diff options
author | Matthew Barnes <mbarnes@src.gnome.org> | 2008-09-11 12:42:53 +0800 |
---|---|---|
committer | Matthew Barnes <mbarnes@src.gnome.org> | 2008-09-11 12:42:53 +0800 |
commit | 6545899a2972546a035da4d73c3625b9e8bb7438 (patch) | |
tree | 63abda4bfb1f02af0bba51c6064e4f6b1131cc44 /calendar | |
parent | c701a5e0260fb27c26a4e81edaee61db651b1040 (diff) | |
download | gsoc2013-evolution-6545899a2972546a035da4d73c3625b9e8bb7438.tar gsoc2013-evolution-6545899a2972546a035da4d73c3625b9e8bb7438.tar.gz gsoc2013-evolution-6545899a2972546a035da4d73c3625b9e8bb7438.tar.bz2 gsoc2013-evolution-6545899a2972546a035da4d73c3625b9e8bb7438.tar.lz gsoc2013-evolution-6545899a2972546a035da4d73c3625b9e8bb7438.tar.xz gsoc2013-evolution-6545899a2972546a035da4d73c3625b9e8bb7438.tar.zst gsoc2013-evolution-6545899a2972546a035da4d73c3625b9e8bb7438.zip |
Add menu and toolbar UI for calendars, memos and tasks.
svn path=/branches/kill-bonobo/; revision=36299
Diffstat (limited to 'calendar')
24 files changed, 1210 insertions, 219 deletions
diff --git a/calendar/gui/Makefile.am b/calendar/gui/Makefile.am index a6908118da..df9485d139 100644 --- a/calendar/gui/Makefile.am +++ b/calendar/gui/Makefile.am @@ -2,34 +2,12 @@ if OS_WIN32 WIN32_BOOTSTRAP_LIBS = $(top_builddir)/win32/libevolution-mail.la endif -## CORBA stuff - -IDLS = \ - $(top_srcdir)/calendar/idl/evolution-calendar.idl - -CALENDAR_IDL_GENERATED_H = \ - evolution-calendar.h -CALENDAR_IDL_GENERATED_C = \ - evolution-calendar-common.c \ - evolution-calendar-skels.c \ - evolution-calendar-stubs.c -CALENDAR_IDL_GENERATED = $(CALENDAR_IDL_GENERATED_C) $(CALENDAR_IDL_GENERATED_H) - -$(CALENDAR_IDL_GENERATED_H): $(IDLS) - $(ORBIT_IDL) -I $(srcdir) $(IDL_INCLUDES) \ - $(top_srcdir)/calendar/idl/evolution-calendar.idl -$(CALENDAR_IDL_GENERATED_C): $(CALENDAR_IDL_GENERATED_H) - -IDL_GENERATED = $(CALENDAR_IDL_GENERATED) - # The marshallers MARSHAL_GENERATED = e-calendar-marshal.c e-calendar-marshal.h @EVO_MARSHAL_RULE@ SUBDIRS = alarm-notify dialogs -component_LTLIBRARIES = libevolution-calendar.la - ecalendarincludedir = $(privincludedir)/calendar/gui ecalendarinclude_HEADERS = \ @@ -60,6 +38,38 @@ INCLUDES = \ $(LIBSOUP_CFLAGS) \ $(EVOLUTION_CALENDAR_CFLAGS) +module_LTLIBRARIES = \ + libevolution-calendar.la \ + libevolution-memos.la \ + libevolution-tasks.la + +libevolution_calendar_la_SOURCES = \ + e-cal-shell-module.c \ + e-cal-shell-view.c \ + e-cal-shell-view.h \ + e-cal-shell-view-actions.c \ + e-cal-shell-view-actions.h \ + e-cal-shell-view-private.c \ + e-cal-shell-view-private.h + +libevolution_memos_la_SOURCES = \ + e-memo-shell-module.c \ + e-memo-shell-view.c \ + e-memo-shell-view.h \ + e-memo-shell-view-actions.c \ + e-memo-shell-view-actions.h \ + e-memo-shell-view-private.c \ + e-memo-shell-view-private.h + +libevolution_tasks_la_SOURCES = \ + e-task-shell-module.c \ + e-task-shell-view.c \ + e-task-shell-view.h \ + e-task-shell-view-actions.c \ + e-task-shell-view-actions.h \ + e-task-shell-view-private.c \ + e-task-shell-view-private.h + glade_DATA = \ e-itip-control.glade \ goto-dialog.glade @@ -70,153 +80,152 @@ etspec_DATA = \ e-cal-list-view.etspec \ e-memo-table.etspec -libevolution_calendar_la_SOURCES = \ - $(IDL_GENERATED) \ - $(MARSHAL_GENERATED) \ - cal-search-bar.c \ - cal-search-bar.h \ - calendar-config.c \ - calendar-config.h \ - calendar-config-keys.h \ - calendar-commands.c \ - calendar-commands.h \ - calendar-component.c \ - calendar-component.h \ - calendar-view.c \ - calendar-view.h \ - calendar-view-factory.c \ - calendar-view-factory.h \ - comp-editor-factory.c \ - comp-editor-factory.h \ - comp-util.c \ - comp-util.h \ - control-factory.c \ - control-factory.h \ - e-alarm-list.c \ - e-alarm-list.h \ - e-cal-component-preview.c \ - e-cal-component-preview.h \ - e-cal-component-memo-preview.c \ - e-cal-component-memo-preview.h \ - e-cal-config.c \ - e-cal-config.h \ - e-cal-event.c \ - e-cal-event.h \ - e-cal-menu.c \ - e-cal-menu.h \ - e-cal-model-calendar.h \ - e-cal-model-calendar.c \ - e-cal-model-calendar.h \ - e-cal-model-tasks.c \ - e-cal-model-tasks.h \ - e-cal-model.c \ - e-cal-model.h \ - e-cal-popup.h \ - e-cal-popup.c \ - e-calendar-view.c \ - e-calendar-view.h \ - e-cal-list-view.c \ - e-cal-list-view.h \ - e-cal-list-view-config.c \ - e-cal-list-view-config.h \ - e-cal-model-memos.c \ - e-cal-model-memos.h \ - e-calendar-table.c \ - e-calendar-table.h \ - e-calendar-table-config.c \ - e-calendar-table-config.h \ - e-cell-date-edit-config.c \ - e-cell-date-edit-config.h \ - e-cell-date-edit-text.h \ - e-cell-date-edit-text.c \ - e-comp-editor-registry.c \ - e-comp-editor-registry.h \ - e-date-edit-config.c \ - e-date-edit-config.h \ - e-date-time-list.c \ - e-date-time-list.h \ - e-day-view-config.c \ - e-day-view-config.h \ - e-day-view-layout.c \ - e-day-view-layout.h \ - e-day-view-main-item.c \ - e-day-view-main-item.h \ - e-day-view-time-item.c \ - e-day-view-time-item.h \ - e-day-view-top-item.c \ - e-day-view-top-item.h \ - e-day-view.c \ - e-day-view.h \ - e-itip-control.h \ - e-itip-control.c \ - e-meeting-attendee.c \ - e-meeting-attendee.h \ - e-meeting-list-view.c \ - e-meeting-list-view.h \ - e-meeting-store.c \ - e-meeting-store.h \ - e-meeting-time-sel.c \ - e-meeting-time-sel.h \ - e-meeting-time-sel-item.c \ - e-meeting-time-sel-item.h \ - e-meeting-types.h \ - e-meeting-utils.c \ - e-meeting-utils.h \ - e-memo-table.c \ - e-memo-table.h \ - e-memo-table-config.c \ - e-memo-table-config.h \ - e-memos.c \ - e-memos.h \ - e-mini-calendar-config.c \ - e-mini-calendar-config.h \ - e-select-names-editable.c \ - e-select-names-editable.h \ - e-select-names-renderer.c \ - e-select-names-renderer.h \ - e-week-view-config.c \ - e-week-view-config.h \ - e-week-view-event-item.c \ - e-week-view-event-item.h \ - e-week-view-layout.c \ - e-week-view-layout.h \ - e-week-view-main-item.c \ - e-week-view-main-item.h \ - e-week-view-titles-item.c \ - e-week-view-titles-item.h \ - e-week-view.c \ - e-week-view.h \ - e-tasks.c \ - e-tasks.h \ - e-timezone-entry.c \ - e-timezone-entry.h \ - gnome-cal.c \ - gnome-cal.h \ - goto.c \ - goto.h \ - itip-bonobo-control.c \ - itip-bonobo-control.h \ - itip-utils.c \ - itip-utils.h \ - main.c \ - memos-component.c \ - memos-component.h \ - memos-control.c \ - memos-control.h \ - migration.c \ - migration.h \ - misc.c \ - misc.h \ - print.c \ - print.h \ - tag-calendar.c \ - tag-calendar.h \ - tasks-component.c \ - tasks-component.h \ - tasks-control.c \ - tasks-control.h \ - weekday-picker.c \ - weekday-picker.h +#libevolution_calendar_la_SOURCES = \ +# $(MARSHAL_GENERATED) \ +# cal-search-bar.c \ +# cal-search-bar.h \ +# calendar-config.c \ +# calendar-config.h \ +# calendar-config-keys.h \ +# calendar-commands.c \ +# calendar-commands.h \ +# calendar-component.c \ +# calendar-component.h \ +# calendar-view.c \ +# calendar-view.h \ +# calendar-view-factory.c \ +# calendar-view-factory.h \ +# comp-editor-factory.c \ +# comp-editor-factory.h \ +# comp-util.c \ +# comp-util.h \ +# control-factory.c \ +# control-factory.h \ +# e-alarm-list.c \ +# e-alarm-list.h \ +# e-cal-component-preview.c \ +# e-cal-component-preview.h \ +# e-cal-component-memo-preview.c \ +# e-cal-component-memo-preview.h \ +# e-cal-config.c \ +# e-cal-config.h \ +# e-cal-event.c \ +# e-cal-event.h \ +# e-cal-menu.c \ +# e-cal-menu.h \ +# e-cal-model-calendar.h \ +# e-cal-model-calendar.c \ +# e-cal-model-calendar.h \ +# e-cal-model-tasks.c \ +# e-cal-model-tasks.h \ +# e-cal-model.c \ +# e-cal-model.h \ +# e-cal-popup.h \ +# e-cal-popup.c \ +# e-calendar-view.c \ +# e-calendar-view.h \ +# e-cal-list-view.c \ +# e-cal-list-view.h \ +# e-cal-list-view-config.c \ +# e-cal-list-view-config.h \ +# e-cal-model-memos.c \ +# e-cal-model-memos.h \ +# e-calendar-table.c \ +# e-calendar-table.h \ +# e-calendar-table-config.c \ +# e-calendar-table-config.h \ +# e-cell-date-edit-config.c \ +# e-cell-date-edit-config.h \ +# e-cell-date-edit-text.h \ +# e-cell-date-edit-text.c \ +# e-comp-editor-registry.c \ +# e-comp-editor-registry.h \ +# e-date-edit-config.c \ +# e-date-edit-config.h \ +# e-date-time-list.c \ +# e-date-time-list.h \ +# e-day-view-config.c \ +# e-day-view-config.h \ +# e-day-view-layout.c \ +# e-day-view-layout.h \ +# e-day-view-main-item.c \ +# e-day-view-main-item.h \ +# e-day-view-time-item.c \ +# e-day-view-time-item.h \ +# e-day-view-top-item.c \ +# e-day-view-top-item.h \ +# e-day-view.c \ +# e-day-view.h \ +# e-itip-control.h \ +# e-itip-control.c \ +# e-meeting-attendee.c \ +# e-meeting-attendee.h \ +# e-meeting-list-view.c \ +# e-meeting-list-view.h \ +# e-meeting-store.c \ +# e-meeting-store.h \ +# e-meeting-time-sel.c \ +# e-meeting-time-sel.h \ +# e-meeting-time-sel-item.c \ +# e-meeting-time-sel-item.h \ +# e-meeting-types.h \ +# e-meeting-utils.c \ +# e-meeting-utils.h \ +# e-memo-table.c \ +# e-memo-table.h \ +# e-memo-table-config.c \ +# e-memo-table-config.h \ +# e-memos.c \ +# e-memos.h \ +# e-mini-calendar-config.c \ +# e-mini-calendar-config.h \ +# e-select-names-editable.c \ +# e-select-names-editable.h \ +# e-select-names-renderer.c \ +# e-select-names-renderer.h \ +# e-week-view-config.c \ +# e-week-view-config.h \ +# e-week-view-event-item.c \ +# e-week-view-event-item.h \ +# e-week-view-layout.c \ +# e-week-view-layout.h \ +# e-week-view-main-item.c \ +# e-week-view-main-item.h \ +# e-week-view-titles-item.c \ +# e-week-view-titles-item.h \ +# e-week-view.c \ +# e-week-view.h \ +# e-tasks.c \ +# e-tasks.h \ +# e-timezone-entry.c \ +# e-timezone-entry.h \ +# gnome-cal.c \ +# gnome-cal.h \ +# goto.c \ +# goto.h \ +# itip-bonobo-control.c \ +# itip-bonobo-control.h \ +# itip-utils.c \ +# itip-utils.h \ +# main.c \ +# memos-component.c \ +# memos-component.h \ +# memos-control.c \ +# memos-control.h \ +# migration.c \ +# migration.h \ +# misc.c \ +# misc.h \ +# print.c \ +# print.h \ +# tag-calendar.c \ +# tag-calendar.h \ +# tasks-component.c \ +# tasks-component.h \ +# tasks-control.c \ +# tasks-control.h \ +# weekday-picker.c \ +# weekday-picker.h libevolution_calendar_la_LIBADD = \ $(WIN32_BOOTSTRAP_LIBS) \ @@ -226,7 +235,38 @@ libevolution_calendar_la_LIBADD = \ $(top_builddir)/calendar/gui/dialogs/libcal-dialogs.la \ $(top_builddir)/calendar/importers/libevolution-calendar-importers.la \ $(top_builddir)/widgets/e-timezone-dialog/libetimezonedialog.la \ - $(top_builddir)/widgets/misc/libefilterbar.la \ + $(top_builddir)/widgets/misc/libemiscwidgets.la \ + $(top_builddir)/filter/libfilter.la \ + $(top_builddir)/e-util/libeutil.la \ + $(top_builddir)/a11y/calendar/libevolution-calendar-a11y.la \ + $(LIBSOUP_LIBS) \ + $(CAMEL_LIBS) \ + $(EVOLUTION_CALENDAR_LIBS) + +libevolution_memos_la_LIBADD = \ + $(WIN32_BOOTSTRAP_LIBS) \ + $(top_builddir)/widgets/menus/libmenus.la \ + $(top_builddir)/shell/libeshell.la \ + $(top_builddir)/calendar/common/libevolution-calendarprivate.la \ + $(top_builddir)/calendar/gui/dialogs/libcal-dialogs.la \ + $(top_builddir)/calendar/importers/libevolution-calendar-importers.la \ + $(top_builddir)/widgets/e-timezone-dialog/libetimezonedialog.la \ + $(top_builddir)/widgets/misc/libemiscwidgets.la \ + $(top_builddir)/filter/libfilter.la \ + $(top_builddir)/e-util/libeutil.la \ + $(top_builddir)/a11y/calendar/libevolution-calendar-a11y.la \ + $(LIBSOUP_LIBS) \ + $(CAMEL_LIBS) \ + $(EVOLUTION_CALENDAR_LIBS) + +libevolution_tasks_la_LIBADD = \ + $(WIN32_BOOTSTRAP_LIBS) \ + $(top_builddir)/widgets/menus/libmenus.la \ + $(top_builddir)/shell/libeshell.la \ + $(top_builddir)/calendar/common/libevolution-calendarprivate.la \ + $(top_builddir)/calendar/gui/dialogs/libcal-dialogs.la \ + $(top_builddir)/calendar/importers/libevolution-calendar-importers.la \ + $(top_builddir)/widgets/e-timezone-dialog/libetimezonedialog.la \ $(top_builddir)/widgets/misc/libemiscwidgets.la \ $(top_builddir)/filter/libfilter.la \ $(top_builddir)/e-util/libeutil.la \ @@ -236,10 +276,9 @@ libevolution_calendar_la_LIBADD = \ $(EVOLUTION_CALENDAR_LIBS) libevolution_calendar_la_LDFLAGS = -avoid-version -module $(NO_UNDEFINED) +libevolution_memos_la_LDFLAGS = -avoid-version -module $(NO_UNDEFINED) +libevolution_tasks_la_LDFLAGS = -avoid-version -module $(NO_UNDEFINED) -server_in_files = GNOME_Evolution_Calendar.server.in.in -server_DATA = $(server_in_files:.server.in.in=.server) -@EVO_SERVER_RULE@ @INTLTOOL_SERVER_RULE@ # GConf schemas @@ -255,10 +294,8 @@ EXTRA_DIST = \ $(glade_DATA) \ $(schema_in_files) \ $(etspec_DATA) \ - $(server_in_files) \ $(search_files) -BUILT_SOURCES = $(IDL_GENERATED) $(server_DATA) CLEANFILES = $(BUILT_SOURCES) DISTCLEANFILES = $(schema_DATA) diff --git a/calendar/gui/dialogs/cal-prefs-dialog.h b/calendar/gui/dialogs/cal-prefs-dialog.h index 46eff11cef..9ab4ebefd9 100644 --- a/calendar/gui/dialogs/cal-prefs-dialog.h +++ b/calendar/gui/dialogs/cal-prefs-dialog.h @@ -29,7 +29,6 @@ #include <glade/glade.h> #include <gconf/gconf-client.h> #include <libedataserverui/e-source-selector.h> -#include "evolution-config-control.h" G_BEGIN_DECLS diff --git a/calendar/gui/dialogs/comp-editor.c b/calendar/gui/dialogs/comp-editor.c index 441358adc8..ee5ad096d0 100644 --- a/calendar/gui/dialogs/comp-editor.c +++ b/calendar/gui/dialogs/comp-editor.c @@ -35,7 +35,6 @@ #include <e-util/e-dialog-utils.h> #include <e-util/e-util-private.h> #include <e-util/gconf-bridge.h> -#include <evolution-shell-component-utils.h> #include <camel/camel-url.h> #include <camel/camel-exception.h> diff --git a/calendar/gui/dialogs/event-editor.c b/calendar/gui/dialogs/event-editor.c index ca1b581ee6..99750b27c5 100644 --- a/calendar/gui/dialogs/event-editor.c +++ b/calendar/gui/dialogs/event-editor.c @@ -34,7 +34,6 @@ #include <misc/e-dateedit.h> #include <e-util/e-plugin-ui.h> #include <e-util/e-util-private.h> -#include <evolution-shell-component-utils.h> #include "event-page.h" #include "recurrence-page.h" diff --git a/calendar/gui/dialogs/memo-editor.c b/calendar/gui/dialogs/memo-editor.c index a4c73e8dee..692e1fc256 100644 --- a/calendar/gui/dialogs/memo-editor.c +++ b/calendar/gui/dialogs/memo-editor.c @@ -34,7 +34,6 @@ #include <e-util/e-plugin-ui.h> #include <e-util/e-util-private.h> -#include <evolution-shell-component-utils.h> #include "memo-page.h" #include "cancel-comp.h" diff --git a/calendar/gui/dialogs/task-details-page.c b/calendar/gui/dialogs/task-details-page.c index 487ed4e9c5..ffd3be6c6e 100644 --- a/calendar/gui/dialogs/task-details-page.c +++ b/calendar/gui/dialogs/task-details-page.c @@ -522,7 +522,6 @@ date_changed_cb (EDateEdit *dedit, icalproperty_status status; gboolean date_set; - tdpage = TASK_DETAILS_PAGE (data); priv = tdpage->priv; if (comp_editor_page_get_updating (COMP_EDITOR_PAGE (tdpage))) diff --git a/calendar/gui/dialogs/task-editor.c b/calendar/gui/dialogs/task-editor.c index 1d947ead13..17339e31b5 100644 --- a/calendar/gui/dialogs/task-editor.c +++ b/calendar/gui/dialogs/task-editor.c @@ -33,7 +33,6 @@ #include <e-util/e-plugin-ui.h> #include <e-util/e-util-private.h> -#include <evolution-shell-component-utils.h> #include "task-page.h" #include "task-details-page.h" diff --git a/calendar/gui/dialogs/task-page.c b/calendar/gui/dialogs/task-page.c index 31c10b5dc2..29f443c0d6 100644 --- a/calendar/gui/dialogs/task-page.c +++ b/calendar/gui/dialogs/task-page.c @@ -1482,7 +1482,6 @@ date_changed_cb (EDateEdit *dedit, struct icaltimetype start_tt = icaltime_null_time(); struct icaltimetype due_tt = icaltime_null_time(); - tpage = TASK_PAGE (data); priv = tpage->priv; if (comp_editor_page_get_updating (COMP_EDITOR_PAGE (tpage))) diff --git a/calendar/gui/e-cal-shell-module.c b/calendar/gui/e-cal-shell-module.c new file mode 100644 index 0000000000..e928631298 --- /dev/null +++ b/calendar/gui/e-cal-shell-module.c @@ -0,0 +1,149 @@ +/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */ +/* e-cal-shell-module.c + * + * Copyright (C) 1999-2008 Novell, Inc. (www.novell.com) + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of version 2 of the GNU General Public + * License as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program; if not, write to the + * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301, USA. + */ + +#include <glib/gi18n.h> + +#include <e-shell.h> +#include <e-shell-module.h> +#include <e-shell-window.h> + +#include <e-cal-shell-view.h> + +#define MODULE_NAME "calendar" +#define MODULE_ALIASES "" +#define MODULE_SCHEMES "calendar" +#define MODULE_SEARCHES "caltypes.xml" +#define MODULE_SORT_ORDER 400 + +/* Module Entry Point */ +void e_shell_module_init (GTypeModule *type_module); + +static void +action_appointment_new_cb (GtkAction *action, + EShellWindow *shell_window) +{ +} + +static void +action_appointment_all_day_new_cb (GtkAction *action, + EShellWindow *shell_window) +{ +} + +static void +action_meeting_new_cb (GtkAction *action, + EShellWindow *shell_window) +{ +} + +static void +action_calendar_new_cb (GtkAction *action, + EShellWindow *shell_window) +{ +} + +static GtkActionEntry item_entries[] = { + + { "appointment-new", + "appointment-new", + N_("_Appointment"), /* XXX Need C_() here */ + "<Control>a", + N_("Create a new appointment"), + G_CALLBACK (action_appointment_new_cb) }, + + { "appointment-all-day-new", + "stock_new-24h-appointment", + N_("All Day A_ppointment"), + NULL, + N_("Create a new all-day appointment"), + G_CALLBACK (action_appointment_all_day_new_cb) }, + + { "meeting-new", + "stock_new-meeting", + N_("M_eeting"), + "<Control>e", + N_("Create a new meeting request"), + G_CALLBACK (action_meeting_new_cb) } +}; + +static GtkActionEntry source_entries[] = { + + { "calendar-new", + "x-office-calendar", + N_("Cale_ndar"), + NULL, + N_("Create a new calendar"), + G_CALLBACK (action_calendar_new_cb) } +}; + +static gboolean +cal_module_handle_uri (EShellModule *shell_module, + const gchar *uri) +{ + /* FIXME */ + return FALSE; +} + +static void +cal_module_window_created (EShellModule *shell_module, + EShellWindow *shell_window) +{ + const gchar *module_name; + + module_name = G_TYPE_MODULE (shell_module)->name; + + e_shell_window_register_new_item_actions ( + shell_window, module_name, + item_entries, G_N_ELEMENTS (item_entries)); + + e_shell_window_register_new_source_actions ( + shell_window, module_name, + source_entries, G_N_ELEMENTS (source_entries)); +} + +static EShellModuleInfo module_info = { + + MODULE_NAME, + MODULE_ALIASES, + MODULE_SCHEMES, + MODULE_SEARCHES, + MODULE_SORT_ORDER +}; + +void +e_shell_module_init (GTypeModule *type_module) +{ + EShell *shell; + EShellModule *shell_module; + + shell_module = E_SHELL_MODULE (type_module); + shell = e_shell_module_get_shell (shell_module); + + e_cal_shell_view_get_type (type_module); + e_shell_module_set_info (shell_module, &module_info); + + g_signal_connect_swapped ( + shell, "handle-uri", + G_CALLBACK (cal_module_handle_uri), shell_module); + + g_signal_connect_swapped ( + shell, "window-created", + G_CALLBACK (cal_module_window_created), shell_module); +} diff --git a/calendar/gui/e-cal-shell-view-actions.c b/calendar/gui/e-cal-shell-view-actions.c index 8b89e31cc0..638dc58ad0 100644 --- a/calendar/gui/e-cal-shell-view-actions.c +++ b/calendar/gui/e-cal-shell-view-actions.c @@ -20,7 +20,234 @@ #include "e-cal-shell-view-private.h" -static GtkActionEntry cal_entries[] = { +static void +action_calendar_go_back_cb (GtkAction *action, + ECalShellView *cal_shell_view) +{ +} + +static void +action_calendar_go_forward_cb (GtkAction *action, + ECalShellView *cal_shell_view) +{ +} + +static void +action_calendar_go_today_cb (GtkAction *action, + ECalShellView *cal_shell_view) +{ +} + +static void +action_calendar_jump_to_cb (GtkAction *action, + ECalShellView *cal_shell_view) +{ +} + +static void +action_calendar_print_cb (GtkAction *action, + ECalShellView *cal_shell_view) +{ +} + +static void +action_calendar_print_preview_cb (GtkAction *action, + ECalShellView *cal_shell_view) +{ +} + +static void +action_calendar_purge_cb (GtkAction *action, + ECalShellView *cal_shell_view) +{ +} + +static void +action_calendar_view_cb (GtkRadioAction *action, + GtkRadioAction *current, + ECalShellView *cal_shell_view) +{ +} + +static void +action_event_clipboard_copy_cb (GtkAction *action, + ECalShellView *cal_shell_view) +{ +} + +static void +action_event_clipboard_cut_cb (GtkAction *action, + ECalShellView *cal_shell_view) +{ +} + +static void +action_event_clipboard_paste_cb (GtkAction *action, + ECalShellView *cal_shell_view) +{ +} + +static void +action_event_delete_cb (GtkAction *action, + ECalShellView *cal_shell_view) +{ +} + +static void +action_event_delete_occurrence_cb (GtkAction *action, + ECalShellView *cal_shell_view) +{ +} + +static void +action_event_delete_occurrence_all_cb (GtkAction *action, + ECalShellView *cal_shell_view) +{ +} + +static void +action_event_open_cb (GtkAction *action, + ECalShellView *cal_shell_view) +{ +} + +static GtkActionEntry calendar_entries[] = { + + { "calendar-go-back", + GTK_STOCK_GO_BACK, + N_("Previous"), + NULL, + N_("Go Back"), + G_CALLBACK (action_calendar_go_back_cb) }, + + { "calendar-go-forward", + GTK_STOCK_GO_FORWARD, + N_("Next"), + NULL, + N_("Go Forward"), + G_CALLBACK (action_calendar_go_forward_cb) }, + + { "calendar-go-today", + "go-today", + N_("Select _Today"), + "<Control>t", + N_("Select today"), + G_CALLBACK (action_calendar_go_today_cb) }, + + { "calendar-jump-to", + GTK_STOCK_JUMP_TO, + N_("Select _Date"), + "<Control>g", + N_("Select a specific date"), + G_CALLBACK (action_calendar_jump_to_cb) }, + + { "calendar-print", + GTK_STOCK_PRINT, + NULL, + NULL, + N_("Print this calendar"), + G_CALLBACK (action_calendar_print_cb) }, + + { "calendar-print-preview", + GTK_STOCK_PRINT_PREVIEW, + NULL, + NULL, + N_("Preview the calendar to be printed"), + G_CALLBACK (action_calendar_print_preview_cb) }, + + { "calendar-purge", + NULL, + N_("Purg_e"), + "<Control>e", + N_("Purge old appointments and meetings"), + G_CALLBACK (action_calendar_purge_cb) }, + + { "event-clipboard-copy", + GTK_STOCK_COPY, + NULL, + NULL, + N_("Copy the selection"), + G_CALLBACK (action_event_clipboard_copy_cb) }, + + { "event-clipboard-cut", + GTK_STOCK_CUT, + NULL, + NULL, + N_("Cut the selection"), + G_CALLBACK (action_event_clipboard_cut_cb) }, + + { "event-clipboard-paste", + GTK_STOCK_PASTE, + NULL, + NULL, + N_("Paste the clipboard"), + G_CALLBACK (action_event_clipboard_paste_cb) }, + + { "event-delete", + GTK_STOCK_DELETE, + NULL, + NULL, + N_("Delete the appointment"), + G_CALLBACK (action_event_delete_cb) }, + + { "event-delete-occurrence", + GTK_STOCK_DELETE, + N_("Delete This _Occurrence"), + NULL, + N_("Delete this occurrence"), + G_CALLBACK (action_event_delete_occurrence_cb) }, + + { "event-delete-occurrence-all", + GTK_STOCK_DELETE, + N_("Delete _All Occurrences"), + NULL, + N_("Delete all occurrences"), + G_CALLBACK (action_event_delete_occurrence_all_cb) }, + + { "event-open", + NULL, + N_("_Open Appointment"), + "<Control>o", + N_("View the current appointment"), + G_CALLBACK (action_event_open_cb) } +}; + +static GtkRadioActionEntry calendar_view_entries[] = { + + { "calendar-view-day", + "view-calendar-day", + N_("Day"), + NULL, + N_("Show one day"), + GNOME_CAL_DAY_VIEW }, + + { "calendar-view-list", + "view-calendar-list", + N_("List"), + NULL, + N_("Show as list"), + GNOME_CAL_LIST_VIEW }, + + { "calendar-view-month", + "view-calendar-month", + N_("Month"), + NULL, + N_("Show one month"), + GNOME_CAL_MONTH_VIEW }, + + { "calendar-view-week", + "view-calendar-week", + N_("Week"), + NULL, + N_("Show one week"), + GNOME_CAL_WEEK_VIEW }, + + { "calendar-view-workweek", + "view-calendar-workweek", + N_("Work Week"), + NULL, + N_("Show one work week"), + GNOME_CAL_WORK_WEEK_VIEW } }; void @@ -37,12 +264,16 @@ e_cal_shell_view_actions_init (ECalShellView *cal_shell_view) manager = e_shell_window_get_ui_manager (shell_window); domain = GETTEXT_PACKAGE; - e_load_ui_definition (manager, "evolution-cals.ui"); + e_load_ui_definition (manager, "evolution-calendars.ui"); - action_group = cal_shell_view->priv->cal_actions; + action_group = cal_shell_view->priv->calendar_actions; gtk_action_group_set_translation_domain (action_group, domain); gtk_action_group_add_actions ( - action_group, cal_entries, - G_N_ELEMENTS (cal_entries), cal_shell_view); + action_group, calendar_entries, + G_N_ELEMENTS (calendar_entries), cal_shell_view); + gtk_action_group_add_radio_actions ( + action_group, calendar_view_entries, + G_N_ELEMENTS (calendar_view_entries), GNOME_CAL_DAY_VIEW, + G_CALLBACK (action_calendar_view_cb), cal_shell_view); gtk_ui_manager_insert_action_group (manager, action_group, 0); } diff --git a/calendar/gui/e-cal-shell-view-private.c b/calendar/gui/e-cal-shell-view-private.c index 3e3eef3c6a..100a12b09f 100644 --- a/calendar/gui/e-cal-shell-view-private.c +++ b/calendar/gui/e-cal-shell-view-private.c @@ -25,7 +25,7 @@ e_cal_shell_view_private_init (ECalShellView *cal_shell_view) { ECalShellViewPrivate *priv = cal_shell_view->priv; - priv->cal_actions = gtk_action_group_new ("cals"); + priv->calendar_actions = gtk_action_group_new ("calendars"); } void @@ -39,7 +39,7 @@ e_cal_shell_view_private_dispose (ECalShellView *cal_shell_view) { ECalShellViewPrivate *priv = cal_shell_view->priv; - DISPOSE (priv->cal_actions); + DISPOSE (priv->calendar_actions); } void diff --git a/calendar/gui/e-cal-shell-view-private.h b/calendar/gui/e-cal-shell-view-private.h index 3ea9adb674..fa591d11ed 100644 --- a/calendar/gui/e-cal-shell-view-private.h +++ b/calendar/gui/e-cal-shell-view-private.h @@ -23,9 +23,13 @@ #include "e-cal-shell-view.h" +#include <glib/gi18n.h> + +#include <e-util/e-util.h> #include <shell/e-shell-content.h> #include <shell/e-shell-sidebar.h> +#include <gnome-cal.h> #include <e-cal-shell-view-actions.h> #define E_CAL_SHELL_VIEW_GET_PRIVATE(obj) \ @@ -50,7 +54,7 @@ struct _ECalShellViewPrivate { /*** UI Management ***/ - GtkActionGroup *cal_actions; + GtkActionGroup *calendar_actions; }; void e_cal_shell_view_private_init diff --git a/calendar/gui/e-cal-shell-view.c b/calendar/gui/e-cal-shell-view.c index 8dd7bfcd5d..7a77d84991 100644 --- a/calendar/gui/e-cal-shell-view.c +++ b/calendar/gui/e-cal-shell-view.c @@ -59,9 +59,9 @@ cal_shell_view_changed (EShellView *shell_view) priv = E_CAL_SHELL_VIEW_GET_PRIVATE (shell_view); - action_group = priv->cal_actions; + action_group = priv->calendar_actions; visible = e_shell_view_is_selected (shell_view); - gtk_action_group_visible (action_group, visible); + gtk_action_group_set_visible (action_group, visible); } static void diff --git a/calendar/gui/e-memo-shell-module.c b/calendar/gui/e-memo-shell-module.c new file mode 100644 index 0000000000..d5c0a2d60d --- /dev/null +++ b/calendar/gui/e-memo-shell-module.c @@ -0,0 +1,136 @@ +/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */ +/* e-memo-shell-module.c + * + * Copyright (C) 1999-2008 Novell, Inc. (www.novell.com) + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of version 2 of the GNU General Public + * License as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program; if not, write to the + * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301, USA. + */ + +#include <glib/gi18n.h> + +#include <e-shell.h> +#include <e-shell-module.h> +#include <e-shell-window.h> + +#include <e-memo-shell-view.h> + +#define MODULE_NAME "memos" +#define MODULE_ALIASES "" +#define MODULE_SCHEMES "memo" +#define MODULE_SEARCHES "memotypes.xml" +#define MODULE_SORT_ORDER 500 + +/* Module Entry Point */ +void e_shell_module_init (GTypeModule *type_module); + +static void +action_memo_new_cb (GtkAction *action, + EShellWindow *shell_window) +{ +} + +static void +action_memo_shared_new_cb (GtkAction *action, + EShellWindow *shell_window) +{ +} + +static void +action_memo_list_new_cb (GtkAction *action, + EShellWindow *shell_window) +{ +} + +static GtkActionEntry item_entries[] = { + + { "memo-new", + "stock_insert-note", + N_("Mem_o"), /* XXX Need C_() here */ + "<Control>o", + N_("Create a new memo"), + G_CALLBACK (action_memo_new_cb) }, + + { "memo-shared-new", + "stock_insert-note", + N_("_Shared Memo"), + "<Control>h", + N_("Create a new shared memo"), + G_CALLBACK (action_memo_shared_new_cb) } +}; + +static GtkActionEntry source_entries[] = { + + { "memo-list-new", + "stock_notes", + N_("Memo Li_st"), + NULL, + N_("Create a new memo list"), + G_CALLBACK (action_memo_list_new_cb) } +}; + +static gboolean +memo_module_handle_uri (EShellModule *shell_module, + const gchar *uri) +{ + /* FIXME */ + return FALSE; +} + +static void +memo_module_window_created (EShellModule *shell_module, + EShellWindow *shell_window) +{ + const gchar *module_name; + + module_name = G_TYPE_MODULE (shell_module)->name; + + e_shell_window_register_new_item_actions ( + shell_window, module_name, + item_entries, G_N_ELEMENTS (item_entries)); + + e_shell_window_register_new_source_actions ( + shell_window, module_name, + source_entries, G_N_ELEMENTS (source_entries)); +} + +static EShellModuleInfo module_info = { + + MODULE_NAME, + MODULE_ALIASES, + MODULE_SCHEMES, + MODULE_SEARCHES, + MODULE_SORT_ORDER +}; + +void +e_shell_module_init (GTypeModule *type_module) +{ + EShell *shell; + EShellModule *shell_module; + + shell_module = E_SHELL_MODULE (type_module); + shell = e_shell_module_get_shell (shell_module); + + e_memo_shell_view_get_type (type_module); + e_shell_module_set_info (shell_module, &module_info); + + g_signal_connect_swapped ( + shell, "handle-uri", + G_CALLBACK (memo_module_handle_uri), shell_module); + + g_signal_connect_swapped ( + shell, "window-created", + G_CALLBACK (memo_module_window_created), shell_module); +} diff --git a/calendar/gui/e-memo-shell-view-actions.c b/calendar/gui/e-memo-shell-view-actions.c index e08a853c09..5086c0bb69 100644 --- a/calendar/gui/e-memo-shell-view-actions.c +++ b/calendar/gui/e-memo-shell-view-actions.c @@ -20,7 +20,115 @@ #include "e-memo-shell-view-private.h" +static void +action_memo_clipboard_copy_cb (GtkAction *action, + EMemoShellView *memo_shell_view) +{ +} + +static void +action_memo_clipboard_cut_cb (GtkAction *action, + EMemoShellView *memo_shell_view) +{ +} + +static void +action_memo_clipboard_paste_cb (GtkAction *action, + EMemoShellView *memo_shell_view) +{ +} + +static void +action_memo_delete_cb (GtkAction *action, + EMemoShellView *memo_shell_view) +{ +} + +static void +action_memo_open_cb (GtkAction *action, + EMemoShellView *memo_shell_view) +{ +} + +static void +action_memo_preview_cb (GtkToggleAction *action, + EMemoShellView *memo_shell_view) +{ +} + +static void +action_memo_print_cb (GtkAction *action, + EMemoShellView *memo_shell_view) +{ +} + +static void +action_memo_print_preview_cb (GtkAction *action, + EMemoShellView *memo_shell_view) +{ +} + static GtkActionEntry memo_entries[] = { + + { "memo-clipboard-copy", + GTK_STOCK_COPY, + NULL, + NULL, + N_("Copy selected memo"), + G_CALLBACK (action_memo_clipboard_copy_cb) }, + + { "memo-clipboard-cut", + GTK_STOCK_CUT, + NULL, + NULL, + N_("Cut selected memo"), + G_CALLBACK (action_memo_clipboard_cut_cb) }, + + { "memo-clipboard-paste", + GTK_STOCK_PASTE, + NULL, + NULL, + N_("Paste memo from the clipboard"), + G_CALLBACK (action_memo_clipboard_paste_cb) }, + + { "memo-delete", + GTK_STOCK_DELETE, + NULL, + NULL, + N_("Delete selected memos"), + G_CALLBACK (action_memo_delete_cb) }, + + { "memo-open", + NULL, + N_("Open Memo"), + "<Control>o", + N_("View the selected memo"), + G_CALLBACK (action_memo_open_cb) }, + + { "memo-print", + GTK_STOCK_PRINT, + NULL, + NULL, + N_("Print the list of memos"), + G_CALLBACK (action_memo_print_cb) }, + + { "memo-print-preview", + GTK_STOCK_PRINT_PREVIEW, + NULL, + NULL, + N_("Preview the list of memos to be printed"), + G_CALLBACK (action_memo_print_preview_cb) }, +}; + +static GtkToggleActionEntry memo_toggle_entries[] = { + + { "memo-preview", + NULL, + N_("Memo _Preview"), + "<Control>m", + N_("Show memo preview pane"), + G_CALLBACK (action_memo_preview_cb), + TRUE } }; void @@ -44,5 +152,8 @@ e_memo_shell_view_actions_init (EMemoShellView *memo_shell_view) gtk_action_group_add_actions ( action_group, memo_entries, G_N_ELEMENTS (memo_entries), memo_shell_view); + gtk_action_group_add_toggle_actions ( + action_group, memo_toggle_entries, + G_N_ELEMENTS (memo_toggle_entries), memo_shell_view); gtk_ui_manager_insert_action_group (manager, action_group, 0); } diff --git a/calendar/gui/e-memo-shell-view-actions.h b/calendar/gui/e-memo-shell-view-actions.h index 9d38c4d1d0..4ac71c2083 100644 --- a/calendar/gui/e-memo-shell-view-actions.h +++ b/calendar/gui/e-memo-shell-view-actions.h @@ -23,6 +23,24 @@ #include <shell/e-shell-window-actions.h> +/* Memo Actions */ +#define E_SHELL_WINDOW_ACTION_MEMO_CLIPBOARD_COPY(window) \ + E_SHELL_WINDOW_ACTION ((window), "memo-clipboard-copy") +#define E_SHELL_WINDOW_ACTION_MEMO_CLIPBOARD_CUT(window) \ + E_SHELL_WINDOW_ACTION ((window), "memo-clipboard-cut") +#define E_SHELL_WINDOW_ACTION_MEMO_CLIPBOARD_PASTE(window) \ + E_SHELL_WINDOW_ACTION ((window), "memo-clipboard-paste") +#define E_SHELL_WINDOW_ACTION_MEMO_DELETE(window) \ + E_SHELL_WINDOW_ACTION ((window), "memo-delete") +#define E_SHELL_WINDOW_ACTION_MEMO_OPEN(window) \ + E_SHELL_WINDOW_ACTION ((window), "memo-open") +#define E_SHELL_WINDOW_ACTION_MEMO_PREVIEW(window) \ + E_SHELL_WINDOW_ACTION ((window), "memo-preview") +#define E_SHELL_WINDOW_ACTION_MEMO_PRINT(window) \ + E_SHELL_WINDOW_ACTION ((window), "memo-print") +#define E_SHELL_WINDOW_ACTION_MEMO_PRINT_PREVIEW(window) \ + E_SHELL_WINDOW_ACTION ((window), "memo-print-preview") + /* Action Groups */ #define E_SHELL_WINDOW_ACTION_GROUP_MEMOS(window) \ E_SHELL_WINDOW_ACTION_GROUP ((window), "memos") diff --git a/calendar/gui/e-memo-shell-view-private.h b/calendar/gui/e-memo-shell-view-private.h index 3ff9c30a8f..ad75d4f2b8 100644 --- a/calendar/gui/e-memo-shell-view-private.h +++ b/calendar/gui/e-memo-shell-view-private.h @@ -23,6 +23,9 @@ #include "e-memo-shell-view.h" +#include <glib/gi18n.h> + +#include <e-util/e-util.h> #include <shell/e-shell-content.h> #include <shell/e-shell-sidebar.h> diff --git a/calendar/gui/e-memo-shell-view.c b/calendar/gui/e-memo-shell-view.c index 8f1504848f..c6ece950f0 100644 --- a/calendar/gui/e-memo-shell-view.c +++ b/calendar/gui/e-memo-shell-view.c @@ -61,7 +61,7 @@ memo_shell_view_changed (EShellView *shell_view) action_group = priv->memo_actions; visible = e_shell_view_is_selected (shell_view); - gtk_action_group_visible (action_group, visible); + gtk_action_group_set_visible (action_group, visible); } static void diff --git a/calendar/gui/e-task-shell-module.c b/calendar/gui/e-task-shell-module.c new file mode 100644 index 0000000000..a87b63ea60 --- /dev/null +++ b/calendar/gui/e-task-shell-module.c @@ -0,0 +1,136 @@ +/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */ +/* e-task-shell-module.c + * + * Copyright (C) 1999-2008 Novell, Inc. (www.novell.com) + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of version 2 of the GNU General Public + * License as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program; if not, write to the + * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301, USA. + */ + +#include <glib/gi18n.h> + +#include <e-shell.h> +#include <e-shell-module.h> +#include <e-shell-window.h> + +#include <e-task-shell-view.h> + +#define MODULE_NAME "tasks" +#define MODULE_ALIASES "" +#define MODULE_SCHEMES "task" +#define MODULE_SEARCHES "tasktypes.xml" +#define MODULE_SORT_ORDER 600 + +/* Module Entry Point */ +void e_shell_module_init (GTypeModule *type_module); + +static void +action_task_new_cb (GtkAction *action, + EShellWindow *shell_window) +{ +} + +static void +action_task_assigned_new_cb (GtkAction *action, + EShellWindow *shell_window) +{ +} + +static void +action_task_list_new_cb (GtkAction *action, + EShellWindow *shell_window) +{ +} + +static GtkActionEntry item_entries[] = { + + { "task-new", + "stock_task", + N_("_Task"), /* XXX Need C_() here */ + "<Control>t", + N_("Create a new task"), + G_CALLBACK (action_task_new_cb) }, + + { "task-assigned-new", + "stock_task", + N_("Assigne_d Task"), + NULL, + N_("Create a new assigned task"), + G_CALLBACK (action_task_assigned_new_cb) } +}; + +static GtkActionEntry source_entries[] = { + + { "task-list-new", + "stock_todo", + N_("Tas_k List"), + NULL, + N_("Create a new task list"), + G_CALLBACK (action_task_list_new_cb) } +}; + +static gboolean +task_module_handle_uri (EShellModule *shell_module, + const gchar *uri) +{ + /* FIXME */ + return FALSE; +} + +static void +task_module_window_created (EShellModule *shell_module, + EShellWindow *shell_window) +{ + const gchar *module_name; + + module_name = G_TYPE_MODULE (shell_module)->name; + + e_shell_window_register_new_item_actions ( + shell_window, module_name, + item_entries, G_N_ELEMENTS (item_entries)); + + e_shell_window_register_new_source_actions ( + shell_window, module_name, + source_entries, G_N_ELEMENTS (source_entries)); +} + +static EShellModuleInfo module_info = { + + MODULE_NAME, + MODULE_ALIASES, + MODULE_SCHEMES, + MODULE_SEARCHES, + MODULE_SORT_ORDER +}; + +void +e_shell_module_init (GTypeModule *type_module) +{ + EShell *shell; + EShellModule *shell_module; + + shell_module = E_SHELL_MODULE (type_module); + shell = e_shell_module_get_shell (shell_module); + + e_task_shell_view_get_type (type_module); + e_shell_module_set_info (shell_module, &module_info); + + g_signal_connect_swapped ( + shell, "handle-uri", + G_CALLBACK (task_module_handle_uri), shell_module); + + g_signal_connect_swapped ( + shell, "window-created", + G_CALLBACK (task_module_window_created), shell_module); +} diff --git a/calendar/gui/e-task-shell-view-actions.c b/calendar/gui/e-task-shell-view-actions.c index baf89b4526..36d2d3a3d0 100644 --- a/calendar/gui/e-task-shell-view-actions.c +++ b/calendar/gui/e-task-shell-view-actions.c @@ -20,7 +20,167 @@ #include "e-task-shell-view-private.h" +static void +action_task_assign_cb (GtkAction *action, + ETaskShellView *task_shell_view) +{ +} + +static void +action_task_clipboard_copy_cb (GtkAction *action, + ETaskShellView *task_shell_view) +{ +} + +static void +action_task_clipboard_cut_cb (GtkAction *action, + ETaskShellView *task_shell_view) +{ +} + +static void +action_task_clipboard_paste_cb (GtkAction *action, + ETaskShellView *task_shell_view) +{ +} + +static void +action_task_delete_cb (GtkAction *action, + ETaskShellView *task_shell_view) +{ +} + +static void +action_task_forward_cb (GtkAction *action, + ETaskShellView *task_shell_view) +{ +} + +static void +action_task_mark_complete_cb (GtkAction *action, + ETaskShellView *task_shell_view) +{ +} + +static void +action_task_open_cb (GtkAction *action, + ETaskShellView *task_shell_view) +{ +} + +static void +action_task_preview_cb (GtkToggleAction *action, + ETaskShellView *task_shell_view) +{ +} + +static void +action_task_print_cb (GtkAction *action, + ETaskShellView *task_shell_view) +{ +} + +static void +action_task_print_preview_cb (GtkAction *action, + ETaskShellView *task_shell_view) +{ +} + +static void +action_task_purge_cb (GtkAction *action, + ETaskShellView *task_shell_view) +{ +} + static GtkActionEntry task_entries[] = { + + { "task-assign", + NULL, + N_("_Assign Task"), + NULL, + NULL, /* XXX Add a tooltip! */ + G_CALLBACK (action_task_assign_cb) }, + + { "task-clipboard-copy", + GTK_STOCK_COPY, + NULL, + NULL, + N_("Copy selected tasks"), + G_CALLBACK (action_task_clipboard_copy_cb) }, + + { "task-clipboard-cut", + GTK_STOCK_CUT, + NULL, + NULL, + N_("Cut selected tasks"), + G_CALLBACK (action_task_clipboard_cut_cb) }, + + { "task-clipboard-paste", + GTK_STOCK_PASTE, + NULL, + NULL, + N_("Paste tasks from the clipboard"), + G_CALLBACK (action_task_clipboard_paste_cb) }, + + { "task-delete", + GTK_STOCK_DELETE, + NULL, + NULL, + N_("Delete selected tasks"), + G_CALLBACK (action_task_delete_cb) }, + + { "task-forward", + "mail-forward", + N_("_Forward as iCalendar"), + "<Control>f", + NULL, /* XXX Add a tooltip! */ + G_CALLBACK (action_task_forward_cb) }, + + { "task-mark-complete", + NULL, + N_("Mar_k as Complete"), + "<Control>k", + N_("Mark selected tasks as complete"), + G_CALLBACK (action_task_mark_complete_cb) }, + + { "task-open", + NULL, + N_("_Open Task"), + "<Control>o", + N_("View the selected task"), + G_CALLBACK (action_task_open_cb) }, + + { "task-print", + GTK_STOCK_PRINT, + NULL, + NULL, + N_("Print the list of tasks"), + G_CALLBACK (action_task_print_cb) }, + + { "task-print-preview", + GTK_STOCK_PRINT_PREVIEW, + NULL, + NULL, + N_("Preview the list of tasks to be printed"), + G_CALLBACK (action_task_print_preview_cb) }, + + { "task-purge", + NULL, + N_("Purg_e"), + "<Control>e", + N_("Delete completed tasks"), + G_CALLBACK (action_task_purge_cb) } +}; + +static GtkToggleActionEntry task_toggle_entries[] = { + + { "task-preview", + NULL, + N_("Task _Preview"), + "<Control>m", + N_("Show task preview pane"), + G_CALLBACK (action_task_preview_cb), + TRUE } }; void @@ -44,5 +204,8 @@ e_task_shell_view_actions_init (ETaskShellView *task_shell_view) gtk_action_group_add_actions ( action_group, task_entries, G_N_ELEMENTS (task_entries), task_shell_view); + gtk_action_group_add_toggle_actions ( + action_group, task_toggle_entries, + G_N_ELEMENTS (task_toggle_entries), task_shell_view); gtk_ui_manager_insert_action_group (manager, action_group, 0); } diff --git a/calendar/gui/e-task-shell-view-actions.h b/calendar/gui/e-task-shell-view-actions.h index 9d38c4d1d0..9c31590814 100644 --- a/calendar/gui/e-task-shell-view-actions.h +++ b/calendar/gui/e-task-shell-view-actions.h @@ -1,5 +1,5 @@ /* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */ -/* e-memo-shell-view-actions.h +/* e-task-shell-view-actions.h * * Copyright (C) 1999-2008 Novell, Inc. (www.novell.com) * @@ -18,13 +18,39 @@ * Boston, MA 02110-1301, USA. */ -#ifndef E_MEMO_SHELL_VIEW_ACTIONS_H -#define E_MEMO_SHELL_VIEW_ACTIONS_H +#ifndef E_TASK_SHELL_VIEW_ACTIONS_H +#define E_TASK_SHELL_VIEW_ACTIONS_H #include <shell/e-shell-window-actions.h> +/* Task Actions */ +#define E_SHELL_WINDOW_ACTION_TASK_ASSIGN(window) \ + E_SHELL_WINDOW_ACTION ((window), "task-assign") +#define E_SHELL_WINDOW_ACTION_TASK_CLIPBOARD_COPY(window) \ + E_SHELL_WINDOW_ACTION ((window), "task-clipboard-copy") +#define E_SHELL_WINDOW_ACTION_TASK_CLIPBOARD_CUT(window) \ + E_SHELL_WINDOW_ACTION ((window), "task-clibpard-cut") +#define E_SHELL_WINDOW_ACTION_TASK_CLIPBOARD_PASTE(window) \ + E_SHELL_WINDOW_ACTION ((window), "task-clipboard-paste") +#define E_SHELL_WINDOW_ACTION_TASK_DELETE(window) \ + E_SHELL_WINDOW_ACTION ((window), "task-delete") +#define E_SHELL_WINDOW_ACTION_TASK_FORWARD(window) \ + E_SHELL_WINDOW_ACTION ((window), "task-forward") +#define E_SHELL_WINDOW_ACTION_TASK_MARK_COMPLETE(window) \ + E_SHELL_WINDOW_ACTION ((window), "task-mark-complete") +#define E_SHELL_WINDOW_ACTION_TASK_OPEN(window) \ + E_SHELL_WINDOW_ACTION ((window), "task-open") +#define E_SHELL_WINDOW_ACTION_TASK_PREVIEW(window) \ + E_SHELL_WINDOW_ACTION ((window), "task-preview") +#define E_SHELL_WINDOW_ACTION_TASK_PRINT(window) \ + E_SHELL_WINDOW_ACTION ((window), "task-print") +#define E_SHELL_WINDOW_ACTION_TASK_PRINT_PREVIEW(window) \ + E_SHELL_WINDOW_ACTION ((window), "task-print-preview") +#define E_SHELL_WINDOW_ACTION_TASK_PURGE(window) \ + E_SHELL_WINDOW_ACTION ((window), "task-purge") + /* Action Groups */ -#define E_SHELL_WINDOW_ACTION_GROUP_MEMOS(window) \ - E_SHELL_WINDOW_ACTION_GROUP ((window), "memos") +#define E_SHELL_WINDOW_ACTION_GROUP_TASKS(window) \ + E_SHELL_WINDOW_ACTION_GROUP ((window), "tasks") -#endif /* E_MEMO_SHELL_VIEW_ACTIONS_H */ +#endif /* E_TASK_SHELL_VIEW_ACTIONS_H */ diff --git a/calendar/gui/e-task-shell-view-private.h b/calendar/gui/e-task-shell-view-private.h index 6faae53039..42a9ea10bc 100644 --- a/calendar/gui/e-task-shell-view-private.h +++ b/calendar/gui/e-task-shell-view-private.h @@ -23,6 +23,9 @@ #include "e-task-shell-view.h" +#include <glib/gi18n.h> + +#include <e-util/e-util.h> #include <shell/e-shell-content.h> #include <shell/e-shell-sidebar.h> diff --git a/calendar/gui/e-task-shell-view.c b/calendar/gui/e-task-shell-view.c index 4beecf6947..526769234f 100644 --- a/calendar/gui/e-task-shell-view.c +++ b/calendar/gui/e-task-shell-view.c @@ -61,7 +61,7 @@ task_shell_view_changed (EShellView *shell_view) action_group = priv->task_actions; visible = e_shell_view_is_selected (shell_view); - gtk_action_group_visible (action_group, visible); + gtk_action_group_set_visible (action_group, visible); } static void diff --git a/calendar/gui/memos-control.c b/calendar/gui/memos-control.c index e7f9132665..d6a80a0067 100644 --- a/calendar/gui/memos-control.c +++ b/calendar/gui/memos-control.c @@ -181,23 +181,6 @@ static BonoboUIVerb verbs [] = { BONOBO_UI_VERB_END }; -static EPixmap pixmaps [] = { - E_PIXMAP ("/commands/MemosCopy", "edit-copy", E_ICON_SIZE_MENU), - E_PIXMAP ("/commands/MemosCut", "edit-cut", E_ICON_SIZE_MENU), - E_PIXMAP ("/commands/MemosDelete", "edit-delete", E_ICON_SIZE_MENU), - E_PIXMAP ("/commands/MemosPaste", "edit-paste", E_ICON_SIZE_MENU), - E_PIXMAP ("/commands/MemosPrint", "document-print", E_ICON_SIZE_MENU), - E_PIXMAP ("/commands/MemosPrintPreview", "document-print-preview", E_ICON_SIZE_MENU), - - E_PIXMAP ("/Toolbar/Cut", "edit-cut", E_ICON_SIZE_LARGE_TOOLBAR), - E_PIXMAP ("/Toolbar/Copy", "edit-copy", E_ICON_SIZE_LARGE_TOOLBAR), - E_PIXMAP ("/Toolbar/Paste", "edit-paste", E_ICON_SIZE_LARGE_TOOLBAR), - E_PIXMAP ("/Toolbar/Print", "document-print", E_ICON_SIZE_LARGE_TOOLBAR), - E_PIXMAP ("/Toolbar/Delete", "edit-delete", E_ICON_SIZE_LARGE_TOOLBAR), - - E_PIXMAP_END -}; - void memos_control_activate (BonoboControl *control, EMemos *memos) { @@ -230,8 +213,6 @@ memos_control_activate (BonoboControl *control, EMemos *memos) NULL); g_free (xmlfile); - e_pixmaps_update (uic, pixmaps); - e_memos_setup_view_menus (memos, uic); /* Signals from the memos widget; also sensitize the menu items as appropriate */ |