aboutsummaryrefslogtreecommitdiffstats
path: root/modules
diff options
context:
space:
mode:
authorMatthew Barnes <mbarnes@redhat.com>2010-08-24 23:21:41 +0800
committerMatthew Barnes <mbarnes@redhat.com>2010-08-25 02:37:02 +0800
commitecf3434da05b1f39f793c24b38bfd278e10b5786 (patch)
tree485ed2399920ecb10dbee2b4db4c437c22574a20 /modules
parentf1d2541c487fbf7433a1b9aad8e8982ef08b85f5 (diff)
downloadgsoc2013-evolution-ecf3434da05b1f39f793c24b38bfd278e10b5786.tar.gz
gsoc2013-evolution-ecf3434da05b1f39f793c24b38bfd278e10b5786.tar.zst
gsoc2013-evolution-ecf3434da05b1f39f793c24b38bfd278e10b5786.zip
GObject boilerplate cleanup.
Prefer thread-safe G_DEFINE_TYPE and G_DEFINE_INTERFACE macros over manual GType registration. This is just a start... lots more to do.
Diffstat (limited to 'modules')
-rw-r--r--modules/mail/e-mail-shell-content.c22
-rw-r--r--modules/mail/em-account-prefs.c39
-rw-r--r--modules/mail/em-composer-prefs.c39
-rw-r--r--modules/mail/em-mailer-prefs.c62
-rw-r--r--modules/mail/em-network-prefs.c59
5 files changed, 49 insertions, 172 deletions
diff --git a/modules/mail/e-mail-shell-content.c b/modules/mail/e-mail-shell-content.c
index 7a410bac55..8dc2619bfa 100644
--- a/modules/mail/e-mail-shell-content.c
+++ b/modules/mail/e-mail-shell-content.c
@@ -377,18 +377,18 @@ e_mail_shell_content_get_type (void)
}
static void
-mail_shell_content_reader_init (EMailReaderIface *iface)
+mail_shell_content_reader_init (EMailReaderInterface *interface)
{
- iface->get_action_group = mail_shell_content_get_action_group;
- iface->get_formatter = mail_shell_content_get_formatter;
- iface->get_hide_deleted = mail_shell_content_get_hide_deleted;
- iface->get_message_list = mail_shell_content_get_message_list;
- iface->get_popup_menu = mail_shell_content_get_popup_menu;
- iface->get_shell_backend = mail_shell_content_get_shell_backend;
- iface->get_window = mail_shell_content_get_window;
- iface->set_folder = mail_shell_content_set_folder;
- iface->show_search_bar = mail_shell_content_show_search_bar;
- iface->open_selected_mail = mail_shell_content_open_selected_mail;
+ interface->get_action_group = mail_shell_content_get_action_group;
+ interface->get_formatter = mail_shell_content_get_formatter;
+ interface->get_hide_deleted = mail_shell_content_get_hide_deleted;
+ interface->get_message_list = mail_shell_content_get_message_list;
+ interface->get_popup_menu = mail_shell_content_get_popup_menu;
+ interface->get_shell_backend = mail_shell_content_get_shell_backend;
+ interface->get_window = mail_shell_content_get_window;
+ interface->set_folder = mail_shell_content_set_folder;
+ interface->show_search_bar = mail_shell_content_show_search_bar;
+ interface->open_selected_mail = mail_shell_content_open_selected_mail;
}
void
diff --git a/modules/mail/em-account-prefs.c b/modules/mail/em-account-prefs.c
index 310f18ed7b..7b3b61fa9a 100644
--- a/modules/mail/em-account-prefs.c
+++ b/modules/mail/em-account-prefs.c
@@ -50,7 +50,10 @@ struct _EMAccountPrefsPrivate {
gpointer editor; /* weak pointer */
};
-static gpointer parent_class;
+G_DEFINE_TYPE (
+ EMAccountPrefs,
+ em_account_prefs,
+ E_TYPE_ACCOUNT_MANAGER)
static void
account_prefs_enable_account_cb (EAccountTreeView *tree_view)
@@ -258,16 +261,15 @@ account_prefs_dispose (GObject *object)
}
/* Chain up to parent's dispose() method. */
- G_OBJECT_CLASS (parent_class)->dispose (object);
+ G_OBJECT_CLASS (em_account_prefs_parent_class)->dispose (object);
}
static void
-account_prefs_class_init (EMAccountPrefsClass *class)
+em_account_prefs_class_init (EMAccountPrefsClass *class)
{
GObjectClass *object_class;
EAccountManagerClass *account_manager_class;
- parent_class = g_type_class_peek_parent (class);
g_type_class_add_private (class, sizeof (EMAccountPrefsPrivate));
object_class = G_OBJECT_CLASS (class);
@@ -280,7 +282,7 @@ account_prefs_class_init (EMAccountPrefsClass *class)
}
static void
-account_prefs_init (EMAccountPrefs *prefs)
+em_account_prefs_init (EMAccountPrefs *prefs)
{
EAccountManager *manager;
EAccountTreeView *tree_view;
@@ -299,33 +301,6 @@ account_prefs_init (EMAccountPrefs *prefs)
G_CALLBACK (account_prefs_disable_account_cb), NULL);
}
-GType
-em_account_prefs_get_type (void)
-{
- static GType type = 0;
-
- if (G_UNLIKELY (type == 0)) {
- static const GTypeInfo type_info = {
- sizeof (EMAccountPrefsClass),
- (GBaseInitFunc) NULL,
- (GBaseFinalizeFunc) NULL,
- (GClassInitFunc) account_prefs_class_init,
- (GClassFinalizeFunc) NULL,
- NULL, /* class_data */
- sizeof (EMAccountPrefs),
- 0, /* n_preallocs */
- (GInstanceInitFunc) account_prefs_init,
- NULL /* value_table */
- };
-
- type = g_type_register_static (
- E_TYPE_ACCOUNT_MANAGER, "EMAccountPrefs",
- &type_info, 0);
- }
-
- return type;
-}
-
GtkWidget *
em_account_prefs_new (EPreferencesWindow *window)
{
diff --git a/modules/mail/em-composer-prefs.c b/modules/mail/em-composer-prefs.c
index 5e0b3405c5..7db5238a62 100644
--- a/modules/mail/em-composer-prefs.c
+++ b/modules/mail/em-composer-prefs.c
@@ -55,7 +55,10 @@
#include "em-config.h"
#include "em-folder-selection-button.h"
-static gpointer parent_class;
+G_DEFINE_TYPE (
+ EMComposerPrefs,
+ em_composer_prefs,
+ GTK_TYPE_VBOX)
static gboolean
transform_color_to_string (const GValue *src_value,
@@ -169,49 +172,21 @@ composer_prefs_finalize (GObject *object)
g_object_unref (prefs->builder);
/* Chain up to parent's finalize() method. */
- G_OBJECT_CLASS (parent_class)->finalize (object);
+ G_OBJECT_CLASS (em_composer_prefs_parent_class)->finalize (object);
}
static void
-composer_prefs_class_init (EMComposerPrefsClass *class)
+em_composer_prefs_class_init (EMComposerPrefsClass *class)
{
GObjectClass *object_class;
- parent_class = g_type_class_peek_parent (class);
-
object_class = G_OBJECT_CLASS (class);
object_class->finalize = composer_prefs_finalize;
}
static void
-composer_prefs_init (EMComposerPrefs *prefs)
-{
-}
-
-GType
-em_composer_prefs_get_type (void)
+em_composer_prefs_init (EMComposerPrefs *prefs)
{
- static GType type = 0;
-
- if (G_UNLIKELY (type == 0)) {
- static const GTypeInfo type_info = {
- sizeof (EMComposerPrefsClass),
- (GBaseInitFunc) NULL,
- (GBaseFinalizeFunc) NULL,
- (GClassInitFunc) composer_prefs_class_init,
- (GClassFinalizeFunc) NULL,
- NULL, /* class_data */
- sizeof (EMComposerPrefs),
- 0, /* n_allocs */
- (GInstanceInitFunc) composer_prefs_init,
- NULL /* value_table */
- };
-
- type = g_type_register_static (
- GTK_TYPE_VBOX, "EMComposerPrefs", &type_info, 0);
- }
-
- return type;
}
void
diff --git a/modules/mail/em-mailer-prefs.c b/modules/mail/em-mailer-prefs.c
index 7a6b86da18..751c395223 100644
--- a/modules/mail/em-mailer-prefs.c
+++ b/modules/mail/em-mailer-prefs.c
@@ -52,12 +52,6 @@
#include "em-config.h"
#include "mail-session.h"
-static void em_mailer_prefs_class_init (EMMailerPrefsClass *class);
-static void em_mailer_prefs_init (EMMailerPrefs *dialog);
-static void em_mailer_prefs_finalize (GObject *object);
-
-static GtkVBoxClass *parent_class = NULL;
-
enum {
HEADER_LIST_NAME_COLUMN, /* displayable name of the header (may be a translation) */
HEADER_LIST_ENABLED_COLUMN, /* is the header enabled? */
@@ -100,36 +94,34 @@ static const struct {
{ N_("Once per month"), 30 },
};
-GType
-em_mailer_prefs_get_type (void)
+G_DEFINE_TYPE (
+ EMMailerPrefs,
+ em_mailer_prefs,
+ GTK_TYPE_VBOX)
+
+static void
+em_mailer_prefs_finalize (GObject *object)
{
- static GType type = 0;
-
- if (!type) {
- GTypeInfo type_info = {
- sizeof (EMMailerPrefsClass),
- NULL, NULL,
- (GClassInitFunc) em_mailer_prefs_class_init,
- NULL, NULL,
- sizeof (EMMailerPrefs),
- 0,
- (GInstanceInitFunc) em_mailer_prefs_init,
- };
-
- type = g_type_register_static (gtk_vbox_get_type (), "EMMailerPrefs", &type_info, 0);
+ EMMailerPrefs *prefs = (EMMailerPrefs *) object;
+
+ g_object_unref (prefs->builder);
+
+ if (prefs->labels_change_notify_id) {
+ gconf_client_notify_remove (prefs->gconf, prefs->labels_change_notify_id);
+
+ prefs->labels_change_notify_id = 0;
}
- return type;
+ /* Chain up to parent's finalize() method. */
+ G_OBJECT_CLASS (em_mailer_prefs_parent_class)->finalize (object);
}
static void
-em_mailer_prefs_class_init (EMMailerPrefsClass *klass)
+em_mailer_prefs_class_init (EMMailerPrefsClass *class)
{
GObjectClass *object_class;
- object_class = (GObjectClass *) klass;
- parent_class = g_type_class_ref (gtk_vbox_get_type ());
-
+ object_class = G_OBJECT_CLASS (class);
object_class->finalize = em_mailer_prefs_finalize;
}
@@ -139,22 +131,6 @@ em_mailer_prefs_init (EMMailerPrefs *preferences)
preferences->gconf = mail_config_get_gconf_client ();
}
-static void
-em_mailer_prefs_finalize (GObject *obj)
-{
- EMMailerPrefs *prefs = (EMMailerPrefs *) obj;
-
- g_object_unref (prefs->builder);
-
- if (prefs->labels_change_notify_id) {
- gconf_client_notify_remove (prefs->gconf, prefs->labels_change_notify_id);
-
- prefs->labels_change_notify_id = 0;
- }
-
- ((GObjectClass *)(parent_class))->finalize (obj);
-}
-
static gboolean
mark_seen_timeout_transform (const GValue *src_value,
GValue *dst_value,
diff --git a/modules/mail/em-network-prefs.c b/modules/mail/em-network-prefs.c
index efa9e0a090..247ab242e4 100644
--- a/modules/mail/em-network-prefs.c
+++ b/modules/mail/em-network-prefs.c
@@ -61,68 +61,19 @@
#define GCONF_E_USE_PROXY_KEY GCONF_E_SHELL_NETWORK_CONFIG_PATH "use_http_proxy"
#define GCONF_E_AUTOCONFIG_URL_KEY GCONF_E_SHELL_NETWORK_CONFIG_PATH "autoconfig_url"
-static void em_network_prefs_class_init (EMNetworkPrefsClass *class);
-static void em_network_prefs_init (EMNetworkPrefs *dialog);
-static void em_network_prefs_destroy (GtkObject *obj);
-static void em_network_prefs_finalise (GObject *obj);
-
-static GtkVBoxClass *parent_class = NULL;
-
-GType
-em_network_prefs_get_type (void)
-{
- static GType type = 0;
-
- if (!type) {
- static const GTypeInfo info = {
- sizeof (EMNetworkPrefsClass),
- NULL, NULL,
- (GClassInitFunc) em_network_prefs_class_init,
- NULL, NULL,
- sizeof (EMNetworkPrefs),
- 0,
- (GInstanceInitFunc) em_network_prefs_init,
- };
-
- type = g_type_register_static (gtk_vbox_get_type (), "EMNetworkPrefs", &info, 0);
- }
-
- return type;
-}
+G_DEFINE_TYPE (
+ EMNetworkPrefs,
+ em_network_prefs,
+ GTK_TYPE_VBOX)
static void
-em_network_prefs_class_init (EMNetworkPrefsClass *klass)
+em_network_prefs_class_init (EMNetworkPrefsClass *class)
{
- GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
- GtkObjectClass *object_class = GTK_OBJECT_CLASS (klass);
-
- parent_class = g_type_class_ref (gtk_vbox_get_type ());
-
- object_class->destroy = em_network_prefs_destroy;
- gobject_class->finalize = em_network_prefs_finalise;
}
static void
em_network_prefs_init (EMNetworkPrefs *prefs)
{
- /* do something here */
-}
-
-static void
-em_network_prefs_finalise (GObject *obj)
-{
- d(g_print ("Network preferences finalize is called\n"));
-
- /* do something here */
- G_OBJECT_CLASS (parent_class)->finalize (obj);
-}
-
-static void
-em_network_prefs_destroy (GtkObject *obj)
-{
- d(g_print ("Network preferences destroy is called\n"));
-
- GTK_OBJECT_CLASS (parent_class)->destroy (obj);
}
static void