Commit Graph

21400 Commits

Author SHA1 Message Date
Ryan Lortie
16e02850c1 GtkActionHelper: add some debugging output
Introduce a new debug category "actions" and write some messages from
GtkActionHelper about if we can find the actions or not.

We will probably soon want to add some similar messages to
GtkMenuTrackerItem.

https://bugzilla.gnome.org/show_bug.cgi?id=733965
2014-08-03 00:18:44 +02:00
Matthias Clasen
785c9f5e2c Remove a reference to a non-existing function 2014-08-02 22:26:05 +02:00
Руслан Ижбулатов
bbe475fd97 Use g_clear_object() shorthand for unref-and-set-to-null
https://bugzilla.gnome.org/show_bug.cgi?id=733766
2014-08-02 14:18:05 +00:00
Руслан Ижбулатов
e1acb93415 W32: Don't unregister parent window of an embedded widget
This leads to an assertion failure, because parent window is never registered
in the first place, widget's own GdkWindow is. But that window is unregistered
in a generic fashion by GtkWidget code, so there's nothing for us to do here.

https://bugzilla.gnome.org/show_bug.cgi?id=733766
2014-08-02 14:18:05 +00:00
Руслан Ижбулатов
3fea9ff24c Remove generated gtk-win32.rc from EXTRA_DIST
https://bugzilla.gnome.org/show_bug.cgi?id=733773
2014-08-02 13:07:49 +00:00
Matthias Clasen
14eccae603 GtkWindow: Add a way to declare initial focus in ui files
With this commit, it is possible to use <initial-focus name="blah">
to declare the initial focus widget for a window.

This is related to
https://bugzilla.gnome.org/show_bug.cgi?id=734033
2014-08-02 11:58:13 +02:00
Matthias Clasen
f15ebc2dd2 GtkWindow: Make set_focus work before show
So far, gtk_window_set_focus just did not work when called on
a hidden window. Change it to record the desired focus widget
for hidden windows, and apply it when the window gets shown.

This is similar to how we tread other window properties that
can't be set before the window is realized, like maximized
or fullscreen.

This is related to
https://bugzilla.gnome.org/show_bug.cgi?id=734033
2014-08-02 11:38:23 +02:00
Руслан Ижбулатов
e934ddd498 Ensure that print operation is alive until we're done
https://bugzilla.gnome.org/show_bug.cgi?id=733767
2014-08-01 04:44:46 +00:00
Sébastien Wilmet
6e4e7c22a0 textiter: don't call g_utf8_prev_char() on start of string
Changes also the "goto finally" with a break. A break is more common.

Another way is to use g_utf8_find_prev_char().

https://bugzilla.gnome.org/show_bug.cgi?id=638709
2014-07-31 18:00:49 +02:00
Benjamin Otte
a3d1db608b label: Don't clip text shadows
The previous code for computing the clip rectangle forgot to respect
the text-shadow CSS property. This is usually not very visible because
text shadows usually don't extend the ink rectangle by very much.

See attached testcase for an example.
2014-07-31 17:50:24 +02:00
Benjamin Otte
d6e9997619 css: Fail animation shorthand parsing properly
When a number is not a nubmer, don't just crash, exit properly with an
error code.

See attached testcase for an example.
2014-07-31 10:03:19 +02:00
Benjamin Otte
5f5d3a9d82 css: Don't infloop when parsing broken borders
There was an infinite loop when parsing invalid text after having parsed
a color in the border shorthand. See attached testcase for an example.
2014-07-31 10:03:18 +02:00
Matthias Clasen
83c9fe109e GtkImage: Always close the loader
This was causing some tests to fail with a critical.
2014-07-31 00:12:30 +02:00
Matthias Clasen
bd7e7d1dd6 inspector: Make the action editor more useful
We were not finding the action owner for menuitems, we have to
try harder to walk all the way up to the window.
2014-07-30 23:46:13 +02:00
Matthias Clasen
2b0ae4bad3 GtkPopover: Properly update a11y parent
When the relative-to widget changes, update the accessible parent
of the popovers accessible.

https://bugzilla.gnome.org/show_bug.cgi?id=733923
2014-07-30 23:14:41 +02:00
Ryan Lortie
ffbfee0738 GtkApplication: load gtk/menus-common.ui resource
Allow the app to install a resource called gtk/menus-common.ui which
will always be loaded, regardless of which type of menus we are using.

