diff src/libs/garden/garden.contextmenu/context_menu.py @ 84:2caee196d19a

garden: context menu fixes: - fixed size so menus are displayed correclty on different screen resolutions - fixed position of ContextMenu on show these fixes haven been proposed upstream
author Goffi <goffi@goffi.org>
date Sat, 24 Dec 2016 14:20:40 +0100
parents 741a7d6d8c28
children
line wrap: on
line diff
--- a/src/libs/garden/garden.contextmenu/context_menu.py	Sat Dec 24 14:16:58 2016 +0100
+++ b/src/libs/garden/garden.contextmenu/context_menu.py	Sat Dec 24 14:20:40 2016 +0100
@@ -5,7 +5,6 @@
 from kivy.lang import Builder
 from kivy.clock import Clock
 from functools import partial
-import traceback
 
 import kivy.properties as kp
 import os
@@ -93,11 +92,11 @@
         # Choose the best position to open the menu
         if x is not None and y is not None:
             if point_relative_to_root[0] + self.width < root_parent.width:
-                pox_x = x
+                pos_x = x
             else:
-                pox_x = x - self.width
+                pos_x = x - self.width
                 if issubclass(self.parent.__class__, AbstractMenuItem):
-                    pox_x -= self.parent.width
+                    pos_x -= self.parent.width
 
             if point_relative_to_root[1] - self.height < 0:
                 pos_y = y
@@ -106,10 +105,7 @@
             else:
                 pos_y = y - self.height
 
-            parent_pos = root_parent.pos
-            pos = (pox_x + parent_pos[0], pos_y + parent_pos[1])
-
-            self.pos = pos
+            self.pos = pos_x, pos_y
 
     def self_or_submenu_collide_with_point(self, x, y):
         queue = self.menu_item_widgets
@@ -253,7 +249,6 @@
     def _on_hovered(self, new_hovered):
         if new_hovered:
             spacer_height = self.parent.spacer.height if self.parent.spacer else 0
-            point = self.right, self.top + spacer_height
             self.show_submenu(self.width, self.height + spacer_height)
         else:
             self.hide_submenu()