OSDN Git Service

refactoring.
[kita/kita.git] / kita / src / threadlistview.h
index 5d830dd..fe5e93a 100644 (file)
@@ -1,45 +1,64 @@
 /***************************************************************************
- *   Copyright (C) 2003 by Hideki Ikemoto                                  *
- *   ikemo@wakaba.jp                                                       *
- *                                                                         *
- *   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.                                   *
- ***************************************************************************/
+*   Copyright (C) 2003 by Hideki Ikemoto                                  *
+*   ikemo@wakaba.jp                                                       *
+*                                                                         *
+*   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.                                   *
+***************************************************************************/
 #ifndef KITATHREADLISTVIEW_H
 #define KITATHREADLISTVIEW_H
 
-#include <threadlistviewbase.h>
-
-enum ThreadListViewRows {
-  Row_Mark,
-  Row_ID,
-  Row_Icon,
-  Row_Subject,
-  Row_ResNum,
-  Row_Read,
-  Row_Unread,
-  Row_Board,
-  Row_DatName,
-  Row_DatURL
+#include "threadlistviewbase.h"
+
+#include <klistview.h>
+#include <kparts/browserextension.h>
+
+struct Col_Attr
+{
+    QString labelName; /// for header's label
+    QString itemName;  /// for header's popupItem
+    QString keyName;   /// for KConfig's key
+    bool showDefault;  /// default setting.
 };
 
-namespace Kita {
 
-/**
-@author Hideki Ikemoto
-*/
-class ThreadListView : public Kita::ThreadListViewBase
+namespace Kita
 {
-Q_OBJECT
-public:
-    ThreadListView(QWidget *parent = 0, const char *name = 0);
+    class Thread;
+    /**
+    @author Hideki Ikemoto
+    */
+    class ThreadListView : public Kita::ThreadListViewBase
+    {
+        Q_OBJECT
 
-    ~ThreadListView();
+    public:
+        ThreadListView( QWidget* parent = 0, const char *name = 0 );
+        ~ThreadListView();
 
-};
+    protected:
+        static struct Col_Attr s_colAttr[];
+        QStringList m_prevquery;
+        unsigned m_nextHitIndex;
+        QValueList<KListViewItem *> m_hitList;
 
-};
+        void insertSearchCombo();
+        void searchNext( const QStringList& input );
+        void searchNew( const QStringList& query );
+        void clearSearch();
+        void hideColumn( int col );
+        void showColumn( int col );
+
+    protected slots:
+        void slotHideButton( bool on );
+        void slotMouseButtonClicked( int, QListViewItem* );
+
+    private slots:
+        void slotSearchButton();
+
+    };
+}
 
 #endif