/***************************************************************************
- * Copyright (C) 2005/06 by the Quassel IRC 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 *
#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();