implemented the ability to restore the default layout
This commit is contained in:
parent
77c66dd103
commit
2ffc654ecd
8 changed files with 33 additions and 1 deletions
|
@ -81,6 +81,11 @@ const UiActionList ApplicationUiActions::m_actions = {
|
|||
QT_TRANSLATE_NOOP("action", "Revert to factory settings"),
|
||||
QT_TRANSLATE_NOOP("action", "Revert to factory settings")
|
||||
),
|
||||
UiAction("restore-default-layout",
|
||||
mu::context::UiCtxAny,
|
||||
QT_TRANSLATE_NOOP("action", "Restore the default layout"),
|
||||
QT_TRANSLATE_NOOP("action", "Restore the default layout")
|
||||
),
|
||||
UiAction("toggle-mixer",
|
||||
mu::context::UiCtxNotationOpened,
|
||||
QT_TRANSLATE_NOOP("action", "Mixer"),
|
||||
|
|
|
@ -200,7 +200,9 @@ MenuItem AppMenuModel::viewItem() const
|
|||
makeMenuItem("show-pageborders"),
|
||||
makeMenuItem("mark-irregular"),
|
||||
makeSeparator(),
|
||||
makeMenuItem("fullscreen")
|
||||
makeMenuItem("fullscreen"),
|
||||
makeSeparator(),
|
||||
makeMenuItem("restore-default-layout")
|
||||
};
|
||||
|
||||
return makeMenu(qtrc("appshell", "&View"), viewItems);
|
||||
|
|
|
@ -186,6 +186,8 @@ void DockToolBarView::init()
|
|||
|
||||
if (height() > width()) {
|
||||
setOrientation(Qt::Vertical);
|
||||
} else {
|
||||
setOrientation(Qt::Horizontal);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -234,6 +234,15 @@ QQuickItem& DockWindow::asItem() const
|
|||
return *m_mainWindow;
|
||||
}
|
||||
|
||||
void DockWindow::restoreDefaultLayout()
|
||||
{
|
||||
for (const DockPageView* page : m_pages.list()) {
|
||||
uiConfiguration()->setPageState(page->objectName(), QByteArray());
|
||||
}
|
||||
|
||||
uiConfiguration()->setWindowGeometry(QByteArray());
|
||||
}
|
||||
|
||||
DockingHolderView* DockWindow::mainToolBarDockingHolder() const
|
||||
{
|
||||
return m_mainToolBarDockingHolder;
|
||||
|
|
|
@ -88,6 +88,8 @@ public:
|
|||
DockPageView* currentPage() const override;
|
||||
QQuickItem& asItem() const override;
|
||||
|
||||
void restoreDefaultLayout() override;
|
||||
|
||||
public slots:
|
||||
void setMainToolBarDockingHolder(DockingHolderView* mainToolBarDockingHolder);
|
||||
|
||||
|
|
|
@ -47,6 +47,8 @@ public:
|
|||
|
||||
virtual DockPageView* currentPage() const = 0;
|
||||
virtual QQuickItem& asItem() const = 0;
|
||||
|
||||
virtual void restoreDefaultLayout() = 0;
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
@ -37,6 +37,7 @@ void DockWindowActionsController::init()
|
|||
dispatcher()->reg(this, "set-dock-open", this, &DockWindowActionsController::setDockOpen);
|
||||
dispatcher()->reg(this, "toggle-dock", this, &DockWindowActionsController::toggleOpened);
|
||||
dispatcher()->reg(this, "toggle-floating", this, &DockWindowActionsController::toggleFloating);
|
||||
dispatcher()->reg(this, "restore-default-layout", this, &DockWindowActionsController::restoreDefaultLayout);
|
||||
}
|
||||
|
||||
void DockWindowActionsController::setDockOpen(const ActionData& args)
|
||||
|
@ -67,3 +68,8 @@ IDockWindow* DockWindowActionsController::window() const
|
|||
{
|
||||
return dockWindowProvider()->window();
|
||||
}
|
||||
|
||||
void DockWindowActionsController::restoreDefaultLayout()
|
||||
{
|
||||
window()->restoreDefaultLayout();
|
||||
}
|
||||
|
|
|
@ -28,12 +28,14 @@
|
|||
#include "modularity/ioc.h"
|
||||
#include "actions/iactionsdispatcher.h"
|
||||
#include "../idockwindowprovider.h"
|
||||
#include "ui/iuiconfiguration.h"
|
||||
|
||||
namespace mu::dock {
|
||||
class DockWindowActionsController : public actions::Actionable
|
||||
{
|
||||
INJECT(dock, IDockWindowProvider, dockWindowProvider)
|
||||
INJECT(dock, actions::IActionsDispatcher, dispatcher)
|
||||
INJECT(dock, ui::IUiConfiguration, uiConfiguration)
|
||||
|
||||
public:
|
||||
void init();
|
||||
|
@ -43,6 +45,8 @@ private:
|
|||
void toggleOpened(const actions::ActionData& args);
|
||||
void toggleFloating(const actions::ActionData& args);
|
||||
|
||||
void restoreDefaultLayout();
|
||||
|
||||
IDockWindow* window() const;
|
||||
};
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue