[Kita-svn] [2490] don't set functions in ThreadIndex static

Back to archive index

svnno****@sourc***** svnno****@sourc*****
2009年 7月 29日 (水) 20:09:56 JST


Revision: 2490
          http://sourceforge.jp/projects/kita/svn/view?view=rev&revision=2490
Author:   nogu
Date:     2009-07-29 20:09:56 +0900 (Wed, 29 Jul 2009)

Log Message:
-----------
don't set functions in ThreadIndex static

Modified Paths:
--------------
    kita/branches/KITA-KDE4/kita/src/libkita/boardmanager.cpp
    kita/branches/KITA-KDE4/kita/src/libkita/datinfo.cpp
    kita/branches/KITA-KDE4/kita/src/libkita/datinfo.h
    kita/branches/KITA-KDE4/kita/src/libkita/datmanager.cpp
    kita/branches/KITA-KDE4/kita/src/libkita/favoritethreads.cpp
    kita/branches/KITA-KDE4/kita/src/libkita/threadindex.cpp
    kita/branches/KITA-KDE4/kita/src/libkita/threadindex.h
    kita/branches/KITA-KDE4/kita/src/threadlistview.cpp

Modified: kita/branches/KITA-KDE4/kita/src/libkita/boardmanager.cpp
===================================================================
--- kita/branches/KITA-KDE4/kita/src/libkita/boardmanager.cpp	2009-07-29 09:28:41 UTC (rev 2489)
+++ kita/branches/KITA-KDE4/kita/src/libkita/boardmanager.cpp	2009-07-29 11:09:56 UTC (rev 2490)
@@ -512,8 +512,10 @@
             if (thread == 0) {
 
                 thread = Thread::getByURL(datURL);
-                if (thread == 0) continue;
-                ThreadIndex::loadIndex(thread, datURL, false);
+                if (thread == 0)
+                    continue;
+                ThreadIndex threadIndex(datURL);
+                threadIndex.loadIndex(thread, false);
             }
 
             if (thread != 0) threadList.append(thread);
@@ -579,6 +581,7 @@
             /* get pointer of Thread class */
             QString datURL = boardURL(url) + "dat/" + fname;
             Thread* thread = Thread::getByURL(datURL);
+            ThreadIndex threadIndex(datURL);
             if (threadList.indexOf(thread) == -1) {
                 threadList.append(thread);
             }
@@ -589,7 +592,9 @@
             /* load index file */
             if (!bdata->readIdx()) {
 
-                if (cacheList.contains(fname)) ThreadIndex::loadIndex(thread, datURL, false);
+                if (cacheList.contains(fname)) {
+                    threadIndex.loadIndex(thread, false);
+                }
             }
 
             /* update res num */
@@ -598,7 +603,7 @@
                 int oldNum = thread->resNum();
 
                 if (newNum > oldNum) {
-                    ThreadIndex::setResNum(datURL, newNum);
+                    threadIndex.setResNum(newNum);
                 }
             }
             thread->setResNum(newNum);

Modified: kita/branches/KITA-KDE4/kita/src/libkita/datinfo.cpp
===================================================================
--- kita/branches/KITA-KDE4/kita/src/libkita/datinfo.cpp	2009-07-29 09:28:41 UTC (rev 2489)
+++ kita/branches/KITA-KDE4/kita/src/libkita/datinfo.cpp	2009-07-29 11:09:56 UTC (rev 2490)
@@ -24,7 +24,6 @@
 #include "kita_misc.h"
 #include "kita-utf8.h"
 #include "thread.h"
-#include "threadindex.h"
 
 using namespace Kita;
 
@@ -35,11 +34,12 @@
 /*------------------------------------------------------*/
 /* DatInfo stores & handles all information about *.dat */
 
