Commit Graph

26807 Commits

Author SHA1 Message Date
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
5acd15d21b tests: Make test_init() not check for gdk-pixbuf anymore
gdk-pixbuf is system-installed these days.
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
Aron Xu
f3f4baa3a1 Update Simplified Chinese po-properties translation. 2011-03-29 11:02:06 +00:00
Aron Xu
6a944b7fdd Revert "Update Simplified Chinese translation." it commits po-properties translations to po.
This reverts commit bd058d4ba3.
2011-03-29 10:52:13 +00:00
Aron Xu
bd058d4ba3 Update Simplified Chinese translation. 2011-03-29 10:48:33 +00:00
Benjamin Otte
5bd32b88d2 docs: Update the drawing model description for GTK 3
https://bugzilla.gnome.org/show_bug.cgi?id=645937
2011-03-29 00:09:39 +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
Abduxukur Abdurixit
f5e0384939 Added UG translation 2011-03-27 21:24:20 +02:00
Michael Natterer
abe63e8aa1 gtk: add "Since: 3.2" to gtk_widget_path_to_string() 2011-03-27 15:43:31 +02:00
Yuri Kozlov
e829d9c94c Updated Russian translation 2011-03-27 14:29:22 +04:00
Yuri Myasoedov
43dfa3867d Revert "Updated Russian translation"
This reverts commit e082ac5ab5.
2011-03-27 14:25:19 +04:00
Yuri Kozlov
e082ac5ab5 Updated Russian translation 2011-03-27 14:23:01 +04: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
Claude Paroz
0597ffff3d Updated French translation of po-properties
Contributed by Gérard Baylard, Bruno Brouard and Claude Paroz
2011-03-26 17:16:10 +01:00
Daniel Nylander
1d3ac6d68f Updated Swedish translation 2011-03-26 10:29:53 +01:00