@@ -24,6 +24,10 @@ const int BLINKRATE_FASTEST = 50;
2424const int BLINKRATE_SLOWEST = 2500 ;
2525const int BLINKRATE_INTERVAL = 50 ;
2626
27+ const int BORDERWIDTH_SMALLEST = 0 ;
28+ const int BORDERWIDTH_LARGEST = 30 ;
29+ const int BORDERWIDTH_INTERVAL = 1 ;
30+
2731// This int encoding array is built from "EncodingUnit encodings[]" (see EncodingMapper.cpp)
2832// And DefaultNewDocDlg will use "int encoding array" to get more info from "EncodingUnit encodings[]"
2933int encodings[] = {
@@ -452,7 +456,7 @@ void MarginsDlg::initScintParam()
452456}
453457
454458
455- BOOL CALLBACK MarginsDlg::run_dlgProc (UINT Message, WPARAM wParam, LPARAM)
459+ BOOL CALLBACK MarginsDlg::run_dlgProc (UINT Message, WPARAM wParam, LPARAM lParam )
456460{
457461 NppParameters *pNppParam = NppParameters::getInstance ();
458462 NppGUI & nppGUI = (NppGUI &)pNppParam->getNppGUI ();
@@ -479,6 +483,13 @@ BOOL CALLBACK MarginsDlg::run_dlgProc(UINT Message, WPARAM wParam, LPARAM)
479483 int blinkRate = (nppGUI._caretBlinkRate ==0 )?BLINKRATE_SLOWEST:nppGUI._caretBlinkRate ;
480484 ::SendMessage (::GetDlgItem(_hSelf, IDC_CARETBLINKRATE_SLIDER),TBM_SETPOS, TRUE, blinkRate);
481485
486+ ::SendMessage (::GetDlgItem(_hSelf, IDC_BORDERWIDTH_SLIDER),TBM_SETRANGEMIN, TRUE, BORDERWIDTH_SMALLEST);
487+ ::SendMessage (::GetDlgItem(_hSelf, IDC_BORDERWIDTH_SLIDER),TBM_SETRANGEMAX, TRUE, BORDERWIDTH_LARGEST);
488+ ::SendMessage (::GetDlgItem(_hSelf, IDC_BORDERWIDTH_SLIDER),TBM_SETPAGESIZE, 0, BLINKRATE_INTERVAL);
489+ const ScintillaViewParams & svp = pNppParam->getSVP ();
490+ ::SendMessage (::GetDlgItem(_hSelf, IDC_BORDERWIDTH_SLIDER),TBM_SETPOS, TRUE, svp._borderWidth);
491+ ::SetDlgItemInt (_hSelf, IDC_BORDERWIDTHVAL_STATIC, svp._borderWidth, FALSE );
492+
482493 initScintParam ();
483494
484495 ETDTProc enableDlgTheme = (ETDTProc)pNppParam->getEnableThemeDlgTexture ();
@@ -489,12 +500,25 @@ BOOL CALLBACK MarginsDlg::run_dlgProc(UINT Message, WPARAM wParam, LPARAM)
489500
490501 case WM_HSCROLL:
491502 {
492- int blinkRate = (int )::SendMessage (::GetDlgItem (_hSelf, IDC_CARETBLINKRATE_SLIDER),TBM_GETPOS, 0 , 0 );
493- if (blinkRate == BLINKRATE_SLOWEST)
494- blinkRate = 0 ;
495- nppGUI._caretBlinkRate = blinkRate;
503+ HWND hCaretBlikRateSlider = ::GetDlgItem (_hSelf, IDC_CARETBLINKRATE_SLIDER);
504+ HWND hBorderWidthSlider = ::GetDlgItem (_hSelf, IDC_BORDERWIDTH_SLIDER);
505+ if ((HWND)lParam == hCaretBlikRateSlider)
506+ {
507+ int blinkRate = (int )::SendMessage (hCaretBlikRateSlider, TBM_GETPOS, 0 , 0 );
508+ if (blinkRate == BLINKRATE_SLOWEST)
509+ blinkRate = 0 ;
510+ nppGUI._caretBlinkRate = blinkRate;
496511
497- ::SendMessage (::GetParent(_hParent), NPPM_INTERNAL_SETCARETBLINKRATE, 0, 0);
512+ ::SendMessage (::GetParent(_hParent), NPPM_INTERNAL_SETCARETBLINKRATE, 0, 0);
513+ }
514+ else if ((HWND)lParam == hBorderWidthSlider)
515+ {
516+ int borderWidth = (int )::SendMessage (hBorderWidthSlider, TBM_GETPOS, 0 , 0 );
517+ ScintillaViewParams & svp = (ScintillaViewParams &)pNppParam->getSVP ();
518+ svp._borderWidth = borderWidth;
519+ ::SetDlgItemInt (_hSelf, IDC_BORDERWIDTHVAL_STATIC, borderWidth, FALSE );
520+ ::SendMessage (::GetParent(_hParent), WM_SIZE, 0, 0);
521+ }
498522 return 0 ; // return zero when handled
499523
500524 }
0 commit comments