Commit 72fde623b3181831111bba511d85c405cb0ba52f

Authored by Perry Werneck
1 parent 33cbc7b2

Storing last command line passed session as a default one.

schemas/linux/application.gschema.xml.in
... ... @@ -38,6 +38,7 @@
38 38 <description>The ID of the current user interface style</description>
39 39 </key>
40 40  
  41 +
41 42 <key name="allow-host-settings" type="b">
42 43 <default>true</default>
43 44 <summary>Allow host settings</summary>
... ... @@ -62,6 +63,12 @@
62 63 <description></description>
63 64 </key>
64 65  
  66 + <key name="update-session-file" type="b">
  67 + <default>true</default>
  68 + <summary>Update default session time from command line</summary>
  69 + <description></description>
  70 + </key>
  71 +
65 72 </schema>
66 73  
67 74 </schemalist>
... ...
schemas/windows/application.gschema.xml.in
... ... @@ -38,16 +38,47 @@
38 38 <description>The ID of the current user interface style</description>
39 39 </key>
40 40  
  41 + <key name="gtk-csd" type="i">
  42 + <default>0</default>
  43 + <summary>GTK CSD</summary>
  44 + <description>Gtk Client side decorations</description>
  45 + </key>
  46 +
  47 +
41 48 <key name="allow-host-settings" type="b">
42 49 <default>true</default>
43 50 <summary>Allow host settings</summary>
44 51 <description>Allow changing of host session properties</description>
45 52 </key>
46 53  
47   - <key name="gtk-csd" type="i">
48   - <default>0</default>
49   - <summary>GTK CSD</summary>
50   - <description>Gtk Client side decorations</description>
  54 + <key name="allow-host-settings" type="b">
  55 + <default>true</default>
  56 + <summary>Allow host settings</summary>
  57 + <description>Allow changing of host session properties</description>
  58 + </key>
  59 +
  60 + <key name="allow-new-tab-actions" type="b">
  61 + <default>true</default>
  62 + <summary>Enable new tab actions</summary>
  63 + <description>Enable new tab actions</description>
  64 + </key>
  65 +
  66 + <key name="allow-new-window-actions" type="b">
  67 + <default>true</default>
  68 + <summary>Enable new window actions</summary>
  69 + <description>Enable new window actions</description>
  70 + </key>
  71 +
  72 + <key name="default-session-file" type="s">
  73 + <default>'~/.config/default.3270'</default>
  74 + <summary>Path of the default session file</summary>
  75 + <description></description>
  76 + </key>
  77 +
  78 + <key name="update-session-file" type="b">
  79 + <default>true</default>
  80 + <summary>Update default session time from command line</summary>
  81 + <description></description>
51 82 </key>
52 83  
53 84 </schema>
... ...
src/objects/application/application.c
... ... @@ -240,6 +240,7 @@
240 240  
241 241 // Bind properties
242 242 if(app->settings) {
  243 +
243 244 g_object_ref_sink(G_OBJECT(app->settings));
244 245  
245 246 #ifdef _WIN32
... ... @@ -296,8 +297,6 @@
296 297  
297 298 }
298 299  
299   -
300   -
301 300 }
302 301  
303 302 g_dir_close(dir);
... ... @@ -310,7 +309,6 @@
310 309  
311 310 }
312 311  
313   -
314 312 }
315 313  
316 314 }
... ...
src/objects/application/open.c
... ... @@ -28,6 +28,7 @@
28 28 */
29 29  
30 30 #include "private.h"
  31 + #include <pw3270/application.h>
31 32  
32 33 gchar * v3270_keyfile_find(const gchar *name) {
33 34 //
... ... @@ -71,6 +72,8 @@
71 72 void pw3270_application_open(GApplication *application, GFile **files, gint n_files, const gchar G_GNUC_UNUSED(*hint)) {
72 73  
73 74 GtkWidget * window = GTK_WIDGET(gtk_application_get_active_window(GTK_APPLICATION(application)));
  75 + GSettings * settings = pw3270_application_get_settings(application);
  76 +
74 77 gint file;
75 78  
76 79 debug("%s files=%d",__FUNCTION__,n_files);
... ... @@ -113,6 +116,13 @@
113 116 pw3270_application_window_new_tab(window,path);
114 117 }
115 118  
  119 + if(g_settings_get_boolean(settings,"update-session-file")) {
  120 +
  121 + g_message("Updating default session file to '%s'",path);
  122 + g_settings_set_string(settings,"default-session-file",path);
  123 +
  124 + }
  125 +
116 126 continue;
117 127 }
118 128  
... ... @@ -130,6 +140,13 @@
130 140 pw3270_application_window_new_tab(window, filename);
131 141 }
132 142  
  143 + if(g_settings_get_boolean(settings,"update-session-file")) {
  144 +
  145 + g_message("Updating default session file to '%s'",filename);
  146 + g_settings_set_string(settings,"default-session-file",filename);
  147 +
  148 + }
  149 +
133 150 continue;
134 151 }
135 152  
... ...