void ip__gth_browser_construct_cb (GthBrowser *browser) { BrowserData *data; GError *error = NULL; g_return_if_fail (GTH_IS_BROWSER (browser)); data = g_new0 (BrowserData, 1); data->action_group = gtk_action_group_new ("Image Print Actions"); gtk_action_group_set_translation_domain (data->action_group, NULL); _gtk_action_group_add_actions_with_flags (data->action_group, action_entries, G_N_ELEMENTS (action_entries), browser); gtk_ui_manager_insert_action_group (gth_browser_get_ui_manager (browser), data->action_group, 0); data->fixed_merge_id = gtk_ui_manager_add_ui_from_string (gth_browser_get_ui_manager (browser), fixed_ui_info, -1, &error); if (data->fixed_merge_id == 0) { g_warning ("building ui failed: %s", error->message); g_error_free (error); } g_object_set_data_full (G_OBJECT (browser), BROWSER_DATA_KEY, data, (GDestroyNotify) browser_data_free); }
static void infobar_response_cb (GtkInfoBar *info_bar, int response_id, gpointer user_data) { WallpaperData *wdata = user_data; const gchar *control_center_command = NULL; GError *error = NULL; g_return_if_fail (GTH_IS_BROWSER (wdata->browser)); switch (response_id) { case _RESPONSE_PREFERENCES: if (g_strcmp0 (g_getenv ("XDG_CURRENT_DESKTOP"), "Cinnamon") == 0 || g_strcmp0 (g_getenv ("XDG_CURRENT_DESKTOP"), "X-Cinnamon") == 0) control_center_command = "cinnamon-settings backgrounds"; else if (g_strcmp0 (g_getenv ("XDG_CURRENT_DESKTOP"), "MATE") == 0) control_center_command = "mate-appearance-properties -p background"; else if (g_strcmp0 (g_getenv ("XDG_CURRENT_DESKTOP"), "GNOME") == 0) control_center_command = "gnome-control-center appearance"; else if (g_strcmp0 (g_getenv ("XDG_CURRENT_DESKTOP"), "Unity") == 0) control_center_command = "unity-control-center appearance"; if (control_center_command != NULL && ! g_spawn_command_line_async (control_center_command, &error)) { _gtk_error_dialog_from_gerror_run (GTK_WINDOW (wdata->browser), _("Could not show the desktop background properties"), error); g_clear_error (&error); } break; case _RESPONSE_UNDO: wallpaper_style_set_as_current (&wdata->old_style); break; } gtk_widget_hide (GTK_WIDGET (info_bar)); wallpaper_data_free (wdata); }
void edit_metadata__gth_browser_construct_cb (GthBrowser *browser) { BrowserData *data; GError *error = NULL; g_return_if_fail (GTH_IS_BROWSER (browser)); data = g_new0 (BrowserData, 1); data->browser = browser; data->actions = gtk_action_group_new ("Edit Metadata Actions"); gtk_action_group_set_translation_domain (data->actions, NULL); _gtk_action_group_add_actions_with_flags (data->actions, edit_metadata_action_entries, G_N_ELEMENTS (edit_metadata_action_entries), browser); gtk_ui_manager_insert_action_group (gth_browser_get_ui_manager (browser), data->actions, 0); if (! gtk_ui_manager_add_ui_from_string (gth_browser_get_ui_manager (browser), fixed_ui_info, -1, &error)) { g_message ("building menus failed: %s", error->message); g_error_free (error); } if (gth_main_extension_is_active ("list_tools") && ! gtk_ui_manager_add_ui_from_string (gth_browser_get_ui_manager (browser), fixed_ui_file_tools_info, -1, &error)) { g_message ("building menus failed: %s", error->message); g_error_free (error); } g_object_set_data_full (G_OBJECT (browser), BROWSER_DATA_KEY, data, (GDestroyNotify) browser_data_free); }
static void infobar_response_cb (GtkInfoBar *info_bar, int response_id, gpointer user_data) { WallpaperData *wdata = user_data; GError *error = NULL; g_return_if_fail (GTH_IS_BROWSER (wdata->browser)); switch (response_id) { case _RESPONSE_PREFERENCES: if (! g_spawn_command_line_async (DESKTOP_BACKGROUND_PROPERTIES_COMMAND, &error)) { _gtk_error_dialog_from_gerror_run (GTK_WINDOW (wdata->browser), _("Could not show the desktop background properties"), error); g_clear_error (&error); } break; case _RESPONSE_UNDO: wallpaper_style_set_as_current (&wdata->old_style); break; } gtk_widget_hide (GTK_WIDGET (info_bar)); wallpaper_data_free (wdata); }
void catalogs__gth_browser_construct_cb (GthBrowser *browser) { BrowserData *data; g_return_if_fail (GTH_IS_BROWSER (browser)); data = g_new0 (BrowserData, 1); g_object_set_data_full (G_OBJECT (browser), BROWSER_DATA_KEY, data, (GDestroyNotify) browser_data_free); data->browser = browser; data->n_top_catalogs = 0; g_action_map_add_action_entries (G_ACTION_MAP (browser), actions, G_N_ELEMENTS (actions), browser); gth_menu_manager_append_entries (gth_browser_get_menu_manager (browser, GTH_BROWSER_MENU_MANAGER_FILE_LIST_OTHER_ACTIONS), fixed_menu_entries, G_N_ELEMENTS (fixed_menu_entries)); data->monitor_events = g_signal_connect (gth_main_get_default_monitor (), "folder-changed", G_CALLBACK (monitor_folder_changed_cb), data); }
void db__gth_browser_construct_cb (GthBrowser *browser) { BrowserData *data; GError *error = NULL; g_return_if_fail (GTH_IS_BROWSER (browser)); data = g_new0 (BrowserData, 1); data->action_group = gtk_action_group_new ("Desktop Background Actions"); gtk_action_group_set_translation_domain (data->action_group, NULL); gtk_action_group_add_actions (data->action_group, action_entries, G_N_ELEMENTS (action_entries), browser); gtk_ui_manager_insert_action_group (gth_browser_get_ui_manager (browser), data->action_group, 0); if (! gtk_ui_manager_add_ui_from_string (gth_browser_get_ui_manager (browser), fixed_ui_info, -1, &error)) { g_message ("building menus failed: %s", error->message); g_clear_error (&error); } gtk_image_menu_item_set_always_show_image (GTK_IMAGE_MENU_ITEM (gtk_ui_manager_get_widget (gth_browser_get_ui_manager (browser), "/FileListPopup/Screen_Actions/DesktopBackground")), TRUE); gtk_image_menu_item_set_always_show_image (GTK_IMAGE_MENU_ITEM (gtk_ui_manager_get_widget (gth_browser_get_ui_manager (browser), "/FilePopup/Screen_Actions/DesktopBackground")), TRUE); g_object_set_data_full (G_OBJECT (browser), BROWSER_DATA_KEY, data, (GDestroyNotify) browser_data_free); }
void selections__gth_browser_construct_cb (GthBrowser *browser) { BrowserData *data; GtkWidget *filter_bar; GtkWidget *filter_bar_extra_area; GtkWidget *selection_buttons; g_return_if_fail (GTH_IS_BROWSER (browser)); data = g_new0 (BrowserData, 1); g_object_set_data_full (G_OBJECT (browser), BROWSER_DATA_KEY, data, (GDestroyNotify) browser_data_free); data->browser = browser; g_action_map_add_action_entries (G_ACTION_MAP (browser), actions, G_N_ELEMENTS (actions), browser); filter_bar = gth_browser_get_filterbar (browser); filter_bar_extra_area = gth_filterbar_get_extra_area (GTH_FILTERBAR (filter_bar)); selection_buttons = create_selection_buttons (data); gtk_box_pack_start (GTK_BOX (filter_bar_extra_area), selection_buttons, FALSE, FALSE, 0); data->folder_changed_id = g_signal_connect (gth_main_get_default_monitor (), "folder-changed", G_CALLBACK (folder_changed_cb), data); }
void edit_metadata__gth_browser_construct_cb (GthBrowser *browser) { BrowserData *data; GError *error = NULL; g_return_if_fail (GTH_IS_BROWSER (browser)); data = g_new0 (BrowserData, 1); data->browser = browser; data->actions = gtk_action_group_new ("Edit Metadata Actions"); gtk_action_group_set_translation_domain (data->actions, NULL); gtk_action_group_add_actions (data->actions, edit_metadata_action_entries, G_N_ELEMENTS (edit_metadata_action_entries), browser); gtk_ui_manager_insert_action_group (gth_browser_get_ui_manager (browser), data->actions, 0); if (! gtk_ui_manager_add_ui_from_string (gth_browser_get_ui_manager (browser), fixed_ui_info, -1, &error)) { g_message ("building menus failed: %s", error->message); g_error_free (error); } gtk_tool_item_set_is_important (GTK_TOOL_ITEM (gtk_ui_manager_get_widget (gth_browser_get_ui_manager (browser), "/Fullscreen_ToolBar/Edit_Actions/Edit_Metadata")), TRUE); g_object_set_data_full (G_OBJECT (browser), BROWSER_DATA_KEY, data, (GDestroyNotify) browser_data_free); }
void bd__gth_browser_construct_cb (GthBrowser *browser) { g_return_if_fail (GTH_IS_BROWSER (browser)); g_action_map_add_action_entries (G_ACTION_MAP (browser), actions, G_N_ELEMENTS (actions), browser); gth_menu_manager_append_entry (gth_browser_get_menu_manager (browser, GTH_BROWSER_MENU_MANAGER_OTHER_EXPORTERS), GTH_MENU_MANAGER_NEW_MERGE_ID, _("_Optical Disc..."), "win.burn-disc", NULL, NULL); }
void bookmarks__gth_browser_construct_cb (GthBrowser *browser) { BrowserData *data; g_return_if_fail (GTH_IS_BROWSER (browser)); data = g_new0 (BrowserData, 1); g_object_set_data_full (G_OBJECT (browser), BROWSER_DATA_KEY, data, (GDestroyNotify) browser_data_free); g_action_map_add_action_entries (G_ACTION_MAP (browser), actions, G_N_ELEMENTS (actions), browser); { GtkWidget *button; GMenuModel *menu; button = _gtk_menu_button_new_for_header_bar ("user-bookmarks-symbolic"); gtk_widget_set_tooltip_text (button, _("Bookmarks")); data->builder = gtk_builder_new_from_resource ("/org/gnome/gThumb/bookmarks/data/ui/bookmarks-menu.ui"); data->system_bookmarks_menu = G_MENU (gtk_builder_get_object (data->builder, "system-bookmarks")); data->entry_points_menu = G_MENU (gtk_builder_get_object (data->builder, "entry-points")); data->bookmarks_menu = G_MENU (gtk_builder_get_object (data->builder, "bookmarks")); menu = G_MENU_MODEL (gtk_builder_get_object (data->builder, "bookmarks-menu")); gtk_menu_button_set_menu_model (GTK_MENU_BUTTON (button), menu); _gtk_window_add_accelerators_from_menu ((GTK_WINDOW (browser)), menu); gtk_widget_show (button); gtk_box_pack_start (GTK_BOX (gth_browser_get_headerbar_section (browser, GTH_BROWSER_HEADER_SECTION_BROWSER_LOCATIONS)), button, FALSE, FALSE, 0); } data->browser = browser; data->bookmarks_changed_id = g_signal_connect (gth_main_get_default_monitor (), "bookmarks-changed", G_CALLBACK (bookmarks_changed_cb), data); data->entry_points_changed_id = g_signal_connect (gth_main_get_default_monitor (), "entry-points-changed", G_CALLBACK (entry_points_changed_cb), data); }
void export_tools__gth_browser_construct_cb (GthBrowser *browser) { BrowserData *data; GtkAction *action; GError *error = NULL; guint merge_id; g_return_if_fail (GTH_IS_BROWSER (browser)); data = g_new0 (BrowserData, 1); data->browser = browser; data->action_group = gtk_action_group_new ("Export Tools Actions"); gtk_action_group_set_translation_domain (data->action_group, NULL); /* tools menu action */ action = g_object_new (GTH_TYPE_TOGGLE_MENU_ACTION, "name", "ExportTools", "icon-name", "share", "label", _("Share"), /*"tooltip", _("Export files"),*/ "is-important", TRUE, NULL); gth_toggle_menu_action_set_show_menu_func (GTH_TOGGLE_MENU_ACTION (action), export_tools_show_menu_func, data, NULL); gtk_action_group_add_action (data->action_group, action); g_object_unref (action); gtk_ui_manager_insert_action_group (gth_browser_get_ui_manager (browser), data->action_group, 0); merge_id = gtk_ui_manager_add_ui_from_string (gth_browser_get_ui_manager (browser), ui_info, -1, &error); if (merge_id == 0) { g_warning ("building ui failed: %s", error->message); g_clear_error (&error); } g_object_set_data_full (G_OBJECT (browser), BROWSER_DATA_KEY, data, (GDestroyNotify) browser_data_free); }
void export_tools__gth_browser_construct_cb (GthBrowser *browser) { GtkBuilder *builder; GMenuModel *menu; GtkWidget *button; g_return_if_fail (GTH_IS_BROWSER (browser)); builder = gtk_builder_new_from_resource ("/org/gnome/gThumb/export_tools/data/ui/export-menu.ui"); gth_browser_add_menu_manager_for_menu (browser, GTH_BROWSER_MENU_MANAGER_WEB_EXPORTERS, G_MENU (gtk_builder_get_object (builder, "web-exporters"))); gth_browser_add_menu_manager_for_menu (browser, GTH_BROWSER_MENU_MANAGER_OTHER_EXPORTERS, G_MENU (gtk_builder_get_object (builder, "other-exporters"))); menu = G_MENU_MODEL (gtk_builder_get_object (builder, "export-menu")); button = _gtk_menu_button_new_for_header_bar (); gtk_widget_set_tooltip_text (button, _("Export")); gtk_container_add (GTK_CONTAINER (button), gtk_image_new_from_icon_name ("export-symbolic", GTK_ICON_SIZE_MENU)); gtk_menu_button_set_menu_model (GTK_MENU_BUTTON (button), menu); gtk_widget_show_all (button); gtk_box_pack_start (GTK_BOX (gth_browser_get_headerbar_section (browser, GTH_BROWSER_HEADER_SECTION_BROWSER_TOOLS)), button, FALSE, FALSE, 0); }
void fb__gth_browser_construct_cb (GthBrowser *browser) { g_return_if_fail (GTH_IS_BROWSER (browser)); g_action_map_add_action_entries (G_ACTION_MAP (browser), actions, G_N_ELEMENTS (actions), browser); gth_menu_manager_append_entry (gth_browser_get_menu_manager (browser, GTH_BROWSER_MENU_MANAGER_WEB_EXPORTERS), GTH_MENU_MANAGER_NEW_MERGE_ID, "Facebook…", "win.export-facebook", NULL, "site-facebook"); gth_menu_manager_append_entry (gth_browser_get_menu_manager (browser, GTH_BROWSER_MENU_MANAGER_WEB_IMPORTERS), GTH_MENU_MANAGER_NEW_MERGE_ID, "Facebook…", "win.import-facebook", NULL, "site-facebook"); }
void list_tools__gth_browser_construct_cb (GthBrowser *browser) { BrowserData *data; GtkBuilder *builder; GMenuModel *menu; GtkWidget *button; g_return_if_fail (GTH_IS_BROWSER (browser)); data = g_new0 (BrowserData, 1); data->browser = browser; g_object_set_data_full (G_OBJECT (browser), BROWSER_DATA_KEY, data, (GDestroyNotify) browser_data_free); g_action_map_add_action_entries (G_ACTION_MAP (browser), actions, G_N_ELEMENTS (actions), browser); builder = gtk_builder_new_from_resource ("/org/gnome/gThumb/list_tools/data/ui/tools-menu.ui"); gth_browser_add_menu_manager_for_menu (browser, GTH_BROWSER_MENU_MANAGER_TOOLS, G_MENU (gtk_builder_get_object (builder, "tools1"))); gth_browser_add_menu_manager_for_menu (browser, GTH_BROWSER_MENU_MANAGER_MORE_TOOLS, G_MENU (gtk_builder_get_object (builder, "tools2"))); gth_browser_add_menu_manager_for_menu (browser, GTH_BROWSER_MENU_MANAGER_TOOLS3, G_MENU (gtk_builder_get_object (builder, "tools3"))); menu = G_MENU_MODEL (gtk_builder_get_object (builder, "tools-menu")); /* browser tools */ button = _gtk_menu_button_new_for_header_bar (); g_signal_connect (button, "toggled", G_CALLBACK (tools_menu_button_toggled_cb), data); gtk_widget_set_tooltip_text (button, _("Tools")); gtk_container_add (GTK_CONTAINER (button), gtk_image_new_from_icon_name ("tools-symbolic", GTK_ICON_SIZE_MENU)); gtk_menu_button_set_menu_model (GTK_MENU_BUTTON (button), menu); gtk_widget_show_all (button); gtk_box_pack_start (GTK_BOX (gth_browser_get_headerbar_section (browser, GTH_BROWSER_HEADER_SECTION_BROWSER_TOOLS)), button, FALSE, FALSE, 0); g_object_unref (builder); }
void fm__gth_browser_construct_cb (GthBrowser *browser) { BrowserData *data; GError *error = NULL; GtkWidget *file_view; g_return_if_fail (GTH_IS_BROWSER (browser)); data = g_new0 (BrowserData, 1); data->action_group = gtk_action_group_new ("File Manager Actions"); gtk_action_group_set_translation_domain (data->action_group, NULL); gtk_action_group_add_actions (data->action_group, action_entries, G_N_ELEMENTS (action_entries), browser); gtk_ui_manager_insert_action_group (gth_browser_get_ui_manager (browser), data->action_group, 0); set_action_sensitive (data, "Edit_PasteInFolder", FALSE); data->fixed_merge_id = gtk_ui_manager_add_ui_from_string (gth_browser_get_ui_manager (browser), fixed_ui_info, -1, &error); if (data->fixed_merge_id == 0) { g_warning ("building ui failed: %s", error->message); g_error_free (error); } file_view = gth_file_list_get_view (GTH_FILE_LIST (gth_browser_get_file_list (browser))); g_signal_connect (file_view, "drag_data_received", G_CALLBACK (gth_file_list_drag_data_received), browser); g_signal_connect (file_view, "drag_drop", G_CALLBACK (gth_file_list_drag_drop), browser); g_signal_connect (file_view, "drag_motion", G_CALLBACK (gth_file_list_drag_motion), browser); g_signal_connect (file_view, "drag_leave", G_CALLBACK (gth_file_list_drag_leave), browser); g_signal_connect (file_view, "drag_end", G_CALLBACK (gth_file_list_drag_end), browser); file_view = gth_file_list_get_empty_view (GTH_FILE_LIST (gth_browser_get_file_list (browser))); g_signal_connect (file_view, "drag_data_received", G_CALLBACK (gth_file_list_drag_data_received), browser); g_signal_connect (file_view, "drag_drop", G_CALLBACK (gth_file_list_drag_drop), browser); g_signal_connect (file_view, "drag_motion", G_CALLBACK (gth_file_list_drag_motion), browser); g_signal_connect (file_view, "drag_leave", G_CALLBACK (gth_file_list_drag_leave), browser); g_signal_connect (file_view, "drag_end", G_CALLBACK (gth_file_list_drag_end), browser); g_object_set_data_full (G_OBJECT (browser), BROWSER_DATA_KEY, data, (GDestroyNotify) browser_data_free); }