Commit Graph

20265 Commits

Author SHA1 Message Date
Matthias Clasen
906e4adb5a inspector: ellipsize long paths 2014-05-15 22:37:30 -04:00
Benjamin Otte
271ef198bf cssimage: Implement symbolic coloring for -gtk-icontheme() 2014-05-16 04:13:39 +02:00
Matthias Clasen
e84a523750 inspector: Show resources
Show a list of all registered resources. If a resource looks
like text or an image, we show its content.
2014-05-15 19:36:12 -04:00
Matthias Clasen
d52a01631e inspector: Redraw when visual debugging tools are toggled
This doesn't address the pixel cache yet.
2014-05-15 19:36:12 -04:00
Matthias Clasen
e170f31e2a inspector: Don't show internal build ids
These ___object_x___ ids just clutter up the tree.
2014-05-15 19:36:12 -04:00
Jasper St. Pierre
75ecdf50a3 wayland: Fix GtkMenuButton popups in a terrible, hacky way
Since you can't take grabs on unmapped windows, GtkMenu takes a grab on
the menu in a convoluted way: it first grabs another window, shows the
menu window, and then transfers the grab over to the GtkMenu widget.

For normal menubars, this is perfectly fine, as the first window it grabs
is our toplevel, and that gets picked up in our transient path.  For
GtkMenuButton or other spurious uses of gtk_menu_popup, it creates a new
temporary input-only window which it takes the grab on, known as the "grab
transfer window". Since this window isn't a transient-for of our new menu
widget window, the grab isn't noticed when we go to show it, and thus the
menu ends up as a new toplevel.

Add a special hack to GtkMenu and the Wayland backend which lets us notice
this "grab transfer window", and include it in our grab finding path.

It's sort of terrible to have to hack up the widgets instead of just the
backend, but the alternative would be an entirely new window type which is
managed correctly by GDK. I don't want to write that.
2014-05-15 18:02:45 -04:00
Stefano Facchini
ac68d1f0a1 inspector: make the classes-list toolbar sensitive 2014-05-15 18:23:48 +02:00
Stefano Facchini
78a6906d4a inspector: Fix a typo 2014-05-15 18:15:31 +02:00
Jasper St. Pierre
d252282e75 inspector: git ignore template headers 2014-05-15 11:06:08 -04:00
Matthias Clasen
2e07865f67 Drop debug spew 2014-05-15 08:47:44 -04:00
Matthias Clasen
93204d3ba8 Don't lie about baselines so much
Let g_object_get (w, "valign",...) report the truth, so that the
inspector can show it without special cases.
2014-05-15 08:43:43 -04:00
Yosef Or Boczko
e24e621fff inspector: Added general.ui to Makefile 2014-05-15 12:52:47 +03:00
Matthias Clasen
42dc501133 inspector: Drop unused functions
The entire UI is constructed with templates, so the wrapper
constructors are never called, except for gtk_inspector_window_new,
which gets called from the GTK+ code.
2014-05-15 00:14:37 -04:00
Matthias Clasen
75d49675f3 inspector: Add a general information tab
It is useful to see the GTK+ version, and the various paths
that affect GTK+ operation at runtime.
2014-05-15 00:06:43 -04:00
Matthias Clasen
b36c8250a9 inspector: Merge Visual and Themes tabs 2014-05-14 22:53:32 -04:00
Matthias Clasen
2d2f9861a6 inspector: Show GAction information
Show the actions that are added to GtkApplication and
GtkApplicationWindows, as well as action groups that are
inserted elsewhere with gtk_widget_insert_action_group.

https://bugzilla.gnome.org/show_bug.cgi?id=730095
2014-05-14 21:40:01 -04:00
Matthias Clasen
3f224a7165 Add private GtkWidget api for action groups
Similar to the just-added action muxer api for enumerating
action prefixes and for getting the action group for a
prefix.

