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 --- plugins/Scriver/src/msglog.cpp | 74 +++++++++++++++++++------------------- plugins/Scriver/src/msgoptions.cpp | 40 +++++++++------------ plugins/Scriver/src/msgs.cpp | 4 +-- 3 files changed, 54 insertions(+), 64 deletions(-) (limited to 'plugins/Scriver/src') diff --git a/plugins/Scriver/src/msglog.cpp b/plugins/Scriver/src/msglog.cpp index 6d6be46791..d65a512194 100644 --- a/plugins/Scriver/src/msglog.cpp +++ b/plugins/Scriver/src/msglog.cpp @@ -804,44 +804,44 @@ static DWORD CALLBACK LogStreamInEvents(DWORD_PTR dwCookie, LPBYTE pbBuff, LONG if (dat->buffer == NULL) { dat->bufferOffset = 0; switch (dat->stage) { - case STREAMSTAGE_HEADER: - dat->buffer = CreateRTFHeader(dat->dlgDat, dat->gdat); - dat->stage = STREAMSTAGE_EVENTS; - break; - case STREAMSTAGE_EVENTS: - if (dat->events != NULL) { - EventData *event = dat->events; - dat->buffer = NULL; - dat->buffer = CreateRTFFromEvent(dat->dlgDat, event, dat->gdat, dat); - dat->events = event->next; - freeEvent(event); - } else if (dat->eventsToInsert) { - do { - EventData *event = getEventFromDB(dat->dlgDat, dat->hContact, dat->hDbEvent); - dat->buffer = NULL; - if (event != NULL) { - dat->buffer = CreateRTFFromEvent(dat->dlgDat, event, dat->gdat, dat); - freeEvent(event); - } - if (dat->buffer) - dat->hDbEventLast = dat->hDbEvent; - dat->hDbEvent = db_event_next(dat->hDbEvent); - if (--dat->eventsToInsert == 0) - break; - } while (dat->buffer == NULL && dat->hDbEvent); - } - if (dat->buffer) { - break; - } - dat->stage = STREAMSTAGE_TAIL; - //fall through - case STREAMSTAGE_TAIL: - dat->buffer = CreateRTFTail(); - dat->stage = STREAMSTAGE_STOP; + case STREAMSTAGE_HEADER: + dat->buffer = CreateRTFHeader(dat->dlgDat, dat->gdat); + dat->stage = STREAMSTAGE_EVENTS; + break; + case STREAMSTAGE_EVENTS: + if (dat->events != NULL) { + EventData *event = dat->events; + dat->buffer = NULL; + dat->buffer = CreateRTFFromEvent(dat->dlgDat, event, dat->gdat, dat); + dat->events = event->next; + freeEvent(event); + } else if (dat->eventsToInsert) { + do { + EventData *event = getEventFromDB(dat->dlgDat, dat->hContact, dat->hDbEvent); + dat->buffer = NULL; + if (event != NULL) { + dat->buffer = CreateRTFFromEvent(dat->dlgDat, event, dat->gdat, dat); + freeEvent(event); + } + if (dat->buffer) + dat->hDbEventLast = dat->hDbEvent; + dat->hDbEvent = db_event_next(dat->hDbEvent); + if (--dat->eventsToInsert == 0) + break; + } while (dat->buffer == NULL && dat->hDbEvent); + } + if (dat->buffer) { break; - case STREAMSTAGE_STOP: - *pcb = 0; - return 0; + } + dat->stage = STREAMSTAGE_TAIL; + //fall through + case STREAMSTAGE_TAIL: + dat->buffer = CreateRTFTail(); + dat->stage = STREAMSTAGE_STOP; + break; + case STREAMSTAGE_STOP: + *pcb = 0; + return 0; } dat->bufferLen = lstrlenA(dat->buffer); } diff --git a/plugins/Scriver/src/msgoptions.cpp b/plugins/Scriver/src/msgoptions.cpp index 4997af2a44..b39e6ef330 100644 --- a/plugins/Scriver/src/msgoptions.cpp +++ b/plugins/Scriver/src/msgoptions.cpp @@ -949,41 +949,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/plugins/Scriver/src/msgs.cpp b/plugins/Scriver/src/msgs.cpp index 6bda0dfb90..0eaf5158c8 100644 --- a/plugins/Scriver/src/msgs.cpp +++ b/plugins/Scriver/src/msgs.cpp @@ -276,8 +276,7 @@ static void RestoreUnreadMessageAlerts(void) cle.flags = CLEF_TCHAR; cle.ptszTooltip = toolTip; - 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) { dbei.cbBlob = 0; @@ -303,7 +302,6 @@ static void RestoreUnreadMessageAlerts(void) } hDbEvent = db_event_next(hDbEvent); } - hContact = db_find_next(hContact); } } -- cgit v1.2.3