瀏覽代碼

set the font of the list control
[SAB]


git-svn-id: svn://svn.code.sf.net/p/ditto-cp/code/trunk@128 595ec19a-5cb4-439b-94a8-42fb3063c22c

sabrogden 21 年之前
父節點
當前提交
11e004679f
共有 13 個文件被更改,包括 253 次插入41 次删除
  1. 16 0
      CP_Main.dsp
  2. 40 36
      CP_Main.rc
  3. 2 0
      MainFrm.cpp
  4. 58 0
      Misc.cpp
  5. 6 0
      Misc.h
  6. 68 0
      OptionsQuickPaste.cpp
  7. 7 0
      OptionsQuickPaste.h
  8. 11 0
      QListCtrl.cpp
  9. 4 0
      QListCtrl.h
  10. 31 3
      QPasteWnd.cpp
  11. 3 0
      QPasteWnd.h
  12. 2 0
      QuickPaste.h
  13. 5 2
      Resource.h

+ 16 - 0
CP_Main.dsp

@@ -288,6 +288,10 @@ SOURCE=.\DataTable.cpp
 # End Source File
 # Begin Source File
 
+SOURCE=.\DialogResizer.cpp
+# End Source File
+# Begin Source File
+
 SOURCE=.\DIBUTIL.CPP
 # End Source File
 # Begin Source File
@@ -384,6 +388,10 @@ SOURCE=.\QuickPaste.cpp
 # End Source File
 # Begin Source File
 
+SOURCE=.\RichEditCtrlEx.cpp
+# End Source File
+# Begin Source File
+
 SOURCE=.\SelectDB.cpp
 # End Source File
 # Begin Source File
@@ -441,6 +449,10 @@ SOURCE=.\DataTable.h
 # End Source File
 # Begin Source File
 
+SOURCE=.\DialogResizer.h
+# End Source File
+# Begin Source File
+
 SOURCE=.\DIBAPI.H
 # End Source File
 # Begin Source File
@@ -545,6 +557,10 @@ SOURCE=.\Resource.h
 # End Source File
 # Begin Source File
 
+SOURCE=.\RichEditCtrlEx.h
+# End Source File
+# Begin Source File
+
 SOURCE=.\SelectDB.h
 # End Source File
 # Begin Source File

+ 40 - 36
CP_Main.rc

@@ -260,6 +260,8 @@ BEGIN
 
             MENUITEM "Prompt For New Group Names",  ID_MENU_QUICKOPTIONS_PROMPTFORNEWGROUPNAMES
 
+            MENUITEM "Select Font",                 ID_MENU_QUICKOPTIONS_FONT
+
         END
         POPUP "Sent To"
         BEGIN
@@ -386,39 +388,41 @@ BEGIN
     PUSHBUTTON      "&Delete",IDC_DELETE,147,30,38,14
 END
 
-IDD_OPTIONS_QUICK_PASTE DIALOGEX 0, 0, 206, 193
+IDD_OPTIONS_QUICK_PASTE DIALOG DISCARDABLE  0, 0, 229, 227
 STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
 CAPTION "Quick Paste"
-FONT 8, "MS Sans Serif", 0, 0, 0x1
+FONT 8, "MS Sans Serif"
 BEGIN
-    CONTROL         "Enable Quick Paste Transparency",IDC_TRANSPARENCY,
-                    "Button",BS_AUTOCHECKBOX | WS_TABSTOP,18,67,122,10
-    EDITTEXT        IDC_TRANS_PERC,140,66,19,12,ES_AUTOHSCROLL
-    LTEXT           "%",IDC_STATIC,162,69,8,8
-    LTEXT           "Text Lines per Row",IDC_STATIC,18,54,62,8
-    EDITTEXT        IDC_LINES_ROW,82,52,19,12,ES_AUTOHSCROLL
-    GROUPBOX        "Popup Positioning",IDC_STATIC,11,80,116,41
-    CONTROL         "At Caret",IDC_AT_CARET,"Button",BS_AUTORADIOBUTTON,22,
-                    89,41,10
-    CONTROL         "At Cursor",IDC_AT_CURSOR,"Button",BS_AUTORADIOBUTTON,22,
-                    99,45,10
-    CONTROL         "At Previous Position",IDC_AT_PREVIOUS,"Button",
-                    BS_AUTORADIOBUTTON,22,109,79,10
+    CONTROL         "History Starts at the Top of the list (vs. Bottom)",
+                    IDC_HISTORY_START_TOP,"Button",BS_AUTOCHECKBOX | 
+                    WS_TABSTOP,18,8,161,10
     CONTROL         "Use Ctrl - Num for first ten copy hot keys",
                     IDC_CTRL_CLICK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,18,
                     19,142,10
     CONTROL         "Show text for first ten copy hot keys",
                     IDC_SHOW_TEXT_FOR_FIRST_TEN_HOT_KEYS,"Button",
                     BS_AUTOCHECKBOX | WS_TABSTOP,18,30,128,10
