Commit Graph

24099 Commits

Author SHA1 Message Date
Matthias Clasen
838d5beff7 notebook: Convert to g_object_notify_by_pspec 2015-09-08 08:07:33 -04:00
Matthias Clasen
2580c050d8 grid: Convert to gtk_container_child_notify_by_pspec
For the same reasons as g_object_child_notify_by_pspec.
2015-09-08 08:07:32 -04:00
Matthias Clasen
1e4369e8ef box: Convert to gtk_container_child_notify_by_pspec
For the same reasons as g_object_child_notify_by_pspec.
2015-09-08 08:07:32 -04:00
Matthias Clasen
93f8f12e39 Add some more child property API
Add gtk_container_install_child_properties and
gtk_container_child_notify_by_pspec to mirror te corresponding
GObject APIs.
2015-09-08 08:07:32 -04:00
Matthias Clasen
e3025f2325 scrolled window: Convert to g_object_notify_by_pspec 2015-09-08 08:07:32 -04:00
Matthias Clasen
7cb53685cf app chooser button: Convert to g_object_notify_by_pspec 2015-09-08 08:07:32 -04:00
Matthias Clasen
4785f460d3 settings: Convert more fully to g_object_notify_by_pspec
It turns out that we always have the pspec at hand already.
2015-09-08 08:07:32 -04:00
Matthias Clasen
97a29ab8c4 builder: Simplify _gtk_builder_boolean_from_string
We can do this without calling strlen() or allocating memory.
2015-09-07 12:54:16 -04:00
Matthias Clasen
3d01f29bd9 builder: Move a function
Move _gtk_builder_boolean_from_string in the same source file
as the other _from_functions.
2015-09-07 12:43:19 -04:00
Matthias Clasen
20079a9960 builder: Minor refactoring
Keep the GString in PropertyInfo around, instead of throwing it
away and just keeping the char*.
2015-09-07 12:25:29 -04:00
Matthias Clasen
15b9feda22 widget: Add more inline getters
Add a getter for state flags, and use it where appropriate.
2015-09-07 12:23:09 -04:00
Matthias Clasen
9b494df91e settings: Avoid one case of g_object_notify
We already have the GParamSpec in hands, lets just use it instead
of looking it up again.
2015-09-07 11:36:37 -04:00
Matthias Clasen
7cd7257a07 Avoid a string copy
We have an api to create a quark from a static string, lets use it.
2015-09-07 11:36:36 -04:00
Benjamin Otte
e1ecdd3ef5 treeview: Donate a priv variable to gtk_tree_view_init() 2015-09-07 14:34:02 +02:00
Benjamin Otte
4daac59941 notebook: Don't needlessly cast in macros
That way we disable typechecks done by the compiler and won't notice
when we pass the wrong values to the macro. And that's bad.
2015-09-07 14:33:50 +02:00
Benjamin Otte
f138efa59a notebook: Remove unused macros 2015-09-07 14:33:40 +02:00
Benjamin Otte
9020b5bd17 stylecontext: Remove line that is a no-op
Creating the transient node will already copy the widget type. So
copying again will not do anything.
2015-09-07 14:33:35 +02:00
Benjamin Otte
c8c666c87c bitmask: Fix broken invert_range() implementation
The speed-up in 7da1f8a1ce was wrong in
certain conditions, even though it didn't trigger the existing
testsuite.

