* gcmd.[ch]
* glayout.c
* gprefs.c
* gdesktop.[ch] (mostly auto_pos and desktop_arrange_icons):
Reworking of the desktop's Arrange Icon code -- in addition to
being able to sort by various criteria now (name, file size, etc),
there are now 3 options (Right to Left, Bottom to Top, Rows instead
of Columns) controlling layout positioning. (Located in the "Desktop"
Preferences tab)
* gtkedit/syntax.c (upgrade_syntax_file): Mark error strings for
translation.
* gtkedit/editmenu.c (edit_about_cmd): Mark text in "about" for
translation as it used to be.
* po/POTFILES.in: Removed symbolic links, and outdated
gmc-window.[ch] and olddnd.c. These don't repport any new strings,
increase compile time and make po files large. Basically adds
gaction.c, g,mount, smbfs.c to the pre-previous file.
* po/es.po: Added new strings with latest editor changes. Added
strings in gaction.c. Merged with a new mc.pot after the changes
in POTFILES.in.
* gnome/gaction.c (mainly gmc_unable_to_execute_dlg): Moved g_strconcat
to g_strdup_printf, to get compact strings and make coherent
translations. Translate atomic actions (open, edit, view) when
calling this function.
* src/menu.c: (create_menu): Adjust "#ifdef ENABLE_NLS" so that menus
get the right size even when NLS is disabled.
1999-08-08 Norbert Warmuth <nwarmuth@privat.circular.de>
* po/POTFILE.in: Removed gpopup.c as it is not compiled.
* gdesktop.c (try_rename): New function to rename a desktop icon's
file by using a file operation context.
(text_changed): Use try_rename() instead of fiddling with the VFS
directly. BUGFIX: GNOME bug tracker #707. Also, destroy the old
icon before updating the desktop.
* gnome/gconf.h (PORT_STATIC_IN_STRING_FILE_XTIME): new port specific
feature. The Gnome edition first calls all string_file functions
and then uses the return values of these functions. Therefore additional
static buffers in string_file_[acm]time are needed.
* src/screen.c (string_file_[amc]time): These three functions use
file_date which returns a pointer to a static buffer. In the
Gnome edition this buffer has to be coppied to a static buffer
which isn't used in the other two functions (Fix Bug #1766).
* src/util.c, util.h: Moved some constants to util.h
* vfs/tar.c (read_header): Don't segfault when a symlink points to the
root directory.
1999-08-04 Norbert Warmuth <nwarmuth@privat.circular.de>
* src/widget.c (push_history): Add SMB Link to the list of input dialogs
where urls are input without vfs prefix.
Translate the titles of these input dialogs only once.
Removed Gnome specific code because the Gnome edition doesn't use
the input history any more.
* src/util.c (strip_password): Add /#smb: to the list of urls which might
be input with password.
* gnome-file-property-dialog.c (perm_group_new): Set the correct
group name in the group entry box. BUGFIX: Red Hat bugzilla #3244.
* gmount.c (get_mountable_devices): Return the list in getmntent()
order. BUGFIX: Red Hat bugzilla #3621.
* gprefs.c (help_callback): New help callback for the preferences
dialog. It loads the "gmcprefs.html" section from the GMC user's
guide. We need a better framework for this; we need to be able to
map DocBook identifiers (<foo id="bar">) to HTML files or
whatever. BUGFIX: Red Hat bugzilla #3194.
1999-08-05 Federico Mena Quintero <federico@nuclecu.unam.mx>
* doc-gnome/C/gmc.sgml: Set the book element's id to "index" so
that the correct index.html will be generated.
* gnome/gcmd.c (gnome_about_cmd): Change strings in gmc "about" to
static as they only translated once.
* src/menu.c (create_menu, menubar_drop_compute, menubar_paint_idx):
Discount '&' for hotkeys when checking menu widths to avoid the
extra blank space.
Moved this accounting from the drawing to the creating function.
* src/widget.c: Translate History box tittle.
* po/es.po, po/es_ES.po: added translation for history box title
1999-08-01 Norbert Warmuth <nwarmuth@privat.circular.de>
* src/vfs.c: Don't close a function definition with "};". SunCC from
2.5.1 chokes on the extra semicolon.
(mc_munmap): Don't dereference function pointer when checking for
NULL (this check is supposed to prevent a segfault instead of
causing one). This haven't got noticed up to now becaue there's no
file system with mmap but without munmap.
* capplets/mime-type/edit-window.c (initialize_main_win_vals):
Patch from Fabrice.Bellet@imag.fr for i18n and portability.
1999-07-08 <jrb@redhat.com>
* mouse-properties.c (mouse_apply): Added patch by Tom Tromey
<tromey@cygnus.com> to handle left-handed wheeled mice. Fixed
Authors file, too.
* gnome-file-property-dialog.c (perm_group_new): the return values
from the group functions in libc return pointers to static buffers
in the library. Duplicate all return values and free them at the
end.
* gnome-file-property-dialog.c (perm_group_new): Patch from
Germano Leichsenring <germano@jedi.cs.kobe-u.ac.jp> that fixes the
display of groups for non-root users.
* gcorba.c (corba_create_window): Ensure that the directory we
pass to the CORBA server is not NULL.
* gscreen.c: Removed a bunch of unused functions for filters.
* gnome/gmc-chargrid.c (update_strip): Paint every character with the
assigned fore and background color instead of using the colors of
the first character for the whole line.
1999-06-24 smil@linuxfan.com
* src/view.c (view_update_bytes_per_line, display): show correctly the
offset of the file (full 8 digit), display offset in bold colour
(view_labels): use goto_addr instead of goto_line in hex mode
(goto_addr): New function. Goto offset address in hex mode.
* src/view.h: use unsigned long for hexedit cursor position in file
* acconfig.h: Add WITH_SMBFS
* macros/gnome-vfs.m4: Support conditional samba support.
1999-06-22 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gsession.c (create_default_panel): Use directory specified in
command line.
* gcorba.c (corba_create_window): Pass the directory we receive or
cwd if this value is NULL.
* gmain.c (non_corba_create_panels): Use parameter for startup
directory (use the this_dir external directory for this).
(create_panels): Pass this_dsir to non_corba_create_panels and
corba_create_window.
David for the ChangeLog entries).
1999-06-22 David Martin <dmartina@usa.net>
* gnome/gnome-file-property-dialog.c (switch_metadata_box): Tag some
strings for localization.
* gnome/gnome-open-dialog.c (gnome_open_dialog_new): Don't assemble
label_string from seperate strings (makes it easier to translate).
* src/view.c (display): added view_gotoxy's in order to make hex mode
work in the gnome edition.
* gtkedit/gtkedit.c (tb_items): Mark strings for localization.
1999-06-22 Norbert Warmuth <nwarmuth@privat.circular.de>
* gnome/gview.c (viewer_size_changed): Update internal viewer state used
in hex mode.
And some fixes to the bug reported on mc-bugs ("Two Big Bugs in
Quickview@mc").
1999-06-22 Norbert Warmuth <nwarmuth@privat.circular.de>
* src/cmd.c (quick_view_cmd): Change panel when the file we want to
view isn't in the current panel (prevents a "file not found"
error).
* src/menu.c (menubar_execute): De-activate the menubar previous to
invoking the callback. This is needed to make change_panel in
quick_view_cmd work (the activated menubar doesn't allow unfocus,
i.e. dlg_one_down|up don't change anything).
* src/view.c (do_view_init): improved error handling w.r.t quick view
(mc used to dump core when the file to view couldn't be opened).
* gdesktop.c (set_icon_wmclass): New function to set the wmclass
and wmname for desktop icons. This lets them be managed correctly
by WMs who try to manage X11R5 clients decently.
(text_changed): Call set_icon_wmclass().
(desktop_icon_info_new): Call set_icon_wmclass().
* gdesktop-icon.c (desktop_icon_realize): Do not clear the
WM_CLIENT_LEADER property.
* gdesktop.c (icon_is_in_area): Fixed off-by-one error in
intersection computation.
* gdesktop-icon.c (desktop_icon_reshape): Set the correct values
for dicon->text_x and dicon->text_y.
* complete.c (complete_engine): Put an #ifndef HAVE_GNOME around
the completion/query engine. Make the Gnome version just beep
instead. We do not have the completion/query engine for Gtk.
1999-06-11 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gwidget.c (x_update_input): Unblock the changed signal *after*
we call gtk_editable_changed().
* gdesktop-icon.[ch]: Removed the background hack for desktop
icons. Now the GnomeIconTextItem does the right thing.
* gdesktop-icon.c (desktop_icon_reshape): Use the correct size for
the icon text item.
* gdesktop.c (new_terminal): New function to open a terminal from
the popup menu. If the user opens a terminal from the desktop,
then its cwd should be the user's home directory, not the desktop
directory. Fixes bug #2868 in the Red Hat bugzilla.
* gnome/gdesktop-icon.h:
* gnome/gmc-chargrid.c: Replace gdk_font_load() with
gdk_fontset_load(), and change the default font names.
1999-06-01 Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
* util.c (is_printable): in GNOME all characters are printable.
* gdesktop-icon.c (desktop_icon_select): Show the
dicon->background.
(desktop_icon_init): Initialize backgorund as a rectangle that
fills all of the space used by the icon.
* gprefs.c (create_prop_int): Translate this label too.
* gnome-open-dialog.c: Add config.h here. Otherwise there is no
way to translate this dialog. Thanks to David Martina for
pointing this out.
1999-05-27 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gscreen.c (panel_tree_button_press): Beginning of context menu
on tree.
* gtkdtree.c (gtk_dtree_load_path): Comment out the phantom code.
Need to review this code. Lets fix the problem Federico needs
solved now.
* gscreen.c (panel_fill_panel_icons): Add a hack to work around
gnome-libs/gnome-icon-list bug that did not reset the proper
values. A fix will be available in gnome-libs-1.0.10.
Fixes bug #1338.
* gdesktop.c (click_proxy_motion): Terminate rubberbanding if the
event mask does not contain GDK_BUTTON1_MASK. There is a race
condition where we will not get the button release event if we
manage to grab the server in the button_press handler before the
window manager proxies the button release to us.
(perform_release): New function to terminate rubberbanding; this
used to be in click_proxy_button_release(). Also, update the drag
selection based on the last known mouse position, not on the
current one (which is not meaningful if the race condition
mentioned above kicks in).
(click_proxy_button_release): Use perform_release().
* gdialogs.c (file_op_context_create_ui): Handle the "close"
signal from the progress dialog; do not let GnomeDialog close it
for us. This fixes bug #2203 in Red Hat's Bugzilla.
* gnome-file-property-dialog.c (create_general_properties): Mark
some more strings for translations. Thanks to David Martina for
pointing these out.
* mc.keys.in.in: New icons from Tim Davis <davist@cs.man.ac.uk>
* treestore.c (tree_store_save_to): Moved the functionality from
tree_store_save() to here.
(tree_store_save): Save the tree in the default location in an
atomic fashion.
(tree_store_load_from): Moved the functionality from
tree_store_load() to here.
(tree_store_load): Load the tree from the default location.
* treestore.h (MC_TREE_TMP): Added a #define for the temporary
name we'll use when saving the tree. Moved the #defines from
tree.h over to here.
* main.c (main): Use tree_store_load() and tree_store_save().
Removed the mc_tree_store_load/save() versions.
* tree.c (load_tree): Use tree_store_load().
(save_tree): Use tree_store_save().
* gscreen.c (panel_tree_check_auto_expand): Enabled auto-collapse
functionality again. Made the code a simpler by using
gtk_dtree_is_ancestor().
* gtkdtree.c (gtk_dtree_is_ancestor): New function to test whether
a node is an ancestor of a child. This does the same as
gtk_ctree_is_ancestor(), but much more efficiently. GtkCTree
seems to use the pessimal algorithm for this.
(gtk_dtree_collapse): Slight optimization: do not re-select if the
node is already selected.
(gtk_dtree_collapse): Do not freeze/thaw the tree while
collapsing/selecting.
* gmain.c: Removed crufty old SM code.
* gscreen.c (panel_setup_drag_scroll): Made it not return
anything, since scrolling is independent from any other
prelighting actions.
(panel_tree_drag_begin): Do not print debugging message.
(panel_drag_data_get): Assert that we were requested a valid data
type.
(panel_create_tree_view): Only specify GTK_DEST_DEFAULT_DROP for
the tree, since we want to present the correct feedback when the
user is hovering over the blank area in the tree.
(panel_build_selected_file_list): Made it return char *.
(panel_tree_drag_end): Free dtree->drag_dir, not dtree->current_path.
(tree_drag_open_directory): Use panel->drag_tree_node instead of
the coordinates hack.
1999-04-15 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gscreen.c (panel_setup_drag_scroll): Made it not return
anything, since scrolling is independent from any other
prelighting actions.
(panel_tree_drag_begin): Do not print debugging message.
(panel_drag_data_get): Assert that we were requested a valid data
type.
Updated/redid de.po.
I have *not* changed all the other .po files, I've done "make
update-po", that's all. Please kill me, should I have messed up the
tree somehow.
Kill me anyway, should I have goofed with CVS somehow. This thing
scares me no end, I keep looking stuff up in the documentation, and
it's with trembling fingers that I do my commits. Luckily I can't
break any code since I don't work on any code :)
* main.c (_do_panel_cd): If we are using GNOME, and the panel is a
desktop panel, open up a new panel for the contents.
gnome/
* gdesktop.c (create_panel_from_desktop): Assign selected_index
when we find the last selected icon.
(desktop_icon_info_open): Desktop directory open case moved to
main.c to handle both general and action cd commands.
vfs/
* extfs.c (extfs_unlink):
(extfs_mkdir):
(extfs_rmdir):
(remove_entry): New functions.
(vfs_extfs_ops): Add unlink, mkdir and rmdir functions to table.
Add descriptions for these to the extfs README.
* gscreen.c (panel_icon_list_button_press): Ignore double clicks.
(panel_widget_motion): Don't do anything if the button state does
not match the button we are expecting.
* gtkflist.c (gtk_flist_button_press): Remove pending selections
when we receive a double click.
* gaction.c: #include "view.h"
* gtkflist.[ch]: New files. This is a "file list" widget derived
from GtkCList that does several things:
- Overrides all mouse and keyboard event handlers.
- Implements its own, *sane* selection behavior, unlike
GtkCList's, which is broken.
- Implements the same selection behavior as the desktop,
which is a) correct, and b) consistent.
* gscreen.c (panel_create_file_list): Use the GtkFList widget.
(panel_widget_motion): Changed the drag thresholds to be the same
as in gtkdnd.c.
(start_drag): New convenience function to begin a drag operation.
(panel_widget_motion): Use start_drag().
(panel_clist_scrolling_is_desirable): Offsets must be with respect
to the clist_window, not to the allocation.
(panel_clist_drag_motion): Normalize the y coordinate of the
motion event to the clist_window.
* gdesktop.c (desktop_icon_info_destroy): Reset the
last_selected_icon to NULL if it is destroyed.
* Makefile.in: Added gtkflist to the list of files.
everywhere; every time you invoke a file.
* src/screen.c (do_enter_on_file_entry): split GNOME version and
non-gnome version.
(parse_display_format): listen to the warning.
* gscreen.c: make sure that we bring up an open_with if
open it.
* gcmd.c (gnome_select): new selection dialog.
* gdesktop-init.c (desktop_init_at): do not use access for it is
poor when you are root.
1999-04-07 Jonathan Blandford <jrb@redhat.com>
* screen.c (do_enter_on_file_entry): added a consistent behaviour
for GNOME stuff.
* glayout.c (create_container): Use gtk_window_set_default_size(),
not gtk_widget_set_usize().
* gdesktop.c (get_slot_from_pos): Clamp the slot positions to be
inside the screen.
* gmain.c (gnome_check_super_user): Improved the message a bit.
* gcmd.c: marked message for translation.
1999-04-06 David Martin <dmartina@usa.net>
* info.c (text out of box and locale layout).
* util.c: If gmc uses strftime() why mc doesn't?
* view.c: a) Tune status line so it does fit in a Quick View Panel
b) Let Hex View resize cleanly. I think it's fixed for panel
re-split and SIGWINCH signal in xterm. gmc still fails. There was
a tiny risk of division by zero when pressing F4 in a very small
box. True hard work... Must try and check it.
1999-04-06 David Martin <dmartina@usa.net>
* Updated es.po
* gmetadata.c (gmeta_del_icon_pos): New function to delete the
icon position metadata from a file.
* gcmd.c: Removed unused function gnome_quit_cmd().
1999-04-05 Federico Mena Quintero <federico@nuclecu.unam.mx>
* main.c (main): Call mc_tree_store_save() when the program
terminates.
1999-04-05 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gprefs.c: Add new page for desktop properties.
1999-04-05 Ronald de Man <deman@win.tue.nl>
* gnome-file-property-dialog.c (create_general_properties): Use
local time here.
1999-04-05 Miguel de Icaza <miguel@nuclecu.unam.mx>
* setup.c: Save desktop information.
* gscreen.c (file_list_popup_items): Use "New Directory", not "New
Folder", to be consistent with the desktop and File menus. Thanks
to Kevin Fox for pointing this out.
(panel_icon_list_drag_data_received): Update the panels properly.
(panel_clist_drag_data_received): Likewise.
(panel_tree_drag_data_received): Likewise.
* gcmd.c (gnome_close_panel): Doh. Do not access g_free()d
memory.
* glayout.c (copy_uiinfo_widgets): Return the copied array as a
return value, not in an argument.
* gcmd.c (set_view_type): Added a sanity check.
* gtkdtree.c (scan_subtree): Moved the functionality to scan a
subtree to this function. Also, do not emit the DIRECTORY_CHANGED
signal here.
(gtk_dtree_select_row): Call scan_subtree() and emit the
DIRECTORY_CHANGED signal here.
(gtk_dtree_expand): Do not select the just-expanded node. Call
scan_subtree().
(gtk_dtree_collapse): Only select the node if it is an ancestor of
the currently-selected node. This should really go in the
GtkCTree sources.
(gtk_dtree_init): Bad hack: unset the GTK_CAN_FOCUS flag to avoid
the broken focusing behavior of GtkCTree.
are almost complete (i.e. to handle all nitty gritty cases), but they
seem to be working OK right now. SM should be much more stable now.
Please tell me if you find any weird behavior - Federico
1999-03-30 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gdesktop-icon.c (desktop_icon_realize): Remove the
WM_CLIENT_LEADER property from icon windows so that window
managers will not store SM information for them.
* gnome-open-dialog.c: Added missing #includes.
* gdesktop-init.c (desktop_init_at): Removed an unused variable.
* gdesktop.h: Added some missing prototypes.
* gmain.h: Added some missing prototypes.
* Makefile.in: Added gsession.[ch] to the list of sources.
* gmain.c (create_panels): Consider whether we have a CORBA server
and session management.
* gdesktop.c: #include "gdesktop-init.h"
* gdesktop.c: Added a missing cast to GNOME_DIALOG.
* gmain.c (create_panels): Removed the run_desktop global
variable.
* glayout.c (create_container): Set the wmclass of the panel to
include its unique ID.
* gsession.[ch]: New file with the functions that deal with
session management.
* glayout.c (gnome_exit): Use session_set_restart().
* gcorba.c (corba_init): Now returns an int with an error value.
(corba_init_server): Initialize the server properly.
Fixed all the object implementation code.
(corba_create_window): New function used to create a window with
the CORBA server.
* gmain.c (gnome_check_super_user): Now the check for running as
root is done here. There should be no GUI code in src/.
1999-03-30 Federico Mena Quintero <federico@nuclecu.unam.mx>
* dlg.c (dlg_run_done): Do not call the callback of a NULL current
widget.
* setup.h: Added missing prototype for setup_init().
* filegui.c (check_progress_buttons): Added a missing return
value.
* dlg.c (remove_widget): Added a missing return value.
* main.c: Removed the global directory_list variable.
Removed the main_corba_register_server() function.
* main.h: Removed the global run_desktop variable.
* panel.h: Now the panel structure has a unique numerical ID used
for session management.
* screen.c (panel_new): Maintain a unique ID for each panel.
* main.c (maybe_display_linksdir): Handle display of the desktop
init dir here.
(main): Call gnome_check_super_user().
(init_corba_with_args): Call corba_init_server().
* main.c (init_corba_with_args): Do CORBA initialization here. Also
removed the global force_activation option.
1999-03-30 Federico Mena Quintero <federico@nuclecu.unam.mx>
* vfs.c (vfs_add_current_stamps): Only do stamping of the panels
if they exist.
* mcserv.c: #include <sys/wait.h>
(get_client): Put `#ifdef __EMX__' around an otherwise-unused
variable.
* utilvfs.c (vfs_split_url): Fix NULL <-> 0 confusion when
comparing characters.
* ftpfs.c (retrieve_dir): Removed unused variable dot_dot_found.
* extfs.c (extfs_init): Assign `key' to c, not `&key'.
* capplets/mime-type/mime-type-capplet.c (main): oops -- should be
mime-type-capplet, not mouse-capplet. Thanks to Jacob Berkman
<jberkman@andrew.cmu.edu> for pointing this out
1999-03-22 Jonathan Blandford <jrb@redhat.com>
* capplets/theme-switcher/gui.c (click_entry): bug fix. Now we
can try again after a revert.
Basically, I had to setup an ssh tunnel to be able to use CVS. After
5 hours trying to get the damn thing to cvs update it was clear to me
why the .es people do not like to use the gnome cvs.
We really need a tunnel for .es hackers (as they have excellent connectivity
to the rest of Europe, they are just routed trough a 2 byte link to the US).
1999-03-22 Miguel de Icaza <miguel@nuclecu.unam.mx>
* treestore.c (process_special_dirs): Free memory here.
Fix test: Skip only "." and "..", before it could skip "?.".
1999-03-22 David Martin <dmartina@mailexcite.com>
* wtools.c (real_input_dialog_help): Do a strncmp with the lenght
of th same translated "Password:" string.
1999-03-22 Miguel de Icaza <miguel@nuclecu.unam.mx>
* glayout.c (create_new_menu_from): closedir after running.
1999-03-20 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gnome-file-property-dialog.c (apply_metadata_change): Fix the
test for setting the icon. It was being done incorrectly and thus
it was never possible to change the icon.
* glayout.c (gnome_launch_mime_editor): Add mime-type-edit command
to the menu: this launches mime-type-capplet
1999-03-22 David Martin <dmartina@mailexcite.com>
* ftpfs.c: Internationalize the messages that are displayed as
hints.
1999-03-22 Miguel de Icaza <miguel@nuclecu.unam.mx>
* extfs.c (extfs_init): Fix the code here: If the key is empty or
only contains a new line, C would be pointing into an invalid location.
* gnome-file-property-dialog.c (apply_metadata_change): Fixed
incorrect logic when testing whether the icon changed or not.
This makes icons change correctly again.
* Makefile.in (GNOMEHDRS): Added gdesktop-init.h.
Ok, so this time I got the stuff to auto-load desktop startup links.
This means you can ship stuff to pre-configure the desktop of the
users now.
We support program-based setup and url-links.
Details on the lib/README.desktop file
* gscreen.c (panel_tree_drag_motion): Dragging now automatically
highlights the tree. God does it flicker... )-:
* gtkdtree.h (gtk_dtree_construct): removed unused prototype.
* gscreen.c (panel_tree_check_auto_expand): removed the
auto-collapse of trees, as it is confusing to the user.
* gcmd.c (dentry_apply_callback): new function.
(gnome_new_launcher): We can now create new
1999-03-19 Jonathan Blandford <jrb@redhat.com>
* file.c (panel_operate): Ugly hack for GNOME. We only treat the
copy as if it were many files, and skip the only_one branch.
* main.c (main): Put in a warning when run as root.
1999-03-17 Jonathan Blandford <jrb@redhat.com>
* gnome-file-property-dialog.c (generate_icon_sel): I don't know
who broke this, but it was a mess. It now does the right thing,
and works...
* gicon.c (get_icon_set): Use iset->filename (which is a
strdup()ed string) instead of filename as a key in the hash table,
since the user will very likely free filename.
* boxes.c (symlink_dialog): Put this inside an "#ifndef
HAVE_GNOME" since we now provide a nicer version of the dialog.
* wtools.c (real_input_dialog_help): Removed un-needed #ifdef.
1999-03-16 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gdialogs.c (symlink_dialog): Finished implementing the new
symlink dialog.
* cmd.c (edit_symlink_cmd): Generate the title of the dialog after
we have computed the source filename.
(edit_symlink_cmd): Use g_strdup_printf() instead of g_strconcat()
for better internationalization.
* wtools.c: Removed unused function input_dialog_help_2().
(real_input_dialog_help): Put this inside an "#ifndef HAVE_GNOME",
because now the Gnome version implements its own pretty dialog.
1999-03-15 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gdialogs.c (real_input_dialog_help): Now we use a
gnome_request_dialog() for generic input dialogs. They look
prettier and consistent now.
(file_progress_show): Update the progress bars. Thanks to Greg
for noticing this!
* Makefile.in: Removed references to gpopup.[co].
* gdialogs.c (file_progress_show_bytes): Fixed a GTK Warning when
done / total >= 1.0
* file.c : Actually update the progress bar when copying files around.
I should know better by now...
1999-03-15 Jonathan Blandford <jrb@redhat.com>
* capplets/mime-type/mime-info.c (write_initial_keys): Now we
explicitly remove then recreate the file, so that we can guarantee
that the mime-type gets reread.
* gscreen.c (x_select_item): It is not necessary to call
gnome_canvas_update_now() here.
* gdesktop-icon.c (set_icon): Do not destroy the icon image.
* gnome-file-property-dialog.c
(gnome_file_property_dialog_finalize): Do not destroy the icon
image, since it is a shared resource.
* gdesktop.c (text_changed): If the file has the "icon-caption"
metadata set, then change that instead of renaming the file. This
can be used by URLs and is also needed by the mountable device
icons.
(text_changed_url): Removed this function now that text_changed()
can handle all cases.
* gdnd.c (drop_url_on_directory): Set the "icon-caption" metadata
for URLs.
* gdesktop.c (icon_event): Handle button-2 clicks and drags
properly.
* file.c (erase_file): Here we need to mc_lstat(), not mc_stat().
Since we use the resulting buf.st_size to update the progress, we
need the size of unresolved links. This also makes it consistent
with screen.c:do_file_mark().
* screen.c (select_item): Return immediately if this is a desktop
panel.
1999-03-12 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gdesktop.c (create_panel_from_desktop): Do not assert that
panel->count > 0, because we may actually not have any icons in
the desktop.
(desktop_popup): Reload the desktop once the popup menu is done.
(create_panel_from_desktop): Be consistent with the way totals are
computed in screen.c:do_file_mark().
* gdesktop.c (create_panel_from_desktop): Do not assert that
panel->count > 0, because we may actually not have any icons in
the desktop.
(desktop_popup): Reload the desktop once the popup menu is done.
* gpopup2.c (create_mime_actions): Do not free the file name here,
since it is passed on to the callback. It will be freed on the
destroy handler instead.
* gpopup2.c (escape_underlines): New function to escape the
underlines in a string so that GtkLabel will include them in the
final result.
(create_mime_actions): Escape the underlines from the MIME action
descriptions.
Fix bug #261: inconsistent labels in view menu and toolbar,
unsynchronized items.
* glayout.c (panel_view_menu_uiinfo panel_view_toolbar_uiinfo):
Made the view names consistent with the toolbar names. Also,
added underscore accelerators to the menu items.
(copy_uiinfo_widgets): New function to copy the widgets from an
uiinfo array into a widget array.
(create_container): Copy the uiinfo widgets to the panel
structure.
* gcmd.c (set_view_type): New function to set the list view type
and synchronize the menu and toolbar items.
(gnome_close_panel): Free the view menu/toolbar item arrays.
* gpopup2.c (perform_mount_unmount): Set the icon's cursor while it is
being operated on.
(handle_mount): Use perform_mount_unmount().
(handle_unmount): Likewise.
(handle_eject): Set the icon's cursor while it is being ejected.
* gdesktop.c (desktop_icon_set_busy): New function to set a watch
or normal cursor for a desktop icon.
* gdesktop.c (desktop_icon_info_open): Set the cursor to a watch
while the icon is being opened. Also, fixed memory leaks.
(do_eject): Added a missing return value.
* gdesktop.c (do_mount_umount): Use g_readlink here.
* gpopup2.c (handle_eject): Small tuning. And use g_readlink :-).
* gmount.c (mount_point_to_device): New function. Mapes a mount
point to its device. Required since we are now using the mount
point (as this is not ambiguous) as the key for the devices and
the eject command needs the device name, not the mount point.
* gdesktop.c (desktop_icon_info_open): First try to see if
filename is mountable. Then do the directory tests and the file
launching tests. Fixes mount-by-double click.
* gmount.c (setup_devices): Use new tigert icon.
* glayout.c (save_panel_types): Do not save the setup of a desktop
panel.
* gpopup2.c (handle_mount): Use get_full_filename().
(handle_unmount): Likewise.
(handle_eject): Likewise.
(handle_open): Likewise.
* gdesktop.c (update_url): Made static.
(desktop_reload_icons): Call update_url() when updating an
existing icon.
* gpopup2.c (handle_properties): Do not update the icon url here.
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.
* 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.
* 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.
* 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.
* gicon.c (gicon_get_filename_for_icon): Return const char *, this
tells the user of this routine "you better not touch or free this
you dofus".
* gnome-file-property-dialog.c (apply_metadata_change): Always set
the name of the icon to the new value, as the entry will always
match the imlib image anyways (due to the fixes I did to const
correctness).
(generate_icon_sel): Do not free the value. We do not own this
return value.
* gdesktop.c (is_mountable): NULL terminate string returned from
readlink. Yes guys, readlink does not NULL terminate things.
(do_mount_umount): ditto.
* gnome-file-property-dialog.c (init_metadata): ditto
* gdesktop.c (desktop_drag_data_received): Simplify.
* gscreen.c (panel_icon_list_drag_data_received): Pass the full
path to gdnd_perform_drop.
(panel_clist_drag_data_received): same.
* gdnd.c (drop_on_directory): We no longer take a file_entry
here. The directory we get passed is already a fully qualified
name of the target location.
* gwidget.c (x_create_input): Hook to the changed signal and sync
the input with our view of the entry. This fixes the paste bug
reported.
* gmount.c: fix obvious typos, use str in option_has_user, fix
mt_opts typo and is_block_device_mountable can't return TRUE nor
FALSE, so it returns NULL
this makes it actually compile
-George
* gdesktop.c (desktop_icon_info_open): Launch a panel at the
location of the mount point.
* gmount.c (setup_devices): Use g_list_free, not g_free. Fed,
test your fixes to my code ;-)
* glayout.c (create_container): Add a Desktop menu if the WM is
not GNOME compliant.
* gmain.h: Removed set_current_panel() since it was never used.
* glayout.c (set_current_panel): Made static and renamed from
set_new_current_panel().
Removed old toolbar cruft.
* gmount.c (get_mountable_devices): Made static.
* Makefile.in (ICONS): Added i-floppy.png, i-cdrom.png,
i-printer.png. Thanks, Tigert!
* setup.c: Declare extern int tree_panel_visible for the GNOME
version.
1999-02-18 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gmount.c (gmount_setup_devices): New function to set up the
mountable devices on the desktop directory. Moved over from
gdesktop.c. Added an argument that specifies whether it should
clean up the device list first.
(cleanup_devices): Delete the metadata for the devices.
(setup_devices): Free the list of device names. Use the proper
icon for each device.
(create_device_link): Better error checking.
* gdesktop.c (create_desktop_dir): Use gmount_setup_devices().
(desktop_icon_info_destroy): Made static.
(desktop_popup_items): The command for rescanning mountable
devices should go here.
(handle_rescan_devices): Call gmount and refresh the desktop.
* gdesktop.h: Removed the declaration of tree_panel_visible, since
it has nothing to do with the desktop.
* glayout.c (gnome_panel_commands_menu): Removed the recreate
devices command.
* gdesktop.c (desktop_popup_items): Added a new command to create
a file window.
* dir.c (if_link_is_exe): Made this function take in a directory
argument as well -- the sought file may not be in the cwd, and
file entries do not carry the directory the file refers to.
* screen.c (do_enter_on_file_entry): Pass in the cpanel->cwd to
if_link_is_exe().
1999-02-17 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gdesktop.c (do_mount_umount): Removed unused variable.
(do_eject): Return FALSE if there is no eject command.
(setup_devices): Removed unused variable.
* gdnd.c (drop_on_file): Pass the directory to if_link_is_exe().
(gdnd_validate_action): Likewise.
(gdnd_perform_drop): Made consistent with the rest of the code by
taking the directory name along with the file entry.
(gdnd_validate_action): Likewise.
* gdesktop.c (icon_drag_motion): Pass the directory to the gdnd
functions.
(icon_drag_data_received): Likewise.
(desktop_drag_motion): Likewise.
(desktop_drag_data_received): Likewise.
(desktop_icon_info_open): Pass the directory to if_link_is_exe().
* gscreen.c (panel_icon_list_drag_data_received): Pass the
directory to gdnd functions.
(panel_clist_drag_data_received): Likewise.
(panel_tree_drag_data_received): Likewise.
(panel_clist_drag_motion): Likewise.
(panel_icon_list_drag_motion): Likewise.
* gdesktop.c (reload_desktop_icons): Load the information provided
on the .desktop file for the desktop icon information: icon
filename and text to be displayed.
* gpopup.c (create_actions): Add support for mountable icons.
* gdesktop.c (try_to_mount): Add an option to automatically mount
links on the desktop that point to devices.
(is_mountable): Returns true if a pathname is mountable.
* glayout.c: Add the dirsizes command here.
* gmount.c: New file. Implements support routines for
mount/umount.
* gicon.c: Lots of changes to support the little symlink/stalled
icons that get overlaid on the normal file icons. We now have the
concept of an icon set, which is a cache of normal icons plus
their overlaid versions.
* gnome-file-property-dialog.c (apply_metadata_change): Use
gicon_get_filename_for_icon().
(generate_icon_sel): Likewise.
* gnome-file-property-dialog.c (create_general_properties): Use
buffers of size MC_MAXPATHLEN.
(init_metadata): Likewise.
* gmetadata.c: Removed the gmeta_del_icon_pos() function, since it
is no longer used anywhere.
* gdesktop.c (reload_desktop_icons): Use gnome_metadata_delete()
instead of gmeta_del_icon_pos().
(desktop_icon_info_delete): Likewise.
(desktop_icon_info_destroy): Do not call gnome_metadata_delete().
* gdesktop.c (reload_desktop_icons): Take auto-positioning and
snap-positioning into account. This is the right thing to do.
(get_icon_auto_pos): Do auto-positioning in two steps, first from
the requested position to the end of the slot array, then from
slot zero forwards if required.
Miguel.
1999-02-15 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gcmd.c (gnome_open_terminal_with_cmd): New routine, based on the
gnome_open_terminal routine, that will allow the user to specify a
command to execute (used internally).
* gaction.c (gmc_edit_filename): Support for the GNOME editor
environment properties.
* gdesktop.c (create_desktop_dir): Support GNOME_DESKTOP_DIR
variable to configure the desktop directory.
* gprefs.c (create_prop_box): Make the preferences dialog modal.
Also, set the window title and set the window's parent.
Removed some unused functions.
* gdesktop.c (desktop_popup): Handle popup menus for the desktop.
(arrange_desktop_icons): New function to auto-arrange the desktop
icons.
(reload_desktop_icons): Take care of positioning the new icons by
ourselves; do not rely on desktop_icon_info_new() to do it.
(remove_from_slot): Reset the icon's slot to -1.
(reload_desktop_icons): Show all the icons after they have been
loaded, instead doing it one by one.
* gscreen.c (file_list_popup): Handle popup menus for the blank
areas of the file panels.
(panel_icon_list_button_press): Call file_list_popup().
(panel_file_list_press_row): Likewise.
* new_icons/Makefile.in (ALLICONS): Added Tigert's new icons for
PS and EPS files. Thanks, Tigert!
1999-02-12 Federico Mena Quintero <federico@nuclecu.unam.mx>
* mc.metadata.in: Added a regexp for EPS files.
* mc.keys.in.in: Use Tigert's new icon for Postscript files.
Possible FIXME: are there different MIME types for PS and EPS
files?
* gdesktop-icon.c (set_icon): Do not destroy the image if it is
the same as the old one. Sigh, imlib really needs proper
refcounting.
* gscreen.c: Use gpopup_do_popup() until the new version is
finished.
* gpopup2.c (create_actions): Made the action selection logic
simpler.
(gpopup_do_popup2): Now can only operate on panels.
(file_actions): Sanitized the actions a bit.
* gutil.c (my_system_get_child_pid): sa_handler must be
gnome_sigchld_handler, not gnome_sigchld_installed.
* gpopup.c (dicon_properties): Do not call reread_cmd(). This is
a hack until the menus for panels/desktop are finished.
* gscreen.c (panel_file_list_press_row): Use gpopup_do_popup2().
* gutil.c (my_system_get_child_pid): Implement a erase-temp-file
when child dies instead of waiting for child that was launched
from shell/temp-file to finish.
* gdesktop.c (desktop_icon_info_place): Better icon placement by
rounding to the proper slot number.
(select_range): Simpler range selection for exact Windows behavior.
1. desktop entries on the desktop work.
2. Update the mc.keys.in for using some gnome-libs icons
instead of the old ones.
3. Find command rewritten for GNOME.
miguel.
* Makefile.in (ICONS): Added i-fifo.png to the list of icons.
* gicon.c (gicon_init): Load the proper FIFO and socket icons.
(gnome_file_entry_color): Return the proper icon for FIFOs.
* i-fifo.png: Added this file, and made i-sock.png be the right
image (thanks, Tigert!).
* main.h: Added prototype for main_corba_register_server().
1999-02-10 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gscreen.c (ILIST_FROM_SW): New macro to extract the icon list
from the scrolled window.
(panel_create_icon_display): Create a scrolled window and put the
icon list inside it. Changed the rest of the code to know about
this.
* gcorba.c (do_window_close): It turns out that we *do* need to
call CORBA_free(). It was a bug in ORBit which was causing this
to crash.
* glayout.c (gnome_close_panel_event): This function should return
FALSE.
* gcorba.c (corba_init): Cast poa to PortableServer_POA.
(impl_GNOME_FileManagerWindow_close): Call gnome_close_panel(); do
not destroy the widget by hand.
* gcmd.c (gnome_close_panel): This function should be void.
* gpopup2.c (popup_handle_rescan): Call reread_cmd().
* gscreen.c (panel_icon_list_button_press): Return TRUE if we
handled a popup menu.
tree updates from the treestore.
This speeds up a lot the display, as the GtkCTree seems to be
particularly bad at handling changes to the tree and keeping
the display in sync.
Makefile fixes to support SHELL= during compilation.
Miguel.
* gtkdtree.c (gtk_dtree_class_init): Added two new signals,
scan_begin and scan_end.
(gtk_dtree_expand): Call scan_begin() and scan_end().
(gtk_dtree_select_row): Call scan_begin() and scan_end().
(gtk_dtree_expand): Use gtk_ctree_select(), not gtk_dtree_select_row().
(gtk_dtree_collapse): Select the node when it is collapsed.
* gscreen.c (panel_create_tree_view): Added handlers for the
scan_begin and scan_end signals of the tree -- these will set the
cursor to a watch while the tree is being scanned.
wide items will be transleted in gnome-libs.
mc/gtkedit/editmenu.c removed from POTFILES.in because it is not used,
but was poluting *.po files with extra translations which, in turn, were
interfering with translations in gnome-libs.
- Kill the stack in the treestore. It was the wrong approach
at fixing the problem. Now emit all of the change notifications
after the tree has been finished the check.
- GtkCTree is not a tree internally but a list and the gaps
are, well, gaps. Deal with it.
Miguel.
* treestore.h: Replaced TreeStore.check_name_list by a GSList, for
minimal memory savings.
* treestore.c (tree_store_remove_entry): Removed unused code for
base_sublevel computation.
1999-02-06 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gtkdtree.c (gtk_dtree_insert_node): This function was never
returning the newly-created sibling.
Sun Feb 7 05:29:17 1999 Timur Bakeyev <mc@bat.ru>
* Makefile.in: Remove references and dependences to/from libslang -
we don't need this in GNOME. Changed the order of linking - libgtkedit
require libgnomeui.a, so swap $(LDFLAGS) and $(EXTRALIBS). The same for
corba edition.
gdnd.c, gmetadata.c, gpopup2.c, gtools.c: Adde #include "global.h" or
move it before #include <gnome.h> to avoid warnings about redefining
MIN, MAX nad RE_DUP_MAX. More clean compiling.
* gpopup2.h: New file - to avoid errors during "make distcheck". What
it is for, really?
* gmain.h: Added prototype for gmc_open_filename().
* gdesktop.c (desktop_icon_info_open): Fixed call to
gmc_open_filename(). See why it is good to have prototypes? :-)
* gdnd.c (perform_action): Oops. Removed a leftover "break" that
was causing the loop to exit, so you could not operate on more
than one file.
* gpopup2.c (popup_handle_properties): Update the URL information
on change.
* gnome-file-property-dialog.c (generate_actions_box): Fix memory leak.
(create_general_properties): Fix memory leak.
* gdesktop.c (desktop_icon_update_url): New function. Updates any
changes done to the url/caption on the file-property-dialog.
* gnome-file-property-dialog.c
(gnome_file_property_dialog_finalize): Release all of the
resources allocated (metadata routines alwayre return an allocated
block of memory).
Add support for changing the url an icon points to and the caption.
* gdnd.c (drop_url_on_directory): Better set the icon-filename
metadata entry instead of hard coding it.
* gtkedit/gtkedit.c: Hack to get a string defined in a macro into
the catalog file.
1999-02-02 Tuomas Kuosmanen <tigert@gimp.org>
* new_icons/gnome-core.png: New icon for core files. Someone
please add the code part :)
* gcmd.c (gnome_reverse_selection_cmd_panel): new function -- does
good things
* gscreen.c (panel_icon_list_select_icon): uses new popup menu
(panel_icon_list_button_press): ditto
* gpopup2.c (gpopup_do_popup2): new implementation of popup
menu. Many changes -- almost all internal. Much cleaner now...
Off to England.
* gdesktop.c (desktop_icon_info_open): Use gmc_open_filename
instead of the stuff that goes trough a file_entry as we loose the
full pathname.
* gnome-file-property-dialog.c (generate_actions_box): Tag "open"
for translation
(apply_metadata_change): Use fm-open instead of fm_open for the
metadata keys.
* gscreen.c (panel_file_list_configure_contents): Make the icon on
the type column be displayed.
(panel_file_list_select_row): Removed dead code.
(panel_file_list_press_row): Select the row before calling
gpopup_do_popup.
* gdnd.c (gdnd_validate_action): Added an "on_desktop" argument;
this specifies that the user is dragging over the desktop. Added
cases for drags of desktop icons and URLs.
(gdnd_perform_drop): New public function to handle drops. This is
now the master function to handle drops -- use this to make all of
MC consistent.
(drop_on_directory): Made static and renamed from
gdnd_drop_on_directory(). Made it fit for use by
gdnd_perform_drop().
(drop_url_on_directory): New function to drop an url on a
directory, moved over from gdesktop.c.
(drop_uri_list_on_directory): New function to handle drops of URI
lists on a directory.
(drop_on_file): New function to handle drops on a non-directory
file entry. This is moved over from gdesktop.c,
desktop_icon_drop_uri_list(). This is yet to be finished.
* gdesktop.c (desktop_icon_drop_uri_list): Fix memory leak.
(desktop_drag_motion): Use gdnd_validate_action().
(dnd_icon_targets): Allow dropping URLs on icons.
(icon_drag_motion): Use gdnd_validate_action().
(desktop_drag_data_received): Use gdnd_perform_drop().
(icon_drag_data_received): Use gdnd_perform_drop().
* gscreen.c (panel_icon_list_drag_data_received): Use
gdnd_perform_drop().
(panel_clist_drag_data_received): Use gdnd_perform_drop().
(panel_tree_drag_data_received): Use gdnd_perform_drop().
* gcmd.c (gnome_about_cmd): Fixed Foundation typo, and updated the
copyright date.
* 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.
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.