Merge branch 'bookmarks' of ssh://drop.maemo.org/git/mdictionary into bookmarks
authorMateusz Półrola <mateusz.polrola@comarch.pl>
Mon, 16 Aug 2010 13:34:15 +0000 (15:34 +0200)
committerMateusz Półrola <mateusz.polrola@comarch.pl>
Mon, 16 Aug 2010 13:34:15 +0000 (15:34 +0200)
Conflicts:
trunk/src/base/base.pro
trunk/src/plugins/xdxf/src/xdxfplugin.cpp

1  2 
trunk/src/base/base.pro
trunk/src/base/gui/MainWindow.cpp
trunk/src/plugins/xdxf/src/xdxfplugin.cpp

diff --combined trunk/src/base/base.pro
@@@ -4,7 -4,7 +4,7 @@@
  #
  #-------------------------------------------------
  
- QT       += core gui
+ QT       += core gui sql
  
  maemo5 {
      QT += maemo5
@@@ -33,8 -33,7 +33,8 @@@ SOURCES += gui/main.cpp
      gui/DictTypeSelectDialog.cpp \
      backbone/History.cpp \
      gui/HistoryListDialog.cpp \
 -    backbone/Bookmarks.cpp
 +    backbone/Bookmarks.cpp \
 +    gui/WordListItem.cpp
  
  HEADERS  += gui/MainWindow.h \
      gui/SearchBarWidget.h \
@@@ -53,7 -52,7 +53,8 @@@
      gui/HistoryListDialog.h \
      ../includes/GUIInterface.h \
      backbone/Bookmarks.h \
-     gui/WordListItem.h
++    gui/WordListItem.h \
+     backbone/BookmarkTranslations.h
  
  FORMS    += gui/MainWindow.ui
  
@@@ -76,15 -75,9 +77,15 @@@ unix 
  
    target.path =$$BINDIR
  
 +maemo5 {
    desktop.path = $$DATADIR/applications/hildon
 -  desktop.files += ../../../data/other/$${TARGET}.desktop
 -
    icon64.path = $$DATADIR/icons/hicolor/64x64/hildon
 +}
 +
 +unix {
 +  desktop.path = $$DATADIR/applications
 +  icon64.path = $$DATADIR/icons
 +}
 +  desktop.files += ../../../data/other/$${TARGET}.desktop
    icon64.files += ../../../data/icons/64x64/$${TARGET}.png
  }
