summaryrefslogtreecommitdiff
path: root/src/mir_app
diff options
context:
space:
mode:
authorGeorge Hazan <ghazan@miranda.im>2021-01-22 22:03:31 +0300
committerGeorge Hazan <ghazan@miranda.im>2021-01-22 22:03:31 +0300
commitfb74b51d6642fcf4c34a5594873eec152cc48b05 (patch)
tree352191019a251691d38eb424cf49a7e076dfd951 /src/mir_app
parentdc907e37f5baf3f590700394d4e779363c0c0a7f (diff)
further clist options optimization
Diffstat (limited to 'src/mir_app')
-rw-r--r--src/mir_app/res/resource.rc8
-rw-r--r--src/mir_app/src/clistopts.cpp8
-rw-r--r--src/mir_app/src/clisttray.cpp6
-rw-r--r--src/mir_app/src/mir_app.def2
-rw-r--r--src/mir_app/src/mir_app64.def2
-rw-r--r--src/mir_app/src/resource.h2
6 files changed, 24 insertions, 4 deletions
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