Defuzzied one entry
[midnight-commander.git] / gnome / ChangeLog
blobc77900279799d41dd03df9240da88af3dcbcfb87
1 2001-07-30  Pavel Roskin  <proski@gnu.org>
3         * gmain.h: Fix declaration of gnome_init_panels().
5 2001-07-28  Pavel Roskin  <proski@gnu.org>
7         * gmain.c (x_init_dlg): Don't install handler for "delete_event"
8         if DLG_GNOME_APP flag is set.
9         * gview.c (gview_quit): Check view_ok_to_quit().
10         (quit_view): Likewise.
12 2001-07-27  Pavel Roskin  <proski@gnu.org>
14         * gmc-chargrid.c: Try 14-point clean and monospaced fonts
15         before resorting to "fixed".
17         * gfind.c (find_file): Add missing break.
19         * gdesktop.c (desktop_create_url): Accept new parameter
20         is_template.  Use mc_mkstemps() is it's TRUE.  Change all
21         callers.
22         * gcmd.c (gnome_new_link): Don't calculate the filename, trust
23         desktop_create_url() to do it.
24         * gdnd.c (drop_url_on_directory): Likewise.  Add support for
25         drag and drop from Mozilla.
27 2001-07-26  Pavel Roskin  <proski@gnu.org>
29         * gfind.c (get_list_info): Get row number as argument.  Return
30         boolean - FALSE if cannot find the row.  Calculate line number.
31         Change all callers.
32         (find_do_view_edit): Simplify.  Get line number as argument.
33         (find_do_view): Close the dialog because it's modal and prevents
34         user from interacting with other windows.
35         (find_do_edit): Likewise.
36         (setup_gui): Enable panelize button.  Improve look.
37         (find_panelize): New function.  Implement panelize.
38         (find_file): Add support for view, edit and panelize commands.
39         (do_find): Likewise.  Simplify.
40         (add_to_list): Block "select_row" signal until data is set.
42         * gfind.c (GFindDlg): Add last_dir_row field for the last
43         directory row.
44         (add_to_list): Last argument is now boolean, FALSE for files,
45         TRUE for directories.  Change all callers.  Use item data for
46         the row of the last directory.
47         (select_row): Enable `view' and `edit' buttons for files only,
48         `change' button for all entries.
49         (setup_gui): Set selection mode to GTK_SELECTION_BROWSE.  Make
50         `change' button inactive.  Don't hide `view' and `edit' buttons.
51         (get_list_info): Look up directory using list item data.
53         * gfind.c (find_parameters): Fix behavior of the Enter key.
54         Select initial values in the text entries.
56 2001-07-25  Pavel Roskin  <proski@gnu.org>
58         * glayout.c (create_new_menu): Calculate last position in the
59         menu before using it.
61 2001-07-24  Pavel Roskin  <proski@gnu.org>
63         * gutil.c: Remove broken child management.
64         (my_system): Fix file modes for standard descriptors.
66         * glayout.c (create_new_menu): Use fixed meny position instead
67         of gnome_app_find_menu_pos() - the later is not reliable and
68         breaks in many locales.
70 2001-07-20  Pavel Roskin  <proski@gnu.org>
72         * gconf.h: Remove some unused defines.
74         * gmc-client.c (main): Use translations from the "mc" domain.
76         * gfind.c (setup_gui): Register destroy handler.
77         (find_destroy): New function.  Unregister idle task if needed.
78         (find_do_chdir): Don't unregister idle task.
79         (find_do_again): Likewise.
80         (find_do_panelize): Likewise.
82         * gfind.c (insert_file) : Join with find_add_match().
83         (find_do_edit): Put g_status_label into a box to work around
84         what appears to be a bug in gtk-1.2.10.
86 2001-07-17  Pavel Roskin  <proski@gnu.org>
88         * gscreen.c (x_fill_panel): Use g_get_current_dir().
90 2001-07-16  Pavel Roskin  <proski@gnu.org>
92         * glayout.c (gnome_exit): Position message boxes near the
93         current panel.
95         * gutil.c (port_shutdown_extra_fds): Remove, it's unused.
96         (exec_direct): Likewise.
97         * gconf.h: Remove declaration of port_shutdown_extra_fds().
99         * gfind.c: Move most static variables to a structure, use it
100         in signal callbacks.  All dependencies adjusted.  Don't truncate
101         filenames.
103 2001-07-15  Pavel Roskin  <proski@gnu.org>
105         * gfind.c (run_process): Interpret "Ok" button as "Cancel".
106         Set g_find_dlg to NULL if it has been closed.
107         (kill_gui): Don't destroy already destroyed dialog.
108         (find_file): Onle read directory and filename if needed.
109         (do_find): Break loop on B_EXIT.
111         * gscreen.c (panel_tree_button_release): New function, opens a
112         new window on middle click.
113         (panel_create_tree_view): Bind panel_tree_button_release() to
114         "button_release_event".
116         * gmain.c (xtoolkit_create_dialog): Don't use "layout" - abort
117         instead.
118         * layout: Remove.
119         * Makefile: Remove all references to file `layout'.
121         * gdialogs.c [WITH_SMBFS] (vfs_smb_get_authinfo): New
122         function implementing SMB password dialog.
124         * gmain.c (gmc_window_setup_from_panel): Fix crash when called
125         early, before the panel is created.
127 2001-07-14  Pavel Roskin  <proski@gnu.org>
129         * gfind.c: New file - copied from find.c.  Reindent, remove
130         unneeded parts.  Rewrite find_parameters() to use GNOME dialog.
131         * layout: Remove usused entries.
132         * Makefile.in: Use gfind.c, not find.c.
134 2001-07-12  Pavel Roskin  <proski@gnu.org>
136         * gdesktop.c (create_desktop_dir): If ~/Desktop doesn't exist
137         make it a symlink to ~/.gnome-desktop.
138         From Ximian patches.
140         * gnome-open-dialog.c (gnome_open_dialog_get_tree): Don't set
141         styles for lines and expanders - use default tree settings.
142         From Ximian patches.
144         * Makefile.in (EXTRALIBS): Add @LIBICONV@.
146 2001-07-12  Andrew V. Samoilov <kai@cmail.ru>
148         * glayout.c (create_new_menu): Don't release file2 if it is NULL.
149         * gnome-file-property-dialog.c: Use MSG_ERROR instead of "Error" as
150         message()'s second parameter.
151         (apply_name_change): Release base_name after use.
153 2001-07-11  Pavel Roskin  <proski@gnu.org>
155         * gdialogs.c: Use g_snprintf() instead of snprintf().
156         * gnome-file-property-dialog.c: Likewise.
157         * gprefs.c: Likewise.
159 2001-07-10  Pavel Roskin  <proski@gnu.org>
161         * gscreen.c (panel_icon_list_select_icon): This function doesn't
162         get GDK_BUTTON_RELEASE, so move middle button processing ...
163         (panel_icon_list_button_release): ... here.
164         * gtkflist.c (gtk_flist_button_release): Open new window if the
165         middle button is released and DnD is not attempted.
167 2001-07-09  Pavel Roskin  <proski@gnu.org>
169         * gtkdtree.c: Include alloca.h if available.
170         From Dan McNichol <mcnichol@austin.ibm.com>.
172         * gdesktop-prefs.c (create_mini_icons): Warning fix.
173         * gdialogs.c (file_mask_dialog): Likewise.
174         * gdnd.c (gdnd_validate_action): Likewise.
175         * gscreen.c (panel_drag_data_delete): Likewise.
176         (panel_tree_check_auto_expand): Likewise.
178 2001-07-06  Pavel Roskin  <proski@gnu.org>
180         * Makefile.in: Move here gnome-specific definitions from
181         ../Make.common.in.
183 2001-06-26  Pavel Roskin  <proski@gnu.org>
185         * gmc-chargrid.c: Include <config.h>.
187         * gkey.c: Include the contents of xslint.c.
188         * Makefile.in (OOBJS): Remove xslint.o.
190 2001-06-25  Pavel Roskin  <proski@gnu.org>
192         * gcorba.h (poa): Declare extern.
194 2001-06-18  Pavel Roskin  <proski@gnu.org>
196         * gtree.c: Remove.
197         * gtree.h: Likewise.
198         * gmenu.h: Likewise.
199         * Makefile.in: Changes for the above.
200         (OOBJS): Remove command.o.
201         * glayout.c: Remove command_prompt - it's unused.
202         * gmain.c (non_corba_create_panels): Don't create cmdline.
204         * Makefile.in (OOBJS): Remove fsusage.o and mountlist.o.
205         * gmain.h: Remove dead declaration of x_show_info().
207 2001-06-15  Pavel Roskin  <proski@gnu.org>
209         * gtkflist.c: Include <stdlib.h> for abs().
211         * gdesktop-icon.c: Reorder includes - local after system.
212         * gdesktop-prefs.c: Likewise.
213         * gsession.c: Likewise.
214         * gdesktop-init.c: Likewise. Include "x.h".
215         * gdnd.c: Likewise.
216         * gprint.c: Likewise.
218         * gcmd.c (get_nickname): Warning fix - label at the end of
219         `case' statement.
220         (gnome_external_panelize): Likewise.
221         * gdialogs.c (file_delete_query_recursive): Likewise.
223         * gmain.c (beep): Remove.
225         * gdesktop.c (): Include gprefs.h to avoid a warning.
227         * gmount.c (setup_devices): Remove nfs_count - NFS directories
228         are not numbered.
230 2001-06-14  Pavel Roskin  <proski@gnu.org>
232         * gmain.c (try_alloc_color_pair): Remove.
234 2001-06-11  Andrew V. Samoilov  <sav@bcs.zp.ua>
236         * gmain.c (x_set_dialog_title): title constified.
237         (xtoolkit_create_dialog): Don't hardcode layout file location.
239 2001-06-06  Pavel Roskin  <proski@gnu.org>
241         * Makefile.in: Don't use terms.o.
242         * glayout.c: Remove unused global variables. Set command_prompt
243         to 0.
245         * gprefs.c [!USE_VFS]: Disable VFS code to allow compilation.
247         * gmc-client.c (main): Warning fix.
249 2001-06-04  Pavel Roskin  <proski@gnu.org>
251         * gmcd.c (gnome_filter_cmd): Set default regex filter to "^.*$".
252         Don't translate it.
253         (set_cursor_busy): Warning fix.
255 2001-06-02  Pavel Roskin  <proski@gnu.org>
257         * Makefile.in: Don't use hotlist.o. Remove annoying message.
259 2001-06-01  Pavel Roskin  <proski@gnu.org>
261         * gmain.c (x_init_dlg): Warning fix.
263         * Makefile.in: Don't use key.o.
265 2001-05-29  Pavel Roskin  <proski@gnu.org>
267         * Makefile.in: Don't use boxes.o.
269         * gcmd.c (gnome_listing_cmd): Remove, it unused.
270         (gnome_compare_panels): Likewise.
272         * Makefile.in: Don't use subshell.o.
274 2001-05-26  Pavel Roskin  <proski@gnu.org>
276         * glayout.c (gnome_panel_layout_menu): Status bar messages for
277         "Sort By" and "Filter View" were incorrect.
279 2001-05-25  Pavel Roskin  <proski@gnu.org>
281         * gmain.c (gnome_check_super_user): Add option not to show the
282         root warning again. From Ximian patches.
284         * gmain.c: Include libgnomeui/gnome-window-icon.h if needed.
285         (gnome_check_super_user): Better warning for root. From Ximian.
286         (idle_destroy_panel): Remove.
288 2001-05-23  jacob berkman  <jacob@ximian.com>
290         * mc.keys.in.in: fix missing trailing @ in audio/x-xi entry
292 2001-05-20  Pavel Roskin  <proski@gnu.org>
294         * gmount.c: Fix warning "extra token after endif".
296 2001-05-14  Pavel Roskin  <proski@gnu.org>
298         * gcache.c: Remove.
299         * gcache.h: Likewise.
300         * gcliplabel.c: Likewise.
301         * gcliplabel.h: Likewise.
302         * ghelp.c: Likewise.
303         * ginfo.c: Likewise.
304         * gpageprop.c: Likewise.
305         * gpageprop.h: Likewise.
306         * gprop.c: Likewise.
307         * gprop.h: Likewise.
308         * Makefile.in: Adjust for the above.
309         * glayout.c: Don't include the above headers.
310         * gpopup2.c: Likewise.
311         * gscreen.c: Likewise.
313         * gcorba.c: Add "const" when needed to match FileManager.idl.
315         * gtools.c (message): Use g_vsnprintf(). Make the "text"
316         argument constant.
318 2001-04-30  Pavel Roskin  <proski@gnu.org>
320         * directory.xpm: Remove.
321         * Makefile.in: Remove directory.xpm.
323 2001-04-20  Miguel de Icaza  <miguel@ximian.com>
325         * gdesktop.c (new_terminal): Use gnome_open_terminal, and do not
326         pass arguments here.
328         * gcmd.c (gnome_open_terminal_with_cmd): When launching
329         gnome-terminal, pass the --start-factory-server --use-factory
330         arguments here.
332 2001-04-14  Federico Mena Quintero  <federico@ximian.com>
334         * gdesktop.c (desktop_icon_set_busy): Use a pretty arrow instead
335         of GDK_TOP_LEFT_ARROW.
336         (click_proxy_button_press): Likewise.
338         * gcmd.c (set_cursor_normal): Set the cursor to NULL so that we
339         pick up the cursor that the window manager set for us.
341         * gscreen.c (panel_tree_scan_begin): Use set_cursor_busy().
342         (panel_tree_scan_end): Uset set_cursor_normal().
344 2001-04-11  Miguel de Icaza  <miguel@ximian.com>
346         * gdesktop.c (should_hide_nautilus_file): New function, used to
347         decide if things should be hidden (handles nautilus home key,
348         trash key, and .nautilus-metafile.xml for now)
350         (desktop_reload_icons): Hook up above function.
352         * gdesktop-init.c (migrate): New function to help migrate metadata
353         information.
355         * gscreen.c (file_list_popup): Changed here too.
357         * gdesktop-init.c (gdesktop_links_init): Migrate from Trash to
358         Trash.gmc to integrate with Nautilus on the same computer.
360         * gcmd.c (create_trash_panel): ditto
362         * gpopup2.c (check_trash_func): Rename trash directory to Trash.gmc
364 2001-04-06  Miguel de Icaza  <miguel@ximian.com>
366         * gdesktop.c (do_rescan): Added automatic desktop reloading.
368 2001-04-06  Pavel Roskin  <proski@gnu.org>
370         * gscreen.c (tree_size_allocate): Don't call save_setup() if
371         auto_save_setup is 0.
373         * Makefile.in: Add dependencies between gmc and static libraries
374         in the source tree.
376         * layout: New widget "findfile-Widget-find-case-check".
378 2001-02-28  Christian Meyer  <chrisime@gnome.org>
380         * application.x-gnumeric.desktop: Added German strings.
382 Wed Jan 10 15:52:51 2001  Jonathan Blandford  <jrb@redhat.com>
384         * gdesktop-init.c (gdesktop_links_init): allow I18N of trash.
386 2000-10-19  Martin Bialasinski  <martin@internet-treff.uni-koeln.de>
388         * gscreen.c (toolbar): Fixes misspelling of "hierarchy".
390 2000-09-21  Pavel Roskin  <proski@gnu.org>
392         * Makefile.in: Don't use $< in explicit rules - this should fix
393         non-GNU makes. Removed GNOME_IDLDIR - it wasn't used.
395 2000-09-14  Pavel Roskin  <proski@gnu.org>
397         * Makefile.in: Compile our own mad.o. Don't link object files.
398         Put links to the build directory. Don't link headers, change
399         includes accordingly. gdialogs.o removed from OOBJS. Link
400         only sources we need. Obsolete comments removed or updated.
402         * Makefile.in: Don't make softlinks to the libraries
404 2000-09-12  Andrew V. Samoilov  <sav@bcs.zp.ua>
406         * glayout.c (run_cmd): Memory leak fix: cmd released after use
408 2000-08-31  Pavel Roskin  <proski@gnu.org>
410         * directory-ok.xpm gpopup.c i-device.png image.metadata.in
411         make-thumb.c mc.metadata.in multi-ok.png multi-ok.xpm multi.xpm
412         not.png olddnd.c: removed
414 2000-08-29  Norbert Warmuth  <nwarmuth@privat.circular.de>
416         * Makefile.in (CFLAGS): -I$(rootdir)/src removed from CFLAGS -- it
417         breaks compilation on glibc2.1 systems because glibc includes
418         src/features.h instead of it's own features.h. Run `make
419         cleansourcelinks; make sourcelinks' in case mc doesn't find it's
420         include files.
422 2000-08-23  Pavel Roskin  <proski@gnu.org>
424         * Makefile.in: Don't do anything with *.inc - they are gone
426 2000-08-22  Pavel Roskin  <proski@gnu.org>
428         * Makefile.in: Don't use info.o, chmod.o, chown.o, achown.o,
429         @XCURSES@ and option.o
431 2000-08-21  Jonathan Blandford  <jrb@redhat.com>
433         * gmount.c (create_device_link): Fix memory leak.  Also, make sure
434         the icon is dead before making the link.  This is necessary in
435         case your metadata database gets fubarred.
437 2000-08-08  Miguel de Icaza  <miguel@gnu.org>
439         * gdesktop.c (new_terminal): Add patch from Duncan Mak to use the
440         gnome terminal factory server
442 2000-08-03  Pavel Roskin  <proski@gnu.org>
444         * gpopup2.h: Removed
445         * gtree.h: Added prototype for sync_tree()
447 2000-07-17  Andrew V. Samoilov  <sav@bcs.zp.ua>
449         * gdesktop-init.c (desktop_init_at): fname released after use
450         (desktop_load_init_from): don't release icon if it is null
451         (gdesktop_links_init): ditto
453 2000-07-03  Jonathan Blandford  <jrb@redhat.com>
455         * gdesktop-init.c (gdesktop_links_init): set the initial icon of
456         the trashcan, and make the trashcan.
458 2000-06-20  Jacob Berkman  <jacob@helixcode.com>
460         * gtkdtree.c (gtk_dtree_construct):
461         * gscreen.c (panel_create_tree_view): don't set the tree's line
462         style
464         * gprefs.[ch] (create_prop_box): only set the parent if the parent
465         exists
466         (create_prop_box): only show the custom tab if we have a parent
467         panel
468         (gnome_configure_box_with_desktop): add a param for optionally
469         doing the desktop prefs
470         (gnome_configure_box): wrap the other function
472         * gdesktop.c (set_desktop_icons): show icon properties
473         (desktop_popup_items): add an item to configure icons
475 2000-05-06  Jacob Berkman  <jacob@helixcode.com>
477         * gmain.c (xtoolkit_get_main_dialog):
478         (xtoolkit_create_dialog):
479         (x_create_panel_container): set the default icon
481 2000-06-16  Jonathan Blandford  <jrb@redhat.com>
483         * gpopup2.c (handle_empty_trash): Finished trash can.  Now I just
484         need an icon.
486 2000-06-15  Jonathan Blandford  <jrb@redhat.com>
488         * gpopup2.c: Add "Move to Trash" as an option to the popup menu.
489         Also, "Empty Trash" as appropriate.
491         * gscreen.c (file_list_popup): Removed New File command.  It
492         wasn't working, and didn't do anything useful, anyways.  Added
493         "Empty Trash" to the options for the menu.
495 2000-05-24  Arik Devens <arik@helixcode.com> and Ian Peters <itp@helixcode.com>
497         * gdesktop-init.c (desktop_load_init_from): don't crash on
498         recreating icons, iterating over NULL pointer.
500 2000-05-15 Andrew Post <apost@cbmi.upmc.edu>
502         * gdesktop.c (get_icon_snap_pos): Icons no longer count themselves
503         in the slot count.
505         * gdesktop.c (desktop_reload_icons): Icons are no longer
506         auto-arranged every time the user logs in (or in IceWM, the weird
507         icon focusing problems are fixed). An old and broken version of
508         the snap-to-grid patch was committed to CVS, causing these
509         problems.
511 2000-05-14  Andreas Hyden  <a.hyden@cyberpoint.se>
513         * application.x-gnumeric.desktop: Added Swedish translation.
515 2000-05-14  Andreas Hyden  <a.hyden@cyberpoint.se>
517         * gimp.image.desktop: Added Swedish translation.
519 2000-05-08  Miguel de Icaza  <miguel@helixcode.com>
521         * gnome-file-property-dialog.c (create_general_properties): Tag
522         the strftime format for translation to let the localization
523         efforts to localize the time display.
525 2000-05-06  Jacob Berkman  <jacob@helixcode.com>
527         * gsession.c (session_set_restart): restart with priority 40 so we show
528         up in the splash screen
530 2000-04-23  JP Rosevear  <jpr@arcavia.com>
532         * gview.c (view): Constify file parameter to match prototype and fix
533         build problem.
535 2000-04-18  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>
537         * gcmd.c (gnome_open_terminal_with_cmd): Allow translating of
538         error message.
540 2000-04-04  Jacob and Miguee, The Debugging Machines <debugging_machines@helixcode.com>
542         * gdesktop.c (click_proxy_button_press): Federico should make sure
543         he releases the server grab before he starts pooping up menus on
544         the desktop.
546 2000-03-13  Miguel de Icaza  <miguel@helixcode.com>
548         * gaction.c (gmc_open_filename): Usae open.flags to determine
549         whether we need a terminal.
550         (gmc_open_filename): Fix the logic to make it work properly with
551         .desktop and .kdelnk files.
553 2000-02-03  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>
555         * gicon.c (gicon_init): make missing icons back fatal (prevents
556         segfault)
558 2000-02-01  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>
560         * gicon.c (gicon_init): make missing icons non-fatal error
562         * gmain.c, gdesktop.c: added option not to display desktop icons
563         (desktop_popup): don't handle clicks when --nodesktop
565 2000-01-26  Federico Mena Quintero  <federico@helixcode.com>
567         * gmc-client.c (options): Added the --arrange-desktop-icons
568         option.
569         (arrange_desktop_icons): Implemented.
571         * gcorba.c (Desktop_arrange_icons): Implemented.
572         (Desktop_class_init): Put the function in the desktop_epv.
574         * gdesktop.c (desktop_arrange_icons): Made public.
576         * gnome-file-property-dialog.c (align_label_new): Renamed from
577         label_new() to avoid a conflict with widget.h.
579 2000-01-02  Federico Mena Quintero  <federico@helixcode.com>
581         * gaction.c (gmc_open_filename): Use gnome_mime_needsterminal()
582         instead of gnome_mime_type_or_default().  This was a thinko.
583         Thanks to Aaron Lehmann <aaronl@vitelus.com> for pointing this
584         out.
586 1999-12-28  Matthias Warkus  <mawa@iname.com>
588         * mc.keys.in.in: Added a whole slew of new icons.
590 1999-11-29  Federico Mena Quintero  <federico@redhat.com>
592         * gdesktop.c (desktop_arrange_icons): Return immediately if there
593         are no icons in the desktop.  BUGFIX: bugs.gnome.org #3789.
594         (desktop_popup): Desensitize the "arrange icons" commands if there
595         are no icons in the desktop.
597 1999-11-01  Pavel Machek     <pavel@ucw.cz>
599         * make_thumb.c: close symlink hole
601         * *.c: add return_val_if_fail, it is better than crashing. Sorry
602         about that *image = NULL, but gcc should be able to optimize it
603         out in non-debugging case.
605 1999-10-27  Miguel de Icaza  <miguel@nuclecu.unam.mx>
607         * gdesktop-init.c (desktop_init_at): Put an equal sign between the
608         option and the rest.
610 1999-10-20  Federico Mena Quintero  <federico@redhat.com>
612         * gdesktop.c (text_changed): Do not try to rename the file if the
613         name did not change.  BUGFIX: GNOME bug tracker #2851.
615 1999-10-06  Jonathan Blandford  <jrb@redhat.com>
617         * gpopup2.c (create_actions): Now the Mount/Unmount/Eject device
618         code will be lumped together with the other MIME_ACTIONS, even
619         thought they're not controlled there.
621 1999-10-06  Norbert Warmuth  <nwarmuth@privat.circular.de>
623         * gmain.c, gmain.h: removed disable_root_warning. This variable
624         wasn't defined anywhere.
626 1999-09-30  Vincent Renardias <vincent@ldsol.com>
628         * gmain.c, gmain.h: add a '--disablerootwarning' flag which
629         disable the iritating "You're running gmc as root." dialog box.
630         (idealy, that box should also contain a "don't show this
631         message again" checkbox; any objection?).
633 1999-09-29  Federico Mena Quintero  <federico@redhat.com>
635         * gcorba.c (corba_activate_server): New function.  Activate the
636         POA manager here, when we are actually ready to process requests,
637         instead of at the beginning of initialization.
639         * gmain.c (create_panels): Call corba_activate_server().
641 1999-09-22  Federico Mena Quintero  <federico@redhat.com>
643         * gscreen.c (panel_chdir): Clear the lists if the chdir operation
644         was not successful.
646         * gtkflist.c (gtk_flist_button_press): Only emit the open_row
647         signal if we are not on the empty area.
649         * gnome-open-dialog.c (gnome_open_dialog_new): Expand the tree
650         when we are done generating it.
652 1999-09-21  Federico Mena Quintero  <federico@redhat.com>
654         * gdesktop.c (desktop_reload_icons): Do not call x_flush_events()
655         when we are done.
657         * gsession.c (create_panel_from_info): The widgets are not created
658         yet, so just set the panel->list_type field.
660         * gscreen.c (x_create_panel): Do not change the dialog head's
661         current pointer.
663         * gmain.c (x_init_dlg): Only call x_focus_widget() if there is a
664         current widget.
665         (non_corba_create_panels): Removed the nasty hack that created a
666         dummy panel and destroyed it in the idle loop.  Wheeeeeee!
668 1999-09-20  Federico Mena Quintero  <federico@redhat.com>
670         * gsession.c (save_panel_info): Save the panel's list type.
671         (idle_create_panels): Set the panel's list type.
673         * gdesktop.c (handle_recreate_default_icons): New option to
674         re-create the default set of icons.
676         * gdesktop-init.c (gdesktop_links_init): Create the link to the
677         user's home directory here.
679         * gcorba.c (WindowFactory_get_windows_by_directory): Fill in the
680         sequence correctly.
682         * gsession.c (load_panel_info): Doh.  Fix test for presence of the
683         cwd info.
684         (load_session_info): If we could not load the panel info, do not
685         insert bogus data in the list.
687         The following is a patch from Volker Braun
688         <volker.braun@physik.hu-berlin.de> to fix column resizing in the
689         file panels.
691         * gcustom-layout.c (custom_layout_apply): Set the
692         default_user_format to the new format.
694         * gscreen.c (panel_fill_panel_list): Set the column widths
695         according to the previously stored values.
696         Nuked the old and hideous panel_file_list_configure_contents().
697         (panel_file_list_configure): Connect to resize_column in the clist.
698         (panel_create_file_list): Do not connect to size_allocate.
699         (x_create_panel): Set the column width array for this panel.  Set
700         the user format from the default one if it exists.
702         * gsession.c (PanelInfo): Added information about column widths
703         and the user format.
704         (save_panel_info): Save the complete information.
705         (load_panel_info): Load the complete information.
706         (free_panel_info): Free the user format.
707         (idle_create_panels): Set the user format and column widths.
709 1999-09-20  Federico Mena Quintero  <federico@redhat.com>
711         * gdesktop.c (desktop_rescan_devices): Call gmount_setup_devices().
713         * gdesktop-init.c (gdesktop_links_init): Renamed from
714         gdesktop_init().  Only set up customizable links here.
716         * gdesktop.c (create_desktop_dir): Do the default setup of desktop
717         icons here.
719         * gmount.c (option_has_owner): New function to see if a mount
720         entry has the "owner" flag and its uid matches our euid.
721         (is_block_device_mountable): Use option_has_owner().
722         (get_mountable_devices): Likewise.
724 1999-09-17  Federico Mena Quintero  <federico@redhat.com>
726         * gmain.c (x_init_dlg): Display a warning if the GtkTed code path
727         is ever reached.
728         (xtoolkit_create_dialog): Likewise.
729         (x_add_widget): Likewise.
731 1999-09-16  Owen Taylor  <otaylor@redhat.com>
733         * gmount.c: Remove the HAVE_MAGICDEV conditional.
735         * Makefile.in magicdev.idl: Add the magicdev.idl file
736         here to avoid creating dependency loops.
738 1999-09-14  Norbert Warmuth  <nwarmuth@privat.circular.de>
740         * layout: Added the new samba password dialog.
742 1999-09-13  Owen Taylor  <otaylor@redhat.com>
744         * Makefile.in (MAGICDEV_OBJS): Built common/stubs
745         for magicdev if we found it.
747         * gmount.c (automounter_is_running): If we detected
748         magicdev support at compile time, use a CORBA query
749         to detect if it is running.
751         * gcorba.c (WindowFactory_get_windows_by_directory): Set the
752         length of the sequence we are returning.
754         * gmount.c (setup_devices): is_block_device_mounted expects
755         mount point, not device.
757 1999-09-13  Miguel de Icaza  <miguel@gnu.org>
759         * glayout.c: Add C-w for sopwith.
761 1999-09-13  Federico Mena Quintero  <federico@redhat.com>
763         * gtkdtree.c (scan_subtree): Do not set the current path here,
764         just load the subtree.
765         (gtk_dtree_get_row_path): Removed the column argument, since it
766         was never used.
767         (scan_subtree): Added a path argument that can be calculated
768         upstream.
769         (gtk_dtree_expand): Compute the path for scan_subtree().
770         (gtk_dtree_select_row): Compute the path for scan_subtree(), and
771         set the tree's current path here.  This is the right thing;
772         setting the current path is completely orthogonal from scanning a
773         subtree.
775         * gtkdtree.c (gtk_dtree_class_init): Sigh.  Create a new signal,
776         called "possibly_ungrab", used to request the client to ungrab the
777         mouse at the proper time.  This is required because the stupid
778         clist button press handler grabs the mouse, and we don't want that.
779         (gtk_dtree_select_row): Emit the possibly_ungrab signal here.
781         * gscreen.c (panel_tree_drag_motion): Set the
782         panel->drag_tree_dragging_over flag.
783         (panel_tree_drag_leave): Unset said flag.
784         (panel_tree_possibly_ungrab): Ungrab the mouse here.
786 1999-09-11  Owen Taylor  <otaylor@redhat.com>
788         * gcorba.c (Window_close): Fixed typo in cast.
790 1999-09-10  Federico Mena Quintero  <federico@redhat.com>
792         * gmount.c (setup_devices): See if our supported automounter,
793         magicdev, is running and only create links for mounted CD-ROMs if
794         so.
795         (automounter_is_running): For now just return TRUE; we have to
796         wait for magicdev to export a CORBA server.
798         * gcorba.c (corba_init_server): Initialize the POA here instead of
799         in register_servers().
801 1999-09-10  Miguel de Icaza  <miguel@nuclecu.unam.mx>
803         * gnome-file-property-dialog.c (apply_uid_group_change): Fix more
804         broken code.
806 1999-09-09  Federico Mena Quintero  <federico@redhat.com>
808         * gcorba.c (WindowFactory_close_invalid_windows): Doh.  Walk the
809         list properly, since it may change as we delete windows.
811 1999-09-09  Federico Mena Quintero  <federico@redhat.com>
813         * gmc-client.c: New file.  This is a small program to which you
814         can pass arguments to call the GMC CORBA interface for you.  You
815         can do stuff like create a directory window, rescan the desktop,
816         etc.
818         * gcorba.c (register_servers): Create the window factory and
819         desktop servers.
821 1999-09-08  Federico Mena Quintero  <federico@redhat.com>
823         * gcorba.c: Major re-arrangement and beautifying.  Use nicer and
824         shorter identifier names.
825         (WindowFactory_rescan_directory): New method to rescan all the
826         panels that pertain to the specified directory.
827         (WindowFactory_close_invalid_windows): New method to close all the
828         panels that have unreachable directories.
829         (WindowFactory_get_windows_by_directory): New method to get a
830         sequence of all the panels that are showing the specified directory.
831         (Desktop_rescan): New method to rescan the desktop.
832         (Desktop_rescan_devices): New method to rescan the mountable devices.
834         * gmc.gnorba: Fixed the GOAD IDs to be something non-ad-hoc.
835         Added the Desktop interface.
837 1999-09-06  Federico Mena Quintero  <federico@redhat.com>
839         * gtkdtree.c (gtk_dtree_size_allocate): Do the "visibility" test
840         the right way.
842 1999-09-06  Miguel de Icaza  <miguel@nuclecu.unam.mx>
844         * gtkdtree.c (gtk_dtree_size_allocate): Small change to improve
845         the non-tree loading feature of gmc.
847 1999-09-05    <jrb@redhat.com>
849         * mc.keys.in.in: changed image/x-xcf to be image/x-gimp.  Also,
850         associated gimp with the various actions.  This prolly should be
851         done distributed with gimp, but it's more useful here.
853 1999-09-02  Miguel de Icaza  <miguel@nuclecu.unam.mx>
855         * gscreen.c: Added it here too.
857         * glayout.c: Add File-new option here
859         * gcmd.c (gnome_newfile_cmd): Added new routine.  Invoke when you
860         want to create a new file.
862 1999-09-01  Federico Mena Quintero  <federico@redhat.com>
864         * gscreen.c (panel_icon_renamed): Do nothing if the name did not
865         change.
867 1999-08-30  Federico Mena Quintero  <federico@redhat.com>
869         * gdnd.c (file_has_drop_action): New function to test whether a
870         file has the drop-action metadata or MIME action property.
871         (gdnd_validate_action): Take the drop-action metadata/MIME
872         property into account.
873         (gdnd_can_drop_on_file): New function to see whether a
874         non-directory file can take drops.
876         * gscreen.c (drop_on_panel): New helper function to drop stuff on
877         a panel.  This uses gdnd_can_drop_on_file so that we have the
878         correct behavior.  This enables dropping on executables and files
879         with the drop-action metadata/MIME property again.
880         (panel_icon_list_drag_data_received): Use drop_on_panel().
881         (panel_clist_drag_data_received): Use drop_on_panel().  Normalize
882         the Y coordinate to the clist_window.
884 1999-08-26  Federico Mena Quintero  <federico@redhat.com>
886         * gscreen.c (panel_clist_drag_motion): Pass the full name to
887         gdnd_validate_action().
888         (panel_icon_list_drag_motion): Likewise.
889         (panel_tree_drag_motion): Likewise.
891         * gdnd.c (gdnd_perform_drop): Renamed the "directory" argument to
892         "dest_full_name" for clarity.
893         (gdnd_validate_action): Likewise.  Pass in the full name to
894         if_link_is_exe().
895         (drop_on_file): Do not compute the full name, since we are already
896         get it from the caller.
897         (drop_on_file): Pass in the full name to if_link_is_exe().
899         * gscreen.c (panel_tree_drag_data_received): Free the pathname.
901         * gdesktop.c (icon_drag_data_received): Pass the full name of the
902         file to gdnd_perform_drop(), not just the desktop directory.
904 1999-08-23  Federico Mena Quintero  <federico@redhat.com>
906         * gdesktop-prefs.[ch]: New files that handle the desktop
907         preferences page.  Now we have a nice way to configure the
908         position of desktop icons.
910         * gprefs.c (create_prop_box): Use desktop_prefs_new() to create
911         the desktop preferences page.
912         (apply_page_changes): Do not update the desktop here.
913         (apply_callback): Take the desktop page into account.
915         * gdesktop.c (desktop_use_shaped_text): Renamed from
916         desktop_use_transparent_text.
918         * Makefile.in: Added gdesktop-prefs.[ch] to the list of sources.
920 1999-08-19  Richard Hestilow  <hestgray@ionet.net>
922         * gicon.h: define ICON_IMAGE_WIDTH and ICON_IMAGE_HEIGHT
923         for default icon size. Currently set at 48 by 48.
925         * gicon.c (gicon_get_icon_for_file): Scale down images that are too
926         large. Scales down to a size <= DESKTOP_ICON_WIDTH by
927         DESKTOP_ICON_HEIGHT. Correctly composites arrows on user-selected
928         icons. Shows gnome-warning for unreachable symlinks with no user
929         selected icon.
931         * gdesktop-icon.c (desktop_icon_reshape): dicon->height is now a
932         MAX of total height (icon height + spacing + text height) and
933         DESKTOP_SNAP_X, so that all icons are of a uniform height and small
934         icons center nicely. Rest of function modified to take this into
935         account. create_window_shape is now called last of all,
936         so dicon's various x/y/width/height fields are up to date.
937         (create_window_shape): Determine drawing coordinates based on
938         dicon->icon & dicon->text coordinates, instead of calculating them
939         by hand (Needed for size changes).
940         (set_text): Modified to take the size changes into acount.
942         PATCH FROM volker.braun@physik.hu-berlin.de:
944         * gprefs.c, setup.c, gdesktop.[ch]: Added option
945         desktop_use_transparent_text (Default is FALSE)
947         * gdesktop-icon.c (create_window_shape:
948         * gdesktop.c (click_button_proxy_press): Modified to take into
949         account transparent text.
951 1999-08-16  Federico Mena Quintero  <federico@redhat.com>
953         * gmain.c (default_edition_colors): "brightred" is not a standard
954         X color; use "red" instead.
955         (get_color): Take into account the result of gdk_color_parse().
957 1999-08-13  Federico Mena Quintero  <federico@redhat.com>
959         * gscreen.c (rename_file_with_context): Moved the try_rename()
960         function from gdesktop.c over to here, and renamed it for general
961         use.
962         (panel_icon_renamed): Use rename_file_with_context().  BUGFIX:
963         GNOME bug tracker #1582.
965         * gscreen.c (panel_fill_panel_list): Select or unselect the rows
966         as appropriate, not just select them.  This is needed because the
967         clist changes the selection under us when appending rows.
968         Finally, do not call select_item() at the end; just reset the
969         panel->selected value.
970         (panel_fill_panel_icons): Likewise.
971         (tree_drag_open_directory): Disabled the auto-collapse
972         functionality yet again, since it has numerous problems.  BUGFIX:
973         GNOME bug tracker #1656.
975         * gcmd.c (gnome_reverse_selection_cmd_panel): Re-enabled this
976         function.  The reverse selection bug was somewhere else after all.
978         * glayout.c (gnome_panel_edit_menu): Re-inserted the item for
979         reverse selection.  It was pointing to the wrong callback, that is
980         why it never worked.
982 1999-08-12  Federico Mena Quintero  <federico@redhat.com>
984         * gtkdtree.c (scan_subtree): Scan the subtree unconditionally, as
985         it is completely orthogonal from the selection status.
986         (gtk_dtree_select_row): Maintain the dtree->last_node field here.
987         This fixes the expand/select the same row sequence.  BUGFIX: GNOME
988         bug tracker #1758.
990 1999-08-12  Jonathan Blandford  <jrb@redhat.com>
992         * gpopup2.c (handle_unmount): We refresh when we unmount/mount a cdrom.
994         * gscreen.c (queue_reread_cmd): We refresh when we make a change.
996 1999-08-12  Federico Mena Quintero  <federico@redhat.com>
998         The two following entries are BUGFIX: GNOME bug tracker #1789.
1000         * gscreen.c (panel_fill_panel_list): Do not allow selection of "..".
1001         (panel_icon_list_select_icon): Likewise.
1003         * glayout.c (gnome_panel_edit_menu): Removed the Invert Selection
1004         command.  It is completely broken for the expected GNOME
1005         semantics.
1007         * gnome-file-property-dialog.c (perm_group_new): If the file
1008         belongs to an unknown user/group, use the group's number as a
1009         string for the entry box.  BUGFIX: GNOME bug tracker #1414.
1010         (perm_owner_new): Do the same thing for the user.
1012         * gdialogs.c (file_mask_dialog): Destroy the dialog if it was
1013         closed by the window manager, as well.
1014         (file_op_context_create_ui): Make the operation window modal so
1015         that the user cannot fiddle with other windows while files are
1016         being operated on.  BUGFIX: GNOME bug tracker #1035.
1018 1999-08-10  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1020         * gdialogs.c (file_mask_dialog): Sigh, disabled background
1021         operations, since they are completely hosed.  Re-aligned the
1022         widgets in the dialog.  BUGFIX: GNOME bug tracker #1412, #1416.
1024 1999-08-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1026         * gscreen.c (editing_icon_list): New function to figure out
1027         whether an icon in the icon list is being edited.  This is a
1028         FANTASTICALLY UGLY HACK, but we cannot add new functions to the
1029         icon list at this point as it would break forwards compatibility.
1030         Sigh.  BUGFIX: GNOME bug tracker #382, #1065.
1032         * glayout.c (gnome_panel_desktop_menu): Added some underline
1033         accelerators.
1035         * gdesktop.c (desktop_arrange_icons_items): Renamed to the desktop
1036         namespace.  Added underline accelerators.
1037         (handle_arrange_icons_name): Made static.
1038         (handle_arrange_icons_type): Likewise.
1039         (handle_arrange_icons_size): Likewise.
1040         (handle_arrange_icons_access): Likewise.
1041         (handle_arrange_icons_mod): Likewise.
1042         (handle_arrange_icons_change): Likewise.
1043         (desktop_arrange_icons): Made static.
1044         (strip_tearoff_menu_item): Made it return the number of items in
1045         the menu, not the list of children.
1046         (desktop_icon_info_destroy): Remove the icon from the icon hash
1047         table.
1048         (text_changed): Update the icon hash table information.
1050         * gdesktop.h: Cleaned up some unused prototypes.
1052         * gview.c (view_status): Use the correct g_snprintf() format
1053         argument.
1055         * gcmd.c (sort_get_func_from_type): Indented according to the MC
1056         conventions.  People, *PLEASE* follow the Gnome Programming
1057         Guidelines, especially when modifying existing code.
1059         * gdesktop.c (swap): Likewise.
1060         (auto_pos): Likewise.
1061         (get_icon_auto_pos): Likewise.
1063 1999-08-08  Richard Hestilow  <hestgray@ionet.net>
1065         * gcmd.[ch]
1066         * glayout.c
1067         * gprefs.c
1068         * gdesktop.[ch] (mostly auto_pos and desktop_arrange_icons):
1069         Reworking of the desktop's Arrange Icon code -- in addition to
1070         being able to sort by various criteria now (name, file size, etc),
1071         there are now 3 options (Right to Left, Bottom to Top, Rows instead
1072         of Columns) controlling layout positioning. (Located in the "Desktop"
1073         Preferences tab)
1075 1999-08-08  David Martin <dmartina@usa.net>
1077         * gaction.c (mainly gmc_unable_to_execute_dlg): Moved g_strconcat
1078         to g_strdup_printf, to get compact strings and make coherent
1079         translations. Translate atomic actions (open, edit, view) when
1080         calling this function.
1082 1999-08-06  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1084         * gdesktop.c (try_rename): New function to rename a desktop icon's
1085         file by using a file operation context.
1086         (text_changed): Use try_rename() instead of fiddling with the VFS
1087         directly.  BUGFIX: GNOME bug tracker #707.  Also, destroy the old
1088         icon before updating the desktop.
1090 1999-08-06  Norbert Warmuth  <nwarmuth@privat.circular.de>
1092         * gconf.h (PORT_STATIC_IN_STRING_FILE_XTIME): new port specific
1093         feature. The Gnome edition first calls all string_file functions
1094         and then uses the return values of these functions. This needs
1095         some static buffers in string_file_[acm]time. Therefore additional
1096         static buffers in string_file_[acm]time are needed.
1098 1999-08-05  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1100         * gnome-file-property-dialog.c (perm_group_new): Set the correct
1101         group name in the group entry box.  BUGFIX: Red Hat bugzilla #3244.
1103         * gmount.c (get_mountable_devices): Return the list in getmntent()
1104         order.  BUGFIX: Red Hat bugzilla #3621.
1106         * gprefs.c (help_callback): New help callback for the preferences
1107         dialog.  It loads the "gmcprefs.html" section from the GMC user's
1108         guide.  We need a better framework for this; we need to be able to
1109         map DocBook identifiers (<foo id="bar">) to HTML files or
1110         whatever.  BUGFIX: Red Hat bugzilla #3194.
1112 1999-08-01  David Martin <dmartina@usa.net>
1114         * gcmd.c (gnome_about_cmd): Change strings in gmc "about" to
1115         static as they only translated once.
1117 1999-08-01    <jrb@redhat.com>
1119         * glayout.c: moved Preferences to a settings menu.
1121 1999-07-17  Karsten Weiss  <karsten@addx.au.s.shuttle.de>
1123         * mc.keys.in.in: changed "x11amp" references to "xmms" (xmms is
1124         the new name of x11amp).
1126 1999-07-13  Miguel de Icaza  <miguel@gnu.org>
1128         * gnome-file-property-dialog.c (perm_group_new): the return values
1129         from the group functions in libc return pointers to static buffers
1130         in the library.  Duplicate all return values and free them at the
1131         end.
1133 1999-07-12  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1135         * gdesktop.c (icon_drag_data_received): Use desktop directory here
1136         not the fullname when invoking gdnd_perform_drop as this is what
1137         the code expects.
1139         * gnome-file-property-dialog.c (perm_group_new): Patch from
1140         Germano Leichsenring <germano@jedi.cs.kobe-u.ac.jp> that fixes the
1141         display of groups for non-root users.
1143 1999-07-07    <jrb@redhat.com>
1145         * mc.keys.in.in: updated a few values.
1147 1999-07-01  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1149         * gcorba.c (corba_create_window): Ensure that the directory we
1150         pass to the CORBA server is not NULL.
1152         * gscreen.c: Removed a bunch of unused functions for filters.
1154 1999-06-30  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1156         * gscreen.c (x_select_item): Removed icon list hacks.
1158 1999-06-24  Norbert Warmuth  <nwarmuth@privat.circular.de>
1160         * gmc-chargrid.c (update_strip): Paint every character with the
1161         assigned fore and background color instead of using the colors of
1162         the first character for the whole line.
1164 1999-06-22  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1166         * gsession.c (create_default_panel): Use directory specified in
1167         command line.
1169         * gcorba.c (corba_create_window): Pass the directory we receive or
1170         cwd if this value is NULL.
1172         * gmain.c (non_corba_create_panels): Use parameter for startup
1173         directory (use the this_dir external directory for this).
1174         (create_panels): Pass this_dsir to non_corba_create_panels and
1175         corba_create_window.
1177 1999-06-22  David Martin <dmartina@usa.net>
1179         * gnome-file-property-dialog.c (switch_metadata_box): Tag some
1180         strings for localization.
1182         * gnome-open-dialog.c (gnome_open_dialog_new): Don't assemble
1183         label_string from seperate strings (makes it easier to translate).
1185 1999-06-22  Norbert Warmuth  <nwarmuth@privat.circular.de>
1187         * gview.c (viewer_size_changed): Update internal viewer state used
1188         in hex mode.
1190 1999-06-17  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1192         * gdesktop.c (set_icon_wmclass): New function to set the wmclass
1193         and wmname for desktop icons.  This lets them be managed correctly
1194         by WMs who try to manage X11R5 clients decently.
1195         (text_changed): Call set_icon_wmclass().
1196         (desktop_icon_info_new): Call set_icon_wmclass().
1198         * gdesktop-icon.c (desktop_icon_realize): Do not clear the
1199         WM_CLIENT_LEADER property.
1201 1999-06-14  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1203         * gdesktop.c (icon_is_in_area): Fixed off-by-one error in
1204         intersection computation.
1206         * gdesktop-icon.c (desktop_icon_reshape): Set the correct values
1207         for dicon->text_x and dicon->text_y.
1209 1999-06-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1211         * gwidget.c (x_update_input): Unblock the changed signal *after*
1212         we call gtk_editable_changed().
1214 1999-06-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1216         * gdesktop-icon.[ch]: Removed the background hack for desktop
1217         icons.  Now the GnomeIconTextItem does the right thing.
1219         * gdesktop-icon.c (desktop_icon_reshape): Use the correct size for
1220         the icon text item.
1222 1999-06-07  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1224         * gdesktop.c (new_terminal): New function to open a terminal from
1225         the popup menu.  If the user opens a terminal from the desktop,
1226         then its cwd should be the user's home directory, not the desktop
1227         directory.  Fixes bug #2868 in the Red Hat bugzilla.
1229 1999-06-04  Robert Brady  <rwb197@ecs.soton.ac.uk>
1231         * gscreen.c (panel_list_configure_contents): Prevent
1232         divide by zero error. (Fixes bug #1360)
1234 1999-06-02  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1236         * gmain.c (xtoolkit_init): Ignore SIGTTIN and SIGTTOU.
1238 1999-06-01  Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
1240         * gnome/gdesktop-icon.h:
1241         * gnome/gmc-chargrid.c: Replace gdk_font_load() with
1242         gdk_fontset_load(), and change the default font names.
1244 1999-05-28  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1246         * gscreen.c: Include util.h after x.h;  Undefine __G_LIB_H__.
1248 1999-06-01  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1250         * gdesktop-icon.c (desktop_icon_select): Show the
1251         dicon->background.
1252         (desktop_icon_init): Initialize backgorund as a rectangle that
1253         fills all of the space used by the icon.
1255 1999-05-31  Kjartan Maraas  <kmaraas@online.no>
1257         * glayout.c (gnome_panel_about_menu): Hooked up the new help
1258           file in the menu.
1260 1999-05-29  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1262         * gprefs.c (create_prop_int): Translate this label too.
1264         * gnome-open-dialog.c: Add config.h here.  Otherwise there is no
1265         way to translate this dialog.  Thanks to David Martina for
1266         pointing this out.
1268 1999-05-27  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1270         * gscreen.c (panel_tree_button_press): Beginning of context menu
1271         on tree.
1273         * gtkdtree.c (gtk_dtree_load_path): Comment out the phantom code.
1274         Need to review this code.  Lets fix the problem Federico needs
1275         solved now.
1277 1999-05-26  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1279         * gpopup.c (panel_action_properties): Hanlde properly
1280         gnome_dialog_run here.
1282         * gpopup2.c (handle_properties): ditto
1284         * gmain.c (gnome_check_super_user): Use dialog_run_and_close here.
1286         * gpopup.c (dicon_properties): Handle propery gnome_dialog_run
1288         * gdialogs.c (file_mask_dialog): Fix usage of gnome_dialog_run
1289         here.  Handle case == -1.
1291         * gcmd.c (gnome_select): Fix usage of gnome_dialog_run here
1292         (handle case == -1)
1294         * gscreen.c (panel_fill_panel_icons): Add a hack to work around
1295         gnome-libs/gnome-icon-list bug that did not reset the proper
1296         values.  A fix will be available in gnome-libs-1.0.10.
1298         Fixes bug #1338.
1300         * gcmd.c (gnome_close_panel): Remove filter_w
1302         * gscreen.c (x_filter_changed): Update nothing.
1304 1999-05-23  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1306         * gnome-open-dialog.c (gnome_open_dialog_generate_tree_helper):
1307         Invoke closedir here as well.
1309         * gdesktop-init.c (desktop_init_at): Invoke closedir here.
1311 1999-04-29  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1313         * gdialogs.c (file_progress_show_count): Use correct formats for
1314         snprintf().
1316 1999-05-03  Tuomas Kuosmanen  <tigert@gimp.org>
1318         * i-directory.png
1319         * i-directory.png: Added new icons for normal and locked folder..
1320         I hope you like them - imho they look way better than the old ones.
1322 1999-05-01  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1324         * gcmd.c (gnome_new_link): Allow users to create url shortcuts on
1325         the desktop menu.
1327 1999-04-20  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1329         * gdesktop.c (click_proxy_motion): Terminate rubberbanding if the
1330         event mask does not contain GDK_BUTTON1_MASK.  There is a race
1331         condition where we will not get the button release event if we
1332         manage to grab the server in the button_press handler before the
1333         window manager proxies the button release to us.
1334         (perform_release): New function to terminate rubberbanding; this
1335         used to be in click_proxy_button_release().  Also, update the drag
1336         selection based on the last known mouse position, not on the
1337         current one (which is not meaningful if the race condition
1338         mentioned above kicks in).
1339         (click_proxy_button_release): Use perform_release().
1341 1999-04-19  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1343         * gdialogs.c (file_op_context_create_ui): Handle the "close"
1344         signal from the progress dialog; do not let GnomeDialog close it
1345         for us.  This fixes bug #2203 in Red Hat's Bugzilla.
1347 1999-04-19  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1349         * gnome-file-property-dialog.c (perm_group_new): Small typo fix
1350         that fixes crash (#958)
1352 1999-04-16  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1354         * mc.keys.in.in: Merge the application/tex values.
1356 1999-04-18  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1358         * gnome-file-property-dialog.c (create_general_properties): Mark
1359         some more strings for translations.  Thanks to David Martina for
1360         pointing these out.
1362         * mc.keys.in.in: New icons from Tim Davis <davist@cs.man.ac.uk>
1364 1999-04-16  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1366         * gscreen.c: Include the glib.h header file here.
1368 1999-04-16  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1370         * gtkdtree.c (gtk_dtree_save_tree): Use tree_store_save().
1372         * gscreen.c (panel_tree_check_auto_expand): Enabled auto-collapse
1373         functionality again.  Made the code a simpler by using
1374         gtk_dtree_is_ancestor().
1376         * gtkdtree.c (gtk_dtree_is_ancestor): New function to test whether
1377         a node is an ancestor of a child.  This does the same as
1378         gtk_ctree_is_ancestor(), but much more efficiently.  GtkCTree
1379         seems to use the pessimal algorithm for this.
1380         (gtk_dtree_collapse): Slight optimization: do not re-select if the
1381         node is already selected.
1382         (gtk_dtree_collapse): Do not freeze/thaw the tree while
1383         collapsing/selecting.
1385         * gmain.c: Removed crufty old SM code.
1387 1999-04-15  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1389         * gscreen.c (panel_setup_drag_scroll): Made it not return
1390         anything, since scrolling is independent from any other
1391         prelighting actions.
1392         (panel_tree_drag_begin): Do not print debugging message.
1393         (panel_drag_data_get): Assert that we were requested a valid data
1394         type.
1395         (panel_create_tree_view): Only specify GTK_DEST_DEFAULT_DROP for
1396         the tree, since we want to present the correct feedback when the
1397         user is hovering over the blank area in the tree.
1398         (panel_build_selected_file_list): Made it return char *.
1399         (panel_tree_drag_end): Free dtree->drag_dir, not dtree->current_path.
1400         (tree_drag_open_directory): Use panel->drag_tree_node instead of
1401         the coordinates hack.
1403 1999-04-15  Jonathan Blandford  <jrb@redhat.com>
1405         * gaction.c (gmc_unable_to_execute_dlg): really ugly hack to set label.
1406         (gmc_unable_to_execute_dlg): oops. forgot this.
1408 1999-04-13  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1410         * gtkdtree.c (gtk_dtree_destroy): Memory leak fix: destroy
1411         current_path and requested_path
1413 1999-04-13  Jonathan Blandford  <jrb@redhat.com>
1415         * mc.keys.in.in: updated the key files to add more types.
1417 1999-04-12  Andrew T. Veliath  <andrewtv@usa.net>
1419         * gdesktop.c (create_panel_from_desktop): Assign selected_index
1420         when we find the last selected icon.
1421         (desktop_icon_info_open): Desktop directory open case moved to
1422         main.c to handle both general and action cd commands.
1424 1999-04-12  Tuomas Kuosmanen  <tigert@gimp.org>
1426         * glayout.c: Changed the stock icon for File->Delete to
1427         GNOME_STOCK_PIXMAP_TRASH (the trashcan)
1429 1999-04-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1431         * gscreen.c (panel_icon_list_button_press): Ignore double clicks.
1432         (panel_widget_motion): Don't do anything if the button state does
1433         not match the button we are expecting.
1435         * gtkflist.c (gtk_flist_button_press): Remove pending selections
1436         when we receive a double click.
1438         * gaction.c: #include "view.h"
1440 1999-04-09  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1442         * gmount.c (is_block_device_mountable): Allow root to mount
1443         devices.
1445 1999-04-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1447         * gtkflist.[ch]: New files.  This is a "file list" widget derived
1448         from GtkCList that does several things:
1450                 - Overrides all mouse and keyboard event handlers.
1452                 - Implements its own, *sane* selection behavior, unlike
1453                 GtkCList's, which is broken.
1455                 - Implements the same selection behavior as the desktop,
1456                 which is a) correct, and b) consistent.
1458         * gscreen.c (panel_create_file_list): Use the GtkFList widget.
1459         (panel_widget_motion): Changed the drag thresholds to be the same
1460         as in gtkdnd.c.
1461         (start_drag): New convenience function to begin a drag operation.
1462         (panel_widget_motion): Use start_drag().
1463         (panel_clist_scrolling_is_desirable): Offsets must be with respect
1464         to the clist_window, not to the allocation.
1465         (panel_clist_drag_motion): Normalize the y coordinate of the
1466         motion event to the clist_window.
1468         * gdesktop.c (desktop_icon_info_destroy): Reset the
1469         last_selected_icon to NULL if it is destroyed.
1471         * Makefile.in: Added gtkflist to the list of files.
1473 1999-04-09  Rosanna Yuen  <rwsy@mit.edu>
1475         * gaction.c (gmc_view): We now have consistant actions everywhere;
1476         every time you invoke a file.
1478 1999-04-08  Rosanna Yuen  <rwsy@mit.edu>
1480         * gcmd.c (set_cursor_normal): new function to set the watch cursor
1481         on a panel.
1483 1999-04-08  Jonathan Blandford  <jrb@redhat.com>
1485         * gaction.c (gmc_unable_to_execute_dlg):
1486         now actions do the right thing (TM).
1488 1999-04-07  Owen Taylor  <otaylor@redhat.com>
1490         * gsession.c (session_save): Set a discard command
1491         to get rid of the per-session information.
1493 1999-04-06  Jonathan Blandford  <jrb@redhat.com>
1495         * gscreen.c: make sure that we bring up an open_with if
1496         open it.
1498         * gcmd.c (gnome_select): new selection dialog.
1500         * gdesktop-init.c (desktop_init_at): do not use access for it is
1501         poor when you are root.
1503 1999-04-06  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1505         * glayout.c (create_container): Use gtk_window_set_default_size(),
1506         not gtk_widget_set_usize().
1508         * gdesktop.c (get_slot_from_pos): Clamp the slot positions to be
1509         inside the screen.
1511         * gmain.c (gnome_check_super_user): Improved the message a bit.
1513 1999-04-06  David Martin <dmartina@usa.net>
1515         * gcmd.c: marked message for translation.
1517 1999-04-05  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1519         * gmetadata.c (gmeta_del_icon_pos): New function to delete the
1520         icon position metadata from a file.
1522         * gcmd.c: Removed unused function gnome_quit_cmd().
1524 1999-04-05  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1526         * gprefs.c: Add new page for desktop properties.
1528 1999-04-05  Ronald de Man <deman@win.tue.nl>
1530         * gnome-file-property-dialog.c (create_general_properties): Use
1531         local time here.
1533 1999-04-05  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1535         * gcorba.c: #include "../vfs/vfs.h"
1537         * gdesktop.c (click_proxy_button_release): Call gdk_flush() after
1538         doing XUngrabServer().
1540 1999-04-04  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1542         * gscreen.c (file_list_popup_items): Use "New Directory", not "New
1543         Folder", to be consistent with the desktop and File menus.  Thanks
1544         to Kevin Fox for pointing this out.
1545         (panel_icon_list_drag_data_received): Update the panels properly.
1546         (panel_clist_drag_data_received): Likewise.
1547         (panel_tree_drag_data_received): Likewise.
1549         * gcmd.c (gnome_close_panel): Doh.  Do not access g_free()d
1550         memory.
1552         * glayout.c (copy_uiinfo_widgets): Return the copied array as a
1553         return value, not in an argument.
1555         * gcmd.c (set_view_type): Added a sanity check.
1557 1999-04-01  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1559         * gtkdtree.c (scan_subtree): Moved the functionality to scan a
1560         subtree to this function.  Also, do not emit the DIRECTORY_CHANGED
1561         signal here.
1562         (gtk_dtree_select_row): Call scan_subtree() and emit the
1563         DIRECTORY_CHANGED signal here.
1564         (gtk_dtree_expand): Do not select the just-expanded node.  Call
1565         scan_subtree().
1566         (gtk_dtree_collapse): Only select the node if it is an ancestor of
1567         the currently-selected node.  This should really go in the
1568         GtkCTree sources.
1569         (gtk_dtree_init): Bad hack: unset the GTK_CAN_FOCUS flag to avoid
1570         the broken focusing behavior of GtkCTree.
1572 1999-04-01  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1574         * gcmd.c (gnome_about_cmd): Internationalize about box.  And put
1575         the right address for bug reports.
1577 1999-03-30  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1579         * gdesktop-icon.c (desktop_icon_realize): Remove the
1580         WM_CLIENT_LEADER property from icon windows so that window
1581         managers will not store SM information for them.
1583         * gnome-open-dialog.c: Added missing #includes.
1585         * gdesktop-init.c (desktop_init_at): Removed an unused variable.
1587         * gdesktop.h: Added some missing prototypes.
1589         * gmain.h: Added some missing prototypes.
1591         * Makefile.in: Added gsession.[ch] to the list of sources.
1593         * gmain.c (create_panels): Consider whether we have a CORBA server
1594         and session management.
1596         * gdesktop.c: #include "gdesktop-init.h"
1597         * gdesktop.c: Added a missing cast to GNOME_DIALOG.
1599         * gmain.c (create_panels): Removed the run_desktop global
1600         variable.
1602         * glayout.c (create_container): Set the wmclass of the panel to
1603         include its unique ID.
1605         * gsession.[ch]: New file with the functions that deal with
1606         session management.
1608         * glayout.c (gnome_exit): Use session_set_restart().
1610         * gcorba.c (corba_init): Now returns an int with an error value.
1611         (corba_init_server): Initialize the server properly.
1612         Fixed all the object implementation code.
1613         (corba_create_window): New function used to create a window with
1614         the CORBA server.
1616         * gmain.c (gnome_check_super_user): Now the check for running as
1617         root is done here.  There should be no GUI code in src/.
1619 1999-03-29  Jonathan Blandford  <jrb@redhat.com>
1621         * gdesktop.c (create_desktop_dir): improved wording.
1622         (create_desktop_dir): improved wording.
1624 1999-03-26  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1626         * mc.keys.in: Now that the menu code uses the full filename, we do
1627         not need "%d/%f" for html files.
1629 1999-03-25  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1631         * gdialogs.c (file_progress_show_bytes): Total may be zero (for
1632         instance, if you are copying zero-byte files).  Take this into
1633         account instead of issuing a warning.
1635 1999-03-25  Jonathan Blandford  <jrb@redhat.com>
1637         * gdesktop.c (set_background_image): now we can set the background
1638         from GMC.
1640 1999-03-22  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1642         * glayout.c (create_new_menu_from): closedir after running.
1644 1999-03-20  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1646         * gnome-file-property-dialog.c (apply_metadata_change): Fix the
1647         test for setting the icon.  It was being done incorrectly and thus
1648         it was never possible to change the icon.
1650         * glayout.c (gnome_launch_mime_editor): Add mime-type-edit command
1651         to the menu: this launches mime-type-capplet
1653 1999-03-23  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1655         * gnome-file-property-dialog.c (apply_metadata_change): Fixed
1656         incorrect logic when testing whether the icon changed or not.
1657         This makes icons change correctly again.
1659         * Makefile.in (GNOMEHDRS): Added gdesktop-init.h.
1661 1999-03-23  Jonathan Blandford  <jrb@redhat.com>
1663         * gscreen.c (panel_tree_drag_motion): lets try to cut down on the flickers.
1665 1999-03-22  Jonathan Blandford  <jrb@redhat.com>
1667         * gdesktop-init.c (gdesktop_init): Do what the documentation says.
1669 1999-03-20  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1671         * gdesktop-init.c (desktop_load_init_from): New file that loads
1672         new configuration files from the installation directory.
1674         * gdesktop.c: Drop all the reload code from there, put it above.
1676         * gpopup2.c (create_mime_actions): Attach to the menu, not the uiinfo.
1678 1999-03-19  Jonathan Blandford  <jrb@redhat.com>
1680         * gscreen.c (panel_tree_drag_motion): Dragging now automatically
1681         highlights the tree.  God does it flicker... )-:
1683         * gtkdtree.h (gtk_dtree_construct): removed unused prototype.
1685         * gscreen.c (panel_tree_check_auto_expand): removed the
1686         auto-collapse of trees, as it is confusing to the user.
1688         * gcustom-layout.c (custom_layout_set): We don't want to let the
1689         user remove all of the settings.
1691         * gdialogs.c (file_progress_show_bytes): bug fix proposed by Max
1692         Weninger <max@takefive.co.at>
1694         * gcmd.c (dentry_apply_callback): new function.
1695         (gnome_new_launcher): We can now create new
1697 1999-03-19  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1699         * gpopup2.c (create_mime_actions): Free full_name, just once, not
1700         once per action.
1702 1999-03-19  Paul Raines <raines@slac.stanford.edu>
1704         * gtkdtree.c (gtk_dtree_load_path): Uses a phantom node to get
1705         directories with the expandable flag.  Avoids loading directories
1706         at two levels.
1708 1999-03-18  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1710         * gdesktop.c (desktop_icon_info_open): Fix condition.  Should not
1711         open a new panel if it fails to mount the device.
1713 Thu Mar 18 14:59:12 1999  Timur Bakeyev  <mc@bat.ru>
1715         * gnome-open-dialog.c (read_directory): s/basename/x_basename/g
1717 1999-03-17  Jonathan Blandford  <jrb@redhat.com>
1719         * gnome-file-property-dialog.c (generate_icon_sel): I don't know
1720         who broke this, but it was a mess.  It now does the right thing,
1721         and works...
1723 1999-03-16  Jonathan Blandford  <jrb@redhat.com>
1725         * gnome-open-dialog.c (read_directory): We now honor .order files.
1727 1999-03-16  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1729         * gicon.c (get_icon_set): Use iset->filename (which is a
1730         strdup()ed string) instead of filename as a key in the hash table,
1731         since the user will very likely free filename.
1733         * gdialogs.c (symlink_dialog): Finished implementing the new
1734         symlink dialog.
1736         * gdesktop.c (icon_event): I'm an idiot.  Someone teach me boolean
1737         logic again.  Fixed edit-on-release for icons.
1739 1999-03-15  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1741         * gdialogs.c (real_input_dialog_help): Now we use a
1742         gnome_request_dialog() for generic input dialogs.  They look
1743         prettier and consistent now.
1744         (file_progress_show): Update the progress bars.  Thanks to Greg
1745         for noticing this!
1747         * Makefile.in: Removed references to gpopup.[co].
1749 Mon Mar 15 17:09:37 1999  Gregory McLean  <gregm@comstar.net>
1751         * gdialogs.c (file_progress_show_bytes): Fixed a GTK Warning when
1752         done / total >= 1.0
1753         * file.c : Actually update the progress bar when copying files around.
1755 1999-03-15  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1757         * gscreen.c (x_select_item): It is not necessary to call
1758         gnome_canvas_update_now() here.
1760         * gdesktop-icon.c (set_icon): Do not destroy the icon image.
1762         * gnome-file-property-dialog.c
1763         (gnome_file_property_dialog_finalize): Do not destroy the icon
1764         image, since it is a shared resource.
1766 1999-03-14  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1768         * gdesktop.c (text_changed): If the file has the "icon-caption"
1769         metadata set, then change that instead of renaming the file.  This
1770         can be used by URLs and is also needed by the mountable device
1771         icons.
1772         (text_changed_url): Removed this function now that text_changed()
1773         can handle all cases.
1775         * gdnd.c (drop_url_on_directory): Set the "icon-caption" metadata
1776         for URLs.
1778         * gdesktop.c (icon_event): Handle button-2 clicks and drags
1779         properly.
1781 1999-03-14  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1783         * gmount.c (get_mountable_devices): Show error message if the
1784         /etc/fstab is not readable by the user.
1786 1999-03-12  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1788         * gview.c (scrollbar_moved): Better, but still shaggy when you
1789         drag with the scrollbar.
1791 1999-03-12  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1793         * gdesktop.c (create_panel_from_desktop): Do not assert that
1794         panel->count > 0, because we may actually not have any icons in
1795         the desktop.
1796         (desktop_popup): Reload the desktop once the popup menu is done.
1797         (create_panel_from_desktop): Be consistent with the way totals are
1798         computed in screen.c:do_file_mark().
1800         * gnome-file-property-dialog.c (gnome_file_property_dialog_init):
1801         Set the dialog to not destroy-on-close.
1803         * gpopup2.c (gpopup_do_popup2): Fixed Miguel's code.
1805 1999-03-11  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1807         * gpopup2.c (gpopup_do_popup2): Until Federico look over this, I
1808         am fixing this crash.
1810 1999-03-11  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1812         * gpopup2.c: Sigh.  It happened again.  More features killed by
1813         the merge.
1815         If a file does not have any metadata/mime way of viewing it, the
1816         viewer will always work.
1818 1999-03-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1820         * gdesktop.c (text_changed): Rename the metadata and refresh the
1821         desktop.  This also fixes bug #573.
1823 1999-03-11  Jonathan Blandford  <jrb@redhat.com>
1825         * gnome-file-property-dialog.c (create_settings_pane): change the
1826         wording to be a tad clearer.
1827         (apply_metadata_change): only set the icon if it has changed.
1829 1999-03-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1831         * gpopup2.c (create_mime_actions): Do not free the file name here,
1832         since it is passed on to the callback.  It will be freed on the
1833         destroy handler instead.
1835         * gpopup2.c (escape_underlines): New function to escape the
1836         underlines in a string so that GtkLabel will include them in the
1837         final result.
1838         (create_mime_actions): Escape the underlines from the MIME action
1839         descriptions.
1841 1999-03-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1843         Fix bug #261: inconsistent labels in view menu and toolbar,
1844         unsynchronized items.
1846         * glayout.c (panel_view_menu_uiinfo panel_view_toolbar_uiinfo):
1847         Made the view names consistent with the toolbar names.  Also,
1848         added underscore accelerators to the menu items.
1849         (copy_uiinfo_widgets): New function to copy the widgets from an
1850         uiinfo array into a widget array.
1851         (create_container): Copy the uiinfo widgets to the panel
1852         structure.
1854         * gcmd.c (set_view_type): New function to set the list view type
1855         and synchronize the menu and toolbar items.
1856         (gnome_close_panel): Free the view menu/toolbar item arrays.
1858 1999-03-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1860         * gpopup2.c (perform_mount_unmount): Set the icon's cursor while it is
1861         being operated on.
1862         (handle_mount): Use perform_mount_unmount().
1863         (handle_unmount): Likewise.
1864         (handle_eject): Set the icon's cursor while it is being ejected.
1866         * gdesktop.c (desktop_icon_set_busy): New function to set a watch
1867         or normal cursor for a desktop icon.
1869         * gdesktop.c (desktop_icon_info_open): Set the cursor to a watch
1870         while the icon is being opened.  Also, fixed memory leaks.
1871         (do_eject): Added a missing return value.
1873 1999-03-11  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1875         * gmount.c (setup_devices): Use new tigert icon.
1877         * gdesktop.c (do_mount_umount): Use g_readlink here.
1879         * gpopup2.c (handle_eject): Small tuning.  And use g_readlink :-).
1881         * gmount.c (mount_point_to_device): New function.  Mapes a mount
1882         point to its device.  Required since we are now using the mount
1883         point (as this is not ambiguous) as the key for the devices and
1884         the eject command needs the device name, not the mount point.
1886         * gdesktop.c (desktop_icon_info_open): First try to see if
1887         filename is mountable.  Then do the directory tests and the file
1888         launching tests.  Fixes mount-by-double click.
1890 1999-03-10  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1892         * glayout.c (save_panel_types): Do not save the setup of a desktop
1893         panel.
1895         * gpopup2.c (handle_mount): Use get_full_filename().
1896         (handle_unmount): Likewise.
1897         (handle_eject): Likewise.
1898         (handle_open): Likewise.
1900         * gdesktop.c (update_url): Made static.
1901         (desktop_reload_icons): Call update_url() when updating an
1902         existing icon.
1904         * gpopup2.c (handle_properties): Do not update the icon url here.
1906 1999-03-10  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1908         This is a semi-big slew of changes to integrate the DESKTOP_BRANCH
1909         into the main trunk.  Now the gdesktop code creates a temprary
1910         WPanel structure and passes it on to the core file management
1911         functions.  Also, the menu code is improved (we now use gpopup2;
1912         gpopup should go away shortly and gpopup2 should replace it).
1913         This makes the desktop act consistently with the file panels.
1914         Thanks to Jonathan for his help with this branch.
1916         * gdnd.c (perform_action): Use mc_lstat(), not mc_stat().
1918         * glayout.c (update_panels): Do not update the panels that are
1919         desktop panels.
1921         * gdesktop.c (icon_is_in_area): An icon is not considered to be in
1922         a 0x0 area.
1924         * gpopup2.c (handle_open): Fetch the desktop icon from the
1925         filename and call desktop_icon_info_open().
1927         * gdesktop.c (desktop_icon_info_get_by_filename): New function to
1928         look up a desktop icon by its filename.
1930         * glayout.c (create_new_menu_from): Test for the ".desktop" suffix
1931         correctly.
1933         * gpopup2.c (handle_properties): If the file comes from a desktop
1934         panel, always allow edition of the icon image.
1936 1999-03-10  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1938         * gdialogs.c: Support ui->ctx to be NULL, as file.c will set this
1939         to NULL for background operations.
1941 1999-03-09  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1943         * gdesktop.c (icon_drag_data_received): Pass the full directory
1944         name to gdnd_perform_drop.
1946         * gpopup.c (create_regexp_actions): This routine no longer creates
1947         the default copy/move/delete context menu entries.
1949         (file_actions): Include the copy/move/delete options here.  This
1950         also enabled me to reorder things to put "Delete" closer to the
1951         top, as it is a pretty common operation.
1953 1999-03-08  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1955         * gmain.c (session_save_state): Add call to gnome_config_sync().
1957         * gutil.c (my_system_get_child_pid): reset SIGPIPE to a sensible
1958         value.
1959         (my_system_get_child_pid): Close also stdin/stdout/stderr
1961         * gdesktop.c (is_mountable): Allow user-nfs devices to be mounted
1963 1999-03-08  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1965         * gscreen.c (can_drop_on_clist): New function to figure out if the
1966         user is trying to drop on a valid region of a GtkCList.  It sucks
1967         to have to poke into its internal geometry, though.
1969 1999-03-08  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1971         * gnome-file-property-dialog.c (apply_metadata_change): only set
1972         the needs-terminal property if we actually created such entry.
1974 1999-03-08  Sergey Panov  <sipan@mit.edu>
1976         * gcustom-layout.c, gprefs.c: Make the preferences dialog
1977         translatable. (include files in gcustom-layout.c and use of
1978         the _() macro in gprefs.c)
1980 1999-02-28  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1982         * gnome-file-property-dialog.c (create_settings_pane): Simplify
1983         the test and fix it.
1985         * gdnd.c (drop_on_file): Fix these so that they can use the
1986         metadata drop-action.
1988         * gdesktop.c (desktop_icon_info_open): Ugly.  Needs to share more
1989         code here.  Use the metadata first, and the is_exe to find out how
1990         to launch an application.
1992         * gnome-file-property-dialog.c (perm_group_new): Check the return
1993         value of getgrgid.
1994         (perm_group_new): Do not use a grp if it does not exist.
1996 1999-02-26  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1998         * glayout.c (my_app_create_menus): New function, used to create
1999         our menus and set the realy properly, to make cpanel (ie,
2000         current_panel) always consistent with what the user users.
2002         So, no need to kill the tearoff menus in gmc now.
2004         * gmount.c (is_block_device_mountable): compare the device name
2005         here.
2007         (get_mountable_devices): Do not stop scanning devices.
2009         * gview.c (scrollbar_moved): Call view update here, with
2010         update_gui = FALSE.
2012         * gdesktop.c (desktop_icon_info_open): Add needs terminal support.
2014         * gnome-file-property-dialog.c (create_settings_pane): Add Needs
2015         terminal check box
2017 1999-02-25  Jonathan Blandford  <jrb@redhat.com>
2019         * gpopup2.c: even more bug-fixes.  Plenty more left to do, but now
2020         all the menu code seems to work other then the
2021         select-and-popup-menu problem.
2023         * gaction.c (gmc_can_view_file): new function.  Can we view the file?
2025 1999-02-25  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2027         * gaction.c (gmc_open_filename): Add support for needsterminal.
2029         * gscreen.c: Add New Folder option to the panel popup.
2031 1999-02-25 Owen Taylor  <otaylor@redhat.com>
2033         * gdialogs.c (file_delete_query_recursive): GNOME
2034         replacement for recursive delete query dialog.
2036         * gprefs.c gcustom-layout.[ch]: Add a new page to
2037         the preferences dialog to allow the user to change
2038         the columns in the custom view.
2040 1999-02-24  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2042         * gmount.c (desktop_cleanup_devices): Export this routine now and
2043         call it from gdeskop instead of overloading gmount_setup_devices.
2045         * gprint.c: Sample file, it uses an externally provided program
2046         (not in 1.0 so far) to setup printer devices.
2048         * gmount.c (gmount_setup_devices): No longer cleans up here.
2050         * gicon.c (gicon_get_filename_for_icon): Return const char *, this
2051         tells the user of this routine "you better not touch or free this
2052         you dofus".
2054         * gnome-file-property-dialog.c (apply_metadata_change): Always set
2055         the name of the icon to the new value, as the entry will always
2056         match the imlib image anyways (due to the fixes I did to const
2057         correctness).
2058         (generate_icon_sel): Do not free the value.  We do not own this
2059         return value.
2061         * gdesktop.c (is_mountable): NULL terminate string returned from
2062         readlink.  Yes guys, readlink does not NULL terminate things.
2063         (do_mount_umount): ditto.
2065         * gnome-file-property-dialog.c (init_metadata): ditto
2067 Tue Feb 23 17:41:45 1999  George Lebl  <jirka@5z.com>
2069         * gmain.c: set the restart property of the gnome client to
2070           RESTART_IMMEDIATELY or RESTART_NEVER if we're gonna quit
2072 1999-02-23  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2074         * gnome-file-property-dialog.c (gnome_file_property_dialog_new):
2075         When dealing with a symbolic link, check the stat info from the
2076         real file, not the link.
2078         * gscreen.c (panel_tree_drag_data_received): Use path here (which
2079         is what is selected on the tree, not panel->cwd).
2081         * gdesktop.c (desktop_drag_data_received): Simplify.
2083         * gscreen.c (panel_icon_list_drag_data_received): Pass the full
2084         path to gdnd_perform_drop.
2085         (panel_clist_drag_data_received): same.
2087         * gdnd.c (drop_on_directory): We no longer take a file_entry
2088         here.  The directory we get passed is already a fully qualified
2089         name of the target location.
2091         * gwidget.c (x_create_input): Hook to the changed signal and sync
2092         the input with our view of the entry.  This fixes the paste bug
2093         reported.
2095 Tue Feb 23 01:57:22 1999  George Lebl  <jirka@5z.com>
2097         * gmount.c: fix obvious typos, use str in option_has_user, fix
2098           mt_opts typo and is_block_device_mountable can't return TRUE nor
2099           FALSE, so it returns NULL
2101 1999-02-23  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2103         * gnome-file-property-dialog.c (apply_metadata_change): Fix memory leak.
2105 1999-02-23  Jonathan Blandford  <jrb@redhat.com>
2107         * gpopup2.c (handle_open_with): use the new dialog.  Doesn't quite
2108         work -- I'll make sure it does tonight.
2110         * gnome-open-dialog.c: new widget -- an "Open with..." dialog.
2112 1999-02-22  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2114         * gdesktop.c (desktop_reload_icons): Fix memory leak.
2116         * glayout.c (create_new_menu_from): Fix memory leak.
2118         * gdesktop.c (desktop_icon_info_open): Launch a panel at the
2119         location of the mount point.
2121         * gmount.c (setup_devices): Use g_list_free, not g_free.  Fed,
2122         test your fixes to my code ;-)
2124         * glayout.c (create_container): Add a Desktop menu if the WM is
2125         not GNOME compliant.
2127         * gdesktop.c (setup_motif_dnd_proxy): Use Window instead of
2128         gint32, fix from George Lebl.
2129         (setup_xdnd_proxy): ditto.
2131 1999-02-19  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2133         * gdesktop.c (file_entry_fill): Initialize fe->f.dir_size_computed.
2135 1999-02-18  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2137         * gmain.h: Removed set_current_panel() since it was never used.
2139         * glayout.c (set_current_panel): Made static and renamed from
2140         set_new_current_panel().
2141         Removed old toolbar cruft.
2143         * gmount.c (get_mountable_devices): Made static.
2145         * Makefile.in (ICONS): Added i-floppy.png, i-cdrom.png,
2146         i-printer.png.  Thanks, Tigert!
2148 1999-02-18  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2150         * gmount.c (gmount_setup_devices): New function to set up the
2151         mountable devices on the desktop directory.  Moved over from
2152         gdesktop.c.  Added an argument that specifies whether it should
2153         clean up the device list first.
2154         (cleanup_devices): Delete the metadata for the devices.
2155         (setup_devices): Free the list of device names.  Use the proper
2156         icon for each device.
2157         (create_device_link): Better error checking.
2159         * gdesktop.c (create_desktop_dir): Use gmount_setup_devices().
2160         (desktop_icon_info_destroy): Made static.
2161         (desktop_popup_items): The command for rescanning mountable
2162         devices should go here.
2163         (handle_rescan_devices): Call gmount and refresh the desktop.
2165         * gdesktop.h: Removed the declaration of tree_panel_visible, since
2166         it has nothing to do with the desktop.
2168         * glayout.c (gnome_panel_commands_menu): Removed the recreate
2169         devices command.
2171         * gdesktop.c (desktop_popup_items): Added a new command to create
2172         a file window.
2174 1999-02-17  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2176         * gdesktop.c (do_mount_umount): Removed unused variable.
2177         (do_eject): Return FALSE if there is no eject command.
2178         (setup_devices): Removed unused variable.
2180         * gdnd.c (drop_on_file): Pass the directory to if_link_is_exe().
2181         (gdnd_validate_action): Likewise.
2182         (gdnd_perform_drop): Made consistent with the rest of the code by
2183         taking the directory name along with the file entry.
2184         (gdnd_validate_action): Likewise.
2186         * gdesktop.c (icon_drag_motion): Pass the directory to the gdnd
2187         functions.
2188         (icon_drag_data_received): Likewise.
2189         (desktop_drag_motion): Likewise.
2190         (desktop_drag_data_received): Likewise.
2191         (desktop_icon_info_open): Pass the directory to if_link_is_exe().
2193         * gscreen.c (panel_icon_list_drag_data_received): Pass the
2194         directory to gdnd functions.
2195         (panel_clist_drag_data_received): Likewise.
2196         (panel_tree_drag_data_received): Likewise.
2197         (panel_clist_drag_motion): Likewise.
2198         (panel_icon_list_drag_motion): Likewise.
2200 1999-02-17  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2202         * gdesktop.c (reload_desktop_icons): Load the information provided
2203         on the .desktop file for the desktop icon information: icon
2204         filename and text to be displayed.pwd
2207         * gpopup.c (create_actions): Add ejectable
2209         * gdesktop.c (do_eject): Add eject command.
2211 1999-02-16  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2213         * gpopup.c (create_actions): Add support for mountable icons.
2215         * gdesktop.c (try_to_mount): Add an option to automatically mount
2216         links on the desktop that point to devices.
2217         (is_mountable): Returns true if a pathname is mountable.
2219         * glayout.c: Add the dirsizes command here.
2221         * gmount.c: New file.  Implements support routines for
2222         mount/umount.
2224 1999-02-16  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2226         * i-symlink.png: Flipped the image around, since we are putting
2227         the little icons on the lower-right corner.
2228         * i-stalled.png: Likewise.
2230         * gicon.c (gicon_get_filename_for_icon): Doh, use image_hash here.
2232 1999-02-16  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2234         * gicon.c: Lots of changes to support the little symlink/stalled
2235         icons that get overlaid on the normal file icons.  We now have the
2236         concept of an icon set, which is a cache of normal icons plus
2237         their overlaid versions.
2239         * gnome-file-property-dialog.c (apply_metadata_change): Use
2240         gicon_get_filename_for_icon().
2241         (generate_icon_sel): Likewise.
2243         * gnome-file-property-dialog.c (create_general_properties): Use
2244         buffers of size MC_MAXPATHLEN.
2245         (init_metadata): Likewise.
2247 1999-02-16  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2249         * gmetadata.c: Removed the gmeta_del_icon_pos() function, since it
2250         is no longer used anywhere.
2252         * gdesktop.c (reload_desktop_icons): Use gnome_metadata_delete()
2253         instead of gmeta_del_icon_pos().
2254         (desktop_icon_info_delete): Likewise.
2255         (desktop_icon_info_destroy): Do not call gnome_metadata_delete().
2257 1999-02-15  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2259         * gdesktop.c (arrange_desktop_icons): I am such a doofus, I did
2260         not initialize two variables here.
2262 1999-02-15  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2264         * gdesktop.c (reload_desktop_icons): Take auto-positioning and
2265         snap-positioning into account.  This is the right thing to do.
2266         (get_icon_auto_pos): Do auto-positioning in two steps, first from
2267         the requested position to the end of the slot array, then from
2268         slot zero forwards if required.
2270 1999-02-15  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2272         * gcmd.c (gnome_open_terminal_with_cmd): New routine, based on the
2273         gnome_open_terminal routine, that will allow the user to specify a
2274         command to execute (used internally).
2276         * gaction.c (gmc_edit_filename): Support for the GNOME editor
2277         environment properties.
2279         * gdesktop.c (create_desktop_dir): Support GNOME_DESKTOP_DIR
2280         variable to configure the desktop directory.
2282 1999-02-15  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2284         * mc.keys.in.in: Use "gnome-moz-remote file:%d/%f" for the html
2285         file actions.
2287         * gscreen.c (toolbar): Added a "rescan" button.
2289         * gprefs.c (create_prop_box): Make the preferences dialog modal.
2290         Also, set the window title and set the window's parent.
2291         Removed some unused functions.
2293 1999-02-14  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2295         * gdesktop.c (desktop_popup): Handle popup menus for the desktop.
2296         (arrange_desktop_icons): New function to auto-arrange the desktop
2297         icons.
2298         (reload_desktop_icons): Take care of positioning the new icons by
2299         ourselves; do not rely on desktop_icon_info_new() to do it.
2300         (remove_from_slot): Reset the icon's slot to -1.
2301         (reload_desktop_icons): Show all the icons after they have been
2302         loaded, instead doing it one by one.
2304         * gscreen.c (file_list_popup): Handle popup menus for the blank
2305         areas of the file panels.
2306         (panel_icon_list_button_press): Call file_list_popup().
2307         (panel_file_list_press_row): Likewise.
2309 1999-02-14  Sergey Panov <sipan@mit.edu>
2311         * glayout.c: Fixed my own stupid typo( stock ID instead of NULL)
2312         it was not critical. A few minor, rather cosmetic changes in
2313         GnomeUIInfo structures.
2315 1999-02-13  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2317         * mc.keys.in.in: Use Tigert's new icon for man pages.
2319 1999-02-12  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2321         * gdialogs.c (file_mask_dialog): Renaming files was not working
2322         due to having the "file-must-exist" bit turned on.
2324         * gnome-file-property-dialog.c (apply_metadata_change): Metadata
2325         rename the file.
2327         Change fpd->file_name to point to the new name so that any
2328         metadat changes take effect on the new name, not the old name.
2330         Test return value from move_file_file.
2332         (init_metadata): Fixed typo.
2334 1999-02-12  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2336         * mc.metadata.in: Added a regexp for EPS files.
2338         * mc.keys.in.in: Use Tigert's new icon for Postscript files.
2339         Possible FIXME: are there different MIME types for PS and EPS
2340         files?
2342 1999-02-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2344         * gdesktop-icon.c (set_icon): Do not destroy the image if it is
2345         the same as the old one.  Sigh, imlib really needs proper
2346         refcounting.
2348         * gscreen.c: Use gpopup_do_popup() until the new version is
2349         finished.
2351         * gpopup2.c (create_actions): Made the action selection logic
2352         simpler.
2353         (gpopup_do_popup2): Now can only operate on panels.
2354         (file_actions): Sanitized the actions a bit.
2356         * gutil.c (my_system_get_child_pid): sa_handler must be
2357         gnome_sigchld_handler, not gnome_sigchld_installed.
2359         * gpopup.c (dicon_properties): Do not call reread_cmd().  This is
2360         a hack until the menus for panels/desktop are finished.
2362         * gscreen.c (panel_file_list_press_row): Use gpopup_do_popup2().
2364 1999-02-11  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2366         * gutil.c (my_system_get_child_pid): Implement a erase-temp-file
2367         when child dies instead of waiting for child that was launched
2368         from shell/temp-file to finish.
2370 1999-02-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2372         * gdesktop.c (desktop_icon_info_place): Better icon placement by
2373         rounding to the proper slot number.
2374         (select_range): Simpler range selection for exact Windows behavior.
2376         * gdnd.c (drop_on_directory): Do not ask for the action twice.
2377         This was a leftover from a bit of code reorganization.
2379         * gscreen.c (panel_icon_list_button_press): Fixed "=" -> "!="
2380         typo.
2382 1999-02-10  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2384         * gaction.c (gmc_open_filename): Add support for running .desktop
2385         files.
2386         Made const correct.
2387         (gmc_view): Made const correct.
2389 1999-02-10  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2391         * Makefile.in (ICONS): Added i-fifo.png to the list of icons.
2393         * gicon.c (gicon_init): Load the proper FIFO and socket icons.
2394         (gnome_file_entry_color): Return the proper icon for FIFOs.
2396         * i-fifo.png: Added this file, and made i-sock.png be the right
2397         image (thanks, Tigert!).
2399         * gscreen.c (ILIST_FROM_SW): New macro to extract the icon list
2400         from the scrolled window.
2401         (panel_create_icon_display): Create a scrolled window and put the
2402         icon list inside it.  Changed the rest of the code to know about
2403         this.
2405         * gcorba.c (do_window_close): It turns out that we *do* need to
2406         call CORBA_free().  It was a bug in ORBit which was causing this
2407         to crash.
2409 1999-02-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2411         * gdesktop.c (drag_end): Reload the desktop when a drag from the
2412         desktop terminates (the user may have moved something away).
2414 1999-02-09  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2416         * gcorba.c (do_window_close): Removed call to CORBA_free, as
2417         PortableServer_POA_deactivate_object already calls CORBA_free on
2418         the object.
2420 1999-02-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2422         * glayout.c (gnome_close_panel_event): This function should return
2423         FALSE.
2425         * gcorba.c (corba_init): Cast poa to PortableServer_POA.
2426         (impl_GNOME_FileManagerWindow_close): Call gnome_close_panel(); do
2427         not destroy the widget by hand.
2429         * gcmd.c (gnome_close_panel): This function should be void.
2431         * gpopup2.c (popup_handle_rescan): Call reread_cmd().
2433         * gscreen.c (panel_icon_list_button_press): Return TRUE if we
2434         handled a popup menu.
2436 1999-02-09  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2438         (impl_GNOME_FileManagerFactory_create_window): Fix bug
2439         spooted by federico.  I was connecting to the wrong signal.
2441 1999-02-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2443         * gtkdtree.c (gtk_dtree_class_init): Added two new signals,
2444         scan_begin and scan_end.
2445         (gtk_dtree_expand): Call scan_begin() and scan_end().
2446         (gtk_dtree_select_row): Call scan_begin() and scan_end().
2447         (gtk_dtree_expand): Use gtk_ctree_select(), not gtk_dtree_select_row().
2448         (gtk_dtree_collapse): Select the node when it is collapsed.
2450         * gscreen.c (panel_create_tree_view): Added handlers for the
2451         scan_begin and scan_end signals of the tree -- these will set the
2452         cursor to a watch while the tree is being scanned.
2454 1999-02-08  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2456         * gdesktop.c (desktop_icon_info_destroy): Delete the metadata
2457         associated with this icon.
2459 1999-02-07  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2461         * gwidget.c (entry_click): On mouse clicks, mark the input as
2462         changed-without destroy.
2464 1999-02-07  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2466         * gscreen.c (x_create_panel): Removed a couple unused variables.
2468 1999-02-07  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2470         * gtkdtree.c (gtk_dtree_select_row): Disable row selection when
2471         were are removing entries from the tree.
2473         * gutil.c (my_system_get_child_pid): Fix.  We always wait for the
2474         child process.
2476         * gtkdtree.c (gtk_dtree_lookup_dir): Scan the whole tree.
2477         Appanrently now the nodes expose are not ordered, but can contain
2478         holes and gaps
2480 1999-02-06  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2482         * gtkdtree.c (gtk_dtree_insert_node): This function was never
2483         returning the newly-created sibling.
2485 Sun Feb  7 05:29:17 1999  Timur Bakeyev <mc@bat.ru>
2487         * Makefile.in: Remove references and dependences to/from libslang -
2488         we don't need this in GNOME. Changed the order of linking - libgtkedit
2489         require libgnomeui.a, so swap $(LDFLAGS) and $(EXTRALIBS). The same for
2490         corba edition.
2492         gdnd.c, gmetadata.c, gpopup2.c, gtools.c: Adde #include "global.h" or
2493         move it before #include <gnome.h> to avoid warnings about redefining
2494         MIN, MAX nad RE_DUP_MAX. More clean compiling.
2496         * gpopup2.h: New file - to avoid errors during "make distcheck". What
2497         it is for, really?
2499 1999-02-06  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2501         * gnome-file-property-dialog.c (apply_metadata_change): #include
2502         string.h and replace references to rindex to strrchr.
2504 1999-02-07  Tomas Ogren  <stric@ing.umu.se>
2506         * glayout.c, gnome-file-property-dialog.c: s/rindex/strrchr/
2507         To get rid of BSDism and make it compile on solaris 2.6
2509 1999-02-06  Ettore Perazzoli  <ettore@comm2000.it>
2511         * gscreen.c (x_create_panel): The location bar is now a simple
2512         GtkHBox instead of a GtkToolbar, and as a consequence the location
2513         entry widget is expanded to fill all of the window horizontally.
2515 1999-02-05  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2517         * gdesktop.c (drag_data_get): Set the Netscape URL from the icon
2518         if it is available.  Wheee!  We can now drop icons onto Netscape.
2520         * gmain.h: Added prototype for gmc_open_filename().
2522         * gdesktop.c (desktop_icon_info_open): Fixed call to
2523         gmc_open_filename().  See why it is good to have prototypes? :-)
2525         * gdnd.c (perform_action): Oops.  Removed a leftover "break" that
2526         was causing the loop to exit, so you could not operate on more
2527         than one file.
2529 1999-02-05  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2531         * gpopup2.c (popup_handle_properties): Update the URL information
2532         on change.
2534         * gnome-file-property-dialog.c (generate_actions_box): Fix memory leak.
2535         (create_general_properties): Fix memory leak.
2537         * gdesktop.c (desktop_icon_update_url): New function.  Updates any
2538         changes done to the url/caption on the file-property-dialog.
2540         * gnome-file-property-dialog.c
2541         (gnome_file_property_dialog_finalize): Release all of the
2542         resources allocated (metadata routines alwayre return an allocated
2543         block of memory).
2545         Add support for changing the url an icon points to and the caption.
2547         * gdnd.c (drop_url_on_directory): Better set the icon-filename
2548         metadata entry instead of hard coding it.
2550 1999-02-05  Jonathan Blandford  <jrb@redhat.com>
2552         * gcmd.c (gnome_reverse_selection_cmd_panel): new function -- does
2553         good things
2555         * gscreen.c (panel_icon_list_select_icon): uses new popup menu
2556         (panel_icon_list_button_press): ditto
2558         * gpopup2.c (gpopup_do_popup2): new implementation of popup
2559         menu.  Many changes -- almost all internal.  Much cleaner now...
2560         Off to England.
2562 1999-02-05  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2564         * gicon.c (gicon_get_url_image): Return an image for url types.
2565         (gicon_init): Load the url image.
2567         * gdesktop.c (desktop_icon_info_new): Use an URL image for
2568         desktop-urls.   Use the url as the caption for those icons.
2570 1999-02-04  Jonathan Blandford  <jrb@redhat.com>
2572         * gprefs.c (caching_and_optimization_props): wording changes
2574 1999-02-04  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2576         * gdesktop.c (desktop_icon_info_open): Run "execute" if the file
2577         is an executable.  I forgot that gmc_open does not test for
2578         executable-ness.
2580 1999-02-04  Jonathan Blandford  <jrb@redhat.com>
2582         * gnome-file-property-dialog.c (apply_uid_group_change): Bug fix.
2583         (apply_metadata_change): Another bug fix.
2585 1999-02-03  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2587         * gdnd.c (gdnd_validate_action): Show the correct feedback when
2588         dragging URLs.
2590 1999-02-03  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2592         * gdesktop.c (desktop_icon_info_open): Use gmc_open_filename
2593         instead of the stuff that goes trough a file_entry as we loose the
2594         full pathname.
2596         * gnome-file-property-dialog.c (generate_actions_box): Tag "open"
2597         for translation
2598         (apply_metadata_change): Use fm-open instead of fm_open for the
2599         metadata keys.
2601         * gscreen.c (panel_file_list_configure_contents): Make the icon on
2602         the type column be displayed.
2603         (panel_file_list_select_row): Removed dead code.
2604         (panel_file_list_press_row): Select the row before calling
2605         gpopup_do_popup.
2607 1999-02-03  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2609         * gscreen.c (drop_types): Allow dropping URLs on file panels.
2611         * gdnd.c (gdnd_validate_action): Added an "on_desktop" argument;
2612         this specifies that the user is dragging over the desktop.  Added
2613         cases for drags of desktop icons and URLs.
2614         (gdnd_perform_drop): New public function to handle drops.  This is
2615         now the master function to handle drops -- use this to make all of
2616         MC consistent.
2617         (drop_on_directory): Made static and renamed from
2618         gdnd_drop_on_directory().  Made it fit for use by
2619         gdnd_perform_drop().
2620         (drop_url_on_directory): New function to drop an url on a
2621         directory, moved over from gdesktop.c.
2622         (drop_uri_list_on_directory): New function to handle drops of URI
2623         lists on a directory.
2624         (drop_on_file): New function to handle drops on a non-directory
2625         file entry.  This is moved over from gdesktop.c,
2626         desktop_icon_drop_uri_list().  This is yet to be finished.
2628         * gdesktop.c (desktop_icon_drop_uri_list): Fix memory leak.
2629         (desktop_drag_motion): Use gdnd_validate_action().
2630         (dnd_icon_targets): Allow dropping URLs on icons.
2631         (icon_drag_motion): Use gdnd_validate_action().
2632         (desktop_drag_data_received): Use gdnd_perform_drop().
2633         (icon_drag_data_received): Use gdnd_perform_drop().
2635         * gscreen.c (panel_icon_list_drag_data_received): Use
2636         gdnd_perform_drop().
2637         (panel_clist_drag_data_received): Use gdnd_perform_drop().
2638         (panel_tree_drag_data_received): Use gdnd_perform_drop().
2640         * gcmd.c (gnome_about_cmd): Fixed Foundation typo, and updated the
2641         copyright date.
2643 1999-02-02  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2645         * gnome-file-property-dialog.c (create_general_properties): Use
2646         strrchr instead of rindex
2648 1999-02-01  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2650         * gdesktop.c: Init gicon here to avoid crashing when we have the
2651         metadata database locked.  Not really important, but makes the
2652         code cleaner (in terms of fixes).
2654 1999-01-27  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2656         * gnome-file-property-dialog.c (icon_sel_callback): Fix the
2657         conditional here.
2659 1999-02-01  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2661         * gdesktop.c (desktop_drag_motion): If the user is dragging a
2662         Netscape url, allow ACTION_LINK.
2663         (setup_desktop_dnd): Now we use a single GtkInvisible widget to
2664         proxy both DnD and clicks on the desktop.
2665         (setup_motif_dnd_proxy): New function to set up a widow as a Motif
2666         DnD proxy (to allow drops from Netscape, for example).
2667         (setup_desktop_click_proxy_window): Use the proxy_invisible widget.
2668         (drop_url): Reload desktop icons after creating the url entry.
2669         (desktop_icon_info_place): Allow a drop from something other than
2670         a desktop icon to be placed where the user wants.
2671         (desktop_drag_motion): Unconditionally specify ACTION_MOVE if we
2672         are dragging a desktop icon.
2673         (desktop_icon_info_place): Remove the icon from its slot before
2674         calling the smart-positioning routines.
2676 1999-01-31  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2678         * gdesktop.c (reload_desktop_icons): Reload the icon image for a
2679         file that already exists in the desktop, because it may have
2680         changed.
2682         * gdesktop-icon.c (desktop_icon_reshape): Center the text
2683         correctly if the user is using huge icons.
2685 Mon Feb  1 00:49:18 1999  Timur Bakeyev <mc@bat.ru>
2687         * gscreen.c (panel_configure_file_list): Add central justification,
2688         as we got it (useless, imho :)
2690 Sun Jan 31 19:42:47 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>
2692         * Makefile.in (install_mx): make it work with srcdir != builddir
2693         (gmc.gnorba is located in $srcdir)
2695 1999-01-29  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2697         * gdesktop.c (reload_desktop_icons): Move metadata_unlock after
2698         the positioning loop (as we use the metadata there too).
2699         (desktop_icon_info_new): Accept a new parameter: url.
2700         (drop_url): New function.  Creates the files that represent urls
2701         on the desktop.
2702         (text_changed_url): New routine to handle url-renames
2704         Use the metadata "desktop-url" property to figure out if an icon
2705         represents an url.
2707 1999-01-28  Jonathan Blandford  <jrb@redhat.com>
2709         * gnome-file-property-dialog.c (create_settings_pane): We only let
2710         you set info if we are a regular file, or a link to a regular file.
2712         * gdesktop-icon.c (desktop_icon_reshape): Cut-n-paste error fixed
2713         by Quartic.
2715 1999-01-27  Jonathan Blandford  <jrb@redhat.com>
2717         * gnome-file-property-dialog.h (struct _GnomeFilePropertyDialog):
2718         Now make open field mandatory and icon selection optional.
2719         * gnome-file-property-dialog.c: as above
2721         * gpopup.c (panel_action_properties): only allow setting images if
2722         we_can_afford_the_speed.
2724         * gicon.c: make we_can_afford_the_speed non-static
2726 1999-01-27  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2728         * gcorba.c: Provide new code to activate an existing
2729         FileManagerFactory factory.
2731         installed gmc is now corba-gmc.  plain-gmc is still available if
2732         you want it.
2734 Thu Jan 28 02:15:48 1999  Timur Bakeyev <mc@bat.ru>
2736         * gdialogs.c: fixed "regexp.h" -> "eregexp.h" conversion.
2738         * oldnd.c: Replaced copy_strings() with g_strconcat().
2740 1999-01-26  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2742         * gscreen.c (panel_clist_motion): Stop the emission of the
2743         motion_notify_event signal so that it does not reach the clist.
2744         We do not want it to select rows while dragging.
2745         Replaced copy_strings() with g_strconcat().
2747         * gdnd.c (gdnd_validate_action): Do not override GDK_ACTION_ASK.
2749         * gdesktop.c: Updated the TODO list at the top of the file.
2751 Wed Jan 27 03:14:46 1999  Timur Bakeyev <mc@bat.ru>
2753         * Converted memory managment to Glib - where it wasn't done. Now we
2754         use g_new()/g_malloc()/g_strdup()/g_free() routings. copy_strings() re-
2755         placed by g_strconcat(), and sprintf() by g_snprintf(). Some other,
2756         minor changes.
2758 1999-01-26  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2760         * gscreen.c (panel_setup_drag_scroll): Renamed from
2761         panel_setup_drag_motion().
2762         (panel_clist_drag_motion): Use gdnd_validate_action().
2763         (panel_clist_motion): Return immediately if the event window is
2764         not the clist_window.  Otherwise, forward the event to
2765         panel_widget_motion().
2767         * gdnd.c (gdnd_find_panel_by_drag_context): New public function to
2768         find a panel based on a drag context.  This is basically the old
2769         find_panel_owning_window() made public.
2770         (gdnd_drop_on_directory): Test for the source widget being a tree,
2771         and if so, do not use the default behavior for panels.
2772         (gdnd_validate_action): New function to compute the final drag
2773         action given some conditions.  This is now used to make dragging
2774         behavior consistent across the desktop and the file panels.
2776 1999-01-26  Jonathan Blandford  <jrb@redhat.com>
2778         * gnome-file-property-dialog.c: Many Many Many changes.  Now it's
2779         pretty cool.  You can set all meta-data but the icon now.  Need to
2780         make gmc do the right thing with it, though.
2782 1999-01-25  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2784         * gtkdtree.c (gtk_dtree_select_row): This should be also protected
2785         against async notifications.
2787 1999-01-25  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2789         * gscreen.c (panel_create_icon_display): Only use
2790         GTK_DEST_DEFAULT_DROP since we want to do exotic stuff in the
2791         drag_motion handler to validate drops.
2792         (panel_icon_list_drag_motion): Use gdnd_validate_action().
2794         * gdnd.c (gdnd_drop_on_directory): Removed hack that prevented the
2795         user from dropping files on the same panel as the source one.
2796         This should not be done here.
2798         * gdnd.c (get_action): Sensitize the menu items based on the
2799         allowed actions in the drag context.
2800         (actions): Add some underlined accelerators for the action menu.
2802         * gdesktop.c (icon_drag_motion): Use S_ISDIR() in addition to
2803         fe->f.link_to_dir.
2805         * gscreen.c (panel_file_list_scrolled): Removed this function, as
2806         it was not used for anything useful.
2808         * gdnd.c (gdnd_drop_on_directory): Duh.  Use context->action, not
2809         context->suggested_action.
2811 1999-01-24  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2813         * gtkdtree.c (gtk_dtree_load_path): Keep track of when we are
2814         loading the tree (and thus we do not care about async
2815         notifications to the tree state changes) and when we are done (and
2816         thus, we care about the async treestore structure notifications).
2818 1999-01-23  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2820         * gcmd.c (ep_add_callback): Set Window's position to
2821         GTK_WIN_POS_MOUSE.
2822         (gnome_external_panelize): ditto.
2823         (gnome_filter_cmd): ditto.
2825         * gdialogs.c (file_progress_query_replace_policy): Set Window's
2826         position to GTK_WIN_POS_MOUSE.
2827         (file_progress_real_query_replace): ditto.
2828         (file_mask_dialog): ditto.
2830         * gdialogs.c: Tag the strings for localization.  Remove debugging
2831         messages.
2833         * gmain.c (gmc_window_setup_from_panel): Helper routine used to
2834         set the GTK_WIN_POS_MOUSE on a window and set the parent with
2835         gnome_dialog_set_parent (iff you have the WPanel * pointer to the
2836         parent).
2838         * gtools.c (query_dialog): Set the window position to GTK_WIN_POS_MOUSE.
2840         * gtkdtree.c (gtk_dtree_destroy): Kill the add_entry notification hook.
2841         (gtk_dtree_init): Install a notification function for treentry.
2842         removal.
2843         (entry_added_callback, entry_removed_callback): Implemented.  Now
2844         the tree is in sync with the panels and reload will update the
2845         tree correctly.
2847 1999-01-22  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2849         * gdesktop-icon.c (set_text): Update the call to
2850         gnome_icon_text_item_configure() for the new API.
2852 1999-01-21  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2854         * gdesktop.c (desktop_drag_data_received): Do not force links on
2855         the desktop.
2857         * gscreen.c (panel_create_file_list): Do not use
2858         GTK_DEST_DEFAULT_ALL for the drop site.  Only use
2859         GTK_DEST_DEFAULT_DROP, since we need to check motion ourselves.
2860         (panel_clist_drag_motion): Do not allow dropping on the clist buttons.
2861         (panel_clist_button_press): Do not assign the
2862         panel->maybe_drag_start flag if the user clicked outside the clist_window.
2864         * gdesktop.h: Removed old crud (desktop_icon_t, icon_t).
2866         * gscreen.c (drag_types, drop_types): Use the constants from gdnd.h.
2868 1999-01-21  Jonathan Blandford  <jrb@redhat.com>
2870         * gnome-file-property-dialog.c (apply_uid_group_change): uh, lets
2871         do this in Octal. (:
2873         * glayout.c: comment out compare panels.
2875         * gnome-file-property-dialog.h: new file.  This is a new widget
2876         for the file-properties dialog.  It doesn't handle mode changes
2877         quite right yet, but does everything else beautifully...
2879         * gnome-file-property-dialog.c: new file
2881         * gpopup.c (panel_action_properties): use new dialog
2882         (dicon_properties): as above.
2884 1999-01-21  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2886         * gscreen.c (panel_create_file_list): Added GDK_ACTION_ASK to the
2887         destination actions.
2888         (panel_create_icon_display): Likewise.
2889         (panel_create_tree_view): Likewise.
2891         * gdesktop.c (desktop_drag_motion): If the user explicitly
2892         requested action ASK, then do not make feedback show MOVE.
2894         * gscreen.c (panel_widget_motion): Pass in all drag actions now
2895         that Gtk handles button 2 by itself.
2897         * gdesktop.c (icon_event): Also delay the call to select_icon()
2898         until button release if the icon is selected and there are no
2899         modifier keys pressed.  This lets us perform drags on
2900         multi-selections easily.
2902 1999-01-21  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2904         * gdesktop.c (setup_icon_dnd_dest): Always specify ACTION_MOVE,
2905         since we want to be able to move the icons around.  Connect to the
2906         drag_motion signal.
2907         (dnd_icon_targets): List desktop icons as a target to be able to
2908         move them just a notch in the desktop.
2909         (icon_drag_motion): Decide which action we can use for dropping
2910         stuff on a desktop icon.
2911         (setup_icon_dnd_dest): Always specify all the actions.
2912         (icon_drag_data_received): Allow for icons to be moved just a
2913         notch by accepting drops from icons.
2915         * gdnd.h: Added #defines for the DnD target type names.
2917         * gdnd.c (gdnd_init): New public function to intern the target
2918         atom names.
2919         (gdnd_drag_context_has_target): New public function to see if a
2920         drag context has a certain target type.
2922         * gdesktop.c (setup_desktop_dnd): Do not use
2923         GTK_DEST_DEFAULT_MOVE, and connect to drag_motion.
2924         (desktop_drag_motion): If we are dragging from a desktop icon,
2925         indicate the action as MOVE.  Otherwise, force the action to be
2926         LINK unless the user explicitly requested ASK.
2927         (setup_desktop_dnd): Intern the atoms for the drop targets.
2929 1999-01-20  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2931         * gscreen.c: Selection code now is simpler and should be easier to
2932         use in the listing modes.
2934 1999-01-20  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2936         * gicon.h (gicon_image_to_name): Added prototype for
2937         gicon_image_to_name().
2939         * gicon.c (gicon_get_icon_for_file):
2940         (gicon_get_icon_for_file_speed): Added a "directory" argument.
2941         It is needed because the file_entry structure only contains the
2942         pruned filename, and we need the complete name for the metadata
2943         functions.
2945         * gdesktop.c (desktop_icon_info_new): Pass the directory to
2946         gicon_get_icon_for_file_speed().
2948         * gpageprop.c (item_properties): Build the directory name and pass
2949         it to gicon_get_icon_for_file_speed().
2951         * gscreen.c: Do not #include "directory.xpm".  Do #include "setup.h".
2952         Removed unused function button_switch_to().
2954         * gscreen.c (panel_fill_panel_icons): Pass the directory to
2955         gicon_get_icon_for_file().
2957         * gscreen.c (panel_create_tree_view): Allow button 2 to start the
2958         drag as well.
2959         (panel_clist_scrolling_is_desirable): Make both scrolling
2960         thresholds consistent.  Also, do not allow scrolling past the
2961         correct limit.
2962         (panel_icon_list_scrolling_is_desirable): Likewise.
2963         (panel_tree_scrolling_is_desirable): Likewise.
2964         (panel_clist_scroll): Do not allow scrolling past the correct limits.
2965         (panel_icon_list_scroll): Likewise.
2966         (panel_tree_scroll): Likewise.
2968 1999-01-19  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2970         * gscreen.c (panel_create_icon_display): Do not set the style of
2971         the icon list.
2973 1999-01-20  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2975         * gprefs.c (apply_callback): Update the directory contents after
2976         the settings have changed.
2978 1999-01-19  Jonathan Blandford  <jrb@redhat.com>
2980         * gdialogs.c (file_op_context_create_ui): OP_DELETE now has it's
2981         very own dialog. whee.
2983         * gscreen.c (panel_create_pixmaps): now we use dir-open.xpm
2984         instead of the (apparently) ugly yellow one.
2986 1999-01-19  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2988         * gtkdtree.c (gtk_dtree_select_row): Wonder why the code was
2989         returning for the clicks on the root node.
2991 1999-01-19  Jonathan Blandford  <jrb@redhat.com>
2993         * gprefs.c: applied a heavily modified patch by Dave Camp
2994         <campd@oit.edu>  The preference box now works.
2996 1999-01-18  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2998         * gtkdtree.c (gtk_dtree_construct): And the GTK+ people broke the
2999         API again.
3001 1999-01-18  Jonathan Blandford  <jrb@redhat.com>
3003         * gscreen.c (x_create_panel): chnaged padding on the Filter label
3004         (do_ui_signal_connect): new view switching code.  Toolbar now works
3005         (go_home): new function -- takes one home
3007         * gtkdtree.c (gtk_dtree_construct): change ctree_set_reorderable.
3009 1999-01-18  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3011         * gdesktop.c (icon_event): Rewrote event handling for icons on the
3012         desktop.  This function handles button presses and releases and
3013         does some anal-retentive checking to avoid stuck pointer grabs.
3014         (icon_event_after): New fallback function for button presses.
3015         This is only called when an icon is being edited and the user
3016         clicks outside the icon's text item, indicating that editing
3017         should be accepted and terminated.
3018         (selection_stopped): New callback used to re-install the mouse
3019         grab once the icon text item stops selecting text.
3021         * gdesktop.h (DesktopIconInfo): Removed the finishing_selection
3022         flag now that the event handling code is cleaned up.
3024 1999-01-17  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3026         * gpageprop.c (item_properties): Use the metadata information for this.
3027         (item_properties): Set the icon-filename metadata bit
3029 1999-01-15  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3031         * glayout.c (create_new_menu_from): Handle both the system dir and
3032         the locally installed directory.
3034 1999-01-14  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3036         * gtkdtree.c (gtk_dtree_do_select_dir): Select the node, and test
3037         against full visibility of a node.
3039         * gscreen.c (panel_fill_panel_icons): While loading the icon list,
3040         mark those items that are selected as, well, ahem, selected.
3041         (x_fill_panel): Use the system getwd routine to find out the real
3042         location in the file system
3044 1999-01-13  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3046         * gpageprop.c (item_properties): Use file contexts appropriately.
3048         * gdnd.c (perform_action): Use file contexts appropriately.
3050 1999-01-13  Jonathan Blandford  <jrb@redhat.com>
3052         * glayout.c (create_container): finished the New->menu.  Looks
3053         better now.
3054         (create_container): Moved the statusbar creaton.  Now you can get
3055         the hints.
3057         * gcmd.c (gnome_run_new): new function.
3059         * glayout.c (create_container): beginnings of the New-> menu.  It
3060         doesn't have much yet, hopefully we'll have a good way to let apps
3061         register themselves with it.
3063 1999-01-13  bertrand <Bertrand.Guiheneuf@inria.fr>
3065         * gdialogs.c
3066         * gwidget.c:
3067         * gprop.c:
3068         s/gtk_toggle_button_state/gtk_toggle_button_active
3070 1999-01-12  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3072         * gdesktop.c (desktop_icon_info_delete): Pass the file operation
3073         context to erase_dir() and erase_file().
3075         * gcmd.c (gnome_sort_cmd): Cast the sort functions to avoid
3076         warnings.
3078         * gdialogs.c: Converted to use FileOpContext.
3080         * gmain.h: Added some prototypes needed in the Gnome version.
3082 1999-01-12  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3084         * gdesktop.c (desktop_drag_data_received): Drops on the desktop by
3085         default will always be Link commands.  If the user wants to
3086         copy/move he needs to use the button-2 to do this.
3087         (desktop_icon_info_delete): Treat links as files, not directories.
3089         I have got enough complaints about this.
3090 1999-01-12  Jonathan Blandford  <jrb@redhat.com>
3092         * gcmd.c (gnome_open_files): now you can open multiple files.
3093         * glayout.c: layout changed some.  moved run command.
3094         commented out ftplink/mkdir command for now.  gonna do mkdir
3095         next.  Why is the ftplink command needed?
3097 1999-01-12  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3099         * glayout.c (run_cmd): Add run command.  Add back FTP link
3100         command.  Add Mkdir command.  Use standard key definitions.
3102         * gview.c: Use new standard keybindings
3104         * gtkdtree.c: Now it uses the treestore code.
3106         * treestore.c: New file format which includes the scan status of
3107         the directories.
3109         * treestore.c: Provide _opendir, _readdir, _closedir operations
3110         for the tree cache.
3112         Next step: load/save the tree_entry->scanned flag (without this,
3113         you wont notice a big speedup).
3115 1999-01-10  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3117         * gutil.c (my_system_get_child_pid): Acknowledge new EXECUTE_WAIT
3118         flag.  This is required by the vfs code.
3120 1999-01-06  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3122         * gscreen.c (panel_create_file_list, panel_create_icon_display):
3123         I got excited adding the gtk_drag_source_set.  I generate those
3124         events myself, no need to put them here.
3126 1999-01-04  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3128         * gwidget.c (stock_from_text): Return this value.
3130 1999-01-08  Jonathan Blandford  <jrb@redhat.com>
3132         * glayout.c: now open the new (non-functional) dialog box.  If you
3133         want functionality, I suppose you could put the old one back in.
3134         I'll work on it more this weekend, though, so hopefully it can get
3135         back to the old state relatively quickly.
3136         * gprefs.c (gnome_configure_box): New function, new file, first
3137         start at unified properties box.
3139 1999-01-07  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3141         * gscreen.c (panel_icon_list_select_icon): Remove debugging message.
3143         * glayout.c: Add a create directory option.
3145 1999-01-07  Jonathan Blandford  <jrb@redhat.com>
3147         * gcmd.c (gnome_filter_cmd): now it works!  It's even sorta
3148         useful.  I'm so psyched... (:
3151 1999-01-07  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3153         * gscreen.c (panel_icon_list_drag_data_received): Do not update
3154         contents if nothing was done (ie, the drop was cancelled).
3155         (panel_create_file_list): Duh.  Restore this, as, ahem, we dont
3156         have banding selection on CList.
3157         (panel_icon_list_select_icon): Open the new panel only on button
3158         release.
3159         (panel_file_list_select_row): New panel started on clist when you
3160         press middle button.
3162         (panel_create_file_list): Ahaha!  I found that CList now has a
3163         gtk_clist_set_buttion_actions.  Go figure why we need this and why
3164         it was implemented, but now buttons work as they should on clist.
3166         * gdnd.c (gdnd_drop_on_directory): Do nothing if the files dragged
3167         are on the same directory we are.
3169 1999-01-07  Jonathan Blandford  <jrb@redhat.com>
3171         * gcmd.c (gnome_filter_cmd): Function filled in now.  Actually
3172         works (amazing!.)  Next: put a history on it, and maybe an event
3173         box for the label.
3175         * glayout.c: use the function below.
3177         * gcmd.c (gnome_filter_cmd): New function (or a sorry excuse for
3178         one, anyway...)
3180         * gscreen.c (x_create_panel): now uses gnome-appbar instead of the
3181         old, psuedo status bar.
3183 1999-01-06  Jonathan Blandford  <jrb@redhat.com>
3185         * gcmd.c (gnome_external_panelize): Now it works.  Just need to save
3186         results so the next time works.  Will do this tomorrow.
3187         (gnome_external_panelize): think I finished this now.
3189 1999-01-05  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3191         * gdesktop-icon.c (desktop_icon_realize): Make icons sticky as
3192         well.
3194         * gpageprop.c (item_properties): Use a file operation context.
3195         * gdnd.c (perform_action): Likewise.
3196         * gdesktop.c (desktop_icon_info_delete): Likewise.
3198         * Makefile.in: Added fileopctx.o.
3200 1999-01-05  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3202         * gdesktop.c (desktop_icon_drop_uri_list): Implement
3203         drops-on-executable.
3205         * gmetadata.c, gaction.c, gdesktop.c, gicon.c: Use g_free instead
3206         of free to follow the convention in gnome-metadata.c
3208         * gtools.c (query_dialog): Fix the new version of this.  It was
3209         overwriting memory all over.
3211         * gdialogs.c (): Use GNOME stock;  Fill in some FIXME strings.
3212         (file_progress_real_query_replace): Use the formatted
3213         message.
3215         Change the inlined N_( for _( in various places.
3216         (cancel_cb): Cancel button now cancels a copy or move operation.
3218         * gtools.c (query_dialog): Remove the hotkey indicator in the
3219         gnome version specific query_dialog box.
3221 1999-01-05  Jonathan Blandford  <jrb@redhat.com>
3223         * gcmd.c (gnome_external_panelize): mostly hooked up now.
3224         will finish tomorrow (shouldn't take very long...)
3226 1999-01-04  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3228         * Makefile.in (GNOMESRCS): Removed temp-hack.c from the list of
3229         sources.
3230         (GNOMEHDRS): Ditto for gdialogs.h.
3232         * gscreen.c (x_create_panel): Removed periods from the toolbar
3233         button tooltips.
3235 1999-01-04  Jonathan Blandford  <jrb@redhat.com>
3237         * glayout.c: menu changes.
3239         * gcmd.c (gnome_external_panelize): new function.  Does absolutely
3240         nothing yet but look pretty (and it doesn't do that all that well,
3241         yet...)  I'll hook it up to it's actual functions, tomorrow.
3243 1999-01-03  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3245         * gscreen.c (x_reset_sort_labels): Various fixes to fix some of my
3246         recent changes.  I bet Jonathan found that things were not quite
3247         working.  Sorry for the previous untested changes.
3249         This also fixes the bugs reported on gnome-list regarding the
3250         CList problems.  This is the correct fix (basically, we were using
3251         a CList that was configured in one way, even if the display format
3252         had changed.  Now, the CList is kept in sync with the format by
3253         calling a routine that somehow got dropped during some recent
3254         changes).
3256         * gtools.c (query_dialog): Simplified.
3258 1999-01-02  Jonathan Blandford  <jrb@redhat.com>
3260         * gcmd.c (gnome_sort_cmd): pretified
3261         (gnome_select_all_cmd): New command -- selects all files (in
3262         theory).
3264         * glayout.c: rearrange the edit menu some.
3266         * gscreen.c (x_create_panel): new icon view icons -- brief and
3267         custom.
3269 1999-01-01  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3271         * gdesktop.c (select_range): Fixed selection of ranges where the
3272         starting and ending icons are in the same vertical or horizontal
3273         slot.
3274         (reload_desktop_icons): Fixed incorrect usage of
3275         g_list_remove_link().  Also, moved the functionality from the old
3276         load_desktop_icons() here.  Now all icons are always loaded
3277         efficiently, and there is no need for the "incremental" flag.
3278         (desktop_icon_info_delete): Delete the icon position information.
3280         * gmetadata.c (gmeta_del_icon_pos): New public function to delete
3281         the icon position information from a file.
3283 1999-01-02  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3285         * gwidget.c (x_create_listbox): Temporary hack
3287         * gmetadata.c (gmeta_get_icon_pos): Fixed the memory leak here.
3289         * gicon.c (gicon_get_icon_for_file): Actually return a value
3290         here.
3292 1999-01-01  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3294         * gscreen.c (panel_fill_panel_list): Assertion that will pin point
3295         if a CList gets out of sync with the panel->format.
3297 1999-01-01  Momchil 'Velco' Velikov <velco@fadata.bg>
3299         * gscreen.c (panel_fill_panel_list): NULL terminate the column
3300         array.  This is strange, as it should not need the ending NULL.
3302 1999-01-01  Jonathan Blandford  <jrb@redhat.com>
3304         * gcmd.c ((GtkWidget *widget, WPanel *panel): Now hooked up
3305         correctly.  Still needs to set the option menu correctly.  Oh
3306         well...
3308 1998-12-31  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3310         * gpopup.c (dicon_properties): Made static, and renamed from
3311         desktop_icon_properties().
3312         (dicon_execute): Likewise.
3313         (dicon_actions): Renamed from desktop_icon_actions.
3315         * gdesktop.c (desktop_icon_info_destroy): Renamed from
3316         desktop_icon_destroy(), for consistency with the rest of the
3317         functions that handle DesktopIconInfo structures.
3318         (desktop_icon_info_open): Likewise.
3319         (desktop_icon_info_delete): Likewise.
3321 1998-12-31  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3323         * gscreen.c (panel_create_icon_display): Provide auto-scroll
3324         handlers for the drag stuff.
3326 1998-12-30  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3328         * gmain.c (create_panels): Register corba server here.
3330         * gcorba.c: Fix a servant declaration to point to the correct
3331         vepv.
3333 1998-12-30  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3335         * gdesktop.c (find_icon_by_drag_context): Made static.
3337         * gdesktop.h (DesktopIconInfo): Now that this type is public,
3338         renamed it from struct desktop_icon_info, for consistency.
3340 1998-12-30  Jeff Garzik  <jgarzik@pobox.com>
3342         * gprop.c, gpopup.c: s/g_copy_strings/g_strconcat/
3344 1998-12-30  Jonathan Blandford  <jrb@redhat.com>
3346         * gaction.c (gmc_execute): now takes an filename instead of a file
3347         entry for an argument
3348         (gmc_open_filename): handles the new gmc_execute code.
3350         * gdesktop.c (desktop_icon_drop_uri_list): commented out
3351         action_drop.  Needs defining.
3353 1998-12-29  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3355         * gdesktop.c (desktop_icon_delete): New function, used for
3356         dicon_delete.
3357         (load_desktop_icons): Implemented the incremental reloading of
3358         desktop icons.  This should make the code much nicer.
3359         (reload_desktop_icons): Call x_flush_events to force a display at
3360         that point.
3362         * gpopup.c (dicon_delete): Implement this operation.
3363         (desktop_icon_execute): Use the existing implementation for
3364         launching desktop icons instead of a new hacked up version
3366         (desktop_icon_actions): Until copy/move is implemented, do not
3367         even list them to the user.
3369         * gdesktop.c (create_desktop_dir): No trashcan setup until it
3370         works.
3372         * gscren.c (panel_widget_motion): Use button 2 for dragging and
3373         asking.
3376         * gscreen.c (panel_create_file_list): Use a notebook instead of
3377         the hack I was using before for switching the panel contents.
3379         * gtkdtree.c (gtk_dtree_new): We now rely on the whole code to be
3380         running in the proper visual.  The more I look at this, the more
3381         desires I have to do a proper imlib.
3383         * gdesktop-icon.c (desktop_icon_init): ditto.
3385 Tue Dec 29 16:55:24 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
3387         * gmain.c: According to the man page the color keyword for executable
3388         files   is `executable' and not `execute' -- changed.
3390 1998-12-28  Jonathan Blandford  <jrb@redhat.com>
3392         * glayout.c: Initial rehash of the menu code.
3394 1998-12-27  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3396         * gprop.c (perm_mode_new), gcliplabel.c: Uset gtk_label_set_text.
3398 Thu Dec 24 18:38:45 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
3400         * layout: Adapted for the new option Compute Totals in the
3401         Configuration dialog.
3403 1998-12-22  Jonathan Blandford  <jrb@redhat.com>
3405         * gdialogs.c (file_progress_real_query_replace): Cleaned up some.  Still has a
3406         bit of work to do, but in general, much better.
3408 Mon Dec 21 22:33:07 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
3410         * layout: Deleted obsolete widgets from the Virtual FS configuration
3411         dialog.
3413 1998-12-17  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3415         * gscreen.c (panel_icon_list_select_icon): Show the popup menu on
3416         button release here.  This is what makes most sense.
3417         (panel_widget_motion): Drags with button 3 now produce a popup
3418         dialog box that asks
3420 1998-12-16  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3422         * gdialogs.c (create_op_win): Remove second spurious packing.
3423         (create_op_win): OP_MOVE uses the same stuff OP_COPY does.  Fix
3424         this.
3425         (file_progress_show_target): More compliant to the original
3426         functions.
3427         (file_progress_show_source): More compliant to the original
3428         functions.
3430         * gdesktop.c (create_desktop_dir): Fix mem leak.
3432 Tue Dec 15 10:51:12 1998  Gregory McLean <gregm@comstar.net>
3434         * gdesktop-icon.c : Attach a desktop_icon wmclass to the desktop
3435         icons to allow even more wizardry with the desktop icons, mainly
3436         to exclude them from window lists, don't decorate them, skip
3437         desktops and other boring stuff.
3439 1998-12-14  Sven Neumann  <sven@gimp.org>
3441         * lightened up the dir-pixmaps a little to please your eyes and
3442         tigert ;-)
3444 1998-12-14  Owen Taylor  <otaylor@redhat.com>
3446         * gnome.TODO: Added a number of tree and icon
3447         view todos.
3449 1998-12-14  Owen Taylor  <otaylor@redhat.com>
3451         * gscreen.c (x_create_panel): Keep up with changes
3452         to GtkDockItem.
3454 1998-12-14  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3456         * gwidget.c (x_update_input): Use gtk_entry_get_text here.
3458 1998-12-13  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3460         * gscreen.c (panel_create_icon_display): Set white background.
3462 1998-12-13  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3464         * gdnd.c (perform_action): Fixed a pair of incorrect braces.
3465         Files were not being operated on because of this.
3467 1998-12-12  Owen Taylor  <otaylor@gtk.org>
3469         * gscreen.c (panel_tree_drag_motion): Doubled timeout
3470         for autoexpand - reducing opening unwanted directories.
3472         * gscreen.c (tree_drag_open_directory): Use
3473         gtk_ctree_expand() not gtk_ctree_expand_recursive,
3474         which increases confusion and could be
3475         _vvveeerrrryyyy_ expensive. (/afs ?)
3477         * gscreen.c (panel_tree_drag_leave): Fixed up
3478         signature - "drag_leave" has no x,y.
3480         * gscreen.[ch] (panel_tree_check_auto_expand): When
3481         we've expanded rows during a drag, collapse them
3482         again when the drag leaves that row.
3484 1998-12-12  Owen Taylor  <otaylor@gtk.org>
3486         * gtkdtree.c (gtk_dtree_destroy): Remove timer upon
3487         destruction to be safe. (Should this, and
3488         dtree->timer_id itself be in gscreen.c instead?)
3490         * gscreen.c (panel_tree_drag_leave): Change == to !=
3491         so that timeouts are properly removed.
3493 1998-12-11  Matt Wilson  <msw@redhat.com>
3495         * gscreen.c: The solid lines in the tree are kinda harsh.  Replace
3496         them with soothing dotted lines.
3498 1998-12-11  Matt Wilson  <msw@redhat.com>
3500         * dir-open.xpm, dir-close.xpm: Away with the tacky yellow folders -
3501         I like these brown ones from tigert better.
3503 1998-12-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3505         * gpopup.c (create_actions): The tests for F_PANEL and F_DICON
3506         were wrong.  Fixed them.  This does not mean that the popup menus
3507         are right, though.
3509 1998-12-11  Owen Taylor  <otaylor@redhat.com>
3511         * gscreen.c gdesktop.c gdnd.h: enable dragging locale files
3512         into Netscape.
3514 1998-12-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3516         * gicon.c (gicon_get_icon_for_file): First try to fetch the inline
3517         icon data (i.e. thumbnails), second try the generic icon filename.
3519 1998-12-11  Owen Taylor  <otaylor@redhat.com>
3521         * gdesktop.c (window_button_press): Ehen cancelling editing
3522         account for clicks on other GMC windows.
3524 1998-12-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3526         * gdesktop.c (click_proxy_filter): Doh.  We may get DestroyNotify
3527         for other windows than the proxy, so deal with it.
3529 1998-12-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3531         * gdesktop.c (click_proxy_button_press): Use a nice arrow cursor
3532         for rubberbanding.
3533         (click_proxy_filter): Keep a firm jaw when the window manager dies
3534         and thus the proxy window is destroyed.
3535         (setup_desktop_click_proxy_window): Moved the proxy window
3536         creation code to this function.
3537         (click_proxy_property_notify): Handle PropertyNotify events from
3538         the root window for when the proxy window changes.  Now the window
3539         manager can restart itself as it pleases and GMC will handle it
3540         correctly.
3542 1998-12-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3544         Wheeeee!  Desktop icons can be selected by rubberbanding.  You
3545         need Englightenment to do this, as so far it seems to be the only
3546         WM with support for the _WIN_DESKTOP_BUTTON_PROXY property.
3548         * gdesktop.c (click_proxy_filter): New event filter for button
3549         presses and releases on the root window.
3550         (click_proxy_button_press): New function to handle button presses
3551         on the desktop.
3552         (click_proxy_button_release): New function to handle button
3553         releases on the desktop.
3554         (click_proxy_motion): New function to handle rubberbanding motion
3555         on the desktop.
3556         (setup_xdnd_proxy): Flush the server after ungrabbing it.
3557         (find_click_proxy_window): Flush the server after ungrabbing it.
3558         (store_temp_selection): Stores the temporary selection to the
3559         master selection, or viceversa.  This is needed for dynamic
3560         updating while the user rubberbands.
3561         (update_drag_selection): New function to update the selection
3562         while the user is rubberbanding on the desktop.
3563         (icon_is_in_area): New function to see if an icon is inside the
3564         rubberbanding area.
3566         * gdesktop-icon.h: Added fields for querying the icon and text
3567         position and size.
3569         * gdesktop-icon.c (desktop_icon_reshape): Set the position and
3570         size fields as computed for layout.
3572 1998-12-11  Owen Taylor  <otaylor@redhat.com>
3574         * gdesktop.c (editing_started): Grab on the window for the
3575         icon, not on the canvas, so we can properly detect
3576         clicks elsewhere.
3578         (icon_button_release_after): When the user stops selecting,
3579         regrab the pointer.
3581 1998-12-11  Jonathan Blandford  <jrb@redhat.com>
3583         * gtkdtree.c (gtk_dtree_do_select_dir): fixed a little bug --
3584         caused a segfault.
3586         * gscreen.c (x_create_panel): More changes.  The toolbar is moved
3587         to a gtk_toolbar, and is movable.  The entry will be put in it's
3588         own toolbar, too.
3589         (panel_create_cwd): For now, hardcode the usize of the entry
3590         widget.  Later on, have it expand (when toolbar supports it)
3592 1998-12-10  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3594         * gcmd.c: #include "../vfs/vfs.h"
3596         * gdesktop.c (setup_icon_dnd_actions): Moved the code that calls
3597         gtk_drag_source_set() for an icon here.
3598         (editing_started): Temporarily disable drags while the icon's text
3599         is being edited.
3600         (editing_stopped): Re-enable DnD from the icon once editing has
3601         stopped.
3603 1998-12-10  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3605         * gcmd.c (gnome_close_panel): When a panel is destroyed, chdir to
3606         root directory, as the process will be holding the inode for the
3607         directory that was selected until an operation is performed in
3608         another panel.
3610         * gicon.c (gicon_get_icon_for_file): Invert the way the testing
3611         for icons is done to handle directories properly.
3613 1998-12-10  Jonathan Blandford  <jrb@redhat.com>
3615         * gscreen.c (x_create_panel): made some small stylistic changes.
3616         Also, removed the hint bar and consolidated the status bar.
3618 Thu Dec 10 21:38:55 1998  Owen Taylor  <otaylor@redhat.com>
3620         * gkey.c (delete_select_channel): Fixed list handling
3621         with g_list_remove().
3623 1998-12-10  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3625         * gdesktop.c (dnd_select_icon_pending): Added this flag that
3626         specifies whether a selection is pending for an icon if the user
3627         was holding the Control key down while clicking.  We have to delay
3628         selection in this case so that DnD will work correctly, just like
3629         Windows.
3630         (icon_button_press): New function that handles button presses on
3631         icons; it obsoletes the old desktop_icon_info_event().
3632         (icon_button_release): New function that handles button releases
3633         on desktop icons; it will do what is appropriate if there was a
3634         pending icon selection.
3635         (drag_begin): Handle pending selections as appropriate.
3636         (unselect_all): Added an paremeter that specifies which icon to
3637         exclude from unselection.
3638         (editing_started): Unselect all icons but the one for which
3639         editing has started.
3640         (dnd_icon_sources): Changed the MIME-types for internal drops to
3641         "application/x-mc-desktop-icon".
3642         (click_proxy_window): New variable that stores the proxy window
3643         for clicks on the desktop.
3644         (setup_desktop_clicks): New function that sets up clicks on the
3645         root window.
3646         (find_click_proxy_window): New function to find and set up the
3647         window for proxying clicks from the root window.
3649         * image.metadata.in: Added case for `jpg', as there was only a
3650         case for `jpeg'.
3652 1998-12-07  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3654         * gicon.c (gnome_file_entry_color): If we do not have permissions
3655         for this directory, indicate this with a special icon.
3657         * gscreen.c (panel_icon_list_select_icon): Middle button opens a
3658         new panel on a directory.
3660 1998-12-08  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3662         * gdesktop.c: Moved the old DnD cruft to olddnd.c to keep it there
3663         for reference purposes.
3665         * gmetadata.c: Removed the gmeta_get_icon_for_file() function, as
3666         it is obsoleted by gicon_get_icon_for_file().
3668         * gdesktop.c (desktop_icon_info_new): Made it use
3669         gicon_get_icon_for_file().
3671         * gdesktop-icon.c (set_icon): Now we handle things internally
3672         using an imlib image, not a filename.
3673         (desktop_icon_new): Now takes an imlib image for the icon instead
3674         of a filename.
3675         (desktop_icon_set_icon): Likewise.
3677 1998-12-08  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3679         * gtkdtree.c (gtk_dtree_new): Use imlib's visual and colormap.
3681         * gscreen.c (panel_create_tree_view): Use the colormap and visual
3682         from imlib when creating the DTree,
3684 1998-12-08  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3686         * gdesktop.c (icon_drag_data_received): Doh.  Use the correct
3687         pathname when calling gdnd_drop_on_directory().
3689 1998-12-07  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3691         * gdesktop.c (desktop_icon_info_new): Do not stat the file, as we
3692         do not need that information anymore.
3693         (setup_icon_dnd_source): Moved the DnD-as-source code to here.
3694         (setup_icon_dnd_dest): New function to set up an icon as a DnD
3695         destination.
3697         * gdesktop.c (desktop_icon_info_place): Doh, do not place icons
3698         past the edge of the *whole* screen :-)
3699         (dnd_press_x dnd_press_y): New variables to store the cursor
3700         hotspot for DnD icons.  Moved these over from the
3701         desktop_icon_info structure, as it does not make sense to have
3702         this inside every icon.
3703         (button_press): Use dnd_press_x and dnd_press_y.
3704         (drag_begin): Likewise.
3705         (drop_desktop_icons): Use dnd_press_x and dnd_press_y to fix the offsets.
3706         (drag_data_received): Fix the proxy window offsets for all types
3707         of targets.
3708         (drop_desktop_icons): Snap the coordinates as appropriate.
3710 1998-12-07  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3712         * gdesktop.c (drop_desktop_icons): New function to perform a drop
3713         from desktop icons to the desktop.  It effectively moves the icons
3714         around.
3715         (desktop_icon_info_place): Do not place the icons past the edge of
3716         the screen.
3718 1998-12-06  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3720         * gdesktop.c (file_entry_from_file): Finished implementing
3721         file_entry_from_file().
3722         (struct desktop_icon_info): Removed the `type' field.  We now stat
3723         the file when needed to figure out the file type.
3724         (desktop_icon_info_event): Test whether the file is a directory by
3725         ourselves, and if it is, open a new panel for it.
3726         (drag_data_get): Generate the uri-list for internal desktop icon
3727         drags as well.
3729         * gdesktop.c (drag_data_received): We do not need to call
3730         gtk_drag_finish(), since we are using the GTK_DEST_DEFAULT_DROP
3731         flag for drops on the desktop.
3732         (desktop_icon_info_event): Reload the desktop icons after
3733         executing a command from the popup menu.  This kind of sucks, but
3734         will do for now.
3735         (desktop_icon_info_event): Upon receiving a button-1 press, if the
3736         icon was already selected in the first place, delay the
3737         re-selection phase until we get a mouse release event.  This lets
3738         us start a multiple-selection drag without having the initial
3739         click clear the selection first.
3740         (desktop_icon_info_event): Open the file or directory when the
3741         desktop icon receives a double click.
3743         * gmain.c (beep): Made it void, since it does not (need to) return
3744         anything.
3745         (xtoolkit_end): Likewise.
3747 1998-12-05  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3749         * gscreen.c (panel_build_selected_file_list): Provide space for
3750         the terminating NULL.
3752         * gmain.c (beep): Return a value.
3754         * gdnd.c (get_action): Typo fix.
3756 1998-12-04  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3758         * gscreen.c (load_imlib_icons): Make it use the new gicon files.
3760         * gicon.c, gicon.h: New files: they keep an image cache and
3761         provide the right icon to use based on the filename.  They use the
3762         GNOME metadata to fecth the "icon-filename" and "icon-inline-png"
3763         keys for per-image icons.
3765         * gdialogs.c (file_mask_dialog): Commented the help messages until
3766         the warnings are figured out.
3768 1998-12-04  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3770         * gdesktop.c (desktop_icon_info_new): Connect the signals for DnD
3771         so that we can drag icons from the desktop.
3772         (drag_begin): New function to set the drag cursor for icons on the desktop.
3773         (button_press): New function that stores the hot spot position for
3774         DnD cursors.
3775         (drag_data_get): New function to fetch the URI-list of selected icons.
3777         * gdialogs.c: Fixed some includes.
3779         * gdesktop.h: Removed the DnD target enum from here, since it is
3780         specific to each submodule.
3782         * gdnd.h: Moved the DnD target enums to here.  Added a new
3783         TARGET_MC_DESKTOP_ICON.
3785         * gdesktop.c (get_icon_snap_pos): Fixed icon snapping; the
3786         coordinates not being updated correctly.
3788         * gscreen.c (panel_drag_data_get): Free the uri list; it was being leaked.
3790 1998-12-04  Jonathan Blandford  <jrb@redhat.com>
3792         * gdialogs.c (file_progress_show_count): finished the copy dialog.
3794 1998-12-04  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3796         * gblist.c (blist_select_row): Warning fixes.
3798         * olddnd.c: Moved the old DND code here for reference purposes.
3800         * gscreen.c: Made the tree a drag source.
3802 1998-12-04  Jonathan Blandford  <jrb@redhat.com>
3804         * gdialogs.c (trim_file_name): better update dialog
3806 1998-12-03  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3808         * gdesktop.c (load_desktop_icons): Added arguments that specify
3809         where to place the newly-created icons.  This needs some tweaking still.
3810         (reload_desktop_icons): Now takes arguments for the position of
3811         the new icons.
3812         (drag_data_received): Pass in the drop position to reload_desktop_icons().
3814         * gscreen.c (panel_tree_drag_motion): Added missing variable declaration.
3816         * gdesktop.c (load_desktop_icons): Added an incremental flag that
3817         specifies whether icon creation is unconditional regardless of
3818         whether there is an icon for a file or not.
3819         (reload_desktop_icons): Use the incremental flag in load_desktop_icons().
3820         (drag_data_received): Reload the desktop incrementally, to avoid flicker.
3821         (desktop_icon_info_new): Use mc_lstat(), not mc_stat().  We do
3822         want to read symlinks, even dangling ones, if they exist.
3823         (load_desktop_icons): While we are reading the desktop directory,
3824         first place all the icons that have their metadata icon-position
3825         set, and build a list of the ones that don't.  *Then* place
3826         those.  This fixes overlapping icons on weird situations.
3828         * directory.xpm: Removed bogus garbage.  There was a stale pixmap here.
3830         * gdesktop.c (setup_desktop_dnd): Allow for GDK_ACTION_ASK as well.
3832         * gscreen.c (panel_widget_motion): The action argument to
3833         gtk_drag_begin() is a mask of possible actions, not a single action.
3835         * gdesktop.c (drag_data_received): Only reload the icons if the
3836         drop was successful.
3838 1998-12-03  Jonathan Blandford  <jrb@redhat.com>
3840         * gdialogs.c (create_op_win): starting the op_win dialog stuff
3842 1998-12-03  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3844         * gscreen.c (panel_create_icon_display, panel_create_file_list):
3845         Hook up to drag_begin and drag_end events.
3847         * gscreen.c (panel_tree_drag_motion): Improve interactivity
3848         (x_create_panel): Add a little decorating frame.
3850         (panel_create_icon_display, panel_create_file_list):
3851         Hook up to drag_begin and drag_end events.
3853         (panel_tree_drag_motion): Either queue a scroll on the tree, or
3854         queue an open-directory event.
3856         (panel_tree_scroll): Scroll the tree when the drag pointer is in
3857         one of the boundaries of the tree.
3859         (panel_tree_scrolling_is_desirable): new function to figure out if
3860         it is a good plan to scroll the tree view instead of opening it.
3862         (panel_chdir): Do not sync with the tree when we are in the middle
3863         of a drag and drop operation.
3865         (panel_drag_begin, panel_drag_end): New functions to keep track
3866         of the dragging operations.
3868 1998-12-02  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3870         * gscreen.c (panel_tree_drag_data_received): Perform drag and drop
3871         operations on the Tree.
3873 1998-12-02  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3875         * gdesktop.c (setup_desktop_dnd): New function to set up drops
3876         to the root window.
3877         (setup_xdnd_proxy): Function by Owen Taylor to set up a DnD proxy
3878         window.
3879         (drag_data_received): Function to handle drops on the root window.
3880         (desktop_destroy): Destroy the DnD setup.
3881         (reload_desktop_icons): New function to reload the desktop.
3883         * gscreen.c (drag_types, drop_types): Removed url-list; only
3884         uri-list should be there.
3886         * gdesktop.h: Removed TARGET_URL_LIST from the DnD enumerations.
3888         * gtkdtree.c (gtk_dtree_do_select_dir): Made static, as it is for
3889         internal use only.
3890         Fixed a little bunch of compiler warnings.
3892         * gscreen.c (x_fill_panel): Use gtk_dtree_select_dir(), not
3893         gtk_ctree_do_select_dir().
3895         * gpopup.c (gpopup_do_popup): Fixed incorrect assertion and
3896         actually create the menu (doh).
3897         (gpopup_do_popup): Do the same magic as in gnome-popup-menu to
3898         fetch the item that was activated in the menu.  Keep this code out
3899         of reach of children.
3900         (fill_menu): New function to fill the menu using the
3901         gnome-popup-menu magic for fetching the activated menu item.
3902         Removed ifdef'ed code.
3904 1998-12-02  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3906         * gscreen.c (tree_drag_open_directory, panel_tree_drag_motion,
3907         panel_tree_drag_leave): Drag and Drop support routines for the
3908         tree to auto-expand the tree when the user stays still on top of a
3909         directory.
3911         * gtkdtree.c (gtk_dtree_load_path): Further speed increase.
3913 1998-12-01  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3915         * glayout.c (file_menu): Use view_cmd and view_simple_cmd in the
3916         menu instead of panel_action_view and
3917         panel_action_view_unfiltered, respectively.
3919         * gpopup.c (create_regexp_actions): Create the menu items using
3920         gnome-app-helper, for visual consistency.
3921         (create_actions): Likewise.  Also, fixed S_ISLNK() confusion.
3922         (get_label_text): Extract the label from the GnomeUIInfo item in
3923         an ugly way.
3925 1998-12-01  Jonathan Blandford  <jrb@redhat.com>
3927         * Makefile.in: now handles gdialogs*
3929         * gdialogs.h:
3930         * gdialogs.c:Added new files -- takes the place of ../src/filegui.*
3932 1998-12-01  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3934         * gscreen.c (panel_switch_new_display_mode): Destroy the old
3935         widget.  Add the list view to the proper table.
3937         * glayout.c: Remove the exit menu option.
3939         * gtree.c (gtk_dtree_contains): New routine used to avoid
3940         duplicate entries in the tree display.
3942 1998-11-30  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3944         * gscreen.c (panel_icon_list_select_icon): Use gpopup_do_popup().
3945         (panel_file_list_select_row): Use gpopup_do_popup().
3946         Moved the popup menu code to gpopup.c.
3948 1998-11-29  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3950         * gscreen.c (display_mini_info): Use g_strdup_printf() to make it
3951         i18n-ize nicely.
3952         (panel_create_filter): Use _(), not N_().
3953         (x_create_panel): Likewise.
3955 1998-11-29  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3957         * gscreen.c (x_create_panel): Add panel view.  Put the views
3958         inside a new table.  Add tree view to the left.
3959         (panel_create_icon_display): IconList no longer starts in frozen state.
3961         Update Makefile.
3963 1998-11-28  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3965         * gwidget.c (x_update_input): Use gtk_editable_changed on the entry.
3966         (x_create_listbox): Fix more CList api change.
3967         * gscreen.c (CLIST_FROM_SW): Adapt to new GtkScrolledWindow
3968         inheritance.
3970 1998-11-27  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3972         * Makefile.in (OOBJS): Add filegui.o back until the GTK-specific
3973         filegui is written.
3975         * gdesktop.c (check_window_in_one_panel): Provide better error
3976         messages here for debugging purposes.
3978         Disable stubs for filegui.c until they are actually implemented.
3979         I need to debug stuff.
3981         * gdnd.c (find_panel_owning_window): Use the new
3982         gtk_drag_get_source_widget function to find out reliably if the
3983         drag source happens to be in this application.
3985         * gscreen.c (x_create_panel): Set the usize for the ministatus
3986         label to be (0, -1), this means: do not request any horizontal
3987         space, use any vertical space given.
3989         Put the ministatus inside an hbox, and use
3990         gtk_container_set_resize_mode in this hbox to stop any queue
3991         events from being propagated up in the hierachy of widgets
3993         This kills all of the CList/GnomeIconList/Scrollbar/Toolbar
3994         flickering now.
3996 1998-11-26  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3998         * gtree.c: More work on gtree.  It is basically ready to stick
3999         into gmc-window.c/mc  I just need to know when you are ready
4000         Federico.
4002 1998-11-25  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4004         * gpopup.c (gpopup_do_popup): Hide the edit/view separator if
4005         those items were disabled, too.
4007         * gdesktop-icon.c (desktop_icon_realize): Added
4008         WIN_STATE_FIXED_POSITION and WIN_STATE_ARRANGE_IGNORE to the
4009         window hints for the desktop icons.
4011 1998-11-24  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4013         * gdesktop.c (desktop_icon_info_event): Run the popup menu for the
4014         icons in the desktop.
4016         * gpopup.[ch]: New files that take care of the popup menus for
4017         files in the desktop and in the panels.
4019         * Makefile.in: Added gpopup.[ch] to the list of sources.
4021 1998-11-23  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4023         * gdesktop.c (desktop_icon_info_place): Save the icon position
4024         when it is moved.
4025         (desktop_destroy): Removed the save_icons_pos() function and do
4026         not invoke it from desktop_destroy().
4028 1998-11-23  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4030         * gwidget.c (x_list_insert): Make it work with the new CList
4031         policies.
4033 1998-11-23  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4035         * gdesktop.c: Put in a bunch of stubs for the functions in
4036         filegui.h.  These will be removed as the dialogs get
4037         custom-written for Gnome.
4039         * gmetadata.[ch]: Changed the function names to "gmeta_*".
4041         * gscreen.c (CLIST_FROM_SW): Use scrolled_window->child, as
4042         viewport is obsolete.
4044 1998-11-19  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4046         * Makefile.in (OOBJS): Do not link ../src/filegui.o.  GMC does not
4047         link right now, but I guess I'll add stubs until we finish with
4048         the dialog boxes.
4050         * gdnd.c: #include <sys/types.h>
4052         * Makefile.in (checklinks): Fix sourcelinks -> maksourcelinks typo.
4054 1998-11-12  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4056         * gmain.c (session_save_state): Use gnome_geometry_string.
4058 1998-11-06  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4060         * gscreen.c (panel_file_list_compute_lines): Quick hack to get mc
4061         to compile with the new CList.
4063 1998-11-10  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4065         * Makefile.in: Removed gtrans.c from the list of sources.
4067         * gdesktop-icon.c: #ifdef cleanups.
4069         * gscreen.c (panel_create_file_list): Doh.  Return the scrolled
4070         window, not the clist.
4072         * gdnd.c (get_action): Implement the DnD actions menu.
4074 1998-11-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4076         * gdnd.c: New file that handles all the DnD stuff.  Mainly used to
4077         clean up gdesktop.c.
4079         * gscreen.c (panel_icon_list_drag_data_received): Use
4080         gdnd_drop_on_directory().
4081         (CLIST_FROM_SW): Added this macro to fetch the clist from the
4082         scrolled window in panel->list.
4083         (panel_create_file_list): Create a scrolled window and put the
4084         clist inside it.  This is required per the new clist API.
4085         (panel_configure_file_list): Use the scrolled window's adjustment.
4086         (panel_file_list_size_allocate_hook): Use the scrolled window
4087         instead of the clist.
4088         (panel_file_list_compute_lines): Use the scrolled window instead
4089         of the clist.
4090         (panel_file_list_configure_contents): Use the scrolled window
4091         instead of the clist.
4092         (panel_create_file_list): Do the DnD setup here, not in the
4093         realization callback.
4094         (x_create_panel): Do not realize the panel explicitly.
4095         (panel_create_pixmaps): Create the pixmaps using imlib instead of
4096         Gdk.
4098 1998-11-06  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4100         * gdesktop.c (text_changed): Doh.  Set the new filename of the
4101         desktop icon info structure.
4103 1998-11-05  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4105         * gdesktop.c (text_changed): We rename the files when the text
4106         changes.
4107         (save_icons_pos): New function to save the icon position metadata
4108         for all the icons in the desktop.
4109         (desktop_destroy): Save the icon positions when we exit.
4111 1998-11-04  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4113         * gdesktop.c (editing_started):
4114         (editing_stopped): New functions to install and remove
4115         pointer/keyboard grabs while icons are being edited,
4116         respectively.
4118 1998-11-03  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4120         * gdesktop.c (select_icon): Raise the icon when it is selected.
4122 1998-11-02  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4124         * gdesktop.c (select_range): Doh.  Fix dii -> ldii typo.  Also,
4125         use Windows semantics -- ranges are considered rectangular instead
4126         of linear.
4128         * gdesktop.c: Now desktop icons are stored in the layout_slots
4129         array.  We need to know which icons are in which slots.
4130         (unselect_all): Use the layout_slots array.
4131         (desktop_icon_info_place): Append the icon to the list in the
4132         proper slot.
4133         (desktop_icon_info_new): Initialize the position and slot fields
4134         in the desktop icon info structure.
4135         (desktop_icon_info_free): Remove the icon from its slot.
4136         (desktop_destroy): Destroy the layout slots and the icons
4137         properly.
4138         (remove_from_slot): New convenience function to remove an icon
4139         from the slot it is in.
4140         (get_icon_snap_pos): Do a bit nicer snapping by really using the
4141         closest slot.
4142         Added a last_selected_icon variable to keep track of the icon that
4143         was last selected, for shift+click selections.
4144         (select_icon): Finish selection semantics and clean up.  Now it is
4145         nice and simple and complete.
4146         (select_range): New function that handles range selections.
4148 1998-11-01  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4150         * gdesktop-icon.h (DesktopIcon): Added a child item for stippling
4151         the icon when it is selected.
4153         * gdesktop-icon.c (desktop_icon_select): Show/hide the stippling
4154         as appropriate.
4156         * gdesktop.c (desktop_icon_info_event): Handler for events on
4157         desktop icons.
4158         (select_icon): New function that handles icon selection based on
4159         mouse clicks and modifier keys.
4161         * gdesktop.c (struct desktop_icon_info): Added a type field to the
4162         structure.  It specifies the type of icon (file, directory), and
4163         is used to determine the DnD and menu behavior.
4165 1998-10-30  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4167         * gdesktop.c: We are now using the new desktop icon code.  It is
4168         not yet complete, but what is there does work.  We have icon
4169         creation, auto-layout and snapping.  Next step is drag and drop
4170         and popup menus.
4172         * glayout.c: #ifdef out the stuff that uses the old desktop code.
4173         I will replace it gradually.
4174         * gmain.c: Likewise.
4175         * gscreen.c: Likewise.
4177 1998-10-27  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4179         * gscreen.c (panel_icon_list_button_release): Remove unused
4180         variable.
4182         Provide hand written CList-start drag code
4184 1998-10-30  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4186         * gmetadata.c (meta_get_icon_pos): Renamed from
4187         meta_get_desktop_icon_pos().
4188         (meta_set_icon_pos): New public function to save the icon position
4189         information.
4191         * gdesktop-icon.c (canvas_size_allocated): New function.  We reset
4192         the canvas scrolling region here, when the canvas gets size
4193         allocated, to ensure that the canvas has always the correct
4194         scrolling region.  We do it here instead of in the reshape()
4195         function to avoid flicker.
4197 1998-10-29  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4199         * gmetadata.[ch]: New files with functions to handle all metadata
4200         issues -- fetching icons, icon positions, etc.
4202         * Makefile.in: Added gmetadata.[ch] to the list of sources.
4204 1998-10-28  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4206         * gdesktop-icon.c (create_window_shape): Use shaped icons only
4207         when the user has selected them.
4208         (desktop_icon_reshape): New public function to recompute the shape
4209         of the icon.  This should be used when the global
4210         desktop_use_shaped_icons flag changes.
4211         Added documentation comments to the public functions.
4213         * Makefile.in: Fixed for gdesktop-icon.
4215         * gdesktop-icon.[ch]: Renamed from desktop-icon.[ch], per Miguel's
4216         request.
4218         * desktop-icon.c (reshape): Position the icon text item correctly.
4220 1998-10-27  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4222         * desktop-icon.c (desktop_icon_new): Do now reshape more than
4223         needed by splitting the set_icon and set_text functions apart.
4225 1998-10-23  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4227         * gdesktop.c (desktop_icon_set_position): Do not lower the
4228         window.  The gnome-compliant wm will know what to do with windows
4229         on the Desktop layer.
4230         (post_setup_desktop_icon): Likewise.
4232         * desktop-icon.c (create_window_shape): Fetch the mask of the
4233         image "by hand", as we cannot rely on the canvas item having
4234         created it yet.
4236         * desktop-icon.c (desktop_icon_realize): Doh.  We need to
4237         initialize the gnome_win_hints before we set any of the hints.
4239 1998-10-21  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4241         * gdesktop.c (create_desktop_icon): Renamed from
4242         my_create_transparent_text_window.  Now uses the DesktopIcon
4243         widget for its work.
4244         (get_desktop_icon_for_dentry): Renamed from
4245         get_transparent_window_for_dentry.  Uses the DesktopIcon widget.
4246         (get_desktop_icon_for_di): Renamed from
4247         get_transparent_window_for_di.
4248         (desktop_icon_properties): Do not size_request the icon, since now
4249         we can get its dimensions directly from the DesktopIcon structure.
4251         * desktop-icon.[ch]: New file that takes care of desktop icons.
4252         It provides the spiffy widget that is used for them.
4254         * Makefile.in: Added desktop-icon.[ch] to the list of sources.
4255         MC should use Automake, I think.
4257 1998-10-21  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4259         * gscreen.c (panel_create_icon_display): Small size adjustment.
4261         * glayout.c (create_container): Small size adjustment.
4263         * gmain.c (xtoolkit_create_dialog): Center windows.
4265 1998-10-20  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4267         * gscreen.c (x_select_item): Force a canvas update when an icon
4268         has been selected.
4270 1998-10-19  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4272         * gscreen.c (panel_drag_data_get): New routine to provide data
4273         with the new DnD protocol.
4275         * gmain.c (dialog_key_pressed): If an icon has the focus, then do
4276         not process any of our events.
4277         Only stop the signal if we actually handled the event.
4278         (dialog_key_pressed):
4280 1998-10-14  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4282         * gscreen.c (panel_icon_renamed): Add support for renaming files.
4284 1998-10-13  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4286         * gscreen.c: Use the new icon list.
4288 1998-09-25  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4290         * gscreen.c: Hook to invoke the editor from the context menu.
4292 Fri Sep 18 13:51:16 1998  Pavel Roskin <pavel_roskin@geocities.com>
4294         * Makefile.in: Consequent "make" should not rebuild gmc every time
4296 Mon Aug 31 10:46:32 1998  Owen Taylor  <otaylor@redhat.com>
4298         * gscreen.c (display_mini_info): Removed calls to
4299         gtk_clip_label_set() hack, since its cut-n-paste code didn't work
4300         with new GTK's. If excessive resizes are a problem, they can be
4301         solved by adding an adjustment around the label, and calling
4302         gtk_container_set_resize_mode().
4304 1998-08-20  Raja R Harinath  <harinath@cs.umn.edu>
4306         * gdesktop.c: Include "mad.h", for xmalloc.
4307         * gkey.c: Likewise.
4308         * gscreen.c: Likewise.
4309         (panel_create_file_list): Use `g_free', not `free'.
4311 Wed Aug 19 19:45:16 EDT 1998 The Rasterman <raster@redhat.com>
4313         * gdesktop.c - changed dnd setting routine for desktop icon to set
4314           events on child window...
4315         * gtrans.c - chnaged routines to make window with child rawing area
4316           and set shape on parent window
4318 1998-08-14  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4320         * gscreen.c (panel_make_local_copies_and_transfer): Fix.
4322 1998-07-04  Carsten Schaar  <nhadcasc@fs-maphy.uni-hannover.de>
4324         * gmain.c (session_management_setup): Replaced
4325         'gnome_client_new_default' with 'gnome_master_client'.
4327 1998-06-23  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4329         * gwidget.c (x_update_input): The previous hack was not
4330         required, the right fix was to change Gtk.
4332 1998-06-22  Manish Vachharajani <mvachhar@vger.rutgers.edu>
4334         * gwidget.c: Don't call gtk_entry_scroll_adjust, it is a private member
4336 1998-06-02  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4338         * gdesktop.c (drop_cb): Mhm.  Negotiation of the drop type was not
4339         quite like I expected.  Anyways, fixed a bug: we need to take
4340         text/plain drops on the launch icons on the desktop.
4342 1998-06-01  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4344         * gdesktop.c (desktop_setup_icon): Assign the dentry->geometry
4345         from the drop position.   New .desktop files are now placed on the
4346         site they were dropped.
4347         (drop_cb): Use proper prototype.
4349 Sun May 31 13:19:59 1998  Norbert Warmuth  <k3190@fh-sw.de>
4351         * Makefile.in: use @LIBVFS@ when referring to libvfs-mc.a (one
4352         reference wasn't converted, yet).
4354 1998-05-30  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4356         * gwidget.c (x_create_input): Set the entry's visibility if it is
4357         a password field.
4359 1998-05-26  Marc Ewing <marc@redhat.com>
4361         * Makefile.in: use @LIBVFS@ when referring to libvfs-mc.a
4363 1998-05-26  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4365         * gmain.c (session_save_state): Perform shutdown if `shutdown'
4366         flag is set.
4368 1998-05-25  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4370         * gwidget.c (entry_release): Enhanced our marked handler for input
4371         lines.
4373         * gdesktop.c (desktop_create_directory_entry): Fix, make a
4374         g_strdup copy of the name. Fixes bug report #78.
4375         (desktop_icon_context_popup): Simplified this routine as we are
4376         using file_popup now anyways.
4378 1998-05-24  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4380         * glayout.c: Move the New window menu entry from ``Window'' to
4381         ``File''.
4383         * gwidget.c (x_unfocus_widget): Fix wartning.
4385         * glayout.c (set_hintbar): Call flush events after setting the
4386         hintbar.
4388 1998-05-22  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4390         * gwidget.c (x_create_input): Disable the use of the GNOME entries
4391         for now, as they are very slow.  We need to figure out what is
4392         wrong with this.
4394         With this change, dialog boxes close quickly instead of taking
4395         ages to close.
4397         * gscreen.c, gdesktop.c (file_popup_add_context, file_popup):
4398         Share the context menu code in gdesktop.c and gscreen.c.  The
4399         desktop pop up menus now include all of the stuff that would have
4400         appeared in the Panel.
4402         * gdesktop.c (desktop_icon_remove): Remove the file associated
4403         with this desktop entry if it is on the ~/desktop directory.
4405 1998-05-21  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4407         * gscreen.c (load_dnd_icons): Remove the code and the icons that
4408         we had here privately.  Use new gnome-stock functionality
4409         instead.
4411 1998-05-20  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4413         * gscreen.c (panel_drag_request): All of the drag_request code is
4414         now shared by both the Icon View and the Listing view;
4415         New drag request type:  file:ALL.  If the user is looking at a
4416         remote site, and the target application does not have VFS support
4417         it should not list url:ALL but file:ALL as the accepted drop
4418         type.
4420         This will make copies of the remote files and pass the files to
4421         the application.
4423 1998-05-20  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4425         * gtrans.c (set_window_text): Pass new justification parameter to
4426         gnome_icon_paint_text().
4428         * gpageprop.c (item_properties): Restore the arrow cursor for the
4429         desktop icon windows.
4431         * gdesktop.h (desktop_icon_t): Removed unused title field.
4433         * gtrans.c (set_window_text): Made it use the new
4434         GnomeIconTextInfo functions.
4436 1998-05-18  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4438         * gscreen.c (panel_create_icon_display): Set some good separator
4439         characters for the file icon list.
4441 1998-05-20  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4443         * gprop.c (perm_owner_new): Forget about history for now.
4445         * gpageprop.c (item_properties), gprop.c: Add executable editing
4446         (command, and terminal).  Save the dentry after modification
4448 1998-05-19  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4450         * gprop.c (change_icon): Test for gp, as the combobox emits the
4451         "changed" signal when shutting down.  Great.
4453         * gdesktop.c (desktop_reload): Missing mc_closedir
4454         (desktop_setup_icon): Fix memory leak.
4455         (get_desktop_icon): Fix memory leak.
4456         (desktop_create_directory_entry): Set the size of the exec
4457         vector.
4458         (desktop_create_launch_entry): Same.
4460         We now create launch entries instead of trying to support
4461         regular dropped stuff on the desktop, this makes things easier and
4462         more consistent.
4464 1998-05-18  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4466         * gscreen.c (x_select_item): Test for full icon visibility instead
4467         of partial visibility only.
4469 1998-05-15  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4471         * gscreen.c (create_popup_submenu): Use continue, not break on
4472         this loop.
4474 Sat May 16 02:29:51 1998  Tom Tromey  <tromey@cygnus.com>
4476         * gdesktop.c (url_dropped): `exec' field of desktop entry now a
4477         vector.
4478         (dentry_execute): Likewise.
4479         (desktop_icon_remove): Likewise.
4480         (get_transparent_window_for_dentry): Likewise.
4481         (desktop_create_directory_entry): Likewise; also initialize
4482         exec_length.
4484 1998-05-16  Jaka Mocnik <jaka.mocnik@kiss.uni-lj.si>
4486         * gscreen.c (create_popup_submenu): fixed bug which caused it to require
4487         0 instead of 1 marked files for F_SINGLE file_actions.
4488         * gscreen.c (file_popup): first item in the menu displays "..." when
4489         multiple files are selected.
4491 Thu May 14 23:31:15 1998  Tom Tromey  <tromey@cygnus.com>
4493         * gmain.c (session_save_state): Use "+" instead of "%s" in format
4494         specification.  Free `argv'.
4496 1998-05-14  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4498         * gtrans.c (create_transparent_text_window): Removed the hack to
4499         lower the window on exposes.  Guess what happens when you have two
4500         icons on the same spot.
4502 Thu May 14 02:02:56 1998  Norbert Warmuth  <k3190@fh-sw.de>
4504         * Makefile.in (EXTRALIBS): add @LINTL@
4506 1998-05-09  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4508         * gtrans.c (set_window_text): draw pixmaps without transparency
4509         correctly.
4511 1998-05-07  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4513         * gscreen.c (panel_icon_list_realized): Add drag and drop support
4514         to the icon list view;
4516 1998-05-06  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4518         * gscreen.c (panel_fill_panel_icons): New function:  Fill up the
4519         icon list.
4520         (x_create_panel): Change in the approach:  we create both of the
4521         widget views at creation time and we now carefully show every
4522         component.  I attach everything to the table, but not necesarly
4523         show it.
4525         * gblist.c (blist_select_row): New widget derived from GtkClist.
4526         replace select_row and unselect_row with null functions, as the
4527         gmc code takes care of the rest.
4529 1998-05-04  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4531         * gdesktop.c (desktop_icon_drag_start): Do not attempt to use
4532         icons if we could not load the images for the icon.
4534         * gwidget.c (x_update_input): Keep the cursor always visible.
4536         * gview.c (view): Use a buttonbar widget.
4538         * gwidget.c (buttonbar_clicked): Provide a trivial implementation
4539         of the buttonbar that only responds to key sequences.
4541         * gmain.c (dialog_panel_callback): Call midnight_callback to get
4542         the main bindings working.
4544         * gdesktop.c (perform_drop_manually): Use p to walk the dropped
4545         data.  This is an important bug fix.
4547         * gmain.c (idle_destroy_window), main.c: Session management now
4548         supports not showing a toplevel window (in case all of the windows
4549         were closed).
4551 1998-04-30  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4553         * gtrans.c (make_transparent_window): Put hack back.
4555         * gcache.c (image_cache_load_image): Federico spooted the problem:
4556         I have to duplicate my keys for the hash.
4558         * gmain.c (create_panels): Create one panel per directory
4559         specified.  For some strange reason the code hangs if you start up
4560         more than one panel at once.  This is not a gmc bug, it appears to
4561         be an Imlib/gtk/gdk interaction.  I am for now creating one panel
4562         in the main program execution thread and the rest during the idle
4563         handler.
4565         (session_save_state): Added session management support.
4567 1998-04-29  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4569         * gprop.c (gprop_general_new): Added an simple icon preview to the
4570         icon selector.
4572 1998-04-29  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4574         * gdesktop.c: Finish desktop_icon_remove implementation.
4576         * glayout.c (update_panels): GNOME specific Implementation of the
4577         update_panels routine.
4579 Tue Apr 28 06:52:24 1998  Norbert Warmuth  <k3190@fh-sw.de>
4581         * gcmd.c (gnome_open_terminal): Changed my_system(1,...) to
4582         my_system(EXECUTE_AS_SHELL,...)
4584 1998-04-27  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4586         * glayout.c (layout_panel_gone): Removed debugging information.
4587         Renamed "Panel" to "Window" to make it less confusing to users.
4588         Moved the "New window" from the "File" menu to the "Window" menu.
4590         * gmain.c (dialog_panel_callback): Walk the list of panels to
4591         determine to which panel the activated widget belongs.
4593 1998-04-24  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4595         * gwidget.c (x_create_radio): Fix the WRadio widgets.
4597 1998-04-21  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4599         * glayout.c (create_container): Add wmclass.
4601 1998-04-16  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4603         * gdesktop.c (desktop_reload): Show all of the widgets on a reload
4604         operation.
4606         * gscreen.c (x_panel_update_marks): Do only set the marks if the
4607         widget has been created
4609         * glayout.c (assign_other): Keep track of all of the opened
4610         panels.  We were never removing them from the containers list.
4611         This fixes a number of problems.
4613         * gwidget.c (x_dialog_stop): Only call gtk_main_quit if this
4614         dialog did not inlcude the DLG_GNOME_APP flag, as those windows
4615         did not launch a gtk_main event loop.
4617         * gcmd.c: Try various terminal programs in the PATH before giving
4618         up
4620         * glayout.c: Unselect command is unselect_cmd, not select_cmd
4622         * gcmd.c (gnome_quit_cmd): Add quit confirmation.
4624         * gdesktop.c (perform_drop_manually): Check the type for the
4625         source file (directory/file) and perform the proper operation.
4626         Before this we always did a *_file_file operation.
4627         (perform_drop_manually): Use copy_dir_dir correctly
4628         (desktop_setup_default): Use copy_dir_dir correctly
4630         * gwidget.c (x_create_label): Remove debugging labels.
4632         * gscreen.c: Do not show the view/view unfiltered if the
4633         selectioned item is a directory.
4635         * gwidget.c (x_radio_toggle): Never commit non-compilable code.
4637 1998-04-15  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4639         * gwidget.c (remove_hotkey, x_create_radio): Radio buttons should
4640         not display the special Hotkey specificator.
4642         * gcmd.c (gnome_close_panel): Implement the close-the-panel
4643         functionality.
4645         * gscreen.c (x_panel_destroy): Implement the gnome mode way of
4646         destroying the panel.
4648         * gview.c (view_status): Add cacheing of the information status,
4649         to avoid excessive flicker.  It would be better if GtkLabel did
4650         not flicker though.
4651         (scrollbar_moved): Scroll correctly.  We now use
4652         view_move_backward and view_move_forward to adjust the scrollbar
4653         contents.  This displays the scrollbar correctly.
4655         * gwidget.c (x_listbox_select_nth): This may be invoked before the
4656         widget has been created, work around this problem.
4658         * gscreen.c (show_dir): Set the title bar for the window to the
4659         current directoy.  Reported by both Mike and Elliot.
4661         * layout: Updated to the new hotlist dialog box.
4663 1998-04-15  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4665         * gtrans.c (create_transparent_text_window): Destroy the cursor
4666         properly.
4668 1998-04-14  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4670         * gview.c (x_init_view): Initialize view->sadj.
4672         * gdesktop.c (start_desktop): use destkop_load instead of
4673         desktop_reload.
4674         (desktop_load): This reloads + shows every widget on the
4675         desktop_icons list.
4677 1998-04-14  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4679         * gdesktop.h: Added extern declarations for the
4680         want_transparent_icons and want_transparent_text variables.
4682         * gtrans.c (set_window_text): Now we use the new global variables
4683         want_transparent_icons and want_transparent_text to decide how to
4684         paint the pixmap and mask.  The want_transparent_* variables can
4685         thus be configured for the smartness/speed of your X server when
4686         using shaped windows.
4688 Fri Apr 12 02:40:41 1998  Norbert Warmuth  <k3190@fh-sw.de>
4690         * gwidget.c (x_create_input): return 1 if the widget has been
4691         initialized manually (there was no return value)
4693         (x_create_buttonbar): to few arguments to sprintf (button number
4694         was missing); return a value.
4696 1998-04-08  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4698         * gscreen.c (x_create_panel): Added back and forward buttons.  I
4699         need a "Home" icon too.
4701         * gwidget.c (x_create_input): Make the selection if the input has
4702         not yet been touched.
4704         * gscreen.c (panel_action_open): If opening an item fails, try
4705         panel_action_open_with.
4707         * gview.c: Implement the viewer scrollbar.
4709 1998-04-07  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4711         * gscreen.c (panel_drop_data_available): Reload the panel contents
4712         upon a drop.
4714         * gmain.c (gnome_dlg_send_destroy): Hide the widgets just before
4715         they are going to get destroyed, to avoid the shutdown
4716         flickering.
4717         (x_destroy_dlg_start): New routine/hook invoked when the destroy
4718         has just started
4719         (x_set_idle): Cancel the idle handlers properly.
4721         * gwidget.c (x_create_check): Finish the checkbox implementation.
4723         * gdesktop.c (get_desktop_icon): Fix this routine: it was
4724         cretating a file name when the filename was not set properly.
4726 1998-04-01  Marc Ewing  <marc@redhat.com>
4728         * gscreen.c: Added #include <gdk/gdkprivate.h>
4730 1998-03-31  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4732         * gcache.c: Added an Image cache for all of the imlib-loaded
4733         images to avoid destroying/reloading the images.
4735         * gdesktop.c, gtrans.c: Use the image cache.
4737 1998-03-24  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4739         * gscreen.c (x_create_panel): Show the GnomeApp when we are done
4740         packing all of our information.
4742         * gmain.c (create_panels): do not show any of the windows yet.
4744 1998-03-23  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4746         * gscreen.c (x_fill_panel): Colors are properly displayed now.
4748         Use the clipped labels.
4750         * gcliplabel.c, gcliplabel.h: Derived label that does label
4751         clipping (it does not request the allocation for the whole string,
4752         but settles with whatever is provided in the size_allocation).
4754 1998-03-23  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4756         * gtrans.c (create_transparent_text_window): Set the window's
4757         cursor to the normal top-left arrow.
4759 Mon Mar 23 01:40:35 1998  Norbert Warmuth  <k3190@fh-sw.de>
4761         * gtools.c (translate_gdk_keysym_to_curses): renamed KEY_BACKTAB
4762         to KEY_BTAB (the name ncurses uses)
4764         * Makefile.in: Install the icon-files and the layout-file from $srcdir.
4766 1998-03-20  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4768         * gdesktop.c (icon_properties):
4769         * gpageprop.c (item_properties): Modified to accept dentry title
4770         changes as well.
4771         (item_properties): Fixed base and fname confusion in call to
4772         concat_dir_and_file().
4774         * gprop.c (gprop_general_new):
4775         (gprop_general_get_data): Renamed to general from icon.  The
4776         general Gprop now lets you enter the title and icon filename for a
4777         dentry.
4779 1998-03-19  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4781         * gdesktop.c (icon_properties): Whoops, actually save the dentry.
4782         (post_setup_desktop_icon): Moved the icon positioning call outside
4783         of this function so that property-changed icons will not move on
4784         the desktop.
4786         * gdesktop.c (desktop_icon_context_popup): It is not necessary to
4787         set the menu position.
4788         (desktop_icon_context_popup): gtk_signal_connect_object_after to the menu
4789         items with gtk_widget_destroy as a callback so that we can destroy
4790         the menu widget appropriately.
4792 1998-03-19  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4794         * gscreen.c (display_mini_info): Implement mini status.
4796 1998-03-19  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4798         * gdesktop.c (get_transparent_window_for_dentry): New function,
4799         creates the proper transparent icon window for a dentry.
4800         (post_setup_desktop_icon): New function, does post-setup stuff for
4801         a desktop icon (setting it as a drop target, positioning it, etc.).
4803         * gpageprop.c (item_properties): Now the dentry parameter is a
4804         desktop_icon_t instead.
4805         We now return a bitmask that indicates what stuff changed.  The
4806         caller can use this information to decide what to update, repaint, etc.
4808         * gdesktop.h: Moved the icon_t and desktop_icon_t structures here.
4810         * gpageprop.c (item_properties): Insert icon control if appropriate.
4812         * gprop.c (gprop_icon_new):
4813         (gprop_icon_get_data): Renamed from gprop_dir_*().
4815         * gscreen.c (panel_action_properties): Re-reads panel only if necessary.
4817         *gpageprop.c (item_properties): now returns TRUE if something got
4818         changed, FALSE otherwise.  This should be used to decide whether
4819         to re-read the panel or not.
4821         * gpageprop.c: #include "../vfs/vfs.h".
4822         #include "dialog.h".
4824         * gprop.c (gprop_dir_new):
4825         (gprop_perm_new):
4826         (gprop_general_new): Connect to the destroy signal of the toplevel
4827         widget and destroy the Gprop structure on the callback.
4829 Wed Mar 18 23:09:35 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4831         * gscreen.c (panel_file_list_select_row): Use control/shift click
4832         to add files to the selection.
4834 Wed Mar 18 22:32:53 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4836         * gscreen.c (panel_action_properties): Make Federico's
4837         page-properties code functional.
4839         * gpageprop.c: New file, implements most of the page properties on
4840         top of the gprop.c code.
4842 Wed Mar 18 20:35:45 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4844         * gdesktop.c (desktop_create_launch_entry): Support for the "Drop"
4845         target in mc.ext now.
4847         * Add support for dragging the icons on the desktop.
4849         (desktop_icon_make_draggable): new function.
4850         (drop_from_event): simplify.
4851         (my_create_transparent_text_window): Get the motion notify event.
4852         (drops_from_event): create a vector based on thge drop event.
4853         (drop_cb): splitted, call url_drop for regular drops, otherwise it
4854         is a icon drop.
4855         (artificial_drag_start): new routine, used now by gscreen.c and
4856         gdesktop.c
4857         (drop_on_directory): Check result value of operation.
4858         (desktop_icon_set_position): sane interface.
4859         (stop_desktop): Flush all of our state to disk.
4861 1998-03-18  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4863         * gscreen.c: Removed tests for the gprop stuff.
4864         (file_popup): It is not necessary to show the popup menu.
4866         * gprop.c (perm_group_new):
4867         (perm_owner_new): Fill the combo lists with users and groups,
4868         respectively.
4870         * gprop.h: New files gprop.[ch].  These create the property pages
4871         for desktop entries.
4873         * Makefile.in: Added gprop.[ch] to the rules.
4875         * glayout.c: Put gnome_about_cmd as a callback for the About menu item.
4877 Tue Mar 17 22:40:36 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4879         * gdesktop.c (desktop_setup_icon): Lots of changes to accomodate
4880         dropping icons on the root window.
4882         (do_symlinks): Implement symlink action.
4884         (icon_delete, desktop_icon_context_popup): Implement icon context
4885         menus.  only deleting an icon is working right now.
4887         * gscreen.c: Load the drag and drop icons from the installation
4888         directory.
4890         * Makefile.in (install_gmc): Install our icons.
4892 Tue Mar 17 02:38:37 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4894         * gdesktop.c (desktop_setup_default): Create a default desktop
4895         entry on the root window for the Home directory if not mc.desktop
4896         exists -yet-
4898         Get drops on the root window to work.   Joy and hapiness!
4900 Tue Mar 17 00:43:50 1998  Tom Tromey  <tromey@cygnus.com>
4902         * glayout.c (gnome_panel_about_menu): "About" item now a stock
4903         menu item.
4905 1998-03-16  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4907         * gscreen.c (filter_item_activate): Make it convert the glob
4908         pattern to a regexp if appropriate.
4910 Sat Mar 14 17:13:26 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4912         * gmain.c (gnome_dlg_send_destroy): New signal handler for
4913         "delete_event".  I return TRUE (ie, do not kill this window), and
4914         manually queue que destruction of this window.
4916         * gtools.c (query_dialog): Do not allow resizing; do not destroy
4917         the dialog ourselves, this is properly handled by dlg.c now
4918         (pack_button): Do not use the defaults: we do not want growing
4919         buttons;
4921 Fri Mar 13 16:01:28 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4923         * gwidget.c (buttonbar_clicked, x_create_buttonbar): Button bar
4924         widget implemented.
4926         * gtools.c: Implement the non-modal version of the message
4927         routine.
4929         * gview.c: Create a GnomeApp widget to contain the viewer.
4931         * gmain.c (xtoolkit_create_dialog): Add a new mode where the
4932         container window is a GNOME_APP window.
4934 1998-03-13  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4936         * gscreen.c (x_select_item): Make it use GTK_VISIBILITY_FULL
4937         instead of a plain boolean value.
4938         * gwidget.c (x_listbox_select_nth): Likewise.
4940         * gscreen.c (filter_items): New global variable full of filters.
4941         Please, someone fill in the regexp parts, as I was too lazy to do
4942         them :-)
4943         (panel_create_filter): Now the filter has a very nice button that
4944         pops up a menu for selecting the filter.
4946 Thu Mar 12 22:11:23 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4948         * gwidget.c (x_update_input): Use GnomeEntry widgets instead of
4949         the GtkEntry.
4951         * gwidget.c (listbox_select): Fix for the listbox selection with
4952         the mouse.
4953         (x_create_button): Use stock pixmaps.
4955         * gcmd.c: Moved all of the _cmd routines from glayout to this
4956         place.
4957         (save_panel_types): Provide GNOME implementation.
4959         * glayout.c: New and improved menu layout.  Use stock pixmaps.
4961 1998-03-12  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4963         * gmc-chargrid.c (gmc_char_grid_draw): Someone teach me how to
4964         subtract.  Fixed a stupid offsetting bug.
4965         (update_region): Added clipping of region bounds.
4967         * gmc-chargrid.c: Changed the struct attr with pointers mess with
4968         something saner.
4969         Added an in_resize flag to avoid calling our internal signal
4970         handlers recursively.
4971         (gmc_char_grid_draw): Added proper draw handler for our case; the
4972         widget's window does not fill its allocation.
4973         (paint): New wrapper for update_region(); it converts window
4974         coordinates to row/column character coordinates.
4975         (gmc_char_grid_expose): Use paint().
4977 1998-03-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4979         * gmc-chargrid.c (update_strip): Doh.  Fixed painting of
4980         background rectangles.
4981         (gmc_char_grid_expose): Fixed off-by-one errors in area
4982         calculation.  Ripped off the code from gtkterm to do this :-)
4983         (free_attrs): New internal convenience function.
4985 Thu Mar 12 00:08:06 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4987         * gview.c (view_percent): Added status display.
4989 Wed Mar 11 22:35:02 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4991         * gwidget.c (entry_release): Now the WEntrys track the current
4992         selection.p
4993         (x_update_input): Repaint the widget after changing the position.
4995         * gscreen.c (x_fill_panel): Remember the selected item on the
4996         panel before filling it up, as gtk_clist emits a select_item
4997         signal when filling it up, which changes the current selection
4998         (and thus some routines that invoke the reload panel option
4999         fail).
5001         (create_popup_submenu): Implement context sensitive menus (regular
5002         files, and symlinks).
5004         (panel_realized): Use a different icon when we are dragging a
5005         group of files.
5007         (panel_artificial_drag_start): Add Elliot's Artificial drag start
5008         support.
5010 1998-03-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>
5012         * gmc-chargrid.c (gmc_char_grid_get_size): New public function.
5013         (gmc_char_grid_put_text): New public function.  It is the same as
5014         gmc_char_grid_put_str, but can take any arbitrary string plus its
5015         length.
5016         (gmc_char_grid_put_char, gmc_char_grid_put_str,
5017         gmc_char_grid_put_text): These functions now take a background
5018         pixel parameter --- the GmcCharGrid widget now supports fg/bg attributes.
5020         * gmc-chargrid.h: Changed colors field to attrs.
5022         * gmc-chargrid.c: New Character Grid widget for the file viewer.
5023         This is a very lean and fast widget for displaying a grid of
5024         monospaced characters.  Just like a crippled-down terminal.
5026 Tue Mar 10 23:46:29 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
5028         * gscreen.c (x_adjust_top_file): We no longer adjust the top
5029         displayed filename.
5031         (panel_build_selected_file_list): Fix for the transfered data.
5033         (panel_drop_data_available): Now drop support uses the new
5034         coords.x and coords.y fields from the DropDataAvailableEvent to
5035         find out which directory receives the drop.
5037         * glayout.c: added: configure_box, configure_vfs
5038         (get_other_type): Return the correct value.
5040 1998-03-10  Federico Mena Quintero  <federico@nuclecu.unam.mx>
5042         * gscreen.c (panel_file_list_size_allocate_hook): Now we
5043         connect_after to the size_allocate signal and block the handler.
5044         Things are still not perfect, though.
5046         * gtools.c (message): Added return NULL.  This needs to be fixed.
5047         (translate_gdk_keysym_to_curses): FIXME: Replace KEY_BACKTAB by '\t'
5048         while KEY_BACKTAB is added somewhere else.
5049         (translate_gdk_keysym_to_curses): return -1 as last resort.
5051         * glayout.c (get_current_index): Add g_assert_not_reached() for
5052         fatal case.
5054         * gmenu.c (menubar_new): Cast g_menubar to unsigned long.
5056         * gwidget.c (x_create_input): Cast entry to GTK_OBJECT.
5058         * gkey.c (find_select_closure_callback): Fix = -> == typo.
5060 Tue Mar 10 00:10:32 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
5062         * gscreen.c (panel_drop_data_available): Now drop support uses the
5063         new coords.x and coords.y fields from the DropDataAvailableEvent
5064         to find out which directory receives the drop.
5066         * gwidget.c (x_radio_focus_item): Add support for focusing radio
5067         buttons.
5069 Mon Mar  9 15:12:00 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
5071         * gtools.c (translate_gdk_keysym_to_curses), dlg.c
5072         (dlg_key_event): Support for backtab.
5074         * gwidget.c: highlight properly the focused radio entry.
5076         * gmain.c (x_init_dlg): After setting up the X widget, set the
5077         Gtk focus to h->current;
5079 1998-03-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
5081         * gscreen.c (x_panel_select_item): Set the colors of the row.
5083         * gmain.c (xtoolkit_init): Changed gnome_init() to new version.
5084         (xtoolkit_init): Call gnome_init() properly.  Also, return 0.
5086 Sat Mar  7 15:24:49 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
5088         * gwidget.c (entry_click): Focus the entry on clicks.
5090 Fri Mar  6 20:50:19 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
5092         * gmain.c (create_panels): New per-port variable, used to flush
5093         all of the pending X events.
5095         (x_set_idle): Implement idle functions, now the find command works
5096         properly.
5098         * gwidget.c (x_create_radio): Connect to the "toggled" signal to
5099         keep track of the radio button.
5101         (listbox_select): callback for the select and double click
5102         actions.
5103         (x_update_input): This can be invoked before the
5104         widget X resources have been allocated.  Take care of this.
5106         (x_create_input): update the cursor position as well.
5108         (x_list_insert, x_create_listbox, x_list_delete_nth,
5109         x_listbox_select_nth): implement the Listbox widget.
5111         * gconf.h:  New configuration options:
5112         PORT_HAS_PANEL_ADJUST_TOP_FILE and
5113         PORT_HAS_PANEL_RESET_SORT_LABELS
5115 1998-03-06  Federico Mena Quintero  <federico@nuclecu.unam.mx>
5117         * gmain.c (get_color): Make it use GdkColorContext correctly.
5119         * gscreen.c (panel_create_filter): The filter control is now a
5120         nice GnomeEntry.  It does not work due to gmc trapping key events;
5121         I'll look into it tomorrow.
5122         (internal_select_item): Fixed broken behavior.  Now uses GtkCList properly.
5123         default_filters: new structure with pre-defined glob patterns.
5124         This is actually broken, because it will only work when
5125         easy_patterns is enabled.  I have to figure a way to make it work
5126         with regexp mode as well.
5128 Thu Mar  5 23:54:58 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
5130         * gdesktop.c (drop_on_panel): New function;  Used by the directory
5131         icons and by regular panels to support drag targets;
5133         * gscreen.c (panel_drop_data_available): Performs the drop action
5134         on a panel.  It needs fixing, as the DropDataAvailabelEvent does
5135         not provide any information as to where the drop actually
5136         happened.
5138         (fixed_gtk_widget_dnd_drag_set, fixed_gtk_widget_dnd_drop_set):
5139         Only set the main window of the clist to be the source/target of
5140         the drag and drop code.  The little square at the end did not make
5141         much sense as a drop/drag spot.
5143 1998-03-04  Federico Mena Quintero  <federico@nuclecu.unam.mx>
5145         * gmain.h: Added prototype for x_filter_changed().
5146         Added #include "panel.h".
5148         * gconf.h (PORT_HAS_FILTER_CHANGED): New flag for conditional compilation.
5150 Wed Mar  4 22:43:00 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
5152         * gtools.c (query_dialog): Rewritten to use the MC dialog/widget code.
5154         * gutil.c (my_system), acconfig.h: By default gnome will not have
5155         a subshell (at least for now) and will now exec everything
5156         asyncronously by default.
5158         * gscreen.c: Exactly what was I thinking when I used the
5159         g_panel_contents structure will remain a mistery for future
5160         programming psycologists.  It was a huge mistake.
5162         * gdesktop.c: Use the new icon/text display routine from
5163         Federico.
5165 Tue Mar  3 21:03:52 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
5167         * gmain.c (x_destroy_dlg): Call gtk_grab_remove when destroying
5168         the dialog.
5170         * gmain.c (x_focus_widget): Handle special case of toplevels.
5172 1998-03-04  Federico Mena Quintero  <federico@nuclecu.unam.mx>
5174         * gscreen.c: Some hackish changes to work around idempotence bugs
5175         in gtk_clist_select_row().