======================================= v1 -> v2 :: ==========
Added the explanation of the fix. v2 -> v3 :: Minor fix in the header. ======================================= 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