diff options
author | Milan Crha <mcrha@redhat.com> | 2012-01-03 00:07:59 +0800 |
---|---|---|
committer | Milan Crha <mcrha@redhat.com> | 2012-01-03 00:07:59 +0800 |
commit | 4dc5558f19f96858ec2a97d82b23b6401ed74a0b (patch) | |
tree | 461df0416fabcaf872539cd650b0b3e8b7366b3a /calendar | |
parent | 49ffbb973093f15e4d5e34f287445f66a8d64e6d (diff) | |
download | gsoc2013-evolution-4dc5558f19f96858ec2a97d82b23b6401ed74a0b.tar.gz gsoc2013-evolution-4dc5558f19f96858ec2a97d82b23b6401ed74a0b.tar.zst gsoc2013-evolution-4dc5558f19f96858ec2a97d82b23b6401ed74a0b.zip |
Bug #353743 - Add Print button to meeting notification dialog
Diffstat (limited to 'calendar')
-rw-r--r-- | calendar/Makefile.am | 2 | ||||
-rw-r--r-- | calendar/alarm-notify/Makefile.am (renamed from calendar/gui/alarm-notify/Makefile.am) | 1 | ||||
-rw-r--r-- | calendar/alarm-notify/alarm-notify-dialog.c (renamed from calendar/gui/alarm-notify/alarm-notify-dialog.c) | 25 | ||||
-rw-r--r-- | calendar/alarm-notify/alarm-notify-dialog.h (renamed from calendar/gui/alarm-notify/alarm-notify-dialog.h) | 1 | ||||
-rw-r--r-- | calendar/alarm-notify/alarm-notify.c (renamed from calendar/gui/alarm-notify/alarm-notify.c) | 0 | ||||
-rw-r--r-- | calendar/alarm-notify/alarm-notify.h (renamed from calendar/gui/alarm-notify/alarm-notify.h) | 0 | ||||
-rw-r--r-- | calendar/alarm-notify/alarm-notify.ui (renamed from calendar/gui/alarm-notify/alarm-notify.ui) | 17 | ||||
-rw-r--r-- | calendar/alarm-notify/alarm-queue.c (renamed from calendar/gui/alarm-notify/alarm-queue.c) | 18 | ||||
-rw-r--r-- | calendar/alarm-notify/alarm-queue.h (renamed from calendar/gui/alarm-notify/alarm-queue.h) | 0 | ||||
-rw-r--r-- | calendar/alarm-notify/alarm.c (renamed from calendar/gui/alarm-notify/alarm.c) | 0 | ||||
-rw-r--r-- | calendar/alarm-notify/alarm.h (renamed from calendar/gui/alarm-notify/alarm.h) | 0 | ||||
-rw-r--r-- | calendar/alarm-notify/config-data.c (renamed from calendar/gui/alarm-notify/config-data.c) | 0 | ||||
-rw-r--r-- | calendar/alarm-notify/config-data.h (renamed from calendar/gui/alarm-notify/config-data.h) | 0 | ||||
-rw-r--r-- | calendar/alarm-notify/evolution-alarm-notify-icon.rc (renamed from calendar/gui/alarm-notify/evolution-alarm-notify-icon.rc) | 0 | ||||
-rw-r--r-- | calendar/alarm-notify/evolution-alarm-notify.ico (renamed from calendar/gui/alarm-notify/evolution-alarm-notify.ico) | bin | 17542 -> 17542 bytes | |||
-rw-r--r-- | calendar/alarm-notify/notify-main.c (renamed from calendar/gui/alarm-notify/notify-main.c) | 0 | ||||
-rw-r--r-- | calendar/alarm-notify/util.c (renamed from calendar/gui/alarm-notify/util.c) | 0 | ||||
-rw-r--r-- | calendar/alarm-notify/util.h (renamed from calendar/gui/alarm-notify/util.h) | 0 | ||||
-rw-r--r-- | calendar/gui/Makefile.am | 2 |
19 files changed, 62 insertions, 4 deletions
diff --git a/calendar/Makefile.am b/calendar/Makefile.am index 76bc20338d..4fe6165577 100644 --- a/calendar/Makefile.am +++ b/calendar/Makefile.am @@ -1,4 +1,4 @@ -SUBDIRS = importers gui +SUBDIRS = importers gui alarm-notify error_DATA = calendar.error errordir = $(privdatadir)/errors diff --git a/calendar/gui/alarm-notify/Makefile.am b/calendar/alarm-notify/Makefile.am index 82fdeeb77e..59c918251e 100644 --- a/calendar/gui/alarm-notify/Makefile.am +++ b/calendar/alarm-notify/Makefile.am @@ -44,6 +44,7 @@ evolution_alarm_notify_SOURCES = \ evolution_alarm_notify_LDADD = \ $(top_builddir)/e-util/libeutil.la \ $(top_builddir)/widgets/misc/libemiscwidgets.la \ + $(top_builddir)/calendar/gui/libevolution-calendar.la \ $(EVOLUTION_DATA_SERVER_LIBS) \ $(GNOME_PLATFORM_LIBS) \ $(LIBNOTIFY_LIBS) \ diff --git a/calendar/gui/alarm-notify/alarm-notify-dialog.c b/calendar/alarm-notify/alarm-notify-dialog.c index 48d14f1a0f..c9a264d880 100644 --- a/calendar/gui/alarm-notify/alarm-notify-dialog.c +++ b/calendar/alarm-notify/alarm-notify-dialog.c @@ -69,6 +69,7 @@ typedef struct { GtkWidget *snooze_time_days; GtkWidget *snooze_btn; GtkWidget *edit_btn; + GtkWidget *print_btn; GtkWidget *dismiss_btn; GtkWidget *minutes_label; GtkWidget *hrs_label; @@ -185,6 +186,24 @@ edit_pressed_cb (GtkButton *button, (* funcinfo->func) (ALARM_NOTIFY_EDIT, -1, funcinfo->func_data); } +static void +print_pressed_cb (GtkButton *button, + gpointer user_data) +{ + AlarmNotify *an = user_data; + AlarmFuncInfo *funcinfo = NULL; + GtkTreeIter iter; + GtkTreeModel *model = NULL; + GtkTreeSelection *selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (an->treeview)); + + if (gtk_tree_selection_get_selected (selection, &model, &iter)) + gtk_tree_model_get (model, &iter, ALARM_FUNCINFO_COLUMN, &funcinfo, -1); + + g_return_if_fail (funcinfo); + + (* funcinfo->func) (ALARM_NOTIFY_PRINT, -1, funcinfo->func_data); +} + #define DEFAULT_SNOOZE_MINS 5 static void @@ -291,11 +310,12 @@ notified_alarms_dialog_new (void) an->treeview = e_builder_get_widget (an->builder, "appointments-treeview"); an->snooze_btn = e_builder_get_widget (an->builder, "snooze-button"); an->edit_btn = e_builder_get_widget (an->builder, "edit-button"); + an->print_btn = e_builder_get_widget (an->builder, "print-button"); an->dismiss_btn = e_builder_get_widget (an->builder, "dismiss-button"); if (!(an->dialog && an->treeview && an->snooze_time_min && an->snooze_time_hrs && an->snooze_time_days - && an->description && an->location && an->edit_btn && an->snooze_btn && an->dismiss_btn)) { + && an->description && an->location && an->edit_btn && an->print_btn && an->snooze_btn && an->dismiss_btn)) { g_warning ("alarm_notify_dialog(): Could not find all widgets in alarm-notify.ui file!"); g_object_unref (an->builder); g_free (an); @@ -336,6 +356,7 @@ notified_alarms_dialog_new (void) GTK_IMAGE (image), "stock_alarm", GTK_ICON_SIZE_DIALOG); g_signal_connect (an->edit_btn, "clicked", G_CALLBACK (edit_pressed_cb), an); + g_signal_connect (an->print_btn, "clicked", G_CALLBACK (print_pressed_cb), an); g_signal_connect (an->snooze_btn, "clicked", G_CALLBACK (snooze_pressed_cb), an); g_signal_connect (an->dismiss_btn, "clicked", G_CALLBACK (dismiss_pressed_cb), an); g_signal_connect ( @@ -463,6 +484,7 @@ tree_selection_changed_cb (GtkTreeSelection *selection, gtk_widget_set_sensitive (an->snooze_btn, TRUE); gtk_widget_set_sensitive (an->edit_btn, TRUE); + gtk_widget_set_sensitive (an->print_btn, TRUE); gtk_widget_set_sensitive (an->dismiss_btn, TRUE); gtk_tree_model_get (model, &iter, ALARM_SUMMARY_COLUMN, &summary, -1); gtk_tree_model_get (model, &iter, ALARM_DESCRIPTION_COLUMN, &description, -1); @@ -475,6 +497,7 @@ tree_selection_changed_cb (GtkTreeSelection *selection, } else { gtk_widget_set_sensitive (an->snooze_btn, FALSE); gtk_widget_set_sensitive (an->edit_btn, FALSE); + gtk_widget_set_sensitive (an->print_btn, FALSE); gtk_widget_set_sensitive (an->dismiss_btn, FALSE); fill_in_labels (an, "", "", "", -1, -1); diff --git a/calendar/gui/alarm-notify/alarm-notify-dialog.h b/calendar/alarm-notify/alarm-notify-dialog.h index ad7db99432..f61bdba9c8 100644 --- a/calendar/gui/alarm-notify/alarm-notify-dialog.h +++ b/calendar/alarm-notify/alarm-notify-dialog.h @@ -31,6 +31,7 @@ typedef enum { ALARM_NOTIFY_CLOSE, ALARM_NOTIFY_SNOOZE, ALARM_NOTIFY_EDIT, + ALARM_NOTIFY_PRINT, ALARM_NOTIFY_DISMISS } AlarmNotifyResult; diff --git a/calendar/gui/alarm-notify/alarm-notify.c b/calendar/alarm-notify/alarm-notify.c index eeca88e1b6..eeca88e1b6 100644 --- a/calendar/gui/alarm-notify/alarm-notify.c +++ b/calendar/alarm-notify/alarm-notify.c diff --git a/calendar/gui/alarm-notify/alarm-notify.h b/calendar/alarm-notify/alarm-notify.h index b48cd5a602..b48cd5a602 100644 --- a/calendar/gui/alarm-notify/alarm-notify.h +++ b/calendar/alarm-notify/alarm-notify.h diff --git a/calendar/gui/alarm-notify/alarm-notify.ui b/calendar/alarm-notify/alarm-notify.ui index bb418ab569..acfdf5cd64 100644 --- a/calendar/gui/alarm-notify/alarm-notify.ui +++ b/calendar/alarm-notify/alarm-notify.ui @@ -132,6 +132,21 @@ </packing> </child> <child> + <object class="GtkButton" id="print-button"> + <property name="label">gtk-print</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="can_default">True</property> + <property name="receives_default">True</property> + <property name="use_stock">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">2</property> + </packing> + </child> + <child> <object class="GtkButton" id="dismiss-button"> <property name="label" translatable="yes">_Dismiss</property> <property name="visible">True</property> @@ -143,7 +158,7 @@ <packing> <property name="expand">False</property> <property name="fill">False</property> - <property name="position">2</property> + <property name="position">3</property> </packing> </child> </object> diff --git a/calendar/gui/alarm-notify/alarm-queue.c b/calendar/alarm-notify/alarm-queue.c index 8a4ae2face..f7597338a7 100644 --- a/calendar/gui/alarm-notify/alarm-queue.c +++ b/calendar/alarm-notify/alarm-queue.c @@ -49,6 +49,8 @@ #include "config-data.h" #include "util.h" +#include "calendar/gui/print.h" + /* The dialog with alarm nofications */ static AlarmNotificationsDialog *alarm_notifications_dialog = NULL; @@ -1050,6 +1052,17 @@ edit_component (ECalClient *cal_client, g_free (command_line); } +static void +print_component (ECalClient *cal_client, + ECalComponent *comp) +{ + print_comp (comp, + cal_client, + config_data_get_timezone (), + config_data_get_24_hour_format (), + GTK_PRINT_OPERATION_ACTION_PRINT_DIALOG); +} + typedef struct { gchar *summary; gchar *description; @@ -1355,6 +1368,11 @@ notify_dialog_cb (AlarmNotifyResult result, break; + case ALARM_NOTIFY_PRINT: + print_component (tray_data->cal_client, tray_data->comp); + + break; + case ALARM_NOTIFY_DISMISS: if (alarm_notifications_dialog) { GtkTreeModel *model; diff --git a/calendar/gui/alarm-notify/alarm-queue.h b/calendar/alarm-notify/alarm-queue.h index e43027bd60..e43027bd60 100644 --- a/calendar/gui/alarm-notify/alarm-queue.h +++ b/calendar/alarm-notify/alarm-queue.h diff --git a/calendar/gui/alarm-notify/alarm.c b/calendar/alarm-notify/alarm.c index 2797d44b0a..2797d44b0a 100644 --- a/calendar/gui/alarm-notify/alarm.c +++ b/calendar/alarm-notify/alarm.c diff --git a/calendar/gui/alarm-notify/alarm.h b/calendar/alarm-notify/alarm.h index d6e9ff4a4e..d6e9ff4a4e 100644 --- a/calendar/gui/alarm-notify/alarm.h +++ b/calendar/alarm-notify/alarm.h diff --git a/calendar/gui/alarm-notify/config-data.c b/calendar/alarm-notify/config-data.c index c8348f89fc..c8348f89fc 100644 --- a/calendar/gui/alarm-notify/config-data.c +++ b/calendar/alarm-notify/config-data.c diff --git a/calendar/gui/alarm-notify/config-data.h b/calendar/alarm-notify/config-data.h index a7a0ca58e0..a7a0ca58e0 100644 --- a/calendar/gui/alarm-notify/config-data.h +++ b/calendar/alarm-notify/config-data.h diff --git a/calendar/gui/alarm-notify/evolution-alarm-notify-icon.rc b/calendar/alarm-notify/evolution-alarm-notify-icon.rc index 1f9ef65874..1f9ef65874 100644 --- a/calendar/gui/alarm-notify/evolution-alarm-notify-icon.rc +++ b/calendar/alarm-notify/evolution-alarm-notify-icon.rc diff --git a/calendar/gui/alarm-notify/evolution-alarm-notify.ico b/calendar/alarm-notify/evolution-alarm-notify.ico Binary files differindex 6585452256..6585452256 100644 --- a/calendar/gui/alarm-notify/evolution-alarm-notify.ico +++ b/calendar/alarm-notify/evolution-alarm-notify.ico diff --git a/calendar/gui/alarm-notify/notify-main.c b/calendar/alarm-notify/notify-main.c index a6d9d53fc5..a6d9d53fc5 100644 --- a/calendar/gui/alarm-notify/notify-main.c +++ b/calendar/alarm-notify/notify-main.c diff --git a/calendar/gui/alarm-notify/util.c b/calendar/alarm-notify/util.c index 891ea131bc..891ea131bc 100644 --- a/calendar/gui/alarm-notify/util.c +++ b/calendar/alarm-notify/util.c diff --git a/calendar/gui/alarm-notify/util.h b/calendar/alarm-notify/util.h index bb6935729a..bb6935729a 100644 --- a/calendar/gui/alarm-notify/util.h +++ b/calendar/alarm-notify/util.h diff --git a/calendar/gui/Makefile.am b/calendar/gui/Makefile.am index ce1f832ba3..a5f9a7013d 100644 --- a/calendar/gui/Makefile.am +++ b/calendar/gui/Makefile.am @@ -1,4 +1,4 @@ -SUBDIRS = alarm-notify dialogs +SUBDIRS = dialogs privsolib_LTLIBRARIES = libevolution-calendar.la |