diff options
| author | Tomas Bzatek <tbzatek@users.sourceforge.net> | 2010-03-27 21:12:10 +0100 |
|---|---|---|
| committer | Tomas Bzatek <tbzatek@users.sourceforge.net> | 2010-03-27 21:12:10 +0100 |
| commit | 6fdb16ee503199c431e875e96f42dd89cfb13c92 (patch) | |
| tree | 51d0ece1ac37c44db8aada18e417e8b6e5974e08 /UConfig.pas | |
| parent | 6cfb7975c083098e2e2ec4746fca21dc16c0dc02 (diff) | |
| download | tuxcmd-0.6.78.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.pas | 35 |
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; (********************************************************************************************************************************) |
