diff options
author | George Hazan <george.hazan@gmail.com> | 2023-11-03 17:52:16 +0300 |
---|---|---|
committer | George Hazan <george.hazan@gmail.com> | 2023-11-03 17:52:16 +0300 |
commit | eac7c468a6ef15d13477e6e5821bc53c2f9be845 (patch) | |
tree | 80a355822ad592a571c92cab270752d36097a711 /plugins/NewStory/src | |
parent | c84d7f73fe819e830d90c59c06c7ba82265982ed (diff) |
fixes #3768 (NewStory: добавить опцию сдвига выделения при прокрутке стрелками)
Diffstat (limited to 'plugins/NewStory/src')
-rw-r--r-- | plugins/NewStory/src/history_control.cpp | 18 | ||||
-rw-r--r-- | plugins/NewStory/src/main.cpp | 2 | ||||
-rw-r--r-- | plugins/NewStory/src/options.cpp | 6 | ||||
-rw-r--r-- | plugins/NewStory/src/resource.h | 2 | ||||
-rw-r--r-- | plugins/NewStory/src/stdafx.h | 4 |
5 files changed, 25 insertions, 7 deletions
diff --git a/plugins/NewStory/src/history_control.cpp b/plugins/NewStory/src/history_control.cpp index 30c674c451..f09d215156 100644 --- a/plugins/NewStory/src/history_control.cpp +++ b/plugins/NewStory/src/history_control.cpp @@ -1042,25 +1042,35 @@ LRESULT CALLBACK NewstoryListWndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM switch (wParam) { case VK_UP: - data->EventUp(); + if (g_plugin.bHppCompat) + data->EventUp(); + else + data->LineUp(); break; case VK_DOWN: - data->EventDown(); + if (g_plugin.bHppCompat) + data->EventDown(); + else + data->LineDown(); break; case VK_PRIOR: if (isCtrl) data->ScrollTop(); - else + else if (g_plugin.bHppCompat) data->EventPageUp(); + else + data->PageUp(); break; case VK_NEXT: if (isCtrl) data->ScrollBottom(); - else + else if (g_plugin.bHppCompat) data->EventPageDown(); + else + data->PageDown(); break; case VK_HOME: diff --git a/plugins/NewStory/src/main.cpp b/plugins/NewStory/src/main.cpp index 75450a1c79..d744d8435e 100644 --- a/plugins/NewStory/src/main.cpp +++ b/plugins/NewStory/src/main.cpp @@ -22,6 +22,7 @@ CMPlugin g_plugin; CMOption<bool> g_bOptGrouping(MODULENAME, "MessageGrouping", false); CMOption<bool> g_bOptDrawEdge(MODULENAME, "DrawEdge", true); +CMOption<bool> g_bOptHppCompat(MODULENAME, "HppCompat", false); MWindowList g_hNewstoryWindows = 0, g_hNewstoryLogs = 0; @@ -147,6 +148,7 @@ int CMPlugin::Load() bDrawEdge = g_bOptDrawEdge; bMsgGrouping = g_bOptGrouping; + bHppCompat = g_bOptHppCompat; m_log = RegisterSrmmLog(this, MODULETITLE, _T(MODULENAME), NewStory_Stub); diff --git a/plugins/NewStory/src/options.cpp b/plugins/NewStory/src/options.cpp index 98cb365020..c32148f6a1 100644 --- a/plugins/NewStory/src/options.cpp +++ b/plugins/NewStory/src/options.cpp @@ -41,7 +41,7 @@ protected: class CGeneralOptsDlg : public CBaseOptsDlg { - CCtrlCheck chkGrouping, chkVScroll, chkDrawEdge, chkSortOrder; + CCtrlCheck chkGrouping, chkVScroll, chkDrawEdge, chkSortOrder, chkHppCompat; public: CGeneralOptsDlg() : @@ -49,11 +49,14 @@ public: chkVScroll(this, IDC_VSCROLL), chkDrawEdge(this, IDC_DRAWEDGE), chkGrouping(this, IDC_GROUPING), + chkHppCompat(this, IDC_HPP_COMPAT), chkSortOrder(this, IDC_SORT_ASCENDING) { CreateLink(chkVScroll, g_plugin.bOptVScroll); CreateLink(chkGrouping, g_bOptGrouping); CreateLink(chkDrawEdge, g_bOptDrawEdge); + CreateLink(chkHppCompat, g_bOptHppCompat); + CreateLink(chkSortOrder, g_plugin.bSortAscending); } @@ -61,6 +64,7 @@ public: { g_plugin.bDrawEdge = g_bOptDrawEdge; g_plugin.bMsgGrouping = g_bOptGrouping; + g_plugin.bHppCompat = g_bOptHppCompat; return true; } }; diff --git a/plugins/NewStory/src/resource.h b/plugins/NewStory/src/resource.h index 63edcc0340..5c821737b2 100644 --- a/plugins/NewStory/src/resource.h +++ b/plugins/NewStory/src/resource.h @@ -87,6 +87,8 @@ #define IDC_VSCROLL 1056 #define IDC_DRAWEDGE 1057 #define IDC_SORT_ASCENDING 1058 +#define IDC_HPP_COMPAT 1059 +#define IDC_SORT_ASCENDING2 1059 #define ID_FILTER_SHOWALLEVENTS 40001 #define ID_FILTER_SHOWINCOMINGEVENTSONLY 40002 #define ID_FILTER_SHOWOUTGOINGEVENTSONLY 40003 diff --git a/plugins/NewStory/src/stdafx.h b/plugins/NewStory/src/stdafx.h index fc0c78dd22..788d00b3f3 100644 --- a/plugins/NewStory/src/stdafx.h +++ b/plugins/NewStory/src/stdafx.h @@ -96,7 +96,7 @@ struct CMPlugin : public PLUGIN<CMPlugin> HBRUSH hBackBrush; CMOption<bool> bOptVScroll, bSortAscending; - bool bMsgGrouping, bDrawEdge; // thesw options are a copy of static CMOption to keep performance high + bool bMsgGrouping, bDrawEdge, bHppCompat; // thesw options are a copy of static CMOption to keep performance high CMPlugin(); @@ -104,5 +104,5 @@ struct CMPlugin : public PLUGIN<CMPlugin> int Unload() override; }; -extern CMOption<bool> g_bOptGrouping, g_bOptDrawEdge; +extern CMOption<bool> g_bOptGrouping, g_bOptDrawEdge, g_bOptHppCompat; extern wchar_t* months[12]; |