Commit Graph

13999 Commits

Author SHA1 Message Date
Cosimo Cecchi
1263fdbd67 combobox: always give the full allocation to the button in menu mode
The button is what draws the background/frame outline of the combobox,
and padding is defined as the spacing *inside* the widget between the
border and the content.

https://bugzilla.gnome.org/show_bug.cgi?id=646882
2011-04-12 17:14:36 -04:00
Cosimo Cecchi
6116bcb78e combobox: rename border->padding for code clarity
https://bugzilla.gnome.org/show_bug.cgi?id=646882
2011-04-12 17:14:35 -04:00
Cosimo Cecchi
cfb54d81bd combobox: allocate the right border to the arrow and not to the label
When the combobox is in menu mode, the right padding of the togglebutton
inside, should be allocated to its rightmost children, which is the
arrow.

https://bugzilla.gnome.org/show_bug.cgi?id=646882
2011-04-12 17:14:34 -04:00
Cosimo Cecchi
bb038d4dd4 combobox: don't use the border as a padding
This causes the combobox to behave badly from the theme.

https://bugzilla.gnome.org/show_bug.cgi?id=646882
2011-04-12 17:14:33 -04:00
Cosimo Cecchi
2613e412d7 combobox: don't add the button style class to the whole widget
It already has a toggle button inside, and this way we cannot theme them
separately.

https://bugzilla.gnome.org/show_bug.cgi?id=646882
2011-04-12 17:14:32 -04:00
Cosimo Cecchi
b1d08fe0e9 button: don't use the border values for padding
It's wrong, and makes it impossible to theme the button properly.

https://bugzilla.gnome.org/show_bug.cgi?id=646882
2011-04-12 17:14:31 -04:00
Cosimo Cecchi
f1a7be7f57 button: make gtk_button_get_props() return the padding too
https://bugzilla.gnome.org/show_bug.cgi?id=646882
2011-04-12 17:14:29 -04:00
Dan Winship
b5d678dab0 gtk_window_present_with_time: fix when window is not initially visible
When called on a hidden window, gtk_window_present_with_time() would
just fall back to gtk_widget_show(), completely ignoring the passed-in
timestamp. This ended up working anyway if the timestamp came from
in-process, since gdk_window_x11_show() would initialize its user_time
from the time of the most recent event. But if the timestamp came from
another process, this would result in the window being shown with an
out-of-date timestamp.

Fix this by remembering the timestamp from
gtk_window_present_with_time(), and then setting the GdkWindow's
user_time from that when it the window is realized.

https://bugzilla.gnome.org/show_bug.cgi?id=647275
2011-04-12 13:03:38 -04:00
Matthias Clasen
304989291d GtkWidgetPrivate: Improve struct packing 2011-04-12 12:50:30 -04:00
Matthias Clasen
28e87c8f97 GtkTreeModelFilterPrivate: Improve struct packing 2011-04-12 12:50:05 -04:00
Matthias Clasen
0e58ec7dcd GtkToolItemGroupPrivate: Improve struct packing 2011-04-12 12:49:40 -04:00
Matthias Clasen
93203ca2f6 GtkToolItemPrivate: Improve struct packing 2011-04-12 12:49:16 -04:00
Matthias Clasen
900ea46add GtkToolbarPrivate: Improve struct packing 2011-04-12 12:48:55 -04:00
Matthias Clasen
a1f200426b GtkTextViewPrivate: Improve struct packing 2011-04-12 12:48:30 -04:00
Matthias Clasen
a603a2a2ba GtkTextBufferPrivate: Improve struct packing 2011-04-12 12:48:02 -04:00
Matthias Clasen
6f09126343 GtkTextBTreeNode: Improve struct packing 2011-04-12 12:46:28 -04:00
Matthias Clasen
7629ee7ad0 GtkStyleContextPrivate: Improve struct packing 2011-04-12 12:45:51 -04:00
Matthias Clasen
1f4dd57328 GtkSpinButtonPrivate: Improve struct packing 2011-04-12 12:45:28 -04:00
Matthias Clasen
fa1b967d4a GtkScrolledWindowPrivate: Improve struct packing 2011-04-12 12:42:37 -04:00
Matthias Clasen
93ed62e69c GtkRangePrivate: Improve struct packing 2011-04-12 12:42:14 -04:00
Matthias Clasen
e564d36deb GtkProgressBarPrivate: Improve struct packing
Also remove the unused blocks and in_block members.
2011-04-12 12:40:30 -04:00
Matthias Clasen
f572a4670d GtkPanedPrivate: Improve struct packing 2011-04-12 12:37:55 -04:00
Matthias Clasen
fdac246ed2 GtkNumerableIconPrivate: Improve struct packing 2011-04-12 12:35:17 -04:00
Matthias Clasen
f3865a2011 GtkMenuItemPrivate: Improve struct packing 2011-04-12 12:34:53 -04:00
Matthias Clasen
24a07deece GtkListStorePrivate: Improve struct packing 2011-04-12 12:34:29 -04:00
Matthias Clasen
8377ecd694 GtkLabelPrivate: Improve struct packing 2011-04-12 12:34:11 -04:00
Matthias Clasen
a65e25df83 GtkImagePrivate: Improve struct packing 2011-04-12 12:33:45 -04:00
Matthias Clasen
6c9f20e58d GtkIconViewPrivate: Improve struct packing 2011-04-12 12:33:24 -04:00
Matthias Clasen
800fff748b GtkIconThemePrivate: Improve struct packing 2011-04-12 12:33:04 -04:00
Matthias Clasen
b3ca94a44e GtkEntryBufferPrivate: Improve struct packing 2011-04-12 12:32:29 -04:00
Matthias Clasen
a4e52ece33 GtkCellViewPrivate: Improve struct packing 2011-04-12 12:32:04 -04:00
Matthias Clasen
a6db55b774 GtkCellRendererTextPrivate: Improve struct packing 2011-04-12 12:31:28 -04:00
Matthias Clasen
ea936d4237 GtkCellRendererPixbufPrivate: Improve struct packing 2011-04-12 12:30:36 -04:00
Matthias Clasen
92f1f0c118 GtkCellRendererAccelPrivate: Improve struct packing 2011-04-12 12:30:04 -04:00
Matthias Clasen
a2f005d9a0 GtkCellAreaBoxPrivate: Improve struct packing 2011-04-12 12:25:53 -04:00
Matthias Clasen
9a5d2a52d3 GtkButtonPrivate: Improve struct packing 2011-04-12 12:25:25 -04:00
Matthias Clasen
6ca6691966 GtkBoxPrivate: Improve struct packing 2011-04-12 12:24:56 -04:00
Matthias Clasen
b756743cdf GtkAppChooserWidgetPrivate: Improve struct packing 2011-04-12 12:24:34 -04:00
Matthias Clasen
39af7107b4 GtkAppChooserButtonPrivate: Improve struct packing 2011-04-12 12:24:05 -04:00
Matthias Clasen
2610e00de9 GtkAccelLabel: Improve struct packing 2011-04-12 12:23:35 -04:00
Kristian Høgsberg
c7514e8f0d Merge branch 'gdk-backend-wayland'
Conflicts:
	Makefile.am
	configure.ac
	gdk/Makefile.am
	gtk/gtksettings.c
	gtk/gtkwindow.c
2011-04-12 09:52:44 -04:00
Matthias Clasen
3fbfd82e9e GtkWindow: rearrange private struct to fill some holes 2011-04-11 18:33:43 -04:00
Paolo Borelli
7fe3764f4d Small cleanup in statusbar
Factor out msg_create/free and use g_slist_free_full as appropriate.

