mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-05-05 09:45:44 +08:00
Ref T30, integrated font menu into view base
This commit is contained in:
committed by
Mathew Sutcliffe
parent
3c9435c1cf
commit
534ba5f9ec
@@ -17,6 +17,7 @@
|
|||||||
#include "blackgui/models/allmodels.h"
|
#include "blackgui/models/allmodels.h"
|
||||||
#include "blackgui/menus/menuaction.h"
|
#include "blackgui/menus/menuaction.h"
|
||||||
#include "blackgui/menus/menudelegate.h"
|
#include "blackgui/menus/menudelegate.h"
|
||||||
|
#include "blackgui/menus/fontmenus.h"
|
||||||
#include "blackgui/shortcut.h"
|
#include "blackgui/shortcut.h"
|
||||||
#include "blackgui/views/viewbase.h"
|
#include "blackgui/views/viewbase.h"
|
||||||
#include "blackgui/views/viewbaseproxystyle.h"
|
#include "blackgui/views/viewbaseproxystyle.h"
|
||||||
@@ -126,6 +127,9 @@ namespace BlackGui
|
|||||||
deleteRow->setObjectName("Delete selected rows for " + this->objectName());
|
deleteRow->setObjectName("Delete selected rows for " + this->objectName());
|
||||||
QShortcut *copy = new QShortcut(CShortcut::keyCopy(), this, SLOT(ps_copy()), nullptr, Qt::WidgetShortcut);
|
QShortcut *copy = new QShortcut(CShortcut::keyCopy(), this, SLOT(ps_copy()), nullptr, Qt::WidgetShortcut);
|
||||||
copy->setObjectName("Copy rows for " + this->objectName());
|
copy->setObjectName("Copy rows for " + this->objectName());
|
||||||
|
|
||||||
|
// Font menus
|
||||||
|
m_fontMenu = new CFontMenu(this, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool CViewBaseNonTemplate::setParentDockWidgetInfoArea(CDockWidgetInfoArea *parentDockableWidget)
|
bool CViewBaseNonTemplate::setParentDockWidgetInfoArea(CDockWidgetInfoArea *parentDockableWidget)
|
||||||
@@ -165,7 +169,7 @@ namespace BlackGui
|
|||||||
this->setFilterWidgetImpl(filterDialog);
|
this->setFilterWidgetImpl(filterDialog);
|
||||||
if (filterDialog)
|
if (filterDialog)
|
||||||
{
|
{
|
||||||
bool s = connect(filterDialog, &CFilterDialog::finished, this, &CViewBaseNonTemplate::ps_filterDialogFinished);
|
const bool s = connect(filterDialog, &CFilterDialog::finished, this, &CViewBaseNonTemplate::ps_filterDialogFinished);
|
||||||
Q_ASSERT_X(s, Q_FUNC_INFO, "filter dialog connect");
|
Q_ASSERT_X(s, Q_FUNC_INFO, "filter dialog connect");
|
||||||
Q_UNUSED(s);
|
Q_UNUSED(s);
|
||||||
}
|
}
|
||||||
@@ -352,6 +356,10 @@ namespace BlackGui
|
|||||||
if (this->m_menus.testFlag(MenuCopy)) { menuActions.addActions(this->initMenuActions(MenuCopy)); }
|
if (this->m_menus.testFlag(MenuCopy)) { menuActions.addActions(this->initMenuActions(MenuCopy)); }
|
||||||
if (this->m_menus.testFlag(MenuCut)) { menuActions.addActions(this->initMenuActions(MenuCut)); }
|
if (this->m_menus.testFlag(MenuCut)) { menuActions.addActions(this->initMenuActions(MenuCut)); }
|
||||||
if (this->m_menus.testFlag(MenuPaste)) { menuActions.addActions(this->initMenuActions(MenuPaste)); }
|
if (this->m_menus.testFlag(MenuPaste)) { menuActions.addActions(this->initMenuActions(MenuPaste)); }
|
||||||
|
if (this->m_menus.testFlag(MenuFont))
|
||||||
|
{
|
||||||
|
menuActions.addActions(m_fontMenu->getActions(), CMenuAction::pathFont());
|
||||||
|
}
|
||||||
|
|
||||||
if (this->m_menus.testFlag(MenuFilter) && m_filterWidget)
|
if (this->m_menus.testFlag(MenuFilter) && m_filterWidget)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -57,7 +57,12 @@ namespace BlackGui
|
|||||||
class CDockWidgetInfoArea;
|
class CDockWidgetInfoArea;
|
||||||
class CLoadIndicator;
|
class CLoadIndicator;
|
||||||
|
|
||||||
namespace Menus { class IMenuDelegate; }
|
namespace Menus
|
||||||
|
{
|
||||||
|
class IMenuDelegate;
|
||||||
|
class CFontMenu;
|
||||||
|
}
|
||||||
|
|
||||||
namespace Filters
|
namespace Filters
|
||||||
{
|
{
|
||||||
class CFilterDialog;
|
class CFilterDialog;
|
||||||
@@ -116,16 +121,15 @@ namespace BlackGui
|
|||||||
MenuCopy = 1 << 11, //!< copy (for copy/paste)
|
MenuCopy = 1 << 11, //!< copy (for copy/paste)
|
||||||
MenuPaste = 1 << 12, //!< paste (for copy/paste)
|
MenuPaste = 1 << 12, //!< paste (for copy/paste)
|
||||||
MenuCut = 1 << 13, //!< cut (for copy/paste)
|
MenuCut = 1 << 13, //!< cut (for copy/paste)
|
||||||
MenuStandard = MenuClear | MenuRemoveSelectedRows | MenuRefresh | MenuBackend |
|
MenuFont = 1 << 14, //!< font related menu (size)
|
||||||
MenuDisplayAutomatically | MenuFilter | MenuSave | MenuLoad | MenuToggleSelectionMode,
|
|
||||||
MenuLoadAndSave = MenuLoad | MenuSave,
|
MenuLoadAndSave = MenuLoad | MenuSave,
|
||||||
MenuDefault = MenuClear | MenuDisplayAutomaticallyAndRefresh | MenuToggleSelectionMode,
|
MenuDefault = MenuToggleSelectionMode | MenuDisplayAutomaticallyAndRefresh | MenuFont | MenuClear,
|
||||||
MenuDefaultNoClear = MenuDisplayAutomaticallyAndRefresh | MenuToggleSelectionMode,
|
MenuDefaultNoClear = MenuToggleSelectionMode | MenuDisplayAutomaticallyAndRefresh | MenuFont,
|
||||||
MenuDefaultDbViews = MenuToggleSelectionMode | MenuBackend,
|
MenuDefaultDbViews = MenuToggleSelectionMode | MenuBackend | MenuFont,
|
||||||
// special menus, should be in derived classes, but enums cannot be inherited
|
// special menus, should be in derived classes, but enums cannot be inherited
|
||||||
// maybe shifted in the future to elsewhere
|
// maybe shifted in the future to elsewhere
|
||||||
MenuHighlightStashed = 1 << 14, //!< highlight stashed models
|
MenuHighlightStashed = 1 << 15, //!< highlight stashed models
|
||||||
MenuCanStashModels = 1 << 15, //!< stash models
|
MenuCanStashModels = 1 << 16, //!< stash models
|
||||||
MenuStashing = MenuHighlightStashed | MenuCanStashModels,
|
MenuStashing = MenuHighlightStashed | MenuCanStashModels,
|
||||||
};
|
};
|
||||||
Q_DECLARE_FLAGS(Menu, MenuFlag)
|
Q_DECLARE_FLAGS(Menu, MenuFlag)
|
||||||
@@ -423,6 +427,7 @@ namespace BlackGui
|
|||||||
QWidget *m_filterWidget = nullptr; //!< filter widget or dialog
|
QWidget *m_filterWidget = nullptr; //!< filter widget or dialog
|
||||||
Menu m_menus = MenuDefault; //!< Default menu settings
|
Menu m_menus = MenuDefault; //!< Default menu settings
|
||||||
BlackGui::Menus::IMenuDelegate *m_menu = nullptr; //!< custom menu if any
|
BlackGui::Menus::IMenuDelegate *m_menu = nullptr; //!< custom menu if any
|
||||||
|
BlackGui::Menus::CFontMenu *m_fontMenu = nullptr; //!< font menu if applicable
|
||||||
BlackGui::CLoadIndicator *m_loadIndicator = nullptr; //!< load indicator if needed
|
BlackGui::CLoadIndicator *m_loadIndicator = nullptr; //!< load indicator if needed
|
||||||
QMap<MenuFlag, BlackGui::Menus::CMenuActions> m_menuFlagActions; //!< initialized actions
|
QMap<MenuFlag, BlackGui::Menus::CMenuActions> m_menuFlagActions; //!< initialized actions
|
||||||
BlackMisc::CSettingReadOnly<BlackGui::Settings::TGeneralGui> m_guiSettings { this, &CViewBaseNonTemplate::settingsChanged }; //!< general GUI settings
|
BlackMisc::CSettingReadOnly<BlackGui::Settings::TGeneralGui> m_guiSettings { this, &CViewBaseNonTemplate::settingsChanged }; //!< general GUI settings
|
||||||
@@ -527,8 +532,8 @@ namespace BlackGui
|
|||||||
public CViewBaseNonTemplate,
|
public CViewBaseNonTemplate,
|
||||||
public BlackGui::Models::ISelectionModel<ContainerType>
|
public BlackGui::Models::ISelectionModel<ContainerType>
|
||||||
{
|
{
|
||||||
// I cannot use Q_OBJECT here, because of error: Template classes not supported by Q_OBJECT
|
// I cannot use Q_OBJECT here, because: Template classes are not supported by Q_OBJECT
|
||||||
// Cannot declare slots as SLOT because I have no Q_OBJECT macro
|
// and I cannot declare slots as SLOT because I have no Q_OBJECT macro
|
||||||
|
|
||||||
public:
|
public:
|
||||||
//! Destructor
|
//! Destructor
|
||||||
|
|||||||
Reference in New Issue
Block a user