* gdesktop.c (reload_desktop_icons): Move metadata_unlock after
the positioning loop (as we use the metadata there too).
(desktop_icon_info_new): Accept a new parameter: url.
(drop_url): New function. Creates the files that represent urls
on the desktop.
(text_changed_url): New routine to handle url-renames
Use the metadata "desktop-url" property to figure out if an icon
represents an url.
* gnome-file-property-dialog.c (create_settings_pane): We only let
you set info if we are a regular file, or a link to a regular file.
* gdesktop-icon.c (desktop_icon_reshape): Cut-n-paste error fixed
by Quartic.
1999-01-27 Jonathan Blandford <jrb@redhat.com>
* gnome-file-property-dialog.h (struct _GnomeFilePropertyDialog):
Now make open field mandatory and icon selection optional.
* gnome-file-property-dialog.c: as above
* gpopup.c (panel_action_properties): only allow setting images if
we_can_afford_the_speed.
* gicon.c: make we_can_afford_the_speed non-static
2. corba-gmc is now the default "gmc" installed
3. corba-gmc now by default tries to activate a running instance
instead of registering a server.
Miguel.
* gscreen.c (panel_clist_motion): Stop the emission of the
motion_notify_event signal so that it does not reach the clist.
We do not want it to select rows while dragging.
Replaced copy_strings() with g_strconcat().
* gdnd.c (gdnd_validate_action): Do not override GDK_ACTION_ASK.
* gdesktop.c: Updated the TODO list at the top of the file.
Wed Jan 27 03:14:46 1999 Timur Bakeyev <mc@bat.ru>
* Converted memory managment to Glib - where it wasn't done. Now we
use g_new()/g_malloc()/g_strdup()/g_free() routings. copy_strings() re-
placed by g_strconcat(), and sprintf() by g_snprintf(). Some other,
minor changes.
Wed Jan 27 03:17:44 1999 Timur Bakeyev <mc@bat.ru>
* Converted memory managment to Glib. Now we use g_new()/g_malloc()/
g_strdup()/g_free() routings. Also, copy_strings() replaced by
g_strconcat(), strcasecmp() -> g_strcasecmp(),and sprintf() by
g_snprintf().
* Some sequences of malloc()/sprintf() changed to g_strdup_printf().
* mad.[ch]: Modified, to work with new GLib's memory managment. Fixed
a missing #undef for tempnam, which caused dead loop. Add several new
functions to emulate GLib memory managment.
*main.c, mad.[ch]: Add a new switch "-M", which allows to redirect MAD
messages to the file.
* util.[ch], utilunix.c: Modified, deleted our variants of strcasecmp()
and strdup() - we have g_ equivalences. Remove get_full_name() - it is
similar to concat_dir_and_file(). Some other tricks with g_* functions.
* global.h: Modified, extended. Now it is main memory mangment include -
i.e. all inclusions of <stdlib.h>, <malloc.h>, <glib.h>, "fs.h", "mem.h",
"util.h" and "mad.h" done there. This elimanates problem with proper or-
der of #include's.
* All around the source - changed order of #include's, most of them gone
to global.h (see above), minor changes, like "0" -> NULL in string func-
tions.
Wed Jan 27 03:09:48 1999 Timur I. Bakeyev <mc@bat.ru>
* All around the source: Changed copy_strings() to g_strconcat(). Modi-
fy last parameter in concat_dir_and_file() to "" - to prevent stack from
disbalancing.
* gscreen.c (panel_setup_drag_scroll): Renamed from
panel_setup_drag_motion().
(panel_clist_drag_motion): Use gdnd_validate_action().
(panel_clist_motion): Return immediately if the event window is
not the clist_window. Otherwise, forward the event to
panel_widget_motion().
* gdnd.c (gdnd_find_panel_by_drag_context): New public function to
find a panel based on a drag context. This is basically the old
find_panel_owning_window() made public.
(gdnd_drop_on_directory): Test for the source widget being a tree,
and if so, do not use the default behavior for panels.
(gdnd_validate_action): New function to compute the final drag
action given some conditions. This is now used to make dragging
behavior consistent across the desktop and the file panels.
* gnome-file-property-dialog.c: Many Many Many changes. Now it's
pretty cool. You can set all meta-data but the icon now. Need to
make gmc do the right thing with it, though.
* gdnd.c (get_action): Sensitize the menu items based on the
allowed actions in the drag context.
(actions): Add some underlined accelerators for the action menu.
* gdesktop.c (icon_drag_motion): Use S_ISDIR() in addition to
fe->f.link_to_dir.
* gscreen.c (panel_file_list_scrolled): Removed this function, as
it was not used for anything useful.
* gdnd.c (gdnd_drop_on_directory): Duh. Use context->action, not
context->suggested_action.
1999-01-25 Federico Mena Quintero <federico@nuclecu.unam.mx>
* Makefile.am (libvfs_la_SOURCES): Added utilvfs.h.
* Make-mc.in (VFSHDRS): Likewise.
* gtkdtree.c (gtk_dtree_load_path): Keep track of when we are
loading the tree (and thus we do not care about async
notifications to the tree state changes) and when we are done (and
thus, we care about the async treestore structure notifications).
* gcmd.c (ep_add_callback): Set Window's position to
GTK_WIN_POS_MOUSE.
(gnome_external_panelize): ditto.
(gnome_filter_cmd): ditto.
* gdialogs.c (file_progress_query_replace_policy): Set Window's
position to GTK_WIN_POS_MOUSE.
(file_progress_real_query_replace): ditto.
(file_mask_dialog): ditto.
* gdialogs.c: Tag the strings for localization. Remove debugging
messages.
* gmain.c (gmc_window_setup_from_panel): Helper routine used to
set the GTK_WIN_POS_MOUSE on a window and set the parent with
gnome_dialog_set_parent (iff you have the WPanel * pointer to the
parent).
* gtools.c (query_dialog): Set the window position to GTK_WIN_POS_MOUSE.
* gtkdtree.c (gtk_dtree_destroy): Kill the add_entry notification hook.
(gtk_dtree_init): Install a notification function for treentry.
removal.
(entry_added_callback, entry_removed_callback): Implemented. Now
the tree is in sync with the panels and reload will update the
tree correctly.
1999-01-23 Miguel de Icaza <miguel@nuclecu.unam.mx>
* treestore.c (tree_store_remove_entry_remove_hook): Missing
function. To remove a notification hook.
(tree_store_notify_add, tree_store_add_entry_add_hook,
tree_store_remove_entry_add_hook): New functions to notify of
additions to the treestore.
* tree.c (tree_destroy): Remove the callback hook when we go
away.
* gdesktop.c (desktop_drag_data_received): Do not force links on
the desktop.
* gscreen.c (panel_create_file_list): Do not use
GTK_DEST_DEFAULT_ALL for the drop site. Only use
GTK_DEST_DEFAULT_DROP, since we need to check motion ourselves.
(panel_clist_drag_motion): Do not allow dropping on the clist buttons.
(panel_clist_button_press): Do not assign the
panel->maybe_drag_start flag if the user clicked outside the clist_window.
* gdesktop.h: Removed old crud (desktop_icon_t, icon_t).
seems fine.
1999-01-21 Jonathan Blandford <jrb@redhat.com>
* glayout.c: comment out compare panels.
* gnome-file-property-dialog.h: new file. This is a new widget
for the file-properties dialog. It doesn't handle mode changes
quite right yet, but does everything else beautifully...
* gnome-file-property-dialog.c: new file
* gpopup.c (panel_action_properties): use new dialog
(dicon_properties): as above.
* gscreen.c (panel_create_file_list): Added GDK_ACTION_ASK to the
destination actions.
(panel_create_icon_display): Likewise.
(panel_create_tree_view): Likewise.
* gdesktop.c (desktop_drag_motion): If the user explicitly
requested action ASK, then do not make feedback show MOVE.
* gscreen.c (panel_widget_motion): Pass in all drag actions now
that Gtk handles button 2 by itself.
* gdesktop.c (icon_event): Also delay the call to select_icon()
until button release if the icon is selected and there are no
modifier keys pressed. This lets us perform drags on
multi-selections easily.
* gdesktop.c (setup_icon_dnd_dest): Always specify ACTION_MOVE,
since we want to be able to move the icons around. Connect to the
drag_motion signal.
(dnd_icon_targets): List desktop icons as a target to be able to
move them just a notch in the desktop.
(icon_drag_motion): Decide which action we can use for dropping
stuff on a desktop icon.
(setup_icon_dnd_dest): Always specify all the actions.
(icon_drag_data_received): Allow for icons to be moved just a
notch by accepting drops from icons.
* gdnd.h: Added #defines for the DnD target type names.
* gdnd.c (gdnd_init): New public function to intern the target
atom names.
(gdnd_drag_context_has_target): New public function to see if a
drag context has a certain target type.
* gdesktop.c (setup_desktop_dnd): Do not use
GTK_DEST_DEFAULT_MOVE, and connect to drag_motion.
(desktop_drag_motion): If we are dragging from a desktop icon,
indicate the action as MOVE. Otherwise, force the action to be
LINK unless the user explicitly requested ASK.
(setup_desktop_dnd): Intern the atoms for the drop targets.