-    LTEXT           "  * = Don't Auto Delete\n  s = Shortcut exists\n G = Item is a Group\n  ! = Item is attached to a Group",
-                    IDC_STATIC,17,137,103,36
-    CONTROL         "History Starts at the Top of the list (vs. Bottom)",
-                    IDC_HISTORY_START_TOP,"Button",BS_AUTOCHECKBOX | 
-                    WS_TABSTOP,18,8,161,10
     CONTROL         "Show leading whitespace",
                     IDC_DESC_SHOW_LEADING_WHITESPACE,"Button",
                     BS_AUTOCHECKBOX | WS_TABSTOP,18,41,97,10
-    GROUPBOX        "List Item Prefix Legend",IDC_STATIC,11,127,116,50
+    LTEXT           "Text Lines per Row",IDC_STATIC,18,54,62,8
+    EDITTEXT        IDC_LINES_ROW,82,52,19,12,ES_AUTOHSCROLL
+    CONTROL         "Enable Quick Paste Transparency",IDC_TRANSPARENCY,
+                    "Button",BS_AUTOCHECKBOX | WS_TABSTOP,18,67,122,10
+    EDITTEXT        IDC_TRANS_PERC,140,66,19,12,ES_AUTOHSCROLL
+    PUSHBUTTON      "Font",IDC_BUTTON_FONT,18,81,143,17
+    PUSHBUTTON      "Default Font",IDC_BUTTON_DEFAULT_FAULT,164,84,48,12
+    CONTROL         "At Caret",IDC_AT_CARET,"Button",BS_AUTORADIOBUTTON,29,
+                    111,41,10
+    CONTROL         "At Cursor",IDC_AT_CURSOR,"Button",BS_AUTORADIOBUTTON,29,
+                    121,45,10
+    CONTROL         "At Previous Position",IDC_AT_PREVIOUS,"Button",
+                    BS_AUTORADIOBUTTON,29,131,79,10
+    LTEXT           "%",IDC_STATIC,162,69,8,8
+    GROUPBOX        "Popup Positioning",IDC_STATIC,18,102,116,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,24,159,103,36
+    GROUPBOX        "List Item Prefix Legend",IDC_STATIC,18,149,116,50
 END
 
 IDD_OPTIONS_KEYSTROKES DIALOG DISCARDABLE  0, 0, 302, 206
@@ -528,33 +532,33 @@ STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
 CAPTION "Stats"
 FONT 8, "MS Sans Serif"
 BEGIN
+    EDITTEXT        IDC_EDIT_ALL_DATE,13,17,97,12,ES_AUTOHSCROLL
+    EDITTEXT        IDC_ALL_COPIES,41,31,25,12,ES_AUTOHSCROLL
+    EDITTEXT        IDC_ALL_PASTES,41,45,25,12,ES_AUTOHSCROLL
+    EDITTEXT        IDC_TRIP_DATE,132,17,97,12,ES_AUTOHSCROLL
     EDITTEXT        IDC_TRIP_COPIES,157,31,25,12,ES_AUTOHSCROLL
-    LTEXT           "Copies",IDC_STATIC,132,31,22,12
     EDITTEXT        IDC_TRIP_PASTES,157,45,25,12,ES_AUTOHSCROLL
-    LTEXT           "Pastes",IDC_STATIC,132,45,22,12
     PUSHBUTTON      "Reset",IDC_RESET_COUNTS,193,31,32,12