New testcase /bitmask/invert_range_hardcoded included.
2015-09-07 14:32:09 +02:00
Matthias Clasen
0f92a43e10 Move GtkWidgetPrivate to gtkwidgetprivate.h
This lets us use inlined getters for members in there,
avoiding the type checks in the public getters.
2015-09-07 02:40:22 -04:00
Matthias Clasen
7da1f8a1ce Speed up gtk_allocated_bit_mask_invert_range
It was showing up on profiles and has a comment asking for speed.
2015-09-07 02:02:07 -04:00
Matthias Clasen
4dc47c3714 Plug a leak
A type class reference gotten with g_type_class_ref must be released
with g_type_class_unref, or else we leak.
2015-09-06 19:16:43 -04:00
Matthias Clasen
32001ec638 menu button: Convert to g_object_notify_by_pspec
This avoids pspec lookup overhead in g_object_notify.
2015-09-06 17:13:50 -04:00
Matthias Clasen
29b9d48a1f container: Convert to g_object_notify_by_pspec
This avoids pspec lookup overhead in g_object_notify.
2015-09-06 17:13:45 -04:00
Matthias Clasen
943c75fbec frame: Convert to g_object_notify_by_pspec
This avoids pspec lookup overhead in g_object_notify.
2015-09-06 17:13:42 -04:00
Matthias Clasen
c0d9e3a1ad menu item: Convert to g_object_notify_by_pspec
This avoids pspec lookup overhead in g_object_notify.
2015-09-06 17:13:38 -04:00
Matthias Clasen
8ee711bbc9 text buffer: Convert to g_object_notify_by_pspec
This avoids pspec lookup overhead in g_object_notify.
2015-09-06 17:13:34 -04:00
Matthias Clasen
65be0f5be9 text cell renderer: Convert to g_object_notify_by_pspec
This avoids pspec lookup overhead in g_object_notify.
2015-09-06 17:13:29 -04:00
Matthias Clasen
14c0ed8bae builder: Convert to g_object_notify_by_pspec
This avoids pspec lookup overhead in g_object_notify.
2015-09-06 17:13:25 -04:00
Matthias Clasen
c60362ab10 tree view column: Convert to g_object_notify_by_pspec
This avoids pspec lookup overhead in g_object_notify.
2015-09-06 17:11:37 -04:00
Matthias Clasen
3077a7e025 gesture single: Convert to g_object_notify_by_pspec
This avoids pspec lookup overhead in g_object_notify.
2015-09-06 17:11:37 -04:00
Matthias Clasen
89ca0db7c5 event controller: Convert to g_object_notify_by_pspec
This avoids pspec lookup overhead in g_object_notify.
2015-09-06 17:11:36 -04:00
Matthias Clasen
143d3c1204 radio button: Convert to g_object_notify_by_pspec
This avoids pspec lookup overhead in g_object_notify.
2015-09-06 17:11:36 -04:00
Matthias Clasen
0e4589d902 toggle button: Convert to g_object_notify_by_pspec
This avoids pspec lookup overhead in g_object_notify.
2015-09-06 17:11:36 -04:00
Matthias Clasen
4c376d1a9c style context: Convert to g_object_notify_by_pspec
This avoids pspec lookup overhead in g_object_notify.
2015-09-06 17:11:36 -04:00
Matthias Clasen
2da31e53b0 treeview: Convert to g_object_notify_by_pspec
This avoids pspec lookup overhead in g_object_notify.
2015-09-06 17:11:36 -04:00
Matthias Clasen
dfe1c63c9b scale: Convert to g_object_notify_by_pspec
This avoids pspec lookup overhead in g_object_notify.
2015-09-06 17:11:36 -04:00
Matthias Clasen
c3038c2fe1 range: Convert to g_object_notify_by_pspec
This avoids pspec lookup overhead in g_object_notify.
2015-09-06 17:11:36 -04:00
Matthias Clasen
661e51a8e2 header bar: Use g_object_notify_by_pspec
This avoids pspec lookup overhead in g_object_notify.
2015-09-06 17:11:35 -04:00
Matthias Clasen
38901acea3 image: Convert to g_object_notify_by_pspec
This avoids pspec lookup overhead in g_object_notify.
2015-09-06 17:11:35 -04:00
Matthias Clasen
5f458e4002 list box: Use g_object_notify_by_pspec everywhere
We already have the pspec at hand, so use it.
2015-09-06 17:11:35 -04:00
Matthias Clasen
f4068288e7 entry completion: Convert to g_object_notify_by_pspec
This avoid pspec lookup overhead in g_object_notify.
2015-09-06 17:11:35 -04:00
Matthias Clasen
e83ccecfab entry buffer: Convert to g_object_notify_by_pspec
This avoids pspec lookup overhead in g_object_notify.
2015-09-06 17:11:35 -04:00
Matthias Clasen
dbd5513276 entry: Convert to g_object_notify_by_pspec
This avoids pspec lookup overhead in g_object_notify.
2015-09-06 17:11:35 -04:00
Matthias Clasen
0585780de1 application: Convert to g_object_notify_by_pspec
This avoid pspec lookup overhead in g_object_notify.
2015-09-06 17:11:35 -04:00
Matthias Clasen
bfe141c011 progressbar: Convert to g_object_notify_by_pspec
This avoids pspec lookup overhead in g_object_notify.
2015-09-06 17:11:35 -04:00
Matthias Clasen
97b8c2c0aa label: Convert to g_object_notify_by_pspec
This avoids pspec lookup overhead in g_object_notify.
2015-09-06 17:11:34 -04:00
Matthias Clasen
fbc0012022 adjustment: Convert to g_object_notify_by_pspec
This avoids pspec lookup overhead in g_object_notify.
2015-09-06 17:11:34 -04:00
Matthias Clasen
3906d21f2f widget: Convert to g_object_notify_by_pspec
This avoids pspec lookup overhead in g_object_notify.
2015-09-06 17:11:34 -04:00
Matthias Clasen
f3d92735ac window: Convert to g_object_notify_by_pspec
This avoids pspec lookup overhead in g_object_notify.
2015-09-06 17:11:34 -04:00
Matthias Clasen
4e56dfad0e tool button: Use G_DEFINE_TYPE
No need to do this manually.
2015-09-06 17:11:34 -04:00
Matthias Clasen
9ebebd48b0 print backend: Remove an unneeded variable
The G_DEFINE_TYPE macros automate the parent_class handling.
2015-09-06 17:11:34 -04:00
Matthias Clasen
d92a02f7a4 im module: Remvoe an unneeded variable
The G_DEFINE_TYPE macros automate the parent_class handling.
2015-09-06 17:11:34 -04:00
Matthias Clasen
fd682a58de toggle action: Remove an unused variable 2015-09-06 17:11:33 -04:00
Benjamin Otte
63cefa199a popover: Don't inherit style from parent
Instead, inherit style from toplevel (because that's the default way,
not because it makes lots of sense).

