2005-08-19 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkicontheme.c (theme_lookup_icon): Store GtkIconData structs
in the per-directory hash, even if they come from the icon cache.
We tried to avoid that before, but as a result leaked icon data
structs. (#313852, Kjartan Maraas)
2005-08-18 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkmenutoolbutton.c (gtk_menu_tool_button_destroy): Disconnect
signal handlers on destroy, not on finalize. (#313759, Brett Atoms)
2005-08-15 Owen Taylor <otaylor@redhat.com>
* configure.in: Fix have_base_pc / have_base_x_pc typo.
* gdk/x11/gdkdrawable-x11.c gtk/gtksettings.c: Remove panoxft.h includes.
(#313417, James Andrewartha)
* configure.in: Add fontconfig to X_PACKAGES, since we use it for
FcNameConstant(). (More of #313417)
2005-08-15 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkfilechooserdefault.c: When using gtk_dialog_run() for
modal dialogs, make sure to inherit the window group from
the parent, since we don't inherit window groups across
transient parents currently. (#312918, Christian Persch)
* gtk/gtkmessagedialog.c (gtk_message_dialog_new):
* gtk/gtkdialog.c (gtk_dialog_run): Slight update to the docs.
2005-08-15 Matthias Clasen <mclasen@redhat.com>
* tests/testtoolbar.c: Add some more tests for menu placement.
* gtk/gtkmenutoolbutton.c (menu_position_func):
* gtk/gtktoolbar.c (menu_position_func): Improve positioning
of toolbutton menus and of the overflow menu. (#312937,
#153870, Christian Persch, Paolo Borelli)
2005-08-15 Matthias Clasen <mclasen@redhat.com>
* gtk/gtksizegroup.c: Use object data to mark widgets and
groups as visited, so that we avoid constant extra list
traversals. Also allocate quarks in class_init. (#311618,
Michael Natterer)
2005-08-14 Matthias Clasen <mclasen@redhat.com>
* gtk/updateiconcache.c: Store only one copy of the pixel data
for symlinked icons. To achieve this, maintain a hashtable
mapping pathnames to pixel data, and share the pixel data for
all symlinks resolving to the same pathname. When writing out
the image data, write out the pixel data only the first time
it is met, and store the offset pointing to the first copy
for use in all later cases.
This reduces the size of the Bluecurve icon cache from 40
to 13MB. (#312972)
2005-08-12 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkicontheme.c: When changing the icon theme, defer
the resetting of rc styles to an idle, so that it does
not happen e.g during expose handling (which is problematic,
since some widgets, like the toolbar, are changing the
hierarchy in response to style changes). (#300539, reported
by many people, analyzed by Owen Taylor)
2005-08-11 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkfilechooserdefault.c: Work around some problems
with the gnome-vfs backends which could lead to crashes
in the bookmark handling. (#310270, Diego Gonzalez, patch
by Michael Meeks)
2005-08-11 Kristian Rietveld <kris@gtk.org>
Fix for #312924, by John Finlay.
* gtk/gtkliststore.c (gtk_list_store_increment_stamp),
(gtk_list_store_clear): increment stamp on store clearance.
* gtk/gtktreestore.c (gtk_tree_store_increment_stamp),
(gtk_tree_store_clear): ditto.
2005-08-11 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreeview.c (gtk_tree_view_size_allocate_columns): queue
a draw for the entire widget if any column changes width. (Fixes
#311026, reported by Frederic Crozat).
2005-08-10 James Henstridge <james@jamesh.id.au>
* configure.in: fix definition of GDK_DEP_CFLAGS so that it
doesn't cause build failures if $X_PACKAGES is not empty.
2005-08-09 Owen Taylor <otaylor@redhat.com>
* configure.in: Strip out all Xft, FreeType, and pangoxft checking.
Rewrite X checks to use pkg-config as much as possible.
* gdk/win32/gdkfont-win32.c (gdk_font_from_description_for_display): Make
this return Arial always to avoid using PangoWin32FontMap. (X11 backend
has always been returned "fixed" for a long time)
* gdk/linux-fb/gdkdrawable-fb2.c: Remove draw_glyphs() implementations,
fall through to the default implementation in terms of Cairo.
* gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_text): Use gdk_draw_glyphs()
on the wrapper rather than gdk_fb_draw_glyphs()
2005-08-08 Christian Persch <chpe@cvs.gnome.org>
* gtk/gtkmenutoolbutton.c: (gtk_menu_tool_button_state_changed),
(gtk_menu_tool_button_class_init), (popup_menu_under_arrow),
(gtk_menu_tool_button_init):
Deactivate the menu when the button becomes insensitive, and remove
dead code. Fixes bug #312920.
2005-08-08 Matthias Clasen <mclasen@redhat.com>
2005-08-08 Christian Persch <chpe@cvs.gnome.org>
* gtk/gtkmenutoolbutton.c:
(gtk_menu_tool_button_construct_contents),
(button_state_changed_cb), (menu_position_func),
(arrow_button_toggled_cb):
Use ->priv instead of GTK_MENU_TOOL_BUTTON_GET_PRIVATE.
Surviving part of bug #310589.
Fri Aug 5 16:54:19 2005 Søren Sandmann <sandmann@redhat.com>
* gtk/gtkmenutoolbutton.c
(gtk_menu_tool_button_construct_contents): Set the relief of the
arrow button to the value returned by
gtk_tool_item_get_relief_style(). Patch from Benjamin Berg.
2005-08-04 Tor Lillqvist <tml@novell.com>
* gtk-zip.sh.in: Reflect the change of the default theme' name
to "Raleigh". Include the MS-Windows theme's gtkrc file. Include the
theme engine DLLs.
2005-08-01 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkdnd.c (set_icon_stock_pixbuf): Create the icon window
with the correct dimensions. (#312256, Mike Morrison)
2005-08-01 Matthias Clasen <mclasen@redhat.com>
* gdk/x11/gdkxftdefaults.c: Define the hint styles to make
building against fc < 2.2.92 work. (#311839, Damien Carbery)
2005-08-01 Matthias Clasen <mclasen@redhat.com>
* gdk/x11/gdkevents-x11.c (gdk_check_wm_desktop_changed): Make
tracking the on_all_desktops state work better.
* gdk/x11/gdkwindow-x11.c (gdk_x11_window_move_to_current_desktop):
Don't do anything if the window is on all desktops. (#311803,
Elijah Newren)
2005-08-01 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkmain.c (do_post_parse_initialization): Call
gettext_initialization() here as well. (#311612, Dan Winship)
2005-07-28 Federico Mena Quintero <federico@ximian.com>
* perf/README: Update for the new API of the profiler.
* perf/gtkwidgetprofiler.[ch]: New files with a widget profiler
object. This is the old content of timers.[ch] turned into a nice
object, with signals for creation and reporting. The profiler
needs to maintain some state when reusing the widget, so it's
useful to turn it into a real object.
Break down timing show_all into GTK_WIDGET_PROFILER_REPORT_MAP and
GTK_WIDGET_PROFILER_REPORT_EXPOSE.
* perf/main.c: Refactor to use GtkWidgetProfiler.
* perf/appwindow.c (content_area_new): Make this just create a
notebook, instead of a complex arrangement of panes.
* perf/widgets.h: New header file for all the "create a widget"
utility functions.
* perf/treeview.c: New file. Moved the tree view part from
appwindow.c over to here; GtkTreeView really needs its own tests.
(tree_view_new): Set the shadow type to IN.
* perf/textview.c: Likewise moved over from appwindow.c, but for
GtkTextView.
(text_view_new): Set the shadow type to IN.
* perf/Makefile.am (testperf_SOURCES): Add the new source files;
remove appwindow.h and timers.[ch].
* perf/timers.[ch]: Removed.
* perf/appwindow.h: Removed.
2005-07-29 Tor Lillqvist <tml@novell.com>
* gdk/win32/gdkevents-win32.c: Remove ifdeffed out code relating
to the gdk-ping message. Use the global _gdk_display instead of
calling gdk_display_get_default() which would return _gdk_display
anyway.
(append_event, apply_filters, gdk_event_translate): Drop any
GdkDisplay parameter as we only have one display anyway. Use
_gdk_display where needed.
(gdk_event_apply_filters): Delete, move the code into its only
caller, apply_filters().
(generate_button_event): Factor out code from two places in
gdk_event_translate().
(gdk_event_translate): Call generate_button_event() in place of
inline code.
2005-07-29 Tor Lillqvist <tml@novell.com>
* gdk/win32/gdkevents-win32.c (generate_grab_broken_event): New
static function to generate and append the GDK_GRAB_BROKEN events.
(gdk_pointer_grab, gdk_keyboard_grab): Generate grab broken events
when overriding a grab inside the application, like in the X11
backend. Final bits of the fix for #107320, hopefully.
(print_event): Handle also GDK_SETTING, GDK_OWNER_CHANGE and
GDK_GRAB_BROKEN events.
(gdk_event_translate): Call generate_grab_broken_event() in place
of inline code.
2005-07-29 Tor Lillqvist <tml@novell.com>
* gdk/win32/gdkdrawable-win32.c (blit_inside_drawable): Rename
from blit_inside_window(), as it now does blitting inside a
bitmap, too. No code change, still just call BitBlt().
(_gdk_win32_blit): Check for source equalling destination
first. (#169508, #131977)
Do away with the superfluous local draw_impl variable, the
parameter to this function is already a GdkDrawableImplWin32*, no
need to copy and cast it.
2005-07-28 Robert Ögren <gtk@roboros.com>
Avoid spurious core pointer events when the tablet pen is lifted.
(#167000)
* gdk/win32/gdkinput-win32.c (set_ignore_core): New static function,
handles delayed unsetting of _gdk_input_ignore_core.
(_gdk_input_other_event): Call set_ignore_core instead of setting
_gdk_input_ignore_core directly.
2005-07-26 Owen Taylor <otaylor@redhat.com>
* gtk/gtknotebook.c (gtk_notebook_page_allocate): Fix to be
monotonic in the original size (#308145, Morten Welinder)
2005-07-26 Owen Taylor <otaylor@redhat.com>
* gtk/gtknotebook.c (gtk_notebook_page_allocate): Use
>= not > in deciding whether to subtract out x/ythickness.
(#308145, Morten Welinder)
2005-07-26 Elijah Newren <newren@gmail.com>
Revert part of patch from #166379; don't have gtk_window_present()
change a window's desktop, but rather leave it up to the WM.
(#311653)
* gtk/gtkwindow.c (gtk_window_present_with_time): Don't change a
window's workspace
2005-07-26 Federico Mena Quintero <federico@ximian.com>
* perf/: New directory with the start of a framework for testing
performance in GTK+.
* Makefile.am (SRC_SUBDIRS): Added the perf directory.
* configure.in (AC_OUTPUT): Generate perf/Makefile.
2005-07-26 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkimcontextsimple.c: Add ISO_Level3_Shift to
the list of keysyms to ignore for composition, since
AltGr keys produce it in some keyboard layouts. (#307283)
2005-07-26 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkwidget.h:
* gtk/gtk.symbols: Remove G_GNUC_NULL_TERMINATED from
gtk_widget_new as well, pointed out by Kjartan Maraas.
2005-07-25 Matthias Clasen <mclasen@redhat.com>
* gtk/gtktreemodelsort.c: Trivial doc fixes.
* gtk/gtktreesortable.c: Talk about comparison functions, not
sort functions in some places. (#311398, Fabrice Bauzac)
2005-07-25 Matthias Clasen <mclasen@redhat.com>
* gtk/tmpl/gtktreemodelsort.sgml: Note that the sorting
function is not guaranteed to be stable. (#311398,
Fabrice Bauzac)
2005-07-25 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk.symbols:
* gtk/gtkobject.[hc]:
* gtk/gtkfilechooserdialog.[hc]
* gtk/gtkdialog.[hc]: Remove the G_GNUC_NULL_TERMINATED marker
from a number of varargs functions where we allow to omit the
varargs completely. (#311465, Callum McKenzie)
2005-07-21 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkcombobox.c (gtk_combo_box_list_destroy): Cleanup
a possible resize idle. (#311141, Robert Ögren)
* gtk/gtktreemodelsort.c (gtk_tree_model_sort_row_changed):
(gtk_tree_model_sort_sort_level): Ref the level while using it,
otherwise it may get nuked by gtk_tree_model_sort_increment_stamp.
(gtk_tree_model_sort_row_deleted): Don't leak the root level
here. (#300089, James Bramford, Markku Vire)
2005-07-21 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilechooser.c (gtk_file_chooser_set_filename): Clarify
the usage of this function.
(gtk_file_chooser_set_uri): Likewise.
(gtk_file_chooser_set_current_name): Likewise.
* gtk/gtkfilechooserdefault.c (set_file_system_backend):
Instrument this function for profiling as well.
(gtk_file_chooser_default_init): Likewise; just to have a marker
of where instance initialization begins.
2005-07-21 Christian Rose <menthos@menthos.com>
* configure.in: Added "hy" to ALL_LINGUAS.
* po/hy.po, po-properties/hy.po: Added
Armenian translation by
Lilit Azizbekyan <lilita@support17> and
Lilit Sargsyan <magicliliac@yahoo.co.uk>.
2005-07-21 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkstatusbar.c (gtk_statusbar_size_allocate): Be
a bit more careful to not shrink the label to a negative
width. (#311175, Thomas Vander Stichele)
2005-07-19 Owen Taylor <otaylor@redhat.com>
* gtk/gtksettings.c gtk/gtkwidget.c: Change machinery for
following font rendering xsettings to set cairo font
options on PangoContext
* gdk/x11/gdkxftdefaults.c gdk/x11/gdkevents-x11.c gdkscreen-x11.h
gdkprivate-x11.h: Get default values for rendering options
(such as antialiasing, dpi) from the Xft resources for the
display, borrowing a bit of code from Xft.
* gtk/gtksettings.c (gtk_settings_class_init): Fix docs for
values of gtk-xft-hintstyle.
2005-07-21 Tor Lillqvist <tml@novell.com>
* gtk/gtk.symbols: Make GtkPlug/Socket API available on all platforms.
* gtk/Makefile.am: Changes to build GtkPlug/Socket on all platforms.
2005-07-21 Tor Lillqvist <tml@novell.com>
* gtk/gtksocket.c
* gtk/gtkplug.c: Splice out backend-dependend parts to separate
files, see below.
* gtk/gtksocketprivate.h
* gtk/gtkplugprivate.h: New files. Declare the backend-specific
functions, and the private backend-independent functions they call
back to.
2005-07-21 Tor Lillqvist <tml@novell.com>
* gtk/gtkxembed.h
* gtk/gtkxembed.c (_gtk_xembed_message_name): New function, used
in error messages and debugging output.
2005-07-21 Tor Lillqvist <tml@novell.com>
* gdk/win32/gdkwindow-win32.c (gdk_window_set_title): Use
wide-char API when available. (#311079, Peter Zelezny)
2005-07-21 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkwidget.c (gtk_widget_modify_bg, gtk_widget_modify_base):
Add hints on how to handle "no window" widgets. (#136347)
2005-07-20 Keith Packard <keithp@keithp.com>
* gdk/x11/gdkdrawable-x11.c: (gdk_x11_ref_cairo_surface):
Follow change in cairo API to add Screen* to
cairo_xlib_create_surface_for_bitmap
2005-07-20 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkicontheme.c (load_svg_at_size): Explicitly use the
svg loader, if available. This should help with the fact that
svg is not reliably sniffable with the current gdk-pixbuf sniffing
code.
2005-07-20 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkstyle.c (gtk_default_draw_expander): Make sure expanded
expanders are not fuzzy. (#310172, reported by Alexander Larsson,
patch by Owen Taylor)
2005-07-19 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilechooserdefault.c: Added a few utility functions for
profiling; instrument the code, make it conditional.
2005-07-19 Kristian Rietveld <kris@gtk.org>
* gtk/gtkentry.c (gtk_entry_move_forward_word): don't iterate
past the end of the string, so pango_layout_get_cursor_pos() won't
complain. (#309211, Tommi Komulainen).
2005-07-19 Tor Lillqvist <tml@novell.com>
* gtk/gtkmain.c (check_sizeof_GtkWindow, check_sizeof_GtkBox):
Don't bother mentioning the -fnative-struct (used by GCC 2) switch
in the error message any longer.
2005-07-18 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkmain.c (gtk_parse_args, gtk_init_with_args): Call
gettext_initialization before checking gtk_initialized, otherwise
there are scenarios where it is not called at all. For an
example, see tests/testfilechooserbutton.c. (#310323,
Arkady L. Shane)
2005-07-18 Tor Lillqvist <tml@novell.com>
* configure.in (GDK_EXTRA_LIBS): [Win32] Bypass libtool, use
-Wl,-luuid. This avoids a libtool warning as libuuid is static.
* gdk/win32/gdkgc-win32.c (gdk_win32_hdc_get): Be sure to remove
any possible leftover clipping region in the DC if we don't want
any clipping. Thanks to Robert Ögren. (#309823)
2005-07-18 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkcombobox.c (gtk_combo_box_set_focus_on_click): Propagate
the focus-on-click value to the button. (#310543, Christian Persch)
2005-07-18 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkwidget.c (gtk_widget_set_double_buffered): Add a note
about the need to handle expose events. We really need a chapter
on the GTK+ drawing model that we can refer to here... (#310765,
Steve Chaplin)
2005-07-16 Tor Lillqvist <tml@novell.com>
* configure.in (GDK_EXTRA_LIBS): [Win32] Put -luuid back, it is
needed in case one builds without the ie55 stuff. (#310582)
2005-07-15 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkentry.c (gtk_entry_move_forward_word):
(gtk_entry_move_backward_word): Don't treat whitespace as
words for keynav, pointed out by Owen Taylor.
2005-07-15 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilechooserdefault.c
(should_respond_after_confirm_overwrite): Take the parent folder
path instead of the display name, to avoid doing duplicated work
in gtk_file_chooser_default_should_respond().
2005-07-15 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilechooserdefault.c
(confirm_dialog_should_accept_filename): Take the display name of
the folder as well so that we can present a better message. Use a
stock cancel button, "_Replace", and GTK_STOCK_SAVE_AS.
(gtk_file_chooser_default_should_respond): Pass the file part and
folder display name directly to the function above. Oops, only do
the confirmation dialog if the file exists.
2005-07-15 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilechooserdefault.c
(confirm_dialog_should_accept_filename): Use header capitalization
for the buttons, per the HIG.
2005-07-14 Federico Mena Quintero <federico@ximian.com>
Add overwrite confirmation for SAVE mode. Fixes bug #152850:
* gtk/gtkfilechooser.h: Add prototypes for
gtk_file_chooser_set/get_do_overwrite_confirmation().
(GtkFileChooserConfirmation): New enum for the result of the
"confirm-overwrite" signal.
* gtk/gtkmarshalers.list: Add ENUM:VOID.
* gtk/gtkfilechooser.c (gtk_file_chooser_class_init): Add a
"do-overwrite-confirmation" boolean property.
(gtk_file_chooser_set_do_overwrite_confirmation): Implement.
(gtk_file_chooser_get_do_overwrite_confirmation): Implement.
(confirm_overwrite_accumulator): New accumulator for the signal.
* gtk/gtkfilechooserutils.h (GtkFileChooserProp): Add
GTK_FILE_CHOOSER_PROP_DO_OVERWRITE_CONFIRMATION.
* gtk/gtkfilechooserutils.c
(_gtk_file_chooser_install_properties): Override the
do-overwrite-confirmation property.
* gtk/gtkfilechooserprivate.h (struct _GtkFileChooserIface): Add a
confirm_overwrite signal to the vtable.
* gtk/gtkfilechooserdefault.c
(gtk_file_chooser_default_set_property): Handle the new property.
(gtk_file_chooser_default_get_property): Likewise.
(get_selected_file_info_from_file_list): New helper function; code
taken from list_selection_changed().
(list_selection_changed): Use get_selected_file_info_from_file_list().
(should_respond_after_confirm_overwrite): New function.
(gtk_file_chooser_default_should_respond): Confirm when necessary.
2005-07-14 Tor Lillqvist <tml@novell.com>
* gtk/gtkfilesystemwin32.c (filename_get_info): Implement getting
the MIME type of a file. Look it up in the Registry. Bug reported
by Hans Oesterholt.
2005-07-14 Tor Lillqvist <tml@novell.com>
* configure.in (GDK_EXTRA_LIBS): Don't need -luuid on Win32. It
was some leftover, and in fact occasionally caused issues with
libtool as it made its way into the libgdk-win32-2.0.la file and
that way into the .la files of all libraries that depend on
GDK. (This happened only when building from CVS and not using a
full "make install" which would run the sanitize-la.sh script.)
2005-07-14 Matthias Clasen <mclasen@redhat.com>
* gdk/x11/gdkevents-x11.c (set_screen_from_root): Don't assert if
the xrootwin is invalid. (#309997, Barbie LeVille)
(gdk_event_translate): Ignore events with an invalid root field.
2005-07-14 Matthias Clasen <mclasen@redhat.com>
* configure.in: Set interface age to 0.
* gtk/gtkimmodule.h: Move G_BEGIN_DECLS to the right spot, noticed
by Akira Tagoh.
2005-07-14 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreeviewcolumn.[ch] (gtk_tree_view_column_queue_resize): new
function (fixes#169961, reported by Morten Welinder).
2005-07-14 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreeview.[ch] (gtk_tree_view_get_visible_range): new
function. (fixes#105252, suggestion from Mikael Hallendal).
2005-07-13 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreeview.c (gtk_tree_view_bin_expose): paint a flat box
on the area the treeview got allocated extra vertically (fixes
#142063, reported by Brian Bober).
* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_cell_process_action):
make this function calculate real_cell_area and real_background_area
correctly. (fixes#309249, reported by Bernd Demian).
2005-07-13 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkcalendar.c (calendar_realize_arrows): Fix an
unintentional case of width-for-height... (#310133, Luis Villa)
2005-07-13 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreeview.c (gtk_tree_view_new_column_width): let's take
the MIN of width and max_width here, not width and max_width != -1.
(fixes#144480, reported by Mikael Magnusson).
2005-07-13 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkicontheme.c (load_themes): Don't keep the caches
for unthemed directories in a separate list, instead append
them at the end of the dir_mtimes list, so that we can check
them for staleness like the other caches. (#310221, Mark
McLoughlin)
2005-07-13 Robert gren <gtk@roboros.com>
Fix handling of Aiptek and Aiptek-like graphical tablets such as Trust
on Windows. (#167004, thanks to "pnohant" for testing)
Code cleanup: Remove the unused and unmaintained code for using a
non-system tablet context (USE_SYSCONTEXT ifdef:s), suggested
by Tor Lillqvist.
* gdk/win32/gdkinput-win32.c (_gdk_input_wintab_init_check): Handle
tablet drivers that don't support WTI_DDCTXS/WTI_DSCTXS gracefully.
Sligthly reorganize and simplify the code to support this.
(_gdk_input_wintab_init_check, _gdk_input_other_event): Remove
USE_SYSCONTEXT ifdef:s and the code for the case it was not defined.
(gdk_input_window_find_within): Removed.
2005-07-13 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreeview.c (validate_row): when !separator, don't add
the focus_line_width to width/height (happens in
_column_cell_get_size), but do add the vertical-separator to height,
we weren't taking this into account before.
* gtk/gtkentrycompletion.c (_gtk_entry_completion_resize_popup):
take vertical-separator into account. (#309137, Ross Burton).
2005-07-13 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreeselection.c (gtk_tree_selection_selected_foreach): quit
maintaining the iter on every iteration, only get the iter when
we are about to call the foreach_func. Gives us a 10x speedup,
since maintaining iters is a lot more expensive than maintaining
paths. We lose a bit of sanity checking though. Thanks go to
Billy Biggs for pointing this out.
2005-07-12 Matthias Clasen <mclasen@redhat.com>
* demos/gtk-demo/iconview.c: Rename this demo.
* demos/gtk-demo/iconview_edit.c: Add a demo for icon view
editing and drag-and-drop.
2005-07-11 Matthias Clasen <mclasen@redhat.com>
* gtk/gtktexttag.c (gtk_text_tag_class_init)
(gtk_text_tag_set_property): Remove the runtime warning about
the invisible property, add a warning about possible remaining
problems to the documentation of the property. (#66194)
2005-07-11 Matthias Clasen <mclasen@redhat.com>
* gtk/gtktextview.c (gtk_text_view_move_cursor_internal): Don't
ever go unconditionally to the buffer ends; that doesn't work
if the initial or final portion of the buffer are invisible.
2005-07-11 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreeview.c (gtk_tree_view_class_init): add binding entry
for ctrl + backspace (move focus to parent without affecting
selection),
(gtk_tree_view_real_select_cursor_parent): implement ctrl+backspace
and simplify the function a bit. (#309296, Kathy Fernandes).
2005-07-11 Matthias Clasen <mclasen@redhat.com>
Make gdk_window_present() move the window to the current
desktop, instead of letting the WM change the current
desktop to where the window is. (#166379, Elijah Newren)
* gdk/gdk.symbols:
* gdk/x11/gdkx.h:
* gdk/x11/gdkwindow-x11.c (gdk_x11_window_move_to_current_desktop):
New function to move a window to the current desktop.
* gtk/gtkwindow.c (gtk_window_present_with_time): Move the
window to the current desktop before giving it focus.
2005-07-11 Matthias Clasen <mclasen@redhat.com>
When dragging text, use a drag icon showing the (ellipsized)
text that is being dragged: (#161132, Kevin Duffus, patch
by Carlos Garnacho Parro)
* gtk/gtktextutil.h:
* gtk/gtktextutil.c (_gtk_text_util_create_drag_icon): Add
a function to create a pixmap for use when dragging text.
* gtk/gtktextview.c (gtk_text_view_start_selection_dnd):
* gtk/gtklabel.c (gtk_label_motion):
* gtk/gtkentry.c (gtk_entry_motion_notify): Use a drag icon
showing the text being dragged.
2005-07-11 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkentry.c (gtk_entry_move_forward_word)
(gtk_entry_move_backward_word): Match the text view change
to allow selecting whitespace with double-click.
2005-07-11 Matthias Clasen <mclasen@redhat.com>
* gtk/gtktextview.c (extend_selection): Make double-clicking
between words select whitespace. (#309860, Mike Miller, patch
by Paolo Borelli)
2005-07-10 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreeview.c (gtk_tree_view_search_key_press_event): also move
to the next match when ctrl+g is pressed. (#156657, Matt T. Proud).
2005-07-10 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreeview.c (gtk_tree_view_move_cursor_page_up_down): rework
function to make page up/down behave the same as in GtkTextView.
(Fixes#101220, Owen Taylor).
2005-07-09 Kristian Rietveld <kris@gtk.org>
Fix#305737, patch from Tomislav Jonjic. This makes the
gtk_tree_store_insert* family of functions emit row_has_child_toggled
when needed (they didn't do that before).
* gtk/gtktreestore.c (gtk_tree_store_insert): emit
row_has_child_toggled when needed,
(gtk_tree_store_insert_before): fix a possible memleak,
emit row_has_child_toggled when needed,
(gtk_tree_store_insert_after): ditto.
2005-07-09 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreeview.c (gtk_tree_view_real_expand_row): when
open_all is TRUE, traverse the newly built tree to emit
row_expanded for the subitems. (rev 1.444, patch in #172319
broke this). Fixes#305582, reported by Billy Biggs.
2005-07-09 Tor Lillqvist <tml@novell.com>
* configure.in: Look for windres on Win32.
* gdk-pixbuf/Makefile.am
* gdk/win32/rc/Makefile.am
* gdk/Makefile.am
* gtk/Makefile.am: Don't use the scripts in build/win32 to compile
the rc files into resource object files. (This means we lose the
build number increment magic, but I doubt it was that useful
anyway.) Instead use windres directly. To pass a normal .o file
produced by windres through libtool, which would want a .lo file,
pass it directly to the linker using a -Wl option.
* gdk-pixbuf/gdk_pixbuf.rc.in
* gdk/win32/rc/gdk.rc.in
* gtk/gtk-win32.rc.in: Replace BUILDNUMBER with 0.
2005-07-08 Kristian Rietveld <kris@gtk.org>
Fixes#165034, reported by Jorn Baayen.
* gtk/gtkrbtree.[ch] (_gtk_rbtree_set_fixed_height): add a
mark_valid parameter (so we can mark all nodes as valid when we
are setting them to the fixed height).
* gtk/gtktreeview.c (initialized_fixed_height_mode): mark all
nodes as valid when setting the fixed height,
(do_validate_rows): update call to _set_fixed_height,
(gtk_tree_view_row_inserted): mark node as valid when fixed
height mode is enabled and a height has been set,
(gtk_tree_view_build_tree): if fixed height mode is enabled,
mark new nodes as valid in addition to setting the height.
2005-07-08 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkdnd.c (gtk_drag_update_cursor): Pass a GdkDragAction to
gtk_drag_get_cursor. (#309784, Sebastian Bacher)
2005-07-07 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkhscale.c (gtk_hscale_new_with_range):
(gtk_vscale_new_with_range): Add some additional docs on
precision here too. (#309238, Steve Chaplin)
2005-07-07 Matthias Clasen <mclasen@redhat.com>
Implement Drag-and-Drop to the file list. (#145121, Sven Neumann)
* gtk/gtkfilechooserdefault.c (file_list_drag_data_received_cb)
(file_list_drag_drop_cb, file_list_drag_motion_cb): New functions
to handle drag-and-drop on the file list.
(create_file_list): Set up drag-and-drop handlers on the file list.
2005-07-07 Matthias Clasen <mclasen@redhat.com>
Fix#157787, reported by Jonathan Blandford:
* gtk/gtkfilechooserdefault.c
(gtk_file_chooser_default_set_current_folder): Don't leave a
"trail" behind when set_current_folder is called explicitly.
(gtk_file_chooser_default_update_current_folder): New function
that is called to update the current folder in response to
user actions.
* gtk/gtkpathbar.c (_gtk_path_bar_set_path): Add a boolean
keep_trail argument, and don't leave a "trail" behind unless
it is set.
2005-07-06 Tor Lillqvist <tml@novell.com>
* gdk/win32/gdkcursor-win32.c
(gdk_win32_icon_to_pixbuf_libgtk_only): Don't create the GdkPixbuf
until we know that we have something to put in it.
2005-07-06 Tor Lillqvist <tml@novell.com>
* gdk/win32/gdkcursor-win32.c: Add comment about the current named
cursor implementation, and what it maybe really should do.
(gdk_win32_icon_to_pixbuf_libgtk_only): New function, code moved
here from gtk/gtkfilesystemwin32.c:extract_icon().
(gdk_cursor_get_image): Use
gdk_win32_icon_to_pixbuf_libgtk_only().
* gdk/gdk.symbols
* gdk/win32/gdkwin32.h: Declare gdk_win32_icon_to_pixbuf_libgtk_only().
* gtk/gtkfilesystemwin32.c (extract_icon): Use
gdk_win32_icon_to_pixbuf_libgtk_only().
2005-07-05 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkmenu.c (gtk_menu_grab_notify): Take window
groups into account. (#309473, Diego Gonzalez)
* gtk/gtkwindow.[hc]: Add a non-exported function to
get the grab widget of a window group.
2005-07-05 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreeview.c (gtk_tree_view_bin_expose): in the
'main' expose loop, add back the calls to _set_cell_data
removed earlier. (#309221, Matthias Clasen).
2005-07-04 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkmenubar.c (gtk_menu_bar_set_pack_direction)
(gtk_menu_bar_set_child_pack_direction): Queue a resize
on the contained menuitems as well.
2005-07-03 Hans Breuer <hans@breuer.org>
* **/makefile.msc[.in] : updated
* gtk/gtkiconcache.c : <io.h> for open()
* gtk/gtkstyle.c : use G_PI instead of M_PI
* gdk/win32/gdkcursor-win32.c : implement gdk_cursor_new_from_name()
by mapping the lower case win32 api name to the respective cursor.
E.g. pass "wait" to get the IDC_WAIT cursor. Also allows to load
cursors from named resources in the executable.
(gdk_cursor_get_image) : just return NULL for now.
* gdk/win32/gdkgeometry-win32.c : implement gdk_window_move_region()
by delegation to ScollWindowEx(), untested.
* gdk/win32/gdkwindow-win32.c : stub for gdk_window_set_urgency_hint()
2005-07-03 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkimagemenuitem.c: Hmm, when committing my vertical
menubar patch, I forgot the GtkImageMenuItem changes. And I
managed to do 2 releases without noticing that...
2005-07-03 Matthias Clasen <mclasen@redhat.com>
* gtk/gtksettings.c (gtk_settings_class_init): Correct the
blurb for the icon-sizes setting. String change.
(#309355, Benjamin Berg)
2005-06-30 Matthias Clasen <mclasen@redhat.com>
* gdk/x11/gdkvisual-x11.c (gdk_visual_decompose_mask): Avoid
infinite loop if a mask is zero. (#309222, David Saxton)
2005-06-28 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkiconview.c (gtk_icon_view_calculate_item_size2):
Make sure that cell boxes are always completely inside
the item area.
2005-06-27 Matthias Clasen <mclasen@redhat.com>
* gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end):
Fix positioning at the end of the line for lines ending
in invisible characters.
(gtk_text_layout_get_line_display): Set display->layout
to a PangoLayout, even for totally invisible lines.
2005-06-27 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkmenushell.c (gtk_menu_shell_grab_broken): Ignore
GrabBroken events which are caused by overgrabbing inside
the application; menus rely on these for their operation.
* gdk/gdkevents.h (struct _GdkEventGrabBroken): Add a
grab_window field.
* gdk/win32/gdkevents-win32.c (gdk_event_translate): Set
grab_window to NULL when generating GrabBroken events for
WM_KILLFOCUS messages.
* gdk/x11/gdkmain-x11.c (_gdk_xgrab_check_unmap)
(_gdk_xgrab_check_destroy): Set grab_window to NULL when
generating GrabBroken events when the grab window becomes
unviewable or is destroyed.
* gdk/x11/gdkmain-x11.c (gdk_pointer_grab, gdk_keyboard_grab):
Generate GrabBroken events when overriding a grab inside
the application. In this case, set grab_window to the new
grab_window.
2005-06-27 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkbutton.c (gtk_real_button_activate): Continue
to activate even if we can't grab the keyboard.
(gtk_button_finish_activate): Only ungrab when we have
a keyboard grab. (#172998, William Jon McCann)
2005-06-27 Matthias Clasen <mclasen@redhat.com>
* modules/input/gtkimcontextxim.c (gtk_im_context_xim_finalize):
Avoid a segfault. (#309054)
* gdk/x11/gdkdisplay-x11.h (struct _GdkDisplayX11): Add
fields for grab timestamps.
* gdk/x11/gdkmain-x11.c (gdk_pointer_grab, gdk_keyboard_grab):
Store grab timestamps when grabbing.
* gdk/x11/gdkdisplay-x11.c (gdk_display_keyboard_ungrab)
(gdk_display_pointer_ungrab): Don't unset the grab_window
if the timestamps indicate that the ungrab will fails.
2005-06-27 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkmenu.c (gtk_menu_grab_notify): Cancel menus when
they are grab-shadowed by something thats not a
submenu. (#145416, Euan MacGregor)
2005-06-26 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkmenu.c (gtk_menu_paint): Pay attention to the
scroll offset when drawing the box. (#308834, Tom von
Schwerdtner)
2005-06-26 Tor Lillqvist <tml@novell.com>
* gdk/Makefile.am
* gtk/Makefile.am: Current GNU tools do understand the PRIVATE
keyword, so no need to remove those entries from the import
library. libtool installs the .dll.a import library itself, so no
need to do it here. Install the .def file.
2005-06-25 Matthias Clasen <mclasen@redhat.com>
* gdk/x11/gdkmain-x11.c (gdk_keyboard_grab, gdk_pointer_grab):
Don't emit grab-broken for overgrabbing, until we figure
out how to do that without breaking the menu code.
2005-06-25 Matthias Clasen <mclasen@redhat.com>
Add a GrabBroken event to GDK, and a grab-broken-event
signal to GtkWidget. (#107320, Simon Cooke, initial patch
by John Ehresman)
* gdk/gdkevents.h: Add a GDK_GRAB_BROKEN event type,
define a GdkEventGrabBroken event struct.
* gdk/win32/gdkevents-win32.c (gdk_event_translate):
Generate GrabBroken events in response to WM_KILLFOCUS.
* gdk/x11/gdkmain-x11.c: Generate GrabBroken events
when a grab is broken by the window becoming unviewable,
or by another grab from the same client.
* gtk/gtkwidget.h (GtkWidgetClass): Add grab_broken_event.
* gtk/gtkwidget.c (gtk_widget_event_internal): Translate
GrabBroken events into grab_broken_event signals.
* gtk/gtkmain.c (gtk_main_do_event): Propagate GrabBroken
events.
* gtk/gtkmenushell.c (gtk_menu_shell_grab_broken): Deactivate
the menu when the grab is broken.
* gtk/gtkcolorsel.c (gtk_color_selection_grab_broken): Stop
the color picker if the grab is broken.
* gtk/gtkpaned.c (gtk_paned_grab_broken): Stop the drag if
the grab is broken.
2005-06-24 Owen Taylor <otaylor@redhat.com>
* gdk/gdkrgb.c (gdk_rgb_select_conv): Fix up selection of
conversion functions for MSB machines: convert_0888[_br]
now work on bytes so are endian independent.
(Reported by David Zeuthen)
2005-06-24 Matthias Clasen <mclasen@redhat.com>
* gtk/gtktextview.c (gtk_text_view_scroll_hpages): Don't
jump to the next line if we are at the end of the line.
2005-06-23 Tor Lillqvist <tml@novell.com>
Improve and simplify line segment rendering on Win32, especially
the implementation of GDK_CAP_NOT_LAST, and dashed lines. Fixes
bug #306396.
* gdk/win32/gdkprivate-win32.h (GdkGCWin32): Save the GdkGC's
line_style, cap_style and join_style as such in the
GdkGCWin32. Don't need to keep the pen_double_dash flag, we can
check the line_style.
* gdk/win32/gdkgc-win32.c (fixup_pen): New internal function. Sets
up the GDI pen type, style, end cap and join attributes to use
based on the pen width, GDK line style, end cap style, and join
style.
For a narrow (zero-width) GDK pen with the GDK_CAP_NOT_LAST end
cap style, which typically are used for XOR drawing where it is
essential that the last pixel is not drawn, use a GDI cosmetic
pen. Only for a cosmetic pen does GDI not draw the last pixel. I
deduced this by experimetation, the documentation is rather vague.
For other GDK pens use a geometric GDI pen. If the width is 0 or 1
and the GDK end cap style is GDK_CAP_BUTT, and the line style is
GDK_LINE_SOLID, use PS_ENDCAP_ROUND. This ensures that also
single-pixel length lines are drawn. (For sngle-pixel width lines
roundness as such is of course irrelevant.) For dashed lines, use
PS_ENDCAP_FLAT.
For wide lines use PS_ENDCAP_FLAT, _ROUND or _SQUARE,
respectively, for GDK_CAP_BUTT, GDK_CAP_ROUND and GDK_CAP_PROJECTING.
For one pixel on-off dashed lines, use PS_ALTERNATE, it seems to
work better than PS_USERSTYLE. For other dashed lines, use
PS_USERSTYLE and the dashes as set by the user (or the default
four-pixel on-off style).
(gdk_win32_gc_values_to_win32values, gdk_win32_gc_set_dashes):
Call fixup_pen() to do the pen settings after modifying some of
the GDK GC attributes that affect pens.
* gdk/win32/gdkdrawable-win32.c (render_line_horizontal,
render_line_vertical, draw_segments): Check GdkGCWin32::line_style
instead of the the removed pen_double_dash member. Don't use
PATCOPY unconditionally in the PatBlt() call, use a raster ope
code that depends on the GC function in use.
(draw_rectangle, draw_segments, draw_lines): Be more careful in
deciding when to do the manual dash rendering.
(draw_segments): Don't do any manual "last point" drawing at
all. The above changes takes care of narrow line segments being
drawn correctly in most cases, at least on NT-based Windows.
2005-06-23 Matthias Clasen <mclasen@redhat.com>
* gtk/gtktreeview.c (gtk_tree_view_key_press): Change the
keynav for header reordering and resizing to Alt-arrows and
Shift-Alt-arrows, following a proposal by the keynav
authority. (#308666, Calum Benson)
2005-06-23 Owen Taylor <otaylor@redhat.com>
* gdk/gdkcairo.c (gdk_cairo_set_source_pixbuf): Fix the
big endian case for 3-channel source. (Reported by
David Zeuthen)
2005-06-23 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkbutton.c (gtk_button_construct_child): Don't
trigger warnings if there are extra references to the
hbox. (#308677, Dan Winship)
2005-06-22 Matthias Clasen <mclasen@redhat.com>
* gdk/x11/gdkdnd-x11.c (xdnd_finished_filter): Set the
time field in the event. (#308573, Morten Welinder)
2005-06-21 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkarrow.c:
* gtk/gtkimage.c:
* gtk/gtklabel.c:
* gtk/gtkpixmap.c: Modify all of the GtkMisc widgets to round down
on centering calculations to match the behaviour of other parts
of GTK+. (#307419, Ryan Lortie)
2005-06-21 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkdnd.c (gtk_drag_source_set): Connect to
button-release-event as well, to handle touchscreen
scenarios better. (#171490, Markku Vire)
2005-06-21 Matthias Clasen <mclasen@redhat.com>
* gdk/gdk.symbols:
* gdk/gdkwindow.h:
* gdk/x11/gdkgeometry-x11.c (gdk_window_move_region): New
function which can be used to implement scrolling in
non-window widgets. (#135165, Søren Sandmann)
2005-06-19 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreeview.c (gtk_tree_view_clamp_node_visible): added a
check which avoids processing updates on bin_window and scrolling
if the node is already visible. (#170600, Billy Biggs).
2005-06-19 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreeview.c (validate_visible_area): only keep the
row at the same position if the full row is visible. (#304623,
Jorn Baayen).
2005-06-19 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreeview.c (gtk_tree_view_size_allocate): set dy to zero
if treeview's height is smaller than the current page_size (just
like we do elsewhere).
2005-06-19 Kristian Rietveld <kris@gtk.org>
Make mousewheel scrolling possible in typeahead mode, suggestion
from Reinout van Schouwen (#307898).
* gtk/gtktreeview.c (gtk_tree_view_ensure_interactive_directory):
connect treeview search window to scroll_event signal,
(gtk_tree_view_search_scroll_event): implement.
2005-06-19 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreeview.c (gtk_tree_view_search_button_press_event): pass
the event on to treeview, so it has a change of selecting a row, etc.
(#169677, Kirk Bridger).
2005-06-19 Kristian Rietveld <kris@gtk.org>
This commit includes a fix for #169463, Stefan Kost.
* gtk/gtkcellrendererprogress.c (gtk_cell_renderer_progress_get_size):
when cell_area is set, return cell_area width/height as width/height,
so the focus rectangle will be drawn correctly.
* gtk/gtktreeview.c (gtk_tree_view_bin_expose): drop unneeded get
of focus-line-width property,
(validate_row): take focus_line_width into account.
* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_cell_process_action):
also take focus_line_width into account when calculating the cell_area
y and height (before, we only took it into account when calculating
x and width).
2005-06-19 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk.symbols:
* gtk/gtksizegroup.[hc]: Add an ignore-hidden property
with getter and setter. (#171612, Christian Neumair)
2005-06-18 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkuimanager.c (gtk_ui_manager_add_ui): Make this
work for inserting before/after an existing menuitem or
toolitem. (#155946, Christian Persch)
* tests/testmerge.c (delayed_toggle_dynamic): Test the
"insert after" functionality of gtk_ui_manager_add_ui.
2005-06-18 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreeview.c (gtk_tree_view_bin_expose): undo merging
of the separate loop setting cell data with cell drawing loop
(introduced in revision 1.280), since this breaks focus handling
wrt special cells.
Sat Jun 18 04:22:51 2005 Manish Singh <yosh@gimp.org>
* gdk/gdkcursor.h: remove GDK_CURSOR and GDK_IS_CURSOR, instance
checks don't work on boxed types.
* gdk/x11/gdkcursor-x11.c:
* gdk/gdkcursor.c: make return_if_fail checks != NULL instead of
GDK_IS_CURSOR.
2005-06-17 Matthias Clasen <mclasen@redhat.com>
Support the ICCCM urgency hint. (#61858, Havoc Pennington)
* gtk/gtk.symbols:
* gtk/gtkwindow.[hc]: Add a GtkWindow::urgency-hint property
with getter and setter.
* gdk/gdk.symbols:
* gdk/gdkwindow.h:
* gdk/x11/gdkwindow-x11.c (gdk_window_set_urgency_hint):
Add a setter for the urgency hint.
* gdk/x11/gdkwindow-x11.h (struct _GdkToplevelX11): Store
urgency hint here.
* gdk/x11/gdkwindow-x11.c (update_wm_hints): Set the urgency
hint in the WM_HINTS property when appropriate.
2005-06-17 Kristian Rietveld <kris@gtk.org>
Fix#160281, testcase from Peter Bloomfield.
* gtk/gtktreeview.c (do_presize_handler): always size request
and update adjustments in fixed height mode,
(gtk_tree_view_build_tree): if a fixed height is set, set this
height on newly added nodes.
2005-06-17 Tor Lillqvist <tml@novell.com>
* gdk/win32/gdkdnd-win32.c (gdk_dropfiles_filter): Set the actions
and suggested_action fields in the GdkDragContext to
GDK_ACTION_COPY. Otherwise apps that check the suggested_action
field, like eog, won't accept dropped files.
2005-06-17 Matthias Clasen <mclasen@redhat.com>
* gdk/x11/gdkcursor-x11.c:
* gdk/gdkcursor.c: Improve some return_if_fail checks,
and add the missing non-Xcursor fallback for
_gdk_x11_cursor_update_theme(), noticed by Jeroen
Zwartepoorte.
2005-06-17 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkentrycompletion.c (gtk_entry_completion_complete):
Resize the popup if necessary. (#308076, Vincent Noel)
2005-06-17 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkwindow.c (gtk_window_real_set_focus): Queue a
draw on the old and new focus widgets, if their defaultness
changes. (#305607, Billy Biggs)
2005-06-17 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreeview.c (validate_visible_area): make sure the row
above 'above_path' is always in a validated state, so it does
not mess up scrolling. (#303319, testcase from Billy Biggs).
2005-06-17 Matthias Clasen <mclasen@redhat.com>
* gdk/x11/gdkprivate-x11.h:
* gdk/x11/gdkcursor-x11.c: Handle cursor theme changes
for cached cursors which are not associated with a window
at the time of the theme change, by storing a serial
number in each cursor, and updating the theme_serial
counter whenever the cursor theme changes.
* gdk/x11/gdkcursor-x11.c (_gdk_x11_cursor_update_theme):
Private function to update a cursor to the current
cursor theme if necessary.
* gdk/x11/gdkmain-x11.c (gdk_pointer_grab):
* gdk/x11/gdkwindow-x11.c (gdk_window_set_cursor): Call
_gdk_x11_cursor_update_theme() here.
2005-06-17 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreeview.c (validate_visible_area): don't try to update
the top_row rowref ourselves here, but just have _dy_to_top_row()
do it,
(gtk_tree_view_scroll_to_cell): handle scrolling via
validate_visible_area() if the treeview is not visible or needs
reallocation. (#165246, Nickolay V. Shmyrev).
2005-06-17 Kristian Rietveld <kris@gtk.org>
Fixes#307914 (Alexander Larsson), fixing some breakage caused
by my previous commit.
* gtk/gtktreeview.c (validate_visible_area): force dy to be zero
when it fits on a single page,
(scroll_sync_handler): same here.
Thu Jun 16 15:33:42 2005 Manish Singh <yosh@gimp.org>
* gdk/x11/gdkcursor-x11.c (update_cursor): remove unused variable.
* gdk/x11/gdkwindow-x11.c (_gdk_x11_window_get_cursor): use
g_return_val_if_fail.
* gtk/gtkdnd.c (gtk_drag_get_cursor): initialize hot_x and hot_y
for all cases.
* gtk/gtkfilechooserdefault.c (button_new): gtk_button_set_image
takes a GtkWidget, not a GtkImage.
2005-06-16 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkfilechooserdefault.c (button_new): Simplify
the code and respect the show-button-images setting.
(#307941, Vincent Noel)
2005-06-15 Matthias Clasen <mclasen@redhat.com>
* gtk/gtksettings.c: Add two new settings,
gtk-cursor-theme-name and gtk-cursor-theme-size to
control the cursor theme.
* gdk/x11/gdkevents-x11.c: Add two new X settings,
Gtk/CursorThemeName and Gtk/CursorThemeSize, and map
these to the gtk settings.
* tests/testgtk.c (create_cursors): Add a cursor theme
testcase.
2005-06-15 Matthias Clasen <mclasen@redhat.com>
* gdk/x11/gdkwindow-x11.[hc]: Keep a reference to the
GdkCursor and add a private getter for it, so that we can
update the cursor when the cursor theme changes.
* gdk/gdk.symbols:
* gdk/x11/gdkx.h:
* gdk/x11/gdkcursor-x11.c (gdk_x11_display_set_cursor_theme):
New function to change the cursor theme.
2005-06-14 Federico Mena Quintero <federico@ximian.com>
Merged from gtk-2-6:
Fix#302087:
* gtk/gtkfilechooserdefault.c (list_selection_changed): Emit
"selection-changed" and do the normal housekeeping even if we are
in SAVE mode and there is nothing selected. We didn't emit that
signal if we were in SAVE mode and unselect_all() got called.
(gtk_file_chooser_default_unselect_all): Call
pending_select_paths_free() so that we cancel any asynchronous
selections.
(gtk_file_chooser_default_set_current_name): Likewise.
2005-06-14 Federico Mena Quintero <federico@ximian.com>
Merged from gtk-2-6:
Fixes#307640:
* gtk/gtkfilechooserdefault.c
(gtk_file_chooser_default_should_respond): Oops, I broke SAVE
mode. If the parent path is a folder, only create a subfolder if
we are in CREATE_FOLDER mode; if we are in SAVE mode, just return
and respond. Also, pick up the case where the user types
"dirname/" instead of "dirname".
(check_save_entry): Make the return type void. Add some return
parameters so that we can do more thorough checking.
(gtk_file_chooser_default_get_paths): If the file part is empty
and we are in SAVE mode, return an empty selection.
2005-06-15 Kristian Rietveld <kris@gtk.org>
Patch for #163214 (reported by Tommi Komulainen) and fixes some
other scrolling/validation related bugs along the why.
* gtk/gtktreeview.c (gtk_tree_view_size_request): run
do_validate_rows once and don't queue a size request there,
(gtk_tree_view_size_allocate): don't update vadj value without
reason, sync top_row/dy after the window sizes and adjustments
are in sync again,
(validate_visible_area): always update dy when scrolling,
manually set top_row here after changing the vadj (don't depend
on _adjustment_changed and top_row/dy sync to do this), since we
now always set top_row here correctly, we can always free
scroll_to_path at the end which avoids infinite expose loops,
(do_validate_rows): add queue_resize boolean, remove top_row/dy
sync here, we cannot do it safely at this place since the
window sizes and adjustments are out of sync,
(validate_rows), (validate_rows_handler): update call to
do_validate_rows().
2005-06-14 Matthias Clasen <mclasen@redhat.com>
* gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_name): Add a
stub for the no-Xcursor case. (noticed by Luis Villa)
2005-06-14 Matthias Clasen <mclasen@redhat.com>
Use named cursors for the DND cursors, the names are "dnd-none",
"dnd-copy", "dnd-link", "dnd-move" and "dnd-ask". Also use an RGBA
cursor instead of cursor+window when possible. This saves
roundtrips during the drag operation, and makes translucent icons
possible.
* gtk/gtkdndcursors.h: New file, containing inlined pixbufs
for the default dnd cursors.
* gtk/gtkdnd.c (struct _GtkDragSourceInfo): Store the cursors
used during the drag here, also store the icon pixbuf here.
* gtk/gtkdnd.c (drag_cursors): Store the cursor names here. Also
switch the default cursors from xbm to inlined pixbufs.
* gtk/gtkdnd.c (gtk_drag_get_cursor): This function now takes the
GtkDragSourceInfo as well, since it has to composite the
drag-specific cursors. The cursors combined from the image of
the themed cursor and the icon_pixbuf stored in the info.
* gtk/gtkdnd.c (gtk_drag_begin_internal): Don't set the default
icon if there is an icon_pixbuf, which will be composited into
the cursor later.
* gtk/gtkdnd.c (set_icon_stock_pixbuf): If appropriate, store
the pixbuf in the info struct for later compositing into the
cursor instead of creating an icon window.
* gtk/gtkdnd.c (gtk_drag_drop_finished): If we used an
RGBA cursor for the drag, and need to display the cancel
animation, construct the icon window here.
* gtk/gtkdnd.c (gtk_drag_source_info_destroy): Unref the
drag-specific cursors and the icon_pixbuf when done with
the drag.
2005-06-14 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkcolorsel.c (make_picker_cursor): Use a named cursor
with the name "color-picker", when available.
2005-06-14 Matthias Clasen <mclasen@redhat.com>
* gdk/gdk.symbols:
* gdk/gdkcursor.h:
* gdk/x11/gdkcursor-x11.c (gdk_cursor_get_image)
(gdk_cursor_new_from_name): New functions to construct named
cursors and to get the image used for a cursor.
2005-06-13 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkpathbar.[hc]: Rework the way in which rerooting of the
path bar is done, implementing the following principles:
(#137289, patch by Benjamin Otte)
1. Re-root only if $HOME is an ancestor of the current path.
2. When re-rooting, make sure the Left arrow appears in the path
bar, so that you can navigate up from $HOME to /. In that case,
make sure the Right arrow doesn't appear if the sub-hierarchy from
$HOME to the cwd fits in the window.
3. Make sure that hitting Alt-Up takes you always one folder up,
even when the path bar is re-rooted.
2005-06-13 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkfilechooserbutton.c (model_update_current_folder):
Free the data of the row before overwriting it. (#307490,
Kjartan Maraas)
2005-06-13 Matthias Clasen <mclasen@redhat.com>
Make invisible text work a bit better (#66194, patch by
Jeroen Zwartepoorte)
* gtk/gtk.symbols:
* gtk/gtktextiter.[hc]: Add function to move by
visible lines.
* gtk/gtktextview.c (gtk_text_view_move_cursor_internal):
Skip invisible text when moving by paragraphs.
* gtk/gtktextlayout.c (gtk_text_layout_move_iter_visually):
Skip invisible lines here too.
2005-06-12 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkcalendar.c (calendar_paint_header):
(gtk_calendar_size_request): Allow localization of the
format in which the year is displayed. (#135451, Paisa
Seeluangsawat)
2005-06-12 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkfilesystemunix.c: Support .hidden files. (#129170,
Sayamindu Dasgupta, patch by Jan Arne Petersen)
2005-06-11 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk.symbols:
* gtk/gtkiconview.h:
* gtk/gtkiconview.c (gtk_icon_view_get_visible_range):
Add a function to determine what parts of the model are
visible. (#306726, Jonathan Blandford)
2005-06-11 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkfilesystemunix.c (create_file_info): Treat backup
files the same way as hidden files, to be closer to what
Nautilus does. (#136196, Sean Middleditch)
2005-06-10 Kjartan Maraas <kmaraas@gnome.org>
* gdk/gdkcairo.c: (gdk_cairo_set_source_pixbuf): Destroy the
cairo surface when done with it. Plugs a fairly large leak in
some cases.
==6014== 1999824 (115640 direct, 1884184 indirect) bytes in
826 blocks are definitely lost in loss record 25239 of 25250
Like this from nautilus.
2005-06-10 Michael Natterer <mitch@imendio.com>
* gtk/gtk.symbols
* gtk/gtkaction.[ch] (gtk_action_get_accel_closure): new function
to get an action's accel_closure (Fixes#141750 and #148106).
2005-06-10 Matthias Clasen <mclasen@redhat.com>
* gdk/gen-keyname-table.pl: Generate N_() calls for
translatable key names.
* gdk/keynames.txt: Mark some key names as translatable.
* gdk/keyname-table.h: Regenerated.
* gtk/gtkaccellabel.c (gtk_accel_label_class_init): Add
some context to the msg ids for keyboard modifiers and
key names.
(_gtk_accel_label_class_get_accelerator_label): Try to
translate key names. (#300224, Christian Rose)
2005-06-10 Federico Mena Quintero <federico@ximian.com>
Merged from gtk-2-6:
Fixes#162358:
* gtk/gtkfilechooserdefault.c (update_chooser_entry): Don't return
immediately if we are in CREATE_FOLDER mode, so that we can fill
the entry with the newly-selected folder.
(gtk_file_chooser_default_set_property): Warn against turning on
multiple selection for CREATE_FOLDER mode, or about setting that
action while multiple selection is on.
(update_chooser_entry): Change the entry's contents as well if we
are in CREATE_FOLDER mode. If nothing is selected, clear the
chooser entry.
(trap_activate_cb): Don't trap enter/space if modifiers are
pressed. This lets one use Ctrl-space to toggle rows in multiple
selection mode.
(gtk_file_chooser_default_should_respond): Clean up the if-chain
mess of special cases by using an array to determine what to do.
Also, for the save-entry case in CREATE_FOLDER mode, actually fix
the bug where the file chooser would switch to an existing folder
rather than confirming with it, and create the folder ourselves.
(error_creating_folder_over_existing_file_dialog): New function.
* gtk/gtkfilechooserentry.c (check_completion_callback): Only
insert the common prefix if we are in an "open" mode. Use a
helper function.
(append_common_prefix): New helper function; code moved over from
check_completion_callback().
(find_common_prefix): New helper function.
(gtk_file_chooser_entry_focus): Append the common prefix if the
user requests it explicitly.
2005-06-09 Matthias Clasen <mclasen@redhat.com>
* gdk/x11/gdkdnd-x11.c (motif_drop_start, xdnd_drop_filter): Update
the user time on the window when a drop happens. (#169364, Alexander
Hunziker, patch by Elijah Newren)
2005-06-09 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk.symbols:
* gtk/gtkiconview.h:
* gtk/gtkiconview.c (gtk_icon_view_scroll_to_path): New function
to scroll to a path. (#306838, Jonathan Blandford)
2005-06-08 Matthias Clasen <mclasen@redhat.com>
* gtk/gtktreeview.c (gtk_tree_view_real_start_interactive_search):
Don't crash if search_window is NULL. (#304914, Victor Osadci,
testcase by Olaf Vitters)
2005-06-05 Tor Lillqvist <tml@novell.com>
* gdk/win32/gdkscreen-win32.c
(_gdk_windowing_substitute_screen_number): Return NULL unless
screen number is zero. We have only one screen on Win32.
(gdk_screen_make_display_name): Call gdk_display_get_name() and
return that.
2005-06-05 Tor Lillqvist <tml@novell.com>
* modules/engines/Makefile.am
* modules/input/Makefile.am: Decide whether to build the
ms-windows theme engine based on the GDK backend, not based on
platform. (I.e., if building for Cygwin with the X11 backend, we
shouldn't build the ms-windows engine, but if building for Cygwin
but with the Win32 backend, we should.) Ditto for the IME
(Windows) input module. (#305832)
2005-06-04 Tor Lillqvist <tml@novell.com>
* gdk/win32/gdkcursor-win32.c
* gdk/win32/gdkwindow-win32.c
* gdk/win32/gdkprivate-win32.h: Support full-colour cursors.
Support cursors with alpha on XP. Use code in common with the
support for alpha icons that already was present. (#306101, Tim
Evans)
2005-06-04 Tor Lillqvist <tml@novell.com>
* modules/engines/ms-windows/msw_style.c: Render insensitive icons
in a way that more closely matches Windows. (#305986, Tim Evans).
* modules/engines/ms-windows/Makefile.am (LDADDS): Link with
gdk-pixbuf.
2005-05-26 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk.symbols:
* gtk/gtkentrycompletion.c: Add a property to suppress the
popup for single matches. (#154711)
* gtk/gtkentry.c (gtk_entry_completion_timeout): Respect it here.
* gtk/gtkfilechooserentry.c (_gtk_file_chooser_entry_set_action):
Use it here.
2005-05-26 Matthias Clasen <mclasen@redhat.com>
* gtk/gtktextbtree.c (_gtk_text_btree_tag): Queue the
redisplay after modifying the tag in the btree, otherwise
we end up showing the old tags until the next redraw comes
around. (#143537, Gary Kramlich)
2005-05-26 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkcombobox.c (gtk_combo_box_list_auto_scroll): Make
autoscrolling work at the bottom of the screen.
2005-05-26 Sven Neumann <sven@gimp.org>
* gtk/gtkselection.c (gtk_selection_data_set_pixbuf): use a less
aggressive PNG compression level (bug #305340).