Commit Graph

28075 Commits

Author SHA1 Message Date
Timm Bäder
6b12e3948e gtkmain: Fix code example
gtk_init doesn't take parameters anymore
2017-04-25 20:30:37 +02:00
Timm Bäder
29f7bde023 label: Don't use gtk_widget_set_simple_clip
The clip returned by gtk_css_gadget_allocate already includes the
box-shadow size and we manually care about the text-shadow size.
2017-04-25 20:30:37 +02:00
Timm Bäder
b01b5267bb frame: Compute clip directly 2017-04-25 20:30:37 +02:00
Timm Bäder
167fc2b659 listbox: Compute clips directly 2017-04-25 20:30:37 +02:00
Timm Bäder
fe429f8806 gtkwidget: Queue a resize on the parent when unparenting
gtk_widget_set_parent (via gtk_widget_reposition_after) will queue a
resize on the parent widget automatically when adding a child widget, so
unparent should do the same
2017-04-25 20:30:37 +02:00
Timm Bäder
7e1373a08c widget: Fix set_parent/unparent docs to not mention GtkContainer
They can both be used by non-container widgets these days.
2017-04-25 20:30:37 +02:00
Timm Bäder
74ef45bfbf grid: Compute clip directly
Instead of iterating over the children again in
gtk_container_get_children_clip
2017-04-25 20:30:37 +02:00
Timm Bäder
0938183ae6 container: Use gtk_container_forall less
Just iterate over the child widgets directly and produce a much nicer
stack trace when debugging.
2017-04-25 20:30:37 +02:00
Timm Bäder
927f2f5c06 box: Compute clips directly
Instead of using _gtk_widget_set_simple_clip *and*
gtk_container_get_children_clip
2017-04-25 20:30:37 +02:00
Timm Bäder
fb927d1993 box: Remove center child 2017-04-25 20:30:37 +02:00
Timm Bäder
f053a63d74 container: Remove include_internals parameter from forall
with include_internals=TRUE, this is the same as the (still private)
gtk_widget_forall, or just using the children/sibling accessors in a
loop.
2017-04-25 20:30:37 +02:00
Timm Bäder
066c1983ba actionbar: Add explicit center widget
The center widget in GtkBox was only introduced to use it in
GtkActionBar. However, the implementation there is much more complex
than it needs to be, so move the center widget into GtkActionBar instead
and later remove it from GtkBox.
2017-04-25 20:30:37 +02:00
Timm Bäder
c92b7d4224 box: Remove fill child property
GtkWidget:halign and GtkWidget:valign are sufficient
2017-04-25 20:30:37 +02:00
Timm Bäder
5729ea7744 box: Remove expand child property
GtkWidget already has hexpand/vexpand properties.
2017-04-25 20:30:37 +02:00
Timm Bäder
8f4c0bea65 expander: Use widgets for title box and arrow 2017-04-25 20:30:36 +02:00
Timm Bäder
efa9601a10 window: Make sure the decoration node stays at the beginning
Otherwise, the gtk_widget_set_parent call might add the widget node of
the child before the decoration node.
2017-04-25 20:30:36 +02:00
Timm Bäder
73c3579e78 levelbar: Use widgets for all blocks
This replaces all internal gadgets with widgets.

Remaining problem: "block" nodes have a min-width of 32px in Adwaita,
but when allocated in continuous mode, the levelbar doesn't care and
underallocates them.
2017-04-25 20:30:36 +02:00
Timm Bäder
68a5f6519c progressbar: Use widgets for all subgadgets
A GtkLabel for the possible text node and two GtkGizmos for the
trough/progress gadgets.
2017-04-25 20:30:36 +02:00
Timm Bäder
2be675b538 Add GtkGizmo
GtkGizmo is the easiest possible widget to implement. It does nothing
except give its creator a way to control measure/size-allocate/snapshot,
so it can be used in a variety of use cases.
2017-04-25 20:29:02 +02:00
Timm Bäder
ae1a606c8b overlay: Ensure proper child widget order
Make sure the main widget stays below all the overlay children.
2017-04-25 20:29:02 +02:00
Timm Bäder
9644bea2a5 treeview: insert the column button css node in the right place
Insert the css node before setting a parent widget on the column button,
so the gtk_widget_set_parent won't attempt to add the css node as child
of the parent widget css node.
2017-04-25 20:29:02 +02:00
Timm Bäder
ba363fbb71 widget: Add gtk_widget_insert_before/after
To insert a widget into the widget tree before or after a child widget
of the soon-to-be parent.
2017-04-25 20:29:02 +02:00
Timm Bäder
5d94ee8584 listbox: Properly remove placeholders 2017-04-25 20:29:02 +02:00
Daniel Boles
843cd7f22e ProgressBar: Update node summary per last commit
The node named "progress" is a child of the node named "trough".
2017-04-25 11:14:28 +01:00
Timm Bäder
d703cc882d progressbar: Fix position of text node in CSS docs
The text node has always been a child node of the progressbar node, not
the trough node, but the docs claimed otherwise.
2017-04-25 10:56:08 +01:00
Timm Bäder
a919f0c7f3 spinbutton: Add undershoot nodes to CSS docs 2017-04-24 16:24:32 +02:00
Timm Bäder
0acb404166 spinbutton: Remove an unused define 2017-04-24 16:24:20 +02:00
Timm Bäder
68383cfcd3 window: Expand CSS node docs 2017-04-24 16:24:12 +02:00
Timm Bäder
bd55396d39 filechooserbutton: Show/hide appropriate child 2017-04-24 15:58:01 +02:00
Timm Bäder
ccdc50e540 paned: Fix typo 2017-04-24 15:16:15 +02:00
Timm Bäder
911d71ae7a levelbar: Remove unused define 2017-04-24 14:15:28 +02:00
Carlos Soriano
72d13535b7 gtkplacesview.ui: Remove translatable from server label helper
Translating it seems pointless if we can use a non-translatable example
such as gnome.org instead of foo.example.com.

