panels: add register macro

Bastien says he doesn't like the blank class_finalize
functions in every panel and he would like a wrapper
macro to hide them.

This commit does that.
This commit is contained in:
Ray Strode 2012-08-21 14:29:22 -04:00
parent 0c1a76df6a
commit b0e7a5efa8
19 changed files with 32 additions and 104 deletions

View file

@ -42,7 +42,7 @@
#define WP_PCOLOR_KEY "primary-color" #define WP_PCOLOR_KEY "primary-color"
#define WP_SCOLOR_KEY "secondary-color" #define WP_SCOLOR_KEY "secondary-color"
G_DEFINE_DYNAMIC_TYPE (CcBackgroundPanel, cc_background_panel, CC_TYPE_PANEL) CC_PANEL_REGISTER (CcBackgroundPanel, cc_background_panel)
#define BACKGROUND_PANEL_PRIVATE(o) \ #define BACKGROUND_PANEL_PRIVATE(o) \
(G_TYPE_INSTANCE_GET_PRIVATE ((o), CC_TYPE_BACKGROUND_PANEL, CcBackgroundPanelPrivate)) (G_TYPE_INSTANCE_GET_PRIVATE ((o), CC_TYPE_BACKGROUND_PANEL, CcBackgroundPanelPrivate))
@ -130,11 +130,6 @@ cc_background_panel_class_init (CcBackgroundPanelClass *klass)
object_class->finalize = cc_background_panel_finalize; object_class->finalize = cc_background_panel_finalize;
} }
static void
cc_background_panel_class_finalize (CcBackgroundPanelClass *klass)
{
}
static void static void
update_preview (CcBackgroundPanelPrivate *priv, update_preview (CcBackgroundPanelPrivate *priv,
CcBackgroundItem *item) CcBackgroundItem *item)

View file

@ -36,7 +36,7 @@
#include <bluetooth-chooser.h> #include <bluetooth-chooser.h>
#include <bluetooth-plugin-manager.h> #include <bluetooth-plugin-manager.h>
G_DEFINE_DYNAMIC_TYPE (CcBluetoothPanel, cc_bluetooth_panel, CC_TYPE_PANEL) CC_PANEL_REGISTER (CcBluetoothPanel, cc_bluetooth_panel)
#define BLUETOOTH_PANEL_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), CC_TYPE_BLUETOOTH_PANEL, CcBluetoothPanelPrivate)) #define BLUETOOTH_PANEL_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), CC_TYPE_BLUETOOTH_PANEL, CcBluetoothPanelPrivate))
@ -87,11 +87,6 @@ cc_bluetooth_panel_class_init (CcBluetoothPanelClass *klass)
g_type_class_add_private (klass, sizeof (CcBluetoothPanelPrivate)); g_type_class_add_private (klass, sizeof (CcBluetoothPanelPrivate));
} }
static void
cc_bluetooth_panel_class_finalize (CcBluetoothPanelClass *klass)
{
}
static void static void
cc_bluetooth_panel_finalize (GObject *object) cc_bluetooth_panel_finalize (GObject *object)
{ {

View file

@ -30,7 +30,7 @@
#define WID(b, w) (GtkWidget *) gtk_builder_get_object (b, w) #define WID(b, w) (GtkWidget *) gtk_builder_get_object (b, w)
G_DEFINE_DYNAMIC_TYPE (CcColorPanel, cc_color_panel, CC_TYPE_PANEL) CC_PANEL_REGISTER (CcColorPanel, cc_color_panel)
#define COLOR_PANEL_PRIVATE(o) \ #define COLOR_PANEL_PRIVATE(o) \
(G_TYPE_INSTANCE_GET_PRIVATE ((o), CC_TYPE_COLOR_PANEL, CcColorPanelPrivate)) (G_TYPE_INSTANCE_GET_PRIVATE ((o), CC_TYPE_COLOR_PANEL, CcColorPanelPrivate))
@ -2376,11 +2376,6 @@ cc_color_panel_class_init (CcColorPanelClass *klass)
object_class->finalize = cc_color_panel_finalize; object_class->finalize = cc_color_panel_finalize;
} }
static void
cc_color_panel_class_finalize (CcColorPanelClass *klass)
{
}
static void static void
cc_color_panel_init (CcColorPanel *prefs) cc_color_panel_init (CcColorPanel *prefs)
{ {

View file

@ -40,7 +40,7 @@
#define DEFAULT_TZ "Europe/London" #define DEFAULT_TZ "Europe/London"
#define GETTEXT_PACKAGE_TIMEZONES GETTEXT_PACKAGE "-timezones" #define GETTEXT_PACKAGE_TIMEZONES GETTEXT_PACKAGE "-timezones"
G_DEFINE_DYNAMIC_TYPE (CcDateTimePanel, cc_date_time_panel, CC_TYPE_PANEL) CC_PANEL_REGISTER (CcDateTimePanel, cc_date_time_panel)
#define DATE_TIME_PANEL_PRIVATE(o) \ #define DATE_TIME_PANEL_PRIVATE(o) \
(G_TYPE_INSTANCE_GET_PRIVATE ((o), CC_TYPE_DATE_TIME_PANEL, CcDateTimePanelPrivate)) (G_TYPE_INSTANCE_GET_PRIVATE ((o), CC_TYPE_DATE_TIME_PANEL, CcDateTimePanelPrivate))
@ -197,12 +197,6 @@ cc_date_time_panel_class_init (CcDateTimePanelClass *klass)
panel_class->get_help_uri = cc_date_time_panel_get_help_uri; panel_class->get_help_uri = cc_date_time_panel_get_help_uri;
} }
static void
cc_date_time_panel_class_finalize (CcDateTimePanelClass *klass)
{
}
static void clock_settings_changed_cb (GSettings *settings, static void clock_settings_changed_cb (GSettings *settings,
gchar *key, gchar *key,
CcDateTimePanel *panel); CcDateTimePanel *panel);

View file

@ -37,7 +37,7 @@
#include <glib/gi18n.h> #include <glib/gi18n.h>
#include <gdesktop-enums.h> #include <gdesktop-enums.h>
G_DEFINE_DYNAMIC_TYPE (CcDisplayPanel, cc_display_panel, CC_TYPE_PANEL) CC_PANEL_REGISTER (CcDisplayPanel, cc_display_panel)
#define DISPLAY_PANEL_PRIVATE(o) \ #define DISPLAY_PANEL_PRIVATE(o) \
(G_TYPE_INSTANCE_GET_PRIVATE ((o), CC_TYPE_DISPLAY_PANEL, CcDisplayPanelPrivate)) (G_TYPE_INSTANCE_GET_PRIVATE ((o), CC_TYPE_DISPLAY_PANEL, CcDisplayPanelPrivate))
@ -202,11 +202,6 @@ cc_display_panel_class_init (CcDisplayPanelClass *klass)
object_class->finalize = cc_display_panel_finalize; object_class->finalize = cc_display_panel_finalize;
} }
static void
cc_display_panel_class_finalize (CcDisplayPanelClass *klass)
{
}
static void static void
error_message (CcDisplayPanel *self, const char *primary_text, const char *secondary_text) error_message (CcDisplayPanel *self, const char *primary_text, const char *secondary_text)
{ {

View file

@ -56,7 +56,7 @@
#define WID(w) (GtkWidget *) gtk_builder_get_object (self->priv->builder, w) #define WID(w) (GtkWidget *) gtk_builder_get_object (self->priv->builder, w)
G_DEFINE_DYNAMIC_TYPE (CcInfoPanel, cc_info_panel, CC_TYPE_PANEL) CC_PANEL_REGISTER (CcInfoPanel, cc_info_panel)
#define INFO_PANEL_PRIVATE(o) \ #define INFO_PANEL_PRIVATE(o) \
(G_TYPE_INSTANCE_GET_PRIVATE ((o), CC_TYPE_INFO_PANEL, CcInfoPanelPrivate)) (G_TYPE_INSTANCE_GET_PRIVATE ((o), CC_TYPE_INFO_PANEL, CcInfoPanelPrivate))
@ -567,11 +567,6 @@ cc_info_panel_class_init (CcInfoPanelClass *klass)
object_class->finalize = cc_info_panel_finalize; object_class->finalize = cc_info_panel_finalize;
} }
static void
cc_info_panel_class_finalize (CcInfoPanelClass *klass)
{
}
static char * static char *
get_os_type (void) get_os_type (void)
{ {

View file

@ -23,7 +23,7 @@
#include "keyboard-general.h" #include "keyboard-general.h"
#include "keyboard-shortcuts.h" #include "keyboard-shortcuts.h"
G_DEFINE_DYNAMIC_TYPE (CcKeyboardPanel, cc_keyboard_panel, CC_TYPE_PANEL) CC_PANEL_REGISTER (CcKeyboardPanel, cc_keyboard_panel)
#define KEYBOARD_PANEL_PRIVATE(o) \ #define KEYBOARD_PANEL_PRIVATE(o) \
(G_TYPE_INSTANCE_GET_PRIVATE ((o), CC_TYPE_KEYBOARD_PANEL, CcKeyboardPanelPrivate)) (G_TYPE_INSTANCE_GET_PRIVATE ((o), CC_TYPE_KEYBOARD_PANEL, CcKeyboardPanelPrivate))
@ -171,11 +171,6 @@ cc_keyboard_panel_class_init (CcKeyboardPanelClass *klass)
g_object_class_override_property (object_class, PROP_ARGV, "argv"); g_object_class_override_property (object_class, PROP_ARGV, "argv");
} }
static void
cc_keyboard_panel_class_finalize (CcKeyboardPanelClass *klass)
{
}
static void static void
cc_keyboard_panel_init (CcKeyboardPanel *self) cc_keyboard_panel_init (CcKeyboardPanel *self)
{ {

View file

@ -29,7 +29,7 @@
#include <glib/gi18n.h> #include <glib/gi18n.h>
G_DEFINE_DYNAMIC_TYPE (CcMousePanel, cc_mouse_panel, CC_TYPE_PANEL) CC_PANEL_REGISTER (CcMousePanel, cc_mouse_panel)
#define MOUSE_PANEL_PRIVATE(o) \ #define MOUSE_PANEL_PRIVATE(o) \
(G_TYPE_INSTANCE_GET_PRIVATE ((o), CC_TYPE_MOUSE_PANEL, CcMousePanelPrivate)) (G_TYPE_INSTANCE_GET_PRIVATE ((o), CC_TYPE_MOUSE_PANEL, CcMousePanelPrivate))
@ -125,11 +125,6 @@ cc_mouse_panel_class_init (CcMousePanelClass *klass)
object_class->dispose = cc_mouse_panel_dispose; object_class->dispose = cc_mouse_panel_dispose;
} }
static void
cc_mouse_panel_class_finalize (CcMousePanelClass *klass)
{
}
/* Toggle between mouse panel properties and testing area. */ /* Toggle between mouse panel properties and testing area. */
static void static void
shell_test_button_toggle_event (GtkToggleButton *button, CcMousePanel *panel) shell_test_button_toggle_event (GtkToggleButton *button, CcMousePanel *panel)

