Deuglify channel state icons
[quassel.git] / src / uisupport / inputline.h
index 1595125..dc6d691 100644 (file)
@@ -1,5 +1,5 @@
 /***************************************************************************
- *   Copyright (C) 2005-07 by the Quassel IRC Team                         *
+ *   Copyright (C) 2005-09 by the Quassel Project                          *
  *   devel@quassel-irc.org                                                 *
  *                                                                         *
  *   This program is free software; you can redistribute it and/or modify  *
@@ -28,29 +28,35 @@ class TabCompleter;
 class InputLine : public QLineEdit {
   Q_OBJECT
 
-  public:
-    InputLine(QWidget *parent = 0);
-    ~InputLine();
-    
-  protected:
-    virtual bool event(QEvent *);
-    virtual void keyPressEvent(QKeyEvent * event);
-
-  private slots:
-    void enter();
-
-  public slots:
-    void updateNickList(QStringList);
-    
-  signals:
-    void nickListUpdated(QStringList);
-    
-  private:
-    qint32 idx;
-    QStringList history;
-    QStringList nickList;
-
-    TabCompleter *tabComplete;
+public:
+  InputLine(QWidget *parent = 0);
+  ~InputLine();
+
+protected:
+  //    virtual bool event(QEvent *);
+  virtual void keyPressEvent(QKeyEvent * event);
+  virtual bool eventFilter(QObject *watched, QEvent *event);
+
+private slots:
+  void on_returnPressed();
+  void on_textChanged(QString newText);
+
+  bool addToHistory(const QString &text, bool temporary = false);
+
+signals:
+  void sendText(QString text);
+
+private:
+  QStringList history;
+  QHash<int, QString> tempHistory;
+  qint32 idx;
+  TabCompleter *tabCompleter;
+
+  int bindModifier;
+  int jumpModifier;
+
+  void resetLine();
+  void showHistoryEntry();
 };
 
 #endif