https://bugzilla.gnome.org/show_bug.cgi?id=730095
2014-05-14 21:28:53 -04:00
Matthias Clasen
4396bbdb3c GtkActionMuxer: Add getters
Add a way to enumerate all prefixes, and to get the
action group for a prefix.

https://bugzilla.gnome.org/show_bug.cgi?id=730095
2014-05-14 21:27:56 -04:00
Matthias Clasen
384393e9de Revert "Add private api to load a single module"
This reverts commit 7f9a0dbe16.
2014-05-14 21:25:28 -04:00
Matthias Clasen
59c9d24bbf inspector: stop being a module
Moving the inspector into libgtk lets use reuse internals without
having to add public API for everything or inventing awkward private
call conventions.

https://bugzilla.gnome.org/show_bug.cgi?id=730095
2014-05-14 21:23:44 -04:00
Matthias Clasen
53b37b8f71 Fix GtkCalendar drawing
A gtk_widget_get_allocation call was unintentionally
dropped in 5cb43c70f7.
2014-05-14 20:38:55 -04:00
Cosimo Cecchi
6ecc431c23 placessidebar: use proper canonicalization when checking if home
Instead of just checking the string. This catches things like double
slashes, relative paths and so on.

https://bugzilla.gnome.org/show_bug.cgi?id=730142
2014-05-14 16:05:44 -07:00
Ryan Lortie
6525130740 GtkMenuShell: (model binding) show() new items
We weren't calling show() on newly-added items -- make sure we do that.

This makes the Time menu in bloatpad work properly again.
2014-05-14 15:49:30 -04:00
Matthias Clasen
8b0b024385 More deprecation docs for GtkArrow 2014-05-13 23:52:47 -04:00
Matthias Clasen
a600718846 Deprecate GtkArrow
https://bugzilla.gnome.org/show_bug.cgi?id=729564
2014-05-13 23:50:13 -04:00
Matthias Clasen
219f96b8a3 Drop GtkArrow use in GtkTreeView
This was just an unneeded include anyway.
2014-05-13 23:50:13 -04:00
Matthias Clasen
c242437535 Drop GtkArrow use in GtkPathBar
This was just an unneeded include anyway.
2014-05-13 23:50:13 -04:00
Matthias Clasen
7269168e89 Drop GtkArrow use in GtkMenuToolButton
This was just an unneeded include anyway.
2014-05-13 23:50:13 -04:00
Matthias Clasen
57feff4e14 Drop GtkArrow use in GtkTreeViewColumn
This is in preparation for GtkArrow getting deprecated.
https://bugzilla.gnome.org/show_bug.cgi?id=729564
2014-05-13 23:50:12 -04:00
Matthias Clasen
26e1b7c7d7 Drop GtkArrow use in GtkToolbar
This is in preparation for GtkArrow getting deprecated.
https://bugzilla.gnome.org/show_bug.cgi?id=729564
2014-05-13 23:50:12 -04:00
Matthias Clasen
69314ce9e5 Drop GtkArrow use in GtkMenuButton
This is in preparation for GtkArrow getting deprecated.
https://bugzilla.gnome.org/show_bug.cgi?id=729564
2014-05-13 23:50:12 -04:00
Matthias Clasen
9a127d364f Drop GtkArrow use in GtkComboBox
This is in preparation for GtkArrow getting deprecated.
https://bugzilla.gnome.org/show_bug.cgi?id=729564
2014-05-13 23:50:12 -04:00
Matthias Clasen
0f5814aa33 icontheme: Add a test for lookup order
Add tests that verify the expected lookup order between -symbolic,
-rtl/-ltr and generic fallback.
2014-05-14 04:28:36 +02:00
Matthias Clasen
b0b205040c GtkIconTheme: Support looking up directional variants
Add two new icon lookup flags, GTK_ICON_LOOKUP_DIR_LTR and _RTL,
which tell GtkIconTheme to look for icon variants which have a
-ltr or -rtl suffix. GtkIconHelper adds these lookup flags when
looking up icons.

Note that due to the way this overlaps with symbolic icon lookup,
directional variants of symbolic icons must be called -symbolic-rtl, not
-rtl-symbolic.

