#include <QStackedWidget>
#include <QDateTime>
#include <QMovie>
+#include <QTimer>
#include <QDragEnterEvent>
#include <QUrl>
}
// Set icon state: spinning if catching up, tick otherwise
- if(secs < 30*60)
+ if(secs < 90*60 && count >= nTotalBlocks)
{
tooltip = tr("Up to date") + QString(".\n") + tooltip;
labelBlocksIcon->setPixmap(QIcon(":/icons/synced").pixmap(STATUSBAR_ICONSIZE,STATUSBAR_ICONSIZE));
setNumBlocks(clientModel->getNumBlocks());
}
-void BitcoinGUI::error(const QString &title, const QString &message)
+bool HACK_SHUTDOWN = false;
+
+void BitcoinGUI::error(const QString &title, const QString &message, bool modal)
{
// Report errors from network/worker thread
- notificator->notify(Notificator::Critical, title, message);
+ if (modal)
+ {
+ QMessageBox::critical(this, title, message, QMessageBox::Ok, QMessageBox::Ok);
+ if (HACK_SHUTDOWN)
+ QMetaObject::invokeMethod(QCoreApplication::instance(), "quit", Qt::QueuedConnection);
+ } else {
+ notificator->notify(Notificator::Critical, title, message);
+ }
}
void BitcoinGUI::changeEvent(QEvent *e)
{
+ QMainWindow::changeEvent(e);
#ifndef Q_WS_MAC // Ignored on Mac
if(e->type() == QEvent::WindowStateChange)
{
if(clientModel && clientModel->getOptionsModel()->getMinimizeToTray())
{
QWindowStateChangeEvent *wsevt = static_cast<QWindowStateChangeEvent*>(e);
- bool wasMinimized = wsevt->oldState() & Qt::WindowMinimized;
- bool isMinimized = windowState() & Qt::WindowMinimized;
- if(!wasMinimized && isMinimized)
+ if(!(wsevt->oldState() & Qt::WindowMinimized) && isMinimized())
{
- // Minimized, hide the window from taskbar
- setWindowFlags(windowFlags() | Qt::Tool);
- return;
- }
- else if(wasMinimized && !isMinimized)
- {
- // Unminimized, show the window in taskbar
- setWindowFlags(windowFlags() &~ Qt::Tool);
+ QTimer::singleShot(0, this, SLOT(hide()));
+ e->ignore();
}
}
}
#endif
- QMainWindow::changeEvent(e);
}
void BitcoinGUI::closeEvent(QCloseEvent *event)
void BitcoinGUI::dragEnterEvent(QDragEnterEvent *event)
{
- // Accept only URLs
+ // Accept only URIs
if(event->mimeData()->hasUrls())
event->acceptProposedAction();
}
if(event->mimeData()->hasUrls())
{
gotoSendCoinsPage();
- QList<QUrl> urls = event->mimeData()->urls();
- foreach(const QUrl &url, urls)
+ QList<QUrl> uris = event->mimeData()->urls();
+ foreach(const QUrl &uri, uris)
{
- sendCoinsPage->handleURL(&url);
+ sendCoinsPage->handleURI(&uri);
}
}