gui/calendar-management: Replace "context" property with context getter method
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/702>
This commit is contained in:
@@ -64,8 +64,6 @@ struct _GcalCalendarManagementDialog
|
|||||||
|
|
||||||
/* auxiliary */
|
/* auxiliary */
|
||||||
GcalCalendarManagementPage *pages[N_PAGES];
|
GcalCalendarManagementPage *pages[N_PAGES];
|
||||||
|
|
||||||
GcalContext *context;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
static void on_page_switched_cb (GcalCalendarManagementPage *page,
|
static void on_page_switched_cb (GcalCalendarManagementPage *page,
|
||||||
@@ -75,15 +73,6 @@ static void on_page_switched_cb (GcalCalendarMa
|
|||||||
|
|
||||||
G_DEFINE_TYPE (GcalCalendarManagementDialog, gcal_calendar_management_dialog, ADW_TYPE_DIALOG)
|
G_DEFINE_TYPE (GcalCalendarManagementDialog, gcal_calendar_management_dialog, ADW_TYPE_DIALOG)
|
||||||
|
|
||||||
enum
|
|
||||||
{
|
|
||||||
PROP_0,
|
|
||||||
PROP_CONTEXT,
|
|
||||||
N_PROPS
|
|
||||||
};
|
|
||||||
|
|
||||||
static GParamSpec *properties[N_PROPS] = { NULL, };
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Auxiliary methods
|
* Auxiliary methods
|
||||||
@@ -109,45 +98,6 @@ set_page (GcalCalendarManagementDialog *self,
|
|||||||
adw_navigation_view_push (self->navigation_view, page);
|
adw_navigation_view_push (self->navigation_view, page);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
|
||||||
setup_context (GcalCalendarManagementDialog *self)
|
|
||||||
{
|
|
||||||
const struct {
|
|
||||||
GcalPageType page_type;
|
|
||||||
GType gtype;
|
|
||||||
} pages[] = {
|
|
||||||
{ GCAL_PAGE_CALENDARS, GCAL_TYPE_CALENDARS_PAGE },
|
|
||||||
{ GCAL_PAGE_NEW_CALENDAR, GCAL_TYPE_NEW_CALENDAR_PAGE },
|
|
||||||
{ GCAL_PAGE_EDIT_CALENDAR, GCAL_TYPE_EDIT_CALENDAR_PAGE },
|
|
||||||
};
|
|
||||||
gint i;
|
|
||||||
|
|
||||||
GCAL_ENTRY;
|
|
||||||
|
|
||||||
for (i = 0; i < N_PAGES; i++)
|
|
||||||
{
|
|
||||||
GcalCalendarManagementPage *page;
|
|
||||||
|
|
||||||
page = g_object_new (pages[i].gtype,
|
|
||||||
"context", self->context,
|
|
||||||
NULL);
|
|
||||||
|
|
||||||
adw_navigation_view_add (self->navigation_view, ADW_NAVIGATION_PAGE (page));
|
|
||||||
|
|
||||||
g_signal_connect_object (page,
|
|
||||||
"switch-page",
|
|
||||||
G_CALLBACK (on_page_switched_cb),
|
|
||||||
self,
|
|
||||||
0);
|
|
||||||
|
|
||||||
self->pages[i] = page;
|
|
||||||
}
|
|
||||||
|
|
||||||
set_page (self, "calendars", NULL);
|
|
||||||
|
|
||||||
GCAL_EXIT;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Callbacks
|
* Callbacks
|
||||||
@@ -196,67 +146,15 @@ gcal_calendar_management_dialog_hide (GtkWidget *widget)
|
|||||||
* GObject overrides
|
* GObject overrides
|
||||||
*/
|
*/
|
||||||
|
|
||||||
static void
|
|
||||||
gcal_calendar_management_dialog_get_property (GObject *object,
|
|
||||||
guint prop_id,
|
|
||||||
GValue *value,
|
|
||||||
GParamSpec *pspec)
|
|
||||||
{
|
|
||||||
GcalCalendarManagementDialog *self = (GcalCalendarManagementDialog *) object;
|
|
||||||
|
|
||||||
switch (prop_id)
|
|
||||||
{
|
|
||||||
case PROP_CONTEXT:
|
|
||||||
g_value_set_object (value, self->context);
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
gcal_calendar_management_dialog_set_property (GObject *object,
|
|
||||||
guint prop_id,
|
|
||||||
const GValue *value,
|
|
||||||
GParamSpec *pspec)
|
|
||||||
{
|
|
||||||
GcalCalendarManagementDialog *self = (GcalCalendarManagementDialog *) object;
|
|
||||||
|
|
||||||
switch (prop_id)
|
|
||||||
{
|
|
||||||
case PROP_CONTEXT:
|
|
||||||
g_assert (self->context == NULL);
|
|
||||||
self->context = g_value_dup_object (value);
|
|
||||||
setup_context (self);
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
gcal_calendar_management_dialog_class_init (GcalCalendarManagementDialogClass *klass)
|
gcal_calendar_management_dialog_class_init (GcalCalendarManagementDialogClass *klass)
|
||||||
{
|
{
|
||||||
GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
|
GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
|
||||||
GObjectClass *object_class = G_OBJECT_CLASS (klass);
|
|
||||||
|
|
||||||
g_type_ensure (E_TYPE_SOURCE_LOCAL);
|
g_type_ensure (E_TYPE_SOURCE_LOCAL);
|
||||||
|
|
||||||
object_class->get_property = gcal_calendar_management_dialog_get_property;
|
|
||||||
object_class->set_property = gcal_calendar_management_dialog_set_property;
|
|
||||||
|
|
||||||
widget_class->hide = gcal_calendar_management_dialog_hide;
|
widget_class->hide = gcal_calendar_management_dialog_hide;
|
||||||
|
|
||||||
properties[PROP_CONTEXT] = g_param_spec_object ("context",
|
|
||||||
"Context",
|
|
||||||
"The context object of the application",
|
|
||||||
GCAL_TYPE_CONTEXT,
|
|
||||||
G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT_ONLY);
|
|
||||||
|
|
||||||
g_object_class_install_properties (object_class, N_PROPS, properties);
|
|
||||||
|
|
||||||
gtk_widget_class_set_template_from_resource (widget_class, "/org/gnome/calendar/ui/gui/calendar-management/gcal-calendar-management-dialog.ui");
|
gtk_widget_class_set_template_from_resource (widget_class, "/org/gnome/calendar/ui/gui/calendar-management/gcal-calendar-management-dialog.ui");
|
||||||
|
|
||||||
gtk_widget_class_bind_template_child (widget_class, GcalCalendarManagementDialog, navigation_view);
|
gtk_widget_class_bind_template_child (widget_class, GcalCalendarManagementDialog, navigation_view);
|
||||||
@@ -267,7 +165,35 @@ gcal_calendar_management_dialog_class_init (GcalCalendarManagementDialogClass *k
|
|||||||
static void
|
static void
|
||||||
gcal_calendar_management_dialog_init (GcalCalendarManagementDialog *self)
|
gcal_calendar_management_dialog_init (GcalCalendarManagementDialog *self)
|
||||||
{
|
{
|
||||||
|
const struct {
|
||||||
|
GcalPageType page_type;
|
||||||
|
GType gtype;
|
||||||
|
} pages[] = {
|
||||||
|
{ GCAL_PAGE_CALENDARS, GCAL_TYPE_CALENDARS_PAGE },
|
||||||
|
{ GCAL_PAGE_NEW_CALENDAR, GCAL_TYPE_NEW_CALENDAR_PAGE },
|
||||||
|
{ GCAL_PAGE_EDIT_CALENDAR, GCAL_TYPE_EDIT_CALENDAR_PAGE },
|
||||||
|
};
|
||||||
|
|
||||||
gtk_widget_init_template (GTK_WIDGET (self));
|
gtk_widget_init_template (GTK_WIDGET (self));
|
||||||
|
|
||||||
|
for (gint i = 0; i < N_PAGES; i++)
|
||||||
|
{
|
||||||
|
GcalCalendarManagementPage *page;
|
||||||
|
|
||||||
|
page = g_object_new (pages[i].gtype, NULL);
|
||||||
|
|
||||||
|
adw_navigation_view_add (self->navigation_view, ADW_NAVIGATION_PAGE (page));
|
||||||
|
|
||||||
|
g_signal_connect_object (page,
|
||||||
|
"switch-page",
|
||||||
|
G_CALLBACK (on_page_switched_cb),
|
||||||
|
self,
|
||||||
|
0);
|
||||||
|
|
||||||
|
self->pages[i] = page;
|
||||||
|
}
|
||||||
|
|
||||||
|
set_page (self, "calendars", NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -275,7 +201,7 @@ gcal_calendar_management_dialog_init (GcalCalendarManagementDialog *self)
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
GcalCalendarManagementDialog*
|
GcalCalendarManagementDialog*
|
||||||
gcal_calendar_management_dialog_new (GcalContext *context)
|
gcal_calendar_management_dialog_new (void)
|
||||||
{
|
{
|
||||||
return g_object_new (GCAL_TYPE_CALENDAR_MANAGEMENT_DIALOG, "context", context, NULL);
|
return g_object_new (GCAL_TYPE_CALENDAR_MANAGEMENT_DIALOG, NULL);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ G_DECLARE_FINAL_TYPE (GcalCalendarManagementDialog,
|
|||||||
GCAL, CALENDAR_MANAGEMENT_DIALOG,
|
GCAL, CALENDAR_MANAGEMENT_DIALOG,
|
||||||
AdwDialog)
|
AdwDialog)
|
||||||
|
|
||||||
GcalCalendarManagementDialog* gcal_calendar_management_dialog_new (GcalContext *context);
|
GcalCalendarManagementDialog* gcal_calendar_management_dialog_new (void);
|
||||||
|
|
||||||
|
|
||||||
G_END_DECLS
|
G_END_DECLS
|
||||||
|
|||||||
@@ -22,7 +22,6 @@
|
|||||||
|
|
||||||
#include "gcal-calendar-management-dialog.h"
|
#include "gcal-calendar-management-dialog.h"
|
||||||
#include "gcal-calendar-management-page.h"
|
#include "gcal-calendar-management-page.h"
|
||||||
#include "gcal-context.h"
|
|
||||||
|
|
||||||
G_DEFINE_INTERFACE (GcalCalendarManagementPage, gcal_calendar_management_page, ADW_TYPE_NAVIGATION_PAGE)
|
G_DEFINE_INTERFACE (GcalCalendarManagementPage, gcal_calendar_management_page, ADW_TYPE_NAVIGATION_PAGE)
|
||||||
|
|
||||||
@@ -37,13 +36,6 @@ static guint signals[N_SIGNALS] = { 0, };
|
|||||||
static void
|
static void
|
||||||
gcal_calendar_management_page_default_init (GcalCalendarManagementPageInterface *iface)
|
gcal_calendar_management_page_default_init (GcalCalendarManagementPageInterface *iface)
|
||||||
{
|
{
|
||||||
g_object_interface_install_property (iface,
|
|
||||||
g_param_spec_object ("context",
|
|
||||||
"Context",
|
|
||||||
"Context",
|
|
||||||
GCAL_TYPE_CONTEXT,
|
|
||||||
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
|
|
||||||
|
|
||||||
signals[SWITCH_PAGE] = g_signal_new ("switch-page",
|
signals[SWITCH_PAGE] = g_signal_new ("switch-page",
|
||||||
GCAL_TYPE_CALENDAR_MANAGEMENT_PAGE,
|
GCAL_TYPE_CALENDAR_MANAGEMENT_PAGE,
|
||||||
G_SIGNAL_RUN_LAST,
|
G_SIGNAL_RUN_LAST,
|
||||||
|
|||||||
@@ -37,8 +37,6 @@ struct _GcalCalendarsPage
|
|||||||
AdwToastOverlay *toast_overlay;
|
AdwToastOverlay *toast_overlay;
|
||||||
|
|
||||||
AdwToast *toast;
|
AdwToast *toast;
|
||||||
|
|
||||||
GcalContext *context;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
static void gcal_calendar_management_page_iface_init (GcalCalendarManagementPageInterface *iface);
|
static void gcal_calendar_management_page_iface_init (GcalCalendarManagementPageInterface *iface);
|
||||||
@@ -51,13 +49,6 @@ G_DEFINE_TYPE_WITH_CODE (GcalCalendarsPage, gcal_calendars_page, ADW_TYPE_NAVIGA
|
|||||||
G_IMPLEMENT_INTERFACE (GCAL_TYPE_CALENDAR_MANAGEMENT_PAGE,
|
G_IMPLEMENT_INTERFACE (GCAL_TYPE_CALENDAR_MANAGEMENT_PAGE,
|
||||||
gcal_calendar_management_page_iface_init))
|
gcal_calendar_management_page_iface_init))
|
||||||
|
|
||||||
enum
|
|
||||||
{
|
|
||||||
PROP_0,
|
|
||||||
PROP_CONTEXT,
|
|
||||||
N_PROPS
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Auxiliary methods
|
* Auxiliary methods
|
||||||
@@ -382,64 +373,10 @@ gcal_calendars_page_finalize (GObject *object)
|
|||||||
GcalCalendarsPage *self = (GcalCalendarsPage *)object;
|
GcalCalendarsPage *self = (GcalCalendarsPage *)object;
|
||||||
|
|
||||||
g_clear_object (&self->toast);
|
g_clear_object (&self->toast);
|
||||||
g_clear_object (&self->context);
|
|
||||||
|
|
||||||
G_OBJECT_CLASS (gcal_calendars_page_parent_class)->finalize (object);
|
G_OBJECT_CLASS (gcal_calendars_page_parent_class)->finalize (object);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
|
||||||
gcal_calendars_page_get_property (GObject *object,
|
|
||||||
guint prop_id,
|
|
||||||
GValue *value,
|
|
||||||
GParamSpec *pspec)
|
|
||||||
{
|
|
||||||
GcalCalendarsPage *self = GCAL_CALENDARS_PAGE (object);
|
|
||||||
|
|
||||||
switch (prop_id)
|
|
||||||
{
|
|
||||||
case PROP_CONTEXT:
|
|
||||||
g_value_set_object (value, self->context);
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
gcal_calendars_page_set_property (GObject *object,
|
|
||||||
guint prop_id,
|
|
||||||
const GValue *value,
|
|
||||||
GParamSpec *pspec)
|
|
||||||
{
|
|
||||||
GcalCalendarsPage *self = GCAL_CALENDARS_PAGE (object);
|
|
||||||
|
|
||||||
switch (prop_id)
|
|
||||||
{
|
|
||||||
case PROP_CONTEXT:
|
|
||||||
{
|
|
||||||
g_autoptr (GList) calendars = NULL;
|
|
||||||
GcalManager *manager;
|
|
||||||
GList *l;
|
|
||||||
|
|
||||||
self->context = g_value_dup_object (value);
|
|
||||||
g_assert (self->context != NULL);
|
|
||||||
|
|
||||||
manager = gcal_context_get_manager (self->context);
|
|
||||||
g_signal_connect_object (manager, "calendar-added", G_CALLBACK (on_manager_calendar_added_cb), self, 0);
|
|
||||||
g_signal_connect_object (manager, "calendar-removed", G_CALLBACK (on_manager_calendar_removed_cb), self, 0);
|
|
||||||
|
|
||||||
calendars = gcal_manager_get_calendars (manager);
|
|
||||||
for (l = calendars; l; l = l->next)
|
|
||||||
add_calendar (self, l->data);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
gcal_calendars_page_class_init (GcalCalendarsPageClass *klass)
|
gcal_calendars_page_class_init (GcalCalendarsPageClass *klass)
|
||||||
{
|
{
|
||||||
@@ -447,10 +384,6 @@ gcal_calendars_page_class_init (GcalCalendarsPageClass *klass)
|
|||||||
GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
|
GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
|
||||||
|
|
||||||
object_class->finalize = gcal_calendars_page_finalize;
|
object_class->finalize = gcal_calendars_page_finalize;
|
||||||
object_class->get_property = gcal_calendars_page_get_property;
|
|
||||||
object_class->set_property = gcal_calendars_page_set_property;
|
|
||||||
|
|
||||||
g_object_class_override_property (object_class, PROP_CONTEXT, "context");
|
|
||||||
|
|
||||||
gtk_widget_class_set_template_from_resource (widget_class, "/org/gnome/calendar/ui/gui/calendar-management/gcal-calendars-page.ui");
|
gtk_widget_class_set_template_from_resource (widget_class, "/org/gnome/calendar/ui/gui/calendar-management/gcal-calendars-page.ui");
|
||||||
|
|
||||||
@@ -464,10 +397,22 @@ gcal_calendars_page_class_init (GcalCalendarsPageClass *klass)
|
|||||||
static void
|
static void
|
||||||
gcal_calendars_page_init (GcalCalendarsPage *self)
|
gcal_calendars_page_init (GcalCalendarsPage *self)
|
||||||
{
|
{
|
||||||
|
GcalContext *context = gcal_application_get_context (GCAL_DEFAULT_APPLICATION);
|
||||||
|
GcalManager *manager = gcal_context_get_manager (context);
|
||||||
|
g_autoptr (GList) calendars = NULL;
|
||||||
|
GList *l;
|
||||||
|
|
||||||
gtk_widget_init_template (GTK_WIDGET (self));
|
gtk_widget_init_template (GTK_WIDGET (self));
|
||||||
|
|
||||||
gtk_list_box_set_sort_func (self->listbox,
|
gtk_list_box_set_sort_func (self->listbox,
|
||||||
(GtkListBoxSortFunc) listbox_sort_func,
|
(GtkListBoxSortFunc) listbox_sort_func,
|
||||||
NULL,
|
NULL,
|
||||||
NULL);
|
NULL);
|
||||||
|
|
||||||
|
g_signal_connect_object (manager, "calendar-added", G_CALLBACK (on_manager_calendar_added_cb), self, 0);
|
||||||
|
g_signal_connect_object (manager, "calendar-removed", G_CALLBACK (on_manager_calendar_removed_cb), self, 0);
|
||||||
|
|
||||||
|
calendars = gcal_manager_get_calendars (manager);
|
||||||
|
for (l = calendars; l; l = l->next)
|
||||||
|
add_calendar (self, l->data);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -40,8 +40,6 @@ struct _GcalEditCalendarPage
|
|||||||
GtkWidget *remove_button_row;
|
GtkWidget *remove_button_row;
|
||||||
|
|
||||||
GcalCalendar *calendar;
|
GcalCalendar *calendar;
|
||||||
|
|
||||||
GcalContext *context;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
static void gcal_calendar_management_page_iface_init (GcalCalendarManagementPageInterface *iface);
|
static void gcal_calendar_management_page_iface_init (GcalCalendarManagementPageInterface *iface);
|
||||||
@@ -50,13 +48,6 @@ G_DEFINE_TYPE_WITH_CODE (GcalEditCalendarPage, gcal_edit_calendar_page, ADW_TYPE
|
|||||||
G_IMPLEMENT_INTERFACE (GCAL_TYPE_CALENDAR_MANAGEMENT_PAGE,
|
G_IMPLEMENT_INTERFACE (GCAL_TYPE_CALENDAR_MANAGEMENT_PAGE,
|
||||||
gcal_calendar_management_page_iface_init))
|
gcal_calendar_management_page_iface_init))
|
||||||
|
|
||||||
enum
|
|
||||||
{
|
|
||||||
PROP_0,
|
|
||||||
PROP_CONTEXT,
|
|
||||||
N_PROPS
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Auxiliary methods
|
* Auxiliary methods
|
||||||
@@ -67,12 +58,15 @@ is_goa_calendar (GcalEditCalendarPage *self,
|
|||||||
GcalCalendar *calendar)
|
GcalCalendar *calendar)
|
||||||
{
|
{
|
||||||
g_autoptr (ESource) parent = NULL;
|
g_autoptr (ESource) parent = NULL;
|
||||||
|
GcalContext *context;
|
||||||
GcalManager *manager;
|
GcalManager *manager;
|
||||||
ESource *source;
|
ESource *source;
|
||||||
|
|
||||||
g_assert (calendar && GCAL_IS_CALENDAR (calendar));
|
g_assert (calendar && GCAL_IS_CALENDAR (calendar));
|
||||||
|
|
||||||
manager = gcal_context_get_manager (self->context);
|
context = gcal_application_get_context (GCAL_DEFAULT_APPLICATION);
|
||||||
|
manager = gcal_context_get_manager (context);
|
||||||
|
|
||||||
source = gcal_calendar_get_source (calendar);
|
source = gcal_calendar_get_source (calendar);
|
||||||
parent = gcal_manager_get_source (manager, e_source_get_parent (source));
|
parent = gcal_manager_get_source (manager, e_source_get_parent (source));
|
||||||
|
|
||||||
@@ -374,13 +368,15 @@ on_settings_button_clicked_cb (GtkWidget *button,
|
|||||||
{
|
{
|
||||||
g_autoptr (ESource) parent = NULL;
|
g_autoptr (ESource) parent = NULL;
|
||||||
GApplication *app;
|
GApplication *app;
|
||||||
|
GcalContext *context;
|
||||||
GcalManager *manager;
|
GcalManager *manager;
|
||||||
ESourceGoa *goa;
|
ESourceGoa *goa;
|
||||||
ESource *source;
|
ESource *source;
|
||||||
|
|
||||||
GCAL_ENTRY;
|
GCAL_ENTRY;
|
||||||
|
|
||||||
manager = gcal_context_get_manager (self->context);
|
context = gcal_application_get_context (GCAL_DEFAULT_APPLICATION);
|
||||||
|
manager = gcal_context_get_manager (context);
|
||||||
source = gcal_calendar_get_source (self->calendar);
|
source = gcal_calendar_get_source (self->calendar);
|
||||||
parent = gcal_manager_get_source (manager, e_source_get_parent (source));
|
parent = gcal_manager_get_source (manager, e_source_get_parent (source));
|
||||||
|
|
||||||
@@ -415,6 +411,7 @@ static void
|
|||||||
gcal_edit_calendar_page_deactivate (GcalCalendarManagementPage *page)
|
gcal_edit_calendar_page_deactivate (GcalCalendarManagementPage *page)
|
||||||
{
|
{
|
||||||
GcalEditCalendarPage *self;
|
GcalEditCalendarPage *self;
|
||||||
|
GcalContext *context;
|
||||||
GcalManager *manager;
|
GcalManager *manager;
|
||||||
|
|
||||||
GCAL_ENTRY;
|
GCAL_ENTRY;
|
||||||
@@ -423,7 +420,8 @@ gcal_edit_calendar_page_deactivate (GcalCalendarManagementPage *page)
|
|||||||
|
|
||||||
gcal_calendar_set_name (self->calendar, gtk_editable_get_text (GTK_EDITABLE (self->name_entry)));
|
gcal_calendar_set_name (self->calendar, gtk_editable_get_text (GTK_EDITABLE (self->name_entry)));
|
||||||
|
|
||||||
manager = gcal_context_get_manager (self->context);
|
context = gcal_application_get_context (GCAL_DEFAULT_APPLICATION);
|
||||||
|
manager = gcal_context_get_manager (context);
|
||||||
gcal_manager_save_source (manager, gcal_calendar_get_source (self->calendar));
|
gcal_manager_save_source (manager, gcal_calendar_get_source (self->calendar));
|
||||||
|
|
||||||
g_clear_object (&self->calendar);
|
g_clear_object (&self->calendar);
|
||||||
@@ -460,50 +458,10 @@ gcal_edit_calendar_page_finalize (GObject *object)
|
|||||||
GcalEditCalendarPage *self = (GcalEditCalendarPage *)object;
|
GcalEditCalendarPage *self = (GcalEditCalendarPage *)object;
|
||||||
|
|
||||||
g_clear_object (&self->calendar);
|
g_clear_object (&self->calendar);
|
||||||
g_clear_object (&self->context);
|
|
||||||
|
|
||||||
G_OBJECT_CLASS (gcal_edit_calendar_page_parent_class)->finalize (object);
|
G_OBJECT_CLASS (gcal_edit_calendar_page_parent_class)->finalize (object);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
|
||||||
gcal_edit_calendar_page_get_property (GObject *object,
|
|
||||||
guint prop_id,
|
|
||||||
GValue *value,
|
|
||||||
GParamSpec *pspec)
|
|
||||||
{
|
|
||||||
GcalEditCalendarPage *self = GCAL_EDIT_CALENDAR_PAGE (object);
|
|
||||||
|
|
||||||
switch (prop_id)
|
|
||||||
{
|
|
||||||
case PROP_CONTEXT:
|
|
||||||
g_value_set_object (value, self->context);
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
gcal_edit_calendar_page_set_property (GObject *object,
|
|
||||||
guint prop_id,
|
|
||||||
const GValue *value,
|
|
||||||
GParamSpec *pspec)
|
|
||||||
{
|
|
||||||
GcalEditCalendarPage *self = GCAL_EDIT_CALENDAR_PAGE (object);
|
|
||||||
|
|
||||||
switch (prop_id)
|
|
||||||
{
|
|
||||||
case PROP_CONTEXT:
|
|
||||||
self->context = g_value_dup_object (value);
|
|
||||||
g_assert (self->context != NULL);
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
gcal_edit_calendar_page_class_init (GcalEditCalendarPageClass *klass)
|
gcal_edit_calendar_page_class_init (GcalEditCalendarPageClass *klass)
|
||||||
{
|
{
|
||||||
@@ -512,10 +470,6 @@ gcal_edit_calendar_page_class_init (GcalEditCalendarPageClass *klass)
|
|||||||
|
|
||||||
object_class->dispose = gcal_edit_calendar_page_dispose;
|
object_class->dispose = gcal_edit_calendar_page_dispose;
|
||||||
object_class->finalize = gcal_edit_calendar_page_finalize;
|
object_class->finalize = gcal_edit_calendar_page_finalize;
|
||||||
object_class->get_property = gcal_edit_calendar_page_get_property;
|
|
||||||
object_class->set_property = gcal_edit_calendar_page_set_property;
|
|
||||||
|
|
||||||
g_object_class_override_property (object_class, PROP_CONTEXT, "context");
|
|
||||||
|
|
||||||
gtk_widget_class_set_template_from_resource (widget_class, "/org/gnome/calendar/ui/gui/calendar-management/gcal-edit-calendar-page.ui");
|
gtk_widget_class_set_template_from_resource (widget_class, "/org/gnome/calendar/ui/gui/calendar-management/gcal-edit-calendar-page.ui");
|
||||||
|
|
||||||
|
|||||||
@@ -63,8 +63,6 @@ struct _GcalNewCalendarPage
|
|||||||
GCancellable *cancellable;
|
GCancellable *cancellable;
|
||||||
|
|
||||||
ESource *local_source;
|
ESource *local_source;
|
||||||
|
|
||||||
GcalContext *context;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
static gboolean pulse_web_entry (gpointer data);
|
static gboolean pulse_web_entry (gpointer data);
|
||||||
@@ -81,12 +79,6 @@ G_DEFINE_TYPE_WITH_CODE (GcalNewCalendarPage, gcal_new_calendar_page, ADW_TYPE_N
|
|||||||
G_IMPLEMENT_INTERFACE (GCAL_TYPE_CALENDAR_MANAGEMENT_PAGE,
|
G_IMPLEMENT_INTERFACE (GCAL_TYPE_CALENDAR_MANAGEMENT_PAGE,
|
||||||
gcal_calendar_management_page_iface_init))
|
gcal_calendar_management_page_iface_init))
|
||||||
|
|
||||||
enum
|
|
||||||
{
|
|
||||||
PROP_0,
|
|
||||||
PROP_CONTEXT,
|
|
||||||
N_PROPS
|
|
||||||
};
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Auxiliary methods
|
* Auxiliary methods
|
||||||
@@ -340,9 +332,11 @@ static void
|
|||||||
on_add_button_clicked_cb (GtkWidget *button,
|
on_add_button_clicked_cb (GtkWidget *button,
|
||||||
GcalNewCalendarPage *self)
|
GcalNewCalendarPage *self)
|
||||||
{
|
{
|
||||||
|
GcalContext *context;
|
||||||
GcalManager *manager;
|
GcalManager *manager;
|
||||||
|
|
||||||
manager = gcal_context_get_manager (self->context);
|
context = gcal_application_get_context (GCAL_DEFAULT_APPLICATION);
|
||||||
|
manager = gcal_context_get_manager (context);
|
||||||
|
|
||||||
/* Commit each new remote source */
|
/* Commit each new remote source */
|
||||||
if (self->remote_sources)
|
if (self->remote_sources)
|
||||||
@@ -524,50 +518,10 @@ gcal_new_calendar_page_finalize (GObject *object)
|
|||||||
|
|
||||||
g_cancellable_cancel (self->cancellable);
|
g_cancellable_cancel (self->cancellable);
|
||||||
g_clear_object (&self->cancellable);
|
g_clear_object (&self->cancellable);
|
||||||
g_clear_object (&self->context);
|
|
||||||
|
|
||||||
G_OBJECT_CLASS (gcal_new_calendar_page_parent_class)->finalize (object);
|
G_OBJECT_CLASS (gcal_new_calendar_page_parent_class)->finalize (object);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
|
||||||
gcal_new_calendar_page_get_property (GObject *object,
|
|
||||||
guint prop_id,
|
|
||||||
GValue *value,
|
|
||||||
GParamSpec *pspec)
|
|
||||||
{
|
|
||||||
GcalNewCalendarPage *self = GCAL_NEW_CALENDAR_PAGE (object);
|
|
||||||
|
|
||||||
switch (prop_id)
|
|
||||||
{
|
|
||||||
case PROP_CONTEXT:
|
|
||||||
g_value_set_object (value, self->context);
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
gcal_new_calendar_page_set_property (GObject *object,
|
|
||||||
guint prop_id,
|
|
||||||
const GValue *value,
|
|
||||||
GParamSpec *pspec)
|
|
||||||
{
|
|
||||||
GcalNewCalendarPage *self = GCAL_NEW_CALENDAR_PAGE (object);
|
|
||||||
|
|
||||||
switch (prop_id)
|
|
||||||
{
|
|
||||||
case PROP_CONTEXT:
|
|
||||||
self->context = g_value_dup_object (value);
|
|
||||||
g_assert (self->context != NULL);
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
gcal_new_calendar_page_class_init (GcalNewCalendarPageClass *klass)
|
gcal_new_calendar_page_class_init (GcalNewCalendarPageClass *klass)
|
||||||
{
|
{
|
||||||
@@ -576,10 +530,6 @@ gcal_new_calendar_page_class_init (GcalNewCalendarPageClass *klass)
|
|||||||
|
|
||||||
object_class->dispose = gcal_new_calendar_page_dispose;
|
object_class->dispose = gcal_new_calendar_page_dispose;
|
||||||
object_class->finalize = gcal_new_calendar_page_finalize;
|
object_class->finalize = gcal_new_calendar_page_finalize;
|
||||||
object_class->get_property = gcal_new_calendar_page_get_property;
|
|
||||||
object_class->set_property = gcal_new_calendar_page_set_property;
|
|
||||||
|
|
||||||
g_object_class_override_property (object_class, PROP_CONTEXT, "context");
|
|
||||||
|
|
||||||
gtk_widget_class_set_template_from_resource (widget_class, "/org/gnome/calendar/ui/gui/calendar-management/gcal-new-calendar-page.ui");
|
gtk_widget_class_set_template_from_resource (widget_class, "/org/gnome/calendar/ui/gui/calendar-management/gcal-new-calendar-page.ui");
|
||||||
|
|
||||||
|
|||||||
@@ -538,7 +538,7 @@ on_show_calendars_action_activated (GSimpleAction *action,
|
|||||||
gpointer user_data)
|
gpointer user_data)
|
||||||
{
|
{
|
||||||
GcalWindow *self = GCAL_WINDOW (user_data);
|
GcalWindow *self = GCAL_WINDOW (user_data);
|
||||||
GcalCalendarManagementDialog *dialog = gcal_calendar_management_dialog_new (self->context);
|
GcalCalendarManagementDialog *dialog = gcal_calendar_management_dialog_new ();
|
||||||
|
|
||||||
adw_dialog_present (ADW_DIALOG (dialog), GTK_WIDGET (self));
|
adw_dialog_present (ADW_DIALOG (dialog), GTK_WIDGET (self));
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user