This way, popovers don't inherit the styling from the widget that popped
them up, which is a problem in selected listbox rows, selection-mode
headerbars.
It also doesn't inherit styling where we might want it, like the osd.

But we can only have one of the two things.
2015-09-04 18:59:51 +02:00
Jakub Steiner
5b7bed68a9 HighContrast: make linked entries align
- reshuffled the stylesheet to easily allow having a thicker
  border, but decided to keep the 1px borders on entries
  as it makes easier to spot the buttons despite being flat.

https://bugzilla.gnome.org/show_bug.cgi?id=753129
2015-09-04 15:26:19 +02:00
Rafal Luzynski
7a676cdc14 flow box: Fix bad children allocation with RTL locales
If the position of the children is always relative to the box
then we should not take the allocation of the box into account
when flipping the children for RTL text direction.

This patch also removes unused assignments to child_allocation.

https://bugzilla.gnome.org/show_bug.cgi?id=754559
2015-09-04 09:23:52 -04:00
Matthias Clasen
6457ee59be text view: Drop an unused variable 2015-09-04 02:11:41 -04:00
Matthias Clasen
9f6f4b2004 path bar: Don't use prerendered surfaces
The current icon handling did not update icons for widget
state changes, causing black-on-black icons in HighContrast.
Instead, use the GIcon.

https://bugzilla.gnome.org/show_bug.cgi?id=753397
2015-09-04 02:09:43 -04:00
Matthias Clasen
55d6872616 file system: Add an api to get a GIcon
Using prerendered surfaces is not working well when it comes
to state changes, so make the GIcon available.
2015-09-04 02:08:59 -04:00
Matthias Clasen
1dc4eea096 text view: Improve cursor hiding logic
Same as we did for the entry in the previous commit.

Previously, we just hid the cursor if a key event was adding text,
but not when you used backspace, or Ctrl-V. Rearrange things so that
we obscure the cursor whenever the buffer contents change while we
are handling key events.

https://bugzilla.gnome.org/show_bug.cgi?id=754535
2015-09-03 14:00:27 -04:00
Matthias Clasen
587afb5b1c entry: Improve cursor hiding logic
Previously, we just hid the cursor if a key event was adding text,
but not when you used backspace, or Ctrl-V. Rearrange things so that
we obscure the cursor whenever the buffer contents change while we
are handling key events.

https://bugzilla.gnome.org/show_bug.cgi?id=754535
2015-09-03 14:00:27 -04:00
Lapo Calamandrei
57894ec55b HC: fix pathbar paddings.
See https://bugzilla.gnome.org/show_bug.cgi?id=753397 for
details.
2015-09-03 16:47:52 +02:00
Timm Bäder
1405bcb32d GtkListBox: Allow a NULL callback in bind_model
When unsetting the bound model, one can pass NULL, but in that case the
create_func parameter should also be NULL.
2015-09-03 16:12:15 +02:00
Lapo Calamandrei
1cd9d8a474 Adwaita: fix documents and the like rubberband. 2015-09-02 19:35:35 +02:00
Lapo Calamandrei
b931852e1b Adwaita: add .content-view:hover styling.
Just to make thumbs in various app hilight on hover.
2015-09-02 17:25:06 +02:00
Matthias Clasen
6064ed5181 places view: Avoid a crash in finalize
When the places view is finalized before the network loading
is finished, the async operation is cancelled, and the callback
accesses the places view while it is already in a state of
disrepair. Avoid that access.
2015-09-02 07:15:57 -04:00
Matthias Clasen
6a4e4a9fe8 places view: Spew less warnings
When running the testsuite with a local gvfs, we get a 'not supported'
error here, and the g_warning makes the test fail. Avoid that.
2015-09-02 07:15:57 -04:00
Lapo Calamandrei
b4da542980 Adwaita: sync sidebar color vars. 2015-09-02 12:06:49 +02:00
Lapo Calamandrei
4d31b2ca0d Adwaita: scales on selected list rows. 2015-09-02 11:01:08 +02:00
Sebastien Lafargue
9ad6ac0b43 GtkTextView: various scroll fixes
The purpose of this patch is to fix regressions in GtkTextView
scroll behaviours due to commit d138156.
( addition of padding and margins to the view )

