Commit Graph

27194 Commits

Author SHA1 Message Date
Christian Hergert
3724592efb listbox: short-circuit if no sort function is set
do_sort will crash if sort_func is not defined. Instead of adding a check
there in the hot path, just check for sort_func before invalidating the
sort of the underlying GSequence.
2016-06-20 18:51:42 -07:00
Matthias Clasen
8a2812217b shortcuts: Try harder to disambiguate search items
I noticed that some of the gestures did not show up in the
search results in the builder example in gtk3-demo, because
they share the same title and don't have an accelerator to
disambiguate. Include the shortcut type to handle this case.
2016-06-19 23:24:44 -04:00
Carlos Garnacho
e33e23a6d9 treeview: Ensure the treeview has the implicit grab before grabbing focus
The cellrenderer signals might be taking the grab somewhere else, at which
point it's dubious we should attempt to take the keyboard focus into the
treeview.

This concretely breaks popovers triggered from cellrenderer signals on
button press, because the treeview will attempt to grab focus
inconditionally then.

https://bugzilla.gnome.org/show_bug.cgi?id=767468
2016-06-19 20:54:18 -04:00
Matthew Leeds
51799d41e4 GtkActionHelper: Change a message to a warning
It's almost certainly a programmer error if an action isn't
activatable because its target and parameter type don't match.
This commit changes the existing g_message to a g_warning.

https://bugzilla.gnome.org/show_bug.cgi?id=767705
2016-06-19 20:06:13 -04:00
Philip Chimento
76bacfde6e style cascade: Allow cascades with more ancestors
Previously a style cascade's parent could not have a parent itself. That
represented the two levels at which you could add a style provider: at
the screen level, with gtk_style_context_add_provider_for_screen(), and
at the style context level, with gtk_style_context_add_provider().

This commit changes no functionality, but this change will be necessary
for adding style providers in the future that apply to a subtree of the
widget tree. It relaxes the requirement that a style cascade's parent
must not have a parent, since in the future a style context may be
affected by any number of parent widgets' style contexts.

https://bugzilla.gnome.org/show_bug.cgi?id=751409
2016-06-19 19:47:05 -04:00
Matthias Clasen
1c6b878e09 shortcuts window: Fix handling of significant xml chars
We are using markup in the labels, so we need to escape things
like < and >.

https://bugzilla.gnome.org/show_bug.cgi?id=767795
2016-06-19 17:49:03 -04:00
Emmanuele Bassi
c3f4fe334d Deprecate gtk_widget_send_expose()
We have various replacements for what this function does, and we are not
calling it internally any more.
2016-06-10 16:13:27 +01:00
Tristan Van Berkom
a9a59ac55e scrolledwindow: Fix calls to gdk_window_move_resize()
This is a bit of fallout from 34feba1, now that we resolve
the has_indicators value earlier than realize, it becomes
possible to call gdk_window_move_resize() before realization.

Just added the appropriate checks.
2016-06-10 21:16:53 +09:00
Stefan Sauer
32675db490 docs: point to suggested api for deprecated functions
We deprecated a bunch of _focus_on_click() functions. Point to the new API
in GtkWidget.
2016-06-09 22:44:44 +02:00
Emmanuele Bassi
c9916fbc58 docs: Add deprecation notice for GtkButton.set_focus_on_click()
To match the deprecation annotation on the function declaration.
2016-06-09 21:35:36 +01:00
Emmanuele Bassi
c5d0522a23 Deprecate the gdk_window_begin/end_paint family of functions
They are replaced by the more appropriate gdk_window_begin_draw_frame()
and gdk_window_end_draw_frame() functions.

https://bugzilla.gnome.org/show_bug.cgi?id=766675
2016-06-09 17:45:40 +01:00
Emmanuele Bassi
dda6a0d385 Associate the drawing context to the Cairo context
Instead of associating the GdkWindow that created the GdkDrawingContext
we can directly bind the Cairo context to the GDK drawing context.

Cairo contexts created via gdk_cairo_create() go back to not having a
GdkWindow associated to them, like they did before we introduced the
gdk_window_begin_draw_frame() API.

https://bugzilla.gnome.org/show_bug.cgi?id=766675
2016-06-09 17:45:40 +01:00
Emmanuele Bassi
a7ef37da2a Add GdkDrawingContext
Instead of giving out Cairo contexts, GdkWindow should provide a
"drawing context", which can then create Cairo contexts on demand; this
allows us to future proof the API for when we're going to use a
different rendering pipeline, like OpenGL.

https://bugzilla.gnome.org/show_bug.cgi?id=766675
2016-06-09 17:45:40 +01:00
Emmanuele Bassi
2c7b21718f Simplify the widget rendering entry point
Now that GDK has the appropriate API, we can simplify the widget drawing
code into a single function.

https://bugzilla.gnome.org/show_bug.cgi?id=766675
2016-06-09 17:45:40 +01:00
Tristan Van Berkom
34feba1e7c scrolledwindow: Resolve whether we use overlay scrollbars early.
Widgets should support size requests before being realized in general,
otherwise this can cause flicker/resize at initial display time as
the toplevel window can make a request before realize/allocate.

This also makes the added testsuite/gtk/scrolledwindow.c test work again,
this was broken because we only ever calculate whether we are going
to use overlay scrollbars once the scrolled window is realized (and
the test case does not realize any window).
2016-06-09 14:57:10 +09:00
Tristan Van Berkom
d7e242eec0 scrolledwindow: Bug 766569 - General size request fixes.
This patch does a couple of things:

  o Removes the obscure 'extra_width' and 'extra_height' variables
    making the request code exceedingly difficult to read

  o Fixes the max-content-size properties introduced in bug 742281
    so that they do not grow the minimum request.

  o Cleanup of request code in general:
    - min/max content sizes are clamped around the child request as needed
    - scrollbar requests are only added in one place, after child request
      sizes are calculated and without the extra_width/height thing.
2016-06-09 14:57:10 +09:00
Jakub Steiner
6de0ecb78e HC: focus outline more prominent
- make visible regardless of colors used
- make larger and more inset

https://bugzilla.gnome.org/show_bug.cgi?id=767310
2016-06-08 08:38:19 -04:00
Lapo Calamandrei
199ad2c14b Adwaita: .osd button.color
remove box-shadow from colorbutton colorswatch when an ancestor has
the osd styleclass applied.
2016-06-08 13:39:39 +02:00
Lapo Calamandrei
a0ee8f7f0a Adwaita: centralize outline-color
define outline-color generally using alpha(currentColor, 0.3),
which avoids setting it in a bunch of different places.
2016-06-08 13:28:07 +02:00
Kjell Ahlstedt
ff5304ee13 Make gtk_scrolled_window_remove() smart
If gtk_scrolled_window_add() has added a GtkViewport,
  gtk_container_remove (GTK_CONTAINER (scrolled_window), child_widget);
or
  gtk_container_remove(GTK_CONTAINER(scrolled_window),
                       gtk_bin_get_child(GTK_BIN(scrolled_window)));
removes both the added child widget and the viewport.

https://bugzilla.gnome.org/show_bug.cgi?id=710471
2016-06-08 10:30:22 +02:00
Matthias Clasen
3f3a226090 Update GtkLabel::angle docs
We can have wrapped or ellipsized labels at an angle nowadays.
Still no selections though.
2016-06-07 23:40:32 -04:00
Matthias Clasen
f23e99b063 scale, spinbutton: Avoid -0.0
This is a very longstanding bug; time to finally put it to rest.

https://bugzilla.gnome.org/show_bug.cgi?id=118959
2016-06-07 23:04:40 -04:00
Matthias Clasen
7f06f2818a Ensure that GtkRange allocates enough space for the value
This is a long-standing problem of GtkScale.

https://bugzilla.gnome.org/show_bug.cgi?id=766372
https://bugzilla.gnome.org/show_bug.cgi?id=578626
https://bugzilla.gnome.org/show_bug.cgi?id=79229
2016-06-07 21:28:44 -04:00
Matthias Clasen
dce4003c20 Fix preconditions in set_max_content_size setters
We must allow resetting the properties to -1.
2016-06-07 16:37:09 -04:00
Benjamin Otte
775e277ab9 widget: Add classes to widget path even if no style context exists yet
This removes leftover code from when classes where added to the style
context.
Now that they get added directly to css nodes, the classes can exist
without a style context.

https://bugzilla.gnome.org/show_bug.cgi?id=767312
2016-06-07 16:12:18 +02:00
Carlos Garnacho
0d407bcd6c searchenginetracker: Fix prefix searches
With the FTS5 query syntax, when using quotes to delimit the search phrase
the '*' token must happen after the quote, or will otherwise be considered
a character to match, go through the tokenizer, and end up ignored in
result.
2016-06-07 00:56:38 +02:00
Matthias Clasen
289fc9640b Revert "scrolledwindow: Bug 766569 - Report child natural size unconditionally"
This reverts commit 0943c9f6b2.

The commit caused unexpected breakage in gtk3-widget-factory,
and also broke the just-added max-content-size properties.
2016-06-06 14:35:46 -04:00
Tristan Van Berkom
03742e83fb scrolledwindow: Bug 767238 - Fixing up for max content sizes
Needed to adjust this again after applying commit 4e5ecb7
for bug 742281. Now that we also have max content size properties,
pushed the addition of possible scrollbar sizes to after the
clause which clamps the child request size into min/max content
sizes.
2016-06-06 12:04:58 +09:00
Phillip Wood
72ea348ad6 Fix hiding popover when focus moves outside
Commit a01fe14 changed the behaviour of popovers when the focus leaves
them to stop child popovers being hidden when the focus leaves their
parent. However they are now a bit too reluctant to hide - if the
focus passes to an unrelated popover the first popover is not
hidden. Also if the focus passes to another widget that does not
perform a gtk grab then the popover isn't hidden until the user
presses a non-movement key or clicks outside the popover.

The solution is to go back to checking if the focused widget is a
descendant of the popover, but to include popovers and their related
widgets in the ancestry chain.

https://bugzilla.gnome.org/show_bug.cgi?id=765595
2016-06-05 22:54:00 -04:00
Tristan Van Berkom
0943c9f6b2 scrolledwindow: Bug 766569 - Report child natural size unconditionally
This patch causes the scrolled window default behavior to change in
such a way that the natural size request of the child is unconditionally
reported, which probably should have been the case since day 1.

This should not cause significant fallout since a scrolled window is
normally used to expand/fill, eating up remaining space for scrollable
content - it will however cause the scrolled window to compete for
additional space with siblings, proportionally to the size of the
scrolled window's content.
2016-06-06 11:37:21 +09:00
Matthias Clasen
c4224bf9d0 treeview: fix an off-by-one error
gtk_tree_view_get_path_at_pos() mistakenly identifies the first
pixel of all but the first column in a tree view as belonging to
the previous column.

https://bugzilla.gnome.org/show_bug.cgi?id=708148
2016-06-05 22:20:38 -04:00
Matthias Clasen
321ddb8697 Make gtk_tooltip_trigger_tooltip_query work again
This was broken ever since we started looking at the
source device of the event.

https://bugzilla.gnome.org/show_bug.cgi?id=674215
2016-06-05 21:47:16 -04:00
Matthias Clasen
57d00e004a inspector: Ellipsize accessible description.
This string can be long, and we don't want to break the ui
2016-06-05 20:56:52 -04:00
Matthias Clasen
c8cab6a79a viewport: Free gadgets in finalize
This is the right place for this.
2016-06-05 20:00:43 -04:00
Matthias Clasen
b4ebe4e5c1 scrolled window: Free gestures and gadgets in finalize
This is the right place for this.
2016-06-05 20:00:43 -04:00
Matthias Clasen
9a8335a135 range: Free gadgets in finalize
This is the right place for this.
2016-06-05 20:00:43 -04:00
Matthias Clasen
ca43f6ee28 notebook: Free gadgets in finalize
This is the right place for this.
2016-06-05 20:00:43 -04:00
Matthias Clasen
eff09fabfa menu: Free gadgets in finalize
This is the right place to do this.
2016-06-05 20:00:43 -04:00
Matthias Clasen
9c50b8bc2f button: Free gadgets and gestures in finalize
This is the right place to free them.
2016-06-05 20:00:43 -04:00
Georges Basile Stavracas Neto
4e5ecb7052 scrolledwindow: add ::max-content-width and -height properties
The GtkScrolledWindow has support to set the minimum content size (both
width and height) which controls the minimum space allocated, but does
not exposes any way to control the maximum size the content can grow.

After the introduction of GtkPopover, which always uses the minimum
size of it's children widgets, the lack of max-content-width and -height
properties became a concrete use case.

This patch introduces the GtkScrolledWindow::max-content-width and
-height properties. The properties will alter the minimum size of
the scrolled window, making it grow up to the set value. They also
respect the previously set ::min-content-width and -height.

https://bugzilla.gnome.org/show_bug.cgi?id=742281
2016-06-05 11:02:59 -03:00
Matthias Clasen
b42d4b5b9a progressbar: Render text with the text css node
This is the same fix that was just applied to GtkScale.
2016-06-03 16:30:00 -04:00
Matthias Clasen
3f3c1768c9 scale: Also queue a resize if font changes
As Benjamin pointed out, what AFFECTS_FONT can also affect size,
but the implication is not automatic, so queue a resize manually.
2016-06-03 10:49:29 -04:00
Matthias Clasen
fd9f7babf6 scale: Apply css style to text
Use the new functions we have to apply CSS styles to the
value and marks text from their respective subnodes.
2016-06-03 00:30:59 -04:00
Matthias Clasen
db50849d79 Add a function to get a font from a css style
Similar in spirit to
gtk_style_context_get (ctx, state, "font", ...)
but avoids the need for a style context.
This will be used to for css-styled text rendering
from css subnodes.
2016-06-03 00:30:29 -04:00
Matthias Clasen
7b0929ad38 Add a function to turn a css style into pango attributes
This is _gtk_style_context_get_pango_attributes, decoupled
from the GtkStyleContext. This will be used to drive css-styled
text rendering from css subnodes of widgets, e.g. for the value
in GtkScale.
2016-06-03 00:26:55 -04:00
Timm Bäder
a961b05200 widget: Avoid a deprecation warning 2016-06-02 21:52:11 +02:00
Matthias Clasen
de8af76897 Show a scroll cursor when appropriate
When doing two-finger scrolling or click scrolling using a
trackpoint, show the all-scroll cursor to indicate what is
going on.

https://bugzilla.gnome.org/show_bug.cgi?id=753202
2016-06-01 21:47:31 -04:00
Matthias Clasen
f3f64d17c2 popover menu: Improved labeled separators
Embed the label in the middle of the separators instead of
putting it above the separator.

https://bugzilla.gnome.org/show_bug.cgi?id=767108
2016-06-01 11:52:20 -04:00
Matthias Clasen
743d18c0f8 scrolled window: Remove trackpoint heuristics
This is now done in GDK, so we can just use the input type here.

https://bugzilla.gnome.org/show_bug.cgi?id=767100
2016-06-01 09:31:18 -04:00
Matthias Clasen
3ab7645ac1 Avoid a deprecation warning 2016-06-01 09:27:24 -04:00
Olivier Fourdan
7c397c621c headerbar: do not show buttons for modals/transients
GtkHeadeBar checks the window type hint to determine if the regular
buttons such as menu, maximize or iconify should be visible in the
header bar.

However, an application may very well use a "normal" toplevel window and
set it transient and modal afterwards. In such a case, the iconify
button would remain visible, and the user can hide the window, but being
a modal, the parent window would remain insensitive.

Check for the window type, modality and transient relationship to decide
whether or not the regular toplevel buttons should be visible in the
header bar.

https://bugzilla.gnome.org/show_bug.cgi?id=767052
2016-06-01 09:47:23 +02:00
Matthias Clasen
430916973a GtkShortcutsSection: avoid deprecation warnings
We could just as well remove these calls here, since they
have no effect.
2016-05-31 16:34:22 -04:00
Matthias Clasen
d76c07836b Document GtkSizeGroup::ignore-hidden as broken
...and deprecate it, recommending GtkStack as an alternative.
2016-05-31 16:34:22 -04:00
Lapo Calamandrei
69f8b4bb77 Adwaita: ensure menuitem labels are not overridden
see https://bugzilla.gnome.org/show_bug.cgi?id=767058
2016-05-31 20:59:23 +02:00
Timm Bäder
4dbe7c99c2 entry: Fix undershoot position wrt entry icons
Draw them inside of the icons, which is where the text scrolls.
2016-05-31 09:41:08 +02:00
Matthias Clasen
f168de3ada Add a warning for a broken situation
When we emit ::draw, the widget should not have alloc_needed set
anymore. If this happens, it indicates a broken situation. Add a
warning to help tracking down why this might occur.

