Git commit cd9797cc6be556514764ae8bdae46cb327f6aac4 by Jan Kundr?t. Committed on 04/09/2013 at 08:52. Pushed by jkt into branch 'master'.
GUI: show a spinner when waiting for message source M +10 -1 src/Gui/MessageSourceWidget.cpp M +3 -1 src/Gui/MessageSourceWidget.h http://commits.kde.org/trojita/cd9797cc6be556514764ae8bdae46cb327f6aac4 diff --git a/src/Gui/MessageSourceWidget.cpp b/src/Gui/MessageSourceWidget.cpp index 51bf47a..23650b3 100644 --- a/src/Gui/MessageSourceWidget.cpp +++ b/src/Gui/MessageSourceWidget.cpp @@ -22,16 +22,23 @@ #include "MessageSourceWidget.h" #include <QModelIndex> +#include "Gui/Spinner.h" #include "Imap/Model/FullMessageCombiner.h" namespace Gui { MessageSourceWidget::MessageSourceWidget(QWidget *parent, const QModelIndex &messageIndex): - QWebView(parent) + QWebView(parent), m_combiner(0), m_loadingSpinner(0) { Q_ASSERT(messageIndex.isValid()); page()->setNetworkAccessManager(0); + + m_loadingSpinner = new Spinner(this); + m_loadingSpinner->setText(tr("Fetching\nMessage")); + m_loadingSpinner->setType(Spinner::Sun); + m_loadingSpinner->start(250); + m_combiner = new Imap::Mailbox::FullMessageCombiner(messageIndex, this); connect(m_combiner, SIGNAL(completed()), this, SLOT(slotCompleted())); connect(m_combiner, SIGNAL(failed(QString)), this, SLOT(slotError(QString))); @@ -40,11 +47,13 @@ MessageSourceWidget::MessageSourceWidget(QWidget *parent, const QModelIndex &mes void MessageSourceWidget::slotCompleted() { + m_loadingSpinner->stop(); setContent(m_combiner->data(), QLatin1String("text/plain")); } void MessageSourceWidget::slotError(const QString &message) { + m_loadingSpinner->stop(); setContent(message.toUtf8(), QLatin1String("text/plain; charset=utf-8")); } diff --git a/src/Gui/MessageSourceWidget.h b/src/Gui/MessageSourceWidget.h index 7f2cbf7..f619440 100644 --- a/src/Gui/MessageSourceWidget.h +++ b/src/Gui/MessageSourceWidget.h @@ -38,6 +38,8 @@ namespace Mailbox namespace Gui { +class Spinner; + class MessageSourceWidget : public QWebView { Q_OBJECT @@ -50,7 +52,7 @@ private slots: private: Imap::Mailbox::FullMessageCombiner *m_combiner; - + Spinner *m_loadingSpinner; }; }
