2005-09-09 Matthias Clasen <mclasen@redhat.com>
Stop cursor blinking in non-editable regions of a text view.
(#311508, Torbjörn Andersson)
* gtk/gtktextview.c (gtk_text_view_check_cursor_blink):
(cursor_blinks): Take editability into account when deciding
whether the cursor blinks.
(gtk_text_view_button_release_event):
(gtk_text_view_move_cursor_internal): Update cursor blinking here.
2005-09-09 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkcalendar.c (gtk_calendar_init): first_weekday is relative
to week_1stday, not to Sunday. Gotta love the ISO 14652 guys...
(#314473, Stanislav Brabec)
2005-09-09 Tor Lillqvist <tml@novell.com>
* gdk/win32/gdkdisplay-win32.c (gdk_display_get_name): Cache the
display name. There is only one GdkDisplay on Win32, and
constructing the display name isn't entirely trivial, so cacheing
is probably worth it. For instance GIMP calls this function a lot.
(gdk_display_open): Call gdk_display_get_name() to prime the
cached name.
(gdk_display_get_n_screens, gdk_display_get_screen,
gdk_display_get_default_screen): Verify parameter correctness like
the X11 backend does.
* gdk/win32/gdkscreen-win32.c (gdk_screen_make_display_name):
Return a freshly allocated string, as the API specifies. Fixes a
heap corruption problem that caused random errors and crashes in
GIMP, for instance.
2005-09-07 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkimcontextsimple.c (gtk_im_context_simple_filter_keypress):
Make C-u commit and restart hex input if we are already in a
hex sequence.
2005-09-06 Matthias Clasen <mclasen@redhat.com>
* gdk/x11/gdkkeys-x11.c (update_modmap): Make the modmap reflexive.
(_gdk_keymap_add_virtual_modifiers): Don't add both Alt and Meta
if they are mapped to the same modifier.
2005-09-06 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkaccelgroup.c (gtk_accelerator_parse):
* gtk/gtkaccellabel.c (_gtk_accel_label_class_get_accelerator_label):
Don't use GDK_ALT_MASK.
* gdk/gdktypes.h: No need to introduce GDK_ALT_MASK
2005-09-06 Matthias Clasen <mclasen@redhat.com>
* tests/testgtk.c (create_key_lookup): Add tests for extra virtual
modifiers.
* gtk/gtkkeyhash.c (_gtk_key_hash_lookup): Try to match both against
Mod2 - Mod5 and against Super, Hyper, Meta.
* gtk/gtkaccellabel.c (_gtk_accel_label_class_get_accelerator_label):
* gtk/gtkaccelgroup.c (gtk_accelerator_parse)
(gtk_accelerator_name): Support Super, Hyper Meta and Mod2 - Mod5.
2005-09-06 Matthias Clasen <mclasen@redhat.com>
Add support for extra virtual modifiers: (#85780, Owen Taylor)
* gdk/x11/gdkkeys-x11.c (struct _GdkKeymapX11): Add a
modmap to maintain the information which X modifiers map to
virtual modifiers.
(get_xkb): Set up the modmap from the XKB tables.
(update_keymaps): Set up the modmap from the information returned
by XGetModifierMapping in the non-XKB case.
* gdk/x11/gdkprivate-x11.h:
* gdk/x11/gdkkeys-x11.c (_gdk_keymap_add_virtual_modifiers): New
function to set the virtual modifiers in the state.
* gdk/x11/gdkevents-x11.c (translate_key_event): Call
_gdk_keymap_add_virtual_modifiers here.
* gdk/gdktypes.h (GdkModifierType): Add bits for virtual Super,
Hyper and Meta modifiers. Also add GDK_ALT_MASK as an alias
for GDK_MOD1_MASK.
2005-09-05 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkaction.c (connect_proxy): Set the label of a button
if it has no child. (#315253, John Finlay)
2005-09-02 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkentry.c (gtk_entry_destroy): Disconnect idle handlers
on destroy to avoid problems when they are called on a destroyed
widget. (#315135, John Cupitt)
2005-09-02 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkimcontextsimple.c: Rework the Unicode hex input
code. Now we only steal a single key combination, Ctrl-Shift-U,
instead of sixteen.
A hex Unicode sequence must be started with Ctrl-Shift-U, followed
by a sequence of hex digits entered with Ctrl-Shift still held.
Releasing one of the modifiers or pressing space while the modifiers
are still held commits the character. It is possible to erase
digits using backspace.
As an extension to the above, we also allow to start the sequence
with Ctrl-Shift-U, then release the modifiers before typing any
digits, and enter the digits without modifiers.
(#82011, Owen Taylor)
2005-09-02 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkmain.c (gtk_get_event_widget): If the window is destroyed,
we still need to deliver the destroy event. (#314980, Chris Lahey)
2005-09-02 Alexander Larsson <alexl@redhat.com>
* gtk/gtkfilechooserdefault.c: (shortcuts_add_volumes),
(shortcuts_activate_volume):
Handle base_path being null in the rest of the cases (#310270)
2005-09-02 Tor Lillqvist <tml@novell.com>
* gdk/win32/gdkevents-win32.c (gdk_event_translate): Keep track of
cursor position also in root window coordinates. Prune out
superfluous WM_MOUSEMOVE messages even earlier, based on root window
coordinates. Windows sends WM_MOUSEMOVE messages after a new
window has ben mapped below the cursor even if the mouse doesn't
move. We used to generate GDK_MOTION_NOTIFY in these cases. This
confused at least gtk_menu_motion_notify(). (#314995)
* gtk/gtkintl.h: No need to include config.h here. It caused
warnings about GTK_LOCALEDIR being redefined on Win32 when
compiling files where gtkintl.h is included after gtkprivate.h
(which #undefines and re-#defines GTK_LOCALEDIR on Win32).
* gtk/gtkplug.c: Include config.h.
2005-09-01 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkfilesystemunix.c: Pass statbufs down to
xdg_mime_get_mime_type_for_file() where possible, to avoid
useless re-stating.
2005-09-01 Matthias Clasen <mclasen@redhat.com>
* gdk/*.c: Intern some more strings.
* gtk/gtkintl.h:
* gtk/*.c: Define an I_() macro and use it instead of the
bulky g_intern_static_string().
2005-08-31 Matthias Clasen <mclasen@redhat.com>
* gdk/Makefile.am:
* gtk/Makefile.am: Intern type names in code generated by
glib-mkenums, too.
* gtk/*.c:
* gdk/x11/*.c:
* gdk/*.c: Intern type names before registering the type to avoid
unnecessary copies.
2005-08-30 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkentry.c (gtk_entry_class_init): Add key bindings to
make C-/ select all and C-\ unselect all. (#309301,
Kathy Fernandez)
2005-08-30 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkimcontextsimple.c: Change the compose sequence for
soft hyphen to be multi_key-minus-minus-space, and add
compose sequences multi_key-minus-minus-period and
multi_key-minus-minus-minus for en dash and em dash.
(#172653, Christian Lohmaier)
2005-08-30 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkuimanager.c (gtk_ui_manager_class_init): Another
fix for the default value of the "ui" property.
2005-08-30 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk.symbols:
* gtk/gtkselection.h:
* gtk/gtkselection.c: Add functions which look for text, image
or uri targets in an array of atoms. (#314089, Mark Wielaard)
2005-08-30 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk.symbols:
* gtk/gtkwindow.h:
* gtk/gtkwindow.c: Add a deletable property with getter
and setter, to control the close button in the window
frame. (#59718, Havoc Pennington)
2005-08-29 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkrc.key.emacs: Add C-n/C-p/C-f/C-b as alternatives
to the arrow keys for menu navigation. (#162825, Carl Worth)
2005-08-29 Matthias Clasen <mclasen@redhat.com>
Add a cross-platform "tray icon" API, by
porting EggStatusIcon/EggTrayIcon (#105101)
* gtk/gtkstatusicon.h: A GtkStatusIcon is an object which
displays an icon in a notification area.
* gtk/gtkstatusicon-x11.c: GtkStatusIcon implementation for
X11, using GtkTrayIcon.
* gtk/gtktrayicon.h:
* gtk/gtktrayicon.c: An implementation of the freedesktop.org
system tray specification, not public API.
* gtk/gtk.symbols: Add new exported functions.
* gtk/gtk.h: Include gtkstatusicon.h.
* gtk/Makefile.am: Add new files.
* tests/Makefile.am:
* tests/teststatusicon.c: Test for GtkStatusIcon.
2005-08-29 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkmenu.c (gtk_menu_grab_notify): Only cancel if the menu
was active. (#314298, Christian Persch, analysis by Mark McLoughlin)
2005-08-26 Matthias Clasen <mclasen@redhat.com>
* configure.in: Bump version to 2.9.0
* gdk-pixbuf/gdk-pixbuf.sgml:
* gdk/gdk-docs.sgml:
* gtk/gtk-docs.sgml: Add indices for new
symbols in 2.10
2005-08-26 Matthias Clasen <mclasen@redhat.com>
* gdk/gdk.symbols:
* gdk/gdkscreen.h:
* gdk/gdkscreen.c: Make the GdkScreen font options api
public, and add properties GdkScreen::font-options and
GdkScreen::resolution. (#314004)
* gdk/gdkpango.c:
* gtk/gtksettings.c:
* gtk/gtkwidget.c: Adjust all callers.
* gdk/gdkintl.h: Simplify and use glib/gi18n-lib.h.
* gdk/gdkpango.c: Include gdkintl.h, not gtkintl.h.
* gdk/gdkscreen.c: Include gdkintl.h.
2005-08-26 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkicontheme.c (theme_lookup_icon): Avoid an uninitialized
variable warning, pointed out by Colin Walters. (#314585)
2005-08-25 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkmenutoolbutton.c (menu_position_func): Take widget
y offset into account when positioning the popup. (#314470,
Christian Persch)
2005-08-25 Owen Taylor <otaylor@redhat.com>
* gdk/gdkscreen.c (gdk_screen_get_type): Use gdk_screen_init
as instance_init, not base_init! (Fix from Frederic Crozat,
reported by Joe Marcus Clarke). Trivial cleanup: use -1.
rather than -1 for a negative flag value.
2005-08-24 Matthias Clasen <mclasen@redhat.com>
* gtk/gtksettings.c (gtk_settings_get_for_screen): Make sure font
and cursor settings get propagated down to the screen initially.
Pointed out by Frederic Crozat.
2005-08-24 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkicontheme.c (ensure_valid_themes): Don't try to send a client
message if the screen is NULL. Noticed by Kjartan Maraas.
2005-08-23 Owen Taylor <otaylor@redhat.com>
Fix for #314004, reported by Michael Reinsch:
* gdk/gdk.symbols:
* gdk/gdkscreen.[ch]: Add gdk_screen_get/set_font_options_libgtk_only()
Add gdk_screen_get/set_resolution_libgtk_only()
* gdk/gdkpango.c (gdk_pango_context_get_for_screen): Set
the options for the screen on the newly created context.
* gtk/gtksettings.c (settings_update_font_options/dpi) gtkwidget.c:
Move font options and dpi code from gtkwidget.c to gtksettings.c, set
the font options on the screen.
* gtk/gtkwidget.c (gtk_widget_update_pango_context): Just get
the font options from the screen and set them on the context.
2005-08-23 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreemodelsort.c (gtk_tree_model_sort_row_inserted): don't
bother inserting new rows in a level with a zero refcount and
immediately free the level. (Fixes#312350, reported by Markku Vire).
2005-08-23 Matthias Clasen <mclasen@redhat.com>
* gtk/updateiconcache.c: Complain when there is no index.theme file
in the specified directory, unless --force is used. Also add an
--index-only option to create caches without image data.
2005-08-23 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkfilechooserdefault.c (shortcuts_append_desktop): Fix a
C99ism. (#314262, Robert Jeff Mitchell)
2005-08-22 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkwindow.c (gtk_window_client_event):
* gtk/gtkicontheme.c (ensure_valid_themes)
(_gtk_icon_theme_check_reload): Implement a clientmessage based
scheme for makeing sure that all GTK+ applications notice if an
icon theme has been updated. This should prevent multiple versions
of an icon theme cache to be mapped in memory at the same time,
which can cause excessive memory consumption. (#313156, Chris
Lahey)
2005-08-22 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkicontheme.c (gtk_icon_theme_load_icon): Add a note
regarding icon theme changes.
* gtk/gtkiconcache.c (_gtk_icon_cache_get_icon): When returning
pixbufs which are backed by the mmapped memory of an icon cache,
increase the refcount of the icon cache, so that the memory is not
munmapped away underneath the pixbuf upon icon theme changes.
(#314170, Kjartan Maraas)
Sat Aug 20 16:12:14 2005 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreeview.c (gtk_tree_view_set_model): clear
scroll_to_path if the model changes.
* gtk/gtkiconview.c: (gtk_icon_view_destroy),
(gtk_icon_view_size_allocate), (gtk_icon_view_set_cursor),
(gtk_icon_view_scroll_to_path): Handle scrolling to a path before
we're realized, #312798
(gtk_icon_view_set_model): clear scroll_to_path if the model
changes.
2005-08-20 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkrange.c (gtk_range_adjustment_changed)
(gtk_range_adjustment_value_changed): Don't queue a draw
if the layout has not changed. (#313991, Benjamin Berg)
2005-08-19 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkmain.c (gtk_get_event_widget): Don't access
the user data on destroyed windows, since at best
it can be a stale pointer. (#313953, Robin Green)
2005-08-19 Matthias Clasen <mclasen@redhat.com>
* gtk/gtktreeview.c (gtk_tree_view_get_visible_range): Return
FALSE if the tree is empty. (#313891, Guillaume Cottenceau)
2005-08-19 Matthias Clasen <mclasen@redhat.com>
* gdk/x11/gdkdnd-x11.c (_gdk_drag_get_protocol_for_display)
(xdnd_read_actions, get_client_window_at_coords_recurse):
Free data returned from XGetWindowProperty.
* gdk/x11/gdkevents-x11.c (fetch_net_wm_check_window)
Free data returned from XGetWindowProperty. (313867, Kjartan
Maraas)
* gdk/x11/gdkdnd-x11.c (get_client_window_at_coords_recurse): Free
children in all cases. (#313862, Kjartan Maraas)
2005-08-19 Matthias Clasen <mclasen@redhat.com>
* gdk/x11/gdkdnd-x11.c (get_client_window_at_coords_recurse): Free
children in all cases. (#313862, Kjartan Maraas)
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).