Commit Graph

38648 Commits

Author SHA1 Message Date
Matthias Clasen
fbc6a0c400 Add some theming for csd popups
Not attempt to make this look good, just to demonstrate
that themes can in fact do it.

https://bugzilla.gnome.org/show_bug.cgi?id=731187
2014-06-09 14:16:12 -04:00
Matthias Clasen
a39985a43e Request csd for tooltips
Use the new private GtkWindow api to request
client-side decorations for tooltips.

https://bugzilla.gnome.org/show_bug.cgi?id=731187
2014-06-09 14:15:28 -04:00
Matthias Clasen
179d6a4c7b GtkTooltip: take csd shadows into account for placement
When placing tooltips, we don't want the shadow to influence
our choice.

https://bugzilla.gnome.org/show_bug.cgi?id=731187
2014-06-09 14:15:28 -04:00
Matthias Clasen
49bb39ecf5 GtkTooltip: remove hardcoded tooltip drawing
This is old code from dating back many years. Nowadays, we can
just use css drawing and csd windows to achieve much the same
effect.

Themes will need some adjustment for this change.

https://bugzilla.gnome.org/show_bug.cgi?id=731187
2014-06-09 14:15:27 -04:00
Matthias Clasen
dae252e3d2 Request csd for menus
Use the new private GtkWindow api to request
client-side decorations for menus.

https://bugzilla.gnome.org/show_bug.cgi?id=731187
2014-06-09 14:15:24 -04:00
Matthias Clasen
3cf916be8a GtkMenu: Add a separate style class to the toplevel of menus
This is necessary in order to use .window-frame.csd.popup for
styling csd menus.

https://bugzilla.gnome.org/show_bug.cgi?id=731187
2014-06-09 14:14:48 -04:00
Matthias Clasen
e9ed210b0b GtkMenu: take csd shadows into account for placement
When placing menus, we don't want the shadow to influence
our choice.

https://bugzilla.gnome.org/show_bug.cgi?id=731187
2014-06-09 14:01:42 -04:00
Matthias Clasen
bde4e86357 Allow csd for override-redirect windows
This commit makes it possible to use client-side decorations for
override-redirect windows by calling _gtk_window_request_csd()
before realizing the window. Since the wm won't do interactive
resizing for us in this case anyway, don't bother creating
the border windows we use for this purpose on regular toplevels.

To make this accessible to themes, we set a "csd" style class
on client-side decorated windows. With this, .window-frame.csd.menu
can be used to define the shadow for csd menus, and .menu can be
used to define a border for menus under non-composited wms.

https://bugzilla.gnome.org/show_bug.cgi?id=731187
2014-06-09 14:01:42 -04:00
Matthias Clasen
60cd7076cf Add a csd style class
This will be used for client-side decorated windows.

https://bugzilla.gnome.org/show_bug.cgi?id=731187
2014-06-09 14:01:42 -04:00
Matthias Clasen
b22b2298be GtkViewport: Don't do silly things in a setter
Just queue a resize instead of fiddling with the size allocation.
2014-06-09 13:51:58 -04:00
Matthias Clasen
ee8a3a4192 Mark GtkStyleContext::direction as deprecated
The setter was deprecated a while ago, do the same for the property.
2014-06-09 13:42:07 -04:00
Matthias Clasen
ac2329b842 Mark GtkContainer::resize-mode as deprecated
The setter was deprecated a while ago, do the same for the property.
2014-06-09 13:39:38 -04:00
Matthias Clasen
f870a50f1f Add a test for property notification
This tests just a few basic things for now. Mainly, that we don't
emit redundant notifications for enum, flags, int and boolean
properties. It also checks that we do emit the expected notifications
when the value actually changes. This is checked for string, double
and float properties as well.

