[kde-workspace] plasma: The Big Cleanup of kde-workspace/plasma
Sebastian Kügler
sebas at kde.org
Wed Jan 15 19:11:21 UTC 2014
Git commit 7c3ec5d5c0dde8792dcf0b1f50503a6fc35528b6 by Sebastian Kügler.
Committed on 15/01/2014 at 19:07.
Pushed by sebas into branch 'master'.
The Big Cleanup of kde-workspace/plasma
- Plasma screensaver is dead, this needs a rewrite
- qmlpackages move into desktop, all code is desktop-specific at this
point
- design subdir moves into desktop/, this section needs reviewing and
updating entirely, for now, it's reasonable to assume it's desktop-only
This way, we end up with generic, and desktop-specific components, ready
for splitting up into separate repositories.
CCMAIL:plasma-devel at kde.org
D +0 -63 plasma/README
C +0 -0 plasma/desktop/HACKING [from: plasma/HACKING - 100% similarity]
C +0 -0 plasma/desktop/Mainpage.dox [from: plasma/Mainpage.dox - 100% similarity]
R +0 -0 plasma/desktop/design/CHANGELOG-4.2 [from: plasma/design/CHANGELOG-4.2 - 100% similarity]
R +0 -0 plasma/desktop/design/CHANGELOG-4.3 [from: plasma/design/CHANGELOG-4.3 - 100% similarity]
R +0 -0 plasma/desktop/design/CHANGELOG-4.4 [from: plasma/design/CHANGELOG-4.4 - 100% similarity]
R +0 -0 plasma/desktop/design/CHANGELOG-4.5 [from: plasma/design/CHANGELOG-4.5 - 100% similarity]
R +0 -0 plasma/desktop/design/CHANGELOG-4.6 [from: plasma/design/CHANGELOG-4.6 - 100% similarity]
R +0 -0 plasma/desktop/design/CHANGELOG-template [from: plasma/design/CHANGELOG-template - 100% similarity]
R +0 -0 plasma/desktop/design/README [from: plasma/design/README - 100% similarity]
R +0 -0 plasma/desktop/design/activities [from: plasma/design/activities - 100% similarity]
R +0 -0 plasma/desktop/design/containmentactions [from: plasma/design/containmentactions - 100% similarity]
R +0 -0 plasma/desktop/design/context [from: plasma/design/context - 100% similarity]
R +0 -0 plasma/desktop/design/dataengine [from: plasma/design/dataengine - 100% similarity]
R +0 -0 plasma/desktop/design/ideas.txt [from: plasma/design/ideas.txt - 100% similarity]
R +0 -0 plasma/desktop/design/notifications [from: plasma/design/notifications - 100% similarity]
R +0 -0 plasma/desktop/design/plasma-desktop-screen-handling [from: plasma/design/plasma-desktop-screen-handling - 100% similarity]
R +0 -0 plasma/desktop/design/plasmoids [from: plasma/design/plasmoids - 100% similarity]
R +0 -0 plasma/desktop/design/remotewidgets [from: plasma/design/remotewidgets - 100% similarity]
R +0 -0 plasma/desktop/design/screensaver [from: plasma/design/screensaver - 100% similarity]
R +0 -0 plasma/desktop/design/security [from: plasma/design/security - 100% similarity]
R +0 -0 plasma/desktop/design/standardEffects [from: plasma/design/standardEffects - 100% similarity]
R +0 -0 plasma/desktop/design/systemtraywidget [from: plasma/design/systemtraywidget - 100% similarity]
R +0 -0 plasma/desktop/design/tooltips [from: plasma/design/tooltips - 100% similarity]
R +0 -0 plasma/desktop/design/wallpaper [from: plasma/design/wallpaper - 100% similarity]
R +0 -0 plasma/desktop/design/widgets [from: plasma/design/widgets - 100% similarity]
R +0 -0 plasma/desktop/qmlpackages/CMakeLists.txt [from: plasma/qmlpackages/CMakeLists.txt - 100% similarity]
R +0 -0 plasma/desktop/qmlpackages/blank/Messages.sh [from: plasma/qmlpackages/blank/Messages.sh - 100% similarity]
R +0 -0 plasma/desktop/qmlpackages/blank/contents/applet/AppletError.qml [from: plasma/qmlpackages/blank/contents/applet/AppletError.qml - 100% similarity]
R +0 -0 plasma/desktop/qmlpackages/blank/contents/applet/CompactApplet.qml [from: plasma/qmlpackages/blank/contents/applet/CompactApplet.qml - 100% similarity]
R +0 -0 plasma/desktop/qmlpackages/blank/contents/applet/DefaultCompactRepresentation.qml [from: plasma/qmlpackages/blank/contents/applet/DefaultCompactRepresentation.qml - 100% similarity]
R +0 -0 plasma/desktop/qmlpackages/blank/contents/configuration/AppletConfiguration.qml [from: plasma/qmlpackages/blank/contents/configuration/AppletConfiguration.qml - 100% similarity]
R +0 -0 plasma/desktop/qmlpackages/blank/contents/configuration/ConfigCategoryDelegate.qml [from: plasma/qmlpackages/blank/contents/configuration/ConfigCategoryDelegate.qml - 100% similarity]
R +0 -0 plasma/desktop/qmlpackages/blank/contents/configuration/ConfigurationContainmentActions.qml [from: plasma/qmlpackages/blank/contents/configuration/ConfigurationContainmentActions.qml - 100% similarity]
R +0 -0 plasma/desktop/qmlpackages/blank/contents/configuration/ConfigurationContainmentAppearance.qml [from: plasma/qmlpackages/blank/contents/configuration/ConfigurationContainmentAppearance.qml - 100% similarity]
R +0 -0 plasma/desktop/qmlpackages/blank/contents/configuration/ConfigurationShortcuts.qml [from: plasma/qmlpackages/blank/contents/configuration/ConfigurationShortcuts.qml - 100% similarity]
R +0 -0 plasma/desktop/qmlpackages/blank/contents/configuration/ContainmentConfiguration.qml [from: plasma/qmlpackages/blank/contents/configuration/ContainmentConfiguration.qml - 100% similarity]
R +0 -0 plasma/desktop/qmlpackages/blank/contents/configuration/PanelConfiguration.qml [from: plasma/qmlpackages/blank/contents/configuration/PanelConfiguration.qml - 100% similarity]
R +0 -0 plasma/desktop/qmlpackages/blank/contents/configuration/panelconfiguration/EdgeHandle.qml [from: plasma/qmlpackages/blank/contents/configuration/panelconfiguration/EdgeHandle.qml - 100% similarity]
R +0 -0 plasma/desktop/qmlpackages/blank/contents/configuration/panelconfiguration/Ruler.qml [from: plasma/qmlpackages/blank/contents/configuration/panelconfiguration/Ruler.qml - 100% similarity]
R +0 -0 plasma/desktop/qmlpackages/blank/contents/configuration/panelconfiguration/SizeHandle.qml [from: plasma/qmlpackages/blank/contents/configuration/panelconfiguration/SizeHandle.qml - 100% similarity]
R +0 -0 plasma/desktop/qmlpackages/blank/contents/configuration/panelconfiguration/SliderHandle.qml [from: plasma/qmlpackages/blank/contents/configuration/panelconfiguration/SliderHandle.qml - 100% similarity]
R +0 -0 plasma/desktop/qmlpackages/blank/contents/configuration/panelconfiguration/ToolBar.qml [from: plasma/qmlpackages/blank/contents/configuration/panelconfiguration/ToolBar.qml - 100% similarity]
R +0 -0 plasma/desktop/qmlpackages/blank/contents/defaults [from: plasma/qmlpackages/blank/contents/defaults - 100% similarity]
R +0 -0 plasma/desktop/qmlpackages/blank/contents/explorer/AppletDelegate.qml [from: plasma/qmlpackages/blank/contents/explorer/AppletDelegate.qml - 100% similarity]
R +0 -0 plasma/desktop/qmlpackages/blank/contents/explorer/SimpleWidgetExplorer.qml [from: plasma/qmlpackages/blank/contents/explorer/SimpleWidgetExplorer.qml - 100% similarity]
R +0 -0 plasma/desktop/qmlpackages/blank/contents/explorer/Tooltip.qml [from: plasma/qmlpackages/blank/contents/explorer/Tooltip.qml - 100% similarity]
R +0 -0 plasma/desktop/qmlpackages/blank/contents/explorer/WidgetExplorer.qml [from: plasma/qmlpackages/blank/contents/explorer/WidgetExplorer.qml - 100% similarity]
R +0 -0 plasma/desktop/qmlpackages/blank/contents/layout.js [from: plasma/qmlpackages/blank/contents/layout.js - 100% similarity]
R +0 -0 plasma/desktop/qmlpackages/blank/contents/loader.qml [from: plasma/qmlpackages/blank/contents/loader.qml - 100% similarity]
R +0 -0 plasma/desktop/qmlpackages/blank/contents/views/Desktop.qml [from: plasma/qmlpackages/blank/contents/views/Desktop.qml - 100% similarity]
R +0 -0 plasma/desktop/qmlpackages/blank/contents/views/Panel.qml [from: plasma/qmlpackages/blank/contents/views/Panel.qml - 100% similarity]
R +0 -0 plasma/desktop/qmlpackages/blank/metadata.desktop [from: plasma/qmlpackages/blank/metadata.desktop - 100% similarity]
R +0 -0 plasma/desktop/qmlpackages/desktop/Messages.sh [from: plasma/qmlpackages/desktop/Messages.sh - 100% similarity]
R +0 -0 plasma/desktop/qmlpackages/desktop/contents/activitymanager/ActivityDelegate.qml [from: plasma/qmlpackages/desktop/contents/activitymanager/ActivityDelegate.qml - 100% similarity]
R +0 -0 plasma/desktop/qmlpackages/desktop/contents/activitymanager/ActivityManager.qml [from: plasma/qmlpackages/desktop/contents/activitymanager/ActivityManager.qml - 100% similarity]
R +0 -0 plasma/desktop/qmlpackages/desktop/contents/applet/AppletError.qml [from: plasma/qmlpackages/desktop/contents/applet/AppletError.qml - 100% similarity]
R +0 -0 plasma/desktop/qmlpackages/desktop/contents/applet/CompactApplet.qml [from: plasma/qmlpackages/desktop/contents/applet/CompactApplet.qml - 100% similarity]
R +0 -0 plasma/desktop/qmlpackages/desktop/contents/applet/DefaultCompactRepresentation.qml [from: plasma/qmlpackages/desktop/contents/applet/DefaultCompactRepresentation.qml - 100% similarity]
R +0 -0 plasma/desktop/qmlpackages/desktop/contents/configuration/AppletConfiguration.qml [from: plasma/qmlpackages/desktop/contents/configuration/AppletConfiguration.qml - 100% similarity]
R +0 -0 plasma/desktop/qmlpackages/desktop/contents/configuration/ConfigCategoryDelegate.qml [from: plasma/qmlpackages/desktop/contents/configuration/ConfigCategoryDelegate.qml - 100% similarity]
R +0 -0 plasma/desktop/qmlpackages/desktop/contents/configuration/ConfigurationContainmentActions.qml [from: plasma/qmlpackages/desktop/contents/configuration/ConfigurationContainmentActions.qml - 100% similarity]
R +0 -0 plasma/desktop/qmlpackages/desktop/contents/configuration/ConfigurationContainmentAppearance.qml [from: plasma/qmlpackages/desktop/contents/configuration/ConfigurationContainmentAppearance.qml - 100% similarity]
R +0 -0 plasma/desktop/qmlpackages/desktop/contents/configuration/ConfigurationShortcuts.qml [from: plasma/qmlpackages/desktop/contents/configuration/ConfigurationShortcuts.qml - 100% similarity]
R +0 -0 plasma/desktop/qmlpackages/desktop/contents/configuration/ContainmentConfiguration.qml [from: plasma/qmlpackages/desktop/contents/configuration/ContainmentConfiguration.qml - 100% similarity]
R +0 -0 plasma/desktop/qmlpackages/desktop/contents/configuration/MouseEventInputButton.qml [from: plasma/qmlpackages/desktop/contents/configuration/MouseEventInputButton.qml - 100% similarity]
R +0 -0 plasma/desktop/qmlpackages/desktop/contents/configuration/PanelConfiguration.qml [from: plasma/qmlpackages/desktop/contents/configuration/PanelConfiguration.qml - 100% similarity]
R +0 -0 plasma/desktop/qmlpackages/desktop/contents/configuration/panelconfiguration/EdgeHandle.qml [from: plasma/qmlpackages/desktop/contents/configuration/panelconfiguration/EdgeHandle.qml - 100% similarity]
R +0 -0 plasma/desktop/qmlpackages/desktop/contents/configuration/panelconfiguration/Ruler.qml [from: plasma/qmlpackages/desktop/contents/configuration/panelconfiguration/Ruler.qml - 100% similarity]
R +0 -0 plasma/desktop/qmlpackages/desktop/contents/configuration/panelconfiguration/SizeHandle.qml [from: plasma/qmlpackages/desktop/contents/configuration/panelconfiguration/SizeHandle.qml - 100% similarity]
R +0 -0 plasma/desktop/qmlpackages/desktop/contents/configuration/panelconfiguration/SliderHandle.qml [from: plasma/qmlpackages/desktop/contents/configuration/panelconfiguration/SliderHandle.qml - 100% similarity]
R +0 -0 plasma/desktop/qmlpackages/desktop/contents/configuration/panelconfiguration/ToolBar.qml [from: plasma/qmlpackages/desktop/contents/configuration/panelconfiguration/ToolBar.qml - 100% similarity]
R +0 -0 plasma/desktop/qmlpackages/desktop/contents/defaults [from: plasma/qmlpackages/desktop/contents/defaults - 100% similarity]
R +0 -0 plasma/desktop/qmlpackages/desktop/contents/explorer/AppletDelegate.qml [from: plasma/qmlpackages/desktop/contents/explorer/AppletDelegate.qml - 100% similarity]
R +0 -0 plasma/desktop/qmlpackages/desktop/contents/explorer/Tooltip.qml [from: plasma/qmlpackages/desktop/contents/explorer/Tooltip.qml - 100% similarity]
R +0 -0 plasma/desktop/qmlpackages/desktop/contents/explorer/WidgetExplorer.qml [from: plasma/qmlpackages/desktop/contents/explorer/WidgetExplorer.qml - 100% similarity]
R +0 -0 plasma/desktop/qmlpackages/desktop/contents/layout.js [from: plasma/qmlpackages/desktop/contents/layout.js - 100% similarity]
R +0 -0 plasma/desktop/qmlpackages/desktop/contents/loader.qml [from: plasma/qmlpackages/desktop/contents/loader.qml - 100% similarity]
R +0 -0 plasma/desktop/qmlpackages/desktop/contents/views/Desktop.qml [from: plasma/qmlpackages/desktop/contents/views/Desktop.qml - 100% similarity]
R +0 -0 plasma/desktop/qmlpackages/desktop/contents/views/Panel.qml [from: plasma/qmlpackages/desktop/contents/views/Panel.qml - 100% similarity]
R +0 -0 plasma/desktop/qmlpackages/desktop/metadata.desktop [from: plasma/qmlpackages/desktop/metadata.desktop - 100% similarity]
R +0 -0 plasma/desktop/qmlpackages/lookandfeel/Messages.sh [from: plasma/qmlpackages/lookandfeel/Messages.sh - 100% similarity]
R +0 -0 plasma/desktop/qmlpackages/lookandfeel/contents/defaults [from: plasma/qmlpackages/lookandfeel/contents/defaults - 100% similarity]
R +0 -0 plasma/desktop/qmlpackages/lookandfeel/contents/desktopswitcher/DesktopSwitcher.qml [from: plasma/qmlpackages/lookandfeel/contents/desktopswitcher/DesktopSwitcher.qml - 100% similarity]
R +0 -0 plasma/desktop/qmlpackages/lookandfeel/contents/lockscreen/LockScreen.qml [from: plasma/qmlpackages/lookandfeel/contents/lockscreen/LockScreen.qml - 100% similarity]
R +0 -0 plasma/desktop/qmlpackages/lookandfeel/contents/loginmanager/LoginManager.qml [from: plasma/qmlpackages/lookandfeel/contents/loginmanager/LoginManager.qml - 100% similarity]
R +0 -0 plasma/desktop/qmlpackages/lookandfeel/contents/logout/Logout.qml [from: plasma/qmlpackages/lookandfeel/contents/logout/Logout.qml - 100% similarity]
R +0 -0 plasma/desktop/qmlpackages/lookandfeel/contents/previews/desktopswitcher.png [from: plasma/qmlpackages/lookandfeel/contents/previews/desktopswitcher.png - 100% similarity]
R +0 -0 plasma/desktop/qmlpackages/lookandfeel/contents/previews/lockscreen.png [from: plasma/qmlpackages/lookandfeel/contents/previews/lockscreen.png - 100% similarity]
R +0 -0 plasma/desktop/qmlpackages/lookandfeel/contents/previews/loginmanager.png [from: plasma/qmlpackages/lookandfeel/contents/previews/loginmanager.png - 100% similarity]
R +0 -0 plasma/desktop/qmlpackages/lookandfeel/contents/previews/runcommand.png [from: plasma/qmlpackages/lookandfeel/contents/previews/runcommand.png - 100% similarity]
R +0 -0 plasma/desktop/qmlpackages/lookandfeel/contents/previews/splash.png [from: plasma/qmlpackages/lookandfeel/contents/previews/splash.png - 100% similarity]
R +0 -0 plasma/desktop/qmlpackages/lookandfeel/contents/previews/userswitcher.png [from: plasma/qmlpackages/lookandfeel/contents/previews/userswitcher.png - 100% similarity]
R +0 -0 plasma/desktop/qmlpackages/lookandfeel/contents/previews/windowdecoration.png [from: plasma/qmlpackages/lookandfeel/contents/previews/windowdecoration.png - 100% similarity]
R +0 -0 plasma/desktop/qmlpackages/lookandfeel/contents/previews/windowswitcher.png [from: plasma/qmlpackages/lookandfeel/contents/previews/windowswitcher.png - 100% similarity]
R +0 -0 plasma/desktop/qmlpackages/lookandfeel/contents/runcommand/RunCommand.qml [from: plasma/qmlpackages/lookandfeel/contents/runcommand/RunCommand.qml - 100% similarity]
R +0 -0 plasma/desktop/qmlpackages/lookandfeel/contents/splash/Splash.qml [from: plasma/qmlpackages/lookandfeel/contents/splash/Splash.qml - 100% similarity]
R +0 -0 plasma/desktop/qmlpackages/lookandfeel/contents/userswitcher/UserSwitcher.qml [from: plasma/qmlpackages/lookandfeel/contents/userswitcher/UserSwitcher.qml - 100% similarity]
R +0 -0 plasma/desktop/qmlpackages/lookandfeel/contents/windowdecoration/WindowDecoration.qml [from: plasma/qmlpackages/lookandfeel/contents/windowdecoration/WindowDecoration.qml - 100% similarity]
R +0 -0 plasma/desktop/qmlpackages/lookandfeel/contents/windowswitcher/WindowSwitcher.qml [from: plasma/qmlpackages/lookandfeel/contents/windowswitcher/WindowSwitcher.qml - 100% similarity]
R +0 -0 plasma/desktop/qmlpackages/lookandfeel/metadata.desktop [from: plasma/qmlpackages/lookandfeel/metadata.desktop - 100% similarity]
R +0 -0 plasma/generic/HACKING [from: plasma/HACKING - 100% similarity]
R +0 -0 plasma/generic/Mainpage.dox [from: plasma/Mainpage.dox - 100% similarity]
D +0 -6 plasma/screensaver/CMakeLists.txt
D +0 -2 plasma/screensaver/containments/CMakeLists.txt
D +0 -10 plasma/screensaver/containments/screensaver/CMakeLists.txt
D +0 -2 plasma/screensaver/containments/screensaver/Messages.sh
D +0 -116 plasma/screensaver/containments/screensaver/desktop.cpp
D +0 -53 plasma/screensaver/containments/screensaver/desktop.h
D +0 -96 plasma/screensaver/containments/screensaver/plasma-containment-saverdesktop.desktop
D +0 -108 plasma/screensaver/shell/BackgroundDialog.ui
D +0 -39 plasma/screensaver/shell/CMakeLists.txt
D +0 -5 plasma/screensaver/shell/Messages.sh
D +0 -211 plasma/screensaver/shell/backgrounddialog.cpp
D +0 -52 plasma/screensaver/shell/backgrounddialog.h
D +0 -68 plasma/screensaver/shell/main.cpp
D +0 -17 plasma/screensaver/shell/org.kde.plasma-overlay.App.xml
D +0 -10 plasma/screensaver/shell/plasma-overlayrc
D +0 -514 plasma/screensaver/shell/plasmaapp.cpp
D +0 -129 plasma/screensaver/shell/plasmaapp.h
D +0 -269 plasma/screensaver/shell/savercorona.cpp
D +0 -75 plasma/screensaver/shell/savercorona.h
D +0 -294 plasma/screensaver/shell/saverview.cpp
D +0 -82 plasma/screensaver/shell/saverview.h
http://commits.kde.org/kde-workspace/7c3ec5d5c0dde8792dcf0b1f50503a6fc35528b6
diff --git a/plasma/README b/plasma/README
deleted file mode 100644
index 1b34381..0000000
--- a/plasma/README
+++ /dev/null
@@ -1,63 +0,0 @@
-PLASMA
-======
-
-The applications and plugins that provide the panels/desktop/dashboard parts of
-the primary user interface for the KDE Plasma workspaces (Plasma Desktop, Netbook, etc).
-Much of the functionality is provided by libplasma, which is found in kdelibs/plasma/.
-
-For more information, please visit the Plasma website at http://plasma.kde.org.
-
-Directory Structure
-===================
-
-Each top level directory denotes which workspace (desktop, netbook, screensaver, etc.)
-the components within it apply to. There is a directory named "generic" for components
-that do not apply to a specific workspace.
-
-Within each of these top level directories, the following hierarchy exists:
-
- applets: Applets (aka "plasmoids" or "widgets") that are considered central
- to the workspace in question
-
- containments: Standard containment objects that provide management for the
- Plasma contents shown on panels, desktops, screensavers, etc.
-
- dataengines: DataEngines considered generally useful; more specific/niche
- DataEngines can be found in kdeplasma-addons or extragear/plasma/
-
- runners: Provides matches to queries; used by KRunner, Kickoff, others
-
- shell(s): The application(s) that provide the Plasma viewing environment
- for a given workspace / formfactor. They also provide
- implementations of dialog placement, screen geometry, remote
- widget notifications, access request UI, containment
- management UI, etc. Essentially all the framework pieces needed
- to provide appropriate rendering of an environment for a given
- form factor or target device.
-
- containmentactions: Plugins that provide actions for context menus and other input
- triggered action sets
-
-
-In addition to the above, the generic directory also contains:
-
- wallpapers: Background rendering plugins for containments
- scriptengines: Glue between libplasma and APIs provided via dynamic languages or
- 3rd party systems; note that the Javascript scriptengines
- tools: useful applications for working with Plasma apps, including:
- * engineexplorer: a graphical utility to examine engines
- * wallpaperviewer: a tool to view Plasma wallpaper plugins
- * plasmoidviewer: a viewer for individual Plasma applets,
- particularly useful for edevel and debugging
-
-KDE Base Runtime
-================
-A number of important components live in the kdebase-runtime package in the plasma/
-directory, including:
-
-* The javascript ScriptEngines for Plasmoids, DataEngines and Runners
-* plasmapkg: Installs, removes and lists plasma packages
-* remotewidgetshelper: a small help tool for Plasma applets that are remoted over
- the network
-
-The default SVG themes also exist in kdebase-runtime under desktopthemes/
diff --git a/plasma/HACKING b/plasma/desktop/HACKING
similarity index 100%
copy from plasma/HACKING
copy to plasma/desktop/HACKING
diff --git a/plasma/Mainpage.dox b/plasma/desktop/Mainpage.dox
similarity index 100%
copy from plasma/Mainpage.dox
copy to plasma/desktop/Mainpage.dox
diff --git a/plasma/design/CHANGELOG-4.2 b/plasma/desktop/design/CHANGELOG-4.2
similarity index 100%
rename from plasma/design/CHANGELOG-4.2
rename to plasma/desktop/design/CHANGELOG-4.2
diff --git a/plasma/design/CHANGELOG-4.3 b/plasma/desktop/design/CHANGELOG-4.3
similarity index 100%
rename from plasma/design/CHANGELOG-4.3
rename to plasma/desktop/design/CHANGELOG-4.3
diff --git a/plasma/design/CHANGELOG-4.4 b/plasma/desktop/design/CHANGELOG-4.4
similarity index 100%
rename from plasma/design/CHANGELOG-4.4
rename to plasma/desktop/design/CHANGELOG-4.4
diff --git a/plasma/design/CHANGELOG-4.5 b/plasma/desktop/design/CHANGELOG-4.5
similarity index 100%
rename from plasma/design/CHANGELOG-4.5
rename to plasma/desktop/design/CHANGELOG-4.5
diff --git a/plasma/design/CHANGELOG-4.6 b/plasma/desktop/design/CHANGELOG-4.6
similarity index 100%
rename from plasma/design/CHANGELOG-4.6
rename to plasma/desktop/design/CHANGELOG-4.6
diff --git a/plasma/design/CHANGELOG-template b/plasma/desktop/design/CHANGELOG-template
similarity index 100%
rename from plasma/design/CHANGELOG-template
rename to plasma/desktop/design/CHANGELOG-template
diff --git a/plasma/design/README b/plasma/desktop/design/README
similarity index 100%
rename from plasma/design/README
rename to plasma/desktop/design/README
diff --git a/plasma/design/activities b/plasma/desktop/design/activities
similarity index 100%
rename from plasma/design/activities
rename to plasma/desktop/design/activities
diff --git a/plasma/design/containmentactions b/plasma/desktop/design/containmentactions
similarity index 100%
rename from plasma/design/containmentactions
rename to plasma/desktop/design/containmentactions
diff --git a/plasma/design/context b/plasma/desktop/design/context
similarity index 100%
rename from plasma/design/context
rename to plasma/desktop/design/context
diff --git a/plasma/design/dataengine b/plasma/desktop/design/dataengine
similarity index 100%
rename from plasma/design/dataengine
rename to plasma/desktop/design/dataengine
diff --git a/plasma/design/ideas.txt b/plasma/desktop/design/ideas.txt
similarity index 100%
rename from plasma/design/ideas.txt
rename to plasma/desktop/design/ideas.txt
diff --git a/plasma/design/notifications b/plasma/desktop/design/notifications
similarity index 100%
rename from plasma/design/notifications
rename to plasma/desktop/design/notifications
diff --git a/plasma/design/plasma-desktop-screen-handling b/plasma/desktop/design/plasma-desktop-screen-handling
similarity index 100%
rename from plasma/design/plasma-desktop-screen-handling
rename to plasma/desktop/design/plasma-desktop-screen-handling
diff --git a/plasma/design/plasmoids b/plasma/desktop/design/plasmoids
similarity index 100%
rename from plasma/design/plasmoids
rename to plasma/desktop/design/plasmoids
diff --git a/plasma/design/remotewidgets b/plasma/desktop/design/remotewidgets
similarity index 100%
rename from plasma/design/remotewidgets
rename to plasma/desktop/design/remotewidgets
diff --git a/plasma/design/screensaver b/plasma/desktop/design/screensaver
similarity index 100%
rename from plasma/design/screensaver
rename to plasma/desktop/design/screensaver
diff --git a/plasma/design/security b/plasma/desktop/design/security
similarity index 100%
rename from plasma/design/security
rename to plasma/desktop/design/security
diff --git a/plasma/design/standardEffects b/plasma/desktop/design/standardEffects
similarity index 100%
rename from plasma/design/standardEffects
rename to plasma/desktop/design/standardEffects
diff --git a/plasma/design/systemtraywidget b/plasma/desktop/design/systemtraywidget
similarity index 100%
rename from plasma/design/systemtraywidget
rename to plasma/desktop/design/systemtraywidget
diff --git a/plasma/design/tooltips b/plasma/desktop/design/tooltips
similarity index 100%
rename from plasma/design/tooltips
rename to plasma/desktop/design/tooltips
diff --git a/plasma/design/wallpaper b/plasma/desktop/design/wallpaper
similarity index 100%
rename from plasma/design/wallpaper
rename to plasma/desktop/design/wallpaper
diff --git a/plasma/design/widgets b/plasma/desktop/design/widgets
similarity index 100%
rename from plasma/design/widgets
rename to plasma/desktop/design/widgets
diff --git a/plasma/qmlpackages/CMakeLists.txt b/plasma/desktop/qmlpackages/CMakeLists.txt
similarity index 100%
rename from plasma/qmlpackages/CMakeLists.txt
rename to plasma/desktop/qmlpackages/CMakeLists.txt
diff --git a/plasma/qmlpackages/blank/Messages.sh b/plasma/desktop/qmlpackages/blank/Messages.sh
similarity index 100%
rename from plasma/qmlpackages/blank/Messages.sh
rename to plasma/desktop/qmlpackages/blank/Messages.sh
diff --git a/plasma/qmlpackages/blank/contents/applet/AppletError.qml b/plasma/desktop/qmlpackages/blank/contents/applet/AppletError.qml
similarity index 100%
rename from plasma/qmlpackages/blank/contents/applet/AppletError.qml
rename to plasma/desktop/qmlpackages/blank/contents/applet/AppletError.qml
diff --git a/plasma/qmlpackages/blank/contents/applet/CompactApplet.qml b/plasma/desktop/qmlpackages/blank/contents/applet/CompactApplet.qml
similarity index 100%
rename from plasma/qmlpackages/blank/contents/applet/CompactApplet.qml
rename to plasma/desktop/qmlpackages/blank/contents/applet/CompactApplet.qml
diff --git a/plasma/qmlpackages/blank/contents/applet/DefaultCompactRepresentation.qml b/plasma/desktop/qmlpackages/blank/contents/applet/DefaultCompactRepresentation.qml
similarity index 100%
rename from plasma/qmlpackages/blank/contents/applet/DefaultCompactRepresentation.qml
rename to plasma/desktop/qmlpackages/blank/contents/applet/DefaultCompactRepresentation.qml
diff --git a/plasma/qmlpackages/blank/contents/configuration/AppletConfiguration.qml b/plasma/desktop/qmlpackages/blank/contents/configuration/AppletConfiguration.qml
similarity index 100%
rename from plasma/qmlpackages/blank/contents/configuration/AppletConfiguration.qml
rename to plasma/desktop/qmlpackages/blank/contents/configuration/AppletConfiguration.qml
diff --git a/plasma/qmlpackages/blank/contents/configuration/ConfigCategoryDelegate.qml b/plasma/desktop/qmlpackages/blank/contents/configuration/ConfigCategoryDelegate.qml
similarity index 100%
rename from plasma/qmlpackages/blank/contents/configuration/ConfigCategoryDelegate.qml
rename to plasma/desktop/qmlpackages/blank/contents/configuration/ConfigCategoryDelegate.qml
diff --git a/plasma/qmlpackages/blank/contents/configuration/ConfigurationContainmentActions.qml b/plasma/desktop/qmlpackages/blank/contents/configuration/ConfigurationContainmentActions.qml
similarity index 100%
rename from plasma/qmlpackages/blank/contents/configuration/ConfigurationContainmentActions.qml
rename to plasma/desktop/qmlpackages/blank/contents/configuration/ConfigurationContainmentActions.qml
diff --git a/plasma/qmlpackages/blank/contents/configuration/ConfigurationContainmentAppearance.qml b/plasma/desktop/qmlpackages/blank/contents/configuration/ConfigurationContainmentAppearance.qml
similarity index 100%
rename from plasma/qmlpackages/blank/contents/configuration/ConfigurationContainmentAppearance.qml
rename to plasma/desktop/qmlpackages/blank/contents/configuration/ConfigurationContainmentAppearance.qml
diff --git a/plasma/qmlpackages/blank/contents/configuration/ConfigurationShortcuts.qml b/plasma/desktop/qmlpackages/blank/contents/configuration/ConfigurationShortcuts.qml
similarity index 100%
rename from plasma/qmlpackages/blank/contents/configuration/ConfigurationShortcuts.qml
rename to plasma/desktop/qmlpackages/blank/contents/configuration/ConfigurationShortcuts.qml
diff --git a/plasma/qmlpackages/blank/contents/configuration/ContainmentConfiguration.qml b/plasma/desktop/qmlpackages/blank/contents/configuration/ContainmentConfiguration.qml
similarity index 100%
rename from plasma/qmlpackages/blank/contents/configuration/ContainmentConfiguration.qml
rename to plasma/desktop/qmlpackages/blank/contents/configuration/ContainmentConfiguration.qml
diff --git a/plasma/qmlpackages/blank/contents/configuration/PanelConfiguration.qml b/plasma/desktop/qmlpackages/blank/contents/configuration/PanelConfiguration.qml
similarity index 100%
rename from plasma/qmlpackages/blank/contents/configuration/PanelConfiguration.qml
rename to plasma/desktop/qmlpackages/blank/contents/configuration/PanelConfiguration.qml
diff --git a/plasma/qmlpackages/blank/contents/configuration/panelconfiguration/EdgeHandle.qml b/plasma/desktop/qmlpackages/blank/contents/configuration/panelconfiguration/EdgeHandle.qml
similarity index 100%
rename from plasma/qmlpackages/blank/contents/configuration/panelconfiguration/EdgeHandle.qml
rename to plasma/desktop/qmlpackages/blank/contents/configuration/panelconfiguration/EdgeHandle.qml
diff --git a/plasma/qmlpackages/blank/contents/configuration/panelconfiguration/Ruler.qml b/plasma/desktop/qmlpackages/blank/contents/configuration/panelconfiguration/Ruler.qml
similarity index 100%
rename from plasma/qmlpackages/blank/contents/configuration/panelconfiguration/Ruler.qml
rename to plasma/desktop/qmlpackages/blank/contents/configuration/panelconfiguration/Ruler.qml
diff --git a/plasma/qmlpackages/blank/contents/configuration/panelconfiguration/SizeHandle.qml b/plasma/desktop/qmlpackages/blank/contents/configuration/panelconfiguration/SizeHandle.qml
similarity index 100%
rename from plasma/qmlpackages/blank/contents/configuration/panelconfiguration/SizeHandle.qml
rename to plasma/desktop/qmlpackages/blank/contents/configuration/panelconfiguration/SizeHandle.qml
diff --git a/plasma/qmlpackages/blank/contents/configuration/panelconfiguration/SliderHandle.qml b/plasma/desktop/qmlpackages/blank/contents/configuration/panelconfiguration/SliderHandle.qml
similarity index 100%
rename from plasma/qmlpackages/blank/contents/configuration/panelconfiguration/SliderHandle.qml
rename to plasma/desktop/qmlpackages/blank/contents/configuration/panelconfiguration/SliderHandle.qml
diff --git a/plasma/qmlpackages/blank/contents/configuration/panelconfiguration/ToolBar.qml b/plasma/desktop/qmlpackages/blank/contents/configuration/panelconfiguration/ToolBar.qml
similarity index 100%
rename from plasma/qmlpackages/blank/contents/configuration/panelconfiguration/ToolBar.qml
rename to plasma/desktop/qmlpackages/blank/contents/configuration/panelconfiguration/ToolBar.qml
diff --git a/plasma/qmlpackages/blank/contents/defaults b/plasma/desktop/qmlpackages/blank/contents/defaults
similarity index 100%
rename from plasma/qmlpackages/blank/contents/defaults
rename to plasma/desktop/qmlpackages/blank/contents/defaults
diff --git a/plasma/qmlpackages/blank/contents/explorer/AppletDelegate.qml b/plasma/desktop/qmlpackages/blank/contents/explorer/AppletDelegate.qml
similarity index 100%
rename from plasma/qmlpackages/blank/contents/explorer/AppletDelegate.qml
rename to plasma/desktop/qmlpackages/blank/contents/explorer/AppletDelegate.qml
diff --git a/plasma/qmlpackages/blank/contents/explorer/SimpleWidgetExplorer.qml b/plasma/desktop/qmlpackages/blank/contents/explorer/SimpleWidgetExplorer.qml
similarity index 100%
rename from plasma/qmlpackages/blank/contents/explorer/SimpleWidgetExplorer.qml
rename to plasma/desktop/qmlpackages/blank/contents/explorer/SimpleWidgetExplorer.qml
diff --git a/plasma/qmlpackages/blank/contents/explorer/Tooltip.qml b/plasma/desktop/qmlpackages/blank/contents/explorer/Tooltip.qml
similarity index 100%
rename from plasma/qmlpackages/blank/contents/explorer/Tooltip.qml
rename to plasma/desktop/qmlpackages/blank/contents/explorer/Tooltip.qml
diff --git a/plasma/qmlpackages/blank/contents/explorer/WidgetExplorer.qml b/plasma/desktop/qmlpackages/blank/contents/explorer/WidgetExplorer.qml
similarity index 100%
rename from plasma/qmlpackages/blank/contents/explorer/WidgetExplorer.qml
rename to plasma/desktop/qmlpackages/blank/contents/explorer/WidgetExplorer.qml
diff --git a/plasma/qmlpackages/blank/contents/layout.js b/plasma/desktop/qmlpackages/blank/contents/layout.js
similarity index 100%
rename from plasma/qmlpackages/blank/contents/layout.js
rename to plasma/desktop/qmlpackages/blank/contents/layout.js
diff --git a/plasma/qmlpackages/blank/contents/loader.qml b/plasma/desktop/qmlpackages/blank/contents/loader.qml
similarity index 100%
rename from plasma/qmlpackages/blank/contents/loader.qml
rename to plasma/desktop/qmlpackages/blank/contents/loader.qml
diff --git a/plasma/qmlpackages/blank/contents/views/Desktop.qml b/plasma/desktop/qmlpackages/blank/contents/views/Desktop.qml
similarity index 100%
rename from plasma/qmlpackages/blank/contents/views/Desktop.qml
rename to plasma/desktop/qmlpackages/blank/contents/views/Desktop.qml
diff --git a/plasma/qmlpackages/blank/contents/views/Panel.qml b/plasma/desktop/qmlpackages/blank/contents/views/Panel.qml
similarity index 100%
rename from plasma/qmlpackages/blank/contents/views/Panel.qml
rename to plasma/desktop/qmlpackages/blank/contents/views/Panel.qml
diff --git a/plasma/qmlpackages/blank/metadata.desktop b/plasma/desktop/qmlpackages/blank/metadata.desktop
similarity index 100%
rename from plasma/qmlpackages/blank/metadata.desktop
rename to plasma/desktop/qmlpackages/blank/metadata.desktop
diff --git a/plasma/qmlpackages/desktop/Messages.sh b/plasma/desktop/qmlpackages/desktop/Messages.sh
similarity index 100%
rename from plasma/qmlpackages/desktop/Messages.sh
rename to plasma/desktop/qmlpackages/desktop/Messages.sh
diff --git a/plasma/qmlpackages/desktop/contents/activitymanager/ActivityDelegate.qml b/plasma/desktop/qmlpackages/desktop/contents/activitymanager/ActivityDelegate.qml
similarity index 100%
rename from plasma/qmlpackages/desktop/contents/activitymanager/ActivityDelegate.qml
rename to plasma/desktop/qmlpackages/desktop/contents/activitymanager/ActivityDelegate.qml
diff --git a/plasma/qmlpackages/desktop/contents/activitymanager/ActivityManager.qml b/plasma/desktop/qmlpackages/desktop/contents/activitymanager/ActivityManager.qml
similarity index 100%
rename from plasma/qmlpackages/desktop/contents/activitymanager/ActivityManager.qml
rename to plasma/desktop/qmlpackages/desktop/contents/activitymanager/ActivityManager.qml
diff --git a/plasma/qmlpackages/desktop/contents/applet/AppletError.qml b/plasma/desktop/qmlpackages/desktop/contents/applet/AppletError.qml
similarity index 100%
rename from plasma/qmlpackages/desktop/contents/applet/AppletError.qml
rename to plasma/desktop/qmlpackages/desktop/contents/applet/AppletError.qml
diff --git a/plasma/qmlpackages/desktop/contents/applet/CompactApplet.qml b/plasma/desktop/qmlpackages/desktop/contents/applet/CompactApplet.qml
similarity index 100%
rename from plasma/qmlpackages/desktop/contents/applet/CompactApplet.qml
rename to plasma/desktop/qmlpackages/desktop/contents/applet/CompactApplet.qml
diff --git a/plasma/qmlpackages/desktop/contents/applet/DefaultCompactRepresentation.qml b/plasma/desktop/qmlpackages/desktop/contents/applet/DefaultCompactRepresentation.qml
similarity index 100%
rename from plasma/qmlpackages/desktop/contents/applet/DefaultCompactRepresentation.qml
rename to plasma/desktop/qmlpackages/desktop/contents/applet/DefaultCompactRepresentation.qml
diff --git a/plasma/qmlpackages/desktop/contents/configuration/AppletConfiguration.qml b/plasma/desktop/qmlpackages/desktop/contents/configuration/AppletConfiguration.qml
similarity index 100%
rename from plasma/qmlpackages/desktop/contents/configuration/AppletConfiguration.qml
rename to plasma/desktop/qmlpackages/desktop/contents/configuration/AppletConfiguration.qml
diff --git a/plasma/qmlpackages/desktop/contents/configuration/ConfigCategoryDelegate.qml b/plasma/desktop/qmlpackages/desktop/contents/configuration/ConfigCategoryDelegate.qml
similarity index 100%
rename from plasma/qmlpackages/desktop/contents/configuration/ConfigCategoryDelegate.qml
rename to plasma/desktop/qmlpackages/desktop/contents/configuration/ConfigCategoryDelegate.qml
diff --git a/plasma/qmlpackages/desktop/contents/configuration/ConfigurationContainmentActions.qml b/plasma/desktop/qmlpackages/desktop/contents/configuration/ConfigurationContainmentActions.qml
similarity index 100%
rename from plasma/qmlpackages/desktop/contents/configuration/ConfigurationContainmentActions.qml
rename to plasma/desktop/qmlpackages/desktop/contents/configuration/ConfigurationContainmentActions.qml
diff --git a/plasma/qmlpackages/desktop/contents/configuration/ConfigurationContainmentAppearance.qml b/plasma/desktop/qmlpackages/desktop/contents/configuration/ConfigurationContainmentAppearance.qml
similarity index 100%
rename from plasma/qmlpackages/desktop/contents/configuration/ConfigurationContainmentAppearance.qml
rename to plasma/desktop/qmlpackages/desktop/contents/configuration/ConfigurationContainmentAppearance.qml
diff --git a/plasma/qmlpackages/desktop/contents/configuration/ConfigurationShortcuts.qml b/plasma/desktop/qmlpackages/desktop/contents/configuration/ConfigurationShortcuts.qml
similarity index 100%
rename from plasma/qmlpackages/desktop/contents/configuration/ConfigurationShortcuts.qml
rename to plasma/desktop/qmlpackages/desktop/contents/configuration/ConfigurationShortcuts.qml
diff --git a/plasma/qmlpackages/desktop/contents/configuration/ContainmentConfiguration.qml b/plasma/desktop/qmlpackages/desktop/contents/configuration/ContainmentConfiguration.qml
similarity index 100%
rename from plasma/qmlpackages/desktop/contents/configuration/ContainmentConfiguration.qml
rename to plasma/desktop/qmlpackages/desktop/contents/configuration/ContainmentConfiguration.qml
diff --git a/plasma/qmlpackages/desktop/contents/configuration/MouseEventInputButton.qml b/plasma/desktop/qmlpackages/desktop/contents/configuration/MouseEventInputButton.qml
similarity index 100%
rename from plasma/qmlpackages/desktop/contents/configuration/MouseEventInputButton.qml
rename to plasma/desktop/qmlpackages/desktop/contents/configuration/MouseEventInputButton.qml
diff --git a/plasma/qmlpackages/desktop/contents/configuration/PanelConfiguration.qml b/plasma/desktop/qmlpackages/desktop/contents/configuration/PanelConfiguration.qml
similarity index 100%
rename from plasma/qmlpackages/desktop/contents/configuration/PanelConfiguration.qml
rename to plasma/desktop/qmlpackages/desktop/contents/configuration/PanelConfiguration.qml
diff --git a/plasma/qmlpackages/desktop/contents/configuration/panelconfiguration/EdgeHandle.qml b/plasma/desktop/qmlpackages/desktop/contents/configuration/panelconfiguration/EdgeHandle.qml
similarity index 100%
rename from plasma/qmlpackages/desktop/contents/configuration/panelconfiguration/EdgeHandle.qml
rename to plasma/desktop/qmlpackages/desktop/contents/configuration/panelconfiguration/EdgeHandle.qml
diff --git a/plasma/qmlpackages/desktop/contents/configuration/panelconfiguration/Ruler.qml b/plasma/desktop/qmlpackages/desktop/contents/configuration/panelconfiguration/Ruler.qml
similarity index 100%
rename from plasma/qmlpackages/desktop/contents/configuration/panelconfiguration/Ruler.qml
rename to plasma/desktop/qmlpackages/desktop/contents/configuration/panelconfiguration/Ruler.qml
diff --git a/plasma/qmlpackages/desktop/contents/configuration/panelconfiguration/SizeHandle.qml b/plasma/desktop/qmlpackages/desktop/contents/configuration/panelconfiguration/SizeHandle.qml
similarity index 100%
rename from plasma/qmlpackages/desktop/contents/configuration/panelconfiguration/SizeHandle.qml
rename to plasma/desktop/qmlpackages/desktop/contents/configuration/panelconfiguration/SizeHandle.qml
diff --git a/plasma/qmlpackages/desktop/contents/configuration/panelconfiguration/SliderHandle.qml b/plasma/desktop/qmlpackages/desktop/contents/configuration/panelconfiguration/SliderHandle.qml
similarity index 100%
rename from plasma/qmlpackages/desktop/contents/configuration/panelconfiguration/SliderHandle.qml
rename to plasma/desktop/qmlpackages/desktop/contents/configuration/panelconfiguration/SliderHandle.qml
diff --git a/plasma/qmlpackages/desktop/contents/configuration/panelconfiguration/ToolBar.qml b/plasma/desktop/qmlpackages/desktop/contents/configuration/panelconfiguration/ToolBar.qml
similarity index 100%
rename from plasma/qmlpackages/desktop/contents/configuration/panelconfiguration/ToolBar.qml
rename to plasma/desktop/qmlpackages/desktop/contents/configuration/panelconfiguration/ToolBar.qml
diff --git a/plasma/qmlpackages/desktop/contents/defaults b/plasma/desktop/qmlpackages/desktop/contents/defaults
similarity index 100%
rename from plasma/qmlpackages/desktop/contents/defaults
rename to plasma/desktop/qmlpackages/desktop/contents/defaults
diff --git a/plasma/qmlpackages/desktop/contents/explorer/AppletDelegate.qml b/plasma/desktop/qmlpackages/desktop/contents/explorer/AppletDelegate.qml
similarity index 100%
rename from plasma/qmlpackages/desktop/contents/explorer/AppletDelegate.qml
rename to plasma/desktop/qmlpackages/desktop/contents/explorer/AppletDelegate.qml
diff --git a/plasma/qmlpackages/desktop/contents/explorer/Tooltip.qml b/plasma/desktop/qmlpackages/desktop/contents/explorer/Tooltip.qml
similarity index 100%
rename from plasma/qmlpackages/desktop/contents/explorer/Tooltip.qml
rename to plasma/desktop/qmlpackages/desktop/contents/explorer/Tooltip.qml
diff --git a/plasma/qmlpackages/desktop/contents/explorer/WidgetExplorer.qml b/plasma/desktop/qmlpackages/desktop/contents/explorer/WidgetExplorer.qml
similarity index 100%
rename from plasma/qmlpackages/desktop/contents/explorer/WidgetExplorer.qml
rename to plasma/desktop/qmlpackages/desktop/contents/explorer/WidgetExplorer.qml
diff --git a/plasma/qmlpackages/desktop/contents/layout.js b/plasma/desktop/qmlpackages/desktop/contents/layout.js
similarity index 100%
rename from plasma/qmlpackages/desktop/contents/layout.js
rename to plasma/desktop/qmlpackages/desktop/contents/layout.js
diff --git a/plasma/qmlpackages/desktop/contents/loader.qml b/plasma/desktop/qmlpackages/desktop/contents/loader.qml
similarity index 100%
rename from plasma/qmlpackages/desktop/contents/loader.qml
rename to plasma/desktop/qmlpackages/desktop/contents/loader.qml
diff --git a/plasma/qmlpackages/desktop/contents/views/Desktop.qml b/plasma/desktop/qmlpackages/desktop/contents/views/Desktop.qml
similarity index 100%
rename from plasma/qmlpackages/desktop/contents/views/Desktop.qml
rename to plasma/desktop/qmlpackages/desktop/contents/views/Desktop.qml
diff --git a/plasma/qmlpackages/desktop/contents/views/Panel.qml b/plasma/desktop/qmlpackages/desktop/contents/views/Panel.qml
similarity index 100%
rename from plasma/qmlpackages/desktop/contents/views/Panel.qml
rename to plasma/desktop/qmlpackages/desktop/contents/views/Panel.qml
diff --git a/plasma/qmlpackages/desktop/metadata.desktop b/plasma/desktop/qmlpackages/desktop/metadata.desktop
similarity index 100%
rename from plasma/qmlpackages/desktop/metadata.desktop
rename to plasma/desktop/qmlpackages/desktop/metadata.desktop
diff --git a/plasma/qmlpackages/lookandfeel/Messages.sh b/plasma/desktop/qmlpackages/lookandfeel/Messages.sh
similarity index 100%
rename from plasma/qmlpackages/lookandfeel/Messages.sh
rename to plasma/desktop/qmlpackages/lookandfeel/Messages.sh
diff --git a/plasma/qmlpackages/lookandfeel/contents/defaults b/plasma/desktop/qmlpackages/lookandfeel/contents/defaults
similarity index 100%
rename from plasma/qmlpackages/lookandfeel/contents/defaults
rename to plasma/desktop/qmlpackages/lookandfeel/contents/defaults
diff --git a/plasma/qmlpackages/lookandfeel/contents/desktopswitcher/DesktopSwitcher.qml b/plasma/desktop/qmlpackages/lookandfeel/contents/desktopswitcher/DesktopSwitcher.qml
similarity index 100%
rename from plasma/qmlpackages/lookandfeel/contents/desktopswitcher/DesktopSwitcher.qml
rename to plasma/desktop/qmlpackages/lookandfeel/contents/desktopswitcher/DesktopSwitcher.qml
diff --git a/plasma/qmlpackages/lookandfeel/contents/lockscreen/LockScreen.qml b/plasma/desktop/qmlpackages/lookandfeel/contents/lockscreen/LockScreen.qml
similarity index 100%
rename from plasma/qmlpackages/lookandfeel/contents/lockscreen/LockScreen.qml
rename to plasma/desktop/qmlpackages/lookandfeel/contents/lockscreen/LockScreen.qml
diff --git a/plasma/qmlpackages/lookandfeel/contents/loginmanager/LoginManager.qml b/plasma/desktop/qmlpackages/lookandfeel/contents/loginmanager/LoginManager.qml
similarity index 100%
rename from plasma/qmlpackages/lookandfeel/contents/loginmanager/LoginManager.qml
rename to plasma/desktop/qmlpackages/lookandfeel/contents/loginmanager/LoginManager.qml
diff --git a/plasma/qmlpackages/lookandfeel/contents/logout/Logout.qml b/plasma/desktop/qmlpackages/lookandfeel/contents/logout/Logout.qml
similarity index 100%
rename from plasma/qmlpackages/lookandfeel/contents/logout/Logout.qml
rename to plasma/desktop/qmlpackages/lookandfeel/contents/logout/Logout.qml
diff --git a/plasma/qmlpackages/lookandfeel/contents/previews/desktopswitcher.png b/plasma/desktop/qmlpackages/lookandfeel/contents/previews/desktopswitcher.png
similarity index 100%
rename from plasma/qmlpackages/lookandfeel/contents/previews/desktopswitcher.png
rename to plasma/desktop/qmlpackages/lookandfeel/contents/previews/desktopswitcher.png
diff --git a/plasma/qmlpackages/lookandfeel/contents/previews/lockscreen.png b/plasma/desktop/qmlpackages/lookandfeel/contents/previews/lockscreen.png
similarity index 100%
rename from plasma/qmlpackages/lookandfeel/contents/previews/lockscreen.png
rename to plasma/desktop/qmlpackages/lookandfeel/contents/previews/lockscreen.png
diff --git a/plasma/qmlpackages/lookandfeel/contents/previews/loginmanager.png b/plasma/desktop/qmlpackages/lookandfeel/contents/previews/loginmanager.png
similarity index 100%
rename from plasma/qmlpackages/lookandfeel/contents/previews/loginmanager.png
rename to plasma/desktop/qmlpackages/lookandfeel/contents/previews/loginmanager.png
diff --git a/plasma/qmlpackages/lookandfeel/contents/previews/runcommand.png b/plasma/desktop/qmlpackages/lookandfeel/contents/previews/runcommand.png
similarity index 100%
rename from plasma/qmlpackages/lookandfeel/contents/previews/runcommand.png
rename to plasma/desktop/qmlpackages/lookandfeel/contents/previews/runcommand.png
diff --git a/plasma/qmlpackages/lookandfeel/contents/previews/splash.png b/plasma/desktop/qmlpackages/lookandfeel/contents/previews/splash.png
similarity index 100%
rename from plasma/qmlpackages/lookandfeel/contents/previews/splash.png
rename to plasma/desktop/qmlpackages/lookandfeel/contents/previews/splash.png
diff --git a/plasma/qmlpackages/lookandfeel/contents/previews/userswitcher.png b/plasma/desktop/qmlpackages/lookandfeel/contents/previews/userswitcher.png
similarity index 100%
rename from plasma/qmlpackages/lookandfeel/contents/previews/userswitcher.png
rename to plasma/desktop/qmlpackages/lookandfeel/contents/previews/userswitcher.png
diff --git a/plasma/qmlpackages/lookandfeel/contents/previews/windowdecoration.png b/plasma/desktop/qmlpackages/lookandfeel/contents/previews/windowdecoration.png
similarity index 100%
rename from plasma/qmlpackages/lookandfeel/contents/previews/windowdecoration.png
rename to plasma/desktop/qmlpackages/lookandfeel/contents/previews/windowdecoration.png
diff --git a/plasma/qmlpackages/lookandfeel/contents/previews/windowswitcher.png b/plasma/desktop/qmlpackages/lookandfeel/contents/previews/windowswitcher.png
similarity index 100%
rename from plasma/qmlpackages/lookandfeel/contents/previews/windowswitcher.png
rename to plasma/desktop/qmlpackages/lookandfeel/contents/previews/windowswitcher.png
diff --git a/plasma/qmlpackages/lookandfeel/contents/runcommand/RunCommand.qml b/plasma/desktop/qmlpackages/lookandfeel/contents/runcommand/RunCommand.qml
similarity index 100%
rename from plasma/qmlpackages/lookandfeel/contents/runcommand/RunCommand.qml
rename to plasma/desktop/qmlpackages/lookandfeel/contents/runcommand/RunCommand.qml
diff --git a/plasma/qmlpackages/lookandfeel/contents/splash/Splash.qml b/plasma/desktop/qmlpackages/lookandfeel/contents/splash/Splash.qml
similarity index 100%
rename from plasma/qmlpackages/lookandfeel/contents/splash/Splash.qml
rename to plasma/desktop/qmlpackages/lookandfeel/contents/splash/Splash.qml
diff --git a/plasma/qmlpackages/lookandfeel/contents/userswitcher/UserSwitcher.qml b/plasma/desktop/qmlpackages/lookandfeel/contents/userswitcher/UserSwitcher.qml
similarity index 100%
rename from plasma/qmlpackages/lookandfeel/contents/userswitcher/UserSwitcher.qml
rename to plasma/desktop/qmlpackages/lookandfeel/contents/userswitcher/UserSwitcher.qml
diff --git a/plasma/qmlpackages/lookandfeel/contents/windowdecoration/WindowDecoration.qml b/plasma/desktop/qmlpackages/lookandfeel/contents/windowdecoration/WindowDecoration.qml
similarity index 100%
rename from plasma/qmlpackages/lookandfeel/contents/windowdecoration/WindowDecoration.qml
rename to plasma/desktop/qmlpackages/lookandfeel/contents/windowdecoration/WindowDecoration.qml
diff --git a/plasma/qmlpackages/lookandfeel/contents/windowswitcher/WindowSwitcher.qml b/plasma/desktop/qmlpackages/lookandfeel/contents/windowswitcher/WindowSwitcher.qml
similarity index 100%
rename from plasma/qmlpackages/lookandfeel/contents/windowswitcher/WindowSwitcher.qml
rename to plasma/desktop/qmlpackages/lookandfeel/contents/windowswitcher/WindowSwitcher.qml
diff --git a/plasma/qmlpackages/lookandfeel/metadata.desktop b/plasma/desktop/qmlpackages/lookandfeel/metadata.desktop
similarity index 100%
rename from plasma/qmlpackages/lookandfeel/metadata.desktop
rename to plasma/desktop/qmlpackages/lookandfeel/metadata.desktop
diff --git a/plasma/HACKING b/plasma/generic/HACKING
similarity index 100%
rename from plasma/HACKING
rename to plasma/generic/HACKING
diff --git a/plasma/Mainpage.dox b/plasma/generic/Mainpage.dox
similarity index 100%
rename from plasma/Mainpage.dox
rename to plasma/generic/Mainpage.dox
diff --git a/plasma/screensaver/CMakeLists.txt b/plasma/screensaver/CMakeLists.txt
deleted file mode 100644
index c110a4b..0000000
--- a/plasma/screensaver/CMakeLists.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-add_subdirectory(containments)
-if(NOT WIN32)
-add_subdirectory(shell)
-endif()
-
-
diff --git a/plasma/screensaver/containments/CMakeLists.txt b/plasma/screensaver/containments/CMakeLists.txt
deleted file mode 100644
index 48879e9..0000000
--- a/plasma/screensaver/containments/CMakeLists.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-add_subdirectory(screensaver)
-
diff --git a/plasma/screensaver/containments/screensaver/CMakeLists.txt b/plasma/screensaver/containments/screensaver/CMakeLists.txt
deleted file mode 100644
index 195d750..0000000
--- a/plasma/screensaver/containments/screensaver/CMakeLists.txt
+++ /dev/null
@@ -1,10 +0,0 @@
-set(desktop_SRCS
- desktop.cpp
- ../../../desktop/toolboxes/internaltoolbox.cpp)
-
-add_library(plasma_containment_saverdesktop MODULE ${desktop_SRCS})
-target_link_libraries(plasma_containment_saverdesktop ${KDE4_KDEUI_LIBS} KF5::Plasma)
-
-install(TARGETS plasma_containment_saverdesktop DESTINATION ${PLUGIN_INSTALL_DIR})
-install(FILES plasma-containment-saverdesktop.desktop DESTINATION ${SERVICES_INSTALL_DIR})
-
diff --git a/plasma/screensaver/containments/screensaver/Messages.sh b/plasma/screensaver/containments/screensaver/Messages.sh
deleted file mode 100755
index 5bd4d89..0000000
--- a/plasma/screensaver/containments/screensaver/Messages.sh
+++ /dev/null
@@ -1,2 +0,0 @@
-#! /usr/bin/env bash
-$XGETTEXT *.cpp -o $podir/plasma_applet_saverdesktop.pot
diff --git a/plasma/screensaver/containments/screensaver/desktop.cpp b/plasma/screensaver/containments/screensaver/desktop.cpp
deleted file mode 100644
index 158ea41..0000000
--- a/plasma/screensaver/containments/screensaver/desktop.cpp
+++ /dev/null
@@ -1,116 +0,0 @@
-/*
-* Copyright 2007 by Aaron Seigo <aseigo at kde.org>
-* Copyright 2008 by Chani Armitage <chanika at gmail.com>
-*
-* This program is free software; you can redistribute it and/or modify
-* it under the terms of the GNU Library General Public License version 2,
-* or (at your option) any later version.
-*
-* This program is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details
-*
-* You should have received a copy of the GNU Library General Public
-* License along with this program; if not, write to the
-* Free Software Foundation, Inc.,
-* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-*/
-
-#include "desktop.h"
-
-#include <QAction>
-
-#include <QDebug>
-
-#include <Plasma/Corona>
-#include <Plasma/Theme>
-
-//#define DEBUG_CONSOLE
-#ifdef DEBUG_CONSOLE
-#include <QGraphicsLinearLayout>
-#include <Plasma/Frame>
-#include <Plasma/TextBrowser>
-#endif
-
-#include <../../../desktop/toolboxes/internaltoolbox.h>
-
-using namespace Plasma;
-
-SaverDesktop::SaverDesktop(QObject *parent, const QVariantList &args)
- : Containment(parent, args),
- m_lockDesktopAction(0),
- m_appletBrowserAction(0)
-{
- setContainmentType(CustomContainment);
- connect(this, SIGNAL(appletAdded(Plasma::Applet*,QPointF)), SLOT(newApplet(Plasma::Applet*,QPointF)));
- setHasConfigurationInterface(true);
-}
-
-SaverDesktop::~SaverDesktop()
-{
-}
-
-void SaverDesktop::init()
-{
- Containment::init();
-
- // trigger the creation of the toolbox. ugly! :) but nicer than having our own toolbox plugin
- // just for the screensaver?
- QAction *dummy = new QAction(this);
- addToolBoxAction(dummy);
- removeToolBoxAction(dummy);
- delete dummy;
-
- Plasma::AbstractToolBox *tools = toolBox();
- InternalToolBox *internal = dynamic_cast<InternalToolBox *>(tools);
-
-#ifdef DEBUG_CONSOLE
- Plasma::Frame *f = new Plasma::Frame(this);
- f->setGeometry(QRectF(100, 100, 500, 500));
- QGraphicsLinearLayout *l = new QGraphicsLinearLayout(f);
- l->addItem(msgs);
- Plasma::TextBrowser *msgs new Plasma::TextBrowser(this);
- msgs->setText(QString("got %1 with %2 actions").arg((int)internal).arg(tools ?
- tools->metaObject()->className() : "NADA"));
-#endif
-
- if (internal) {
- // remove all the actions pre-made for us here
- foreach (QAction *action, internal->actions()) {
- internal->removeTool(action);
- }
- }
-
- // add our own actions. huzzah.
- QAction *leave = corona()->action("unlock desktop");
- if (leave) {
- addToolBoxAction(leave);
- }
-
- QAction *lock = corona()->action("unlock widgets");
- if (lock) {
- addToolBoxAction(lock);
- }
-
- QAction *a = action("configure");
- if (a) {
- a->setText(i18n("Settings"));
- addToolBoxAction(a);
- }
-
- a = action("add widgets");
- if (a) {
- addToolBoxAction(a);
- }
-}
-
-void SaverDesktop::newApplet(Plasma::Applet *applet, const QPointF &pos)
-{
- Q_UNUSED(pos);
- applet->installSceneEventFilter(this);
-}
-
-K_EXPORT_PLASMA_APPLET(saverdesktop, SaverDesktop)
-
-#include "desktop.moc"
diff --git a/plasma/screensaver/containments/screensaver/desktop.h b/plasma/screensaver/containments/screensaver/desktop.h
deleted file mode 100644
index e8c3a7c..0000000
--- a/plasma/screensaver/containments/screensaver/desktop.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
-* Copyright 2007 by Aaron Seigo <aseigo at kde.org>
-* Copyright 2008 by Chani Armitage <chanika at gmail.com>
-*
-* This program is free software; you can redistribute it and/or modify
-* it under the terms of the GNU Library General Public License version 2,
-* or (at your option) any later version.
-*
-* This program is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details
-*
-* You should have received a copy of the GNU Library General Public
-* License along with this program; if not, write to the
-* Free Software Foundation, Inc.,
-* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-*/
-
-#ifndef PLASMA_SAVERDESKTOP_H
-#define PLASMA_SAVERDESKTOP_H
-
-#include <QList>
-#include <QObject>
-
-#include <plasma/containment.h>
-
-class QAction;
-
-/**
- * SaverDesktop
- *
- * This is a minimal containment for plasma-overlay.
- */
-
-class SaverDesktop : public Plasma::Containment
-{
- Q_OBJECT
-
-public:
- SaverDesktop(QObject *parent, const QVariantList &args);
- ~SaverDesktop();
- void init();
-
-private Q_SLOTS:
- void newApplet(Plasma::Applet *applet, const QPointF &pos);
-
-private:
- QAction *m_lockDesktopAction;
- QAction *m_appletBrowserAction;
-};
-
-#endif
diff --git a/plasma/screensaver/containments/screensaver/plasma-containment-saverdesktop.desktop b/plasma/screensaver/containments/screensaver/plasma-containment-saverdesktop.desktop
deleted file mode 100644
index b84c622..0000000
--- a/plasma/screensaver/containments/screensaver/plasma-containment-saverdesktop.desktop
+++ /dev/null
@@ -1,96 +0,0 @@
-[Desktop Entry]
-Name=SaverDesktop
-Name[ar]=حافظ سطح المكتب
-Name[ast]=Curiapantalles
-Name[be at latin]=SaverDesktop
-Name[bn]=SaverDesktop
-Name[bn_IN]=SaverDesktop
-Name[bs]=čuvar na površi
-Name[ca]=SaverDesktop
-Name[ca at valencia]=SaverDesktop
-Name[cs]=Spořič plochy
-Name[csb]=SaverDesktop
-Name[da]=SaverDesktop
-Name[de]=SaverDesktop
-Name[el]=Προφύλαξη επιφάνειας εργασίας
-Name[en_GB]=SaverDesktop
-Name[eo]=SaverDesktop
-Name[es]=Salvapantallas
-Name[et]=Ekraanisäästja-töölaud
-Name[eu]=SaverDesktop
-Name[fi]=Säästäjätyöpöytä
-Name[fr]=Économiseur d'écran
-Name[fy]=SaverDesktop
-Name[ga]=SaverDesktop
-Name[gl]=SaverDesktop
-Name[gu]=સર્વરડેસ્કટોપ
-Name[he]=SaverDesktop
-Name[hi]=सेवरडेस्कटॉप
-Name[hne]=सेवर-डेस्कटाप
-Name[hr]=Spremač radne površine
-Name[hu]=Tárolóasztal
-Name[ia]=SaverDesktop
-Name[id]=Penyimpan Desktop
-Name[is]=Skjáborð
-Name[it]=Salvadesktop
-Name[ja]=セーバーデスクトップ
-Name[kk]=Үстел сақтағышы
-Name[km]=SaverDesktop
-Name[kn]=ಉಳಿಕೆಗಾರ ಗಣಕತೆರೆ
-Name[ko]=SaverDesktop
-Name[ku]=SermasêDîmenderParêzê
-Name[lt]=SaverDesktop
-Name[lv]=SaudzētājaDarbvirsma
-Name[mai]=SaverDesktop
-Name[ml]=സേവര്പണിയിടം
-Name[mr]=SaverDesktop
-Name[nb]=SparerSkrivebord
-Name[nds]=SekerSchriefdisch
-Name[nl]=SaverDesktop
-Name[nn]=SaverDesktop
-Name[or]=ସର୍ଭର ଡ଼େସ୍କଟପ
-Name[pa]=ਸੇਵਰਡੈਸਕਟਾਪ
-Name[pl]=Wygaszacz na pulpicie
-Name[pt]=Ecrã de Protecção
-Name[pt_BR]=Proteção da área de trabalho
-Name[ro]=SaverDesktop
-Name[ru]=Рабочий стол в качестве хранителя экрана
-Name[si]=SaverDesktop
-Name[sk]=Šetrič plochy
-Name[sl]=OhranjevalnikNamizje
-Name[sr]=чувар на површи
-Name[sr at ijekavian]=чувар на површи
-Name[sr at ijekavianlatin]=čuvar na površi
-Name[sr at latin]=čuvar na površi
-Name[sv]=Skrivbordsunderlägg
-Name[ta]=பணிமேசை காப்பு
-Name[te]=సేవికడెస్క్ టాప్
-Name[tg]=Мизи корӣ, монанди пардаи экран
-Name[th]=รักษาจอภาพ
-Name[tr]=Ekran Koruyucu Masaüstü
-Name[ug]=ئېكران قوغداش ئۈستەلئۈستى
-Name[uk]=Зберігач стільниці
-Name[wa]=SaverDesktop
-Name[x-test]=xxSaverDesktopxx
-Name[zh_CN]=屏幕保护桌面
-Name[zh_TW]=保護程式桌面
-Icon=Plasma
-Type=Service
-X-KDE-ServiceTypes=Plasma/Applet,Plasma/Containment
-X-Plasma-ContainmentCategories=screensaver
-NoDisplay=true
-
-X-KDE-Library=plasma_containment_saverdesktop
-X-KDE-PluginInfo-Author=The Plasma Team
-X-KDE-PluginInfo-Email=plasma-devel at kde.org
-X-KDE-PluginInfo-Name=saverdesktop
-X-KDE-PluginInfo-Version=1.0
-X-KDE-PluginInfo-Website=http://plasma.kde.org/
-X-KDE-PluginInfo-Category=Containments
-X-KDE-PluginInfo-Depends=
-X-KDE-PluginInfo-License=GPL
-X-KDE-PluginInfo-EnabledByDefault=true
-
-X-Plasma-Requires-FileDialog=Unused
-X-Plasma-Requires-LaunchApp=Unused
-
diff --git a/plasma/screensaver/shell/BackgroundDialog.ui b/plasma/screensaver/shell/BackgroundDialog.ui
deleted file mode 100644
index c6b0aa7..0000000
--- a/plasma/screensaver/shell/BackgroundDialog.ui
+++ /dev/null
@@ -1,108 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>BackgroundDialog</class>
- <widget class="QWidget" name="BackgroundDialog">
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>572</width>
- <height>600</height>
- </rect>
- </property>
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>600</height>
- </size>
- </property>
- <property name="baseSize">
- <size>
- <width>200</width>
- <height>700</height>
- </size>
- </property>
- <layout class="QGridLayout" name="gridLayout_2">
- <item row="0" column="0">
- <layout class="QGridLayout" name="gridLayout">
- <item row="1" column="0">
- <spacer name="horizontalSpacer">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>QSizePolicy::Fixed</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>13</width>
- <height>17</height>
- </size>
- </property>
- </spacer>
- </item>
- <item row="0" column="0" colspan="2">
- <widget class="QLabel" name="m_wallpaperLabel">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="font">
- <font>
- <weight>75</weight>
- <bold>true</bold>
- </font>
- </property>
- <property name="text">
- <string>Wallpaper</string>
- </property>
- </widget>
- </item>
- <item row="1" column="1">
- <widget class="QLabel" name="m_wallpaperTypeLabel">
- <property name="text">
- <string>Type:</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- <property name="buddy">
- <cstring>m_wallpaperMode</cstring>
- </property>
- </widget>
- </item>
- <item row="1" column="2">
- <widget class="QComboBox" name="m_wallpaperMode">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
- <horstretch>1</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>150</width>
- <height>0</height>
- </size>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item row="1" column="0">
- <widget class="QWidget" name="m_wallpaperConfig" native="true">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- </widget>
- </item>
- </layout>
- </widget>
- <resources/>
- <connections/>
-</ui>
diff --git a/plasma/screensaver/shell/CMakeLists.txt b/plasma/screensaver/shell/CMakeLists.txt
deleted file mode 100644
index ab3c777..0000000
--- a/plasma/screensaver/shell/CMakeLists.txt
+++ /dev/null
@@ -1,39 +0,0 @@
-include_directories(
- ${KDEBASE_WORKSPACE_SOURCE_DIR}/libs
- ${KDEBASE_WORKSPACE_SOURCE_DIR}/libs/kdm
- ${KDEBASE_WORKSPACE_SOURCE_DIR}/libs/plasmagenericshell
- ${KDEBASE_WORKSPACE_SOURCE_DIR}/ksmserver/screenlocker/greeter/
- ${CMAKE_BINARY_DIR}/ksmserver/screenlocker/greeter/
- ${KDEBASE_WORKSPACE_SOURCE_DIR}/libs/kworkspace
- ${KDEBASE_WORKSPACE_SOURCE_DIR}/kcheckpass
-)
-
-set(plasma-overlay_SRCS
- backgrounddialog.cpp
- main.cpp
- plasmaapp.cpp
- savercorona.cpp
- saverview.cpp
- ${KDEBASE_WORKSPACE_SOURCE_DIR}/ksmserver/screenlocker/greeter/greeter.cpp
- ${KDEBASE_WORKSPACE_SOURCE_DIR}/ksmserver/screenlocker/greeter/sessions.cpp
-)
-
-kde4_add_ui_files(plasma-overlay_SRCS BackgroundDialog.ui)
-
-kconfig_add_kcfg_files(plasma-overlay_SRCS ${KDEBASE_WORKSPACE_SOURCE_DIR}/ksmserver/screenlocker/kcfg/kscreensaversettings.kcfgc)
-
-set(plasmaapp_dbusXML org.kde.plasma-overlay.App.xml)
-#qt5_generate_dbus_interface(plasmaapp.h ${plasmaapp_dbusXML} OPTIONS -S -M)
-qt5_add_dbus_adaptor(plasma-overlay_SRCS ${plasmaapp_dbusXML} plasmaapp.h PlasmaApp)
-
-add_executable(plasma-overlay ${plasma-overlay_SRCS})
-
-target_link_libraries(plasma-overlay KF5::Plasma kworkspace KIOCore KF5::KIOFileWidgets
- ${X11_X11_LIB} plasmagenericshell Qt5::Declarative kdeclarative)
-if(X11_Xrender_FOUND)
- target_link_libraries(plasma-overlay ${X11_Xrender_LIB})
-endif()
-set_target_properties(plasma-overlay PROPERTIES OUTPUT_NAME plasma-overlay)
-
-install(TARGETS plasma-overlay ${INSTALL_TARGETS_DEFAULT_ARGS})
-install(FILES plasma-overlayrc DESTINATION ${CONFIG_INSTALL_DIR})
diff --git a/plasma/screensaver/shell/Messages.sh b/plasma/screensaver/shell/Messages.sh
deleted file mode 100755
index b79d051..0000000
--- a/plasma/screensaver/shell/Messages.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-#! /usr/bin/env bash
-$EXTRACTRC *.ui >> rc.cpp
-$XGETTEXT *.cpp -o $podir/plasma-overlay.pot
-rm -f rc.cpp
-
diff --git a/plasma/screensaver/shell/backgrounddialog.cpp b/plasma/screensaver/shell/backgrounddialog.cpp
deleted file mode 100644
index abc8584..0000000
--- a/plasma/screensaver/shell/backgrounddialog.cpp
+++ /dev/null
@@ -1,211 +0,0 @@
-/*
- Copyright (c) 2007 Paolo Capriotti <p.capriotti at gmail.com>
- Copyright (C) 2007 Ivan Cukic <ivan.cukic+kde at gmail.com>
- Copyright (c) 2008 by Petri Damsten <damu at iki.fi>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-*/
-
-#include "backgrounddialog.h"
-
-//#include <QFile>
-//#include <QAbstractItemView>
-//#include <QStandardItemModel>
-
-#include <QDebug>
-//#include <KStandardDirs>
-//#include <KDesktopFile>
-//#include <KColorScheme>
-
-#include <Plasma/Containment>
-#include <Plasma/FrameSvg>
-#include <Plasma/Wallpaper>
-#include <Plasma/View>
-//#include <Plasma/Corona>
-
-#include "plasmaapp.h"
-#include "plasmagenericshell/wallpaperpreview.h"
-
-#include "../../../libs/kworkspace/screenpreviewwidget.h"
-
-typedef QPair<QString, QString> WallpaperInfo;
-Q_DECLARE_METATYPE(WallpaperInfo)
-
-
-BackgroundDialog::BackgroundDialog(const QSize& res, Plasma::Containment *c, /*Plasma::View* view,*/ QWidget* parent)
- : KDialog(parent),
- m_wallpaper(0),
- //m_view(view),
- m_containment(c)
-{
- //setWindowIcon(KIcon("preferences-desktop-wallpaper"));
- setCaption(i18n("Background Settings"));
- setButtons(Ok | Cancel | Apply);
-
- QWidget * main = new QWidget(this);
- setupUi(main);
-
- // Size of monitor image: 200x186
- // Geometry of "display" part of monitor image: (23,14)-[151x115]
- qreal previewRatio = (qreal)res.width() / (qreal)res.height();
- QSize monitorSize(200, int(200 * previewRatio));
-
- connect(this, SIGNAL(finished(int)), this, SLOT(cleanup()));
- connect(this, SIGNAL(okClicked()), this, SLOT(saveConfig()));
- connect(this, SIGNAL(applyClicked()), this, SLOT(saveConfig()));
-
- setMainWidget(main);
- reloadConfig();
- adjustSize();
-
- if (c->view()) {
- setParent(c->view());
- setBackgroundRole(QPalette::Window);
- setAutoFillBackground(true);
- move(c->view()->width()/2 - width()/2, y());
- }
-}
-
-BackgroundDialog::~BackgroundDialog()
-{
- cleanup();
-}
-
-void BackgroundDialog::cleanup()
-{
- //FIXME could be bad if we get hidden and reshown
- delete m_wallpaper;
- m_wallpaper = 0;
-}
-
-void BackgroundDialog::reloadConfig()
-{
- // Wallpaper
- disconnect(m_wallpaperMode, SIGNAL(currentIndexChanged(int)), this, SLOT(changeBackgroundMode(int)));
- int wallpaperIndex = 0;
-
- bool doWallpaper = m_containment->drawWallpaper();
- m_wallpaperLabel->setVisible(doWallpaper);
- m_wallpaperTypeLabel->setVisible(doWallpaper);
- m_wallpaperMode->setVisible(doWallpaper);
- m_wallpaperConfig->setVisible(doWallpaper);
-
- if (doWallpaper) {
- // Load wallpaper plugins
- QString currentPlugin;
- QString currentMode;
-
- Plasma::Wallpaper *currentWallpaper = m_containment->wallpaper();
- if (currentWallpaper) {
- currentPlugin = currentWallpaper->pluginName();
- currentMode = currentWallpaper->renderingMode().name();
- }
-
- const KPluginInfo::List plugins = Plasma::Wallpaper::listWallpaperInfo();
- m_wallpaperMode->clear();
- int i = 0;
- QString placeholder = i18n("No Wallpaper");
- //m_wallpaperMode->addItem(KIcon(), i18n("No Wallpaper"),
- // QVariant::fromValue(WallpaperInfo(QString(), QString())));
- foreach (const KPluginInfo& info, plugins) {
- bool matches = info.pluginName() == currentPlugin;
- const QList<KServiceAction>& modes = info.service()->actions();
- if (modes.count() > 0) {
- foreach (const KServiceAction& mode, modes) {
- m_wallpaperMode->addItem(KIcon(mode.icon()), mode.text(),
- QVariant::fromValue(WallpaperInfo(info.pluginName(), mode.name())));
- if (matches && mode.name() == currentMode) {
- wallpaperIndex = i;
- }
- ++i;
- }
- } else {
- m_wallpaperMode->addItem(KIcon(info.icon()), info.name(),
- QVariant::fromValue(WallpaperInfo(info.pluginName(), QString())));
- if (matches) {
- wallpaperIndex = i;
- }
- ++i;
- }
- }
- m_wallpaperMode->setCurrentIndex(wallpaperIndex);
- changeBackgroundMode(wallpaperIndex);
- }
-
- connect(m_wallpaperMode, SIGNAL(currentIndexChanged(int)), this, SLOT(changeBackgroundMode(int)));
-}
-
-void BackgroundDialog::changeBackgroundMode(int mode)
-{
- qDebug();
- QWidget* w = 0;
- WallpaperInfo wallpaperInfo = m_wallpaperMode->itemData(mode).value<WallpaperInfo>();
-
- if (!m_wallpaperConfig->layout()) {
- new QVBoxLayout(m_wallpaperConfig);
- }
-
- if (m_wallpaperConfig->layout()->count() > 0) {
- delete dynamic_cast<QWidgetItem*>(m_wallpaperConfig->layout()->takeAt(0))->widget();
- }
-
- if (m_wallpaper && m_wallpaper->pluginName() != wallpaperInfo.first) {
- delete m_wallpaper;
- m_wallpaper = 0;
- }
-
- if (wallpaperInfo.first.isEmpty()) {
- return;
- }
-
- if (!m_wallpaper) {
- m_wallpaper = Plasma::Wallpaper::load(wallpaperInfo.first);
- }
-
- if (m_wallpaper) {
- m_wallpaper->setRenderingMode(wallpaperInfo.second);
- KConfigGroup cfg = wallpaperConfig(wallpaperInfo.first);
- qDebug() << "making a" << wallpaperInfo.first << "in mode" << wallpaperInfo.second;
- m_wallpaper->restore(cfg);
- w = m_wallpaper->createConfigurationInterface(m_wallpaperConfig);
- }
-
- if (!w) {
- w = new QWidget(m_wallpaperConfig);
- }
-
- m_wallpaperConfig->layout()->addWidget(w);
-}
-
-KConfigGroup BackgroundDialog::wallpaperConfig(const QString &plugin)
-{
- Q_ASSERT(m_containment);
-
- //FIXME: we have details about the structure of the containment config duplicated here!
- KConfigGroup cfg = m_containment->config();
- cfg = KConfigGroup(&cfg, "Wallpaper");
- return KConfigGroup(&cfg, plugin);
-}
-
-void BackgroundDialog::saveConfig()
-{
- // Wallpaper
- QString wallpaperPlugin = m_wallpaperMode->itemData(m_wallpaperMode->currentIndex()).value<WallpaperInfo>().first;
- QString wallpaperMode = m_wallpaperMode->itemData(m_wallpaperMode->currentIndex()).value<WallpaperInfo>().second;
-
- Plasma::Wallpaper *currentWallpaper = m_containment->wallpaper();
- if (currentWallpaper) {
- KConfigGroup cfg = wallpaperConfig(currentWallpaper->pluginName());
- currentWallpaper->save(cfg);
- }
-
- if (m_wallpaper) {
- KConfigGroup cfg = wallpaperConfig(m_wallpaper->pluginName());
- m_wallpaper->save(cfg);
- }
-
- m_containment->setWallpaper(wallpaperPlugin, wallpaperMode);
-}
diff --git a/plasma/screensaver/shell/backgrounddialog.h b/plasma/screensaver/shell/backgrounddialog.h
deleted file mode 100644
index 0fb06ce..0000000
--- a/plasma/screensaver/shell/backgrounddialog.h
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- Copyright (c) 2007 Paolo Capriotti <p.capriotti at gmail.com>
- Copyright (c) 2008 by Petri Damsten <damu at iki.fi>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-*/
-
-#ifndef BACKGROUNDDIALOG_H
-#define BACKGROUNDDIALOG_H
-
-#include <KDialog>
-#include "ui_BackgroundDialog.h"
-
-namespace Plasma {
- class Wallpaper;
- class Containment;
- class View;
-}
-
-class ScreenPreviewWidget;
-
-class BackgroundDialog : public KDialog, public Ui::BackgroundDialog
-{
- Q_OBJECT
-public:
- BackgroundDialog(const QSize &res, Plasma::Containment *containment,
- /*Plasma::View *view,*/ QWidget *parent = 0);
- ~BackgroundDialog();
-
- void reloadConfig();
-
-public Q_SLOTS:
- void saveConfig();
-
-private:
- KConfigGroup wallpaperConfig(const QString &plugin);
-
-private Q_SLOTS:
- void changeBackgroundMode(int mode);
- void cleanup();
-
-private:
- Plasma::Wallpaper* m_wallpaper;
- //Plasma::View* m_view;
- Plasma::Containment* m_containment;
- ScreenPreviewWidget* m_preview;
-};
-
-#endif // BACKGROUNDDIALOG_H
diff --git a/plasma/screensaver/shell/main.cpp b/plasma/screensaver/shell/main.cpp
deleted file mode 100644
index a70bcdf..0000000
--- a/plasma/screensaver/shell/main.cpp
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Copyright 2006-2007 Aaron Seigo <aseigo at kde.org>
- * Copyright 2008 Chani Armitage <chanika at gmail.com>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2,
- * or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include <KAboutData>
-#include <KCmdLineArgs>
-#include <KLocale>
-#include <KIcon>
-
-#include <QDateTime>
-
-#include <iostream>
-
-#include <config-workspace.h>
-#include "plasmaapp.h"
-
-static const char description[] = I18N_NOOP( "Plasma widgets over the screensaver" );
-static const char version[] = "0.0";
-
-//extern "C"
-int main(int argc, char **argv)
-{
- KAboutData aboutData("plasma-overlay",0 , ki18n("Plasma for the Screensaver"),
- version, ki18n(description), KAboutData::License_GPL,
- ki18n("Copyright 2006-2008, The KDE Team"));
- aboutData.addAuthor(ki18n("Chani Armitage"),
- ki18n("Author and maintainer"),
- "chanika at gmail.com");
- aboutData.addAuthor(ki18n("Aaron J. Seigo"),
- ki18n("Plasma Author and maintainer"),
- "aseigo at kde.org");
- aboutData.addCredit(ki18n("John Lions"),
- ki18n("In memory of his contributions, 1937-1998."),
- 0, "http://en.wikipedia.org/wiki/John_Lions");
-
- KCmdLineArgs::init(argc, argv, &aboutData);
-
- KCmdLineOptions options;
- options.add("cheats",ki18n("Enables some cheats that are useful for debugging."));
- options.add("setup",ki18n("Start unlocked for configuration."));
- KCmdLineArgs::addCmdLineOptions(options);
-
- PlasmaApp *app = PlasmaApp::self();
- QApplication::setWindowIcon(KIcon("plasma"));
- KGlobal::locale()->insertCatalog(QLatin1String( "libkworkspace" ));
- KGlobal::locale()->insertCatalog(QLatin1String( "kscreenlocker_greet" ));
- app->disableSessionManagement(); // I assume we'd never want a screensaver thing reppearing on login?
- // This allow ksmserver to know when the applicaion has actually finished setting itself up.
- // Crucial for blocking until it is ready, ensuring locking happens before sleep, e.g.
- std::cout << "Locked at " << QDateTime::currentDateTime().toTime_t() << std::endl;
- int rc = app->exec();
- delete app;
- return rc;
-}
diff --git a/plasma/screensaver/shell/org.kde.plasma-overlay.App.xml b/plasma/screensaver/shell/org.kde.plasma-overlay.App.xml
deleted file mode 100644
index 54724a8..0000000
--- a/plasma/screensaver/shell/org.kde.plasma-overlay.App.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN" "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
-<node>
- <interface name="org.kde.plasmaoverlay.App">
- <signal name="hidden">
- </signal>
- <method name="setActive">
- <arg name="activate" type="b" direction="in"/>
- </method>
- <method name="lock">
- </method>
- <method name="setup">
- <arg name="setupMode" type="b" direction="in"/>
- </method>
- <method name="quit">
- </method>
- </interface>
-</node>
diff --git a/plasma/screensaver/shell/plasma-overlayrc b/plasma/screensaver/shell/plasma-overlayrc
deleted file mode 100644
index 393e2c9..0000000
--- a/plasma/screensaver/shell/plasma-overlayrc
+++ /dev/null
@@ -1,10 +0,0 @@
-[KDE Action Restrictions][$i]
-plasma/allow_configure_when_locked=false
-
-[Constraints]
-FileDialog=false
-LaunchApp=false
-
-[General]
-ExcludeCategories=Windows and Tasks,Application Launchers
-
diff --git a/plasma/screensaver/shell/plasmaapp.cpp b/plasma/screensaver/shell/plasmaapp.cpp
deleted file mode 100644
index 9666805..0000000
--- a/plasma/screensaver/shell/plasmaapp.cpp
+++ /dev/null
@@ -1,514 +0,0 @@
-/*
- * Copyright 2006 Aaron Seigo <aseigo at kde.org>
- * Copyright 2008 Chani Armitage <chanika at gmail.com>
- *
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2,
- * or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-// plasma.loadEngine("hardware")
-// LineGraph graph
-// plasma.connect(graph, "hardware", "cpu");
-
-#include "plasmaapp.h"
-
-#include "greeter.h"
-#include "sessions.h"
-
-#include <unistd.h>
-
-#ifndef _SC_PHYS_PAGES
- #ifdef Q_OS_FREEBSD
- #include <sys/types.h>
- #include <sys/sysctl.h>
- #endif
-
- #ifdef Q_OS_NETBSD
- #include <sys/param.h>
- #include <sys/sysctl.h>
- #endif
-#endif
-
-#include <QApplication>
-#include <QDesktopWidget>
-#include <QPixmapCache>
-#include <QtDBus/QtDBus>
-#include <QtDeclarative/qdeclarative.h>
-
-//#include <KCrash>
-#include <QDebug>
-#include <KCmdLineArgs>
-#include <KWindowSystem>
-
-//#include <ksmserver_interface.h>
-
-#include <Plasma/Containment>
-#include <Plasma/Theme>
-#include <Plasma/Dialog>
-
-#include "appadaptor.h"
-#include "savercorona.h"
-#include "saverview.h"
-#include "backgrounddialog.h"
-
-
-#include <X11/Xlib.h>
-#include <X11/extensions/Xrender.h>
-#include <fixx11h.h>
-
-Atom tag; //FIXME should this be a member var or what?
-Atom tag2;
-
-const unsigned char DIALOG = 1; //FIXME this is really bad code
-const unsigned char VIEW = 2;
-
-Display* dpy = 0;
-Colormap colormap = 0;
-Visual *visual = 0;
-bool composite = false;
-
-void checkComposite()
-{
- dpy = XOpenDisplay(0); // open default display
- if (!dpy) {
- kError() << "Cannot connect to the X server" << endl;
- return;
- }
- if( qgetenv( "KDE_SKIP_ARGB_VISUALS" ) == "1" )
- return;
-
- int screen = DefaultScreen(dpy);
- int eventBase, errorBase;
-
- if (XRenderQueryExtension(dpy, &eventBase, &errorBase)) {
- int nvi;
- XVisualInfo templ;
- templ.screen = screen;
- templ.depth = 32;
- templ.c_class = TrueColor;
- XVisualInfo *xvi = XGetVisualInfo(dpy,
- VisualScreenMask | VisualDepthMask | VisualClassMask,
- &templ, &nvi);
- for (int i = 0; i < nvi; ++i) {
- XRenderPictFormat *format = XRenderFindVisualFormat(dpy, xvi[i].visual);
- if (format->type == PictTypeDirect && format->direct.alphaMask) {
- visual = xvi[i].visual;
- colormap = XCreateColormap(dpy, RootWindow(dpy, screen), visual, AllocNone);
- break;
- }
- }
- XFree(xvi);
- }
-
- composite = KWindowSystem::compositingActive() && colormap;
-
- qDebug() << (colormap ? "Plasma has an argb visual" : "Plasma lacks an argb visual") << visual << colormap;
- qDebug() << ((KWindowSystem::compositingActive() && colormap) ? "Plasma can use COMPOSITE for effects"
- : "Plasma is COMPOSITE-less") << "on" << dpy;
-}
-
-PlasmaApp* PlasmaApp::self()
-{
- if (!kapp) {
- checkComposite();
- return new PlasmaApp(dpy, visual ? Qt::HANDLE(visual) : 0, colormap ? Qt::HANDLE(colormap) : 0);
- }
-
- return qobject_cast<PlasmaApp*>(kapp);
-}
-
-PlasmaApp::PlasmaApp(Display* display, Qt::HANDLE visual, Qt::HANDLE colormap)
- : KUniqueApplication(display, visual, colormap),
- m_corona(0),
- m_configDialog(0)
-{
- const char *uri = "org.kde.kscreenlocker";
- qmlRegisterType<ScreenLocker::GreeterItem>(uri, 1, 0, "GreeterItem");
- qmlRegisterType<ScreenLocker::KeyboardItem>(uri, 1, 0, "KeyboardItem");
- qmlRegisterType<ScreenLocker::SessionSwitching>(uri, 1, 0, "Sessions");
- qmlRegisterType<QAbstractItemModel>();
- //load translations for libplasma
- KGlobal::locale()->insertCatalog("libplasma");
- KGlobal::locale()->insertCatalog("plasmagenericshell");
-
- new AppAdaptor(this);
- QDBusConnection::sessionBus().registerObject("/App", this);
-
- //FIXME this is probably totally invalid
- // Enlarge application pixmap cache
- // Calculate the size required to hold background pixmaps for all screens.
- // Add 10% so that other (smaller) pixmaps can also be cached.
- int cacheSize = 0;
- QDesktopWidget *desktop = QApplication::desktop();
- int numScreens = desktop->numScreens();
- for (int i = 0; i < numScreens; i++) {
- QRect geometry = desktop->screenGeometry(i);
- cacheSize += 4 * geometry.width() * geometry.height() / 1024;
- }
- cacheSize += cacheSize / 10;
-
- // Calculate the size of physical system memory; _SC_PHYS_PAGES *
- // _SC_PAGESIZE is documented to be able to overflow 32-bit integers,
- // so apply a 10-bit shift. FreeBSD 6-STABLE doesn't have _SC_PHYS_PAGES
- // (it is documented in FreeBSD 7-STABLE as "Solaris and Linux extension")
- // so use sysctl in those cases.
-#if defined(_SC_PHYS_PAGES)
- int memorySize = sysconf(_SC_PHYS_PAGES);
- memorySize *= sysconf(_SC_PAGESIZE) / 1024;
-#else
-#ifdef Q_OS_FREEBSD
- int sysctlbuf[2];
- size_t size = sizeof(sysctlbuf);
- int memorySize;
- // This could actually use hw.physmem instead, but I can't find
- // reliable documentation on how to read the value (which may
- // not fit in a 32 bit integer).
- if (!sysctlbyname("vm.stats.vm.v_page_size", sysctlbuf, &size, NULL, 0)) {
- memorySize = sysctlbuf[0] / 1024;
- size = sizeof(sysctlbuf);
- if (!sysctlbyname("vm.stats.vm.v_page_count", sysctlbuf, &size, NULL, 0)) {
- memorySize *= sysctlbuf[0];
- }
- }
-#endif
-#ifdef Q_OS_NETBSD
- size_t memorySize;
- size_t len;
- static int mib[] = { CTL_HW, HW_PHYSMEM };
-
- len = sizeof(memorySize);
- sysctl(mib, 2, &memorySize, &len, NULL, 0);
- memorySize /= 1024;
-#endif
- // If you have no suitable sysconf() interface and are not FreeBSD,
- // then you are out of luck and get a compile error.
-#endif
-
- // Increase the pixmap cache size to 1% of system memory if it isn't already
- // larger so as to maximize cache usage. 1% of 1GB ~= 10MB.
- if (cacheSize < memorySize / 100) {
- cacheSize = memorySize / 100;
- }
-
- qDebug() << "Setting the pixmap cache size to" << cacheSize << "kilobytes";
- QPixmapCache::setCacheLimit(cacheSize);
-
- KConfigGroup cg(KGlobal::config(), "General");
- Plasma::Theme::defaultTheme()->setFont(cg.readEntry("desktopFont", font()));
-
- if (cg.readEntry("forceNoComposite", false)) {
- composite = false;
- }
-
- //we have to keep an eye on created windows
- tag = XInternAtom(QX11Info::display(), "_KDE_SCREENSAVER_OVERRIDE", False);
- tag2 = XInternAtom(QX11Info::display(), "_KDE_SCREEN_LOCKER", False);
- qApp->installEventFilter(this);
-
- // this line initializes the corona.
- corona();
-
- connect(this, SIGNAL(aboutToQuit()), this, SLOT(cleanup()));
-
- setup(KCmdLineArgs::parsedArgs()->isSet("setup"));
-
- m_viewCreationTimer.setSingleShot(true);
- m_viewCreationTimer.setInterval(0);
- connect(&m_viewCreationTimer, SIGNAL(timeout()), this, SLOT(createWaitingViews()));
-}
-
-PlasmaApp::~PlasmaApp()
-{
-}
-
-void PlasmaApp::cleanup()
-{
- if (m_corona) {
- m_corona->saveLayout();
- }
-
- qDeleteAll(m_views);
- delete m_corona;
- m_corona = 0;
-
- KGlobal::config()->sync();
-}
-
-void PlasmaApp::createWaitingViews()
-{
- const QList<QWeakPointer<Plasma::Containment> > containments = m_viewsWaiting;
- m_viewsWaiting.clear();
- foreach(QWeakPointer<Plasma::Containment> weakContainment, containments) {
- if (weakContainment) {
- Plasma::Containment *containment = weakContainment.data();
-
- KConfigGroup viewIds(KGlobal::config(), "ViewIds");
-
- // we have a new screen. neat.
- SaverView *view = viewForScreen(containment->screen());
- if (view) {
- return;
- }
-
- view = new SaverView(containment, 0);
- if (m_corona) {
- connect(m_corona, SIGNAL(screenOwnerChanged(int,int,Plasma::Containment*)),
- view, SLOT(screenOwnerChanged(int,int,Plasma::Containment*)));
- connect(m_corona, SIGNAL(shortcutsChanged()), view, SLOT(updateShortcuts()));
- }
- view->setGeometry(QApplication::desktop()->screenGeometry(containment->screen()));
-
- //FIXME why do I get BadWindow?
- //unsigned char data = VIEW;
- //XChangeProperty(QX11Info::display(), view->effectiveWinId(), tag, tag, 8, PropModeReplace, &data, 1);
-
- connect(containment, SIGNAL(configureRequested(Plasma::Containment*)),
- this, SLOT(configureContainment(Plasma::Containment*)));
-
- //a hack to make sure the keyboard shortcut works
- view->addAction(corona()->action("unlock desktop"));
- view->addAction(corona()->action("unlock widgets"));
- m_views.append(view);
- connect(view, SIGNAL(hidden()), SLOT(lock()));
- connect(view, SIGNAL(hidden()), SIGNAL(hidden()));
- connect(this, SIGNAL(showViews()), view, SLOT(show()));
- connect(this, SIGNAL(hideViews()), view, SLOT(hide()));
- connect(this, SIGNAL(enableSetupMode()), view, SLOT(disableSetupMode()));
- connect(this, SIGNAL(disableSetupMode()), view, SLOT(disableSetupMode()));
- connect(this, SIGNAL(openToolBox()), view, SLOT(openToolBox()));
- connect(this, SIGNAL(closeToolBox()), view, SLOT(closeToolBox()));
- connect(QApplication::desktop(), SIGNAL(resized(int)), view, SLOT(adjustSize(int)));
- emit(openToolBox());
- qDebug() << "view created";
- }
- }
- //activate the new views (yes, this is a lazy way to do it)
- setActive(m_active);
-}
-
-
-void PlasmaApp::setActive(bool activate)
-{
- m_active = activate;
- //note: allow this to run even if the value isn't changed,
- //because some views may need updating.
- if (activate) {
- emit showViews();
- emit openToolBox();
- } else {
- emit hideViews();
- }
-}
-
-void PlasmaApp::syncConfig()
-{
- KGlobal::config()->sync();
-}
-
-Plasma::Corona* PlasmaApp::corona()
-{
- if (!m_corona) {
- m_corona = new SaverCorona(this);
- connect(m_corona, SIGNAL(screenOwnerChanged(int,int,Plasma::Containment*)),
- this, SLOT(containmentScreenOwnerChanged(int,int,Plasma::Containment*)));
- connect(m_corona, SIGNAL(configSynced()), SLOT(syncConfig()));
- //qDebug() << "connected to containmentAdded";
- /*
- foreach (DesktopView *view, m_desktops) {
- connect(c, SIGNAL(screenOwnerChanged(int,int,Plasma::Containment*)),
- view, SLOT(screenOwnerChanged(int,int,Plasma::Containment*)));
- }*/
-
- m_corona->setItemIndexMethod(QGraphicsScene::NoIndex);
- m_corona->initializeLayout();
-
- //we want this *after* init so that we ignore any lock/unlock spasms that might happen then
- connect(m_corona, SIGNAL(immutabilityChanged(Plasma::ImmutabilityType)), this, SLOT(immutabilityChanged(Plasma::ImmutabilityType)));
-
- //qDebug() << "layout should exist";
- //c->checkScreens();
- }
-
- return m_corona;
-}
-
-bool PlasmaApp::hasComposite()
-{
- return composite;
-}
-
-void PlasmaApp::containmentScreenOwnerChanged(int wasScreen, int isScreen, Plasma::Containment *containment)
-{
- Q_UNUSED(wasScreen);
- if (isScreen < 0)
- return;
- m_viewsWaiting.append(containment);
- m_viewCreationTimer.start();
-}
-
-void PlasmaApp::setup(bool setupMode)
-{
- qDebug() << "setup mode:" << setupMode;
-
- if (setupMode) {
- emit enableSetupMode();
- if (m_corona->immutability() == Plasma::UserImmutable) {
- m_corona->setImmutability(Plasma::Mutable);
- }
- setActive(true);
- } else {
- qDebug() << "checking lockprocess is still around";
- QDBusInterface lockprocess("org.kde.screenlocker", "/LockProcess",
- "org.kde.screenlocker.LockProcess", QDBusConnection::sessionBus(), this);
- if (lockprocess.isValid()) {
- qDebug() << "success!";
- setActive(false);
- } else {
- qDebug() << "bailing out";
- qApp->quit(); //this failed once. why?
- }
- }
-}
-
-bool PlasmaApp::eventFilter(QObject *obj, QEvent *event)
-{
- if (event->type() == QEvent::Show) {
- //apparently this means we created a new window
- //so, add a tag to prove it's our window
- //FIXME using the show event means we tag on every show, not just the first.
- //harmless but kinda wasteful.
- QWidget *widget = qobject_cast<QWidget*>(obj);
- if (widget && widget->isWindow() && !(qobject_cast<QDesktopWidget*>(widget) ||
- widget->testAttribute(Qt::WA_DontShowOnScreen))) {
- unsigned char data = 0;
- if (qobject_cast<SaverView*>(widget)) {
- data = VIEW;
- } else if (m_dialogs.contains(widget)) {
- data = DIALOG;
- } else {
- Qt::WindowFlags oldFlags = widget->windowFlags();
- Qt::WindowFlags newFlags = oldFlags |Qt::X11BypassWindowManagerHint;
- if (oldFlags != newFlags) {
- //now we're *really* fucking with things
- //we force-disable window management and frames to cut off access to wm-y stuff
- //and to make it easy to check the tag (frames are a pain)
- qDebug() << "!!!!!!!setting flags on!!!!!" << widget;
- QDesktopWidget *desktop = QApplication::desktop();
- if (qobject_cast<Plasma::Dialog*>(widget)) {
- //this is a terrible horrible hack that breaks extenders but it mostly works
- //weird thing is, it sometimes makes the calendar popup too small.
- newFlags = Qt::Popup;
- } else {
- //plasmadialogs can't handle direct input
- //but configdialogs need it
- m_dialogs.append(widget);
- connect(widget, SIGNAL(destroyed(QObject*)), SLOT(dialogDestroyed(QObject*)));
- connect(this, SIGNAL(showDialogs()), widget, SLOT(show()));
- connect(this, SIGNAL(hideDialogs()), widget, SLOT(hide()));
- }
- widget->setWindowFlags(newFlags);
- //we do not know the screen this widget should appear on
- QRect availableGeometry = desktop->availableGeometry();
- //if has weird position, move to the default screen
- if (!availableGeometry.contains(widget->pos())) {
- widget->move(availableGeometry.x(), availableGeometry.y());
- }
- widget->show(); //setting the flags hid it :(
- //qApp->setActiveWindow(widget); //gives kbd but not mouse events
- //qDebug() << "parent" << widget->parentWidget();
- //FIXME why can I only activate these dialogs from this exact line?
- widget->activateWindow(); //gives keyboard focus
- return false; //we'll be back when we get the new show event
- } else {
- widget->activateWindow(); //gives keyboard focus
- }
- }
-
- XChangeProperty(QX11Info::display(), widget->effectiveWinId(), tag, tag, 8, PropModeReplace, &data, 1);
- XChangeProperty(QX11Info::display(), widget->effectiveWinId(), tag2, tag2, 32, PropModeReplace, 0, 0);
- qDebug() << "tagged" << widget << widget->effectiveWinId() << "as" << data;
- }
- }
- return false;
-}
-
-void PlasmaApp::dialogDestroyed(QObject *obj)
-{
- m_dialogs.removeAll(qobject_cast<QWidget*>(obj));
- //if (m_dialogs.isEmpty()) {
- //FIXME multiview
- //if (m_view) {
- //this makes qactions work again
- //m_view->activateWindow();
- //}
- /*} else { failed attempt to fix kbd input after a subdialog closes
- QWidget *top = m_dialogs.last();
- top->activateWindow();
- qDebug() << top;*/
- //}
-}
-
-void PlasmaApp::configureContainment(Plasma::Containment *containment)
-{
-// SaverView *view = viewForScreen(containment->screen());
-// if (!view) {
-// return;
-// }
-
- if (m_configDialog) {
- m_configDialog->reloadConfig();
- } else {
- const QSize resolution = QApplication::desktop()->screenGeometry(containment->screen()).size();
-
- m_configDialog = new BackgroundDialog(resolution, containment);
- m_configDialog->setAttribute(Qt::WA_DeleteOnClose);
- }
-
- m_configDialog->show();
-}
-
-void PlasmaApp::lock()
-{
- qDebug() << "lock";
- if (corona() && corona()->immutability() == Plasma::Mutable) {
- corona()->setImmutability(Plasma::UserImmutable);
- }
-}
-
-void PlasmaApp::quit()
-{
- qApp->quit();
-}
-
-void PlasmaApp::immutabilityChanged(Plasma::ImmutabilityType immutability)
-{
- if (immutability == Plasma::Mutable) {
- emit showDialogs();
- } else {
- emit hideDialogs();
- emit hideWidgetExplorer();
- emit disableSetupMode();
- }
-}
-
-SaverView *PlasmaApp::viewForScreen(int screen)
-{
- foreach(SaverView *view, m_views) {
- if (view->screen() == screen)
- return view;
- }
- return 0;
-}
-
-#include "plasmaapp.moc"
diff --git a/plasma/screensaver/shell/plasmaapp.h b/plasma/screensaver/shell/plasmaapp.h
deleted file mode 100644
index fb79502..0000000
--- a/plasma/screensaver/shell/plasmaapp.h
+++ /dev/null
@@ -1,129 +0,0 @@
-/*
- * Copyright 2006, 2007 Aaron Seigo <aseigo at kde.org>
- * Copyright 2008 Chani Armitage <chanika at gmail.com>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2,
- * or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#ifndef PLASMA_APP_H
-#define PLASMA_APP_H
-
-#include <QList>
-#include <QPointer>
-#include <QTimer>
-
-#include <KUniqueApplication>
-
-#include <plasma/plasma.h>
-
-namespace Plasma
-{
- class Containment;
- class Corona;
-} // namespace Plasma
-
-class SaverView;
-class BackgroundDialog;
-
-class PlasmaApp : public KUniqueApplication
-{
- Q_OBJECT
- Q_CLASSINFO("D-Bus Interface", "org.kde.plasmaoverlay.App")
-public:
- ~PlasmaApp();
-
- static PlasmaApp* self();
- static bool hasComposite();
-
- Plasma::Corona* corona();
-
-Q_SIGNALS:
- // DBUS interface.
- //if you change stuff, remember to regenerate with:
- //qdbuscpp2xml -S -M plasmaapp.h > org.kde.plasma-overlay.App.xml
-
- //XXX can this be deleted? probably. if lockprocess really cares it can use the unmapnotify
- void hidden();
-
-public Q_SLOTS:
- // DBUS interface.
- //if you change stuff, remember to regenerate ^^^
- /**
- * tell plasma to go into active mode, ready for interaction
- */
- void setActive(bool activate);
-
- /**
- * lock widgets
- */
- void lock();
-
- //not really slots, but we want them in dbus:
-
- /**
- * get plasma all set up and ready
- * this makes sure things like visibility and locked-ness are set right
- * normally this is called only by plasmaapp itself when it finishes initialization, but it's
- * possible that it might need to be run again by lockprocess
- *
- * @param setupMode whether we're starting in setup mode
- */
- void setup(bool setupMode);
-
- /**
- * quit the application
- * this is a duplicate so we can have everything we need in one dbus interface
- */
- void quit();
-
-private Q_SLOTS:
- void cleanup();
- //void adjustSize(int screen);
- void dialogDestroyed(QObject *obj);
- void configureContainment(Plasma::Containment*);
- void syncConfig();
- void immutabilityChanged(Plasma::ImmutabilityType immutability);
- void createWaitingViews();
- void containmentScreenOwnerChanged(int, int, Plasma::Containment*);
-
-Q_SIGNALS:
- void showViews();
- void hideViews();
- void showDialogs();
- void hideDialogs();
- void hideWidgetExplorer();
- void enableSetupMode();
- void disableSetupMode();
- void openToolBox();
- void closeToolBox();
-
-protected:
- bool eventFilter(QObject *obj, QEvent *event);
-
-private:
- PlasmaApp(Display* display, Qt::HANDLE visual, Qt::HANDLE colormap);
- SaverView *viewForScreen(int screen);
-
- Plasma::Corona *m_corona;
- QList<SaverView*> m_views;
- QList<QWidget*> m_dialogs;
- QPointer<BackgroundDialog> m_configDialog;
-
- QList<QWeakPointer<Plasma::Containment> > m_viewsWaiting;
- QTimer m_viewCreationTimer;
-
- bool m_active;
-};
-
-#endif // multiple inclusion guard
diff --git a/plasma/screensaver/shell/savercorona.cpp b/plasma/screensaver/shell/savercorona.cpp
deleted file mode 100644
index e2ff3de..0000000
--- a/plasma/screensaver/shell/savercorona.cpp
+++ /dev/null
@@ -1,269 +0,0 @@
-/*
- * Copyright 2008 Aaron Seigo <aseigo at kde.org>
- * Copyright 2008 by Chani Armitage <chanika at gmail.com>
- * Copyright 2011 Martin Gräßlin <mgraesslin at kde.org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Library General Public License as
- * published by the Free Software Foundation; either version 2, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>..
- */
-
-#include "savercorona.h"
-#include "kscreensaversettings.h"
-
-#include <QApplication>
-#include <QDesktopWidget>
-#include <QGraphicsLayout>
-#include <QAction>
-
-#include <QtDeclarative/QDeclarativeComponent>
-#include <QtDeclarative/QDeclarativeEngine>
-#include <QtDeclarative/QDeclarativeProperty>
-
-#include <QDebug>
-#include <KDialog>
-#include <KStandardDirs>
-#include <KIcon>
-#include <kdeclarative.h>
-
-#include <Plasma/Containment>
-#include <plasma/containmentactionspluginsconfig.h>
-#include <Plasma/Package>
-#include <Plasma/PackageStructure>
-
-#include <QtGui/QX11Info>
-#include <X11/Xlib.h>
-#include <fixx11h.h>
-
-static const char *DEFAULT_MAIN_PACKAGE = "org.kde.passworddialog";
-
-SaverCorona::SaverCorona(QObject *parent)
- : Plasma::Corona(parent)
- , m_engine(NULL)
- , m_greeterItem(NULL)
- , m_mode(ScreenLock)
- , m_capsLocked(false)
-{
- init();
-}
-
-void SaverCorona::init()
-{
- setPreferredToolBoxPlugin(Plasma::Containment::DesktopContainment, "org.kde.desktoptoolbox");
- setPreferredToolBoxPlugin(Plasma::Containment::CustomContainment, "org.kde.desktoptoolbox");
- setPreferredToolBoxPlugin(Plasma::Containment::PanelContainment, "org.kde.paneltoolbox");
- setPreferredToolBoxPlugin(Plasma::Containment::CustomPanelContainment, "org.kde.paneltoolbox");
-
- QDesktopWidget *desktop = QApplication::desktop();
- connect(desktop,SIGNAL(screenCountChanged(int)), SLOT(numScreensUpdated(int)));
- m_numScreens = desktop->numScreens();
-
- Plasma::ContainmentActionsPluginsConfig plugins;
- plugins.addPlugin(Qt::NoModifier, Qt::RightButton, "minimalcontextmenu");
- //should I add paste too?
- setContainmentActionsDefaults(Plasma::Containment::CustomContainment, plugins);
-
- bool unlocked = immutability() == Plasma::Mutable;
-
- QAction *lock = action("lock widgets");
- if (lock) {
- qDebug() << "unlock action";
- //rename the lock action so that corona doesn't mess with it
- addAction("unlock widgets", lock);
- //rewire the action so we can check for a password
- lock->disconnect(SIGNAL(triggered(bool)));
- connect(lock, SIGNAL(triggered()), this, SLOT(toggleLock()));
- lock->setIcon(KIcon(unlocked ? "object-locked" : "configure"));
- lock->setText(unlocked ? i18n("Lock Screen") : i18n("Configure Widgets"));
- }
-
- //the most important action ;)
- QAction *leave = new QAction(unlocked ? i18n("Leave Screensaver") : i18n("Unlock"), this);
- leave->setIcon(KIcon("system-lock-screen"));
- leave->setShortcut(QKeySequence("esc"));
- connect(leave, SIGNAL(triggered()), this, SLOT(unlockDesktop()));
- addAction("unlock desktop", leave);
-
- //updateShortcuts(); //just in case we ever get a config dialog
-
- // create the QML Component
- m_engine = new QDeclarativeEngine(this);
- KDeclarative kdeclarative;
- kdeclarative.setDeclarativeEngine(m_engine);
- kdeclarative.initialize();
- kdeclarative.setupBindings();
-
- connect(this, SIGNAL(immutabilityChanged(Plasma::ImmutabilityType)), SLOT(updateActions(Plasma::ImmutabilityType)));
-
- installEventFilter(this);
-}
-
-void SaverCorona::loadDefaultLayout()
-{
- //qDebug();
- QDesktopWidget *desktop = QApplication::desktop();
-
- // create a containment for the screens
- Plasma::Containment *c;
- for(int screen = 0; screen < m_numScreens; ++screen)
- {
- QRect g = desktop->screenGeometry(screen);
- qDebug() << " screen" << screen << "geometry is" << g;
- c = addContainment("saverdesktop");
- if (c) {
- c->setScreen(screen);
- c->setFormFactor(Plasma::Planar);
- c->flushPendingConstraintsEvents();
- }
- }
-
- // a default clock
- c = containmentForScreen(desktop->primaryScreen());
- if (c) {
- Plasma::Applet *clock = Plasma::Applet::load("clock"/*, c->id() + 1*/);
- c->addApplet(clock, QPointF(KDialog::spacingHint(), KDialog::spacingHint()), true);
- clock->init();
- clock->flushPendingConstraintsEvents();
- }
- //emit containmentAdded(c);
-}
-
-int SaverCorona::numScreens() const
-{
- return m_numScreens;
-}
-
-QRect SaverCorona::screenGeometry(int id) const
-{
- return QApplication::desktop()->screenGeometry(id);
-}
-
-void SaverCorona::updateActions(Plasma::ImmutabilityType immutability)
-{
- bool unlocked = immutability == Plasma::Mutable;
- QAction *a = action("unlock widgets");
- if (a) {
- a->setIcon(KIcon(unlocked ? "object-locked" : "configure"));
- a->setText(unlocked ? i18n("Lock Screen") : i18n("Configure Widgets"));
- }
- a = action("unlock desktop");
- if (a) {
- a->setText(unlocked ? i18n("Leave Screensaver") : i18n("Unlock"));
- }
-}
-
-void SaverCorona::toggleLock()
-{
- //require a password to unlock
- if (immutability() == Plasma::Mutable) {
- setImmutability(Plasma::UserImmutable);
- qDebug() << "locking up!";
- } else if (immutability() == Plasma::UserImmutable) {
- // show a greeter
- if (!m_greeterItem) {
- createGreeter();
- }
- m_mode = AppletLock;
- // TODO: disable session switching
- m_greeterItem->setProperty("notification", i18n("Unlock widgets to configure them"));
- m_greeterItem->setVisible(true);
- }
-}
-
-void SaverCorona::unlockDesktop()
-{
- if (!m_greeterItem) {
- createGreeter();
- }
- m_mode = ScreenLock;
- m_greeterItem->setProperty("notification", "");
- // TODO: enable session switching
- m_greeterItem->setVisible(true);
-}
-
-void SaverCorona::numScreensUpdated(int newCount)
-{
- m_numScreens = newCount;
- //do something?
-}
-
-void SaverCorona::createGreeter()
-{
- Plasma::PackageStructure::Ptr structure = Plasma::PackageStructure::load("Plasma/Generic");
- Plasma::Package *package = new Plasma::Package(KStandardDirs::locate("data", "ksmserver/screenlocker/"), KScreenSaverSettings::greeterQML(), structure);
-
- QString mainQmlPath = package->filePath("mainscript");
- if (mainQmlPath.isEmpty()) {
- delete package;
- package = new Plasma::Package(KStandardDirs::locate("data", "ksmserver/screenlocker/"), DEFAULT_MAIN_PACKAGE, structure);
- mainQmlPath = package->filePath("mainscript");
- }
-
- QDeclarativeComponent component(m_engine, QUrl::fromLocalFile(mainQmlPath));
-
- m_greeterItem = qobject_cast<QGraphicsObject *>(component.create());
- QDeclarativeProperty lockProperty(m_greeterItem, "locked");
- lockProperty.write(true);
-
- addItem(m_greeterItem);
- m_greeterItem->setFocus();
- connect(m_greeterItem, SIGNAL(unlockRequested()), SLOT(greeterAccepted()));
- connect(m_greeterItem, SIGNAL(canceled()), SLOT(greeterCanceled()));
- const QRect screenRect = screenGeometry(QApplication::desktop()->primaryScreen());
- // TODO: center on screen
- m_greeterItem->setPos(screenRect.x() + screenRect.width()/2,
- screenRect.y() + screenRect.height()/2);
-}
-
-void SaverCorona::greeterAccepted()
-{
- if (m_mode == ScreenLock) {
- qApp->quit();
- } else if (m_mode == AppletLock) {
- setImmutability(Plasma::Mutable);
- // greeter has problems with reusing after success
- delete m_greeterItem;
- m_greeterItem = NULL;
- }
-}
-
-void SaverCorona::greeterCanceled()
-{
- m_greeterItem->setVisible(false);
-}
-
-bool SaverCorona::eventFilter(QObject* watched, QEvent* event)
-{
- Q_UNUSED(watched)
- if (event->type() == QEvent::KeyPress || event->type() == QEvent::KeyRelease) {
- capsLocked();
- }
- return false;
-}
-
-void SaverCorona::capsLocked()
-{
- unsigned int lmask;
- Window dummy1, dummy2;
- int dummy3, dummy4, dummy5, dummy6;
- XQueryPointer(QX11Info::display(), DefaultRootWindow( QX11Info::display() ), &dummy1, &dummy2, &dummy3, &dummy4, &dummy5, &dummy6, &lmask);
- const bool before = m_capsLocked;
- m_capsLocked = lmask & LockMask;
- if (before != m_capsLocked) {
- if (m_greeterItem) {
- m_greeterItem->setProperty("capsLockOn", m_capsLocked);
- }
- }
-}
-
-#include "savercorona.moc"
-
diff --git a/plasma/screensaver/shell/savercorona.h b/plasma/screensaver/shell/savercorona.h
deleted file mode 100644
index 4f81476..0000000
--- a/plasma/screensaver/shell/savercorona.h
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * Copyright 2008 Aaron Seigo <aseigo at kde.org>
- * Copyright 2008 by Chani Armitage <chanika at gmail.com>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Library General Public License as
- * published by the Free Software Foundation; either version 2, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#ifndef SAVERCORONA_H
-#define SAVERCORONA_H
-
-#include <QtGui/QGraphicsScene>
-
-#include <Plasma/Corona>
-
-class QDeclarativeEngine;
-
-/**
- * @short A Corona for the screensaver
- */
-class SaverCorona : public Plasma::Corona
-{
- Q_OBJECT
-
-public:
- explicit SaverCorona(QObject * parent = 0);
-
- /**
- * Loads the default (system wide) layout for this user
- **/
- void loadDefaultLayout();
-
- virtual int numScreens() const;
- virtual QRect screenGeometry(int id) const;
-
-protected:
- virtual bool eventFilter(QObject *watched, QEvent *event);
-
-private Q_SLOTS:
- void updateActions(Plasma::ImmutabilityType immutability);
- void toggleLock();
- void unlockDesktop();
- void numScreensUpdated(int newCount);
- void greeterAccepted();
- void greeterCanceled();
-
-private:
- enum UnlockMode {
- AppletLock,
- ScreenLock
- };
- void init();
- void createGreeter();
- void capsLocked();
-
- int m_numScreens;
- QDeclarativeEngine *m_engine;
- QGraphicsObject *m_greeterItem;
- UnlockMode m_mode;
- bool m_capsLocked;
-};
-
-#endif
-
-
diff --git a/plasma/screensaver/shell/saverview.cpp b/plasma/screensaver/shell/saverview.cpp
deleted file mode 100644
index 93bc404..0000000
--- a/plasma/screensaver/shell/saverview.cpp
+++ /dev/null
@@ -1,294 +0,0 @@
-/*
- * Copyright 2007 Aaron Seigo <aseigo at kde.org>
- * Copyright 2007 Matt Broadstone <mbroadst at gmail.com>
- * Copyright 2007 André Duffeck <duffeck at kde.org>
- * Copyright 2008 Chani Armitage <chanika at gmail.com>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Library General Public License as
- * published by the Free Software Foundation; either version 2, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "saverview.h"
-
-#include <QKeyEvent>
-#include <QTimer>
-
-#include <Plasma/Applet>
-#include <Plasma/Corona>
-#include <Plasma/Containment>
-#include <Plasma/Svg>
-
-#include <widgetsexplorer/widgetexplorer.h>
-
-#include "plasmaapp.h"
-
-static const int SUPPRESS_SHOW_TIMEOUT = 500; // Number of millis to prevent reshow of dashboard
-
-
-class ScreenSaverWidgetExplorer : public Plasma::WidgetExplorer
-{
-public:
- ScreenSaverWidgetExplorer(QGraphicsWidget *parent)
- : Plasma::WidgetExplorer(parent)
- {
- connect(this, SIGNAL(closeClicked()), this, SLOT(deleteLater()));
- m_svg = new Plasma::FrameSvg(this);
- m_svg->setImagePath("widgets/frame");
- m_svg->setElementPrefix("raised");
- m_svg->setEnabledBorders(Plasma::FrameSvg::TopBorder);
- }
-
-protected:
- void resizeEvent(QGraphicsSceneResizeEvent *event)
- {
- m_svg->resizeFrame(event->newSize());
- }
-
- void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)
- {
- Q_UNUSED(option)
- Q_UNUSED(widget)
- m_svg->paintFrame(painter);
- }
-
-private:
- Plasma::FrameSvg *m_svg;
-};
-
-SaverView::SaverView(Plasma::Containment *containment, QWidget *parent)
- : Plasma::View(containment, parent),
- m_suppressShow(false),
- m_setupMode(false),
- m_init(false)
-{
- setWindowFlags(Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint |
- Qt::X11BypassWindowManagerHint);
-
- //app is doing this for us - if needed
- //QDesktopWidget *desktop = QApplication::desktop();
- //setGeometry(desktop->screenGeometry(containment->screen()));
-
- setWallpaperEnabled(true);
-
- containment->corona()->installEventFilter(this);
-}
-
-SaverView::~SaverView()
-{
- delete m_widgetExplorer.data();
-}
-
-void SaverView::enableSetupMode()
-{
- if (!m_setupMode) {
- m_setupMode = true;
- update();
- }
-}
-
-void SaverView::disableSetupMode()
-{
- if (m_setupMode) {
- m_setupMode = false;
- update();
- }
-}
-
-void SaverView::drawBackground(QPainter *painter, const QRectF & rect)
-{
- if (PlasmaApp::hasComposite()) {
- painter->setCompositionMode(QPainter::CompositionMode_Source);
- painter->fillRect(rect, Qt::transparent);
- } else {
- Plasma::View::drawBackground(painter, rect);
- }
-}
-
-void SaverView::showWidgetExplorer()
-{
- Plasma::Containment *c = containment();
- if (!c) {
- return;
- }
-
- if (m_widgetExplorer) {
- delete m_widgetExplorer.data();
- } else {
- ScreenSaverWidgetExplorer *widgetExplorer = new ScreenSaverWidgetExplorer(c);
- widgetExplorer->installEventFilter(this);
- widgetExplorer->setContainment(c);
- widgetExplorer->setLocation(Plasma::BottomEdge);
- widgetExplorer->populateWidgetList();
- widgetExplorer->setMaximumWidth(width());
- widgetExplorer->adjustSize();
- widgetExplorer->setZValue(1000000);
- widgetExplorer->resize(width(), widgetExplorer->size().height());
- widgetExplorer->setPos(0, containment()->geometry().height() - widgetExplorer->geometry().height());
- m_widgetExplorer = widgetExplorer;
- }
-}
-
-void SaverView::hideWidgetExplorer()
-{
- delete m_widgetExplorer.data();
-}
-
-void SaverView::paintEvent(QPaintEvent *event)
-{
- Plasma::View::paintEvent(event);
- if (!m_setupMode) {
- return;
- }
-
- // now draw a little label reminding the user their screen's not quite locked
- const QRect r = rect();
- const QString text = i18n("Setup Mode - Screen is NOT locked");
- QFont f = font();
- f.bold();
- const QFontMetrics fm(f);
- const int margin = 6;
- const int textWidth = fm.width(text);
- const QPoint centered(r.width() / 2 - textWidth / 2 - margin, r.y());
- const QRect boundingBox(centered, QSize(margin * 2 + textWidth, fm.height() + margin * 2));
-
- if (!viewport() || !event->rect().intersects(boundingBox)) {
- return;
- }
-
- QPainterPath box;
- box.moveTo(boundingBox.topLeft());
- box.lineTo(boundingBox.bottomLeft() + QPoint(0, -margin * 2));
- box.quadTo(boundingBox.bottomLeft(), boundingBox.bottomLeft() + QPoint(margin * 2, 0));
- box.lineTo(boundingBox.bottomRight() + QPoint(-margin * 2, 0));
- box.quadTo(boundingBox.bottomRight(), boundingBox.bottomRight() + QPoint(0, -margin * 2));
- box.lineTo(boundingBox.topRight());
- box.closeSubpath();
-
- QPainter painter(viewport());
- painter.setRenderHint(QPainter::Antialiasing);
- painter.setFont(f);
- //qDebug() << "******************** painting from" << centered << boundingBox << rect() << event->rect();
- QColor highlight = palette().highlight().color();
- highlight.setAlphaF(0.7);
- painter.setPen(highlight.darker());
- painter.setBrush(highlight);
- painter.drawPath(box);
- painter.setPen(palette().highlightedText().color());
- painter.drawText(boundingBox, Qt::AlignCenter | Qt::AlignVCenter, text);
-}
-
-bool SaverView::eventFilter(QObject *watched, QEvent *event)
-{
- if (containment() && (watched == (QObject*)m_widgetExplorer.data()) &&
- (event->type() == QEvent::GraphicsSceneResize || event->type() == QEvent::GraphicsSceneMove)) {
- Plasma::WidgetExplorer *widgetExplorer = m_widgetExplorer.data();
- widgetExplorer->setPos(0, containment()->geometry().height() - widgetExplorer->geometry().height());
- } else if (watched == containment()->corona() && event->type() == QEvent::GraphicsSceneMousePress) {
- activateWindow();
- grabKeyboard();
- }
-
- return false;
-}
-
-void SaverView::showView()
-{
- if (isHidden()) {
- if (m_suppressShow) {
- qDebug() << "show was suppressed";
- return;
- }
-
- setWindowState(Qt::WindowFullScreen);
- //KWindowSystem::setOnAllDesktops(winId(), true);
- //KWindowSystem::setState(winId(), NET::KeepAbove|NET::SkipTaskbar);
-
- show();
- raise();
-
- m_suppressShow = true;
- QTimer::singleShot(SUPPRESS_SHOW_TIMEOUT, this, SLOT(suppressShowTimeout()));
- activateWindow();
- grabKeyboard();
- }
-}
-
-void SaverView::setContainment(Plasma::Containment *newContainment)
-{
- if (m_init && newContainment == containment()) {
- return;
- }
-
- m_init = true;
-
- if (containment()) {
- disconnect(containment(), SIGNAL(showAddWidgetsInterface(QPointF)), this, SLOT(showWidgetExplorer()));
- }
-
- if (newContainment) {
- connect(newContainment, SIGNAL(showAddWidgetsInterface(QPointF)), this, SLOT(showWidgetExplorer()));
- }
-
- if (m_widgetExplorer) {
- m_widgetExplorer.data()->setContainment(newContainment);
- }
-
- View::setContainment(newContainment);
-}
-
-void SaverView::hideView()
-{
- if (isHidden()) {
- return;
- }
-
- hideWidgetExplorer();
-
- if (containment()) {
- containment()->closeToolBox();
- }
-
- hide();
- //let the lockprocess know
- emit hidden();
-}
-
-void SaverView::suppressShowTimeout()
-{
- qDebug() << "SaverView::suppressShowTimeout";
- m_suppressShow = false;
-}
-
-void SaverView::openToolBox()
-{
- qDebug() << "close toolbox";
- containment()->openToolBox();
-}
-
-void SaverView::closeToolBox()
-{
- qDebug() << "close toolbox";
- containment()->closeToolBox();
-}
-
-void SaverView::adjustSize(int screen)
-{
- QDesktopWidget *desktop = QApplication::desktop();
- int thisScreen = desktop->screenNumber(this);
- if(screen == thisScreen)
- {
- setGeometry(desktop->screenGeometry(screen));
- }
-}
-
-#include "saverview.moc"
diff --git a/plasma/screensaver/shell/saverview.h b/plasma/screensaver/shell/saverview.h
deleted file mode 100644
index 9b10938..0000000
--- a/plasma/screensaver/shell/saverview.h
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * Copyright 2007 Aaron Seigo <aseigo at kde.org>
- * Copyright 2007 André Duffeck <duffeck at kde.org>
- * Copyright 2008 Chani Armitage <chanika at gmail.com>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Library General Public License as
- * published by the Free Software Foundation; either version 2, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#ifndef SAVERVIEW_H
-#define SAVERVIEW_H
-
-#include <QWeakPointer>
-
-#include <Plasma/Plasma>
-#include <Plasma/View>
-
-namespace Plasma
-{
- class Containment;
- class WidgetExplorer;
-}
-
-class SaverView : public Plasma::View
-{
- Q_OBJECT
-
-public:
- SaverView(Plasma::Containment* containment, QWidget *parent);
- ~SaverView();
-
- bool eventFilter(QObject *watched, QEvent *event);
-
-Q_SIGNALS:
- void hidden();
-
-protected:
- void drawBackground(QPainter *painter, const QRectF & rect);
- void paintEvent(QPaintEvent *event);
-
-public Q_SLOTS:
- void showView();
- void hideView();
- void adjustSize(int screen);
-
- /**
- * Sets the containment for this view, which will also cause the view
- * to track the geometry of the containment.
- *
- * @arg containment the containment to center the view on
- */
- void setContainment(Plasma::Containment *newContainment);
- void hideWidgetExplorer();
-
- void enableSetupMode();
- void disableSetupMode();
-
-protected Q_SLOTS:
- void showWidgetExplorer(); //FIXME actually this is toggle
- void suppressShowTimeout();
- void openToolBox();
- void closeToolBox();
-
-private:
- QWeakPointer<Plasma::WidgetExplorer> m_widgetExplorer;
- QPoint m_appletBrowserDragStart;
- bool m_suppressShow : 1;
- bool m_setupMode : 1;
- bool m_init : 1;
-};
-
-#endif // multiple inclusion guard
More information about the Plasma-devel
mailing list