https://bugzilla.gnome.org/show_bug.cgi?id=647278
2011-04-11 18:11:36 -04:00
Javier Jardón
518d030220 Move documentation to inline comments: GtkTearoffMenuItem 2011-04-11 23:07:41 +01:00
Javier Jardón
4a7400db99 Move documentation to inline comments: GtkCellRendererPixbuf 2011-04-11 23:07:41 +01:00
Javier Jardón
3990af227f Move documentation to inline comments: GtkCellRendererCombo 2011-04-11 23:07:41 +01:00
Javier Jardón
1f50a4d011 Move documentation to inline comments: GtkHSeparator 2011-04-11 22:33:38 +01:00
Javier Jardón
1f9f5e8890 Move documentation to online comments: GtkCellRendererSpin 2011-04-11 22:14:35 +01:00
Javier Jardón
ebda721f4e Move documentation to inline comments: GtkFileChooserWidget 2011-04-11 03:27:08 +01:00
Javier Jardón
62c878b0cd Move documentation to inline comments: GtkHScale 2011-04-11 03:27:08 +01:00
Javier Jardón
610d46d12e Move documentation to inline comments: GtkCellRendererAccel 2011-04-11 03:27:08 +01:00
Javier Jardón
de210bd2ae Move documentation to inline comments: GtkHScrollbar 2011-04-11 02:54:53 +01:00
Javier Jardón
9dc0e7460e Move documentation to inline comments: GtkFontButton 2011-04-11 02:47:43 +01:00
Javier Jardón
fc0e045d92 Move documentation to inline comments: GtkCellRendererToggle 2011-04-11 02:42:54 +01:00
Javier Jardón
f7f7d4eee4 Move documentation to inline comments: GtkHPaned 2011-04-11 02:36:23 +01:00
Javier Jardón
735f3a23a4 Move documentation to inline comments: GtkInvisible 2011-04-11 02:31:56 +01:00
Javier Jardón
ca8d880a20 Move documentation to inline comments: GtkCellRendererProgress 2011-04-11 02:18:13 +01:00
Javier Jardón
3662744eaa Move documentation to inline comments: GtkMisc 2011-04-11 02:14:08 +01:00
Javier Jardón
f2fd3ee1d5 Move documentation to inline comments: GtkImageMenuItem 2011-04-11 02:13:02 +01:00
Matthias Clasen
32358a58f4 Avoid a warning out of the print dialog
Reported in https://bugzilla.gnome.org/show_bug.cgi?id=647152
2011-04-08 20:49:29 -04:00
Cosimo Cecchi
6261b8434f themingengine: don't set a line width before saving the cairo context
https://bugzilla.gnome.org/show_bug.cgi?id=647086
2011-04-08 20:34:00 -04:00
Cosimo Cecchi
35479be43e separator: call gtk_style_context_restore() after drawing
https://bugzilla.gnome.org/show_bug.cgi?id=647086
2011-04-08 20:33:59 -04:00
Cosimo Cecchi
b52394adca calendar: make sure to call gtk_style_context_restore()
https://bugzilla.gnome.org/show_bug.cgi?id=647086
2011-04-08 20:33:58 -04:00
Paolo Borelli
c4e17bb148 Do not leak list when drawing notebook.
When we construct the list in the other order we must free it.

https://bugzilla.gnome.org/show_bug.cgi?id=646886
2011-04-08 20:21:22 -04:00
Alexander Larsson
9db4accf9c Make gtkclipboard.c:clipboard_get_timestamp multi-backend safe
We can't just check for the backend defines, we have to do runtime checks too.
2011-04-07 20:19:30 +02:00
Matthias Clasen
e32728fb5c GtkColorButton: Don't leak references
https://bugzilla.gnome.org/show_bug.cgi?id=646815
2011-04-06 00:57:47 -04:00
Tristan Van Berkom
d4021d7a1b Fixed bug in GtkSizeRequest code where the cache is not reset properly
Fixes this bug https://bugzilla.gnome.org/show_bug.cgi?id=646500
2011-04-04 13:58:05 +09:00
Tristan Van Berkom
0b8a1dcac2 Fixed warning catch in gtk_window_compute_hints(). 2011-04-03 18:10:27 +09:00
Carlos Garnacho
e8c78edeb2 theme: Fix prelight on selected rows' expanders
There was no prelight effect on selected rows' expanders with the
builtin theme, noticed by Kris Rietveld.
2011-04-03 12:32:20 +02:00
Matthias Clasen
b112d882ef GtkAppChooserButton: avoid some leaks
gtk_tree_model_get() returns a reference for objects.
https://bugzilla.gnome.org/show_bug.cgi?id=646462
2011-04-01 23:53:58 -04:00
Matthias Clasen
315bb30220 Fix some refcounting issues in the print dialog
gtk_tree_model_get returns a reference for objects, but the
printers in the model can be NULL,
https://bugzilla.gnome.org/show_bug.cgi?id=646446
2011-04-01 22:05:02 -04:00
Federico Mena Quintero
eb02dacb37 [filechooser] Free things which got duplicated or reffed by gtk_tree_model_get()
We had forgotten to do that in a few places; this is a systematic search for those.

https://bugzilla.gnome.org/show_bug.cgi?id=646461
2011-04-01 17:00:17 -06:00
Federico Mena Quintero
58609cfdaf [filechooser] Unref cancellables we got from the model, not the ones that come into the callback
The model_cancellables have an extra ref when we get them from gtk_tree_model_get().
So, we need to unref them always.  On the other hand, the cancellables that get
passed as arguments to the callbacks in question are memory-managed by
GtkFileSystemModel.

Reported by Morten Welinder <mortenw@gnome.org>

https://bugzilla.gnome.org/show_bug.cgi?id=646460
2011-04-01 17:00:17 -06:00
Federico Mena Quintero
a24f61fb37 [filechooser] Don't leak a GFile
Reported by Morten Welinder <mortenw@gnome.org>

https://bugzilla.gnome.org/show_bug.cgi?id=646458
2011-04-01 17:00:17 -06:00
Federico Mena Quintero
2aad7a5151 [filechooser] Don't add extra ref to file, as it it comes from gtk_tree_model_get()
Leak kindly reported by leak finder extraordinaire Morten Welinder <mortenw@gnome.org>

https://bugzilla.gnome.org/show_bug.cgi?id=646457
2011-04-01 17:00:16 -06:00
Juan Pablo Ugarte
a77e6b1593 Added GtkEntry:completion property 2011-04-01 19:35:32 -03:00
Juan Pablo Ugarte
d80d834be8 * gtk/gtktreeselection.c:
Added missing GtkTreeSelection:mode property.
   Closes bug #645960 "GtkTreeSelection has no property to set mode"
2011-03-31 19:17:17 -03:00
Benjamin Otte
0bfc95faa3 widget: Propagate the right states to the widget when setting the parent 2011-03-30 16:40:06 +02:00
Benjamin Otte
1e43965350 widget: Get rid of parent_sensitive flag
Instead rely on state_flags & GTK_STATE_FLAG_INSENSITIVE to tell us if a
widget is sensitive.
This has the huge benefit that the way the widget is actually rendered
corresponds to the return value of gtk_widget_is_sensitive().

As a side effect, we do not ever allow unsetting the
GTK_STATE_FLAG_INSENSITIVE for a widget the is set to not be sensitive
(via gtk_widget_set_sensitive()). This way we stop propagation of making
stuff sensitive at insensitive widgets.

https://bugzilla.gnome.org/show_bug.cgi?id=642918
2011-03-30 16:40:06 +02:00
Matthias Clasen
b2f872112a Make GtkWidget::halign RTL-save
This commit makes GTK_ALIGN_START/_END pay attention to
the text direction when used in horizontal context.

This is how similar parameters in GtkMisc and GtkAlignment work,
and is generally expected of GTK+ positioning parameters. And this
is new GTK+ 3 api, so it is basically still unused at this point.

If explicit right/left turn out to be needed at some point, we
can expand the enumeration with new values.
2011-03-30 10:34:02 -04:00
Matthias Clasen
7a65db0402 GtkGrid: Add forgotten RTL flipping
How did we manage to add a non-RTL savy container in GTK+ 3.0 ?
2011-03-30 08:19:30 -04:00
Benjamin Otte
93b0cecd7e label: Remove dead code
This code has been useless for a while, and now it's breaking things.
Moving the paned in tests/testheightforwidth's wrapping label shows that
bug.

Broken since 9992efdb0e
2011-03-30 13:17:01 +02:00
Ryan Lortie
ae6032b2ea GtkStatusIcon: support fixed-sized icons
Use the _NET_SYSTEM_TRAY_ICON_SIZE property set by the tray mananger as
a hint that we should use a specific icon size.  This allows the tray to
instruct us that it expects 16x16 icons, for example.

