Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Archive
vinagre
Commits
763adc73
Commit
763adc73
authored
Jan 29, 2010
by
Jonh Wendell
Browse files
Use XDG_CACHE_HOME to store window size, panel state, etc.
Closes #583210.
parent
f142412c
Changes
9
Hide whitespace changes
Inline
Side-by-side
po/POTFILES.in
View file @
763adc73
...
...
@@ -26,6 +26,7 @@ vinagre/vinagre-bookmarks.c
vinagre/vinagre-bookmarks-migration.c
vinagre/vinagre-bookmarks-tree.c
vinagre/vinagre-bookmarks-ui.c
vinagre/vinagre-cache-prefs.c
vinagre/vinagre-commands.c
vinagre/vinagre-connect.c
vinagre/vinagre-connection.c
...
...
vinagre/Makefile.am
View file @
763adc73
...
...
@@ -55,6 +55,7 @@ INST_H_FILES = \
vinagre-window.h
\
vinagre-dnd.h
\
vinagre-ssh.h
\
vinagre-cache-prefs.h
\
$(NULL)
headerdir
=
$(prefix)
/include/vinagre-@VINAGRE_API_VERSION@/vinagre
...
...
@@ -96,6 +97,7 @@ handwritten_sources = \
vinagre-spinner.c
\
pty_open.c
\
vinagre-ssh.c
\
vinagre-cache-prefs.c
\
$(NULL)
libvinagre_la_SOURCES
=
\
...
...
@@ -195,6 +197,7 @@ vinagre_applet_SOURCES = \
vinagre-marshal.h vinagre-marshal.c
\
pty_open.h pty_open.c
\
vinagre-ssh.h vinagre-ssh.c
\
vinagre-cache-prefs.h vinagre-cache-prefs.c
\
$(NULL)
if
AVAHI
...
...
vinagre/vinagre-cache-prefs.c
0 → 100644
View file @
763adc73
/*
* vinagre-cache-prefs.c
* This file is part of vinagre
*
* Copyright (C) Jonh Wendell 2010 <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
<glib/gi18n.h>
#include
"vinagre-cache-prefs.h"
static
GKeyFile
*
keyfile
=
NULL
;
static
char
*
filename
=
NULL
;
void
vinagre_cache_prefs_init
(
void
)
{
keyfile
=
g_key_file_new
();
filename
=
g_build_filename
(
g_get_user_cache_dir
(),
"vinagre"
,
"vinagre-prefs-cache.ini"
,
NULL
);
g_key_file_load_from_file
(
keyfile
,
filename
,
0
,
NULL
);
}
static
void
save_file
(
void
)
{
GError
*
error
=
NULL
;
gchar
*
data
=
g_key_file_to_data
(
keyfile
,
NULL
,
NULL
);
gchar
*
dir
=
g_build_filename
(
g_get_user_cache_dir
(),
"vinagre"
,
NULL
);
g_mkdir_with_parents
(
dir
,
0775
);
if
(
!
g_file_set_contents
(
filename
,
data
,
-
1
,
&
error
))
{
g_warning
(
_
(
"Error while saving preferences: %s"
),
error
?
error
->
message
:
_
(
"Unknown error"
));
g_clear_error
(
&
error
);
}
g_free
(
data
);
g_free
(
dir
);
}
void
vinagre_cache_prefs_finalize
(
void
)
{
g_return_if_fail
(
keyfile
!=
NULL
);
save_file
();
g_key_file_free
(
keyfile
);
keyfile
=
NULL
;
g_free
(
filename
);
filename
=
NULL
;
}
gboolean
vinagre_cache_prefs_get_boolean
(
const
gchar
*
group
,
const
gchar
*
key
,
gboolean
default_value
)
{
gboolean
result
;
GError
*
error
=
NULL
;
g_return_val_if_fail
(
keyfile
!=
NULL
,
FALSE
);
result
=
g_key_file_get_boolean
(
keyfile
,
group
,
key
,
&
error
);
if
(
error
)
{
result
=
default_value
;
g_error_free
(
error
);
}
return
result
;
}
void
vinagre_cache_prefs_set_boolean
(
const
gchar
*
group
,
const
gchar
*
key
,
gboolean
value
)
{
g_return_if_fail
(
keyfile
!=
NULL
);
g_key_file_set_boolean
(
keyfile
,
group
,
key
,
value
);
}
gchar
*
vinagre_cache_prefs_get_string
(
const
gchar
*
group
,
const
gchar
*
key
,
const
gchar
*
default_value
)
{
gchar
*
result
;
GError
*
error
=
NULL
;
g_return_val_if_fail
(
keyfile
!=
NULL
,
NULL
);
result
=
g_key_file_get_string
(
keyfile
,
group
,
key
,
&
error
);
if
(
error
)
{
result
=
g_strdup
(
default_value
);
g_error_free
(
error
);
}
return
result
;
}
void
vinagre_cache_prefs_set_string
(
const
gchar
*
group
,
const
gchar
*
key
,
const
gchar
*
value
)
{
g_return_if_fail
(
keyfile
!=
NULL
);
g_key_file_set_string
(
keyfile
,
group
,
key
,
value
);
}
gint
vinagre_cache_prefs_get_integer
(
const
gchar
*
group
,
const
gchar
*
key
,
gint
default_value
)
{
gint
result
;
GError
*
error
=
NULL
;
g_return_val_if_fail
(
keyfile
!=
NULL
,
0
);
result
=
g_key_file_get_integer
(
keyfile
,
group
,
key
,
&
error
);
if
(
error
)
{
result
=
default_value
;
g_error_free
(
error
);
}
return
result
;
}
void
vinagre_cache_prefs_set_integer
(
const
gchar
*
group
,
const
gchar
*
key
,
gint
value
)
{
g_return_if_fail
(
keyfile
!=
NULL
);
g_key_file_set_integer
(
keyfile
,
group
,
key
,
value
);
}
vinagre/vinagre-cache-prefs.h
0 → 100644
View file @
763adc73
/*
* vinagre-cache-prefs.h
* This file is part of vinagre
*
* Copyright (C) Jonh Wendell 2010 <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_CACHE_PREFS_H_
#define _VINAGRE_CACHE_PREFS_H_
G_BEGIN_DECLS
#include
<glib.h>
void
vinagre_cache_prefs_init
(
void
);
void
vinagre_cache_prefs_finalize
(
void
);
gboolean
vinagre_cache_prefs_get_boolean
(
const
gchar
*
group
,
const
gchar
*
key
,
gboolean
default_value
);
void
vinagre_cache_prefs_set_boolean
(
const
gchar
*
group
,
const
gchar
*
key
,
gboolean
value
);
gchar
*
vinagre_cache_prefs_get_string
(
const
gchar
*
group
,
const
gchar
*
key
,
const
gchar
*
default_value
);
void
vinagre_cache_prefs_set_string
(
const
gchar
*
group
,
const
gchar
*
key
,
const
gchar
*
value
);
gint
vinagre_cache_prefs_get_integer
(
const
gchar
*
group
,
const
gchar
*
key
,
gint
default_value
);
void
vinagre_cache_prefs_set_integer
(
const
gchar
*
group
,
const
gchar
*
key
,
gint
value
);
G_END_DECLS
#endif
/* _VINAGRE_CACHE_PREFS_H_ */
vinagre/vinagre-commands.c
View file @
763adc73
...
...
@@ -38,6 +38,7 @@
#include
"vinagre-fav.h"
#include
"vinagre-window-private.h"
#include
"vinagre-prefs.h"
#include
"vinagre-cache-prefs.h"
#include
"vinagre-plugin.h"
#include
"vinagre-plugin-info.h"
#include
"vinagre-plugin-info-priv.h"
...
...
@@ -247,9 +248,9 @@ vinagre_cmd_view_show_toolbar (GtkAction *action,
vinagre_utils_toggle_widget_visible
(
window
->
priv
->
toolbar
);
g_object_set
(
vinagre_prefs_
g
et_
default
()
,
"toolbar-visible"
,
GTK_WIDGET_VISIBLE
(
window
->
priv
->
toolbar
),
NULL
);
vinagre_
cache_
prefs_
s
et_
boolean
(
"window"
,
"toolbar-visible"
,
GTK_WIDGET_VISIBLE
(
window
->
priv
->
toolbar
)
);
}
void
...
...
@@ -260,9 +261,9 @@ vinagre_cmd_view_show_statusbar (GtkAction *action,
vinagre_utils_toggle_widget_visible
(
window
->
priv
->
statusbar
);
g_object_set
(
vinagre_prefs_
g
et_
default
()
,
"statusbar-visible"
,
GTK_WIDGET_VISIBLE
(
window
->
priv
->
statusbar
),
NULL
);
vinagre_
cache_
prefs_
s
et_
boolean
(
"window"
,
"statusbar-visible"
,
GTK_WIDGET_VISIBLE
(
window
->
priv
->
statusbar
)
);
}
void
...
...
@@ -273,9 +274,9 @@ vinagre_cmd_view_show_fav_panel (GtkAction *action,
vinagre_utils_toggle_widget_visible
(
window
->
priv
->
fav_panel
);
g_object_set
(
vinagre_prefs_
g
et_
default
()
,
"side-panel-visible"
,
GTK_WIDGET_VISIBLE
(
window
->
priv
->
fav_panel
),
NULL
);
vinagre_
cache_
prefs_
s
et_
boolean
(
"window"
,
"side-panel-visible"
,
GTK_WIDGET_VISIBLE
(
window
->
priv
->
fav_panel
)
);
}
void
...
...
vinagre/vinagre-connect.c
View file @
763adc73
...
...
@@ -35,6 +35,7 @@
#include
"vinagre-utils.h"
#include
"vinagre-bookmarks.h"
#include
"vinagre-prefs.h"
#include
"vinagre-cache-prefs.h"
#include
"vinagre-plugins-engine.h"
#include
"vinagre-plugin.h"
...
...
@@ -133,7 +134,7 @@ setup_protocol (VinagreConnectDialog *dialog)
dialog
->
protocol_store
=
gtk_list_store_new
(
N_PROTOCOLS
,
G_TYPE_STRING
,
G_TYPE_STRING
,
G_TYPE_STRING
,
G_TYPE_OBJECT
,
G_TYPE_OBJECT
);
plugins
=
vinagre_plugin_engine_get_plugins_by_protocol
(
vinagre_plugins_engine_get_default
());
g_object_get
(
vinagre_prefs_get_
default
(),
"last-protocol
"
,
&
last
_
protocol
,
NULL
);
last_protocol
=
vinagre_
cache_
prefs_get_
string
(
"connection
"
,
"
last
-
protocol
"
,
NULL
);
g_hash_table_iter_init
(
&
hash_iter
,
plugins
);
selected
=
0
;
...
...
@@ -438,7 +439,7 @@ VinagreConnection *vinagre_connect (VinagreWindow *window)
PROTOCOL_PLUGIN
,
&
plugin
,
-
1
);
g_object_set
(
vinagre_prefs_
g
et_
default
()
,
"last-protocol"
,
protocol
,
NULL
);
vinagr
e_cach
e_prefs_
s
et_
string
(
"connection"
,
"last-protocol"
,
protocol
);
g_free
(
protocol
);
conn
=
vinagre_plugin_new_connection
(
plugin
);
...
...
vinagre/vinagre-main.c
View file @
763adc73
...
...
@@ -34,6 +34,7 @@
#include
"vinagre-app.h"
#include
"vinagre-utils.h"
#include
"vinagre-prefs.h"
#include
"vinagre-cache-prefs.h"
#include
"vinagre-bacon.h"
#include
"vinagre-plugins-engine.h"
#include
"vinagre-plugin-info.h"
...
...
@@ -201,6 +202,7 @@ int main (int argc, char **argv) {
vinagre_bacon_start
(
servers
,
new_window
);
vinagre_cache_prefs_init
();
app
=
vinagre_app_get_default
();
window
=
vinagre_app_create_window
(
app
,
NULL
);
gtk_widget_show
(
GTK_WIDGET
(
window
));
...
...
@@ -228,6 +230,7 @@ int main (int argc, char **argv) {
#endif
g_object_unref
(
vinagre_bookmarks_get_default
());
g_object_unref
(
vinagre_prefs_get_default
());
vinagre_cache_prefs_finalize
();
#ifdef VINAGRE_ENABLE_AVAHI
g_object_unref
(
vinagre_mdns_get_default
());
#endif
...
...
vinagre/vinagre-prefs.c
View file @
763adc73
...
...
@@ -25,20 +25,10 @@
#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_SHOW_ACCELS VINAGRE_BASE_KEY "/show_accels"
#define VM_HISTORY_SIZE VINAGRE_BASE_KEY "/history_size"
#define VM_ALWAYS_ENABLE_LISTENING VINAGRE_BASE_KEY "/always_enable_listening"
#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"
#define VM_LAST_PROTOCOL VINAGRE_BASE_KEY "/last_protocol"
#define VM_SHARED_FLAG VINAGRE_BASE_KEY "/shared_flag"
#define VINAGRE_PLUGINS_DIR VINAGRE_BASE_KEY "/plugins"
#define VM_ACTIVE_PLUGINS VINAGRE_PLUGINS_DIR "/active-plugins"
...
...
@@ -53,13 +43,6 @@ 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
,
PROP_SHOW_ACCELS
,
PROP_HISTORY_SIZE
,
PROP_ACTIVE_PLUGINS
,
...
...
@@ -241,7 +224,6 @@ vinagre_prefs_init (VinagrePrefs *prefs)
VM_SHOW_ACCELS
,
(
GConfClientNotifyFunc
)
vinagre_prefs_show_accels_notify
,
prefs
,
NULL
,
NULL
);
}
static
void
...
...
@@ -257,27 +239,6 @@ vinagre_prefs_set_property (GObject *object, guint prop_id, const GValue *value,
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
;
case
PROP_SHOW_ACCELS
:
vinagre_prefs_set_bool
(
prefs
,
VM_SHOW_ACCELS
,
g_value_get_boolean
(
value
));
break
;
...
...
@@ -287,9 +248,6 @@ vinagre_prefs_set_property (GObject *object, guint prop_id, const GValue *value,
case
PROP_ACTIVE_PLUGINS
:
vinagre_prefs_set_list
(
prefs
,
VM_ACTIVE_PLUGINS
,
g_value_get_pointer
(
value
));
break
;
case
PROP_LAST_PROTOCOL
:
vinagre_prefs_set_string
(
prefs
,
VM_LAST_PROTOCOL
,
g_value_get_string
(
value
));
break
;
case
PROP_ALWAYS_ENABLE_LISTENING
:
vinagre_prefs_set_bool
(
prefs
,
VM_ALWAYS_ENABLE_LISTENING
,
g_value_get_boolean
(
value
));
break
;
...
...
@@ -313,27 +271,6 @@ vinagre_prefs_get_property (GObject *object, guint prop_id, GValue *value, GPara
case
PROP_ALWAYS_SHOW_TABS
:
g_value_set_boolean
(
value
,
vinagre_prefs_get_bool
(
prefs
,
VM_ALWAYS_SHOW_TABS
,
FALSE
));
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
;
case
PROP_SHOW_ACCELS
:
g_value_set_boolean
(
value
,
vinagre_prefs_get_bool
(
prefs
,
VM_SHOW_ACCELS
,
TRUE
));
break
;
...
...
@@ -343,11 +280,6 @@ vinagre_prefs_get_property (GObject *object, guint prop_id, GValue *value, GPara
case
PROP_ACTIVE_PLUGINS
:
g_value_set_pointer
(
value
,
vinagre_prefs_get_list
(
prefs
,
VM_ACTIVE_PLUGINS
));
break
;
case
PROP_LAST_PROTOCOL
:
str
=
vinagre_prefs_get_string
(
prefs
,
VM_LAST_PROTOCOL
,
NULL
);
g_value_set_string
(
value
,
str
);
g_free
(
str
);
break
;
case
PROP_ALWAYS_ENABLE_LISTENING
:
g_value_set_boolean
(
value
,
vinagre_prefs_get_bool
(
prefs
,
VM_ALWAYS_ENABLE_LISTENING
,
FALSE
));
break
;
...
...
@@ -401,55 +333,6 @@ vinagre_prefs_class_init (VinagrePrefsClass *klass)
"Whether we should show the tabs even when there is ony one active connection"
,
FALSE
,
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
));
g_object_class_install_property
(
object_class
,
PROP_SHOW_ACCELS
,
g_param_spec_boolean
(
"show-accels"
,
...
...
@@ -472,14 +355,6 @@ vinagre_prefs_class_init (VinagrePrefsClass *klass)
"The list of active plugins"
,
G_PARAM_READWRITE
));
g_object_class_install_property
(
object_class
,
PROP_LAST_PROTOCOL
,
g_param_spec_string
(
"last-protocol"
,
"Last Protocol"
,
"The last protocol used in connect dialog"
,
NULL
,
G_PARAM_READWRITE
));
g_object_class_install_property
(
object_class
,
PROP_ALWAYS_ENABLE_LISTENING
,
g_param_spec_boolean
(
"always-enable-listening"
,
...
...
@@ -487,7 +362,6 @@ vinagre_prefs_class_init (VinagrePrefsClass *klass)
"Whether we always should listen for reverse connections"
,
FALSE
,
G_PARAM_READWRITE
));
}
/* Preferences dialog */
...
...
vinagre/vinagre-window.c
View file @
763adc73
...
...
@@ -34,6 +34,7 @@
#include
"vinagre-notebook.h"
#include
"vinagre-fav.h"
#include
"vinagre-prefs.h"
#include
"vinagre-cache-prefs.h"
#include
"vinagre-utils.h"
#include
"vinagre-bookmarks.h"
#include
"vinagre-ui.h"
...
...
@@ -140,9 +141,7 @@ vinagre_window_state_event_cb (GtkWidget *widget,
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
);
vinagre_cache_prefs_set_integer
(
"window"
,
"window-state"
,
window
->
priv
->
window_state
);
if
((
event
->
changed_mask
&
GDK_WINDOW_STATE_FULLSCREEN
)
==
0
)
return
FALSE
;
...
...
@@ -169,10 +168,8 @@ vinagre_window_configure_event (GtkWidget *widget,
window
->
priv
->
width
=
event
->
width
;
window
->
priv
->
height
=
event
->
height
;
g_object_set
(
vinagre_prefs_get_default
(),
"window-width"
,
window
->
priv
->
width
,
"window-height"
,
window
->
priv
->
height
,
NULL
);
vinagre_cache_prefs_set_integer
(
"window"
,
"window-width"
,
window
->
priv
->
width
);
vinagre_cache_prefs_set_integer
(
"window"
,
"window-height"
,
window
->
priv
->
height
);
return
GTK_WIDGET_CLASS
(
vinagre_window_parent_class
)
->
configure_event
(
widget
,
event
);
}
...
...
@@ -476,9 +473,7 @@ fav_panel_size_allocate (GtkWidget *widget,
{
window
->
priv
->
side_panel_size
=
allocation
->
width
;
if
(
window
->
priv
->
side_panel_size
>
0
)
g_object_set
(
vinagre_prefs_get_default
(),
"side-panel-size"
,
window
->
priv
->
side_panel_size
,
NULL
);
vinagre_cache_prefs_set_integer
(
"window"
,
"side-panel-size"
,
window
->
priv
->
side_panel_size
);
}
static
void
...
...
@@ -626,9 +621,7 @@ create_side_panel (VinagreWindow *window)
FALSE
,
FALSE
);
g_object_get
(
vinagre_prefs_get_default
(),
"side-panel-size"
,
&
(
window
->
priv
->
side_panel_size
),
NULL
);
window
->
priv
->
side_panel_size
=
vinagre_cache_prefs_get_integer
(
"window"
,
"side-panel-size"
,
200
);
gtk_paned_set_position
(
GTK_PANED
(
window
->
priv
->
hpaned
),
window
->
priv
->
side_panel_size
);
g_signal_connect
(
window
->
priv
->
fav_panel
,
...
...
@@ -640,42 +633,35 @@ create_side_panel (VinagreWindow *window)
static
void
init_widgets_visibility
(
VinagreWindow
*
window
)
{
GdkWindowState
state
;
gint
w
,
h
;
GtkAction
*
action
;
gboolean
visible
;
VinagrePrefs
*
prefs
=
vinagre_prefs_get_default
();
/* side panel visibility */
action
=
gtk_action_group_get_action
(
window
->
priv
->
always_sensitive_action_group
,
"ViewSidePanel"
);
g_object_get
(
prefs
,
"side-panel-visible"
,
&
visible
,
NULL
);
visible
=
vinagre_cache_prefs_get_boolean
(
"window"
,
"side-panel-visible"
,
TRUE
);
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"
);
g_object_get
(
prefs
,
"toolbar-visible"
,
&
visible
,
NULL
);
visible
=
vinagre_cache_prefs_get_boolean
(
"window"
,
"toolbar-visible"
,
TRUE
);
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"
);
g_object_get
(
prefs
,
"statusbar-visible"
,
&
visible
,
NULL
);
visible
=
vinagre_cache_prefs_get_boolean
(
"window"
,
"statusbar-visible"
,
TRUE
);
if
(
gtk_toggle_action_get_active
(
GTK_TOGGLE_ACTION
(
action
))
!=
visible
)
gtk_toggle_action_set_active
(
GTK_TOGGLE_ACTION
(
action
),
visible
);
g_object_get
(
prefs
,
"window-state"
,
&
state
,
"window-width"
,
&
w
,
"window-height"
,
&
h
,
NULL
);
gtk_window_set_default_size
(
GTK_WINDOW
(
window
),
w
,
h
);
gtk_window_set_default_size
(
GTK_WINDOW
(
window
),
vinagre_cache_prefs_get_integer
(
"window"
,
"window-width"
,
650
),
vinagre_cache_prefs_get_integer
(
"window"
,
"window-height"
,
500
));
if
((
state
&
GDK_WINDOW_STATE_MAXIMIZED
)
!=
0
)
if
((
vinagre_cache_prefs_get_integer
(
"window"
,
"window-state"
,
0
)
&
GDK_WINDOW_STATE_MAXIMIZED
)
!=
0
)
gtk_window_maximize
(
GTK_WINDOW
(
window
));
else
gtk_window_unmaximize
(
GTK_WINDOW
(
window
));
...
...
Write
Preview