Explorar el Código

Wizard changes

Herman Schoenfeld hace 7 años
padre
commit
691b8e7829

+ 4 - 4
src/gui/wizards/operations/UWIZChangeKey_EnterKey.pas

@@ -18,7 +18,7 @@ interface
 uses
   Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
   ExtCtrls, Buttons, UCommon, UCommon.Collections, UWallet,
-  UFRMAccountSelect, UNode, UWizard, UWIZFeeOverride, UWIZPayloadOverride, UWIZSelectSignerOverride,
+  UFRMAccountSelect, UNode, UWizard, UWIZOperationFee_Custom, UWIZOperationPayload_Encryption, UWIZOperationSigner_Select,
   UWIZChangeKey_Confirmation, UWIZModels;
 
 type
@@ -53,18 +53,18 @@ begin
 
   if chkChooseFee.Checked then
   begin
-    UpdatePath(ptReplaceAllNext, [TWIZFeeOverride, TWIZChangeKey_Confirmation]);
+    UpdatePath(ptReplaceAllNext, [TWIZOperationFee_Custom, TWIZChangeKey_Confirmation]);
   end
   else
   begin
     Model.Fee.SingleOperationFee := TSettings.DefaultFee;
     if Model.Payload.HasPayload then
     begin
-      UpdatePath(ptReplaceAllNext, [TWIZPayloadOverride, TWIZChangeKey_Confirmation]);
+      UpdatePath(ptReplaceAllNext, [TWIZOperationPayload_Encryption, TWIZChangeKey_Confirmation]);
     end
     else
     begin
-      UpdatePath(ptReplaceAllNext, [TWIZSelectSignerOverride, TWIZChangeKey_Confirmation]);
+      UpdatePath(ptReplaceAllNext, [TWIZOperationSigner_Select, TWIZChangeKey_Confirmation]);
     end;
   end;
 end;

+ 4 - 4
src/gui/wizards/operations/UWIZChangeKey_SelectKey.pas

@@ -19,7 +19,7 @@ uses
   Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
   ExtCtrls, Buttons, UCommon, UCommon.Collections, UWallet,
   UFRMAccountSelect, UNode, UWizard,
-  UWIZChangeKey_Confirmation, UWIZFeeOverride, UWIZSelectSignerOverride, UWIZPayloadOverride, UWIZModels;
+  UWIZChangeKey_Confirmation, UWIZOperationFee_Custom, UWIZOperationSigner_Select, UWIZOperationPayload_Encryption, UWIZModels;
 
 type
 
@@ -117,18 +117,18 @@ begin
 
   if chkChooseFee.Checked then
   begin
-    UpdatePath(ptReplaceAllNext, [TWIZFeeOverride, TWIZChangeKey_Confirmation]);
+    UpdatePath(ptReplaceAllNext, [TWIZOperationFee_Custom, TWIZChangeKey_Confirmation]);
   end
   else
   begin
     Model.Fee.SingleOperationFee := TSettings.DefaultFee;
     if Model.Payload.HasPayload then
     begin
-      UpdatePath(ptReplaceAllNext, [TWIZPayloadOverride, TWIZChangeKey_Confirmation]);
+      UpdatePath(ptReplaceAllNext, [TWIZOperationPayload_Encryption, TWIZChangeKey_Confirmation]);
     end
     else
     begin
-      UpdatePath(ptReplaceAllNext, [TWIZSelectSignerOverride, TWIZChangeKey_Confirmation]);
+      UpdatePath(ptReplaceAllNext, [TWIZOperationSigner_Select, TWIZChangeKey_Confirmation]);
     end;
   end;
 end;

+ 4 - 3
src/gui/wizards/operations/UWIZFeeOverride.lfm → src/gui/wizards/operations/UWIZOperationFee_Custom.lfm

@@ -7,13 +7,14 @@ object WIZFeeOverride: TWIZFeeOverride
   Caption = 'WIZFeeOverride'
   ClientHeight = 253
   ClientWidth = 429
+  LCLVersion = '1.8.2.0'
   Visible = False
   object gbTransactionFee: TGroupBox
     Left = 14
     Height = 232
     Top = 8
     Width = 400
-    Caption = 'Transaction Fee'
+    Caption = 'Operation Fee'
     ClientHeight = 212
     ClientWidth = 396
     TabOrder = 0
@@ -23,8 +24,8 @@ object WIZFeeOverride: TWIZFeeOverride
       Top = 35
       Width = 173
       DecimalPlaces = 4
-      Increment = 1
-      MaxValue = 1000000000000
+      Increment = 0.0001
+      MaxValue = 1
       MinValue = 0
       OnChange = fseFeeChange
       TabOrder = 0

+ 12 - 12
src/gui/wizards/operations/UWIZFeeOverride.pas → src/gui/wizards/operations/UWIZOperationFee_Custom.pas

@@ -1,4 +1,4 @@
-unit UWIZFeeOverride;
+unit UWIZOperationFee_Custom;
 
 {$mode delphi}
 {$modeswitch nestedprocvars}
@@ -18,13 +18,13 @@ interface
 uses
   Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
   ExtCtrls, Buttons, Spin, UCommon, UCommon.Collections, UWallet,
-  UFRMAccountSelect, UNode, UWizard, UWIZPayloadOverride, UWIZSelectSignerOverride, UWIZModels;
+  UFRMAccountSelect, UNode, UWizard, UWIZOperationPayload_Encryption, UWIZOperationSigner_Select, UWIZModels;
 
 type
 
-  { TWIZFeeOverride }
+  { TWIZOperationFee_Custom }
 
