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_rightPaneWidget = new RightPaneWidget();
|
||||
|
||||
m_statusBarManager = new StatusBarManager(this);
|
||||
m_statusBarManager = new StatusBarManager;
|
||||
m_messageManager = new MessageManager;
|
||||
m_editorManager = new EditorManager(this);
|
||||
m_externalToolManager = new ExternalToolManager();
|
||||
@@ -336,7 +336,6 @@ void MainWindow::extensionsInitialized()
|
||||
MimeTypeSettings::restoreSettings();
|
||||
m_windowSupport = new WindowSupport(this, Context("Core.MainWindow"));
|
||||
m_windowSupport->setCloseActionEnabled(false);
|
||||
m_statusBarManager->extensionsInitalized();
|
||||
OutputPaneManager::instance()->init();
|
||||
m_vcsManager->extensionsInitialized();
|
||||
m_leftNavigationWidget->setFactories(INavigationWidgetFactory::allNavigationFactories());
|
||||
|
@@ -43,7 +43,7 @@ static const char kLeftSplitWidthKey[] = "LeftSplitWidth";
|
||||
using namespace Core;
|
||||
using namespace Core::Internal;
|
||||
|
||||
static QWidget *createWidget(QWidget *parent = 0)
|
||||
static QWidget *createWidget(QWidget *parent)
|
||||
{
|
||||
QWidget *w = new QWidget(parent);
|
||||
w->setLayout(new QHBoxLayout);
|
||||
@@ -52,11 +52,10 @@ static QWidget *createWidget(QWidget *parent = 0)
|
||||
return w;
|
||||
}
|
||||
|
||||
StatusBarManager::StatusBarManager(MainWindow *mainWnd)
|
||||
: QObject(mainWnd),
|
||||
m_mainWnd(mainWnd)
|
||||
StatusBarManager::StatusBarManager()
|
||||
{
|
||||
QStatusBar *bar = m_mainWnd->statusBar();
|
||||
QStatusBar *bar = ICore::statusBar();
|
||||
|
||||
m_splitter = new NonResizingSplitter(bar);
|
||||
bar->insertPermanentWidget(0, m_splitter, 10);
|
||||
m_splitter->setChildrenCollapsible(false);
|
||||
@@ -104,11 +103,10 @@ void StatusBarManager::objectAdded(QObject *obj)
|
||||
if (!view)
|
||||
return;
|
||||
|
||||
QWidget *viewWidget = 0;
|
||||
viewWidget = view->widget();
|
||||
QWidget *viewWidget = view->widget();
|
||||
m_statusBarWidgets.at(view->position())->layout()->addWidget(viewWidget);
|
||||
|
||||
m_mainWnd->addContextObject(view);
|
||||
ICore::addContextObject(view);
|
||||
}
|
||||
|
||||
void StatusBarManager::aboutToRemoveObject(QObject *obj)
|
||||
@@ -116,7 +114,7 @@ void StatusBarManager::aboutToRemoveObject(QObject *obj)
|
||||
StatusBarWidget *view = qobject_cast<StatusBarWidget *>(obj);
|
||||
if (!view)
|
||||
return;
|
||||
m_mainWnd->removeContextObject(view);
|
||||
ICore::removeContextObject(view);
|
||||
}
|
||||
|
||||
void StatusBarManager::saveSettings()
|
||||
@@ -127,10 +125,6 @@ void StatusBarManager::saveSettings()
|
||||
s->endGroup();
|
||||
}
|
||||
|
||||
void StatusBarManager::extensionsInitalized()
|
||||
{
|
||||
}
|
||||
|
||||
void StatusBarManager::restoreSettings()
|
||||
{
|
||||
QSettings *s = ICore::settings();
|
||||
|
@@ -36,18 +36,15 @@ QT_END_NAMESPACE
|
||||
namespace Core {
|
||||
namespace Internal {
|
||||
|
||||
class MainWindow;
|
||||
|
||||
class StatusBarManager : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
StatusBarManager(MainWindow *mainWnd);
|
||||
StatusBarManager();
|
||||
~StatusBarManager();
|
||||
|
||||
void init();
|
||||
void extensionsInitalized();
|
||||
void restoreSettings();
|
||||
|
||||
private:
|
||||
@@ -55,7 +52,6 @@ private:
|
||||
void aboutToRemoveObject(QObject *obj);
|
||||
void saveSettings();
|
||||
|
||||
MainWindow *m_mainWnd;
|
||||
QSplitter *m_splitter;
|
||||
QList<QWidget *> m_statusBarWidgets;
|
||||
};
|
||||
|
Reference in New Issue
Block a user