diff --git a/src/plugins/fakevim/fakevimhandler.cpp b/src/plugins/fakevim/fakevimhandler.cpp index 76af1603b8563f9c9fbdec51139b75bc50fe1fc2..581b7e2636d144fb226a2c72391c9db73e352de1 100644 --- a/src/plugins/fakevim/fakevimhandler.cpp +++ b/src/plugins/fakevim/fakevimhandler.cpp @@ -357,7 +357,7 @@ public: QString removeSelectedText(); int anchor() const { return m_anchor; } int position() const { return m_tc.position(); } - QString selectedText() const; + QString selectedText(MoveType moveType = MoveExclusive) const; // undo handling void undo(); @@ -764,7 +764,8 @@ void FakeVimHandler::Private::updateSelection() int anchorPos = m_marks['<']; //qDebug() << "POS: " << cursorPos << " ANCHOR: " << anchorPos; if (m_visualMode == VisualCharMode) { - sel.cursor.setPosition(anchorPos, KeepAnchor); + sel.cursor.setPosition(qMin(cursorPos, anchorPos), MoveAnchor); + sel.cursor.setPosition(qMax(cursorPos, anchorPos) + 1, KeepAnchor); selections.append(sel); } else if (m_visualMode == VisualLineMode) { sel.cursor.setPosition(qMin(cursorPos, anchorPos), MoveAnchor); @@ -1476,7 +1477,20 @@ EventResult FakeVimHandler::Private::handleCommandMode(int key, int unmodified, moveLeft(); setAnchor(); m_submode = YankSubMode; - } else if (key == 'y' && m_visualMode == VisualLineMode) { + } else if (key == 'y' && m_visualMode == VisualCharMode) { + m_registers[m_register] = selectedText(MoveInclusive); + setPosition(qMin(position(), anchor())); + leaveVisualMode(); + finishMovement(); + } else if (key == 'Y' && m_visualMode == NoVisualMode) { + const int line = cursorLineInDocument() + 1; + selectRange(line, line + count() - 1); + m_registers[m_register] = selectedText(); + setPosition(qMin(position(), anchor())); + finishMovement(); + } else if ((key == 'y' && m_visualMode == VisualLineMode) + || (key == 'Y' && m_visualMode == VisualLineMode) + || (key == 'Y' && m_visualMode == VisualCharMode)) { int beginLine = lineForPosition(m_marks['<']); int endLine = lineForPosition(m_marks['>']); selectRange(beginLine, endLine); @@ -1484,13 +1498,9 @@ EventResult FakeVimHandler::Private::handleCommandMode(int key, int unmodified, setPosition(qMin(position(), anchor())); moveToStartOfLine(); leaveVisualMode(); - updateSelection(); - } else if (key == 'Y') { - moveToStartOfLine(); - setAnchor(); - moveDown(count()); - m_moveType = MoveLineWise; finishMovement(); + } else if ((key == 'y' || key == 'Y') && m_visualMode == VisualBlockMode) { + // not implemented } else if (key == 'z') { m_submode = ZSubMode; } else if (key == 'Z') { @@ -2403,10 +2413,15 @@ QString FakeVimHandler::Private::lastSearchString() const return m_searchHistory.empty() ? QString() : m_searchHistory.back(); } -QString FakeVimHandler::Private::selectedText() const +QString FakeVimHandler::Private::selectedText(MoveType moveType) const { + int beginPos = qMin(position(), anchor()); + int endPos = qMax(position(), anchor()); + if (moveType == MoveInclusive) + ++endPos; QTextCursor tc = m_tc; - tc.setPosition(m_anchor, KeepAnchor); + tc.setPosition(beginPos, MoveAnchor); + tc.setPosition(endPos, KeepAnchor); return tc.selection().toPlainText(); } diff --git a/src/plugins/projectexplorer/environmenteditmodel.cpp b/src/plugins/projectexplorer/environmenteditmodel.cpp index 3ce2110240de479b28303f227cddeebb7f4bf832..57ad65b8af738afe4cc0eb7052d05c053c8692ad 100644 --- a/src/plugins/projectexplorer/environmenteditmodel.cpp +++ b/src/plugins/projectexplorer/environmenteditmodel.cpp @@ -56,7 +56,7 @@ void EnvironmentModel::updateResultEnvironment() m_resultEnvironment.modify(m_items); foreach (const EnvironmentItem &item, m_items) { if (item.unset) { - m_resultEnvironment.set(item.name, QLatin1String("<UNSET>")); + m_resultEnvironment.set(item.name, tr("<UNSET>")); } } } @@ -128,7 +128,7 @@ QVariant EnvironmentModel::data(const QModelIndex &index, int role) const return m_resultEnvironment.value(m_resultEnvironment.constBegin() + index.row()); } else { if (m_items.at(index.row()).unset) - return QLatin1String("<UNSET>"); + return tr("<UNSET>"); else return m_items.at(index.row()).value; } @@ -286,7 +286,7 @@ bool EnvironmentModel::setData(const QModelIndex &index, const QVariant &value, QModelIndex EnvironmentModel::addVariable() { - const QString &name = QLatin1String("<VARIABLE>"); + const QString name = tr("<VARIABLE>"); if (m_mergedEnvironments) { int i = findInResult(name); if (i != -1) @@ -297,7 +297,7 @@ QModelIndex EnvironmentModel::addVariable() return index(i, 0, QModelIndex()); } // Don't exist, really add them - return addVariable(EnvironmentItem(name, QLatin1String("<VALUE>"))); + return addVariable(EnvironmentItem(name, tr("<VALUE>"))); } QModelIndex EnvironmentModel::addVariable(const EnvironmentItem &item) @@ -558,10 +558,12 @@ void EnvironmentWidget::updateSummaryText() foreach (const EnvironmentItem &item, list) { if (!text.isEmpty()) text.append("<br>"); - if (item.unset) - text.append(tr("Unset <b>%1</b>").arg(item.name)); - else - text.append(tr("Set <b>%1</b> to <b>%2</b>").arg(item.name, item.value)); + if (item.name != EnvironmentModel::tr("<VARIABLE>")) { + if (item.unset) + text.append(tr("Unset <b>%1</b>").arg(item.name)); + else + text.append(tr("Set <b>%1</b> to <b>%2</b>").arg(item.name, item.value)); + } } if (text.isEmpty()) text = tr("Summary: No changes to Environment"); diff --git a/src/plugins/welcome/rssfetcher.cpp b/src/plugins/welcome/rssfetcher.cpp index 7254c2d00b9792101f397524cc42afde1c731a0e..e0848a79695b4287c180b38626824d4e13d4eaad 100644 --- a/src/plugins/welcome/rssfetcher.cpp +++ b/src/plugins/welcome/rssfetcher.cpp @@ -120,7 +120,9 @@ RSSFetcher::RSSFetcher(int maxItems, QObject *parent) void RSSFetcher::fetch(const QUrl &url) { - m_http.setProxy(QNetworkProxyFactory::systemProxyForQuery(QNetworkProxyQuery(url)).first()); + QList<QNetworkProxy> proxies = QNetworkProxyFactory::systemProxyForQuery(QNetworkProxyQuery(url)); + if (proxies.count() > 0) + m_http.setProxy(proxies.first()); m_http.setHost(url.host()); QString agentStr = QString("Qt-Creator/%1 (QHttp %2; %3; %4; %5 bit)") .arg(Core::Constants::IDE_VERSION_LONG).arg(qVersion())