-  TWIZFeeOverride = class(TWizardForm<TWIZOperationsModel>)
+  TWIZOperationFee_Custom = class(TWizardForm<TWIZOperationsModel>)
     fseFee: TFloatSpinEdit;
     gbTransactionFee: TGroupBox;
     lblestimatedfee: TLabel;
@@ -50,9 +50,9 @@ implementation
 uses
   UAccounts, UUserInterface, USettings;
 
-{ TWIZFeeOverride }
+{ TWIZOperationFee_Custom }
 
-procedure TWIZFeeOverride.UpdateUI();
+procedure TWIZOperationFee_Custom.UpdateUI();
 var
   opfee: int64;
 begin
@@ -61,31 +61,31 @@ begin
     Length(Model.Account.SelectedAccounts))]);
 end;
 
-procedure TWIZFeeOverride.fseFeeChange(Sender: TObject);
+procedure TWIZOperationFee_Custom.fseFeeChange(Sender: TObject);
 begin
   UpdateUI();
 end;
 
-procedure TWIZFeeOverride.OnPresent;
+procedure TWIZOperationFee_Custom.OnPresent;
 begin
   UpdateUI();
 end;
 
-procedure TWIZFeeOverride.OnNext;
+procedure TWIZOperationFee_Custom.OnNext;
 begin
   TAccountComp.TxtToMoney(Trim(fseFee.ValueToStr(fseFee.Value)),
     Model.Fee.SingleOperationFee);
   if Model.Payload.HasPayload then
   begin
-    UpdatePath(ptInject, [TWIZPayloadOverride]);
+    UpdatePath(ptInject, [TWIZOperationPayload_Encryption]);
   end
   else
   begin
-  UpdatePath(ptInject, [TWIZSelectSignerOverride]);
+  UpdatePath(ptInject, [TWIZOperationSigner_Select]);
   end;
 end;
 
-function TWIZFeeOverride.Validate(out message: ansistring): boolean;
+function TWIZOperationFee_Custom.Validate(out message: ansistring): boolean;
 var
   opfee: int64;
 begin

+ 3 - 2
src/gui/wizards/operations/UWIZPayloadContentOverride.lfm → src/gui/wizards/operations/UWIZOperationPayload_Content.lfm

@@ -31,9 +31,10 @@ object WIZPayloadContentOverride: TWIZPayloadContentOverride
       TabOrder = 0
       object mmoPayload: TMemo
         Left = 0
-        Height = 128
+        Height = 176
         Top = 32
-        Width = 386
+        Width = 392
+        Anchors = [akTop, akLeft, akRight, akBottom]
         TabOrder = 0
       end
       object Label1: TLabel

+ 7 - 7
src/gui/wizards/operations/UWIZPayloadContentOverride.pas → src/gui/wizards/operations/UWIZOperationPayload_Content.pas

@@ -1,4 +1,4 @@
-unit UWIZPayloadContentOverride;
+unit UWIZOperationPayload_Content;
 
 {$mode delphi}
 {$modeswitch nestedprocvars}
@@ -18,13 +18,13 @@ interface
 uses
   Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
   ExtCtrls, Buttons, UCommon, UCommon.Collections,
-  UWizard, UWIZSelectSignerOverride, UWIZModels;
+  UWizard, UWIZOperationSigner_Select, UWIZModels;
 
 type
 
-  { TWIZPayloadContentOverride }
+  { TWIZOperationPayload_Content }
 
-  TWIZPayloadContentOverride = class(TWizardForm<TWIZOperationsModel>)
+  TWIZOperationPayload_Content = class(TWizardForm<TWIZOperationsModel>)
     grpPayload: TGroupBox;
     Label1: TLabel;
     mmoPayload: TMemo;
@@ -41,12 +41,12 @@ implementation
 uses
   UAccounts, UUserInterface;
 
-{ TWIZPayloadContentOverride }
+{ TWIZOperationPayload_Content }
 
-procedure TWIZPayloadContentOverride.OnNext;
+procedure TWIZOperationPayload_Content.OnNext;
 begin
   Model.Payload.Content := mmoPayload.Lines.Text;
-   UpdatePath(ptInject, [TWIZSelectSignerOverride]);
+   UpdatePath(ptInject, [TWIZOperationSigner_Select]);
 end;
 
 end.

+ 107 - 0
src/gui/wizards/operations/UWIZOperationPayload_Encryption.lfm

