corrected some lines too long...
[midnight-commander.git] / gnome / ChangeLog
blobeff12edfebf47f41d6c6188ebb15de7fddb0f6bd
1 1999-11-29  Federico Mena Quintero  <federico@redhat.com>
3         * gdesktop.c (desktop_arrange_icons): Return immediately if there
4         are no icons in the desktop.  BUGFIX: bugs.gnome.org #3789.
5         (desktop_popup): Desensitize the "arrange icons" commands if there
6         are no icons in the desktop.
8 1999-11-01  Pavel Machek     <pavel@ucw.cz>
10         * make_thumb.c: close symlink hole
12         * *.c: add return_val_if_fail, it is better than crashing. Sorry
13         about that *image = NULL, but gcc should be able to optimize it
14         out in non-debugging case.
16 1999-10-27  Miguel de Icaza  <miguel@nuclecu.unam.mx>
18         * gdesktop-init.c (desktop_init_at): Put an equal sign between the
19         option and the rest.
21 1999-10-20  Federico Mena Quintero  <federico@redhat.com>
23         * gdesktop.c (text_changed): Do not try to rename the file if the
24         name did not change.  BUGFIX: GNOME bug tracker #2851.
26 1999-10-06  Jonathan Blandford  <jrb@redhat.com>
28         * gpopup2.c (create_actions): Now the Mount/Unmount/Eject device
29         code will be lumped together with the other MIME_ACTIONS, even
30         thought they're not controlled there.
32 1999-10-06  Norbert Warmuth  <nwarmuth@privat.circular.de>
34         * gmain.c, gmain.h: removed disable_root_warning. This variable
35         wasn't defined anywhere.
37 1999-09-30  Vincent Renardias <vincent@ldsol.com>
39         * gmain.c, gmain.h: add a '--disablerootwarning' flag which
40         disable the iritating "You're running gmc as root." dialog box.
41         (idealy, that box should also contain a "don't show this
42         message again" checkbox; any objection?).
44 1999-09-29  Federico Mena Quintero  <federico@redhat.com>
46         * gcorba.c (corba_activate_server): New function.  Activate the
47         POA manager here, when we are actually ready to process requests,
48         instead of at the beginning of initialization.
50         * gmain.c (create_panels): Call corba_activate_server().
52 1999-09-22  Federico Mena Quintero  <federico@redhat.com>
54         * gscreen.c (panel_chdir): Clear the lists if the chdir operation
55         was not successful.
57         * gtkflist.c (gtk_flist_button_press): Only emit the open_row
58         signal if we are not on the empty area.
60         * gnome-open-dialog.c (gnome_open_dialog_new): Expand the tree
61         when we are done generating it.
63 1999-09-21  Federico Mena Quintero  <federico@redhat.com>
65         * gdesktop.c (desktop_reload_icons): Do not call x_flush_events()
66         when we are done.
68         * gsession.c (create_panel_from_info): The widgets are not created
69         yet, so just set the panel->list_type field.
71         * gscreen.c (x_create_panel): Do not change the dialog head's
72         current pointer.
74         * gmain.c (x_init_dlg): Only call x_focus_widget() if there is a
75         current widget.
76         (non_corba_create_panels): Removed the nasty hack that created a
77         dummy panel and destroyed it in the idle loop.  Wheeeeeee!
79 1999-09-20  Federico Mena Quintero  <federico@redhat.com>
81         * gsession.c (save_panel_info): Save the panel's list type.
82         (idle_create_panels): Set the panel's list type.
84         * gdesktop.c (handle_recreate_default_icons): New option to
85         re-create the default set of icons.
87         * gdesktop-init.c (gdesktop_links_init): Create the link to the
88         user's home directory here.
90         * gcorba.c (WindowFactory_get_windows_by_directory): Fill in the
91         sequence correctly.
93         * gsession.c (load_panel_info): Doh.  Fix test for presence of the
94         cwd info.
95         (load_session_info): If we could not load the panel info, do not
96         insert bogus data in the list.
98         The following is a patch from Volker Braun
99         <volker.braun@physik.hu-berlin.de> to fix column resizing in the
100         file panels.
102         * gcustom-layout.c (custom_layout_apply): Set the
103         default_user_format to the new format.
105         * gscreen.c (panel_fill_panel_list): Set the column widths
106         according to the previously stored values.
107         Nuked the old and hideous panel_file_list_configure_contents().
108         (panel_file_list_configure): Connect to resize_column in the clist.
109         (panel_create_file_list): Do not connect to size_allocate.
110         (x_create_panel): Set the column width array for this panel.  Set
111         the user format from the default one if it exists.
113         * gsession.c (PanelInfo): Added information about column widths
114         and the user format.
115         (save_panel_info): Save the complete information.
116         (load_panel_info): Load the complete information.
117         (free_panel_info): Free the user format.
118         (idle_create_panels): Set the user format and column widths.
120 1999-09-20  Federico Mena Quintero  <federico@redhat.com>
122         * gdesktop.c (desktop_rescan_devices): Call gmount_setup_devices().
124         * gdesktop-init.c (gdesktop_links_init): Renamed from
125         gdesktop_init().  Only set up customizable links here.
127         * gdesktop.c (create_desktop_dir): Do the default setup of desktop
128         icons here.
130         * gmount.c (option_has_owner): New function to see if a mount
131         entry has the "owner" flag and its uid matches our euid.
132         (is_block_device_mountable): Use option_has_owner().
133         (get_mountable_devices): Likewise.
135 1999-09-17  Federico Mena Quintero  <federico@redhat.com>
137         * gmain.c (x_init_dlg): Display a warning if the GtkTed code path
138         is ever reached.
139         (xtoolkit_create_dialog): Likewise.
140         (x_add_widget): Likewise.
142 1999-09-16  Owen Taylor  <otaylor@redhat.com>
144         * gmount.c: Remove the HAVE_MAGICDEV conditional.
146         * Makefile.in magicdev.idl: Add the magicdev.idl file
147         here to avoid creating dependency loops.
149 1999-09-14  Norbert Warmuth  <nwarmuth@privat.circular.de>
151         * layout: Added the new samba password dialog.
153 1999-09-13  Owen Taylor  <otaylor@redhat.com>
155         * Makefile.in (MAGICDEV_OBJS): Built common/stubs
156         for magicdev if we found it.
158         * gmount.c (automounter_is_running): If we detected
159         magicdev support at compile time, use a CORBA query
160         to detect if it is running.
162         * gcorba.c (WindowFactory_get_windows_by_directory): Set the
163         length of the sequence we are returning.
165         * gmount.c (setup_devices): is_block_device_mounted expects
166         mount point, not device.
168 1999-09-13  Miguel de Icaza  <miguel@gnu.org>
170         * glayout.c: Add C-w for sopwith.
172 1999-09-13  Federico Mena Quintero  <federico@redhat.com>
174         * gtkdtree.c (scan_subtree): Do not set the current path here,
175         just load the subtree.
176         (gtk_dtree_get_row_path): Removed the column argument, since it
177         was never used.
178         (scan_subtree): Added a path argument that can be calculated
179         upstream.
180         (gtk_dtree_expand): Compute the path for scan_subtree().
181         (gtk_dtree_select_row): Compute the path for scan_subtree(), and
182         set the tree's current path here.  This is the right thing;
183         setting the current path is completely orthogonal from scanning a
184         subtree.
186         * gtkdtree.c (gtk_dtree_class_init): Sigh.  Create a new signal,
187         called "possibly_ungrab", used to request the client to ungrab the
188         mouse at the proper time.  This is required because the stupid
189         clist button press handler grabs the mouse, and we don't want that.
190         (gtk_dtree_select_row): Emit the possibly_ungrab signal here.
192         * gscreen.c (panel_tree_drag_motion): Set the
193         panel->drag_tree_dragging_over flag.
194         (panel_tree_drag_leave): Unset said flag.
195         (panel_tree_possibly_ungrab): Ungrab the mouse here.
197 1999-09-11  Owen Taylor  <otaylor@redhat.com>
199         * gcorba.c (Window_close): Fixed typo in cast.
201 1999-09-10  Federico Mena Quintero  <federico@redhat.com>
203         * gmount.c (setup_devices): See if our supported automounter,
204         magicdev, is running and only create links for mounted CD-ROMs if
205         so.
206         (automounter_is_running): For now just return TRUE; we have to
207         wait for magicdev to export a CORBA server.
209         * gcorba.c (corba_init_server): Initialize the POA here instead of
210         in register_servers().
212 1999-09-10  Miguel de Icaza  <miguel@nuclecu.unam.mx>
214         * gnome-file-property-dialog.c (apply_uid_group_change): Fix more
215         broken code.
217 1999-09-09  Federico Mena Quintero  <federico@redhat.com>
219         * gcorba.c (WindowFactory_close_invalid_windows): Doh.  Walk the
220         list properly, since it may change as we delete windows.
222 1999-09-09  Federico Mena Quintero  <federico@redhat.com>
224         * gmc-client.c: New file.  This is a small program to which you
225         can pass arguments to call the GMC CORBA interface for you.  You
226         can do stuff like create a directory window, rescan the desktop,
227         etc.
229         * gcorba.c (register_servers): Create the window factory and
230         desktop servers.
232 1999-09-08  Federico Mena Quintero  <federico@redhat.com>
234         * gcorba.c: Major re-arrangement and beautifying.  Use nicer and
235         shorter identifier names.
236         (WindowFactory_rescan_directory): New method to rescan all the
237         panels that pertain to the specified directory.
238         (WindowFactory_close_invalid_windows): New method to close all the
239         panels that have unreachable directories.
240         (WindowFactory_get_windows_by_directory): New method to get a
241         sequence of all the panels that are showing the specified directory.
242         (Desktop_rescan): New method to rescan the desktop.
243         (Desktop_rescan_devices): New method to rescan the mountable devices.
245         * gmc.gnorba: Fixed the GOAD IDs to be something non-ad-hoc.
246         Added the Desktop interface.
248 1999-09-06  Federico Mena Quintero  <federico@redhat.com>
250         * gtkdtree.c (gtk_dtree_size_allocate): Do the "visibility" test
251         the right way.
253 1999-09-06  Miguel de Icaza  <miguel@nuclecu.unam.mx>
255         * gtkdtree.c (gtk_dtree_size_allocate): Small change to improve
256         the non-tree loading feature of gmc.
258 1999-09-05    <jrb@redhat.com>
260         * mc.keys.in.in: changed image/x-xcf to be image/x-gimp.  Also,
261         associated gimp with the various actions.  This prolly should be
262         done distributed with gimp, but it's more useful here.
264 1999-09-02  Miguel de Icaza  <miguel@nuclecu.unam.mx>
266         * gscreen.c: Added it here too.
268         * glayout.c: Add File-new option here
270         * gcmd.c (gnome_newfile_cmd): Added new routine.  Invoke when you
271         want to create a new file.
273 1999-09-01  Federico Mena Quintero  <federico@redhat.com>
275         * gscreen.c (panel_icon_renamed): Do nothing if the name did not
276         change.
278 1999-08-30  Federico Mena Quintero  <federico@redhat.com>
280         * gdnd.c (file_has_drop_action): New function to test whether a
281         file has the drop-action metadata or MIME action property.
282         (gdnd_validate_action): Take the drop-action metadata/MIME
283         property into account.
284         (gdnd_can_drop_on_file): New function to see whether a
285         non-directory file can take drops.
287         * gscreen.c (drop_on_panel): New helper function to drop stuff on
288         a panel.  This uses gdnd_can_drop_on_file so that we have the
289         correct behavior.  This enables dropping on executables and files
290         with the drop-action metadata/MIME property again.
291         (panel_icon_list_drag_data_received): Use drop_on_panel().
292         (panel_clist_drag_data_received): Use drop_on_panel().  Normalize
293         the Y coordinate to the clist_window.
295 1999-08-26  Federico Mena Quintero  <federico@redhat.com>
297         * gscreen.c (panel_clist_drag_motion): Pass the full name to
298         gdnd_validate_action().
299         (panel_icon_list_drag_motion): Likewise.
300         (panel_tree_drag_motion): Likewise.
302         * gdnd.c (gdnd_perform_drop): Renamed the "directory" argument to
303         "dest_full_name" for clarity.
304         (gdnd_validate_action): Likewise.  Pass in the full name to
305         if_link_is_exe().
306         (drop_on_file): Do not compute the full name, since we are already
307         get it from the caller.
308         (drop_on_file): Pass in the full name to if_link_is_exe().
310         * gscreen.c (panel_tree_drag_data_received): Free the pathname.
312         * gdesktop.c (icon_drag_data_received): Pass the full name of the
313         file to gdnd_perform_drop(), not just the desktop directory.
315 1999-08-23  Federico Mena Quintero  <federico@redhat.com>
317         * gdesktop-prefs.[ch]: New files that handle the desktop
318         preferences page.  Now we have a nice way to configure the
319         position of desktop icons.
321         * gprefs.c (create_prop_box): Use desktop_prefs_new() to create
322         the desktop preferences page.
323         (apply_page_changes): Do not update the desktop here.
324         (apply_callback): Take the desktop page into account.
326         * gdesktop.c (desktop_use_shaped_text): Renamed from
327         desktop_use_transparent_text.
329         * Makefile.in: Added gdesktop-prefs.[ch] to the list of sources.
331 1999-08-19  Richard Hestilow  <hestgray@ionet.net>
333         * gicon.h: define ICON_IMAGE_WIDTH and ICON_IMAGE_HEIGHT
334         for default icon size. Currently set at 48 by 48.
336         * gicon.c (gicon_get_icon_for_file): Scale down images that are too
337         large. Scales down to a size <= DESKTOP_ICON_WIDTH by
338         DESKTOP_ICON_HEIGHT. Correctly composites arrows on user-selected
339         icons. Shows gnome-warning for unreachable symlinks with no user
340         selected icon.
342         * gdesktop-icon.c (desktop_icon_reshape): dicon->height is now a
343         MAX of total height (icon height + spacing + text height) and
344         DESKTOP_SNAP_X, so that all icons are of a uniform height and small
345         icons center nicely. Rest of function modified to take this into
346         account. create_window_shape is now called last of all,
347         so dicon's various x/y/width/height fields are up to date.
348         (create_window_shape): Determine drawing coordinates based on
349         dicon->icon & dicon->text coordinates, instead of calculating them
350         by hand (Needed for size changes).
351         (set_text): Modified to take the size changes into acount.
353         PATCH FROM volker.braun@physik.hu-berlin.de:
355         * gprefs.c, setup.c, gdesktop.[ch]: Added option
356         desktop_use_transparent_text (Default is FALSE)
358         * gdesktop-icon.c (create_window_shape:
359         * gdesktop.c (click_button_proxy_press): Modified to take into
360         account transparent text.
362 1999-08-16  Federico Mena Quintero  <federico@redhat.com>
364         * gmain.c (default_edition_colors): "brightred" is not a standard
365         X color; use "red" instead.
366         (get_color): Take into account the result of gdk_color_parse().
368 1999-08-13  Federico Mena Quintero  <federico@redhat.com>
370         * gscreen.c (rename_file_with_context): Moved the try_rename()
371         function from gdesktop.c over to here, and renamed it for general
372         use.
373         (panel_icon_renamed): Use rename_file_with_context().  BUGFIX:
374         GNOME bug tracker #1582.
376         * gscreen.c (panel_fill_panel_list): Select or unselect the rows
377         as appropriate, not just select them.  This is needed because the
378         clist changes the selection under us when appending rows.
379         Finally, do not call select_item() at the end; just reset the
380         panel->selected value.
381         (panel_fill_panel_icons): Likewise.
382         (tree_drag_open_directory): Disabled the auto-collapse
383         functionality yet again, since it has numerous problems.  BUGFIX:
384         GNOME bug tracker #1656.
386         * gcmd.c (gnome_reverse_selection_cmd_panel): Re-enabled this
387         function.  The reverse selection bug was somewhere else after all.
389         * glayout.c (gnome_panel_edit_menu): Re-inserted the item for
390         reverse selection.  It was pointing to the wrong callback, that is
391         why it never worked.
393 1999-08-12  Federico Mena Quintero  <federico@redhat.com>
395         * gtkdtree.c (scan_subtree): Scan the subtree unconditionally, as
396         it is completely orthogonal from the selection status.
397         (gtk_dtree_select_row): Maintain the dtree->last_node field here.
398         This fixes the expand/select the same row sequence.  BUGFIX: GNOME
399         bug tracker #1758.
401 1999-08-12  Jonathan Blandford  <jrb@redhat.com>
403         * gpopup2.c (handle_unmount): We refresh when we unmount/mount a cdrom.
405         * gscreen.c (queue_reread_cmd): We refresh when we make a change.
407 1999-08-12  Federico Mena Quintero  <federico@redhat.com>
409         The two following entries are BUGFIX: GNOME bug tracker #1789.
411         * gscreen.c (panel_fill_panel_list): Do not allow selection of "..".
412         (panel_icon_list_select_icon): Likewise.
414         * glayout.c (gnome_panel_edit_menu): Removed the Invert Selection
415         command.  It is completely broken for the expected GNOME
416         semantics.
418         * gnome-file-property-dialog.c (perm_group_new): If the file
419         belongs to an unknown user/group, use the group's number as a
420         string for the entry box.  BUGFIX: GNOME bug tracker #1414.
421         (perm_owner_new): Do the same thing for the user.
423         * gdialogs.c (file_mask_dialog): Destroy the dialog if it was
424         closed by the window manager, as well.
425         (file_op_context_create_ui): Make the operation window modal so
426         that the user cannot fiddle with other windows while files are
427         being operated on.  BUGFIX: GNOME bug tracker #1035.
429 1999-08-10  Federico Mena Quintero  <federico@nuclecu.unam.mx>
431         * gdialogs.c (file_mask_dialog): Sigh, disabled background
432         operations, since they are completely hosed.  Re-aligned the
433         widgets in the dialog.  BUGFIX: GNOME bug tracker #1412, #1416.
435 1999-08-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
437         * gscreen.c (editing_icon_list): New function to figure out
438         whether an icon in the icon list is being edited.  This is a
439         FANTASTICALLY UGLY HACK, but we cannot add new functions to the
440         icon list at this point as it would break forwards compatibility.
441         Sigh.  BUGFIX: GNOME bug tracker #382, #1065.
443         * glayout.c (gnome_panel_desktop_menu): Added some underline
444         accelerators.
446         * gdesktop.c (desktop_arrange_icons_items): Renamed to the desktop
447         namespace.  Added underline accelerators.
448         (handle_arrange_icons_name): Made static.
449         (handle_arrange_icons_type): Likewise.
450         (handle_arrange_icons_size): Likewise.
451         (handle_arrange_icons_access): Likewise.
452         (handle_arrange_icons_mod): Likewise.
453         (handle_arrange_icons_change): Likewise.
454         (desktop_arrange_icons): Made static.
455         (strip_tearoff_menu_item): Made it return the number of items in
456         the menu, not the list of children.
457         (desktop_icon_info_destroy): Remove the icon from the icon hash
458         table.
459         (text_changed): Update the icon hash table information.
461         * gdesktop.h: Cleaned up some unused prototypes.
463         * gview.c (view_status): Use the correct g_snprintf() format
464         argument.
466         * gcmd.c (sort_get_func_from_type): Indented according to the MC
467         conventions.  People, *PLEASE* follow the Gnome Programming
468         Guidelines, especially when modifying existing code.
470         * gdesktop.c (swap): Likewise.
471         (auto_pos): Likewise.
472         (get_icon_auto_pos): Likewise.
474 1999-08-08  Richard Hestilow  <hestgray@ionet.net>
476         * gcmd.[ch]
477         * glayout.c
478         * gprefs.c
479         * gdesktop.[ch] (mostly auto_pos and desktop_arrange_icons):
480         Reworking of the desktop's Arrange Icon code -- in addition to
481         being able to sort by various criteria now (name, file size, etc),
482         there are now 3 options (Right to Left, Bottom to Top, Rows instead
483         of Columns) controlling layout positioning. (Located in the "Desktop"
484         Preferences tab)
486 1999-08-08  David Martin <dmartina@usa.net>
488         * gaction.c (mainly gmc_unable_to_execute_dlg): Moved g_strconcat
489         to g_strdup_printf, to get compact strings and make coherent
490         translations. Translate atomic actions (open, edit, view) when
491         calling this function.
493 1999-08-06  Federico Mena Quintero  <federico@nuclecu.unam.mx>
495         * gdesktop.c (try_rename): New function to rename a desktop icon's
496         file by using a file operation context.
497         (text_changed): Use try_rename() instead of fiddling with the VFS
498         directly.  BUGFIX: GNOME bug tracker #707.  Also, destroy the old
499         icon before updating the desktop.
501 1999-08-06  Norbert Warmuth  <nwarmuth@privat.circular.de>
503         * gconf.h (PORT_STATIC_IN_STRING_FILE_XTIME): new port specific
504         feature. The Gnome edition first calls all string_file functions
505         and then uses the return values of these functions. This needs
506         some static buffers in string_file_[acm]time. Therefore additional
507         static buffers in string_file_[acm]time are needed.
509 1999-08-05  Federico Mena Quintero  <federico@nuclecu.unam.mx>
511         * gnome-file-property-dialog.c (perm_group_new): Set the correct
512         group name in the group entry box.  BUGFIX: Red Hat bugzilla #3244.
514         * gmount.c (get_mountable_devices): Return the list in getmntent()
515         order.  BUGFIX: Red Hat bugzilla #3621.
517         * gprefs.c (help_callback): New help callback for the preferences
518         dialog.  It loads the "gmcprefs.html" section from the GMC user's
519         guide.  We need a better framework for this; we need to be able to
520         map DocBook identifiers (<foo id="bar">) to HTML files or
521         whatever.  BUGFIX: Red Hat bugzilla #3194.
523 1999-08-01  David Martin <dmartina@usa.net>
525         * gcmd.c (gnome_about_cmd): Change strings in gmc "about" to
526         static as they only translated once.
528 1999-08-01    <jrb@redhat.com>
530         * glayout.c: moved Preferences to a settings menu.
532 1999-07-17  Karsten Weiss  <karsten@addx.au.s.shuttle.de>
534         * mc.keys.in.in: changed "x11amp" references to "xmms" (xmms is
535         the new name of x11amp).
537 1999-07-13  Miguel de Icaza  <miguel@gnu.org>
539         * gnome-file-property-dialog.c (perm_group_new): the return values
540         from the group functions in libc return pointers to static buffers
541         in the library.  Duplicate all return values and free them at the
542         end.
544 1999-07-12  Miguel de Icaza  <miguel@nuclecu.unam.mx>
546         * gdesktop.c (icon_drag_data_received): Use desktop directory here
547         not the fullname when invoking gdnd_perform_drop as this is what
548         the code expects.
550         * gnome-file-property-dialog.c (perm_group_new): Patch from
551         Germano Leichsenring <germano@jedi.cs.kobe-u.ac.jp> that fixes the
552         display of groups for non-root users.
554 1999-07-07    <jrb@redhat.com>
556         * mc.keys.in.in: updated a few values.
558 1999-07-01  Federico Mena Quintero  <federico@nuclecu.unam.mx>
560         * gcorba.c (corba_create_window): Ensure that the directory we
561         pass to the CORBA server is not NULL.
563         * gscreen.c: Removed a bunch of unused functions for filters.
565 1999-06-30  Federico Mena Quintero  <federico@nuclecu.unam.mx>
567         * gscreen.c (x_select_item): Removed icon list hacks.
569 1999-06-24  Norbert Warmuth  <nwarmuth@privat.circular.de>
571         * gmc-chargrid.c (update_strip): Paint every character with the
572         assigned fore and background color instead of using the colors of
573         the first character for the whole line.
575 1999-06-22  Miguel de Icaza  <miguel@nuclecu.unam.mx>
577         * gsession.c (create_default_panel): Use directory specified in
578         command line.
580         * gcorba.c (corba_create_window): Pass the directory we receive or
581         cwd if this value is NULL.
583         * gmain.c (non_corba_create_panels): Use parameter for startup
584         directory (use the this_dir external directory for this).
585         (create_panels): Pass this_dsir to non_corba_create_panels and
586         corba_create_window.
588 1999-06-22  David Martin <dmartina@usa.net>
590         * gnome-file-property-dialog.c (switch_metadata_box): Tag some
591         strings for localization.
593         * gnome-open-dialog.c (gnome_open_dialog_new): Don't assemble
594         label_string from seperate strings (makes it easier to translate).
596 1999-06-22  Norbert Warmuth  <nwarmuth@privat.circular.de>
598         * gview.c (viewer_size_changed): Update internal viewer state used
599         in hex mode.
601 1999-06-17  Federico Mena Quintero  <federico@nuclecu.unam.mx>
603         * gdesktop.c (set_icon_wmclass): New function to set the wmclass
604         and wmname for desktop icons.  This lets them be managed correctly
605         by WMs who try to manage X11R5 clients decently.
606         (text_changed): Call set_icon_wmclass().
607         (desktop_icon_info_new): Call set_icon_wmclass().
609         * gdesktop-icon.c (desktop_icon_realize): Do not clear the
610         WM_CLIENT_LEADER property.
612 1999-06-14  Federico Mena Quintero  <federico@nuclecu.unam.mx>
614         * gdesktop.c (icon_is_in_area): Fixed off-by-one error in
615         intersection computation.
617         * gdesktop-icon.c (desktop_icon_reshape): Set the correct values
618         for dicon->text_x and dicon->text_y.
620 1999-06-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>
622         * gwidget.c (x_update_input): Unblock the changed signal *after*
623         we call gtk_editable_changed().
625 1999-06-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
627         * gdesktop-icon.[ch]: Removed the background hack for desktop
628         icons.  Now the GnomeIconTextItem does the right thing.
630         * gdesktop-icon.c (desktop_icon_reshape): Use the correct size for
631         the icon text item.
633 1999-06-07  Federico Mena Quintero  <federico@nuclecu.unam.mx>
635         * gdesktop.c (new_terminal): New function to open a terminal from
636         the popup menu.  If the user opens a terminal from the desktop,
637         then its cwd should be the user's home directory, not the desktop
638         directory.  Fixes bug #2868 in the Red Hat bugzilla.
640 1999-06-04  Robert Brady  <rwb197@ecs.soton.ac.uk>
642         * gscreen.c (panel_list_configure_contents): Prevent
643         divide by zero error. (Fixes bug #1360)
645 1999-06-02  Miguel de Icaza  <miguel@nuclecu.unam.mx>
647         * gmain.c (xtoolkit_init): Ignore SIGTTIN and SIGTTOU.
649 1999-06-01  Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
651         * gnome/gdesktop-icon.h:
652         * gnome/gmc-chargrid.c: Replace gdk_font_load() with
653         gdk_fontset_load(), and change the default font names.
655 1999-05-28  Miguel de Icaza  <miguel@nuclecu.unam.mx>
657         * gscreen.c: Include util.h after x.h;  Undefine __G_LIB_H__.
659 1999-06-01  Miguel de Icaza  <miguel@nuclecu.unam.mx>
661         * gdesktop-icon.c (desktop_icon_select): Show the
662         dicon->background.
663         (desktop_icon_init): Initialize backgorund as a rectangle that
664         fills all of the space used by the icon.
666 1999-05-31  Kjartan Maraas  <kmaraas@online.no>
668         * glayout.c (gnome_panel_about_menu): Hooked up the new help
669           file in the menu.
671 1999-05-29  Miguel de Icaza  <miguel@nuclecu.unam.mx>
673         * gprefs.c (create_prop_int): Translate this label too.
675         * gnome-open-dialog.c: Add config.h here.  Otherwise there is no
676         way to translate this dialog.  Thanks to David Martina for
677         pointing this out.
679 1999-05-27  Miguel de Icaza  <miguel@nuclecu.unam.mx>
681         * gscreen.c (panel_tree_button_press): Beginning of context menu
682         on tree.
684         * gtkdtree.c (gtk_dtree_load_path): Comment out the phantom code.
685         Need to review this code.  Lets fix the problem Federico needs
686         solved now.
688 1999-05-26  Miguel de Icaza  <miguel@nuclecu.unam.mx>
690         * gpopup.c (panel_action_properties): Hanlde properly
691         gnome_dialog_run here.
693         * gpopup2.c (handle_properties): ditto
695         * gmain.c (gnome_check_super_user): Use dialog_run_and_close here.
697         * gpopup.c (dicon_properties): Handle propery gnome_dialog_run
699         * gdialogs.c (file_mask_dialog): Fix usage of gnome_dialog_run
700         here.  Handle case == -1.
702         * gcmd.c (gnome_select): Fix usage of gnome_dialog_run here
703         (handle case == -1)
705         * gscreen.c (panel_fill_panel_icons): Add a hack to work around
706         gnome-libs/gnome-icon-list bug that did not reset the proper
707         values.  A fix will be available in gnome-libs-1.0.10.
709         Fixes bug #1338.
711         * gcmd.c (gnome_close_panel): Remove filter_w
713         * gscreen.c (x_filter_changed): Update nothing.
715 1999-05-23  Miguel de Icaza  <miguel@nuclecu.unam.mx>
717         * gnome-open-dialog.c (gnome_open_dialog_generate_tree_helper):
718         Invoke closedir here as well.
720         * gdesktop-init.c (desktop_init_at): Invoke closedir here.
722 1999-04-29  Federico Mena Quintero  <federico@nuclecu.unam.mx>
724         * gdialogs.c (file_progress_show_count): Use correct formats for
725         snprintf().
727 1999-05-03  Tuomas Kuosmanen  <tigert@gimp.org>
729         * i-directory.png
730         * i-directory.png: Added new icons for normal and locked folder..
731         I hope you like them - imho they look way better than the old ones.
733 1999-05-01  Miguel de Icaza  <miguel@nuclecu.unam.mx>
735         * gcmd.c (gnome_new_link): Allow users to create url shortcuts on
736         the desktop menu.
738 1999-04-20  Federico Mena Quintero  <federico@nuclecu.unam.mx>
740         * gdesktop.c (click_proxy_motion): Terminate rubberbanding if the
741         event mask does not contain GDK_BUTTON1_MASK.  There is a race
742         condition where we will not get the button release event if we
743         manage to grab the server in the button_press handler before the
744         window manager proxies the button release to us.
745         (perform_release): New function to terminate rubberbanding; this
746         used to be in click_proxy_button_release().  Also, update the drag
747         selection based on the last known mouse position, not on the
748         current one (which is not meaningful if the race condition
749         mentioned above kicks in).
750         (click_proxy_button_release): Use perform_release().
752 1999-04-19  Federico Mena Quintero  <federico@nuclecu.unam.mx>
754         * gdialogs.c (file_op_context_create_ui): Handle the "close"
755         signal from the progress dialog; do not let GnomeDialog close it
756         for us.  This fixes bug #2203 in Red Hat's Bugzilla.
758 1999-04-19  Miguel de Icaza  <miguel@nuclecu.unam.mx>
760         * gnome-file-property-dialog.c (perm_group_new): Small typo fix
761         that fixes crash (#958)
763 1999-04-16  Miguel de Icaza  <miguel@nuclecu.unam.mx>
765         * mc.keys.in.in: Merge the application/tex values.
767 1999-04-18  Miguel de Icaza  <miguel@nuclecu.unam.mx>
769         * gnome-file-property-dialog.c (create_general_properties): Mark
770         some more strings for translations.  Thanks to David Martina for
771         pointing these out.
773         * mc.keys.in.in: New icons from Tim Davis <davist@cs.man.ac.uk>
775 1999-04-16  Miguel de Icaza  <miguel@nuclecu.unam.mx>
777         * gscreen.c: Include the glib.h header file here.
779 1999-04-16  Federico Mena Quintero  <federico@nuclecu.unam.mx>
781         * gtkdtree.c (gtk_dtree_save_tree): Use tree_store_save().
783         * gscreen.c (panel_tree_check_auto_expand): Enabled auto-collapse
784         functionality again.  Made the code a simpler by using
785         gtk_dtree_is_ancestor().
787         * gtkdtree.c (gtk_dtree_is_ancestor): New function to test whether
788         a node is an ancestor of a child.  This does the same as
789         gtk_ctree_is_ancestor(), but much more efficiently.  GtkCTree
790         seems to use the pessimal algorithm for this.
791         (gtk_dtree_collapse): Slight optimization: do not re-select if the
792         node is already selected.
793         (gtk_dtree_collapse): Do not freeze/thaw the tree while
794         collapsing/selecting.
796         * gmain.c: Removed crufty old SM code.
798 1999-04-15  Federico Mena Quintero  <federico@nuclecu.unam.mx>
800         * gscreen.c (panel_setup_drag_scroll): Made it not return
801         anything, since scrolling is independent from any other
802         prelighting actions.
803         (panel_tree_drag_begin): Do not print debugging message.
804         (panel_drag_data_get): Assert that we were requested a valid data
805         type.
806         (panel_create_tree_view): Only specify GTK_DEST_DEFAULT_DROP for
807         the tree, since we want to present the correct feedback when the
808         user is hovering over the blank area in the tree.
809         (panel_build_selected_file_list): Made it return char *.
810         (panel_tree_drag_end): Free dtree->drag_dir, not dtree->current_path.
811         (tree_drag_open_directory): Use panel->drag_tree_node instead of
812         the coordinates hack.
814 1999-04-15  Jonathan Blandford  <jrb@redhat.com>
816         * gaction.c (gmc_unable_to_execute_dlg): really ugly hack to set label.
817         (gmc_unable_to_execute_dlg): oops. forgot this.
819 1999-04-13  Miguel de Icaza  <miguel@nuclecu.unam.mx>
821         * gtkdtree.c (gtk_dtree_destroy): Memory leak fix: destroy
822         current_path and requested_path
824 1999-04-13  Jonathan Blandford  <jrb@redhat.com>
826         * mc.keys.in.in: updated the key files to add more types.
828 1999-04-12  Andrew T. Veliath  <andrewtv@usa.net>
830         * gdesktop.c (create_panel_from_desktop): Assign selected_index
831         when we find the last selected icon.
832         (desktop_icon_info_open): Desktop directory open case moved to
833         main.c to handle both general and action cd commands.
835 1999-04-12  Tuomas Kuosmanen  <tigert@gimp.org>
837         * glayout.c: Changed the stock icon for File->Delete to
838         GNOME_STOCK_PIXMAP_TRASH (the trashcan)
840 1999-04-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
842         * gscreen.c (panel_icon_list_button_press): Ignore double clicks.
843         (panel_widget_motion): Don't do anything if the button state does
844         not match the button we are expecting.
846         * gtkflist.c (gtk_flist_button_press): Remove pending selections
847         when we receive a double click.
849         * gaction.c: #include "view.h"
851 1999-04-09  Miguel de Icaza  <miguel@nuclecu.unam.mx>
853         * gmount.c (is_block_device_mountable): Allow root to mount
854         devices.
856 1999-04-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
858         * gtkflist.[ch]: New files.  This is a "file list" widget derived
859         from GtkCList that does several things:
861                 - Overrides all mouse and keyboard event handlers.
863                 - Implements its own, *sane* selection behavior, unlike
864                 GtkCList's, which is broken.
866                 - Implements the same selection behavior as the desktop,
867                 which is a) correct, and b) consistent.
869         * gscreen.c (panel_create_file_list): Use the GtkFList widget.
870         (panel_widget_motion): Changed the drag thresholds to be the same
871         as in gtkdnd.c.
872         (start_drag): New convenience function to begin a drag operation.
873         (panel_widget_motion): Use start_drag().
874         (panel_clist_scrolling_is_desirable): Offsets must be with respect
875         to the clist_window, not to the allocation.
876         (panel_clist_drag_motion): Normalize the y coordinate of the
877         motion event to the clist_window.
879         * gdesktop.c (desktop_icon_info_destroy): Reset the
880         last_selected_icon to NULL if it is destroyed.
882         * Makefile.in: Added gtkflist to the list of files.
884 1999-04-09  Rosanna Yuen  <rwsy@mit.edu>
886         * gaction.c (gmc_view): We now have consistant actions everywhere;
887         every time you invoke a file.
889 1999-04-08  Rosanna Yuen  <rwsy@mit.edu>
891         * gcmd.c (set_cursor_normal): new function to set the watch cursor
892         on a panel.
894 1999-04-08  Jonathan Blandford  <jrb@redhat.com>
896         * gaction.c (gmc_unable_to_execute_dlg):
897         now actions do the right thing (TM).
899 1999-04-07  Owen Taylor  <otaylor@redhat.com>
901         * gsession.c (session_save): Set a discard command
902         to get rid of the per-session information.
904 1999-04-06  Jonathan Blandford  <jrb@redhat.com>
906         * gscreen.c: make sure that we bring up an open_with if
907         open it.
909         * gcmd.c (gnome_select): new selection dialog.
911         * gdesktop-init.c (desktop_init_at): do not use access for it is
912         poor when you are root.
914 1999-04-06  Federico Mena Quintero  <federico@nuclecu.unam.mx>
916         * glayout.c (create_container): Use gtk_window_set_default_size(),
917         not gtk_widget_set_usize().
919         * gdesktop.c (get_slot_from_pos): Clamp the slot positions to be
920         inside the screen.
922         * gmain.c (gnome_check_super_user): Improved the message a bit.
924 1999-04-06  David Martin <dmartina@usa.net>
926         * gcmd.c: marked message for translation.
928 1999-04-05  Federico Mena Quintero  <federico@nuclecu.unam.mx>
930         * gmetadata.c (gmeta_del_icon_pos): New function to delete the
931         icon position metadata from a file.
933         * gcmd.c: Removed unused function gnome_quit_cmd().
935 1999-04-05  Miguel de Icaza  <miguel@nuclecu.unam.mx>
937         * gprefs.c: Add new page for desktop properties.
939 1999-04-05  Ronald de Man <deman@win.tue.nl>
941         * gnome-file-property-dialog.c (create_general_properties): Use
942         local time here.
944 1999-04-05  Federico Mena Quintero  <federico@nuclecu.unam.mx>
946         * gcorba.c: #include "../vfs/vfs.h"
948         * gdesktop.c (click_proxy_button_release): Call gdk_flush() after
949         doing XUngrabServer().
951 1999-04-04  Federico Mena Quintero  <federico@nuclecu.unam.mx>
953         * gscreen.c (file_list_popup_items): Use "New Directory", not "New
954         Folder", to be consistent with the desktop and File menus.  Thanks
955         to Kevin Fox for pointing this out.
956         (panel_icon_list_drag_data_received): Update the panels properly.
957         (panel_clist_drag_data_received): Likewise.
958         (panel_tree_drag_data_received): Likewise.
960         * gcmd.c (gnome_close_panel): Doh.  Do not access g_free()d
961         memory.
963         * glayout.c (copy_uiinfo_widgets): Return the copied array as a
964         return value, not in an argument.
966         * gcmd.c (set_view_type): Added a sanity check.
968 1999-04-01  Federico Mena Quintero  <federico@nuclecu.unam.mx>
970         * gtkdtree.c (scan_subtree): Moved the functionality to scan a
971         subtree to this function.  Also, do not emit the DIRECTORY_CHANGED
972         signal here.
973         (gtk_dtree_select_row): Call scan_subtree() and emit the
974         DIRECTORY_CHANGED signal here.
975         (gtk_dtree_expand): Do not select the just-expanded node.  Call
976         scan_subtree().
977         (gtk_dtree_collapse): Only select the node if it is an ancestor of
978         the currently-selected node.  This should really go in the
979         GtkCTree sources.
980         (gtk_dtree_init): Bad hack: unset the GTK_CAN_FOCUS flag to avoid
981         the broken focusing behavior of GtkCTree.
983 1999-04-01  Miguel de Icaza  <miguel@nuclecu.unam.mx>
985         * gcmd.c (gnome_about_cmd): Internationalize about box.  And put
986         the right address for bug reports.
988 1999-03-30  Federico Mena Quintero  <federico@nuclecu.unam.mx>
990         * gdesktop-icon.c (desktop_icon_realize): Remove the
991         WM_CLIENT_LEADER property from icon windows so that window
992         managers will not store SM information for them.
994         * gnome-open-dialog.c: Added missing #includes.
996         * gdesktop-init.c (desktop_init_at): Removed an unused variable.
998         * gdesktop.h: Added some missing prototypes.
1000         * gmain.h: Added some missing prototypes.
1002         * Makefile.in: Added gsession.[ch] to the list of sources.
1004         * gmain.c (create_panels): Consider whether we have a CORBA server
1005         and session management.
1007         * gdesktop.c: #include "gdesktop-init.h"
1008         * gdesktop.c: Added a missing cast to GNOME_DIALOG.
1010         * gmain.c (create_panels): Removed the run_desktop global
1011         variable.
1013         * glayout.c (create_container): Set the wmclass of the panel to
1014         include its unique ID.
1016         * gsession.[ch]: New file with the functions that deal with
1017         session management.
1019         * glayout.c (gnome_exit): Use session_set_restart().
1021         * gcorba.c (corba_init): Now returns an int with an error value.
1022         (corba_init_server): Initialize the server properly.
1023         Fixed all the object implementation code.
1024         (corba_create_window): New function used to create a window with
1025         the CORBA server.
1027         * gmain.c (gnome_check_super_user): Now the check for running as
1028         root is done here.  There should be no GUI code in src/.
1030 1999-03-29  Jonathan Blandford  <jrb@redhat.com>
1032         * gdesktop.c (create_desktop_dir): improved wording.
1033         (create_desktop_dir): improved wording.
1035 1999-03-26  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1037         * mc.keys.in: Now that the menu code uses the full filename, we do
1038         not need "%d/%f" for html files.
1040 1999-03-25  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1042         * gdialogs.c (file_progress_show_bytes): Total may be zero (for
1043         instance, if you are copying zero-byte files).  Take this into
1044         account instead of issuing a warning.
1046 1999-03-25  Jonathan Blandford  <jrb@redhat.com>
1048         * gdesktop.c (set_background_image): now we can set the background
1049         from GMC.
1051 1999-03-22  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1053         * glayout.c (create_new_menu_from): closedir after running.
1055 1999-03-20  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1057         * gnome-file-property-dialog.c (apply_metadata_change): Fix the
1058         test for setting the icon.  It was being done incorrectly and thus
1059         it was never possible to change the icon.
1061         * glayout.c (gnome_launch_mime_editor): Add mime-type-edit command
1062         to the menu: this launches mime-type-capplet
1064 1999-03-23  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1066         * gnome-file-property-dialog.c (apply_metadata_change): Fixed
1067         incorrect logic when testing whether the icon changed or not.
1068         This makes icons change correctly again.
1070         * Makefile.in (GNOMEHDRS): Added gdesktop-init.h.
1072 1999-03-23  Jonathan Blandford  <jrb@redhat.com>
1074         * gscreen.c (panel_tree_drag_motion): lets try to cut down on the flickers.
1076 1999-03-22  Jonathan Blandford  <jrb@redhat.com>
1078         * gdesktop-init.c (gdesktop_init): Do what the documentation says.
1080 1999-03-20  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1082         * gdesktop-init.c (desktop_load_init_from): New file that loads
1083         new configuration files from the installation directory.
1085         * gdesktop.c: Drop all the reload code from there, put it above.
1087         * gpopup2.c (create_mime_actions): Attach to the menu, not the uiinfo.
1089 1999-03-19  Jonathan Blandford  <jrb@redhat.com>
1091         * gscreen.c (panel_tree_drag_motion): Dragging now automatically
1092         highlights the tree.  God does it flicker... )-:
1094         * gtkdtree.h (gtk_dtree_construct): removed unused prototype.
1096         * gscreen.c (panel_tree_check_auto_expand): removed the
1097         auto-collapse of trees, as it is confusing to the user.
1099         * gcustom-layout.c (custom_layout_set): We don't want to let the
1100         user remove all of the settings.
1102         * gdialogs.c (file_progress_show_bytes): bug fix proposed by Max
1103         Weninger <max@takefive.co.at>
1105         * gcmd.c (dentry_apply_callback): new function.
1106         (gnome_new_launcher): We can now create new
1108 1999-03-19  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1110         * gpopup2.c (create_mime_actions): Free full_name, just once, not
1111         once per action.
1113 1999-03-19  Paul Raines <raines@slac.stanford.edu>
1115         * gtkdtree.c (gtk_dtree_load_path): Uses a phantom node to get
1116         directories with the expandable flag.  Avoids loading directories
1117         at two levels.
1119 1999-03-18  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1121         * gdesktop.c (desktop_icon_info_open): Fix condition.  Should not
1122         open a new panel if it fails to mount the device.
1124 Thu Mar 18 14:59:12 1999  Timur Bakeyev  <mc@bat.ru>
1126         * gnome-open-dialog.c (read_directory): s/basename/x_basename/g
1128 1999-03-17  Jonathan Blandford  <jrb@redhat.com>
1130         * gnome-file-property-dialog.c (generate_icon_sel): I don't know
1131         who broke this, but it was a mess.  It now does the right thing,
1132         and works...
1134 1999-03-16  Jonathan Blandford  <jrb@redhat.com>
1136         * gnome-open-dialog.c (read_directory): We now honor .order files.
1138 1999-03-16  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1140         * gicon.c (get_icon_set): Use iset->filename (which is a
1141         strdup()ed string) instead of filename as a key in the hash table,
1142         since the user will very likely free filename.
1144         * gdialogs.c (symlink_dialog): Finished implementing the new
1145         symlink dialog.
1147         * gdesktop.c (icon_event): I'm an idiot.  Someone teach me boolean
1148         logic again.  Fixed edit-on-release for icons.
1150 1999-03-15  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1152         * gdialogs.c (real_input_dialog_help): Now we use a
1153         gnome_request_dialog() for generic input dialogs.  They look
1154         prettier and consistent now.
1155         (file_progress_show): Update the progress bars.  Thanks to Greg
1156         for noticing this!
1158         * Makefile.in: Removed references to gpopup.[co].
1160 Mon Mar 15 17:09:37 1999  Gregory McLean  <gregm@comstar.net>
1162         * gdialogs.c (file_progress_show_bytes): Fixed a GTK Warning when
1163         done / total >= 1.0
1164         * file.c : Actually update the progress bar when copying files around.
1166 1999-03-15  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1168         * gscreen.c (x_select_item): It is not necessary to call
1169         gnome_canvas_update_now() here.
1171         * gdesktop-icon.c (set_icon): Do not destroy the icon image.
1173         * gnome-file-property-dialog.c
1174         (gnome_file_property_dialog_finalize): Do not destroy the icon
1175         image, since it is a shared resource.
1177 1999-03-14  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1179         * gdesktop.c (text_changed): If the file has the "icon-caption"
1180         metadata set, then change that instead of renaming the file.  This
1181         can be used by URLs and is also needed by the mountable device
1182         icons.
1183         (text_changed_url): Removed this function now that text_changed()
1184         can handle all cases.
1186         * gdnd.c (drop_url_on_directory): Set the "icon-caption" metadata
1187         for URLs.
1189         * gdesktop.c (icon_event): Handle button-2 clicks and drags
1190         properly.
1192 1999-03-14  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1194         * gmount.c (get_mountable_devices): Show error message if the
1195         /etc/fstab is not readable by the user.
1197 1999-03-12  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1199         * gview.c (scrollbar_moved): Better, but still shaggy when you
1200         drag with the scrollbar.
1202 1999-03-12  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1204         * gdesktop.c (create_panel_from_desktop): Do not assert that
1205         panel->count > 0, because we may actually not have any icons in
1206         the desktop.
1207         (desktop_popup): Reload the desktop once the popup menu is done.
1208         (create_panel_from_desktop): Be consistent with the way totals are
1209         computed in screen.c:do_file_mark().
1211         * gnome-file-property-dialog.c (gnome_file_property_dialog_init):
1212         Set the dialog to not destroy-on-close.
1214         * gpopup2.c (gpopup_do_popup2): Fixed Miguel's code.
1216 1999-03-11  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1218         * gpopup2.c (gpopup_do_popup2): Until Federico look over this, I
1219         am fixing this crash.
1221 1999-03-11  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1223         * gpopup2.c: Sigh.  It happened again.  More features killed by
1224         the merge.
1226         If a file does not have any metadata/mime way of viewing it, the
1227         viewer will always work.
1229 1999-03-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1231         * gdesktop.c (text_changed): Rename the metadata and refresh the
1232         desktop.  This also fixes bug #573.
1234 1999-03-11  Jonathan Blandford  <jrb@redhat.com>
1236         * gnome-file-property-dialog.c (create_settings_pane): change the
1237         wording to be a tad clearer.
1238         (apply_metadata_change): only set the icon if it has changed.
1240 1999-03-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1242         * gpopup2.c (create_mime_actions): Do not free the file name here,
1243         since it is passed on to the callback.  It will be freed on the
1244         destroy handler instead.
1246         * gpopup2.c (escape_underlines): New function to escape the
1247         underlines in a string so that GtkLabel will include them in the
1248         final result.
1249         (create_mime_actions): Escape the underlines from the MIME action
1250         descriptions.
1252 1999-03-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1254         Fix bug #261: inconsistent labels in view menu and toolbar,
1255         unsynchronized items.
1257         * glayout.c (panel_view_menu_uiinfo panel_view_toolbar_uiinfo):
1258         Made the view names consistent with the toolbar names.  Also,
1259         added underscore accelerators to the menu items.
1260         (copy_uiinfo_widgets): New function to copy the widgets from an
1261         uiinfo array into a widget array.
1262         (create_container): Copy the uiinfo widgets to the panel
1263         structure.
1265         * gcmd.c (set_view_type): New function to set the list view type
1266         and synchronize the menu and toolbar items.
1267         (gnome_close_panel): Free the view menu/toolbar item arrays.
1269 1999-03-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1271         * gpopup2.c (perform_mount_unmount): Set the icon's cursor while it is
1272         being operated on.
1273         (handle_mount): Use perform_mount_unmount().
1274         (handle_unmount): Likewise.
1275         (handle_eject): Set the icon's cursor while it is being ejected.
1277         * gdesktop.c (desktop_icon_set_busy): New function to set a watch
1278         or normal cursor for a desktop icon.
1280         * gdesktop.c (desktop_icon_info_open): Set the cursor to a watch
1281         while the icon is being opened.  Also, fixed memory leaks.
1282         (do_eject): Added a missing return value.
1284 1999-03-11  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1286         * gmount.c (setup_devices): Use new tigert icon.
1288         * gdesktop.c (do_mount_umount): Use g_readlink here.
1290         * gpopup2.c (handle_eject): Small tuning.  And use g_readlink :-).
1292         * gmount.c (mount_point_to_device): New function.  Mapes a mount
1293         point to its device.  Required since we are now using the mount
1294         point (as this is not ambiguous) as the key for the devices and
1295         the eject command needs the device name, not the mount point.
1297         * gdesktop.c (desktop_icon_info_open): First try to see if
1298         filename is mountable.  Then do the directory tests and the file
1299         launching tests.  Fixes mount-by-double click.
1301 1999-03-10  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1303         * glayout.c (save_panel_types): Do not save the setup of a desktop
1304         panel.
1306         * gpopup2.c (handle_mount): Use get_full_filename().
1307         (handle_unmount): Likewise.
1308         (handle_eject): Likewise.
1309         (handle_open): Likewise.
1311         * gdesktop.c (update_url): Made static.
1312         (desktop_reload_icons): Call update_url() when updating an
1313         existing icon.
1315         * gpopup2.c (handle_properties): Do not update the icon url here.
1317 1999-03-10  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1319         This is a semi-big slew of changes to integrate the DESKTOP_BRANCH
1320         into the main trunk.  Now the gdesktop code creates a temprary
1321         WPanel structure and passes it on to the core file management
1322         functions.  Also, the menu code is improved (we now use gpopup2;
1323         gpopup should go away shortly and gpopup2 should replace it).
1324         This makes the desktop act consistently with the file panels.
1325         Thanks to Jonathan for his help with this branch.
1327         * gdnd.c (perform_action): Use mc_lstat(), not mc_stat().
1329         * glayout.c (update_panels): Do not update the panels that are
1330         desktop panels.
1332         * gdesktop.c (icon_is_in_area): An icon is not considered to be in
1333         a 0x0 area.
1335         * gpopup2.c (handle_open): Fetch the desktop icon from the
1336         filename and call desktop_icon_info_open().
1338         * gdesktop.c (desktop_icon_info_get_by_filename): New function to
1339         look up a desktop icon by its filename.
1341         * glayout.c (create_new_menu_from): Test for the ".desktop" suffix
1342         correctly.
1344         * gpopup2.c (handle_properties): If the file comes from a desktop
1345         panel, always allow edition of the icon image.
1347 1999-03-10  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1349         * gdialogs.c: Support ui->ctx to be NULL, as file.c will set this
1350         to NULL for background operations.
1352 1999-03-09  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1354         * gdesktop.c (icon_drag_data_received): Pass the full directory
1355         name to gdnd_perform_drop.
1357         * gpopup.c (create_regexp_actions): This routine no longer creates
1358         the default copy/move/delete context menu entries.
1360         (file_actions): Include the copy/move/delete options here.  This
1361         also enabled me to reorder things to put "Delete" closer to the
1362         top, as it is a pretty common operation.
1364 1999-03-08  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1366         * gmain.c (session_save_state): Add call to gnome_config_sync().
1368         * gutil.c (my_system_get_child_pid): reset SIGPIPE to a sensible
1369         value.
1370         (my_system_get_child_pid): Close also stdin/stdout/stderr
1372         * gdesktop.c (is_mountable): Allow user-nfs devices to be mounted
1374 1999-03-08  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1376         * gscreen.c (can_drop_on_clist): New function to figure out if the
1377         user is trying to drop on a valid region of a GtkCList.  It sucks
1378         to have to poke into its internal geometry, though.
1380 1999-03-08  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1382         * gnome-file-property-dialog.c (apply_metadata_change): only set
1383         the needs-terminal property if we actually created such entry.
1385 1999-03-08  Sergey Panov  <sipan@mit.edu>
1387         * gcustom-layout.c, gprefs.c: Make the preferences dialog
1388         translatable. (include files in gcustom-layout.c and use of
1389         the _() macro in gprefs.c)
1391 1999-02-28  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1393         * gnome-file-property-dialog.c (create_settings_pane): Simplify
1394         the test and fix it.
1396         * gdnd.c (drop_on_file): Fix these so that they can use the
1397         metadata drop-action.
1399         * gdesktop.c (desktop_icon_info_open): Ugly.  Needs to share more
1400         code here.  Use the metadata first, and the is_exe to find out how
1401         to launch an application.
1403         * gnome-file-property-dialog.c (perm_group_new): Check the return
1404         value of getgrgid.
1405         (perm_group_new): Do not use a grp if it does not exist.
1407 1999-02-26  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1409         * glayout.c (my_app_create_menus): New function, used to create
1410         our menus and set the realy properly, to make cpanel (ie,
1411         current_panel) always consistent with what the user users.
1413         So, no need to kill the tearoff menus in gmc now.
1415         * gmount.c (is_block_device_mountable): compare the device name
1416         here.
1418         (get_mountable_devices): Do not stop scanning devices.
1420         * gview.c (scrollbar_moved): Call view update here, with
1421         update_gui = FALSE.
1423         * gdesktop.c (desktop_icon_info_open): Add needs terminal support.
1425         * gnome-file-property-dialog.c (create_settings_pane): Add Needs
1426         terminal check box
1428 1999-02-25  Jonathan Blandford  <jrb@redhat.com>
1430         * gpopup2.c: even more bug-fixes.  Plenty more left to do, but now
1431         all the menu code seems to work other then the
1432         select-and-popup-menu problem.
1434         * gaction.c (gmc_can_view_file): new function.  Can we view the file?
1436 1999-02-25  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1438         * gaction.c (gmc_open_filename): Add support for needsterminal.
1440         * gscreen.c: Add New Folder option to the panel popup.
1442 1999-02-25 Owen Taylor  <otaylor@redhat.com>
1444         * gdialogs.c (file_delete_query_recursive): GNOME
1445         replacement for recursive delete query dialog.
1447         * gprefs.c gcustom-layout.[ch]: Add a new page to
1448         the preferences dialog to allow the user to change
1449         the columns in the custom view.
1451 1999-02-24  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1453         * gmount.c (desktop_cleanup_devices): Export this routine now and
1454         call it from gdeskop instead of overloading gmount_setup_devices.
1456         * gprint.c: Sample file, it uses an externally provided program
1457         (not in 1.0 so far) to setup printer devices.
1459         * gmount.c (gmount_setup_devices): No longer cleans up here.
1461         * gicon.c (gicon_get_filename_for_icon): Return const char *, this
1462         tells the user of this routine "you better not touch or free this
1463         you dofus".
1465         * gnome-file-property-dialog.c (apply_metadata_change): Always set
1466         the name of the icon to the new value, as the entry will always
1467         match the imlib image anyways (due to the fixes I did to const
1468         correctness).
1469         (generate_icon_sel): Do not free the value.  We do not own this
1470         return value.
1472         * gdesktop.c (is_mountable): NULL terminate string returned from
1473         readlink.  Yes guys, readlink does not NULL terminate things.
1474         (do_mount_umount): ditto.
1476         * gnome-file-property-dialog.c (init_metadata): ditto
1478 Tue Feb 23 17:41:45 1999  George Lebl  <jirka@5z.com>
1480         * gmain.c: set the restart property of the gnome client to
1481           RESTART_IMMEDIATELY or RESTART_NEVER if we're gonna quit
1483 1999-02-23  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1485         * gnome-file-property-dialog.c (gnome_file_property_dialog_new):
1486         When dealing with a symbolic link, check the stat info from the
1487         real file, not the link.
1489         * gscreen.c (panel_tree_drag_data_received): Use path here (which
1490         is what is selected on the tree, not panel->cwd).
1492         * gdesktop.c (desktop_drag_data_received): Simplify.
1494         * gscreen.c (panel_icon_list_drag_data_received): Pass the full
1495         path to gdnd_perform_drop.
1496         (panel_clist_drag_data_received): same.
1498         * gdnd.c (drop_on_directory): We no longer take a file_entry
1499         here.  The directory we get passed is already a fully qualified
1500         name of the target location.
1502         * gwidget.c (x_create_input): Hook to the changed signal and sync
1503         the input with our view of the entry.  This fixes the paste bug
1504         reported.
1506 Tue Feb 23 01:57:22 1999  George Lebl  <jirka@5z.com>
1508         * gmount.c: fix obvious typos, use str in option_has_user, fix
1509           mt_opts typo and is_block_device_mountable can't return TRUE nor
1510           FALSE, so it returns NULL
1512 1999-02-23  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1514         * gnome-file-property-dialog.c (apply_metadata_change): Fix memory leak.
1516 1999-02-23  Jonathan Blandford  <jrb@redhat.com>
1518         * gpopup2.c (handle_open_with): use the new dialog.  Doesn't quite
1519         work -- I'll make sure it does tonight.
1521         * gnome-open-dialog.c: new widget -- an "Open with..." dialog.
1523 1999-02-22  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1525         * gdesktop.c (desktop_reload_icons): Fix memory leak.
1527         * glayout.c (create_new_menu_from): Fix memory leak.
1529         * gdesktop.c (desktop_icon_info_open): Launch a panel at the
1530         location of the mount point.
1532         * gmount.c (setup_devices): Use g_list_free, not g_free.  Fed,
1533         test your fixes to my code ;-)
1535         * glayout.c (create_container): Add a Desktop menu if the WM is
1536         not GNOME compliant.
1538         * gdesktop.c (setup_motif_dnd_proxy): Use Window instead of
1539         gint32, fix from George Lebl.
1540         (setup_xdnd_proxy): ditto.
1542 1999-02-19  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1544         * gdesktop.c (file_entry_fill): Initialize fe->f.dir_size_computed.
1546 1999-02-18  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1548         * gmain.h: Removed set_current_panel() since it was never used.
1550         * glayout.c (set_current_panel): Made static and renamed from
1551         set_new_current_panel().
1552         Removed old toolbar cruft.
1554         * gmount.c (get_mountable_devices): Made static.
1556         * Makefile.in (ICONS): Added i-floppy.png, i-cdrom.png,
1557         i-printer.png.  Thanks, Tigert!
1559 1999-02-18  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1561         * gmount.c (gmount_setup_devices): New function to set up the
1562         mountable devices on the desktop directory.  Moved over from
1563         gdesktop.c.  Added an argument that specifies whether it should
1564         clean up the device list first.
1565         (cleanup_devices): Delete the metadata for the devices.
1566         (setup_devices): Free the list of device names.  Use the proper
1567         icon for each device.
1568         (create_device_link): Better error checking.
1570         * gdesktop.c (create_desktop_dir): Use gmount_setup_devices().
1571         (desktop_icon_info_destroy): Made static.
1572         (desktop_popup_items): The command for rescanning mountable
1573         devices should go here.
1574         (handle_rescan_devices): Call gmount and refresh the desktop.
1576         * gdesktop.h: Removed the declaration of tree_panel_visible, since
1577         it has nothing to do with the desktop.
1579         * glayout.c (gnome_panel_commands_menu): Removed the recreate
1580         devices command.
1582         * gdesktop.c (desktop_popup_items): Added a new command to create
1583         a file window.
1585 1999-02-17  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1587         * gdesktop.c (do_mount_umount): Removed unused variable.
1588         (do_eject): Return FALSE if there is no eject command.
1589         (setup_devices): Removed unused variable.
1591         * gdnd.c (drop_on_file): Pass the directory to if_link_is_exe().
1592         (gdnd_validate_action): Likewise.
1593         (gdnd_perform_drop): Made consistent with the rest of the code by
1594         taking the directory name along with the file entry.
1595         (gdnd_validate_action): Likewise.
1597         * gdesktop.c (icon_drag_motion): Pass the directory to the gdnd
1598         functions.
1599         (icon_drag_data_received): Likewise.
1600         (desktop_drag_motion): Likewise.
1601         (desktop_drag_data_received): Likewise.
1602         (desktop_icon_info_open): Pass the directory to if_link_is_exe().
1604         * gscreen.c (panel_icon_list_drag_data_received): Pass the
1605         directory to gdnd functions.
1606         (panel_clist_drag_data_received): Likewise.
1607         (panel_tree_drag_data_received): Likewise.
1608         (panel_clist_drag_motion): Likewise.
1609         (panel_icon_list_drag_motion): Likewise.
1611 1999-02-17  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1613         * gdesktop.c (reload_desktop_icons): Load the information provided
1614         on the .desktop file for the desktop icon information: icon
1615         filename and text to be displayed.pwd
1618         * gpopup.c (create_actions): Add ejectable
1620         * gdesktop.c (do_eject): Add eject command.
1622 1999-02-16  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1624         * gpopup.c (create_actions): Add support for mountable icons.
1626         * gdesktop.c (try_to_mount): Add an option to automatically mount
1627         links on the desktop that point to devices.
1628         (is_mountable): Returns true if a pathname is mountable.
1630         * glayout.c: Add the dirsizes command here.
1632         * gmount.c: New file.  Implements support routines for
1633         mount/umount.
1635 1999-02-16  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1637         * i-symlink.png: Flipped the image around, since we are putting
1638         the little icons on the lower-right corner.
1639         * i-stalled.png: Likewise.
1641         * gicon.c (gicon_get_filename_for_icon): Doh, use image_hash here.
1643 1999-02-16  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1645         * gicon.c: Lots of changes to support the little symlink/stalled
1646         icons that get overlaid on the normal file icons.  We now have the
1647         concept of an icon set, which is a cache of normal icons plus
1648         their overlaid versions.
1650         * gnome-file-property-dialog.c (apply_metadata_change): Use
1651         gicon_get_filename_for_icon().
1652         (generate_icon_sel): Likewise.
1654         * gnome-file-property-dialog.c (create_general_properties): Use
1655         buffers of size MC_MAXPATHLEN.
1656         (init_metadata): Likewise.
1658 1999-02-16  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1660         * gmetadata.c: Removed the gmeta_del_icon_pos() function, since it
1661         is no longer used anywhere.
1663         * gdesktop.c (reload_desktop_icons): Use gnome_metadata_delete()
1664         instead of gmeta_del_icon_pos().
1665         (desktop_icon_info_delete): Likewise.
1666         (desktop_icon_info_destroy): Do not call gnome_metadata_delete().
1668 1999-02-15  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1670         * gdesktop.c (arrange_desktop_icons): I am such a doofus, I did
1671         not initialize two variables here.
1673 1999-02-15  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1675         * gdesktop.c (reload_desktop_icons): Take auto-positioning and
1676         snap-positioning into account.  This is the right thing to do.
1677         (get_icon_auto_pos): Do auto-positioning in two steps, first from
1678         the requested position to the end of the slot array, then from
1679         slot zero forwards if required.
1681 1999-02-15  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1683         * gcmd.c (gnome_open_terminal_with_cmd): New routine, based on the
1684         gnome_open_terminal routine, that will allow the user to specify a
1685         command to execute (used internally).
1687         * gaction.c (gmc_edit_filename): Support for the GNOME editor
1688         environment properties.
1690         * gdesktop.c (create_desktop_dir): Support GNOME_DESKTOP_DIR
1691         variable to configure the desktop directory.
1693 1999-02-15  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1695         * mc.keys.in.in: Use "gnome-moz-remote file:%d/%f" for the html
1696         file actions.
1698         * gscreen.c (toolbar): Added a "rescan" button.
1700         * gprefs.c (create_prop_box): Make the preferences dialog modal.
1701         Also, set the window title and set the window's parent.
1702         Removed some unused functions.
1704 1999-02-14  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1706         * gdesktop.c (desktop_popup): Handle popup menus for the desktop.
1707         (arrange_desktop_icons): New function to auto-arrange the desktop
1708         icons.
1709         (reload_desktop_icons): Take care of positioning the new icons by
1710         ourselves; do not rely on desktop_icon_info_new() to do it.
1711         (remove_from_slot): Reset the icon's slot to -1.
1712         (reload_desktop_icons): Show all the icons after they have been
1713         loaded, instead doing it one by one.
1715         * gscreen.c (file_list_popup): Handle popup menus for the blank
1716         areas of the file panels.
1717         (panel_icon_list_button_press): Call file_list_popup().
1718         (panel_file_list_press_row): Likewise.
1720 1999-02-14  Sergey Panov <sipan@mit.edu>
1722         * glayout.c: Fixed my own stupid typo( stock ID instead of NULL)
1723         it was not critical. A few minor, rather cosmetic changes in
1724         GnomeUIInfo structures.
1726 1999-02-13  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1728         * mc.keys.in.in: Use Tigert's new icon for man pages.
1730 1999-02-12  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1732         * gdialogs.c (file_mask_dialog): Renaming files was not working
1733         due to having the "file-must-exist" bit turned on.
1735         * gnome-file-property-dialog.c (apply_metadata_change): Metadata
1736         rename the file.
1738         Change fpd->file_name to point to the new name so that any
1739         metadat changes take effect on the new name, not the old name.
1741         Test return value from move_file_file.
1743         (init_metadata): Fixed typo.
1745 1999-02-12  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1747         * mc.metadata.in: Added a regexp for EPS files.
1749         * mc.keys.in.in: Use Tigert's new icon for Postscript files.
1750         Possible FIXME: are there different MIME types for PS and EPS
1751         files?
1753 1999-02-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1755         * gdesktop-icon.c (set_icon): Do not destroy the image if it is
1756         the same as the old one.  Sigh, imlib really needs proper
1757         refcounting.
1759         * gscreen.c: Use gpopup_do_popup() until the new version is
1760         finished.
1762         * gpopup2.c (create_actions): Made the action selection logic
1763         simpler.
1764         (gpopup_do_popup2): Now can only operate on panels.
1765         (file_actions): Sanitized the actions a bit.
1767         * gutil.c (my_system_get_child_pid): sa_handler must be
1768         gnome_sigchld_handler, not gnome_sigchld_installed.
1770         * gpopup.c (dicon_properties): Do not call reread_cmd().  This is
1771         a hack until the menus for panels/desktop are finished.
1773         * gscreen.c (panel_file_list_press_row): Use gpopup_do_popup2().
1775 1999-02-11  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1777         * gutil.c (my_system_get_child_pid): Implement a erase-temp-file
1778         when child dies instead of waiting for child that was launched
1779         from shell/temp-file to finish.
1781 1999-02-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1783         * gdesktop.c (desktop_icon_info_place): Better icon placement by
1784         rounding to the proper slot number.
1785         (select_range): Simpler range selection for exact Windows behavior.
1787         * gdnd.c (drop_on_directory): Do not ask for the action twice.
1788         This was a leftover from a bit of code reorganization.
1790         * gscreen.c (panel_icon_list_button_press): Fixed "=" -> "!="
1791         typo.
1793 1999-02-10  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1795         * gaction.c (gmc_open_filename): Add support for running .desktop
1796         files.
1797         Made const correct.
1798         (gmc_view): Made const correct.
1800 1999-02-10  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1802         * Makefile.in (ICONS): Added i-fifo.png to the list of icons.
1804         * gicon.c (gicon_init): Load the proper FIFO and socket icons.
1805         (gnome_file_entry_color): Return the proper icon for FIFOs.
1807         * i-fifo.png: Added this file, and made i-sock.png be the right
1808         image (thanks, Tigert!).
1810         * gscreen.c (ILIST_FROM_SW): New macro to extract the icon list
1811         from the scrolled window.
1812         (panel_create_icon_display): Create a scrolled window and put the
1813         icon list inside it.  Changed the rest of the code to know about
1814         this.
1816         * gcorba.c (do_window_close): It turns out that we *do* need to
1817         call CORBA_free().  It was a bug in ORBit which was causing this
1818         to crash.
1820 1999-02-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1822         * gdesktop.c (drag_end): Reload the desktop when a drag from the
1823         desktop terminates (the user may have moved something away).
1825 1999-02-09  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1827         * gcorba.c (do_window_close): Removed call to CORBA_free, as
1828         PortableServer_POA_deactivate_object already calls CORBA_free on
1829         the object.
1831 1999-02-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1833         * glayout.c (gnome_close_panel_event): This function should return
1834         FALSE.
1836         * gcorba.c (corba_init): Cast poa to PortableServer_POA.
1837         (impl_GNOME_FileManagerWindow_close): Call gnome_close_panel(); do
1838         not destroy the widget by hand.
1840         * gcmd.c (gnome_close_panel): This function should be void.
1842         * gpopup2.c (popup_handle_rescan): Call reread_cmd().
1844         * gscreen.c (panel_icon_list_button_press): Return TRUE if we
1845         handled a popup menu.
1847 1999-02-09  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1849         (impl_GNOME_FileManagerFactory_create_window): Fix bug
1850         spooted by federico.  I was connecting to the wrong signal.
1852 1999-02-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1854         * gtkdtree.c (gtk_dtree_class_init): Added two new signals,
1855         scan_begin and scan_end.
1856         (gtk_dtree_expand): Call scan_begin() and scan_end().
1857         (gtk_dtree_select_row): Call scan_begin() and scan_end().
1858         (gtk_dtree_expand): Use gtk_ctree_select(), not gtk_dtree_select_row().
1859         (gtk_dtree_collapse): Select the node when it is collapsed.
1861         * gscreen.c (panel_create_tree_view): Added handlers for the
1862         scan_begin and scan_end signals of the tree -- these will set the
1863         cursor to a watch while the tree is being scanned.
1865 1999-02-08  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1867         * gdesktop.c (desktop_icon_info_destroy): Delete the metadata
1868         associated with this icon.
1870 1999-02-07  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1872         * gwidget.c (entry_click): On mouse clicks, mark the input as
1873         changed-without destroy.
1875 1999-02-07  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1877         * gscreen.c (x_create_panel): Removed a couple unused variables.
1879 1999-02-07  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1881         * gtkdtree.c (gtk_dtree_select_row): Disable row selection when
1882         were are removing entries from the tree.
1884         * gutil.c (my_system_get_child_pid): Fix.  We always wait for the
1885         child process.
1887         * gtkdtree.c (gtk_dtree_lookup_dir): Scan the whole tree.
1888         Appanrently now the nodes expose are not ordered, but can contain
1889         holes and gaps
1891 1999-02-06  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1893         * gtkdtree.c (gtk_dtree_insert_node): This function was never
1894         returning the newly-created sibling.
1896 Sun Feb  7 05:29:17 1999  Timur Bakeyev <mc@bat.ru>
1898         * Makefile.in: Remove references and dependences to/from libslang -
1899         we don't need this in GNOME. Changed the order of linking - libgtkedit
1900         require libgnomeui.a, so swap $(LDFLAGS) and $(EXTRALIBS). The same for
1901         corba edition.
1903         gdnd.c, gmetadata.c, gpopup2.c, gtools.c: Adde #include "global.h" or
1904         move it before #include <gnome.h> to avoid warnings about redefining
1905         MIN, MAX nad RE_DUP_MAX. More clean compiling.
1907         * gpopup2.h: New file - to avoid errors during "make distcheck". What
1908         it is for, really?
1910 1999-02-06  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1912         * gnome-file-property-dialog.c (apply_metadata_change): #include
1913         string.h and replace references to rindex to strrchr.
1915 1999-02-07  Tomas Ogren  <stric@ing.umu.se>
1917         * glayout.c, gnome-file-property-dialog.c: s/rindex/strrchr/
1918         To get rid of BSDism and make it compile on solaris 2.6
1920 1999-02-06  Ettore Perazzoli  <ettore@comm2000.it>
1922         * gscreen.c (x_create_panel): The location bar is now a simple
1923         GtkHBox instead of a GtkToolbar, and as a consequence the location
1924         entry widget is expanded to fill all of the window horizontally.
1926 1999-02-05  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1928         * gdesktop.c (drag_data_get): Set the Netscape URL from the icon
1929         if it is available.  Wheee!  We can now drop icons onto Netscape.
1931         * gmain.h: Added prototype for gmc_open_filename().
1933         * gdesktop.c (desktop_icon_info_open): Fixed call to
1934         gmc_open_filename().  See why it is good to have prototypes? :-)
1936         * gdnd.c (perform_action): Oops.  Removed a leftover "break" that
1937         was causing the loop to exit, so you could not operate on more
1938         than one file.
1940 1999-02-05  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1942         * gpopup2.c (popup_handle_properties): Update the URL information
1943         on change.
1945         * gnome-file-property-dialog.c (generate_actions_box): Fix memory leak.
1946         (create_general_properties): Fix memory leak.
1948         * gdesktop.c (desktop_icon_update_url): New function.  Updates any
1949         changes done to the url/caption on the file-property-dialog.
1951         * gnome-file-property-dialog.c
1952         (gnome_file_property_dialog_finalize): Release all of the
1953         resources allocated (metadata routines alwayre return an allocated
1954         block of memory).
1956         Add support for changing the url an icon points to and the caption.
1958         * gdnd.c (drop_url_on_directory): Better set the icon-filename
1959         metadata entry instead of hard coding it.
1961 1999-02-05  Jonathan Blandford  <jrb@redhat.com>
1963         * gcmd.c (gnome_reverse_selection_cmd_panel): new function -- does
1964         good things
1966         * gscreen.c (panel_icon_list_select_icon): uses new popup menu
1967         (panel_icon_list_button_press): ditto
1969         * gpopup2.c (gpopup_do_popup2): new implementation of popup
1970         menu.  Many changes -- almost all internal.  Much cleaner now...
1971         Off to England.
1973 1999-02-05  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1975         * gicon.c (gicon_get_url_image): Return an image for url types.
1976         (gicon_init): Load the url image.
1978         * gdesktop.c (desktop_icon_info_new): Use an URL image for
1979         desktop-urls.   Use the url as the caption for those icons.
1981 1999-02-04  Jonathan Blandford  <jrb@redhat.com>
1983         * gprefs.c (caching_and_optimization_props): wording changes
1985 1999-02-04  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1987         * gdesktop.c (desktop_icon_info_open): Run "execute" if the file
1988         is an executable.  I forgot that gmc_open does not test for
1989         executable-ness.
1991 1999-02-04  Jonathan Blandford  <jrb@redhat.com>
1993         * gnome-file-property-dialog.c (apply_uid_group_change): Bug fix.
1994         (apply_metadata_change): Another bug fix.
1996 1999-02-03  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1998         * gdnd.c (gdnd_validate_action): Show the correct feedback when
1999         dragging URLs.
2001 1999-02-03  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2003         * gdesktop.c (desktop_icon_info_open): Use gmc_open_filename
2004         instead of the stuff that goes trough a file_entry as we loose the
2005         full pathname.
2007         * gnome-file-property-dialog.c (generate_actions_box): Tag "open"
2008         for translation
2009         (apply_metadata_change): Use fm-open instead of fm_open for the
2010         metadata keys.
2012         * gscreen.c (panel_file_list_configure_contents): Make the icon on
2013         the type column be displayed.
2014         (panel_file_list_select_row): Removed dead code.
2015         (panel_file_list_press_row): Select the row before calling
2016         gpopup_do_popup.
2018 1999-02-03  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2020         * gscreen.c (drop_types): Allow dropping URLs on file panels.
2022         * gdnd.c (gdnd_validate_action): Added an "on_desktop" argument;
2023         this specifies that the user is dragging over the desktop.  Added
2024         cases for drags of desktop icons and URLs.
2025         (gdnd_perform_drop): New public function to handle drops.  This is
2026         now the master function to handle drops -- use this to make all of
2027         MC consistent.
2028         (drop_on_directory): Made static and renamed from
2029         gdnd_drop_on_directory().  Made it fit for use by
2030         gdnd_perform_drop().
2031         (drop_url_on_directory): New function to drop an url on a
2032         directory, moved over from gdesktop.c.
2033         (drop_uri_list_on_directory): New function to handle drops of URI
2034         lists on a directory.
2035         (drop_on_file): New function to handle drops on a non-directory
2036         file entry.  This is moved over from gdesktop.c,
2037         desktop_icon_drop_uri_list().  This is yet to be finished.
2039         * gdesktop.c (desktop_icon_drop_uri_list): Fix memory leak.
2040         (desktop_drag_motion): Use gdnd_validate_action().
2041         (dnd_icon_targets): Allow dropping URLs on icons.
2042         (icon_drag_motion): Use gdnd_validate_action().
2043         (desktop_drag_data_received): Use gdnd_perform_drop().
2044         (icon_drag_data_received): Use gdnd_perform_drop().
2046         * gscreen.c (panel_icon_list_drag_data_received): Use
2047         gdnd_perform_drop().
2048         (panel_clist_drag_data_received): Use gdnd_perform_drop().
2049         (panel_tree_drag_data_received): Use gdnd_perform_drop().
2051         * gcmd.c (gnome_about_cmd): Fixed Foundation typo, and updated the
2052         copyright date.
2054 1999-02-02  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2056         * gnome-file-property-dialog.c (create_general_properties): Use
2057         strrchr instead of rindex
2059 1999-02-01  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2061         * gdesktop.c: Init gicon here to avoid crashing when we have the
2062         metadata database locked.  Not really important, but makes the
2063         code cleaner (in terms of fixes).
2065 1999-01-27  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2067         * gnome-file-property-dialog.c (icon_sel_callback): Fix the
2068         conditional here.
2070 1999-02-01  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2072         * gdesktop.c (desktop_drag_motion): If the user is dragging a
2073         Netscape url, allow ACTION_LINK.
2074         (setup_desktop_dnd): Now we use a single GtkInvisible widget to
2075         proxy both DnD and clicks on the desktop.
2076         (setup_motif_dnd_proxy): New function to set up a widow as a Motif
2077         DnD proxy (to allow drops from Netscape, for example).
2078         (setup_desktop_click_proxy_window): Use the proxy_invisible widget.
2079         (drop_url): Reload desktop icons after creating the url entry.
2080         (desktop_icon_info_place): Allow a drop from something other than
2081         a desktop icon to be placed where the user wants.
2082         (desktop_drag_motion): Unconditionally specify ACTION_MOVE if we
2083         are dragging a desktop icon.
2084         (desktop_icon_info_place): Remove the icon from its slot before
2085         calling the smart-positioning routines.
2087 1999-01-31  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2089         * gdesktop.c (reload_desktop_icons): Reload the icon image for a
2090         file that already exists in the desktop, because it may have
2091         changed.
2093         * gdesktop-icon.c (desktop_icon_reshape): Center the text
2094         correctly if the user is using huge icons.
2096 Mon Feb  1 00:49:18 1999  Timur Bakeyev <mc@bat.ru>
2098         * gscreen.c (panel_configure_file_list): Add central justification,
2099         as we got it (useless, imho :)
2101 Sun Jan 31 19:42:47 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>
2103         * Makefile.in (install_mx): make it work with srcdir != builddir
2104         (gmc.gnorba is located in $srcdir)
2106 1999-01-29  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2108         * gdesktop.c (reload_desktop_icons): Move metadata_unlock after
2109         the positioning loop (as we use the metadata there too).
2110         (desktop_icon_info_new): Accept a new parameter: url.
2111         (drop_url): New function.  Creates the files that represent urls
2112         on the desktop.
2113         (text_changed_url): New routine to handle url-renames
2115         Use the metadata "desktop-url" property to figure out if an icon
2116         represents an url.
2118 1999-01-28  Jonathan Blandford  <jrb@redhat.com>
2120         * gnome-file-property-dialog.c (create_settings_pane): We only let
2121         you set info if we are a regular file, or a link to a regular file.
2123         * gdesktop-icon.c (desktop_icon_reshape): Cut-n-paste error fixed
2124         by Quartic.
2126 1999-01-27  Jonathan Blandford  <jrb@redhat.com>
2128         * gnome-file-property-dialog.h (struct _GnomeFilePropertyDialog):
2129         Now make open field mandatory and icon selection optional.
2130         * gnome-file-property-dialog.c: as above
2132         * gpopup.c (panel_action_properties): only allow setting images if
2133         we_can_afford_the_speed.
2135         * gicon.c: make we_can_afford_the_speed non-static
2137 1999-01-27  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2139         * gcorba.c: Provide new code to activate an existing
2140         FileManagerFactory factory.
2142         installed gmc is now corba-gmc.  plain-gmc is still available if
2143         you want it.
2145 Thu Jan 28 02:15:48 1999  Timur Bakeyev <mc@bat.ru>
2147         * gdialogs.c: fixed "regexp.h" -> "eregexp.h" conversion.
2149         * oldnd.c: Replaced copy_strings() with g_strconcat().
2151 1999-01-26  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2153         * gscreen.c (panel_clist_motion): Stop the emission of the
2154         motion_notify_event signal so that it does not reach the clist.
2155         We do not want it to select rows while dragging.
2156         Replaced copy_strings() with g_strconcat().
2158         * gdnd.c (gdnd_validate_action): Do not override GDK_ACTION_ASK.
2160         * gdesktop.c: Updated the TODO list at the top of the file.
2162 Wed Jan 27 03:14:46 1999  Timur Bakeyev <mc@bat.ru>
2164         * Converted memory managment to Glib - where it wasn't done. Now we
2165         use g_new()/g_malloc()/g_strdup()/g_free() routings. copy_strings() re-
2166         placed by g_strconcat(), and sprintf() by g_snprintf(). Some other,
2167         minor changes.
2169 1999-01-26  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2171         * gscreen.c (panel_setup_drag_scroll): Renamed from
2172         panel_setup_drag_motion().
2173         (panel_clist_drag_motion): Use gdnd_validate_action().
2174         (panel_clist_motion): Return immediately if the event window is
2175         not the clist_window.  Otherwise, forward the event to
2176         panel_widget_motion().
2178         * gdnd.c (gdnd_find_panel_by_drag_context): New public function to
2179         find a panel based on a drag context.  This is basically the old
2180         find_panel_owning_window() made public.
2181         (gdnd_drop_on_directory): Test for the source widget being a tree,
2182         and if so, do not use the default behavior for panels.
2183         (gdnd_validate_action): New function to compute the final drag
2184         action given some conditions.  This is now used to make dragging
2185         behavior consistent across the desktop and the file panels.
2187 1999-01-26  Jonathan Blandford  <jrb@redhat.com>
2189         * gnome-file-property-dialog.c: Many Many Many changes.  Now it's
2190         pretty cool.  You can set all meta-data but the icon now.  Need to
2191         make gmc do the right thing with it, though.
2193 1999-01-25  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2195         * gtkdtree.c (gtk_dtree_select_row): This should be also protected
2196         against async notifications.
2198 1999-01-25  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2200         * gscreen.c (panel_create_icon_display): Only use
2201         GTK_DEST_DEFAULT_DROP since we want to do exotic stuff in the
2202         drag_motion handler to validate drops.
2203         (panel_icon_list_drag_motion): Use gdnd_validate_action().
2205         * gdnd.c (gdnd_drop_on_directory): Removed hack that prevented the
2206         user from dropping files on the same panel as the source one.
2207         This should not be done here.
2209         * gdnd.c (get_action): Sensitize the menu items based on the
2210         allowed actions in the drag context.
2211         (actions): Add some underlined accelerators for the action menu.
2213         * gdesktop.c (icon_drag_motion): Use S_ISDIR() in addition to
2214         fe->f.link_to_dir.
2216         * gscreen.c (panel_file_list_scrolled): Removed this function, as
2217         it was not used for anything useful.
2219         * gdnd.c (gdnd_drop_on_directory): Duh.  Use context->action, not
2220         context->suggested_action.
2222 1999-01-24  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2224         * gtkdtree.c (gtk_dtree_load_path): Keep track of when we are
2225         loading the tree (and thus we do not care about async
2226         notifications to the tree state changes) and when we are done (and
2227         thus, we care about the async treestore structure notifications).
2229 1999-01-23  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2231         * gcmd.c (ep_add_callback): Set Window's position to
2232         GTK_WIN_POS_MOUSE.
2233         (gnome_external_panelize): ditto.
2234         (gnome_filter_cmd): ditto.
2236         * gdialogs.c (file_progress_query_replace_policy): Set Window's
2237         position to GTK_WIN_POS_MOUSE.
2238         (file_progress_real_query_replace): ditto.
2239         (file_mask_dialog): ditto.
2241         * gdialogs.c: Tag the strings for localization.  Remove debugging
2242         messages.
2244         * gmain.c (gmc_window_setup_from_panel): Helper routine used to
2245         set the GTK_WIN_POS_MOUSE on a window and set the parent with
2246         gnome_dialog_set_parent (iff you have the WPanel * pointer to the
2247         parent).
2249         * gtools.c (query_dialog): Set the window position to GTK_WIN_POS_MOUSE.
2251         * gtkdtree.c (gtk_dtree_destroy): Kill the add_entry notification hook.
2252         (gtk_dtree_init): Install a notification function for treentry.
2253         removal.
2254         (entry_added_callback, entry_removed_callback): Implemented.  Now
2255         the tree is in sync with the panels and reload will update the
2256         tree correctly.
2258 1999-01-22  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2260         * gdesktop-icon.c (set_text): Update the call to
2261         gnome_icon_text_item_configure() for the new API.
2263 1999-01-21  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2265         * gdesktop.c (desktop_drag_data_received): Do not force links on
2266         the desktop.
2268         * gscreen.c (panel_create_file_list): Do not use
2269         GTK_DEST_DEFAULT_ALL for the drop site.  Only use
2270         GTK_DEST_DEFAULT_DROP, since we need to check motion ourselves.
2271         (panel_clist_drag_motion): Do not allow dropping on the clist buttons.
2272         (panel_clist_button_press): Do not assign the
2273         panel->maybe_drag_start flag if the user clicked outside the clist_window.
2275         * gdesktop.h: Removed old crud (desktop_icon_t, icon_t).
2277         * gscreen.c (drag_types, drop_types): Use the constants from gdnd.h.
2279 1999-01-21  Jonathan Blandford  <jrb@redhat.com>
2281         * gnome-file-property-dialog.c (apply_uid_group_change): uh, lets
2282         do this in Octal. (:
2284         * glayout.c: comment out compare panels.
2286         * gnome-file-property-dialog.h: new file.  This is a new widget
2287         for the file-properties dialog.  It doesn't handle mode changes
2288         quite right yet, but does everything else beautifully...
2290         * gnome-file-property-dialog.c: new file
2292         * gpopup.c (panel_action_properties): use new dialog
2293         (dicon_properties): as above.
2295 1999-01-21  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2297         * gscreen.c (panel_create_file_list): Added GDK_ACTION_ASK to the
2298         destination actions.
2299         (panel_create_icon_display): Likewise.
2300         (panel_create_tree_view): Likewise.
2302         * gdesktop.c (desktop_drag_motion): If the user explicitly
2303         requested action ASK, then do not make feedback show MOVE.
2305         * gscreen.c (panel_widget_motion): Pass in all drag actions now
2306         that Gtk handles button 2 by itself.
2308         * gdesktop.c (icon_event): Also delay the call to select_icon()
2309         until button release if the icon is selected and there are no
2310         modifier keys pressed.  This lets us perform drags on
2311         multi-selections easily.
2313 1999-01-21  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2315         * gdesktop.c (setup_icon_dnd_dest): Always specify ACTION_MOVE,
2316         since we want to be able to move the icons around.  Connect to the
2317         drag_motion signal.
2318         (dnd_icon_targets): List desktop icons as a target to be able to
2319         move them just a notch in the desktop.
2320         (icon_drag_motion): Decide which action we can use for dropping
2321         stuff on a desktop icon.
2322         (setup_icon_dnd_dest): Always specify all the actions.
2323         (icon_drag_data_received): Allow for icons to be moved just a
2324         notch by accepting drops from icons.
2326         * gdnd.h: Added #defines for the DnD target type names.
2328         * gdnd.c (gdnd_init): New public function to intern the target
2329         atom names.
2330         (gdnd_drag_context_has_target): New public function to see if a
2331         drag context has a certain target type.
2333         * gdesktop.c (setup_desktop_dnd): Do not use
2334         GTK_DEST_DEFAULT_MOVE, and connect to drag_motion.
2335         (desktop_drag_motion): If we are dragging from a desktop icon,
2336         indicate the action as MOVE.  Otherwise, force the action to be
2337         LINK unless the user explicitly requested ASK.
2338         (setup_desktop_dnd): Intern the atoms for the drop targets.
2340 1999-01-20  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2342         * gscreen.c: Selection code now is simpler and should be easier to
2343         use in the listing modes.
2345 1999-01-20  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2347         * gicon.h (gicon_image_to_name): Added prototype for
2348         gicon_image_to_name().
2350         * gicon.c (gicon_get_icon_for_file):
2351         (gicon_get_icon_for_file_speed): Added a "directory" argument.
2352         It is needed because the file_entry structure only contains the
2353         pruned filename, and we need the complete name for the metadata
2354         functions.
2356         * gdesktop.c (desktop_icon_info_new): Pass the directory to
2357         gicon_get_icon_for_file_speed().
2359         * gpageprop.c (item_properties): Build the directory name and pass
2360         it to gicon_get_icon_for_file_speed().
2362         * gscreen.c: Do not #include "directory.xpm".  Do #include "setup.h".
2363         Removed unused function button_switch_to().
2365         * gscreen.c (panel_fill_panel_icons): Pass the directory to
2366         gicon_get_icon_for_file().
2368         * gscreen.c (panel_create_tree_view): Allow button 2 to start the
2369         drag as well.
2370         (panel_clist_scrolling_is_desirable): Make both scrolling
2371         thresholds consistent.  Also, do not allow scrolling past the
2372         correct limit.
2373         (panel_icon_list_scrolling_is_desirable): Likewise.
2374         (panel_tree_scrolling_is_desirable): Likewise.
2375         (panel_clist_scroll): Do not allow scrolling past the correct limits.
2376         (panel_icon_list_scroll): Likewise.
2377         (panel_tree_scroll): Likewise.
2379 1999-01-19  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2381         * gscreen.c (panel_create_icon_display): Do not set the style of
2382         the icon list.
2384 1999-01-20  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2386         * gprefs.c (apply_callback): Update the directory contents after
2387         the settings have changed.
2389 1999-01-19  Jonathan Blandford  <jrb@redhat.com>
2391         * gdialogs.c (file_op_context_create_ui): OP_DELETE now has it's
2392         very own dialog. whee.
2394         * gscreen.c (panel_create_pixmaps): now we use dir-open.xpm
2395         instead of the (apparently) ugly yellow one.
2397 1999-01-19  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2399         * gtkdtree.c (gtk_dtree_select_row): Wonder why the code was
2400         returning for the clicks on the root node.
2402 1999-01-19  Jonathan Blandford  <jrb@redhat.com>
2404         * gprefs.c: applied a heavily modified patch by Dave Camp
2405         <campd@oit.edu>  The preference box now works.
2407 1999-01-18  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2409         * gtkdtree.c (gtk_dtree_construct): And the GTK+ people broke the
2410         API again.
2412 1999-01-18  Jonathan Blandford  <jrb@redhat.com>
2414         * gscreen.c (x_create_panel): chnaged padding on the Filter label
2415         (do_ui_signal_connect): new view switching code.  Toolbar now works
2416         (go_home): new function -- takes one home
2418         * gtkdtree.c (gtk_dtree_construct): change ctree_set_reorderable.
2420 1999-01-18  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2422         * gdesktop.c (icon_event): Rewrote event handling for icons on the
2423         desktop.  This function handles button presses and releases and
2424         does some anal-retentive checking to avoid stuck pointer grabs.
2425         (icon_event_after): New fallback function for button presses.
2426         This is only called when an icon is being edited and the user
2427         clicks outside the icon's text item, indicating that editing
2428         should be accepted and terminated.
2429         (selection_stopped): New callback used to re-install the mouse
2430         grab once the icon text item stops selecting text.
2432         * gdesktop.h (DesktopIconInfo): Removed the finishing_selection
2433         flag now that the event handling code is cleaned up.
2435 1999-01-17  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2437         * gpageprop.c (item_properties): Use the metadata information for this.
2438         (item_properties): Set the icon-filename metadata bit
2440 1999-01-15  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2442         * glayout.c (create_new_menu_from): Handle both the system dir and
2443         the locally installed directory.
2445 1999-01-14  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2447         * gtkdtree.c (gtk_dtree_do_select_dir): Select the node, and test
2448         against full visibility of a node.
2450         * gscreen.c (panel_fill_panel_icons): While loading the icon list,
2451         mark those items that are selected as, well, ahem, selected.
2452         (x_fill_panel): Use the system getwd routine to find out the real
2453         location in the file system
2455 1999-01-13  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2457         * gpageprop.c (item_properties): Use file contexts appropriately.
2459         * gdnd.c (perform_action): Use file contexts appropriately.
2461 1999-01-13  Jonathan Blandford  <jrb@redhat.com>
2463         * glayout.c (create_container): finished the New->menu.  Looks
2464         better now.
2465         (create_container): Moved the statusbar creaton.  Now you can get
2466         the hints.
2468         * gcmd.c (gnome_run_new): new function.
2470         * glayout.c (create_container): beginnings of the New-> menu.  It
2471         doesn't have much yet, hopefully we'll have a good way to let apps
2472         register themselves with it.
2474 1999-01-13  bertrand <Bertrand.Guiheneuf@inria.fr>
2476         * gdialogs.c
2477         * gwidget.c:
2478         * gprop.c:
2479         s/gtk_toggle_button_state/gtk_toggle_button_active
2481 1999-01-12  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2483         * gdesktop.c (desktop_icon_info_delete): Pass the file operation
2484         context to erase_dir() and erase_file().
2486         * gcmd.c (gnome_sort_cmd): Cast the sort functions to avoid
2487         warnings.
2489         * gdialogs.c: Converted to use FileOpContext.
2491         * gmain.h: Added some prototypes needed in the Gnome version.
2493 1999-01-12  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2495         * gdesktop.c (desktop_drag_data_received): Drops on the desktop by
2496         default will always be Link commands.  If the user wants to
2497         copy/move he needs to use the button-2 to do this.
2498         (desktop_icon_info_delete): Treat links as files, not directories.
2500         I have got enough complaints about this.
2501 1999-01-12  Jonathan Blandford  <jrb@redhat.com>
2503         * gcmd.c (gnome_open_files): now you can open multiple files.
2504         * glayout.c: layout changed some.  moved run command.
2505         commented out ftplink/mkdir command for now.  gonna do mkdir
2506         next.  Why is the ftplink command needed?
2508 1999-01-12  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2510         * glayout.c (run_cmd): Add run command.  Add back FTP link
2511         command.  Add Mkdir command.  Use standard key definitions.
2513         * gview.c: Use new standard keybindings
2515         * gtkdtree.c: Now it uses the treestore code.
2517         * treestore.c: New file format which includes the scan status of
2518         the directories.
2520         * treestore.c: Provide _opendir, _readdir, _closedir operations
2521         for the tree cache.
2523         Next step: load/save the tree_entry->scanned flag (without this,
2524         you wont notice a big speedup).
2526 1999-01-10  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2528         * gutil.c (my_system_get_child_pid): Acknowledge new EXECUTE_WAIT
2529         flag.  This is required by the vfs code.
2531 1999-01-06  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2533         * gscreen.c (panel_create_file_list, panel_create_icon_display):
2534         I got excited adding the gtk_drag_source_set.  I generate those
2535         events myself, no need to put them here.
2537 1999-01-04  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2539         * gwidget.c (stock_from_text): Return this value.
2541 1999-01-08  Jonathan Blandford  <jrb@redhat.com>
2543         * glayout.c: now open the new (non-functional) dialog box.  If you
2544         want functionality, I suppose you could put the old one back in.
2545         I'll work on it more this weekend, though, so hopefully it can get
2546         back to the old state relatively quickly.
2547         * gprefs.c (gnome_configure_box): New function, new file, first
2548         start at unified properties box.
2550 1999-01-07  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2552         * gscreen.c (panel_icon_list_select_icon): Remove debugging message.
2554         * glayout.c: Add a create directory option.
2556 1999-01-07  Jonathan Blandford  <jrb@redhat.com>
2558         * gcmd.c (gnome_filter_cmd): now it works!  It's even sorta
2559         useful.  I'm so psyched... (:
2562 1999-01-07  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2564         * gscreen.c (panel_icon_list_drag_data_received): Do not update
2565         contents if nothing was done (ie, the drop was cancelled).
2566         (panel_create_file_list): Duh.  Restore this, as, ahem, we dont
2567         have banding selection on CList.
2568         (panel_icon_list_select_icon): Open the new panel only on button
2569         release.
2570         (panel_file_list_select_row): New panel started on clist when you
2571         press middle button.
2573         (panel_create_file_list): Ahaha!  I found that CList now has a
2574         gtk_clist_set_buttion_actions.  Go figure why we need this and why
2575         it was implemented, but now buttons work as they should on clist.
2577         * gdnd.c (gdnd_drop_on_directory): Do nothing if the files dragged
2578         are on the same directory we are.
2580 1999-01-07  Jonathan Blandford  <jrb@redhat.com>
2582         * gcmd.c (gnome_filter_cmd): Function filled in now.  Actually
2583         works (amazing!.)  Next: put a history on it, and maybe an event
2584         box for the label.
2586         * glayout.c: use the function below.
2588         * gcmd.c (gnome_filter_cmd): New function (or a sorry excuse for
2589         one, anyway...)
2591         * gscreen.c (x_create_panel): now uses gnome-appbar instead of the
2592         old, psuedo status bar.
2594 1999-01-06  Jonathan Blandford  <jrb@redhat.com>
2596         * gcmd.c (gnome_external_panelize): Now it works.  Just need to save
2597         results so the next time works.  Will do this tomorrow.
2598         (gnome_external_panelize): think I finished this now.
2600 1999-01-05  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2602         * gdesktop-icon.c (desktop_icon_realize): Make icons sticky as
2603         well.
2605         * gpageprop.c (item_properties): Use a file operation context.
2606         * gdnd.c (perform_action): Likewise.
2607         * gdesktop.c (desktop_icon_info_delete): Likewise.
2609         * Makefile.in: Added fileopctx.o.
2611 1999-01-05  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2613         * gdesktop.c (desktop_icon_drop_uri_list): Implement
2614         drops-on-executable.
2616         * gmetadata.c, gaction.c, gdesktop.c, gicon.c: Use g_free instead
2617         of free to follow the convention in gnome-metadata.c
2619         * gtools.c (query_dialog): Fix the new version of this.  It was
2620         overwriting memory all over.
2622         * gdialogs.c (): Use GNOME stock;  Fill in some FIXME strings.
2623         (file_progress_real_query_replace): Use the formatted
2624         message.
2626         Change the inlined N_( for _( in various places.
2627         (cancel_cb): Cancel button now cancels a copy or move operation.
2629         * gtools.c (query_dialog): Remove the hotkey indicator in the
2630         gnome version specific query_dialog box.
2632 1999-01-05  Jonathan Blandford  <jrb@redhat.com>
2634         * gcmd.c (gnome_external_panelize): mostly hooked up now.
2635         will finish tomorrow (shouldn't take very long...)
2637 1999-01-04  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2639         * Makefile.in (GNOMESRCS): Removed temp-hack.c from the list of
2640         sources.
2641         (GNOMEHDRS): Ditto for gdialogs.h.
2643         * gscreen.c (x_create_panel): Removed periods from the toolbar
2644         button tooltips.
2646 1999-01-04  Jonathan Blandford  <jrb@redhat.com>
2648         * glayout.c: menu changes.
2650         * gcmd.c (gnome_external_panelize): new function.  Does absolutely
2651         nothing yet but look pretty (and it doesn't do that all that well,
2652         yet...)  I'll hook it up to it's actual functions, tomorrow.
2654 1999-01-03  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2656         * gscreen.c (x_reset_sort_labels): Various fixes to fix some of my
2657         recent changes.  I bet Jonathan found that things were not quite
2658         working.  Sorry for the previous untested changes.
2660         This also fixes the bugs reported on gnome-list regarding the
2661         CList problems.  This is the correct fix (basically, we were using
2662         a CList that was configured in one way, even if the display format
2663         had changed.  Now, the CList is kept in sync with the format by
2664         calling a routine that somehow got dropped during some recent
2665         changes).
2667         * gtools.c (query_dialog): Simplified.
2669 1999-01-02  Jonathan Blandford  <jrb@redhat.com>
2671         * gcmd.c (gnome_sort_cmd): pretified
2672         (gnome_select_all_cmd): New command -- selects all files (in
2673         theory).
2675         * glayout.c: rearrange the edit menu some.
2677         * gscreen.c (x_create_panel): new icon view icons -- brief and
2678         custom.
2680 1999-01-01  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2682         * gdesktop.c (select_range): Fixed selection of ranges where the
2683         starting and ending icons are in the same vertical or horizontal
2684         slot.
2685         (reload_desktop_icons): Fixed incorrect usage of
2686         g_list_remove_link().  Also, moved the functionality from the old
2687         load_desktop_icons() here.  Now all icons are always loaded
2688         efficiently, and there is no need for the "incremental" flag.
2689         (desktop_icon_info_delete): Delete the icon position information.
2691         * gmetadata.c (gmeta_del_icon_pos): New public function to delete
2692         the icon position information from a file.
2694 1999-01-02  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2696         * gwidget.c (x_create_listbox): Temporary hack
2698         * gmetadata.c (gmeta_get_icon_pos): Fixed the memory leak here.
2700         * gicon.c (gicon_get_icon_for_file): Actually return a value
2701         here.
2703 1999-01-01  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2705         * gscreen.c (panel_fill_panel_list): Assertion that will pin point
2706         if a CList gets out of sync with the panel->format.
2708 1999-01-01  Momchil 'Velco' Velikov <velco@fadata.bg>
2710         * gscreen.c (panel_fill_panel_list): NULL terminate the column
2711         array.  This is strange, as it should not need the ending NULL.
2713 1999-01-01  Jonathan Blandford  <jrb@redhat.com>
2715         * gcmd.c ((GtkWidget *widget, WPanel *panel): Now hooked up
2716         correctly.  Still needs to set the option menu correctly.  Oh
2717         well...
2719 1998-12-31  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2721         * gpopup.c (dicon_properties): Made static, and renamed from
2722         desktop_icon_properties().
2723         (dicon_execute): Likewise.
2724         (dicon_actions): Renamed from desktop_icon_actions.
2726         * gdesktop.c (desktop_icon_info_destroy): Renamed from
2727         desktop_icon_destroy(), for consistency with the rest of the
2728         functions that handle DesktopIconInfo structures.
2729         (desktop_icon_info_open): Likewise.
2730         (desktop_icon_info_delete): Likewise.
2732 1998-12-31  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2734         * gscreen.c (panel_create_icon_display): Provide auto-scroll
2735         handlers for the drag stuff.
2737 1998-12-30  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2739         * gmain.c (create_panels): Register corba server here.
2741         * gcorba.c: Fix a servant declaration to point to the correct
2742         vepv.
2744 1998-12-30  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2746         * gdesktop.c (find_icon_by_drag_context): Made static.
2748         * gdesktop.h (DesktopIconInfo): Now that this type is public,
2749         renamed it from struct desktop_icon_info, for consistency.
2751 1998-12-30  Jeff Garzik  <jgarzik@pobox.com>
2753         * gprop.c, gpopup.c: s/g_copy_strings/g_strconcat/
2755 1998-12-30  Jonathan Blandford  <jrb@redhat.com>
2757         * gaction.c (gmc_execute): now takes an filename instead of a file
2758         entry for an argument
2759         (gmc_open_filename): handles the new gmc_execute code.
2761         * gdesktop.c (desktop_icon_drop_uri_list): commented out
2762         action_drop.  Needs defining.
2764 1998-12-29  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2766         * gdesktop.c (desktop_icon_delete): New function, used for
2767         dicon_delete.
2768         (load_desktop_icons): Implemented the incremental reloading of
2769         desktop icons.  This should make the code much nicer.
2770         (reload_desktop_icons): Call x_flush_events to force a display at
2771         that point.
2773         * gpopup.c (dicon_delete): Implement this operation.
2774         (desktop_icon_execute): Use the existing implementation for
2775         launching desktop icons instead of a new hacked up version
2777         (desktop_icon_actions): Until copy/move is implemented, do not
2778         even list them to the user.
2780         * gdesktop.c (create_desktop_dir): No trashcan setup until it
2781         works.
2783         * gscren.c (panel_widget_motion): Use button 2 for dragging and
2784         asking.
2787         * gscreen.c (panel_create_file_list): Use a notebook instead of
2788         the hack I was using before for switching the panel contents.
2790         * gtkdtree.c (gtk_dtree_new): We now rely on the whole code to be
2791         running in the proper visual.  The more I look at this, the more
2792         desires I have to do a proper imlib.
2794         * gdesktop-icon.c (desktop_icon_init): ditto.
2796 Tue Dec 29 16:55:24 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
2798         * gmain.c: According to the man page the color keyword for executable
2799         files   is `executable' and not `execute' -- changed.
2801 1998-12-28  Jonathan Blandford  <jrb@redhat.com>
2803         * glayout.c: Initial rehash of the menu code.
2805 1998-12-27  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2807         * gprop.c (perm_mode_new), gcliplabel.c: Uset gtk_label_set_text.
2809 Thu Dec 24 18:38:45 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
2811         * layout: Adapted for the new option Compute Totals in the
2812         Configuration dialog.
2814 1998-12-22  Jonathan Blandford  <jrb@redhat.com>
2816         * gdialogs.c (file_progress_real_query_replace): Cleaned up some.  Still has a
2817         bit of work to do, but in general, much better.
2819 Mon Dec 21 22:33:07 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
2821         * layout: Deleted obsolete widgets from the Virtual FS configuration
2822         dialog.
2824 1998-12-17  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2826         * gscreen.c (panel_icon_list_select_icon): Show the popup menu on
2827         button release here.  This is what makes most sense.
2828         (panel_widget_motion): Drags with button 3 now produce a popup
2829         dialog box that asks
2831 1998-12-16  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2833         * gdialogs.c (create_op_win): Remove second spurious packing.
2834         (create_op_win): OP_MOVE uses the same stuff OP_COPY does.  Fix
2835         this.
2836         (file_progress_show_target): More compliant to the original
2837         functions.
2838         (file_progress_show_source): More compliant to the original
2839         functions.
2841         * gdesktop.c (create_desktop_dir): Fix mem leak.
2843 Tue Dec 15 10:51:12 1998  Gregory McLean <gregm@comstar.net>
2845         * gdesktop-icon.c : Attach a desktop_icon wmclass to the desktop
2846         icons to allow even more wizardry with the desktop icons, mainly
2847         to exclude them from window lists, don't decorate them, skip
2848         desktops and other boring stuff.
2850 1998-12-14  Sven Neumann  <sven@gimp.org>
2852         * lightened up the dir-pixmaps a little to please your eyes and
2853         tigert ;-)
2855 1998-12-14  Owen Taylor  <otaylor@redhat.com>
2857         * gnome.TODO: Added a number of tree and icon
2858         view todos.
2860 1998-12-14  Owen Taylor  <otaylor@redhat.com>
2862         * gscreen.c (x_create_panel): Keep up with changes
2863         to GtkDockItem.
2865 1998-12-14  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2867         * gwidget.c (x_update_input): Use gtk_entry_get_text here.
2869 1998-12-13  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2871         * gscreen.c (panel_create_icon_display): Set white background.
2873 1998-12-13  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2875         * gdnd.c (perform_action): Fixed a pair of incorrect braces.
2876         Files were not being operated on because of this.
2878 1998-12-12  Owen Taylor  <otaylor@gtk.org>
2880         * gscreen.c (panel_tree_drag_motion): Doubled timeout
2881         for autoexpand - reducing opening unwanted directories.
2883         * gscreen.c (tree_drag_open_directory): Use
2884         gtk_ctree_expand() not gtk_ctree_expand_recursive,
2885         which increases confusion and could be
2886         _vvveeerrrryyyy_ expensive. (/afs ?)
2888         * gscreen.c (panel_tree_drag_leave): Fixed up
2889         signature - "drag_leave" has no x,y.
2891         * gscreen.[ch] (panel_tree_check_auto_expand): When
2892         we've expanded rows during a drag, collapse them
2893         again when the drag leaves that row.
2895 1998-12-12  Owen Taylor  <otaylor@gtk.org>
2897         * gtkdtree.c (gtk_dtree_destroy): Remove timer upon
2898         destruction to be safe. (Should this, and
2899         dtree->timer_id itself be in gscreen.c instead?)
2901         * gscreen.c (panel_tree_drag_leave): Change == to !=
2902         so that timeouts are properly removed.
2904 1998-12-11  Matt Wilson  <msw@redhat.com>
2906         * gscreen.c: The solid lines in the tree are kinda harsh.  Replace
2907         them with soothing dotted lines.
2909 1998-12-11  Matt Wilson  <msw@redhat.com>
2911         * dir-open.xpm, dir-close.xpm: Away with the tacky yellow folders -
2912         I like these brown ones from tigert better.
2914 1998-12-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2916         * gpopup.c (create_actions): The tests for F_PANEL and F_DICON
2917         were wrong.  Fixed them.  This does not mean that the popup menus
2918         are right, though.
2920 1998-12-11  Owen Taylor  <otaylor@redhat.com>
2922         * gscreen.c gdesktop.c gdnd.h: enable dragging locale files
2923         into Netscape.
2925 1998-12-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2927         * gicon.c (gicon_get_icon_for_file): First try to fetch the inline
2928         icon data (i.e. thumbnails), second try the generic icon filename.
2930 1998-12-11  Owen Taylor  <otaylor@redhat.com>
2932         * gdesktop.c (window_button_press): Ehen cancelling editing
2933         account for clicks on other GMC windows.
2935 1998-12-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2937         * gdesktop.c (click_proxy_filter): Doh.  We may get DestroyNotify
2938         for other windows than the proxy, so deal with it.
2940 1998-12-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2942         * gdesktop.c (click_proxy_button_press): Use a nice arrow cursor
2943         for rubberbanding.
2944         (click_proxy_filter): Keep a firm jaw when the window manager dies
2945         and thus the proxy window is destroyed.
2946         (setup_desktop_click_proxy_window): Moved the proxy window
2947         creation code to this function.
2948         (click_proxy_property_notify): Handle PropertyNotify events from
2949         the root window for when the proxy window changes.  Now the window
2950         manager can restart itself as it pleases and GMC will handle it
2951         correctly.
2953 1998-12-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2955         Wheeeee!  Desktop icons can be selected by rubberbanding.  You
2956         need Englightenment to do this, as so far it seems to be the only
2957         WM with support for the _WIN_DESKTOP_BUTTON_PROXY property.
2959         * gdesktop.c (click_proxy_filter): New event filter for button
2960         presses and releases on the root window.
2961         (click_proxy_button_press): New function to handle button presses
2962         on the desktop.
2963         (click_proxy_button_release): New function to handle button
2964         releases on the desktop.
2965         (click_proxy_motion): New function to handle rubberbanding motion
2966         on the desktop.
2967         (setup_xdnd_proxy): Flush the server after ungrabbing it.
2968         (find_click_proxy_window): Flush the server after ungrabbing it.
2969         (store_temp_selection): Stores the temporary selection to the
2970         master selection, or viceversa.  This is needed for dynamic
2971         updating while the user rubberbands.
2972         (update_drag_selection): New function to update the selection
2973         while the user is rubberbanding on the desktop.
2974         (icon_is_in_area): New function to see if an icon is inside the
2975         rubberbanding area.
2977         * gdesktop-icon.h: Added fields for querying the icon and text
2978         position and size.
2980         * gdesktop-icon.c (desktop_icon_reshape): Set the position and
2981         size fields as computed for layout.
2983 1998-12-11  Owen Taylor  <otaylor@redhat.com>
2985         * gdesktop.c (editing_started): Grab on the window for the
2986         icon, not on the canvas, so we can properly detect
2987         clicks elsewhere.
2989         (icon_button_release_after): When the user stops selecting,
2990         regrab the pointer.
2992 1998-12-11  Jonathan Blandford  <jrb@redhat.com>
2994         * gtkdtree.c (gtk_dtree_do_select_dir): fixed a little bug --
2995         caused a segfault.
2997         * gscreen.c (x_create_panel): More changes.  The toolbar is moved
2998         to a gtk_toolbar, and is movable.  The entry will be put in it's
2999         own toolbar, too.
3000         (panel_create_cwd): For now, hardcode the usize of the entry
3001         widget.  Later on, have it expand (when toolbar supports it)
3003 1998-12-10  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3005         * gcmd.c: #include "../vfs/vfs.h"
3007         * gdesktop.c (setup_icon_dnd_actions): Moved the code that calls
3008         gtk_drag_source_set() for an icon here.
3009         (editing_started): Temporarily disable drags while the icon's text
3010         is being edited.
3011         (editing_stopped): Re-enable DnD from the icon once editing has
3012         stopped.
3014 1998-12-10  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3016         * gcmd.c (gnome_close_panel): When a panel is destroyed, chdir to
3017         root directory, as the process will be holding the inode for the
3018         directory that was selected until an operation is performed in
3019         another panel.
3021         * gicon.c (gicon_get_icon_for_file): Invert the way the testing
3022         for icons is done to handle directories properly.
3024 1998-12-10  Jonathan Blandford  <jrb@redhat.com>
3026         * gscreen.c (x_create_panel): made some small stylistic changes.
3027         Also, removed the hint bar and consolidated the status bar.
3029 Thu Dec 10 21:38:55 1998  Owen Taylor  <otaylor@redhat.com>
3031         * gkey.c (delete_select_channel): Fixed list handling
3032         with g_list_remove().
3034 1998-12-10  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3036         * gdesktop.c (dnd_select_icon_pending): Added this flag that
3037         specifies whether a selection is pending for an icon if the user
3038         was holding the Control key down while clicking.  We have to delay
3039         selection in this case so that DnD will work correctly, just like
3040         Windows.
3041         (icon_button_press): New function that handles button presses on
3042         icons; it obsoletes the old desktop_icon_info_event().
3043         (icon_button_release): New function that handles button releases
3044         on desktop icons; it will do what is appropriate if there was a
3045         pending icon selection.
3046         (drag_begin): Handle pending selections as appropriate.
3047         (unselect_all): Added an paremeter that specifies which icon to
3048         exclude from unselection.
3049         (editing_started): Unselect all icons but the one for which
3050         editing has started.
3051         (dnd_icon_sources): Changed the MIME-types for internal drops to
3052         "application/x-mc-desktop-icon".
3053         (click_proxy_window): New variable that stores the proxy window
3054         for clicks on the desktop.
3055         (setup_desktop_clicks): New function that sets up clicks on the
3056         root window.
3057         (find_click_proxy_window): New function to find and set up the
3058         window for proxying clicks from the root window.
3060         * image.metadata.in: Added case for `jpg', as there was only a
3061         case for `jpeg'.
3063 1998-12-07  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3065         * gicon.c (gnome_file_entry_color): If we do not have permissions
3066         for this directory, indicate this with a special icon.
3068         * gscreen.c (panel_icon_list_select_icon): Middle button opens a
3069         new panel on a directory.
3071 1998-12-08  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3073         * gdesktop.c: Moved the old DnD cruft to olddnd.c to keep it there
3074         for reference purposes.
3076         * gmetadata.c: Removed the gmeta_get_icon_for_file() function, as
3077         it is obsoleted by gicon_get_icon_for_file().
3079         * gdesktop.c (desktop_icon_info_new): Made it use
3080         gicon_get_icon_for_file().
3082         * gdesktop-icon.c (set_icon): Now we handle things internally
3083         using an imlib image, not a filename.
3084         (desktop_icon_new): Now takes an imlib image for the icon instead
3085         of a filename.
3086         (desktop_icon_set_icon): Likewise.
3088 1998-12-08  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3090         * gtkdtree.c (gtk_dtree_new): Use imlib's visual and colormap.
3092         * gscreen.c (panel_create_tree_view): Use the colormap and visual
3093         from imlib when creating the DTree,
3095 1998-12-08  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3097         * gdesktop.c (icon_drag_data_received): Doh.  Use the correct
3098         pathname when calling gdnd_drop_on_directory().
3100 1998-12-07  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3102         * gdesktop.c (desktop_icon_info_new): Do not stat the file, as we
3103         do not need that information anymore.
3104         (setup_icon_dnd_source): Moved the DnD-as-source code to here.
3105         (setup_icon_dnd_dest): New function to set up an icon as a DnD
3106         destination.
3108         * gdesktop.c (desktop_icon_info_place): Doh, do not place icons
3109         past the edge of the *whole* screen :-)
3110         (dnd_press_x dnd_press_y): New variables to store the cursor
3111         hotspot for DnD icons.  Moved these over from the
3112         desktop_icon_info structure, as it does not make sense to have
3113         this inside every icon.
3114         (button_press): Use dnd_press_x and dnd_press_y.
3115         (drag_begin): Likewise.
3116         (drop_desktop_icons): Use dnd_press_x and dnd_press_y to fix the offsets.
3117         (drag_data_received): Fix the proxy window offsets for all types
3118         of targets.
3119         (drop_desktop_icons): Snap the coordinates as appropriate.
3121 1998-12-07  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3123         * gdesktop.c (drop_desktop_icons): New function to perform a drop
3124         from desktop icons to the desktop.  It effectively moves the icons
3125         around.
3126         (desktop_icon_info_place): Do not place the icons past the edge of
3127         the screen.
3129 1998-12-06  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3131         * gdesktop.c (file_entry_from_file): Finished implementing
3132         file_entry_from_file().
3133         (struct desktop_icon_info): Removed the `type' field.  We now stat
3134         the file when needed to figure out the file type.
3135         (desktop_icon_info_event): Test whether the file is a directory by
3136         ourselves, and if it is, open a new panel for it.
3137         (drag_data_get): Generate the uri-list for internal desktop icon
3138         drags as well.
3140         * gdesktop.c (drag_data_received): We do not need to call
3141         gtk_drag_finish(), since we are using the GTK_DEST_DEFAULT_DROP
3142         flag for drops on the desktop.
3143         (desktop_icon_info_event): Reload the desktop icons after
3144         executing a command from the popup menu.  This kind of sucks, but
3145         will do for now.
3146         (desktop_icon_info_event): Upon receiving a button-1 press, if the
3147         icon was already selected in the first place, delay the
3148         re-selection phase until we get a mouse release event.  This lets
3149         us start a multiple-selection drag without having the initial
3150         click clear the selection first.
3151         (desktop_icon_info_event): Open the file or directory when the
3152         desktop icon receives a double click.
3154         * gmain.c (beep): Made it void, since it does not (need to) return
3155         anything.
3156         (xtoolkit_end): Likewise.
3158 1998-12-05  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3160         * gscreen.c (panel_build_selected_file_list): Provide space for
3161         the terminating NULL.
3163         * gmain.c (beep): Return a value.
3165         * gdnd.c (get_action): Typo fix.
3167 1998-12-04  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3169         * gscreen.c (load_imlib_icons): Make it use the new gicon files.
3171         * gicon.c, gicon.h: New files: they keep an image cache and
3172         provide the right icon to use based on the filename.  They use the
3173         GNOME metadata to fecth the "icon-filename" and "icon-inline-png"
3174         keys for per-image icons.
3176         * gdialogs.c (file_mask_dialog): Commented the help messages until
3177         the warnings are figured out.
3179 1998-12-04  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3181         * gdesktop.c (desktop_icon_info_new): Connect the signals for DnD
3182         so that we can drag icons from the desktop.
3183         (drag_begin): New function to set the drag cursor for icons on the desktop.
3184         (button_press): New function that stores the hot spot position for
3185         DnD cursors.
3186         (drag_data_get): New function to fetch the URI-list of selected icons.
3188         * gdialogs.c: Fixed some includes.
3190         * gdesktop.h: Removed the DnD target enum from here, since it is
3191         specific to each submodule.
3193         * gdnd.h: Moved the DnD target enums to here.  Added a new
3194         TARGET_MC_DESKTOP_ICON.
3196         * gdesktop.c (get_icon_snap_pos): Fixed icon snapping; the
3197         coordinates not being updated correctly.
3199         * gscreen.c (panel_drag_data_get): Free the uri list; it was being leaked.
3201 1998-12-04  Jonathan Blandford  <jrb@redhat.com>
3203         * gdialogs.c (file_progress_show_count): finished the copy dialog.
3205 1998-12-04  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3207         * gblist.c (blist_select_row): Warning fixes.
3209         * olddnd.c: Moved the old DND code here for reference purposes.
3211         * gscreen.c: Made the tree a drag source.
3213 1998-12-04  Jonathan Blandford  <jrb@redhat.com>
3215         * gdialogs.c (trim_file_name): better update dialog
3217 1998-12-03  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3219         * gdesktop.c (load_desktop_icons): Added arguments that specify
3220         where to place the newly-created icons.  This needs some tweaking still.
3221         (reload_desktop_icons): Now takes arguments for the position of
3222         the new icons.
3223         (drag_data_received): Pass in the drop position to reload_desktop_icons().
3225         * gscreen.c (panel_tree_drag_motion): Added missing variable declaration.
3227         * gdesktop.c (load_desktop_icons): Added an incremental flag that
3228         specifies whether icon creation is unconditional regardless of
3229         whether there is an icon for a file or not.
3230         (reload_desktop_icons): Use the incremental flag in load_desktop_icons().
3231         (drag_data_received): Reload the desktop incrementally, to avoid flicker.
3232         (desktop_icon_info_new): Use mc_lstat(), not mc_stat().  We do
3233         want to read symlinks, even dangling ones, if they exist.
3234         (load_desktop_icons): While we are reading the desktop directory,
3235         first place all the icons that have their metadata icon-position
3236         set, and build a list of the ones that don't.  *Then* place
3237         those.  This fixes overlapping icons on weird situations.
3239         * directory.xpm: Removed bogus garbage.  There was a stale pixmap here.
3241         * gdesktop.c (setup_desktop_dnd): Allow for GDK_ACTION_ASK as well.
3243         * gscreen.c (panel_widget_motion): The action argument to
3244         gtk_drag_begin() is a mask of possible actions, not a single action.
3246         * gdesktop.c (drag_data_received): Only reload the icons if the
3247         drop was successful.
3249 1998-12-03  Jonathan Blandford  <jrb@redhat.com>
3251         * gdialogs.c (create_op_win): starting the op_win dialog stuff
3253 1998-12-03  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3255         * gscreen.c (panel_create_icon_display, panel_create_file_list):
3256         Hook up to drag_begin and drag_end events.
3258         * gscreen.c (panel_tree_drag_motion): Improve interactivity
3259         (x_create_panel): Add a little decorating frame.
3261         (panel_create_icon_display, panel_create_file_list):
3262         Hook up to drag_begin and drag_end events.
3264         (panel_tree_drag_motion): Either queue a scroll on the tree, or
3265         queue an open-directory event.
3267         (panel_tree_scroll): Scroll the tree when the drag pointer is in
3268         one of the boundaries of the tree.
3270         (panel_tree_scrolling_is_desirable): new function to figure out if
3271         it is a good plan to scroll the tree view instead of opening it.
3273         (panel_chdir): Do not sync with the tree when we are in the middle
3274         of a drag and drop operation.
3276         (panel_drag_begin, panel_drag_end): New functions to keep track
3277         of the dragging operations.
3279 1998-12-02  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3281         * gscreen.c (panel_tree_drag_data_received): Perform drag and drop
3282         operations on the Tree.
3284 1998-12-02  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3286         * gdesktop.c (setup_desktop_dnd): New function to set up drops
3287         to the root window.
3288         (setup_xdnd_proxy): Function by Owen Taylor to set up a DnD proxy
3289         window.
3290         (drag_data_received): Function to handle drops on the root window.
3291         (desktop_destroy): Destroy the DnD setup.
3292         (reload_desktop_icons): New function to reload the desktop.
3294         * gscreen.c (drag_types, drop_types): Removed url-list; only
3295         uri-list should be there.
3297         * gdesktop.h: Removed TARGET_URL_LIST from the DnD enumerations.
3299         * gtkdtree.c (gtk_dtree_do_select_dir): Made static, as it is for
3300         internal use only.
3301         Fixed a little bunch of compiler warnings.
3303         * gscreen.c (x_fill_panel): Use gtk_dtree_select_dir(), not
3304         gtk_ctree_do_select_dir().
3306         * gpopup.c (gpopup_do_popup): Fixed incorrect assertion and
3307         actually create the menu (doh).
3308         (gpopup_do_popup): Do the same magic as in gnome-popup-menu to
3309         fetch the item that was activated in the menu.  Keep this code out
3310         of reach of children.
3311         (fill_menu): New function to fill the menu using the
3312         gnome-popup-menu magic for fetching the activated menu item.
3313         Removed ifdef'ed code.
3315 1998-12-02  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3317         * gscreen.c (tree_drag_open_directory, panel_tree_drag_motion,
3318         panel_tree_drag_leave): Drag and Drop support routines for the
3319         tree to auto-expand the tree when the user stays still on top of a
3320         directory.
3322         * gtkdtree.c (gtk_dtree_load_path): Further speed increase.
3324 1998-12-01  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3326         * glayout.c (file_menu): Use view_cmd and view_simple_cmd in the
3327         menu instead of panel_action_view and
3328         panel_action_view_unfiltered, respectively.
3330         * gpopup.c (create_regexp_actions): Create the menu items using
3331         gnome-app-helper, for visual consistency.
3332         (create_actions): Likewise.  Also, fixed S_ISLNK() confusion.
3333         (get_label_text): Extract the label from the GnomeUIInfo item in
3334         an ugly way.
3336 1998-12-01  Jonathan Blandford  <jrb@redhat.com>
3338         * Makefile.in: now handles gdialogs*
3340         * gdialogs.h:
3341         * gdialogs.c:Added new files -- takes the place of ../src/filegui.*
3343 1998-12-01  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3345         * gscreen.c (panel_switch_new_display_mode): Destroy the old
3346         widget.  Add the list view to the proper table.
3348         * glayout.c: Remove the exit menu option.
3350         * gtree.c (gtk_dtree_contains): New routine used to avoid
3351         duplicate entries in the tree display.
3353 1998-11-30  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3355         * gscreen.c (panel_icon_list_select_icon): Use gpopup_do_popup().
3356         (panel_file_list_select_row): Use gpopup_do_popup().
3357         Moved the popup menu code to gpopup.c.
3359 1998-11-29  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3361         * gscreen.c (display_mini_info): Use g_strdup_printf() to make it
3362         i18n-ize nicely.
3363         (panel_create_filter): Use _(), not N_().
3364         (x_create_panel): Likewise.
3366 1998-11-29  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3368         * gscreen.c (x_create_panel): Add panel view.  Put the views
3369         inside a new table.  Add tree view to the left.
3370         (panel_create_icon_display): IconList no longer starts in frozen state.
3372         Update Makefile.
3374 1998-11-28  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3376         * gwidget.c (x_update_input): Use gtk_editable_changed on the entry.
3377         (x_create_listbox): Fix more CList api change.
3378         * gscreen.c (CLIST_FROM_SW): Adapt to new GtkScrolledWindow
3379         inheritance.
3381 1998-11-27  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3383         * Makefile.in (OOBJS): Add filegui.o back until the GTK-specific
3384         filegui is written.
3386         * gdesktop.c (check_window_in_one_panel): Provide better error
3387         messages here for debugging purposes.
3389         Disable stubs for filegui.c until they are actually implemented.
3390         I need to debug stuff.
3392         * gdnd.c (find_panel_owning_window): Use the new
3393         gtk_drag_get_source_widget function to find out reliably if the
3394         drag source happens to be in this application.
3396         * gscreen.c (x_create_panel): Set the usize for the ministatus
3397         label to be (0, -1), this means: do not request any horizontal
3398         space, use any vertical space given.
3400         Put the ministatus inside an hbox, and use
3401         gtk_container_set_resize_mode in this hbox to stop any queue
3402         events from being propagated up in the hierachy of widgets
3404         This kills all of the CList/GnomeIconList/Scrollbar/Toolbar
3405         flickering now.
3407 1998-11-26  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3409         * gtree.c: More work on gtree.  It is basically ready to stick
3410         into gmc-window.c/mc  I just need to know when you are ready
3411         Federico.
3413 1998-11-25  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3415         * gpopup.c (gpopup_do_popup): Hide the edit/view separator if
3416         those items were disabled, too.
3418         * gdesktop-icon.c (desktop_icon_realize): Added
3419         WIN_STATE_FIXED_POSITION and WIN_STATE_ARRANGE_IGNORE to the
3420         window hints for the desktop icons.
3422 1998-11-24  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3424         * gdesktop.c (desktop_icon_info_event): Run the popup menu for the
3425         icons in the desktop.
3427         * gpopup.[ch]: New files that take care of the popup menus for
3428         files in the desktop and in the panels.
3430         * Makefile.in: Added gpopup.[ch] to the list of sources.
3432 1998-11-23  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3434         * gdesktop.c (desktop_icon_info_place): Save the icon position
3435         when it is moved.
3436         (desktop_destroy): Removed the save_icons_pos() function and do
3437         not invoke it from desktop_destroy().
3439 1998-11-23  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3441         * gwidget.c (x_list_insert): Make it work with the new CList
3442         policies.
3444 1998-11-23  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3446         * gdesktop.c: Put in a bunch of stubs for the functions in
3447         filegui.h.  These will be removed as the dialogs get
3448         custom-written for Gnome.
3450         * gmetadata.[ch]: Changed the function names to "gmeta_*".
3452         * gscreen.c (CLIST_FROM_SW): Use scrolled_window->child, as
3453         viewport is obsolete.
3455 1998-11-19  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3457         * Makefile.in (OOBJS): Do not link ../src/filegui.o.  GMC does not
3458         link right now, but I guess I'll add stubs until we finish with
3459         the dialog boxes.
3461         * gdnd.c: #include <sys/types.h>
3463         * Makefile.in (checklinks): Fix sourcelinks -> maksourcelinks typo.
3465 1998-11-12  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3467         * gmain.c (session_save_state): Use gnome_geometry_string.
3469 1998-11-06  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3471         * gscreen.c (panel_file_list_compute_lines): Quick hack to get mc
3472         to compile with the new CList.
3474 1998-11-10  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3476         * Makefile.in: Removed gtrans.c from the list of sources.
3478         * gdesktop-icon.c: #ifdef cleanups.
3480         * gscreen.c (panel_create_file_list): Doh.  Return the scrolled
3481         window, not the clist.
3483         * gdnd.c (get_action): Implement the DnD actions menu.
3485 1998-11-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3487         * gdnd.c: New file that handles all the DnD stuff.  Mainly used to
3488         clean up gdesktop.c.
3490         * gscreen.c (panel_icon_list_drag_data_received): Use
3491         gdnd_drop_on_directory().
3492         (CLIST_FROM_SW): Added this macro to fetch the clist from the
3493         scrolled window in panel->list.
3494         (panel_create_file_list): Create a scrolled window and put the
3495         clist inside it.  This is required per the new clist API.
3496         (panel_configure_file_list): Use the scrolled window's adjustment.
3497         (panel_file_list_size_allocate_hook): Use the scrolled window
3498         instead of the clist.
3499         (panel_file_list_compute_lines): Use the scrolled window instead
3500         of the clist.
3501         (panel_file_list_configure_contents): Use the scrolled window
3502         instead of the clist.
3503         (panel_create_file_list): Do the DnD setup here, not in the
3504         realization callback.
3505         (x_create_panel): Do not realize the panel explicitly.
3506         (panel_create_pixmaps): Create the pixmaps using imlib instead of
3507         Gdk.
3509 1998-11-06  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3511         * gdesktop.c (text_changed): Doh.  Set the new filename of the
3512         desktop icon info structure.
3514 1998-11-05  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3516         * gdesktop.c (text_changed): We rename the files when the text
3517         changes.
3518         (save_icons_pos): New function to save the icon position metadata
3519         for all the icons in the desktop.
3520         (desktop_destroy): Save the icon positions when we exit.
3522 1998-11-04  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3524         * gdesktop.c (editing_started):
3525         (editing_stopped): New functions to install and remove
3526         pointer/keyboard grabs while icons are being edited,
3527         respectively.
3529 1998-11-03  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3531         * gdesktop.c (select_icon): Raise the icon when it is selected.
3533 1998-11-02  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3535         * gdesktop.c (select_range): Doh.  Fix dii -> ldii typo.  Also,
3536         use Windows semantics -- ranges are considered rectangular instead
3537         of linear.
3539         * gdesktop.c: Now desktop icons are stored in the layout_slots
3540         array.  We need to know which icons are in which slots.
3541         (unselect_all): Use the layout_slots array.
3542         (desktop_icon_info_place): Append the icon to the list in the
3543         proper slot.
3544         (desktop_icon_info_new): Initialize the position and slot fields
3545         in the desktop icon info structure.
3546         (desktop_icon_info_free): Remove the icon from its slot.
3547         (desktop_destroy): Destroy the layout slots and the icons
3548         properly.
3549         (remove_from_slot): New convenience function to remove an icon
3550         from the slot it is in.
3551         (get_icon_snap_pos): Do a bit nicer snapping by really using the
3552         closest slot.
3553         Added a last_selected_icon variable to keep track of the icon that
3554         was last selected, for shift+click selections.
3555         (select_icon): Finish selection semantics and clean up.  Now it is
3556         nice and simple and complete.
3557         (select_range): New function that handles range selections.
3559 1998-11-01  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3561         * gdesktop-icon.h (DesktopIcon): Added a child item for stippling
3562         the icon when it is selected.
3564         * gdesktop-icon.c (desktop_icon_select): Show/hide the stippling
3565         as appropriate.
3567         * gdesktop.c (desktop_icon_info_event): Handler for events on
3568         desktop icons.
3569         (select_icon): New function that handles icon selection based on
3570         mouse clicks and modifier keys.
3572         * gdesktop.c (struct desktop_icon_info): Added a type field to the
3573         structure.  It specifies the type of icon (file, directory), and
3574         is used to determine the DnD and menu behavior.
3576 1998-10-30  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3578         * gdesktop.c: We are now using the new desktop icon code.  It is
3579         not yet complete, but what is there does work.  We have icon
3580         creation, auto-layout and snapping.  Next step is drag and drop
3581         and popup menus.
3583         * glayout.c: #ifdef out the stuff that uses the old desktop code.
3584         I will replace it gradually.
3585         * gmain.c: Likewise.
3586         * gscreen.c: Likewise.
3588 1998-10-27  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3590         * gscreen.c (panel_icon_list_button_release): Remove unused
3591         variable.
3593         Provide hand written CList-start drag code
3595 1998-10-30  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3597         * gmetadata.c (meta_get_icon_pos): Renamed from
3598         meta_get_desktop_icon_pos().
3599         (meta_set_icon_pos): New public function to save the icon position
3600         information.
3602         * gdesktop-icon.c (canvas_size_allocated): New function.  We reset
3603         the canvas scrolling region here, when the canvas gets size
3604         allocated, to ensure that the canvas has always the correct
3605         scrolling region.  We do it here instead of in the reshape()
3606         function to avoid flicker.
3608 1998-10-29  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3610         * gmetadata.[ch]: New files with functions to handle all metadata
3611         issues -- fetching icons, icon positions, etc.
3613         * Makefile.in: Added gmetadata.[ch] to the list of sources.
3615 1998-10-28  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3617         * gdesktop-icon.c (create_window_shape): Use shaped icons only
3618         when the user has selected them.
3619         (desktop_icon_reshape): New public function to recompute the shape
3620         of the icon.  This should be used when the global
3621         desktop_use_shaped_icons flag changes.
3622         Added documentation comments to the public functions.
3624         * Makefile.in: Fixed for gdesktop-icon.
3626         * gdesktop-icon.[ch]: Renamed from desktop-icon.[ch], per Miguel's
3627         request.
3629         * desktop-icon.c (reshape): Position the icon text item correctly.
3631 1998-10-27  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3633         * desktop-icon.c (desktop_icon_new): Do now reshape more than
3634         needed by splitting the set_icon and set_text functions apart.
3636 1998-10-23  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3638         * gdesktop.c (desktop_icon_set_position): Do not lower the
3639         window.  The gnome-compliant wm will know what to do with windows
3640         on the Desktop layer.
3641         (post_setup_desktop_icon): Likewise.
3643         * desktop-icon.c (create_window_shape): Fetch the mask of the
3644         image "by hand", as we cannot rely on the canvas item having
3645         created it yet.
3647         * desktop-icon.c (desktop_icon_realize): Doh.  We need to
3648         initialize the gnome_win_hints before we set any of the hints.
3650 1998-10-21  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3652         * gdesktop.c (create_desktop_icon): Renamed from
3653         my_create_transparent_text_window.  Now uses the DesktopIcon
3654         widget for its work.
3655         (get_desktop_icon_for_dentry): Renamed from
3656         get_transparent_window_for_dentry.  Uses the DesktopIcon widget.
3657         (get_desktop_icon_for_di): Renamed from
3658         get_transparent_window_for_di.
3659         (desktop_icon_properties): Do not size_request the icon, since now
3660         we can get its dimensions directly from the DesktopIcon structure.
3662         * desktop-icon.[ch]: New file that takes care of desktop icons.
3663         It provides the spiffy widget that is used for them.
3665         * Makefile.in: Added desktop-icon.[ch] to the list of sources.
3666         MC should use Automake, I think.
3668 1998-10-21  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3670         * gscreen.c (panel_create_icon_display): Small size adjustment.
3672         * glayout.c (create_container): Small size adjustment.
3674         * gmain.c (xtoolkit_create_dialog): Center windows.
3676 1998-10-20  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3678         * gscreen.c (x_select_item): Force a canvas update when an icon
3679         has been selected.
3681 1998-10-19  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3683         * gscreen.c (panel_drag_data_get): New routine to provide data
3684         with the new DnD protocol.
3686         * gmain.c (dialog_key_pressed): If an icon has the focus, then do
3687         not process any of our events.
3688         Only stop the signal if we actually handled the event.
3689         (dialog_key_pressed):
3691 1998-10-14  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3693         * gscreen.c (panel_icon_renamed): Add support for renaming files.
3695 1998-10-13  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3697         * gscreen.c: Use the new icon list.
3699 1998-09-25  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3701         * gscreen.c: Hook to invoke the editor from the context menu.
3703 Fri Sep 18 13:51:16 1998  Pavel Roskin <pavel_roskin@geocities.com>
3705         * Makefile.in: Consequent "make" should not rebuild gmc every time
3707 Mon Aug 31 10:46:32 1998  Owen Taylor  <otaylor@redhat.com>
3709         * gscreen.c (display_mini_info): Removed calls to
3710         gtk_clip_label_set() hack, since its cut-n-paste code didn't work
3711         with new GTK's. If excessive resizes are a problem, they can be
3712         solved by adding an adjustment around the label, and calling
3713         gtk_container_set_resize_mode().
3715 1998-08-20  Raja R Harinath  <harinath@cs.umn.edu>
3717         * gdesktop.c: Include "mad.h", for xmalloc.
3718         * gkey.c: Likewise.
3719         * gscreen.c: Likewise.
3720         (panel_create_file_list): Use `g_free', not `free'.
3722 Wed Aug 19 19:45:16 EDT 1998 The Rasterman <raster@redhat.com>
3724         * gdesktop.c - changed dnd setting routine for desktop icon to set
3725           events on child window...
3726         * gtrans.c - chnaged routines to make window with child rawing area
3727           and set shape on parent window
3729 1998-08-14  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3731         * gscreen.c (panel_make_local_copies_and_transfer): Fix.
3733 1998-07-04  Carsten Schaar  <nhadcasc@fs-maphy.uni-hannover.de>
3735         * gmain.c (session_management_setup): Replaced
3736         'gnome_client_new_default' with 'gnome_master_client'.
3738 1998-06-23  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3740         * gwidget.c (x_update_input): The previous hack was not
3741         required, the right fix was to change Gtk.
3743 1998-06-22  Manish Vachharajani <mvachhar@vger.rutgers.edu>
3745         * gwidget.c: Don't call gtk_entry_scroll_adjust, it is a private member
3747 1998-06-02  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3749         * gdesktop.c (drop_cb): Mhm.  Negotiation of the drop type was not
3750         quite like I expected.  Anyways, fixed a bug: we need to take
3751         text/plain drops on the launch icons on the desktop.
3753 1998-06-01  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3755         * gdesktop.c (desktop_setup_icon): Assign the dentry->geometry
3756         from the drop position.   New .desktop files are now placed on the
3757         site they were dropped.
3758         (drop_cb): Use proper prototype.
3760 Sun May 31 13:19:59 1998  Norbert Warmuth  <k3190@fh-sw.de>
3762         * Makefile.in: use @LIBVFS@ when referring to libvfs-mc.a (one
3763         reference wasn't converted, yet).
3765 1998-05-30  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3767         * gwidget.c (x_create_input): Set the entry's visibility if it is
3768         a password field.
3770 1998-05-26  Marc Ewing <marc@redhat.com>
3772         * Makefile.in: use @LIBVFS@ when referring to libvfs-mc.a
3774 1998-05-26  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3776         * gmain.c (session_save_state): Perform shutdown if `shutdown'
3777         flag is set.
3779 1998-05-25  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3781         * gwidget.c (entry_release): Enhanced our marked handler for input
3782         lines.
3784         * gdesktop.c (desktop_create_directory_entry): Fix, make a
3785         g_strdup copy of the name. Fixes bug report #78.
3786         (desktop_icon_context_popup): Simplified this routine as we are
3787         using file_popup now anyways.
3789 1998-05-24  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3791         * glayout.c: Move the New window menu entry from ``Window'' to
3792         ``File''.
3794         * gwidget.c (x_unfocus_widget): Fix wartning.
3796         * glayout.c (set_hintbar): Call flush events after setting the
3797         hintbar.
3799 1998-05-22  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3801         * gwidget.c (x_create_input): Disable the use of the GNOME entries
3802         for now, as they are very slow.  We need to figure out what is
3803         wrong with this.
3805         With this change, dialog boxes close quickly instead of taking
3806         ages to close.
3808         * gscreen.c, gdesktop.c (file_popup_add_context, file_popup):
3809         Share the context menu code in gdesktop.c and gscreen.c.  The
3810         desktop pop up menus now include all of the stuff that would have
3811         appeared in the Panel.
3813         * gdesktop.c (desktop_icon_remove): Remove the file associated
3814         with this desktop entry if it is on the ~/desktop directory.
3816 1998-05-21  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3818         * gscreen.c (load_dnd_icons): Remove the code and the icons that
3819         we had here privately.  Use new gnome-stock functionality
3820         instead.
3822 1998-05-20  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3824         * gscreen.c (panel_drag_request): All of the drag_request code is
3825         now shared by both the Icon View and the Listing view;
3826         New drag request type:  file:ALL.  If the user is looking at a
3827         remote site, and the target application does not have VFS support
3828         it should not list url:ALL but file:ALL as the accepted drop
3829         type.
3831         This will make copies of the remote files and pass the files to
3832         the application.
3834 1998-05-20  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3836         * gtrans.c (set_window_text): Pass new justification parameter to
3837         gnome_icon_paint_text().
3839         * gpageprop.c (item_properties): Restore the arrow cursor for the
3840         desktop icon windows.
3842         * gdesktop.h (desktop_icon_t): Removed unused title field.
3844         * gtrans.c (set_window_text): Made it use the new
3845         GnomeIconTextInfo functions.
3847 1998-05-18  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3849         * gscreen.c (panel_create_icon_display): Set some good separator
3850         characters for the file icon list.
3852 1998-05-20  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3854         * gprop.c (perm_owner_new): Forget about history for now.
3856         * gpageprop.c (item_properties), gprop.c: Add executable editing
3857         (command, and terminal).  Save the dentry after modification
3859 1998-05-19  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3861         * gprop.c (change_icon): Test for gp, as the combobox emits the
3862         "changed" signal when shutting down.  Great.
3864         * gdesktop.c (desktop_reload): Missing mc_closedir
3865         (desktop_setup_icon): Fix memory leak.
3866         (get_desktop_icon): Fix memory leak.
3867         (desktop_create_directory_entry): Set the size of the exec
3868         vector.
3869         (desktop_create_launch_entry): Same.
3871         We now create launch entries instead of trying to support
3872         regular dropped stuff on the desktop, this makes things easier and
3873         more consistent.
3875 1998-05-18  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3877         * gscreen.c (x_select_item): Test for full icon visibility instead
3878         of partial visibility only.
3880 1998-05-15  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3882         * gscreen.c (create_popup_submenu): Use continue, not break on
3883         this loop.
3885 Sat May 16 02:29:51 1998  Tom Tromey  <tromey@cygnus.com>
3887         * gdesktop.c (url_dropped): `exec' field of desktop entry now a
3888         vector.
3889         (dentry_execute): Likewise.
3890         (desktop_icon_remove): Likewise.
3891         (get_transparent_window_for_dentry): Likewise.
3892         (desktop_create_directory_entry): Likewise; also initialize
3893         exec_length.
3895 1998-05-16  Jaka Mocnik <jaka.mocnik@kiss.uni-lj.si>
3897         * gscreen.c (create_popup_submenu): fixed bug which caused it to require
3898         0 instead of 1 marked files for F_SINGLE file_actions.
3899         * gscreen.c (file_popup): first item in the menu displays "..." when
3900         multiple files are selected.
3902 Thu May 14 23:31:15 1998  Tom Tromey  <tromey@cygnus.com>
3904         * gmain.c (session_save_state): Use "+" instead of "%s" in format
3905         specification.  Free `argv'.
3907 1998-05-14  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3909         * gtrans.c (create_transparent_text_window): Removed the hack to
3910         lower the window on exposes.  Guess what happens when you have two
3911         icons on the same spot.
3913 Thu May 14 02:02:56 1998  Norbert Warmuth  <k3190@fh-sw.de>
3915         * Makefile.in (EXTRALIBS): add @LINTL@
3917 1998-05-09  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3919         * gtrans.c (set_window_text): draw pixmaps without transparency
3920         correctly.
3922 1998-05-07  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3924         * gscreen.c (panel_icon_list_realized): Add drag and drop support
3925         to the icon list view;
3927 1998-05-06  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3929         * gscreen.c (panel_fill_panel_icons): New function:  Fill up the
3930         icon list.
3931         (x_create_panel): Change in the approach:  we create both of the
3932         widget views at creation time and we now carefully show every
3933         component.  I attach everything to the table, but not necesarly
3934         show it.
3936         * gblist.c (blist_select_row): New widget derived from GtkClist.
3937         replace select_row and unselect_row with null functions, as the
3938         gmc code takes care of the rest.
3940 1998-05-04  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3942         * gdesktop.c (desktop_icon_drag_start): Do not attempt to use
3943         icons if we could not load the images for the icon.
3945         * gwidget.c (x_update_input): Keep the cursor always visible.
3947         * gview.c (view): Use a buttonbar widget.
3949         * gwidget.c (buttonbar_clicked): Provide a trivial implementation
3950         of the buttonbar that only responds to key sequences.
3952         * gmain.c (dialog_panel_callback): Call midnight_callback to get
3953         the main bindings working.
3955         * gdesktop.c (perform_drop_manually): Use p to walk the dropped
3956         data.  This is an important bug fix.
3958         * gmain.c (idle_destroy_window), main.c: Session management now
3959         supports not showing a toplevel window (in case all of the windows
3960         were closed).
3962 1998-04-30  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3964         * gtrans.c (make_transparent_window): Put hack back.
3966         * gcache.c (image_cache_load_image): Federico spooted the problem:
3967         I have to duplicate my keys for the hash.
3969         * gmain.c (create_panels): Create one panel per directory
3970         specified.  For some strange reason the code hangs if you start up
3971         more than one panel at once.  This is not a gmc bug, it appears to
3972         be an Imlib/gtk/gdk interaction.  I am for now creating one panel
3973         in the main program execution thread and the rest during the idle
3974         handler.
3976         (session_save_state): Added session management support.
3978 1998-04-29  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3980         * gprop.c (gprop_general_new): Added an simple icon preview to the
3981         icon selector.
3983 1998-04-29  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3985         * gdesktop.c: Finish desktop_icon_remove implementation.
3987         * glayout.c (update_panels): GNOME specific Implementation of the
3988         update_panels routine.
3990 Tue Apr 28 06:52:24 1998  Norbert Warmuth  <k3190@fh-sw.de>
3992         * gcmd.c (gnome_open_terminal): Changed my_system(1,...) to
3993         my_system(EXECUTE_AS_SHELL,...)
3995 1998-04-27  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3997         * glayout.c (layout_panel_gone): Removed debugging information.
3998         Renamed "Panel" to "Window" to make it less confusing to users.
3999         Moved the "New window" from the "File" menu to the "Window" menu.
4001         * gmain.c (dialog_panel_callback): Walk the list of panels to
4002         determine to which panel the activated widget belongs.
4004 1998-04-24  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4006         * gwidget.c (x_create_radio): Fix the WRadio widgets.
4008 1998-04-21  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4010         * glayout.c (create_container): Add wmclass.
4012 1998-04-16  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4014         * gdesktop.c (desktop_reload): Show all of the widgets on a reload
4015         operation.
4017         * gscreen.c (x_panel_update_marks): Do only set the marks if the
4018         widget has been created
4020         * glayout.c (assign_other): Keep track of all of the opened
4021         panels.  We were never removing them from the containers list.
4022         This fixes a number of problems.
4024         * gwidget.c (x_dialog_stop): Only call gtk_main_quit if this
4025         dialog did not inlcude the DLG_GNOME_APP flag, as those windows
4026         did not launch a gtk_main event loop.
4028         * gcmd.c: Try various terminal programs in the PATH before giving
4029         up
4031         * glayout.c: Unselect command is unselect_cmd, not select_cmd
4033         * gcmd.c (gnome_quit_cmd): Add quit confirmation.
4035         * gdesktop.c (perform_drop_manually): Check the type for the
4036         source file (directory/file) and perform the proper operation.
4037         Before this we always did a *_file_file operation.
4038         (perform_drop_manually): Use copy_dir_dir correctly
4039         (desktop_setup_default): Use copy_dir_dir correctly
4041         * gwidget.c (x_create_label): Remove debugging labels.
4043         * gscreen.c: Do not show the view/view unfiltered if the
4044         selectioned item is a directory.
4046         * gwidget.c (x_radio_toggle): Never commit non-compilable code.
4048 1998-04-15  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4050         * gwidget.c (remove_hotkey, x_create_radio): Radio buttons should
4051         not display the special Hotkey specificator.
4053         * gcmd.c (gnome_close_panel): Implement the close-the-panel
4054         functionality.
4056         * gscreen.c (x_panel_destroy): Implement the gnome mode way of
4057         destroying the panel.
4059         * gview.c (view_status): Add cacheing of the information status,
4060         to avoid excessive flicker.  It would be better if GtkLabel did
4061         not flicker though.
4062         (scrollbar_moved): Scroll correctly.  We now use
4063         view_move_backward and view_move_forward to adjust the scrollbar
4064         contents.  This displays the scrollbar correctly.
4066         * gwidget.c (x_listbox_select_nth): This may be invoked before the
4067         widget has been created, work around this problem.
4069         * gscreen.c (show_dir): Set the title bar for the window to the
4070         current directoy.  Reported by both Mike and Elliot.
4072         * layout: Updated to the new hotlist dialog box.
4074 1998-04-15  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4076         * gtrans.c (create_transparent_text_window): Destroy the cursor
4077         properly.
4079 1998-04-14  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4081         * gview.c (x_init_view): Initialize view->sadj.
4083         * gdesktop.c (start_desktop): use destkop_load instead of
4084         desktop_reload.
4085         (desktop_load): This reloads + shows every widget on the
4086         desktop_icons list.
4088 1998-04-14  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4090         * gdesktop.h: Added extern declarations for the
4091         want_transparent_icons and want_transparent_text variables.
4093         * gtrans.c (set_window_text): Now we use the new global variables
4094         want_transparent_icons and want_transparent_text to decide how to
4095         paint the pixmap and mask.  The want_transparent_* variables can
4096         thus be configured for the smartness/speed of your X server when
4097         using shaped windows.
4099 Fri Apr 12 02:40:41 1998  Norbert Warmuth  <k3190@fh-sw.de>
4101         * gwidget.c (x_create_input): return 1 if the widget has been
4102         initialized manually (there was no return value)
4104         (x_create_buttonbar): to few arguments to sprintf (button number
4105         was missing); return a value.
4107 1998-04-08  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4109         * gscreen.c (x_create_panel): Added back and forward buttons.  I
4110         need a "Home" icon too.
4112         * gwidget.c (x_create_input): Make the selection if the input has
4113         not yet been touched.
4115         * gscreen.c (panel_action_open): If opening an item fails, try
4116         panel_action_open_with.
4118         * gview.c: Implement the viewer scrollbar.
4120 1998-04-07  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4122         * gscreen.c (panel_drop_data_available): Reload the panel contents
4123         upon a drop.
4125         * gmain.c (gnome_dlg_send_destroy): Hide the widgets just before
4126         they are going to get destroyed, to avoid the shutdown
4127         flickering.
4128         (x_destroy_dlg_start): New routine/hook invoked when the destroy
4129         has just started
4130         (x_set_idle): Cancel the idle handlers properly.
4132         * gwidget.c (x_create_check): Finish the checkbox implementation.
4134         * gdesktop.c (get_desktop_icon): Fix this routine: it was
4135         cretating a file name when the filename was not set properly.
4137 1998-04-01  Marc Ewing  <marc@redhat.com>
4139         * gscreen.c: Added #include <gdk/gdkprivate.h>
4141 1998-03-31  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4143         * gcache.c: Added an Image cache for all of the imlib-loaded
4144         images to avoid destroying/reloading the images.
4146         * gdesktop.c, gtrans.c: Use the image cache.
4148 1998-03-24  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4150         * gscreen.c (x_create_panel): Show the GnomeApp when we are done
4151         packing all of our information.
4153         * gmain.c (create_panels): do not show any of the windows yet.
4155 1998-03-23  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4157         * gscreen.c (x_fill_panel): Colors are properly displayed now.
4159         Use the clipped labels.
4161         * gcliplabel.c, gcliplabel.h: Derived label that does label
4162         clipping (it does not request the allocation for the whole string,
4163         but settles with whatever is provided in the size_allocation).
4165 1998-03-23  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4167         * gtrans.c (create_transparent_text_window): Set the window's
4168         cursor to the normal top-left arrow.
4170 Mon Mar 23 01:40:35 1998  Norbert Warmuth  <k3190@fh-sw.de>
4172         * gtools.c (translate_gdk_keysym_to_curses): renamed KEY_BACKTAB
4173         to KEY_BTAB (the name ncurses uses)
4175         * Makefile.in: Install the icon-files and the layout-file from $srcdir.
4177 1998-03-20  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4179         * gdesktop.c (icon_properties):
4180         * gpageprop.c (item_properties): Modified to accept dentry title
4181         changes as well.
4182         (item_properties): Fixed base and fname confusion in call to
4183         concat_dir_and_file().
4185         * gprop.c (gprop_general_new):
4186         (gprop_general_get_data): Renamed to general from icon.  The
4187         general Gprop now lets you enter the title and icon filename for a
4188         dentry.
4190 1998-03-19  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4192         * gdesktop.c (icon_properties): Whoops, actually save the dentry.
4193         (post_setup_desktop_icon): Moved the icon positioning call outside
4194         of this function so that property-changed icons will not move on
4195         the desktop.
4197         * gdesktop.c (desktop_icon_context_popup): It is not necessary to
4198         set the menu position.
4199         (desktop_icon_context_popup): gtk_signal_connect_object_after to the menu
4200         items with gtk_widget_destroy as a callback so that we can destroy
4201         the menu widget appropriately.
4203 1998-03-19  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4205         * gscreen.c (display_mini_info): Implement mini status.
4207 1998-03-19  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4209         * gdesktop.c (get_transparent_window_for_dentry): New function,
4210         creates the proper transparent icon window for a dentry.
4211         (post_setup_desktop_icon): New function, does post-setup stuff for
4212         a desktop icon (setting it as a drop target, positioning it, etc.).
4214         * gpageprop.c (item_properties): Now the dentry parameter is a
4215         desktop_icon_t instead.
4216         We now return a bitmask that indicates what stuff changed.  The
4217         caller can use this information to decide what to update, repaint, etc.
4219         * gdesktop.h: Moved the icon_t and desktop_icon_t structures here.
4221         * gpageprop.c (item_properties): Insert icon control if appropriate.
4223         * gprop.c (gprop_icon_new):
4224         (gprop_icon_get_data): Renamed from gprop_dir_*().
4226         * gscreen.c (panel_action_properties): Re-reads panel only if necessary.
4228         *gpageprop.c (item_properties): now returns TRUE if something got
4229         changed, FALSE otherwise.  This should be used to decide whether
4230         to re-read the panel or not.
4232         * gpageprop.c: #include "../vfs/vfs.h".
4233         #include "dialog.h".
4235         * gprop.c (gprop_dir_new):
4236         (gprop_perm_new):
4237         (gprop_general_new): Connect to the destroy signal of the toplevel
4238         widget and destroy the Gprop structure on the callback.
4240 Wed Mar 18 23:09:35 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4242         * gscreen.c (panel_file_list_select_row): Use control/shift click
4243         to add files to the selection.
4245 Wed Mar 18 22:32:53 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4247         * gscreen.c (panel_action_properties): Make Federico's
4248         page-properties code functional.
4250         * gpageprop.c: New file, implements most of the page properties on
4251         top of the gprop.c code.
4253 Wed Mar 18 20:35:45 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4255         * gdesktop.c (desktop_create_launch_entry): Support for the "Drop"
4256         target in mc.ext now.
4258         * Add support for dragging the icons on the desktop.
4260         (desktop_icon_make_draggable): new function.
4261         (drop_from_event): simplify.
4262         (my_create_transparent_text_window): Get the motion notify event.
4263         (drops_from_event): create a vector based on thge drop event.
4264         (drop_cb): splitted, call url_drop for regular drops, otherwise it
4265         is a icon drop.
4266         (artificial_drag_start): new routine, used now by gscreen.c and
4267         gdesktop.c
4268         (drop_on_directory): Check result value of operation.
4269         (desktop_icon_set_position): sane interface.
4270         (stop_desktop): Flush all of our state to disk.
4272 1998-03-18  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4274         * gscreen.c: Removed tests for the gprop stuff.
4275         (file_popup): It is not necessary to show the popup menu.
4277         * gprop.c (perm_group_new):
4278         (perm_owner_new): Fill the combo lists with users and groups,
4279         respectively.
4281         * gprop.h: New files gprop.[ch].  These create the property pages
4282         for desktop entries.
4284         * Makefile.in: Added gprop.[ch] to the rules.
4286         * glayout.c: Put gnome_about_cmd as a callback for the About menu item.
4288 Tue Mar 17 22:40:36 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4290         * gdesktop.c (desktop_setup_icon): Lots of changes to accomodate
4291         dropping icons on the root window.
4293         (do_symlinks): Implement symlink action.
4295         (icon_delete, desktop_icon_context_popup): Implement icon context
4296         menus.  only deleting an icon is working right now.
4298         * gscreen.c: Load the drag and drop icons from the installation
4299         directory.
4301         * Makefile.in (install_gmc): Install our icons.
4303 Tue Mar 17 02:38:37 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4305         * gdesktop.c (desktop_setup_default): Create a default desktop
4306         entry on the root window for the Home directory if not mc.desktop
4307         exists -yet-
4309         Get drops on the root window to work.   Joy and hapiness!
4311 Tue Mar 17 00:43:50 1998  Tom Tromey  <tromey@cygnus.com>
4313         * glayout.c (gnome_panel_about_menu): "About" item now a stock
4314         menu item.
4316 1998-03-16  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4318         * gscreen.c (filter_item_activate): Make it convert the glob
4319         pattern to a regexp if appropriate.
4321 Sat Mar 14 17:13:26 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4323         * gmain.c (gnome_dlg_send_destroy): New signal handler for
4324         "delete_event".  I return TRUE (ie, do not kill this window), and
4325         manually queue que destruction of this window.
4327         * gtools.c (query_dialog): Do not allow resizing; do not destroy
4328         the dialog ourselves, this is properly handled by dlg.c now
4329         (pack_button): Do not use the defaults: we do not want growing
4330         buttons;
4332 Fri Mar 13 16:01:28 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4334         * gwidget.c (buttonbar_clicked, x_create_buttonbar): Button bar
4335         widget implemented.
4337         * gtools.c: Implement the non-modal version of the message
4338         routine.
4340         * gview.c: Create a GnomeApp widget to contain the viewer.
4342         * gmain.c (xtoolkit_create_dialog): Add a new mode where the
4343         container window is a GNOME_APP window.
4345 1998-03-13  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4347         * gscreen.c (x_select_item): Make it use GTK_VISIBILITY_FULL
4348         instead of a plain boolean value.
4349         * gwidget.c (x_listbox_select_nth): Likewise.
4351         * gscreen.c (filter_items): New global variable full of filters.
4352         Please, someone fill in the regexp parts, as I was too lazy to do
4353         them :-)
4354         (panel_create_filter): Now the filter has a very nice button that
4355         pops up a menu for selecting the filter.
4357 Thu Mar 12 22:11:23 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4359         * gwidget.c (x_update_input): Use GnomeEntry widgets instead of
4360         the GtkEntry.
4362         * gwidget.c (listbox_select): Fix for the listbox selection with
4363         the mouse.
4364         (x_create_button): Use stock pixmaps.
4366         * gcmd.c: Moved all of the _cmd routines from glayout to this
4367         place.
4368         (save_panel_types): Provide GNOME implementation.
4370         * glayout.c: New and improved menu layout.  Use stock pixmaps.
4372 1998-03-12  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4374         * gmc-chargrid.c (gmc_char_grid_draw): Someone teach me how to
4375         subtract.  Fixed a stupid offsetting bug.
4376         (update_region): Added clipping of region bounds.
4378         * gmc-chargrid.c: Changed the struct attr with pointers mess with
4379         something saner.
4380         Added an in_resize flag to avoid calling our internal signal
4381         handlers recursively.
4382         (gmc_char_grid_draw): Added proper draw handler for our case; the
4383         widget's window does not fill its allocation.
4384         (paint): New wrapper for update_region(); it converts window
4385         coordinates to row/column character coordinates.
4386         (gmc_char_grid_expose): Use paint().
4388 1998-03-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4390         * gmc-chargrid.c (update_strip): Doh.  Fixed painting of
4391         background rectangles.
4392         (gmc_char_grid_expose): Fixed off-by-one errors in area
4393         calculation.  Ripped off the code from gtkterm to do this :-)
4394         (free_attrs): New internal convenience function.
4396 Thu Mar 12 00:08:06 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4398         * gview.c (view_percent): Added status display.
4400 Wed Mar 11 22:35:02 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4402         * gwidget.c (entry_release): Now the WEntrys track the current
4403         selection.p
4404         (x_update_input): Repaint the widget after changing the position.
4406         * gscreen.c (x_fill_panel): Remember the selected item on the
4407         panel before filling it up, as gtk_clist emits a select_item
4408         signal when filling it up, which changes the current selection
4409         (and thus some routines that invoke the reload panel option
4410         fail).
4412         (create_popup_submenu): Implement context sensitive menus (regular
4413         files, and symlinks).
4415         (panel_realized): Use a different icon when we are dragging a
4416         group of files.
4418         (panel_artificial_drag_start): Add Elliot's Artificial drag start
4419         support.
4421 1998-03-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4423         * gmc-chargrid.c (gmc_char_grid_get_size): New public function.
4424         (gmc_char_grid_put_text): New public function.  It is the same as
4425         gmc_char_grid_put_str, but can take any arbitrary string plus its
4426         length.
4427         (gmc_char_grid_put_char, gmc_char_grid_put_str,
4428         gmc_char_grid_put_text): These functions now take a background
4429         pixel parameter --- the GmcCharGrid widget now supports fg/bg attributes.
4431         * gmc-chargrid.h: Changed colors field to attrs.
4433         * gmc-chargrid.c: New Character Grid widget for the file viewer.
4434         This is a very lean and fast widget for displaying a grid of
4435         monospaced characters.  Just like a crippled-down terminal.
4437 Tue Mar 10 23:46:29 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4439         * gscreen.c (x_adjust_top_file): We no longer adjust the top
4440         displayed filename.
4442         (panel_build_selected_file_list): Fix for the transfered data.
4444         (panel_drop_data_available): Now drop support uses the new
4445         coords.x and coords.y fields from the DropDataAvailableEvent to
4446         find out which directory receives the drop.
4448         * glayout.c: added: configure_box, configure_vfs
4449         (get_other_type): Return the correct value.
4451 1998-03-10  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4453         * gscreen.c (panel_file_list_size_allocate_hook): Now we
4454         connect_after to the size_allocate signal and block the handler.
4455         Things are still not perfect, though.
4457         * gtools.c (message): Added return NULL.  This needs to be fixed.
4458         (translate_gdk_keysym_to_curses): FIXME: Replace KEY_BACKTAB by '\t'
4459         while KEY_BACKTAB is added somewhere else.
4460         (translate_gdk_keysym_to_curses): return -1 as last resort.
4462         * glayout.c (get_current_index): Add g_assert_not_reached() for
4463         fatal case.
4465         * gmenu.c (menubar_new): Cast g_menubar to unsigned long.
4467         * gwidget.c (x_create_input): Cast entry to GTK_OBJECT.
4469         * gkey.c (find_select_closure_callback): Fix = -> == typo.
4471 Tue Mar 10 00:10:32 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4473         * gscreen.c (panel_drop_data_available): Now drop support uses the
4474         new coords.x and coords.y fields from the DropDataAvailableEvent
4475         to find out which directory receives the drop.
4477         * gwidget.c (x_radio_focus_item): Add support for focusing radio
4478         buttons.
4480 Mon Mar  9 15:12:00 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4482         * gtools.c (translate_gdk_keysym_to_curses), dlg.c
4483         (dlg_key_event): Support for backtab.
4485         * gwidget.c: highlight properly the focused radio entry.
4487         * gmain.c (x_init_dlg): After setting up the X widget, set the
4488         Gtk focus to h->current;
4490 1998-03-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4492         * gscreen.c (x_panel_select_item): Set the colors of the row.
4494         * gmain.c (xtoolkit_init): Changed gnome_init() to new version.
4495         (xtoolkit_init): Call gnome_init() properly.  Also, return 0.
4497 Sat Mar  7 15:24:49 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4499         * gwidget.c (entry_click): Focus the entry on clicks.
4501 Fri Mar  6 20:50:19 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4503         * gmain.c (create_panels): New per-port variable, used to flush
4504         all of the pending X events.
4506         (x_set_idle): Implement idle functions, now the find command works
4507         properly.
4509         * gwidget.c (x_create_radio): Connect to the "toggled" signal to
4510         keep track of the radio button.
4512         (listbox_select): callback for the select and double click
4513         actions.
4514         (x_update_input): This can be invoked before the
4515         widget X resources have been allocated.  Take care of this.
4517         (x_create_input): update the cursor position as well.
4519         (x_list_insert, x_create_listbox, x_list_delete_nth,
4520         x_listbox_select_nth): implement the Listbox widget.
4522         * gconf.h:  New configuration options:
4523         PORT_HAS_PANEL_ADJUST_TOP_FILE and
4524         PORT_HAS_PANEL_RESET_SORT_LABELS
4526 1998-03-06  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4528         * gmain.c (get_color): Make it use GdkColorContext correctly.
4530         * gscreen.c (panel_create_filter): The filter control is now a
4531         nice GnomeEntry.  It does not work due to gmc trapping key events;
4532         I'll look into it tomorrow.
4533         (internal_select_item): Fixed broken behavior.  Now uses GtkCList properly.
4534         default_filters: new structure with pre-defined glob patterns.
4535         This is actually broken, because it will only work when
4536         easy_patterns is enabled.  I have to figure a way to make it work
4537         with regexp mode as well.
4539 Thu Mar  5 23:54:58 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4541         * gdesktop.c (drop_on_panel): New function;  Used by the directory
4542         icons and by regular panels to support drag targets;
4544         * gscreen.c (panel_drop_data_available): Performs the drop action
4545         on a panel.  It needs fixing, as the DropDataAvailabelEvent does
4546         not provide any information as to where the drop actually
4547         happened.
4549         (fixed_gtk_widget_dnd_drag_set, fixed_gtk_widget_dnd_drop_set):
4550         Only set the main window of the clist to be the source/target of
4551         the drag and drop code.  The little square at the end did not make
4552         much sense as a drop/drag spot.
4554 1998-03-04  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4556         * gmain.h: Added prototype for x_filter_changed().
4557         Added #include "panel.h".
4559         * gconf.h (PORT_HAS_FILTER_CHANGED): New flag for conditional compilation.
4561 Wed Mar  4 22:43:00 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4563         * gtools.c (query_dialog): Rewritten to use the MC dialog/widget code.
4565         * gutil.c (my_system), acconfig.h: By default gnome will not have
4566         a subshell (at least for now) and will now exec everything
4567         asyncronously by default.
4569         * gscreen.c: Exactly what was I thinking when I used the
4570         g_panel_contents structure will remain a mistery for future
4571         programming psycologists.  It was a huge mistake.
4573         * gdesktop.c: Use the new icon/text display routine from
4574         Federico.
4576 Tue Mar  3 21:03:52 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4578         * gmain.c (x_destroy_dlg): Call gtk_grab_remove when destroying
4579         the dialog.
4581         * gmain.c (x_focus_widget): Handle special case of toplevels.
4583 1998-03-04  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4585         * gscreen.c: Some hackish changes to work around idempotence bugs
4586         in gtk_clist_select_row().