20 #ifndef SUIT_SHORTCUTEDITOR_H
21 #define SUIT_SHORTCUTEDITOR_H
26 #include <QTreeWidget>
27 #include <QHeaderView>
53 void setConfirmedKeySequence(
const QKeySequence&);
54 void setEditedKeySequence(
const QKeySequence&);
55 QKeySequence editedKeySequence()
const;
58 bool isKeySequenceModified()
const;
61 void restoreKeySequence();
64 static QString parseEvent(QKeyEvent* theEvent);
68 static bool isValidKey(
int theKey);
82 void onEditingFinished();
86 virtual bool eventFilter(
QObject* theObject,
QEvent* theEvent);
116 void setModuleAndActionID(
const QString& theModuleID,
const QString& theInModuleActionID);
117 const QString& moduleID()
const;
118 const QString& inModuleActionID()
const;
120 void setModuleAndActionName(
const QString& theModuleName,
const QString& theActionName,
const QString& theActionToolTip =
"");
122 void setConfirmedKeySequence(
const QKeySequence& theSequence);
123 QKeySequence editedKeySequence()
const;
126 void updateConflictsMessage();
131 void onEditingStarted();
132 void onEditingFinished();
133 void onRestoreFromShortcutMgr();
162 static std::map<SUIT_ShortcutContainer*, std::set<SUIT_ShortcutTabWidget*>>
instances;
169 const std::set<QString>& theIDsOfModulesToShow,
170 std::shared_ptr<SUIT_ShortcutContainer> theContainer = std::shared_ptr<SUIT_ShortcutContainer>(),
178 void setShortcutsFromManager();
181 void setDefaultShortcuts();
184 void applyChangesToShortcutMgr();
191 void jumpToTreeItem(
const QString& theModuleID,
const QString& theInModuleID);
194 std::pair<QString, bool> getConfirmedKeySequence(
const QString& theModuleID,
const QString& theInModuleActionID)
const;
197 void updateTabs(
bool theHighlightModifiedTreeItems,
bool theUpdateSyncTabWidgets);
268 std::shared_ptr<const SUIT_ShortcutModuleAssets> theAssets,
269 const QString& theLang
279 const QString& moduleID()
const;
281 void setLang(
const QString& theLang);
282 const QString& name()
const;
283 const QString& toolTip()
const;
291 bool updateItems(
bool theHighlightModified);
294 bool updateChildrenItemsRecursively(
295 bool theHighlightModified,
297 bool theItemIsInvisibleRoot =
false
301 bool updateItemShortcut(
303 const std::map<QString, QKeySequence>& theModuleShortcuts,
304 bool theHighlightModified
324 void onHeaderItemClicked(
int theColIdx);
325 void onItemDoubleClicked(
QTreeWidgetItem* theWidgetItem,
int theColIdx);
328 const std::shared_ptr<const SUIT_ShortcutModuleAssets>
myAssets;
347 SUIT_ShortcutTreeItem(
const std::shared_ptr<const SUIT_ShortcutItemAssets> theAssets,
const QString& theLang);
349 void setLang(
const QString& theLang);
357 QString
name()
const;
358 const QString&
path()
const;
359 const QString&
toolTip()
const;
371 const std::shared_ptr<const SUIT_ShortcutItemAssets>
myAssets;
#define SUIT_EXPORT
Definition: SUIT.h:36
For more information see QT documentation.
Definition: SUIT_Application.h:42
Definition: SUIT_ShortcutEditor.h:106
SUIT_EditKeySequenceDialog & operator=(const SUIT_EditKeySequenceDialog &)=delete
QLabel * myActionName
Definition: SUIT_ShortcutEditor.h:139
SUIT_KeySequenceEdit * myKeySequenceEdit
Definition: SUIT_ShortcutEditor.h:140
SUIT_EditKeySequenceDialog(const SUIT_EditKeySequenceDialog &)=delete
QTextEdit * myTextEdit
Definition: SUIT_ShortcutEditor.h:141
QString myInModuleActionID
Definition: SUIT_ShortcutEditor.h:138
QString myModuleID
Definition: SUIT_ShortcutEditor.h:137
virtual ~SUIT_EditKeySequenceDialog()=default
ColumnIdx
Definition: SUIT_FindActionDialog.h:127
Definition: SUIT_ShortcutEditor.h:45
QLineEdit * myKeySequenceLineEdit
Definition: SUIT_ShortcutEditor.h:92
void restoreFromShortcutMgrClicked()
QString myConfirmedKeySequenceString
Definition: SUIT_ShortcutEditor.h:93
QString myPrevKeySequenceString
Definition: SUIT_ShortcutEditor.h:96
virtual ~SUIT_KeySequenceEdit()=default
Provides means to keep and edit shortcuts in compliance with the application logics....
Definition: SUIT_ShortcutMgr.h:70
Definition: SUIT_ShortcutEditor.h:344
QString getValue(SUIT_ShortcutTree::SortKey theKey) const
Definition: SUIT_ShortcutEditor.cxx:1096
void styleAsKeySequenceModified(bool theIsModified)
Definition: SUIT_ShortcutEditor.cxx:1135
const QString & toolTip() const
Definition: SUIT_ShortcutEditor.cxx:1091
const QString & lastTokenOfID() const
Definition: SUIT_ShortcutEditor.cxx:1066
bool isAction() const
Definition: SUIT_ShortcutEditor.cxx:1071
const QString & path() const
Definition: SUIT_ShortcutEditor.cxx:1086
bool myIsExpanded
Definition: SUIT_ShortcutEditor.h:372
const QString & inModuleID() const
Definition: SUIT_ShortcutEditor.cxx:1061
const QString & moduleID() const
Definition: SUIT_ShortcutEditor.cxx:1056
QString myToolTip
Definition: SUIT_ShortcutEditor.h:376
void setLang(const QString &theLang)
Definition: SUIT_ShortcutEditor.cxx:1025
QString keySequence() const
Definition: SUIT_ShortcutEditor.cxx:1120
SUIT_ShortcutTreeItem(const std::shared_ptr< const SUIT_ShortcutItemAssets > theAssets, const QString &theLang)
Definition: SUIT_ShortcutEditor.cxx:1014
void styleAsFolder(bool theIsFolder)
Definition: SUIT_ShortcutEditor.cxx:1128
bool isFolder() const
Definition: SUIT_ShortcutEditor.cxx:1076
const std::shared_ptr< const SUIT_ShortcutItemAssets > myAssets
Definition: SUIT_ShortcutEditor.h:371
QString myPath
Definition: SUIT_ShortcutEditor.h:375
void setExpanded(bool theVal)
Definition: SUIT_ShortcutEditor.cxx:1157
void setKeySequence(const QString &theKeySequence)
Definition: SUIT_ShortcutEditor.cxx:1112
QString name() const
Definition: SUIT_ShortcutEditor.cxx:1081
bool isExpanded() const
Definition: SUIT_ShortcutEditor.cxx:1163
Definition: SUIT_ShortcutEditor.h:236
SUIT_ShortcutTree(const SUIT_ShortcutTree &)=delete
SortKey
Definition: SUIT_ShortcutEditor.h:250
QString myToolTip
Definition: SUIT_ShortcutEditor.h:337
SUIT_ShortcutTree & operator=(const SUIT_ShortcutTree &)=delete
bool myIsPopulated
Definition: SUIT_ShortcutEditor.h:339
QString myName
Definition: SUIT_ShortcutEditor.h:336
const std::shared_ptr< const SUIT_ShortcutModuleAssets > myAssets
Definition: SUIT_ShortcutEditor.h:328
virtual ~SUIT_ShortcutTree()=default
ColumnIdx
Definition: SUIT_ShortcutEditor.h:242
@ Name
Definition: SUIT_ShortcutEditor.h:243
@ ToolTip
Definition: SUIT_ShortcutEditor.h:245
@ KeySequence
Definition: SUIT_ShortcutEditor.h:244
SUIT_ShortcutTree::SortKey myLeadingSortKey
Definition: SUIT_ShortcutEditor.h:333
friend class SUIT_ShortcutTabWidget
Definition: SUIT_ShortcutEditor.h:239
const SUIT_ShortcutContainer & shortcutContainer() const
Definition: SUIT_ShortcutEditor.cxx:735
std::map< SUIT_ShortcutTree::SortKey, Qt::SortOrder > mySortSchema
Definition: SUIT_ShortcutEditor.h:334
SUIT_ShortcutTabWidget *const myParentTabWidget
Definition: SUIT_ShortcutEditor.h:331
static const QList< std::pair< SUIT_ShortcutTree::SortKey, Qt::SortOrder > > DEFAULT_SORT_SCHEMA
Definition: SUIT_ShortcutEditor.h:260