forked from qt-creator/qt-creator
QmlDesigner: initialize warningWidget on use
Change-Id: If165a3a8a4adfae166424dcf4a6257f483043f8c Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
This commit is contained in:
@@ -217,7 +217,7 @@ void DesignModeWidget::enableWidgets()
|
|||||||
{
|
{
|
||||||
if (debug)
|
if (debug)
|
||||||
qDebug() << Q_FUNC_INFO;
|
qDebug() << Q_FUNC_INFO;
|
||||||
m_warningWidget->setVisible(false);
|
hideWarningWidget();
|
||||||
viewManager().enableWidgets();
|
viewManager().enableWidgets();
|
||||||
m_leftSideBar->setEnabled(true);
|
m_leftSideBar->setEnabled(true);
|
||||||
m_rightSideBar->setEnabled(true);
|
m_rightSideBar->setEnabled(true);
|
||||||
@@ -299,18 +299,6 @@ void DesignModeWidget::setup()
|
|||||||
m_mainSplitter = new MiniSplitter(this);
|
m_mainSplitter = new MiniSplitter(this);
|
||||||
m_mainSplitter->setObjectName("mainSplitter");
|
m_mainSplitter->setObjectName("mainSplitter");
|
||||||
|
|
||||||
// warning frame should be not in layout, but still child of the widget
|
|
||||||
m_warningWidget = new DocumentWarningWidget(this);
|
|
||||||
m_warningWidget->setVisible(false);
|
|
||||||
connect(m_warningWidget.data(), &DocumentWarningWidget::gotoCodeClicked, [=]
|
|
||||||
(const QString &filePath, int codeLine, int codeColumn) {
|
|
||||||
Q_UNUSED(filePath);
|
|
||||||
|
|
||||||
if (currentDesignDocument() && currentDesignDocument()->textEditor())
|
|
||||||
currentDesignDocument()->textEditor()->gotoLine(codeLine, codeColumn);
|
|
||||||
Core::ModeManager::activateMode(Core::Constants::MODE_EDIT);
|
|
||||||
});
|
|
||||||
|
|
||||||
QList<Core::SideBarItem*> sideBarItems;
|
QList<Core::SideBarItem*> sideBarItems;
|
||||||
QList<Core::SideBarItem*> leftSideBarItems;
|
QList<Core::SideBarItem*> leftSideBarItems;
|
||||||
QList<Core::SideBarItem*> rightSideBarItems;
|
QList<Core::SideBarItem*> rightSideBarItems;
|
||||||
@@ -387,7 +375,6 @@ void DesignModeWidget::setup()
|
|||||||
mainLayout->setSpacing(0);
|
mainLayout->setSpacing(0);
|
||||||
mainLayout->addWidget(m_mainSplitter);
|
mainLayout->addWidget(m_mainSplitter);
|
||||||
|
|
||||||
m_warningWidget->setVisible(false);
|
|
||||||
viewManager().enableWidgets();
|
viewManager().enableWidgets();
|
||||||
m_leftSideBar->setEnabled(true);
|
m_leftSideBar->setEnabled(true);
|
||||||
m_rightSideBar->setEnabled(true);
|
m_rightSideBar->setEnabled(true);
|
||||||
@@ -549,24 +536,46 @@ QWidget *DesignModeWidget::createCrumbleBarFrame()
|
|||||||
return frame;
|
return frame;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
DocumentWarningWidget *DesignModeWidget::warningWidget()
|
||||||
|
{
|
||||||
|
if (m_warningWidget.isNull()) {
|
||||||
|
m_warningWidget = new DocumentWarningWidget(this);
|
||||||
|
connect(m_warningWidget.data(), &DocumentWarningWidget::gotoCodeClicked, [=]
|
||||||
|
(const QString &filePath, int codeLine, int codeColumn) {
|
||||||
|
Q_UNUSED(filePath);
|
||||||
|
|
||||||
|
if (currentDesignDocument() && currentDesignDocument()->textEditor())
|
||||||
|
currentDesignDocument()->textEditor()->gotoLine(codeLine, codeColumn);
|
||||||
|
Core::ModeManager::activateMode(Core::Constants::MODE_EDIT);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
return m_warningWidget;
|
||||||
|
}
|
||||||
|
|
||||||
|
void DesignModeWidget::hideWarningWidget()
|
||||||
|
{
|
||||||
|
if (m_warningWidget)
|
||||||
|
m_warningWidget->setVisible(false);
|
||||||
|
}
|
||||||
|
|
||||||
void DesignModeWidget::showErrorMessageBox(const QList<RewriterError> &errors)
|
void DesignModeWidget::showErrorMessageBox(const QList<RewriterError> &errors)
|
||||||
{
|
{
|
||||||
Q_ASSERT(!errors.isEmpty());
|
Q_ASSERT(!errors.isEmpty());
|
||||||
m_warningWidget->setErrors(errors);
|
warningWidget()->setErrors(errors);
|
||||||
m_warningWidget->setVisible(true);
|
warningWidget()->setVisible(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DesignModeWidget::showWarningMessageBox(const QList<RewriterError> &warnings)
|
void DesignModeWidget::showWarningMessageBox(const QList<RewriterError> &warnings)
|
||||||
{
|
{
|
||||||
Q_ASSERT(!warnings.isEmpty());
|
Q_ASSERT(!warnings.isEmpty());
|
||||||
m_warningWidget->setWarnings(warnings);
|
warningWidget()->setWarnings(warnings);
|
||||||
m_warningWidget->setVisible(true);
|
warningWidget()->setVisible(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool DesignModeWidget::gotoCodeWasClicked()
|
bool DesignModeWidget::gotoCodeWasClicked()
|
||||||
{
|
{
|
||||||
if (m_warningWidget)
|
if (m_warningWidget)
|
||||||
return m_warningWidget->gotoCodeWasClicked();
|
return warningWidget()->gotoCodeWasClicked();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -101,6 +101,8 @@ private: // functions
|
|||||||
void addNavigatorHistoryEntry(const Utils::FileName &fileName);
|
void addNavigatorHistoryEntry(const Utils::FileName &fileName);
|
||||||
QWidget *createCenterWidget();
|
QWidget *createCenterWidget();
|
||||||
QWidget *createCrumbleBarFrame();
|
QWidget *createCrumbleBarFrame();
|
||||||
|
DocumentWarningWidget *warningWidget();
|
||||||
|
void hideWarningWidget();
|
||||||
|
|
||||||
private: // variables
|
private: // variables
|
||||||
QSplitter *m_mainSplitter = nullptr;
|
QSplitter *m_mainSplitter = nullptr;
|
||||||
|
|||||||
Reference in New Issue
Block a user