* 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.
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!).
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?
* 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.
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.
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.
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.
the New-> menu item now works.
Installing a .desktop item in ${prefix}/share/mc/templates will now put
it in the New item menu. The exec field of it will create the new item,
so choose it correctly.
Next on the TODO; rehash the toolbars.
* glayout.c: now open the new (non-functional) dialog box. If you
want functionality, I suppose you could put the old one back in.
I'll work on it more this weekend, though, so hopefully it can get
back to the old state relatively quickly.
* gprefs.c (gnome_configure_box): New function, new file, first
start at unified properties box.
even recognize it.
1998-12-16 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gdialogs.c (create_op_win): Remove second spurious packing.
(create_op_win): OP_MOVE uses the same stuff OP_COPY does. Fix
this.
(file_progress_show_target): More compliant to the original
functions.
(file_progress_show_source): More compliant to the original
functions.
* gdesktop.c (create_desktop_dir): Fix mem leak.
Miguel.
* gicon.c (gnome_file_entry_color): If we do not have permissions
for this directory, indicate this with a special icon.
* gscreen.c (panel_icon_list_select_icon): Middle button opens a
new panel on a directory.
* gscreen.c (load_imlib_icons): Make it use the new gicon files.
* gicon.c, gicon.h: New files: they keep an image cache and
provide the right icon to use based on the filename. They use the
GNOME metadata to fecth the "icon-filename" and "icon-inline-png"
keys.
* gdialogs.c (file_mask_dialog): Commented the help messages until
the warnings are figured out.
* glayout.c (file_menu): Use view_cmd and view_simple_cmd in the
menu instead of panel_action_view and
panel_action_view_unfiltered, respectively.
* gpopup.c (create_regexp_actions): Create the menu items using
gnome-app-helper, for visual consistency.
(create_actions): Likewise. Also, fixed S_ISLNK() confusion.
(get_label_text): Extract the label from the GnomeUIInfo item in
an ugly way.
- GNOME edition now compiles without any trace of the text mode
dependencies.
- We no longer link with libraries we do not use (crypt, gpm), this
fixes the recent bug reports.
- More tree updates, enhancements.
Miguel.
* Makefile.in (OOBJS): Add filegui.o back until the GTK-specific
filegui is written.
* gdesktop.c (check_window_in_one_panel): Provide better error
messages here for debugging purposes.
Disable stubs for filegui.c until they are actually implemented.
I need to debug stuff.
* gdnd.c (find_panel_owning_window): Use the new
gtk_drag_get_source_widget function to find out reliably if the
drag source happens to be in this application.
* gscreen.c (x_create_panel): Set the usize for the ministatus
label to be (0, -1), this means: do not request any horizontal
space, use any vertical space given.
Put the ministatus inside an hbox, and use
gtk_container_set_resize_mode in this hbox to stop any queue
events from being propagated up in the hierachy of widgets
This kills all of the CList/GnomeIconList/Scrollbar/Toolbar
flickering now.
* gdesktop.c (desktop_icon_info_event): Run the popup menu for the
icons in the desktop.
* gpopup.[ch]: New files that take care of the popup menus for
files in the desktop and in the panels.
* Makefile.in: Added gpopup.[ch] to the list of sources.
* Makefile.in (OOBJS): Do not link ../src/filegui.o. GMC does not
link right now, but I guess I'll add stubs until we finish with
the dialog boxes.
* gdnd.c: #include <sys/types.h>
* Makefile.in (checklinks): Fix sourcelinks -> maksourcelinks typo.
Ok, finally splitted the GUI code that dealt with the file operations into
a separate file. It is now possible to write a native Gtk version of this.
Until the Gtk-native version is done, the code in mc/gnome/ is linking with
filegui.c.
Miguel
* 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.
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.
We now just need to get some nice icons.
I am also revamping a little the toolbar, to have a switch to
icon mode and switch to listing mode icons. To make people
happy. More on this tomorrow.
Miguel.
1. My icons suck.
2. Keyboard handling is not finished.
3. Save current-mode, load current-mode is not
implemented yet.
4. Listing mode is not working, as I have hardcoded
the icon view for now.
5. Will finish this tomorrow. Not much is missing.
6. No, this is not the final implementation.
7. Yes, later I will put some scheme for using
more icons as discussed in the ethernal "Re: Icons"
thread.
Miguel.
1998-05-07 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gscreen.c (panel_icon_list_realized): Add drag and drop support
to the icon list view;
1998-05-06 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gscreen.c (panel_fill_panel_icons): New function: Fill up the
icon list.
(x_create_panel): Change in the approach: we create both of the
widget views at creation time and we now carefully show every
component. I attach everything to the table, but not necesarly
show it.
panel, the old way of using it was an historic relic.
- This now works properly with the GNOME edition.
- Finished/fixed the implementation of the desktop-remove-icon
functionality.
- Raster's new multi-ok window. For some reason this is not getting
loaded. I am compiling gdb 4.17 now, as it is better for egcs
output.
Miguel.
* gcache.c: Added an Image cache for all of the imlib-loaded
images to avoid destroying/reloading the images.
* gdesktop.c, gtrans.c: Use the image cache.
* gnome/gtools.c (translate_gdk_keysym_to_curses): renamed KEY_BACKTAB
to KEY_BTAB (the name ncurses uses)
* gnome/Makefile.in: Install the icon-files and the layout-file from $srcdir.
* autogen.sh: added support for builddir != srcdir
* doc/Makefile.in: The manual pages are generated files and
located in the builddir and not in the srcdir.
* src/find.c (find_file): Use the same hotkey for the panelize button
as we use with the external panelize command.
* src/myslang.h: --with-ncurses didn't compile: renamed
KEY_BACKTAB to KEY_BTAB (the name ncurses uses)
* src/dlg.c (dlg_key_event): likewise
* src/tkmain.c (x_init_dlg): added dummy function to make it
compile
* vfs/Makefile.in, extfs/extfs.ini, extfs/hp48: New external
filesystem to view and copy files to/from the HP48.
Now it should be possible to build and install gnome edition with
builddir != srcdir.
* gprop.h: New files gprop.[ch]. These create the property pages
for desktop entries.
* Makefile.in: Added gprop.[ch] to the rules.
* glayout.c: Put gnome_about_cmd as a callback for the About menu item.
Warning in gnome/gmain.c suppressed
"VERSION." is included instead of "VERSION" for Borland C++, otherwise it assumes VERSION.h
Mouse is not enabled for Windows NT edition
Warning about missing hotlist was shown incorrectly on NT and Linux console
Today:
- New Menu layout! Weeee!.
- More mc commands exposed to the GNOME edition.
- Use gnome stock pixmap buttons.
- Use gnome stock for the menus.
- Now it is possible to quit the program :-)
- Various other bits.
If you can test it, I would appreciate it.
-Miguel.
* gmc-chargrid.h:
* gmc-chargrid.c: New Character Grid widget for the file viewer.
This is a very lean and fast widget for displaying a grid of
monospaced characters. Just like a crippled-down terminal.
- Layout file is now installed and used properly. That means
that you can actually run the code.
- Buttons actually work in the GtkTed and the regular use
thanks to GrossHack(tm).
- File operations are working! Weee! Copy and Move work as
well as the warning dialog boxes for all kind of stuff;
- Progressive display is pretty cool, you have to see it.
- Dragging files to desktop icons now allows you to copy/move
(supported both the remove and local cases, with the obvious
optimizations).
Still missing:
- Using Elliot's shaped windows for dnd.
- Allowing the arbitrary placement of desktop icons by dnd.
- dropping files into .desktop files.
- drop support on the panels (right now they only work right
as drag sources).
Weeeeeee! Total excitement. Total and absolute.
Miguel.