1998-03-12 Federico Mena Quintero * gmc-chargrid.c: Changed the struct attr with pointers mess with something saner. Added an in_resize flag to avoid calling our internal signal handlers recursively. (gmc_char_grid_draw): Added proper draw handler for our case; the widget's window does not fill its allocation. (paint): New wrapper for update_region(); it converts window coordinates to row/column character coordinates. (gmc_char_grid_expose): Use paint(). 1998-03-11 Federico Mena Quintero * gmc-chargrid.c (update_strip): Doh. Fixed painting of background rectangles. (gmc_char_grid_expose): Fixed off-by-one errors in area calculation. Ripped off the code from gtkterm to do this :-) (free_attrs): New internal convenience function. Thu Mar 12 00:08:06 1998 Miguel de Icaza * gview.c (view_percent): Added status display. Wed Mar 11 22:35:02 1998 Miguel de Icaza * gwidget.c (entry_release): Now the WEntrys track the current selection.p (x_update_input): Repaint the widget after changing the position. * gscreen.c (x_fill_panel): Remember the selected item on the panel before filling it up, as gtk_clist emits a select_item signal when filling it up, which changes the current selection (and thus some routines that invoke the reload panel option fail). (create_popup_submenu): Implement context sensitive menus (regular files, and symlinks). (panel_realized): Use a different icon when we are dragging a group of files. (panel_artificial_drag_start): Add Elliot's Artificial drag start support. 1998-03-11 Federico Mena Quintero * gmc-chargrid.c (gmc_char_grid_get_size): New public function. (gmc_char_grid_put_text): New public function. It is the same as gmc_char_grid_put_str, but can take any arbitrary string plus its length. (gmc_char_grid_put_char, gmc_char_grid_put_str, gmc_char_grid_put_text): These functions now take a background pixel parameter --- the GmcCharGrid widget now supports fg/bg attributes. * gmc-chargrid.h: Changed colors field to attrs. * 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. Tue Mar 10 23:46:29 1998 Miguel de Icaza * gscreen.c (x_adjust_top_file): We no longer adjust the top displayed filename. (panel_build_selected_file_list): Fix for the transfered data. (panel_drop_data_available): Now drop support uses the new coords.x and coords.y fields from the DropDataAvailableEvent to find out which directory receives the drop. * glayout.c: added: configure_box, configure_vfs (get_other_type): Return the correct value. 1998-03-10 Federico Mena Quintero * gscreen.c (panel_file_list_size_allocate_hook): Now we connect_after to the size_allocate signal and block the handler. Things are still not perfect, though. * gtools.c (message): Added return NULL. This needs to be fixed. (translate_gdk_keysym_to_curses): FIXME: Replace KEY_BACKTAB by '\t' while KEY_BACKTAB is added somewhere else. (translate_gdk_keysym_to_curses): return -1 as last resort. * glayout.c (get_current_index): Add g_assert_not_reached() for fatal case. * gmenu.c (menubar_new): Cast g_menubar to unsigned long. * gwidget.c (x_create_input): Cast entry to GTK_OBJECT. * gkey.c (find_select_closure_callback): Fix = -> == typo. Tue Mar 10 00:10:32 1998 Miguel de Icaza * gscreen.c (panel_drop_data_available): Now drop support uses the new coords.x and coords.y fields from the DropDataAvailableEvent to find out which directory receives the drop. * gwidget.c (x_radio_focus_item): Add support for focusing radio buttons. Mon Mar 9 15:12:00 1998 Miguel de Icaza * gtools.c (translate_gdk_keysym_to_curses), dlg.c (dlg_key_event): Support for backtab. * gwidget.c: highlight properly the focused radio entry. * gmain.c (x_init_dlg): After setting up the X widget, set the Gtk focus to h->current; 1998-03-09 Federico Mena Quintero * gscreen.c (x_panel_select_item): Set the colors of the row. * gmain.c (xtoolkit_init): Changed gnome_init() to new version. (xtoolkit_init): Call gnome_init() properly. Also, return 0. Sat Mar 7 15:24:49 1998 Miguel de Icaza * gwidget.c (entry_click): Focus the entry on clicks. Fri Mar 6 20:50:19 1998 Miguel de Icaza * gmain.c (create_panels): New per-port variable, used to flush all of the pending X events. (x_set_idle): Implement idle functions, now the find command works properly. * gwidget.c (x_create_radio): Connect to the "toggled" signal to keep track of the radio button. (listbox_select): callback for the select and double click actions. (x_update_input): This can be invoked before the widget X resources have been allocated. Take care of this. (x_create_input): update the cursor position as well. (x_list_insert, x_create_listbox, x_list_delete_nth, x_listbox_select_nth): implement the Listbox widget. * gconf.h: New configuration options: PORT_HAS_PANEL_ADJUST_TOP_FILE and PORT_HAS_PANEL_RESET_SORT_LABELS 1998-03-06 Federico Mena Quintero * gmain.c (get_color): Make it use GdkColorContext correctly. * gscreen.c (panel_create_filter): The filter control is now a nice GnomeEntry. It does not work due to gmc trapping key events; I'll look into it tomorrow. (internal_select_item): Fixed broken behavior. Now uses GtkCList properly. default_filters: new structure with pre-defined glob patterns. This is actually broken, because it will only work when easy_patterns is enabled. I have to figure a way to make it work with regexp mode as well. Thu Mar 5 23:54:58 1998 Miguel de Icaza * gdesktop.c (drop_on_panel): New function; Used by the directory icons and by regular panels to support drag targets; * gscreen.c (panel_drop_data_available): Performs the drop action on a panel. It needs fixing, as the DropDataAvailabelEvent does not provide any information as to where the drop actually happened. (fixed_gtk_widget_dnd_drag_set, fixed_gtk_widget_dnd_drop_set): Only set the main window of the clist to be the source/target of the drag and drop code. The little square at the end did not make much sense as a drop/drag spot. 1998-03-04 Federico Mena Quintero * gmain.h: Added prototype for x_filter_changed(). Added #include "panel.h". * gconf.h (PORT_HAS_FILTER_CHANGED): New flag for conditional compilation. Wed Mar 4 22:43:00 1998 Miguel de Icaza * gtools.c (query_dialog): Rewritten to use the MC dialog/widget code. * gutil.c (my_system), acconfig.h: By default gnome will not have a subshell (at least for now) and will now exec everything asyncronously by default. * gscreen.c: Exactly what was I thinking when I used the g_panel_contents structure will remain a mistery for future programming psycologists. It was a huge mistake. * gdesktop.c: Use the new icon/text display routine from Federico. Tue Mar 3 21:03:52 1998 Miguel de Icaza * gmain.c (x_destroy_dlg): Call gtk_grab_remove when destroying the dialog. * gmain.c (x_focus_widget): Handle special case of toplevels. 1998-03-04 Federico Mena Quintero * gscreen.c: Some hackish changes to work around idempotence bugs in gtk_clist_select_row().