From ec2f73f0f66ce7ea31afdce6cacfe2225e765323 Mon Sep 17 00:00:00 2001 From: Tomas Bzatek Date: Tue, 17 Nov 2009 16:45:46 +0100 Subject: Preserve normal/monospace internal viewer font --- UConfig.pas | 5 ++++- UViewer.pas | 15 +++++++++++++-- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/UConfig.pas b/UConfig.pas index 9a9d9a0..33828a7 100644 --- a/UConfig.pas +++ b/UConfig.pas @@ -102,7 +102,7 @@ var ConfPanelSep, ConfRowHeight, ConfRowHeightReal, ConfNumHistoryItems, ConfMounterUseFSTab, ConfShowTextUIDs, ConfMounterPushDown, ConfSavePanelTabs, ConfDuplicateTabWarning, ConfOpenConnectionsWarning, ConfSortDirectoriesLikeFiles, ConfQuickRenameSkipExt, ConfRightClickSelect, ConfSearchFilterCaseSensitive, ConfSearchOtherFS, ConfSearchArchives, ConfSearchTextCaseSensitive, - ConfMakeSymlinkRelative, ConfReplaceConnectionWarning, ConfWarnUnsavedConnection: boolean; + ConfMakeSymlinkRelative, ConfReplaceConnectionWarning, ConfWarnUnsavedConnection, ConfViewerMonospaceFont: boolean; ConfShowMounterBar: integer; ConfColumnSizes, ConfColumnIDs: array[1..ConstNumPanelColumns] of integer; @@ -272,6 +272,7 @@ begin ConfMakeSymlinkRelative := False; ConfReplaceConnectionWarning := True; ConfWarnUnsavedConnection := True; + ConfViewerMonospaceFont := False; // Setup default values for colors @@ -355,6 +356,7 @@ begin ConfSearchArchives := IniFile.ReadBool(ConfProfileName, 'SearchArchives', ConfSearchArchives); ConfSearchTextCaseSensitive := IniFile.ReadBool(ConfProfileName, 'SearchTextCaseSensitive', ConfSearchTextCaseSensitive); ConfMakeSymlinkRelative := IniFile.ReadBool(ConfProfileName, 'MakeSymlinkRelative', ConfMakeSymlinkRelative); + ConfViewerMonospaceFont := IniFile.ReadBool(ConfProfileName, 'ViewerMonospaceFont', ConfViewerMonospaceFont); finally try IniFile.Free; except end; @@ -422,6 +424,7 @@ begin IniFile.WriteBool(ConfProfileName, 'SearchArchives', ConfSearchArchives); IniFile.WriteBool(ConfProfileName, 'SearchTextCaseSensitive', ConfSearchTextCaseSensitive); IniFile.WriteBool(ConfProfileName, 'MakeSymlinkRelative', ConfMakeSymlinkRelative); + IniFile.WriteBool(ConfProfileName, 'ViewerMonospaceFont', ConfViewerMonospaceFont); except on E: Exception do DebugMsg(['*** Error: Cannot save user settings (', E.ClassName, '): ', E.Message]); diff --git a/UViewer.pas b/UViewer.pas index 1be2d6e..a80a434 100644 --- a/UViewer.pas +++ b/UViewer.pas @@ -42,6 +42,7 @@ type private // LineHeight, NumLines: integer; LineBuffer: TStringList; + procedure ApplyFont; protected AThread: TThread; public @@ -112,6 +113,7 @@ begin ScrolledWindow.AddControl(TextView); TextView.SetFocus; + ApplyFont; // ****************** @@ -253,11 +255,13 @@ begin end; // GDK_C, GDK_Capital_C, GDK_Insert: if (ssCtrl in Shift) then Accept := True; GDK_S, GDK_Capital_S: if (Shift = []) then begin - gtk_widget_modify_font(TextView.FWidget, pango_font_description_from_string('Monospace')); + ConfViewerMonospaceFont := True; + ApplyFont; Accept := False; end; GDK_A, GDK_Capital_A: if (Shift = []) then begin - gtk_widget_modify_font(TextView.FWidget, nil); + ConfViewerMonospaceFont := False; + ApplyFont; Accept := False; end; end; @@ -433,6 +437,13 @@ begin end; end; +procedure TFViewer.ApplyFont; +begin + if ConfViewerMonospaceFont + then gtk_widget_modify_font(TextView.FWidget, pango_font_description_from_string('Monospace')) + else gtk_widget_modify_font(TextView.FWidget, nil); +end; + (********************************************************************************************************************************) procedure TViewerThread.Execute; begin -- cgit v1.2.3