Commit Graph

20265 Commits

Author SHA1 Message Date
Benjamin Otte
9b29a7a700 pixelcache: Add a warning for an invariant that shouldn't happen
Pixel caches should be unmapped before being freed and unmapping clears
those variables.
2014-04-10 01:53:57 +02:00
Benjamin Otte
6e1fc27528 textview: Call map/unmap functions on pixel cache
https://bugzilla.gnome.org/show_bug.cgi?id=726475
2014-04-10 00:16:54 +02:00
Benjamin Otte
e758b0a144 treeview: Call map/unmap functions on pixel cache
https://bugzilla.gnome.org/show_bug.cgi?id=726475
2014-04-10 00:16:54 +02:00
Benjamin Otte
461f1900f2 viewport: Call map/unmap functions on pixel cache
https://bugzilla.gnome.org/show_bug.cgi?id=726475
2014-04-10 00:16:53 +02:00
Benjamin Otte
2587d4b8e6 pixelcache: Add map/unmap functions
Because GTK does not invalidate windows that aren't mapped, we cannot
update the pixel cache when the window it handles isn't mapped. So we
add API to call when GDK windows get mapped/unmapped.

https://bugzilla.gnome.org/show_bug.cgi?id=726475
2014-04-10 00:16:53 +02:00
Benjamin Otte
2a9d2a966a pixelcache: Split out a function
https://bugzilla.gnome.org/show_bug.cgi?id=726475
2014-04-10 00:16:53 +02:00
Matthias Clasen
69ef54bcd9 listbox: keep emitting ::row-selected
This was accidentally lost when multi-selection was added, causing
sidebars like the one in gnome-contacts or polari to not work any
more.
2014-04-07 23:17:56 -04:00
Yosef Or Boczko
900adae5d9 headerbar: Use popover for the fallback app menu
https://bugzilla.gnome.org/show_bug.cgi?id=723963
2014-04-06 02:23:19 -04:00
Matthias Clasen
7d5bb09b88 Deprecate gtk_application_add_accelerator
The new gtk_application_set_accels_for_action api is more flexible
and better.
2014-04-06 02:13:06 -04:00
Matthias Clasen
7b11f761b3 switch: Add a delayed state capability
This commit makes it possible for GtkSwitch to indicate when
the underlying state changes with a delay, causing the switch
to temporarily go 'out of sync' with the underlying change.

https://bugzilla.gnome.org/show_bug.cgi?id=725648
2014-04-06 01:52:47 -04:00
Matthias Clasen
125c9f207f list box: Avoid excessive signals
We were emitting the a11y ::selection-changed signal much more
often than ::selected-rows-changed. Thats not necessary.
2014-04-06 01:44:38 -04:00
Matthias Clasen
3fe243d346 list box: Cosmetic changes
Shorten variable names from list_box to box, throughout,
and use the BOX_PRIV macro everywhere.
2014-04-06 01:44:37 -04:00
Matthias Clasen
efcaaa524e list box: Update accessible implementation
Now that multi selection is supported, we can provide a more
complete AtkSelection implementation.
2014-04-06 01:44:36 -04:00
Matthias Clasen
f652120347 list box: Implement multiple selection
This largely copies the flox box implementation, including the
same key bindings.
2014-04-06 01:44:36 -04:00
Matthias Clasen
463c89e540 listbox: Add multi-selection API
This commit adds API for dealing with multi-selection. It is identical
to the flow box API for this purpose. The implementation is still limited
to single-selection, and will be updated in subsequent commits.
2014-04-06 01:44:35 -04:00
John Lindgren
5f79ae53a2 Set use-fallback property to True for GtkScaleButton icons.
https://bugzilla.gnome.org/show_bug.cgi?id=727662
2014-04-06 01:12:41 -04:00
Jasper St. Pierre
ae7b154cf7 Make GtkAccelGroupEntry public again
Even though it was marked as internal, it seems gnome-terminal was
poking into the structure. It's unfortunately part of our ABI.
2014-04-05 22:44:32 -04:00
Matthias Clasen
2a26c39b29 overlay: deal gracefully with main widget being absent
It can happen that we get a size request when the main widget
is still NULL. Currently we hit a critical in this case, and
stumble on. We can do better.
Opening a new tab in nautilus is hitting this case.
https://bugzilla.gnome.org/show_bug.cgi?id=727643
2014-04-05 11:21:50 -04:00
Matthias Clasen
fee33b1a81 Clean up private headers
This commit adds a few missing private headers, and cleans up
some irregularities in the existing ones
2014-04-05 02:06:29 -04:00
Руслан Ижбулатов
3540e6ca57 W32: Give unfocused selected list items special background, like Explorer does
https://bugzilla.gnome.org/show_bug.cgi?id=727244
2014-04-04 07:57:16 +00:00
Matthias Clasen
fb9a6bb6d8 csd: Drop the GTK_FRAME_EXTENTS requirement
We are getting bug reports from people who are irritated that
dialogs now have 'double headers' under any wm but gnome-shell.

As an example, xfwm4 seems to do ok with csd windows, and
on balance it seems better to have some invisible border issues
than to have double headers.

https://bugzilla.gnome.org/show_bug.cgi?id=727414
2014-04-04 01:28:09 -04:00
Volker Sobek
f8b6bfe744 docs: Remove '\' escape character from literals
commit 7f6a964c47 replaced entities, but
escaped the replacement text also inside literals, which resulted in the
escaping '\' to also appear in the documentation.

https://bugzilla.gnome.org/show_bug.cgi?id=727322
2014-04-04 01:24:35 -04:00
Sébastien Wilmet
1bf2e0600f doc: fix gtk_window_destroy() -> gtk_widget_destroy()
Reviewed-by: Emmanuele Bassi
2014-04-03 18:28:10 +02:00
Jonas Danielsson
b29bbc6210 a11y: atk_table_get_row_at_index is deprecated
Do not use deprecated index based AtkTable functions use static
helper instead.

https://bugzilla.gnome.org/show_bug.cgi?id=727313
2014-04-01 21:40:24 -04:00
Jonas Danielsson
e7962f5871 a11y: atk_component_get_position is deprecated
Switch to using atk_component_get_extents instead.

https://bugzilla.gnome.org/show_bug.cgi?id=727313
2014-04-01 21:40:23 -04:00
Michael Natterer
b423b88580 treeview: remove unused members from GtkTreeView Private 2014-04-02 01:04:38 +02:00
Руслан Ижбулатов
42f70716b6 W32: style tooltips with appropriately-themed background
https://bugzilla.gnome.org/show_bug.cgi?id=727410
2014-04-01 11:50:38 +00:00
Руслан Ижбулатов
3a806b97c9 W32: give scrollbar slider active and insensitive styles
https://bugzilla.gnome.org/show_bug.cgi?id=727391
2014-04-01 11:50:37 +00:00
Руслан Ижбулатов
0d53a581b4 Give CC to instrospection scanner
Introspection scanner-generation script gets compiler from the CC
environment, we need to set it.

https://bugzilla.gnome.org/show_bug.cgi?id=722817
2014-04-01 11:50:35 +00:00
Руслан Ижбулатов
2ffd614ff4 W32: Add .dim-label style
https://bugzilla.gnome.org/show_bug.cgi?id=727245
2014-04-01 10:36:50 +00:00
Руслан Ижбулатов
e229cff8de W32: Fix listbox selection
* Makes listbox background white instead of default grey
* Uses gradients or W32 theme parts to draw sexy selection/prelight
  rectangle instead of changing selected/prelighted item background
* Removes blanket button text color, allowing buttons to inherit
  text color from their parents. Non-normal buttons DO get specific
  text color though. This partially fixes text color propagation from
  listbox rows to their children.

https://bugzilla.gnome.org/show_bug.cgi?id=727244
2014-04-01 10:36:49 +00:00
Руслан Ижбулатов
c2b4891854 W32: Add MSW7 notebook theme, move old notebook theme into XP-only CSS
https://bugzilla.gnome.org/show_bug.cgi?id=727213
2014-04-01 10:36:47 +00:00
Руслан Ижбулатов
d83b1275b4 W32: Remove selection from check/radio marks
Current theme allows selection to leak into check/radio marks,
resulting in ugly colored rectangles showing up underneath the marks.

https://bugzilla.gnome.org/show_bug.cgi?id=727211
2014-04-01 10:36:46 +00:00
Руслан Ижбулатов
ec7179d01a W32: Add dummy prelight style to check/radio buttons to propagate prelight to check/radio marks
https://bugzilla.gnome.org/show_bug.cgi?id=727210
2014-04-01 10:36:45 +00:00
Руслан Ижбулатов
b678af07d7 W32: re-enable grip theming
https://bugzilla.gnome.org/show_bug.cgi?id=727080
2014-04-01 10:36:44 +00:00
Руслан Ижбулатов
e0a80d165a W32: Add GtkPopover theming
https://bugzilla.gnome.org/show_bug.cgi?id=727078
2014-04-01 10:36:34 +00:00
Руслан Ижбулатов
c58ed480e5 W32: Make combobox-entry thinner by removing unneeded padding
https://bugzilla.gnome.org/show_bug.cgi?id=727075
2014-04-01 10:32:50 +00:00
Руслан Ижбулатов
7d367a8952 W32: Fix menu item size and submenu arrow size
https://bugzilla.gnome.org/show_bug.cgi?id=727037
2014-04-01 10:32:24 +00:00
Руслан Ижбулатов
e8f09084bd W32: Fix combobox dropdown list color
https://bugzilla.gnome.org/show_bug.cgi?id=727036
2014-04-01 03:29:35 +00:00
Руслан Ижбулатов
2b36054a5d W32: Fix double-arrowed combobox button
The arrow is part of the background image drawn by the theme, don't draw
GTK's own arrow. This also applies to non-entry comboboxes.

On XP the arrow-and-nothing-else part does not exist (W32 XP theme draws a
white rectangle) and has to be subtituted for a simple dropdown button even
for non-entry comboboxes.

https://bugzilla.gnome.org/show_bug.cgi?id=727035
2014-04-01 03:29:35 +00:00
Руслан Ижбулатов
ce9437daf5 Fix W32 theme for spinbuttons
It seems that the dec-button no longer has a "bottom" selector-thingy to
select for. Use "last-child" instead.
Use .vertical to style vertical instance differently, as last-child/first-child
meaning is inverted there.
Increase (towards 0) margins a bit, to avoid clipping the pre-light rectangle.
Use dir(rtl) selector to style horizontal instance differently for RTL locales,
where first-child is "inc".

