doublecmd/src/ftweakplugin.lfm
Denis Bisson b3143b2aca CHG: Few modifications regarding plugins configuration.
ADD: Warn the user when attempting to quit the plugin configuration without having saved possible unsaved modification.
ADD: In the plugin configuration table, if a text is too large to fit in a column, a tooltip is displayed showing the complete text.
ADD: Individual configuration pages for DSX, WCX, WDX, WFX and WLX plugins.
ADD: Plugin tweak dialog windows now remember their dimensions from a session to another.
ADD: Double-click on an item in the list of plugins in the configuration now trigs the tweak window for selected plugin.
ADD: When we just add a plugin, it is now the selected one in the list.
ADD: Add an option to go to tweak dialog window right after a plugin in added.
CHG: The path to the plugin is now *loaded*, *displayed* and *saved* as what the user sees.
CHG: The path for the plugin files may now be defined with full relative path based on either windows special folders, environment variables or full complete path. It is not simply on a path deeper than %COMMANDERPATH% like it was before.
ADD: In the plugin tweak dialog window, we now have an actual "TFileNameEdit" with a button and the file requester to select our plugin location.
ADD: In the plugin tweak dialog window, we now have a button with a popup menu to help to adapt the path of the plugin location like to make it relative to a specified location.
ADD: There is now an option to make DC automatically use relative path to what we want when we add a plugin file. We may also apply that retro-active.
ADD: In the plugin configuration, do not display a column if not pertinent (like column 2 in WFX).
ADD: In the WCX plugin configuration window, we may display plugins grouped by plugin file or by file extension as they appear in config file AND how they are actually used when searching for a qualified one.
ADD: Add the internal command "cm_ConfigPlugins".
FIX: Added WCX plugin associated with an empty extension was not displayed at first in the grid and needed to close and reopen the configuration window. This is fixed.
FIX: Adding a file extension associated with a WCX plugin in the tweaking window from a WCX where previously *just one* extension was associated was not switching enabled the "Remove" button. This is fixed.
UPD: Languages files have been modified, but efforts have been made to re-use existing translations and to avoid "fuzzy" attributes.
2018-11-03 20:17:43 +00:00

576 lines
20 KiB
Text