@@ -0,0 +1,107 @@
+object WIZPayloadOverride: TWIZPayloadOverride
+  Left = 0
+  Height = 320
+  Top = 0
+  Width = 511
+  Caption = 'Form1'
+  ClientHeight = 320
+  ClientWidth = 511
+  LCLVersion = '1.8.2.0'
+  Visible = False
+  object grpPayload: TGroupBox
+    Left = 8
+    Height = 311
+    Top = 2
+    Width = 498
+    Anchors = [akTop, akLeft, akRight, akBottom]
+    Caption = 'Operation Payload'
+    ClientHeight = 291
+    ClientWidth = 494
+    TabOrder = 0
+    object lblNote1: TLabel
+      Left = 16
+      Height = 15
+      Top = 8
+      Width = 343
+      Caption = 'What type of payload would you like to attach to your operation?'
+      ParentColor = False
+    end
+    object rbNotEncrypted: TRadioButton
+      Left = 16
+      Height = 19
+      Top = 40
+      Width = 98
+      Caption = 'No Encryption'
+      Font.Style = [fsBold]
+      ParentFont = False
+      TabOrder = 0
+    end
+    object lblNoEncryption: TLabel
+      Left = 32
+      Height = 15
+      Top = 64
+      Width = 366
+      Caption = 'Use this option to specify a publicly visible message anyone can view.'
+      ParentColor = False
+    end
+    object rbEncryptedWithRecipient: TRadioButton
+      Left = 16
+      Height = 19
+      Top = 96
+      Width = 166
+      Caption = 'Encrypt with recipient key'
+      Font.Style = [fsBold]
+      ParentFont = False
+      TabOrder = 1
+    end
+    object lblNoEncryption1: TLabel
+      Left = 32
+      Height = 15
+      Top = 120
+      Width = 373
+      Caption = 'Use this option to specify a message which only the recipient can view.'
+      ParentColor = False
+    end
+    object rbEncryptedWithSender: TRadioButton
+      Left = 16
+      Height = 19
+      Top = 160
+      Width = 154
+      Caption = 'Encrypt with sender key'
+      Checked = True
+      Font.Style = [fsBold]
+      ParentFont = False
+      TabOrder = 2
+      TabStop = True
+    end
+    object lblNoEncryption2: TLabel
+      Left = 32
+      Height = 40
+      Top = 184
+      Width = 453
+      Anchors = [akTop, akLeft, akRight]
+      AutoSize = False
+      Caption = 'Only you will be able to decrypt this message. This is useful for tagging transactions for your own record keeping purposes.'
+      ParentColor = False
+      WordWrap = True
+    end
+    object rbEncryptedWithPassword: TRadioButton
+      Left = 22
+      Height = 19
+      Top = 232
+      Width = 145
+      Caption = 'Encrypt with password'
+      Font.Style = [fsBold]
+      ParentFont = False
+      TabOrder = 3
+    end
+    object Label1: TLabel
+      Left = 32
+      Height = 15
+      Top = 256
+      Width = 313
+      Caption = 'Only those with password will be able to view this message.'
+      ParentColor = False
+    end
+  end
+end

+ 36 - 0
src/gui/wizards/operations/UWIZOperationPayload_Encryption.lrs

@@ -0,0 +1,36 @@
+{ This is an automatically generated lazarus resource file }
+
+LazarusResources.Add('TWIZPayloadOverride','FORMDATA',[
+  'TPF0'#19'TWIZPayloadOverride'#18'WIZPayloadOverride'#4'Left'#2#0#6'Height'#3
+  +#253#0#3'Top'#2#0#5'Width'#3#173#1#13'ActiveControl'#7#21'rbEncryptedWithSen'
+  +'der'#7'Caption'#6#5'Form1'#12'ClientHeight'#3#253#0#11'ClientWidth'#3#173#1
+  +#10'LCLVersion'#6#7'1.8.2.0'#7'Visible'#8#0#9'TGroupBox'#10'grpPayload'#4'Le'
+  +'ft'#2#8#6'Height'#3#244#0#3'Top'#2#2#5'Width'#3#160#1#7'Anchors'#11#5'akTop'
+  +#6'akLeft'#7'akRight'#8'akBottom'#0#7'Caption'#6#19'Transaction Payload'#12
+  +'ClientHeight'#3#224#0#11'ClientWidth'#3#156#1#8'TabOrder'#2#0#0#6'TPanel'#9
+  +'paPayload'#4'Left'#2#8#6'Height'#3#214#0#3'Top'#2#2#5'Width'#3#140#1#7'Anch'
+  +'ors'#11#5'akTop'#6'akLeft'#7'akRight'#8'akBottom'#0#10'BevelOuter'#7#6'bvNo'
+  +'ne'#12'ClientHeight'#3#214#0#11'ClientWidth'#3#140#1#8'TabOrder'#2#0#0#12'T'
+  +'RadioButton'#24'rbEncryptedWithRecipient'#4'Left'#2#3#6'Height'#2#19#3'Top'
+  +#2'@'#5'Width'#3#156#0#7'Caption'#6#26'Encrypt with recipient key'#8'TabOrde'
+  +'r'#2#0#0#0#12'TRadioButton'#21'rbEncryptedWithSender'#4'Left'#2#3#6'Height'
+  +#2#19#3'Top'#2'p'#5'Width'#3#145#0#7'Caption'#6#23'Encrypt with sender key'#7
+  +'Checked'#9#8'TabOrder'#2#1#7'TabStop'#9#0#0#12'TRadioButton'#23'rbEncrypted'
+  +'WithPassword'#4'Left'#2#3#6'Height'#2#19#3'Top'#3#176#0#5'Width'#3#139#0#7
+  +'Caption'#6#21'Encrypt with password'#8'TabOrder'#2#2#0#0#12'TRadioButton'#14
+  +'rbNotEncrypted'#4'Left'#2#3#6'Height'#2#19#3'Top'#2#24#5'Width'#2'`'#7'Capt'
+  +'ion'#6#13'No Encryption'#8'TabOrder'#2#3#0#0#6'TLabel'#8'lblNote1'#4'Left'#2
+  +#3#6'Height'#2#15#3'Top'#2#3#5'Width'#3'W'#1#7'Caption'#6'@What type of payl'
+  +'oad would you like to attach to your operation?'#11'ParentColor'#8#0#0#6'TL'
+  +'abel'#15'lblNoEncryption'#4'Left'#2#19#6'Height'#2#15#3'Top'#2'.'#5'Width'#3
+  +'n'#1#7'Caption'#6'FUse this option to specify a publicly visible message an'
+  +'yone can view.'#11'ParentColor'#8#0#0#6'TLabel'#16'lblNoEncryption1'#4'Left'
+  +#2#19#6'Height'#2#15#3'Top'#2'X'#5'Width'#3'u'#1#7'Caption'#6'GUse this opti'
+  +'on to specify a message which only the recipient can view.'#11'ParentColor'
+  +#8#0#0#6'TLabel'#16'lblNoEncryption2'#4'Left'#2#19#6'Height'#2#30#3'Top'#3
+  +#136#0#5'Width'#3'y'#1#7'Caption'#6'~Only you will be able to decrypt this m'
+  +'essage. This is useful for tagging '#13#10'transactions for your own record'
+  +' keeping purposes.'#11'ParentColor'#8#0#0#6'TLabel'#6'Label1'#4'Left'#2#19#6
+  +'Height'#2#15#3'Top'#3#198#0#5'Width'#3'9'#1#7'Caption'#6';Only those with p'
+  +'assword will be able to view this message.'#11'ParentColor'#8#0#0#0#0#0
+]);

