Commit Graph

16703 Commits

Author SHA1 Message Date
Benjamin Otte
bd400b0957 win32: Move variable declarations into #if block 2012-04-07 13:01:24 +02:00
Benjamin Otte
917ca6a802 gtk: Don't call gdk_window_process_updates() when scrolling
This can cause lagging when scrolling as it causes us to repaint
on every scroll event. This wasn't historically a great problem,
but with smooth scrolling we get a lot more events, so this
now creates visible lagging on slower machines.
2012-04-05 15:48:51 +02:00
Benjamin Otte
12d6b0fe62 paned: Shrinkable widgets don't require a size
This could otherwise lead to very funny size request behaviors, in
particular in empathy.

https://bugzilla.gnome.org/show_bug.cgi?id=587441
2012-04-05 11:30:41 +02:00
Nelson Benitez Leon
45a5151f94 gtktreeview: don't handle extra mouse buttons
Don't handle mouse button events greater than 5 so
they can bubble up to be used by the application.

This was causing nautilus list view to not go forward
and backwards when pressing the extra mouse buttons
designated for that.

Fixes bug 673441

Signed-off-by: Nelson Benitez Leon <nbenitezl@gmail.com>
2012-04-04 16:26:57 +02:00
Alexander Larsson
a4cde82365 win32: Fall back to raleigh with the classic theme
This is not ideal, we should have a real classic windows theme,
but at least its better than everything being pink, which is what
happens otherwise when theming is not enables.
2012-04-03 19:26:15 +02:00
Jasper St. Pierre
356c3a3b29 gactionmuxer: Fix list_actions
The code there before was just completely wrong

https://bugzilla.gnome.org/show_bug.cgi?id=673200
2012-03-30 15:21:06 -04:00
Matthias Clasen
d51840ccf3 filechooser: Fix entry completion
Inserting the selected completion did not actually work. Oops.

https://bugzilla.gnome.org/show_bug.cgi?id=673090
2012-03-29 18:59:07 -04:00
Alexander Larsson
0b26605ab0 css: Only keep around GtkCssSections if GTK_CSS_DEBUG env var set
These are used purely for CSS debugging, and was using over 100k just
starting up gtk3-demo.
2012-03-29 13:57:22 +02:00
Rob Bradford
13b2720308 build: Don't use Wayland GtkClipboard implementation if also building for X
Workaround for: https://bugzilla.gnome.org/show_bug.cgi?id=672358
2012-03-29 10:50:07 +01:00
Murray Cumming
c00cfda370 GtkApplication Docs: Add a hint.
gtk_application_set_app_menu(), gtk_application_set_menubar():
Mention that you probably want to call this in the startup signal
handler. If you do it earlier you will likely get a warning about
a missing D-Bus connection, because doing it earlier does not
make sense anyway.
2012-03-28 11:26:22 +02:00
Benjamin Otte
94dbefda1c Fix for bug 672961 - Custom theme can crash apps with GtkEntryCompletion 2012-03-27 20:29:56 -04:00
Cosimo Cecchi
52bd5f2f1f treeview: filter out invisible columns in get_path_for_child()
Since we check for !list->next (and !list->prev for RTL) to set the
GTK_REGION_LAST flag, we have to filter out invisible columns before
looping; if we don't do that we might end up assigning GTK_REGION_LAST
to an invisible column.

https://bugzilla.gnome.org/show_bug.cgi?id=672937
2012-03-27 12:39:20 -04:00
Matthias Clasen
8759575c0a Revert "GtkMenuItem: Add since 3.2 tags for 2 signals."
This reverts commit c6e1024a86.
2012-03-26 06:15:26 -04:00
Murray Cumming
c6e1024a86 GtkMenuItem: Add since 3.2 tags for 2 signals.
These signals were added in this commit in 2010-09:
http://git.gnome.org/browse/gtk+/commit/gtk/gtkmenuitem.c?id=3bd93e5bfd968d21cbcba15b952b254c41f204f9
2012-03-26 10:51:46 +02:00
Murray Cumming
0e171a28c9 GtkColorChooser docs: Fix small typos. 2012-03-26 10:51:46 +02:00
Murray Cumming
79758e3d98 Docs: GtkApplication: Hint about GtkActionMap 2012-03-26 10:51:46 +02:00
Matthias Clasen
ed17c74f58 grid: avoid a floating point exception
When a homogeneous grid has no visible children, we were
accidentally doing a division by zero. Instead, just bail
out early in this case, there is nothing to allocate anyway.

