2. Load/Save desktop-icon transparent state.
3. Add arrange icons code.
4. Add snap to grid option (default now).
5. Fixed viewer crash.
Still left to do:
- Nice config dialog to set the above variables.
- Double click should work.
- Dragging to other panels shoudl work
- Scrollbar in the viewer
- Entry widgets get their text selected at startup
- Prompts for command if default action does not exist for a filename
- Updated spanish translation.
Plus some other bugs I fixed.
Miguel
- Nicer dialog destruction (no flicker)
- refresh of panels after a drop.
- Pause after run is gone in the gnome edition.
- Improved layout for options dialog box.
- Checkbox widgets are implemented, they now work.
Miguel.
* gcache.c: Added an Image cache for all of the imlib-loaded
images to avoid destroying/reloading the images.
* gdesktop.c, gtrans.c: Use the image cache.
Gdk should not be sending drag_begin_events if a drag event has not
finished.
Gdk has some wierdo way of moving the shaped window, it flashes a
*lot*.
This basically avoid leaving garbage on the desktop, but it is not
the best fix.
Miguel.
* gdesktop.c (icon_properties):
* gpageprop.c (item_properties): Modified to accept dentry title
changes as well.
(item_properties): Fixed base and fname confusion in call to
concat_dir_and_file().
* gprop.c (gprop_general_new):
(gprop_general_get_data): Renamed to general from icon. The
general Gprop now lets you enter the title and icon filename for a
dentry.
* gdesktop.c (icon_properties): Whoops, actually save the dentry.
(post_setup_desktop_icon): Moved the icon positioning call outside
of this function so that property-changed icons will not move on
the desktop.
* gdesktop.c (desktop_icon_context_popup): It is not necessary to
set the menu position.
(desktop_icon_context_popup): gtk_signal_connect_object_after to the menu
items with gtk_widget_destroy as a callback so that we can destroy
the menu widget appropriately.
* gdesktop.c (get_transparent_window_for_dentry): New function,
creates the proper transparent icon window for a dentry.
(post_setup_desktop_icon): New function, does post-setup stuff for
a desktop icon (setting it as a drop target, positioning it, etc.).
* gpageprop.c (item_properties): Now the dentry parameter is a
desktop_icon_t instead.
We now return a bitmask that indicates what stuff changed. The
caller can use this information to decide what to update, repaint, etc.
* gdesktop.h: Moved the icon_t and desktop_icon_t structures here.
* gpageprop.c (item_properties): Insert icon control if appropriate.
* gprop.c (gprop_icon_new):
(gprop_icon_get_data): Renamed from gprop_dir_*().
* gscreen.c (panel_action_properties): Re-reads panel only if necessary.
*gpageprop.c (item_properties): now returns TRUE if something got
changed, FALSE otherwise. This should be used to decide whether
to re-read the panel or not.
* gpageprop.c: #include "../vfs/vfs.h".
#include "dialog.h".
* gprop.c (gprop_dir_new):
(gprop_perm_new):
(gprop_general_new): Connect to the destroy signal of the toplevel
widget and destroy the Gprop structure on the callback.
* gdesktop.c (desktop_create_launch_entry): Support for the "Drop"
target in mc.ext now.
* Add support for dragging the icons on the desktop.
(desktop_icon_make_draggable): new function.
(drop_from_event): simplify.
(my_create_transparent_text_window): Get the motion notify event.
(drops_from_event): create a vector based on thge drop event.
(drop_cb): splitted, call url_drop for regular drops, otherwise it
is a icon drop.
(artificial_drag_start): new routine, used now by gscreen.c and
gdesktop.c
(drop_on_directory): Check result value of operation.
(desktop_icon_set_position): sane interface.
(stop_desktop): Flush all of our state to disk.
* cmd.c: Internal edit is used by default. vi may be
confusing for some users.
* tree.c: tree_rmdir_cmd() should not return any value,
because it is not analyzed for errors.
* main.c: NT code: use O_BINARY instead of _O_BINARY
* util.c: DO not test for arguments that do not make sense under
Windows NT.
* file.c: utime.h always included for Windows NT port.
* view.c: Events are flushed only if the ports supports it.
Lots of Windows/NT changes, but I will let Pavlov write the ChangeLog
entries.
Mon Mar 16 13:05:47 1998 Pavel Roskin <pavel@absolute.spb.su>
* tkview.c: Include stdio.h; Minor spelling corrections added.
- Layout file is now installed and used properly. That means
that you can actually run the code.
- Buttons actually work in the GtkTed and the regular use
thanks to GrossHack(tm).
- File operations are working! Weee! Copy and Move work as
well as the warning dialog boxes for all kind of stuff;
- Progressive display is pretty cool, you have to see it.
- Dragging files to desktop icons now allows you to copy/move
(supported both the remove and local cases, with the obvious
optimizations).
Still missing:
- Using Elliot's shaped windows for dnd.
- Allowing the arbitrary placement of desktop icons by dnd.
- dropping files into .desktop files.
- drop support on the panels (right now they only work right
as drag sources).
Weeeeeee! Total excitement. Total and absolute.
Miguel.