1999-02-16 Nat Friedman * delete.c (delete_desktop_entry): Change 'node' to 'new_current_node'. This corrects a bug which caused gmenu to crash when the last item in a submenu was deleted, as reported by djw@wolfman.mit.edu. 1999-02-10 Miguel de Icaza * dialogs.c (new_item_pressed_cb): (save_pressed_cb): I dont know the code well, but current_path might become * NULL at some points. Account for those cases. Mon Feb 8 07:00:15 1999 John Ellis * gmenu.[ch]: Version to 0.99.0, copyright to 1999. 1999-02-07 Nat Friedman * tree.c (tree_set_node): Just set the selection in the ctree. The tree_row_selected callback will take care of the rest. (update_tree_highlight): Don't select the row. (tree_row_selected): Most of the tree_item_selected code was moved here. (tree_item_selected): Call tree_set_node. * gmenu.c (main): Connect tree_row_selected to the tree_select_row signal. (about_cb): Fixed a segfault. One-line patch from jwb@cp.net. Thanks! * edit.c (edit_area_changed): Don't enable the save button if it's not an editable entry. (disable_edit_area): New function. (update_edit_area): Disable the edit area if the new node has no path or name. Enable the save button selectively. 1999-02-05 Jeff Garzik * gmenu.c: Fix segfault in about by increasing size of authors[] array to include terminating null. Bug#69. 1999-02-06 Changwoo Ryu * gmenu.desktop: Added Korean translation. 1999-01-25 Jonathan Blandford * gmenu.c (main): Some very miniscule UI changes to the ctree. 1999-01-25 Nat Friedman * desktop.c: New file to contain all of the .desktop file saving/loading routines. * utils.c: New file to contain all of the little utility routines. (basename_n): New function. * dnd.c: New file which now contains all of the Drag-N-Drop routines. (gmenu_init_dnd): New function. We no longer manually handle the drag-n-drop, but instead use gtk_clist_set_reorderable() and connect to the "tree_move" signal. (tree_moved): Expand a tree if we drop an item into it. * save.c: New file which handles everything that happens when the 'save' button is pressed. (save_desktop_entry_file): New function that handles things much more logically. Specifically, we now enforce a strict mapping between menu item names and the names of the corresponding .desktop files. That is, a menu item named "Foo" will be stored in "Foo.desktop". Doing this greatly simplifies the interface for the average user. We handle checking for conflicts much better now too. (set_ctree_node_data): New function to handle changes to some of a menu item's fields. (update_desktop_entry_node): New function. * delete.c: New file to handle node/menu item deletion. (delete_desktop_entry_file): New function to delete the desktop file associated with a path. (remove_node_cb): New function connect to the remove_node signal on the Ctree. It handles freeing the Desktop_Data and destroying the file associated with a defunct menu item. Doing deletion this way makes recursive delete possible. (delete_desktop_entry): Use this new function as the entry point to the menu item deletion routines. It deletes the file associated with a menu item, destroys its CTree nodes, and resets 'current_node' if appopriate. (delete_recursive_cb): Recursively delete a submenu. * tree.c (tree_set_node): New function to be used to set the current node. It also updates the new current_desktop variable and the edit area. (tree_item_collapsed): New callback function. Set the current node appropriately. * gmenu.c: Added a "current_desktop" global variable. Removed all of the drag-n-drop functions and put them in dnd.c. Renamed "Folder" to "Submenu" everywhere. Added a "New Item" menu entry. Moved the utility routines to utils.c. Moved the new_item callback to dialogs.c. (main): Connected to the tree_collapse signal so that we can reset the current node when it is no longer visible. Use the CTree in BROWSE mode. Use a pane to separate the CTree from the edit box. (about_cb): Added myself to the authors list. Renamed "Folder" to "Submenu" everywhere. * edit.c (edit_area_select_name): New function. This selects the contents of the "Name" GtkEntry widget and gives it focus. For use after the creation of a new menu item. (edit_area_get_filename): Removed. The filename of the .desktop file is now hidden from the user. It was confusing and lead to a lot of problems to expose that information. Besides which, the average user doesn't care, and the users who do can very well use a text-editor to edit the menus. (create_edit_area): Removed the filename widgets. Grab the default on the 'save' button. This doesn't work though, for some reason. * dialogs.c (create_folder): Expand the parent folder. Use tree_set_node() to set the current node. (create_folder_pressed_cb): Renamed from create_folder_pressed. (new_item_pressed_cb): New callback function for when the 'new item' toolbar button is pressed. (delete_dialog_cb): Use the new delete.c node/menu entry deletion functions. (delete_pressed_cb): "Delete this menu entry?" instead of "Delete file?". Handle recursive deletion of non-empty submenus. Most of the item saving functionality has been removed from this file, broken down into more logical functional units, and put into save.c. (save_pressed_cb): This function has been completely rewritten to use the new save.c routines. Renamed "Folder" to "Submenu" everywhere. 1999-01-21 Nat Friedman * gmenu.c (menu_drag_data_received): Renamed folder_drag_data_received to this. Now you can drop onto non-folders and have it move the items around. Check that src != dest, which was causing badness. (toolbar): Added a "New Item" button. (new_item_cb): Callback for the "New Item" toolbar button. * edit.c (new_edit_area): The default new item name is "New Item" (create_edit_area): Ifdef out the 'New' button. It's useless now, and its placement was always confusing. * dialogs.c (create_folder): New function to abstract the folder creation routines away from the callback. (save_dialog_cb): Do not leave the .desktop name as "untitled.desktop". Set a name if the user did not set one. Update the edit area to reflect the new filename. (save_dialog_dentry): Don't prompt the user about saving. That's just obnoxious. (save_dialog_dentry): New function to abstract the dentry saving away from the callback, a little bit. * gmenu.c: Commented out the Properties toolbar item, since it is useless now. (drag_data_received): Renamed folder_drag_data_received. Now you can move items around by dragging and dropping. 1999-01-21 Nat Friedman * gmenu.c (main): Initialize support for dropping menu items onto the ctree. (possible_drag_item_pressed): Save the GtkCTreeNode being dragged in drop_data. (drag_data_get_cb): Handle drops to external apps and to gmenu. (folder_drag_data_received): New function to handle drops onto the ctree. Move a menu item here if the user has write permission, and the drop was on a folder. * tree.c (tree_item_selected): Always update the edit area when someone clicks on a tree item. 1999-01-18 Jeff Garzik * gmenu.c (main): s/gtk_ctree_set_reorderable/gtk_clist_set_reorderable/ * dialogs.c (save_dialog_cb): Init 'node' var to kill bug. * tree.c: gtkcompat.h substitutions 1999-01-18 Christopher Blizzard * gmenu.c (main): gtk_ctree_set_reorderable() has been removed from gtk. 1999-01-07 Nat Friedman * gmenu.c: Added a separator to the File menu. 1999-01-07 Nat Friedman * gmenu.c: Use GNOMEUIINFO_MENU_ABOUT_ITEM. Pass the menu item description to GNOMEUIINFO_MENU_NEW_ITEM. 1999-01-06 Nat Friedman * gmenu.c: Use the gnome-app-helper.h GNOMEUIINFO_MENU macros. 1999-01-06 Nat Friedman * gmenu.c: Use the gnome-uidefs.h macros. Change the 'new' accelerator from ^F to ^N to match the standard. 1999-01-06 Nat Friedman * gmenu.c: File/E_xit, not File/_Quit Thu Dec 31 18:19:45 1998 George Lebl * tree.c: replace an extremely wasteful routine with a simple one Sun Dec 13 08:10:00 1998 John Ellis * gmenu.c (help_menu): Added underscore accelerator `_` to About... Thu Nov 26 00:45:21 1998 George Lebl * edit.c: use gnome_dentry_edit_new_notebook Mon Nov 9 06:33:10 1998 John Ellis * gmenu.c: Added drag and drop, tree items are now draggable to the panel. Sun Nov 8 02:51:02 1998 John Ellis * gmenu.c(main):Place the ctree into a scrolled window for the latest gtk. Thu Oct 1 14:42:15 1998 John Ellis * dialogs.c, edit.c, gmenu.[ch], tree.c: Fix missing prototype compiler warnings. Wed Sep 30 17:52:55 1998 John Ellis * gmenu.c: Use stock up/down buttons. * up/down.xpm: Removed for reason above. Sat Sep 26 13:24:23 1998 John Ellis * gmenu.c: Removed a warning. * tree.c: Each file is now checked for write access when checking for editability. Before it was all or nothing for the system menus. * order.c: Use gnome_stock_pixmap_widget_at_size() for antiailiased icons. * dialogs.c: Remove '!' from dialogs, no need to shout. Tell user about incorrect permissions instead of saying they must be root. * bump verison to 0.3.1 Sat Sep 19 07:19:57 1998 John Ellis * gmenu.c: Added underlines to all menus, now pressing [ALT]-f opens the file menu. Same for the other repective menus. Wed Sep 9 02:40:03 1998 John Ellis * dialogs.c, gmenu.[ch], order.c tree.c: minor fixups and removed some warnings. changed to using gnome_stock_set_icon(), free/strdup to g_free/g_strdup, etc. * tree.c: changed to using a progressbar in activity mode for startup dialog. * wait-feet.h: removed, was a waste of space anyway. * gmenu.c: removed unused functions related to drag and drop. * order.c(free_order_list): removed unused function. * top.xpm: updated xpm to match gnome logo. * Makefile.am: removed reference to wait-feet.h Tue Aug 18 16:51:32 1998 John Ellis * dialogs.c, gmenu.c, order.c tree.c: Applyed patch from Lars Hamann to update all the gtk_ctree_* that were renamed to gtk_ctree_node_* in GTK+. Sat Aug 15 03:43:53 1998 John Ellis * gmenu.[ch], tree.c: Now items in the tree can be moved by dragging with the middle mouse button... WOOO HOOOOoooooo! * tree.c (recalc_paths_cb), (tree_moved), (tree_move_test_cb): All the dragging stuff happens in these new functions. Fri Aug 14 15:15:29 1998 John Ellis * Makefile.am (gmenu_SOURCES): Added wait-feet.h Wed Aug 12 06:10:04 1998 John Ellis * gmenu.[ch], tree.c (menu_item_selected): Reworked the tree selection code, with tips from Lars Hamann. Now right clicking on an item will copy it's contents to the edit area, double clicking was removed. * gmenu.[ch], dialogs.c, edit.c, order.c, tree.c: Version now 0.3.0 Tue Aug 11 07:43:52 1998 John Ellis * gmenu.c: Added gnome style toolbar in favor of the old row of buttons below the tree of menus. Main window is not displayed until after the menus are read, which was distracting attention from the standy dialog, resulting in a cleaner looking startup. Mon Aug 10 08:41:14 1998 John Ellis * tree.c: Quick hack to test a standby dialog while gmenu reads the menus. If interested in seeing 'walking gnome feet', please try this out and tell me if it's just code bloat. On really fast machines, this dialog may be too quick to really see anything. * wait-feet.h: The pixmaps for the walking feet. Was larger, but managed to use less colors to decrease size. Sun Aug 9 14:12:18 1998 John Ellis * tree.c: cleanups, fixes, and optimizations. (get_ctree_count): new function to calculate # of nodes in a ctree, maybe a similar routine should be in gtkctree.[ch] ? Sun Aug 9 11:55:11 1998 John Ellis * gmenu.c (sort node), (sort_single_pressed), (sort_recurse_cb), (sort_recursive_pressed): new functions, added sorting of folders (non) recursively. 1998-08-04 Nuno Ferreira * gmenu.c (main): Marked string for translation. Sun Aug 2 00:27:39 1998 John Ellis * gmenu.[ch], dialogs.c, tree.c: Improved tree selection, added edit button, and made text a tooltip on the tree buttons. Sat Aug 1 22:32:24 1998 John Ellis * gmenu.[ch], dialogs.c, order.c, tree.c: Changed all casts of GList * to GtkCTreeNode *'s where applicable, and fixed all the other casts broken by the GtkCtree change. Fun with casting :) Mon Jul 27 18:24:20 1998 John Ellis * tree.c (add_main_tree_node): instead of root, check for system menu write permission. Sat Jul 25 00:02:56 1998 John Ellis * order.c (get_desktop_file_info): blank names and comments in .desktop entries now handled. * tree.c (add_main_tree_node): re-enabled root user detection. * dialogs.c (save_pressed_cb): don't save if the name field is blank, and notify the user. (save_dialog_cb): fix segv on file overwrite, but it's not in the tree. 1998-07-24 Nuno Ferreira * edit.c, tree.c, dialogs.c: Include . Tue Jul 21 00:39:15 1998 John Ellis * gmenu.h, edit.c, dialogs.c: fixed bug that caused a segfault or duplicate directory tree cration when an entry is saved multiple times successively. Desktop entry items that do not apply when editing a directory's properties are greyed out. Mon Jul 20 22:50:21 1998 John Ellis * gmenu.[ch], edit.c, order.c, tree.c, dialogs.c: added ability to edit directory info (.directory). Many many code changes. bumped version to 0.2.5 Sun Jul 19 03:20:21 1998 John Ellis * gmenu.c: used N_ instead of _ for internationalization. Sun Jul 19 02:25:24 1998 John Ellis * Makefile.am: removed old reference icon-sel.[ch] * gmenu.[ch], dialogs.c, edit.c, tree.c, order.c: fixed a few casts, first attempt at internationalization. * order.c (get_desktop_file_info): now uses dentry to load info. Sat Jul 18 19:27:29 1998 John Ellis * gmenu.c (main): ctree now uses GTK_SELECTION_BROWSE * tree.c (add_main_tree_node): fixed recursive loading of menus at startup. Fri Jul 17 17:47:41 1998 John Ellis * gmenu.[ch], edit.c, dialogs.c, order.c: removed the code no longer needed after switch to gnome-[dentry-edit/icon-sel]. * tree.c: changed occurences of gtk_ctree_scroll_to to gtk_ctree_moveto. * iconsel.[ch]: no longer needed, removed. Fri Jul 17 15:58:12 1998 John Ellis * gmenu.[ch], edit.c, dialogs.c: quick hack to test gnome-dentry-edit and gnome-icon-sel in gnome-libs/libgnomeui. * AUTHORS: new file. 1998-07-01 Nuno Ferreira * gmenu.desktop: Added Portuguese translation. 1998-06-29 Miguel de Icaza * gmenu.c (main): Set the proper colormap. Wed Jun 17 04:13:47 1998 John Ellis * gmenu.[ch]: Finally split the source into smaller files. * tree.c, edit.c, order.c, dialogs.c: New files resulting from the the source split. Mon Jun 15 23:02:32 1998 John Ellis * gmenu.c: Root detection is forced on until someone adds user menus to the panel. Empty folders are now deletable. The entire menu tree is now loaded at startup. (tree_item_selected): Any button selects the row, button one double click or button 3 (middle mouse button) single click copies a menu's data to the edit area. Sun Jun 14 10:48:26 1998 John Ellis * iconsel.c (sort_filenames): Changed const gpointer to gconstpointer. * gmenu.c: Icon list now includes $HOME/.gnome/pixmaps for non root users. Added support for .order files, and up/down buttons. 1998-06-12 John Ellis * iconsel.[ch]: added sorting and support for a second path to an icon directory, pass NULL if you don't need it. * gmenu.c (icon_button_pressed): changed to work with above. 1998-06-12 Tristan Tarrant * gmenu.c: Fixed SIGSEGV if environment variables are not defined. 1998-06-12 John Ellis * gmenu.[ch]: Added preliminary user folders, now user must be root to edit the system menu. * fileops.c: Removed. only used (is_dir) & (isfile), moved to gmenu.c * gnome-gmenu.png: moved to gnome-core/pixmaps Thu Jun 11 20:09:28 1998 Tom Tromey * Makefile.am (EXTRA_DIST): Move .xpm files here. (gmenu_SOURCES): Remove .xpm files. 1998-06-11 John Ellis * Makefile: removed in favor of Makefile.am could someone check Makefile.am?, automake is new to me. 1998-06-11 John Ellis * gmenu directory: Checked into CVS. Still need a Makefile.am though, The current Makefile defaults to /usr 1998-06-11 John Ellis * gmenu.c: PREFIX is now set automatically to the gnome datadir using gnome_unconditional_datadir_file(...). TreExec now works, DocPath and MultipleArgs options added to advanced tab.