diff --git a/plugins/applicationsmenu/applicationsmenu.c b/plugins/applicationsmenu/applicationsmenu.c index ce51d037..f489e34c 100644 --- a/plugins/applicationsmenu/applicationsmenu.c +++ b/plugins/applicationsmenu/applicationsmenu.c @@ -85,7 +85,8 @@ enum PROP_BUTTON_ICON, PROP_CUSTOM_MENU, PROP_CUSTOM_MENU_FILE, - PROP_MENU_EDITOR + PROP_MENU_EDITOR, + PROP_ALLOW_DND }; @@ -195,13 +196,21 @@ applications_menu_plugin_class_init (ApplicationsMenuPluginClass *klass) NULL, NULL, NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); - + g_object_class_install_property (gobject_class, PROP_MENU_EDITOR, g_param_spec_string ("menu-editor", NULL, NULL, DEFAULT_EDITOR, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); + + g_object_class_install_property (gobject_class, + PROP_ALLOW_DND, + g_param_spec_boolean ("allow-dnd", + NULL, NULL, + FALSE, + G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); + } @@ -298,6 +307,11 @@ applications_menu_plugin_get_property (GObject *object, case PROP_MENU_EDITOR: g_value_set_string (value, plugin->menu_editor); break; + + case PROP_ALLOW_DND: + g_value_set_boolean (value, + garcon_gtk_menu_get_allow_dnd (GARCON_GTK_MENU (plugin->menu))); + break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); @@ -384,6 +398,11 @@ applications_menu_plugin_set_property (GObject *object, case PROP_MENU_EDITOR: plugin->menu_editor = g_value_dup_string (value); break; + + case PROP_ALLOW_DND: + garcon_gtk_menu_set_allow_dnd (GARCON_GTK_MENU (plugin->menu), + g_value_get_boolean (value)); + break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); @@ -414,6 +433,7 @@ applications_menu_plugin_construct (XfcePanelPlugin *panel_plugin) { "custom-menu", G_TYPE_BOOLEAN }, { "custom-menu-file", G_TYPE_STRING }, { "menu-editor", G_TYPE_STRING }, + { "allow-dnd", G_TYPE_BOOLEAN }, { NULL } };