diff --git a/containments/desktop/package/contents/code/LayoutManager.js b/containments/desktop/package/contents/code/LayoutManager.js --- a/containments/desktop/package/contents/code/LayoutManager.js +++ b/containments/desktop/package/contents/code/LayoutManager.js @@ -32,6 +32,7 @@ var resultsFlow var plasmoid; var itemsConfig +var rotations = {} //bookkeeping for the item groups var itemGroups = {} @@ -307,5 +308,16 @@ //print("-- Saving rotation : " + rect.rotation); itemsConfig[item.category] = rect } +} + +function saveRotation(item) { + if (item.category) { + rotations[item.category] = item.rotation; + } +} +function restoreRotation(item) { + if (item.category && rotations[item.category]) { + item.rotation = rotations[item.category]; + } } diff --git a/containments/desktop/package/contents/ui/AppletAppearance.qml b/containments/desktop/package/contents/ui/AppletAppearance.qml --- a/containments/desktop/package/contents/ui/AppletAppearance.qml +++ b/containments/desktop/package/contents/ui/AppletAppearance.qml @@ -176,6 +176,7 @@ // print("Applet removed Applet-" + applet.id) if (applet.id == appletItem.applet.id) { // print("Destroying Applet-" + applet.id) + root.layoutManager.saveRotation(appletItem); root.layoutManager.setSpaceAvailable(appletItem.x, appletItem.y, appletItem.width, appletItem.height, true) //applet.action("remove").trigger(); //appletItem.destroy() @@ -444,6 +445,5 @@ layoutTimer.running = true layoutTimer.restart() visible = false - // restore rotation } } diff --git a/containments/desktop/package/contents/ui/main.qml b/containments/desktop/package/contents/ui/main.qml --- a/containments/desktop/package/contents/ui/main.qml +++ b/containments/desktop/package/contents/ui/main.qml @@ -173,6 +173,8 @@ if (config !== undefined && config.rotation !== undefined && (config.rotation > 5 || config.rotation < -5)) { container.rotation = config.rotation; + } else { + LayoutManager.restoreRotation(container); } LayoutManager.itemGroups[container.category] = container;