diff options
author | George Hazan <ghazan@miranda.im> | 2021-01-22 22:03:31 +0300 |
---|---|---|
committer | George Hazan <ghazan@miranda.im> | 2021-01-22 22:03:31 +0300 |
commit | fb74b51d6642fcf4c34a5594873eec152cc48b05 (patch) | |
tree | 352191019a251691d38eb424cf49a7e076dfd951 /src | |
parent | dc907e37f5baf3f590700394d4e779363c0c0a7f (diff) |
further clist options optimization
Diffstat (limited to 'src')
-rw-r--r-- | src/core/stdclist/res/resource.rc | 38 | ||||
-rw-r--r-- | src/core/stdclist/src/clistopts.cpp | 4 | ||||
-rw-r--r-- | src/core/stdclist/src/resource.h | 2 | ||||
-rw-r--r-- | src/mir_app/res/resource.rc | 8 | ||||
-rw-r--r-- | src/mir_app/src/clistopts.cpp | 8 | ||||
-rw-r--r-- | src/mir_app/src/clisttray.cpp | 6 | ||||
-rw-r--r-- | src/mir_app/src/mir_app.def | 2 | ||||
-rw-r--r-- | src/mir_app/src/mir_app64.def | 2 | ||||
-rw-r--r-- | src/mir_app/src/resource.h | 2 |
9 files changed, 41 insertions, 31 deletions
diff --git a/src/core/stdclist/res/resource.rc b/src/core/stdclist/res/resource.rc index 614c54ac26..45f06891dc 100644 --- a/src/core/stdclist/res/resource.rc +++ b/src/core/stdclist/res/resource.rc @@ -40,7 +40,7 @@ BEGIN LTEXT "This will erase all history and settings for this contact!",IDC_STATIC,7,18,239,16
END
-IDD_OPT_CLIST DIALOGEX 0, 0, 314, 219
+IDD_OPT_CLIST DIALOGEX 0, 0, 314, 189
STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD
EXSTYLE WS_EX_CONTROLPARENT
FONT 8, "MS Shell Dlg", 0, 0, 0x1
@@ -48,23 +48,21 @@ BEGIN CONTROL "Sort contacts by name",IDC_SORTBYNAME,"Button",BS_AUTORADIOBUTTON | WS_GROUP,10,14,287,10
CONTROL "Sort contacts by status",IDC_SORTBYSTATUS,"Button",BS_AUTORADIOBUTTON,10,26,287,10
CONTROL "Sort contacts by protocol",IDC_SORTBYPROTO,"Button",BS_AUTORADIOBUTTON,10,38,287,10
- CONTROL "Single click interface",IDC_ONECLK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,10,83,298,10
- CONTROL "Always show status in tooltip",IDC_ALWAYSSTATUS,"Button",BS_AUTOCHECKBOX | BS_TOP | BS_MULTILINE | WS_TABSTOP,10,96,151,11
- CONTROL "Disable icon blinking",IDC_DISABLEBLINK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,10,110,86,9
- EDITTEXT IDC_BLINKTIME,12,123,35,12,ES_NUMBER
- CONTROL "Spin5",IDC_BLINKSPIN,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS | UDS_HOTTRACK,39,123,11,14
- LTEXT "ms delay",IDC_STMSDELAY,52,126,113,8
- CONTROL "Show",IDC_DONTCYCLE,"Button",BS_AUTORADIOBUTTON | WS_GROUP,10,158,90,10
- COMBOBOX IDC_PRIMARYSTATUS,104,157,78,70,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
- LTEXT "icon when statuses differ",IDC_STATIC,189,159,116,8,NOT WS_GROUP
- CONTROL "Cycle icons every",IDC_CYCLE,"Button",BS_AUTORADIOBUTTON,10,175,89,10
- EDITTEXT IDC_CYCLETIME,103,174,30,12,ES_RIGHT | ES_NUMBER
- CONTROL "Spin1",IDC_CYCLETIMESPIN,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS | UDS_HOTTRACK,127,158,10,14
- LTEXT "seconds, when statuses differ",IDC_STATIC,141,176,165,8,NOT WS_GROUP
- CONTROL "Show multiple icons",IDC_MULTITRAY,"Button",BS_AUTORADIOBUTTON,10,192,91,10
- CONTROL "Only when statuses differ",IDC_ALWAYSMULTI,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,108,192,198,10
- GROUPBOX "System tray icon",IDC_STATIC,2,72,310,70
- GROUPBOX "System tray icon when using multiple protocols",IDC_STATIC,2,146,310,66
+ CONTROL "Disable icon blinking",IDC_DISABLEBLINK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,10,86,86,9
+ EDITTEXT IDC_BLINKTIME,12,99,35,12,ES_NUMBER
+ CONTROL "Spin5",IDC_BLINKSPIN,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS | UDS_HOTTRACK,43,99,11,14
+ LTEXT "ms delay",IDC_STMSDELAY,52,102,113,8
+ CONTROL "Show",IDC_DONTCYCLE,"Button",BS_AUTORADIOBUTTON | WS_GROUP,10,133,90,10
+ COMBOBOX IDC_PRIMARYSTATUS,104,132,78,70,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
+ LTEXT "icon when statuses differ",IDC_STATIC,189,134,116,8,NOT WS_GROUP
+ CONTROL "Cycle icons every",IDC_CYCLE,"Button",BS_AUTORADIOBUTTON,10,150,89,10
+ EDITTEXT IDC_CYCLETIME,103,149,30,12,ES_RIGHT | ES_NUMBER
+ CONTROL "Spin1",IDC_CYCLETIMESPIN,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS | UDS_HOTTRACK,127,133,10,14
+ LTEXT "seconds, when statuses differ",IDC_STATIC,141,151,165,8,NOT WS_GROUP
+ CONTROL "Show multiple icons",IDC_MULTITRAY,"Button",BS_AUTORADIOBUTTON,10,167,91,10
+ CONTROL "Only when statuses differ",IDC_ALWAYSMULTI,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,108,167,198,10
+ GROUPBOX "System tray icon",IDC_STATIC,2,72,310,47
+ GROUPBOX "System tray icon when using multiple protocols",IDC_STATIC,2,121,310,61
GROUPBOX "Contact list sorting",IDC_STATIC,2,2,310,68,WS_GROUP
CONTROL "Don't move offline user to bottom",IDC_NOOFFLINEMOVE,
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,10,53,287,10
@@ -230,9 +228,7 @@ BEGIN VERTGUIDE, 2
VERTGUIDE, 308
TOPMARGIN, 2
- BOTTOMMARGIN, 217
- HORZGUIDE, 179
- HORZGUIDE, 196
+ BOTTOMMARGIN, 187
END
IDD_OPT_CLUI, DIALOG
diff --git a/src/core/stdclist/src/clistopts.cpp b/src/core/stdclist/src/clistopts.cpp index 9f7ee3c2b6..fa86e449df 100644 --- a/src/core/stdclist/src/clistopts.cpp +++ b/src/core/stdclist/src/clistopts.cpp @@ -57,8 +57,6 @@ public: sortByStatus.SetState(g_plugin.getByte("SortByStatus", SETTING_SORTBYSTATUS_DEFAULT));
chkOfflineBottom.SetState(g_plugin.getByte("NoOfflineBottom"));
- CheckDlgButton(m_hwnd, IDC_ONECLK, g_plugin.getByte("Tray1Click", SETTING_TRAY1CLICK_DEFAULT));
- CheckDlgButton(m_hwnd, IDC_ALWAYSSTATUS, g_plugin.getByte("AlwaysStatus", SETTING_ALWAYSSTATUS_DEFAULT));
CheckDlgButton(m_hwnd, IDC_ALWAYSMULTI, !g_plugin.getByte("AlwaysMulti", SETTING_ALWAYSMULTI_DEFAULT));
int iTrayIcon = g_plugin.getByte("TrayIcon", SETTING_TRAYICON_DEFAULT);
@@ -92,8 +90,6 @@ public: g_plugin.setByte("SortByStatus", g_bSortByStatus = sortByStatus.GetState());
g_plugin.setByte("SortByProto", g_bSortByProto = sortByProto.GetState());
g_plugin.setByte("NoOfflineBottom", g_bNoOfflineBottom = chkOfflineBottom.GetState());
- g_plugin.setByte("Tray1Click", IsDlgButtonChecked(m_hwnd, IDC_ONECLK));
- g_plugin.setByte("AlwaysStatus", IsDlgButtonChecked(m_hwnd, IDC_ALWAYSSTATUS));
g_plugin.setByte("AlwaysMulti", !IsDlgButtonChecked(m_hwnd, IDC_ALWAYSMULTI));
g_plugin.setByte("TrayIcon", (chkDontCycle.GetState() ? SETTING_TRAYICON_SINGLE : (chkCycle.GetState() ? SETTING_TRAYICON_CYCLE : SETTING_TRAYICON_MULTI)));
g_plugin.setWord("CycleTime", cycleTime.GetPosition());
diff --git a/src/core/stdclist/src/resource.h b/src/core/stdclist/src/resource.h index 76473f5926..6f22f577d9 100644 --- a/src/core/stdclist/src/resource.h +++ b/src/core/stdclist/src/resource.h @@ -18,7 +18,6 @@ #define IDC_SHOWMAINMENU 1075
#define IDC_CLIENTDRAG 1076
#define IDC_TOOLWND 1097
-#define IDC_ONECLK 1098
#define IDC_SHOWCAPTION 1098
#define IDC_SHOWHIDE 1100
#define IDC_SORTBYSTATUS 1101
@@ -26,7 +25,6 @@ #define IDC_READMSG 1102
#define IDC_AUTOSIZE 1102
#define IDC_AUTOSIZEUPWARD 1103
-#define IDC_ALWAYSSTATUS 1103
#define IDC_NETSEARCH 1104
#define IDC_SORTBYPROTO 1105
#define IDC_SHOWOPTIONS 1105
diff --git a/src/mir_app/res/resource.rc b/src/mir_app/res/resource.rc index cd5f6037e3..8a87c31d8d 100644 --- a/src/mir_app/res/resource.rc +++ b/src/mir_app/res/resource.rc @@ -777,7 +777,7 @@ BEGIN EDITTEXT IDC_CREDITSFILE,4,32,202,67,ES_CENTER | ES_MULTILINE | ES_AUTOVSCROLL | ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER | WS_VSCROLL
END
-IDD_OPT_CLIST DIALOGEX 0, 0, 302, 202
+IDD_OPT_CLIST DIALOGEX 0, 0, 302, 214
STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD
EXSTYLE WS_EX_CONTROLPARENT
FONT 8, "MS Shell Dlg", 0, 0, 0x1
@@ -793,6 +793,9 @@ BEGIN CONTROL "Search works as filter",IDC_FILTER_SEARCH,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,89,166,10
CTEXT "'Hide offline' means to hide:",IDC_STATIC,183,14,105,8
CONTROL "",IDC_HIDEOFFLINEOPTS,"SysTreeView32",TVS_DISABLEDRAGDROP | TVS_NOTOOLTIPS | TVS_NONEVENHEIGHT | WS_BORDER | WS_HSCROLL | WS_TABSTOP,183,24,105,104
+ GROUPBOX "Tray",IDC_STATIC,6,135,289,39
+ CONTROL "Single click interface",IDC_ONECLK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,145,276,10
+ CONTROL "Always show status in tooltip",IDC_ALWAYSSTATUS,"Button",BS_AUTOCHECKBOX | BS_TOP | BS_MULTILINE | WS_TABSTOP,14,159,276,11
END
IDD_OPT_CHAT_EVENTS DIALOGEX 0, 0, 306, 201
@@ -952,6 +955,7 @@ BEGIN PUSHBUTTON "Set password",IDC_USERPASS1,200,153,111,17
END
+
/////////////////////////////////////////////////////////////////////////////
//
// DESIGNINFO
@@ -1181,6 +1185,7 @@ BEGIN IDD_OPT_CLIST, DIALOG
BEGIN
+ BOTTOMMARGIN, 165
END
IDD_OPT_CHAT_EVENTS, DIALOG
@@ -1402,6 +1407,7 @@ IDI_SOUND ICON "sound.ico" IDI_DATABASE ICON "database.ico"
+
/////////////////////////////////////////////////////////////////////////////
//
// Cursor
diff --git a/src/mir_app/src/clistopts.cpp b/src/mir_app/src/clistopts.cpp index d4ae7a8293..e69ee22f05 100644 --- a/src/mir_app/src/clistopts.cpp +++ b/src/mir_app/src/clistopts.cpp @@ -34,6 +34,9 @@ CMOption<bool> Clist::HideEmptyGroups(MODULENAME, "HideEmptyGroups", false); CMOption<bool> Clist::DisableIconBlink(MODULENAME, "NoIconBlink", false); CMOption<bool> Clist::RemoveTempContacts(MODULENAME, "RemoveTempContacts", true); +CMOption<bool> Clist::Tray1Click(MODULENAME, "Tray1Click", IsWinVer7Plus()); +CMOption<bool> Clist::TrayAlwaysStatus(MODULENAME, "AlwaysStatus", false); + CMOption<bool> Clist::FilterSearch("CLC", "FilterSearch", false); CMOption<DWORD> Clist::OfflineModes("CLC", "OfflineModes", MODEF_OFFLINE); @@ -59,23 +62,28 @@ static const offlineValues[] = class ClistCommonOptsDlg : public CDlgBase { CCtrlCheck chkUseGroups, chkHideOffline, chkConfirmDelete, chkHideEmptyGroups, chkRemoveTempContacts, chkDisableIconBlink, chkFilterSearch; + CCtrlCheck chkAlwaysStatus, chkOneClick; CCtrlTreeView hideStatuses; public: ClistCommonOptsDlg() : CDlgBase(g_plugin, IDD_OPT_CLIST), hideStatuses(this, IDC_HIDEOFFLINEOPTS), + chkOneClick(this, IDC_ONECLK), chkUseGroups(this, IDC_USEGROUPS), chkHideOffline(this, IDC_HIDEOFFLINE), chkFilterSearch(this, IDC_FILTER_SEARCH), + chkAlwaysStatus(this, IDC_ALWAYSSTATUS), chkConfirmDelete(this, IDC_CONFIRMDELETE), chkHideEmptyGroups(this, IDC_HIDEEMPTYGROUPS), chkDisableIconBlink(this, IDC_DISABLEICONBLINK), chkRemoveTempContacts(this, IDC_REMOVETEMP) { + CreateLink(chkOneClick, Clist::Tray1Click); CreateLink(chkUseGroups, Clist::UseGroups); CreateLink(chkHideOffline, Clist::HideOffline); CreateLink(chkFilterSearch, Clist::FilterSearch); + CreateLink(chkAlwaysStatus, Clist::TrayAlwaysStatus); CreateLink(chkConfirmDelete, Clist::ConfirmDelete); CreateLink(chkHideEmptyGroups, Clist::HideEmptyGroups); CreateLink(chkDisableIconBlink, Clist::DisableIconBlink); diff --git a/src/mir_app/src/clisttray.cpp b/src/mir_app/src/clisttray.cpp index 1543ea515e..814d3e1fe7 100644 --- a/src/mir_app/src/clisttray.cpp +++ b/src/mir_app/src/clisttray.cpp @@ -83,7 +83,7 @@ MIR_APP_DLL(wchar_t*) Clist_TrayIconMakeTooltip(const wchar_t *szPrefix, const c CMStringW tszTip;
if (szPrefix && szPrefix[0]) {
- if (!db_get_b(0, "CList", "AlwaysStatus", SETTING_ALWAYSSTATUS_DEFAULT)) {
+ if (!Clist::TrayAlwaysStatus) {
wcsncpy_s(g_clistApi.szTip, MAX_TIP_SIZE, szPrefix, _TRUNCATE);
return g_clistApi.szTip;
}
@@ -126,7 +126,7 @@ MIR_APP_DLL(wchar_t*) Clist_TrayIconMakeTooltip(const wchar_t *szPrefix, const c ptrW ProtoXStatus(sttGetXStatus(szProto));
wchar_t *szStatus = Clist_GetStatusModeDescription(pa->iRealStatus, 0);
if (szPrefix && szPrefix[0]) {
- if (db_get_b(0, "CList", "AlwaysStatus", SETTING_ALWAYSSTATUS_DEFAULT)) {
+ if (Clist::TrayAlwaysStatus) {
if (hasTips()) {
if (ProtoXStatus != nullptr)
mir_snwprintf(g_clistApi.szTip, MAX_TIP_SIZE, L"%s%s<b>%-12.12s</b>\t%s%s%-24.24s", szPrefix, szSeparator, pa->tszAccountName, szStatus, szSeparator, ProtoXStatus.get());
@@ -676,7 +676,7 @@ INT_PTR fnTrayIconProcessMessage(WPARAM wParam, LPARAM lParam) if (msg->lParam == WM_MBUTTONUP)
g_clistApi.pfnShowHide();
- else if (msg->lParam == (db_get_b(0, "CList", "Tray1Click", SETTING_TRAY1CLICK_DEFAULT) ? WM_LBUTTONUP : WM_LBUTTONDBLCLK)) {
+ else if (msg->lParam == (Clist::Tray1Click ? WM_LBUTTONUP : WM_LBUTTONDBLCLK)) {
if ((GetAsyncKeyState(VK_CONTROL) & 0x8000)) {
POINT pt;
HMENU hMenu = Menu_GetStatusMenu();
diff --git a/src/mir_app/src/mir_app.def b/src/mir_app/src/mir_app.def index 25c60a0135..58619f5392 100644 --- a/src/mir_app/src/mir_app.def +++ b/src/mir_app/src/mir_app.def @@ -769,3 +769,5 @@ _Netlib_GetTlsUnique@8 @831 NONAME ?usesPassword@MDatabaseCommon@@QBE_NXZ @857 NONAME
?SetPassword@MDatabaseCommon@@QAEXPB_W@Z @858 NONAME
?EnableEncryption@MDatabaseReadonly@@UAGHH@Z @859 NONAME
+?Tray1Click@Clist@@3V?$CMOption@_N@@A @860 NONAME
+?TrayAlwaysStatus@Clist@@3V?$CMOption@_N@@A @861 NONAME
diff --git a/src/mir_app/src/mir_app64.def b/src/mir_app/src/mir_app64.def index f347c13879..0b45f3ea01 100644 --- a/src/mir_app/src/mir_app64.def +++ b/src/mir_app/src/mir_app64.def @@ -769,3 +769,5 @@ Netlib_GetTlsUnique @831 NONAME ?usesPassword@MDatabaseCommon@@QEBA_NXZ @857 NONAME
?SetPassword@MDatabaseCommon@@QEAAXPEB_W@Z @858 NONAME
?EnableEncryption@MDatabaseReadonly@@UEAAHH@Z @859 NONAME
+?Tray1Click@Clist@@3V?$CMOption@_N@@A @860 NONAME
+?TrayAlwaysStatus@Clist@@3V?$CMOption@_N@@A @861 NONAME
diff --git a/src/mir_app/src/resource.h b/src/mir_app/src/resource.h index 8eb66e8175..776a7ee737 100644 --- a/src/mir_app/src/resource.h +++ b/src/mir_app/src/resource.h @@ -244,6 +244,7 @@ #define IDC_BBRESET 1052
#define IDC_NICK 1053
#define IDC_BTN_EXPORT 1054
+#define IDC_ALWAYSSTATUS 1055
#define IDC_FONTLIST 1056
#define IDC_CHOOSEFONT 1057
#define IDC_EFFECT 1058
@@ -306,6 +307,7 @@ #define IDC_SPIN1 1103
#define IDC_SEPARATOR 1104
#define IDC_EDIT1 1105
+#define IDC_ONECLK 1106
#define IDC_BUILDTIME 1108
#define IDC_CREDITSFILE 1109
#define IDC_SELECTCRYPT_COMBO 1110
|