UI: Add helper to delete layout and layout contents

This commit is contained in:
jp9000 2016-01-14 06:07:38 -08:00
parent 6262abc2c8
commit 370761ba29
2 changed files with 26 additions and 0 deletions

View file

@ -18,6 +18,7 @@
#include "qt-wrappers.hpp"
#include <graphics/graphics.h>
#include <QWidget>
#include <QLayout>
#include <QMessageBox>
#include <QDataStream>
@ -133,3 +134,25 @@ QDataStream &operator>>(QDataStream &in, OBSSceneItem &si)
return in;
}
void DeleteLayout(QLayout *layout)
{
if (!layout)
return;
for (;;) {
QLayoutItem *item = layout->takeAt(0);
if (!item)
break;
QLayout *subLayout = item->layout();
if (subLayout) {
DeleteLayout(subLayout);
} else {
delete item->widget();
delete item;
}
}
delete layout;
}

View file

@ -28,6 +28,7 @@
class QDataStream;
class QWidget;
class QLayout;
struct gs_window;
void OBSErrorBox(QWidget *parent, const char *msg, ...);
@ -60,3 +61,5 @@ public:
widget->blockSignals(blocked);
}
};
void DeleteLayout(QLayout *layout);