+    EDITTEXT        IDC_SAVED_COPIES,76,72,41,12,ES_AUTOHSCROLL
+    PUSHBUTTON      "Remove All",IDC_REMOVE_ALL,122,72,44,12
+    EDITTEXT        IDC_SAVED_COPY_DATA,76,86,41,12,ES_AUTOHSCROLL
+    EDITTEXT        IDC_LAST_STARTED,76,107,157,12,ES_AUTOHSCROLL
+    EDITTEXT        IDC_DATABASE_SIZE,76,121,41,12,ES_AUTOHSCROLL
+    EDITTEXT        IDC_CLIPS_SENT,76,135,41,12,ES_AUTOHSCROLL
+    EDITTEXT        IDC_CLIPS_RECIVED,76,149,41,12,ES_AUTOHSCROLL
+    LTEXT           "Copies",IDC_STATIC,132,31,22,12
+    LTEXT           "Pastes",IDC_STATIC,132,45,22,12
     GROUPBOX        "Trip Odometer",IDC_STATIC,128,7,105,54
-    EDITTEXT        IDC_ALL_COPIES,41,31,25,12,ES_AUTOHSCROLL
     LTEXT           "Copies",IDC_STATIC,13,33,22,12
-    EDITTEXT        IDC_ALL_PASTES,41,45,25,12,ES_AUTOHSCROLL
     LTEXT           "Pastes",IDC_STATIC,13,46,22,12
     GROUPBOX        "Odometer",IDC_STATIC,7,7,110,54
-    EDITTEXT        IDC_TRIP_DATE,132,17,97,12,ES_AUTOHSCROLL
-    EDITTEXT        IDC_EDIT_ALL_DATE,13,17,97,12,ES_AUTOHSCROLL
     LTEXT           "Saved Copies",IDC_STATIC,15,73,45,12
-    EDITTEXT        IDC_SAVED_COPIES,76,72,41,12,ES_AUTOHSCROLL
     LTEXT           "Saved Copy Data",IDC_STATIC,15,88,57,12
-    EDITTEXT        IDC_SAVED_COPY_DATA,76,86,41,12,ES_AUTOHSCROLL
-    PUSHBUTTON      "Remove All",IDC_REMOVE_ALL,122,72,44,12
     LTEXT           "Database Size",IDC_STATIC,15,121,47,12,SS_CENTERIMAGE
-    EDITTEXT        IDC_DATABASE_SIZE,76,121,41,12,ES_AUTOHSCROLL
     LTEXT           "Clips Sent",IDC_STATIC,15,135,32,12,SS_CENTERIMAGE
-    EDITTEXT        IDC_CLIPS_SENT,76,135,41,12,ES_AUTOHSCROLL
     LTEXT           "Clips Recieved",IDC_STATIC,15,149,47,12,SS_CENTERIMAGE
-    EDITTEXT        IDC_CLIPS_RECIVED,76,149,41,12,ES_AUTOHSCROLL
     GROUPBOX        "",IDC_STATIC,7,63,166,40
     LTEXT           "Last Started",IDC_STATIC,15,107,47,12,SS_CENTERIMAGE
-    EDITTEXT        IDC_LAST_STARTED,76,107,157,12,ES_AUTOHSCROLL
     LTEXT           "Since Last Start",IDC_STATIC,120,144,51,8
 END
 
@@ -757,9 +761,9 @@ BEGIN
     IDD_OPTIONS_QUICK_PASTE, DIALOG
     BEGIN
         LEFTMARGIN, 7
-        RIGHTMARGIN, 199
+        RIGHTMARGIN, 222
         TOPMARGIN, 7
-        BOTTOMMARGIN, 185
+        BOTTOMMARGIN, 219
     END
 
     IDD_OPTIONS_KEYSTROKES, DIALOG

+ 2 - 0
MainFrm.cpp

@@ -170,6 +170,8 @@ void CMainFrame::Dump(CDumpContext& dc) const
 void CMainFrame::OnFirstOption() 
 {
 	DoOptions(this);	
+	
+	QuickPaste.UpdateFont();
 }
 
 void CMainFrame::OnFirstExit() 

+ 58 - 0
Misc.cpp