+ 10 - 9
src/gui/wizards/operations/UWIZPayloadOverride.pas → src/gui/wizards/operations/UWIZOperationPayload_Encryption.pas

@@ -1,4 +1,4 @@
-unit UWIZPayloadOverride;
+unit UWIZOperationPayload_Encryption;
 
 {$mode delphi}
 {$modeswitch nestedprocvars}
@@ -18,13 +18,13 @@ interface
 uses
   Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
   ExtCtrls, Buttons, UCommon, UCommon.Collections,
-  UWizard, UWIZPayloadContentOverride, UWIZPayloadPasswordOverride, UWIZModels;
+  UWizard, UWIZOperationPayload_Content, UWIZOperationPayload_Password, UWIZModels;
 
 type
 
-  { TWIZPayloadOverride }
+  { TWIZOperationPayload_Encryption }
 
-  TWIZPayloadOverride = class(TWizardForm<TWIZOperationsModel>)
+  TWIZOperationPayload_Encryption = class(TWizardForm<TWIZOperationsModel>)
     grpPayload: TGroupBox;
     Label1: TLabel;
     lblNoEncryption: TLabel;
@@ -49,9 +49,9 @@ implementation
 uses
   UAccounts, UUserInterface;
 
-{ TWIZPayloadOverride }
+{ TWIZOperationPayload_Encryption }
 
-procedure TWIZPayloadOverride.OnNext;
+procedure TWIZOperationPayload_Encryption.OnNext;
 begin
   if rbEncryptedWithRecipient.Checked then
   begin
@@ -75,16 +75,16 @@ begin
   case Model.Payload.Mode of
     akaEncryptWithPassword:
     begin
-      UpdatePath(ptInject, [TWIZPayloadPasswordOverride]);
+      UpdatePath(ptInject, [TWIZOperationPayload_Password]);
     end
     else
     begin
-      UpdatePath(ptInject, [TWIZPayloadContentOverride]);
+      UpdatePath(ptInject, [TWIZOperationPayload_Content]);
     end;
   end;
 end;
 
-function TWIZPayloadOverride.Validate(out message: ansistring): boolean;
+function TWIZOperationPayload_Encryption.Validate(out message: ansistring): boolean;
 begin
   Result := True;
   if (not rbNotEncrypted.Checked) and (not rbEncryptedWithSender.Checked) and
@@ -97,3 +97,4 @@ begin
 end;
 
 end.
+

+ 3 - 2
src/gui/wizards/operations/UWIZPayloadPasswordOverride.lfm → src/gui/wizards/operations/UWIZOperationPayload_Password.lfm

@@ -3,10 +3,10 @@ object WIZPayloadPasswordOverride: TWIZPayloadPasswordOverride
   Height = 253
   Top = 0
   Width = 429
+  ActiveControl = edtPassword
   Caption = 'Form1'
   ClientHeight = 253
   ClientWidth = 429
-  LCLVersion = '1.8.2.0'
   Visible = False
   object grpPayload: TGroupBox
     Left = 8
@@ -48,7 +48,8 @@ object WIZPayloadPasswordOverride: TWIZPayloadPasswordOverride
         Height = 45
         Top = 80
         Width = 384
-        Caption = 'NOTE: only the bearers of the password will be able to decrypt the '#13#10'payload contents of this operation(s). Please ensure only the appropriate '#13#10'parties are given this password.'
+        Anchors = [akTop, akLeft, akRight]
+        Caption = 'Only the bearers of the password will be able to decrypt the '#13#10'payload contents of this operation(s). Please ensure only the appropriate '#13#10'parties are given this password.'
         ParentColor = False
       end
     end

+ 8 - 8
src/gui/wizards/operations/UWIZPayloadPasswordOverride.pas → src/gui/wizards/operations/UWIZOperationPayload_Password.pas

@@ -1,4 +1,4 @@
-unit UWIZPayloadPasswordOverride;
+unit UWIZOperationPayload_Password;
 
 {$mode delphi}
 {$modeswitch nestedprocvars}
@@ -18,13 +18,13 @@ interface
 uses
   Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
   ExtCtrls, Buttons, UCommon, UCommon.Collections,
-  UWizard, UWIZSelectSignerOverride, UWIZModels;
+  UWizard, UWIZOperationSigner_Select, UWIZModels;
 
 type
 
-  { TWIZPayloadPasswordOverride }
+  { TWIZOperationPayload_Password }
 
-  TWIZPayloadPasswordOverride = class(TWizardForm<TWIZOperationsModel>)
+  TWIZOperationPayload_Password = class(TWizardForm<TWIZOperationsModel>)
     edtPassword: TEdit;
     grpPayload: TGroupBox;
     lblNote: TLabel;
@@ -43,15 +43,15 @@ implementation
 uses
   UAccounts, UUserInterface;
 
-{ TWIZPayloadPasswordOverride }
+{ TWIZOperationPayload_Password }
 
