vinagre r320 - in trunk: . data src
- From: jwendell svn gnome org
- To: svn-commits-list gnome org
- Subject: vinagre r320 - in trunk: . data src
- Date: Wed, 7 May 2008 00:58:13 +0100 (BST)
Author: jwendell
Date: Tue May 6 23:58:12 2008
New Revision: 320
URL: http://svn.gnome.org/viewvc/vinagre?rev=320&view=rev
Log:
2008-05-06 Jonh Wendell <jwendell gnome org>
* lots of files: Make VinagrePrefs a GObject
Added:
trunk/src/vinagre-prefs.c
trunk/src/vinagre-prefs.h
Removed:
trunk/src/vinagre-prefs-manager.c
trunk/src/vinagre-prefs-manager.h
Modified:
trunk/ChangeLog
trunk/data/vinagre.schemas.in
trunk/src/Makefile.am
trunk/src/vinagre-commands.c
trunk/src/vinagre-main.c
trunk/src/vinagre-tab.c
trunk/src/vinagre-window.c
Modified: trunk/data/vinagre.schemas.in
==============================================================================
--- trunk/data/vinagre.schemas.in (original)
+++ trunk/data/vinagre.schemas.in Tue May 6 23:58:12 2008
@@ -49,5 +49,17 @@
</locale>
</schema>
+ <schema>
+ <key>/schemas/apps/vinagre/always_show_tabs</key>
+ <applyto>/apps/vinagre/always_show_tabs</applyto>
+ <owner>vinagre</owner>
+ <type>bool</type>
+ <default>true</default>
+ <locale name="C">
+ <short>Whether we should show tabs even when there is only one active connection</short>
+ <long>Set to "true" to always show the tabs. Setting to "false" will only show the tabs when there are more than one active connection.</long>
+ </locale>
+ </schema>
+
</schemalist>
</gconfschemafile>
Modified: trunk/src/Makefile.am
==============================================================================
--- trunk/src/Makefile.am (original)
+++ trunk/src/Makefile.am Tue May 6 23:58:12 2008
@@ -21,7 +21,6 @@
vinagre-bookmarks.c vinagre-bookmarks.h \
vinagre-main.c \
vinagre-notebook.c vinagre-notebook.h \
- vinagre-prefs-manager.c vinagre-prefs-manager.h \
vinagre-tab.c vinagre-tab.h \
vinagre-utils.c vinagre-utils.h \
vinagre-window.c vinagre-window.h \
@@ -29,6 +28,7 @@
vinagre-enums.h vinagre-enums.c \
gossip-cell-renderer-expander.c gossip-cell-renderer-expander.h \
vinagre-mdns.h vinagre-mdns.c \
+ vinagre-prefs.h vinagre-prefs.c \
$(NULL)
vinagre_LDADD = \
Modified: trunk/src/vinagre-commands.c
==============================================================================
--- trunk/src/vinagre-commands.c (original)
+++ trunk/src/vinagre-commands.c Tue May 6 23:58:12 2008
@@ -36,7 +36,7 @@
#include "vinagre-bookmarks.h"
#include "vinagre-fav.h"
#include "vinagre-window-private.h"
-#include "vinagre-prefs-manager.h"
+#include "vinagre-prefs.h"
void
vinagre_cmd_direct_connect (VinagreConnection *conn,
@@ -177,7 +177,9 @@
vinagre_utils_toggle_widget_visible (window->priv->toolbar);
- vinagre_prefs_manager_set_toolbar_visible (GTK_WIDGET_VISIBLE (window->priv->toolbar));
+ g_object_set (vinagre_prefs_get_default (),
+ "toolbar-visible", GTK_WIDGET_VISIBLE (window->priv->toolbar),
+ NULL);
}
void
@@ -188,7 +190,9 @@
vinagre_utils_toggle_widget_visible (window->priv->statusbar);
- vinagre_prefs_manager_set_statusbar_visible (GTK_WIDGET_VISIBLE (window->priv->statusbar));
+ g_object_set (vinagre_prefs_get_default (),
+ "statusbar-visible", GTK_WIDGET_VISIBLE (window->priv->statusbar),
+ NULL);
}
void
@@ -199,7 +203,9 @@
vinagre_utils_toggle_widget_visible (window->priv->fav_panel);
- vinagre_prefs_manager_set_side_pane_visible (GTK_WIDGET_VISIBLE (window->priv->fav_panel));
+ g_object_set (vinagre_prefs_get_default (),
+ "side-panel-visible", GTK_WIDGET_VISIBLE (window->priv->fav_panel),
+ NULL);
}
void
Modified: trunk/src/vinagre-main.c
==============================================================================
--- trunk/src/vinagre-main.c (original)
+++ trunk/src/vinagre-main.c Tue May 6 23:58:12 2008
@@ -24,12 +24,13 @@
#include <glib/goption.h>
#include <config.h>
-#include "vinagre-prefs-manager.h"
#include "vinagre-connection.h"
#include "vinagre-commands.h"
#include "vinagre-bookmarks.h"
#include "vinagre-window.h"
#include "vinagre-utils.h"
+#include "vinagre-prefs.h"
+#include "vinagre-mdns.h"
#include <vncdisplay.h>
/* command line */
@@ -138,8 +139,6 @@
if (!g_thread_supported ())
g_thread_init (NULL);
- vinagre_prefs_manager_init ();
-
main_window = vinagre_window_new ();
gtk_widget_show (GTK_WIDGET(main_window));
@@ -157,7 +156,9 @@
gtk_main ();
- vinagre_prefs_manager_shutdown ();
+ g_object_unref (vinagre_bookmarks_get_default ());
+ g_object_unref (vinagre_mdns_get_default ());
+ g_object_unref (vinagre_prefs_get_default ());
return 0;
}
Added: trunk/src/vinagre-prefs.c
==============================================================================
--- (empty file)
+++ trunk/src/vinagre-prefs.c Tue May 6 23:58:12 2008
@@ -0,0 +1,339 @@
+/*
+ * vinagre-prefs.c
+ * This file is part of vinagre
+ *
+ * Copyright (C) Jonh Wendell 2008 <wendell bani com br>
+ *
+ * vinagre-prefs.c is free software: you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * vinagre-prefs.c is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ * See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include <gconf/gconf-client.h>
+#include <glib/gi18n.h>
+#include "vinagre-prefs.h"
+
+#define VINAGRE_BASE_KEY "/apps/vinagre"
+#define VM_ALWAYS_SHOW_TABS VINAGRE_BASE_KEY "/always_show_tabs"
+#define VM_SHARED_FLAG VINAGRE_BASE_KEY "/shared_flag"
+#define VM_TOOLBAR_VISIBLE VINAGRE_BASE_KEY "/toolbar_visible"
+#define VM_STATUSBAR_VISIBLE VINAGRE_BASE_KEY "/statusbar_visible"
+#define VM_SIDE_PANEL_VISIBLE VINAGRE_BASE_KEY "/side_pane_visible"
+
+#define VM_WINDOW_STATE VINAGRE_BASE_KEY "/window_state"
+#define VM_WINDOW_WIDTH VINAGRE_BASE_KEY "/window_width"
+#define VM_WINDOW_HEIGHT VINAGRE_BASE_KEY "/window_height"
+#define VM_SIDE_PANEL_SIZE VINAGRE_BASE_KEY "/side_panel_size"
+
+struct _VinagrePrefsPrivate
+{
+ GConfClient *gconf_client;
+};
+
+/* Properties */
+enum
+{
+ PROP_0,
+ PROP_SHARED_FLAG,
+ PROP_ALWAYS_SHOW_TABS,
+ PROP_TOOLBAR_VISIBLE,
+ PROP_STATUSBAR_VISIBLE,
+ PROP_SIDE_PANEL_VISIBLE,
+ PROP_WINDOW_STATE,
+ PROP_WINDOW_WIDTH,
+ PROP_WINDOW_HEIGHT,
+ PROP_SIDE_PANEL_SIZE
+};
+
+G_DEFINE_TYPE (VinagrePrefs, vinagre_prefs, G_TYPE_OBJECT);
+
+static VinagrePrefs *prefs_singleton = NULL;
+
+VinagrePrefs *
+vinagre_prefs_get_default (void)
+{
+ if (G_UNLIKELY (!prefs_singleton))
+ prefs_singleton = VINAGRE_PREFS (g_object_new (VINAGRE_TYPE_PREFS,
+ NULL));
+ return prefs_singleton;
+}
+
+static gboolean
+vinagre_prefs_get_bool (VinagrePrefs *prefs, const gchar* key, gboolean def)
+{
+ GError* error = NULL;
+ GConfValue* val;
+
+ val = gconf_client_get (prefs->priv->gconf_client, key, &error);
+
+ if (val != NULL)
+ {
+ gboolean retval = def;
+
+ g_return_val_if_fail (error == NULL, retval);
+
+ if (val->type == GCONF_VALUE_BOOL)
+ retval = gconf_value_get_bool (val);
+
+ gconf_value_free (val);
+
+ return retval;
+ }
+ else
+ return def;
+}
+
+static gboolean
+vinagre_prefs_get_int (VinagrePrefs *prefs, const gchar* key, gint def)
+{
+ GError* error = NULL;
+ GConfValue* val;
+
+ val = gconf_client_get (prefs->priv->gconf_client, key, &error);
+
+ if (val != NULL)
+ {
+ gint retval = def;
+
+ g_return_val_if_fail (error == NULL, retval);
+
+ if (val->type == GCONF_VALUE_INT)
+ retval = gconf_value_get_int (val);
+
+ gconf_value_free (val);
+
+ return retval;
+ }
+ else
+ return def;
+}
+
+static void
+vinagre_prefs_set_bool (VinagrePrefs *prefs, const gchar* key, gboolean value)
+{
+ g_return_if_fail (gconf_client_key_is_writable (
+ prefs->priv->gconf_client, key, NULL));
+
+ gconf_client_set_bool (prefs->priv->gconf_client, key, value, NULL);
+}
+
+static void
+vinagre_prefs_set_int (VinagrePrefs *prefs, const gchar* key, gint value)
+{
+ g_return_if_fail (gconf_client_key_is_writable (
+ prefs->priv->gconf_client, key, NULL));
+
+ gconf_client_set_int (prefs->priv->gconf_client, key, value, NULL);
+}
+
+static void
+vinagre_prefs_always_show_tabs_notify (GConfClient *client,
+ guint cnx_id,
+ GConfEntry *entry,
+ VinagrePrefs *prefs)
+{
+ g_object_notify (G_OBJECT (prefs), "always-show-tabs");
+}
+
+static void
+vinagre_prefs_init (VinagrePrefs *prefs)
+{
+ prefs->priv = G_TYPE_INSTANCE_GET_PRIVATE (prefs, VINAGRE_TYPE_PREFS, VinagrePrefsPrivate);
+
+ prefs->priv->gconf_client = gconf_client_get_default ();
+ if (prefs->priv->gconf_client == NULL)
+ g_critical (_("Cannot initialize preferences manager."));
+
+ gconf_client_add_dir (prefs->priv->gconf_client,
+ VINAGRE_BASE_KEY,
+ GCONF_CLIENT_PRELOAD_ONELEVEL,
+ NULL);
+
+ gconf_client_notify_add (prefs->priv->gconf_client,
+ VM_ALWAYS_SHOW_TABS,
+ (GConfClientNotifyFunc) vinagre_prefs_always_show_tabs_notify,
+ prefs, NULL, NULL);
+
+}
+
+static void
+vinagre_prefs_finalize (GObject *object)
+{
+ VinagrePrefs *prefs = VINAGRE_PREFS (object);
+
+ gconf_client_remove_dir (prefs->priv->gconf_client,
+ VINAGRE_BASE_KEY,
+ NULL);
+ g_object_unref (prefs->priv->gconf_client);
+ prefs->priv->gconf_client = NULL;
+
+ G_OBJECT_CLASS (vinagre_prefs_parent_class)->finalize (object);
+}
+
+static void
+vinagre_prefs_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec)
+{
+ VinagrePrefs *prefs = VINAGRE_PREFS (object);
+
+ switch (prop_id)
+ {
+ case PROP_SHARED_FLAG:
+ vinagre_prefs_set_bool (prefs, VM_SHARED_FLAG, g_value_get_boolean (value));
+ break;
+ case PROP_ALWAYS_SHOW_TABS:
+ vinagre_prefs_set_bool (prefs, VM_ALWAYS_SHOW_TABS, g_value_get_boolean (value));
+ break;
+ case PROP_TOOLBAR_VISIBLE:
+ vinagre_prefs_set_bool (prefs, VM_TOOLBAR_VISIBLE, g_value_get_boolean (value));
+ break;
+ case PROP_STATUSBAR_VISIBLE:
+ vinagre_prefs_set_bool (prefs, VM_STATUSBAR_VISIBLE, g_value_get_boolean (value));
+ break;
+ case PROP_SIDE_PANEL_VISIBLE:
+ vinagre_prefs_set_bool (prefs, VM_SIDE_PANEL_VISIBLE, g_value_get_boolean (value));
+ break;
+ case PROP_WINDOW_STATE:
+ vinagre_prefs_set_int (prefs, VM_WINDOW_STATE, g_value_get_int (value));
+ break;
+ case PROP_WINDOW_WIDTH:
+ vinagre_prefs_set_int (prefs, VM_WINDOW_WIDTH, g_value_get_int (value));
+ break;
+ case PROP_WINDOW_HEIGHT:
+ vinagre_prefs_set_int (prefs, VM_WINDOW_HEIGHT, g_value_get_int (value));
+ break;
+ case PROP_SIDE_PANEL_SIZE:
+ vinagre_prefs_set_int (prefs, VM_SIDE_PANEL_SIZE, g_value_get_int (value));
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+ }
+}
+
+static void
+vinagre_prefs_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
+{
+ VinagrePrefs *prefs = VINAGRE_PREFS (object);
+
+ switch (prop_id)
+ {
+ case PROP_SHARED_FLAG:
+ g_value_set_boolean (value, vinagre_prefs_get_bool (prefs, VM_SHARED_FLAG, TRUE));
+ break;
+ case PROP_ALWAYS_SHOW_TABS:
+ g_value_set_boolean (value, vinagre_prefs_get_bool (prefs, VM_ALWAYS_SHOW_TABS, TRUE));
+ break;
+ case PROP_TOOLBAR_VISIBLE:
+ g_value_set_boolean (value, vinagre_prefs_get_bool (prefs, VM_TOOLBAR_VISIBLE, TRUE));
+ break;
+ case PROP_STATUSBAR_VISIBLE:
+ g_value_set_boolean (value, vinagre_prefs_get_bool (prefs, VM_STATUSBAR_VISIBLE, TRUE));
+ break;
+ case PROP_SIDE_PANEL_VISIBLE:
+ g_value_set_boolean (value, vinagre_prefs_get_bool (prefs, VM_SIDE_PANEL_VISIBLE, TRUE));
+ break;
+ case PROP_WINDOW_STATE:
+ g_value_set_int (value, vinagre_prefs_get_int (prefs, VM_WINDOW_STATE, 0));
+ break;
+ case PROP_WINDOW_WIDTH:
+ g_value_set_int (value, vinagre_prefs_get_int (prefs, VM_WINDOW_WIDTH, 650));
+ break;
+ case PROP_WINDOW_HEIGHT:
+ g_value_set_int (value, vinagre_prefs_get_int (prefs, VM_WINDOW_HEIGHT, 500));
+ break;
+ case PROP_SIDE_PANEL_SIZE:
+ g_value_set_int (value, vinagre_prefs_get_int (prefs, VM_SIDE_PANEL_SIZE, 200));
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+ }
+}
+
+static void
+vinagre_prefs_class_init (VinagrePrefsClass *klass)
+{
+ GObjectClass* object_class = G_OBJECT_CLASS (klass);
+ GObjectClass* parent_class = G_OBJECT_CLASS (klass);
+
+ g_type_class_add_private (klass, sizeof (VinagrePrefsPrivate));
+
+ object_class->finalize = vinagre_prefs_finalize;
+ object_class->set_property = vinagre_prefs_set_property;
+ object_class->get_property = vinagre_prefs_get_property;
+
+ g_object_class_install_property (object_class,
+ PROP_SHARED_FLAG,
+ g_param_spec_boolean ("shared-flag",
+ "Shared Flag",
+ "Whether we should share the remote connection",
+ TRUE,
+ G_PARAM_READWRITE));
+ g_object_class_install_property (object_class,
+ PROP_ALWAYS_SHOW_TABS,
+ g_param_spec_boolean ("always-show-tabs",
+ "Always show tabs",
+ "Whether we should show the tabs even when there is ony one active connection",
+ TRUE,
+ G_PARAM_READWRITE));
+ g_object_class_install_property (object_class,
+ PROP_TOOLBAR_VISIBLE,
+ g_param_spec_boolean ("toolbar-visible",
+ "Toolbar Visibility",
+ "Whether the toolbar is visible",
+ TRUE,
+ G_PARAM_READWRITE));
+ g_object_class_install_property (object_class,
+ PROP_STATUSBAR_VISIBLE,
+ g_param_spec_boolean ("statusbar-visible",
+ "Statusbar Visibility",
+ "Whether the statusbar is visible",
+ TRUE,
+ G_PARAM_READWRITE));
+ g_object_class_install_property (object_class,
+ PROP_SIDE_PANEL_VISIBLE,
+ g_param_spec_boolean ("side-panel-visible",
+ "Side Panel Visibility",
+ "Whether the side panel is visible",
+ TRUE,
+ G_PARAM_READWRITE));
+ g_object_class_install_property (object_class,
+ PROP_WINDOW_STATE,
+ g_param_spec_int ("window-state",
+ "Window State",
+ "Whether the window is maximised",
+ G_MININT, G_MAXINT, 0,
+ G_PARAM_READWRITE));
+ g_object_class_install_property (object_class,
+ PROP_WINDOW_WIDTH,
+ g_param_spec_int ("window-width",
+ "Window Width",
+ "The width of window",
+ 100, G_MAXINT, 650,
+ G_PARAM_READWRITE));
+ g_object_class_install_property (object_class,
+ PROP_WINDOW_HEIGHT,
+ g_param_spec_int ("window-height",
+ "Window Height",
+ "The height of window",
+ 100, G_MAXINT, 500,
+ G_PARAM_READWRITE));
+ g_object_class_install_property (object_class,
+ PROP_SIDE_PANEL_SIZE,
+ g_param_spec_int ("side-panel-size",
+ "Side Panel Width",
+ "The width of side panel",
+ 100, G_MAXINT, 200,
+ G_PARAM_READWRITE));
+
+}
+/* vim: ts=8 */
Added: trunk/src/vinagre-prefs.h
==============================================================================
--- (empty file)
+++ trunk/src/vinagre-prefs.h Tue May 6 23:58:12 2008
@@ -0,0 +1,57 @@
+/*
+ * vinagre-prefs.c
+ * This file is part of vinagre
+ *
+ * Copyright (C) Jonh Wendell 2008 <wendell bani com br>
+ *
+ * vinagre-prefs.c is free software: you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * vinagre-prefs.c is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ * See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef _VINAGRE_PREFS_H_
+#define _VINAGRE_PREFS_H_
+
+#include <glib-object.h>
+
+G_BEGIN_DECLS
+
+#define VINAGRE_TYPE_PREFS (vinagre_prefs_get_type ())
+#define VINAGRE_PREFS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VINAGRE_TYPE_PREFS, VinagrePrefs))
+#define VINAGRE_PREFS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VINAGRE_TYPE_PREFS, VinagrePrefsClass))
+#define VINAGRE_IS_PREFS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VINAGRE_TYPE_PREFS))
+#define VINAGRE_IS_PREFS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VINAGRE_TYPE_PREFS))
+#define VINAGRE_PREFS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VINAGRE_TYPE_PREFS, VinagrePrefsClass))
+
+typedef struct _VinagrePrefsClass VinagrePrefsClass;
+typedef struct _VinagrePrefs VinagrePrefs;
+typedef struct _VinagrePrefsPrivate VinagrePrefsPrivate;
+
+struct _VinagrePrefsClass
+{
+ GObjectClass parent_class;
+};
+
+struct _VinagrePrefs
+{
+ GObject parent_instance;
+ VinagrePrefsPrivate *priv;
+};
+
+GType vinagre_prefs_get_type (void) G_GNUC_CONST;
+
+VinagrePrefs *vinagre_prefs_get_default (void);
+
+G_END_DECLS
+
+#endif /* _VINAGRE_PREFS_H_ */
+/* vim: ts=8 */
Modified: trunk/src/vinagre-tab.c
==============================================================================
--- trunk/src/vinagre-tab.c (original)
+++ trunk/src/vinagre-tab.c Tue May 6 23:58:12 2008
@@ -31,7 +31,7 @@
#include "vinagre-notebook.h"
#include "vinagre-tab.h"
#include "vinagre-utils.h"
-#include "vinagre-prefs-manager.h"
+#include "vinagre-prefs.h"
#define VINAGRE_TAB_GET_PRIVATE(object)(G_TYPE_INSTANCE_GET_PRIVATE ((object), VINAGRE_TYPE_TAB, VinagreTabPrivate))
@@ -623,6 +623,7 @@
vinagre_tab_init (VinagreTab *tab)
{
GtkWidget *viewport;
+ gboolean shared;
tab->priv = VINAGRE_TAB_GET_PRIVATE (tab);
tab->priv->save_password = FALSE;
@@ -648,8 +649,11 @@
viewport = gtk_bin_get_child (GTK_BIN (tab->priv->scroll));
gtk_viewport_set_shadow_type(GTK_VIEWPORT (viewport), GTK_SHADOW_NONE);
+ g_object_get (vinagre_prefs_get_default (),
+ "shared-flag", &shared,
+ NULL);
vnc_display_set_shared_flag (VNC_DISPLAY (tab->priv->vnc),
- vinagre_prefs_manager_get_shared_flag ());
+ shared);
g_signal_connect (tab->priv->vnc,
"vnc-connected",
Modified: trunk/src/vinagre-window.c
==============================================================================
--- trunk/src/vinagre-window.c (original)
+++ trunk/src/vinagre-window.c Tue May 6 23:58:12 2008
@@ -32,7 +32,7 @@
#include "vinagre-window.h"
#include "vinagre-notebook.h"
#include "vinagre-fav.h"
-#include "vinagre-prefs-manager.h"
+#include "vinagre-prefs.h"
#include "vinagre-utils.h"
#include "vinagre-bookmarks.h"
#include "vinagre-ui.h"
@@ -133,21 +133,21 @@
vinagre_window_state_event_cb (GtkWidget *widget,
GdkEventWindowState *event)
{
- VinagreWindow *window;
+ VinagreWindow *window = VINAGRE_WINDOW (widget);
+
+ window->priv->window_state = event->new_window_state;
+ g_object_set (vinagre_prefs_get_default (),
+ "window-state", window->priv->window_state,
+ NULL);
if ((event->changed_mask & GDK_WINDOW_STATE_FULLSCREEN) == 0)
return FALSE;
- window = VINAGRE_WINDOW (widget);
-
if (event->new_window_state & GDK_WINDOW_STATE_FULLSCREEN)
window->priv->fullscreen = TRUE;
else
window->priv->fullscreen = FALSE;
- window->priv->window_state = event->new_window_state;
- vinagre_prefs_manager_set_window_state (window->priv->window_state);
-
vinagre_window_show_hide_controls (window);
if (GTK_WIDGET_CLASS (vinagre_window_parent_class)->window_state_event)
@@ -165,8 +165,10 @@
window->priv->width = event->width;
window->priv->height = event->height;
- vinagre_prefs_manager_set_window_size (window->priv->width,
- window->priv->height);
+ g_object_set (vinagre_prefs_get_default (),
+ "window-width", window->priv->width,
+ "window-height", window->priv->height,
+ NULL);
return GTK_WIDGET_CLASS (vinagre_window_parent_class)->configure_event (widget, event);
}
@@ -492,7 +494,9 @@
{
window->priv->side_panel_size = allocation->width;
if (window->priv->side_panel_size > 0)
- vinagre_prefs_manager_set_side_panel_size (window->priv->side_panel_size);
+ g_object_set (vinagre_prefs_get_default (),
+ "side-panel-size", window->priv->side_panel_size,
+ NULL);
}
static void
@@ -683,7 +687,9 @@
FALSE,
FALSE);
- window->priv->side_panel_size = vinagre_prefs_manager_get_side_panel_size ();
+ g_object_get (vinagre_prefs_get_default (),
+ "side-panel-size", &(window->priv->side_panel_size),
+ NULL);
gtk_paned_set_position (GTK_PANED (window->priv->hpaned), window->priv->side_panel_size);
g_signal_connect (window->priv->fav_panel,
@@ -707,6 +713,7 @@
gint w, h;
GtkAction *action;
gboolean visible;
+ VinagrePrefs *prefs = vinagre_prefs_get_default ();
/* Remove and Edit bookmarks starts disabled */
action = gtk_action_group_get_action (window->priv->always_sensitive_action_group,
@@ -717,64 +724,32 @@
"BookmarksEdit");
gtk_action_set_sensitive (action, FALSE);
- /* fav panel visibility */
+ /* side panel visibility */
action = gtk_action_group_get_action (window->priv->always_sensitive_action_group,
"ViewSidePanel");
- visible = vinagre_prefs_manager_get_side_pane_visible ();
+ g_object_get (prefs, "side-panel-visible", &visible, NULL);
if (gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (action)) != visible)
gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (action), visible);
/* toolbar visibility */
action = gtk_action_group_get_action (window->priv->always_sensitive_action_group,
"ViewToolbar");
- visible = vinagre_prefs_manager_get_toolbar_visible ();
+ g_object_get (prefs, "toolbar-visible", &visible, NULL);
if (gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (action)) != visible)
gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (action), visible);
/* statusbar visibility */
action = gtk_action_group_get_action (window->priv->always_sensitive_action_group,
"ViewStatusbar");
- visible = vinagre_prefs_manager_get_side_pane_visible ();
+ g_object_get (prefs, "statusbar-visible", &visible, NULL);
if (gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (action)) != visible)
gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (action), visible);
- gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (action),
- vinagre_prefs_manager_get_statusbar_visible ());
-
-// if (vinagre_prefs_manager_get_side_pane_visible ())
-// gtk_widget_show_all (window->priv->fav_panel);
-// else
-// {
-// gtk_widget_hide (window->priv->fav_panel);
-//printf ("hiding... was visible: %d\n", GTK_WIDGET_VISIBLE(window->priv->fav_panel));
-
-// gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (action), FALSE);
-// }
-
- /* toolbar visibility */
-// action = gtk_action_group_get_action (window->priv->always_sensitive_action_group,
-// "ViewToolbar");
-// if (vinagre_prefs_manager_get_toolbar_visible ())
-// gtk_widget_show_all (window->priv->toolbar);
-// else
-// {
-// gtk_widget_hide (window->priv->toolbar);
-// gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (action), FALSE);
-// }
-
- /* toolbar visibility */
-// action = gtk_action_group_get_action (window->priv->always_sensitive_action_group,
-// "ViewStatusbar");
-// if (vinagre_prefs_manager_get_statusbar_visible ())
-// gtk_widget_show_all (window->priv->statusbar);
-// else
-// {
- // gtk_widget_hide (window->priv->statusbar);
-// gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (action), FALSE);
- // }
-
- state = vinagre_prefs_manager_get_window_state ();
- vinagre_prefs_manager_get_window_size (&w, &h);
+ g_object_get (prefs,
+ "window-state", &state,
+ "window-width", &w,
+ "window-height", &h,
+ NULL);
gtk_window_set_default_size (GTK_WINDOW (window), w, h);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]