static void copy_from_menu_item_activate_cb (GtkMenuItem *menu_item, gpointer user_data) { GthContactSheetThemeDialog *self = user_data; char *display_name; GFile *file; GthContactSheetTheme *theme; if ((self->priv->theme != NULL) && (self->priv->theme->file != NULL)) file = g_file_dup (self->priv->theme->file); else file = NULL; display_name = g_strdup (gtk_entry_get_text (GTK_ENTRY (GET_WIDGET ("name_entry")))); theme = g_object_get_data (G_OBJECT (menu_item), "theme"); if (theme != NULL) update_controls_from_theme (self, theme); gtk_entry_set_text (GTK_ENTRY (GET_WIDGET ("name_entry")), display_name); _g_object_unref (self->priv->theme->file); self->priv->theme->file = _g_object_ref (file); g_free (display_name); _g_object_unref (file); }
static void gth_media_viewer_page_finalize (GObject *obj) { GthMediaViewerPage *self; self = GTH_MEDIA_VIEWER_PAGE (obj); if (self->priv->update_progress_id != 0) { g_source_remove (self->priv->update_progress_id); self->priv->update_progress_id = 0; } if (self->priv->update_volume_id != 0) { g_source_remove (self->priv->update_volume_id); self->priv->update_volume_id = 0; } if (self->priv->playbin != NULL) { save_volume (self); gst_element_set_state (self->priv->playbin, GST_STATE_NULL); gst_object_unref (GST_OBJECT (self->priv->playbin)); self->priv->playbin = NULL; } _g_object_unref (self->priv->icon); _g_object_unref (self->priv->file_data); if (self->priv->screensaver != NULL) { gth_screensaver_uninhibit (self->priv->screensaver); g_object_unref (self->priv->screensaver); } G_OBJECT_CLASS (gth_media_viewer_page_parent_class)->finalize (obj); }
static void process_current_file (GthPixbufListTask *self) { GthFileData *file_data; GList *singleton; if (self->priv->current == NULL) { gth_task_completed (GTH_TASK (self), NULL); return; } _g_object_unref (self->priv->original_pixbuf); self->priv->original_pixbuf = NULL; _g_object_unref (self->priv->new_pixbuf); self->priv->new_pixbuf = NULL; gth_task_progress (GTH_TASK (self), NULL, NULL, FALSE, ((double) self->priv->n_current + 1) / (self->priv->n_files + 1)); file_data = self->priv->current->data; singleton = g_list_append (NULL, g_object_ref (file_data->file)); _g_query_all_metadata_async (singleton, FALSE, TRUE, "*", gth_task_get_cancellable (GTH_TASK (self)), file_info_ready_cb, self); _g_object_list_unref (singleton); }
static void add_data_free (AddData *add_data) { _g_object_unref (add_data->catalog); _g_object_list_unref (add_data->files); _g_object_unref (add_data->catalog_file); g_free (add_data); }
static void save_date_free (SaveData *save_data) { _g_object_unref (save_data->file_data); _g_object_unref (save_data->image); _g_object_unref (save_data->settings); g_free (save_data); }
static void save_arguments_free (SaveArguments *arguments) { _g_object_unref (arguments->image); g_free (arguments->mime_type); _g_object_unref (arguments->file_data); _g_object_unref (arguments->cancellable); g_free (arguments); }
static void gth_image_saver_png_finalize (GObject *object) { GthImageSaverPng *self = GTH_IMAGE_SAVER_PNG (object); _g_object_unref (self->priv->builder); _g_object_unref (self->priv->settings); G_OBJECT_CLASS (gth_image_saver_png_parent_class)->finalize (object); }
static void gth_image_save_data_free (GthImageSaveData *data) { _g_object_unref (data->cancellable); _g_object_unref (data->file_data); g_object_unref (data->image); g_list_foreach (data->files, (GFunc) gth_image_save_file_free, NULL); g_list_free (data->files); g_free (data); }
static void gth_thumb_loader_finalize (GObject *object) { GthThumbLoader *self; self = GTH_THUMB_LOADER (object); _g_object_unref (self->priv->iloader); _g_object_unref (self->priv->tloader); G_OBJECT_CLASS (gth_thumb_loader_parent_class)->finalize (object); }
static void gth_image_saver_jpeg_finalize (GObject *object) { GthImageSaverJpeg *self = GTH_IMAGE_SAVER_JPEG (object); _g_object_unref (self->priv->settings); _g_object_unref (self->priv->builder); g_free (self->priv->default_ext); G_OBJECT_CLASS (gth_image_saver_jpeg_parent_class)->finalize (object); }
static void gth_media_viewer_page_real_view (GthViewerPage *base, GthFileData *file_data) { GthMediaViewerPage *self; char *uri; self = (GthMediaViewerPage*) base; g_return_if_fail (file_data != NULL); if (! gstreamer_init ()) return; gth_viewer_page_focus (GTH_VIEWER_PAGE (self)); if ((self->priv->file_data != NULL) && g_file_equal (file_data->file, self->priv->file_data->file) && (gth_file_data_get_mtime (file_data) == gth_file_data_get_mtime (self->priv->file_data))) { return; } /**/ _g_object_unref (self->priv->file_data); self->priv->file_data = gth_file_data_dup (file_data); self->priv->duration = 0; _g_object_unref (self->priv->icon); self->priv->icon = NULL; _gth_media_viewer_page_update_caption (self); /**/ gth_viewer_page_file_loaded (GTH_VIEWER_PAGE (self), TRUE); g_signal_handlers_block_by_func(GET_WIDGET ("adjustment_position"), position_value_changed_cb, self); gtk_adjustment_set_value (GTK_ADJUSTMENT (GET_WIDGET ("adjustment_position")), 0.0); g_signal_handlers_unblock_by_func(GET_WIDGET ("adjustment_position"), position_value_changed_cb, self); reset_player_state (self); if (self->priv->playbin == NULL) return; gst_element_set_state (self->priv->playbin, GST_STATE_NULL); uri = g_file_get_uri (self->priv->file_data->file); g_object_set (G_OBJECT (self->priv->playbin), "uri", uri, NULL); gdk_threads_add_idle (set_to_paused, self); g_free (uri); }
static void gth_media_viewer_page_real_view (GthViewerPage *base, GthFileData *file_data) { GthMediaViewerPage *self; char *uri; self = (GthMediaViewerPage*) base; g_return_if_fail (file_data != NULL); if (! gstreamer_init ()) return; gth_viewer_page_focus (GTH_VIEWER_PAGE (self)); if ((self->priv->file_data != NULL) && g_file_equal (file_data->file, self->priv->file_data->file) && (gth_file_data_get_mtime (file_data) == gth_file_data_get_mtime (self->priv->file_data))) { return; } /**/ _g_object_unref (self->priv->file_data); self->priv->file_data = gth_file_data_dup (file_data); self->priv->duration = 0; self->priv->has_audio = FALSE; self->priv->has_video = FALSE; _g_object_unref (self->priv->icon); self->priv->icon = NULL; _gth_media_viewer_page_update_caption (self); /**/ g_signal_handlers_block_by_func(GET_WIDGET ("position_adjustment"), position_value_changed_cb, self); gtk_adjustment_set_value (GTK_ADJUSTMENT (GET_WIDGET ("position_adjustment")), 0.0); g_signal_handlers_unblock_by_func(GET_WIDGET ("position_adjustment"), position_value_changed_cb, self); reset_player_state (self); create_playbin (self); if (self->priv->playbin == NULL) return; uri = g_file_get_uri (self->priv->file_data->file); _gth_media_viewer_page_set_uri (self, uri, self->priv->visible ? GST_STATE_PLAYING : GST_STATE_PAUSED); g_free (uri); }
static void gth_reorder_task_finalize (GObject *object) { GthReorderTask *self; self = GTH_REORDER_TASK (object); _g_object_list_unref (self->priv->files); _g_object_unref (self->priv->destination); _g_object_unref (self->priv->file_source); G_OBJECT_CLASS (parent_class)->finalize (object); }
static void gth_import_preferences_dialog_finalize (GObject *object) { GthImportPreferencesDialog *self; self = GTH_IMPORT_PREFERENCES_DIALOG (object); _g_object_unref (self->priv->settings); _g_object_unref (self->priv->builder); g_free (self->priv->event); G_OBJECT_CLASS (gth_import_preferences_dialog_parent_class)->finalize (object); }
static void facebook_service_finalize (GObject *object) { FacebookService *self; self = FACEBOOK_SERVICE (object); _g_object_unref (self->priv->conn); _g_object_unref (self->priv->user); post_photos_data_free (self->priv->post_photos); G_OBJECT_CLASS (parent_class)->finalize (object); }
static void import_dialog_destroy_cb (GtkWidget *widget, DialogData *data) { gth_task_completed (GTH_TASK (data->service), NULL); _g_object_unref (data->cancellable); _g_object_unref (data->service); _g_object_list_unref (data->albums); _g_object_unref (data->album); _g_object_list_unref (data->photos); _g_object_unref (data->builder); gtk_widget_destroy (data->progress_dialog); g_free (data); }
static void save_options (GthImportPreferencesDialog *self) { GFile *destination; gboolean single_subfolder; GthSubfolderType subfolder_type; GthSubfolderFormat subfolder_format; const char *custom_format; destination = gth_import_preferences_dialog_get_destination (self); if (destination != NULL) { char *uri; uri = g_file_get_uri (destination); g_settings_set_string (self->priv->settings, PREF_IMPORTER_DESTINATION, uri); g_free (uri); } single_subfolder = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("single_subfolder_checkbutton"))); g_settings_set_boolean (self->priv->settings, PREF_IMPORTER_SUBFOLDER_SINGLE, single_subfolder); subfolder_type = get_subfolder_type (self); g_settings_set_enum (self->priv->settings, PREF_IMPORTER_SUBFOLDER_TYPE, subfolder_type); subfolder_format = gtk_combo_box_get_active (GTK_COMBO_BOX (self->priv->subfolder_format_list)); g_settings_set_enum (self->priv->settings, PREF_IMPORTER_SUBFOLDER_FORMAT, subfolder_format); custom_format = gtk_entry_get_text (GTK_ENTRY (GET_WIDGET ("custom_format_entry"))); g_settings_set_string (self->priv->settings, PREF_IMPORTER_SUBFOLDER_CUSTOM_FORMAT, custom_format); _g_object_unref (destination); }
static void ok_clicked_cb (GtkWidget *widget, DialogData *data) { GList *file_list; GFile *destination; GError *error = NULL; gboolean import; file_list = get_selected_file_list (data); destination = gth_import_preferences_get_destination (); if (! gth_import_task_check_free_space (destination, file_list, &error)) { _gtk_error_dialog_from_gerror_show (GTK_WINDOW (data->dialog), _("Could not import the files"), error); g_clear_error (&error); import = FALSE; } else import = TRUE; _g_object_unref (destination); _g_object_list_unref (file_list); if (! import) return; data->import = TRUE; close_dialog (NULL, data); }
static void list_ready_cb (GList *files, GError *error, gpointer user_data) { DialogData *data = user_data; data->loading_list = FALSE; if (data->cancelling) { gth_file_list_cancel (GTH_FILE_LIST (data->file_list), cancel_done, data); } else if (error != NULL) { _gtk_error_dialog_from_gerror_show (GTK_WINDOW (data->dialog), _("Could not load the folder"), error); } else { _g_object_unref (data->last_source); data->last_source = g_file_dup (data->source); data->files = _g_object_list_ref (files); gth_file_list_set_files (GTH_FILE_LIST (data->file_list), data->files); } update_sensitivity (data); }
static void remove_catalog (GtkWindow *window, GthFileData *file_data) { GFile *gio_file; GError *error = NULL; gio_file = gth_main_get_gio_file (file_data->file); if (g_file_delete (gio_file, NULL, &error)) { GFile *parent; GList *files; parent = g_file_get_parent (file_data->file); files = g_list_prepend (NULL, g_object_ref (file_data->file)); gth_monitor_folder_changed (gth_main_get_default_monitor (), parent, files, GTH_MONITOR_EVENT_DELETED); _g_object_list_unref (files); _g_object_unref (parent); } else { _gtk_error_dialog_from_gerror_show (window, _("Could not remove the catalog"), error); g_clear_error (&error); } g_object_unref (gio_file); }
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 web_service_set_property (GObject *object, guint property_id, const GValue *value, GParamSpec *pspec) { WebService *self = WEB_SERVICE (object); switch (property_id) { case PROP_SERVICE_NAME: _g_strset (&self->priv->service_name, g_value_get_string (value)); break; case PROP_SERVICE_ADDRESS: _g_strset (&self->priv->service_address, g_value_get_string (value)); break; case PROP_SERVICE_PROTOCOL: _g_strset (&self->priv->service_protocol, g_value_get_string (value)); break; case PROP_ACCOUNT_TYPE: self->priv->account_type = g_value_get_gtype (value); break; case PROP_CANCELLABLE: _g_object_unref (self->priv->cancellable); self->priv->cancellable = g_value_dup_object (value); break; case PROP_BROWSER: self->priv->browser = g_value_get_pointer (value); break; case PROP_DIALOG: self->priv->dialog = g_value_get_pointer (value); break; default: break; } }
static void clipboard_targets_received_cb (GtkClipboard *clipboard, GdkAtom *atoms, int n_atoms, gpointer user_data) { GthBrowser *browser = user_data; BrowserData *data; int i; GthFileData *folder; data = g_object_get_data (G_OBJECT (browser), BROWSER_DATA_KEY); data->can_paste = FALSE; for (i = 0; ! data->can_paste && (i < n_atoms); i++) if (atoms[i] == GNOME_COPIED_FILES) data->can_paste = TRUE; set_action_sensitive (data, "Edit_PasteInFolder", data->can_paste); folder = gth_browser_get_folder_popup_file_data (browser); set_action_sensitive (data, "Folder_Paste", (folder != NULL) && data->can_paste && g_file_info_get_attribute_boolean (folder->info, G_FILE_ATTRIBUTE_ACCESS_CAN_WRITE)); _g_object_unref (folder); g_object_unref (browser); }
static void album_combobox_changed_cb (GtkComboBox *widget, gpointer user_data) { DialogData *data = user_data; GtkTreeIter iter; if (! gtk_combo_box_get_active_iter (widget, &iter)) { gth_file_list_clear (GTH_FILE_LIST (data->file_list), _("No album selected")); return; } _g_object_unref (data->album); gtk_tree_model_get (gtk_combo_box_get_model (widget), &iter, ALBUM_DATA_COLUMN, &data->album, -1); gth_import_preferences_dialog_set_event (GTH_IMPORT_PREFERENCES_DIALOG (data->preferences_dialog), data->album->title); gth_task_dialog (GTH_TASK (data->service), FALSE, NULL); picasa_web_service_list_photos (data->service, data->album, data->cancellable, list_photos_ready_cb, data); }
static void web_service_finalize (GObject *object) { WebService *self = WEB_SERVICE (object); _g_object_unref (self->priv->account); _g_object_list_unref (self->priv->accounts); _g_object_unref (self->priv->result); _g_object_unref (self->priv->cancellable); _g_object_unref (self->priv->session); g_free (self->priv->service_protocol); g_free (self->priv->service_address); g_free (self->priv->service_name); G_OBJECT_CLASS (web_service_parent_class)->finalize (object); }
static void photoset_combobox_changed_cb (GtkComboBox *widget, gpointer user_data) { DialogData *data = user_data; GtkTreeIter iter; if (! gtk_combo_box_get_active_iter (widget, &iter)) { gth_file_list_clear (GTH_FILE_LIST (data->file_list), _("No album selected")); return; } _g_object_unref (data->photoset); gtk_tree_model_get (gtk_combo_box_get_model (widget), &iter, PHOTOSET_DATA_COLUMN, &data->photoset, -1); gth_import_preferences_dialog_set_event (GTH_IMPORT_PREFERENCES_DIALOG (data->preferences_dialog), data->photoset->title); gth_task_dialog (GTH_TASK (data->service), FALSE, NULL); flickr_service_list_photos (data->service, data->photoset, "original_format, url_sq, url_t, url_s, url_m, url_z, url_b, url_o", data->cancellable, list_photos_ready_cb, data); }
static void account_chooser_dialog_response_cb (GtkDialog *dialog, int response_id, gpointer user_data) { WebService *self = user_data; switch (response_id) { case GTK_RESPONSE_DELETE_EVENT: case GTK_RESPONSE_CANCEL: gtk_widget_destroy (GTK_WIDGET (dialog)); gtk_dialog_response (GTK_DIALOG (self->priv->dialog), GTK_RESPONSE_DELETE_EVENT); break; case GTK_RESPONSE_OK: _g_object_unref (self->priv->account); self->priv->account = oauth_account_chooser_dialog_get_active (OAUTH_ACCOUNT_CHOOSER_DIALOG (dialog)); if (self->priv->account != NULL) { gtk_widget_destroy (GTK_WIDGET (dialog)); connect_to_server (self); } break; case OAUTH_ACCOUNT_CHOOSER_RESPONSE_NEW: gtk_widget_destroy (GTK_WIDGET (dialog)); web_service_ask_authorization (self); break; default: break; } }
void gth_browser_activate_import_folder (GSimpleAction *action, GVariant *parameter, gpointer user_data) { GthBrowser *browser = GTH_BROWSER (user_data); GtkWidget *chooser; GFile *folder; chooser = gtk_file_chooser_dialog_new (_("Choose a folder"), GTK_WINDOW (browser), GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER, _GTK_LABEL_CANCEL, GTK_RESPONSE_CANCEL, _("Import"), GTK_RESPONSE_OK, NULL); _gtk_dialog_add_class_to_response (GTK_DIALOG (chooser), GTK_RESPONSE_OK, GTK_STYLE_CLASS_SUGGESTED_ACTION); gtk_file_chooser_set_local_only (GTK_FILE_CHOOSER (chooser), FALSE); folder = NULL; if (GTH_IS_FILE_SOURCE_VFS (gth_browser_get_location_source (browser))) folder = _g_object_ref (gth_browser_get_location (browser)); if (folder == NULL) folder = g_file_new_for_uri (get_home_uri ()); gtk_file_chooser_set_file (GTK_FILE_CHOOSER (chooser), folder, NULL); g_signal_connect (chooser, "response", G_CALLBACK (folder_chooser_response_cb), browser); gtk_widget_show (chooser); _g_object_unref (folder); }
void gth_pixbuf_list_task_set_destination (GthPixbufListTask *self, GFile *folder) { _g_object_unref (self->priv->destination_folder); self->priv->destination_folder = _g_object_ref (folder); }
static void picasa_web_service_get_user_info_ready_cb (SoupSession *session, SoupMessage *msg, gpointer user_data) { PicasaWebService *self = user_data; GSimpleAsyncResult *result; GError *error = NULL; JsonNode *node; result = _web_service_get_result (WEB_SERVICE (self)); if (picasa_web_utils_parse_json_response (msg, &node, &error)) { OAuthAccount *account; account = (OAuthAccount *) json_gobject_deserialize (OAUTH_TYPE_ACCOUNT, node); g_object_set (account, "token", self->priv->access_token, "token-secret", self->priv->refresh_token, NULL); g_simple_async_result_set_op_res_gpointer (result, g_object_ref (account), (GDestroyNotify) g_object_unref); _g_object_unref (account); json_node_free (node); } else g_simple_async_result_set_from_error (result, error); g_simple_async_result_complete_in_idle (result); }