See https://bugzilla.gnome.org/show_bug.cgi?id=765410
2016-05-30 16:19:29 -04:00
Timm Bäder
9d5fe26420 build: add GtkStack accessible private header at the right place 2016-05-30 20:41:49 +02:00
Timm Bäder
6301827dac range: Properly indent closing brace
Make sure it's obvious what if block it belongs to.
2016-05-30 19:15:49 +02:00
Timm Bäder
0b0d4765a0 Add GtkStackAccessible
Show only the currently visible child to a11y.
2016-05-30 19:12:52 +02:00
Lapo Calamandrei
0c387b27ee Adwaita: explicitelly set label caret-color to currentColor
since it doesn't always inherit 'color' color as it should.
2016-05-30 14:20:33 +02:00
Lapo Calamandrei
f54e28177c Adwaita: make selection on infobars visible
see https://bugzilla.gnome.org/show_bug.cgi?id=745622
2016-05-30 13:56:23 +02:00
Lapo Calamandrei
d1d763ce58 Adwaita: remove textview border
see https://bugzilla.gnome.org/show_bug.cgi?id=764203
2016-05-27 11:38:20 +02:00
Thomas Lange
e7765daf64 placesview: Do not mark icon name as translatable
https://bugzilla.gnome.org/show_bug.cgi?id=766878
2016-05-26 22:05:41 -04:00
Matthias Clasen
73a47181fa Teach gtk-builder-tool to leave GtkDialog::border-width alone
This is one of the properties that need to be explicitly set.
2016-05-26 14:41:14 -04:00
Руслан Ижбулатов
fcd3321fa7 GtkFileChooser: don't override already opened folder
When filechooer is re-used (instead of being created and destroyed
every time it's needed), it might happen that the directory the
application wishes to initially show is the same directory that
was shown last time the filechooser was used. In that case, make sure
filechooser knows that it does not need to do its default "select $pwd
or $home" routine.

https://bugzilla.gnome.org/show_bug.cgi?id=766122
2016-05-26 11:44:13 +00:00
Benjamin Otte
b9f55dfd63 window: Unfreeze window on unmap
Make sure to keep parity with the number of times we froze the window
when we unmap it.
Otherwise it will permanently stay frozen after being remapped.

https://bugzilla.gnome.org/show_bug.cgi?id=766643
https://bugzilla.mozilla.org/show_bug.cgi?id=1225044
2016-05-25 01:19:11 +02:00
Bastian Ilsø
5759e2a334 gtktextview: document how to get line space
adds a paragraph to gtk_text_view_get_pixels_below_lines(),
describing how it can be used together with
gtk_text_view_get_pixels_above_lines() to get the total
amount of line spacing between two paragraphs.

https://bugzilla.gnome.org/show_bug.cgi?id=747206
2016-05-23 23:02:37 -04:00
Matthias Clasen
b90ae2cfbf Add a deprecation note
Mark GtkWidget:style property as deprecated in the docs.
2016-05-23 20:40:03 -04:00
Matthias Clasen
46b51e36b4 Trivial typo fix 2016-05-23 19:24:07 -04:00
Matthias Clasen
16bca98305 infobar: Update documentation
Remove explicit reference to color from the
gtk_info_bar_set_message_type() docs.

https://bugzilla.gnome.org/show_bug.cgi?id=759037
2016-05-23 14:19:30 -04:00
Carlos Garnacho
76a5e3fc3c popover: set priv->window before setting doing add_popover() on it
If the popover's relative-to widget is unparented/reparented, we end
up unparenting/reparenting the popover as well. In that case, at the
moment of reparenting, the widget might have been visible (and is
thus mapped again), but priv->window hasn't been set yet.

We must first set priv->window, and then call gtk_window_add_popover(),
that way gtk_popover_map() has its prerequisites straight.

https://bugzilla.gnome.org/show_bug.cgi?id=766323
2016-05-21 20:40:43 +02:00
Florian Müllner
57efcabfd6 stack: Only map children when necessary
gtk_widget_set_parent() will map the widget if the parent is mapped
and the widget is both visible and child-visible. As we currently
only set the child visibility after adding the child, we immediately
map all children that are added to a mapped stack, even when they
are not actually shown. Avoid this by setting the child visibility
before adding the child, so widgets are only mapped when shown.

https://bugzilla.gnome.org/show_bug.cgi?id=766737
2016-05-21 00:56:34 +02:00
Lapo Calamandrei
386ead4243 Adwaita: add vertical margins to switches on a headerbar
See https://bugzilla.gnome.org/show_bug.cgi?id=766642
2016-05-20 15:39:08 +02:00
Lapo Calamandrei
0d5b4779b8 Adwaita: shave 1px from the switch
make the switch height and width 1px smaller.
2016-05-20 15:28:58 +02:00
Ondrej Holy
55751fc6fb Improve external drives detection
Use g_drive_is_removable for external drives detection. Current heuristic
fails in some cases (e.g. when removable drive is attached before login),
see Bug 765457.

Bump GLib version accordingly.

https://bugzilla.gnome.org/show_bug.cgi?id=765924
2016-05-20 10:40:14 +02:00
Ignacio Casal Quinteiro
64eca0bb2d gtktextview: fix < public > comment
This was causing problems with the gtk# scanner
2016-05-20 09:08:08 +02:00
Matthias Clasen
d3adf47d9f treeview: Fix a rubberbanding-related crash
When starting a rubberband selection from an empty area, we could run
into crashes if the selection moves over the rows and then back out
to unpopulated area. Handle this case without crashing.

https://bugzilla.gnome.org/show_bug.cgi?id=766336
2016-05-19 16:59:10 -04:00
Matthias Clasen
6293a50501 color scale: Sync style classes with GtkScale
We should use the same style classes here, to avoid theme
confusion.
2016-05-19 18:09:24 +02:00
Lapo Calamandrei
cca2a22b63 color scale: Really sync style classes with GtkScale
sync the alpha scale styleclass too.
2016-05-19 17:32:09 +02:00
Lapo Calamandrei
5ae7f62f25 Adwaita: fix scale theming
rely on toplevel styleclass for scale with marks.

See https://bugzilla.gnome.org/show_bug.cgi?id=766440
2016-05-19 17:31:05 +02:00
Ignacio Casal Quinteiro
fab70d34d4 gtkselectionprivate: minor style fix
This seems to make some issue with the gtk# scanner.
2016-05-19 16:56:57 +02:00
Matthias Clasen
4151cb1202 scale: Use more succinct names for style classes
Use .marks-before/after to indicate the presence of marks.
As Lapo points out, compatibility with the previous names
is not really that important, since everything else changed
around it.

https://bugzilla.gnome.org/show_bug.cgi?id=766440
2016-05-19 09:44:48 -04:00
Matthias Clasen
de7c15636d icon theme: Add a warning
Warn about the situation when we've found a resource or file path,
but gdk-pixbuf fails to give us a pixbuf. This generally means that
either pixbuf loaders are not found or the shared-mime database
is missing.
2016-05-19 09:03:20 -04:00
Matthias Clasen
fa9f22eec4 scale: Bring back marks-related style classes
It turns out that it is too hard (and in some cases, impossible)
to get this information from node positioning, so bring back the
.scale-has-marks-above/below style classes on the main node.

This should allow us to fix the 'pointy sliders'.

https://bugzilla.gnome.org/show_bug.cgi?id=766440
2016-05-18 12:59:39 -04:00
Matthias Clasen
f516faaef8 Revert "scrolledwindow: Better size requisition for GTK_SCROLL_NATURAL children"
This reverts commit 096bea3f0e.

This was accidentally pushed.
2016-05-18 07:52:18 -04:00
Debarshi Ray
096bea3f0e scrolledwindow: Better size requisition for GTK_SCROLL_NATURAL children
GtkScrolledWindow leans towards using the minimum size of its child
widget, unless the scrollbar policy is GTK_POLICY_NEVER. This is
probably fine for most GtkScrollable implementations out there.
Especially when using GTK_SCROLL_MINIMUM, which is the default for all
implementations inside gtk+.

However, this is not good for GTK_SCROLL_NATURAL children. eg.,
VteTerminal's minimum size is 1x1 and natural size is the number of
visible rows and columns requested by the user. We really want to use
the natural size unless the user has resized the window to change that.

https://bugzilla.gnome.org/show_bug.cgi?id=766569
2016-05-17 15:03:51 -04:00
Debarshi Ray
c81cd94b8f scrolledwindow: Remove redundant use of MAX
This code tries to add the minimum content size, if one is set, to the
GtkScrolledWindow's size requisition. This is obvious from the check
for non-negative values of min-content-height and min-content-width.
Using MAX needlessly makes the code harder to read by implying that
there is more to it when there actually isn't.

Fall out from 0d9ebb501d

https://bugzilla.gnome.org/show_bug.cgi?id=766569
2016-05-17 17:04:26 +02:00
Debarshi Ray
df98140e8e scrolledwindow: Fix typo in get_preferred_height calculation
When we are beginning to calculate the height, if the vscrollbar_policy
is not GTK_POLICY_NEVER, and there is no min-content-height, then we
need some small non-zero value to get started. The idea is to always
ask for at least enough to fit the horizontal scrollbar.

Simply put, this should be the mirror image of the corresponding width
calculation code.

Those who got used to the buggy behaviour might notice that their
GtkScrolledWindows are not as tall as they used to be.

Fall out from 55196a705f

https://bugzilla.gnome.org/show_bug.cgi?id=766530
2016-05-17 07:39:24 +02:00
Matt Watson
175cf7e32d stack: always update window position at transition start
Sometimes on wayland we're seeing a frame draw before the first tick
callback, where the window position has not yet been updated.

With this change, the window is properly positioned as soon as
gtk_stack_start_transition returns.

https://bugzilla.gnome.org/show_bug.cgi?id=766405
2016-05-16 13:53:26 -07:00
Javier Jardón
101da71ee3 Use upstream gettext
https://bugzilla.gnome.org/show_bug.cgi?id=373745
2016-05-16 20:46:19 +01:00
Matthias Clasen
38f71172f8 scale: Avoid a crash
gtk_scale_get_layout was not careful enough, leading to a crash
when opening the inspector on a scale.
2016-05-15 14:18:09 -04:00
Alban Browaeys
cd305c1970 widget: fix GtkLabelAccessible NULL links.
Fix testsuite/a11y/about.ui GtkAboutDialog :
"CRITICAL **: atk_hyperlink_get_start_index: assertion 'ATK_IS_HYPERLINK (link)' failed"
That is set widget->priv->accessible as soon as accessible object is generated.

When accessible object is created accessible->priv->widget is set,
if widget->priv->accessible is not , then _gtk_label_accessible_update_links
exits early, thus without creating the links on the accessible side.
(This as it checks for the widget to have the accessible set before proceeding).

https://bugzilla.gnome.org/show_bug.cgi?id=766458
2016-05-15 10:24:34 -04:00
Benjamin Otte
ddcf47026d widget: No longer postpone style-updated on unrealized widgets
GTK used to not emit GtkWidget::style-updated on widgets that weren't
realized. This sped up construction of complex widgetry in the early
days of GTK3 where we instantly invalidated on every change.
We don't do that anymore, so in theory (and in my limited testing with
widget-factory) this shouldn't be a prolem anymore.

What is a problem though is that postponing style-updated leads to 2
problems:
(1) Unrealized widgets will not emit style-updated which may cause them
    to not properly update their state and return wrong values from
    get_preferred_width/height() etc
(2) Emitting style-updated during realize can happen too late.
    When a widget is not made child-visible by its parent (common
    examples: notebook, paned) it will also not be realized when the
    parent is initially shown. However, when they get realized later
    (after a resize of the parent), they will emit style-updated (and
    potentially queue a resize) during size-allocate.

https://bugzilla.gnome.org/show_bug.cgi?id=765700
2016-05-14 18:48:22 +02:00
Benjamin Otte
30d2dc49a8 scrolledwindow: destroy children in destroy()
If we don't do that, testsuite/gtk/templates starts failing.
2016-05-14 17:13:52 +02:00
Timm Bäder
d4f0c9877d query-settings: Indicate deprecated settings 2016-05-12 20:40:13 +02:00
Timm Bäder
0d8993fb24 stack: Don't underallocate the last_child 2016-05-12 20:40:06 +02:00
Timm Bäder
292e0c2663 stack: Remove some code duplication 2016-05-12 20:40:00 +02:00
Timm Bäder
301652de1f Remove useless casts from gdk_event_triggers_context_menu calls 2016-05-12 20:39:51 +02:00
Timm Bäder
c34bb3b994 query-settings: Don't compare int to uint 2016-05-12 20:39:45 +02:00
Timm Bäder
a99213100d listbox: Don't compare int to uint 2016-05-12 20:39:39 +02:00
Timm Bäder
4cce90d1e2 colorbutton: Stop using state-changed 2016-05-12 18:27:14 +02:00
Timm Bäder
63be0deb0f toolbar: Limit item position to number of contained elements
Greater values don't make much sense.

https://bugzilla.gnome.org/show_bug.cgi?id=682080
2016-05-12 18:27:08 +02:00
Lapo Calamandrei
46b789b0f4 Adwaita: brighter pushed button background
providing more contrast with the text color.
2016-05-12 11:50:13 +02:00
Lapo Calamandrei
16afc59f04 Adwaita: bold size label on font button
looks more consistent with other special buttons with icons.
2016-05-12 11:45:34 +02:00
Lapo Calamandrei
b5146317bb Adwaita: hide separator on button.font and button.file
we used to do that, got missed at some point during 3.20 cycle.
2016-05-12 11:40:28 +02:00
Matthias Clasen
c891ceb31d Docs: Clarify life cycle issue
gtk_gesture_get_last_event() wasn't very clear about how long
it is safe to use the returned pointer.
2016-05-11 13:25:15 -04:00
Matthias Clasen
358eec2972 DND: Avoid a use-after-free
Cancelling the gesture causes the last_event pointer to become
invalid. Make a copy of the event so we can keep using it
regardless of the gesture state.
2016-05-11 13:24:04 -04:00
Matthias Clasen
7c21a32b28 places sidebar: Avoid markup confusion in tooltips
At one point, the sidebar was using gtk_treeview_set_tooltip_column,
which expects tooltips to be markup. With the listbox-based sidebar,
we don't do that anymore. So don't escape the tooltip text.

https://bugzilla.gnome.org/show_bug.cgi?id=766175
2016-05-10 21:47:20 -04:00
Timm Bäder
327777a291 Scale: Set the correct value alignment
We're measuring both the width of the minimal and the maximal value for
the value gadget, but only give the value the minimal width for its
current value, resultnig in an always left-aligned value.

Fix this by assigning the width of the value gadget to the value layout
and letting pango align the text inside the layout.

https://bugzilla.gnome.org/show_bug.cgi?id=766120
2016-05-10 21:24:50 +02:00
Matthias Clasen
0f476590fb Make gdk_event_get_pointer_emulated public
There is not strong reason to keep the getter private.
At the same time, strip _-prefixes from a few other GdkEvent
APIs. Update all callers.
2016-05-10 15:16:45 -04:00
Olivier Fourdan
126156e820 gtkmenu: ignore left/right scroll events
Menus are placed vertically by definition, it does not make much sense
to support horizontal axis for scrolling.

Use GDK_EVENT_STOP/GDK_EVENT_PROPAGATE instead of TRUE/FALSE and add a
default case to return GDK_EVENT_PROPAGATE for unhandled events.

https://bugzilla.gnome.org/show_bug.cgi?id=765939
2016-05-10 15:58:02 +02:00
Olivier Fourdan
c134d52dd7 gtkmenu: ignore emulated scroll events
On X11, we get both smooth and emulated scroll events, whereas other
backends such as wayland will give smooth events only with touchpad
scrolling.

Discard emulated scroll events so that we get consistent behaviours
between backends.

Allow for both horizontal and vertical smooth events for scrolling so
that horizontal scrolling still works without emulated scroll events as
well, again for consistency between gdk backends.

