Commit Graph

24542 Commits

Author SHA1 Message Date
Matthias Clasen
a7076d1c4c text view: Add diagram to CSS documentation 2015-11-03 14:27:35 -05:00
Matthias Clasen
fc0a222350 accel label: Add diagrams to CSS documentation 2015-11-03 14:27:35 -05:00
Matthias Clasen
332ea5f8ec progressbar: Add diagrams to CSS documentation 2015-11-03 14:27:35 -05:00
Matthias Clasen
65d959bbc8 spin button: Add diagrams to CSS documentation 2015-11-03 14:27:35 -05:00
Matthias Clasen
870461475a switch: Add a diagram to CSS node documentation 2015-11-03 14:27:35 -05:00
Benjamin Otte
1f01b8d52a widget: Queue an allocate on hide
This makes sure that hidden widgets always have priv->alloc_needed set
on them.

The constructor sets that flag, so we want to have it back when we
revert to this state.

This fixes GtkWindow skipping a size_allocate() when reshowing a
previously hidden window and thereby not updating its allocation and
clip. And that in turn would lead to draws not happening and us beig
left with a black window.
2015-11-03 18:57:14 +01:00
Matthias Clasen
09f7c8511b model button: Add diagrams to the CSS node documentation 2015-11-03 12:51:52 -05:00
Matthias Clasen
19b34a44b2 model button: Complete the CSS node conversion
There was still style context saving in the draw function,
and the CSS node was not always properly updated and positioned.
Fix these things, and use the same CSS node for the arrow
drawing as well.
2015-11-03 12:20:53 -05:00
Matthias Clasen
6791c1413d list box: Remove an unused static 2015-11-03 10:43:48 -05:00
Matthias Clasen
77e99039fc file chooser button: Remove an unused variable 2015-11-03 10:41:49 -05:00
Matthias Clasen
67b739b58a button: Add diagrams to CSS node docs for buttons 2015-11-03 10:17:41 -05:00
Matthias Clasen
6328cf5ee5 entry: Add a diagram to CSS node docs 2015-11-03 09:53:00 -05:00
Matthias Clasen
c711906f8c inspector: Replace a use of gtk_button_set_focus_on_click
It is deprecated now.
2015-11-03 07:44:17 -05:00
Florian Müllner
de50012371 listbox: Implement :focus-on-click
Similar to buttons-in-toolbars, it can make sense for listbox rows
to not take away the focus from the main application view, for
instance when used for navigation. Support this by taking the newly
added GtkWidget:focus-on-click property into account.

https://bugzilla.gnome.org/show_bug.cgi?id=757269
2015-11-03 07:44:17 -05:00
Florian Müllner
e364ae3ea8 Use gtk_widget_set_focus_on_click() instead of deprecated setters
https://bugzilla.gnome.org/show_bug.cgi?id=757269
2015-11-03 07:44:17 -05:00
Florian Müllner
9a29a2768b Deprecate widget-specific :focus-on-click properties
The differences between the existing properties and the newly added
GtkWidget:focus-on-click property are minimal (different owner_type
in GParamSpec), so it is extremely unlikely that dropping the former
would break anything.

https://bugzilla.gnome.org/show_bug.cgi?id=757269
2015-11-03 07:44:17 -05:00
Florian Müllner
ebdf5f581d widget: Add :focus-on-click property
There are currently three widget that implement such a property, and
there are other widgets for which the behavior can make sense. It
seems like a good time to add the property to GtkWidget itself so
subclasses can choose to respect it without adding their own property.

https://bugzilla.gnome.org/show_bug.cgi?id=757269
2015-11-03 07:44:17 -05:00
Carlos Garnacho
4f61fd09c5 texthandle: Request raising of text handle popovers.
https://bugzilla.gnome.org/show_bug.cgi?id=756670
2015-11-03 07:25:33 -05:00
Carlos Garnacho
9d1b8dfc61 popover: Request raise on ::show
This way latest shown popovers are ensured to be on top.

https://bugzilla.gnome.org/show_bug.cgi?id=756670
2015-11-03 07:25:33 -05:00
Carlos Garnacho
fa3e0be80c GtkWindow: make popover stacking explicit
The list of popovers will specify the stacking order, a
_gtk_window_raise_popover() private call has been added so popover
widgets can request being on top.

Also, the stacking on popovers is ensured on gtk_window_size_allocate(),
after the size/stacking changes on the child widget have finished, this
will ensure popovers are kept on top of window contents.

https://bugzilla.gnome.org/show_bug.cgi?id=756670
2015-11-03 07:14:36 -05:00
Olivier Fourdan
a5b1cdd0c1 GtkWindow: Fix the shadow width logic
Previous commit 305b34a "GtkWindow: fix move/get position with CSD"
introduced a regression because some windows presumably use shadows but
actually don't, resulting in a negative offset being wrongly applied.

Problem is that get_shadow_width() would return non-zero shadows even
for windows that have no shadow, thus causing the negative offset.

Fix the logic in get_shadow_width() and gtk_window_should_use_csd() so
that get_shadow_width() returns accurate values.

