Ver Fonte

Added option to always show scroll bars

git-svn-id: svn://svn.code.sf.net/p/ditto-cp/code/trunk@675 595ec19a-5cb4-439b-94a8-42fb3063c22c
sabrogden há 12 anos atrás
pai
commit
4bc34fc233
8 ficheiros alterados com 60 adições e 33 exclusões
  1. 14 12
      CP_Main.rc
  2. 13 1
      Options.cpp
  3. 4 0
      Options.h
  4. 3 0
      OptionsQuickPaste.cpp
  5. 1 0
      OptionsQuickPaste.h
  6. 20 17
      QListCtrl.cpp
  7. 3 3
      QPasteWnd.cpp
  8. 2 0
      Resource.h

+ 14 - 12
CP_Main.rc

@@ -404,19 +404,21 @@ BEGIN
     CONTROL         "Show Clips That are in Groups in Main List",IDC_CHECK_SHOW_ALL_IN_MAIN_LIST,
                     "Button",BS_AUTOCHECKBOX | WS_TABSTOP,18,108,335,10
     CONTROL         "Prompt when deleting clips",IDC_CHECK_PROMPT_DELETE_CLIP,
-                    "Button",BS_AUTOCHECKBOX | WS_TABSTOP,18,117,335,10
-    COMBOBOX        IDC_COMBO_THEME,59,131,130,95,CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP
-    PUSHBUTTON      "About Theme",IDC_BUTTON_THEME,198,131,106,12
-    PUSHBUTTON      "Font",IDC_BUTTON_FONT,18,149,143,17
-    PUSHBUTTON      "Default Font",IDC_BUTTON_DEFAULT_FAULT,164,152,70,12
-    CONTROL         "At Caret",IDC_AT_CARET,"Button",BS_AUTORADIOBUTTON,22,184,93,10
-    CONTROL         "At Cursor",IDC_AT_CURSOR,"Button",BS_AUTORADIOBUTTON,22,194,97,10
-    CONTROL         "At Previous Position",IDC_AT_PREVIOUS,"Button",BS_AUTORADIOBUTTON,22,204,117,10
+                    "Button",BS_AUTOCHECKBOX | WS_TABSTOP,18,118,335,10
+    COMBOBOX        IDC_COMBO_THEME,59,142,130,95,CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP
+    PUSHBUTTON      "About Theme",IDC_BUTTON_THEME,198,142,106,12
+    PUSHBUTTON      "Font",IDC_BUTTON_FONT,18,160,143,17
+    PUSHBUTTON      "Default Font",IDC_BUTTON_DEFAULT_FAULT,164,163,70,12
+    CONTROL         "At Caret",IDC_AT_CARET,"Button",BS_AUTORADIOBUTTON,22,195,93,10
+    CONTROL         "At Cursor",IDC_AT_CURSOR,"Button",BS_AUTORADIOBUTTON,22,205,97,10
+    CONTROL         "At Previous Position",IDC_AT_PREVIOUS,"Button",BS_AUTORADIOBUTTON,22,215,117,10
     LTEXT           "%",IDC_STATIC,199,55,8,12,SS_CENTERIMAGE
-    GROUPBOX        "Popup Positioning",IDC_STATIC_POPUP,10,175,138,41
-    LTEXT           "  * = Don't Auto Delete\n  s = Shortcut exists\n G = Item is a Group\n  ! = Item is attached to a Group",IDC_STATIC_LEG,158,185,154,36
-    GROUPBOX        "List Item Prefix Legend",IDC_STATIC_LEGEND,153,175,165,50
-    LTEXT           "Theme",IDC_STATIC_THEME,18,131,36,12,SS_CENTERIMAGE
+    GROUPBOX        "Popup Positioning",IDC_STATIC_POPUP,10,186,138,41
+    LTEXT           "  * = Don't Auto Delete\n  s = Shortcut exists\n G = Item is a Group\n  ! = Item is attached to a Group",IDC_STATIC_LEG,158,196,154,36
+    GROUPBOX        "List Item Prefix Legend",IDC_STATIC_LEGEND,153,186,165,50
+    LTEXT           "Theme",IDC_STATIC_THEME,18,142,36,12,SS_CENTERIMAGE
+    CONTROL         "Always Show Scroll Bar",IDC_CHECK_SHOW_SCROLL_BAR,
+                    "Button",BS_AUTOCHECKBOX | WS_TABSTOP,18,128,335,10
 END
 
 IDD_OPTIONS_KEYSTROKES DIALOGEX 0, 0, 350, 206