https://bugzilla.gnome.org/show_bug.cgi?id=672763
2012-03-24 17:19:46 -04:00
Jon McCann
482195d788 Ensure skipped row between sections has a nonzero height
https://bugzilla.gnome.org/show_bug.cgi?id=672587
2012-03-22 13:07:35 -04:00
Jon McCann
50a4fa5323 Reduce row spacing in about dialog credits
https://bugzilla.gnome.org/show_bug.cgi?id=672587
2012-03-22 13:07:35 -04:00
Cosimo Cecchi
295ed0033e cellrendereraccel: don't translate Alt+Print to SysRq
We want to use Alt+Print for screenshot keybindings, so we have to avoid
translating it into SysRq, since that's what the keymap would dictate.
After talking with Owen, it sounds like doing this generically would be
a lot of work and quite hairy code, so hardcoding this should be OK.

https://bugzilla.gnome.org/show_bug.cgi?id=671006
2012-03-22 00:45:08 -04:00
Matthias Clasen
d718fd79b6 entry: Don't show a num lock warning
Hardware lies about num lock, and we have no way of knowing.

https://bugzilla.gnome.org/show_bug.cgi?id=658875
2012-03-22 00:16:12 -04:00
Chun-wei Fan
f32d8be6a5 gtk/gtkwin32theme.c: Remove C99ism 2012-03-21 23:28:43 +08:00
Alexander Larsson
ca9d826249 win32: Remove grippies on paned
Turns out win32 doesn't actually have these.
2012-03-20 12:58:21 +01:00
Alexander Larsson
51e0d80ad8 win32: Theme paned separator 2012-03-20 11:36:35 +01:00
Alexander Larsson
d43632fbdc win32: More theme workaround on XP 2012-03-20 11:36:03 +01:00
Alexander Larsson
6e35ae8515 GtkPaned: Update orientation style classes 2012-03-20 11:35:39 +01:00
Matthias Clasen
ad1c0f7155 label: Don't use the selection too easily
When we are re-setting the same text for internal reasons
(e.g. when applying the mnemonics-visible change upon Alt press),
we should not needlessly loos the selection.

https://bugzilla.gnome.org/show_bug.cgi?id=671588
2012-03-20 01:05:05 -04:00
Benjamin Otte
c80436ac35 tests: Remove unused variables 2012-03-20 02:07:21 +01:00
Matthias Clasen
aba316207d Undo the gtk_menu_popup_for_device rename-to annotation 2012-03-19 13:45:48 -04:00
Adrian Johnson
7a8e37edec Make collate default to enabled
Fixes http://bugzilla.gnome.org/show_bug.cgi?id=671898
2012-03-19 13:00:33 +00:00
Matthias Clasen
d7cf9d7b84 combobox: Make scrolling work again
Select for scroll events, making it possible to use a scroll
wheel to change the combobox.
2012-03-19 07:08:01 -04:00
Matthias Clasen
c0431a7238 builder: Remove a questionable test
It doesn't really make sense to check properties of a cell renderer,
since those only get set when needed to render or size-allocate
a cell.
2012-03-18 22:56:44 -04:00
Benjamin Otte
6df7562570 tests: Remove deleted rows from cache
Otherwise the GNode pointer address that we use for indexing might get
reused for a new node and then we don't start out with a pristine
refcount.
2012-03-19 02:26:16 +01:00
Benjamin Otte
754bf5e3d8 treemodelfilter: Don't unref deleted rows
When we're fudging with child nodes of a deleted node, we don't want to
have them delete their parent - which is the deleted row.
2012-03-19 02:26:16 +01:00
Benjamin Otte
461803e407 gtk: Get gtkwidgetpath.h includes out of the public headers
and include them in the C files instead.
2012-03-19 02:26:16 +01:00
Benjamin Otte
47e44028e1 a11y: Add back the 'toggle' actions
This is a hack.

