--- large-statusbar-clock-0.7.orig/large-statusbar-clock-minutes.c +++ large-statusbar-clock-0.7/large-statusbar-clock-minutes.c @@ -46,6 +46,7 @@ void minutes_button_clicked(GtkButton *button, gpointer data); gboolean update_minutes(gpointer data); void launch_clock(GtkMenuItem *item, gpointer data); +void launch_datesettings(GtkMenuItem *item, gpointer data); void configure_clock(GtkMenuItem *item, gpointer data); void popup_place(GtkMenu *menu, gint *x, gint *y, gboolean *push_in, gpointer user_data); gint dbus_req_handler(const gchar* interface, const gchar* method, GArray* arguments, gpointer data, osso_rpc_t* retval); @@ -358,6 +359,12 @@ gtk_menu_shell_append(GTK_MENU_SHELL(statusbar_plugin->minutesMenu), menu_item); } + + menu_item = gtk_menu_item_new_with_label("Date and time settings..."); + g_signal_connect(menu_item, "activate", G_CALLBACK(launch_datesettings),statusbar_plugin); + gtk_widget_show_all(menu_item); + gtk_menu_shell_append(GTK_MENU_SHELL(statusbar_plugin->minutesMenu), menu_item); + menu_item = gtk_menu_item_new_with_label("Configure"); g_signal_connect(menu_item, "activate", G_CALLBACK(configure_clock),statusbar_plugin); gtk_widget_show_all(menu_item); @@ -396,6 +403,26 @@ osso_deinitialize(context); } +void launch_datesettings(GtkMenuItem *item, gpointer data) +{ + osso_context_t *context; + osso_return_t ret; + + context = osso_initialize("toptest", "0.1", TRUE, NULL); + if (context == NULL) + { + printf("could not connect to D-Bus\n"); + } + ret = osso_cp_plugin_execute(context, "libcpdatetime.so", data, TRUE); + + if (ret != OSSO_OK) + { + printf("ERROR!\n"); + } + + osso_deinitialize(context); +} + void toggle_alarms(GtkToggleButton *button, GtkVBox *box) { if (gtk_toggle_button_get_active(button))