This will help to make changes in here without breaking string freeze.

https://bugzilla.gnome.org/show_bug.cgi?id=781622
2017-04-22 21:53:45 +02:00
Carlos Soriano
73d13fbdac gtkplacesview: Fix unmounted open in tab/window
We were send the "open-location" signal without mounting first the
location if necessary, making the open in tab/window context menu not
work for those.

This patch makes sure we mount the location before emitting the signal.

https://bugzilla.gnome.org/show_bug.cgi?id=771269
2017-04-22 11:54:23 +02:00
Georges Basile Stavracas Neto
400db31ad3 placesview: fix testsuite
Because the network monitor can perfectly be NULL,
the tests were failing on that for GtkPlacesView
always tries to disconnect this handler.

Fix that by only disconnecting the handler when
the network monitor exists.

https://bugzilla.gnome.org/show_bug.cgi?id=781195
2017-04-11 16:50:33 -03:00
Georges Basile Stavracas Neto
767927aef3 places-view: monitor network
GtkPlacesView exposes local access points and network
shares transparently by using the 'network:///' URI,
which is handled by GIO.

Currently, however, it doesn't monitor the network
for new available points, such as computers that just
join the network. It may happen too that the backend
won't find all the networks before the network enumeration
finishes.

Fix that by keeping a file monitor inspecting the network
uri, and update the places list when that happens.

https://bugzilla.gnome.org/show_bug.cgi?id=781162
2017-04-10 19:36:02 -03:00
Alberts Muktupāvels
acf50005ab gtkheaderbar: add style classes to all title buttons
Commit b187773053 added CSS style
classes for minimize, maximize and close buttons. Add similar classes
also to icon and menu buttons.

https://bugzilla.gnome.org/show_bug.cgi?id=780944
2017-04-06 15:34:49 +03:00
Matthias Clasen
7860e2d5cd flowbox: don’t try to focus or draw NULL widgets
Rubberbanding over an empty area results in warnings, due to the code
trying to focus and queue a null pointer for drawing.

https://bugzilla.gnome.org/show_bug.cgi?id=780734
2017-04-05 20:15:32 -04:00
Emmanuele Bassi
c9a5d51539 Use the newly added g_object_new_with_properties()
Instead of the deprecated g_object_newv().

This requires some internal surgery to create our own vector of names
and values, but it does not functionally change anything.
2017-04-02 17:29:38 +01:00
Emmanuele Bassi
4471f274b9 Ignore deprecation warnings for g_object_newv()
GLib has deprecated GParameter and g_object_newv(); until we switch to
the new g_object_new_with_properties() API, and bump GLib required
version, we should simply ignore the compiler warnings.
2017-04-02 17:29:38 +01:00
Timm Bäder
3d2c81c8f1 filechooserwidget: Remove useless gtk_widget_show call 2017-04-02 18:24:17 +02:00
Timm Bäder
7dc8489c8c stack combo: Inherit from GtkWidget 2017-04-02 08:16:54 +02:00
Emmanuele Bassi
f6cbd076dd Rebuild CSS on all SCSS file changes
Adwaita and HighContrast CSS should be rebuild every time one of their
dependent files change, not just the main entry point.

https://bugzilla.gnome.org/show_bug.cgi?id=780041
2017-04-01 16:19:54 +01:00
Emmanuele Bassi
99c79d6769 Optionally depend on sassc to generate the theme CSS
Instead of using Ruby/Sass to generate the CSS from SCSS files, we can
use the faster and more lightweight libsass/sassc binary.

We can keep the CSS files in Git to make it easier to dist GTK+, but we
can add rules to ensure they get rebuilt if the source SCSS changes.

https://bugzilla.gnome.org/show_bug.cgi?id=780041
2017-04-01 15:36:27 +01:00
Timm Bäder
98a78b0d61 dnd: Remove unnecessary non-toplevel GtkWindow in set_icon_surface
Instead of creating a GtkWindow, connecting to ::draw and drawing the
surface in there, then adding that window to another GtkWindow... just
use a GtkImage. This also gets rid of a bunch of utility functions used
only in gtk_drag_set_icon_surface.
2017-04-01 08:40:34 +02:00
Matthias Clasen
60982265fa css parser: Fix names for blend modes
When the blend modes were ported to use gsk defines, some
dashes were accidentally turned into underscores. It also
turns out that we were expecting 'saturate' instead of
'saturation' as per the css spec. Fix that as well.
2017-03-31 12:48:05 -04:00
Matthias Clasen
95d2895a05 switch: Update css docs to reflect current reality
This should have been done when the hierarchy was changed.
2017-03-31 12:48:05 -04:00
Timm Bäder
9bf6107722 infobar: Remove unused defines 2017-03-31 09:54:43 +02:00
Timm Bäder
4dd8d37191 widgetfocus: Use the same function to compare widgets
... in horizontal/vertical direction.
2017-03-31 09:50:40 +02:00
Timm Bäder
c9fc201f77 Implement tab/up-down/left-right focus sorting for widgets
basically do what GtkContainer already did.
2017-03-31 09:50:40 +02:00
Timm Bäder
6e9d857714 Widget: Shuffle focus code around 2017-03-31 09:50:40 +02:00