mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-03 15:45:46 +08:00
Ref T346, framless window “UpdateLayeredWindowIndirect failed” error preparations
This commit is contained in:
@@ -416,9 +416,31 @@ namespace BlackGui
|
||||
|
||||
bool CGuiUtility::isTopLevelWidget(QWidget *widget)
|
||||
{
|
||||
if (!widget) { return false; }
|
||||
return QApplication::topLevelWidgets().contains(widget);
|
||||
}
|
||||
|
||||
bool CGuiUtility::isTopLevelWindow(QWidget *widget)
|
||||
{
|
||||
if (!widget) { return false; }
|
||||
if (!widget->isWindow()) { return false; }
|
||||
return QApplication::topLevelWidgets().contains(widget);
|
||||
}
|
||||
|
||||
bool CGuiUtility::isQMainWindow(QWidget *widget)
|
||||
{
|
||||
if (!widget) { return false; }
|
||||
QMainWindow *mw = qobject_cast<QMainWindow *>(widget);
|
||||
return mw;
|
||||
}
|
||||
|
||||
bool CGuiUtility::isDialog(QWidget *widget)
|
||||
{
|
||||
if (!widget) { return false; }
|
||||
QDialog *mw = qobject_cast<QDialog *>(widget);
|
||||
return mw;
|
||||
}
|
||||
|
||||
QGraphicsOpacityEffect *CGuiUtility::fadeInWidget(int durationMs, QWidget *widget, double startValue, double endValue)
|
||||
{
|
||||
// http://stackoverflow.com/questions/19087822/how-to-make-qt-widgets-fade-in-or-fade-out#
|
||||
@@ -543,8 +565,8 @@ namespace BlackGui
|
||||
QWidget *w = CGuiUtility::mainApplicationWidget();
|
||||
if (!w) { return; }
|
||||
const QSize s = CGuiUtility::desktopSize();
|
||||
const int minW = wRatio * s.width();
|
||||
const int minH = hRatio * s.height();
|
||||
const int minW = qRound(wRatio * s.width());
|
||||
const int minH = qRound(hRatio * s.height());
|
||||
w->setMinimumWidth(qMin(minW, w->minimumWidth()));
|
||||
w->setMinimumHeight(qMin(minH, w->minimumHeight()));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user