View file

@ -42,7 +42,7 @@
#include "network-dialogs.h" #include "network-dialogs.h"
G_DEFINE_DYNAMIC_TYPE (CcNetworkPanel, cc_network_panel, CC_TYPE_PANEL) CC_PANEL_REGISTER (CcNetworkPanel, cc_network_panel)
#define NETWORK_PANEL_PRIVATE(o) \ #define NETWORK_PANEL_PRIVATE(o) \
(G_TYPE_INSTANCE_GET_PRIVATE ((o), CC_TYPE_NETWORK_PANEL, CcNetworkPanelPrivate)) (G_TYPE_INSTANCE_GET_PRIVATE ((o), CC_TYPE_NETWORK_PANEL, CcNetworkPanelPrivate))
@ -222,11 +222,6 @@ cc_network_panel_class_init (CcNetworkPanelClass *klass)
g_object_class_override_property (object_class, PROP_ARGV, "argv"); g_object_class_override_property (object_class, PROP_ARGV, "argv");
} }
static void
cc_network_panel_class_finalize (CcNetworkPanelClass *klass)
{
}
static NetObject * static NetObject *
get_selected_object (CcNetworkPanel *panel) get_selected_object (CcNetworkPanel *panel)
{ {

View file

@ -85,7 +85,7 @@ static void on_account_changed (GoaClient *client,
static gboolean select_account_by_id (GoaPanel *panel, static gboolean select_account_by_id (GoaPanel *panel,
const gchar *account_id); const gchar *account_id);
G_DEFINE_DYNAMIC_TYPE (GoaPanel, goa_panel, CC_TYPE_PANEL); CC_PANEL_REGISTER (GoaPanel, goa_panel);
enum { enum {
PROP_0, PROP_0,
@ -285,11 +285,6 @@ goa_panel_class_init (GoaPanelClass *klass)
g_object_class_override_property (object_class, PROP_ARGV, "argv"); g_object_class_override_property (object_class, PROP_ARGV, "argv");
} }
static void
goa_panel_class_finalize (GoaPanelClass *klass)
{
}
/* ---------------------------------------------------------------------------------------------------- */ /* ---------------------------------------------------------------------------------------------------- */
static void static void

View file

@ -30,7 +30,7 @@
#define WID(b, w) (GtkWidget *) gtk_builder_get_object (b, w) #define WID(b, w) (GtkWidget *) gtk_builder_get_object (b, w)
G_DEFINE_DYNAMIC_TYPE (CcPowerPanel, cc_power_panel, CC_TYPE_PANEL) CC_PANEL_REGISTER (CcPowerPanel, cc_power_panel)
#define POWER_PANEL_PRIVATE(o) \ #define POWER_PANEL_PRIVATE(o) \
(G_TYPE_INSTANCE_GET_PRIVATE ((o), CC_TYPE_POWER_PANEL, CcPowerPanelPrivate)) (G_TYPE_INSTANCE_GET_PRIVATE ((o), CC_TYPE_POWER_PANEL, CcPowerPanelPrivate))
@ -150,11 +150,6 @@ cc_power_panel_class_init (CcPowerPanelClass *klass)
panel_class->get_help_uri = cc_power_panel_get_help_uri; panel_class->get_help_uri = cc_power_panel_get_help_uri;
} }
static void
cc_power_panel_class_finalize (CcPowerPanelClass *klass)
{
}
static gchar * static gchar *
get_timestring (guint64 time_secs) get_timestring (guint64 time_secs)
{ {

View file

@ -38,7 +38,7 @@
#include "pp-jobs-dialog.h" #include "pp-jobs-dialog.h"
#include "pp-utils.h" #include "pp-utils.h"
G_DEFINE_DYNAMIC_TYPE (CcPrintersPanel, cc_printers_panel, CC_TYPE_PANEL) CC_PANEL_REGISTER (CcPrintersPanel, cc_printers_panel)
#define PRINTERS_PANEL_PRIVATE(o) \ #define PRINTERS_PANEL_PRIVATE(o) \
(G_TYPE_INSTANCE_GET_PRIVATE ((o), CC_TYPE_PRINTERS_PANEL, CcPrintersPanelPrivate)) (G_TYPE_INSTANCE_GET_PRIVATE ((o), CC_TYPE_PRINTERS_PANEL, CcPrintersPanelPrivate))

View file

@ -27,7 +27,7 @@
#include "gnome-region-panel-formats.h" #include "gnome-region-panel-formats.h"
#include "gnome-region-panel-system.h" #include "gnome-region-panel-system.h"
G_DEFINE_DYNAMIC_TYPE (CcRegionPanel, cc_region_panel, CC_TYPE_PANEL) CC_PANEL_REGISTER (CcRegionPanel, cc_region_panel)
#define REGION_PANEL_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), CC_TYPE_REGION_PANEL, CcRegionPanelPrivate)) #define REGION_PANEL_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), CC_TYPE_REGION_PANEL, CcRegionPanelPrivate))
@ -129,11 +129,6 @@ cc_region_panel_class_init (CcRegionPanelClass * klass)
g_object_class_override_property (object_class, PROP_ARGV, "argv"); g_object_class_override_property (object_class, PROP_ARGV, "argv");
} }
static void
cc_region_panel_class_finalize (CcRegionPanelClass * klass)
{
}
static void static void
cc_region_panel_init (CcRegionPanel * self) cc_region_panel_init (CcRegionPanel * self)
{ {

View file

@ -21,7 +21,7 @@
#include "cc-screen-panel.h" #include "cc-screen-panel.h"
G_DEFINE_DYNAMIC_TYPE (CcScreenPanel, cc_screen_panel, CC_TYPE_PANEL) CC_PANEL_REGISTER (CcScreenPanel, cc_screen_panel)
#define SCREEN_PANEL_PRIVATE(o) \ #define SCREEN_PANEL_PRIVATE(o) \
(G_TYPE_INSTANCE_GET_PRIVATE ((o), CC_TYPE_SCREEN_PANEL, CcScreenPanelPrivate)) (G_TYPE_INSTANCE_GET_PRIVATE ((o), CC_TYPE_SCREEN_PANEL, CcScreenPanelPrivate))
@ -172,11 +172,6 @@ cc_screen_panel_class_init (CcScreenPanelClass *klass)
panel_class->get_help_uri = cc_screen_panel_get_help_uri; panel_class->get_help_uri = cc_screen_panel_get_help_uri;
} }
static void
cc_screen_panel_class_finalize (CcScreenPanelClass *klass)
{
}
static void static void
set_brightness_cb (GObject *source_object, GAsyncResult *res, gpointer user_data) set_brightness_cb (GObject *source_object, GAsyncResult *res, gpointer user_data)
{ {

View file

@ -34,7 +34,7 @@
#include "cc-sound-panel.h" #include "cc-sound-panel.h"
#include "gvc-mixer-dialog.h" #include "gvc-mixer-dialog.h"
G_DEFINE_DYNAMIC_TYPE (CcSoundPanel, cc_sound_panel, CC_TYPE_PANEL) CC_PANEL_REGISTER (CcSoundPanel, cc_sound_panel)
enum { enum {
PROP_0, PROP_0,
@ -87,11 +87,6 @@ cc_sound_panel_class_init (CcSoundPanelClass *klass)
g_object_class_override_property (object_class, PROP_ARGV, "argv"); g_object_class_override_property (object_class, PROP_ARGV, "argv");
} }
static void
cc_sound_panel_class_finalize (CcSoundPanelClass *klass)
{
}
static void static void
cc_sound_panel_finalize (GObject *object) cc_sound_panel_finalize (GObject *object)
{ {

View file

@ -42,7 +42,7 @@
#define KEY_ICON_THEME "icon-theme" #define KEY_ICON_THEME "icon-theme"
G_DEFINE_DYNAMIC_TYPE (CcUaPanel, cc_ua_panel, CC_TYPE_PANEL) CC_PANEL_REGISTER (CcUaPanel, cc_ua_panel)
#define UA_PANEL_PRIVATE(o) \ #define UA_PANEL_PRIVATE(o) \
(G_TYPE_INSTANCE_GET_PRIVATE ((o), CC_TYPE_UA_PANEL, CcUaPanelPrivate)) (G_TYPE_INSTANCE_GET_PRIVATE ((o), CC_TYPE_UA_PANEL, CcUaPanelPrivate))
@ -178,11 +178,6 @@ cc_ua_panel_class_init (CcUaPanelClass *klass)
object_class->finalize = cc_ua_panel_finalize; object_class->finalize = cc_ua_panel_finalize;
} }
static void
cc_ua_panel_class_finalize (CcUaPanelClass *klass)
{
}
static gchar *sticky_keys_section[] = { static gchar *sticky_keys_section[] = {
"typing_sticky_keys_disable_two_keys_checkbutton", "typing_sticky_keys_disable_two_keys_checkbutton",
"typing_sticky_keys_beep_modifier_checkbutton", "typing_sticky_keys_beep_modifier_checkbutton",

View file

@ -56,7 +56,7 @@
#define USER_ACCOUNTS_PERMISSION "org.gnome.controlcenter.user-accounts.administration" #define USER_ACCOUNTS_PERMISSION "org.gnome.controlcenter.user-accounts.administration"
G_DEFINE_DYNAMIC_TYPE (UmUserPanel, um_user_panel, CC_TYPE_PANEL) CC_PANEL_REGISTER (UmUserPanel, um_user_panel)
#define UM_USER_PANEL_PRIVATE(o) \ #define UM_USER_PANEL_PRIVATE(o) \
(G_TYPE_INSTANCE_GET_PRIVATE ((o), UM_TYPE_USER_PANEL, UmUserPanelPrivate)) (G_TYPE_INSTANCE_GET_PRIVATE ((o), UM_TYPE_USER_PANEL, UmUserPanelPrivate))
@ -1385,11 +1385,6 @@ um_user_panel_class_init (UmUserPanelClass *klass)
g_type_class_add_private (klass, sizeof (UmUserPanelPrivate)); g_type_class_add_private (klass, sizeof (UmUserPanelPrivate));
} }
static void
um_user_panel_class_finalize (UmUserPanelClass *klass)
{
}
void void
um_user_panel_register (GIOModule *module) um_user_panel_register (GIOModule *module)
{ {

View file

@ -31,7 +31,7 @@
#define WID(x) (GtkWidget *) gtk_builder_get_object (priv->builder, x) #define WID(x) (GtkWidget *) gtk_builder_get_object (priv->builder, x)
G_DEFINE_DYNAMIC_TYPE (CcWacomPanel, cc_wacom_panel, CC_TYPE_PANEL) CC_PANEL_REGISTER (CcWacomPanel, cc_wacom_panel)
#define WACOM_PANEL_PRIVATE(o) \ #define WACOM_PANEL_PRIVATE(o) \
(G_TYPE_INSTANCE_GET_PRIVATE ((o), CC_TYPE_WACOM_PANEL, CcWacomPanelPrivate)) (G_TYPE_INSTANCE_GET_PRIVATE ((o), CC_TYPE_WACOM_PANEL, CcWacomPanelPrivate))
@ -132,11 +132,6 @@ cc_wacom_panel_class_init (CcWacomPanelClass *klass)
object_class->dispose = cc_wacom_panel_dispose; object_class->dispose = cc_wacom_panel_dispose;
} }
static void
cc_wacom_panel_class_finalize (CcWacomPanelClass *klass)
{
}
static void static void
remove_page (GtkNotebook *notebook, remove_page (GtkNotebook *notebook,
GtkWidget *widget) GtkWidget *widget)

View file

@ -38,6 +38,20 @@ G_BEGIN_DECLS
#define CC_IS_PANEL_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), CC_TYPE_PANEL)) #define CC_IS_PANEL_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), CC_TYPE_PANEL))
#define CC_PANEL_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), CC_TYPE_PANEL, CcPanelClass)) #define CC_PANEL_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), CC_TYPE_PANEL, CcPanelClass))
/*•
* Utility macro used to register panels
*
* use: CC_PANEL_REGISTER (PluginName, plugin_name)
*/
#define CC_PANEL_REGISTER(PluginName, plugin_name) \
G_DEFINE_DYNAMIC_TYPE (PluginName, \
plugin_name, \
CC_TYPE_PANEL) \
static void \
plugin_name##_class_finalize (PluginName##Class *plugin_name##_class) \
{ \
}
typedef struct CcPanelPrivate CcPanelPrivate; typedef struct CcPanelPrivate CcPanelPrivate;
typedef struct _CcPanel CcPanel; typedef struct _CcPanel CcPanel;