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.
* 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.
* 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.
* 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.
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.
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.
* 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 :)
* gicon.h (gicon_image_to_name): Added prototype for
gicon_image_to_name().
* gicon.c (gicon_get_icon_for_file):
(gicon_get_icon_for_file_speed): Added a "directory" argument.
It is needed because the file_entry structure only contains the
pruned filename, and we need the complete name for the metadata
functions.
* gdesktop.c (desktop_icon_info_new): Pass the directory to
gicon_get_icon_for_file_speed().
* gpageprop.c (item_properties): Build the directory name and pass
it to gicon_get_icon_for_file_speed().
* gscreen.c: Do not #include "directory.xpm". Do #include "setup.h".
Removed unused function button_switch_to().
* gscreen.c (panel_fill_panel_icons): Pass the directory to
gicon_get_icon_for_file().
* gscreen.c (panel_create_tree_view): Allow button 2 to start the
drag as well.
(panel_clist_scrolling_is_desirable): Make both scrolling
thresholds consistent. Also, do not allow scrolling past the
correct limit.
(panel_icon_list_scrolling_is_desirable): Likewise.
(panel_tree_scrolling_is_desirable): Likewise.
(panel_clist_scroll): Do not allow scrolling past the correct limits.
(panel_icon_list_scroll): Likewise.
(panel_tree_scroll): Likewise.
Now, to figure out a smart way of storing those on the desktop. As,
the obvious filename ~/desktop/http://www.gnome.org does not work ;-)
Should I perhaps encode the /?
Miguel.
* gdesktop.c (icon_event): Rewrote event handling for icons on the
desktop. This function handles button presses and releases and
does some anal-retentive checking to avoid stuck pointer grabs.
(icon_event_after): New fallback function for button presses.
This is only called when an icon is being edited and the user
clicks outside the icon's text item, indicating that editing
should be accepted and terminated.
(selection_stopped): New callback used to re-install the mouse
grab once the icon text item stops selecting text.
* gdesktop.h (DesktopIconInfo): Removed the finishing_selection
flag now that the event handling code is cleaned up.
* gtools.c (query_dialog): Fix the new version of this. It was
overwriting memory all over.
* gdialogs.c (): Use GNOME stock; Fill in some FIXME strings.
(file_progress_real_query_replace): Use the formatted
message.
* gdesktop.c (select_range): Fixed selection of ranges where the
starting and ending icons are in the same vertical or horizontal
slot.
(reload_desktop_icons): Fixed incorrect usage of
g_list_remove_link(). Also, moved the functionality from the old
load_desktop_icons() here. Now all icons are always loaded
efficiently, and there is no need for the "incremental" flag.
(desktop_icon_info_delete): Delete the icon position information.
* gmetadata.c (gmeta_del_icon_pos): New public function to delete
the icon position information from a file.
1998-12-29 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gdesktop.c (desktop_icon_delete): New function, used for
dicon_delete.
(load_desktop_icons): Implemented the incremental reloading of
desktop icons. This should make the code much nicer.
(reload_desktop_icons): Call x_flush_events to force a display at
that point.
* gpopup.c (dicon_delete): Implement this operation.
(desktop_icon_execute): Use the existing implementation for
launching desktop icons instead of a new hacked up version
(desktop_icon_actions): Until copy/move is implemented, do not
even list them to the user.
* gdesktop.c (create_desktop_dir): No trashcan setup until it
works.
* gscren.c (panel_widget_motion): Use button 2 for dragging and
asking.
Documentation update.
1998-10-30 Miguel de Icaza <miguel@nuclecu.unam.mx>
* fish.c (command): Replace vnsprintf with g_strdup_vprintf. This
is both safe and more correct, as there is no limit on the
pathname.
* ftpfs.c (command): Same as above.
* util-alone.c (print_vfs_message): Same as above.
1998-10-30 Miguel de Icaza <miguel@nuclecu.unam.mx>
* layout.c (print_vfs_message): Use g_snprintf instead of
vnsprintf.
The VFS code can now be used by other applications (if you compile the
libvfs.a target and link against this).
Syntax has changes internally from the url-like syntax to a new syntax
that does not have ambiguities. A default conversor for the new syntax
will be provided in the future, also dealing with the user ~/.mc/ext files
is currently in a non-optimal state.
Keep an eye on this mailing list.
Miguel.
* gdesktop.c (desktop_create_directory_entry): Fix, make a
g_strdup copy of the name. Fixes bug report #78.
(desktop_icon_context_popup): Simplified this routine as we are
using file_popup now anyways.
1998-05-22 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gwidget.c (x_create_input): Disable the use of the GNOME entries
for now, as they are very slow. We need to figure out what is
wrong with this.
With this change, dialog boxes close quickly instead of taking
ages to close.
* gscreen.c, gdesktop.c (file_popup_add_context, file_popup):
Share the context menu code in gdesktop.c and gscreen.c. The
desktop pop up menus now include all of the stuff that would have
appeared in the Panel.
* gdesktop.c (desktop_icon_remove): Remove the file associated
with this desktop entry if it is on the ~/desktop directory.
- We now provide both url:ALL and file:ALL drag types. This
allows applications that are not vfs-aware (all of them
right now :-) to work even if the files dragged are from a
remote site.
If the files are remote, and the target only accepts
file:ALL, a temporary file is created (or files, if multiple
files are dragged) and the names of the temporary file names
are transfered.
- Added ABOUT-NLS file :-)
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.
- Fix for the gmc crashes when no window is open and you
start a program.
- Bad attempts at fixing the sigwinch propagation.
- Internationalization fixes from Alex (ru.po and
bunch of updates to the text mode edition to deal
wiht this).
Miguel.
1998-05-04 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gwidget.c (x_update_input): Keep the cursor always visible.
* gview.c (view): Use a buttonbar widget.
* gwidget.c (buttonbar_clicked): Provide a trivial implementation
of the buttonbar that only responds to key sequences.
* gmain.c (dialog_panel_callback): Call midnight_callback to get
the main bindings working.
* gdesktop.c (perform_drop_manually): Use p to walk the dropped
data. This is an important bug fix.
* gmain.c (idle_destroy_window), main.c: Session management now
supports not showing a toplevel window (in case all of the windows
were closed).
1998-05-04 Miguel de Icaza <miguel@nuclecu.unam.mx>
* view.c (view_quit_cmd): Use dlg_stop.
* main.c (ctl_x_cmd): Implement ctl-x handling as a state of the
key press events. Drop the usage of mi_getch to acomplish this
task.
(midnight_callback): Deal with the current map depending on the
c-x state.
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.
fix a bug in the panel-widget selection.
i18n changes from Andrej Borsenkow.
Menus renamed, better texts -- thanks Havoc.
lav's fixes for curses compilation.
Miguel
with with this commit. This also addresses a bunch of the comments
from the status.shtml from DrMike.
Miguel.
1998-04-15 Miguel de Icaza <miguel@nuclecu.unam.mx>
* screen.c (GT): Assign two spaces for the minimum size of the
"type" field for the GNOME edition. This gives some extra space
for the icon that gets displayed.
* dlg.c (remove_widget): New function: used to remove a widget
from an existing Dlg_head;
(destroy_widget): Destroy a specific Widget.
(add_widgetl): Extended to deal with the fact that a running
Dlg_head can become empty.
* panelize.c (l_call): Update the input line every time the user
selects the entry with the mouse (pretty common in the gnome
edition).
* hotlist.c (add_new_group_input): Removed an extra field that was
causing problems.
* find.c (find_parameters): Tree button is gone for gnome until we
get the tree function working on gnome.
* cmd.c (save_setup_cmd): Per Elliot's suggestion, do not pop up a
dialog box to inform the user about the saved setup.
1998-04-15 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gcmd.c (gnome_close_panel): Implement the close-the-panel
functionality.
* gscreen.c (x_panel_destroy): Implement the gnome mode way of
destroying the panel.
* gview.c (view_status): Add cacheing of the information status,
to avoid excessive flicker. It would be better if GtkLabel did
not flicker though.
(scrollbar_moved): Scroll correctly. We now use
view_move_backward and view_move_forward to adjust the scrollbar
contents. This displays the scrollbar correctly.
* gwidget.c (x_listbox_select_nth): This may be invoked before the
widget has been created, work around this problem.
* gscreen.c (show_dir): Set the title bar for the window to the
current directoy. Reported by both Mike and Elliot.
* layout: Updated to the new hotlist dialog box.
* src/hotlist.c: changes to hotlist boxes i18n.
* src/panelize.c: changes to panelize boxes i18n.
* src/wtools.c (query_dialog): Take care about possible '&' in
button names while calculating window sizes and button positions.
- Double click should work.
- Dragging to other panels shoudl work
- Scrollbar in the viewer
- Entry widgets get their text selected at startup
- Prompts for command if default action does not exist for a filename
- Updated spanish translation.
Plus some other bugs I fixed.
Miguel
* src/find.c: changes to find_parameters/find_file i18n.
* src/widget.c: new function introduced, button_scan_hotkey();
button_new() and button_set_text() fixed to use mentioned function.
* src/key.[ch], src/dlg.c: changes to make recognition of ESC char as
ALT(c) possible for 8-bit chars. (By replacing 'A'/'Z' comparisons with
call to isalpha() in the way proposed by Norbert).
* src/boxes.c: changes to display box i18n
* src/learn.c: changes to learn key dialog i18n
I have found the problem with all of those internationalization
problems that have been plagging us:
Using AM_whatever_GETTEXT Is not everything that is required:
we need to call this macro and the magic AC_LINK macro. This macro
creates a link in intl from libgettext.h to libintl.h. So, we should
be adding -I$builddir/intl and -L$builddir/lib options to the relevant
variables if USE_NLS is set to yes.
We need to propagate this to the gnome code.
Miguel.
* menu.c (destroy_menu): Implement destroy_menu for all of the
ports as a routine that frees the menu entries if
internationalization has been enabled.
* wtools.c (quick_dialog_skip): Do not i18n any string that is empty.
Sun Mar 29 23:02:09 1998 Alex Tkachenko <alex@bcs.zp.ua>
* src/menu.[ch]: new member to menu_entry (hot_pos) introduced to make
internationalized version of menu use externally defined hotkeys
(denoted with preceding &). create_menu() fixed to load intl text of
the entries. Some fixes around menu.c to enable usage of reloaded
hotkeys.
* main.c, editmenu.c: menu initialization code fixed to conform new
menu structure. editmenu init code includes N_(..) now.
* menu.c, layout.c, editwidget.c: bar menu items displacement is made
dynamically upon initialization and window size changes. Mouse event
processing is fixed accordingly.
Sat Mar 28 13:18:36 1998 Alex Tkachenko <alex@bcs.zp.ua>
* src/screen.c: (repaint_file) last patches to format_file() in the
same file broke appearance of panels in brief mode -- fixed.