Commit Graph

31495 Commits

Author SHA1 Message Date
Rico Tzschichholz
d72a712eed gtk: Add private headers to EXTRA_DIST
This got lost with 985881ffcc
2012-05-11 17:59:41 -04:00
John Ralls
0036683db7 [Bug 675501] gtkquartz.h is not in the gtk+-3.5.2.tar.xz archive
Rearrange the gtk_private_h_sources so that they're all added to EXTRA_DIST instead of only the ones included in the current build.
2012-05-11 17:59:06 -04:00
Federico Mena Quintero
438e1ea08b bgo#675421 - Set the wm_role on GtkFileChooserDialog
The window's role is 'GtkFileChooserDialog', so that window managers can match it
for positioning.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2012-05-11 17:58:37 -04:00
Marc-André Lureau
e5246cabb6 gdk: do not send leave event on touchpad button release
This is along the changes introduced in
bd55519f7e,
A TOUCHPAD device behaves like a mouse"

https://bugzilla.gnome.org/show_bug.cgi?id=674549
2012-05-11 17:58:10 -04:00
Cosimo Cecchi
a68d903b1a entry-completion: set size request on the toplevel window
Instead of setting it on the child scrolled window. This is needed
because the whole window's allocation must be equal to the one of the
entry (in case the popup-set-width property is TRUE); if we set the size
request on a children of the window, there might be other children with
borders/paddings in between the toplevel and the child we set the size
request too, which will break alignment.

https://bugzilla.gnome.org/show_bug.cgi?id=672947
2012-05-11 17:57:59 -04:00
Cosimo Cecchi
302696b4c8 entry-completion: don't subtract entry borders from popup allocation
The completion popup should be aligned with the GtkEntry allocation, not
less than that.

https://bugzilla.gnome.org/show_bug.cgi?id=672947
2012-05-11 17:57:52 -04:00
David King
f20290479b docs: Improve GtkMessageDialog description
Add mention of default setting of GtkWindow:skip-taskbar-hint.

https://bugzilla.gnome.org/show_bug.cgi?id=587873
2012-05-11 17:57:41 -04:00
David King
8cf5b21797 docs: Move GtkSelectionData to gtk3-Selections
Put the (albeit empty) documentation for the GtkSelectionData struct
with the gtk_selection_data_*() methods.

https://bugzilla.gnome.org/show_bug.cgi?id=663072
2012-05-11 17:57:35 -04:00
David King
08159c8317 docs: Correct gtk_tree_row_reference_new() description
Remove the text that mentions listening to tree model signals, and
instead say that any changes are automatically propagated.

https://bugzilla.gnome.org/show_bug.cgi?id=478344
2012-05-11 17:57:26 -04:00
Rui Matos
fe48111e60 window: Remove needless call to ensure_state_flag_backdrop() on map
This call was forcing needless work since gtk_window_map() already
does a gdk_window_show() which initially sets GDK_WINDOW_STATE_FOCUSED
that we then handle regularly on the widget's window state event
handler.

https://bugzilla.gnome.org/show_bug.cgi?id=673237
2012-05-11 17:57:07 -04:00
Michael Biebl
79149defd0 build: Fix out-of-tree build of widget-factory demo application
https://bugzilla.gnome.org/show_bug.cgi?id=674192
2012-05-11 17:56:57 -04:00
Matthias Clasen
e28b927c05 Remove lies
We forgot the documentation when we simplified the GtkApplication
session api.
2012-05-11 17:44:33 -04:00
Matthias Clasen
2aa69bde73 Fix unclosed comments 2012-05-11 16:11:43 +02:00
Benjamin Otte
f66e835aa9 iconview: Don't draw unallocated items
This is more a workaround for Clutter-GTK than anything else. Most of
all, it makes gnome-boxes start again.
2012-05-11 16:09:28 +02:00
Benjamin Otte
2d8655eebf iconview: Only compute item sizes in one place
Code was using different places to compute the icon size when layouting
and when doing size requests. This resulted in non-matching behavior in
obscure cases. And that lead to iconviews that were too small.
2012-05-11 16:09:19 +02:00
Benjamin Otte
f3cde19426 iconview: Bring back per-row contexts
Apparently GtkCellAreaContext is broken enough to not allow multiple
allocations...
2012-05-11 16:09:12 +02:00
Benjamin Otte
fdcef2a38b iconview: Move wrap width adjustment to size request code 2012-05-11 16:09:04 +02:00
Benjamin Otte
01f65de7d7 iconview: Fix negative natural size request on empty iconview 2012-05-11 16:08:58 +02:00
Benjamin Otte
62eb034927 iconview: Don't expand items to more than natural size
This ensures that items stay left-aligned instead of slowly expanding into
empty space when widening the iconview. It's also what the iconview did
pre-refactoring.

