diff options
author | Guillaume Desmottes <gdesmott@gnome.org> | 2008-01-09 05:04:50 +0800 |
---|---|---|
committer | Guillaume Desmottes <gdesmott@gnome.org> | 2008-01-09 05:04:50 +0800 |
commit | 884d28872d050501e41451fb951ba8eef895ac9d (patch) | |
tree | 40776d0d4a0d8ca569fc36692dc73bee51e78235 /libempathy | |
parent | 7c9d4b14061961610a6cd2854085d8e06ce13d58 (diff) | |
download | gsoc2013-empathy-884d28872d050501e41451fb951ba8eef895ac9d.tar gsoc2013-empathy-884d28872d050501e41451fb951ba8eef895ac9d.tar.gz gsoc2013-empathy-884d28872d050501e41451fb951ba8eef895ac9d.tar.bz2 gsoc2013-empathy-884d28872d050501e41451fb951ba8eef895ac9d.tar.lz gsoc2013-empathy-884d28872d050501e41451fb951ba8eef895ac9d.tar.xz gsoc2013-empathy-884d28872d050501e41451fb951ba8eef895ac9d.tar.zst gsoc2013-empathy-884d28872d050501e41451fb951ba8eef895ac9d.zip |
empathy-irc-network-manager: add a constructor
Diffstat (limited to 'libempathy')
-rw-r--r-- | libempathy/empathy-irc-network-manager.c | 32 |
1 files changed, 27 insertions, 5 deletions
diff --git a/libempathy/empathy-irc-network-manager.c b/libempathy/empathy-irc-network-manager.c index 629b1c20b..e5f0cbad7 100644 --- a/libempathy/empathy-irc-network-manager.c +++ b/libempathy/empathy-irc-network-manager.c @@ -49,6 +49,7 @@ struct _EmpathyIrcNetworkManagerPrivate { gchar *global_file; gchar *user_file; + gboolean modified; }; #define EMPATHY_IRC_NETWORK_MANAGER_GET_PRIVATE(obj)\ @@ -111,6 +112,25 @@ empathy_irc_network_manager_set_property (GObject *object, break; } } + +static GObject * +empathy_irc_network_manager_constructor (GType type, + guint n_props, + GObjectConstructParam *props) +{ + GObject *obj; + EmpathyIrcNetworkManager *self; + + /* Parent constructor chain */ + obj = G_OBJECT_CLASS (empathy_irc_network_manager_parent_class)-> + constructor (type, n_props, props); + + self = EMPATHY_IRC_NETWORK_MANAGER (obj); + irc_network_manager_load_servers (self); + + return obj; +} + static void empathy_irc_network_manager_finalize (GObject *object) { @@ -142,6 +162,7 @@ empathy_irc_network_manager_class_init (EmpathyIrcNetworkManagerClass *klass) GObjectClass *object_class = G_OBJECT_CLASS (klass); GParamSpec *param_spec; + object_class->constructor = empathy_irc_network_manager_constructor; object_class->get_property = empathy_irc_network_manager_get_property; object_class->set_property = empathy_irc_network_manager_set_property; @@ -188,10 +209,6 @@ empathy_irc_network_manager_new (const gchar *global_file, "user-file", user_file, NULL); - /* load file */ - /* FIXME move that to the constructor */ - irc_network_manager_load_servers (manager); - return manager; } @@ -304,8 +321,13 @@ load_global_file (EmpathyIrcNetworkManager *self) static void irc_network_manager_load_servers (EmpathyIrcNetworkManager *self) { - load_global_file (self); + EmpathyIrcNetworkManagerPrivate *priv = + EMPATHY_IRC_NETWORK_MANAGER_GET_PRIVATE (self); + /* TODO: load user file */ + load_global_file (self); + + priv->modified = FALSE; } static void |