summaryrefslogtreecommitdiff
path: root/UConfig.pas
diff options
context:
space:
mode:
authorTomas Bzatek <tbzatek@users.sourceforge.net>2010-03-27 21:12:10 +0100
committerTomas Bzatek <tbzatek@users.sourceforge.net>2010-03-27 21:12:10 +0100
commit6fdb16ee503199c431e875e96f42dd89cfb13c92 (patch)
tree51d0ece1ac37c44db8aada18e417e8b6e5974e08 /UConfig.pas
parent6cfb7975c083098e2e2ec4746fca21dc16c0dc02 (diff)
downloadtuxcmd-6fdb16ee503199c431e875e96f42dd89cfb13c92.tar.xz
File and directory diff commandsv0.6.78
TODO: add GUI to configure diff commands TODO: extract only particular subtree when comparing directories from VFS engines
Diffstat (limited to 'UConfig.pas')
-rw-r--r--UConfig.pas35
1 files changed, 31 insertions, 4 deletions
diff --git a/UConfig.pas b/UConfig.pas
index 1da42a0..9ee6f16 100644
--- a/UConfig.pas
+++ b/UConfig.pas
@@ -25,8 +25,8 @@ uses Classes, ULocale;
resourcestring
ConstAppTitle = 'Tux Commander';
- ConstAboutVersion = '0.6.77-dev';
- ConstAboutBuildDate = '2010-03-22';
+ ConstAboutVersion = '0.6.78-dev';
+ ConstAboutBuildDate = '2010-03-27';
{$IFDEF FPC}
{$INCLUDE fpcver.inc}
@@ -67,6 +67,8 @@ const ConfDefaultNormalItemFGColor = '#000000';
ConfEditorApps: array[1..5] of string = ('gedit', 'gvim', 'emacs', 'nano', 'vi');
ConfTerminalApps: array[1..4] of string = (ConstTerminalCommand_xterm, ConstTerminalCommand_rxvt, ConstTerminalCommand_rxvt2, ConstTerminalCommand_gnometerminal);
ConfTerminalAppsWParam: array[1..4] of string = ('xterm', 'rxvt', 'rxvt', 'gnome-terminal');
+ ConfDiffApps: array[1..2] of string = ('meld', 'diff');
+ ConfDiffDirAppsDirsParams: array[1..2] of string = ('', '-r'); // Arguments used for diffing whole directories, array linked with ConfDiffApps
const SMOOTH_SCROLL_STEPS = 5;
@@ -86,12 +88,14 @@ var ConfPanelSep, ConfRowHeight, ConfRowHeightReal, ConfNumHistoryItems,
ConfMainWindowLeftSortColumn, ConfMainWindowLeftSortType, ConfMainWindowRightSortColumn, ConfMainWindowRightSortType,
ConfSizeFormat, ConfSizeGroupPrecision, ConfCmdLineTerminalBehaviour, ConfViewerTerminalBehaviour,
ConfEditorTerminalBehaviour, ConfLeftTabBarTabIndex, ConfRightTabBarTabIndex, ConfSwitchOtherPanelBehaviour,
- ConfTabMaxLength, ConfDateFormat, ConfTimeFormat, ConfDateTimeFormat, ConfQuickSearchActivationKey: integer;
+ ConfTabMaxLength, ConfDateFormat, ConfTimeFormat, ConfDateTimeFormat, ConfQuickSearchActivationKey,
+ ConfDiffTerminalBehaviour, ConfDiffDirTerminalBehaviour: integer;
ConfLeftPath, ConfRightPath, ConfPanelFont, ConfProfileName, ConfViewer, ConfEditor, ConfTerminalCommand,
ConfNormalItemFGColor, ConfActiveItemFGColor, ConfInactiveItemFGColor, ConfSelectedItemFGColor, ConfLinkItemFGColor,
ConfDotFileItemFGColor, ConfNormalItemBGColor, ConfActiveItemBGColor, ConfInactiveItemBGColor,
- ParamLeftDir, ParamRightDir, ConfCustomDateFormat, ConfCustomTimeFormat: string;
+ ParamLeftDir, ParamRightDir, ConfCustomDateFormat, ConfCustomTimeFormat,
+ ConfDiffCommand, ConfDiffDirCommand: string;
ParamDebug, ConfShowDotFiles, ConfClearReadOnlyAttr, ConfDisableMouseRename, ConfUseSystemFont, ConfUseFileTypeIcons,
ConfFocusRefresh, ConfNewStyleAltO, ConfDirsInBold, ConfDisableDirectoryBrackets, ParamDisableGnome, ConfWMCompatMode,
@@ -273,6 +277,10 @@ begin
ConfReplaceConnectionWarning := True;
ConfWarnUnsavedConnection := True;
ConfViewerMonospaceFont := False;
+ ConfDiffTerminalBehaviour := 0;
+ ConfDiffCommand := ConfAppNA;
+ ConfDiffDirTerminalBehaviour := 0;
+ ConfDiffDirCommand := ConfAppNA;
// Setup default values for colors
@@ -524,6 +532,12 @@ begin
ConfReplaceConnectionWarning := IniFile.ReadBool(ConfProfileName, 'ReplaceConnectionWarning', ConfReplaceConnectionWarning);
ConfWarnUnsavedConnection := IniFile.ReadBool(ConfProfileName, 'WarnUnsavedConnection', ConfWarnUnsavedConnection);
+ (********************************************* NEW SINCE 0.6.71 *************************************************)
+ ConfDiffCommand := IniFile.ReadString(ConfProfileName, 'DiffCommand', ConfDiffCommand);
+ ConfDiffTerminalBehaviour := IniFile.ReadInteger(ConfProfileName, 'DiffTerminalBehaviour', ConfDiffTerminalBehaviour);
+ ConfDiffDirCommand := IniFile.ReadString(ConfProfileName, 'DiffDirCommand', ConfDiffDirCommand);
+ ConfDiffDirTerminalBehaviour := IniFile.ReadInteger(ConfProfileName, 'DiffDirTerminalBehaviour', ConfDiffDirTerminalBehaviour);
+
SearchForDefaultApps;
finally
@@ -619,6 +633,12 @@ begin
IniFile.WriteBool(ConfProfileName, 'ReplaceConnectionWarning', ConfReplaceConnectionWarning);
IniFile.WriteBool(ConfProfileName, 'WarnUnsavedConnection', ConfWarnUnsavedConnection);
+ (********************************************* NEW SINCE 0.6.71 *************************************************)
+ IniFile.WriteString(ConfProfileName, 'DiffCommand', ConfDiffCommand);
+ IniFile.WriteInteger(ConfProfileName, 'DiffTerminalBehaviour', ConfDiffTerminalBehaviour);
+ IniFile.WriteString(ConfProfileName, 'DiffDirCommand', ConfDiffDirCommand);
+ IniFile.WriteInteger(ConfProfileName, 'DiffDirTerminalBehaviour', ConfDiffDirTerminalBehaviour);
+
except
on E: Exception do DebugMsg(['*** Error: Cannot save user settings (', E.ClassName, '): ', E.Message]);
end;
@@ -1100,6 +1120,13 @@ begin
ConfTerminalCommand := ConfTerminalApps[i];
Break;
end;
+ if ConfDiffCommand = ConfAppNA then
+ for i := 1 to Length(ConfDiffApps) do
+ if FileSearch(ConfDiffApps[i], PATH) <> '' then begin
+ ConfDiffCommand := ConfDiffApps[i];
+ ConfDiffDirCommand := Format('%s %s', [ConfDiffApps[i], ConfDiffDirAppsDirsParams[i]]);
+ Break;
+ end;
end;
(********************************************************************************************************************************)