-DatInfo::DatInfo(const KUrl& url) : m_access (0), m_access2(0)
+DatInfo::DatInfo(const KUrl& url) : m_threadIndex(m_datURL),
+    m_access (0), m_access2(0)
 {
     QString refstr;
     m_datURL = getDatURL(url, refstr);
-
+    m_threadIndex.setUrl(m_datURL);
     /* get the pointer of Thread class */
     m_thread = Thread::getByURLNew(m_datURL);
     if (m_thread == 0) {
@@ -49,7 +49,7 @@
         if (m_thread == 0) return ;
 
         /* read idx file */
-        ThreadIndex::loadIndex(m_thread, m_datURL);
+        m_threadIndex.loadIndex(m_thread);
     }
 
     m_thread = Thread::getByURL(m_datURL);
@@ -119,7 +119,7 @@
     m_access->getcache();
 
     /* save up-to-date thread information */
-    ThreadIndex::saveIndex(m_thread, m_datURL);
+    m_threadIndex.saveIndex(m_thread);
 }
 
 
@@ -274,7 +274,7 @@
 void DatInfo::slotFinishLoad()
 {
     /* save thread information */
-    ThreadIndex::saveIndex(m_thread, m_datURL);
+    m_threadIndex.saveIndex(m_thread);
 
     /* re-try by offlaw.cgi */
     if (m_thread->readNum() == 0 && m_access2 == 0 && DatManager::is2chThread(m_datURL)) {

Modified: kita/branches/KITA-KDE4/kita/src/libkita/datinfo.h
===================================================================
--- kita/branches/KITA-KDE4/kita/src/libkita/datinfo.h	2009-07-29 09:28:41 UTC (rev 2489)
+++ kita/branches/KITA-KDE4/kita/src/libkita/datinfo.h	2009-07-29 11:09:56 UTC (rev 2490)
@@ -17,6 +17,8 @@
 
 #include <kurl.h>
 
+#include "threadindex.h"
+
 class QStringList;
 
 
@@ -107,6 +109,7 @@
 
         /* basic information */
         KUrl m_datURL;
+        ThreadIndex m_threadIndex;
         bool m_broken;
         ResDatVec m_resDatVec;
         bool m_isOpened;

Modified: kita/branches/KITA-KDE4/kita/src/libkita/datmanager.cpp
===================================================================
--- kita/branches/KITA-KDE4/kita/src/libkita/datmanager.cpp	2009-07-29 09:28:41 UTC (rev 2489)
+++ kita/branches/KITA-KDE4/kita/src/libkita/datmanager.cpp	2009-07-29 11:09:56 UTC (rev 2490)
@@ -399,7 +399,8 @@
     if (thread != 0) thread->setViewPos(num);
 
     /* save idx */
-    ThreadIndex::setViewPos(url, num);
+    ThreadIndex threadIndex(url);
+    threadIndex.setViewPos(num);
 
     /* save "cache" */
     ThreadInfo::setReadNum(datURL.prettyUrl(), num);
@@ -521,7 +522,10 @@
     Thread* thread = Thread::getByURLNew(datURL);
     if (thread == 0) return ;
 
-    if (thread->setMark(num, mark)) ThreadIndex::setMarkList(url, thread->markList());
+    if (thread->setMark(num, mark)) {
+        ThreadIndex threadIndex(url);
+        threadIndex.setMarkList(thread->markList());
+    }
 }
 
 

Modified: kita/branches/KITA-KDE4/kita/src/libkita/favoritethreads.cpp
===================================================================
--- kita/branches/KITA-KDE4/kita/src/libkita/favoritethreads.cpp	2009-07-29 09:28:41 UTC (rev 2489)
+++ kita/branches/KITA-KDE4/kita/src/libkita/favoritethreads.cpp	2009-07-29 11:09:56 UTC (rev 2490)
@@ -113,7 +113,8 @@
     KUrl datURL = Kita::getDatURL(url);
     Thread* thread = Thread::getByURL(datURL);
     thread->setThreadName(name);
-    ThreadIndex::loadIndex(thread, datURL);
+    ThreadIndex threadIndex(datURL);
+    threadIndex.loadIndex(thread);
 
     FavoriteThreads::getInstance() ->insert(datURL.prettyUrl());
 }

Modified: kita/branches/KITA-KDE4/kita/src/libkita/threadindex.cpp
===================================================================
--- kita/branches/KITA-KDE4/kita/src/libkita/threadindex.cpp	2009-07-29 09:28:41 UTC (rev 2489)
+++ kita/branches/KITA-KDE4/kita/src/libkita/threadindex.cpp	2009-07-29 11:09:56 UTC (rev 2490)
@@ -23,148 +23,133 @@
 
 using namespace Kita;
 
