mirror of
https://github.com/OpenMW/openmw.git
synced 2025-10-17 04:16:34 +00:00
Merge branch 'shortcutsv' into 'master'
Use string_view in CSMPrefs::ShortcutManager See merge request OpenMW/openmw!4729
This commit is contained in:
commit
eca9b84f39
3 changed files with 13 additions and 13 deletions
|
@ -78,7 +78,7 @@ namespace CSMPrefs
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool ShortcutManager::getModifier(const std::string& name, int& modifier) const
|
bool ShortcutManager::getModifier(std::string_view name, int& modifier) const
|
||||||
{
|
{
|
||||||
ModifierMap::const_iterator item = mModifiers.find(name);
|
ModifierMap::const_iterator item = mModifiers.find(name);
|
||||||
if (item != mModifiers.end())
|
if (item != mModifiers.end())
|
||||||
|
@ -175,14 +175,14 @@ namespace CSMPrefs
|
||||||
return concat;
|
return concat;
|
||||||
}
|
}
|
||||||
|
|
||||||
void ShortcutManager::convertFromString(const std::string& data, QKeySequence& sequence) const
|
void ShortcutManager::convertFromString(std::string_view data, QKeySequence& sequence) const
|
||||||
{
|
{
|
||||||
const int MaxKeys = 4; // A limitation of QKeySequence
|
const int MaxKeys = 4; // A limitation of QKeySequence
|
||||||
|
|
||||||
size_t end = data.find(';');
|
size_t end = data.find(';');
|
||||||
size_t size = std::min(end, data.size());
|
size_t size = std::min(end, data.size());
|
||||||
|
|
||||||
std::string value = data.substr(0, size);
|
std::string_view value = data.substr(0, size);
|
||||||
size_t start = 0;
|
size_t start = 0;
|
||||||
|
|
||||||
int keyPos = 0;
|
int keyPos = 0;
|
||||||
|
@ -195,7 +195,7 @@ namespace CSMPrefs
|
||||||
end = data.find('+', start);
|
end = data.find('+', start);
|
||||||
end = std::min(end, value.size());
|
end = std::min(end, value.size());
|
||||||
|
|
||||||
std::string name = value.substr(start, end - start);
|
std::string_view name = value.substr(start, end - start);
|
||||||
|
|
||||||
if (name == "Ctrl")
|
if (name == "Ctrl")
|
||||||
{
|
{
|
||||||
|
@ -242,12 +242,12 @@ namespace CSMPrefs
|
||||||
sequence = QKeySequence(keys[0], keys[1], keys[2], keys[3]);
|
sequence = QKeySequence(keys[0], keys[1], keys[2], keys[3]);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ShortcutManager::convertFromString(const std::string& data, int& modifier) const
|
void ShortcutManager::convertFromString(std::string_view data, int& modifier) const
|
||||||
{
|
{
|
||||||
size_t start = data.find(';') + 1;
|
size_t start = data.find(';') + 1;
|
||||||
start = std::min(start, data.size());
|
start = std::min(start, data.size());
|
||||||
|
|
||||||
std::string name = data.substr(start);
|
std::string_view name = data.substr(start);
|
||||||
KeyMap::const_iterator searchResult = mKeys.find(name);
|
KeyMap::const_iterator searchResult = mKeys.find(name);
|
||||||
if (searchResult != mKeys.end())
|
if (searchResult != mKeys.end())
|
||||||
{
|
{
|
||||||
|
@ -259,7 +259,7 @@ namespace CSMPrefs
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void ShortcutManager::convertFromString(const std::string& data, QKeySequence& sequence, int& modifier) const
|
void ShortcutManager::convertFromString(std::string_view data, QKeySequence& sequence, int& modifier) const
|
||||||
{
|
{
|
||||||
convertFromString(data, sequence);
|
convertFromString(data, sequence);
|
||||||
convertFromString(data, modifier);
|
convertFromString(data, modifier);
|
||||||
|
|
|
@ -31,7 +31,7 @@ namespace CSMPrefs
|
||||||
bool getSequence(std::string_view name, QKeySequence& sequence) const;
|
bool getSequence(std::string_view name, QKeySequence& sequence) const;
|
||||||
void setSequence(std::string_view name, const QKeySequence& sequence);
|
void setSequence(std::string_view name, const QKeySequence& sequence);
|
||||||
|
|
||||||
bool getModifier(const std::string& name, int& modifier) const;
|
bool getModifier(std::string_view name, int& modifier) const;
|
||||||
void setModifier(std::string_view name, int modifier);
|
void setModifier(std::string_view name, int modifier);
|
||||||
|
|
||||||
std::string convertToString(const QKeySequence& sequence) const;
|
std::string convertToString(const QKeySequence& sequence) const;
|
||||||
|
@ -39,10 +39,10 @@ namespace CSMPrefs
|
||||||
|
|
||||||
std::string convertToString(const QKeySequence& sequence, int modifier) const;
|
std::string convertToString(const QKeySequence& sequence, int modifier) const;
|
||||||
|
|
||||||
void convertFromString(const std::string& data, QKeySequence& sequence) const;
|
void convertFromString(std::string_view data, QKeySequence& sequence) const;
|
||||||
void convertFromString(const std::string& data, int& modifier) const;
|
void convertFromString(std::string_view data, int& modifier) const;
|
||||||
|
|
||||||
void convertFromString(const std::string& data, QKeySequence& sequence, int& modifier) const;
|
void convertFromString(std::string_view data, QKeySequence& sequence, int& modifier) const;
|
||||||
|
|
||||||
/// Replaces "{sequence-name}" or "{modifier-name}" with the appropriate text
|
/// Replaces "{sequence-name}" or "{modifier-name}" with the appropriate text
|
||||||
QString processToolTip(const QString& toolTip) const;
|
QString processToolTip(const QString& toolTip) const;
|
||||||
|
@ -53,7 +53,7 @@ namespace CSMPrefs
|
||||||
typedef std::map<std::string, QKeySequence, std::less<>> SequenceMap;
|
typedef std::map<std::string, QKeySequence, std::less<>> SequenceMap;
|
||||||
typedef std::map<std::string, int, std::less<>> ModifierMap;
|
typedef std::map<std::string, int, std::less<>> ModifierMap;
|
||||||
typedef std::map<int, std::string> NameMap;
|
typedef std::map<int, std::string> NameMap;
|
||||||
typedef std::map<std::string, int> KeyMap;
|
typedef std::map<std::string, int, std::less<>> KeyMap;
|
||||||
|
|
||||||
ShortcutMap mShortcuts;
|
ShortcutMap mShortcuts;
|
||||||
SequenceMap mSequences;
|
SequenceMap mSequences;
|
||||||
|
|
|
@ -498,7 +498,7 @@ CSMPrefs::ShortcutSetting& CSMPrefs::State::declareShortcut(
|
||||||
// Setup with actual data
|
// Setup with actual data
|
||||||
QKeySequence sequence;
|
QKeySequence sequence;
|
||||||
|
|
||||||
getShortcutManager().convertFromString(value, sequence);
|
getShortcutManager().convertFromString(value.get(), sequence);
|
||||||
getShortcutManager().setSequence(value.mName, sequence);
|
getShortcutManager().setSequence(value.mName, sequence);
|
||||||
|
|
||||||
CSMPrefs::ShortcutSetting* setting
|
CSMPrefs::ShortcutSetting* setting
|
||||||
|
|
Loading…
Reference in a new issue