[epiphany] Use GtkFileChooserNative for bookmark import/export
- From: Michael Catanzaro <mcatanzaro src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [epiphany] Use GtkFileChooserNative for bookmark import/export
- Date: Thu, 23 Mar 2017 19:03:43 +0000 (UTC)
commit ef1b25f3b09d2bf0d04376612762a64b9a4b00b3
Author: Adrian Perez de Castro <aperez igalia com>
Date: Thu Mar 23 20:02:14 2017 +0200
Use GtkFileChooserNative for bookmark import/export
The bookmark import/export file choosers went unnoticed when converting the
other dialogs to GtkFileChooserNative. This patch converts those as well.
Fixes bug #780468
src/window-commands.c | 78 ++++++++++++++++++++-----------------------------
1 files changed, 32 insertions(+), 46 deletions(-)
---
diff --git a/src/window-commands.c b/src/window-commands.c
index 073c12e..cd5fc70 100644
--- a/src/window-commands.c
+++ b/src/window-commands.c
@@ -274,7 +274,7 @@ dialog_bookmarks_import_cb (GtkDialog *dialog,
GtkComboBox *combo_box)
{
EphyBookmarksManager *manager = ephy_shell_get_bookmarks_manager (ephy_shell_get_default ());
- GtkWidget *file_chooser_dialog;
+ GtkFileChooser *file_chooser_dialog;
GtkWidget *import_info_dialog;
int active;
int chooser_response;
@@ -285,32 +285,25 @@ dialog_bookmarks_import_cb (GtkDialog *dialog,
if (active == 0) {
GtkFileFilter *filter;
+ file_chooser_dialog = GTK_FILE_CHOOSER (gtk_file_chooser_native_new (_("Choose File"),
+ GTK_WINDOW (dialog),
+ GTK_FILE_CHOOSER_ACTION_OPEN,
+ _("I_mport"),
+ _("_Cancel")));
+ gtk_file_chooser_set_show_hidden (file_chooser_dialog, TRUE);
+
filter = gtk_file_filter_new ();
gtk_file_filter_add_pattern (filter, "*.gvdb");
+ gtk_file_chooser_set_filter (file_chooser_dialog, filter);
- file_chooser_dialog = g_object_new (GTK_TYPE_FILE_CHOOSER_DIALOG,
- "action", GTK_FILE_CHOOSER_ACTION_OPEN,
- "filter", filter,
- "modal", TRUE,
- "show-hidden", TRUE,
- "transient-for", dialog,
- "title", _("Choose File"),
- NULL);
-
- gtk_dialog_add_buttons (GTK_DIALOG (file_chooser_dialog),
- _("_Cancel"), GTK_RESPONSE_CANCEL,
- _("I_mport"), GTK_RESPONSE_OK,
- NULL);
- gtk_dialog_set_default_response (GTK_DIALOG (dialog), GTK_RESPONSE_OK);
-
- chooser_response = gtk_dialog_run (GTK_DIALOG (file_chooser_dialog));
- if (chooser_response == GTK_RESPONSE_OK) {
+ chooser_response = gtk_native_dialog_run (GTK_NATIVE_DIALOG (file_chooser_dialog));
+ if (chooser_response == GTK_RESPONSE_ACCEPT) {
GError *error = NULL;
char *filename;
- gtk_widget_hide (file_chooser_dialog);
+ gtk_native_dialog_hide (GTK_NATIVE_DIALOG (file_chooser_dialog));
- filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (file_chooser_dialog));
+ filename = gtk_file_chooser_get_filename (file_chooser_dialog);
imported = ephy_bookmarks_import (manager, filename, &error);
g_free (filename);
@@ -325,7 +318,7 @@ dialog_bookmarks_import_cb (GtkDialog *dialog,
gtk_widget_destroy (import_info_dialog);
}
- gtk_widget_destroy (file_chooser_dialog);
+ g_object_unref (file_chooser_dialog);
} else if (active == 1) {
GError *error = NULL;
GSList *profiles;
@@ -442,45 +435,38 @@ window_cmd_export_bookmarks (GSimpleAction *action,
gpointer user_data)
{
EphyBookmarksManager *manager = ephy_shell_get_bookmarks_manager (ephy_shell_get_default ());
- GtkWidget *dialog;
+ GtkFileChooser *dialog;
GtkWidget *export_info_dialog;
int chooser_response;
gboolean exported;
GtkFileFilter *filter;
- filter = gtk_file_filter_new ();
- gtk_file_filter_add_pattern (filter, "*.gvdb");
-
- dialog = g_object_new (GTK_TYPE_FILE_CHOOSER_DIALOG,
- "action", GTK_FILE_CHOOSER_ACTION_SAVE,
- "filter", filter,
- "modal", TRUE,
- "show-hidden", TRUE,
- "transient-for", user_data,
- "title", _("Choose File"),
- NULL);
-
- gtk_dialog_add_buttons (GTK_DIALOG (dialog),
- _("_Cancel"), GTK_RESPONSE_CANCEL,
- _("_Save"), GTK_RESPONSE_OK,
- NULL);
- gtk_dialog_set_default_response (GTK_DIALOG (dialog), GTK_RESPONSE_OK);
+ dialog = GTK_FILE_CHOOSER (gtk_file_chooser_native_new (_("Choose File"),
+ GTK_WINDOW (user_data),
+ GTK_FILE_CHOOSER_ACTION_SAVE,
+ _("_Save"),
+ _("_Cancel")));
+ gtk_file_chooser_set_show_hidden (dialog, TRUE);
/* Translators: Only translate the part before ".gvdb" (e.g. "bookmarks") */
- gtk_file_chooser_set_current_name (GTK_FILE_CHOOSER (dialog), _("bookmarks.gvdb"));
+ gtk_file_chooser_set_current_name (dialog, _("bookmarks.gvdb"));
- chooser_response = gtk_dialog_run (GTK_DIALOG (dialog));
- if (chooser_response == GTK_RESPONSE_OK) {
+ filter = gtk_file_filter_new ();
+ gtk_file_filter_add_pattern (filter, "*.gvdb");
+ gtk_file_chooser_set_filter (dialog, filter);
+
+ chooser_response = gtk_native_dialog_run (GTK_NATIVE_DIALOG (dialog));
+ if (chooser_response == GTK_RESPONSE_ACCEPT) {
GError *error = NULL;
char *filename;
- gtk_widget_hide (dialog);
+ gtk_native_dialog_hide (GTK_NATIVE_DIALOG (dialog));
- filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (dialog));
+ filename = gtk_file_chooser_get_filename (dialog);
exported = ephy_bookmarks_export (manager, filename, &error);
g_free (filename);
- export_info_dialog = gtk_message_dialog_new (GTK_WINDOW (dialog),
+ export_info_dialog = gtk_message_dialog_new (GTK_WINDOW (user_data),
GTK_DIALOG_MODAL,
exported ? GTK_MESSAGE_INFO : GTK_MESSAGE_WARNING,
GTK_BUTTONS_OK,
@@ -491,7 +477,7 @@ window_cmd_export_bookmarks (GSimpleAction *action,
gtk_widget_destroy (export_info_dialog);
}
- gtk_widget_destroy (dialog);
+ g_object_unref (dialog);
}
void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]