-QString ThreadIndex::getSubject(const KUrl& url)
+ThreadIndex::ThreadIndex(const KUrl& url) : m_url(url), m_config(0)
 {
-    Cache cache(url);
-    QString indexPath = cache.getIndexPath();
-    KConfig config(indexPath);
-    return getSubjectPrivate(config);
+    setUrl(url);
 }
 
-void ThreadIndex::setSubject(const KUrl& url, const QString& str)
+ThreadIndex::~ThreadIndex()
 {
-    Cache cache(url);
-    QString indexPath = cache.getIndexPath();
-    KConfig config(indexPath);
-    setSubjectPrivate(str, config);
+    delete m_config;
 }
 
-int ThreadIndex::getResNum(const KUrl& url)
+void ThreadIndex::setUrl(const KUrl& url)
 {
     Cache cache(url);
     QString indexPath = cache.getIndexPath();
-    KConfig config(indexPath);
-    return getResNumPrivate(url, config);
+    delete m_config;
+    KConfig config;
+    m_config = config.copyTo(indexPath, 0);
 }
 
-void ThreadIndex::setResNum(const KUrl& url, int resNum)
+QString ThreadIndex::getSubject()
 {
-    Cache cache(url);
-    QString indexPath = cache.getIndexPath();
-    KConfig config(indexPath);
-    setResNumPrivate(resNum, config);
+    return getSubjectPrivate();
 }
 
-int ThreadIndex::getReadNum(const KUrl& url)
+void ThreadIndex::setSubject(const QString& str)
 {
-    Cache cache(url);
-    QString indexPath = cache.getIndexPath();
-    KConfig config(indexPath);
-    return getReadNumPrivate(url, config, true);
+    setSubjectPrivate(str);
 }
 
-void ThreadIndex::setReadNum(const KUrl& url, int readNum)
+int ThreadIndex::getResNum()
 {
-    Cache cache(url);
-    QString indexPath = cache.getIndexPath();
-    KConfig config(indexPath);
-    setReadNumPrivate(readNum, config);
+    return getResNumPrivate();
 }
 
-int ThreadIndex::getViewPos(const KUrl& url)
+void ThreadIndex::setResNum(int resNum)
 {
-    Cache cache(url);
-    QString indexPath = cache.getIndexPath();
-    KConfig config(indexPath);
-    return getViewPosPrivate(config);
+    setResNumPrivate(resNum);
 }
 
-void ThreadIndex::setViewPos(const KUrl& url, int viewPos)
+int ThreadIndex::getReadNum()
 {
-    Cache cache(url);
-    QString indexPath = cache.getIndexPath();
-    KConfig config(indexPath);
-    setViewPosPrivate(viewPos, config);
+    return getReadNumPrivate(true);
 }
 
-void ThreadIndex::setMarkList(const KUrl& url, const QList<int>& markList)
+void ThreadIndex::setReadNum(int readNum)
 {
-    Cache cache(url);
-    QString indexPath = cache.getIndexPath();
-    KConfig config(indexPath);
-    setMarkListPrivate(markList, config);
+    setReadNumPrivate(readNum);
 }
 
+int ThreadIndex::getViewPos()
+{
+    return getViewPosPrivate();
+}
 
+void ThreadIndex::setViewPos(int viewPos)
+{
+    setViewPosPrivate(viewPos);
+}
+
+void ThreadIndex::setMarkList(const QList<int>& markList)
+{
+    setMarkListPrivate(markList);
+}
+
+
 /*------------------------------------------------------------*/
 
 