https://bugzilla.gnome.org/show_bug.cgi?id=733925
2014-07-30 09:57:33 +02:00
Sébastien Wilmet
8ad9cf8b8c textbuffer: emit notify signal for the "text" property
Although there is the "changed" signal, it is more correct to notify the
"text" property too. It can be useful for a small text view, where the
text is saved e.g. to gsettings with a binding to the text property.

The "text" property includes only the text, not child widgets or images,
so the notify signal is sent too many times (also for child widgets and
images), but it's not a big problem.

https://bugzilla.gnome.org/show_bug.cgi?id=624791
2014-07-29 15:21:23 +02:00
Matthias Clasen
0f47ffb6f5 inspector: Set a filename for saving css
This is good practice when using save dialogs.
2014-07-29 13:59:02 +02:00
Jasper St. Pierre
45bdec84f5 gtkcairoblur: Blur a CAIRO_A8 surface instead of a full CAIRO_ARGB32
This is considerably faster to draw and paint.
2014-07-29 10:49:39 +02:00
Jasper St. Pierre
227b4a8620 gtkcssshadowvalue: Use the blur surface as a mask, instead of painting it
This will make it easier to use an A8 for our blurred surface instead of
a ARGB32, which makes things a lot easier and faster.
2014-07-29 10:49:39 +02:00
Cosimo Cecchi
09a36b1e9f iconhelper: reset original pixbuf scale on clear
Avoids a previously set value for a different image to accidentally
stick around.

https://bugzilla.gnome.org/show_bug.cgi?id=733416
2014-07-29 10:13:21 +02:00
Cosimo Cecchi
7e425f3019 image: support scale factor when loading from GResource and file
Currently, when loading an image from a GResource or file we don't take
the scale factor of the display into consideration, and let
GtkIconHelper scale it accordingly.
While this in general works for non-scalable images, we can take
advantage of the native loader's scaling for e.g. SVG images, and load
them at the right scale factor automatically.
This is achieved by switching to a pixbuf loader instead of using the
native function.

https://bugzilla.gnome.org/show_bug.cgi?id=733416
2014-07-29 10:13:21 +02:00
Alexander Larsson
5b53eb287c textview: Add draw_layer vfunc
This allows subclasses to render things below and above the text
in the text view. This allows e.g. GtkSourceView to highlight the
cursor row and to render overlays for colum 80. This used to be done
by rendering before/after chaining up to the parent, but that doesn't
work anymore since the view now renders a background, and due to the
use of the pixel cache.
2014-07-28 16:23:33 +02:00
Alexander Larsson
4fe051bb4a Revert "GtkTextView: Fix regression in GtkSourceView drawing"
This reverts commit 1ac13435b7.

We want to instead replace this with special vfunc for drawing
below/above the main text so that gtksourceview can use it.
2014-07-28 16:23:33 +02:00
Lapo Calamandrei
b584970b95 Adwaita: fix a typo 2014-07-28 15:34:03 +02:00
Lapo Calamandrei
c97480caab Adwaita: button drawing function rework...
...to take colored buttons into considerations, so buttons on
colored background works better now (infobars and the like).
2014-07-28 12:45:34 +02:00
Paolo Borelli
86ed270163 textview: document text mark properties 2014-07-28 12:21:17 +02:00
Jakub Steiner
1c97a5f4c6 Adwaita: remove shadows from progressbars 2014-07-27 13:39:02 +02:00
Alejandro Piñeiro
2be4474a19 a11y: unref selected item only if it is not NULL
https://bugzilla.gnome.org/show_bug.cgi?id=733610
2014-07-25 10:03:24 +02:00
Matthias Clasen
d97fd540ac inspector: Show the buildable ID in the misc tab
This is useful, since you sometimes want to use it as #id in css.
2014-07-24 08:29:12 -04:00
Matthias Clasen
3e82b77d7d inspector: Prepare misc tab for showing non-widgets
This will happen in the near future.
2014-07-24 08:14:54 -04:00
Matthias Clasen
155c45eba5 GtkPlacesSidebar: Fix editing of bookmarks
This was silently broken - the code was just assuming that the
text cell renderer is item no. 6 on the list of all cells. That
doesn't work so well if the cell renderers are set up elsewhere
and get rearranged.