Bug #645232
2011-03-30 00:26:27 +05:30
Carlos Garnacho
ae22476931 theming: Implement non-uniform border-width in the theming engine.
The border-width CSS parameter takes up to 4 values, but it was
being ignored by the theming engine until now.
2011-03-29 19:39:34 +02:00
Carlos Garnacho
6834bace95 theming: Avoid boxed struct copies throughout the default engine 2011-03-29 19:39:22 +02:00
Benjamin Otte
21f117c695 label: Add another special case for measuring 2011-03-29 15:33:27 +02:00
Benjamin Otte
9992efdb0e label: Don't create the layout in size_allocate() if not needed
Just update its size if it already exists.
2011-03-29 15:33:27 +02:00
Benjamin Otte
c94dca36ca label: Move ellipsized layout width computation
... from size_allocate() to update_layout_width().
2011-03-29 15:33:27 +02:00
Benjamin Otte
bd3e947485 label: Factor out layout size measuring into its own function
Instead of doing half of it in get_preferred_size() and the other half
in get_label_width(), put it all in one place.
2011-03-29 15:33:27 +02:00
Benjamin Otte
e824bb4aab label: Move function to a better location
This patch does not change anything, it just moves the get_label_width
function.
2011-03-29 15:33:27 +02:00
Benjamin Otte
5e80c06d41 label: Factor out layout size setting into a separate function 2011-03-29 15:33:27 +02:00
Benjamin Otte
0930de9446 label: Only get font metrics if we have to
Getting these metrics is expensive, so avoid it if possible.
2011-03-29 15:33:27 +02:00
Benjamin Otte
6ba3ef5d82 label: Add optimization for a common special case
Oftentimes we want to measure a layout that is as wide or wider than the
current layout's maximal width. In that case we can safely reuse the
current layout.
2011-03-29 15:33:27 +02:00
Benjamin Otte
20b90cb793 label: Remove unused boolean argument from ensure_layout()
It's always FALSE.

Note that this patch changes the layout for allocations that are
smaller than 1px, but that's just the default layout that is never
rendered.
2011-03-29 15:33:27 +02:00
Benjamin Otte
db474e82c4 label: Don't recreate the layout just for measuring
Instead, create a custom one.
2011-03-29 15:33:27 +02:00
Benjamin Otte
d579166a63 label: Add internal gtk_label_get_measuring_layout() and use it
Avoids useless pango_layout_copy() calls and invalidations of an
existing layout when measuring sizes for a given label.
2011-03-29 15:33:27 +02:00
Benjamin Otte
8343831c39 progressbar: remove needless is_drawable() check before queue_resize() 2011-03-29 15:33:27 +02:00
Benjamin Otte
b7cd3d6b06 tracker: Include gdk.h 2011-03-29 15:33:27 +02:00
Benjamin Otte
c6ddbe675a docs: Fixes for icon renaming
Fixes up breakage from 39d4207ab7
2011-03-29 00:09:39 +02:00
Alexander Larsson
e274dbbdce Ensure we always grab the gdk lock in async callbacks
Async callbacks are delivered in idles, so we need to make sure
we get the gdk lock before calling any gdk/gtk stuff. This was
missing in a few places.
2011-03-28 12:49:17 +02:00
Michael Natterer
abe63e8aa1 gtk: add "Since: 3.2" to gtk_widget_path_to_string() 2011-03-27 15:43:31 +02:00
Benjamin Otte
179cec87c8 widget: Only reemit style-set signal after gtk_widget_get_style()
If the widget does not care about the compat code, just ignore it.
2011-03-27 03:44:19 +02:00
Benjamin Otte
9d3465412e widget: Don't invalidate style context in its invalidate callback 2011-03-27 03:39:43 +02:00
Benjamin Otte
bb879b6954 widget: Update path unconditionally in gtk_widget_reset_style()
Also, don't set the new path twice on the style context.
2011-03-27 01:53:04 +01:00
Benjamin Otte
d7ca207133 widget: Don't duplicate style context updates
The screen changes are done in do_screen_change(), the widget path is
updated in gtk_widget_reset_style().
2011-03-27 01:52:16 +01:00
Benjamin Otte
fb65806c8c widget: Call the non-deprecated function
Both functions are identical, just that one isn't deprecated.
2011-03-27 01:51:20 +01:00
Benjamin Otte
8b4b3cf090 API: Add gtk_widget_path_to_string()
Dumps the widget path into a string representation. It tries to match the CSS
style as closely as possible (Note that there might be paths that cannot be
represented in CSS).

The main use of this code is for debugging purposes, so that you can
g_print() the path or dump it in a gdb session.
2011-03-27 01:47:17 +01:00
Benjamin Otte
fafee4e276 widget: Emit initial style-set signal in the same situations as GTK2
This ensures that widgets that aren't ported and rely on the style-set
signal being emitted work as well as before. They should not rely on
style-set being emitted however.

Note that this function is a no-op if the initial style has been set
already and is very cheap if it has not been set yet. It only becomes
relevant if the resulting style actually gets used.

https://bugzilla.gnome.org/show_bug.cgi?id=639584
2011-03-27 00:48:26 +01:00
Benjamin Otte
af8a6a7abd widget: Create the widget's style lazily
That way we don't have to update the style's colors all the time on
theme changes when the widget is not actually using GtkStyle.
2011-03-27 00:48:26 +01:00
Benjamin Otte
1891b790b3 widget: Don't call gtk_style_attach() and gtk_style_detach() anymore 2011-03-27 00:48:26 +01:00
Benjamin Otte
080ae55e87 docs: Make clear that gtk_widget_set_style() does not do anything 2011-03-27 00:48:26 +01:00
Benjamin Otte
29444cc30e widget: Use a priv variable 2011-03-27 00:48:26 +01:00
Benjamin Otte
2bb64c868c widget: Widgets always have a style, so no need to check for NULL 2011-03-27 00:48:26 +01:00
Benjamin Otte
f2441c08f1 combobox: Don't set the menu's name twice 2011-03-27 00:48:25 +01:00
Benjamin Otte
ea928e4212 notebook: Only reset style on tab labels when it actually changes 2011-03-27 00:48:25 +01:00
Benjamin Otte
963c0905f2 widget: Reshuffle code for style context getter
The intention of this patch is to make the code clearer, shorter and
most of all to avoid recreating the widget path and setting it path
twice on the style context when the style context was recreated.
2011-03-27 00:48:25 +01:00
Benjamin Otte
757087e9b4 widget: Don't create the style context if not necessary
If all we want to do is update the context's screen, we don't need to
create it if it doesn't exist yet.
2011-03-27 00:48:25 +01:00
Benjamin Otte
0cdebc8bd5 Revert "Ensure GtkWidget::style-updated is emitted before first size negociation"
This reverts commit b7f772eb93.

The commit just poked around things and added lots of workarounds
instead of actually fixing the bug it set out to fix.

See https://bugzilla.gnome.org/show_bug.cgi?id=639584 for details.
2011-03-26 23:52:28 +01:00
Benjamin Otte
8ce533265e gtk: Reset children styles when changing name
Changing the name of a widget does not just change the current widget's
path, but also the path of all its children.
2011-03-26 23:51:51 +01:00
Benjamin Otte
06f590456f widgetpath: Sanitize pos argument for iters correctly
The comparison done was off by one and would have caused invalid
reads or writes.
2011-03-26 23:51:28 +01:00
Benjamin Otte
8a16876fc7 dnd: Use G_N_ELEMENTS()
Now that we have wesome macros in glib 2.0, we can use them. Woohoo, GTK
2.0 will be so awesome in the future.
(Did anybody touch dnd code this millenium?)
2011-03-26 23:48:42 +01:00
Tristan Van Berkom
5989a6405f Fixed possible segmentation fault while freeing size request caches. 2011-03-25 18:42:08 +09:00
Tristan Van Berkom
38b5c8cf45 Cache heights-for-range-of-widths instead of height for every width.
This patch optimizes window resizes by assuming that if a widget
has the same height at a width of 50 as with a width of 150, the
height for width 100 will also be the same.

