#include <gtk/gtkitemfactory.h>
#include <gtk/gtkbutton.h>
#include <gtk/gtkwindow.h>
+#include <gtk/gtkutils.h>
#include "menu.h"
#include "utils.h"
+#include "gtkutils.h"
#ifdef MAEMO
#ifdef CHINOOK
return gtk_item_factory_get_widget(*factory, path);
}
+GtkActionGroup *cm_menu_create_action_group(const gchar *name, GtkActionEntry *entries,
+ gint num_entries, gpointer data)
+{
+ GtkActionGroup *group = gtk_action_group_new(name);
+ gtk_action_group_set_translate_func(group, menu_translate, NULL, NULL);
+ gtk_action_group_add_actions(group, entries, num_entries, data);
+ gtk_ui_manager_insert_action_group(gtkut_ui_manager(), group, 0);
+ return group;
+}
+
gchar *menu_translate(const gchar *path, gpointer data)
{
gchar *retval;
gtk_widget_set_sensitive(widget, sensitive);
}
+void cm_menu_set_sensitive(gchar *menu, gboolean sensitive)
+{
+ GtkUIManager *gui_manager = gtkut_ui_manager();
+ GtkWidget *widget;
+ gchar *path = g_strdup_printf("/Menus/%s/", menu);
+
+ widget = gtk_ui_manager_get_widget(gui_manager, path);
+ if( !GTK_IS_WIDGET(widget) ) {
+ g_message("Blah, '%s' is not a widget.\n", path);
+ }
+
+ if( !GTK_IS_MENU_ITEM(widget) ) {
+ g_message("Blah, '%s' is not a menu item.\n", path);
+ }
+
+ gtk_widget_set_sensitive(widget, sensitive);
+ g_free(path);
+}
+
+void cm_toggle_menu_set_active(gchar *menu, gboolean active)
+{
+ GtkUIManager *gui_manager = gtkut_ui_manager();
+ GtkWidget *widget;
+ gchar *path = g_strdup_printf("/Menus/%s/", menu);
+
+ widget = gtk_ui_manager_get_widget(gui_manager, path);
+ if( !GTK_IS_WIDGET(widget) ) {
+ g_message("Blah, '%s' is not a widget.\n", path);
+ }
+
+ if( !GTK_CHECK_MENU_ITEM(widget) ) {
+ g_message("Blah, '%s' is not a check menu item.\n", path);
+ }
+
+ gtk_check_menu_item_set_active(widget, active);
+ g_free(path);
+}
+
void menu_set_sensitive_all(GtkMenuShell *menu_shell, gboolean sensitive)
{
GList *cur;
const gchar *path2;
} pairs[] = {
{"<Main>/Message/Reply", "<SummaryView>/Reply"},
-#ifndef MAEMO
+#ifndef GENERIC_UMPC
{"<Main>/Message/Reply to/all", "<SummaryView>/Reply to/all"},
{"<Main>/Message/Reply to/sender", "<SummaryView>/Reply to/sender"},
{"<Main>/Message/Reply to/mailing list", "<SummaryView>/Reply to/mailing list"},
#endif
{"<Main>/Message/Forward", "<SummaryView>/Forward"},
-#ifndef MAEMO
+#ifndef GENERIC_UMPC
{"<Main>/Message/Redirect", "<SummaryView>/Redirect"},
#endif
{"<Main>/Message/Move...", "<SummaryView>/Move..."},
{"<Main>/Message/Copy...", "<SummaryView>/Copy..."},
-#ifndef MAEMO
+#ifndef GENERIC_UMPC
{"<Main>/Message/Delete...", "<SummaryView>/Delete..."},
#endif
{"<Main>/Message/Mark/Mark", "<SummaryView>/Mark/Mark"},
{"<Main>/Message/Mark/Mark as unread", "<SummaryView>/Mark/Mark as unread"},
{"<Main>/Message/Mark/Mark as read", "<SummaryView>/Mark/Mark as read"},
{"<Main>/Message/Mark/Mark all read", "<SummaryView>/Mark/Mark all read"},
-#ifndef MAEMO
+#ifndef GENERIC_UMPC
{"<Main>/Tools/Add sender to address book", "<SummaryView>/Add sender to address book"},
#endif
{"<Main>/Tools/Create filter rule/Automatically",
{"<Main>/Tools/Create filter rule/by From", "<SummaryView>/Create filter rule/by From"},
{"<Main>/Tools/Create filter rule/by To", "<SummaryView>/Create filter rule/by To"},
{"<Main>/Tools/Create filter rule/by Subject", "<SummaryView>/Create filter rule/by Subject"},
-#ifndef MAEMO
+#ifndef GENERIC_UMPC
{"<Main>/Tools/Create processing rule/Automatically",
"<SummaryView>/Create processing rule/Automatically"},
{"<Main>/Tools/Create processing rule/by From", "<SummaryView>/Create processing rule/by From"},
#endif
{"<Main>/View/Open in new window", "<SummaryView>/View/Open in new window"},
{"<Main>/View/Message source", "<SummaryView>/View/Message source"},
-#ifndef MAEMO
+#ifndef GENERIC_UMPC
{"<Main>/View/All headers", "<SummaryView>/View/All headers"},
#endif
};