https://bugzilla.gnome.org/show_bug.cgi?id=765939
2016-05-10 15:58:02 +02:00
Timm Bäder
20592a7935 scale: Remove double nullable annotation
Being both (allow-none) and (nullable) at the same time is a bit much.
Was from 591e7f5ef8.
2016-05-10 12:53:42 +02:00
Timm Bäder
7116988bcb widget: Add Since annotation to gtk_widget_queue_allocate 2016-05-10 12:53:42 +02:00
Chun-wei Fan
092cb9e202 GTK: Fix build for pre-C99 compilers
Some compilers we support, such as pre-2013 Visual Studio, does not support
for INIFINITY, log2() and exp2(), so check for exp2() and log2() during
configure, and use fallbacks for them and INIFINTY if they are not found.

https://bugzilla.gnome.org/show_bug.cgi?id=766207
2016-05-10 17:14:07 +08:00
Benjamin Otte
732316aca2 scrolledwindow: Remove child before destroying self
Children tend to call back into the scrolled window while being removed
and that doesn't work too well if the scrolled window is destroyed
already as Christian Hergert found out.
2016-05-10 01:00:41 +02:00
Benjamin Otte
0c37b05716 cssimage: Make it possible to shrink builtin check/optionmarks
... below 7px of size.
2016-05-10 01:00:41 +02:00
Emmanuele Bassi
6e2b9a1413 docs: Update examples of matching key bindings
The selector for matching GtkEntry has changed to `entry` after 3.20.

https://bugzilla.gnome.org/show_bug.cgi?id=766166
2016-05-09 12:45:34 +01:00
Georges Basile Stavracas Neto
534ab9a9f0 placesview: update guiding list of protocols
The previous list of protocols in the guidance popover
was suboptimal and needed adjustments.

This commit updates this list to match the latest mockups [1].

[1] https://raw.githubusercontent.com/gnome-design-team/gnome-mockups/4847c79ea1aaf75046b3ec5bb1b167ac604d86ed/nautilus/nautilus-next/connect-to-server-wire.png

https://bugzilla.gnome.org/show_bug.cgi?id=756570
2016-05-08 17:38:49 -03:00
Timm Bäder
1b84d75d10 dialogs: remove 2px border width again 2016-05-08 21:33:53 +02:00
Timm Bäder
fd81e801ab tooltip: Include gtkwidgetprivate.h
That's where gtk_widget_query_tooltip is defined.
2016-05-08 15:52:56 +02:00
Timm Bäder
af49609b8f infobar: Fix typo
Style class names are prefixed with a '.'
2016-05-08 13:58:18 +02:00
Ray Strode
3cba63b2f8 widget: add missing detail to ::query-tooltip emission
This was an oversight in commit dfb368e29bb58b4313b578f0ce75cfc8ead9a1.
2016-05-06 22:31:45 -04:00
Matthias Clasen
ed147c88e1 tooltip: Add a missing *
This was an oversight in the previous commit.
2016-05-06 20:51:25 -04:00
Matthieu Gautier
82aa83b0f6 revealer: emit notify::child-revealed when animation stops
Depending of float rounding during target calculation, the size of the
GtkRevealer can be set to zero will the animation is not finished.
If the GtkRevealer is in a GtkPaned, it will be hidden and so the animation
will be stopped before it is finished.

In this case, force the emission of the child-revealed signal to let
client code know the animation is finished.

https://bugzilla.gnome.org/show_bug.cgi?id=765973
2016-05-06 16:09:12 -04:00
Matthias Clasen
cd581c9e81 Simplify our templates
This is applying the new property name simplification.
2016-05-06 16:09:12 -04:00
Matthias Clasen
3c09783005 Clean up builder parser data after parsing
No need to have these linger around in qdata.
2016-05-06 16:09:12 -04:00
Matthias Clasen
f16e58e9a7 builder tool: Canonicalize property names
When simplifying, convert property names to canonical form,
so we don't waste time while looking them up later.
2016-05-06 16:09:12 -04:00
Lapo Calamandrei
1b8c9de09a Adwaita: darken treeview exapanders 2016-05-06 19:34:12 +02:00
Lapo Calamandrei
55a76cbc31 Adwaita: cosmetic change 2016-05-06 19:01:19 +02:00
Lapo Calamandrei
5f5a02f3e5 Adwaita: relocate a selector
relocate treview acceleditor > label in the treeview section and
add a comment for a testcase.
2016-05-06 19:00:12 +02:00
Matthias Clasen
0f116135f4 Avoid emitting ::style-set by name
GtkStyle is deprecated, but we still emit ::style-set quite
a bit, so lets at least not be slow while doing it.
2016-05-06 10:14:07 -04:00
Matthias Clasen
12dfb368e2 Don't emit ::query-tooltip by name
This signal is emitted quite a bit, and we can easily avoid it.
2016-05-06 10:14:07 -04:00
Matthias Clasen
64710def82 Stop storing has-tooltip in qdata
This is queried quite a bit, and we have room for an extra
bit in GtkWidgetPrivate.
2016-05-06 10:14:07 -04:00
Matthias Clasen
9fac83783c Don't use qdata for getting the default css style
There's no point in using qdata for looking this up, since
we only ever set it on the default screen anyway.
2016-05-06 10:14:07 -04:00
Lapo Calamandrei
1de2f21994 Adwaita: tidy treeview style properties...
...removing a double definition in the process.
2016-05-06 15:36:26 +02:00
Matthias Clasen
b938cfe5be settings: Fix font names *again*
This is the last time, I hope.
2016-05-06 07:08:56 -04:00
Matthias Clasen
ff3264b4c5 widget: Store accessible in GtkWidgetPrivate
Every widget may have one of these, and they are accessed somewhat
frequently.
2016-05-06 06:44:28 -04:00
Matthias Clasen
cb8817f710 Ensure we initialize a quark first
The style function here can also be called before the corresponding
class_init had a chance to create the quark. Fix this.
2016-05-06 06:44:28 -04:00
Matthias Clasen
d91b8c91d3 tooltip: Ensure our quark is not 0
Many of the tooltip functions can be called before a tooltip
object is created, and thus initializing the quark in class_init
is not good enough.
2016-05-06 06:44:28 -04:00
Matthias Clasen
360a3c1690 Use a cheaper way to store settings per display
This was another very frequent use of qdata. Since we typically
have only one or two display objects, storing the display-settings
association in a simple array is faster than using object data
or a hash table.
2016-05-06 06:44:28 -04:00
Matthias Clasen
cca894b912 Use a cheaper way to store debug flags
This was the most frequent use of qdata *by far*.
2016-05-06 06:44:28 -04:00
Matthias Clasen
46edfaa89c Fix indentation mishap 2016-05-06 06:44:28 -04:00
Matthias Clasen
c50e774b29 Fix a typo 2016-05-06 06:44:28 -04:00
Matthias Clasen
27210f523b scale: Fix mark positioning at the left/top edge
We were failing to take the widget allocation.x/y into account
when deciding whether we need to push in the mark.

https://bugzilla.gnome.org/show_bug.cgi?id=765922
2016-05-05 15:17:56 -04:00
Matthias Clasen
6b64c31f6d Generalize the previous commit
Update all xsettings when we get a screen, to prevent similar
problems from occurring in the future.
2016-05-05 14:13:03 -04:00
Matthias Clasen
fe7be14db8 settings: Avoid a crash
Christian Hergert reported seeing webkit crashes with recent
GTK+. The stacktrace points at the CSS machinery calling into
GtkSettings to get the font name, and then getting surprised
by a property notification that triggers style validation.

To avoid this, query the font name xsetting right away when
we get set a screen.
2016-05-05 13:32:58 -04:00
Lapo Calamandrei
870a674283 Adwaita: more flexible headerbar_fill mixin
add an additional background layer as a parameter.
2016-05-05 18:36:03 +02:00
Carlos Garnacho
27c1cce726 searchenginetracker: Quote fts match so it's seen as a single phrase
FTS5 has a complex enough syntax that it makes not much sense to wrap
in simple search boxes.

https://bugzilla.gnome.org/show_bug.cgi?id=765981
2016-05-05 16:40:33 +02:00
Timm Bäder
df38db70a0 label: Also initialize text
So gtk_label_get_text returns the default value of "". Broke the
GtkModelButton default value test.
2016-05-05 11:31:41 +02:00
Timm Bäder
c1d1d46d34 cssgadget: Remove unused function 2016-05-05 11:31:41 +02:00
Timm Bäder
f7e6385506 gtkrender: Remove superfluous cairo_save/restore calls
These were all surrounding functions that either call
cairo_save/cairo_restore themselves or don't need to.
2016-05-05 11:02:06 +02:00
Matthias Clasen
1c4e609750 css node: Stop extraneous change notification
The ::name and ::widget-type properties are entirely independent,
no need to notify both when either changes.
2016-05-04 16:05:40 -04:00
Matthias Clasen
bf66cd1e94 box: Only emit ::child-notify when necessary
We can easily check if the values for expand, padding and so forth
actually changed, so lets do it.
2016-05-04 15:05:08 -04:00
Matthias Clasen
5b19747ef8 Revert "When creating a widget path, use the widget type"
This reverts commit 0d78b67bca.

As Benjamin points out: that'll break all widgets that query style
properties in their init function.
2016-05-04 13:52:22 -04:00
Matthias Clasen
0d78b67bca When creating a widget path, use the widget type
No need to pull the type out of the css node - its our own type.
This will let us stop setting the type on the css node later on.
2016-05-04 13:42:54 -04:00
Matthias Clasen
3ca9a218ec Set the proper state on the css node
This will almost certainly overwritten before the widget gets
to the screen, but while we are doing this, we might as well
use the same state that we initialize the widgets state to.
2016-05-04 13:42:54 -04:00
Matthias Clasen
7df668f2ac css names are always set
No need to check for it, we set the css name on GtkWidgetClass
ourselves.
2016-05-04 13:42:54 -04:00
Timm Bäder
0efe186d95 switch: Remove .slider from slider gadget
As the documentation states, neither the switch nor the slider gadget
should be using any style classes.
2016-05-04 18:55:33 +02:00
Timm Bäder
4ba1f19b03 switch: Create less pango layouts
Instead of creating 2 pango layouts in every draw() and on in
_get_content_size (and calling into gettext twice in both cases), just
keep the layouts around and create them in only one place.
2016-05-04 18:35:30 +02:00
Matthias Clasen
1da048d19a settings: Fix xsettings handling
I was somehow under the misconception that we'd get GdkEventSettings
events for all the xsettings at startup. That is not in general true,
so we need to make sure that we check for the xsettings value before
we use them, or derived fields. Update all the private getters to
do so; and fix settings_update_font_values() to cope with font
descriptions that might miss the family or size.
2016-05-04 11:19:03 -04:00
Matthias Clasen
1d0ba98d5d settings: Ensure derived fields are initialized
I mistakenly assumed that gtk_settings_init was already doing
something to trigger a notify for all properties. It doesn't,
so we have to ensure that settings_update_font_values() is
called at least once.

https://bugzilla.gnome.org/show_bug.cgi?id=765966
2016-05-04 06:28:59 -04:00
Matthias Clasen
449fd4a350 Use g_set_object in one more place 2016-05-03 22:15:17 -04:00
Timm Bäder
944f9d4f28 label: don't use set_text in gtk_label_new
It would just set up lots of things with the default values, but a
common case is that a few gtk_label_set_* calls follow.
2016-05-03 19:26:43 -04:00
Timm Bäder
4ae6f10ae9 label: minimum/natural size parameters are not nullable
Stop comparing them to NULL.
2016-05-03 16:25:57 -04:00
Timm Bäder
e75894da13 label: Don't set out parameters twice
We set them later again when we calculate the vertical size, so just
move the general assignment to -1 into the horizontal branch.
2016-05-03 16:25:57 -04:00
Timm Bäder
cb419794f8 widget: Remove useless NULL check
We are checking for allocation != NULL at the beginning of the function
already. This also means that the allocation parameter is not nullable.
2016-05-03 18:21:33 +02:00
Timm Bäder
71b360cc8e roundedbox: Initialize the hashtable key before using it
In mem_hash, we are iterating over the individual bytes of the key, so
make sure all of it is initialized.
2016-05-03 10:58:02 -04:00
Benjamin Otte
a72c4576b2 cssimagebuiltin: Remove icons that don't draw anything anymore 2016-05-03 12:59:13 +02:00
Benjamin Otte
b049b3de25 cssimagebuiltin: Remove unused variables 2016-05-03 12:59:13 +02:00
Benjamin Otte
2c2c60827e widget: Remove useless comment 2016-05-03 12:59:13 +02:00
Matthias Clasen
be201a5b71 css: Stop drawing double borders for builtins
The fallback code for rendering builtin checks, radios
and expanders was using border parameters. With the generic
gadget borders using the same parameters, this was giving
double borders.
2016-05-02 13:31:59 -04:00
Timm Bäder
38181bc3d2 shadowsvalue: Don't draw invisible box shadows 2016-05-02 19:28:33 +02:00
Руслан Ижбулатов
b579fa82fe Use default VFS, not a local one (it has no network) 2016-05-02 14:45:44 +00:00
Matthias Clasen
9a03fc906a Fix gtk_paned_set_position to set position_set consistently
As pointed out in https://bugzilla.gnome.org/show_bug.cgi?id=765676,
we were failing to set position_set if the position did not change.
2016-05-02 07:42:06 -04:00
Carlos Soriano
ddb0740a21 gtknotebook: avoid tab dnd from content
Before commit 6c1bee2377 we were setting an attribute of GtkNotebook
to track the pressed button if the pressed button happened on the
tab itself.
Later in the motion handling code we were checking whether the private
pressed button attribute was set or not in order to handle a tab dnd
or not.

In commit 6c1bee2377 the code changed and set the pressed button
variable unconditionally, which means, a motion event from within the
tab content triggered a tab reordering.

This happened only if the children hierarchy have a widget that bubbles
up both button press event, which sets the private pressed button
attribute; and motion events, which started the tab dnd checking the
private pressed button attribute.
A widget that experienced the regression was GtkListBox.

In order to fix it, set the button pressed variable only when it press
the tab itself, not the content.

https://bugzilla.gnome.org/show_bug.cgi?id=764395
2016-05-02 13:17:48 +02:00
Руслан Ижбулатов
bab628beb2 GtkPlacesView: check for network:// URI support before using it
Specifically, this URI is not supported on Windows, but GFile will
do its "best" and turn it into GLocalFile("$pwd/network"), with
spectacularly bad results.

https://bugzilla.gnome.org/show_bug.cgi?id=765858
2016-05-01 19:04:18 +00:00
Matthias Clasen
73e799474a dnd: Make sure to free a stashed event
I am not sure if this happens in practice, but better to be safe.
2016-05-01 13:26:35 -04:00
Matthias Clasen
0fe0ee897d gesture: Don't leak stashed events
These events were never freed.
2016-05-01 13:26:35 -04:00
Matthias Clasen
de894f38b5 Fix the build
I forgot to add an include here.
2016-05-01 13:26:35 -04:00
Matthias Clasen
309c6dfaf8 css: Use setters for font size and family
This avoid creating pango font descriptions all the time, when
the gtk-font-name setting hasn't actually changed.
2016-05-01 01:10:59 -04:00
Matthias Clasen
71d6816817 settings: Add setters for font family and size 2016-05-01 01:10:33 -04:00
Matthias Clasen
449732446b treeview: Use getter for gtk-enable-animations 2016-05-01 00:40:23 -04:00
Matthias Clasen
8457dff08a switch: Use getter for gtk-enable-animations 2016-05-01 00:40:08 -04:00
Matthias Clasen
df72478375 stack: Use getter for gtk-enable-animations 2016-05-01 00:39:55 -04:00
Matthias Clasen
5ee745dfee scrolled window: Use getter for gtk-enable-animations 2016-05-01 00:39:34 -04:00
Matthias Clasen
ff0107a4ac Use getter for gtk-enable-animations 2016-05-01 00:39:18 -04:00
Matthias Clasen
9d038df7de popover: Use getter for gtk-enable-animations 2016-05-01 00:39:03 -04:00
Matthias Clasen
417eb0ad9c Use a better hash for arcs 2016-04-30 22:39:58 -04:00
Matthias Clasen
e5de6dd8b1 css: Use a getter for the enable-animations setting 2016-04-30 22:39:58 -04:00
Matthias Clasen
28625c16c0 dnd: Use a getter for the drag threshold 2016-04-30 22:39:58 -04:00
Matthias Clasen
8e62cee075 Add a few settings getters 2016-04-30 22:39:58 -04:00
Matthias Clasen
7afc6b1fd5 settings: Cache xsettings
Instead of calling out to gdk every time an XSetting is requested,
cache the value (we already have the property_values array
anyway).

