dictListWidget = new QListWidget;
verticalLayout->addWidget(dictListWidget);
+ dictListWidget->setSelectionMode(QAbstractItemView::SingleSelection);
+
addNewDictButton = new QPushButton(tr("Add"));
+ removeDictButton = new QPushButton(tr("Remove"));
+ settingsButton = new QPushButton(tr("Settings"));
+
+ removeDictButton->setEnabled(false);
+ settingsButton->setEnabled(false);
+
+ buttonGroup = new QHBoxLayout;
+
+ buttonGroup->addWidget(addNewDictButton);
+ buttonGroup->addWidget(removeDictButton);
+ buttonGroup->addWidget(settingsButton);
+
+ verticalLayout->addLayout(buttonGroup, Qt::AlignBottom);
- verticalLayout->addWidget(addNewDictButton, Qt::AlignBottom);
connect(addNewDictButton, SIGNAL(clicked()),
this, SLOT(addNewDictButtonClicked()));
+ connect(removeDictButton, SIGNAL(clicked()),
+ this, SLOT(removeButtonClicked()));
+
+ connect(settingsButton, SIGNAL(clicked()),
+ this, SLOT(settingsButtonClicked()));
+
+ connect(dictListWidget, SIGNAL(itemClicked(QListWidgetItem*)),
+ this, SLOT(itemSelected(QListWidgetItem*)));
+
+ refreshDictsList();
+
}
void DictManagerWidget::refreshDictsList() {
- QHash<CommonDictInterface*, bool> dicts = backbone->getDictionaries();
dictListWidget->clear();
+ dictsHash.clear();
+
+
+ QHash<CommonDictInterface*, bool> dicts = backbone->getDictionaries();
+
QHashIterator<CommonDictInterface*, bool> i(dicts);
}
dictListWidget->addItem(item);
+ dictsHash.insert(item, i.key());
}
}
void DictManagerWidget::showEvent(QShowEvent *e) {
refreshDictsList();
-
+ removeDictButton->setEnabled(false);
+ settingsButton->setEnabled(false);
QWidget::showEvent(e);
}
+void DictManagerWidget::hideEvent(QHideEvent *e)
+{
+ QList<CommonDictInterface*> checkedDicts;
+
+ for(int i=0; i<dictListWidget->count(); i++) {
+ QListWidgetItem* item = dictListWidget->item(i);
+ if(item->checkState() == Qt::Checked) {
+ checkedDicts.push_back(dictsHash[item]);
+ }
+ }
+ backbone->selectedDictionaries(checkedDicts);
+
+ qDebug()<<"asda";
+
+ QWidget::hideEvent(e);
+}
+
void DictManagerWidget::addNewDictButtonClicked() {
CommonDictInterface* selectedPlugin =
}
}
}
+
+void DictManagerWidget::itemSelected(QListWidgetItem *item) {
+ removeDictButton->setEnabled(true);
+ settingsButton->setEnabled(true);
+}
+
+void DictManagerWidget::removeButtonClicked() {
+ QList<QListWidgetItem*> selected = dictListWidget->selectedItems();
+ if(selected.count() > 0) {
+ backbone->removeDictionary(dictsHash[selected[0]]);
+ refreshDictsList();
+ }
+}
+
+void DictManagerWidget::settingsButtonClicked() {
+ QList<QListWidgetItem*> selected = dictListWidget->selectedItems();
+ if(selected.count() > 0) {
+ dictsHash[selected[0]]->dictDialog()->changeSettings(this);
+ }
+}