aboutsummaryrefslogtreecommitdiffstats
path: root/calendar
diff options
context:
space:
mode:
Diffstat (limited to 'calendar')
-rw-r--r--calendar/gui/alarm-notify/alarm-queue.c42
-rw-r--r--calendar/gui/alarm-notify/alarm.c3
-rw-r--r--calendar/gui/apps_evolution_calendar.schemas.in26
-rw-r--r--calendar/gui/calendar-config-keys.h5
-rw-r--r--calendar/gui/dialogs/cal-prefs-dialog.c42
-rw-r--r--calendar/gui/dialogs/cal-prefs-dialog.h2
-rw-r--r--calendar/gui/dialogs/cal-prefs-dialog.ui518
-rw-r--r--calendar/gui/dialogs/comp-editor-util.c26
-rw-r--r--calendar/gui/dialogs/comp-editor-util.h6
-rw-r--r--calendar/gui/dialogs/comp-editor.c132
-rw-r--r--calendar/gui/dialogs/comp-editor.h8
-rw-r--r--calendar/gui/dialogs/copy-source-dialog.c14
-rw-r--r--calendar/gui/dialogs/event-editor.c75
-rw-r--r--calendar/gui/dialogs/event-page.c49
-rw-r--r--calendar/gui/dialogs/event-page.h2
-rw-r--r--calendar/gui/dialogs/memo-page.c1
-rw-r--r--calendar/gui/dialogs/recurrence-page.c34
-rw-r--r--calendar/gui/dialogs/schedule-page.c16
-rw-r--r--calendar/gui/dialogs/task-details-page.c1
-rw-r--r--calendar/gui/dialogs/task-editor.c19
-rw-r--r--calendar/gui/dialogs/task-page.c2
-rw-r--r--calendar/gui/e-cal-model-calendar.c8
-rw-r--r--calendar/gui/e-cal-model-calendar.h4
-rw-r--r--calendar/gui/e-cal-model-memos.c8
-rw-r--r--calendar/gui/e-cal-model-memos.h2
-rw-r--r--calendar/gui/e-cal-model-tasks.c30
-rw-r--r--calendar/gui/e-cal-model-tasks.h2
-rw-r--r--calendar/gui/e-cal-model.c81
-rw-r--r--calendar/gui/e-cal-model.h2
-rw-r--r--calendar/gui/e-calendar-view.c7
-rw-r--r--calendar/gui/e-day-view.c48
-rw-r--r--calendar/gui/e-meeting-store.c51
-rw-r--r--calendar/gui/e-meeting-time-sel.c11
-rw-r--r--calendar/gui/e-week-view.c10
-rw-r--r--calendar/gui/gnome-cal.c63
-rw-r--r--calendar/gui/gnome-cal.h5
36 files changed, 551 insertions, 804 deletions
diff --git a/calendar/gui/alarm-notify/alarm-queue.c b/calendar/gui/alarm-notify/alarm-queue.c
index 9662c6231e..ae6eb3e172 100644
--- a/calendar/gui/alarm-notify/alarm-queue.c
+++ b/calendar/gui/alarm-notify/alarm-queue.c
@@ -183,6 +183,25 @@ message_push (Message *msg)
msg->func (msg);
}
+/*
+ * use a static ring-buffer so we can call this twice
+ * in a printf without getting nonsense results.
+ */
+static const char *
+e_ctime (const time_t *timep)
+{
+ static char *buffer[4] = { 0, };
+ static int next = 0;
+ const char *ret;
+
+ g_free (buffer[next]);
+ ret = buffer[next++] = g_strdup (ctime (timep));
+ if (next >= G_N_ELEMENTS (buffer))
+ next = 0;
+
+ return ret;
+}
+
/* Queues an alarm trigger for midnight so that we can load the next day's worth
* of alarms.
*/
@@ -199,7 +218,7 @@ queue_midnight_refresh (void)
zone = config_data_get_timezone ();
midnight = time_day_end_with_zone (time (NULL), zone);
- d(printf("%s:%d (queue_midnight_refresh) - Refresh at %s \n",__FILE__, __LINE__, ctime(&midnight)));
+ d(printf("%s:%d (queue_midnight_refresh) - Refresh at %s \n",__FILE__, __LINE__, e_ctime(&midnight)));
midnight_refresh_id = alarm_add (midnight, midnight_refresh_cb, NULL, NULL);
if (!midnight_refresh_id) {
@@ -471,7 +490,7 @@ add_component_alarms (ClientAlarms *ca, ECalComponentAlarms *alarms)
alarm_id = alarm_add (instance->trigger, alarm_trigger_cb, cqa, NULL);
if (!alarm_id) {
- d(printf("%s:%d (add_component_alarms) - Could not schedule a trigger for %s. Discarding \n",__FILE__, __LINE__, ctime(&(instance->trigger))));
+ d(printf("%s:%d (add_component_alarms) - Could not schedule a trigger for %s. Discarding \n",__FILE__, __LINE__, e_ctime(&(instance->trigger))));
continue;
}
@@ -482,7 +501,7 @@ add_component_alarms (ClientAlarms *ca, ECalComponentAlarms *alarms)
qa->snooze = FALSE;
cqa->queued_alarms = g_slist_prepend (cqa->queued_alarms, qa);
- d(printf("%s:%d (add_component_alarms) - Adding alarm %p %p at %s %s\n",__FILE__, __LINE__, qa, alarm_id, ctime (&(instance->trigger)), ctime(&tnow)));
+ d(printf("%s:%d (add_component_alarms) - Adding alarm %p %p at %s %s\n",__FILE__, __LINE__, qa, alarm_id, ctime (&(instance->trigger)), e_ctime(&tnow)));
}
id = e_cal_component_get_id (alarms->comp);
@@ -571,7 +590,8 @@ load_alarms_for_today (ClientAlarms *ca)
from = MAX (config_data_get_last_notification_time (ca->client) + 1, day_start);
day_end = time_day_end_with_zone (now, zone);
- d(printf("%s:%d (load_alarms_for_today) - From %s to %s\n",__FILE__, __LINE__, ctime (&from), ctime(&day_end)));
+ d(printf("%s:%d (load_alarms_for_today) - From %s to %s\n",__FILE__, __LINE__,
+ g_strdup (ctime (&from)), g_strdup (e_ctime(&day_end))));
load_alarms (ca, from, day_end);
}
@@ -707,7 +727,7 @@ query_objects_changed_async (struct _query_msg *msg)
day_end = time_day_end_with_zone (time (NULL), zone);
- d(printf("%s:%d (query_objects_changed_async) - Querying for object between %s to %s\n",__FILE__, __LINE__, ctime(&from), ctime(&day_end)));
+ d(printf("%s:%d (query_objects_changed_async) - Querying for object between %s to %s\n",__FILE__, __LINE__, e_ctime(&from), e_ctime(&day_end)));
for (l = objects; l != NULL; l = l->next) {
ECalComponentId *id;
@@ -771,7 +791,7 @@ query_objects_changed_async (struct _query_msg *msg)
alarm_id = alarm_add (instance->trigger, alarm_trigger_cb, cqa, NULL);
if (!alarm_id) {
- d(printf("%s:%d (query_objects_changed_async) -Unable to schedule trigger for %s \n",__FILE__, __LINE__, ctime(&(instance->trigger))));
+ d(printf("%s:%d (query_objects_changed_async) -Unable to schedule trigger for %s \n",__FILE__, __LINE__, e_ctime(&(instance->trigger))));
continue;
}
@@ -869,14 +889,14 @@ create_snooze (CompQueuedAlarms *cqa, gpointer alarm_id, gint snooze_mins)
new_id = alarm_add (t, alarm_trigger_cb, cqa, NULL);
if (!new_id) {
- d(printf("%s:%d (create_snooze) -Unable to schedule trigger for %s \n",__FILE__, __LINE__, ctime(&t)));
+ d(printf("%s:%d (create_snooze) -Unable to schedule trigger for %s \n",__FILE__, __LINE__, e_ctime(&t)));
return;
}
orig_qa->instance->trigger = t;
orig_qa->alarm_id = new_id;
orig_qa->snooze = TRUE;
- d(printf("%s:%d (create_snooze) - Adding a alarm at %s\n",__FILE__, __LINE__, ctime(&t)));
+ d(printf("%s:%d (create_snooze) - Adding a alarm at %s\n",__FILE__, __LINE__, e_ctime(&t)));
}
/* Launches a component editor for a component */
@@ -1189,7 +1209,7 @@ notify_dialog_cb (AlarmNotifyResult result, gint snooze_mins, gpointer data)
GtkTreeIter iter;
GtkTreeModel *model = NULL;
- /* We can` also use tray_data->iter */
+ /* We can also use tray_data->iter */
if (gtk_tree_selection_get_selected (selection, &model, &iter)) {
gtk_list_store_remove (GTK_LIST_STORE (model), &iter);
if (!gtk_tree_model_get_iter_first (model, &iter)) {
@@ -1833,7 +1853,7 @@ alarm_queue_init (gpointer data)
if (config_data_get_last_notification_time (NULL) == -1) {
time_t tmval = time (NULL);
- d(printf("%s:%d (alarm_queue_init) - Setting last notification time to %s\n",__FILE__, __LINE__, ctime(&tmval)));
+ d(printf("%s:%d (alarm_queue_init) - Setting last notification time to %s\n",__FILE__, __LINE__, e_ctime(&tmval)));
config_data_set_last_notification_time (NULL, tmval);
}
@@ -2139,7 +2159,7 @@ update_cqa (CompQueuedAlarms *cqa, ECalComponent *newcomp)
from = time_day_begin_with_zone (time (NULL), zone);
to = time_day_end_with_zone (time (NULL), zone);
- d(printf("%s:%d (update_cqa) - Generating alarms between %s and %s\n",__FILE__, __LINE__, ctime(&from), ctime(&to)));
+ d(printf("%s:%d (update_cqa) - Generating alarms between %s and %s\n",__FILE__, __LINE__, e_ctime(&from), e_ctime(&to)));
alarms = e_cal_util_generate_alarms_for_comp (newcomp, from, to, omit,
e_cal_resolve_tzid_cb, cqa->parent_client->client, zone);
diff --git a/calendar/gui/alarm-notify/alarm.c b/calendar/gui/alarm-notify/alarm.c
index 14f66a68fb..a4be16bd69 100644
--- a/calendar/gui/alarm-notify/alarm.c
+++ b/calendar/gui/alarm-notify/alarm.c
@@ -152,7 +152,8 @@ setup_timeout (void)
now = time (NULL);
/* Add the time out */
- d(g_message ("Setting timeout for %d %lu %lu", diff, ar->trigger, now));
+ d(g_message ("Setting timeout for %d.%2d (from now) %lu %lu",
+ diff / 60, diff % 60, ar->trigger, now));
d(g_message (" %s", ctime (&ar->trigger)));
d(g_message (" %s", ctime (&now)));
timeout_id = g_timeout_add_seconds (diff, alarm_ready_cb, NULL);
diff --git a/calendar/gui/apps_evolution_calendar.schemas.in b/calendar/gui/apps_evolution_calendar.schemas.in
index 38d5525b24..ea33ddc1ca 100644
--- a/calendar/gui/apps_evolution_calendar.schemas.in
+++ b/calendar/gui/apps_evolution_calendar.schemas.in
@@ -284,7 +284,7 @@
<applyto>/apps/evolution/calendar/display/date_navigator_pane_position</applyto>
<owner>evolution-calendar</owner>
<type>int</type>
- <default>150</default>
+ <default>200</default>
<locale name="C">
<short>Month view vertical pane position </short>
<long>Position of the vertical pane, between the calendar lists and the date navigator calendar.</long>
@@ -666,14 +666,14 @@
</schema>
<schema>
- <key>/schemas/apps/evolution/calendar/display/day_view_show_week_number</key>
- <applyto>/apps/evolution/calendar/display/day_view_show_week_number</applyto>
+ <key>/schemas/apps/evolution/calendar/display/show_week_numbers</key>
+ <applyto>/apps/evolution/calendar/display/show_week_numbers</applyto>
<owner>evolution-calendar</owner>
<type>bool</type>
<default>false</default>
<locale name="C">
- <short>Show week number in Day and Work Week View</short>
- <long>Whether to show week number in the Day and Work Week View.</long>
+ <short>Show week numbers in Day View, Work Week View, and Date Navigator</short>
+ <long>Whether to show week numbers in various places in the Calendar.</long>
</locale>
</schema>
@@ -682,27 +682,13 @@
<applyto>/apps/evolution/calendar/display/month_scroll_by_week</applyto>
<owner>evolution-calendar</owner>
<type>bool</type>
- <default>false</default>
+ <default>true</default>
<locale name="C">
<short>Scroll Month View by a week</short>
<long>Whether to scroll a Month View by a week, not by a month.</long>
</locale>
</schema>
- <!-- Date navigator -->
-
- <schema>
- <key>/schemas/apps/evolution/calendar/date_navigator/show_week_numbers</key>
- <applyto>/apps/evolution/calendar/date_navigator/show_week_numbers</applyto>
- <owner>evolution-calendar</owner>
- <type>bool</type>
- <default>false</default>
- <locale name="C">
- <short>Show week numbers in date navigator</short>
- <long>Whether to show week numbers in the date navigator.</long>
- </locale>
- </schema>
-
<!-- Alarm notification -->
<schema>
diff --git a/calendar/gui/calendar-config-keys.h b/calendar/gui/calendar-config-keys.h
index 9afa8dc7e4..568e211acf 100644
--- a/calendar/gui/calendar-config-keys.h
+++ b/calendar/gui/calendar-config-keys.h
@@ -53,14 +53,11 @@ G_BEGIN_DECLS
#define CALENDAR_CONFIG_COMPRESS_WEEKEND CALENDAR_CONFIG_PREFIX "/display/compress_weekend"
#define CALENDAR_CONFIG_SHOW_EVENT_END CALENDAR_CONFIG_PREFIX "/display/show_event_end"
#define CALENDAR_CONFIG_WORKING_DAYS CALENDAR_CONFIG_PREFIX "/display/working_days"
-#define CALENDAR_CONFIG_DV_WEEK_NUMBER CALENDAR_CONFIG_PREFIX "/display/day_view_show_week_number"
+#define CALENDAR_CONFIG_SHOW_WEEK_NUMBERS CALENDAR_CONFIG_PREFIX "/display/show_week_numbers"
#define CALENDAR_CONFIG_DAY_SECOND_ZONE CALENDAR_CONFIG_PREFIX "/display/day_second_zone"
#define CALENDAR_CONFIG_DAY_SECOND_ZONES_LIST CALENDAR_CONFIG_PREFIX "/display/day_second_zones"
#define CALENDAR_CONFIG_DAY_SECOND_ZONES_MAX CALENDAR_CONFIG_PREFIX "/display/day_second_zones_max"
-/* Date navigator settings */
-#define CALENDAR_CONFIG_DN_SHOW_WEEK_NUMBERS CALENDAR_CONFIG_PREFIX "/date_navigator/show_week_numbers"
-
/* Task display settings */
#define CALENDAR_CONFIG_TASKS_SELECTED_TASKS CALENDAR_CONFIG_PREFIX "/tasks/selected_tasks"
#define CALENDAR_CONFIG_PRIMARY_TASKS CALENDAR_CONFIG_PREFIX "/tasks/primary_tasks"
diff --git a/calendar/gui/dialogs/cal-prefs-dialog.c b/calendar/gui/dialogs/cal-prefs-dialog.c
index 35b946137f..e925838e58 100644
--- a/calendar/gui/dialogs/cal-prefs-dialog.c
+++ b/calendar/gui/dialogs/cal-prefs-dialog.c
@@ -36,6 +36,7 @@
#include "e-util/e-datetime-format.h"
#include "e-util/e-dialog-widgets.h"
#include "e-util/e-util-private.h"
+#include "shell/e-shell-utils.h"
#include <glib/gi18n.h>
#include <string.h>
@@ -739,16 +740,11 @@ calendar_prefs_dialog_construct (CalendarPrefsDialog *prefs,
shell_settings, "cal-compress-weekend",
widget, "active");
- widget = e_builder_get_widget (prefs->builder, "dnav_show_week_no");
+ widget = e_builder_get_widget (prefs->builder, "show_week_numbers");
e_mutual_binding_new (
shell_settings, "cal-show-week-numbers",
widget, "active");
- widget = e_builder_get_widget (prefs->builder, "dview_show_week_no");
- e_mutual_binding_new (
- shell_settings, "cal-day-view-show-week-numbers",
- widget, "active");
-
prefs->month_scroll_by_week = e_builder_get_widget (prefs->builder, "month_scroll_by_week");
widget = e_builder_get_widget (prefs->builder, "tasks_due_today_color");
@@ -780,16 +776,42 @@ calendar_prefs_dialog_construct (CalendarPrefsDialog *prefs,
e_mutual_binding_new (
shell_settings, "cal-free-busy-template",
widget, "text");
- target = e_cal_config_target_new_prefs (ec, prefs->gconf);
- e_config_set_target ((EConfig *)ec, (EConfigTarget *) target);
- toplevel = e_config_create_widget ((EConfig *)ec);
- gtk_container_add (GTK_CONTAINER (prefs), toplevel);
/* date/time format */
table = e_builder_get_widget (prefs->builder, "datetime_format_table");
e_datetime_format_add_setup_widget (table, 0, "calendar", "table", DTFormatKindDateTime, _("Time and date:"));
e_datetime_format_add_setup_widget (table, 1, "calendar", "table", DTFormatKindDate, _("Date only:"));
+ /* Hide senseless preferences when running in Express mode */
+ e_shell_hide_widgets_for_express_mode (shell, prefs->builder,
+ "label_second_zone",
+ "hbox_second_zone",
+ "timezone",
+ "timezone_label",
+ "hbox_use_system_timezone",
+ "hbox_time_divisions",
+ "show_end_times",
+ "month_scroll_by_week",
+ NULL);
+
+ /* HACK: GTK+ 2.18 and 2.20 has a GtkTable which includes row/column spacing even for empty rows/columns.
+ * When Evo runs in Express mode, we hide all the rows in the Time section of the calendar's General
+ * preferences page. However, due to that behavior in GTK+, we get a lot of extra spacing in that
+ * section. Since we know that in Express mode we only leave a single row visible, we'll make the
+ * table's row spacing equal to 0 in that case.
+ */
+ if (e_shell_get_express_mode (shell)) {
+ widget = e_builder_get_widget (prefs->builder, "time");
+ gtk_table_set_row_spacings (GTK_TABLE (widget), 0);
+ }
+
+ /* Hook up and add the toplevel widget */
+
+ target = e_cal_config_target_new_prefs (ec, prefs->gconf);
+ e_config_set_target ((EConfig *)ec, (EConfigTarget *) target);
+ toplevel = e_config_create_widget ((EConfig *)ec);
+ gtk_container_add (GTK_CONTAINER (prefs), toplevel);
+
show_config (prefs);
/* FIXME: weakref? */
setup_changes (prefs);
diff --git a/calendar/gui/dialogs/cal-prefs-dialog.h b/calendar/gui/dialogs/cal-prefs-dialog.h
index 14011d8403..1ae585a0e8 100644
--- a/calendar/gui/dialogs/cal-prefs-dialog.h
+++ b/calendar/gui/dialogs/cal-prefs-dialog.h
@@ -79,8 +79,6 @@ struct _CalendarPrefsDialog {
GtkWidget *time_divisions;
GtkWidget *show_end_times;
GtkWidget *compress_weekend;
- GtkWidget *dnav_show_week_no;
- GtkWidget *dview_show_week_no;
GtkWidget *month_scroll_by_week;
GtkWidget *tasks_hide_completed;
GtkWidget *tasks_hide_completed_interval;
diff --git a/calendar/gui/dialogs/cal-prefs-dialog.ui b/calendar/gui/dialogs/cal-prefs-dialog.ui
index d3478a2590..b94803fc43 100644
--- a/calendar/gui/dialogs/cal-prefs-dialog.ui
+++ b/calendar/gui/dialogs/cal-prefs-dialog.ui
@@ -1,31 +1,27 @@
<?xml version="1.0"?>
<interface>
+ <requires lib="gtk+" version="2.16"/>
+ <!-- interface-requires evolution 0.0 -->
+ <!-- interface-naming-policy toplevel-contextual -->
<object class="GtkAdjustment" id="adjustment1">
<property name="upper">9999</property>
- <property name="lower">0</property>
- <property name="page_increment">10</property>
<property name="step_increment">1</property>
- <property name="page_size">0</property>
- <property name="value">0</property>
+ <property name="page_increment">10</property>
</object>
<object class="GtkAdjustment" id="adjustment2">
<property name="upper">9999</property>
- <property name="lower">0</property>
- <property name="page_increment">10</property>
<property name="step_increment">1</property>
- <property name="page_size">0</property>
- <property name="value">0</property>
+ <property name="page_increment">10</property>
</object>
<object class="GtkAdjustment" id="adjustment3">
+ <property name="value">1</property>
<property name="upper">9999</property>
- <property name="lower">0</property>
- <property name="page_increment">10</property>
<property name="step_increment">1</property>
- <property name="page_size">0</property>
- <property name="value">1</property>
+ <property name="page_increment">10</property>
</object>
<object class="GtkListStore" id="model1">
<columns>
+ <!-- column-name gchararray -->
<column type="gchararray"/>
</columns>
<data>
@@ -54,6 +50,7 @@
</object>
<object class="GtkListStore" id="model2">
<columns>
+ <!-- column-name gchararray -->
<column type="gchararray"/>
</columns>
<data>
@@ -70,6 +67,7 @@
</object>
<object class="GtkListStore" id="model3">
<columns>
+ <!-- column-name gchararray -->
<column type="gchararray"/>
</columns>
<data>
@@ -86,6 +84,7 @@
</object>
<object class="GtkListStore" id="model4">
<columns>
+ <!-- column-name gchararray -->
<column type="gchararray"/>
</columns>
<data>
@@ -108,6 +107,7 @@
</object>
<object class="GtkListStore" id="model5">
<columns>
+ <!-- column-name gchararray -->
<column type="gchararray"/>
</columns>
<data>
@@ -122,8 +122,6 @@
</row>
</data>
</object>
- <!-- interface-requires gtk+ 2.16 -->
- <!-- interface-naming-policy toplevel-contextual -->
<object class="GtkNotebook" id="toplevel-notebook">
<property name="visible">True</property>
<property name="can_focus">True</property>
@@ -164,12 +162,12 @@
<child>
<object class="GtkTable" id="time">
<property name="visible">True</property>
- <property name="n_rows">5</property>
+ <property name="n_rows">4</property>
<property name="n_columns">2</property>
<property name="column_spacing">6</property>
<property name="row_spacing">6</property>
<child>
- <object class="GtkLabel" id="label63">
+ <object class="GtkLabel" id="label_second_zone">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Se_cond zone:</property>
@@ -177,14 +175,14 @@
<property name="mnemonic_widget">day_second_zone</property>
</object>
<packing>
- <property name="top_attach">4</property>
- <property name="bottom_attach">5</property>
+ <property name="top_attach">3</property>
+ <property name="bottom_attach">4</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"/>
+ <property name="y_options"></property>
</packing>
</child>
<child>
- <object class="GtkHBox" id="hbox25">
+ <object class="GtkHBox" id="hbox_second_zone">
<property name="visible">True</property>
<child>
<object class="GtkButton" id="day_second_zone">
@@ -214,32 +212,48 @@
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
- <property name="top_attach">4</property>
- <property name="bottom_attach">5</property>
+ <property name="top_attach">3</property>
+ <property name="bottom_attach">4</property>
<property name="x_options">GTK_FILL</property>
<property name="y_options">GTK_FILL</property>
</packing>
</child>
<child>
- <object class="GtkLabel" id="label11">
+ <object class="ETimezoneEntry" id="timezone">
+ <property name="visible">True</property>
+ <accessibility>
+ <relation type="labelled-by" target="timezone_label"/>
+ </accessibility>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">2</property>
+ <property name="bottom_attach">3</property>
+ <property name="y_options">GTK_FILL</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="timezone_label">
<property name="visible">True</property>
<property name="xalign">0</property>
- <property name="label" translatable="yes">Time format:</property>
+ <property name="label" translatable="yes">Time _zone:</property>
+ <property name="use_underline">True</property>
+ <property name="mnemonic_widget">timezone</property>
</object>
<packing>
- <property name="top_attach">3</property>
- <property name="bottom_attach">4</property>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"/>
+ <property name="y_options"></property>
</packing>
</child>
<child>
- <object class="GtkHBox" id="hbox4">
+ <object class="GtkHBox" id="hbox_use_system_timezone">
<property name="visible">True</property>
- <property name="spacing">6</property>
<child>
- <object class="GtkRadioButton" id="use_12_hour">
- <property name="label" translatable="yes">_12 hour (AM/PM)</property>
+ <object class="GtkCheckButton" id="use-system-tz-check">
+ <property name="label" translatable="yes">Use s_ystem time zone</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
@@ -248,19 +262,14 @@
</object>
<packing>
<property name="expand">False</property>
- <property name="fill">False</property>
<property name="position">0</property>
</packing>
</child>
<child>
- <object class="GtkRadioButton" id="use_24_hour">
- <property name="label" translatable="yes">_24 hour</property>
+ <object class="GtkLabel" id="system-tz-label">
<property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">False</property>
- <property name="use_underline">True</property>
- <property name="draw_indicator">True</property>
- <property name="group">use_12_hour</property>
+ <property name="xpad">5</property>
+ <property name="label">(system/tz)</property>
</object>
<packing>
<property name="expand">False</property>
@@ -272,62 +281,51 @@
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
- <property name="top_attach">3</property>
- <property name="bottom_attach">4</property>
- <property name="x_options">GTK_FILL</property>
- <property name="y_options">GTK_FILL</property>
- </packing>
- </child>
- <child>
- <object class="ETimezoneEntry" id="timezone">
- <property name="visible">True</property>
- <accessibility>
- <relation target="timezone_label" type="labelled-by"/>
- </accessibility>
- </object>
- <packing>
- <property name="left_attach">1</property>
- <property name="right_attach">2</property>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
- <property name="y_options">GTK_FILL</property>
+ <property name="x_options">GTK_FILL</property>
</packing>
</child>
<child>
- <object class="GtkLabel" id="timezone_label">
+ <object class="GtkLabel" id="label_time_format">
<property name="visible">True</property>
<property name="xalign">0</property>
- <property name="label" translatable="yes">Time _zone:</property>
- <property name="use_underline">True</property>
- <property name="mnemonic_widget">timezone</property>
+ <property name="label" translatable="yes">Time format:</property>
</object>
<packing>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"/>
+ <property name="y_options"></property>
</packing>
</child>
<child>
- <object class="GtkHBox" id="hbox26">
+ <object class="GtkHBox" id="hbox_time_format">
<property name="visible">True</property>
+ <property name="spacing">6</property>
<child>
- <object class="GtkCheckButton" id="use-system-tz-check">
- <property name="label" translatable="yes">Use s_ystem time zone</property>
+ <object class="GtkRadioButton" id="use_12_hour">
+ <property name="label" translatable="yes">_12 hour (AM/PM)</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_underline">True</property>
+ <property name="active">True</property>
<property name="draw_indicator">True</property>
</object>
<packing>
<property name="expand">False</property>
+ <property name="fill">False</property>
<property name="position">0</property>
</packing>
</child>
<child>
- <object class="GtkLabel" id="system-tz-label">
+ <object class="GtkRadioButton" id="use_24_hour">
+ <property name="label" translatable="yes">_24 hour</property>
<property name="visible">True</property>
- <property name="xpad">5</property>
- <property name="label">(system/tz)</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_underline">True</property>
+ <property name="draw_indicator">True</property>
+ <property name="group">use_12_hour</property>
</object>
<packing>
<property name="expand">False</property>
@@ -340,14 +338,12 @@
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="x_options">GTK_FILL</property>
+ <property name="y_options">GTK_FILL</property>
</packing>
</child>
<child>
<placeholder/>
</child>
- <child>
- <placeholder/>
- </child>
</object>
<packing>
<property name="position">1</property>
@@ -391,7 +387,7 @@
<child>
<object class="GtkTable" id="workWeek">
<property name="visible">True</property>
- <property name="n_rows">4</property>
+ <property name="n_rows">3</property>
<property name="n_columns">2</property>
<property name="column_spacing">6</property>
<property name="row_spacing">6</property>
@@ -399,13 +395,13 @@
<object class="GtkLabel" id="label12">
<property name="visible">True</property>
<property name="xalign">0</property>
- <property comments="A weekday like &quot;Monday&quot; follows" name="label" translatable="yes">Wee_k starts on:</property>
+ <property name="label" translatable="yes" comments="A weekday like &quot;Monday&quot; follows">Wee_k starts on:</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">week_start_day</property>
</object>
<packing>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"/>
+ <property name="y_options"></property>
</packing>
</child>
<child>
@@ -418,64 +414,21 @@
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"/>
+ <property name="y_options"></property>
</packing>
</child>
<child>
- <object class="GtkLabel" id="label14">
+ <object class="GtkLabel" id="day_start_label">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">_Day begins:</property>
<property name="use_underline">True</property>
- <property name="mnemonic_widget">start_of_day</property>
</object>
<packing>
<property name="top_attach">2</property>
<property name="bottom_attach">3</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options"/>
- </packing>
- </child>
- <child>
- <object class="GtkLabel" id="label15">
- <property name="visible">True</property>
- <property name="xalign">0</property>
- <property name="label" translatable="yes">Day _ends:</property>
- <property name="use_underline">True</property>
- <property name="mnemonic_widget">end_of_day</property>
- </object>
- <packing>
- <property name="top_attach">3</property>
- <property name="bottom_attach">4</property>
- <property name="x_options">GTK_FILL</property>
- <property name="y_options"/>
- </packing>
- </child>
- <child>
- <object class="EDateEdit" id="start_of_day">
- <property name="show-date">False</property>
- <property name="visible">True</property>
- </object>
- <packing>
- <property name="left_attach">1</property>
- <property name="right_attach">2</property>
- <property name="top_attach">2</property>
- <property name="bottom_attach">3</property>
- <property name="y_options">GTK_FILL</property>
- </packing>
- </child>
- <child>
- <object class="EDateEdit" id="end_of_day">
- <property name="show-date">False</property>
- <property name="visible">True</property>
- </object>
- <packing>
- <property name="left_attach">1</property>
- <property name="right_attach">2</property>
- <property name="top_attach">3</property>
- <property name="bottom_attach">4</property>
- <property name="x_options">GTK_FILL</property>
- <property name="y_options">GTK_FILL</property>
+ <property name="y_options"></property>
</packing>
</child>
<child>
@@ -484,17 +437,14 @@
<property name="spacing">6</property>
<child>
<object class="GtkCheckButton" id="mon_button">
- <property comments="Monday" name="label" translatable="yes">_Mon</property>
+ <property name="label" translatable="yes" comments="Monday">_Mon</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_underline">True</property>
<property name="draw_indicator">True</property>
- <accessibility>
-
- </accessibility>
<child internal-child="accessible">
- <object class="AtkObject" id="a11y-mon_button1">
+ <object class="AtkObject" id="mon_button-atkobject">
<property name="AtkObject::accessible-name" translatable="yes">Monday</property>
</object>
</child>
@@ -507,17 +457,14 @@
</child>
<child>
<object class="GtkCheckButton" id="tue_button">
- <property comments="Tuesday" name="label" translatable="yes">_Tue</property>
+ <property name="label" translatable="yes" comments="Tuesday">_Tue</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_underline">True</property>
<property name="draw_indicator">True</property>
- <accessibility>
-
- </accessibility>
<child internal-child="accessible">
- <object class="AtkObject" id="a11y-tue_button1">
+ <object class="AtkObject" id="tue_button-atkobject">
<property name="AtkObject::accessible-name" translatable="yes">Tuesday</property>
</object>
</child>
@@ -530,17 +477,14 @@
</child>
<child>
<object class="GtkCheckButton" id="wed_button">
- <property comments="Wednesday" name="label" translatable="yes">_Wed</property>
+ <property name="label" translatable="yes" comments="Wednesday">_Wed</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_underline">True</property>
<property name="draw_indicator">True</property>
- <accessibility>
-
- </accessibility>
<child internal-child="accessible">
- <object class="AtkObject" id="a11y-wed_button1">
+ <object class="AtkObject" id="wed_button-atkobject">
<property name="AtkObject::accessible-name" translatable="yes">Wednesday</property>
</object>
</child>
@@ -553,17 +497,14 @@
</child>
<child>
<object class="GtkCheckButton" id="thu_button">
- <property comments="Thursday" name="label" translatable="yes">T_hu</property>
+ <property name="label" translatable="yes" comments="Thursday">T_hu</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_underline">True</property>
<property name="draw_indicator">True</property>
- <accessibility>
-
- </accessibility>
<child internal-child="accessible">
- <object class="AtkObject" id="a11y-thu_button1">
+ <object class="AtkObject" id="thu_button-atkobject">
<property name="AtkObject::accessible-name" translatable="yes">Thursday</property>
</object>
</child>
@@ -576,17 +517,14 @@
</child>
<child>
<object class="GtkCheckButton" id="fri_button">
- <property comments="Friday" name="label" translatable="yes">_Fri</property>
+ <property name="label" translatable="yes" comments="Friday">_Fri</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_underline">True</property>
<property name="draw_indicator">True</property>
- <accessibility>
-
- </accessibility>
<child internal-child="accessible">
- <object class="AtkObject" id="a11y-fri_button1">
+ <object class="AtkObject" id="fri_button-atkobject">
<property name="AtkObject::accessible-name" translatable="yes">Friday</property>
</object>
</child>
@@ -599,17 +537,14 @@
</child>
<child>
<object class="GtkCheckButton" id="sat_button">
- <property comments="Saturday" name="label" translatable="yes">_Sat</property>
+ <property name="label" translatable="yes" comments="Saturday">_Sat</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_underline">True</property>
<property name="draw_indicator">True</property>
- <accessibility>
-
- </accessibility>
<child internal-child="accessible">
- <object class="AtkObject" id="a11y-sat_button1">
+ <object class="AtkObject" id="sat_button-atkobject">
<property name="AtkObject::accessible-name" translatable="yes">Saturday</property>
</object>
</child>
@@ -622,17 +557,14 @@
</child>
<child>
<object class="GtkCheckButton" id="sun_button">
- <property comments="Sunday" name="label" translatable="yes">S_un</property>
+ <property name="label" translatable="yes" comments="Sunday">S_un</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_underline">True</property>
<property name="draw_indicator">True</property>
- <accessibility>
-
- </accessibility>
<child internal-child="accessible">
- <object class="AtkObject" id="a11y-sun_button1">
+ <object class="AtkObject" id="sun_button-atkobject">
<property name="AtkObject::accessible-name" translatable="yes">Sunday</property>
</object>
</child>
@@ -671,6 +603,57 @@
<property name="y_options">GTK_FILL</property>
</packing>
</child>
+ <child>
+ <object class="GtkHBox" id="hbox13">
+ <property name="visible">True</property>
+ <property name="spacing">12</property>
+ <child>
+ <object class="EDateEdit" id="start_of_day">
+ <property name="visible">True</property>
+ <property name="show_date">False</property>
+ <property name="show_week_numbers">False</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="day_end_label">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">Day _ends:</property>
+ <property name="use_underline">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="pack_type">end</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="EDateEdit" id="end_of_day">
+ <property name="visible">True</property>
+ <property name="show_date">False</property>
+ <property name="show_week_numbers">False</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="pack_type">end</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">2</property>
+ <property name="bottom_attach">3</property>
+ <property name="y_options">GTK_FILL</property>
+ </packing>
+ </child>
</object>
<packing>
<property name="position">1</property>
@@ -736,7 +719,7 @@
<property name="spacing">4</property>
<child>
<object class="GtkCheckButton" id="default_reminder">
- <property comments="This is the first half of a user preference. &quot;Show a reminder [time-period] before every appointment&quot;" name="label" translatable="yes">Sh_ow a reminder</property>
+ <property name="label" translatable="yes" comments="This is the first half of a user preference. &quot;Show a reminder [time-period] before every appointment&quot;">Sh_ow a reminder</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
@@ -778,7 +761,7 @@
<child>
<object class="GtkLabel" id="label16">
<property name="visible">True</property>
- <property comments="This is the last half of a user preference. &quot;Show a reminder [time-period] before every appointment&quot;" name="label" translatable="yes">before every appointment</property>
+ <property name="label" translatable="yes" comments="This is the last half of a user preference. &quot;Show a reminder [time-period] before every appointment&quot;">before every appointment</property>
</object>
<packing>
<property name="expand">False</property>
@@ -797,7 +780,7 @@
<property name="spacing">4</property>
<child>
<object class="GtkCheckButton" id="ba_reminder">
- <property comments="This is the first half of a user preference. &quot;Show a reminder [time-period] before every anniversary/birthday&quot;" name="label" translatable="yes">Show a _reminder</property>
+ <property name="label" translatable="yes" comments="This is the first half of a user preference. &quot;Show a reminder [time-period] before every anniversary/birthday&quot;">Show a _reminder</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
@@ -839,7 +822,7 @@
<child>
<object class="GtkLabel" id="ba_reminder_label">
<property name="visible">True</property>
- <property comments="This is the last half of a user preference. &quot;Show a reminder [time-period] before every anniversary/birthday&quot;" name="label" translatable="yes">before every anniversary/birthday</property>
+ <property name="label" translatable="yes" comments="This is the last half of a user preference. &quot;Show a reminder [time-period] before every anniversary/birthday&quot;">before every anniversary/birthday</property>
</object>
<packing>
<property name="expand">False</property>
@@ -913,7 +896,7 @@
<property name="visible">True</property>
<property name="spacing">6</property>
<child>
- <object class="GtkHBox" id="hbox10">
+ <object class="GtkHBox" id="hbox_time_divisions">
<property name="visible">True</property>
<property name="spacing">6</property>
<child>
@@ -980,8 +963,8 @@
</packing>
</child>
<child>
- <object class="GtkCheckButton" id="dnav_show_week_no">
- <property name="label" translatable="yes">Show week _numbers in date navigator</property>
+ <object class="GtkCheckButton" id="show_week_numbers">
+ <property name="label" translatable="yes">Show week _numbers</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
@@ -995,21 +978,6 @@
</packing>
</child>
<child>
- <object class="GtkCheckButton" id="dview_show_week_no">
- <property name="label" translatable="yes">Show week n_umber in Day and Work Week View</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">False</property>
- <property name="use_underline">True</property>
- <property name="draw_indicator">True</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">4</property>
- </packing>
- </child>
- <child>
<object class="GtkCheckButton" id="month_scroll_by_week">
<property name="label" translatable="yes">Sc_roll Month View by a week</property>
<property name="visible">True</property>
@@ -1021,7 +989,7 @@
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
- <property name="position">5</property>
+ <property name="position">4</property>
</packing>
</child>
</object>
@@ -1069,12 +1037,9 @@
<property name="visible">True</property>
<property name="spacing">6</property>
<child>
- <object class="GtkTable" id="table2">
+ <object class="GtkHBox" id="hbox14">
<property name="visible">True</property>
- <property name="n_rows">2</property>
- <property name="n_columns">2</property>
- <property name="column_spacing">6</property>
- <property name="row_spacing">6</property>
+ <property name="spacing">12</property>
<child>
<object class="GtkLabel" id="label21">
<property name="visible">True</property>
@@ -1084,57 +1049,59 @@
<property name="mnemonic_widget">tasks_due_today_color</property>
</object>
<packing>
- <property name="x_options">GTK_FILL</property>
- <property name="y_options"/>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
</packing>
</child>
<child>
- <object class="GtkLabel" id="label22">
+ <object class="GtkColorButton" id="tasks_due_today_color">
<property name="visible">True</property>
- <property name="xalign">0</property>
- <property name="label" translatable="yes">_Overdue tasks:</property>
- <property name="use_underline">True</property>
- <property name="mnemonic_widget">tasks_overdue_color</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="title" translatable="yes">Pick a color</property>
+ <property name="color">#000000000000</property>
</object>
<packing>
- <property name="top_attach">1</property>
- <property name="bottom_attach">2</property>
- <property name="x_options">GTK_FILL</property>
- <property name="y_options"/>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
</packing>
</child>
<child>
- <object class="GtkColorButton" id="tasks_due_today_color">
+ <object class="GtkLabel" id="label22">
<property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">False</property>
- <property name="title" translatable="yes">Pick a color</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">_Overdue tasks:</property>
+ <property name="use_underline">True</property>
+ <property name="mnemonic_widget">tasks_overdue_color</property>
</object>
<packing>
- <property name="left_attach">1</property>
- <property name="right_attach">2</property>
- <property name="x_options"/>
- <property name="y_options"/>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="pack_type">end</property>
+ <property name="position">3</property>
</packing>
</child>
<child>
<object class="GtkColorButton" id="tasks_overdue_color">
<property name="visible">True</property>
<property name="can_focus">True</property>
- <property name="receives_default">False</property>
+ <property name="receives_default">True</property>
<property name="title" translatable="yes">Pick a color</property>
+ <property name="color">#000000000000</property>
</object>
<packing>
- <property name="left_attach">1</property>
- <property name="right_attach">2</property>
- <property name="top_attach">1</property>
- <property name="bottom_attach">2</property>
- <property name="x_options"/>
- <property name="y_options"/>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="pack_type">end</property>
+ <property name="position">2</property>
</packing>
</child>
</object>
<packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
<property name="position">0</property>
</packing>
</child>
@@ -1202,81 +1169,59 @@
<child>
<object class="GtkLabel" id="label65">
<property name="visible">True</property>
- <property name="label" translatable="yes">Date/Time Format</property>
- <property name="use_underline">False</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
<property name="xalign">0</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
- <property name="width_chars">-1</property>
- <property name="single_line_mode">False</property>
- <property name="angle">0</property>
+ <property name="label" translatable="yes">Date/Time Format</property>
<attributes>
<attribute name="weight" value="bold"/>
</attributes>
</object>
<packing>
- <property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">False</property>
+ <property name="position">4</property>
</packing>
</child>
<child>
<object class="GtkHBox" id="hbox27">
<property name="visible">True</property>
- <property name="homogeneous">False</property>
<property name="spacing">12</property>
<child>
<object class="GtkLabel" id="label66">
<property name="visible">True</property>
- <property name="label" translatable="yes"/>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
- <property name="width_chars">-1</property>
- <property name="single_line_mode">False</property>
- <property name="angle">0</property>
</object>
<packing>
- <property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">False</property>
+ <property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkTable" id="datetime_format_table">
<property name="visible">True</property>
- <property name="n_rows">1</property>
<property name="n_columns">3</property>
- <property name="homogeneous">False</property>
- <property name="row_spacing">0</property>
- <property name="column_spacing">0</property>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
</object>
<packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
+ <property name="position">1</property>
</packing>
</child>
</object>
<packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
+ <property name="position">5</property>
</packing>
</child>
</object>
+ <packing>
+ <property name="position">1</property>
+ </packing>
</child>
<child type="tab">
<object class="GtkLabel" id="label2">
@@ -1296,101 +1241,69 @@
<child>
<object class="GtkLabel" id="label67">
<property name="visible">True</property>
- <property name="label" translatable="yes">Alarms</property>
- <property name="use_underline">False</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
<property name="xalign">0</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
- <property name="width_chars">-1</property>
- <property name="single_line_mode">False</property>
- <property name="angle">0</property>
+ <property name="label" translatable="yes">Alarms</property>
<attributes>
<attribute name="weight" value="bold"/>
</attributes>
</object>
<packing>
- <property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">False</property>
+ <property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkAlignment" id="alignment1">
<property name="visible">True</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xscale">1</property>
- <property name="yscale">1</property>
- <property name="top_padding">0</property>
- <property name="bottom_padding">0</property>
<property name="left_padding">10</property>
- <property name="right_padding">0</property>
<child>
<object class="GtkCheckButton" id="notify_with_tray">
+ <property name="label" translatable="yes">Display alarms in _notification area only</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
- <property name="label" translatable="yes">Display alarms in _notification area only</property>
+ <property name="receives_default">False</property>
<property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="active">False</property>
- <property name="inconsistent">False</property>
<property name="draw_indicator">True</property>
</object>
</child>
</object>
<packing>
- <property name="padding">0</property>
<property name="expand">False</property>
- <property name="fill">True</property>
+ <property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="label62">
<property name="visible">True</property>
- <property name="label" translatable="yes">Select the calendars for alarm notification</property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
<property name="xalign">0</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
- <property name="width_chars">-1</property>
- <property name="single_line_mode">False</property>
- <property name="angle">0</property>
+ <property name="label" translatable="yes">Select the calendars for alarm notification</property>
</object>
<packing>
- <property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">False</property>
+ <property name="position">2</property>
</packing>
</child>
<child>
<object class="GtkScrolledWindow" id="calendar-source-scrolled-window">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="hscrollbar_policy">automatic</property>
- <property name="vscrollbar_policy">automatic</property>
- <property name="shadow_type">in</property>
-
- <child><placeholder/></child>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="hscrollbar_policy">automatic</property>
+ <property name="vscrollbar_policy">automatic</property>
+ <property name="shadow_type">in</property>
+ <child>
+ <placeholder/>
+ </child>
</object>
<packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
+ <property name="position">3</property>
</packing>
</child>
</object>
+ <packing>
+ <property name="position">2</property>
+ </packing>
</child>
<child type="tab">
<object class="GtkLabel" id="alarm-label">
@@ -1496,6 +1409,9 @@
</packing>
</child>
</object>
+ <packing>
+ <property name="position">3</property>
+ </packing>
</child>
<child type="tab">
<object class="GtkLabel" id="label3">
@@ -1508,4 +1424,10 @@
</packing>
</child>
</object>
+ <object class="GtkSizeGroup" id="day_begins_ends_sizegroup">
+ <widgets>
+ <widget name="day_start_label"/>
+ <widget name="day_end_label"/>
+ </widgets>
+ </object>
</interface>
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/comp-editor.c b/calendar/gui/dialogs/comp-editor.c
index 0b1701de6f..91d9f1e202 100644
--- a/calendar/gui/dialogs/comp-editor.c
+++ b/calendar/gui/dialogs/comp-editor.c
@@ -75,8 +75,6 @@
#define d(x)
-static gboolean comp_lite = FALSE;
-
/* Private part of the CompEditor structure */
struct _CompEditorPrivate {
@@ -173,10 +171,16 @@ static const gchar *ui =
" </menu>"
" </menubar>"
" <toolbar name='main-toolbar'>"
-" <toolitem action='save'/>"
-" <toolitem action='print'/>"
-" <toolitem action='close'/>"
+" <toolitem action='save'/>\n"
+"#if !EXPRESS\n"
+" <toolitem action='print'/>\n"
+"#endif\n"
" <separator/>"
+" <placeholder name='content'/>\n"
+"#if EXPRESS\n"
+" <separator expand='true'/>\n"
+" <toolitem action='close'/>\n"
+"#endif\n"
" </toolbar>"
"</ui>";
@@ -421,7 +425,7 @@ save_comp (CompEditor *editor)
clone = e_cal_component_clone (priv->comp);
comp_editor_copy_new_attendees (clone, priv->comp);
for (l = priv->pages; l != NULL; l = l->next) {
- if (!comp_editor_page_fill_component (l->data, clone)) {
+ if (IS_COMP_EDITOR_PAGE(l->data) && !comp_editor_page_fill_component (l->data, clone)) {
g_object_unref (clone);
g_hash_table_destroy (timezones);
comp_editor_show_page (editor, COMP_EDITOR_PAGE (l->data));
@@ -429,7 +433,8 @@ save_comp (CompEditor *editor)
}
/* retrieve all timezones */
- comp_editor_page_fill_timezones (l->data, timezones);
+ if (IS_COMP_EDITOR_PAGE(l->data))
+ comp_editor_page_fill_timezones (l->data, timezones);
}
/* If we are not the organizer, we don't update the sequence number */
@@ -1598,6 +1603,9 @@ comp_editor_init (CompEditor *editor)
gint n_targets;
GError *error = NULL;
+ /* FIXME Shell should be passed in. */
+ shell = e_shell_get_default ();
+
editor->priv = priv = COMP_EDITOR_GET_PRIVATE (editor);
g_object_weak_ref (
@@ -1621,9 +1629,9 @@ comp_editor_init (CompEditor *editor)
priv->is_group_item = FALSE;
priv->ui_manager = e_ui_manager_new ();
+ e_ui_manager_set_express_mode (E_UI_MANAGER (priv->ui_manager),
+ e_shell_get_express_mode (shell));
- if (comp_lite)
- gtk_window_set_default_size ((GtkWindow *) editor, 800, 450);
gtk_window_add_accel_group (
GTK_WINDOW (editor),
gtk_ui_manager_get_accel_group (priv->ui_manager));
@@ -1705,7 +1713,7 @@ comp_editor_init (CompEditor *editor)
action = comp_editor_get_action (editor, "save");
gtk_action_set_sensitive (action, FALSE);
- gtk_ui_manager_add_ui_from_string (priv->ui_manager, ui, -1, &error);
+ e_ui_manager_add_ui_from_string (E_UI_MANAGER (priv->ui_manager), ui, &error);
if (error != NULL) {
g_warning ("%s: %s", G_STRFUNC, error->message);
g_error_free (error);
@@ -1721,24 +1729,25 @@ comp_editor_init (CompEditor *editor)
container = widget;
- widget = comp_editor_get_managed_widget (editor, "/main-menu");
- gtk_box_pack_start (GTK_BOX (container), widget, FALSE, FALSE, 0);
- gtk_widget_show (widget);
-
- if (!comp_lite) {
- widget = comp_editor_get_managed_widget (editor, "/main-toolbar");
+ if (!e_shell_get_express_mode (shell)) {
+ widget = comp_editor_get_managed_widget (editor, "/main-menu");
gtk_box_pack_start (GTK_BOX (container), widget, FALSE, FALSE, 0);
- gtk_widget_show (widget);
+ gtk_widget_set_visible (widget, !e_shell_get_meego_mode (shell));
}
+ widget = comp_editor_get_managed_widget (editor, "/main-toolbar");
+ gtk_box_pack_start (GTK_BOX (container), widget, FALSE, FALSE, 0);
+ gtk_widget_show (widget);
+
widget = e_attachment_paned_new ();
gtk_container_set_border_width (GTK_CONTAINER (widget), 6);
gtk_box_pack_start (GTK_BOX (container), widget, TRUE, TRUE, 0);
priv->attachment_view = g_object_ref (widget);
gtk_widget_show (widget);
- if (comp_lite) {
- GtkWidget *tmp, *tmp1, *tmp_box, *cont;
+ if (e_shell_get_express_mode (shell)) {
+ /*GtkWidget *tmp, *tmp1, *tmp_box, */
+ GtkWidget *cont;
GtkWidget *combo;
e_attachment_paned_set_expanded (E_ATTACHMENT_PANED (widget), TRUE);
@@ -1749,7 +1758,7 @@ comp_editor_init (CompEditor *editor)
gtk_widget_hide (combo);
cont = e_attachment_paned_get_controls_container (
E_ATTACHMENT_PANED (widget));
-
+ /*
tmp_box = gtk_hbox_new (FALSE, 0);
tmp = gtk_hbox_new (FALSE, 0);
tmp1 = gtk_image_new_from_stock (GTK_STOCK_SAVE, GTK_ICON_SIZE_BUTTON);
@@ -1769,12 +1778,12 @@ comp_editor_init (CompEditor *editor)
gtk_widget_show(tmp_box);
gtk_box_pack_end (GTK_BOX (cont), tmp_box, FALSE, FALSE, 4);
-
+ */
}
container = e_attachment_paned_get_content_area (
E_ATTACHMENT_PANED (priv->attachment_view));
- if (comp_lite) {
+ if (e_shell_get_express_mode (shell)) {
scroll = gtk_scrolled_window_new (NULL, NULL);
gtk_scrolled_window_set_policy ((GtkScrolledWindow *)scroll, GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
gtk_widget_show(scroll);
@@ -1782,14 +1791,14 @@ comp_editor_init (CompEditor *editor)
}
widget = gtk_notebook_new ();
- gtk_notebook_set_show_tabs (GTK_NOTEBOOK (widget), FALSE);
- if (!comp_lite)
+ gtk_notebook_set_show_tabs (GTK_NOTEBOOK (widget), e_shell_get_express_mode (shell));
+ if (!e_shell_get_express_mode (shell))
gtk_box_pack_start (GTK_BOX (container), widget, TRUE, TRUE, 0);
else
gtk_scrolled_window_add_with_viewport ((GtkScrolledWindow *) scroll, widget);
priv->notebook = GTK_NOTEBOOK (widget);
gtk_widget_show (widget);
- if (comp_lite)
+ if (e_shell_get_express_mode (shell))
gtk_widget_set_size_request (scroll, 300, -1);
comp_editor_setup_recent_menu (editor);
@@ -1831,9 +1840,8 @@ comp_editor_init (CompEditor *editor)
comp_editor_bind_gconf (editor);
- /* FIXME Shell should be passed in. */
- shell = e_shell_get_default ();
e_shell_watch_window (shell, GTK_WINDOW (editor));
+ e_shell_adapt_window_size (shell, GTK_WINDOW (editor));
}
static gboolean
@@ -2273,6 +2281,51 @@ page_unmapped_cb (GtkWidget *page_widget,
}
/**
+ * comp_editor_append_widget:
+ * @editor: A component editor
+ * @page: A component editor page
+ * @label: Label of the page. Should be NULL if add is FALSE.
+ * @add: Add's the page into the notebook if TRUE
+ *
+ * Appends a page to the notebook if add is TRUE else
+ * just adds it to the list of pages.
+ **/
+void
+comp_editor_append_widget (CompEditor *editor,
+ GtkWidget *page,
+ const gchar *label,
+ gboolean add)
+{
+ CompEditorPrivate *priv;
+ GtkWidget *label_widget = NULL;
+
+ g_return_if_fail (IS_COMP_EDITOR (editor));
+
+ priv = editor->priv;
+
+ g_object_ref (page);
+
+ if (label)
+ label_widget = gtk_label_new_with_mnemonic (label);
+
+ priv->pages = g_list_append (priv->pages, page);
+
+ if (add)
+ gtk_notebook_append_page (priv->notebook, page, label_widget);
+
+ /* Listen for when the page is mapped/unmapped so we can
+ install/uninstall the appropriate GtkAccelGroup.
+ g_signal_connect (
+ page, "map",
+ G_CALLBACK (page_mapped_cb), page);
+ g_signal_connect(
+ page, "unmap",
+ G_CALLBACK (page_unmapped_cb), page);
+ */
+
+}
+
+/**
* comp_editor_append_page:
* @editor: A component editor
* @page: A component editor page
@@ -2563,8 +2616,10 @@ fill_widgets (CompEditor *editor)
g_signal_handlers_block_by_func (
action, G_CALLBACK (action_classification_cb), editor);
- for (iter = priv->pages; iter != NULL; iter = iter->next)
- comp_editor_page_fill_widgets (iter->data, priv->comp);
+ for (iter = priv->pages; iter != NULL; iter = iter->next) {
+ if (IS_COMP_EDITOR_PAGE(iter->data))
+ comp_editor_page_fill_widgets (iter->data, priv->comp);
+ }
g_signal_handlers_unblock_by_func (
action, G_CALLBACK (action_classification_cb), editor);
@@ -2807,8 +2862,10 @@ comp_editor_get_current_comp (CompEditor *editor, gboolean *correct)
comp = e_cal_component_clone (priv->comp);
comp_editor_copy_new_attendees (comp, priv->comp);
if (priv->changed) {
- for (l = priv->pages; l != NULL; l = l->next)
- all_ok = comp_editor_page_fill_component (l->data, comp) && all_ok;
+ for (l = priv->pages; l != NULL; l = l->next) {
+ if (IS_COMP_EDITOR_PAGE(l->data))
+ all_ok = comp_editor_page_fill_component (l->data, comp) && all_ok;
+ }
}
if (correct)
@@ -2973,7 +3030,7 @@ page_dates_changed_cb (CompEditor *editor,
GList *l;
for (l = priv->pages; l != NULL; l = l->next)
- if (page != (CompEditorPage *) l->data)
+ if (page != (CompEditorPage *) l->data && IS_COMP_EDITOR_PAGE(l->data))
comp_editor_page_set_dates (l->data, dates);
if (!priv->warned && priv->existing_org && !priv->user_org && !(editor->priv->flags & COMP_EDITOR_NEW_ITEM)) {
@@ -3030,14 +3087,3 @@ obj_removed_cb (ECal *client,
close_dialog (editor);
}
-gboolean
-comp_editor_get_lite ()
-{
- return comp_lite;
-}
-
-void
-comp_editor_set_lite (gboolean status)
-{
- comp_lite = status;
-}
diff --git a/calendar/gui/dialogs/comp-editor.h b/calendar/gui/dialogs/comp-editor.h
index 4871beae8f..bd26ce8b66 100644
--- a/calendar/gui/dialogs/comp-editor.h
+++ b/calendar/gui/dialogs/comp-editor.h
@@ -127,6 +127,11 @@ void comp_editor_append_page (CompEditor *editor,
CompEditorPage *page,
const gchar *label,
gboolean add);
+void comp_editor_append_widget (CompEditor *editor,
+ GtkWidget *page,
+ const gchar *label,
+ gboolean add);
+
void comp_editor_remove_page (CompEditor *editor,
CompEditorPage *page);
void comp_editor_show_page (CompEditor *editor,
@@ -165,9 +170,6 @@ GtkWidget * comp_editor_get_managed_widget (CompEditor *editor,
const gchar *widget_path);
CompEditor * comp_editor_find_instance (const gchar *uid);
-void comp_editor_set_lite (gboolean status);
-gboolean comp_editor_get_lite (void);
-
G_END_DECLS
#endif
diff --git a/calendar/gui/dialogs/copy-source-dialog.c b/calendar/gui/dialogs/copy-source-dialog.c
index 9b8c8c4fed..f1c568849b 100644
--- a/calendar/gui/dialogs/copy-source-dialog.c
+++ b/calendar/gui/dialogs/copy-source-dialog.c
@@ -32,18 +32,19 @@
#include "common/authentication.h"
typedef struct {
+ GtkWindow *parent;
ESource *orig_source;
ECalSourceType obj_type;
ESource *selected_source;
} CopySourceDialogData;
static void
-show_error (GtkWindow *parent, const gchar *msg)
+show_error (CopySourceDialogData *csdd, const gchar *msg)
{
GtkWidget *dialog;
dialog = gtk_message_dialog_new (
- parent, 0, GTK_MESSAGE_ERROR,
+ csdd->parent, 0, GTK_MESSAGE_ERROR,
GTK_BUTTONS_CLOSE, "%s", msg);
gtk_dialog_run (GTK_DIALOG (dialog));
gtk_widget_destroy (dialog);
@@ -88,7 +89,7 @@ copy_source (CopySourceDialogData *csdd)
/* open the source */
source_client = e_auth_new_cal_from_source (csdd->orig_source, csdd->obj_type);
if (!e_cal_open (source_client, TRUE, NULL)) {
- show_error (NULL, _("Could not open source"));
+ show_error (csdd, _("Could not open source"));
g_object_unref (source_client);
return FALSE;
}
@@ -96,7 +97,7 @@ copy_source (CopySourceDialogData *csdd)
/* open the destination */
dest_client = e_auth_new_cal_from_source (csdd->selected_source, csdd->obj_type);
if (!e_cal_open (dest_client, FALSE, NULL)) {
- show_error (NULL, _("Could not open destination"));
+ show_error (csdd, _("Could not open destination"));
g_object_unref (dest_client);
g_object_unref (source_client);
return FALSE;
@@ -105,7 +106,7 @@ copy_source (CopySourceDialogData *csdd)
/* check if the destination is read only */
e_cal_is_read_only (dest_client, &read_only, NULL);
if (read_only) {
- show_error (NULL, _("Destination is read only"));
+ show_error (csdd, _("Destination is read only"));
} else {
if (e_cal_get_object_list (source_client, "#t", &obj_list, NULL)) {
GList *l;
@@ -135,7 +136,7 @@ copy_source (CopySourceDialogData *csdd)
g_free (uid);
} else {
if (error) {
- show_error (NULL, error->message);
+ show_error (csdd, error->message);
g_error_free (error);
}
break;
@@ -168,6 +169,7 @@ copy_source_dialog (GtkWindow *parent, ESource *source, ECalSourceType obj_type)
g_return_val_if_fail (E_IS_SOURCE (source), FALSE);
+ csdd.parent = parent;
csdd.orig_source = source;
csdd.selected_source = NULL;
csdd.obj_type = obj_type;
diff --git a/calendar/gui/dialogs/event-editor.c b/calendar/gui/dialogs/event-editor.c
index c40f2b05d0..1ae9595c02 100644
--- a/calendar/gui/dialogs/event-editor.c
+++ b/calendar/gui/dialogs/event-editor.c
@@ -36,6 +36,7 @@
#include <e-util/e-binding.h>
#include <e-util/e-plugin-ui.h>
#include <e-util/e-util-private.h>
+#include <e-util/e-ui-manager.h>
#include "event-page.h"
#include "recurrence-page.h"
@@ -89,11 +90,19 @@ static const gchar *ui =
" </menu>"
" </menubar>"
" <toolbar name='main-toolbar'>"
-" <toolitem action='alarms'/>"
-" <toolitem action='show-time-busy'/>"
-" <toolitem action='recurrence'/>"
-" <toolitem action='all-day-event'/>"
-" <toolitem action='free-busy'/>"
+" <placeholder name='content'>\n"
+"#if !EXPRESS\n"
+" <toolitem action='alarms'/>\n"
+"#endif\n"
+" <toolitem action='show-time-busy'/>\n"
+"#if !EXPRESS\n"
+" <toolitem action='recurrence'/>\n"
+"#endif\n"
+" <toolitem action='all-day-event'/>\n"
+"#if !EXPRESS\n"
+" <toolitem action='free-busy'/>\n"
+"#endif\n"
+" </placeholder>"
" </toolbar>"
"</ui>";
@@ -275,6 +284,8 @@ event_editor_constructor (GType type,
GtkActionGroup *action_group;
ECal *client;
gboolean is_meeting;
+ GtkWidget *alarm_page;
+ GtkWidget *attendee_page;
/* Chain up to parent's constructor() method. */
object = G_OBJECT_CLASS (event_editor_parent_class)->constructor (
@@ -308,11 +319,34 @@ event_editor_constructor (GType type,
priv->recur_page = recurrence_page_new (editor);
page = COMP_EDITOR_PAGE (priv->recur_page);
- gtk_container_add (
- GTK_CONTAINER ((GTK_DIALOG (priv->recur_window)->vbox)),
- comp_editor_page_get_widget (page));
- gtk_widget_show_all (gtk_bin_get_child (GTK_BIN (priv->recur_window)));
- comp_editor_append_page (editor, page, NULL, FALSE);
+ if (!e_shell_get_express_mode(e_shell_get_default())) {
+ gtk_container_add (
+ GTK_CONTAINER ((GTK_DIALOG (priv->recur_window)->vbox)),
+ comp_editor_page_get_widget (page));
+ gtk_widget_show_all (gtk_bin_get_child (GTK_BIN (priv->recur_window)));
+ comp_editor_append_page (editor, page, NULL, FALSE);
+ } else {
+ comp_editor_append_page (editor, page, _("_Recurrence"), TRUE);
+ }
+
+ if (e_shell_get_express_mode(e_shell_get_default())) {
+ ENameSelector *name_selector;
+
+ priv->sched_page = schedule_page_new (priv->model, editor);
+ page = COMP_EDITOR_PAGE (priv->sched_page);
+
+ name_selector = event_page_get_name_selector (priv->event_page);
+ schedule_page_set_name_selector (priv->sched_page, name_selector);
+
+ comp_editor_append_page (editor, page, _("_Free/Busy"), TRUE);
+ schedule_page_update_free_busy (priv->sched_page);
+
+ /* Alarm page */
+ alarm_page = event_page_get_alarm_page (priv->event_page);
+ comp_editor_append_widget (editor, alarm_page, _("_Alarm"), TRUE);
+ g_object_unref(alarm_page);
+
+ }
if (is_meeting) {
@@ -329,6 +363,12 @@ event_editor_constructor (GType type,
event_page_set_meeting (priv->event_page, TRUE);
priv->meeting_shown=TRUE;
+
+ if (e_shell_get_express_mode(e_shell_get_default())) {
+ attendee_page = event_page_get_attendee_page (priv->event_page);
+ comp_editor_append_widget (editor, attendee_page, _("Attendee_s"), TRUE);
+ g_object_unref(attendee_page);
+ }
}
return object;
@@ -369,25 +409,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
@@ -518,7 +545,7 @@ event_editor_init (EventEditor *ee)
G_N_ELEMENTS (meeting_entries), ee);
ui_manager = comp_editor_get_ui_manager (editor);
- gtk_ui_manager_add_ui_from_string (ui_manager, ui, -1, &error);
+ e_ui_manager_add_ui_from_string (E_UI_MANAGER (ui_manager), ui, &error);
id = "org.gnome.evolution.event-editor";
e_plugin_ui_register_manager (ui_manager, id, ee);
diff --git a/calendar/gui/dialogs/event-page.c b/calendar/gui/dialogs/event-page.c
index 6308cda647..74d6af4c4b 100644
--- a/calendar/gui/dialogs/event-page.c
+++ b/calendar/gui/dialogs/event-page.c
@@ -828,7 +828,8 @@ sensitize_widgets (EventPage *epage)
} else {
gtk_widget_show (priv->calendar_label);
gtk_widget_show (priv->list_box);
- gtk_widget_show (priv->attendee_box);
+ if (!e_shell_get_express_mode(e_shell_get_default()))
+ gtk_widget_show (priv->attendee_box);
gtk_widget_show (priv->organizer);
gtk_label_set_text_with_mnemonic ((GtkLabel *) priv->org_cal_label, _("Or_ganizer:"));
}
@@ -2197,7 +2198,7 @@ get_widgets (EventPage *epage)
priv->invite = GW ("invite");
priv->invite_label = GW ("invite-label");
- if (comp_editor_get_lite ())
+ if (e_shell_get_express_mode (e_shell_get_default ()))
gtk_widget_hide (priv->invite);
else
gtk_widget_hide (priv->invite_label);
@@ -2222,7 +2223,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");
@@ -2231,7 +2231,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);
@@ -2239,7 +2238,6 @@ get_widgets (EventPage *epage)
priv->source_selector = GW ("source");
-#undef GW
e_util_set_source_combo_box_list (priv->source_selector, "/apps/evolution/calendar/sources");
@@ -3259,3 +3257,44 @@ event_page_remove_all_attendees (EventPage *epage)
e_meeting_list_view_remove_all_attendees_from_name_selector (E_MEETING_LIST_VIEW (priv->list_view));
}
+
+GtkWidget *
+event_page_get_alarm_page (EventPage *epage)
+{
+ EventPagePrivate *priv;
+ GtkWidget *alarm_page, *tmp;
+
+ g_return_val_if_fail (epage != NULL, NULL);
+ g_return_val_if_fail (IS_EVENT_PAGE (epage), NULL);
+
+ priv = epage->priv;
+
+ tmp = GW("dialog-vbox1");
+ alarm_page = GW("vbox2");
+ g_object_ref(alarm_page);
+ gtk_container_remove ((GtkContainer *)tmp, alarm_page);
+
+ return alarm_page;
+}
+
+GtkWidget *
+event_page_get_attendee_page (EventPage *epage)
+{
+ EventPagePrivate *priv;
+ GtkWidget *apage;
+
+ g_return_val_if_fail (epage != NULL, NULL);
+ g_return_val_if_fail (IS_EVENT_PAGE (epage), NULL);
+
+ priv = epage->priv;
+
+ apage = priv->list_box;
+ g_object_ref(apage);
+ gtk_container_remove ((GtkContainer *)gtk_widget_get_parent(apage), apage);
+ gtk_widget_hide (priv->attendee_box);
+
+ return apage;
+}
+
+
+#undef GW
diff --git a/calendar/gui/dialogs/event-page.h b/calendar/gui/dialogs/event-page.h
index ab43c0f7ba..a4513e4c68 100644
--- a/calendar/gui/dialogs/event-page.h
+++ b/calendar/gui/dialogs/event-page.h
@@ -109,6 +109,8 @@ ENameSelector * event_page_get_name_selector (EventPage *epage);
void event_page_add_attendee (EventPage *epage,
EMeetingAttendee *attendee);
void event_page_remove_all_attendees (EventPage *epage);
+GtkWidget * event_page_get_alarm_page (EventPage *epage);
+GtkWidget * event_page_get_attendee_page (EventPage *epage);
G_END_DECLS
diff --git a/calendar/gui/dialogs/memo-page.c b/calendar/gui/dialogs/memo-page.c
index f1b3a71d03..adb10dc9fa 100644
--- a/calendar/gui/dialogs/memo-page.c
+++ b/calendar/gui/dialogs/memo-page.c
@@ -816,7 +816,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 4d3e0af1f0..578f98929c 100644
--- a/calendar/gui/dialogs/recurrence-page.c
+++ b/calendar/gui/dialogs/recurrence-page.c
@@ -1340,8 +1340,6 @@ static void
make_ending_until_special (RecurrencePage *rpage)
{
RecurrencePagePrivate *priv = rpage->priv;
- EShell *shell;
- EShellSettings *shell_settings;
CompEditor *editor;
CompEditorFlags flags;
EDateEdit *de;
@@ -1353,13 +1351,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),
@@ -2088,14 +2082,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),
@@ -2104,7 +2094,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);
@@ -2260,8 +2250,6 @@ static void
init_widgets (RecurrencePage *rpage)
{
RecurrencePagePrivate *priv;
- EShell *shell;
- EShellSettings *shell_settings;
CompEditor *editor;
ECalendar *ecal;
GtkAdjustment *adj;
@@ -2271,22 +2259,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);
@@ -2423,12 +2401,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..7e35cbe070 100644
--- a/calendar/gui/dialogs/task-editor.c
+++ b/calendar/gui/dialogs/task-editor.c
@@ -81,8 +81,10 @@ static const gchar *ui =
" </menu>"
" </menubar>"
" <toolbar name='main-toolbar'>"
-" <toolitem action='view-time-zone'/>"
-" <toolitem action='option-status'/>"
+" <placeholder name='content'>"
+" <toolitem action='view-time-zone'/>"
+" <toolitem action='option-status'/>"
+" </placeholder>"
" </toolbar>"
"</ui>";
@@ -202,25 +204,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 9a10f403d7..fb6338005f 100644
--- a/calendar/gui/dialogs/task-page.c
+++ b/calendar/gui/dialogs/task-page.c
@@ -1363,10 +1363,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");
diff --git a/calendar/gui/e-cal-model-calendar.c b/calendar/gui/e-cal-model-calendar.c
index 6df5588dae..778b72de21 100644
--- a/calendar/gui/e-cal-model-calendar.c
+++ b/calendar/gui/e-cal-model-calendar.c
@@ -525,11 +525,7 @@ ecmc_fill_component_from_model (ECalModel *model, ECalModelComponent *comp_data,
* e_cal_model_calendar_new
*/
ECalModel *
-e_cal_model_calendar_new (EShellSettings *shell_settings)
+e_cal_model_calendar_new (void)
{
- g_return_val_if_fail (E_IS_SHELL_SETTINGS (shell_settings), NULL);
-
- return g_object_new (
- E_TYPE_CAL_MODEL_CALENDAR,
- "shell-settings", shell_settings, NULL);
+ return g_object_new (E_TYPE_CAL_MODEL_CALENDAR, NULL);
}
diff --git a/calendar/gui/e-cal-model-calendar.h b/calendar/gui/e-cal-model-calendar.h
index f1027032cb..6e3b3fe617 100644
--- a/calendar/gui/e-cal-model-calendar.h
+++ b/calendar/gui/e-cal-model-calendar.h
@@ -71,8 +71,8 @@ struct _ECalModelCalendarClass {
ECalModelClass parent_class;
};
-GType e_cal_model_calendar_get_type (void);
-ECalModel * e_cal_model_calendar_new (EShellSettings *shell_settings);
+GType e_cal_model_calendar_get_type (void);
+ECalModel * e_cal_model_calendar_new (void);
G_END_DECLS
diff --git a/calendar/gui/e-cal-model-memos.c b/calendar/gui/e-cal-model-memos.c
index 41f63700c8..38e55ef71a 100644
--- a/calendar/gui/e-cal-model-memos.c
+++ b/calendar/gui/e-cal-model-memos.c
@@ -261,11 +261,7 @@ ecmm_fill_component_from_model (ECalModel *model, ECalModelComponent *comp_data,
* e_cal_model_memos_new
*/
ECalModel *
-e_cal_model_memos_new (EShellSettings *shell_settings)
+e_cal_model_memos_new (void)
{
- g_return_val_if_fail (E_IS_SHELL_SETTINGS (shell_settings), NULL);
-
- return g_object_new (
- E_TYPE_CAL_MODEL_MEMOS,
- "shell-settings", shell_settings, NULL);
+ return g_object_new (E_TYPE_CAL_MODEL_MEMOS, NULL);
}
diff --git a/calendar/gui/e-cal-model-memos.h b/calendar/gui/e-cal-model-memos.h
index b58faa539b..3977bbe0cb 100644
--- a/calendar/gui/e-cal-model-memos.h
+++ b/calendar/gui/e-cal-model-memos.h
@@ -71,7 +71,7 @@ struct _ECalModelMemosClass {
};
GType e_cal_model_memos_get_type (void);
-ECalModel * e_cal_model_memos_new (EShellSettings *shell_settings);
+ECalModel * e_cal_model_memos_new (void);
G_END_DECLS
diff --git a/calendar/gui/e-cal-model-tasks.c b/calendar/gui/e-cal-model-tasks.c
index e6fd01e9c9..c69e7452b9 100644
--- a/calendar/gui/e-cal-model-tasks.c
+++ b/calendar/gui/e-cal-model-tasks.c
@@ -133,27 +133,6 @@ cal_model_tasks_finalize (GObject *object)
}
static void
-cal_model_tasks_constructed (GObject *object)
-{
- ECalModel *model;
- EShellSettings *shell_settings;
-
- model = E_CAL_MODEL (object);
- shell_settings = e_cal_model_get_shell_settings (model);
-
- e_binding_new (
- shell_settings, "cal-tasks-color-due-today",
- model, "color-due-today");
-
- e_binding_new (
- shell_settings, "cal-tasks-color-overdue",
- model, "color-overdue");
-
- /* Chain up to parent's constructed() method. */
- G_OBJECT_CLASS (e_cal_model_tasks_parent_class)->constructed (object);
-}
-
-static void
e_cal_model_tasks_class_init (ECalModelTasksClass *class)
{
GObjectClass *object_class;
@@ -166,7 +145,6 @@ e_cal_model_tasks_class_init (ECalModelTasksClass *class)
object_class->set_property = cal_model_tasks_set_property;
object_class->get_property = cal_model_tasks_get_property;
object_class->finalize = cal_model_tasks_finalize;
- object_class->constructed = cal_model_tasks_constructed;
table_model_class = E_TABLE_MODEL_CLASS (class);
table_model_class->column_count = ecmt_column_count;
@@ -1157,13 +1135,9 @@ ecmt_fill_component_from_model (ECalModel *model, ECalModelComponent *comp_data,
}
ECalModel *
-e_cal_model_tasks_new (EShellSettings *shell_settings)
+e_cal_model_tasks_new (void)
{
- g_return_val_if_fail (E_IS_SHELL_SETTINGS (shell_settings), NULL);
-
- return g_object_new (
- E_TYPE_CAL_MODEL_TASKS,
- "shell-settings", shell_settings, NULL);
+ return g_object_new (E_TYPE_CAL_MODEL_TASKS, NULL);
}
const gchar *
diff --git a/calendar/gui/e-cal-model-tasks.h b/calendar/gui/e-cal-model-tasks.h
index 056325547d..c0ceaaa2c5 100644
--- a/calendar/gui/e-cal-model-tasks.h
+++ b/calendar/gui/e-cal-model-tasks.h
@@ -79,7 +79,7 @@ struct _ECalModelTasksClass {
};
GType e_cal_model_tasks_get_type (void);
-ECalModel * e_cal_model_tasks_new (EShellSettings *shell_settings);
+ECalModel * e_cal_model_tasks_new (void);
const gchar * e_cal_model_tasks_get_color_due_today
(ECalModelTasks *model);
void e_cal_model_tasks_set_color_due_today
diff --git a/calendar/gui/e-cal-model.c b/calendar/gui/e-cal-model.c
index cb1966fb17..e48b95999d 100644
--- a/calendar/gui/e-cal-model.c
+++ b/calendar/gui/e-cal-model.c
@@ -35,7 +35,7 @@
#include "e-cal-model.h"
#include "itip-utils.h"
#include "misc.h"
-#include "e-util/e-binding.h"
+#include "e-util/e-extensible.h"
#include "e-util/e-util.h"
#define E_CAL_MODEL_GET_PRIVATE(obj) \
@@ -54,8 +54,6 @@ typedef struct {
} ECalModelClient;
struct _ECalModelPrivate {
- EShellSettings *shell_settings;
-
/* The list of clients we are managing. Each element is of type ECalModelClient */
GList *clients;
@@ -128,7 +126,6 @@ static void remove_client (ECalModel *model, ECalModelClient *client_data);
enum {
PROP_0,
PROP_DEFAULT_CLIENT,
- PROP_SHELL_SETTINGS,
PROP_TIMEZONE,
PROP_USE_24_HOUR_FORMAT,
PROP_WEEK_START_DAY
@@ -148,17 +145,9 @@ enum {
static gpointer parent_class;
static guint signals[LAST_SIGNAL];
-G_DEFINE_TYPE (ECalModel, e_cal_model, E_TABLE_MODEL_TYPE)
-
-static void
-cal_model_set_shell_settings (ECalModel *cal_model,
- EShellSettings *shell_settings)
-{
- g_return_if_fail (E_IS_SHELL_SETTINGS (shell_settings));
- g_return_if_fail (cal_model->priv->shell_settings == NULL);
-
- cal_model->priv->shell_settings = g_object_ref (shell_settings);
-}
+G_DEFINE_TYPE_WITH_CODE (
+ ECalModel, e_cal_model, E_TABLE_MODEL_TYPE,
+ G_IMPLEMENT_INTERFACE (E_TYPE_EXTENSIBLE, NULL))
static void
cal_model_set_property (GObject *object,
@@ -173,12 +162,6 @@ cal_model_set_property (GObject *object,
g_value_get_object (value));
return;
- case PROP_SHELL_SETTINGS:
- cal_model_set_shell_settings (
- E_CAL_MODEL (object),
- g_value_get_object (value));
- return;
-
case PROP_TIMEZONE:
e_cal_model_set_timezone (
E_CAL_MODEL (object),
@@ -215,13 +198,6 @@ cal_model_get_property (GObject *object,
E_CAL_MODEL (object)));
return;
- case PROP_SHELL_SETTINGS:
- g_value_set_object (
- value,
- e_cal_model_get_shell_settings (
- E_CAL_MODEL (object)));
- return;
-
case PROP_TIMEZONE:
g_value_set_pointer (
value,
@@ -254,11 +230,6 @@ cal_model_dispose (GObject *object)
priv = E_CAL_MODEL_GET_PRIVATE (object);
- if (priv->shell_settings != NULL) {
- g_object_unref (priv->shell_settings);
- priv->shell_settings = NULL;
- }
-
if (priv->clients) {
while (priv->clients != NULL) {
ECalModelClient *client_data = (ECalModelClient *) priv->clients->data;
@@ -317,28 +288,6 @@ cal_model_finalize (GObject *object)
}
static void
-cal_model_constructed (GObject *object)
-{
- ECalModel *model;
- EShellSettings *shell_settings;
-
- model = E_CAL_MODEL (object);
- shell_settings = e_cal_model_get_shell_settings (model);
-
- e_binding_new (
- shell_settings, "cal-timezone",
- model, "timezone");
-
- e_binding_new (
- shell_settings, "cal-use-24-hour-format",
- model, "use-24-hour-format");
-
- e_binding_new (
- shell_settings, "cal-week-start-day",
- model, "week-start-day");
-}
-
-static void
e_cal_model_class_init (ECalModelClass *class)
{
GObjectClass *object_class;
@@ -352,7 +301,6 @@ e_cal_model_class_init (ECalModelClass *class)
object_class->get_property = cal_model_get_property;
object_class->dispose = cal_model_dispose;
object_class->finalize = cal_model_finalize;
- object_class->constructed = cal_model_constructed;
etm_class = E_TABLE_MODEL_CLASS (class);
etm_class->column_count = ecm_column_count;
@@ -382,17 +330,6 @@ e_cal_model_class_init (ECalModelClass *class)
g_object_class_install_property (
object_class,
- PROP_SHELL_SETTINGS,
- g_param_spec_object (
- "shell-settings",
- _("Shell Settings"),
- _("Application-wide settings"),
- E_TYPE_SHELL_SETTINGS,
- G_PARAM_READWRITE |
- G_PARAM_CONSTRUCT_ONLY));
-
- g_object_class_install_property (
- object_class,
PROP_TIMEZONE,
g_param_spec_pointer (
"timezone",
@@ -513,6 +450,8 @@ e_cal_model_init (ECalModel *model)
model->priv->notify_modified = NULL;
model->priv->notify_removed = NULL;
model->priv->notify_lock = g_mutex_new ();
+
+ e_extensible_load_extensions (E_EXTENSIBLE (model));
}
/* ETableModel methods */
@@ -1387,14 +1326,6 @@ ecm_get_color_for_component (ECalModel *model, ECalModelComponent *comp_data)
return assigned_colors[first_empty].color;
}
-EShellSettings *
-e_cal_model_get_shell_settings (ECalModel *model)
-{
- g_return_val_if_fail (E_IS_CAL_MODEL (model), NULL);
-
- return model->priv->shell_settings;
-}
-
icalcomponent_kind
e_cal_model_get_component_kind (ECalModel *model)
{
diff --git a/calendar/gui/e-cal-model.h b/calendar/gui/e-cal-model.h
index 0b31ca34ec..29c3335310 100644
--- a/calendar/gui/e-cal-model.h
+++ b/calendar/gui/e-cal-model.h
@@ -29,7 +29,6 @@
#include <table/e-table-model.h>
#include <libecal/e-cal.h>
#include "e-cell-date-edit-text.h"
-#include <shell/e-shell-settings.h>
/* Standard GObject macros */
#define E_TYPE_CAL_MODEL \
@@ -176,7 +175,6 @@ typedef time_t (*ECalModelDefaultTimeFunc) (ECalModel *model, gpointer user_data
GType e_cal_model_get_type (void);
GType e_cal_model_component_get_type (void);
-EShellSettings *e_cal_model_get_shell_settings (ECalModel *model);
icalcomponent_kind
e_cal_model_get_component_kind (ECalModel *model);
void e_cal_model_set_component_kind (ECalModel *model,
diff --git a/calendar/gui/e-calendar-view.c b/calendar/gui/e-calendar-view.c
index 42e4c1cd7a..d41ef007a4 100644
--- a/calendar/gui/e-calendar-view.c
+++ b/calendar/gui/e-calendar-view.c
@@ -33,6 +33,7 @@
#include <libedataserver/e-time-utils.h>
#include <e-util/e-util.h>
#include <e-util/e-alert-dialog.h>
+#include <e-util/e-extensible.h>
#include <e-util/e-selection.h>
#include <e-util/e-datetime-format.h>
#include <e-util/e-dialog-utils.h>
@@ -104,7 +105,9 @@ static guint signals[LAST_SIGNAL];
static void calendar_view_selectable_init (ESelectableInterface *interface);
-G_DEFINE_ABSTRACT_TYPE_WITH_CODE (ECalendarView, e_calendar_view, GTK_TYPE_TABLE,
+G_DEFINE_ABSTRACT_TYPE_WITH_CODE (
+ ECalendarView, e_calendar_view, GTK_TYPE_TABLE,
+ G_IMPLEMENT_INTERFACE (E_TYPE_EXTENSIBLE, NULL)
G_IMPLEMENT_INTERFACE (E_TYPE_SELECTABLE, calendar_view_selectable_init));
static void
@@ -873,6 +876,8 @@ e_calendar_view_init (ECalendarView *calendar_view)
target_list = gtk_target_list_new (NULL, 0);
e_target_list_add_calendar_targets (target_list, 0);
calendar_view->priv->paste_target_list = target_list;
+
+ e_extensible_load_extensions (E_EXTENSIBLE (calendar_view));
}
static void
diff --git a/calendar/gui/e-day-view.c b/calendar/gui/e-day-view.c
index 9fb0a78ee4..cc8581fb00 100644
--- a/calendar/gui/e-day-view.c
+++ b/calendar/gui/e-day-view.c
@@ -590,56 +590,12 @@ static void
day_view_constructed (GObject *object)
{
ECalModel *model;
- EDayView *day_view;
- EShellSettings *shell_settings;
-
- day_view = E_DAY_VIEW (object);
- model = e_calendar_view_get_model (E_CALENDAR_VIEW (day_view));
- shell_settings = e_cal_model_get_shell_settings (model);
-
- e_binding_new (
- shell_settings, "cal-day-view-show-week-numbers",
- day_view->week_number_label, "visible");
-
- e_binding_new (
- shell_settings, "cal-marcus-bains-show-line",
- day_view, "marcus-bains-show-line");
-
- e_binding_new (
- shell_settings, "cal-marcus-bains-day-view-color",
- day_view, "marcus-bains-day-view-color");
-
- e_binding_new (
- shell_settings, "cal-marcus-bains-time-bar-color",
- day_view, "marcus-bains-time-bar-color");
-
- e_binding_new (
- shell_settings, "cal-time-divisions",
- day_view, "mins-per-row");
-
- e_binding_new (
- shell_settings, "cal-work-day-end-hour",
- day_view, "work-day-end-hour");
-
- e_binding_new (
- shell_settings, "cal-work-day-end-minute",
- day_view, "work-day-end-minute");
-
- e_binding_new (
- shell_settings, "cal-work-day-start-hour",
- day_view, "work-day-start-hour");
-
- e_binding_new (
- shell_settings, "cal-work-day-start-minute",
- day_view, "work-day-start-minute");
- e_binding_new (
- shell_settings, "cal-working-days-bitset",
- day_view, "working-days");
+ model = e_calendar_view_get_model (E_CALENDAR_VIEW (object));
g_signal_connect_swapped (
model, "notify::week-start-day",
- G_CALLBACK (day_view_notify_week_start_day_cb), day_view);
+ G_CALLBACK (day_view_notify_week_start_day_cb), object);
}
static void
diff --git a/calendar/gui/e-meeting-store.c b/calendar/gui/e-meeting-store.c
index 35bd87f3e2..6cfaecabfa 100644
--- a/calendar/gui/e-meeting-store.c
+++ b/calendar/gui/e-meeting-store.c
@@ -31,6 +31,7 @@
#include <libecal/e-cal-util.h>
#include <libecal/e-cal-time-util.h>
#include <libedataserver/e-data-server-util.h>
+#include <e-util/e-extensible.h>
#include "itip-utils.h"
#include "e-meeting-utils.h"
#include "e-meeting-attendee.h"
@@ -87,7 +88,13 @@ enum {
PROP_TIMEZONE
};
-static gpointer parent_class;
+/* Forward Declarations */
+static void ems_tree_model_init (GtkTreeModelIface *iface);
+
+G_DEFINE_TYPE_WITH_CODE (
+ EMeetingStore, e_meeting_store, GTK_TYPE_LIST_STORE,
+ G_IMPLEMENT_INTERFACE (E_TYPE_EXTENSIBLE, NULL)
+ G_IMPLEMENT_INTERFACE (GTK_TYPE_TREE_MODEL, ems_tree_model_init))
static icalparameter_cutype
text_to_type (const gchar *type)
@@ -624,15 +631,14 @@ meeting_store_finalize (GObject *object)
g_mutex_free (priv->mutex);
/* Chain up to parent's finalize() method. */
- G_OBJECT_CLASS (parent_class)->finalize (object);
+ G_OBJECT_CLASS (e_meeting_store_parent_class)->finalize (object);
}
static void
-meeting_store_class_init (GObjectClass *class)
+e_meeting_store_class_init (EMeetingStoreClass *class)
{
GObjectClass *object_class;
- parent_class = g_type_class_peek_parent (class);
g_type_class_add_private (class, sizeof (EMeetingStorePrivate));
object_class = G_OBJECT_CLASS (class);
@@ -671,7 +677,7 @@ meeting_store_class_init (GObjectClass *class)
}
static void
-meeting_store_init (EMeetingStore *store)
+e_meeting_store_init (EMeetingStore *store)
{
store->priv = E_MEETING_STORE_GET_PRIVATE (store);
@@ -682,41 +688,8 @@ meeting_store_init (EMeetingStore *store)
store->priv->mutex = g_mutex_new ();
store->priv->num_queries = 0;
-}
-
-GType
-e_meeting_store_get_type (void)
-{
- static GType type = 0;
-
- if (G_UNLIKELY (type == 0)) {
- static const GTypeInfo type_info = {
- sizeof (EMeetingStoreClass),
- (GBaseInitFunc) NULL,
- (GBaseFinalizeFunc) NULL,
- (GClassInitFunc) meeting_store_class_init,
- (GClassFinalizeFunc) NULL,
- NULL, /* class_data */
- sizeof (EMeetingStore),
- 0, /* n_preallocs */
- (GInstanceInitFunc) meeting_store_init,
- NULL /* value_table */
- };
-
- static const GInterfaceInfo tree_model_info = {
- (GInterfaceInitFunc) ems_tree_model_init,
- NULL,
- NULL
- };
-
- type = g_type_register_static (
- GTK_TYPE_LIST_STORE, "EMeetingStore", &type_info, 0);
-
- g_type_add_interface_static (
- type, GTK_TYPE_TREE_MODEL, &tree_model_info);
- }
- return type;
+ e_extensible_load_extensions (E_EXTENSIBLE (store));
}
GObject *
diff --git a/calendar/gui/e-meeting-time-sel.c b/calendar/gui/e-meeting-time-sel.c
index 19a572d6d8..dd3f49df75 100644
--- a/calendar/gui/e-meeting-time-sel.c
+++ b/calendar/gui/e-meeting-time-sel.c
@@ -40,6 +40,7 @@
#include "misc/e-dateedit.h"
#include "e-util/e-binding.h"
+#include "e-util/e-extensible.h"
#include "e-util/e-util.h"
#include "e-meeting-utils.h"
@@ -203,7 +204,9 @@ static void row_deleted_cb (GtkTreeModel *model, GtkTreePath *path, gpointer dat
static void free_busy_template_changed_cb (EMeetingTimeSelector *mts);
-G_DEFINE_TYPE (EMeetingTimeSelector, e_meeting_time_selector, GTK_TYPE_TABLE)
+G_DEFINE_TYPE_WITH_CODE (
+ EMeetingTimeSelector, e_meeting_time_selector, GTK_TYPE_TABLE,
+ G_IMPLEMENT_INTERFACE (E_TYPE_EXTENSIBLE, NULL))
static void
meeting_time_selector_set_property (GObject *object,
@@ -391,6 +394,8 @@ e_meeting_time_selector_init (EMeetingTimeSelector * mts)
mts->fb_refresh_not = 0;
mts->style_change_idle_id = 0;
+
+ e_extensible_load_extensions (E_EXTENSIBLE (mts));
}
void
@@ -1415,6 +1420,10 @@ e_meeting_time_selector_refresh_free_busy (EMeetingTimeSelector *mts, gint row,
GdkCursor *cursor;
GdkWindow *window;
+ /* nothing to refresh, lets not leak a busy cursor */
+ if (e_meeting_store_count_actual_attendees (mts->model) <= 0)
+ return;
+
start = mts->meeting_start_time;
g_date_subtract_days (&start.date, E_MEETING_TIME_SELECTOR_FB_DAYS_BEFORE);
start.hour = 0;
diff --git a/calendar/gui/e-week-view.c b/calendar/gui/e-week-view.c
index b96ec7e093..696113987b 100644
--- a/calendar/gui/e-week-view.c
+++ b/calendar/gui/e-week-view.c
@@ -523,19 +523,9 @@ week_view_constructed (GObject *object)
{
ECalModel *model;
ECalendarView *calendar_view;
- EShellSettings *shell_settings;
calendar_view = E_CALENDAR_VIEW (object);
model = e_calendar_view_get_model (calendar_view);
- shell_settings = e_cal_model_get_shell_settings (model);
-
- e_binding_new (
- shell_settings, "cal-compress-weekend",
- object, "compress-weekend");
-
- e_binding_new (
- shell_settings, "cal-show-event-end-times",
- object, "show-event-end-times");
g_signal_connect_swapped (
model, "notify::week-start-day",
diff --git a/calendar/gui/gnome-cal.c b/calendar/gui/gnome-cal.c
index 670512bb43..aa64c74564 100644
--- a/calendar/gui/gnome-cal.c
+++ b/calendar/gui/gnome-cal.c
@@ -76,8 +76,6 @@ static GHashTable *non_intrusive_error_table = NULL;
/* Private part of the GnomeCalendar structure */
struct _GnomeCalendarPrivate {
- EShellSettings *shell_settings;
-
ECalModel *model;
/*
@@ -329,16 +327,6 @@ gnome_calendar_update_time_range (GnomeCalendar *gcal)
}
static void
-gnome_calendar_set_shell_settings (GnomeCalendar *gcal,
- EShellSettings *shell_settings)
-{
- g_return_if_fail (E_IS_SHELL_SETTINGS (shell_settings));
- g_return_if_fail (gcal->priv->shell_settings == NULL);
-
- gcal->priv->shell_settings = g_object_ref (shell_settings);
-}
-
-static void
gnome_calendar_set_property (GObject *object,
guint property_id,
const GValue *value,
@@ -351,12 +339,6 @@ gnome_calendar_set_property (GObject *object,
g_value_get_object (value));
return;
- case PROP_SHELL_SETTINGS:
- gnome_calendar_set_shell_settings (
- GNOME_CALENDAR (object),
- g_value_get_object (value));
- return;
-
case PROP_VIEW:
gnome_calendar_set_view (
GNOME_CALENDAR (object),
@@ -392,12 +374,6 @@ gnome_calendar_get_property (GObject *object,
GNOME_CALENDAR (object)));
return;
- case PROP_SHELL_SETTINGS:
- g_value_set_object (
- value, gnome_calendar_get_shell_settings (
- GNOME_CALENDAR (object)));
- return;
-
case PROP_VIEW:
g_value_set_int (
value, gnome_calendar_get_view (
@@ -424,15 +400,12 @@ static void
gnome_calendar_constructed (GObject *object)
{
GnomeCalendar *gcal = GNOME_CALENDAR (object);
- EShellSettings *shell_settings;
ECalendarView *calendar_view;
ECalModel *model;
GtkAdjustment *adjustment;
- shell_settings = gnome_calendar_get_shell_settings (gcal);
-
/* Create the model for the views. */
- model = e_cal_model_calendar_new (shell_settings);
+ model = e_cal_model_calendar_new ();
e_cal_model_set_flags (model, E_CAL_MODEL_FLAGS_EXPAND_RECURRENCES);
gcal->priv->model = model;
@@ -545,17 +518,6 @@ gnome_calendar_class_init (GnomeCalendarClass *class)
g_object_class_install_property (
object_class,
- PROP_SHELL_SETTINGS,
- g_param_spec_object (
- "shell-settings",
- _("Shell Settings"),
- _("Application-wide settings"),
- E_TYPE_SHELL_SETTINGS,
- G_PARAM_READWRITE |
- G_PARAM_CONSTRUCT_ONLY));
-
- g_object_class_install_property (
- object_class,
PROP_VIEW,
g_param_spec_int (
"view",
@@ -1462,7 +1424,7 @@ gnome_calendar_init (GnomeCalendar *gcal)
priv->todo_update_lock = g_mutex_new ();
priv->dn_query_lock = g_mutex_new ();
- priv->current_view_type = GNOME_CAL_DAY_VIEW;
+ priv->current_view_type = GNOME_CAL_WORK_WEEK_VIEW;
priv->range_selected = FALSE;
priv->lview_select_daten_range = TRUE;
@@ -1492,11 +1454,6 @@ gnome_calendar_do_dispose (GObject *object)
priv = gcal->priv;
- if (priv->shell_settings != NULL) {
- g_object_unref (priv->shell_settings);
- priv->shell_settings = NULL;
- }
-
if (priv->model != NULL) {
g_signal_handlers_disconnect_by_func (
priv->model, view_progress_cb, gcal);
@@ -1906,21 +1863,9 @@ non_intrusive_error_remove(GtkWidget *w, gpointer data)
}
GtkWidget *
-gnome_calendar_new (EShellSettings *shell_settings)
+gnome_calendar_new (void)
{
- g_return_val_if_fail (E_IS_SHELL_SETTINGS (shell_settings), NULL);
-
- return g_object_new (
- GNOME_TYPE_CALENDAR,
- "shell-settings", shell_settings, NULL);
-}
-
-EShellSettings *
-gnome_calendar_get_shell_settings (GnomeCalendar *gcal)
-{
- g_return_val_if_fail (GNOME_IS_CALENDAR (gcal), NULL);
-
- return gcal->priv->shell_settings;
+ return g_object_new (GNOME_TYPE_CALENDAR, NULL);
}
ECalendar *
diff --git a/calendar/gui/gnome-cal.h b/calendar/gui/gnome-cal.h
index 4fa36b1446..52047a0e19 100644
--- a/calendar/gui/gnome-cal.h
+++ b/calendar/gui/gnome-cal.h
@@ -31,7 +31,6 @@
#include <gtk/gtk.h>
#include <misc/e-calendar.h>
#include <libecal/e-cal.h>
-#include <shell/e-shell-settings.h>
#include "e-cal-model.h"
@@ -113,10 +112,8 @@ struct _GnomeCalendarClass {
};
GType gnome_calendar_get_type (void);
-GtkWidget * gnome_calendar_new (EShellSettings *shell_settings);
+GtkWidget * gnome_calendar_new (void);
void gnome_calendar_dispose (GnomeCalendar *gcal);
-EShellSettings *gnome_calendar_get_shell_settings
- (GnomeCalendar *gcal);
ECalendar * gnome_calendar_get_date_navigator
(GnomeCalendar *gcal);
void gnome_calendar_set_date_navigator