* Private Structures *
* ******************** */
-struct _GtkFileChooserButtonPrivate
+typedef struct
{
GtkFileChooser *chooser; /* Points to either dialog or native, depending on which is set */
GtkWidget *dialog; /* Set if you explicitly enable */
/* Whether the next async callback from GIO should emit the "selection-changed" signal */
guint is_changing_selection : 1;
-};
+} GtkFileChooserButtonPrivate;
/* ********************* *
static void
gtk_file_chooser_button_init (GtkFileChooserButton *button)
{
- GtkFileChooserButtonPrivate *priv;
+ GtkFileChooserButtonPrivate *priv = gtk_file_chooser_button_get_instance_private (button);
GtkWidget *box;
GtkWidget *icon;
GdkContentFormats *target_list;
gtk_widget_set_has_surface (GTK_WIDGET (button), FALSE);
- priv = button->priv = gtk_file_chooser_button_get_instance_private (button);
-
priv->button = gtk_button_new ();
g_signal_connect (priv->button, "clicked", G_CALLBACK (button_clicked_cb), button);
priv->image = gtk_image_new ();
static void
emit_selection_changed_if_changing_selection (GtkFileChooserButton *button)
{
- GtkFileChooserButtonPrivate *priv = button->priv;
+ GtkFileChooserButtonPrivate *priv = gtk_file_chooser_button_get_instance_private (button);
if (priv->is_changing_selection)
{
GError **error)
{
GtkFileChooserButton *button = GTK_FILE_CHOOSER_BUTTON (chooser);
- GtkFileChooserButtonPrivate *priv = button->priv;
+ GtkFileChooserButtonPrivate *priv = gtk_file_chooser_button_get_instance_private (button);
if (priv->current_folder_while_inactive)
g_object_unref (priv->current_folder_while_inactive);
gtk_file_chooser_button_get_current_folder (GtkFileChooser *chooser)
{
GtkFileChooserButton *button = GTK_FILE_CHOOSER_BUTTON (chooser);
- GtkFileChooserButtonPrivate *priv = button->priv;
+ GtkFileChooserButtonPrivate *priv = gtk_file_chooser_button_get_instance_private (button);
if (priv->current_folder_while_inactive)
return g_object_ref (priv->current_folder_while_inactive);
GError **error)
{
GtkFileChooserButton *button = GTK_FILE_CHOOSER_BUTTON (chooser);
- GtkFileChooserButtonPrivate *priv = button->priv;
+ GtkFileChooserButtonPrivate *priv = gtk_file_chooser_button_get_instance_private (button);
if (priv->selection_while_inactive)
g_object_unref (priv->selection_while_inactive);
static void
unselect_current_file (GtkFileChooserButton *button)
{
- GtkFileChooserButtonPrivate *priv = button->priv;
+ GtkFileChooserButtonPrivate *priv = gtk_file_chooser_button_get_instance_private (button);
if (priv->selection_while_inactive)
{
GFile *file)
{
GtkFileChooserButton *button = GTK_FILE_CHOOSER_BUTTON (chooser);
- GtkFileChooserButtonPrivate *priv = button->priv;
+ GtkFileChooserButtonPrivate *priv = gtk_file_chooser_button_get_instance_private (button);
if (g_file_equal (priv->selection_while_inactive, file))
unselect_current_file (button);
gtk_file_chooser_button_unselect_all (GtkFileChooser *chooser)
{
GtkFileChooserButton *button = GTK_FILE_CHOOSER_BUTTON (chooser);
- GtkFileChooserButtonPrivate *priv = button->priv;
+ GtkFileChooserButtonPrivate *priv = gtk_file_chooser_button_get_instance_private (button);
unselect_current_file (button);
static GFile *
get_selected_file (GtkFileChooserButton *button)
{
- GtkFileChooserButtonPrivate *priv = button->priv;
+ GtkFileChooserButtonPrivate *priv = gtk_file_chooser_button_get_instance_private (button);
GFile *retval;
retval = NULL;
if (retval)
{
GtkFileChooserButton *button = GTK_FILE_CHOOSER_BUTTON (chooser);
- GtkFileChooserButtonPrivate *priv = button->priv;
+ GtkFileChooserButtonPrivate *priv = gtk_file_chooser_button_get_instance_private (button);
GtkTreeIter iter;
gint pos;
if (retval)
{
GtkFileChooserButton *button = GTK_FILE_CHOOSER_BUTTON (chooser);
- GtkFileChooserButtonPrivate *priv = button->priv;
+ GtkFileChooserButtonPrivate *priv = gtk_file_chooser_button_get_instance_private (button);
GtkTreeIter iter;
gint pos;
gchar type;
gtk_file_chooser_button_constructed (GObject *object)
{
GtkFileChooserButton *button = GTK_FILE_CHOOSER_BUTTON (object);
- GtkFileChooserButtonPrivate *priv = button->priv;
+ GtkFileChooserButtonPrivate *priv = gtk_file_chooser_button_get_instance_private (button);
GSList *list;
G_OBJECT_CLASS (gtk_file_chooser_button_parent_class)->constructed (object);
GParamSpec *pspec)
{
GtkFileChooserButton *button = GTK_FILE_CHOOSER_BUTTON (object);
- GtkFileChooserButtonPrivate *priv = button->priv;
+ GtkFileChooserButtonPrivate *priv = gtk_file_chooser_button_get_instance_private (button);
switch (param_id)
{
GParamSpec *pspec)
{
GtkFileChooserButton *button = GTK_FILE_CHOOSER_BUTTON (object);
- GtkFileChooserButtonPrivate *priv = button->priv;
+ GtkFileChooserButtonPrivate *priv = gtk_file_chooser_button_get_instance_private (button);
switch (param_id)
{
gtk_file_chooser_button_finalize (GObject *object)
{
GtkFileChooserButton *button = GTK_FILE_CHOOSER_BUTTON (object);
- GtkFileChooserButtonPrivate *priv = button->priv;
+ GtkFileChooserButtonPrivate *priv = gtk_file_chooser_button_get_instance_private (button);
if (priv->selection_while_inactive)
g_object_unref (priv->selection_while_inactive);
GtkStateFlags previous_state)
{
GtkFileChooserButton *button = GTK_FILE_CHOOSER_BUTTON (widget);
- GtkFileChooserButtonPrivate *priv = button->priv;
+ GtkFileChooserButtonPrivate *priv = gtk_file_chooser_button_get_instance_private (button);
if (gtk_widget_get_state_flags (widget) & GTK_STATE_FLAG_DROP_ACTIVE)
gtk_widget_set_state_flags (priv->child, GTK_STATE_FLAG_DROP_ACTIVE, FALSE);
gtk_file_chooser_button_destroy (GtkWidget *widget)
{
GtkFileChooserButton *button = GTK_FILE_CHOOSER_BUTTON (widget);
- GtkFileChooserButtonPrivate *priv = button->priv;
+ GtkFileChooserButtonPrivate *priv = gtk_file_chooser_button_get_instance_private (button);
GSList *l;
if (priv->dialog != NULL)
const GError *error,
gpointer user_data)
{
- gboolean cancelled = g_cancellable_is_cancelled (cancellable);
struct DndSelectFolderData *data = user_data;
+ GtkFileChooserButton *button = data->button;
+ GtkFileChooserButtonPrivate *priv = gtk_file_chooser_button_get_instance_private (button);
+ gboolean cancelled = g_cancellable_is_cancelled (cancellable);
- if (cancellable != data->button->priv->dnd_select_folder_cancellable)
+ if (cancellable != priv->dnd_select_folder_cancellable)
{
g_object_unref (data->button);
g_object_unref (data->file);
return;
}
- data->button->priv->dnd_select_folder_cancellable = NULL;
+ priv->dnd_select_folder_cancellable = NULL;
if (!cancelled && !error && info != NULL)
{
data->file = g_file_new_for_uri (data->uris[data->i]);
- data->button->priv->dnd_select_folder_cancellable =
+ priv->dnd_select_folder_cancellable =
_gtk_file_system_get_info (data->file_system, data->file,
- "standard::type",
- dnd_select_folder_get_info_cb, user_data);
+ "standard::type",
+ dnd_select_folder_get_info_cb, user_data);
g_object_unref (cancellable);
}
guint drag_time)
{
GtkFileChooserButton *button = GTK_FILE_CHOOSER_BUTTON (widget);
- GtkFileChooserButtonPrivate *priv = button->priv;
+ GtkFileChooserButtonPrivate *priv = gtk_file_chooser_button_get_instance_private (button);
GFile *file;
gchar *text;
gtk_file_chooser_button_show (GtkWidget *widget)
{
GtkFileChooserButton *button = GTK_FILE_CHOOSER_BUTTON (widget);
- GtkFileChooserButtonPrivate *priv = button->priv;
+ GtkFileChooserButtonPrivate *priv = gtk_file_chooser_button_get_instance_private (button);
if (GTK_WIDGET_CLASS (gtk_file_chooser_button_parent_class)->show)
GTK_WIDGET_CLASS (gtk_file_chooser_button_parent_class)->show (widget);
gtk_file_chooser_button_hide (GtkWidget *widget)
{
GtkFileChooserButton *button = GTK_FILE_CHOOSER_BUTTON (widget);
- GtkFileChooserButtonPrivate *priv = button->priv;
+ GtkFileChooserButtonPrivate *priv = gtk_file_chooser_button_get_instance_private (button);
if (priv->dialog)
gtk_widget_hide (priv->dialog);
gboolean group_cycling)
{
GtkFileChooserButton *button = GTK_FILE_CHOOSER_BUTTON (widget);
- GtkFileChooserButtonPrivate *priv = button->priv;
+ GtkFileChooserButtonPrivate *priv = gtk_file_chooser_button_get_instance_private (button);
switch (gtk_file_chooser_get_action (GTK_FILE_CHOOSER (priv->chooser)))
{
gboolean cancelled = g_cancellable_is_cancelled (cancellable);
GIcon *icon;
struct ChangeIconThemeData *data = user_data;
+ GtkFileChooserButtonPrivate *priv = gtk_file_chooser_button_get_instance_private (data->button);
- if (!g_slist_find (data->button->priv->change_icon_theme_cancellables, cancellable))
+ if (!g_slist_find (priv->change_icon_theme_cancellables, cancellable))
goto out;
- data->button->priv->change_icon_theme_cancellables =
- g_slist_remove (data->button->priv->change_icon_theme_cancellables, cancellable);
+ priv->change_icon_theme_cancellables =
+ g_slist_remove (priv->change_icon_theme_cancellables, cancellable);
if (cancelled || error)
goto out;
path = gtk_tree_row_reference_get_path (data->row_ref);
if (path)
{
- gtk_tree_model_get_iter (data->button->priv->model, &iter, path);
+ gtk_tree_model_get_iter (priv->model, &iter, path);
gtk_tree_path_free (path);
- gtk_list_store_set (GTK_LIST_STORE (data->button->priv->model), &iter,
+ gtk_list_store_set (GTK_LIST_STORE (priv->model), &iter,
ICON_COLUMN, icon,
-1);
- g_object_set (data->button->priv->icon_cell,
+ g_object_set (priv->icon_cell,
"width", width,
NULL);
}
static void
change_icon_theme (GtkFileChooserButton *button)
{
- GtkFileChooserButtonPrivate *priv = button->priv;
+ GtkFileChooserButtonPrivate *priv = gtk_file_chooser_button_get_instance_private (button);
GtkTreeIter iter;
GSList *l;
gint width = 0;
- for (l = button->priv->change_icon_theme_cancellables; l; l = l->next)
+ for (l = priv->change_icon_theme_cancellables; l; l = l->next)
{
GCancellable *cancellable = G_CANCELLABLE (l->data);
g_cancellable_cancel (cancellable);
}
- g_slist_free (button->priv->change_icon_theme_cancellables);
- button->priv->change_icon_theme_cancellables = NULL;
+ g_slist_free (priv->change_icon_theme_cancellables);
+ priv->change_icon_theme_cancellables = NULL;
update_label_and_image (button);
"standard::icon",
change_icon_theme_get_info_cb,
info);
- button->priv->change_icon_theme_cancellables =
- g_slist_append (button->priv->change_icon_theme_cancellables, cancellable);
+ priv->change_icon_theme_cancellables =
+ g_slist_append (priv->change_icon_theme_cancellables, cancellable);
icon = NULL;
}
else
}
while (gtk_tree_model_iter_next (priv->model, &iter));
- g_object_set (button->priv->icon_cell,
+ g_object_set (priv->icon_cell,
"width", width,
NULL);
}
GtkTreeIter iter;
GCancellable *model_cancellable = NULL;
struct SetDisplayNameData *data = callback_data;
+ GtkFileChooserButtonPrivate *priv = gtk_file_chooser_button_get_instance_private (data->button);
gboolean is_folder;
- if (!data->button->priv->model)
+ if (!priv->model)
/* button got destroyed */
goto out;
/* Cancellable doesn't exist anymore in the model */
goto out;
- gtk_tree_model_get_iter (data->button->priv->model, &iter, path);
+ gtk_tree_model_get_iter (priv->model, &iter, path);
gtk_tree_path_free (path);
/* Validate the cancellable */
- gtk_tree_model_get (data->button->priv->model, &iter,
+ gtk_tree_model_get (priv->model, &iter,
CANCELLABLE_COLUMN, &model_cancellable,
-1);
if (cancellable != model_cancellable)
goto out;
- gtk_list_store_set (GTK_LIST_STORE (data->button->priv->model), &iter,
+ gtk_list_store_set (GTK_LIST_STORE (priv->model), &iter,
CANCELLABLE_COLUMN, NULL,
-1);
is_folder = _gtk_file_info_consider_as_directory (info);
- gtk_list_store_set (GTK_LIST_STORE (data->button->priv->model), &iter,
+ gtk_list_store_set (GTK_LIST_STORE (priv->model), &iter,
ICON_COLUMN, icon,
DISPLAY_NAME_COLUMN, data->label,
IS_FOLDER_COLUMN, is_folder,
GFile *file,
GtkTreeIter *iter)
{
+ GtkFileChooserButtonPrivate *priv = gtk_file_chooser_button_get_instance_private (button);
struct SetDisplayNameData *data;
GtkTreePath *tree_path;
GCancellable *cancellable;
data = g_new0 (struct SetDisplayNameData, 1);
data->button = g_object_ref (button);
- data->label = _gtk_bookmarks_manager_get_bookmark_label (button->priv->bookmarks_manager, file);
+ data->label = _gtk_bookmarks_manager_get_bookmark_label (priv->bookmarks_manager, file);
- tree_path = gtk_tree_model_get_path (button->priv->model, iter);
- data->row_ref = gtk_tree_row_reference_new (button->priv->model, tree_path);
+ tree_path = gtk_tree_model_get_path (priv->model, iter);
+ data->row_ref = gtk_tree_row_reference_new (priv->model, tree_path);
gtk_tree_path_free (tree_path);
- cancellable = _gtk_file_system_get_info (button->priv->fs, file,
+ cancellable = _gtk_file_system_get_info (priv->fs, file,
"standard::type,standard::icon,standard::display-name",
set_info_get_info_cb, data);
- gtk_list_store_set (GTK_LIST_STORE (button->priv->model), iter,
+ gtk_list_store_set (GTK_LIST_STORE (priv->model), iter,
CANCELLABLE_COLUMN, cancellable,
-1);
}
model_get_type_position (GtkFileChooserButton *button,
RowType row_type)
{
+ GtkFileChooserButtonPrivate *priv = gtk_file_chooser_button_get_instance_private (button);
gint retval = 0;
if (row_type == ROW_TYPE_SPECIAL)
return retval;
- retval += button->priv->n_special;
+ retval += priv->n_special;
if (row_type == ROW_TYPE_VOLUME)
return retval;
- retval += button->priv->n_volumes;
+ retval += priv->n_volumes;
if (row_type == ROW_TYPE_SHORTCUT)
return retval;
- retval += button->priv->n_shortcuts;
+ retval += priv->n_shortcuts;
if (row_type == ROW_TYPE_BOOKMARK_SEPARATOR)
return retval;
- retval += button->priv->has_bookmark_separator;
+ retval += priv->has_bookmark_separator;
if (row_type == ROW_TYPE_BOOKMARK)
return retval;
- retval += button->priv->n_bookmarks;
+ retval += priv->n_bookmarks;
if (row_type == ROW_TYPE_CURRENT_FOLDER_SEPARATOR)
return retval;
- retval += button->priv->has_current_folder_separator;
+ retval += priv->has_current_folder_separator;
if (row_type == ROW_TYPE_CURRENT_FOLDER)
return retval;
- retval += button->priv->has_current_folder;
+ retval += priv->has_current_folder;
if (row_type == ROW_TYPE_OTHER_SEPARATOR)
return retval;
- retval += button->priv->has_other_separator;
+ retval += priv->has_other_separator;
if (row_type == ROW_TYPE_OTHER)
return retval;
model_free_row_data (GtkFileChooserButton *button,
GtkTreeIter *iter)
{
+ GtkFileChooserButtonPrivate *priv = gtk_file_chooser_button_get_instance_private (button);
gchar type;
gpointer data;
GCancellable *cancellable;
- gtk_tree_model_get (button->priv->model, iter,
+ gtk_tree_model_get (priv->model, iter,
TYPE_COLUMN, &type,
DATA_COLUMN, &data,
CANCELLABLE_COLUMN, &cancellable,
GIcon *icon;
GCancellable *model_cancellable = NULL;
struct ChangeIconThemeData *data = user_data;
+ GtkFileChooserButtonPrivate *priv = gtk_file_chooser_button_get_instance_private (data->button);
gchar *name;
- if (!data->button->priv->model)
+ if (!priv->model)
/* button got destroyed */
goto out;
/* Cancellable doesn't exist anymore in the model */
goto out;
- gtk_tree_model_get_iter (data->button->priv->model, &iter, path);
+ gtk_tree_model_get_iter (priv->model, &iter, path);
gtk_tree_path_free (path);
- gtk_tree_model_get (data->button->priv->model, &iter,
+ gtk_tree_model_get (priv->model, &iter,
CANCELLABLE_COLUMN, &model_cancellable,
-1);
if (cancellable != model_cancellable)
goto out;
- gtk_list_store_set (GTK_LIST_STORE (data->button->priv->model), &iter,
+ gtk_list_store_set (GTK_LIST_STORE (priv->model), &iter,
CANCELLABLE_COLUMN, NULL,
-1);
icon = _gtk_file_info_get_icon (info, ICON_SIZE, gtk_widget_get_scale_factor (GTK_WIDGET (data->button)));
if (icon)
{
- gtk_list_store_set (GTK_LIST_STORE (data->button->priv->model), &iter,
+ gtk_list_store_set (GTK_LIST_STORE (priv->model), &iter,
ICON_COLUMN, icon,
-1);
g_object_unref (icon);
}
- gtk_tree_model_get (data->button->priv->model, &iter,
+ gtk_tree_model_get (priv->model, &iter,
DISPLAY_NAME_COLUMN, &name,
-1);
if (!name)
- gtk_list_store_set (GTK_LIST_STORE (data->button->priv->model), &iter,
+ gtk_list_store_set (GTK_LIST_STORE (priv->model), &iter,
DISPLAY_NAME_COLUMN, g_file_info_get_display_name (info),
-1);
g_free (name);
static void
model_add_special (GtkFileChooserButton *button)
{
+ GtkFileChooserButtonPrivate *priv = gtk_file_chooser_button_get_instance_private (button);
const gchar *homedir;
const gchar *desktopdir;
GtkListStore *store;
GFile *file;
gint pos;
- store = GTK_LIST_STORE (button->priv->model);
+ store = GTK_LIST_STORE (priv->model);
pos = model_get_type_position (button, ROW_TYPE_SPECIAL);
homedir = g_get_home_dir ();
tree_path);
gtk_tree_path_free (tree_path);
- cancellable = _gtk_file_system_get_info (button->priv->fs, file,
+ cancellable = _gtk_file_system_get_info (priv->fs, file,
"standard::icon,standard::display-name",
model_add_special_get_info_cb, info);
CANCELLABLE_COLUMN, cancellable,
-1);
- button->priv->n_special++;
+ priv->n_special++;
}
desktopdir = g_get_user_special_dir (G_USER_DIRECTORY_DESKTOP);
tree_path);
gtk_tree_path_free (tree_path);
- cancellable = _gtk_file_system_get_info (button->priv->fs, file,
+ cancellable = _gtk_file_system_get_info (priv->fs, file,
"standard::icon,standard::display-name",
model_add_special_get_info_cb, info);
CANCELLABLE_COLUMN, cancellable,
-1);
- button->priv->n_special++;
+ priv->n_special++;
}
}
model_add_volumes (GtkFileChooserButton *button,
GSList *volumes)
{
+ GtkFileChooserButtonPrivate *priv = gtk_file_chooser_button_get_instance_private (button);
GtkListStore *store;
gint pos;
gboolean local_only;
if (!volumes)
return;
- store = GTK_LIST_STORE (button->priv->model);
+ store = GTK_LIST_STORE (priv->model);
pos = model_get_type_position (button, ROW_TYPE_VOLUME);
- local_only = gtk_file_chooser_get_local_only (GTK_FILE_CHOOSER (button->priv->chooser));
+ local_only = gtk_file_chooser_get_local_only (GTK_FILE_CHOOSER (priv->chooser));
for (l = volumes; l; l = l->next)
{
g_object_unref (icon);
g_free (display_name);
- button->priv->n_volumes++;
+ priv->n_volumes++;
pos++;
}
}
model_add_bookmarks (GtkFileChooserButton *button,
GSList *bookmarks)
{
+ GtkFileChooserButtonPrivate *priv = gtk_file_chooser_button_get_instance_private (button);
GtkListStore *store;
GtkTreeIter iter;
gint pos;
if (!bookmarks)
return;
- store = GTK_LIST_STORE (button->priv->model);
+ store = GTK_LIST_STORE (priv->model);
pos = model_get_type_position (button, ROW_TYPE_BOOKMARK);
- local_only = gtk_file_chooser_get_local_only (GTK_FILE_CHOOSER (button->priv->chooser));
+ local_only = gtk_file_chooser_get_local_only (GTK_FILE_CHOOSER (priv->chooser));
for (l = bookmarks; l; l = l->next)
{
* If we switch to a better bookmarks file format (XBEL), we
* should use mime info to get a better icon.
*/
- label = _gtk_bookmarks_manager_get_bookmark_label (button->priv->bookmarks_manager, file);
+ label = _gtk_bookmarks_manager_get_bookmark_label (priv->bookmarks_manager, file);
if (!label)
label = _gtk_file_chooser_label_for_file (file);
g_object_unref (icon);
}
- button->priv->n_bookmarks++;
+ priv->n_bookmarks++;
pos++;
}
- if (button->priv->n_bookmarks > 0 &&
- !button->priv->has_bookmark_separator)
+ if (priv->n_bookmarks > 0 &&
+ !priv->has_bookmark_separator)
{
pos = model_get_type_position (button, ROW_TYPE_BOOKMARK_SEPARATOR);
DATA_COLUMN, NULL,
IS_FOLDER_COLUMN, FALSE,
-1);
- button->priv->has_bookmark_separator = TRUE;
+ priv->has_bookmark_separator = TRUE;
}
}
model_update_current_folder (GtkFileChooserButton *button,
GFile *file)
{
+ GtkFileChooserButtonPrivate *priv = gtk_file_chooser_button_get_instance_private (button);
GtkListStore *store;
GtkTreeIter iter;
gint pos;
if (!file)
return;
- store = GTK_LIST_STORE (button->priv->model);
+ store = GTK_LIST_STORE (priv->model);
- if (!button->priv->has_current_folder_separator)
+ if (!priv->has_current_folder_separator)
{
pos = model_get_type_position (button, ROW_TYPE_CURRENT_FOLDER_SEPARATOR);
gtk_list_store_insert (store, &iter, pos);
DATA_COLUMN, NULL,
IS_FOLDER_COLUMN, FALSE,
-1);
- button->priv->has_current_folder_separator = TRUE;
+ priv->has_current_folder_separator = TRUE;
}
pos = model_get_type_position (button, ROW_TYPE_CURRENT_FOLDER);
- if (!button->priv->has_current_folder)
+ if (!priv->has_current_folder)
{
gtk_list_store_insert (store, &iter, pos);
- button->priv->has_current_folder = TRUE;
+ priv->has_current_folder = TRUE;
}
else
{
- gtk_tree_model_iter_nth_child (button->priv->model, &iter, NULL, pos);
+ gtk_tree_model_iter_nth_child (priv->model, &iter, NULL, pos);
model_free_row_data (button, &iter);
}
* If we switch to a better bookmarks file format (XBEL), we
* should use mime info to get a better icon.
*/
- label = _gtk_bookmarks_manager_get_bookmark_label (button->priv->bookmarks_manager, file);
+ label = _gtk_bookmarks_manager_get_bookmark_label (priv->bookmarks_manager, file);
if (!label)
label = _gtk_file_chooser_label_for_file (file);
static void
model_add_other (GtkFileChooserButton *button)
{
+ GtkFileChooserButtonPrivate *priv = gtk_file_chooser_button_get_instance_private (button);
GtkListStore *store;
GtkTreeIter iter;
gint pos;
- store = GTK_LIST_STORE (button->priv->model);
+ store = GTK_LIST_STORE (priv->model);
pos = model_get_type_position (button, ROW_TYPE_OTHER_SEPARATOR);
gtk_list_store_insert (store, &iter, pos);
DATA_COLUMN, NULL,
IS_FOLDER_COLUMN, FALSE,
-1);
- button->priv->has_other_separator = TRUE;
+ priv->has_other_separator = TRUE;
pos++;
gtk_list_store_insert (store, &iter, pos);
static void
model_add_empty_selection (GtkFileChooserButton *button)
{
+ GtkFileChooserButtonPrivate *priv = gtk_file_chooser_button_get_instance_private (button);
GtkListStore *store;
GtkTreeIter iter;
gint pos;
- store = GTK_LIST_STORE (button->priv->model);
+ store = GTK_LIST_STORE (priv->model);
pos = model_get_type_position (button, ROW_TYPE_EMPTY_SELECTION);
gtk_list_store_insert (store, &iter, pos);
gint pos,
gint n_rows)
{
+ GtkFileChooserButtonPrivate *priv = gtk_file_chooser_button_get_instance_private (button);
GtkListStore *store;
if (!n_rows)
return;
- store = GTK_LIST_STORE (button->priv->model);
+ store = GTK_LIST_STORE (priv->model);
do
{
GtkTreeIter iter;
- if (!gtk_tree_model_iter_nth_child (button->priv->model, &iter, NULL, pos))
+ if (!gtk_tree_model_iter_nth_child (priv->model, &iter, NULL, pos))
g_assert_not_reached ();
model_free_row_data (button, &iter);
gpointer user_data)
{
GtkFileChooserButton *button = GTK_FILE_CHOOSER_BUTTON (user_data);
- GtkFileChooserButtonPrivate *priv = button->priv;
+ GtkFileChooserButtonPrivate *priv = gtk_file_chooser_button_get_instance_private (button);
gchar type;
gpointer data;
gboolean local_only, retval, is_folder;
static void
select_combo_box_row_no_notify (GtkFileChooserButton *button, int pos)
{
- GtkFileChooserButtonPrivate *priv = button->priv;
+ GtkFileChooserButtonPrivate *priv = gtk_file_chooser_button_get_instance_private (button);
GtkTreeIter iter, filter_iter;
gtk_tree_model_iter_nth_child (priv->model, &iter, NULL, pos);
static void
update_combo_box (GtkFileChooserButton *button)
{
- GtkFileChooserButtonPrivate *priv = button->priv;
+ GtkFileChooserButtonPrivate *priv = gtk_file_chooser_button_get_instance_private (button);
GFile *file;
GtkTreeIter iter;
gboolean row_found;
gboolean cancelled = g_cancellable_is_cancelled (cancellable);
GIcon *icon;
GtkFileChooserButton *button = data;
- GtkFileChooserButtonPrivate *priv = button->priv;
+ GtkFileChooserButtonPrivate *priv = gtk_file_chooser_button_get_instance_private (button);
if (cancellable != priv->update_button_cancellable)
goto out;
static void
update_label_and_image (GtkFileChooserButton *button)
{
- GtkFileChooserButtonPrivate *priv = button->priv;
+ GtkFileChooserButtonPrivate *priv = gtk_file_chooser_button_get_instance_private (button);
gchar *label_text;
GFile *file;
gboolean done_changing_selection;
{
GIcon *icon;
- label_text = _gtk_bookmarks_manager_get_bookmark_label (button->priv->bookmarks_manager, file);
+ label_text = _gtk_bookmarks_manager_get_bookmark_label (priv->bookmarks_manager, file);
icon = g_themed_icon_new ("text-x-generic");
gtk_image_set_from_gicon (GTK_IMAGE (priv->image), icon);
gtk_image_set_pixel_size (GTK_IMAGE (priv->image), ICON_SIZE);
gpointer user_data)
{
GtkFileChooserButton *button = GTK_FILE_CHOOSER_BUTTON (user_data);
- GtkFileChooserButtonPrivate *priv = button->priv;
+ GtkFileChooserButtonPrivate *priv = gtk_file_chooser_button_get_instance_private (button);
GSList *volumes;
model_remove_rows (user_data,
bookmarks_changed_cb (gpointer user_data)
{
GtkFileChooserButton *button = GTK_FILE_CHOOSER_BUTTON (user_data);
- GtkFileChooserButtonPrivate *priv = button->priv;
+ GtkFileChooserButtonPrivate *priv = gtk_file_chooser_button_get_instance_private (button);
GSList *bookmarks;
bookmarks = _gtk_bookmarks_manager_list_bookmarks (priv->bookmarks_manager);
static void
save_inactive_state (GtkFileChooserButton *button)
{
- GtkFileChooserButtonPrivate *priv = button->priv;
+ GtkFileChooserButtonPrivate *priv = gtk_file_chooser_button_get_instance_private (button);
if (priv->current_folder_while_inactive)
g_object_unref (priv->current_folder_while_inactive);
static void
restore_inactive_state (GtkFileChooserButton *button)
{
- GtkFileChooserButtonPrivate *priv = button->priv;
+ GtkFileChooserButtonPrivate *priv = gtk_file_chooser_button_get_instance_private (button);
if (priv->current_folder_while_inactive)
gtk_file_chooser_set_current_folder_file (GTK_FILE_CHOOSER (priv->chooser), priv->current_folder_while_inactive, NULL);
static void
open_dialog (GtkFileChooserButton *button)
{
- GtkFileChooserButtonPrivate *priv = button->priv;
+ GtkFileChooserButtonPrivate *priv = gtk_file_chooser_button_get_instance_private (button);
GtkWidget *toplevel;
toplevel = gtk_widget_get_toplevel (GTK_WIDGET (button));
gpointer user_data)
{
GtkFileChooserButton *button = GTK_FILE_CHOOSER_BUTTON (user_data);
- GtkFileChooserButtonPrivate *priv = button->priv;
+ GtkFileChooserButtonPrivate *priv = gtk_file_chooser_button_get_instance_private (button);
GtkTreeIter iter;
gboolean file_was_set;
gpointer user_data)
{
GtkFileChooserButton *button = GTK_FILE_CHOOSER_BUTTON (user_data);
- GtkFileChooserButtonPrivate *priv = button->priv;
+ GtkFileChooserButtonPrivate *priv = gtk_file_chooser_button_get_instance_private (button);
gboolean popup_shown;
g_object_get (priv->combo_box,
if (g_ascii_strcasecmp (pspec->name, "local-only") == 0)
{
GtkFileChooserButton *button = GTK_FILE_CHOOSER_BUTTON (user_data);
- GtkFileChooserButtonPrivate *priv = button->priv;
+ GtkFileChooserButtonPrivate *priv = gtk_file_chooser_button_get_instance_private (button);
if (priv->has_current_folder)
{
common_response_cb (GtkFileChooserButton *button,
gint response)
{
- GtkFileChooserButtonPrivate *priv = button->priv;
+ GtkFileChooserButtonPrivate *priv = gtk_file_chooser_button_get_instance_private (button);
if (response == GTK_RESPONSE_ACCEPT ||
response == GTK_RESPONSE_OK)
gpointer user_data)
{
GtkFileChooserButton *button = GTK_FILE_CHOOSER_BUTTON (user_data);
- GtkFileChooserButtonPrivate *priv = button->priv;
+ GtkFileChooserButtonPrivate *priv = gtk_file_chooser_button_get_instance_private (button);
common_response_cb (button, response);
gtk_file_chooser_button_set_title (GtkFileChooserButton *button,
const gchar *title)
{
+ GtkFileChooserButtonPrivate *priv = gtk_file_chooser_button_get_instance_private (button);
+
g_return_if_fail (GTK_IS_FILE_CHOOSER_BUTTON (button));
- if (button->priv->dialog)
- gtk_window_set_title (GTK_WINDOW (button->priv->dialog), title);
+ if (priv->dialog)
+ gtk_window_set_title (GTK_WINDOW (priv->dialog), title);
else
- gtk_native_dialog_set_title (GTK_NATIVE_DIALOG (button->priv->native), title);
+ gtk_native_dialog_set_title (GTK_NATIVE_DIALOG (priv->native), title);
g_object_notify (G_OBJECT (button), "title");
}
const gchar *
gtk_file_chooser_button_get_title (GtkFileChooserButton *button)
{
+ GtkFileChooserButtonPrivate *priv = gtk_file_chooser_button_get_instance_private (button);
+
g_return_val_if_fail (GTK_IS_FILE_CHOOSER_BUTTON (button), NULL);
- if (button->priv->dialog)
- return gtk_window_get_title (GTK_WINDOW (button->priv->dialog));
+ if (priv->dialog)
+ return gtk_window_get_title (GTK_WINDOW (priv->dialog));
else
- return gtk_native_dialog_get_title (GTK_NATIVE_DIALOG (button->priv->native));
+ return gtk_native_dialog_get_title (GTK_NATIVE_DIALOG (priv->native));
}
/**
gint
gtk_file_chooser_button_get_width_chars (GtkFileChooserButton *button)
{
+ GtkFileChooserButtonPrivate *priv = gtk_file_chooser_button_get_instance_private (button);
+
g_return_val_if_fail (GTK_IS_FILE_CHOOSER_BUTTON (button), -1);
- return gtk_label_get_width_chars (GTK_LABEL (button->priv->label));
+ return gtk_label_get_width_chars (GTK_LABEL (priv->label));
}
/**
gtk_file_chooser_button_set_width_chars (GtkFileChooserButton *button,
gint n_chars)
{
+ GtkFileChooserButtonPrivate *priv = gtk_file_chooser_button_get_instance_private (button);
+
g_return_if_fail (GTK_IS_FILE_CHOOSER_BUTTON (button));
- gtk_label_set_width_chars (GTK_LABEL (button->priv->label), n_chars);
+ gtk_label_set_width_chars (GTK_LABEL (priv->label), n_chars);
g_object_notify (G_OBJECT (button), "width-chars");
}