OSDN Git Service

refactoring.
authorikemo <ikemo@56b19765-1e22-0410-a548-a0f45d66c51a>
Tue, 23 Nov 2004 13:53:41 +0000 (13:53 +0000)
committerikemo <ikemo@56b19765-1e22-0410-a548-a0f45d66c51a>
Tue, 23 Nov 2004 13:53:41 +0000 (13:53 +0000)
git-svn-id: svn+ssh://svn.sourceforge.jp/svnroot/kita/kita/trunk@1548 56b19765-1e22-0410-a548-a0f45d66c51a

kita/src/kitasubjectview.cpp
kita/src/threadlistview.cpp
kita/src/threadlistview.h

index f29d7c9..b40f8e3 100644 (file)
@@ -470,48 +470,10 @@ bool KitaSubjectView::eventFilter( QObject* watched, QEvent* e )
             KPopupMenu popup;
             popup.setCheckable( true );
 
-            // FIXME: refactoring.
-            popup.insertItem( "Mark", Col_Mark );
-            popup.setItemChecked( Col_Mark, subjectList->columnWidth( Col_Mark ) != 0 );
-
-            popup.insertItem( "ID", Col_ID );
-            popup.setItemChecked( Col_ID, subjectList->columnWidth( Col_ID ) != 0 );
-
-            popup.insertItem( "Icon", Col_Icon );
-            popup.setItemChecked( Col_Icon, subjectList->columnWidth( Col_Icon ) != 0 );
-
-            popup.insertItem( "Subject", Col_Subject );
-            popup.setItemChecked( Col_Subject, subjectList->columnWidth( Col_Subject ) != 0 );
-
-            popup.insertItem( "ResNum", Col_ResNum );
-            popup.setItemChecked( Col_ResNum, subjectList->columnWidth( Col_ResNum ) != 0 );
-
-            popup.insertItem( "Read", Col_Read );
-            popup.setItemChecked( Col_Read, subjectList->columnWidth( Col_Read ) != 0 );
-
-            popup.insertItem( "ViewPos", Col_ViewPos );
-            popup.setItemChecked( Col_ViewPos, subjectList->columnWidth( Col_ViewPos ) != 0 );
-
-            popup.insertItem( "Unread", Col_Unread );
-            popup.setItemChecked( Col_Unread, subjectList->columnWidth( Col_Unread ) != 0 );
-
-            popup.insertItem( "Since", Col_Since );
-            popup.setItemChecked( Col_Since, subjectList->columnWidth( Col_Since ) != 0 );
-
-            popup.insertItem( "Speed", Col_Speed );
-            popup.setItemChecked( Col_Speed, subjectList->columnWidth( Col_Speed ) != 0 );
-
-            popup.insertItem( "Board", Col_Board );
-            popup.setItemChecked( Col_Board, subjectList->columnWidth( Col_Board ) != 0 );
-
-            popup.insertItem( "DatURL", Col_DatURL );
-            popup.setItemChecked( Col_DatURL, subjectList->columnWidth( Col_DatURL ) != 0 );
-
-            popup.insertItem( "MarkOrder", Col_MarkOrder );
-            popup.setItemChecked( Col_MarkOrder, subjectList->columnWidth( Col_MarkOrder ) != 0 );
-
-            popup.insertItem( "IDOrder", Col_IDOrder );
-            popup.setItemChecked( Col_IDOrder, subjectList->columnWidth( Col_IDOrder ) != 0 );
+            for( int i = Col_Begin; i <= Col_End; i++ ) {
+                popup.insertItem( s_colAttr[ i ].itemName, i );
+                popup.setItemChecked( i, subjectList->columnWidth( i ) != 0 );
+            }
 
             int id = popup.exec( mouseEvent->globalPos() );
             if ( id == -1 ) {
index 719bc57..a573413 100644 (file)
 
 using namespace Kita;
 
+struct Col_Attr ThreadListView::s_colAttr[] = {
+    // labelName, itemName, keyName
+    {"", "Mark", "Col_Mark"},
+    {"No.", "ID", "Col_ID"},
+    {"", "Icon", "Col_Icon"},
+    {"Title", "Subject", "Col_Subject"},
+    {"ResNum", "ResNum", "Col_ResNum"},
+    {"ReadNum", "Read", "Col_Read"},
+    {"ViewPos", "ViewPos", "Col_ViewPos"},
+    {"Unread", "Unread", "Col_Unread"},
+    {"Since", "Since", "Col_Since"},
+    {"Thread's speed", "Speed", "Col_Speed"},
+    {"Board", "Board", "Col_Board"},
+    {"Dat URL", "DatURL", "Col_DatURL"},
+    {"Mark Order", "MarkOrder", "Col_MarkOrder"},
+    {"ID Order", "IDOrder", "Col_IDOrder"}
+};
+
 ThreadListView::ThreadListView( QWidget* parent, const char* name )
         : ThreadListViewBase( parent, name )
 {
index e8eda27..5a22c45 100644 (file)
@@ -16,7 +16,8 @@
 #include <kparts/browserextension.h>
 
 enum ThreadListViewRows {
-    Col_Mark,
+    Col_Begin = 0,
+    Col_Mark = 0,
     Col_ID,
     Col_Icon,
     Col_Subject,
@@ -29,9 +30,18 @@ enum ThreadListViewRows {
     Col_Board,
     Col_DatURL,
     Col_MarkOrder,
-    Col_IDOrder    
+    Col_IDOrder,
+    Col_End = Col_IDOrder
 };
 
+struct Col_Attr
+{
+    QString labelName; // for header's label
+    QString itemName; // for header's popupItem
+    QString keyName;  // for QConfig's key
+};
+
+
 namespace Kita
 {
     class Thread;
@@ -47,6 +57,7 @@ namespace Kita
         ~ThreadListView();
 
     protected:
+        static struct Col_Attr s_colAttr[];
         QStringList m_prevquery;
         unsigned m_nextHitIndex;
         QValueList<KListViewItem *> m_hitList;