static void oauth_ask_authorization_dialog_init (OAuthAskAuthorizationDialog *self) { GtkWidget *dialog_content; self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self, OAUTH_TYPE_ASK_AUTHORIZATION_DIALOG, OAuthAskAuthorizationDialogPrivate); self->priv->builder = _gtk_builder_new_from_file ("oauth-ask-authorization.ui", "oauth"); gtk_window_set_default_size (GTK_WINDOW (self), 500, 500); gtk_window_set_resizable (GTK_WINDOW (self), TRUE); gtk_box_set_spacing (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (self))), 5); gtk_container_set_border_width (GTK_CONTAINER (self), 5); dialog_content = GET_WIDGET ("dialog_content"); gtk_widget_show (dialog_content); gtk_container_set_border_width (GTK_CONTAINER (dialog_content), 5); gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (self))), dialog_content, TRUE, TRUE, 0); self->priv->view = _webkit_web_view_new (self); gtk_widget_show (self->priv->view); gtk_box_pack_start (GTK_BOX (GET_WIDGET ("webkit_view_container")), self->priv->view, TRUE, TRUE, 0); g_signal_connect (self->priv->view, "load-changed", G_CALLBACK (webkit_view_load_changed_cb), self); gtk_dialog_add_button (GTK_DIALOG (self), _GTK_LABEL_CANCEL, GTK_RESPONSE_CANCEL); }
static void gth_folder_chooser_dialog_init (GthFolderChooserDialog *self) { GtkWidget *content; self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self, GTH_TYPE_FOLDER_CHOOSER_DIALOG, GthFolderChooserDialogPrivate); self->priv->builder = _gtk_builder_new_from_file ("find-duplicates-choose-folders.ui", "find_duplicates"); gtk_window_set_resizable (GTK_WINDOW (self), TRUE); gtk_box_set_spacing (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (self))), 5); gtk_container_set_border_width (GTK_CONTAINER (self), 5); content = _gtk_builder_get_widget (self->priv->builder, "folder_chooser"); gtk_container_set_border_width (GTK_CONTAINER (content), 5); gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (self))), content, TRUE, TRUE, 0); gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (GET_WIDGET ("folders_liststore")), FOLDER_NAME_COLUMN, GTK_SORT_ASCENDING); g_signal_connect (GET_WIDGET ("folder_cellrenderertoggle"), "toggled", G_CALLBACK (folder_cellrenderertoggle_toggled_cb), self); gtk_dialog_add_button (GTK_DIALOG (self), GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL); gtk_dialog_add_button (GTK_DIALOG (self), GTK_STOCK_OK, GTK_RESPONSE_OK); gtk_dialog_set_default_response (GTK_DIALOG (self), GTK_RESPONSE_OK); }
static void picasa_account_properties_dialog_init (PicasaAccountPropertiesDialog *self) { GtkWidget *content; self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self, PICASA_TYPE_ACCOUNT_PROPERTIES_DIALOG, PicasaAccountPropertiesDialogPrivate); self->priv->cancellable = g_cancellable_new (); self->priv->builder = _gtk_builder_new_from_file ("picasa-web-account-properties.ui", "picasaweb"); gtk_window_set_resizable (GTK_WINDOW (self), FALSE); gtk_dialog_set_has_separator (GTK_DIALOG (self), FALSE); gtk_box_set_spacing (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (self))), 5); gtk_container_set_border_width (GTK_CONTAINER (self), 5); content = _gtk_builder_get_widget (self->priv->builder, "account_properties"); gtk_container_set_border_width (GTK_CONTAINER (content), 0); gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (self))), content, TRUE, TRUE, 0); gtk_entry_set_visibility (GTK_ENTRY (GET_WIDGET ("password_entry")), FALSE); gtk_dialog_add_buttons (GTK_DIALOG (self), GTK_STOCK_HELP, GTK_RESPONSE_HELP, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_OK, GTK_RESPONSE_OK, NULL); gtk_dialog_set_default_response (GTK_DIALOG (self), GTK_RESPONSE_OK); }
void dlg_catalog_properties (GthBrowser *browser, GthFileData *file_data) { DialogData *data; g_return_if_fail (file_data != NULL); data = g_new0 (DialogData, 1); data->browser = browser; data->file_data = gth_file_data_dup (file_data); data->original_file = g_file_dup (data->file_data->file); data->builder = _gtk_builder_new_from_file ("catalog-properties.ui", "catalogs"); /* Set widgets data. */ data->dialog = g_object_new (GTK_TYPE_DIALOG, "title", _("Properties"), "transient-for", GTK_WINDOW (browser), "modal", TRUE, "destroy-with-parent", FALSE, "use-header-bar", _gtk_settings_get_dialogs_use_header (), NULL); gtk_container_add (GTK_CONTAINER (gtk_dialog_get_content_area (GTK_DIALOG (data->dialog))), _gtk_builder_get_widget (data->builder, "dialog_content")); gtk_dialog_add_buttons (GTK_DIALOG (data->dialog), _GTK_LABEL_CANCEL, GTK_RESPONSE_CANCEL, _GTK_LABEL_SAVE, GTK_RESPONSE_OK, NULL); _gtk_dialog_add_class_to_response (GTK_DIALOG (data->dialog), GTK_RESPONSE_OK, GTK_STYLE_CLASS_SUGGESTED_ACTION); data->time_selector = gth_time_selector_new (); gth_time_selector_show_time (GTH_TIME_SELECTOR (data->time_selector), FALSE, FALSE); gtk_widget_show (data->time_selector); gtk_box_pack_start (GTK_BOX (GET_WIDGET ("date_container_box")), data->time_selector, TRUE, TRUE, 0); /* Set the signals handlers. */ g_signal_connect (G_OBJECT (data->dialog), "destroy", G_CALLBACK (destroy_cb), data); g_signal_connect (gtk_dialog_get_widget_for_response (GTK_DIALOG (data->dialog), GTK_RESPONSE_OK), "clicked", G_CALLBACK (save_button_clicked_cb), data); g_signal_connect_swapped (gtk_dialog_get_widget_for_response (GTK_DIALOG (data->dialog), GTK_RESPONSE_CANCEL), "clicked", G_CALLBACK (gtk_widget_destroy), data->dialog); /* run dialog. */ gtk_widget_grab_focus (GET_WIDGET ("name_entry")); gth_catalog_load_from_file_async (file_data->file, NULL, catalog_ready_cb, data); }
static void oauth_account_chooser_dialog_init (OAuthAccountChooserDialog *self) { GtkWidget *content; self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self, OAUTH_TYPE_ACCOUNT_CHOOSER_DIALOG, OAuthAccountChooserDialogPrivate); self->priv->builder = _gtk_builder_new_from_file ("oauth-account-chooser.ui", "oauth"); gtk_window_set_resizable (GTK_WINDOW (self), FALSE); gtk_box_set_spacing (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (self))), 5); gtk_container_set_border_width (GTK_CONTAINER (self), 5); content = _gtk_builder_get_widget (self->priv->builder, "account_chooser"); gtk_container_set_border_width (GTK_CONTAINER (content), 5); gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (self))), content, TRUE, TRUE, 0); { GtkCellLayout *cell_layout; GtkCellRenderer *renderer; cell_layout = GTK_CELL_LAYOUT (GET_WIDGET ("account_combobox")); renderer = gtk_cell_renderer_pixbuf_new (); gtk_cell_layout_pack_start (cell_layout, renderer, FALSE); gtk_cell_layout_set_attributes (cell_layout, renderer, "icon-name", ACCOUNT_ICON_COLUMN, NULL); renderer = gtk_cell_renderer_text_new (); gtk_cell_layout_pack_start (cell_layout, renderer, TRUE); gtk_cell_layout_set_attributes (cell_layout, renderer, "text", ACCOUNT_NAME_COLUMN, NULL); } gtk_combo_box_set_row_separator_func (GTK_COMBO_BOX (GET_WIDGET ("account_combobox")), row_separator_func, self, NULL); g_signal_connect (GET_WIDGET ("account_combobox"), "changed", G_CALLBACK (account_combobox_changed_cb), self); gtk_dialog_add_button (GTK_DIALOG (self), GTK_STOCK_NEW, OAUTH_ACCOUNT_CHOOSER_RESPONSE_NEW); gtk_dialog_add_button (GTK_DIALOG (self), GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL); gtk_dialog_add_button (GTK_DIALOG (self), GTK_STOCK_OK, GTK_RESPONSE_OK); gtk_dialog_set_default_response (GTK_DIALOG (self), GTK_RESPONSE_OK); }
void image_viewer__dlg_preferences_construct_cb (GtkWidget *dialog, GthBrowser *browser, GtkBuilder *dialog_builder) { BrowserData *data; GtkWidget *notebook; GtkWidget *page; GtkWidget *label; data = g_new0 (BrowserData, 1); data->builder = _gtk_builder_new_from_file ("image-viewer-preferences.ui", "image_viewer"); data->settings = g_settings_new (GTHUMB_IMAGE_VIEWER_SCHEMA); notebook = _gtk_builder_get_widget (dialog_builder, "notebook"); page = _gtk_builder_get_widget (data->builder, "preferences_page"); g_object_set_data (G_OBJECT (page), "extension-name", "image_viewer"); gtk_widget_show (page); gtk_combo_box_set_active (GTK_COMBO_BOX (GET_WIDGET ("change_zoom_combobox")), g_settings_get_enum (data->settings, PREF_IMAGE_VIEWER_ZOOM_CHANGE)); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("toggle_reset_scrollbars")), g_settings_get_boolean (data->settings, PREF_IMAGE_VIEWER_RESET_SCROLLBARS)); if (g_settings_get_enum (data->settings, PREF_IMAGE_VIEWER_ZOOM_QUALITY) == GTH_ZOOM_QUALITY_LOW) gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("zoom_quality_low_radiobutton")), TRUE); else gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("zoom_quality_high_radiobutton")), TRUE); g_signal_connect (GET_WIDGET ("change_zoom_combobox"), "changed", G_CALLBACK (zoom_change_changed_cb), data); g_signal_connect (GET_WIDGET ("zoom_quality_low_radiobutton"), "toggled", G_CALLBACK (zoom_quality_radiobutton_toggled_cb), data); g_signal_connect (GET_WIDGET ("zoom_quality_high_radiobutton"), "toggled", G_CALLBACK (zoom_quality_radiobutton_toggled_cb), data); g_signal_connect (GET_WIDGET ("toggle_reset_scrollbars"), "toggled", G_CALLBACK (reset_scrollbars_toggled_cb), data); label = gtk_label_new (_("Viewer")); gtk_widget_show (label); gtk_notebook_append_page (GTK_NOTEBOOK (notebook), page, label); g_object_set_data_full (G_OBJECT (dialog), BROWSER_DATA_KEY, data, (GDestroyNotify) browser_data_free); }
static void gth_edit_iptc_page_init (GthEditIptcPage *self) { self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self, GTH_TYPE_EDIT_IPTC_PAGE, GthEditIptcPagePrivate); self->priv->info = NULL; gtk_container_set_border_width (GTK_CONTAINER (self), 12); gtk_orientable_set_orientation (GTK_ORIENTABLE (self), GTK_ORIENTATION_VERTICAL); self->priv->builder = _gtk_builder_new_from_file ("edit-exiv2-page.ui", "exiv2_tools"); gtk_box_pack_start (GTK_BOX (self), _gtk_builder_get_widget (self->priv->builder, "content"), TRUE, TRUE, 0); }
static GtkWidget * gth_image_saver_tga_get_control (GthImageSaver *base) { GthImageSaverTga *self = GTH_IMAGE_SAVER_TGA (base); if (self->priv->builder == NULL) self->priv->builder = _gtk_builder_new_from_file ("tga-options.ui", "cairo_io"); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (_gtk_builder_get_widget (self->priv->builder, "tga_rle_compression_checkbutton")), g_settings_get_boolean (self->priv->settings, PREF_TGA_RLE_COMPRESSION)); return _gtk_builder_get_widget (self->priv->builder, "tga_options"); }
static GtkWidget * gth_png_saver_get_control (GthPixbufSaver *base) { GthPngSaver *self = GTH_PNG_SAVER (base); if (self->priv->builder == NULL) self->priv->builder = _gtk_builder_new_from_file ("png-options.ui", "pixbuf_savers"); gtk_adjustment_set_value (GTK_ADJUSTMENT (_gtk_builder_get_widget (self->priv->builder, "png_compression_adjustment")), eel_gconf_get_integer (PREF_PNG_COMPRESSION_LEVEL, 6)); return _gtk_builder_get_widget (self->priv->builder, "png_options"); }
static GtkWidget * gth_image_saver_png_get_control (GthImageSaver *base) { GthImageSaverPng *self = GTH_IMAGE_SAVER_PNG (base); if (self->priv->builder == NULL) self->priv->builder = _gtk_builder_new_from_file ("png-options.ui", "cairo_io"); gtk_adjustment_set_value (GTK_ADJUSTMENT (_gtk_builder_get_widget (self->priv->builder, "png_compression_adjustment")), g_settings_get_int (self->priv->settings, PREF_PNG_COMPRESSION_LEVEL)); return _gtk_builder_get_widget (self->priv->builder, "png_options"); }
void dlg_password (GtkWidget *widget, gpointer callback_data) { FrWindow *window = callback_data; DialogData *data; data = g_new0 (DialogData, 1); data->builder = _gtk_builder_new_from_file ("password.ui"); if (data->builder == NULL) { g_free (data); return; } data->window = window; /* Get the widgets. */ data->dialog = _gtk_builder_get_widget (data->builder, "password_dialog"); data->pw_password_entry = _gtk_builder_get_widget (data->builder, "pw_password_entry"); data->pw_encrypt_header_checkbutton = _gtk_builder_get_widget (data->builder, "pw_encrypt_header_checkbutton"); /* Set widgets data. */ _gtk_entry_set_locale_text (GTK_ENTRY (data->pw_password_entry), fr_window_get_password (window)); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (data->pw_encrypt_header_checkbutton), fr_window_get_encrypt_header (window)); /* Set the signals handlers. */ g_signal_connect (G_OBJECT (data->dialog), "destroy", G_CALLBACK (destroy_cb), data); g_signal_connect (G_OBJECT (data->dialog), "response", G_CALLBACK (response_cb), data); /* Run dialog. */ gtk_widget_grab_focus (data->pw_password_entry); if (gtk_widget_get_realized (GTK_WIDGET (window))) gtk_window_set_transient_for (GTK_WINDOW (data->dialog), GTK_WINDOW (window)); gtk_window_set_modal (GTK_WINDOW (data->dialog), TRUE); gtk_widget_show (data->dialog); }
static void gth_organize_task_init (GthOrganizeTask *self) { GIcon *icon; self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self, GTH_TYPE_ORGANIZE_TASK, GthOrganizeTaskPrivate); self->priv->builder = _gtk_builder_new_from_file ("organize-files-task.ui", "catalogs"); self->priv->results_liststore = (GtkListStore *) gtk_builder_get_object (self->priv->builder, "results_liststore"); self->priv->catalogs = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, g_object_unref); gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (self->priv->results_liststore), KEY_COLUMN, GTK_SORT_ASCENDING); g_object_set (GET_WIDGET ("catalog_name_cellrenderertext"), "editable", TRUE, NULL); icon = g_themed_icon_new ("file-catalog"); self->priv->icon_pixbuf = _g_icon_get_pixbuf (icon, _gtk_icon_get_pixel_size (GET_WIDGET ("organization_treeview"), GTK_ICON_SIZE_MENU), gtk_icon_theme_get_for_screen (gtk_widget_get_screen (GET_WIDGET ("organization_treeview")))); g_object_unref (icon); self->priv->file_list = gth_file_list_new (GTH_FILE_LIST_TYPE_NORMAL, FALSE); gth_file_list_set_caption (GTH_FILE_LIST (self->priv->file_list), "standard::display-name"); gtk_widget_show (self->priv->file_list); gtk_box_pack_start (GTK_BOX (GET_WIDGET ("preview_box")), self->priv->file_list, TRUE, TRUE, 0); g_signal_connect (GET_WIDGET ("catalog_name_cellrenderertext"), "edited", G_CALLBACK (catalog_name_cellrenderertext_edited_cb), self); g_signal_connect (GET_WIDGET ("create_cellrenderertoggle"), "toggled", G_CALLBACK (create_cellrenderertoggle_toggled_cb), self); g_signal_connect (GET_WIDGET ("organize_files_dialog"), "response", G_CALLBACK (organize_files_dialog_response_cb), self); g_signal_connect (gtk_tree_view_get_selection (GTK_TREE_VIEW (GET_WIDGET ("organization_treeview"))), "changed", G_CALLBACK (organization_treeview_selection_changed_cb), self); g_signal_connect (GET_WIDGET ("select_all_button"), "clicked", G_CALLBACK (select_all_button_clicked_cb), self); g_signal_connect (GET_WIDGET ("select_none_button"), "clicked", G_CALLBACK (select_none_button_clicked_cb), self); }
void dlg_catalog_properties (GthBrowser *browser, GthFileData *file_data) { DialogData *data; g_return_if_fail (file_data != NULL); data = g_new0 (DialogData, 1); data->browser = browser; data->file_data = gth_file_data_dup (file_data); data->original_file = g_file_dup (data->file_data->file); data->builder = _gtk_builder_new_from_file ("catalog-properties.ui", "catalogs"); data->dialog = GET_WIDGET ("properties_dialog"); /* Set widgets data. */ data->time_selector = gth_time_selector_new (); gth_time_selector_show_time (GTH_TIME_SELECTOR (data->time_selector), FALSE, FALSE); gtk_widget_show (data->time_selector); gtk_box_pack_start (GTK_BOX (GET_WIDGET ("date_container_box")), data->time_selector, TRUE, TRUE, 0); /* Set the signals handlers. */ g_signal_connect (G_OBJECT (data->dialog), "destroy", G_CALLBACK (destroy_cb), data); g_signal_connect (G_OBJECT (GET_WIDGET ("save_button")), "clicked", G_CALLBACK (save_button_clicked_cb), data); g_signal_connect_swapped (G_OBJECT (GET_WIDGET ("cancel_button")), "clicked", G_CALLBACK (gtk_widget_destroy), data->dialog); g_signal_connect (G_OBJECT (GET_WIDGET ("help_button")), "clicked", G_CALLBACK (help_button_clicked_cb), data); /* run dialog. */ gtk_widget_grab_focus (GET_WIDGET ("name_entry")); gtk_window_set_transient_for (GTK_WINDOW (data->dialog), GTK_WINDOW (browser)); gtk_window_set_modal (GTK_WINDOW (data->dialog), TRUE); gth_catalog_load_from_file_async (file_data->file, NULL, catalog_ready_cb, data); }
static void photobucket_album_properties_dialog_init (PhotobucketAlbumPropertiesDialog *self) { GtkWidget *content; self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self, PHOTOBUCKET_TYPE_ALBUM_PROPERTIES_DIALOG, PhotobucketAlbumPropertiesDialogPrivate); self->priv->builder = _gtk_builder_new_from_file ("photobucket-album-properties.ui", "photobucket"); gtk_window_set_resizable (GTK_WINDOW (self), FALSE); gtk_box_set_spacing (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (self))), 5); gtk_container_set_border_width (GTK_CONTAINER (self), 5); content = _gtk_builder_get_widget (self->priv->builder, "album_properties"); gtk_container_set_border_width (GTK_CONTAINER (content), 5); gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (self))), content, TRUE, TRUE, 0); gtk_dialog_add_buttons (GTK_DIALOG (self), GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_OK, GTK_RESPONSE_OK, NULL); gtk_dialog_set_default_response (GTK_DIALOG (self), GTK_RESPONSE_OK); { GtkCellLayout *cell_layout; GtkCellRenderer *renderer; cell_layout = GTK_CELL_LAYOUT (GET_WIDGET ("album_combobox")); renderer = gtk_cell_renderer_pixbuf_new (); gtk_cell_layout_pack_start (cell_layout, renderer, FALSE); gtk_cell_layout_set_attributes (cell_layout, renderer, "icon-name", ALBUM_ICON_COLUMN, NULL); renderer = gtk_cell_renderer_text_new (); gtk_cell_layout_pack_start (cell_layout, renderer, TRUE); gtk_cell_layout_set_attributes (cell_layout, renderer, "text", ALBUM_TITLE_COLUMN, NULL); renderer = gtk_cell_renderer_text_new (); gtk_cell_layout_pack_start (cell_layout, renderer, FALSE); gtk_cell_layout_set_attributes (cell_layout, renderer, "text", ALBUM_N_PHOTOS_COLUMN, NULL); } }
static GtkWidget * gth_image_saver_webp_get_control (GthImageSaver *base) { GthImageSaverWebp *self = GTH_IMAGE_SAVER_WEBP (base); _g_object_unref (self->priv->builder); self->priv->builder = _gtk_builder_new_from_file ("webp-options.ui", "cairo_io"); gtk_adjustment_set_value (GTK_ADJUSTMENT (GET_WIDGET ("quality_adjustment")), g_settings_get_int (self->priv->settings, PREF_WEBP_QUALITY)); gtk_adjustment_set_value (GTK_ADJUSTMENT (GET_WIDGET ("method_adjustment")), g_settings_get_int (self->priv->settings, PREF_WEBP_METHOD)); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("lossless_checkbutton")), g_settings_get_boolean (self->priv->settings, PREF_WEBP_LOSSLESS)); return GET_WIDGET ("webp_options"); }
static void export_completed_with_success (DialogData *data) { GtkBuilder *builder; GtkWidget *dialog; gth_task_dialog (GTH_TASK (data->conn), TRUE); builder = _gtk_builder_new_from_file ("picasa-web-export-completed.ui", "picasaweb"); dialog = _gtk_builder_get_widget (builder, "completed_messagedialog"); g_object_set_data_full (G_OBJECT (dialog), "builder", builder, g_object_unref); g_signal_connect (dialog, "response", G_CALLBACK (completed_messagedialog_response_cb), data); gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (data->browser)); gtk_window_set_modal (GTK_WINDOW (dialog), TRUE); gtk_window_present (GTK_WINDOW (dialog)); }
void dlg_comments_preferences (GtkWindow *parent) { DialogData *data; data = g_new0 (DialogData, 1); data->builder = _gtk_builder_new_from_file ("comments-preferences.ui", "comments"); data->settings = g_settings_new (GTHUMB_COMMENTS_SCHEMA); /* Get the widgets. */ data->dialog = _gtk_builder_get_widget (data->builder, "preferences_dialog"); /* Set widgets data. */ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (gtk_builder_get_object (data->builder, "sync_checkbutton")), g_settings_get_boolean (data->settings, PREF_COMMENTS_SYNCHRONIZE)); /* Set the signals handlers. */ g_signal_connect (G_OBJECT (data->dialog), "destroy", G_CALLBACK (destroy_cb), data); g_signal_connect_swapped (gtk_builder_get_object (data->builder, "close_button"), "clicked", G_CALLBACK (gtk_widget_destroy), G_OBJECT (data->dialog)); g_signal_connect (gtk_builder_get_object (data->builder, "sync_checkbutton"), "clicked", G_CALLBACK (sync_checkbutton_clicked_cb), data); /* run dialog. */ gtk_window_set_transient_for (GTK_WINDOW (data->dialog), parent); gtk_window_set_modal (GTK_WINDOW (data->dialog), TRUE); gtk_widget_show (data->dialog); }
static GtkWidget * gth_image_saver_jpeg_get_control (GthImageSaver *base) { GthImageSaverJpeg *self = GTH_IMAGE_SAVER_JPEG (base); char **extensions; int i; int active_idx; if (self->priv->builder == NULL) self->priv->builder = _gtk_builder_new_from_file ("jpeg-options.ui", "cairo_io"); active_idx = 0; extensions = g_strsplit (gth_image_saver_get_extensions (base), " ", -1); for (i = 0; extensions[i] != NULL; i++) { GtkTreeIter iter; gtk_list_store_append (GTK_LIST_STORE (gtk_builder_get_object (self->priv->builder, "jpeg_default_ext_liststore")), &iter); gtk_list_store_set (GTK_LIST_STORE (gtk_builder_get_object (self->priv->builder, "jpeg_default_ext_liststore")), &iter, 0, extensions[i], -1); if (g_str_equal (extensions[i], gth_image_saver_get_default_ext (base))) active_idx = i; } gtk_combo_box_set_active (GTK_COMBO_BOX (_gtk_builder_get_widget (self->priv->builder, "jpeg_default_extension_combobox")), active_idx); g_strfreev (extensions); gtk_adjustment_set_value (GTK_ADJUSTMENT (_gtk_builder_get_widget (self->priv->builder, "jpeg_quality_adjustment")), g_settings_get_int (self->priv->settings, PREF_JPEG_QUALITY)); gtk_adjustment_set_value (GTK_ADJUSTMENT (_gtk_builder_get_widget (self->priv->builder, "jpeg_smooth_adjustment")), g_settings_get_int (self->priv->settings, PREF_JPEG_SMOOTHING)); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (_gtk_builder_get_widget (self->priv->builder, "jpeg_optimize_checkbutton")), g_settings_get_boolean (self->priv->settings, PREF_JPEG_OPTIMIZE)); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (_gtk_builder_get_widget (self->priv->builder, "jpeg_progressive_checkbutton")), g_settings_get_boolean (self->priv->settings, PREF_JPEG_PROGRESSIVE)); return _gtk_builder_get_widget (self->priv->builder, "jpeg_options"); }
static void oauth_account_manager_dialog_init (OAuthAccountManagerDialog *self) { GtkWidget *content; self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self, OAUTH_TYPE_ACCOUNT_MANAGER_DIALOG, OAuthAccountManagerDialogPrivate); self->priv->builder = _gtk_builder_new_from_file ("oauth-account-manager.ui", "oauth"); gtk_window_set_resizable (GTK_WINDOW (self), FALSE); gtk_box_set_spacing (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (self))), 5); gtk_container_set_border_width (GTK_CONTAINER (self), 5); content = _gtk_builder_get_widget (self->priv->builder, "account_manager"); gtk_container_set_border_width (GTK_CONTAINER (content), 5); gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (self))), content, TRUE, TRUE, 0); gtk_dialog_add_button (GTK_DIALOG (self), _("_New"), OAUTH_ACCOUNT_MANAGER_RESPONSE_NEW); gtk_dialog_add_button (GTK_DIALOG (self), _GTK_LABEL_CANCEL, GTK_RESPONSE_CANCEL); gtk_dialog_add_button (GTK_DIALOG (self), _GTK_LABEL_OK, GTK_RESPONSE_OK); g_object_set (GET_WIDGET ("account_cellrenderertext"), "editable", TRUE, NULL); g_signal_connect (GET_WIDGET ("account_cellrenderertext"), "edited", G_CALLBACK (text_renderer_edited_cb), self); g_signal_connect (GET_WIDGET ("delete_button"), "clicked", G_CALLBACK (delete_button_clicked_cb), self); }
void dlg_media_viewer_preferences (GtkWindow *parent) { DialogData *data; char *uri; data = g_new0 (DialogData, 1); data->builder = _gtk_builder_new_from_file ("media-viewer-preferences.ui", "gstreamer_tools"); data->settings = g_settings_new (GTHUMB_GSTREAMER_TOOLS_SCHEMA); /* Get the widgets. */ data->dialog = _gtk_builder_get_widget (data->builder, "preferences_dialog"); /* Set widgets data. */ uri = _g_settings_get_uri_or_special_dir (data->settings, PREF_GSTREAMER_TOOLS_SCREESHOT_LOCATION, G_USER_DIRECTORY_PICTURES); gtk_file_chooser_set_uri (GTK_FILE_CHOOSER (gtk_builder_get_object (data->builder, "screenshots_filechooserbutton")), uri); g_free (uri); /* Set the signals handlers. */ g_signal_connect (G_OBJECT (data->dialog), "destroy", G_CALLBACK (destroy_cb), data); g_signal_connect_swapped (gtk_builder_get_object (data->builder, "close_button"), "clicked", G_CALLBACK (gtk_widget_destroy), G_OBJECT (data->dialog)); /* run dialog. */ gtk_window_set_transient_for (GTK_WINDOW (data->dialog), parent); gtk_window_set_modal (GTK_WINDOW (data->dialog), TRUE); gtk_widget_show (data->dialog); }
static void gth_import_preferences_dialog_init (GthImportPreferencesDialog *self) { GtkWidget *content; GFile *destination; GthSubfolderType subfolder_type; char *custom_format; self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self, GTH_TYPE_IMPORT_PREFERENCES_DIALOG, GthImportPreferencesDialogPrivate); self->priv->builder = _gtk_builder_new_from_file ("import-preferences.ui", "importer"); self->priv->settings = g_settings_new (GTHUMB_IMPORTER_SCHEMA); self->priv->help_visible = FALSE; gtk_window_set_title (GTK_WINDOW (self), _("Preferences")); gtk_window_set_resizable (GTK_WINDOW (self), FALSE); gtk_window_set_modal (GTK_WINDOW (self), TRUE); gtk_box_set_spacing (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (self))), 5); gtk_container_set_border_width (GTK_CONTAINER (self), 5); content = _gtk_builder_get_widget (self->priv->builder, "import_preferences"); gtk_container_set_border_width (GTK_CONTAINER (content), 5); gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (self))), content, TRUE, TRUE, 0); /* subfolder type */ self->priv->subfolder_type_list = _gtk_combo_box_new_with_texts (_("File date"), _("Current date"), NULL); gtk_combo_box_set_active (GTK_COMBO_BOX (self->priv->subfolder_type_list), 0); gtk_widget_show (self->priv->subfolder_type_list); gtk_box_pack_start (GTK_BOX (GET_WIDGET ("subfolder_type_box")), self->priv->subfolder_type_list, TRUE, TRUE, 0); /*gtk_label_set_mnemonic_widget (GTK_LABEL (GET_WIDGET ("subfolder_label")), self->priv->subfolder_type_list);*/ /* subfolder format */ self->priv->subfolder_format_list = _gtk_combo_box_new_with_texts (_("year-month-day"), _("year-month"), _("year"), _("custom format"), NULL); gtk_combo_box_set_active (GTK_COMBO_BOX (self->priv->subfolder_format_list), 0); gtk_widget_show (self->priv->subfolder_format_list); gtk_box_pack_start (GTK_BOX (GET_WIDGET ("subfolder_type_box")), self->priv->subfolder_format_list, TRUE, TRUE, 0); gtk_dialog_add_button (GTK_DIALOG (self), _GTK_LABEL_CLOSE, GTK_RESPONSE_CLOSE); /* set widget data */ destination = gth_import_preferences_get_destination (); gtk_file_chooser_set_current_folder_file (GTK_FILE_CHOOSER (GET_WIDGET ("destination_filechooserbutton")), destination, NULL); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("single_subfolder_checkbutton")), g_settings_get_boolean (self->priv->settings, PREF_IMPORTER_SUBFOLDER_SINGLE)); subfolder_type = g_settings_get_enum (self->priv->settings, PREF_IMPORTER_SUBFOLDER_TYPE); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("autosubfolder_checkbutton")), subfolder_type != GTH_SUBFOLDER_TYPE_NONE); gtk_combo_box_set_active (GTK_COMBO_BOX (self->priv->subfolder_type_list), (subfolder_type == 0) ? 0 : subfolder_type - 1); gtk_combo_box_set_active (GTK_COMBO_BOX (self->priv->subfolder_format_list), g_settings_get_enum (self->priv->settings, PREF_IMPORTER_SUBFOLDER_FORMAT)); custom_format = g_settings_get_string (self->priv->settings, PREF_IMPORTER_SUBFOLDER_CUSTOM_FORMAT); if (custom_format != NULL) { gtk_entry_set_text (GTK_ENTRY (GET_WIDGET ("custom_format_entry")), custom_format); g_free (custom_format); } update_destination (self); g_signal_connect (self->priv->subfolder_type_list, "changed", G_CALLBACK (subfolder_type_list_changed_cb), self); g_signal_connect (self->priv->subfolder_format_list, "changed", G_CALLBACK (subfolder_format_list_changed_cb), self); g_signal_connect (GET_WIDGET ("destination_filechooserbutton"), "selection_changed", G_CALLBACK (destination_selection_changed_cb), self); g_signal_connect (GET_WIDGET ("single_subfolder_checkbutton"), "toggled", G_CALLBACK (subfolder_hierarchy_checkbutton_toggled_cb), self); g_signal_connect (self, "map-event", G_CALLBACK (preferences_dialog_map_event_cb), self); g_signal_connect (self, "delete-event", G_CALLBACK (preferences_dialog_delete_event_cb), self); g_signal_connect (GET_WIDGET ("autosubfolder_checkbutton"), "toggled", G_CALLBACK (autosubfolder_checkbutton_toggled_cb), self); g_signal_connect (GET_WIDGET ("custom_format_entry"), "changed", G_CALLBACK (custom_format_entry_changed_cb), self); g_signal_connect (GET_WIDGET ("custom_format_entry"), "icon-press", G_CALLBACK (custom_format_entry_icon_press_cb), self); g_signal_connect (self, "response", G_CALLBACK (dialog_response_cb), self); g_object_unref (destination); }
static void gth_slideshow_preferences_construct (GthSlideshowPreferences *self, const char *current_transition, gboolean automatic, int delay, gboolean wrap_around, gboolean random_order) { GtkListStore *model; GtkCellRenderer *renderer; GList *transitions; int i, i_active; GList *scan; GtkTreeIter iter; self->priv->builder = _gtk_builder_new_from_file ("slideshow-preferences.ui", "slideshow"); gtk_container_add (GTK_CONTAINER (self), _gtk_builder_get_widget (self->priv->builder, "preferences_page")); model = gtk_list_store_new (2, G_TYPE_STRING, G_TYPE_STRING); self->priv->transition_combobox = gtk_combo_box_new_with_model (GTK_TREE_MODEL (model)); g_object_unref (model); renderer = gtk_cell_renderer_text_new (); gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (self->priv->transition_combobox), renderer, TRUE); gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (self->priv->transition_combobox), renderer, "text", TRANSITION_COLUMN_DISPLAY_NAME, NULL); transitions = gth_main_get_registered_objects (GTH_TYPE_TRANSITION); for (i = 0, i_active = 0, scan = transitions; scan; scan = scan->next, i++) { GthTransition *transition = scan->data; if (g_strcmp0 (gth_transition_get_id (transition), current_transition) == 0) i_active = i; gtk_list_store_append (model, &iter); gtk_list_store_set (model, &iter, TRANSITION_COLUMN_ID, gth_transition_get_id (transition), TRANSITION_COLUMN_DISPLAY_NAME, gth_transition_get_display_name (transition), -1); } if (g_strcmp0 ("random", current_transition) == 0) i_active = i; gtk_list_store_append (model, &iter); gtk_list_store_set (model, &iter, TRANSITION_COLUMN_ID, "random", TRANSITION_COLUMN_DISPLAY_NAME, _("Random"), -1); gtk_combo_box_set_active (GTK_COMBO_BOX (self->priv->transition_combobox), i_active); gtk_widget_show (self->priv->transition_combobox); gtk_box_pack_start (GTK_BOX (_gtk_builder_get_widget (self->priv->builder, "transition_box")), self->priv->transition_combobox, FALSE, FALSE, 0); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (_gtk_builder_get_widget (self->priv->builder, "automatic_checkbutton")), automatic); gtk_spin_button_set_value (GTK_SPIN_BUTTON (_gtk_builder_get_widget (self->priv->builder, "change_delay_spinbutton")), ((float) delay) / 1000.0); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (_gtk_builder_get_widget (self->priv->builder, "wrap_around_checkbutton")), wrap_around); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (_gtk_builder_get_widget (self->priv->builder, "random_order_checkbutton")), random_order); /* signals */ g_signal_connect (_gtk_builder_get_widget (self->priv->builder, "personalize_checkbutton"), "toggled", G_CALLBACK (personalize_checkbutton_toggled_cb), self); g_signal_connect (_gtk_builder_get_widget (self->priv->builder, "automatic_checkbutton"), "toggled", G_CALLBACK (automatic_checkbutton_toggled_cb), self); g_signal_connect (_gtk_builder_get_widget (self->priv->builder, "remove_file_button"), "clicked", G_CALLBACK (remove_file_button_clicked_cb), self); g_signal_connect (_gtk_builder_get_widget (self->priv->builder, "add_file_button"), "clicked", G_CALLBACK (add_file_button_clicked_cb), self); }
static void gth_media_viewer_page_real_activate (GthViewerPage *base, GthBrowser *browser) { GthMediaViewerPage *self; if (! gstreamer_init ()) return; self = (GthMediaViewerPage*) base; self->priv->browser = browser; self->priv->actions = gtk_action_group_new ("Video Viewer Actions"); gtk_action_group_set_translation_domain (self->priv->actions, NULL); gtk_action_group_add_actions (self->priv->actions, media_viewer_action_entries, G_N_ELEMENTS (media_viewer_action_entries), self); gtk_ui_manager_insert_action_group (gth_browser_get_ui_manager (browser), self->priv->actions, 0); self->priv->area_box = gtk_vbox_new (FALSE, 0); /* video area */ self->priv->area = gtk_drawing_area_new (); gtk_widget_set_double_buffered (self->priv->area, FALSE); gtk_widget_add_events (self->priv->area, (gtk_widget_get_events (self->priv->area) | GDK_EXPOSURE_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_MOTION_MASK)); GTK_WIDGET_SET_FLAGS (self->priv->area, GTK_CAN_FOCUS); gtk_widget_show (self->priv->area); gtk_box_pack_start (GTK_BOX (self->priv->area_box), self->priv->area, TRUE, TRUE, 0); g_signal_connect (G_OBJECT (self->priv->area), "realize", G_CALLBACK (video_area_realize_cb), self); g_signal_connect (G_OBJECT (self->priv->area), "unrealize", G_CALLBACK (video_area_unrealize_cb), self); g_signal_connect (G_OBJECT (self->priv->area), "expose_event", G_CALLBACK (video_area_expose_event_cb), self); g_signal_connect (G_OBJECT (self->priv->area), "button_press_event", G_CALLBACK (video_area_button_press_cb), self); g_signal_connect (G_OBJECT (self->priv->area), "scroll_event", G_CALLBACK (video_area_scroll_event_cb), self); g_signal_connect (G_OBJECT (self->priv->area), "key_press_event", G_CALLBACK (video_area_key_press_cb), self); /* mediabar */ self->priv->builder = _gtk_builder_new_from_file ("mediabar.ui", "gstreamer_tools"); self->priv->mediabar = GET_WIDGET ("mediabar"); gtk_widget_show (self->priv->mediabar); gtk_box_pack_start (GTK_BOX (self->priv->area_box), self->priv->mediabar, FALSE, FALSE, 0); g_signal_connect (GET_WIDGET ("adjustment_volume"), "value-changed", G_CALLBACK (volume_value_changed_cb), self); g_signal_connect (GET_WIDGET ("adjustment_position"), "value-changed", G_CALLBACK (position_value_changed_cb), self); g_signal_connect (GET_WIDGET ("hscale_volume"), "format-value", G_CALLBACK (hscale_volume_format_value_cb), self); g_signal_connect (GET_WIDGET ("hscale_position"), "change-value", G_CALLBACK (hscale_position_change_value_cb), self); g_signal_connect (GET_WIDGET ("hscale_position"), "button-release-event", G_CALLBACK (hscale_position_button_release_event_cb), self); g_signal_connect (GET_WIDGET ("button_play"), "clicked", G_CALLBACK (button_play_clicked_cb), self); g_signal_connect (GET_WIDGET ("togglebutton_volume"), "toggled", G_CALLBACK (togglebutton_volume_toggled_cb), self); g_signal_connect (GET_WIDGET ("button_play_slower"), "clicked", G_CALLBACK (button_play_slower_clicked_cb), self); g_signal_connect (GET_WIDGET ("button_play_faster"), "clicked", G_CALLBACK (button_play_faster_clicked_cb), self); gtk_widget_show (self->priv->area_box); gth_browser_set_viewer_widget (browser, self->priv->area_box); gtk_widget_realize (self->priv->area); gdk_window_ensure_native (gtk_widget_get_window (self->priv->area)); gth_viewer_page_focus (GTH_VIEWER_PAGE (self)); }
void dlg_sort_order (GthBrowser *browser) { DialogData *data; GtkListStore *selection_model; GtkCellRenderer *renderer; GthFileData *file_data; GList *sort_types; GList *scan; GthFileDataSort *current_sort_type; gboolean sort_inverse; int i, i_active; if (gth_browser_get_dialog (browser, "sort-order") != NULL) { gtk_window_present (GTK_WINDOW (gth_browser_get_dialog (browser, "sort-order"))); return; } data = g_new0 (DialogData, 1); data->browser = browser; data->builder = _gtk_builder_new_from_file ("sort-order.ui", NULL); /* Get the widgets. */ data->dialog = _gtk_builder_get_widget (data->builder, "sort_order_dialog"); gth_browser_set_dialog (browser, "sort-order", data->dialog); g_object_set_data (G_OBJECT (data->dialog), "dialog_data", data); /* Set widgets data. */ selection_model = gtk_list_store_new (2, G_TYPE_POINTER, G_TYPE_STRING); data->sort_by_combobox = gtk_combo_box_new_with_model (GTK_TREE_MODEL (selection_model)); g_object_unref (selection_model); renderer = gtk_cell_renderer_text_new (); gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (data->sort_by_combobox), renderer, TRUE); gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (data->sort_by_combobox), renderer, "text", SELECTION_COLUMN_NAME, NULL); file_data = gth_browser_get_location_data (data->browser); if (file_data != NULL) { current_sort_type = gth_main_get_sort_type (g_file_info_get_attribute_string (file_data->info, "sort::type")); sort_inverse = g_file_info_get_attribute_boolean (file_data->info, "sort::inverse"); } else gth_browser_get_sort_order (data->browser, ¤t_sort_type, &sort_inverse); sort_types = gth_main_get_all_sort_types (); for (i = 0, i_active = 0, scan = sort_types; scan; scan = scan->next, i++) { GthFileDataSort *sort_type = scan->data; GtkTreeIter iter; if (strcmp (sort_type->name, current_sort_type->name) == 0) i_active = i; gtk_list_store_append (selection_model, &iter); gtk_list_store_set (selection_model, &iter, SELECTION_COLUMN_DATA, sort_type, SELECTION_COLUMN_NAME, _(sort_type->display_name), -1); } g_list_free (sort_types); gtk_combo_box_set_active (GTK_COMBO_BOX (data->sort_by_combobox), i_active); gtk_widget_show (data->sort_by_combobox); gtk_container_add (GTK_CONTAINER (GET_WIDGET ("sort_by_hbox")), data->sort_by_combobox); gtk_label_set_use_underline (GTK_LABEL (GET_WIDGET ("sort_by_label")), TRUE); gtk_label_set_mnemonic_widget (GTK_LABEL (GET_WIDGET ("sort_by_label")), data->sort_by_combobox); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("inverse_checkbutton")), sort_inverse); /* Set the signals handlers. */ g_signal_connect (G_OBJECT (data->dialog), "destroy", G_CALLBACK (destroy_cb), data); g_signal_connect_swapped (GET_WIDGET ("close_button"), "clicked", G_CALLBACK (gtk_widget_destroy), G_OBJECT (data->dialog)); g_signal_connect (GET_WIDGET ("inverse_checkbutton"), "toggled", G_CALLBACK (apply_sort_order), data); g_signal_connect (data->sort_by_combobox, "changed", G_CALLBACK (apply_sort_order), data); /* run dialog. */ gtk_window_set_transient_for (GTK_WINDOW (data->dialog), GTK_WINDOW (browser)); gtk_window_set_modal (GTK_WINDOW (data->dialog), FALSE); gtk_widget_show (data->dialog); }
void dlg_sort_order (GthBrowser *browser) { DialogData *data; GtkWidget *first_button; GthFileData *file_data; GList *scan; gboolean sort_inverse; if (gth_browser_get_dialog (browser, "sort-order") != NULL) { gtk_window_present (GTK_WINDOW (gth_browser_get_dialog (browser, "sort-order"))); return; } data = g_new0 (DialogData, 1); data->browser = browser; data->builder = _gtk_builder_new_from_file ("sort-order.ui", NULL); /* Get the widgets. */ data->dialog = g_object_new (GTK_TYPE_DIALOG, "title", _("Sort By"), "transient-for", GTK_WINDOW (browser), "modal", FALSE, "destroy-with-parent", FALSE, "use-header-bar", _gtk_settings_get_dialogs_use_header (), NULL); gtk_container_add (GTK_CONTAINER (gtk_dialog_get_content_area (GTK_DIALOG (data->dialog))), _gtk_builder_get_widget (data->builder, "dialog_content")); gtk_dialog_add_buttons (GTK_DIALOG (data->dialog), _GTK_LABEL_OK, GTK_RESPONSE_CLOSE, NULL); gth_browser_set_dialog (browser, "sort-order", data->dialog); g_object_set_data (G_OBJECT (data->dialog), "dialog_data", data); /* Set widgets data. */ file_data = gth_browser_get_location_data (data->browser); if (file_data != NULL) { data->current_sort_type = gth_main_get_sort_type (g_file_info_get_attribute_string (file_data->info, "sort::type")); sort_inverse = g_file_info_get_attribute_boolean (file_data->info, "sort::inverse"); } else gth_browser_get_sort_order (data->browser, &data->current_sort_type, &sort_inverse); first_button = NULL; data->sort_types = gth_main_get_all_sort_types (); for (scan = data->sort_types; scan; scan = scan->next) { GthFileDataSort *sort_type = scan->data; GtkWidget *button; ButtonData *button_data; button = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (first_button), _(sort_type->display_name)); if (scan == data->sort_types) first_button = button; gtk_widget_show (button); gtk_box_pack_start (GTK_BOX (GET_WIDGET ("sort_order_box")), button, FALSE, FALSE, 0); if (strcmp (sort_type->name, data->current_sort_type->name) == 0) gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button), TRUE); button_data = g_new0 (ButtonData, 1); button_data->data = data; button_data->sort_type = sort_type; g_signal_connect_data (button, "toggled", G_CALLBACK (order_button_toggled_cb), button_data, (GClosureNotify) button_data_free, 0); } gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("inverse_checkbutton")), sort_inverse); /* Set the signals handlers. */ g_signal_connect (G_OBJECT (data->dialog), "destroy", G_CALLBACK (destroy_cb), data); g_signal_connect_swapped (gtk_dialog_get_widget_for_response (GTK_DIALOG (data->dialog), GTK_RESPONSE_CLOSE), "clicked", G_CALLBACK (gtk_widget_destroy), G_OBJECT (data->dialog)); g_signal_connect (GET_WIDGET ("inverse_checkbutton"), "toggled", G_CALLBACK (apply_sort_order), data); /* run dialog. */ gtk_window_set_transient_for (GTK_WINDOW (data->dialog), GTK_WINDOW (browser)); gtk_window_set_modal (GTK_WINDOW (data->dialog), FALSE); gtk_widget_show (data->dialog); }
static void gth_media_viewer_page_real_activate (GthViewerPage *base, GthBrowser *browser) { GthMediaViewerPage *self; gboolean rtl; if (! gstreamer_init ()) return; self = (GthMediaViewerPage*) base; self->priv->browser = browser; g_action_map_add_action_entries (G_ACTION_MAP (browser), actions, G_N_ELEMENTS (actions), browser); self->priv->screenshot_button = gth_browser_add_header_bar_button (browser, GTH_BROWSER_HEADER_SECTION_VIEWER_VIEW, "camera-photo-symbolic", _("Take a screenshot"), "win.video-screenshot", NULL); rtl = gtk_widget_get_default_direction () == GTK_TEXT_DIR_RTL; /* video area */ self->priv->area = gtk_drawing_area_new (); /* do not use the rgba visual on the drawing area */ { GdkVisual *visual; visual = gdk_screen_get_system_visual (gtk_widget_get_screen (GTK_WIDGET (self->priv->area))); if (visual != NULL) gtk_widget_set_visual (GTK_WIDGET (self->priv->area), visual); } gtk_widget_set_double_buffered (self->priv->area, FALSE); gtk_widget_add_events (self->priv->area, (gtk_widget_get_events (self->priv->area) | GDK_EXPOSURE_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_MOTION_MASK | GDK_SCROLL_MASK)); gtk_widget_set_can_focus (self->priv->area, TRUE); gtk_widget_show (self->priv->area); g_signal_connect (G_OBJECT (self->priv->area), "realize", G_CALLBACK (video_area_realize_cb), self); g_signal_connect (G_OBJECT (self->priv->area), "unrealize", G_CALLBACK (video_area_unrealize_cb), self); g_signal_connect (G_OBJECT (self->priv->area), "draw", G_CALLBACK (video_area_draw_cb), self); g_signal_connect (G_OBJECT (self->priv->area), "button_press_event", G_CALLBACK (video_area_button_press_cb), self); g_signal_connect (G_OBJECT (self->priv->area), "popup-menu", G_CALLBACK (video_area_popup_menu_cb), self); g_signal_connect (G_OBJECT (self->priv->area), "scroll_event", G_CALLBACK (video_area_scroll_event_cb), self); g_signal_connect (G_OBJECT (self->priv->area), "key_press_event", G_CALLBACK (video_area_key_press_cb), self); /* mediabar */ self->priv->builder = _gtk_builder_new_from_file ("mediabar.ui", "gstreamer_tools"); self->priv->mediabar = GET_WIDGET ("mediabar"); gtk_widget_set_halign (self->priv->mediabar, GTK_ALIGN_FILL); gtk_widget_set_valign (self->priv->mediabar, GTK_ALIGN_END); gtk_image_set_from_icon_name (GTK_IMAGE (GET_WIDGET ("play_slower_image")), rtl ? "media-seek-backward-rtl-symbolic" : "media-seek-backward-symbolic", GTK_ICON_SIZE_MENU); gtk_image_set_from_icon_name (GTK_IMAGE (GET_WIDGET ("play_faster_image")), rtl ? "media-seek-forward-rtl-symbolic" : "media-seek-forward-symbolic", GTK_ICON_SIZE_MENU); g_signal_connect (GET_WIDGET ("volume_adjustment"), "value-changed", G_CALLBACK (volume_value_changed_cb), self); g_signal_connect (GET_WIDGET ("position_adjustment"), "value-changed", G_CALLBACK (position_value_changed_cb), self); g_signal_connect (GET_WIDGET ("play_button"), "clicked", G_CALLBACK (play_button_clicked_cb), self); g_signal_connect (GET_WIDGET ("play_slower_button"), "clicked", G_CALLBACK (play_slower_button_clicked_cb), self); g_signal_connect (GET_WIDGET ("play_faster_button"), "clicked", G_CALLBACK (play_faster_button_clicked_cb), self); self->priv->mediabar_revealer = gtk_revealer_new (); gtk_revealer_set_transition_type (GTK_REVEALER (self->priv->mediabar_revealer), GTK_REVEALER_TRANSITION_TYPE_SLIDE_UP); gtk_widget_set_halign (self->priv->mediabar_revealer, GTK_ALIGN_FILL); gtk_widget_set_valign (self->priv->mediabar_revealer, GTK_ALIGN_END); gtk_widget_show (self->priv->mediabar_revealer); gtk_container_add (GTK_CONTAINER (self->priv->mediabar_revealer), self->priv->mediabar); self->priv->area_box = gtk_overlay_new (); gtk_container_add (GTK_CONTAINER (self->priv->area_box), self->priv->area); gtk_overlay_add_overlay (GTK_OVERLAY (self->priv->area_box), self->priv->mediabar_revealer); gtk_widget_show (self->priv->area_box); gth_browser_set_viewer_widget (browser, self->priv->area_box); gtk_widget_realize (self->priv->area); gth_browser_register_viewer_control (self->priv->browser, self->priv->mediabar); gth_viewer_page_focus (GTH_VIEWER_PAGE (self)); }
void dlg_export_to_picasaweb (GthBrowser *browser, GList *file_list) { DialogData *data; GtkTreeSelection *selection; GList *scan; int n_total; goffset total_size; char *total_size_formatted; char *text; data = g_new0 (DialogData, 1); data->browser = browser; data->settings = g_settings_new (GTHUMB_PICASAWEB_SCHEMA); data->location = gth_file_data_dup (gth_browser_get_location_data (browser)); data->builder = _gtk_builder_new_from_file ("export-to-picasaweb.ui", "picasaweb"); data->dialog = _gtk_builder_get_widget (data->builder, "export_dialog"); data->cancellable = g_cancellable_new (); { GtkCellLayout *cell_layout; GtkCellRenderer *renderer; cell_layout = GTK_CELL_LAYOUT (GET_WIDGET ("name_treeviewcolumn")); renderer = gtk_cell_renderer_pixbuf_new (); gtk_cell_layout_pack_start (cell_layout, renderer, FALSE); gtk_cell_layout_set_attributes (cell_layout, renderer, "icon-name", ALBUM_ICON_COLUMN, NULL); renderer = gtk_cell_renderer_text_new (); gtk_cell_layout_pack_start (cell_layout, renderer, TRUE); gtk_cell_layout_set_attributes (cell_layout, renderer, "text", ALBUM_NAME_COLUMN, NULL); renderer = gtk_cell_renderer_pixbuf_new (); gtk_cell_layout_pack_start (cell_layout, renderer, FALSE); gtk_cell_layout_set_attributes (cell_layout, renderer, "icon-name", ALBUM_EMBLEM_COLUMN, NULL); } _gtk_window_resize_to_fit_screen_height (data->dialog, 500); data->file_list = NULL; n_total = 0; total_size = 0; for (scan = file_list; scan; scan = scan->next) { GthFileData *file_data = scan->data; const char *mime_type; mime_type = gth_file_data_get_mime_type (file_data); if (g_content_type_equals (mime_type, "image/bmp") || g_content_type_equals (mime_type, "image/gif") || g_content_type_equals (mime_type, "image/jpeg") || g_content_type_equals (mime_type, "image/png")) { total_size += g_file_info_get_size (file_data->info); n_total++; data->file_list = g_list_prepend (data->file_list, g_object_ref (file_data)); } } data->file_list = g_list_reverse (data->file_list); if (data->file_list == NULL) { GError *error; gth_task_dialog (GTH_TASK (data->service), TRUE, NULL); error = g_error_new_literal (GTH_ERROR, GTH_ERROR_GENERIC, _("No valid file selected.")); _gtk_error_dialog_from_gerror_show (GTK_WINDOW (browser), _("Could not export the files"), error); g_clear_error (&error); destroy_dialog (data); return; } total_size_formatted = g_format_size (total_size); text = g_strdup_printf (g_dngettext (NULL, "%d file (%s)", "%d files (%s)", n_total), n_total, total_size_formatted); gtk_label_set_text (GTK_LABEL (GET_WIDGET ("images_info_label")), text); g_free (text); g_free (total_size_formatted); /* Set the widget data */ data->list_view = gth_file_list_new (gth_grid_view_new (), GTH_FILE_LIST_MODE_NO_SELECTION, FALSE); gth_file_list_set_thumb_size (GTH_FILE_LIST (data->list_view), 112); gth_file_list_enable_thumbs (GTH_FILE_LIST (data->list_view), TRUE); gth_file_list_set_ignore_hidden (GTH_FILE_LIST (data->list_view), TRUE); gth_file_list_set_caption (GTH_FILE_LIST (data->list_view), "none"); gth_file_list_set_sort_func (GTH_FILE_LIST (data->list_view), gth_main_get_sort_type ("file::name")->cmp_func, FALSE); gtk_widget_show (data->list_view); gtk_box_pack_start (GTK_BOX (GET_WIDGET ("images_box")), data->list_view, TRUE, TRUE, 0); gth_file_list_set_files (GTH_FILE_LIST (data->list_view), data->file_list); gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (GET_WIDGET ("album_liststore")), ALBUM_NAME_COLUMN, GTK_SORT_ASCENDING); gtk_widget_set_sensitive (GET_WIDGET ("upload_button"), FALSE); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("resize_checkbutton")), g_settings_get_int (data->settings, PREF_PICASAWEB_RESIZE_WIDTH) != -1); _gtk_combo_box_add_image_sizes (GTK_COMBO_BOX (GET_WIDGET ("resize_combobox")), g_settings_get_int (data->settings, PREF_PICASAWEB_RESIZE_WIDTH), g_settings_get_int (data->settings, PREF_PICASAWEB_RESIZE_HEIGHT)); /* Set the signals handlers. */ g_signal_connect (data->dialog, "delete-event", G_CALLBACK (gtk_true), NULL); g_signal_connect (data->dialog, "response", G_CALLBACK (export_dialog_response_cb), data); g_signal_connect (GET_WIDGET ("add_album_button"), "clicked", G_CALLBACK (add_album_button_clicked_cb), data); g_signal_connect (GET_WIDGET ("edit_accounts_button"), "clicked", G_CALLBACK (edit_accounts_button_clicked_cb), data); g_signal_connect (GET_WIDGET ("account_combobox"), "changed", G_CALLBACK (account_combobox_changed_cb), data); g_signal_connect (GET_WIDGET ("resize_checkbutton"), "toggled", G_CALLBACK (resize_checkbutton_toggled_cb), data); selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (GET_WIDGET ("albums_treeview"))); gtk_tree_selection_set_mode (selection, GTK_SELECTION_SINGLE); g_signal_connect (selection, "changed", G_CALLBACK (albums_treeview_selection_changed_cb), data); update_sensitivity (data); data->service = picasa_web_service_new (data->cancellable, GTK_WIDGET (data->browser), data->dialog); g_signal_connect (data->service, "account-ready", G_CALLBACK (service_account_ready_cb), data); g_signal_connect (data->service, "accounts-changed", G_CALLBACK (service_accounts_changed_cb), data); data->progress_dialog = gth_progress_dialog_new (GTK_WINDOW (data->browser)); gth_progress_dialog_add_task (GTH_PROGRESS_DIALOG (data->progress_dialog), GTH_TASK (data->service)); web_service_autoconnect (WEB_SERVICE (data->service)); }
void dlg_import_from_flickr (FlickrServer *server, GthBrowser *browser) { DialogData *data; GthThumbLoader *thumb_loader; char *title; data = g_new0 (DialogData, 1); data->server = server; data->browser = browser; data->location = gth_file_data_dup (gth_browser_get_location_data (browser)); data->builder = _gtk_builder_new_from_file ("import-from-flickr.ui", "flicker_utils"); data->dialog = _gtk_builder_get_widget (data->builder, "import_dialog"); data->cancellable = g_cancellable_new (); { GtkCellLayout *cell_layout; GtkCellRenderer *renderer; cell_layout = GTK_CELL_LAYOUT (GET_WIDGET ("photoset_combobox")); renderer = gtk_cell_renderer_pixbuf_new (); gtk_cell_layout_pack_start (cell_layout, renderer, FALSE); gtk_cell_layout_set_attributes (cell_layout, renderer, "icon-name", PHOTOSET_ICON_COLUMN, NULL); renderer = gtk_cell_renderer_text_new (); gtk_cell_layout_pack_start (cell_layout, renderer, TRUE); gtk_cell_layout_set_attributes (cell_layout, renderer, "text", PHOTOSET_TITLE_COLUMN, NULL); renderer = gtk_cell_renderer_text_new (); gtk_cell_layout_pack_start (cell_layout, renderer, FALSE); gtk_cell_layout_set_attributes (cell_layout, renderer, "text", PHOTOSET_N_PHOTOS_COLUMN, NULL); } /* Set the widget data */ data->file_list = gth_file_list_new (gth_grid_view_new (), GTH_FILE_LIST_MODE_NORMAL, FALSE); thumb_loader = gth_file_list_get_thumb_loader (GTH_FILE_LIST (data->file_list)); gth_thumb_loader_set_use_cache (thumb_loader, FALSE); gth_thumb_loader_set_loader_func (thumb_loader, flickr_thumbnail_loader); gth_file_list_set_thumb_size (GTH_FILE_LIST (data->file_list), FLICKR_SIZE_THUMBNAIL); gth_file_list_enable_thumbs (GTH_FILE_LIST (data->file_list), TRUE); gth_file_list_set_ignore_hidden (GTH_FILE_LIST (data->file_list), TRUE); gth_file_list_set_caption (GTH_FILE_LIST (data->file_list), "none"); gth_file_list_set_sort_func (GTH_FILE_LIST (data->file_list), flickr_photo_position_func, FALSE); gth_file_list_clear (GTH_FILE_LIST (data->file_list), _("No album selected")); gtk_widget_show (data->file_list); gtk_box_pack_start (GTK_BOX (GET_WIDGET ("images_box")), data->file_list, TRUE, TRUE, 0); gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (GET_WIDGET ("photoset_liststore")), PHOTOSET_TITLE_COLUMN, GTK_SORT_ASCENDING); gtk_widget_set_sensitive (GET_WIDGET ("download_button"), FALSE); data->preferences_dialog = gth_import_preferences_dialog_new (); gtk_window_set_transient_for (GTK_WINDOW (data->preferences_dialog), GTK_WINDOW (data->dialog)); gtk_box_pack_start (GTK_BOX (GET_WIDGET ("destination_button_box")), gth_import_destination_button_new (GTH_IMPORT_PREFERENCES_DIALOG (data->preferences_dialog)), TRUE, TRUE, 0); gtk_widget_show_all (GET_WIDGET ("destination_button_box")); title = g_strdup_printf (_("Import from %s"), data->server->display_name); gtk_window_set_title (GTK_WINDOW (data->dialog), title); g_free (title); _gtk_window_resize_to_fit_screen_height (data->dialog, 500); /* Set the signals handlers. */ g_signal_connect (data->dialog, "destroy", G_CALLBACK (import_dialog_destroy_cb), data); g_signal_connect (data->dialog, "delete-event", G_CALLBACK (gtk_true), NULL); g_signal_connect (data->dialog, "response", G_CALLBACK (import_dialog_response_cb), data); g_signal_connect (GET_WIDGET ("edit_accounts_button"), "clicked", G_CALLBACK (edit_accounts_button_clicked_cb), data); g_signal_connect (GET_WIDGET ("account_combobox"), "changed", G_CALLBACK (account_combobox_changed_cb), data); g_signal_connect (GET_WIDGET ("photoset_combobox"), "changed", G_CALLBACK (photoset_combobox_changed_cb), data); g_signal_connect (gth_file_list_get_view (GTH_FILE_LIST (data->file_list)), "file-selection-changed", G_CALLBACK (file_list_selection_changed_cb), data); update_selection_status (data); gth_import_preferences_dialog_set_event (GTH_IMPORT_PREFERENCES_DIALOG (data->preferences_dialog), ""); data->service = flickr_service_new (server, data->cancellable, GTK_WIDGET (data->browser), data->dialog); g_signal_connect (data->service, "account-ready", G_CALLBACK (authentication_ready_cb), data); g_signal_connect (data->service, "accounts-changed", G_CALLBACK (authentication_accounts_changed_cb), data); data->progress_dialog = gth_progress_dialog_new (GTK_WINDOW (data->browser)); gth_progress_dialog_add_task (GTH_PROGRESS_DIALOG (data->progress_dialog), GTH_TASK (data->service)); web_service_autoconnect (WEB_SERVICE (data->service)); }
void fm_find_files( const char** search_dirs ) { FindFile* data = g_slice_new0(FindFile); GtkTreeIter it; GtkTreeViewColumn* col; GtkWidget *add_folder_btn, *remove_folder_btn, *img; GtkBuilder* builder = _gtk_builder_new_from_file( PACKAGE_UI_DIR "/find-files.ui", NULL ); data->win = (GtkWidget*)gtk_builder_get_object( builder, "win" ); g_object_set_data_full( G_OBJECT( data->win ), "find-files", data, (GDestroyNotify)free_data ); GdkPixbuf* icon = NULL; GtkIconTheme* theme = gtk_icon_theme_get_default(); if ( theme ) icon = gtk_icon_theme_load_icon( theme, "spacefm-find", 48, 0, NULL ); if ( icon ) { gtk_window_set_icon( GTK_WINDOW( data->win ), icon ); g_object_unref( icon ); } else gtk_window_set_icon_name( GTK_WINDOW( data->win ), GTK_STOCK_FIND ); /* search criteria pane */ data->search_criteria = (GtkWidget*)gtk_builder_get_object( builder, "search_criteria" ); data->fn_pattern = (GtkWidget*)gtk_builder_get_object( builder, "fn_pattern" ); data->fn_pattern_entry = gtk_bin_get_child( GTK_BIN( data->fn_pattern ) ); data->fn_case_sensitive = (GtkWidget*)gtk_builder_get_object( builder, "fn_case_sensitive" ); gtk_entry_set_activates_default( (GtkEntry*)data->fn_pattern_entry, TRUE ); /* file content */ data->fc_pattern = (GtkWidget*)gtk_builder_get_object( builder, "fc_pattern" ); data->fc_case_sensitive = (GtkWidget*)gtk_builder_get_object( builder, "fc_case_sensitive" ); data->fc_use_regexp = (GtkWidget*)gtk_builder_get_object( builder, "fc_use_regexp" ); /* advanced options */ data->search_hidden = (GtkWidget*)gtk_builder_get_object( builder, "search_hidden" ); /* size & date */ data->use_size_lower = (GtkWidget*)gtk_builder_get_object( builder, "use_size_lower" ); data->use_size_upper = (GtkWidget*)gtk_builder_get_object( builder, "use_size_upper" ); data->size_lower = (GtkWidget*)gtk_builder_get_object( builder, "size_lower" ); data->size_upper = (GtkWidget*)gtk_builder_get_object( builder, "size_upper" ); data->size_lower_unit = (GtkWidget*)gtk_builder_get_object( builder, "size_lower_unit" ); data->size_upper_unit = (GtkWidget*)gtk_builder_get_object( builder, "size_upper_unit" ); g_signal_connect( data->use_size_lower, "toggled", G_CALLBACK( on_use_size_lower_toggled ), data ); g_signal_connect( data->use_size_upper, "toggled", G_CALLBACK( on_use_size_upper_toggled ), data ); on_use_size_lower_toggled( data->use_size_lower, data ); on_use_size_upper_toggled( data->use_size_upper, data ); data->date_limit = (GtkWidget*)gtk_builder_get_object( builder, "date_limit" ); data->date1 = (GtkWidget*)gtk_builder_get_object( builder, "date1" ); data->date2 = (GtkWidget*)gtk_builder_get_object( builder, "date2" ); g_signal_connect( data->date_limit, "changed", G_CALLBACK( on_date_limit_changed ), data ); /* file types */ data->all_files = (GtkWidget*)gtk_builder_get_object( builder, "all_files" ); data->text_files = (GtkWidget*)gtk_builder_get_object( builder, "text_files" ); data->img_files = (GtkWidget*)gtk_builder_get_object( builder, "img_files" ); data->audio_files = (GtkWidget*)gtk_builder_get_object( builder, "audio_files" ); data->video_files = (GtkWidget*)gtk_builder_get_object( builder, "video_files" ); /* places */ data->places_list = gtk_list_store_new( 1, G_TYPE_STRING ); data->places_view = (GtkWidget*)gtk_builder_get_object( builder, "places_view" ); add_folder_btn = (GtkWidget*)gtk_builder_get_object( builder, "add_folder_btn" ); remove_folder_btn = (GtkWidget*)gtk_builder_get_object( builder, "remove_folder_btn" ); data->include_sub = (GtkWidget*)gtk_builder_get_object( builder, "include_sub" ); if( search_dirs ) { const char** dir; for( dir = search_dirs; *dir; ++dir ) { if( g_file_test( *dir, G_FILE_TEST_IS_DIR ) ) gtk_list_store_insert_with_values( data->places_list, &it, 0, 0, *dir, -1 ); } } gtk_tree_view_set_model( (GtkTreeView*)data->places_view, (GtkTreeModel*)data->places_list ); g_object_unref( data->places_list ); col = gtk_tree_view_column_new_with_attributes(NULL, gtk_cell_renderer_text_new(), "text", 0, NULL ); gtk_tree_view_append_column( (GtkTreeView*)data->places_view, col ); g_signal_connect(add_folder_btn, "clicked", G_CALLBACK( on_add_search_folder ), data ); g_signal_connect(remove_folder_btn, "clicked", G_CALLBACK( on_remove_search_folder ), data ); /* search result pane */ data->search_result = (GtkWidget*)gtk_builder_get_object( builder, "search_result" ); /* replace the problematic GtkTreeView with ExoTreeView */ data->result_view = exo_tree_view_new(); if( app_settings.single_click ) { exo_tree_view_set_single_click( EXO_TREE_VIEW( data->result_view ), TRUE ); exo_tree_view_set_single_click_timeout( EXO_TREE_VIEW( data->result_view ), SINGLE_CLICK_TIMEOUT ); } gtk_widget_show( data->result_view ); gtk_container_add( (GtkContainer*)gtk_builder_get_object(builder, "result_scroll"), data->result_view ); init_search_result( data ); g_signal_connect(data->result_view, "button-press-event", G_CALLBACK( on_view_button_press ), data ); /* buttons */ data->start_btn = (GtkWidget*)gtk_builder_get_object( builder, "start_btn" ); data->stop_btn = (GtkWidget*)gtk_builder_get_object( builder, "stop_btn" ); data->again_btn = (GtkWidget*)gtk_builder_get_object( builder, "again_btn" ); img = gtk_image_new_from_icon_name( GTK_STOCK_REFRESH, GTK_ICON_SIZE_BUTTON ); gtk_button_set_image( (GtkButton*)data->again_btn, img ); g_signal_connect(data->start_btn, "clicked", G_CALLBACK( on_start_search ), data ); g_signal_connect(data->stop_btn, "clicked", G_CALLBACK( on_stop_search ), data ); g_signal_connect(data->again_btn, "clicked", G_CALLBACK( on_search_again ), data ); gtk_entry_set_text( (GtkEntry*)data->fn_pattern_entry, "*" ); gtk_editable_select_region( (GtkEditable*)data->fn_pattern_entry, 0, -1 ); gtk_combo_box_set_active( (GtkComboBox*)data->size_lower_unit, 1 ); gtk_spin_button_set_range( (GtkSpinButton*)data->size_lower, 0, G_MAXINT ); gtk_combo_box_set_active( (GtkComboBox*)data->size_upper_unit, 2 ); gtk_spin_button_set_range( (GtkSpinButton*)data->size_upper, 0, G_MAXINT ); gtk_combo_box_set_active( (GtkComboBox*)data->date_limit, 0 ); g_signal_connect( data->win, "delete-event", G_CALLBACK(gtk_widget_destroy), NULL ); pcmanfm_ref(); g_signal_connect( data->win, "destroy", G_CALLBACK(pcmanfm_unref), NULL ); int width = xset_get_int( "main_search", "x" ); int height = xset_get_int( "main_search", "y" ); if ( width && height ) gtk_window_set_default_size( GTK_WINDOW( data->win ), width, height ); gtk_widget_show( data->win ); }
void dlg_add_to_catalog (GthBrowser *browser, GList *list) { DialogData *data; GFile *base; GtkTreeSelection *selection; data = g_new0 (DialogData, 1); data->browser = browser; data->builder = _gtk_builder_new_from_file ("add-to-catalog.ui", "catalogs"); data->dialog = _gtk_builder_get_widget (data->builder, "add_to_catalog_dialog"); data->add_data = g_new0 (AddData, 1); data->add_data->browser = browser; data->add_data->parent_window = data->add_data->dialog = data->dialog; data->add_data->files = _g_object_list_ref (list); base = g_file_new_for_uri ("catalog:///"); data->source_tree = gth_source_tree_new (base); g_object_unref (base); gtk_widget_show (data->source_tree); gtk_container_add (GTK_CONTAINER (GET_WIDGET ("catalog_list_scrolled_window")), data->source_tree); gtk_label_set_mnemonic_widget (GTK_LABEL (GET_WIDGET ("catalogs_label")), data->source_tree); gtk_widget_set_sensitive (GTK_WIDGET (GET_WIDGET ("add_button")), FALSE); /* Set the signals handlers. */ g_signal_connect (G_OBJECT (data->dialog), "destroy", G_CALLBACK (destroy_cb), data); g_signal_connect_swapped (G_OBJECT (GET_WIDGET ("cancel_button")), "clicked", G_CALLBACK (gtk_widget_destroy), G_OBJECT (data->dialog)); g_signal_connect (G_OBJECT (data->source_tree), "open", G_CALLBACK (source_tree_open_cb), data); g_signal_connect (G_OBJECT (GET_WIDGET ("add_button")), "clicked", G_CALLBACK (add_button_clicked_cb), data); g_signal_connect (G_OBJECT (GET_WIDGET ("new_catalog_button")), "clicked", G_CALLBACK (new_catalog_button_clicked_cb), data); g_signal_connect (G_OBJECT (GET_WIDGET ("new_library_button")), "clicked", G_CALLBACK (new_library_button_clicked_cb), data); selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (data->source_tree)); g_signal_connect (selection, "changed", G_CALLBACK (source_tree_selection_changed_cb), data); /* run dialog. */ gtk_window_set_transient_for (GTK_WINDOW (data->dialog), GTK_WINDOW (browser)); gtk_window_set_modal (GTK_WINDOW (data->dialog), TRUE); gtk_widget_show (data->dialog); }