[gedit] commands-file: port to GeditFileChooserOpen
- From: Sébastien Wilmet <swilmet src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gedit] commands-file: port to GeditFileChooserOpen
- Date: Sat, 6 Jun 2020 20:38:29 +0000 (UTC)
commit 4c10eeb828fd480f6762da9282e0247209d16d4e
Author: Sébastien Wilmet <swilmet gnome org>
Date: Sat Jun 6 21:02:07 2020 +0200
commands-file: port to GeditFileChooserOpen
gedit/gedit-commands-file.c | 68 +++++++++++++++++++++++----------------------
1 file changed, 35 insertions(+), 33 deletions(-)
---
diff --git a/gedit/gedit-commands-file.c b/gedit/gedit-commands-file.c
index 3d9ab22db..75228fad7 100644
--- a/gedit/gedit-commands-file.c
+++ b/gedit/gedit-commands-file.c
@@ -43,13 +43,14 @@
#include "gedit-statusbar.h"
#include "gedit-utils.h"
#include "gedit-file-chooser-dialog.h"
+#include "gedit-file-chooser-open.h"
#include "gedit-close-confirmation-dialog.h"
/* useful macro */
#define GBOOLEAN_TO_POINTER(i) (GINT_TO_POINTER ((i) ? 2 : 1))
#define GPOINTER_TO_BOOLEAN(i) ((gboolean) ((GPOINTER_TO_INT(i) == 2) ? TRUE : FALSE))
-#define GEDIT_OPEN_DIALOG_KEY "gedit-open-dialog-key"
+#define GEDIT_FILE_CHOOSER_OPEN_KEY "gedit-file-chooser-open-key"
#define GEDIT_IS_CLOSING_ALL "gedit-is-closing-all"
#define GEDIT_NOTEBOOK_TO_CLOSE "gedit-notebook-to-close"
#define GEDIT_IS_QUITTING "gedit-is-quitting"
@@ -363,9 +364,9 @@ _gedit_cmd_load_files_from_prompt (GeditWindow *window,
}
static void
-open_dialog_response_cb (GeditFileChooserDialog *dialog,
- gint response_id,
- GeditWindow *window)
+file_chooser_open_done_cb (GeditFileChooserOpen *file_chooser,
+ gboolean accept,
+ GeditWindow *window)
{
GSList *files;
const GtkSourceEncoding *encoding;
@@ -373,24 +374,23 @@ open_dialog_response_cb (GeditFileChooserDialog *dialog,
gedit_debug (DEBUG_COMMANDS);
- if (response_id != GTK_RESPONSE_ACCEPT)
+ if (!accept)
{
- gedit_file_chooser_dialog_destroy (dialog);
+ g_object_unref (file_chooser);
if (window != NULL)
{
- g_object_set_data (G_OBJECT (window), GEDIT_OPEN_DIALOG_KEY, NULL);
+ g_object_set_data (G_OBJECT (window), GEDIT_FILE_CHOOSER_OPEN_KEY, NULL);
}
-
return;
}
- files = gedit_file_chooser_dialog_get_files (dialog);
- encoding = gedit_file_chooser_dialog_get_encoding (dialog);
+ files = _gedit_file_chooser_open_get_files (file_chooser);
+ encoding = _gedit_file_chooser_open_get_encoding (file_chooser);
- gedit_file_chooser_dialog_destroy (dialog);
+ g_object_unref (file_chooser);
if (window != NULL)
{
- g_object_set_data (G_OBJECT (window), GEDIT_OPEN_DIALOG_KEY, NULL);
+ g_object_set_data (G_OBJECT (window), GEDIT_FILE_CHOOSER_OPEN_KEY, NULL);
}
if (window == NULL)
@@ -419,7 +419,7 @@ _gedit_cmd_file_open (GSimpleAction *action,
gpointer user_data)
{
GeditWindow *window = NULL;
- GeditFileChooserDialog *open_dialog;
+ GeditFileChooserOpen *file_chooser;
gedit_debug (DEBUG_COMMANDS);
@@ -430,34 +430,31 @@ _gedit_cmd_file_open (GSimpleAction *action,
if (window != NULL)
{
- open_dialog = GEDIT_FILE_CHOOSER_DIALOG (g_object_get_data (G_OBJECT (window),
- GEDIT_OPEN_DIALOG_KEY));
- if (open_dialog != NULL)
+ file_chooser = GEDIT_FILE_CHOOSER_OPEN (g_object_get_data (G_OBJECT (window),
+ GEDIT_FILE_CHOOSER_OPEN_KEY));
+ if (file_chooser != NULL)
{
- gedit_file_chooser_dialog_show (open_dialog);
+ _gedit_file_chooser_open_show (file_chooser);
return;
}
}
- /* Translators: "Open Files" is the title of the file chooser window. */
- open_dialog = gedit_file_chooser_dialog_create (C_("window title", "Open Files"),
- window != NULL ? GTK_WINDOW (window) : NULL,
- GEDIT_FILE_CHOOSER_OPEN,
- _("_Open"),
- _("_Cancel"));
+ file_chooser = _gedit_file_chooser_open_new ();
if (window != NULL)
{
GeditDocument *doc;
GFile *default_folder = NULL;
- /* The file chooser dialog for opening files is not modal, so
- * ensure that at most one file chooser is opened per main
- * window.
+ _gedit_file_chooser_open_set_transient_for (file_chooser, GTK_WINDOW (window));
+
+ /* The file chooser dialog for opening files is not necessarily
+ * modal, so ensure that at most one file chooser is opened per
+ * main window.
*/
g_object_set_data_full (G_OBJECT (window),
- GEDIT_OPEN_DIALOG_KEY,
- g_object_ref (open_dialog),
+ GEDIT_FILE_CHOOSER_OPEN_KEY,
+ g_object_ref (file_chooser),
g_object_unref);
/* Set the current folder */
@@ -481,17 +478,22 @@ _gedit_cmd_file_open (GSimpleAction *action,
if (default_folder != NULL)
{
- gedit_file_chooser_dialog_set_current_folder (open_dialog, default_folder);
+ gchar *default_folder_uri;
+
+ default_folder_uri = g_file_get_uri (default_folder);
+ _gedit_file_chooser_open_set_current_folder_uri (file_chooser, default_folder_uri);
+
g_object_unref (default_folder);
+ g_free (default_folder_uri);
}
}
- g_signal_connect (open_dialog,
- "response",
- G_CALLBACK (open_dialog_response_cb),
+ g_signal_connect (file_chooser,
+ "done",
+ G_CALLBACK (file_chooser_open_done_cb),
window);
- gedit_file_chooser_dialog_show (open_dialog);
+ _gedit_file_chooser_open_show (file_chooser);
}
void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]