Adding some padding is done by, for example, in inspector css tab with:

GtkTextView {
  padding: 10px 10px 10px 10px;
}

and adding margins, by changing one of *-margin properties
( * standing for left/right/top/bottom ) or the corresponding
accessor functions.

Understand that none of these bugs are easy to trigger.
What's happened is that a old and wrong version of the code of the code
( lost in the mean time ) was pushed.

These bugs are best seen with wrap mode set to off.

The commit 8baab8f fix a first regression.

This one is about:

- Cursor going out of the view at line ends instead of being visible
  or triggering the horizontal scroll.

- Padding not displayed correctly
  when moving cursor at beginning/end of lines

- When horizontal scroll position not at left, cursor can make scroll
  by more than one character (you need left padding to see this )

- Moving the cursor arround, the rendered text can be shitted in x or y.
  ( fixed by converting adjustment float values
  to integer before calculations )

  It can be observed by going down with the cursor more
  than the view height then going up

- retval return value of _gtk_text_view_scroll_to_iter wrong in some cases

In addition, this patch re-factor priv->top_border
in screen_dest.y calculation

Of course, all GtkTextView and GtkSourceView based app were impacted
by these bugs ( gedit for example, see bug 754147 )

https://bugzilla.gnome.org/show_bug.cgi?id=753815

https://bugzilla.gnome.org/show_bug.cgi?id=75815
2015-09-01 22:42:23 -04:00
Matthias Clasen
90bcde5951 places sidebar: Disable 'Open' for selected rows
If the row is selected, it is already opened, so we should not
offer the Open action anymore.

https://bugzilla.gnome.org/show_bug.cgi?id=754410
2015-09-01 22:05:46 -04:00
Emmanuele Bassi
06488adc9a docs: Fix GtkSettings property stanzas
Otherwise gtk-button-images and gtk-menu-images will not be recognised
as properties.

https://bugzilla.gnome.org/show_bug.cgi?id=754421
2015-09-01 23:46:40 +01:00
Lapo Calamandrei
a9fd764b77 Adwaita: use currentColor for scale marks.
So it should work ok when used in selected items.
2015-09-01 18:52:20 +02:00
Lapo Calamandrei
30ac073dd4 Adwaita: contemplate selected insensitive items. 2015-09-01 18:43:48 +02:00
Lapo Calamandrei
c92c25b5d7 Adwaita: fix GtkPlacesSidebar styling. 2015-09-01 18:14:45 +02:00
Lapo Calamandrei
71c64aa677 Adwaita: remove unneded background from list-row 2015-09-01 16:03:02 +02:00
Lapo Calamandrei
cca97c5b0f Adwaita: remove bogus box-shadow in GtkComboBox 2015-09-01 15:47:53 +02:00
Carlos Soriano
528c576590 gtkplacessidebar: add sidebar row style
So designers can style it at their will.
2015-09-01 14:28:38 +02:00
Lapo Calamandrei
b8f4e943fe Adwaita: remove bogus @at-root from sidebar styling.
See https://bugzilla.gnome.org/show_bug.cgi?id=754292 for
details.
2015-09-01 13:30:07 +02:00
Jakub Steiner
c21a16e2bc Adwaita: make focus visible in GtkColorSwatch
- use the same fg color as the selection icon
- both dark & light to use the same opacity
2015-09-01 10:17:48 +02:00
Matthias Clasen
e50c37c8a3 Revert "GtkTextView: various scroll fixes"
This reverts commit 016f6596e7.

Pushed prematurely by accident.
2015-09-01 01:04:53 -04:00
Matthias Clasen
b3a3e91f02 file chooser: Make sure places view type is known
Similar to how we handle GtkPathBar, make sure that the
type for GtkPlacesView is registered before we load the
template.

https://bugzilla.gnome.org//show_bug.cgi?id=754133
2015-09-01 01:00:46 -04:00
Matthias Clasen
48ecad844e glade: Add some more private widget types
Add GtkColorEditor and GtkPlacesView to this list, on the assumption
that all private widgets should be listed here.
2015-09-01 00:59:27 -04:00
Sebastien Lafargue
016f6596e7 GtkTextView: various scroll fixes
Due to the introduction of view's margin and padding,
some bugs in scrolling behaviour have come.
This commit fix them.

