object frmBottleChainList: TfrmBottleChainList
Left = 0
Top = 0
- Width = 362
+ Width = 420
Height = 260
TabOrder = 0
DesignSize = (
- 362
+ 420
260)
object lstRules: TCheckListBox
Left = 0
Top = 0
- Width = 289
+ Width = 347
Height = 260
OnClickCheck = lstRulesClickCheck
Align = alLeft
OnMeasureItem = lstRulesMeasureItem
end
object btnDelete: TButton
- Left = 294
+ Left = 352
Top = 200
Width = 65
Height = 25
OnClick = btnDeleteClick
end
object btnAdd: TButton
- Left = 294
+ Left = 352
Top = 232
Width = 65
Height = 25
OnClick = btnAddClick
end
object btnDown: TButton
- Left = 294
+ Left = 352
Top = 96
- Width = 67
+ Width = 65
Height = 25
Anchors = [akRight, akBottom]
Caption = #19979#12408'(&D)'
OnClick = btnDownClick
end
object btnUp: TButton
- Left = 294
+ Left = 352
Top = 64
- Width = 67
+ Width = 65
Height = 25
Anchors = [akRight, akBottom]
Caption = #19978#12408'(&U)'
OnClick = btnUpClick
end
object btnEdit: TButton
- Left = 294
+ Left = 352
Top = 136
Width = 65
Height = 25
OnClick = EditRule
end
object btnDuplicate: TButton
- Left = 294
+ Left = 352
Top = 168
Width = 65
Height = 25
--- /dev/null
+object frmReplacePresetList: TfrmReplacePresetList
+ Left = 0
+ Top = 0
+ Width = 420
+ Height = 260
+ TabOrder = 0
+ DesignSize = (
+ 420
+ 260)
+ object lstPresets: TListBox
+ Left = 0
+ Top = 0
+ Width = 348
+ Height = 260
+ Style = lbOwnerDrawFixed
+ Align = alLeft
+ Anchors = [akLeft, akTop, akRight, akBottom]
+ ItemHeight = 48
+ TabOrder = 0
+ end
+ object btnMoveUp: TButton
+ Left = 353
+ Top = 64
+ Width = 65
+ Height = 25
+ Anchors = [akRight, akBottom]
+ Caption = #19978#12408'(&U)'
+ TabOrder = 1
+ OnClick = btnMoveUpClick
+ end
+ object btnMoveDown: TButton
+ Left = 353
+ Top = 96
+ Width = 65
+ Height = 25
+ Anchors = [akRight, akBottom]
+ Caption = #19979#12408'(&O)'
+ TabOrder = 2
+ OnClick = btnMoveDownClick
+ end
+ object btnEdit: TButton
+ Left = 353
+ Top = 136
+ Width = 65
+ Height = 25
+ Anchors = [akRight, akBottom]
+ Caption = #32232#38598'(&E)'
+ TabOrder = 3
+ OnClick = btnEditClick
+ end
+ object btnClone: TButton
+ Left = 353
+ Top = 168
+ Width = 65
+ Height = 25
+ Anchors = [akRight, akBottom]
+ Caption = #12467#12500#12540'(&C)'
+ TabOrder = 4
+ OnClick = btnCloneClick
+ end
+ object btnDelete: TButton
+ Left = 353
+ Top = 200
+ Width = 65
+ Height = 25
+ Anchors = [akRight, akBottom]
+ Caption = #21066#38500'(&D)'
+ TabOrder = 5
+ OnClick = btnDeleteClick
+ end
+ object btnAdd: TButton
+ Left = 353
+ Top = 230
+ Width = 65
+ Height = 25
+ Anchors = [akRight, akBottom]
+ Caption = #36861#21152'(&I)'
+ TabOrder = 6
+ OnClick = btnAddClick
+ end
+end
--- /dev/null
+unit ReplacePresetListFrame;
+
+interface
+
+uses
+ Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
+ Dialogs, BottleDef, StrReplace, StdCtrls, ReplacePresetEditor;
+
+type
+ TfrmReplacePresetList = class(TFrame)
+ lstPresets: TListBox;
+ btnMoveUp: TButton;
+ btnMoveDown: TButton;
+ btnEdit: TButton;
+ btnClone: TButton;
+ btnDelete: TButton;
+ btnAdd: TButton;
+ procedure btnMoveUpClick(Sender: TObject);
+ procedure btnMoveDownClick(Sender: TObject);
+ procedure btnEditClick(Sender: TObject);
+ procedure btnCloneClick(Sender: TObject);
+ procedure btnDeleteClick(Sender: TObject);
+ procedure btnAddClick(Sender: TObject);
+ protected
+ procedure MoveItem(const Delta: Integer);
+ public
+ procedure UpdateControls;
+ end;
+
+implementation
+
+{$R *.dfm}
+
+{ TfrmReplacePresetList }
+
+procedure TfrmReplacePresetList.UpdateControls;
+var
+ i: Integer;
+ Presets: TReplacePresetCollection;
+begin
+ Presets := Pref.ReplacePresets.Presets;
+ with lstPresets.Items do
+ begin
+ BeginUpdate;
+ try
+ Clear;
+ for i := 0 to Presets.Count-1 do
+ begin
+ Add(Presets[i].Title);
+ end;
+ finally
+ EndUpdate;
+ end;
+ end;
+end;
+
+procedure TfrmReplacePresetList.btnMoveUpClick(Sender: TObject);
+begin
+ MoveItem(-1);
+end;
+
+procedure TfrmReplacePresetList.btnMoveDownClick(Sender: TObject);
+begin
+ MoveItem(1);
+end;
+
+procedure TfrmReplacePresetList.MoveItem(const Delta: Integer);
+var
+ TargetIndex: Integer;
+ Presets: TReplacePresetCollection;
+ Item: TReplacePreset;
+begin
+ TargetIndex := lstPresets.ItemIndex;
+ if TargetIndex < 0 then
+ Exit;
+ if (TargetIndex + Delta < 0) or (TargetIndex + Delta >= lstPresets.Count) then
+ Exit;
+ Presets := Pref.ReplacePresets.Presets;
+ // \88ê\92U\83A\83C\83e\83\80\82ð\94²\82«\8fo\82·
+ Item := Presets[TargetIndex];
+ Item.Collection := nil; // \82±\82ê\82Å\83R\83\8c\83N\83V\83\87\83\93\82©\82ç\8aO\82ê\82é
+ // \90V\82µ\82¢\8fê\8f\8a\82É\83A\83C\83e\83\80\82ð\8dì\82Á\82Ä\91ã\93ü\82·\82é
+ Presets.Insert(TargetIndex + Delta).Assign(Item);
+ lstPresets.Items.Move(TargetIndex, TargetIndex + Delta);
+end;
+
+procedure TfrmReplacePresetList.btnEditClick(Sender: TObject);
+var
+ Target: TReplacePreset;
+ Index: Integer;
+ Form: TfrmReplacePresetEditor;
+begin
+ Index := lstPresets.ItemIndex;
+ if Index < 0 then
+ Exit;
+ Target := Pref.ReplacePresets.Presets[Index];
+ Application.CreateForm(TfrmReplacePresetEditor, Form);
+ try
+ with Form do
+ begin
+ AskForTitle := true;
+ Title := Target.Title;
+ ShortCut := Target.ShortCut;
+ Pairs := Target.Pairs;
+ if Execute then
+ begin
+ Target.Title := Title;
+ Target.ShortCut := ShortCut;
+ Target.Pairs := Pairs;
+ lstPresets.Invalidate;
+ end;
+ end;
+ finally
+ Form.Release;
+ end;
+end;
+
+procedure TfrmReplacePresetList.btnCloneClick(Sender: TObject);
+var
+ Index: Integer;
+ Target, New: TReplacePreset;
+begin
+ Index := lstPresets.ItemIndex;
+ if Index < 0 then
+ Exit;
+ Target := Pref.ReplacePresets.Presets[Index];
+ New := Pref.ReplacePresets.Presets.Add;
+ New.Assign(Target);
+ New.Title := Target.Title + '\82Ì\83R\83s\81[';
+ lstPresets.Items.Add(New.Title);
+ lstPresets.ItemIndex := lstPresets.Items.Count-1;
+end;
+
+procedure TfrmReplacePresetList.btnDeleteClick(Sender: TObject);
+var
+ Index: Integer;
+ Target: TReplacePreset;
+begin
+ Index := lstPresets.ItemIndex;
+ Target := Pref.ReplacePresets.Presets[Index];
+ Target.Free; // \8f\9f\8eè\82É\83R\83\8c\83N\83V\83\87\83\93\82Ì\83\8a\83X\83g\82©\82ç\8aO\82ê\82é
+ lstPresets.Items.Delete(Index);
+end;
+
+procedure TfrmReplacePresetList.btnAddClick(Sender: TObject);
+var
+ New: TReplacePreset;
+ Form: TfrmReplacePresetEditor;
+begin
+ New := TReplacePreset.Create(nil);
+ try
+ Application.CreateForm(TfrmReplacePresetEditor, Form);
+ try
+ with Form do
+ begin
+ AskForTitle := true;
+ Title := New.Title;
+ ShortCut := New.ShortCut;
+ Pairs := New.Pairs;
+ if Execute then
+ begin
+ Pref.ReplacePresets.Presets.Add.Assign(New);
+ lstPresets.Items.Add(New.Title);
+ end;
+ end;
+ finally
+ Form.Release;
+ end;
+ finally
+ New.Free;
+ end;
+end;
+
+end.
Top = 32
Width = 440
Height = 291
- ActivePage = tstGeneral
+ ActivePage = tstPresetReplace
Anchors = [akLeft, akTop, akRight, akBottom]
MultiLine = True
TabOrder = 0
inline frmRuleList: TfrmBottleChainList
Left = 4
Top = 7
- Width = 421
+ Width = 420
+ Height = 260
+ TabOrder = 0
+ end
+ end
+ object tstPresetReplace: TTabSheet
+ Caption = #12503#12522#12475#12483#12488#32622#25563': '#12513#12491#12517#12540#12363#12425#21628#12403#20986#12379#12427#25991#23383#21015#32622#25563#12398#35373#23450
+ ImageIndex = 10
+ TabVisible = False
+ inline frmReplacePresetList1: TfrmReplacePresetList
+ Left = 4
+ Top = 7
+ Width = 420
Height = 260
TabOrder = 0
DesignSize = (
- 421
+ 420
260)
- inherited lstRules: TCheckListBox
- Width = 345
- end
- inherited btnDelete: TButton
- Left = 350
- Hint = #12523#12540#12523#12434#21066#38500
- end
- inherited btnAdd: TButton
- Left = 350
- Hint = #26032#12375#12356#12523#12540#12523#12434#36861#21152
- Caption = #36861#21152'(&I)'
- end
- inherited btnDown: TButton
- Left = 350
- Hint = #19979#12395#31227#21205
- Caption = #19979#12408'(&O)'
- end
- inherited btnUp: TButton
- Left = 350
- Hint = #19978#12395#31227#21205
- end
- inherited btnEdit: TButton
- Left = 350
- Hint = #29694#22312#12398#12523#12540#12523#12434#32232#38598
- end
- inherited btnDuplicate: TButton
- Left = 350
- end
end
end
object tstPlayTime: TTabSheet
Height = 20
Hint = #20104#28204#12497#12521#12513#12540#12479#12398#12463#12452#12483#12463#35373#23450
Style = csDropDownList
- ItemHeight = 12
+ ItemHeight = 0
TabOrder = 0
OnChange = cbxPlayTimeProfileChange
end
ComCtrls, StdCtrls, ExtCtrls, BottleDef, Spin,
CPCConfigTreeView, ColorSettingFrame, BottleChainListFrame, SakuraSeekerInstance,
ImgList, StrListEditor, SppList, Plugins, Clipbrd, SsPlayTime, StrUtils,
- SpecialCharEditor;
+ SpecialCharEditor, ReplacePresetListFrame;
type
TfrmSetting = class(TForm)
edtBrowserName: TEdit;
BrowserLocateOpenDialog: TOpenDialog;
btnBrowserLocate: TButton;
+ tstPresetReplace: TTabSheet;
+ frmReplacePresetList1: TfrmReplacePresetList;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure edtProxyPortKeyPress(Sender: TObject; var Key: Char);
procedure ctvBottleNodeChecked(Sender: TObject;
RegexUtils in 'RegexUtils.pas',
StrReplaceFrame in 'StrReplaceFrame.pas' {frmStrReplaceFrame: TFrame},
StrReplaceDialog in 'StrReplaceDialog.pas' {frmStrReplaceDialog},
- ReplacePresetEditor in 'ReplacePresetEditor.pas' {frmReplacePresetEditor: TFrame};
+ ReplacePresetEditor in 'ReplacePresetEditor.pas' {frmReplacePresetEditor: TFrame},
+ ReplacePresetListFrame in 'ReplacePresetListFrame.pas' {frmReplacePresetList: TFrame};
// \8c^\95t\82«\92è\90\94\82ð\95Ï\8dX\82Å\82«\82é\82æ\82¤\82É\82·\82é\83R\83\93\83p\83C\83\89\83I\83v\83V\83\87\83\93
// \88ê\95\94\82Ì\83R\83\93\83|\81[\83l\83\93\83g\82É\82±\82ê\82ª\95K\97v