diff options
author | David Barth <david.barth@canonical.com> | 2010-07-22 21:13:36 +0200 |
---|---|---|
committer | David Barth <david.barth@canonical.com> | 2010-07-22 21:13:36 +0200 |
commit | f1e5569348a935def97ed99708864aa6b8096d5e (patch) | |
tree | 799424c032ffaca279f163e4bd431a9e726a8c6b /src/calendar-menu-item.c | |
parent | 497a7116e0c02f8073a2e975a03d27cb713299aa (diff) | |
download | ayatana-indicator-datetime-f1e5569348a935def97ed99708864aa6b8096d5e.tar.gz ayatana-indicator-datetime-f1e5569348a935def97ed99708864aa6b8096d5e.tar.bz2 ayatana-indicator-datetime-f1e5569348a935def97ed99708864aa6b8096d5e.zip |
add a calendar widget to the menu
Diffstat (limited to 'src/calendar-menu-item.c')
-rw-r--r-- | src/calendar-menu-item.c | 100 |
1 files changed, 100 insertions, 0 deletions
diff --git a/src/calendar-menu-item.c b/src/calendar-menu-item.c new file mode 100644 index 0000000..c2ceec3 --- /dev/null +++ b/src/calendar-menu-item.c @@ -0,0 +1,100 @@ +/* +Calendar menu item dbusmenu "transport" for the corresponding IDO widget. + +Copyright 2010 Canonical Ltd. + +Authors: + David Barth <david.barth@canonical.com> + +This program is free software: you can redistribute it and/or modify it +under the terms of the GNU General Public License version 3, 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 warranties of +MERCHANTABILITY, SATISFACTORY QUALITY, 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, see <http://www.gnu.org/licenses/>. +*/ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include <gdk/gdk.h> +#include <glib/gi18n.h> +#include "calendar-menu-item.h" + +#include "dbus-shared.h" + +#include <libdbusmenu-glib/client.h> +#include <libdbusmenu-glib/server.h> +#include <libdbusmenu-glib/menuitem.h> + +enum { + LAST_SIGNAL +}; + +/* static guint signals[LAST_SIGNAL] = { }; */ + +typedef struct _CalendarMenuItemPrivate CalendarMenuItemPrivate; +struct _CalendarMenuItemPrivate +{ + void * placeholder; +}; + +#define CALENDAR_MENU_ITEM_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), CALENDAR_MENU_ITEM_TYPE, CalendarMenuItemPrivate)) + +/* Prototypes */ +static void calendar_menu_item_class_init (CalendarMenuItemClass *klass); +static void calendar_menu_item_init (CalendarMenuItem *self); +static void calendar_menu_item_dispose (GObject *object); +static void calendar_menu_item_finalize (GObject *object); + +G_DEFINE_TYPE (CalendarMenuItem, calendar_menu_item, DBUSMENU_TYPE_MENUITEM); + +static void +calendar_menu_item_class_init (CalendarMenuItemClass *klass) +{ + GObjectClass *object_class = G_OBJECT_CLASS (klass); + + g_type_class_add_private (klass, sizeof (CalendarMenuItemPrivate)); + + object_class->dispose = calendar_menu_item_dispose; + object_class->finalize = calendar_menu_item_finalize; + + return; +} + +static void +calendar_menu_item_init (CalendarMenuItem *self) +{ + return; +} + +static void +calendar_menu_item_dispose (GObject *object) +{ + G_OBJECT_CLASS (calendar_menu_item_parent_class)->dispose (object); +} + +static void +calendar_menu_item_finalize (GObject *object) +{ + G_OBJECT_CLASS (calendar_menu_item_parent_class)->finalize (object); + + return; +} + +CalendarMenuItem * +calendar_menu_item_new () +{ + CalendarMenuItem * self = g_object_new(CALENDAR_MENU_ITEM_TYPE, NULL); + + dbusmenu_menuitem_property_set(DBUSMENU_MENUITEM(self), DBUSMENU_MENUITEM_PROP_TYPE, DBUSMENU_CALENDAR_MENUITEM_TYPE); + + return self; +} + |