Note that for cases where natural width != minimum width, the cells
might still expand and shrink back.
2012-05-11 16:08:51 +02:00
Benjamin Otte
ad2eabe557 iconview: Redo layouting 2012-05-11 16:08:41 +02:00
Benjamin Otte
77904e1f40 iconview: Respect item width in size requestr code 2012-05-11 16:08:34 +02:00
Benjamin Otte
a21e348d3e iconview: Reduce complexity of sizing code
Always assume max-columns and min-rows. The old approach was kinda
insane.

As an example, try to write an algorithm that optimizes the minimum size
for infinite (take a reasonably large number like 2520) word-wrapped
Monospace text cells containing the text "XXXXX XXX XXX XXXXX" (keep in
mind that this is the easy problem, because it's assuming equal cell
renderers). There's 4 ways to reasonably lay out this text:
19 glyphs (19x1):
  XXXXX XXX XXX XXXXX
18 glyphs (9x2):
  XXXXX XXX
  XXX XXXXX
21 glyphs (7x3):
  XXXXX
  XXX XXX
  XXXXX
20 glyphs (5x4):
  XXXXX
  XXX
  XXX
  XXXXX
The best thing to do usually is using the 9x2 approach, but that's
neither the one using the natural nor the one using the minimum size.

As a side note, this does not include spacing and padding, which might
also influence the decision. Nor does it include height-for-width
considerations. Look at this table (numbers given in glyphs, not pixels,
as for pixel-sizes it gets even more interesting):
  given  best solution
  width  columns  sizing  glyphs per cell
   6      1       6x4           20
   7      1       7x3           21
   8      1       7x3           24
   9      1       9x2           18
  10      1/2     9x2/5x4       20
  11      1/2     9x2/5x4       22
  12      1/2     9x2/5x4       24
  13      1/2     9x2/5x4       26
  14      2       7x3           21
  15      3       5x4           20
  16      3       5x4           21.3
  17      3       5x4           22.7
  18      2       9x2           18
  19      1/2    19x1/8x2       19
  20      1/2/4  19x1/8x2/5x4   20
  21      1-4     any           21
  22      1-4     any           22
  23      1-4     any           23
  24      1-4     any           24
  25      5       5x4           20
  26      5       5x4           20.8
  27      3       9x2           18
  28      3       9x2           18.7
  29      3       9x2           19.3
  30      3/6     9x2/5x4       20

Now of course, nobody wants the number of columns to randomly change in
inexplicable ways while they enlarge or shrink an iconview, so we not
only have to optimize for smallest or other size measurements, but we
also have to optimize for "most pleasing to the eye".

And last but not least, I'd like to once again remind you - if you kept
up until now - that this discussion was for identically-sized cells
only.
2012-05-11 16:08:28 +02:00
Benjamin Otte
b4963a4c7c iconview: Redo size requests
Instead of just returning the last allocated numbers, we now compute the
proper sizes from scratch. This is a bit less trivial, but it results in
proper height-for-width handling.
2012-05-11 16:08:14 +02:00
Benjamin Otte
141875cebd iconview: Don't cache iters
This is a huge quest to remove all caching from GtkIconview to simplify
the code. As it turns out, iconview performance is a joke, so the caches
are kinda unnecessary.

If we need caching, we can add it in a useful way later.
2012-05-11 16:08:08 +02:00
Benjamin Otte
498b525da1 iconview: Remove needless requirement
If we use
  &item->cell_area
instead of
  (GdkRectangle *) item
there is no need anymore to keep the cell_area as the first member of
the the item. And we cget compile-time checks for changes to the item
struct.
2012-05-11 16:07:57 +02:00
Luca Ferretti
b6cf19af4e l10n: updated Italian translation 2012-05-09 11:49:06 +02:00
José Alburquerque
c5c79cb550 gtk_entry_[get|set]_inner_border(): Clarify the deprecation docs. 2012-05-06 15:08:23 -04:00
Reinout van Schouwen
46aae7a5c2 Updated Dutch translation by Rachid, reviewed by Reinout van Schouwen 2012-05-04 00:53:11 +02:00
Chun-wei Fan
8813a71b36 Bug 670499-gtk/fallback-c89.c: Add fallback for nearbyint()
This adds a C89 implementation for nearbyint() as it is a function that
is only made available in C99.
2012-05-03 12:02:01 +08:00
Chun-wei Fan
49deb19d69 Bug 670499-gdk/gdkrgba.c: Include fallback-c89.c
Include (gdk/)fallback-c89.c as isnan() and isinf() is used.
2012-05-03 12:01:52 +08:00
Chun-wei Fan
3aefe35df6 Bug 670499-Add gdk/fallback-c89.c
Add a fallback-c89.c for the gdk/ subdirectory as there is code that uses
functions that are introduced by C99.  This currently adds fallback
implementations for MSVC for isnan() and isinf()

Dist this "new" source file as well
2012-05-03 12:01:43 +08:00
Chun-wei Fan
c6b01fb47b Bug 670499-configure.ac: Check for nearbyint(), isinf() and isnan()
nearbyint(), isinf() and isnan() are C99 functions, so check for them.

Also clean up configure.ac a little bit as the checks for rint() and
round() can be a bit simpler, according to Matthias' suggestions.
2012-05-03 12:01:35 +08:00
Chun-wei Fan
851f51c054 Bug 670449-gtk/gtksettings.c: Fix build on Windows
On Windows, gtkwin32themeprivate.h is needed as
_gtk_win32_theme_get_default() is called on that platform to avoid C4013
warnings/errors (aka implicit declaration of ... for GCC folks).
2012-05-03 12:01:25 +08:00
Matthias Clasen
2494c48a29 Bump version 2012-05-02 21:23:47 -04:00
Matthias Clasen
eb2c0e39c0 Updates for 3.4.2 3.4.2 2012-05-02 10:18:52 -04:00
Matthias Clasen
e146a3c421 Silence gtk-doc warnings 2012-05-02 08:55:46 -04:00
Matthias Clasen
7306695ba2 Add some more documentation about GDK_SCROLL_SMOOTH 2012-05-02 08:49:01 -04:00
Matthias Clasen
2f5a729b69 GtkGrid: Add a note about overlapping children
https://bugzilla.gnome.org/show_bug.cgi?id=669989
2012-05-02 08:47:46 -04:00
Cosimo Cecchi
3bc206c13e icontheme: search first in all themes if the requested icon is symbolic
Symbolic icons use a "-symbolic" suffix to distinguish themselves from
highcolor variants. Note that the dash character here has a different
meaning than the specificity level defined in the icon-naming-spec [1],
as it identifies a property of the icon itself.

Since they might be provided by a parent theme (e.g. the HighContrast theme
relies on the gnome icon theme for them), when we are looking up one we
should first escape the generic icon inheritance mechanism defined in the
icon-naming-spec [1], and privilege a symbolic icon, if it exists in a
parent theme, before applying the inheritance evaluation.

This fixes symbolic icons not working properly when used in the
HighContrast theme with the GTK_ICON_LOOKUP_GENERIC_FALLBACK flag set.

[1]
http://standards.freedesktop.org/icon-naming-spec/latest/ar01s03.html

