Commit Graph

21846 Commits

Author SHA1 Message Date
Matthias Clasen
ba63f95a4a Add GtkTextViewClass to the docs
So that the existing information about draw_layer actually
ends up in the docs. While we are at it, document the other
vfuncs.

https://bugzilla.gnome.org/show_bug.cgi?id=737952
2014-10-06 22:33:19 -04:00
Michael Catanzaro
62da080bd0 tooltip: fix line wrapping
We enable line wrap on the internal GtkLabel, but nowadays this does
nothing unless we also set a max number of characters.

https://bugzilla.gnome.org/show_bug.cgi?id=737929
2014-10-06 21:30:18 -04:00
Jasper St. Pierre
dadc37e64d cssshadowvalue: Add a cache for blurred Pango layouts
Drawing text with Pango is quite expensive, and drawing text and also
blurring it is *really* expensive. To prevent us from drawing a lot of
text and then blurring it a lot is *really* expensive.

We now cache the blurred pixels for the last layout and shadow we made,
which means we can repeatedly draw labels with a blurred text-shadow
extremely fast.

To detect whether the shadow is up-to-date, we track the serial of the
PangoLayout alongside the radius of the box shadow. We don't support
inset shadows nor spread on text-shadow, so we don't need to track
these.
2014-10-06 01:58:31 +02:00
Matthias Clasen
d1fd8267ef Cosmetic formatting fix 2014-10-05 13:39:37 -04:00
Matthias Clasen
b858d45e3c GtkPlacesSidebar: Don't pile up duplicate bookmarks
We get multiple notifications from the bookmark manager when
something changes. Every time, we reconstruct the sidebar contents
completely, by clearing the store. The bookmarks are added with
async calls though, and the code was forgetting to cancel outstanding
async requests, leading to multiple instances of the same bookmark
getting added. Use the cancellable we already have to prevent that.

This could be made much more efficient by not recreating the entire
sidebar quite so often (3-5 times for a single bookmark rename).

https://bugzilla.gnome.org/show_bug.cgi?id=737679
2014-10-05 13:39:37 -04:00
Lapo Calamandrei
e3fa5592be Adwaita: fix last vertically linked focused entry 2014-10-05 12:29:04 +02:00
Matthias Clasen
dd8db0f5cb GtkScrolledWindow: code cleanup
Remove return-if-fail parameter checks from static functions,
where we don't normally do these.
2014-10-05 00:19:51 -04:00
Matthias Clasen
bcfa41cec6 Cosmetic documentation improvements 2014-10-05 00:13:09 -04:00
Matthias Clasen
9a2327a35e Use .label in the theme css 2014-10-04 21:53:29 -04:00
Matthias Clasen
75bcecb363 Add a label style class 2014-10-04 21:53:29 -04:00
Lapo Calamandrei
f2cd7f151e Adwaita: add vertically linked combos 2014-10-05 00:56:48 +02:00
Matthias Clasen
978afce04a Fix a thinko in the previous commit
GTK+ relies on this function silently failing for invalid data.
2014-10-04 16:06:30 -04:00
Matthias Clasen
a00842fa99 Add a function to load css from a resource
This is common enough that we should just provide an API for it
- we already had a function for this purpose anyway.

https://bugzilla.gnome.org/show_bug.cgi?id=672946
2014-10-04 15:52:02 -04:00
Matthias Clasen
40049581bc Trivial documentation tweaks 2014-10-04 15:48:07 -04:00
Lapo Calamandrei
1f8b0852a4 Adwaita: added style for vertically linked entries 2014-10-04 20:24:24 +02:00
Matthias Clasen
a03583d14f printing: Avoid missing icons
I've noticed a missing image show up in my print dialog, where
the printer reported "printer-paused" as icon. Rearrange things
so we always fall back to "printer" for printer icons.
2014-10-04 12:20:23 -04:00
Matthias Clasen
c0573272f3 printing: Make GtkPrinter have a useful icon by default
It causes complication elsewhere if gtk_printer_get_icon_name()
returns NULL initially. So make the icon name default to
"printer".
2014-10-04 12:20:17 -04:00
Matthias Clasen
f634684eeb printing: Another tweak to sheet drawing
After consultation, revisit the vertical centering to center
the first 'stack', and put the second one behind it.
2014-10-04 11:56:44 -04:00
Matthias Clasen
72a809be0a inspector: Down the model tree
Show nested tree models, inside filter or sort models. Without
this, you can't get at the data.
2014-10-04 11:53:14 -04:00
Matthias Clasen
051eedcea1 Small code rearrangement 2014-10-04 11:43:50 -04:00
Benjamin Otte
82b7d21f6e print: Add a .paper style class
... and use it in the print preview.
2014-10-04 17:18:50 +02:00
Matthias Clasen
4bc09a6a17 printing: Simplify sheet drawing
We don't need the scaling support anymore - icon sizes are
no longer settable.
2014-10-04 11:00:10 -04:00
Matthias Clasen
10d0dad2cf print: Center sheet drawing horizontally
Center the page ordering indicator horizontally, relative to the
spinbutton above it.
2014-10-04 10:55:13 -04:00
Matthias Clasen
99c65b1587 print: Center sheet drawing vertically
Center the page ordering indicator vertically, relative to the
checkboxes next to it.
2014-10-04 10:55:06 -04:00
Matthias Clasen
7866d4ba21 Remove an unused variable 2014-10-03 23:20:18 -04:00
Matthias Clasen
fee46bda00 inspector: Fix a thinko
We still need to possibly scan the toplevel after selecting
a widget, since we don't monitor the list of toplevels, so
the window may not be in our tree yet. This was broken in
commit e7bd73f2b0.
2014-10-03 22:12:54 -04:00
Matthias Clasen
2e83e7d335 GtkBuilder: Don't use deprecated types in examples 2014-10-03 09:33:35 -04:00
Matthias Clasen
80226ca926 GtkBuilder: Undo the type name heuristic changes
These turned out to break existing ui files, concretely
GWeatherLocationEntry was no longer guessed correctly.