https://bugzilla.gnome.org/show_bug.cgi?id=727022
2014-04-01 03:29:34 +00:00
Paolo Borelli
a0f2e6990f textbufferserialize: do not leak list of tags 2014-03-30 18:29:15 +02:00
Paolo Borelli
90b78f89d3 application-dbus: free strings during finalization 2014-03-30 11:57:23 +02:00
Paolo Borelli
63b90bb5b8 stackswitcher: do not leak buttons hash table 2014-03-29 23:15:28 +01:00
Matthias Clasen
7ac684e9e3 flow box: Avoid excessive signals
We were emitting the a11y ::selection-changed signal much more
often than ::selected-children-changed. Thats not necessary.
2014-03-29 00:46:51 -04:00
Matthias Clasen
bf8a169cb9 docs: Another round of markup removal 2014-03-29 00:24:15 -04:00
Matthias Clasen
3d0b7314cd Trivial typo fix 2014-03-28 23:51:52 -04:00
Jonas Danielsson
45b982dc7f clipboard: Add link to GdkDisplay in doc
https://bugzilla.gnome.org/show_bug.cgi?id=712752
2014-03-28 22:47:25 +01:00
Bastien Nocera
d6f9247f53 treeview: Lower the duration of validation iterations
GTK_TREE_VIEW_TIME_MS_PER_IDLE is currently 30 milliseconds, meaning
that validate_rows will validate rows up until all the validations have
taken over 30 msecs. So it's likely to block redrawing via the clock
frame update mechanism, as that tops at 16.66 milliseconds per frame
(1/60th of a second).

Stop validating rows if we've spent more than 3/5 of our allotted budget
for inter-frame processing, so as to avoid blocking.

In the future, we would probably want to calculate how long we would
have left until the next frame, especially if higher priority idles
and timeouts have already consumed a portion of that allotted time.

https://bugzilla.gnome.org/show_bug.cgi?id=726871
2014-03-27 13:02:43 +01:00
Olivier Brunel
5c019bde15 treemodelfilter: Fix using wrong path on row-deleted
A "typo" led to using a wrong GtkTreePath when converting the path of the
virtual root to check the ancestors, which would lead to either no checks being
performed, or maybe segfaulting when using an invalid path as result.

https://bugzilla.gnome.org/show_bug.cgi?id=722058
Signed-off-by: Olivier Brunel <jjk@jjacky.com>
2014-03-26 20:40:50 -04:00
John Lindgren
75b0180829 Allow gtk_radio_menu_item_set_group() to be called twice without crashing.
https://bugzilla.gnome.org/show_bug.cgi?id=726859
2014-03-26 20:35:24 -04:00
Bastien Nocera
f71f7215ab all: Name more idles and timeouts
Following up from 438cd857c4,
name more timeouts and idles.

The original grep was missing checking for gdk_threads_add_*()
functions (at least for some of the files).

https://bugzilla.gnome.org/show_bug.cgi?id=726870
2014-03-26 20:09:30 -04:00
Joanmarie Diggs
8a556a3a61 Add missing AtkRelations for labelled containers in the print dialog
These AtkRelation types are added automatically for widgets with a label
specified (e.g. via gtk_label_set_mnemonic_widget, gtk_frame_set_label,
and gtk_frame_set_label_widget). When such specification is absent, the
accessible relationship must be manually set.

https://bugzilla.gnome.org/show_bug.cgi?id=726996
2014-03-25 10:26:24 -04:00
Cosimo Cecchi
99dc47e7fd icontheme: fix emblemed icons fallout
Commit faba7df4fe changed the logic in
apply_emblems() so that GtkIconInfo->emblems_applied would be set to
TRUE even in case there was no emblem info available, which confuses the
theme cache.
This commit changes the logic back, so that NULL is returned from
apply_emblems_to_pixbuf() when there are no emblems available, fixing
the bug.

https://bugzilla.gnome.org/show_bug.cgi?id=726830
2014-03-24 20:17:21 -04:00
Johannes Wellhöfer
46cfebfe97 Also revert enable-mnemonics code in gtkwindow, which was forgotten in commit 34cf40e95c.
https://bugzilla.gnome.org/show_bug.cgi?id=708346
2014-03-24 20:17:20 -04:00
Kai Willadsen
baf4678087 docs: Document gtk_recent_filter_filter() requirements
gtk_recent_filter_filter() needs the contains bitfield to be set, but
this only mentions that the other fields are required.

https://bugzilla.gnome.org/show_bug.cgi?id=726900
2014-03-24 12:37:57 -04:00
Marek Kasik
21687bcedb printing: Draw print dialog on fullscreen windows
Set correct "type-hint" for GtkPrintUnixDialog ("dialog").
Otherwise the print dialog is not shown when its parent
window is in fullscreen mode.

https://bugzilla.gnome.org/show_bug.cgi?id=724728
2014-03-24 12:22:17 -04:00
Benjamin Otte
be7380a418 a11y: Move relationset updating to new vfunc
This way, we don't create lots of cell accessibles when creating the
first one (because surely one is the parent/child of another who again
is a parent/child of another who again....)
2014-03-24 16:38:18 +01:00
Benjamin Otte
8374a58623 a11y: Add API to update relationsets of cells to their parents 2014-03-24 16:38:18 +01:00
Benjamin Otte
fef14e0e87 a11y: Don't unref relations
Nobody was reffing those related object in the first place and that
was causing random crashes.
And if somebody had reffed those related objects, they'd have caused
reference cycles.

https://bugzilla.gnome.org/show_bug.cgi?id=726838
2014-03-24 16:38:17 +01:00
Matthias Clasen
02cd5737f6 Don't let themes override explicit border-width in dialogs
This fixes an issue where the theme-provided border-width prevents
dialog contents from lining up properly with the headerbar. To make
this work in message dialogs, we have to explicitly set the border-
width of the action area to 0.
2014-03-24 10:26:31 -04:00
Matthias Clasen
7da97a3642 Revert "Don't let themes override explicit border-width in dialogs"
This reverts commit 6e4567e73b.

For some reason, this causes buttons in message dialogs to have an
unwanted border.
2014-03-24 08:38:59 -04:00
John Lindgren
451692d432 Fix typo (GTK_ENABLE_DEBUG vs. G_ENABLE_DEBUG).
https://bugzilla.gnome.org/show_bug.cgi?id=726858
2014-03-21 22:55:03 -04:00
Matthias Clasen
d669926130 font chooser: Update font list on font changes
We do get a style-updated emission when new fonts are installed.
Update the font list in this case.

https://bugzilla.gnome.org/show_bug.cgi?id=726476
2014-03-21 22:37:36 -04:00
Matthias Clasen
c99935a540 file chooser: Don't react to entry changes in select-folder mode
In select-folder mode, we are putting the directory name into the
entry ourselves. Then the entry appends a /. If we react to this
'spontaneous' change of the entry by clearing the list selection,
this will in turn make us clear the entry. We don't want that.

https://bugzilla.gnome.org/show_bug.cgi?id=726855
2014-03-21 22:08:50 -04:00
Matthias Clasen
6e4567e73b Don't let themes override explicit border-width in dialogs
This fixes an issue where the theme-provided border-width prevents
dialog contents from lining up properly with the headerbar.
2014-03-21 15:41:13 -04:00
Matthias Clasen
9ed2c8a719 Fix undecorated windows
Setting windows undecorated was broken by some of the recent
shadow width changes. We need to ensure that shadow width is
zero for undecorated windows, then things work again.
2014-03-21 15:39:46 -04:00
Carlos Garnacho
9adfc8e2c4 window: Unset source ID before possibly destroying the widget
If the delete event ends up destroying the widget, unsetting
priv->delete_event_handler will happen on invalid memory, so
unset it before the widget is possibly destroyed.

https://bugzilla.gnome.org/show_bug.cgi?id=726825
2014-03-21 15:41:10 +01:00
Carlos Garnacho
0e7884f1a7 a11y: Remove weak reference when updating a GtkPopoverAccessible relative-to widget
Otherwise the weak reference is left dangling, which later causes issues at the time
of destroying that widget.

https://bugzilla.gnome.org/show_bug.cgi?id=726749
2014-03-21 15:33:58 +01:00
Benjamin Otte
fbf99febf3 docs: Add more information to gtk_widget_set_realized()
It's important to point out that widgets should only be marked as
realized very late in the process. Even GTK widgets don't get this
right.

https://bugzilla.gnome.org/show_bug.cgi?id=726717
2014-03-20 14:34:31 +01:00
Benjamin Otte
b20d49fc04 expander: Call set_realized() later
Widgets should only call set_realized() after having created and
registered their GDK windows. In this case, the creation of the style
context (or more exactly: figuring out the scale factor for it) requires
knowing if the widget is already realized. Which it isn't.

https://bugzilla.gnome.org/show_bug.cgi?id=726717
2014-03-20 14:20:49 +01:00
Benjamin Otte
38d1999f7b container: guard container variable by reffing it
vte destroys the container during removal of a child. Don't crash in
that case due to recent a11y refactoring.

https://bugzilla.gnome.org/show_bug.cgi?id=726369
2014-03-19 13:23:38 +01:00
Benjamin Otte
d5792eb1fe cssprovider: Fix error message
expected a valid semicolon
sounds kinda not so great. Make it say
  expected semicolon

Unless somebody can tell me the difference between valid and invalid
semicolons?
2014-03-19 12:44:24 +01:00
Matthias Clasen
5c10e8409f Ensure proper spacing around icons in message dialogs
We had a margin of 30 before/after the text. Put that add around
the icon as well, and separate the icon and text by 30 pixels.
This does not affect the appearance of message dialogs without
icons.
2014-03-18 19:53:36 -04:00
Murray Cumming
4ee775ebf9 docs: Tiny GtkApplication typo fixes. 2014-03-18 12:29:49 +01:00
Matthias Clasen
1a2b7bbd0a GtkDialog: Add some padding to title label 2014-03-17 22:46:22 -04:00
Matthias Clasen
70b4b622b4 GtkPopover: Fix two doc comments 2014-03-17 19:13:53 -04:00
Matthias Clasen
ac96c35230 Update documentation about link styling
The ::link-color and ::visited-link-color style properties
are ignored now. Document that.
2014-03-17 15:00:45 -04:00
Marek Kasik
b95ce71b89 printing: Fail nicely when /tmp is not writable
Don't crash when /tmp is not writable when printing to file.
Show that getting of printer details failed for CUPS printers.

https://bugzilla.gnome.org/show_bug.cgi?id=693200
2014-03-17 14:37:34 -04:00
Carlos Garnacho
3693045566 textview: Mind the lateral windows when setting handles/popovers positions
If a textview had lateral windows that might displace the text window, the
handles and popovers would appear displaced. Those lateral windows aren't
affected by RTL/LTR settings, so just checking for left/top is ok here.
2014-03-17 18:26:41 +01:00
Bastien Nocera
20c764fc5e dialog: Avoid possible use-after-free
When the dialogue's titlebar was replaced, we were still trying to
update the label we constructed but that was now destroyed.

https://bugzilla.gnome.org/show_bug.cgi?id=726492
2014-03-17 14:29:10 +01:00
Matthias Clasen
3504f49473 Show dialog titles
We want to present a clean, rounded top when there is nothing
else to show, but many dialogs in applications rely on showing
information in their title, so add a label and show the title
when it is not empty.
2014-03-14 06:28:49 -04:00
Owen W. Taylor
2f43800aa3 _gtk_widget_get_device_window: Fix for keyboard devices
Avoid a warning by returning NULL for keyboard devices, which can
never have an active pointer for a widget.
2014-03-13 10:31:08 -04:00
Owen W. Taylor
40b6d907bf Use GDK's current window tracking when synthesizing events in GTK+
Add gdk_device_get_last_event_window(), and use to implement the window
tracking we need for synthesizing crossing events for sensitivity changes
and gtk grabs, rather than keeping the information in qdata and updating
it based when GTK+ gets events.

https://bugzilla.gnome.org/show_bug.cgi?id=726187
2014-03-12 23:03:53 -04:00
Balint Reczey
4ce5fcc5c8 documentation: clarify gtk_icon_theme_add_builtin_icon() usage
https://bugzilla.gnome.org/show_bug.cgi?id=726135
2014-03-12 22:55:52 -04:00
Owen W. Taylor
827e5cb87b GtkTreeView: stop ignoring crossing events from grabs
Stop ignoring various crossing events from grabs:

Enter events with type GRAB/GTK_GRAB/GTK_UNGRAB/STATE_CHANGED:
  Ignoring these events was added as a workaround for synthesized
  events not having the right coordinates (see bug 555109) but
  now they do have the right coordinates. (see bug 704456)

Leave events with types types GTK_GRAB/GTK_UNGRAB:
  Ignoring these events was added because since we were ignoring
  the enter events as above, ignoring the leave events meant we
  could lose the prelighted row in a grab-triggered leave/enter
  pair. (See bug 653676. It's also now impossible to
  reproduce the leave events that were reported in that bug as causing
  problems.)

Leave events of type GRAB.
  Ignoring these events was added without a ChangeLog entry in 2001,
  possibly to keep the prelight from flashing when activating menus.
  But ignoring these events could lead to stuck prelighting, and we don't
  do it for any other widgets.

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

The bug this patch is fixing is that currently if you have a GtkPopover in
clicking off the popover to dismiss it on a GtkTreeView (which triggers
a synthetic enter event on the GtkTreeView) will leave the GtkTreeView
in a confused state until the user moves the mouse again.
2014-03-12 22:55:19 -04:00
Matthias Clasen
8d07911d73 Work around gcc stupidity
With -Wc++-compat, gcc warns about 'and' even in contexts where it
poses absolutely no danger.

https://bugzilla.gnome.org/show_bug.cgi?id=726136
2014-03-12 22:47:10 -04:00
Benjamin Otte
63fe6de94d treeview: Don't popup a search dialog for keypresses that close it
That doesn't make sense.
And it causes issues, because when holding down the tab key, we
show/hide a lot of windows and cause a lot of map/unmap events that
stall the event pipeline.
2014-03-13 02:02:50 +01:00
Benjamin Otte
c82f2169e5 treeview: Split out a function
This is in preparation for the next patch.
2014-03-13 02:02:50 +01:00
Benjamin Otte
66fae0330c a11y: Don't use signals
Instead, call functions directly. Fixes the fact that the signals
weren't disconnected even when the accessible was destroyed.

https://bugzilla.gnome.org/show_bug.cgi?id=725733
2014-03-13 02:02:50 +01:00
Matthias Clasen
6fbe287622 csd: Fix the northeast resize handle position 2014-03-12 00:28:26 -04:00
Matthias Clasen
5b341e8e6e csd: Fix invisible border/shadow confusion
We did not set an input shape on the window, so the region outside
the invisible border where we draw the outer edges of the shadow
were still part of the window, as far as clicks and cursors were
concerned. Fix this by setting an input shape that makes all clicks
outside of the resize borders go through to the underlying window.

https://bugzilla.gnome.org/show_bug.cgi?id=726125
2014-03-12 00:18:04 -04:00
Carlos Garnacho
a86ca5c561 textview: Postpone text handles creation until when needed
This is only necessary for touch devices, so unnecessary on many setups.
2014-03-10 23:07:21 +01:00
Carlos Garnacho
7b0a5674e2 textview: Postpone magnifier creation until when needed
This is only necessary for touch devices, so unlikely on many setups.
2014-03-10 23:07:21 +01:00
Carlos Garnacho
130d8f100e entry: revert text handles to cursor mode after cut/paste
The current text selection goes away in that case, so reflect
that too in the handles.
2014-03-10 23:07:21 +01:00
Carlos Garnacho
60b0e89804 entry: postpone text handles creation until when needed
This is only necessary for touch devices, so unlikely in many setups.
2014-03-10 23:07:21 +01:00
Carlos Garnacho
45d9076f49 entry: postpone magnifier creation until when needed 2014-03-10 23:07:21 +01:00
Carlos Garnacho
89c4ef5873 a11y: Don't allocate a list just for counting widgets in GtkContainerAccessible
It's more straightforward if counting through gtk_container_foreach().
2014-03-10 23:02:41 +01:00
Carlos Garnacho
31cd153050 a11y: Add GtkPopopverAccessible
And let GtkPopover use it as its GtkAccessible implementation, this
accessible sets the POPUP_FOR relationship to the relative-to widget,
and keeps track of changes there.

https://bugzilla.gnome.org/show_bug.cgi?id=725864
2014-03-10 23:02:14 +01:00
Carlos Garnacho
168e4faf50 window: Emit a11y signals directly on popover added/removed
As those are internal children, there's no signal that GtkWindowAccessible
could catch when those are added or removed, so make GtkWindow use the private
GtkContainerAccessible methods to add/remove the child accessible when that
happens.

https://bugzilla.gnome.org/show_bug.cgi?id=725864
2014-03-10 23:02:06 +01:00
Carlos Garnacho
d4d6968e1a a11y: Add private GtkContainerAccessible functions to add/remove a child
This may be useful in container implementations, or for internal children
that trigger no signal emission.

https://bugzilla.gnome.org/show_bug.cgi?id=725864
2014-03-10 23:01:59 +01:00
Carlos Garnacho
9d54fee952 a11y: Make GtkWindowAccessible know about popovers
https://bugzilla.gnome.org/show_bug.cgi?id=725864
2014-03-10 23:01:52 +01:00
Matthias Clasen
f712cd8850 message dialog: Fine-tune vertical spacing
Requested in
https://bugzilla.gnome.org/show_bug.cgi?id=723668
2014-03-10 06:13:38 -04:00
Phillip Wood
beaba95f39 Window: Focus custom titlebar with F10
As discussed on desktop-devel-list [1], "There should be an intuitive,
consistent, immediate way to jump to the widgets that live in the
header bar." F10 has been suggested for this as it is already used to
active menubars.

F10 will focus the custom titlebar widget if the window has one and it
isn't already focused. If the titlebar widget doesn't exist or is
already focused then F10 focuses the menubar if there is one.

[1] https://mail.gnome.org/archives/desktop-devel-list/2014-February/msg00176.html

https://bugzilla.gnome.org/show_bug.cgi?id=725141
2014-03-09 20:26:54 -04:00
Carlos Garnacho
59a928f7c8 window: Turn popovers into internal children
It turns out popovers are already smart enough to cope with this
situation, so let popovers be internal children so things that rely
on gtk_container_forall(), like DnD, work without modifications.

https://bugzilla.gnome.org/show_bug.cgi?id=725727
2014-03-06 23:21:43 -05:00
Carlos Garnacho
43b0eee81d entry: Make DnD coordinate calculation compensate for entry icons
This made DnD have effect farther on the left when dragging text over
any entry with icons in it.

https://bugzilla.gnome.org/show_bug.cgi?id=725866
2014-03-06 22:54:46 -05:00
Carlos Garnacho
adf39dd291 entry: use priv->dnd_position when rendering the DND cursor
This makes "cursor position" track the DnD point again, looks much
more intuitive than just rendering it on the pre-DnD position.

https://bugzilla.gnome.org/show_bug.cgi?id=725866
2014-03-06 22:54:46 -05:00
Matthias Clasen
8195244e3b Improve GtkStack documentation
As has been pointed out in
https://bugzilla.gnome.org/show_bug.cgi?id=725711
it is a little confusing that we have the concept of
a visible child and of the child being visible itself.
2014-03-06 22:50:40 -05:00
Carlos Garnacho
efb4f2db50 calendar: grab focus first, emit signals after
It may be unusual, but handlers of day-selected may want to transfer
focus somewhere else, without getting it reset back right after by/to
the calendar. This makes popovers demo work on the calendar again, for
one...
2014-03-07 02:50:27 +01:00
Matthias Clasen
15004e5930 Allow selecting a dark variant with GTK_THEME
Dark themes need to be debugged, too.

Author:    Matthias Clasen <mclasen@redhat.com>
2014-03-06 19:30:33 -05:00
Carlos Garnacho
43e8852829 popover: Track toplevel's focus widget when visible
If the toplevel focus widget is forced out of the popover (eg. through
gtk_widget_grab_focus() anywhere else), then dismiss the popover.
2014-03-06 23:23:47 +01:00
Carlos Garnacho
dcba77fcc4 popover: Track toplevel focus changes
Make the popover temporarily undo the GTK+ grab, so it remains modal
to its window, but does not attempt to steal focus on other non-modal
windows that get the focus.

