This is a semi-big slew of changes to integrate the DESKTOP_BRANCH
into the main trunk. Now the gdesktop code creates a temprary
WPanel structure and passes it on to the core file management
functions. Also, the menu code is improved (we now use gpopup2;
gpopup should go away shortly and gpopup2 should replace it).
This makes the desktop act consistently with the file panels.
Thanks to Jonathan for his help with this branch.
* gdnd.c (perform_action): Use mc_lstat(), not mc_stat().
* glayout.c (update_panels): Do not update the panels that are
desktop panels.
* gdesktop.c (icon_is_in_area): An icon is not considered to be in
a 0x0 area.
* gpopup2.c (handle_open): Fetch the desktop icon from the
filename and call desktop_icon_info_open().
* gdesktop.c (desktop_icon_info_get_by_filename): New function to
look up a desktop icon by its filename.
* glayout.c (create_new_menu_from): Test for the ".desktop" suffix
correctly.
* gpopup2.c (handle_properties): If the file comes from a desktop
panel, always allow edition of the icon image.
1999-03-10 Federico Mena Quintero <federico@nuclecu.unam.mx>
* file.c (erase_dir): Erase metadata for directories as well.
(erase_dir_iff_empty): Likewise.
(copy_file_file): Delete/copy the metadata even for
char/block/sock/fifo files. Same thing for when copying symlinks.
(copy_dir_dir): Delete/copy the metadata.
(move_dir_dir): Delete/move the metadata.
(recursive_erase): Delete the metadata.
* gdialogs.c: Support ui->ctx to be NULL, as file.c will set this
to NULL for background operations.
1999-03-10 Miguel de Icaza <miguel@nuclecu.unam.mx>
* utilunix.c (g_readlink): New function. Wraps all the nonsense
of readlink into a nice routine.
* filegui.c: Support ui->ctx to be NULL, as file.c will set this
to NULL for background operations.
* background.c (do_background): Handle EINTR in dup2.
* es.po: Updated with David Martins translation.
Wed Mar 10 21:52:55 1999 David Martin <dmartina@usa.net>
* gtkedit/editcmd.c: Added missing translation tags.
* gtkedit/editoptions.c: Added missing translation tags. Translate
radio buttons on first use.
Wed Mar 10 22:21:19 1999 David Martin <dmartina@usa.net>
* util.c (my_putenv): char* was used to store the length of a string
* info.c (info_show_info): cast st_dev and st_ino when passing
to printw.
* gdesktop.c (icon_drag_data_received): Pass the full directory
name to gdnd_perform_drop.
* gpopup.c (create_regexp_actions): This routine no longer creates
the default copy/move/delete context menu entries.
(file_actions): Include the copy/move/delete options here. This
also enabled me to reorder things to put "Delete" closer to the
top, as it is a pretty common operation.
* gutil.c (my_system_get_child_pid): reset SIGPIPE to a sensible
value.
(my_system_get_child_pid): Close also stdin/stdout/stderr
* gdesktop.c (is_mountable): Allow user-nfs devices to be mounted
* gscreen.c (can_drop_on_clist): New function to figure out if the
user is trying to drop on a valid region of a GtkCList. It sucks
to have to poke into its internal geometry, though.
* main.c (panel_clean_dir): New function: reset all counters of a
WPanel and clean directory list.
* various places: Use panel_clean_dir instead of clean_dir whenever
a WPanel is available. This solves the problem reported by Enrico
Scholz (screen refresh while panel reload with an old/now invalid
panel->count).
* gdesktop.c (desktop_icon_info_open): Ugly. Needs to share more
code here. Use the metadata first, and the is_exe to find out how
to launch an application.
* applied a patch from Duncan Mak <mustapha@wegythu.res.cmu.edu>
to get the mc spec file to work.
* hacked configure to generate a properly versioned spec file.
* glayout.c (my_app_create_menus): New function, used to create
our menus and set the realy properly, to make cpanel (ie,
current_panel) always consistent with what the user users.
So, no need to kill the tearoff menus in gmc now.
* gtkedit/editcmd.c (menu_save_mode_cmd): translate strings for
radio buttons on first pass.
Fri Feb 26 21:45:30 1999 David Martin <dmartina@usa.net>
* gtkedit/editcmd.c: Mark strings in the search and replace
dialogs for translation. Resized these dialogs to let the messages
fit.