/***************************************************************************
- * Copyright (C) 2005-08 by the Quassel Project *
+ * Copyright (C) 2005-09 by the Quassel Project *
* devel@quassel-irc.org *
* *
* This program is free software; you can redistribute it and/or modify *
#include <QLayout>
#include <QKeyEvent>
+#include <QMenu>
#include <QScrollBar>
#include "action.h"
#include "chatviewsearchcontroller.h"
#include "client.h"
#include "iconloader.h"
-#include "inputline.h"
+#include "multilineedit.h"
#include "qtui.h"
#include "settings.h"
_chatViewSearchController->setSearchMsgs(ui.searchBar->searchMsgsBox()->isChecked());
_chatViewSearchController->setSearchOnlyRegularMsgs(ui.searchBar->searchOnlyRegularMsgsBox()->isChecked());
- connect(ui.searchBar->searchEditLine(), SIGNAL(textChanged(const QString &)),
+ connect(ui.searchBar, SIGNAL(searchChanged(const QString &)),
_chatViewSearchController, SLOT(setSearchString(const QString &)));
connect(ui.searchBar->caseSensitiveBox(), SIGNAL(toggled(bool)),
_chatViewSearchController, SLOT(setCaseSensitive(bool)));
QKeyEvent *keyEvent = static_cast<QKeyEvent*>(event);
+ MultiLineEdit *inputLine = qobject_cast<MultiLineEdit *>(watched);
+ if(!inputLine)
+ return false;
+
// Intercept copy key presses
if(keyEvent == QKeySequence::Copy) {
- InputLine *inputLine = qobject_cast<InputLine *>(watched);
- if(!inputLine)
- return false;
if(inputLine->hasSelectedText())
return false;
ChatView *view = qobject_cast<ChatView *>(ui.stackedWidget->currentWidget());
return true;
}
+ // We don't want to steal cursor movement keys if the input line is in multiline mode
+ if(!inputLine->isSingleLine())
+ return false;
+
switch(keyEvent->key()) {
case Qt::Key_Up:
case Qt::Key_Down: