Commit Graph

22080 Commits

Author SHA1 Message Date
Benjamin Otte
db8cdd6392 inspector: Split out a function 2014-10-14 14:03:05 +02:00
Matthias Clasen
b4a288a592 GtkBox: Ensure we only allow one center child
Glade was happily adding multiple center widgets. Oops.
2014-10-13 12:45:05 -04:00
Matthias Clasen
e7c16a5e82 Drop a reference to GtkGLArea::create-context
The signal no longer exists.
2014-10-13 10:43:32 -04:00
Matthias Clasen
e5e9d87171 Nitpicky documentation fixes 2014-10-13 10:43:32 -04:00
Alexander Larsson
fdeb4f8c16 gl: Make gdk_gl_context_make_current() return void
Its not really reasonable to handle failures to make_current, it
basically only happens if you pass invalid arguments to it, and
thats not something we trap on similar things on the X drawing side.

If GL is not supported that should be handled by the context creation
failing, and anything going wrong after that is essentially a critical
(or an async X error).
2014-10-13 10:43:32 -04:00
Alexander Larsson
535723ce86 Add GtkGLArea widget 2014-10-13 10:43:31 -04:00
Alexander Larsson
d0147a6f2c Add gdk_window_mark_paint_from_clip and call from widget drawing
This is a new function that gets called every time we're drawing
some area in the Gtk paint machinery. It is a no-op right now, but
it will be required later to keep track of what areas which
we previously rendered with GL was overwritten with cairo contents.
2014-10-13 10:43:31 -04:00
Benjamin Otte
abfc9cd4eb switch: Use trough style class by default
This allows animating the trough, and saves a save/restore pair.
2014-10-13 04:39:58 +02:00
Benjamin Otte
d1118071dd switch: Set PRELIGHT state on widget 2014-10-13 04:39:58 +02:00
Benjamin Otte
3534225c76 progressbar: Make the trough the default element
Gets rid of a bunch of save/restore calls and allows animating the
background (but not the slider, booo!)
2014-10-13 04:39:58 +02:00
Benjamin Otte
b09fbadddf viewport: Remove wrong save/restore 2014-10-13 04:39:57 +02:00
Matthias Clasen
291e4e107d GtkListBox: Support placeholders in ui files
This makes the gtk_list_box_set_placeholder functionality
available from GtkBuilder

https://bugzilla.gnome.org/show_bug.cgi?id=738111
2014-10-12 18:54:44 -04:00
Matthias Clasen
8fcf3a8e88 GtkSearchBar: don't peek out
When the searchbar is hidden, a 1-pixel-high piece of it is
still peeking out, because visible widgets are always allocated
at least 1x1. Work around this by setting child-visible to FALSE
in this situation.

https://bugzilla.gnome.org/show_bug.cgi?id=724096
2014-10-12 18:18:04 -04:00
Matthias Clasen
e1ff15549b GtkColorSwatch: Avoid style context underflow
The last change accidentally removed the later restore, and
left the earlier, so we ended up with a restore-save sequence.
Thankfully, GtkStyleContext warns about this.
2014-10-12 18:15:23 -04:00
Matthias Clasen
3a19c76017 inspector: Bring the selector back
Make it a separate page instead of the old button path.
2014-10-12 07:57:29 -04:00
Carlos Soriano
975d9d4314 gtkplacessidebar: Fix commit f6870e5b79
Commit f6870e5b79 introduced a some memory leaks and could be
improved in some areas.

Fix the memory leaks and apply the improvements.

https://bugzilla.gnome.org/show_bug.cgi?id=737983
2014-10-12 04:16:44 +02:00
Benjamin Otte
0a31609201 colorswatch: Remove unneeded save/restore
for both style context and cairo context.
2014-10-12 04:16:44 +02:00
Benjamin Otte
f4e44e9e6e menu: Respect borders properly for scroll arrows 2014-10-12 00:25:23 +02:00
Matthias Clasen
5624da20e3 inspector: Some improvements for statistics
Show the last two snapshots, plus a delta.
2014-10-11 17:58:31 -04:00
Matthias Clasen
9f1d651e0b inspector: Add a tab for object counts
This can be useful in finding leaks.