@@ -695,6 +695,47 @@ BOOL CGetSetOptions::SetProfileString(CString csName, CString csValue)
 	return lResult == ERROR_SUCCESS;
 }
 
+BOOL CGetSetOptions::SetProfileData(CString csName, LPVOID lpData, DWORD dwLength)
+{
+	HKEY hkKey;
+	DWORD dWord;
+	long lResult = RegCreateKeyEx(HKEY_CURRENT_USER, _T(REG_PATH), NULL, 
+						NULL, REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, 
+						NULL, &hkKey, &dWord);
+
+	if(lResult != ERROR_SUCCESS)
+		return FALSE;
+
+	::RegSetValueEx(hkKey, csName, NULL, REG_BINARY,
+			(BYTE*)lpData, dwLength);
+
+	RegCloseKey(hkKey);
+
+	return lResult == ERROR_SUCCESS;
+}
+
+LPVOID CGetSetOptions::GetProfileData(CString csName, DWORD &dwLength)
+{
+	HKEY hkKey;
+
+	long lResult = RegOpenKeyEx(HKEY_CURRENT_USER, _T(REG_PATH),
+								NULL, KEY_READ, &hkKey);
+	
+	lResult = ::RegQueryValueEx(hkKey , csName, NULL, NULL, NULL, &dwLength);
+
+	if(lResult != ERROR_SUCCESS)
+		return NULL;
+
+	LPVOID lpVoid = new BYTE[dwLength];
+	
+	lResult = ::RegQueryValueEx(hkKey , csName, NULL, NULL, (LPBYTE)lpVoid, &dwLength);
+
+	if(lResult != ERROR_SUCCESS)
+		return NULL;
+
+	return lpVoid;
+}
+
 BOOL CGetSetOptions::GetShowIconInSysTray() 
 {
 	return GetProfileLong("ShowIconInSystemTray", TRUE);
@@ -1187,6 +1228,23 @@ void CGetSetOptions::SetDisableRecieve(BOOL bVal)
 	SetProfileLong("DisableRecieve", bVal);
 }
 