object frmTweakPlugin: TfrmTweakPlugin
Left = 297
Height = 703
Top = 155
Width = 533
AutoSize = True
Caption = 'Tweak plugin'
ClientHeight = 703
ClientWidth = 533
OnCreate = FormCreate
Position = poScreenCenter
ShowInTaskBar = stNever
LCLVersion = '1.8.4.0'
object nbTweakAll: TNotebook
Left = 0
Height = 664
Top = 0
Width = 533
PageIndex = 0
Align = alClient
TabOrder = 0
TabStop = True
object pgTweakPacker: TPage
object pnlTweak: TPanel
Left = 6
Height = 652
Top = 6
Width = 521
Align = alClient
BorderSpacing.Around = 6
BevelOuter = bvNone
BorderStyle = bsSingle
ChildSizing.LeftRightSpacing = 6
ChildSizing.TopBottomSpacing = 6
ClientHeight = 648
ClientWidth = 517
TabOrder = 0
object lblFlagsValue: TLabel
AnchorSideLeft.Control = lblFlags
AnchorSideLeft.Side = asrCenter
AnchorSideTop.Control = lblFlags
AnchorSideTop.Side = asrBottom
Left = 21
Height = 1
Top = 86
Width = 1
ParentColor = False
end
object lblPlugin: TLabel
AnchorSideLeft.Control = pnlTweak
AnchorSideTop.Control = pnlTweak
Left = 6
Height = 15
Top = 12
Width = 37
BorderSpacing.Top = 12
Caption = '&Plugin:'
ParentColor = False
end
object lblExtension: TLabel
AnchorSideLeft.Control = lblPlugin
AnchorSideTop.Side = asrBottom
Left = 6
Height = 15
Top = 43
Width = 53
BorderSpacing.Top = 12
Caption = '&Extension:'
FocusControl = cbExt
ParentColor = False
end
object lblFlags: TLabel
AnchorSideLeft.Control = lblExtension
AnchorSideTop.Control = pnlPackerExtsButtons
AnchorSideTop.Side = asrBottom
Left = 6
Height = 15
Top = 71
Width = 30
BorderSpacing.Top = 8
Caption = 'Flags:'
ParentColor = False
end
object pnlPackerExtsButtons: TPanel
AnchorSideLeft.Control = lblExtension
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = lblExtension
AnchorSideTop.Side = asrCenter
AnchorSideRight.Control = pnlTweak
AnchorSideRight.Side = asrBottom
Left = 71
Height = 25
Top = 38
Width = 440
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Left = 12
BevelOuter = bvNone
ChildSizing.EnlargeHorizontal = crsScaleChilds
ChildSizing.ShrinkHorizontal = crsScaleChilds
ChildSizing.Layout = cclTopToBottomThenLeftToRight
ClientHeight = 25
ClientWidth = 440
TabOrder = 0
object cbExt: TComboBox
Left = 0
Height = 23
Top = 0
Width = 129
Constraints.MinWidth = 80
ItemHeight = 15
OnChange = cbExtChange
Style = csDropDownList
TabOrder = 0
end
object btnRemove: TButton
Left = 129
Height = 25
Top = 0
Width = 104
AutoSize = True
Caption = '&Remove'
Constraints.MinWidth = 80
OnClick = btnRemoveClick
TabOrder = 1
end
object btnAdd: TButton
Left = 233
Height = 25
Top = 0
Width = 104
AutoSize = True
Caption = 'A&dd new'
Constraints.MinWidth = 80
OnClick = btnAddClick
TabOrder = 2
end
object btnChange: TButton
Left = 337
Height = 25
Top = 0
Width = 103
AutoSize = True
Caption = 'C&hange'
Constraints.MinWidth = 80
OnClick = btnChangeClick
TabOrder = 3
end
end
object pnlFlags: TPanel
AnchorSideLeft.Control = pnlPackerExtsButtons
AnchorSideTop.Control = lblFlags
AnchorSideRight.Control = pnlTweak
AnchorSideRight.Side = asrBottom
Left = 71
Height = 221
Top = 71
Width = 226
AutoSize = True
BevelOuter = bvNone
ChildSizing.Layout = cclLeftToRightThenTopToBottom
ClientHeight = 221
ClientWidth = 226
TabOrder = 1
object cbPK_CAPS_NEW: TCheckBox
Left = 0
Height = 19
Top = 0
Width = 226
Caption = 'Can create new archi&ves'
OnClick = cbPackerFlagsClick
TabOrder = 0
end
object cbPK_CAPS_MODIFY: TCheckBox
Left = 0
Height = 19
Top = 19
Width = 226
Caption = 'Can &modify existing archives'
OnClick = cbPackerFlagsClick
TabOrder = 1
end
object cbPK_CAPS_MULTIPLE: TCheckBox
Left = 0
Height = 19
Top = 38
Width = 226
Caption = '&Archive can contain multiple files'
OnClick = cbPackerFlagsClick
TabOrder = 2
end
object cbPK_CAPS_DELETE: TCheckBox
Left = 0
Height = 19
Top = 57
Width = 226
Caption = 'Can de&lete files'
OnClick = cbPackerFlagsClick
TabOrder = 3
end
object cbPK_CAPS_OPTIONS: TCheckBox
Left = 0
Height = 19
Top = 76
Width = 226
Caption = 'S&upports the options dialogbox'
OnClick = cbPackerFlagsClick
TabOrder = 4
end
object cbPK_CAPS_MEMPACK: TCheckBox
Left = 0
Height = 19
Top = 95
Width = 226
Caption = 'Supports pac&king in memory'
OnClick = cbPackerFlagsClick
TabOrder = 5
end
object cbPK_CAPS_BY_CONTENT: TCheckBox
Left = 0
Height = 19
Top = 114
Width = 226
Caption = 'De&tect archive type by content'
OnClick = cbPackerFlagsClick
TabOrder = 6
end
object cbPK_CAPS_SEARCHTEXT: TCheckBox
Left = 0
Height = 19
Top = 133
Width = 226
Caption = 'Allow searchin&g for text in archives'
OnClick = cbPackerFlagsClick
TabOrder = 7
end
object cbPK_CAPS_HIDE: TCheckBox
Left = 0
Height = 19
Top = 152
Width = 226
Caption = 'Sho&w as normal files (hide packer icon)'
OnClick = cbPackerFlagsClick
TabOrder = 8
end
object cbPK_CAPS_ENCRYPT: TCheckBox
Left = 0
Height = 19
Top = 171
Width = 226
Caption = 'Supports e&ncryption'
OnClick = cbPackerFlagsClick
TabOrder = 9
end
object btnDefault: TButton
AnchorSideLeft.Control = cbPK_CAPS_ENCRYPT
AnchorSideTop.Control = cbPK_CAPS_ENCRYPT
AnchorSideTop.Side = asrBottom
Left = 0
Height = 25
Top = 196
Width = 100
AutoSize = True
BorderSpacing.Top = 6
Caption = 'De&fault'
Constraints.MinWidth = 100
OnClick = btnDefaultClick
TabOrder = 10
end
end
object fnePlugin1: TFileNameEdit
AnchorSideLeft.Control = lblPlugin2
AnchorSideTop.Control = lblPlugin
AnchorSideTop.Side = asrCenter
AnchorSideRight.Control = btnRelativePlugin1
Left = 71
Height = 23
Top = 8
Width = 412
DialogOptions = []
FilterIndex = 0
HideDirectories = False
ButtonWidth = 23
NumGlyphs = 1
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Top = 6
BorderSpacing.Bottom = 8
MaxLength = 0
TabOrder = 2
end
object btnRelativePlugin1: TSpeedButton
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = fnePlugin1
AnchorSideRight.Control = pnlTweak
AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = fnePlugin1
AnchorSideBottom.Side = asrBottom
Left = 483
Height = 23
Hint = 'Some functions to select appropriate path'
Top = 8
Width = 24
Anchors = [akTop, akRight, akBottom]
BorderSpacing.Right = 10
Glyph.Data = {
36040000424D3604000000000000360000002800000010000000100000000100
20000000000000040000640000006400000000000000000000002C86D8702D88
D8A62D87D8EA2D88D8F72D88D8F72D88D8F72D88D8F72D88D8F72D88D8F72D88
D8F72D88D8F72D87D8F72D88D8F12C86D893FFFFFF00FFFFFF00338ED9E6DCF0
FAF0A7DDF4FD9EDBF4FF96DAF3FF8ED8F3FF86D7F3FF7FD4F2FF79D3F2FF72D2
F1FF6CD0F1FF69CFF1FFC2EAF8FE338ED9F0FFFFFF00FFFFFF003594DAF7EFFA
FEFFA1E9F9FF91E5F8FF81E1F7FF72DEF6FF63DAF5FF54D7F4FF47D3F3FF39D0
F2FF2ECDF1FF26CBF0FFCAF2FBFF3594DAF7FFFFFF00FFFFFF00369ADAF8F2FA
FDFFB3EDFAFFA4E9F9FF95E6F8FF85E2F7FF81E1F7FF7AE0F7FF7CE0F7FF62DA
F5FF54D6F3FF47D3F2FFE8F9FDFF3594DAFFFFFFFF00FFFFFF0036A1DAF9F6FC
FEFFC8F2FCFFB9EFFBFF94DFEFFF8CE4F8FF99CED3FF91D0D8FF82E1F7FF6DDD
F6FF61DAF5FF57D7F4FFE7F8FDFF3594DAFFFFFFFF00FFFFFF0037A6DAFAFEFF
FFFFF8FDFFFFF6FDFFFFF4F4F2FFE8FAFEFFB6D7D8FFAAC7C5FF92D8E4FF7DE0
F7FF72DDF6FF68DBF5FFE9F9FDFF3594DAFFFFFFFF00FFFFFF0035ABDAFAE8F6
FBFF7EC5EAFF4AA3DFFF5E97C2FF4DA3DEFFF2F1EDFFF3EFECFFEDE5DFFFEDEB
E8FFF1F9FDFFF0F9FDFFFFFFFFFF3594DAFFFFFFFF00FFFFFF0036AADAF2F1FA
FDFF94DEF5FF93DCF4FFACBFBFFFBC9F90FF64A1CFFF3594DAFF3594DAFF3594
DAFF3594DAFF3594DAFF3594DAFF3594DAFFFFFFFF00FFFFFF0035AFDAF0F7FC
FEFF8EE4F8FF91DEF5FF9FE0F5FFC5C7C2FFDFA583FFEDC8B3FFEDCDB8FFE9BE
A3FFD58E64FFEEFBFEFFFAFDFFF936AFDAD4FFFFFF00FFFFFF0036B3DAF8FDFE
FEFFFEFFFFFFFEFEFFFFFDFEFFFFFEFFFFFFE7D6C9FFE0A987FFEBC7B0FFDDA1
7CFFBCA595FF839DA5FC7BAEBEEC6395A58E81818117FFFFFF0034B4D9D05EC2
E1FA60C3E2FA60C3E2FA60C3E2FA5FC3E2FA3CB6DBDDD5B1968CDDAB8DF9C4AF
A3FFD5D5D5FFBBBBBBFFA6A6A6FFA0A0A0FF848484E482828262FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00969696029494
94C5CBCBCBFFD2D2D2FFC9C9C9FFD2D2D2FFC6C6C6FF858585E8FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF009898
9855B2B2B2FFD6D6D6FF919191DA8E8E8EF5C0C0C0FF898989FDFFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF009B9B
9B54B5B5B5FFE6E6E6FF949494EF929292AF8F8F8FA68D8D8D90FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF009E9E
9E1B9C9C9CE4E1E1E1FFD2D2D2FF969696ABFFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF009E9E9E629D9D9DE89B9B9BF999999992FFFFFF00FFFFFF00
}
OnClick = btnRelativePlugin1Click
end
end
end
object pgTweakOther: TPage
object pnlTweakOther: TPanel
Left = 6
Height = 652
Top = 6
Width = 521
Align = alClient
Anchors = [akTop, akLeft, akRight]
AutoSize = True
BorderSpacing.Around = 6
BevelOuter = bvNone
BorderStyle = bsSingle
ClientHeight = 652
ClientWidth = 521
TabOrder = 0
object lblName: TLabel
AnchorSideLeft.Control = lblPlugin2
AnchorSideTop.Control = fnePlugin2
AnchorSideTop.Side = asrBottom
Left = 10
Height = 15
Top = 60
Width = 35
Caption = '&Name:'
FocusControl = edtName
ParentColor = False
end
object lblDetectStr: TLabel
AnchorSideLeft.Control = lblName
AnchorSideTop.Control = edtName
AnchorSideTop.Side = asrBottom
Left = 10
Height = 15
Top = 112
Width = 70
Caption = 'D&etect string:'
FocusControl = edtDetectStr
ParentColor = False
end
object lblDescription: TLabel
AnchorSideLeft.Control = lblDetectStr
AnchorSideTop.Control = edtDetectStr
AnchorSideTop.Side = asrBottom
Left = 10
Height = 15
Top = 164
Width = 63
Caption = '&Description:'
FocusControl = edtDescription
ParentColor = False
end
object edtName: TEdit
AnchorSideLeft.Control = lblName
AnchorSideTop.Control = lblName
AnchorSideTop.Side = asrBottom
AnchorSideRight.Side = asrBottom
Left = 10
Height = 23
Top = 81
Width = 493
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Top = 6
BorderSpacing.Bottom = 8
TabOrder = 1
end
object edtDetectStr: TEdit
AnchorSideTop.Control = lblDetectStr
AnchorSideTop.Side = asrBottom
AnchorSideRight.Side = asrBottom
Left = 10
Height = 23
Top = 133
Width = 493
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Top = 6
BorderSpacing.Bottom = 8
TabOrder = 2
end
object edtDescription: TEdit
AnchorSideTop.Control = lblDescription
AnchorSideTop.Side = asrBottom
AnchorSideRight.Side = asrBottom
Left = 10
Height = 23
Top = 185
Width = 493
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Top = 6
BorderSpacing.Bottom = 8
TabOrder = 3
end
object lblPlugin2: TLabel
AnchorSideLeft.Control = pnlTweakOther
AnchorSideTop.Control = pnlTweakOther
Left = 10
Height = 15
Top = 8
Width = 37
BorderSpacing.Left = 10
BorderSpacing.Top = 8
Caption = '&Plugin:'
FocusControl = fnePlugin2
ParentColor = False
end
object fnePlugin2: TFileNameEdit
AnchorSideLeft.Control = lblPlugin2
AnchorSideTop.Control = lblPlugin2
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = btnRelativePlugin2
Left = 10
Height = 23
Top = 29
Width = 473
DialogOptions = []
FilterIndex = 0
HideDirectories = False
ButtonWidth = 23
Constraints.MinWidth = 350
NumGlyphs = 1
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Top = 6
BorderSpacing.Bottom = 8
MaxLength = 0
TabOrder = 0
end
object btnRelativePlugin2: TSpeedButton
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = fnePlugin2
AnchorSideRight.Control = pnlTweakOther
AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = fnePlugin2
AnchorSideBottom.Side = asrBottom
Left = 483
Height = 23
Hint = 'Some functions to select appropriate path'
Top = 29
Width = 24
Anchors = [akTop, akRight, akBottom]
BorderSpacing.Right = 10
Glyph.Data = {
36040000424D3604000000000000360000002800000010000000100000000100
20000000000000040000640000006400000000000000000000002C86D8702D88
D8A62D87D8EA2D88D8F72D88D8F72D88D8F72D88D8F72D88D8F72D88D8F72D88
D8F72D88D8F72D87D8F72D88D8F12C86D893FFFFFF00FFFFFF00338ED9E6DCF0
FAF0A7DDF4FD9EDBF4FF96DAF3FF8ED8F3FF86D7F3FF7FD4F2FF79D3F2FF72D2
F1FF6CD0F1FF69CFF1FFC2EAF8FE338ED9F0FFFFFF00FFFFFF003594DAF7EFFA
FEFFA1E9F9FF91E5F8FF81E1F7FF72DEF6FF63DAF5FF54D7F4FF47D3F3FF39D0
F2FF2ECDF1FF26CBF0FFCAF2FBFF3594DAF7FFFFFF00FFFFFF00369ADAF8F2FA
FDFFB3EDFAFFA4E9F9FF95E6F8FF85E2F7FF81E1F7FF7AE0F7FF7CE0F7FF62DA
F5FF54D6F3FF47D3F2FFE8F9FDFF3594DAFFFFFFFF00FFFFFF0036A1DAF9F6FC
FEFFC8F2FCFFB9EFFBFF94DFEFFF8CE4F8FF99CED3FF91D0D8FF82E1F7FF6DDD
F6FF61DAF5FF57D7F4FFE7F8FDFF3594DAFFFFFFFF00FFFFFF0037A6DAFAFEFF
FFFFF8FDFFFFF6FDFFFFF4F4F2FFE8FAFEFFB6D7D8FFAAC7C5FF92D8E4FF7DE0
F7FF72DDF6FF68DBF5FFE9F9FDFF3594DAFFFFFFFF00FFFFFF0035ABDAFAE8F6
FBFF7EC5EAFF4AA3DFFF5E97C2FF4DA3DEFFF2F1EDFFF3EFECFFEDE5DFFFEDEB
E8FFF1F9FDFFF0F9FDFFFFFFFFFF3594DAFFFFFFFF00FFFFFF0036AADAF2F1FA
FDFF94DEF5FF93DCF4FFACBFBFFFBC9F90FF64A1CFFF3594DAFF3594DAFF3594
DAFF3594DAFF3594DAFF3594DAFF3594DAFFFFFFFF00FFFFFF0035AFDAF0F7FC
FEFF8EE4F8FF91DEF5FF9FE0F5FFC5C7C2FFDFA583FFEDC8B3FFEDCDB8FFE9BE
A3FFD58E64FFEEFBFEFFFAFDFFF936AFDAD4FFFFFF00FFFFFF0036B3DAF8FDFE
FEFFFEFFFFFFFEFEFFFFFDFEFFFFFEFFFFFFE7D6C9FFE0A987FFEBC7B0FFDDA1
7CFFBCA595FF839DA5FC7BAEBEEC6395A58E81818117FFFFFF0034B4D9D05EC2
E1FA60C3E2FA60C3E2FA60C3E2FA5FC3E2FA3CB6DBDDD5B1968CDDAB8DF9C4AF
A3FFD5D5D5FFBBBBBBFFA6A6A6FFA0A0A0FF848484E482828262FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00969696029494
94C5CBCBCBFFD2D2D2FFC9C9C9FFD2D2D2FFC6C6C6FF858585E8FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF009898
9855B2B2B2FFD6D6D6FF919191DA8E8E8EF5C0C0C0FF898989FDFFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF009B9B
9B54B5B5B5FFE6E6E6FF949494EF929292AF8F8F8FA68D8D8D90FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF009E9E
9E1B9C9C9CE4E1E1E1FFD2D2D2FF969696ABFFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF009E9E9E629D9D9DE89B9B9BF999999992FFFFFF00FFFFFF00
}
OnClick = btnRelativePlugin2Click
end
end
end
end
object pnlButtons: TPanel
Left = 0
Height = 39
Top = 664
Width = 533
Align = alBottom
AutoSize = True
BevelOuter = bvNone
ClientHeight = 39
ClientWidth = 533
TabOrder = 1
object btnOK: TButton
AnchorSideTop.Control = btnCancel
AnchorSideTop.Side = asrCenter
AnchorSideRight.Control = btnCancel
Left = 318
Height = 25
Top = 7
Width = 100
Anchors = [akTop, akRight]
AutoSize = True
BorderSpacing.Right = 8
Caption = '&OK'
Constraints.MinWidth = 100
Default = True
ModalResult = 1
TabOrder = 0
end
object btnCancel: TButton
AnchorSideTop.Control = pnlButtons
AnchorSideRight.Control = pnlButtons
AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = pnlButtons
AnchorSideBottom.Side = asrBottom
Left = 426
Height = 25
Top = 7
Width = 100
Anchors = [akTop, akRight, akBottom]
AutoSize = True
BorderSpacing.Around = 7
Cancel = True
Caption = '&Cancel'
Constraints.MinWidth = 100
ModalResult = 2
TabOrder = 1
end
end
object pmPathHelper: TPopupMenu
left = 224
top = 600
end
end