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)));