1
/* GCalendarNewEvent.cs
3
* GNOME Do is the legal property of its developers. Please refer to the
4
* COPYRIGHT file distributed with this
7
* This program is free software: you can redistribute it and/or modify
8
* it under the terms of the GNU General Public License as published by
9
* the Free Software Foundation, either version 3 of the License, or
10
* (at your option) any later version.
12
* This program is distributed in the hope that it will be useful,
13
* but WITHOUT ANY WARRANTY; without even the implied warranty of
14
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
* GNU General Public License for more details.
17
* You should have received a copy of the GNU General Public License
18
* along with this program. If not, see <http://www.gnu.org/licenses/>.
23
using System.Collections.Generic;
28
using Google.GData.Client;
29
using Google.GData.Calendar;
31
namespace Do.GCalendar
33
public class GCalendarNewEvent : IAction
35
public GCalendarNewEvent()
40
get { return "New Google Calendar Event"; }
43
public string Description {
44
get { return "Create a new event in Google Calendar"; }
48
get { return "date"; }
51
public Type[] SupportedItemTypes {
54
typeof (GCalendarItem),
59
public Type[] SupportedModifierItemTypes {
67
public bool ModifierItemsOptional {
71
public bool SupportsItem (IItem item) {
75
public bool SupportsModifierItemForItems (IItem[] item, IItem modItem) {
79
public IItem[] DynamicModifierItemsForItem (IItem item) {
83
public IItem[] Perform (IItem[] items, IItem[] modifierItems) {
84
DoGCal service = new DoGCal ();
85
string cal_url = (items[0] as GCalendarItem).URL;
86
string event_data = (modifierItems[0] as ITextItem).Text;
87
service.NewEvent (cal_url, event_data);