summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Molkentin <daniel.molkentin@nokia.com>2010-03-04 19:22:06 +0100
committerDaniel Molkentin <daniel.molkentin@nokia.com>2010-03-04 19:22:16 +0100
commit22773fc8252c0ca6bd85abe1c93e9cd2eb9f43c4 (patch)
tree4fca1f2fcd52781a7a13b044eadf6b61eee06456
parentc642d92962ae61dcd6a2706482fd91ceae3fd8d1 (diff)
downloadqt-creator-22773fc8252c0ca6bd85abe1c93e9cd2eb9f43c4.tar.gz
Shortcutsettings/FakeVim: Indicate modified shortcuts/regexps.
Fixes: QTCREATORBUG-559
-rw-r--r--src/plugins/coreplugin/dialogs/shortcutsettings.cpp25
-rw-r--r--src/plugins/fakevim/fakevimplugin.cpp41
2 files changed, 62 insertions, 4 deletions
diff --git a/src/plugins/coreplugin/dialogs/shortcutsettings.cpp b/src/plugins/coreplugin/dialogs/shortcutsettings.cpp
index 8393b2def6..cc64b0112c 100644
--- a/src/plugins/coreplugin/dialogs/shortcutsettings.cpp
+++ b/src/plugins/coreplugin/dialogs/shortcutsettings.cpp
@@ -180,6 +180,21 @@ void ShortcutSettings::keyChanged()
if (current && current->data(0, Qt::UserRole).isValid()) {
ShortcutItem *scitem = qVariantValue<ShortcutItem *>(current->data(0, Qt::UserRole));
scitem->m_key = QKeySequence(m_key[0], m_key[1], m_key[2], m_key[3]);
+ if (scitem->m_cmd->defaultKeySequence() != scitem->m_key) {
+ QFont f = current->font(0);
+ f.setItalic(true);
+ current->setFont(0, f);
+ current->setFont(1, f);
+ f.setBold(true);
+ current->setFont(2, f);
+ } else {
+ QFont f = current->font(0);
+ f.setItalic(false);
+ f.setBold(false);
+ current->setFont(0, f);
+ current->setFont(1, f);
+ current->setFont(2, f);
+ }
current->setText(2, scitem->m_key);
}
}
@@ -333,6 +348,16 @@ void ShortcutSettings::initialize()
}
item->setText(2, s->m_key);
+ if (s->m_cmd->defaultKeySequence() != s->m_key) {
+ QFont f = item->font(0);
+ f.setItalic(true);
+ item->setFont(0, f);
+ item->setFont(1, f);
+ f.setBold(true);
+ item->setFont(2, f);
+
+ }
+
item->setData(0, Qt::UserRole, qVariantFromValue(s));
}
}
diff --git a/src/plugins/fakevim/fakevimplugin.cpp b/src/plugins/fakevim/fakevimplugin.cpp
index a32ccd39e0..be7d5f2cda 100644
--- a/src/plugins/fakevim/fakevimplugin.cpp
+++ b/src/plugins/fakevim/fakevimplugin.cpp
@@ -390,6 +390,16 @@ void FakeVimExCommandsPage::initialize()
item->setText(2, ci->m_regex);
item->setData(0, Qt::UserRole, qVariantFromValue(ci));
+
+ if (ci->m_regex != s_defaultExCommandMap[name].pattern()) {
+ QFont f = item->font(0);
+ f.setItalic(true);
+ item->setFont(0, f);
+ item->setFont(1, f);
+ f.setBold(true);
+ item->setFont(2, f);
+ }
+
}
commandChanged(0);
@@ -402,6 +412,7 @@ void FakeVimExCommandsPage::commandChanged(QTreeWidgetItem *current)
m_ui.seqGrp->setEnabled(false);
return;
}
+
m_ui.seqGrp->setEnabled(true);
CommandItem *citem = qVariantValue<CommandItem *>(current->data(0, Qt::UserRole));
m_ui.regexEdit->setText(citem->m_regex);
@@ -417,14 +428,36 @@ void FakeVimExCommandsPage::filterChanged(const QString &f)
void FakeVimExCommandsPage::regexChanged()
{
- UniqueIDManager *uidm = UniqueIDManager::instance();
QTreeWidgetItem *current = m_ui.commandList->currentItem();
- if (current && current->data(0, Qt::UserRole).isValid()) {
- CommandItem *citem = qVariantValue<CommandItem *>(current->data(0, Qt::UserRole));
+ if (!current)
+ return;
+
+ UniqueIDManager *uidm = UniqueIDManager::instance();
+ CommandItem *citem = qVariantValue<CommandItem *>(current->data(0, Qt::UserRole));
+ const QString name = uidm->stringForUniqueIdentifier(citem->m_cmd->id());
+
+ if (current->data(0, Qt::UserRole).isValid()) {
citem->m_regex = m_ui.regexEdit->text();
current->setText(2, citem->m_regex);
- s_exCommandMap[uidm->stringForUniqueIdentifier(citem->m_cmd->id())] = QRegExp(citem->m_regex);
+ s_exCommandMap[name] = QRegExp(citem->m_regex);
}
+
+ if (citem->m_regex != s_defaultExCommandMap[name].pattern()) {
+ QFont f = current->font(0);
+ f.setItalic(true);
+ current->setFont(0, f);
+ current->setFont(1, f);
+ f.setBold(true);
+ current->setFont(2, f);
+ } else {
+ QFont f = current->font(0);
+ f.setItalic(false);
+ f.setBold(false);
+ current->setFont(0, f);
+ current->setFont(1, f);
+ current->setFont(2, f);
+ }
+
}
void FakeVimExCommandsPage::setRegex(const QString &regex)