summaryrefslogtreecommitdiff
path: root/src/plugins/projectexplorer/projectwindow.h
diff options
context:
space:
mode:
authorTobias Hunger <qt-info@nokia.com>2009-11-25 15:18:51 +0100
committerTobias Hunger <qt-info@nokia.com>2009-11-25 15:18:51 +0100
commitfbcd6708542afd5d36ab147b973075dafad21d39 (patch)
tree0895c010f53d5d7caf8102b345ed6182ec4be3ba /src/plugins/projectexplorer/projectwindow.h
parent97ad69268491823e641222ab813f3996a5e4eaba (diff)
downloadqt-creator-fbcd6708542afd5d36ab147b973075dafad21d39.tar.gz
Improve memory management in project window.
* Panel struct does no longer take ownership of its widget. * Panels consitently delete their widget in their destructor. Reviewed-By: dt
Diffstat (limited to 'src/plugins/projectexplorer/projectwindow.h')
-rw-r--r--src/plugins/projectexplorer/projectwindow.h10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/plugins/projectexplorer/projectwindow.h b/src/plugins/projectexplorer/projectwindow.h
index c183a92805..ed7200bcb6 100644
--- a/src/plugins/projectexplorer/projectwindow.h
+++ b/src/plugins/projectexplorer/projectwindow.h
@@ -68,21 +68,25 @@ public:
// Adds a widget
void addWidget(QWidget *widget);
void addWidget(const QString &name, QWidget *widget);
- void removeWidget(QWidget *widget);
// Removes all widgets and deletes them
void clear();
-private:
+private:
struct Panel
{
+ // This does not take ownership of widget!
+ explicit Panel(QWidget * widget);
+ ~Panel();
+
QSpacerItem *spacer;
QLabel *nameLabel;
QWidget *panelWidget;
QHBoxLayout *marginLayout;
};
+ QList<Panel *> m_panels;
+
QVBoxLayout *m_layout;
- QList<Panel> m_panels;
};
class BuildConfigurationComboBox : public QStackedWidget