/***************************************************************************
- * Copyright (C) 2005/06 by The Quassel Team *
+ * Copyright (C) 2005/06 by the Quassel Project *
* devel@quassel-irc.org *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
- * (at your option) any later version. *
+ * (at your option) version 3. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
#include "tabcompleter.h"
-InputLine::InputLine(QWidget *parent) : QLineEdit(parent) {
- idx = 0;
+InputLine::InputLine(QWidget *parent)
+ : QLineEdit(parent),
+ idx(0)
+{
connect(this, SIGNAL(returnPressed()), this, SLOT(enter()));
tabComplete = new TabCompleter(this);
- connect(this, SIGNAL(nickListUpdated(QStringList)), tabComplete, SLOT(updateNickList(QStringList)));
+
+#ifdef Q_WS_MAC
+ bindModifier = Qt::ControlModifier | Qt::AltModifier;
+ jumpModifier = Qt::ControlModifier;
+#else
+ bindModifier = Qt::ControlModifier;
+ jumpModifier = Qt::AltModifier;
+#endif
}
InputLine::~InputLine() {
- delete tabComplete;
}
void InputLine::keyPressEvent(QKeyEvent * event) {
+ if(event->modifiers() == jumpModifier || event->modifiers() == bindModifier) {
+ event->ignore();
+ return;
+ }
+
if(event->key() == Qt::Key_Tab) { // Tabcomplete
tabComplete->complete();
event->accept();
} else {
- tabComplete->disable();
+ tabComplete->reset();
if(event->key() == Qt::Key_Up) {
if(idx > 0) { idx--; setText(history[idx]); }
event->accept();