cherry-pick:
[Qt, OSX] QProgressBar CPU-Issue workaround6093aa1bb0
0ceab00d16
[Qt, OSX] fix Qt4.8 compatibility with QProgressBar issuec5a2282855
This commit is contained in:
parent
f9e80690b9
commit
4e94fe1d52
@ -170,7 +170,7 @@ BitcoinGUI::BitcoinGUI(bool fIsTestnet, QWidget *parent) :
|
|||||||
// Progress bar and label for blocks download
|
// Progress bar and label for blocks download
|
||||||
progressBarLabel = new QLabel();
|
progressBarLabel = new QLabel();
|
||||||
progressBarLabel->setVisible(false);
|
progressBarLabel->setVisible(false);
|
||||||
progressBar = new QProgressBar();
|
progressBar = new GUIUtil::ProgressBar();
|
||||||
progressBar->setAlignment(Qt::AlignCenter);
|
progressBar->setAlignment(Qt::AlignCenter);
|
||||||
progressBar->setVisible(false);
|
progressBar->setVisible(false);
|
||||||
|
|
||||||
|
@ -5,9 +5,11 @@
|
|||||||
#ifndef GUIUTIL_H
|
#ifndef GUIUTIL_H
|
||||||
#define GUIUTIL_H
|
#define GUIUTIL_H
|
||||||
|
|
||||||
|
#include <QEvent>
|
||||||
#include <QHeaderView>
|
#include <QHeaderView>
|
||||||
#include <QMessageBox>
|
#include <QMessageBox>
|
||||||
#include <QObject>
|
#include <QObject>
|
||||||
|
#include <QProgressBar>
|
||||||
#include <QString>
|
#include <QString>
|
||||||
#include <QTableView>
|
#include <QTableView>
|
||||||
|
|
||||||
@ -177,6 +179,20 @@ namespace GUIUtil
|
|||||||
/* Convert OS specific boost path to QString through UTF-8 */
|
/* Convert OS specific boost path to QString through UTF-8 */
|
||||||
QString boostPathToQString(const boost::filesystem::path &path);
|
QString boostPathToQString(const boost::filesystem::path &path);
|
||||||
|
|
||||||
|
#if defined(Q_OS_MAC) && QT_VERSION >= 0x050000
|
||||||
|
// workaround for Qt OSX Bug:
|
||||||
|
// https://bugreports.qt-project.org/browse/QTBUG-15631
|
||||||
|
// QProgressBar uses around 10% CPU even when app is in background
|
||||||
|
class ProgressBar : public QProgressBar
|
||||||
|
{
|
||||||
|
bool event(QEvent *e) {
|
||||||
|
return (e->type() != QEvent::StyleAnimationUpdate) ? QProgressBar::event(e) : false;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
#else
|
||||||
|
typedef QProgressBar ProgressBar;
|
||||||
|
#endif
|
||||||
|
|
||||||
} // namespace GUIUtil
|
} // namespace GUIUtil
|
||||||
|
|
||||||
#endif // GUIUTIL_H
|
#endif // GUIUTIL_H
|
||||||
|
Loading…
Reference in New Issue
Block a user