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
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