* gdesktop.c: Init gicon here to avoid crashing when we have the
metadata database locked. Not really important, but makes the
code cleaner (in terms of fixes).
* gdesktop.c (desktop_drag_motion): If the user is dragging a
Netscape url, allow ACTION_LINK.
(setup_desktop_dnd): Now we use a single GtkInvisible widget to
proxy both DnD and clicks on the desktop.
(setup_motif_dnd_proxy): New function to set up a widow as a Motif
DnD proxy (to allow drops from Netscape, for example).
(setup_desktop_click_proxy_window): Use the proxy_invisible widget.
(drop_url): Reload desktop icons after creating the url entry.
(desktop_icon_info_place): Allow a drop from something other than
a desktop icon to be placed where the user wants.
(desktop_drag_motion): Unconditionally specify ACTION_MOVE if we
are dragging a desktop icon.
(desktop_icon_info_place): Remove the icon from its slot before
calling the smart-positioning routines.
* gdesktop.c (reload_desktop_icons): Reload the icon image for a
file that already exists in the desktop, because it may have
changed.
* gdesktop-icon.c (desktop_icon_reshape): Center the text
correctly if the user is using huge icons.
Mon Feb 1 01:45:08 1999 Timur I. Bakeyev <mc@bat.ru>
* mcserv.c: If setuid() is avaliable, use it, even, streuid() also
present. (BTW, bsdi uses it's own auth system..)
Mon Feb 1 00:43:15 1999 Timur Bakeyev <mc@bat.ru>
* screen.c (to_buffer): Code of the function rewritten, as a side
effect added J_CENTER (who needs this?). Also, justification flags
got twins with _FIT suffix, which tries to fit name in the field with-
out truncation (uses name_trunc()). This unifies behaviour of CList
variants and text-bases widgets.
* screen.c: Remove HAVE_GNOME wrappers around string_file_[name|owner|
group]() - not necessary, to_buffer() doing this work.
* po/Makefile.in.in: use DESTDIR (makes it possible to move
installation path with "make DESTDIR="...")
Sun Jan 31 20:51:17 1999 Alexander Savelyev <fano@vcom.kiev.ua>
* vfs/mcserv.c (do_auth): mcserv never auth properly on bsdi.
(mc/vfs/mcserv.c do_auth() on bsdi we must use setuid() not
setreuid()).
* vfs/tcputil.c: use correct signal handler (void func(int)) on BSDI
Sun Jan 31 20:41:00 1999 Norbert Warmuth <nwarmuth@privat.circular.de>
* mcserv.c (do_link): Removed duplicate invokation of link. Thanks
to Grzegorz Makarewicz <mak@mikroplan.com.pl> for spotting this.
Sun Jan 31 20:04:13 1999 Norbert Warmuth <nwarmuth@privat.circular.de>
* vfs/vfs.c (vfs_strip_suffix_from_filename): Whoever replaces every
occurance of 0 with NULL should stop this stupidy. And replacing '\0'
with NULL is plain wrong!!. Reverted this replacement.
* vfs/ftpfs.c (load_no_proxy_list): ditto
Fri Jan 29 22:55:56 1999 Norbert Warmuth <nwarmuth@privat.circular.de>
* slang/slang.h: renamed to slang-mc.h
* slang/Makefile.in: delete slang.h on "make clean"
* configure.in: link slang/slang-mc.h to slang/slang.h when the
included slang is used. Problem was that MC's slang.h was used
when we compiled with an already installed SLang and the systems
header file were included with <slang/slang.h>.
Unfortunatly I can't use AC_LINK_FILES to make the links because
if we needn't make any links AC_LINK_FILES makes a link from
srcdir to top_builddir (builddir != srcdir).
Temporary add $LGPM to $LIBS when checking for the resizeterm
and keyok functions (ncurses might be linked against GPM).
Substitude PACKAGE (intl/Makefile makes use of it)
Sun Jan 31 19:42:47 1999 Norbert Warmuth <nwarmuth@privat.circular.de>
* gnome/Makefile.in (install_mx): make it work with srcdir != builddir
(gmc.gnorba is located in $srcdir)
* src/hotlist.c (add_new_entry_input, add_new_group_input): Make the
quick_widget arrays static and various changes needed because they
are now static. add_widgets_i18n recalculates button positions
which get lost when the quick_widget arrays are non static.
* src/screen.c (to_buffer): nul terminate string when using strncpy
* src/setup.c: Save and restore new option ftpfs_first_cd_then_ls.
Sun Jan 31 19:57:24 1999 Norbert Warmuth <nwarmuth@privat.circular.de>
* vfs/ftpfs.c (insert_dot): New function. Insert a "." into the linked
list. Stat'ing the root directory of a ftpfs fails if the dot is
missing.
(retrieve_dir): insert "." into the linked list if the ftp server
haven't send it.
Sun Jan 31 19:50:24 1999 Norbert Warmuth <nwarmuth@privat.circular.de>
* The following changes make ftpfs work with a remote AmiTCP
server are the result of somehow longish EMail debugging session. I
don't know any public server of this kind but I was told the
combination Unix/Amiga boxes are often used in intranets.
* vfs/ftpfs.c (translate_path): New function. Translate a Unix path,
i.e. MC's internal path representation (e.g. /somedir/somefile) to
a path valid for the remote server. Every path transfered to the
remote server has to be mangled by this function right prior to
sending it. Currently only Amiga ftp servers are handled in a
special manner.
* vfs/ftpfs.c (various places): use translate_path
* vfs/ftpfs.c (login_server): Assume we have to mangle pathnames if
the greatings string from the server contains the word Amiga. If
this assumption is wrong I have to find another way to turn on
path translation.
* vfs/ftpfs.c (ftpfs_get_current_directory): Prepend a leading slash
if it is missing. MC needs it as seperator between hostname and
path in its internal url representation.
* file.c (panel_operate_generate_prompt): Removed the cmd_buf
argument, since it is a global variable anyway (this function is
only called once from file.c, and the global cmd_buf was being
passed in).
(panel_operate): Do not pass cmd_buf to
panel_operate_generate_prompt().
Thanks to Alexander Savelyev <fano@vcom.kiev.ua> for noticing this.
* 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.