* gcustom-layout.c, gprefs.c: Make the preferences dialog
[midnight-commander.git] / gnome / ChangeLog
blobd683df03df8b44d083f28e70bcba26b5bc44e225
1 1999-03-08  Sergey Panov  <sipan@mit.edu>
3         * gcustom-layout.c, gprefs.c: Make the preferences dialog
4         translatable. (include files in gcustom-layout.c and use of
5         the _() macro in gprefs.c)
7 1999-02-28  Miguel de Icaza  <miguel@nuclecu.unam.mx>
9         * gnome-file-property-dialog.c (create_settings_pane): Simplify
10         the test and fix it.
12         * gdnd.c (drop_on_file): Fix these so that they can use the
13         metadata drop-action.
15         * gdesktop.c (desktop_icon_info_open): Ugly.  Needs to share more
16         code here.  Use the metadata first, and the is_exe to find out how
17         to launch an application.
19         * gnome-file-property-dialog.c (perm_group_new): Check the return
20         value of getgrgid.
21         (perm_group_new): Do not use a grp if it does not exist.
23 1999-02-26  Miguel de Icaza  <miguel@nuclecu.unam.mx>
25         * glayout.c (my_app_create_menus): New function, used to create
26         our menus and set the realy properly, to make cpanel (ie,
27         current_panel) always consistent with what the user users.
29         So, no need to kill the tearoff menus in gmc now.
31         * gmount.c (is_block_device_mountable): compare the device name
32         here. 
33         
34         (get_mountable_devices): Do not stop scanning devices.  
35         
36         * gview.c (scrollbar_moved): Call view update here, with
37         update_gui = FALSE.
39         * gdesktop.c (desktop_icon_info_open): Add needs terminal support.
41         * gnome-file-property-dialog.c (create_settings_pane): Add Needs
42         terminal check box
44 1999-02-25  Miguel de Icaza  <miguel@nuclecu.unam.mx>
46         * gaction.c (gmc_open_filename): Add support for needsterminal.
48         * gscreen.c: Add New Folder option to the panel popup.
50 1999-02-25 Owen Taylor  <otaylor@redhat.com>
52         * gdialogs.c (file_delete_query_recursive): GNOME
53         replacement for recursive delete query dialog.
55         * gprefs.c gcustom-layout.[ch]: Add a new page to
56         the preferences dialog to allow the user to change
57         the columns in the custom view.
59 1999-02-24  Miguel de Icaza  <miguel@nuclecu.unam.mx>
61         * gmount.c (desktop_cleanup_devices): Export this routine now and
62         call it from gdeskop instead of overloading gmount_setup_devices. 
64         * gprint.c: Sample file, it uses an externally provided program
65         (not in 1.0 so far) to setup printer devices.
66         
67         * gmount.c (gmount_setup_devices): No longer cleans up here.
69         * gicon.c (gicon_get_filename_for_icon): Return const char *, this
70         tells the user of this routine "you better not touch or free this
71         you dofus".
73         * gnome-file-property-dialog.c (apply_metadata_change): Always set
74         the name of the icon to the new value, as the entry will always
75         match the imlib image anyways (due to the fixes I did to const
76         correctness). 
77         (generate_icon_sel): Do not free the value.  We do not own this
78         return value. 
80         * gdesktop.c (is_mountable): NULL terminate string returned from
81         readlink.  Yes guys, readlink does not NULL terminate things. 
82         (do_mount_umount): ditto.
83         
84         * gnome-file-property-dialog.c (init_metadata): ditto
86 Tue Feb 23 17:41:45 1999  George Lebl  <jirka@5z.com>
88         * gmain.c: set the restart property of the gnome client to
89           RESTART_IMMEDIATELY or RESTART_NEVER if we're gonna quit
91 1999-02-23  Miguel de Icaza  <miguel@nuclecu.unam.mx>
93         * gnome-file-property-dialog.c (gnome_file_property_dialog_new):
94         When dealing with a symbolic link, check the stat info from the
95         real file, not the link.
97         * gscreen.c (panel_tree_drag_data_received): Use path here (which
98         is what is selected on the tree, not panel->cwd).
100         * gdesktop.c (desktop_drag_data_received): Simplify.
102         * gscreen.c (panel_icon_list_drag_data_received): Pass the full
103         path to gdnd_perform_drop.
104         (panel_clist_drag_data_received): same.
106         * gdnd.c (drop_on_directory): We no longer take a file_entry
107         here.  The directory we get passed is already a fully qualified
108         name of the target location.
110         * gwidget.c (x_create_input): Hook to the changed signal and sync
111         the input with our view of the entry.  This fixes the paste bug
112         reported. 
114 Tue Feb 23 01:57:22 1999  George Lebl  <jirka@5z.com>
116         * gmount.c: fix obvious typos, use str in option_has_user, fix
117           mt_opts typo and is_block_device_mountable can't return TRUE nor
118           FALSE, so it returns NULL
120 1999-02-23  Miguel de Icaza  <miguel@nuclecu.unam.mx>
122         * gnome-file-property-dialog.c (apply_metadata_change): Fix memory leak.
124 1999-02-22  Miguel de Icaza  <miguel@nuclecu.unam.mx>
126         * gdesktop.c (desktop_reload_icons): Fix memory leak.
128         * glayout.c (create_new_menu_from): Fix memory leak.
130         * gdesktop.c (desktop_icon_info_open): Launch a panel at the
131         location of the mount point.
133         * gmount.c (setup_devices): Use g_list_free, not g_free.  Fed,
134         test your fixes to my code ;-)
136         * glayout.c (create_container): Add a Desktop menu if the WM is
137         not GNOME compliant.
139         * gdesktop.c (setup_motif_dnd_proxy): Use Window instead of
140         gint32, fix from George Lebl.
141         (setup_xdnd_proxy): ditto.
143 1999-02-18  Federico Mena Quintero  <federico@nuclecu.unam.mx>
145         * gmain.h: Removed set_current_panel() since it was never used.
147         * glayout.c (set_current_panel): Made static and renamed from
148         set_new_current_panel().
149         Removed old toolbar cruft.
151         * gmount.c (get_mountable_devices): Made static.
153         * Makefile.in (ICONS): Added i-floppy.png, i-cdrom.png,
154         i-printer.png.  Thanks, Tigert!
156 1999-02-18  Federico Mena Quintero  <federico@nuclecu.unam.mx>
158         * gmount.c (gmount_setup_devices): New function to set up the
159         mountable devices on the desktop directory.  Moved over from
160         gdesktop.c.  Added an argument that specifies whether it should
161         clean up the device list first.
162         (cleanup_devices): Delete the metadata for the devices.
163         (setup_devices): Free the list of device names.  Use the proper
164         icon for each device.
165         (create_device_link): Better error checking.
167         * gdesktop.c (create_desktop_dir): Use gmount_setup_devices().
168         (desktop_icon_info_destroy): Made static.
169         (desktop_popup_items): The command for rescanning mountable
170         devices should go here.
171         (handle_rescan_devices): Call gmount and refresh the desktop.
173         * gdesktop.h: Removed the declaration of tree_panel_visible, since
174         it has nothing to do with the desktop.
176         * glayout.c (gnome_panel_commands_menu): Removed the recreate
177         devices command.
179         * gdesktop.c (desktop_popup_items): Added a new command to create
180         a file window.
182 1999-02-17  Federico Mena Quintero  <federico@nuclecu.unam.mx>
184         * gdesktop.c (do_mount_umount): Removed unused variable.
185         (do_eject): Return FALSE if there is no eject command.
186         (setup_devices): Removed unused variable.
188         * gdnd.c (drop_on_file): Pass the directory to if_link_is_exe().
189         (gdnd_validate_action): Likewise.
190         (gdnd_perform_drop): Made consistent with the rest of the code by
191         taking the directory name along with the file entry.
192         (gdnd_validate_action): Likewise.
194         * gdesktop.c (icon_drag_motion): Pass the directory to the gdnd
195         functions.
196         (icon_drag_data_received): Likewise.
197         (desktop_drag_motion): Likewise.
198         (desktop_drag_data_received): Likewise.
199         (desktop_icon_info_open): Pass the directory to if_link_is_exe().
201         * gscreen.c (panel_icon_list_drag_data_received): Pass the
202         directory to gdnd functions.
203         (panel_clist_drag_data_received): Likewise.
204         (panel_tree_drag_data_received): Likewise.
205         (panel_clist_drag_motion): Likewise.
206         (panel_icon_list_drag_motion): Likewise.
208 1999-02-17  Miguel de Icaza  <miguel@nuclecu.unam.mx>
210         * gdesktop.c (reload_desktop_icons): Load the information provided
211         on the .desktop file for the desktop icon information: icon
212         filename and text to be displayed.pwd
213         
215         * gpopup.c (create_actions): Add ejectable 
217         * gdesktop.c (do_eject): Add eject command.
219 1999-02-16  Miguel de Icaza  <miguel@nuclecu.unam.mx>
221         * gpopup.c (create_actions): Add support for mountable icons.
223         * gdesktop.c (try_to_mount): Add an option to automatically mount
224         links on the desktop that point to devices. 
225         (is_mountable): Returns true if a pathname is mountable.
227         * glayout.c: Add the dirsizes command here.
229         * gmount.c: New file.  Implements support routines for
230         mount/umount.
231         
232 1999-02-16  Federico Mena Quintero  <federico@nuclecu.unam.mx>
234         * i-symlink.png: Flipped the image around, since we are putting
235         the little icons on the lower-right corner.
236         * i-stalled.png: Likewise.
238         * gicon.c (gicon_get_filename_for_icon): Doh, use image_hash here.
240 1999-02-16  Federico Mena Quintero  <federico@nuclecu.unam.mx>
242         * gicon.c: Lots of changes to support the little symlink/stalled
243         icons that get overlaid on the normal file icons.  We now have the
244         concept of an icon set, which is a cache of normal icons plus
245         their overlaid versions.
247         * gnome-file-property-dialog.c (apply_metadata_change): Use
248         gicon_get_filename_for_icon().
249         (generate_icon_sel): Likewise.
251         * gnome-file-property-dialog.c (create_general_properties): Use
252         buffers of size MC_MAXPATHLEN.
253         (init_metadata): Likewise.
255 1999-02-16  Federico Mena Quintero  <federico@nuclecu.unam.mx>
257         * gmetadata.c: Removed the gmeta_del_icon_pos() function, since it
258         is no longer used anywhere.
260         * gdesktop.c (reload_desktop_icons): Use gnome_metadata_delete()
261         instead of gmeta_del_icon_pos().
262         (desktop_icon_info_delete): Likewise.
263         (desktop_icon_info_destroy): Do not call gnome_metadata_delete().
265 1999-02-15  Federico Mena Quintero  <federico@nuclecu.unam.mx>
267         * gdesktop.c (arrange_desktop_icons): I am such a doofus, I did
268         not initialize two variables here.
270 1999-02-15  Federico Mena Quintero  <federico@nuclecu.unam.mx>
272         * gdesktop.c (reload_desktop_icons): Take auto-positioning and
273         snap-positioning into account.  This is the right thing to do.
274         (get_icon_auto_pos): Do auto-positioning in two steps, first from
275         the requested position to the end of the slot array, then from
276         slot zero forwards if required.
278 1999-02-15  Miguel de Icaza  <miguel@nuclecu.unam.mx>
280         * gcmd.c (gnome_open_terminal_with_cmd): New routine, based on the
281         gnome_open_terminal routine, that will allow the user to specify a
282         command to execute (used internally).
284         * gaction.c (gmc_edit_filename): Support for the GNOME editor
285         environment properties. 
287         * gdesktop.c (create_desktop_dir): Support GNOME_DESKTOP_DIR
288         variable to configure the desktop directory.
290 1999-02-15  Federico Mena Quintero  <federico@nuclecu.unam.mx>
292         * mc.keys.in.in: Use "gnome-moz-remote file:%d/%f" for the html
293         file actions.
295         * gscreen.c (toolbar): Added a "rescan" button.
297         * gprefs.c (create_prop_box): Make the preferences dialog modal.
298         Also, set the window title and set the window's parent.
299         Removed some unused functions.
301 1999-02-14  Federico Mena Quintero  <federico@nuclecu.unam.mx>
303         * gdesktop.c (desktop_popup): Handle popup menus for the desktop.
304         (arrange_desktop_icons): New function to auto-arrange the desktop
305         icons.
306         (reload_desktop_icons): Take care of positioning the new icons by
307         ourselves; do not rely on desktop_icon_info_new() to do it.
308         (remove_from_slot): Reset the icon's slot to -1.
309         (reload_desktop_icons): Show all the icons after they have been
310         loaded, instead doing it one by one.
312         * gscreen.c (file_list_popup): Handle popup menus for the blank
313         areas of the file panels.
314         (panel_icon_list_button_press): Call file_list_popup().
315         (panel_file_list_press_row): Likewise.
317 1999-02-14  Sergey Panov <sipan@mit.edu>
319         * glayout.c: Fixed my own stupid typo( stock ID instead of NULL)
320         it was not critical. A few minor, rather cosmetic changes in
321         GnomeUIInfo structures.
323 1999-02-13  Federico Mena Quintero  <federico@nuclecu.unam.mx>
325         * mc.keys.in.in: Use Tigert's new icon for man pages.
327 1999-02-12  Miguel de Icaza  <miguel@nuclecu.unam.mx>
329         * gdialogs.c (file_mask_dialog): Renaming files was not working
330         due to having the "file-must-exist" bit turned on.
332         * gnome-file-property-dialog.c (apply_metadata_change): Metadata
333         rename the file.  
335         Change fpd->file_name to point to the new name so that any
336         metadat changes take effect on the new name, not the old name.
338         Test return value from move_file_file.
339         
340         (init_metadata): Fixed typo.
342 1999-02-12  Federico Mena Quintero  <federico@nuclecu.unam.mx>
344         * mc.metadata.in: Added a regexp for EPS files.
346         * mc.keys.in.in: Use Tigert's new icon for Postscript files.
347         Possible FIXME: are there different MIME types for PS and EPS
348         files?
350 1999-02-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>
352         * gdesktop-icon.c (set_icon): Do not destroy the image if it is
353         the same as the old one.  Sigh, imlib really needs proper
354         refcounting.
356         * gscreen.c: Use gpopup_do_popup() until the new version is
357         finished.
359         * gpopup2.c (create_actions): Made the action selection logic
360         simpler.
361         (gpopup_do_popup2): Now can only operate on panels.
362         (file_actions): Sanitized the actions a bit.
364         * gutil.c (my_system_get_child_pid): sa_handler must be
365         gnome_sigchld_handler, not gnome_sigchld_installed.
367         * gpopup.c (dicon_properties): Do not call reread_cmd().  This is
368         a hack until the menus for panels/desktop are finished.
370         * gscreen.c (panel_file_list_press_row): Use gpopup_do_popup2().
372 1999-02-11  Miguel de Icaza  <miguel@nuclecu.unam.mx>
374         * gutil.c (my_system_get_child_pid): Implement a erase-temp-file
375         when child dies instead of waiting for child that was launched
376         from shell/temp-file to finish.
378 1999-02-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>
380         * gdesktop.c (desktop_icon_info_place): Better icon placement by
381         rounding to the proper slot number.
382         (select_range): Simpler range selection for exact Windows behavior.
384         * gdnd.c (drop_on_directory): Do not ask for the action twice.
385         This was a leftover from a bit of code reorganization.
387         * gscreen.c (panel_icon_list_button_press): Fixed "=" -> "!="
388         typo.
390 1999-02-10  Miguel de Icaza  <miguel@nuclecu.unam.mx>
392         * gaction.c (gmc_open_filename): Add support for running .desktop
393         files. 
394         Made const correct.
395         (gmc_view): Made const correct.
397 1999-02-10  Federico Mena Quintero  <federico@nuclecu.unam.mx>
399         * Makefile.in (ICONS): Added i-fifo.png to the list of icons.
401         * gicon.c (gicon_init): Load the proper FIFO and socket icons.
402         (gnome_file_entry_color): Return the proper icon for FIFOs.
404         * i-fifo.png: Added this file, and made i-sock.png be the right
405         image (thanks, Tigert!).
407         * gscreen.c (ILIST_FROM_SW): New macro to extract the icon list
408         from the scrolled window.
409         (panel_create_icon_display): Create a scrolled window and put the
410         icon list inside it.  Changed the rest of the code to know about
411         this.
413         * gcorba.c (do_window_close): It turns out that we *do* need to
414         call CORBA_free().  It was a bug in ORBit which was causing this
415         to crash.
417 1999-02-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
419         * gdesktop.c (drag_end): Reload the desktop when a drag from the
420         desktop terminates (the user may have moved something away).
422 1999-02-09  Miguel de Icaza  <miguel@nuclecu.unam.mx>
424         * gcorba.c (do_window_close): Removed call to CORBA_free, as
425         PortableServer_POA_deactivate_object already calls CORBA_free on
426         the object.
428 1999-02-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
430         * glayout.c (gnome_close_panel_event): This function should return
431         FALSE.
433         * gcorba.c (corba_init): Cast poa to PortableServer_POA.
434         (impl_GNOME_FileManagerWindow_close): Call gnome_close_panel(); do
435         not destroy the widget by hand.
437         * gcmd.c (gnome_close_panel): This function should be void.
439         * gpopup2.c (popup_handle_rescan): Call reread_cmd().
441         * gscreen.c (panel_icon_list_button_press): Return TRUE if we
442         handled a popup menu.
444 1999-02-09  Miguel de Icaza  <miguel@nuclecu.unam.mx>
446         (impl_GNOME_FileManagerFactory_create_window): Fix bug
447         spooted by federico.  I was connecting to the wrong signal.
449 1999-02-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
451         * gtkdtree.c (gtk_dtree_class_init): Added two new signals,
452         scan_begin and scan_end.
453         (gtk_dtree_expand): Call scan_begin() and scan_end().
454         (gtk_dtree_select_row): Call scan_begin() and scan_end().
455         (gtk_dtree_expand): Use gtk_ctree_select(), not gtk_dtree_select_row().
456         (gtk_dtree_collapse): Select the node when it is collapsed.
458         * gscreen.c (panel_create_tree_view): Added handlers for the
459         scan_begin and scan_end signals of the tree -- these will set the
460         cursor to a watch while the tree is being scanned.
462 1999-02-08  Miguel de Icaza  <miguel@nuclecu.unam.mx>
464         * gdesktop.c (desktop_icon_info_destroy): Delete the metadata
465         associated with this icon.
467 1999-02-07  Miguel de Icaza  <miguel@nuclecu.unam.mx>
469         * gwidget.c (entry_click): On mouse clicks, mark the input as
470         changed-without destroy.
472 1999-02-07  Federico Mena Quintero  <federico@nuclecu.unam.mx>
474         * gscreen.c (x_create_panel): Removed a couple unused variables.
476 1999-02-07  Miguel de Icaza  <miguel@nuclecu.unam.mx>
478         * gtkdtree.c (gtk_dtree_select_row): Disable row selection when
479         were are removing entries from the tree.
481         * gutil.c (my_system_get_child_pid): Fix.  We always wait for the
482         child process.
484         * gtkdtree.c (gtk_dtree_lookup_dir): Scan the whole tree.
485         Appanrently now the nodes expose are not ordered, but can contain
486         holes and gaps
488 1999-02-06  Federico Mena Quintero  <federico@nuclecu.unam.mx>
490         * gtkdtree.c (gtk_dtree_insert_node): This function was never
491         returning the newly-created sibling.
493 Sun Feb  7 05:29:17 1999  Timur Bakeyev <mc@bat.ru>
495         * Makefile.in: Remove references and dependences to/from libslang -
496         we don't need this in GNOME. Changed the order of linking - libgtkedit
497         require libgnomeui.a, so swap $(LDFLAGS) and $(EXTRALIBS). The same for
498         corba edition.
499         
500         gdnd.c, gmetadata.c, gpopup2.c, gtools.c: Adde #include "global.h" or
501         move it before #include <gnome.h> to avoid warnings about redefining
502         MIN, MAX nad RE_DUP_MAX. More clean compiling.
503         
504         * gpopup2.h: New file - to avoid errors during "make distcheck". What
505         it is for, really?
507 1999-02-06  Miguel de Icaza  <miguel@nuclecu.unam.mx>
509         * gnome-file-property-dialog.c (apply_metadata_change): #include
510         string.h and replace references to rindex to strrchr.
512 1999-02-07  Tomas Ogren  <stric@ing.umu.se>
514         * glayout.c, gnome-file-property-dialog.c: s/rindex/strrchr/
515         To get rid of BSDism and make it compile on solaris 2.6
517 1999-02-06  Ettore Perazzoli  <ettore@comm2000.it>
519         * gscreen.c (x_create_panel): The location bar is now a simple
520         GtkHBox instead of a GtkToolbar, and as a consequence the location
521         entry widget is expanded to fill all of the window horizontally.
523 1999-02-05  Federico Mena Quintero  <federico@nuclecu.unam.mx>
525         * gdesktop.c (drag_data_get): Set the Netscape URL from the icon
526         if it is available.  Wheee!  We can now drop icons onto Netscape.
528         * gmain.h: Added prototype for gmc_open_filename().
530         * gdesktop.c (desktop_icon_info_open): Fixed call to
531         gmc_open_filename().  See why it is good to have prototypes? :-)
533         * gdnd.c (perform_action): Oops.  Removed a leftover "break" that
534         was causing the loop to exit, so you could not operate on more
535         than one file.
537 1999-02-05  Miguel de Icaza  <miguel@nuclecu.unam.mx>
539         * gpopup2.c (popup_handle_properties): Update the URL information
540         on change.
542         * gnome-file-property-dialog.c (generate_actions_box): Fix memory leak.
543         (create_general_properties): Fix memory leak.
545         * gdesktop.c (desktop_icon_update_url): New function.  Updates any
546         changes done to the url/caption on the file-property-dialog.
548         * gnome-file-property-dialog.c
549         (gnome_file_property_dialog_finalize): Release all of the
550         resources allocated (metadata routines alwayre return an allocated
551         block of memory).
553         Add support for changing the url an icon points to and the caption.
555         * gdnd.c (drop_url_on_directory): Better set the icon-filename
556         metadata entry instead of hard coding it.
558 1999-02-05  Jonathan Blandford  <jrb@redhat.com>
560         * gcmd.c (gnome_reverse_selection_cmd_panel): new function -- does
561         good things
563         * gscreen.c (panel_icon_list_select_icon): uses new popup menu
564         (panel_icon_list_button_press): ditto
566         * gpopup2.c (gpopup_do_popup2): new implementation of popup
567         menu.  Many changes -- almost all internal.  Much cleaner now...
568         Off to England.
570 1999-02-05  Miguel de Icaza  <miguel@nuclecu.unam.mx>
572         * gicon.c (gicon_get_url_image): Return an image for url types.
573         (gicon_init): Load the url image.
575         * gdesktop.c (desktop_icon_info_new): Use an URL image for
576         desktop-urls.   Use the url as the caption for those icons. 
577         
578 1999-02-04  Jonathan Blandford  <jrb@redhat.com>
580         * gprefs.c (caching_and_optimization_props): wording changes
582 1999-02-04  Miguel de Icaza  <miguel@nuclecu.unam.mx>
584         * gdesktop.c (desktop_icon_info_open): Run "execute" if the file
585         is an executable.  I forgot that gmc_open does not test for
586         executable-ness. 
588 1999-02-04  Jonathan Blandford  <jrb@redhat.com>
590         * gnome-file-property-dialog.c (apply_uid_group_change): Bug fix.
591         (apply_metadata_change): Another bug fix.
593 1999-02-03  Federico Mena Quintero  <federico@nuclecu.unam.mx>
595         * gdnd.c (gdnd_validate_action): Show the correct feedback when
596         dragging URLs.
598 1999-02-03  Miguel de Icaza  <miguel@nuclecu.unam.mx>
600         * gdesktop.c (desktop_icon_info_open): Use gmc_open_filename
601         instead of the stuff that goes trough a file_entry as we loose the
602         full pathname.
604         * gnome-file-property-dialog.c (generate_actions_box): Tag "open"
605         for translation
606         (apply_metadata_change): Use fm-open instead of fm_open for the
607         metadata keys.
609         * gscreen.c (panel_file_list_configure_contents): Make the icon on
610         the type column be displayed.
611         (panel_file_list_select_row): Removed dead code.
612         (panel_file_list_press_row): Select the row before calling
613         gpopup_do_popup. 
615 1999-02-03  Federico Mena Quintero  <federico@nuclecu.unam.mx>
617         * gscreen.c (drop_types): Allow dropping URLs on file panels.
619         * gdnd.c (gdnd_validate_action): Added an "on_desktop" argument;
620         this specifies that the user is dragging over the desktop.  Added
621         cases for drags of desktop icons and URLs.
622         (gdnd_perform_drop): New public function to handle drops.  This is
623         now the master function to handle drops -- use this to make all of
624         MC consistent.
625         (drop_on_directory): Made static and renamed from
626         gdnd_drop_on_directory().  Made it fit for use by
627         gdnd_perform_drop().
628         (drop_url_on_directory): New function to drop an url on a
629         directory, moved over from gdesktop.c.
630         (drop_uri_list_on_directory): New function to handle drops of URI
631         lists on a directory.
632         (drop_on_file): New function to handle drops on a non-directory
633         file entry.  This is moved over from gdesktop.c,
634         desktop_icon_drop_uri_list().  This is yet to be finished.
636         * gdesktop.c (desktop_icon_drop_uri_list): Fix memory leak.
637         (desktop_drag_motion): Use gdnd_validate_action().
638         (dnd_icon_targets): Allow dropping URLs on icons.
639         (icon_drag_motion): Use gdnd_validate_action().
640         (desktop_drag_data_received): Use gdnd_perform_drop().
641         (icon_drag_data_received): Use gdnd_perform_drop().
643         * gscreen.c (panel_icon_list_drag_data_received): Use
644         gdnd_perform_drop().
645         (panel_clist_drag_data_received): Use gdnd_perform_drop().
646         (panel_tree_drag_data_received): Use gdnd_perform_drop().
648         * gcmd.c (gnome_about_cmd): Fixed Foundation typo, and updated the
649         copyright date.
651 1999-02-02  Miguel de Icaza  <miguel@nuclecu.unam.mx>
653         * gnome-file-property-dialog.c (create_general_properties): Use
654         strrchr instead of rindex
656 1999-02-01  Miguel de Icaza  <miguel@nuclecu.unam.mx>
658         * gdesktop.c: Init gicon here to avoid crashing when we have the
659         metadata database locked.  Not really important, but makes the
660         code cleaner (in terms of fixes).
662 1999-01-27  Miguel de Icaza  <miguel@nuclecu.unam.mx>
664         * gnome-file-property-dialog.c (icon_sel_callback): Fix the
665         conditional here.
666         
667 1999-02-01  Federico Mena Quintero  <federico@nuclecu.unam.mx>
669         * gdesktop.c (desktop_drag_motion): If the user is dragging a
670         Netscape url, allow ACTION_LINK.
671         (setup_desktop_dnd): Now we use a single GtkInvisible widget to
672         proxy both DnD and clicks on the desktop.
673         (setup_motif_dnd_proxy): New function to set up a widow as a Motif
674         DnD proxy (to allow drops from Netscape, for example).
675         (setup_desktop_click_proxy_window): Use the proxy_invisible widget.
676         (drop_url): Reload desktop icons after creating the url entry.
677         (desktop_icon_info_place): Allow a drop from something other than
678         a desktop icon to be placed where the user wants.
679         (desktop_drag_motion): Unconditionally specify ACTION_MOVE if we
680         are dragging a desktop icon.
681         (desktop_icon_info_place): Remove the icon from its slot before
682         calling the smart-positioning routines.
684 1999-01-31  Federico Mena Quintero  <federico@nuclecu.unam.mx>
686         * gdesktop.c (reload_desktop_icons): Reload the icon image for a
687         file that already exists in the desktop, because it may have
688         changed.
690         * gdesktop-icon.c (desktop_icon_reshape): Center the text
691         correctly if the user is using huge icons.
693 Mon Feb  1 00:49:18 1999  Timur Bakeyev <mc@bat.ru>
695         * gscreen.c (panel_configure_file_list): Add central justification,
696         as we got it (useless, imho :)
698 Sun Jan 31 19:42:47 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>
700         * Makefile.in (install_mx): make it work with srcdir != builddir
701         (gmc.gnorba is located in $srcdir)
703 1999-01-29  Miguel de Icaza  <miguel@nuclecu.unam.mx>
705         * gdesktop.c (reload_desktop_icons): Move metadata_unlock after
706         the positioning loop (as we use the metadata there too).
707         (desktop_icon_info_new): Accept a new parameter: url.
708         (drop_url): New function.  Creates the files that represent urls
709         on the desktop.
710         (text_changed_url): New routine to handle url-renames
712         Use the metadata "desktop-url" property to figure out if an icon
713         represents an url.
715 1999-01-28  Jonathan Blandford  <jrb@redhat.com>
717         * gnome-file-property-dialog.c (create_settings_pane): We only let
718         you set info if we are a regular file, or a link to a regular file.
720         * gdesktop-icon.c (desktop_icon_reshape): Cut-n-paste error fixed
721         by Quartic.
723 1999-01-27  Jonathan Blandford  <jrb@redhat.com>
725         * gnome-file-property-dialog.h (struct _GnomeFilePropertyDialog):
726         Now make open field mandatory and icon selection optional.
727         * gnome-file-property-dialog.c: as above
728         
729         * gpopup.c (panel_action_properties): only allow setting images if
730         we_can_afford_the_speed.
732         * gicon.c: make we_can_afford_the_speed non-static
734 1999-01-27  Miguel de Icaza  <miguel@nuclecu.unam.mx>
736         * gcorba.c: Provide new code to activate an existing
737         FileManagerFactory factory.
739         installed gmc is now corba-gmc.  plain-gmc is still available if
740         you want it.
742 Thu Jan 28 02:15:48 1999  Timur Bakeyev <mc@bat.ru>
744         * gdialogs.c: fixed "regexp.h" -> "eregexp.h" conversion.
745         
746         * oldnd.c: Replaced copy_strings() with g_strconcat().
747         
748 1999-01-26  Federico Mena Quintero  <federico@nuclecu.unam.mx>
750         * gscreen.c (panel_clist_motion): Stop the emission of the
751         motion_notify_event signal so that it does not reach the clist.
752         We do not want it to select rows while dragging.
753         Replaced copy_strings() with g_strconcat().
755         * gdnd.c (gdnd_validate_action): Do not override GDK_ACTION_ASK.
757         * gdesktop.c: Updated the TODO list at the top of the file.
759 Wed Jan 27 03:14:46 1999  Timur Bakeyev <mc@bat.ru>
761         * Converted memory managment to Glib - where it wasn't done. Now we 
762         use g_new()/g_malloc()/g_strdup()/g_free() routings. copy_strings() re-
763         placed by g_strconcat(), and sprintf() by g_snprintf(). Some other,
764         minor changes.
766 1999-01-26  Federico Mena Quintero  <federico@nuclecu.unam.mx>
768         * gscreen.c (panel_setup_drag_scroll): Renamed from
769         panel_setup_drag_motion().
770         (panel_clist_drag_motion): Use gdnd_validate_action().
771         (panel_clist_motion): Return immediately if the event window is
772         not the clist_window.  Otherwise, forward the event to
773         panel_widget_motion().
775         * gdnd.c (gdnd_find_panel_by_drag_context): New public function to
776         find a panel based on a drag context.  This is basically the old
777         find_panel_owning_window() made public.
778         (gdnd_drop_on_directory): Test for the source widget being a tree,
779         and if so, do not use the default behavior for panels.
780         (gdnd_validate_action): New function to compute the final drag
781         action given some conditions.  This is now used to make dragging
782         behavior consistent across the desktop and the file panels.
784 1999-01-26  Jonathan Blandford  <jrb@redhat.com>
786         * gnome-file-property-dialog.c: Many Many Many changes.  Now it's
787         pretty cool.  You can set all meta-data but the icon now.  Need to
788         make gmc do the right thing with it, though.
790 1999-01-25  Miguel de Icaza  <miguel@nuclecu.unam.mx>
792         * gtkdtree.c (gtk_dtree_select_row): This should be also protected 
793         against async notifications.
795 1999-01-25  Federico Mena Quintero  <federico@nuclecu.unam.mx>
797         * gscreen.c (panel_create_icon_display): Only use
798         GTK_DEST_DEFAULT_DROP since we want to do exotic stuff in the
799         drag_motion handler to validate drops.
800         (panel_icon_list_drag_motion): Use gdnd_validate_action().
802         * gdnd.c (gdnd_drop_on_directory): Removed hack that prevented the
803         user from dropping files on the same panel as the source one.
804         This should not be done here.
806         * gdnd.c (get_action): Sensitize the menu items based on the
807         allowed actions in the drag context.
808         (actions): Add some underlined accelerators for the action menu.
810         * gdesktop.c (icon_drag_motion): Use S_ISDIR() in addition to
811         fe->f.link_to_dir.
813         * gscreen.c (panel_file_list_scrolled): Removed this function, as
814         it was not used for anything useful.
816         * gdnd.c (gdnd_drop_on_directory): Duh.  Use context->action, not
817         context->suggested_action.
819 1999-01-24  Miguel de Icaza  <miguel@nuclecu.unam.mx>
821         * gtkdtree.c (gtk_dtree_load_path): Keep track of when we are
822         loading the tree (and thus we do not care about async
823         notifications to the tree state changes) and when we are done (and
824         thus, we care about the async treestore structure notifications). 
826 1999-01-23  Miguel de Icaza  <miguel@nuclecu.unam.mx>
828         * gcmd.c (ep_add_callback): Set Window's position to
829         GTK_WIN_POS_MOUSE.
830         (gnome_external_panelize): ditto.
831         (gnome_filter_cmd): ditto.
833         * gdialogs.c (file_progress_query_replace_policy): Set Window's
834         position to GTK_WIN_POS_MOUSE. 
835         (file_progress_real_query_replace): ditto.
836         (file_mask_dialog): ditto.
838         * gdialogs.c: Tag the strings for localization.  Remove debugging
839         messages. 
841         * gmain.c (gmc_window_setup_from_panel): Helper routine used to
842         set the GTK_WIN_POS_MOUSE on a window and set the parent with
843         gnome_dialog_set_parent (iff you have the WPanel * pointer to the
844         parent). 
846         * gtools.c (query_dialog): Set the window position to GTK_WIN_POS_MOUSE.
848         * gtkdtree.c (gtk_dtree_destroy): Kill the add_entry notification hook.
849         (gtk_dtree_init): Install a notification function for treentry.
850         removal.
851         (entry_added_callback, entry_removed_callback): Implemented.  Now
852         the tree is in sync with the panels and reload will update the
853         tree correctly.
855 1999-01-22  Federico Mena Quintero  <federico@nuclecu.unam.mx>
857         * gdesktop-icon.c (set_text): Update the call to
858         gnome_icon_text_item_configure() for the new API.
860 1999-01-21  Federico Mena Quintero  <federico@nuclecu.unam.mx>
862         * gdesktop.c (desktop_drag_data_received): Do not force links on
863         the desktop.
865         * gscreen.c (panel_create_file_list): Do not use
866         GTK_DEST_DEFAULT_ALL for the drop site.  Only use
867         GTK_DEST_DEFAULT_DROP, since we need to check motion ourselves.
868         (panel_clist_drag_motion): Do not allow dropping on the clist buttons.
869         (panel_clist_button_press): Do not assign the
870         panel->maybe_drag_start flag if the user clicked outside the clist_window.
872         * gdesktop.h: Removed old crud (desktop_icon_t, icon_t).
874         * gscreen.c (drag_types, drop_types): Use the constants from gdnd.h.
876 1999-01-21  Jonathan Blandford  <jrb@redhat.com>
878         * gnome-file-property-dialog.c (apply_uid_group_change): uh, lets
879         do this in Octal. (:
881         * glayout.c: comment out compare panels.
883         * gnome-file-property-dialog.h: new file.  This is a new widget
884         for the file-properties dialog.  It doesn't handle mode changes
885         quite right yet, but does everything else beautifully...
887         * gnome-file-property-dialog.c: new file
889         * gpopup.c (panel_action_properties): use new dialog
890         (dicon_properties): as above.
892 1999-01-21  Federico Mena Quintero  <federico@nuclecu.unam.mx>
894         * gscreen.c (panel_create_file_list): Added GDK_ACTION_ASK to the
895         destination actions.
896         (panel_create_icon_display): Likewise.
897         (panel_create_tree_view): Likewise.
899         * gdesktop.c (desktop_drag_motion): If the user explicitly
900         requested action ASK, then do not make feedback show MOVE.
902         * gscreen.c (panel_widget_motion): Pass in all drag actions now
903         that Gtk handles button 2 by itself.
905         * gdesktop.c (icon_event): Also delay the call to select_icon()
906         until button release if the icon is selected and there are no
907         modifier keys pressed.  This lets us perform drags on
908         multi-selections easily.
910 1999-01-21  Federico Mena Quintero  <federico@nuclecu.unam.mx>
912         * gdesktop.c (setup_icon_dnd_dest): Always specify ACTION_MOVE,
913         since we want to be able to move the icons around.  Connect to the
914         drag_motion signal.
915         (dnd_icon_targets): List desktop icons as a target to be able to
916         move them just a notch in the desktop.
917         (icon_drag_motion): Decide which action we can use for dropping
918         stuff on a desktop icon.
919         (setup_icon_dnd_dest): Always specify all the actions.
920         (icon_drag_data_received): Allow for icons to be moved just a
921         notch by accepting drops from icons.
923         * gdnd.h: Added #defines for the DnD target type names.
925         * gdnd.c (gdnd_init): New public function to intern the target
926         atom names.
927         (gdnd_drag_context_has_target): New public function to see if a
928         drag context has a certain target type.
930         * gdesktop.c (setup_desktop_dnd): Do not use
931         GTK_DEST_DEFAULT_MOVE, and connect to drag_motion.
932         (desktop_drag_motion): If we are dragging from a desktop icon,
933         indicate the action as MOVE.  Otherwise, force the action to be
934         LINK unless the user explicitly requested ASK.
935         (setup_desktop_dnd): Intern the atoms for the drop targets.
937 1999-01-20  Miguel de Icaza  <miguel@nuclecu.unam.mx>
939         * gscreen.c: Selection code now is simpler and should be easier to
940         use in the listing modes.
942 1999-01-20  Federico Mena Quintero  <federico@nuclecu.unam.mx>
944         * gicon.h (gicon_image_to_name): Added prototype for
945         gicon_image_to_name().
947         * gicon.c (gicon_get_icon_for_file): 
948         (gicon_get_icon_for_file_speed): Added a "directory" argument.
949         It is needed because the file_entry structure only contains the
950         pruned filename, and we need the complete name for the metadata
951         functions.
953         * gdesktop.c (desktop_icon_info_new): Pass the directory to
954         gicon_get_icon_for_file_speed().
956         * gpageprop.c (item_properties): Build the directory name and pass
957         it to gicon_get_icon_for_file_speed().
959         * gscreen.c: Do not #include "directory.xpm".  Do #include "setup.h".
960         Removed unused function button_switch_to().
962         * gscreen.c (panel_fill_panel_icons): Pass the directory to
963         gicon_get_icon_for_file().
965         * gscreen.c (panel_create_tree_view): Allow button 2 to start the
966         drag as well.
967         (panel_clist_scrolling_is_desirable): Make both scrolling
968         thresholds consistent.  Also, do not allow scrolling past the
969         correct limit.
970         (panel_icon_list_scrolling_is_desirable): Likewise.
971         (panel_tree_scrolling_is_desirable): Likewise.
972         (panel_clist_scroll): Do not allow scrolling past the correct limits.
973         (panel_icon_list_scroll): Likewise.
974         (panel_tree_scroll): Likewise.
976 1999-01-19  Federico Mena Quintero  <federico@nuclecu.unam.mx>
978         * gscreen.c (panel_create_icon_display): Do not set the style of
979         the icon list.
981 1999-01-20  Miguel de Icaza  <miguel@nuclecu.unam.mx>
983         * gprefs.c (apply_callback): Update the directory contents after
984         the settings have changed.
986 1999-01-19  Jonathan Blandford  <jrb@redhat.com>
988         * gdialogs.c (file_op_context_create_ui): OP_DELETE now has it's
989         very own dialog. whee.
991         * gscreen.c (panel_create_pixmaps): now we use dir-open.xpm
992         instead of the (apparently) ugly yellow one.
994 1999-01-19  Miguel de Icaza  <miguel@nuclecu.unam.mx>
996         * gtkdtree.c (gtk_dtree_select_row): Wonder why the code was
997         returning for the clicks on the root node.
999 1999-01-19  Jonathan Blandford  <jrb@redhat.com>
1001         * gprefs.c: applied a heavily modified patch by Dave Camp
1002         <campd@oit.edu>  The preference box now works.
1004 1999-01-18  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1006         * gtkdtree.c (gtk_dtree_construct): And the GTK+ people broke the
1007         API again.
1009 1999-01-18  Jonathan Blandford  <jrb@redhat.com>
1011         * gscreen.c (x_create_panel): chnaged padding on the Filter label
1012         (do_ui_signal_connect): new view switching code.  Toolbar now works
1013         (go_home): new function -- takes one home
1015         * gtkdtree.c (gtk_dtree_construct): change ctree_set_reorderable.
1017 1999-01-18  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1019         * gdesktop.c (icon_event): Rewrote event handling for icons on the
1020         desktop.  This function handles button presses and releases and
1021         does some anal-retentive checking to avoid stuck pointer grabs.
1022         (icon_event_after): New fallback function for button presses.
1023         This is only called when an icon is being edited and the user
1024         clicks outside the icon's text item, indicating that editing
1025         should be accepted and terminated.
1026         (selection_stopped): New callback used to re-install the mouse
1027         grab once the icon text item stops selecting text.
1029         * gdesktop.h (DesktopIconInfo): Removed the finishing_selection
1030         flag now that the event handling code is cleaned up.
1032 1999-01-17  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1034         * gpageprop.c (item_properties): Use the metadata information for this.
1035         (item_properties): Set the icon-filename metadata bit
1037 1999-01-15  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1039         * glayout.c (create_new_menu_from): Handle both the system dir and
1040         the locally installed directory.
1042 1999-01-14  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1044         * gtkdtree.c (gtk_dtree_do_select_dir): Select the node, and test
1045         against full visibility of a node.
1047         * gscreen.c (panel_fill_panel_icons): While loading the icon list,
1048         mark those items that are selected as, well, ahem, selected.
1049         (x_fill_panel): Use the system getwd routine to find out the real
1050         location in the file system
1052 1999-01-13  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1054         * gpageprop.c (item_properties): Use file contexts appropriately.
1056         * gdnd.c (perform_action): Use file contexts appropriately.
1058 1999-01-13  Jonathan Blandford  <jrb@redhat.com>
1060         * glayout.c (create_container): finished the New->menu.  Looks
1061         better now.
1062         (create_container): Moved the statusbar creaton.  Now you can get
1063         the hints.
1065         * gcmd.c (gnome_run_new): new function.
1067         * glayout.c (create_container): beginnings of the New-> menu.  It
1068         doesn't have much yet, hopefully we'll have a good way to let apps
1069         register themselves with it.
1071 1999-01-13  bertrand <Bertrand.Guiheneuf@inria.fr>
1072         
1073         * gdialogs.c
1074         * gwidget.c: 
1075         * gprop.c: 
1076         s/gtk_toggle_button_state/gtk_toggle_button_active
1078 1999-01-12  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1080         * gdesktop.c (desktop_icon_info_delete): Pass the file operation
1081         context to erase_dir() and erase_file().
1083         * gcmd.c (gnome_sort_cmd): Cast the sort functions to avoid
1084         warnings.
1086         * gdialogs.c: Converted to use FileOpContext.
1088         * gmain.h: Added some prototypes needed in the Gnome version.
1090 1999-01-12  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1092         * gdesktop.c (desktop_drag_data_received): Drops on the desktop by
1093         default will always be Link commands.  If the user wants to
1094         copy/move he needs to use the button-2 to do this.
1095         (desktop_icon_info_delete): Treat links as files, not directories.
1097         I have got enough complaints about this.
1098 1999-01-12  Jonathan Blandford  <jrb@redhat.com>
1100         * gcmd.c (gnome_open_files): now you can open multiple files.
1101         * glayout.c: layout changed some.  moved run command.
1102         commented out ftplink/mkdir command for now.  gonna do mkdir
1103         next.  Why is the ftplink command needed?
1105 1999-01-12  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1107         * glayout.c (run_cmd): Add run command.  Add back FTP link
1108         command.  Add Mkdir command.  Use standard key definitions.
1110         * gview.c: Use new standard keybindings
1111         
1112         * gtkdtree.c: Now it uses the treestore code.
1114         * treestore.c: New file format which includes the scan status of
1115         the directories.
1117         * treestore.c: Provide _opendir, _readdir, _closedir operations
1118         for the tree cache.
1120         Next step: load/save the tree_entry->scanned flag (without this,
1121         you wont notice a big speedup).
1123 1999-01-10  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1125         * gutil.c (my_system_get_child_pid): Acknowledge new EXECUTE_WAIT
1126         flag.  This is required by the vfs code.
1128 1999-01-06  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1130         * gscreen.c (panel_create_file_list, panel_create_icon_display):
1131         I got excited adding the gtk_drag_source_set.  I generate those
1132         events myself, no need to put them here.
1134 1999-01-04  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1136         * gwidget.c (stock_from_text): Return this value.
1138 1999-01-08  Jonathan Blandford  <jrb@redhat.com>
1140         * glayout.c: now open the new (non-functional) dialog box.  If you
1141         want functionality, I suppose you could put the old one back in.
1142         I'll work on it more this weekend, though, so hopefully it can get
1143         back to the old state relatively quickly.
1144         * gprefs.c (gnome_configure_box): New function, new file, first
1145         start at unified properties box.
1147 1999-01-07  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1149         * gscreen.c (panel_icon_list_select_icon): Remove debugging message.
1151         * glayout.c: Add a create directory option.
1152         
1153 1999-01-07  Jonathan Blandford  <jrb@redhat.com>
1155         * gcmd.c (gnome_filter_cmd): now it works!  It's even sorta
1156         useful.  I'm so psyched... (:
1157         
1159 1999-01-07  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1161         * gscreen.c (panel_icon_list_drag_data_received): Do not update
1162         contents if nothing was done (ie, the drop was cancelled).
1163         (panel_create_file_list): Duh.  Restore this, as, ahem, we dont
1164         have banding selection on CList.
1165         (panel_icon_list_select_icon): Open the new panel only on button
1166         release.
1167         (panel_file_list_select_row): New panel started on clist when you
1168         press middle button.
1170         (panel_create_file_list): Ahaha!  I found that CList now has a
1171         gtk_clist_set_buttion_actions.  Go figure why we need this and why
1172         it was implemented, but now buttons work as they should on clist.
1174         * gdnd.c (gdnd_drop_on_directory): Do nothing if the files dragged
1175         are on the same directory we are.
1177 1999-01-07  Jonathan Blandford  <jrb@redhat.com>
1179         * gcmd.c (gnome_filter_cmd): Function filled in now.  Actually
1180         works (amazing!.)  Next: put a history on it, and maybe an event
1181         box for the label.
1183         * glayout.c: use the function below.
1185         * gcmd.c (gnome_filter_cmd): New function (or a sorry excuse for
1186         one, anyway...)
1188         * gscreen.c (x_create_panel): now uses gnome-appbar instead of the
1189         old, psuedo status bar.
1191 1999-01-06  Jonathan Blandford  <jrb@redhat.com>
1193         * gcmd.c (gnome_external_panelize): Now it works.  Just need to save
1194         results so the next time works.  Will do this tomorrow.
1195         (gnome_external_panelize): think I finished this now.
1197 1999-01-05  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1199         * gdesktop-icon.c (desktop_icon_realize): Make icons sticky as
1200         well.
1202         * gpageprop.c (item_properties): Use a file operation context.
1203         * gdnd.c (perform_action): Likewise.
1204         * gdesktop.c (desktop_icon_info_delete): Likewise.
1206         * Makefile.in: Added fileopctx.o.
1208 1999-01-05  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1210         * gdesktop.c (desktop_icon_drop_uri_list): Implement
1211         drops-on-executable. 
1213         * gmetadata.c, gaction.c, gdesktop.c, gicon.c: Use g_free instead
1214         of free to follow the convention in gnome-metadata.c
1216         * gtools.c (query_dialog): Fix the new version of this.  It was
1217         overwriting memory all over.
1219         * gdialogs.c (): Use GNOME stock;  Fill in some FIXME strings. 
1220         (file_progress_real_query_replace): Use the formatted
1221         message. 
1223         Change the inlined N_( for _( in various places. 
1224         (cancel_cb): Cancel button now cancels a copy or move operation.
1226         * gtools.c (query_dialog): Remove the hotkey indicator in the
1227         gnome version specific query_dialog box.
1229 1999-01-05  Jonathan Blandford  <jrb@redhat.com>
1231         * gcmd.c (gnome_external_panelize): mostly hooked up now.
1232         will finish tomorrow (shouldn't take very long...)
1234 1999-01-04  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1236         * Makefile.in (GNOMESRCS): Removed temp-hack.c from the list of
1237         sources.
1238         (GNOMEHDRS): Ditto for gdialogs.h.
1240         * gscreen.c (x_create_panel): Removed periods from the toolbar
1241         button tooltips.
1243 1999-01-04  Jonathan Blandford  <jrb@redhat.com>
1245         * glayout.c: menu changes.
1247         * gcmd.c (gnome_external_panelize): new function.  Does absolutely
1248         nothing yet but look pretty (and it doesn't do that all that well,
1249         yet...)  I'll hook it up to it's actual functions, tomorrow.
1251 1999-01-03  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1253         * gscreen.c (x_reset_sort_labels): Various fixes to fix some of my
1254         recent changes.  I bet Jonathan found that things were not quite
1255         working.  Sorry for the previous untested changes.
1257         This also fixes the bugs reported on gnome-list regarding the
1258         CList problems.  This is the correct fix (basically, we were using
1259         a CList that was configured in one way, even if the display format
1260         had changed.  Now, the CList is kept in sync with the format by
1261         calling a routine that somehow got dropped during some recent
1262         changes).
1264         * gtools.c (query_dialog): Simplified.  
1266 1999-01-02  Jonathan Blandford  <jrb@redhat.com>
1268         * gcmd.c (gnome_sort_cmd): pretified
1269         (gnome_select_all_cmd): New command -- selects all files (in
1270         theory). 
1272         * glayout.c: rearrange the edit menu some.
1274         * gscreen.c (x_create_panel): new icon view icons -- brief and
1275         custom.
1277 1999-01-01  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1279         * gdesktop.c (select_range): Fixed selection of ranges where the
1280         starting and ending icons are in the same vertical or horizontal
1281         slot.
1282         (reload_desktop_icons): Fixed incorrect usage of
1283         g_list_remove_link().  Also, moved the functionality from the old
1284         load_desktop_icons() here.  Now all icons are always loaded
1285         efficiently, and there is no need for the "incremental" flag.
1286         (desktop_icon_info_delete): Delete the icon position information.
1288         * gmetadata.c (gmeta_del_icon_pos): New public function to delete
1289         the icon position information from a file.
1291 1999-01-02  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1293         * gwidget.c (x_create_listbox): Temporary hack
1295         * gmetadata.c (gmeta_get_icon_pos): Fixed the memory leak here. 
1297         * gicon.c (gicon_get_icon_for_file): Actually return a value
1298         here. 
1300 1999-01-01  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1302         * gscreen.c (panel_fill_panel_list): Assertion that will pin point
1303         if a CList gets out of sync with the panel->format.
1305 1999-01-01  Momchil 'Velco' Velikov <velco@fadata.bg>
1307         * gscreen.c (panel_fill_panel_list): NULL terminate the column
1308         array.  This is strange, as it should not need the ending NULL.
1310 1999-01-01  Jonathan Blandford  <jrb@redhat.com>
1312         * gcmd.c ((GtkWidget *widget, WPanel *panel): Now hooked up
1313         correctly.  Still needs to set the option menu correctly.  Oh
1314         well...
1316 1998-12-31  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1318         * gpopup.c (dicon_properties): Made static, and renamed from
1319         desktop_icon_properties().
1320         (dicon_execute): Likewise.
1321         (dicon_actions): Renamed from desktop_icon_actions.
1323         * gdesktop.c (desktop_icon_info_destroy): Renamed from
1324         desktop_icon_destroy(), for consistency with the rest of the
1325         functions that handle DesktopIconInfo structures.
1326         (desktop_icon_info_open): Likewise.
1327         (desktop_icon_info_delete): Likewise.
1329 1998-12-31  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1331         * gscreen.c (panel_create_icon_display): Provide auto-scroll
1332         handlers for the drag stuff.
1334 1998-12-30  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1336         * gmain.c (create_panels): Register corba server here.
1338         * gcorba.c: Fix a servant declaration to point to the correct
1339         vepv. 
1341 1998-12-30  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1343         * gdesktop.c (find_icon_by_drag_context): Made static.
1345         * gdesktop.h (DesktopIconInfo): Now that this type is public,
1346         renamed it from struct desktop_icon_info, for consistency.
1348 1998-12-30  Jeff Garzik  <jgarzik@pobox.com>
1350         * gprop.c, gpopup.c: s/g_copy_strings/g_strconcat/
1352 1998-12-30  Jonathan Blandford  <jrb@redhat.com>
1354         * gaction.c (gmc_execute): now takes an filename instead of a file
1355         entry for an argument
1356         (gmc_open_filename): handles the new gmc_execute code.
1358         * gdesktop.c (desktop_icon_drop_uri_list): commented out
1359         action_drop.  Needs defining.
1361 1998-12-29  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1363         * gdesktop.c (desktop_icon_delete): New function, used for
1364         dicon_delete. 
1365         (load_desktop_icons): Implemented the incremental reloading of
1366         desktop icons.  This should make the code much nicer.
1367         (reload_desktop_icons): Call x_flush_events to force a display at
1368         that point.
1370         * gpopup.c (dicon_delete): Implement this operation.
1371         (desktop_icon_execute): Use the existing implementation for
1372         launching desktop icons instead of a new hacked up version 
1374         (desktop_icon_actions): Until copy/move is implemented, do not
1375         even list them to the user.
1377         * gdesktop.c (create_desktop_dir): No trashcan setup until it
1378         works. 
1380         * gscren.c (panel_widget_motion): Use button 2 for dragging and
1381         asking. 
1382         
1384         * gscreen.c (panel_create_file_list): Use a notebook instead of
1385         the hack I was using before for switching the panel contents.
1387         * gtkdtree.c (gtk_dtree_new): We now rely on the whole code to be
1388         running in the proper visual.  The more I look at this, the more
1389         desires I have to do a proper imlib.
1391         * gdesktop-icon.c (desktop_icon_init): ditto.
1393 Tue Dec 29 16:55:24 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
1395         * gmain.c: According to the man page the color keyword for executable 
1396         files   is `executable' and not `execute' -- changed. 
1398 1998-12-28  Jonathan Blandford  <jrb@redhat.com>
1400         * glayout.c: Initial rehash of the menu code.
1402 1998-12-27  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1404         * gprop.c (perm_mode_new), gcliplabel.c: Uset gtk_label_set_text.
1406 Thu Dec 24 18:38:45 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
1408         * layout: Adapted for the new option Compute Totals in the
1409         Configuration dialog.
1411 1998-12-22  Jonathan Blandford  <jrb@redhat.com>
1413         * gdialogs.c (file_progress_real_query_replace): Cleaned up some.  Still has a
1414         bit of work to do, but in general, much better.
1416 Mon Dec 21 22:33:07 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
1418         * layout: Deleted obsolete widgets from the Virtual FS configuration
1419         dialog. 
1421 1998-12-17  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1423         * gscreen.c (panel_icon_list_select_icon): Show the popup menu on
1424         button release here.  This is what makes most sense. 
1425         (panel_widget_motion): Drags with button 3 now produce a popup
1426         dialog box that asks
1428 1998-12-16  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1430         * gdialogs.c (create_op_win): Remove second spurious packing.
1431         (create_op_win): OP_MOVE uses the same stuff OP_COPY does.  Fix
1432         this. 
1433         (file_progress_show_target): More compliant to the original
1434         functions.
1435         (file_progress_show_source): More compliant to the original
1436         functions.
1438         * gdesktop.c (create_desktop_dir): Fix mem leak.
1440 Tue Dec 15 10:51:12 1998  Gregory McLean <gregm@comstar.net>
1442         * gdesktop-icon.c : Attach a desktop_icon wmclass to the desktop
1443         icons to allow even more wizardry with the desktop icons, mainly
1444         to exclude them from window lists, don't decorate them, skip 
1445         desktops and other boring stuff.
1447 1998-12-14  Sven Neumann  <sven@gimp.org>
1449         * lightened up the dir-pixmaps a little to please your eyes and
1450         tigert ;-)
1452 1998-12-14  Owen Taylor  <otaylor@redhat.com>
1454         * gnome.TODO: Added a number of tree and icon
1455         view todos.
1457 1998-12-14  Owen Taylor  <otaylor@redhat.com>
1459         * gscreen.c (x_create_panel): Keep up with changes
1460         to GtkDockItem.
1462 1998-12-14  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1464         * gwidget.c (x_update_input): Use gtk_entry_get_text here.
1466 1998-12-13  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1468         * gscreen.c (panel_create_icon_display): Set white background.
1470 1998-12-13  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1472         * gdnd.c (perform_action): Fixed a pair of incorrect braces.
1473         Files were not being operated on because of this.
1475 1998-12-12  Owen Taylor  <otaylor@gtk.org>
1477         * gscreen.c (panel_tree_drag_motion): Doubled timeout
1478         for autoexpand - reducing opening unwanted directories.
1480         * gscreen.c (tree_drag_open_directory): Use 
1481         gtk_ctree_expand() not gtk_ctree_expand_recursive,
1482         which increases confusion and could be
1483         _vvveeerrrryyyy_ expensive. (/afs ?)
1485         * gscreen.c (panel_tree_drag_leave): Fixed up
1486         signature - "drag_leave" has no x,y.
1488         * gscreen.[ch] (panel_tree_check_auto_expand): When
1489         we've expanded rows during a drag, collapse them
1490         again when the drag leaves that row.
1492 1998-12-12  Owen Taylor  <otaylor@gtk.org>
1494         * gtkdtree.c (gtk_dtree_destroy): Remove timer upon
1495         destruction to be safe. (Should this, and
1496         dtree->timer_id itself be in gscreen.c instead?)
1498         * gscreen.c (panel_tree_drag_leave): Change == to !=
1499         so that timeouts are properly removed.
1501 1998-12-11  Matt Wilson  <msw@redhat.com>
1503         * gscreen.c: The solid lines in the tree are kinda harsh.  Replace
1504         them with soothing dotted lines.
1506 1998-12-11  Matt Wilson  <msw@redhat.com>
1508         * dir-open.xpm, dir-close.xpm: Away with the tacky yellow folders -
1509         I like these brown ones from tigert better.
1511 1998-12-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1513         * gpopup.c (create_actions): The tests for F_PANEL and F_DICON
1514         were wrong.  Fixed them.  This does not mean that the popup menus
1515         are right, though.
1517 1998-12-11  Owen Taylor  <otaylor@redhat.com>
1519         * gscreen.c gdesktop.c gdnd.h: enable dragging locale files
1520         into Netscape.
1522 1998-12-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1524         * gicon.c (gicon_get_icon_for_file): First try to fetch the inline
1525         icon data (i.e. thumbnails), second try the generic icon filename.
1527 1998-12-11  Owen Taylor  <otaylor@redhat.com>
1529         * gdesktop.c (window_button_press): Ehen cancelling editing
1530         account for clicks on other GMC windows.
1532 1998-12-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1534         * gdesktop.c (click_proxy_filter): Doh.  We may get DestroyNotify
1535         for other windows than the proxy, so deal with it.
1537 1998-12-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1539         * gdesktop.c (click_proxy_button_press): Use a nice arrow cursor
1540         for rubberbanding.
1541         (click_proxy_filter): Keep a firm jaw when the window manager dies
1542         and thus the proxy window is destroyed.
1543         (setup_desktop_click_proxy_window): Moved the proxy window
1544         creation code to this function.
1545         (click_proxy_property_notify): Handle PropertyNotify events from
1546         the root window for when the proxy window changes.  Now the window
1547         manager can restart itself as it pleases and GMC will handle it
1548         correctly.
1550 1998-12-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1552         Wheeeee!  Desktop icons can be selected by rubberbanding.  You
1553         need Englightenment to do this, as so far it seems to be the only
1554         WM with support for the _WIN_DESKTOP_BUTTON_PROXY property.
1556         * gdesktop.c (click_proxy_filter): New event filter for button
1557         presses and releases on the root window.
1558         (click_proxy_button_press): New function to handle button presses
1559         on the desktop.
1560         (click_proxy_button_release): New function to handle button
1561         releases on the desktop.
1562         (click_proxy_motion): New function to handle rubberbanding motion
1563         on the desktop.
1564         (setup_xdnd_proxy): Flush the server after ungrabbing it.
1565         (find_click_proxy_window): Flush the server after ungrabbing it.
1566         (store_temp_selection): Stores the temporary selection to the
1567         master selection, or viceversa.  This is needed for dynamic
1568         updating while the user rubberbands.
1569         (update_drag_selection): New function to update the selection
1570         while the user is rubberbanding on the desktop.
1571         (icon_is_in_area): New function to see if an icon is inside the
1572         rubberbanding area.
1574         * gdesktop-icon.h: Added fields for querying the icon and text
1575         position and size.
1577         * gdesktop-icon.c (desktop_icon_reshape): Set the position and
1578         size fields as computed for layout.
1580 1998-12-11  Owen Taylor  <otaylor@redhat.com>
1582         * gdesktop.c (editing_started): Grab on the window for the
1583         icon, not on the canvas, so we can properly detect
1584         clicks elsewhere.
1586         (icon_button_release_after): When the user stops selecting,
1587         regrab the pointer.
1589 1998-12-11  Jonathan Blandford  <jrb@redhat.com>
1591         * gtkdtree.c (gtk_dtree_do_select_dir): fixed a little bug --
1592         caused a segfault.
1594         * gscreen.c (x_create_panel): More changes.  The toolbar is moved
1595         to a gtk_toolbar, and is movable.  The entry will be put in it's
1596         own toolbar, too.
1597         (panel_create_cwd): For now, hardcode the usize of the entry
1598         widget.  Later on, have it expand (when toolbar supports it)
1600 1998-12-10  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1602         * gcmd.c: #include "../vfs/vfs.h"
1604         * gdesktop.c (setup_icon_dnd_actions): Moved the code that calls
1605         gtk_drag_source_set() for an icon here.
1606         (editing_started): Temporarily disable drags while the icon's text
1607         is being edited.
1608         (editing_stopped): Re-enable DnD from the icon once editing has
1609         stopped.
1611 1998-12-10  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1613         * gcmd.c (gnome_close_panel): When a panel is destroyed, chdir to
1614         root directory, as the process will be holding the inode for the
1615         directory that was selected until an operation is performed in
1616         another panel.
1618         * gicon.c (gicon_get_icon_for_file): Invert the way the testing
1619         for icons is done to handle directories properly.
1621 1998-12-10  Jonathan Blandford  <jrb@redhat.com>
1623         * gscreen.c (x_create_panel): made some small stylistic changes.
1624         Also, removed the hint bar and consolidated the status bar.
1626 Thu Dec 10 21:38:55 1998  Owen Taylor  <otaylor@redhat.com>
1628         * gkey.c (delete_select_channel): Fixed list handling
1629         with g_list_remove().
1631 1998-12-10  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1633         * gdesktop.c (dnd_select_icon_pending): Added this flag that
1634         specifies whether a selection is pending for an icon if the user
1635         was holding the Control key down while clicking.  We have to delay
1636         selection in this case so that DnD will work correctly, just like
1637         Windows.
1638         (icon_button_press): New function that handles button presses on
1639         icons; it obsoletes the old desktop_icon_info_event().
1640         (icon_button_release): New function that handles button releases
1641         on desktop icons; it will do what is appropriate if there was a
1642         pending icon selection.
1643         (drag_begin): Handle pending selections as appropriate.
1644         (unselect_all): Added an paremeter that specifies which icon to
1645         exclude from unselection.
1646         (editing_started): Unselect all icons but the one for which
1647         editing has started.
1648         (dnd_icon_sources): Changed the MIME-types for internal drops to
1649         "application/x-mc-desktop-icon".
1650         (click_proxy_window): New variable that stores the proxy window
1651         for clicks on the desktop.
1652         (setup_desktop_clicks): New function that sets up clicks on the
1653         root window.
1654         (find_click_proxy_window): New function to find and set up the
1655         window for proxying clicks from the root window.
1657         * image.metadata.in: Added case for `jpg', as there was only a
1658         case for `jpeg'.
1660 1998-12-07  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1662         * gicon.c (gnome_file_entry_color): If we do not have permissions
1663         for this directory, indicate this with a special icon.
1665         * gscreen.c (panel_icon_list_select_icon): Middle button opens a
1666         new panel on a directory.
1668 1998-12-08  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1670         * gdesktop.c: Moved the old DnD cruft to olddnd.c to keep it there
1671         for reference purposes.
1673         * gmetadata.c: Removed the gmeta_get_icon_for_file() function, as
1674         it is obsoleted by gicon_get_icon_for_file().
1676         * gdesktop.c (desktop_icon_info_new): Made it use
1677         gicon_get_icon_for_file().
1679         * gdesktop-icon.c (set_icon): Now we handle things internally
1680         using an imlib image, not a filename.
1681         (desktop_icon_new): Now takes an imlib image for the icon instead
1682         of a filename.
1683         (desktop_icon_set_icon): Likewise.
1685 1998-12-08  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1687         * gtkdtree.c (gtk_dtree_new): Use imlib's visual and colormap.
1689         * gscreen.c (panel_create_tree_view): Use the colormap and visual
1690         from imlib when creating the DTree,
1692 1998-12-08  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1694         * gdesktop.c (icon_drag_data_received): Doh.  Use the correct
1695         pathname when calling gdnd_drop_on_directory().
1697 1998-12-07  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1699         * gdesktop.c (desktop_icon_info_new): Do not stat the file, as we
1700         do not need that information anymore.
1701         (setup_icon_dnd_source): Moved the DnD-as-source code to here.
1702         (setup_icon_dnd_dest): New function to set up an icon as a DnD
1703         destination.
1705         * gdesktop.c (desktop_icon_info_place): Doh, do not place icons
1706         past the edge of the *whole* screen :-)
1707         (dnd_press_x dnd_press_y): New variables to store the cursor
1708         hotspot for DnD icons.  Moved these over from the
1709         desktop_icon_info structure, as it does not make sense to have
1710         this inside every icon.
1711         (button_press): Use dnd_press_x and dnd_press_y.
1712         (drag_begin): Likewise.
1713         (drop_desktop_icons): Use dnd_press_x and dnd_press_y to fix the offsets.
1714         (drag_data_received): Fix the proxy window offsets for all types
1715         of targets.
1716         (drop_desktop_icons): Snap the coordinates as appropriate.
1718 1998-12-07  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1720         * gdesktop.c (drop_desktop_icons): New function to perform a drop
1721         from desktop icons to the desktop.  It effectively moves the icons
1722         around.
1723         (desktop_icon_info_place): Do not place the icons past the edge of
1724         the screen.
1726 1998-12-06  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1728         * gdesktop.c (file_entry_from_file): Finished implementing
1729         file_entry_from_file().
1730         (struct desktop_icon_info): Removed the `type' field.  We now stat
1731         the file when needed to figure out the file type.
1732         (desktop_icon_info_event): Test whether the file is a directory by
1733         ourselves, and if it is, open a new panel for it.
1734         (drag_data_get): Generate the uri-list for internal desktop icon
1735         drags as well.
1737         * gdesktop.c (drag_data_received): We do not need to call
1738         gtk_drag_finish(), since we are using the GTK_DEST_DEFAULT_DROP
1739         flag for drops on the desktop.
1740         (desktop_icon_info_event): Reload the desktop icons after
1741         executing a command from the popup menu.  This kind of sucks, but
1742         will do for now.
1743         (desktop_icon_info_event): Upon receiving a button-1 press, if the
1744         icon was already selected in the first place, delay the
1745         re-selection phase until we get a mouse release event.  This lets
1746         us start a multiple-selection drag without having the initial
1747         click clear the selection first.
1748         (desktop_icon_info_event): Open the file or directory when the
1749         desktop icon receives a double click.
1751         * gmain.c (beep): Made it void, since it does not (need to) return
1752         anything.
1753         (xtoolkit_end): Likewise.
1755 1998-12-05  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1757         * gscreen.c (panel_build_selected_file_list): Provide space for
1758         the terminating NULL.
1760         * gmain.c (beep): Return a value.
1762         * gdnd.c (get_action): Typo fix.
1764 1998-12-04  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1766         * gscreen.c (load_imlib_icons): Make it use the new gicon files.
1768         * gicon.c, gicon.h: New files: they keep an image cache and
1769         provide the right icon to use based on the filename.  They use the
1770         GNOME metadata to fecth the "icon-filename" and "icon-inline-png"
1771         keys for per-image icons.
1773         * gdialogs.c (file_mask_dialog): Commented the help messages until
1774         the warnings are figured out.
1776 1998-12-04  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1778         * gdesktop.c (desktop_icon_info_new): Connect the signals for DnD
1779         so that we can drag icons from the desktop.
1780         (drag_begin): New function to set the drag cursor for icons on the desktop.
1781         (button_press): New function that stores the hot spot position for
1782         DnD cursors.
1783         (drag_data_get): New function to fetch the URI-list of selected icons.
1785         * gdialogs.c: Fixed some includes.
1787         * gdesktop.h: Removed the DnD target enum from here, since it is
1788         specific to each submodule.
1790         * gdnd.h: Moved the DnD target enums to here.  Added a new
1791         TARGET_MC_DESKTOP_ICON.
1793         * gdesktop.c (get_icon_snap_pos): Fixed icon snapping; the
1794         coordinates not being updated correctly.
1796         * gscreen.c (panel_drag_data_get): Free the uri list; it was being leaked.
1798 1998-12-04  Jonathan Blandford  <jrb@redhat.com>
1800         * gdialogs.c (file_progress_show_count): finished the copy dialog.
1802 1998-12-04  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1804         * gblist.c (blist_select_row): Warning fixes.
1806         * olddnd.c: Moved the old DND code here for reference purposes.
1808         * gscreen.c: Made the tree a drag source.
1810 1998-12-04  Jonathan Blandford  <jrb@redhat.com>
1812         * gdialogs.c (trim_file_name): better update dialog
1814 1998-12-03  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1816         * gdesktop.c (load_desktop_icons): Added arguments that specify
1817         where to place the newly-created icons.  This needs some tweaking still.
1818         (reload_desktop_icons): Now takes arguments for the position of
1819         the new icons.
1820         (drag_data_received): Pass in the drop position to reload_desktop_icons().
1822         * gscreen.c (panel_tree_drag_motion): Added missing variable declaration.
1824         * gdesktop.c (load_desktop_icons): Added an incremental flag that
1825         specifies whether icon creation is unconditional regardless of
1826         whether there is an icon for a file or not.
1827         (reload_desktop_icons): Use the incremental flag in load_desktop_icons().
1828         (drag_data_received): Reload the desktop incrementally, to avoid flicker.
1829         (desktop_icon_info_new): Use mc_lstat(), not mc_stat().  We do
1830         want to read symlinks, even dangling ones, if they exist.
1831         (load_desktop_icons): While we are reading the desktop directory,
1832         first place all the icons that have their metadata icon-position
1833         set, and build a list of the ones that don't.  *Then* place
1834         those.  This fixes overlapping icons on weird situations.
1836         * directory.xpm: Removed bogus garbage.  There was a stale pixmap here.
1838         * gdesktop.c (setup_desktop_dnd): Allow for GDK_ACTION_ASK as well.
1840         * gscreen.c (panel_widget_motion): The action argument to
1841         gtk_drag_begin() is a mask of possible actions, not a single action.
1843         * gdesktop.c (drag_data_received): Only reload the icons if the
1844         drop was successful.
1846 1998-12-03  Jonathan Blandford  <jrb@redhat.com>
1848         * gdialogs.c (create_op_win): starting the op_win dialog stuff
1850 1998-12-03  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1852         * gscreen.c (panel_create_icon_display, panel_create_file_list):
1853         Hook up to drag_begin and drag_end events.
1855         * gscreen.c (panel_tree_drag_motion): Improve interactivity
1856         (x_create_panel): Add a little decorating frame.
1858         (panel_create_icon_display, panel_create_file_list):
1859         Hook up to drag_begin and drag_end events.
1861         (panel_tree_drag_motion): Either queue a scroll on the tree, or
1862         queue an open-directory event.
1864         (panel_tree_scroll): Scroll the tree when the drag pointer is in
1865         one of the boundaries of the tree.
1867         (panel_tree_scrolling_is_desirable): new function to figure out if
1868         it is a good plan to scroll the tree view instead of opening it.
1870         (panel_chdir): Do not sync with the tree when we are in the middle
1871         of a drag and drop operation.
1873         (panel_drag_begin, panel_drag_end): New functions to keep track
1874         of the dragging operations.
1876 1998-12-02  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1878         * gscreen.c (panel_tree_drag_data_received): Perform drag and drop
1879         operations on the Tree.
1881 1998-12-02  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1883         * gdesktop.c (setup_desktop_dnd): New function to set up drops
1884         to the root window.
1885         (setup_xdnd_proxy): Function by Owen Taylor to set up a DnD proxy
1886         window.
1887         (drag_data_received): Function to handle drops on the root window.
1888         (desktop_destroy): Destroy the DnD setup.
1889         (reload_desktop_icons): New function to reload the desktop.
1891         * gscreen.c (drag_types, drop_types): Removed url-list; only
1892         uri-list should be there.
1894         * gdesktop.h: Removed TARGET_URL_LIST from the DnD enumerations.
1896         * gtkdtree.c (gtk_dtree_do_select_dir): Made static, as it is for
1897         internal use only.
1898         Fixed a little bunch of compiler warnings.
1900         * gscreen.c (x_fill_panel): Use gtk_dtree_select_dir(), not
1901         gtk_ctree_do_select_dir().
1903         * gpopup.c (gpopup_do_popup): Fixed incorrect assertion and
1904         actually create the menu (doh).
1905         (gpopup_do_popup): Do the same magic as in gnome-popup-menu to
1906         fetch the item that was activated in the menu.  Keep this code out
1907         of reach of children.
1908         (fill_menu): New function to fill the menu using the
1909         gnome-popup-menu magic for fetching the activated menu item.
1910         Removed ifdef'ed code.
1912 1998-12-02  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1914         * gscreen.c (tree_drag_open_directory, panel_tree_drag_motion,
1915         panel_tree_drag_leave): Drag and Drop support routines for the
1916         tree to auto-expand the tree when the user stays still on top of a
1917         directory.
1919         * gtkdtree.c (gtk_dtree_load_path): Further speed increase.
1921 1998-12-01  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1923         * glayout.c (file_menu): Use view_cmd and view_simple_cmd in the
1924         menu instead of panel_action_view and
1925         panel_action_view_unfiltered, respectively.
1927         * gpopup.c (create_regexp_actions): Create the menu items using
1928         gnome-app-helper, for visual consistency.
1929         (create_actions): Likewise.  Also, fixed S_ISLNK() confusion.
1930         (get_label_text): Extract the label from the GnomeUIInfo item in
1931         an ugly way.
1933 1998-12-01  Jonathan Blandford  <jrb@redhat.com>
1935         * Makefile.in: now handles gdialogs*
1937         * gdialogs.h:
1938         * gdialogs.c:Added new files -- takes the place of ../src/filegui.*
1940 1998-12-01  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1942         * gscreen.c (panel_switch_new_display_mode): Destroy the old
1943         widget.  Add the list view to the proper table.
1945         * glayout.c: Remove the exit menu option.
1947         * gtree.c (gtk_dtree_contains): New routine used to avoid
1948         duplicate entries in the tree display.
1950 1998-11-30  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1952         * gscreen.c (panel_icon_list_select_icon): Use gpopup_do_popup().
1953         (panel_file_list_select_row): Use gpopup_do_popup().
1954         Moved the popup menu code to gpopup.c.
1956 1998-11-29  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1958         * gscreen.c (display_mini_info): Use g_strdup_printf() to make it
1959         i18n-ize nicely.
1960         (panel_create_filter): Use _(), not N_().
1961         (x_create_panel): Likewise.
1963 1998-11-29  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1965         * gscreen.c (x_create_panel): Add panel view.  Put the views
1966         inside a new table.  Add tree view to the left.
1967         (panel_create_icon_display): IconList no longer starts in frozen state.
1969         Update Makefile.
1971 1998-11-28  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1973         * gwidget.c (x_update_input): Use gtk_editable_changed on the entry.
1974         (x_create_listbox): Fix more CList api change.
1975         * gscreen.c (CLIST_FROM_SW): Adapt to new GtkScrolledWindow
1976         inheritance.
1978 1998-11-27  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1980         * Makefile.in (OOBJS): Add filegui.o back until the GTK-specific
1981         filegui is written.
1983         * gdesktop.c (check_window_in_one_panel): Provide better error
1984         messages here for debugging purposes.
1986         Disable stubs for filegui.c until they are actually implemented.
1987         I need to debug stuff.
1989         * gdnd.c (find_panel_owning_window): Use the new
1990         gtk_drag_get_source_widget function to find out reliably if the
1991         drag source happens to be in this application.
1993         * gscreen.c (x_create_panel): Set the usize for the ministatus
1994         label to be (0, -1), this means: do not request any horizontal
1995         space, use any vertical space given.
1997         Put the ministatus inside an hbox, and use
1998         gtk_container_set_resize_mode in this hbox to stop any queue
1999         events from being propagated up in the hierachy of widgets
2001         This kills all of the CList/GnomeIconList/Scrollbar/Toolbar
2002         flickering now.
2004 1998-11-26  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2006         * gtree.c: More work on gtree.  It is basically ready to stick
2007         into gmc-window.c/mc  I just need to know when you are ready
2008         Federico.
2010 1998-11-25  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2012         * gpopup.c (gpopup_do_popup): Hide the edit/view separator if
2013         those items were disabled, too.
2015         * gdesktop-icon.c (desktop_icon_realize): Added
2016         WIN_STATE_FIXED_POSITION and WIN_STATE_ARRANGE_IGNORE to the
2017         window hints for the desktop icons.
2019 1998-11-24  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2021         * gdesktop.c (desktop_icon_info_event): Run the popup menu for the
2022         icons in the desktop.
2024         * gpopup.[ch]: New files that take care of the popup menus for
2025         files in the desktop and in the panels.
2027         * Makefile.in: Added gpopup.[ch] to the list of sources.
2029 1998-11-23  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2031         * gdesktop.c (desktop_icon_info_place): Save the icon position
2032         when it is moved.
2033         (desktop_destroy): Removed the save_icons_pos() function and do
2034         not invoke it from desktop_destroy().
2036 1998-11-23  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2038         * gwidget.c (x_list_insert): Make it work with the new CList
2039         policies.
2041 1998-11-23  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2043         * gdesktop.c: Put in a bunch of stubs for the functions in
2044         filegui.h.  These will be removed as the dialogs get
2045         custom-written for Gnome.
2047         * gmetadata.[ch]: Changed the function names to "gmeta_*".
2049         * gscreen.c (CLIST_FROM_SW): Use scrolled_window->child, as
2050         viewport is obsolete.
2052 1998-11-19  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2054         * Makefile.in (OOBJS): Do not link ../src/filegui.o.  GMC does not
2055         link right now, but I guess I'll add stubs until we finish with
2056         the dialog boxes.
2058         * gdnd.c: #include <sys/types.h>
2060         * Makefile.in (checklinks): Fix sourcelinks -> maksourcelinks typo.
2062 1998-11-12  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2064         * gmain.c (session_save_state): Use gnome_geometry_string.
2066 1998-11-06  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2068         * gscreen.c (panel_file_list_compute_lines): Quick hack to get mc
2069         to compile with the new CList.
2071 1998-11-10  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2073         * Makefile.in: Removed gtrans.c from the list of sources.
2075         * gdesktop-icon.c: #ifdef cleanups.
2077         * gscreen.c (panel_create_file_list): Doh.  Return the scrolled
2078         window, not the clist.
2080         * gdnd.c (get_action): Implement the DnD actions menu.
2082 1998-11-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2084         * gdnd.c: New file that handles all the DnD stuff.  Mainly used to
2085         clean up gdesktop.c.
2087         * gscreen.c (panel_icon_list_drag_data_received): Use
2088         gdnd_drop_on_directory().
2089         (CLIST_FROM_SW): Added this macro to fetch the clist from the
2090         scrolled window in panel->list.
2091         (panel_create_file_list): Create a scrolled window and put the
2092         clist inside it.  This is required per the new clist API.
2093         (panel_configure_file_list): Use the scrolled window's adjustment.
2094         (panel_file_list_size_allocate_hook): Use the scrolled window
2095         instead of the clist.
2096         (panel_file_list_compute_lines): Use the scrolled window instead
2097         of the clist.
2098         (panel_file_list_configure_contents): Use the scrolled window
2099         instead of the clist.
2100         (panel_create_file_list): Do the DnD setup here, not in the
2101         realization callback.
2102         (x_create_panel): Do not realize the panel explicitly.
2103         (panel_create_pixmaps): Create the pixmaps using imlib instead of
2104         Gdk.
2106 1998-11-06  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2108         * gdesktop.c (text_changed): Doh.  Set the new filename of the
2109         desktop icon info structure.
2111 1998-11-05  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2113         * gdesktop.c (text_changed): We rename the files when the text
2114         changes.
2115         (save_icons_pos): New function to save the icon position metadata
2116         for all the icons in the desktop.
2117         (desktop_destroy): Save the icon positions when we exit.
2119 1998-11-04  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2121         * gdesktop.c (editing_started):
2122         (editing_stopped): New functions to install and remove
2123         pointer/keyboard grabs while icons are being edited,
2124         respectively.
2126 1998-11-03  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2128         * gdesktop.c (select_icon): Raise the icon when it is selected.
2130 1998-11-02  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2132         * gdesktop.c (select_range): Doh.  Fix dii -> ldii typo.  Also,
2133         use Windows semantics -- ranges are considered rectangular instead
2134         of linear.
2136         * gdesktop.c: Now desktop icons are stored in the layout_slots
2137         array.  We need to know which icons are in which slots.
2138         (unselect_all): Use the layout_slots array.
2139         (desktop_icon_info_place): Append the icon to the list in the
2140         proper slot.
2141         (desktop_icon_info_new): Initialize the position and slot fields
2142         in the desktop icon info structure.
2143         (desktop_icon_info_free): Remove the icon from its slot.
2144         (desktop_destroy): Destroy the layout slots and the icons
2145         properly.
2146         (remove_from_slot): New convenience function to remove an icon
2147         from the slot it is in.
2148         (get_icon_snap_pos): Do a bit nicer snapping by really using the
2149         closest slot.
2150         Added a last_selected_icon variable to keep track of the icon that
2151         was last selected, for shift+click selections.
2152         (select_icon): Finish selection semantics and clean up.  Now it is
2153         nice and simple and complete.
2154         (select_range): New function that handles range selections.
2156 1998-11-01  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2158         * gdesktop-icon.h (DesktopIcon): Added a child item for stippling
2159         the icon when it is selected.
2161         * gdesktop-icon.c (desktop_icon_select): Show/hide the stippling
2162         as appropriate.
2164         * gdesktop.c (desktop_icon_info_event): Handler for events on
2165         desktop icons.
2166         (select_icon): New function that handles icon selection based on
2167         mouse clicks and modifier keys.
2169         * gdesktop.c (struct desktop_icon_info): Added a type field to the
2170         structure.  It specifies the type of icon (file, directory), and
2171         is used to determine the DnD and menu behavior.
2173 1998-10-30  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2175         * gdesktop.c: We are now using the new desktop icon code.  It is
2176         not yet complete, but what is there does work.  We have icon
2177         creation, auto-layout and snapping.  Next step is drag and drop
2178         and popup menus.
2180         * glayout.c: #ifdef out the stuff that uses the old desktop code.
2181         I will replace it gradually.
2182         * gmain.c: Likewise.
2183         * gscreen.c: Likewise.
2185 1998-10-27  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2187         * gscreen.c (panel_icon_list_button_release): Remove unused
2188         variable.
2190         Provide hand written CList-start drag code
2192 1998-10-30  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2194         * gmetadata.c (meta_get_icon_pos): Renamed from
2195         meta_get_desktop_icon_pos().
2196         (meta_set_icon_pos): New public function to save the icon position
2197         information.
2199         * gdesktop-icon.c (canvas_size_allocated): New function.  We reset
2200         the canvas scrolling region here, when the canvas gets size
2201         allocated, to ensure that the canvas has always the correct
2202         scrolling region.  We do it here instead of in the reshape()
2203         function to avoid flicker.
2205 1998-10-29  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2207         * gmetadata.[ch]: New files with functions to handle all metadata
2208         issues -- fetching icons, icon positions, etc.
2210         * Makefile.in: Added gmetadata.[ch] to the list of sources.
2212 1998-10-28  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2214         * gdesktop-icon.c (create_window_shape): Use shaped icons only
2215         when the user has selected them.
2216         (desktop_icon_reshape): New public function to recompute the shape
2217         of the icon.  This should be used when the global
2218         desktop_use_shaped_icons flag changes.
2219         Added documentation comments to the public functions.
2221         * Makefile.in: Fixed for gdesktop-icon.
2223         * gdesktop-icon.[ch]: Renamed from desktop-icon.[ch], per Miguel's
2224         request.
2226         * desktop-icon.c (reshape): Position the icon text item correctly.
2228 1998-10-27  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2230         * desktop-icon.c (desktop_icon_new): Do now reshape more than
2231         needed by splitting the set_icon and set_text functions apart.
2233 1998-10-23  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2235         * gdesktop.c (desktop_icon_set_position): Do not lower the
2236         window.  The gnome-compliant wm will know what to do with windows
2237         on the Desktop layer.
2238         (post_setup_desktop_icon): Likewise.
2240         * desktop-icon.c (create_window_shape): Fetch the mask of the
2241         image "by hand", as we cannot rely on the canvas item having
2242         created it yet.
2244         * desktop-icon.c (desktop_icon_realize): Doh.  We need to
2245         initialize the gnome_win_hints before we set any of the hints.
2247 1998-10-21  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2249         * gdesktop.c (create_desktop_icon): Renamed from
2250         my_create_transparent_text_window.  Now uses the DesktopIcon
2251         widget for its work.
2252         (get_desktop_icon_for_dentry): Renamed from
2253         get_transparent_window_for_dentry.  Uses the DesktopIcon widget.
2254         (get_desktop_icon_for_di): Renamed from
2255         get_transparent_window_for_di.
2256         (desktop_icon_properties): Do not size_request the icon, since now
2257         we can get its dimensions directly from the DesktopIcon structure.
2259         * desktop-icon.[ch]: New file that takes care of desktop icons.
2260         It provides the spiffy widget that is used for them.
2262         * Makefile.in: Added desktop-icon.[ch] to the list of sources.
2263         MC should use Automake, I think.
2265 1998-10-21  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2267         * gscreen.c (panel_create_icon_display): Small size adjustment.
2269         * glayout.c (create_container): Small size adjustment.
2271         * gmain.c (xtoolkit_create_dialog): Center windows.
2273 1998-10-20  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2275         * gscreen.c (x_select_item): Force a canvas update when an icon
2276         has been selected.
2278 1998-10-19  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2280         * gscreen.c (panel_drag_data_get): New routine to provide data
2281         with the new DnD protocol.
2283         * gmain.c (dialog_key_pressed): If an icon has the focus, then do
2284         not process any of our events.
2285         Only stop the signal if we actually handled the event.
2286         (dialog_key_pressed):
2288 1998-10-14  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2290         * gscreen.c (panel_icon_renamed): Add support for renaming files.
2292 1998-10-13  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2294         * gscreen.c: Use the new icon list.
2296 1998-09-25  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2298         * gscreen.c: Hook to invoke the editor from the context menu.
2300 Fri Sep 18 13:51:16 1998  Pavel Roskin <pavel_roskin@geocities.com>
2302         * Makefile.in: Consequent "make" should not rebuild gmc every time
2304 Mon Aug 31 10:46:32 1998  Owen Taylor  <otaylor@redhat.com>
2306         * gscreen.c (display_mini_info): Removed calls to
2307         gtk_clip_label_set() hack, since its cut-n-paste code didn't work
2308         with new GTK's. If excessive resizes are a problem, they can be
2309         solved by adding an adjustment around the label, and calling
2310         gtk_container_set_resize_mode().
2312 1998-08-20  Raja R Harinath  <harinath@cs.umn.edu>
2314         * gdesktop.c: Include "mad.h", for xmalloc.
2315         * gkey.c: Likewise.
2316         * gscreen.c: Likewise.
2317         (panel_create_file_list): Use `g_free', not `free'.
2319 Wed Aug 19 19:45:16 EDT 1998 The Rasterman <raster@redhat.com>
2321         * gdesktop.c - changed dnd setting routine for desktop icon to set
2322           events on child window...
2323         * gtrans.c - chnaged routines to make window with child rawing area
2324           and set shape on parent window
2326 1998-08-14  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2328         * gscreen.c (panel_make_local_copies_and_transfer): Fix.
2330 1998-07-04  Carsten Schaar  <nhadcasc@fs-maphy.uni-hannover.de>
2332         * gmain.c (session_management_setup): Replaced
2333         'gnome_client_new_default' with 'gnome_master_client'.
2335 1998-06-23  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2337         * gwidget.c (x_update_input): The previous hack was not
2338         required, the right fix was to change Gtk.
2340 1998-06-22  Manish Vachharajani <mvachhar@vger.rutgers.edu>
2342         * gwidget.c: Don't call gtk_entry_scroll_adjust, it is a private member
2344 1998-06-02  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2346         * gdesktop.c (drop_cb): Mhm.  Negotiation of the drop type was not
2347         quite like I expected.  Anyways, fixed a bug: we need to take
2348         text/plain drops on the launch icons on the desktop.
2350 1998-06-01  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2352         * gdesktop.c (desktop_setup_icon): Assign the dentry->geometry
2353         from the drop position.   New .desktop files are now placed on the
2354         site they were dropped.
2355         (drop_cb): Use proper prototype.
2357 Sun May 31 13:19:59 1998  Norbert Warmuth  <k3190@fh-sw.de>
2359         * Makefile.in: use @LIBVFS@ when referring to libvfs-mc.a (one
2360         reference wasn't converted, yet).
2362 1998-05-30  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2364         * gwidget.c (x_create_input): Set the entry's visibility if it is
2365         a password field.
2367 1998-05-26  Marc Ewing <marc@redhat.com>
2369         * Makefile.in: use @LIBVFS@ when referring to libvfs-mc.a
2371 1998-05-26  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2373         * gmain.c (session_save_state): Perform shutdown if `shutdown'
2374         flag is set.
2376 1998-05-25  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2378         * gwidget.c (entry_release): Enhanced our marked handler for input
2379         lines.
2381         * gdesktop.c (desktop_create_directory_entry): Fix, make a
2382         g_strdup copy of the name. Fixes bug report #78.
2383         (desktop_icon_context_popup): Simplified this routine as we are
2384         using file_popup now anyways.
2386 1998-05-24  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2388         * glayout.c: Move the New window menu entry from ``Window'' to
2389         ``File''.
2391         * gwidget.c (x_unfocus_widget): Fix wartning.
2393         * glayout.c (set_hintbar): Call flush events after setting the
2394         hintbar.
2396 1998-05-22  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2398         * gwidget.c (x_create_input): Disable the use of the GNOME entries
2399         for now, as they are very slow.  We need to figure out what is
2400         wrong with this.
2402         With this change, dialog boxes close quickly instead of taking
2403         ages to close.
2405         * gscreen.c, gdesktop.c (file_popup_add_context, file_popup):
2406         Share the context menu code in gdesktop.c and gscreen.c.  The
2407         desktop pop up menus now include all of the stuff that would have
2408         appeared in the Panel.
2410         * gdesktop.c (desktop_icon_remove): Remove the file associated
2411         with this desktop entry if it is on the ~/desktop directory.
2413 1998-05-21  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2415         * gscreen.c (load_dnd_icons): Remove the code and the icons that
2416         we had here privately.  Use new gnome-stock functionality
2417         instead.
2419 1998-05-20  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2421         * gscreen.c (panel_drag_request): All of the drag_request code is
2422         now shared by both the Icon View and the Listing view;
2423         New drag request type:  file:ALL.  If the user is looking at a
2424         remote site, and the target application does not have VFS support
2425         it should not list url:ALL but file:ALL as the accepted drop
2426         type.
2428         This will make copies of the remote files and pass the files to
2429         the application.
2431 1998-05-20  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2433         * gtrans.c (set_window_text): Pass new justification parameter to
2434         gnome_icon_paint_text().
2436         * gpageprop.c (item_properties): Restore the arrow cursor for the
2437         desktop icon windows.
2439         * gdesktop.h (desktop_icon_t): Removed unused title field.
2441         * gtrans.c (set_window_text): Made it use the new
2442         GnomeIconTextInfo functions.
2444 1998-05-18  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2446         * gscreen.c (panel_create_icon_display): Set some good separator
2447         characters for the file icon list.
2449 1998-05-20  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2451         * gprop.c (perm_owner_new): Forget about history for now.
2453         * gpageprop.c (item_properties), gprop.c: Add executable editing
2454         (command, and terminal).  Save the dentry after modification
2456 1998-05-19  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2458         * gprop.c (change_icon): Test for gp, as the combobox emits the
2459         "changed" signal when shutting down.  Great.
2461         * gdesktop.c (desktop_reload): Missing mc_closedir
2462         (desktop_setup_icon): Fix memory leak.
2463         (get_desktop_icon): Fix memory leak.
2464         (desktop_create_directory_entry): Set the size of the exec
2465         vector.
2466         (desktop_create_launch_entry): Same.
2468         We now create launch entries instead of trying to support
2469         regular dropped stuff on the desktop, this makes things easier and
2470         more consistent.
2472 1998-05-18  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2474         * gscreen.c (x_select_item): Test for full icon visibility instead
2475         of partial visibility only.
2477 1998-05-15  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2479         * gscreen.c (create_popup_submenu): Use continue, not break on
2480         this loop.
2482 Sat May 16 02:29:51 1998  Tom Tromey  <tromey@cygnus.com>
2484         * gdesktop.c (url_dropped): `exec' field of desktop entry now a
2485         vector.
2486         (dentry_execute): Likewise.
2487         (desktop_icon_remove): Likewise.
2488         (get_transparent_window_for_dentry): Likewise.
2489         (desktop_create_directory_entry): Likewise; also initialize
2490         exec_length.
2492 1998-05-16  Jaka Mocnik <jaka.mocnik@kiss.uni-lj.si>
2494         * gscreen.c (create_popup_submenu): fixed bug which caused it to require
2495         0 instead of 1 marked files for F_SINGLE file_actions.
2496         * gscreen.c (file_popup): first item in the menu displays "..." when
2497         multiple files are selected.
2499 Thu May 14 23:31:15 1998  Tom Tromey  <tromey@cygnus.com>
2501         * gmain.c (session_save_state): Use "+" instead of "%s" in format
2502         specification.  Free `argv'.
2504 1998-05-14  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2506         * gtrans.c (create_transparent_text_window): Removed the hack to
2507         lower the window on exposes.  Guess what happens when you have two
2508         icons on the same spot.
2510 Thu May 14 02:02:56 1998  Norbert Warmuth  <k3190@fh-sw.de>
2512         * Makefile.in (EXTRALIBS): add @LINTL@
2514 1998-05-09  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2516         * gtrans.c (set_window_text): draw pixmaps without transparency
2517         correctly.
2519 1998-05-07  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2521         * gscreen.c (panel_icon_list_realized): Add drag and drop support
2522         to the icon list view;
2524 1998-05-06  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2526         * gscreen.c (panel_fill_panel_icons): New function:  Fill up the
2527         icon list.
2528         (x_create_panel): Change in the approach:  we create both of the
2529         widget views at creation time and we now carefully show every
2530         component.  I attach everything to the table, but not necesarly
2531         show it.
2533         * gblist.c (blist_select_row): New widget derived from GtkClist.
2534         replace select_row and unselect_row with null functions, as the
2535         gmc code takes care of the rest.
2537 1998-05-04  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2539         * gdesktop.c (desktop_icon_drag_start): Do not attempt to use
2540         icons if we could not load the images for the icon.
2542         * gwidget.c (x_update_input): Keep the cursor always visible.
2544         * gview.c (view): Use a buttonbar widget.
2546         * gwidget.c (buttonbar_clicked): Provide a trivial implementation
2547         of the buttonbar that only responds to key sequences.
2549         * gmain.c (dialog_panel_callback): Call midnight_callback to get
2550         the main bindings working.
2552         * gdesktop.c (perform_drop_manually): Use p to walk the dropped
2553         data.  This is an important bug fix.
2555         * gmain.c (idle_destroy_window), main.c: Session management now
2556         supports not showing a toplevel window (in case all of the windows
2557         were closed).
2559 1998-04-30  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2561         * gtrans.c (make_transparent_window): Put hack back.
2563         * gcache.c (image_cache_load_image): Federico spooted the problem:
2564         I have to duplicate my keys for the hash.
2566         * gmain.c (create_panels): Create one panel per directory
2567         specified.  For some strange reason the code hangs if you start up
2568         more than one panel at once.  This is not a gmc bug, it appears to
2569         be an Imlib/gtk/gdk interaction.  I am for now creating one panel
2570         in the main program execution thread and the rest during the idle
2571         handler.
2573         (session_save_state): Added session management support.
2575 1998-04-29  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2577         * gprop.c (gprop_general_new): Added an simple icon preview to the
2578         icon selector.
2580 1998-04-29  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2582         * gdesktop.c: Finish desktop_icon_remove implementation.
2584         * glayout.c (update_panels): GNOME specific Implementation of the
2585         update_panels routine.
2587 Tue Apr 28 06:52:24 1998  Norbert Warmuth  <k3190@fh-sw.de>
2589         * gcmd.c (gnome_open_terminal): Changed my_system(1,...) to
2590         my_system(EXECUTE_AS_SHELL,...)
2592 1998-04-27  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2594         * glayout.c (layout_panel_gone): Removed debugging information.
2595         Renamed "Panel" to "Window" to make it less confusing to users.
2596         Moved the "New window" from the "File" menu to the "Window" menu.
2598         * gmain.c (dialog_panel_callback): Walk the list of panels to
2599         determine to which panel the activated widget belongs.
2601 1998-04-24  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2603         * gwidget.c (x_create_radio): Fix the WRadio widgets.
2605 1998-04-21  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2607         * glayout.c (create_container): Add wmclass.
2609 1998-04-16  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2611         * gdesktop.c (desktop_reload): Show all of the widgets on a reload
2612         operation.
2614         * gscreen.c (x_panel_update_marks): Do only set the marks if the
2615         widget has been created
2617         * glayout.c (assign_other): Keep track of all of the opened
2618         panels.  We were never removing them from the containers list.
2619         This fixes a number of problems.
2621         * gwidget.c (x_dialog_stop): Only call gtk_main_quit if this
2622         dialog did not inlcude the DLG_GNOME_APP flag, as those windows
2623         did not launch a gtk_main event loop.
2625         * gcmd.c: Try various terminal programs in the PATH before giving
2626         up
2628         * glayout.c: Unselect command is unselect_cmd, not select_cmd
2630         * gcmd.c (gnome_quit_cmd): Add quit confirmation.
2632         * gdesktop.c (perform_drop_manually): Check the type for the
2633         source file (directory/file) and perform the proper operation.
2634         Before this we always did a *_file_file operation.
2635         (perform_drop_manually): Use copy_dir_dir correctly
2636         (desktop_setup_default): Use copy_dir_dir correctly
2638         * gwidget.c (x_create_label): Remove debugging labels.
2640         * gscreen.c: Do not show the view/view unfiltered if the
2641         selectioned item is a directory.
2643         * gwidget.c (x_radio_toggle): Never commit non-compilable code.
2645 1998-04-15  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2647         * gwidget.c (remove_hotkey, x_create_radio): Radio buttons should
2648         not display the special Hotkey specificator.
2650         * gcmd.c (gnome_close_panel): Implement the close-the-panel
2651         functionality.
2653         * gscreen.c (x_panel_destroy): Implement the gnome mode way of
2654         destroying the panel.
2656         * gview.c (view_status): Add cacheing of the information status,
2657         to avoid excessive flicker.  It would be better if GtkLabel did
2658         not flicker though.
2659         (scrollbar_moved): Scroll correctly.  We now use
2660         view_move_backward and view_move_forward to adjust the scrollbar
2661         contents.  This displays the scrollbar correctly.
2663         * gwidget.c (x_listbox_select_nth): This may be invoked before the
2664         widget has been created, work around this problem.
2666         * gscreen.c (show_dir): Set the title bar for the window to the
2667         current directoy.  Reported by both Mike and Elliot.
2669         * layout: Updated to the new hotlist dialog box.
2671 1998-04-15  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2673         * gtrans.c (create_transparent_text_window): Destroy the cursor
2674         properly.
2676 1998-04-14  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2678         * gview.c (x_init_view): Initialize view->sadj.
2680         * gdesktop.c (start_desktop): use destkop_load instead of
2681         desktop_reload.
2682         (desktop_load): This reloads + shows every widget on the
2683         desktop_icons list.
2685 1998-04-14  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2687         * gdesktop.h: Added extern declarations for the
2688         want_transparent_icons and want_transparent_text variables.
2690         * gtrans.c (set_window_text): Now we use the new global variables
2691         want_transparent_icons and want_transparent_text to decide how to
2692         paint the pixmap and mask.  The want_transparent_* variables can
2693         thus be configured for the smartness/speed of your X server when
2694         using shaped windows.
2696 Fri Apr 12 02:40:41 1998  Norbert Warmuth  <k3190@fh-sw.de>
2698         * gwidget.c (x_create_input): return 1 if the widget has been
2699         initialized manually (there was no return value)
2701         (x_create_buttonbar): to few arguments to sprintf (button number
2702         was missing); return a value.
2704 1998-04-08  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2706         * gscreen.c (x_create_panel): Added back and forward buttons.  I
2707         need a "Home" icon too.
2709         * gwidget.c (x_create_input): Make the selection if the input has
2710         not yet been touched.
2712         * gscreen.c (panel_action_open): If opening an item fails, try
2713         panel_action_open_with.
2715         * gview.c: Implement the viewer scrollbar.
2717 1998-04-07  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2719         * gscreen.c (panel_drop_data_available): Reload the panel contents
2720         upon a drop.
2722         * gmain.c (gnome_dlg_send_destroy): Hide the widgets just before
2723         they are going to get destroyed, to avoid the shutdown
2724         flickering.
2725         (x_destroy_dlg_start): New routine/hook invoked when the destroy
2726         has just started
2727         (x_set_idle): Cancel the idle handlers properly.
2729         * gwidget.c (x_create_check): Finish the checkbox implementation.
2731         * gdesktop.c (get_desktop_icon): Fix this routine: it was
2732         cretating a file name when the filename was not set properly.
2734 1998-04-01  Marc Ewing  <marc@redhat.com>
2736         * gscreen.c: Added #include <gdk/gdkprivate.h>
2738 1998-03-31  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2740         * gcache.c: Added an Image cache for all of the imlib-loaded
2741         images to avoid destroying/reloading the images.
2743         * gdesktop.c, gtrans.c: Use the image cache.
2745 1998-03-24  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2747         * gscreen.c (x_create_panel): Show the GnomeApp when we are done
2748         packing all of our information.
2750         * gmain.c (create_panels): do not show any of the windows yet.
2752 1998-03-23  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2754         * gscreen.c (x_fill_panel): Colors are properly displayed now.
2756         Use the clipped labels.
2758         * gcliplabel.c, gcliplabel.h: Derived label that does label
2759         clipping (it does not request the allocation for the whole string,
2760         but settles with whatever is provided in the size_allocation).
2762 1998-03-23  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2764         * gtrans.c (create_transparent_text_window): Set the window's
2765         cursor to the normal top-left arrow.
2767 Mon Mar 23 01:40:35 1998  Norbert Warmuth  <k3190@fh-sw.de>
2769         * gtools.c (translate_gdk_keysym_to_curses): renamed KEY_BACKTAB
2770         to KEY_BTAB (the name ncurses uses)
2772         * Makefile.in: Install the icon-files and the layout-file from $srcdir.
2774 1998-03-20  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2776         * gdesktop.c (icon_properties):
2777         * gpageprop.c (item_properties): Modified to accept dentry title
2778         changes as well.
2779         (item_properties): Fixed base and fname confusion in call to
2780         concat_dir_and_file().
2782         * gprop.c (gprop_general_new):
2783         (gprop_general_get_data): Renamed to general from icon.  The
2784         general Gprop now lets you enter the title and icon filename for a
2785         dentry.
2787 1998-03-19  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2789         * gdesktop.c (icon_properties): Whoops, actually save the dentry.
2790         (post_setup_desktop_icon): Moved the icon positioning call outside
2791         of this function so that property-changed icons will not move on
2792         the desktop.
2794         * gdesktop.c (desktop_icon_context_popup): It is not necessary to
2795         set the menu position.
2796         (desktop_icon_context_popup): gtk_signal_connect_object_after to the menu
2797         items with gtk_widget_destroy as a callback so that we can destroy
2798         the menu widget appropriately.
2800 1998-03-19  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2802         * gscreen.c (display_mini_info): Implement mini status.
2804 1998-03-19  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2806         * gdesktop.c (get_transparent_window_for_dentry): New function,
2807         creates the proper transparent icon window for a dentry.
2808         (post_setup_desktop_icon): New function, does post-setup stuff for
2809         a desktop icon (setting it as a drop target, positioning it, etc.).
2811         * gpageprop.c (item_properties): Now the dentry parameter is a
2812         desktop_icon_t instead.
2813         We now return a bitmask that indicates what stuff changed.  The
2814         caller can use this information to decide what to update, repaint, etc.
2816         * gdesktop.h: Moved the icon_t and desktop_icon_t structures here.
2818         * gpageprop.c (item_properties): Insert icon control if appropriate.
2820         * gprop.c (gprop_icon_new):
2821         (gprop_icon_get_data): Renamed from gprop_dir_*().
2823         * gscreen.c (panel_action_properties): Re-reads panel only if necessary.
2825         *gpageprop.c (item_properties): now returns TRUE if something got
2826         changed, FALSE otherwise.  This should be used to decide whether
2827         to re-read the panel or not.
2829         * gpageprop.c: #include "../vfs/vfs.h".
2830         #include "dialog.h".
2832         * gprop.c (gprop_dir_new):
2833         (gprop_perm_new):
2834         (gprop_general_new): Connect to the destroy signal of the toplevel
2835         widget and destroy the Gprop structure on the callback.
2837 Wed Mar 18 23:09:35 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2839         * gscreen.c (panel_file_list_select_row): Use control/shift click
2840         to add files to the selection.
2842 Wed Mar 18 22:32:53 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2844         * gscreen.c (panel_action_properties): Make Federico's
2845         page-properties code functional.
2847         * gpageprop.c: New file, implements most of the page properties on
2848         top of the gprop.c code.
2850 Wed Mar 18 20:35:45 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2852         * gdesktop.c (desktop_create_launch_entry): Support for the "Drop"
2853         target in mc.ext now.
2855         * Add support for dragging the icons on the desktop.
2857         (desktop_icon_make_draggable): new function.
2858         (drop_from_event): simplify.
2859         (my_create_transparent_text_window): Get the motion notify event.
2860         (drops_from_event): create a vector based on thge drop event.
2861         (drop_cb): splitted, call url_drop for regular drops, otherwise it
2862         is a icon drop.
2863         (artificial_drag_start): new routine, used now by gscreen.c and
2864         gdesktop.c
2865         (drop_on_directory): Check result value of operation.
2866         (desktop_icon_set_position): sane interface.
2867         (stop_desktop): Flush all of our state to disk.
2869 1998-03-18  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2871         * gscreen.c: Removed tests for the gprop stuff.
2872         (file_popup): It is not necessary to show the popup menu.
2874         * gprop.c (perm_group_new):
2875         (perm_owner_new): Fill the combo lists with users and groups,
2876         respectively.
2878         * gprop.h: New files gprop.[ch].  These create the property pages
2879         for desktop entries.
2881         * Makefile.in: Added gprop.[ch] to the rules.
2883         * glayout.c: Put gnome_about_cmd as a callback for the About menu item.
2885 Tue Mar 17 22:40:36 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2887         * gdesktop.c (desktop_setup_icon): Lots of changes to accomodate
2888         dropping icons on the root window.
2890         (do_symlinks): Implement symlink action.
2892         (icon_delete, desktop_icon_context_popup): Implement icon context
2893         menus.  only deleting an icon is working right now.
2895         * gscreen.c: Load the drag and drop icons from the installation
2896         directory.
2898         * Makefile.in (install_gmc): Install our icons.
2900 Tue Mar 17 02:38:37 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2902         * gdesktop.c (desktop_setup_default): Create a default desktop
2903         entry on the root window for the Home directory if not mc.desktop
2904         exists -yet-
2906         Get drops on the root window to work.   Joy and hapiness!
2908 Tue Mar 17 00:43:50 1998  Tom Tromey  <tromey@cygnus.com>
2910         * glayout.c (gnome_panel_about_menu): "About" item now a stock
2911         menu item.
2913 1998-03-16  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2915         * gscreen.c (filter_item_activate): Make it convert the glob
2916         pattern to a regexp if appropriate.
2918 Sat Mar 14 17:13:26 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2920         * gmain.c (gnome_dlg_send_destroy): New signal handler for
2921         "delete_event".  I return TRUE (ie, do not kill this window), and
2922         manually queue que destruction of this window.
2924         * gtools.c (query_dialog): Do not allow resizing; do not destroy
2925         the dialog ourselves, this is properly handled by dlg.c now
2926         (pack_button): Do not use the defaults: we do not want growing
2927         buttons;
2929 Fri Mar 13 16:01:28 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2931         * gwidget.c (buttonbar_clicked, x_create_buttonbar): Button bar
2932         widget implemented.
2934         * gtools.c: Implement the non-modal version of the message
2935         routine.
2937         * gview.c: Create a GnomeApp widget to contain the viewer.
2939         * gmain.c (xtoolkit_create_dialog): Add a new mode where the
2940         container window is a GNOME_APP window.
2942 1998-03-13  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2944         * gscreen.c (x_select_item): Make it use GTK_VISIBILITY_FULL
2945         instead of a plain boolean value.
2946         * gwidget.c (x_listbox_select_nth): Likewise.
2948         * gscreen.c (filter_items): New global variable full of filters.
2949         Please, someone fill in the regexp parts, as I was too lazy to do
2950         them :-)
2951         (panel_create_filter): Now the filter has a very nice button that
2952         pops up a menu for selecting the filter.
2954 Thu Mar 12 22:11:23 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2956         * gwidget.c (x_update_input): Use GnomeEntry widgets instead of
2957         the GtkEntry.
2959         * gwidget.c (listbox_select): Fix for the listbox selection with
2960         the mouse.
2961         (x_create_button): Use stock pixmaps.
2963         * gcmd.c: Moved all of the _cmd routines from glayout to this
2964         place.
2965         (save_panel_types): Provide GNOME implementation.
2967         * glayout.c: New and improved menu layout.  Use stock pixmaps.
2969 1998-03-12  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2971         * gmc-chargrid.c (gmc_char_grid_draw): Someone teach me how to
2972         subtract.  Fixed a stupid offsetting bug.
2973         (update_region): Added clipping of region bounds.
2975         * gmc-chargrid.c: Changed the struct attr with pointers mess with
2976         something saner.
2977         Added an in_resize flag to avoid calling our internal signal
2978         handlers recursively.
2979         (gmc_char_grid_draw): Added proper draw handler for our case; the
2980         widget's window does not fill its allocation.
2981         (paint): New wrapper for update_region(); it converts window
2982         coordinates to row/column character coordinates.
2983         (gmc_char_grid_expose): Use paint().
2985 1998-03-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2987         * gmc-chargrid.c (update_strip): Doh.  Fixed painting of
2988         background rectangles.
2989         (gmc_char_grid_expose): Fixed off-by-one errors in area
2990         calculation.  Ripped off the code from gtkterm to do this :-)
2991         (free_attrs): New internal convenience function.
2993 Thu Mar 12 00:08:06 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2995         * gview.c (view_percent): Added status display.
2997 Wed Mar 11 22:35:02 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2999         * gwidget.c (entry_release): Now the WEntrys track the current
3000         selection.p
3001         (x_update_input): Repaint the widget after changing the position.
3003         * gscreen.c (x_fill_panel): Remember the selected item on the
3004         panel before filling it up, as gtk_clist emits a select_item
3005         signal when filling it up, which changes the current selection
3006         (and thus some routines that invoke the reload panel option
3007         fail).
3009         (create_popup_submenu): Implement context sensitive menus (regular
3010         files, and symlinks).
3012         (panel_realized): Use a different icon when we are dragging a
3013         group of files.
3015         (panel_artificial_drag_start): Add Elliot's Artificial drag start
3016         support.
3018 1998-03-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3020         * gmc-chargrid.c (gmc_char_grid_get_size): New public function.
3021         (gmc_char_grid_put_text): New public function.  It is the same as
3022         gmc_char_grid_put_str, but can take any arbitrary string plus its
3023         length.
3024         (gmc_char_grid_put_char, gmc_char_grid_put_str,
3025         gmc_char_grid_put_text): These functions now take a background
3026         pixel parameter --- the GmcCharGrid widget now supports fg/bg attributes.
3028         * gmc-chargrid.h: Changed colors field to attrs.
3030         * gmc-chargrid.c: New Character Grid widget for the file viewer.
3031         This is a very lean and fast widget for displaying a grid of
3032         monospaced characters.  Just like a crippled-down terminal.
3034 Tue Mar 10 23:46:29 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3036         * gscreen.c (x_adjust_top_file): We no longer adjust the top
3037         displayed filename.
3039         (panel_build_selected_file_list): Fix for the transfered data.
3041         (panel_drop_data_available): Now drop support uses the new
3042         coords.x and coords.y fields from the DropDataAvailableEvent to
3043         find out which directory receives the drop.
3045         * glayout.c: added: configure_box, configure_vfs
3046         (get_other_type): Return the correct value.
3048 1998-03-10  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3050         * gscreen.c (panel_file_list_size_allocate_hook): Now we
3051         connect_after to the size_allocate signal and block the handler.
3052         Things are still not perfect, though.
3054         * gtools.c (message): Added return NULL.  This needs to be fixed.
3055         (translate_gdk_keysym_to_curses): FIXME: Replace KEY_BACKTAB by '\t'
3056         while KEY_BACKTAB is added somewhere else.
3057         (translate_gdk_keysym_to_curses): return -1 as last resort.
3059         * glayout.c (get_current_index): Add g_assert_not_reached() for
3060         fatal case.
3062         * gmenu.c (menubar_new): Cast g_menubar to unsigned long.
3064         * gwidget.c (x_create_input): Cast entry to GTK_OBJECT.
3066         * gkey.c (find_select_closure_callback): Fix = -> == typo.
3068 Tue Mar 10 00:10:32 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3070         * gscreen.c (panel_drop_data_available): Now drop support uses the
3071         new coords.x and coords.y fields from the DropDataAvailableEvent
3072         to find out which directory receives the drop.
3074         * gwidget.c (x_radio_focus_item): Add support for focusing radio
3075         buttons.
3077 Mon Mar  9 15:12:00 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3079         * gtools.c (translate_gdk_keysym_to_curses), dlg.c
3080         (dlg_key_event): Support for backtab.
3082         * gwidget.c: highlight properly the focused radio entry.
3084         * gmain.c (x_init_dlg): After setting up the X widget, set the
3085         Gtk focus to h->current;
3087 1998-03-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3089         * gscreen.c (x_panel_select_item): Set the colors of the row.
3091         * gmain.c (xtoolkit_init): Changed gnome_init() to new version.
3092         (xtoolkit_init): Call gnome_init() properly.  Also, return 0.
3094 Sat Mar  7 15:24:49 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3096         * gwidget.c (entry_click): Focus the entry on clicks.
3098 Fri Mar  6 20:50:19 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3100         * gmain.c (create_panels): New per-port variable, used to flush
3101         all of the pending X events.
3103         (x_set_idle): Implement idle functions, now the find command works
3104         properly.
3106         * gwidget.c (x_create_radio): Connect to the "toggled" signal to
3107         keep track of the radio button.
3109         (listbox_select): callback for the select and double click
3110         actions.
3111         (x_update_input): This can be invoked before the
3112         widget X resources have been allocated.  Take care of this.
3114         (x_create_input): update the cursor position as well.
3116         (x_list_insert, x_create_listbox, x_list_delete_nth,
3117         x_listbox_select_nth): implement the Listbox widget.
3119         * gconf.h:  New configuration options:
3120         PORT_HAS_PANEL_ADJUST_TOP_FILE and
3121         PORT_HAS_PANEL_RESET_SORT_LABELS
3123 1998-03-06  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3125         * gmain.c (get_color): Make it use GdkColorContext correctly.
3127         * gscreen.c (panel_create_filter): The filter control is now a
3128         nice GnomeEntry.  It does not work due to gmc trapping key events;
3129         I'll look into it tomorrow.
3130         (internal_select_item): Fixed broken behavior.  Now uses GtkCList properly.
3131         default_filters: new structure with pre-defined glob patterns.
3132         This is actually broken, because it will only work when
3133         easy_patterns is enabled.  I have to figure a way to make it work
3134         with regexp mode as well.
3136 Thu Mar  5 23:54:58 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3138         * gdesktop.c (drop_on_panel): New function;  Used by the directory
3139         icons and by regular panels to support drag targets;
3141         * gscreen.c (panel_drop_data_available): Performs the drop action
3142         on a panel.  It needs fixing, as the DropDataAvailabelEvent does
3143         not provide any information as to where the drop actually
3144         happened.
3146         (fixed_gtk_widget_dnd_drag_set, fixed_gtk_widget_dnd_drop_set):
3147         Only set the main window of the clist to be the source/target of
3148         the drag and drop code.  The little square at the end did not make
3149         much sense as a drop/drag spot.
3151 1998-03-04  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3153         * gmain.h: Added prototype for x_filter_changed().
3154         Added #include "panel.h".
3156         * gconf.h (PORT_HAS_FILTER_CHANGED): New flag for conditional compilation.
3158 Wed Mar  4 22:43:00 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3160         * gtools.c (query_dialog): Rewritten to use the MC dialog/widget code.
3162         * gutil.c (my_system), acconfig.h: By default gnome will not have
3163         a subshell (at least for now) and will now exec everything
3164         asyncronously by default.
3166         * gscreen.c: Exactly what was I thinking when I used the
3167         g_panel_contents structure will remain a mistery for future
3168         programming psycologists.  It was a huge mistake.
3170         * gdesktop.c: Use the new icon/text display routine from
3171         Federico.
3173 Tue Mar  3 21:03:52 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3175         * gmain.c (x_destroy_dlg): Call gtk_grab_remove when destroying
3176         the dialog.
3178         * gmain.c (x_focus_widget): Handle special case of toplevels.
3180 1998-03-04  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3182         * gscreen.c: Some hackish changes to work around idempotence bugs
3183         in gtk_clist_select_row().