The patch also further optimizes the cache allocator, now there
are 2 pointer arrays of up to a maximum of 5 requests, the arrays
will only be allocated if a request is ever made in that orientation
and the array will be sparse until each request is made (i.e. if a
label can only wrap to 3 lines, there will only be 3 out of a
possible 5 SizeRequest structures allocated to cache it).
2011-03-25 18:42:08 +09:00
Tristan Van Berkom
82ae7b77ca Reduce memory consumption of the size request cache.
This patch makes contextual height-for-width request caching
optional (the contextual cache is not allocated for widgets that
report GTK_SIZE_REQUEST_CONSTANT_SIZE).
2011-03-25 18:42:08 +09:00
Tristan Van Berkom
887142f1f5 Added GTK_SIZE_REQUEST_CONSTANT_SIZE to GtkSizeRequestMode
The constant size request mode defines a request mode where
height-for-width geometry is unneeded, thus optimizing GTK+
by reducing the overall amount of requests that need to be
performed and cached while resizing an interface.
2011-03-25 18:42:07 +09:00
Florian Müllner
16dc117045 window: Use settings from screen rather than default
gtk_settings_get_default() was used to monitor the
"gtk-application-prefers-dark-theme" setting, rather
than the GtkSettings object associated with the window's
screen.
2011-03-25 17:41:19 +01:00
Carlos Garnacho
b7f772eb93 Ensure GtkWidget::style-updated is emitted before first size negociation
Fixes Bug 639584 - initial emission of GtkWidget:style-set is
not happening.

GtkWidget was filtering out ::style-updated (and ::style-set)
emissions until the widget was realized in order to avoid often
useless updates during widget construction and placing.

This is now done instead until the widget has a parent/screen,
which ensures the initial emission happen prior to the first
size negociation, while still filtering out all early emissions
during construction.
2011-03-25 14:33:54 +01:00
Matthias Clasen
4a86e5b138 Make selectable labels work again
You can select something, but moving the focus somewhere else, or bringing up
the context menu makes the selection go away. This makes it impossible to
copy-paste the text.

The reason for this regression is that gtk_label_state_changed was sloppy and
assumed that it would only ever be called when a labels goes insensitive, which
is no longer the case.

The patch fixes things by explicitly checking if the widget is insensitive, and
only resetting the selection in that case, which is the same behaviour we have
for e.g. GtkEntry.
2011-03-24 12:45:59 -04:00
Cosimo Cecchi
6c3c26d9c3 switch: hardcode a smaller font size for the switch label
This should not really be done here, but we can't override font size
from the theme just yet.

https://bugzilla.gnome.org/show_bug.cgi?id=645458
2011-03-23 10:00:01 -04:00
Cosimo Cecchi
24bba4cc56 gtksettings: unset attributes set to normal from font description
So that they do not override values coming from the theme.

Based on a patch by Carlos Garnacho.

https://bugzilla.gnome.org/show_bug.cgi?id=645458
2011-03-23 10:00:00 -04:00
Cosimo Cecchi
ec2055d1b0 Revert "styleproperties: don't force replacing the font description"
It turns out the bug is more complicated than I originally understood.
Not replacing the font description fields while merging here makes it
impossible for application's CSS to override fonts.

This reverts commit 89c1d93b68.

https://bugzilla.gnome.org/show_bug.cgi?id=645458
2011-03-23 09:59:58 -04:00
Michael Natterer
41810b46e7 Bug 643805 - Allow GtkExpander to resize the toplevel upon expanding/collpasing
Add gtk_expander_get,set_resize_toplevel() and a "resize-toplevel"
property.
2011-03-21 20:57:43 +01:00
Cosimo Cecchi
1876823ef0 themingengine: don't hardcode white to draw insensitive labels shadow
Use the background color instead.
I think the optimal solution would be delegating the shadow rendering to
the theme completely, and removing this in GtkThemingEngine, but for
now, this simple fix makes the dark variant more usable.

https://bugzilla.gnome.org/show_bug.cgi?id=645405
2011-03-21 11:00:53 -04:00
Cosimo Cecchi
65d90e2019 filechooserdefault: fix a build warning 2011-03-21 11:00:38 -04:00
Garrett Regier
793d12d70d Fix leaking calls to gdk_device_manager_list_devices()
gdk_device_manager_list_devices() returns a newly allocated list.

https://bugzilla.gnome.org/show_bug.cgi?id=645234
2011-03-21 10:37:10 -04:00
Florian Müllner
3032fdce2a window: Export theme variant to X11
The metacity theme format allows to use colors from the current
GTK+ theme in window decorations. Since GTK+ now gained support
for dark theme variants, window managers using that theme format
(metacity, mutter, compiz via gtk-window-decorator) should be able
to use colors from the correct variant; so in case a variant is
requested, export it in the _GTK_THEME_VARIANT property on
toplevel windows.

https://bugzilla.gnome.org/show_bug.cgi?id=645354
2011-03-21 15:06:34 +01:00
Carlos Garcia Campos
ef061c4e96 gtkentry: Add hinting to GtkEntry
gtk_entry_set_placeholder_text() makes the entry display the given text
when it is empty and unfocused. Based on previous patch by Alberto
Garcia.

https://bugzilla.gnome.org/show_bug.cgi?id=440963
2011-03-21 09:37:37 +01:00
Cosimo Cecchi
9cd4a1b622 radiobutton: exclude states we set manually from the previous state
https://bugzilla.gnome.org/show_bug.cgi?id=645172
2011-03-18 15:16:02 -04:00
Cosimo Cecchi
ef5fb8d673 radiobutton: build the new state flags from the previous flags on click
This fixes e.g. sensitivity issues with GtkRadioButton on state update.

https://bugzilla.gnome.org/show_bug.cgi?id=645172
2011-03-18 15:16:01 -04:00
Benjamin Otte
9b93ca2848 gtk: Make region argument to gtk_widget_queue_draw_region() const 2011-03-18 16:27:59 +01:00
Cosimo Cecchi
55c86bd44d switch: fix boundaries for the switch motion
We were ignoring the focus ring padding, and we were incorrectly setting
handle_x to padding.left, while the draw handler already takes padding
into account while redrawing.

https://bugzilla.gnome.org/show_bug.cgi?id=645134
2011-03-18 09:52:58 -04:00
Cosimo Cecchi
6e1aa0e0a9 notebook: don't forget to reset the style after setting show-tabs
This fixes a regression after commit
b04f4c536a
2011-03-17 17:27:37 -04:00
Cosimo Cecchi
151cf7204b treeview: add the separator style class to the tree view separator lines 2011-03-17 17:12:58 -04:00
William Jon McCann
f7ee81bff8 filechooser: use the sidebar style class for the file chooser sidebar
https://bugzilla.gnome.org/show_bug.cgi?id=642712
2011-03-17 17:12:55 -04:00
Cosimo Cecchi
195a235cd4 stylecontext: add a sidebar style class 2011-03-17 17:12:53 -04:00
William Jon McCann
611cf8423f set initial pane position
https://bugzilla.gnome.org/show_bug.cgi?id=642712
2011-03-17 17:12:50 -04:00
Cosimo Cecchi
627735c699 filechooser: add the inline-toolbar style class to the bottom toolbar 2011-03-17 15:47:08 -04:00
Cosimo Cecchi
89e565a82f stylecontext: add an inline-toolbar style class 2011-03-17 15:47:04 -04:00
Cosimo Cecchi
2ae6becef9 styleproperties: don't force replacing the font description
Otherwise custom fonts will always get overridden by the default stored
in GtkSettings when merging them.

https://bugzilla.gnome.org/show_bug.cgi?id=644975
2011-03-17 14:34:44 -04:00
Bastien Nocera
90a4f8dc4b notebook: Don't set notebook style with hidden tabs
When tabs are not shown, and the notebook is used as a container,
we should not set the notebook style, otherwise the theme has no
way to know whether tabs are shown or not, and which colour to draw
the background.