+ 13 - 1
Options.cpp

@@ -61,7 +61,7 @@ bool CGetSetOptions::m_portable = false;
 CString CGetSetOptions::m_csIniFileName;
 __int64 CGetSetOptions::nLastDbWriteTime = 0;
 CTheme CGetSetOptions::m_Theme;
-
+BOOL CGetSetOptions::m_showScrollBar = false;
 CGetSetOptions g_Opt;
 
 CGetSetOptions::CGetSetOptions()
@@ -146,6 +146,7 @@ void CGetSetOptions::LoadSettings()
 	m_bEnableDebugLogging = GetEnableDebugLogging();
 	m_bEnsureConnectToClipboard = GetEnsureConnectToClipboard();
 	m_bOutputDebugString = false;
+	m_showScrollBar = GetShowScrollBar();
 
 	GetExtraNetworkPassword(true);
 
@@ -2025,4 +2026,15 @@ void CGetSetOptions::SetSearchQuickPaste(BOOL val)
 BOOL CGetSetOptions::GetSearchQuickPaste()
 {
 	return GetProfileLong(_T("SearchQuickPaste"), 0);
+}
+
+void CGetSetOptions::SetShowScrollBar(BOOL val)
+{
+	m_showScrollBar = val;
+	SetProfileLong(_T("ShowScrollBar"), val);
+}
+
+BOOL CGetSetOptions::GetShowScrollBar()
+{
+	return GetProfileLong(_T("ShowScrollBar"), 0);
 }

+ 4 - 0
Options.h

@@ -427,6 +427,10 @@ public:
 	static void		SetSearchQuickPaste(BOOL val);
 	static BOOL		GetSearchQuickPaste();
 
+	static void		SetShowScrollBar(BOOL val);
+	static BOOL		GetShowScrollBar();
+	static BOOL		m_showScrollBar;
+
 };
 
 // global for easy access and for initialization of fast access variables

+ 3 - 0
OptionsQuickPaste.cpp

@@ -57,6 +57,7 @@ void COptionsQuickPaste::DoDataExchange(CDataExchange* pDX)
 	//}}AFX_DATA_MAP
 	DDX_Control(pDX, IDC_CHECK_PROMPT_DELETE_CLIP, m_PromptForDelete);
 	DDX_Control(pDX, IDC_COMBO_THEME, m_cbTheme);
+	DDX_Control(pDX, IDC_CHECK_SHOW_SCROLL_BAR, m_alwaysShowScrollBar);
 }
 
 
@@ -80,6 +81,7 @@ BOOL COptionsQuickPaste::OnInitDialog()
 	m_btEnableTransparency.SetCheck(CGetSetOptions::GetEnableTransparency());
 	m_eTransparencyPercent.SetNumber(CGetSetOptions::GetTransparencyPercent());
 	m_eLinesPerRow.SetNumber(CGetSetOptions::GetLinesPerRow());
+	m_alwaysShowScrollBar.SetCheck(CGetSetOptions::GetShowScrollBar());
 	m_btShowThumbnails.SetCheck(g_Opt.m_bDrawThumbnail);
 	m_btDrawRTF.SetCheck(g_Opt.m_bDrawRTF);
 
@@ -127,6 +129,7 @@ BOOL COptionsQuickPaste::OnApply()
 	CGetSetOptions::SetEnableTransparency(m_btEnableTransparency.GetCheck());
 	CGetSetOptions::SetTransparencyPercent(m_eTransparencyPercent.GetNumber());
 	CGetSetOptions::SetLinesPerRow(m_eLinesPerRow.GetNumber());
+	CGetSetOptions::SetShowScrollBar(m_alwaysShowScrollBar.GetCheck());
 	
 	if(IsDlgButtonChecked(IDC_AT_CARET))
 		CGetSetOptions::SetQuickPastePosition(POS_AT_CARET);