https://bugzilla.gnome.org/show_bug.cgi?id=729980
2014-05-14 04:28:36 +02:00
Benjamin Otte
89d6598d5b icontheme: Split out symbolicness tests into own function 2014-05-14 04:28:36 +02:00
Benjamin Otte
783e5f7b3e themingengine: Don't transform icon shadows
.. by -gtk-icon-transform. We want a rotating spinner's shadow to still
be directed towards bottom right.
2014-05-14 04:28:35 +02:00
Benjamin Otte
cb0b4b5410 css: Change CssTransformValue API
Provide API to query the matrix instead of API that applies the matrix
directly. This makes the API more flexible.

See the commits implementing shadows.
2014-05-14 04:28:35 +02:00
Benjamin Otte
ce0835e539 themingengine: Draw "icon-shadow" on icons 2014-05-14 04:28:35 +02:00
Benjamin Otte
b9f11cb636 themingengine: Draw icons for arrows 2014-05-14 04:28:35 +02:00
Benjamin Otte
b0ea9e4dea themingengine: Use icons for expanders 2014-05-14 04:28:35 +02:00
Benjamin Otte
bb7a5691a9 themingengine: Implement icon drawing for checks and options 2014-05-14 04:28:34 +02:00
Benjamin Otte
5d1b5c13fb icontheme: Don't force missing icon
When forcing regular or symbolic icons, fall back to the default
specified icons. This ensures that when no symbolic icon is present, an
icon will still appear - the regular one.
2014-05-14 04:28:34 +02:00
Benjamin Otte
f8cccbad0e iconhelper: Respect -gtk-icon-style
This allows styling of entry icons, treeview pixbufs and images. They
can now be forced to be symbolic or regular.
2014-05-14 04:28:34 +02:00
Benjamin Otte
9619b8cff4 API: icontheme: Add 2 new GtkIconLookupFlags
GTK_ICON_LOOKUP_FORCE_REGULAR and GTK_ICON_LOOKUP_FORCE_SYMBOLIC can be
used to force a regular or symbolic icon to be loaded, even if the icon
names specify a different version.

This is intended to support the CSS property -gtk-icon-style.
2014-05-14 04:28:34 +02:00
Benjamin Otte
109fcb987b css: Add a -gtk-icon-style property
The values can be:
  "requested" - the style as requested
  "regular"   - use a regular full-color icon
  "symbolic"  - use a symbolic icon

The property defaults to "requested", so no changes should be seen
unless CSS overrides it.
It is also inherited, so that using this CSS
  .toolbar { -gtk-icon-style: symbolic; }
is enough to force the whole toolbar to use symbolic icons.
2014-05-14 04:28:34 +02:00
Benjamin Otte
55f473f4e6 spinner: Don't arbitrarily limit sizes anymore
This essentially reverts b33877e173

Now that we can theme the spinner as a real icon using -gtk-icontheme()
this limit is no longer necessary.
2014-05-14 04:28:34 +02:00
Benjamin Otte
f56ba8378b css: Add -gtk-icon-transform property
This property allows transforming icons and is mainly intended to be
used for spinner animations.
2014-05-14 04:28:33 +02:00
Benjamin Otte
965cd4a9c0 css: Add GtkCssTransformValue
The value implements the 2D parts of CSS transforms. See
  http://www.w3.org/TR/css3-transforms/
For the specification.

All it does is give us an expressive way to define Cairo matrices (and
their transforms)
2014-05-14 04:28:33 +02:00
Benjamin Otte
a56637b330 themingengine: Draw icons for spinners
If the -gtk-icon-source property is not set to "none" (the default),
draw it as the spinner icon. Otherwise fall back to previous methods.
2014-05-14 04:28:33 +02:00
Benjamin Otte
226e1cd2b2 css: Add -gtk-icon-source property
This is to be used for rendering icon content via CSS, such as spinners
or checkboxes.
2014-05-14 04:28:33 +02:00