summaryrefslogtreecommitdiff
path: root/noncore/net/opieirc/ircmisc.cpp
Side-by-side diff
Diffstat (limited to 'noncore/net/opieirc/ircmisc.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/opieirc/ircmisc.cpp19
1 files changed, 16 insertions, 3 deletions
diff --git a/noncore/net/opieirc/ircmisc.cpp b/noncore/net/opieirc/ircmisc.cpp
index 6d93a34..df6f874 100644
--- a/noncore/net/opieirc/ircmisc.cpp
+++ b/noncore/net/opieirc/ircmisc.cpp
@@ -57,30 +57,43 @@ void IRCHistoryLineEdit::keyPressEvent(QKeyEvent *event) {
} else if (key == Key_Down) {
if (m_history.count() > 0 && m_index > 0) {
m_index--;
setText(m_history[m_index]);
}
if (m_index == 0) {
m_index = -1;
setText("");
}
} else if (key == Key_Return) {
m_history.prepend(text());
m_index = -1;
- } else if (key == Key_Tab) {
- odebug << "got tab" << oendl;
+ } else if (key == Key_N && event->state() == Qt::ControlButton) {
+ emit nextTab();
+ return;
+ } else if ( ( key == Key_Y || key == Key_Z ) && event->state() == Qt::ControlButton) {
+ emit closeTab();
+ return;
+ } else if (key == Key_P && event->state() == Qt::ControlButton) {
+ emit prevTab();
return;
}
+
QLineEdit::keyPressEvent(event);
}
bool IRCHistoryLineEdit::eventFilter(QObject *object, QEvent *event) {
if (event->type() == QEvent::KeyPress) {
QKeyEvent *k = (QKeyEvent *) event;
/* Catch tab characters */
if (k->key() == Key_Tab) {
- odebug << "tab!" << oendl;
+ emit nextTab();
return TRUE;
}
}
return QLineEdit::eventFilter(object, event);
}
+
+
+void IRCHistoryLineEdit::setEditFocus() {
+ setActiveWindow();
+ setFocus();
+}