There is a large number of exceptions in the test, and a lot more
checks that could be done. One class of exceptions is all the places
where we have -set booleans to go along with another property. We
should have a dedicated test for these pairs. Another class of
exceptions is where naked objects created by g_object_new () just
don't have the full functionality - e.g. a tree selection without
a tree view does not work very well. We set up the instance object
better for these situations.
2014-06-09 13:31:14 -04:00
Matthias Clasen
46803aae11 GtkVolumeButton: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:31:14 -04:00
Matthias Clasen
bcd804613f GtkViewport: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:31:14 -04:00
Matthias Clasen
785e4d376e GtkTreeViewColumn: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:31:13 -04:00
Matthias Clasen
fe31f87bf0 GtkTreeView: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:31:13 -04:00
Matthias Clasen
d169f409b0 GtkTreeSelection: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:31:13 -04:00
Matthias Clasen
71ac4d626e GtkToolPalette: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:31:13 -04:00
Matthias Clasen
cf6274c979 GtkToolItemGroup: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:31:13 -04:00
Matthias Clasen
40c3804ecd GtkToolbar: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:31:12 -04:00
Matthias Clasen
6e64bc13de GtkTextView: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:31:12 -04:00
Matthias Clasen
eed1ae682b GtkSwitch: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:31:12 -04:00
Matthias Clasen
17059f9c17 GtkToolItem: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:31:12 -04:00
Matthias Clasen
3074fcf31d GtkToolButton: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:31:11 -04:00
Matthias Clasen
db8101c998 GtkToggleToolButton: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:31:11 -04:00
Matthias Clasen
b73e810613 GtkStyleContext: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:31:11 -04:00
Matthias Clasen
1208539eff GtkStatusIcon: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:31:10 -04:00
Matthias Clasen
9321b30b0b GtkSpinner: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:31:10 -04:00
Matthias Clasen
d03752cdcc GtkSpinButton: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:31:10 -04:00
Matthias Clasen
83669856b2 GtkSizeGroup: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:31:09 -04:00
Matthias Clasen
4867e95291 GtkSeparatorToolItem: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:31:09 -04:00
Matthias Clasen
710a5b3a90 GtkSearchBar: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:31:09 -04:00
Matthias Clasen
115faae371 GtkSearchBar: Handle lack of an entry
We were not dealing with the possibility of priv->entry being
NULL in all places.
2014-06-09 13:31:09 -04:00
Matthias Clasen
0dd1102cc4 GtkSeparator: Explicitly notify orientation 2014-06-09 13:31:08 -04:00
Matthias Clasen
ed6f9c1ee9 GtkScrolledWindow: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:31:08 -04:00
Matthias Clasen
570194640e GtkScrollable: Use G_PARAM_EXPLICIT_NOTIFY
Implementors will have to be adjusted.
2014-06-09 13:31:08 -04:00
Matthias Clasen
0505a189d3 GtkScaleButton: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:31:08 -04:00
Matthias Clasen
1740663584 GtkScale: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:31:07 -04:00
Matthias Clasen
f80ff85745 GtkRecentChooserMenu: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:31:07 -04:00
Matthias Clasen
e6f413c6a7 GtkRange: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:31:07 -04:00
Matthias Clasen
f446ffdd5d GtkProgressbar: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:31:07 -04:00
Matthias Clasen
e1d1ed863e GtkPrintOperation: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:31:07 -04:00
Matthias Clasen
8915e9cf42 GtkPopover: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:31:06 -04:00
Matthias Clasen
22cc9749c9 GtkPaned: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:31:06 -04:00
Matthias Clasen
c93355616f GtkNotebook: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:31:06 -04:00
Matthias Clasen
47615f32bf GtkMessageDialog: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:31:06 -04:00
Matthias Clasen
c1540464b7 GtkMenuShell: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:31:06 -04:00
Matthias Clasen
cfbfeb1b3c GtkMenuButton: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:31:06 -04:00
Matthias Clasen
0d528ab391 GtkMenuBar: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:31:05 -04:00