From fa3c28549bc4a00c24abd933455fe440a536fd2a Mon Sep 17 00:00:00 2001 From: George Hazan Date: Sun, 15 Jun 2014 14:18:25 +0000 Subject: options for meta icons displaying in tabSRMM git-svn-id: http://svn.miranda-ng.org/main/trunk@9501 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- plugins/TabSRMM/src/hotkeyhandler.cpp | 2 +- plugins/TabSRMM/src/msgdialog.cpp | 5 +- plugins/TabSRMM/src/msgdlgutils.cpp | 5 +- plugins/TabSRMM/src/msgdlgutils.h | 108 +++++++-------- plugins/TabSRMM/src/tabctrl.cpp | 116 +++++++--------- plugins/TabSRMM/src/translator.cpp | 250 ++++++++++++++++++---------------- plugins/TabSRMM/src/version.h | 2 +- 7 files changed, 246 insertions(+), 242 deletions(-) diff --git a/plugins/TabSRMM/src/hotkeyhandler.cpp b/plugins/TabSRMM/src/hotkeyhandler.cpp index d269befbeb..c5fd0dc581 100644 --- a/plugins/TabSRMM/src/hotkeyhandler.cpp +++ b/plugins/TabSRMM/src/hotkeyhandler.cpp @@ -216,7 +216,7 @@ LONG_PTR CALLBACK HotkeyHandlerDlgProc(HWND hwndDlg, UINT msg, WPARAM wParam, LP if (dis->itemData > 0) hIcon = dis->itemData & 0x10000000 ? pci->hIcons[ICON_HIGHLIGHT] : PluginConfig.g_IconMsgEvent; else if (dat != NULL) { - hIcon = MY_GetContactIcon(dat); + hIcon = MY_GetContactIcon(dat, 0); idle = dat->idle; } else hIcon = PluginConfig.g_iconContainer; diff --git a/plugins/TabSRMM/src/msgdialog.cpp b/plugins/TabSRMM/src/msgdialog.cpp index 66c5d7d6e3..2b77f8b9b4 100644 --- a/plugins/TabSRMM/src/msgdialog.cpp +++ b/plugins/TabSRMM/src/msgdialog.cpp @@ -2215,11 +2215,12 @@ INT_PTR CALLBACK DlgProcMessage(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lP } if (LPCSTR szProto = dat->cache->getProto()) { - dat->hTabIcon = dat->hTabStatusIcon = MY_GetContactIcon(dat); + dat->hTabIcon = dat->hTabStatusIcon = MY_GetContactIcon(dat, "MetaiconTab"); if (M.GetByte("use_xicons", 1)) dat->hXStatusIcon = GetXStatusIcon(dat); + SendDlgItemMessage(hwndDlg, IDC_PROTOCOL, BUTTONSETASDIMMED, (dat->dwFlagsEx & MWF_SHOW_ISIDLE) != 0, 0); - SendDlgItemMessage(hwndDlg, IDC_PROTOCOL, BM_SETIMAGE, IMAGE_ICON, (LPARAM)(dat->hXStatusIcon ? dat->hXStatusIcon : dat->hTabIcon)); + SendDlgItemMessage(hwndDlg, IDC_PROTOCOL, BM_SETIMAGE, IMAGE_ICON, (LPARAM)(dat->hXStatusIcon ? dat->hXStatusIcon : MY_GetContactIcon(dat, "MetaiconBar"))); if (m_pContainer->hwndActive == hwndDlg) SendMessage(m_pContainer->hwnd, DM_SETICON, (WPARAM)dat, (LPARAM)(dat->hXStatusIcon ? dat->hXStatusIcon : dat->hTabIcon)); diff --git a/plugins/TabSRMM/src/msgdlgutils.cpp b/plugins/TabSRMM/src/msgdlgutils.cpp index 7a82c97bcf..8863726e61 100644 --- a/plugins/TabSRMM/src/msgdlgutils.cpp +++ b/plugins/TabSRMM/src/msgdlgutils.cpp @@ -2210,8 +2210,11 @@ void TSAPI GetMyNick(TWindowData *dat) mir_free(ci.pszVal); } -HICON TSAPI MY_GetContactIcon(const TWindowData *dat) +HICON TSAPI MY_GetContactIcon(const TWindowData *dat, LPCSTR szSetting) { + int bUseMeta = (szSetting == NULL) ? false : M.GetByte(szSetting, true); + if (bUseMeta) + return LoadSkinnedProtoIcon(dat->cache->getProto(), dat->cache->getStatus()); return LoadSkinnedProtoIcon(dat->cache->getActiveProto(), dat->cache->getActiveStatus()); } diff --git a/plugins/TabSRMM/src/msgdlgutils.h b/plugins/TabSRMM/src/msgdlgutils.h index c285b46462..e3380f24d8 100644 --- a/plugins/TabSRMM/src/msgdlgutils.h +++ b/plugins/TabSRMM/src/msgdlgutils.h @@ -34,61 +34,61 @@ #define WANT_IEVIEW_LOG 1 #define WANT_HPP_LOG 2 -void TSAPI CalcDynamicAvatarSize (TWindowData *dat, BITMAP *bminfo); -char* TSAPI GetCurrentMetaContactProto (TWindowData *dat); -int TSAPI MsgWindowUpdateMenu (TWindowData *dat, HMENU submenu, int menuID); -int TSAPI MsgWindowMenuHandler (TWindowData *dat, int selection, int menuId); -int TSAPI GetAvatarVisibility (HWND hwndDlg, TWindowData *dat); -void TSAPI UpdateStatusBar (const TWindowData *dat); -int TSAPI CheckValidSmileyPack (const char *szProto, MCONTACT hContact); -TCHAR* TSAPI QuoteText (const TCHAR *text, int charsPerLine, int removeExistingQuotes); -void TSAPI UpdateReadChars (const TWindowData *dat); -void TSAPI ShowPicture (TWindowData *dat, BOOL showNewPic); -void TSAPI AdjustBottomAvatarDisplay (TWindowData *dat); -void TSAPI SetDialogToType (HWND hwndDlg); -void TSAPI FlashOnClist (HWND hwndDlg, TWindowData *dat, HANDLE hEvent, DBEVENTINFO *dbei); -char* TSAPI Message_GetFromStream (HWND hwndDlg, const TWindowData *dat, DWORD dwPassedFlags); -BOOL TSAPI DoRtfToTags (TCHAR * pszText, const TWindowData *dat); -void TSAPI GetMYUIN (TWindowData *dat); -void TSAPI SetMessageLog (TWindowData *dat); -void TSAPI SwitchMessageLog (TWindowData *dat, int iMode); -UINT TSAPI GetIEViewMode (HWND hwndDlg, MCONTACT hContact); -void TSAPI FindFirstEvent (TWindowData *dat); -void TSAPI SaveSplitter (TWindowData *dat); -void TSAPI LoadSplitter (TWindowData *dat); -void TSAPI PlayIncomingSound (const TWindowData *dat); -void TSAPI GetSendFormat (TWindowData *dat, int mode); -void TSAPI GetLocaleID (TWindowData *dat, const TCHAR *szKLName); -void TSAPI LoadOwnAvatar (TWindowData *dat); -void TSAPI LoadContactAvatar (TWindowData *dat); -void TSAPI LoadTimeZone (TWindowData *dat); -void TSAPI HandlePasteAndSend (const TWindowData *dat); -int TSAPI MsgWindowDrawHandler (WPARAM wParam, LPARAM lParam, TWindowData *dat); -void TSAPI LoadOverrideTheme (TContainerData *pContainer); -void TSAPI LoadThemeDefaults (TContainerData *pContainer); -void TSAPI ConfigureSmileyButton (TWindowData *dat); -int TSAPI CutContactName (const TCHAR *szold, TCHAR *sznew, unsigned int size); -void TSAPI SendNudge (const TWindowData *dat); -void TSAPI EnableSendButton (const TWindowData *dat, int iMode); -LRESULT TSAPI GetSendButtonState (HWND hwnd); -HICON TSAPI GetXStatusIcon (const TWindowData *dat); -void TSAPI FlashTab (TWindowData *dat, HWND hwndTab, int iTabindex, BOOL *bState, BOOL mode, HICON origImage); -void TSAPI GetClientIcon (TWindowData *dat); -void TSAPI RearrangeTab (HWND hwndDlg, const TWindowData *dat, int iMode, BOOL fSavePos); -void TSAPI GetCachedStatusMsg (TWindowData *dat); -bool TSAPI IsStatusEvent(int eventType); -bool TSAPI IsCustomEvent(int eventType); -void TSAPI GetMyNick (TWindowData *dat); -HICON TSAPI MY_GetContactIcon (const TWindowData *dat); -void TSAPI CheckAndDestroyIEView (TWindowData *dat); -void TSAPI KbdState (TWindowData *dat, BOOL& isShift, BOOL& isControl, BOOL& isAlt); -void TSAPI ClearLog (TWindowData *dat); -bool TSAPI IsAutoSplitEnabled (const TWindowData *dat); -LONG TSAPI GetDefaultMinimumInputHeight (const TWindowData *dat); -void TSAPI DetermineMinHeight (TWindowData *dat); +void TSAPI CalcDynamicAvatarSize(TWindowData *dat, BITMAP *bminfo); +char* TSAPI GetCurrentMetaContactProto(TWindowData *dat); +int TSAPI MsgWindowUpdateMenu(TWindowData *dat, HMENU submenu, int menuID); +int TSAPI MsgWindowMenuHandler(TWindowData *dat, int selection, int menuId); +int TSAPI GetAvatarVisibility(HWND hwndDlg, TWindowData *dat); +void TSAPI UpdateStatusBar(const TWindowData *dat); +int TSAPI CheckValidSmileyPack(const char *szProto, MCONTACT hContact); +TCHAR* TSAPI QuoteText(const TCHAR *text, int charsPerLine, int removeExistingQuotes); +void TSAPI UpdateReadChars(const TWindowData *dat); +void TSAPI ShowPicture(TWindowData *dat, BOOL showNewPic); +void TSAPI AdjustBottomAvatarDisplay(TWindowData *dat); +void TSAPI SetDialogToType(HWND hwndDlg); +void TSAPI FlashOnClist(HWND hwndDlg, TWindowData *dat, HANDLE hEvent, DBEVENTINFO *dbei); +char* TSAPI Message_GetFromStream(HWND hwndDlg, const TWindowData *dat, DWORD dwPassedFlags); +BOOL TSAPI DoRtfToTags(TCHAR * pszText, const TWindowData *dat); +void TSAPI GetMYUIN(TWindowData *dat); +void TSAPI SetMessageLog(TWindowData *dat); +void TSAPI SwitchMessageLog(TWindowData *dat, int iMode); +UINT TSAPI GetIEViewMode(HWND hwndDlg, MCONTACT hContact); +void TSAPI FindFirstEvent(TWindowData *dat); +void TSAPI SaveSplitter(TWindowData *dat); +void TSAPI LoadSplitter(TWindowData *dat); +void TSAPI PlayIncomingSound(const TWindowData *dat); +void TSAPI GetSendFormat(TWindowData *dat, int mode); +void TSAPI GetLocaleID(TWindowData *dat, const TCHAR *szKLName); +void TSAPI LoadOwnAvatar(TWindowData *dat); +void TSAPI LoadContactAvatar(TWindowData *dat); +void TSAPI LoadTimeZone(TWindowData *dat); +void TSAPI HandlePasteAndSend(const TWindowData *dat); +int TSAPI MsgWindowDrawHandler(WPARAM wParam, LPARAM lParam, TWindowData *dat); +void TSAPI LoadOverrideTheme(TContainerData *pContainer); +void TSAPI LoadThemeDefaults(TContainerData *pContainer); +void TSAPI ConfigureSmileyButton(TWindowData *dat); +int TSAPI CutContactName(const TCHAR *szold, TCHAR *sznew, unsigned int size); +void TSAPI SendNudge(const TWindowData *dat); +void TSAPI EnableSendButton(const TWindowData *dat, int iMode); +LRESULT TSAPI GetSendButtonState(HWND hwnd); +HICON TSAPI GetXStatusIcon(const TWindowData *dat); +void TSAPI FlashTab(TWindowData *dat, HWND hwndTab, int iTabindex, BOOL *bState, BOOL mode, HICON origImage); +void TSAPI GetClientIcon(TWindowData *dat); +void TSAPI RearrangeTab(HWND hwndDlg, const TWindowData *dat, int iMode, BOOL fSavePos); +void TSAPI GetCachedStatusMsg(TWindowData *dat); +bool TSAPI IsStatusEvent(int eventType); +bool TSAPI IsCustomEvent(int eventType); +void TSAPI GetMyNick(TWindowData *dat); +HICON TSAPI MY_GetContactIcon(const TWindowData *dat, LPCSTR szSetting); +void TSAPI CheckAndDestroyIEView(TWindowData *dat); +void TSAPI KbdState(TWindowData *dat, BOOL& isShift, BOOL& isControl, BOOL& isAlt); +void TSAPI ClearLog(TWindowData *dat); +bool TSAPI IsAutoSplitEnabled(const TWindowData *dat); +LONG TSAPI GetDefaultMinimumInputHeight(const TWindowData *dat); +void TSAPI DetermineMinHeight(TWindowData *dat); -void TSAPI CleanTempFiles (); -void TSAPI SendHBitmapAsFile (const TWindowData *dat, HBITMAP hbmp); +void TSAPI CleanTempFiles(); +void TSAPI SendHBitmapAsFile(const TWindowData *dat, HBITMAP hbmp); extern INT_PTR CALLBACK SelectContainerDlgProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam); extern INT_PTR CALLBACK DlgProcContainerOptions(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam); diff --git a/plugins/TabSRMM/src/tabctrl.cpp b/plugins/TabSRMM/src/tabctrl.cpp index 7bff71bdea..1d62b934f3 100644 --- a/plugins/TabSRMM/src/tabctrl.cpp +++ b/plugins/TabSRMM/src/tabctrl.cpp @@ -157,84 +157,72 @@ void TSAPI FillTabBackground(const HDC hdc, int iStateId, const TWindowData *dat static void DrawItem(TabControlData *tabdat, HDC dc, RECT *rcItem, int nHint, int nItem, TWindowData *dat) { - int iSize = 16; - DWORD dwTextFlags = DT_SINGLELINE | DT_VCENTER/* | DT_NOPREFIX*/; - BOOL leftMost = FALSE; - - if (dat) { - HICON hIcon; - COLORREF clr = 0; - HFONT oldFont; - DWORD dwStyle = tabdat->dwStyle; - int oldMode = 0; - unsigned clrIndex = 0; - - InflateRect(rcItem, -2, -2); - - if (dat->mayFlashTab) - clrIndex = 3; - else - clrIndex = (nHint & HINT_ACTIVE_ITEM ? 1 : (nHint & HINT_HOTTRACK ? 2 : 0)); + if (dat == NULL) + return; - clr = PluginConfig.tabConfig.colors[clrIndex]; + InflateRect(rcItem, -2, -2); - oldMode = SetBkMode(dc, TRANSPARENT); + unsigned clrIndex = (dat->mayFlashTab) ? 3 : (nHint & HINT_ACTIVE_ITEM ? 1 : (nHint & HINT_HOTTRACK ? 2 : 0)); + COLORREF clr = PluginConfig.tabConfig.colors[clrIndex]; - if (!(dwStyle & TCS_BOTTOM)) - OffsetRect(rcItem, 0, 1); + int oldMode = SetBkMode(dc, TRANSPARENT); - if (dat->dwFlags & MWF_ERRORSTATE) - hIcon = PluginConfig.g_iconErr; - else if (dat->mayFlashTab) - hIcon = dat->iFlashIcon; - else { - if (dat->si && dat->iFlashIcon) { - int sizeX, sizeY; - - hIcon = dat->iFlashIcon; - Utils::getIconSize(hIcon, sizeX, sizeY); - iSize = sizeX; - } else if (dat->hTabIcon == dat->hTabStatusIcon && dat->hXStatusIcon) - hIcon = dat->hXStatusIcon; - else - hIcon = dat->hTabIcon; - } + if (!(tabdat->dwStyle & TCS_BOTTOM)) + OffsetRect(rcItem, 0, 1); + int iSize = 16; + HICON hIcon; + if (dat->dwFlags & MWF_ERRORSTATE) + hIcon = PluginConfig.g_iconErr; + else if (dat->mayFlashTab) + hIcon = dat->iFlashIcon; + else { + if (dat->si && dat->iFlashIcon) { + hIcon = dat->iFlashIcon; - if (dat->mayFlashTab == FALSE || (dat->mayFlashTab == TRUE && dat->bTabFlash != 0) || !(dat->pContainer->dwFlagsEx & TCF_FLASHICON)) { - DWORD ix = rcItem->left + tabdat->m_xpad - 1; - DWORD iy = (rcItem->bottom + rcItem->top - iSize) / 2; - if (dat->dwFlagsEx & MWF_SHOW_ISIDLE && PluginConfig.m_IdleDetect) - CSkin::DrawDimmedIcon(dc, ix, iy, iSize, iSize, hIcon, 180); - else - DrawIconEx(dc, ix, iy, hIcon, iSize, iSize, 0, NULL, DI_NORMAL | DI_COMPAT); + int sizeY; + Utils::getIconSize(hIcon, iSize, sizeY); } + else if (dat->hTabIcon == dat->hTabStatusIcon && dat->hXStatusIcon) + hIcon = dat->hXStatusIcon; + else + hIcon = dat->hTabIcon; + } - rcItem->left += (iSize + 2 + tabdat->m_xpad); + if (dat->mayFlashTab == FALSE || (dat->mayFlashTab == TRUE && dat->bTabFlash != 0) || !(dat->pContainer->dwFlagsEx & TCF_FLASHICON)) { + DWORD ix = rcItem->left + tabdat->m_xpad - 1; + DWORD iy = (rcItem->bottom + rcItem->top - iSize) / 2; + if (dat->dwFlagsEx & MWF_SHOW_ISIDLE && PluginConfig.m_IdleDetect) + CSkin::DrawDimmedIcon(dc, ix, iy, iSize, iSize, hIcon, 180); + else + DrawIconEx(dc, ix, iy, hIcon, iSize, iSize, 0, NULL, DI_NORMAL | DI_COMPAT); + } - if (tabdat->fCloseButton) { - if (tabdat->iHoveredCloseIcon != nItem) - CSkin::m_default_bf.SourceConstantAlpha = 150; + rcItem->left += (iSize + 2 + tabdat->m_xpad); - GdiAlphaBlend(dc, rcItem->right - 16 - tabdat->m_xpad, (rcItem->bottom + rcItem->top - 16) / 2, 16, 16, CSkin::m_tabCloseHDC, - 0, 0, 16, 16, CSkin::m_default_bf); + if (tabdat->fCloseButton) { + if (tabdat->iHoveredCloseIcon != nItem) + CSkin::m_default_bf.SourceConstantAlpha = 150; - rcItem->right -= (18 + tabdat->m_xpad); - CSkin::m_default_bf.SourceConstantAlpha = 255; - } + GdiAlphaBlend(dc, rcItem->right - 16 - tabdat->m_xpad, (rcItem->bottom + rcItem->top - 16) / 2, 16, 16, CSkin::m_tabCloseHDC, + 0, 0, 16, 16, CSkin::m_default_bf); - if (dat->mayFlashTab == FALSE || (dat->mayFlashTab == TRUE && dat->bTabFlash != 0) || !(dat->pContainer->dwFlagsEx & TCF_FLASHLABEL)) { - oldFont = (HFONT)SelectObject(dc, (HFONT)SendMessage(tabdat->hwnd, WM_GETFONT, 0, 0)); - if (tabdat->dwStyle & TCS_BUTTONS || !(tabdat->dwStyle & TCS_MULTILINE)) { // || (tabdat->m_moderntabs && leftMost)) { - rcItem->right -= tabdat->m_xpad; - dwTextFlags |= DT_WORD_ELLIPSIS; - } - CSkin::RenderText(dc, dwStyle & TCS_BUTTONS ? tabdat->hThemeButton : tabdat->hTheme, dat->newtitle, rcItem, dwTextFlags, CSkin::m_glowSize, clr); - SelectObject(dc, oldFont); + rcItem->right -= (18 + tabdat->m_xpad); + CSkin::m_default_bf.SourceConstantAlpha = 255; + } + + if (dat->mayFlashTab == FALSE || (dat->mayFlashTab == TRUE && dat->bTabFlash != 0) || !(dat->pContainer->dwFlagsEx & TCF_FLASHLABEL)) { + DWORD dwTextFlags = DT_SINGLELINE | DT_VCENTER; + HFONT oldFont = (HFONT)SelectObject(dc, (HFONT)SendMessage(tabdat->hwnd, WM_GETFONT, 0, 0)); + if (tabdat->dwStyle & TCS_BUTTONS || !(tabdat->dwStyle & TCS_MULTILINE)) { // || (tabdat->m_moderntabs && leftMost)) { + rcItem->right -= tabdat->m_xpad; + dwTextFlags |= DT_WORD_ELLIPSIS; } - if (oldMode) - SetBkMode(dc, oldMode); + CSkin::RenderText(dc, tabdat->dwStyle & TCS_BUTTONS ? tabdat->hThemeButton : tabdat->hTheme, dat->newtitle, rcItem, dwTextFlags, CSkin::m_glowSize, clr); + SelectObject(dc, oldFont); } + if (oldMode) + SetBkMode(dc, oldMode); } /* diff --git a/plugins/TabSRMM/src/translator.cpp b/plugins/TabSRMM/src/translator.cpp index 5d397a7b21..f9cbcd388e 100644 --- a/plugins/TabSRMM/src/translator.cpp +++ b/plugins/TabSRMM/src/translator.cpp @@ -32,143 +32,155 @@ #include "commonheaders.h" -TOptionListGroup m_lvGroupsModPlus[] = { - 0, LPGENT("Message window tweaks"), - 0, LPGENT("Error feedback"), - 0, NULL -}; - -TOptionListItem m_lvItemsModPlus[] = { - 0, LPGENT("Show skinnable tooltip in chat (Tipper plugin required)"), 1, LOI_TYPE_SETTING, (UINT_PTR)"adv_TipperTooltip", 0, - 0, LPGENT("Enable typing sounds"), 0, LOI_TYPE_SETTING, (UINT_PTR)"adv_soundontyping", 0, - 0, LPGENT("Disable animated GIF avatars (will not affect already open message windows)"), 0, LOI_TYPE_SETTING, (UINT_PTR)"adv_DisableAniAvatars", 0, - 0, LPGENT("Close current tab on send"), 0, LOI_TYPE_SETTING, (UINT_PTR)"adv_AutoClose_2", 0, - 0, LPGENT("Disable error popups on sending failures"), 0, LOI_TYPE_SETTING, (UINT_PTR)"adv_noErrorPopups", 1, - 0, LPGENT("Automatic keyboard layout: Do not load the system default for new contacts"), 1, LOI_TYPE_SETTING, (UINT_PTR)"adv_leaveKeyboardAlone", 0, - 0, LPGENT("Enable unattended send (experimental feature, required for multisend and send later) (*)"), 0, LOI_TYPE_SETTING, (UINT_PTR)"sendLaterAvail", 0, - 0, LPGENT("Show client description in info panel"), 1, LOI_TYPE_SETTING, (UINT_PTR)"ShowClientDescription", 0, - 0, NULL, 0, 0, 0, 0 +TOptionListGroup m_lvGroupsModPlus[] = +{ + { 0, LPGENT("Message window tweaks") }, + { 0, LPGENT("Display metacontact icons") }, + { 0, LPGENT("Error feedback") }, + { 0, NULL } }; -TOptionListItem m_lvItemsNEN [] = { - 0, LPGENT("Show a preview of the event"), IDC_CHKPREVIEW, LOI_TYPE_SETTING, (UINT_PTR)&nen_options.bPreview, 1, - 0, LPGENT("Don't announce event when message dialog is open"), IDC_CHKWINDOWCHECK, LOI_TYPE_SETTING, (UINT_PTR)&nen_options.bWindowCheck, 1, - 0, LPGENT("Don't announce events from RSS protocols"), IDC_NORSS, LOI_TYPE_SETTING, (UINT_PTR)&nen_options.bNoRSS, 1, - 0, LPGENT("Enable the system tray icon"), IDC_ENABLETRAYSUPPORT, LOI_TYPE_SETTING, (UINT_PTR)&nen_options.bTraySupport, 2, - 0, LPGENT("Merge new events for the same contact into existing popup"), 1, LOI_TYPE_SETTING, (UINT_PTR)&nen_options.bMergePopup, 6, - 0, LPGENT("Show headers"), IDC_CHKSHOWHEADERS, LOI_TYPE_SETTING, (UINT_PTR)&nen_options.bShowHeaders, 6, - 0, LPGENT("Dismiss popup"), MASK_DISMISS, LOI_TYPE_FLAG, (UINT_PTR)&nen_options.maskActL, 3, - 0, LPGENT("Open event"), MASK_OPEN, LOI_TYPE_FLAG, (UINT_PTR)&nen_options.maskActL, 3, - 0, LPGENT("Dismiss event"), MASK_REMOVE, LOI_TYPE_FLAG, (UINT_PTR)&nen_options.maskActL, 3, - - 0, LPGENT("Dismiss popup"), MASK_DISMISS, LOI_TYPE_FLAG, (UINT_PTR)&nen_options.maskActR, 4, - 0, LPGENT("Open event"), MASK_OPEN, LOI_TYPE_FLAG, (UINT_PTR)&nen_options.maskActR, 4, - 0, LPGENT("Dismiss event"), MASK_REMOVE, LOI_TYPE_FLAG, (UINT_PTR)&nen_options.maskActR, 4, - - 0, LPGENT("Dismiss popup"), MASK_DISMISS, LOI_TYPE_FLAG, (UINT_PTR)&nen_options.maskActTE, 5, - 0, LPGENT("Open event"), MASK_OPEN, LOI_TYPE_FLAG, (UINT_PTR)&nen_options.maskActTE, 5, - - 0, LPGENT("Disable event notifications for instant messages"), IDC_CHKWINDOWCHECK, LOI_TYPE_SETTING, (UINT_PTR)&nen_options.iDisable, 0, - 0, LPGENT("Disable event notifications for group chats"), IDC_CHKWINDOWCHECK, LOI_TYPE_SETTING, (UINT_PTR)&nen_options.iMUCDisable, 0, - 0, LPGENT("Disable notifications for non-message events"), IDC_CHKWINDOWCHECK, LOI_TYPE_SETTING, (UINT_PTR)&nen_options.bDisableNonMessage, 0, - - 0, LPGENT("Remove popups for a contact when the message window is focused"), PU_REMOVE_ON_FOCUS, LOI_TYPE_FLAG, (UINT_PTR)&nen_options.dwRemoveMask, 7, - 0, LPGENT("Remove popups for a contact when I start typing a reply"), PU_REMOVE_ON_TYPE, LOI_TYPE_FLAG, (UINT_PTR)&nen_options.dwRemoveMask, 7, - 0, LPGENT("Remove popups for a contact when I send a reply"), PU_REMOVE_ON_SEND, LOI_TYPE_FLAG, (UINT_PTR)&nen_options.dwRemoveMask, 7, - - 0, NULL, 0, 0, 0, 0 +TOptionListItem m_lvItemsModPlus[] = +{ + { 0, LPGENT("Show skinnable tooltip in chat (Tipper plugin required)"), 1, LOI_TYPE_SETTING, (UINT_PTR)"adv_TipperTooltip", 0 }, + { 0, LPGENT("Enable typing sounds"), 0, LOI_TYPE_SETTING, (UINT_PTR)"adv_soundontyping", 0 }, + { 0, LPGENT("Disable animated GIF avatars (will not affect already open message windows)"), 0, LOI_TYPE_SETTING, (UINT_PTR)"adv_DisableAniAvatars", 0 }, + { 0, LPGENT("Close current tab on send"), 0, LOI_TYPE_SETTING, (UINT_PTR)"adv_AutoClose_2", 0 }, + { 0, LPGENT("Automatic keyboard layout: Do not load the system default for new contacts"), 1, LOI_TYPE_SETTING, (UINT_PTR)"adv_leaveKeyboardAlone", 0 }, + { 0, LPGENT("Enable unattended send (experimental feature, required for multisend and send later) (*)"), 0, LOI_TYPE_SETTING, (UINT_PTR)"sendLaterAvail", 0 }, + { 0, LPGENT("Show client description in info panel"), 1, LOI_TYPE_SETTING, (UINT_PTR)"ShowClientDescription", 0 }, + { 0, LPGENT("On tab control"), 1, LOI_TYPE_SETTING, (UINT_PTR)"MetaiconTab", 1 }, + { 0, LPGENT("On the button bar"), 1, LOI_TYPE_SETTING, (UINT_PTR)"MetaiconBar", 1 }, + { 0, LPGENT("Disable error popups on sending failures"), 0, LOI_TYPE_SETTING, (UINT_PTR)"adv_noErrorPopups", 2 }, + { 0, NULL, 0, 0, 0, 0 } +}; + +TOptionListItem m_lvItemsNEN [] = +{ + { 0, LPGENT("Show a preview of the event"), IDC_CHKPREVIEW, LOI_TYPE_SETTING, (UINT_PTR)&nen_options.bPreview, 1 }, + { 0, LPGENT("Don't announce event when message dialog is open"), IDC_CHKWINDOWCHECK, LOI_TYPE_SETTING, (UINT_PTR)&nen_options.bWindowCheck, 1 }, + { 0, LPGENT("Don't announce events from RSS protocols"), IDC_NORSS, LOI_TYPE_SETTING, (UINT_PTR)&nen_options.bNoRSS, 1 }, + { 0, LPGENT("Enable the system tray icon"), IDC_ENABLETRAYSUPPORT, LOI_TYPE_SETTING, (UINT_PTR)&nen_options.bTraySupport, 2 }, + { 0, LPGENT("Merge new events for the same contact into existing popup"), 1, LOI_TYPE_SETTING, (UINT_PTR)&nen_options.bMergePopup, 6 }, + { 0, LPGENT("Show headers"), IDC_CHKSHOWHEADERS, LOI_TYPE_SETTING, (UINT_PTR)&nen_options.bShowHeaders, 6 }, + { 0, LPGENT("Dismiss popup"), MASK_DISMISS, LOI_TYPE_FLAG, (UINT_PTR)&nen_options.maskActL, 3 }, + { 0, LPGENT("Open event"), MASK_OPEN, LOI_TYPE_FLAG, (UINT_PTR)&nen_options.maskActL, 3 }, + { 0, LPGENT("Dismiss event"), MASK_REMOVE, LOI_TYPE_FLAG, (UINT_PTR)&nen_options.maskActL, 3 }, + + { 0, LPGENT("Dismiss popup"), MASK_DISMISS, LOI_TYPE_FLAG, (UINT_PTR)&nen_options.maskActR, 4 }, + { 0, LPGENT("Open event"), MASK_OPEN, LOI_TYPE_FLAG, (UINT_PTR)&nen_options.maskActR, 4 }, + { 0, LPGENT("Dismiss event"), MASK_REMOVE, LOI_TYPE_FLAG, (UINT_PTR)&nen_options.maskActR, 4 }, + + { 0, LPGENT("Dismiss popup"), MASK_DISMISS, LOI_TYPE_FLAG, (UINT_PTR)&nen_options.maskActTE, 5 }, + { 0, LPGENT("Open event"), MASK_OPEN, LOI_TYPE_FLAG, (UINT_PTR)&nen_options.maskActTE, 5 }, + + { 0, LPGENT("Disable event notifications for instant messages"), IDC_CHKWINDOWCHECK, LOI_TYPE_SETTING, (UINT_PTR)&nen_options.iDisable, 0 }, + { 0, LPGENT("Disable event notifications for group chats"), IDC_CHKWINDOWCHECK, LOI_TYPE_SETTING, (UINT_PTR)&nen_options.iMUCDisable, 0 }, + { 0, LPGENT("Disable notifications for non-message events"), IDC_CHKWINDOWCHECK, LOI_TYPE_SETTING, (UINT_PTR)&nen_options.bDisableNonMessage, 0 }, + + { 0, LPGENT("Remove popups for a contact when the message window is focused"), PU_REMOVE_ON_FOCUS, LOI_TYPE_FLAG, (UINT_PTR)&nen_options.dwRemoveMask, 7 }, + { 0, LPGENT("Remove popups for a contact when I start typing a reply"), PU_REMOVE_ON_TYPE, LOI_TYPE_FLAG, (UINT_PTR)&nen_options.dwRemoveMask, 7 }, + { 0, LPGENT("Remove popups for a contact when I send a reply"), PU_REMOVE_ON_SEND, LOI_TYPE_FLAG, (UINT_PTR)&nen_options.dwRemoveMask, 7 }, + + { 0, NULL, 0, 0, 0, 0 } }; -TOptionListGroup m_lvGroupsNEN[] = { - 0, LPGENT("Disable notifications"), - 0, LPGENT("General options"), - 0, LPGENT("System tray icon"), - 0, LPGENT("Left click actions (popups only)"), - 0, LPGENT("Right click actions (popups only)"), - 0, LPGENT("Timeout actions (popups only)"), - 0, LPGENT("Combine notifications for the same contact"), - 0, LPGENT("Remove popups under following conditions"), - 0, NULL +TOptionListGroup m_lvGroupsNEN[] = +{ + { 0, LPGENT("Disable notifications") }, + { 0, LPGENT("General options") }, + { 0, LPGENT("System tray icon") }, + { 0, LPGENT("Left click actions (popups only)") }, + { 0, LPGENT("Right click actions (popups only)") }, + { 0, LPGENT("Timeout actions (popups only)") }, + { 0, LPGENT("Combine notifications for the same contact") }, + { 0, LPGENT("Remove popups under following conditions") }, + { 0, NULL } }; -TOptionListGroup m_lvGroupsMsg[] = { - 0, LPGENT("Message window behavior"), - 0, LPGENT("Sending messages"), - 0, LPGENT("Other options"), - 0, NULL +TOptionListGroup m_lvGroupsMsg[] = +{ + { 0, LPGENT("Message window behavior") }, + { 0, LPGENT("Sending messages") }, + { 0, LPGENT("Other options") }, + { 0, NULL } }; -TOptionListItem m_lvItemsMsg[] = { - 0, LPGENT("Send on Shift+Enter"), 0, LOI_TYPE_SETTING, (UINT_PTR)"sendonshiftenter", 1, - 0, LPGENT("Send message on 'Enter'"), SRMSGDEFSET_SENDONENTER, LOI_TYPE_SETTING, (UINT_PTR)SRMSGSET_SENDONENTER, 1, - 0, LPGENT("Send message on double 'Enter'"), 0, LOI_TYPE_SETTING, (UINT_PTR)"SendOnDblEnter", 1, - 0, LPGENT("Minimize the message window on send"), SRMSGDEFSET_AUTOMIN, LOI_TYPE_SETTING, (UINT_PTR)SRMSGSET_AUTOMIN, 1, - 0, LPGENT("Close the message window on send"), 0, LOI_TYPE_SETTING, (UINT_PTR)"AutoClose", 1, - 0, LPGENT("Always flash contact list and tray icon for new messages"), 0, LOI_TYPE_SETTING, (UINT_PTR)"flashcl", 0, - 0, LPGENT("Delete temporary contacts on close"), 0, LOI_TYPE_SETTING, (UINT_PTR)"deletetemp", 0, - 0, LPGENT("Enable \"Paste and send\" feature"), 0, LOI_TYPE_SETTING, (UINT_PTR)"pasteandsend", 1, - 0, LPGENT("Allow BBCode formatting in outgoing messages"), 0, LOI_TYPE_SETTING, (UINT_PTR)"sendformat", 1, - 0, LPGENT("Automatically split long messages (experimental, use with care)"), 0, LOI_TYPE_SETTING, (UINT_PTR)"autosplit", 2, - 0, LPGENT("Log status changes"), 0, LOI_TYPE_SETTING, (UINT_PTR)"logstatuschanges", 2, - 0, LPGENT("Automatically copy selected text"), 1, LOI_TYPE_SETTING, (UINT_PTR)"autocopy", 2, - 0, NULL, 0, 0, 0, 0 +TOptionListItem m_lvItemsMsg[] = +{ + { 0, LPGENT("Send on Shift+Enter"), 0, LOI_TYPE_SETTING, (UINT_PTR)"sendonshiftenter", 1 }, + { 0, LPGENT("Send message on 'Enter'"), SRMSGDEFSET_SENDONENTER, LOI_TYPE_SETTING, (UINT_PTR)SRMSGSET_SENDONENTER, 1 }, + { 0, LPGENT("Send message on double 'Enter'"), 0, LOI_TYPE_SETTING, (UINT_PTR)"SendOnDblEnter", 1 }, + { 0, LPGENT("Minimize the message window on send"), SRMSGDEFSET_AUTOMIN, LOI_TYPE_SETTING, (UINT_PTR)SRMSGSET_AUTOMIN, 1 }, + { 0, LPGENT("Close the message window on send"), 0, LOI_TYPE_SETTING, (UINT_PTR)"AutoClose", 1 }, + { 0, LPGENT("Always flash contact list and tray icon for new messages"), 0, LOI_TYPE_SETTING, (UINT_PTR)"flashcl", 0 }, + { 0, LPGENT("Delete temporary contacts on close"), 0, LOI_TYPE_SETTING, (UINT_PTR)"deletetemp", 0 }, + { 0, LPGENT("Enable \"Paste and send\" feature"), 0, LOI_TYPE_SETTING, (UINT_PTR)"pasteandsend", 1 }, + { 0, LPGENT("Allow BBCode formatting in outgoing messages"), 0, LOI_TYPE_SETTING, (UINT_PTR)"sendformat", 1 }, + { 0, LPGENT("Automatically split long messages (experimental, use with care)"), 0, LOI_TYPE_SETTING, (UINT_PTR)"autosplit", 2 }, + { 0, LPGENT("Log status changes"), 0, LOI_TYPE_SETTING, (UINT_PTR)"logstatuschanges", 2 }, + { 0, LPGENT("Automatically copy selected text"), 1, LOI_TYPE_SETTING, (UINT_PTR)"autocopy", 2 }, + { 0, NULL, 0, 0, 0, 0 } }; -TOptionListGroup m_lvGroupsLog[] = { - 0, LPGENT("Message log appearance"), - 0, LPGENT("Support for external plugins"), - 0, LPGENT("Timestamp settings (note: timstamps also depend on your templates)"), - 0, LPGENT("Message log icons"), - 0, NULL +TOptionListGroup m_lvGroupsLog[] = +{ + { 0, LPGENT("Message log appearance") }, + { 0, LPGENT("Support for external plugins") }, + { 0, LPGENT("Timestamp settings (note: timstamps also depend on your templates)") }, + { 0, LPGENT("Message log icons") }, + { 0, NULL } }; -TOptionListItem m_lvItemsLog[] = { - 0, LPGENT("Show timestamps"), 1, LOI_TYPE_FLAG, (UINT_PTR)MWF_LOG_SHOWTIME, 2, - 0, LPGENT("Show dates in timestamps"), 1, LOI_TYPE_FLAG, (UINT_PTR)MWF_LOG_SHOWDATES, 2, - 0, LPGENT("Show seconds in timestamps"), 1, LOI_TYPE_FLAG, (UINT_PTR)MWF_LOG_SHOWSECONDS, 2, - 0, LPGENT("Use contacts local time (if timezone info available)"), 0, LOI_TYPE_FLAG, (UINT_PTR)MWF_LOG_LOCALTIME, 2, - 0, LPGENT("Draw grid lines"), 1, LOI_TYPE_FLAG, MWF_LOG_GRID, 0, - 0, LPGENT("Event type icons in the message log"), 1, LOI_TYPE_FLAG, MWF_LOG_SHOWICONS, 3, - 0, LPGENT("Text symbols as event markers"), 0, LOI_TYPE_FLAG, MWF_LOG_SYMBOLS, 3, - 0, LPGENT("Use Incoming/Outgoing Icons"), 1, LOI_TYPE_FLAG, MWF_LOG_INOUTICONS, 3, - 0, LPGENT("Use Message Grouping"), 1, LOI_TYPE_FLAG, MWF_LOG_GROUPMODE, 0, - 0, LPGENT("Indent message body"), 1, LOI_TYPE_FLAG, MWF_LOG_INDENT, 0, - 0, LPGENT("Simple text formatting (*bold*, etc.)"), 0, LOI_TYPE_FLAG, MWF_LOG_TEXTFORMAT, 0, - 0, LPGENT("Support BBCode formatting"), 1, LOI_TYPE_FLAG, MWF_LOG_BBCODE, 0, - 0, LPGENT("Place a separator in the log after a window lost its foreground status"), 0, LOI_TYPE_SETTING, (UINT_PTR)"usedividers", 0, - 0, LPGENT("Only place a separator when an incoming event is announced with a popup"), 0, LOI_TYPE_SETTING, (UINT_PTR)"div_popupconfig", 0, - 0, LPGENT("RTL is default text direction"), 0, LOI_TYPE_FLAG, MWF_LOG_RTL, 0, - 0, LPGENT("Show events at the new line (IEView Compatibility Mode)"), 1, LOI_TYPE_FLAG, MWF_LOG_NEWLINE, 1, - 0, LPGENT("Underline timestamp/nickname (IEView Compatibility Mode)"), 0, LOI_TYPE_FLAG, MWF_LOG_UNDERLINE, 1, - 0, LPGENT("Show timestamp after nickname (IEView Compatibility Mode)"), 0, LOI_TYPE_FLAG, MWF_LOG_SWAPNICK, 1, - 0, LPGENT("Use normal templates (uncheck to use simple templates if your template set supports them)"), 1, LOI_TYPE_FLAG, MWF_LOG_NORMALTEMPLATES, 0, - 0, NULL, 0, 0, 0, 0 +TOptionListItem m_lvItemsLog[] = +{ + { 0, LPGENT("Show timestamps"), 1, LOI_TYPE_FLAG, (UINT_PTR)MWF_LOG_SHOWTIME, 2 }, + { 0, LPGENT("Show dates in timestamps"), 1, LOI_TYPE_FLAG, (UINT_PTR)MWF_LOG_SHOWDATES, 2 }, + { 0, LPGENT("Show seconds in timestamps"), 1, LOI_TYPE_FLAG, (UINT_PTR)MWF_LOG_SHOWSECONDS, 2 }, + { 0, LPGENT("Use contacts local time (if timezone info available)"), 0, LOI_TYPE_FLAG, (UINT_PTR)MWF_LOG_LOCALTIME, 2 }, + { 0, LPGENT("Draw grid lines"), 1, LOI_TYPE_FLAG, MWF_LOG_GRID, 0 }, + { 0, LPGENT("Event type icons in the message log"), 1, LOI_TYPE_FLAG, MWF_LOG_SHOWICONS, 3 }, + { 0, LPGENT("Text symbols as event markers"), 0, LOI_TYPE_FLAG, MWF_LOG_SYMBOLS, 3 }, + { 0, LPGENT("Use Incoming/Outgoing Icons"), 1, LOI_TYPE_FLAG, MWF_LOG_INOUTICONS, 3 }, + { 0, LPGENT("Use Message Grouping"), 1, LOI_TYPE_FLAG, MWF_LOG_GROUPMODE, 0 }, + { 0, LPGENT("Indent message body"), 1, LOI_TYPE_FLAG, MWF_LOG_INDENT, 0 }, + { 0, LPGENT("Simple text formatting (*bold*, etc.)"), 0, LOI_TYPE_FLAG, MWF_LOG_TEXTFORMAT, 0 }, + { 0, LPGENT("Support BBCode formatting"), 1, LOI_TYPE_FLAG, MWF_LOG_BBCODE, 0 }, + { 0, LPGENT("Place a separator in the log after a window lost its foreground status"), 0, LOI_TYPE_SETTING, (UINT_PTR)"usedividers", 0 }, + { 0, LPGENT("Only place a separator when an incoming event is announced with a popup"), 0, LOI_TYPE_SETTING, (UINT_PTR)"div_popupconfig", 0 }, + { 0, LPGENT("RTL is default text direction"), 0, LOI_TYPE_FLAG, MWF_LOG_RTL, 0 }, + { 0, LPGENT("Show events at the new line (IEView Compatibility Mode)"), 1, LOI_TYPE_FLAG, MWF_LOG_NEWLINE, 1 }, + { 0, LPGENT("Underline timestamp/nickname (IEView Compatibility Mode)"), 0, LOI_TYPE_FLAG, MWF_LOG_UNDERLINE, 1 }, + { 0, LPGENT("Show timestamp after nickname (IEView Compatibility Mode)"), 0, LOI_TYPE_FLAG, MWF_LOG_SWAPNICK, 1 }, + { 0, LPGENT("Use normal templates (uncheck to use simple templates if your template set supports them)"), 1, LOI_TYPE_FLAG, MWF_LOG_NORMALTEMPLATES, 0 }, + { 0, NULL, 0, 0, 0, 0 } }; -TOptionListGroup m_lvGroupsTab[] = { - 0, LPGENT("Tab options"), - 0, LPGENT("How to create tabs and windows for incoming messages"), - 0, LPGENT("Miscellaneous options"), - 0, NULL +TOptionListGroup m_lvGroupsTab[] = +{ + { 0, LPGENT("Tab options") }, + { 0, LPGENT("How to create tabs and windows for incoming messages") }, + { 0, LPGENT("Miscellaneous options") }, + { 0, NULL } }; -TOptionListItem m_lvItemsTab[] = { - 0, LPGENT("Show status text on tabs"), 1, LOI_TYPE_SETTING, (UINT_PTR)"tabstatus", 0, - 0, LPGENT("Prefer xStatus icons when available"), 1, LOI_TYPE_SETTING, (UINT_PTR)"use_xicons", 0, - 0, LPGENT("Detailed tooltip on tabs (requires Tipper plugin)"), 0, LOI_TYPE_SETTING, (UINT_PTR)"d_tooltips", 0, - 0, LPGENT("ALWAYS activate new message sessions (has PRIORITY over the options below)"), SRMSGDEFSET_AUTOPOPUP, LOI_TYPE_SETTING, (UINT_PTR)SRMSGSET_AUTOPOPUP, 1, - 0, LPGENT("Automatically create new message sessions without activating them"), 1, LOI_TYPE_SETTING, (UINT_PTR)"autotabs", 1, - 0, LPGENT("New windows are minimized (the option above MUST be active)"), 1, LOI_TYPE_SETTING, (UINT_PTR)"autocontainer", 1, - 0, LPGENT("Activate a minimized window when a new tab is created inside it"), 0, LOI_TYPE_SETTING, (UINT_PTR)"cpopup", 1, - 0, LPGENT("Automatically switch existing tabs in minimized windows on incoming messages (ignored when using Aero Peek task bar features)"), 1, LOI_TYPE_SETTING, (UINT_PTR)"autoswitchtabs", 1, - 0, LPGENT("Remember and set keyboard layout per contact"), 1, LOI_TYPE_SETTING, (UINT_PTR)"al", 2, - 0, LPGENT("Close button only hides message windows"), 0, LOI_TYPE_SETTING, (UINT_PTR)"hideonclose", 2, - 0, LPGENT("Allow TAB key in typing area (this will disable focus selection by TAB key)"), 0, LOI_TYPE_SETTING, (UINT_PTR)"tabmode", 2, - 0, LPGENT("Add offline contacts to multisend list"),0,LOI_TYPE_SETTING,(UINT_PTR) "AllowOfflineMultisend", 2, - 0, NULL, 0, 0, 0, 0 +TOptionListItem m_lvItemsTab[] = +{ + { 0, LPGENT("Show status text on tabs"), 1, LOI_TYPE_SETTING, (UINT_PTR)"tabstatus", 0 }, + { 0, LPGENT("Prefer xStatus icons when available"), 1, LOI_TYPE_SETTING, (UINT_PTR)"use_xicons", 0 }, + { 0, LPGENT("Detailed tooltip on tabs (requires Tipper plugin)"), 0, LOI_TYPE_SETTING, (UINT_PTR)"d_tooltips", 0 }, + { 0, LPGENT("ALWAYS activate new message sessions (has PRIORITY over the options below)"), SRMSGDEFSET_AUTOPOPUP, LOI_TYPE_SETTING, (UINT_PTR)SRMSGSET_AUTOPOPUP, 1 }, + { 0, LPGENT("Automatically create new message sessions without activating them"), 1, LOI_TYPE_SETTING, (UINT_PTR)"autotabs", 1 }, + { 0, LPGENT("New windows are minimized (the option above MUST be active)"), 1, LOI_TYPE_SETTING, (UINT_PTR)"autocontainer", 1 }, + { 0, LPGENT("Activate a minimized window when a new tab is created inside it"), 0, LOI_TYPE_SETTING, (UINT_PTR)"cpopup", 1 }, + { 0, LPGENT("Automatically switch existing tabs in minimized windows on incoming messages (ignored when using Aero Peek task bar features)"), 1, LOI_TYPE_SETTING, (UINT_PTR)"autoswitchtabs", 1 }, + { 0, LPGENT("Remember and set keyboard layout per contact"), 1, LOI_TYPE_SETTING, (UINT_PTR)"al", 2 }, + { 0, LPGENT("Close button only hides message windows"), 0, LOI_TYPE_SETTING, (UINT_PTR)"hideonclose", 2 }, + { 0, LPGENT("Allow TAB key in typing area (this will disable focus selection by TAB key)"), 0, LOI_TYPE_SETTING, (UINT_PTR)"tabmode", 2 }, + { 0, LPGENT("Add offline contacts to multisend list"), 0, LOI_TYPE_SETTING, (UINT_PTR) "AllowOfflineMultisend", 2 }, + { 0, NULL, 0, 0, 0, 0 } }; - TOptionListItem* CTranslator::getTree(UINT id) { switch(id) { diff --git a/plugins/TabSRMM/src/version.h b/plugins/TabSRMM/src/version.h index ac37b2c636..d728412c26 100644 --- a/plugins/TabSRMM/src/version.h +++ b/plugins/TabSRMM/src/version.h @@ -1,7 +1,7 @@ #define __MAJOR_VERSION 3 #define __MINOR_VERSION 3 #define __RELEASE_NUM 1 -#define __BUILD_NUM 1 +#define __BUILD_NUM 2 #include -- cgit v1.2.3