Remove ToolBarWidgetFactoryInterface from WidgetInfo

Since it is sometimes created with new but never used,
it leaked memory.

Change-Id: I5adfb71f9c773be37c1cefc619236bad9f34aad1
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
This commit is contained in:
Knud Dollereder
2022-02-03 14:51:57 +01:00
parent 68fd73713b
commit 381bfd623c
15 changed files with 7 additions and 71 deletions

View File

@@ -207,7 +207,6 @@ void ConnectionView::importsChanged(const QList<Import> & /*addedImports*/, cons
WidgetInfo ConnectionView::widgetInfo()
{
return createWidgetInfo(m_connectionViewWidget.data(),
new WidgetInfo::ToolBarWidgetDefaultFactory<ConnectionViewWidget>(connectionViewWidget()),
QLatin1String("ConnectionView"),
WidgetInfo::LeftPane,
0,

View File

@@ -70,7 +70,7 @@ bool CurveEditorView::hasWidget() const
WidgetInfo CurveEditorView::widgetInfo()
{
return createWidgetInfo(
m_editor, nullptr, "CurveEditorId", WidgetInfo::BottomPane, 0, tr("CurveEditor"));
m_editor, "CurveEditorId", WidgetInfo::BottomPane, 0, tr("CurveEditor"));
}
void CurveEditorView::modelAttached(Model *model)

View File

@@ -355,7 +355,7 @@ void DebugView::rewriterEndTransaction()
WidgetInfo DebugView::widgetInfo()
{
return createWidgetInfo(m_debugViewWidget.data(), nullptr, QStringLiteral("DebugView"), WidgetInfo::LeftPane, 0, tr("Debug View"));
return createWidgetInfo(m_debugViewWidget.data(), QStringLiteral("DebugView"), WidgetInfo::LeftPane, 0, tr("Debug View"));
}
bool DebugView::hasWidget() const

View File

@@ -83,7 +83,7 @@ WidgetInfo Edit3DView::widgetInfo()
if (!m_edit3DWidget)
createEdit3DWidget();
return createWidgetInfo(m_edit3DWidget.data(), nullptr, "Editor3D", WidgetInfo::CentralPane, 0, tr("3D Editor"), DesignerWidgetFlags::IgnoreErrors);
return createWidgetInfo(m_edit3DWidget.data(), "Editor3D", WidgetInfo::CentralPane, 0, tr("3D Editor"), DesignerWidgetFlags::IgnoreErrors);
}
Edit3DWidget *Edit3DView::edit3DWidget() const

View File

@@ -361,7 +361,7 @@ WidgetInfo FormEditorView::widgetInfo()
if (!m_formEditorWidget)
createFormEditorWidget();
return createWidgetInfo(m_formEditorWidget.data(), nullptr, "FormEditor", WidgetInfo::CentralPane, 0, tr("Form Editor"), DesignerWidgetFlags::IgnoreErrors);
return createWidgetInfo(m_formEditorWidget.data(), "FormEditor", WidgetInfo::CentralPane, 0, tr("Form Editor"), DesignerWidgetFlags::IgnoreErrors);
}
FormEditorWidget *FormEditorView::formEditorWidget()

View File

