Commits

Anonymous committed 93e1006

FIX: Changes only took effect after restarting the pyrad.

Comments (0)

Files changed (1)

 
         @param items: The new layout at any level."""
         # We roll back the circle to the top level
+        #: The trail we walked - traverse in reverse to get back to the upper layout. 
+        clicktrail = [] 
         # The center can't change, so we can use the one from the previous version of the circle.
         while self.circle[0].action is not None:
             # store current items as item list
                     item = (icon, str(items_folder))
                     items_lower[idx] = item
                     self.arrange_in_circle(items_lower)
+                    # Also store the folder we found in the clicktrail
+                    clicktrail.append(self.circle[idx])
                     found_the_folder = True
             # make sure we save no broken configs!
             if not found_the_folder:
                 return False
 
         items_new = [(i.icon, i.action) for i in self.circle]
-        # Now we copy the circle we wanted to save back into the current circle.
-        self.arrange_in_circle(items)
+        # Now we walk back on the clicktrail
+        clicktrail.reverse()
+        for label in clicktrail:
+            self.labelClicked(label)
         # Finally we prepare the config data
         config = "# v0.1 keep this line!\n"
         config += str(items_new)