=======================================

v1 -> v2 ::
==========

Added the explanation of the fix.

=======================================


Initially, the bug was due to the fact that the thumbnail-palette was initiated 
just once (when the 
thumbnail was first created). 

Now, when the thumbnail is first created for a "received" thumbnail, initially 
no "Copy to Clipboard" option is
shown. However, after the user clicks the thumbnail and the data is fetched, 
the  option is shown.

At code level, every time the user hovers over the thumbnail, the 
"expose-event" signal is emitted, thereby calling the 
"do_expose_event" method. As the fix, we override this method, first checking 
to see if the data has been fetched for 
the thumbnail. If yes, we add the "Copy to Clipboard" option in the palette, 
and mark a flag for the same, so that it
is not re-added on subsequent "expose-event" signal.


 activity/activity.info |  2 +-
 button.py              | 12 ++++++++++--
 1 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/button.py b/button.py
index 66cf80b..be32b60 100644
--- a/button.py
+++ b/button.py
@@ -28,7 +28,13 @@ class RecdButton(TrayButton):
         palette.menu.append(self._rem_menu_item)
         self._rem_menu_item.show()
 
-        self._add_copy_menu_item()
+        self._copy_menu_item_added = False
+
+    def do_expose_event(self, event):
+        if not self._copy_menu_item_added:
+            self._add_copy_menu_item()
+
+        TrayButton.do_expose_event(self, event)
 
     def _add_copy_menu_item( self ):
         if self._recd.buddy and not self._recd.downloadedFromBuddy:
@@ -38,7 +44,9 @@ class RecdButton(TrayButton):
         self._copy_menu_item_handler = 
self._copy_menu_item.connect('activate', self._copy_clipboard_clicked)
         self.get_palette().menu.append(self._copy_menu_item)
         self._copy_menu_item.show()
- 
+
+        self._copy_menu_item_added = True
+
     def get_recd(self):
         return self._recd
 
-- 
1.7.11.7

_______________________________________________
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel

Reply via email to