https://bugzilla.gnome.org/show_bug.cgi?id=765579
2016-04-28 23:29:43 -04:00
Matthias Clasen
2148708917 box gadget: Redo expand flag handling
We only keep one align flag per child, so it seems odd to
keep separate h/v expand flags. Just keep one expand flag
and interpret it according to orientation. Allow setting
the expand flag for child widgets too, though, so we can
make widget expand without interfering with the recursive
widget expand flag.

Update all callers.

Use the new possibility of expanding child widgets to make
the label of check and radio buttons expand. This fixes
unexpected behavior of these widgets in RTL in some places.

https://bugzilla.gnome.org/show_bug.cgi?id=765742
2016-04-28 21:59:34 -04:00
Matthias Clasen
8a308dd072 expander: Reverse alignments in RTL
Flip alignments of the title gadget children.
2016-04-28 21:59:34 -04:00
Matthias Clasen
8bf148b006 check button: Reverse alignments in RTL
Flip alignments for the box gadget children.
2016-04-28 21:59:34 -04:00
Matthias Clasen
2919e344ca box gadget: allow reversing alignments
In RTL, we want to interpret GTK_ALIGN_START and _END
in the opposite way. Since we don't give gadgets a text
direction, just allow setting an align_reverse flag
to the box gadget.
2016-04-28 21:59:34 -04:00
Lapo Calamandrei
71c1e86e62 Adwaita: refactor levelbar styling. 2016-04-28 15:45:12 +02:00
Matthias Clasen
952d0fd23f window: Stop using gdk_screen_get_n_monitors 2016-04-27 23:18:16 -04:00
Matthias Clasen
03d70f1636 settings: Stop comparing screen numbers
There is only one screen.
2016-04-27 23:18:16 -04:00
Matthias Clasen
f5d6688d3e window: Stop using screen width/height 2016-04-27 23:18:16 -04:00
Matthias Clasen
6ae2c24bde treeview: Stop using screen width/height
Popups should always be placed relative to a monitor.
2016-04-27 23:18:16 -04:00
Matthias Clasen
29396a1e5e label: Stop using screen width/height
Popups should always be placed relative to a monitor.
2016-04-27 23:18:16 -04:00
Matthias Clasen
e9a58190af combobox: Stop using screen width/height
Popups should always be placed relative to a monitor.
2016-04-27 23:18:16 -04:00
Matthias Clasen
b5fb9ae3b7 gtk: Port to new monitor api
Use the GdkDisplay monitor api instead of the GdkScreen one.
2016-04-27 23:18:16 -04:00
Matthias Clasen
1b7d7c857f menu: Add new monitor api
This will work better with the new monitor api in gdk.
2016-04-27 23:18:16 -04:00
Matthias Clasen
3952bd60a5 inspector: Port to new monitor api
Adapt to new monitor apis, and show more information.
2016-04-27 23:18:16 -04:00
Christian Hergert
8fc11ef2a5 Revert "iconhelper: check if surface was invalidated"
This reverts commit 88d0258397.
2016-04-27 19:02:25 -07:00
Руслан Ижбулатов
96c18db0da GtkTreeView: change child repositioning to preserve locality
If there was a piece of text in the cell, then when the edit
entry is shown for that cell, it should have a piece of text
in it roughly at the same location.

Therefore, when child widget is enlarged (child preferred
size exceeds cell size), extra width should be added by
extending either left or right edge depending on text direction.

If after that the child sticks outside of the treeivew visible region,
try to push it back inside (breaking its alignment with the
cell), again, giving preference (i.e. adjusting it last)
to either left or right edge depending on text direction.

https://bugzilla.gnome.org/show_bug.cgi?id=765471
2016-04-28 01:35:46 +00:00
Christian Hergert
88d0258397 iconhelper: check if surface was invalidated
Fetching the style may cause the surface to be invalidated.
2016-04-27 17:45:01 -07:00
Lapo Calamandrei
0d55542359 Adwaita: add a background to cellrendertext 2016-04-27 20:05:44 +02:00
Georges Basile Stavracas Neto
605e205584 placesview: update a leftover function name
This should've been part of the previous commit.
2016-04-27 09:06:46 -03:00
Georges Basile Stavracas Neto
bb8b459407 placesview: follow up fixes
This patch unmarks the addresses' prefixes as translatable,
and updates the callback name to reflect what it really does
now.

This is a follow up fix from commit 7449add82.

https://bugzilla.gnome.org/show_bug.cgi?id=756570
2016-04-27 08:40:19 -03:00
Christian Hergert
0763a027c7 pixelcache: reuse existing timeout source when possible
This avoids the g_source_remove(), g_source_destroy(),
g_timer_source_new(), and g_source_set_name_by_id() in the common case.

Instead, we reuse our previous source and update the ready time to our
new deadline. We lose the coalescing with g_timeout_add_seconds(), but
that is not going to help in the common case anyway (unless you have
three hands and can scroll multiple pixelcached backed widgets at once).

https://bugzilla.gnome.org/show_bug.cgi?id=765640
2016-04-27 06:26:42 -04:00
Matthias Clasen
1d35f273d6 dnd: Fix some issues with drag icons
In non-composited environments, we were ending up with all-black
drag icons, because nothing was drawing the background of our new
toplevel. Fix this by drawing background when we are not composited.
We don't do this when composited, since we want to allow transparent
icons.
2016-04-26 22:02:34 -04:00
Matthias Clasen
012904097a Fix indentation 2016-04-26 21:25:02 -04:00
Matthias Clasen
23df86e923 dnd: Set attributes from all widgets for text drag icons
There is nothing textview-specific here.
2016-04-26 21:23:45 -04:00
Georges Basile Stavracas Neto
7449add82b placesview: provide guidance on server addresses
GtkPlacesView currently provides no example of
server addresses, which may confuse users.

To fix that, add a helper popover with some
guidance on server addresses.

https://bugzilla.gnome.org/show_bug.cgi?id=756570
2016-04-26 20:50:45 -04:00
Matthias Clasen
dfdc7c3e0d progressbar: Enforce invariants
When measuring gadgets, minimum must come out <= natural.
Make sure we don't fail this when measuring progressbar text.

https://bugzilla.gnome.org/show_bug.cgi?id=765644
2016-04-26 20:44:07 -04:00
Matthias Clasen
c27c4e2048 dnd: Fix lifecycle issues with widgets as drag icons
The documentation clearly says that the widget is not destroyed,
but we were in fact failing to keep it alive, since it was still
a child or the icon_window when we destroy that. Fix this by
reparenting the icon_widget out before. Also, deal with the
possibility that the application might destroy the widget
halfway through, for whatever reason.
2016-04-26 20:35:25 -04:00
Bernhard Reutner-Fischer
5a04edc57b docs: typo in GTK_STYLE_CLASS_LIST_ROW docs
Fix typo in documentation of GTK_STYLE_CLASS_LIST_ROW: s/rowss/rows/g

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>

https://bugzilla.gnome.org/show_bug.cgi?id=765632
2016-04-26 16:41:52 -04:00
Matthias Clasen
3fd9bda06f css: Fix printing of images
When there is only a call in a fallback image, we were errnoneously
printing out a comma before it.
2016-04-26 00:03:09 -04:00
Matthias Clasen
0eefe81f37 Raleigh: Fix font syntax 2016-04-25 23:25:55 -04:00
Matthias Clasen
43312bb8c2 font button: Fix translation of font-name default
The default value should come out of regular translations, not
property translations.
2016-04-25 23:09:19 -04:00
Timm Bäder
1951642c0e GtkLabel: Use g_clear_object
https://bugzilla.gnome.org/show_bug.cgi?id=765496
2016-04-25 20:37:56 -04:00
Timm Bäder
be5a105f2e GtkLabel: Don't manually iterate over link list
There are various functions to access links based on their index for
a11y. We can spare quite a few lines of code by just using
g_list_nth_data instead of iterating over the list ourselves.

https://bugzilla.gnome.org/show_bug.cgi?id=765496
2016-04-25 20:37:56 -04:00
Christian Hergert
f165bbda57 builtinicon: avoid calculating font-metrics in vast majority of cases
We perform lots of gadget allocations that require allocating a
GtkBuiltinIcon. One notable example is the scrollbar for a scrolled
window.

In the process of doing this, we often calculate baseline information that
isn't necessary. With how much this code path gets exercised, its worth
catching the result for the common case, which is that the font-description
has not changed and we are using the default language the application
was started with.

This simply caches the previous result and verifies that we can reuse it
with pango_font_description_hash() and a simple language check.

Numbers below are scrolling through a textview with GDK_KEY_Down.

Before:
      SELF CUMULATIVE    FUNCTION
[   0.08%] [   9.26%]    gtk_builtin_icon_get_preferred_size
[   0.01%] [   8.82%]      pango_context_get_metrics
[   0.02%] [   0.16%]      gtk_widget_get_pango_context
[   0.06%] [   0.06%]      pango_context_get_language
[   0.01%] [   0.02%]      g_type_check_instance_cast
[   0.02%] [   0.02%]      strlen
[   0.02%] [   0.02%]      pango_context_get_font_description
[   0.02%] [   0.02%]      g_list_foreach
[   0.01%] [   0.01%]      gtk_css_style_get_value
[   0.01%] [   0.01%]      itemize_with_font
[   0.01%] [   0.01%]      pango_context_get_type
[   0.01%] [   0.01%]      get_base_metrics
[   0.00%] [   0.01%]      pango_font_metrics_unref
[   0.01%] [   0.01%]      g_list_free
[   0.01%] [   0.01%]      gtk_builtin_icon_get_type

After:
      SELF CUMULATIVE    FUNCTION
[   0.08%] [   0.18%]    gtk_builtin_icon_get_preferred_size
[   0.02%] [   0.02%]      pango_font_description_hash
[   0.00%] [   0.02%]      gtk_widget_get_pango_context
[   0.00%] [   0.02%]        g_object_get_qdata
[   0.00%] [   0.02%]          g_datalist_id_get_data
[   0.02%] [   0.02%]      gtk_builtin_icon_get_type
[   0.01%] [   0.01%]      pango_context_get_font_description
[   0.00%] [   0.01%]      - - kernel - -
[   0.01%] [   0.01%]      pango_context_get_language
[   0.00%] [   0.01%]      gtk_css_style_get_value
[   0.00%] [   0.01%]      gtk_css_gadget_get_style

https://bugzilla.gnome.org/show_bug.cgi?id=765486
2016-04-25 16:13:06 -04:00
Emmanuele Bassi
b45c7b508b glarea: Use the appropriate texture format for GLES
The core OpenGL ES spec does not have GL_BGRA, so we need to make do
with GL_RGBA and live with the format conversion.
2016-04-25 14:35:02 +01:00
Emanuele Aina
971998de34 glarea: Relay the use-es flag to context creation
https://bugzilla.gnome.org/show_bug.cgi?id=743746
2016-04-25 14:35:02 +01:00
Paolo Borelli
6225d435e6 inspector: do not leak seat capabilities descriprion
Factor out an utility function for readability and free the string
with the list of capabilities
2016-04-24 17:49:26 +02:00
Christian Hergert
0b88d7976c quartz: fix quartz build
The quartz backend has its own implementation of these that
collide since the gtkdragdest.c extraction.

https://bugzilla.gnome.org/show_bug.cgi?id=764712
2016-04-24 03:50:22 -07:00
Christian Hergert
4f63d83955 kineticscrolling: avoid stutter at tail of kinetic deceleration
When decelerating the kinetic scroll, we can get into a position where it
looks like we are stuttering. This happens because the amount we move is
so little that it takes multiple frames to make forward progress by one
pixel.

This prevents that by detecting when we have reached the slow stutter of
the deceleration and simply stops the deceleration phase immediately.

https://bugzilla.gnome.org/show_bug.cgi?id=765493
2016-04-24 03:49:20 -07:00
Lapo Calamandrei
aa99c64fdd Adwaita: color tweaks
use a slightly cold and slightly darker gray for the dark variant,
use the same hue for the osd bg color, make it bit darker and
transparent.
2016-04-22 14:44:59 +02:00
Sébastien Wilmet
554de0be2a app: replace private accels functions by get_application_accels()
It's like gtk_application_get_action_muxer().

https://bugzilla.gnome.org/show_bug.cgi?id=764879
2016-04-22 12:43:27 +02:00
Sébastien Wilmet
3b988ce523 app: share function to normalise detailed action name
Put the function in gtkactionmuxer.c, where
gtk_print_action_and_target() is implemented.

https://bugzilla.gnome.org/show_bug.cgi?id=764879
2016-04-22 12:40:08 +02:00
Sébastien Wilmet
3d182160bb app-accels: rename static functions
Remove the "accels_" prefix from the remaining static functions. The
prefix no longer makes sense since the whole file is devoted to accels.

https://bugzilla.gnome.org/show_bug.cgi?id=764879
2016-04-22 12:39:44 +02:00
Sébastien Wilmet
bce4a0abde app: extract GtkApplicationAccels private class
This has several benefits:
- Less code in GtkApplication. The accels handling is something
  self-contained, and GtkApplication now delegates the work.
- For the accels functions, there is now a distinction between static
  functions and functions in the gtkapplicationaccelsprivate.h header,
  which makes the code easier to understand, because we have a good
  overview just by reading the header.
- The struct _GtkApplicationPrivate is now easier to find instead of
  being in the middle of the file.

https://bugzilla.gnome.org/show_bug.cgi?id=764879
2016-04-22 12:39:18 +02:00
Sébastien Wilmet
e0c34fd028 app: write higher-level gtk_application_accels static functions
These will become the functions present in the
gtkapplicationaccelsprivate.h header.

The gtk_application_accels functions deal with detailed_action_name's
instead of action_and_target's. action_and_target is an implementation
detail of Accels.

The added function prototype is temporary, it'll be removed in a later
commit.

https://bugzilla.gnome.org/show_bug.cgi?id=764879
2016-04-22 12:38:56 +02:00
Matthias Clasen
73c91c285e Fix formatting
The previous change was not quite using the right coding style.
2016-04-21 23:24:13 -04:00
Timm Bäder
0815b21ad4 listbox: Make sure page down/up move at least one row
When the current cursor_row is taller than the page_size we get from the
GtkAdjustment, the previous code would not actually cause any scrolling,
so make sure we just take the row after or before the cursor_row in that
case.

https://bugzilla.gnome.org/show_bug.cgi?id=765261
2016-04-21 23:11:38 -04:00
Benjamin Otte
c081ca2d4c cssshadowsvalue: Avoid allocating new value if not needed 2016-04-21 23:01:31 +02:00
Benjamin Otte
f93eca5604 cssbordervalue: Avoid allocating new value if not needed 2016-04-21 23:01:31 +02:00
Benjamin Otte
2fc0d6a91a cssbgsizevalue: Avoid allocating new value if not needed 2016-04-21 23:01:31 +02:00
Lapo Calamandrei
3ed8ac034d Adwaita: backdrop active button color tweaks 2016-04-21 17:01:45 +02:00
Lapo Calamandrei
d857ba3faf Adwaita: cosmetics 2016-04-21 16:51:24 +02:00
Lapo Calamandrei
874d4ede67 Adwaita: solid bg for disabled pushed button 2016-04-21 16:43:35 +02:00
Lapo Calamandrei
517f33b1a6 Adwaita: spinbutton fixes
reset background-color on backdrop disable buttons and entry node.
2016-04-21 16:25:05 +02:00
Jonathan Matthew
22cd8e9d4f gtkmenusectionbox: remove submenus when the parent item is removed
https://bugzilla.gnome.org/show_bug.cgi?id=749405
2016-04-20 17:28:19 -04:00
Matthias Clasen
d6ac55102e widget: Don't show widget resizes in the inspector
Avoiding this sort of visual debugging in the inspector
is the main reason we have per-display debug flags now.
2016-04-19 23:32:26 -04:00
Matthias Clasen
d58885c9b9 css gadget: Fix baseline debug
We were not using the baseline that we're computing.
2016-04-19 23:26:57 -04:00
Matthias Clasen
37b70a9733 Use qdata for debug flags
This avoids some overhead.
2016-04-19 23:26:57 -04:00
Matthias Clasen
c01befe5cc css gadget: Don't get display flags twice
This got more expensive now that we store them per-display,
so don't get them twice in the same function.
2016-04-19 23:26:57 -04:00
Christian Hergert
3df2e0b26a debug: remove open-coded debug checks in gtktextsegment
These runtime checks were being performed whether or not we were in a
debug build. Using GTK_DEBUG_CHECK() will compile out of production
builds, as it will result in something like:

  if (G_UNLIKELY(0))

which the optimizer can prune.

https://bugzilla.gnome.org/show_bug.cgi?id=765284
2016-04-19 19:56:17 -07:00
Matthias Clasen
f3e6d930a8 text tag: Add a va marshaller to ::event 2016-04-19 21:10:31 -04:00
Matthias Clasen
c7bac91494 text buffer: Add va marshallers for signals 2016-04-19 21:10:31 -04:00
Matthias Clasen
3c3aa478f9 menushell: Add a va marshaller for ::insert 2016-04-19 21:10:31 -04:00
Lapo Calamandrei
1b22039649 Adwaita: use an image for backdrop button background
which doesn't make the sliders flash during background transition.
2016-04-19 23:00:54 +02:00
Lapo Calamandrei
5fc18c7167 Adwaita: link button style fix
ensure the label color doesn't get overridden, fixes link button
label being gray in backdrop.
2016-04-19 22:58:33 +02:00
Lapo Calamandrei
c16c9e7c3f Adwaita: scale with marks style fix
reset background-color on the slider.
2016-04-19 22:58:33 +02:00
Lapo Calamandrei
5199b66682 Adwaita: fix switch styling
ensure the last button has rounded corners and adapt to button
mixin changes.
2016-04-19 22:58:33 +02:00
Lapo Calamandrei
24c3906d5f Adwaita: fix insensitive switch styling
misplaced backdrop disabled selector was overriding the disabled
one.
2016-04-19 22:58:33 +02:00
Matthias Clasen
51d58108f9 Add some va marshallers to frequent signals
This makes us take the fast path in signal emission.
2016-04-19 16:12:33 -04:00
Lapo Calamandrei
b596fcada7 Adwaita: stop using images for solid backgrounds...
...unless it's needed.
2016-04-19 21:59:37 +02:00
Matthias Clasen
5efb574055 magnifier: Only connect to ::draw when needed
This making us take the slow path in ::draw handling, so we
want to avoid it if we can.

https://bugzilla.gnome.org/show_bug.cgi?id=765238
2016-04-19 15:29:04 -04:00
Lapo Calamandrei
7397fe0eab Adwaita: add shadows back...
...correctly inizializing a sass var.
2016-04-19 21:25:27 +02:00
Timm Bäder
36fead28e0 gtkcssimagebuiltin: Save/restore around cairo_clip
This was previously causing trouble in checkbuttons where the check node
didn't have an icon shadow set, e.g. in Raleigh.
2016-04-19 15:31:26 +02:00
Chun-wei Fan
9a87b6be2b MSVC builds: Update how introspection builds are done
This first adds a common autotools module that can be included by
the Makefile.am's to generate the file lists and the g-ir-scanner/
g-ir-compiler command lines to build the introspection files.

The autotools files for gdk/ and gtk/ are then updated to generate
the full file lists needed to build the introspection files, with
the full command lines for g-ir-scanner and g-ir-compiler as NMake
Makefile modules that can be used to build the introspection files
for Visual Studio builds.

https://bugzilla.gnome.org/show_bug.cgi?id=765195
2016-04-19 14:50:25 +08:00
Lapo Calamandrei
f0c2d3a7a8 Adwaita: better shadow stacking mixin 2016-04-19 01:19:07 +02:00
Lapo Calamandrei
bdb451ad86 Adwaita: fix infobar text color in backdrop windows
see https://bugzilla.gnome.org/show_bug.cgi?id=765213
2016-04-19 00:15:54 +02:00
Matthias Clasen
99c2423043 font button: Convert from pango to css properly
This utility function should probably find a home somewhere else.
For now, this makes the deprecation warning go away.
2016-04-18 15:05:24 -04:00
Benjamin Otte
519af3f91d cssimage: Warn if gradients only have 1 color stop
GTK <= 3.20 allowed that but the CSS spec and borwsers do not.
We might want to just remove that feature, but for now, we just warn.
2016-04-18 20:52:35 +02:00
Benjamin Otte
fd373162b5 theme: linear-gradient() needs 2 color-stops
So make sure our _solid() function gives it two.
2016-04-18 20:52:35 +02:00
Benjamin Otte
f51b15808a theme: Split out _solid() function
The function creates a solid color image. Currently this is done with
linear-gradient().
2016-04-18 20:52:34 +02:00
Benjamin Otte
de76139fea win32 theme: Fix functions to not have spaces
CSS doesn't allow that (although GTK's CSS parser did so far not
complain).
2016-04-18 20:52:34 +02:00
Matthias Clasen
2603011ea0 Fix a typo
We don't want to parse a weight twice, but a weight and a stretch.
2016-04-18 14:38:12 -04:00
Matthias Clasen
492a406bbd HighContrast: Fix font: usage 2016-04-18 14:17:55 -04:00
Matthias Clasen
68ce676498 Add backwards compat back
Apparently, there's lots of font: "pango font description" out there,
so keep parsing this, with a deprecation warning.
2016-04-18 14:09:41 -04:00
Matthias Clasen
df22f3017b Adwaita: Fix use of font: shorthand 2016-04-18 11:46:58 -04:00
Matthias Clasen
dcd20e17e5 Fix parsing of the font: shorthand
Our code here was just throwing it at PangoFontDescription.
Fix this by parsing the various components ourselves.
2016-04-18 11:46:58 -04:00
Matthias Clasen
7b9b661aea Export some font parsing functions
These will be used for parsing the font: shorthand too.
2016-04-18 11:46:58 -04:00
Matthias Clasen
31a12c6a23 css style: Rename some static functions
Make the font property functions follow the general naming
scheme, and remove pango from the names.
2016-04-18 11:46:58 -04:00
Matthias Clasen
921c154e38 widget: Use gdk_pango_get_for_display 2016-04-18 07:04:44 -04:00
Lapo Calamandrei
fe74c81a70 Adwaita: cosmetics 2016-04-17 23:40:29 +02:00
Lapo Calamandrei
86ba132ded Adwaita: colorbutton colorswatch shadow fix
reset colorswatch box-shadow on active and checked state as well
following latest style changes.
2016-04-17 23:14:02 +02:00
Lapo Calamandrei
a763bd7df1 Adwaita: increase opacity on scale label and marks
using the same opacity as dim-label.
2016-04-17 22:46:48 +02:00
Matthias Clasen
50f041bc57 shortcuts: Follow changes of accels
Add a way to associate a detailed action name with a shortcut.
If the action name is set, update the accelerator whenever
accels change on the window that the shortcuts window is
associated with.

https://bugzilla.gnome.org/show_bug.cgi?id=764975
2016-04-17 13:42:14 -04:00
Lapo Calamandrei
cf144ea26f Adwaita: clean up pushed button mixin 2016-04-17 18:39:07 +02:00
Lapo Calamandrei
bad15d410e Adwaita: fix scale slider border color
using the darker border color.
2016-04-17 18:19:38 +02:00
Lapo Calamandrei
a89d03d6b8 Adwaita: flatten colorswatches 2016-04-17 18:17:07 +02:00
Lapo Calamandrei
d77dc25b8d Adwaita: more borders color tweaks 2016-04-17 18:07:58 +02:00
Lapo Calamandrei
b34c3dce2a Adwaita: cosmetics 2016-04-17 15:26:22 +02:00
Lapo Calamandrei
6ee670b697 Adwaita: dark variant borders color tweaks 2016-04-17 15:24:57 +02:00
Lapo Calamandrei
32674cb1d3 Adwaita: pushed button style tweak
use a solid background.
2016-04-17 15:21:31 +02:00
Lapo Calamandrei
f10971eefd Adwaita: button style tweak
add a darker bottom border to buttons to add some depth.
2016-04-17 15:06:13 +02:00
Matthias Clasen
96f0ed9ec5 menuitem: Fix some possible problems with arrow_gadget
https://bugzilla.gnome.org/show_bug.cgi?id=765134 shows
a stacktrace where we end up with arrow_gadget being NULL
despite the conditions for its presence being satisfied.

This commit makes sure we call update_arrow_gadget() whenever
any of the conditions changes. This should fix the reported
crash.
2016-04-17 01:09:32 -04:00
Lapo Calamandrei
5b7c06118c Adwaita: ensure dialogs titlebar rounded corners
broken from my previous commit about rounded corners, dialogs
doesn't use the "window" node, but the "dialog" node, so use the
.background styleclass in the selectors which is more generic.
2016-04-16 14:42:13 +02:00
Lapo Calamandrei
b64816ed8d Adwaita: more border color tweaking 2016-04-16 14:32:04 +02:00
Lapo Calamandrei
d5b26eb034 Adwaita: lighten border color a bit 2016-04-16 14:28:29 +02:00
Lapo Calamandrei
8394317cc2 Adwaita: flatten the switch base 2016-04-16 13:41:32 +02:00
Lapo Calamandrei
b744c07b44 Adwaita: flatten entries and similar widgets 2016-04-16 13:35:48 +02:00
Lapo Calamandrei
2184c910eb Adwaita: delete unused mixin 2016-04-16 13:21:39 +02:00
Lapo Calamandrei
940c77ad43 Adwaita: flatten scale and progressbar trough 2016-04-16 13:19:41 +02:00
Lapo Calamandrei
8ee4e45f8a Adwaita: ensure titlebar corners are not rounded...
...when the window is maximized or tiled, by using more specific
selectors, since there were cases of erroneusly rounded corners.
See https://bugzilla.gnome.org/show_bug.cgi?id=765038
2016-04-16 12:04:02 +02:00
Руслан Ижбулатов
3ed9cb2488 gtk-builder-tool: use g_printf() instead of g_print()
1) g_print() can be redirected
2) g_print() does some extra processing, such as character set conversion.
   Specifically, on W32 it will detect system codepage via GetACP(),
   and will convert UTF-8 output into that codepage, even though
   the output should stay unchanged (whether gtk-builder-tool interprets
   strings from ui files as UTF-8 is a separate matter).

https://bugzilla.gnome.org/show_bug.cgi?id=765118
2016-04-15 17:45:27 +00:00
Lapo Calamandrei
159c65dcb8 Adwaita: really fix solid-csd
add a specificity bump hack in the titlebar solid-csd styling to
avoid being overridden by the split titlebar theme logic.
2016-04-15 18:28:26 +02:00
Lapo Calamandrei
de78627494 Adwaita: fix backdrop solid-csd
titlebar rounded corners were not overridden for backdrop state.
2016-04-15 18:00:37 +02:00
Lapo Calamandrei
266ae74afc Adwaita: better solid-csd styling 2016-04-15 16:51:29 +02:00
Matthias Clasen
8a2061f581 inspector: Don't lie with statistics
If we don't have statistics, despite GOBJECT_DEBUG being set,
explain how to fix this.
2016-04-14 22:52:59 -04:00
Matthias Clasen
7552b7fca8 GtkBuilder: Mention how GVariant properties are parsed 2016-04-14 15:30:59 -04:00
Benjamin Otte
3bc58d01e3 iconhelper: Invalidate on clear()
When clearing the icon helper, we need to invalidate it. Otherwise the
previous icon keeps lingering along.
This is not relevant inside gtkiconhelper.c where other code causes the
invalidation, but happens when external code calls
_gtk_icon_helper_clear().

https://bugzilla.gnome.org/show_bug.cgi?id=765066
2016-04-14 15:17:02 -04:00
Sebastien Bacher
e92eaaa049 gtkplacessidebar: don't margins in the code
those should rather be defined by the theme
https://bugzilla.gnome.org/show_bug.cgi?id=763768
2016-04-14 11:46:34 +02:00
Carlos Garnacho
46cdb44fdd GtkWindow: Ensure the toplevel is realized before realizing popovers
Otherwise those get a NULL parent window, which is toplevel-y enough
to disembody the popover.

https://bugzilla.gnome.org/show_bug.cgi?id=764060
2016-04-14 11:39:48 +02:00
Matt Watson
df08fc91bd css: always get default font size in pixels
Fixes a couple bugs...

 - Pixel font sizes in css would render as point sizes.

 - For em font sizes, where the parent size was set and not default, we would
   incorrectly convert a pixel value from points to pixels.

We'll always grab the default font size in pixels so we don't keep confusing
things.

Worth noting that gtk css font-size will still behave differently than the
web. Pango interprets font-size differently.
2016-04-12 16:58:55 -07:00
Sébastien Wilmet
f9ba55eaad app: add missing g_returns
And have the g_returns in the same order as the function parameters.

https://bugzilla.gnome.org/show_bug.cgi?id=764846
2016-04-12 20:32:49 +02:00
Rico Tzschichholz
c8d1108574 gtk: Annotate GtkFlowBoxCreateWidgetFunc as "transfer full" 2016-04-12 13:30:04 +02:00
Balló György
413d27508f GtkTrayIcon: fix uninitialised variable
https://bugzilla.gnome.org/show_bug.cgi?id=764863
2016-04-11 22:03:48 -04:00
Mohammed Sadik
3f8313c735 documentation: trivial typo fixes in GtkWidget
https://bugzilla.gnome.org/show_bug.cgi?id=764925
2016-04-11 22:03:48 -04:00
Matthias Clasen
28042ef336 listbox: Fix css node ordering
When inserting a child at the top, we were not inserting its
css node properly.

https://bugzilla.gnome.org/show_bug.cgi?id=764710
2016-04-11 07:52:39 -04:00
Emmanuele Bassi
9610675faf recent-manager: Always ensure that size is reset on creation
Whenever we create a new GBookmarkFile, we need to set the size to 0.

https://bugzilla.gnome.org/show_bug.cgi?id=620065
2016-04-10 18:41:23 +01:00
Emmanuele Bassi
cc08a965be recent-manager: Fix the error domain and message on move_item()
Using NOT_FOUND when moving is wrong and unhelpful.

https://bugzilla.gnome.org/show_bug.cgi?id=620065
2016-04-10 18:39:33 +01:00
Emmanuele Bassi
bccef4e41a recent-manager: Emit ::changed on file deletion
This will clear out the list of recently used files, and will allow GVFS
to handle this case.

https://bugzilla.gnome.org/show_bug.cgi?id=693077
2016-04-10 18:35:38 +01:00
Emmanuele Bassi
90d28d6bbf Assign a recent manager if one is set
The GtkRecentAction implementation ignored a GtkRecentManager passed to
its :manager property.

https://bugzilla.gnome.org/show_bug.cgi?id=620065
2016-04-10 18:35:38 +01:00
Sébastien Wilmet
ee58a52a61 app: minor code improvements
- use GDK_EVENT_PROPAGATE
- pass better zero-values to gtk_init(), since the parameters are
  pointers.

https://bugzilla.gnome.org/show_bug.cgi?id=764846
2016-04-10 16:54:07 +02:00
Sébastien Wilmet
1f87c1cc0b app: improve code of extract_accels_from_menu()
sub_model is clearer than "m". And we don't use the key, so we can pass
NULL instead.

https://bugzilla.gnome.org/show_bug.cgi?id=764846
2016-04-10 16:54:07 +02:00
Sébastien Wilmet
687d3eb48f app: use g_set_object()
https://bugzilla.gnome.org/show_bug.cgi?id=764846
2016-04-10 16:54:07 +02:00
Sébastien Wilmet
29971b0cc9 app: don't use deprecated function
gtk_application_add_accelerator() is deprecated, but was still used
inside IGNORE_DEPRECATIONS's.

https://bugzilla.gnome.org/show_bug.cgi?id=764846
2016-04-10 16:54:07 +02:00
Sébastien Wilmet
399e8db336 app: improve doc of gtk_application_get_window_by_id()
https://bugzilla.gnome.org/show_bug.cgi?id=764846
2016-04-10 16:54:07 +02:00
Sébastien Wilmet
40e40b7ffc app: improve doc of gtk_application_set_accels_for_action()
When reading the API for the first time I didn't know what was the
"detailed" action name.