https://bugzilla.gnome.org/show_bug.cgi?id=640692
2011-03-17 18:30:40 +00:00
Benjamin Otte
58f0bc62a9 widget: Don't override state data when recursing to children
Writing onto the passed-in GtkStateData could cause changes that would
propagate to siblings, as the data was not reset again.
By copying the data structure, this is avoided and the proper values are
passed to sibling widgets.
2011-03-17 16:47:48 +01:00
Benjamin Otte
261bcb1ed8 widget: Fix typo in docs 2011-03-17 16:47:48 +01:00
Benjamin Otte
665da2c499 widget: Queue a resize when setting widget to insensitive.
See 015f227776 for details on why this is
necessary.
2011-03-17 11:59:17 +01:00
Benjamin Otte
3f491f7157 style: Move private function into private header
The function wasn't exported, so everybody using it would have gotten
linking failures.
2011-03-17 11:59:17 +01:00
Benjamin Otte
979a68c74a paned: Remove unused variable 2011-03-17 11:59:17 +01:00
Jasper St. Pierre
ff9eb56c6e Don't only use ch != 0 to check if a character is a control char.
https://bugzilla.gnome.org/show_bug.cgi?id=644976
2011-03-16 20:09:14 -04:00
Cosimo Cecchi
9205abe374 range: allow stepper-spacing > 0 and trough-under-steppers = TRUE
Commit 4bb3d64414 introduced a limitation
to GtkRange style properties; when stepper-spacing is > 0,
trough-under-steppers is automatically set to FALSE; this means that
setting a spacing between the steppers (e.g. the scrollbar buttons) and
the trough (i.e. the area over which the slider is free to move) would
make the buttons always get the full allocation on the !orientation
direction.
The rationale is without this limitation, you would get an area which
seems clickable, but it's actually not.

While this is true, and undesirable, for big stepper spacings, themes
that use trough-under-steppers (which is TRUE by default anyway),
might want to set smaller spacings to avoid drawing a double line between
the button and the slider borders.

To add confusion, the documentation got it flipped, i.e. it stated
setting a positive stepper-spacing would set trough-under-steppers to
TRUE (which would also make the behavior expected by commit
4bb3d64414 impossible).

I don't think hardcoding either of the two limitations is a good thing.
We should let themes handle this instead, and remove this limitation. If
you want the old behavior, you can manually set trough-under-steppers to
FALSE if you set a positive stepper-spacing in your theme.

https://bugzilla.gnome.org/show_bug.cgi?id=644777
2011-03-16 13:20:07 -04:00
Cosimo Cecchi
f4930dca55 widget: reset widget style after applying style classes from GtkBuilder
Otherwise, the parsed style classes do not get propagated to the
children.

https://bugzilla.gnome.org/show_bug.cgi?id=644925
2011-03-16 10:52:32 -04:00
John (J5) Palmieri
3938d3c2e4 [gi] add Virtual annotation for gtk_container_forall vfunc 2011-03-16 10:42:24 -04:00
Cosimo Cecchi
c9f38ba518 notebook: make GtkNotebook respect the focus-padding style property
https://bugzilla.gnome.org/show_bug.cgi?id=644348
2011-03-14 11:59:27 -04:00
Matthias Clasen
ddc588236b Add annotations to gtk_window_get_position
Part of bug 644353, patch by Ulrik Sverdrup.
2011-03-12 21:25:07 -05:00
Matthias Clasen
02ac322c9a Fix annotations for gtk_accelerator_parse
Part of bug 644353, patch by Ulrik Sverdrup.
2011-03-12 21:23:25 -05:00
Matthias Clasen
4a44f3f6e1 Formatting fixes 2011-03-12 21:22:27 -05:00
Cosimo Cecchi
677f268e8d paned: don't set the "pane-separator" style class to all the container
Otherwise children inherit color properties specified for the pane
separator itself.

https://bugzilla.gnome.org/show_bug.cgi?id=644276
2011-03-12 20:36:40 -05:00
Carlos Garcia Campos
21558ae67f themingengine: Use render_background_internal() to render handle background
Instead of using always the background color. This fixes handles that
have a background image like gnome-panel applets in a transparent
panel.

https://bugzilla.gnome.org/show_bug.cgi?id=644570
2011-03-12 20:32:42 -05:00
Matthias Clasen
aa1fdb4123 GtkAboutDialog: keep toggle button state in sync
When hiding the dialog, we hide the credits/license parts, so
we need to update the toggle buttons controlling them.
https://bugzilla.gnome.org/show_bug.cgi?id=644355
2011-03-12 13:43:28 -05:00
Benjamin Otte
015f227776 gtk: Queue a resize after state changes
Lots of style properties - border-width in this case - can change the
size of widgets, so we need to queue a resize instead of just redrawing.
2011-03-11 19:51:25 +01:00
Kristian Rietveld
a55b59fef3 Include gdkquartz.h so GDK_IS_QUARTZ_SCREEN is actually defined 2011-03-10 21:20:37 +01:00
Cosimo Cecchi
5215f72bd7 notebook: add an 'initial-gap' style property
It adds a gap before the first tab in the notebook.

https://bugzilla.gnome.org/show_bug.cgi?id=643841
2011-03-09 14:15:43 -05:00
Tristan Van Berkom
f632956166 Fixed GtkTreeModel::row-deleted documentation
This documentation was in direct conflict with the documentation
of gtk_tree_model_row_deleted() docs, the function docs are TRUE,
the signal docs were FALSE, fixed.
2011-03-09 15:06:45 +09:00
Cosimo Cecchi
e772082a2a stylecontext: add a raised style class
This is useful for raised elements, for example raised buttons on
primary toolbars.

https://bugzilla.gnome.org/show_bug.cgi?id=644248
2011-03-08 20:05:30 -05:00
Carlos Garnacho
191428f596 gtksettings: plug a leak
Make the GValue take the created GString.
2011-03-07 23:06:55 +01:00
Carlos Garnacho
fe12c46531 cssprovider: Reset the scope before skipping to the next rule after an error happens.
This is so the selector token gets parsed with the correct GScanner scope/config
on all situations.
2011-03-07 23:06:54 +01:00
Carlos Garnacho
aa6eee73e5 cssprovider: plug two more leak fixes 2011-03-07 23:06:54 +01:00
Carlos Garnacho
794593a4f8 cssprovider: return immediately if there's remaining data behind a parsed value
parse_value() could fill in a GError, but yet (incorrectly) return G_TOKEN_NONE,
having the GError leaked as a result.

https://bugzilla.gnome.org/show_bug.cgi?id=642604 , Reported by Felix Riemann.
2011-03-07 23:06:54 +01:00
John Ralls
f7f9e16939 Finish making the GtkSettings object identical on all backends so that it doesn't assert on non-X11 backends 2011-03-07 12:28:50 -08:00
Cosimo Cecchi
96d6c2d108 treeview: propagate the selected state from the row
An expander in a row can't be selected on its own otherwise. This way
themes can override the expander colors when the row is selected.

https://bugzilla.gnome.org/show_bug.cgi?id=644089
2011-03-07 08:12:48 -05:00
Carlos Garnacho
b93a2ebeed entry: Do not clobber state when rendering the default icons.
Use lower level methods that just require changing the state in the
GtkStyleContext instead. Fixes a problem where the insensitive state
was being set to the entry becasuse a parent was insensitive, spotted
by Alex Larsson.
2011-03-07 12:48:31 +01:00
Cosimo Cecchi
a3b3c91001 notebook: flip the render order
The render order for tabs is now

- left to right until the active tab
- right to left until the active tab
- active tab

This allows themes that use non-straight lines for the tab curvature to
draw them not worrying about flipping one side after the active tab.
2011-03-07 00:49:14 -05:00
Cosimo Cecchi
a54ca77fb7 notebook: fixup the last commit
Let the tab overlap eat the padding, otherwise having tab-overlap >
tab-curvature without cutting the label is impossible.
This way we give the label widget all the allocation possible before
giving up and cutting it if the values for tab-overlap are too extreme
for the given padding.
2011-03-06 22:08:26 -05:00
Cosimo Cecchi
da814ae767 notebook: make sure the label widget allocation not exceeds the overlap 2011-03-06 18:45:20 -05:00
Cosimo Cecchi
27a0cef60c notebook: make sure the allocation keeps track of the tab curvature
This was a genuine typo, because "padding" was calculated but unused in
this branch of the code.
2011-03-06 14:48:09 -05:00
Ignacio Casal Quinteiro
0a03e81224 Fix conversion from GdkColor to GdkRGBA 2011-03-06 11:17:06 +01:00
Matthias Clasen
39d4207ab7 Use existing mime type for GTK_FILE stock icon
document-x-generic is not actually a mimetype. Using text-x-generic
instead lets us work out-of-the-box in a11y themes.
2011-03-06 00:31:20 -05:00
Matthias Clasen
e2ba86289f Only count visible children during size request
This was causing spacing between image and label to be requested
in buttons, even though the image is invisible.
2011-03-05 23:27:26 -05:00
Benjamin Otte
8b17b16d63 theme: Fix spinner for inactive state.
Previously, the inactive state caused the spinner's solid line to be
drawn to the right. Now it's drawn to the top instead, which makes the
inactive state look more natural.
2011-03-05 15:03:56 +01:00
Benjamin Otte
9b8fbe5b72 theme: Make spinner animation turn clockwise 2011-03-05 15:03:56 +01:00
Benjamin Otte
2482847ecf theme: Make spinner steps count forward, not backward
This makes the spinner roate the right way again.
2011-03-05 15:03:56 +01:00
Benjamin Otte
de3616d52c theme: Make spinner drawing start with the solid line
Previously, for i == 0, we were drawing the translucent line first.
However, people reading the code would always assume the solid line is
indicated by the current step. So make the code do that.

