Skip to content

Commit 34beecb

Browse files
committed
Add middle button copy and paste
1 parent 74bb918 commit 34beecb

File tree

3 files changed

+27
-12
lines changed

3 files changed

+27
-12
lines changed

RadNotepad.rc

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -479,8 +479,8 @@ END
479479
//
480480

481481
VS_VERSION_INFO VERSIONINFO
482-
FILEVERSION 1,3,0,0
483-
PRODUCTVERSION 1,3,0,0
482+
FILEVERSION 1,3,1,0
483+
PRODUCTVERSION 1,3,1,0
484484
FILEFLAGSMASK 0x3fL
485485
#ifdef _DEBUG
486486
FILEFLAGS 0x1L
@@ -497,12 +497,12 @@ BEGIN
497497
BEGIN
498498
VALUE "CompanyName", "RadSoft"
499499
VALUE "FileDescription", "Rad Notepad"
500-
VALUE "FileVersion", "1.3.0.0"
500+
VALUE "FileVersion", "1.3.1.0"
501501
VALUE "InternalName", "RadNotepad.exe"
502502
VALUE "LegalCopyright", "Copyright � 2018"
503503
VALUE "OriginalFilename", "RadNotepad.exe"
504504
VALUE "ProductName", "Rad Notepad"
505-
VALUE "ProductVersion", "1.3.0.0"
505+
VALUE "ProductVersion", "1.3.1.0"
506506
END
507507
END
508508
BLOCK "VarFileInfo"

src/RadNotepadView.cpp

Lines changed: 22 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,23 @@ namespace
4949
}
5050
};
5151

52+
class CRadScintillaCtrl : public Scintilla::CScintillaCtrl
53+
{
54+
protected:
55+
DECLARE_MESSAGE_MAP()
56+
57+
void OnMButtonUp(UINT /* nFlags */, CPoint /*point*/)
58+
{
59+
if (GetSelectionEmpty())
60+
Paste();
61+
else
62+
Copy();
63+
}
64+
};
65+
66+
BEGIN_MESSAGE_MAP(CRadScintillaCtrl, CScintillaCtrl)
67+
ON_WM_MBUTTONUP()
68+
END_MESSAGE_MAP()
5269

5370
// CRadNotepadView
5471

@@ -58,7 +75,6 @@ BEGIN_MESSAGE_MAP(CRadNotepadView, CScintillaView)
5875
// Standard printing commands
5976
ON_WM_CREATE()
6077
ON_WM_CONTEXTMENU()
61-
ON_WM_RBUTTONUP()
6278
ON_UPDATE_COMMAND_UI(ID_INDICATOR_LINE, &CRadNotepadView::OnUpdateLine)
6379
ON_UPDATE_COMMAND_UI(ID_INDICATOR_SCHEME, &CRadNotepadView::OnUpdateSchemeIndicator)
6480
ON_UPDATE_COMMAND_UI(ID_INDICATOR_LINE_ENDING, &CRadNotepadView::OnUpdateLineEndingIndicator)
@@ -209,12 +225,6 @@ void CRadNotepadView::OnFilePrintPreview()
209225
#endif
210226
}
211227

212-
void CRadNotepadView::OnRButtonUp(UINT /* nFlags */, CPoint point)
213-
{
214-
ClientToScreen(&point);
215-
OnContextMenu(this, point);
216-
}
217-
218228
void CRadNotepadView::OnContextMenu(CWnd* /* pWnd */, CPoint point)
219229
{
220230
#ifndef SHARED_HANDLERS
@@ -400,6 +410,11 @@ void CRadNotepadView::OnInitialUpdate()
400410
#endif
401411
}
402412

413+
std::unique_ptr<Scintilla::CScintillaCtrl> CRadNotepadView::CreateScintillaControl()
414+
{
415+
return std::make_unique<CRadScintillaCtrl>();
416+
}
417+
403418
void CRadNotepadView::OnViewMargin(UINT nID)
404419
{
405420
Theme* pTheme = &theApp.m_Settings.user;

src/RadNotepadView.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ class CRadNotepadView : public Scintilla::CScintillaView
2222
// Overrides
2323
public:
2424
virtual void OnInitialUpdate() override;
25+
virtual std::unique_ptr<Scintilla::CScintillaCtrl> CreateScintillaControl() override;
2526
virtual void OnActivateView(BOOL bActivate, CView* pActivateView, CView* pDeactiveView) override;
2627
virtual void OnUpdate(CView* /*pSender*/, LPARAM /*lHint*/, CObject* /*pHint*/) override;
2728

@@ -50,7 +51,6 @@ class CRadNotepadView : public Scintilla::CScintillaView
5051
protected:
5152
DECLARE_MESSAGE_MAP()
5253
afx_msg void OnFilePrintPreview();
53-
afx_msg void OnRButtonUp(UINT nFlags, CPoint point);
5454
afx_msg void OnContextMenu(CWnd* pWnd, CPoint point);
5555
afx_msg void OnUpdateLine(CCmdUI* pCmdUI);
5656
afx_msg void OnUpdateSchemeIndicator(CCmdUI* pCmdUI);

0 commit comments

Comments
 (0)