Add lcMouseShortcuts::Clear()

Avoid calling memset directly and reset all fields individually.

Fixes #747
This commit is contained in:
Thiébaud Weksteen
2025-04-21 13:29:32 +10:00
parent 2dbc7bc1ca
commit d7df1f6327
2 changed files with 13 additions and 2 deletions
+11 -2
View File
@@ -128,9 +128,18 @@ bool lcKeyboardShortcuts::Load(QTextStream& Stream)
return true;
}
void lcMouseShortcuts::Clear() {
for (int ToolIdx = 0; ToolIdx < static_cast<int>(lcTool::Count); ToolIdx++) {
mShortcuts[ToolIdx].Modifiers1 = Qt::NoModifier;
mShortcuts[ToolIdx].Button1 = Qt::NoButton;
mShortcuts[ToolIdx].Modifiers2 = Qt::NoModifier;
mShortcuts[ToolIdx].Button2 = Qt::NoButton;
}
}
void lcMouseShortcuts::Reset()
{
memset(mShortcuts, 0, sizeof(mShortcuts));
Clear();
lcToolShortcut& RotateViewShortcut = mShortcuts[static_cast<int>(lcTool::RotateView)];
RotateViewShortcut.Modifiers1 = Qt::AltModifier;
@@ -216,7 +225,7 @@ bool lcMouseShortcuts::Load(const QString& FileName)
bool lcMouseShortcuts::Load(const QStringList& FullShortcuts)
{
memset(mShortcuts, 0, sizeof(mShortcuts));
Clear();
for (const QString& FullShortcut : FullShortcuts)
{
+2
View File
@@ -40,6 +40,8 @@ public:
};
lcToolShortcut mShortcuts[static_cast<int>(lcTool::Count)];
private:
void Clear();
};
extern lcMouseShortcuts gMouseShortcuts;