* setup.c: Declare extern int tree_panel_visible for the GNOME
version.
1999-02-18 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gmount.c (gmount_setup_devices): New function to set up the
mountable devices on the desktop directory. Moved over from
gdesktop.c. Added an argument that specifies whether it should
clean up the device list first.
(cleanup_devices): Delete the metadata for the devices.
(setup_devices): Free the list of device names. Use the proper
icon for each device.
(create_device_link): Better error checking.
* gdesktop.c (create_desktop_dir): Use gmount_setup_devices().
(desktop_icon_info_destroy): Made static.
(desktop_popup_items): The command for rescanning mountable
devices should go here.
(handle_rescan_devices): Call gmount and refresh the desktop.
* gdesktop.h: Removed the declaration of tree_panel_visible, since
it has nothing to do with the desktop.
* glayout.c (gnome_panel_commands_menu): Removed the recreate
devices command.
* gdesktop.c (desktop_popup_items): Added a new command to create
a file window.
* dir.c (if_link_is_exe): Made this function take in a directory
argument as well -- the sought file may not be in the cwd, and
file entries do not carry the directory the file refers to.
* screen.c (do_enter_on_file_entry): Pass in the cpanel->cwd to
if_link_is_exe().
1999-02-17 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gdesktop.c (do_mount_umount): Removed unused variable.
(do_eject): Return FALSE if there is no eject command.
(setup_devices): Removed unused variable.
* gdnd.c (drop_on_file): Pass the directory to if_link_is_exe().
(gdnd_validate_action): Likewise.
(gdnd_perform_drop): Made consistent with the rest of the code by
taking the directory name along with the file entry.
(gdnd_validate_action): Likewise.
* gdesktop.c (icon_drag_motion): Pass the directory to the gdnd
functions.
(icon_drag_data_received): Likewise.
(desktop_drag_motion): Likewise.
(desktop_drag_data_received): Likewise.
(desktop_icon_info_open): Pass the directory to if_link_is_exe().
* gscreen.c (panel_icon_list_drag_data_received): Pass the
directory to gdnd functions.
(panel_clist_drag_data_received): Likewise.
(panel_tree_drag_data_received): Likewise.
(panel_clist_drag_motion): Likewise.
(panel_icon_list_drag_motion): Likewise.
* gdesktop.c (reload_desktop_icons): Load the information provided
on the .desktop file for the desktop icon information: icon
filename and text to be displayed.
* gpopup.c (create_actions): Add support for mountable icons.
* gdesktop.c (try_to_mount): Add an option to automatically mount
links on the desktop that point to devices.
(is_mountable): Returns true if a pathname is mountable.
* glayout.c: Add the dirsizes command here.
* gmount.c: New file. Implements support routines for
mount/umount.
* gicon.c: Lots of changes to support the little symlink/stalled
icons that get overlaid on the normal file icons. We now have the
concept of an icon set, which is a cache of normal icons plus
their overlaid versions.
* gnome-file-property-dialog.c (apply_metadata_change): Use
gicon_get_filename_for_icon().
(generate_icon_sel): Likewise.
* gnome-file-property-dialog.c (create_general_properties): Use
buffers of size MC_MAXPATHLEN.
(init_metadata): Likewise.
* gmetadata.c: Removed the gmeta_del_icon_pos() function, since it
is no longer used anywhere.
* gdesktop.c (reload_desktop_icons): Use gnome_metadata_delete()
instead of gmeta_del_icon_pos().
(desktop_icon_info_delete): Likewise.
(desktop_icon_info_destroy): Do not call gnome_metadata_delete().
* gdesktop.c (reload_desktop_icons): Take auto-positioning and
snap-positioning into account. This is the right thing to do.
(get_icon_auto_pos): Do auto-positioning in two steps, first from
the requested position to the end of the slot array, then from
slot zero forwards if required.
Miguel.
1999-02-15 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gcmd.c (gnome_open_terminal_with_cmd): New routine, based on the
gnome_open_terminal routine, that will allow the user to specify a
command to execute (used internally).
* gaction.c (gmc_edit_filename): Support for the GNOME editor
environment properties.
* gdesktop.c (create_desktop_dir): Support GNOME_DESKTOP_DIR
variable to configure the desktop directory.
* gprefs.c (create_prop_box): Make the preferences dialog modal.
Also, set the window title and set the window's parent.
Removed some unused functions.
* gdesktop.c (desktop_popup): Handle popup menus for the desktop.
(arrange_desktop_icons): New function to auto-arrange the desktop
icons.
(reload_desktop_icons): Take care of positioning the new icons by
ourselves; do not rely on desktop_icon_info_new() to do it.
(remove_from_slot): Reset the icon's slot to -1.
(reload_desktop_icons): Show all the icons after they have been
loaded, instead doing it one by one.
* gscreen.c (file_list_popup): Handle popup menus for the blank
areas of the file panels.
(panel_icon_list_button_press): Call file_list_popup().
(panel_file_list_press_row): Likewise.
* new_icons/Makefile.in (ALLICONS): Added Tigert's new icons for
PS and EPS files. Thanks, Tigert!
1999-02-12 Federico Mena Quintero <federico@nuclecu.unam.mx>
* mc.metadata.in: Added a regexp for EPS files.
* mc.keys.in.in: Use Tigert's new icon for Postscript files.
Possible FIXME: are there different MIME types for PS and EPS
files?
* gdesktop-icon.c (set_icon): Do not destroy the image if it is
the same as the old one. Sigh, imlib really needs proper
refcounting.
* gscreen.c: Use gpopup_do_popup() until the new version is
finished.
* gpopup2.c (create_actions): Made the action selection logic
simpler.
(gpopup_do_popup2): Now can only operate on panels.
(file_actions): Sanitized the actions a bit.
* gutil.c (my_system_get_child_pid): sa_handler must be
gnome_sigchld_handler, not gnome_sigchld_installed.
* gpopup.c (dicon_properties): Do not call reread_cmd(). This is
a hack until the menus for panels/desktop are finished.
* gscreen.c (panel_file_list_press_row): Use gpopup_do_popup2().
* gutil.c (my_system_get_child_pid): Implement a erase-temp-file
when child dies instead of waiting for child that was launched
from shell/temp-file to finish.
* gdesktop.c (desktop_icon_info_place): Better icon placement by
rounding to the proper slot number.
(select_range): Simpler range selection for exact Windows behavior.
1. desktop entries on the desktop work.
2. Update the mc.keys.in for using some gnome-libs icons
instead of the old ones.
3. Find command rewritten for GNOME.
miguel.
* Makefile.in (ICONS): Added i-fifo.png to the list of icons.
* gicon.c (gicon_init): Load the proper FIFO and socket icons.
(gnome_file_entry_color): Return the proper icon for FIFOs.
* i-fifo.png: Added this file, and made i-sock.png be the right
image (thanks, Tigert!).
* main.h: Added prototype for main_corba_register_server().
1999-02-10 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gscreen.c (ILIST_FROM_SW): New macro to extract the icon list
from the scrolled window.
(panel_create_icon_display): Create a scrolled window and put the
icon list inside it. Changed the rest of the code to know about
this.
* gcorba.c (do_window_close): It turns out that we *do* need to
call CORBA_free(). It was a bug in ORBit which was causing this
to crash.
* glayout.c (gnome_close_panel_event): This function should return
FALSE.
* gcorba.c (corba_init): Cast poa to PortableServer_POA.
(impl_GNOME_FileManagerWindow_close): Call gnome_close_panel(); do
not destroy the widget by hand.
* gcmd.c (gnome_close_panel): This function should be void.
* gpopup2.c (popup_handle_rescan): Call reread_cmd().
* gscreen.c (panel_icon_list_button_press): Return TRUE if we
handled a popup menu.
* gtkdtree.c (gtk_dtree_class_init): Added two new signals,
scan_begin and scan_end.
(gtk_dtree_expand): Call scan_begin() and scan_end().
(gtk_dtree_select_row): Call scan_begin() and scan_end().
(gtk_dtree_expand): Use gtk_ctree_select(), not gtk_dtree_select_row().
(gtk_dtree_collapse): Select the node when it is collapsed.
* gscreen.c (panel_create_tree_view): Added handlers for the
scan_begin and scan_end signals of the tree -- these will set the
cursor to a watch while the tree is being scanned.
- Kill the stack in the treestore. It was the wrong approach
at fixing the problem. Now emit all of the change notifications
after the tree has been finished the check.
- GtkCTree is not a tree internally but a list and the gaps
are, well, gaps. Deal with it.
Miguel.
* treestore.h: Replaced TreeStore.check_name_list by a GSList, for
minimal memory savings.
* treestore.c (tree_store_remove_entry): Removed unused code for
base_sublevel computation.
1999-02-06 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gtkdtree.c (gtk_dtree_insert_node): This function was never
returning the newly-created sibling.
* gmain.h: Added prototype for gmc_open_filename().
* gdesktop.c (desktop_icon_info_open): Fixed call to
gmc_open_filename(). See why it is good to have prototypes? :-)
* gdnd.c (perform_action): Oops. Removed a leftover "break" that
was causing the loop to exit, so you could not operate on more
than one file.
* gpopup2.c (popup_handle_properties): Update the URL information
on change.
* gnome-file-property-dialog.c (generate_actions_box): Fix memory leak.
(create_general_properties): Fix memory leak.
* gdesktop.c (desktop_icon_update_url): New function. Updates any
changes done to the url/caption on the file-property-dialog.
* gnome-file-property-dialog.c
(gnome_file_property_dialog_finalize): Release all of the
resources allocated (metadata routines alwayre return an allocated
block of memory).
Add support for changing the url an icon points to and the caption.
* gdnd.c (drop_url_on_directory): Better set the icon-filename
metadata entry instead of hard coding it.
* gtkedit/gtkedit.c: Hack to get a string defined in a macro into
the catalog file.
1999-02-02 Tuomas Kuosmanen <tigert@gimp.org>
* new_icons/gnome-core.png: New icon for core files. Someone
please add the code part :)
* gcmd.c (gnome_reverse_selection_cmd_panel): new function -- does
good things
* gscreen.c (panel_icon_list_select_icon): uses new popup menu
(panel_icon_list_button_press): ditto
* gpopup2.c (gpopup_do_popup2): new implementation of popup
menu. Many changes -- almost all internal. Much cleaner now...
Off to England.