mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-03 15:45:46 +08:00
Ref T203, overlay messages can be forced small and factors set
This commit is contained in:
@@ -28,7 +28,8 @@ namespace BlackGui
|
||||
COverlayMessagesFrame::COverlayMessagesFrame(QWidget *parent) :
|
||||
QFrame(parent)
|
||||
{
|
||||
// void
|
||||
const bool isFrameless = CGuiUtility::isMainWindowFrameless();
|
||||
m_middleFactor = isFrameless ? 1.25 : 1.5; // 2 is middle in normal window
|
||||
}
|
||||
|
||||
COverlayMessagesFrame::~COverlayMessagesFrame()
|
||||
@@ -39,6 +40,13 @@ namespace BlackGui
|
||||
this->initInnerFrame();
|
||||
}
|
||||
|
||||
void COverlayMessagesFrame::setOverlaySizeFactors(double widthFactor, double heightFactor, double middleFactor)
|
||||
{
|
||||
m_widthFactor = widthFactor;
|
||||
m_heightFactor = heightFactor;
|
||||
m_middleFactor = middleFactor;
|
||||
}
|
||||
|
||||
void COverlayMessagesFrame::showKillButton(bool killButton)
|
||||
{
|
||||
m_showKillButton = killButton;
|
||||
@@ -48,6 +56,15 @@ namespace BlackGui
|
||||
}
|
||||
}
|
||||
|
||||
void COverlayMessagesFrame::setForceSmall(bool force)
|
||||
{
|
||||
m_forceSmallMsgs = force;
|
||||
if (m_overlayMessages)
|
||||
{
|
||||
m_overlayMessages->setForceSmall(force);
|
||||
}
|
||||
}
|
||||
|
||||
void COverlayMessagesFrame::showOverlayMessagesWithConfirmation(
|
||||
const CStatusMessageList &messages, bool appendOldMessages,
|
||||
const QString &confirmationMessage, std::function<void ()> okLambda,
|
||||
@@ -153,17 +170,16 @@ namespace BlackGui
|
||||
m_overlayMessages = new COverlayMessages(inner.width(), inner.height(), this);
|
||||
m_overlayMessages->addShadow();
|
||||
m_overlayMessages->showKillButton(m_showKillButton);
|
||||
m_overlayMessages->setForceSmall(m_forceSmallMsgs);
|
||||
}
|
||||
|
||||
Q_ASSERT(m_overlayMessages);
|
||||
|
||||
const bool isFrameless = CGuiUtility::isMainWindowFrameless();
|
||||
const QPoint middle = this->geometry().center();
|
||||
const double yFactor = isFrameless ? 1.25 : 1.5; // 2 is middle in normal window
|
||||
const int w = inner.width();
|
||||
const int h = inner.height();
|
||||
const int x = middle.x() - w / 2;
|
||||
const int y = middle.y() - h / yFactor;
|
||||
const int y = middle.y() - h / m_middleFactor;
|
||||
m_overlayMessages->setGeometry(x, y, w, h);
|
||||
}
|
||||
} // ns
|
||||
|
||||
Reference in New Issue
Block a user