aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Terry <mike@mterry.name>2011-03-01 15:33:47 -0500
committerMichael Terry <mike@mterry.name>2011-03-01 15:33:47 -0500
commitae98ec994ac7f79bc5ddf3ab01053c6d3cef3d57 (patch)
tree4dc39c5d885db1041a93b7024a1d4e754c9c7b42
parent486ad3625ca52b318f5514f782b90f1eda0b87e7 (diff)
parentb79665734363a3644d3eb7b13a110908ac05d3a1 (diff)
downloadayatana-indicator-datetime-ae98ec994ac7f79bc5ddf3ab01053c6d3cef3d57.tar.gz
ayatana-indicator-datetime-ae98ec994ac7f79bc5ddf3ab01053c6d3cef3d57.tar.bz2
ayatana-indicator-datetime-ae98ec994ac7f79bc5ddf3ab01053c6d3cef3d57.zip
merge from trunk
-rw-r--r--configure.ac4
-rw-r--r--data/com.canonical.indicator.datetime.gschema.xml12
-rw-r--r--data/datetime-dialog.ui61
-rw-r--r--libmap/data/olsen_map.pngbin0 -> 54969 bytes
-rw-r--r--libmap/test-timezone.c1
-rw-r--r--src/datetime-prefs.c49
-rw-r--r--src/datetime-service.c74
-rw-r--r--src/dbus-shared.h9
-rw-r--r--src/indicator-datetime.c62
-rw-r--r--src/settings-shared.h1
-rw-r--r--src/utils.c11
-rw-r--r--src/utils.h1
12 files changed, 105 insertions, 180 deletions
diff --git a/configure.ac b/configure.ac
index 08707bc..a762ea8 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,11 +1,11 @@
-AC_INIT(indicator-datetime, 0.1.94, ted@canonical.com)
+AC_INIT(indicator-datetime, 0.1.95, ted@canonical.com)
AC_COPYRIGHT([Copyright 2009,2010 Canonical])
AC_PREREQ(2.53)
AM_CONFIG_HEADER(config.h)
-AM_INIT_AUTOMAKE(indicator-datetime, 0.1.94)
+AM_INIT_AUTOMAKE(indicator-datetime, 0.1.95)
AM_MAINTAINER_MODE
diff --git a/data/com.canonical.indicator.datetime.gschema.xml b/data/com.canonical.indicator.datetime.gschema.xml
index 5361896..b33f34e 100644
--- a/data/com.canonical.indicator.datetime.gschema.xml
+++ b/data/com.canonical.indicator.datetime.gschema.xml
@@ -5,11 +5,6 @@
<value nick="24-hour" value="2" />
<value nick="custom" value="3" />
</enum>
- <enum id="week-start-enum">
- <value nick="locale-default" value="0" />
- <value nick="sunday" value="1" />
- <value nick="monday" value="2" />
- </enum>
<schema id="com.canonical.indicator.datetime" path="/com/canonical/indicator/datetime/" gettext-domain="indicator-datetime">
<key name="show-clock" type="b">
<default>true</default>
@@ -83,13 +78,6 @@
Shows the week numbers in the monthly calendar in indicator-datetime's menu.
</description>
</key>
- <key name="week-start" enum="week-start-enum">
- <default>'locale-default'</default>
- <summary>When the week starts</summary>
- <description>
- Controls whether weeks in the calendar are shown to start on Sunday or Monday.
- </description>
- </key>
<key name="show-events" type="b">
<default>true</default>
<summary>Show events in the indicator</summary>
diff --git a/data/datetime-dialog.ui b/data/datetime-dialog.ui
index b8d0777..35cb172 100644
--- a/data/datetime-dialog.ui
+++ b/data/datetime-dialog.ui
@@ -597,67 +597,6 @@
<property name="position">0</property>
</packing>
</child>
- <child>
- <object class="GtkLabel" id="label5">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="xalign">0</property>
- <property name="label" translatable="yes">Week begins on:</property>
- </object>
- <packing>
- <property name="expand">True</property>
- <property name="fill">True</property>
- <property name="position">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkHBox" id="hbox3">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="homogeneous">True</property>
- <child>
- <object class="GtkRadioButton" id="startOnSundayRadio">
- <property name="label" translatable="yes">S_unday</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">False</property>
- <property name="use_action_appearance">False</property>
- <property name="use_underline">True</property>
- <property name="xalign">0</property>
- <property name="active">True</property>
- <property name="draw_indicator">True</property>
- </object>
- <packing>
- <property name="expand">True</property>
- <property name="fill">True</property>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkRadioButton" id="startOnMondayRadio">
- <property name="label" translatable="yes">Monda_y</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">False</property>
- <property name="use_action_appearance">False</property>
- <property name="use_underline">True</property>
- <property name="xalign">0</property>
- <property name="draw_indicator">True</property>
- <property name="group">startOnSundayRadio</property>
- </object>
- <packing>
- <property name="expand">True</property>
- <property name="fill">True</property>
- <property name="position">1</property>
- </packing>
- </child>
- </object>
- <packing>
- <property name="expand">True</property>
- <property name="fill">True</property>
- <property name="position">2</property>
- </packing>
- </child>
</object>
</child>
</object>
diff --git a/libmap/data/olsen_map.png b/libmap/data/olsen_map.png
new file mode 100644
index 0000000..f9bb75c
--- /dev/null
+++ b/libmap/data/olsen_map.png
Binary files differ
diff --git a/libmap/test-timezone.c b/libmap/test-timezone.c
index d667c42..c1935fd 100644
--- a/libmap/test-timezone.c
+++ b/libmap/test-timezone.c
@@ -47,6 +47,7 @@ int main (int argc, char **argv)
g_free (filename);
g_free (path);
+ tz_info_free (info);
}
tz_db_free (db);
g_free (pixmap_dir);
diff --git a/src/datetime-prefs.c b/src/datetime-prefs.c
index d053c7e..c71217a 100644
--- a/src/datetime-prefs.c
+++ b/src/datetime-prefs.c
@@ -91,45 +91,6 @@ bind_hours_get (GValue * value, GVariant * variant, gpointer user_data)
return TRUE;
}
-/* Turns the boolean property into a string gsettings */
-static GVariant *
-bind_week_start_set (const GValue * value, const GVariantType * type, gpointer user_data)
-{
- const gchar * output = NULL;
- gboolean is_sunday_button = (gboolean)GPOINTER_TO_INT(user_data);
-
- if (g_value_get_boolean(value)) {
- /* Only do anything if we're setting active = true */
- output = is_sunday_button ? "sunday" : "monday";
- } else {
- return NULL;
- }
-
- return g_variant_new_string (output);
-}
-
-/* Turns a string gsettings into a boolean property */
-static gboolean
-bind_week_start_get (GValue * value, GVariant * variant, gpointer user_data)
-{
- const gchar * str = g_variant_get_string(variant, NULL);
- gboolean output = FALSE;
- gboolean is_sunday_button = (gboolean)GPOINTER_TO_INT(user_data);
-
- if (g_strcmp0(str, "locale-default") == 0) {
- output = (is_sunday_button == is_locale_week_start_sunday ());
- } else if (g_strcmp0(str, "sunday") == 0) {
- output = is_sunday_button;
- } else if (g_strcmp0(str, "monday") == 0) {
- output = !is_sunday_button;
- } else {
- return FALSE;
- }
-
- g_value_set_boolean (value, output);
- return TRUE;
-}
-
static void
widget_dependency_cb (GtkWidget * parent, GParamSpec *pspec, GtkWidget * dependent)
{
@@ -588,16 +549,6 @@ create_dialog (void)
"active", G_SETTINGS_BIND_DEFAULT);
g_settings_bind (conf, SETTINGS_SHOW_WEEK_NUMBERS_S, WIG ("includeWeekNumbersCheck"),
"active", G_SETTINGS_BIND_DEFAULT);
- g_settings_bind_with_mapping (conf, SETTINGS_WEEK_START_S,
- WIG ("startOnSundayRadio"), "active",
- G_SETTINGS_BIND_DEFAULT,
- bind_week_start_get, bind_week_start_set,
- GINT_TO_POINTER(TRUE), NULL);
- g_settings_bind_with_mapping (conf, SETTINGS_WEEK_START_S,
- WIG ("startOnMondayRadio"), "active",
- G_SETTINGS_BIND_DEFAULT,
- bind_week_start_get, bind_week_start_set,
- GINT_TO_POINTER(FALSE), NULL);
g_settings_bind (conf, SETTINGS_SHOW_EVENTS_S, WIG ("showEventsCheck"),
"active", G_SETTINGS_BIND_DEFAULT);
g_settings_bind (conf, SETTINGS_SHOW_LOCATIONS_S, WIG ("showLocationsCheck"),
diff --git a/src/datetime-service.c b/src/datetime-service.c
index ab609c4..6303a98 100644
--- a/src/datetime-service.c
+++ b/src/datetime-service.c
@@ -99,6 +99,9 @@ set_timezone_label (DbusmenuMenuitem * mi, const gchar * location)
dbusmenu_menuitem_property_set (mi, TIMEZONE_MENUITEM_PROP_NAME, name);
dbusmenu_menuitem_property_set (mi, TIMEZONE_MENUITEM_PROP_ZONE, zone);
+
+ g_free (zone);
+ g_free (name);
}
/* Check to see if our timezones are the same */
@@ -124,7 +127,7 @@ check_timezone_sync (void) {
} else {
g_debug("Timezones are different");
}
-
+
gboolean show = g_settings_get_boolean (conf, SETTINGS_SHOW_LOCATIONS_S);
if (geo_location != NULL && current_location != NULL) {
@@ -219,6 +222,7 @@ update_current_timezone (void) {
check_timezone_sync();
+ if (error != NULL) g_error_free(error);
return;
}
@@ -263,52 +267,35 @@ activate_cb (DbusmenuMenuitem * menuitem, guint timestamp, const gchar *command)
}
}
+static gboolean
+month_changed_cb (DbusmenuMenuitem * menuitem, GVariant *variant, guint timestamp)
+{
+ // TODO: * Decode the month/year from the string we received
+ // * Check what our current month/year are
+ // * Set some globals so when we-re-run update appointment menu items it gets the right start date
+ // * update appointment menu items
+ g_debug("Received month changed : %s", g_variant_get_string(variant, NULL));
+ return TRUE;
+}
+
/* Looks for the calendar application and enables the item if
we have one */
static gboolean
check_for_calendar (gpointer user_data)
{
g_return_val_if_fail (calendar != NULL, FALSE);
+
+ if (!g_settings_get_boolean(conf, SETTINGS_SHOW_CALENDAR_S)) return FALSE;
gchar *evo = g_find_program_in_path("evolution");
if (evo != NULL) {
g_debug("Found the calendar application: %s", evo);
dbusmenu_menuitem_property_set_bool(calendar, DBUSMENU_MENUITEM_PROP_ENABLED, TRUE);
dbusmenu_menuitem_property_set_bool(calendar, DBUSMENU_MENUITEM_PROP_VISIBLE, TRUE);
-/*
- GError *gerror = NULL;
- // TODO: In reality we should iterate sources of calendar, but getting the local one doens't lag for > a minute
- g_debug("Setting up ecal.");
- if (!ecal)
- ecal = e_cal_new_system_calendar();
-
- if (!ecal) {
- g_debug("e_cal_new_system_calendar failed");
- ecal = NULL;
- }
- g_debug("Open calendar.");
- if (!e_cal_open(ecal, FALSE, &gerror) ) {
- g_debug("e_cal_open: %s\n", gerror->message);
- g_free(ecal);
- ecal = NULL;
- }
- g_debug("Get calendar timezone.");
- if (!e_cal_get_timezone(ecal, "UTC", &tzone, &gerror)) {
- g_debug("failed to get time zone\n");
- g_free(ecal);
- ecal = NULL;
- }
-
- This timezone represents the timezone of the calendar, this might be different to the current UTC offset.
- * this means we'll have some geoclue interaction going on, and possibly the user will be involved in setting
- * their location manually, case in point: trains have satellite links which often geoclue to sweden,
- * this shouldn't automatically set the location and mess up all the appointments for the user.
-
- if (ecal) ecal_timezone = icaltimezone_get_tzid(tzone);
- */
+
DbusmenuMenuitem * separator = dbusmenu_menuitem_new();
dbusmenu_menuitem_property_set(separator, DBUSMENU_MENUITEM_PROP_TYPE, DBUSMENU_CLIENT_TYPES_SEPARATOR);
- dbusmenu_menuitem_child_add_position(root, separator, 3);
+ dbusmenu_menuitem_child_add_position(root, separator, 2);
add_appointment = dbusmenu_menuitem_new();
dbusmenu_menuitem_property_set (add_appointment, DBUSMENU_MENUITEM_PROP_LABEL, _("Add Appointment"));
@@ -317,9 +304,12 @@ check_for_calendar (gpointer user_data)
g_signal_connect(G_OBJECT(add_appointment), DBUSMENU_MENUITEM_SIGNAL_ITEM_ACTIVATED, G_CALLBACK(activate_cb), "evolution -c calendar");
dbusmenu_menuitem_child_add_position (root, add_appointment, 3);
- update_appointment_menu_items(NULL);
- g_signal_connect(root, DBUSMENU_MENUITEM_SIGNAL_ABOUT_TO_SHOW, G_CALLBACK(update_appointment_menu_items), NULL);
-
+ // Update the calendar items every 5 minutes if it updates the first time
+ if (update_appointment_menu_items(NULL))
+ g_timeout_add_seconds(60*5, update_appointment_menu_items, NULL);
+
+ // Connect to event::month-changed
+ g_signal_connect(calendar, "event::month-changed", G_CALLBACK(month_changed_cb), NULL);
g_free(evo);
} else {
g_debug("Unable to find calendar app.");
@@ -334,6 +324,7 @@ check_for_calendar (gpointer user_data)
static gboolean
update_timezone_menu_items(gpointer user_data) {
g_debug("Updating timezone menu items");
+
gchar ** locations = g_settings_get_strv(conf, SETTINGS_LOCATIONS_S);
if (locations == NULL) {
g_debug("No locations configured (NULL)");
@@ -400,7 +391,7 @@ auth_func (ECal *ecal, const gchar *prompt, const gchar *key, gpointer user_data
else component_name = "Calendar";
gchar *password = e_passwords_get_password (component_name, key);
-
+
if (password == NULL) {
password = e_passwords_ask_password (
_("Enter password"),
@@ -468,6 +459,9 @@ static gboolean
update_appointment_menu_items (gpointer user_data) {
// FFR: we should take into account short term timers, for instance
// tea timers, pomodoro timers etc... that people may add, this is hinted to in the spec.
+ if (calendar == NULL) return FALSE;
+ if (!g_settings_get_boolean(conf, SETTINGS_SHOW_EVENTS_S)) return FALSE;
+
time_t t1, t2;
gchar *query, *is, *ie, *ad;
GList *objects = NULL, *l;
@@ -520,7 +514,6 @@ update_appointment_menu_items (gpointer user_data) {
g_signal_connect (G_OBJECT(source), "changed", G_CALLBACK (update_appointment_menu_items), NULL);
ECal *ecal = e_cal_new(source, E_CAL_SOURCE_TYPE_EVENT);
e_cal_set_auth_func (ecal, (ECalAuthFunc) auth_func, NULL);
- //icaltimezone * tzone;
if (!e_cal_open(ecal, FALSE, &gerror)) {
g_debug("Failed to get ecal sources %s", gerror->message);
@@ -533,7 +526,8 @@ update_appointment_menu_items (gpointer user_data) {
if (!e_cal_get_object_list_as_comp(ecal, query, &objects, &gerror)) {
g_debug("Failed to get objects\n");
g_free(ecal);
- return FALSE;
+ gerror = NULL;
+ continue;
}
g_debug("Number of objects returned: %d", g_list_length(objects));
@@ -678,6 +672,8 @@ update_appointment_menu_items (gpointer user_data) {
if (i == 4) break; // See above FIXME regarding query result limit
i++;
}
+
+ if (gerror != NULL) g_error_free(gerror);
g_object_unref(allobjects);
g_debug("End of objects");
return TRUE;
diff --git a/src/dbus-shared.h b/src/dbus-shared.h
index f0f05a9..fa6de7b 100644
--- a/src/dbus-shared.h
+++ b/src/dbus-shared.h
@@ -27,7 +27,14 @@ with this program. If not, see <http://www.gnu.org/licenses/>.
#define MENU_OBJ "/com/canonical/indicator/datetime/menu"
-#define DBUSMENU_CALENDAR_MENUITEM_TYPE "x-canonical-calendar-item"
+#define DBUSMENU_CALENDAR_MENUITEM_TYPE "x-canonical-calendar-item"
+
+// The following properties are not *really* properties, but are just
+// a way of accessing the calendar from the service
+#define CALENDAR_MENUITEM_PROP_MARK "calendar-mark"
+#define CALENDAR_MENUITEM_PROP_UNMARK "calendar-unmark"
+#define CALENDAR_MENUITEM_PROP_CLEAR_MARKS "calendar-clear-marks"
+
#define APPOINTMENT_MENUITEM_TYPE "appointment-item"
#define APPOINTMENT_MENUITEM_PROP_LABEL "appointment-label"
diff --git a/src/indicator-datetime.c b/src/indicator-datetime.c
index 2e336c7..2099929 100644
--- a/src/indicator-datetime.c
+++ b/src/indicator-datetime.c
@@ -25,6 +25,7 @@ with this program. If not, see <http://www.gnu.org/licenses/>.
/* GStuff */
#include <glib.h>
+#include <glib/gprintf.h>
#include <glib-object.h>
#include <glib/gi18n-lib.h>
#include <gio/gio.h>
@@ -36,7 +37,7 @@ with this program. If not, see <http://www.gnu.org/licenses/>.
/* DBusMenu */
#include <libdbusmenu-gtk/menu.h>
-#include <libido/idocalendarmenuitem.h>
+#include <libido/libido.h>
#include <libdbusmenu-gtk/menuitem.h>
#include "utils.h"
@@ -77,6 +78,9 @@ struct _IndicatorDatetimePrivate {
gchar * custom_string;
gboolean custom_show_seconds;
+ gboolean show_week_numbers;
+ gint week_start;
+
guint idle_measure;
gint max_width;
@@ -100,7 +104,8 @@ enum {
PROP_SHOW_SECONDS,
PROP_SHOW_DAY,
PROP_SHOW_DATE,
- PROP_CUSTOM_TIME_FORMAT
+ PROP_CUSTOM_TIME_FORMAT,
+ PROP_SHOW_WEEK_NUMBERS
};
typedef struct _indicator_item_t indicator_item_t;
@@ -118,6 +123,7 @@ struct _indicator_item_t {
#define PROP_SHOW_DAY_S "show-day"
#define PROP_SHOW_DATE_S "show-date"
#define PROP_CUSTOM_TIME_FORMAT_S "custom-time-format"
+#define PROP_SHOW_WEEK_NUMBERS_S "show-week-numbers"
#define INDICATOR_DATETIME_GET_PRIVATE(o) \
(G_TYPE_INSTANCE_GET_PRIVATE ((o), INDICATOR_DATETIME_TYPE, IndicatorDatetimePrivate))
@@ -222,6 +228,13 @@ indicator_datetime_class_init (IndicatorDatetimeClass *klass)
DEFAULT_TIME_FORMAT,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+ g_object_class_install_property (object_class,
+ PROP_SHOW_WEEK_NUMBERS,
+ g_param_spec_boolean(PROP_SHOW_WEEK_NUMBERS_S,
+ "Whether to show the week numbers in the calendar.",
+ "Shows the week numbers in the monthly calendar in indicator-datetime's menu.",
+ FALSE, /* default */
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
return;
}
@@ -280,6 +293,11 @@ indicator_datetime_init (IndicatorDatetime *self)
self,
PROP_CUSTOM_TIME_FORMAT_S,
G_SETTINGS_BIND_DEFAULT);
+ g_settings_bind(self->priv->settings,
+ SETTINGS_SHOW_WEEK_NUMBERS_S,
+ self,
+ PROP_SHOW_WEEK_NUMBERS_S,
+ G_SETTINGS_BIND_DEFAULT);
} else {
g_warning("Unable to get settings for '" SETTINGS_INTERFACE "'");
}
@@ -506,6 +524,18 @@ set_property (GObject * object, guint prop_id, const GValue * value, GParamSpec
}
break;
}
+ case PROP_SHOW_WEEK_NUMBERS: {
+ if (g_value_get_boolean(value) != self->priv->show_week_numbers) {
+ GtkCalendarDisplayOptions flags = ido_calendar_menu_item_get_display_options (self->priv->ido_calendar);
+ if (g_value_get_boolean(value) == TRUE)
+ flags |= GTK_CALENDAR_SHOW_WEEK_NUMBERS;
+ else
+ flags &= ~GTK_CALENDAR_SHOW_WEEK_NUMBERS;
+ ido_calendar_menu_item_set_display_options (self->priv->ido_calendar, flags);
+ self->priv->show_week_numbers = g_value_get_boolean(value);
+ }
+ break;
+ }
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
return;
@@ -561,6 +591,9 @@ get_property (GObject * object, guint prop_id, GValue * value, GParamSpec * pspe
case PROP_CUSTOM_TIME_FORMAT:
g_value_set_string(value, self->priv->custom_string);
break;
+ case PROP_SHOW_WEEK_NUMBERS:
+ g_value_set_boolean(value, self->priv->show_week_numbers);
+ break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
return;
@@ -1055,6 +1088,15 @@ indicator_prop_change_cb (DbusmenuMenuitem * mi, gchar * prop, GVariant *value,
timezone_update_labels(mi_data);
} else if (!g_strcmp0(prop, TIMEZONE_MENUITEM_PROP_RADIO)) {
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(mi_data->gmi), g_variant_get_boolean(value));
+
+ // Properties for marking and unmarking the calendar
+
+ } else if (!g_strcmp0(prop, CALENDAR_MENUITEM_PROP_MARK)) {
+ ido_calendar_menu_item_mark_day (IDO_CALENDAR_MENU_ITEM (mi_data), g_variant_get_int16(value));
+ } else if (!g_strcmp0(prop, CALENDAR_MENUITEM_PROP_UNMARK)) {
+ ido_calendar_menu_item_unmark_day (IDO_CALENDAR_MENU_ITEM (mi_data), g_variant_get_int16(value));
+ } else if (!g_strcmp0(prop, CALENDAR_MENUITEM_PROP_CLEAR_MARKS)) {
+ ido_calendar_menu_item_clear_marks (IDO_CALENDAR_MENU_ITEM (mi_data));
} else {
g_warning("Indicator Item property '%s' unknown", prop);
}
@@ -1138,6 +1180,20 @@ new_appointment_item (DbusmenuMenuitem * newitem, DbusmenuMenuitem * parent, Dbu
return TRUE;
}
+static void
+month_changed_cb (IdoCalendarMenuItem *ido,
+ gpointer user_data)
+{
+ gchar datestring[20];
+ guint d,m,y;
+ DbusmenuMenuitem * item = DBUSMENU_MENUITEM (user_data);
+ ido_calendar_menu_item_get_date(ido, &y, &m, &d);
+ g_sprintf(datestring, "%d-%d-%d", y, m, d);
+ GVariant *variant = g_variant_new_string(datestring);
+ guint timestamp = (guint)time(NULL);
+ dbusmenu_menuitem_handle_event(DBUSMENU_MENUITEM(item), "event::month-changed", variant, timestamp);
+ g_debug("Got month changed signal: %s", datestring);
+}
static gboolean
new_calendar_item (DbusmenuMenuitem * newitem,
@@ -1162,7 +1218,7 @@ new_calendar_item (DbusmenuMenuitem * newitem,
self->priv->ido_calendar = ido;
dbusmenu_gtkclient_newitem_base(DBUSMENU_GTKCLIENT(client), newitem, GTK_MENU_ITEM(ido), parent);
-
+ g_signal_connect_after(ido, "month-changed", G_CALLBACK(month_changed_cb), (gpointer)newitem);
return TRUE;
}
diff --git a/src/settings-shared.h b/src/settings-shared.h
index a4fac24..df2260e 100644
--- a/src/settings-shared.h
+++ b/src/settings-shared.h
@@ -31,7 +31,6 @@ with this program. If not, see <http://www.gnu.org/licenses/>.
#define SETTINGS_CUSTOM_TIME_FORMAT_S "custom-time-format"
#define SETTINGS_SHOW_CALENDAR_S "show-calendar"
#define SETTINGS_SHOW_WEEK_NUMBERS_S "show-week-numbers"
-#define SETTINGS_WEEK_START_S "week-start"
#define SETTINGS_SHOW_EVENTS_S "show-events"
#define SETTINGS_SHOW_LOCATIONS_S "show-locations"
#define SETTINGS_LOCATIONS_S "locations"
diff --git a/src/utils.c b/src/utils.c
index 20ae958..7471926 100644
--- a/src/utils.c
+++ b/src/utils.c
@@ -50,17 +50,6 @@ is_locale_12h (void)
return TRUE;
}
-/* Check the system locale setting to see if the week starts on Sunday or Monday */
-gboolean
-is_locale_week_start_sunday (void)
-{
- const char * week_1stday = nl_langinfo (_NL_TIME_WEEK_1STDAY);
-
- /* This appears to be a special value that libc uses for Sunday, it's not
- really a string */
- return (GPOINTER_TO_INT (week_1stday) == 19971130);
-}
-
void
split_settings_location (const gchar * location, gchar ** zone, gchar ** name)
{
diff --git a/src/utils.h b/src/utils.h
index 3dc8df1..5f7842c 100644
--- a/src/utils.h
+++ b/src/utils.h
@@ -28,7 +28,6 @@ with this program. If not, see <http://www.gnu.org/licenses/>.
G_BEGIN_DECLS
gboolean is_locale_12h (void);
-gboolean is_locale_week_start_sunday (void);
void split_settings_location (const gchar * location, gchar ** zone, gchar ** name);
gchar * generate_format_string_full (gboolean show_day, gboolean show_date);
gchar * generate_format_string_at_time (GDateTime * time);