https://bugzilla.gnome.org/show_bug.cgi?id=738272
2014-10-11 16:54:24 -04:00
Lapo Calamandrei
74531123ae Adwaita: fix the special cased sidebar scrollbar...
...which I broke with the latest commit.
2014-10-11 16:25:57 +02:00
Lapo Calamandrei
5f11eaa168 Adwaita: finally kill the scrollbar junction frame...
See https://bugzilla.gnome.org/show_bug.cgi?id=737981
2014-10-11 14:32:19 +02:00
Matthias Clasen
30738fbfdd GtkToolButton: Apply expected button style classes
Add .image-button or .text-button to the button within,
so our css works as expected for toolbar buttons too.
2014-10-11 08:28:55 -04:00
Matthias Clasen
9a6aa8db68 inspector: Cosmetics
Add .image-button to the tool buttons in the CSS editor - still
not square.
2014-10-11 08:15:07 -04:00
Matthias Clasen
735cf98af1 inspector: Remove a stray separator 2014-10-11 08:07:04 -04:00
Matthias Clasen
3715fec02d inspector: Make the window smaller
No need for 1000 pixels of with anymore, after the reorg.
2014-10-11 08:01:57 -04:00
Matthias Clasen
615e4332ef inspector: Make resource list columns resizable
This tree has the potential to be deep, and contain long
names, so it forces the window to be wide, unless we
allow the columns to shrink.
2014-10-11 08:01:50 -04:00
Matthias Clasen
7b20bb917f inspector: Small improvements to the resource tab
Move the close button to the header bar and center the info grid.
2014-10-11 00:59:36 -04:00
Matthias Clasen
a5846645d1 inspector: Cosmetic fixes
Set scrollbars and shadows consistently.
2014-10-11 00:59:36 -04:00
Matthias Clasen
d2c0f37a69 inspector: Cosmetic fixes
Add a missing shadow in the css editor.
2014-10-11 00:59:36 -04:00
Matthias Clasen
326f0aad5d inspector: Cosmetic fixes
Expand the resource list initially.
2014-10-11 00:59:36 -04:00
Matthias Clasen
dffceb1a17 inspector: Avoid a split pane for objects
Like for the resources page, use a separate page for details
to gain more room for both the tree and the details.
2014-10-11 00:59:36 -04:00
Matthias Clasen
a8dc098699 inspector: More refactoring
Rename widget tree to object tree. It contains plenty of
non-widgets nowadays, after all.
2014-10-11 00:59:36 -04:00
Matthias Clasen
6194c90f74 inspector: More refactoring
Get rid of gtk_inspector_widget_tree_get_selected_object,
we can just pass the selected object along with the changed
signal.
2014-10-11 00:59:36 -04:00
Matthias Clasen
e8f9e7d472 inspector: Small reshuffling
Move the scrolled window into GtkInspectorWidgetTree.
2014-10-11 00:59:36 -04:00
Matthias Clasen
bee90aa8c8 inspector: Drop unused python shell code
This is getting in the way; if somebody comes by who wants
to add scripting support back, we can resurrect this.
2014-10-11 00:59:36 -04:00
Matthias Clasen
ee99ca6610 inspector: Avoid a split pane for resources
There is not much room in the inspector window; squeezing a
tree and a detailed view in the same page is not great. Instead,
make the details a separate page.
2014-10-11 00:59:36 -04:00
Matthias Clasen
0c77879bd0 inspector: Add more data to resource list 2014-10-11 00:59:36 -04:00
Matthias Clasen
6bbedfe5f3 inspector: Fix up resource tab appearance
Now that it is not in a notebook anymore, we lost the view
class in the background. Add it back.
2014-10-11 00:59:36 -04:00
Matthias Clasen
6128082f20 inspector: Save some more space
Instead of nesting two notebooks, use a stack switcher in
the headerbar for the outer notebook. This saves valuable
vertical space.
2014-10-11 00:59:36 -04:00
Matthias Clasen
4222e8d713 inspector: Drop the button path
The button path takes up quite a bit of room, and is not _that_
useful. If this information is useful, it can find a new home
on the misc tab.
2014-10-11 00:59:36 -04:00
Carlos Soriano
f6870e5b79 gtkplacessidebar: Open $HOME after unmounting or ejecting
When a drive is ejected or a volume unmounted the current directory
doesn't change most of the times being empty or being a directory that
user shouldn't take care about, like /run/media

