calendar-management-page: Pass GcalCalendar

This commit is contained in:
Georges Basile Stavracas Neto
2019-06-25 14:16:47 -03:00
parent 47bed7bc77
commit 33fc75ca01
6 changed files with 20 additions and 26 deletions
@@ -74,7 +74,7 @@ struct _GcalCalendarManagementDialog
static void on_page_switched_cb (GcalCalendarManagementPage *page,
const gchar *next_page,
gpointer page_data,
GcalCalendar *calendar,
GcalCalendarManagementDialog *self);
G_DEFINE_TYPE (GcalCalendarManagementDialog, gcal_calendar_management_dialog, GTK_TYPE_DIALOG)
@@ -96,7 +96,7 @@ static GParamSpec *properties[N_PROPS] = { NULL, };
static void
set_page (GcalCalendarManagementDialog *self,
const gchar *page_name,
gpointer page_data)
GcalCalendar *calendar)
{
GcalCalendarManagementPage *current_page;
guint i;
@@ -113,7 +113,7 @@ set_page (GcalCalendarManagementDialog *self,
continue;
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),
gcal_calendar_management_page_get_title (page));
@@ -174,12 +174,12 @@ setup_context (GcalCalendarManagementDialog *self)
static void
on_page_switched_cb (GcalCalendarManagementPage *page,
const gchar *next_page,
gpointer page_data,
GcalCalendar *calendar,
GcalCalendarManagementDialog *self)
{
GCAL_ENTRY;
set_page (self, next_page, page_data);
set_page (self, next_page, calendar);
GCAL_EXIT;
}
@@ -51,7 +51,7 @@ gcal_calendar_management_page_default_init (GcalCalendarManagementPageInterface
G_TYPE_NONE,
2,
G_TYPE_STRING,
G_TYPE_POINTER);
GCAL_TYPE_CALENDAR);
}
const gchar*
@@ -74,14 +74,14 @@ gcal_calendar_management_page_get_title (GcalCalendarManagementPage *self)
void
gcal_calendar_management_page_activate (GcalCalendarManagementPage *self,
gpointer page_data)
GcalCalendar *calendar)
{
g_return_if_fail (GCAL_IS_CALENDAR_MANAGEMENT_PAGE (self));
if (GCAL_CALENDAR_MANAGEMENT_PAGE_GET_IFACE (self)->activate)
{
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
gcal_calendar_management_page_switch_page (GcalCalendarManagementPage *self,
const gchar *page_name,
gpointer page_data)
GcalCalendar *calendar)
{
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*
@@ -22,6 +22,8 @@
#include <gtk/gtk.h>
#include "gcal-calendar.h"
G_BEGIN_DECLS
#define GCAL_TYPE_CALENDAR_MANAGEMENT_PAGE (gcal_calendar_management_page_get_type ())
@@ -37,13 +39,13 @@ struct _GcalCalendarManagementPageInterface
const gchar* (*get_title) (GcalCalendarManagementPage *self);
void (*activate) (GcalCalendarManagementPage *self,
gpointer page_data);
GcalCalendar *calendar);
void (*deactivate) (GcalCalendarManagementPage *self);
void (*switch_page) (GcalCalendarManagementPage *self,
const gchar *page_name,
gpointer page_data);
GcalCalendar *calendar);
};
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);
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_switch_page (GcalCalendarManagementPage *self,
const gchar *page_name,
gpointer page_data);
GcalCalendar *calendar);
GtkHeaderBar* gcal_calendar_management_page_get_titlebar (GcalCalendarManagementPage *self);
@@ -360,17 +360,14 @@ gcal_calendars_page_get_title (GcalCalendarManagementPage *page)
static void
gcal_calendars_page_activate (GcalCalendarManagementPage *page,
gpointer page_data)
GcalCalendar *calendar)
{
g_autofree gchar *new_string = NULL;
GcalCalendarsPage *self;
GcalCalendar *calendar;
GCAL_ENTRY;
g_assert (!page_data || GCAL_IS_CALENDAR (page_data));
if (!page_data)
if (!calendar)
GCAL_RETURN ();
self = GCAL_CALENDARS_PAGE (page);
@@ -382,7 +379,6 @@ gcal_calendars_page_activate (GcalCalendarManagementPage *page,
g_clear_object (&self->removed_calendar);
}
calendar = GCAL_CALENDAR (page_data);
self->removed_calendar = g_object_ref (calendar);
/* Remove the listbox entry (if any) */
@@ -304,19 +304,15 @@ gcal_edit_calendar_page_get_title (GcalCalendarManagementPage *page)
static void
gcal_edit_calendar_page_activate (GcalCalendarManagementPage *page,
gpointer data)
GcalCalendar *calendar)
{
GcalEditCalendarPage *self;
GtkHeaderBar *headerbar;
GcalCalendar *calendar;
g_assert (GCAL_IS_CALENDAR (data));
self = GCAL_EDIT_CALENDAR_PAGE (page);
headerbar = gcal_calendar_management_page_get_titlebar (page);
gtk_header_bar_pack_start (headerbar, self->back_button);
calendar = GCAL_CALENDAR (data);
setup_calendar (self, calendar);
}
@@ -710,7 +710,7 @@ gcal_new_calendar_page_get_title (GcalCalendarManagementPage *page)
static void
gcal_new_calendar_page_activate (GcalCalendarManagementPage *page,
gpointer page_data)
GcalCalendar *calendar)
{
GcalNewCalendarPage *self;
GtkHeaderBar *headerbar;