Changeset View
Changeset View
Standalone View
Standalone View
src/KeyboardTranslatorManager.cpp
Show First 20 Lines • Show All 71 Lines • ▼ Show 20 Line(s) | 71 | if (QFile::remove(path)) { | |||
---|---|---|---|---|---|
72 | _translators.remove(name); | 72 | _translators.remove(name); | ||
73 | return true; | 73 | return true; | ||
74 | } else { | 74 | } else { | ||
75 | qCDebug(KonsoleDebug) << "Failed to remove translator - " << path; | 75 | qCDebug(KonsoleDebug) << "Failed to remove translator - " << path; | ||
76 | return false; | 76 | return false; | ||
77 | } | 77 | } | ||
78 | } | 78 | } | ||
79 | 79 | | |||
80 | QString KeyboardTranslatorManager::findTranslatorPath(const QString &name) | 80 | bool KeyboardTranslatorManager::isTranslatorDeletable(const QString &name) const | ||
81 | { | ||||
82 | const QString &dir = QFileInfo(findTranslatorPath(name)).path(); | ||||
83 | return QFileInfo(dir).isWritable(); | ||||
84 | } | ||||
85 | | ||||
86 | bool KeyboardTranslatorManager::isTranslatorResettable(const QString &name) const | ||||
87 | { | ||||
88 | const QStringList &paths = QStandardPaths::locateAll(QStandardPaths::GenericDataLocation, QStringLiteral("konsole/") + name + QStringLiteral(".keytab")); | ||||
89 | | ||||
90 | return (paths.count() > 1); | ||||
91 | } | ||||
92 | | ||||
93 | const QString KeyboardTranslatorManager::findTranslatorPath(const QString &name) const | ||||
81 | { | 94 | { | ||
82 | return QStandardPaths::locate(QStandardPaths::GenericDataLocation, QStringLiteral("konsole/") + name + QStringLiteral(".keytab")); | 95 | return QStandardPaths::locate(QStandardPaths::GenericDataLocation, QStringLiteral("konsole/") + name + QStringLiteral(".keytab")); | ||
83 | } | 96 | } | ||
84 | 97 | | |||
85 | void KeyboardTranslatorManager::findTranslators() | 98 | void KeyboardTranslatorManager::findTranslators() | ||
86 | { | 99 | { | ||
87 | QStringList list; | 100 | QStringList list; | ||
88 | const QStringList dirs = QStandardPaths::locateAll(QStandardPaths::GenericDataLocation, QStringLiteral("konsole"), | 101 | const QStringList dirs = QStandardPaths::locateAll(QStandardPaths::GenericDataLocation, QStringLiteral("konsole"), | ||
▲ Show 20 Lines • Show All 110 Lines • ▼ Show 20 Line(s) | 210 | { | |||
199 | // fall back to the internal hard-coded fallback translator | 212 | // fall back to the internal hard-coded fallback translator | ||
200 | const KeyboardTranslator *translator = findTranslator(QStringLiteral("default")); | 213 | const KeyboardTranslator *translator = findTranslator(QStringLiteral("default")); | ||
201 | if (translator == nullptr) { | 214 | if (translator == nullptr) { | ||
202 | translator = _fallbackTranslator; | 215 | translator = _fallbackTranslator; | ||
203 | } | 216 | } | ||
204 | return translator; | 217 | return translator; | ||
205 | } | 218 | } | ||
206 | 219 | | |||
207 | QStringList KeyboardTranslatorManager::allTranslators() | 220 | const QStringList KeyboardTranslatorManager::allTranslators() | ||
208 | { | 221 | { | ||
209 | if (!_haveLoadedAll) { | 222 | if (!_haveLoadedAll) { | ||
210 | findTranslators(); | 223 | findTranslators(); | ||
211 | } | 224 | } | ||
212 | 225 | | |||
213 | return _translators.keys(); | 226 | return _translators.keys(); | ||
214 | } | 227 | } |