*******************************************************************************/
-//! \file DictManagerWidget.cpp
-//! \brief Dictionaries management widget
-//! \author Mateusz Półrola <mateusz.polrola@comarch.pl>
+/*! \file DictManagerWidget.cpp
+ \brief Implements dictionaries management widget
+
+ \author Mateusz Półrola <mateusz.polrola@comarch.pl>
+*/
#include "DictManagerWidget.h"
#include "DictTypeSelectDialog.h"
this->guiInterface = parent;
initalizeUI();
+
+ setModal(true);
}
void DictManagerWidget::initalizeUI() {
connect(dictList, SIGNAL(itemChanged(QListWidgetItem*)),
this, SLOT(changed()));
+ #ifndef Q_WS_MAEMO_5
+ connect(dictList, SIGNAL(itemActivated(QListWidgetItem*)),
+ this, SLOT(saveChanges()));
+ connect(dictList, SIGNAL(itemActivated(QListWidgetItem*)),
+ this, SLOT(itemSelected(QListWidgetItem*)));
+ connect(dictList, SIGNAL(itemActivated(QListWidgetItem*)),
+ settingsButton, SIGNAL(clicked()));
+ #endif
+
refreshDictsList();
#ifndef Q_WS_MAEMO_5
setMinimumSize(500,300);
closeButton = new QPushButton(tr("Save"));
buttonGroup->addWidget(closeButton);
+
+ setMinimumWidth(sizeHint().width()*1.2);
+ setMaximumWidth(sizeHint().width()*2);
+ setMinimumHeight(sizeHint().height());
+ setMaximumHeight(sizeHint().height()*2);
connect(closeButton, SIGNAL(clicked()), this, SLOT(save()));
#endif
}
while(i.hasNext()) {
i.next();
QListWidgetItem* item = new QListWidgetItem();
- QString name = i.key()->langFrom() + " - " + i.key()->langTo() + " (" +
- i.key()->type() + " " + i.key()->name() + ")";
+ QString name;
+ if (i.key()->type() == "stardict") {
+ name = i.key()->name() + " (" + i.key()->type() + ")";
+ }
+ else {
+ name = i.key()->langFrom() + " - " + i.key()->langTo() +
+ " (" + i.key()->type() + " " +
+ i.key()->name() + ")";
+ }
item->setText(name);
item->setFlags(item->flags() | Qt::ItemIsUserCheckable);
if(i.value()) {
CommonDictInterface* selectedPlugin =
DictTypeSelectDialog::addNewDict(guiInterface->getPlugins(),this);
if(selectedPlugin) {
- DictTypeSelectDialog::addNewDict(
- guiInterface->getPlugins(),
- this->parentWidget());
-
Settings* settings =
selectedPlugin->dictDialog()->addNewDictionary(this->parentWidget());
void DictManagerWidget::itemSelected(QListWidgetItem *) {
removeDictButton->setEnabled(true);
settingsButton->setEnabled(true);
+ dictList->setFocus();
}
void DictManagerWidget::removeButtonClicked() {
hide();
}
#endif
+
+
+void DictManagerWidget::keyPressEvent(QKeyEvent *e) {
+ if (!e->modifiers() || (e->modifiers() & Qt::KeypadModifier && e->key() == Qt::Key_Enter)) {
+ switch (e->key()) {
+ case Qt::Key_Escape:
+ reject();
+ break;
+ default:
+ e->ignore();
+ return;
+ }
+ } else {
+ e->ignore();
+ }
+}