diff --git a/src/blackgui/guiutility.cpp b/src/blackgui/guiutility.cpp index 898dbd1c1..09615697d 100644 --- a/src/blackgui/guiutility.cpp +++ b/src/blackgui/guiutility.cpp @@ -16,6 +16,7 @@ #include #include #include +#include #include #include #include @@ -412,6 +413,15 @@ namespace BlackGui return rows; } + int CGuiUtility::clearModel(QAbstractItemModel *model) + { + if (!model) { return 0; } + const int count = model->rowCount(); + if (count < 1) { return 0; } + model->removeRows(0, count); + return count; + } + bool CGuiUtility::isTopLevelWidget(QWidget *widget) { if (!widget) { return false; } diff --git a/src/blackgui/guiutility.h b/src/blackgui/guiutility.h index 917ee6947..c5a802f24 100644 --- a/src/blackgui/guiutility.h +++ b/src/blackgui/guiutility.h @@ -32,6 +32,7 @@ class QLayout; class QMimeData; class QTabWidget; class QGraphicsOpacityEffect; +class QAbstractItemModel; namespace BlackMisc { class CIcon; } namespace BlackGui @@ -170,6 +171,9 @@ namespace BlackGui //! Only the row part and unique (so no rows is twice in the list) static QList indexToUniqueRows(const QModelIndexList &indexes); + //! Clear a model + static int clearModel(QAbstractItemModel *model); + //! Is top level widget? static bool isTopLevelWidget(QWidget *widget);