static void device_chooser_changed_cb (GtkWidget *widget, DialogData *data) { GtkTreeIter iter; GMount *mount; if (! gtk_combo_box_get_active_iter (GTK_COMBO_BOX (data->device_chooser), &iter)) { _g_clear_object (&data->source); _g_clear_object (&data->last_source); gth_file_list_clear (GTH_FILE_LIST (data->file_list), _("(Empty)")); return; } gtk_tree_model_get (GTK_TREE_MODEL (data->device_list_store), &iter, SOURCE_LIST_COLUMN_MOUNT, &mount, -1); if (mount == NULL) { _g_clear_object (&data->source); _g_clear_object (&data->last_source); gth_file_list_clear (GTH_FILE_LIST (data->file_list), _("Empty")); return; } _g_object_unref (data->source); data->source = g_mount_get_root (mount); load_file_list (data); g_object_unref (mount); }
static void gth_file_tool_adjust_contrast_destroy_options (GthFileTool *base) { GthFileToolAdjustContrast *self; GtkWidget *window; GtkWidget *viewer_page; self = (GthFileToolAdjustContrast *) base; if (self->priv->apply_event != 0) { g_source_remove (self->priv->apply_event); self->priv->apply_event = 0; } window = gth_file_tool_get_window (GTH_FILE_TOOL (self)); viewer_page = gth_browser_get_viewer_page (GTH_BROWSER (window)); gth_image_viewer_page_reset_viewer_tool (GTH_IMAGE_VIEWER_PAGE (viewer_page)); gth_viewer_page_update_sensitivity (GTH_VIEWER_PAGE (viewer_page)); _g_clear_object (&self->priv->builder); _cairo_clear_surface (&self->priv->preview); _cairo_clear_surface (&self->priv->destination); self->priv->method = GTH_FILTER_GRID_NO_FILTER; self->priv->last_applied_method = GTH_FILTER_GRID_NO_FILTER; }
static void list_source_files (gpointer user_data) { DialogData *data = user_data; GList *list; _g_clear_object (&data->last_source); _g_object_list_unref (data->files); data->files = NULL; if (data->source == NULL) { gth_file_list_clear (GTH_FILE_LIST (data->file_list), _("(Empty)")); update_sensitivity (data); return; } gth_file_list_clear (GTH_FILE_LIST (data->file_list), _("Getting the folder content…")); data->loading_list = TRUE; list = g_list_prepend (NULL, data->source); _g_query_all_metadata_async (list, GTH_LIST_RECURSIVE | GTH_LIST_NO_HIDDEN_FILES | GTH_LIST_NO_BACKUP_FILES, DEFINE_STANDARD_ATTRIBUTES (",preview::icon,standard::fast-content-type,gth::file::display-size"), data->cancellable, list_ready_cb, data); g_list_free (list); }
static void export_dialog_response_cb (GtkDialog *dialog, int response_id, gpointer user_data) { DialogData *data = user_data; switch (response_id) { case GTK_RESPONSE_HELP: show_help_dialog (GTK_WINDOW (data->browser), "export-to-picasaweb"); break; case GTK_RESPONSE_DELETE_EVENT: case GTK_RESPONSE_CANCEL: picasa_web_accounts_save_to_file (data->accounts, data->email); gth_file_list_cancel (GTH_FILE_LIST (data->list_view), (DataFunc) destroy_dialog, data); break; case GTK_RESPONSE_OK: { GtkTreeModel *tree_model; GtkTreeIter iter; GList *file_list; if (! gtk_tree_selection_get_selected (gtk_tree_view_get_selection (GTK_TREE_VIEW (GET_WIDGET ("albums_treeview"))), &tree_model, &iter)) { gtk_widget_set_sensitive (GET_WIDGET ("upload_button"), FALSE); return; } _g_clear_object (&data->album); gtk_tree_model_get (tree_model, &iter, ALBUM_DATA_COLUMN, &data->album, -1); gtk_widget_hide (data->dialog); gth_task_dialog (GTH_TASK (data->conn), FALSE); file_list = gth_file_data_list_to_file_list (data->file_list); picasa_web_service_post_photos (data->picasaweb, data->album, file_list, data->cancellable, post_photos_ready_cb, data); _g_object_list_unref (file_list); } break; default: break; } }
static void gth_file_tool_resize_destroy_options (GthFileTool *base) { GthFileToolResize *self; GtkWidget *window; GtkWidget *viewer_page; GtkWidget *viewer; GSettings *viewer_settings; self = (GthFileToolResize *) base; if (self->priv->update_size_id != 0) { g_source_remove (self->priv->update_size_id); self->priv->update_size_id = 0; } if (self->priv->builder != NULL) { int unit; /* save the dialog options */ unit = gtk_combo_box_get_active (GTK_COMBO_BOX (GET_WIDGET ("unit_combobox"))); g_settings_set_enum (self->priv->settings, PREF_RESIZE_UNIT, unit); g_settings_set_double (self->priv->settings, PREF_RESIZE_WIDTH, (float) gtk_spin_button_get_value (GTK_SPIN_BUTTON (GET_WIDGET ("resize_width_spinbutton")))); g_settings_set_double (self->priv->settings, PREF_RESIZE_HEIGHT, (float) gtk_spin_button_get_value (GTK_SPIN_BUTTON (GET_WIDGET ("resize_height_spinbutton")))); g_settings_set_int (self->priv->settings, PREF_RESIZE_ASPECT_RATIO_WIDTH, gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON (GET_WIDGET ("ratio_w_spinbutton")))); g_settings_set_int (self->priv->settings, PREF_RESIZE_ASPECT_RATIO_HEIGHT, gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON (GET_WIDGET ("ratio_h_spinbutton")))); g_settings_set_enum (self->priv->settings, PREF_RESIZE_ASPECT_RATIO, gtk_combo_box_get_active (GTK_COMBO_BOX (self->priv->ratio_combobox))); g_settings_set_boolean (self->priv->settings, PREF_RESIZE_ASPECT_RATIO_INVERT, gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("invert_ratio_checkbutton")))); g_settings_set_boolean (self->priv->settings, PREF_RESIZE_HIGH_QUALITY, gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("high_quality_checkbutton")))); /* destroy the options data */ _cairo_clear_surface (&self->priv->new_image); _cairo_clear_surface (&self->priv->preview); _g_clear_object (&self->priv->builder); } window = gth_file_tool_get_window (GTH_FILE_TOOL (self)); viewer_page = gth_browser_get_viewer_page (GTH_BROWSER (window)); gth_image_viewer_page_reset_viewer_tool (GTH_IMAGE_VIEWER_PAGE (viewer_page)); /* restore the zoom quality */ viewer = gth_image_viewer_page_get_image_viewer (GTH_IMAGE_VIEWER_PAGE (viewer_page)); viewer_settings = g_settings_new (GTHUMB_IMAGE_VIEWER_SCHEMA); gth_image_viewer_set_zoom_quality (GTH_IMAGE_VIEWER (viewer), g_settings_get_enum (viewer_settings, PREF_IMAGE_VIEWER_ZOOM_QUALITY)); g_object_unref (viewer_settings); }
static void gth_file_tool_adjust_contrast_finalize (GObject *object) { GthFileToolAdjustContrast *self; g_return_if_fail (object != NULL); g_return_if_fail (GTH_IS_FILE_TOOL_ADJUST_CONTRAST (object)); self = (GthFileToolAdjustContrast *) object; _g_clear_object (&self->priv->builder); _cairo_clear_surface (&self->priv->preview); _cairo_clear_surface (&self->priv->destination); G_OBJECT_CLASS (gth_file_tool_adjust_contrast_parent_class)->finalize (object); }
static void export_dialog_response_cb (GtkDialog *dialog, int response_id, gpointer user_data) { DialogData *data = user_data; switch (response_id) { case GTK_RESPONSE_DELETE_EVENT: case GTK_RESPONSE_CANCEL: gth_file_list_cancel (GTH_FILE_LIST (data->list_view), (DataFunc) destroy_dialog, data); break; case GTK_RESPONSE_OK: { GtkTreeModel *tree_model; GtkTreeIter iter; GList *file_list; int max_width; int max_height; if (! gtk_tree_selection_get_selected (gtk_tree_view_get_selection (GTK_TREE_VIEW (GET_WIDGET ("albums_treeview"))), &tree_model, &iter)) { gtk_dialog_set_response_sensitive (GTK_DIALOG (data->dialog), GTK_RESPONSE_OK, FALSE); return; } _g_clear_object (&data->album); gtk_tree_model_get (tree_model, &iter, ALBUM_DATA_COLUMN, &data->album, -1); gtk_widget_hide (data->dialog); gth_task_dialog (GTH_TASK (data->service), FALSE, NULL); file_list = gth_file_data_list_to_file_list (data->file_list); max_width = -1; max_height = -1; if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("resize_checkbutton")))) { int idx = gtk_combo_box_get_active (GTK_COMBO_BOX (GET_WIDGET ("resize_combobox"))); max_width = ImageSizeValues[idx].width; max_height = ImageSizeValues[idx].height; } g_settings_set_int (data->settings, PREF_PICASAWEB_RESIZE_WIDTH, max_width); g_settings_set_int (data->settings, PREF_PICASAWEB_RESIZE_HEIGHT, max_height); picasa_web_service_post_photos (data->service, data->album, file_list, max_width, max_height, data->cancellable, post_photos_ready_cb, data); _g_object_list_unref (file_list); } break; default: break; } }