static void ok_clicked_cb (GtkWidget *widget, DialogData *data) { char *s_value; GFile *destination; const char *template; char *mime_type; char *file_extension; GthContactSheetTheme *theme; int images_per_index; int single_page; int columns; GthFileDataSort *sort_type; gboolean sort_inverse; int thumbnail_size; GtkTreeIter iter; GthTask *task; /* save the options */ s_value = gtk_file_chooser_get_uri (GTK_FILE_CHOOSER (GET_WIDGET ("destination_filechooserbutton"))); destination = g_file_new_for_uri (s_value); _g_settings_set_uri (data->settings, PREF_IMAGE_WALL_DESTINATION, s_value); g_free (s_value);
static void update_settings (DialogData *data) { char *uri; uri = gtk_file_chooser_get_uri (GTK_FILE_CHOOSER (gtk_builder_get_object (data->builder, "screenshots_filechooserbutton"))); if (uri == NULL) return; _g_settings_set_uri (data->settings, PREF_GSTREAMER_TOOLS_SCREESHOT_LOCATION, uri); g_free (uri); }
static void ok_clicked_cb (GtkWidget *widget, DialogData *data) { char *s_value; GFile *destination; int i_value; const char *header; const char *footer; const char *image_page_header; const char *image_page_footer; char *thumbnail_caption; char *image_attributes; GtkTreeIter iter; char *theme_name; GthFileDataSort *sort_type; GthTask *task; /* save the options */ s_value = gtk_file_chooser_get_uri (GTK_FILE_CHOOSER (GET_WIDGET ("destination_filechooserbutton"))); destination = g_file_new_for_uri (s_value); _g_settings_set_uri (data->settings, PREF_WEBALBUMS_DESTINATION, s_value); g_free (s_value); g_settings_set_boolean (data->settings, PREF_WEBALBUMS_COPY_IMAGES, gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("copy_images_checkbutton")))); g_settings_set_boolean (data->settings, PREF_WEBALBUMS_RESIZE_IMAGES, gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("resize_images_checkbutton")))); i_value = gtk_combo_box_get_active (GTK_COMBO_BOX (GET_WIDGET ("resize_images_combobox"))); g_settings_set_int (data->settings, PREF_WEBALBUMS_RESIZE_WIDTH, ImageSizeValues[i_value].width); g_settings_set_int (data->settings, PREF_WEBALBUMS_RESIZE_HEIGHT, ImageSizeValues[i_value].height); g_settings_set_int (data->settings, PREF_WEBALBUMS_IMAGES_PER_INDEX, gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON (GET_WIDGET ("images_per_index_spinbutton")))); g_settings_set_boolean (data->settings, PREF_WEBALBUMS_SINGLE_INDEX, gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("single_index_checkbutton")))); g_settings_set_int (data->settings, PREF_WEBALBUMS_COLUMNS, gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON (GET_WIDGET ("cols_spinbutton")))); g_settings_set_boolean (data->settings, PREF_WEBALBUMS_ADAPT_TO_WIDTH, gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("adapt_column_checkbutton")))); if (gtk_combo_box_get_active_iter (GTK_COMBO_BOX (GET_WIDGET ("sort_combobox")), &iter)) { GthFileDataSort *sort_type; gtk_tree_model_get (GTK_TREE_MODEL (GET_WIDGET ("sort_liststore")), &iter, SORT_TYPE_COLUMN_DATA, &sort_type, -1); g_settings_set_string (data->settings, PREF_WEBALBUMS_SORT_TYPE, sort_type->name); } g_settings_set_boolean (data->settings, PREF_WEBALBUMS_SORT_INVERSE, gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("reverse_order_checkbutton")))); header = gtk_entry_get_text (GTK_ENTRY (GET_WIDGET ("header_entry"))); g_settings_set_string (data->settings, PREF_WEBALBUMS_HEADER, header); footer = gtk_entry_get_text (GTK_ENTRY (GET_WIDGET ("footer_entry"))); g_settings_set_string (data->settings, PREF_WEBALBUMS_FOOTER, footer); image_page_header = gtk_entry_get_text (GTK_ENTRY (GET_WIDGET ("image_page_header_entry"))); g_settings_set_string (data->settings, PREF_WEBALBUMS_IMAGE_PAGE_HEADER, image_page_header); image_page_footer = gtk_entry_get_text (GTK_ENTRY (GET_WIDGET ("image_page_footer_entry"))); g_settings_set_string (data->settings, PREF_WEBALBUMS_IMAGE_PAGE_FOOTER, image_page_footer); theme_name = NULL; { GList *list; list = gtk_icon_view_get_selected_items (GTK_ICON_VIEW (GET_WIDGET ("theme_iconview"))); if (list != NULL) { GtkTreePath *path; GtkTreeIter iter; path = g_list_first (list)->data; gtk_tree_model_get_iter (GTK_TREE_MODEL (GET_WIDGET ("theme_liststore")), &iter, path); gtk_tree_model_get (GTK_TREE_MODEL (GET_WIDGET ("theme_liststore")), &iter, THEME_COLUMN_NAME, &theme_name, -1); } g_list_foreach (list, (GFunc) gtk_tree_path_free, NULL); g_list_free (list); } g_return_if_fail (theme_name != NULL); g_settings_set_string (data->settings, PREF_WEBALBUMS_THEME, theme_name); g_settings_set_boolean (data->settings, PREF_WEBALBUMS_ENABLE_THUMBNAIL_CAPTION, gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("thumbnail_caption_checkbutton")))); thumbnail_caption = gth_metadata_chooser_get_selection (GTH_METADATA_CHOOSER (data->thumbnail_caption_chooser)); g_settings_set_string (data->settings, PREF_WEBALBUMS_THUMBNAIL_CAPTION, thumbnail_caption); g_settings_set_boolean (data->settings, PREF_WEBALBUMS_ENABLE_IMAGE_ATTRIBUTES, gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("image_attributes_checkbutton")))); g_settings_set_boolean (data->settings, PREF_WEBALBUMS_ENABLE_IMAGE_DESCRIPTION, gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("image_description_checkbutton")))); image_attributes = gth_metadata_chooser_get_selection (GTH_METADATA_CHOOSER (data->image_attributes_chooser)); g_settings_set_string (data->settings, PREF_WEBALBUMS_IMAGE_ATTRIBUTES, image_attributes); /* exec the task */ task = gth_web_exporter_new (data->browser, data->file_list); gth_web_exporter_set_header (GTH_WEB_EXPORTER (task), header); gth_web_exporter_set_footer (GTH_WEB_EXPORTER (task), footer); gth_web_exporter_set_image_page_header (GTH_WEB_EXPORTER (task), image_page_header); gth_web_exporter_set_image_page_footer (GTH_WEB_EXPORTER (task), image_page_footer); gth_web_exporter_set_style (GTH_WEB_EXPORTER (task), theme_name); gth_web_exporter_set_destination (GTH_WEB_EXPORTER (task), destination); gth_web_exporter_set_copy_images (GTH_WEB_EXPORTER (task), g_settings_get_boolean (data->settings, PREF_WEBALBUMS_COPY_IMAGES)); gth_web_exporter_set_resize_images (GTH_WEB_EXPORTER (task), g_settings_get_boolean (data->settings, PREF_WEBALBUMS_RESIZE_IMAGES), g_settings_get_int (data->settings, PREF_WEBALBUMS_RESIZE_WIDTH), g_settings_get_int (data->settings, PREF_WEBALBUMS_RESIZE_HEIGHT)); s_value = g_settings_get_string (data->settings, PREF_WEBALBUMS_SORT_TYPE); sort_type = gth_main_get_sort_type (s_value); gth_web_exporter_set_sort_order (GTH_WEB_EXPORTER (task), sort_type, g_settings_get_boolean (data->settings, PREF_WEBALBUMS_SORT_INVERSE)); g_free (s_value); gth_web_exporter_set_images_per_index (GTH_WEB_EXPORTER (task), g_settings_get_int (data->settings, PREF_WEBALBUMS_IMAGES_PER_INDEX)); gth_web_exporter_set_single_index (GTH_WEB_EXPORTER (task), g_settings_get_boolean (data->settings, PREF_WEBALBUMS_SINGLE_INDEX)); gth_web_exporter_set_columns (GTH_WEB_EXPORTER (task), g_settings_get_int (data->settings, PREF_WEBALBUMS_COLUMNS)); gth_web_exporter_set_adapt_to_width (GTH_WEB_EXPORTER (task), g_settings_get_boolean (data->settings, PREF_WEBALBUMS_ADAPT_TO_WIDTH)); gth_web_exporter_set_thumbnail_caption (GTH_WEB_EXPORTER (task), gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("thumbnail_caption_checkbutton"))) ? thumbnail_caption : ""); gth_web_exporter_set_image_attributes (GTH_WEB_EXPORTER (task), gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("image_description_checkbutton"))), gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("image_attributes_checkbutton"))) ? image_attributes : ""); gth_browser_exec_task (data->browser, task, FALSE); gtk_widget_destroy (data->dialog); g_object_unref (task); g_free (image_attributes); g_free (thumbnail_caption); g_free (theme_name); g_object_unref (destination); }