From bcb27264ba737778e5d3edad36088bacf74f0236 Mon Sep 17 00:00:00 2001 From: George Hazan Date: Tue, 9 Apr 2013 20:03:46 +0000 Subject: - short function names allows to write database loops in one string; - 'continue' operator can be used then; - multiple bugs fixed in clists; - code becomes much more compact; git-svn-id: http://svn.miranda-ng.org/main/trunk@4403 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- src/core/stdchat/src/clist.cpp | 20 ++++++------------- src/core/stdfile/file.cpp | 4 +--- src/core/stdmsg/src/msgoptions.cpp | 40 +++++++++++++++----------------------- src/core/stdmsg/src/msgs.cpp | 4 +--- src/core/stdurl/url.cpp | 4 +--- 5 files changed, 25 insertions(+), 47 deletions(-) (limited to 'src/core') diff --git a/src/core/stdchat/src/clist.cpp b/src/core/stdchat/src/clist.cpp index 31e47b1f6a..63a4a5687a 100644 --- a/src/core/stdchat/src/clist.cpp +++ b/src/core/stdchat/src/clist.cpp @@ -99,21 +99,16 @@ BOOL CList_SetOffline(HANDLE hContact, BOOL bHide) BOOL CList_SetAllOffline(BOOL bHide, const char *pszModule) { - HANDLE hContact; - char* szProto; - - hContact = db_find_first(); - while ( hContact ) { - szProto = GetContactProto(hContact); + for (HANDLE hContact = db_find_first(); hContact; hContact = db_find_next(hContact)) { + char *szProto = GetContactProto(hContact); if ( MM_FindModule( szProto )) { if ( !pszModule || ( pszModule && !strcmp( pszModule, szProto ))) { int i = db_get_b(hContact, szProto, "ChatRoom", 0); if ( i != 0 ) { db_set_w(hContact, szProto,"ApparentMode",(LPARAM)(WORD) 0); db_set_w(hContact, szProto, "Status", ID_STATUS_OFFLINE); - } } } - hContact = db_find_next(hContact); - } + } } } } + return TRUE; } @@ -288,8 +283,7 @@ BOOL CList_AddEvent(HANDLE hContact, HICON hIcon, HANDLE hEvent, int type, TCHAR HANDLE CList_FindRoom ( const char* pszModule, const TCHAR* pszRoom) { - HANDLE hContact = db_find_first(); - while (hContact) { + for (HANDLE hContact = db_find_first(); hContact; hContact = db_find_next(hContact)) { char *szProto = GetContactProto(hContact); if ( szProto && !lstrcmpiA( szProto, pszModule )) { if ( db_get_b( hContact, szProto, "ChatRoom", 0) != 0 ) { @@ -300,10 +294,8 @@ HANDLE CList_FindRoom ( const char* pszModule, const TCHAR* pszRoom) return hContact; } db_free(&dbv); - } } } + } } } } - hContact = db_find_next(hContact); - } return 0; } diff --git a/src/core/stdfile/file.cpp b/src/core/stdfile/file.cpp index 292eb13873..cd558e443c 100644 --- a/src/core/stdfile/file.cpp +++ b/src/core/stdfile/file.cpp @@ -287,8 +287,7 @@ void UpdateProtoFileTransferStatus(PROTOFILETRANSFERSTATUS *dest, PROTOFILETRANS static void RemoveUnreadFileEvents(void) { - HANDLE hContact = db_find_first(); - while (hContact) { + for (HANDLE hContact = db_find_first(); hContact; hContact = db_find_next(hContact)) { HANDLE hDbEvent = db_event_firstUnread(hContact); while (hDbEvent) { DBEVENTINFO dbei = { sizeof(dbei) }; @@ -297,7 +296,6 @@ static void RemoveUnreadFileEvents(void) db_event_markRead(hContact, hDbEvent); hDbEvent = db_event_next(hDbEvent); } - hContact = db_find_next(hContact); } } diff --git a/src/core/stdmsg/src/msgoptions.cpp b/src/core/stdmsg/src/msgoptions.cpp index fc74d0ec0d..ff139165e6 100644 --- a/src/core/stdmsg/src/msgoptions.cpp +++ b/src/core/stdmsg/src/msgoptions.cpp @@ -446,41 +446,33 @@ static void ResetCList(HWND hwndDlg) static void RebuildList(HWND hwndDlg, HANDLE hItemNew, HANDLE hItemUnknown) { - HANDLE hContact, hItem; BYTE defType = db_get_b(NULL, SRMMMOD, SRMSGSET_TYPINGNEW, SRMSGDEFSET_TYPINGNEW); - - if (hItemNew && defType) { + if (hItemNew && defType) SendDlgItemMessage(hwndDlg, IDC_CLIST, CLM_SETCHECKMARK, (WPARAM) hItemNew, 1); - } - if (hItemUnknown && db_get_b(NULL, SRMMMOD, SRMSGSET_TYPINGUNKNOWN, SRMSGDEFSET_TYPINGUNKNOWN)) { + + if (hItemUnknown && db_get_b(NULL, SRMMMOD, SRMSGSET_TYPINGUNKNOWN, SRMSGDEFSET_TYPINGUNKNOWN)) SendDlgItemMessage(hwndDlg, IDC_CLIST, CLM_SETCHECKMARK, (WPARAM) hItemUnknown, 1); - } - hContact = db_find_first(); - do { - hItem = (HANDLE) SendDlgItemMessage(hwndDlg, IDC_CLIST, CLM_FINDCONTACT, (WPARAM) hContact, 0); - if (hItem && db_get_b(hContact, SRMMMOD, SRMSGSET_TYPING, defType)) { + + for (HANDLE hContact = db_find_first(); hContact; hContact = db_find_next(hContact)) { + HANDLE hItem = (HANDLE) SendDlgItemMessage(hwndDlg, IDC_CLIST, CLM_FINDCONTACT, (WPARAM) hContact, 0); + if (hItem && db_get_b(hContact, SRMMMOD, SRMSGSET_TYPING, defType)) SendDlgItemMessage(hwndDlg, IDC_CLIST, CLM_SETCHECKMARK, (WPARAM) hItem, 1); - } - } while (hContact = db_find_next(hContact)); + } } static void SaveList(HWND hwndDlg, HANDLE hItemNew, HANDLE hItemUnknown) { - HANDLE hContact, hItem; - - if (hItemNew) { + if (hItemNew) db_set_b(NULL, SRMMMOD, SRMSGSET_TYPINGNEW, (BYTE) (SendDlgItemMessage(hwndDlg, IDC_CLIST, CLM_GETCHECKMARK, (WPARAM) hItemNew, 0) ? 1 : 0)); - } - if (hItemUnknown) { + + if (hItemUnknown) db_set_b(NULL, SRMMMOD, SRMSGSET_TYPINGUNKNOWN, (BYTE) (SendDlgItemMessage(hwndDlg, IDC_CLIST, CLM_GETCHECKMARK, (WPARAM) hItemUnknown, 0) ? 1 : 0)); - } - hContact = db_find_first(); - do { - hItem = (HANDLE) SendDlgItemMessage(hwndDlg, IDC_CLIST, CLM_FINDCONTACT, (WPARAM) hContact, 0); - if (hItem) { + + for (HANDLE hContact = db_find_first(); hContact; hContact = db_find_next(hContact)) { + HANDLE hItem = (HANDLE) SendDlgItemMessage(hwndDlg, IDC_CLIST, CLM_FINDCONTACT, (WPARAM)hContact, 0); + if (hItem) db_set_b(hContact, SRMMMOD, SRMSGSET_TYPING, (BYTE) (SendDlgItemMessage(hwndDlg, IDC_CLIST, CLM_GETCHECKMARK, (WPARAM) hItem, 0) ? 1 : 0)); - } - } while (hContact = db_find_next(hContact)); + } } static INT_PTR CALLBACK DlgProcTypeOptions(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) diff --git a/src/core/stdmsg/src/msgs.cpp b/src/core/stdmsg/src/msgs.cpp index ba8063ea65..26047b065c 100644 --- a/src/core/stdmsg/src/msgs.cpp +++ b/src/core/stdmsg/src/msgs.cpp @@ -251,8 +251,7 @@ static void RestoreUnreadMessageAlerts(void) DBEVENTINFO dbei = { sizeof(dbei) }; - HANDLE hContact = db_find_first(); - while (hContact) { + for (HANDLE hContact = db_find_first(); hContact; hContact = db_find_next(hContact)) { HANDLE hDbEvent = db_event_firstUnread(hContact); while (hDbEvent) { autoPopup = 0; @@ -282,7 +281,6 @@ static void RestoreUnreadMessageAlerts(void) } hDbEvent = db_event_next(hDbEvent); } - hContact = db_find_next(hContact); } } diff --git a/src/core/stdurl/url.cpp b/src/core/stdurl/url.cpp index ff4d8ec72a..44a41e65f6 100644 --- a/src/core/stdurl/url.cpp +++ b/src/core/stdurl/url.cpp @@ -74,8 +74,7 @@ static void RestoreUnreadUrlAlerts(void) cle.pszService = "SRUrl/ReadUrl"; cle.flags = CLEF_TCHAR; - HANDLE hContact = db_find_first(); - while (hContact) { + for (HANDLE hContact = db_find_first(); hContact; hContact = db_find_next(hContact)) { HANDLE hDbEvent = db_event_firstUnread(hContact); while (hDbEvent) { DBEVENTINFO dbei = { sizeof(dbei) }; @@ -91,7 +90,6 @@ static void RestoreUnreadUrlAlerts(void) } hDbEvent = db_event_next(hDbEvent); } - hContact = db_find_next(hContact); } } -- cgit v1.2.3