Seems more useful to change to $HOME directory in that case so the user
can see something useful and familiar just after unmounting.

https://bugzilla.gnome.org/show_bug.cgi?id=737983
2014-10-10 18:17:41 +02:00
Carlos Soriano
3c29212ce3 gtkplacessidebar: Don't change location if clicked on eject button
Currently we change the current location if we click the eject button of
a mount.

Check whether the user actually clicked the eject button and don't
change location in that case.

https://bugzilla.gnome.org/show_bug.cgi?id=737983
2014-10-10 18:17:41 +02:00
Lapo Calamandrei
025b801663 Adwaita: dim menu overflow button border color 2014-10-10 14:01:38 +02:00
Lapo Calamandrei
940415b2eb Adwaita: style menu overflow button
See bug https://bugzilla.gnome.org/show_bug.cgi?id=738158
2014-10-10 13:54:36 +02:00
Matthias Clasen
dcf80f3df5 Add top/bottom style classes to scroll arrows 2014-10-10 07:44:03 -04:00
Marek Kasik
6bdaa95164 Create paper size from IPP media name
Add function gtk_paper_size_new_from_ipp() which looks for
given name in standard paper size names list and create appropriate
GtkPaperSize.

https://bugzilla.gnome.org/show_bug.cgi?id=725441
2014-10-10 13:40:21 +02:00
Marek Kasik
ccbb51dff1 Update paper size names
Update list of standardized paper size names from
PWG Media Standardized Names 2.0 (MSN2) and from
CUPS' cups/pwg-media.c.

https://bugzilla.gnome.org/show_bug.cgi?id=725441
2014-10-10 13:40:17 +02:00
Matthias Clasen
42280f6c4e inspector: Add a way to disable the warning dialog 2014-10-09 23:38:44 -04:00
Matthias Clasen
4e974edde8 GtkScrolledWindow: Introduce a helper function
Instead of making assumptions about enum value ordering,
introduce a helper function to determine policy values
for which the scrollbar may be visible.
2014-10-09 21:03:40 -04:00
Matthias Clasen
94b680c2cd GtkScrolledWindow: Allow scrolling without bars
Add a new policy, GTK_POLICY_EXTERNAL, which hides the scrollbar,
but does not force the scrolled windows size to be determined by
its child. This can be used to keep two scrolled windows in sync,
while sharing a single scrollbar.

https://bugzilla.gnome.org/show_bug.cgi?id=730730
2014-10-09 20:18:51 -04:00
Benjamin Otte
3f4bd447f8 shadows: Respect scaled factors for cached surface 2014-10-10 01:02:34 +02:00
Benjamin Otte
39097ea2da render: Optimize the no-borders case to exit early 2014-10-10 00:27:46 +02:00
Matthias Clasen
41b53ca603 GtkMenuButton: Submit to action
As an actionable (inherited from GtkButton), a GtkMenuButton
should not set its own sensitivity when it has an action-name
set, but just follow the enabled state of the associated
action.

