calendar-management-page: Pass GcalCalendar
This commit is contained in:
@@ -74,7 +74,7 @@ struct _GcalCalendarManagementDialog
|
|||||||
|
|
||||||
static void on_page_switched_cb (GcalCalendarManagementPage *page,
|
static void on_page_switched_cb (GcalCalendarManagementPage *page,
|
||||||
const gchar *next_page,
|
const gchar *next_page,
|
||||||
gpointer page_data,
|
GcalCalendar *calendar,
|
||||||
GcalCalendarManagementDialog *self);
|
GcalCalendarManagementDialog *self);
|
||||||
|
|
||||||
G_DEFINE_TYPE (GcalCalendarManagementDialog, gcal_calendar_management_dialog, GTK_TYPE_DIALOG)
|
G_DEFINE_TYPE (GcalCalendarManagementDialog, gcal_calendar_management_dialog, GTK_TYPE_DIALOG)
|
||||||
@@ -96,7 +96,7 @@ static GParamSpec *properties[N_PROPS] = { NULL, };
|
|||||||
static void
|
static void
|
||||||
set_page (GcalCalendarManagementDialog *self,
|
set_page (GcalCalendarManagementDialog *self,
|
||||||
const gchar *page_name,
|
const gchar *page_name,
|
||||||
gpointer page_data)
|
GcalCalendar *calendar)
|
||||||
{
|
{
|
||||||
GcalCalendarManagementPage *current_page;
|
GcalCalendarManagementPage *current_page;
|
||||||
guint i;
|
guint i;
|
||||||
@@ -113,7 +113,7 @@ set_page (GcalCalendarManagementDialog *self,
|
|||||||
continue;
|
continue;
|
||||||
|
|
||||||
gtk_stack_set_visible_child (GTK_STACK (self->stack), GTK_WIDGET (page));
|
gtk_stack_set_visible_child (GTK_STACK (self->stack), GTK_WIDGET (page));
|
||||||
gcal_calendar_management_page_activate (page, page_data);
|
gcal_calendar_management_page_activate (page, calendar);
|
||||||
|
|
||||||
gtk_header_bar_set_title (GTK_HEADER_BAR (self->headerbar),
|
gtk_header_bar_set_title (GTK_HEADER_BAR (self->headerbar),
|
||||||
gcal_calendar_management_page_get_title (page));
|
gcal_calendar_management_page_get_title (page));
|
||||||
@@ -174,12 +174,12 @@ setup_context (GcalCalendarManagementDialog *self)
|
|||||||
static void
|
static void
|
||||||
on_page_switched_cb (GcalCalendarManagementPage *page,
|
on_page_switched_cb (GcalCalendarManagementPage *page,
|
||||||
const gchar *next_page,
|
const gchar *next_page,
|
||||||
gpointer page_data,
|
GcalCalendar *calendar,
|
||||||
GcalCalendarManagementDialog *self)
|
GcalCalendarManagementDialog *self)
|
||||||
{
|
{
|
||||||
GCAL_ENTRY;
|
GCAL_ENTRY;
|
||||||
|
|
||||||
set_page (self, next_page, page_data);
|
set_page (self, next_page, calendar);
|
||||||
|
|
||||||
GCAL_EXIT;
|
GCAL_EXIT;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -51,7 +51,7 @@ gcal_calendar_management_page_default_init (GcalCalendarManagementPageInterface
|
|||||||
G_TYPE_NONE,
|
G_TYPE_NONE,
|
||||||
2,
|
2,
|
||||||
G_TYPE_STRING,
|
G_TYPE_STRING,
|
||||||
G_TYPE_POINTER);
|
GCAL_TYPE_CALENDAR);
|
||||||
}
|
}
|
||||||
|
|
||||||
const gchar*
|
const gchar*
|
||||||
@@ -74,14 +74,14 @@ gcal_calendar_management_page_get_title (GcalCalendarManagementPage *self)
|
|||||||
|
|
||||||
void
|
void
|
||||||
gcal_calendar_management_page_activate (GcalCalendarManagementPage *self,
|
gcal_calendar_management_page_activate (GcalCalendarManagementPage *self,
|
||||||
gpointer page_data)
|
GcalCalendar *calendar)
|
||||||
{
|
{
|
||||||
g_return_if_fail (GCAL_IS_CALENDAR_MANAGEMENT_PAGE (self));
|
g_return_if_fail (GCAL_IS_CALENDAR_MANAGEMENT_PAGE (self));
|
||||||
|
|
||||||
if (GCAL_CALENDAR_MANAGEMENT_PAGE_GET_IFACE (self)->activate)
|
if (GCAL_CALENDAR_MANAGEMENT_PAGE_GET_IFACE (self)->activate)
|
||||||
{
|
{
|
||||||
g_debug ("Activating %s", G_OBJECT_TYPE_NAME (self));
|
g_debug ("Activating %s", G_OBJECT_TYPE_NAME (self));
|
||||||
GCAL_CALENDAR_MANAGEMENT_PAGE_GET_IFACE (self)->activate (self, page_data);
|
GCAL_CALENDAR_MANAGEMENT_PAGE_GET_IFACE (self)->activate (self, calendar);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -100,11 +100,11 @@ gcal_calendar_management_page_deactivate (GcalCalendarManagementPage *self)
|
|||||||
void
|
void
|
||||||
gcal_calendar_management_page_switch_page (GcalCalendarManagementPage *self,
|
gcal_calendar_management_page_switch_page (GcalCalendarManagementPage *self,
|
||||||
const gchar *page_name,
|
const gchar *page_name,
|
||||||
gpointer page_data)
|
GcalCalendar *calendar)
|
||||||
{
|
{
|
||||||
g_return_if_fail (GCAL_IS_CALENDAR_MANAGEMENT_PAGE (self));
|
g_return_if_fail (GCAL_IS_CALENDAR_MANAGEMENT_PAGE (self));
|
||||||
|
|
||||||
g_signal_emit (self, signals[SWITCH_PAGE], 0, page_name, page_data);
|
g_signal_emit (self, signals[SWITCH_PAGE], 0, page_name, calendar);
|
||||||
}
|
}
|
||||||
|
|
||||||
GtkHeaderBar*
|
GtkHeaderBar*
|
||||||
|
|||||||
@@ -22,6 +22,8 @@
|
|||||||
|
|
||||||
#include <gtk/gtk.h>
|
#include <gtk/gtk.h>
|
||||||
|
|
||||||
|
#include "gcal-calendar.h"
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
G_BEGIN_DECLS
|
||||||
|
|
||||||
#define GCAL_TYPE_CALENDAR_MANAGEMENT_PAGE (gcal_calendar_management_page_get_type ())
|
#define GCAL_TYPE_CALENDAR_MANAGEMENT_PAGE (gcal_calendar_management_page_get_type ())
|
||||||
@@ -37,13 +39,13 @@ struct _GcalCalendarManagementPageInterface
|
|||||||
const gchar* (*get_title) (GcalCalendarManagementPage *self);
|
const gchar* (*get_title) (GcalCalendarManagementPage *self);
|
||||||
|
|
||||||
void (*activate) (GcalCalendarManagementPage *self,
|
void (*activate) (GcalCalendarManagementPage *self,
|
||||||
gpointer page_data);
|
GcalCalendar *calendar);
|
||||||
|
|
||||||
void (*deactivate) (GcalCalendarManagementPage *self);
|
void (*deactivate) (GcalCalendarManagementPage *self);
|
||||||
|
|
||||||
void (*switch_page) (GcalCalendarManagementPage *self,
|
void (*switch_page) (GcalCalendarManagementPage *self,
|
||||||
const gchar *page_name,
|
const gchar *page_name,
|
||||||
gpointer page_data);
|
GcalCalendar *calendar);
|
||||||
};
|
};
|
||||||
|
|
||||||
const gchar* gcal_calendar_management_page_get_name (GcalCalendarManagementPage *self);
|
const gchar* gcal_calendar_management_page_get_name (GcalCalendarManagementPage *self);
|
||||||
@@ -51,13 +53,13 @@ const gchar* gcal_calendar_management_page_get_name (GcalCalendarMa
|
|||||||
const gchar* gcal_calendar_management_page_get_title (GcalCalendarManagementPage *self);
|
const gchar* gcal_calendar_management_page_get_title (GcalCalendarManagementPage *self);
|
||||||
|
|
||||||
void gcal_calendar_management_page_activate (GcalCalendarManagementPage *self,
|
void gcal_calendar_management_page_activate (GcalCalendarManagementPage *self,
|
||||||
gpointer page_data);
|
GcalCalendar *calendar);
|
||||||
|
|
||||||
void gcal_calendar_management_page_deactivate (GcalCalendarManagementPage *self);
|
void gcal_calendar_management_page_deactivate (GcalCalendarManagementPage *self);
|
||||||
|
|
||||||
void gcal_calendar_management_page_switch_page (GcalCalendarManagementPage *self,
|
void gcal_calendar_management_page_switch_page (GcalCalendarManagementPage *self,
|
||||||
const gchar *page_name,
|
const gchar *page_name,
|
||||||
gpointer page_data);
|
GcalCalendar *calendar);
|
||||||
|
|
||||||
GtkHeaderBar* gcal_calendar_management_page_get_titlebar (GcalCalendarManagementPage *self);
|
GtkHeaderBar* gcal_calendar_management_page_get_titlebar (GcalCalendarManagementPage *self);
|
||||||
|
|
||||||
|
|||||||
@@ -360,17 +360,14 @@ gcal_calendars_page_get_title (GcalCalendarManagementPage *page)
|
|||||||
|
|
||||||
static void
|
static void
|
||||||
gcal_calendars_page_activate (GcalCalendarManagementPage *page,
|
gcal_calendars_page_activate (GcalCalendarManagementPage *page,
|
||||||
gpointer page_data)
|
GcalCalendar *calendar)
|
||||||
{
|
{
|
||||||
g_autofree gchar *new_string = NULL;
|
g_autofree gchar *new_string = NULL;
|
||||||
GcalCalendarsPage *self;
|
GcalCalendarsPage *self;
|
||||||
GcalCalendar *calendar;
|
|
||||||
|
|
||||||
GCAL_ENTRY;
|
GCAL_ENTRY;
|
||||||
|
|
||||||
g_assert (!page_data || GCAL_IS_CALENDAR (page_data));
|
if (!calendar)
|
||||||
|
|
||||||
if (!page_data)
|
|
||||||
GCAL_RETURN ();
|
GCAL_RETURN ();
|
||||||
|
|
||||||
self = GCAL_CALENDARS_PAGE (page);
|
self = GCAL_CALENDARS_PAGE (page);
|
||||||
@@ -382,7 +379,6 @@ gcal_calendars_page_activate (GcalCalendarManagementPage *page,
|
|||||||
g_clear_object (&self->removed_calendar);
|
g_clear_object (&self->removed_calendar);
|
||||||
}
|
}
|
||||||
|
|
||||||
calendar = GCAL_CALENDAR (page_data);
|
|
||||||
self->removed_calendar = g_object_ref (calendar);
|
self->removed_calendar = g_object_ref (calendar);
|
||||||
|
|
||||||
/* Remove the listbox entry (if any) */
|
/* Remove the listbox entry (if any) */
|
||||||
|
|||||||
@@ -304,19 +304,15 @@ gcal_edit_calendar_page_get_title (GcalCalendarManagementPage *page)
|
|||||||
|
|
||||||
static void
|
static void
|
||||||
gcal_edit_calendar_page_activate (GcalCalendarManagementPage *page,
|
gcal_edit_calendar_page_activate (GcalCalendarManagementPage *page,
|
||||||
gpointer data)
|
GcalCalendar *calendar)
|
||||||
{
|
{
|
||||||
GcalEditCalendarPage *self;
|
GcalEditCalendarPage *self;
|
||||||
GtkHeaderBar *headerbar;
|
GtkHeaderBar *headerbar;
|
||||||
GcalCalendar *calendar;
|
|
||||||
|
|
||||||
g_assert (GCAL_IS_CALENDAR (data));
|
|
||||||
|
|
||||||
self = GCAL_EDIT_CALENDAR_PAGE (page);
|
self = GCAL_EDIT_CALENDAR_PAGE (page);
|
||||||
headerbar = gcal_calendar_management_page_get_titlebar (page);
|
headerbar = gcal_calendar_management_page_get_titlebar (page);
|
||||||
gtk_header_bar_pack_start (headerbar, self->back_button);
|
gtk_header_bar_pack_start (headerbar, self->back_button);
|
||||||
|
|
||||||
calendar = GCAL_CALENDAR (data);
|
|
||||||
setup_calendar (self, calendar);
|
setup_calendar (self, calendar);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -710,7 +710,7 @@ gcal_new_calendar_page_get_title (GcalCalendarManagementPage *page)
|
|||||||
|
|
||||||
static void
|
static void
|
||||||
gcal_new_calendar_page_activate (GcalCalendarManagementPage *page,
|
gcal_new_calendar_page_activate (GcalCalendarManagementPage *page,
|
||||||
gpointer page_data)
|
GcalCalendar *calendar)
|
||||||
{
|
{
|
||||||
GcalNewCalendarPage *self;
|
GcalNewCalendarPage *self;
|
||||||
GtkHeaderBar *headerbar;
|
GtkHeaderBar *headerbar;
|
||||||
|
|||||||
Reference in New Issue
Block a user