But as long as Orca cannot figure out if a cell is heckable, the best we
can do is support the old way of providing a "toggle" action.

https://bugzilla.gnome.org/show_bug.cgi?id=672367
https://bugzilla.gnome.org/show_bug.cgi?id=672368
https://bugzilla.gnome.org/show_bug.cgi?id=672369
2012-03-19 02:26:16 +01:00
Lionel Landwerlin
adf36e28d2 gtkbox: avoid warning when removing a widget with refcount of 1
If gtkbox is the only object having a reference on one of its child
and that we try to remove it from its container, we endup having a
warning when disconnecting a signal after having unparented the
widget.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@linux.intel.com>

https://bugzilla.gnome.org/show_bug.cgi?id=670176
2012-03-18 15:41:07 -04:00
Alexander Larsson
e65a2709a3 css: Support background-position property 2012-03-17 05:13:22 +01:00
Alexander Larsson
b874e6c3cf css: Support GtkBackgroundPosition in cssvalue 2012-03-17 05:13:22 +01:00
Alexander Larsson
ca07559672 css: GtkBackgroundSize type 2012-03-17 05:13:22 +01:00
Benjamin Otte
f9727ee1bf stylecontext: Get rid of unused parameter
It was always FALSE
2012-03-16 17:53:57 +01:00
Benjamin Otte
ae6ab3951c docs: Add missing Since tag 2012-03-16 17:53:39 +01:00
Benjamin Otte
ccbcebdddf iconview: Don't resize on size allocation
Let's see how much this breaks. But then, it also fixes things, so more
power to me!

https://bugzilla.gnome.org/show_bug.cgi?id=672173
2012-03-16 17:53:30 +01:00
Alexander Larsson
cb1a825cc3 win32: Theme statusbars 2012-03-16 16:44:24 +01:00
Alexander Larsson
30fb1e0256 win32: Theme paned separators 2012-03-16 14:31:32 +01:00
Alexander Larsson
0d307ab2fc win32: Dim menubar text for non-active windows 2012-03-16 11:35:52 +01:00
Alexander Larsson
fff1af56ff win32: Better color for separators 2012-03-16 11:05:20 +01:00
Alexander Larsson
a6d72dfec1 win32: Don't use separators in comboboxes 2012-03-16 11:05:00 +01:00
Alexander Larsson
eedf57f844 win32: Some theming of color selector 2012-03-16 10:49:21 +01:00
Alexander Larsson
6b35857e4d win32: Fix typo in css 2012-03-15 21:25:36 +01:00
Alexander Larsson
59dc05d0c5 win32: Theme assistants 2012-03-15 21:12:38 +01:00
Alexander Larsson
3598756bee win32: No frames around scrolled windows directly in tabs 2012-03-15 21:12:37 +01:00
Alexander Larsson
7e97dce946 win32: Fix listview checkbox prelight problems
We only support the preview state for checkboxes for GtkButton
because it gave problems when used in treeview where the prelight
state affects all checkboxes in the row.
2012-03-15 21:12:37 +01:00
Alexander Larsson
84b2d41a98 win32: Make spinner animate 2012-03-15 21:12:36 +01:00
Alexander Larsson
3b8cf23fbc win32: Add borders around scrolled windows 2012-03-15 21:12:36 +01:00
Alexander Larsson
dc1510c53d win32: Fix entry theming 2012-03-15 21:12:35 +01:00
Alexander Larsson
1e5a803614 win32: Support frameless entries in theme 2012-03-15 21:12:35 +01:00
Alexander Larsson
e0ac492732 win32: Fix up theme for menus on XP 2012-03-15 21:12:34 +01:00
Alexander Larsson
0a439fa162 win32: Fix tabs themeing on XP 2012-03-15 21:12:34 +01:00
Alexander Larsson
dcaec2610d win32: Add more theme workarounds on XP 2012-03-15 21:12:33 +01:00
Alexander Larsson
a20b4423f4 Remove broken approach to get stable sort of CSS rules
The pointer comparisons in the sort compare function just doesn't
work.

We still need a stable sort, but the plan is to add a real
one in glib.
2012-03-15 21:12:32 +01:00
Alexander Larsson
8bfa0f8feb win32: Fix up progressbar themeing on XP 2012-03-15 21:12:32 +01:00
Alexander Larsson
8f427babbb win32: Clean up spinbutton themeing 2012-03-15 21:12:31 +01:00
Stefano Facchini
53af7dd3c0 paned: remove old default for cursor type 2012-03-15 18:24:41 +01:00
Carlos Garcia Campos
5ebfad5d09 printing: Make sure destroy function is always called by gtk_enumerate_printers
When GtkPrinterFunc always returns FALSE, for example when looking for
a non existent printer, if print list is done for all backends or print
backend status is UNAVAILABLE, gtk_enumerate_printers() finishes with an
empty backend list and destroy function is never called. We need to
check the backend list again after calling list_printers_init for all
backends and finish the enumeration if it's empty.

https://bugzilla.gnome.org/show_bug.cgi?id=672125
2012-03-15 14:47:33 +01:00
Benjamin Otte
05e6cde97d win32: Fix compiler warning 2012-03-15 02:55:25 +01:00
Bastien Nocera
dd402bd7af gtk: Prefer group-0 keycodes
As we don't give out information about the group or level when
giving back keycodes, we should prioritise group-0, level-0, followed by
level-0 only, and then any keycodes.

This fixes "q" being pressed when the Wacom tablet code in
gnome-settings-daemon is supposed to generate an "a" ("uk" keymap
in group-0, "fr" in group-1).

https://bugzilla.gnome.org/show_bug.cgi?id=671065
2012-03-13 18:28:49 +01:00
Alexander Larsson
e9f070db0f win32: Fix up toolbar rendering on XP
It seems XP doesn't correctly set the alpha when rendering toolbar
buttons on an alpha target, we fix this up afterwards if necessary.
2012-03-13 17:10:44 +01:00
Alexander Larsson
94f1ed3031 win32: Fixup XP version of menu radio/checks 2012-03-13 17:10:11 +01:00
Alexander Larsson
a869ca51f4 Convert to unix line endings 2012-03-13 15:52:36 +01:00
Alexander Larsson
38d56c8e20 win32: Fix up notebook theming a bit 2012-03-13 15:50:32 +01:00
Alexander Larsson
95a903d020 win32: Use a separate css file for xp
Only vista and later has e.g. the menu theme parts
2012-03-13 15:14:36 +01:00
Alexander Larsson
68880e9a35 win32: Bump up padding on entry and button 2012-03-13 15:14:35 +01:00
Alexander Larsson
12fdf165ee win32: Fix up notebook themeing 2012-03-13 15:14:35 +01:00
Javier Jardón
45f660ef75 Use GDK symbolic names for button numbers 2012-03-13 13:10:30 +00:00
Matthias Clasen
de115c3fd3 Avoid infinite recursion when removing a grab
https://bugzilla.gnome.org/show_bug.cgi?id=671819
2012-03-12 22:01:18 -04:00
Paolo Borelli
9ff75882c0 Explicitely mention -1 in the insert_with_values docs
-1 means "append". Spell it out like we do for ListStore docs.
2012-03-10 19:37:07 +01:00
Cosimo Cecchi
14e63a7370 scrolledwindow: take into account border/padding for junction
When the scrolled window has a frame (and the scrollbar is within the
bevel), we should take into account the CSS border/padding of the frame
and offset the scrollbars junction rendering with it.
2012-03-10 11:46:26 -05:00
Alexander Larsson
10d8c0621f win32: Fix text color on XP
Use a different base text color as the old one leads to
white on white on XP.
2012-03-09 16:43:00 +01:00
Alexander Larsson
f4a68dff88 Fix rendering of theme parts on Windows XP
It seems XP doesn't handle drawing non-alpha theme parts
on alpha destinations. We fix this by using alpha bitmaps only when
needed.

However this means any non-drawn area by the theme part is now draw
black, so we must take more care to only draw where the theme part draws,
so we find the theme part size when available.
2012-03-09 16:43:00 +01:00
Benjamin Otte
50e3f532b9 a11y: Only care about GtkOrientable::orientation
There are other widgets (like PanelToplevel) that aren't a GtkOrientable
but still have that property.
2012-03-09 13:23:05 +01:00
Benjamin Otte
5d57981184 widget: Set up signals after initializing style context
Otherwise, signals would be emitted on semi set up style context which
would then cause crashes when the signal handlers tried to use them.

