aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/fakevim
diff options
context:
space:
mode:
authorEike Ziller <eike.ziller@digia.com>2014-01-08 11:01:06 +0100
committerEike Ziller <eike.ziller@digia.com>2014-01-08 11:01:06 +0100
commit236ea9efb912c90cf3ecd6b03006f40e8da4d5f2 (patch)
tree5a0d09b49272e510d289483b52f991820d2a37cc /src/plugins/fakevim
parent9f46078afea181dda723f15de7f2d7f9fc5c303c (diff)
parent746c5d886395f66d3f7af1461555a75300201db6 (diff)
Merge remote-tracking branch 'origin/3.0'
Conflicts: share/qtcreator/debugger/dumper.cpp share/qtcreator/debugger/dumper_p.h share/qtcreator/debugger/test/main.cpp src/plugins/debugger/gdb/classicgdbengine.cpp src/plugins/debugger/gdb/pythongdbengine.cpp src/plugins/debugger/lldblib/guest/lldbengineguest.cpp src/plugins/debugger/lldblib/guest/lldbengineguest.h src/plugins/debugger/lldblib/guest/main.cpp src/plugins/debugger/lldblib/ipcengineguest.cpp src/plugins/debugger/lldblib/ipcengineguest.h src/plugins/debugger/lldblib/ipcenginehost.cpp src/plugins/debugger/lldblib/ipcenginehost.h src/plugins/debugger/lldblib/lldbenginehost.cpp src/plugins/debugger/lldblib/lldboptionspage.cpp src/plugins/qbsprojectmanager/qbsstep.cpp src/plugins/qbsprojectmanager/qbsstep.h src/plugins/qmlprofiler/canvas/qdeclarativecanvas.cpp src/plugins/qmlprofiler/canvas/qdeclarativecanvas_p.h src/plugins/qmlprofiler/canvas/qdeclarativecontext2d.cpp src/plugins/qmlprofiler/canvas/qdeclarativecontext2d_p.h src/plugins/qmlprofiler/canvas/qmlprofilercanvas.cpp src/plugins/qnx/blackberrycheckdevmodestep.cpp src/plugins/qtsupport/debugginghelper.cpp Change-Id: Ie9fd0a885fb6264a6a8a72daee071b75bcbd2e9d
Diffstat (limited to 'src/plugins/fakevim')
-rw-r--r--src/plugins/fakevim/FakeVim.pluginspec.in2
-rw-r--r--src/plugins/fakevim/fakevim_test.cpp2
-rw-r--r--src/plugins/fakevim/fakevimactions.cpp2
-rw-r--r--src/plugins/fakevim/fakevimactions.h2
-rw-r--r--src/plugins/fakevim/fakevimhandler.cpp2
-rw-r--r--src/plugins/fakevim/fakevimhandler.h2
-rw-r--r--src/plugins/fakevim/fakevimplugin.cpp71
-rw-r--r--src/plugins/fakevim/fakevimplugin.h2
8 files changed, 57 insertions, 28 deletions
diff --git a/src/plugins/fakevim/FakeVim.pluginspec.in b/src/plugins/fakevim/FakeVim.pluginspec.in
index f42f3a71750..d8c2b8658da 100644
--- a/src/plugins/fakevim/FakeVim.pluginspec.in
+++ b/src/plugins/fakevim/FakeVim.pluginspec.in
@@ -1,6 +1,6 @@
<plugin name=\"FakeVim\" version=\"$$QTCREATOR_VERSION\" compatVersion=\"$$QTCREATOR_COMPAT_VERSION\">
<vendor>Digia Plc</vendor>
- <copyright>(C) 2013 Digia Plc</copyright>
+ <copyright>(C) 2014 Digia Plc</copyright>
<license>
Commercial Usage
diff --git a/src/plugins/fakevim/fakevim_test.cpp b/src/plugins/fakevim/fakevim_test.cpp
index 997a684c905..037eb3ef27a 100644
--- a/src/plugins/fakevim/fakevim_test.cpp
+++ b/src/plugins/fakevim/fakevim_test.cpp
@@ -1,6 +1,6 @@
/**************************************************************************
**
-** Copyright (C) 2013 Lukas Holecek <hluk@email.cz>
+** Copyright (C) 2014 Lukas Holecek <hluk@email.cz>
** Contact: http://www.qt-project.org/legal
**
** This file is part of Qt Creator.
diff --git a/src/plugins/fakevim/fakevimactions.cpp b/src/plugins/fakevim/fakevimactions.cpp
index 22aad3fc26d..183ff884ac2 100644
--- a/src/plugins/fakevim/fakevimactions.cpp
+++ b/src/plugins/fakevim/fakevimactions.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
+** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
** Contact: http://www.qt-project.org/legal
**
** This file is part of Qt Creator.
diff --git a/src/plugins/fakevim/fakevimactions.h b/src/plugins/fakevim/fakevimactions.h
index 982296e4764..dc56976b509 100644
--- a/src/plugins/fakevim/fakevimactions.h
+++ b/src/plugins/fakevim/fakevimactions.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
+** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
** Contact: http://www.qt-project.org/legal
**
** This file is part of Qt Creator.
diff --git a/src/plugins/fakevim/fakevimhandler.cpp b/src/plugins/fakevim/fakevimhandler.cpp
index 68fb41949f2..7d471b8c13e 100644
--- a/src/plugins/fakevim/fakevimhandler.cpp
+++ b/src/plugins/fakevim/fakevimhandler.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
+** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
** Contact: http://www.qt-project.org/legal
**
** This file is part of Qt Creator.
diff --git a/src/plugins/fakevim/fakevimhandler.h b/src/plugins/fakevim/fakevimhandler.h
index e6a1320b5ac..408b1c3cc3c 100644
--- a/src/plugins/fakevim/fakevimhandler.h
+++ b/src/plugins/fakevim/fakevimhandler.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
+** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
** Contact: http://www.qt-project.org/legal
**
** This file is part of Qt Creator.
diff --git a/src/plugins/fakevim/fakevimplugin.cpp b/src/plugins/fakevim/fakevimplugin.cpp
index 7dddb529141..d0af40cd7dc 100644
--- a/src/plugins/fakevim/fakevimplugin.cpp
+++ b/src/plugins/fakevim/fakevimplugin.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
+** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
** Contact: http://www.qt-project.org/legal
**
** This file is part of Qt Creator.
@@ -100,6 +100,7 @@
#include <QTextBlock>
#include <QTextCursor>
#include <QTextEdit>
+#include <QTimer>
#include <QTreeWidgetItem>
using namespace TextEditor;
@@ -121,7 +122,11 @@ class MiniBuffer : public QStackedWidget
Q_OBJECT
public:
- MiniBuffer() : m_label(new QLabel(this)), m_edit(new QLineEdit(this)), m_eventFilter(0)
+ MiniBuffer()
+ : m_label(new QLabel(this))
+ , m_edit(new QLineEdit(this))
+ , m_eventFilter(0)
+ , m_lastMessageLevel(MessageMode)
{
connect(m_edit, SIGNAL(textEdited(QString)), SLOT(changed()));
connect(m_edit, SIGNAL(cursorPositionChanged(int,int)), SLOT(changed()));
@@ -130,6 +135,10 @@ public:
addWidget(m_label);
addWidget(m_edit);
+
+ m_hideTimer.setSingleShot(true);
+ m_hideTimer.setInterval(8000);
+ connect(&m_hideTimer, SIGNAL(timeout()), SLOT(hide()));
}
void setContents(const QString &contents, int cursorPos, int anchorPos,
@@ -146,25 +155,32 @@ public:
m_edit->blockSignals(false);
setCurrentWidget(m_edit);
m_edit->setFocus();
- } else if (contents.isEmpty() && messageLevel != MessageShowCmd) {
- hide();
} else {
- show();
- m_label->setText(contents);
-
- QString css;
- if (messageLevel == MessageError) {
- css = _("border:1px solid rgba(255,255,255,150);"
- "background-color:rgba(255,0,0,100);");
- } else if (messageLevel == MessageWarning) {
- css = _("border:1px solid rgba(255,255,255,120);"
- "background-color:rgba(255,255,0,20);");
- } else if (messageLevel == MessageShowCmd) {
- css = _("border:1px solid rgba(255,255,255,120);"
- "background-color:rgba(100,255,100,30);");
+ if (contents.isEmpty()) {
+ if (m_lastMessageLevel == MessageMode)
+ hide();
+ else
+ m_hideTimer.start();
+ } else {
+ m_hideTimer.stop();
+ show();
+
+ m_label->setText(contents);
+
+ QString css;
+ if (messageLevel == MessageError) {
+ css = _("border:1px solid rgba(255,255,255,150);"
+ "background-color:rgba(255,0,0,100);");
+ } else if (messageLevel == MessageWarning) {
+ css = _("border:1px solid rgba(255,255,255,120);"
+ "background-color:rgba(255,255,0,20);");
+ } else if (messageLevel == MessageShowCmd) {
+ css = _("border:1px solid rgba(255,255,255,120);"
+ "background-color:rgba(100,255,100,30);");
+ }
+ m_label->setStyleSheet(QString::fromLatin1(
+ "*{border-radius:2px;padding-left:4px;padding-right:4px;%1}").arg(css));
}
- m_label->setStyleSheet(QString::fromLatin1(
- "*{border-radius:2px;padding-left:4px;padding-right:4px;%1}").arg(css));
if (m_edit->hasFocus())
emit edited(QString(), -1, -1);
@@ -184,6 +200,8 @@ public:
}
m_eventFilter = eventFilter;
}
+
+ m_lastMessageLevel = messageLevel;
}
QSize sizeHint() const
@@ -210,6 +228,8 @@ private:
QLabel *m_label;
QLineEdit *m_edit;
QObject *m_eventFilter;
+ QTimer m_hideTimer;
+ int m_lastMessageLevel;
};
///////////////////////////////////////////////////////////////////////
@@ -1108,11 +1128,20 @@ void FakeVimPluginPrivate::userActionTriggered()
const int key = act->data().toInt();
if (!key)
return;
- QString cmd = userCommandMap().value(key);
IEditor *editor = EditorManager::currentEditor();
FakeVimHandler *handler = m_editorToHandler[editor];
- if (handler)
+ if (handler) {
+ // If disabled, enable FakeVim mode just for single user command.
+ bool enableFakeVim = !theFakeVimSetting(ConfigUseFakeVim)->value().toBool();
+ if (enableFakeVim)
+ setUseFakeVimInternal(true);
+
+ const QString cmd = userCommandMap().value(key);
handler->handleInput(cmd);
+
+ if (enableFakeVim)
+ setUseFakeVimInternal(false);
+ }
}
diff --git a/src/plugins/fakevim/fakevimplugin.h b/src/plugins/fakevim/fakevimplugin.h
index a8e7d8867c8..db1ced99f0c 100644
--- a/src/plugins/fakevim/fakevimplugin.h
+++ b/src/plugins/fakevim/fakevimplugin.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
+** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
** Contact: http://www.qt-project.org/legal
**
** This file is part of Qt Creator.