* gscreen.c (editing_icon_list): New function to figure out
whether an icon in the icon list is being edited. This is a
FANTASTICALLY UGLY HACK, but we cannot add new functions to the
icon list at this point as it would break forwards compatibility.
Sigh. BUGFIX: GNOME bug tracker #382, #1065.
* glayout.c (gnome_panel_desktop_menu): Added some underline
accelerators.
* gdesktop.c (desktop_arrange_icons_items): Renamed to the desktop
namespace. Added underline accelerators.
(handle_arrange_icons_name): Made static.
(handle_arrange_icons_type): Likewise.
(handle_arrange_icons_size): Likewise.
(handle_arrange_icons_access): Likewise.
(handle_arrange_icons_mod): Likewise.
(handle_arrange_icons_change): Likewise.
(desktop_arrange_icons): Made static.
(strip_tearoff_menu_item): Made it return the number of items in
the menu, not the list of children.
(desktop_icon_info_destroy): Remove the icon from the icon hash
table.
(text_changed): Update the icon hash table information.
* gdesktop.h: Cleaned up some unused prototypes.
* gview.c (view_status): Use the correct g_snprintf() format
argument.
* gcmd.c (sort_get_func_from_type): Indented according to the MC
conventions. People, *PLEASE* follow the Gnome Programming
Guidelines, especially when modifying existing code.
* gdesktop.c (swap): Likewise.
(auto_pos): Likewise.
(get_icon_auto_pos): Likewise.
* 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.
* 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.
* src/poptalloca.h: New file with definitions for alloca. Note: alloca
is defined as malloc on systems which fail to support alloca. Don't
include this file if you frequently use alloca.
* src/findme.c, src/popt*.c: include poptalloca.h
* src/Makefile.in: added poptalloca.h
* src/menu.c (create_menu): set minimum menu width to 20 characters as
it used to be (this was part of davids patches but I haven't
applied it, yet).
* 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.
* popt.c, popt.h, poptconfig.c, popthelp.c, poptparse.c:
updated to the version found in the popt module
* features.inc: added report information for smbfs
* 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.
* file.c (move_dir_dir): Give an error when an attempt is made to
move an empty directory into itself.
1999-06-14 Wayne Roberts <wroberts1@cx983858-b.orng1.occa.home.com>
* vfs/smbfs.c: New file. Implements the Samba-based file system.
* vfs/vfs.h: Declare vfs_smbfs_ops, vfs_file_is_smb.
* vfs/vfs.c (vfs_file_is_smb): implemented.
(vfs_init) register smbfs.
* vfs/samba: Incorporate SAMBA source code required for smbfs
1999-05-27 Miguel de Icaza <miguel@nuclecu.unam.mx>
* Make.common.in (confdir): Define confdir as sysconfdir. This
should fix the problem we had with FSSTND distributions.
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).
* src/user.c (user_menu_cmd): Allow national characters as hotkeys.
Don't dump core when the menu file contains only empty lines
* src/view.c (search, block_search): Use the correct column for the
percent display while searching.
Fri Jun 18 11:49:05 1999 Norbert Warmuth <nwarmuth@privat.circular.de>
* vfs/ftpfs.c (resolve_symlink_with_ls_options): Some ftp servers don't
make a difference between "LIST -la" and "LIST -lLa". If we find such
a server don't use -lLa when resolving symbolic links.
* 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().
* 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.
Mon May 17 07:30:48 1999 Norbert Warmuth <nwarmuth@privat.circular.de>
* configure.in: Added check for getpt ()
* src/subshell.c (pty_open_master): use getpt () if available to open
the master side of the pty. getpt () is a glibc extension and is
needed when glibc 2.1.x is used with a (linux) kernel without unix98
style ptys (if there is no /dev/ptmx getpt falls back to bsd style
ptys).
* src/filegui.c (check_progress_buttons): Don't update the Gpm mouse
cursor when we check for events. It causes a flickering cursor on a
different virtual console.
* src/util.c (strip_home_and_password): Don't split the path in the
middle of a directory, e.g. "/home/bofh" will not be translated to
"~h" (fixes the bug reported by Alex Fortuna <alex@rdc.ru>)
* find.c: The origin of the bug is in the function do_search (file
find.c). It limits the number of subdirectories to scan by the
number stat.st_nlink-2, or infinite if st_nlink<2. On tar vfs,
st_nlink is always 1, so it should be the second case.
But before doing stat, do_search does opendir. And opendir on tar
vfs (vfs_s_opendir in vfs/direntry.c) increases the st_nlink value
in the stat data! So mc_stat called after mc_opendir on tar vfs
returns st_nlink==2 instead of 1. This is interpreted as if the
directory had no subdirs, thus subdirs are not searched in.
Changing the order of calls to mc_stat and mc_opendir fixes the
problem.
* src/ext.c (exec_extension): Use tempnam instead of tmpnam (AIX doesn't
like the lattern when compiled with -mthreads).
* src/user.c (execute_menu_command): ditto.
Wed Apr 21 22:04:30 1999 Norbert Warmuth <nwarmuth@privat.circular.de>
* gtkedit/editcmd.c (edit_save_file): MAD knows about tempnam, no
need to fool it by strdup'ing the return value of tempnam.
Wed Apr 21 21:59:50 1999 Norbert Warmuth <nwarmuth@privat.circular.de>
* vfs/extfs.c (extfs_open): tempnam returns a malloced string, no need
to strdup it
(various places): use free instead of g_free to free string returned
by tempnam.
`--with-tm-x-support'
This option enables minimal X Window support in the text edition. It
enables MC to query the status of the modifiers CONTROL and SHIFT
when invoked in a terminal emulation under X11. That's necessary
to recognice key combinations like C-HOME or S-Cursor key.
Wed Apr 21 20:37:32 1999 Norbert Warmuth <nwarmuth@privat.circular.de>
* configure.in: New option --with-tm-x-support, use MCCFLAGS and
MCLIBS for build flags which are specific to the text edition.
* INSTALL: Added documentation for --with-tm-x-support
* src/Makefile.in: use MCCFLAGS and MCLIBS
Wed Apr 21 20:19:45 1999 Norbert Warmuth <nwarmuth@privat.circular.de>
* src/key.c (get_modifier): Query the state of the modifier keys when
running inside a terminal emulation under X11.
* src/key.c (init_textmode_x11_support, done_textmode_x11_support): new
functions, only used in the text edition. Connect to and disconnect
from the X Server when DISPLAY is set.
* src/key.h: added prototypes for the new functions
* src/main.c (main): call (init|done)_textmode_x11_support
* src/view.c (do_view_init): Enable viewing of files with negative
st_size (This reverts part of a patch I commited recently. Miguel
provided a better fix for this issue).
* 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().
st_size < 0 ...
Fri Apr 16 07:50:59 1999 Norbert Warmuth <nwarmuth@privat.circular.de>
* src/view.c (do_view_init): Don't view files with negative file size.
Added some error checking (I'm not sure whether this is needed).
* src/wtools.c (message): Use g_vsnprintf instead of vsprintf.
* configure.in: Linking from $srcdir/slang is broken when configure
isn't called with an absolute path. Link from ../$srcdir/slang if
configure was invoked with a relative path.
* 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.
* slang/slutty.c (SLsys_getkey): handle EOF on stdin (return
SLANG_GETKEY_ERROR on EOF instead of returning garbage)
* slang/Makefile.in (clean): remove the symbolic link slang.h on the
distclean target and not on the clean target.
Tue Apr 13 07:14:10 1999 Norbert Warmuth <nwarmuth@privat.circular.de>
* src/slint.c (getch): Quit MC when SLang_getkey returns an error. Looking
at the code that's only the case when we read EOF from stdin.
This fixes the problem where MC consumes a lot of cpu time while
reading EOF from stdin in a tight loop. This situation arises when the
terminal line/connection drops without MC being sent SIGHUP.
Tue Apr 13 06:07:05 1999 Norbert Warmuth <nwarmuth@privat.circular.de>
* configure.in: Some AC_ARG_WITH macros haven't checked $withval, i.e.
--with-PACKAGE and --without-PACKAGE gave the same results.
* 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.
* 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.
* cons.saver.c (main): dup2() may be interrupted; take this into
account. Do we need to fcntl() stderr, or is it enough to close()
it before recreating it?