X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fuisupport%2Finputline.cpp;h=ce0fa373fb0826a8a188c3d0819d0fdf649e7ae9;hb=9ea27e456f4163c37118f6dc34188809fc37d6d9;hp=3fe70c7153f7288baa41170963310c5c982dd5ec;hpb=b19c2a813430ea8030dc66eb3343c727c2124db9;p=quassel.git diff --git a/src/uisupport/inputline.cpp b/src/uisupport/inputline.cpp index 3fe70c71..ce0fa373 100644 --- a/src/uisupport/inputline.cpp +++ b/src/uisupport/inputline.cpp @@ -35,6 +35,9 @@ InputLine::InputLine(QWidget *parent) { #ifdef HAVE_KDE //This is done to make the KTextEdit look like a lineedit +#if QT_VERSION >= 0x040500 + document()->setDocumentMargin(0); +#endif setMaximumHeight(document()->size().toSize().height()); setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff); @@ -54,7 +57,7 @@ InputLine::~InputLine() { void InputLine::setCustomFont(const QFont &font) { setFont(font); #ifdef HAVE_KDE - setMaximumHeight(document()->size().toSize().height()); + setMaximumHeight(document()->size().toSize().height() + 2*frameWidth()); #endif } @@ -130,9 +133,9 @@ void InputLine::keyPressEvent(QKeyEvent * event) { #ifdef HAVE_KDE //Since this is a ktextedit, we don't have this signal "natively" case Qt::Key_Return: + case Qt::Key_Enter: event->accept(); - if(!text().isEmpty()) - emit returnPressed(); + emit returnPressed(); break; #endif @@ -169,9 +172,11 @@ bool InputLine::addToHistory(const QString &text, bool temporary) { } void InputLine::on_returnPressed() { - addToHistory(text()); - emit sendText(text()); - resetLine(); + if(!text().isEmpty()) { + addToHistory(text()); + emit sendText(text()); + resetLine(); + } } void InputLine::on_textChanged(QString newText) { @@ -195,7 +200,7 @@ void InputLine::on_textChanged(QString newText) { clear(); if(lines.count() >= 4) { - QString msg = tr("Do you really want to paste %1 lines?").arg(lines.count()); + QString msg = tr("Do you really want to paste %n lines?", "", lines.count()); msg += "

"; for(int i = 0; i < 3; i++) { msg += lines[i].left(40); @@ -214,9 +219,11 @@ void InputLine::on_textChanged(QString newText) { } foreach(QString line, lines) { - clear(); - insert(line); - emit returnPressed(); + if(!line.isEmpty()) { + clear(); + insert(line); + emit returnPressed(); + } } // if(newText.contains(lineSep)) { // clear(); @@ -237,4 +244,9 @@ void InputLine::resetLine() { void InputLine::showHistoryEntry() { // if the user changed the history, display the changed line tempHistory.contains(idx) ? setText(tempHistory[idx]) : setText(history[idx]); +#ifdef HAVE_KDE + QTextCursor cursor = textCursor(); + cursor.movePosition(QTextCursor::End); + setTextCursor(cursor); +#endif }