[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [calligra] active: First step towards removing hard runtime dependency on Plasma Metadatamodels
From: Shantanu Tushar <shaan7in () gmail ! com>
Date: 2012-06-11 19:04:33
Message-ID: 20120611190433.80A6FA60BB () git ! kde ! org
[Download RAW message or body]
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 == "nfo:PaginatedTextDocument") {
- metadataModel.filterRole = "mimeType";
- metadataModel.filterRegExp = \
"application/vnd.oasis.opendocument.text";
- } else {
- metadataModel.filterRole = "";
- metadataModel.filterRegExp = "";
- }
- }
- }
+ sourceModel: metadataInternalModel
+ sortOrder: Qt.AscendingOrder
}
model: metadataModel
@@ -74,5 +60,16 @@ ListView {
onClicked: homeScreen.openDocument(model["url"]);
}
+
+ onTypeFilterChanged: {
+ metadataInternalModel.resourceType = "nfo:" + typeFilter;
+ if (typeFilter == "PaginatedTextDocument") {
+ metadataModel.filterRole = "mimeType";
+ metadataModel.filterRegExp = "application/vnd.oasis.opendocument.text";
+ } else {
+ metadataModel.filterRole = "";
+ metadataModel.filterRegExp = "";
+ }
+ }
}
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 <KDE/KGlobal>
#include <KDE/KStandardDirs>
+#include <KDE/KDebug>
#include <QDeclarativeView>
#include <QDeclarativeContext>
@@ -75,6 +76,7 @@ MainWindow::MainWindow (QWidget* parent)
}
m_view->rootContext()->setContextProperty ("mainwindow", this);
+ loadMetadataModel();
m_view->setSource (QUrl::fromLocalFile (CalligraActive::Global::installPrefix()
+ \
"/share/calligraactive/qml/HomeScreen.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, using 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();
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic