2000-05-06 Damon Chaplin <damon@helixcode.com> * cal-util/calobj.[hc]: added guint ref_count to iCalObject struct, and ical_object_ref/unref() functions. I've updated all the gui/ stuff to use ref_counts but I haven't touched the pcs/ stuff. Maybe just using ical_object_destroy() is OK there. * gui/gncal-todo.c: * gui/calendar-commands.c: * gui/eventedit.c: * gui/e-week-view.c: * gui/e-day-view.c: use refcounting for iCalObjects. * gui/e-day-view-main-item.c: * gui/e-day-view-top-item.c: * gui/e-day-view.c: try not to ever draw outside the event, even when the event is very small. 2000-05-05 Damon Chaplin <damon@helixcode.com> * gui/e-day-view.c: don't allow recurring events to be resized or dragged, and don't show the resize/drag cursors. Actually it may be better to let the user do the resize/drag and then ask them what they want to do - change the single occurrence or the entire series. * gui/e-day-view-time-item.c (e_day_view_time_item_show_popup_menu): use e_auto_kill_popup_menu_on_hide() to destroy the popup menu. * gui/popup-menu.c: include e-gui-utils.h svn path=/trunk/; revision=2823
42 lines
985 B
C
42 lines
985 B
C
/* Popup menu utilities for gncal
|
|
*
|
|
* Copyright (C) 1998 The Free Software Foundation
|
|
*
|
|
* Author: Federico Mena <quartic@gimp.org>
|
|
*/
|
|
|
|
#include <config.h>
|
|
#include <gnome.h>
|
|
#include "popup-menu.h"
|
|
#include "../../e-util/e-gui-utils.h"
|
|
|
|
|
|
void
|
|
popup_menu (struct menu_item *items, int nitems, GdkEventButton *event)
|
|
{
|
|
GtkWidget *menu;
|
|
GtkWidget *item;
|
|
int i;
|
|
|
|
menu = gtk_menu_new ();
|
|
|
|
/* Make sure the menu is destroyed when it disappears. */
|
|
e_auto_kill_popup_menu_on_hide (GTK_MENU (menu));
|
|
|
|
for (i = 0; i < nitems; i++) {
|
|
if (items[i].text) {
|
|
item = gtk_menu_item_new_with_label (_(items[i].text));
|
|
gtk_signal_connect (GTK_OBJECT (item), "activate",
|
|
items[i].callback,
|
|
items[i].data);
|
|
gtk_widget_set_sensitive (item, items[i].sensitive);
|
|
} else
|
|
item = gtk_menu_item_new ();
|
|
|
|
gtk_widget_show (item);
|
|
gtk_menu_append (GTK_MENU (menu), item);
|
|
}
|
|
|
|
gtk_menu_popup (GTK_MENU (menu), NULL, NULL, NULL, NULL, event->button, event->time);
|
|
}
|