This was most confusing with keyboard navigation, as the focus would
remain stuck on the popover, and not move to the newly focused window
after the popover was dismissed. It didn't have as much effect on
pointer operations as only the first click would be consumed in order
to hide the popover.
2014-03-06 23:23:47 +01:00
Carlos Garnacho
08e9c93b17 popover: Only give back focus to drawable widgets
If the previous focus widget is not drawable anymore, don't even
bother in transmitting the focus grab to it.
2014-03-06 20:38:11 +01:00
Carlos Garnacho
aa7e00fcb8 popover: dispose popovers when unmanaging them
This makes popovers get rid of dangling pointers at the time of destroying
the relative-to widget, just in case these are kept alive by a reference.
2014-03-06 19:34:06 +01:00
Claudio Saavedra
578d43c2ba gtkentrycompletion: fix a critical warning
There are early returns in this method before the completion timeout
is set later on, so set the source to 0 to avoid trying to remove it
later again.

https://bugzilla.gnome.org/show_bug.cgi?id=725824
2014-03-06 16:38:52 +02:00
Lars Uebernickel
a5d5106fcf gtkmenu: displace popups by their css margin
Without a margin, the pointer is above the first (or last) menu item,
making it easy to accidentally activate that item.

https://bugzilla.gnome.org/show_bug.cgi?id=591258
2014-03-06 10:44:28 +01:00
Marek Kasik
158cb29e55 GtkIconViewAccessible: Don't access freed item
Don't get index from deleted GtkIconViewItem.
Remove the item before traversing list of items.

https://bugzilla.gnome.org/show_bug.cgi?id=701884
2014-03-05 21:03:36 +01:00
Benjamin Otte
25da672dbc separatortoolitem: Make gcc stop complaining
No, a ButtonEvent and a MotionEvent are not the same thing.
2014-03-05 21:03:36 +01:00
Carlos Garnacho
5b1eeac96d popover: Set pointer motion mask on the popover window
This is not necessary for the popover itself, but helps tooltips
code confine the widget lookup within the popover if the pointer
is inside it, otherwise the widget lookup may turn out wrong for
motion events, starting the tooltip widget lookup from the toplevel
window, mistakenly triggering tooltips on the natural window
descendants (ie. the widget below the popover)

https://bugzilla.gnome.org/show_bug.cgi?id=724785
2014-03-05 13:58:04 +01:00
Cosimo Cecchi
faba7df4fe icontheme: support emblems in symbolic icons
We were failing to apply emblems in the symbolic icons code path.

https://bugzilla.gnome.org/show_bug.cgi?id=725683
2014-03-04 17:38:32 -08:00
Matthias Clasen
2ffeb591b1 Fix up signal deprecation 2014-03-03 23:31:48 -05:00
Matthias Clasen
7fae042208 Deprecate GdkEventVisibility and ::visibility-notify-event
These don't really work anymore in a composited world.
Lets make it official.
https://bugzilla.gnome.org/show_bug.cgi?id=481073
2014-03-03 21:39:03 -05:00
Matthias Clasen
fac8d6deea Allow applications to use gtk-menu-bar-accel in 3.12
gnome-terminal is still using this setting, so we'll let
applications override it for another cycle. It is no longer
backed by a system-wide setting, though, and it will still
go away eventually.

This partically reverts b26c74e5da
2014-03-03 18:58:36 -05:00
Matthias Clasen
ba0542dc51 Allow applications to use gtk-enable-mnemonics in 3.12
gnome-terminal is still using this setting, so we'll let
applications override it for another cycle. It is no longer
backed by a system-wide setting, though, and it will still
go away eventually.

This partically reverts 7e3a494fac
2014-03-03 18:58:26 -05:00
Phillip Wood
c3945d506d GtkTreeView documentation fixes
Add documentation for GtkTreeView::move-cursor

Add links to GtkTreeModel::row-inserted and GtkTreeModel::row-deleted
in the documentation for gtk_tree_view_set_reorderable ().

https://bugzilla.gnome.org/show_bug.cgi?id=725560
2014-03-03 18:21:00 -05:00
Matthias Clasen
db9a6f8caf Some more doc rewording 2014-03-03 18:13:24 -05:00
Phillip Wood
857e774a34 Fix typo in gtk_window_set_default() documentation
The documentation should link to gtk_widget_grab_default() rather than
gtk_widget_grab_focus().

https://bugzilla.gnome.org/show_bug.cgi?id=725559
2014-03-03 18:12:25 -05:00
Matthias Clasen
07fc894020 GtkRange: make autoscrolling work for inverted ranges
This problem was discovered in
https://bugzilla.gnome.org/show_bug.cgi?id=725225
2014-03-03 17:49:38 -05:00
Christoph Reiter
f0e6eb3ce0 treeselection docs: spelling fix
https://bugzilla.gnome.org/show_bug.cgi?id=725205
2014-03-03 17:35:10 -05:00
William Jon McCann
322f6c740f dialogs: always use CSD on dialogs
If we aren't using a header bar then put a fake titlebar
box on it so we can round the corners.

One of the advantages of this is so that the styling of the dialog
is completely within one theme framework. This prevents skew between
the theming expectations from the window manager and GTK+.

