ui->menuBar->addAction(menuWidget);
+ connect(this, SIGNAL(searchWordList(QStringList)),
+ searchBarWidget, SLOT(searchWordList(QStringList)));
connect(wordListWidget, SIGNAL(showTranslation(QList<Translation*>)),
translationWidget, SLOT(show(QList<Translation*>)));
closingApplication = true;
close();*/
}
+
+void MainWindow::search(QStringList words) {
+ emit searchWordList(words);
+}
public:
explicit MainWindow(Backbone* backbone, QWidget *parent = 0);
~MainWindow();
+ void search(QStringList);
+
public Q_SLOTS:
//! Confirmation from backbone that we can close program
Q_SIGNALS:
//! Request to backbone to stop all it's activities
void quit();
+ void searchWordList(QStringList);
protected:
/*! When user wants to close application, we first sends signal to stop all
//connects request to backbone
- connect(this, SIGNAL(searchForTranslations(QString)),
- backbone, SLOT(search(QString)));
+ connect(this, SIGNAL(searchForTranslations(QStringList)),
+ backbone, SLOT(search(QStringList)));
connect(this, SIGNAL(stopSearching()),
backbone, SLOT(stopSearching()));
searchPushButton->setText(tr("Stop"));
setEnabled(false);
_isSearching = true;
- emit searchForTranslations(searchWordLineEdit->text());
+ QStringList searchWord;
+ searchWord << searchWordLineEdit->text();
+ emit searchForTranslations(searchWord);
+ }
+}
+
+void SearchBarWidget::searchWordList(QStringList words) {
+ if(!_isSearching) {
+ searchingProgressBar->show();
+ searchPushButton->setText(tr("Stop"));
+ setEnabled(false);
+ _isSearching = true;
+ emit searchForTranslations(words);
}
}
Q_SIGNALS:
//! Requests to search for translation of word passed as parameter
- void searchForTranslations(QString);
+ void searchForTranslations(QStringList);
//! Request to stop all active searchings
void stopSearching();
*/
void setEnabled(bool enabled = true);
void searchFinished();
+ void searchWordList(QStringList);
private Q_SLOTS:
void clearSearchWordToolButtonClicked();
#include "MainWindow.h"
#include "../backbone/backbone.h"
#include "../../includes/translation.h"
+#include <QDebug>
-int main(int argc, char *argv[])
-{
+
+QStringList parseParameters(int argc, char *argv[]) {
+ bool wordListStarted = false;
+ QStringList result;
+ for(int i=1; i<argc; i++) {
+ QString argument(argv[i]);
+ if(!wordListStarted) {
+ if(argument == "-s") {
+ wordListStarted = true;
+ }
+ }
+ else {
+ if(!argument.startsWith("-") &&
+ !argument.startsWith("--")) {
+ result << argument;
+ }
+ }
+ }
+
+ return result;
+}
+
+int main(int argc, char *argv[]) {
QApplication a(argc, argv);
+ QStringList search = parseParameters(argc, argv);
+
qRegisterMetaType<Translation*>("Translation*");
qRegisterMetaType<QList<Translation*> >("QList<Translation*>");
Backbone* backbone = new Backbone;
MainWindow* w = new MainWindow(backbone);
w->show();
+ if(search.count() > 0) {
+ w->search(search);
+ }
+
return a.exec();
}
}
dictionaryFile.close();
+}
+QString XdxfPlugin::removeAccents(QString string) {
+ QString normalized = string.normalized(QString::NormalizationForm_D);
+ for(int i=0; i<normalized.size(); i++) {
+ if(!normalized[i].isLetterOrNumber() && !normalized[i].isSpace()) {
+ normalized.remove(i,1);
+ }
+ }
+ return normalized;
}
Q_EXPORT_PLUGIN2(xdxf, XdxfPlugin)
//! stop current operation
void stop();
+
+protected:
+ QString removeAccents(QString);
+
private:
/*! returns true or false depending on whether the dictionary is cached
or not, not implemented yet