window: Rework property creation
This commit is contained in:
+36
-43
@@ -186,11 +186,12 @@ struct _GcalWindow
|
|||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
PROP_0,
|
PROP_0,
|
||||||
|
PROP_ACTIVE_DATE,
|
||||||
PROP_ACTIVE_VIEW,
|
PROP_ACTIVE_VIEW,
|
||||||
PROP_MANAGER,
|
PROP_MANAGER,
|
||||||
|
PROP_NEW_EVENT_MODE,
|
||||||
PROP_WEATHER_SERVICE,
|
PROP_WEATHER_SERVICE,
|
||||||
PROP_ACTIVE_DATE,
|
N_PROPS
|
||||||
PROP_NEW_EVENT_MODE
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#define SAVE_GEOMETRY_ID_TIMEOUT 100 /* ms */
|
#define SAVE_GEOMETRY_ID_TIMEOUT 100 /* ms */
|
||||||
@@ -238,6 +239,9 @@ static const GActionEntry actions[] = {
|
|||||||
{"toggle-search-bar", on_toggle_search_bar_activated }
|
{"toggle-search-bar", on_toggle_search_bar_activated }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static GParamSpec* properties[N_PROPS] = { NULL, };
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Auxiliary methods
|
* Auxiliary methods
|
||||||
*/
|
*/
|
||||||
@@ -1601,6 +1605,7 @@ gcal_window_class_init (GcalWindowClass *klass)
|
|||||||
GtkWidgetClass *widget_class;
|
GtkWidgetClass *widget_class;
|
||||||
|
|
||||||
g_type_ensure (GCAL_TYPE_EDIT_DIALOG);
|
g_type_ensure (GCAL_TYPE_EDIT_DIALOG);
|
||||||
|
g_type_ensure (GCAL_TYPE_MANAGER);
|
||||||
g_type_ensure (GCAL_TYPE_MONTH_VIEW);
|
g_type_ensure (GCAL_TYPE_MONTH_VIEW);
|
||||||
g_type_ensure (GCAL_TYPE_QUICK_ADD_POPOVER);
|
g_type_ensure (GCAL_TYPE_QUICK_ADD_POPOVER);
|
||||||
g_type_ensure (GCAL_TYPE_SEARCH_VIEW);
|
g_type_ensure (GCAL_TYPE_SEARCH_VIEW);
|
||||||
@@ -1616,51 +1621,39 @@ gcal_window_class_init (GcalWindowClass *klass)
|
|||||||
widget_class = GTK_WIDGET_CLASS (klass);
|
widget_class = GTK_WIDGET_CLASS (klass);
|
||||||
widget_class->configure_event = gcal_window_configure_event;
|
widget_class->configure_event = gcal_window_configure_event;
|
||||||
|
|
||||||
g_object_class_install_property (
|
|
||||||
object_class,
|
|
||||||
PROP_ACTIVE_VIEW,
|
|
||||||
g_param_spec_enum ("active-view",
|
|
||||||
"Active View",
|
|
||||||
"The active view, eg: month, week, etc.",
|
|
||||||
GCAL_WINDOW_VIEW_TYPE,
|
|
||||||
GCAL_WINDOW_VIEW_MONTH,
|
|
||||||
G_PARAM_READWRITE));
|
|
||||||
|
|
||||||
g_object_class_install_property (
|
properties[PROP_ACTIVE_DATE] = g_param_spec_boxed ("active-date",
|
||||||
object_class,
|
"Date",
|
||||||
PROP_MANAGER,
|
"The active/selected date",
|
||||||
g_param_spec_object ("manager",
|
ICAL_TIME_TYPE,
|
||||||
"The manager object",
|
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
|
||||||
"The manager object",
|
|
||||||
GCAL_TYPE_MANAGER,
|
|
||||||
G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE));
|
|
||||||
|
|
||||||
g_object_class_install_property (
|
properties[PROP_ACTIVE_VIEW] = g_param_spec_enum ("active-view",
|
||||||
object_class,
|
"Active View",
|
||||||
PROP_WEATHER_SERVICE,
|
"The active view, eg: month, week, etc.",
|
||||||
g_param_spec_object ("weather-service",
|
GCAL_WINDOW_VIEW_TYPE,
|
||||||
"The weather service object",
|
GCAL_WINDOW_VIEW_MONTH,
|
||||||
"The weather service object",
|
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
|
||||||
GCAL_TYPE_WEATHER_SERVICE,
|
|
||||||
G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE));
|
|
||||||
|
|
||||||
g_object_class_install_property (
|
properties[PROP_MANAGER] = g_param_spec_object ("manager",
|
||||||
object_class,
|
"The manager object",
|
||||||
PROP_ACTIVE_DATE,
|
"The manager object",
|
||||||
g_param_spec_boxed ("active-date",
|
GCAL_TYPE_MANAGER,
|
||||||
"Date",
|
G_PARAM_CONSTRUCT | G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
|
||||||
"The active/selected date",
|
|
||||||
ICAL_TIME_TYPE,
|
|
||||||
G_PARAM_READWRITE));
|
|
||||||
|
|
||||||
g_object_class_install_property (
|
properties[PROP_NEW_EVENT_MODE] = g_param_spec_boolean ("new-event-mode",
|
||||||
object_class,
|
"New Event mode",
|
||||||
PROP_NEW_EVENT_MODE,
|
"Whether the window is in new-event-mode or not",
|
||||||
g_param_spec_boolean ("new-event-mode",
|
FALSE,
|
||||||
"New Event mode",
|
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
|
||||||
"Whether the window is in new-event-mode or not",
|
|
||||||
FALSE,
|
properties[PROP_WEATHER_SERVICE] = g_param_spec_object ("weather-service",
|
||||||
G_PARAM_READWRITE));
|
"The weather service object",
|
||||||
|
"The weather service object",
|
||||||
|
GCAL_TYPE_WEATHER_SERVICE,
|
||||||
|
G_PARAM_CONSTRUCT | G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
|
||||||
|
|
||||||
|
g_object_class_install_properties (object_class, N_PROPS, properties);
|
||||||
|
|
||||||
gtk_widget_class_set_template_from_resource (widget_class, "/org/gnome/calendar/window.ui");
|
gtk_widget_class_set_template_from_resource (widget_class, "/org/gnome/calendar/window.ui");
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user