*******************************************************************************/
-//! \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"));
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);
_selectedPlugin = 0;
- connect(pluginsListWidget, SIGNAL(itemClicked(QListWidgetItem*)),
+ connect(pluginsListWidget, SIGNAL(itemActivated(QListWidgetItem*)),
this, SLOT(pluginSelected(QListWidgetItem*)));
+#endif
}
void DictTypeSelectDialog::pluginSelected(QListWidgetItem *item) {
accept();
}
+void DictTypeSelectDialog::pluginSelected(int item) {
+ _selectedPlugin = plugins[item];
+ accept();
+}
+
CommonDictInterface* DictTypeSelectDialog::selectedPlugin() {
return _selectedPlugin;
}