diff options
author | Matthew Barnes <mbarnes@redhat.com> | 2010-03-20 08:32:47 +0800 |
---|---|---|
committer | Matthew Barnes <mbarnes@redhat.com> | 2010-03-20 23:49:46 +0800 |
commit | 8ffcfb4e106bb0081714455239cfe13a524c365f (patch) | |
tree | 4b024139c27a0c44ec915ad531058b834ca6adcb /calendar/gui/dialogs | |
parent | 7c51d1c1a631a4a8daf26dd44a0aed41eb4726e0 (diff) | |
download | gsoc2013-evolution-8ffcfb4e106bb0081714455239cfe13a524c365f.tar gsoc2013-evolution-8ffcfb4e106bb0081714455239cfe13a524c365f.tar.gz gsoc2013-evolution-8ffcfb4e106bb0081714455239cfe13a524c365f.tar.bz2 gsoc2013-evolution-8ffcfb4e106bb0081714455239cfe13a524c365f.tar.lz gsoc2013-evolution-8ffcfb4e106bb0081714455239cfe13a524c365f.tar.xz gsoc2013-evolution-8ffcfb4e106bb0081714455239cfe13a524c365f.tar.zst gsoc2013-evolution-8ffcfb4e106bb0081714455239cfe13a524c365f.zip |
Add extensions to configure calender widgets.
Make ECalendarItem, ECalendarView, ECalModel, EDateEdit, EMeetingStore,
and EMeetingTimeSelector extensible and register extensions to
automatically bind every instance to the appropriate EShellSettings.
Diffstat (limited to 'calendar/gui/dialogs')
-rw-r--r-- | calendar/gui/dialogs/comp-editor-util.c | 26 | ||||
-rw-r--r-- | calendar/gui/dialogs/comp-editor-util.h | 6 | ||||
-rw-r--r-- | calendar/gui/dialogs/event-editor.c | 13 | ||||
-rw-r--r-- | calendar/gui/dialogs/event-page.c | 2 | ||||
-rw-r--r-- | calendar/gui/dialogs/memo-page.c | 1 | ||||
-rw-r--r-- | calendar/gui/dialogs/recurrence-page.c | 34 | ||||
-rw-r--r-- | calendar/gui/dialogs/schedule-page.c | 16 | ||||
-rw-r--r-- | calendar/gui/dialogs/task-details-page.c | 1 | ||||
-rw-r--r-- | calendar/gui/dialogs/task-editor.c | 13 | ||||
-rw-r--r-- | calendar/gui/dialogs/task-page.c | 2 |
10 files changed, 5 insertions, 109 deletions
diff --git a/calendar/gui/dialogs/comp-editor-util.c b/calendar/gui/dialogs/comp-editor-util.c index 271ac5a8cc..cd16b46974 100644 --- a/calendar/gui/dialogs/comp-editor-util.c +++ b/calendar/gui/dialogs/comp-editor-util.c @@ -209,7 +209,6 @@ comp_editor_date_label (CompEditorPageDates *dates, GtkWidget *label) /** * comp_editor_new_date_edit: - * @shell_settings: an #EShellSettings * @show_date: Whether to show a date picker in the widget. * @show_time: Whether to show a time picker in the widget. * @make_time_insensitive: Whether the time field is made insensitive rather @@ -221,15 +220,12 @@ comp_editor_date_label (CompEditorPageDates *dates, GtkWidget *label) * Return value: A newly-created #EDateEdit widget. **/ GtkWidget * -comp_editor_new_date_edit (EShellSettings *shell_settings, - gboolean show_date, +comp_editor_new_date_edit (gboolean show_date, gboolean show_time, gboolean make_time_insensitive) { EDateEdit *dedit; - g_return_val_if_fail (E_IS_SHELL_SETTINGS (shell_settings), NULL); - dedit = E_DATE_EDIT (e_date_edit_new ()); e_date_edit_set_show_date (dedit, show_date); @@ -240,29 +236,9 @@ comp_editor_new_date_edit (EShellSettings *shell_settings, e_date_edit_set_make_time_insensitive (dedit, FALSE); #endif - comp_editor_bind_date_edit_settings (GTK_WIDGET (dedit), shell_settings); - return GTK_WIDGET (dedit); } -void -comp_editor_bind_date_edit_settings (GtkWidget *dateedit, EShellSettings *shell_settings) -{ - g_return_if_fail (dateedit != NULL); - g_return_if_fail (E_IS_DATE_EDIT (dateedit)); - - if (!shell_settings) - shell_settings = e_shell_get_shell_settings (e_shell_get_default ()); - - e_binding_new ( - shell_settings, "cal-show-week-numbers", - dateedit, "show-week-numbers"); - - e_binding_new ( - shell_settings, "cal-week-start-day", - dateedit, "week-start-day"); -} - /* Returns the current time, for EDateEdit widgets and ECalendar items in the dialogs. FIXME: Should probably use the timezone from somewhere in the component diff --git a/calendar/gui/dialogs/comp-editor-util.h b/calendar/gui/dialogs/comp-editor-util.h index 78a8bab33f..6eeb8c5410 100644 --- a/calendar/gui/dialogs/comp-editor-util.h +++ b/calendar/gui/dialogs/comp-editor-util.h @@ -26,7 +26,6 @@ #define _COMP_EDITOR_UTIL_H_ #include <gtk/gtk.h> -#include <shell/e-shell-settings.h> #include "comp-editor-page.h" #include "../e-meeting-attendee.h" @@ -35,13 +34,10 @@ void comp_editor_free_dates (CompEditorPageDates *dates); void comp_editor_date_label (CompEditorPageDates *dates, GtkWidget *label); -GtkWidget * comp_editor_new_date_edit (EShellSettings *shell_settings, - gboolean show_date, +GtkWidget * comp_editor_new_date_edit (gboolean show_date, gboolean show_time, gboolean make_time_insensitive); -void comp_editor_bind_date_edit_settings (GtkWidget *dateedit, EShellSettings *shell_settings); - struct tm comp_editor_get_current_time (GtkObject *object, gpointer data); gchar *comp_editor_strip_categories (const gchar *categories); diff --git a/calendar/gui/dialogs/event-editor.c b/calendar/gui/dialogs/event-editor.c index 23256adff0..1a5f6d67fd 100644 --- a/calendar/gui/dialogs/event-editor.c +++ b/calendar/gui/dialogs/event-editor.c @@ -363,25 +363,12 @@ static void event_editor_constructed (GObject *object) { EventEditorPrivate *priv; - EShellSettings *shell_settings; - EShell *shell; priv = EVENT_EDITOR_GET_PRIVATE (object); - shell = comp_editor_get_shell (COMP_EDITOR (object)); - shell_settings = e_shell_get_shell_settings (shell); - e_binding_new ( object, "client", priv->model, "client"); - - e_binding_new ( - shell_settings, "cal-free-busy-template", - priv->model, "free-busy-template"); - - e_binding_new ( - shell_settings, "cal-timezone", - priv->model, "timezone"); } static void diff --git a/calendar/gui/dialogs/event-page.c b/calendar/gui/dialogs/event-page.c index 7d79a2bfb7..a74cb64991 100644 --- a/calendar/gui/dialogs/event-page.c +++ b/calendar/gui/dialogs/event-page.c @@ -2219,7 +2219,6 @@ get_widgets (EventPage *epage) /* Glade's visibility flag doesn't seem to work for custom widgets */ priv->start_time = GW ("start-time"); - comp_editor_bind_date_edit_settings (priv->start_time, NULL); gtk_widget_show (priv->start_time); priv->time_hour = GW ("time-hour"); @@ -2228,7 +2227,6 @@ get_widgets (EventPage *epage) priv->end_time_combo = GW ("end-time-combobox"); priv->end_time = GW ("end-time"); - comp_editor_bind_date_edit_settings (priv->end_time, NULL); gtk_widget_show_all (priv->time_hour); gtk_widget_hide (priv->end_time); diff --git a/calendar/gui/dialogs/memo-page.c b/calendar/gui/dialogs/memo-page.c index f5c6a26400..269caba5d6 100644 --- a/calendar/gui/dialogs/memo-page.c +++ b/calendar/gui/dialogs/memo-page.c @@ -813,7 +813,6 @@ get_widgets (MemoPage *mpage) #undef GW e_util_set_source_combo_box_list (priv->source_selector, "/apps/evolution/memos/sources"); - comp_editor_bind_date_edit_settings (priv->start_date, NULL); completion = e_category_completion_new (); gtk_entry_set_completion (GTK_ENTRY (priv->categories), completion); diff --git a/calendar/gui/dialogs/recurrence-page.c b/calendar/gui/dialogs/recurrence-page.c index 6bb9f18e28..833ad104e3 100644 --- a/calendar/gui/dialogs/recurrence-page.c +++ b/calendar/gui/dialogs/recurrence-page.c @@ -1339,8 +1339,6 @@ static void make_ending_until_special (RecurrencePage *rpage) { RecurrencePagePrivate *priv = rpage->priv; - EShell *shell; - EShellSettings *shell_settings; CompEditor *editor; CompEditorFlags flags; EDateEdit *de; @@ -1352,13 +1350,9 @@ make_ending_until_special (RecurrencePage *rpage) editor = comp_editor_page_get_editor (COMP_EDITOR_PAGE (rpage)); flags = comp_editor_get_flags (editor); - shell = comp_editor_get_shell (editor); - shell_settings = e_shell_get_shell_settings (shell); - /* Create the widget */ - priv->ending_date_edit = comp_editor_new_date_edit ( - shell_settings, TRUE, FALSE, FALSE); + priv->ending_date_edit = comp_editor_new_date_edit (TRUE, FALSE, FALSE); de = E_DATE_EDIT (priv->ending_date_edit); gtk_container_add (GTK_CONTAINER (priv->ending_special), @@ -2087,14 +2081,10 @@ create_exception_dialog (RecurrencePage *rpage, const gchar *title, GtkWidget ** RecurrencePagePrivate *priv; GtkWidget *dialog, *toplevel; CompEditor *editor; - EShell *shell; - EShellSettings *shell_settings; priv = rpage->priv; editor = comp_editor_page_get_editor (COMP_EDITOR_PAGE (rpage)); - shell = comp_editor_get_shell (editor); - shell_settings = e_shell_get_shell_settings (shell); toplevel = gtk_widget_get_toplevel (priv->main); dialog = gtk_dialog_new_with_buttons (title, GTK_WINDOW (toplevel), @@ -2103,7 +2093,7 @@ create_exception_dialog (RecurrencePage *rpage, const gchar *title, GtkWidget ** GTK_STOCK_OK, GTK_RESPONSE_ACCEPT, NULL); - *date_edit = comp_editor_new_date_edit (shell_settings, TRUE, FALSE, TRUE); + *date_edit = comp_editor_new_date_edit (TRUE, FALSE, TRUE); gtk_widget_show (*date_edit); gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->vbox), *date_edit, FALSE, TRUE, 6); @@ -2259,8 +2249,6 @@ static void init_widgets (RecurrencePage *rpage) { RecurrencePagePrivate *priv; - EShell *shell; - EShellSettings *shell_settings; CompEditor *editor; ECalendar *ecal; GtkAdjustment *adj; @@ -2270,22 +2258,12 @@ init_widgets (RecurrencePage *rpage) priv = rpage->priv; editor = comp_editor_page_get_editor (COMP_EDITOR_PAGE (rpage)); - shell = comp_editor_get_shell (editor); - shell_settings = e_shell_get_shell_settings (shell); /* Recurrence preview */ priv->preview_calendar = e_calendar_new (); ecal = E_CALENDAR (priv->preview_calendar); - e_binding_new ( - shell_settings, "cal-show-week-numbers", - ecal->calitem, "show-week-numbers"); - - e_binding_new ( - shell_settings, "cal-week-start-day", - ecal->calitem, "week-start-day"); - g_signal_connect((ecal->calitem), "date_range_changed", G_CALLBACK (preview_date_range_changed_cb), rpage); @@ -2422,12 +2400,6 @@ GtkWidget *make_exdate_date_edit (void); GtkWidget * make_exdate_date_edit (void) { - EShell *shell; - EShellSettings *shell_settings; - - shell = e_shell_get_default (); - shell_settings = e_shell_get_shell_settings (shell); - - return comp_editor_new_date_edit (shell_settings, TRUE, TRUE, FALSE); + return comp_editor_new_date_edit (TRUE, TRUE, FALSE); } diff --git a/calendar/gui/dialogs/schedule-page.c b/calendar/gui/dialogs/schedule-page.c index 32b6dffab8..2e13cba1b9 100644 --- a/calendar/gui/dialogs/schedule-page.c +++ b/calendar/gui/dialogs/schedule-page.c @@ -380,13 +380,9 @@ SchedulePage * schedule_page_construct (SchedulePage *spage, EMeetingStore *ems) { SchedulePagePrivate *priv = spage->priv; - EShellSettings *shell_settings; - EShell *shell; CompEditor *editor; editor = comp_editor_page_get_editor (COMP_EDITOR_PAGE (spage)); - shell = comp_editor_get_shell (editor); - shell_settings = e_shell_get_shell_settings (shell); priv->builder = gtk_builder_new (); e_load_ui_builder_definition (priv->builder, "schedule-page.ui"); @@ -412,18 +408,6 @@ schedule_page_construct (SchedulePage *spage, EMeetingStore *ems) gtk_widget_show (GTK_WIDGET (priv->sel)); gtk_box_pack_start (GTK_BOX (priv->main), GTK_WIDGET (priv->sel), TRUE, TRUE, 6); - e_binding_new ( - shell_settings, "cal-show-week-numbers", - priv->sel, "show-week-numbers"); - - e_binding_new ( - shell_settings, "cal-use-24-hour-format", - priv->sel, "use-24-hour-format"); - - e_binding_new ( - shell_settings, "cal-week-start-day", - priv->sel, "week-start-day"); - if (!init_widgets (spage)) { g_message ("schedule_page_construct(): " "Could not initialize the widgets!"); diff --git a/calendar/gui/dialogs/task-details-page.c b/calendar/gui/dialogs/task-details-page.c index 4a5b5b094e..c549633eb5 100644 --- a/calendar/gui/dialogs/task-details-page.c +++ b/calendar/gui/dialogs/task-details-page.c @@ -474,7 +474,6 @@ get_widgets (TaskDetailsPage *tdpage) priv->date_completed_label = GW ("date_completed_label"); priv->completed_date = GW ("completed-date"); - comp_editor_bind_date_edit_settings (priv->completed_date, NULL); gtk_widget_show (priv->completed_date); priv->url_label = GW ("url_label"); diff --git a/calendar/gui/dialogs/task-editor.c b/calendar/gui/dialogs/task-editor.c index a3d4baec46..7aaa3c5afe 100644 --- a/calendar/gui/dialogs/task-editor.c +++ b/calendar/gui/dialogs/task-editor.c @@ -202,25 +202,12 @@ static void task_editor_constructed (GObject *object) { TaskEditorPrivate *priv; - EShellSettings *shell_settings; - EShell *shell; priv = TASK_EDITOR_GET_PRIVATE (object); - shell = comp_editor_get_shell (COMP_EDITOR (object)); - shell_settings = e_shell_get_shell_settings (shell); - e_binding_new ( object, "client", priv->model, "client"); - - e_binding_new ( - shell_settings, "cal-free-busy-template", - priv->model, "free-busy-template"); - - e_binding_new ( - shell_settings, "cal-timezone", - priv->model, "timezone"); } static void diff --git a/calendar/gui/dialogs/task-page.c b/calendar/gui/dialogs/task-page.c index 33413250ad..623260cf46 100644 --- a/calendar/gui/dialogs/task-page.c +++ b/calendar/gui/dialogs/task-page.c @@ -1360,10 +1360,8 @@ get_widgets (TaskPage *tpage) /* Glade's visibility flag doesn't seem to work for custom widgets */ priv->due_date = e_builder_get_widget (priv->builder, "due-date"); - comp_editor_bind_date_edit_settings (priv->due_date, NULL); gtk_widget_show (priv->due_date); priv->start_date = e_builder_get_widget (priv->builder, "start-date"); - comp_editor_bind_date_edit_settings (priv->start_date, NULL); gtk_widget_show (priv->start_date); priv->timezone = e_builder_get_widget (priv->builder, "timezone"); |