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
Lapo Calamandrei
08f928a4ea
Adwata: fix switch slider border clash
2015-12-23 18:57:04 +01:00
Florian Müllner
e20826fe03
label: Deny drag gesture when not selectable
...
We don't actually do anything when the label is not selectable
except for consuming the event, which breaks for instance titlebar
drags with labels that contain links. Simply deny the gesture in
that case to allow the event to bubble up normally.
https://bugzilla.gnome.org/show_bug.cgi?id=759798
2015-12-23 14:07:00 +01:00
Chun-wei Fan
c0bc0a9ac2
gtkcssnumbervalue.c: Include fallback-c89.c to fix build
...
... on older Visual Studio versions, where isinf() is not available, and
copy the isinf() implementation from gdk/fallback-c89.c to
gtk/fallback-c89.c.
2015-12-23 19:23:17 +08:00
Matthias Clasen
b6d287aab5
widget: Be safe against windows losing their frame clock
...
gdk_widget_get_frame_clock can return NULL. In particular,
this can happen when the drag window is destroyed at the end
of a DND operation. Handle this gracefully when it happens.
2015-12-22 23:57:06 -05:00
Alberts Muktupāvels
8ffa8b3a49
gtksettings: notify after property reset
2015-12-23 05:55:47 +02:00
Matthias Clasen
d92111256f
fix printing of numbers
...
We should be printing infinite, not inf.
2015-12-22 22:29:22 -05:00
Matthias Clasen
6b497bcf81
Trivial changes
2015-12-22 22:29:22 -05:00
Cosimo Cecchi
efb8e5bd43
menuitem: don't use content allocation to resize the GdkWindow
...
This is a fallout from the gadget conversion.
2015-12-22 15:36:00 -08:00
Matthias Clasen
ad87ebb5e7
Adwaita: Adapt to previous commit
...
Rename all outline*radius properties to -gtk-outline*radius.
2015-12-22 16:19:18 -05:00
Matthias Clasen
f61b7ba797
Prefix outline radius CSS properties
...
These are not in any CSS specifications, so mark them as GTK+
additions by giving them a -gtk prefix. The old names still work.
2015-12-22 16:18:10 -05:00
Matthias Clasen
2d6ce0da08
Add some docs to GtkIcon
2015-12-22 15:03:15 -05:00
Matthias Clasen
5f330418ae
Add some docs to GtkBuiltinIcon
2015-12-22 15:03:15 -05:00
Cosimo Cecchi
a5a5091555
stylecontext: fix gtk-doc comment syntax
2015-12-22 11:56:23 -08:00
Cosimo Cecchi
22c9169883
Adwaita: don't set deprecated style property
2015-12-22 11:53:07 -08:00
Matthias Clasen
c8206ca698
Adwaita: Fix app-notification theming
...
The way to disable the frame border has changed.
2015-12-22 13:53:43 -05:00
Matthias Clasen
f5f80b40c3
Fix GtkFrame padding
...
This was showing up in the app-notification in widget-factory.
2015-12-22 13:53:43 -05:00
Cosimo Cecchi
23d8791a47
combobox: remove unused struct member
...
The box was removed a while ago.
2015-12-22 10:53:03 -08:00
Cosimo Cecchi
8d0ad79238
Adwaita: remove combobox separator styling
...
The separator does not exist anymore.
2015-12-22 10:49:21 -08:00
Cosimo Cecchi
ef41bd7112
combobox: deprecate shadow-type style property
...
It does not add any value to what can be achieved through regular CSS
styling.
2015-12-22 09:29:43 -08:00
Cosimo Cecchi
f5628f0439
combobox: port to use a gadget
...
Wrap the size request and allocate code into a GtkCssCustomGadget. This
makes margins work on GtkComboBox.
2015-12-22 09:29:43 -08:00
Cosimo Cecchi
a90d928a34
combobox: use a private variable when possible
...
Instead of dereferencing the same variable over and over.
2015-12-22 09:29:43 -08:00
Cosimo Cecchi
f03268eabe
combobox: trivial code cleanup
2015-12-22 09:29:43 -08:00
Cosimo Cecchi
ebc7b59b44
combobox: remove unneeded check
...
The combobox always has a window.
2015-12-22 09:29:43 -08:00
Cosimo Cecchi
5764c09272
combobox: use GtkIcon to render button arrow
...
We can now use the newly introduced GtkIcon widget to properly render
the arrow in the combobox with CSS.
2015-12-22 09:29:43 -08:00
Cosimo Cecchi
9b7473b633
Introduce GtkIcon private class
...
This is an utility widget that wraps a GtkBuiltinIcon for situations
where using a real widget is more convenient than a gadget.
2015-12-22 09:29:43 -08:00
Matthias Clasen
164e8ed6bd
menuitem: Simplify separators
...
For regular separators, we just rely on standard CSS background
rendering nowadays. Do the same for separators in menus.
https://bugzilla.gnome.org/show_bug.cgi?id=759765
2015-12-22 10:30:51 -05:00
Matthias Clasen
2438a06d54
Revert "window: Remove suspicious branch"
...
This reverts commit 67ab00e01e
.
See https://bugzilla.gnome.org/show_bug.cgi?id=759705
for a case where this makes a difference.
2015-12-22 07:36:58 -05:00
Lapo Calamandrei
a64bf81a9f
Adwaita: fix bogus rounded corners on split headerbars
...
we have to do some assumptions for css selectors limits for this
particular case, so for split headerbars to work correctly the
actual haderbars need not to have the titlebar class applied.
2015-12-22 11:53:27 +01:00
Chun-wei Fan
7a05432843
gtk/gtkbuiltinicon.c: Fix build
...
The gtk_builtin_icon_get_default_size_property returns a const char *,
in a way such that some compilers insist that something that is of a
pointer value be returned, so fix that by replacing 0 with NULL.
2015-12-22 16:35:58 +08:00
Daiki Ueno
75b3eec7a6
inspector: Avoid crash when canceling at startup
...
When clicking "Cancel" on the "Do you want to use GTK+ Inspector?"
dialog, unregister the update_debugging idle handler. Also, steal
reference to 'inspector_window' while gtk_destroy_widget(), to make
further gtk_window_update_debugging() calls as a no-op.
https://bugzilla.gnome.org/show_bug.cgi?id=759764
2015-12-22 12:52:27 +09:00
Matthias Clasen
cc50652db5
Adwaita: Fix overwrite cursors in entries
...
GtkEntry uses the background color to render the text over
the block cursor. A transparent background color makes that
not work.
2015-12-21 20:17:35 -05:00
Matt Watson
11ad60d386
flowbox: remove unused prelight code
...
It was causing needless redraws
https://bugzilla.gnome.org/show_bug.cgi?id=759757
2015-12-21 14:52:11 -08:00
Matthias Clasen
3075dac106
image: Don't assume baseline parameters are non-NULL
...
The GetSize callback *can* assume that minimum and natural are
non-NULL. Buy minimum_baseline and natural_baseline can and
will be NULL, so handle that. This was causing crashes e.g. in
pavucontrol.
2015-12-21 12:55:12 -05:00
Cosimo Cecchi
485c28d300
menu: port arrow rendering to use a GtkBuiltinIcon
...
At the same time, remove one spurious background/frame rendering, and
simplify the code a great deal.
2015-12-21 09:22:16 -08:00
Cosimo Cecchi
729801c2a1
menuitem: trivial doc improvement
2015-12-21 09:22:16 -08:00
Cosimo Cecchi
105b45dce0
cssgadget: print more information when warning
2015-12-21 09:22:16 -08:00
Cosimo Cecchi
5611e81bbc
cssgadget: fix fallback case
...
We should be resetting the height here, not the width.
2015-12-21 09:22:16 -08:00
Cosimo Cecchi
655132b87c
menu: deprecate double-arrows style property
...
It does not sound like a good idea anymore to have a style property
change the layout of the menu this drastically.
2015-12-21 09:22:16 -08:00
Cosimo Cecchi
b664ba50c0
menu: deprecate arrow-placement style property
...
It does not sound like a good idea anymore to have a style property
change the layout of the menu this drastically.
2015-12-21 09:22:16 -08:00
Lapo Calamandrei
8a0a11dae4
Adwaita: set scrollbar style props in a general wildcard
...
trying to make webkit happy.
2015-12-21 16:58:03 +01:00
Lapo Calamandrei
7c6ca26bfb
Adwaita: fix split headerbar styling
...
applications with split headerbars has a container in the titlebar
slot so the .titlebar style there needs to be reset. Since we can't
go backward with selectors I assumed that any csd application
sports a headerbar hence relying on that styling and resetting
the .titlebar styleclass.
2015-12-21 16:18:04 +01:00
Matthias Clasen
6f889e832c
css: Support CSS names for pseudo states
...
What we call :insensitive is called :disabled in CSS, and
:inconsistent is :indeterminate. Recognize these names, but
still support the old ones.
2015-12-21 08:26:58 -05:00
Matthias Clasen
2599ca4d9f
Adwaita: Attempt a fixing split headers
...
Remove decorations from headerbars which are wrapped in some
other containers (like boxes, or paneds), to prevent double
decorations in those cases.
2015-12-21 07:46:37 -05:00
Lapo Calamandrei
a54fadced6
Adwaita: make progressbars and scales the same size
2015-12-21 11:50:56 +01:00
Lapo Calamandrei
124923213f
Adwaita: progressbar sizing and progress component positioning
...
shrinked progressbars a bit and moved the progress component start
and end over the trough border.
2015-12-21 11:28:45 +01:00
Matthias Clasen
436a258bb0
Fix a typo
2015-12-20 23:50:40 -05:00
Matthias Clasen
0473736499
Fix parsing of font-weight
...
The parser was turning a 400 into a 200 and a 700 into a 500.
2015-12-20 17:51:47 -05:00
Matthias Clasen
0520ca3bdf
buttonbox: Fix size request
...
A copy-paste mistake was making us always request too little
space, causing the buttons to be jumbled or cut off.
https://bugzilla.gnome.org/show_bug.cgi?id=759664
2015-12-20 17:03:06 -05:00
Matthias Clasen
6a67df79a8
inspector: Avoid criticals in the css editro
...
We can't keep text iters around after text buffer has been
changed. Just clear the list errors when the buffer changes
before we've passed it again.
2015-12-20 14:43:14 -05:00
Michael Catanzaro
c3d611fcf2
entry: Fix typo
2015-12-20 11:52:30 -06:00
Matthias Clasen
ea01921d09
modelbutton: Stop saving cairo state
...
GtkBuiltinIcon does this now on its own.
2015-12-20 01:04:59 -05:00
Matthias Clasen
9ac80c2510
checkbutton: stop saving cairo state
...
GtkBuiltinIcon now does this on its own.
2015-12-20 01:04:13 -05:00
Matthias Clasen
db7f269c03
Some updates to the CSS docs
...
Remove references to regions and engines, emphasize
element names over type names, update the list of
pseudo-states.
2015-12-20 01:03:38 -05:00
Cosimo Cecchi
c9e27636b6
checkmenuitem: port indicator gadget to GtkBuiltinIcon
...
Saves a lot of code.
2015-12-19 21:22:37 -08:00
Cosimo Cecchi
ce6cd49475
menuitem: port arrow gadget to GtkBuiltinIcon
...
Saves a lot of code.
2015-12-19 21:22:37 -08:00
Cosimo Cecchi
22ec899f23
menuitem: simplify code
...
Only cast once.
2015-12-19 21:22:37 -08:00
Cosimo Cecchi
aadc13c4ec
builtinicon: save/restore cairo context when rendering
2015-12-19 21:22:37 -08:00
Cosimo Cecchi
4ec99db368
checkmenuitem: deprecate indicator-size style property
...
We can now use min-width/min-height.
2015-12-19 21:22:37 -08:00
Cosimo Cecchi
5a87b5bbce
menuitem: deprecate toggle-spacing style property
...
We can move this to just use the actual GtkCssGadget of the menu item.
2015-12-19 21:21:16 -08:00
Cosimo Cecchi
3af5c83cd3
checkmenuitem: use a gadget for the check indicator
...
This will make margins and other CSS properties work correctly on the
indicator.
2015-12-19 21:21:16 -08:00
Cosimo Cecchi
0e24d6cd85
theme: fix menu check/radio styling
...
This is a leftover from the CssNode port of GtkCheckMenuItem and
GtkRadioMenuItem.
2015-12-19 21:21:16 -08:00
Cosimo Cecchi
b602dc2eed
menuitem: trivial cleanup
2015-12-19 21:21:16 -08:00
Cosimo Cecchi
871a8c0e16
checkmenuitem: prefer early return
2015-12-19 21:21:16 -08:00
Cosimo Cecchi
7959c3fb6e
menuitem: deprecate arrow-scaling style property
...
With this, we can also remove the custom measure function of the arrow
gadget.
2015-12-19 21:21:16 -08:00
Cosimo Cecchi
2d5d7d8cf2
menuitem: convert arrow rendering to GtkCssGadget
...
This also deprecates the arrow-spacing style property, which can be now
replaced with a simple margin.
2015-12-19 21:21:16 -08:00
Cosimo Cecchi
f49a5bf116
menuitem: deprecate width-chars style property
...
Instead, we can just set min-width.
2015-12-19 21:21:16 -08:00
Cosimo Cecchi
f2adb5779f
menuitem: port to gadgets
...
This is not a complete conversion yet - more changes will come in later
commits.
2015-12-19 21:21:16 -08:00
Cosimo Cecchi
11d9da08a9
menuitem: use gtk_container_class_handle_border_width()
2015-12-19 21:21:16 -08:00
Cosimo Cecchi
35ed13ac54
menuitem: really ignore horizontal-padding
...
This style property has been documented as been ignored for a long time,
but we were still reading it in some cases.
2015-12-19 21:21:16 -08:00
Matthias Clasen
f792d20507
statusbar: Deprecate style properties
...
We were not really using the shadow-type style property anyway,
so lets just deprecate it. Themes can directly theme the frame.
2015-12-19 23:53:31 -05:00
Matthias Clasen
57dd855d10
Adwaita: Drop some deprecated style properties
...
These can now be replaces with min-width/min-height.
2015-12-19 23:24:27 -05:00
Matthias Clasen
c0683d9267
checkbutton: Fix regression from builtin icon
...
The leaking of cairo transforms from builtin icon drawing
was causing the label to be drawn at the wrong position.
2015-12-19 23:23:09 -05:00
Matthias Clasen
f7236b261b
modelbutton: Fix state confusion
...
Checked buttons were getting the wrong image.
2015-12-19 21:56:05 -05:00
Matthias Clasen
f0fba02dca
Adwaita: Try harder to fix arrow rendering
...
Fiddle with specificity to keep hovered modelbutton arrows
from rendering background.
2015-12-19 20:46:26 -05:00
Matthias Clasen
7aeb57cdfd
modelbutton: Hide checks initially
...
Manually constructed model buttons were always ending up
with a check. Fix that by hiding the indictator node initially.
2015-12-19 20:16:51 -05:00
Matthias Clasen
0b7226e96e
Adwaita: Fix treeview headers
...
The borders went missing on these, at some point.
https://bugzilla.gnome.org/show_bug.cgi?id=759567
2015-12-19 17:34:21 -05:00