summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTomas Bzatek <tbzatek@users.sourceforge.net>2009-11-17 16:45:46 +0100
committerTomas Bzatek <tbzatek@users.sourceforge.net>2009-11-17 16:45:46 +0100
commitec2f73f0f66ce7ea31afdce6cacfe2225e765323 (patch)
tree55e9b609aeae1343077c773b7af3ca6fe3cc4968
parent8487ec272eaadcb60b778d440eba9e108282bf63 (diff)
downloadtuxcmd-ec2f73f0f66ce7ea31afdce6cacfe2225e765323.tar.xz
Preserve normal/monospace internal viewer font
-rw-r--r--UConfig.pas5
-rw-r--r--UViewer.pas15
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