-/* load thread information */  /* public */ /* static */
-void ThreadIndex::loadIndex(Thread* thread, const KUrl& url, bool checkCached)
+/* load thread information */  /* public */
+void ThreadIndex::loadIndex(Thread* thread, bool checkCached)
 {
-    Cache cache(url);
-    QString indexPath = cache.getIndexPath();
-    KConfig config(indexPath);
-
     /* load read number */
-    int readNum = getReadNumPrivate(url, config, checkCached);
+    int readNum = getReadNumPrivate(checkCached);
     if (readNum == 0) return ;  /* cache does not exist. */
     thread->setReadNum(readNum);
 
     /* load thread name */
-    QString subject = getSubjectPrivate(config);
+    QString subject = getSubjectPrivate();
     if (subject.isEmpty() && !thread->threadName().isEmpty()) {
         subject = thread->threadName();
-        KConfigGroup group = config.group("");
+        KConfigGroup group = m_config->group("");
         group.writeEntry("Subject", subject);
     }
     if (subject.isEmpty()) thread->setThreadName("?");
     else thread->setThreadName(subject);
 
     /* load res number */
-    thread->setResNum(getResNumPrivate(url, config));
+    thread->setResNum(getResNumPrivate());
 
     /* load view pos */
-    thread->setViewPos(getViewPosPrivate(config));
-    if (thread->viewPos() > thread->readNum()) thread->setReadNum(thread->viewPos());
+    thread->setViewPos(getViewPosPrivate());
+    if (thread->viewPos() > thread->readNum())
+        thread->setReadNum(thread->viewPos());
 
     /* load mark */
-    thread->setMarkList(getMarkListPrivate(config));
+    thread->setMarkList(getMarkListPrivate());
 }
 
 
 
-/* save thread information */  /* public */ /* static */
-void ThreadIndex::saveIndex(const Thread* thread, const KUrl& url)
+/* save thread information */  /* public */
+void ThreadIndex::saveIndex(const Thread* thread)
 {
     /* If readNum == 0, delete idx file */
     if (thread->readNum() == 0) {
-        Cache cache(url);
+        Cache cache(m_url);
         QString indexPath = cache.getIndexPath();
         QFile::remove(indexPath);
     }
 
-    Cache cache(url);
-    QString indexPath = cache.getIndexPath();
-    KConfig config(indexPath);
-
     /* save thread name */
-    setSubjectPrivate(thread->threadName(), config);
+    setSubjectPrivate(thread->threadName());
 
     /* save res number */
-    setResNumPrivate(thread->resNum(), config);
+    setResNumPrivate(thread->resNum());
 
     /* save read number */
-    setReadNumPrivate(thread->readNum(), config);
+    setReadNumPrivate(thread->readNum());
 
     /* save view pos */
-    setViewPosPrivate(thread->viewPos(), config);
+    setViewPosPrivate(thread->viewPos());
 
     /* save mark */
-    setMarkListPrivate(thread->markList(), config);
+    setMarkListPrivate(thread->markList());
 
     /* save "cache" */
-    KUrl datURL = getDatURL(url);
+    KUrl datURL = getDatURL(m_url);
     int num = (thread->viewPos() ? thread->viewPos() : thread->readNum());
     ThreadInfo::setReadNum(datURL.prettyUrl(), num);
 }
@@ -172,105 +157,106 @@
 
 /*------------------------------------------------------------------*/
 
-/* private */ /* static */
-QString ThreadIndex::getSubjectPrivate(KConfig& config)
+/* private */
+QString ThreadIndex::getSubjectPrivate()
 {
-    return config.group("").readEntry("Subject");
+    return m_config->group("").readEntry("Subject");
 }
 
-/* private */ /* static */
-void ThreadIndex::setSubjectPrivate(const QString& str, KConfig& config)
+/* private */
+void ThreadIndex::setSubjectPrivate(const QString& str)
 {
-    config.group("").writeEntry("Subject", str);
+    m_config->group("").writeEntry("Subject", str);
 }
 
 /*-------*/
 
-/* private */ /* static */
-int ThreadIndex::getResNumPrivate(const KUrl& url, KConfig& config)
+/* private */
+int ThreadIndex::getResNumPrivate()
 {
-    int resNum = config.group("").readEntry("ResNum", 0);
+    int resNum = m_config->group("").readEntry("ResNum", 0);
 
     /* use obsoleted "cache" file */
     if (!resNum) {
-        KUrl datURL = getDatURL(url);
+        KUrl datURL = getDatURL(m_url);
         resNum = ThreadInfo::readNum(datURL.prettyUrl());
-        if (resNum) config.group("").writeEntry("ResNum", resNum);
+        if (resNum) m_config->group("").writeEntry("ResNum", resNum);
     }
 
     return resNum;
 }
 
