From kde-commits Mon Jun 11 19:04:33 2012 From: Shantanu Tushar Date: Mon, 11 Jun 2012 19:04:33 +0000 To: kde-commits Subject: [calligra] active: First step towards removing hard runtime dependency on Plasma Metadatamodels Message-Id: <20120611190433.80A6FA60BB () git ! kde ! org> X-MARC-Message: https://marc.info/?l=kde-commits&m=133944169414487 Git commit 105146c7114882bde6e1adf7e28376892c18a070 by Shantanu Tushar. Committed on 11/06/2012 at 18:39. Pushed by shantanu into branch 'master'. First step towards removing hard runtime dependency on Plasma Metadatamodels M +13 -16 active/qml/RecentFiles.qml M +18 -0 active/src/MainWindow.cpp M +2 -0 active/src/MainWindow.h http://commits.kde.org/calligra/105146c7114882bde6e1adf7e28376892c18a070 diff --git a/active/qml/RecentFiles.qml b/active/qml/RecentFiles.qml index 019a3bb..8b169ec 100644 --- a/active/qml/RecentFiles.qml +++ b/active/qml/RecentFiles.qml @@ -22,7 +22,6 @@ import QtQuick 1.0 import CalligraActive 1.0 import org.kde.plasma.core 0.1 as PlasmaCore -import org.kde.metadatamodels 0.1 as MetadataModels import org.kde.plasma.components 0.1 as PlasmaComponents = ListView { @@ -36,21 +35,8 @@ ListView { = PlasmaCore.SortFilterModel { id: metadataModel - sourceModel: MetadataModels.MetadataModel { - id: metadataInternalModel - resourceType: "nfo:" + typeFilter - sortOrder: Qt.AscendingOrder - - onResourceTypeChanged: { - if (resourceType =3D=3D "nfo:PaginatedTextDocument") { - metadataModel.filterRole =3D "mimeType"; - metadataModel.filterRegExp =3D "application/vnd.oasis.= opendocument.text"; - } else { - metadataModel.filterRole =3D ""; - metadataModel.filterRegExp =3D ""; - } - } - } + sourceModel: metadataInternalModel + sortOrder: Qt.AscendingOrder } = model: metadataModel @@ -74,5 +60,16 @@ ListView { = onClicked: homeScreen.openDocument(model["url"]); } + + onTypeFilterChanged: { + metadataInternalModel.resourceType =3D "nfo:" + typeFilter; + if (typeFilter =3D=3D "PaginatedTextDocument") { + metadataModel.filterRole =3D "mimeType"; + metadataModel.filterRegExp =3D "application/vnd.oasis.opendocu= ment.text"; + } else { + metadataModel.filterRole =3D ""; + metadataModel.filterRegExp =3D ""; + } + } } = diff --git a/active/src/MainWindow.cpp b/active/src/MainWindow.cpp index 4343381..e92d9d3 100644 --- a/active/src/MainWindow.cpp +++ b/active/src/MainWindow.cpp @@ -27,6 +27,7 @@ = #include #include +#include = #include #include @@ -75,6 +76,7 @@ MainWindow::MainWindow (QWidget* parent) } = m_view->rootContext()->setContextProperty ("mainwindow", this); + loadMetadataModel(); = m_view->setSource (QUrl::fromLocalFile (CalligraActive::Global::instal= lPrefix() + "/share/calligraactive/qml/H= omeScreen.qml")); @@ -108,6 +110,22 @@ void MainWindow::openFileDialog() = } = +void MainWindow::loadMetadataModel() +{ + if (!m_view) { + return; + } + QDeclarativeComponent component(m_view->engine()); + component.setData("import org.kde.metadatamodels 0.1\nMetadataModel { = sortOrder: Qt.AscendingOrder }\n", QUrl()); + + if (!component.isError()) { + m_view->rootContext()->setContextProperty("metadataInternalModel",= component.create()); + } else { + kDebug() << "Plasma Active Metadata Models are not installed, usin= g built in model"; + m_view->rootContext()->setContextProperty("metadataInternalModel",= false); + } +} + MainWindow::~MainWindow() { } diff --git a/active/src/MainWindow.h b/active/src/MainWindow.h index de72824..c7f7fd5 100644 --- a/active/src/MainWindow.h +++ b/active/src/MainWindow.h @@ -42,6 +42,8 @@ private: KDeclarative kdeclarative; QString documentPath; = + void loadMetadataModel(); + private slots: void adjustWindowSize (QSize size); void checkForAndOpenDocument();