Note that the spinner now rotates in the wrong direction. This will be
fixed in a future commit.
2011-03-05 15:03:56 +01:00
Benjamin Otte
41b5a6a900 theme: Compute scale values once
Use a local variable to store the xscale and yscale, so that it's only
computed once.
Makes it easier to do the changes I'm about to do.
2011-03-05 15:03:56 +01:00
Benjamin Otte
8c8dda6a6b theme: Do general cairo setup in one place
Also remove wrong comment.
2011-03-05 15:03:56 +01:00
Benjamin Otte
639bf2a2a5 theme: Remove unnecessary save/restore in spinner code 2011-03-05 15:03:56 +01:00
Benjamin Otte
3e524ac28e theme: Simplify spinner drawing code a bit. 2011-03-05 15:03:56 +01:00
Murray Cumming
5b347db1af gtk_init*(): Document that argc/argv can be 0,NULL.
* gtk/gtkmain.c: (gtk_init): Mention that argc and argv can be 0,
  using the new text from the g_applicatoin_run() documentation.
  There was already introspection annotation about that.
  (gtk_init_check, gtk_init_with_args): Use the same text here.
  See bug #643649 comment 2.
2011-03-05 14:57:32 +01:00
Xan Lopez
eeedcf3612 spinbutton: remove unused variable 2011-03-04 21:43:08 +01:00
Cosimo Cecchi
6a423a99ad spinbutton: rework GtkSpinButton drawing handler
Make the arrows bigger, and position them according to the mockups.
2011-03-04 11:13:14 -05:00
Cosimo Cecchi
cae7b93729 Revert "spinbutton: center-align by default"
This reverts commit 64ef11985b.
2011-03-04 11:13:13 -05:00
Matthias Clasen
2ccc6c0d60 GtkNotebooks: fix regressions from tab-pack removal 2011-03-03 18:30:03 -05:00
Matthias Clasen
a71e801943 GtkNotebook: Don't let tab allocation go negative 2011-03-03 18:30:03 -05:00
Cosimo Cecchi
8da124aa1f Cleanup unused variables 2011-03-03 17:48:26 -05:00
Cosimo Cecchi
e9182123a8 stylecontext: add a primary toolbar style class 2011-03-03 17:48:26 -05:00
Cosimo Cecchi
d5c4a0f503 all: add a "separator" style class 2011-03-03 17:48:26 -05:00
Cosimo Cecchi
fe3f9ca9cd menuitem: set the menubar style class for menu items on a bar
So that themes can distinguish them from the other menu items.
2011-03-03 17:48:26 -05:00
Cosimo Cecchi
4a99e75ce7 window: don't confuse priv->type_hint with priv->gdk_type_hint
This broke, among the others, menu rendering.
2011-03-03 17:48:25 -05:00
Cosimo Cecchi
ee43f55b5f menuitem: mark with the GTK_STYLE_CLASS_MENUITEM style class 2011-03-03 17:48:25 -05:00
Cosimo Cecchi
64aac9624c Use 16 as default size for checkbutton indicator
So that 16x16 icons can be used from themes such as Adwaita in their
natural size.
2011-03-03 17:48:25 -05:00
Cosimo Cecchi
ea7661cb3f switch: remove slider padding from available allocation when drawing
This also simplifies the code a bit, and makes previous workarounds
useless.
2011-03-03 17:48:25 -05:00
Cosimo Cecchi
6abbd68674 switch: fetch the padding values from the slider
It's the slider which acts as a child inside the container through, so
we should fetch the slider padding when computing height/width.
2011-03-03 17:48:25 -05:00
Cosimo Cecchi
c310c35a7a switch: propagate the active state to the slider 2011-03-03 17:48:25 -05:00
Cosimo Cecchi
0ff4fdb233 combobox: add an arrow-scaling property to GtkComboBox 2011-03-03 17:48:25 -05:00
Cosimo Cecchi
64ef11985b spinbutton: center-align by default 2011-03-03 17:48:25 -05:00
Cosimo Cecchi
fa4fb6724c arrow: x and y coordinates of the arrow rendering should be double
To prevent off-by-one rounding errors when drawing them later.
2011-03-03 17:48:25 -05:00
Cosimo Cecchi
230bd4b461 range: x and y coordinates of the arrow rendering should be double
To prevent off-by-one rounding errors when drawing them later.
2011-03-03 17:48:25 -05:00
Cosimo Cecchi
11f07f9bdc range: don't set junction sides on scrollbar steppers 2011-03-03 17:48:25 -05:00
Matthias Clasen
77e46de0e1 GtkScale: Add style classes for marks
This enables better styling of the slider in the presence of
marks. Based on a patch by Bastien Nocera,
https://bugzilla.gnome.org/show_bug.cgi?id=643685
2011-03-03 16:49:49 -05:00
Matthias Clasen
2a9d130ed2 GtkScale: Normalize mark positions
This is in preparation for making scale marks styling better.
As a side-effect, TOP and LEFT position are treated the same now,
as well as BOTTOM and RIGHT.

Based on a patch by Bastien Nocera,
https://bugzilla.gnome.org/show_bug.cgi?id=643685
2011-03-03 16:49:49 -05:00
John (J5) Palmieri
a47a7abe23 [gi] don't skip gtk_menu_attach_to_widget, correctly annotate the async callback 2011-03-03 16:06:28 -05:00
John (J5) Palmieri
cdf69b4bed [gi] add missing annotations for signals that emit Gdk.Events 2011-03-03 16:05:28 -05:00
Matthias Clasen
a3883683e5 Add GtkBuilder custom attributes for style classes
GtkWidget now parses custom attributes like

  <style>
     <class name="dark-label"/>
     <class name="big-heading"/>
  </style>

to add style classes to widgets.

https://bugzilla.gnome.org/show_bug.cgi?id=643347
2011-03-02 20:12:23 -05:00
Benjamin Otte
7693804fcf window: Add check for X11 window when calling x11 function 2011-03-02 17:29:21 +01:00
Benjamin Otte
172f894120 settings: Always use the same default values
Set the Mac key theme when creating a Quartz settings object instead of
having it the default when quartz is enabled.
This keeps compatibility with the GTK2 behavior that the Mac key theme
is not used for the X11 backend, which could now happen for a
multi-backend build.
2011-03-02 17:18:49 +01:00
Benjamin Otte
e69badbcd1 settings: Keep the GtkSettings object identical no matter the backend
Previously we were enabling some settings properties only if the X11
backend was enabled. This worked fine with GTK2 where only one backend
was enabled at a time, but now when multiple backends can be enabled,
this does not make sense.
2011-03-02 17:02:51 +01:00
Benjamin Otte
399dc74d74 settings: Avoid a segfault when loading keyfile
When the keyfile is loaded, no screen exists yet, so we need to vheck
for that.
2011-03-02 16:21:44 +01:00
Tristan Van Berkom
c844a24ae6 Allow GtkAppChooser classes to be instantiated with content-type=NULL.
Mostly for corner cases such as Glade that treats objects generically
and needs to have an object that doesnt crash out of g_object_new().
2011-03-01 19:41:15 +09:00
Matthias Clasen
63c7701ca3 Don't use GDK_NONE when GDK_SELECTION_CLIPBOARD is meant 2011-02-28 19:25:35 -05:00
Patricia Santana Cruz
49c48546c8 Removed incorrect description's sentence.
Description was wrong when it explained: "The two areas are separated
by a GtkHSeparator.". These separators are not used any more.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=643496
2011-02-28 17:36:05 +00:00
Matthias Clasen
9707d8a3e6 Don't assert on zero width/height in render functions
We can just silently ignore those rendering calls.
https://bugzilla.gnome.org/show_bug.cgi?id=643041
2011-02-28 07:52:59 -05:00
Kristian Høgsberg
287d91e5f9 Merge remote-tracking branch 'origin/master' into gdk-backend-wayland
Conflicts:
	gdk/gdkdisplaymanager.c