-/* private */ /* static */
-void ThreadIndex::setResNumPrivate(int resNum, KConfig& config)
+/* private */
+void ThreadIndex::setResNumPrivate(int resNum)
 {
-    config.group("").writeEntry("ResNum", resNum);
+    m_config->group("").writeEntry("ResNum", resNum);
 }
 
 /*-------*/
 
-/* private */ /* static */
-int ThreadIndex::getReadNumPrivate(const KUrl& url, KConfig& config, bool checkCached)
+/* private */
+int ThreadIndex::getReadNumPrivate(bool checkCached)
 {
     /* If cache does not exist, return 0 */
     if (checkCached) {
-        Cache cache(url);
+        Cache cache(m_url);
         QString path = cache.getPath();
         if (!QFile::exists(path)) {
             return 0;
         }
     }
 
-    int readNum = config.group("").readEntry("ReadNum", 0);
+    int readNum = m_config->group("").readEntry("ReadNum", 0);
 
     if (!readNum) {
 
         /* use ViewPos instead of ReadNum. */
-        readNum = config.group("").readEntry("ViewPos", 0);
+        readNum = m_config->group("").readEntry("ViewPos", 0);
 
         /* use obsoleted "cache" file */
         if (!readNum) {
-            KUrl datURL = getDatURL(url);
+            KUrl datURL = getDatURL(m_url);
             readNum = ThreadInfo::readNum(datURL.prettyUrl());
         }
 
-        if (readNum) config.group("").writeEntry("ReadNum", readNum);
+        if (readNum)
+            m_config->group("").writeEntry("ReadNum", readNum);
     }
 
     return readNum;
 }
 
-/* private */ /* static */
-void ThreadIndex::setReadNumPrivate(int readNum, KConfig& config)
+/* private */
+void ThreadIndex::setReadNumPrivate(int readNum)
 {
-    config.group("").writeEntry("ReadNum", readNum);
+    m_config->group("").writeEntry("ReadNum", readNum);
 }
 
 /*-------*/
 
-/* private */ /* static */
-int ThreadIndex::getViewPosPrivate(KConfig& config)
+/* private */
+int ThreadIndex::getViewPosPrivate()
 {
-    return config.group("").readEntry("ViewPos", 0);
+    return m_config->group("").readEntry("ViewPos", 0);
 }
 
-/* private */ /* static */
-void ThreadIndex::setViewPosPrivate(int viewPos, KConfig& config)
+/* private */
+void ThreadIndex::setViewPosPrivate(int viewPos)
 {
-    config.group("").writeEntry("ViewPos", viewPos);
+    m_config->group("").writeEntry("ViewPos", viewPos);
 }
 
 /*-------*/
 
-/* private */ /* static */
-QList<int> ThreadIndex::getMarkListPrivate(KConfig& config)
+/* private */
+QList<int> ThreadIndex::getMarkListPrivate()
 {
     QList<int> default_value;
-    return config.group("").readEntry("Mark", default_value);
+    return m_config->group("").readEntry("Mark", default_value);
 }
 
-/* private */ /* static */
-void ThreadIndex::setMarkListPrivate(const QList<int>& markList, KConfig& config)
+/* private */
+void ThreadIndex::setMarkListPrivate(const QList<int>& markList)
 {
-    config.group("").writeEntry("Mark", markList);
+    m_config->group("").writeEntry("Mark", markList);
 }

Modified: kita/branches/KITA-KDE4/kita/src/libkita/threadindex.h
===================================================================
--- kita/branches/KITA-KDE4/kita/src/libkita/threadindex.h	2009-07-29 09:28:41 UTC (rev 2489)
+++ kita/branches/KITA-KDE4/kita/src/libkita/threadindex.h	2009-07-29 11:09:56 UTC (rev 2490)
@@ -13,9 +13,8 @@
 #include <QtCore/QList>
 #include <QtCore/QString>
 
-#include <kdemacros.h>
+#include <kurl.h>
 
-class KUrl;
 class KConfig;
 
 namespace Kita