https://bugzilla.gnome.org/show_bug.cgi?id=753815
2015-08-31 23:59:34 -04:00
Matthias Clasen
9326f1a57c Turn off inspector keybindings by default
This is a 'developer mode' feature, and it can and does interfere
with preexisting key bindings in some applications, so keep it
off by default in stable releases, at least.

http://bugzilla.gnome.org/show_bug.cgi?id=754115
2015-08-31 11:08:25 -04:00
Christian Hergert
04f3b52c38 textview: handle NULL cursors gracefully
Under some cases, we can get NULL back for the cursor. Simply use
g_clear_object() to handle that case gracefully.
2015-08-31 05:18:29 -07:00
Jakub Steiner
4d307db13c Adwaita: rerender css
- fixes previous commit
- for some reason sass won't overwrite a confliced css
2015-08-31 10:47:01 +02:00
Jakub Steiner
c5d195ccfe Adwaita, HighContrast: day names in GtkCalendar
Ideally I'd like to mimic the treeview column-header style,
but font-weight: bold; doesn't seem to work. Making them plain
for now.

https://bugzilla.gnome.org/show_bug.cgi?id=753357
2015-08-31 10:11:27 +02:00
Kalev Lember
ed168197ab Adwaita: Fix a few typos in README 2015-08-30 21:12:35 +02:00
Carlos Soriano
3cdf8fda37 gtkplacesview: don't warn for cancelled operations
This was intended to filter out cancelled operations, not
the other way around.

https://bugzilla.gnome.org/show_bug.cgi?id=754150
2015-08-30 09:47:29 +02:00
Carlos Soriano
0d93db7e68 gtkplacesview: make consistent loading state
Until now the code was not very clear about why the loading property is
needed, since we didn't forced all the async operations to mark the
view as loading. This cause that clients are not aware when the view
is busy on those situations.

For instance Nautilus uses the property for a few things, one of it
is to show a busy spinner on the tab title.

To improve the situation, mark as loading when a volume operation,
a mount operation or a connect to server operation is being performed.

https://bugzilla.gnome.org/show_bug.cgi?id=754150
2015-08-30 09:47:28 +02:00
Carlos Soriano
150bb6245c gtkplacesview: don't fetch networks if local only
We were fetching networks even on local only mode.
Avoid to do extra work if not necessary.

https://bugzilla.gnome.org/show_bug.cgi?id=754150
2015-08-30 09:47:28 +02:00
Carlos Soriano
9fe9b78497 gtkplacesview: dont invalidate headers if not necessary
We were invalidating the headers after adding the placeholder
row, but GtkListBox already update the header of that row in that
case.

https://bugzilla.gnome.org/show_bug.cgi?id=754150
2015-08-30 09:47:28 +02:00
Carlos Soriano
03cd8e9558 gtkplacesview: don't rely on widgets on headers
We are showing a GtkSpinner on the networks header to provide feedback
to the user if we are fetching networks, therefore we have to modify
the spinner state when doing it.
However GtkListBox doesn't give guarantees about the widgets
set by gtk_list_box_set_header, and we could access an invalid
widget.

To avoid to access invalid widgets, bind the fetching networks
view property to the networks header spinner active property instead
of modifying directly the spinner in the private structure.

Not having the spinner in the private structure also makes the code
cleaner.

https://bugzilla.gnome.org/show_bug.cgi?id=754150
2015-08-30 09:47:28 +02:00
Carlos Soriano
bdb17a0890 gtkplacesview: create placeholder before fetching networks
If not we don't show the header at all.
This was an accidental removal before commiting.

https://bugzilla.gnome.org/show_bug.cgi?id=754150
2015-08-30 09:47:28 +02:00
Carlos Soriano
a427f1e82e gtkplacesview: only filter out placeholder if searching
We were filtering out placeholders if the list box filters
while not searching, which is not what we want, since placeholders
should only be hidden if the view is searching.

https://bugzilla.gnome.org/show_bug.cgi?id=754150
2015-08-30 09:47:28 +02:00
Matthias Clasen
b371fb09fb accel group: Make gtk_accelerator_get_default_mod_mask more lenient
Make this function harmless to call without an open display connection.
This happens during gobject introspection, which instantiates GTK+
types without calling gtk_init.
2015-08-29 18:09:58 -04:00
Emmanuele Bassi
b8f103bfaa build: Do not call gtk_init()
It needs to open a display connection, which is obviously going to fail
miserably on any headless build machine.

Instead, we need to find where we started requiring to initialize GTK
when calling a get_type() function, and stop doing that.

This commit and commit 15cc85db29 fully
revert commit 6838861d26.
2015-08-29 14:17:37 +01:00
Emmanuele Bassi
15cc85db29 build: Do not force inclusion of gtk.h
GCC will not do the right thing, and it will just break the build when
trying to include gtk.h first.