Bugzilla: https://bugzilla.gnome.org/show_bug.cgi?id=756618
2015-11-03 09:33:34 +01:00
Matthias Clasen
9f04efd316 Adwaita: Update menubar styling
Adapt to the changes in the previous commit.
2015-11-02 23:49:38 -05:00
Matthias Clasen
a0d7b609e3 menubar: Use an element name 2015-11-02 23:49:20 -05:00
Matthias Clasen
b6112c6ed6 Adwaita: Update menu item styling
Adapt to the changes in the previous commit.
2015-11-02 23:43:58 -05:00
Matthias Clasen
aede5c65d3 menu item: Use CSS nodes
Use the element name menuitem for GtkMenuItem, GtkCheckMenuItem
and GtkRadioMenuItem. GtkSeparatorMenuItem gets the name separator.
Add a subnode with name arrow if a submenu is attached.
Give the radio and check menu items a subnode with name check or
radio.
2015-11-02 23:42:14 -05:00
Matthias Clasen
ac553d7e44 check button: Match documented behavior
We were not actually adding the style classes that the
documentation is talking about, for the !draw-indicator case.
Fix that.
2015-11-02 23:06:57 -05:00
Matthias Clasen
dd01f2d407 menu item: Remove an unused member
Nobody is reading or writing this field, so we can do without it.
2015-11-02 22:20:04 -05:00
Matthias Clasen
2ba957364d menu: Fix up CSS node ordering
Keep the bottom arrow node at the end, where it belongs.
2015-11-02 21:49:10 -05:00
Matthias Clasen
25e01a3937 menu: Document CSS nodes 2015-11-02 21:40:40 -05:00
Matthias Clasen
0e41ff015c HighContrast: Update menu styling
Support the element names introduced in the previous commit.
2015-11-02 21:34:14 -05:00
Matthias Clasen
f8c3e48bd2 Adwaita: Update menu styling
Support the element names introduced in the previous commit.
2015-11-02 20:47:56 -05:00
Matthias Clasen
0b52b29dfc menu: Port to use css nodes
Use the element name menu for the main node, and use two subnodes
with name arrow and style classes .top and .bottom for the arrows
of scrolling menus.
2015-11-02 20:47:55 -05:00
Cosimo Cecchi
f6ca908e03 menushell: don't call gtk_render_background()
GtkMenu and GtkMenuBar, the two implementations of GtkMenuShell in GTK,
already draw it.
Furthermore, rendering a background here will overdraw any rendering
that the subclass will do, such as arrows for scrolling menus.
2015-11-02 16:05:07 -08:00
Benjamin Otte
7cdfee71da inspector: Do not show transient nodes
This is kind of a hack the way it's implemented, but it's necessary
for performance to ignore transient nodes as they get created all the
time (via gtk_style_context_save()) and invalidate the whole treeview.
And that causes resizes and redrawing of the treeview and performance of
the inspector would go down the drain now that we display a larger part
of the node tree.
2015-11-02 20:32:12 +01:00
Benjamin Otte
81de33e906 inspector: Always show full CSS node tree
Just select the node of the current widget whenever a new one gets
selected.
2015-11-02 20:32:12 +01:00
Matthias Clasen
5ebb713df5 HighContrast: Update combobox styling
Adapt to the changes in the previous commit.
2015-11-02 14:26:50 -05:00
Matthias Clasen
0d12cc3354 Adwaita: Update combobox styling
Adapt to the changes in the previous commit. Some further fixes will
be necessary here.
2015-11-02 14:22:49 -05:00
Matthias Clasen
d229ea3de1 combobox: Use element names
Use combobox as the element name for the main CSS nodes of
GtkComboBox and GtkComboBoxText. Add the .combo style class
to the button and entry. in a GtkComboBox or GtkComboBoxText.
2015-11-02 13:56:25 -05:00
Matthias Clasen
e56bb49407 popover: Document differentiating style classes
There's a lot of popover variations out there.
2015-11-02 12:53:57 -05:00
Matthias Clasen
13d091f700 button: Mention differentiating style classes
There's a lot of button variations out there, lets document
the ones we know about.
2015-11-02 12:51:00 -05:00
Matthias Clasen
113c88c2cf HighContrast: Update magnifier styling
Adapt to changes in the previous commit.
2015-11-02 12:47:14 -05:00
Matthias Clasen
85bfe9ee38 Adwaita: Update magnifier styling
Adapt to changes in the previous commit.
2015-11-02 12:46:45 -05:00
Matthias Clasen
d5ff9af94e entry, textview: Use a dedicated style class for magnifier
This will free up "osd" as an application-level style class,
and lets us style magnifiers differently.
2015-11-02 12:40:38 -05:00
Matthias Clasen
f2434e7cea file chooser button: Add a style class
Unfortunately, GtkFileChooserButton is different from the other
pickers in that it is not a button, but rather has a button.

We ignore the difference for styling purposes, and just add
a .file style class to the button.
2015-11-02 12:27:36 -05:00
Matthias Clasen
957135a57c Adwaita: Fix menu separators
These were inadvertedly broken by the element name conversion
for regular separators.
2015-11-02 12:21:39 -05:00
Benjamin Otte
5c53e873b1 inspector: Track updates of node styles
When the CSS style of a node changes, we want to display the new values
in the inspector.

This for example allows to see how styles update on hover or during
animations.
2015-11-01 16:45:11 +01:00
Colomban Wendling
f4c30060be cssnode: Fix style updating when the CSS node ID changes
Since 4ebb5781ea ID has a specific value,
while it used to be the same as NAME.  Thus, explicitly list ID as a
radical change just like NAME.

https://bugzilla.gnome.org/show_bug.cgi?id=757397
2015-11-01 02:42:36 +01:00
Colomban Wendling
79a3a7800e cssnode: Fix a typo leading to very poor cache hashing 2015-11-01 02:42:36 +01:00
Colomban Wendling
eef5f27fb4 gtkcontainer: Guard internal use of deprecated public API 2015-11-01 02:42:36 +01:00
Benjamin Otte
e0f4bf5d35 inspector: Store the current node in the priv struct 2015-11-01 02:42:36 +01:00