static void gth_file_store_finalize (GObject *object) { GthFileStore *file_store; file_store = GTH_FILE_STORE (object); _gth_file_store_free_rows (file_store); _g_object_unref (file_store->priv->filter); G_OBJECT_CLASS (gth_file_store_parent_class)->finalize (object); }
void ss__gth_browser_update_sensitivity_cb (GthBrowser *browser) { BrowserData *data; GtkTreeModel *file_store; gboolean sensitive; data = g_object_get_data (G_OBJECT (browser), BROWSER_DATA_KEY); g_return_if_fail (data != NULL); file_store = gth_file_view_get_model (GTH_FILE_VIEW (gth_browser_get_file_list_view (browser))); sensitive = (gth_file_store_n_visibles (GTH_FILE_STORE (file_store)) > 0); set_action_sensitive (data, "View_Slideshow", sensitive); }
static GList * get_files_to_download (DialogData *data) { GthFileView *file_view; GList *selected; GList *file_list; file_view = (GthFileView *) gth_file_list_get_view (GTH_FILE_LIST (data->file_list)); selected = gth_file_selection_get_selected (GTH_FILE_SELECTION (file_view)); if (selected != NULL) file_list = gth_file_list_get_files (GTH_FILE_LIST (data->file_list), selected); else file_list = gth_file_store_get_visibles (GTH_FILE_STORE (gth_file_view_get_model (file_view))); _gtk_tree_path_list_free (selected); return file_list; }
static GList * get_selected_file_list (DialogData *data) { GList *file_list = NULL; GtkWidget *file_view; GList *items; file_view = gth_file_list_get_view (GTH_FILE_LIST (data->file_list)); items = gth_file_selection_get_selected (GTH_FILE_SELECTION (file_view)); if (items != NULL) file_list = gth_file_list_get_files (GTH_FILE_LIST (data->file_list), items); else file_list = gth_file_store_get_visibles (GTH_FILE_STORE (gth_file_view_get_model (GTH_FILE_VIEW (file_view)))); _gtk_tree_path_list_free (items); return file_list; }
static void update_status (DialogData *data) { GtkWidget *file_view; int n_selected; goffset size; GList *selected; GList *file_list; GList *scan; char *ssize; char *status; file_view = gth_file_list_get_view (GTH_FILE_LIST (data->file_list)); selected = gth_file_selection_get_selected (GTH_FILE_SELECTION (file_view)); if (selected != NULL) file_list = gth_file_list_get_files (GTH_FILE_LIST (data->file_list), selected); else file_list = gth_file_store_get_visibles (GTH_FILE_STORE (gth_file_view_get_model (GTH_FILE_VIEW (file_view)))); n_selected = 0; size = 0; for (scan = file_list; scan; scan = scan->next) { GthFileData *file_data = scan->data; size += g_file_info_get_size (file_data->info); n_selected += 1; } ssize = g_format_size (size); /* translators: %d is the number of files, %s the total size */ status = g_strdup_printf (_("Files to import: %d (%s)"), n_selected, ssize); gtk_label_set_text (GTK_LABEL (GET_WIDGET ("status_label")), status); g_free (status); g_free (ssize); _g_object_list_unref (file_list); _gtk_tree_path_list_free (selected); }
void gth_browser_activate_action_view_slideshow (GtkAction *action, GthBrowser *browser) { GList *items; GList *file_list; GthProjector *projector; GtkWidget *slideshow; GthFileData *location; char *transition_id; GList *transitions = NULL; items = gth_file_selection_get_selected (GTH_FILE_SELECTION (gth_browser_get_file_list_view (browser))); if ((items == NULL) || (items->next == NULL)) file_list = gth_file_store_get_visibles (GTH_FILE_STORE (gth_browser_get_file_store (browser))); else file_list = gth_file_list_get_files (GTH_FILE_LIST (gth_browser_get_file_list (browser)), items); projector = NULL; #ifdef HAVE_CLUTTER if (ClutterInitResult == CLUTTER_INIT_SUCCESS) projector = &clutter_projector; #endif /* HAVE_CLUTTER */ if (projector == NULL) projector = &default_projector; slideshow = gth_slideshow_new (projector, browser, file_list); location = gth_browser_get_location_data (browser); if (g_file_info_get_attribute_boolean (location->info, "slideshow::personalize")) { gth_slideshow_set_delay (GTH_SLIDESHOW (slideshow), g_file_info_get_attribute_int32 (location->info, "slideshow::delay")); gth_slideshow_set_automatic (GTH_SLIDESHOW (slideshow), g_file_info_get_attribute_boolean (location->info, "slideshow::automatic")); gth_slideshow_set_wrap_around (GTH_SLIDESHOW (slideshow), g_file_info_get_attribute_boolean (location->info, "slideshow::wrap-around")); transition_id = g_strdup (g_file_info_get_attribute_string (location->info, "slideshow::transition")); } else { gth_slideshow_set_delay (GTH_SLIDESHOW (slideshow), (guint) (1000.0 * eel_gconf_get_float (PREF_SLIDESHOW_CHANGE_DELAY, 5.0))); gth_slideshow_set_automatic (GTH_SLIDESHOW (slideshow), eel_gconf_get_boolean (PREF_SLIDESHOW_AUTOMATIC, TRUE)); gth_slideshow_set_wrap_around (GTH_SLIDESHOW (slideshow), eel_gconf_get_boolean (PREF_SLIDESHOW_WRAP_AROUND, FALSE)); transition_id = eel_gconf_get_string (PREF_SLIDESHOW_TRANSITION, DEFAULT_TRANSITION); } if (g_file_info_get_attribute_status (location->info, "slideshow::playlist") == G_FILE_ATTRIBUTE_STATUS_SET) gth_slideshow_set_playlist (GTH_SLIDESHOW (slideshow), g_file_info_get_attribute_stringv (location->info, "slideshow::playlist")); if (strcmp (transition_id, "random") == 0) { GList *scan; transitions = gth_main_get_registered_objects (GTH_TYPE_TRANSITION); for (scan = transitions; scan; scan = scan->next) { GthTransition *transition = scan->data; if (strcmp (gth_transition_get_id (transition), "none") == 0) { transitions = g_list_remove_link (transitions, scan); _g_object_list_unref (scan); break; } } } else { GthTransition *transition = gth_main_get_registered_object (GTH_TYPE_TRANSITION, transition_id); if (transition != NULL) transitions = g_list_append (NULL, transition); else transitions = NULL; } gth_slideshow_set_transitions (GTH_SLIDESHOW (slideshow), transitions); gtk_window_fullscreen (GTK_WINDOW (slideshow)); /*gtk_window_set_default_size (GTK_WINDOW (slideshow), 700, 700);*/ gtk_window_present (GTK_WINDOW (slideshow)); _g_object_list_unref (transitions); g_free (transition_id); _g_object_list_unref (file_list); _gtk_tree_path_list_free (items); }