@@ -104,7 +104,6 @@ WidgetInfo ItemLibraryView::widgetInfo()
}
return createWidgetInfo(m_widget.data(),
new WidgetInfo::ToolBarWidgetDefaultFactory<ItemLibraryWidget>(m_widget.data()),
QStringLiteral("Library"),
WidgetInfo::LeftPane,
0,

View File

@@ -132,7 +132,6 @@ WidgetInfo NavigatorView::widgetInfo()
setupWidget();
return createWidgetInfo(m_widget.data(),
new WidgetInfo::ToolBarWidgetDefaultFactory<NavigatorWidget>(m_widget.data()),
QStringLiteral("Navigator"),
WidgetInfo::LeftPane,
0,

View File

@@ -795,7 +795,7 @@ bool PropertyEditorView::hasWidget() const
WidgetInfo PropertyEditorView::widgetInfo()
{
return createWidgetInfo(m_stackedWidget, nullptr, QStringLiteral("Properties"), WidgetInfo::RightPane, 0, tr("Properties"));
return createWidgetInfo(m_stackedWidget, QStringLiteral("Properties"), WidgetInfo::RightPane, 0, tr("Properties"));
}
void PropertyEditorView::currentStateChanged(const ModelNode &node)

View File

@@ -77,7 +77,7 @@ WidgetInfo StatesEditorView::widgetInfo()
if (!m_statesEditorWidget)
m_statesEditorWidget = new StatesEditorWidget(this, m_statesEditorModel.data());
return createWidgetInfo(m_statesEditorWidget.data(), nullptr, QLatin1String("StatesEditor"), WidgetInfo::BottomPane, 0, tr("States"));
return createWidgetInfo(m_statesEditorWidget.data(), QLatin1String("StatesEditor"), WidgetInfo::BottomPane, 0, tr("States"));
}
void StatesEditorView::rootNodeTypeChanged(const QString &/*type*/, int /*majorVersion*/, int /*minorVersion*/)

View File

@@ -149,7 +149,7 @@ void TextEditorView::nodeReparented(const ModelNode &/*node*/, const NodeAbstrac
WidgetInfo TextEditorView::widgetInfo()
{
return createWidgetInfo(m_widget, nullptr, "TextEditor", WidgetInfo::CentralPane, 0, tr("Text Editor"), DesignerWidgetFlags::IgnoreErrors);
return createWidgetInfo(m_widget, "TextEditor", WidgetInfo::CentralPane, 0, tr("Text Editor"), DesignerWidgetFlags::IgnoreErrors);
}
void TextEditorView::contextHelp(const Core::IContext::HelpCallback &callback) const

View File

@@ -669,7 +669,6 @@ TimelineWidget *TimelineView::createWidget()
WidgetInfo TimelineView::widgetInfo()
{
return createWidgetInfo(createWidget(),
nullptr,
QStringLiteral("Timelines"),
WidgetInfo::BottomPane,
0,

View File

@@ -323,7 +323,6 @@ TransitionEditorWidget *TransitionEditorView::createWidget()
WidgetInfo TransitionEditorView::widgetInfo()
{
return createWidgetInfo(createWidget(),
nullptr,
"TransitionEditor",
WidgetInfo::BottomPane,
0,

View File

@@ -70,30 +70,6 @@ enum DesignerWidgetFlags {
class WidgetInfo {
public:
class ToolBarWidgetFactoryInterface {
public:
ToolBarWidgetFactoryInterface() = default;
virtual QList<QToolButton*> createToolBarWidgets() = 0;
virtual ~ToolBarWidgetFactoryInterface() = default;
};
template <class T>
class ToolBarWidgetDefaultFactory : public ToolBarWidgetFactoryInterface {
public:
ToolBarWidgetDefaultFactory(T *t ) : m_t(t)
{}
QList<QToolButton*> createToolBarWidgets() override
{
return m_t->createToolBarWidgets();
}
private:
T * m_t;
};
enum PlacementHint {
NoPane,
LeftPane,
@@ -108,7 +84,6 @@ public:
QWidget *widget = nullptr;
int placementPriority;
PlacementHint placementHint;
ToolBarWidgetFactoryInterface *toolBarWidgetFactory = nullptr;
DesignerWidgetFlags widgetFlags = DesignerWidgetFlags::DisableOnError;
};
@@ -311,7 +286,6 @@ protected:
void setModel(Model * model);
void removeModel();
static WidgetInfo createWidgetInfo(QWidget *widget = nullptr,
WidgetInfo::ToolBarWidgetFactoryInterface *toolBarWidgetFactory = nullptr,
const QString &uniqueId = QString(),
WidgetInfo::PlacementHint placementHint = WidgetInfo::NoPane,
int placementPriority = 0,

View File

@@ -129,7 +129,6 @@ void AbstractView::removeModel()
}
WidgetInfo AbstractView::createWidgetInfo(QWidget *widget,
WidgetInfo::ToolBarWidgetFactoryInterface *toolBarWidgetFactory,
const QString &uniqueId,
WidgetInfo::PlacementHint placementHint,
int placementPriority,
@@ -139,7 +138,6 @@ WidgetInfo AbstractView::createWidgetInfo(QWidget *widget,
WidgetInfo widgetInfo;
widgetInfo.widget = widget;
widgetInfo.toolBarWidgetFactory = toolBarWidgetFactory;
widgetInfo.uniqueId = uniqueId;
widgetInfo.placementHint = placementHint;
widgetInfo.placementPriority = placementPriority;

View File

@@ -110,37 +110,6 @@ QList<QToolButton *> ItemLibrarySideBarItem::createToolBarWidgets()
return qobject_cast<ItemLibraryWidget*>(widget())->createToolBarWidgets();
}
class DesignerSideBarItem : public Core::SideBarItem
{
public:
explicit DesignerSideBarItem(QWidget *widget, WidgetInfo::ToolBarWidgetFactoryInterface *createToolBarWidgets, const QString &id);
~DesignerSideBarItem() override;
QList<QToolButton *> createToolBarWidgets() override;
private:
WidgetInfo::ToolBarWidgetFactoryInterface *m_toolBarWidgetFactory;
};
DesignerSideBarItem::DesignerSideBarItem(QWidget *widget, WidgetInfo::ToolBarWidgetFactoryInterface *toolBarWidgetFactory, const QString &id)
: Core::SideBarItem(widget, id) , m_toolBarWidgetFactory(toolBarWidgetFactory)
{
}
DesignerSideBarItem::~DesignerSideBarItem()
{
delete m_toolBarWidgetFactory;
}
QList<QToolButton *> DesignerSideBarItem::createToolBarWidgets()
{
if (m_toolBarWidgetFactory)
return m_toolBarWidgetFactory->createToolBarWidgets();
return QList<QToolButton *>();
}
// ---------- DesignModeWidget
DesignModeWidget::DesignModeWidget()
: m_toolBar(new Core::EditorToolBar(this))