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

Reply via email to