* gtk/gtk.symbols:
* gtk/gtkactivatable.[hc]: Rename gtk_activatable_reset to
gtk_activatable_sync_action_properties, since the previous name
was deemed too generic. Update all implementations.
svn path=/trunk/; revision=22389
2009-02-19 Ray Strode <rstrode@redhat.com>
* gdk/x11/gdkscreen-x11.c
(monitor_compare_function), (init_randr13):
After using randr to get a list of monitors,
sort the list such that the biggest output
of "cloned" outputs comes first in the list.
This helps apps that don't generally handle
overlapping outputs to work better in randr
clone mode.
svn path=/trunk/; revision=22386
2009-02-19 Sven Neumann <sven@gimp.org>
* gdk/directfb/gdkwindow-directfb.c
(gdk_directfb_window_move_resize): looks like being called with
negative width and height should be interpreted as a move. Fixes
scrolling and makes popups work to some extent.
(_gdk_directfb_move_resize_child): formatting.
svn path=/trunk/; revision=22384
2009-02-19 Sven Neumann <sven@gimp.org>
* gdk/directfb/gdkdisplay-directfb.c (gdk_display_open): move
the
call to _gdk_windowing_window_init() up a little. Fixes a crash
when running on pseudo-color visuals. Thanks to Masse Nicolas
for
pointing this out.
svn path=/trunk/; revision=22382
2009-02-19 Sven Neumann <sven@gimp.org>
* gdk/directfb/gdkwindow-directfb.c
(gdk_window_foreign_new_for_display, gdk_directfb_window_new):
initialize private->impl. Thanks to Masse Nicolas for pointing
this out.
svn path=/trunk/; revision=22380
2009-02-19 Michael Natterer <mitch@imendio.com>
* gtk/gtkmountoperation.c: sort functions so their order is more
"standard", some cosmetic cleanup (not changing any code).
svn path=/trunk/; revision=22377
2009-02-19 Michael Natterer <mitch@imendio.com>
* tests/testgtk.c: add some orientation flipping code to the
"flipping" test.
svn path=/trunk/; revision=22376
2009-02-19 Michael Natterer <mitch@imendio.com>
* gtk/gtkscalebutton.c: make the orientation flipping much simpler
by using the GtkOrientable features of the involved widgets:
(gtk_scale_button_init): create the frame, box and scale here,
they never need to be recreated because they implement GtkOrientable.
(gtk_scale_button_constructor): remove their construction here.
(gtk_scale_button_set_orientation): don't destroy and re-create
anything. Instead, simply set the orientation of the above created
widgets and fiddle a bit with the "plus" and "minus" buttons'
packing and the scale's "inverted" state.
Remove separate internal GtkScaleButtonHScale and
GtkScaleButtonVScale subclasses and simply have a
GtkScaleButtonScale directly inherited from GtkScale.
svn path=/trunk/; revision=22375
2009-02-18 Sven Neumann <sven@gimp.org>
Bug 533456 – Memory leak when window is destroyed
* gdk/directfb/gdkdirectfb.h
* gdk/directfb/gdkprivate-directfb.h
* gdk/directfb/gdkcursor-directfb.c
* gdk/directfb/gdkevents-directfb.c
* gdk/directfb/gdkwindow-directfb.c: removed all #ifdef checks
for
DIRECTFB_MAJOR_VERSION >= 1. We depend on DirectFB >= 1.0.0 now.
Fixes a potential build issue that would lead to a memory leak
as
described in bug #533456.
svn path=/trunk/; revision=22367
2009-02-18 Sven Neumann <sven@gimp.org>
Bug 513422 – Unknown meaning of translatable messages
* gdk/directfb/gdkdisplay-directfb.c: removed broken and
commented
code and the translatable messages that belonged to it.
svn path=/trunk/; revision=22365
2009-02-18 Sven Neumann <sven@gimp.org>
Bug 560671 – the client_message API doesn't work in DirectFB
* gdk/directfb/gdkevents-directfb.c: applied a slightly cleaned
up
patch from Steve Lhomme that adds this functionality using
DirectFB's DFBUserEvent.
svn path=/trunk/; revision=22363
2009-02-18 Sven Neumann <sven@gimp.org>
Bug 543710 – Dead keys do not work anymore with DirectFB
* gdk/directfb/gdkkeys-directfb.c (gdk_directfb_translate_key):
applied patch from Josselin Mouette that removes special
handling
of dead keys as that is done by DirectFB for a long time
already.
svn path=/trunk/; revision=22361
2009-02-18 Sven Neumann <sven@gimp.org>
* configure.in: depend on DirectFB >= 1.0.0. There's no point in
using an earlier development version.
svn path=/trunk/; revision=22359
2009-02-18 Sven Neumann <sven@gimp.org>
Bug 554407 – directfb backend does not implement GdkWindowImpl
* gdk/directfb/gdkgeometry-directfb.c
* gdk/directfb/gdkprivate-directfb.h
* gdk/directfb/gdkwindow-directfb.c: fix the build of the
DirectFB
backend and resurrect basic functionality. Based on a patch from
the Ubuntu bug-tracker and work by Masse Nicolas.
svn path=/trunk/; revision=22357
2009-02-18 Theppitak Karoonboonyanan <thep@linux.thai.net>
Bug 457086 - numpad does not work when the Thai-Lao input method is
used
* modules/input/gtkimcontextthai.c (is_context_lost_key): Do not count
character-generating keypads as context-lost keys.
svn path=/trunk/; revision=22354
* gtk/gtkassistant.c (gtk_assistant_accessible_ref_child): Set
the object name to the page title. Proposed by Eitan Isaacson
svn path=/trunk/; revision=22345
* configure.in: Check for Xrandr 1.3
* gdk/x11/gdkdisplay-x11.[ch]: Rename have_randr12 to have_randr13
and set if if we have randr 1.3
* gdk/x11/gdkscreen-x11.c: Go back to using randr for monitor
information, if we have XRRGetScreenResourcesCurrent.
svn path=/trunk/; revision=22327
2009-02-12 Cody Russell <bratsche@gnome.org>
Bug 571576 – gdk_pixbuf_save_to_stream() broken
* gdk-pixbuf/gdk-pixbuf-io.c: Fix gdk_pixbuf_save_to_stream() so that
it does not always return FALSE (even when it succeeds), and also so
that it does not set error to NULL when something goes wrong.
svn path=/trunk/; revision=22322
2009-02-12 Marek Kasik <mkasik@redhat.com>
Bug 568571 – Asian am/pm format on cups print backend's time parsing
* modules/printbackends/cups/gtkprintbackendcups.c: Add Asian am/pm
format into formats recognized by CUPS backend
svn path=/trunk/; revision=22319
selecting a cell in a non-sortable column
* gtk/gtktreeview.c (gtk_tree_view_header_focus): Don't grab
focus to a header button if it is not focusable. Problem reported
by Joanmarie Diggs
svn path=/trunk/; revision=22316
* gtk/gtkvolumebutton.[hc]: Move the _GtkVolumeButton definition
into the header to make it possible to derive from GtkVoumeButton.
Reported by Chris Lord.
svn path=/trunk/; revision=22315
2009-02-10 Takao Fujiwara <takao.fujiwara@sun.com>
Bug 571015 libprintbackend-cups has unlocalized strings
* modules/printbackends/cups/gtkprintbackendcups.c:
Added a translator comment with the request of translators.
svn path=/trunk/; revision=22304
2009-02-09 Richard Hughes <richard@hughsie.com>
* docs/reference/gtk/migrating-GtkEntry-icons.sgml:
Fix the enumerated name in the migration document.
svn path=/trunk/; revision=22298
2009-02-09 Cody Russell <bratsche@gnome.org>
* gdk/win32/gdkwin32.h: Add potentially missing #defines for
XBUTTON1, etc. Fixes the build that was broken in r21746.
svn path=/trunk/; revision=22297
* gtk/gtkaction.c (gtk_action_[un]block_activate_from): Block
the action.
* gtk/gtkcheckmenuitem.c (gtk_check_menu_item_activatable_reset):
* gtk/gtktogglebutton. (gtk_toggle_button_activatable_reset):
* gtk/gtktoggletoolbutton.c (gtk_toggle_tool_button_activatable_reset):
Work with non-toggle actions without complaining.
* gtk/gtktoolbutton.c (gtk_tool_button_activatable_update): Updating
the icon-name should not remove the label.
* gtk/gtkimagemenuitem.c (activatable_update_icon_name): Also
update the image when the icon name is set to NULL.
svn path=/trunk/; revision=22290
* gtk/gtktooltip.c (gtk_tooltip_trigger_query): Set the root
coordinates in the event correctly. Patch by Kristian Rietveld.
svn path=/trunk/; revision=22277
2009-02-01 Behdad Esfahbod <behdad@gnome.org>
* gtk/gtksettings.c (gtk_settings_class_init): Change the
"gtk-fontconfig-timestamp" property from int to uint. Doesn't affect
anything in practice, except that it overflows years later...
svn path=/trunk/; revision=22270
2009-02-01 Behdad Esfahbod <behdad@gnome.org>
Bug 569635 – fontchooser should reload list of families/styles on
theme change
* gtk/gtkfontsel.c (gtk_font_selection_class_init),
(gtk_font_selection_init), (gtk_font_selection_finalize),
(gtk_font_selection_ref_family), (gtk_font_selection_ref_face),
(gtk_font_selection_reload_fonts),
(gtk_font_selection_screen_changed),
(gtk_font_selection_style_set),
(gtk_font_selection_scroll_to_selection),
(gtk_font_selection_scroll_on_map),
(gtk_font_selection_select_font),
(gtk_font_selection_show_available_fonts),
(gtk_font_selection_show_available_styles),
(gtk_font_selection_select_style),
(gtk_font_selection_select_font_desc),
(gtk_font_selection_set_font_name):
Reload Pango families and faces in style_set. Installing/uninstalling
fonts shows up immediately in an open font chooser now.
svn path=/trunk/; revision=22269
* gtk/gtkkeyhash.c (_gtk_key_hash_lookup): Change the handling of
fuzzy matches: As long there are any exact matches, only exact
matches are returned. If there are no exact matches, fuzzy matches
will be returned, as long as they are not shadowing a possible exact
match. This means that fuzzy matches won't be considered if their
keyval is present in the current group. Problem reported by
many people, patch by Simos Xenitellis.
svn path=/trunk/; revision=22266
* gtk/gtkrecentchooser.c (gtk_recent_chooser_set_use_action_appearance):
Avoid a compiler warning. Patch by Magnus Boman.
svn path=/trunk/; revision=22261
* gtk/gtktoolbar.c (slide_idle_handler): Make sure we queue
at least one resize. This fixes a problem with toolitems remaining
invisible when they shouldn't that was reported by Christian Weiske.
svn path=/trunk/; revision=22260
2009-01-29 Tor Lillqvist <tml@novell.com>
Bug 559408 - Transparency lost when images are copied between GTK+
and the clipboard on Windows
The code in gdkselection-win32.c is simplified quite a lot. When
an image is stored on the clipboard from GTK+, only the "PNG" and
CF_DIB formats are advertised. PNG is our preferred format because
it can losslessly represent any image that gdk-pixbuf can handle,
even with alpha, unambiguously. CF_DIB is also advertised because
of its ubiquitous support in Windows software.
Delayed rendering is used as before, so for other data than text
nothing is actually stored on the clipboard until some app asks
for it.
It's pointless to advertise images formats like "image/png" or
"image/x-MS-bmp" that no other Windows application is going to
look for anyway. Likewise it's pointless to store text under
formats like "text/plain" or "UTF8_STRING". Just store
CF_UNICODETEXT. CF_TEXT will be available as a synthesized format
anyways.
Office 2007 offers and asks for images in PNG format using the
registered clipboard format name "PNG", so we do likewise. If the
"PNG" format is available that is preferred when copying to GTK+
from the clipboard.
Unfortunately Word 2007 still uses CF_DIB without handling
alpha. But PowerPoint 2007 uses PNG if available and handles alpha
correctly. Both Word and Powerpoint offer PNG with alpha nicely.
Firefox and IE7 offer images that contain alpha as 32-bit version
3 BI_RGB DIBs with the undocumented "extra" bytes actually being
alpha. Also, alpha is premultiplied into the RGB bytes, presumably
because that is how AlphaBlend() wants such DIBs. That is also
taken care of. At least for Firefox it easy to be sure that a
CF_DIB on the clipboard is from Firefox.
Also some general stylistic cleanup, comment improvements, and
improvements of debugging printout especially in the clipboard
handling. Those are not detailled below.
* gdk/win32/gdkprivate-win32.h
* gdk/win32/gdkglobals-win32.c
* gdk/win32/gdkgmain-win32.c: Move some globals that were used
only in gdkselection-win32.c to be local to that file.
* gdk/win32/gdkproperty-win32.c (gdk_property_change): Don't
bother checking if text to be placed on the clipboard consists of
only ASCII.
* gdk/win32/gdkselection-win32.c: Add static variables for a list
of GdkPixbuf-supported formats, well-known registered clipboard
formats for images, and for GdkAtoms for well-known image and text
formats.
(_gdk_win32_selection_init): Initialize above static variables.
(selection_property_store) (gdk_selection_property_get)
(_gdk_selection_property_delete): Don't use a FIFO of GdkSelProps
for a window after all, it breaks testtext. See bug #163844.
(gdk_selection_convert): When converting to the TARGETS format,
i.e. when the caller wants to know what clipboard formats are
available, if PNG is available we report just that and skip
CF_DIB, JPEG and GIF even if advertised.
If CF_UNICODETEXT is available, report only UTF8_STRING.
When converting to the UTF8_STRING format, i.e. when the caller
wants text from the clipboard, try just CF_UNICODETEXT. There is
no point in trying CF_TEXT as Windows will synthesize
CF_UNICODETEXT from CF_TEXT anyway, if some app has stored just
CF_TEXT.
When converting to the image/bmp format, i.e. when the caller
wants an CF_DIB image from the clipboard, we check if the DIB is a
version 3 32-bit BI_RGB one that is likely to actually contain
alpha in the "extra" bytes. Such a DIB is likely to have
premultiplied alpha even, at least in the case of Firefox 3 and
IE7. We then edit the DIB in-place into a version 5 one in
BI_BITFIELDS format and undo the alpha premultiplication.
In any case, prepend a BMP file header before letting go of the
data which will be fed to the gdk-pixbuf bmp loader by upper
levels.
(gdk_win32_selection_add_targets): If some kind of pixmap image
format is being added, actually advertise just PNG and
CF_DIB. Note that alpha won't be stored on the clipboard through
CF_DIB. This is because gdk-pixbuf's bmp loader doesn't save
alpha. Furthermore, few if any non-GTK+ Windows apps seem to
understand a version 5 DIB with proper alpha anyway.
(_gdk_win32_selection_convert_to_dib): Simplified muchly.
svn path=/trunk/; revision=22255
2009-01-29 Tor Lillqvist <tml@novell.com>
Bug 145058 - Inputting "^^" requires four keystrokes on Win32,
differs from platform default behaviour
* gtk/gtkimcontextsimple.c
(check_win32_special_case_after_compact_match): New
function. Called from check_compact_table() after a table-based
match has committed a character. In case there was two identical
dead accents in the input, another copy of the spacing accent that
was already committed is committed. This fixes#145058.
(check_win32_special_cases): New function. Called first from
gtk_im_context_simple_filter_keypress(). This fixes another
problem: a dead accent followed by a space should commit the
corresponding spacing accent. The compose tables from X commit
another character in two cases and we want to override that on
Windows.
Add GTK_NOTE (MISC) debugging output to this code.
svn path=/trunk/; revision=22253
2009-01-29 Claudio Saavedra <csaavedra@igalia.com>
Bug 569435 – make maintainer-clean removes non-generated sources
* gdk/Makefile.am: Do not remove gdkprivate.h and gdkwindowimpl.h
during make maintainer-clean, as these files are not generated.
svn path=/trunk/; revision=22248
* gtk/gtk.symbols:
* gtk/gtkimagemenuitem.[hc]: Add a property to override the
show-menu-images setting for individual menuitems. Patch by
William Jon McCann.
svn path=/trunk/; revision=22230
* gtk/gtkbutton.c: Activate the action in a regular clicked
handler instead of the default handler, to make it work with
derived classes which don't chain up their clicked handler.
svn path=/trunk/; revision=22227
2009-01-26 Bastien Nocera <hadess@hadess.net>
Bug 569240 - Crasher when using markers
* gtk/gtkrange.c (gtk_range_destroy): Avoid crashes when destroying
a GtkRange with markers
svn path=/trunk/; revision=22224
2009-01-26 Richard Hult <richard@imendio.com>
Bug 566628 – gdk_display_close always asserts on win32 and quartz
* gdk/quartz/gdkdisplay-quartz.c
(_gdk_windowing_set_default_display): Copy fix for bug #566628
from the win32 backend: Allow also a NULL parameter in the
g_assert().
svn path=/trunk/; revision=22223
setting up the im context before the widget is realized, just
reset it when the client window is set.
* gtk/gtkimmulticontext.c: Reset the slave when a client window
is set.
* gtk/gtkimmodule.c
* gtk/gtktextview.c: Revert changes for bug 567124.
svn path=/trunk/; revision=22214
2009-01-25 Claudio Saavedra <csaavedra@igalia.com>
* gtk/gtktreeview.c: Use gtk-doc syntax to refer to properties in
the docstrings.
svn path=/trunk/; revision=22213
Rework the way actions and proxies interact, to make the
interaction less ad hoc, more extensible, and better suited
for support in GUI builders like glade.
To be used as a proxy, a widget must now implement the
GtkActivatable interface, and GtkActivatable implementations
are responsible for syncing their appearance with the action
and for activating the action.
All the widgets that are commonly used as proxies implement
GtkActivatable now.
Patch by Tristan van Berkom.
* gtk/gtkactivatable.[hc]: The GtkActivatable interface.
* gtk/gtkbutton.c:
* gtk/gtktogglebutton.c:
* gtk/gtktoolitem.c:
* gtk/gtktoolbutton.c:
* gtk/gtktoggletoolbutton.c:
* gtk/gtkmenuitem.c:
* gtk/gtkcheckmenuitem.c:
* gtk/gtkimagemenuitem.c:
* gtk/gtkradiomenuitem.c:
* gtk/gtkrecentchooserprivate.h:
* gtk/gtkrecentchooser.c:
* gtk/gtkrecentchooserdefault.c:
* gtk/gtkrecentchoosermenu.c: Implement GtkActivatable.
* gtk/gtkaction.[hc]: Move appearance synchronization to
GtkActivatable implementations.
* gtk/gtkradioaction.c:
* gtk/gtkrecentaction.c:
* gtk/gtktoggleaction.c:
* gtk/gtkactiongroup.c: Adapt.
* gtk/gtk.h: Include gtkactivatable.h
* gtk/gtk.symbols: Add new functions
svn path=/trunk/; revision=22195
* gtk/gtktextview.c: Don't set up im stuff if the widget
is not realized.
* gtk/gtkimmodule.c: Assert that we have a window.
svn path=/trunk/; revision=22193
Patch by Federico Mena Quintero
* gtk/gtkwindow.h:
* gtk/gtkwindow.c (_gtk_window_set_is_toplevel): New internal
function used when a GtkPlug parents/unparents itself by an
in-process GtkSocket. This keeps the plug's GTK_TOPLEVEL flag in
sync with the global toplevel_list.
* gtk/gtkplug.c (gtk_plug_set_is_child): Call
_gtk_window_set_is_toplevel() to keep the toplevel list updated,
instead of just setting/unsetting the GTK_TOPLEVEL flag.
svn path=/trunk/; revision=22191
* gtk/gtkwidget.c (gtk_widget_get_snapshot): Use a different approach
to snapshotting that is in line with what is done in the client-side
windows branch, and that works for widgets regardless if they are
double-buffered or not. Patch by Alex Larsson.
* gdk/gdkwindow.c (_gdk_window_calculate_full_clip_region): Clip
to the parent.
svn path=/trunk/; revision=22187
2009-01-22 Federico Mena Quintero <federico@novell.com>
* gtk/gtkfilechooserentry.c (autocomplete): Relax the assertion;
just do nothing if the folder is not loaded or if the cursor position
is not at the end of the text. A very slow-to-load folder can get
us into the latter state if the user starts typing first.
Signed-off-by: Federico Mena Quintero <federico@novell.com>
svn path=/trunk/; revision=22186
2009-01-22 Federico Mena Quintero <federico@novell.com>
Fix the computation of "complete but unique" in
GtkFileChooserEntry. Fix the case where "/" was not appended to a
unique directory name during explicit Tab completion.
* gtk/gtkfilechooserentry.c (maybe_append_separator_to_file):
Return whether anything was appended as well as the new string
itself.
(find_common_prefix): Oops, only turn on
is_complete_not_unique_ret if we had a unique match!
(append_common_prefix): If we appended a directory separator, we
*did* expand the common prefix, so we are not in the "nothing
inserted" case.
Signed-off-by: Federico Mena Quintero <federico@novell.com>
svn path=/trunk/; revision=22184
(start_explicit_completion): Add comments for translators, to
explain the purpose of the various feedback messages used during
completion.
Signed-off-by: Federico Mena Quintero <federico@novell.com>
svn path=/trunk/; revision=22183
(start_loading_current_folder): Check if the folder to be loaded
is non-native for the local_only=TRUE case; if so, return an error
as we are configured to load only local folders.
(reload_current_folder): Pass on errors from
start_loading_current_folder(). Tighten the preconditions, as we
are sure that we can only receive non-NULL folder-files to load.
(refresh_current_folder_and_file_part): Pass on errors from
reload_current_folder(). At the very end, assert the invariant
described above.
Signed-off-by: Federico Mena Quintero <federico@novell.com>
svn path=/trunk/; revision=22182
(discard_loading_and_current_folder_file): Factor out function to
cancel the cancellable and discard the current_folder_file,
i.e. to reset the invariant to the "nothing valid is loaded" case.
(gtk_file_chooser_entry_dispose): Use
discard_loading_and_current_folder_file().
(reload_current_folder): Likewise.
(refresh_current_folder_and_file_part): Likewise, and ensure that
the error cases result in the invariant being held.
Signed-off-by: Federico Mena Quintero <federico@novell.com>
svn path=/trunk/; revision=22181