X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Finputwidget.h;h=7b6be7b036cab6c365194dc95eba41221144dc25;hp=86a769386091434cb620215c93b54b4cb8586f74;hb=cf0e5a5e8d6b27cd377b594a4342a7b493f815b0;hpb=0c9cd0eef379e1d3e10a75cc8506a7e65f95fd67 diff --git a/src/qtui/inputwidget.h b/src/qtui/inputwidget.h index 86a76938..7b6be7b0 100644 --- a/src/qtui/inputwidget.h +++ b/src/qtui/inputwidget.h @@ -1,5 +1,5 @@ /*************************************************************************** - * 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 * @@ -22,61 +22,68 @@ #define INPUTWIDGET_H #include "ui_inputwidget.h" -#include -#include +#include "abstractitemview.h" #include "buffermodel.h" #include "bufferinfo.h" #include "identity.h" #include "network.h" -class InputWidget : public QWidget { +class MultiLineEdit; + +class InputWidget : public AbstractItemView { Q_OBJECT public: InputWidget(QWidget *parent = 0); virtual ~InputWidget(); - inline BufferModel *model() { return _bufferModel; } - void setModel(BufferModel *bufferModel); + const Network *currentNetwork() const; - inline QItemSelectionModel *selectionModel() const { return _selectionModel; } - void setSelectionModel(QItemSelectionModel *selectionModel); + inline MultiLineEdit* inputLine() const { return ui.inputEdit; } - const Network *currentNetwork() const; +protected: + virtual bool eventFilter(QObject *watched, QEvent *event); protected slots: -// virtual void closeEditor(QWidget *editor, QAbstractItemDelegate::EndEditHint hint); -// virtual void commitData(QWidget *editor); virtual void currentChanged(const QModelIndex ¤t, const QModelIndex &previous); -// virtual void dataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight); -// virtual void editorDestroyed(QObject *editor); -// virtual void rowsAboutToBeRemoved(const QModelIndex &parent, int start, int end); -// virtual void rowsInserted(const QModelIndex &parent, int start, int end); -// virtual void selectionChanged(const QItemSelection &selected, const QItemSelection &deselected); + virtual void rowsAboutToBeRemoved(const QModelIndex &parent, int start, int end); + virtual void dataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight); private slots: - void sendText(QString text); + void setCustomFont(const QVariant &font); + void setUseCustomFont(const QVariant &); + void setEnableSpellCheck(const QVariant &); + void setShowNickSelector(const QVariant &); + void setMaxLines(const QVariant &); + void setMultiLineEnabled(const QVariant &); + void setScrollBarsEnabled(const QVariant &); + + void sendText(const QString &text) const; void changeNick(const QString &newNick) const; - void setNetwork(const Network *network); - void setIdentity(const IdentityId &identityId); + void setNetwork(NetworkId networkId); + void setIdentity(IdentityId identityId); + void connectMyIrcUser(); void updateNickSelector() const; + void updateEnabledState(); -signals: - void userInput(BufferInfo, QString msg) const; + BufferInfo currentBufferInfo() const; private: Ui::InputWidget ui; - bool validBuffer; - BufferInfo currentBufferInfo; - - QPointer _bufferModel; - QPointer _selectionModel; NetworkId _networkId; IdentityId _identityId; +}; + +class MouseWheelFilter : public QObject { + Q_OBJECT + +public: + MouseWheelFilter(QObject *parent = 0); + virtual bool eventFilter(QObject *obj, QEvent *event); }; #endif // INPUTWIDGET_H