https://bugzilla.gnome.org/show_bug.cgi?id=662023
2012-03-09 13:23:05 +01:00
Alexander Larsson
a253d4cfec Merge branch 'wip/cssvalue' 2012-03-08 17:33:18 +01:00
Alexander Larsson
ec65270c2c Add some more types to GtkCssValue
Seems these types were used in the parser tests, so we need to
handle them.
2012-03-08 16:49:13 +01:00
Alexander Larsson
1ceed037b2 Don't use GValue in GtkCssValue
We now have complete coverage in the GtkCssValue API for type
handling, so drop the GValue from internal storage and just create
new ones when needed.
2012-03-08 16:39:49 +01:00
Alexander Larsson
616cc5b96d Use GtkCssValue in symbolic color resolving
We now store the symbolic colors as a GtkCssValue which means that
we can reuse the color when resolving and storing the color in
the computed values in the style context.

Additionally we keep a last_resolved GtkCssValue cache in the
GtkSymbolicColor, and if resolving the color returns the same as
last time we reuse the old value. This further increases sharing
of Css Values.
2012-03-08 14:52:10 +01:00
Chun-wei Fan
4e5a8b822d gtkwidget.c: Use G_VA_COPY instead of va_copy()
va_copy() is not universally available, and we already have a G_VA_COPY
macro that emulates the behaviour of va_copy() when it's not available, or
simply calls va_copy() if it's there
2012-03-08 18:56:32 +08:00
Alexander Larsson
3cfd1d93dc Add singletons for small ints and numbers
These represents the majority of int values in use (thousands in use
in a simple app). There is no need to keep multiple instances of
these around.
2012-03-08 11:03:57 +01:00
Alexander Larsson
7603e6e473 css: Use GtkCssValues instead of GValue in the css machinery
Also, in places where we're computing a new CssValue based on an
old one, make sure that if nothing changes we're returning a reference
to the old one, rather than creating a new identical instance.
2012-03-08 11:03:57 +01:00
Alexander Larsson
0ece7a5de3 css: Add GtkCssValue, an immutable refcounted css value 2012-03-08 11:03:54 +01:00
Matthias Clasen
19e448146b colorchooser: Drop the ::response handler altogether
This makes it safe for users to destroy the dialog in response
to ::response.
2012-03-07 22:06:22 -05:00
Matthias Clasen
ad8bf6491c colorchooser: Do less in ::response
Some people destroy their widgets in ::response, so trying
to access dialog internals from the class handler that is
running afterwards has the potential to cause problems.
Instead, we can reset the ::show-editor property every
time we map the dialog.
2012-03-07 21:42:28 -05:00
Matthias Clasen
33004cb5e6 colorchooser: Fix default palette orientation
The switch from boolean to orientation failed to account
for the default palette.
2012-03-07 21:12:32 -05:00
Benjamin Otte
bea4ee0a2c css: Fix * selector to also match regions
Fixes css-match-region-matches-star.ui reftest.
2012-03-07 03:47:19 +01:00
Benjamin Otte
4d6a6be897 API: colorchooser: Use GtkOrientation for orientation
Unfortunately, this swaps the values from the previous state.
But it's definitely a nicer API.
2012-03-07 03:11:05 +01:00
Daniel Stone
134ef22a4e Add smooth-scroll to GtkTextView event mask
Without any extra supporting code, just adding GTK_SMOOTH_SCROLL_MASK to
the event mask for GtkTextView makes GEdit do the right thing and scroll
smoothly.  Lovely.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>