-procedure TWIZPayloadPasswordOverride.OnNext;
+procedure TWIZOperationPayload_Password.OnNext;
 begin
   Model.Payload.Password := edtPassword.Text;
-   UpdatePath(ptInject, [TWIZSelectSignerOverride]);
+   UpdatePath(ptInject, [TWIZOperationSigner_Select]);
 end;
 
-function TWIZPayloadPasswordOverride.Validate(out message: ansistring): boolean;
+function TWIZOperationPayload_Password.Validate(out message: ansistring): boolean;
 begin
   Result := True;
   if Length(Trim(edtPassword.Text)) = 0 then

+ 0 - 0
src/gui/wizards/operations/UWIZSelectSignerOverride.lfm → src/gui/wizards/operations/UWIZOperationSigner_Select.lfm


+ 8 - 8
src/gui/wizards/operations/UWIZSelectSignerOverride.pas → src/gui/wizards/operations/UWIZOperationSigner_Select.pas

@@ -1,4 +1,4 @@
-unit UWIZSelectSignerOverride;
+unit UWIZOperationSigner_Select;
 
 {$mode delphi}
 {$modeswitch nestedprocvars}
@@ -22,9 +22,9 @@ uses
 
 type
 
-  { TWIZSelectSignerOverride }
+  { TWIZOperationSigner_Select }
 
-  TWIZSelectSignerOverride = class(TWizardForm<TWIZOperationsModel>)
+  TWIZOperationSigner_Select = class(TWizardForm<TWIZOperationsModel>)
     cbSignerAccount: TComboBox;
     gbTransaction: TGroupBox;
     lblNote: TLabel;
@@ -47,9 +47,9 @@ implementation
 uses
   UAccounts, UUserInterface, USettings;
 
-{ TWIZSelectSignerOverride }
+{ TWIZOperationSigner_Select }
 
-procedure TWIZSelectSignerOverride.cbSignerAccountChange(Sender: TObject);
+procedure TWIZOperationSigner_Select.cbSignerAccountChange(Sender: TObject);
 begin
   if cbSignerAccount.ItemIndex < 1 then
   begin
@@ -65,7 +65,7 @@ begin
   end;
 end;
 
-procedure TWIZSelectSignerOverride.OnPresent;
+procedure TWIZOperationSigner_Select.OnPresent;
 
   function GetAccNoWithChecksum(AAccountNumber: cardinal): string;
   begin
@@ -94,7 +94,7 @@ begin
   cbSignerAccountChange(Self);
 end;
 