https://bugzilla.gnome.org/show_bug.cgi?id=725345
2014-03-03 15:00:13 -05:00
William Jon McCann
77fced56fc file-chooser: emit selection-changed when location entry changes too
https://bugzilla.gnome.org/show_bug.cgi?id=547988
2014-03-03 06:10:03 -05:00
Matthias Clasen
83dee19d93 Revert "GtkEntryCompletion: call setter for "text-column""
This reverts commit 9761a966d8.
2014-03-03 06:03:20 -05:00
Matthias Clasen
04bed9f84a Revert "gtk_entry_completion_set_text_column: reuse old renderer"
This reverts commit f6a0debdd9.
2014-03-03 06:03:20 -05:00
Matthias Clasen
8315dff0b0 Revert "GtkEntryCompletion: call cell_area()->clear()"
This reverts commit 3c28297134.
2014-03-03 06:03:19 -05:00
Matthias Clasen
c243ad8f49 Revert "gtk_entry_completion_get_cells: revert returning NULL"
This reverts commit a9a6fb045a.
2014-03-03 06:03:19 -05:00
Matthias Clasen
ab69814b5d Revert "GtkEntryCompletion: fix warning"
This reverts commit 2f0c610c35.
2014-03-03 06:03:18 -05:00
Andrés G. Aragoneses
596364e9fc trivial: fix typo in docs of gtk_css_provider_to_string 2014-03-02 12:09:48 +01:00
Andrés G. Aragoneses
cf6c277d49 trivial: fix typo in docs of gtk_css_provider_to_string 2014-03-02 09:47:31 +01:00
Tim Waugh
aaae0ca8ba New cloudprint GTK+ print module for Google Cloud Print.
This is a web service provided by Google that allows people to
share their printers (https://www.google.com/cloudprint/learn/).

In addition to being able to print to printers shared on Google Cloud
Print, there is an equivalent of "Print to file" in the form of "Save to
Google Drive".

The cloudprint module uses gnome-online-accounts to obtain the OAuth 2.0
access token for the Google account.

Currently it can discover available printers, get simple details about
them such as display name and status, and submit jobs without any
special options.

https://bugzilla.gnome.org/show_bug.cgi?id=723368
2014-02-28 11:45:03 +01:00
Benjamin Otte
e2a83cae0f fixed: Fix drawing order
Restore the drawing order in GtkFixed to what it was in 3.8. With the
GDK drawing changes this will not be correct in some cases (un-windowed
children can now overlap windowed children and native children overlap
everything), but fixes Eclipse drawing.

https://bugzilla.gnome.org/show_bug.cgi?id=725089
2014-02-28 03:08:11 +01:00
William Jon McCann
2cc1bf4edf dialog: remove suggested action class when changing default action
So that we don't have multiple widgets with the style class set
to suggested-action.
2014-02-27 09:09:28 -05:00
William Jon McCann
fb8f36f34d dialog: set suggested-action even on dialogs without header bars
It is up to the theme whether these should be styled.
2014-02-27 09:08:53 -05:00
William Jon McCann
905a6aa2e8 about-dialog: link directly to the 3.0 version of GPL licenses
In the unlikely case that there is another GPL released in the future
it would be best if we link directly to the 3.0 version of the
license description instead of the alias to the latest
version.
2014-02-27 08:12:56 -05:00
Benjamin Otte
af4b26f581 a11y: Fix refcounting for treeview cells
Old code assumed that AT-SPI would keep track of references and
therefore tried to only hold weak references. On the other hand it also
tried to keep objects alive so it referenced objects very randomly. All
of that lead to cycles and leaking.

As AT-SPI does not keep track of objects at all, the treeview now does.
The refcounting looks as follows:
GtkTreeViewAccessible
  => creates per row/column
GtkTreeViewAccessibleCellInfo
  => which references 1
GtkCellAccessible

If there is only one cell, this accessible is a
GtkRendererCellAccessible, otherwise a GtkContainerCellAccessible is
created and that accessible holds references to the
GtkRendererCellAccessibles that are created for every cell renderer.

https://bugzilla.gnome.org/show_bug.cgi?id=554618
2014-02-26 02:36:08 +01:00
Benjamin Otte
bcdb4aa2a7 a11y: Refactor function
Make the intent of the function clear by implementing it that way.
2014-02-26 02:36:08 +01:00
Benjamin Otte
5ea4dbf3e0 a11y: Split out a function
This will make the next refactoring easier.
2014-02-26 02:36:08 +01:00
Benjamin Otte
70ff97e812 a11y: Remove unused variable 2014-02-26 02:36:08 +01:00
Benjamin Otte
2fdd420e78 a11y: Use more obvious function name 2014-02-26 02:36:07 +01:00
Benjamin Otte
f60bb84d15 a11y: Split out creation of cell info
Don't mix cell info creation with cell accessible creation. Instead,
first create the accessible, then create the cell info.
2014-02-26 02:36:07 +01:00
Benjamin Otte
43fe3c499c a11y: Split out a function
First in a set of refactorings to make the create_cell() function
actually understandable.
2014-02-26 02:36:07 +01:00
Jasper St. Pierre
f89f595d08 Add gtkactionbar.ui.h 2014-02-23 16:07:38 -05:00
Benjamin Otte
6efd6611f2 toolpalette: Remove unused function 2014-02-23 20:00:08 +01:00
Benjamin Otte
9add8e261f revealer: Pass correct size to child hfw function
The refactoring in b9e37f8d2d broke this.

https://bugzilla.gnome.org/show_bug.cgi?id=724999
2014-02-23 15:40:46 +01:00
Benjamin Otte
10fa786dfa csskeyframes: Split new() into alloc() and new()
The new() function is supposed to return an empty fully initialized
GtkCssKeyframes object, while the alloc() function just allocates and
initializes static values. So alloc() can be used for copying or
resolving keyframes.

Fixes a memleak when resolving keyframes.
2014-02-23 15:40:46 +01:00
Matthias Clasen
d64ae72c29 Take shadow size into account when positioning popovers
Without this, popovers have a tendency to protrude into the
invisible border of windows, which looks less than optimal.
2014-02-22 14:07:48 -05:00
Matthias Clasen
18749136da menu button: avoid property order dependencies
With the code as written, use-popover has to be set first,
before the model. To avoid this ordering dependency, re-set
the model when use-popover changes.
2014-02-22 12:49:24 -05:00
Matthias Clasen
ca35d1a4c4 menu button: Fix property notification 2014-02-22 12:49:08 -05:00
Matthias Clasen
1de4c698cc GtkModelButton: fix up naming
The convention we follow is that the PROP_foo define should
match the property name. Therefore, change PROP_MODEL to
PROP_MENU_MODEL to match "menu-model".
2014-02-22 12:31:18 -05:00
Matthias Clasen
4f1d9452be Fix life-cycle handling of treeview columns
gtk_tree_view_remove_column was first removing the column from
its list, then call gtk_tree_view_column_unset_tree_view, which
would then call gtk_container_remove to remove its button from
the treeview. But the treeview remove implementation relied
on the column being still in the list in order to recognize
the button as 'special', so in effect the button was never
properly removed and thus, leaked.

Fix this by callling unset_tree_view before removing the
column from the list.

https://bugzilla.gnome.org/show_bug.cgi?id=724891
2014-02-21 22:31:16 -05:00
Matthias Clasen
b01229db4b Fix popover life-cycle handling
c287845240 was trying to fix
the memory leak caused by popovers begin destroyed in
gtk_window_destroy before chaining up to gtk_widget_destroy,
which unrealizes the window, and would clean up the popover
windows if the popovers were still around.

Fix this in a better way by moving the popover destruction
after the chaining up, so we unrealize first, and then
destroy the popovers.

Also, make _gtk_window_remove_popover unrealize the popover,
for symmetry with _gtk_window_add_popover.

This should fix
https://bugzilla.gnome.org/show_bug.cgi?id=724921
2014-02-21 22:08:00 -05:00
Matthias Clasen
00e87d2445 Fix GtkMenuToolButton
The addition of popovers to menu buttons broke this, by making
the toolbuttons stay insensitive.

https://bugzilla.gnome.org/show_bug.cgi?id=724799
2014-02-21 21:40:48 -05:00
Matthias Clasen
89a264de91 about dialog: protect against gtk_widget_show_all
Normally, a GtkAboutDialog is shown using the convenience
API. But if you manually construct one and show it by calling
gtk_widget_show_all() on it, the license tab would show up
uninvited. Fix that.

https://bugzilla.gnome.org/show_bug.cgi?id=724411
2014-02-21 21:15:52 -05:00
William Jon McCann
e3df44c6f7 Don't leak the theme name 2014-02-21 15:22:38 -05:00
William Jon McCann
e709c965a4 Don't leak the queried file info
https://bugzilla.gnome.org/show_bug.cgi?id=554618
2014-02-21 14:51:25 -05:00
William Jon McCann
c287845240 Unregister the popover before destroying it
Fixes a leak of the registered_windows list in GtkWidget.

https://bugzilla.gnome.org/show_bug.cgi?id=554618
2014-02-21 14:51:25 -05:00
Marek Kasik
7134ededfd printing: Fix visibility of tabs in print dialog
"Job", "Image Quality", "Color", "Finishing" and "Advanced" tabs
shouldn't be shown if there is no printer selected.

https://bugzilla.gnome.org/show_bug.cgi?id=724895
2014-02-21 16:04:53 +01:00
Marek Kasik
31748fa5c0 printing: Fix sensitivity of the Print button
Don't make Print button sensitive until a printer is selected.

https://bugzilla.gnome.org/show_bug.cgi?id=724895
2014-02-21 16:04:49 +01:00
Matthias Clasen
55b0019589 GtkTooltip: Avoid extra work
When we are hiding the label or icon anyway, no need to change
it right before, causing reallocation overhead.
2014-02-20 18:31:10 -05:00
William Jon McCann
0997303378 Don't leak list items of popovers 2014-02-20 16:41:15 -05:00
William Jon McCann
1e87b82048 file-chooser: make accept action sensitive only when has selection
https://bugzilla.gnome.org/show_bug.cgi?id=547988
2014-02-20 15:44:47 -05:00
Jasper St. Pierre
ad0c4c3e83 window: Fix configure request debug code in move_resize
Make it compile in GTK+3 and switch pos_changed / size_changed
to be the right way around.
2014-02-20 13:55:23 -05:00
Carlos Garnacho
eb0f86d485 popover: Always apply the window shape
In practice this shape is only used to outline the popover when it is
above native windows, in the most normal full-csw case the shape won't apply
visibly, so popovers will still be able to cast a shadow there.

If there are native windows below the popover, the shape will exclude the
shadow, so there are no alpha contents above the window. One worst case that
might happen is that the popover lays above patches of native/client-side
windows, so the shadow could come and go around the border. But first let's
see whether that happens often or visibly enough before adding something more
convoluted.
2014-02-20 16:36:34 +01:00
Matthias Clasen
8ea40e4956 Trivial annotation syntax fix 2014-02-20 10:18:45 -05:00
William Jon McCann
bc41268368 print-dialog: remove shadow in from some of the tabs 2014-02-20 09:19:31 -05:00
Benjamin Otte
b9e37f8d2d revealer: Allocate extra size to child
Do not constrain the child widget to its preferred size when the
revealer is larger.

https://bugzilla.gnome.org/show_bug.cgi?id=724742
2014-02-20 02:10:07 +01:00
Benjamin Otte
1d422deb0f stackswitcher: Don't do unneeded update
The update of the needs-attention state is done via its own property,
so it doesn't need to be done via visibility changes.

This patch is largely the result of inspecting the code due to a warning
and not a result of testing. So if issues pop up that bisect back to
this patch, that's why.
2014-02-20 02:10:07 +01:00
Benjamin Otte
f2d4b07f4b stylecascade: Remove function
Inline it.
2014-02-20 02:10:07 +01:00
Benjamin Otte
6de50aa7d9 settings: Store style cascade in settings object
This ensures that the initialization for the CSS theme happens when the
style cascade gets queried.

https://bugzilla.redhat.com/show_bug.cgi?id=1064922
https://bugzilla.mozilla.org/show_bug.cgi?id=972382
2014-02-20 02:10:07 +01:00
Matthias Clasen
2a8446bdec Add docs 2014-02-19 19:39:06 -05:00
William Jon McCann
469d333aa2 docs: use Returns: consistently
Instead of Return value:
2014-02-19 18:56:05 -05:00
Matthias Clasen
215c55f2b9 GtkActionBar: Implement destroy
Similar to map/unmap, this needs to follow the actual
widget tree. Without this, several test cases in
the templates test fail.
2014-02-19 01:34:19 -05:00
Matthias Clasen
bdaddaabad Drop unimplemented functions
These were added to the header by mistake in a recent commit.
They have no implementation, so dropping them won't cause
any harm.
2014-02-19 01:03:37 -05:00
Matthias Clasen
c5874b1034 Document gtk_header_bar_get_has_subtitle 2014-02-19 01:03:37 -05:00
Matthias Clasen
e79842d64c Document gtk_widget_get_scale_factor 2014-02-19 01:03:36 -05:00
Matthias Clasen
7fbf6a67a2 Fix a small memory leak
GtkPrintUnixDialog was leaking a GFile.
Spotted by Christian Persch in
https://bugzilla.gnome.org/show_bug.cgi?id=724631
2014-02-19 00:31:40 -05:00
Carlos Garnacho
63bb834b2e popover: Accept NULL relative_to widgets
And document the fact that the popover will get destroyed if
a NULL relative-to is given on a parented popover, if no extra
references are kept.

For gtk_popover_new*(), a NULL relative-to will leave the widget
as a floating object, to be sunk by a later call to
gtk_widget_set_relative_to().

https://bugzilla.gnome.org/show_bug.cgi?id=724407
2014-02-19 00:25:34 -05:00
Paolo Borelli
2f379604d1 Do not call popover_set_relative with NULL
This gives a critical warning since that function expects a
valid widget.

https://bugzilla.gnome.org/show_bug.cgi?id=724407
2014-02-19 00:25:34 -05:00
Matthias Clasen
479babf339 GtkTextHandle: Deal with parent_scrollable going away
Use a weak reference to notice when parent_scrollable is
going away.

https://bugzilla.gnome.org/show_bug.cgi?id=724392
2014-02-19 00:24:30 -05:00
Matthias Clasen
e679812be0 GtkBox: Fix an off-by-one error with center allocation
This error was causing children to not get allocated when
the center widget is the first one in the list of the box's
children.
2014-02-18 22:55:45 -05:00
Matthias Clasen
bb4f8d8ce1 Make gtk_box_set_center_widget take NULL
It makes sense to allow this, and gtk_action_bar_set_center_widget
already assumes that it can pass NULL to this function.
2014-02-18 22:50:37 -05:00
Matthias Clasen
5eaebde394 Add map/unmap to GtkActionBar
The recursion in map needs to follow the actual physical
widget tree, otherwise we violate invariants. The generic
container map implementation uses gtk_container_forall to
operate on the children, and thus is not suitable for
containers where the children are inside some internal
container.
2014-02-18 22:50:37 -05:00
Matthias Clasen
3f0e28133d Fix up gtk_action_bar_forall
We need to always iterate over non-internal children.
2014-02-18 22:50:37 -05:00
Matthias Clasen
53f6b8582a Revert "action bar: remove the forall implementation"
This reverts commit 0ff0fdfefb.
2014-02-18 22:50:37 -05:00
Paolo Borelli
d3c2819401 Add a GtkFrame inside GtkActionBar
This is needed to set a padding and draw a border since GtkBox does
not honour css padding yet.

https://bugzilla.gnome.org/show_bug.cgi?id=724693
2014-02-18 22:50:36 -05:00
Ignacio Casal Quinteiro
0b4cb125e7 Remove duplicated word "id" from warning message 2014-02-18 11:42:45 +01:00
Matthias Clasen
d308f39268 Make GtkSeparatorToolItem work for window-dragging again
This broke recently when the window dragging code was changed
to require motion events to be propagated as well.

https://bugzilla.gnome.org/show_bug.cgi?id=724539
2014-02-17 23:55:53 -05:00
Matthias Clasen
62254456f7 GtkLabel: don't eat too many button release events
We should only eat button release events when the label is
actually selectable, since the comment indicates that we
want to eat the release events belonging to press events
that triggered a selection. This fixes problems with actions
on parent widgets that are triggered by button release,
as seen in this bug:

https://bugzilla.gnome.org/show_bug.cgi?id=724541
2014-02-17 23:09:44 -05:00
Matthias Clasen
885026851f Another trivial doc rewording 2014-02-17 22:38:24 -05:00
Matthias Clasen
99bc982bd8 Trivial typo fix 2014-02-17 22:38:24 -05:00
Matthias Clasen
67a00991b7 tree view: clean up custom search entry on destroy
Suprisingly, this bug has been there for a very long time.
I'm fixing it now because we now use a custom search entry
in the app chooser dialog, and this is causing the templates
cleanup test to fail.
2014-02-17 21:41:11 -05:00
Matthias Clasen
2392b1e534 Make print dialog destruction work
This was also causing the templates test to fail.
2014-02-17 21:40:36 -05:00
Matthias Clasen
0ff0fdfefb action bar: remove the forall implementation
With nested internal children, this interferes with proper
cleanup, and makes the templates test fail.
2014-02-17 21:39:44 -05:00
Paolo Borelli
ad9019c2c9 gtkbox: fix positioning of center widget 2014-02-17 23:23:04 +01:00
Matthias Clasen
e734b79fd8 Fix return_if_fail lines in gtk_box_pack
Since the function now returns a value, these checks
need to be updated.
2014-02-17 11:55:56 -05:00
Paolo Borelli
b63ecf8b1a Add builder support for GtkBox center widget 2014-02-17 14:05:36 +01:00
Matthias Clasen
11834ebf5c app chooser: Reword a label
'Find New Applications' is shorter and less cryptic than 'Find
Applications in Software'.
2014-02-17 06:56:00 -05:00
Matthias Clasen
72e2094472 Drop with_separators from gtk_popover_bind_model
The with_separators argument does not really make sense
for popovers, it was just copied from the menu implementation.
Drop it now, before it becomes part of the public API.
2014-02-17 06:52:38 -05:00
Juan R. García Blanco
f3c9f86d14 popover: Make gtk_popover_bind_model() public
This is needed for the C++ bindings.

https://bugzilla.gnome.org/show_bug.cgi?id=724503
2014-02-17 06:52:23 -05:00
Matthias Clasen
8bfa5e4611 Drop GtkCenterBox
Its functionality has been subsumed in GtkBox.
2014-02-16 23:05:21 -05:00
Matthias Clasen
ef565e2713 action bar: Use a regular box instead of GtkCenterBox
GtkBox now supports a centered child, so GtkCenterBox is
no longer needed here.
2014-02-16 23:02:54 -05:00
Matthias Clasen
06716a6c79 Add center widget support to GtkBox
This makes GtkCenterBox unnecessary, and at the same time
adds more features: the center widget can be expanded, and
baseline alignment is supported.
2014-02-16 22:57:24 -05:00
Matthias Clasen
8bd94a9515 Fix a problem with window dragging
Dragging windows was not working on widgets in the titlebar
region unless they had the window-dragging style property
set. Fix this by looking at the region for motion notify
events as well as for buton press events.
2014-02-15 20:41:58 -05:00
Matthias Clasen
3c981d23dc Don't show an empty license tab
It is not useful to show a license tab, if there's no license
to read.  This was pointed out as a possibility in
https://bugzilla.gnome.org/show_bug.cgi?id=724411
2014-02-15 18:07:09 -05:00
Matthias Clasen
c779b42476 Docs: use // for comments in examples
Without sgml mode, we can't escape /* as /&ast; anymore,
so just switch to // for comments in examples.
2014-02-14 23:34:22 -05:00
Matthias Clasen
e179c65da0 header bar: squeeze the title in
Let the center widget extend into the border area, to avoid
resizing header bars needlessly. This improves the uniformity
of header bars across applications, some of which don't use
subtitles, or use custom title widgets.

https://bugzilla.gnome.org/show_bug.cgi?id=706515
https://bugzilla.gnome.org/show_bug.cgi?id=707999
2014-02-14 15:39:08 -05:00
Matthias Clasen
4a208439e6 Raleigh: fix a typo
titlebar is a style class, so it needs a .
2014-02-14 15:33:47 -05:00
Matthias Clasen
c1def9c224 Forgotten file 2014-02-14 15:33:26 -05:00
Matthias Clasen
9678c92112 Fix a typo
Thanks to Thomas A. Stillings for spotting it.
2014-02-14 11:56:48 -05:00
Matthias Clasen
f55d210c12 app chooser: sync sensitivity of search button
The code setting up the button has been move a little later
in the dialog construction, with the effect that the entry
is already insensitive when we set up the binding.
2014-02-14 09:39:49 -05:00
Matthias Clasen
f217af54ca app chooser: Add a search bar
This replaces the treeview typeahead popup with a GtkSearchBar,
and adds a search button to the header bar (if we have one).

https://bugzilla.gnome.org/show_bug.cgi?id=724218
2014-02-14 07:05:13 -05:00
Matthias Clasen
e30f5dd00d color chooser: Make nonresizable by default
The color chooser does not contain any scrollable content,
therefore it should not be resizable.
2014-02-14 07:05:13 -05:00
William Jon McCann
9a5f7c7978 Use an action bar for the conficts ui in the print dialog 2014-02-13 20:59:26 -05:00
William Jon McCann
283804c0bf Set a default spacing on action bars 2014-02-13 20:59:25 -05:00
William Jon McCann
a121da3bb1 Set no border on notebook in print dialog 2014-02-13 20:59:25 -05:00
William Jon McCann
afa9339e71 volume-button: use symbolic icons by default 2014-02-13 20:47:24 -05:00
Matthias Clasen
352ea3a48d message-dialog: deprecate the image field
We had already set the image to be hidden in the .ui file.
This patch removes the image altogether, and deprecates the
property, setter and getter.

If an image is explicitly put with the setter, it is still
shown, so to not break existing users of this API.

Based on a patch by Jon McCann.
2014-02-13 20:41:29 -05:00
Matthias Clasen
6578c9d876 Modernize the app chooser dialog
This is according to suggestions in
https://bugzilla.gnome.org/show_bug.cgi?id=724218
2014-02-13 00:14:42 -05:00
Matthias Clasen
2671fa98f8 Revert "gtkicontheme: Don't query CONTENT_TYPE to determine if something is an SVG"
This reverts commit f929a61399.

It caused blurry icons in gnome-shell, and we haven't been able
to track down why yet.
2014-02-12 22:36:59 -05:00
William Jon McCann
a9ecde45ec docs: don't show bloatpad images in the docs
They are too large and out of date.
2014-02-12 19:28:51 -05:00
William Jon McCann
37a8ee6e95 docs: fully break lines in examples
Try to do a better job of keeping example content
from being too wide. It is often rendered as <pre>
text so the only time we can wrap it is in the source.

It is best to full break lines at all punctuation and
to try to keep the width under 70 chars or so.
2014-02-12 18:42:50 -05:00
William Jon McCann
d0a654e4b9 Add new ActionBar
https://bugzilla.gnome.org/show_bug.cgi?id=723929
2014-02-12 08:08:03 -05:00
William Jon McCann
c86ee0558c Rename GtkActionBar to GtkCenterBox
https://bugzilla.gnome.org/show_bug.cgi?id=723929
2014-02-12 08:08:03 -05:00
Matthias Clasen
9e002a024e GtkEntry: Fix a few irregularities in the size request code
We don't want the size request to change as icons come and
go (thinking e.g. about the caps lock warning). Just make
sure that we have enough room for showing the icons.
2014-02-11 22:00:12 -05:00
Matthias Clasen
cf4a41a856 Add GtkEntry:max-width-chars
This property allows specifying a natural width of
the entry that is bigger than the minimum width.

https://bugzilla.gnome.org/show_bug.cgi?id=724094
2014-02-11 17:54:25 -05:00
Matthias Clasen
3459a0a273 Revert "Introduce API to get the preferred visual"
This reverts commit 2b95d1a34e.

Conflicts:
	gdk/gdkscreen.c
2014-02-10 22:15:28 -05:00
Matthias Clasen
d326507978 Revert "Use gdk_screen_get_preferred_visual()"
This reverts commit 30fa1426cf.

See the bugs
https://bugzilla.gnome.org/show_bug.cgi?id=724067
https://bugzilla.gnome.org/show_bug.cgi?id=723740
for the issues that are the reason for this revert.
2014-02-10 22:12:53 -05:00
Matthias Clasen
fefd3bf6cc menu button: Don't set use_popover to TRUE by default
This was changed by accident. The default value is supposed
to be FALSE, for now.
2014-02-10 09:10:22 -05:00
Murray Cumming
a76bb2c177 docs: Fix tiny typo. 2014-02-10 12:44:52 +01:00
Alejandro Piñeiro
79ed2b790a a11y: remove implementation for component->get_size
Recently get_size was removed because it was redundant, as
you can get the same information from get_extents.

https://bugzilla.gnome.org/show_bug.cgi?id=723863
2014-02-09 23:11:53 -05:00
Matthias Clasen
7f6a964c47 Docs: Remove all entities and turn off sgml mode
With all element markup gone, it is time to turn off
sgml mode, and get rid of entities as well.
2014-02-09 17:58:07 -05:00
Matthias Clasen
444d04a360 More coding style cleanups 2014-02-09 01:22:07 -05:00
Matthias Clasen
eb0eaffd24 Trivial coding style cleanups 2014-02-09 00:48:38 -05:00
Matthias Clasen
add7a83452 Trivial formatting fix 2014-02-08 22:18:15 -05:00
Matthias Clasen
d1ba50aa96 Quell a compiler warning 2014-02-08 22:17:28 -05:00
Matthias Clasen
14ba1280ce Improve popover positioning
Improve the algorithm to determing popover placement:
If it fits in the preferred direction or its opposite,
do that, otherwise use the direction that causes the least
of the popover to be cut off.
2014-02-08 22:14:51 -05:00
Matthias Clasen
9822d510a6 GtkMenuButton: Support popovers
Add api to allow explicitly setting a GtkPopover instead of
a GtkMenu as the popup of a GtkMenuButton. Also, add api to
instruct the menu button to construct a popover when given
a menu model.

We set the style class "menu-button" on the button only when
it pops up a menu, to allow different treatment for the active
state of the button in the two cases.

https://bugzilla.gnome.org/show_bug.cgi?id=723878
2014-02-08 20:42:20 -05:00
Juan R. García Blanco
552c29b488 GtkPopover: use GdkRectangle instead of cairo_rectangle_int_t
cairo_rectangle_int_t replaced by GdkRectangle whenever it is used.
Also, rect parameter in public method gtk_popover_set_pointing_to
made const.

Bug #723394
2014-02-08 21:53:07 +01:00
Matthias Clasen
e2a2d5012e GtkDialog: Make headerbar buttons homogeneous
The buttons in headerbars should be all the same width. Since
GtkHeaderBar doesn't have a homogeneous mode, use a size group
to achieve this.

https://bugzilla.gnome.org/show_bug.cgi?id=723672
2014-02-07 22:36:24 -05:00
Juan R. García Blanco
dbf1521ad4 GtkFlowBox::child-activated: fix param type in g_signal_connect
Replace GTK_TYPE_WIDGET with more specific GTK_TYPE_FLOW_BOX_CHILD
for GtkFlowBox::child-activated. This matches signature of
child_activated slot in class struct.

https://bugzilla.gnome.org/show_bug.cgi?id=723716
2014-02-07 21:39:49 -05:00
William Jon McCann
eb14b00187 docs: fix typo 2014-02-07 21:34:27 -05:00
William Jon McCann
01b2440370 docs: rewrite the CSS Properties docs 2014-02-07 20:53:00 -05:00
William Jon McCann
7067b3c326 docs: don't use a table for the region docs 2014-02-07 20:53:00 -05:00
William Jon McCann
f5e540d71a docs: improve the cssprovider documentation layout 2014-02-07 20:53:00 -05:00
Matthias Clasen
c823498b4c Fix margin-start/end property implementation
The properties are declared read-write, but only the setter
was hooked up. This was leading to criticals in test apps using
the prop-editor.c code. Complete the implementation by adding the
getter side too.
2014-02-07 20:27:30 -05:00
William Jon McCann
326da2da58 docs: don't use <anchor> 2014-02-07 15:40:52 -05:00
Matthias Clasen
2fea2d4dbd Populate popovers from menu models
This adds a new function, gtk_popover_new_from_model, which creates
a popover and populates it with suitable content according to the
menu model. The current implementation uses GtkModelButton for the
individual items, and a GtkStack for submenus.

https://bugzilla.gnome.org/show_bug.cgi?id=723014
2014-02-07 15:11:51 -05:00
Matthias Clasen
bf9ce3ad25 Introduce GtkModelButton
Similar in spirit to GtkModelMenuItem, this private GtkButton subclass
can connect to a GtkMenuTrackerItem and present itself as either a
regular button, a check button, or a radio button. Activation and
state tracking is done through the GAction that is associated with
the menu tracker item.

https://bugzilla.gnome.org/show_bug.cgi?id=723014
2014-02-07 15:11:50 -05:00
William Jon McCann
13998c55e7 docs: use proper quotations instead of '*' 2014-02-07 14:22:39 -05:00
William Jon McCann
4dee965116 docs: use apostrophe in *'m 2014-02-07 13:42:09 -05:00
William Jon McCann
cb6483d382 docs: use apostrophe in *'d 2014-02-07 13:39:53 -05:00
William Jon McCann
fa3f1e1488 docs: use apostrophe in *'ve 2014-02-07 13:38:26 -05:00
William Jon McCann
a4b5929e81 docs: use apostrophe in *'re 2014-02-07 13:37:09 -05:00
William Jon McCann
285d216d3e docs: use apostrophe in *'ll 2014-02-07 13:35:54 -05:00
William Jon McCann
e34bd4137d docs: use apostrophes in *n't 2014-02-07 13:32:47 -05:00
William Jon McCann
f0000b2f3d docs: use more apostrophes 2014-02-07 13:26:12 -05:00
William Jon McCann
7a208fbbf3 docs: use proper apostrophe
https://wiki.gnome.org/Design/OS/Typography
2014-02-07 13:06:10 -05:00
William Jon McCann
f116f0071e docs: use links instead of <xref> 2014-02-07 11:13:11 -05:00
Carlos Garnacho
98a67d9697 popover: propagate (insensitive|backdrop) flags from relative-to widget
Popovers aren't direct children of the widget they point to, but yet
they act as children of it, so do the same with state propagation,
so the flags that propagate across the hierarchy reach popovers too.
2014-02-07 16:47:57 +01:00
Carlos Garnacho
63bed5d040 popover: Listen on grab_notify from the relative-to widget
Anytime ::grab-notify comes across, the popover visibility and GTK+
grab ownership are checked, so the popover is hidden when it loses
the GTK+ by any reason.
2014-02-07 16:47:57 +01:00
William Jon McCann
3c4dbe6c7a Add GTK_STYLE_CLASS_DESTRUCTIVE_ACTION 2014-02-07 10:28:53 -05:00
William Jon McCann
de42376122 Add GTK_STYLE_CLASS_SUGGESTED_ACTION 2014-02-07 10:28:52 -05:00
William Jon McCann
648511ed44 docs: remove <emphasis> 2014-02-07 10:07:16 -05:00
William Jon McCann
0ce016650b docs: Use markup for links 2014-02-07 09:42:12 -05:00
Benjamin Otte
6d3347de63 widget: Ignore text direction in gtk_widget_set_state_flags()
Previously we did a semi-successful job at ignoring it. Unfortunately
this job was bad enough that we could lose the direction.

We still allow passing in the enum values, because we want code like
this to work:
  set_state_flags (get_state_flags() | SOME_FLAGS)
2014-02-07 14:48:54 +01:00
Carlos Garcia Campos
ae36e57c61 gtkmagnifier: do not use P_() macro for property names 2014-02-07 10:01:49 +01:00
Ignacio Casal Quinteiro
4238cc4b7b Revert "Fix memory leak in GtkTreeViewAccessible"
This reverts commit 7a411eb6dd.
This also makes gedit external tools manager to crash
2014-02-06 22:15:12 +01:00
Ryan Lortie
974c843253 GtkApplication: install gtk option group
Install Gtk's GOptionGroup in GApplication just before commandline
arguments are parsed.
2014-02-06 17:42:33 +00:00
Claudio Saavedra
7faf5ee765 GtkTreeViewColumn: fix critical warning
Do not call _column_autosize() if there is no treeview set yet.

https://bugzilla.gnome.org/show_bug.cgi?id=723637
2014-02-06 19:41:02 +02:00
Claudio Saavedra
b91859a19a gtkwindow: remove delete-event idle function on finalize
Heavy duty can prevent this idle function from being called before
the window is destroyed, so make sure that the source is removed
when the window is finalized.

https://bugzilla.gnome.org/show_bug.cgi?id=723771
2014-02-06 18:18:23 +02:00
William Jon McCann
16db6bbccf docs: fix quotes in example 2014-02-06 10:55:12 -05:00
Bastien Nocera
d74ca9f02c popover: Emit ::closed once modality is cleared
Otherwise, calling gtk_widget_grab_focus() on a widget when the
popover send ::closed won't work.
2014-02-06 16:13:43 +01:00
William Jon McCann
f999ac686b docs: Don't use warnings 2014-02-06 09:53:49 -05:00
Carlos Garnacho
99f16d25a7 popover: Add ::closed signal
This signal is emitted when the popover is dismissed either through
API or user interaction, somewhat more friendly than connecting to
::unmap.
2014-02-06 15:32:48 +01:00
Carlos Garnacho
13b37bd4e0 popover: Add padding pointers to GtkPopoverClass 2014-02-06 15:32:40 +01:00
William Jon McCann
e78ebaa089 docs: don't use <important> 2014-02-06 08:01:49 -05:00
William Jon McCann
334d34178a docs: don't use <warning> 2014-02-06 08:01:49 -05:00
William Jon McCann
6abe7a7094 docs: use markdown instead of <note> 2014-02-06 08:01:49 -05:00
William Jon McCann
2a45418b67 docs: use proper quotes 2014-02-05 15:08:42 -05:00
William Jon McCann
c3dfb17031 docs: fix missing quotation mark 2014-02-05 15:08:42 -05:00
William Jon McCann
fd7adf3b51 docs: add back id for section heading
It was lost during the markdown conversion.
2014-02-05 12:33:39 -05:00
William Jon McCann
b4d4ffcf38 docs: Don't use <xi:include> 2014-02-05 12:32:20 -05:00
Benjamin Otte
25d02909c8 label: Invalidate link colors on style change
Discovered-by: Timm Bäder <mail@baedert.org>

https://bugzilla.gnome.org/show_bug.cgi?id=721309
2014-02-05 13:38:54 +01:00
Benjamin Otte
219357d69c label: refactor code
Split out function for setting attributes. This will be needed in future
patches.
2014-02-05 13:38:54 +01:00
Benjamin Otte
a0bfbc8ae1 label: Avoid creating new attribute list
Only create an attribute list for merging if we actually need to merge.

This bug was introduced in 5230cfe805
2014-02-05 13:38:54 +01:00
Bastien Nocera
4439453b75 widget: Fix margin-start and margin-end properties
The margin-start and margin-end properties were incorrectly
defined, so margins weren't respected for RTL languages.

https://bugzilla.gnome.org/show_bug.cgi?id=723627
2014-02-05 13:28:24 +01:00
Matthias Clasen
f13b3e3aeb Add minimal popover theming to Raleigh
Add background and border, so the popover boundaries are visible.
2014-02-05 01:10:33 -05:00
William Jon McCann
3b3d8ca456 docs: Use "#" for refsect2 instead of ## 2014-02-04 21:00:58 -05:00
William Jon McCann
c6ef8bdc9c docs: don't use <para id=""> 2014-02-04 20:21:05 -05:00
William Jon McCann
aeaa35262f docs: use a list instead of a table 2014-02-04 20:00:53 -05:00
William Jon McCann
446095f9ab docs: don't use <variablelist> 2014-02-04 19:40:34 -05:00
William Jon McCann
a9c454e0e6 docs: don't use itemizedlist 2014-02-04 19:33:43 -05:00
William Jon McCann
2c4431e6ba docs: don't use <keycap> tags 2014-02-04 19:29:00 -05:00
William Jon McCann
8ad75bdfff docs: don't use <replaceable> 2014-02-04 19:20:16 -05:00
William Jon McCann
5dd751f006 docs: don't use ulink. use markdown instead 2014-02-04 18:53:51 -05:00
William Jon McCann
56f76214b7 docs: don't use <varnam> 2014-02-04 18:32:42 -05:00
William Jon McCann
d81e4edbd1 docs: don't use <parameter> tags 2014-02-04 18:30:46 -05:00
William Jon McCann
a22358c0c0 docs: use ` instead of <literal> 2014-02-04 18:24:29 -05:00
William Jon McCann
76447c3512 docs: use quotes instead of <firstterm> 2014-02-04 18:10:11 -05:00
William Jon McCann
a3bad427c7 docs: don't use <application> tags 2014-02-04 18:01:24 -05:00
William Jon McCann
2dcbe27a06 docs: don't use <option> 2014-02-04 17:48:33 -05:00
William Jon McCann
7dcbfe119f docs: don't use <quote> 2014-02-04 17:42:22 -05:00
William Jon McCann
6ba5e6bb1a docs: don't use <tag> docbook elements 2014-02-04 17:38:09 -05:00
William Jon McCann
bf7afa48f8 docs: replace all figures with headings and images 2014-02-04 17:20:43 -05:00
William Jon McCann
76472608c7 docs: fix last commit 2014-02-04 17:09:12 -05:00
William Jon McCann
63e887e165 docs: replace all <examples> with markdown headings 2014-02-04 16:58:54 -05:00
William Jon McCann
28376c2600 docs: Use markdown for section headings 2014-02-04 16:58:54 -05:00
William Jon McCann
9f99f567c8 docs: use markdown instead of inlinegraphic tags 2014-02-04 16:58:53 -05:00
William Jon McCann
50e06e11ee docs: use markdown instead of <filename> tags 2014-02-04 16:58:53 -05:00
William Jon McCann
a479ee5de5 docs: use markdown for <envar> tags 2014-02-04 16:58:53 -05:00
Carlos Garnacho
6e88f1bcb0 scalebutton: Apply a shape on the popover
This hideous hack is necessary so far because the main users of
GtkScaleButton are also clutter users, so the GtkScaleButton popover
will be very likely shaped against a clutter-enabled native window.

https://bugzilla.gnome.org/show_bug.cgi?id=723556
2014-02-04 21:29:25 +01:00
Carlos Garnacho
2d9c09d6c0 popover: Add private _gtk_popover_set_apply_shape() call
Popovers no longer sets a shape, unless this function is called. This
function exists so widgets that are potentially placed on top of other
native windows can get a popover that's nicely shaped, even if it has
no border shadow around.

https://bugzilla.gnome.org/show_bug.cgi?id=723556
2014-02-04 21:29:25 +01:00
Alexander Larsson
0493d74650 popover: Apply child shapes on the GtkWidget popover subwindow
https://bugzilla.gnome.org/show_bug.cgi?id=723556
2014-02-04 21:29:10 +01:00
Matthias Clasen
30fa1426cf Use gdk_screen_get_preferred_visual()
When creating windows, and when returning a widgets
visual, use the new API to get the preferred visual.
2014-02-04 13:15:47 -05:00
Matthias Clasen
2b95d1a34e Introduce API to get the preferred visual
Unless GDK_RGBA=0 is set, this will be the RGBA visual.
The new function is called gdk_screen_get_preferred_visual().

https://bugzilla.gnome.org/show_bug.cgi?id=630217
2014-02-04 13:15:46 -05:00
Matthias Clasen
8ca2376495 Ignore hide-titlebar-when-maximized for custom titlebars
Try this again, this time being a bit more careful about size
allocation of titlebars.
2014-02-04 08:07:26 -05:00
Matthias Clasen
9177b3c0d2 Revert "Ignore hide-titlebar-when-maximized for CSD"
This reverts commit 54ec157599.
2014-02-04 08:07:26 -05:00
Matthias Clasen
0c483e1423 Make gtk_window_set_titlebar work on realized windows
Since realize does a lot of the heavy lifting of setting up
csd, we have to re-realize the window if we go from no-custom
titlebar to a custom titlebar or vice versa.

https://bugzilla.gnome.org/show_bug.cgi?id=722919
2014-02-03 22:38:06 -05:00
Matthias Clasen
365902cd58 Re-realize the window if needed
When gtk_window_set_titlebar is called, we need to set up
client-side decorations properly, and the easiest way to do
so is to realize the window again. Really, you should call
set_titlebar before the window is realized.

https://bugzilla.gnome.org/show_bug.cgi?id=722919
2014-02-03 22:22:27 -05:00
Olivier Brunel
a8d72a9c1e widget: Fix set_focus_child handling during focus changes
10b5ec20 made sure not to set focus_child to NULL all the way up to the
top, but only up to the common ancestor. However, it would never set it
on the common ancestor itself, which would therefore remain with a
focus_child set when it shouldn't.

A manifestation of the bug: focus column headers of a treeview, press Tab.
Now pressing Shift+Tab will go to another widget and not the column
headers, and Tab will (appear to) do nothing, all because the treeview
still has a focus_child set to column headers after a grab_focus().

Signed-off-by: Olivier Brunel <jjk@jjacky.com>

https://bugzilla.gnome.org/show_bug.cgi?id=723402
2014-02-03 21:25:07 -05:00
Matthias Clasen
5e80ec87f3 Avoid a gtk-doc warning 2014-02-03 21:12:43 -05:00
Matthias Clasen
e966a12fb2 Fix docs build 2014-02-03 21:03:37 -05:00
Matthias Clasen
05f2f63426 GtkMountOperation: Clean up a dangling signal handler
Based on a patch by Eugene Shatokhin,
https://bugzilla.gnome.org/show_bug.cgi?id=723366
2014-02-03 21:00:17 -05:00
Matthias Clasen
841a8d811a Update gtkvolumebutton.ui.h
Removing the tooltips removed some strings.
2014-02-03 16:43:45 -05:00
Matthias Clasen
ffea6a5624 Revert "fixed: draw css background and borders"
This reverts commit ba6128f8af.

This change breaks emacs drawing entirely. Since GtkFixed is
somewhat of a legacy widget anyway, lets just not bother doing
this modernization there, at least for now.
2014-02-03 16:02:16 -05:00
Matthias Clasen
f058b402e4 GtkVolumeButton: Remove tooltips
Showing tooltips on top of a transient popup does not work
out well, and is not really necessary here. At the same time,
remove the unnecessary repetitions of properties. In particular,
setting the label of the buttons here defeats the scale buttons
use of symbolic icons.

https://bugzilla.gnome.org/show_bug.cgi?id=723181
2014-02-03 15:43:24 -05:00
Matthias Clasen
c46b1c2a05 GtkScaleButton: Use a popover
This works better than the contortions we're currently doing
with an undecorated dialog, and grabs.

https://bugzilla.gnome.org/show_bug.cgi?id=723181
2014-02-03 15:43:24 -05:00
Benjamin Otte
e9fb8ad1f7 css: Fix computation of pixels occupied by blur radius
These computations were done randomly in lots of places and more often
than not, they were also wrong.
This function was copied (with docs) from Firefox:
  http://lxr.mozilla.org/mozilla-central/source/gfx/2d/Blur.cpp

https://bugzilla.gnome.org/show_bug.cgi?id=723159
2014-02-03 21:38:16 +01:00
Benjamin Otte
43baa213b2 a11y: Ignore deprecation warnings for ATK focus tracker 2014-02-03 21:38:16 +01:00
William Jon McCann
8a71798c05 docs: add missing close para tag
From 30cc1512e
2014-02-03 09:57:01 -05:00
William Jon McCann
dcd43cc77a docs: fix spurious list close tag
Missed by patch 30cc1512e
2014-02-03 09:51:40 -05:00
Matthias Clasen
245c385ae7 Docs: Don't use note elements
In most cases, the text itself makes the message clear enough.
2014-02-02 01:22:14 -05:00
Matthias Clasen
30cc1512e6 Docs: Use markdown for lists
This greatly reduces the amount of xml in the docs.
2014-02-02 01:07:39 -05:00
Matthias Clasen
09d1b28249 docs: Convert to markdown
Specifically, switch to using markdown syntax for sections.
2014-02-02 00:30:27 -05:00
William Jon McCann
f5db0e7c75 docs: remove spurious para 2014-02-01 05:35:44 -05:00
William Jon McCann
66071234f6 docs: list items require blank lines 2014-02-01 05:35:43 -05:00
William Jon McCann
d86a63776b docs: use markdown instead of docbook tags 2014-02-01 05:18:53 -05:00
Matthias Clasen
7956dd271c Fix a case of nested comments 2014-01-31 18:48:13 -05:00
Jasper St. Pierre
328155d8b3 Update ui.h file for GtkFileChooserDefault rename 2014-01-31 15:20:38 -05:00
Jasper St. Pierre
f929a61399 gtkicontheme: Don't query CONTENT_TYPE to determine if something is an SVG
We already know based on the suffix of the filename.

https://bugzilla.gnome.org/show_bug.cgi?id=721895
2014-01-31 14:34:52 -05:00
Matthias Clasen
54ec157599 Ignore hide-titlebar-when-maximized for CSD
This setting really only makes sense for wm titlebars,
client-side titlebars are under application control
anyway.
2014-01-31 08:45:23 -05:00