https://bugzilla.gnome.org/show_bug.cgi?id=671488
2012-03-06 21:45:09 +01:00
Alexander Larsson
2422c44f8e Add custom va_marshallers in some places
This is a slight performance optimization in the common case.
2012-03-05 12:39:09 +01:00
Matthias Clasen
ab87579e3f scrolledwindow: Fix scroll event handling
Rewrite the code that deals with smooth scroll events to
be in terms of 'scroll units' as well.
2012-03-04 19:20:10 -05:00
Matthias Clasen
5714454a73 range: Straighten the wheel delta calculation
Scroll events report normalized deltas in terms of an abstract
'scroll unit' now, so our job is to determine a suitable scroll
unit here. Since we are changing the value of the adjustment,
the allocation of the widget does not factor into this at all.
2012-03-04 19:15:32 -05:00
Matthias Clasen
47c190a1b7 grid: Work harder for tight homogeneous allocation
When doing homogeneous allocation in the presence of
overlapping spanning children, we need to avoid uneven
line allocations, otherwise, the final homogenization
will blow up the size request of the grid.

https://bugzilla.gnome.org/show_bug.cgi?id=671170
2012-03-04 17:29:01 -05:00
Paolo Borelli
8adf311acd Free the resource file string. 2012-03-04 18:02:06 +01:00
Matthias Clasen
a986cb4a76 colorscale: Select for touch events
We use long touches to trigger the popup.
2012-03-04 11:24:51 -05:00
Matthias Clasen
7192f9668c colorplane: Select for touch events
We now use long touches to trigger the popup.
2012-03-04 11:24:51 -05:00
Matthias Clasen
ea57924dde gtk: Be more careful when ignoring touch events 2012-03-04 11:24:51 -05:00
Christian Persch
5a8dba7eac colorchooser: Allow removing the palettes again
https://bugzilla.gnome.org/show_bug.cgi?id=671057
2012-03-04 00:29:04 -05:00
Matthias Clasen
912ad3b698 Break out press-and-hold code as its own object
https://bugzilla.gnome.org/show_bug.cgi?id=671057
2012-03-04 00:29:04 -05:00
Benjamin Otte
0794143f41 iconview: Fix autoscroll
... when the iconview is not the only child in it's parent GdkWindow.
2012-03-03 21:18:12 +01:00
Benjamin Otte
861a9adbad celllayout: Remove unused include 2012-03-03 19:45:03 +01:00
Benjamin Otte
2353d60b8a types: Move GtkAdustment declaration to gtktypes.h
... and make all the headers to not include gtkadjustment.h anymore. Of
course, also include it in the source files instead.
2012-03-03 19:45:03 +01:00
Benjamin Otte
7844e8089c types: Clean up gtkwidget.h includes
In particular gtksettings.h and gtkstylecontext.h needed to be included
in lots of places now.

Also, I order the includes alphabetically in a bunch of headers.
2012-03-03 19:45:03 +01:00
Benjamin Otte
9e28aa9223 types: Move widget types into gtktypes.h 2012-03-03 19:45:03 +01:00
Benjamin Otte
29324c5131 gtk: Add gtktypes.h
So far, the files is empty.
2012-03-03 19:45:03 +01:00
Matthias Clasen
b43d00fa2a colorswatch: Support touch events
Support long press for customizing, and short press for
selecting/activating. This is simpler than the generic
press-and-hold support in the multitouch branch; we don't
display any feedback, and the timeout is currently hardcoded
to 1 second.
2012-03-03 01:48:55 -05:00
Matthias Clasen
ff37a04c96 pathbar: Fix scrolling
We need to select for scroll events on the buttons now, selecting
for button events no longer gives us scrolling as a side-effect.
2012-03-02 23:02:57 -05:00
Benjamin Otte
2d1d18b732 pathbar: Fix gcc warning 2012-03-03 04:09:28 +01:00
Cosimo Cecchi
e24fd5f463 image: handle PROP_STORAGE_TYPE in get_property()
Fallout from GtkIconHelper transition.
2012-03-02 12:48:52 -05:00
Murray Cumming
819cd055b5 GtkColorChooser: Correct the signal registration 2012-03-02 18:29:33 +01:00
Benjamin Otte
1d58bf4bef selector: Add sibling seletors
"a + b" and "a ~ b" selectors now work, provided the widget supports
siblings.
2012-03-02 02:17:10 +01:00
Benjamin Otte
89a2dc4db8 selector: Pass the sibling id around all the time
The reason for this will become apparent with the followup patches.
2012-03-02 02:17:10 +01:00
Benjamin Otte
0a5b42c4fc selector: Redo from list to array
Should save ~30% of memory
2012-03-02 02:17:09 +01:00
Benjamin Otte
ae1cd1b354 selector: Introduce gtk_css_selector_previous() 2012-03-02 02:17:09 +01:00
Benjamin Otte
35a0fb09ac css: Rewrite selectors
Previously we kept a Selector object for every "simple selector" (term
from CSS spec). Now we keep one for every match operation. So given the
selector
  ".a b:focus"