+ 1 - 0
OptionsQuickPaste.h

@@ -73,6 +73,7 @@ public:
 	CButton m_PromptForDelete;
 	CComboBox m_cbTheme;
 	afx_msg void OnBnClickedButtonTheme();
+	CButton m_alwaysShowScrollBar;
 };
 
 //{{AFX_INSERT_LOCATION}}

+ 20 - 17
QListCtrl.cpp

@@ -1385,29 +1385,32 @@ BOOL CQListCtrl::OnItemDeleted(long lID)
 
 void CQListCtrl::OnMouseMove(UINT nFlags, CPoint point)
 {
-	CRect crWindow;
-	this->GetWindowRect(&crWindow);
-	ScreenToClient(&crWindow);
+	if(g_Opt.m_showScrollBar == FALSE)
+	{
+		CRect crWindow;
+		this->GetWindowRect(&crWindow);
+		ScreenToClient(&crWindow);
 
-	crWindow.right -= theApp.m_metrics.ScaleX(::GetSystemMetrics(SM_CXVSCROLL));
-	crWindow.bottom -= theApp.m_metrics.ScaleX(::GetSystemMetrics(SM_CXHSCROLL));
+		crWindow.right -= theApp.m_metrics.ScaleX(::GetSystemMetrics(SM_CXVSCROLL));
+		crWindow.bottom -= theApp.m_metrics.ScaleX(::GetSystemMetrics(SM_CXHSCROLL));
 
-	if(MouseInScrollBarArea(crWindow, point))
-	{
-		if((GetTickCount() - m_mouseOverScrollAreaStart) > 500)
+		if(MouseInScrollBarArea(crWindow, point))
 		{
-			SetTimer(TIMER_SHOW_SCROLL, 500, NULL);
+			if((GetTickCount() - m_mouseOverScrollAreaStart) > 500)
+			{
+				SetTimer(TIMER_SHOW_SCROLL, 500, NULL);
 
-			m_mouseOverScrollAreaStart = GetTickCount();
+				m_mouseOverScrollAreaStart = GetTickCount();
+			}
 		}
-	}
-	else
-	{
-		if(m_timerToHideScrollAreaSet)
+		else
 		{
-			StopHideScrollBarTimer();
-		}		
-		KillTimer(TIMER_SHOW_SCROLL);
+			if(m_timerToHideScrollAreaSet)
+			{
+				StopHideScrollBarTimer();
+			}		
+			KillTimer(TIMER_SHOW_SCROLL);
+		}
 	}
 }
 

+ 3 - 3
QPasteWnd.cpp

@@ -301,7 +301,7 @@ int CQPasteWnd::OnCreate(LPCREATESTRUCT lpCreateStruct)
     m_stGroup.SetFont(&GroupFont);
 
     UpdateFont();
-
+	
     m_thread.Start(this);
 
     return 0;
@@ -378,7 +378,8 @@ void CQPasteWnd::MoveControls()
 	
 	int extraSize = 0;
 
-	if(m_showScrollBars == false)
+	if(m_showScrollBars == false &&
+		g_Opt.m_showScrollBar == false)
 	{
 		extraSize = ::GetSystemMetrics(SM_CXVSCROLL);
 
@@ -564,7 +565,6 @@ BOOL CQPasteWnd::ShowQPasteWindow(BOOL bFillList)
     #endif 
 
     m_lstHeader.SetNumberOfLinesPerRow(CGetSetOptions::GetLinesPerRow());
-
     m_lstHeader.SetShowTextForFirstTenHotKeys(CGetSetOptions::GetShowTextForFirstTenHotKeys());
 
     if(bFillList)

+ 2 - 0
Resource.h

@@ -182,6 +182,8 @@
 #define IDC_CHECK_PROMPT_DELETE_CLIP    2039
 #define IDC_CHECK_WIN9                  2040
 #define IDC_STATIC_DATE                 2040
+#define IDC_CHECK_PROMPT_DELETE_CLIP2   2040
+#define IDC_CHECK_SHOW_SCROLL_BAR       2040
 #define IDC_CHECK_WIN10                 2041
 #define IDC_STATIC_MOVE_TO_GROUP        2041
 #define IDC_CHECK_WIN1                  2042