From b2719af6bbe417455054f8332c4f96ff067ebea2 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Mateusz=20P=C3=B3=C5=82rola?= Date: Tue, 10 Aug 2010 09:04:51 +0200 Subject: [PATCH] Added search from command line --- trunk/src/base/gui/MainWindow.cpp | 6 ++++++ trunk/src/base/gui/MainWindow.h | 3 +++ trunk/src/base/gui/SearchBarWidget.cpp | 18 +++++++++++++--- trunk/src/base/gui/SearchBarWidget.h | 3 ++- trunk/src/base/gui/main.cpp | 32 +++++++++++++++++++++++++++-- trunk/src/plugins/xdxf/src/xdxfplugin.cpp | 9 ++++++++ trunk/src/plugins/xdxf/src/xdxfplugin.h | 4 ++++ 7 files changed, 69 insertions(+), 6 deletions(-) diff --git a/trunk/src/base/gui/MainWindow.cpp b/trunk/src/base/gui/MainWindow.cpp index 146b5d8..7e673d8 100644 --- a/trunk/src/base/gui/MainWindow.cpp +++ b/trunk/src/base/gui/MainWindow.cpp @@ -50,6 +50,8 @@ MainWindow::MainWindow(Backbone *backbone, QWidget *parent): ui->menuBar->addAction(menuWidget); + connect(this, SIGNAL(searchWordList(QStringList)), + searchBarWidget, SLOT(searchWordList(QStringList))); connect(wordListWidget, SIGNAL(showTranslation(QList)), translationWidget, SLOT(show(QList))); @@ -84,3 +86,7 @@ void MainWindow::closeOk() { closingApplication = true; close();*/ } + +void MainWindow::search(QStringList words) { + emit searchWordList(words); +} diff --git a/trunk/src/base/gui/MainWindow.h b/trunk/src/base/gui/MainWindow.h index f9902b9..eb9b999 100644 --- a/trunk/src/base/gui/MainWindow.h +++ b/trunk/src/base/gui/MainWindow.h @@ -42,6 +42,8 @@ class MainWindow : public QMainWindow public: explicit MainWindow(Backbone* backbone, QWidget *parent = 0); ~MainWindow(); + void search(QStringList); + public Q_SLOTS: //! Confirmation from backbone that we can close program @@ -50,6 +52,7 @@ public Q_SLOTS: 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 diff --git a/trunk/src/base/gui/SearchBarWidget.cpp b/trunk/src/base/gui/SearchBarWidget.cpp index 3ff3a7e..168b968 100644 --- a/trunk/src/base/gui/SearchBarWidget.cpp +++ b/trunk/src/base/gui/SearchBarWidget.cpp @@ -55,8 +55,8 @@ SearchBarWidget::SearchBarWidget(Backbone* backbone, QWidget *parent) : //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())); @@ -167,7 +167,19 @@ void SearchBarWidget::searchPushButtonClicked() { 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); } } diff --git a/trunk/src/base/gui/SearchBarWidget.h b/trunk/src/base/gui/SearchBarWidget.h index ec93ed4..0c7ca2d 100644 --- a/trunk/src/base/gui/SearchBarWidget.h +++ b/trunk/src/base/gui/SearchBarWidget.h @@ -47,7 +47,7 @@ public: 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(); @@ -60,6 +60,7 @@ public Q_SLOTS: */ void setEnabled(bool enabled = true); void searchFinished(); + void searchWordList(QStringList); private Q_SLOTS: void clearSearchWordToolButtonClicked(); diff --git a/trunk/src/base/gui/main.cpp b/trunk/src/base/gui/main.cpp index aa088bb..22ce39f 100644 --- a/trunk/src/base/gui/main.cpp +++ b/trunk/src/base/gui/main.cpp @@ -25,16 +25,44 @@ #include "MainWindow.h" #include "../backbone/backbone.h" #include "../../includes/translation.h" +#include -int main(int argc, char *argv[]) -{ + +QStringList parseParameters(int argc, char *argv[]) { + bool wordListStarted = false; + QStringList result; + for(int i=1; i("Translation*"); qRegisterMetaType >("QList"); Backbone* backbone = new Backbone; MainWindow* w = new MainWindow(backbone); w->show(); + if(search.count() > 0) { + w->search(search); + } + return a.exec(); } diff --git a/trunk/src/plugins/xdxf/src/xdxfplugin.cpp b/trunk/src/plugins/xdxf/src/xdxfplugin.cpp index 96f9e26..61a482b 100644 --- a/trunk/src/plugins/xdxf/src/xdxfplugin.cpp +++ b/trunk/src/plugins/xdxf/src/xdxfplugin.cpp @@ -245,7 +245,16 @@ void XdxfPlugin::getDictionaryInfo() { } dictionaryFile.close(); +} +QString XdxfPlugin::removeAccents(QString string) { + QString normalized = string.normalized(QString::NormalizationForm_D); + for(int i=0; i