summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* cssnode: Track invalid flagBenjamin Otte2015-03-187-39/+69
| | | | Remove it from GtkStyleContext.
* cssnode: Implement refcountingBenjamin Otte2015-03-182-0/+24
| | | | | | | | | The parent refs the child, so gtk_css_node_set_parent() adds/removes a reference. We should probably refactor this so that we name the function parent.add(node) instead of node.set_parent(parent) - makes the refcounting more clear.
* stylecontext: Handle parent in CssNode codeBenjamin Otte2015-03-184-17/+96
| | | | Make CssNode a real tree with a DOM-like API.
* stylecontext: Move relevant_changes tracking to GtkCssWidgetNodeBenjamin Otte2015-03-184-39/+47
|
* cssnode: Handle invalidationBenjamin Otte2015-03-188-78/+123
| | | | | Handle invalidation of node inside the CssNode code, don't do it in the stylecontext.
* stylecontext: Get rid of create_query_path()Benjamin Otte2015-03-183-41/+33
| | | | Move that functionality into GtkCssNode.
* stylecontext: Change arguments for build_propertiesBenjamin Otte2015-03-181-6/+14
| | | | | | Instead of passing the style declaration, take the node's style declaration. Add arguments to allow overriding the state for the one case where this didn't work.
* stylecontext: Compute rootness of CssNodeBenjamin Otte2015-03-181-9/+6
| | | | .. instead of passing it as an argument.
* stylecontext: Pass cssnode to build_propertiesBenjamin Otte2015-03-181-11/+10
|
* stylecontext: Simplify a functionBenjamin Otte2015-03-181-10/+8
|
* stylecontext: Remove values cacheBenjamin Otte2015-03-181-69/+6
| | | | | | | | | | | The code is confusing the stylecontext=>node transition, so I'll remove it. WIth the recent introduction of the parent style cachen, I'm not sure it's worth it at all. Some crude benchmarking suggests a slight speedup when removing the cache. So no guarantees about adding it back later.
* cssnode: Split into 3 objectsBenjamin Otte2015-03-1810-101/+597
| | | | | | | | | - GtkCssWidgetNode for style contexts owned by a widget - GtkCssPathNode for style contexts using a GtkWidgetPath - GtkCssTransientNode for nodes created with gtk_style_context_save()/restore()
* cssnode: Turn into a GObjectBenjamin Otte2015-03-183-24/+53
| | | | This will allow us to use subclasses.
* stylecontext: Turn CssNode accesses into getters/settersBenjamin Otte2015-03-183-42/+220
| | | | That way we can hide the struct in the source file.
* stylecontext: Split out GtkCssNode into own fileBenjamin Otte2015-03-184-63/+142
| | | | | | | | The functionality of it is supposed to grow, so better put it in a custom file early. This is just a naive split so far, the next patches will split things further.
* render: Make image effect not depend on stateBenjamin Otte2015-03-181-11/+13
| | | | | | | Instead rely on -gtk-image-effect only. Adwaita should already work this way. Relying on state was a leftover feature from the GTK 2 days.
* notebook: Protect against invalid allocationsBenjamin Otte2015-03-181-0/+2
| | | | | | | A widget can be mapped but not have a size allocated yet. In that case avoid computing a broken rectangle. https://bugzilla.gnome.org/show_bug.cgi?id=746301
* wayland: Fix thinko in wl_data_source.cancelled handlerCarlos Garnacho2015-03-181-6/+9
| | | | | | | | The wl_data_source may be the clipboard's. Looking up the drag context in order to get the display isn't going to fare well there. So, just use the default display, and only look up the drag context when we know we need it. https://bugzilla.gnome.org/show_bug.cgi?id=746386
* textview: add support for underline and strikethrough colorsChristian Hergert2015-03-178-9/+402
| | | | | | | | | | | | | | | | | | | | This commit adds the GtkTextTag:underline-rgba and :strikethrough-rgba properties and the necessary plumbing to apply these colors in GtkTextLayout. With this change, you can alter the color of underlines including those of type PANGO_UNDERLINE_ERROR. You might want to alter the underline color to differentiate between spelling and grammer mistakes. In code editors, it is convenient to differentiate between errors and warnings. Note that the GtkTextAppearance struct is public ABI and has no spare room for new fields, so we are resorting to some tricky packing to store the colors in the unused pixel field of the fg_color and bg_color structs. This packing is accomplished by the macros in gtktextattributesprivate.h. Signed-off-by: Christian Hergert <christian@hergert.me> https://bugzilla.gnome.org/show_bug.cgi?id=402168
* GtkRange: Fix scroll wheel direction for horizontal rangesMatthias Clasen2015-03-171-7/+7
| | | | | | | | The expected behavior here is that scrolling up goes towards larger values, ie to the right. This matches e.g. volume sliders in gnome-shell. https://bugzilla.gnome.org/show_bug.cgi?id=737175
* scrolled window: Use shift to modify scroll directionMatthias Clasen2015-03-171-3/+17
| | | | | | | | It has been a long-standing request to interpret scroll events with Shift held down as horizontal instead of vertical, and some applications are already doing this on their own. https://bugzilla.gnome.org/show_bug.cgi?id=132197
* HighContrast: Fix calendar selectionMatthias Clasen2015-03-172-2/+5
| | | | | | | The selected day was not differentiated from other days at all. Render it white on black instead. https://bugzilla.gnome.org/show_bug.cgi?id=746369
* HighContrast: Fix color chooser marksMatthias Clasen2015-03-172-8/+18
| | | | | | | The checkmark for the selected color was always black, making it more or less invisible on dark colors. https://bugzilla.gnome.org/show_bug.cgi?id=746368
* HighContrast: catch backdrop:insensitive:active of GtkSwitchJakub Steiner2015-03-172-2/+4
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=746358
* HighContrast: unbreak GtkExpanderJakub Steiner2015-03-172-2/+2
| | | | | | - the open state is checked, not active now https://bugzilla.gnome.org/show_bug.cgi?id=746370
* Updated Swedish translationAnders Jonsson2015-03-171-569/+432
|
* Updated Bulgarian translationZahari Yurukov2015-03-171-1107/+1951
|
* HightContrast: make tab buttons not shift sizeJakub Steiner2015-03-172-2/+8
| | | | | | - only 1px stroke for close buttons in notebook tabs https://bugzilla.gnome.org/show_bug.cgi?id=746149
* HighContrast: OSD fixesJakub Steiner2015-03-173-171/+255
| | | | | | | | - buttons - labels - scale trough/slider https://bugzilla.gnome.org/show_bug.cgi?id=746148
* Add to release notesMatthias Clasen2015-03-171-0/+5
| | | | Mention that GtkSearchEntry now 'eats' some keys.
* 3.15.123.15.12Matthias Clasen2015-03-162-1/+41
|
* Updated Italian translationMilo Casagrande2015-03-161-2192/+2351
|
* Adwaita: desaturate selected color for backdropJakub Steiner2015-03-164-123/+295
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=746202
* widget factory: Add an example for an insensitive model buttonMatthias Clasen2015-03-161-0/+3
| | | | | This will make it easier to make insensitive model buttons appear properly in other themes.
* wayland: Move gtk-shell compatibility version define tooJonas Ådahl2015-03-162-2/+2
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=745721
* Don't pass invalid rectangles to cairoMatthias Clasen2015-03-161-2/+2
| | | | | | | | | This causes pixman warnings, or worse. Clearly, something is not quite right here, if we end up redrawing tabs at a time when the allocation is set to (1, 1). For now, avoid straining the error handling in the lower layers. https://bugzilla.gnome.org/show_bug.cgi?id=746301
* unrealize: Don't ref twiceMatthias Clasen2015-03-161-4/+0
| | | | | After the recent change to add an outermost ref/unref pair, we can do away with the inner one.
* inspector: Remove flash timeout from widgets being unmappedCarlos Garnacho2015-03-161-0/+4
| | | | | Otherwise the timeout can keep running, even if the widget is being destroyed.
* window: Protect against popover destruction on ::unmapCarlos Garnacho2015-03-161-6/+6
| | | | | | | | On popover_unmap(), perform the gtk_widget_unmap() call last, so the GtkWindowPopover data is ensured to be alive throughout the function if the popover widget is destroyed right on ::unmap. https://bugzilla.gnome.org/show_bug.cgi?id=745829
* widget: Take a ref during ::unrealize emissionCarlos Garnacho2015-03-161-0/+2
| | | | | | | In order to prevent invalid memory access/crashes if the widget is destroyed in a callback of that signal. https://bugzilla.gnome.org/show_bug.cgi?id=745829
* widget: Take a ref during ::unmap emissionCarlos Garnacho2015-03-161-0/+2
| | | | | | | This ensures the widget data stays live long enough to perform invariants check after emission if the widget happens to be destroyed on a callback. https://bugzilla.gnome.org/show_bug.cgi?id=745829
* Updated Bulgarian translationZahari Yurukov2015-03-161-1964/+2407
|
* reftests: Fix test on HighContrast themeBenjamin Otte2015-03-161-0/+4
| | | | | | | | We are testing -gtk-icon-style and assume the theme doesn't touch it. But HighContrast forces symbolic icons. And that breaks the reference images. So explicitly set "requested" for everything.
* spinbutton: Fix get_text_area_size for vertical spinbuttonsBenjamin Otte2015-03-161-11/+3
| | | | | | | | Commit c5905b13b97012fc9e9424718bdce34e0989f512 changed the semantics of this vfunc and get_entry_size but I only fixed one of them in the spinbutton subclass. https://bugzilla.gnome.org/show_bug.cgi?id=746282
* wayland: Don't set the wl_surface user_data twiceJonas Ådahl2015-03-161-1/+0
| | | | | | | wl_surface_add_listener already sets the user data pointer, so no need to do it separately before. https://bugzilla.gnome.org/show_bug.cgi?id=746141
* wayland: Ignore setting the same cursor theme as was already setJonas Ådahl2015-03-161-0/+4
| | | | | | | If the name and size of the theme is identical to the current configuration, do nothing. https://bugzilla.gnome.org/show_bug.cgi?id=746141
* wayland: Support scaling of theme based cursorsJonas Ådahl2015-03-165-20/+213
| | | | | | | | | | | | Support scaling of cursors created from themes. The default scale is always 1, but if the pointer cursor surface enters an output with a higher scale, load the larger version of the cursor theme and use the image from that theme. This assumes the theme size is set to one that fits with an output scale = 1. https://bugzilla.gnome.org/show_bug.cgi?id=746141
* wayland: Put interface version defines in a common placeJonas Ådahl2015-03-162-2/+2
| | | | | | So far only one, but put it somewhere all files can see it. https://bugzilla.gnome.org/show_bug.cgi?id=746141
* wayland: Don't set cursor surface scale when we don't have a surfaceJonas Ådahl2015-03-161-4/+3
| | | | | | | | | | | | | The setting of the the surface scale even when the surface is not created from a surface was introduced due to a crash when getting the buffers when dividing by the scale. The only reason I can see this is that we get the buffer from a non-existing surface when the wl_cursor has not yet been set. Instead, use the name field to avoid trying to use the non-existing surface, effectively avoiding the division-by-zero that way. https://bugzilla.gnome.org/show_bug.cgi?id=746141
* HC: no border for insensitive backdrop buttonsJakub Steiner2015-03-162-3/+5
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=746192