Update the testcases to reflect this, and add a testcase
for GWeather.
2014-10-03 09:29:45 -04:00
Benjamin Otte
a2f550d91b stylecontext: Add missing docs for deprecations 2014-10-03 06:27:49 +02:00
Benjamin Otte
0e34c87211 fontchooserwidget: Use text attributes for the preview
... instead of adding a custom CSS provider.
2014-10-03 06:18:07 +02:00
Benjamin Otte
54c6c7ae87 cellrendereraccel: Remove unused variables 2014-10-03 06:18:07 +02:00
Benjamin Otte
91467a45fc stylecontext: Deprecate functions
- gtk_style_context_get_background_color()
- gtk_style_context_get_border_color()

Those functions shouldn't be used anymore, because they don't represent
anything from the CSS styling we support. The background color often
isn't used due to background images and there are actually 4 different
border colors (1 for each side) - if there isn't also a border image in
use.
2014-10-03 06:18:06 +02:00
Benjamin Otte
39453478ab print: Improve sheet drawing a bit
This is only one step in the right direction. Long term this code should
probably be replaced by real widgets.
2014-10-03 06:18:06 +02:00
Benjamin Otte
c543ddab3a theming: Use gtk_style_context_peek_property()
instead of outdated accessors.
2014-10-03 06:18:06 +02:00
Benjamin Otte
dd7c65a95a scrolledwindow: Rewrite overshoot code with regular styling
Instead of drawing a gradient in the background color, draw a CSS box.

And change the theme so instead of setting just a background color it
draws a gradient.

The resulting visuals are the same.
2014-10-03 06:18:06 +02:00
Benjamin Otte
a6f935bb77 scrolledwindow: Don't use LIGHTEN operator
For the overshoot gradient, using OVER is fine. Simplifies the code and
increases performance.
2014-10-03 06:18:06 +02:00
Benjamin Otte
d941e5f0c0 scrolledwindow: Remove unused variable 2014-10-03 06:18:06 +02:00
Benjamin Otte
8d1227a97c label: Simplify rendering code
Instead of drawing text for selections and links manually, use the
gtk_render_background() and gtk_render_layout() functions.

As a side effect, this allows shadows on selected text and links
and real backgrounds (like gradients or images), too.
2014-10-03 06:18:06 +02:00
Benjamin Otte
9744e86e04 combobox: Don't set cell view background
This can be done with CSS these days. Also, these days the background of
cell views is transparent, so it doesn't even have to be done.
2014-10-03 06:18:05 +02:00
Benjamin Otte
b547c0319a entrycompletion: Remove outdated code
I tried asking but nobody knew why it is necessary to set the background
color of the first cell. It seems with CSS styling this is completely
unnecessary.
2014-10-03 06:18:05 +02:00
Benjamin Otte
93aeb63f0c sidebar: Fix gcc warning 2014-10-03 06:18:05 +02:00
Benjamin Otte
a0bf0a0f70 themingengine: Call real API render functions
No need to call the private versions anymore now that the real ones
don't call into the theming engine.
2014-10-03 06:18:05 +02:00
Benjamin Otte
4d9d655b4e themingengine: Stop using it
Instead, call the default theme engine's code directly.
2014-10-03 06:18:05 +02:00
Benjamin Otte
23948d6a3a themingengine: Move actual render functions to gtkrender.c
GtkThemingEngine just always calls
  gtk_do_render_foo(engine->priv->context, ...)
now. Other than that, the code is unchanged.
2014-10-03 06:18:05 +02:00
Benjamin Otte
d3c147a62d stylecontext: Split render functions out into gtkrender.[ch] 2014-10-03 06:18:05 +02:00
Jasper St. Pierre
763aa4db94 cssshadowvalue: Move the check for blurring into its own function
This makes it easier to update the check later.
2014-10-03 06:18:04 +02:00
Jasper St. Pierre
6556e7e08d cssshadowvalue: Rename shadow_key to original_cr_key
shadow_key is a poor name for this, and we're going to add more user
data keys, so rename it to something more indicative of what it's used
for.
2014-10-03 06:18:04 +02:00
Benjamin Otte
e683e915b8 css: Queue resize for properties that affect clip
This fixes shadows that are animated not updating the clip of the widget
they are drawn on. An example of this are the buttons in the CSS shadows
example in gtk-demo.

Reftest included
2014-10-03 06:18:04 +02:00
Benjamin Otte
f7ee61c833 css: Have finer-grained definitions for effects of CSS props
This adds the GtkCssAffects enum and implements it for all style
properties.
So far, this is not exposed outside of the implementation file.
2014-10-03 06:18:04 +02:00
Benjamin Otte
7afac9670b image: Implement clipping support for icon-shadow
Testcase is attached.
2014-10-03 06:18:04 +02:00