https://bugzilla.gnome.org/show_bug.cgi?id=764846
2016-04-10 16:54:07 +02:00
Sébastien Wilmet
48afd8a5f0 app: avoid code duplication for setting accels
The implementation of the deprecated functions is now based on the
non-deprecated gtk_application_set_accels_for_action().

https://bugzilla.gnome.org/show_bug.cgi?id=764846
2016-04-10 16:54:06 +02:00
Lukas K
8fc1ca1ef2 Fix gtk_scrollable_get_border annotation
https://bugzilla.gnome.org/show_bug.cgi?id=764540
2016-04-10 15:56:29 +02:00
Matthias Clasen
abff6e23c0 inspector: simplify some code 2016-04-09 15:48:34 -04:00
Sébastien Wilmet
6db7de3f7b app: fix indentation
And add missing curly braces.
2016-04-09 18:54:42 +02:00
Matthias Clasen
af1c873bca inspector: Use GdkAxes instead of GdkAxisUse 2016-04-09 12:14:33 -04:00
Matthias Clasen
d83ad00f9e inspector: Add an origin mark to the slowdown scale
Makes it easier to get back to the original speed.
2016-04-09 11:56:08 -04:00
Matthias Clasen
e6c408c08a inspector: Give the font scale an entry
This matches what Matt did for the slowdown.
2016-04-09 11:56:08 -04:00
Sébastien Wilmet
b3dc473057 docs: trivial fixes in GtkApplication-related documentation 2016-04-09 09:45:33 +02:00
Matt Watson
a970ba5ef6 animatedstyle: don't share styleanimations
Because of our port of css animation and css transition to
progress tracker, we should not think of animated styles as
immutable objects that can map any timestamp to css values.
Rather, timestamps can correspond to different values depending
on the value of GTK_SLOWDOWN over the course of the animation.

To keep animated styles and style animations totally immutable,
we will not share styleanimations between animatedstyles, and
make a new copy of a styleanimation for each timestamp.
2016-04-08 16:09:30 -07:00
Matt Watson
7b68bdb831 animatedstyle: just ref current style if timestamp the same 2016-04-08 16:09:30 -07:00
Matt Watson
6a88ac3b4c animatedstyle: fail to create new style if timestamp goes backwards
With slowdown factor, we will only we be able to handle timestamps
that monotonically increase.
2016-04-08 16:09:30 -07:00
Matt Watson
2800b00e1d cssanimation: port to progress tracker 2016-04-08 16:09:30 -07:00
Matt Watson
50e057e025 csstransition: port to progress tracker 2016-04-08 16:09:30 -07:00
Matt Watson
511f138328 entry: port to progress tracker 2016-04-08 16:09:30 -07:00
Matt Watson
d57ebe2de7 progressbar: port to progress tracker 2016-04-08 16:09:30 -07:00
Matt Watson
5237b7a6b0 scrolledwindow: port indicator fade to progress tracker 2016-04-08 16:09:30 -07:00
Matt Watson
dc8b80cd32 popover: port to progress tracker 2016-04-08 16:09:30 -07:00
Matt Watson
7ad64a20aa switch: port to progress tracker 2016-04-08 16:09:30 -07:00
Matt Watson
2ff62595ed revealer: port to progress tracker 2016-04-08 16:09:30 -07:00
Matt Watson
62b224a8df stack: skip first frame for animations
Not the ideal solution for this problem, but in practice leads to
much better performance on lower end hardware.

Stack does a double draw on the first frame of its animation, of
both the old contents (into a cairo surface) and the new contents.
Homogeneous stacks only need to reallocate contents on the first
frame.

On lower powered hardware where our frames will be a good deal
slower than the refresh rate anyway, we can assure a smother
experience by waiting a frame to start tweening where frame duration
will be more consistent.
2016-04-08 16:09:30 -07:00
Matt Watson
3909f818c4 stack: port to progress tracker 2016-04-08 16:09:30 -07:00
Matt Watson
46b120b35e inspector: add slider to control slowdown factor 2016-04-08 16:09:29 -07:00
Matt Watson
f2979323bf progresstracker: add GTK_SLOWDOWN environment variable
As we consolidate widgets to use progress tracker, this will allow
us to control the speed of all animations in a centralized place
2016-04-08 16:09:29 -07:00
Matt Watson
e71d09e9cb progresstracker: simple struct to track animation progress 2016-04-08 16:09:29 -07:00
Olivier Fourdan
83e775147f wayland: do not update shadows for child windows
glade-previewer places a gtkwindow inside another toplevel gtkwindow,
updating the shadow width for the client induces a busy loop where the
parent will grow continuously until it crashes gnome-shell/mutter.

To avoid the loop, do not update the shadow width if not dealing with a
toplevel window.

Bugzilla: https://bugzilla.gnome.org/show_bug.cgi?id=761651
2016-04-08 16:59:36 +02:00
Wouter Verhelst
28fc4de6aa Clarify that one cannot use the same variable
A naive way to perform an action on all parent nodes of a given node
could be to do:

while(gtk_tree_model_iter_parent(model, &iter, &iter)) {
	/* perform some action on iter here */
}

However, since gtk_tree_model_iter_parent() will initialize the iterator
pointed to by the second parameter before performing the lookup, this
will not work.

Explicitly document this behaviour.

Signed-off-by: Wouter Verhelst <w@uter.be>

https://bugzilla.gnome.org/show_bug.cgi?id=573380
2016-04-05 11:01:53 -04:00
Bastien Nocera
becc0d45b6 recent-manager: Fix "format not a string literal" error
https://bugzilla.gnome.org/show_bug.cgi?id=764585
2016-04-05 12:58:58 +02:00
Bastien Nocera
6a5224ffcb file-chooser-widget: Fix "format not a string literal" error
https://bugzilla.gnome.org/show_bug.cgi?id=764585
2016-04-05 12:58:58 +02:00
Bastien Nocera
a8c59543cf about-dialog: Fix "format not a string literal" errors
A non-intrusive fix.

https://bugzilla.gnome.org/show_bug.cgi?id=764585
2016-04-05 12:58:58 +02:00
Bastien Nocera
bf8653c2e1 ui-manager: Fix "format not a string literal" errors
Quite a bit of code movement, but necessary to build with the
default format errors produced by newer versions of GCC.

https://bugzilla.gnome.org/show_bug.cgi?id=764585
2016-04-05 12:58:58 +02:00
Lapo Calamandrei
85e37925f0 Adwaita: transparent textview border border
So it will play nicely with gedit color combinations.
See https://bugzilla.gnome.org/show_bug.cgi?id=764203
2016-04-04 12:03:11 +02:00
Timm Bäder
58891c1fe5 headerbar: Don't underallocate the label box
We use a label_sizing_box to make sure the headerbar can always contain
both a title and a subtitle without resizing when showing/hiding either
of them, but we should only do that for the height; the min width of the
label_box can be larger than that of the label_sizing_box.
2016-04-02 17:03:52 +02:00
Lapo Calamandrei
d23c6c6246 Adwaita: style textview border
see https://bugzilla.gnome.org/show_bug.cgi?id=764203
2016-04-02 16:24:52 +02:00
Lapo Calamandrei
f2f1725b40 Adwaita: cosmetic fixes 2016-04-02 16:03:02 +02:00
Lapo Calamandrei
b1205a9c96 Adwaita: set secondary caret color to selection blue
see https://bugzilla.gnome.org/show_bug.cgi?id=764204
2016-04-01 16:48:13 +02:00
Rui Matos
4bfa6c30bf gtkwindow: Don't allow unresizable windows to be smaller than required
Commit cdc580463e made it so that
unresizable windows can't be smaller than a set default size but it
lost the logic to ensure these windows remain at least big enough to
comply with their requisition.

https://bugzilla.gnome.org/show_bug.cgi?id=764174
2016-04-01 15:30:03 +02:00
Timm Bäder
84dfda1a2b widget: Always warn when underallocating widgets 2016-04-01 10:04:25 +02:00
Matthias Clasen
d1acb786a7 icon theme: Make the builtin hicolor index match reality
We were missing all of the status directories, and a few sizes.
This was causing us to not find image-missing on systems without
hicolor icon theme (this basically only happens on Windows).

https://bugzilla.gnome.org/show_bug.cgi?id=764378
2016-03-31 07:12:50 -04:00
Matthias Clasen
d8da5879aa Adwaita: theme acceleditor > label
We need to have an opaque background here, otherwise the underlying
cell shines through.

https://bugzilla.gnome.org/show_bug.cgi?id=764376
2016-03-30 19:50:22 -04:00
Matthias Clasen
72178fd0c9 Accel cell renderer: Set a css name
Give the event box we use here the distinctive name "acceleditor".
2016-03-30 19:50:22 -04:00
Benjamin Otte
71a5f07620 widget: queue a redraw only if resize highlighting is enabled
e8aa9b0440 introduced a new debug mode
that highlights resizes. Unfortunately it has the side effect of
always queueing redraws even when the debug mode is not enabled.
Make the redraw conditional.
2016-03-30 21:44:58 +02:00
Debarshi Ray
fd143a2b38 window: Make the sample code obey the party line on geometry widgets
The geometry_widget parameter is deprecated [1]. If one is passed, we
remove GDK_HINT_BASE_SIZE and GDK_HINT_RESIZE_INC from the mask [2].

[1] commit 08974a1e9a
[2] commit f7cc4abbad

https://bugzilla.gnome.org/show_bug.cgi?id=764321
2016-03-30 13:21:50 +02:00
Debarshi Ray
27a1b50bc6 window: Fix gtk_window_set_geometry_hints documentation
The geometry_widget parameter is ignored from 3.20 onwards [1], not
3.18 as mentioned in the documentation.

[1] commit 08974a1e9a

https://bugzilla.gnome.org/show_bug.cgi?id=764321
2016-03-29 19:31:59 +02:00
Lapo Calamandrei
38f94194a6 Adwaita: set caret-color for drop targets 2016-03-29 15:06:11 +02:00
Lapo Calamandrei
e7cd3dddd8 Adwaita: cosmetic fix 2016-03-29 15:01:57 +02:00
Benjamin Otte
a91237d65e window: Remove suspicious branch
While this commit was found to make emacs windows shrink (and it was
reverted in the gtk-3-20 branch for that reason), that was the only
observed breakage, while the reversal broke several of our unit tests.

Closer study of the emacs sources revealed that it does some really
unsupportable things like doing its own X event handling behind GTK+'s
back and freely mixing sizes of GtkWindows and GdkWindows obtained in
various ways. I've filed a bug against emacs with suggestions for how
to avoid the shrinking window, regardless of this commit.

Original commit message:

It seems this branch is not needed anymore. It was originally added in
1999 to support gtk_widget_realize(), but all those reasons seem
obsolete today.
Instead just call gtk_widget_realize().

If you end up at this commit when bisecting:
There is no bug that made me remove this code, it was purely meant to be
cleanup / dead code removal. I seem to have introduced a new bug or
bisecting wouldn't have let you here. So it seems we should just revert
this commit.
2016-03-28 17:05:09 -04:00
Timm Bäder
aeed695e26 gtkapplication: _get_app_menu can return NULL 2016-03-28 18:18:20 +02:00
Matthias Clasen
568feffa69 Use dngettext instead of ngettext
Since we are a library, we have to pass the domain explicitly.

https://bugzilla.gnome.org/show_bug.cgi?id=764261
2016-03-27 19:00:31 -04:00
Matthias Clasen
5dabfa7b39 places sidebar: Plug a small memory leak
_gtk_trash_moniotr_get_icon is transfer full, so we have
to unref the icon.
2016-03-27 18:42:25 -04:00
Cosimo Cecchi
b6b53fc19c GtkClipboard: fix a typo 2016-03-27 08:39:44 -07:00
Cosimo Cecchi
efea673c31 GtkCssSection: remove duplicated documentation
Fixes a build time warning.
2016-03-27 08:35:13 -07:00
Cosimo Cecchi
26f9dc6508 scale: fix marks node position for scales with value
We should only count the value node as the first/last one if its
position matches.
2016-03-26 22:43:53 -07:00
Cosimo Cecchi
9f48b6b07a range: use gadget pointers for grab/mouse locations
Simplify code and remove the mouse location indirection.
2016-03-26 22:43:53 -07:00
Cosimo Cecchi
6efc06ef5c scale: remove impossible case
We only create the gadget when the markup is not empty, so we don't
need to check again here.
2016-03-26 22:43:53 -07:00
Cosimo Cecchi
b989910293 scale: cache pango layouts for mark labels
Constantly creating pango layouts while drawing means that animations
will be slow. Instead, cache the pango layout in the mark structure.
2016-03-26 22:43:53 -07:00
Matthias Clasen
100cf2442e Add a function to get the selection of a clipboard
This was requested in
http://bugzilla.gnome.org/show_bug.cgi?id=730821
2016-03-26 23:30:21 -04:00
Matthias Clasen
cb738bc201 Remove private clipboard api from public headers 2016-03-26 23:17:53 -04:00
Matthias Clasen
0d0980f30e filter model: Mark property nicks and blurbs for translation
Better descriptions are not going to happen... might as well
admit it.
2016-03-26 18:59:02 -04:00
Matthias Clasen
b1b271ab09 Drop some more code
This ifdefed out function was only used in the code I just nuked,
so it can go as well.
2016-03-26 18:53:55 -04:00
Matthias Clasen
543ad3aabb file chooser: Drop unused code
We've never restored filechooser positions, and we aren't going to.
2016-03-26 18:52:04 -04:00
Matthias Clasen
8d874cf0f8 Stop using pango_split_file_list
Add a copy of this deprecated utility in gtkutils.c and use
it instead of the pango API.
2016-03-26 18:19:37 -04:00
Matthias Clasen
6994fe03ee Split off copied pango utils in their own source
This will make it easier to use them in more than one place.
2016-03-26 18:12:16 -04:00
Matthias Clasen
e2d89b9931 Revert "window: Remove suspicious branch"
This reverts commit 67ab00e01e.

Bisection showed that this commit caused emacs windows to shrink
to a small size when first shown.
2016-03-26 17:38:40 -04:00
Matthias Clasen
7fe1037e84 range: Simplify highlight allocation
Since we are really only interested in the center point of the
slider allocation, the pre-computed slider geometry is perfectly
fine, just use it always. This avoids the complication with
gadget visibility.
2016-03-26 13:50:42 -04:00
Matthias Clasen
e33188ad41 range: Avoid miscalculating highlight allocation
The slider gadget may be turned invisible as side-effect of
gtk_range_calc_slider(). If that happens,
gtk_css_gadget_get_content_allocation() returns { 0, 0, 0, 0},
which leads us to calculate a negative allocation for the highlight
node. Avoid this, by just reusing our already calculated slider
allocation in this case (it is not technically the same as the
content, allocation, but the difference hardly matter here.

https://bugzilla.gnome.org/show_bug.cgi?id=764022
2016-03-26 10:50:00 -04:00
Matthias Clasen
82bde5b84d HighContrastInverse: Fix suggested-action colors
Choose a suitable foreground color instead of hardcoding white.

https://bugzilla.gnome.org/show_bug.cgi?id=764170
2016-03-25 22:45:55 -04:00
Christoph Reiter
72346cb209 inspector: add slider for adjusting the font scale
https://bugzilla.gnome.org/show_bug.cgi?id=761435
2016-03-25 16:10:28 -04:00
Matthias Clasen
826f729b6f stack switcher: Add a missing include 2016-03-25 15:52:33 -04:00
Matthias Clasen
6ac7b54378 dnd: Move GtkDragDest to a separate file
This follows what was done for GtkDragSource in
415030d25f and shaves another
500 lines off gtkdnd.c.
2016-03-25 15:37:20 -04:00
Mohammed Sadik
d47c7f7ba0 gtkaboutdialog: don't break ABI in GtkLicense enum
As the elements in the enum are not explicitly numbered, inserting an
element between some other elements shall change the values of elements
after the insertion. So append the new element at the end.

Anyway, no code should rely on the position of an element in an enum.

https://bugzilla.gnome.org/show_bug.cgi?id=763850
2016-03-25 18:38:46 +01:00
Olivier Fourdan
5d34cf64a2 popover: raise when showing
Some other widget might have mapped and raised another child window of
the toplevel in the meantime, causing the popover window to be covered.

Raise the popover window to avoid the issue.

Bugzilla: https://bugzilla.gnome.org/show_bug.cgi?id=763627
2016-03-25 17:23:34 +01:00
Razvan Chitu
65687ba392 trashmonitor: change trash monitoring process
The trash is monitored for state changes - going from empty to non-empty and the
other way round. Monitoring is done by handling change signals from a regular
file monitor. On each signal, an enumeration of the trash contents is started in
order to see if it is empty or not. This causes issues when many files are
trashed, because the gvfs trash backend is flooded with enumeration requests,
resulting in CPU usage spikes. In order to fix this, the "item-count" attribute
of the trash should be queried instead.

Replace asynchronous enumeration with asynchronous information query and update
the trash state based on the "item-count" attribute. Emit state change signal
only when the state actually changes.

https://bugzilla.gnome.org/show_bug.cgi?id=763600
2016-03-24 23:20:14 -04:00
Mohammed Sadik
40e777ae30 gtkaboutdialog: Add support for GNU Affero GPLv3+
Add support for GNU Affero GPLv3 (or later) to GtkLicense enum

https://bugzilla.gnome.org/show_bug.cgi?id=763850
2016-03-24 23:18:40 -04:00
Benjamin Otte
cd78fa15ed menu: Clip children to view window
Don't overdraw the arrow allocations.

https://bugzilla.gnome.org/show_bug.cgi?id=764118
2016-03-24 20:25:49 +01:00
Jakub Steiner
ac62bc0df9 High Contrast Inverse: switches
- make sure both non active and active states are contrasty

https://bugzilla.gnome.org/show_bug.cgi?id=763802
2016-03-24 16:43:20 +01:00
Jakub Steiner
7ac7b523d8 High Contrast Inverse: set contrasty selected items
- selected bg was set lighter without appropriate fg color

https://bugzilla.gnome.org/show_bug.cgi?id=763804
2016-03-24 16:35:19 +01:00
Jakub Steiner
adb2b5c758 High Contrast Inverse: scale trough fix
- make the trough more visible for HCI

https://bugzilla.gnome.org/show_bug.cgi?id=763805
2016-03-24 16:32:01 +01:00
Lapo Calamandrei
16dc164292 Adwaita: avoid sizing transition on the scale...
... since it ends up jumpy.
2016-03-24 13:15:23 +01:00
Lapo Calamandrei
f5b6ab4557 Adwaita: placesview connect to server label padding
adds some padding to the "connect to server" label
2016-03-24 11:33:33 +01:00
Lapo Calamandrei
aa821429b1 Adwaita: fix menu scroll arrows positioning
adresses the style part of
https://bugzilla.gnome.org/show_bug.cgi?id=764118
2016-03-24 11:25:52 +01:00
Benjamin Otte
41195f6300 switch: An active switch is :checked
Fix an oversight that should have happened in the gadget refactoring:
An active switch should be :checked, just like togglebuttons,
checkbuttons, etc.
2016-03-23 18:14:57 +01:00
Matthias Clasen
65927caf84 inspector: Look for themes in system data dirs
This matches what GTK+ does now.
2016-03-22 08:22:48 -04:00
Matthias Clasen
7cb36aba40 Load theme settings from the right location
When loading a per-theme settings.ini file, look for it in
the same directory where we found the gtk.css file for the
theme. Previously, we were always looking in
$prefix/share/themes/THEME/gtk-3.0/, even if the css was
loaded from somewhere else.

https://bugzilla.gnome.org/show_bug.cgi?id=641354
2016-03-21 22:19:19 -04:00
Matthias Clasen
475d916eb9 Also look in system data dirs for themes
With this change, we now look in
$XDG_DATA_HOME/themes/THEME/gtk-3.x
$HOME/.themes/THEME/gtk-3.x
$XDG_DATA_DIRS/themes/THEME/gtk-3.x
GTK_DATA_PREFIX/themes/THEME/gtk-3.x

https://bugzilla.gnome.org/show_bug.cgi?id=641354
2016-03-21 22:19:19 -04:00
Lapo Calamandrei
ee94f9ff89 Adwaita: simplify treeview:drop(active) code 2016-03-21 19:42:54 +01:00
Benjamin Otte
45dfdbce3f textview: Track differences between ink and logical rects
This way, we can ensure that we queue redraws on the full ink rect. This
is particularly visible for squiggly underlines in spell checking.

https://bugzilla.gnome.org/show_bug.cgi?id=763741
2016-03-21 13:26:57 -04:00
Matthias Clasen
08a0257893 Fix the build 2016-03-21 12:10:44 -04:00
Matthias Clasen
26617bb9b4 shortcutswindow: Make the search button square
Add the image-button style class to this button (this doesn't
work automatically here, since this is a toggle button).

https://bugzilla.gnome.org/show_bug.cgi?id=763604
2016-03-21 12:00:02 -04:00
Matthias Clasen
4ae057f07b Adwaita: Update treeview drop target styling
This reinstates the between-the-rows highlight that was lost
at some point.

https://bugzilla.gnome.org/show_bug.cgi?id=763808
2016-03-21 11:56:17 -04:00
Matthias Clasen
12c5ca5c01 treeview: Update drop target highlighting
Stop using the .dnd style class, and instead use the
:drop(active) pseudo state, together with .before and .after
classes.

https://bugzilla.gnome.org/show_bug.cgi?id=763808
2016-03-21 11:56:17 -04:00
Matthias Clasen
a5a51e325d quartz: Fix up dnd code
Copy changes to drag highlight drawing from gtkdnd.c to gtkdnd-quartz.c.

https://bugzilla.gnome.org/show_bug.cgi?id=763808
2016-03-21 11:56:17 -04:00
Christian Hergert
ca63330b19 stack: query preferred size for last_visible_child
When animating, we might be changing the size allocation of the previous
stack child. However, we were not querying the size in the process
meaning you would often see warnings about allocating the size without
knowing what it should be.

This simply adds an innocuous size request, since responding to last_child
sizing requests is not all that critical in the transition.

https://bugzilla.gnome.org/show_bug.cgi?id=763900
2016-03-21 11:50:27 -04:00
Debarshi Ray
2407f157c7 print-operation: Be more robust in the error path
This isn't an issue at the moment. Only exporting to a file can fail
by setting by setting an error and it happens to correctly return
GTK_PRINT_OPERATION_RESULT_ERROR regardless of this code.

Still, let's make this block of code more correct to prevent future
changes from introducing broken behaviour.

https://bugzilla.gnome.org/show_bug.cgi?id=763731
2016-03-21 16:09:30 +01:00
Руслан Ижбулатов
404a7185be Improve window title context popup menu fallback
Add "Minimize", "Maximize", "Restore", "Move", "Resize" and "Always on Top"
items to the menu.
This pertially reverts commit 0ea1a526f9.

https://bugzilla.gnome.org/show_bug.cgi?id=763806
2016-03-20 22:02:23 -04:00
Matthias Clasen
5c63ab26da style context: Don't use g_warning for API misuse
We've changed our API here; what these applications are doing
used to be fine. Don't make users suffer for this by spamming their
logs in a stable release. We'll keep the warning in master.

https://bugzilla.gnome.org/show_bug.cgi?id=763796
2016-03-20 20:53:34 -04:00
Lapo Calamandrei
1dcd88961e Adwaita: more evident colorswatch drag hilight 2016-03-21 01:19:12 +01:00
Lapo Calamandrei
4973b55ad9 Adwaita: titlebutton fix
use a better selector and fix the styling on selection-mode.
2016-03-21 01:02:30 +01:00
Lapo Calamandrei
44e225e50b Adwaita: add a transition to the scale slider 2016-03-21 00:46:44 +01:00
Lapo Calamandrei
eacd632e5e Adwaita: add a transition to the switch slider 2016-03-21 00:44:47 +01:00
Lapo Calamandrei
6598dca783 Adwaita: sligthly dim backdrop selected fg color 2016-03-21 00:25:44 +01:00
Lapo Calamandrei
2e2c423c78 Adwaita: clean up 2016-03-21 00:22:24 +01:00
Lapo Calamandrei
de466e7b28 Adwaita: rework places sidebar styling
set colors on rows istead of images.
2016-03-20 23:38:49 +01:00
Lapo Calamandrei
524ca3c2d5 Adwaita: fix treeview spinbutton style 2016-03-20 23:33:51 +01:00
Lapo Calamandrei
c867b17cc8 Adwaita: fix treeview entry style
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=763955
2016-03-20 23:18:49 +01:00
Jakub Steiner
7224dd76db High Contrast: sidebar round buttons
https://bugzilla.gnome.org/show_bug.cgi?id=763774
2016-03-20 22:07:03 +01:00
Paolo Borelli
d457b4f4a5 css: use "disabled" instead of the "insensitivie"
Not only there is a typo, but it is also deprecated.
2016-03-20 17:49:15 +01:00
Benjamin Otte
710285104b styleproperties: Really don't use 'i' in inner loop
I apparently was too tired when doing
8cebc125da and forgot to replace one
instance of 'i' with 'j'.

Thanks Timm for finding that one.
2016-03-20 13:43:46 +01:00
Benjamin Otte
8cebc125da styleproperties: Don't use the same loop variable in nested loops
http://www.viva64.com/en/b/0383/
2016-03-20 05:37:23 +01:00
Benjamin Otte
ca3607c219 menubar: Remove duplicate flags value
http://www.viva64.com/en/b/0383/
2016-03-20 05:30:43 +01:00
Benjamin Otte
c76424a842 calendar: Remove duplicate flags value
http://www.viva64.com/en/b/0383/
2016-03-20 05:27:19 +01:00
Benjamin Otte
58b7512b53 cssshadowvalue: Fix copy/paste issue
http://www.viva64.com/en/b/0383/
2016-03-20 05:26:39 +01:00
Benjamin Otte
3308122c32 placesview: Simplify
http://www.viva64.com/en/b/0383/
2016-03-20 05:18:38 +01:00
Benjamin Otte
c6834a002f pathbar: Order button CSS nodes right
The previous code ordered them the wrong way, so the first button (from
a CSS pov) was the last visible one.
2016-03-20 05:18:04 +01:00
Lapo Calamandrei
397bacee6e Adwaita: fix places sidebar icons style
the color wasn't changing in backdrop.
2016-03-19 20:13:06 +01:00
Lapo Calamandrei
0174803149 Adwaita: added a transition to the backdrop state to most widgets 2016-03-19 19:56:15 +01:00
Lapo Calamandrei
38211ff800 Adwaita: clean up checkbutton and radiobutton styling
some superfluous selectors there since generic label styling was
broken.
2016-03-19 18:59:29 +01:00
Lapo Calamandrei
ec50042228 Revert "Adwaita: checkbutton and radiobutton backdrop color fix"
This reverts commit 43937c6aa0.
Which was needed since the label styling was broken.
2016-03-19 18:57:33 +01:00
Lapo Calamandrei
e079b92a55 Adwaita: fix label styling
backdrop wasn't in the mix, added and adjusted other widgets
styling not to be overridden by it when not needed.
Spotted a typo making the backdrop base color white in the process.
2016-03-19 18:56:41 +01:00
Lapo Calamandrei
20a8ac5542 Adwaita: reset entry props on horizontal spinbuttons
the spinbutton node is where the styling is applied, the leftover
properties on the entry node make a backdrop transition bad.
2016-03-19 18:09:22 +01:00
Lapo Calamandrei
8f2213836c Adwaita: remove commented out code 2016-03-19 17:53:36 +01:00
Lapo Calamandrei
43937c6aa0 Adwaita: checkbutton and radiobutton backdrop color fix
this sets the right backdrop color to the label insider the
aformentined widgets.
2016-03-19 17:46:49 +01:00
Lapo Calamandrei
99e2f91dfe Adwaita: simplify headerbar style 2016-03-19 17:23:39 +01:00
Lapo Calamandrei
5a0aeec3f4 Adwaita: correctly order backdrop decoration node shadows
... otherwise setting a transition to the backdrop state will make
the window resize, since the shadows size gets interpolated.
2016-03-19 17:08:17 +01:00
Lapo Calamandrei
50b5820669 High Contrast: switch style fix 2016-03-18 19:25:09 +01:00
Lapo Calamandrei
48fb37f341 High Contrast: don't hardcode a font-size on the switch 2016-03-18 19:10:36 +01:00
Lapo Calamandrei
a46058451e High Contrast: stronger entry focus indication 2016-03-18 19:05:20 +01:00
Lapo Calamandrei
7d27fd087e High Contrast: fix a typo 2016-03-18 19:03:19 +01:00
Lapo Calamandrei
3b1484f57c Adwaita: fix colorscale shrinking when disabled 2016-03-18 18:38:48 +01:00
Jakub Steiner
ad9865126a High Contrast: fix drop states
https://bugzilla.gnome.org/show_bug.cgi?id=763823
2016-03-18 15:48:52 +01:00
Jakub Steiner
3a529614e5 High Contrast: spinbutton active state
- more contrast for the active state
- osd active state
2016-03-18 15:44:27 +01:00
Jakub Steiner
4fc5832cfd High Contrast: osd spinbutton fixes
- don't jump around for :backdrop
- only shade focused widgets
2016-03-18 15:30:46 +01:00
Jakub Steiner
c94afa01c4 High Contrast: osd spinbuttons
https://bugzilla.gnome.org/show_bug.cgi?id=763846
2016-03-18 15:22:16 +01:00
Jakub Steiner
a076df852b Hight Contrast: scrollbars
https://bugzilla.gnome.org/show_bug.cgi?id=763797
2016-03-18 13:53:30 +01:00
Olivier Fourdan
3e3d29f7b7 gtkwindow: ignore default size if there is a size request
Some applications set both a default size on their gtk window and a size
request on the corresponding gtk widget.

Until now, the default size was ignored for fixed size windows, so this
had no effect and remained unnoticed, but with the recent change for
client-side decorations, the default size is now used even for fixed size
windows, which can cause the resulting fixed size window to be much
smaller than expected with the size request.

For fixed size windows, if we have both a size request and a default
size set, prefer the size request as before.

https://bugzilla.gnome.org/show_bug.cgi?id=763749
2016-03-17 22:40:42 -04:00
Jakub Steiner
1bf3f40cc5 High Contrast: disabled flat buttons
- disabled flat buttons and backdrop state
2016-03-17 14:57:09 +01:00
Jakub Steiner
09168806a2 High Contrast: fix app-notifications
- get rid of the internal frame

https://bugzilla.gnome.org/show_bug.cgi?id=763781
2016-03-17 13:07:04 +01:00
Jakub Steiner
e942aee13d High Contrast: menubar separator
- set menubar apart form the window content

https://bugzilla.gnome.org/show_bug.cgi?id=763777
2016-03-17 13:00:32 +01:00
Lapo Calamandrei
52c362721c High Contrast: fix titlebuttons sizing
... simplifying the scss in the process.
2016-03-17 12:54:10 +01:00
Lapo Calamandrei
b0a25b3aa9 High Contrast: add undecorated button mixin
... which is used in _common.scss, this fixes flat button not
being, well, flat.
2016-03-17 12:54:10 +01:00
Lapo Calamandrei
981985ee50 High Contrast: remove an adwaita leftover
... a missing mixin which makes no sense in HC actually.
2016-03-17 12:54:10 +01:00
Lapo Calamandrei
4a58e751fb Adwaita: fix wide separators 2016-03-17 10:32:35 +01:00
Matthias Clasen
e9de5f1083 HighContrast: Fix actionbar borders
Make the selector more specific so that it doesn't affect contained
boxes. Copied from Adwaita.

https://bugzilla.gnome.org/show_bug.cgi?id=763775
2016-03-16 21:57:49 -04:00
Lapo Calamandrei
1ae5643f59 Adwaita: shrink back big standalone osd buttons 2016-03-16 18:06:56 +01:00
Jakub Steiner
3e6eca537b High Contrast: button metrics
- sync with Adwaita for button definitions

https://bugzilla.gnome.org/show_bug.cgi?id=763706
2016-03-16 15:25:28 +01:00
Jakub Steiner
5e629bc26b High Contrast: spinbuttons
- sync with Adwaita

https://bugzilla.gnome.org/show_bug.cgi?id=763696
2016-03-16 15:15:20 +01:00
Jakub Steiner
b73f428a86 High Contrast: circular buttons
- make sure they are visible on selected rows

https://bugzilla.gnome.org/show_bug.cgi?id=763612
2016-03-16 14:53:47 +01:00
Jakub Steiner
e4f6c76cf8 High Contrast: fix entry and button metrics
- sync with Adwaita

https://bugzilla.gnome.org/show_bug.cgi?id=763610
2016-03-16 14:32:14 +01:00
Lapo Calamandrei
6228233a9e Adwaita: remove a nonsensical comment 2016-03-16 13:42:38 +01:00
Lapo Calamandrei
6ccaa8e3ca High Contrast: keycap styling
sync with Adwaita with some styling tweaks.
2016-03-16 13:34:00 +01:00
Lapo Calamandrei
ef8ef299c4 Adwaita: simplify treeview check and radio scss 2016-03-16 13:11:46 +01:00
Jakub Steiner
286437000b High Contrast: fix metrics for popover menus
- ripped the appropriate bits from Adwaita.

https://bugzilla.gnome.org/show_bug.cgi?id=763609
2016-03-16 12:57:14 +01:00
Jakub Steiner
e5e8ffa3f7 High Contrast: reimplement check and radio
Use a similar structure as Adwaita - using buttons for
radios and checkboxes.

https://bugzilla.gnome.org/show_bug.cgi?id=763707
2016-03-16 12:30:12 +01:00
Timm Bäder
985121813e scale: Fix value height calculation
if (orientation) doesn't make a lot of sense but C doesn't complain and
instead evaluates orientation to TRUE for GTK_ORIENTATION_VERTICAL
(since that's 1), thus inverting the value sizes.
2016-03-16 10:20:17 +01:00
Lapo Calamandrei
6f3a3ea7f3 Adwaita: notebook better header spacing
added some padding to the header and margins to the tabs node when
it's not the only child.
2016-03-15 19:04:21 +01:00
Jakub Steiner
3e567b4900 High Contrast: disabled scales more subtle
Make even the tough border subtle to make it distinct from
normal state.

https://bugzilla.gnome.org/show_bug.cgi?id=763613
2016-03-15 18:28:40 +01:00
Lapo Calamandrei
abfdad3c3d Adwaita: fix progressbar in treeviews styling 2016-03-15 17:02:01 +01:00
Lapo Calamandrei
c6dcc6ee62 Adwaita: add some comments in the GtkScale related scss 2016-03-15 16:13:49 +01:00
Jakub Steiner
87c410d420 High Contrast: checkboxes and radios inside treeviews
- fixes hover state of checkboxes and radios inside treeviews
2016-03-15 15:49:25 +01:00
Jakub Steiner
e44617b351 High Contrast: reimplement gtk scale
- sync with Adwaita to the new box model

https://bugzilla.gnome.org/show_bug.cgi?id=763613
2016-03-15 14:23:56 +01:00
Matthias Clasen
7018a41ce9 Correct a deprecation note
The CSS equivalent for focus-padding is outline-offset.
2016-03-15 09:22:23 -04:00
Jakub Steiner
186ecdf0fa High Contrast: distinct insensitive button
Tone down insensitive buttons.

https://bugzilla.gnome.org/show_bug.cgi?id=746490
2016-03-15 13:25:11 +01:00
Cosimo Cecchi
d61c2b4cce window: stop stomping on resize-mode set by external API
commit c3dc0d80f1 fixed the behavior of
GtkContainer widgets requesting an IMMEDIATE resize-mode.

However, GtkWindow has been stomping on resize-mode during realize()
since commit addcc64b9c. The combination
of factors that led to this not being a visible problem during all this
while is uncertain, but this now causes the Shell to continuously try to
relayout its ShellEmbeddedWindow (a GtkWindow subclass).

This commit separates the resize-mode as set internally by GtkWindow
from the one set with the external API, so that GtkWindow only changes
it when it had not been set before by the subclass.

https://bugzilla.gnome.org/show_bug.cgi?id=763650
2016-03-14 16:10:15 -07:00
Lapo Calamandrei
183276aa65 Adwaita: fix vertical linked spinbuttons
which I broke in a previous commit...
2016-03-14 19:36:12 +01:00
Lapo Calamandrei
32b410c77b Adwaita: more drag hilight fixes 2016-03-14 19:20:15 +01:00
Carlos Garnacho
0b840a04a2 GtkScrolledWindow: Do not hover one scrollbar if grabbing on the other
Makes no sense since we're not going to interact with it. It'll be
hovered eventually if the button is released.
2016-03-14 19:18:14 +01:00
Carlos Garnacho
2173b6d483 GtkScrolledWindow: Check proximity on both indicators on grab-end leave events
The implicit grab may be finished so the pointer lies on top of the other
scrollbar, in this case one scrollbar should lose the hovering state, and
the other should gain it. So we must check for proximity in both indicators.
2016-03-14 19:18:14 +01:00
Lapo Calamandrei
baab1ebcc1 Adwaita: use a green (Tango Chameleon 3) for drag hilight 2016-03-14 18:46:56 +01:00
Lapo Calamandrei
8b505d570e Adwaita: placessidebar dnd fixes 2016-03-14 18:40:31 +01:00
Lapo Calamandrei
bbced9a0cf Adwaita: places sidebar selected button fix and refactor 2016-03-14 17:23:35 +01:00
Carlos Garnacho
160a4fe5ac GtkNotebook: Make tab DnD use application/x-rootwindow-drop again
Besides the ::drag-failed handling in order to trigger the window creation
hook, add some handling of the application/x-rootwindow-drop mimetype, so
the same effect is achieved if the tab could be dropped in a destination
accepting this mimetype.

https://bugzilla.gnome.org/show_bug.cgi?id=763387
2016-03-14 16:16:32 +01:00
Carlos Garnacho
83cc7f76d7 GtkWindow: Make it an application/x-rootwindow-drop destination
This makes toplevels pseudo-transparent wrt this mimetype, so if
the drag source offers this mimetype and not another that was
managed by the destination-side widget hierarchy, the window will
be an acceptable target for this mimetype, allowing it to trigger
whatever is meant to in the source side.

https://bugzilla.gnome.org/show_bug.cgi?id=763387
2016-03-14 16:16:32 +01:00
Lapo Calamandrei
2e39df7713 Adwaita: more scss refactoring 2016-03-14 11:26:32 +01:00
Lapo Calamandrei
0696c848ba Adwaita: refactor entry scss 2016-03-14 10:19:05 +01:00
Matthias Clasen
4f45353a19 pathbar: Style slider buttons
Set a style class on the pathbar slider buttons, and have the
theme handle the separately from other image buttons.
2016-03-13 23:09:47 -04:00
Matthias Clasen
8a3c25ca66 path bar: Stop mishandling slider buttons
We must call get_preferred_width/height on the slider buttons
before allocating them, otherwise the layout machinery spews
warnings.
2016-03-13 23:09:41 -04:00
Matthias Clasen
9a21ff3cd2 stack switcher: Support switching during DND
GtkNotebook will switch pages if you hover over a tab
during DND. The same makes sense in GtkStackSwitcher,
so implement it here.
2016-03-13 00:11:52 -05:00
Lapo Calamandrei
d00e19a3cd Adwaita: some more selector housekeeping 2016-03-12 19:35:56 +01:00
Lapo Calamandrei
ff05ccf18e Adwaita: smarter scss extentions for titlebuttons 2016-03-12 19:32:42 +01:00
Lapo Calamandrei
dfc41b34f7 Adwaita: smarter scss extentions on the notebook
avoiding spawning unneeded selectors.
2016-03-12 19:26:52 +01:00
Lapo Calamandrei
2885f1b3a2 Adwaita: fix notebook overflow arrows styling
which correctly go :active now, istead of :checked as in the past.
2016-03-12 19:02:48 +01:00
Lapo Calamandrei
e44ea315d5 Adwaita: set back drag hilight color to black
...I erroneusly pushed a test green there, this will probably
change again, but that green wasn't right.
2016-03-12 15:27:53 +01:00
Lapo Calamandrei
8003937a68 Adwaita: textview drag hilight 2016-03-12 15:22:35 +01:00
Lapo Calamandrei
b46f7223ac Adwaita: scss cosmetic fixed 2016-03-12 15:03:07 +01:00
Lapo Calamandrei
39c8ad53b5 Adwaita: reset filechooserbutton:drop(active) 2016-03-12 14:21:21 +01:00
Matthias Clasen
d345a7a60e color editor: Improve popup positioning
Don't make the popup follow the slider while it is open; that
makes interaction with it unnecessarily hard. Also move all the
popups inwards a little bit, so they are not flush with the
scales, which looks untidy.

https://bugzilla.gnome.org/show_bug.cgi?id=763380
2016-03-11 22:44:17 -05:00
Matthias Clasen
5f00a9b4ec scrolled window: Fix scrollbar size allocation
We were not taking the scrollable borders into account when
requesting size for the scrolled window, which could lead
to underallocating the scrollbars at size allocation time
when we *did* take the borders into account.

This is most notable with treeviews, where we have the
headers as borders, and was causing the treeview-crash-too-wide
reftest to fail.
2016-03-11 21:42:33 -05:00
Matthias Clasen
07e6eae3e5 file chooser button: Set a CSS name
This lets us differentiate the main node from regular boxes.
2016-03-11 21:42:33 -05:00
Matthias Clasen
2f4f164078 Fix a typo
We don't want to get the padding twice.
2016-03-11 16:38:41 -05:00
Matthias Clasen
5e68c4e62d inspector: Reset the treewalk when required
The tree walk holds a tree iter, which will become invalid
when we either remove the row that it points to or remove
all rows.

Reset the tree walk in those cases to avoid a crash that
was pointed out by Bastien Nocera.
2016-03-11 13:53:57 -05:00
Matthias Clasen
2e34ce8f7c inspector: Add api to get the current tree walk position
This will be used in the next commit.
2016-03-11 13:53:57 -05:00
Matthias Clasen
a6d575ed61 typo fix 2016-03-11 13:53:57 -05:00
Timm Bäder
4b0abc13e3 range: Fix a few typos
Depreacated -> Deprecated
through -> trough
2016-03-11 19:18:07 +01:00
Sebastien Lafargue
09b837183e textview: Fix drag highlight problems 2016-03-11 19:14:16 +01:00
Matthias Clasen
63b03ce836 Better debug messages for actions
Unify the debug messages between actionhelper and menutracker,
and add some more context to some of them.
2016-03-11 12:20:33 -05:00
Lapo Calamandrei
3c89c11328 Adwaita: set a min-width on horizontal spinbutton entry
to accomodate at least 3 chars, before overflowing.
2016-03-11 18:02:37 +01:00
Lapo Calamandrei
5085e1c70d Adwaita: rounded corners for colorscale popup 2016-03-11 18:01:36 +01:00
Benjamin Otte
eeb945e4c1 inspector: Widgets update automatically when CSS changes
There's no need to force-invalidate their CSS.
2016-03-11 17:00:41 +01:00
Benjamin Otte
b7285592f9 cssanimation: Compute progress correctly
We were computing the wrong progress, in particular when the iteration
count was non-integer.

Test included.
2016-03-11 16:39:34 +01:00
Benjamin Otte
fc7335bdb4 colorscale: Draw a trough
Make sure the color info is actually drawn inside the trough.
2016-03-11 16:39:34 +01:00
Lapo Calamandrei
8351a6e4d6 Adwaita: .osd check|radio style 2016-03-11 16:35:16 +01:00
Lapo Calamandrei
b37e4ff805 Adwaita: simplify vertically linked entries scss code 2016-03-11 14:57:03 +01:00
Matthias Clasen
4c3e4d3ea1 filechooserbutton: Fix drag highlight problems
This widget is a bit unusual in that it is a box that acts as
the drop target, while the visible content is a child of the box.
Propagate :drop(active) to the child to make the highlight visible.
2016-03-11 08:51:50 -05:00
Lapo Calamandrei
e8c5db0425 Adwaita: drop active style fixes
taking care of:
* entries
* buttons (misses some linking logic still)
* comboboxes (untested)
* spinbuttons
2016-03-11 14:44:58 +01:00
Matthias Clasen
ab5ebf6199 calendar: Fix drag highlight problems
Don't propagate :drop(active) to components.
2016-03-11 08:34:01 -05:00
Matthias Clasen
3064e4e406 spinbutton: Fix drag highlight problems
Don't propagate :drop(active) to the buttons.
2016-03-11 08:07:30 -05:00
Matthias Clasen
2fee5fbda7 entry: Fix drag highlight problems
We don't want drag highlights around icons or progress, so don't
propagate the :drop(active) state to them.
2016-03-11 08:02:10 -05:00
Matthias Clasen
1d19065979 range: Fix trough clickability
We previously considered any click inside the trough if it
hit an area that the slider might cover. Bring this behavior
back; the trough of scales is otherwise just too narrow to
hit easily with a click.
2016-03-11 01:27:21 -05:00
Matthias Clasen
1a5cb41bd9 Use per-display debug flags for visual debugging 2016-03-11 00:22:36 -05:00
Matthias Clasen
02742d5332 Make debug flags per-display
Tihs lets us toggle debug flags in the inspector without affecting
the inspector itself.
2016-03-11 00:22:36 -05:00
Matthias Clasen
f82e4ff362 Trivial formatting fix 2016-03-11 00:22:36 -05:00
Matthias Clasen
97250ea5e6 inspector: Add a switch for the layout debug flag 2016-03-11 00:22:36 -05:00
Matthias Clasen
ad54697594 gadget: Show layout
When the layout debug key is set, overlay boxes for the content
and border area of each gadget.
2016-03-10 23:21:22 -05:00
Matthias Clasen
33d7196dc8 Add a layout debug option
This will be used to show box model borders.
2016-03-10 23:21:22 -05:00
Matthias Clasen
804d330195 Typo fixes
Fix s/occurence/occurrence in many places.
2016-03-10 22:46:02 -05:00
Federico Mena Quintero
edacd5d6ee GtkFileChooserEntry: move the cursor after the user chooses a completion from the list
https://bugzilla.gnome.org/show_bug.cgi?id=756450
2016-03-10 16:03:52 -06:00
Federico Mena Quintero
81059c35d5 GtkFileChooserEntry: regenerate the completions if the dir_part changes
Consider this bug:

1. Open a file chooser; switch it to $HOME

2. Start typing "~/Dow" with some file that *does* exist in your $HOME

3. Delete the inline-completion selection (e.g. the "nloads" after "~/Down").

4. While you are at "~/Dow_" hit Tab.  No completion will occur.

This happens because of the following.

Say the GtkFileChooserEntry is in the process of loading $HOME,
because _set_base_folder() was called.  If the entry contains no text,
then the FULL_PATH_COLUMN of the file system model will be set to
unprefixed filenames from $HOME, like

  .ssh/
  Documents/
  Downloads/
  somefile.txt

Later we avoid reloading the folder if g_file_equal(old_folder, new_folder).

However, the FULL_PATH_COLUMN gets populated in completion_store_set()
out of the actual filenames that GIO returned, plus the chooser_entry->dir_part.

If the user starts typing "~/Dow" then dir_part changes to "~/", *but*
the folder won't be reloaded since it is also $HOME.  However, the completion
machinery assumes that FULL_PATH_COLUMN will contain prefixed entries like

  ~/.ssh/
  ~/Documents/
  ~/Downloads/
  ~/somefile.txt

So, we add an invariant that chooser_entry->dir_part and
chooser_entry->current_folder_file must change at the same time, and
must not get out of sync:  If any of them changes, then the
completions are regenerated.
2016-03-10 15:37:00 -06:00
Matthias Clasen
2b773e07e3 inspector: Show the frame clock in misc
There is no convenient way to get a handle on the frame clock,
otherwise, and the frame clock object is where we show the frame
rate...
2016-03-10 16:21:35 -05:00
Lapo Calamandrei
85d0220800 Adwaita: gtkcolorscale styling. 2016-03-10 13:35:46 +01:00
Matthias Clasen
30faa9a2a9 inspector: Refine strv editor
Put some spacing between the rows, and link the buttons to
the entries they belong to.
2016-03-09 21:59:43 -05:00
Matthias Clasen
6e9fd6832a inspector: Do a better job with readonly properties
Say if they are non-writable or construct-only, and also
gray out construct-only properties in the list.
2016-03-09 21:59:43 -05:00
Matthias Clasen
a28e76f09c GtkActionable: Improve property names
These names show up as title in the property editor
in the inspector, so we want them to look consistent
with the rest.
2016-03-09 21:59:43 -05:00
Matthias Clasen
c24cc63523 inspector: Minor refactoring
Break out some functions in prop-editor.c
2016-03-09 21:59:43 -05:00