DictTypeSelectDialog ported to qml. Remove empty qml files.
[mdictionary] / src / mdictionary / gui / DictTypeSelectDialog.cpp
index b03296b..8e26c14 100644 (file)
 
 *******************************************************************************/
 
-//! \file DictTypeSelectDialog.cpp
-//! \author Mateusz Półrola <mateusz.polrola@comarch.pl>
+/*! \file DictTypeSelectDialog.cpp
+    \brief Implements plugin selection dialog
+
+    \author Mateusz Półrola <mateusz.polrola@comarch.pl>
+*/
 
 #include "DictTypeSelectDialog.h"
 
 DictTypeSelectDialog::DictTypeSelectDialog(QList<CommonDictInterface *> plugins, QWidget *parent) :
-    QDialog(parent) {
+    QDialog(parent), model(plugins, this) {
 
     setWindowTitle(tr("Select dictionary type"));
 
@@ -34,6 +37,26 @@ DictTypeSelectDialog::DictTypeSelectDialog(QList<CommonDictInterface *> plugins,
     verticalLayout = new QVBoxLayout(this);
     setLayout(verticalLayout);
 
+#ifndef Q_WS_MAEMO_5
+    qmlView = new QDeclarativeView(this);
+    qmlView->setSource(QUrl::fromLocalFile("/usr/share/mdictionary/qml/DictTypeSelectDialog.qml"));
+    ctxt = qmlView->rootContext();
+
+//    model = new DictTypeModel(plugins, this);
+    ctxt->setContextProperty("dictTypeModel", &model);
+
+    _selectedPlugin = 0;
+
+    QGraphicsObject *rootObject = qmlView->rootObject();
+    connect(rootObject, SIGNAL(selectedRow(int)),
+            this, SLOT(pluginSelected(int)));
+
+    qmlView->setResizeMode(QDeclarativeView::SizeRootObjectToView);
+    verticalLayout->addWidget(qmlView);
+
+#endif
+#ifdef Q_WS_MAEMO_5
+
     pluginsListWidget = new QListWidget(this);
 
     verticalLayout->addWidget(pluginsListWidget);
@@ -46,8 +69,9 @@ DictTypeSelectDialog::DictTypeSelectDialog(QList<CommonDictInterface *> plugins,
 
     _selectedPlugin = 0;
 
-    connect(pluginsListWidget, SIGNAL(itemClicked(QListWidgetItem*)),
+    connect(pluginsListWidget, SIGNAL(itemActivated(QListWidgetItem*)),
             this, SLOT(pluginSelected(QListWidgetItem*)));
+#endif
 }
 
 void DictTypeSelectDialog::pluginSelected(QListWidgetItem *item) {
@@ -55,6 +79,11 @@ void DictTypeSelectDialog::pluginSelected(QListWidgetItem *item) {
     accept();
 }
 
+void DictTypeSelectDialog::pluginSelected(int item) {
+    _selectedPlugin = plugins[item];
+    accept();
+}
+
 CommonDictInterface* DictTypeSelectDialog::selectedPlugin() {
     return _selectedPlugin;
 }