-procedure TWIZSelectSignerOverride.OnNext;
+procedure TWIZOperationSigner_Select.OnNext;
 begin
   Model.Signer.SelectedIndex := cbSignerAccount.ItemIndex;
   Model.Signer.SignerAccount := Model.Signer.SignerCandidates[PtrInt(
@@ -109,7 +109,7 @@ begin
   end;
 end;
 
-function TWIZSelectSignerOverride.Validate(out message: ansistring): boolean;
+function TWIZOperationSigner_Select.Validate(out message: ansistring): boolean;
 begin
   Result := True;
   if cbSignerAccount.ItemIndex < 1 then

+ 0 - 108
src/gui/wizards/operations/UWIZPayloadOverride.lfm

@@ -1,108 +0,0 @@
-object WIZPayloadOverride: TWIZPayloadOverride
-  Left = 0
-  Height = 253
-  Top = 0
-  Width = 429
-  ActiveControl = rbEncryptedWithSender
-  Caption = 'Form1'
-  ClientHeight = 253
-  ClientWidth = 429
-  LCLVersion = '1.8.2.0'
-  Visible = False
-  object grpPayload: TGroupBox
-    Left = 8
-    Height = 244
-    Top = 2
-    Width = 416
-    Anchors = [akTop, akLeft, akRight, akBottom]
-    Caption = 'Transaction Payload'
-    ClientHeight = 224
-    ClientWidth = 412
-    TabOrder = 0
-    object paPayload: TPanel
-      Left = 8
-      Height = 214
-      Top = 2
-      Width = 396
-      Anchors = [akTop, akLeft, akRight, akBottom]
-      BevelOuter = bvNone
-      ClientHeight = 214
-      ClientWidth = 396
-      TabOrder = 0
-      object rbEncryptedWithRecipient: TRadioButton
-        Left = 3
-        Height = 19
-        Top = 64
-        Width = 156
-        Caption = 'Encrypt with recipient key'
-        TabOrder = 0
-      end
-      object rbEncryptedWithSender: TRadioButton
-        Left = 3
-        Height = 19
-        Top = 112
-        Width = 145
-        Caption = 'Encrypt with sender key'
-        Checked = True
-        TabOrder = 1
-        TabStop = True
-      end
-      object rbEncryptedWithPassword: TRadioButton
-        Left = 3
-        Height = 19
-        Top = 176
-        Width = 139
-        Caption = 'Encrypt with password'
-        TabOrder = 2
-      end
-      object rbNotEncrypted: TRadioButton
-        Left = 3
-        Height = 19
-        Top = 24
-        Width = 96
-        Caption = 'No Encryption'
-        TabOrder = 3
-      end
-      object lblNote1: TLabel
-        Left = 3
-        Height = 15
-        Top = 3
-        Width = 343
-        Caption = 'What type of payload would you like to attach to your operation?'
-        ParentColor = False
-      end
-      object lblNoEncryption: TLabel
-        Left = 19
-        Height = 15
-        Top = 46
-        Width = 366
-        Caption = 'Use this option to specify a publicly visible message anyone can view.'
-        ParentColor = False
-      end
-      object lblNoEncryption1: TLabel
-        Left = 19
-        Height = 15
-        Top = 88
-        Width = 373
-        Caption = 'Use this option to specify a message which only the recipient can view.'
-        ParentColor = False
-      end
-      object lblNoEncryption2: TLabel
-        Left = 19
-        Height = 30
-        Top = 136
-        Width = 377
-        Caption = 'Only you will be able to decrypt this message. This is useful for tagging '#13#10'transactions for your own record keeping purposes.'
-        ParentColor = False
-      end
-      object Label1: TLabel
-        Left = 19
-        Height = 15
-        Top = 198
-        Width = 313
-        Caption = 'Only those with password will be able to view this message.'
-        ParentColor = False
-      end
-    end
-  end
-end

+ 4 - 4
src/gui/wizards/operations/UWIZSendPASC_EnterQuantity.pas

@@ -18,7 +18,7 @@ interface
 uses
   Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
   ExtCtrls, Buttons, UCommon, UCommon.Collections, UWallet,
-  UFRMAccountSelect, UNode, UWizard, UWIZSendPASC, UWIZFeeOverride, UWIZPayloadOverride, UWIZSelectSignerOverride,
+  UFRMAccountSelect, UNode, UWizard, UWIZSendPASC, UWIZOperationFee_Custom, UWIZOperationPayload_Encryption, UWIZOperationSigner_Select,
   UWIZSendPASC_Confirmation, UWIZModels;
 
 type
@@ -103,18 +103,18 @@ begin
 
   if chkChooseFee.Checked then
   begin
-    UpdatePath(ptReplaceAllNext, [TWIZFeeOverride, TWIZSendPASC_Confirmation]);
+    UpdatePath(ptReplaceAllNext, [TWIZOperationFee_Custom, TWIZSendPASC_Confirmation]);
   end
   else
   begin
     Model.Fee.SingleOperationFee := TSettings.DefaultFee;
     if Model.Payload.HasPayload then
     begin
-      UpdatePath(ptReplaceAllNext, [TWIZPayloadOverride, TWIZSendPASC_Confirmation]);
+      UpdatePath(ptReplaceAllNext, [TWIZOperationPayload_Encryption, TWIZSendPASC_Confirmation]);
     end
     else
     begin
-      UpdatePath(ptReplaceAllNext, [TWIZSelectSignerOverride, TWIZSendPASC_Confirmation]);
+      UpdatePath(ptReplaceAllNext, [TWIZOperationSigner_Select, TWIZSendPASC_Confirmation]);
     end;
   end;
 

+ 63 - 65
src/pascalcoin_wallet.lpi

@@ -33,7 +33,7 @@
         <PackageName Value="LCL"/>
       </Item1>
     </RequiredPackages>
-    <Units Count="98">
+    <Units Count="97">
       <Unit0>
         <Filename Value="pascalcoin_wallet.dpr"/>
         <IsPartOfProject Value="True"/>
@@ -342,215 +342,213 @@
         <IsPartOfProject Value="True"/>
       </Unit61>
       <Unit62>
-        <Filename Value="libraries\pascalcoin\UGridUtils.pas"/>
+        <Filename Value="libraries\pascalcoin\UJSONFunctions.pas"/>
         <IsPartOfProject Value="True"/>
       </Unit62>
       <Unit63>
-        <Filename Value="libraries\pascalcoin\UJSONFunctions.pas"/>
+        <Filename Value="core.utils\UCoreUtils.pas"/>
         <IsPartOfProject Value="True"/>
       </Unit63>
       <Unit64>
-        <Filename Value="core.utils\UCoreUtils.pas"/>
+        <Filename Value="core.utils\UDataSources.pas"/>
         <IsPartOfProject Value="True"/>
       </Unit64>
       <Unit65>
-        <Filename Value="core.utils\UDataSources.pas"/>
+        <Filename Value="gui\wizards\UWIZModels.pas"/>
         <IsPartOfProject Value="True"/>
       </Unit65>
       <Unit66>
-        <Filename Value="gui\wizards\UWIZModels.pas"/>
+        <Filename Value="gui\wizards\wallet\UWIZAddKey.pas"/>
         <IsPartOfProject Value="True"/>
       </Unit66>
       <Unit67>
-        <Filename Value="gui\wizards\wallet\UWIZAddKey.pas"/>
-        <IsPartOfProject Value="True"/>
-      </Unit67>
-      <Unit68>
         <Filename Value="gui\wizards\wallet\UWIZAddKey_EnterName.pas"/>
         <IsPartOfProject Value="True"/>
         <ComponentName Value="WIZAddKey_EnterName"/>
         <HasResources Value="True"/>
         <ResourceBaseClass Value="Form"/>
-      </Unit68>
-      <Unit69>
+      </Unit67>
+      <Unit68>
         <Filename Value="gui\wizards\wallet\UWIZAddKey_GenerateOrImport.pas"/>
         <IsPartOfProject Value="True"/>
         <ComponentName Value="WIZAddKey_GenerateOrImport"/>
         <HasResources Value="True"/>
         <ResourceBaseClass Value="Form"/>
-      </Unit69>
-      <Unit70>
+      </Unit68>
+      <Unit69>
         <Filename Value="gui\wizards\wallet\UWIZAddKey_ImportPrivKey.pas"/>
         <IsPartOfProject Value="True"/>
         <ComponentName Value="WIZAddKey_ImportPrivKey"/>
         <HasResources Value="True"/>
         <ResourceBaseClass Value="Form"/>
-      </Unit70>
-      <Unit71>
+      </Unit69>
+      <Unit70>
         <Filename Value="gui\wizards\wallet\UWIZAddKey_ImportPubKey.pas"/>
         <IsPartOfProject Value="True"/>
         <ComponentName Value="WIZAddKey_ImportPubKey"/>
         <HasResources Value="True"/>
         <ResourceBaseClass Value="Form"/>
-      </Unit71>
-      <Unit72>
+      </Unit70>
+      <Unit71>
         <Filename Value="gui\wizards\wallet\UWIZAddKey_SelectEncryption.pas"/>
         <IsPartOfProject Value="True"/>
         <ComponentName Value="WIZAddKey_SelectEncryption"/>
         <HasResources Value="True"/>
         <ResourceBaseClass Value="Form"/>
-      </Unit72>
-      <Unit73>
+      </Unit71>
+      <Unit72>
         <Filename Value="gui\wizards\wallet\UWIZAddKey_Start.pas"/>
         <IsPartOfProject Value="True"/>
         <ComponentName Value="WIZAddKey_Start"/>
         <HasResources Value="True"/>
         <ResourceBaseClass Value="Form"/>
+      </Unit72>
+      <Unit73>
+        <Filename Value="gui\wizards\operations\UWIZEnlistAccountForSale.pas"/>
+        <IsPartOfProject Value="True"/>
       </Unit73>
       <Unit74>
-        <Filename Value="gui\wizards\operations\UWIZEnlistAccountForSale.pas"/>
+        <Filename Value="gui\wizards\operations\UWIZEnlistAccountForSale_Confirmation.pas"/>
         <IsPartOfProject Value="True"/>
+        <HasResources Value="True"/>
       </Unit74>
       <Unit75>
-        <Filename Value="gui\wizards\operations\UWIZEnlistAccountForSale_Confirmation.pas"/>
+        <Filename Value="gui\wizards\operations\UWIZEnlistAccountForSale_List.pas"/>
         <IsPartOfProject Value="True"/>
         <HasResources Value="True"/>
       </Unit75>
       <Unit76>
-        <Filename Value="gui\wizards\operations\UWIZEnlistAccountForSale_List.pas"/>
+        <Filename Value="gui\wizards\operations\UWIZEnlistAccountForSale_PrivateSaleConfig.pas"/>
         <IsPartOfProject Value="True"/>
         <HasResources Value="True"/>
       </Unit76>
       <Unit77>
-        <Filename Value="gui\wizards\operations\UWIZEnlistAccountForSale_PrivateSaleConfig.pas"/>
+        <Filename Value="gui\wizards\operations\UWIZEnlistAccountForSale_Start.pas"/>
         <IsPartOfProject Value="True"/>
         <HasResources Value="True"/>
       </Unit77>
       <Unit78>
-        <Filename Value="gui\wizards\operations\UWIZEnlistAccountForSale_Start.pas"/>
+        <Filename Value="gui\wizards\operations\UWIZEnlistAccountForSale_Transaction.pas"/>
         <IsPartOfProject Value="True"/>
+        <ComponentName Value="WIZEnlistAccountForSale_Transaction"/>
         <HasResources Value="True"/>
+        <ResourceBaseClass Value="Form"/>
       </Unit78>
       <Unit79>
-        <Filename Value="gui\wizards\operations\UWIZEnlistAccountForSale_Transaction.pas"/>
+        <Filename Value="gui\wizards\operations\UWIZEnlistAccountForSale_TransactionPayload.pas"/>
         <IsPartOfProject Value="True"/>
-        <ComponentName Value="WIZEnlistAccountForSale_Transaction"/>
         <HasResources Value="True"/>
-        <ResourceBaseClass Value="Form"/>
       </Unit79>
       <Unit80>
-        <Filename Value="gui\wizards\operations\UWIZEnlistAccountForSale_TransactionPayload.pas"/>
+        <Filename Value="gui\wizards\operations\UWIZOperationFee_Custom.pas"/>
         <IsPartOfProject Value="True"/>
+        <ComponentName Value="WIZFeeOverride"/>
         <HasResources Value="True"/>
+        <ResourceBaseClass Value="Form"/>
       </Unit80>
       <Unit81>
-        <Filename Value="gui\wizards\operations\UWIZFeeOverride.pas"/>
+        <Filename Value="gui\wizards\operations\UWIZOperationPayload_Content.pas"/>
         <IsPartOfProject Value="True"/>
-        <ComponentName Value="WIZFeeOverride"/>
+        <ComponentName Value="WIZPayloadContentOverride"/>
         <HasResources Value="True"/>
         <ResourceBaseClass Value="Form"/>
       </Unit81>
       <Unit82>
-        <Filename Value="gui\wizards\operations\UWIZPayloadContentOverride.pas"/>
+        <Filename Value="gui\wizards\operations\UWIZOperationPayload_Encryption.pas"/>
         <IsPartOfProject Value="True"/>
-        <ComponentName Value="WIZPayloadContentOverride"/>
+        <ComponentName Value="WIZPayloadOverride"/>
         <HasResources Value="True"/>
         <ResourceBaseClass Value="Form"/>
       </Unit82>
       <Unit83>
-        <Filename Value="gui\wizards\operations\UWIZPayloadOverride.pas"/>
+        <Filename Value="gui\wizards\operations\UWIZOperationPayload_Password.pas"/>
         <IsPartOfProject Value="True"/>
-        <ComponentName Value="WIZPayloadOverride"/>
+        <ComponentName Value="WIZPayloadPasswordOverride"/>
         <HasResources Value="True"/>
         <ResourceBaseClass Value="Form"/>
       </Unit83>
       <Unit84>
-        <Filename Value="gui\wizards\operations\UWIZPayloadPasswordOverride.pas"/>
+        <Filename Value="gui\wizards\operations\UWIZOperationSigner_Select.pas"/>
         <IsPartOfProject Value="True"/>
-        <ComponentName Value="WIZPayloadPasswordOverride"/>
+        <ComponentName Value="WIZSelectSignerOverride"/>
         <HasResources Value="True"/>
         <ResourceBaseClass Value="Form"/>
       </Unit84>
       <Unit85>
-        <Filename Value="gui\wizards\operations\UWIZSelectSignerOverride.pas"/>
+        <Filename Value="gui\wizards\operations\UWIZSendPASC.pas"/>
         <IsPartOfProject Value="True"/>
-        <ComponentName Value="WIZSelectSignerOverride"/>
-        <HasResources Value="True"/>
-        <ResourceBaseClass Value="Form"/>
       </Unit85>
       <Unit86>
-        <Filename Value="gui\wizards\operations\UWIZSendPASC.pas"/>
+        <Filename Value="gui\wizards\operations\UWIZSendPASC_Confirmation.pas"/>
         <IsPartOfProject Value="True"/>
+        <ComponentName Value="WIZSendPASC_Confirmation"/>
+        <HasResources Value="True"/>
+        <ResourceBaseClass Value="Form"/>
       </Unit86>
       <Unit87>
-        <Filename Value="gui\wizards\operations\UWIZSendPASC_Confirmation.pas"/>
+        <Filename Value="gui\wizards\operations\UWIZSendPASC_ConfirmSender.pas"/>
         <IsPartOfProject Value="True"/>
-        <ComponentName Value="WIZSendPASC_Confirmation"/>
+        <ComponentName Value="WIZSendPASC_ConfirmSender"/>
         <HasResources Value="True"/>
         <ResourceBaseClass Value="Form"/>
       </Unit87>
       <Unit88>
-        <Filename Value="gui\wizards\operations\UWIZSendPASC_ConfirmSender.pas"/>
+        <Filename Value="gui\wizards\operations\UWIZSendPASC_EnterQuantity.pas"/>
         <IsPartOfProject Value="True"/>
-        <ComponentName Value="WIZSendPASC_ConfirmSender"/>
+        <ComponentName Value="WIZSendPASC_EnterQuantity"/>
         <HasResources Value="True"/>
         <ResourceBaseClass Value="Form"/>
       </Unit88>
       <Unit89>
-        <Filename Value="gui\wizards\operations\UWIZSendPASC_EnterQuantity.pas"/>
+        <Filename Value="gui\wizards\operations\UWIZSendPASC_EnterRecipient.pas"/>
         <IsPartOfProject Value="True"/>
-        <ComponentName Value="WIZSendPASC_EnterQuantity"/>
+        <ComponentName Value="WIZSendPASC_EnterRecipient"/>
         <HasResources Value="True"/>
         <ResourceBaseClass Value="Form"/>
       </Unit89>
       <Unit90>
-        <Filename Value="gui\wizards\operations\UWIZSendPASC_EnterRecipient.pas"/>
+        <Filename Value="gui\wizards\operations\UWIZChangeKey.pas"/>
         <IsPartOfProject Value="True"/>
-        <HasResources Value="True"/>
       </Unit90>
       <Unit91>
-        <Filename Value="gui\wizards\operations\UWIZChangeKey.pas"/>
-        <IsPartOfProject Value="True"/>
-      </Unit91>
-      <Unit92>
         <Filename Value="gui\wizards\operations\UWIZChangeKey_SelectOption.pas"/>
         <IsPartOfProject Value="True"/>
         <ComponentName Value="WIZChangeKey_SelectOption"/>
         <HasResources Value="True"/>
         <ResourceBaseClass Value="Form"/>
-      </Unit92>
-      <Unit93>
+      </Unit91>
+      <Unit92>
         <Filename Value="gui\wizards\operations\UWIZChangeKey_EnterKey.pas"/>
         <IsPartOfProject Value="True"/>
         <ComponentName Value="WIZChangeKey_EnterKey"/>
         <HasResources Value="True"/>
         <ResourceBaseClass Value="Form"/>
-      </Unit93>
-      <Unit94>
+      </Unit92>
+      <Unit93>
         <Filename Value="gui\wizards\operations\UWIZChangeKey_SelectKey.pas"/>
         <IsPartOfProject Value="True"/>
         <ComponentName Value="WIZChangeKey_SelectKey"/>
         <HasResources Value="True"/>
         <ResourceBaseClass Value="Form"/>
-      </Unit94>
-      <Unit95>
+      </Unit93>
+      <Unit94>
         <Filename Value="gui\wizards\operations\UWIZChangeKey_ConfirmAccount.pas"/>
         <IsPartOfProject Value="True"/>
         <ComponentName Value="WIZChangeKey_ConfirmAccount"/>
         <HasResources Value="True"/>
         <ResourceBaseClass Value="Form"/>
-      </Unit95>
-      <Unit96>
+      </Unit94>
+      <Unit95>
         <Filename Value="gui\wizards\operations\UWIZChangeKey_Confirmation.pas"/>
         <IsPartOfProject Value="True"/>
         <ComponentName Value="WIZChangeKey_Confirmation"/>
         <HasResources Value="True"/>
         <ResourceBaseClass Value="Form"/>
-      </Unit96>
-      <Unit97>
+      </Unit95>
+      <Unit96>
         <Filename Value="gui-classic\UGridUtils.pas"/>
         <IsPartOfProject Value="True"/>
-      </Unit97>
+      </Unit96>
     </Units>
   </ProjectOptions>
   <CompilerOptions>