forked from qt-creator/qt-creator
Core: Cut explicit interface between MainWindow and StatusBarManager
Mechanical in preparation of 'static pattern' and avoiding the object pool objectAdded/objectAboutToBeRemoved use Change-Id: I1e3fc7f67c785410686d0dc7c083024e305f4abe Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This commit is contained in:
@@ -176,7 +176,7 @@ MainWindow::MainWindow() :
|
|||||||
m_rightNavigationWidget = new NavigationWidget(m_toggleRightSideBarAction, Side::Right);
|
m_rightNavigationWidget = new NavigationWidget(m_toggleRightSideBarAction, Side::Right);
|
||||||
m_rightPaneWidget = new RightPaneWidget();
|
m_rightPaneWidget = new RightPaneWidget();
|
||||||
|
|
||||||
m_statusBarManager = new StatusBarManager(this);
|
m_statusBarManager = new StatusBarManager;
|
||||||
m_messageManager = new MessageManager;
|
m_messageManager = new MessageManager;
|
||||||
m_editorManager = new EditorManager(this);
|
m_editorManager = new EditorManager(this);
|
||||||
m_externalToolManager = new ExternalToolManager();
|
m_externalToolManager = new ExternalToolManager();
|
||||||
@@ -336,7 +336,6 @@ void MainWindow::extensionsInitialized()
|
|||||||
MimeTypeSettings::restoreSettings();
|
MimeTypeSettings::restoreSettings();
|
||||||
m_windowSupport = new WindowSupport(this, Context("Core.MainWindow"));
|
m_windowSupport = new WindowSupport(this, Context("Core.MainWindow"));
|
||||||
m_windowSupport->setCloseActionEnabled(false);
|
m_windowSupport->setCloseActionEnabled(false);
|
||||||
m_statusBarManager->extensionsInitalized();
|
|
||||||
OutputPaneManager::instance()->init();
|
OutputPaneManager::instance()->init();
|
||||||
m_vcsManager->extensionsInitialized();
|
m_vcsManager->extensionsInitialized();
|
||||||
m_leftNavigationWidget->setFactories(INavigationWidgetFactory::allNavigationFactories());
|
m_leftNavigationWidget->setFactories(INavigationWidgetFactory::allNavigationFactories());
|
||||||
|
@@ -43,7 +43,7 @@ static const char kLeftSplitWidthKey[] = "LeftSplitWidth";
|
|||||||
using namespace Core;
|
using namespace Core;
|
||||||
using namespace Core::Internal;
|
using namespace Core::Internal;
|
||||||
|
|
||||||
static QWidget *createWidget(QWidget *parent = 0)
|
static QWidget *createWidget(QWidget *parent)
|
||||||
{
|
{
|
||||||
QWidget *w = new QWidget(parent);
|
QWidget *w = new QWidget(parent);
|
||||||
w->setLayout(new QHBoxLayout);
|
w->setLayout(new QHBoxLayout);
|
||||||
@@ -52,11 +52,10 @@ static QWidget *createWidget(QWidget *parent = 0)
|
|||||||
return w;
|
return w;
|
||||||
}
|
}
|
||||||
|
|
||||||
StatusBarManager::StatusBarManager(MainWindow *mainWnd)
|
StatusBarManager::StatusBarManager()
|
||||||
: QObject(mainWnd),
|
|
||||||
m_mainWnd(mainWnd)
|
|
||||||
{
|
{
|
||||||
QStatusBar *bar = m_mainWnd->statusBar();
|
QStatusBar *bar = ICore::statusBar();
|
||||||
|
|
||||||
m_splitter = new NonResizingSplitter(bar);
|
m_splitter = new NonResizingSplitter(bar);
|
||||||
bar->insertPermanentWidget(0, m_splitter, 10);
|
bar->insertPermanentWidget(0, m_splitter, 10);
|
||||||
m_splitter->setChildrenCollapsible(false);
|
m_splitter->setChildrenCollapsible(false);
|
||||||
@@ -104,11 +103,10 @@ void StatusBarManager::objectAdded(QObject *obj)
|
|||||||
if (!view)
|
if (!view)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
QWidget *viewWidget = 0;
|
QWidget *viewWidget = view->widget();
|
||||||
viewWidget = view->widget();
|
|
||||||
m_statusBarWidgets.at(view->position())->layout()->addWidget(viewWidget);
|
m_statusBarWidgets.at(view->position())->layout()->addWidget(viewWidget);
|
||||||
|
|
||||||
m_mainWnd->addContextObject(view);
|
ICore::addContextObject(view);
|
||||||
}
|
}
|
||||||
|
|
||||||
void StatusBarManager::aboutToRemoveObject(QObject *obj)
|
void StatusBarManager::aboutToRemoveObject(QObject *obj)
|
||||||
@@ -116,7 +114,7 @@ void StatusBarManager::aboutToRemoveObject(QObject *obj)
|
|||||||
StatusBarWidget *view = qobject_cast<StatusBarWidget *>(obj);
|
StatusBarWidget *view = qobject_cast<StatusBarWidget *>(obj);
|
||||||
if (!view)
|
if (!view)
|
||||||
return;
|
return;
|
||||||
m_mainWnd->removeContextObject(view);
|
ICore::removeContextObject(view);
|
||||||
}
|
}
|
||||||
|
|
||||||
void StatusBarManager::saveSettings()
|
void StatusBarManager::saveSettings()
|
||||||
@@ -127,10 +125,6 @@ void StatusBarManager::saveSettings()
|
|||||||
s->endGroup();
|
s->endGroup();
|
||||||
}
|
}
|
||||||
|
|
||||||
void StatusBarManager::extensionsInitalized()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
void StatusBarManager::restoreSettings()
|
void StatusBarManager::restoreSettings()
|
||||||
{
|
{
|
||||||
QSettings *s = ICore::settings();
|
QSettings *s = ICore::settings();
|
||||||
|
@@ -36,18 +36,15 @@ QT_END_NAMESPACE
|
|||||||
namespace Core {
|
namespace Core {
|
||||||
namespace Internal {
|
namespace Internal {
|
||||||
|
|
||||||
class MainWindow;
|
|
||||||
|
|
||||||
class StatusBarManager : public QObject
|
class StatusBarManager : public QObject
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
StatusBarManager(MainWindow *mainWnd);
|
StatusBarManager();
|
||||||
~StatusBarManager();
|
~StatusBarManager();
|
||||||
|
|
||||||
void init();
|
void init();
|
||||||
void extensionsInitalized();
|
|
||||||
void restoreSettings();
|
void restoreSettings();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
@@ -55,7 +52,6 @@ private:
|
|||||||
void aboutToRemoveObject(QObject *obj);
|
void aboutToRemoveObject(QObject *obj);
|
||||||
void saveSettings();
|
void saveSettings();
|
||||||
|
|
||||||
MainWindow *m_mainWnd;
|
|
||||||
QSplitter *m_splitter;
|
QSplitter *m_splitter;
|
||||||
QList<QWidget *> m_statusBarWidgets;
|
QList<QWidget *> m_statusBarWidgets;
|
||||||
};
|
};
|
||||||
|
Reference in New Issue
Block a user