QWidget *parent) :
QDialog(parent) {
-
setWindowTitle(tr("Select dictionary"));
-
//here removing already added dictionary
for (int i = 0; i < dicts.size(); i++){
if(QFile::exists(QDir::homePath() + "/.mdictionary/" + dicts[i].title() + ".xdxf")){
#ifndef Q_WS_MAEMO_5
model2 = new DictsListModel(dicts, this);
proxyModel2 = new DictsProxyListModel;
- proxyModel2->setSourceModel(model2);
- proxyModel2->setTo("Polish");
+ proxyModel2->setSourceModel(model2);;
view= new QDeclarativeView();
QDeclarativeContext* ctxt=view->rootContext();
ctxt->setContextProperty("dictModel", proxyModel2);
+
+ QSet<QString> languagesFrom;
+ for(int i=0; i < model2->rowCount(QModelIndex()); i++)
+ languagesFrom.insert(model2->data(model2->index(i, 0),DictsListModel::FromRole).toString());
+ languagesFrom.remove(QString());
+ QStringList langFromList = languagesFrom.toList();
+ qSort(langFromList);
+ QList<QString> langListFrom;
+ langListFrom.append(tr("Any"));
+ foreach(QString lang,langFromList)
+ langListFrom.append(lang);
+ fromModel = new ComboBoxModel(langListFrom);
+ ctxt->setContextProperty("fromModell", fromModel);
+
+ QSet<QString> languagesTo;
+ for(int i=0; i < model2->rowCount(QModelIndex()); i++)
+ languagesTo.insert(model2->data(model2->index(i, 0),DictsListModel::ToRole).toString());
+ languagesTo.remove(QString());
+ QStringList langToList = languagesTo.toList();
+ qSort(langToList);
+ QList<QString> langListTo;
+ langListTo.append(tr("Any"));
+ foreach(QString lang,langToList)
+ langListTo.append(lang);
+ toModel = new ComboBoxModel(langListTo);
+ ctxt->setContextProperty("toModell", toModel);
+
view->setSource(QUrl::fromLocalFile("/usr/share/mdictionary/qml/TableWidget.qml"));
view->setResizeMode(QDeclarativeView::SizeRootObjectToView);
view->setAlignment(Qt::AlignCenter);
mainLayout = new QVBoxLayout;
mainLayout->addWidget(view);
this->setLayout(mainLayout);
- proxyModel2->setTo("English");
QGraphicsObject *rootObject = view->rootObject();
connect(rootObject,SIGNAL(dictLink(QString)),
this,SLOT(itemClicked(QString)));
+ connect(rootObject,SIGNAL(fromChange(QString)),
+ this,SLOT(fromChange(QString)));
+ connect(rootObject,SIGNAL(toChange(QString)),
+ this,SLOT(toChange(QString)));
+
#else
layout = new QVBoxLayout;
#endif
}
+void XdxfDictSelectDialog::toChange(QString lang){
+ if(lang!=tr("Any"))
+ proxyModel2->setTo(lang);
+ else
+ proxyModel2->setTo("");
+}
+
+void XdxfDictSelectDialog::fromChange(QString lang){
+ if(lang!=tr("Any"))
+ proxyModel2->setFrom(lang);
+ else
+ proxyModel2->setFrom("");
+}
void XdxfDictSelectDialog::initializeDicts() {
//scan of all languages of dictionaries, using QSet to get only distinct languages
}
void XdxfDictSelectDialog::itemClicked(QModelIndex index) {
-#ifdef Q_WS_MAEMO_5
+#ifndef Q_WS_MAEMO_5
+ index;
+#else
_link = index.model()->data(index, Qt::UserRole).toString();
accept();
#endif