From c55e6ad462d4a88de0707c32b376b83858e2beef Mon Sep 17 00:00:00 2001 From: Marco Martin Date: Tue, 5 Mar 2013 17:22:00 +0100 Subject: [PATCH] get default containments and toolbox from package --- desktopcorona.cpp | 6 +++++- desktopcorona.h | 1 + qmlpackages/desktop/contents/defaults | 15 +++++++++++++++ shellpackage.cpp | 2 +- 4 files changed, 22 insertions(+), 2 deletions(-) create mode 100644 qmlpackages/desktop/contents/defaults diff --git a/desktopcorona.cpp b/desktopcorona.cpp index 8882c4945..895212361 100644 --- a/desktopcorona.cpp +++ b/desktopcorona.cpp @@ -22,6 +22,7 @@ #include #include #include +#include #include "panelview.h" #include "view.h" @@ -33,6 +34,8 @@ DesktopCorona::DesktopCorona(QObject *parent) : Plasma::Corona(parent), m_desktopWidget(QApplication::desktop()) { + m_desktopDefaultsConfig = KConfigGroup(KSharedConfig::openConfig(package().filePath("defaults")), "Desktop"); + connect(m_desktopWidget, SIGNAL(resized(int)), this, SLOT(screenResized(int))); connect(m_desktopWidget, SIGNAL(screenCountChanged(int)), @@ -53,6 +56,7 @@ DesktopCorona::~DesktopCorona() void DesktopCorona::loadDefaultLayout() { + //TODO: use Javascript here Plasma::Containment *cont = createContainment("org.kde.testcontainment"); cont->setScreen(0); qDebug() << containmentForScreen(0); @@ -118,7 +122,7 @@ void DesktopCorona::checkDesktop(/*Activity *activity,*/ bool signalWhenExists, //TODO: remove following when activities are restored if (!c) { - c = createContainment("desktop"); + c = createContainment(m_desktopDefaultsConfig.readEntry("Containment", "org.kde.testcontainment")); } if (!c) { diff --git a/desktopcorona.h b/desktopcorona.h index 983a63a9f..adacae450 100644 --- a/desktopcorona.h +++ b/desktopcorona.h @@ -76,6 +76,7 @@ private: QDesktopWidget *m_desktopWidget; QList m_views; QHash m_panelViews; + KConfigGroup m_desktopDefaultsConfig; }; #endif diff --git a/qmlpackages/desktop/contents/defaults b/qmlpackages/desktop/contents/defaults new file mode 100644 index 000000000..147d0ec4e --- /dev/null +++ b/qmlpackages/desktop/contents/defaults @@ -0,0 +1,15 @@ +[Desktop] +Containment=org.kde.desktop +ToolBox=org.kde.toolbox +[Desktop][ContainmentActions] +Ctrl;LeftButton=org.kde.standardmenu +MiddleButton=org.kde.paste + +[Panel] +Containment=org.kde.panel +ToolBox=org.kde.toolbox +[Panel][ContainmentActions] +Ctrl;LeftButton=org.kde.standardmenu + +[Theme] +Theme=default \ No newline at end of file diff --git a/shellpackage.cpp b/shellpackage.cpp index b370027c6..7703e1b7e 100644 --- a/shellpackage.cpp +++ b/shellpackage.cpp @@ -40,7 +40,7 @@ void ShellPackageStructure::initPackage(Plasma::Package *package) package->addFileDefinition("defaults", "defaults", i18n("Default plugins for containments, containmentActions etc")); package->setMimeTypes("layout", QStringList() << "application/javascript"); - package->setMimeTypes("layout", QStringList() << "text/plain"); + package->setMimeTypes("defaults", QStringList() << "text/plain"); package->addFileDefinition("appleterror", "components/AppletError.qml", i18n("Error message shown when an applet fails loading")); package->addFileDefinition("compactapplet", "components/CompactApplet.qml", i18n("QML component that shows an applet in a popup"));