+BOOL CGetSetOptions::GetFont(LOGFONT &font)
+{
+	DWORD dwLength;
+	LPVOID lpVoid = GetProfileData("DisplayFont", dwLength);
+	if(lpVoid)
+	{
+		memcpy(&font, lpVoid, dwLength);
+		return TRUE;
+	}
+
+	return FALSE;
+}
+
+void CGetSetOptions::SetFont(LOGFONT &font)
+{
+	SetProfileData("DisplayFont", &font, sizeof(LOGFONT));
+}
 
 /*------------------------------------------------------------------*\
 CHotKey - a single system-wide hotkey

+ 6 - 0
Misc.h

@@ -150,6 +150,9 @@ public:
 	static CString GetProfileString(CString csName, CString csDefault);
 	static BOOL	SetProfileString(CString csName, CString csValue);
 
+	static LPVOID	GetProfileData(CString csName, DWORD &dwLength);
+	static BOOL	SetProfileData(CString csName, LPVOID lpData, DWORD dwLength);
+
 	static BOOL SetQuickPasteSize(CSize size);
 	static void GetQuickPasteSize(CSize &size);
 
@@ -306,6 +309,9 @@ public:
 	static BOOL		GetDisableRecieve();
 	static void		SetDisableRecieve(BOOL bVal);
 
+	static BOOL		GetFont(LOGFONT &font);
+	static void		SetFont(LOGFONT &font);
+
 	/*
 	BOOL IsAutoRun();
 	void SetAutoRun(BOOL bRun);

+ 68 - 0
OptionsQuickPaste.cpp

@@ -21,16 +21,21 @@ COptionsQuickPaste::COptionsQuickPaste() : CPropertyPage(COptionsQuickPaste::IDD
 	//{{AFX_DATA_INIT(COptionsQuickPaste)
 		// NOTE: the ClassWizard will add member initialization here
 	//}}AFX_DATA_INIT
+
+	memset(&m_LogFont, 0, sizeof(LOGFONT));
 }
 
 COptionsQuickPaste::~COptionsQuickPaste()
 {
+	m_Font.DeleteObject();
 }
 
 void COptionsQuickPaste::DoDataExchange(CDataExchange* pDX)
 {
 	CPropertyPage::DoDataExchange(pDX);
 	//{{AFX_DATA_MAP(COptionsQuickPaste)
+	DDX_Control(pDX, IDC_BUTTON_DEFAULT_FAULT, m_btDefaultButton);
+	DDX_Control(pDX, IDC_BUTTON_FONT, m_btFont);
 	DDX_Control(pDX, IDC_SHOW_TEXT_FOR_FIRST_TEN_HOT_KEYS, m_btShowText);
 	DDX_Control(pDX, IDC_LINES_ROW, m_eLinesPerRow);
 	DDX_Control(pDX, IDC_TRANS_PERC, m_eTransparencyPercent);
@@ -44,6 +49,8 @@ void COptionsQuickPaste::DoDataExchange(CDataExchange* pDX)
 
 BEGIN_MESSAGE_MAP(COptionsQuickPaste, CPropertyPage)
 	//{{AFX_MSG_MAP(COptionsQuickPaste)
+	ON_BN_CLICKED(IDC_BUTTON_FONT, OnButtonFont)
+	ON_BN_CLICKED(IDC_BUTTON_DEFAULT_FAULT, OnButtonDefaultFault)
 	//}}AFX_MSG_MAP
 END_MESSAGE_MAP()
 
@@ -72,6 +79,21 @@ BOOL COptionsQuickPaste::OnInitDialog()
 	m_btUseCtrlNum.SetCheck(CGetSetOptions::GetUseCtrlNumForFirstTenHotKeys());
 
 	m_btShowText.SetCheck(CGetSetOptions::GetShowTextForFirstTenHotKeys());
+
+	if(CGetSetOptions::GetFont(m_LogFont))
+	{		
+		m_Font.CreateFontIndirect(&m_LogFont);
+		m_btFont.SetFont(&m_Font);
+	}
+	else
+	{
+		CFont *ft =	m_btFont.GetFont();
+		ft->GetLogFont(&m_LogFont);
+	}
+
+	CString cs;
+	cs.Format("Font - %s", m_LogFont.lfFaceName);
+	m_btFont.SetWindowText(cs);
 		
 	return FALSE;
 }
@@ -94,5 +116,51 @@ BOOL COptionsQuickPaste::OnApply()
 	CGetSetOptions::SetUseCtrlNumForFirstTenHotKeys(m_btUseCtrlNum.GetCheck());
 	CGetSetOptions::SetShowTextForFirstTenHotKeys(m_btShowText.GetCheck());
 	
+	if(m_LogFont.lfWeight != 0)
+	{
+		CGetSetOptions::SetFont(m_LogFont);
+	}
+	
 	return CPropertyPage::OnApply();
 }
+
+void COptionsQuickPaste::OnButtonFont() 
+{
+	CFontDialog dlg(&m_LogFont);
+	if(dlg.DoModal() == IDOK)
+	{	
+		m_Font.DeleteObject();
+
+		memcpy(&m_LogFont, dlg.m_cf.lpLogFont, sizeof(LOGFONT));		
+
+		m_Font.CreateFontIndirect(&m_LogFont);
+
+		m_btFont.SetFont(&m_Font);
+
+		CString cs;
+		cs.Format("Font - %s", m_LogFont.lfFaceName);
+		m_btFont.SetWindowText(cs);
+	}
+}
+
+void COptionsQuickPaste::OnButtonDefaultFault() 
+{
+	CFont *ft =	m_btDefaultButton.GetFont();
+	ft->GetLogFont(&m_LogFont);
+
+	memset(&m_LogFont, 0, sizeof(m_LogFont));
+
+	m_LogFont.lfHeight = -11;
+	m_LogFont.lfWeight = 400;
+	m_LogFont.lfCharSet = 1;
+	strcpy(m_LogFont.lfFaceName, "Tahoma");
+
+	m_Font.DeleteObject();
+	m_Font.CreateFontIndirect(&m_LogFont);
+
+	m_btFont.SetFont(&m_Font);
+
+	CString cs;
+	cs.Format("Font - %s", m_LogFont.lfFaceName);
+	m_btFont.SetWindowText(cs);
+}

+ 7 - 0
OptionsQuickPaste.h

@@ -25,6 +25,8 @@ public:
 // Dialog Data
 	//{{AFX_DATA(COptionsQuickPaste)
 	enum { IDD = IDD_OPTIONS_QUICK_PASTE };
+	CButton	m_btDefaultButton;
+	CButton	m_btFont;
 	CButton	m_btShowText;
 	CNumberEdit	m_eLinesPerRow;
 	CNumberEdit	m_eTransparencyPercent;
@@ -46,12 +48,17 @@ public:
 protected:
 	COptionsSheet *m_pParent;
 
+	CFont m_Font;
+	LOGFONT m_LogFont;
+
 
 // Implementation
 protected:
 	// Generated message map functions
 	//{{AFX_MSG(COptionsQuickPaste)
 	virtual BOOL OnInitDialog();
+	afx_msg void OnButtonFont();
+	afx_msg void OnButtonDefaultFault();
 	//}}AFX_MSG
 	DECLARE_MESSAGE_MAP()
 

+ 11 - 0
QListCtrl.cpp

@@ -62,6 +62,8 @@ CQListCtrl::~CQListCtrl()
 		::DeleteObject( m_SmallFont );
 	
 	DestroyAndCreateAccelerator(FALSE);
+
+	m_Font.DeleteObject();
 }
 
 // returns the position 1-10 if the index is in the FirstTen block else -1
@@ -1001,3 +1003,12 @@ void CQListCtrl::OnTimer(UINT nIDEvent)
 	
 	CListCtrl::OnTimer(nIDEvent);
 }
+
+void CQListCtrl::SetLogFont(LOGFONT &font)
+{
+	m_Font.DeleteObject();
+
+	m_Font.CreateFontIndirect(&font);
+
+	SetFont(&m_Font);
+}

+ 4 - 0
QListCtrl.h

@@ -94,6 +94,8 @@ public:
 
 	void HidePopup()	{ if(m_pToolTip) m_pToolTip->Hide();	}
 
+	void SetLogFont(LOGFONT &font);
+
 protected:
 	void SendSelection(int nItem);;
 	void SendSelection(ARRAY &arrItems);
@@ -112,6 +114,8 @@ protected:
 	CMap<long, long, CClipFormat, CClipFormat> m_ThumbNails;
 
 	CToolTipEx *m_pToolTip;
+
+	CFont m_Font;
 	
 	// Generated message map functions
 protected:

+ 31 - 3
QPasteWnd.cpp

@@ -114,6 +114,7 @@ BEGIN_MESSAGE_MAP(CQPasteWnd, CWndEx)
 	ON_COMMAND(ID_MENU_GROUPS_MOVETOGROUP, OnMenuGroupsMovetogroup)
 	ON_COMMAND(ID_MENU_PASTEPLAINTEXTONLY, OnMenuPasteplaintextonly)
 	ON_COMMAND(ID_MENU_HELP, OnMenuHelp)
+	ON_COMMAND(ID_MENU_QUICKOPTIONS_FONT, OnMenuQuickoptionsFont)
 	//}}AFX_MSG_MAP
 	ON_MESSAGE(NM_SELECT, OnListSelect)
 	ON_MESSAGE(NM_END, OnListEnd)
@@ -225,8 +226,9 @@ int CQPasteWnd::OnCreate(LPCREATESTRUCT lpCreateStruct)
 	m_cbSearch.SetFont(&m_SearchFont);
 	m_btCancel.SetFont(&m_SearchFont);
 	m_stGroup.SetFont(&GroupFont);
-	
-	
+
+	UpdateFont();
+		
 	return 0;
 }
 
@@ -1034,6 +1036,8 @@ void CQPasteWnd::OnMenuOptions()
 	
 	DoOptions(this);
 	
+	UpdateFont();
+
 	ShowQPasteWindow(TRUE);
 	
 	m_bHideWnd = true;
@@ -1097,6 +1101,13 @@ void CQPasteWnd::OnMenuProperties()
 	}
 }
 
+void CQPasteWnd::UpdateFont()
+{
+	LOGFONT lf;
+	CGetSetOptions::GetFont(lf);
+	m_lstHeader.SetLogFont(lf);
+}
+
 void CQPasteWnd::OnMenuFirsttenhotkeysUsectrlnum() 
 {	
 	CGetSetOptions::SetUseCtrlNumForFirstTenHotKeys(!CGetSetOptions::GetUseCtrlNumForFirstTenHotKeys());
@@ -1399,6 +1410,23 @@ void CQPasteWnd::OnMenuHelp()
 	CHyperLink::GotoURL("Help\\DittoGettingStarted.htm", SW_SHOW);
 }
 
+void CQPasteWnd::OnMenuQuickoptionsFont() 
+{
+	m_bHideWnd = false;
+
+	CFont *pFont = m_lstHeader.GetFont();
+	LOGFONT lf;
+	pFont->GetLogFont(&lf);
+	CFontDialog dlg(&lf);
+	if(dlg.DoModal() == IDOK)
+	{	
+		CGetSetOptions::SetFont(*dlg.m_cf.lpLogFont);
+		m_lstHeader.SetLogFont(*dlg.m_cf.lpLogFont);
+	}
+	
+	m_bHideWnd = true;
+}
+
 
 ///////////////////////////////////////////////////////////////////////
 //END END Menu Stuff
@@ -2044,4 +2072,4 @@ LRESULT CQPasteWnd::OnGetClipData(LPARAM lParam, WPARAM wParam)
 	CATCHDAO
 
 	return bRet;
-}
+}

+ 3 - 0
QPasteWnd.h

@@ -47,6 +47,8 @@ public:
 	bool Add(const CString &csHeader, const CString &csText, int nID);
 	virtual ~CQPasteWnd();
 
+	void UpdateFont();
+
 //protected:
 	CQListCtrl		m_lstHeader;
 
@@ -167,6 +169,7 @@ protected:
 	afx_msg void OnMenuGroupsMovetogroup();
 	afx_msg void OnMenuPasteplaintextonly();
 	afx_msg void OnMenuHelp();
+	afx_msg void OnMenuQuickoptionsFont();
 	//}}AFX_MSG
 	afx_msg LRESULT OnListSelect(WPARAM wParam, LPARAM lParam);
 	afx_msg LRESULT OnListEnd(WPARAM wParam, LPARAM lParam);

+ 2 - 0
QuickPaste.h

@@ -24,6 +24,8 @@ public:
 	BOOL IsWindowVisibleEx();
 	BOOL EnsureVisible(CRect *pcrRect);
 
+	void UpdateFont()		{ if(m_pwndPaste) m_pwndPaste->UpdateFont();	}
+
 //protected:
 	CQPasteWnd *m_pwndPaste;
 };

+ 5 - 2
Resource.h

@@ -84,6 +84,7 @@
 #define IDC_BUTTON1                     1040
 #define IDC_PARSE_BUTTON                1040
 #define IDC_HIDE_DITO_ON_HOT_KEY        1040
+#define IDC_BUTTON_FONT                 1040
 #define IDC_PARSE_EDIT                  1041
 #define IDC_CHECK1                      1042
 #define IDC_HISTORY_START_TOP           1042
@@ -127,6 +128,7 @@
 #define IDC_STATIC_FORMATS              2029
 #define IDC_HOTKEY7                     2030
 #define IDC_HOTKEY8                     2031
+#define IDC_BUTTON_DEFAULT_FAULT        2031
 #define IDC_HOTKEY9                     2032
 #define IDC_HOTKEY10                    2033
 #define ID_FIRST_OPTION                 32771
@@ -198,6 +200,7 @@
 #define ID_MENU_PASTEPLAINTEXTONLY      32841
 #define ID_MENU_HELP                    32842
 #define ID_FIRST_HELP                   32843
+#define ID_MENU_QUICKOPTIONS_FONT       32844
 
 // Next default values for new objects
 // 
@@ -205,8 +208,8 @@
 #ifndef APSTUDIO_READONLY_SYMBOLS
 #define _APS_3D_CONTROLS                     1
 #define _APS_NEXT_RESOURCE_VALUE        157
-#define _APS_NEXT_COMMAND_VALUE         32844
-#define _APS_NEXT_CONTROL_VALUE         2030
+#define _APS_NEXT_COMMAND_VALUE         32845
+#define _APS_NEXT_CONTROL_VALUE         2032
 #define _APS_NEXT_SYMED_VALUE           101
 #endif
 #endif