summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/m_clistint.h3
-rw-r--r--plugins/Clist_blind/res/resource.rc4
-rw-r--r--plugins/Clist_modern/res/resource.rc28
-rw-r--r--plugins/Clist_modern/src/modern_clistopts.cpp2
-rw-r--r--plugins/Clist_modern/src/modern_defsettings.h1
-rw-r--r--plugins/Clist_modern/src/resource.h1
-rw-r--r--plugins/Clist_nicer/res/resource.rc49
-rw-r--r--plugins/Clist_nicer/src/clistopts.cpp2
-rw-r--r--plugins/Clist_nicer/src/resource.h1
-rw-r--r--src/core/stdclist/res/resource.rc42
-rw-r--r--src/core/stdclist/src/clistopts.cpp233
-rw-r--r--src/core/stdclist/src/resource.h1
-rw-r--r--src/mir_app/res/resource.rc10
-rw-r--r--src/mir_app/src/clc.h5
-rw-r--r--src/mir_app/src/clistevents.cpp2
-rw-r--r--src/mir_app/src/clistopts.cpp7
-rw-r--r--src/mir_app/src/resource.h1
17 files changed, 187 insertions, 205 deletions
diff --git a/include/m_clistint.h b/include/m_clistint.h
index 7135d8eebe..1e704e209d 100644
--- a/include/m_clistint.h
+++ b/include/m_clistint.h
@@ -449,8 +449,7 @@ namespace Clist
HideOffline,
UseGroups,
HideEmptyGroups,
- ConfirmDelete,
- RemoveTempContacts;
+ ConfirmDelete;
};
#endif // M_CLISTINT_H__
diff --git a/plugins/Clist_blind/res/resource.rc b/plugins/Clist_blind/res/resource.rc
index a0bd8c9d68..1829012b75 100644
--- a/plugins/Clist_blind/res/resource.rc
+++ b/plugins/Clist_blind/res/resource.rc
@@ -71,7 +71,8 @@ BEGIN
CONTROL "Always show status in tooltip",IDC_ALWAYSSTATUS,"Button",BS_AUTOCHECKBOX | BS_TOP | BS_MULTILINE | WS_TABSTOP,10,81,274,11
CONTROL "Disable icon blinking",IDC_DISABLEBLINK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,10,95,86,9
EDITTEXT IDC_BLINKTIME,11,109,35,12,ES_NUMBER
- LTEXT "ms delay",IDC_STMSDELAY,192,110,113,8
+ CONTROL "Spin5",IDC_BLINKSPIN,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS | UDS_HOTTRACK,35,110,11,8
+ LTEXT "ms delay",IDC_STMSDELAY,51,110,113,8
CONTROL "Show",IDC_DONTCYCLE,"Button",BS_AUTORADIOBUTTON | WS_GROUP,10,143,97,10
COMBOBOX IDC_PRIMARYSTATUS,107,142,78,70,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
LTEXT "icon when statuses differ",IDC_STATIC,189,144,116,8,NOT WS_GROUP
@@ -84,7 +85,6 @@ BEGIN
GROUPBOX "System tray icon",IDC_STATIC,2,57,310,70
GROUPBOX "System tray icon when using multiple protocols",IDC_STATIC,2,131,310,66
GROUPBOX "Contact list sorting",IDC_STATIC,2,2,310,54,WS_GROUP
- CONTROL "Spin5",IDC_BLINKSPIN,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_ARROWKEYS | UDS_NOTHOUSANDS | UDS_HOTTRACK,173,97,11,21
END
IDD_OPT_CLUI DIALOGEX 0, 0, 313, 245
diff --git a/plugins/Clist_modern/res/resource.rc b/plugins/Clist_modern/res/resource.rc
index bbb59d7968..038d21db4a 100644
--- a/plugins/Clist_modern/res/resource.rc
+++ b/plugins/Clist_modern/res/resource.rc
@@ -608,17 +608,16 @@ BEGIN
CONTROL "Hide icon when showing avatar",IDC_HIDE_ICON_ON_AVATAR,
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,24,246,8
CONTROL "Ignore size for row height calcs",IDC_NOTCHECKICONSIZE,
- "Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,61,246,8
+ "Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,50,246,8
CONTROL "Draw icon in avatar space",IDC_DRAW_ON_AVATAR_SPACE,
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,19,36,234,8
- CONTROL "Disable icon blinking",IDC_ICONBLINK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,47,246,10
- CONTROL "Hide groups icon",IDC_HIDE_GROUPSICON,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,75,127,8
+ CONTROL "Hide groups icon",IDC_HIDE_GROUPSICON,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,64,127,8
CONTROL "Always show ""Always visible"" icon",IDC_ALWAYS_VISIBLEICON,
- "Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,88,127,8
+ "Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,77,127,8
CONTROL "Use extra status icon instead protocol",IDC_USEXSTATUS,
- "Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,101,236,8
+ "Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,90,236,8
CONTROL "Draw normal status as overlay",IDC_DRAWSTATUSOVERLAY,
- "Button",BS_AUTOCHECKBOX | WS_TABSTOP,21,114,222,8
+ "Button",BS_AUTOCHECKBOX | WS_TABSTOP,21,103,222,8
END
IDD_OPT_ITEM_TEXT DIALOGEX 0, 0, 260, 160
@@ -833,6 +832,18 @@ BEGIN
VERTGUIDE, 268
VERTGUIDE, 276
END
+
+ IDD_OPT_CLC, DIALOG
+ BEGIN
+ END
+
+ IDD_OPT_CLUI, DIALOG
+ BEGIN
+ END
+
+ IDD_OPT_ITEM_ICON, DIALOG
+ BEGIN
+ END
END
#endif // APSTUDIO_INVOKED
@@ -852,6 +863,11 @@ BEGIN
0
END
+IDD_OPT_ITEM_ICON AFX_DIALOG_LAYOUT
+BEGIN
+ 0
+END
+
#endif // Russian (Russia) resources
/////////////////////////////////////////////////////////////////////////////
diff --git a/plugins/Clist_modern/src/modern_clistopts.cpp b/plugins/Clist_modern/src/modern_clistopts.cpp
index 3332536da5..7641099828 100644
--- a/plugins/Clist_modern/src/modern_clistopts.cpp
+++ b/plugins/Clist_modern/src/modern_clistopts.cpp
@@ -415,7 +415,6 @@ static INT_PTR CALLBACK DlgProcItemIconOpts(HWND hwndDlg, UINT msg, WPARAM wPara
TranslateDialogDefault(hwndDlg);
CheckDlgButton(hwndDlg, IDC_HIDE_ICON_ON_AVATAR, g_plugin.getByte("IconHideOnAvatar", SETTING_HIDEICONONAVATAR_DEFAULT) == 1);
CheckDlgButton(hwndDlg, IDC_DRAW_ON_AVATAR_SPACE, g_plugin.getByte("IconDrawOnAvatarSpace", SETTING_ICONONAVATARPLACE_DEFAULT) == 1);
- CheckDlgButton(hwndDlg, IDC_ICONBLINK, g_plugin.getByte("NoIconBlink", SETTING_NOICONBLINF_DEFAULT) == 1);
CheckDlgButton(hwndDlg, IDC_HIDE_GROUPSICON, g_plugin.getByte("HideGroupsIcon", SETTING_HIDEGROUPSICON_DEFAULT) == 1);
CheckDlgButton(hwndDlg, IDC_NOTCHECKICONSIZE, g_plugin.getByte("IconIgnoreSizeForRownHeight", SETTING_ICONIGNORESIZE_DEFAULT) == 1);
CheckDlgButton(hwndDlg, IDC_ALWAYS_VISIBLEICON, g_plugin.getByte("AlwaysShowAlwaysVisIcon", SETTING_ALWAYSVISICON_DEFAULT) == 1);
@@ -448,7 +447,6 @@ static INT_PTR CALLBACK DlgProcItemIconOpts(HWND hwndDlg, UINT msg, WPARAM wPara
g_plugin.setByte("IconHideOnAvatar", (BYTE)IsDlgButtonChecked(hwndDlg, IDC_HIDE_ICON_ON_AVATAR));
g_plugin.setByte("IconDrawOnAvatarSpace", (BYTE)IsDlgButtonChecked(hwndDlg, IDC_DRAW_ON_AVATAR_SPACE));
g_plugin.setByte("HideGroupsIcon", (BYTE)IsDlgButtonChecked(hwndDlg, IDC_HIDE_GROUPSICON));
- g_plugin.setByte("NoIconBlink", (BYTE)IsDlgButtonChecked(hwndDlg, IDC_ICONBLINK));
g_plugin.setByte("IconIgnoreSizeForRownHeight", (BYTE)IsDlgButtonChecked(hwndDlg, IDC_NOTCHECKICONSIZE));
g_plugin.setByte("AlwaysShowAlwaysVisIcon", (BYTE)IsDlgButtonChecked(hwndDlg, IDC_ALWAYS_VISIBLEICON));
{
diff --git a/plugins/Clist_modern/src/modern_defsettings.h b/plugins/Clist_modern/src/modern_defsettings.h
index 979baa5aee..72d9a87bea 100644
--- a/plugins/Clist_modern/src/modern_defsettings.h
+++ b/plugins/Clist_modern/src/modern_defsettings.h
@@ -41,7 +41,6 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#define SETTING_WINDOWSHADOW_DEFAULT 0
#define SETTING_ONDESKTOP_DEFAULT 0
#define SETTING_DISABLEWORKINGSET_DEFAULT 1
-#define SETTING_NOICONBLINF_DEFAULT 0
#define SETTING_ALWAYSVISICON_DEFAULT 0
#define SETTING_SHOWMAINMENU_DEFAULT 1
diff --git a/plugins/Clist_modern/src/resource.h b/plugins/Clist_modern/src/resource.h
index 527d5a1309..3351ae4ae6 100644
--- a/plugins/Clist_modern/src/resource.h
+++ b/plugins/Clist_modern/src/resource.h
@@ -434,7 +434,6 @@
#define IDC_CLSORT1 6666
#define IDC_CLSORT2 6667
#define IDC_CLSORT3 6668
-#define IDC_ICONBLINK 11720
#define IDC_SHOW_AVATARS 11721
#define IDC_SHOW_ANIAVATARS 11722
#define IDC_HIDE_ICON_ON_AVATAR 11723
diff --git a/plugins/Clist_nicer/res/resource.rc b/plugins/Clist_nicer/res/resource.rc
index b9b57d1b32..e28a325ac4 100644
--- a/plugins/Clist_nicer/res/resource.rc
+++ b/plugins/Clist_nicer/res/resource.rc
@@ -53,41 +53,40 @@ 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, 305, 209
+IDD_OPT_CLIST DIALOGEX 0, 0, 305, 193
STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD
EXSTYLE WS_EX_CONTROLPARENT
FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN
- GROUPBOX "Contact list",IDC_STCLISTGROUP,1,0,301,67
- CONTROL "Disable icon blinking",IDC_ICONBLINK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,10,38,147,10
+ GROUPBOX "Contact list",IDC_STCLISTGROUP,1,0,301,53
CONTROL "Apply last active view mode",IDC_APPLYLASTVIEWMODE,
- "Button",BS_AUTOCHECKBOX | WS_TABSTOP,10,51,147,10
+ "Button",BS_AUTOCHECKBOX | WS_TABSTOP,10,38,147,10
CONTROL "Show menu and status buttons",IDC_SHOWBOTTOMBUTTONS,
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,10,12,121,10
CONTROL "Draw sunken edge",IDC_CLISTSUNKEN,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,10,25,121,10
- GROUPBOX "System tray icon",IDC_STATIC,1,69,163,63
- CONTROL "Single click interface",IDC_ONECLK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,10,79,147,10
- CONTROL "Always show status in tooltip",IDC_ALWAYSSTATUS,"Button",BS_AUTOCHECKBOX | BS_TOP | BS_MULTILINE | WS_TABSTOP,10,91,147,10
- CONTROL "Disable icon blinking",IDC_DISABLEBLINK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,10,103,147,10
- EDITTEXT IDC_BLINKTIME,69,114,57,12,ES_RIGHT | ES_NUMBER
- CONTROL "Spin5",IDC_BLINKSPIN,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS | UDS_HOTTRACK,119,113,11,16
- LTEXT "ms",IDC_STATIC,131,116,24,8
- GROUPBOX "Event area",IDC_STATIC,169,69,133,63
- LTEXT "Set base visibility on the frames menu",IDC_STATIC,176,80,121,20
- CONTROL "Auto mode",IDC_EVENTAREAAUTOHIDE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,176,103,121,10
- CONTROL "Draw sunken edge",IDC_EVENTAREASUNKEN,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,176,116,121,10
- GROUPBOX "System tray icon when using multiple protocols",IDC_STATIC,1,135,302,71
- CONTROL "Show",IDC_DONTCYCLE,"Button",BS_AUTORADIOBUTTON | WS_GROUP,10,147,92,10
- COMBOBOX IDC_PRIMARYSTATUS,107,146,78,70,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
- LTEXT "icon when statuses differ",IDC_STATIC,189,148,113,8,NOT WS_GROUP
- CONTROL "Cycle icons every",IDC_CYCLE,"Button",BS_AUTORADIOBUTTON,10,161,92,10
- EDITTEXT IDC_CYCLETIME,107,161,30,12,ES_RIGHT | ES_NUMBER
+ GROUPBOX "System tray icon",IDC_STATIC,1,54,163,63
+ CONTROL "Single click interface",IDC_ONECLK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,10,64,147,10
+ CONTROL "Always show status in tooltip",IDC_ALWAYSSTATUS,"Button",BS_AUTOCHECKBOX | BS_TOP | BS_MULTILINE | WS_TABSTOP,10,76,147,10
+ CONTROL "Disable icon blinking",IDC_DISABLEBLINK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,10,88,147,10
+ EDITTEXT IDC_BLINKTIME,69,99,57,12,ES_RIGHT | ES_NUMBER
+ CONTROL "Spin5",IDC_BLINKSPIN,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS | UDS_HOTTRACK,116,97,11,16
+ LTEXT "ms",IDC_STATIC,131,101,24,8
+ GROUPBOX "Event area",IDC_STATIC,169,54,133,63
+ LTEXT "Set base visibility on the frames menu",IDC_STATIC,176,65,121,20
+ CONTROL "Auto mode",IDC_EVENTAREAAUTOHIDE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,176,88,121,10
+ CONTROL "Draw sunken edge",IDC_EVENTAREASUNKEN,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,176,101,121,10
+ GROUPBOX "System tray icon when using multiple protocols",IDC_STATIC,1,118,302,71
+ CONTROL "Show",IDC_DONTCYCLE,"Button",BS_AUTORADIOBUTTON | WS_GROUP,10,130,92,10
+ COMBOBOX IDC_PRIMARYSTATUS,107,129,78,70,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
+ LTEXT "icon when statuses differ",IDC_STATIC,189,131,113,8,NOT WS_GROUP
+ CONTROL "Cycle icons every",IDC_CYCLE,"Button",BS_AUTORADIOBUTTON,10,144,92,10
+ EDITTEXT IDC_CYCLETIME,107,144,30,12,ES_RIGHT | ES_NUMBER
CONTROL "Spin1",IDC_CYCLETIMESPIN,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS | UDS_HOTTRACK,128,162,11,14
- LTEXT "seconds, when statuses differ",IDC_STATIC,140,163,155,8,NOT WS_GROUP
- CONTROL "Show multiple icons",IDC_MULTITRAY,"Button",BS_AUTORADIOBUTTON,10,175,92,10
- CONTROL "Only when statuses differ",IDC_ALWAYSMULTI,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,107,175,186,10
+ LTEXT "seconds, when statuses differ",IDC_STATIC,140,146,155,8,NOT WS_GROUP
+ CONTROL "Show multiple icons",IDC_MULTITRAY,"Button",BS_AUTORADIOBUTTON,10,158,92,10
+ CONTROL "Only when statuses differ",IDC_ALWAYSMULTI,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,107,158,186,10
CONTROL "Do not show system tray icon tooltips on mouse over",IDC_NOTRAYINFOTIPS,
- "Button",BS_AUTOCHECKBOX | WS_TABSTOP,10,189,284,12
+ "Button",BS_AUTOCHECKBOX | WS_TABSTOP,10,172,284,12
END
IDD_OPT_DSPGROUPS DIALOGEX 0, 0, 305, 205
diff --git a/plugins/Clist_nicer/src/clistopts.cpp b/plugins/Clist_nicer/src/clistopts.cpp
index 9aefd129fe..03fe6d51ee 100644
--- a/plugins/Clist_nicer/src/clistopts.cpp
+++ b/plugins/Clist_nicer/src/clistopts.cpp
@@ -48,7 +48,6 @@ INT_PTR CALLBACK DlgProcGenOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lP
CheckDlgButton(hwndDlg, IDC_CYCLE, g_plugin.getByte("TrayIcon", SETTING_TRAYICON_DEFAULT) == SETTING_TRAYICON_CYCLE ? BST_CHECKED : BST_UNCHECKED);
CheckDlgButton(hwndDlg, IDC_MULTITRAY, g_plugin.getByte("TrayIcon", SETTING_TRAYICON_DEFAULT) == SETTING_TRAYICON_MULTI ? BST_CHECKED : BST_UNCHECKED);
CheckDlgButton(hwndDlg, IDC_DISABLEBLINK, g_plugin.getByte("DisableTrayFlash", 0) == 1 ? BST_CHECKED : BST_UNCHECKED);
- CheckDlgButton(hwndDlg, IDC_ICONBLINK, g_plugin.getByte("NoIconBlink", 0) == 1 ? BST_CHECKED : BST_UNCHECKED);
if (IsDlgButtonChecked(hwndDlg, IDC_DONTCYCLE)) {
Utils::enableDlgControl(hwndDlg, IDC_CYCLETIMESPIN, FALSE);
Utils::enableDlgControl(hwndDlg, IDC_CYCLETIME, FALSE);
@@ -124,7 +123,6 @@ INT_PTR CALLBACK DlgProcGenOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lP
g_plugin.setWord("CycleTime", (WORD)SendDlgItemMessage(hwndDlg, IDC_CYCLETIMESPIN, UDM_GETPOS, 0, 0));
g_plugin.setWord("IconFlashTime", (WORD)SendDlgItemMessage(hwndDlg, IDC_BLINKSPIN, UDM_GETPOS, 0, 0));
g_plugin.setByte("DisableTrayFlash", (BYTE)IsDlgButtonChecked(hwndDlg, IDC_DISABLEBLINK));
- g_plugin.setByte("NoIconBlink", (BYTE)IsDlgButtonChecked(hwndDlg, IDC_ICONBLINK));
g_plugin.setByte("AutoApplyLastViewMode", (BYTE)IsDlgButtonChecked(hwndDlg, IDC_APPLYLASTVIEWMODE));
__setFlag(CLUI_FRAME_EVENTAREASUNKEN, IsDlgButtonChecked(hwndDlg, IDC_EVENTAREASUNKEN));
diff --git a/plugins/Clist_nicer/src/resource.h b/plugins/Clist_nicer/src/resource.h
index ab925ce8cd..caa128069a 100644
--- a/plugins/Clist_nicer/src/resource.h
+++ b/plugins/Clist_nicer/src/resource.h
@@ -201,7 +201,6 @@
#define IDC_DSP_LOADDEFAULT 1636
#define IDC_ONDESKTOP 1657
#define IDC_WINCOLOUR 1659
-#define IDC_ICONBLINK 1660
#define IDC_APPLYLASTVIEWMODE 1661
#define IDC_IGNORESELFORGROUPS 1722
#define IDC_CLISTAVATARS 1729
diff --git a/src/core/stdclist/res/resource.rc b/src/core/stdclist/res/resource.rc
index c20cb6bfb6..e2db018eeb 100644
--- a/src/core/stdclist/res/resource.rc
+++ b/src/core/stdclist/res/resource.rc
@@ -9,7 +9,6 @@
//
#include <windows.h>
#include <winres.h>
-#include <statusmodes.h>
/////////////////////////////////////////////////////////////////////////////
#undef APSTUDIO_READONLY_SYMBOLS
@@ -46,29 +45,27 @@ STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD
EXSTYLE WS_EX_CONTROLPARENT
FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN
- CONTROL "Sort contacts by name",IDC_SORTBYNAME,"Button",BS_AUTORADIOBUTTON | WS_GROUP,153,14,144,10
- CONTROL "Sort contacts by status",IDC_SORTBYSTATUS,"Button",BS_AUTORADIOBUTTON,153,26,149,10
- CONTROL "Sort contacts by protocol",IDC_SORTBYPROTO,"Button",BS_AUTORADIOBUTTON,153,38,151,10
- CONTROL "Single click interface",IDC_ONECLK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,152,68,150,10
- CONTROL "Always show status in tooltip",IDC_ALWAYSSTATUS,"Button",BS_AUTOCHECKBOX | BS_TOP | BS_MULTILINE | WS_TABSTOP,152,81,151,11
- CONTROL "Disable icon blinking",IDC_DISABLEBLINK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,152,95,86,9
- EDITTEXT IDC_BLINKTIME,153,109,35,12,ES_NUMBER
- LTEXT "ms delay",IDC_STMSDELAY,192,110,113,8
- CONTROL "Show",IDC_DONTCYCLE,"Button",BS_AUTORADIOBUTTON | WS_GROUP,10,143,97,10
- COMBOBOX IDC_PRIMARYSTATUS,107,142,78,70,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
+ 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,68,298,10
+ CONTROL "Always show status in tooltip",IDC_ALWAYSSTATUS,"Button",BS_AUTOCHECKBOX | BS_TOP | BS_MULTILINE | WS_TABSTOP,10,81,151,11
+ CONTROL "Disable icon blinking",IDC_DISABLEBLINK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,10,95,86,9
+ EDITTEXT IDC_BLINKTIME,12,108,35,12,ES_NUMBER
+ CONTROL "Spin5",IDC_BLINKSPIN,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS | UDS_HOTTRACK,39,107,11,14
+ LTEXT "ms delay",IDC_STMSDELAY,52,111,113,8
+ CONTROL "Show",IDC_DONTCYCLE,"Button",BS_AUTORADIOBUTTON | WS_GROUP,10,143,90,10
+ COMBOBOX IDC_PRIMARYSTATUS,104,142,78,70,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
LTEXT "icon when statuses differ",IDC_STATIC,189,144,116,8,NOT WS_GROUP
- CONTROL "Cycle icons every",IDC_CYCLE,"Button",BS_AUTORADIOBUTTON,10,160,97,10
- EDITTEXT IDC_CYCLETIME,107,159,30,12,ES_RIGHT | ES_NUMBER
+ CONTROL "Cycle icons every",IDC_CYCLE,"Button",BS_AUTORADIOBUTTON,10,160,89,10
+ EDITTEXT IDC_CYCLETIME,103,159,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,140,161,165,8,NOT WS_GROUP
- CONTROL "Show multiple icons",IDC_MULTITRAY,"Button",BS_AUTORADIOBUTTON,10,177,98,10
+ LTEXT "seconds, when statuses differ",IDC_STATIC,141,161,165,8,NOT WS_GROUP
+ CONTROL "Show multiple icons",IDC_MULTITRAY,"Button",BS_AUTORADIOBUTTON,10,177,91,10
CONTROL "Only when statuses differ",IDC_ALWAYSMULTI,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,108,177,198,10
- GROUPBOX "Contact list",IDC_STCLISTGROUP,2,2,135,126
- GROUPBOX "System tray icon",IDC_STATIC,143,57,169,70
+ GROUPBOX "System tray icon",IDC_STATIC,2,57,310,70
GROUPBOX "System tray icon when using multiple protocols",IDC_STATIC,2,131,310,66
- GROUPBOX "Contact list sorting",IDC_STATIC,143,2,169,54,WS_GROUP
- CONTROL "Spin5",IDC_BLINKSPIN,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_ARROWKEYS | UDS_NOTHOUSANDS | UDS_HOTTRACK,173,97,11,21
- CONTROL "Disable icon blinking",IDC_ICONBLINK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,10,15,97,10
+ GROUPBOX "Contact list sorting",IDC_STATIC,2,2,310,54,WS_GROUP
END
IDD_OPT_CLUI DIALOGEX 0, 0, 313, 245
@@ -230,8 +227,8 @@ BEGIN
BEGIN
LEFTMARGIN, 2
RIGHTMARGIN, 312
- VERTGUIDE, 10
- VERTGUIDE, 107
+ VERTGUIDE, 2
+ VERTGUIDE, 308
TOPMARGIN, 2
BOTTOMMARGIN, 202
HORZGUIDE, 179
@@ -319,7 +316,6 @@ END
BEGIN
"#include <windows.h>\r\n"
"#include <winres.h>\r\n"
- "#include <statusmodes.h>\r\n"
"\0"
END
diff --git a/src/core/stdclist/src/clistopts.cpp b/src/core/stdclist/src/clistopts.cpp
index 12b21edb8a..f0cd516923 100644
--- a/src/core/stdclist/src/clistopts.cpp
+++ b/src/core/stdclist/src/clistopts.cpp
@@ -24,139 +24,109 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#include "stdafx.h"
-static INT_PTR CALLBACK DlgProcGenOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam)
+class ClistOptsDlg : public CDlgBase
{
- switch (msg) {
- case WM_INITDIALOG:
- TranslateDialogDefault(hwndDlg);
- SetWindowLongPtr(hwndDlg, GWLP_USERDATA, (LONG_PTR)HookEventMessage(ME_DB_CONTACT_SETTINGCHANGED, hwndDlg, WM_USER + 1));
- CheckDlgButton(hwndDlg, IDC_SORTBYNAME, !g_plugin.getByte("SortByStatus", SETTING_SORTBYSTATUS_DEFAULT)
- && !g_plugin.getByte("SortByProto", SETTING_SORTBYPROTO_DEFAULT) ? BST_CHECKED : BST_UNCHECKED);
- CheckDlgButton(hwndDlg, IDC_SORTBYSTATUS,
- g_plugin.getByte("SortByStatus", SETTING_SORTBYSTATUS_DEFAULT) ? BST_CHECKED : BST_UNCHECKED);
- CheckDlgButton(hwndDlg, IDC_SORTBYPROTO,
- g_plugin.getByte("SortByProto", SETTING_SORTBYPROTO_DEFAULT) ? BST_CHECKED : BST_UNCHECKED);
-
- CheckDlgButton(hwndDlg, IDC_ONECLK,
- g_plugin.getByte("Tray1Click", SETTING_TRAY1CLICK_DEFAULT) ? BST_CHECKED : BST_UNCHECKED);
- CheckDlgButton(hwndDlg, IDC_ALWAYSSTATUS,
- g_plugin.getByte("AlwaysStatus", SETTING_ALWAYSSTATUS_DEFAULT) ? BST_CHECKED : BST_UNCHECKED);
- CheckDlgButton(hwndDlg, IDC_ALWAYSMULTI,
- !g_plugin.getByte("AlwaysMulti", SETTING_ALWAYSMULTI_DEFAULT) ? BST_CHECKED : BST_UNCHECKED);
- CheckDlgButton(hwndDlg, IDC_DONTCYCLE,
- g_plugin.getByte("TrayIcon", SETTING_TRAYICON_DEFAULT) == SETTING_TRAYICON_SINGLE ? BST_CHECKED : BST_UNCHECKED);
- CheckDlgButton(hwndDlg, IDC_CYCLE,
- g_plugin.getByte("TrayIcon", SETTING_TRAYICON_DEFAULT) == SETTING_TRAYICON_CYCLE ? BST_CHECKED : BST_UNCHECKED);
- CheckDlgButton(hwndDlg, IDC_MULTITRAY,
- g_plugin.getByte("TrayIcon", SETTING_TRAYICON_DEFAULT) == SETTING_TRAYICON_MULTI ? BST_CHECKED : BST_UNCHECKED);
- CheckDlgButton(hwndDlg, IDC_DISABLEBLINK,
- g_plugin.getByte("DisableTrayFlash", 0) == 1 ? BST_CHECKED : BST_UNCHECKED);
- EnableWindow(GetDlgItem(hwndDlg, IDC_BLINKTIME), BST_UNCHECKED == IsDlgButtonChecked(hwndDlg, IDC_DISABLEBLINK));
- EnableWindow(GetDlgItem(hwndDlg, IDC_BLINKSPIN), BST_UNCHECKED == IsDlgButtonChecked(hwndDlg, IDC_DISABLEBLINK));
- EnableWindow(GetDlgItem(hwndDlg, IDC_STMSDELAY), BST_UNCHECKED == IsDlgButtonChecked(hwndDlg, IDC_DISABLEBLINK));
- CheckDlgButton(hwndDlg, IDC_ICONBLINK, g_plugin.getByte("NoIconBlink", 0) == 1 ? BST_CHECKED : BST_UNCHECKED);
- if (IsDlgButtonChecked(hwndDlg, IDC_DONTCYCLE)) {
- EnableWindow(GetDlgItem(hwndDlg, IDC_CYCLETIMESPIN), FALSE);
- EnableWindow(GetDlgItem(hwndDlg, IDC_CYCLETIME), FALSE);
- EnableWindow(GetDlgItem(hwndDlg, IDC_ALWAYSMULTI), FALSE);
- }
- if (IsDlgButtonChecked(hwndDlg, IDC_CYCLE)) {
- EnableWindow(GetDlgItem(hwndDlg, IDC_PRIMARYSTATUS), FALSE);
- EnableWindow(GetDlgItem(hwndDlg, IDC_ALWAYSMULTI), FALSE);
- }
- if (IsDlgButtonChecked(hwndDlg, IDC_MULTITRAY)) {
- EnableWindow(GetDlgItem(hwndDlg, IDC_CYCLETIMESPIN), FALSE);
- EnableWindow(GetDlgItem(hwndDlg, IDC_CYCLETIME), FALSE);
- EnableWindow(GetDlgItem(hwndDlg, IDC_PRIMARYSTATUS), FALSE);
- }
- SendDlgItemMessage(hwndDlg, IDC_CYCLETIMESPIN, UDM_SETRANGE, 0, MAKELONG(120, 1));
- SendDlgItemMessage(hwndDlg, IDC_CYCLETIMESPIN, UDM_SETPOS, 0, MAKELONG(g_plugin.getWord("CycleTime", SETTING_CYCLETIME_DEFAULT), 0));
- {
- ptrA szPrimaryStatus(g_plugin.getStringA("PrimaryStatus"));
-
- int item = SendDlgItemMessage(hwndDlg, IDC_PRIMARYSTATUS, CB_ADDSTRING, 0, (LPARAM)TranslateT("Global"));
- SendDlgItemMessage(hwndDlg, IDC_PRIMARYSTATUS, CB_SETITEMDATA, item, (LPARAM)0);
-
- for (auto &pa : Accounts()) {
- if (!pa->IsEnabled() || CallProtoService(pa->szModuleName, PS_GETCAPS, PFLAGNUM_2, 0) == 0)
- continue;
-
- item = SendDlgItemMessage(hwndDlg, IDC_PRIMARYSTATUS, CB_ADDSTRING, 0, (LPARAM)pa->tszAccountName);
- SendDlgItemMessage(hwndDlg, IDC_PRIMARYSTATUS, CB_SETITEMDATA, item, (LPARAM)pa);
- if (!mir_strcmp(szPrimaryStatus, pa->szModuleName))
- SendDlgItemMessage(hwndDlg, IDC_PRIMARYSTATUS, CB_SETCURSEL, item, 0);
- }
- }
- if (CB_ERR == SendDlgItemMessage(hwndDlg, IDC_PRIMARYSTATUS, CB_GETCURSEL, 0, 0))
- SendDlgItemMessage(hwndDlg, IDC_PRIMARYSTATUS, CB_SETCURSEL, 0, 0);
- SendDlgItemMessage(hwndDlg, IDC_BLINKSPIN, UDM_SETBUDDY, (WPARAM)GetDlgItem(hwndDlg, IDC_BLINKTIME), 0); // set buddy
- SendDlgItemMessage(hwndDlg, IDC_BLINKSPIN, UDM_SETRANGE, 0, MAKELONG(0x3FFF, 250));
- SendDlgItemMessage(hwndDlg, IDC_BLINKSPIN, UDM_SETPOS, 0, MAKELONG(g_plugin.getWord("IconFlashTime", 550), 0));
- return TRUE;
-
- case WM_COMMAND:
- if (LOWORD(wParam) == IDC_DONTCYCLE || LOWORD(wParam) == IDC_CYCLE || LOWORD(wParam) == IDC_MULTITRAY) {
- EnableWindow(GetDlgItem(hwndDlg, IDC_PRIMARYSTATUS), IsDlgButtonChecked(hwndDlg, IDC_DONTCYCLE));
- EnableWindow(GetDlgItem(hwndDlg, IDC_CYCLETIME), IsDlgButtonChecked(hwndDlg, IDC_CYCLE));
- EnableWindow(GetDlgItem(hwndDlg, IDC_CYCLETIMESPIN), IsDlgButtonChecked(hwndDlg, IDC_CYCLE));
- EnableWindow(GetDlgItem(hwndDlg, IDC_ALWAYSMULTI), IsDlgButtonChecked(hwndDlg, IDC_MULTITRAY));
- }
- if (LOWORD(wParam) == IDC_DISABLEBLINK) {
- EnableWindow(GetDlgItem(hwndDlg, IDC_BLINKTIME), BST_UNCHECKED == IsDlgButtonChecked(hwndDlg, IDC_DISABLEBLINK));
- EnableWindow(GetDlgItem(hwndDlg, IDC_BLINKSPIN), BST_UNCHECKED == IsDlgButtonChecked(hwndDlg, IDC_DISABLEBLINK));
- EnableWindow(GetDlgItem(hwndDlg, IDC_STMSDELAY), BST_UNCHECKED == IsDlgButtonChecked(hwndDlg, IDC_DISABLEBLINK));
- }
- if (LOWORD(wParam) == IDC_CYCLETIME && HIWORD(wParam) != EN_CHANGE)
- break;
- if (LOWORD(wParam) == IDC_PRIMARYSTATUS && HIWORD(wParam) != CBN_SELCHANGE)
- break;
- if (LOWORD(wParam) == IDC_CYCLETIME && (HIWORD(wParam) != EN_CHANGE || (HWND)lParam != GetFocus()))
- return 0;
- if (LOWORD(wParam) == IDC_BLINKTIME && HIWORD(wParam) != EN_CHANGE || (HWND)lParam != GetFocus())
- return 0; // dont make apply enabled during buddy set crap
- SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0);
- break;
-
- case WM_NOTIFY:
- switch (((LPNMHDR)lParam)->idFrom) {
- case 0:
- switch (((LPNMHDR)lParam)->code) {
- case PSN_APPLY:
- g_bSortByStatus = IsDlgButtonChecked(hwndDlg, IDC_SORTBYSTATUS);
- g_bSortByProto = IsDlgButtonChecked(hwndDlg, IDC_SORTBYPROTO);
-
- g_plugin.setByte("SortByStatus", (BYTE)g_bSortByStatus);
- g_plugin.setByte("SortByProto", (BYTE)g_bSortByProto);
- g_plugin.setByte("Tray1Click", (BYTE)IsDlgButtonChecked(hwndDlg, IDC_ONECLK));
- g_plugin.setByte("AlwaysStatus", (BYTE)IsDlgButtonChecked(hwndDlg, IDC_ALWAYSSTATUS));
- g_plugin.setByte("AlwaysMulti", (BYTE)!IsDlgButtonChecked(hwndDlg, IDC_ALWAYSMULTI));
- g_plugin.setByte("TrayIcon",
- (BYTE)(IsDlgButtonChecked(hwndDlg, IDC_DONTCYCLE) ? SETTING_TRAYICON_SINGLE
- : (IsDlgButtonChecked(hwndDlg, IDC_CYCLE) ? SETTING_TRAYICON_CYCLE : SETTING_TRAYICON_MULTI)));
- g_plugin.setWord("CycleTime", (WORD)SendDlgItemMessage(hwndDlg, IDC_CYCLETIMESPIN, UDM_GETPOS, 0, 0));
- g_plugin.setWord("IconFlashTime", (WORD)SendDlgItemMessage(hwndDlg, IDC_BLINKSPIN, UDM_GETPOS, 0, 0));
- g_plugin.setByte("DisableTrayFlash", (BYTE)IsDlgButtonChecked(hwndDlg, IDC_DISABLEBLINK));
- g_plugin.setByte("NoIconBlink", (BYTE)IsDlgButtonChecked(hwndDlg, IDC_ICONBLINK));
- {
- int cur = SendDlgItemMessage(hwndDlg, IDC_PRIMARYSTATUS, CB_GETCURSEL, 0, 0);
- PROTOACCOUNT *pa = (PROTOACCOUNT*)SendDlgItemMessage(hwndDlg, IDC_PRIMARYSTATUS, CB_GETITEMDATA, cur, 0);
- if (pa == nullptr)
- g_plugin.delSetting("PrimaryStatus");
- else
- g_plugin.setString("PrimaryStatus", pa->szModuleName);
- }
-
- Clist_TrayIconIconsChanged();
- Clist_LoadContactTree(); /* this won't do job properly since it only really works when changes happen */
- g_clistApi.pfnInvalidateDisplayNameCacheEntry(INVALID_CONTACT_ID); /* force reshuffle */
- return TRUE;
- }
- break;
+ CCtrlSpin cycleTime, blink;
+ CCtrlCombo status;
+ CCtrlCheck sortByName, sortByStatus, sortByProto;
+ CCtrlCheck chkDisableBlink, chkCycle, chkDontCycle, chkMulti;
+
+public:
+ ClistOptsDlg() :
+ CDlgBase(g_plugin, IDD_OPT_CLIST),
+ chkCycle(this, IDC_CYCLE),
+ chkMulti(this, IDC_MULTITRAY),
+ chkDontCycle(this, IDC_DONTCYCLE),
+ blink(this, IDC_BLINKSPIN, 0x3FFF, 250),
+ cycleTime(this, IDC_CYCLETIMESPIN, 120, 1),
+ status(this, IDC_PRIMARYSTATUS),
+ sortByName(this, IDC_SORTBYNAME),
+ sortByProto(this, IDC_SORTBYPROTO),
+ sortByStatus(this, IDC_SORTBYSTATUS),
+ chkDisableBlink(this, IDC_DISABLEBLINK)
+ {
+ chkDisableBlink.OnChange = Callback(this, &ClistOptsDlg::onChange_DisableBlink);
+ chkCycle.OnChange = chkDontCycle.OnChange = chkMulti.OnChange = Callback(this, &ClistOptsDlg::onChange_Tray);
+ }
+
+ bool OnInitDialog() override
+ {
+ sortByName.SetState(!g_plugin.getByte("SortByStatus", SETTING_SORTBYSTATUS_DEFAULT) && !g_plugin.getByte("SortByProto", SETTING_SORTBYPROTO_DEFAULT));
+ sortByProto.SetState(g_plugin.getByte("SortByProto", SETTING_SORTBYPROTO_DEFAULT));
+ sortByStatus.SetState(g_plugin.getByte("SortByStatus", SETTING_SORTBYSTATUS_DEFAULT));
+
+ 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);
+ chkCycle.SetState(iTrayIcon == SETTING_TRAYICON_CYCLE);
+ chkMulti.SetState(iTrayIcon == SETTING_TRAYICON_MULTI);
+ chkDontCycle.SetState(iTrayIcon == SETTING_TRAYICON_SINGLE);
+ onChange_Tray(0);
+
+ chkDisableBlink.SetState(g_plugin.getBool("DisableTrayFlash", false));
+ onChange_DisableBlink(0);
+
+ blink.SetPosition(g_plugin.getWord("IconFlashTime", 550));
+ cycleTime.SetPosition(g_plugin.getWord("CycleTime", SETTING_CYCLETIME_DEFAULT));
+
+ ptrA szPrimaryStatus(g_plugin.getStringA("PrimaryStatus"));
+
+ status.AddString(TranslateT("Global"));
+ status.SetCurSel(0);
+
+ for (auto &pa : Accounts()) {
+ if (!pa->IsEnabled() || CallProtoService(pa->szModuleName, PS_GETCAPS, PFLAGNUM_2, 0) == 0)
+ continue;
+
+ int item = status.AddString(pa->tszAccountName, (LPARAM)pa);
+ if (!mir_strcmp(szPrimaryStatus, pa->szModuleName))
+ status.SetCurSel(item);
}
- break;
+ return true;
}
- return FALSE;
-}
+
+ bool OnApply() override
+ {
+ g_plugin.setByte("SortByStatus", g_bSortByStatus = sortByStatus.GetState());
+ g_plugin.setByte("SortByProto", g_bSortByProto = sortByProto.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());
+ g_plugin.setWord("IconFlashTime", blink.GetPosition());
+ g_plugin.setByte("DisableTrayFlash", IsDlgButtonChecked(m_hwnd, IDC_DISABLEBLINK));
+
+ PROTOACCOUNT *pa = (PROTOACCOUNT *)status.GetItemData(status.GetCurSel());
+ if (pa == nullptr)
+ g_plugin.delSetting("PrimaryStatus");
+ else
+ g_plugin.setString("PrimaryStatus", pa->szModuleName);
+
+ Clist_TrayIconIconsChanged();
+ Clist_LoadContactTree();
+ g_clistApi.pfnInvalidateDisplayNameCacheEntry(INVALID_CONTACT_ID);
+ return true;
+ }
+
+ void onChange_Tray(CCtrlCheck *)
+ {
+ EnableWindow(GetDlgItem(m_hwnd, IDC_PRIMARYSTATUS), chkDontCycle.GetState());
+ EnableWindow(GetDlgItem(m_hwnd, IDC_CYCLETIME), chkCycle.GetState());
+ EnableWindow(GetDlgItem(m_hwnd, IDC_CYCLETIMESPIN), chkCycle.GetState());
+ EnableWindow(GetDlgItem(m_hwnd, IDC_ALWAYSMULTI), chkMulti.GetState());
+ }
+
+ void onChange_DisableBlink(CCtrlCheck *)
+ {
+ bool bEnable = !chkDisableBlink.GetState();
+ EnableWindow(GetDlgItem(m_hwnd, IDC_BLINKTIME), bEnable);
+ EnableWindow(GetDlgItem(m_hwnd, IDC_BLINKSPIN), bEnable);
+ EnableWindow(GetDlgItem(m_hwnd, IDC_STMSDELAY), bEnable);
+ }
+};
/****************************************************************************************/
@@ -164,9 +134,8 @@ int CListOptInit(WPARAM wParam, LPARAM)
{
OPTIONSDIALOGPAGE odp = {};
odp.position = -1000000000;
- odp.pszTemplate = MAKEINTRESOURCEA(IDD_OPT_CLIST);
odp.szTitle.a = LPGEN("Contact list");
- odp.pfnDlgProc = DlgProcGenOpts;
+ odp.pDialog = new ClistOptsDlg();
odp.flags = ODPF_BOLDGROUPS;
g_plugin.addOptions(wParam, &odp);
return 0;
diff --git a/src/core/stdclist/src/resource.h b/src/core/stdclist/src/resource.h
index 92d8716ed6..d25ecb5890 100644
--- a/src/core/stdclist/src/resource.h
+++ b/src/core/stdclist/src/resource.h
@@ -123,7 +123,6 @@
#define IDC_ONDESKTOP 1657
#define IDC_DISABLEDOCKING 1658
#define IDC_WINCOLOUR 1659
-#define IDC_ICONBLINK 1660
#define IDC_STMSDELAY 1661
// Next default values for new objects
diff --git a/src/mir_app/res/resource.rc b/src/mir_app/res/resource.rc
index c3890aec81..ef3b779726 100644
--- a/src/mir_app/res/resource.rc
+++ b/src/mir_app/res/resource.rc
@@ -783,8 +783,10 @@ BEGIN
CONTROL "Hide empty groups",IDC_HIDEEMPTYGROUPS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,29,124,10
CONTROL "Enable groups",IDC_USEGROUPS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,41,124,10
CONTROL "Ask before deleting contacts",IDC_CONFIRMDELETE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,53,124,10
- GROUPBOX "Contact list",IDC_STATIC,6,5,289,77
- CONTROL "Remove temporary contacts on exit",IDC_REMOVETEMP,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,65,276,10
+ GROUPBOX "Contact list",IDC_STATIC,6,5,289,90
+ CONTROL "Remove temporary contacts on exit",IDC_REMOVETEMP,
+ "Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,65,276,10
+ CONTROL "Disable icon blinking",IDC_DISABLEICONBLINK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,78,276,10
END
IDD_EMPTY DIALOGEX 0, 0, 212, 131
@@ -793,6 +795,7 @@ CAPTION "Hidden window"
BEGIN
END
+
/////////////////////////////////////////////////////////////////////////////
//
// DESIGNINFO
@@ -1101,8 +1104,7 @@ END
1 TEXTINCLUDE
BEGIN
- "#include ""../src/resource.h""\r\n"
- "\0"
+ "..\\src\\resource.h\0"
END
2 TEXTINCLUDE
diff --git a/src/mir_app/src/clc.h b/src/mir_app/src/clc.h
index fc7805ab4a..7e5bbbb19a 100644
--- a/src/mir_app/src/clc.h
+++ b/src/mir_app/src/clc.h
@@ -93,6 +93,11 @@ int GetDropTargetInformation(HWND hwnd, ClcData *dat, POINT pt);
/* clcopts.c */
int ClcOptInit(WPARAM, LPARAM);
+namespace Clist
+{
+ extern CMOption<bool> RemoveTempContacts, DisableIconBlink;
+};
+
/* clistmenus.c */
void RebuildMenuOrder(void);
diff --git a/src/mir_app/src/clistevents.cpp b/src/mir_app/src/clistevents.cpp
index 2455170a4c..19ede131ce 100644
--- a/src/mir_app/src/clistevents.cpp
+++ b/src/mir_app/src/clistevents.cpp
@@ -350,7 +350,7 @@ int InitCListEvents(void)
g_clistApi.events = &g_cliEvents;
disableTrayFlash = db_get_b(0, "CList", "DisableTrayFlash", 0);
- disableIconFlash = db_get_b(0, "CList", "NoIconBlink", 0);
+ disableIconFlash = Clist::DisableIconBlink;
HookEvent(ME_DB_CONTACT_SETTINGCHANGED, CListEventSettingsChanged);
return 0;
diff --git a/src/mir_app/src/clistopts.cpp b/src/mir_app/src/clistopts.cpp
index ed7bf9baad..5678fd1da6 100644
--- a/src/mir_app/src/clistopts.cpp
+++ b/src/mir_app/src/clistopts.cpp
@@ -31,11 +31,12 @@ CMOption<bool> Clist::UseGroups(MODULENAME, "UseGroups", true);
CMOption<bool> Clist::HideOffline(MODULENAME, "HideOffline", false);
CMOption<bool> Clist::ConfirmDelete(MODULENAME, "ConfirmDelete", true);
CMOption<bool> Clist::HideEmptyGroups(MODULENAME, "HideEmptyGroups", false);
+CMOption<bool> Clist::DisableIconBlink(MODULENAME, "NoIconBlink", false);
CMOption<bool> Clist::RemoveTempContacts(MODULENAME, "RemoveTempContacts", true);
class ClistCommonOptsDlg : public CDlgBase
{
- CCtrlCheck chkUseGroups, chkHideOffline, chkConfirmDelete, chkHideEmptyGroups, chkRemoveTempContacts;
+ CCtrlCheck chkUseGroups, chkHideOffline, chkConfirmDelete, chkHideEmptyGroups, chkRemoveTempContacts, chkDisableIconBlink;
public:
ClistCommonOptsDlg() :
@@ -44,12 +45,14 @@ public:
chkHideOffline(this, IDC_HIDEOFFLINE),
chkConfirmDelete(this, IDC_CONFIRMDELETE),
chkHideEmptyGroups(this, IDC_HIDEEMPTYGROUPS),
- chkRemoveTempContacts(this, IDC_REMOVETEMP)
+ chkDisableIconBlink(this, IDC_DISABLEICONBLINK),
+ chkRemoveTempContacts(this, IDC_REMOVETEMP)
{
CreateLink(chkUseGroups, Clist::UseGroups);
CreateLink(chkHideOffline, Clist::HideOffline);
CreateLink(chkConfirmDelete, Clist::ConfirmDelete);
CreateLink(chkHideEmptyGroups, Clist::HideEmptyGroups);
+ CreateLink(chkDisableIconBlink, Clist::DisableIconBlink);
CreateLink(chkRemoveTempContacts, Clist::RemoveTempContacts);
}
diff --git a/src/mir_app/src/resource.h b/src/mir_app/src/resource.h
index 781b5bb44a..98992615d5 100644
--- a/src/mir_app/src/resource.h
+++ b/src/mir_app/src/resource.h
@@ -220,6 +220,7 @@
#define IDC_URL 1041
#define IDC_FONTGROUP 1042
#define IDC_TXT_SIMPLE 1043
+#define IDC_DISABLEICONBLINK 1044
#define IDC_BTN_RESET 1045
#define IDC_REASON 1046
#define IDC_BTN_UNDO 1047