Put the trash icon on the right for LTR locales, or on the left for RTL.
2004-03-11 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilechooserdefault.c (shortcuts_drag_set_delete_cursor):
Put the trash icon on the right for LTR locales, or on the left
for RTL.
(shortcuts_drag_motion_cb): Cancel the idle handler here as well.
(shortcuts_drag_leave_cb): Test whether the idle is present.
(shortcuts_drag_data_received_cb): Ahem, don't assert here.
Put the trash icon on the right for LTR locales, or on the left for RTL.
2004-03-11 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilechooserdefault.c (shortcuts_drag_set_delete_cursor):
Put the trash icon on the right for LTR locales, or on the left
for RTL.
(shortcuts_drag_motion_cb): Cancel the idle handler here as well.
(shortcuts_drag_leave_cb): Test whether the idle is present.
Matthias Clasen [Thu, 11 Mar 2004 21:10:49 +0000 (21:10 +0000)]
Use the same logic as GtkEntry when calculating border width. (#116368,
Thu Mar 11 22:12:14 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkspinbutton.c (gtk_spin_button_size_request): Use the same
logic as GtkEntry when calculating border width. (#116368, reported
by Morten Welinder)
2004-03-11 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilechooserdefault.c (remove_settings_signal): New
function, copied from gtkpathbar.c.
(gtk_file_chooser_default_dispose): Use remove_settings_signal()
rather than our own code.
(gtk_file_chooser_default_screen_changed): Use
remove_settings_signal(); this should handle per-screen settings
correctly.
* gtk/gtktextlayer.c: (gtk_text_layout_set_buffer): Added
call to gtk_text_layout_update_cursor_line() to solve in
problem of switching keyboard direction at widget creation:
bug #136680
Mark McLoughlin [Thu, 11 Mar 2004 08:19:34 +0000 (08:19 +0000)]
Use the PRELIGHT fg color for drawing the expander when prelit. Fixes
2004-03-11 Mark McLoughlin <mark@skynet.ie>
* gtk/gtkstyle.c: (gtk_default_draw_expander): Use the PRELIGHT
fg color for drawing the expander when prelit. Fixes problem
with the HighContrast theme: bug #136789.
2004-03-11 Federico Mena Quintero <federico@ximian.com>
Fix #135912 and #135913.
* gtk/gtkfilechooserdefault.c
(shortcuts_filter_model_row_draggable): Implement.
(shortcuts_model_filter_new): New function, create a
ShortcutsModelFilterClass derived from GtkTreeModelFilter, so that
we can implement our own DnD interface methods.
(shortcuts_model_create): Use shortcuts_model_filter_new().
(shortcuts_list_create): Enable the shortcuts list as a drag
source.
(file_list_source_targets): Renamed from shortcuts_targets.
(shortcuts_list_create): Change the options for
gtk_drag_dest_set(). Connect to more drag signals so that we can
implement drops by hand.
(shortcuts_drag_data_delete_cb): New handler; just stop the emission.
(shortcuts_drag_motion_cb): New handler; validate the drop.
(shortcuts_drag_leave_cb): New handler; unset the drag_dest_row.
(shortcuts_drag_drop_cb): New handler; just stop the emission and
remove the idle handler for the drag cursor.
(shortcuts_add_bookmark_from_path): Add a position argument,
return a boolean success code.
(shortcuts_drag_data_received_cb): Handle two cases: 1) Insert
the bookmarks at the proper position, rather than always appending
them to the list; 2) alternatively, reorder the bookmarks.
(struct _GtkFileChooserDefault): New field shortcuts_drag_outside.
(shortcuts_drag_motion_cb): Turn off impl->shortcuts_drag_outside.
(shortcuts_drag_leave_cb): Turn on impl->shortcuts_drag_outside in
an idle handler.
(shortcuts_drag_end_cb): New handler; remove the selected bookmark.
Thu Mar 11 01:08:25 2004 Jonathan Blandford <jrb@gnome.org>
* gtk/gtkfilechooserdefault.c (location_entry_create): up the
width of the entry a tad.
* gtk/gtkfilechooserentry.c (gtk_file_chooser_entry_init): use
gtk_entry_completion_selection_changed. Also, unref the
completion as we were leaking a reference to it.
Matthias Clasen [Wed, 10 Mar 2004 22:42:48 +0000 (22:42 +0000)]
Set the background on the action view cell renderer here, not in init, so
Wed Mar 10 23:40:15 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkentrycompletion.c (_gtk_entry_completion_popup): Set the background
on the action view cell renderer here, not in init, so that a) we catch
style changes, and b) we get the real style, not the default one.
Partial fix for #127648, reported by Dave Bordoley.
Matthias Clasen [Wed, 10 Mar 2004 21:28:10 +0000 (21:28 +0000)]
Keep the cell_list in a consistent state while iterating over it, since
Wed Mar 10 22:30:23 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkcellview.c (gtk_cell_view_cell_layout_clear): Keep the
cell_list in a consistent state while iterating over it, since
clear_attributes() also iterates over it. (#136585, Morten Welinder)
Mark McLoughlin [Wed, 10 Mar 2004 19:11:59 +0000 (19:11 +0000)]
don't propagate the expose to the label. The expose handler for
2004-03-10 Mark McLoughlin <mark@skynet.ie>
* gtk/gtkexpander.c: (gtk_expander_expose): don't propagate
the expose to the label. The expose handler for GtkContainer
already does that. Fixes bug #136719. Reported by Dennis
Cranston, exact cause nailed down by Owen.
Always check to see if the shortcuts exists. We don't want to put invalid
Wed Mar 10 00:10:47 2004 Jonathan Blandford <jrb@gnome.org>
* gtk/gtkfilechooserdefault.c (shortcuts_insert_path): Always
check to see if the shortcuts exists. We don't want to put
invalid dirs in the shortcuts pane.
Matthias Clasen [Wed, 10 Mar 2004 00:46:51 +0000 (00:46 +0000)]
Fix #136614 in a better way:
Wed Mar 10 01:49:27 2004 Matthias Clasen <maclas@gmx.de>
Fix #136614 in a better way:
* gtk/gtkoptionmenu.c (gtk_option_menu_init): Undo the last change.
* gtk/gtkbutton.c (struct _GtkButtonPrivate): Add a flag, align_set.
* gtk/gtkbutton.c (gtk_button_init): Initialize align_set to 0.
* gtk/gtkbutton.c (maybe_set_alignment): Rework to only set the
alignment if priv->align_set is set.
* gtk/gtkbutton.c (gtk_button_set_alignment): Set align_set to 1.
Encapsulate all of the information about a button in a struct instead of
Tue Mar 9 16:19:09 2004 Jonathan Blandford <jrb@gnome.org>
* gtk/gtkpathbar.c (struct _ButtonData): Encapsulate all of the
information about a button in a struct instead of ugly
g_object_set_data.
(gtk_path_bar_size_request): Use ButtonData.
(gtk_path_bar_update_slider_buttons): ditto
(gtk_path_bar_size_allocate): ditto
(gtk_path_bar_remove): ditto
(gtk_path_bar_forall): ditto
(gtk_path_bar_scroll_down): ditto
(gtk_path_bar_clear_buttons): ditto
(button_clicked_cb): ditto. Also, add an ignore_changes variable
(button_data_free): destroy ButtonData
(update_button_appearance): Use ButtonData
(make_directory_button): ditto
(gtk_path_bar_check_parent_path): ditto
(_gtk_path_bar_set_path): ditto
2004-03-09 Federico Mena Quintero <federico@ximian.com>
Fix #136533.
* gtk/gtkfilechooserdefault.c (shortcuts_reload_icons): New
function.
(check_icon_theme): New helper function, installs a handler for
changes in the icon theme.
(gtk_file_chooser_default_style_set): Use check_icon_theme().
(gtk_file_chooser_default_screen_changed): Use check_icon_theme().
(gtk_file_chooser_default_dispose): Disconnect from GtkSettings.
(change_icon_theme): New function, updates impl->icon_size and
reloads the icons.
(struct _GtkFileChooserDefault): New field settings_signal_id.
(struct _GtkFileChooserDefault): New field icon_size.
(shortcuts_insert_path): Use impl->icon_size.
(list_icon_data_func): Likewise.
Stop the emission so that GtkTreeView's handler won't try to poke the
2004-03-09 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilechooserdefault.c (shortcuts_drag_data_received_cb):
Stop the emission so that GtkTreeView's handler won't try to poke
the filter model. Fixes #136127.
Soeren Sandmann [Tue, 9 Mar 2004 01:21:45 +0000 (01:21 +0000)]
Add boolean destroying (gtk_menu_destroy): Set priv->destroying
Tue Mar 9 02:11:50 2004 Soeren Sandmann <sandmann@daimi.au.dk>
* gtk/gtkmenu.c Fix bug 136446.
(struct _GtkMenuPrivate): Add boolean destroying
(gtk_menu_destroy): Set priv->destroying
(gtk_menu_remove): don't update the table information when the
menu is being destroyed.
2004-03-08 Federico Mena Quintero <federico@ximian.com>
Patch "1a" from #136185, by Morten Welinder.
* gtk/gtkfilechooserdefault.c (get_file_info): Take in an argument
that says whether the caller just wants the display name.
(shortcuts_insert_path): We only want the name in the call to
get_file_info().
* gtk/gtkpathbar.c (_gtk_path_bar_set_path): Don't request more
info than needed from the file_folder.
2004-03-08 Federico Mena Quintero <federico@ximian.com>
Fixes #136105.
* gtk/gtkfilechooserembed.h (struct _GtkFileChooserEmbedIface):
Added an ::initial_focus() method.
* gtk/gtkfilechooserembed.c
(_gtk_file_chooser_embed_delegate_iface_init): Set the
initial_focus method.
(delegate_initial_focus): Implement.
(_gtk_file_chooser_embed_initial_focus): New function.
Return a boolean success code. (location_popup_handler): Refocus the file
2004-03-08 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilechooserdefault.c (update_from_entry): Return a
boolean success code.
(location_popup_handler): Refocus the file chooser if appropriate.
Fixes #135905.
(save_widgets_create): Don't set the text of the save_folder_label
here.
(update_appearance): Set the text here as appropriate for the save
mode. Also fixes #136387.
(update_appearance): Don't show the Create Folder button in
SELECT_FOLDER mode.
(update_appearance): Show the extra widget in all Save modes
correctly.
Owen Taylor [Mon, 8 Mar 2004 18:39:44 +0000 (18:39 +0000)]
Don't call g_signal_handler_disonnect() if priv->model is NULL. (#136551,
Mon Mar 8 11:57:27 2004 Owen Taylor <otaylor@redhat.com>
* gtk/gtkcombobox.c (gtk_combo_box_unset_model): Don't
call g_signal_handler_disonnect() if priv->model is
NULL. (#136551, Damon Chaplin)
* gtk/gtkcombobox.c (gtk_combo_box_model_row_inserted):
Back out code to set the active item when the first
item is added to the model; this causes problems for
GtkComboBoxText. (#136535)
new function to consolidate creating the path_bar.
Mon Mar 8 04:50:12 2004 Jonathan Blandford <jrb@gnome.org>
* gtk/gtkfilechooserdefault.c (create_path_bar): new function to
consolidate creating the path_bar.
(gtk_file_chooser_default_set_current_folder): no longer need to
pass in the filesystem.
* gtk/gtkpathbar.h: Removed unused set_pixbuf functions in favor
of just setting the filesystem.
* gtk/gtkpathbar.c (gtk_path_bar_finalize): Free root path and
home_dir.
(get_button_image): Add images to path_bar.
(update_button_appearance): use images
(make_directory_button): Clasify buttons based upon location.
(_gtk_path_bar_set_path): no longer need a file-system. Also, add
rerooting, #135845, #135914
* tests/testfilechooser.c: Fix reused error handling.