Ref T554, find parent dialog

This commit is contained in:
Klaus Basan
2019-03-15 03:52:50 +01:00
committed by Mat Sutcliffe
parent 11785c434d
commit db0df3b00e
2 changed files with 15 additions and 0 deletions

View File

@@ -634,4 +634,15 @@ namespace BlackGui
return QStringLiteral("<img src=\"%1\" height=%2>").arg(p, QString::number(height));
}
QDialog *CGuiUtility::findParentDialog(QWidget *widget)
{
if (CGuiUtility::isDialog(widget)) { return qobject_cast<QDialog *>(widget); }
while (widget->parent())
{
widget = widget->parentWidget();
if (CGuiUtility::isDialog(widget)) { return qobject_cast<QDialog *>(widget); }
}
return nullptr;
}
} // ns

View File

@@ -31,6 +31,7 @@ class QLayout;
class QMimeData;
class QLineEdit;
class QTabWidget;
class QDialog;
class QGraphicsOpacityEffect;
class QAbstractItemModel;
@@ -233,6 +234,9 @@ namespace BlackGui
//! CIcon as simple HTML image code segment
static QString asSimpleHtmlImageHeight(const BlackMisc::CIcon &icon, int height = -1);
//! Find parent dialog if there is any, otherwise null
static QDialog *findParentDialog(QWidget *widget);
private:
//! No constructor, use static functions only
CGuiUtility() {}