diff --git a/src/sugar3/graphics/palettewindow.py b/src/sugar3/graphics/palettewindow.py
index 7063681..a9b4687 100644
a
|
b
|
class CellRendererInvoker(Invoker): |
1326 | 1326 | self._release_hid = None |
1327 | 1327 | self._long_pressed_hid = None |
1328 | 1328 | self.path = None |
| 1329 | self._dragging = False |
1329 | 1330 | |
1330 | 1331 | self._long_pressed_controller = SugarGestures.LongPressController() |
1331 | 1332 | |
… |
… |
class CellRendererInvoker(Invoker): |
1333 | 1334 | self._tree_view = tree_view |
1334 | 1335 | self._cell_renderer = cell_renderer |
1335 | 1336 | |
| 1337 | tree_view.connect('button-press-event', self.__button_press_cb) |
| 1338 | tree_view.connect('drag-end', self.__drag_end_cb) |
| 1339 | |
1336 | 1340 | self._motion_hid = tree_view.connect('motion-notify-event', |
1337 | 1341 | self.__motion_notify_event_cb) |
1338 | 1342 | self._leave_hid = tree_view.connect('leave-notify-event', |
… |
… |
class CellRendererInvoker(Invoker): |
1373 | 1377 | |
1374 | 1378 | return rect |
1375 | 1379 | |
| 1380 | def __button_press_cb(self, widget, event): |
| 1381 | if event.button == 1: |
| 1382 | self._dragging = True |
| 1383 | if self.palette is not None: |
| 1384 | self.palette.popdown(immediate=True) |
| 1385 | |
| 1386 | def __drag_end_cb(self, widget, context): |
| 1387 | self._dragging = False |
| 1388 | |
1376 | 1389 | def __motion_notify_event_cb(self, widget, event): |
1377 | 1390 | if event.window != widget.get_bin_window(): |
1378 | 1391 | return |
| 1392 | |
| 1393 | if self._dragging: |
| 1394 | return |
| 1395 | |
1379 | 1396 | if self.point_in_cell_renderer(event.x, event.y): |
1380 | 1397 | |
1381 | 1398 | tree_view = self._tree_view |
… |
… |
class CellRendererInvoker(Invoker): |
1422 | 1439 | return False |
1423 | 1440 | |
1424 | 1441 | def __button_release_event_cb(self, widget, event): |
| 1442 | self._dragging = False |
1425 | 1443 | if event.button == 1 and self.point_in_cell_renderer(event.x, |
1426 | 1444 | event.y): |
1427 | 1445 | tree_view = self._tree_view |
… |
… |
class CellRendererInvoker(Invoker): |
1438 | 1456 | return False |
1439 | 1457 | |
1440 | 1458 | def __long_pressed_event_cb(self, controller, x, y, widget): |
| 1459 | if self._dragging: |
| 1460 | return |
| 1461 | |
1441 | 1462 | if self.point_in_cell_renderer(x, y): |
1442 | 1463 | self.notify_right_click() |
1443 | 1464 | |