Show progress while searching and downloading.
authorAkos Polster <akos@pipacs.com>
Sat, 30 Oct 2010 00:01:09 +0000 (02:01 +0200)
committerAkos Polster <akos@pipacs.com>
Sat, 30 Oct 2010 00:01:09 +0000 (02:01 +0200)
librarydialog.cpp
mainwindow.cpp
searchresultsdialog.cpp
searchresultsdialog.h
widgets/progressdialog.cpp

index 6d4f5fe..3ec1a98 100644 (file)
@@ -51,14 +51,6 @@ LibraryDialog::LibraryDialog(QWidget *parent): ListWindow(parent)
     addList(list);
 
     progress = new ProgressDialog(tr("Adding books"), this);
-    progress->reset();
-    progress->setMinimumDuration(0);
-    progress->setWindowModality(Qt::WindowModal);
-    progress->setCancelButton(0);
-#ifdef Q_WS_S60
-    progress->setFixedWidth(
-            QApplication::desktop()->availableGeometry().width());
-#endif
 
     connect(Library::instance(), SIGNAL(nowReadingChanged()),
             this, SLOT(onCurrentBookChanged()));
@@ -259,11 +251,17 @@ void LibraryDialog::onSearch()
     if (ret != QDialog::Accepted) {
         return;
     }
+    progress->setLabelText(tr("Searching Project Gutenberg"));
+    progress->setMinimum(0);
+    progress->setMaximum(0);
+    progress->setValue(0);
+    progress->show();
     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"));
index aab4ca0..73d1661 100755 (executable)
@@ -118,10 +118,6 @@ MainWindow::MainWindow(QWidget *parent):
 
     // Load library, upgrade it if needed
     libraryProgress = new ProgressDialog(tr("Upgrading library"), this);
-    libraryProgress->reset();
-    libraryProgress->setMinimumDuration(0);
-    libraryProgress->setWindowModality(Qt::WindowModal);
-    libraryProgress->setCancelButton(0);
     Library *library = Library::instance();
     connect(library, SIGNAL(beginUpgrade(int)), this, SLOT(onBeginUpgrade(int)));
     connect(library, SIGNAL(upgrading(const QString &)),
index a523839..3c38816 100644 (file)
@@ -4,6 +4,7 @@
 #include "searchresultsdialog.h"
 #include "searchresultinfodialog.h"
 #include "trace.h"
+#include "progressdialog.h"
 
 SearchResultsDialog::SearchResultsDialog(const QList<Search::Result> results_,
     QWidget *parent): ListWindow(parent), results(results_)
@@ -30,6 +31,8 @@ SearchResultsDialog::SearchResultsDialog(const QList<Search::Result> results_,
     Search *search = Search::instance();
     connect(search, SIGNAL(beginDownload(int)), this, SLOT(onBeginDownload(int)));
     connect(search, SIGNAL(endDownload()), this, SLOT(onEndDownload()));
+
+    progress = new ProgressDialog(tr("Downloading Book"), this);
 }
 
 void SearchResultsDialog::onItemActivated(const QModelIndex &index)
@@ -62,9 +65,14 @@ QString SearchResultsDialog::downloadName() const
 void SearchResultsDialog::onBeginDownload(int size)
 {
     Trace t("SearchResultsDialog::onBeginDownload");
+    progress->setMinimum(0);
+    progress->setMaximum(0);
+    progress->setValue(0);
+    progress->show();
 }
 
 void SearchResultsDialog::onEndDownload()
 {
     Trace t("SearchResultsDialog::onEndDownload");
+    progress->reset();
 }
index b161836..6abc9ad 100644 (file)
@@ -9,6 +9,7 @@
 
 class ListView;
 class QModelIndex;
+class ProgressDialog;
 
 class SearchResultsDialog: public ListWindow
 {
@@ -31,6 +32,7 @@ private:
     const QList<Search::Result> results;
     ListView *list;
     QStringList data;
+    ProgressDialog *progress;
 };
 
 #endif // SEARCHRESULTSDIALOG_H
index 7ea0b99..05b54a4 100644 (file)
@@ -6,4 +6,10 @@
 ProgressDialog::ProgressDialog(const QString &label, QWidget *parent):
     QProgressDialog(label, "", 0, 0, parent)
 {
+    setMinimumDuration(0);
+    setWindowModality(Qt::WindowModal);
+    setCancelButton(0);
+#ifdef Q_WS_S60
+    setFixedWidth(QApplication::desktop()->availableGeometry().width());
+#endif
 }