summaryrefslogtreecommitdiff
path: root/plugins/NewStory/src
diff options
context:
space:
mode:
authorGeorge Hazan <george.hazan@gmail.com>2023-11-03 17:52:16 +0300
committerGeorge Hazan <george.hazan@gmail.com>2023-11-03 17:52:16 +0300
commiteac7c468a6ef15d13477e6e5821bc53c2f9be845 (patch)
tree80a355822ad592a571c92cab270752d36097a711 /plugins/NewStory/src
parentc84d7f73fe819e830d90c59c06c7ba82265982ed (diff)
fixes #3768 (NewStory: добавить опцию сдвига выделения при прокрутке стрелками)
Diffstat (limited to 'plugins/NewStory/src')
-rw-r--r--plugins/NewStory/src/history_control.cpp18
-rw-r--r--plugins/NewStory/src/main.cpp2
-rw-r--r--plugins/NewStory/src/options.cpp6
-rw-r--r--plugins/NewStory/src/resource.h2
-rw-r--r--plugins/NewStory/src/stdafx.h4
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];