https://bugzilla.gnome.org/show_bug.cgi?id=738083
2014-10-09 18:12:25 -04:00
Matthias Clasen
1331740dd6 Remove an unused internal export
_gtk_scrolled_window_get_scrollbar_spacing is only used in
gtkscrolledwindow.c, so keep it there.
2014-10-09 00:22:13 -04:00
Matthias Clasen
c9420aa1a3 ColorChooser: Fix an off-by-one error
We were not filling the last free space in the custom color
row.
2014-10-09 00:12:46 -04:00
Lapo Calamandrei
cc16a6ca6c Adwaita: color button changes
Dimmed inner colorswatch shadow to make brighter colors looks nice,
increased the padding to make button states more evident, 0 border
radius to match the padding change and no colorswatch shadows when
the button is insensitive.
2014-10-08 17:52:43 +02:00
Lars Uebernickel
0a200e29ca Distribute gtk/resources/ui/*.ui.h
POTFILES references them.
2014-10-08 17:27:23 +02:00
Lapo Calamandrei
e34bb3d483 Adwaita: colorchooser style rewrite
To reflect latest Benjamin changes. As a bonus the colorchooser
looks better to me, same for the scss code.
2014-10-08 17:23:45 +02:00
Lapo Calamandrei
140a64eea4 Adwaita: don't round scrolled window frame corners
See https://bugzilla.gnome.org/show_bug.cgi?id=737985
2014-10-08 14:08:04 +02:00
Benjamin Otte
e82093fc14 colorswatch: Use a better name for the overlay
Name it .overlay and not .image
2014-10-08 13:20:03 +02:00
Benjamin Otte
6b0d389bfd colorswatch: Draw the image overlay over the whole widget 2014-10-08 13:17:55 +02:00
Benjamin Otte
395db3afb6 themingbackground: Use fill() instead of clip() + paint()
It's simpler code and I believe it's faster, too.
2014-10-08 05:23:11 +02:00
Benjamin Otte
a3d68af950 themingbackground: Add a quick exit for default case
In the case where the background is completely transparent, exit the
rendering functions before doing any expensive calculations.
2014-10-08 05:20:31 +02:00
Benjamin Otte
14d166145a themingbackground: Call shadow function directly
... instead of having a custom function for it.
2014-10-08 05:20:31 +02:00
Benjamin Otte
5cdb9752a7 themingbackground: Don't store (almost) unused variables
Instead, parse them directly to the one function that uses them.
2014-10-08 05:20:31 +02:00
Benjamin Otte
6e68237191 themingbackground: Don't store bg_color in struct
Instead, keep it as a separate variable.
2014-10-08 05:20:31 +02:00
Benjamin Otte
8abf82fcf4 themingbackground: Use an array instead of 3 separate members
Simplifies code
2014-10-08 05:20:31 +02:00
Benjamin Otte
05460f4982 render: Make rendering the background a single function 2014-10-08 05:20:30 +02:00
Benjamin Otte
3c50c0988a render: Overhaul gtk_render_handle()
The code did weird things with drawing backgrounds sometimes but not
really. Now it does this:

(1) render a background
(2) render a frame
(3) render an icon
    - if no icon exists, draw the generic handle icon
2014-10-08 05:20:30 +02:00
Benjamin Otte
c39bd623f6 colorswatch: Render background properly
We want to render a background *and* the current color (if there is
one).

This also adds a custom function gtk_render_add_content_path() which
adds the path of the current content area to a cairo_t.
2014-10-08 05:20:30 +02:00
Benjamin Otte
7295c8f12b colorswatch: Remove an unused variable 2014-10-08 05:20:30 +02:00
Benjamin Otte
100623e455 colorswatch: Render focus with gtk_render_focus() 2014-10-08 05:20:30 +02:00
Benjamin Otte
be19ee29c2 colorswatch: Simplify drawing code
This adds a CSS box (complete with padding and border) for the icon. The
box is even drawn when no icon is present. Use the ".image" as the style
class here instead of -active-color-badge.

Use this box to draw the circle around the selection icon in Adwaita.
2014-10-08 05:20:30 +02:00
Dariusz Gadomski
15dbadf389 printing: Properly initialize auth_info in gtkprintbackend.c
auth_info should be a NULL-terminated array as it is used in
e.g. g_strdupv invocations iterating over its elements until
a NULL element is encountered.

https://bugzilla.gnome.org/show_bug.cgi?id=737777
2014-10-07 18:53:57 -04:00
Matthias Clasen
0bf474e324 Make touch-selection popovers font-inert
Just like context menus, these should not inherit font
settings from the text view they are attached to.
2014-10-07 13:28:54 -04:00
Matthias Clasen
f93795d272 Add a style class for touch selection popovers 2014-10-07 13:27:52 -04:00
Lapo Calamandrei
93e61c1f24 Adwaita: change spinbutton button color on backdrop
Contextually dim the spinbutton button color a little bit.
2014-10-07 12:23:50 +02:00
Matthias Clasen
5a0dc74ded Inspector: Use text attributes for monospace labels 2014-10-07 00:42:46 -04:00
Matthias Clasen
0c02bc4239 Inspector: Use the new monospace support 2014-10-07 00:42:21 -04:00
Matthias Clasen
a3dfffa8b8 Adwaita: Add .monospace style 2014-10-07 00:40:55 -04:00
Matthias Clasen
0004e667ab GtkTextView: Add a monospace property
This is a convenient shortcut for a common case. It is implemented
by adding a .monospace style class to the text view, and letting
the theme decide about the monospace font to use.
2014-10-07 00:39:42 -04:00
Matthias Clasen
2dfc03bdb5 GtkSidebar: Pick up the visible child from the stack
Same here: We need to synchronize the visible child with the
selected row when setting a stack on the sidebar. I've noticed
this problem in the sidebar example in gtk3-widget-factory.
2014-10-06 23:07:35 -04:00
Matthias Clasen
c53f4bb342 GtkStackSwitcher: Pick up the visible child from the stack
We forgot to synchronize the visible child when setting a
stack on the switcher. Oops.
2014-10-06 23:06:09 -04:00
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
Matthias Clasen
202116c60c Printing: Make the print dialog look better with bottom buttons
With buttons at the bottom, things were not looking good here:
no spacing, and a gray background. Add spacing, and put the buttons
on the white background.
2014-10-03 00:07:28 -04:00
Matthias Clasen
cc529c2423 GtkRadioButton: Allow setting group more than once
It turns out that GtkBuilder will sometimes set a property
twice. Normally, this is harmless, but for GtkRadioButton:group,
it triggered a critical. Remove that.
2014-10-02 23:37:38 -04:00
Matthias Clasen
d5531da7f8 Trivial typography improvement
Use an em dash instead of -- in documentation.
2014-10-02 22:37:37 -04:00
Matthias Clasen
8495c0c7ad GtkSidebar: Don't use internal API
This makes it possible to copy the gtksidebar.c source into
other projects, for early adopters.
2014-10-02 22:01:14 -04:00
Matthias Clasen
db5cbce4d5 GtkSidebar: Fix a property type
The GtkSidebar:stack was meant to be an object property
of type GTK_TYPE_STACK. Make it so.
2014-10-02 22:00:40 -04:00
Matthias Clasen
59637c95a6 Properly extract strings from gtkprintunixdialog.ui
Since 972136803a, gtkprintunixdialog.ui contains non-ASCII
in translatable strings. These were not properly extracted.
2014-10-02 21:29:54 -04:00
Matthias Clasen
6a214c9bcd GtkExpander: Fix a problem with resize-toplevel
The toplevel resizing was not working properly when the
content had non-trivial height-for-width behavior (such
as a wrapping label).
2014-10-02 18:06:02 -04:00
Matthias Clasen
2a615e2e45 GtkSidebar: Scroll when needed 2014-10-02 18:06:02 -04:00
Lapo Calamandrei
64fea1be04 Adwaita: needs-attention on sidebar-item
Unfortunatelly it doesn't animate (not my fault) and it just work
on GtkLabel (my fault).
2014-10-02 21:16:30 +02:00
Lapo Calamandrei
d2838a2408 Adwaita: selectors cleanup and some refactoring 2014-10-02 20:40:18 +02:00
Marek Kasik
8b5d30d439 Remove redundant checks for NULL
Remove checks for NULL before g_free() and g_clear_object().
Merge check for NULL, freeing of pointer and its setting
to NULL by g_clear_pointer().

https://bugzilla.gnome.org/show_bug.cgi?id=733157
2014-10-02 19:06:03 +02:00
Matthias Clasen
07722ae2dd GtkCellRendererAccel: Stop using deprecated API 2014-10-02 00:37:52 -04:00
Matthias Clasen
af4031d9fe GtkFontChooserWidget: Stop using deprecated API 2014-10-02 00:30:52 -04:00
Matthias Clasen
11015a49ae GtkColorEditor: Fix missing background in popups 2014-10-02 00:19:08 -04:00
Matthias Clasen
d26c8e0536 GtkColorEditor: Stop using deprecated API
This call was not needed at all.
2014-10-02 00:11:02 -04:00
Matthias Clasen
d6a467d48e GtkFontButton: Stop using deprecated API 2014-10-02 00:05:43 -04:00
Matthias Clasen
a2da26de04 GtkSidebar: not a listbox anymore
Applications are not expected to call GtkListBox API on a
sidebar, so don't make it one. Instead, make it have a
listbox.
2014-10-01 22:45:30 -04:00
Matthias Clasen
7b2e526c3a GtkCalendar: deal better with a large allocation
When allocated more than the requested height, GtkCalendar
was 'falling apart'. Not only was the main part rendered
at the far end of the allocation, clicking on days was
broken in this scenario.

Fix this by always placing the main part directly under
the header and day names.

https://bugzilla.gnome.org/show_bug.cgi?id=737670
2014-10-01 20:09:10 -04:00
Matthias Clasen
b46cef1809 Trivial formatting fix 2014-10-01 19:52:04 -04:00
Matthias Clasen
09551bf37a Fix a typo 2014-10-01 19:30:12 -04:00
Matthias Clasen
7e9372bafa Fix fonts in context menus
Context menus inherit their style from the widget they are attached
to. This can have unexpected effects in particular for font, as can
be seen in gedit or gnome-calculator. Prevent this by resetting
the font of context-menus to the initial value.
2014-10-01 07:11:43 -04:00
Matthias Clasen
d0fb80d31b Avoid compiler warnings 2014-10-01 00:50:25 -04:00
Matthias Clasen
95d76d0132 Add a few missing include guards 2014-10-01 00:49:59 -04:00
Matthias Clasen
619aeb643f Provisional sidebar theming
needs-attention is not handled yet, here.
2014-10-01 00:46:13 -04:00
Ikey Doherty
cdd2651db0 Add GtkSidebar
GtkSidebar behaves internally much like GtkStackSwitcher, providing a vertical
sidebar like widget. It is virtually identical in appearance to the widget
currently used in GNOME Tweak Tool.

This widget is connected to a GtkStack, and builds its own contents as a
GtkListBox subclass, using the "title" child property to provide a consistent
navigatable widget.

Being a subclass of GtkListBox it benefits immediately from strong keyboard
navigation, and minimal changes are required for theming.

https://bugzilla.gnome.org/show_bug.cgi?id=735293

Signed-off-by: Ikey Doherty <michael.i.doherty@intel.com>
2014-10-01 00:44:46 -04:00
Jasper St. Pierre
91d9ae1cc4 label: Don't add in the allocation to our clip again
_gtk_widget_set_simple_clip already takes the allocation into account,
so we don't need to do it here.
2014-09-30 13:43:36 -06:00
Matthias Clasen
558c6ea6b5 Better typography for ppd paper names
These often contain a <num>x<num> string, which we can display
nicer by rendering it as <num>×<num>.
2014-09-30 00:55:03 -04:00
Matthias Clasen
63efdca223 Deprecate GtkWidget override APIs
This is better done with css and style classes nowadays.
2014-09-30 00:08:59 -04:00
Matthias Clasen
aa3020a39e GtkContainer: Support focus chain in GtkBuilder
This adds support for a <focus-chain> element which can be
used to specify a custom focus order for the children of
a container.

https://bugzilla.gnome.org/show_bug.cgi?id=582799
2014-09-29 23:59:21 -04:00
Matthias Clasen
6d3c61856b GtkButton: Use GtkLabel:xalign 2014-09-29 23:57:13 -04:00
Matthias Clasen
811c4c699f GtkAssistant: Use GtkLabel:xalign 2014-09-29 23:56:20 -04:00
Matthias Clasen
059e33ecea Keep GtkMisc:xalign working for labels
Set the new label properties when gtk_misc_set_alignment is used,
to keep things working.
2014-09-29 23:56:20 -04:00
Matthias Clasen
a43e0177cf Revert "Undreprecate GtkMisc::x/yalign for now"
This reverts commit 29eae57be4.

We have GtkLabel:xalign now, so deprecate the GtkMisc property again.
2014-09-29 23:56:20 -04:00
Matthias Clasen
d39424fc1c GtkLabel: add x/yalign properties
Since it turns out that x/yalign can't be quite equivalently
replaced by h/valign, bring them back as label properties, so
we can eventually get rid of GtkMisc.

https://bugzilla.gnome.org/show_bug.cgi?id=735841
2014-09-29 23:56:20 -04:00
Matthias Clasen
0192f3fe2d printing: Better typography
Use U+2013 for ranges.

https://bugzilla.gnome.org/show_bug.cgi?id=735192
2014-09-29 23:05:22 -04:00
Matthias Clasen
05a9006715 inspector: Better typography
Use U+201C/U+201D for quoting.

https://bugzilla.gnome.org/show_bug.cgi?id=735192
2014-09-29 23:05:22 -04:00
Matthias Clasen
0403d94d43 GtkRecentChooserMenu: Better typography
Avoid `' quoting.

https://bugzilla.gnome.org/show_bug.cgi?id=735192
2014-09-29 23:05:22 -04:00
Matthias Clasen
4866f0cec4 GtkPlacesSidebar: Be consistent in messages
Always quote drive/volume names.

https://bugzilla.gnome.org/show_bug.cgi?id=735192
2014-09-29 23:05:22 -04:00
Matthias Clasen
faa1909474 GtkFileChooserWidget: Better typography
No double space after .

https://bugzilla.gnome.org/show_bug.cgi?id=735192
2014-09-29 23:05:22 -04:00
Matthias Clasen
3fc0c2a8ea GtkVolumeButton: Better typography
Use a small space before %. This matches what we do for percentages
elsewhere.

https://bugzilla.gnome.org/show_bug.cgi?id=735192
2014-09-29 23:05:22 -04:00
Matthias Clasen
67b4f8ea75 GtkProgressBar: Mark the default text for translation
At the same time, use a small space before %.
This matches what is done in GtkCellRendererProgress.

https://bugzilla.gnome.org/show_bug.cgi?id=735192
2014-09-29 23:05:22 -04:00
Matthias Clasen
b3e1bb1654 Progress widgets: Better typography
Use a small space before %.

https://bugzilla.gnome.org/show_bug.cgi?id=735192
2014-09-29 23:05:22 -04:00
Matthias Clasen
e356841957 GtkBuilder: Improve error messages
No `' looks just terrible. For quoting in non-UI contexts, we
prefer either '' or "".

https://bugzilla.gnome.org/show_bug.cgi?id=735192
2014-09-29 23:05:21 -04:00
Matthias Clasen
c7930417b4 GtkColorSelection: Better typography
Use U+201C/U+201D for quoting, and use U+2019 instead of apostrophe.

https://bugzilla.gnome.org/show_bug.cgi?id=735192
2014-09-29 23:05:21 -04:00
Matthias Clasen
972136803a GtkPrintUnixDialog: Better typography
Use U+2236 RATIO instead of ':' for times.

https://bugzilla.gnome.org/show_bug.cgi?id=735192
2014-09-29 23:05:20 -04:00
Matthias Clasen
60c7f22310 Use better typography for paper names
Use U+00D7 MULTIPLICATION SIGN instead of a plain old x in
paper names, following https://wiki.gnome.org/Design/OS/Typography.

This is a string change.

https://bugzilla.gnome.org/show_bug.cgi?id=735192
2014-09-29 23:05:20 -04:00
Matthias Clasen
5720cf8144 Update file lists
We were forgetting to include some theme files.
2014-09-29 21:28:25 -04:00
Jesse van den Kieboom
de96cea732 quartz: Add availability check for >= 10.7 API
This adds both a compile time check for the SDK version being
compiled against, as well as a runtime check in the case the
resulting binary is run against an older SDK.

https://bugzilla.gnome.org/show_bug.cgi?id=735054
2014-09-29 15:25:06 -04:00
Lapo Calamandrei
74e71495c2 Adwaita: draw the trough on progressbars in treeviews
See https://bugzilla.gnome.org/show_bug.cgi?id=737517
2014-09-29 14:59:07 -04:00
Lapo Calamandrei
7e1673d0b7 Adwaita: make links readable in the dark variant
And fix the messy style we have for *:link in the process.
https://bugzilla.gnome.org/show_bug.cgi?id=737386
2014-09-29 14:41:49 -04:00
Carlos Garnacho
3985d69735 gesture: Document pitfalls on foreign gesture state changes
Add some docs/example about the possible event handling ordering issues
that may appear on GtkGesture::begin between multiple gesture groups.
Mostly relevant for state changes.
2014-09-29 16:20:54 +02:00
Jakub Steiner
30149dabcf Adwaita: provide simple guidelines for theming
- Some simple instructions for future SASS/ruby lovers
2014-09-29 14:07:10 +02:00
Jakub Steiner
088206b267 depend on particular version of sass 2014-09-29 13:46:32 +02:00
Rui Matos
d05730db49 GtkFontButton: Make sure the dialog isn't destroyed on delete-event
The remaining code assumes that the dialog doesn't get destroyed, but
it actually does on delete-event.

In particular, the filter function and the preview text are lost as
soon as the dialog is created and thus when we create a new dialog we
don't have those properties to set on it anymore.

https://bugzilla.gnome.org/show_bug.cgi?id=719936
2014-09-28 22:07:48 -04:00
Matthias Clasen
459bdbb143 Revert "Make Ctrl-u and Ctrl-k work in GtkTextView too"
This reverts commit 5744bb3cf1.

This causes conflicts with already existing shortcuts e.g.
in gedit.
2014-09-28 11:43:08 -04:00
Matthias Clasen
f35dff334f Factor out a function
Factor out the typename-to-get-type mangling as a separate
function, for easier testing.

Also fix some cases where it doesn't, currently, like
GString -> g_string_get_type and
GdkRGB -> gdk_rgb_get_type
2014-09-26 23:30:29 -04:00
Matthias Clasen
0c2f3402c3 GtkBuilder: Mention more error domains
This has been requested in
https://bugzilla.gnome.org/show_bug.cgi?id=708206
2014-09-26 22:37:21 -04:00
Matthias Clasen
cfd2d6d2e7 Typo fix 2014-09-26 22:30:20 -04:00
Matthias Clasen
e586dd2571 GtkRange: Fix an event propagation issue
The scale in the selectable listbox in page 2 of gtk3-widget-factory
has the flaw that the row is getting selected even when one only
interacts with the scale - unlike e.g. the checkbutton and button
further down in the listbox.

The problem is that GtkRange is trying to claim the sequence for
the drag gesture from the ::pressed handler of a multipress
gesture. Since the drag gesture hasn't seen the sequence at this
point, that is ineffective.

The fix here is to rearrange the gestures so that the multipress
gesture sees the sequence before the drag gesture, and then
claim the sequence from the ::drag-begin handler.
2014-09-26 22:21:11 -04:00
Matthias Clasen
fd49340edb Trivial: reword docs a bit 2014-09-26 19:24:00 -04:00
Matthias Clasen
b333d5ea4e GtkRange: claim sequence when popping up menu
This was clearly an oversight - the function claims the sequence
at the end, and for the popup menu case, we have an early exit
that misses this.
2014-09-26 19:18:57 -04:00
Matthias Clasen
92e52fd188 Add a style class to fullscreened windows
This will let us tweak stuff that gets shown in fullscreen windows,
https://bugzilla.gnome.org/show_bug.cgi?id=654051
2014-09-26 18:08:46 -04:00
Matthias Clasen
8e1878bc32 Fix a memory leak in gtk_test_find_label
Pointed out by Garrett Regier in
https://bugzilla.gnome.org/show_bug.cgi?id=737439
2014-09-26 18:00:19 -04:00
Matthias Clasen
5744bb3cf1 Make Ctrl-u and Ctrl-k work in GtkTextView too
It doesn't make sense to have them work in entries, but not here.
2014-09-26 17:53:07 -04:00
Matthias Clasen
5da91504da inspector: Drop an unused variable 2014-09-26 11:15:25 -04:00
Matthias Clasen
423868b408 entry: Revisit Ctrl-u one more time
Add a Ctrl-k binding too, and make them match their traditional
commandline meaning or 'erase line to the beginning/end'.
2014-09-26 11:14:28 -04:00