@@@ -46,8 -46,6 +46,8 @@@ MainWindow::MainWindow(Backbone *backbo
      setExactSearch(false);
  
      setWindowTitle("mDictionary");
 +
 +    showMaximized();
  }
  
  MainWindow::~MainWindow() {
@@@ -71,33 -69,19 +71,33 @@@ void MainWindow::initializeUI() 
      //only create it with this widget as parent
      translationWidget = new TranslationWidget(this);
  
 -    ui->centralWidget->layout()->addWidget(wordListWidget);
 +    #ifdef Q_WS_MAEMO_5
 +        ui->centralWidget->layout()->addWidget(wordListWidget);
 +    #else
 +        splitter = new QSplitter(Qt::Horizontal);
 +        splitter->addWidget(wordListWidget);
 +        splitter->addWidget(translationWidget);
 +        splitter->setStretchFactor(1, 150);
 +        ui->centralWidget->layout()->addWidget(splitter);
 +    #endif
      ui->centralWidget->layout()->addWidget(searchBarWidget);
  
  
  
      dictManagerWidget = new DictManagerWidget(this);
 +    dictManagerWidget->hide();
 +    #ifdef Q_WS_MAEMO_5
 +        menuWidget = new MenuWidget(this);
 +        menuWidget->addSubMenu(tr("Dictionaries"), dictManagerWidget);
 +        menuWidget->addSubMenu(tr("Settings"), new QPushButton("Settings"));
 +        menuWidget->addSubMenu(tr("About"), new QPushButton("About"));
 +        ui->menuBar->addAction(menuWidget);
 +    #else
 +        dictionariesAction = ui->menuBar->addAction(tr("Dictionaries"));
 +        connect(dictionariesAction, SIGNAL(triggered()),
 +                dictManagerWidget, SLOT(show()));
 +    #endif
  
 -    menuWidget = new MenuWidget(this);
 -    menuWidget->addSubMenu(tr("Dictionaries"), dictManagerWidget);
 -    menuWidget->addSubMenu(tr("Settings"), new QPushButton("Settings"));
 -    menuWidget->addSubMenu(tr("About"), new QPushButton("About"));
 -
 -    ui->menuBar->addAction(menuWidget);
  }
  
  void MainWindow::closeEvent(QCloseEvent *event) {
@@@ -220,23 -204,15 +220,23 @@@ void MainWindow::historyPrev() 
  }
  
  void MainWindow::disableMenu() {
 -    if(ui->menuBar->actions().contains(menuWidget)) {
 -        ui->menuBar->removeAction(menuWidget);
 -    }
 +    #ifdef Q_WS_MAEMO_5
 +        if(ui->menuBar->actions().contains(menuWidget)) {
 +              ui->menuBar->removeAction(menuWidget);
 +        }
 +    #else
 +        ui->menuBar->setEnabled(false);
 +    #endif
  }
  
  void MainWindow::enableMenu() {
 -    if(!ui->menuBar->actions().contains(menuWidget)) {
 -        ui->menuBar->addAction(menuWidget);
 -    }
 +    #ifdef Q_WS_MAEMO_5
 +        if(!ui->menuBar->actions().contains(menuWidget)) {
 +            ui->menuBar->addAction(menuWidget);
 +        }
 +    #else
 +        ui->menuBar->setEnabled(true);
 +    #endif
  }
  
  void MainWindow::showHistory() {
@@@ -348,6 -324,11 +348,11 @@@ void MainWindow::connectWordList() 
      connect(wordListWidget, SIGNAL(showTranslation(QList<Translation*>)),
              this, SIGNAL(searchTranslations(QList<Translation*>)));
  
+     //TODO TEMP
+     connect(wordListWidget, SIGNAL(showTranslation(QList<Translation*>)),
+             backbone, SLOT(addBookmark(QList<Translation*>)));
  
      connect(this, SIGNAL(setBusy()),
              wordListWidget, SLOT(lockList()));
@@@ -68,6 -68,9 +68,9 @@@ QString XdxfPlugin::infoNote() const 
  
  QList<Translation*> XdxfPlugin::searchWordList(QString word, int limit) {
      //if(_settings->value("cached") == "true")
+     if(word.indexOf("*")==-1 && word.indexOf("?")==-1 && word.indexOf("_")==-1
+        && word.indexOf("%")==-1)
+         word+="*";
      if(isCached())
          return searchWordListCache(word,limit);
      return searchWordListFile(word, limit);
@@@ -111,8 -114,6 +114,6 @@@ QList<Translation*> XdxfPlugin::searchW
      word = removeAccents(word);
  
      stopped = false;
-     if(word.indexOf("*")==-1)
-         word+="*";
      QRegExp regWord(word);
      regWord.setCaseSensitivity(Qt::CaseInsensitive);
      regWord.setPatternSyntax(QRegExp::Wildcard);
              if(regWord.exactMatch(removeAccents(a)) && (i<limit || limit==0)) {
                  bool ok=true;
                  Translation *tran;
-                 foreach(tran,translations)
-                 {
+                 foreach(tran,translations) {
                      if(tran->key()==a)
                          ok=false;  /*if key word is in the dictionary more that one */
                  }
@@@ -274,13 -274,11 +274,11 @@@ bool XdxfPlugin::isAvailable() const 
      return true;
  }
  
- void XdxfPlugin::setHash(uint _hash)
- {
+ void XdxfPlugin::setHash(uint _hash) {
      this->_hash=_hash;
  }
  
- uint XdxfPlugin::hash() const
- {
+ uint XdxfPlugin::hash() const {
     return _hash;
  }
  
@@@ -288,8 -286,7 +286,7 @@@ Settings* XdxfPlugin::settings() 
      return _settings;
  }
  
- bool XdxfPlugin::isCached()
- {
+ bool XdxfPlugin::isCached() {
      if(_settings->value("cached") == "true")
          return true;
      return false;
@@@ -341,7 -338,6 +338,6 @@@ void XdxfPlugin::getDictionaryInfo() 
  }
  
  QString XdxfPlugin::removeAccents(QString string) {
      string = string.replace(QString::fromUtf8("ł"), "l", Qt::CaseInsensitive);
      QString normalized = string.normalized(QString::NormalizationForm_D);
      normalized = normalized;
@@@ -409,9 -405,10 +405,9 @@@ bool XdxfPlugin::makeCache(QString dir
  
      QXmlStreamReader reader(&dictionaryFile);
  
 -
      db.setDatabaseName(cachePathN);
      if(!db.open()) {
 -        qDebug() << "Database error" << endl;
 +        qDebug() << "Database error" << db.lastError().text() << endl;
          return false;
      }
      QCoreApplication::processEvents();
      while (!reader.atEnd() && !stopped) {
  
          QCoreApplication::processEvents();
-         //usleep(50);
 -       // usleep(50);
          reader.readNext();
  
          if(reader.tokenType() == QXmlStreamReader::StartElement) {