/***************************************************************************
- * 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