Copyright 2010 Comarch S.A.
*******************************************************************************/
-
-//Created by Mateusz Półrola
+/*!
+ \file XdxfDialog.cpp
+ \author Mateusz Półrola <mateusz.polrola@gmail.com>
+*/
#include "XdxfDialog.h"
#include <QDebug>
XdxfDialog::XdxfDialog(XdxfPlugin *plugin,
XdxfDialogType type,
QWidget *parent) :
- QDialog(parent) {
+ QDialog(parent) {
this->plugin = plugin;
this->type = type;
-
cacheToolTip = tr("Optimize for quicker searches (may take some time)");
accentsToolTip = tr("Strip accents (searching takes more time, but spelling doesn't have to be exact)");
connect(cacheCheckBox, SIGNAL(toggled(bool)),
this, SLOT(setGenerateCache(bool)));
-
connect(accentsCheckBox, SIGNAL(toggled(bool)),
this, SLOT(setAccents(bool)));
#ifdef Q_WS_MAEMO_5
connect(accentsInfoToolButton, SIGNAL(clicked()),
this, SLOT(showAccentsInfo()));
-
connect(cacheInfoToolButton, SIGNAL(clicked()),
this, SLOT(showCacheInfo()));
#endif
if(type == New) {
connect(browseButton, SIGNAL(clicked()),
this, SLOT(selectFile()));
-
connect(downloadButton, SIGNAL(clicked()),
this, SLOT(downloadFile()));
-
connect(&XdxfPlugin::dictDownloader, SIGNAL(fileDownloaded(QString)),
this, SLOT(fileDownloaded(QString)));
}
connect(confirmButton, SIGNAL(clicked()),
this, SLOT(accept()));
-
}
-void XdxfDialog::fileDownloaded(QString name) {
+
+void XdxfDialog::fileDownloaded(QString) {
infoLabel->setText(tr("Dictionary file: %1").arg(XdxfPlugin::dictDownloader.downloadedFile()));
_dictionaryFilePath = XdxfPlugin::dictDownloader.downloadedFile();
updateGeometry();
browseLayout = new QHBoxLayout;
- QHBoxLayout* buttonLayout = new QHBoxLayout;
+ QVBoxLayout* buttonLayout = new QVBoxLayout;
browseButton = new QPushButton(tr("Browse"));
- browseButton->setMaximumWidth(100);
+ browseButton->setMaximumWidth(150);
downloadButton = new QPushButton(tr("Download"));
downloadButton->setMaximumWidth(150);
+ infoLayout = new QHBoxLayout;
infoLabel->setText(tr("Dictionary file: not selected"));
- browseLayout->addWidget(infoLabel, 0, Qt::AlignLeft);
-
+ browseLayout->addWidget(infoLabel,0,Qt::AlignLeft);
browseLayout->addLayout(buttonLayout);
- buttonLayout->addWidget(browseButton);
- buttonLayout->addWidget(downloadButton);
+ buttonLayout->addWidget(browseButton,0,Qt::AlignLeft);
+ buttonLayout->addWidget(downloadButton,0,Qt::AlignLeft);
mainVerticalLayout->addLayout(browseLayout);
}
cacheCheckBox = new QCheckBox(tr("Optimize"));
cacheCheckBox->setToolTip(cacheToolTip);
cacheLayout->addWidget(cacheCheckBox);
+
#ifdef Q_WS_MAEMO_5
cacheInfoToolButton = new QToolButton;
cacheInfoToolButton->setIcon(QIcon::fromTheme("general_information"));
mainVerticalLayout->addLayout(cacheLayout);
mainVerticalLayout->addLayout(accentsLayout);
-
//load old setting if exists
if(!plugin) {
cacheCheckBox->setChecked(true);
confirmButton = new QPushButton;
mainVerticalLayout->addWidget(confirmButton);
- if(type == New) {
+ if(type == New)
confirmButton->setText(tr("Add"));
- }
- else {
+ else
confirmButton->setText(tr("Save settings"));
- }
scrollArea = new QScrollArea;
scrollArea->setWidget(widget);
scrollArea->setWidgetResizable(true);
+
#ifdef Q_WS_MAEMO_5
scrollArea->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
#else
if(type==New) {
- infoLabel->setMinimumWidth(200);
- setMinimumSize(sizeHint().width()*1.5, sizeHint().height()*1.2);
- setMaximumSize(sizeHint().width()*1.7, sizeHint().height()*1.5);
+ infoLabel->setMinimumWidth(250);
scrollArea->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
}
#endif
setLayout(layout);
#ifndef Q_WS_MAEMO_5
- setMinimumSize(400,200);
+ setMinimumSize(385,200);
#else
setMinimumHeight(350);
#endif
scrollArea->setLineWidth(0);
scrollArea->setMidLineWidth(0);
scrollArea->setFrameStyle(QFrame::NoFrame);
-
-
}
_accents = accents;
}
+
void XdxfDialog::setGenerateCache(bool generate) {
_generateCache = generate;
}
else
accentsCheckBox->setChecked(_lastAccents);
-
accentsCheckBox->setEnabled(!generate);
}
+
void XdxfDialog::selectFile() {
QString fileName = QFileDialog::getOpenFileName(this,
tr("Select dictionary file"),
tr("XDXF Files (*.xdxf)"),
NULL,
NULL);
-
if (!fileName.isEmpty()) {
infoLabel->setText(tr("Dictionary file: %1").arg(fileName));
_dictionaryFilePath = fileName;
}
}
+
void XdxfDialog::downloadFile() {
- XdxfPlugin::dictDownloader.download(this);
+ XdxfPlugin::dictDownloader.download(this);
}
+
void XdxfDialog::saveSettings() {
_settings = new Settings;
if(plugin) {
foreach(QString key, plugin->settings()->keys())
_settings->setValue(key, plugin->settings()->value(key));
}
- else {
+ else
_settings->setValue("path", _dictionaryFilePath);
- }
if(_generateCache)
_settings->setValue("generateCache", "true");
_settings->setValue("strip_accents", "false");
}
+
void XdxfDialog::accept() {
if(type == New && _dictionaryFilePath.isEmpty()) {
Q_EMIT notify(Notify::Warning, tr("File path is not set"));
-
return;
}
QDialog::accept();
}
+
Settings* XdxfDialog::getSettings() {
return _settings;
}
+
#ifdef Q_WS_MAEMO_5
void XdxfDialog::showCacheInfo() {
Q_EMIT notify(Notify::Warning, cacheToolTip);
}
+
void XdxfDialog::showAccentsInfo() {
Q_EMIT notify(Notify::Warning, accentsToolTip);
}