2011-02-26 14:44:29 -05:00
Matthias Clasen
2e192d01f1 List all available icons in Makefile.am
This mismatch was causing e.g. gtk-caps-lock-warning.png to show
up as missing image in entries.
2011-02-26 00:23:47 -05:00
Matthias Clasen
46cc85fd7e GtkSwitch: use regular activation
GtkSwitch was listening for Space/Enter keyreleases itself, instead
of providing an 'activate' action signal, like e.g GtkButton. As a
side-effect, this fixes
https://bugzilla.gnome.org/show_bug.cgi?id=643321
2011-02-25 15:47:03 -05:00
Matthias Clasen
6b91392afd GtkTrayIcon: chain up in dispose
Pointed out in bug 643131
2011-02-25 14:48:55 -05:00
Tristan Van Berkom
f85e80aada More patchwork for icon view subclasses that access the icon view api prematurely.
In this patch we adress rows_reordered() and row_deleted() callbacks
(since some icon view subclasses manipulate the connected treemodel
from _init()).
2011-02-25 16:00:20 +09:00
Tristan Van Berkom
2408b1c59e More patchwork to ensure GtkIconView subclasses can use the icon view api
from the subclass's instance structure initializer
2011-02-25 15:07:55 +09:00
Federico Mena Quintero
6c4196e9e4 [GtkFileChooser] Fix initial selection when hidden files are shown
We were breaking prematurely out of the loop that goes through
each file that is pending selection; not only does that loop
disable filtering and show hidden files if needed, but it also
selects the files themselves.  So we need to walk the whole
list of files.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>