We'll have to live with the warning from the compiler about a missing
gtk_init() — though it would be better not to have to init GTK at all to
generate the introspection data.

This commit unbreaks the build in GNOME Continuous introduced by commit
6838861d26.
2015-08-29 13:38:28 +01:00
Matthias Clasen
e8c5bc8d73 accel label: Remove unneeded spaces
Having these extra spaces in the accel string is a bit awkward,
since they will be included in text decorations such as underlines.
Removing them has no visible effect.
2015-08-29 03:12:59 -04:00
Matthias Clasen
6838861d26 Fix introspection
Calling our get_type functions without prior gtk_init() is not ok,
and causes warnings now. Avoid that by teaching g-ir-scanner to
put a gtk_init() call into its generated code.
2015-08-29 03:11:01 -04:00
Matthias Clasen
f44358b76a accel label: Allow a different font for the accelerator
We were using the .accelerator style for rendering the accel string,
but we need to explicitly set the font from this style for it to
apply.
2015-08-29 00:47:32 -04:00
Jakub Steiner
ecc5abfe3b Adwaita, HighContrast: day names in GtkCalendar
Ideally I'd like to mimic the treeview column-header style,
but font-weight: bold; doesn't seem to work. Making them plain
for now.

https://bugzilla.gnome.org/show_bug.cgi?id=753357
2015-08-28 20:14:53 -04:00
Matthias Clasen
454e7f3f21 places view: Always use the eject icon
Otherwise, we end up using different metaphors in the place view
and in the sidebar, and nobody is going to know what the disconnect
icon means in this context.

http://bugzilla.gnome.org/show_bug.cgi?id=754022
2015-08-28 16:17:40 -04:00
Lapo Calamandrei
c32fa1aa8d Adwaita: remove .list-row.activatable reset.
Since being 'activatable' istead of 'button' now that reset
is not needed anymore, the patch is pretty noisy since sass
interpreter changes, those look innocuous though.
2015-08-28 19:18:35 +02:00
Matthias Clasen
aa3bf0ac14 plug/socket: Warn if used outside X11
Give a clear warning when either of these are realized on a non-X11
screen.
2015-08-28 12:48:02 -04:00
Matthias Clasen
919f9b24d2 places view: Don't spew needlessly
The check here was obviously meant to filter out cancellations,
not warn for them.
2015-08-28 12:15:39 -04:00
Benjamin Otte
34941efc3a Adwaita: Make selector more specific
A * selector applies to all widgets, so even GtkBox or GtkGrid - and
most importantly GtkListBoxRow - need to recompute their style because
of the * selector.

By using a more specific one, these common cases aren't affected
anymore.

Fixes slowdowns in gtk3-demo's listbox demo and in gnome-software.
2015-08-27 20:18:40 +02:00
Benjamin Otte
9ce91a1251 combobox: Add a special class for the button in the combobox
That way, the GTK engine doesn't think that the general .button CSS
might potentially apply to it.
And because combobox button is overly complex and stupid, it cannot be
cached.

So buttons thought they cannot ever cache anything because they might
suddenly end up inside a combobox without noticing and then they'd need
to round their corners differently. Of course they're just regular
"Remove" buttons like all the other 100s of "Remove" buttons in
gnome-software. But hey, better not cache anything for them and
recompute their CSS every time the :hover state changes on one of the
rows.
2015-08-27 20:08:15 +02:00
Benjamin Otte
dc060154e0 css: Add gtk_css_change_to_string()
Nobody is able to look up those hex values.
2015-08-27 17:22:00 +02:00
Benjamin Otte
4ebb5781ea css: Fix GtkCssChange enum
Get rid of unused values (POSITION_ENUM) and use different values for
NAME and ID.
2015-08-27 17:22:00 +02:00
Benjamin Otte
f1ca75d181 cssnode: Loosen requirements for style caching
We can actually share :first-child/:last-child related things now,
because we special case them. So the only positions we cannot cache are
nth-child/nth-last-child.

This should take care of a lot of Adwaita's styling.
2015-08-27 17:21:59 +02:00
Jakub Steiner
f7d5d83dd0 HighContrast: GtkListBox fixes
Make flat buttons in list-rows work.
2015-08-27 11:09:39 +02:00
Matthias Clasen
407d3fae81 Adwaita: Theme calendar day names differently
Just to show how its done. This will need some tweaks.
2015-08-26 22:59:55 -04:00
Matthias Clasen
692f60ebb0 flow box: Avoid a critical in keynav
We were not taking into account that gtk_flow_box_get_next_focusable
can return NULL, in all callers. Fix that.
2015-08-26 20:00:40 -04:00
Piotr Drąg
c75edd32ab places view row: Use proper gettext macros
P_() is meant only for property nicks and blurbs. Everything
else should use _().

