glade3 r1842 - in trunk: . src
- From: jpu svn gnome org
- To: svn-commits-list gnome org
- Subject: glade3 r1842 - in trunk: . src
- Date: Fri, 18 Jul 2008 20:48:10 +0000 (UTC)
Author: jpu
Date: Fri Jul 18 20:48:09 2008
New Revision: 1842
URL: http://svn.gnome.org/viewvc/glade3?rev=1842&view=rev
Log:
* src/glade-window.c: save main window paned positions.
Modified:
trunk/ChangeLog
trunk/src/glade-window.c
Modified: trunk/src/glade-window.c
==============================================================================
--- trunk/src/glade-window.c (original)
+++ trunk/src/glade-window.c Fri Jul 18 20:48:09 2008
@@ -115,6 +115,7 @@
GtkWidget *toolbar; /* Actions are added to the toolbar */
gint actions_start; /* start of action items */
+ GtkWidget *center_pane;
/* paned windows that tools get docked into/out of */
GtkWidget *left_pane;
GtkWidget *right_pane;
@@ -131,7 +132,7 @@
static void check_reload_project (GladeWindow *window,
GladeProject *project);
-static void save_windows_config (GladeWindow *window);
+static void glade_window_config_save (GladeWindow *window);
G_DEFINE_TYPE (GladeWindow, glade_window, GTK_TYPE_WINDOW)
@@ -1505,7 +1506,7 @@
do_close (window, glade_design_view_get_from_project (project));
}
- save_windows_config (window);
+ glade_window_config_save (window);
gtk_main_quit ();
@@ -2855,12 +2856,9 @@
}
static void
-save_windows_config (GladeWindow *window)
+save_windows_config (GladeWindow *window, GKeyFile *config)
{
guint i;
- GKeyFile *config;
-
- config = glade_app_get_config ();
for (i = 0; i < N_DOCKS; ++i)
{
@@ -2871,7 +2869,27 @@
key_file_set_window_position (config, &window->priv->position,
"main", FALSE, FALSE);
+}
+
+static void
+save_paned_position (GKeyFile *config, GtkWidget *paned, const gchar *name)
+{
+ g_key_file_set_integer (config, name, "position",
+ gtk_paned_get_position (GTK_PANED (paned)));
+}
+static void
+glade_window_config_save (GladeWindow *window)
+{
+ GKeyFile *config = glade_app_get_config ();
+
+ save_windows_config (window, config);
+
+ /* Save main window paned positions */
+ save_paned_position (config, window->priv->center_pane, "center_pane");
+ save_paned_position (config, window->priv->left_pane, "left_pane");
+ save_paned_position (config, window->priv->right_pane, "right_pane");
+
glade_app_config_save ();
}
@@ -2917,15 +2935,12 @@
}
static void
-glade_window_set_initial_size (GladeWindow *window)
+glade_window_set_initial_size (GladeWindow *window, GKeyFile *config)
{
- GKeyFile *config;
GdkRectangle position = {
G_MININT, G_MININT, GLADE_WINDOW_DEFAULT_WIDTH, GLADE_WINDOW_DEFAULT_HEIGHT
};
- config = glade_app_get_config ();
-
key_file_get_window_position (config, "main", &position, NULL);
gtk_window_set_default_size (GTK_WINDOW (window), position.width, position.height);
@@ -2935,6 +2950,25 @@
}
static void
+load_paned_position (GKeyFile *config, GtkWidget *pane, const gchar *name)
+{
+ gtk_paned_set_position (GTK_PANED (pane),
+ g_key_file_get_integer (config, name, "position", NULL));
+}
+
+static void
+glade_window_config_load (GladeWindow *window)
+{
+ GKeyFile *config = glade_app_get_config ();
+
+ glade_window_set_initial_size (window, config);
+
+ load_paned_position (config, window->priv->center_pane, "center_pane");
+ load_paned_position (config, window->priv->left_pane, "left_pane");
+ load_paned_position (config, window->priv->right_pane, "right_pane");
+}
+
+static void
show_dock_first_time (GladeWindow *window,
guint dock_type,
const char *action_id)
@@ -3001,8 +3035,6 @@
priv->app = glade_app_new ();
- glade_window_set_initial_size (window);
-
vbox = gtk_vbox_new (FALSE, 0);
gtk_container_add (GTK_CONTAINER (window), vbox);
@@ -3042,6 +3074,7 @@
hpaned1 = gtk_hpaned_new ();
hpaned2 = gtk_hpaned_new ();
vpaned = gtk_vpaned_new ();
+ priv->center_pane = hpaned1;
priv->left_pane = hpaned2;
priv->right_pane = vpaned;
@@ -3209,6 +3242,9 @@
accel_group = gtk_ui_manager_get_accel_group(priv->ui);
gtk_window_add_accel_group (GTK_WINDOW (glade_app_get_clipboard_view ()), accel_group);
+
+ /* Load widget state */
+ glade_window_config_load (window);
}
static void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]