Jump to exact position on page, as identified by TOC entry. Handle
[dorian] / librarydialog.cpp
index c6e7e24..3fdfe16 100644 (file)
@@ -1,8 +1,5 @@
-#include <QtGui>
-#include <QDebug>
-#include <QFileInfo>
 #include <QDir>
-#include <QModelIndex>
+#include <QtGui>
 
 #ifdef Q_WS_MAEMO_5
 #include <QtMaemo5/QMaemo5InformationBox>
@@ -21,6 +18,7 @@
 #include "searchdialog.h"
 #include "platform.h"
 #include "searchresultsdialog.h"
+#include "progressdialog.h"
 
 LibraryDialog::LibraryDialog(QWidget *parent): ListWindow(parent)
 {
@@ -49,15 +47,7 @@ LibraryDialog::LibraryDialog(QWidget *parent): ListWindow(parent)
     setSelected(current);
     addList(list);
 
-    progress = new QProgressDialog(tr("Adding books"), "", 0, 0, this);
-    progress->reset();
-    progress->setMinimumDuration(0);
-    progress->setWindowModality(Qt::WindowModal);
-    progress->setCancelButton(0);
-#ifdef Q_WS_S60
-    progress->setFixedWidth(
-            QApplication::desktop()->availableGeometry().width());
-#endif
+    progress = new ProgressDialog(tr("Adding books"), this);
 
     connect(Library::instance(), SIGNAL(nowReadingChanged()),
             this, SLOT(onCurrentBookChanged()));
@@ -138,7 +128,6 @@ void LibraryDialog::onRemove()
 
 void LibraryDialog::onRead()
 {
-    qDebug() << "LibraryDialog::onRead";
     QModelIndex current = sortedLibrary->mapToSource(list->currentIndex());
     if (current.isValid()) {
         Library::instance()->setNowReading(current);
@@ -154,7 +143,7 @@ void LibraryDialog::onDetails()
 
 void LibraryDialog::onItemActivated(const QModelIndex &index)
 {
-    qDebug() << "LibraryDialog::onItemActivated";
+    TRACE;
     QModelIndex libraryIndex = sortedLibrary->mapToSource(index);
     Book *book = Library::instance()->book(libraryIndex);
     (new InfoDialog(book, this))->exec();
@@ -199,7 +188,7 @@ QModelIndex LibraryDialog::selected() const
 
 void LibraryDialog::onAddFolder()
 {
-    Trace t("LibraryDialog::onAddFolder");
+    TRACE;
 
     // Get folder name
     Settings *settings = Settings::instance();
@@ -242,7 +231,7 @@ void LibraryDialog::onAddFromFolderDone(int added)
 #ifdef Q_WS_MAEMO_5
     QMaemo5InformationBox::information(this, msg);
 #else
-    // FIXME
+    QMessageBox::information(this, tr("Done adding books"), msg);
 #endif
 }
 
@@ -258,19 +247,22 @@ void LibraryDialog::onSearch()
     if (ret != QDialog::Accepted) {
         return;
     }
+    progress->setLabelText(tr("Searching Project Gutenberg"));
+    progress->showWait();
     Search::instance()->start(searchDialog->query());
 }
 
 void LibraryDialog::showSearchResults()
 {
+    progress->reset();
     QList<Search::Result> results = Search::instance()->results();
     if (results.count() == 0) {
-        QMessageBox::information(this, tr("Search results"), tr("No books found"));
+        QMessageBox::information(this, tr("Search results"),
+                                 tr("No books found"));
         return;
     }
 
     SearchResultsDialog *dialog = new SearchResultsDialog(results, this);
-    // FIXME
     connect(dialog, SIGNAL(add(const Search::Result &)),
             this, SLOT(onAddSearchResult(const Search::Result &)));
     dialog->show();