Fix this by keeping an explicit pointer to the the text cell.
2014-07-23 14:11:22 -04:00
Matthias Clasen
d576069cec GtkPathBar: Use symbolic icons
This fits better with the symbolic icons we use in the places
sidebar now.
2014-07-23 13:41:57 -04:00
Matthias Clasen
d26a84889b GktFileSystem: Support rendering symbolic icons 2014-07-23 13:41:57 -04:00
Benjamin Otte
27b9efbea2 cssimage: Fix size computation for -gtk-icontheme()
For images without a concrete size but with an aspect ratio, we took the
wrong code path.

(I even copied the documentation that said "Otherwise" but didn't put an
else clause there, go me!)
2014-07-23 18:51:26 +02:00
Matthias Clasen
0d1d17107f GtkPathBar: Set style classes on buttons
Set text-button/image-button on these, just like we do for
buttons everywhere else.
2014-07-23 12:44:26 -04:00
Matthias Clasen
d758e9ddd9 GtkPathBar: Don't use GtkArrow
Instead, use an image button.
2014-07-23 12:44:26 -04:00
Lapo Calamandrei
db2133bad4 Adwaita: spinbutton button hover visible on the dark variant 2014-07-23 17:53:31 +02:00
Lapo Calamandrei
2b1cad0289 Adwaita: entry icons position fix 2014-07-23 15:25:22 +02:00
Lapo Calamandrei
4718c165ad Adwaita: backdrop check/radio fix
Set the correct color wrt the dark variant for checks/radios on
selected treeview rows.
2014-07-23 13:31:05 +02:00
Lapo Calamandrei
11245bc549 Adwaita: GtkCalendar style simplification 2014-07-23 13:26:36 +02:00
Lapo Calamandrei
d3d675511c Adwaita: accelerators 2014-07-23 12:34:00 +02:00
Lapo Calamandrei
99f72ac474 Adwaita: vertical spinbutton rtl fix 2014-07-22 20:26:43 +02:00
Lapo Calamandrei
8a01e90608 Adwaita: position needs-attention dot in rtl 2014-07-22 20:21:30 +02:00
Lapo Calamandrei
f0c0be896f Adwaita: correct color on insensitive check/radio labels 2014-07-22 20:09:18 +02:00
Lapo Calamandrei
590c32ede1 Adwaita: some more assets refresh 2014-07-22 20:02:06 +02:00
Lapo Calamandrei
80a1097060 Adwaita: .needs-attention dark variant style 2014-07-22 19:50:15 +02:00
Lapo Calamandrei
542e0db615 Adwaita: graphic assets refresh 2014-07-22 19:13:34 +02:00
Ignacio Casal Quinteiro
8f873f3aa3 gtkselection: fix warnings of unused vars on win32 2014-07-22 17:22:00 +02:00
Benjamin Otte
c4c383fa39 scrolledwindow: Remove unused variable 2014-07-22 15:06:26 +02:00
Ignacio Casal Quinteiro
fc8b7156a3 win32: add css files to EXTRA_DIST 2014-07-22 14:53:16 +02:00
Lapo Calamandrei
5ff1c9a6ef Adwaita: reduce padding on path bars 2014-07-22 14:35:01 +02:00
Carlos Garnacho
0bb955b30e treeview: Add back a check to ignore buttons > 3
The removal was not intentional, and still needed as the GtkGestureMultiPress
will work for any button unless told to lock on a single specific one.
2014-07-22 13:20:13 +02:00
Lapo Calamandrei
3d5e9c9556 Adwaita: GtkSwitch in selected list rows 2014-07-22 10:29:01 +02:00
Lapo Calamandrei
35e4421bb8 Adwaita: less distracting active list-rows 2014-07-22 10:27:49 +02:00
Lapo Calamandrei
7fe1bd70cf Adwaita: decrease column headers paddings 2014-07-22 09:58:58 +02:00
Lapo Calamandrei
a67baa51ae Adwaita: stack switcher button needs-attention fix.
Don't draw the dot when the stack switcher button is active.
2014-07-22 09:42:22 +02:00
Benjamin Otte
5a3ebb4860 stylecontext: Query style properties with correct state
Now that widget paths are allowed to have a state, use that state when
querying style properties. This uses a fast path in gtkcssprovider.c and
that is great.
2014-07-22 03:06:04 +02:00
Matthias Clasen
a0566770da GtkWidgetPath: Don't forget to copy the state
gtk_widget_path_copy was not copying the state of each element.
This was showing in "GtkRadioButton:active GtkLabel" not matching
in stack switchers.
2014-07-21 20:35:59 -04:00
Matthias Clasen
2df06d3490 GtkWidgetPath: Show states in the path string
This shows clearly that some widgets don't set the state on their
path currently.
2014-07-21 19:49:11 -04:00
Benjamin Otte
153a7e71ce stylecontext: Don't do anything with empty widget path
It's a corner case, but empty widget paths don't allow setting
state/regions/classes, so exit early