https://bugzilla.gnome.org/show_bug.cgi?id=674806
2012-05-02 08:46:50 -04:00
Cosimo Cecchi
2b496e390f spinbutton: port to GtkIconHelper
Instead of doing our own lookup for symbolic icons and rendering the
pixbuf, use GtkIconHelper as other widgets do, which saves a bunch of
code.

https://bugzilla.gnome.org/show_bug.cgi?id=674807
2012-05-02 08:46:32 -04:00
Matthias Clasen
f28c50a182 Make page up/down work again in scrolled menus
This was broken since before GTK+ 3.0, when we replaced
a use of requisition by allocation. Fix this by using the
requisition height, that is already cached by the menu code.

The math is not quite right here; if you page all the way
down a long menu, you end up on the second-to-last menuitem.
But at least, page up/down let you move up and down the menu
again.
https://bugzilla.gnome.org/show_bug.cgi?id=668931
2012-05-02 08:46:10 -04:00
Ryan Lortie
336575a149 ./configure: fix error output for no -libXext
Due to the way the tests are structured, a missing libXext will give a
warning about a missing libX11 (even if libX11 is installed).  This is
confusing to people who are trying to build Gtk.

https://bugzilla.gnome.org/show_bug.cgi?id=674200
2012-05-02 08:44:28 -04:00
Marek Kasik
41f58738b2 printing: Localize loaded PPD files
Use ppdLocalize() to localize strings in loaded PPD file (#674326).
2012-05-02 08:44:17 -04:00
Alexander Larsson
16cb9a27a5 gtk-demo: Find gtk-demo-application.exe on win32
We need to append the ".exe" extension when looking for the
application file on windows.
2012-05-02 08:43:50 -04:00
Matthias Clasen
e3aae59ed7 Fix a cornercase of menu parsing
When a uimanager in a gtkbuilder file contains a menu,
the builder parser was getting confused.

https://bugzilla.gnome.org/show_bug.cgi?id=672789
2012-05-02 08:43:39 -04:00
Murray Cumming
73ae49ce85 GtkAppplication docs: Fix small typo. 2012-05-02 08:43:14 -04:00
Michael Vogt
02eef4951e GtkImage: Move g_clear_object() to gtk_image_finalize()
This moves the freeing of the icon_helper from the destory to the finalize
function to avoid segfaults when trying to access a destroyed object before it
is disposed. This often happens in signal handlers which get called
asynchronously after destroy.

https://bugzilla.gnome.org/show_bug.cgi?id=674050
2012-05-02 08:41:38 -04:00
Carlos Garnacho
d6fc987f2e treemodelsort: fix iter_previous so it can go back to the first item
It was getting the previous element, then checking whether it was the
first one, that has to be inverted so it doesn't stop on the second
item.

https://bugzilla.gnome.org/show_bug.cgi?id=674587
2012-05-01 13:38:12 +02:00
Ryan Lortie
ab2ce66856 GtkApplication: fix for NULL application ID
Deal with the possibility of a NULL application ID by updating our
copied logic from GLib: use a path of /org/gtk/Application/anonymous in
this case.

https://bugzilla.gnome.org/show_bug.cgi?id=671249
2012-04-30 17:31:35 -04:00
Ryan Lortie
fa96610408 GtkApplication: fixes for NULL session bus
We currently have a couple of cases where GtkApplication assumes that
the session bus will be non-NULL causing critical error output or (in
the case of trying to publish menus) an infinite loop.

Three fixes:

 - if the session bus is NULL due to not having registered the
   GtkApplication yet then give a g_critical on the entry point to the
   menu setters instead of going into an infinite loop.  Document this.

 - check for NULL session bus even when calling the menu setters at the
   right time in order to prevent the infinite loop for
   non-programer-error cases (ie: because we had trouble connecting to
   the session bus)

 - check for NULL session bus when publishing the X11 properties on the
   GtkApplicationWindow and skip publishing them if we're not on the bus

https://bugzilla.gnome.org/show_bug.cgi?id=671249
2012-04-30 17:31:32 -04:00