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
Matthias Clasen
bca4755228
modelbutton: Use a builtin icon for the arrow
...
No need to do this manually.
2015-12-19 14:53:57 -05:00
Matthias Clasen
d36c93b91b
expander: Fix drawing in rtl
...
GtkBuiltinIcon leaves the cairo context in unclean state
when drawing, work around that.
2015-12-19 11:24:27 -05:00
Matthias Clasen
7d801a4f69
Fix a case a height/width confusion
2015-12-19 11:24:27 -05:00
Matthias Clasen
d51de8cff8
expander: Use a builtin icon
...
This saves quite a bit of code.
2015-12-19 11:24:27 -05:00
Matthias Clasen
f54e0a283b
label: Allocate gadget before using it
...
Move the gtk_css_gadget_allocate call before the
gtk_label_update_layout_width call. This fixes the
statusbar label in widget-factory page 2 coming
up fully ellipsized.
2015-12-19 00:33:20 -05:00
Benjamin Otte
35e98dce9b
notebook: Sync menu labels with page list in visibile_cb
...
It's where it changes. Size requests have nothing to do with that.
2015-12-19 06:13:56 +01:00
Benjamin Otte
c3548328f7
notebook: Don't allocate during size requests
...
wat?
2015-12-19 06:13:56 +01:00
Benjamin Otte
dd90e020a2
label: Don't use _gtk_mis_get_padding_and_border()
...
The function takes into account CSS padding and border, which these days
is handled by the gadget code. Use gtk_misc_get_padding() instead.
2015-12-19 06:13:56 +01:00
Christoph Reiter
47325a827b
imagedefinition: The storage type is not a boolean
2015-12-19 06:13:56 +01:00
Matthias Clasen
a3fd5a010b
Simplify actionbar
...
We don't need a frame widget here, just render a top border on the
box.
2015-12-18 22:57:16 -05:00
Matthias Clasen
b90fa7dcd1
Adwaita: fix action bar styling
...
Make action bar buttons have some padding again.
2015-12-18 22:37:57 -05:00
Matthias Clasen
ac65952f0d
icon helper: suppress style_changed when transient
...
Transient nodes should not propagate style-changed signals
that can cause widgets to get reallocated. This was causing
treeviews and iconviews with pixbuf cells to be constantly
resized and redrawn.
2015-12-18 20:53:02 -05:00
Matthias Clasen
18e8842a7e
entry: Don't clear when setting icons
...
Clearing the icon doesn't appear to be necessary with
todays code, and it has the unfortunate side-effect of
temoorarily hiding the icon's window, which breaks grabs
and makes us miss the button release event when the icon
is changed from a button press handler.
2015-12-18 19:38:07 -05:00
Matthias Clasen
6f5b19a0a5
css node: Use g_set_object
...
Replace unref + assignment + ref combinations by g_set_object_calls.
2015-12-18 16:56:04 -05:00
Matthias Clasen
51ba8421c3
entry: Remove some dead code
...
These defines are no longer used.
2015-12-18 10:55:26 -05:00
Timm Bäder
e8aa9b0440
Add a way to highlight resizing widgets
...
https://bugzilla.gnome.org/show_bug.cgi?id=759586
2015-12-18 16:20:19 +01:00
Timm Bäder
20a6ee30b7
GtkWidget: Don't mix code and declarations
2015-12-18 16:08:22 +01:00
Matthias Clasen
666e4135e8
expander: Deprecate style properties
...
This can all be done with CSS properties now.
2015-12-18 09:26:16 -05:00
Matthias Clasen
53787d29ad
expander: Let gadget render focus
...
This lets us drop lots of allocation fiddling, and reduces
the code that is consulting the style properties we want
to get rid of.
2015-12-18 08:29:49 -05:00
Matthias Clasen
d81f8c1025
box: Add a way to get the gadget
...
This will be used in GtkButtonBox.
2015-12-18 07:37:52 -05:00
Matthias Clasen
acd339a9a5
buttonbox: Convert to gadgets
...
Set a css name and use a gadget for button box allocation and
drawing.
2015-12-18 06:52:35 -05:00
Matthias Clasen
2e25407638
Fix a problem with entry gadgets
...
place_windows is accessing the gadgets allocation, so make sure
to allocate the gadget before calling it.
2015-12-17 15:17:23 -05:00
William Hua
5190d010d9
gtkborder: restore original struct definition
...
We're going to add back the original struct definition removed by
a6e4de28
, because using the typedef breaks all sorts of things like
gtkmm and WebKit, and having separate struct definitions allows us to
change the types in GdkBorder from gint16s to gints without breaking
ABI.
2015-12-17 12:56:35 -05:00
Timm Bäder
f6b0067718
GtkSeparator: Don't leak the gadget
2015-12-17 14:51:34 +01:00
Matthias Clasen
35c243b26f
entry: use a gadget
...
Use a gadget for the entry. Selection and progress still
just use a CSS node. Most things seem to work correctly
with non-zero margin or padding.
2015-12-17 00:01:58 -05:00
Lionel Landwerlin
776778efc8
inspector: Ensure clip is always shown
2015-12-17 01:14:31 +00:00
Matthias Clasen
117ab50922
inspector: Always show clip
...
It is less confusing than hiding it sometimes.
2015-12-16 19:24:43 -05:00
Matthias Clasen
0e82076527
gadget: Don't warn about unset clip
...
Instead of warning about an unset clip, simply ignore
empty content clips.
2015-12-16 19:14:39 -05:00
Matthias Clasen
7778c237e6
cellview: Convert to gadgets
2015-12-16 19:07:26 -05:00
Matthias Clasen
f3c95e1c63
gadget: Avoid warning for empty containers
...
Empty boxes end up setting the clip to { 0, 0, 0, 0}, so warning
for a width or height of 0 triggers false positives. Instead,
initialize the clip to clearly invalid values.
2015-12-16 17:52:47 -05:00
Matthias Clasen
09d9674d69
gadget: Add more information to warnings
...
We have the gadget at hand, so we should print out some
information that helps tracking down where it comes from.
2015-12-16 17:41:04 -05:00
Matthias Clasen
083a17acd4
gadget: Update docs
...
Make it clear that out_clip must be set.
2015-12-16 17:32:24 -05:00
Matthias Clasen
ec5596ce20
gadget: Warn if clip is not set
...
This leads to hard-to-track-down drawing errors, so better
warn explicitly about it.
2015-12-16 17:27:14 -05:00
Matthias Clasen
2417184a1f
frame: Fix gadget conversion
...
The GtkCssAllocateFunc must set the clip to meaningful values.
2015-12-16 17:12:12 -05:00
Matthias Clasen
576028bdec
frame: Convert to gadgets
...
As part of this conversion, remove the hardcoded padding around
the label.
Unfortunately, we cannot use the main gadget for drawing the frame
decoration, since we want to draw a custom border instead of the
stock css border that gadgets insist on drawing for us. Therefore,
add an extra gadget with name border and use it just for rendering
the frame.
2015-12-16 15:15:18 -05:00
Carlos Garnacho
3be4971e05
GtkPopover: Ensure we unset modality before unparenting the popover
...
Otherwise the gtk_grab_remove() calls on widget destruction will happen
on the default window group, which may leave the real window group
of the popover with a dangling pointer if it is not the default one.
This could be seen on the inspector, open a popover in the properties
list and close the window with alt-F4.
2015-12-16 20:47:25 +01:00
Benjamin Otte
197e42efd8
label: Position the text properly
...
The PangoLayout needs to be positioned according to the content
allocation of the gadget, not the widget's allocation.
2015-12-16 20:39:51 +01:00
Benjamin Otte
2e362eafc7
cssnode: Redo first/last-child change tracking
...
Invisible nodes don't change the first/last-child status of the nodes
after/before them. That means we don't have to just check the state of
the adjacent node when modifying this state, but all their siblings
until we hit a visible node.
The same way, a node is not the first child if it has no previous
sibling, it is the first child if it has no previous visible sibling.
This is important for caching in the global lookup cache.
2015-12-16 19:55:50 +01:00
Benjamin Otte
36653bea41
checkbutton: Use a builtin icon
...
Also, add support to uiltin icons to look up the default size from a
style property.
2015-12-16 19:55:50 +01:00
Matthias Clasen
abbd6b11f6
switch: Deprecate style properties
...
CSS min-width and min-height on the slider node fit this
perfectly. We still fall back to the slider-width and
slider-height style properties if the CSS properties are
not set.
2015-12-16 13:53:13 -05:00
Matthias Clasen
4e05148bef
Simplify some code
...
Deal with the min-width/min-height fallback the same way
as in GtkBuiltinIcon.
2015-12-16 13:53:13 -05:00
Carlos Garnacho
3f7eefb922
inspector: Use seat grabs for the "inspect widget" feature
...
And remove some usages of GdkDeviceManager API.
2015-12-16 19:47:07 +01:00
Carlos Garnacho
32c9db8600
GtkTreeView: Add ignore deprecation statements
...
We still need access to floating devices at places.
2015-12-16 19:47:07 +01:00
Carlos Garnacho
4f9f3f04c0
GtkWindow: Add ignore deprecation statements
...
We still need access to floating devices at places
2015-12-16 19:47:07 +01:00
Carlos Garnacho
4a7589ea12
GtkWindow: Avoid GdkDeviceManager API
...
We can iterate over the seats' pointers, instead of over master pointers.
2015-12-16 19:47:07 +01:00
Carlos Garnacho
0f98f225d1
GtkWidget: Add some ignore deprecation statements
...
We still need access to floating devices here.
2015-12-16 19:47:07 +01:00
Carlos Garnacho
04d7bd49d0
GtkMenu: Avoid GdkDeviceManager API
...
We used to pick a master pointer "at random", use the default seat pointer
instead.
2015-12-16 19:47:07 +01:00
Carlos Garnacho
26f3d02f03
GtkComboBox: Avoid GdkDeviceManager API
...
We used to pick a master pointer "at random", use the default seat pointer
instead.
2015-12-16 19:47:06 +01:00
Carlos Garnacho
e2c8d3c680
scrolledwindow: Remove unneeded code
...
We no longer take a grab here, no need to undo it on grab_notify
2015-12-16 19:47:06 +01:00
Cosimo Cecchi
13b9515e63
border: silence a GIScanner warning
2015-12-16 10:40:18 -08:00
Cosimo Cecchi
ea3df24735
gadget: fix copy/paste error in documentation
2015-12-16 10:38:05 -08:00
Matthias Clasen
0291978acc
check button: Deprecate indicator-size
...
CSS min-width/min-height can do just the same. We still fall
back to the indicator-size style property if the CSS properties
are not set.
2015-12-16 13:11:24 -05:00
Matthias Clasen
bb67a06bd6
check button: Deprecate and ignore ::indicator-spacing
...
This can be done just as well with CSS margins, so
do that instead for Adwaita.
2015-12-16 12:27:53 -05:00
Matthias Clasen
86ecdc7a44
model button: Document iconic layout
...
Document how the CSS nodes look if iconic is TRUE. Add
a .model style class for this case and use it in Adwaita.
2015-12-16 11:37:49 -05:00
Matthias Clasen
2f544655f9
Revise CSS node documentation
...
Clarify the use of brackets in the CSS node diagrams:
[] means optional nodes or classes, <> means child widgets.
2015-12-16 10:58:47 -05:00
Bastien Nocera
a56a8a8c02
shortcuts: Make sure that hidden shortcuts stay hidden
...
When doing a gtk_widget_show_all() on the shortcuts window,
accelerators for both RTL and LTR directions are being shown.
Make sure that no-show-all is set by default on hidden shortcuts, and
updated if the widget direction changes.
https://bugzilla.gnome.org/show_bug.cgi?id=759541
2015-12-16 12:22:58 +01:00
Matthias Clasen
5db1dad869
paned: Initialize clip properly
...
This was causing problems in the case when only one of the paned
children is visible - we would use uninitialized memory, leading
to invalide clip regions. Concretely, the signal tab in the inspector
would sometimes not render at all.
2015-12-15 23:56:47 -05:00
Benjamin Otte
42fdfb6af4
renderborder: Actually draw the path as one element
...
Avoids spurious lines that can sometimes be seen going towards the
center of the widget.
2015-12-16 05:15:04 +01:00
Benjamin Otte
fab181fcfa
builtinicon: Change the way size is handled
...
Make min-width/height have preference over the set default size. This
allows shrinking the widget. The default size is only used if min-width
is not set (or explicitly set to 0.
2015-12-16 04:46:23 +01:00
Benjamin Otte
9d56a076cc
gadget: Add builtin icon gadget
...
This is to be used in all the places where we now call
gtk_render_activity()/option()/check() etc that in turn call the icon
render function.
2015-12-16 04:46:23 +01:00
Benjamin Otte
d3cf3fd267
rendericon: Move a function
...
The function is identical if used for builtin icons and regular icons
(as per iconhelper). So split it out in a way that doesn't assume
either.
2015-12-16 04:46:22 +01:00
Matthias Clasen
152326bd24
paned: Allocate the handle input area properly
...
Drop the margin misuse and use the border allocation of the
handle gadget. We use negative margins to make the border allocation
larger without pushing the paned children out.
2015-12-15 21:59:04 -05:00
Matthias Clasen
b14dc6b5a4
gadget: Add api to get the border allocation
...
This can be useful for giving input windows the right size.
2015-12-15 21:58:45 -05:00
Matthias Clasen
5aec427c1a
paned: Fix size allocation
...
We were passing negative widths to height-for-width calls that
didn't expect this.
2015-12-15 21:58:45 -05:00
Benjamin Otte
26d42771ef
progressbar: Change the way the progress gadget gets size
...
Size of the progress element now grows also when it's close to 0 size.
Previously the size was clamped to the minimum size, now it starts
growing from the minimum size.
So for a 100px trough with a 10px min size progress, the sizes of the
progress element change like this:
old new
0% 10 10
5% 10 14
10% 10 19
20% 20 28
50% 50 55
100% 100 100
2015-12-16 01:50:01 +01:00
Benjamin Otte
bf130da741
cssimage: Handle 0x0 images
...
0x0 images can happen when we fail to load an image - or when we
successfully load a 0x0 image.
2015-12-16 01:50:00 +01:00
Benjamin Otte
a11de0da6b
stylecontext: Builtin images can be (and are) transformed
...
So don't special-case them out.
2015-12-16 01:50:00 +01:00
Benjamin Otte
75d7f7e756
css: Move enum
...
I want to use it for a gadget, so it's better in the generic file.
2015-12-16 01:50:00 +01:00
Matthias Clasen
65b056142b
Really undo the deprecation of separator style properties
...
I hit the wrong one in the previous commit. For good measure,
undo depecation for all separator-related style properties.
They are still in use.
2015-12-15 19:45:35 -05:00
Matthias Clasen
9b408d911a
shortcuts: Fix the circular stack switcher
...
The buttons need to set min-width now, to make this work.
2015-12-15 19:41:05 -05:00
Matthias Clasen
db684d853d
Undo deprecation of the wide-separators style property
...
This was premature, as this style property is still used
by GtkTreeView and GtkMenu.
2015-12-15 19:41:05 -05:00
Matthias Clasen
1b174a6f16
shortcuts: Fix view filtering
...
When adding invisible groups to the pages/columns, we were
mistakenly creating new columns because the row count
stayed at zero.
https://bugzilla.gnome.org/show_bug.cgi?id=759517
2015-12-15 18:40:51 -05:00
Matthias Clasen
2bb80a9bb2
gadget: Fix a thinko in baseline adjustment
...
We are making the allocation smaller, so the baseline
needs to get smaller too, not bigger.
2015-12-15 18:15:16 -05:00
Carlos Garnacho
1349ffa0db
gtkdnd: Avoid gdk_device_manager_get_client_pointer()
...
It's now deprecated
2015-12-15 23:18:10 +01:00
Carlos Garnacho
56c6c722d1
GtkPlug: Avoid gdk_device_manager_get_client_pointer()
...
It's now deprecated
2015-12-15 23:17:53 +01:00
Carlos Garnacho
3d516449d4
GtkTooltip: Avoid gdk_device_manager_get_client_pointer()
...
It's now deprecated
2015-12-15 23:17:37 +01:00
Carlos Garnacho
7333d7e8bb
GtkTreeView: Avoid gdk_device_manager_get_client_pointer()
...
It's now deprecated
2015-12-15 23:17:22 +01:00
Carlos Garnacho
253bf3fd38
GtkWidget: Avoid gdk_device_manager_get_client_pointer()
...
It's now deprecated
2015-12-15 23:17:07 +01:00
Carlos Garnacho
6ac16dc4a6
GtkWindow: Avoid gdk_device_manager_get_client_pointer()
...
It's now deprecated
2015-12-15 23:16:11 +01:00
Matthias Clasen
06b28a610b
flowbox: Don't render focus erroneously
...
The gadget render function should only return TRUE if the
widget has the focus, and wants it rendered.
2015-12-15 15:10:08 -05:00
Carlos Soriano
8858c3aaa0
gtkplacesviewrow: plural form for available space
...
We were not supporting plural form of the available space, which
is a problem in some languages.
However in this case is kind of a difficult matter, since we use a
formatted string from glib with g_format_size.
To fix it, use the same behavior as g_format_size to decide when
it should be used a plural form or not.
https://bugzilla.gnome.org/show_bug.cgi?id=759491
2015-12-15 14:59:13 -05:00
Matthias Clasen
4eeeb5811d
listbox: Fix an oversight in the row gadget conversion
2015-12-15 14:12:50 -05:00
Matthias Clasen
fdb9625f4f
modelbutton: Remove debug spew
2015-12-15 13:14:49 -05:00
William Hua
a6e4de2884
gdkborder: add GdkBorder to gdktypes.h
2015-12-15 10:13:03 -05:00
Matthias Clasen
246fcd6563
Complete docs for gtk_stack_get_interpolate_size
2015-12-15 09:48:16 -05:00
Matthias Clasen
44baf19330
paned: Add a deprecation note
2015-12-15 08:41:16 -05:00
Matthias Clasen
d891bb815b
checkbutton: Remove dead code
2015-12-15 08:41:16 -05:00
Matthias Clasen
e02c21fdd8
button box: Deprecate style properties
...
These can all be replaced by standard CSS properties.
2015-12-15 08:41:16 -05:00
Matthias Clasen
49e24b05b5
flowbox: convert to gadgets
2015-12-15 08:41:16 -05:00
Matthias Clasen
3b264ea555
flowbox: Convert child to gadgets
2015-12-15 08:41:16 -05:00
Matthias Clasen
29accad89a
listbox: Convert to gadgets
2015-12-15 08:41:16 -05:00
Matthias Clasen
9fb3716259
listbox: Convert rows to gadgets
2015-12-15 08:41:16 -05:00
Matthias Clasen
c2fc1cff32
paned: Convert to gadgets
2015-12-15 08:41:16 -05:00
Matthias Clasen
9c63170e70
stack: Convert to gadgets
2015-12-15 08:41:16 -05:00
Matthias Clasen
48e543fbc8
Adwaita: Update separator toolitem styling
...
Don't set a background for these, since we now draw background.
2015-12-15 08:41:16 -05:00
Matthias Clasen
e480fa3841
separator toolitem: Convert to gadgets
2015-12-15 08:41:16 -05:00
Matthias Clasen
f2dd4350b2
css node: Warn more
...
gtk_css_node_insert_before/after can easily create cycles
which later lead to stack overflows. Even if we're not
catching all cycles here, at least we can detect obviously
invalid arguments, such as inserting a node next to itself.
2015-12-15 08:41:16 -05:00
Matthias Clasen
e2bc77b9af
Adwaita: Remove nonsensical expander theming
...
No red backgrounds, please.
2015-12-15 08:41:16 -05:00
Matthias Clasen
61fb3f828e
expander: Convert to gadgets
...
As part of the conversion, add another CSS node for the title
area including the arrow and the label.
2015-12-15 08:41:16 -05:00
Matthias Clasen
f0a2f9ef96
revealer: Add CSS node docs
2015-12-15 08:41:16 -05:00
Matthias Clasen
f7466b236a
stackswitcher: Stop hardcoding 100px width
...
We can now set a min-width in the theme, so we don't have to
hardcode the size request here anymore.
https://bugzilla.gnome.org/show_bug.cgi?id=726371
2015-12-15 08:41:16 -05:00
Matthias Clasen
ad349caa00
gadget: Add some documentation
2015-12-15 08:41:16 -05:00
Matthias Clasen
9c88256441
box: Trivial doc change
...
All the CSS sections are named CSS nodes, so do the same here.
2015-12-15 08:41:16 -05:00
Matthias Clasen
f3561eaa9b
grid: Convert to gadgets
2015-12-15 08:41:16 -05:00
Matthias Clasen
e237c947c7
headerbar: Convert to gadgets
2015-12-15 08:41:16 -05:00
Matthias Clasen
90109cfe4c
actionbar: Convert to gadgets
...
This is a nice example of a trivial container conversion.
2015-12-15 08:41:16 -05:00
Matthias Clasen
0f7dbc3bbd
Adwaita: No padding for image buttons in popovers
2015-12-15 08:41:16 -05:00
Matthias Clasen
736d864d18
modelbutton: Port to gadgets
2015-12-15 08:41:16 -05:00
Matthias Clasen
782c2762bf
gadget: Be more forgiving to size inconsistencies
...
Instead of asserting if we hit negative content sizes,
warn and continue. This is easier to work with in this
transition period.
2015-12-15 08:41:16 -05:00
Matthias Clasen
a52c3a3db9
radiobutton: Port radio buttons to gadgets
...
This was already mostly done by inheritance from GtkCheckButton.
To complete it, stop using the draw_indicator vfunc for radio
buttons, and instead make the indicator gadget draw either a
check or radio.
2015-12-15 08:41:16 -05:00
Matthias Clasen
233179d374
check button: Convert to gadgets
...
Use a gadget for the button, and for the indicator.
A complication here is that GtkCheckButton (and
GtkRadioButton) have a totally different appearance
depending on the ::draw-indicator property. If an
indicator is not required, we just reuse the
GtkButton gadget.
This mostly works; some minor sizing issues left, e.g. cranking
up the indicator-size causes the checkbutton grid in testgtk
to overlap.
2015-12-15 08:41:16 -05:00
Matthias Clasen
37e9d92632
button: Convert to gadgets
2015-12-15 08:41:16 -05:00
Matthias Clasen
a81267c28e
label: Convert to gadgets
...
This removes some hairy code handling with borders and padding,
which may or may not be correct. The examples in testheightforwidth
all continue to work, and min-width now works for labels.
2015-12-15 08:41:16 -05:00
Matthias Clasen
ff9f3c108f
Adwaita: Update color swatch styling
...
The adjustments here are provisional and need an artistic eye.
2015-12-15 08:41:16 -05:00
Matthias Clasen
c376e82702
colorswatch: Convert to gadgets
...
Use gadgets for the widget and the overlay.
2015-12-15 08:41:16 -05:00
Matthias Clasen
fcca496734
widget: Deprecate some style properties
...
Deprecate the ::wide-separators and ::separator-width/height
style properties.
2015-12-15 08:41:16 -05:00
Matthias Clasen
20e1ff44e8
Adwaita: Update separator styling
...
Separators no longer draw a line with the foreground color,
but instead just draw background.
2015-12-15 08:41:16 -05:00
Matthias Clasen
17be791b0b
separator: port to gadgets
...
As part of this, stop using custom rendering code for wide
and non-wide separators.
2015-12-15 08:41:16 -05:00
Matthias Clasen
9e278293ca
spinner: Use a gadget
...
This gives us min-width/height support. Currently, the spinner
still has a hardcoded minimum size of 16 and doesn't grow beyond
32. We may want to revisit that at some point.
2015-12-15 08:41:16 -05:00
Matthias Clasen
fffa84b843
progressbar: Convert to gadgets
...
Use gadgets for the text, the trough and the progress.
2015-12-15 08:41:16 -05:00
Benjamin Otte
1f6efbf669
iconhelper: Queue resize on invalidation
...
When things change in the iconhelper, queue a resize on the owner widget
so that it automatically resizes.
Only do this for iconhelpers that are used as gadgets though, not for
temporary helpers - and to check this, check if the node is transient.
2015-12-15 08:41:16 -05:00
Benjamin Otte
3a77da9df2
entry: Turn icons into gadgets
2015-12-15 08:41:16 -05:00
Benjamin Otte
4dee06e04f
spinbutton: Port the buttons to gadgets
2015-12-15 08:41:16 -05:00
Benjamin Otte
4586503e93
iconhelper: Finish gadget conversion
...
Implement missing vfuncs
2015-12-15 08:41:16 -05:00
Benjamin Otte
e723fccaa9
rendericon: Restore cairo matrix after rendering
2015-12-15 08:41:16 -05:00
Benjamin Otte
b79a187d47
iconhelper: Handle invalidation
...
When CSS, direction or scale factor change, handle the invalidation
inside the iconhelper.
This way the widgets using them don't have to.
2015-12-15 08:41:16 -05:00
Benjamin Otte
de6dca4f81
iconhelper: Use the gadget's node
...
... instead of looking at the widget's style context.
This removes all calls to the style context.
2015-12-15 08:41:16 -05:00
Benjamin Otte
ad22612ab2
iconhelper: Require passing a cssnode to the constructor
...
Note that we don't use it yet.
2015-12-15 08:41:16 -05:00
Benjamin Otte
7075d00958
iconhelper: Use the gadget's owner property
...
Don't keep the owner widget ourselves.
2015-12-15 08:41:16 -05:00
Benjamin Otte
25ecd8cd37
iconhelper: Turn into gadget
...
This is just the basic conversion to inheriting from
GTK_TYPE_CSS_GADGET.
2015-12-15 08:41:16 -05:00
Matthias Clasen
c0fd106019
image: Port to gadgets
2015-12-15 08:41:16 -05:00
Benjamin Otte
49fea0b0f5
box: Port to gadgets
2015-12-15 08:41:16 -05:00
Benjamin Otte
7a05016d93
container: Split out a function
...
Computing the clip for all children is something I want to do in other
places.
2015-12-15 08:41:16 -05:00
Benjamin Otte
0f8233bd7b
switch: Port to gadgets
2015-12-15 08:41:16 -05:00
Benjamin Otte
e09eb4fc9f
gadget: Add GtkCssCustomGadget
...
The thing you use when you want to custom-do everything.
2015-12-15 08:41:16 -05:00
Benjamin Otte
6eafe00d8f
gadget: Add the concept of a "gadget"
...
A gadget is halfway between a widget and a CSS node. It's supposed to
provide the minimum convenicence around CSS nodes until we've figured
out how to integrate them with widgets.
2015-12-15 08:41:16 -05:00
Benjamin Otte
0fb01decba
css: Add min-width/height CSS properties
2015-12-15 08:41:16 -05:00
Benjamin Otte
a920f7260c
treeview: Reposition dnd button css node properly
...
After the drag ends, the button node went to the wrong place and then
looked like a regular button. Fix that.
2015-12-15 08:41:16 -05:00
Benjamin Otte
26d536a69b
inspector: Fix quick-fix
...
Constructing GtkCssStyleChange objects without styles is forbidden, so
don't do it. Instead untangle the callback from the actual update
function and call that untangled function directly.
2015-12-15 01:15:51 +01:00