Fixes gtk/stylecontext test.
2014-07-22 01:10:21 +02:00
Matthias Clasen
0d71478237 inspector: Offer Raleigh as a theme
As long as it is included, might as well offer it.
2014-07-21 14:13:06 -04:00
Matthias Clasen
821955a998 Avoid a compiler warning 2014-07-21 14:13:06 -04:00
Benjamin Otte
3747e0fc4e css: Make commented out debug code work again 2014-07-21 19:54:14 +02:00
Benjamin Otte
09a1d983d4 css: Add printing code for :visited and :link
Don't just crash when those states are encountered
2014-07-21 19:54:14 +02:00
Lapo Calamandrei
6b8dd7beef Adwaita: stack switcher button fixes
Paddings and outline offset are ok now.
2014-07-21 19:26:41 +02:00
Lapo Calamandrei
c4b583ed47 Adwaita: bright outline on suggested/destructive action buttons 2014-07-21 19:22:24 +02:00
Lapo Calamandrei
306890ef9d Adwaita: bit padding overhaul
Header-bar and action-bar buttons used to be bigger then others
now everything is as big as those, maintaining two different sizes
for default widgets depending on the placement is a maintainance
nightmare and having controls the same size is good from a usability
point of view.
2014-07-21 18:52:58 +02:00
Matthias Clasen
c8c6da4ca4 GtkTooltip: Drop an unused variable
The toplevel_window was never set, and the only place where it
was used was causing us to hide tooltips needlessly. So removing
it is a double win.

https://bugzilla.gnome.org/show_bug.cgi?id=733321
2014-07-21 12:40:57 -04:00
Matthias Clasen
2a7577d23a inspector: Show misc info
Add yet another tab for showing information about a widget that
does not quite fit into any of the other tabs (not a property,
not style information, etc...).

For now, we show the widget state, as well as the default and
focus widget for windows.
2014-07-21 11:18:29 -04:00
Paolo Borelli
167f200a0c GtkMenuButton: do not mention GtkArrow in the docs
GtkArrow is deprecated and is not used internally anymore by the
menu button. Document also the fact that if no direction is specified
then the view-context-menu icon is shown.

https://bugzilla.gnome.org/show_bug.cgi?id=733441
2014-07-21 15:26:09 +02:00
Paolo Borelli
8b6bf3a5ea GtkMenuButton: do not use gpointer for the arrow widget
Just a small cleanup, we can use a proper type.
2014-07-21 15:26:09 +02:00
Lapo Calamandrei
81b22883fd Adwaita: header bar buttons padding fix 2014-07-21 15:24:08 +02:00
Sébastien Wilmet
9527205291 GtkTextView: use GSlice
GSlice is better for allocating structs.

https://bugzilla.gnome.org/show_bug.cgi?id=733407
2014-07-20 12:26:01 +02:00
Matthias Clasen
85297367dc GtkDialog: Manage action area visibility more carefully
People expect to be able to call gtk_widget_show_all on the dialog
to make action widgets visible, as seen e.g. in
https://bugzilla.gnome.org/show_bug.cgi?id=733431

To keep this working, we can't always set no-show-all on the
action_box. Only set it when the action_area is not used and empty.
2014-07-20 01:05:41 -04:00
Matthias Clasen
caa47b2ef4 GtkMenuItem: fix display of accelerators
The accel label in menus was getting a small allocation that
caused its draw code to always omit the accelerator string.
Fix that by setting halign to fill. To keep the menu label
left-aligned, set xalign to 0 to compensate.
2014-07-20 00:12:40 -04:00
Matthias Clasen
d6d424f920 GtkModelMenuItem: Make properties readable
This makes the inspector much more useful when dealing
with model menu items.
2014-07-19 23:40:27 -04:00
Matthias Clasen
73267102fd GtkAccelLabel: unconditionally chain up in draw
No need to check, we know for sure that GtkLabel has a draw
function.
2014-07-19 23:37:43 -04:00
Matthias Clasen
70e898bc90 inspector: Add a font button to the visual tab
The font was already settable via the gtk-font-name property
of the settings object, but this this much more convenient.
2014-07-19 19:15:58 -04:00
Gergely POLONKAI
7f7084f7f5 GtkSpinButton: Document some signals
Based on a patch by Gergely Polonkai,
https://bugzilla.gnome.org/show_bug.cgi?id=733174
2014-07-19 18:34:58 -04:00
Matthias Clasen
f7c838ce5f Trivial: Use the canonical signal name 2014-07-19 18:34:58 -04:00
Benjamin Otte
cde81e169b notebook: Don't unset state flags on child removal
We don't set any state flags, so we shouldn't unset any either.
2014-07-19 23:48:06 +02:00
Benjamin Otte
52dd0f5014 widget: Add widget state when appending to widget path
Make gtk_widget_path_append_for_widget() add the state flags of the
widget, too.

This enables the ability to select pseudoclasses on all elements in a
selector.
2014-07-19 23:42:39 +02:00
Benjamin Otte
19eb1614de cssmatcher: Use widget path's state
Don't take a state when constructing the CSS matcher. Instead, rely on
the newly introduced state in the widget path.

This way, the state can be queried not only on the first element, but on
all elements of the widget path.
2014-07-19 23:42:39 +02:00
Benjamin Otte
be09e0ed4a stylecontext: Set state flags on widget paths
Set the widget path state flags with the state flags of the style
context.

We do not update the state flags but replace the previous one because we
want to be able to have save()/restore() unset state flags.
2014-07-19 23:42:39 +02:00
Benjamin Otte
09dd0ffcd0 API: Add gtk_widget_path_iter_set_state()
And the corresponding gtk_widget_path_iter_get_state().
2014-07-19 23:42:38 +02:00
Lapo Calamandrei
71d47ef607 Adwaita: suble gradient on progressbars 2014-07-19 15:42:17 +02:00
Lapo Calamandrei
3fb249e376 Adwaita: progressbar tweaks 2014-07-19 14:03:28 +02:00
Lapo Calamandrei
58777d6084 Adwaita: insensitive backdrop state restyle
Make backdrop insensitive state more similar to the focused
windows one, mostly to make dark variant more usable and
focused -> backdrop transition less distracting.
2014-07-19 11:11:44 +02:00
Lapo Calamandrei
f5c2c81645 Adwaita: some code refactoring 2014-07-19 10:50:01 +02:00
Lapo Calamandrei
61edf40936 Adwaita: more progressbar shadows 2014-07-19 09:59:10 +02:00
Lapo Calamandrei
27f24a1732 Adwaita: widget edge for level bars 2014-07-19 09:02:07 +02:00
Matthias Clasen
ea9026e3a0 Inspector: Show directory sizes in the resource tab
This is makes it easy to answer the question: how much do resources
cost. It turns out that all the resources in GTK+ currently weigh
around 1MB.
2014-07-19 01:20:28 -04:00
Matthias Clasen
a9201b8379 GtkProgressBar: Add style classes for edges
Add left/right/top/bottom style classes according to which edge(s)
of the progressbar the progress is adjacent to. Only for a fraction
of 1.0 will we set more than one edge.
2014-07-19 00:40:09 -04:00
Matthias Clasen
04c4e1963f GtkFlowBox: Add a missing #include 2014-07-18 23:00:54 -04:00
Matthias Clasen
f4db36ef49 GtkToolbar: Set orientable style classes initially
This was an omission, horizontal/vertical would only be set
when the orientation is changed.
2014-07-18 19:40:12 -04:00
Matthias Clasen
87b7103db1 GtkSpinButton: Set orientable style classes initially
This was an omission, horizontal/vertical would only be set
when the orientation is changed.
2014-07-18 19:39:56 -04:00
Matthias Clasen
b5ee9da924 GtkSeparator: Set orientable style classes initially
This was an omission, horizontal/vertical would only be set
when the orientation is changed.
2014-07-18 19:39:44 -04:00
Matthias Clasen
f1d1f139af GtkRange: Set orientable style classes initially
This was an omission, horizontal/vertical would only be set
when the orientation is changed.
2014-07-18 19:39:32 -04:00
Matthias Clasen
18a92992a0 GtkProgressBar: Set orientable style classes initially
This was an omission, horizontal/vertical would only be set
when the orientation is changed.
2014-07-18 19:39:11 -04:00