[gedit/wip/gtkapp: 8/17] Handle the window creation and loading of files
- From: Ignacio Casal Quinteiro <icq src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gedit/wip/gtkapp: 8/17] Handle the window creation and loading of files
- Date: Sun, 18 Nov 2012 10:45:18 +0000 (UTC)
commit 0a4af021716b800dc44c1614a0ffcf28da785df6
Author: Ignacio Casal Quinteiro <icq gnome org>
Date: Mon Jul 30 16:42:53 2012 +0200
Handle the window creation and loading of files
gedit/gedit-app.c | 50 +++++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 45 insertions(+), 5 deletions(-)
---
diff --git a/gedit/gedit-app.c b/gedit/gedit-app.c
index 7e75b38..60af879 100644
--- a/gedit/gedit-app.c
+++ b/gedit/gedit-app.c
@@ -322,10 +322,6 @@ command_line_handler (gpointer data)
gboolean wait = FALSE;
gboolean background = FALSE;
gchar **remaining_args = NULL;
- GSList *file_list = NULL;
- gint line_position = 0;
- gint column_position = 0;
- const GeditEncoding *encoding;
gint i;
const GOptionEntry options[] =
@@ -453,6 +449,14 @@ command_line_handler (gpointer data)
}
else
{
+ GSList *file_list = NULL;
+ gint line_position = 0;
+ gint column_position = 0;
+ const GeditEncoding *encoding = NULL;
+ GeditApp *app;
+ GeditWindow *window;
+ gboolean doc_created = FALSE;
+
if (remaining_args)
{
for (i = 0; remaining_args[i]; i++)
@@ -498,13 +502,49 @@ command_line_handler (gpointer data)
g_free (encoding_charset);
}
+
+ app = GEDIT_APP (g_object_get_data (G_OBJECT (command_line), "application"));
+
+ gedit_debug_message (DEBUG_APP, "Create main window");
+ window = gedit_app_create_window (app, NULL);
+
+ gedit_debug_message (DEBUG_APP, "Show window");
+ gtk_widget_show (GTK_WIDGET (window));
+
+ if (geometry)
+ {
+ gtk_window_parse_geometry (GTK_WINDOW (window),
+ geometry);
+ }
+
+ if (file_list != NULL)
+ {
+ GSList *loaded;
+
+ gedit_debug_message (DEBUG_APP, "Load files");
+ loaded = _gedit_cmd_load_files_from_prompt (window,
+ file_list,
+ encoding,
+ line_position,
+ column_position);
+
+ doc_created = loaded != NULL;
+ g_slist_free (loaded);
+ }
+
+ if (!doc_created || new_document)
+ {
+ gedit_debug_message (DEBUG_APP, "Create tab");
+ gedit_window_create_tab (window, TRUE);
+ }
+
+ g_slist_free_full (file_list, g_object_unref);
}
g_option_context_free (context);
g_free (encoding_charset);
g_strfreev (remaining_args);
g_free (geometry);
- g_slist_free_full (file_list, g_object_unref);
/* we are done handling this commandline */
g_object_unref (command_line);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]