Follow-up to 2d83dd6217

http://bugzilla.gnome.org/show_bug.cgi?id=754086
2015-08-26 16:45:33 +02:00
Benjamin Otte
bffeae6203 inspector: Handle object destruction without row references
This way, we can live without row references.

A side effect is that opening the inspector on the gtk-demo list box
example now only takes 0.5s instead of the previous 3 minutes.
2015-08-26 16:33:52 +02:00
Benjamin Otte
1f2bd47965 inspector: Implement find_object() without GtkTreeRowReference
Tree row references are slow to update. And we update the widget list
quite a bit, so when it grows it can get REALLY slow.
2015-08-26 15:46:07 +02:00
Benjamin Otte
c7ed2c2130 inspector: Refactor object tree construction
Instead of having lots of if statements, create a vtable. This will be
useful for the following patches.
2015-08-26 15:46:07 +02:00
Benjamin Otte
5037d134c5 window: Only update the inspector once
Instead of queueing a new idle handler every time we call
gtk_window_update_debugging(), only queue one if none is queued that.

Saves a lot of work, in particular when templates create context menus
for every row in a large listbox as in the gtk-demo listbox example.
2015-08-26 15:46:07 +02:00
Benjamin Otte
207e593075 listbox: Mark activatable rows with a .activatable style class
Do not use .button anymore.

This is for 2 reasons:
1. The styling is seperate in our themes, so it doesn't make sense to
   share the style class.
2. Due to the shared styling of .buton, listbox rows inherit all the
   special case styles that exist for buttons - such as linked buttons,
   header buttons, entry buttons, spinbutton buttons, etc. This means
   that the code has to check all these special cases all the time and
   for listbox rows, this is very slow.
2015-08-26 15:46:07 +02:00
Timm Bäder
571da2a8b3 Inspector: Protect against childless windows 2015-08-26 12:04:44 +02:00
Matthias Clasen
2d83dd6217 places view: Use proper gettext macros
P_() is meant only for property nicks and blurbs. Everything
else should use _().

http://bugzilla.gnome.org/show_bug.cgi?id=754086
2015-08-25 23:28:56 -04:00
Matthias Clasen
9cc41307d1 flow box: Document incompatible configurations
Explain in the docs that using a model is incompatible with
using filter or sort functions.
2015-08-25 15:54:58 -04:00
Matthias Clasen
c099859872 flow box: Warn for nonworking configurations
GtkFlowBox sort and filter functionality does not work with
models. Issue a warning in this case.
2015-08-25 15:54:58 -04:00
Matthias Clasen
808ea8645a list box: Document incompatible configurations
Explain in the docs that using a model is incompatible with
using filter or sort functions.

http://bugzilla.gnome.org/show_bug.cgi?id=752615
2015-08-25 15:54:58 -04:00
Matthias Clasen
a27309c6e4 list box: Warn for nonworking configurations
GtkListBox sort and filter functionality does not work with
models. Issue a warning in this case.

http://bugzilla.gnome.org/show_bug.cgi?id=752615
2015-08-25 15:54:58 -04:00
Matthias Clasen
a5e2256770 Fix a startup ordering problem
Defer a11y initialization until we have a display. A11y initialization
causes widget classes to be initalized, which in turn needs some
backend-specific information about modifier masks that can't be
obtained before we have a display.

https://bugzilla.gnome.org/show_bug.cgi?id=736125
2015-08-25 15:54:58 -04:00
John Ralls
c55ff6e41f Bug 736125 - The default gtk accelerator mod mask does not include all default backend modifiers 2015-08-25 15:54:58 -04:00
Timm Bäder
30d56933d4 Inspector: Make monitor rows unactivatable 2015-08-25 18:11:46 +02:00
Piotr Drąg
826ac52e43 Fix grammar in "No networks locations found" 2015-08-25 17:47:12 +02:00
Paolo Borelli
8e975b28ff filechooser: check if we can access the parent folder
If we manually enter an unaccessible path in the entry, e.g
"/root/foo.txt", we should receive an error saying that the
folder is not accessible instead of showing the replace
confirmation dialog.

https://bugzilla.gnome.org/show_bug.cgi?id=753969
2015-08-23 15:44:09 +02:00
Matthias Clasen
2bf97567ce Revert "gtkoverlay: Optimize size allocations"
This reverts commit 93171cf4f3.

This broke overlay controls in page 3 of widget-factory, gnome-photos,
gnome-documents, etc.
2015-08-22 15:51:42 -04:00
Matthias Clasen
1d2ff9a069 list box: Make focusable headers possible
Previously we were assuming that only list box rows could occur
as focus children of a list box, and would crash if that wasn't
the case. This commit handles this case, and integrates focusable
headers into directional keynav and the focus chain.