https://bugzilla.gnome.org/show_bug.cgi?id=643170
2011-02-24 14:56:57 -06:00
Tristan Van Berkom
4164a49b84 Added documentation to "cell-area" construct-only properties.
Indicate what kind of area will be used by default if none is
provided by the user.
2011-02-24 16:05:41 +09:00
Tristan Van Berkom
db4fa1a941 Removed unused EXPOSE_EVENT enumeration from the GtkWidget signals. 2011-02-23 22:07:27 +09:00
Tristan Van Berkom
30f03a1c65 Remove mention of GtkWidget::expose-event from docs in gtkwidget.c 2011-02-23 21:58:48 +09:00
Tristan Van Berkom
4d76644f5c Add more defensive code to avoid accessing GtkIconView's cell area before it exists.
Adding these cases here to cater to icon view subclasses that want to
access icon view APIs from the instance structure initializer instead
of properly waiting for the super class to initialize and adding renderers
from the ->constructor() vfunc.
2011-02-23 20:50:50 +09:00
Murray Cumming
8d54fa7102 More tiny documentation typo fixes. 2011-02-23 11:09:20 +01:00
Murray Cumming
f91c04e284 Minor documentation improvements
Mostly correcting it's to its and changing some , to .
2011-02-23 10:26:21 +01:00
Matthias Clasen
700276eae4 Don't export extra symbols for accessibility 2011-02-21 17:34:51 -05:00
Benjamin Otte
ff5d4e13de textview: Remove x/y arguments from render_para() func
We were only passing 0 anyway and it's easy to translate the cairo
context in use instead of passing x/y coordinates.
2011-02-20 23:43:42 +01:00
Benjamin Otte
c647085e76 textview: Translate the cairo context instead of keeping y value
This avoids overflow when transforming a large value to a pango unit.
To reproduce the problem:
seq 200000 > test.txt && tets/print-editor test.txt
Then scroll to around line 140.000 to see it (depends on font size of
course).
2011-02-20 23:43:42 +01:00
Matthias Clasen
14fcfd3f7a Fix spelling
It is 'accessible', not 'accesible'.
2011-02-20 16:46:27 -05:00
Matthias Clasen
48b0a55775 React to is-focus change, not ignore it
A very old bug, noticed in
https://bugzilla.gnome.org/show_bug.cgi?id=642791
2011-02-20 16:45:41 -05:00
Matthias Clasen
2180267f5d Plug a memleak in the tracker search engine
Patch by Vincent Untz,
https://bugzilla.gnome.org/show_bug.cgi?id=642771
2011-02-19 13:31:50 -05:00
Matthias Clasen
84b259d076 Make gtk_combo_box_text_get_active_text() behave as documented
If there is an entry, it is supposed to return the contents
of the entry. Pointed out by Allin Cottrell,
https://bugzilla.gnome.org/show_bug.cgi?id=642681
2011-02-19 13:27:51 -05:00
Matthias Clasen
6d3b8c2c6b GtkSwitch: Add an AtkAction implementation 2011-02-17 23:06:33 -05:00
Matthias Clasen
163f0daf6a GtkSwitch: Use ATK_DEFINE_TYPE properly 2011-02-17 21:55:54 -05:00
Matthias Clasen
e7d4d77093 Fix a memory leak with file chooser previews 2011-02-17 18:34:28 -05:00
Matthias Clasen
c9b152ec71 Remove a leaking get_name implementation
This was leaking a lot of memory; just rely on atk_object_get_name.
2011-02-17 15:57:39 -05:00
Carlos Garnacho
3100b76ba9 Fix parsing of color names containing numbers
They were being defined correctly through @define-color
in CSS, but parsing failed at the moment of creating
GtkSymbolicColors depending on these.
2011-02-17 20:10:49 +01:00
Matthias Clasen
bdacdfb78b Check if the accessible is actually an AtkAction 2011-02-17 13:29:59 -05:00
Matthias Clasen
13d717e2ce Fix includes in gtkassistant.c
Also fix a bad case in gtk_assistant_accessible_get_n_children.
2011-02-17 12:35:07 -05:00
Matthias Clasen
7bddfb5790 GtkAssistant: Use _gtk_accessible_set_factory_type 2011-02-17 12:25:23 -05:00
Matthias Clasen
1692829594 GtkGrid: Avoid problems with uninitialized memory
valgrind complained about these, and they make for bad size allocation
and the occasional crash.
2011-02-17 11:53:38 -05:00
Emmanuele Bassi
a88a1fc832 Build fix in GtkSeparatorMenuItem
https://bugzilla.gnome.org/show_bug.cgi?id=642541
2011-02-17 09:24:25 +00:00
Matthias Clasen
ed901afe37 Use _gtk_accessible_set_factory_type in GtkSeparatorMenuItem 2011-02-17 01:34:10 -05:00
Matthias Clasen
221415f71f Use _gtk_accessible_set_factory_type in GtkSwitch 2011-02-17 01:32:24 -05:00
Matthias Clasen
e757d1b2d2 Use _gtk_accessible_set_factory_type for GtkIconView 2011-02-17 01:30:33 -05:00
Matthias Clasen
9d321437b6 Add a private function for accessible factory registration
This avoids repeating the same code for each widget that
has its own accessible implementation inside GTK+.
2011-02-17 01:24:43 -05:00
Matthias Clasen
4a4004b706 Add an a11y implementation to GtkSeparatorMenuItem
Its all boilerplate, and it more than doubles the line count.
Yay :-(
2011-02-17 00:44:26 -05:00
Matthias Clasen
405b54c72e Check the return value of gtk_tree_model_get_iter
Noticed in passing, didn't really see it crash there, but
better safe than sorry.
2011-02-16 18:48:42 -05:00
Matthias Clasen
0c3da06a62 gtk_tree_model_filter_row_deleted: don't emit signals too early
gtk_tree_model_filter_row_deleted was emitting ::row-deleted while
the internal state of the model was still in disarray, causing
segfaults e.g. when mapping the file chooser with accessibility
turned on. This is just a bandaid fix, and doesn't try address
any of the deeper problems of the filter model code.

I did take the time to reduce rampant variable shadowing in that
function, though.
2011-02-16 18:48:42 -05:00
Michael Natterer
68d176d80b gtk: don't always invalidate spinbuttons on each leave_notify()
but only when an arrow was prelighted. Also, chain up unconditonally
in enter_notify() and leave_notify() because GtkEntry implements them
too.
2011-02-16 18:42:18 +01:00
Matthias Clasen
f04504ac94 Allow custom icon size in gtk_render_icon_pixbuf()
Pointed out in bug 642213.
2011-02-14 13:22:28 -05:00
Martin Nordholts
a3f52949c4 Bug 633291 - Handle Shift-keys in X11 gdk_test_simulate_key()
If a level 1 key maps to a key value passed to
gdk_test_simulate_key(), raise the GDK_SHIFT_MASK flag so the reqested
key value is generated. Also add a regression test for this fix.
2011-02-13 12:57:01 +01:00
Benjamin Otte
a1d96af9ed colorsel: Remove WINDOWING ifdef
That one was leftover from the times when GDK didn't allow pointer
warping and we had an X11-specific solution.
2011-02-12 22:09:58 +01:00
Matthias Clasen
9f12cc3dcd Protect x11-specific functions in gtktypefuncs.c
This is just a bandaid fix, we really need to systematically collect
type functions for all backends.
2011-02-12 09:12:36 -05:00
Matthias Clasen
3138c3ddcb No GTK_ENABLE_BROKEN anymore
We stopped shipping broken stuff...
2011-02-12 08:26:21 -05:00
Benjamin Otte
ac6c6b03d9 gtk: Fix warnings for dnd code without XInput 2011-02-11 23:53:48 +01:00
Benjamin Otte
ccc3679a62 stylecontext: Use the common approach for priate pointers
Has two advantages:
1) consistency
2) "print *context->priv" actually works in gdb
2011-02-11 23:21:11 +01:00
Benjamin Otte
0bd0854d4d icontheme: constify arguments to gtk_icon_theme_load_symbolic() 2011-02-11 23:21:11 +01:00
Michael Natterer
1865011b7f gtk: don't send BUTTON_RELEASE to unrealized widgets
which happened when the source widget was hidden or destroyed while a
drag was going on, like when dragging from a popup that got a grab
broken as result of the dnd operation.
2011-02-11 10:48:43 +01:00
Matthias Clasen
524ce69bcb Bump the version to 3.0.0
At the same time, change the library sonames for -3.0 to just -3.
This is necessary since the 2.99 releases installed libraries like
libgtk-3.0.so.0.9903.0, and we want to prevent the library version
number from jumping back. So 3.0 will have libgtk-3.so.0.0.0.
2011-02-10 14:41:02 -05:00
Kristian Høgsberg
b4129c14cb gtkwidget: Only call X GDK functions when the window is an X window 2011-02-10 13:44:45 -05:00
Murray Cumming
b91549a38a Add "extern C" declarations around AppChooser headers.
This is necessary to allow linking from code compiled as C++.
2011-02-10 10:02:38 +01:00
Matthias Clasen
3f1c95de8d Don't try to modify readonly strings
This was an oversight in the recent accel label improvement.
When we get an untranslated string back from gettext(), it is
not ok to replace '_' by ' ' in-place. Instead, do it while
appending to the GString.
https://bugzilla.gnome.org/show_bug.cgi?id=641912
2011-02-09 17:32:05 -05:00
Carlos Garnacho
d1632f87d1 Avoid the need for cairo_push_group() in gtk_render_background()
This operation is potentially expensive, so the code has been
refurbished so avoid the cases it was needed for. Antialiased
cairo_clip() has been also reduced to transitions with surface
patterns involved.
2011-02-09 20:05:32 +01:00
Tristan Van Berkom
f2ff2138db Added padding to GtkTextLineDisplay struct for an addition of GdkRGBA pointer comming soon. 2011-02-10 04:04:31 +09:00
Matthias Clasen
5ada6ac197 Remove no-longer exported symbols from the symbol list 2011-02-08 23:21:40 -05:00
Matthias Clasen
49433673fc Don't export GtkModifierStyle symbols
This is not public API, so don't export it.
2011-02-08 23:21:39 -05:00
Matthias Clasen
861ba00166 Don't export gtk_cell_area_box_init_groups
That function can't be meant to be public, since it take
a GtkCellAreaBoxContext argument, which is not a public type.
2011-02-08 23:21:39 -05:00
Matthias Clasen
394ae46ec0 Add some missing symbols to the docs 2011-02-08 23:21:39 -05:00
Matthias Clasen
d2bdd50a0b Extend the mixed-dependency check to modules as well
This helps prevent accidents with GTK_PATH.
2011-02-08 13:49:16 -05:00
Johan Dahlin
6a40c0f865 introspection: Remove redundant include
Gdk-3.0 is already included above via --include-uninstalled, so
don't also specify it in INCLUDES.  Doing so breaks if it isn't
installed already, since we try to find the gdk-3.0.pc.
2011-02-08 13:30:24 -02:00
Johan Dahlin
358a2b8675 Rename time to time_ to avoid a scanner warning 2011-02-08 13:29:57 -02:00
Benjamin Otte
1483145806 API: image: Move private struct definitions into private header
They weren't privatized because the dnd code used them, too. But a
private header can allow the dnd code to be nasty, so go dnd code!
2011-02-08 08:58:49 +01:00
Carlos Garnacho
15fdf90265 doc: Add a note about prioritization of GtkStyleProviders
It was unclear in the docs what happened if
gtk_style_context_add_provider() and
gtk_style_context_add_provider_for_screen()
were used with the same priority.
2011-02-08 04:17:56 +01:00
Matthias Clasen
3a50b460c6 Update the context direction when emitting ::direction-changed
This makes the flipping example in testgtk work as expected again.
https://bugzilla.gnome.org/show_bug.cgi?id=632775
2011-02-07 20:37:09 -05:00
Matthias Clasen
208974636f Set the correct initial value for the direction property 2011-02-07 20:36:46 -05:00
Carlos Garnacho
2be692687f Fix color style properties lookup when the color resolution fails
The cached GValue ended up with a GtkSymbolicColor type, so
the contained value was bogus. Noticed by Mitch.
2011-02-07 19:56:17 +01:00
Matthias Clasen
23f9bdd586 Fix problems with state propagation
Sensitivity changes were not properly propagated down the
hierarchy. There were two issues here:

a) correctly identifying when a state change request affects
   sensitivity
b) not filtering out sensitivity in gtk_widget_propagate_state(),
  since gtk_widget_set_sensitivity() uses that to do its work

https://bugzilla.gnome.org/show_bug.cgi?id=641431
2011-02-07 11:27:50 -05:00
Tristan Van Berkom
1c20c93423 Optimize queue_resize_on_widget()
Optimized GtkSizeGroup code that is invoked for every queued resize
and every request that is not previously cached by trading qdata on
widgets for 3 extra bitfields on the GtkWidgetPrivate structure.
2011-02-08 00:39:51 +09:00
Javier Jardón
db97f8660a Use faster new G_VALUE_COLLECT_INIT variant instead G_VALUE_COLLECT
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=641621
2011-02-07 13:14:47 +00:00
Matthias Clasen
beb8c290d1 Always chain up in ::style-updated
This was not handled consistently, but the default handler
does useful things, so we should always chain up.
2011-02-07 07:30:37 -05:00
Hans Breuer
733731e80b No more gtk_plug_*/gtk_socket_* symbols on win32 2011-02-06 15:07:14 +01:00
Hans Breuer
f55ccce2d9 win32: msvc build update 2011-02-06 15:07:12 +01:00
Michael Natterer
e39e8acd67 gtk: gtk_cell_renderer_get_state(): check the widget's effective sensitivity 2011-02-06 14:47:58 +01:00
Michael Natterer
1c0f85a813 gtk: gtk_cell_renderer_get_state(): a row can be both selected and insensitive
so pull the SELECTED state flag out of the !sensitive branch. Also,
don't make FOCUSED depend on SELECTED here, it's up to the widget to
decide whether or not that is possible.
2011-02-06 14:45:49 +01:00