From 81e2d9f604635e54f3e82fdcd2aa2773b0ed0148 Mon Sep 17 00:00:00 2001
From: Carlos Garnacho <carlos@lanedo.com>
Date: Fri, 2 Nov 2012 16:47:01 +0100
Subject: [PATCH] palettewindow: Don't recompute visibility on touchscreen
motion events
Visibility of palettes on touchscreens behave differently altogether,
so avoid mouse-specific handling when operating on the touchscreen.
---
src/sugar3/graphics/palettewindow.py | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/src/sugar3/graphics/palettewindow.py b/src/sugar3/graphics/palettewindow.py
index 4f7bb2a..31ccb13 100644
a
|
b
|
class _PaletteMenuWidget(Gtk.Menu): |
190 | 190 | return False |
191 | 191 | if Gtk.get_event_widget(event) not in self._menus: |
192 | 192 | return False |
| 193 | if event.get_source_device().get_source() == Gdk.InputSource.TOUCHSCREEN: |
| 194 | return False |
193 | 195 | |
194 | 196 | self._mouse_in_palette = True |
195 | 197 | self._reevaluate_state() |
… |
… |
class _PaletteMenuWidget(Gtk.Menu): |
200 | 202 | return False |
201 | 203 | if Gtk.get_event_widget(event) not in self._menus: |
202 | 204 | return False |
| 205 | if event.get_source_device().get_source() == Gdk.InputSource.TOUCHSCREEN: |
| 206 | return False |
203 | 207 | |
204 | 208 | self._mouse_in_palette = False |
205 | 209 | self._reevaluate_state() |
… |
… |
class _PaletteMenuWidget(Gtk.Menu): |
209 | 213 | x = event.x_root |
210 | 214 | y = event.y_root |
211 | 215 | |
| 216 | if event.get_source_device().get_source() == Gdk.InputSource.TOUCHSCREEN: |
| 217 | return False |
| 218 | |
212 | 219 | if type(self._invoker) is CellRendererInvoker: |
213 | 220 | in_invoker = self._invoker.point_in_cell_renderer(x, y) |
214 | 221 | else: |
… |
… |
class _PaletteMenuWidget(Gtk.Menu): |
224 | 231 | x = event.x_root |
225 | 232 | y = event.y_root |
226 | 233 | |
| 234 | if event.get_source_device().get_source() != Gdk.InputSource.TOUCHSCREEN: |
| 235 | return False |
| 236 | |
227 | 237 | if type(self._invoker) is CellRendererInvoker: |
228 | 238 | in_invoker = self._invoker.point_in_cell_renderer(x, y) |
229 | 239 | else: |