6 #include <QFontMetrics>
37 if (m_ownedStatusBar) {
delete m_statusBar; }
42 if (m_statusBar) {
return; }
43 m_ownedStatusBar = statusBar ? false :
true;
44 m_statusBar = statusBar ? statusBar :
new QStatusBar();
47 m_statusBarIcon =
new QLabel(m_statusBar);
49 m_statusBarLabel =
new QLabel(m_statusBar);
52 m_warningButton =
new QPushButton(
"WARN", m_statusBar);
54 m_warningButton->
setHidden(!m_showWarnButtonInitially);
55 m_warningButton->
setToolTip(
"ACK and show logs");
57 m_errorButton =
new QPushButton(
"ERROR", m_statusBar);
60 m_errorButton->
setHidden(!m_showErrorButtonInitially);
61 m_errorButton->
setToolTip(
"ACK and show logs");
94 if (!m_warningButton) { m_showWarnButtonInitially =
true; }
95 else { m_warningButton->
setHidden(
false); }
100 if (!m_errorButton) { m_showErrorButtonInitially =
true; }
101 else { m_errorButton->
setHidden(
false); }
106 if (!m_statusBar) {
return; }
112 if (!m_statusBar) {
return; }
121 Q_ASSERT_X(m_statusBarIcon, Q_FUNC_INFO,
"Missing status bar icon");
122 Q_ASSERT_X(m_statusBar, Q_FUNC_INFO,
"Missing status bar");
123 Q_ASSERT_X(m_statusBarLabel, Q_FUNC_INFO,
"Missing label");
126 if (statusMessage.
isEmpty()) {
return; }
134 m_timerStatusBar.
start(3000);
139 const int w = qRound(0.95 * size.
width());
146 m_statusBarLabel->
setText(elidedText);
162 void CManagedStatusBar::clearStatusBar()
164 m_currentSeverity = StatusSeverity::SeverityDebug;
165 if (!m_statusBar) {
return; }
166 m_statusBarIcon->
clear();
167 m_statusBarLabel->
clear();
170 void CManagedStatusBar::pressedWarnButton()
172 Q_ASSERT_X(m_warningButton, Q_FUNC_INFO,
"Missing warning button");
177 void CManagedStatusBar::pressedErrorButton()
179 Q_ASSERT_X(m_errorButton, Q_FUNC_INFO,
"Missing error button");
void showWarningButton()
Show warning log button.
void showErrorButton()
Show warning error button.
void setSizeGripEnabled(bool enabled)
Enabled size grip.
void displayStatusMessages(const swift::misc::CStatusMessageList &statusMessages)
Display status messages.
void displayStatusMessage(const swift::misc::CStatusMessage &statusMessage)
Display status message.
void initStatusBar(QStatusBar *statusBar=nullptr)
Init.
virtual ~CManagedStatusBar()
Destructor.
void requestLogPage()
Request to show the log page.
Value object for icons. An icon is stored in the global icon repository and identified by its index....
bool isEmpty() const
Message empty.
Streamable status message, e.g.
void markAsHandledBy(const QObject *object) const
Mark the message as having been handled by the given object.
bool isSeverityHigherOrEqual(CStatusMessage::StatusSeverity severity) const
Is this message's severity higher or equal.
StatusSeverity getSeverity() const
Message severity.
QString getMessage() const
Message.
CIcons::IconIndex toIcon() const
Representing icon.
bool wasHandledBy(const QObject *object) const
Returns true if the message was marked as having been handled by the given object.
Status messages, e.g. from Core -> GUI.
Free functions in swift::misc.
QString elidedText(const QString &text, Qt::TextElideMode mode, int width, int flags) const const
void setPixmap(const QPixmap &)
void setText(const QString &)
QMetaObject::Connection connect(const QObject *sender, PointerToMemberFunction signal, Functor functor)
void setObjectName(QAnyStringView name)
void setHeightForWidth(bool dependent)
void setHorizontalStretch(int stretchFactor)
void setVerticalStretch(int stretchFactor)
void setSizeGripEnabled(bool)
void setSingleShot(bool singleShot)