forked from qt-creator/qt-creator
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
This commit is contained in:
@@ -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);
|
||||
if (contents.isEmpty()) {
|
||||
if (m_lastMessageLevel == MessageMode)
|
||||
hide();
|
||||
else
|
||||
m_hideTimer.start();
|
||||
} else {
|
||||
m_hideTimer.stop();
|
||||
show();
|
||||
|
||||
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->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);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user