The typical case of using separators as headers is not affected
by this change.

https://bugzilla.gnome.org/show_bug.cgi?id=753694
2015-08-21 20:51:03 -04:00
Matthias Clasen
bff28ac6b0 GtkOverlay: Update the description
State that the overlays are placed wrt to the GtkOverlay, not
with respect to the main widget. This makes a difference for
small main widgets which are not configured to fill the entire
GtkOverlay.
2015-08-21 18:19:26 -04:00
Matthias Clasen
58f363c852 Revert "popover: Optimize the transition"
This reverts commit 84bd32a09a.

It turned out that this did break the transition in some places.
2015-08-21 18:08:30 -04:00
Carlos Soriano
00b17651b1 gtkplacesview: bail out if operation cancelled
When an operation is cancelled it's never safe to access
the object itself or the private struct, since it could be
called (and probably is) during finalize.

In case the operation is cancelled, just bail out to fix
the crashes.
2015-08-21 19:58:52 +02:00
Carlos Soriano
6d0edd0056 gtkplacessidebar: order mounts by label
We were not ordering them at all, and therefore they were
jumping around

https://bugzilla.gnome.org/show_bug.cgi?id=753925
2015-08-21 15:01:22 +02:00
Carlos Soriano
d0c45f19b8 gtkplacesview: use g_utf8_collate for sorting
Also rename the variable, since we usually use location
for GFiles variables.
2015-08-21 14:49:11 +02:00
Carlos Soriano
036ba25eb1 gtkplacesview: add a loading property
So clients of the view can know if the view is busy.

https://bugzilla.gnome.org/show_bug.cgi?id=753786
2015-08-21 13:29:21 +02:00
Carlos Soriano
89a34210cb gtkplacesview: improve networks feedback
Add a spinner when networks are being fetched and make
the network section permanent and show a placeholder with
a message that no networks were found in case there are no
networks. In this way users from previous versions won't be
confused with the fact that no networks are shown.

https://bugzilla.gnome.org/show_bug.cgi?id=753786
2015-08-21 13:29:20 +02:00
Carlos Soriano
7347a69328 gtkplacesview: add networks in network:///
Previously we had a network item in the sidebar, which now
is replaced by the network section on other-locations view.
However we were not exposing the networks in network:///.

Fetch them and add them in the network section of other-locations
view.

https://bugzilla.gnome.org/show_bug.cgi?id=753786
2015-08-21 13:28:12 +02:00
Carlos Soriano
16bea59b78 gtkplacesview: style fix
https://bugzilla.gnome.org/show_bug.cgi?id=753786
2015-08-21 12:04:05 +02:00
Benjamin Otte
8026575947 overlay: Always align widgets relative to the overlay
... not to the contained widget, which might not occupy the whole
overlay when an align mode is set.
2015-08-21 00:47:30 +02:00
Benjamin Otte
2039ab8853 overlay: Use actual size of the overlay when positioning
Previously we were using the natural requested size which is unrelated.
2015-08-21 00:47:30 +02:00
Christian Hergert
b37400752b treeview: check for pixel cache before setting property
Code exists in the wild that calls this function after the widget has
been destroyed (and the pixel cache released). Simply check that the
pixel cache exists to preserve the existing state.
2015-08-20 11:13:30 -07:00
Benjamin Otte
c6219c913f immodule: Remove unused parameter 2015-08-20 14:42:04 +02:00
Sebastien Lafargue
8baab8f33d GtkTextView: fix margin/padding scroll behaviour
When you move line by line, only padding is
automaticly shown and you need to use Page key to show margin.

This commit also fix cursor going out of the screen bug.
2015-08-19 22:51:39 +02:00
Carlos Garnacho
8599f209c1 gtkscrolledwindow: Fold kinetic deceleration handling into scroll_event()
In order to play along with child widgets that use scroll events for anything
else than scrolling, it will be better to do this in the bubble phase, so
the child widget has an opportunity to GDK_EVENT_STOP the event before we
trigger kinetic scrolling.

This of course won't work for widgets that choose to reimplement scroll event
handling themselves, they should be smart at resorting to GtkScrolledWindow's
scroll event handling.

This fixes kinetic scrolling kicking in too pervasively on widgets that eg.
implement zoom on scroll events.

https://bugzilla.gnome.org/show_bug.cgi?id=753495
2015-08-19 21:54:51 +02:00
Georges Basile Stavracas Neto
88edada0d9 placessidebar: set Other Locations uri
By assigning an URI to Other Locations item, we
can programaticaly select it. Fixes a bug in Nautilus,
where the Other Locations item is unselected imediately
after being clicked.
2015-08-18 19:34:21 -03:00