Thu May 6 23:52:13 2004 Matthias Clasen <maclas@gmx.de>
Merge from 2.4:
* gtk/gtkmenuitem.c (gtk_menu_item_select_timeout): Also
popup the submenu for items in torn off menus. (#122051)
2004-05-06 Sven Neumann <sven@gimp.org>
* gtk/gtkexpander.c (gtk_expander_size_allocate): in RTL mode,
position the title lable next to the arrow just as we do for LTR
rendering. Fixes bug #141825.
2004-05-06 Matthias Clasen <mclasen@redhat.com>
* docs/RELEASE-HOWTO: Document the new policy of
bumping version numbers after release.
* configure.in: Bump version number to 2.5.0.
Thu May 6 00:24:11 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkactiongroup.h:
* gtk/gtkactiongroup.c (gtk_action_group_translate_string):
New function to translate a string with translate_func.
(#135740)
2004-05-05 Elijah Newren <newren@math.utah.edu>
Changes to support do-not-focus-on-map hint in conjunction with
_NET_WM_USER_TIME (#115650):
* gdk/gdkwindow.h (struct _GdkWindowObject): Add a new boolean
field focus_on_map
* gdk/gdkwindow.h (gdk_window_set_accept_focus): New function to
set it.
* gtk/gtkwindow.[hc]: Add a boolean property "focus_on_map"
and gtk_window_get_focus_on_map() and gtk_window_set_focus_on_map().
* gdk/win32/gdkwindow-win32.c (gdk_window_new):
* gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
* gdk/x11/gdkwindow-x11.c (gdk_window_new):
Initialize the focus_on_map field to TRUE.
* gdk/win32/gdkwindow-win32.c (gdk_window_set_focus_on_map):
* gdk/linux-fb/gdkwindow-fb.c (gdk_window_set_focus_on_map):
* gdk/x11/gdkwindow-x11.c (gdk_window_set_focus_on_map):
* gdk/x11/gdkwindow-x11.c (setup_toplevel_window):
Implementations for the various backends. The Win32 and linux-fb
implementations set the focus_on_map field, but don't use it yet
to actually implement noinput windows. The X implementation sets
_NET_WM_USER_TIME to 0 if focus_on_map is FALSE (see the EWMH).
* gdk/x11/gdkwindow-x11.h:
* gdk/x11/gdkevents-x11.c (set_user_time):
* gdk/x11/gdkinput-x11.c (_gdk_input_common_other_event):
* gdk/x11/gdkwindow-x11.c (gdk_x11_window_set_user_time):
s/_gdk_x11_window_set_user_time/gdk_x11_window_set_user_time/,
since we want that function to be part of the public API.
2004-05-04 Federico Mena Quintero <federico@ximian.com>
Fixes#139562, based on a patch by Christian Neumair.
* gtk/gtkfilechooserdefault.c (struct _GtkFileChooserDefault): Add
a filter_combo_hbox field to contain the filter combo.
(show_filters): Show/hide the filter_combo_hbox.
(create_filename_entry_and_filter_combo): Removed.
(file_pane_create): Create the filter_combo_hbox here.
2004-05-04 Matthias Clasen <mclasen@redhat.com>
* modules/input/gtkimcontextxim.c: Fix the recent
string_conversion_callback change to work on
Solaris. (#141190, Padraig O'Briain)
2004-05-03 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkselection.c: Make the chunk size for
incremental transfers depend on the maximal request
size, capped at 256k. This should allow most selections
to be transferred nonincrementally, avoiding many
roundtrips and protocol overhead.
2004-05-03 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkuimanager.c (gtk_ui_manager_class_init): Call
g_signal_new() correctly and initialize the signal fields. Fixes
#141749; patch based on Michael Natterer's.
* gtk/gtkselection.c (_gtk_selection_request): Fix
a debug message to show correct information.
(_gtk_selection_incr_event): Make INCRemental transfer
of MULTIPLE targets work. This was broken since 1997!
2004-05-02 Hans Breuer <hans@breuer.org>
* gdk/win32/gdkdrawable-win32.c (draw_segments) : don't
modify the passed in GdkSegment(s) in place, we may get
them again to draw at the same place. Fixes bug #129095,
bug #137177, ...
(draw_segments) draw the end pixel again to get the
pixmap mask right, fixes bug #126710, #130202
* gdk/win32/gdkwindow-win32.c : use SetForegroundWindow,
fixes bug #106013, John Ehresman
* gtk/makefile.msc.in : don't try to link gtk.res but
use gtk-win32.res (as supposed to be fixed below :)
2004-05-01 Hans Breuer <hans@breuer.org>
* tests/Makefile.am : tests/makefile.msc is in CVS for
a long time, finally added to EXTRA_DIST : fixes bug
#141334, John Ehresman
2004-04-29 Federico Mena Quintero <federico@ximian.com>
Fixes#140412.
* gtk/gtkfilechooserdefault.c (remove_selected_bookmarks): New
function; moved the code over from
remove_bookmark_button_clicked_cb().
(remove_selected_bookmarks): Now, getting a non-removable bookmark
is not an error, as we may be called as a result of hitting the
Delete key.
(shortcuts_key_press_event_cb): New handler; delete the bookmark
if the user presses Backspace, Delete, or KP_Delete.
2004-04-29 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkaction.c (closure_accel_activate): Use
_gtk_action_emit_activate() instead of directly
emitting the activate signal. (#141429, Jody Goldberg)
* gtk/gtkactiongroup.c (gtk_action_group_add_action_with_accel):
Warn people when the accelerator can not be
parsed. (#141429, Jody Goldberg)
Thu Apr 29 01:09:50 2004 Matthias Clasen <maclas@gmx.de>
* gdk/gdkdraw.c (_gdk_drawable_get_scratch_gc): Use depth - 1
to index the cached gcs, not depth. (#139494)
2004-04-22 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkuimanager.c (update_node): Make sure the separators
used to demarkate placeholder ends don't show up on
show_all(). (#140496, Murray Cumming)
2004-04-22 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkspinbutton.c (spin_button_at_limit): Make spinbuttons
work with negative increments. (#137975, Tim Gerla)
Wed Apr 21 21:38:03 2004 Soeren Sandmann <sandmann@daimi.au.dk>
* gtk/gtktoolbutton.c (gtk_tool_button_set_label_widget,
gtk_tool_button_set_icon_widget): Remove the old widget from the
tool button before overwriting it with the new widget.
(#140508, Todd Goyen)
2004-04-22 Tor Lillqvist <tml@iki.fi>
Fix the file chooser on Windows. I can't make it misbehave or
crash any more now. But presumably there are still corner cases
not handled. I haven't really checked behaviour of UNC paths, for
instance.
* gtk/gtkfilesystemwin32.c: Accept both backslash and slash in
several places. Use G_IS_DIR_SEPARATOR macro (which could be added
to GLib in 2.6).
(gtk_file_system_win32_get_parent): Like the Unix version, assert
filename is absolute, and avoid one unnecessary string allocation
and freeing.
(canonicalize_filename,gtk_file_system_win32_parse): Handle drive
letters more correctly.
(gtk_file_system_win32_render_icon): Assure correct syntax is used
for root folder of a drive. (#137962, Morten Welinder)
(filename_is_some_root): New function that accepts also root
without any drive specified.
(filename_is_drive_root): Rename from filename_is_root.
* gtk/gtkfilechooserentry.c (completion_match_func): Casefold on
Windows.
2004-04-21 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkentry.c (gtk_entry_completion_timeout): Pop down the
completion window if there are no completions anymore.
2004-04-21 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkentrycompletion.c (_gtk_entry_completion_resize_popup):
Don't call gtk_tree_view_scroll_to_cell() on an empty tree view.
It doesn't like that. (#140642, Christian Persch)
2004-04-20 Matthias Clasen <mclasen@redhat.com>
* gtk/gtktextview.c (gtk_text_view_scroll_pages):
(gtk_text_view_scroll_hpages): Don't scroll to cursor position
if we already have pending scrolls. Bandaid fix for #78513.
2004-04-20 Matthias Clasen <mclasen@redhat.com>
* gtk/gtktextview.c (gtk_text_view_allocate_children): Make
sure anchored children get size allocated, even if the layout
is valid. (#122323, Andrew E. Makeev)
Mon Apr 19 17:59:17 2004 Owen Taylor <otaylor@redhat.com>
* INSTALL.in: Update libpng and libjpeg URLs, remove
note about building without since that's not the normal
case.
Sun Apr 11 09:45:11 2004 Owen Taylor <otaylor@redhat.com>
* gtk/gtkicontheme.c (load_themes): Fix a couple of typos in
handling of SVG/non-SVG unthemed icons.
2004-04-19 Matthias Clasen <mclasen@redhat.com>
* gtk/gtktextbtree.c (_gtk_text_line_previous_could_contain_tag):
Don't stop the iteration up to the tag_root too
early. (#109945, Dongho Shin)
Sun Apr 18 16:59:21 2004 Soeren Sandmann <sandmann@daimi.au.dk>
* configure.in: Don't erase GDK_EXTRA_CFLAGS. Fixes bug 139586,
reported by Pedro RODRIGUEZ, about compilation problems when
Xcursor is installed in a non-standard location.
Sun Apr 18 16:15:15 2004 Soeren Sandmann <sandmann@daimi.au.dk>
Support for _NET_WM_USER_TIME (bug 115650). Patch by Elijah
Newren.
* gdk/x11/gdkwindow-x11.[ch]: Add new internal function
_gdk_x11_set_user_time() to set the _NET_WM_USER_TIME property.
* gdk/x11/gdkdisplay-x11.h (struct _GdkDisplayX11): Add user_time field
* gdk/x11/gdkdisplay-x11.c: Add _NET_WM_USER_TIME to list of
precached atoms.
* gdk/x11/gdkinput-x11.c, gdk/x11/gdkevents-x11.c: Set the
property on user interaction.
2004-04-15 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilesel.c (open_new_dir): Tell the user to use
G_FILENAME_ENCODING, not G_BROKEN_FILENAMES. Fixes#114065.
2004-04-15 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilechooserdefault.c (split_uris): Use a variant of the
code from gtkfilesel.c to parse a "text/uri-list" blob. Fixes
#140126.
2004-04-14 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkcolorsel.c: Add a11y relations between the color
wheel and the spin buttons. (#132745, Padraig, O'Briain)
* gtk/gtkiconfactory.c (gtk_icon_set_render_icon): Document
the meaning of size == -1.
* gtk/gtkwidget.c (gtk_widget_render_icon): Explicitly accept
a size of -1. (#137436, Brian Cameron)
2004-04-14 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkcombobox.c: Make the arrow and separator regular
children of an hbox inside the button, and propagate state
changes from the button to the cell view. (part of the fix
for #138650, should also fix#137535)
* gtk/gtkcellview.c (gtk_cell_view_expose): Pass the PRELIT
state to gtk_cell_renderer_render() when prelighted. (part
of the fix for #138650)
* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_render):
Use PRELIGHT state when appropriate. (part of the fix for
#138650)
2004-04-14 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkcombobox.c (gtk_combo_box_relayout): Don't spit
out warnings if called before the combo box is
realized. (#139742, Philip Langdale)
Tue Apr 13 16:19:23 2004 Jonathan Blandford <jrb@redhat.com>
* gtk/gtkpathbar.c (make_directory_button): patch from Owen to
make the buttons sized by a bold label. This makes the text
'swim' a little, but stops the buttons from resizign, #137210
2004-04-13 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkuimanager.c (get_child_node): Don't crash if a node
has no name.
(start_element_handler): Accept separators without unique
names. (#133302, Anders Carlsson)
* gtk/gtkuimanager.c (node_remove_ui_reference): Don't leak
list nodes. (#138862, Morten Welinder)
2004-04-13 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkactiongroup.c (gtk_action_group_add_action): Document
possible accelerator gotcha when using this function. (#139641,
Christian Persch)
Tue Apr 13 12:24:49 2004 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreeview.c (gtk_tree_view_destroy): remove unused
variable.
(gtk_tree_view_button_press): If we activated the row we don't
want to grab focus back, as moving focus to another widget is
pretty common, #138458
2004-04-12 Matthias Clasen <mclasen@dhcp64-228.boston.redhat.com>
* gtk/gtkcombobox.c (gtk_combo_box_unset_model): Don't unref
model if it is NULL. (#139770)
2004-04-12 Matthias Clasen <mclasen@dhcp64-228.boston.redhat.com>
* gtk/gtktreeview.c (gtk_tree_view_get_cell_area): Typo fix.
* gtk/gtkentrycompletion.c (gtk_entry_completion_init): Don't add
a shadow inside the scrolled window, add it around the vbox.
* gtk/gtkentryprivate.h:
* gtk/gtkentrycompletion.c (_gtk_entry_completion_resize_popup):
Return a boolean indicating whether the popup is positioned above
or below. Scroll the completions to the beginning or the end,
depending on the positioning.
* gtk/gtkentry.c (gtk_entry_completion_key_press): Make keynav
wrap around in the entry completion popup, and allow GDK_UP to
enter the popup. (#137440)
2004-04-12 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkentry.c (gtk_entry_size_request): Make sure the style is
there before using it.
2004-04-11 Hans Breuer <hans@breuer.org>
* gdk/win32/gdkspawn-win32.c : workaround for bug #137496,
the real fix would involve just another small API breakage,
i.e. gdk_spawn_* using GPid not just gint.
* gtk/makefile.msc.in : build gtk-win32.res, not gtk.res
2004-04-10 Tor Lillqvist <tml@iki.fi>
* gdk/win32/gdkkeys-win32.c (gdk_keymap_translate_keyboard_state):
If both Shift and CapsLock pressed, ignore the shift only for
letters (that would have been affected by the CapsLock). (#139095)
* gdk/win32/gdkglobals-win32.c: Disable tablet support by default,
seems to be even buggier now than it used to be. (#138341)
Initialize _gdk_input_ignore_wintab to TRUE.
* gdk/win32/gdkmain-win32.c: Add --use-wintab switch and
GDK_USE_WINTAB environment variable to turn on tablet support.
2004-04-07 Federico Mena Quintero <federico@ximian.com>
Fix#132500.
* gtk/gtkfilesystem.c (gtk_file_system_parse): Ensure that the
passed-in 'str' is not NULL.
* gtk/gtkfilesystemunix.c (expand_tilde): New helper function;
expands "~/" or "~foo/" at the beginning of a filename.
(gtk_file_system_unix_parse): Use expand_tilde() before doing
anything else.
* gtk/gtkfilechooserentry.c
(gtk_file_chooser_entry_maybe_update_directory): Take in a
force_reload argument.
(gtk_file_chooser_entry_changed): If gtk_file_system_parse()
returns an error, set the file_part_pos to -1.
(load_directory_callback): Only populate the model if the
file_part_pos is not -1.
2004-04-05 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilechooserdefault.c (location_popup_handler): Use a
title for SAVE and CREATE_FOLDER modes. Fixes#137272.
2004-04-05 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilesystemunix.c (gtk_file_system_unix_make_path): Look
for G_DIR_SEPARATOR in the display_name, and err out if it is
present; use the same error message as Nautilus. Fixes#136467.
2004-04-05 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilechooserdefault.c (file_pane_create): Make the
new-folder button say "Create Fo_lder" rather than "Create
_Folder", so that the mnemonic doesn't conflict with the "Save in
_folder" label. Fixes#136975.
2004-04-05 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkpathbar.c (_gtk_path_bar_set_path): Ref/sink the
buttons. Also, free them correctly upon failure. Based on a
patch by Morten Welinder, fixes#137956.
Fri Apr 2 17:57:33 2004 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreeview.c (gtk_tree_view_row_inserted): set the height
correctly for fixed height when inserting a node, #138082
2004-04-01 Federico Mena Quintero <federico@ximian.com>
Fix#136077.
* gtk/gtkpathbar.h (struct _GtkPathBarClass): Add a
"child_is_hidden" boolean argument to the "path-clicked" signal.
* gtk/gtkpathbar.c (struct _ButtonData): Added a file_is_hidden
field.
(make_directory_button): Take a file_is_hidden argument; put it in
the ButtonData.
(_gtk_path_bar_set_path): See whether each path component path is
a hidden file.
(gtk_path_bar_class_init): Add the file_is_hidden argument to the
"path-clicked" signal.
(button_clicked_cb): See if the downwards button represents a
hidden file for the file_is_hidden argument in the signal
emission.
* gtk/gtkmarshalers.list: Added a signal type VOID:POINTER,BOOLEAN.
* gtk/gtkfilechooserdefault.c
(gtk_file_chooser_default_select_path): If we fail to switch
folders, don't try to select the path in the file system model.
Also, return the result from _gtk_file_system_model_path_do().
(gtk_file_chooser_default_select_path): Turn on show_hidden in the
file system model if we are asked to select a hidden file.
(path_bar_clicked): Show hidden files based on whether the
immediate downwards folder in the path bar is a hidden file
itself.
(struct _GtkFileChooserDefault): Added fields
browse_files_popup_menu and browse_files_popup_menu_hidden_files_item.
(create_file_list): Set an object data key of
"GtkFileChooserDefault" on the tree view so that we can find the
impl from the popup menu callbacks. Also, hook up to the
"button-press-event" and "popup-menu" signals in the file list to
bring up a popup menu.
(list_popup_menu_cb): New callback.
(list_button_press_event_cb): New callback.
Fix#138763:
* gtk/gtkfilesystemmodel.c
(_gtk_file_system_model_new): Oops, connect_object to
"finished-loading".
2004-03-29 Federico Mena Quintero <federico@ximian.com>
Fix#137520.
* gtk/gtkfilesystem.h (struct _GtkFileFolderIface): Added slots
for an ::is_finished_loading() method and a ::finished_loading()
signal at the end of the struct.
* gtk/gtkfilesystem.c (gtk_file_folder_base_init): Create the
"finished-loading" signal.
(gtk_file_folder_is_finished_loading): New function.
* gtk/gtkfilesystemunix.c
(gtk_file_folder_unix_is_finished_loading): Implement.
* gtk/gtkfilesystemmodel.c (struct _GtkFileSystemModelClass): New
slot for a "finished-loading" signal.
(gtk_file_system_model_class_init): Create the "finished-loading"
signal.
(struct _GtkFileSystemModel): New field
idle_finished_loading_source. We emit the "finished-loading"
signal in an idle if the root folder was done loading right in
_gtk_file_system_model_new(), so that the caller has a chance to
connect to the signal.
(_gtk_file_system_model_new): Connect to the normal signals of the
folder even if the initial _list_children() fails. Also, see if
the folder is finished loading; connect to the "finished-loading"
signal otherwise.
(gtk_file_system_model_finalize): Remove the idle handler.
* gtk/gtkfilechooserdefault.c (set_list_model): Set a busy cursor
and connect to the model's "finished-loading" signal.
(get_toplevel): New helper function.
(error_message): Use get_toplevel().
(trap_activate_cb): Likewise.
(location_popup_handler): Likewise.
(set_busy_cursor): New function.
(browse_files_model_finished_loading_cb): New callback.
2004-03-25 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilechooserdefault.c (check_preview_change): Just use the
file under the cursor; we don't need the logic from
GtkFileSelection after all. Fixes#132255.
2004-03-25 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilechooserdefault.c (location_entry_create): Fill the
location entry with the display name of the file under the cursor
for Open mode, or the typed filename in Save mode.
2004-03-24 J. Ali Harlow <ali@juiblex.co.uk>
* gtk/gtkfilesystemwin32.c
(filename_is_root): Bare drive designators (eg., "c:") are
no longer considered as root filenames. Fixed#137942
2004-03-24 J. Ali Harlow <ali@juiblex.co.uk>
* gtk/gtkfilesystemwin32.c
(gtk_file_system_win32_create_folder): Invert test for error in
mkdir. Fixes#137945
2004-03-24 J. Ali Harlow <ali@juiblex.co.uk>
Fixed#138004 using Federico's code from #132327.
* gtk/gtkfilesystemwin32.c (struct _GtkFileSystemWin32): Add a
folder_hash field to keep a list of live folder objects.
(gtk_file_system_win32_init): Create the folder_hash.
(gtk_file_system_win32_finalize): Destroy the folder_hash.
(gtk_file_system_win32_get_folder): Ref and return an existing
folder if we have it around, otherwise return a new folder object.
(struct _GtkFileFolderWin32): Add a field for the parent file system.
(gtk_file_folder_win32_finalize): Remove the folder from the file
system's hash table.
(gtk_file_system_win32_create_folder): Emit "files-added" on the
newly-created folder's parent. Fixes#138004.
2004-03-24 J. Ali Harlow <ali@juiblex.co.uk>
* gtk/gtkfilesystemwin32.c
(gtk_file_system_win32_get_folder): Test that path is actually
a directory and throw error if not. Fixed bug #137950
2004-03-22 J. Ali Harlow <ali@juiblex.co.uk>
* gtk/gtkfilesystemwin32.c
(gtk_file_system_win32_volume_get_display_name): Ignore empty
volume labels; assume that GetVolumeInformation would fail if
GetVolumeInformationW does; catches a small memory leak;
pass the buffer size to GetVolumeInformationW in wide
characters instead of bytes. Fixes bug #137543
(list_volumes): Cope with the theoretical possibility of
more than 26 logical drives. Fixes bug #137940
(bookmarks_serialize): Now actually removes bookmarks.
Fixes bug #137943
2004-03-21 Tor Lillqvist <tml@iki.fi>
* gtk/gtkfilesystemwin32.c
(gtk_file_system_win32_volume_get_base_path): Include the
backslash. Otherwise gtk_file_system_win32_path_to_uri() returns
NULL for a volume base path, as g_filename_to_uri() requires an
absolute path, and just a drive letter and colon isn't. (#137543)
2004-03-20 Hans Breuer <hans@breuer.org>
* gtk/gtkfilesystemwin32.c : applied the undisputable and
required [due to recent gtkfilesystem internal api semantic
changes] part of patches to fix bug #137543 (Tor Lillqvist,
J. Ali Harlow)
* gdk/gdkevents-win32.c (handle_configure_event) :
(gdk_event_translate), WM_WINDOWPOSCHANGED : initialize
GdkWindowObject::x, y with screen coords to make
gdk_window_get_position () return the right thing and thus fix
drag and drop positioning (e.g. Gimp tabs, fixes bug #137192)
2004-03-19 Federico Mena Quintero <federico@ximian.com>
* Revert the patch to #137520, as 2.4.1 is for conservative bug
fixes only. The patch is attached to the bug report, for
reference.
2004-03-19 Morten Welinder <terra@gnome.org>
* gtk/gtkfilechooserdefault.c
2004-03-19 Morten Welinder <terra@gnome.org>
* gtk/gtkfilechooserdefault.c
(gtk_file_chooser_default_set_current_folder): Test existance of
the path after checking for locality, if needed.
2004-03-19 Federico Mena Quintero <federico@ximian.com>
Fix#137520.
* gtk/gtkfilesystem.h (struct _GtkFileFolderIface): Added slots
for an ::is_finished_loading() method and a ::finished_loading()
signal at the end of the struct.
* gtk/gtkfilesystem.c (gtk_file_folder_base_init): Create the
"finished-loading" signal.
(gtk_file_folder_is_finished_loading): New function.
* gtk/gtkfilesystemunix.c
(gtk_file_folder_unix_is_finished_loading): Implement.
* gtk/gtkfilesystemmodel.c (struct _GtkFileSystemModelClass): New
slot for a "finished-loading" signal.
(gtk_file_system_model_class_init): Create the "finished-loading"
signal.
(struct _GtkFileSystemModel): New field
idle_finished_loading_source. We emit the "finished-loading"
signal in an idle if the root folder was done loading right in
_gtk_file_system_model_new(), so that the caller has a chance to
connect to the signal.
(_gtk_file_system_model_new): Connect to the normal signals of the
folder even if the initial _list_children() fails. Also, see if
the folder is finished loading; connect to the "finished-loading"
signal otherwise.
(gtk_file_system_model_finalize): Remove the idle handler.
* gtk/gtkfilechooserdefault.c (set_list_model): Set a busy cursor
and connect to the model's "finished-loading" signal.
(get_toplevel): New helper function.
(error_message): Use get_toplevel().
(trap_activate_cb): Likewise.
(location_popup_handler): Likewise.
(set_busy_cursor): New function.
(browse_files_model_finished_loading_cb): New callback.
Thu Mar 18 12:10:45 2004 Owen Taylor <otaylor@redhat.com>
* gtk/gtktreeitem.c (gtk_tree_item_forall): Include
eventbox for expander. (#137564, reported by
Jacques Garrigue)
2004-03-17 Morten Welinder <terra@gnome.org>
* gtk/gtkfilechooserdefault.c (shortcuts_add_volumes): Free
volumes not actually put into the shortcut list.
2004-03-17 Morten Welinder <terra@gnome.org>
* gtk/gtkfilechooserdefault.c (check_icon_theme): Do nothing if we
have no screen. Fixes#137260.
(shortcuts_add_bookmark_from_path): Simplify using check_is_folder
thereby fixing leak. Fixes#137259.
2004-03-17 Morten Welinder <terra@gnome.org>
* gtk/gtkpathbar.c (gtk_path_bar_forall): Make this work when the
slider buttons have been destroyed.
(gtk_path_bar_remove): Make this work for slider buttons too.
Fixes http://bugzilla.gnome.org/show_bug.cgi?id=137257
Wed Mar 17 01:20:28 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkentrycompletion.c (_gtk_entry_completion_resize_popup):
Move the repositioning logic from _gtk_entry_completion() popup
over here. Fixes#137355, reported by Niklas Knutsson.
Tue Mar 16 13:29:58 2004 Owen Taylor <otaylor@redhat.com>
* === Released 2.4.0 ===
* configure.in: Version 2.4.0, interface age 0;
require glib-2.4.0, pango-1.4.0.
* configure.in: Change gtk_binary_version to 2.4.0;
there are some compatibility issues with older theme engines.
Tue Mar 16 13:54:07 2004 Jonathan Blandford <jrb@redhat.com>
* gtk/gtkentry.c (gtk_entry_completion_key_press): Block the
::changed handler during the ::match-selected when done by
keyboard.
Tue Mar 16 00:56:11 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkentrycompletion.c (gtk_entry_completion_list_button_press):
Block the ::changed handler during the emission of ::match-selected.
Partial fix for #137226.
* gtk/gtkfilechooserentry.c: Remove the no longer needed
no_pop_down flag.
2004-03-15 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilechooserdefault.c (update_appearance): Only hide the
"create folder" button in OPEN mode; all the others should show it
it.
(get_paths_foreach): Handle the editable row.
* gtk/gtkfilesystemunix.c (gtk_file_system_unix_create_folder):
Force a re-get of the folder so that the new directory gets added
to its hash table of file info.
2004-03-15 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilechooserdefault.c (update_from_entry): In the Save
modes, set the Name entry of the file chooser if we get a
nonexistent filename from the file entry. Fixes#135911.
(gtk_file_chooser_default_set_current_name): Oops, this should
also work if we are in CREATE_FOLDER mode.
* gtk/gtkfilesystem.c (gtk_file_path_real_copy): Use
gtk_file_path_copy().
* gtk/gtkfilechooserentry.c (check_completion_callback): Free the
path that we got from the model.
(completion_match_func): Use DISPLAY_NAME_COLUMN rather than a
hard-coded constant.
Mon Mar 15 13:50:14 2004 Owen Taylor <otaylor@redhat.com>
* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_set_property):
Don't leak the temporary font description. (Nils O. Selåsdal)
Mon Mar 15 12:51:17 2004 Jonathan Blandford <jrb@gnome.org>
* gtk/gtkfilechooserdefault.c (location_popup_handler): Only show
the title string in OPEN/SELECT_FOLDER mode as it's open-specific.
Put a blank title for SAVE/CREATE_FOLDER; we are in string freeze,
so we'll fix it for 2.4.1 as #137272.
* gtk/gtkpathbar.c (gtk_path_bar_scroll_down): calculate
space_available correctly for RTL mode. w/o this, you can't
scroll down again. Fixes#137021.
2004-03-15 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkpathbar.c (gtk_path_bar_scroll_up): Queue a resize.
(gtk_path_bar_scroll_down): Likewise.
Mon Mar 15 11:40:43 2004 Owen Taylor <otaylor@redhat.com>
* gtk/gtkfilechooserentry.c: Store the position of the
file part and use that in check_completion_callback()
and match_selected_callback() to figure out where
to operate on the text, rather than recomputing the
information.
Mon Mar 15 10:35:19 2004 Jonathan Blandford <jrb@gnome.org>
* gtk/gtkfilechooserdefault.c (shortcuts_add_volumes): set
changing_folders to be true so we don't trigger a callback when we
remove the selection
(shortcuts_add_bookmarks): ditto
Mon Mar 15 09:54:36 2004 Owen Taylor <otaylor@redhat.com>
* gtk/gtklabel.c (gtk_label_focus): Check for
Control-Tab or Control-Shift-Tab, not any Control-key
as a current event ... handles the case where a dialog
is triggered from a control accelerator better.
Mon Mar 15 08:48:48 2004 Jonathan Blandford <jrb@gnome.org>
* gtk/gtkfilechooserentry.c (match_selected_callback): implement
correctly.
(completion_match_func): Allow surpressing popdowns.
(maybe_append_seperator_to_path): New function to add a separator
item to a display_name. Bad hack.
(check_completion_callback): Implement select-ahead as an idle.
(add_completion_idle): new function to handle select-ahead
(gtk_file_chooser_entry_do_insert_text): starf the select-ahead
idle.
(gtk_file_chooser_entry_focus): Override tab for completion.
(gtk_file_chooser_entry_activate): commit select_ahead when
activated.
* gtk/gtkfilechooserdefault.c (location_popup_handler): grab the
appropriate widget for the mode.
2004-03-15 Tor Lillqvist <tml@iki.fi>
* gdk/win32/gdkgc-win32.c (gdk_gc_copy): Don't just copy the whole
GdkGCWin32 with a single assignment, that overwrites GObject's
private data (for instance ref_count). (#137012, John Ehresman)
2004-03-15 Mark McLoughlin <mark@skynet.ie>
* gtk/gtkfilechooserdefault.c: remove the unused "lowest_folder"
GtkFileChooserDefault member. Leftover from my original patch
for bug #136987.
Mon Mar 15 01:50:28 2004 Jonathan Blandford <jrb@gnome.org>
* gtkfilechooserentry.c: Rewritten to use the GtkEntryCompletion
API more correctly. Now pops down the dropdown well.
* gtkfilesystem.c (gtk_file_path_get_type): New boxed type for the
FilePath.
* test/testfilechooser.c: disable preview widget temporarily.
It's not representative of a good preview widget.
2004-03-15 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilechooserdefault.c (shortcuts_find_current_folder):
Renamed from shortcuts_unselect_all(); now selects the row that
corresponds to the current folder, if any. Fixes#135916.
* gtk/gtkpathbar.h: Added prototypes for _gtk_path_bar_up() and
_gtk_path_bar_down().
2004-03-15 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilechooserdefault.c: Surround the
drag-outside-to-remove-bookmarks code with "#if 0" blocks; it's
too unstable right now.
Sun Mar 14 23:36:15 2004 Owen Taylor <otaylor@redhat.com>
* gtk/gtkfilechooserdefault.c: Implement local_only by
filtering the shortcuts and bookmarks list by
gtk_file_system_path_to_filename (file_system, path) != NULL.
(#132894)
* gtk/gtkfilesystem.c (gtk_file_system_path_is_local): Add
a convenience function, may by interesting to push to the
file system vtable later for performance.
2004-03-14 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilesystem.c (gtk_file_folder_get_info): Allow the path
to be NULL, so that people can ask for information about a
parent-less file system root (e.g. get_info (get_folder ("/"), NULL)).
* gtk/gtkfilesystemunix.c (gtk_file_folder_unix_get_info): Allow
the condition describe above.
* gtk/gtkfilechooserdefault.c (get_file_info): Allow getting
information of root paths.
* gtk/gtkpathbar.c (_gtk_path_bar_set_path): Handle root paths correctly.
Sun Mar 14 22:32:36 2004 Owen Taylor <otaylor@redhat.com>
* gtk/gtktreeview.c (gtk_tree_view_set_search_equal_func): Mention
GtkTreeViewSearchEqualFunc return value oddity here as well.
* gtk/gtktreeview.c (gtk_tree_view_search_equal_func): On failure
to get a string to compare to, return TRUE (no match), not
FALSE (match). Handle %NULL string values gracefully.
Remove unused variable. (#135962, Mark McLoughlin)
Sun Mar 14 21:03:15 2004 Owen Taylor <otaylor@redhat.com>
* gtk/gtkpathbar.[ch]: Add _gtk_path_bar_up()/
_gtk_path_bar_down().
* gtk/gtkfilechooserdefault.c: Use _gtk_path_bar_up()/
_gtk_path_bar_down() as bindings for Alt-Up
and new Alt-Down. (Partly based on a patch by
Mark McLoughlin, #136987)
2004-03-14 Federico Mena Quintero <federico@ximian.com>
Fixes#136185, patch by Morten Welinder, with some changes.
* gtk/gtkfilechooserdefault.c (check_is_folder): New helper function.
(shortcuts_insert_path): Check the path first with check_is_folder().
(gtk_file_chooser_default_set_current_folder): Likewise.
(gtk_file_chooser_default_add_shortcut_folder): Likewise.
(browse_widgets_create): Unref the size group.
* gtk/gtkfilesystemunix.c (gtk_file_system_unix_get_folder):
Handle the case where the file exists but it is not a directory.
(IconType): Add value for ICON_UNDECIDED.
(struct stat_info_entry): New structure to hold a file's struct
stat, its MIME type and its icon type.
(struct _GtkFileFolderUnix): Added a hash of struct
stat_info_entry, and flags to remember which info types we've read
so far.
(get_icon_type): Use a helper function for the icons-from-stat
types.
(gtk_file_system_unix_render_icon): Use the cached file info.
(gtk_file_folder_unix_get_info): Put the info in the cache.
(gtk_file_system_unix_get_folder): Create the cache of file info
structures.
* gtk/gtkfilesystem.c (gtk_file_info_set_display_name): Handle the
case where display_name is the same as the existing
info->display_name.
Sun Mar 14 19:26:48 2004 Owen Taylor <otaylor@redhat.com>
#136672, reported by Christian Persch; fixes based
on a patch by Soeren Sandmann.
* gtk/gtkmenu.c: Change the handling of mixed gridded
and non-gridded menu items; the old method was causing
major performance problems even with the "avoid relayout
on destruction" hack put in recently.
Now we first lay out the gridded items and then put the
non-gridded items into empty rows / after the gridded items.
Layout is done in a central menu_shell_ensure_layout(). Also
avoid emitting property notifications when we initially
insert or attach items.
* gtk/gtkmenushell.[ch] gtk/gtkmenu.c: Stop setting the
unused menu_shell->menu_flag, and document it as unused
in the header.
* tests/testactions.c: Add a test of creating/removing
lots of items.
* test/testgtk.c: Add some more cruft to the menu test.
Sun Mar 14 15:38:39 2004 Jonathan Blandford <jrb@gnome.org>
* gtk/gtkentrycompletion.c (gtk_entry_completion_visible_func):
always use the match_func, even if text_column is set.
2004-03-14 Morten Welinder <terra@gnome.org>
* gtk/gtkfilesystemunix.c (get_parent_dir): Don't turn "/" into
"".
(gtk_file_system_unix_get_folder): Use the same value for lookup
as for insertion. Make sure we have a directory.
Sun Mar 14 01:01:18 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkcellview.c (gtk_cell_view_set_cell_data): Align
this function with gtk_tree_view_column_set_cell_data();
call the cell data func after setting the attributes.
Sun Mar 14 01:00:08 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkcellview.c (gtk_cell_view_expose): One more try;
make sure not to call gtk_cell_view_set_cell_data() when
displayed_row is NULL.
Sat Mar 13 18:13:13 2004 Owen Taylor <otaylor@redhat.com>
* gtk/gtktextlayout.c (gtk_text_layout_get_line_display): When not
wrapping, do the offset of the line for justification ourselves.
(#120256, Felipe Heidrich)
Sun Mar 14 00:03:18 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkcellview.c (gtk_cell_view_expose): Support the
model-less use of GtkCellView shown in testcombo.c.
2004-03-13 Tor Lillqvist <tml@iki.fi>
* gdk/win32/gdkdisplay-win32.c: Don't undefine HAVE_MONITOR_INFO
when compiling with gcc. Mingw's headers do have the required
definitions.
* gdk/win32/gdkdrawable-win32.c (draw_polygon): When drawing
filled polygons, don't draw the outline, similarily as
draw_rectangle(). Apparently GTK and GIMP don't use
gdk_draw_polygon() much (or always draw the outline, too), as this
has gone undetected for so long. Thanks to Bruce Hochstetler.
Sat Mar 13 15:19:17 2004 Owen Taylor <otaylor@redhat.com>
* gtk/gtkwindow.c (gtk_window_destroy): Remove
the window from the toplevel_list here rather in destroy.
While this is theoretically speaking wrong, it fits
in better with the current reality that destroyed
widgets are not reusable. (#126808, Michael Natterer)
Sat Mar 13 21:47:47 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkcellview.c (gtk_cell_view_expose): Don't do anything
beyond clearing to the background if there is no active row.
(#137066, reported by Owen Taylor)
Sat Mar 13 21:37:44 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkcombobox.c (gtk_combo_box_list_key_press): Pop down the
list when an item is selected via the keyboard.
Sat Mar 13 12:17:16 2004 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkwindow-x11.c (gdk_window_reparent): Make
this a total no-op when the new or old parent is
destroyed. (#134230, patch from Soeren Sandmann)
* gdk/gdkwindow.c (_gdk_window_destroy_hierarchy):
For foreign windows in our heirarchy, call
_gdk_windowing_window_destroy_foreign (window) and skip
all the normal destruction logic.
* gdk/x11/gdkwindow-x11.c gdk/win32/gdkwindow-win32.c:
Move code to request destruction of a foreign window
code into a separate _gdk_windowing_window_destroy_foreign().
* gdk/x11/gdkwindow-x11.c (gdk_window_impl_x11_finalize):
Call GDK_WINDOW_DISPLAY() on the wrapper not on the
impl. (Also from Soeren's patch)
Sat Mar 13 10:49:46 2004 Owen Taylor <otaylor@redhat.com>
* gtk/gtkdnd.c (_gtk_drag_dest_handle_event): For
GTK_IS_PLUG toplevels, call gdk_window_get_origin()
not gtk_window_get_position, as a hackround for not
having accurate notification of window position for
embedded windows. (#136112, Dan Winship)
Sat Mar 13 10:34:03 2004 Owen Taylor <otaylor@redhat.com>
* gtk/gtktextview.c gtk/gtktextbuffer.c: Revert last change;
it causes problems for pastes from other applications; see
comments in bugzilla for #81880.
Sat Mar 13 02:55:51 2004 Matthias Clasen <maclas@gmx.de>
Fix middle button pasting in the TextView (#81880, reported
by Evert Verhellen, patch by Paolo Borelli):
* gtk/gtktextview.c (gtk_text_view_button_press_event): Retrieve
the insert mark and move the cursor to it making sure of also
scroll the window if needed.
* gtk/gtktextbuffer.c (pre_paste_prep): Move the insert mark
to the insertion point.
Sat Mar 13 01:38:55 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkcombobox.c (gtk_combo_box_remove): Add a remove
implemenatation which restores the cell_view when the custom
child is removed. (#136555, Owen Taylor)
Sat Mar 13 00:07:51 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_cell_layout_clear):
Keep the cell_list in a consistent state while iterating over it,
since clear_attributes() also iterates over it. (another instance
of #136585, Morten Welinder)
Fri Mar 12 23:37:15 2004 Soeren Sandmann <sandmann@daimi.au.dk>
* gtk/gtkfilechooserdialog.c
(file_chooser_widget_default_realized_size_changed): Clamp the
new size to the screen. Part of bug 129020.
Fri Mar 12 15:06:44 2004 Owen Taylor <otaylor@redhat.com>
* gtk/gtkexpander.c (gtk_expander_realize): Create the
event_window at the right size using the same logic as
in size_allocate. (#136994, Niklas Knuttson)
2004-03-12 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkwindow.c (gtk_window_activate_focus): Don't ignore the
return value of gtk_widget_activate().
(gtk_window_activate_default): Likewise. Fixes#137008.
* gtk/gtkfilechooserdialog.c (response_cb): Act on positive
response IDs we recognize, rather than bailing out on cancellation
ones. Fixes#136237; patch by Olivier Andrieu
<oliv__a@users.sourceforge.net>.
(file_chooser_widget_file_activated): If the dialog doesn't have a
default widget, try to find a suitable response widget on our own.
People should *really* be using gtk_dialog_set_default_response(),
but this is to help lazy programmers.
* gtk/gtkdialog.c (_gtk_dialog_get_response_for_widget): New
internal function.
(get_response_data): Add a "create" argument so that we don't
unconditionally create the response data.
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.
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.
Thu Mar 11 17:51:10 2004 Owen Taylor <otaylor@redhat.com>
* modules/input/gtkimcontextxim.c (preedit_done_callback):
Clear preedit string and emit preedit_changed as needed
on AIX. (#130617, Philip K Warren)
Thu Mar 11 16:18:51 2004 Jonathan Blandford <jrb@redhat.com>
* gtk/gtkfilechooserdefault.c (shortcuts_insert_path): revert
earlier change to insert_path so that we test that the directory
exists.
* gtk/gtkfilechooserdialog.c
(gtk_file_chooser_dialog_constructor): move focus.
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)
Thu Mar 11 15:59:05 2004 Owen Taylor <otaylor@redhat.com>
* tests/testgtk.c (create_spins): Use gtk_entry_set_width_chars()
rather than gtk_widget_set_size_request().
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.
Thu Mar 11 13:58:24 2004 Owen Taylor <otaylor@redhat.com>
* gtk/gtkmessagedialog.c gtk/gtklabel.c: Back out the
put-labels-into-the-standard-focus-chain patches
from bug #59707.
* gtk/gtklabel.c (gtk_label_focus): Only put the
label in the tab chain when the control key is pressed.
2004-03-11 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilechooserdefault.c (error_message_with_parent): Use a
single OK button, not a Close button, as per the HIG.
* gtk/gtkfilesel.c (gtk_file_selection_fileop_error): Likewise.
2004-03-11 Dov Grobgeld <dov@imagic.weizmann.ac.il>
* 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
Thu Mar 11 10:28:30 2004 Owen Taylor <otaylor@redhat.com>
* gtk/gtkfilechooserembed.c (delegate_initial_focus): Remove
stray 'return' statement. (#136855, David L. Cooper II)
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.
2004-03-10 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkstyle.c (draw_dot): Remove spurious semicolon. Thanks to
Kjartan Maraas for pointing it out.
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.
2004-03-10 Tor Lillqvist <tml@iki.fi>
* gdk/win32/gdkevents-win32.c (build_key_event_state): Set also
the pointer button bits. (#136636, Dave Neary)
* gdk/win32/gdkwindow-win32.c (show_window_internal): Show
transparent (input only) windows using SetWindowPos(). (#132331,
John Ehresman)
(gdk_window_set_type_hint): For splash screens, remove the resize
handles, menu, and minimize/maximize/close buttons. (#132896)
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)
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.
2004-03-10 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilechooserdefault.c (list_mtime_data_func): Use an
untranslatable "%x" for dates, rather than a custom format. Fixes
#136357.
Wed Mar 10 02:41:05 2004 Jonathan Blandford <jrb@gnome.org>
* gtk/gtkpathbar.c: (gtk_path_bar_init), (gtk_path_bar_class_init),
(remove_settings_signal), (gtk_path_bar_dispose),
(gtk_path_bar_style_set), (gtk_path_bar_screen_changed),
(gtk_path_bar_scroll_up), (reload_icons), (change_icon_theme),
(settings_notify_cb), (gtk_path_bar_check_icon_theme),
(get_button_image), (gtk_path_bar_update_button_appearance),
(make_directory_button), (gtk_path_bar_check_parent_path): Support
changes in icon themes.
* gtk/gtkpathbar.h: add two elements
* tests/testfilechooser.c: (main): use gnome-vfs method again to
get more testing.
Wed Mar 10 01:17:40 2004 Jonathan Blandford <jrb@gnome.org>
* gtk/gtkpathbar.c: added 'Desktop' to the list of volumes. We
don't have any more untranlated strings in the dialog.
Wed Mar 10 00:24:24 2004 Jonathan Blandford <jrb@gnome.org>
* gtk/gtkfilechooserdefault.c (error_dialog): use uri instead of
the pathname for UTF-8 safety.
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.
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.
Wed Mar 10 01:21:05 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkcombobox.c (gtk_combo_box_menu_position_below): Place
grid mode popups left aligned, not right aligned.
Tue Mar 9 23:09:46 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkoptionmenu.c (gtk_option_menu_init): Avoid centering
the label that is reparented from the menuitem. (#136614, Dennis
Cranston)
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.
2004-03-09 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilechooserdefault.c (get_file_info): Handle the returned
parent_path being NULL. Fixes#136662.
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.
Tue Mar 9 13:49:14 2004 Owen Taylor <otaylor@redhat.com>
* gtk/gtkstyle.c (gtk_paint_polygon): Fix
g_return_if_fail() that was checking draw_shadow.
(#136669, Morten Welinder)
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.
* gtk/gtkmenu.c (gtk_menu_set_monitor): Formatting fix
* gtk/gtktoolbar.[ch]: Some formatting fixes
2004-03-08 Federico Mena Quintero <federico@ximian.com>
Fixes#136080.
* gtk/gtkfilesystemunix.c: Only lstat() if stat() failed due to
ENOENT.
(filename_get_info): Likewise.
2004-03-08 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilechooserdefault.c
(gtk_file_chooser_default_initial_focus): Use
gtk_tree_view_set_cursor().
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>
* 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.
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)
* gtk/gtkcombobox.c (gtk_combo_box_menu_destroy)
* gtk/gtkcombobox.c (gtk_combo_box_list_destroy):
* gtk/gtkcombobox.c (gtk_combo_box_list_setup):
* gtk/gtkcombobox.c (gtk_combo_box_menu_setup):
Remove calls to gtk_combo_box_unset_model.
* gtk/gtkcombobox.c (gtk_combo_box_check_appearance):
Clean up handling of wrap->width > 0.
* gtk/gtkcombobox.c (gtk_combo_box_relayout): Don't
switch list/menu mode here.
* gtk/gtkcombobox.c (gtk_combo_box_set_model): Protect
against the same model being set back.
* gtk/gtkcombobox.c (gtk_combo_box_relayout): Call
gtk_combo_box_menu_fill() rather than duplicating
a large chunk of code.
2004-03-08 Marco Pesenti Gritti <marco@gnome.org>
* gtk/gtkentry.c: (gtk_entry_completion_key_press):
When an action is selected stop the event to be propagated
otherwise the activate signal is emitted too. (Bug #133394)
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.
2004-03-08 Anders Carlsson <andersca@gnome.org>
* gtk/gtkfilesystemunix.c: (get_icon_for_directory),
(gtk_file_system_unix_render_icon):
Use better icons for home and desktop.
2004-03-08 Anders Carlsson <andersca@gnome.org>
* gtk/gtkfilechooserentry.c:
(_gtk_file_chooser_entry_set_base_folder):
Set the base folder path in the entry.
2004-03-08 Tor Lillqvist <tml@iki.fi>
* tests/testfilechooser.c: Correct localtime_r() emulation on Win32.
Remove a couple of unnecessary Win32-only includes.
Mon Mar 8 01:06:17 2004 Matthias Clasen <maclas@gmx.de>
* tests/testentrycompletion.c: Test dynamic addition/removal.
Sun Mar 7 22:38:49 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkframe.c (gtk_frame_paint): Use ythickness, not
xthickness in the calculation of vertical dimensions.
Sun Mar 7 17:38:03 2004 Jonathan Blandford <jrb@gnome.org>
* gtk/gtkbutton.c (gtk_button_class_init): actually use
gtk_button_add.
* gtk/gtkfilechooserdefault.c (error_building_filename_dialog):
use the uri, not the path, #136317
(renderer_edited_cb): ditto
(shortcuts_add_bookmark_from_path): ditto
(remove_bookmark_button_clicked_cb): ditto
(gtk_file_chooser_default_remove_shortcut): ditto
(update_from_entry): ditto
(up_folder_handler): ditto
Sun Mar 7 16:07:08 2004 Jonathan Blandford <jrb@gnome.org>
* gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_init): set
redraw_on_allocate, #135902.
* gtk/gtkfilesystemmodel.c (model_refilter_recurse): Patch from
Damon Chaplin to set a node to be visible before emitting the
inserted signal, #135555.
Sun Mar 7 14:34:04 2004 Jonathan Blandford <jrb@gnome.org>
* gtk/gtkfilechooserdefault.c (trap_activate_cb): stop activate
from unselecting rows when pressed in multiple-selection mode.
2004-03-07 Hans Breuer <hans@breuer.org>
* gdk/win32/gdkproperty-win32.c (gdk_screen_get_setting) :
some more settings from system, also reflect some name changes
done a while ago in the x11 backend
* gdk/win32/makefile.msc : build gdkspawn-win32.c
* gtk/gtkdnd.c : gtk_drag_source_[gs]et_target_list, added "Since: 2.4"
* gtk/makefile.msc.in : build gtkpathbar, link shell32.lib
* tests/makefile.msc : some more tests get build
Sun Mar 7 03:03:57 2004 Jonathan Blandford <jrb@gnome.org>
* gtk/gtkfilechooserdefault.c
(gtk_file_chooser_default_get_paths): if action is
SELECT_FOLDER, then return the currentd folder if none is
selected.
(gtk_file_chooser_default_should_respond): Allow 'Ok' to be hit if
no directory is selected in SELECT_FOLDER mode.
Sat Mar 6 23:31:18 2004 Jonathan Blandford <jrb@gnome.org>
* gtk/gtkfilechooserdefault.c (struct _GtkFileChooserDefault):
remove unneeded elements.
(tree_selection_changed): removed
(tree_name_data_func): removed
(gtk_file_chooser_default_finalize): don't unref dir model
(create_folder_tree): removed
(get_selection): no longer need to abstract away the selection
function.
(create_file_list): We now create a tree for all actions.
(file_pane_create): Make one tree.
(update_appearance) We really change the mode only, now.
Sun Mar 7 02:38:00 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkcombobox.c (gtk_combo_box_size_request): Do a
size_request on the button and cell_view_frame, otherwise
their style will still be the default here in the initial
size_request. (#136301, Mark McLoughlin)
2004-03-05 Federico Mena Quintero <federico@ximian.com>
* gdk/linux-fb/gdkglobals-fb.c: Make <config.h> the very first
include.
* gdk/linux-fb/gdkwindow-fb.c: Likewise.
* gdk/linux-fb/gdkinput.c: Likewise.
2004-03-05 Federico Mena Quintero <federico@ximian.com>
Fixes#136082 and #135265, patch by Morten Welinder.
* configure.in: Use AC_SYS_LARGEFILE.
* */*.c: #include <config.h>
2004-03-05 Tor Lillqvist <tml@iki.fi>
* configure.in: Move check for native Win32 (mingw) a bit
earlier. If Win32, disable static builds (as in GLib). Remove
unnecessary AC_LIBTOOL_WIN32_DLL.
Fri Mar 5 18:00:36 2004 Jonathan Blandford <jrb@redhat.com>
* gtk/gtkfilechooserdefault.c (new_folder_button_clicked): scroll
to the new path.
* gtk/gtktreeview.c (gtk_tree_view_adjustment_changed): Update the
allocation when scrolling instead of cancelling editing.
2004-03-05 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilechooserprivate.h (struct _GtkFileChooserIface): Add
gboolean return values and GError arguments to
::set_current_folder() and ::select_path().
* gtk/gtkfilechooser.c (gtk_file_chooser_set_current_folder):
Return a boolean value for success/failure.
(gtk_file_chooser_set_current_folder_uri): Likewise.
(gtk_file_chooser_select_filename): Likewise.
(gtk_file_chooser_select_uri): Likewise.
(gtk_file_chooser_set_filename): Likewise.
(gtk_file_chooser_set_uri): Likewise.
(_gtk_file_chooser_set_current_folder_path): Likewise, plus take
in a GError.
(_gtk_file_chooser_select_path): Likewise.
* gtk/gtkfilechooserutils.c (delegate_set_current_folder):
Likewise.
(delegate_select_path): Likewise.
* gtk/gtkfilechooserdefault.c
(gtk_file_chooser_default_select_path): Likewise.
(gtk_file_chooser_default_set_current_folder): Likewise.
(error_changing_folder_dialog): New helper function.
(change_folder_and_display_error): New helper function.
(switch_to_selected_folder): Use change_folder_and_display_error().
(tree_selection_changed): Likewise.
(shortcuts_activate_volume): Likewise.
(shortcuts_activate_item): Likewise.
(list_row_activated): Likewise.
(path_bar_clicked): Likewise.
(update_from_entry): Likewise.
(up_folder_handler): Likewise.
(home_folder_handler): Get the home path from the shortcuts model,
and use change_folder_and_display_error().
* tests/testfilechooser.c (set_current_folder): New helper
function; pops up a simple error dialog if necessary.
(set_filename): Likewise.
(set_folder_nonexistent_cb): Use set_current_folder().
(set_folder_existing_nonexistent_cb): Likewise.
(set_filename_nonexistent_cb): Use set_filename().
(set_filename_existing_nonexistent_cb): Likewise.
Fri Mar 5 11:17:35 2004 Owen Taylor <otaylor@redhat.com>
* gtk/gtktreemodel.c (gtk_tree_row_reference_new_proxy):
Improve the docs (reported by Vitaly Tishkov,
#74362) Add some comments to the code about the
row reference handling that are hopefully not entirely
wrong.
2004-03-05 Michael Natterer <mitch@gimp.org>
* gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_show_all):
s/object/widget/. Makes it compile again.
Fri Mar 5 03:37:14 2004 Jonathan Blandford <jrb@gnome.org>
* gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_show_all):
chain to the extra_widget.
Fri Mar 5 02:53:41 2004 Jonathan Blandford <jrb@gnome.org>
* gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_finalize):
Patch from Damon Chaplin to free models when we're finalized,
#134053
2004-03-05 Alexander Larsson <alexl@redhat.com>
* gtk/gtkfilesystem.c (gtk_file_system_get_volume_for_path):
Document the fact that there might not be a volume for all
paths.
* gtk/gtkfilechooserdefault.c (shortcuts_add_current_folder):
Don't assume there is a volume for all paths.
Fri Mar 5 01:45:04 2004 Jonathan Blandford <jrb@gnome.org>
* gtk/gtkfilechooserdefault.c (shortcuts_append_paths): insert in
the correct place instead of naïvely appending.
(shortcuts_add_volumes): refilter the model
(shortcuts_add_bookmarks): refilter the model
(gtk_file_chooser_default_add_shortcut_folder): refilter the model
2004-03-04 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilechooserdialog.c (response_cb): New handler. Ask the
GtkFileChooser widget if it wants to do something special rather
than letting us terminate the dialog.
(gtk_file_chooser_dialog_init): Connect to "response"; see the
comment in the sources to see why we don't override the method in
class_init.
* gtk/gtkfilechooserembed.h (struct _GtkFileChooserEmbedIface):
Added a ::should_respond() method.
* gtk/gtkfilechooserembed.c
(_gtk_file_chooser_embed_delegate_iface_init): Add a delegate for ::should_respond().
(delegate_should_respond): New delegate.
(_gtk_file_chooser_embed_should_respond): New function.
* gtk/gtkfilechooserdefault.c (set_list_model, create_file_list):
Use dashes in signal names rather than underscores.
(gtk_file_chooser_default_init): Hook up our ::should_respond() implementation.
(gtk_file_chooser_default_should_respond): Implement. go into a
folder rather than responding if we are in File mode and the
selected file is a folder.
(get_selection): New helper function.
(add_bookmark_button_clicked_cb): Use get_selection().
(bookmarks_check_add_sensitivity): Likewise.
(gtk_file_chooser_default_get_paths): Likewise.
(check_save_entry): New helper function.
(gtk_file_chooser_default_get_paths): Use check_save_entry().
(selection_check): Renamed from selection_is_folders(). Now
checks whether the selection is empty, all files, all folders.
(bookmarks_check_add_sensitivity): Use selection_check().
Fri Mar 5 00:05:59 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkcombobox.c (gtk_combo_box_list_setup):
* gtk/gtkcombobox.c (gtk_combo_box_menu_setup): Connect to
key_press_event and handle Alt-Down/Alt-Up to show or hide the
list popup. Also handle Down/Up/PageDown/PageUp/Home/End and
make them change the active item without popping up the list.
These keybindings are inherited from GtkCombo.
Thu Mar 4 23:15:58 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkcombobox.c (gtk_combo_box_menu_position): Initially
select the active item when using optionmenu-like positioning.
Thu Mar 4 16:54:30 2004 Owen Taylor <otaylor@redhat.com>
* gtk/gtkrc.c (gtk_rc_check_pixmap_dir): Don't
open/close the file, just check for existence
with g_file_test(). This is considerably cheaper,
and lack-of-permissions for pixmap dirs is
pathological.
Wed Mar 3 17:53:21 2004 Owen Taylor <otaylor@redhat.com>
* gtk/gtksocket.c (gtk_socket_class_init): Overide
show_all/hide_all to be gtk_widget_show/gtk_widget_hide,
since we don't want to propagate to the in-process
plug, if any. (#122949, Michael Meeks)
Thu Mar 4 15:20:55 2004 Jonathan Blandford <jrb@gnome.org>
* gtk/gtkfilechooserdefault.c (update_appearance): show the 'New
Folder' button in SAVE mode again.