|
@@ -365,10 +365,51 @@ static void
|
|
|
iridium_window_constructed (GObject *object)
|
|
iridium_window_constructed (GObject *object)
|
|
|
{
|
|
{
|
|
|
IridiumWindow *self;
|
|
IridiumWindow *self;
|
|
|
|
|
+ g_autoptr(GtkSourceLanguageManager) manager;
|
|
|
|
|
+ g_autoptr(GtkStyleProvider) provider;
|
|
|
|
|
+ g_autoptr(GBytes) style_data;
|
|
|
|
|
+ WebKitUserContentManager *content_manager;
|
|
|
|
|
+ WebKitUserStyleSheet *stylesheet;
|
|
|
|
|
+
|
|
|
|
|
+ static GActionEntry entries[] = {
|
|
|
|
|
+ { "search", NULL, NULL, "false", search_toggled },
|
|
|
|
|
+ { "preview", NULL, NULL, "false", preview_toggled },
|
|
|
|
|
+ };
|
|
|
|
|
|
|
|
self = IRIDIUM_WINDOW (object);
|
|
self = IRIDIUM_WINDOW (object);
|
|
|
|
|
+
|
|
|
|
|
+ self->preferences = g_settings_new ("net.bloerg.iridium.preferences");
|
|
|
|
|
+ self->window_state = g_settings_new ("net.bloerg.iridium.window-state");
|
|
|
|
|
+ self->width = g_settings_get_int (self->window_state, "width");
|
|
|
|
|
+ self->height = g_settings_get_int (self->window_state, "height");
|
|
|
|
|
+
|
|
|
gtk_window_set_default_size (GTK_WINDOW (self), self->width, self->height);
|
|
gtk_window_set_default_size (GTK_WINDOW (self), self->width, self->height);
|
|
|
|
|
|
|
|
|
|
+ self->markdown = iridium_markdown_new ();
|
|
|
|
|
+ self->client = iridium_standard_file_new ();
|
|
|
|
|
+ self->source_buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (self->source_view));
|
|
|
|
|
+
|
|
|
|
|
+ style_data = g_resources_lookup_data ("/net/bloerg/Iridium/iridium-theme.css", G_RESOURCE_LOOKUP_FLAGS_NONE, NULL);
|
|
|
|
|
+ content_manager = webkit_web_view_get_user_content_manager (self->html_view);
|
|
|
|
|
+ stylesheet = webkit_user_style_sheet_new ((const gchar *) g_bytes_get_data (style_data, NULL),
|
|
|
|
|
+ WEBKIT_USER_CONTENT_INJECT_ALL_FRAMES, WEBKIT_USER_STYLE_LEVEL_AUTHOR, NULL, NULL);
|
|
|
|
|
+ webkit_user_content_manager_add_style_sheet (content_manager, stylesheet);
|
|
|
|
|
+
|
|
|
|
|
+ g_action_map_add_action_entries (G_ACTION_MAP (self), entries, G_N_ELEMENTS (entries), self);
|
|
|
|
|
+
|
|
|
|
|
+ gtk_search_bar_connect_entry (self->search_bar, GTK_ENTRY (self->search_entry));
|
|
|
|
|
+
|
|
|
|
|
+ manager = gtk_source_language_manager_get_default ();
|
|
|
|
|
+ gtk_source_buffer_set_language (GTK_SOURCE_BUFFER (self->source_buffer),
|
|
|
|
|
+ gtk_source_language_manager_get_language (manager, "markdown"));
|
|
|
|
|
+
|
|
|
|
|
+ provider = GTK_STYLE_PROVIDER (gtk_css_provider_get_default ());
|
|
|
|
|
+ gtk_css_provider_load_from_resource (GTK_CSS_PROVIDER (provider), "/net/bloerg/Iridium/iridium.css");
|
|
|
|
|
+ gtk_style_context_add_provider_for_screen (gtk_window_get_screen (GTK_WINDOW (self)), provider, GTK_STYLE_PROVIDER_PRIORITY_USER);
|
|
|
|
|
+
|
|
|
|
|
+ gtk_list_box_set_filter_func (self->note_list, (GtkListBoxFilterFunc) note_visible, self, NULL);
|
|
|
|
|
+ gtk_list_box_set_sort_func (self->note_list, (GtkListBoxSortFunc) note_date_cmp, NULL, NULL);
|
|
|
|
|
+
|
|
|
G_OBJECT_CLASS (iridium_window_parent_class)->constructed (object);
|
|
G_OBJECT_CLASS (iridium_window_parent_class)->constructed (object);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -422,54 +463,9 @@ iridium_window_class_init (IridiumWindowClass *klass)
|
|
|
static void
|
|
static void
|
|
|
iridium_window_init (IridiumWindow *self)
|
|
iridium_window_init (IridiumWindow *self)
|
|
|
{
|
|
{
|
|
|
- GtkSourceLanguageManager *manager;
|
|
|
|
|
- GtkStyleProvider *provider;
|
|
|
|
|
- GtkSourceBuffer *buffer;
|
|
|
|
|
- GBytes *style_data;
|
|
|
|
|
- WebKitUserContentManager *content_manager;
|
|
|
|
|
- WebKitUserStyleSheet *stylesheet;
|
|
|
|
|
- GError *error = NULL;
|
|
|
|
|
-
|
|
|
|
|
- static GActionEntry entries[] = {
|
|
|
|
|
- { "search", NULL, NULL, "false", search_toggled },
|
|
|
|
|
- { "preview", NULL, NULL, "false", preview_toggled },
|
|
|
|
|
- };
|
|
|
|
|
-
|
|
|
|
|
gtk_widget_init_template (GTK_WIDGET (self));
|
|
gtk_widget_init_template (GTK_WIDGET (self));
|
|
|
|
|
|
|
|
- self->preferences = g_settings_new ("net.bloerg.iridium.preferences");
|
|
|
|
|
- self->window_state = g_settings_new ("net.bloerg.iridium.window-state");
|
|
|
|
|
- self->width = g_settings_get_int (self->window_state, "width");
|
|
|
|
|
- self->height = g_settings_get_int (self->window_state, "height");
|
|
|
|
|
-
|
|
|
|
|
self->title_binding = NULL;
|
|
self->title_binding = NULL;
|
|
|
self->content_binding = NULL;
|
|
self->content_binding = NULL;
|
|
|
- self->markdown = iridium_markdown_new ();
|
|
|
|
|
- self->client = iridium_standard_file_new ();
|
|
|
|
|
self->compile_handler = 0;
|
|
self->compile_handler = 0;
|
|
|
- self->source_buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (self->source_view));
|
|
|
|
|
-
|
|
|
|
|
- style_data = g_resources_lookup_data ("/net/bloerg/Iridium/iridium-theme.css",
|
|
|
|
|
- G_RESOURCE_LOOKUP_FLAGS_NONE, &error);
|
|
|
|
|
- content_manager = webkit_web_view_get_user_content_manager (self->html_view);
|
|
|
|
|
- stylesheet = webkit_user_style_sheet_new ((const gchar *) g_bytes_get_data (style_data, NULL),
|
|
|
|
|
- WEBKIT_USER_CONTENT_INJECT_ALL_FRAMES, WEBKIT_USER_STYLE_LEVEL_AUTHOR, NULL, NULL);
|
|
|
|
|
- webkit_user_content_manager_add_style_sheet (content_manager, stylesheet);
|
|
|
|
|
- g_bytes_unref (style_data);
|
|
|
|
|
-
|
|
|
|
|
- g_action_map_add_action_entries (G_ACTION_MAP (self), entries, G_N_ELEMENTS (entries), self);
|
|
|
|
|
-
|
|
|
|
|
- gtk_search_bar_connect_entry (self->search_bar, GTK_ENTRY (self->search_entry));
|
|
|
|
|
-
|
|
|
|
|
- manager = gtk_source_language_manager_get_default ();
|
|
|
|
|
- buffer = GTK_SOURCE_BUFFER (gtk_text_view_get_buffer (GTK_TEXT_VIEW (self->source_view)));
|
|
|
|
|
- gtk_source_buffer_set_language (buffer, gtk_source_language_manager_get_language (manager, "markdown"));
|
|
|
|
|
- g_object_unref (manager);
|
|
|
|
|
-
|
|
|
|
|
- provider = GTK_STYLE_PROVIDER (gtk_css_provider_get_default ());
|
|
|
|
|
- gtk_css_provider_load_from_resource (GTK_CSS_PROVIDER (provider), "/net/bloerg/Iridium/iridium.css");
|
|
|
|
|
- gtk_style_context_add_provider_for_screen (gtk_window_get_screen (GTK_WINDOW (self)), provider, GTK_STYLE_PROVIDER_PRIORITY_USER);
|
|
|
|
|
-
|
|
|
|
|
- gtk_list_box_set_filter_func (self->note_list, (GtkListBoxFilterFunc) note_visible, self, NULL);
|
|
|
|
|
- gtk_list_box_set_sort_func (self->note_list, (GtkListBoxSortFunc) note_date_cmp, NULL, NULL);
|
|
|
|
|
}
|
|
}
|