@@ -28,42 +27,49 @@
     class KDE_EXPORT ThreadIndex
     {
     public:
-        static QString getSubject(const KUrl& url);
-        static void setSubject(const KUrl& url, const QString& str);
+        ThreadIndex(const KUrl& url);
+        ~ThreadIndex();
 
-        static int getResNum(const KUrl& url);
-        static void setResNum(const KUrl& url, int resNum);
+        void setUrl(const KUrl& url);
 
-        static int getReadNum(const KUrl& url);
-        static void setReadNum(const KUrl& url, int readNum);
+        QString getSubject();
+        void setSubject(const QString& str);
 
-        static int getViewPos(const KUrl& url);
-        static void setViewPos(const KUrl& url, int viewPos);
+        int getResNum();
+        void setResNum(int resNum);
 
-        static void setMarkList(const KUrl& url, const QList<int>& markList);
+        int getReadNum();
+        void setReadNum(int readNum);
 
+        int getViewPos();
+        void setViewPos(int viewPos);
+
+        void setMarkList(const QList<int>& markList);
+
         /*---------------------------------*/
 
-        static void loadIndex(Thread* thread, const KUrl& url,
-                bool checkCached = true);
-        static void saveIndex(const Thread* thread, const KUrl& url);
+        void loadIndex(Thread* thread, bool checkCached = true);
+        void saveIndex(const Thread* thread);
 
     private:
 
-        static QString getSubjectPrivate(KConfig& config);
-        static void setSubjectPrivate(const QString& str, KConfig& config);
+        QString getSubjectPrivate();
+        void setSubjectPrivate(const QString& str);
 
-        static int getResNumPrivate(const KUrl& url, KConfig& config);
-        static void setResNumPrivate(int resNum, KConfig& config);
+        int getResNumPrivate();
+        void setResNumPrivate(int resNum);
 
-        static int getReadNumPrivate(const KUrl& url, KConfig& config, bool checkCached);
-        static void setReadNumPrivate(int readNum, KConfig& config);
+        int getReadNumPrivate(bool checkCached);
+        void setReadNumPrivate(int readNum);
 
-        static int getViewPosPrivate(KConfig& config);
-        static void setViewPosPrivate(int viewPos, KConfig& config);
+        int getViewPosPrivate();
+        void setViewPosPrivate(int viewPos);
 
-        static QList<int> getMarkListPrivate(KConfig& config);
-        static void setMarkListPrivate(const QList<int>& markList, KConfig& config);
+        QList<int> getMarkListPrivate();
+        void setMarkListPrivate(const QList<int>& markList);
+
+        KUrl m_url;
+        KConfig* m_config;
     };
 }
 

Modified: kita/branches/KITA-KDE4/kita/src/threadlistview.cpp
===================================================================
--- kita/branches/KITA-KDE4/kita/src/threadlistview.cpp	2009-07-29 09:28:41 UTC (rev 2489)
+++ kita/branches/KITA-KDE4/kita/src/threadlistview.cpp	2009-07-29 11:09:56 UTC (rev 2490)
@@ -249,14 +249,15 @@
             propertyWidget->viewPosLabel
                 ->setText(QString::number(DatManager::getViewPos(datURL)));
 
+            ThreadIndex threadIndex(datURL);
             propertyWidget->idx_threadNameWithIndexLabel
-                ->setText(ThreadIndex::getSubject(datURL));
+                ->setText(threadIndex.getSubject());
             propertyWidget->idx_resNumLabel
-                ->setText(QString::number(ThreadIndex::getResNum(datURL)));
+                ->setText(QString::number(threadIndex.getResNum()));
             propertyWidget->idx_readNumLabel
-                ->setText(QString::number(ThreadIndex::getReadNum(datURL)));
+                ->setText(QString::number(threadIndex.getReadNum()));
             propertyWidget->idx_viewPosLabel
-                ->setText(QString::number(ThreadIndex::getViewPos(datURL)));
+                ->setText(QString::number(threadIndex.getViewPos()));
 
             propertyWidget->cache_readNumLabel
                 ->setText(QString::number(ThreadInfo::readNum(datURL)));




Kita-svn メーリングリストの案内
Back to archive index