Commit Graph

22007 Commits

Author SHA1 Message Date
Lapo Calamandrei
1e961001af Adwaita: avoid border clash on transitioning adiacent flat buttons
Flat buttons gets the button decoration on hover, while transitioning
the decorations of adiacent flat buttons are both shown (one fading in
and the other fading out) so the borders clashes, since normally there's
no spacing between them, to avoid it the transition on the normal state
is set to none and added back to the hover state, so the decoration
won't fade out. To make the transition more evident the duration is
increased.
2014-10-16 12:46:58 +02:00
Benjamin Otte
44c8df62f2 glarea: Display the error message when an error occurred
Simply center a PangoLayout with the message text.
2014-10-16 03:33:15 +02:00
Lapo Calamandrei
8a7bd5cc00 Adwaita: color treeview tree/grid lines
Tree lines are visible now, unfortunatelly grid lines do not react
to selected state so they are way too bright.
2014-10-15 20:44:53 +02:00
Matthias Clasen
4f2feb97c2 Avoid deprecation warnings
We don't really care if we use deprecated API inside deprecated
code, so just ignore the warning.
2014-10-15 14:43:19 -04:00
Matthias Clasen
15af0e789b Revert "gtktrayicon-x11: Stop using set_double_buffered"
This reverts commit 4a72563c7b.

It turns out that this commit broke statusicons under Xfce when
not using a compositor.

https://bugzilla.gnome.org/show_bug.cgi?id=737986
2014-10-15 14:43:19 -04:00
Lapo Calamandrei
bcbec384da Adwaita: fix colorchooser styling after latest gtk changes
...commenting stuff pretty accuratelly in the process, since the
widget is quite unobvious to figure out.
2014-10-15 19:49:13 +02:00
Benjamin Otte
2c04c5f08b scrolledwindow: Don't set .frame on overshoot boxes 2014-10-15 17:18:26 +02:00
Benjamin Otte
3a337156d1 stylecontext: Make save/restore create a child CSS node
This is a change for how CSS is applied.

Previously, subelements (I'll take GtkEntry icons as an example) were
treated as having the same parent as the regular elements. So a selector
such as
  .entry
would match an entry inside a window. But it'd also match the icon image
inside the entry. So CSS like
  .entry { padding: 10px; }
would add 10px of padding to both the entry itself and to the icon image
inside the entry, so the icon would effective have 20px padding. To get
around that, one would have to unset it again like so:
  .entry { padding: 10px; }
  .entry.image { padding: unset; }
This is getting more and more of a problem as we make subelements
respect more properties that aren't inherited by default anyway, like
backgrounds and padding/margin/border.

This patch has one caveat though: It makes calling
gtk_style_context_save() the first time have an important side effect.
It's important to audit code to make sure it is only used for
subelements.

And last but not least, this patch is only useful if code unsets
parent's style classes that it doesn't want to apply any longer. Because
style classes are inherited by default (and I don't think we want to
change that), the example will still apply until the subelements no
longer contain the .entry style class.
2014-10-15 17:08:47 +02:00
Benjamin Otte
9843837593 stylecontext: Move next pointer out of GtkStyleInfo
Instead, keep a GSList in the style context.
2014-10-15 17:08:47 +02:00
Benjamin Otte
c38095faed stylecontext: Don't cache the root values
Those are the ones that are special and get animated. Caching them only
causes confusion.
2014-10-15 17:08:47 +02:00
Benjamin Otte
0d380f43d6 stylecontext: Factor out a function 2014-10-15 17:08:47 +02:00
Carlos Garnacho
103e11c937 scrolledwindow: Allow overshooting on scroll events
The overshoot visual notification is probably also nice to have in this
context.

https://bugzilla.gnome.org/show_bug.cgi?id=738533
2014-10-15 17:00:36 +02:00
Matthias Clasen
c26b2c9209 GtkPlacesSidebar: Don't leak an icon
Found in valgrind.
2014-10-14 23:59:51 -04:00
Matthias Clasen
2eacaf2dd2 GtkFontChooserWidget: Plug several memleaks
These were showing up in valgrind.
2014-10-14 23:59:25 -04:00
Matthias Clasen
ef62a872f5 GtkContainerAccessible: avoid resurrecting accessibles
When removing a child, we don't want to resurrect its
accessible needlessly.
2014-10-14 23:58:37 -04:00
Benjamin Otte
ccf6507f6a render: Fix uninitialized variables
Refactoring for performance in 39097ea2da
caused border_width to be uninitialized when rendering border images.

https://bugzilla.gnome.org/show_bug.cgi?id=738483
2014-10-15 02:16:24 +02:00
Carlos Garnacho
c184bd4675 scrolledwindow: Simplify _gtk_scrolled_window_set_adjustment_value()
The two boolean arguments always received the same values, so wipe these
out. Likewise, the boolean return value is unused and sort of meaningless.
2014-10-14 15:53:14 +02:00
Carlos Garnacho
1ae5c2a138 window: unset menubar before unsetting focus on dispose()
If the menubar has an app-menu popover, and it is shown at the time of
disposing the window, it will attempt to transfer focus back to the
previous focus widget when undoing modality, even though the dispose()
code already did set_focus(NULL) previously.

At the time the popover is removed, there aren't many hints as to whether
the toplevel or the focus widget are being destroyed (ie. not still under
in_destruction), so just swap the order of these two calls.

For every other popover, this would all happen within dispose/destroy,
which is handled better.
2014-10-14 15:47:06 +02:00
Benjamin Otte
f5da87dde8 inspector: Add missing files 2014-10-14 14:32:57 +02:00
Benjamin Otte
eaa872f6c3 inspector: Replace reload with record
and when pressed, record instance counts at 1fps.
2014-10-14 14:03:06 +02:00
Benjamin Otte
43ad7c9714 inspector: Add a graph cell renderer
... and use it to display graphs for how object counts changed.
2014-10-14 14:03:06 +02:00
Benjamin Otte
0a6755b57c inspector: Add a GraphData object for recording data
This way we can keep more data than just the 2 last values.
2014-10-14 14:03:06 +02:00
Benjamin Otte
14e0283413 inspector: Kepp tree iter in type data
This way we don't have to clear/refill the model every time but can keep
the existing model and only update the values.

A nice side benefit is that running an update keeps the current selection.
2014-10-14 14:03:06 +02:00
Benjamin Otte
e36bfb45cd inspector: Make all statistics columns visible always 2014-10-14 14:03:06 +02:00
Benjamin Otte
8d06b84670 inspector: Update all statistics in same place 2014-10-14 14:03:06 +02:00
Benjamin Otte
d123ea579f inspector: increase type by right amount
It's a shift, so we better shift it!
2014-10-14 14:03:05 +02:00
Benjamin Otte
525676435d inspector: Add type column to statistics
Rename old type column to "type name"
2014-10-14 14:03:05 +02:00
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