[gtk+/merge-places-sidebar: 191/195] Move all of GtkFileChooserDefault's fields into a private structure
- From: Federico Mena Quintero <federico src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+/merge-places-sidebar: 191/195] Move all of GtkFileChooserDefault's fields into a private structure
- Date: Sat, 13 Apr 2013 01:52:04 +0000 (UTC)
commit 4d4904ed8a178cf37a99da679a38e9e22ad3e078
Author: Federico Mena Quintero <federico gnome org>
Date: Thu Apr 11 22:44:19 2013 -0500
Move all of GtkFileChooserDefault's fields into a private structure
I love Emacs macros, by the way.
gtk/gtkfilechooserdefault.c | 2203 ++++++++++++++++++++++++-------------------
1 files changed, 1211 insertions(+), 992 deletions(-)
---
diff --git a/gtk/gtkfilechooserdefault.c b/gtk/gtkfilechooserdefault.c
index e2e9036..05eb84f 100644
--- a/gtk/gtkfilechooserdefault.c
+++ b/gtk/gtkfilechooserdefault.c
@@ -174,10 +174,7 @@ typedef enum {
STARTUP_MODE_CWD
} StartupMode;
-struct _GtkFileChooserDefault
-{
- GtkBox parent_instance;
-
+typedef struct {
GtkFileChooserAction action;
GtkFileSystem *file_system;
@@ -312,10 +309,7 @@ struct _GtkFileChooserDefault
guint has_recent: 1;
guint show_size_column : 1;
guint create_folders : 1;
-};
-
-
-typedef struct _GtkFileChooserDefaultClass GtkFileChooserDefaultClass;
+} GtkFileChooserDefaultPrivate;
#define GTK_FILE_CHOOSER_DEFAULT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass),
GTK_TYPE_FILE_CHOOSER_DEFAULT, GtkFileChooserDefaultClass))
#define GTK_IS_FILE_CHOOSER_DEFAULT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass),
GTK_TYPE_FILE_CHOOSER_DEFAULT))
@@ -325,6 +319,15 @@ typedef struct _GtkFileChooserDefaultClass GtkFileChooserDefaultClass;
#define DEFAULT_NEW_FOLDER_NAME _("Type name of new folder")
+typedef struct _GtkFileChooserDefaultClass GtkFileChooserDefaultClass;
+
+struct _GtkFileChooserDefault
+{
+ GtkBox parent_instance;
+
+ GtkFileChooserDefaultPrivate *priv;
+};
+
struct _GtkFileChooserDefaultClass
{
GtkBoxClass parent_class;
@@ -762,6 +765,8 @@ _gtk_file_chooser_default_class_init (GtkFileChooserDefaultClass *class)
1, G_TYPE_INT, i);
_gtk_file_chooser_install_properties (gobject_class);
+
+ g_type_class_add_private (gobject_class, sizeof (GtkFileChooserDefaultPrivate));
}
static void
@@ -796,26 +801,33 @@ gtk_file_chooser_embed_default_iface_init (GtkFileChooserEmbedIface *iface)
static void
_gtk_file_chooser_default_init (GtkFileChooserDefault *impl)
{
+ GtkFileChooserDefaultPrivate *priv;
+
profile_start ("start", NULL);
#ifdef PROFILE_FILE_CHOOSER
access ("MARK: *** CREATE FILE CHOOSER", F_OK);
#endif
- impl->local_only = TRUE;
- impl->preview_widget_active = TRUE;
- impl->use_preview_label = TRUE;
- impl->select_multiple = FALSE;
- impl->show_hidden = FALSE;
- impl->show_size_column = TRUE;
- impl->icon_size = FALLBACK_ICON_SIZE;
- impl->load_state = LOAD_EMPTY;
- impl->reload_state = RELOAD_EMPTY;
- impl->pending_select_files = NULL;
- impl->location_mode = LOCATION_MODE_PATH_BAR;
- impl->operation_mode = OPERATION_MODE_BROWSE;
- impl->sort_column = MODEL_COL_NAME;
- impl->sort_order = GTK_SORT_ASCENDING;
- impl->recent_manager = gtk_recent_manager_get_default ();
- impl->create_folders = TRUE;
+ impl->priv = G_TYPE_INSTANCE_GET_PRIVATE (impl,
+ GTK_TYPE_FILE_CHOOSER_DEFAULT,
+ GtkFileChooserDefaultPrivate);
+ priv = impl->priv;
+
+ priv->local_only = TRUE;
+ priv->preview_widget_active = TRUE;
+ priv->use_preview_label = TRUE;
+ priv->select_multiple = FALSE;
+ priv->show_hidden = FALSE;
+ priv->show_size_column = TRUE;
+ priv->icon_size = FALLBACK_ICON_SIZE;
+ priv->load_state = LOAD_EMPTY;
+ priv->reload_state = RELOAD_EMPTY;
+ priv->pending_select_files = NULL;
+ priv->location_mode = LOCATION_MODE_PATH_BAR;
+ priv->operation_mode = OPERATION_MODE_BROWSE;
+ priv->sort_column = MODEL_COL_NAME;
+ priv->sort_order = GTK_SORT_ASCENDING;
+ priv->recent_manager = gtk_recent_manager_get_default ();
+ priv->create_folders = TRUE;
gtk_orientable_set_orientation (GTK_ORIENTABLE (impl),
GTK_ORIENTATION_VERTICAL);
@@ -823,7 +835,7 @@ _gtk_file_chooser_default_init (GtkFileChooserDefault *impl)
set_file_system_backend (impl);
- impl->bookmarks_manager = _gtk_bookmarks_manager_new (NULL, NULL);
+ priv->bookmarks_manager = _gtk_bookmarks_manager_new (NULL, NULL);
profile_end ("end", NULL);
}
@@ -831,51 +843,56 @@ _gtk_file_chooser_default_init (GtkFileChooserDefault *impl)
static void
pending_select_files_free (GtkFileChooserDefault *impl)
{
- g_slist_free_full (impl->pending_select_files, g_object_unref);
- impl->pending_select_files = NULL;
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
+
+ g_slist_free_full (priv->pending_select_files, g_object_unref);
+ priv->pending_select_files = NULL;
}
static void
pending_select_files_add (GtkFileChooserDefault *impl,
GFile *file)
{
- impl->pending_select_files =
- g_slist_prepend (impl->pending_select_files, g_object_ref (file));
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
+
+ priv->pending_select_files =
+ g_slist_prepend (priv->pending_select_files, g_object_ref (file));
}
static void
gtk_file_chooser_default_finalize (GObject *object)
{
GtkFileChooserDefault *impl = GTK_FILE_CHOOSER_DEFAULT (object);
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
GSList *l;
unset_file_system_backend (impl);
- g_free (impl->browse_files_last_selected_name);
+ g_free (priv->browse_files_last_selected_name);
- for (l = impl->filters; l; l = l->next)
+ for (l = priv->filters; l; l = l->next)
{
GtkFileFilter *filter;
filter = GTK_FILE_FILTER (l->data);
g_object_unref (filter);
}
- g_slist_free (impl->filters);
+ g_slist_free (priv->filters);
- if (impl->current_filter)
- g_object_unref (impl->current_filter);
+ if (priv->current_filter)
+ g_object_unref (priv->current_filter);
- if (impl->current_volume_file)
- g_object_unref (impl->current_volume_file);
+ if (priv->current_volume_file)
+ g_object_unref (priv->current_volume_file);
- if (impl->current_folder)
- g_object_unref (impl->current_folder);
+ if (priv->current_folder)
+ g_object_unref (priv->current_folder);
- if (impl->preview_file)
- g_object_unref (impl->preview_file);
+ if (priv->preview_file)
+ g_object_unref (priv->preview_file);
- if (impl->browse_path_bar_size_group)
- g_object_unref (impl->browse_path_bar_size_group);
+ if (priv->browse_path_bar_size_group)
+ g_object_unref (priv->browse_path_bar_size_group);
/* Free all the Models we have */
stop_loading_and_clear_list_model (impl, FALSE);
@@ -883,11 +900,13 @@ gtk_file_chooser_default_finalize (GObject *object)
recent_clear_model (impl, FALSE);
/* stopping the load above should have cleared this */
- g_assert (impl->load_timeout_id == 0);
+ g_assert (priv->load_timeout_id == 0);
+
+ g_free (priv->preview_display_name);
- g_free (impl->preview_display_name);
+ g_free (priv->edited_new_text);
- g_free (impl->edited_new_text);
+ impl->priv = NULL;
G_OBJECT_CLASS (_gtk_file_chooser_default_parent_class)->finalize (object);
}
@@ -1074,30 +1093,32 @@ emit_default_size_changed (GtkFileChooserDefault *impl)
static void
update_preview_widget_visibility (GtkFileChooserDefault *impl)
{
- if (impl->use_preview_label)
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
+
+ if (priv->use_preview_label)
{
- if (!impl->preview_label)
+ if (!priv->preview_label)
{
- impl->preview_label = gtk_label_new (impl->preview_display_name);
- gtk_box_pack_start (GTK_BOX (impl->preview_box), impl->preview_label, FALSE, FALSE, 0);
- gtk_box_reorder_child (GTK_BOX (impl->preview_box), impl->preview_label, 0);
- gtk_label_set_ellipsize (GTK_LABEL (impl->preview_label), PANGO_ELLIPSIZE_MIDDLE);
- gtk_widget_show (impl->preview_label);
+ priv->preview_label = gtk_label_new (priv->preview_display_name);
+ gtk_box_pack_start (GTK_BOX (priv->preview_box), priv->preview_label, FALSE, FALSE, 0);
+ gtk_box_reorder_child (GTK_BOX (priv->preview_box), priv->preview_label, 0);
+ gtk_label_set_ellipsize (GTK_LABEL (priv->preview_label), PANGO_ELLIPSIZE_MIDDLE);
+ gtk_widget_show (priv->preview_label);
}
}
else
{
- if (impl->preview_label)
+ if (priv->preview_label)
{
- gtk_widget_destroy (impl->preview_label);
- impl->preview_label = NULL;
+ gtk_widget_destroy (priv->preview_label);
+ priv->preview_label = NULL;
}
}
- if (impl->preview_widget_active && impl->preview_widget)
- gtk_widget_show (impl->preview_box);
+ if (priv->preview_widget_active && priv->preview_widget)
+ gtk_widget_show (priv->preview_box);
else
- gtk_widget_hide (impl->preview_box);
+ gtk_widget_hide (priv->preview_box);
if (!gtk_widget_get_mapped (GTK_WIDGET (impl)))
emit_default_size_changed (impl);
@@ -1107,21 +1128,23 @@ static void
set_preview_widget (GtkFileChooserDefault *impl,
GtkWidget *preview_widget)
{
- if (preview_widget == impl->preview_widget)
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
+
+ if (preview_widget == priv->preview_widget)
return;
- if (impl->preview_widget)
- gtk_container_remove (GTK_CONTAINER (impl->preview_box),
- impl->preview_widget);
+ if (priv->preview_widget)
+ gtk_container_remove (GTK_CONTAINER (priv->preview_box),
+ priv->preview_widget);
- impl->preview_widget = preview_widget;
- if (impl->preview_widget)
+ priv->preview_widget = preview_widget;
+ if (priv->preview_widget)
{
- gtk_widget_show (impl->preview_widget);
- gtk_box_pack_start (GTK_BOX (impl->preview_box), impl->preview_widget, TRUE, TRUE, 0);
- gtk_box_reorder_child (GTK_BOX (impl->preview_box),
- impl->preview_widget,
- (impl->use_preview_label && impl->preview_label) ? 1 : 0);
+ gtk_widget_show (priv->preview_widget);
+ gtk_box_pack_start (GTK_BOX (priv->preview_box), priv->preview_widget, TRUE, TRUE, 0);
+ gtk_box_reorder_child (GTK_BOX (priv->preview_box),
+ priv->preview_widget,
+ (priv->use_preview_label && priv->preview_label) ? 1 : 0);
}
update_preview_widget_visibility (impl);
@@ -1188,26 +1211,27 @@ static void
new_folder_button_clicked (GtkButton *button,
GtkFileChooserDefault *impl)
{
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
GtkTreeIter iter;
GtkTreePath *path;
- if (!impl->browse_files_model)
+ if (!priv->browse_files_model)
return; /* FIXME: this sucks. Disable the New Folder button or something. */
/* Prevent button from being clicked twice */
- gtk_widget_set_sensitive (impl->browse_new_folder_button, FALSE);
+ gtk_widget_set_sensitive (priv->browse_new_folder_button, FALSE);
- _gtk_file_system_model_add_editable (impl->browse_files_model, &iter);
+ _gtk_file_system_model_add_editable (priv->browse_files_model, &iter);
- path = gtk_tree_model_get_path (GTK_TREE_MODEL (impl->browse_files_model), &iter);
- gtk_tree_view_scroll_to_cell (GTK_TREE_VIEW (impl->browse_files_tree_view),
- path, impl->list_name_column,
+ path = gtk_tree_model_get_path (GTK_TREE_MODEL (priv->browse_files_model), &iter);
+ gtk_tree_view_scroll_to_cell (GTK_TREE_VIEW (priv->browse_files_tree_view),
+ path, priv->list_name_column,
FALSE, 0.0, 0.0);
- g_object_set (impl->list_name_renderer, "editable", TRUE, NULL);
- gtk_tree_view_set_cursor (GTK_TREE_VIEW (impl->browse_files_tree_view),
+ g_object_set (priv->list_name_renderer, "editable", TRUE, NULL);
+ gtk_tree_view_set_cursor (GTK_TREE_VIEW (priv->browse_files_tree_view),
path,
- impl->list_name_column,
+ priv->list_name_column,
TRUE);
gtk_tree_path_free (path);
@@ -1232,25 +1256,27 @@ add_idle_while_impl_is_alive (GtkFileChooserDefault *impl, GCallback callback)
static gboolean
edited_idle_cb (GtkFileChooserDefault *impl)
{
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
+
gdk_threads_enter ();
- g_source_destroy (impl->edited_idle);
- impl->edited_idle = NULL;
+ g_source_destroy (priv->edited_idle);
+ priv->edited_idle = NULL;
- _gtk_file_system_model_remove_editable (impl->browse_files_model);
- g_object_set (impl->list_name_renderer, "editable", FALSE, NULL);
+ _gtk_file_system_model_remove_editable (priv->browse_files_model);
+ g_object_set (priv->list_name_renderer, "editable", FALSE, NULL);
- gtk_widget_set_sensitive (impl->browse_new_folder_button, TRUE);
+ gtk_widget_set_sensitive (priv->browse_new_folder_button, TRUE);
- if (impl->edited_new_text /* not cancelled? */
- && (strlen (impl->edited_new_text) != 0)
- && (strcmp (impl->edited_new_text, DEFAULT_NEW_FOLDER_NAME) != 0)) /* Don't create folder if name is
empty or has not been edited */
+ if (priv->edited_new_text /* not cancelled? */
+ && (strlen (priv->edited_new_text) != 0)
+ && (strcmp (priv->edited_new_text, DEFAULT_NEW_FOLDER_NAME) != 0)) /* Don't create folder if name is
empty or has not been edited */
{
GError *error = NULL;
GFile *file;
- file = g_file_get_child_for_display_name (impl->current_folder,
- impl->edited_new_text,
+ file = g_file_get_child_for_display_name (priv->current_folder,
+ priv->edited_new_text,
&error);
if (file)
{
@@ -1266,8 +1292,8 @@ edited_idle_cb (GtkFileChooserDefault *impl)
else
error_creating_folder_dialog (impl, file, error);
- g_free (impl->edited_new_text);
- impl->edited_new_text = NULL;
+ g_free (priv->edited_new_text);
+ priv->edited_new_text = NULL;
}
gdk_threads_leave ();
@@ -1279,15 +1305,17 @@ static void
queue_edited_idle (GtkFileChooserDefault *impl,
const gchar *new_text)
{
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
+
/* We create the folder in an idle handler so that we don't modify the tree
* just now.
*/
- if (!impl->edited_idle)
- impl->edited_idle = add_idle_while_impl_is_alive (impl, G_CALLBACK (edited_idle_cb));
+ if (!priv->edited_idle)
+ priv->edited_idle = add_idle_while_impl_is_alive (impl, G_CALLBACK (edited_idle_cb));
- g_free (impl->edited_new_text);
- impl->edited_new_text = g_strdup (new_text);
+ g_free (priv->edited_new_text);
+ priv->edited_new_text = g_strdup (new_text);
}
/* Callback used from the text cell renderer when the new folder is named */
@@ -1320,14 +1348,15 @@ renderer_editing_canceled_cb (GtkCellRendererText *cell_renderer_text,
static GtkWidget *
filter_create (GtkFileChooserDefault *impl)
{
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
GtkCellRenderer *cell;
GList *cells;
- impl->filter_combo = gtk_combo_box_text_new ();
- gtk_combo_box_set_focus_on_click (GTK_COMBO_BOX (impl->filter_combo), FALSE);
+ priv->filter_combo = gtk_combo_box_text_new ();
+ gtk_combo_box_set_focus_on_click (GTK_COMBO_BOX (priv->filter_combo), FALSE);
/* Get the combo's text renderer and set ellipsize parameters */
- cells = gtk_cell_layout_get_cells (GTK_CELL_LAYOUT (impl->filter_combo));
+ cells = gtk_cell_layout_get_cells (GTK_CELL_LAYOUT (priv->filter_combo));
g_assert (cells);
cell = cells->data;
@@ -1337,13 +1366,13 @@ filter_create (GtkFileChooserDefault *impl)
g_list_free (cells);
- g_signal_connect (impl->filter_combo, "changed",
+ g_signal_connect (priv->filter_combo, "changed",
G_CALLBACK (filter_combo_changed), impl);
- gtk_widget_set_tooltip_text (impl->filter_combo,
+ gtk_widget_set_tooltip_text (priv->filter_combo,
_("Select which types of files are shown"));
- return impl->filter_combo;
+ return priv->filter_combo;
}
struct selection_check_closure {
@@ -1388,6 +1417,7 @@ selection_check (GtkFileChooserDefault *impl,
gboolean *all_files,
gboolean *all_folders)
{
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
struct selection_check_closure closure;
GtkTreeSelection *selection;
@@ -1396,7 +1426,7 @@ selection_check (GtkFileChooserDefault *impl,
closure.all_files = TRUE;
closure.all_folders = TRUE;
- selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (impl->browse_files_tree_view));
+ selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (priv->browse_files_tree_view));
gtk_tree_selection_selected_foreach (selection,
selection_check_foreach_cb,
&closure);
@@ -1429,14 +1459,15 @@ file_is_recent_uri (GFile *file)
static void
places_sidebar_open_location_cb (GtkPlacesSidebar *sidebar, GFile *location, GtkPlacesOpenFlags open_flags,
GtkFileChooserDefault *impl)
{
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
gboolean clear_entry;
/* In the Save modes, we want to preserve what the uesr typed in the filename
* entry, so that he may choose another folder without erasing his typed name.
*/
- if (impl->location_entry
- && !(impl->action == GTK_FILE_CHOOSER_ACTION_SAVE
- || impl->action == GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER))
+ if (priv->location_entry
+ && !(priv->action == GTK_FILE_CHOOSER_ACTION_SAVE
+ || priv->action == GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER))
clear_entry = TRUE;
else
clear_entry = FALSE;
@@ -1468,16 +1499,18 @@ static GtkWidget *
shortcuts_pane_create (GtkFileChooserDefault *impl,
GtkSizeGroup *size_group)
{
- impl->places_sidebar = gtk_places_sidebar_new ();
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
- g_signal_connect (impl->places_sidebar, "open-location",
+ priv->places_sidebar = gtk_places_sidebar_new ();
+
+ g_signal_connect (priv->places_sidebar, "open-location",
G_CALLBACK (places_sidebar_open_location_cb),
impl);
- g_signal_connect (impl->places_sidebar, "show-error-message",
+ g_signal_connect (priv->places_sidebar, "show-error-message",
G_CALLBACK (places_sidebar_show_error_message_cb),
impl);
- return impl->places_sidebar;
+ return priv->places_sidebar;
}
static gboolean
@@ -1503,11 +1536,10 @@ browse_files_key_press_event_cb (GtkWidget *widget,
GdkEventKey *event,
gpointer data)
{
- GtkFileChooserDefault *impl;
+ GtkFileChooserDefault *impl = (GtkFileChooserDefault *) data;
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
GdkModifierType no_text_input_mask;
- impl = (GtkFileChooserDefault *) data;
-
no_text_input_mask =
gtk_widget_get_modifier_mask (widget, GDK_MODIFIER_INTENT_NO_TEXT_INPUT);
@@ -1524,7 +1556,7 @@ browse_files_key_press_event_cb (GtkWidget *widget,
if (key_is_left_or_right (event))
{
- gtk_widget_grab_focus (impl->places_sidebar);
+ gtk_widget_grab_focus (priv->places_sidebar);
return TRUE;
}
@@ -1534,8 +1566,8 @@ browse_files_key_press_event_cb (GtkWidget *widget,
|| event->keyval == GDK_KEY_space
|| event->keyval == GDK_KEY_KP_Space)
&& !(event->state & gtk_accelerator_get_default_mod_mask ())
- && !(impl->action == GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER ||
- impl->action == GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER))
+ && !(priv->action == GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER ||
+ priv->action == GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER))
{
GtkWindow *window;
@@ -1565,15 +1597,17 @@ static void
popup_menu_detach_cb (GtkWidget *attach_widget,
GtkMenu *menu)
{
- GtkFileChooserDefault *impl;
+ GtkFileChooserDefault *impl = g_object_get_data (G_OBJECT (attach_widget), "GtkFileChooserDefault");
+ GtkFileChooserDefaultPrivate *priv;
- impl = g_object_get_data (G_OBJECT (attach_widget), "GtkFileChooserDefault");
g_assert (GTK_IS_FILE_CHOOSER_DEFAULT (impl));
- impl->browse_files_popup_menu = NULL;
- impl->browse_files_popup_menu_add_shortcut_item = NULL;
- impl->browse_files_popup_menu_hidden_files_item = NULL;
- impl->browse_files_popup_menu_copy_file_location_item = NULL;
+ priv = impl->priv;
+
+ priv->browse_files_popup_menu = NULL;
+ priv->browse_files_popup_menu_add_shortcut_item = NULL;
+ priv->browse_files_popup_menu_hidden_files_item = NULL;
+ priv->browse_files_popup_menu_copy_file_location_item = NULL;
}
/* Callback used from gtk_tree_selection_selected_foreach(); adds a bookmark for
@@ -1585,16 +1619,15 @@ add_bookmark_foreach_cb (GtkTreeModel *model,
GtkTreeIter *iter,
gpointer data)
{
- GtkFileChooserDefault *impl;
+ GtkFileChooserDefault *impl = (GtkFileChooserDefault *) data;
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
GFile *file;
- impl = (GtkFileChooserDefault *) data;
-
gtk_tree_model_get (model, iter,
MODEL_COL_FILE, &file,
-1);
- _gtk_bookmarks_manager_insert_bookmark (impl->bookmarks_manager, file, 0, NULL); /* NULL-GError */
+ _gtk_bookmarks_manager_insert_bookmark (priv->bookmarks_manager, file, 0, NULL); /* NULL-GError */
g_object_unref (file);
}
@@ -1604,9 +1637,10 @@ static void
add_to_shortcuts_cb (GtkMenuItem *item,
GtkFileChooserDefault *impl)
{
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
GtkTreeSelection *selection;
- selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (impl->browse_files_tree_view));
+ selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (priv->browse_files_tree_view));
gtk_tree_selection_selected_foreach (selection,
add_bookmark_foreach_cb,
@@ -1740,10 +1774,12 @@ static void
show_size_column_toggled_cb (GtkCheckMenuItem *item,
GtkFileChooserDefault *impl)
{
- impl->show_size_column = gtk_check_menu_item_get_active (item);
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
- gtk_tree_view_column_set_visible (impl->list_size_column,
- impl->show_size_column);
+ priv->show_size_column = gtk_check_menu_item_get_active (item);
+
+ gtk_tree_view_column_set_visible (priv->list_size_column,
+ priv->show_size_column);
}
/* Shows an error dialog about not being able to select a dragged file */
@@ -1797,17 +1833,18 @@ file_list_drag_data_received_get_info_cb (GCancellable *cancellable,
gboolean cancelled = g_cancellable_is_cancelled (cancellable);
struct FileListDragData *data = user_data;
GtkFileChooser *chooser = GTK_FILE_CHOOSER (data->impl);
+ GtkFileChooserDefaultPrivate *priv = data->impl->priv;
- if (cancellable != data->impl->file_list_drag_data_received_cancellable)
+ if (cancellable != priv->file_list_drag_data_received_cancellable)
goto out;
- data->impl->file_list_drag_data_received_cancellable = NULL;
+ priv->file_list_drag_data_received_cancellable = NULL;
if (cancelled || error)
goto out;
- if ((data->impl->action == GTK_FILE_CHOOSER_ACTION_OPEN ||
- data->impl->action == GTK_FILE_CHOOSER_ACTION_SAVE) &&
+ if ((priv->action == GTK_FILE_CHOOSER_ACTION_OPEN ||
+ priv->action == GTK_FILE_CHOOSER_ACTION_SAVE) &&
data->uris[1] == 0 && !error && _gtk_file_info_consider_as_directory (info))
change_folder_and_display_error (data->impl, data->file, FALSE);
else
@@ -1822,7 +1859,7 @@ file_list_drag_data_received_get_info_cb (GCancellable *cancellable,
browse_files_center_selected_row (data->impl);
}
- if (data->impl->select_multiple)
+ if (priv->select_multiple)
file_list_drag_data_select_uris (data->impl, data->uris);
out:
@@ -1844,13 +1881,12 @@ file_list_drag_data_received_cb (GtkWidget *widget,
guint time_,
gpointer data)
{
- GtkFileChooserDefault *impl;
+ GtkFileChooserDefault *impl = GTK_FILE_CHOOSER_DEFAULT (data);
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
gchar **uris;
char *uri;
GFile *file;
- impl = GTK_FILE_CHOOSER_DEFAULT (data);
-
/* Allow only drags from other widgets; see bug #533891. */
if (gtk_drag_get_source_widget (context) == widget)
{
@@ -1872,11 +1908,11 @@ file_list_drag_data_received_cb (GtkWidget *widget,
data->uris = uris;
data->file = file;
- if (impl->file_list_drag_data_received_cancellable)
- g_cancellable_cancel (impl->file_list_drag_data_received_cancellable);
+ if (priv->file_list_drag_data_received_cancellable)
+ g_cancellable_cancel (priv->file_list_drag_data_received_cancellable);
- impl->file_list_drag_data_received_cancellable =
- _gtk_file_system_get_info (impl->file_system, file,
+ priv->file_list_drag_data_received_cancellable =
+ _gtk_file_system_get_info (priv->file_system, file,
"standard::type",
file_list_drag_data_received_get_info_cb,
data);
@@ -1918,17 +1954,18 @@ file_list_drag_motion_cb (GtkWidget *widget,
static void
check_copy_file_location_sensitivity (GtkFileChooserDefault *impl)
{
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
GtkTreeSelection *selection;
gboolean active;
- selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (impl->browse_files_tree_view));
+ selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (priv->browse_files_tree_view));
if (gtk_tree_selection_count_selected_rows (selection) == 0)
active = FALSE;
else
active = TRUE;
- if (impl->browse_files_popup_menu_copy_file_location_item)
- gtk_widget_set_sensitive (impl->browse_files_popup_menu_copy_file_location_item, active);
+ if (priv->browse_files_popup_menu_copy_file_location_item)
+ gtk_widget_set_sensitive (priv->browse_files_popup_menu_copy_file_location_item, active);
}
static GtkWidget *
@@ -1937,6 +1974,7 @@ file_list_add_image_menu_item (GtkFileChooserDefault *impl,
const char *mnemonic_label,
GCallback callback)
{
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
GtkWidget *item;
item = gtk_image_menu_item_new_with_mnemonic (mnemonic_label);
@@ -1944,7 +1982,7 @@ file_list_add_image_menu_item (GtkFileChooserDefault *impl,
gtk_image_new_from_stock (stock_name, GTK_ICON_SIZE_MENU));
g_signal_connect (item, "activate", callback, impl);
gtk_widget_show (item);
- gtk_menu_shell_append (GTK_MENU_SHELL (impl->browse_files_popup_menu), item);
+ gtk_menu_shell_append (GTK_MENU_SHELL (priv->browse_files_popup_menu), item);
return item;
}
@@ -1954,12 +1992,13 @@ file_list_add_check_menu_item (GtkFileChooserDefault *impl,
const char *mnemonic_label,
GCallback callback)
{
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
GtkWidget *item;
item = gtk_check_menu_item_new_with_mnemonic (mnemonic_label);
g_signal_connect (item, "toggled", callback, impl);
gtk_widget_show (item);
- gtk_menu_shell_append (GTK_MENU_SHELL (impl->browse_files_popup_menu), item);
+ gtk_menu_shell_append (GTK_MENU_SHELL (priv->browse_files_popup_menu), item);
return item;
}
@@ -1968,33 +2007,34 @@ file_list_add_check_menu_item (GtkFileChooserDefault *impl,
static void
file_list_build_popup_menu (GtkFileChooserDefault *impl)
{
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
GtkWidget *item;
- if (impl->browse_files_popup_menu)
+ if (priv->browse_files_popup_menu)
return;
- impl->browse_files_popup_menu = gtk_menu_new ();
- gtk_menu_attach_to_widget (GTK_MENU (impl->browse_files_popup_menu),
- impl->browse_files_tree_view,
+ priv->browse_files_popup_menu = gtk_menu_new ();
+ gtk_menu_attach_to_widget (GTK_MENU (priv->browse_files_popup_menu),
+ priv->browse_files_tree_view,
popup_menu_detach_cb);
- impl->browse_files_popup_menu_visit_file_item = file_list_add_image_menu_item (impl,
GTK_STOCK_DIRECTORY, _("_Visit this file"),
+ priv->browse_files_popup_menu_visit_file_item = file_list_add_image_menu_item (impl,
GTK_STOCK_DIRECTORY, _("_Visit this file"),
G_CALLBACK
(visit_file_cb));
- impl->browse_files_popup_menu_copy_file_location_item = file_list_add_image_menu_item (impl,
GTK_STOCK_COPY, _("_Copy file’s location"),
+ priv->browse_files_popup_menu_copy_file_location_item = file_list_add_image_menu_item (impl,
GTK_STOCK_COPY, _("_Copy file’s location"),
G_CALLBACK
(copy_file_location_cb));
- impl->browse_files_popup_menu_add_shortcut_item = file_list_add_image_menu_item (impl, GTK_STOCK_ADD,
_("_Add to Bookmarks"),
+ priv->browse_files_popup_menu_add_shortcut_item = file_list_add_image_menu_item (impl, GTK_STOCK_ADD,
_("_Add to Bookmarks"),
G_CALLBACK
(add_to_shortcuts_cb));
item = gtk_separator_menu_item_new ();
gtk_widget_show (item);
- gtk_menu_shell_append (GTK_MENU_SHELL (impl->browse_files_popup_menu), item);
+ gtk_menu_shell_append (GTK_MENU_SHELL (priv->browse_files_popup_menu), item);
- impl->browse_files_popup_menu_hidden_files_item = file_list_add_check_menu_item (impl, _("Show
_Hidden Files"),
+ priv->browse_files_popup_menu_hidden_files_item = file_list_add_check_menu_item (impl, _("Show
_Hidden Files"),
G_CALLBACK
(show_hidden_toggled_cb));
- impl->browse_files_popup_menu_size_column_item = file_list_add_check_menu_item (impl, _("Show _Size
Column"),
+ priv->browse_files_popup_menu_size_column_item = file_list_add_check_menu_item (impl, _("Show _Size
Column"),
G_CALLBACK
(show_size_column_toggled_cb));
check_copy_file_location_sensitivity (impl);
@@ -2004,6 +2044,8 @@ file_list_build_popup_menu (GtkFileChooserDefault *impl)
static void
file_list_update_popup_menu (GtkFileChooserDefault *impl)
{
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
+
file_list_build_popup_menu (impl);
/* The sensitivity of the Add to Bookmarks item is set in
@@ -2011,22 +2053,22 @@ file_list_update_popup_menu (GtkFileChooserDefault *impl)
*/
/* 'Visit this file' */
- gtk_widget_set_visible (impl->browse_files_popup_menu_visit_file_item, (impl->operation_mode !=
OPERATION_MODE_BROWSE));
+ gtk_widget_set_visible (priv->browse_files_popup_menu_visit_file_item, (priv->operation_mode !=
OPERATION_MODE_BROWSE));
/* 'Show Hidden Files' */
- g_signal_handlers_block_by_func (impl->browse_files_popup_menu_hidden_files_item,
+ g_signal_handlers_block_by_func (priv->browse_files_popup_menu_hidden_files_item,
G_CALLBACK (show_hidden_toggled_cb), impl);
- gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (impl->browse_files_popup_menu_hidden_files_item),
- impl->show_hidden);
- g_signal_handlers_unblock_by_func (impl->browse_files_popup_menu_hidden_files_item,
+ gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (priv->browse_files_popup_menu_hidden_files_item),
+ priv->show_hidden);
+ g_signal_handlers_unblock_by_func (priv->browse_files_popup_menu_hidden_files_item,
G_CALLBACK (show_hidden_toggled_cb), impl);
/* 'Show Size Column' */
- g_signal_handlers_block_by_func (impl->browse_files_popup_menu_size_column_item,
+ g_signal_handlers_block_by_func (priv->browse_files_popup_menu_size_column_item,
G_CALLBACK (show_size_column_toggled_cb), impl);
- gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (impl->browse_files_popup_menu_size_column_item),
- impl->show_size_column);
- g_signal_handlers_unblock_by_func (impl->browse_files_popup_menu_size_column_item,
+ gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (priv->browse_files_popup_menu_size_column_item),
+ priv->show_size_column);
+ g_signal_handlers_unblock_by_func (priv->browse_files_popup_menu_size_column_item,
G_CALLBACK (show_size_column_toggled_cb), impl);
}
@@ -2069,18 +2111,20 @@ static void
file_list_popup_menu (GtkFileChooserDefault *impl,
GdkEventButton *event)
{
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
+
file_list_update_popup_menu (impl);
if (event)
- gtk_menu_popup (GTK_MENU (impl->browse_files_popup_menu),
+ gtk_menu_popup (GTK_MENU (priv->browse_files_popup_menu),
NULL, NULL, NULL, NULL,
event->button, event->time);
else
{
- gtk_menu_popup (GTK_MENU (impl->browse_files_popup_menu),
+ gtk_menu_popup (GTK_MENU (priv->browse_files_popup_menu),
NULL, NULL,
- popup_position_func, impl->browse_files_tree_view,
+ popup_position_func, priv->browse_files_tree_view,
0, GDK_CURRENT_TIME);
- gtk_menu_shell_select_first (GTK_MENU_SHELL (impl->browse_files_popup_menu),
+ gtk_menu_shell_select_first (GTK_MENU_SHELL (priv->browse_files_popup_menu),
FALSE);
}
@@ -2103,6 +2147,8 @@ list_button_press_event_cb (GtkWidget *widget,
GdkEventButton *event,
GtkFileChooserDefault *impl)
{
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
+
static gboolean in_press = FALSE;
if (in_press)
@@ -2112,7 +2158,7 @@ list_button_press_event_cb (GtkWidget *widget,
return FALSE;
in_press = TRUE;
- gtk_widget_event (impl->browse_files_tree_view, (GdkEvent *) event);
+ gtk_widget_event (priv->browse_files_tree_view, (GdkEvent *) event);
in_press = FALSE;
file_list_popup_menu (impl, event);
@@ -2131,9 +2177,11 @@ typedef struct {
static void
file_list_set_sort_column_ids (GtkFileChooserDefault *impl)
{
- gtk_tree_view_column_set_sort_column_id (impl->list_name_column, MODEL_COL_NAME);
- gtk_tree_view_column_set_sort_column_id (impl->list_mtime_column, MODEL_COL_MTIME);
- gtk_tree_view_column_set_sort_column_id (impl->list_size_column, MODEL_COL_SIZE);
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
+
+ gtk_tree_view_column_set_sort_column_id (priv->list_name_column, MODEL_COL_NAME);
+ gtk_tree_view_column_set_sort_column_id (priv->list_mtime_column, MODEL_COL_MTIME);
+ gtk_tree_view_column_set_sort_column_id (priv->list_size_column, MODEL_COL_SIZE);
}
static gboolean
@@ -2145,17 +2193,18 @@ file_list_query_tooltip_cb (GtkWidget *widget,
gpointer user_data)
{
GtkFileChooserDefault *impl = user_data;
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
GtkTreeModel *model;
GtkTreePath *path;
GtkTreeIter iter;
GFile *file;
gchar *filename;
- if (impl->operation_mode == OPERATION_MODE_BROWSE)
+ if (priv->operation_mode == OPERATION_MODE_BROWSE)
return FALSE;
- if (!gtk_tree_view_get_tooltip_context (GTK_TREE_VIEW (impl->browse_files_tree_view),
+ if (!gtk_tree_view_get_tooltip_context (GTK_TREE_VIEW (priv->browse_files_tree_view),
&x, &y,
keyboard_tip,
&model, &path, &iter))
@@ -2173,7 +2222,7 @@ file_list_query_tooltip_cb (GtkWidget *widget,
filename = g_file_get_path (file);
gtk_tooltip_set_text (tooltip, filename);
- gtk_tree_view_set_tooltip_row (GTK_TREE_VIEW (impl->browse_files_tree_view),
+ gtk_tree_view_set_tooltip_row (GTK_TREE_VIEW (priv->browse_files_tree_view),
tooltip,
path);
@@ -2187,18 +2236,20 @@ file_list_query_tooltip_cb (GtkWidget *widget,
static void
set_icon_cell_renderer_fixed_size (GtkFileChooserDefault *impl, GtkCellRenderer *renderer)
{
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
gint xpad, ypad;
gtk_cell_renderer_get_padding (renderer, &xpad, &ypad);
gtk_cell_renderer_set_fixed_size (renderer,
- xpad * 2 + impl->icon_size,
- ypad * 2 + impl->icon_size);
+ xpad * 2 + priv->icon_size,
+ ypad * 2 + priv->icon_size);
}
/* Creates the widgets for the file list */
static GtkWidget *
create_file_list (GtkFileChooserDefault *impl)
{
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
GtkWidget *swin;
GtkTreeSelection *selection;
GtkTreeViewColumn *column;
@@ -2213,51 +2264,51 @@ create_file_list (GtkFileChooserDefault *impl)
/* Tree/list view */
- impl->browse_files_tree_view = gtk_tree_view_new ();
+ priv->browse_files_tree_view = gtk_tree_view_new ();
#ifdef PROFILE_FILE_CHOOSER
- g_object_set_data (G_OBJECT (impl->browse_files_tree_view), "fmq-name", "file_list");
+ g_object_set_data (G_OBJECT (priv->browse_files_tree_view), "fmq-name", "file_list");
#endif
- g_object_set_data (G_OBJECT (impl->browse_files_tree_view), I_("GtkFileChooserDefault"), impl);
- atk_object_set_name (gtk_widget_get_accessible (impl->browse_files_tree_view), _("Files"));
+ g_object_set_data (G_OBJECT (priv->browse_files_tree_view), I_("GtkFileChooserDefault"), impl);
+ atk_object_set_name (gtk_widget_get_accessible (priv->browse_files_tree_view), _("Files"));
- gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (impl->browse_files_tree_view), TRUE);
- gtk_container_add (GTK_CONTAINER (swin), impl->browse_files_tree_view);
+ gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (priv->browse_files_tree_view), TRUE);
+ gtk_container_add (GTK_CONTAINER (swin), priv->browse_files_tree_view);
- gtk_drag_dest_set (impl->browse_files_tree_view,
+ gtk_drag_dest_set (priv->browse_files_tree_view,
GTK_DEST_DEFAULT_ALL,
NULL, 0,
GDK_ACTION_COPY | GDK_ACTION_MOVE);
- gtk_drag_dest_add_uri_targets (impl->browse_files_tree_view);
+ gtk_drag_dest_add_uri_targets (priv->browse_files_tree_view);
- g_signal_connect (impl->browse_files_tree_view, "row-activated",
+ g_signal_connect (priv->browse_files_tree_view, "row-activated",
G_CALLBACK (list_row_activated), impl);
- g_signal_connect (impl->browse_files_tree_view, "key-press-event",
+ g_signal_connect (priv->browse_files_tree_view, "key-press-event",
G_CALLBACK (browse_files_key_press_event_cb), impl);
- g_signal_connect (impl->browse_files_tree_view, "popup-menu",
+ g_signal_connect (priv->browse_files_tree_view, "popup-menu",
G_CALLBACK (list_popup_menu_cb), impl);
- g_signal_connect (impl->browse_files_tree_view, "button-press-event",
+ g_signal_connect (priv->browse_files_tree_view, "button-press-event",
G_CALLBACK (list_button_press_event_cb), impl);
- g_signal_connect (impl->browse_files_tree_view, "drag-data-received",
+ g_signal_connect (priv->browse_files_tree_view, "drag-data-received",
G_CALLBACK (file_list_drag_data_received_cb), impl);
- g_signal_connect (impl->browse_files_tree_view, "drag-drop",
+ g_signal_connect (priv->browse_files_tree_view, "drag-drop",
G_CALLBACK (file_list_drag_drop_cb), impl);
- g_signal_connect (impl->browse_files_tree_view, "drag-motion",
+ g_signal_connect (priv->browse_files_tree_view, "drag-motion",
G_CALLBACK (file_list_drag_motion_cb), impl);
- g_object_set (impl->browse_files_tree_view, "has-tooltip", TRUE, NULL);
- g_signal_connect (impl->browse_files_tree_view, "query-tooltip",
+ g_object_set (priv->browse_files_tree_view, "has-tooltip", TRUE, NULL);
+ g_signal_connect (priv->browse_files_tree_view, "query-tooltip",
G_CALLBACK (file_list_query_tooltip_cb), impl);
- selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (impl->browse_files_tree_view));
+ selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (priv->browse_files_tree_view));
gtk_tree_selection_set_select_function (selection,
list_select_func,
impl, NULL);
- gtk_tree_view_enable_model_drag_source (GTK_TREE_VIEW (impl->browse_files_tree_view),
+ gtk_tree_view_enable_model_drag_source (GTK_TREE_VIEW (priv->browse_files_tree_view),
GDK_BUTTON1_MASK,
NULL, 0,
GDK_ACTION_COPY | GDK_ACTION_MOVE);
- gtk_drag_source_add_uri_targets (impl->browse_files_tree_view);
+ gtk_drag_source_add_uri_targets (priv->browse_files_tree_view);
g_signal_connect (selection, "changed",
G_CALLBACK (list_selection_changed), impl);
@@ -2266,27 +2317,27 @@ create_file_list (GtkFileChooserDefault *impl)
/* Filename column */
- impl->list_name_column = gtk_tree_view_column_new ();
- gtk_tree_view_column_set_expand (impl->list_name_column, TRUE);
- gtk_tree_view_column_set_resizable (impl->list_name_column, TRUE);
- gtk_tree_view_column_set_title (impl->list_name_column, _("Name"));
+ priv->list_name_column = gtk_tree_view_column_new ();
+ gtk_tree_view_column_set_expand (priv->list_name_column, TRUE);
+ gtk_tree_view_column_set_resizable (priv->list_name_column, TRUE);
+ gtk_tree_view_column_set_title (priv->list_name_column, _("Name"));
renderer = gtk_cell_renderer_pixbuf_new ();
/* We set a fixed size so that we get an empty slot even if no icons are loaded yet */
set_icon_cell_renderer_fixed_size (impl, renderer);
- gtk_tree_view_column_pack_start (impl->list_name_column, renderer, FALSE);
+ gtk_tree_view_column_pack_start (priv->list_name_column, renderer, FALSE);
- impl->list_name_renderer = gtk_cell_renderer_text_new ();
- g_object_set (impl->list_name_renderer,
+ priv->list_name_renderer = gtk_cell_renderer_text_new ();
+ g_object_set (priv->list_name_renderer,
"ellipsize", PANGO_ELLIPSIZE_END,
NULL);
- g_signal_connect (impl->list_name_renderer, "edited",
+ g_signal_connect (priv->list_name_renderer, "edited",
G_CALLBACK (renderer_edited_cb), impl);
- g_signal_connect (impl->list_name_renderer, "editing-canceled",
+ g_signal_connect (priv->list_name_renderer, "editing-canceled",
G_CALLBACK (renderer_editing_canceled_cb), impl);
- gtk_tree_view_column_pack_start (impl->list_name_column, impl->list_name_renderer, TRUE);
+ gtk_tree_view_column_pack_start (priv->list_name_column, priv->list_name_renderer, TRUE);
- gtk_tree_view_append_column (GTK_TREE_VIEW (impl->browse_files_tree_view), impl->list_name_column);
+ gtk_tree_view_append_column (GTK_TREE_VIEW (priv->browse_files_tree_view), priv->list_name_column);
/* Size column */
@@ -2299,8 +2350,8 @@ create_file_list (GtkFileChooserDefault *impl)
"alignment", PANGO_ALIGN_RIGHT,
NULL);
gtk_tree_view_column_pack_start (column, renderer, TRUE); /* bug: it doesn't expand */
- gtk_tree_view_append_column (GTK_TREE_VIEW (impl->browse_files_tree_view), column);
- impl->list_size_column = column;
+ gtk_tree_view_append_column (GTK_TREE_VIEW (priv->browse_files_tree_view), column);
+ priv->list_size_column = column;
/* Modification time column */
@@ -2310,8 +2361,8 @@ create_file_list (GtkFileChooserDefault *impl)
renderer = gtk_cell_renderer_text_new ();
gtk_tree_view_column_pack_start (column, renderer, TRUE);
- gtk_tree_view_append_column (GTK_TREE_VIEW (impl->browse_files_tree_view), column);
- impl->list_mtime_column = column;
+ gtk_tree_view_append_column (GTK_TREE_VIEW (priv->browse_files_tree_view), column);
+ priv->list_mtime_column = column;
file_list_set_sort_column_ids (impl);
update_cell_renderer_attributes (impl);
@@ -2326,6 +2377,7 @@ static GtkWidget *
file_pane_create (GtkFileChooserDefault *impl,
GtkSizeGroup *size_group)
{
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
GtkWidget *vbox;
GtkWidget *hbox;
GtkWidget *widget;
@@ -2347,20 +2399,20 @@ file_pane_create (GtkFileChooserDefault *impl,
/* Preview */
- impl->preview_box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 12);
- gtk_box_pack_start (GTK_BOX (hbox), impl->preview_box, FALSE, FALSE, 0);
+ priv->preview_box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 12);
+ gtk_box_pack_start (GTK_BOX (hbox), priv->preview_box, FALSE, FALSE, 0);
/* Don't show preview box initially */
/* Filter combo */
- impl->filter_combo_hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12);
+ priv->filter_combo_hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12);
widget = filter_create (impl);
gtk_widget_show (widget);
- gtk_box_pack_end (GTK_BOX (impl->filter_combo_hbox), widget, FALSE, FALSE, 0);
+ gtk_box_pack_end (GTK_BOX (priv->filter_combo_hbox), widget, FALSE, FALSE, 0);
- gtk_box_pack_end (GTK_BOX (vbox), impl->filter_combo_hbox, FALSE, FALSE, 0);
+ gtk_box_pack_end (GTK_BOX (vbox), priv->filter_combo_hbox, FALSE, FALSE, 0);
return vbox;
}
@@ -2368,76 +2420,81 @@ file_pane_create (GtkFileChooserDefault *impl,
static void
location_entry_create (GtkFileChooserDefault *impl)
{
- if (!impl->location_entry)
- impl->location_entry = _gtk_file_chooser_entry_new (TRUE);
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
+
+ if (!priv->location_entry)
+ priv->location_entry = _gtk_file_chooser_entry_new (TRUE);
- _gtk_file_chooser_entry_set_local_only (GTK_FILE_CHOOSER_ENTRY (impl->location_entry), impl->local_only);
- _gtk_file_chooser_entry_set_action (GTK_FILE_CHOOSER_ENTRY (impl->location_entry), impl->action);
- gtk_entry_set_width_chars (GTK_ENTRY (impl->location_entry), 45);
- gtk_entry_set_activates_default (GTK_ENTRY (impl->location_entry), TRUE);
+ _gtk_file_chooser_entry_set_local_only (GTK_FILE_CHOOSER_ENTRY (priv->location_entry), priv->local_only);
+ _gtk_file_chooser_entry_set_action (GTK_FILE_CHOOSER_ENTRY (priv->location_entry), priv->action);
+ gtk_entry_set_width_chars (GTK_ENTRY (priv->location_entry), 45);
+ gtk_entry_set_activates_default (GTK_ENTRY (priv->location_entry), TRUE);
}
/* Creates the widgets specific to Save mode */
static void
save_widgets_create (GtkFileChooserDefault *impl)
{
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
GtkWidget *vbox;
GtkWidget *widget;
- if (impl->save_widgets != NULL)
+ if (priv->save_widgets != NULL)
return;
location_switch_to_path_bar (impl);
vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 12);
- impl->save_widgets_table = gtk_grid_new ();
- gtk_box_pack_start (GTK_BOX (vbox), impl->save_widgets_table, FALSE, FALSE, 0);
- gtk_widget_show (impl->save_widgets_table);
- gtk_grid_set_row_spacing (GTK_GRID (impl->save_widgets_table), 12);
- gtk_grid_set_column_spacing (GTK_GRID (impl->save_widgets_table), 12);
+ priv->save_widgets_table = gtk_grid_new ();
+ gtk_box_pack_start (GTK_BOX (vbox), priv->save_widgets_table, FALSE, FALSE, 0);
+ gtk_widget_show (priv->save_widgets_table);
+ gtk_grid_set_row_spacing (GTK_GRID (priv->save_widgets_table), 12);
+ gtk_grid_set_column_spacing (GTK_GRID (priv->save_widgets_table), 12);
/* Label */
widget = gtk_label_new_with_mnemonic (_("_Name:"));
gtk_widget_set_halign (widget, GTK_ALIGN_START);
gtk_widget_set_valign (widget, GTK_ALIGN_CENTER);
- gtk_grid_attach (GTK_GRID (impl->save_widgets_table), widget, 0, 0, 1, 1);
+ gtk_grid_attach (GTK_GRID (priv->save_widgets_table), widget, 0, 0, 1, 1);
gtk_widget_show (widget);
/* Location entry */
location_entry_create (impl);
- gtk_widget_set_hexpand (impl->location_entry, TRUE);
- gtk_grid_attach (GTK_GRID (impl->save_widgets_table), impl->location_entry, 1, 0, 1, 1);
- gtk_widget_show (impl->location_entry);
- gtk_label_set_mnemonic_widget (GTK_LABEL (widget), impl->location_entry);
+ gtk_widget_set_hexpand (priv->location_entry, TRUE);
+ gtk_grid_attach (GTK_GRID (priv->save_widgets_table), priv->location_entry, 1, 0, 1, 1);
+ gtk_widget_show (priv->location_entry);
+ gtk_label_set_mnemonic_widget (GTK_LABEL (widget), priv->location_entry);
/* Folder combo */
- impl->save_folder_label = gtk_label_new (NULL);
- gtk_widget_set_halign (impl->save_folder_label, GTK_ALIGN_START);
- gtk_widget_set_valign (impl->save_folder_label, GTK_ALIGN_CENTER);
- gtk_grid_attach (GTK_GRID (impl->save_widgets_table), impl->save_folder_label, 0, 1, 1, 1);
- gtk_widget_show (impl->save_folder_label);
+ priv->save_folder_label = gtk_label_new (NULL);
+ gtk_widget_set_halign (priv->save_folder_label, GTK_ALIGN_START);
+ gtk_widget_set_valign (priv->save_folder_label, GTK_ALIGN_CENTER);
+ gtk_grid_attach (GTK_GRID (priv->save_widgets_table), priv->save_folder_label, 0, 1, 1, 1);
+ gtk_widget_show (priv->save_folder_label);
- impl->save_widgets = vbox;
- gtk_box_pack_start (GTK_BOX (impl), impl->save_widgets, FALSE, FALSE, 0);
- gtk_box_reorder_child (GTK_BOX (impl), impl->save_widgets, 0);
- gtk_widget_show (impl->save_widgets);
+ priv->save_widgets = vbox;
+ gtk_box_pack_start (GTK_BOX (impl), priv->save_widgets, FALSE, FALSE, 0);
+ gtk_box_reorder_child (GTK_BOX (impl), priv->save_widgets, 0);
+ gtk_widget_show (priv->save_widgets);
}
/* Destroys the widgets specific to Save mode */
static void
save_widgets_destroy (GtkFileChooserDefault *impl)
{
- if (impl->save_widgets == NULL)
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
+
+ if (priv->save_widgets == NULL)
return;
- gtk_widget_destroy (impl->save_widgets);
- impl->save_widgets = NULL;
- impl->save_widgets_table = NULL;
- impl->location_entry = NULL;
- impl->save_folder_label = NULL;
+ gtk_widget_destroy (priv->save_widgets);
+ priv->save_widgets = NULL;
+ priv->save_widgets_table = NULL;
+ priv->location_entry = NULL;
+ priv->save_folder_label = NULL;
}
/* Turns on the path bar widget. Can be called even if we are already in that
@@ -2446,13 +2503,15 @@ save_widgets_destroy (GtkFileChooserDefault *impl)
static void
location_switch_to_path_bar (GtkFileChooserDefault *impl)
{
- if (impl->location_entry)
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
+
+ if (priv->location_entry)
{
- gtk_widget_destroy (impl->location_entry);
- impl->location_entry = NULL;
+ gtk_widget_destroy (priv->location_entry);
+ priv->location_entry = NULL;
}
- gtk_widget_hide (impl->location_entry_box);
+ gtk_widget_hide (priv->location_entry_box);
}
/* Turns on the location entry. Can be called even if we are already in that
@@ -2461,35 +2520,37 @@ location_switch_to_path_bar (GtkFileChooserDefault *impl)
static void
location_switch_to_filename_entry (GtkFileChooserDefault *impl)
{
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
+
/* when in search or recent files mode, we are not showing the
* location_entry_box container, so there's no point in switching
* to it.
*/
- if (impl->operation_mode == OPERATION_MODE_SEARCH ||
- impl->operation_mode == OPERATION_MODE_RECENT)
+ if (priv->operation_mode == OPERATION_MODE_SEARCH ||
+ priv->operation_mode == OPERATION_MODE_RECENT)
return;
/* Box */
- gtk_widget_show (impl->location_entry_box);
+ gtk_widget_show (priv->location_entry_box);
/* Entry */
- if (!impl->location_entry)
+ if (!priv->location_entry)
{
location_entry_create (impl);
- gtk_box_pack_start (GTK_BOX (impl->location_entry_box), impl->location_entry, TRUE, TRUE, 0);
- gtk_label_set_mnemonic_widget (GTK_LABEL (impl->location_label), impl->location_entry);
+ gtk_box_pack_start (GTK_BOX (priv->location_entry_box), priv->location_entry, TRUE, TRUE, 0);
+ gtk_label_set_mnemonic_widget (GTK_LABEL (priv->location_label), priv->location_entry);
}
/* Configure the entry */
- _gtk_file_chooser_entry_set_base_folder (GTK_FILE_CHOOSER_ENTRY (impl->location_entry),
impl->current_folder);
+ _gtk_file_chooser_entry_set_base_folder (GTK_FILE_CHOOSER_ENTRY (priv->location_entry),
priv->current_folder);
/* Done */
- gtk_widget_show (impl->location_entry);
- gtk_widget_grab_focus (impl->location_entry);
+ gtk_widget_show (priv->location_entry);
+ gtk_widget_grab_focus (priv->location_entry);
}
/* Sets a new location mode. set_buttons determines whether the toggle button
@@ -2500,8 +2561,10 @@ location_mode_set (GtkFileChooserDefault *impl,
LocationMode new_mode,
gboolean set_button)
{
- if (impl->action == GTK_FILE_CHOOSER_ACTION_OPEN ||
- impl->action == GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER)
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
+
+ if (priv->action == GTK_FILE_CHOOSER_ACTION_OPEN ||
+ priv->action == GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER)
{
GtkWindow *toplevel;
GtkWidget *current_focus;
@@ -2522,14 +2585,14 @@ location_mode_set (GtkFileChooserDefault *impl,
if (toplevel)
{
current_focus = gtk_window_get_focus (toplevel);
- if (!current_focus || current_focus == impl->location_entry)
+ if (!current_focus || current_focus == priv->location_entry)
switch_to_file_list = TRUE;
}
location_switch_to_path_bar (impl);
if (switch_to_file_list)
- gtk_widget_grab_focus (impl->browse_files_tree_view);
+ gtk_widget_grab_focus (priv->browse_files_tree_view);
break;
@@ -2545,46 +2608,48 @@ location_mode_set (GtkFileChooserDefault *impl,
if (set_button)
{
- g_signal_handlers_block_by_func (impl->location_button,
+ g_signal_handlers_block_by_func (priv->location_button,
G_CALLBACK (location_button_toggled_cb), impl);
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (impl->location_button), button_active);
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (priv->location_button), button_active);
- g_signal_handlers_unblock_by_func (impl->location_button,
+ g_signal_handlers_unblock_by_func (priv->location_button,
G_CALLBACK (location_button_toggled_cb), impl);
}
}
- impl->location_mode = new_mode;
+ priv->location_mode = new_mode;
}
static void
location_toggle_popup_handler (GtkFileChooserDefault *impl)
{
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
+
/* when in search or recent files mode, we are not showing the
* location_entry_box container, so there's no point in switching
* to it.
*/
- if (impl->operation_mode == OPERATION_MODE_SEARCH ||
- impl->operation_mode == OPERATION_MODE_RECENT)
+ if (priv->operation_mode == OPERATION_MODE_SEARCH ||
+ priv->operation_mode == OPERATION_MODE_RECENT)
return;
/* If the file entry is not visible, show it.
* If it is visible, turn it off only if it is focused. Otherwise, switch to the entry.
*/
- if (impl->location_mode == LOCATION_MODE_PATH_BAR)
+ if (priv->location_mode == LOCATION_MODE_PATH_BAR)
{
location_mode_set (impl, LOCATION_MODE_FILENAME_ENTRY, TRUE);
}
- else if (impl->location_mode == LOCATION_MODE_FILENAME_ENTRY)
+ else if (priv->location_mode == LOCATION_MODE_FILENAME_ENTRY)
{
- if (gtk_widget_has_focus (impl->location_entry))
+ if (gtk_widget_has_focus (priv->location_entry))
{
location_mode_set (impl, LOCATION_MODE_PATH_BAR, TRUE);
}
else
{
- gtk_widget_grab_focus (impl->location_entry);
+ gtk_widget_grab_focus (priv->location_entry);
}
}
}
@@ -2594,6 +2659,7 @@ static void
location_button_toggled_cb (GtkToggleButton *toggle,
GtkFileChooserDefault *impl)
{
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
gboolean is_active;
LocationMode new_mode;
@@ -2601,12 +2667,12 @@ location_button_toggled_cb (GtkToggleButton *toggle,
if (is_active)
{
- g_assert (impl->location_mode == LOCATION_MODE_PATH_BAR);
+ g_assert (priv->location_mode == LOCATION_MODE_PATH_BAR);
new_mode = LOCATION_MODE_FILENAME_ENTRY;
}
else
{
- g_assert (impl->location_mode == LOCATION_MODE_FILENAME_ENTRY);
+ g_assert (priv->location_mode == LOCATION_MODE_FILENAME_ENTRY);
new_mode = LOCATION_MODE_PATH_BAR;
}
@@ -2617,23 +2683,24 @@ location_button_toggled_cb (GtkToggleButton *toggle,
static void
location_button_create (GtkFileChooserDefault *impl)
{
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
GtkWidget *image;
const char *str;
image = gtk_image_new_from_stock (GTK_STOCK_EDIT, GTK_ICON_SIZE_BUTTON);
gtk_widget_show (image);
- impl->location_button = g_object_new (GTK_TYPE_TOGGLE_BUTTON,
+ priv->location_button = g_object_new (GTK_TYPE_TOGGLE_BUTTON,
"image", image,
NULL);
- g_signal_connect (impl->location_button, "toggled",
+ g_signal_connect (priv->location_button, "toggled",
G_CALLBACK (location_button_toggled_cb), impl);
str = _("Type a file name");
- gtk_widget_set_tooltip_text (impl->location_button, str);
- atk_object_set_name (gtk_widget_get_accessible (impl->location_button), str);
+ gtk_widget_set_tooltip_text (priv->location_button, str);
+ atk_object_set_name (gtk_widget_get_accessible (priv->location_button), str);
}
typedef enum {
@@ -2649,25 +2716,27 @@ typedef enum {
static void
info_bar_create (GtkFileChooserDefault *impl)
{
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
GtkWidget *content_area;
- impl->browse_select_a_folder_info_bar = gtk_info_bar_new ();
- impl->browse_select_a_folder_icon = gtk_image_new_from_stock (GTK_STOCK_DIRECTORY, GTK_ICON_SIZE_MENU);
- impl->browse_select_a_folder_label = gtk_label_new (NULL);
+ priv->browse_select_a_folder_info_bar = gtk_info_bar_new ();
+ priv->browse_select_a_folder_icon = gtk_image_new_from_stock (GTK_STOCK_DIRECTORY, GTK_ICON_SIZE_MENU);
+ priv->browse_select_a_folder_label = gtk_label_new (NULL);
- content_area = gtk_info_bar_get_content_area (GTK_INFO_BAR (impl->browse_select_a_folder_info_bar));
+ content_area = gtk_info_bar_get_content_area (GTK_INFO_BAR (priv->browse_select_a_folder_info_bar));
- gtk_box_pack_start (GTK_BOX (content_area), impl->browse_select_a_folder_icon, FALSE, FALSE, 0);
- gtk_box_pack_start (GTK_BOX (content_area), impl->browse_select_a_folder_label, FALSE, FALSE, 0);
+ gtk_box_pack_start (GTK_BOX (content_area), priv->browse_select_a_folder_icon, FALSE, FALSE, 0);
+ gtk_box_pack_start (GTK_BOX (content_area), priv->browse_select_a_folder_label, FALSE, FALSE, 0);
- gtk_widget_show (impl->browse_select_a_folder_icon);
- gtk_widget_show (impl->browse_select_a_folder_label);
+ gtk_widget_show (priv->browse_select_a_folder_icon);
+ gtk_widget_show (priv->browse_select_a_folder_label);
}
/* Sets the info bar to show the appropriate informational or warning message */
static void
info_bar_set (GtkFileChooserDefault *impl, PathBarMode mode)
{
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
char *str;
gboolean free_str;
GtkMessageType message_type;
@@ -2697,11 +2766,11 @@ info_bar_set (GtkFileChooserDefault *impl, PathBarMode mode)
return;
}
- gtk_info_bar_set_message_type (GTK_INFO_BAR (impl->browse_select_a_folder_info_bar), message_type);
- gtk_image_set_from_stock (GTK_IMAGE (impl->browse_select_a_folder_icon),
+ gtk_info_bar_set_message_type (GTK_INFO_BAR (priv->browse_select_a_folder_info_bar), message_type);
+ gtk_image_set_from_stock (GTK_IMAGE (priv->browse_select_a_folder_icon),
(message_type == GTK_MESSAGE_WARNING) ? GTK_STOCK_DIALOG_WARNING :
GTK_STOCK_DIRECTORY,
GTK_ICON_SIZE_MENU);
- gtk_label_set_markup (GTK_LABEL (impl->browse_select_a_folder_label), str);
+ gtk_label_set_markup (GTK_LABEL (priv->browse_select_a_folder_label), str);
if (free_str)
g_free (str);
@@ -2711,54 +2780,58 @@ info_bar_set (GtkFileChooserDefault *impl, PathBarMode mode)
static void
special_mode_widgets_create (GtkFileChooserDefault *impl)
{
- impl->browse_special_mode_icon = gtk_image_new ();
- gtk_size_group_add_widget (impl->browse_path_bar_size_group, impl->browse_special_mode_icon);
- gtk_box_pack_start (GTK_BOX (impl->browse_path_bar_hbox), impl->browse_special_mode_icon, FALSE, FALSE, 0);
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
+
+ priv->browse_special_mode_icon = gtk_image_new ();
+ gtk_size_group_add_widget (priv->browse_path_bar_size_group, priv->browse_special_mode_icon);
+ gtk_box_pack_start (GTK_BOX (priv->browse_path_bar_hbox), priv->browse_special_mode_icon, FALSE, FALSE, 0);
- impl->browse_special_mode_label = gtk_label_new (NULL);
- gtk_size_group_add_widget (impl->browse_path_bar_size_group, impl->browse_special_mode_label);
- gtk_box_pack_start (GTK_BOX (impl->browse_path_bar_hbox), impl->browse_special_mode_label, FALSE, FALSE,
0);
+ priv->browse_special_mode_label = gtk_label_new (NULL);
+ gtk_size_group_add_widget (priv->browse_path_bar_size_group, priv->browse_special_mode_label);
+ gtk_box_pack_start (GTK_BOX (priv->browse_path_bar_hbox), priv->browse_special_mode_label, FALSE, FALSE,
0);
}
/* Creates the path bar's container and eveyrthing that goes in it: location button, pathbar, info bar, and
Create Folder button */
static void
path_bar_widgets_create (GtkFileChooserDefault *impl)
{
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
+
/* Location widgets - note browse_path_bar_hbox is packed in the right place until switch_path_bar() */
- impl->browse_path_bar_hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12);
- gtk_widget_show (impl->browse_path_bar_hbox);
+ priv->browse_path_bar_hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12);
+ gtk_widget_show (priv->browse_path_bar_hbox);
/* Size group that allows the path bar to be the same size between modes */
- impl->browse_path_bar_size_group = gtk_size_group_new (GTK_SIZE_GROUP_VERTICAL);
- gtk_size_group_set_ignore_hidden (impl->browse_path_bar_size_group, FALSE);
+ priv->browse_path_bar_size_group = gtk_size_group_new (GTK_SIZE_GROUP_VERTICAL);
+ gtk_size_group_set_ignore_hidden (priv->browse_path_bar_size_group, FALSE);
/* Location button */
location_button_create (impl);
- gtk_size_group_add_widget (impl->browse_path_bar_size_group, impl->location_button);
- gtk_box_pack_start (GTK_BOX (impl->browse_path_bar_hbox), impl->location_button, FALSE, FALSE, 0);
+ gtk_size_group_add_widget (priv->browse_path_bar_size_group, priv->location_button);
+ gtk_box_pack_start (GTK_BOX (priv->browse_path_bar_hbox), priv->location_button, FALSE, FALSE, 0);
/* Path bar */
- impl->browse_path_bar = g_object_new (GTK_TYPE_PATH_BAR, NULL);
- _gtk_path_bar_set_file_system (GTK_PATH_BAR (impl->browse_path_bar), impl->file_system);
- g_signal_connect (impl->browse_path_bar, "path-clicked", G_CALLBACK (path_bar_clicked), impl);
+ priv->browse_path_bar = g_object_new (GTK_TYPE_PATH_BAR, NULL);
+ _gtk_path_bar_set_file_system (GTK_PATH_BAR (priv->browse_path_bar), priv->file_system);
+ g_signal_connect (priv->browse_path_bar, "path-clicked", G_CALLBACK (path_bar_clicked), impl);
- gtk_size_group_add_widget (impl->browse_path_bar_size_group, impl->browse_path_bar);
- gtk_box_pack_start (GTK_BOX (impl->browse_path_bar_hbox), impl->browse_path_bar, TRUE, TRUE, 0);
+ gtk_size_group_add_widget (priv->browse_path_bar_size_group, priv->browse_path_bar);
+ gtk_box_pack_start (GTK_BOX (priv->browse_path_bar_hbox), priv->browse_path_bar, TRUE, TRUE, 0);
/* Info bar */
info_bar_create (impl);
- gtk_size_group_add_widget (impl->browse_path_bar_size_group, impl->browse_select_a_folder_info_bar);
- gtk_box_pack_start (GTK_BOX (impl->browse_path_bar_hbox), impl->browse_select_a_folder_info_bar, TRUE,
TRUE, 0);
+ gtk_size_group_add_widget (priv->browse_path_bar_size_group, priv->browse_select_a_folder_info_bar);
+ gtk_box_pack_start (GTK_BOX (priv->browse_path_bar_hbox), priv->browse_select_a_folder_info_bar, TRUE,
TRUE, 0);
/* Widgets for special modes (recently-used in Open mode, Search mode) */
special_mode_widgets_create (impl);
/* Create Folder */
- impl->browse_new_folder_button = gtk_button_new_with_mnemonic (_("Create Fo_lder"));
- g_signal_connect (impl->browse_new_folder_button, "clicked",
+ priv->browse_new_folder_button = gtk_button_new_with_mnemonic (_("Create Fo_lder"));
+ g_signal_connect (priv->browse_new_folder_button, "clicked",
G_CALLBACK (new_folder_button_clicked), impl);
- gtk_size_group_add_widget (impl->browse_path_bar_size_group, impl->browse_new_folder_button);
- gtk_box_pack_end (GTK_BOX (impl->browse_path_bar_hbox), impl->browse_new_folder_button, FALSE, FALSE, 0);
+ gtk_size_group_add_widget (priv->browse_path_bar_size_group, priv->browse_new_folder_button);
+ gtk_box_pack_end (GTK_BOX (priv->browse_path_bar_hbox), priv->browse_new_folder_button, FALSE, FALSE, 0);
}
/* Sets the path bar's mode to show a label, the actual folder path, or a
@@ -2769,6 +2842,7 @@ path_bar_widgets_create (GtkFileChooserDefault *impl)
static void
path_bar_set_mode (GtkFileChooserDefault *impl, PathBarMode mode)
{
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
gboolean path_bar_visible = FALSE;
gboolean special_mode_widgets_visible = FALSE;
gboolean info_bar_visible = FALSE;
@@ -2790,20 +2864,20 @@ path_bar_set_mode (GtkFileChooserDefault *impl, PathBarMode mode)
break;
case PATH_BAR_RECENTLY_USED:
- gtk_image_set_from_icon_name (GTK_IMAGE (impl->browse_special_mode_icon), "document-open-recent",
GTK_ICON_SIZE_BUTTON);
+ gtk_image_set_from_icon_name (GTK_IMAGE (priv->browse_special_mode_icon), "document-open-recent",
GTK_ICON_SIZE_BUTTON);
tmp = g_strdup_printf ("<b>%s</b>", _("Recently Used"));
- gtk_label_set_markup (GTK_LABEL (impl->browse_special_mode_label), tmp);
+ gtk_label_set_markup (GTK_LABEL (priv->browse_special_mode_label), tmp);
g_free (tmp);
special_mode_widgets_visible = TRUE;
break;
case PATH_BAR_SEARCH:
- gtk_image_set_from_stock (GTK_IMAGE (impl->browse_special_mode_icon), GTK_STOCK_FIND,
GTK_ICON_SIZE_BUTTON);
+ gtk_image_set_from_stock (GTK_IMAGE (priv->browse_special_mode_icon), GTK_STOCK_FIND,
GTK_ICON_SIZE_BUTTON);
tmp = g_strdup_printf ("<b>%s</b>", _("Search:"));
- gtk_label_set_markup (GTK_LABEL (impl->browse_special_mode_label), tmp);
+ gtk_label_set_markup (GTK_LABEL (priv->browse_special_mode_label), tmp);
g_free (tmp);
special_mode_widgets_visible = TRUE;
@@ -2813,58 +2887,59 @@ path_bar_set_mode (GtkFileChooserDefault *impl, PathBarMode mode)
g_assert_not_reached ();
}
- gtk_widget_set_visible (impl->browse_path_bar, path_bar_visible);
- gtk_widget_set_visible (impl->browse_special_mode_icon, special_mode_widgets_visible);
- gtk_widget_set_visible (impl->browse_special_mode_label, special_mode_widgets_visible);
- gtk_widget_set_visible (impl->browse_select_a_folder_info_bar, info_bar_visible);
+ gtk_widget_set_visible (priv->browse_path_bar, path_bar_visible);
+ gtk_widget_set_visible (priv->browse_special_mode_icon, special_mode_widgets_visible);
+ gtk_widget_set_visible (priv->browse_special_mode_label, special_mode_widgets_visible);
+ gtk_widget_set_visible (priv->browse_select_a_folder_info_bar, info_bar_visible);
if (path_bar_visible)
{
- if (impl->create_folders
- && impl->action != GTK_FILE_CHOOSER_ACTION_OPEN
- && impl->operation_mode != OPERATION_MODE_RECENT)
+ if (priv->create_folders
+ && priv->action != GTK_FILE_CHOOSER_ACTION_OPEN
+ && priv->operation_mode != OPERATION_MODE_RECENT)
create_folder_visible = TRUE;
}
- gtk_widget_set_visible (impl->browse_new_folder_button, create_folder_visible);
+ gtk_widget_set_visible (priv->browse_new_folder_button, create_folder_visible);
}
/* Creates the main hpaned with the widgets shared by Open and Save mode */
static void
browse_widgets_create (GtkFileChooserDefault *impl)
{
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
GtkWidget *hpaned;
GtkWidget *widget;
GtkSizeGroup *size_group;
- impl->browse_widgets_box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 12);
- gtk_box_pack_start (GTK_BOX (impl), impl->browse_widgets_box, TRUE, TRUE, 0);
- gtk_widget_show (impl->browse_widgets_box);
+ priv->browse_widgets_box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 12);
+ gtk_box_pack_start (GTK_BOX (impl), priv->browse_widgets_box, TRUE, TRUE, 0);
+ gtk_widget_show (priv->browse_widgets_box);
- impl->browse_header_box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 12);
- gtk_box_pack_start (GTK_BOX (impl->browse_widgets_box), impl->browse_header_box, FALSE, FALSE, 0);
- gtk_widget_show (impl->browse_header_box);
+ priv->browse_header_box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 12);
+ gtk_box_pack_start (GTK_BOX (priv->browse_widgets_box), priv->browse_header_box, FALSE, FALSE, 0);
+ gtk_widget_show (priv->browse_header_box);
/* Path bar, info bar, and their respective machinery - the browse_path_bar_hbox will get packed elsewhere
*/
path_bar_widgets_create (impl);
/* Box for the location label and entry */
- impl->location_entry_box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12);
- gtk_box_pack_start (GTK_BOX (impl->browse_header_box), impl->location_entry_box, FALSE, FALSE, 0);
+ priv->location_entry_box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12);
+ gtk_box_pack_start (GTK_BOX (priv->browse_header_box), priv->location_entry_box, FALSE, FALSE, 0);
- impl->location_label = gtk_label_new_with_mnemonic (_("_Location:"));
- gtk_widget_show (impl->location_label);
- gtk_box_pack_start (GTK_BOX (impl->location_entry_box), impl->location_label, FALSE, FALSE, 0);
+ priv->location_label = gtk_label_new_with_mnemonic (_("_Location:"));
+ gtk_widget_show (priv->location_label);
+ gtk_box_pack_start (GTK_BOX (priv->location_entry_box), priv->location_label, FALSE, FALSE, 0);
/* size group is used by the scrolled windows of the panes */
size_group = gtk_size_group_new (GTK_SIZE_GROUP_VERTICAL);
/* Paned widget */
- hpaned = impl->browse_widgets_hpaned = gtk_paned_new (GTK_ORIENTATION_HORIZONTAL);
+ hpaned = priv->browse_widgets_hpaned = gtk_paned_new (GTK_ORIENTATION_HORIZONTAL);
gtk_widget_show (hpaned);
- gtk_box_pack_start (GTK_BOX (impl->browse_widgets_box), hpaned, TRUE, TRUE, 0);
+ gtk_box_pack_start (GTK_BOX (priv->browse_widgets_box), hpaned, TRUE, TRUE, 0);
widget = shortcuts_pane_create (impl, size_group);
gtk_paned_pack1 (GTK_PANED (hpaned), widget, FALSE, FALSE);
@@ -2879,6 +2954,7 @@ gtk_file_chooser_default_constructor (GType type,
GObjectConstructParam *construct_params)
{
GtkFileChooserDefault *impl;
+ GtkFileChooserDefaultPrivate *priv;
GObject *object;
profile_start ("start", NULL);
@@ -2887,8 +2963,9 @@ gtk_file_chooser_default_constructor (GType type,
n_construct_properties,
construct_params);
impl = GTK_FILE_CHOOSER_DEFAULT (object);
+ priv = impl->priv;
- g_assert (impl->file_system);
+ g_assert (priv->file_system);
gtk_widget_push_composite_child ();
@@ -2896,10 +2973,10 @@ gtk_file_chooser_default_constructor (GType type,
browse_widgets_create (impl);
/* Alignment to hold extra widget */
- impl->extra_align = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
- gtk_widget_set_halign (impl->extra_align, GTK_ALIGN_START);
- gtk_widget_set_valign (impl->extra_align, GTK_ALIGN_CENTER);
- gtk_box_pack_start (GTK_BOX (impl), impl->extra_align, FALSE, FALSE, 0);
+ priv->extra_align = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
+ gtk_widget_set_halign (priv->extra_align, GTK_ALIGN_START);
+ gtk_widget_set_valign (priv->extra_align, GTK_ALIGN_CENTER);
+ gtk_box_pack_start (GTK_BOX (impl), priv->extra_align, FALSE, FALSE, 0);
gtk_widget_pop_composite_child ();
update_appearance (impl);
@@ -2914,6 +2991,8 @@ static void
set_extra_widget (GtkFileChooserDefault *impl,
GtkWidget *extra_widget)
{
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
+
if (extra_widget)
{
g_object_ref (extra_widget);
@@ -2921,20 +3000,20 @@ set_extra_widget (GtkFileChooserDefault *impl,
gtk_widget_show (extra_widget);
}
- if (impl->extra_widget)
+ if (priv->extra_widget)
{
- gtk_container_remove (GTK_CONTAINER (impl->extra_align), impl->extra_widget);
- g_object_unref (impl->extra_widget);
+ gtk_container_remove (GTK_CONTAINER (priv->extra_align), priv->extra_widget);
+ g_object_unref (priv->extra_widget);
}
- impl->extra_widget = extra_widget;
- if (impl->extra_widget)
+ priv->extra_widget = extra_widget;
+ if (priv->extra_widget)
{
- gtk_container_add (GTK_CONTAINER (impl->extra_align), impl->extra_widget);
- gtk_widget_show (impl->extra_align);
+ gtk_container_add (GTK_CONTAINER (priv->extra_align), priv->extra_widget);
+ gtk_widget_show (priv->extra_align);
}
else
- gtk_widget_hide (impl->extra_align);
+ gtk_widget_hide (priv->extra_align);
}
static void
@@ -2957,15 +3036,17 @@ static void
set_local_only (GtkFileChooserDefault *impl,
gboolean local_only)
{
- if (local_only != impl->local_only)
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
+
+ if (local_only != priv->local_only)
{
- impl->local_only = local_only;
+ priv->local_only = local_only;
- if (impl->location_entry)
- _gtk_file_chooser_entry_set_local_only (GTK_FILE_CHOOSER_ENTRY (impl->location_entry), local_only);
+ if (priv->location_entry)
+ _gtk_file_chooser_entry_set_local_only (GTK_FILE_CHOOSER_ENTRY (priv->location_entry), local_only);
- if (local_only && impl->current_folder &&
- !_gtk_file_has_native_path (impl->current_folder))
+ if (local_only && priv->current_folder &&
+ !_gtk_file_has_native_path (priv->current_folder))
{
/* If we are pointing to a non-local folder, make an effort to change
* back to a local folder, but it's really up to the app to not cause
@@ -2982,20 +3063,21 @@ set_select_multiple (GtkFileChooserDefault *impl,
gboolean select_multiple,
gboolean property_notify)
{
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
GtkTreeSelection *selection;
GtkSelectionMode mode;
- if (select_multiple == impl->select_multiple)
+ if (select_multiple == priv->select_multiple)
return;
mode = select_multiple ? GTK_SELECTION_MULTIPLE : GTK_SELECTION_SINGLE;
- selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (impl->browse_files_tree_view));
+ selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (priv->browse_files_tree_view));
gtk_tree_selection_set_mode (selection, mode);
- gtk_tree_view_set_rubber_banding (GTK_TREE_VIEW (impl->browse_files_tree_view), select_multiple);
+ gtk_tree_view_set_rubber_banding (GTK_TREE_VIEW (priv->browse_files_tree_view), select_multiple);
- impl->select_multiple = select_multiple;
+ priv->select_multiple = select_multiple;
g_object_notify (G_OBJECT (impl), "select-multiple");
check_preview_change (impl);
@@ -3004,9 +3086,11 @@ set_select_multiple (GtkFileChooserDefault *impl,
static void
set_file_system_backend (GtkFileChooserDefault *impl)
{
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
+
profile_start ("start for backend", "default");
- impl->file_system = _gtk_file_system_new ();
+ priv->file_system = _gtk_file_system_new ();
profile_end ("end", NULL);
}
@@ -3014,9 +3098,11 @@ set_file_system_backend (GtkFileChooserDefault *impl)
static void
unset_file_system_backend (GtkFileChooserDefault *impl)
{
- g_object_unref (impl->file_system);
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
- impl->file_system = NULL;
+ g_object_unref (priv->file_system);
+
+ priv->file_system = NULL;
}
/* Saves the widgets around the pathbar so they can be reparented later
@@ -3026,13 +3112,14 @@ unset_file_system_backend (GtkFileChooserDefault *impl)
static void
save_path_bar (GtkFileChooserDefault *impl)
{
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
GtkWidget *parent;
- g_object_ref (impl->browse_path_bar_hbox);
+ g_object_ref (priv->browse_path_bar_hbox);
- parent = gtk_widget_get_parent (impl->browse_path_bar_hbox);
+ parent = gtk_widget_get_parent (priv->browse_path_bar_hbox);
if (parent)
- gtk_container_remove (GTK_CONTAINER (parent), impl->browse_path_bar_hbox);
+ gtk_container_remove (GTK_CONTAINER (parent), priv->browse_path_bar_hbox);
}
/* Reparents the path bar and the "Create folder" button to the right place:
@@ -3043,35 +3130,38 @@ save_path_bar (GtkFileChooserDefault *impl)
static void
restore_path_bar (GtkFileChooserDefault *impl)
{
- if (impl->action == GTK_FILE_CHOOSER_ACTION_OPEN
- || impl->action == GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER)
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
+
+ if (priv->action == GTK_FILE_CHOOSER_ACTION_OPEN
+ || priv->action == GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER)
{
- gtk_box_pack_start (GTK_BOX (impl->browse_header_box), impl->browse_path_bar_hbox, FALSE, FALSE, 0);
- gtk_box_reorder_child (GTK_BOX (impl->browse_header_box), impl->browse_path_bar_hbox, 0);
+ gtk_box_pack_start (GTK_BOX (priv->browse_header_box), priv->browse_path_bar_hbox, FALSE, FALSE, 0);
+ gtk_box_reorder_child (GTK_BOX (priv->browse_header_box), priv->browse_path_bar_hbox, 0);
}
- else if (impl->action == GTK_FILE_CHOOSER_ACTION_SAVE
- || impl->action == GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER)
+ else if (priv->action == GTK_FILE_CHOOSER_ACTION_SAVE
+ || priv->action == GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER)
{
- gtk_widget_set_hexpand (impl->browse_path_bar_hbox, TRUE);
- gtk_grid_attach (GTK_GRID (impl->save_widgets_table), impl->browse_path_bar_hbox, 1, 1, 1, 1);
- gtk_label_set_mnemonic_widget (GTK_LABEL (impl->save_folder_label), impl->browse_path_bar);
+ gtk_widget_set_hexpand (priv->browse_path_bar_hbox, TRUE);
+ gtk_grid_attach (GTK_GRID (priv->save_widgets_table), priv->browse_path_bar_hbox, 1, 1, 1, 1);
+ gtk_label_set_mnemonic_widget (GTK_LABEL (priv->save_folder_label), priv->browse_path_bar);
}
else
g_assert_not_reached ();
- g_object_unref (impl->browse_path_bar_hbox);
+ g_object_unref (priv->browse_path_bar_hbox);
}
/* Takes the folder stored in a row in the recent_model, and puts it in the pathbar */
static void
put_recent_folder_in_pathbar (GtkFileChooserDefault *impl, GtkTreeIter *iter)
{
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
GFile *file;
- gtk_tree_model_get (GTK_TREE_MODEL (impl->recent_model), iter,
+ gtk_tree_model_get (GTK_TREE_MODEL (priv->recent_model), iter,
MODEL_COL_FILE, &file,
-1);
- _gtk_path_bar_set_file (GTK_PATH_BAR (impl->browse_path_bar), file, FALSE);
+ _gtk_path_bar_set_file (GTK_PATH_BAR (priv->browse_path_bar), file, FALSE);
g_object_unref (file);
}
@@ -3082,22 +3172,23 @@ put_recent_folder_in_pathbar (GtkFileChooserDefault *impl, GtkTreeIter *iter)
static void
path_bar_update (GtkFileChooserDefault *impl)
{
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
PathBarMode mode;
- switch (impl->operation_mode)
+ switch (priv->operation_mode)
{
case OPERATION_MODE_BROWSE:
mode = PATH_BAR_FOLDER_PATH;
break;
case OPERATION_MODE_RECENT:
- if (impl->action == GTK_FILE_CHOOSER_ACTION_SAVE)
+ if (priv->action == GTK_FILE_CHOOSER_ACTION_SAVE)
{
GtkTreeSelection *selection;
gboolean have_selected;
GtkTreeIter iter;
- selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (impl->browse_files_tree_view));
+ selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (priv->browse_files_tree_view));
/* Save mode means single-selection mode, so the following is valid */
have_selected = gtk_tree_selection_get_selected (selection, NULL, &iter);
@@ -3130,12 +3221,14 @@ path_bar_update (GtkFileChooserDefault *impl)
static void
operation_mode_discard_search_widgets (GtkFileChooserDefault *impl)
{
- if (impl->search_hbox)
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
+
+ if (priv->search_hbox)
{
- gtk_widget_destroy (impl->search_hbox);
+ gtk_widget_destroy (priv->search_hbox);
- impl->search_hbox = NULL;
- impl->search_entry = NULL;
+ priv->search_hbox = NULL;
+ priv->search_entry = NULL;
}
}
@@ -3169,25 +3262,29 @@ operation_mode_stop (GtkFileChooserDefault *impl, OperationMode mode)
static void
operation_mode_set_browse (GtkFileChooserDefault *impl)
{
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
+
path_bar_update (impl);
- if (impl->action == GTK_FILE_CHOOSER_ACTION_OPEN ||
- impl->action == GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER)
+ if (priv->action == GTK_FILE_CHOOSER_ACTION_OPEN ||
+ priv->action == GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER)
{
- gtk_widget_show (impl->location_button);
- location_mode_set (impl, impl->location_mode, TRUE);
+ gtk_widget_show (priv->location_button);
+ location_mode_set (impl, priv->location_mode, TRUE);
- if (impl->location_mode == LOCATION_MODE_FILENAME_ENTRY)
- gtk_widget_show (impl->location_entry_box);
+ if (priv->location_mode == LOCATION_MODE_FILENAME_ENTRY)
+ gtk_widget_show (priv->location_entry_box);
}
}
static void
operation_mode_set_search (GtkFileChooserDefault *impl)
{
- g_assert (impl->search_hbox == NULL);
- g_assert (impl->search_entry == NULL);
- g_assert (impl->search_model == NULL);
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
+
+ g_assert (priv->search_hbox == NULL);
+ g_assert (priv->search_entry == NULL);
+ g_assert (priv->search_model == NULL);
search_setup_widgets (impl);
}
@@ -3195,14 +3292,16 @@ operation_mode_set_search (GtkFileChooserDefault *impl)
static void
operation_mode_set_recent (GtkFileChooserDefault *impl)
{
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
+
path_bar_update (impl);
/* Hide the location widgets temporarily */
- if (impl->action == GTK_FILE_CHOOSER_ACTION_OPEN ||
- impl->action == GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER)
+ if (priv->action == GTK_FILE_CHOOSER_ACTION_OPEN ||
+ priv->action == GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER)
{
- gtk_widget_hide (impl->location_button);
- gtk_widget_hide (impl->location_entry_box);
+ gtk_widget_hide (priv->location_button);
+ gtk_widget_hide (priv->location_entry_box);
}
recent_start_loading (impl);
@@ -3211,13 +3310,14 @@ operation_mode_set_recent (GtkFileChooserDefault *impl)
static void
operation_mode_set (GtkFileChooserDefault *impl, OperationMode mode)
{
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
GFile *file;
- operation_mode_stop (impl, impl->operation_mode);
+ operation_mode_stop (impl, priv->operation_mode);
- impl->operation_mode = mode;
+ priv->operation_mode = mode;
- switch (impl->operation_mode)
+ switch (priv->operation_mode)
{
case OPERATION_MODE_BROWSE:
operation_mode_set_browse (impl);
@@ -3230,7 +3330,7 @@ operation_mode_set (GtkFileChooserDefault *impl, OperationMode mode)
case OPERATION_MODE_RECENT:
operation_mode_set_recent (impl);
file = g_file_new_for_uri ("recent:///");
- gtk_places_sidebar_set_location (GTK_PLACES_SIDEBAR (impl->places_sidebar), file);
+ gtk_places_sidebar_set_location (GTK_PLACES_SIDEBAR (priv->places_sidebar), file);
g_object_unref (file);
break;
@@ -3248,40 +3348,42 @@ operation_mode_set (GtkFileChooserDefault *impl, OperationMode mode)
static void
update_appearance (GtkFileChooserDefault *impl)
{
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
+
save_path_bar (impl);
- if (impl->action == GTK_FILE_CHOOSER_ACTION_SAVE ||
- impl->action == GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER)
+ if (priv->action == GTK_FILE_CHOOSER_ACTION_SAVE ||
+ priv->action == GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER)
{
const char *text;
- gtk_widget_hide (impl->location_button);
+ gtk_widget_hide (priv->location_button);
save_widgets_create (impl);
- if (impl->action == GTK_FILE_CHOOSER_ACTION_SAVE)
+ if (priv->action == GTK_FILE_CHOOSER_ACTION_SAVE)
text = _("Save in _folder:");
else
text = _("Create in _folder:");
- gtk_label_set_text_with_mnemonic (GTK_LABEL (impl->save_folder_label), text);
+ gtk_label_set_text_with_mnemonic (GTK_LABEL (priv->save_folder_label), text);
- if (impl->select_multiple)
+ if (priv->select_multiple)
{
g_warning ("Save mode cannot be set in conjunction with multiple selection mode. "
"Re-setting to single selection mode.");
set_select_multiple (impl, FALSE, TRUE);
}
}
- else if (impl->action == GTK_FILE_CHOOSER_ACTION_OPEN ||
- impl->action == GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER)
+ else if (priv->action == GTK_FILE_CHOOSER_ACTION_OPEN ||
+ priv->action == GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER)
{
- gtk_widget_show (impl->location_button);
+ gtk_widget_show (priv->location_button);
save_widgets_destroy (impl);
- location_mode_set (impl, impl->location_mode, TRUE);
+ location_mode_set (impl, priv->location_mode, TRUE);
}
- if (impl->location_entry)
- _gtk_file_chooser_entry_set_action (GTK_FILE_CHOOSER_ENTRY (impl->location_entry), impl->action);
+ if (priv->location_entry)
+ _gtk_file_chooser_entry_set_action (GTK_FILE_CHOOSER_ENTRY (priv->location_entry), priv->action);
restore_path_bar (impl);
path_bar_update (impl);
@@ -3289,7 +3391,7 @@ update_appearance (GtkFileChooserDefault *impl)
/* This *is* needed; we need to redraw the file list because the "sensitivity"
* of files may change depending whether we are in a file or folder-only mode.
*/
- gtk_widget_queue_draw (impl->browse_files_tree_view);
+ gtk_widget_queue_draw (priv->browse_files_tree_view);
emit_default_size_changed (impl);
}
@@ -3302,6 +3404,7 @@ gtk_file_chooser_default_set_property (GObject *object,
{
GtkFileChooserDefault *impl = GTK_FILE_CHOOSER_DEFAULT (object);
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
switch (prop_id)
{
@@ -3309,20 +3412,20 @@ gtk_file_chooser_default_set_property (GObject *object,
{
GtkFileChooserAction action = g_value_get_enum (value);
- if (action != impl->action)
+ if (action != priv->action)
{
gtk_file_chooser_default_unselect_all (GTK_FILE_CHOOSER (impl));
if ((action == GTK_FILE_CHOOSER_ACTION_SAVE ||
action == GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER)
- && impl->select_multiple)
+ && priv->select_multiple)
{
g_warning ("Tried to change the file chooser action to SAVE or CREATE_FOLDER, but "
"this is not allowed in multiple selection mode. Resetting the file chooser "
"to single selection mode.");
set_select_multiple (impl, FALSE, TRUE);
}
- impl->action = action;
+ priv->action = action;
update_cell_renderer_attributes (impl);
update_appearance (impl);
settings_load (impl);
@@ -3343,12 +3446,12 @@ gtk_file_chooser_default_set_property (GObject *object,
break;
case GTK_FILE_CHOOSER_PROP_PREVIEW_WIDGET_ACTIVE:
- impl->preview_widget_active = g_value_get_boolean (value);
+ priv->preview_widget_active = g_value_get_boolean (value);
update_preview_widget_visibility (impl);
break;
case GTK_FILE_CHOOSER_PROP_USE_PREVIEW_LABEL:
- impl->use_preview_label = g_value_get_boolean (value);
+ priv->use_preview_label = g_value_get_boolean (value);
update_preview_widget_visibility (impl);
break;
@@ -3359,8 +3462,8 @@ gtk_file_chooser_default_set_property (GObject *object,
case GTK_FILE_CHOOSER_PROP_SELECT_MULTIPLE:
{
gboolean select_multiple = g_value_get_boolean (value);
- if ((impl->action == GTK_FILE_CHOOSER_ACTION_SAVE ||
- impl->action == GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER)
+ if ((priv->action == GTK_FILE_CHOOSER_ACTION_SAVE ||
+ priv->action == GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER)
&& select_multiple)
{
g_warning ("Tried to set the file chooser to multiple selection mode, but this is "
@@ -3376,12 +3479,12 @@ gtk_file_chooser_default_set_property (GObject *object,
case GTK_FILE_CHOOSER_PROP_SHOW_HIDDEN:
{
gboolean show_hidden = g_value_get_boolean (value);
- if (show_hidden != impl->show_hidden)
+ if (show_hidden != priv->show_hidden)
{
- impl->show_hidden = show_hidden;
+ priv->show_hidden = show_hidden;
- if (impl->browse_files_model)
- _gtk_file_system_model_set_show_hidden (impl->browse_files_model, show_hidden);
+ if (priv->browse_files_model)
+ _gtk_file_system_model_set_show_hidden (priv->browse_files_model, show_hidden);
}
}
break;
@@ -3389,14 +3492,14 @@ gtk_file_chooser_default_set_property (GObject *object,
case GTK_FILE_CHOOSER_PROP_DO_OVERWRITE_CONFIRMATION:
{
gboolean do_overwrite_confirmation = g_value_get_boolean (value);
- impl->do_overwrite_confirmation = do_overwrite_confirmation;
+ priv->do_overwrite_confirmation = do_overwrite_confirmation;
}
break;
case GTK_FILE_CHOOSER_PROP_CREATE_FOLDERS:
{
gboolean create_folders = g_value_get_boolean (value);
- impl->create_folders = create_folders;
+ priv->create_folders = create_folders;
update_appearance (impl);
}
break;
@@ -3414,51 +3517,52 @@ gtk_file_chooser_default_get_property (GObject *object,
GParamSpec *pspec)
{
GtkFileChooserDefault *impl = GTK_FILE_CHOOSER_DEFAULT (object);
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
switch (prop_id)
{
case GTK_FILE_CHOOSER_PROP_ACTION:
- g_value_set_enum (value, impl->action);
+ g_value_set_enum (value, priv->action);
break;
case GTK_FILE_CHOOSER_PROP_FILTER:
- g_value_set_object (value, impl->current_filter);
+ g_value_set_object (value, priv->current_filter);
break;
case GTK_FILE_CHOOSER_PROP_LOCAL_ONLY:
- g_value_set_boolean (value, impl->local_only);
+ g_value_set_boolean (value, priv->local_only);
break;
case GTK_FILE_CHOOSER_PROP_PREVIEW_WIDGET:
- g_value_set_object (value, impl->preview_widget);
+ g_value_set_object (value, priv->preview_widget);
break;
case GTK_FILE_CHOOSER_PROP_PREVIEW_WIDGET_ACTIVE:
- g_value_set_boolean (value, impl->preview_widget_active);
+ g_value_set_boolean (value, priv->preview_widget_active);
break;
case GTK_FILE_CHOOSER_PROP_USE_PREVIEW_LABEL:
- g_value_set_boolean (value, impl->use_preview_label);
+ g_value_set_boolean (value, priv->use_preview_label);
break;
case GTK_FILE_CHOOSER_PROP_EXTRA_WIDGET:
- g_value_set_object (value, impl->extra_widget);
+ g_value_set_object (value, priv->extra_widget);
break;
case GTK_FILE_CHOOSER_PROP_SELECT_MULTIPLE:
- g_value_set_boolean (value, impl->select_multiple);
+ g_value_set_boolean (value, priv->select_multiple);
break;
case GTK_FILE_CHOOSER_PROP_SHOW_HIDDEN:
- g_value_set_boolean (value, impl->show_hidden);
+ g_value_set_boolean (value, priv->show_hidden);
break;
case GTK_FILE_CHOOSER_PROP_DO_OVERWRITE_CONFIRMATION:
- g_value_set_boolean (value, impl->do_overwrite_confirmation);
+ g_value_set_boolean (value, priv->do_overwrite_confirmation);
break;
case GTK_FILE_CHOOSER_PROP_CREATE_FOLDERS:
- g_value_set_boolean (value, impl->create_folders);
+ g_value_set_boolean (value, priv->create_folders);
break;
default:
@@ -3471,66 +3575,67 @@ gtk_file_chooser_default_get_property (GObject *object,
static void
cancel_all_operations (GtkFileChooserDefault *impl)
{
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
GSList *l;
pending_select_files_free (impl);
- if (impl->reload_icon_cancellables)
+ if (priv->reload_icon_cancellables)
{
- for (l = impl->reload_icon_cancellables; l; l = l->next)
+ for (l = priv->reload_icon_cancellables; l; l = l->next)
{
GCancellable *cancellable = G_CANCELLABLE (l->data);
g_cancellable_cancel (cancellable);
}
- g_slist_free (impl->reload_icon_cancellables);
- impl->reload_icon_cancellables = NULL;
+ g_slist_free (priv->reload_icon_cancellables);
+ priv->reload_icon_cancellables = NULL;
}
- if (impl->loading_shortcuts)
+ if (priv->loading_shortcuts)
{
- for (l = impl->loading_shortcuts; l; l = l->next)
+ for (l = priv->loading_shortcuts; l; l = l->next)
{
GCancellable *cancellable = G_CANCELLABLE (l->data);
g_cancellable_cancel (cancellable);
}
- g_slist_free (impl->loading_shortcuts);
- impl->loading_shortcuts = NULL;
+ g_slist_free (priv->loading_shortcuts);
+ priv->loading_shortcuts = NULL;
}
- if (impl->file_list_drag_data_received_cancellable)
+ if (priv->file_list_drag_data_received_cancellable)
{
- g_cancellable_cancel (impl->file_list_drag_data_received_cancellable);
- impl->file_list_drag_data_received_cancellable = NULL;
+ g_cancellable_cancel (priv->file_list_drag_data_received_cancellable);
+ priv->file_list_drag_data_received_cancellable = NULL;
}
- if (impl->update_current_folder_cancellable)
+ if (priv->update_current_folder_cancellable)
{
- g_cancellable_cancel (impl->update_current_folder_cancellable);
- impl->update_current_folder_cancellable = NULL;
+ g_cancellable_cancel (priv->update_current_folder_cancellable);
+ priv->update_current_folder_cancellable = NULL;
}
- if (impl->should_respond_get_info_cancellable)
+ if (priv->should_respond_get_info_cancellable)
{
- g_cancellable_cancel (impl->should_respond_get_info_cancellable);
- impl->should_respond_get_info_cancellable = NULL;
+ g_cancellable_cancel (priv->should_respond_get_info_cancellable);
+ priv->should_respond_get_info_cancellable = NULL;
}
- if (impl->file_exists_get_info_cancellable)
+ if (priv->file_exists_get_info_cancellable)
{
- g_cancellable_cancel (impl->file_exists_get_info_cancellable);
- impl->file_exists_get_info_cancellable = NULL;
+ g_cancellable_cancel (priv->file_exists_get_info_cancellable);
+ priv->file_exists_get_info_cancellable = NULL;
}
- if (impl->update_from_entry_cancellable)
+ if (priv->update_from_entry_cancellable)
{
- g_cancellable_cancel (impl->update_from_entry_cancellable);
- impl->update_from_entry_cancellable = NULL;
+ g_cancellable_cancel (priv->update_from_entry_cancellable);
+ priv->update_from_entry_cancellable = NULL;
}
- if (impl->shortcuts_activate_iter_cancellable)
+ if (priv->shortcuts_activate_iter_cancellable)
{
- g_cancellable_cancel (impl->shortcuts_activate_iter_cancellable);
- impl->shortcuts_activate_iter_cancellable = NULL;
+ g_cancellable_cancel (priv->shortcuts_activate_iter_cancellable);
+ priv->shortcuts_activate_iter_cancellable = NULL;
}
search_stop_searching (impl, TRUE);
@@ -3542,14 +3647,16 @@ static void
remove_settings_signal (GtkFileChooserDefault *impl,
GdkScreen *screen)
{
- if (impl->settings_signal_id)
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
+
+ if (priv->settings_signal_id)
{
GtkSettings *settings;
settings = gtk_settings_get_for_screen (screen);
g_signal_handler_disconnect (settings,
- impl->settings_signal_id);
- impl->settings_signal_id = 0;
+ priv->settings_signal_id);
+ priv->settings_signal_id = 0;
}
}
@@ -3557,21 +3664,22 @@ static void
gtk_file_chooser_default_dispose (GObject *object)
{
GtkFileChooserDefault *impl = (GtkFileChooserDefault *) object;
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
cancel_all_operations (impl);
- if (impl->extra_widget)
+ if (priv->extra_widget)
{
- g_object_unref (impl->extra_widget);
- impl->extra_widget = NULL;
+ g_object_unref (priv->extra_widget);
+ priv->extra_widget = NULL;
}
remove_settings_signal (impl, gtk_widget_get_screen (GTK_WIDGET (impl)));
- if (impl->bookmarks_manager)
+ if (priv->bookmarks_manager)
{
- _gtk_bookmarks_manager_free (impl->bookmarks_manager);
- impl->bookmarks_manager = NULL;
+ _gtk_bookmarks_manager_free (priv->bookmarks_manager);
+ priv->bookmarks_manager = NULL;
}
G_OBJECT_CLASS (_gtk_file_chooser_default_parent_class)->dispose (object);
@@ -3585,11 +3693,12 @@ static void
gtk_file_chooser_default_show_all (GtkWidget *widget)
{
GtkFileChooserDefault *impl = (GtkFileChooserDefault *) widget;
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
gtk_widget_show (widget);
- if (impl->extra_widget)
- gtk_widget_show_all (impl->extra_widget);
+ if (priv->extra_widget)
+ gtk_widget_show_all (priv->extra_widget);
}
/* Handler for GtkWindow::set-focus; this is where we save the last-focused
@@ -3600,7 +3709,9 @@ toplevel_set_focus_cb (GtkWindow *window,
GtkWidget *focus,
GtkFileChooserDefault *impl)
{
- impl->toplevel_last_focus_widget = gtk_window_get_focus (window);
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
+
+ priv->toplevel_last_focus_widget = gtk_window_get_focus (window);
}
/* We monitor the focus widget on our toplevel to be able to know which widget
@@ -3610,27 +3721,27 @@ static void
gtk_file_chooser_default_hierarchy_changed (GtkWidget *widget,
GtkWidget *previous_toplevel)
{
- GtkFileChooserDefault *impl;
+ GtkFileChooserDefault *impl = GTK_FILE_CHOOSER_DEFAULT (widget);
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
GtkWidget *toplevel;
- impl = GTK_FILE_CHOOSER_DEFAULT (widget);
toplevel = gtk_widget_get_toplevel (widget);
if (previous_toplevel &&
- impl->toplevel_set_focus_id != 0)
+ priv->toplevel_set_focus_id != 0)
{
g_signal_handler_disconnect (previous_toplevel,
- impl->toplevel_set_focus_id);
- impl->toplevel_set_focus_id = 0;
- impl->toplevel_last_focus_widget = NULL;
+ priv->toplevel_set_focus_id);
+ priv->toplevel_set_focus_id = 0;
+ priv->toplevel_last_focus_widget = NULL;
}
if (gtk_widget_is_toplevel (toplevel))
{
- g_assert (impl->toplevel_set_focus_id == 0);
- impl->toplevel_set_focus_id = g_signal_connect (toplevel, "set-focus",
+ g_assert (priv->toplevel_set_focus_id == 0);
+ priv->toplevel_set_focus_id = g_signal_connect (toplevel, "set-focus",
G_CALLBACK (toplevel_set_focus_cb), impl);
- impl->toplevel_last_focus_widget = gtk_window_get_focus (GTK_WINDOW (toplevel));
+ priv->toplevel_last_focus_widget = gtk_window_get_focus (GTK_WINDOW (toplevel));
}
}
@@ -3638,6 +3749,7 @@ gtk_file_chooser_default_hierarchy_changed (GtkWidget *widget,
static void
change_icon_theme (GtkFileChooserDefault *impl)
{
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
GtkSettings *settings;
gint width, height;
GtkCellRenderer *renderer;
@@ -3648,19 +3760,19 @@ change_icon_theme (GtkFileChooserDefault *impl)
settings = gtk_settings_get_for_screen (gtk_widget_get_screen (GTK_WIDGET (impl)));
if (gtk_icon_size_lookup_for_settings (settings, GTK_ICON_SIZE_MENU, &width, &height))
- impl->icon_size = MAX (width, height);
+ priv->icon_size = MAX (width, height);
else
- impl->icon_size = FALLBACK_ICON_SIZE;
+ priv->icon_size = FALLBACK_ICON_SIZE;
/* the first cell in the first column is the icon column, and we have a fixed size there */
cells = gtk_cell_layout_get_cells (GTK_CELL_LAYOUT (
- gtk_tree_view_get_column (GTK_TREE_VIEW (impl->browse_files_tree_view), 0)));
+ gtk_tree_view_get_column (GTK_TREE_VIEW (priv->browse_files_tree_view), 0)));
renderer = GTK_CELL_RENDERER (cells->data);
set_icon_cell_renderer_fixed_size (impl, renderer);
g_list_free (cells);
- if (impl->browse_files_model)
- _gtk_file_system_model_clear_cache (impl->browse_files_model, MODEL_COL_PIXBUF);
- gtk_widget_queue_resize (impl->browse_files_tree_view);
+ if (priv->browse_files_model)
+ _gtk_file_system_model_clear_cache (priv->browse_files_model, MODEL_COL_PIXBUF);
+ gtk_widget_queue_resize (priv->browse_files_tree_view);
profile_end ("end", NULL);
}
@@ -3690,11 +3802,12 @@ settings_notify_cb (GObject *object,
static void
check_icon_theme (GtkFileChooserDefault *impl)
{
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
GtkSettings *settings;
profile_start ("start", NULL);
- if (impl->settings_signal_id)
+ if (priv->settings_signal_id)
{
profile_end ("end", NULL);
return;
@@ -3703,7 +3816,7 @@ check_icon_theme (GtkFileChooserDefault *impl)
if (gtk_widget_has_screen (GTK_WIDGET (impl)))
{
settings = gtk_settings_get_for_screen (gtk_widget_get_screen (GTK_WIDGET (impl)));
- impl->settings_signal_id = g_signal_connect (settings, "notify",
+ priv->settings_signal_id = g_signal_connect (settings, "notify",
G_CALLBACK (settings_notify_cb), impl);
change_icon_theme (impl);
@@ -3757,22 +3870,24 @@ gtk_file_chooser_default_screen_changed (GtkWidget *widget,
static void
set_sort_column (GtkFileChooserDefault *impl)
{
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
GtkTreeSortable *sortable;
- sortable = GTK_TREE_SORTABLE (gtk_tree_view_get_model (GTK_TREE_VIEW (impl->browse_files_tree_view)));
+ sortable = GTK_TREE_SORTABLE (gtk_tree_view_get_model (GTK_TREE_VIEW (priv->browse_files_tree_view)));
/* can happen when we're still populating the model */
if (sortable == NULL)
return;
gtk_tree_sortable_set_sort_column_id (sortable,
- impl->sort_column,
- impl->sort_order);
+ priv->sort_column,
+ priv->sort_order);
}
static void
settings_load (GtkFileChooserDefault *impl)
{
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
LocationMode location_mode;
gboolean show_hidden;
gboolean show_size_column;
@@ -3796,38 +3911,39 @@ settings_load (GtkFileChooserDefault *impl)
gtk_file_chooser_set_show_hidden (GTK_FILE_CHOOSER (impl), show_hidden);
- impl->show_size_column = show_size_column;
- gtk_tree_view_column_set_visible (impl->list_size_column, show_size_column);
+ priv->show_size_column = show_size_column;
+ gtk_tree_view_column_set_visible (priv->list_size_column, show_size_column);
- impl->sort_column = sort_column;
- impl->sort_order = sort_order;
- impl->startup_mode = startup_mode;
+ priv->sort_column = sort_column;
+ priv->sort_order = sort_order;
+ priv->startup_mode = startup_mode;
/* We don't call set_sort_column() here as the models may not have been
* created yet. The individual functions that create and set the models will
* call set_sort_column() themselves.
*/
- gtk_paned_set_position (GTK_PANED (impl->browse_widgets_hpaned), sidebar_width);
+ gtk_paned_set_position (GTK_PANED (priv->browse_widgets_hpaned), sidebar_width);
}
static void
settings_save (GtkFileChooserDefault *impl)
{
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
GSettings *settings;
settings = _gtk_file_chooser_get_settings_for_widget (GTK_WIDGET (impl));
/* All the other state */
- g_settings_set_enum (settings, SETTINGS_KEY_LOCATION_MODE, impl->location_mode);
+ g_settings_set_enum (settings, SETTINGS_KEY_LOCATION_MODE, priv->location_mode);
g_settings_set_boolean (settings, SETTINGS_KEY_SHOW_HIDDEN,
gtk_file_chooser_get_show_hidden (GTK_FILE_CHOOSER (impl)));
- g_settings_set_boolean (settings, SETTINGS_KEY_SHOW_SIZE_COLUMN, impl->show_size_column);
- g_settings_set_enum (settings, SETTINGS_KEY_SORT_COLUMN, impl->sort_column);
- g_settings_set_enum (settings, SETTINGS_KEY_SORT_ORDER, impl->sort_order);
+ g_settings_set_boolean (settings, SETTINGS_KEY_SHOW_SIZE_COLUMN, priv->show_size_column);
+ g_settings_set_enum (settings, SETTINGS_KEY_SORT_COLUMN, priv->sort_column);
+ g_settings_set_enum (settings, SETTINGS_KEY_SORT_ORDER, priv->sort_order);
g_settings_set_int (settings, SETTINGS_KEY_SIDEBAR_WIDTH,
- gtk_paned_get_position (GTK_PANED (impl->browse_widgets_hpaned)));
+ gtk_paned_get_position (GTK_PANED (priv->browse_widgets_hpaned)));
/* Now apply the settings */
g_settings_apply (settings);
@@ -3863,7 +3979,9 @@ switch_to_cwd (GtkFileChooserDefault *impl)
static void
set_startup_mode (GtkFileChooserDefault *impl)
{
- switch (impl->startup_mode)
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
+
+ switch (priv->startup_mode)
{
case STARTUP_MODE_RECENT:
operation_mode_set (impl, OPERATION_MODE_RECENT);
@@ -3881,13 +3999,14 @@ set_startup_mode (GtkFileChooserDefault *impl)
static gboolean
shortcut_exists (GtkFileChooserDefault *impl, GFile *needle)
{
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
GSList *haystack;
GSList *l;
gboolean exists;
exists = FALSE;
- haystack = gtk_places_sidebar_list_shortcuts (GTK_PLACES_SIDEBAR (impl->places_sidebar));
+ haystack = gtk_places_sidebar_list_shortcuts (GTK_PLACES_SIDEBAR (priv->places_sidebar));
for (l = haystack; l; l = l->next)
{
GFile *hay;
@@ -3907,6 +4026,7 @@ shortcut_exists (GtkFileChooserDefault *impl, GFile *needle)
static void
add_cwd_to_sidebar_if_needed (GtkFileChooserDefault *impl)
{
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
char *cwd;
GFile *cwd_file;
GFile *home_file;
@@ -3927,7 +4047,7 @@ add_cwd_to_sidebar_if_needed (GtkFileChooserDefault *impl)
* $HOME) won't get any extra clutter in the sidebar.
*/
if (!g_file_equal (home_file, cwd_file))
- gtk_places_sidebar_add_shortcut (GTK_PLACES_SIDEBAR (impl->places_sidebar), cwd_file);
+ gtk_places_sidebar_add_shortcut (GTK_PLACES_SIDEBAR (priv->places_sidebar), cwd_file);
g_object_unref (home_file);
@@ -3939,21 +4059,20 @@ add_cwd_to_sidebar_if_needed (GtkFileChooserDefault *impl)
static void
gtk_file_chooser_default_map (GtkWidget *widget)
{
- GtkFileChooserDefault *impl;
+ GtkFileChooserDefault *impl = GTK_FILE_CHOOSER_DEFAULT (widget);
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
profile_start ("start", NULL);
- impl = GTK_FILE_CHOOSER_DEFAULT (widget);
-
GTK_WIDGET_CLASS (_gtk_file_chooser_default_parent_class)->map (widget);
settings_load (impl);
add_cwd_to_sidebar_if_needed (impl);
- if (impl->operation_mode == OPERATION_MODE_BROWSE)
+ if (priv->operation_mode == OPERATION_MODE_BROWSE)
{
- switch (impl->reload_state)
+ switch (priv->reload_state)
{
case RELOAD_EMPTY:
set_startup_mode (impl);
@@ -3977,20 +4096,20 @@ gtk_file_chooser_default_map (GtkWidget *widget)
static void
gtk_file_chooser_default_unmap (GtkWidget *widget)
{
- GtkFileChooserDefault *impl;
-
- impl = GTK_FILE_CHOOSER_DEFAULT (widget);
+ GtkFileChooserDefault *impl = GTK_FILE_CHOOSER_DEFAULT (widget);
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
settings_save (impl);
cancel_all_operations (impl);
- impl->reload_state = RELOAD_EMPTY;
+ priv->reload_state = RELOAD_EMPTY;
GTK_WIDGET_CLASS (_gtk_file_chooser_default_parent_class)->unmap (widget);
}
#define COMPARE_DIRECTORIES
\
GtkFileChooserDefault *impl = user_data;
\
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
\
GtkFileSystemModel *fs_model = GTK_FILE_SYSTEM_MODEL (model);
\
gboolean dir_a, dir_b;
\
\
@@ -3998,7 +4117,7 @@ gtk_file_chooser_default_unmap (GtkWidget *widget)
dir_b = g_value_get_boolean (_gtk_file_system_model_get_value (fs_model, b, MODEL_COL_IS_FOLDER));
\
\
if (dir_a != dir_b)
\
- return impl->list_sort_ascending ? (dir_a ? -1 : 1) : (dir_a ? 1 : -1) /* Directories *always* go first
*/
+ return priv->list_sort_ascending ? (dir_a ? -1 : 1) : (dir_a ? 1 : -1) /* Directories *always* go first
*/
/* Sort callback for the filename column */
static gint
@@ -4074,14 +4193,15 @@ static void
list_sort_column_changed_cb (GtkTreeSortable *sortable,
GtkFileChooserDefault *impl)
{
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
gint sort_column_id;
GtkSortType sort_type;
if (gtk_tree_sortable_get_sort_column_id (sortable, &sort_column_id, &sort_type))
{
- impl->list_sort_ascending = (sort_type == GTK_SORT_ASCENDING);
- impl->sort_column = sort_column_id;
- impl->sort_order = sort_type;
+ priv->list_sort_ascending = (sort_type == GTK_SORT_ASCENDING);
+ priv->sort_column = sort_column_id;
+ priv->sort_order = sort_type;
}
}
@@ -4117,20 +4237,22 @@ set_busy_cursor (GtkFileChooserDefault *impl,
static void
load_set_model (GtkFileChooserDefault *impl)
{
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
+
profile_start ("start", NULL);
- g_assert (impl->browse_files_model != NULL);
+ g_assert (priv->browse_files_model != NULL);
profile_msg (" gtk_tree_view_set_model start", NULL);
- gtk_tree_view_set_model (GTK_TREE_VIEW (impl->browse_files_tree_view),
- GTK_TREE_MODEL (impl->browse_files_model));
- gtk_tree_view_columns_autosize (GTK_TREE_VIEW (impl->browse_files_tree_view));
- gtk_tree_view_set_search_column (GTK_TREE_VIEW (impl->browse_files_tree_view),
+ gtk_tree_view_set_model (GTK_TREE_VIEW (priv->browse_files_tree_view),
+ GTK_TREE_MODEL (priv->browse_files_model));
+ gtk_tree_view_columns_autosize (GTK_TREE_VIEW (priv->browse_files_tree_view));
+ gtk_tree_view_set_search_column (GTK_TREE_VIEW (priv->browse_files_tree_view),
MODEL_COL_NAME);
file_list_set_sort_column_ids (impl);
set_sort_column (impl);
profile_msg (" gtk_tree_view_set_model end", NULL);
- impl->list_sort_ascending = TRUE;
+ priv->list_sort_ascending = TRUE;
profile_end ("end", NULL);
}
@@ -4139,17 +4261,17 @@ load_set_model (GtkFileChooserDefault *impl)
static gboolean
load_timeout_cb (gpointer data)
{
- GtkFileChooserDefault *impl;
+ GtkFileChooserDefault *impl = GTK_FILE_CHOOSER_DEFAULT (data);
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
profile_start ("start", NULL);
- impl = GTK_FILE_CHOOSER_DEFAULT (data);
- g_assert (impl->load_state == LOAD_PRELOAD);
- g_assert (impl->load_timeout_id != 0);
- g_assert (impl->browse_files_model != NULL);
+ g_assert (priv->load_state == LOAD_PRELOAD);
+ g_assert (priv->load_timeout_id != 0);
+ g_assert (priv->browse_files_model != NULL);
- impl->load_timeout_id = 0;
- impl->load_state = LOAD_LOADING;
+ priv->load_timeout_id = 0;
+ priv->load_state = LOAD_LOADING;
load_set_model (impl);
@@ -4162,44 +4284,49 @@ load_timeout_cb (gpointer data)
static void
load_setup_timer (GtkFileChooserDefault *impl)
{
- g_assert (impl->load_timeout_id == 0);
- g_assert (impl->load_state != LOAD_PRELOAD);
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
- impl->load_timeout_id = gdk_threads_add_timeout (MAX_LOADING_TIME, load_timeout_cb, impl);
- impl->load_state = LOAD_PRELOAD;
+ g_assert (priv->load_timeout_id == 0);
+ g_assert (priv->load_state != LOAD_PRELOAD);
+
+ priv->load_timeout_id = gdk_threads_add_timeout (MAX_LOADING_TIME, load_timeout_cb, impl);
+ priv->load_state = LOAD_PRELOAD;
}
/* Removes the load timeout; changes the impl->load_state to the specified value. */
static void
load_remove_timer (GtkFileChooserDefault *impl, LoadState new_load_state)
{
- if (impl->load_timeout_id != 0)
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
+
+ if (priv->load_timeout_id != 0)
{
- g_assert (impl->load_state == LOAD_PRELOAD);
+ g_assert (priv->load_state == LOAD_PRELOAD);
- g_source_remove (impl->load_timeout_id);
- impl->load_timeout_id = 0;
+ g_source_remove (priv->load_timeout_id);
+ priv->load_timeout_id = 0;
}
else
- g_assert (impl->load_state == LOAD_EMPTY ||
- impl->load_state == LOAD_LOADING ||
- impl->load_state == LOAD_FINISHED);
+ g_assert (priv->load_state == LOAD_EMPTY ||
+ priv->load_state == LOAD_LOADING ||
+ priv->load_state == LOAD_FINISHED);
g_assert (new_load_state == LOAD_EMPTY ||
new_load_state == LOAD_LOADING ||
new_load_state == LOAD_FINISHED);
- impl->load_state = new_load_state;
+ priv->load_state = new_load_state;
}
/* Selects the first row in the file list */
static void
browse_files_select_first_row (GtkFileChooserDefault *impl)
{
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
GtkTreePath *path;
GtkTreeIter dummy_iter;
GtkTreeModel *tree_model;
- tree_model = gtk_tree_view_get_model (GTK_TREE_VIEW (impl->browse_files_tree_view));
+ tree_model = gtk_tree_view_get_model (GTK_TREE_VIEW (priv->browse_files_tree_view));
if (!tree_model)
return;
@@ -4208,7 +4335,7 @@ browse_files_select_first_row (GtkFileChooserDefault *impl)
/* If the list is empty, do nothing. */
if (gtk_tree_model_get_iter (tree_model, &dummy_iter, path))
- gtk_tree_view_set_cursor (GTK_TREE_VIEW (impl->browse_files_tree_view), path, NULL, FALSE);
+ gtk_tree_view_set_cursor (GTK_TREE_VIEW (priv->browse_files_tree_view), path, NULL, FALSE);
gtk_tree_path_free (path);
}
@@ -4233,7 +4360,7 @@ center_selected_row_foreach_cb (GtkTreeModel *model,
if (closure->already_centered)
return;
- gtk_tree_view_scroll_to_cell (GTK_TREE_VIEW (closure->impl->browse_files_tree_view), path, NULL, TRUE,
0.5, 0.0);
+ gtk_tree_view_scroll_to_cell (GTK_TREE_VIEW (closure->impl->priv->browse_files_tree_view), path, NULL,
TRUE, 0.5, 0.0);
closure->already_centered = TRUE;
}
@@ -4241,13 +4368,14 @@ center_selected_row_foreach_cb (GtkTreeModel *model,
static void
browse_files_center_selected_row (GtkFileChooserDefault *impl)
{
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
struct center_selected_row_closure closure;
GtkTreeSelection *selection;
closure.impl = impl;
closure.already_centered = FALSE;
- selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (impl->browse_files_tree_view));
+ selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (priv->browse_files_tree_view));
gtk_tree_selection_selected_foreach (selection, center_selected_row_foreach_cb, &closure);
}
@@ -4255,22 +4383,23 @@ static gboolean
show_and_select_files (GtkFileChooserDefault *impl,
GSList *files)
{
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
GtkTreeSelection *selection;
GtkFileSystemModel *fsmodel;
gboolean enabled_hidden, removed_filters;
gboolean selected_a_file;
GSList *walk;
- g_assert (impl->load_state == LOAD_FINISHED);
- g_assert (impl->browse_files_model != NULL);
+ g_assert (priv->load_state == LOAD_FINISHED);
+ g_assert (priv->browse_files_model != NULL);
- selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (impl->browse_files_tree_view));
- fsmodel = GTK_FILE_SYSTEM_MODEL (gtk_tree_view_get_model (GTK_TREE_VIEW (impl->browse_files_tree_view)));
+ selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (priv->browse_files_tree_view));
+ fsmodel = GTK_FILE_SYSTEM_MODEL (gtk_tree_view_get_model (GTK_TREE_VIEW (priv->browse_files_tree_view)));
- g_assert (fsmodel == impl->browse_files_model);
+ g_assert (fsmodel == priv->browse_files_model);
- enabled_hidden = impl->show_hidden;
- removed_filters = (impl->current_filter == NULL);
+ enabled_hidden = priv->show_hidden;
+ removed_filters = (priv->current_filter == NULL);
selected_a_file = FALSE;
@@ -4324,7 +4453,7 @@ show_and_select_files (GtkFileChooserDefault *impl,
gtk_tree_selection_select_iter (selection, &iter);
path = gtk_tree_model_get_path (GTK_TREE_MODEL (fsmodel), &iter);
- gtk_tree_view_set_cursor (GTK_TREE_VIEW (impl->browse_files_tree_view),
+ gtk_tree_view_set_cursor (GTK_TREE_VIEW (priv->browse_files_tree_view),
path, NULL, FALSE);
gtk_tree_path_free (path);
@@ -4341,12 +4470,14 @@ show_and_select_files (GtkFileChooserDefault *impl,
static void
pending_select_files_process (GtkFileChooserDefault *impl)
{
- g_assert (impl->load_state == LOAD_FINISHED);
- g_assert (impl->browse_files_model != NULL);
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
- if (impl->pending_select_files)
+ g_assert (priv->load_state == LOAD_FINISHED);
+ g_assert (priv->browse_files_model != NULL);
+
+ if (priv->pending_select_files)
{
- show_and_select_files (impl, impl->pending_select_files);
+ show_and_select_files (impl, priv->pending_select_files);
pending_select_files_free (impl);
browse_files_center_selected_row (impl);
}
@@ -4359,21 +4490,22 @@ pending_select_files_process (GtkFileChooserDefault *impl)
* that case, the chooser's selection should be what the caller expects,
* as the user can't see that something else got selected. See bug #165264.
*/
- if (impl->action == GTK_FILE_CHOOSER_ACTION_OPEN &&
+ if (priv->action == GTK_FILE_CHOOSER_ACTION_OPEN &&
gtk_widget_get_mapped (GTK_WIDGET (impl)))
browse_files_select_first_row (impl);
}
- g_assert (impl->pending_select_files == NULL);
+ g_assert (priv->pending_select_files == NULL);
}
static void
show_error_on_reading_current_folder (GtkFileChooserDefault *impl, GError *error)
{
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
GFileInfo *info;
char *msg;
- info = g_file_query_info (impl->current_folder,
+ info = g_file_query_info (priv->current_folder,
G_FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME,
G_FILE_QUERY_INFO_NONE,
NULL,
@@ -4396,17 +4528,19 @@ browse_files_model_finished_loading_cb (GtkFileSystemModel *model,
GError *error,
GtkFileChooserDefault *impl)
{
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
+
profile_start ("start", NULL);
if (error)
show_error_on_reading_current_folder (impl, error);
- if (impl->load_state == LOAD_PRELOAD)
+ if (priv->load_state == LOAD_PRELOAD)
{
load_remove_timer (impl, LOAD_FINISHED);
load_set_model (impl);
}
- else if (impl->load_state == LOAD_LOADING)
+ else if (priv->load_state == LOAD_LOADING)
{
/* Nothing */
}
@@ -4419,9 +4553,9 @@ browse_files_model_finished_loading_cb (GtkFileSystemModel *model,
return;
}
- g_assert (impl->load_timeout_id == 0);
+ g_assert (priv->load_timeout_id == 0);
- impl->load_state = LOAD_FINISHED;
+ priv->load_state = LOAD_FINISHED;
pending_select_files_process (impl);
set_busy_cursor (impl, FALSE);
@@ -4436,16 +4570,18 @@ static void
stop_loading_and_clear_list_model (GtkFileChooserDefault *impl,
gboolean remove_from_treeview)
{
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
+
load_remove_timer (impl, LOAD_EMPTY);
- if (impl->browse_files_model)
+ if (priv->browse_files_model)
{
- g_object_unref (impl->browse_files_model);
- impl->browse_files_model = NULL;
+ g_object_unref (priv->browse_files_model);
+ priv->browse_files_model = NULL;
}
if (remove_from_treeview)
- gtk_tree_view_set_model (GTK_TREE_VIEW (impl->browse_files_tree_view), NULL);
+ gtk_tree_view_set_model (GTK_TREE_VIEW (priv->browse_files_tree_view), NULL);
}
static char *
@@ -4606,6 +4742,7 @@ file_system_model_set (GtkFileSystemModel *model,
gpointer data)
{
GtkFileChooserDefault *impl = data;
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
switch (column)
{
@@ -4632,8 +4769,8 @@ file_system_model_set (GtkFileSystemModel *model,
{
gboolean sensitive = TRUE;
- if (!(impl->action == GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER
- || impl->action == GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER))
+ if (!(priv->action == GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER
+ || priv->action == GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER))
{
sensitive = TRUE; /* for file modes... */
}
@@ -4660,7 +4797,7 @@ file_system_model_set (GtkFileSystemModel *model,
{
if (g_file_info_has_attribute (info, G_FILE_ATTRIBUTE_STANDARD_ICON))
{
- g_value_take_object (value, _gtk_file_info_render_icon (info, GTK_WIDGET (impl),
impl->icon_size));
+ g_value_take_object (value, _gtk_file_info_render_icon (info, GTK_WIDGET (impl),
priv->icon_size));
}
else
{
@@ -4668,11 +4805,11 @@ file_system_model_set (GtkFileSystemModel *model,
GtkTreePath *path, *start, *end;
GtkTreeIter iter;
- if (impl->browse_files_tree_view == NULL ||
+ if (priv->browse_files_tree_view == NULL ||
g_file_info_has_attribute (info, "filechooser::queried"))
return FALSE;
- tree_model = gtk_tree_view_get_model (GTK_TREE_VIEW (impl->browse_files_tree_view));
+ tree_model = gtk_tree_view_get_model (GTK_TREE_VIEW (priv->browse_files_tree_view));
if (tree_model != GTK_TREE_MODEL (model))
return FALSE;
@@ -4680,7 +4817,7 @@ file_system_model_set (GtkFileSystemModel *model,
&iter,
file))
g_assert_not_reached ();
- if (!gtk_tree_view_get_visible_range (GTK_TREE_VIEW (impl->browse_files_tree_view), &start,
&end))
+ if (!gtk_tree_view_get_visible_range (GTK_TREE_VIEW (priv->browse_files_tree_view), &start,
&end))
return FALSE;
path = gtk_tree_model_get_path (tree_model, &iter);
if (gtk_tree_path_compare (start, path) != 1 &&
@@ -4746,7 +4883,9 @@ static gboolean
set_list_model (GtkFileChooserDefault *impl,
GError **error)
{
- g_assert (impl->current_folder != NULL);
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
+
+ g_assert (priv->current_folder != NULL);
profile_start ("start", NULL);
@@ -4754,31 +4893,31 @@ set_list_model (GtkFileChooserDefault *impl,
set_busy_cursor (impl, TRUE);
- impl->browse_files_model =
- _gtk_file_system_model_new_for_directory (impl->current_folder,
+ priv->browse_files_model =
+ _gtk_file_system_model_new_for_directory (priv->current_folder,
MODEL_ATTRIBUTES,
file_system_model_set,
impl,
MODEL_COLUMN_TYPES);
- _gtk_file_system_model_set_show_hidden (impl->browse_files_model, impl->show_hidden);
+ _gtk_file_system_model_set_show_hidden (priv->browse_files_model, priv->show_hidden);
profile_msg (" set sort function", NULL);
- gtk_tree_sortable_set_sort_func (GTK_TREE_SORTABLE (impl->browse_files_model), MODEL_COL_NAME,
name_sort_func, impl, NULL);
- gtk_tree_sortable_set_sort_func (GTK_TREE_SORTABLE (impl->browse_files_model), MODEL_COL_SIZE,
size_sort_func, impl, NULL);
- gtk_tree_sortable_set_sort_func (GTK_TREE_SORTABLE (impl->browse_files_model), MODEL_COL_MTIME,
mtime_sort_func, impl, NULL);
- gtk_tree_sortable_set_default_sort_func (GTK_TREE_SORTABLE (impl->browse_files_model), NULL, NULL, NULL);
+ gtk_tree_sortable_set_sort_func (GTK_TREE_SORTABLE (priv->browse_files_model), MODEL_COL_NAME,
name_sort_func, impl, NULL);
+ gtk_tree_sortable_set_sort_func (GTK_TREE_SORTABLE (priv->browse_files_model), MODEL_COL_SIZE,
size_sort_func, impl, NULL);
+ gtk_tree_sortable_set_sort_func (GTK_TREE_SORTABLE (priv->browse_files_model), MODEL_COL_MTIME,
mtime_sort_func, impl, NULL);
+ gtk_tree_sortable_set_default_sort_func (GTK_TREE_SORTABLE (priv->browse_files_model), NULL, NULL, NULL);
set_sort_column (impl);
- impl->list_sort_ascending = TRUE;
- g_signal_connect (impl->browse_files_model, "sort-column-changed",
+ priv->list_sort_ascending = TRUE;
+ g_signal_connect (priv->browse_files_model, "sort-column-changed",
G_CALLBACK (list_sort_column_changed_cb), impl);
load_setup_timer (impl); /* This changes the state to LOAD_PRELOAD */
- g_signal_connect (impl->browse_files_model, "finished-loading",
+ g_signal_connect (priv->browse_files_model, "finished-loading",
G_CALLBACK (browse_files_model_finished_loading_cb), impl);
- _gtk_file_system_model_set_filter (impl->browse_files_model, impl->current_filter);
+ _gtk_file_system_model_set_filter (priv->browse_files_model, priv->current_filter);
profile_end ("end", NULL);
@@ -4826,42 +4965,43 @@ update_chooser_entry_selected_foreach (GtkTreeModel *model,
static void
update_chooser_entry (GtkFileChooserDefault *impl)
{
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
GtkTreeSelection *selection;
struct update_chooser_entry_selected_foreach_closure closure;
/* no need to update the file chooser's entry if there's no entry */
- if (impl->operation_mode == OPERATION_MODE_SEARCH ||
- !impl->location_entry)
+ if (priv->operation_mode == OPERATION_MODE_SEARCH ||
+ !priv->location_entry)
return;
- if (!(impl->action == GTK_FILE_CHOOSER_ACTION_SAVE
- || impl->action == GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER
- || ((impl->action == GTK_FILE_CHOOSER_ACTION_OPEN
- || impl->action == GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER)
- && impl->location_mode == LOCATION_MODE_FILENAME_ENTRY)))
+ if (!(priv->action == GTK_FILE_CHOOSER_ACTION_SAVE
+ || priv->action == GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER
+ || ((priv->action == GTK_FILE_CHOOSER_ACTION_OPEN
+ || priv->action == GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER)
+ && priv->location_mode == LOCATION_MODE_FILENAME_ENTRY)))
return;
- g_assert (impl->location_entry != NULL);
+ g_assert (priv->location_entry != NULL);
- selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (impl->browse_files_tree_view));
+ selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (priv->browse_files_tree_view));
closure.num_selected = 0;
gtk_tree_selection_selected_foreach (selection, update_chooser_entry_selected_foreach, &closure);
if (closure.num_selected == 0)
{
- if (impl->operation_mode == OPERATION_MODE_RECENT)
- _gtk_file_chooser_entry_set_base_folder (GTK_FILE_CHOOSER_ENTRY (impl->location_entry), NULL);
+ if (priv->operation_mode == OPERATION_MODE_RECENT)
+ _gtk_file_chooser_entry_set_base_folder (GTK_FILE_CHOOSER_ENTRY (priv->location_entry), NULL);
else
goto maybe_clear_entry;
}
else if (closure.num_selected == 1)
{
- if (impl->operation_mode == OPERATION_MODE_BROWSE)
+ if (priv->operation_mode == OPERATION_MODE_BROWSE)
{
GFileInfo *info;
gboolean change_entry;
- info = _gtk_file_system_model_get_info (impl->browse_files_model, &closure.first_selected_iter);
+ info = _gtk_file_system_model_get_info (priv->browse_files_model, &closure.first_selected_iter);
/* If the cursor moved to the row of the newly created folder,
* retrieving info will return NULL.
@@ -4869,13 +5009,13 @@ update_chooser_entry (GtkFileChooserDefault *impl)
if (!info)
return;
- g_free (impl->browse_files_last_selected_name);
- impl->browse_files_last_selected_name =
+ g_free (priv->browse_files_last_selected_name);
+ priv->browse_files_last_selected_name =
g_strdup (g_file_info_get_display_name (info));
- if (impl->action == GTK_FILE_CHOOSER_ACTION_OPEN ||
- impl->action == GTK_FILE_CHOOSER_ACTION_SAVE ||
- impl->action == GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER)
+ if (priv->action == GTK_FILE_CHOOSER_ACTION_OPEN ||
+ priv->action == GTK_FILE_CHOOSER_ACTION_SAVE ||
+ priv->action == GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER)
{
/* Don't change the name when clicking on a folder... */
change_entry = (! _gtk_file_info_consider_as_directory (info));
@@ -4885,52 +5025,52 @@ update_chooser_entry (GtkFileChooserDefault *impl)
if (change_entry)
{
- gtk_entry_set_text (GTK_ENTRY (impl->location_entry), impl->browse_files_last_selected_name);
+ gtk_entry_set_text (GTK_ENTRY (priv->location_entry), priv->browse_files_last_selected_name);
- if (impl->action == GTK_FILE_CHOOSER_ACTION_SAVE)
- _gtk_file_chooser_entry_select_filename (GTK_FILE_CHOOSER_ENTRY (impl->location_entry));
+ if (priv->action == GTK_FILE_CHOOSER_ACTION_SAVE)
+ _gtk_file_chooser_entry_select_filename (GTK_FILE_CHOOSER_ENTRY (priv->location_entry));
}
return;
}
- else if (impl->operation_mode == OPERATION_MODE_RECENT
- && impl->action == GTK_FILE_CHOOSER_ACTION_SAVE)
+ else if (priv->operation_mode == OPERATION_MODE_RECENT
+ && priv->action == GTK_FILE_CHOOSER_ACTION_SAVE)
{
GFile *folder;
/* Set the base folder on the name entry, so it will do completion relative to the correct
recent-folder */
- gtk_tree_model_get (GTK_TREE_MODEL (impl->recent_model), &closure.first_selected_iter,
+ gtk_tree_model_get (GTK_TREE_MODEL (priv->recent_model), &closure.first_selected_iter,
MODEL_COL_FILE, &folder,
-1);
- _gtk_file_chooser_entry_set_base_folder (GTK_FILE_CHOOSER_ENTRY (impl->location_entry), folder);
+ _gtk_file_chooser_entry_set_base_folder (GTK_FILE_CHOOSER_ENTRY (priv->location_entry), folder);
g_object_unref (folder);
return;
}
}
else
{
- g_assert (!(impl->action == GTK_FILE_CHOOSER_ACTION_SAVE ||
- impl->action == GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER));
+ g_assert (!(priv->action == GTK_FILE_CHOOSER_ACTION_SAVE ||
+ priv->action == GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER));
/* Multiple selection, so just clear the entry. */
- g_free (impl->browse_files_last_selected_name);
- impl->browse_files_last_selected_name = NULL;
+ g_free (priv->browse_files_last_selected_name);
+ priv->browse_files_last_selected_name = NULL;
- gtk_entry_set_text (GTK_ENTRY (impl->location_entry), "");
+ gtk_entry_set_text (GTK_ENTRY (priv->location_entry), "");
return;
}
maybe_clear_entry:
- if ((impl->action == GTK_FILE_CHOOSER_ACTION_OPEN || impl->action == GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER)
- && impl->browse_files_last_selected_name)
+ if ((priv->action == GTK_FILE_CHOOSER_ACTION_OPEN || priv->action == GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER)
+ && priv->browse_files_last_selected_name)
{
const char *entry_text;
int len;
gboolean clear_entry;
- entry_text = gtk_entry_get_text (GTK_ENTRY (impl->location_entry));
+ entry_text = gtk_entry_get_text (GTK_ENTRY (priv->location_entry));
len = strlen (entry_text);
if (len != 0)
{
@@ -4942,17 +5082,17 @@ update_chooser_entry (GtkFileChooserDefault *impl)
gchar *tmp;
tmp = g_strndup (entry_text, len - 1);
- clear_entry = (compare_utf8_filenames (impl->browse_files_last_selected_name, tmp) == 0);
+ clear_entry = (compare_utf8_filenames (priv->browse_files_last_selected_name, tmp) == 0);
g_free (tmp);
}
else
- clear_entry = (compare_utf8_filenames (impl->browse_files_last_selected_name, entry_text) == 0);
+ clear_entry = (compare_utf8_filenames (priv->browse_files_last_selected_name, entry_text) == 0);
}
else
clear_entry = FALSE;
if (clear_entry)
- gtk_entry_set_text (GTK_ENTRY (impl->location_entry), "");
+ gtk_entry_set_text (GTK_ENTRY (priv->location_entry), "");
}
}
@@ -4981,14 +5121,15 @@ update_current_folder_mount_enclosing_volume_cb (GCancellable *cancellabl
const GError *error,
gpointer user_data)
{
- gboolean cancelled = g_cancellable_is_cancelled (cancellable);
struct UpdateCurrentFolderData *data = user_data;
GtkFileChooserDefault *impl = data->impl;
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
+ gboolean cancelled = g_cancellable_is_cancelled (cancellable);
- if (cancellable != impl->update_current_folder_cancellable)
+ if (cancellable != priv->update_current_folder_cancellable)
goto out;
- impl->update_current_folder_cancellable = NULL;
+ priv->update_current_folder_cancellable = NULL;
set_busy_cursor (impl, FALSE);
if (cancelled)
@@ -4997,7 +5138,7 @@ update_current_folder_mount_enclosing_volume_cb (GCancellable *cancellabl
if (error)
{
error_changing_folder_dialog (data->impl, data->file, g_error_copy (error));
- impl->reload_state = RELOAD_EMPTY;
+ priv->reload_state = RELOAD_EMPTY;
goto out;
}
@@ -5019,12 +5160,13 @@ update_current_folder_get_info_cb (GCancellable *cancellable,
gboolean cancelled = g_cancellable_is_cancelled (cancellable);
struct UpdateCurrentFolderData *data = user_data;
GtkFileChooserDefault *impl = data->impl;
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
- if (cancellable != impl->update_current_folder_cancellable)
+ if (cancellable != priv->update_current_folder_cancellable)
goto out;
- impl->update_current_folder_cancellable = NULL;
- impl->reload_state = RELOAD_EMPTY;
+ priv->update_current_folder_cancellable = NULL;
+ priv->reload_state = RELOAD_EMPTY;
set_busy_cursor (impl, FALSE);
@@ -5047,8 +5189,8 @@ update_current_folder_get_info_cb (GCancellable *cancellable,
set_busy_cursor (impl, TRUE);
- impl->update_current_folder_cancellable =
- _gtk_file_system_mount_enclosing_volume (impl->file_system, data->file,
+ priv->update_current_folder_cancellable =
+ _gtk_file_system_mount_enclosing_volume (priv->file_system, data->file,
mount_operation,
update_current_folder_mount_enclosing_volume_cb,
data);
@@ -5073,10 +5215,10 @@ update_current_folder_get_info_cb (GCancellable *cancellable,
g_object_unref (cancellable);
/* restart the update current folder operation */
- impl->reload_state = RELOAD_HAS_FOLDER;
+ priv->reload_state = RELOAD_HAS_FOLDER;
- impl->update_current_folder_cancellable =
- _gtk_file_system_get_info (impl->file_system, data->file,
+ priv->update_current_folder_cancellable =
+ _gtk_file_system_get_info (priv->file_system, data->file,
"standard::type",
update_current_folder_get_info_cb,
data);
@@ -5117,27 +5259,27 @@ update_current_folder_get_info_cb (GCancellable *cancellable,
if (! _gtk_file_info_consider_as_directory (info))
goto out;
- _gtk_path_bar_set_file (GTK_PATH_BAR (impl->browse_path_bar), data->file, data->keep_trail);
+ _gtk_path_bar_set_file (GTK_PATH_BAR (priv->browse_path_bar), data->file, data->keep_trail);
- if (impl->current_folder != data->file)
+ if (priv->current_folder != data->file)
{
- if (impl->current_folder)
- g_object_unref (impl->current_folder);
+ if (priv->current_folder)
+ g_object_unref (priv->current_folder);
- impl->current_folder = g_object_ref (data->file);
+ priv->current_folder = g_object_ref (data->file);
}
- impl->reload_state = RELOAD_HAS_FOLDER;
+ priv->reload_state = RELOAD_HAS_FOLDER;
/* Set the folder on the save entry */
- if (impl->location_entry)
+ if (priv->location_entry)
{
- _gtk_file_chooser_entry_set_base_folder (GTK_FILE_CHOOSER_ENTRY (impl->location_entry),
- impl->current_folder);
+ _gtk_file_chooser_entry_set_base_folder (GTK_FILE_CHOOSER_ENTRY (priv->location_entry),
+ priv->current_folder);
if (data->clear_entry)
- gtk_entry_set_text (GTK_ENTRY (impl->location_entry), "");
+ gtk_entry_set_text (GTK_ENTRY (priv->location_entry), "");
}
/* Create a new list model. This is slightly evil; we store the result value
@@ -5148,7 +5290,7 @@ update_current_folder_get_info_cb (GCancellable *cancellable,
/* Refresh controls */
- gtk_places_sidebar_set_location (GTK_PLACES_SIDEBAR (impl->places_sidebar), impl->current_folder);
+ gtk_places_sidebar_set_location (GTK_PLACES_SIDEBAR (priv->places_sidebar), priv->current_folder);
g_signal_emit_by_name (impl, "current-folder-changed", 0);
@@ -5171,6 +5313,7 @@ gtk_file_chooser_default_update_current_folder (GtkFileChooser *chooser,
GError **error)
{
GtkFileChooserDefault *impl = GTK_FILE_CHOOSER_DEFAULT (chooser);
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
struct UpdateCurrentFolderData *data;
profile_start ("start", NULL);
@@ -5179,7 +5322,7 @@ gtk_file_chooser_default_update_current_folder (GtkFileChooser *chooser,
operation_mode_set (impl, OPERATION_MODE_BROWSE);
- if (impl->local_only && !_gtk_file_has_native_path (file))
+ if (priv->local_only && !_gtk_file_has_native_path (file))
{
g_set_error_literal (error,
GTK_FILE_CHOOSER_ERROR,
@@ -5191,8 +5334,8 @@ gtk_file_chooser_default_update_current_folder (GtkFileChooser *chooser,
return FALSE;
}
- if (impl->update_current_folder_cancellable)
- g_cancellable_cancel (impl->update_current_folder_cancellable);
+ if (priv->update_current_folder_cancellable)
+ g_cancellable_cancel (priv->update_current_folder_cancellable);
/* Test validity of path here. */
data = g_new0 (struct UpdateCurrentFolderData, 1);
@@ -5201,10 +5344,10 @@ gtk_file_chooser_default_update_current_folder (GtkFileChooser *chooser,
data->keep_trail = keep_trail;
data->clear_entry = clear_entry;
- impl->reload_state = RELOAD_HAS_FOLDER;
+ priv->reload_state = RELOAD_HAS_FOLDER;
- impl->update_current_folder_cancellable =
- _gtk_file_system_get_info (impl->file_system, file,
+ priv->update_current_folder_cancellable =
+ _gtk_file_system_get_info (priv->file_system, file,
"standard::type",
update_current_folder_get_info_cb,
data);
@@ -5220,13 +5363,14 @@ static GFile *
gtk_file_chooser_default_get_current_folder (GtkFileChooser *chooser)
{
GtkFileChooserDefault *impl = GTK_FILE_CHOOSER_DEFAULT (chooser);
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
- if (impl->operation_mode == OPERATION_MODE_SEARCH ||
- impl->operation_mode == OPERATION_MODE_RECENT)
+ if (priv->operation_mode == OPERATION_MODE_SEARCH ||
+ priv->operation_mode == OPERATION_MODE_RECENT)
return NULL;
- if (impl->current_folder)
- return g_object_ref (impl->current_folder);
+ if (priv->current_folder)
+ return g_object_ref (priv->current_folder);
return NULL;
}
@@ -5236,12 +5380,13 @@ gtk_file_chooser_default_set_current_name (GtkFileChooser *chooser,
const gchar *name)
{
GtkFileChooserDefault *impl = GTK_FILE_CHOOSER_DEFAULT (chooser);
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
- g_return_if_fail (impl->action == GTK_FILE_CHOOSER_ACTION_SAVE ||
- impl->action == GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER);
+ g_return_if_fail (priv->action == GTK_FILE_CHOOSER_ACTION_SAVE ||
+ priv->action == GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER);
pending_select_files_free (impl);
- gtk_entry_set_text (GTK_ENTRY (impl->location_entry), name);
+ gtk_entry_set_text (GTK_ENTRY (priv->location_entry), name);
}
static gboolean
@@ -5250,6 +5395,7 @@ gtk_file_chooser_default_select_file (GtkFileChooser *chooser,
GError **error)
{
GtkFileChooserDefault *impl = GTK_FILE_CHOOSER_DEFAULT (chooser);
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
GFile *parent_file;
gboolean same_path;
@@ -5258,20 +5404,20 @@ gtk_file_chooser_default_select_file (GtkFileChooser *chooser,
if (!parent_file)
return gtk_file_chooser_set_current_folder_file (chooser, file, error);
- if (impl->operation_mode == OPERATION_MODE_SEARCH ||
- impl->operation_mode == OPERATION_MODE_RECENT ||
- impl->load_state == LOAD_EMPTY)
+ if (priv->operation_mode == OPERATION_MODE_SEARCH ||
+ priv->operation_mode == OPERATION_MODE_RECENT ||
+ priv->load_state == LOAD_EMPTY)
{
same_path = FALSE;
}
else
{
- g_assert (impl->current_folder != NULL);
+ g_assert (priv->current_folder != NULL);
- same_path = g_file_equal (parent_file, impl->current_folder);
+ same_path = g_file_equal (parent_file, priv->current_folder);
}
- if (same_path && impl->load_state == LOAD_FINISHED)
+ if (same_path && priv->load_state == LOAD_FINISHED)
{
gboolean result;
GSList files;
@@ -5304,13 +5450,14 @@ gtk_file_chooser_default_unselect_file (GtkFileChooser *chooser,
GFile *file)
{
GtkFileChooserDefault *impl = GTK_FILE_CHOOSER_DEFAULT (chooser);
- GtkTreeView *tree_view = GTK_TREE_VIEW (impl->browse_files_tree_view);
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
+ GtkTreeView *tree_view = GTK_TREE_VIEW (priv->browse_files_tree_view);
GtkTreeIter iter;
- if (!impl->browse_files_model)
+ if (!priv->browse_files_model)
return;
- if (!_gtk_file_system_model_get_iter_for_file (impl->browse_files_model,
+ if (!_gtk_file_system_model_get_iter_for_file (priv->browse_files_model,
&iter,
file))
return;
@@ -5326,11 +5473,12 @@ maybe_select (GtkTreeModel *model,
gpointer data)
{
GtkFileChooserDefault *impl = GTK_FILE_CHOOSER_DEFAULT (data);
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
GtkTreeSelection *selection;
gboolean is_sensitive;
gboolean is_folder;
- selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (impl->browse_files_tree_view));
+ selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (priv->browse_files_tree_view));
gtk_tree_model_get (model, iter,
MODEL_COL_IS_FOLDER, &is_folder,
@@ -5338,8 +5486,8 @@ maybe_select (GtkTreeModel *model,
-1);
if (is_sensitive &&
- ((is_folder && impl->action == GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER) ||
- (!is_folder && impl->action == GTK_FILE_CHOOSER_ACTION_OPEN)))
+ ((is_folder && priv->action == GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER) ||
+ (!is_folder && priv->action == GTK_FILE_CHOOSER_ACTION_OPEN)))
gtk_tree_selection_select_iter (selection, iter);
else
gtk_tree_selection_unselect_iter (selection, iter);
@@ -5351,19 +5499,20 @@ static void
gtk_file_chooser_default_select_all (GtkFileChooser *chooser)
{
GtkFileChooserDefault *impl = GTK_FILE_CHOOSER_DEFAULT (chooser);
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
- if (impl->operation_mode == OPERATION_MODE_SEARCH ||
- impl->operation_mode == OPERATION_MODE_RECENT)
+ if (priv->operation_mode == OPERATION_MODE_SEARCH ||
+ priv->operation_mode == OPERATION_MODE_RECENT)
{
GtkTreeSelection *selection;
- selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (impl->browse_files_tree_view));
+ selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (priv->browse_files_tree_view));
gtk_tree_selection_select_all (selection);
return;
}
- if (impl->select_multiple)
- gtk_tree_model_foreach (GTK_TREE_MODEL (impl->browse_files_model),
+ if (priv->select_multiple)
+ gtk_tree_model_foreach (GTK_TREE_MODEL (priv->browse_files_model),
maybe_select, impl);
}
@@ -5371,7 +5520,8 @@ static void
gtk_file_chooser_default_unselect_all (GtkFileChooser *chooser)
{
GtkFileChooserDefault *impl = GTK_FILE_CHOOSER_DEFAULT (chooser);
- GtkTreeSelection *selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (impl->browse_files_tree_view));
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
+ GtkTreeSelection *selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (priv->browse_files_tree_view));
gtk_tree_selection_unselect_all (selection);
pending_select_files_free (impl);
@@ -5394,19 +5544,20 @@ check_save_entry (GtkFileChooserDefault *impl,
gboolean *is_file_part_empty_ret,
gboolean *is_folder)
{
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
GtkFileChooserEntry *chooser_entry;
GFile *current_folder;
const char *file_part;
GFile *file;
GError *error;
- g_assert (impl->action == GTK_FILE_CHOOSER_ACTION_SAVE
- || impl->action == GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER
- || ((impl->action == GTK_FILE_CHOOSER_ACTION_OPEN
- || impl->action == GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER)
- && impl->location_mode == LOCATION_MODE_FILENAME_ENTRY));
+ g_assert (priv->action == GTK_FILE_CHOOSER_ACTION_SAVE
+ || priv->action == GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER
+ || ((priv->action == GTK_FILE_CHOOSER_ACTION_OPEN
+ || priv->action == GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER)
+ && priv->location_mode == LOCATION_MODE_FILENAME_ENTRY));
- chooser_entry = GTK_FILE_CHOOSER_ENTRY (impl->location_entry);
+ chooser_entry = GTK_FILE_CHOOSER_ENTRY (priv->location_entry);
if (strlen (gtk_entry_get_text (GTK_ENTRY (chooser_entry))) == 0)
{
@@ -5482,7 +5633,7 @@ get_files_foreach (GtkTreeModel *model,
GtkFileSystemModel *fs_model;
info = data;
- fs_model = info->impl->browse_files_model;
+ fs_model = info->impl->priv->browse_files_model;
file = _gtk_file_system_model_get_file (fs_model, iter);
if (!file)
@@ -5496,6 +5647,7 @@ static GSList *
gtk_file_chooser_default_get_files (GtkFileChooser *chooser)
{
GtkFileChooserDefault *impl = GTK_FILE_CHOOSER_DEFAULT (chooser);
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
struct get_files_closure info;
GtkWindow *toplevel;
GtkWidget *current_focus;
@@ -5505,12 +5657,12 @@ gtk_file_chooser_default_get_files (GtkFileChooser *chooser)
info.result = NULL;
info.file_from_entry = NULL;
- if (impl->operation_mode == OPERATION_MODE_SEARCH)
+ if (priv->operation_mode == OPERATION_MODE_SEARCH)
return search_get_selected_files (impl);
- if (impl->operation_mode == OPERATION_MODE_RECENT)
+ if (priv->operation_mode == OPERATION_MODE_RECENT)
{
- if (impl->action == GTK_FILE_CHOOSER_ACTION_SAVE)
+ if (priv->action == GTK_FILE_CHOOSER_ACTION_SAVE)
{
file_list_seen = TRUE;
goto file_entry;
@@ -5526,14 +5678,14 @@ gtk_file_chooser_default_get_files (GtkFileChooser *chooser)
current_focus = NULL;
file_list_seen = FALSE;
- if (current_focus == impl->browse_files_tree_view)
+ if (current_focus == priv->browse_files_tree_view)
{
GtkTreeSelection *selection;
file_list:
file_list_seen = TRUE;
- selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (impl->browse_files_tree_view));
+ selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (priv->browse_files_tree_view));
gtk_tree_selection_selected_foreach (selection, get_files_foreach, &info);
/* If there is no selection in the file list, we probably have this situation:
@@ -5544,10 +5696,10 @@ gtk_file_chooser_default_get_files (GtkFileChooser *chooser)
* So we want the selection to be "bar/foo.txt". Jump to the case for the
* filename entry to see if that is the case.
*/
- if (info.result == NULL && impl->location_entry)
+ if (info.result == NULL && priv->location_entry)
goto file_entry;
}
- else if (impl->location_entry && current_focus == impl->location_entry)
+ else if (priv->location_entry && current_focus == priv->location_entry)
{
gboolean is_well_formed, is_empty, is_file_part_empty, is_folder;
@@ -5561,7 +5713,7 @@ gtk_file_chooser_default_get_files (GtkFileChooser *chooser)
if (!is_well_formed)
return NULL;
- if (is_file_part_empty && impl->action == GTK_FILE_CHOOSER_ACTION_SAVE)
+ if (is_file_part_empty && priv->action == GTK_FILE_CHOOSER_ACTION_SAVE)
{
g_object_unref (info.file_from_entry);
return NULL;
@@ -5574,15 +5726,15 @@ gtk_file_chooser_default_get_files (GtkFileChooser *chooser)
else
return NULL;
}
- else if (impl->toplevel_last_focus_widget == impl->browse_files_tree_view)
+ else if (priv->toplevel_last_focus_widget == priv->browse_files_tree_view)
goto file_list;
- else if (impl->location_entry && impl->toplevel_last_focus_widget == impl->location_entry)
+ else if (priv->location_entry && priv->toplevel_last_focus_widget == priv->location_entry)
goto file_entry;
else
{
/* The focus is on a dialog's action area button or something else */
- if (impl->action == GTK_FILE_CHOOSER_ACTION_SAVE ||
- impl->action == GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER)
+ if (priv->action == GTK_FILE_CHOOSER_ACTION_SAVE ||
+ priv->action == GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER)
goto file_entry;
else
goto file_list;
@@ -5592,7 +5744,7 @@ gtk_file_chooser_default_get_files (GtkFileChooser *chooser)
/* If there's no folder selected, and we're in SELECT_FOLDER mode, then we
* fall back to the current directory */
- if (impl->action == GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER &&
+ if (priv->action == GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER &&
info.result == NULL)
{
GFile *current_folder;
@@ -5610,9 +5762,10 @@ GFile *
gtk_file_chooser_default_get_preview_file (GtkFileChooser *chooser)
{
GtkFileChooserDefault *impl = GTK_FILE_CHOOSER_DEFAULT (chooser);
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
- if (impl->preview_file)
- return g_object_ref (impl->preview_file);
+ if (priv->preview_file)
+ return g_object_ref (priv->preview_file);
else
return NULL;
}
@@ -5621,8 +5774,9 @@ static GtkFileSystem *
gtk_file_chooser_default_get_file_system (GtkFileChooser *chooser)
{
GtkFileChooserDefault *impl = GTK_FILE_CHOOSER_DEFAULT (chooser);
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
- return impl->file_system;
+ return priv->file_system;
}
/* Shows or hides the filter widgets */
@@ -5630,10 +5784,12 @@ static void
show_filters (GtkFileChooserDefault *impl,
gboolean show)
{
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
+
if (show)
- gtk_widget_show (impl->filter_combo_hbox);
+ gtk_widget_show (priv->filter_combo_hbox);
else
- gtk_widget_hide (impl->filter_combo_hbox);
+ gtk_widget_hide (priv->filter_combo_hbox);
}
static void
@@ -5641,24 +5797,25 @@ gtk_file_chooser_default_add_filter (GtkFileChooser *chooser,
GtkFileFilter *filter)
{
GtkFileChooserDefault *impl = GTK_FILE_CHOOSER_DEFAULT (chooser);
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
const gchar *name;
- if (g_slist_find (impl->filters, filter))
+ if (g_slist_find (priv->filters, filter))
{
g_warning ("gtk_file_chooser_add_filter() called on filter already in list\n");
return;
}
g_object_ref_sink (filter);
- impl->filters = g_slist_append (impl->filters, filter);
+ priv->filters = g_slist_append (priv->filters, filter);
name = gtk_file_filter_get_name (filter);
if (!name)
name = "Untitled filter"; /* Place-holder, doesn't need to be marked for translation */
- gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (impl->filter_combo), name);
+ gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (priv->filter_combo), name);
- if (!g_slist_find (impl->filters, impl->current_filter))
+ if (!g_slist_find (priv->filters, priv->current_filter))
set_current_filter (impl, filter);
show_filters (impl, TRUE);
@@ -5669,11 +5826,12 @@ gtk_file_chooser_default_remove_filter (GtkFileChooser *chooser,
GtkFileFilter *filter)
{
GtkFileChooserDefault *impl = GTK_FILE_CHOOSER_DEFAULT (chooser);
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
GtkTreeModel *model;
GtkTreeIter iter;
gint filter_index;
- filter_index = g_slist_index (impl->filters, filter);
+ filter_index = g_slist_index (priv->filters, filter);
if (filter_index < 0)
{
@@ -5681,18 +5839,18 @@ gtk_file_chooser_default_remove_filter (GtkFileChooser *chooser,
return;
}
- impl->filters = g_slist_remove (impl->filters, filter);
+ priv->filters = g_slist_remove (priv->filters, filter);
- if (filter == impl->current_filter)
+ if (filter == priv->current_filter)
{
- if (impl->filters)
- set_current_filter (impl, impl->filters->data);
+ if (priv->filters)
+ set_current_filter (impl, priv->filters->data);
else
set_current_filter (impl, NULL);
}
/* Remove row from the combo box */
- model = gtk_combo_box_get_model (GTK_COMBO_BOX (impl->filter_combo));
+ model = gtk_combo_box_get_model (GTK_COMBO_BOX (priv->filter_combo));
if (!gtk_tree_model_iter_nth_child (model, &iter, NULL, filter_index))
g_assert_not_reached ();
@@ -5700,7 +5858,7 @@ gtk_file_chooser_default_remove_filter (GtkFileChooser *chooser,
g_object_unref (filter);
- if (!impl->filters)
+ if (!priv->filters)
show_filters (impl, FALSE);
}
@@ -5708,8 +5866,9 @@ static GSList *
gtk_file_chooser_default_list_filters (GtkFileChooser *chooser)
{
GtkFileChooserDefault *impl = GTK_FILE_CHOOSER_DEFAULT (chooser);
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
- return g_slist_copy (impl->filters);
+ return g_slist_copy (priv->filters);
}
static gboolean
@@ -5718,8 +5877,9 @@ gtk_file_chooser_default_add_shortcut_folder (GtkFileChooser *chooser,
GError **error)
{
GtkFileChooserDefault *impl = GTK_FILE_CHOOSER_DEFAULT (chooser);
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
- gtk_places_sidebar_add_shortcut (GTK_PLACES_SIDEBAR (impl->places_sidebar), file);
+ gtk_places_sidebar_add_shortcut (GTK_PLACES_SIDEBAR (priv->places_sidebar), file);
return TRUE;
}
@@ -5729,8 +5889,9 @@ gtk_file_chooser_default_remove_shortcut_folder (GtkFileChooser *chooser,
GError **error)
{
GtkFileChooserDefault *impl = GTK_FILE_CHOOSER_DEFAULT (chooser);
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
- gtk_places_sidebar_remove_shortcut (GTK_PLACES_SIDEBAR (impl->places_sidebar), file);
+ gtk_places_sidebar_remove_shortcut (GTK_PLACES_SIDEBAR (priv->places_sidebar), file);
return TRUE;
}
@@ -5738,8 +5899,9 @@ static GSList *
gtk_file_chooser_default_list_shortcut_folders (GtkFileChooser *chooser)
{
GtkFileChooserDefault *impl = GTK_FILE_CHOOSER_DEFAULT (chooser);
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
- return gtk_places_sidebar_list_shortcuts (GTK_PLACES_SIDEBAR (impl->places_sidebar));
+ return gtk_places_sidebar_list_shortcuts (GTK_PLACES_SIDEBAR (priv->places_sidebar));
}
/* Guesses a size based upon font sizes */
@@ -5779,13 +5941,12 @@ gtk_file_chooser_default_get_default_size (GtkFileChooserEmbed *chooser_embed,
gint *default_width,
gint *default_height)
{
- GtkFileChooserDefault *impl;
+ GtkFileChooserDefault *impl = GTK_FILE_CHOOSER_DEFAULT (chooser_embed);
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
GtkRequisition req;
int x, y, width, height;
GSettings *settings;
- impl = GTK_FILE_CHOOSER_DEFAULT (chooser_embed);
-
settings = _gtk_file_chooser_get_settings_for_widget (GTK_WIDGET (impl));
g_settings_get (settings, SETTINGS_KEY_WINDOW_POSITION, "(ii)", &x, &y);
@@ -5800,19 +5961,19 @@ gtk_file_chooser_default_get_default_size (GtkFileChooserEmbed *chooser_embed,
find_good_size_from_style (GTK_WIDGET (chooser_embed), default_width, default_height);
- if (impl->preview_widget_active &&
- impl->preview_widget &&
- gtk_widget_get_visible (impl->preview_widget))
+ if (priv->preview_widget_active &&
+ priv->preview_widget &&
+ gtk_widget_get_visible (priv->preview_widget))
{
- gtk_widget_get_preferred_size (impl->preview_box,
+ gtk_widget_get_preferred_size (priv->preview_box,
&req, NULL);
*default_width += PREVIEW_HBOX_SPACING + req.width;
}
- if (impl->extra_widget &&
- gtk_widget_get_visible (impl->extra_widget))
+ if (priv->extra_widget &&
+ gtk_widget_get_visible (priv->extra_widget))
{
- gtk_widget_get_preferred_size (impl->extra_align,
+ gtk_widget_get_preferred_size (priv->extra_align,
&req, NULL);
*default_height += gtk_box_get_spacing (GTK_BOX (chooser_embed)) + req.height;
}
@@ -5835,7 +5996,7 @@ switch_folder_foreach_cb (GtkTreeModel *model,
closure = data;
- closure->file = _gtk_file_system_model_get_file (closure->impl->browse_files_model, iter);
+ closure->file = _gtk_file_system_model_get_file (closure->impl->priv->browse_files_model, iter);
closure->num_selected++;
}
@@ -5843,6 +6004,7 @@ switch_folder_foreach_cb (GtkTreeModel *model,
static void
switch_to_selected_folder (GtkFileChooserDefault *impl)
{
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
GtkTreeSelection *selection;
struct switch_folder_closure closure;
@@ -5854,7 +6016,7 @@ switch_to_selected_folder (GtkFileChooserDefault *impl)
closure.file = NULL;
closure.num_selected = 0;
- selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (impl->browse_files_tree_view));
+ selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (priv->browse_files_tree_view));
gtk_tree_selection_selected_foreach (selection, switch_folder_foreach_cb, &closure);
g_assert (closure.file && closure.num_selected == 1);
@@ -5869,12 +6031,13 @@ static GFileInfo *
get_selected_file_info_from_file_list (GtkFileChooserDefault *impl,
gboolean *had_selection)
{
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
GtkTreeSelection *selection;
GtkTreeIter iter;
GFileInfo *info;
- g_assert (!impl->select_multiple);
- selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (impl->browse_files_tree_view));
+ g_assert (!priv->select_multiple);
+ selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (priv->browse_files_tree_view));
if (!gtk_tree_selection_get_selected (selection, NULL, &iter))
{
*had_selection = FALSE;
@@ -5883,7 +6046,7 @@ get_selected_file_info_from_file_list (GtkFileChooserDefault *impl,
*had_selection = TRUE;
- info = _gtk_file_system_model_get_info (impl->browse_files_model, &iter);
+ info = _gtk_file_system_model_get_info (priv->browse_files_model, &iter);
return info;
}
@@ -5990,11 +6153,12 @@ confirmation_confirm_get_info_cb (GCancellable *cancellable,
gboolean cancelled = g_cancellable_is_cancelled (cancellable);
gboolean should_respond = FALSE;
struct GetDisplayNameData *data = user_data;
+ GtkFileChooserDefaultPrivate *priv = data->impl->priv;
- if (cancellable != data->impl->should_respond_get_info_cancellable)
+ if (cancellable != priv->should_respond_get_info_cancellable)
goto out;
- data->impl->should_respond_get_info_cancellable = NULL;
+ priv->should_respond_get_info_cancellable = NULL;
if (cancelled)
goto out;
@@ -6025,9 +6189,10 @@ should_respond_after_confirm_overwrite (GtkFileChooserDefault *impl,
const gchar *file_part,
GFile *parent_file)
{
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
GtkFileChooserConfirmation conf;
- if (!impl->do_overwrite_confirmation)
+ if (!priv->do_overwrite_confirmation)
return TRUE;
conf = GTK_FILE_CHOOSER_CONFIRMATION_CONFIRM;
@@ -6046,11 +6211,11 @@ should_respond_after_confirm_overwrite (GtkFileChooserDefault *impl,
data->impl = g_object_ref (impl);
data->file_part = g_strdup (file_part);
- if (impl->should_respond_get_info_cancellable)
- g_cancellable_cancel (impl->should_respond_get_info_cancellable);
+ if (priv->should_respond_get_info_cancellable)
+ g_cancellable_cancel (priv->should_respond_get_info_cancellable);
- impl->should_respond_get_info_cancellable =
- _gtk_file_system_get_info (impl->file_system, parent_file,
+ priv->should_respond_get_info_cancellable =
+ _gtk_file_system_get_info (priv->file_system, parent_file,
"standard::display-name",
confirmation_confirm_get_info_cb,
data);
@@ -6087,13 +6252,15 @@ name_entry_get_parent_info_cb (GCancellable *cancellable,
gboolean parent_is_folder;
gboolean cancelled = g_cancellable_is_cancelled (cancellable);
struct FileExistsData *data = user_data;
+ GtkFileChooserDefault *impl = data->impl;
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
- if (cancellable != data->impl->should_respond_get_info_cancellable)
+ if (cancellable != priv->should_respond_get_info_cancellable)
goto out;
- data->impl->should_respond_get_info_cancellable = NULL;
+ priv->should_respond_get_info_cancellable = NULL;
- set_busy_cursor (data->impl, FALSE);
+ set_busy_cursor (impl, FALSE);
if (cancelled)
goto out;
@@ -6105,11 +6272,11 @@ name_entry_get_parent_info_cb (GCancellable *cancellable,
if (parent_is_folder)
{
- if (data->impl->action == GTK_FILE_CHOOSER_ACTION_OPEN)
+ if (priv->action == GTK_FILE_CHOOSER_ACTION_OPEN)
{
- request_response_and_add_to_recent_list (data->impl); /* even if the file doesn't exist, apps can
make good use of that (e.g. Emacs) */
+ request_response_and_add_to_recent_list (impl); /* even if the file doesn't exist, apps can make
good use of that (e.g. Emacs) */
}
- else if (data->impl->action == GTK_FILE_CHOOSER_ACTION_SAVE)
+ else if (priv->action == GTK_FILE_CHOOSER_ACTION_SAVE)
{
if (data->file_exists_and_is_not_folder)
{
@@ -6120,18 +6287,18 @@ name_entry_get_parent_info_cb (GCancellable *cancellable,
* depending on what clients do in the confirm-overwrite
* signal and this corrupts the pointer
*/
- file_part = g_strdup (_gtk_file_chooser_entry_get_file_part (GTK_FILE_CHOOSER_ENTRY
(data->impl->location_entry)));
- retval = should_respond_after_confirm_overwrite (data->impl, file_part, data->parent_file);
+ file_part = g_strdup (_gtk_file_chooser_entry_get_file_part (GTK_FILE_CHOOSER_ENTRY
(priv->location_entry)));
+ retval = should_respond_after_confirm_overwrite (impl, file_part, data->parent_file);
g_free (file_part);
if (retval)
- request_response_and_add_to_recent_list (data->impl);
+ request_response_and_add_to_recent_list (impl);
}
else
- request_response_and_add_to_recent_list (data->impl);
+ request_response_and_add_to_recent_list (impl);
}
- else if (data->impl->action == GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER
- || data->impl->action == GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER)
+ else if (priv->action == GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER
+ || priv->action == GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER)
{
GError *mkdir_error = NULL;
@@ -6139,14 +6306,14 @@ name_entry_get_parent_info_cb (GCancellable *cancellable,
* "/blah/nonexistent" you *will* want a folder created.
*/
- set_busy_cursor (data->impl, TRUE);
+ set_busy_cursor (impl, TRUE);
g_file_make_directory (data->file, NULL, &mkdir_error);
- set_busy_cursor (data->impl, FALSE);
+ set_busy_cursor (impl, FALSE);
if (!mkdir_error)
- request_response_and_add_to_recent_list (data->impl);
+ request_response_and_add_to_recent_list (impl);
else
- error_creating_folder_dialog (data->impl, data->file, mkdir_error);
+ error_creating_folder_dialog (impl, data->file, mkdir_error);
}
else
g_assert_not_reached ();
@@ -6156,7 +6323,7 @@ name_entry_get_parent_info_cb (GCancellable *cancellable,
if (info)
{
/* The parent exists, but it's not a folder! Someone probably typed existing_file.txt/subfile.txt
*/
- error_with_file_under_nonfolder (data->impl, data->parent_file);
+ error_with_file_under_nonfolder (impl, data->parent_file);
}
else
{
@@ -6165,7 +6332,7 @@ name_entry_get_parent_info_cb (GCancellable *cancellable,
/* The parent folder is not readable for some reason */
error_copy = g_error_copy (error);
- error_changing_folder_dialog (data->impl, data->parent_file, error_copy);
+ error_changing_folder_dialog (impl, data->parent_file, error_copy);
}
}
@@ -6190,13 +6357,15 @@ file_exists_get_info_cb (GCancellable *cancellable,
gboolean is_folder;
gboolean needs_parent_check = FALSE;
struct FileExistsData *data = user_data;
+ GtkFileChooserDefault *impl = data->impl;
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
- if (cancellable != data->impl->file_exists_get_info_cancellable)
+ if (cancellable != priv->file_exists_get_info_cancellable)
goto out;
- data->impl->file_exists_get_info_cancellable = NULL;
+ priv->file_exists_get_info_cancellable = NULL;
- set_busy_cursor (data->impl, FALSE);
+ set_busy_cursor (impl, FALSE);
if (cancelled)
goto out;
@@ -6204,26 +6373,26 @@ file_exists_get_info_cb (GCancellable *cancellable,
file_exists = (info != NULL);
is_folder = (file_exists && _gtk_file_info_consider_as_directory (info));
- if (data->impl->action == GTK_FILE_CHOOSER_ACTION_OPEN)
+ if (priv->action == GTK_FILE_CHOOSER_ACTION_OPEN)
{
if (is_folder)
- change_folder_and_display_error (data->impl, data->file, TRUE);
+ change_folder_and_display_error (impl, data->file, TRUE);
else
{
if (file_exists)
- request_response_and_add_to_recent_list (data->impl); /* user typed an existing filename; we are
done */
+ request_response_and_add_to_recent_list (impl); /* user typed an existing filename; we are done */
else
needs_parent_check = TRUE; /* file doesn't exist; see if its parent exists */
}
}
- else if (data->impl->action == GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER)
+ else if (priv->action == GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER)
{
if (file_exists && !is_folder)
{
/* Oops, the user typed the name of an existing path which is not
* a folder
*/
- error_creating_folder_over_existing_file_dialog (data->impl, data->file,
+ error_creating_folder_over_existing_file_dialog (impl, data->file,
g_error_copy (error));
}
else
@@ -6231,7 +6400,7 @@ file_exists_get_info_cb (GCancellable *cancellable,
needs_parent_check = TRUE;
}
}
- else if (data->impl->action == GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER)
+ else if (priv->action == GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER)
{
if (!file_exists)
{
@@ -6242,16 +6411,16 @@ file_exists_get_info_cb (GCancellable *cancellable,
if (is_folder)
{
/* User typed a folder; we are done */
- request_response_and_add_to_recent_list (data->impl);
+ request_response_and_add_to_recent_list (impl);
}
else
- error_selecting_folder_over_existing_file_dialog (data->impl, data->file);
+ error_selecting_folder_over_existing_file_dialog (impl, data->file);
}
}
- else if (data->impl->action == GTK_FILE_CHOOSER_ACTION_SAVE)
+ else if (priv->action == GTK_FILE_CHOOSER_ACTION_SAVE)
{
if (is_folder)
- change_folder_and_display_error (data->impl, data->file, TRUE);
+ change_folder_and_display_error (impl, data->file, TRUE);
else
needs_parent_check = TRUE;
}
@@ -6266,22 +6435,22 @@ file_exists_get_info_cb (GCancellable *cancellable,
data->file_exists_and_is_not_folder = file_exists && !is_folder;
data_ownership_taken = TRUE;
- if (data->impl->should_respond_get_info_cancellable)
- g_cancellable_cancel (data->impl->should_respond_get_info_cancellable);
+ if (priv->should_respond_get_info_cancellable)
+ g_cancellable_cancel (priv->should_respond_get_info_cancellable);
- data->impl->should_respond_get_info_cancellable =
- _gtk_file_system_get_info (data->impl->file_system,
+ priv->should_respond_get_info_cancellable =
+ _gtk_file_system_get_info (priv->file_system,
data->parent_file,
"standard::type",
name_entry_get_parent_info_cb,
data);
- set_busy_cursor (data->impl, TRUE);
+ set_busy_cursor (impl, TRUE);
}
out:
if (!data_ownership_taken)
{
- g_object_unref (data->impl);
+ g_object_unref (impl);
g_object_unref (data->file);
g_object_unref (data->parent_file);
g_free (data);
@@ -6323,6 +6492,7 @@ location_popup_on_paste_handler (GtkFileChooserDefault *impl)
static void
add_selection_to_recent_list (GtkFileChooserDefault *impl)
{
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
GSList *files;
GSList *l;
@@ -6336,7 +6506,7 @@ add_selection_to_recent_list (GtkFileChooserDefault *impl)
uri = g_file_get_uri (file);
if (uri)
{
- gtk_recent_manager_add_item (impl->recent_manager, uri);
+ gtk_recent_manager_add_item (priv->recent_manager, uri);
g_free (uri);
}
}
@@ -6348,13 +6518,12 @@ add_selection_to_recent_list (GtkFileChooserDefault *impl)
static gboolean
gtk_file_chooser_default_should_respond (GtkFileChooserEmbed *chooser_embed)
{
- GtkFileChooserDefault *impl;
+ GtkFileChooserDefault *impl = GTK_FILE_CHOOSER_DEFAULT (chooser_embed);
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
GtkWidget *toplevel;
GtkWidget *current_focus;
gboolean retval;
- impl = GTK_FILE_CHOOSER_DEFAULT (chooser_embed);
-
toplevel = gtk_widget_get_toplevel (GTK_WIDGET (impl));
g_assert (GTK_IS_WINDOW (toplevel));
@@ -6362,9 +6531,9 @@ gtk_file_chooser_default_should_respond (GtkFileChooserEmbed *chooser_embed)
current_focus = gtk_window_get_focus (GTK_WINDOW (toplevel));
- if (current_focus == impl->browse_files_tree_view)
+ if (current_focus == priv->browse_files_tree_view)
{
- /* The following array encodes what we do based on the impl->action and the
+ /* The following array encodes what we do based on the priv->action and the
* number of files selected.
*/
typedef enum {
@@ -6391,17 +6560,17 @@ gtk_file_chooser_default_should_respond (GtkFileChooserEmbed *chooser_embed)
file_list:
- g_assert (impl->action >= GTK_FILE_CHOOSER_ACTION_OPEN && impl->action <=
GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER);
+ g_assert (priv->action >= GTK_FILE_CHOOSER_ACTION_OPEN && priv->action <=
GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER);
- if (impl->operation_mode == OPERATION_MODE_SEARCH)
+ if (priv->operation_mode == OPERATION_MODE_SEARCH)
{
retval = search_should_respond (impl);
goto out;
}
- if (impl->operation_mode == OPERATION_MODE_RECENT)
+ if (priv->operation_mode == OPERATION_MODE_RECENT)
{
- if (impl->action == GTK_FILE_CHOOSER_ACTION_SAVE)
+ if (priv->action == GTK_FILE_CHOOSER_ACTION_SAVE)
goto save_entry;
else
{
@@ -6417,7 +6586,7 @@ gtk_file_chooser_default_should_respond (GtkFileChooserEmbed *chooser_embed)
else
k = num_selected;
- action = what_to_do [impl->action] [k];
+ action = what_to_do [priv->action] [k];
switch (action)
{
@@ -6436,11 +6605,11 @@ gtk_file_chooser_default_should_respond (GtkFileChooserEmbed *chooser_embed)
switch_to_selected_folder (impl);
return FALSE;
}
- else if (impl->action == GTK_FILE_CHOOSER_ACTION_SAVE)
+ else if (priv->action == GTK_FILE_CHOOSER_ACTION_SAVE)
{
retval = should_respond_after_confirm_overwrite (impl,
get_display_name_from_file_list (impl),
- impl->current_folder);
+ priv->current_folder);
goto out;
}
else
@@ -6464,7 +6633,7 @@ gtk_file_chooser_default_should_respond (GtkFileChooserEmbed *chooser_embed)
g_assert_not_reached ();
}
}
- else if ((impl->location_entry != NULL) && (current_focus == impl->location_entry))
+ else if ((priv->location_entry != NULL) && (current_focus == priv->location_entry))
{
GFile *file;
gboolean is_well_formed, is_empty, is_file_part_empty;
@@ -6474,20 +6643,20 @@ gtk_file_chooser_default_should_respond (GtkFileChooserEmbed *chooser_embed)
save_entry:
- g_assert (impl->action == GTK_FILE_CHOOSER_ACTION_SAVE
- || impl->action == GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER
- || ((impl->action == GTK_FILE_CHOOSER_ACTION_OPEN
- || impl->action == GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER)
- && impl->location_mode == LOCATION_MODE_FILENAME_ENTRY));
+ g_assert (priv->action == GTK_FILE_CHOOSER_ACTION_SAVE
+ || priv->action == GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER
+ || ((priv->action == GTK_FILE_CHOOSER_ACTION_OPEN
+ || priv->action == GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER)
+ && priv->location_mode == LOCATION_MODE_FILENAME_ENTRY));
- entry = GTK_FILE_CHOOSER_ENTRY (impl->location_entry);
+ entry = GTK_FILE_CHOOSER_ENTRY (priv->location_entry);
check_save_entry (impl, &file, &is_well_formed, &is_empty, &is_file_part_empty, &is_folder);
if (!is_well_formed)
{
if (!is_empty
- && impl->action == GTK_FILE_CHOOSER_ACTION_SAVE
- && impl->operation_mode == OPERATION_MODE_RECENT)
+ && priv->action == GTK_FILE_CHOOSER_ACTION_SAVE
+ && priv->operation_mode == OPERATION_MODE_RECENT)
{
path_bar_set_mode (impl, PATH_BAR_ERROR_NO_FOLDER);
#if 0
@@ -6496,7 +6665,7 @@ gtk_file_chooser_default_should_respond (GtkFileChooserEmbed *chooser_embed)
* a selection causes the error message from path_bar_set_mode() to go away,
* but we want the user to see that message!
*/
- gtk_widget_grab_focus (impl->browse_files_tree_view);
+ gtk_widget_grab_focus (priv->browse_files_tree_view);
#endif
}
/* FIXME: else show an "invalid filename" error as the pathbar mode? */
@@ -6506,11 +6675,11 @@ gtk_file_chooser_default_should_respond (GtkFileChooserEmbed *chooser_embed)
if (is_empty)
{
- if (impl->action == GTK_FILE_CHOOSER_ACTION_SAVE
- || impl->action == GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER)
+ if (priv->action == GTK_FILE_CHOOSER_ACTION_SAVE
+ || priv->action == GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER)
{
path_bar_set_mode (impl, PATH_BAR_ERROR_NO_FILENAME);
- gtk_widget_grab_focus (impl->location_entry);
+ gtk_widget_grab_focus (priv->location_entry);
return FALSE;
}
@@ -6522,13 +6691,13 @@ gtk_file_chooser_default_should_respond (GtkFileChooserEmbed *chooser_embed)
error = NULL;
if (is_folder)
{
- if (impl->action == GTK_FILE_CHOOSER_ACTION_OPEN ||
- impl->action == GTK_FILE_CHOOSER_ACTION_SAVE)
+ if (priv->action == GTK_FILE_CHOOSER_ACTION_OPEN ||
+ priv->action == GTK_FILE_CHOOSER_ACTION_SAVE)
{
change_folder_and_display_error (impl, file, TRUE);
}
- else if (impl->action == GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER ||
- impl->action == GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER)
+ else if (priv->action == GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER ||
+ priv->action == GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER)
{
/* The folder already exists, so we do not need to create it.
* Just respond to terminate the dialog.
@@ -6555,11 +6724,11 @@ gtk_file_chooser_default_should_respond (GtkFileChooserEmbed *chooser_embed)
data->file = g_object_ref (file);
data->parent_file = _gtk_file_chooser_entry_get_current_folder (entry);
- if (impl->file_exists_get_info_cancellable)
- g_cancellable_cancel (impl->file_exists_get_info_cancellable);
+ if (priv->file_exists_get_info_cancellable)
+ g_cancellable_cancel (priv->file_exists_get_info_cancellable);
- impl->file_exists_get_info_cancellable =
- _gtk_file_system_get_info (impl->file_system, file,
+ priv->file_exists_get_info_cancellable =
+ _gtk_file_system_get_info (priv->file_system, file,
"standard::type",
file_exists_get_info_cb,
data);
@@ -6572,19 +6741,19 @@ gtk_file_chooser_default_should_respond (GtkFileChooserEmbed *chooser_embed)
g_object_unref (file);
}
- else if (impl->toplevel_last_focus_widget == impl->browse_files_tree_view)
+ else if (priv->toplevel_last_focus_widget == priv->browse_files_tree_view)
{
/* The focus is on a dialog's action area button, *and* the widget that
* was focused immediately before it is the file list.
*/
goto file_list;
}
- else if (impl->operation_mode == OPERATION_MODE_SEARCH && impl->toplevel_last_focus_widget ==
impl->search_entry)
+ else if (priv->operation_mode == OPERATION_MODE_SEARCH && priv->toplevel_last_focus_widget ==
priv->search_entry)
{
- search_entry_activate_cb (GTK_ENTRY (impl->search_entry), impl);
+ search_entry_activate_cb (GTK_ENTRY (priv->search_entry), impl);
return FALSE;
}
- else if (impl->location_entry && impl->toplevel_last_focus_widget == impl->location_entry)
+ else if (priv->location_entry && priv->toplevel_last_focus_widget == priv->location_entry)
{
/* The focus is on a dialog's action area button, *and* the widget that
* was focused immediately before it is the location entry.
@@ -6593,8 +6762,8 @@ gtk_file_chooser_default_should_respond (GtkFileChooserEmbed *chooser_embed)
}
else
/* The focus is on a dialog's action area button or something else */
- if (impl->action == GTK_FILE_CHOOSER_ACTION_SAVE
- || impl->action == GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER)
+ if (priv->action == GTK_FILE_CHOOSER_ACTION_SAVE
+ || priv->action == GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER)
goto save_entry;
else
goto file_list;
@@ -6611,23 +6780,22 @@ gtk_file_chooser_default_should_respond (GtkFileChooserEmbed *chooser_embed)
static void
gtk_file_chooser_default_initial_focus (GtkFileChooserEmbed *chooser_embed)
{
- GtkFileChooserDefault *impl;
+ GtkFileChooserDefault *impl = GTK_FILE_CHOOSER_DEFAULT (chooser_embed);
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
GtkWidget *widget;
- impl = GTK_FILE_CHOOSER_DEFAULT (chooser_embed);
-
- if (impl->action == GTK_FILE_CHOOSER_ACTION_OPEN ||
- impl->action == GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER)
+ if (priv->action == GTK_FILE_CHOOSER_ACTION_OPEN ||
+ priv->action == GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER)
{
- if (impl->location_mode == LOCATION_MODE_PATH_BAR
- || impl->operation_mode == OPERATION_MODE_RECENT)
- widget = impl->browse_files_tree_view;
+ if (priv->location_mode == LOCATION_MODE_PATH_BAR
+ || priv->operation_mode == OPERATION_MODE_RECENT)
+ widget = priv->browse_files_tree_view;
else
- widget = impl->location_entry;
+ widget = priv->location_entry;
}
- else if (impl->action == GTK_FILE_CHOOSER_ACTION_SAVE ||
- impl->action == GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER)
- widget = impl->location_entry;
+ else if (priv->action == GTK_FILE_CHOOSER_ACTION_SAVE ||
+ priv->action == GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER)
+ widget = priv->location_entry;
else
{
g_assert_not_reached ();
@@ -6658,12 +6826,13 @@ search_selected_foreach_get_file_cb (GtkTreeModel *model,
static GSList *
search_get_selected_files (GtkFileChooserDefault *impl)
{
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
GSList *result;
GtkTreeSelection *selection;
result = NULL;
- selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (impl->browse_files_tree_view));
+ selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (priv->browse_files_tree_view));
gtk_tree_selection_selected_foreach (selection, search_selected_foreach_get_file_cb, &result);
result = g_slist_reverse (result);
@@ -6676,11 +6845,12 @@ search_get_selected_files (GtkFileChooserDefault *impl)
static gboolean
search_should_respond (GtkFileChooserDefault *impl)
{
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
GtkTreeSelection *selection;
- g_assert (impl->operation_mode == OPERATION_MODE_SEARCH);
+ g_assert (priv->operation_mode == OPERATION_MODE_SEARCH);
- selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (impl->browse_files_tree_view));
+ selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (priv->browse_files_tree_view));
return (gtk_tree_selection_count_selected_rows (selection) != 0);
}
@@ -6689,6 +6859,7 @@ static void
search_add_hit (GtkFileChooserDefault *impl,
gchar *uri)
{
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
GFile *file;
file = g_file_new_for_uri (uri);
@@ -6701,7 +6872,7 @@ search_add_hit (GtkFileChooserDefault *impl,
return;
}
- _gtk_file_system_model_add_and_query_file (impl->search_model,
+ _gtk_file_system_model_add_and_query_file (priv->search_model,
file,
MODEL_ATTRIBUTES);
@@ -6778,14 +6949,16 @@ static void
search_clear_model (GtkFileChooserDefault *impl,
gboolean remove_from_treeview)
{
- if (!impl->search_model)
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
+
+ if (!priv->search_model)
return;
- g_object_unref (impl->search_model);
- impl->search_model = NULL;
+ g_object_unref (priv->search_model);
+ priv->search_model = NULL;
if (remove_from_treeview)
- gtk_tree_view_set_model (GTK_TREE_VIEW (impl->browse_files_tree_view), NULL);
+ gtk_tree_view_set_model (GTK_TREE_VIEW (priv->browse_files_tree_view), NULL);
}
/* Stops any ongoing searches; does not touch the search_model */
@@ -6793,18 +6966,20 @@ static void
search_stop_searching (GtkFileChooserDefault *impl,
gboolean remove_query)
{
- if (remove_query && impl->search_query)
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
+
+ if (remove_query && priv->search_query)
{
- g_object_unref (impl->search_query);
- impl->search_query = NULL;
+ g_object_unref (priv->search_query);
+ priv->search_query = NULL;
}
- if (impl->search_engine)
+ if (priv->search_engine)
{
- _gtk_search_engine_stop (impl->search_engine);
+ _gtk_search_engine_stop (priv->search_engine);
- g_object_unref (impl->search_engine);
- impl->search_engine = NULL;
+ g_object_unref (priv->search_engine);
+ priv->search_engine = NULL;
}
}
@@ -6812,21 +6987,23 @@ search_stop_searching (GtkFileChooserDefault *impl,
static void
search_setup_model (GtkFileChooserDefault *impl)
{
- g_assert (impl->search_model == NULL);
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
+
+ g_assert (priv->search_model == NULL);
- impl->search_model = _gtk_file_system_model_new (file_system_model_set,
+ priv->search_model = _gtk_file_system_model_new (file_system_model_set,
impl,
MODEL_COLUMN_TYPES);
- gtk_tree_sortable_set_sort_func (GTK_TREE_SORTABLE (impl->search_model),
+ gtk_tree_sortable_set_sort_func (GTK_TREE_SORTABLE (priv->search_model),
MODEL_COL_NAME,
name_sort_func,
impl, NULL);
- gtk_tree_sortable_set_sort_func (GTK_TREE_SORTABLE (impl->search_model),
+ gtk_tree_sortable_set_sort_func (GTK_TREE_SORTABLE (priv->search_model),
MODEL_COL_MTIME,
mtime_sort_func,
impl, NULL);
- gtk_tree_sortable_set_sort_func (GTK_TREE_SORTABLE (impl->search_model),
+ gtk_tree_sortable_set_sort_func (GTK_TREE_SORTABLE (priv->search_model),
MODEL_COL_SIZE,
size_sort_func,
impl, NULL);
@@ -6836,8 +7013,8 @@ search_setup_model (GtkFileChooserDefault *impl)
* more "alive" than setting the model at the end of the search
* run
*/
- gtk_tree_view_set_model (GTK_TREE_VIEW (impl->browse_files_tree_view),
- GTK_TREE_MODEL (impl->search_model));
+ gtk_tree_view_set_model (GTK_TREE_VIEW (priv->browse_files_tree_view),
+ GTK_TREE_MODEL (priv->search_model));
file_list_set_sort_column_ids (impl);
}
@@ -6846,37 +7023,39 @@ static void
search_start_query (GtkFileChooserDefault *impl,
const gchar *query_text)
{
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
+
search_stop_searching (impl, FALSE);
search_clear_model (impl, TRUE);
search_setup_model (impl);
set_busy_cursor (impl, TRUE);
- if (impl->search_engine == NULL)
- impl->search_engine = _gtk_search_engine_new ();
+ if (priv->search_engine == NULL)
+ priv->search_engine = _gtk_search_engine_new ();
- if (!impl->search_engine)
+ if (!priv->search_engine)
{
set_busy_cursor (impl, FALSE);
search_error_could_not_create_client (impl); /* lame; we don't get an error code or anything */
return;
}
- if (!impl->search_query)
+ if (!priv->search_query)
{
- impl->search_query = _gtk_query_new ();
- _gtk_query_set_text (impl->search_query, query_text);
+ priv->search_query = _gtk_query_new ();
+ _gtk_query_set_text (priv->search_query, query_text);
}
- _gtk_search_engine_set_query (impl->search_engine, impl->search_query);
+ _gtk_search_engine_set_query (priv->search_engine, priv->search_query);
- g_signal_connect (impl->search_engine, "hits-added",
+ g_signal_connect (priv->search_engine, "hits-added",
G_CALLBACK (search_engine_hits_added_cb), impl);
- g_signal_connect (impl->search_engine, "finished",
+ g_signal_connect (priv->search_engine, "finished",
G_CALLBACK (search_engine_finished_cb), impl);
- g_signal_connect (impl->search_engine, "error",
+ g_signal_connect (priv->search_engine, "error",
G_CALLBACK (search_engine_error_cb), impl);
- _gtk_search_engine_start (impl->search_engine);
+ _gtk_search_engine_start (priv->search_engine);
}
/* Callback used when the user presses Enter while typing on the search
@@ -6886,20 +7065,19 @@ static void
search_entry_activate_cb (GtkEntry *entry,
gpointer data)
{
- GtkFileChooserDefault *impl;
+ GtkFileChooserDefault *impl = GTK_FILE_CHOOSER_DEFAULT (data);
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
const char *text;
- impl = GTK_FILE_CHOOSER_DEFAULT (data);
-
- text = gtk_entry_get_text (GTK_ENTRY (impl->search_entry));
+ text = gtk_entry_get_text (GTK_ENTRY (priv->search_entry));
if (strlen (text) == 0)
return;
/* reset any existing query object */
- if (impl->search_query)
+ if (priv->search_query)
{
- g_object_unref (impl->search_query);
- impl->search_query = NULL;
+ g_object_unref (priv->search_query);
+ priv->search_query = NULL;
}
search_start_query (impl, text);
@@ -6908,13 +7086,15 @@ search_entry_activate_cb (GtkEntry *entry,
static gboolean
focus_entry_idle_cb (GtkFileChooserDefault *impl)
{
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
+
gdk_threads_enter ();
- g_source_destroy (impl->focus_entry_idle);
- impl->focus_entry_idle = NULL;
+ g_source_destroy (priv->focus_entry_idle);
+ priv->focus_entry_idle = NULL;
- if (impl->search_entry)
- gtk_widget_grab_focus (impl->search_entry);
+ if (priv->search_entry)
+ gtk_widget_grab_focus (priv->search_entry);
gdk_threads_leave ();
@@ -6924,6 +7104,8 @@ focus_entry_idle_cb (GtkFileChooserDefault *impl)
static void
focus_search_entry_in_idle (GtkFileChooserDefault *impl)
{
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
+
/* bgo#634558 - When the user clicks on the Search entry in the shortcuts
* pane, we get a selection-changed signal and we set up the search widgets.
* However, gtk_tree_view_button_press() focuses the treeview *after* making
@@ -6932,55 +7114,57 @@ focus_search_entry_in_idle (GtkFileChooserDefault *impl)
* handler.
*/
- if (!impl->focus_entry_idle)
- impl->focus_entry_idle = add_idle_while_impl_is_alive (impl, G_CALLBACK (focus_entry_idle_cb));
+ if (!priv->focus_entry_idle)
+ priv->focus_entry_idle = add_idle_while_impl_is_alive (impl, G_CALLBACK (focus_entry_idle_cb));
}
/* Hides the path bar and creates the search entry */
static void
search_setup_widgets (GtkFileChooserDefault *impl)
{
- impl->search_hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12);
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
+
+ priv->search_hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12);
path_bar_update (impl);
- impl->search_entry = gtk_entry_new ();
- g_signal_connect (impl->search_entry, "activate",
+ priv->search_entry = gtk_entry_new ();
+ g_signal_connect (priv->search_entry, "activate",
G_CALLBACK (search_entry_activate_cb),
impl);
- gtk_box_pack_start (GTK_BOX (impl->search_hbox), impl->search_entry, TRUE, TRUE, 0);
+ gtk_box_pack_start (GTK_BOX (priv->search_hbox), priv->search_entry, TRUE, TRUE, 0);
/* if there already is a query, restart it */
- if (impl->search_query)
+ if (priv->search_query)
{
- gchar *query = _gtk_query_get_text (impl->search_query);
+ gchar *query = _gtk_query_get_text (priv->search_query);
if (query)
{
- gtk_entry_set_text (GTK_ENTRY (impl->search_entry), query);
+ gtk_entry_set_text (GTK_ENTRY (priv->search_entry), query);
search_start_query (impl, query);
g_free (query);
}
else
{
- g_object_unref (impl->search_query);
- impl->search_query = NULL;
+ g_object_unref (priv->search_query);
+ priv->search_query = NULL;
}
}
/* Box for search widgets */
- gtk_box_pack_start (GTK_BOX (impl->browse_path_bar_hbox), impl->search_hbox, TRUE, TRUE, 0);
- gtk_widget_show_all (impl->search_hbox);
- gtk_size_group_add_widget (GTK_SIZE_GROUP (impl->browse_path_bar_size_group), impl->search_hbox);
+ gtk_box_pack_start (GTK_BOX (priv->browse_path_bar_hbox), priv->search_hbox, TRUE, TRUE, 0);
+ gtk_widget_show_all (priv->search_hbox);
+ gtk_size_group_add_widget (GTK_SIZE_GROUP (priv->browse_path_bar_size_group), priv->search_hbox);
/* Hide the location widgets temporarily */
- if (impl->action == GTK_FILE_CHOOSER_ACTION_OPEN ||
- impl->action == GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER)
+ if (priv->action == GTK_FILE_CHOOSER_ACTION_OPEN ||
+ priv->action == GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER)
{
- gtk_widget_hide (impl->location_button);
- gtk_widget_hide (impl->location_entry_box);
+ gtk_widget_hide (priv->location_button);
+ gtk_widget_hide (priv->location_entry_box);
}
focus_search_entry_in_idle (impl);
@@ -6997,14 +7181,16 @@ static void
recent_clear_model (GtkFileChooserDefault *impl,
gboolean remove_from_treeview)
{
- if (!impl->recent_model)
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
+
+ if (!priv->recent_model)
return;
if (remove_from_treeview)
- gtk_tree_view_set_model (GTK_TREE_VIEW (impl->browse_files_tree_view), NULL);
+ gtk_tree_view_set_model (GTK_TREE_VIEW (priv->browse_files_tree_view), NULL);
- g_object_unref (impl->recent_model);
- impl->recent_model = NULL;
+ g_object_unref (priv->recent_model);
+ priv->recent_model = NULL;
}
/* Stops any ongoing loading of the recent files list; does
@@ -7013,33 +7199,37 @@ recent_clear_model (GtkFileChooserDefault *impl,
static void
recent_stop_loading (GtkFileChooserDefault *impl)
{
- if (impl->load_recent_id)
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
+
+ if (priv->load_recent_id)
{
- g_source_remove (impl->load_recent_id);
- impl->load_recent_id = 0;
+ g_source_remove (priv->load_recent_id);
+ priv->load_recent_id = 0;
}
}
static void
recent_setup_model (GtkFileChooserDefault *impl)
{
- g_assert (impl->recent_model == NULL);
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
+
+ g_assert (priv->recent_model == NULL);
- impl->recent_model = _gtk_file_system_model_new (file_system_model_set,
+ priv->recent_model = _gtk_file_system_model_new (file_system_model_set,
impl,
MODEL_COLUMN_TYPES);
- _gtk_file_system_model_set_filter (impl->recent_model,
- impl->current_filter);
- gtk_tree_sortable_set_sort_func (GTK_TREE_SORTABLE (impl->recent_model),
+ _gtk_file_system_model_set_filter (priv->recent_model,
+ priv->current_filter);
+ gtk_tree_sortable_set_sort_func (GTK_TREE_SORTABLE (priv->recent_model),
MODEL_COL_NAME,
name_sort_func,
impl, NULL);
- gtk_tree_sortable_set_sort_func (GTK_TREE_SORTABLE (impl->recent_model),
+ gtk_tree_sortable_set_sort_func (GTK_TREE_SORTABLE (priv->recent_model),
MODEL_COL_SIZE,
size_sort_func,
impl, NULL);
- gtk_tree_sortable_set_sort_func (GTK_TREE_SORTABLE (impl->recent_model),
+ gtk_tree_sortable_set_sort_func (GTK_TREE_SORTABLE (priv->recent_model),
MODEL_COL_MTIME,
mtime_sort_func,
impl, NULL);
@@ -7057,15 +7247,16 @@ recent_idle_cleanup (gpointer data)
{
RecentLoadData *load_data = data;
GtkFileChooserDefault *impl = load_data->impl;
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
- gtk_tree_view_set_model (GTK_TREE_VIEW (impl->browse_files_tree_view),
- GTK_TREE_MODEL (impl->recent_model));
+ gtk_tree_view_set_model (GTK_TREE_VIEW (priv->browse_files_tree_view),
+ GTK_TREE_MODEL (priv->recent_model));
file_list_set_sort_column_ids (impl);
- gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (impl->recent_model), MODEL_COL_MTIME,
GTK_SORT_DESCENDING);
+ gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (priv->recent_model), MODEL_COL_MTIME,
GTK_SORT_DESCENDING);
set_busy_cursor (impl, FALSE);
- impl->load_recent_id = 0;
+ priv->load_recent_id = 0;
g_free (load_data);
}
@@ -7090,6 +7281,7 @@ get_recent_files_limit (GtkWidget *widget)
static void
populate_model_with_recent_items (GtkFileChooserDefault *impl, GList *items)
{
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
gint limit;
GList *l;
int n;
@@ -7104,7 +7296,7 @@ populate_model_with_recent_items (GtkFileChooserDefault *impl, GList *items)
GFile *file;
file = g_file_new_for_uri (gtk_recent_info_get_uri (info));
- _gtk_file_system_model_add_and_query_file (impl->recent_model,
+ _gtk_file_system_model_add_and_query_file (priv->recent_model,
file,
MODEL_ATTRIBUTES);
g_object_unref (file);
@@ -7118,6 +7310,7 @@ populate_model_with_recent_items (GtkFileChooserDefault *impl, GList *items)
static void
populate_model_with_folders (GtkFileChooserDefault *impl, GList *items)
{
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
GList *folders;
GList *l;
@@ -7127,7 +7320,7 @@ populate_model_with_folders (GtkFileChooserDefault *impl, GList *items)
{
GFile *folder = l->data;
- _gtk_file_system_model_add_and_query_file (impl->recent_model,
+ _gtk_file_system_model_add_and_query_file (priv->recent_model,
folder,
MODEL_ATTRIBUTES);
}
@@ -7141,15 +7334,16 @@ recent_idle_load (gpointer data)
{
RecentLoadData *load_data = data;
GtkFileChooserDefault *impl = load_data->impl;
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
- if (!impl->recent_manager)
+ if (!priv->recent_manager)
return FALSE;
- load_data->items = gtk_recent_manager_get_items (impl->recent_manager);
+ load_data->items = gtk_recent_manager_get_items (priv->recent_manager);
if (!load_data->items)
return FALSE;
- if (impl->action == GTK_FILE_CHOOSER_ACTION_OPEN)
+ if (priv->action == GTK_FILE_CHOOSER_ACTION_OPEN)
populate_model_with_recent_items (impl, load_data->items);
else
populate_model_with_folders (impl, load_data->items);
@@ -7164,6 +7358,7 @@ recent_idle_load (gpointer data)
static void
recent_start_loading (GtkFileChooserDefault *impl)
{
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
RecentLoadData *load_data;
recent_stop_loading (impl);
@@ -7171,14 +7366,14 @@ recent_start_loading (GtkFileChooserDefault *impl)
recent_setup_model (impl);
set_busy_cursor (impl, TRUE);
- g_assert (impl->load_recent_id == 0);
+ g_assert (priv->load_recent_id == 0);
load_data = g_new (RecentLoadData, 1);
load_data->impl = impl;
load_data->items = NULL;
/* begin lazy loading the recent files into the model */
- impl->load_recent_id = gdk_threads_add_idle_full (G_PRIORITY_HIGH_IDLE + 30,
+ priv->load_recent_id = gdk_threads_add_idle_full (G_PRIORITY_HIGH_IDLE + 30,
recent_idle_load,
load_data,
recent_idle_cleanup);
@@ -7203,12 +7398,13 @@ recent_selected_foreach_get_file_cb (GtkTreeModel *model,
static GSList *
recent_get_selected_files (GtkFileChooserDefault *impl)
{
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
GSList *result;
GtkTreeSelection *selection;
result = NULL;
- selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (impl->browse_files_tree_view));
+ selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (priv->browse_files_tree_view));
gtk_tree_selection_selected_foreach (selection, recent_selected_foreach_get_file_cb, &result);
result = g_slist_reverse (result);
@@ -7221,11 +7417,12 @@ recent_get_selected_files (GtkFileChooserDefault *impl)
static gboolean
recent_should_respond (GtkFileChooserDefault *impl)
{
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
GtkTreeSelection *selection;
- g_assert (impl->operation_mode == OPERATION_MODE_RECENT);
+ g_assert (priv->operation_mode == OPERATION_MODE_RECENT);
- selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (impl->browse_files_tree_view));
+ selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (priv->browse_files_tree_view));
return (gtk_tree_selection_count_selected_rows (selection) != 0);
}
@@ -7233,44 +7430,46 @@ static void
set_current_filter (GtkFileChooserDefault *impl,
GtkFileFilter *filter)
{
- if (impl->current_filter != filter)
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
+
+ if (priv->current_filter != filter)
{
int filter_index;
/* NULL filters are allowed to reset to non-filtered status
*/
- filter_index = g_slist_index (impl->filters, filter);
- if (impl->filters && filter && filter_index < 0)
+ filter_index = g_slist_index (priv->filters, filter);
+ if (priv->filters && filter && filter_index < 0)
return;
- if (impl->current_filter)
- g_object_unref (impl->current_filter);
- impl->current_filter = filter;
- if (impl->current_filter)
+ if (priv->current_filter)
+ g_object_unref (priv->current_filter);
+ priv->current_filter = filter;
+ if (priv->current_filter)
{
- g_object_ref_sink (impl->current_filter);
+ g_object_ref_sink (priv->current_filter);
}
- if (impl->filters)
- gtk_combo_box_set_active (GTK_COMBO_BOX (impl->filter_combo),
+ if (priv->filters)
+ gtk_combo_box_set_active (GTK_COMBO_BOX (priv->filter_combo),
filter_index);
- if (impl->browse_files_model)
+ if (priv->browse_files_model)
{
- _gtk_file_system_model_set_filter (impl->browse_files_model, impl->current_filter);
- _gtk_file_system_model_clear_cache (impl->browse_files_model, MODEL_COL_IS_SENSITIVE);
+ _gtk_file_system_model_set_filter (priv->browse_files_model, priv->current_filter);
+ _gtk_file_system_model_clear_cache (priv->browse_files_model, MODEL_COL_IS_SENSITIVE);
}
- if (impl->search_model)
+ if (priv->search_model)
{
- _gtk_file_system_model_set_filter (impl->search_model, filter);
- _gtk_file_system_model_clear_cache (impl->search_model, MODEL_COL_IS_SENSITIVE);
+ _gtk_file_system_model_set_filter (priv->search_model, filter);
+ _gtk_file_system_model_clear_cache (priv->search_model, MODEL_COL_IS_SENSITIVE);
}
- if (impl->recent_model)
+ if (priv->recent_model)
{
- _gtk_file_system_model_set_filter (impl->recent_model, filter);
- _gtk_file_system_model_clear_cache (impl->recent_model, MODEL_COL_IS_SENSITIVE);
+ _gtk_file_system_model_set_filter (priv->recent_model, filter);
+ _gtk_file_system_model_clear_cache (priv->recent_model, MODEL_COL_IS_SENSITIVE);
}
g_object_notify (G_OBJECT (impl), "filter");
@@ -7281,8 +7480,9 @@ static void
filter_combo_changed (GtkComboBox *combo_box,
GtkFileChooserDefault *impl)
{
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
gint new_index = gtk_combo_box_get_active (combo_box);
- GtkFileFilter *new_filter = g_slist_nth_data (impl->filters, new_index);
+ GtkFileFilter *new_filter = g_slist_nth_data (priv->filters, new_index);
set_current_filter (impl, new_filter);
}
@@ -7290,13 +7490,14 @@ filter_combo_changed (GtkComboBox *combo_box,
static void
check_preview_change (GtkFileChooserDefault *impl)
{
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
GtkTreePath *cursor_path;
GFile *new_file;
char *new_display_name;
GtkTreeModel *model;
- gtk_tree_view_get_cursor (GTK_TREE_VIEW (impl->browse_files_tree_view), &cursor_path, NULL);
- model = gtk_tree_view_get_model (GTK_TREE_VIEW (impl->browse_files_tree_view));
+ gtk_tree_view_get_cursor (GTK_TREE_VIEW (priv->browse_files_tree_view), &cursor_path, NULL);
+ model = gtk_tree_view_get_model (GTK_TREE_VIEW (priv->browse_files_tree_view));
if (cursor_path)
{
GtkTreeIter iter;
@@ -7315,30 +7516,30 @@ check_preview_change (GtkFileChooserDefault *impl)
new_display_name = NULL;
}
- if (new_file != impl->preview_file &&
- !(new_file && impl->preview_file &&
- g_file_equal (new_file, impl->preview_file)))
+ if (new_file != priv->preview_file &&
+ !(new_file && priv->preview_file &&
+ g_file_equal (new_file, priv->preview_file)))
{
- if (impl->preview_file)
+ if (priv->preview_file)
{
- g_object_unref (impl->preview_file);
- g_free (impl->preview_display_name);
+ g_object_unref (priv->preview_file);
+ g_free (priv->preview_display_name);
}
if (new_file)
{
- impl->preview_file = new_file;
- impl->preview_display_name = new_display_name;
+ priv->preview_file = new_file;
+ priv->preview_display_name = new_display_name;
}
else
{
- impl->preview_file = NULL;
- impl->preview_display_name = NULL;
+ priv->preview_file = NULL;
+ priv->preview_display_name = NULL;
g_free (new_display_name);
}
- if (impl->use_preview_label && impl->preview_label)
- gtk_label_set_text (GTK_LABEL (impl->preview_label), impl->preview_display_name);
+ if (priv->use_preview_label && priv->preview_label)
+ gtk_label_set_text (GTK_LABEL (priv->preview_label), priv->preview_display_name);
g_signal_emit_by_name (impl, "update-preview");
}
@@ -7359,9 +7560,10 @@ list_select_func (GtkTreeSelection *selection,
gpointer data)
{
GtkFileChooserDefault *impl = data;
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
- if (impl->action == GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER ||
- impl->action == GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER)
+ if (priv->action == GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER ||
+ priv->action == GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER)
{
GtkTreeIter iter;
gboolean is_sensitive;
@@ -7384,9 +7586,11 @@ static void
list_selection_changed (GtkTreeSelection *selection,
GtkFileChooserDefault *impl)
{
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
+
/* See if we are in the new folder editable row for Save mode */
- if (impl->operation_mode == OPERATION_MODE_BROWSE &&
- impl->action == GTK_FILE_CHOOSER_ACTION_SAVE)
+ if (priv->operation_mode == OPERATION_MODE_BROWSE &&
+ priv->action == GTK_FILE_CHOOSER_ACTION_SAVE)
{
GFileInfo *info;
gboolean had_selection;
@@ -7401,7 +7605,7 @@ list_selection_changed (GtkTreeSelection *selection,
out:
- if (impl->location_entry)
+ if (priv->location_entry)
update_chooser_entry (impl);
path_bar_update (impl);
@@ -7419,6 +7623,7 @@ list_row_activated (GtkTreeView *tree_view,
GtkTreeViewColumn *column,
GtkFileChooserDefault *impl)
{
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
GFile *file;
GtkTreeIter iter;
GtkTreeModel *model;
@@ -7442,8 +7647,8 @@ list_row_activated (GtkTreeView *tree_view,
goto out;
}
- if (impl->action == GTK_FILE_CHOOSER_ACTION_OPEN ||
- impl->action == GTK_FILE_CHOOSER_ACTION_SAVE)
+ if (priv->action == GTK_FILE_CHOOSER_ACTION_OPEN ||
+ priv->action == GTK_FILE_CHOOSER_ACTION_SAVE)
g_signal_emit_by_name (impl, "file-activated");
out:
@@ -7476,6 +7681,7 @@ path_bar_clicked (GtkPathBar *path_bar,
static void
update_cell_renderer_attributes (GtkFileChooserDefault *impl)
{
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
GtkTreeViewColumn *column;
GtkCellRenderer *renderer;
GList *walk, *list;
@@ -7483,7 +7689,7 @@ update_cell_renderer_attributes (GtkFileChooserDefault *impl)
/* Keep the following column numbers in sync with create_file_list() */
/* name */
- column = gtk_tree_view_get_column (GTK_TREE_VIEW (impl->browse_files_tree_view), 0);
+ column = gtk_tree_view_get_column (GTK_TREE_VIEW (priv->browse_files_tree_view), 0);
list = gtk_cell_layout_get_cells (GTK_CELL_LAYOUT (column));
for (walk = list; walk; walk = walk->next)
{
@@ -7507,7 +7713,7 @@ update_cell_renderer_attributes (GtkFileChooserDefault *impl)
g_list_free (list);
/* size */
- column = gtk_tree_view_get_column (GTK_TREE_VIEW (impl->browse_files_tree_view), 1);
+ column = gtk_tree_view_get_column (GTK_TREE_VIEW (priv->browse_files_tree_view), 1);
list = gtk_cell_layout_get_cells (GTK_CELL_LAYOUT (column));
renderer = list->data;
gtk_tree_view_column_set_attributes (column, renderer,
@@ -7518,7 +7724,7 @@ update_cell_renderer_attributes (GtkFileChooserDefault *impl)
g_list_free (list);
/* mtime */
- column = gtk_tree_view_get_column (GTK_TREE_VIEW (impl->browse_files_tree_view), 2);
+ column = gtk_tree_view_get_column (GTK_TREE_VIEW (priv->browse_files_tree_view), 2);
list = gtk_cell_layout_get_cells (GTK_CELL_LAYOUT (column));
renderer = list->data;
gtk_tree_view_column_set_attributes (column, renderer,
@@ -7538,34 +7744,38 @@ static void
location_set_user_text (GtkFileChooserDefault *impl,
const gchar *path)
{
- gtk_entry_set_text (GTK_ENTRY (impl->location_entry), path);
- gtk_editable_set_position (GTK_EDITABLE (impl->location_entry), -1);
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
+
+ gtk_entry_set_text (GTK_ENTRY (priv->location_entry), path);
+ gtk_editable_set_position (GTK_EDITABLE (priv->location_entry), -1);
}
static void
location_popup_handler (GtkFileChooserDefault *impl,
const gchar *path)
{
- if (impl->operation_mode != OPERATION_MODE_BROWSE)
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
+
+ if (priv->operation_mode != OPERATION_MODE_BROWSE)
{
GtkWidget *widget_to_focus;
operation_mode_set (impl, OPERATION_MODE_BROWSE);
- if (impl->current_folder)
- change_folder_and_display_error (impl, impl->current_folder, FALSE);
+ if (priv->current_folder)
+ change_folder_and_display_error (impl, priv->current_folder, FALSE);
- if (impl->location_mode == LOCATION_MODE_PATH_BAR)
- widget_to_focus = impl->browse_files_tree_view;
+ if (priv->location_mode == LOCATION_MODE_PATH_BAR)
+ widget_to_focus = priv->browse_files_tree_view;
else
- widget_to_focus = impl->location_entry;
+ widget_to_focus = priv->location_entry;
gtk_widget_grab_focus (widget_to_focus);
return;
}
- if (impl->action == GTK_FILE_CHOOSER_ACTION_OPEN ||
- impl->action == GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER)
+ if (priv->action == GTK_FILE_CHOOSER_ACTION_OPEN ||
+ priv->action == GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER)
{
if (!path)
return;
@@ -7573,10 +7783,10 @@ location_popup_handler (GtkFileChooserDefault *impl,
location_mode_set (impl, LOCATION_MODE_FILENAME_ENTRY, TRUE);
location_set_user_text (impl, path);
}
- else if (impl->action == GTK_FILE_CHOOSER_ACTION_SAVE ||
- impl->action == GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER)
+ else if (priv->action == GTK_FILE_CHOOSER_ACTION_SAVE ||
+ priv->action == GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER)
{
- gtk_widget_grab_focus (impl->location_entry);
+ gtk_widget_grab_focus (priv->location_entry);
if (path != NULL)
location_set_user_text (impl, path);
}
@@ -7588,14 +7798,18 @@ location_popup_handler (GtkFileChooserDefault *impl,
static void
up_folder_handler (GtkFileChooserDefault *impl)
{
- _gtk_path_bar_up (GTK_PATH_BAR (impl->browse_path_bar));
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
+
+ _gtk_path_bar_up (GTK_PATH_BAR (priv->browse_path_bar));
}
/* Handler for the "down-folder" keybinding signal */
static void
down_folder_handler (GtkFileChooserDefault *impl)
{
- _gtk_path_bar_down (GTK_PATH_BAR (impl->browse_path_bar));
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
+
+ _gtk_path_bar_down (GTK_PATH_BAR (priv->browse_path_bar));
}
/* Handler for the "home-folder" keybinding signal */
@@ -7626,13 +7840,15 @@ desktop_folder_handler (GtkFileChooserDefault *impl)
static void
search_shortcut_handler (GtkFileChooserDefault *impl)
{
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
+
operation_mode_set (impl, OPERATION_MODE_SEARCH);
/* we want the entry widget to grab the focus the first
* time, not the browse_files_tree_view widget.
*/
- if (impl->search_entry)
- gtk_widget_grab_focus (impl->search_entry);
+ if (priv->search_entry)
+ gtk_widget_grab_focus (priv->search_entry);
}
/* Handler for the "recent-shortcut" keybinding signal */
@@ -7646,9 +7862,10 @@ static void
quick_bookmark_handler (GtkFileChooserDefault *impl,
gint bookmark_index)
{
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
GFile *file;
- file = gtk_places_sidebar_get_nth_bookmark (GTK_PLACES_SIDEBAR (impl->places_sidebar), bookmark_index);
+ file = gtk_places_sidebar_get_nth_bookmark (GTK_PLACES_SIDEBAR (priv->places_sidebar), bookmark_index);
if (file)
{
@@ -7660,7 +7877,9 @@ quick_bookmark_handler (GtkFileChooserDefault *impl,
static void
show_hidden_handler (GtkFileChooserDefault *impl)
{
+ GtkFileChooserDefaultPrivate *priv = impl->priv;
+
g_object_set (impl,
- "show-hidden", !impl->show_hidden,
+ "show-hidden", !priv->show_hidden,
NULL);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]