Matthias Clasen
e626038467
popover: Make it possible to constrain to toplevel
...
Under X11, popovers are always constrained to the toplevel
window. Under Wayland, they aren't. This commit adds a
property that allows to explicitly constrain popovers to
the toplevel, giving them the same behavior under Wayland
as under X11.
https://bugzilla.gnome.org/show_bug.cgi?id=757474
2015-12-01 17:26:25 -05:00
Christian Hergert
5dcf4e10b7
filechooserbutton: add some spacing between icon and text
...
These were a bit crammed, which doesn't match well with spacing used in
various other parts of gtk.
2015-12-01 11:23:12 -08:00
Olivier Fourdan
103d369ff6
gtkwindow: remove headerbar after disposing parent
...
Widgets such as gtkfilechooser may be saving their size and position on
the unmap callback, if the client-side decoration header bar is removed
first, the reported size will be wrong.
https://bugzilla.gnome.org/show_bug.cgi?id=756618
2015-12-01 16:18:03 +01:00
Timm Bäder
a28103cf51
Add some more missing nullable annotations
2015-12-01 13:41:35 +01:00
Timm Bäder
88b4955fd9
GtkBox: The center widget can be NULL
...
Propagates to GtkActionBar.
2015-12-01 13:41:35 +01:00
Timm Bäder
1551ad4908
GtkWidget: Add some missing nullable annotations
2015-12-01 13:41:35 +01:00
Matthias Clasen
150728d6b0
inspector: Show the size request mode
...
This is not a property, so show it in the misc page.
2015-11-30 22:27:27 -05:00
Matthias Clasen
d908c38ec3
window: Use g_set_object
...
No need to do the same thing manually.
2015-11-30 20:45:57 -05:00
Sébastien Wilmet
1a8f3e2462
textiter: fix bug in case insensitive backward search
...
'win.lines' contains the same content as the GtkTextBuffer, so to find
@match_start, forward_chars_with_skipping() is called with
skip_decomp=FALSE (the last parameter). So far so good.
On the other hand, the content 'lines' (the needle split in lines) is
casefolded and normalized for a case insensitive search. So,
forward_chars_with_skipping(..., skip_decomp=TRUE) must be called only
for the portion of text containing the needle.
Since 'start_tmp' contains the location at the start of the match, we
can simply begin at that location to find the end of the match.
Unit tests are added.
https://bugzilla.gnome.org/show_bug.cgi?id=758698
2015-11-30 19:46:16 +01:00
Florian Müllner
0a35886b0a
listbox: Use :focus-on-click policy from row instead of list
...
Using the property from the container is inconsistent with the
:selectable and :activatable properties, which are per row.
2015-11-30 17:59:06 +01:00
Matthias Clasen
373ce9f652
stack: Update windows before allocating children
...
Doing things the other way around seems to cause problems in
some cases where children want to do different things depending
on the window position.
https://bugzilla.gnome.org/show_bug.cgi?id=758563
2015-11-30 10:41:13 -05:00
Emmanuele Bassi
11eab60f43
scalebutton: Annotate the return type
...
Instead of just listing the return type of get_plus_button() and
get_minus_button() in the documentation, we can use the (type)
annotation to ensure that the introspection data reflects the actual
type of the returned widget.
2015-11-30 14:09:19 +00:00
Benjamin Otte
f30b4ba22e
gtkwindow: fix regression with firefox dropdown menu
...
Fix a regression introduced by:
commit 6866d1c
widget: Make gtk_widget_queue_allocate() not resize
Where the dropdown menu in Firefox would not be relocated after the
toplevel window is moved.
bugzilla: https://bugzilla.gnome.org/show_bug.cgi?id=758609
2015-11-30 14:32:39 +01:00
Timm Bäder
886686973c
GtkScaleButton: _get_(plus|minus)_button returns a GtkButton
...
https://bugzilla.gnome.org/show_bug.cgi?id=539944
2015-11-28 21:09:53 +01:00
Matthias Clasen
8ea14162d3
Adwaita: No background for spinners
...
Blue background for spinners doesn't make sense.
2015-11-26 15:08:54 -05:00
Carlos Garnacho
4981ca9f13
GtkWindow: Reset gestures after triggering right click titlebar action
...
Just like it happens for window dragging, we're likely to not see the
matching button release for this event, so we must reset the controller
manually here.
https://bugzilla.gnome.org/show_bug.cgi?id=758661
2015-11-25 21:59:48 +01:00
Benjamin Otte
923ad2767a
window: Don't lose position information
...
Before calling gdk_window_move_resize(), store the full configure
request, not just width and height.
Fixes firefox randomly losing position of its dropdown windows.
https://bugzilla.gnome.org/show_bug.cgi?id=758609
2015-11-25 20:31:27 +01:00
Benjamin Otte
415030d25f
dnd: Split GtkDragSourceSite into its own file
2015-11-25 20:31:27 +01:00
Christoph Reiter
ee3397388f
dnd-quartz: fix missing icon helper include
2015-11-25 20:27:21 +01:00
Benjamin Otte
2bee73c1f9
dnd: Just pass iconhelper instead of whole DragSourceSite
...
Simplifies the code.
2015-11-25 16:32:40 +01:00
Benjamin Otte
175d5d580e
dnd: Remove unused struct members
2015-11-25 16:32:40 +01:00
Benjamin Otte
29cdb2001c
iconhelper: Don't include gtk.h
2015-11-25 16:32:39 +01:00
Benjamin Otte
4843925660
iconhelper: Remove unused function
2015-11-25 16:32:39 +01:00
Benjamin Otte
2a8e6619a7
iconhelper: Remove unused context argument
...
Various functions don't use the style context.
2015-11-25 16:32:39 +01:00
Matthias Clasen
3e8eacc8b7
dialog: Use an element name
...
This will help differentiating dialogs from other windows, style-wise.
2015-11-24 07:41:26 -05:00
Timm Bäder
bd0f217ff4
GtkPopover: Restore tails
...
The call to gtk_style_context_get_border was accidentally removed in
2182fe7d9d
.
2015-11-24 11:37:00 +01:00
Timm Bäder
df2cb5befc
inspector: Leave unneeded widgets out of source files
2015-11-24 11:17:10 +01:00
Timm Bäder
5e2aec7cbb
GtkWidget: Add some missing nullable annotations
2015-11-24 11:17:10 +01:00
Timm Bäder
f154875e08
GtkStack: Add some missing nullable annotations
2015-11-24 11:16:51 +01:00
Matthias Clasen
3b0ceea08b
shortcuts section: Fix destroy
...
The container destroy implementation does not quite work here,
so do our own.
2015-11-23 19:48:50 -05:00
Matthias Clasen
8e12943a09
Raleigh: Avoid deprecated icon-shadow
2015-11-23 17:01:22 -05:00
Matthias Clasen
3532cd5365
places view: Fix up docs
2015-11-23 17:01:22 -05:00
Rico Tzschichholz
5d8f45c708
gtk: Fix make dist
2015-11-23 22:24:41 +01:00
Carlos Garnacho
728d63bfc3
searchenginetracker: Remove astray ");" closing a function
...
Sad face for me.
2015-11-23 18:20:44 +01:00
Carlos Garnacho
f6dd0438d1
searchenginetracker: Optimize direct/recursive folder lookups
...
tracker:uri-is-descendant/parent has the unfortunate side effect of
rendering the collation mechanisms in the database useless, so those
require full table scans to be validated.
Performing these as pure string comparisons will perform much better,
as those allow the underlying sqlite to rely on its own collation
to perform the search, which can be significantly faster with many
elements in the database.
https://bugzilla.gnome.org/show_bug.cgi?id=758407
2015-11-23 17:58:34 +01:00
Carlos Garnacho
61d6c1a523
searchenginetracker: ensure nie:url is bound
...
This could produce strange warnings as it is currently passed to
tracker:uri-is-* sparql functions, as these expect no NULLs.
https://bugzilla.gnome.org/show_bug.cgi?id=758407
2015-11-23 17:58:34 +01:00
Jakub Steiner
bb183ae591
last last gesture stock image fixes
...
- swipe left was missing outline conversion to allow recolorization
2015-11-23 16:13:45 +01:00
Matthias Clasen
b6e03dbc26
Load gesture images as symbolic icons
...
This makes them recolor in the dark theme, which looks better.
2015-11-23 10:08:14 -05:00
Jakub Steiner
454a4b7576
gesture stock images size fix
...
fit all images to 64x64
2015-11-23 15:53:02 +01:00
Jakub Steiner
24cedfd87e
gesture stock images fixes
...
- convert all objects to shapes to allow css recoloring
ala symbolic icons
2015-11-23 15:45:24 +01:00
Jakub Steiner
25d5fd97e9
more gesture stock images tweaks
...
- rotation gestures more natural look
2015-11-23 14:40:30 +01:00
Matthias Clasen
98fd5bda58
Tweak the gtk-font-name setting docs
...
Clarify that only parts of the font name are used.
https://bugzilla.gnome.org/show_bug.cgi?id=758367
2015-11-23 08:18:37 -05:00
Jakub Steiner
3e649c4812
gesture stock images sizing
...
- make swipe left and right less wide
2015-11-23 14:06:18 +01:00
Jakub Steiner
1cd5ef5285
minor touchups on stock gesture images
...
- add minimal margin for safe scaling
- fixed height of 64pixels
- pixel alignment issues (grid fit)
2015-11-23 13:53:12 +01:00
Matthias Clasen
50abc8b525
shortcuts: Add set properties for optional things
...
This makes it possible to switch between gesture and accelerator
types and override the builtin icons and subtitles for predefined
gestures.
2015-11-22 22:41:48 -05:00
Matthias Clasen
304c5ac226
shortcuts: Add support for standard gestures
...
Add an enum for gestures that GtkShortcutsShortcut knows how
to show an image and subtitle for.
https://bugzilla.gnome.org/show_bug.cgi?id=758187
2015-11-22 22:41:48 -05:00
Matthias Clasen
62620a5244
Add stock gesture images
...
These will be used in the shortcuts window.
2015-11-22 22:41:48 -05:00
Matthias Clasen
c6dc863e90
shortcuts shortcut: Take over gesture functionality
...
It turns out that it is nicer in glade to have just a single
widget that can show either a shortcut or a gesture, so make
GtkShortcutsShortcut do it both.
GtkShortcutsGesture is now redundant and will be removed before
the next stable release.
2015-11-22 22:41:48 -05:00
Matthias Clasen
b1aef18c84
shortcuts: Fix size group handling
...
We need to keep pointers to the size groups and apply
them to shortcuts that are added later.
2015-11-22 22:41:48 -05:00
Matthias Clasen
a661ce4d06
shortcuts: Complete the container implementations
...
Various problems with the container implementations in
GtkShortcutsWindow, Section and Group were showing up
in glade.
2015-11-22 22:41:48 -05:00
Matthias Clasen
520da80bd0
shortcuts: Update title and section-names properly
...
The current code in gtkshortcutswindow.c is good enough to
construct a widget once from a .ui file, but fails to handle
changes at runtime, as happen e.g. in glade. Fix this by
listening for changes to section-name and title.
2015-11-22 22:41:48 -05:00
Timm Bäder
2182fe7d9d
Don't pass widget state flags to GtkStyleContext API
2015-11-22 17:11:35 +01:00
Cosimo Cecchi
9ba94849e8
GtkRenderBorder: make one function static
2015-11-21 14:55:13 -08:00
Cosimo Cecchi
b821f132d1
GtkCssImage: formatting fixes
2015-11-21 14:52:18 -08:00
Matthias Clasen
036ee7a68b
inspector: Always underline at least one char
...
Empty underlines are hard to make out. Since we get somewhat
unreliable section information from the CSS parser, we just
make sure that we always underline at least one character.
2015-11-20 20:59:53 -05:00
Benjamin Otte
ee1381a1f3
cssnodedeclaration: Only set the id on the widget path if we have one
...
Widget paths don't like NULL.
2015-11-21 02:40:53 +01:00
Matthias Clasen
adead3b499
Update key themes to use -gtk-key-bindings
...
The name gtk-key-bindings has been deprecated and causes warnings.
2015-11-20 20:35:39 -05:00
Matthias Clasen
d267b8e028
Rename the gtk-key-bindings property
...
This is not a standard CSS property, so rename it to
-gtk-key-bindings. We still support the old name, with a
deprecation warning.
2015-11-20 20:35:39 -05:00
Matthias Clasen
ba1fb4b0a7
HighContrast: use -gtk-icon-shadow
...
The name icon-shadow has been deprecated and causes warnings.
2015-11-20 20:35:39 -05:00
Matthias Clasen
b1f0283630
Adwaita: use -gtk-icon-shadow
...
The name icon-shadow has been deprecated and causes warnings.
2015-11-20 20:35:39 -05:00
Matthias Clasen
5f73e8a720
Rename the icon-shadow property
...
This is not a standard CSS property, so rename it to
-gtk-icon-shadow. We still support the old name, with a
deprecation warning.
2015-11-20 20:35:39 -05:00
Matthias Clasen
f3e4e8660d
Warn if a property alias is used
...
Emit a deprecation warning if a property is not used
by its official name.
2015-11-20 20:35:39 -05:00
Matthias Clasen
7c95f50ee2
Add a way to add aliases for css properties
...
This will be used to rename some properties in a more
systematic way without breaking all users of the old name.
2015-11-20 20:35:39 -05:00
Matthias Clasen
d2d521d4b5
Add a deprecation error for the engine css property
...
This helps people fix up their css.
2015-11-20 20:35:39 -05:00
Matthias Clasen
df55412ba2
inspector: Fix css warning tags
...
The builder syntax for tags was invalid here (why did this not
get flagged as error ?!). While we're at it, give the warning
underline a nice, orange color.
2015-11-20 20:35:39 -05:00
Benjamin Otte
4b2ea59dd1
stylecontext: Treat empty path like no path
...
This way, we don't do weird stuff when an empty path is set.
2015-11-21 02:22:22 +01:00
Benjamin Otte
6eb89fb6a3
stylecontext: Copy name when setting widget path
...
Imitate what we do for the type. This way we don't lose the name on
save/restore.
https://bugzilla.gnome.org/show_bug.cgi?id=758442
2015-11-21 02:21:12 +01:00
Benjamin Otte
7373fd8aab
cssnodedeclaration: Set element name and id on widget path
...
Otherwise the widget path creation functions will fail. This affects
widgets still using gtk_style_context_save().
https://bugzilla.gnome.org/show_bug.cgi?id=758442
2015-11-21 02:14:08 +01:00
Benjamin Otte
55061eca59
customproperty: Remove unused function
2015-11-21 02:11:52 +01:00
Benjamin Otte
0e2648e8c2
customproperty: Stop supporting the parsing of values
...
Now that we don't use custom CSS properties anymore, let's fail as early
as possible.
2015-11-21 00:53:47 +01:00
Matthias Clasen
ad49103b93
inspector: Show css parsing errors
...
The squiggly underline is useful, but seeing the error message
is much better, so show it in a tooltip.
2015-11-20 18:18:01 -05:00
Matthias Clasen
68d77b1823
Expand the container_remove hack
...
Make it possible to use gtk_container_remove on GtkShortcutsWindow.
glade needs this.
2015-11-20 15:31:00 -05:00
Matthias Clasen
159a13a065
shortcuts window: More complete container implementation
...
To give glade a chance to work with GtkShortcutsWindow, the
container implementation needs to be a bit more complete.
2015-11-20 15:31:00 -05:00
Benjamin Otte
d75989a52b
cssstyle: Don't store custom css properties
...
This makes custom CSS properties no longer configurable. But it avoids
crashes when loading custom themes, so that's a good thing.
Testcase included.
https://bugzilla.redhat.com/show_bug.cgi?id=1281234
2015-11-20 21:22:15 +01:00
Timm Bäder
6489ec440f
GtkSpinButton: Update node state on button release
2015-11-20 20:32:15 +01:00
Matthias Clasen
cf7bb4f2aa
spin button: Fix initial button state
...
We can't use up_panel and down_panel as differentiators for the buttons,
because these window system resources don't exist before realize().
Just use a one-off enum for this purpose.
https://bugzilla.gnome.org/show_bug.cgi?id=758094
2015-11-20 11:40:55 -05:00
Timm Bäder
1db5ed0aae
GtkLabel: Create gestures only when needed
...
And move them into the GtkLabelSelectionInfo struct.
2015-11-20 16:45:17 +01:00
Carlos Garnacho
770feff302
gtkdnd: Unbreak non-wayland builds
...
missing #ifdef...
2015-11-20 13:30:14 +01:00
Matthias Clasen
9f75c5445f
cell renderer progress: Avoid warnings
...
Use the right state when calling gtk_style_context_get_padding,
to avoid warnings.
2015-11-20 00:13:20 -05:00
Matthias Clasen
4aceee71c5
stack switcher: Notify consistently
...
Whether to notify a property change should not depend
on whether the switcher is associated with a stack or not.
2015-11-20 00:13:20 -05:00
Matthias Clasen
530aa3cced
shortcuts: Avoid excessive property notification
...
Notifying needlessly causes unnecessary work, and causes our
testsuite to fail.
2015-11-20 00:13:20 -05:00
Carlos Garnacho
26f9d6b1c1
gtkdnd: Ensure we don't fold the drag icon into the cursor on wayland
...
This is wrong by all accounts there, as we can do no tricks there to show
a "drag failed" animation, which is performed by the compositor itself
on wayland.
2015-11-19 23:28:19 +01:00
Carlos Garnacho
e3012dc9b3
gtkdnd: Use gdk_drag_begin_for_device()
...
We've got the pointer at hand there, just pass that instead of figuring
out from the client pointer.
2015-11-19 23:26:49 +01:00
Christoph Reiter
bb34db6d35
gtkheaderbar: update the window buttons on ::hierarchy-changed instead of ::realize
...
The window button setup depends on properties of the toplevel window.
Instead of updating the setup on realize, do it when the toplevel
changes.
This makes sure that when a GtkHeaderBar is added to a window
all the widgets are present and get_preferred_height() will return
the height the widget will have when finally shown. This allows
the logic in gtkwindow to select the right window size so that
the content size will match the requested default size.
https://bugzilla.gnome.org/show_bug.cgi?id=756618
2015-11-19 21:42:53 +01:00
Christoph Reiter
308aec53c6
gtkwindow: apply CSD adjustments to the default size when used instead of when setting it
...
Before the resulting window size would differ if the default size was set
before adding a headerbar vs after. Now the saved state is again the actual
requested size and it is adjusted at the time we request a window size.
https://bugzilla.gnome.org/show_bug.cgi?id=756618
2015-11-19 21:42:24 +01:00
Olivier Fourdan
1080ffdf19
window: maximize on double click only if allowed
...
GtkHeaderBar will not show the maximize button if the window in not of
type normal or not resizeable.
Use the same restriction for double-click actions as well.
Bugzilla: https://bugzilla.gnome.org/show_bug.cgi?id=757530
2015-11-19 15:04:03 -05:00
Jonas Platte
6a69c01e42
Fix return annotations for GtkWindow
...
Add nullable annotations for functions that may return NULL.
https://bugzilla.gnome.org/show_bug.cgi?id=753520
2015-11-19 15:01:31 -05:00
Phillip Wood
ce8b5b4586
Fix character entities
...
These are not supposed to be supported by gtk-doc¹
¹https://bugzilla.gnome.org/show_bug.cgi?id=758137
https://bugzilla.gnome.org/show_bug.cgi?id=758175
2015-11-19 14:54:57 -05:00
Carlos Soriano
9f3839066e
gtkstack: allow templates to override all properties
...
Currently GtkStack has some G_PARAM_CONSTRUCT properties. That means,
the properties are set with its default value after the initializacion
of the object.
When using GtkBuilder to build objects, GtkBuilder creates them and
after that sets the properties found on the xml definition.
However, this is not true for templates because the template is initialized
in the init() function of the actual object, and after that, the construct
properties will be set.
This is a problem when someone wants to use templates with GtkStack and
set those properties, since they will be set on the tempalt initialization
and set again to its default values afterwards.
To fix this, make those properties not G_PARAM_CONSTRUCT.
https://bugzilla.gnome.org/show_bug.cgi?id=758086
2015-11-19 14:50:09 -05:00
Matthias Clasen
029aad7907
Add more CSS node docs
2015-11-19 14:01:41 -05:00
Matthias Clasen
040723ec2d
Trivial: Some doc rewording
2015-11-19 13:40:57 -05:00
Matthias Clasen
2b5d4455b8
Add some CSS node docs
...
Write up some of the insights from doing the CSS node transition,
so the knowledge is not lost.
2015-11-19 12:56:30 -05:00
Emmanuele Bassi
e2d9051f23
Do not use the GPL v3 blurb for LGPL v2.1 files
...
GTK+ is licensed under the terms of the GNU LGPL v2.1+.
2015-11-19 12:54:48 +00:00
Emmanuele Bassi
e4c565d780
Do not use the LGPL v3 blurb for LGPL v2.1 files
...
GTK+ is released under the terms of the GNU LGPL v2.1+.
2015-11-19 12:54:48 +00:00
Emmanuele Bassi
8194bd1960
Fix the license version in GtkTrashMonitor
...
There is no GNU Lesser General Public License version 2; it's either GNU
Library General Public License version 2, or GNU Lesser General Public
License version 2.1.
2015-11-19 12:54:48 +00:00
Emmanuele Bassi
0d48a308ae
Fix license version for GtkFileChooserWidget private header
...
Since it's using Lesser GPL, use version 2.1; there is no Lesser GPL v2,
as it was called 'Library GPL' prior to v2.1.
2015-11-19 12:54:06 +00:00
Emmanuele Bassi
eec10b703f
Fix the licensing blurb of GtkBookmarksManager
...
Copy-pasta from GPL instead of LGPL.
Also, there is no GNU Lesser General Public License version 2; either
it's the GNU Library General Public License version 2, or it's the GNU
Lesser General Public License version 2.1.
2015-11-19 12:52:46 +00:00
Emmanuele Bassi
1ddf204745
Fix the licensing blurb in GtkPlacesSidebar
...
The code is released under the terms of the LGPL v2.1+, as is the rest
of the GTK+ code.
2015-11-19 12:52:46 +00:00
Matthias Clasen
a2d9223094
Fix license header
...
I didn't meant to make this different from any other file
in GTK+ when I added it.
2015-11-19 07:22:01 -05:00
Matthias Clasen
95df0fb6f5
box: Use an element name
2015-11-19 07:07:26 -05:00
Matthias Clasen
86764aeb1c
toolitemgroup: Fix initial state
...
GtkToolItemGroup starts out as non-collapsed, make the CSS node
state reflect that.
2015-11-19 06:05:15 -05:00
Christian Hergert
0a0213bc1c
entry: ensure valid GdkWindow before set_invisible_cursor()
...
If the window has not yet been created, then we can't set the invisible
cursor yet. This can happen in situations where the widget is in a
revealer with type-to-search functionality.
2015-11-18 14:41:29 -08:00
Cosimo Cecchi
bb441f4488
HighContrast: remove deprecated progressbar style properties
...
These are ignored and trigger a runtime warning.
2015-11-18 09:16:51 -08:00
Olivier Fourdan
370e3469c6
gtkwindow: apply csd offset to set/get_default_size
...
An application may use gtk_window_get_size() to retrieve the current
window size and later reuse that size with
gtk_window_set_default_size().
gtk_window_set_default_size() and gtk_window_get_default_size() should
also take client side decorations offset into account.
Bugzilla: https://bugzilla.gnome.org/show_bug.cgi?id=756618
2015-11-18 08:35:31 +01:00
Matthias Clasen
87b10e6f60
popover: Avoid a crash when no relative-to widget is set
...
This was showing up in glade, which creates freestanding
popovers.
2015-11-17 22:48:35 -05:00
Matthias Clasen
f79aef67f8
HighContrast: remove deprecated style properties
2015-11-17 21:47:02 -05:00
Matthias Clasen
7085595c08
expander: Use the right state when querying style properties
...
Failure to do so causes warnings.
2015-11-17 20:48:50 -05:00
Matthias Clasen
49bb6d287c
Adwaita: Drop deprecated style properties
2015-11-17 19:41:08 -05:00
Christian Hergert
0ca014af14
stackswitcher: add GtkStackSwitcher:icon-size property
...
Set the GtkStackSwitcher:icon-size property to change the size of icons
used in the linked GtkRadioButton children.
https://bugzilla.gnome.org/show_bug.cgi?id=758208
2015-11-16 21:38:22 -08:00
Matthias Clasen
e24c248013
Adwaita: Remove deprecated style properties
...
These are now triggering warnings, so clean them up.
2015-11-16 15:14:41 -05:00
Matthias Clasen
43f822e70f
Annotate deprecated style properties
...
Use G_PARAM_DEPRECATED with deprecated style properties.
This will make it easier to identify and remove such stale
properties from css, since it will now trigger warnings.
2015-11-16 15:13:33 -05:00
Matthias Clasen
08c4bc8aa5
css provider: Issue deprecation warnings for style properties
...
This makes G_PARAM_DEPRECATED useful for style properties.
2015-11-16 14:37:23 -05:00
Benjamin Otte
9facd00884
cssprovider: Only push a new scanner when none exists
...
For @import, we want to emit the error as part of the @import statement,
not as part of the new file.
2015-11-16 19:34:24 +01:00
Benjamin Otte
0a4e88b79b
cssprovider: Have a section on import error
...
When loading a nonexisting CSS file using
gtk_css_provider_load_from_file() or gtk_css_provider_load_from_path()
we would emit the error using a NULL scanner. Don't do that, because
we'll have a NULL section in that case and error handlers don't like
that.
Testcase attached.
https://bugzilla.redhat.com/show_bug.cgi?id=1277959
2015-11-16 17:39:15 +01:00
Carlos Soriano
81cb57b260
gtkcontainer: clarify requirements for implementations
...
Spent quite a few time investigating why the widgets were
not shown in my GtkContainer implementation.
https://bugzilla.gnome.org/show_bug.cgi?id=758087
2015-11-16 17:18:00 +01:00
Matthias Clasen
ed2c14f4aa
spinbutton: Document some style properties as deprecated
...
No code change.
2015-11-16 07:20:18 -05:00
Matthias Clasen
90f8b054b3
range: Document some style properties as deprecated
...
Remove dead code dealing with the arrow-displacement-x/y style
properties, and document them as deprecated.
2015-11-16 07:20:18 -05:00
Matthias Clasen
c6d5accf9c
progressbar: Ignore x/yspacing style properties
...
These are not really useful, so ignore and deprecate them.
2015-11-16 07:20:18 -05:00
Matthias Clasen
bab98a8427
menuitem: Document some style properties as deprecated
...
No code change.
2015-11-16 07:20:18 -05:00
Matthias Clasen
3aa9293258
menubar: Ignore the shadow-type style property
...
The border can be controlled with regular CSS, so deprecate
and ignore this style property.
2015-11-16 07:20:18 -05:00
Matthias Clasen
af04390b29
icon view: Document some style properties as deprecated
...
No code change.
2015-11-16 07:20:18 -05:00
Matthias Clasen
46b7b0ac9f
entry: Ignore the icon-prelight style property
...
The icon prelight effect can be controlled with regular CSS,
so deprecate and ignore this style property.
2015-11-16 07:20:18 -05:00
Matthias Clasen
684cd47c53
button: Document some style properties as deprecated
...
No code change.
2015-11-16 07:20:18 -05:00
Matthias Clasen
8fea3ebfa0
button box: Document some style properties as deprecated
...
No code change.
2015-11-16 07:20:18 -05:00
Matthias Clasen
c1dd25d459
assistant: Document style properties as deprecated
...
No code change.
2015-11-16 07:20:18 -05:00
Matthias Clasen
5cc6fb7644
Avoid an unused variable warning
...
This was introduced with the recent win32 build fix.
2015-11-16 07:20:18 -05:00
Cosimo Cecchi
8a66e685a6
stack switcher: fix typos in documentation comment
2015-11-15 14:11:48 -08:00
Matthias Clasen
3811eb4f32
label: Use css nodes for links
...
Use a subnode with name link for links in labels. These subnodes
carry the :link or :visited state.
2015-11-15 01:04:27 -05:00
Matthias Clasen
a24de82ced
spinbutton: update node state more often
...
We need to update the entry_node state, and we should
update the node state initially.
2015-11-14 23:18:17 -05:00
Matthias Clasen
9b041ae930
shortcuts: Support direction-specific shortcuts
...
The prime example for direction-dependent shortcuts is using
<Alt>Left or <Alt>Right to go back. Support this by adding a
direction property to GtkShortcutsShortcut, and filtering by
the current text direction.
https://bugzilla.gnome.org/show_bug.cgi?id=757888
2015-11-14 22:34:19 -05:00
Matthias Clasen
705d371362
help overlay: Allow key sequences
...
Extend the syntax to allow sequences of keys or key combinations,
e.g. t+t or <ctl>c+<ctl>x.
https://bugzilla.gnome.org/show_bug.cgi?id=758051
2015-11-14 21:34:43 -05:00
Matthias Clasen
aa5af9da4f
HighContrast: Fix selection styling in icon views
...
This makes selected items in icon view show up again.
2015-11-14 18:35:03 -05:00
Matthias Clasen
55667352aa
HighContrast: Fix selection styling in treeviews
...
This makes selected rows in treeviews show up again.
2015-11-14 18:29:27 -05:00
Matthias Clasen
65635546b4
HighContrast: Fix selection styling in some places
...
Make selected flow box children and list box rows show up again.
2015-11-14 18:25:59 -05:00
Matthias Clasen
4cee658f5f
Adwaita: Misc cleanups
...
Various cleanups and simplifications.
2015-11-14 18:25:24 -05:00
Matthias Clasen
afab635f9d
HighContrast: Fix shadow size
...
Ensure that the shadow extents don't change as we go to backdrop,
to prevent windows from jumping.
2015-11-14 18:05:06 -05:00
Matthias Clasen
718ca64bb7
Adwaita: Fix selection styling in icon views
...
This was also broken by recent selection styling changes.
2015-11-14 17:36:35 -05:00
Matthias Clasen
919be04a3d
Adwaita: Fix selection styling in flow boxes
...
This was broken by recent selection styling changes.
2015-11-14 17:33:00 -05:00
Timm Bäder
d6cbe7ed2b
GtkApplicationWindow: the help_overlay is nullable
2015-11-14 22:58:38 +01:00
Timm Bäder
d9de02e1ca
GtkApplicationWindow: Fix typos
2015-11-14 22:20:27 +01:00
Matthias Clasen
dc836abbb4
Adwaita: Fix window shadow size
...
Ensure that the shadow extents don't change as we go to backdrop,
to prevent windows from jumping.
2015-11-14 12:55:34 -05:00
Matthias Clasen
93629325d5
Cosmetic: Avoid explicit state variables
...
Using the state of the context makes this more obviously correct.
2015-11-14 12:32:57 -05:00
Matthias Clasen
debb33db8c
Cosmetic: Avoid explicit state variables
...
Using the state of the context makes this more obviously correct.
2015-11-14 12:32:57 -05:00
Matthias Clasen
bcc6df00e5
Cosmetic: Avoid explicit state variables
...
Using the state of the context makes this more obviously correct.
2015-11-14 12:32:57 -05:00
Matthias Clasen
828a66b4aa
Cosmetic: Avoid explicit state variables
...
Using the state of the context makes this more obviously correct.
2015-11-14 12:32:57 -05:00
Matthias Clasen
38be852bee
Cosmetic: Avoid explicit state variables
...
Using the state of the context makes this more obviously correct.
2015-11-14 12:32:57 -05:00
Matthias Clasen
10a8533bd3
Cosmetic: Avoid explicit state variables
...
Using the state of the context makes this more obviously correct.
2015-11-14 12:32:57 -05:00
Matthias Clasen
6c5d08d75a
Cosmetic: Avoid explicit state variables
...
Fold it into its single user.
2015-11-14 12:32:57 -05:00
Matthias Clasen
3007ad6f3b
Cosmetic: Avoid explicit state variables
...
Using the state of the context makes this more obviously correct.
2015-11-14 12:32:57 -05:00
Matthias Clasen
eca9549c72
Cosmetic: Avoid explicit state variables
...
Using the state of the context makes this more obviously correct.
2015-11-14 12:32:57 -05:00
Matthias Clasen
beb2875437
Cosmetic: Avoid explict state variables
...
Using the state of the context makes this more obviously correct.
2015-11-14 12:32:57 -05:00
Matthias Clasen
acdb7dae4e
Cosmetic: Avoid an explicit state variable
...
Using the state of the context makes it more obviously correct.
2015-11-14 12:32:57 -05:00
Matthias Clasen
cf1adadfed
listbox: Cosmetic cleanup
...
We don't cast these arguments anywhere else, so lets not do here
either.
2015-11-14 12:32:57 -05:00
Benjamin Otte
55735cee2f
window: Don't invalidate cssnode during get_preferred_width()
...
Getting the shadow width must not call gtk_style_context_set_state()
because that will invalidate the node and cause a style-updated emission
which can cause gtk_widget_queue_resize() calls.
And calling queue_resize() from get_preferred_size() essentially means
the size is permanently invalid because you invalidate it while
querying it.
This causes flickering of windows when going from/to backdrop state. To
avoid this we either need to fix the theme to not have different shadow
sizes in those cases or we need to ensure the window doesn't flicker in
the first place.
2015-11-14 18:32:08 +01:00
Timm Bäder
3c22784328
GtkShortcutsShortcut: Add missing word
2015-11-13 14:12:35 +01:00
Timm Bäder
86f4346c29
GtkGrid: Remove invalid return annotation
2015-11-13 14:12:35 +01:00
Chun-wei Fan
d01ea18dc3
gtkimcontextsimple.c: Use X11_DATA_PREFIX only on X11/Wayland
...
Only use the hard-coded build-time path given by X11_PREFIX on X11 and
Wayland where a X11 package is normally available. On other platforms,
get the datadir of the running system and mimic the behavior by
constructing the path dynamically. This avoids hardcoding the path for
searching for compose tables where we want to have relocatability.
This fixes the build on Windows/MSVC as well, where we don't normally have
any X11 packages available.
https://bugzilla.gnome.org/show_bug.cgi?id=757984
2015-11-13 07:39:54 -05:00
Matthias Clasen
1190a61c27
check menu item: Fix a typo
...
It is check, not checl. Pointed out by Giovanni Campagna in
https://bugzilla.gnome.org/show_bug.cgi?id=757968
2015-11-13 07:11:23 -05:00
Matthias Clasen
386b9ef075
Adwaita: Fix styling of selected rows in treeviews
...
This broke in some of the recent selection handling changes.
2015-11-13 07:07:53 -05:00
Paolo Borelli
c619c86250
filechooser: ignore double clicks on the selected item
...
Since we are now interpreting button press events and
make our own double-click determination, we should not
handle double-click events that are generated by GDK.
https://bugzilla.gnome.org/show_bug.cgi?id=757950
2015-11-13 07:07:53 -05:00
Matthias Clasen
4faef48410
notebook: Chain up in direction_changed
...
We do this everywhere else.
2015-11-13 06:41:14 -05:00
Matthias Clasen
a0cdd4ac51
HighContrast: Update levelbar styling
...
Adapt to changes in the previous commit.
2015-11-13 01:05:30 -05:00
Matthias Clasen
d5ab5fee3b
Adwaita: Update levelbar styling
...
Adapt to the changes in the previous commit. In particular, fix
the handling of low and high offsets. Anything below the low offset
gets warning color, anything below high gets selected background,
and anything below the new full offset gets success color.
2015-11-13 00:56:54 -05:00
Matthias Clasen
21209a963a
levelbar: Use more CSS nodes
...
Create as many CSS nodes as we're rendering blocks on the screen.
2015-11-13 00:55:28 -05:00
Sébastien Wilmet
1685da6f69
textbuffer: nicer get_iter functions, without return values
...
Avoid crashes when passing an invalid location to a
gtk_text_buffer_get_iter_at_*() function.
A first attempt added boolean return values to know if @iter has been set to
the exact location, but it breaks Python and JS bindings because the out
parameter is already a return value in those languages.
Unit tests are added.
https://bugzilla.gnome.org/show_bug.cgi?id=735341
2015-11-12 17:50:39 +01:00
Matthias Clasen
fde91c3bec
Revert "textbuffer: nicer get_iter functions"
...
This reverts commit a9a1c00cc9
.
Unfortunately, adding the boolean return broke both the python
and javascript bindings, since they now return a tuple consisting
of the boolean and the out argument.
2015-11-12 09:58:28 -05:00
Chun-wei Fan
a56f8859ee
gtktestutils.c: Ensure variables are declared at top of block
...
Fixes build on C89 compilers...
2015-11-12 20:12:26 +08:00
Alexander Larsson
51dc4873fd
Add gtk_native_dialog_destroy()
...
Its very easy to get extra references to the NativeDialog so that
when you release your last reference any visible dialog is not
hidden. We handle this by adding a destroy method similar to how
you destroy regular toplevels.
2015-11-11 16:06:44 +01:00
Alexander Larsson
402225a8e2
GtkNativeDialog: Fix modal handling in gtk_native_dialog_run()
2015-11-11 15:14:40 +01:00
Emmanuele Bassi
0e0b45602a
tooltipwindow: Use a builder UI file
...
It's not a hugely complicated file, but it's easier to deal with some of
the details of tooltip windows styling if we have a UI file to edit,
instead of source code.
2015-11-11 12:27:07 +00:00
Emmanuele Bassi
73497c16ae
Add autocleanups for GtkShortcutsWindow
2015-11-11 12:02:43 +00:00
Emmanuele Bassi
9ebe95f4a9
Remove introspection scanner guards around autocleanups
...
They are not needed.
2015-11-11 12:02:43 +00:00
Timm Bäder
5912790f32
gtklevelbar: Fix typo
2015-11-11 09:35:31 +01:00
Matthias Clasen
373a3517b3
HighContrast: Update levelbar styling
...
Adapt to the changes in the previous release.
2015-11-11 00:30:24 -05:00
Matthias Clasen
2a0024ebe2
Adwaita: Update levelbar rendering
...
Adapt to the changes in the previous commit.
2015-11-11 00:26:32 -05:00
Matthias Clasen
17f110433d
levelbar: Port to use CSS nodes
...
Use element names levelbar, trough, block, and some style
classes on the block nodes: .discrete, .continuous, .empty,
.level-low, etc.
2015-11-11 00:25:24 -05:00
Matthias Clasen
02d08a1bd7
text util: Avoid creating transient nodes
...
We don't need to add .view - its already added, and shouldn't
really be needed in the first place.
2015-11-10 21:59:31 -05:00
Matthias Clasen
f3c915f18c
HighContrast: Update textview selection styling
...
Use the selection element name.
2015-11-10 21:52:45 -05:00
Matthias Clasen
fbd6a814c6
Adwaita: Update textview selection styling
...
Use the selection name.
2015-11-10 21:51:36 -05:00
Matthias Clasen
9d9088304c
text view: Improve text rendering
...
Use the text CSS node for rendering text, and the selection node
for rendering selected text, avoid gtk_style_context_save, update
states of all CSS nodes, and use the proper states when querying
style properties.
2015-11-10 21:49:42 -05:00
Matthias Clasen
bb786ac240
textview: Use a CSS node for selection rendering
...
Use a CSS node with name selection, like we do for entries
and labels. Unlike those widgets, we currently don't user
gtk_render_background, but just use the background color.
That will require more effort.
2015-11-10 21:18:10 -05:00
Matthias Clasen
735a71da11
cell view: Add an element name
...
The element name is...cellview.
2015-11-10 20:45:42 -05:00
Matthias Clasen
514c0f761f
HighContrast: Update label selection styling
...
Adapt to changes in the previous commit.
2015-11-10 20:33:12 -05:00
Matthias Clasen
218d584b54
Adwaita: Update label selection styling
...
Adapt to the changes in the previous commit.
2015-11-10 20:29:31 -05:00
Matthias Clasen
fafa75ac19
label: Use a CSS node for selection rendering
...
This adds new possibilities for themes to render the selection
in fancy ways.
2015-11-10 20:28:10 -05:00
Matthias Clasen
27d70cbb10
entry: Simplify selection rendering
...
Calling gtk_render_background for each rectangle in the region
leads to suboptimal and sometimes weird results. Getting this
right requires more work in Pango first. Go back to just rendering
a single background, and clip it to the selection region. This
matches what GtkLabel does.
2015-11-10 20:18:39 -05:00
Matthias Clasen
e9449f6014
inspector: Don't grow horizontally
...
Labels in the object tree are application data. Ellipsize them
to avoid growing extremely wide if the data is bogus.
2015-11-10 17:36:33 -05:00
Matthias Clasen
774b6f94d5
inspector: fix a typo
2015-11-10 17:36:23 -05:00
Matthias Clasen
6cbfc780c5
HighContrast: Update entry selection styling
...
Adapt to changes in the previous commit.
2015-11-10 13:39:10 -05:00
Matthias Clasen
e7854aeb42
Adwaita: Update entry selection rendering
...
Adapt to the changes in the previous commit.
2015-11-10 13:37:15 -05:00
Matthias Clasen
2a03107677
entry: Use a CSS node for selection rendering
...
This adds new possibilities for themes to render the selection
in fancy ways.
2015-11-10 13:36:16 -05:00
Matthias Clasen
3552f524c3
Adwaita: Update tooltip styling more
...
Now that tooltips are csd again, the CSS wasn't quite working
anymore.
2015-11-10 12:48:40 -05:00
Olivier Fourdan
f2b373add8
gtkwindow: css offset for toplevel only
...
At the time gtk_window_move() or gtk_window_resize() get called, there
is no way to predict if a popup window will actually draw its shadow, so
applying an offset in this case may end up with a wrong size or
positioning for such windows.
Changing the logic in gtk_window_should_use_csd() as previously done to
address that issue will cause some other breakage as popup windows may
not draw a shadow but still need CSD.
So best is to actually apply client side decorations offset for regular,
top level windows only. This is actually a lot simpler and safer and
less likely to cause additional breakage.
Bugzilla: https://bugzilla.gnome.org/show_bug.cgi?id=756618
2015-11-10 12:35:23 -05:00
Matthias Clasen
69cbf0a129
Adwaita: update tooltip styling
...
Adapt to the changes in the previous commit. Note that tooltip
appearance is currently affected by tooltips having lost their
csd nature, due to a regression.
2015-11-10 12:26:05 -05:00
Emmanuele Bassi
62d9abeebc
Move GtkAccelMap autocleanup to the class header
2015-11-10 14:12:35 +00:00
Emmanuele Bassi
a395852233
Recursively move autocleanups to their header files
...
Start from GtkAccelLabel and walk the tree downwards.
2015-11-10 14:11:04 +00:00
Emmanuele Bassi
56ab3bdf3c
Move GtkAboutDialog autocleanup to the class header
2015-11-10 14:08:07 +00:00
Emmanuele Bassi
90c15c294e
Move GtkDialog autocleanup to the class header
2015-11-10 14:07:41 +00:00
Emmanuele Bassi
93369788c9
Start recursively moving autocleanups macros to their headers
...
* Cover letter
Having a single header file for all autocleanups definitions was a
reasonable stop-gap measure, but now GTK+ is starting to use G_DECLARE_*
macros. This means that every class using a G_DECLARE_* macro will need
to include "gtk.h" to avoid compiler warnings, which is not acceptable.
By moving the G_DEFINE_AUTO* use to the header that defines the type we
allow using the G_DECLARE_* macros without sacrificing the ability to
include only the needed files when deriving from a class.
* Commit
This commit changes all includes relative to GtkWindow to define their
own autocleanup macros.
2015-11-10 13:59:36 +00:00
Emmanuele Bassi
d589170754
Only include the necessary headers in GtkPlacesViewRow
...
When compiling inside GTK we also use the GTK_COMPILATION guard, as the
GtkPlacesView and GtkPlacesViewRow widgets are shared with Nautilus.
2015-11-10 13:49:11 +00:00
Emmanuele Bassi
862007fe1c
Move GtkListBox g_autoptr macros to the class header
...
This allows GtkPlacesViewRow to use G_DECLARE_FINAL_TYPE without having
to include gtk.h.
2015-11-10 13:48:31 +00:00
Emmanuele Bassi
0d4a010cbb
Remove an unused variable declaration
...
And the compiler warning that comes with it.
2015-11-10 13:42:02 +00:00
Emmanuele Bassi
40d6321b4c
Move GtkWindow g_autoptr macros in the class header
...
Otherwise we won't be able to use G_DECLARE_* macros internally to GTK
without generating warnings, or without including gtk.h itself.
2015-11-10 13:42:02 +00:00
Matthias Clasen
534f537a3c
Fix an oversight
...
We must set the construct-only "type" to GTK_WINDOW_POPUP, otherwise
this ends upo being a regular toplevel.
2015-11-10 13:23:18 +00:00
Emmanuele Bassi
6f6e536543
Use CSS node name for GtkTooltipWindow
...
Instead of a style class.
2015-11-10 13:23:18 +00:00
Emmanuele Bassi
a846fd586d
Add GtkTooltipWindow private sub-class
...
GtkTooltip does a lot of set up on the GtkWindow it uses internally. We
should move that code to a separate class to keep it contained.
2015-11-10 13:23:18 +00:00
Matthias Clasen
c2d0aa7851
print dialog: Avoid gtk_style_context_save
...
There was one more call to gtk_style_context_save here that I
overlooked. We can get rid of it by just setting the element name
on the drawing area.
2015-11-10 07:54:59 -05:00
Matthias Clasen
afc09d924e
flowbox: Add a diagram to CSS documentation
2015-11-10 07:39:40 -05:00
Matthias Clasen
740fa2cd70
iconview: Add a diagram to CSS documentation
2015-11-10 07:37:25 -05:00
Matthias Clasen
ff4b112265
treeview: Add a diagram to CSS documentation
2015-11-10 07:36:41 -05:00
Matthias Clasen
ec065d4cbf
HighContrast: Update treeview rubberband styling
...
Adapt to the changes in the previous commit.
2015-11-10 07:31:32 -05:00
Matthias Clasen
8efb1b1f92
Adwaita: Update treeview rubberband styling
...
Adapt to the changes in the previous commit.
2015-11-10 07:30:29 -05:00
Matthias Clasen
4c56a1ea5d
treeview: Use a CSS node for rubberband drawing
...
Use a CSS node with name rubberband to draw the rubberband
selection.
2015-11-10 07:29:54 -05:00
Alexander Larsson
0af457639d
TextView: Use saner coordinate space in draw_layer.
...
When I added the draw_layer vfunc it accidentally got passed a cairo_t
that was configured with to draw in the viewport coordinate space (rather
than the buffer coordinate space). This makes things unnecessary complex,
because you have to convert between the two.
The pixel cache is shared between the text and the layers, so there is
no way to use draw_layer to get a stationary overlay effect. Thus it makes
much more sense for the draw_layer vfunc to draw in the buffer space.
Just changing this would break ABI for existing code, so this is fixed
by adding new layer types and deprecating the old ones.
Also, we use the new layer types to fix gtk3-widget-factory.
https://bugzilla.gnome.org/show_bug.cgi?id=757856
2015-11-10 08:39:47 +01:00
Matthias Clasen
b0a6af3783
Forgotten file
...
This change belongs to the iconview rubberband changes.
2015-11-10 00:55:57 -05:00
Matthias Clasen
921c2a1db4
HighContrast: Update flowbox rubberband styling
...
Adapt to the changes in the previous commit.
2015-11-10 00:55:29 -05:00
Matthias Clasen
f6201e4ccd
Adwaita: Update flowbox rubberband styling
...
Adapt to the changes in the previous commit.
2015-11-10 00:52:09 -05:00
Matthias Clasen
6c7f4b78b5
flowbox: Use a CSS node for rubberband drawing
...
Use a CSS node with name rubberband to draw the rubberband
selection.
2015-11-10 00:51:48 -05:00
Matthias Clasen
75d465eee4
HighContrast: Update rubberband styling
...
Adapt to the changes in the previous commit.
2015-11-10 00:30:39 -05:00
Matthias Clasen
f4076dff42
Adwaita: Update rubberband styling
...
Adapt to the changes in the previous commit.
2015-11-10 00:28:46 -05:00
Matthias Clasen
318269550b
iconview: Use a CSS node for rubberband drawing
...
Use a CSS node with name rubberband to draw the rubberband
selection.
2015-11-10 00:27:11 -05:00
Matthias Clasen
ee76f9bfed
HighContrast: Update text handle styling
...
Adapt to the changes in the previous release.
2015-11-09 23:49:29 -05:00
Matthias Clasen
3daff48aca
Adwaita: Update text handle styling
...
Adapt to the changes in the previous commit.
2015-11-09 23:47:08 -05:00
Matthias Clasen
0a136004c9
Document text handle styling
...
Since GtkTextHandle is private, document text handle style
classes in the GtkEntry and GtkTextView documentation.
2015-11-09 23:45:29 -05:00
Matthias Clasen
ea51db1feb
text handle: Port to CSS nodes
...
Use cursor-handle as the element name for the CSS node that
is used to render text the selection handles.
2015-11-09 23:33:54 -05:00
Matthias Clasen
14f4b7ead2
Avoid excessive property notification for GtkStack::interpolate-size
...
make check checks this for writable properties, and fails now that
we've made this property writable.
2015-11-09 14:53:25 -05:00
Matthias Clasen
c283315466
notebook: Update CSS docs
...
The .header style class is no longer used.
2015-11-09 13:33:58 -05:00
Timm Bäder
c28be30ac1
colorswatch: Don't pass _GENERIC_FALLBACK to API that doesn't support it
2015-11-09 17:13:19 +01:00
Benjamin Otte
a0d9728e6c
textdisplay: save/restore when using different state flags
...
Also, never use gtk_widget_get_state_flags() when we want
gtk_style_context_get_state()
2015-11-09 14:17:53 +01:00
Olivier Fourdan
9757ea2c49
gtkwindow: Fix resize without "_GTK_FRAME_EXTENTS"
...
git commit a5b1cdd0
introduced a regression where CSD windows are not
resizable with metacity.
Reason being that metacity does not support "_GTK_FRAME_EXTENTS" and
therefore gtk_window_supports_client_shadow() would always return FALSE.
This explains why it works with window managers which support
"_GTK_FRAME_EXTENTS" such as mutter/gnome-shell or xfwm4.
Partially revert commit a5b1cdd0
to reinstate the logic in
get_shadow_width().
Bugzilla: https://bugzilla.gnome.org/show_bug.cgi?id=757805
2015-11-09 14:17:53 +01:00
Matthias Clasen
32f27a4cd0
container: Slightly reword some docs
...
Clarify gtk_container_remove documentation regarding reference
holding. Suggested in
https://bugzilla.gnome.org/show_bug.cgi?id=757607
2015-11-09 07:40:44 -05:00
Matthias Clasen
7314c8ca06
tool item group: Use a CSS node for the arrow
...
This completes the transition for GtkToolItemGroup.
2015-11-09 06:42:59 -05:00
Matthias Clasen
db70ec9666
HighContrast: Update notebook styling
...
Some fixes for arrows and for headers.
2015-11-08 21:08:38 -05:00
Matthias Clasen
f564f16b5c
Adwaita: Update notebook styling
...
Adapt to the changes in the previous commit.
2015-11-08 21:08:38 -05:00
Matthias Clasen
4802b515e4
notebook: Use CSS nodes for arrows
...
This converts the drawing of scroll arrows to use separate CSS
nodes.
2015-11-08 21:08:38 -05:00
Matthias Clasen
78373eb9f7
Don't use a transient node in gtk_render_arrow()
...
It is not necessary for the users of this API, and causes things
to not work as intended. Without this transient node, styling
"notebook header tabs arrow" has the desired effect on notebook
arrows.
2015-11-08 21:08:38 -05:00
Matthias Clasen
e892b918dc
HighContrast: update notebook styling
...
Adapt to the changes in the previous commit.
2015-11-08 21:08:38 -05:00
Matthias Clasen
6592c6f51f
Adwaita: Adapt notebook styling a bit
...
This needs a lot more work.
2015-11-08 21:08:38 -05:00
Matthias Clasen
5686853c6e
notebook: redo notebook styling
...
Add a header node, and put positional classes on it.
2015-11-08 21:08:38 -05:00
Benjamin Otte
2fcbf996c6
placesview: Don't export API
...
This is a private object, don't export its symbols.
https://bugzilla.gnome.org/show_bug.cgi?id=756978
2015-11-09 01:48:54 +01:00
Benjamin Otte
0e75fbf39c
cssnode: Propagate NTH_LAST_CHILD changes properly
...
We were just catching the previous sibling before. Now we properly
invalidate all previous siblings (and also all other wiblings, but we
can think about optimizing that later).
2015-11-09 01:48:14 +01:00
Benjamin Otte
4141a7d7c8
csstypes: Propagate NTH_CHILD and NTH_LAST_CHILD to siblings
...
Otherwise, we'd have to mark eveyr child on changes, and it's far easier
to do that once we actually validate.
2015-11-09 01:48:14 +01:00
Benjamin Otte
a7816909ef
box: Refactor CSS node handling
...
Only update the node that changed, don't invalidate everything.
2015-11-09 01:48:14 +01:00
Benjamin Otte
bed3ff2737
box: Don't track children visibility
...
It's not necessary anymore with css nodes.
2015-11-09 01:48:14 +01:00
Benjamin Otte
d55628cd9f
testutils: Add deprecation guards
2015-11-09 01:48:14 +01:00
Matthias Clasen
c2a9202a66
Move gtk_builder_extend_with_template to public header
...
We export the symbol, so we should not hide it in private
headers.
2015-11-08 19:21:45 -05:00
Matthias Clasen
f0a74bc302
Document gtk_builder_extend_wth_template
2015-11-08 19:21:39 -05:00
Matthias Clasen
f5af2612f4
Adwaita: Update print dialog styling
...
Adapt to the changes in the previous commit. With the changes here,
we always render the paper as white, even in the dark theme.
2015-11-07 00:58:00 -05:00
Matthias Clasen
59c1547a48
print dialog: Use an element name for rendering the paper
...
Use a transient node with name paper instead of a random
collection of style classes for rendering the papers.
2015-11-07 00:57:03 -05:00
Matthias Clasen
c63c932a05
Adwaita: Update expander styling
...
Adapt to the changes in the previous commit.
2015-11-07 00:42:37 -05:00
Matthias Clasen
7ba1368c40
epxander: Port to CSS nodes
...
Use CSS nodes with name expander and arrow here.
2015-11-07 00:42:24 -05:00
Matthias Clasen
cf7f23f4dd
scrolledwindow: Document overlay scrolling style classes
...
Document which style classes are used on scrollbars to
implement overlay scrolling.
2015-11-06 23:35:20 -05:00
Matthias Clasen
353bfb0092
scrolledwindow: Set positional classes on scrollbars
...
This might be useful for some themes.
2015-11-06 23:28:22 -05:00
Matthias Clasen
f900bec4fa
scrolled window: Drop unnecessary transient nodes
...
We already add the .frame style class to the context depending
on the shadow property. No need to save the context and add it
again all the time.
2015-11-06 22:58:08 -05:00
Matthias Clasen
e1182ec0e1
window: Don't pass wrong state to context
...
GtkStyleContext warns nowadays if one queries properties
from a different state. So, don't do that.
2015-11-06 22:47:16 -05:00
Matthias Clasen
d25e0657be
range: Fixes to the new trough rendering
...
There was an errant y that caused some troughs to not be drawn.
And also set the state of the fill node.
2015-11-06 22:27:31 -05:00
Matthias Clasen
60c7893c14
scale: Document the new CSS nodes
2015-11-06 22:27:31 -05:00
Benjamin Otte
e5ef7dc681
notebook: Fix copy/paste error
...
This is from the recent commit 2a1a483ede
2015-11-07 03:29:44 +01:00
Matthias Clasen
f95a22a3ab
Adwaita: Update range styling
...
Adapt to the new CSS nodes for trough rendering. This commit
also brings back visible fill-level rendering for scales, which
was not working for a while. The styling provided for that
(scale trough fill) is just a placeholder to aid in debugging
the implementation.
2015-11-06 19:28:56 -05:00
Matthias Clasen
11d7f6df7c
range: Use CSS nodes for all trough rendering
...
This replaces the somewhat freewheeling use of style classes to
render a part of the trough highlighted and show a fill level.
2015-11-06 19:25:58 -05:00
Matthias Clasen
50ff2a566a
Update mac key theme for css changes
...
Use the element names for widgets.
2015-11-06 15:20:35 -05:00
Matthias Clasen
bc656a3ca5
Update emacs key theme for css changes
...
Use the element names for widgets.
2015-11-06 15:20:35 -05:00
Benjamin Otte
a9814fea7d
stylecontext: Always warn on style mismatch
...
For now, always warn when
gtk_style_context_get()/get_padding()/get_margin()/get_border()
get called with the wrong state.
We used to hide this behind an env var because the warnings were
too frequent, but with the recent refactorings, this warning has become
rather important for detecting bugs.
If it's still problematic, we might want to revert this patch before
3.20.
2015-11-06 18:59:15 +01:00
Benjamin Otte
68ed166c60
range: Use right state when querying margin
2015-11-06 18:59:15 +01:00
Benjamin Otte
2a1a483ede
notebook: Query the right node's padding
2015-11-06 18:59:15 +01:00
Benjamin Otte
37b4b60e91
spinbutton: Use right state when querying padding
2015-11-06 18:59:15 +01:00
Matthias Clasen
38cd2c1239
range: Update trough state
...
It might make sense for the theme to render an insensitive trough
differently.
2015-11-06 11:53:42 -05:00
Matthias Clasen
0bfc7db1fa
popover: Don't create transient CSS nodes
...
There is no need to save the style context here.
2015-11-06 11:50:23 -05:00
Matthias Clasen
8d886f3513
Cosmetic: Use defines for style classes
2015-11-06 11:50:23 -05:00
Matthias Clasen
76fbcc2f26
range: Document fine-tuning style class use
2015-11-06 11:50:23 -05:00
Benjamin Otte
203d8daff4
acccellabel: Use right state when querying font
...
This was causing permanent invalidations otherwise because drawing
causes the state of the accel node to change.
2015-11-06 16:37:40 +01:00
Matthias Clasen
ffd517cc3f
Adwaita: Update scale styling
...
Use :first-child/:last-child on the trough for determining
which slider we need.
2015-11-06 07:04:14 -05:00
Matthias Clasen
bfee2d3c61
scale: Stop using style classes for marks
...
We can use :first/last-child for this now.
2015-11-06 07:01:42 -05:00
Matthias Clasen
fd5729baef
Adwaita: Fix up filechooser styling
...
Several details of sidebar and places view styling were lost
along the way. Bring back the circular buttons.
2015-11-05 23:44:16 -05:00
Matthias Clasen
527df17ea3
places view: Remvoe some unused style classes
...
These style classes were not used in Adwaita, and didn't make
any difference for the appearance.
2015-11-05 23:44:16 -05:00
Matthias Clasen
efc7dfd7a7
places view: Add an element name
...
Use placesview as the element name.
2015-11-05 23:41:42 -05:00
Matthias Clasen
6be2073740
Adwaita: Redo combo box entry styling
...
Instead of relying on .linked or + (which doesn't work right in rtl),
use :not(:only-child) to select a button that is not alone inside a
combobox.
2015-11-05 21:59:56 -05:00
Matthias Clasen
f1b7005ede
combobox: Don't add .linked
...
It interferes with getting the desired styling for combo boxes
with an entry, and is not needed.
2015-11-05 21:59:56 -05:00
Matthias Clasen
7cd177e0d7
Fix a typo
2015-11-05 21:59:56 -05:00
Matthias Clasen
ad214e1871
window: Add a diagram to the CSS documentation
2015-11-05 16:13:06 -05:00
Matthias Clasen
5d62c808b1
Adwaita: Update window styling
...
We no longer inherit the style classes on the decoration subnodes,
so we have to adjust some selectors.
2015-11-05 16:07:29 -05:00
Matthias Clasen
b4c650ae85
window: Use permanent CSS nodes
...
gtk_style_context_save_named() has drawbacks that we want to avoid.
2015-11-05 16:06:49 -05:00
Matthias Clasen
948e077f1c
tool button: Add element names for tool item subclasses
...
Add the obvious names to the CSS nodes of GtkRadioToolButton,
GtkToggleToolButton and GtkSeparatorToolItem.
2015-11-05 15:41:37 -05:00
Matthias Clasen
ec60bd889c
flowbox: Add element names
...
The names used here are flowbox and flowboxchild.
2015-11-05 15:23:44 -05:00
Matthias Clasen
527f4f44c1
Adwaita: Update listbox styling
...
Adapt to the changes in the previous commit.
2015-11-05 13:53:43 -05:00
Matthias Clasen
94e675257a
placessidebar: Use the same element name for rows
...
Use row as the element name here too.
2015-11-05 13:51:58 -05:00
Matthias Clasen
4f29b4a348
listbox: Add element names
...
The names used here are list and row.
2015-11-05 13:48:02 -05:00
Matthias Clasen
92a5eccc3d
aspect frame: Use an element name
2015-11-05 12:56:16 -05:00
Matthias Clasen
cd798d5aed
places sidebar: Document style classes
...
Document the style classes that GtkPlacesSidebar uses on its rows.
2015-11-05 12:56:16 -05:00
Alexander Larsson
b3d02671ca
GtkFileChooserButton: Use native dialogs
...
Unless you explicitly set the dialog constructor property we use a
native dialog (GtkFileChooserNative).
2015-11-05 16:54:12 +01:00
Alexander Larsson
5094900180
GtkFileChooserNative: Fallback and win32 implementation
...
This is a subclass on GtkNativeDialog that uses GtkFileChooserDialog
as a fallback, but also has support for the win32 file chooser dialog.
2015-11-05 16:54:07 +01:00
Alexander Larsson
693db082a1
GtkFileFilter: Add private function to represent filter as pattern
...
This will be needed for the win32 native file chooser which
does not support mimetype sniffing.
2015-11-05 16:52:52 +01:00
Alexander Larsson
81cef0091e
Add GtkNativeDialog abstract base class
...
This is a base class that essentially mirrors GtkDialog, but
it is not a GtkWindow, as the actual implemetation will be using
native code.
The base class has show and hide vfuncs, as well as a helper function
to run the dialog in a modal fashion.
This will be later used by the native file chooser dialog.
2015-11-05 16:52:52 +01:00
Alexander Larsson
0f6c7682b3
Make GtkFileChooser interface require a GObject
...
Before all GtkFileChooser implementations had to be a GtkWidget,
but we want to introduce one for native implementations that
is not a widget.
This is technically an ABI break, because some code could rely
on the guarantee that GtkFileChoosers are GtkWidgets and do
unchecked GtkWidget calls. However, that does seem unlikely,
and this has not really been documented anywhere.
2015-11-05 16:52:52 +01:00
Alexander Larsson
1c46a02bcb
TreeModelFilter: Fix uninitialized memory read.
...
We were copying an iterator that sometimes was not initialized,
which caused debugger warnings in VS2015.
2015-11-05 16:52:51 +01:00
Matthias Clasen
199e35fa5c
HighContrast: Update places sidebar styling
...
Use the new element name.
2015-11-05 10:43:02 -05:00
Matthias Clasen
35eaca27e4
Adwaita: Update places sidebar styling
...
Use the new element name.
2015-11-05 10:43:02 -05:00
Matthias Clasen
de3ad3781c
placessidebar: Use an element name
...
Set the element name placessidebar.
2015-11-05 10:43:02 -05:00
Matthias Clasen
f327ef3cf1
scrolledwindow: Use permanent CSS nodes
...
This avoids false inheritance due to gtk_style_context_save_named(),
and is generally the right thing to do.
2015-11-05 10:32:04 -05:00
Matthias Clasen
4ed47e757f
Fix a crash with steppers
...
The introduction of the trough node was not properly carried
into the code constructing stepper nodes, and was causing
assertion failures there. This was only showing up on Windows,
since Adwaita and HighContrast don't have steppers.
2015-11-05 09:44:14 -05:00
Matthias Clasen
4247e42411
stack sidebar: Remove an unused variable
2015-11-05 09:44:14 -05:00
Benjamin Otte
820a8c2c7f
checkmenuitem: Update CSS nodes on set_active()
...
The function only doesn't notify(). It is supposed to handle CSS
changes.
2015-11-05 15:23:12 +01:00
Benjamin Otte
c7491fa144
stack: Store actual widget size, not preferred size
...
This is just a cleanup commit, no actual bug.
2015-11-05 15:23:12 +01:00
Carlos Garnacho
4d524ab469
widget: Avoid critical warnings when disconnecting plain GtkEventControllers
...
This signal is only set on GtkGesture objects, so check it's really there
before disconnecting.
2015-11-05 14:32:37 +01:00
Matthias Clasen
66d2c9e6fa
Adwaita: Update stack sidebar styling
...
We no longer use the .sidebar-item style class.
2015-11-05 08:18:38 -05:00
Matthias Clasen
87deb25dc3
stack sidebar: Drop the .sidebar-item style class
...
It is not needed to achieve the desired theming.
2015-11-05 08:18:06 -05:00
Matthias Clasen
c59ef7bf2f
stack switcher: Clarify CSS documentation
2015-11-05 08:17:49 -05:00
Matthias Clasen
37c923ad8a
HighContrast: Update filechooser styling
...
Update for changes in previous commit.
2015-11-05 07:45:39 -05:00
Matthias Clasen
87c6ae1c18
Adwaita: Update searchbar styling
...
Adapt to the changes in the previous commit.
2015-11-05 07:44:29 -05:00
Matthias Clasen
bec58dc39e
searchbar: Stop adding a style class
...
We have an element name now.
2015-11-05 07:44:04 -05:00
Matthias Clasen
a71bc24184
file chooser: Don't use .search-bar for a box
...
Just use the more general .view class to avoid special-casing
the file chooser in the theme.
2015-11-05 07:40:48 -05:00
Matthias Clasen
2e314940af
range: Redraw when slider visiblity changes
...
We were not queuing a draw (and not updating the CSS node) when
the slider visibility changed. This was exposed by the Trough
button in tests/testscale.
Fix this by taking slider visibility into account when deciding
whether to queue a draw in response to adjustment changes.
2015-11-05 07:26:10 -05:00
Matthias Clasen
8afb4a69e8
HighContrast: Update scale styling
2015-11-05 07:26:10 -05:00
Matthias Clasen
53ae100e64
Adwaita: Update scale styling
...
Adapt to the introduction of trough nodes.
2015-11-05 07:26:10 -05:00
Matthias Clasen
07841f269d
scale: Split marks node into two
...
Use separate CSS nodes for the marks above and below the trough.
2015-11-05 07:26:10 -05:00
Matthias Clasen
973836d395
range: Add private api to get the trough node
...
This will be needed in range subclasses to position their
own subnodes.
2015-11-05 07:26:10 -05:00
Matthias Clasen
9f3deaa496
HighContrast: Update range styling
...
Adjust to the changes in the previous commit.
2015-11-05 07:26:10 -05:00
Matthias Clasen
1261aa6fdf
Adwaita: Update range styling
...
Adjust to the changes in the previous commit. This partially
undoes the earlier range changes.
2015-11-05 07:26:10 -05:00
Matthias Clasen
2bfb5ad812
range: Add a CSS node for the trough
...
This is in sync with what we do elsewhere for troughs.
2015-11-05 07:26:10 -05:00
Benjamin Otte
b6b00c31d7
stack: Queue a resize/allocate when switching children
...
We only allocate a size to the currently visible child, so we obviously
need to rerun allocation when the visible child changes.
In the case where the stack is not homogenous, we also need to queue a
resize because our size request just changed.
2015-11-04 19:39:29 +01:00
Matthias Clasen
894bd13240
HighContrast: Update progressbar styling
...
Adjust to the chagnes in the previous commit. This partially
undoes the earlier progressbar changes.
2015-11-04 12:43:06 -05:00
Matthias Clasen
48e605b7a4
Adwaita: Update progressbar styling
...
Adjust to the changes in the previous commit. This partially
undoes the earlier progressbar changes.
2015-11-04 12:33:06 -05:00
Matthias Clasen
9d4c78c2d0
progressbar: Add a CSS node for trough
...
This is better, since the trough doesn't fill up the allocation
entirely.
2015-11-04 12:32:15 -05:00
Matthias Clasen
eade244cac
popover: Add the .background style class
...
This style class indicates that something _requires_ a background,
which is clearly the case for popovers.
2015-11-04 12:05:03 -05:00
Matthias Clasen
cca5cac965
paned: Move .wide to CSS subnode
...
This fits better with our general use of style classes.
2015-11-04 12:05:03 -05:00
Matthias Clasen
d40576fb3e
revealer: Use an element name
2015-11-04 12:05:03 -05:00
Krzesimir Nowak
4fe04ab54a
scrolledwindow: Fix a typo
2015-11-04 14:19:13 +01:00
Matthias Clasen
399ab49fbb
HighContrast: Update scrolled window styling
...
Adapt to the changes in the previous commit.
2015-11-04 07:38:15 -05:00
Matthias Clasen
2ef86c94ed
Adwaita: Update scrolledwindow styling
...
Adapt to the changes in the previous commit.
2015-11-04 07:38:15 -05:00
Matthias Clasen
80af6ff130
scrolledwindow: Port to CSS nodes
...
Change GtkScrolledWindow to use transient named CSS nodes for
drawing the overshoot, undershoot and scrollbar junction.
2015-11-04 07:38:15 -05:00
Emmanuele Bassi
c1ecd1ef9d
docs: Point at for_scale() variants
...
Using lookup_icon() and lookup_by_gicon() with a size multiplied by a
scaling factor is almost certainly going to get worse results than using
their for_scale() variants.
2015-11-04 11:50:37 +00:00
Emmanuele Bassi
f959b35064
docs: Clarify gtk_render_icon()'s behaviour
...
A GdkPixbuf has no scaling factor, so drawing directly from it can only
using a scale of 1, to avoid blurry, fuzzy icons.
You should be using gtk_render_icon_surface() anyway.
2015-11-04 11:45:41 +00:00
Matthias Clasen
b9613cc416
inspector: Some improvements to the CSS node tree
...
Set a min-content-height for the property list, and
allow horizontal scrolling.
2015-11-04 00:00:56 -05:00
Matthias Clasen
d077f627ef
inspector: Really show the selected CSS node
...
Try harder to scroll the selected CSS node into view.
2015-11-03 23:55:50 -05:00
Matthias Clasen
0024358c91
scale: Fix a crash
...
We can only free the marks_node if there is one.
2015-11-03 23:35:32 -05:00
Matthias Clasen
099cde5f80
stack sidebar: Use an element name
2015-11-03 23:27:34 -05:00
Matthias Clasen
ead35ee12f
stack switcher: Use an element name
2015-11-03 23:24:49 -05:00
Matthias Clasen
910f4f72ba
stack: Set an element name
...
And it is...stack.
2015-11-03 23:20:24 -05:00
Matthias Clasen
8dfb0e728c
HighContrast: Update range styling
...
Adapt to changes in the previous commit.
2015-11-03 23:17:09 -05:00
Matthias Clasen
37ad3628a0
Adwaita: Update range styling
...
Adapt to the changes in the previous commit.
2015-11-03 23:17:09 -05:00
Matthias Clasen
8727c8fe24
range: Convert to CSS nodes
...
Use CSS nodes for GtkScale and GtkScrollbar. See their documentation
for details on what subnodes with what names exist.
2015-11-03 23:17:09 -05:00
Benjamin Otte
2a6e1498ba
testutils: Deprecate a bunch of ugly functions
...
We've by now disabled and then remved all of the tests that use these
functions because they never worked properly. So let's depecate these
functions before somebody starts using them.
2015-11-04 05:06:31 +01:00
Christian Hergert
24391634b5
stack: GtkStack:interpolate-size should be read/write
...
It looks like the param spec for interpolate-size was
copied from the line above it, which is a read only property.
There is a setter for interpolate-size, and it is implemented in
set_property().
2015-11-03 15:13:51 -08:00
Christian Hergert
5f0a8cf136
headerbar: remove G_PARAM_CONSTRUCT from custom-title
...
This fixes the ability to sublcass GtkHeaderBar from a UI template which
contains a custom <child type="title"> element.
https://bugzilla.gnome.org/show_bug.cgi?id=757544
2015-11-03 14:50:56 -08:00
Benjamin Otte
d65ba7cf97
widget: Queue resize on parent, not self
...
When setting the parent of a widget, queue_resize() on the widget will
be optimized away if the widget already had a resize queued.
Plus, we do not need to resize the widget as its size request is not
going to change.
2015-11-03 22:55:03 +01:00
Matthias Clasen
8e5c7ac028
menu: Add diagrams to CSS documentation
2015-11-03 14:27:35 -05:00
Matthias Clasen
c389511b86
paned: Add diagrams to CSS documentation
2015-11-03 14:27:35 -05:00
Matthias Clasen
92e3655ace
combo box: Add diagrams to CSS documentation
2015-11-03 14:27:35 -05:00
Matthias Clasen
a7076d1c4c
text view: Add diagram to CSS documentation
2015-11-03 14:27:35 -05:00
Matthias Clasen
fc0a222350
accel label: Add diagrams to CSS documentation
2015-11-03 14:27:35 -05:00