Matthias Clasen
b3b048906c
im context simple: Protect shared data structures
...
Since a41f02f9b1
, GtkIMContextSimple
uses threads to load X Compose files. It does that every time a new
im context object is initialized, so we can easily end up with multiple
threads accessing the shared global_tables list at the same time.
Use a lock to prevent that.
https://bugzilla.redhat.com/show_bug.cgi?id=1276432
2016-01-18 13:57:39 -05:00
Benjamin Otte
e150ea85bb
cssnode: Don't leak the style cache on destruction
2016-01-18 18:06:41 +01:00
Matthias Clasen
ff5d14f1a8
text view: Update selection node visibility
...
Make the node invisible if we don't have a selection.
2016-01-18 11:05:53 -05:00
Matthias Clasen
b08fe985cc
entry: Expand the css node docs
...
Mention the context menu.
2016-01-18 10:52:26 -05:00
Matthias Clasen
07eda5920f
text view: Expand CSS node docs
...
Mention the selection node, and the context menu.
2016-01-18 10:51:54 -05:00
Benjamin Otte
3281d1a284
notebook: Don't crash when dnd'ing tabs out
...
https://bugzilla.gnome.org/show_bug.cgi?id=760754
2016-01-18 15:39:02 +01:00
Benjamin Otte
eca1b3cba3
accellabel: Remove unused variable
2016-01-18 15:39:02 +01:00
Timm Bäder
d73f6b8c50
entry: Deprecate shadow-type
...
Things like that should be handled using css. Also, the property value
is unused inside GtkEntry.
2016-01-18 12:53:53 +01:00
Matthias Clasen
2a665715b6
expander: Flip the alignment of the vertical box
...
To ensure that the title moves to the other side as expected
in RTL, use GTK_ALIGN_START/END instead of GTK_ALIGN_FILL
when packing the title gadget into the vertical box, and
flip the alignment when the text direction changes.
2016-01-18 00:19:31 -05:00
Matthias Clasen
296f80a580
expander: Handle rtl changes again
...
Now that the box gadget has api for it, use it here to
change the order of the gadgets for right-to-left.
2016-01-18 00:11:54 -05:00
Matthias Clasen
a32b39c60f
checkbutton: Handle rtl changes again
...
Now that the box gadget has api for it, use it here to
change the order of the gadgets for right-to-left.
2016-01-18 00:11:50 -05:00
Matthias Clasen
5265db5dd6
box gadget: Add a function to reverse children
...
This can be used to handle text direction changes.
2016-01-18 00:03:39 -05:00
Matthias Clasen
7859f8ee91
checkbutton: Use a box gadget
...
Now that builtin icons have a baseline, we can just use
a box gadget with baseline alignment for the indicator
and the label.
2016-01-17 21:16:33 -05:00
Matthias Clasen
da30858ee4
builtin icon: set a baseline
...
Most uses of builtin icons (check and radio buttons,
expanders, etc) are placed next to labels, so they should
be properly positioned wrt to the baseline. Lacking anything
better, give the builtin icons a baseline that places the
center of the icon at the strikethrough position.
2016-01-17 21:02:18 -05:00
Matthias Clasen
9c3907dab0
box gadget: Deal with optional arguments
...
The baseline arguments to the preferred size callback can
be NULL. Don't crash if they are.
2016-01-17 19:48:40 -05:00
Matthias Clasen
44d94a4aeb
Trivial formatting fix
2016-01-17 15:35:14 -05:00
Matthias Clasen
a7387e2641
Document restrictions on gtk_style_context_get
...
This makes it official that passing a different state
is not generally supported in the getters for CSS properties.
2016-01-17 15:31:37 -05:00
Matthias Clasen
6bf9715ce4
notebook: show tabs when asked to
...
gtk_notebook_set_show_tabs must make the header gadget
visible when show_tabs is TRUE, not the other way around.
https://bugzilla.gnome.org/show_bug.cgi?id=760596
2016-01-17 14:35:58 -05:00
Matthias Clasen
9e2a1685c5
accel label: Fix RTL handling
...
The 'mad hack' that GtkAccelLabel used to affect the GtkLabel
draw function broke with the introduction of gadgets, since
the positioning is no longer relative to the widgets' allocation
at the time of the call, but rather to the gadgets allocation.
Instead of coming up with an even madder hack to keep this
working, give the GtkLabel draw function knowledge about accel
labels.
https://bugzilla.gnome.org/show_bug.cgi?id=760663
2016-01-17 14:08:22 -05:00
Matthias Clasen
d28959c6db
inspector: Make cursor-size combo wider
...
Cursor sizes typically have 2 digits, lets not clip them.
2016-01-17 13:23:49 -05:00
Matthias Clasen
00aca5d689
Expand window style class documentation a bit
2016-01-17 12:13:59 -05:00
Matthias Clasen
9d26038a10
Adwaita: Keep entry progress visible
...
When the entry is focused, make the progress one pixel wider
so it doesn't get swallowed by the focus outline.
2016-01-16 19:23:26 -05:00
Benjamin Otte
6e6cbd7316
stylechange: Do the right thing when old and new style are equal
...
We don't need to compare all their CSS values to figure out that nothing
changed. We know that.
2016-01-16 23:58:37 +01:00
Benjamin Otte
c904efef53
cssnode: Redo GTK_DEBUG=no-css-cache
...
Previously this setting would just invalidate the whole CSS tree and
thereby hopefully avoid all cache usage.
Now, we actually don't cause extra invalidations anymore, but instead
avoid ever inserting anything into the cache when this setting is set.
2016-01-16 23:58:37 +01:00
Benjamin Otte
024429f76f
cssnode: Implement the style cache
...
This essentially copies the previous cache implementation. With one
caveat: It is now attached to and maintained by the CssNode, not by the
CssStyle.
And this is important because styles may be reused in incompatible
situations which would cause cache collisions and lead to broken CSS in
weird situations.
2016-01-16 23:58:37 +01:00
Benjamin Otte
5d562b6a2a
cssnode: Split out the style cache
...
For now, the split out style cache doesn't cache anything. This is
mostly to make sure that bisections of wrong caching behavior will
bisect down to the commit that actually adds caching.
2016-01-16 23:58:37 +01:00
Lapo Calamandrei
93f8fa7576
Adwaita: stop axing toolbar separators
2016-01-16 04:16:55 +01:00
Lapo Calamandrei
d0f83d46a0
Adwaita: style textview derived widgets
2016-01-16 04:15:30 +01:00
Matthias Clasen
e7fc87e4ac
color scale: Improve themability
...
Add the .color class, so themes can style scale.color.
Clip the trough rendering to the content path, so that
themes can set rounded corners.
2016-01-15 20:08:57 -05:00
Matthias Clasen
a0d91a3a71
treeview: Use foreground color to draw dnd marker
...
This is still not perfect, but makes the dnd marker better visible
in HighContrastInverse.
2016-01-15 19:39:12 -05:00
Matthias Clasen
2cf810c4c9
frame: Don't overlap label and child
...
We didn't do this previously, so don't start now.
https://bugzilla.gnome.org/show_bug.cgi?id=760528
2016-01-15 19:16:23 -05:00
Lapo Calamandrei
f32e1d42e6
Adwaita: combo style cleanup and fixes
...
fixes https://bugzilla.gnome.org/show_bug.cgi?id=760524
2016-01-16 01:03:08 +01:00
Matthias Clasen
e8b9aacfc1
combo: Add .linked class when appropriate
...
Add the .linked style class to combo boxes which have
an entry, since that is what they are.
2016-01-15 17:55:44 -05:00
Matthias Clasen
54a6e032ca
combobox: Document the popup window CSS node
2016-01-15 17:48:39 -05:00
Matthias Clasen
0049be4e58
application: Protect against double shutdown
...
It is not something that can happen normally.
But if it does, we shouldn't crash.
https://bugzilla.gnome.org/show_bug.cgi?id=760680
2016-01-15 17:37:55 -05:00
Matt Watson
d8bb228d3b
widget: remove queue_resize in set_sensitive
...
Calling gtk_widget_propagate_state is enough to queue a resize if
needed
See da7a4089fe
2016-01-15 11:07:47 -08:00
Lapo Calamandrei
04f6f38b56
Adwaita: remove messagedialog label squashing hack
...
since Matthias fixed this properly.
2016-01-15 18:37:49 +01:00
Matthias Clasen
78162c5e88
message dialog: Prevent empty title from being shown
...
We don't want to grow the titlebar by showing an empty label.
2016-01-15 11:59:33 -05:00
Lapo Calamandrei
fc804bba2d
Adwaita: some dialog love
...
addresses https://bugzilla.gnome.org/show_bug.cgi?id=760525
2016-01-15 17:57:25 +01:00
Matthias Clasen
6d18b77ca7
expander: Destroy gadgets after child widgets
...
With child widgets now being sorted into box gadgets, bad things
happen if those gadgets disappear prematurely.
2016-01-15 10:30:08 -05:00
Benjamin Otte
6e4d65d227
notebook: Destroy gadgets after chaining up
...
While chaining up, we might still call into the notebook code. And that
code expects the gadgets to be there.
https://bugzilla.gnome.org/show_bug.cgi?id=760640
2016-01-15 16:22:22 +01:00
Matthias Clasen
2e27c0af25
expander: Convert to use box gadgets
...
Use a vertical box gadget for the overall expander, and a
horizontal one for the title row. This lets us get rid of
all the custom allocation code here.
2016-01-15 09:43:51 -05:00
Matthias Clasen
5f5dc10820
expander: Deprecate spacing property
...
The same can be achieved with margins on the child, and
the spacing property gets in the way of converting the
expander to use box gadgets.
2016-01-15 09:43:51 -05:00
Matthias Clasen
87171469b7
box gadget: Implement cross-axis alignment
...
So far, the box gadget is always allocating all children the
full size in the cross axis. This behavior corresponds to the
align-items: stretch behavior in
https://www.w3.org/TR/css-flexbox-1/#align-items-property
This commit implements the other modes described there.
While widgets have halign/valign properties that we can use for
this, the API for inserting gadgets has to change to take an
extra align parameter. All callers have been updated to pass
GTK_ALIGN_FILL, since that corresponds to the previous behavior.
https://bugzilla.gnome.org/show_bug.cgi?id=760668
2016-01-15 09:43:12 -05:00
Tom Schoonjans
967ecc80d3
Windows library manager fix
...
The Makefile.am's had a dependency on incorrectly named libtool
archives for the generation of the .lib files.
https://bugzilla.gnome.org/show_bug.cgi?id=760388
2016-01-15 11:16:32 +01:00
Alberts Muktupāvels
c60cea3037
gtkwidgetpath: update gtk_widget_path_to_string
...
From gtk_widget_path_iter_set_object_name documentation:
"When set, the object name overrides the object type when matching CSS"
Update gtk_widget_path_to_string to match this behaviour.
2016-01-15 00:36:23 +02:00
Eric Williams
276101a3bc
Fix typo in previous documentation fix for gtk_css_provider_load_from_data()
2016-01-14 17:01:26 -05:00
Matthias Clasen
beec55a22b
Add a way to load recolored icons in CSS
...
This can come in handy to load images that are not in an icon theme,
but still benefit from symbolic recoloring.
https://bugzilla.gnome.org/show_bug.cgi?id=760536
2016-01-14 13:51:15 -05:00
Matthias Clasen
1b0ef71696
icon theme: Export recoloring function
...
This will be used in subsequent commits.
https://bugzilla.gnome.org/show_bug.cgi?id=760536
2016-01-14 13:51:09 -05:00
Matthias Clasen
7d717c8113
icon theme: Add a way to create GtkIconInfos from files
...
This is sometimes needed, and calling into actual icon theme
code just for it is confusing - the resulting icon does not
depend on the icon theme at all.
https://bugzilla.gnome.org/show_bug.cgi?id=760536
2016-01-14 13:50:58 -05:00
Lapo Calamandrei
c667f9f1d1
Adwaita: pathbar style cleanup
2016-01-14 17:54:31 +01:00
Florian Müllner
ea69bf8c17
cssstyleproperty: Expose min-width/height
2016-01-14 17:20:51 +01:00
Lapo Calamandrei
bc2355e0b1
Adwaita: remove superfluous selector on keycap styling
...
now that keys are made directly with labels istead of frames.
2016-01-14 16:26:22 +01:00
Timm Bäder
4703d2bbf0
boxgadget: Don't use g_assert
...
Use g_return_if_fail instead so nothing abort()s.
2016-01-14 16:02:36 +01:00
Timm Bäder
a5fabee202
entry: Don't draw icons twice
2016-01-14 16:02:12 +01:00
Timm Bäder
49d251a330
entry: Remove unused code
2016-01-14 16:02:12 +01:00
Timm Bäder
2397d76137
label: Remove some unneeded conditionals
...
We are never passing NULL here.
2016-01-14 16:02:12 +01:00
Timm Bäder
6a97b2563b
shortcutlabel: Use a label directly
...
We can everything we need without the frame around it now.
2016-01-14 16:02:12 +01:00
Руслан Ижбулатов
e44b420617
Ensure that the fstat fix is not applied on x86_64
2016-01-14 12:52:04 +00:00
Matthias Clasen
0acc6578d8
expander: center the arrow
...
In lieu of more sophisticated alignment, we need to at least
center the arrow allocation wrt to the label.
2016-01-14 07:35:59 -05:00
Руслан Ижбулатов
59f1b87409
W32: Ensure that correct statting function is used by iconcache
...
With Mingw-w64 fstat() can be an inline function that
calls _fstat32() or _fstat64(), depending on some macros.
And if LFS is enabled, fstat() is defined to turn into
_fstat32i64() or _fstat64(). And some/all of the above
might also be macros as well. Side-step all that mess
and excplicitly re-define fstat as _fstat32, which is
guaranteed to use a version of "stat" struct that
has 32-bit size and time fields, which is what we want.
https://bugzilla.gnome.org/show_bug.cgi?id=760615
2016-01-14 09:44:22 +00:00
Matthias Clasen
d2e80a7993
font chooser: Add a CSS name
...
The CSS name for GtkFontChooserWidget is fontchooser.
2016-01-13 23:42:35 -05:00
Matthias Clasen
c80adc33a4
app chooser: Set a CSS name
...
The CSS name for GtkAppChooserWidget is appchooser.
2016-01-13 23:41:38 -05:00
Matthias Clasen
9657ec9331
print dialog: Set a CSS name
...
The CSS name for GtkPrintUnixDialog is printdialog.
2016-01-13 23:41:38 -05:00
Matthias Clasen
704b41b504
file chooser: Set a CSS name
...
The CSS name for GtkFileChooserWidget is ... filechooser.
2016-01-13 23:41:38 -05:00
Matthias Clasen
2f169a493b
color chooser: Set a CSS name
...
The CSS name for GtkColorChooserWidget is ... colorchooser.
2016-01-13 23:41:38 -05:00
Matthias Clasen
dc5c82e29c
inspector: Don't select 'randomly'
...
While rescanning the object tree, we were emitting ::object-selected
signals, possibly causing wild blinking in the application window.
Don't do that.
https://bugzilla.gnome.org/show_bug.cgi?id=760572
2016-01-13 23:24:38 -05:00
Matthias Clasen
1009c88186
Make -gtk-icontheme() use -gtk-icon-palette
...
This makes it possible to recolor themed icons with -gtk-icon-palette,
regardless whether they are loaded by the theme or the application.
2016-01-13 16:17:44 -05:00
Matthias Clasen
34c263683c
Move the -gtk-icon-palette property up
...
Other properties will start depending on it in subsequent
commits, so move it up to prevent ordering problems.
2016-01-13 16:16:39 -05:00
Matthias Clasen
1f65f1b746
color swatch: Use right allocation for window
...
Generally, input-only windows that correspond to CSS boxes
should be sized to the border allocation of the gadget.
2016-01-13 14:00:10 -05:00
Cosimo Cecchi
897126ae2b
notebook: fix a GCC warning
2016-01-13 08:30:02 -08:00
Matthias Clasen
fb77ebe17e
paned: Update node ordering according to text direction
...
This was overlooked in the initial node conversion.
2016-01-13 00:40:11 -05:00
Matthias Clasen
7743944124
GtkBox: Documentation tweak
2016-01-13 00:39:53 -05:00
Matthias Clasen
93aac8a86c
notebook: Document the .dnd style class
...
We should aim to document all style classes that themes
can encounter during the normal operation of a widget.
2016-01-13 00:24:40 -05:00
Matthias Clasen
ea4cff1ea4
Use convenience API that was introduced recently
...
Use gtk_css_gadget_set_state in all the places where we previously
were getting a node from a gadget, just to call gtk_css_node_set_state.
2016-01-13 00:19:31 -05:00
Matthias Clasen
64b499be66
builtin icon: Don't save/restore cairo state
...
The reason why this was introduced is now handled in
gtk_css_stylke_render_icon since commit
0138af9f96
.
2016-01-13 00:01:14 -05:00
Matthias Clasen
c71089a038
box gadget: Add some documentation
2016-01-12 23:57:35 -05:00
Matthias Clasen
2677eee720
box: Document child node ordering
2016-01-12 23:40:28 -05:00
Timm Bäder
b8db48079f
switch: Fix text positioning
...
https://bugzilla.gnome.org/show_bug.cgi?id=760509
2016-01-12 21:56:53 +01:00
Timm Bäder
a8ceeb1766
switch: Don't include margins in input window size
...
https://bugzilla.gnome.org/show_bug.cgi?id=760509
2016-01-12 21:56:53 +01:00
Timm Bäder
ff7e2797f6
modelbutton: Don't include margins in input window size
...
https://bugzilla.gnome.org/show_bug.cgi?id=760509
2016-01-12 21:56:49 +01:00
Timm Bäder
788ee466b8
button: Don't include margins in input window size
...
And do the same thing for GtkCheckButton
https://bugzilla.gnome.org/show_bug.cgi?id=760509
2016-01-12 21:56:44 +01:00
Timm Bäder
19fa893067
entry: typo
2016-01-12 21:54:45 +01:00
Matthias Clasen
c5d3556f98
HighContrast: Fix selection in .views
...
Copy Adwaita fixes from 21a2fce8ba
.
2016-01-11 23:20:26 -05:00
Matthias Clasen
52a34d32bb
Fix corner manipulation when growing rounded rects
...
This addresses problems with uneven border radius',
pointed out by Lapo.
2016-01-11 22:49:40 -05:00
Ben Iofel
7e5952c4ea
GTK Notebook: use the right enum type
2016-01-11 19:16:36 -05:00
Lapo Calamandrei
1c3bad3d90
Adwaita: popover style fixes
2016-01-12 01:03:47 +01:00
Lapo Calamandrei
21a2fce8ba
Adwaita: make selection visible in treeview derived widgets
...
See https://bugzilla.gnome.org/show_bug.cgi?id=757503
2016-01-12 00:16:12 +01:00
Hashem Nasarat
473433c93d
Adwaita: fix separator margin in popovers
...
Commit 0b96b8a1
set margins via css, but accidentally changed the
semantics of margins for separators in popovers so that any separator
in a gtkpopover had a margin. This meant that the separators in
GtkListBoxes in popovers also had a margin around their separators, and
this is not what we want because it doesn't match separators in
listboxes not in popovers.
https://bugzilla.gnome.org/show_bug.cgi?id=760427
2016-01-11 23:40:25 +01:00
Carlos Garnacho
0167f7c65c
GtkWidget: Fix motion event consumption detection for touch-only gestures
...
If a GtkGestureSingle is set as touch-only, pointer events would be
discarded without giving an opportunity to the regular GtkGesture
handler to manage those.
Because the pointer events weren't actually managed by the gesture,
gtk_gesture_get_sequence_state() (rather unhelpfully here) will resort
to returning GTK_EVENT_SEQUENCE_NONE, which is in turn interpreted
by _gtk_widget_consumes_motion() as "may be handling the events for
this sequence", because gestures in this state presumably handle
the events, just that it's not "claimed" yet.
Instead, use gtk_gesture_handles_sequence(), which will perform the
expected check on the event sequence being managed, as we expect
here.
2016-01-11 20:16:06 +01:00
Matthias Clasen
32eda187ee
Actually deprecate GtkNotebook::has-tab-gap
2016-01-11 13:58:37 -05:00
Matthias Clasen
990be25d63
notebook: Update CSS node docs
...
The stack node is new.
2016-01-11 13:55:23 -05:00
Benjamin Otte
3a8dc01ed2
notebook: Don't reparent tab label when drag stops
...
Use the same unrealize + set_parent_window() trick that we used in
6d5edd18cf
when dragging starts.
2016-01-11 17:52:38 +01:00
Benjamin Otte
b917a0b155
notebook: Add .dnd style class to tabs during reorder
2016-01-11 17:46:15 +01:00
Benjamin Otte
6d5edd18cf
notebook: Don't unparent tab label for drag
...
When a tab drag starts, we need to move the tab label into the drag
window via gtk_widget_set_parent_window().
If we don't unparent, but just unrealize the widget, we don't lose the
cssnode position.
2016-01-11 17:06:46 +01:00
Benjamin Otte
fdc13f315b
notebook: Don't limit motion notify framerate
...
We have a frameclock for that these days.
In particular, this limiting worked at 45fps when monitors are all 60fps.
2016-01-11 17:06:46 +01:00
Benjamin Otte
d74c1bfd84
notebook: Remove outdated style properties from themes
...
No replacement provided, the notebook will have to be redone anyway.
2016-01-11 17:06:46 +01:00
Benjamin Otte
8020d5f93a
notebook: Don't store gadget allocation twice
...
If we care about a gadget's allocation, we can ask it. There's no need
to store it in GtkNotebookPage.allocation.
2016-01-11 17:05:24 +01:00
Benjamin Otte
2ef3b01442
notebook: No need to recompute remaining space
...
The value is correct.
In particular, subtracting width on notebooks with tabs on left/right is
a very bad idea.
2016-01-11 17:05:24 +01:00
Benjamin Otte
4c083f8182
notebook: Port arrows to be gadgets
...
Also deprecate the arrow-spacing style property.
2016-01-11 17:05:24 +01:00
Benjamin Otte
326fda1b0e
notebook: Pass full allocation instead of min and max value
2016-01-11 17:05:24 +01:00
Benjamin Otte
96f0cf7677
notebook: Pass allocation as argument
...
... instead of querying it later.
2016-01-11 17:05:23 +01:00
Benjamin Otte
6b8c191096
notebook: Simplify allocation code
2016-01-11 17:05:23 +01:00
Benjamin Otte
0e48216c48
notebook: Identify existence of arrows differently
...
Instead of having gbooleans in the priv struct, just look at the
existence of priv->arrow_node[i].
2016-01-11 17:05:23 +01:00
Benjamin Otte
a12e1328e9
notebook: Convert tab nodes to gadgets
...
The code does many bad things, so we get a lot of warning spew. Ignore
this for now, fixes will follow.
2016-01-11 17:05:23 +01:00
Benjamin Otte
d780ce3ff3
notebook: Assume tab allocations always change
...
This causes more redraws, but saves a bunch of code.
2016-01-11 17:05:23 +01:00
Benjamin Otte
7e0c7f7deb
notebook: Remove weird hack where the current page was special-cased
...
I don't even know what it does, but it assumed that the current page was
always as large or larger than any other page. And that isn't true.
2016-01-11 17:05:23 +01:00
Benjamin Otte
3cda7e9503
boxgadget: Handle css nodes
...
Automatically insert the cssnode into the box gadget's node's children at
the right place and remove it again when done.
2016-01-11 17:05:23 +01:00
Benjamin Otte
a9320d93f6
notebook: Replace redraw_tabs() with gadget_queue_draw(tabs_gadget)
2016-01-11 17:05:23 +01:00
Benjamin Otte
f83c1fedbc
notebook: Don't queue redraw of tabs junction
...
There is no junction anymore, so don't try to redraw it.
2016-01-11 17:05:23 +01:00
Benjamin Otte
f1e277969a
gadget: Add queue_resize/allocate/draw() functions
2016-01-11 17:05:23 +01:00
Benjamin Otte
e1722baf57
notebook: Convert tabs node to a gadget
...
And in turn, convert the header gadget to a box gadget.
2016-01-11 17:05:23 +01:00
Benjamin Otte
acc534ebfa
boxgadget: Add
...
Adds a GtkBoxGadget that is a Gadget that behaves like a GtkBox.
Use this gadget to implement the notebook base gadget.
2016-01-11 17:05:23 +01:00
Benjamin Otte
749855c1d1
notebook: Remove unused function call
2016-01-11 17:05:23 +01:00
Benjamin Otte
70b9aacfc2
notebook: Simplify event window position computation
...
The event window should overlay the header gadget, so just return its
position.
2016-01-11 17:05:23 +01:00
Benjamin Otte
ad245e0226
notebook: Introduce gtk_notebook_has_current_page()
...
GtkNotebook does not switch the current page if all pages are hidden. So
it may be that no visible page exsits, but there still is a current
page set.
We culd clear the current page, but I'm unsure about backwards
compatibility.
So instead, this new function handles that case.
2016-01-11 17:05:23 +01:00
Benjamin Otte
0d72055b89
notebook: Use gtk_container_class_handle_border_width()
2016-01-11 17:05:23 +01:00
Benjamin Otte
f34059c3b6
notebook: Convert header node to a gadget
...
This allows reworking the content node to do real height-for-width.
The content node also takes care of border width, but we might want to
have the toplevel do it or just get rid of it.
2016-01-11 17:05:22 +01:00
Benjamin Otte
8c1a73326c
gadget: Add helpers for modifying state
...
They will be used in future commits.
I also was too lazy to convert existing widgets.
2016-01-11 17:05:22 +01:00
Benjamin Otte
e27551ddb2
notebook: Add a stack gadget
...
The stack gadget contains all the child widgets.
2016-01-11 17:05:22 +01:00
Benjamin Otte
c03fed4840
notebook: Remove extra calls to gtk_notebook_pages_allocate()
...
The function is called during size_allocate() and doesn't need to be
called elsewhere, as all other callers call queue_resize() already.
2016-01-11 17:05:22 +01:00
Benjamin Otte
33b6e30f68
notebook: Remove unnessecary gtk_widget_set_mapped()
...
We chain up, and the chainedup function calls this for us.
2016-01-11 17:05:22 +01:00
Benjamin Otte
dc4148c4e2
notebook: Simplify gtk_notebook_map()
...
We set visibility on our children properly, so we can simply chain up
and let the GtkContainer implementation do the mapping of children.
2016-01-11 17:05:22 +01:00
Benjamin Otte
22398ef459
notebook: Remove irrelevant case
...
The page is never the current page, because it was just created and the
current page wasn't changed yet.
2016-01-11 17:05:22 +01:00
Benjamin Otte
0e528ec74e
notebook: No page switching in size request code
...
We have page switching under control now, we don't need to check every
get_preferred_size() call.
2016-01-11 17:05:22 +01:00
Benjamin Otte
1190efebce
notebook: Set the current page when none is set
...
This case happens when you gtk_widget_show_all (notebook).
2016-01-11 17:05:22 +01:00
Benjamin Otte
0045e57e96
notebook: Draw the same things, no matter the show-border value
...
show-border modifies the "frame" style class on the notebook node, but
not what we actually draw.
2016-01-11 17:05:22 +01:00
Benjamin Otte
fd9ffe5d57
notebook: Turn the base notebook into a gadget
2016-01-11 17:05:22 +01:00
Benjamin Otte
92089ee29e
notebook: Draw tab label while drawing tab
...
Instead of having special case code doing it.
2016-01-11 17:05:22 +01:00
Benjamin Otte
3d980da405
notebook: Don't translate before painting notebook
...
This will allow us to draw children directly from within the notebook
drawing code, which will remove a bunch of special casing.
2016-01-11 17:05:22 +01:00
Benjamin Otte
93dc364b02
notebook: Deprecate and stop supporting has-tab-gap style property
2016-01-11 17:05:22 +01:00
Benjamin Otte
71cc212eb5
notebook: Ignore and deprecate style properties
...
Deprecate initial-gap, tab-curvature and tab-overlap properties. All
their features can be achieved using CSS.
This CSS achieves the same effect as a 10px initial gap:
notebook header {
margin-left: 10px;
margin-right: 10px;
}
A tab overlap of 10px can be achieved via:
notebook tabs {
margin-left: 10px;
}
notebook tab {
margin-left: -10px;
}
And tab curvature is essentially the same as padding or border on a tab.
2016-01-11 17:03:07 +01:00
Benjamin Otte
0138af9f96
rendericon: Save and restore cairo matrix
...
... instead of requiring cairo_save()/cairo_restore().
2016-01-11 17:03:07 +01:00
Benjamin Otte
fa7816d99c
dnd: When setting a dnd icon widget, unset old one
...
Setting a DND icon twice should actually work and not cause warnings the
2nd time.
2016-01-11 16:56:16 +01:00
Krzesimir Nowak
67c6d24bb2
Fix a small mistake in stylecontext docs
...
Fix the "will be also be" to become "will also be".
2016-01-11 12:05:27 +01:00
Matthias Clasen
b035cc2cb6
Update style class docs
...
Instead of pointing to (outdated) widgets here, just refer to
widget docs in general.
2016-01-10 17:08:56 -05:00
Matthias Clasen
cffe2e2c93
Improve GtkStyleContext docs
...
Refer to the foreign drawing example in gtk3-demo, refer to
the widget documentation for style properties, remove
no-longer-used treeview regions.
2016-01-10 17:05:53 -05:00
Ting-Wei Lan
0f120ea510
Cast the return value of g_array_free to void* before casting to char**
...
Let the compiler know that we don't want to use it as char*, so there is
no alignment error.
https://bugzilla.gnome.org/show_bug.cgi?id=760350
https://bugzilla.gnome.org/show_bug.cgi?id=755659
2016-01-11 00:23:46 +08:00
Matthias Clasen
0ddc1eed19
Fix rendering of unsymmetric borders
...
There was an errant path that threw off our clipping for
the top section of the border.
https://bugzilla.gnome.org/show_bug.cgi?id=722937
2016-01-09 23:44:43 -05:00
Matthias Clasen
caaf537f94
Avoid division by 0 in the border rendering code
...
We skip sides with 0 border width in render_border, but when
we collect sides with the same style, we may pass the 0 width
down to render_frame_stroke anyway. So skip width 0 sides
there as well.
2016-01-09 23:44:43 -05:00
Matthias Clasen
12bc8ddb93
Fix dobule border rendering
...
This is the same fix that was applied for ridge and groove
style in 9f27ee7f5a
.
2016-01-09 14:37:04 -05:00
Lapo Calamandrei
152171e60c
Adwaita: transparent background for progressbar.osd
...
Hopefully fixes https://bugzilla.gnome.org/show_bug.cgi?id=760331
Added the .osd style class to the progressbar docs.
2016-01-09 20:05:41 +01:00
Lapo Calamandrei
6da0a0a106
gtkheaderbar: add titlebutton styleclass to the separator
...
...of the window control buttons
2016-01-09 19:27:15 +01:00
Lapo Calamandrei
99365753bf
Adwaita: shortcut window related fixes
2016-01-09 18:03:26 +01:00
Lapo Calamandrei
44e0e1359c
Adwaita: avoid colorswatch growing when drop targets
2016-01-09 15:30:20 +01:00
Lapo Calamandrei
239303b3f8
Adwaita: more scss cosmetics
2016-01-09 14:36:05 +01:00
Lapo Calamandrei
2050ed04dd
Adwaita: rely on background-image for paned wide separators
...
this workaround fixes the rendering issue coming out using borders
2016-01-09 13:35:48 +01:00
Lapo Calamandrei
4355cb45d7
Adwaita: make the paned wide separator scss code correct
...
unfortunatelly the results are not, borders behaves in a weird way
here as well, if this don't get fixed I'll rely on background here
too.
2016-01-09 13:04:27 +01:00
Lapo Calamandrei
2b57ba61d5
Adwaita: some scss cosmetic changes
2016-01-09 12:38:49 +01:00
Lapo Calamandrei
f09483bb98
Adwaita: fix thin paned separators
2016-01-09 12:31:41 +01:00
Lapo Calamandrei
b143ed98b3
Adwaita: use stricter selectors on paned separators
...
this fixes the "fat" separator on gedit headerbar, since it was
cought by the paned separator styling.
2016-01-09 12:07:52 +01:00
Lapo Calamandrei
367543c0e8
Adwaita: remove old headerbar separator styling
...
which was actually selecting nothing now.
2016-01-09 11:55:40 +01:00
Lapo Calamandrei
4853303dd7
Adwaita: add vertical margins to headebar entries and separators
2016-01-09 11:25:08 +01:00
Lapo Calamandrei
bf48dd9d7c
Adwaita: add vertical margins to headerbar buttons
...
to avoid them spanning the whole headerbar height with the changes
introduced in my last commit.
2016-01-09 10:19:47 +01:00
Matthias Clasen
375619f9f4
Fix make dist
...
I've forgotten another place when renaming HighContrast inverse.
2016-01-08 18:29:58 -05:00
Matthias Clasen
4b7c8218fb
Use standard cursor names for DND
...
At least as far as we have them. CSS has on equivalent of dnd-ask,
so we keep using that name as-is.
2016-01-08 18:11:07 -05:00
Cosimo Cecchi
f2685ddf5e
colorswatch: don't apply padding twice
...
Instead of taking the border and manually removing it from the
allocation, render our background over all the border allocation box, as
that's more correct and does not take padding into account twice.
2016-01-08 14:58:25 -08:00
Carlos Garnacho
e62f1604f9
paned: Use GtkGestureDrag for anything else than touch
...
The GtkGesturePan behavior of locking onto certain orientations may
come across as confusing, and is not strictly necessary for mice and
other pointing devices.
As GtkGesturePan is also a GtkGestureDrag, we just use the same
callbacks on both gestures.
https://bugzilla.gnome.org/show_bug.cgi?id=759670
2016-01-08 22:03:05 +01:00
Lapo Calamandrei
48fbe5137e
Adwaita: avoid too tall headerbars
...
the vertical padding from the headerbar has been removed, now the
sizing is done with min-height, this avoids title and subtitle
labels making the headbar.
2016-01-08 20:56:40 +01:00
Matthias Clasen
3f56c530b3
Be more careful with floating point divisions
...
The assumption that MIN() takes care of all infinities here
turns out to be wrong. We were getting inf and -nan for some
combinations of 0 width/height and corners, leading to invalid
matrices and cairo errors.
https://bugzilla.gnome.org/show_bug.cgi?id=759668
2016-01-08 13:17:58 -05:00
Matthias Clasen
d3aea5c498
Forgotten file
...
One was forgotten in the dark -> inverse rename.
2016-01-08 11:12:55 -05:00
Matthias Clasen
000b5b9055
color editor: Set a name on the color sample
...
This can be used to tweak the style from CSS, via #editor-color-sample.
2016-01-08 11:10:02 -05:00
Lapo Calamandrei
91123adba7
Adwaita: remove some now uneeded selectors
...
...related to image-button sizing which is handled differently now.
2016-01-08 16:48:01 +01:00
Lapo Calamandrei
5de71413fe
Adwaita: colorchooser and color button style rewrite
...
fixing https://bugzilla.gnome.org/show_bug.cgi?id=760169 in the
process.
2016-01-08 16:41:58 +01:00
Matthias Clasen
d72e061bb9
Rename the HighContastInverse css files
...
Renaming the files from -dark to -inverse makes it more obvious
that this is not a dark variant in the sense of the 'prefer-dark'
setting, but rather a separate theme (sharing the same CSS).
2016-01-08 07:39:17 -05:00
Matthias Clasen
9f247e112b
Deprecate cursor-color style properties
...
These have been replaced by CSS properties.
2016-01-08 07:33:20 -05:00
Matthias Clasen
9b86d6da2c
Use the caret-color properties for drawing carets
...
Replace the cursor-color and secondary-cursor-color style
properties with the caret-color and -gtk-secondary-caret-color
CSS properties.
For the 'auto' value of these properties, we keep the same
behavior that we used to have when the style properties are
not explicitly set.
2016-01-08 07:33:20 -05:00
Matthias Clasen
fdba244c38
Add the caret-color CSS property
...
This property is defined in http://www.w3.org/TR/css3-ui/#caret-color .
We also add a -gtk-secondary-caret-color property, since GTK+ has
supported differently colored split cursors in the past. Unlike
CSS, we don't support the weakly defined auto keyword, and just
use currentColor as the initial value.
2016-01-08 07:33:20 -05:00
Alberto Ruiz
496f0892fc
introspection: This patch fixes nullable return values fixes for the following symbols in gtk
...
gtk_accel_group_query
gtk_accel_group_from_accel_closure
gtk_accel_label_get_accel_widget
gtk_accessible_get_widget
gtk_actionable_get_action_name
gtk_app_chooser_get_app_info
gtk_app_chooser_button_get_heading
gtk_app_chooser_dialog_get_heading
gtk_application_get_window_by_id
gtk_assistant_get_nth_page
gtk_binding_set_find
gtk_builder_get_object
gtk_builder_lookup_callback_symbol
gtk_builder_get_application
gtk_button_get_image
gtk_cell_area_get_focus_from_sibling
gtk_cell_renderer_start_editing
gtk_cell_view_get_model
gtk_cell_view_get_displayed_row
gtk_clipboard_get_owner
gtk_container_get_focus_child
gtk_container_get_focus_vadjustment
gtk_container_get_focus_hadjustment
gtk_dialog_get_widget_for_response
gtk_drag_get_source_widget
gtk_drag_dest_get_target_list
gtk_drag_source_get_target_list
gtk_entry_completion_get_model
gtk_entry_completion_compute_prefix
gtk_expander_get_label_widget
gtk_file_chooser_get_filename
gtk_file_chooser_get_current_folder
gtk_file_chooser_get_uri
gtk_file_chooser_get_current_folder_uri
gtk_file_chooser_get_preview_widget
gtk_file_chooser_get_preview_file
gtk_file_chooser_get_preview_filename
gtk_file_chooser_get_preview_uri
gtk_file_chooser_get_extra_widget
gtk_file_chooser_get_filter
gtk_file_chooser_native_get_accept_label
gtk_file_chooser_native_get_cancel_label
gtk_file_filter_get_name
gtk_font_chooser_get_font_family
gtk_font_chooser_get_font_face
gtk_font_chooser_get_font
gtk_font_chooser_get_font_desc
gtk_font_chooser_get_font_map
gtk_frame_get_label
gtk_gesture_get_device
gtk_gesture_get_window
gtk_gl_area_get_error
gtk_header_bar_get_title
gtk_header_bar_get_subtitle
gtk_header_bar_get_custom_title
gtk_icon_info_get_filename
gtk_icon_view_get_path_at_pos
gtk_icon_view_get_model
gtk_image_get_pixbuf
gtk_image_get_animation
gtk_label_get_mnemonic_widget
gtk_label_get_attributes
gtk_check_version
gtk_menu_button_get_popup
gtk_menu_button_get_menu_model
gtk_menu_button_get_align_widget
gtk_menu_button_get_popover
gtk_menu_item_get_submenu
gtk_menu_item_get_accel_path
gtk_native_dialog_get_title
gtk_native_dialog_get_transient_for
gtk_notebook_get_nth_page
gtk_notebook_get_tab_label_text
gtk_notebook_get_menu_label
gtk_notebook_get_menu_label_text
gtk_notebook_get_group_name
gtk_notebook_get_action_widget
gtk_offscreen_window_get_surface
gtk_offscreen_window_get_pixbuf
gtk_paned_get_child1
gtk_paned_get_child2
gtk_places_sidebar_get_location
gtk_places_sidebar_get_nth_bookmark
gtk_plug_get_socket_window
gtk_popover_get_default_widget
gtk_progress_bar_get_text
gtk_recent_filter_get_name
gtk_recent_manager_lookup_item
gtk_settings_get_default
gtk_socket_get_plug_window
gtk_stack_sidebar_get_stack
gtk_stack_switcher_get_stack
gtk_style_context_get_section
gtk_style_context_get_parent
gtk_style_context_get_frame_clock
gtk_test_find_widget
gtk_text_buffer_get_mark
gtk_text_tag_table_lookup
gtk_text_view_get_tabs
gtk_text_view_toggle_cursor_visible
gtk_text_view_get_window
gtk_toolbar_get_nth_item
gtk_tool_button_get_label
gtk_tool_button_get_icon_name
gtk_tool_button_get_label_widget
gtk_tool_button_get_icon_widget
gtk_tool_palette_get_drop_item
gtk_tool_palette_get_drop_group
gtk_tree_model_filter_convert_child_path_to_path
gtk_tree_model_filter_convert_path_to_child_path
gtk_tree_model_sort_convert_child_path_to_path
gtk_tree_model_sort_convert_path_to_child_path
gtk_tree_view_get_column
gtk_tree_view_get_bin_window
gtk_tree_view_column_get_widget
gtk_tree_view_column_get_tree_view
gtk_widget_get_frame_clock
gtk_window_group_get_current_device_grab
GtkTextBufferSerializeFunc
2016-01-08 12:18:23 +00:00
Olivier Fourdan
28f011eb05
wayland: prefer subsurface when possible
...
Quite a few applications use GTK_WINDOW_POPUP to create various
temporary windows and place then on screen. That works fine on X11 but
on Wayland there is no global coordinate system for regular surfaces.
If the application is using a gdk temp window and set a parent with
gtk_window_transient_for(), the gdk wayland backend has all it needs to
create a subsurface that can be placed at will by the application.
Bugzilla: https://bugzilla.gnome.org/show_bug.cgi?id=759738
2016-01-08 10:33:26 +01:00
Timm Bäder
d85b3fc60d
revealer: Propagate draw event
2016-01-08 09:38:32 +01:00
Timm Bäder
711ffd648e
GtkPopover: Protect against transparent backgrounds
...
If the background is transparent, we can't use it for the input shape,
since that will be empty. Draw a box with rounded corners irectly
instead, in fully opaque black.
https://bugzilla.gnome.org/show_bug.cgi?id=759905
2016-01-08 09:14:03 +01:00
Matthias Clasen
a45b1d1e3c
inspector: Sort themes in the various theme combos
...
It is nicer if the themes show up in a predictable order,
so sort them alphabetically.
2016-01-07 19:56:05 -05:00
Matthias Clasen
ec02f055ed
inspector: Add HighContrastInverse to list of themes
2016-01-07 19:56:05 -05:00
Matthias Clasen
0e473a5f1c
Rename HighContrast-dark to HighContrastInverse
...
For accessibility purposes, it is better to have this as a
separate theme than as a dark variant of the HighContrast theme.
2016-01-07 19:56:05 -05:00
Lapo Calamandrei
4925493e49
Adwaita: rounded corners on iconview selection
2016-01-08 01:39:16 +01:00
Lapo Calamandrei
c0275b508d
Adwaita: fix calendar invisible selection
2016-01-08 01:39:16 +01:00
Matthias Clasen
5b3001b6d5
colorswatch: Fix the overlay
...
I misunderstood what the overlay is good for: We need to allocate
it the full size of the widget. since we are using it to render
a background gradient *over* the application-rendered color.
At the same time, save some 100 lines of code by using an icon
helper as gadget, instead of handling the icon manually.
2016-01-07 19:20:55 -05:00
Matthias Clasen
1b3bb244b6
color swatch: Fix up rendering
...
gtk_render_content_path is expecting the full box dimensions,
not just the content area. So, add the border before calling it.
Note it is still possible to have some separation between the
color and the border, by setting padding.
2016-01-07 18:38:31 -05:00
Daiki Ueno
f9e6ccd592
gtkbuilder: Install gettext ITS files
...
Recent gettext has a feature to allow consumer projects to supply their
own string extraction rules for XML files, in ITS format.
Gettext still ships the rule for *.ui, but it would be better
maintained in the upstream project.
https://bugzilla.gnome.org/show_bug.cgi?id=760202
2016-01-07 18:08:30 -05:00
Matthias Clasen
9e63e61b16
Implement transitions for radial gradients
...
This was missing in the initial implementation.
2016-01-07 16:30:19 -05:00
Matthias Clasen
a7e2a9d8d3
Don't interpolate between keywords
...
Transitioning between linear gradients like
linear-gradient(to top, yellow, green) and
linear-gradient(to left, yellow, green) was yielding
nonsensical results, with the gradient line jumping around
wildly. Fix this by falling back to stupid image interpolation
for these cases.
2016-01-07 16:13:26 -05:00
Timm Bäder
ca6d01a678
GtkCssGadget: Set valid clip values for invisible gadgets
2016-01-07 20:39:37 +01:00
Matthias Clasen
8ecba89991
color swatch: Remove a stray frame
...
When using a gadget, the border is free, no need to call
gtk_render_frame ourselves.
2016-01-07 14:08:26 -05:00
Timm Bäder
0b96b8a1ee
GtkModelButton: Remove some margins
...
Now that we can use margins from css for this, remove the margins we set
in code and use css instead.
2016-01-07 19:37:18 +01:00
Timm Bäder
2f61bc1866
GtkModelButton: Remove always-zero variable
2016-01-07 19:37:18 +01:00
Eric Williams
bbfec07e06
Clarified the function docs for gtk_css_provider_load_from_data().
...
https://bugzilla.gnome.org/show_bug.cgi?id=760238
2016-01-06 22:42:37 -05:00
Timm Bäder
47afccb41b
GtkListBox: Optimize _get_row_at_y a bit
...
Use g_sequence_lookup for a binary search over the rows.
2016-01-06 16:02:59 +01:00
Timm Bäder
a9d5fa4cfe
GtkListBox: get_row_at_y can return NULL
2016-01-06 16:02:58 +01:00
Rico Tzschichholz
83fc4d591a
HighContrast: Fix make dist
2016-01-06 15:21:22 +01:00
Matthias Clasen
f32362e82c
HighContrast: Improve search bar appearance
...
Follow the generally white background we use everywhere else.
This is not perfect, we get double borders when the search bar
is shown, as can be seen in gtk3-widget-factory.
2016-01-05 22:33:20 -05:00
Matthias Clasen
aa9095ff72
HighContrast: Fix up action bar styling
...
Since HighContrast is not using different background colors
as much as Adwaita, we need to add borders to prevent things
from running into each other.
2016-01-05 22:22:47 -05:00
Matthias Clasen
643454147c
HighContrast: Drop deprecated style properties
2016-01-05 20:39:16 -05:00
Matthias Clasen
56ca40996d
HighContrast: Add a dark variant
...
This is just a quick experiment, and so I have another theme with
a dark variant to play with.
2016-01-05 19:25:06 -05:00
Matthias Clasen
474d6bec85
HighContrast: Add a missing unit
2016-01-05 16:54:40 -05:00
Matthias Clasen
907fade7d0
HighContrast: Fix sidebar borders
2016-01-05 16:53:03 -05:00
Matthias Clasen
39b76ec082
HighContrast: Fix checkboxes in selected context
...
Set a proper color so checks and radios don't disappear on the
black selection background.
2016-01-05 14:37:22 -05:00
Matthias Clasen
9ebb63c71f
HighConstast: Some fixes for treeview headers
2016-01-05 14:19:58 -05:00
Matthias Clasen
d60fe93937
HighContrast: Keep spinbuttons from resizing on hover
2016-01-05 13:42:57 -05:00
Matthias Clasen
37ab99d1d2
HighContrast: Fix checks and radios
2016-01-05 13:42:57 -05:00
Matthias Clasen
c25b8e25f5
HighContrast: Some menu fixes
2016-01-05 13:42:57 -05:00
Matthias Clasen
fd57a552cf
HighContrast: paned fixes
...
Mostly copied from Adwaita.
2016-01-05 13:42:57 -05:00
Cosimo Cecchi
0f3f2e7f9c
HighContrast: more combobox fixes
...
Taken from Adwaita.
2016-01-05 10:01:54 -08:00
Paolo Borelli
c4996873dc
docs: try to clarify widget_get_state_flags vs context_get_state
2016-01-05 18:46:56 +01:00
Matthias Clasen
4a9c6777a7
HighContrast: Some combobox fixes
...
Mostly copied from Adwaita.
2016-01-04 23:52:28 -05:00
Matthias Clasen
d17f89f6bf
HighContrast: Fix frame styling
2016-01-04 23:45:13 -05:00
Matthias Clasen
a11c30d0df
HighContrast: fix up color chooser theming
...
Mostly copied from Adwaita.
2016-01-04 23:28:32 -05:00
Matthias Clasen
32177aa03b
HighContrast: Fix up stackswitcher
...
Copy Some of the more recent additions from Adwaita.
2016-01-04 22:08:53 -05:00
Matthias Clasen
c110ffcb1a
HighContrast: No blue spinners
...
Spinners are drawing backgrounds now, so setting a blue
background color is pretty distracting.
2016-01-04 21:35:55 -05:00
Matthias Clasen
f63e8edec6
Make sure icons update on theme change
...
Gadgets don't connect to style-changed for widget nodes, and
GtkImage uses its widget node for the icon helper. The visible
effect of this is that symbolic icons don't change color when
switching to the dark variant of Adwaita.
Fix this by manually invalidating the icon helper.
2016-01-04 21:32:19 -05:00
Cosimo Cecchi
637ade656a
levelbar: loop over all block gadgets to determine min size
...
Instead of just picking the first. This is because the theme might set a
border on only one of them, like the HighContrast theme does.
2016-01-04 18:14:33 -08:00
Cosimo Cecchi
183bcb41ec
levelbar: fix parameter confusion
...
We're always interested in the minimum size.
2016-01-04 17:56:50 -08:00
Cosimo Cecchi
beeefa1629
HighContrast: update to use -gtk-outline-radius
2016-01-04 17:50:24 -08:00
Cosimo Cecchi
bc66c0c31e
HighContrast: update to use :hover
2016-01-04 17:49:41 -08:00
Cosimo Cecchi
2780865534
HighContrast: update to use :indeterminate
2016-01-04 17:48:59 -08:00
Cosimo Cecchi
b2b1b0e238
HighContrast: update to use :disabled
2016-01-04 17:46:43 -08:00
Matthias Clasen
f727ee5687
Implement CSS radial gradients
...
Implement parsing and drawing of radial gradients according to
http://www.w3.org/TR/css3-images/#radial-gradients .
Transitions are not implemented yet.
2016-01-04 13:59:24 -05:00
Christoph Reiter
f66191346c
Mention GtkIconSize in all docs where the argument/return is annotated as taking an int instead of GtkIconSize
...
In https://bugzilla.gnome.org/show_bug.cgi?id=601425 the annotations
were changed to int as they not only take the predefined enum values
but also user defined values registered through gtk_icon_size_register()
As a result the typelib doesn't contain any information about
GtkIconSize for those arguments and the Python docstring only
shows the corresponding Python type "int".
This changes the argument docs to mention the type explicitly
so the Python doc generator can add a link to Gtk.IconSize
which contains the most useful predefined values.
https://bugzilla.gnome.org/show_bug.cgi?id=757411
2016-01-04 11:56:44 +01:00
Cosimo Cecchi
a009a50239
cssstyle: fix a compiler warning
2016-01-03 17:20:06 -08:00
Matthias Clasen
cfa0884165
Improve formatting of CSS style prints
...
Add a newline after CSS properties, so things don't run into
each other.
2016-01-03 17:05:16 -05:00
Matthias Clasen
2e921691d9
Redo CSS style printing
...
Drop the custom style printing implementation in gtkcssnode.c and
instead reuse the existing gtk_css_style_print function, extending
it a bit to suit our needs.
Instead of computing values, just recognize initial values by
having no CSS section. Also do away with the show-initial flag, and
just always filter out initial values. The flag can come back when
it is needed.
2016-01-03 15:36:48 -05:00
Matthias Clasen
0c52eca34c
Move node printing to GtkCssNodeDeclaration
...
The node declaration has all the information we are printing
here (except for visibility). At the same time, redo the format
to print the information in selector format, and indicate
(in)visibility by enclosing the selector in square brackets.
2016-01-03 14:41:43 -05:00
Cosimo Cecchi
dcaffe369f
cssnode: fix a compiler warning
2016-01-03 11:25:45 -08:00
Felix Riemann
daa08862ff
shortcuts: Separate gestures in search results
...
Gestures where shown separately from other shortcuts in the search
results before. This restores that behaviour.
https://bugzilla.gnome.org/show_bug.cgi?id=760097
2016-01-03 17:07:23 +01:00
Felix Riemann
bd4b3091f6
shortcuts: Show icons and subtitles for gestures in search results
...
https://bugzilla.gnome.org/show_bug.cgi?id=760097
2016-01-03 17:07:23 +01:00
Matthias Clasen
1aeaa33e68
lockbutton: Fix up the template
...
I forgot to clean this up when switching to a stack.
2016-01-03 10:42:13 -05:00
Matthias Clasen
9c39232ab3
assistant: Drop unnecessary frame
...
We can just style the sidebar box itself, no need for an
extra frame widget.
2016-01-03 10:33:54 -05:00
Matthias Clasen
adfb76dc7e
lockbutton: Use a stack
...
The previous way of manually juggling the visibility of the
labels doesn't work anymore, now that gadgets of invisible
widgets don't allocate space anymore.
2016-01-03 09:55:30 -05:00
Matthias Clasen
68edc47f6a
Add a function to dump CSS nodes and styles
...
Add a gtk_style_context_to_string function that can serialize
a CSS node or tree of nodes, optionally including CSS properties
as well.
This will be useful in writing tests.
2016-01-03 09:19:30 -05:00
Cosimo Cecchi
a6624d803e
infobar: remove unneeded gadget
...
It turns out we don't really need to use a separate gadget for the
infobar, if all we do is chaining up to the parent GtkBox which already
uses a gadget.
Just remove all the boilerplate.
2016-01-03 01:02:12 -08:00
Cosimo Cecchi
ef8a5fc542
window: remove unused variables
2016-01-03 00:54:16 -08:00
Cosimo Cecchi
424898e071
levelbar: consolidate code into single function
2016-01-03 00:45:43 -08:00
Cosimo Cecchi
a6e7e72d53
levelbar: port to use gadgets
...
We now use one gadget for the trough, and one for each block.
2016-01-03 00:45:43 -08:00
Cosimo Cecchi
971f1a9b31
levelbar: split out a function
2016-01-03 00:44:05 -08:00
Cosimo Cecchi
feb741babf
infobar: port to use a gadget
2016-01-03 00:44:05 -08:00
Cosimo Cecchi
f246dc1c85
infobar: trivial code cleanups
2016-01-03 00:44:05 -08:00
Cosimo Cecchi
d8b6dbd888
menubar: prefer early return
2016-01-03 00:44:05 -08:00
Cosimo Cecchi
700286c6d8
menubar: port to use a gadget
2016-01-03 00:44:05 -08:00
Cosimo Cecchi
96f10c0b72
menubar: use gtk_container_class_handle_border_width()
2016-01-03 00:44:05 -08:00
Cosimo Cecchi
4328a3a24b
HighContrast: remove unused selector
...
There's no header-bar-separator style class.
2016-01-03 00:42:51 -08:00
Cosimo Cecchi
a9d07b6ec6
Adwaita: remove unused selector
...
There's no header-bar-separator style class.
2016-01-03 00:42:51 -08:00
Cosimo Cecchi
28911c595b
HighContrast: update for separators deprecations
...
HighContrast still has a long way to go, but let's get at least
separators working again.
2016-01-03 00:42:51 -08:00
Cosimo Cecchi
7dacc7836f
HighContrast: reparse theme
...
For some reason, this got accidentally changed in a previous commit.
This is just the output of running parse-sass.sh again.
2016-01-03 00:42:51 -08:00
Cosimo Cecchi
39beebd2cb
win32: remove ineffective selector
...
That style property is deprecated, but the combobox does not have a
separator anymore.
2016-01-03 00:42:51 -08:00
Cosimo Cecchi
908deb1bdc
widget: deprecate separator style properties
...
They're not used in GTK anymore. Also remove them from the default
theme.
2016-01-03 00:42:51 -08:00
Cosimo Cecchi
64a06adfc0
treeview: don't use wide-separators/separator-height
...
Those style properties are on their way out; instead, use min-height
with the separator style class to obtain the height.
2016-01-03 00:42:51 -08:00
Cosimo Cecchi
2eb7e6a85a
treeview: prefer positive polarity in if block
2016-01-03 00:42:51 -08:00
Cosimo Cecchi
1f690ddbfa
separator: don't read wide-separators style property
...
The notion of a separator being wide or not does not make sense when a
theme can set any CSS property on it, and
separator-width/separator-height are on their way out for
min-width/min-height.
2016-01-03 00:42:51 -08:00
Cosimo Cecchi
0740f23c77
menuitem: don't read wide-separators or separator-height
...
Separators inside menus are working completely through CSS since
GtkMenuItem has been ported to use a gadget.
Remove this unused code from here.
2016-01-03 00:42:51 -08:00
Cosimo Cecchi
eff8865ab1
separatortoolitem: don't use custom sizing/rendering
...
Instead, just rely on the CSS gadget; we can stop using wide-separators,
separator-height and separator-width, and at the same time deprecate the
space-size style property of GtkToolbar.
2016-01-03 00:41:32 -08:00
Cosimo Cecchi
55e80f9379
separatortoolitem: trivial code cleanups
2016-01-03 00:41:32 -08:00
Cosimo Cecchi
ea25985b67
toolbar: deprecate GtkToolbarSpaceStyle and space-style style property
...
This is completely unused already.
2016-01-03 00:41:32 -08:00
Cosimo Cecchi
48596090af
toolbar: port to use a gadget
2016-01-03 00:41:32 -08:00
Cosimo Cecchi
d64304997f
toolbar: use gtk_container_handle_border_width()
2016-01-03 00:41:32 -08:00
Cosimo Cecchi
10c222649e
toolbar: trivial code cleanup
2016-01-03 00:41:32 -08:00
Felix Riemann
6df8bc2e1a
GtkBindings: Fix CSS key in example docs
...
gtk-key-bindings was renamed to -gtk-key-bindings in d267b8e0
.
https://bugzilla.gnome.org/show_bug.cgi?id=760082
2016-01-03 02:04:11 -05:00
Christoph Reiter
6d77b9f316
gtkwindow: fix first allocation size
...
67ab00e01e
removed the fake configure code in gtk_window_show() and
replaced it with a simple gtk_widget_realize(). The initial allocation
code in realize() only allocates the natural size or the last requested
size which now no longer is set, resulting in a too small first allocation.
This builds a configure request to compute the allocation size instead
which includes default size, CSD etc..
This problem could be seen in case of a GtkPaned in a GtkWindow with a
default size set and the pane position set as well. The first allocation
would be the natural size of the GtkPaned which would clamp the pane
position if too larg. Only the second allocation would fill the parent
window using the now wrong pane position.
https://bugzilla.gnome.org/show_bug.cgi?id=759705
2016-01-02 22:12:12 -05:00
Matthias Clasen
e93d64e4c3
Revert "Revert "window: Remove suspicious branch""
...
This reverts commit 2438a06d54
.
See https://bugzilla.gnome.org/show_bug.cgi?id=759705
2016-01-02 22:12:12 -05:00
Cosimo Cecchi
6322b1f647
levelbar: fix a crash
...
We should not try to access a block with an index that exceeds the
number of blocks in the widget.
2016-01-02 18:44:07 -08:00
Matthias Clasen
8109520d4e
separator toolitem: Respect ::draw property
...
This was lost when I converted the widget to use a gadget.
https://bugzilla.gnome.org/show_bug.cgi?id=760018
2016-01-02 20:55:37 -05:00
Cosimo Cecchi
0401146896
spinbutton: fix a typo
2016-01-02 15:31:23 -08:00
Cosimo Cecchi
664bbe12ba
menuitem: move chaining up to draw inside gadget
...
This is more consistent with what other widgets do.
2016-01-02 15:31:21 -08:00
Timm Bäder
3758762119
GtkImage: Simplify _set_from_icon_name
...
We don't need to strdup icon_name since that will happen in
_gtk_icon_helper_set_icon_name anyway.
2016-01-02 15:46:45 +01:00
Christoph Reiter
558fb1ecdd
gtkdnd-quartz: fix gtk_drag_begin_internal
...
gtk_drag_begin_internal was changed to take a GtkImageDefinition
instead of a GtkIconHelper. This adjusts the quartz variant
accordingly.
https://bugzilla.gnome.org/show_bug.cgi?id=759607
2016-01-01 15:05:23 +01:00
Alberts Muktupāvels
a90926c7f0
gtkheaderbar: update window buttons also on realize
...
After bb34db6
_gtk_header_bar_update_window_buttons function is
called before application menu is set. This caused regression -
app menu button is initially hidden.
https://bugzilla.gnome.org/show_bug.cgi?id=756618
2016-01-01 15:55:37 +02:00
Руслан Ижбулатов
a8ae549ed0
Fix include path for gtkiconfactoryprivate.h
2015-12-30 21:57:29 +00:00
Руслан Ижбулатов
91bb91dbb9
Fix to compile for C libraries with no flockfile
...
Also use MS variant of flockfile, if available
(requires MSVCRT compatible with MSVCR90 or newer).
2015-12-30 21:57:29 +00:00
Cosimo Cecchi
f357ef5610
scrolledwindow: add missing deprecation flag
2015-12-30 10:44:12 -08:00
Cosimo Cecchi
354eb5678b
menuitem: fix a crash when reserve_indicator is TRUE
...
In that case, code expects an arrow gadget to be present but we're not
creating it in every occurrence.
Fix it by ensuring there will be an arrow gadget when reserve_indicator
is TRUE.
2015-12-29 18:31:10 -08:00
Cosimo Cecchi
3740c7f092
toolitem: fix a copy/paste typo
2015-12-29 16:33:53 -08:00
Cosimo Cecchi
79c045ed80
scrolledwindow: port to use a gadget
2015-12-29 13:51:06 -08:00
Cosimo Cecchi
7c0f0e882a
scrolledwindow: deprecate scrollbars-within-bevel style property
...
These days all the themes set it to TRUE, and it's not clear what
happens with overlay scrollbars...
2015-12-29 13:51:06 -08:00
Cosimo Cecchi
09835b4c39
viewport: don't render a background over the bin window
...
GtkViewport currently tries to draw a background over the bin window.
The feature is a bit broken at the moment, as it does not take into
account padding that might have been set on the GtkViewport, but in
general it does not seem very useful, and goes somewhat against the CSS
box model where every widget/gadget is responsible to draw its own
background. For a fix, we could either have the viewport gain a "bin"
gadget, or we could stop drawing the background.
As it isn't clear that there are any users of this feature, stop drawing
the background; a client can achieve the same effect by drawing the
background on the widget inside the viewport itself.
2015-12-29 13:50:19 -08:00
Cosimo Cecchi
5daede51f7
viewport: port to use a gadget
...
This will get us margin support, among other things, and simplifies the
code.
2015-12-29 13:50:19 -08:00
Cosimo Cecchi
71d7b10dad
viewport: trivial code cleanup
2015-12-29 13:50:19 -08:00
Cosimo Cecchi
a37129fd60
viewport: use gtk_container_class_handle_border_width()
...
No need to do this manually.
2015-12-29 13:50:19 -08:00
Benjamin Otte
acbff85402
gadget: Handle visibility
...
As GtkCssNode has the visibility concept, it makes sense to mirror it in
gadgets.
Do what visibility does in widgets: Hidden gadgets can't be drawn or
allocated and request a 0x0 size.
Note that just like widgets, gadget visibility must not be changed in
size request, allocate or draw handlers.
GtkWidget::child-visible has no equivalent yet, code will have to
emulate that manually.
2015-12-29 13:48:58 -08:00
Matthias Clasen
9950764f12
Drop deprecated pango-utils api
...
Copy the few parsing functions we need.
2015-12-29 08:09:23 -05:00
Ben Iofel
1e1af62bee
Raleigh: Don't use deprecated pseudo classes
2015-12-28 20:30:51 -08:00
Matthias Clasen
31e97b33e1
Set ID on css node right away
...
Previously, the ID was only set on the CSS node as a side-effect
of calling gtk_widget_get_style_context. This was showing up
in CSS style tests as nodes lacking their IDs.
2015-12-28 23:18:06 -05:00
Matthias Clasen
0042f9b414
Fix a comment
2015-12-28 22:37:33 -05:00
Matthias Clasen
e71f7d713e
Add a transfer annotation
...
This was confusing me momentarily, so add an explicit annotation.
2015-12-28 22:37:22 -05:00
Matthias Clasen
ba1636be87
statusicon: Avoid criticals
...
The code handles the possibility of pixbuf being NULL, but
after b411c31832
we must be
prepared for surface already being NULL. Pointed out by
Albert Muktupāvels,
https://bugzilla.gnome.org/show_bug.cgi?id=759917
2015-12-28 10:27:08 -05:00
Matthias Clasen
e8ba058396
checkbutton: Update state initially
...
Without this, the check node starts out without the :dir(ltr)
state, at least.
2015-12-28 10:24:02 -05:00
Matthias Clasen
eb09bee492
css: Deprecate :sorted pseudo class
...
This was used with regions in GtkTreeView, and is not used
anymore, so deprecate it.
2015-12-27 18:37:19 -05:00
Matthias Clasen
f3069d7e94
css: Redo the pseudo class deprecation warnings
...
Putting the deprecated class behind the official variant does
not work for the case of :focus and :focused - we were matching
:focus and leave a dangling 'ed'. So, put the deprecated classes
before the official variant, and explicitly mark them as deprecated.
2015-12-27 17:32:11 -05:00
Matthias Clasen
8bfbb2c103
Cosmetic change
2015-12-26 21:42:10 -05:00
Matthias Clasen
80a91722e5
inspector: Don't leak weak references
...
These come back to bite us when the inspector is no longer around
at the end of the program.
https://bugzilla.gnome.org/show_bug.cgi?id=759768
2015-12-26 21:42:10 -05:00
Matthias Clasen
787f600d33
inspector: Remove some dead code
...
Since commit bffeae6203
, the
tree path is not used for anything useful anymore, so do away
with it entirely.
2015-12-26 21:42:10 -05:00
Руслан Ижбулатов
1f154f576a
Fix a surface leak
...
Was introduced as part of b79a187d47
.
Results in memory leaks (and GDI objects leaks on W32).
2015-12-27 02:02:19 +00:00
Carlos Soriano
5404e124b6
gtkframe: format fix
2015-12-26 20:52:53 +01:00
Carlos Soriano
79b6d48983
gtkframe: remove unused variable
...
And fix the compiler warning
2015-12-26 20:52:31 +01:00
Matthias Clasen
26d8688cb4
Redo the CSS docs
...
Split the CSS docs off from the GtkCssProvider docs and
give them their own chapter. Among other things, this commit
introduces more or less complete definitions of the syntax for
the supported selectors, a complete list of all supported
properties, and definitions for their values. This includes
documentation for GTK+-specific properties such as -gtk-icon-source.
2015-12-25 22:58:52 -05:00
Matthias Clasen
b3dbf3f41c
Drop the :dnd syntax altogether
...
This was only introduced a few weeks ago. We don't need to keep
this around, now that we support the proper CSS syntax.
2015-12-25 22:58:28 -05:00
Matthias Clasen
39b4efb24e
Adwaita: Don't use deprecated pseudo classes
2015-12-25 22:58:28 -05:00
Matthias Clasen
c998fae5ac
Add deprecation warnings for pseudo states
...
Emit a deprecation error in the cases where we have
a CSS name for a custom pseudo class.
2015-12-25 22:58:28 -05:00
Matthias Clasen
158dbbc88f
Use CSS syntax for drop highlighting
...
I hadn't noticed the :drop() pseudo state in the CSS4 Selectors
spec when I added this a while ago. This commit renames
GTK_STATE_FLAG_DND to GTK_STATE_FLAG_DROP_ACTIVE and adds
:drop(active) as equivalent to the :dnd pseudo state.
2015-12-25 22:58:28 -05:00
Matthias Clasen
b3c1454dcc
Add docs for GtkCssSection
2015-12-25 22:58:28 -05:00
Lapo Calamandrei
81da0b86f3
Adwaita: fix notebook close button
2015-12-24 00:02:12 +01:00
Lapo Calamandrei
157276b455
Adwaita: use min-height/width for entry and button sizing
2015-12-23 20:35:06 +01:00