Enlightenment CVS committal Author : andreas99 Project : e16 Module : tools
Dir : e16/tools/e16menuedit2/src Modified Files: e16menuedit2.c e16menuedit2.h Log Message: - added internal drag&drop support for menu rows - create submenus with drag&drop - create new subdirs in ~/.enlightenment for submenus (didn't work with e16menuedit) =================================================================== RCS file: /cvsroot/enlightenment/e16/tools/e16menuedit2/src/e16menuedit2.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- e16menuedit2.c 25 Jul 2004 17:21:51 -0000 1.1 +++ e16menuedit2.c 27 Jul 2004 10:25:21 -0000 1.2 @@ -8,6 +8,11 @@ #include "file.h" #include "callbacks.h" +static GtkTargetEntry row_targets[] = { + { "GTK_TREE_MODEL_ROW", GTK_TARGET_SAME_APP, + TARGET_GTK_TREE_MODEL_ROW } +}; + int main (int argc, char *argv[]) { GtkWidget *main_window; @@ -57,16 +62,6 @@ g_signal_connect (toolitem1, "clicked", G_CALLBACK (on_new_button), treeview_menu); - /* new submenu toolbar button */ - /*toolbar1 = glade_xml_get_widget (main_xml, "toolbar1"); - toolitem1 = gtk_tool_button_new_from_stock (GTK_STOCK_INDEX); - gtk_toolbar_insert (GTK_TOOLBAR (toolbar1), toolitem1, TB_SUBMENU); - gtk_widget_show (GTK_WIDGET (toolitem1)); - gtk_tool_item_set_tooltip (toolitem1, GTK_TOOLBAR (toolbar1)->tooltips, - _("New Submenu"), "");*/ - //g_signal_connect (toolitem1, "clicked", - // G_CALLBACK (on_new_button), treeview_menu); - /* change icon toolbar button */ toolbar1 = glade_xml_get_widget (main_xml, "toolbar1"); toolitem1 = gtk_tool_button_new_from_stock (GTK_STOCK_SELECT_COLOR); @@ -177,6 +172,17 @@ gtk_tree_view_set_model (GTK_TREE_VIEW (treeview_menu), model); + gtk_tree_view_enable_model_drag_source (GTK_TREE_VIEW (treeview_menu), + GDK_BUTTON1_MASK, + row_targets, + G_N_ELEMENTS (row_targets), + GDK_ACTION_MOVE | GDK_ACTION_COPY); + + gtk_tree_view_enable_model_drag_dest (GTK_TREE_VIEW (treeview_menu), + row_targets, + G_N_ELEMENTS (row_targets), + GDK_ACTION_MOVE | GDK_ACTION_COPY); + g_object_unref (model); /* destroy model automatically with view */ return; @@ -382,6 +388,7 @@ gboolean has_child; gint depth; gchar *realfile; + gchar *dirname; FILE *menu_ptr, *menu_ptr2; gchar buffer[128]; @@ -404,7 +411,7 @@ return TRUE; } - if (params[0] != '/') + if (!g_path_is_absolute (params)) { /* Tarnation! A relative path */ realfile = g_strjoin ("/", homedir (getuid ()), @@ -414,8 +421,14 @@ { realfile = params; } + menu_file[depth] = g_strdup (realfile); + /* create recursiv new menu subdirectory */ + dirname = g_path_get_dirname (realfile); + mkdir_with_parent (dirname, 0755); + g_free (dirname); + if (depth > 0) { menu_ptr = fopen (menu_file[depth-1], "a+"); @@ -483,7 +496,6 @@ g_free(tree_path_str); - //g_free(realfile); g_free(description); g_free(icon); g_free(params); =================================================================== RCS file: /cvsroot/enlightenment/e16/tools/e16menuedit2/src/e16menuedit2.h,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- e16menuedit2.h 25 Jul 2004 17:21:51 -0000 1.1 +++ e16menuedit2.h 27 Jul 2004 10:25:21 -0000 1.2 @@ -43,13 +43,17 @@ enum toolbar_buttons { TB_NEW, -/* TB_SUBMENU,*/ TB_CHANGE_ICON, TB_SAVE, TB_DELETE, TB_QUIT }; +enum +{ + TARGET_GTK_TREE_MODEL_ROW +}; + gchar *menu_file[MAX_RECURSION]; #endif /* _E16MENUEDIT_H */ ------------------------------------------------------- This SF.Net email is sponsored by BEA Weblogic Workshop FREE Java Enterprise J2EE developer tools! Get your free copy of BEA WebLogic Workshop 8.1 today. http://ads.osdn.com/?ad_id=4721&alloc_id=10040&op=click _______________________________________________ enlightenment-cvs mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs