summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPablo Barciela <[email protected]>2018-03-23 02:06:16 +0100
committerraveit65 <[email protected]>2018-03-23 08:59:49 +0100
commit7c9b80c6fd4096f9bee465e60a28f7a8d7bf87f1 (patch)
tree192a6493676c9a0861d5f556e6f6d73392821bf1
parent4fb359018441a9a80984a7a94be1a939efc51bde (diff)
downloadcaja-7c9b80c6fd4096f9bee465e60a28f7a8d7bf87f1.tar.bz2
caja-7c9b80c6fd4096f9bee465e60a28f7a8d7bf87f1.tar.xz
avoid 'gtk_file_chooser_dialog_new' with stock ids
-rw-r--r--eel/eel-stock-dialogs.c57
-rw-r--r--eel/eel-stock-dialogs.h5
-rw-r--r--libcaja-private/caja-open-with-dialog.c6
-rw-r--r--src/caja-property-browser.c12
-rw-r--r--src/file-manager/fm-properties-window.c8
5 files changed, 75 insertions, 13 deletions
diff --git a/eel/eel-stock-dialogs.c b/eel/eel-stock-dialogs.c
index b893642c..33ba13c4 100644
--- a/eel/eel-stock-dialogs.c
+++ b/eel/eel-stock-dialogs.c
@@ -211,6 +211,63 @@ eel_dialog_add_button (GtkDialog *dialog,
return button;
}
+static GtkWidget *
+eel_file_chooser_dialog_new_valist (const gchar *title,
+ GtkWindow *parent,
+ GtkFileChooserAction action,
+ const gchar *first_button_text,
+ va_list varargs)
+{
+ GtkWidget *result;
+ const char *button_text = first_button_text;
+ gint response_id;
+
+ result = g_object_new (GTK_TYPE_FILE_CHOOSER_DIALOG,
+ "title", title,
+ "action", action,
+ NULL);
+
+ if (parent)
+ gtk_window_set_transient_for (GTK_WINDOW (result), parent);
+
+ while (button_text)
+ {
+ response_id = va_arg (varargs, gint);
+
+ if (g_strcmp0 (button_text, "process-stop") == 0)
+ eel_dialog_add_button (GTK_DIALOG (result), _("_Cancel"), button_text, response_id);
+ else if (g_strcmp0 (button_text, "document-open") == 0)
+ eel_dialog_add_button (GTK_DIALOG (result), _("_Open"), button_text, response_id);
+ else if (g_strcmp0 (button_text, "document-revert") == 0)
+ eel_dialog_add_button (GTK_DIALOG (result), _("_Revert"), button_text, response_id);
+ else
+ gtk_dialog_add_button (GTK_DIALOG (result), button_text, response_id);
+
+ button_text = va_arg (varargs, const gchar *);
+ }
+
+ return result;
+}
+
+GtkWidget *
+eel_file_chooser_dialog_new (const gchar *title,
+ GtkWindow *parent,
+ GtkFileChooserAction action,
+ const gchar *first_button_text,
+ ...)
+{
+ GtkWidget *result;
+ va_list varargs;
+
+ va_start (varargs, first_button_text);
+ result = eel_file_chooser_dialog_new_valist (title, parent, action,
+ first_button_text,
+ varargs);
+ va_end (varargs);
+
+ return result;
+}
+
static gboolean
timed_wait_callback (gpointer callback_data)
{
diff --git a/eel/eel-stock-dialogs.h b/eel/eel-stock-dialogs.h
index b5f69715..74f61396 100644
--- a/eel/eel-stock-dialogs.h
+++ b/eel/eel-stock-dialogs.h
@@ -53,6 +53,11 @@ GtkWidget* eel_dialog_add_button (GtkDialog *dialog,
const gchar *button_text,
const gchar *icon_name,
gint response_id);
+GtkWidget* eel_file_chooser_dialog_new (const gchar *title,
+ GtkWindow *parent,
+ GtkFileChooserAction action,
+ const gchar *first_button_text,
+ ...);
/* Variations on mate stock dialogs; these do line wrapping, we don't
* bother with non-parented versions, we allow setting the title,
diff --git a/libcaja-private/caja-open-with-dialog.c b/libcaja-private/caja-open-with-dialog.c
index 210b2b7b..73d8e662 100644
--- a/libcaja-private/caja-open-with-dialog.c
+++ b/libcaja-private/caja-open-with-dialog.c
@@ -447,12 +447,12 @@ browse_clicked_cb (GtkWidget *button,
dialog = CAJA_OPEN_WITH_DIALOG (user_data);
- chooser = gtk_file_chooser_dialog_new (_("Select an Application"),
+ chooser = eel_file_chooser_dialog_new (_("Select an Application"),
GTK_WINDOW (dialog),
GTK_FILE_CHOOSER_ACTION_OPEN,
- "gtk-cancel",
+ "process-stop",
GTK_RESPONSE_CANCEL,
- "gtk-open",
+ "document-open",
GTK_RESPONSE_OK,
NULL);
gtk_window_set_destroy_with_parent (GTK_WINDOW (chooser), TRUE);
diff --git a/src/caja-property-browser.c b/src/caja-property-browser.c
index 140acc23..ca161803 100644
--- a/src/caja-property-browser.c
+++ b/src/caja-property-browser.c
@@ -1062,11 +1062,11 @@ icon_button_clicked_cb (GtkButton *b,
GtkWidget *preview;
int res;
- dialog = gtk_file_chooser_dialog_new (_("Select an Image File for the New Emblem"),
+ dialog = eel_file_chooser_dialog_new (_("Select an Image File for the New Emblem"),
GTK_WINDOW (browser),
GTK_FILE_CHOOSER_ACTION_OPEN,
- "gtk-cancel", GTK_RESPONSE_CANCEL,
- "gtk-open", GTK_RESPONSE_ACCEPT,
+ "process-stop", GTK_RESPONSE_CANCEL,
+ "document-open", GTK_RESPONSE_ACCEPT,
NULL);
gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (dialog),
DATADIR "/pixmaps");
@@ -1319,11 +1319,11 @@ add_new_pattern (CajaPropertyBrowser *property_browser)
else
{
property_browser->details->patterns_dialog = dialog =
- gtk_file_chooser_dialog_new (_("Select an Image File to Add as a Pattern"),
+ eel_file_chooser_dialog_new (_("Select an Image File to Add as a Pattern"),
GTK_WINDOW (property_browser),
GTK_FILE_CHOOSER_ACTION_OPEN,
- "gtk-cancel", GTK_RESPONSE_CANCEL,
- "gtk-open", GTK_RESPONSE_ACCEPT,
+ "process-stop", GTK_RESPONSE_CANCEL,
+ "document-open", GTK_RESPONSE_ACCEPT,
NULL);
gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (dialog),
DATADIR "/caja/patterns/");
diff --git a/src/file-manager/fm-properties-window.c b/src/file-manager/fm-properties-window.c
index d4ce8944..56af2094 100644
--- a/src/file-manager/fm-properties-window.c
+++ b/src/file-manager/fm-properties-window.c
@@ -5673,11 +5673,11 @@ select_image_button_callback (GtkWidget *widget,
dialog = window->details->icon_chooser;
if (dialog == NULL) {
- dialog = gtk_file_chooser_dialog_new (_("Select Custom Icon"), GTK_WINDOW (window),
+ dialog = eel_file_chooser_dialog_new (_("Select Custom Icon"), GTK_WINDOW (window),
GTK_FILE_CHOOSER_ACTION_OPEN,
- "gtk-revert-to-saved", GTK_RESPONSE_NO,
- "gtk-cancel", GTK_RESPONSE_CANCEL,
- "gtk-open", GTK_RESPONSE_OK,
+ "document-revert", GTK_RESPONSE_NO,
+ "process-stop", GTK_RESPONSE_CANCEL,
+ "document-open", GTK_RESPONSE_OK,
NULL);
gtk_file_chooser_add_shortcut_folder (GTK_FILE_CHOOSER (dialog), "/usr/share/icons", NULL);
gtk_file_chooser_add_shortcut_folder (GTK_FILE_CHOOSER (dialog), "/usr/share/pixmaps", NULL);