From: <arn...@us...> - 2006-06-17 15:41:25
|
Revision: 616 Author: arnetheduck Date: 2006-06-17 08:40:35 -0700 (Sat, 17 Jun 2006) ViewCVS: http://svn.sourceforge.net/dcplusplus/?rev=616&view=rev Log Message: ----------- Patches Modified Paths: -------------- dcplusplus/trunk/changelog.txt dcplusplus/trunk/client/ConnectionManager.cpp dcplusplus/trunk/client/ConnectionManager.h dcplusplus/trunk/client/HashManager.cpp dcplusplus/trunk/client/QueueManager.cpp dcplusplus/trunk/client/SearchManager.cpp dcplusplus/trunk/client/SearchManager.h dcplusplus/trunk/client/SettingsManager.cpp dcplusplus/trunk/client/SettingsManager.h dcplusplus/trunk/windows/ADLSProperties.cpp dcplusplus/trunk/windows/ADLSProperties.h dcplusplus/trunk/windows/HubFrame.cpp dcplusplus/trunk/windows/HubFrame.h dcplusplus/trunk/windows/SpyFrame.cpp dcplusplus/trunk/windows/SpyFrame.h Modified: dcplusplus/trunk/changelog.txt =================================================================== --- dcplusplus/trunk/changelog.txt 2006-06-13 20:03:56 UTC (rev 615) +++ dcplusplus/trunk/changelog.txt 2006-06-17 15:40:35 UTC (rev 616) @@ -8,7 +8,14 @@ * [bug 944] Fixed unix string conversion bug (thanks tobias nygren) * [bug 945] Fixed unix mutex initialiser (thanks tobias nygren) * [bug 946] Tiger hash supports big endian and 64-bit architectures (thanks tobias nygren) +* [bug 941] Updated usercount display (thanks pothead) +* [bug 951] Fixed issue with high port numbers (thanks tpo) +* [bug 958] Search spy tth option automagically saved (thanks ullner) +* [bug 959] Code cleanup (thanks pothead) +* [bug 966] Max hash speed fixed when fast hashing method is not used (thanks steven sheehy) +* [bug 967] Fixed path case-sensitivity issue (thanks steven sheehy) + -- 0.691 2006-06-03 -- * Links to bugzilla in html changelog * [bug 122] Added userlist filter (thanks trem) Modified: dcplusplus/trunk/client/ConnectionManager.cpp =================================================================== --- dcplusplus/trunk/client/ConnectionManager.cpp 2006-06-13 20:03:56 UTC (rev 615) +++ dcplusplus/trunk/client/ConnectionManager.cpp 2006-06-17 15:40:35 UTC (rev 616) @@ -43,12 +43,12 @@ } // @todo clean this up void ConnectionManager::listen() throw(Exception){ - short lastPort = (short)SETTING(TCP_PORT); + unsigned short lastPort = (unsigned short)SETTING(TCP_PORT); if(lastPort == 0) - lastPort = (short)Util::rand(1025, 32000); + lastPort = (unsigned short)Util::rand(1025, 32000); - short firstPort = lastPort; + unsigned short firstPort = lastPort; disconnect(); Modified: dcplusplus/trunk/client/ConnectionManager.h =================================================================== --- dcplusplus/trunk/client/ConnectionManager.h 2006-06-13 20:03:56 UTC (rev 615) +++ dcplusplus/trunk/client/ConnectionManager.h 2006-06-17 15:40:35 UTC (rev 616) @@ -138,8 +138,8 @@ friend class Server; CriticalSection cs; - short port; - short securePort; + unsigned short port; + unsigned short securePort; /** All ConnectionQueueItems */ ConnectionQueueItem::List downloads; Modified: dcplusplus/trunk/client/HashManager.cpp =================================================================== --- dcplusplus/trunk/client/HashManager.cpp 2006-06-13 20:03:56 UTC (rev 615) +++ dcplusplus/trunk/client/HashManager.cpp 2006-06-17 15:40:35 UTC (rev 616) @@ -624,6 +624,9 @@ if(lastRead + minTime > now) { Thread::sleep(minTime - (now - lastRead)); } + lastRead = lastRead + minTime; + } else { + lastRead = GET_TICK(); } n = f.read(buf, bufSize); tth->update(buf, n); Modified: dcplusplus/trunk/client/QueueManager.cpp =================================================================== --- dcplusplus/trunk/client/QueueManager.cpp 2006-06-13 20:03:56 UTC (rev 615) +++ dcplusplus/trunk/client/QueueManager.cpp 2006-06-17 15:40:35 UTC (rev 616) @@ -37,12 +37,6 @@ #include <limits> -#ifdef _WIN32 -#define FILELISTS_DIR "FileLists\\" -#else -#define FILELISTS_DIR "filelists/" -#endif - #ifdef ff #undef ff #endif @@ -330,7 +324,7 @@ SearchManager::getInstance()->addListener(this); ClientManager::getInstance()->addListener(this); - File::ensureDirectory(Util::getConfigPath() + FILELISTS_DIR); + File::ensureDirectory(Util::getListPath()); } QueueManager::~QueueManager() throw() { @@ -341,7 +335,7 @@ saveQueue(); if(!BOOLSETTING(KEEP_LISTS)) { - string path = Util::getConfigPath() + FILELISTS_DIR; + string path = Util::getListPath(); #ifdef _WIN32 WIN32_FIND_DATA data; @@ -420,7 +414,7 @@ } void QueueManager::addList(const User::Ptr& aUser, int aFlags) throw(QueueException, FileException) { - string target = Util::getConfigPath() + FILELISTS_DIR + Util::validateFileName(aUser->getFirstNick()) + "." + aUser->getCID().toBase32(); + string target = Util::getListPath() + Util::validateFileName(aUser->getFirstNick()) + "." + aUser->getCID().toBase32(); add(target, -1, NULL, aUser, USER_LIST_NAME, true, QueueItem::FLAG_USER_LIST | aFlags); } Modified: dcplusplus/trunk/client/SearchManager.cpp =================================================================== --- dcplusplus/trunk/client/SearchManager.cpp 2006-06-13 20:03:56 UTC (rev 615) +++ dcplusplus/trunk/client/SearchManager.cpp 2006-06-17 15:40:35 UTC (rev 616) @@ -103,12 +103,12 @@ } void SearchManager::listen() throw(Exception) { - short lastPort = (short)SETTING(UDP_PORT); + unsigned short lastPort = (unsigned short)SETTING(UDP_PORT); if(lastPort == 0) - lastPort = (short)Util::rand(1025, 32000); + lastPort = (unsigned short)Util::rand(1025, 32000); - short firstPort = lastPort; + unsigned short firstPort = lastPort; disconnect(); Modified: dcplusplus/trunk/client/SearchManager.h =================================================================== --- dcplusplus/trunk/client/SearchManager.h 2006-06-13 20:03:56 UTC (rev 615) +++ dcplusplus/trunk/client/SearchManager.h 2006-06-17 15:40:35 UTC (rev 616) @@ -143,7 +143,7 @@ void respond(const AdcCommand& cmd, const CID& cid); - short getPort() + unsigned short getPort() { return port; } @@ -167,7 +167,7 @@ private: Socket* socket; - short port; + unsigned short port; bool stop; u_int32_t lastSearch; friend class Singleton<SearchManager>; Modified: dcplusplus/trunk/client/SettingsManager.cpp =================================================================== --- dcplusplus/trunk/client/SettingsManager.cpp 2006-06-13 20:03:56 UTC (rev 615) +++ dcplusplus/trunk/client/SettingsManager.cpp 2006-06-17 15:40:35 UTC (rev 616) @@ -73,7 +73,7 @@ "NoIpOverride", "SearchOnlyFreeSlots", "LastSearchType", "BoldFinishedDownloads", "BoldFinishedUploads", "BoldQueue", "BoldHub", "BoldPm", "BoldSearch", "SocketInBuffer", "SocketOutBuffer", "OnlyDlTthFiles", "OpenWaitingUsers", "BoldWaitingUsers", "OpenSystemLog", "BoldSystemLog", "AutoRefreshTime", - "UseSsl", "AutoSearchLimit", "AltSortOrder", "AutoKickNoFavs", "PromptPassword", + "UseSsl", "AutoSearchLimit", "AltSortOrder", "AutoKickNoFavs", "PromptPassword", "SpyFrameIgnoreTthSearches", "SENTRY", // Int64 "TotalUpload", "TotalDownload", @@ -257,6 +257,7 @@ setDefault(ALT_SORT_ORDER, false); setDefault(AUTO_KICK_NO_FAVS, false); setDefault(PROMPT_PASSWORD, false); + setDefault(SPY_FRAME_IGNORE_TTH_SEARCHES, false); #ifdef _WIN32 setDefault(MAIN_WINDOW_STATE, SW_SHOWNORMAL); Modified: dcplusplus/trunk/client/SettingsManager.h =================================================================== --- dcplusplus/trunk/client/SettingsManager.h 2006-06-13 20:03:56 UTC (rev 615) +++ dcplusplus/trunk/client/SettingsManager.h 2006-06-17 15:40:35 UTC (rev 616) @@ -89,7 +89,7 @@ NO_IP_OVERRIDE, SEARCH_ONLY_FREE_SLOTS, LAST_SEARCH_TYPE, BOLD_FINISHED_DOWNLOADS, BOLD_FINISHED_UPLOADS, BOLD_QUEUE, BOLD_HUB, BOLD_PM, BOLD_SEARCH, SOCKET_IN_BUFFER, SOCKET_OUT_BUFFER, ONLY_DL_TTH_FILES, OPEN_WAITING_USERS, BOLD_WAITING_USERS, OPEN_SYSTEM_LOG, BOLD_SYSTEM_LOG, AUTO_REFRESH_TIME, - USE_SSL, AUTO_SEARCH_LIMIT, ALT_SORT_ORDER, AUTO_KICK_NO_FAVS, PROMPT_PASSWORD, + USE_SSL, AUTO_SEARCH_LIMIT, ALT_SORT_ORDER, AUTO_KICK_NO_FAVS, PROMPT_PASSWORD, SPY_FRAME_IGNORE_TTH_SEARCHES, INT_LAST }; enum Int64Setting { INT64_FIRST = INT_LAST + 1, Modified: dcplusplus/trunk/windows/ADLSProperties.cpp =================================================================== --- dcplusplus/trunk/windows/ADLSProperties.cpp 2006-06-13 20:03:56 UTC (rev 615) +++ dcplusplus/trunk/windows/ADLSProperties.cpp 2006-06-17 15:40:35 UTC (rev 616) @@ -26,8 +26,7 @@ #include "WinUtil.h" // Initialize dialog -LRESULT ADLSProperties::OnInitDialog(UINT, WPARAM, LPARAM, BOOL&) -{ +LRESULT ADLSProperties::OnInitDialog(UINT, WPARAM, LPARAM, BOOL&) { // Translate the texts SetWindowText(CTSTRING(ADLS_PROPERTIES)); SetDlgItemText(IDC_ADLSP_SEARCH, CTSTRING(ADLS_SEARCH_STRING)); @@ -39,32 +38,34 @@ SetDlgItemText(IDC_IS_ACTIVE, CTSTRING(ADLS_ENABLED)); SetDlgItemText(IDC_AUTOQUEUE, CTSTRING(ADLS_DOWNLOAD)); - // Initialize combo boxes - ::SendMessage(GetDlgItem(IDC_SOURCE_TYPE), CB_ADDSTRING, 0, - (LPARAM)search->SourceTypeToDisplayString(ADLSearch::OnlyFile).c_str()); - ::SendMessage(GetDlgItem(IDC_SOURCE_TYPE), CB_ADDSTRING, 0, - (LPARAM)search->SourceTypeToDisplayString(ADLSearch::OnlyDirectory).c_str()); - ::SendMessage(GetDlgItem(IDC_SOURCE_TYPE), CB_ADDSTRING, 0, - (LPARAM)search->SourceTypeToDisplayString(ADLSearch::FullPath).c_str()); + // Initialize dialog items + ctrlSearch.Attach(GetDlgItem(IDC_SEARCH_STRING)); + ctrlDestDir.Attach(GetDlgItem(IDC_DEST_DIR)); + ctrlMinSize.Attach(GetDlgItem(IDC_MIN_FILE_SIZE)); + ctrlMaxSize.Attach(GetDlgItem(IDC_MAX_FILE_SIZE)); + ctrlActive.Attach(GetDlgItem(IDC_IS_ACTIVE)); + ctrlAutoQueue.Attach(GetDlgItem(IDC_AUTOQUEUE)); - ::SendMessage(GetDlgItem(IDC_SIZE_TYPE), CB_ADDSTRING, 0, - (LPARAM)search->SizeTypeToDisplayString(ADLSearch::SizeBytes).c_str()); - ::SendMessage(GetDlgItem(IDC_SIZE_TYPE), CB_ADDSTRING, 0, - (LPARAM)search->SizeTypeToDisplayString(ADLSearch::SizeKibiBytes).c_str()); - ::SendMessage(GetDlgItem(IDC_SIZE_TYPE), CB_ADDSTRING, 0, - (LPARAM)search->SizeTypeToDisplayString(ADLSearch::SizeMebiBytes).c_str()); - ::SendMessage(GetDlgItem(IDC_SIZE_TYPE), CB_ADDSTRING, 0, - (LPARAM)search->SizeTypeToDisplayString(ADLSearch::SizeGibiBytes).c_str()); + ctrlSearchType.Attach(GetDlgItem(IDC_SOURCE_TYPE)); + ctrlSearchType.AddString(CTSTRING(FILENAME)); + ctrlSearchType.AddString(CTSTRING(DIRECTORY)); + ctrlSearchType.AddString(CTSTRING(ADLS_FULL_PATH)); + ctrlSizeType.Attach(GetDlgItem(IDC_SIZE_TYPE)); + ctrlSizeType.AddString(CTSTRING(B)); + ctrlSizeType.AddString(CTSTRING(KiB)); + ctrlSizeType.AddString(CTSTRING(MiB)); + ctrlSizeType.AddString(CTSTRING(GiB)); + // Load search data - SetDlgItemText(IDC_SEARCH_STRING, Text::toT(search->searchString).c_str()); - SetDlgItemText(IDC_DEST_DIR, Text::toT(search->destDir).c_str()); - SetDlgItemText(IDC_MIN_FILE_SIZE, Text::toT(search->minFileSize > 0 ? Util::toString(search->minFileSize) : "").c_str()); - SetDlgItemText(IDC_MAX_FILE_SIZE, Text::toT(search->maxFileSize > 0 ? Util::toString(search->maxFileSize) : "").c_str()); - ::SendMessage(GetDlgItem(IDC_IS_ACTIVE), BM_SETCHECK, search->isActive ? 1 : 0, 0L); - ::SendMessage(GetDlgItem(IDC_SOURCE_TYPE), CB_SETCURSEL, search->sourceType, 0L); - ::SendMessage(GetDlgItem(IDC_SIZE_TYPE), CB_SETCURSEL, search->typeFileSize, 0L); - ::SendMessage(GetDlgItem(IDC_AUTOQUEUE), BM_SETCHECK, search->isAutoQueue ? 1 : 0, 0L); + ctrlSearch.SetWindowText(Text::toT(search->searchString).c_str()); + ctrlDestDir.SetWindowText(Text::toT(search->destDir).c_str()); + ctrlMinSize.SetWindowText(Text::toT(search->minFileSize > 0 ? Util::toString(search->minFileSize) : "").c_str()); + ctrlMaxSize.SetWindowText(Text::toT(search->maxFileSize > 0 ? Util::toString(search->maxFileSize) : "").c_str()); + ctrlActive.SetCheck(search->isActive ? 1 : 0); + ctrlAutoQueue.SetCheck(search->isAutoQueue ? 1 : 0); + ctrlSearchType.SetCurSel(search->sourceType); + ctrlSizeType.SetCurSel(search->typeFileSize); // Center dialog CenterWindow(GetParent()); @@ -75,25 +76,25 @@ // Exit dialog LRESULT ADLSProperties::OnCloseCmd(WORD /*wNotifyCode*/, WORD wID, HWND /*hWndCtl*/, BOOL& /*bHandled*/) { - if(wID == IDOK) - { + if(wID == IDOK) { // Update search TCHAR buf[256]; - GetDlgItemText(IDC_SEARCH_STRING, buf, 256); + ctrlSearch.GetWindowText(buf, 256); search->searchString = Text::fromT(buf); - GetDlgItemText(IDC_DEST_DIR, buf, 256); + ctrlDestDir.GetWindowText(buf, 256); search->destDir = Text::fromT(buf); - GetDlgItemText(IDC_MIN_FILE_SIZE, buf, 256); + ctrlMinSize.GetWindowText(buf, 256); search->minFileSize = (_tcslen(buf) == 0 ? -1 : Util::toInt64(Text::fromT(buf))); - GetDlgItemText(IDC_MAX_FILE_SIZE, buf, 256); + ctrlMaxSize.GetWindowText(buf, 256); search->maxFileSize = (_tcslen(buf) == 0 ? -1 : Util::toInt64(Text::fromT(buf))); - search->sourceType = (ADLSearch::SourceType)::SendMessage(GetDlgItem(IDC_SOURCE_TYPE), CB_GETCURSEL, 0, 0L); - search->typeFileSize = (ADLSearch::SizeType)::SendMessage(GetDlgItem(IDC_SIZE_TYPE), CB_GETCURSEL, 0, 0L); - search->isActive = (::SendMessage(GetDlgItem(IDC_IS_ACTIVE), BM_GETCHECK, 0, 0L) != 0); - search->isAutoQueue = (::SendMessage(GetDlgItem(IDC_AUTOQUEUE), BM_GETCHECK, 0, 0L) != 0); + search->isActive = (ctrlActive.GetCheck() == 1); + search->isAutoQueue = (ctrlAutoQueue.GetCheck() == 1); + + search->sourceType = (ADLSearch::SourceType)ctrlSearchType.GetCurSel(); + search->typeFileSize = (ADLSearch::SizeType)ctrlSizeType.GetCurSel(); } EndDialog(wID); Modified: dcplusplus/trunk/windows/ADLSProperties.h =================================================================== --- dcplusplus/trunk/windows/ADLSProperties.h 2006-06-13 20:03:56 UTC (rev 615) +++ dcplusplus/trunk/windows/ADLSProperties.h 2006-06-17 15:40:35 UTC (rev 616) @@ -56,6 +56,15 @@ // Current search ADLSearch* search; + + CEdit ctrlSearch; + CEdit ctrlDestDir; + CEdit ctrlMinSize; + CEdit ctrlMaxSize; + CButton ctrlActive; + CButton ctrlAutoQueue; + CComboBox ctrlSearchType; + CComboBox ctrlSizeType; }; #endif // !defined(ADLS_PROPERTIES_H) Modified: dcplusplus/trunk/windows/HubFrame.cpp =================================================================== --- dcplusplus/trunk/windows/HubFrame.cpp 2006-06-13 20:03:56 UTC (rev 615) +++ dcplusplus/trunk/windows/HubFrame.cpp 2006-06-17 15:40:35 UTC (rev 616) @@ -357,7 +357,7 @@ string nicks; while( (i = ctrlUsers.GetNextItem(i, LVNI_SELECTED)) != -1) { - nicks += (ctrlUsers.getItemData(i))->getIdentity().getNick(); + nicks += ctrlUsers.getItemData(i)->getNick(); nicks += ' '; } if(!nicks.empty()) { @@ -382,7 +382,7 @@ if(i == userMap.end()) { UserInfo* ui = new UserInfo(u); userMap.insert(make_pair(u.user, ui)); - if(!ui->getIdentity().isHidden() && showUsers) + if(!ui->isHidden() && showUsers) ctrlUsers.insertItem(ui, getImage(u.identity)); if(!filter.empty()) @@ -391,7 +391,7 @@ return true; } else { UserInfo* ui = i->second; - if(!ui->getIdentity().isHidden() && u.identity.isHidden() && showUsers) { + if(!ui->isHidden() && u.identity.isHidden() && showUsers) { ctrlUsers.deleteItem(ui); } @@ -419,7 +419,7 @@ } UserInfo* ui = i->second; - if(!ui->getIdentity().isHidden() && showUsers) + if(!ui->isHidden() && showUsers) ctrlUsers.deleteItem(ui); userMap.erase(i); @@ -500,8 +500,7 @@ } else if(task->speaker == SET_WINDOW_TITLE) { SetWindowText(static_cast<StringTask*>(task)->msg.c_str()); } else if(task->speaker == STATS) { - ctrlStatus.SetText(1, Text::toT(Util::toString(showUsers ? ctrlUsers.GetItemCount() : getUserCount()) + - "/" + Util::toString(getUserCount()) + " " + STRING(HUB_USERS)).c_str()); + ctrlStatus.SetText(1, Text::toT(getUsersTextForStatusBar()).c_str()); ctrlStatus.SetText(2, Text::toT(Util::formatBytes(getAvailable())).c_str()); } else if(task->speaker == GET_PASSWORD) { if(client->getPassword().size() > 0) { @@ -1090,7 +1089,7 @@ for(UserMapIter i = userMap.begin(); i != userMap.end(); ++i) { UserInfo* ui = i->second; - if(!ui->getIdentity().isHidden()) + if(!ui->isHidden()) ctrlUsers.insertItem(ui, getImage(ui->getIdentity())); } @@ -1308,8 +1307,8 @@ } bool HubFrame::parseFilter(FilterModes& mode, int64_t& size) { - tstring::size_type start = tstring::npos; - tstring::size_type end = tstring::npos; + tstring::size_type start = static_cast<tstring::size_type>(tstring::npos); + tstring::size_type end = static_cast<tstring::size_type>(tstring::npos); int64_t multiplier = 1; if(filter.compare(0, 2, _T(">=")) == 0) { @@ -1360,7 +1359,6 @@ multiplier = 1; } - if(end == tstring::npos) { end = filter.length(); } @@ -1383,6 +1381,9 @@ //avoid refreshing the whole list and just update the current item //instead if(ui != NULL) { + if(ui->isHidden()) { + return; + } if(filter.empty()) { if(ctrlUsers.findItem(ui) == -1) { ctrlUsers.insertItem(ui, getImage(ui->getIdentity())); @@ -1404,15 +1405,14 @@ if(filter.empty()) { for(UserMapIter i = userMap.begin(); i != userMap.end(); ++i){ - if(i->second != NULL) + UserInfo* ui = i->second; + if(!ui->isHidden()) ctrlUsers.insertItem(i->second, getImage(i->second->getIdentity())); } } else { for(UserMapIter i = userMap.begin(); i != userMap.end(); ++i){ - if( i->second != NULL ) { - if(matchFilter(*i->second, sel, doSizeCompare, mode, size)) { - ctrlUsers.insertItem(i->second, getImage(i->second->getIdentity())); - } + if(!ui->isHidden() && matchFilter(*i->second, sel, doSizeCompare, mode, size)) { + ctrlUsers.insertItem(i->second, getImage(i->second->getIdentity())); } } } @@ -1482,3 +1482,18 @@ return insert; } +string HubFrame::getUsersTextForStatusBar() const { + size_t userCount = 0; + for(UserMap::const_iterator i = userMap.begin(); i != userMap.end(); ++i){ + UserInfo* ui = i->second; + if(!ui->isHidden()) + userCount++; + } + + string textForUsers; + if (ctrlUsers.GetSelectedCount() > 1) + textForUsers += Util::toString(ctrlUsers.GetSelectedCount()) + "/"; + if (showUsers && (size_t)ctrlUsers.GetItemCount() < userCount) + textForUsers += Util::toString(ctrlUsers.GetItemCount()) + "/"; + return textForUsers + Util::toString(userCount) + " " + STRING(HUB_USERS); +} Modified: dcplusplus/trunk/windows/HubFrame.h =================================================================== --- dcplusplus/trunk/windows/HubFrame.h 2006-06-13 20:03:56 UTC (rev 615) +++ dcplusplus/trunk/windows/HubFrame.h 2006-06-17 15:40:35 UTC (rev 616) @@ -240,6 +240,9 @@ bool update(const Identity& identity, int sortCol); + const string& getNick() const { return identity.getNick(); } + bool isHidden() const { return identity.isHidden(); } + tstring columns[COLUMN_LAST]; GETSET(Identity, identity, Identity); }; @@ -302,10 +305,7 @@ } }; - size_t getUserCount() const { - size_t sel = ctrlUsers.GetSelectedCount(); - return sel > 1 ? sel : userMap.size(); - } + string getUsersTextForStatusBar() const; int64_t getAvailable() { if (ctrlUsers.GetSelectedCount() > 1) { Modified: dcplusplus/trunk/windows/SpyFrame.cpp =================================================================== --- dcplusplus/trunk/windows/SpyFrame.cpp 2006-06-13 20:03:56 UTC (rev 615) +++ dcplusplus/trunk/windows/SpyFrame.cpp 2006-06-17 15:40:35 UTC (rev 616) @@ -46,7 +46,7 @@ ctrlIgnoreTth.Create(ctrlStatus.m_hWnd, rcDefault, CTSTRING(IGNORE_TTH_SEARCHES), WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN); ctrlIgnoreTth.SetButtonStyle(BS_AUTOCHECKBOX, false); ctrlIgnoreTth.SetFont(WinUtil::systemFont); - ctrlIgnoreTth.SetCheck(false); + ctrlIgnoreTth.SetCheck(ignoreTth); ignoreTthContainer.SubclassWindow(ctrlIgnoreTth.m_hWnd); WinUtil::splitTokens(columnIndexes, SETTING(SPYFRAME_ORDER), COLUMN_LAST); @@ -75,6 +75,8 @@ return 0; } else { WinUtil::saveHeaderOrder(ctrlSearches, SettingsManager::SPYFRAME_ORDER, SettingsManager::SPYFRAME_WIDTHS, COLUMN_LAST, columnIndexes, columnSizes); + if (ignoreTth != BOOLSETTING(SPY_FRAME_IGNORE_TTH_SEARCHES)) + SettingsManager::getInstance()->set(SettingsManager::SPY_FRAME_IGNORE_TTH_SEARCHES, ignoreTth); bHandled = FALSE; return 0; Modified: dcplusplus/trunk/windows/SpyFrame.h =================================================================== --- dcplusplus/trunk/windows/SpyFrame.h 2006-06-13 20:03:56 UTC (rev 615) +++ dcplusplus/trunk/windows/SpyFrame.h 2006-06-17 15:40:35 UTC (rev 616) @@ -35,7 +35,7 @@ private ClientManagerListener, private TimerManagerListener { public: - SpyFrame() : total(0), cur(0), closed(false), ignoreTth(false), ignoreTthContainer(WC_BUTTON, this, IGNORETTH_MESSAGE_MAP) { + SpyFrame() : total(0), cur(0), closed(false), ignoreTth(BOOLSETTING(SPY_FRAME_IGNORE_TTH_SEARCHES)), ignoreTthContainer(WC_BUTTON, this, IGNORETTH_MESSAGE_MAP) { ZeroMemory(perSecond, sizeof(perSecond)); ClientManager::getInstance()->addListener(this); TimerManager::getInstance()->addListener(this); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |