* Makefile.in: Removed gtrans.c from the list of sources.
* gdesktop-icon.c: #ifdef cleanups.
* gscreen.c (panel_create_file_list): Doh. Return the scrolled
window, not the clist.
* gdnd.c (get_action): Implement the DnD actions menu.
1998-11-10 Federico Mena Quintero <federico@nuclecu.unam.mx>
* setup.c: Removed the icons_snap_to_grid and
want_transparent_{icons,text} options.
1998-11-09 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gdnd.c: New file that handles all the DnD stuff. Mainly used to
clean up gdesktop.c.
* gscreen.c (panel_icon_list_drag_data_received): Use
gdnd_drop_on_directory().
(CLIST_FROM_SW): Added this macro to fetch the clist from the
scrolled window in panel->list.
(panel_create_file_list): Create a scrolled window and put the
clist inside it. This is required per the new clist API.
(panel_configure_file_list): Use the scrolled window's adjustment.
(panel_file_list_size_allocate_hook): Use the scrolled window
instead of the clist.
(panel_file_list_compute_lines): Use the scrolled window instead
of the clist.
(panel_file_list_configure_contents): Use the scrolled window
instead of the clist.
(panel_create_file_list): Do the DnD setup here, not in the
realization callback.
(x_create_panel): Do not realize the panel explicitly.
(panel_create_pixmaps): Create the pixmaps using imlib instead of
Gdk.
* gdesktop.c: Now desktop icons are stored in the layout_slots
array. We need to know which icons are in which slots.
(unselect_all): Use the layout_slots array.
(desktop_icon_info_place): Append the icon to the list in the
proper slot.
(desktop_icon_info_new): Initialize the position and slot fields
in the desktop icon info structure.
(desktop_icon_info_free): Remove the icon from its slot.
(desktop_destroy): Destroy the layout slots and the icons
properly.
(remove_from_slot): New convenience function to remove an icon
from the slot it is in.
(get_icon_snap_pos): Do a bit nicer snapping by really using the
closest slot.
Added a last_selected_icon variable to keep track of the icon that
was last selected, for shift+click selections.
(select_icon): Finish selection semantics and clean up. Now it is
nice and simple and complete.
(select_range): New function that handles range selections.
* gdesktop-icon.h (DesktopIcon): Added a child item for stippling
the icon when it is selected.
* gdesktop-icon.c (desktop_icon_select): Show/hide the stippling
as appropriate.
* gdesktop.c (desktop_icon_info_event): Handler for events on
desktop icons.
(select_icon): New function that handles icon selection based on
mouse clicks and modifier keys.
* gdesktop.c (struct desktop_icon_info): Added a type field to the
structure. It specifies the type of icon (file, directory), and
is used to determine the DnD and menu behavior.
* gdesktop.c: We are now using the new desktop icon code. It is
not yet complete, but what is there does work. We have icon
creation, auto-layout and snapping. Next step is drag and drop
and popup menus.
* glayout.c: #ifdef out the stuff that uses the old desktop code.
I will replace it gradually.
* gmain.c: Likewise.
* gscreen.c: Likewise.
Documentation update.
1998-10-30 Miguel de Icaza <miguel@nuclecu.unam.mx>
* fish.c (command): Replace vnsprintf with g_strdup_vprintf. This
is both safe and more correct, as there is no limit on the
pathname.
* ftpfs.c (command): Same as above.
* util-alone.c (print_vfs_message): Same as above.
1998-10-30 Miguel de Icaza <miguel@nuclecu.unam.mx>
* layout.c (print_vfs_message): Use g_snprintf instead of
vnsprintf.
* gdesktop-icon.c (create_window_shape): Use shaped icons only
when the user has selected them.
(desktop_icon_reshape): New public function to recompute the shape
of the icon. This should be used when the global
desktop_use_shaped_icons flag changes.
Added documentation comments to the public functions.
* gdesktop.c (desktop_icon_set_position): Do not lower the
window. The gnome-compliant wm will know what to do with windows
on the Desktop layer.
(post_setup_desktop_icon): Likewise.
* desktop-icon.c (create_window_shape): Fetch the mask of the
image "by hand", as we cannot rely on the canvas item having
created it yet.
* desktop-icon.c (desktop_icon_realize): Doh. We need to
initialize the gnome_win_hints before we set any of the hints.
1998-10-21 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gdesktop.c (create_desktop_icon): Renamed from
my_create_transparent_text_window. Now uses the DesktopIcon
widget for its work.
(get_desktop_icon_for_dentry): Renamed from
get_transparent_window_for_dentry. Uses the DesktopIcon widget.
(get_desktop_icon_for_di): Renamed from
get_transparent_window_for_di.
(desktop_icon_properties): Do not size_request the icon, since now
we can get its dimensions directly from the DesktopIcon structure.
* desktop-icon.[ch]: New file that takes care of desktop icons.
It provides the spiffy widget that is used for them.
* Makefile.in: Added desktop-icon.[ch] to the list of sources.
MC should use Automake, I think.
MC now depends on glib (currently only the assertions are used).
VFS structure declaration fixes.
Uses the new icon list (it is dog slow, need to fix this tonight at home).
* gscreen.c (display_mini_info): Removed calls to
gtk_clip_label_set() hack, since its cut-n-paste code didn't work
with new GTK's. If excessive resizes are a problem, they can be
solved by adding an adjustment around the label, and calling
gtk_container_set_resize_mode().
* gdesktop.c - changed dnd setting routine for desktop icon to set
events on child window...
* gtrans.c - chnaged routines to make window with
child rawing area and set shape on parent window
* gdesktop.c (desktop_create_directory_entry): Fix, make a
g_strdup copy of the name. Fixes bug report #78.
(desktop_icon_context_popup): Simplified this routine as we are
using file_popup now anyways.
1. Selecting text in an input line and typing a char
now does the expected thing (Bug #17)
2. Drag and drop betwen icon view was broken (Bug #16
(This is a bug introduced by the fact that when Icon
View was introduced, I left the testing for the view
mode here and there)
Extra stuff: runtime warnings fixed when creating a new window;
moved the "new window" option to the "file" menu, it makes more
sense there. Force event flushing when I change the progress
status for vfs code.
Miguel
1998-05-22 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gwidget.c (x_create_input): Disable the use of the GNOME entries
for now, as they are very slow. We need to figure out what is
wrong with this.
With this change, dialog boxes close quickly instead of taking
ages to close.
* gscreen.c, gdesktop.c (file_popup_add_context, file_popup):
Share the context menu code in gdesktop.c and gscreen.c. The
desktop pop up menus now include all of the stuff that would have
appeared in the Panel.
* gdesktop.c (desktop_icon_remove): Remove the file associated
with this desktop entry if it is on the ~/desktop directory.
- We now provide both url:ALL and file:ALL drag types. This
allows applications that are not vfs-aware (all of them
right now :-) to work even if the files dragged are from a
remote site.
If the files are remote, and the target only accepts
file:ALL, a temporary file is created (or files, if multiple
files are dragged) and the names of the temporary file names
are transfered.
- Added ABOUT-NLS file :-)
Miguel.
* gtrans.c (set_window_text): Made it use the new
GnomeIconTextInfo functions.
1998-05-18 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gscreen.c (panel_create_icon_display): Set some good separator
characters for the file icon list.