summary refs log tree commit diff stats
AgeCommit message (Expand)Author
2014-12-28Fix overflowTingPing
2014-12-28Fix warningTingPing
2014-12-28Fix leak in make-teTingPing
2014-12-28Fix building as c89TingPing
2014-12-28Use glib for allocations in all pluginsTingPing
2014-12-28Use glib for all allocationsTingPing
2014-12-28Fixup: Detect urls with unicode symbolsTingPing
2014-12-28Detect urls with unicode symbolsTingPing
2014-12-17configure: Set glib min requirement to 2.32TingPing
2014-12-17More consistently include config.hTingPing
2014-12-15Don't require glib 2.40TingPing
2014-12-15fishlim: Handle server-timeTingPing
2014-12-15fishlim: Use proper filesystem encoding for filesTingPing
2014-12-15fishlim: Use standard keyfile save functionTingPing
2014-12-15fishlim: Strip whitespace when deleting keysTingPing
2014-12-15fishlim: Use hexchat_nickcmp()TingPing
2014-12-15fishlim: Improve string handlingTingPing
2014-12-15Remove some unnecessary if statementsTingPing
2014-12-15Fixed some more signed-unsigned-comparison warnings.Arnavion
2014-12-15Remove unused headerTingPing
2014-12-15Add patch from cygwinTingPing
2014-12-15Update .gitignoreTingPing
2014-12-15configure: Improve various build flagsTingPing
2014-12-15checksum: Use glib for io/checksum and misc fixesTingPing
2014-12-14Fix use after freeTingPing
2014-12-14travis: Build with static analysisTingPing
2014-12-14perl: Fixed warning about implicitly casting the time_t returned from hexchat...Arnavion
2014-12-11sysinfo: Simplify remove_leading_whitespace()TingPing
2014-12-11Fix possible overflow when using /menuTingPing
2014-12-11Fix some leaksTingPing
2014-12-11Fix some warnings in xsysTingPing
2014-12-10Create configuration option to control middle click tab close.md_5
2014-12-10Fix chanopts not saving if /quit before exitleeter
2014-12-10Fix unsafe string handling in configsTingPing
2014-12-10Fix unused warningTingPing
2014-12-10Fix typoTingPing
2014-12-09Fix tab completing with no completion charTingPing
2014-12-09Respect servers chantypes and nickprefixes when tab completingTingPing
2014-12-09Use gboolean for boolsTingPing
2014-12-09Fix various unsafe string handling in fkeysTingPing
2014-12-08Removed unused hexchat_filename_*_utf8 macros.Arnavion
2014-12-08Removed some unnecessary casts.Arnavion
2014-12-08Removed some commented-out code.Arnavion
2014-12-08Fixed leak of filename string.Arnavion
2014-12-08Minor tidying upArnavion
2014-12-08Removed some unnecessary null-checks for calls to g_free and g_strfreevArnavion
2014-12-08Don't leak filename_fs on errors.Arnavion
2014-12-06Update travis notification formatTingPing
2014-12-06Always use 64-bit filesize and file offsets in DCC.Arnavion
2014-12-04Store timer hook's timeout as milliseconds.Arnavion
="p">, UINT uiDialog, char *szMsg, char *szName, unsigned int iTime) { TCHAR wszMsg[256]; TCHAR wszName[64]; HWND hDialog; RECT rcWorkArea, rcDlg; int ixPos, iyPos; int iNumPerCol; hDialog = CreateDialog(hModule, MAKEINTRESOURCE(uiDialog), NULL, (DLGPROC)sdAlertProc); SystemParametersInfo(SPI_GETWORKAREA, 0, &rcWorkArea, 0); GetWindowRect(hDialog, &rcDlg); iNumPerCol = ((rcWorkArea.bottom - rcWorkArea.top) / (rcDlg.bottom - rcDlg.top)); ixPos = rcWorkArea.right - (rcDlg.right - rcDlg.left) + 1; iyPos = rcWorkArea.bottom - (rcDlg.bottom - rcDlg.top); if((g_iAlerts >= iNumPerCol) && (iNumPerCol > 0)) { ixPos -= ((g_iAlerts / iNumPerCol) * (rcDlg.right - rcDlg.left)); iyPos -= ((g_iAlerts - (iNumPerCol * (g_iAlerts / iNumPerCol))) * (rcDlg.bottom - rcDlg.top)); } else { iyPos -= (g_iAlerts * (rcDlg.bottom - rcDlg.top)); } SetWindowPos(hDialog, HWND_TOPMOST, ixPos, iyPos, 0, 0, SWP_NOSIZE | SWP_NOACTIVATE); ConvertString(szName, wszName, 64); ConvertString(szMsg, wszMsg, 256); SetWindowText(hDialog, wszName); SetDlgItemText(hDialog, IDC_ALERT_MSG, wszMsg); ShowWindow(hDialog, SW_SHOWNA); if(iTime > 0) { SetTimer(hDialog, 1, iTime, NULL); } g_iAlerts++; } void sdCloseAlerts() { PostMessage(HWND_BROADCAST, RegisterWindowMessage(TEXT("xTray:CloseAllAlertWindows")), 0, 0); } LRESULT CALLBACK sdAlertProc(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam) { switch(msg) { case WM_CLOSE: if(g_iAlerts > 0){ g_iAlerts--; } DestroyWindow(hwnd); return TRUE; break; case WM_TIMER: if(g_iAlerts > 0){ g_iAlerts--; } AnimateWindow(hwnd, 600, AW_SLIDE | AW_HIDE | AW_VER_POSITIVE); DestroyWindow(hwnd); return TRUE; break; default: if(msg == RegisterWindowMessage(TEXT("xTray:CloseAllAlertWindows"))) { if(g_iAlerts > 0){ g_iAlerts--; } DestroyWindow(hwnd); return TRUE; } break; } return FALSE; } int sdAlertNum() { return g_iAlerts; }