we will have 4 elements:
  - pseudoclass ":focus"
  - element "b"
  - match any desendant (the space)
  - class ".a"
Each of those is represented by a "selector class" which is basically
the collection of vfuncs for this selector.
2012-03-02 02:17:09 +01:00
Benjamin Otte
eb013767bb selector: Remove a misleading error message
Duplicate selectors are indeed fine and shouldn't cause errors.
You want to use them to up specificity.
2012-03-02 02:17:09 +01:00
Benjamin Otte
67d0b8195d css: Move selector parsing code into a custom function 2012-03-02 02:17:09 +01:00
John Ralls
b2a8e6ed04 Fix compile error from splitting bitmask code
GtkBitMask was typedef'd twice.
2012-03-01 16:26:38 -08:00
Matthias Clasen
6ecc1089f2 range: Use the correct size for scaling
When scaling the scroll delta, always use the 'large' dimension
of a range widget. When dx was 0, the code code accidentally
use the small dimension.
2012-03-01 16:29:01 -05:00
Carlos Garnacho
377eb396a3 scalebutton: Set GDK_SCROLL_MASK explicitly
selecting for button press/release doesn't suffice anymore to
get scroll events.
2012-03-01 16:29:01 -05:00
Carlos Garnacho
939ed582ec spinbutton: Set GDK_SCROLL_MASK explicitly
selecting for button press/release doesn't suffice anymore to
get scroll events.
2012-03-01 16:29:00 -05:00
Carlos Garnacho
2927218a26 calendar: Set GDK_SCROLL_MASK explicitly
selecting for button press/release doesn't suffice anymore to
get scroll events.
2012-03-01 16:29:00 -05:00
Carlos Garnacho
a5c394e901 menu: Handle smooth scrolling
event->scroll.delta_y will be used to scroll the menu contents,
GDK_SMOOTH_SCROLL_MASK has been set as well
2012-03-01 16:29:00 -05:00
Carlos Garnacho
f34a236814 viewport: set GDK_SMOOTH_SCROLL_MASK
This is so smooth scroll events are send/handled by the
parent GtkScrolledWindow if any.
2012-03-01 16:28:59 -05:00
Carlos Garnacho
faa1d9b8f8 treeview: set GDK_SMOOTH_SCROLL_MASK
This is so smooth scroll events are send/handled by the
parent GtkScrolledWindow if any.
2012-03-01 16:28:59 -05:00
Carlos Garnacho
76462df59f layout: set GDK_SMOOTH_SCROLL_MASK
This is so smooth scroll events are send/handled by the
parent GtkScrolledWindow if any.
2012-03-01 16:28:59 -05:00
Carlos Garnacho
7381a2788b iconview: set GDK_SMOOTH_SCROLL_MASK
This is so smooth scroll events are send/handled by the
parent GtkScrolledWindow if any.
2012-03-01 16:28:59 -05:00
Michael Natterer
2a72e7b7b8 gtk: Implement smooth scrolling in scrolledwindow/range
If delta_x/y information is provided in scroll events, use it
to modify the underlying adjustment in steps proportional to
the deltas provided.

If the child widget of a scrolledwindow doesn't set
GDK_SMOOTH_SCROLL_MASK, regular scroll events will be dispatched,
and still handled by these 2 widgets.
2012-03-01 16:28:58 -05:00
Carlos Garnacho
c72a77b04c gdk: handle implicit touch grabs
If the touch sequence happens on a window with GDK_TOUCH_MASK set,
a GdkTouchGrabInfo is created to back it up. Else a device grab is
only created if the sequence emulates the pointer.

If both a device and a touch grab are present on a window, the later
of them both is obeyed, Any grab on the device happening after a
touch grab generates grab-broken on all the windows an implicit
touch grab was going on.
2012-03-01 16:25:25 -05:00
Carlos Garnacho
2ccf29f6b3 button: Handle touch events
Touch events don't generate crossing events themselves, so
do not rely on these to determine whether the button release
happened within the event window.
2012-03-01 16:25:25 -05:00
Carlos Garnacho
518a579838 range: Have slider jump to the pointer coordinates on touch devices
This widget is too narrow to make touch interaction tricky enough, so
don't add the penalty of having the slider run farther from the touch
coordinates if it happens to miss the slider.
2012-03-01 16:25:24 -05:00
Carlos Garnacho
535b4150fd menus: Don't popdown submenus on button release for touch devices
This is so submenus stay open as the parent menu item is
pressed/released, since the user would typically lift the
finger in order to select a submenu item.
2012-03-01 16:25:24 -05:00
Carlos Garnacho
0e8c2db131 settings: Deprecate gtk-touchscreen-mode
It's not used anywhere in GTK+ anymore.
2012-03-01 16:25:24 -05:00
Carlos Garnacho
6427fdb291 range: Remove gtk-touchscreen-mode usage
Emulated crossing events with mode GDK_CROSSING_TOUCH_PRESS/RELEASE
already cater dynamically for the "don't prelight on touch devices"
usecase.
2012-03-01 16:25:24 -05:00
Carlos Garnacho
87f6bb32ed togglebutton: Remove gtk-touchcreen-mode usage
Emulated crossing events with mode GDK_CROSSING_TOUCH_PRESS/RELEASE
already cater dynamically for the "don't prelight on touch devices"
usecase.
2012-03-01 16:25:24 -05:00
Carlos Garnacho
24e9a19abe menushell: Remove gtk-touchscreen-mode usage
This usage in a keybinding signal is hardly related to touchscreens,
so just remove it.
2012-03-01 16:25:23 -05:00
Carlos Garnacho
5b08ececa2 menus: Remove gtk-touchscreen-mode from scrolling code
Scrolling is handled via ::captured-event dynamically, so remove
this now unused code.
2012-03-01 16:25:23 -05:00
Carlos Garnacho
c49fc433de menus: Select the first item for touch devices
This was done through gtk-touchscreen-mode. Now it is handled
dynamically on the current event source device.
2012-03-01 16:25:23 -05:00
Carlos Garnacho
47f9435e99 menus: Implement scrolling through event capture for touch devices
This makes overflown menus scrollable via direct manipulation.
Once past the threshold, the item below the pointer is unselected
and scrolling starts.
2012-03-01 16:25:23 -05:00
Carlos Garnacho
5139617b91 menus: Handle item selection for touch devices dynamically
Instead of using gtk-touchscreen-mode, the behavior changes depending
on the source device in use.
2012-03-01 16:25:22 -05:00
Carlos Garnacho
51189ae260 tooltips: Use the source device instead of gtk-touchscreen-mode
This makes tooltips behavior dynamic based on the interacting device.
2012-03-01 16:25:22 -05:00
Matthias Clasen
42c75d28b8 viewport: select for touch events
This makes kinetic scrolling work with viewports where the
content does not otherwise select for button or touch events,
such as testscrolledwindow's label.
2012-03-01 16:25:22 -05:00
Carlos Garcia Campos
f6393199be scrolledwindow: Kinetic scrolling support
Kinetic scrolling is only done on touch devices, since it is
sort of meaningless on pointer devices, besides it implies
a different input event handling on child widgets that is
unnecessary there.

If the scrolling doesn't start after a long press, the scrolling is
cancelled and events are handled by child widgets normally.

When clicked again close to the previous button press location
(assuming it had ~0 movement), the scrolled window will allow
the child to handle the events immediately.

This is so the user doesn't have to wait to the press-and-hold
timeout in order to operate on the scrolledwindow child.

The innermost scrolled window always gets to capture the events, all
scrolled windows above it just let the event go through. Ideally
reaching a limit on the innermost scrolled window would propagate
the dragging up the hierarchy in order to keep following the touch
coords, although that'd involve rather evil hacks just to cater
for broken UIs.
2012-03-01 16:25:21 -05:00