Browse Source

Merge downstream

Herman Schoenfeld 7 years ago
parent
commit
bbdb733a8e

+ 16 - 51
src/gui/wizards/operations/UWIZChangeKey.pas

@@ -46,6 +46,7 @@ uses
   UECIES,
   UECIES,
   UAES,
   UAES,
   UWIZChangeKey_ConfirmAccount,
   UWIZChangeKey_ConfirmAccount,
+  UWIZChangeKey_SelectOption,
   UWIZChangeKey_Confirmation;
   UWIZChangeKey_Confirmation;
 
 
 { TWIZChangeKeyWizard }
 { TWIZChangeKeyWizard }
@@ -85,14 +86,10 @@ begin
 
 
         case Model.ChangeKey.ChangeKeyMode of
         case Model.ChangeKey.ChangeKeyMode of
           akaTransferAccountOwnership:
           akaTransferAccountOwnership:
-          begin
             public_key := Model.TransferAccount.AccountKey;
             public_key := Model.TransferAccount.AccountKey;
-          end;
 
 
           akaChangeAccountPrivateKey:
           akaChangeAccountPrivateKey:
-          begin
             public_key := Model.ChangeAccountPrivateKey.NewWalletKey.AccountKey;
             public_key := Model.ChangeAccountPrivateKey.NewWalletKey.AccountKey;
-          end;
 
 
         end;
         end;
 
 
@@ -126,22 +123,17 @@ begin
       end
       end
 
 
       else
       else
-      begin
         raise Exception.Create('Invalid Encryption Selection');
         raise Exception.Create('Invalid Encryption Selection');
-      end;
     end;
     end;
 
 
   finally
   finally
     if valid then
     if valid then
-    begin
       if length(payload_encrypted) > CT_MaxPayloadSize then
       if length(payload_encrypted) > CT_MaxPayloadSize then
       begin
       begin
         valid := False;
         valid := False;
         errors := 'Payload size is bigger than ' + IntToStr(CT_MaxPayloadSize) +
         errors := 'Payload size is bigger than ' + IntToStr(CT_MaxPayloadSize) +
           ' (' + IntToStr(length(payload_encrypted)) + ')';
           ' (' + IntToStr(length(payload_encrypted)) + ')';
       end;
       end;
-
-    end;
     Model.Payload.EncodedBytes := payload_encrypted;
     Model.Payload.EncodedBytes := payload_encrypted;
     Result := valid;
     Result := valid;
   end;
   end;
@@ -171,8 +163,6 @@ begin
     Exit;
     Exit;
   end
   end
   else
   else
-  begin
-
     for iAcc := Low(Model.Account.SelectedAccounts) to High(Model.Account.SelectedAccounts) do
     for iAcc := Low(Model.Account.SelectedAccounts) to High(Model.Account.SelectedAccounts) do
     begin
     begin
       sender_account := Model.Account.SelectedAccounts[iAcc];
       sender_account := Model.Account.SelectedAccounts[iAcc];
@@ -188,20 +178,15 @@ begin
       if not assigned(wk.PrivateKey) then
       if not assigned(wk.PrivateKey) then
       begin
       begin
         if wk.CryptedKey <> '' then
         if wk.CryptedKey <> '' then
-        begin
-          // TODO: handle unlocking of encrypted wallet here
-          errors := 'Wallet is password protected. Need password';
-        end
+          errors := 'Wallet is password protected. Need password'// TODO: handle unlocking of encrypted wallet here
+
         else
         else
-        begin
           errors := 'Only public key of account ' +
           errors := 'Only public key of account ' +
             TAccountComp.AccountNumberToAccountTxtNumber(sender_account.account) +
             TAccountComp.AccountNumberToAccountTxtNumber(sender_account.account) +
             ' found in wallet. You cannot operate with this account';
             ' found in wallet. You cannot operate with this account';
-        end;
         Exit;
         Exit;
       end;
       end;
     end;
     end;
-  end;
 
 
   Result := UpdateOpChangeKey(Model.Account.SelectedAccounts[0], signer_account,
   Result := UpdateOpChangeKey(Model.Account.SelectedAccounts[0], signer_account,
     publicKey, errors);
     publicKey, errors);
@@ -217,14 +202,10 @@ begin
 
 
     case Model.ChangeKey.ChangeKeyMode of
     case Model.ChangeKey.ChangeKeyMode of
       akaTransferAccountOwnership:
       akaTransferAccountOwnership:
-      begin
         NewPublicKey := Model.TransferAccount.AccountKey;
         NewPublicKey := Model.TransferAccount.AccountKey;
-      end;
 
 
       akaChangeAccountPrivateKey:
       akaChangeAccountPrivateKey:
-      begin
         NewPublicKey := Model.ChangeAccountPrivateKey.NewWalletKey.AccountKey;
         NewPublicKey := Model.ChangeAccountPrivateKey.NewWalletKey.AccountKey;
-      end;
 
 
     end;
     end;
 
 
@@ -250,9 +231,7 @@ begin
       end;
       end;
     end
     end
     else
     else
-    begin
       SignerAccount := TargetAccount;
       SignerAccount := TargetAccount;
-    end;
 
 
     if (TAccountComp.EqualAccountKeys(TargetAccount.accountInfo.accountKey,
     if (TAccountComp.EqualAccountKeys(TargetAccount.accountInfo.accountKey,
       NewPublicKey)) then
       NewPublicKey)) then
@@ -301,15 +280,11 @@ begin
         op := nil;
         op := nil;
       account := Model.Account.SelectedAccounts[iAcc];
       account := Model.Account.SelectedAccounts[iAcc];
       if not UpdatePayload(account, errors) then
       if not UpdatePayload(account, errors) then
-      begin
         raise Exception.Create('Error encoding payload of sender account ' +
         raise Exception.Create('Error encoding payload of sender account ' +
           TAccountComp.AccountNumberToAccountTxtNumber(account.account) + ': ' + errors);
           TAccountComp.AccountNumberToAccountTxtNumber(account.account) + ': ' + errors);
-      end;
       i := TWallet.Keys.IndexOfAccountKey(account.accountInfo.accountKey);
       i := TWallet.Keys.IndexOfAccountKey(account.accountInfo.accountKey);
       if i < 0 then
       if i < 0 then
-      begin
         raise Exception.Create('Sender account private key not found in Wallet');
         raise Exception.Create('Sender account private key not found in Wallet');
-      end;
 
 
       wk := TWallet.Keys.Key[i];
       wk := TWallet.Keys.Key[i];
       dooperation := True;
       dooperation := True;
@@ -320,9 +295,7 @@ begin
         _fee := account.balance;
         _fee := account.balance;
 
 
       if not UpdateOpChangeKey(account, signerAccount, _newOwnerPublicKey, errors) then
       if not UpdateOpChangeKey(account, signerAccount, _newOwnerPublicKey, errors) then
-      begin
         raise Exception.Create(errors);
         raise Exception.Create(errors);
-      end;
       if _V2 then
       if _V2 then
       begin
       begin
         // must ensure is Signer account last if included in sender accounts (not necessarily ordered enumeration)
         // must ensure is Signer account last if included in sender accounts (not necessarily ordered enumeration)
@@ -350,10 +323,8 @@ begin
         Inc(_totalSignerFee, _fee);
         Inc(_totalSignerFee, _fee);
       end
       end
       else
       else
-      begin
         op := TOpChangeKey.Create(account.account, account.n_operation +
         op := TOpChangeKey.Create(account.account, account.n_operation +
           1, account.account, wk.PrivateKey, _newOwnerPublicKey, _fee, Model.Payload.EncodedBytes);
           1, account.account, wk.PrivateKey, _newOwnerPublicKey, _fee, Model.Payload.EncodedBytes);
-      end;
       Inc(_totalfee, _fee);
       Inc(_totalfee, _fee);
       operationstxt :=
       operationstxt :=
         'Change private key to ' + TAccountComp.GetECInfoTxt(
         'Change private key to ' + TAccountComp.GetECInfoTxt(
@@ -382,30 +353,21 @@ begin
         #10 + #10 + 'Note: This operation will be transmitted to the network!'),
         #10 + #10 + 'Note: This operation will be transmitted to the network!'),
         PChar(Application.Title), MB_YESNO + MB_ICONINFORMATION + MB_DEFBUTTON2) <>
         PChar(Application.Title), MB_YESNO + MB_ICONINFORMATION + MB_DEFBUTTON2) <>
         idYes then
         idYes then
-      begin
         Exit;
         Exit;
-      end;
     end
     end
     else
     else
-    begin
-      if Application.MessageBox(PChar('Execute this operation:' + #10 +
-        #10 + operation_to_string + #10 + #10 +
-        'Note: This operation will be transmitted to the network!'),
-        PChar(Application.Title), MB_YESNO + MB_ICONINFORMATION + MB_DEFBUTTON2) <> idYes then
-      begin
-        Exit;
-      end;
-    end;
+    if Application.MessageBox(PChar('Execute this operation:' + #10 +
+      #10 + operation_to_string + #10 + #10 +
+      'Note: This operation will be transmitted to the network!'),
+      PChar(Application.Title), MB_YESNO + MB_ICONINFORMATION + MB_DEFBUTTON2) <> idYes then
+      Exit;
     i := TNode.Node.AddOperations(nil, ops, nil, errors);
     i := TNode.Node.AddOperations(nil, ops, nil, errors);
     if (i = ops.OperationsCount) then
     if (i = ops.OperationsCount) then
     begin
     begin
       operationstxt := 'Successfully executed ' + IntToStr(i) +
       operationstxt := 'Successfully executed ' + IntToStr(i) +
         ' operations!' + #10 + #10 + operation_to_string;
         ' operations!' + #10 + #10 + operation_to_string;
       if i > 1 then
       if i > 1 then
-      begin
-
-        ShowMessage(operationstxt);
-      end
+        ShowMessage(operationstxt)
       else
       else
       begin
       begin
         Application.MessageBox(
         Application.MessageBox(
@@ -424,9 +386,7 @@ begin
       ShowMessage(operationstxt);
       ShowMessage(operationstxt);
     end
     end
     else
     else
-    begin
       raise Exception.Create(errors);
       raise Exception.Create(errors);
-    end;
 
 
 
 
   finally
   finally
@@ -437,8 +397,13 @@ end;
 
 
 constructor TWIZChangeKeyWizard.Create(AOwner: TComponent);
 constructor TWIZChangeKeyWizard.Create(AOwner: TComponent);
 begin
 begin
-  inherited Create(AOwner, [TWIZChangeKey_ConfirmAccount,
-    TWIZChangeKey_Confirmation]);
+  inherited Create(AOwner,
+    [
+    TWIZChangeKey_ConfirmAccount,
+    TWIZChangeKey_SelectOption,
+    TWIZChangeKey_Confirmation
+    ]
+    );
   TitleText := 'Change Key';
   TitleText := 'Change Key';
   FinishText := 'Change Key';
   FinishText := 'Change Key';
 end;
 end;

+ 1 - 0
src/gui/wizards/operations/UWIZChangeKey_EnterKey.lfm

@@ -7,6 +7,7 @@ object WIZChangeKey_EnterKey: TWIZChangeKey_EnterKey
   Caption = 'ChangeKey_EnterKey'
   Caption = 'ChangeKey_EnterKey'
   ClientHeight = 253
   ClientHeight = 253
   ClientWidth = 429
   ClientWidth = 429
+  LCLVersion = '1.8.2.0'
   Visible = False
   Visible = False
   object gbNewPublicKey: TGroupBox
   object gbNewPublicKey: TGroupBox
     Left = 16
     Left = 16

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

@@ -19,7 +19,7 @@ uses
   Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
   Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
   ExtCtrls, Buttons, UCommon, UCommon.Collections, UWallet,
   ExtCtrls, Buttons, UCommon, UCommon.Collections, UWallet,
   UFRMAccountSelect, UNode, UWizard, UWIZOperationFee_Custom, UWIZOperationPayload_Encryption, UWIZOperationSigner_Select,
   UFRMAccountSelect, UNode, UWizard, UWIZOperationFee_Custom, UWIZOperationPayload_Encryption, UWIZOperationSigner_Select,
-  UWIZChangeKey_Confirmation, UWIZModels;
+  UWIZModels;
 
 
 type
 type
 
 
@@ -61,31 +61,18 @@ end;
 
 
 procedure TWIZChangeKey_EnterKey.OnNext;
 procedure TWIZChangeKey_EnterKey.OnNext;
 begin
 begin
-  //Model.Payload.HasPayload := chkAttachPayload.Checked;
-  //
-  //if chkChooseFee.Checked then
-  //  UpdatePath(ptReplaceAllNext, [TWIZOperationFee_Custom, TWIZChangeKey_Confirmation])
-  //else
-  //begin
-  //  Model.Fee.SingleOperationFee := TSettings.DefaultFee;
-  //  if Model.Payload.HasPayload then
-  //    UpdatePath(ptReplaceAllNext, [TWIZOperationPayload_Encryption, TWIZChangeKey_Confirmation])
-  //  else
-  //    UpdatePath(ptReplaceAllNext, [TWIZOperationSigner_Select, TWIZChangeKey_Confirmation]);
-  //end;
-
 
 
   Model.Payload.HasPayload := chkAttachPayload.Checked;
   Model.Payload.HasPayload := chkAttachPayload.Checked;
 
 
   if chkChooseFee.Checked then
   if chkChooseFee.Checked then
-    UpdatePath(ptReplaceAllNext, [TWIZOperationFee_Custom, TWIZChangeKey_Confirmation])
+    UpdatePath(ptInject, [TWIZOperationFee_Custom])
   else
   else
   begin
   begin
     Model.Fee.SingleOperationFee := TSettings.DefaultFee;
     Model.Fee.SingleOperationFee := TSettings.DefaultFee;
     if Model.Payload.HasPayload then
     if Model.Payload.HasPayload then
-      UpdatePath(ptReplaceAllNext, [TWIZOperationPayload_Encryption, TWIZChangeKey_Confirmation])
+      UpdatePath(ptInject, [TWIZOperationPayload_Encryption])
     else if Length(Model.Account.SelectedAccounts) > 1 then
     else if Length(Model.Account.SelectedAccounts) > 1 then
-      UpdatePath(ptReplaceAllNext, [TWIZOperationSigner_Select, TWIZChangeKey_Confirmation])
+      UpdatePath(ptInject, [TWIZOperationSigner_Select])
     else
     else
     begin
     begin
       Model.Signer.SignerAccount := Model.Account.SelectedAccounts[0];
       Model.Signer.SignerAccount := Model.Account.SelectedAccounts[0];

+ 1 - 0
src/gui/wizards/operations/UWIZChangeKey_SelectKey.lfm

@@ -7,6 +7,7 @@ object WIZChangeKey_SelectKey: TWIZChangeKey_SelectKey
   Caption = 'WIZChangeKey_SelectKey'
   Caption = 'WIZChangeKey_SelectKey'
   ClientHeight = 253
   ClientHeight = 253
   ClientWidth = 429
   ClientWidth = 429
+  LCLVersion = '1.8.2.0'
   Visible = False
   Visible = False
   object gbNewPrivateKey: TGroupBox
   object gbNewPrivateKey: TGroupBox
     Left = 16
     Left = 16

+ 5 - 16
src/gui/wizards/operations/UWIZChangeKey_SelectKey.pas

@@ -18,8 +18,8 @@ interface
 uses
 uses
   Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
   Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
   ExtCtrls, Buttons, UCommon, UCommon.Collections, UWallet,
   ExtCtrls, Buttons, UCommon, UCommon.Collections, UWallet,
-  UFRMAccountSelect, UNode, UWizard,
-  UWIZChangeKey_Confirmation, UWIZOperationFee_Custom, UWIZOperationSigner_Select, UWIZOperationPayload_Encryption, UWIZModels;
+  UFRMAccountSelect, UNode, UWizard, UWIZOperationFee_Custom, UWIZOperationSigner_Select, UWIZOperationPayload_Encryption,
+  UWIZModels;
 
 
 type
 type
 
 
@@ -119,27 +119,16 @@ begin
   Model.ChangeAccountPrivateKey.SelectedIndex := cbNewPrivateKey.ItemIndex;
   Model.ChangeAccountPrivateKey.SelectedIndex := cbNewPrivateKey.ItemIndex;
   Model.ChangeAccountPrivateKey.NewWalletKey := TWallet.Keys.Key[PtrInt(cbNewPrivateKey.Items.Objects[cbNewPrivateKey.ItemIndex])];
   Model.ChangeAccountPrivateKey.NewWalletKey := TWallet.Keys.Key[PtrInt(cbNewPrivateKey.Items.Objects[cbNewPrivateKey.ItemIndex])];
   Model.Payload.HasPayload := chkAttachPayload.Checked;
   Model.Payload.HasPayload := chkAttachPayload.Checked;
-  //
-  //if chkChooseFee.Checked then
-  //  UpdatePath(ptReplaceAllNext, [TWIZOperationFee_Custom, TWIZChangeKey_Confirmation])
-  //else
-  //begin
-  //  Model.Fee.SingleOperationFee := TSettings.DefaultFee;
-  //  if Model.Payload.HasPayload then
-  //    UpdatePath(ptReplaceAllNext, [TWIZOperationPayload_Encryption, TWIZChangeKey_Confirmation])
-  //  else
-  //    UpdatePath(ptReplaceAllNext, [TWIZOperationSigner_Select, TWIZChangeKey_Confirmation]);
-  //end;
 
 
   if chkChooseFee.Checked then
   if chkChooseFee.Checked then
-    UpdatePath(ptReplaceAllNext, [TWIZOperationFee_Custom, TWIZChangeKey_Confirmation])
+    UpdatePath(ptInject, [TWIZOperationFee_Custom])
   else
   else
   begin
   begin
     Model.Fee.SingleOperationFee := TSettings.DefaultFee;
     Model.Fee.SingleOperationFee := TSettings.DefaultFee;
     if Model.Payload.HasPayload then
     if Model.Payload.HasPayload then
-      UpdatePath(ptReplaceAllNext, [TWIZOperationPayload_Encryption, TWIZChangeKey_Confirmation])
+      UpdatePath(ptInject, [TWIZOperationPayload_Encryption])
     else if Length(Model.Account.SelectedAccounts) > 1 then
     else if Length(Model.Account.SelectedAccounts) > 1 then
-      UpdatePath(ptReplaceAllNext, [TWIZOperationSigner_Select, TWIZChangeKey_Confirmation])
+      UpdatePath(ptInject, [TWIZOperationSigner_Select])
     else
     else
     begin
     begin
       Model.Signer.SignerAccount := Model.Account.SelectedAccounts[0];
       Model.Signer.SignerAccount := Model.Account.SelectedAccounts[0];

+ 1 - 0
src/gui/wizards/operations/UWIZChangeKey_SelectOption.lfm

@@ -7,6 +7,7 @@ object WIZChangeKey_SelectOption: TWIZChangeKey_SelectOption
   Caption = 'WIZChangeKey_SelectOption'
   Caption = 'WIZChangeKey_SelectOption'
   ClientHeight = 253
   ClientHeight = 253
   ClientWidth = 429
   ClientWidth = 429
+  LCLVersion = '1.8.2.0'
   Visible = False
   Visible = False
   object gbChangeKeyOptions: TGroupBox
   object gbChangeKeyOptions: TGroupBox
     Left = 8
     Left = 8

+ 3 - 5
src/gui/wizards/operations/UWIZChangeKey_SelectOption.pas

@@ -17,7 +17,7 @@ interface
 
 
 uses
 uses
   Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
   Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
-  ExtCtrls, UWizard, UWIZChangeKey, UWIZModels, UWIZChangeKey_EnterKey, UWIZChangeKey_SelectKey, UWIZChangeKey_Confirmation;
+  ExtCtrls, UWizard, UWIZChangeKey, UWIZModels, UWIZChangeKey_EnterKey, UWIZChangeKey_SelectKey;
 
 
 type
 type
 
 
@@ -49,14 +49,12 @@ begin
   if rbTransferAccountOwnership.Checked then
   if rbTransferAccountOwnership.Checked then
   begin
   begin
     Model.ChangeKey.ChangeKeyMode := akaTransferAccountOwnership;
     Model.ChangeKey.ChangeKeyMode := akaTransferAccountOwnership;
-    UpdatePath(ptReplaceAllNext, [TWIZChangeKey_EnterKey,
-      TWIZChangeKey_Confirmation]);
+    UpdatePath(ptInject, [TWIZChangeKey_EnterKey]);
   end
   end
   else if rbChangeAccountPrivateKey.Checked then
   else if rbChangeAccountPrivateKey.Checked then
   begin
   begin
     Model.ChangeKey.ChangeKeyMode := akaChangeAccountPrivateKey;
     Model.ChangeKey.ChangeKeyMode := akaChangeAccountPrivateKey;
-    UpdatePath(ptReplaceAllNext, [TWIZChangeKey_SelectKey,
-      TWIZChangeKey_Confirmation]);
+    UpdatePath(ptInject, [TWIZChangeKey_SelectKey]);
   end;
   end;
 end;
 end;
 
 

+ 9 - 1
src/gui/wizards/operations/UWIZSendPASC.pas

@@ -47,6 +47,7 @@ uses
   UAES,
   UAES,
   UWIZSendPASC_ConfirmSender,
   UWIZSendPASC_ConfirmSender,
   UWIZSendPASC_EnterRecipient,
   UWIZSendPASC_EnterRecipient,
+  UWIZSendPASC_EnterQuantity,
   UWIZSendPASC_Confirmation;
   UWIZSendPASC_Confirmation;
 
 
 { TWIZSendPASCWizard }
 { TWIZSendPASCWizard }
@@ -366,7 +367,14 @@ end;
 
 
 constructor TWIZSendPASCWizard.Create(AOwner: TComponent);
 constructor TWIZSendPASCWizard.Create(AOwner: TComponent);
 begin
 begin
-  inherited Create(AOwner, [TWIZSendPASC_ConfirmSender, TWIZSendPASC_Confirmation]);
+  inherited Create(AOwner,
+    [
+    TWIZSendPASC_ConfirmSender,
+    TWIZSendPASC_EnterRecipient,
+    TWIZSendPASC_EnterQuantity,
+    TWIZSendPASC_Confirmation
+    ]
+    );
   TitleText := 'Send PASC';
   TitleText := 'Send PASC';
   FinishText := 'Send PASC';
   FinishText := 'Send PASC';
 end;
 end;

+ 1 - 0
src/gui/wizards/operations/UWIZSendPASC_ConfirmSender.lfm

@@ -6,6 +6,7 @@ object WIZSendPASC_ConfirmSender: TWIZSendPASC_ConfirmSender
   Caption = 'WIZSendPASC_ConfirmSender'
   Caption = 'WIZSendPASC_ConfirmSender'
   ClientHeight = 261
   ClientHeight = 261
   ClientWidth = 429
   ClientWidth = 429
+  LCLVersion = '1.8.2.0'
   Visible = False
   Visible = False
   object gpSender: TGroupBox
   object gpSender: TGroupBox
     Left = 4
     Left = 4

+ 2 - 2
src/gui/wizards/operations/UWIZSendPASC_ConfirmSender.pas

@@ -17,7 +17,7 @@ interface
 uses
 uses
   Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
   Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
   ExtCtrls, UVisualGrid, UCommon.Data, UCellRenderers,
   ExtCtrls, UVisualGrid, UCommon.Data, UCellRenderers,
-  UWizard, UWIZSendPASC, UWIZSendPASC_EnterRecipient, UWIZSendPASC_Confirmation, UWIZModels;
+  UWizard, UWIZSendPASC, UWIZSendPASC_EnterRecipient, UWIZModels;
 
 
 type
 type
 
 
@@ -97,7 +97,7 @@ end;
 
 
 procedure TWIZSendPASC_ConfirmSender.OnNext;
 procedure TWIZSendPASC_ConfirmSender.OnNext;
 begin
 begin
-  UpdatePath(ptReplaceAllNext, [TWIZSendPASC_EnterRecipient, TWIZSendPASC_Confirmation]);
+  UpdatePath(ptInject, [TWIZSendPASC_EnterRecipient]);
 end;
 end;
 
 
 function TWIZSendPASC_ConfirmSender.Validate(out message: ansistring): boolean;
 function TWIZSendPASC_ConfirmSender.Validate(out message: ansistring): boolean;

+ 1 - 0
src/gui/wizards/operations/UWIZSendPASC_EnterQuantity.lfm

@@ -7,6 +7,7 @@ object WIZSendPASC_EnterQuantity: TWIZSendPASC_EnterQuantity
   Caption = 'WIZSendPASC_EnterQuantity'
   Caption = 'WIZSendPASC_EnterQuantity'
   ClientHeight = 253
   ClientHeight = 253
   ClientWidth = 429
   ClientWidth = 429
+  LCLVersion = '1.8.2.0'
   Visible = False
   Visible = False
   object gbQuantity: TGroupBox
   object gbQuantity: TGroupBox
     Left = 16
     Left = 16

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

@@ -18,8 +18,8 @@ interface
 uses
 uses
   Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
   Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
   ExtCtrls, Buttons, UCommon, UCommon.Collections, UWallet,
   ExtCtrls, Buttons, UCommon, UCommon.Collections, UWallet,
-  UFRMAccountSelect, UNode, UWizard, UWIZSendPASC, UWIZOperationFee_Custom, UWIZOperationPayload_Encryption, UWIZOperationSigner_Select,
-  UWIZSendPASC_Confirmation, UWIZModels;
+  UFRMAccountSelect, UNode, UWizard, UWIZSendPASC, UWIZOperationFee_Custom, UWIZOperationPayload_Encryption,
+  UWIZOperationSigner_Select, UWIZModels;
 
 
 type
 type
 
 
@@ -95,20 +95,20 @@ var
 begin
 begin
   Model.Payload.HasPayload := chkAttachPayload.Checked;
   Model.Payload.HasPayload := chkAttachPayload.Checked;
   if chkallfunds.Checked then
   if chkallfunds.Checked then
-    Model.SendPASC.SingleAmountToSend := 0// all balance
+    Model.SendPASC.SingleAmountToSend := 0 // all balance
 
 
   else
   else
     TAccountComp.TxtToMoney(edtAmt.Text, Model.SendPASC.SingleAmountToSend);
     TAccountComp.TxtToMoney(edtAmt.Text, Model.SendPASC.SingleAmountToSend);
 
 
   if chkChooseFee.Checked then
   if chkChooseFee.Checked then
-    UpdatePath(ptReplaceAllNext, [TWIZOperationFee_Custom, TWIZSendPASC_Confirmation])
+    UpdatePath(ptInject, [TWIZOperationFee_Custom])
   else
   else
   begin
   begin
     Model.Fee.SingleOperationFee := TSettings.DefaultFee;
     Model.Fee.SingleOperationFee := TSettings.DefaultFee;
     if Model.Payload.HasPayload then
     if Model.Payload.HasPayload then
-      UpdatePath(ptReplaceAllNext, [TWIZOperationPayload_Encryption, TWIZSendPASC_Confirmation])
+      UpdatePath(ptInject, [TWIZOperationPayload_Encryption])
     else if Length(Model.Account.SelectedAccounts) > 1 then
     else if Length(Model.Account.SelectedAccounts) > 1 then
-      UpdatePath(ptReplaceAllNext, [TWIZOperationSigner_Select, TWIZSendPASC_Confirmation])
+      UpdatePath(ptInject, [TWIZOperationSigner_Select])
     else
     else
     begin
     begin
       Model.Signer.SignerAccount := Model.Account.SelectedAccounts[0];
       Model.Signer.SignerAccount := Model.Account.SelectedAccounts[0];

+ 5 - 7
src/gui/wizards/operations/UWIZSendPASC_EnterRecipient.pas

@@ -18,8 +18,7 @@ interface
 uses
 uses
   Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
   Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
   ExtCtrls, Buttons, UCommon, UCommon.Collections, UWallet,
   ExtCtrls, Buttons, UCommon, UCommon.Collections, UWallet,
-  UFRMAccountSelect, UNode, UWizard, UWIZSendPASC, UWIZSendPASC_EnterQuantity,
-  UWIZSendPASC_Confirmation, UWIZModels;
+  UFRMAccountSelect, UNode, UWizard, UWIZSendPASC, UWIZSendPASC_EnterQuantity, UWIZModels;
 
 
 type
 type
 
 
@@ -39,6 +38,7 @@ type
     procedure UpdateUI();
     procedure UpdateUI();
 
 
 
 
+
   public
   public
     procedure OnPresent; override;
     procedure OnPresent; override;
     procedure OnNext; override;
     procedure OnNext; override;
@@ -63,7 +63,7 @@ end;
 procedure TWIZSendPASC_EnterRecipient.UpdateUI();
 procedure TWIZSendPASC_EnterRecipient.UpdateUI();
 var
 var
   tempAcc: TAccount;
   tempAcc: TAccount;
-  c: Cardinal;
+  c: cardinal;
 begin
 begin
   if TAccountComp.AccountTxtNumberToAccountNumber(edtDestAcc.Text, c) then
   if TAccountComp.AccountTxtNumberToAccountNumber(edtDestAcc.Text, c) then
   begin
   begin
@@ -106,9 +106,7 @@ begin
       F.DefaultAccount := c;
       F.DefaultAccount := c;
     F.AllowSelect := True;
     F.AllowSelect := True;
     if F.ShowModal = mrOk then
     if F.ShowModal = mrOk then
-    begin
       edtDestAcc.Text := TAccountComp.AccountNumberToAccountTxtNumber(F.GetSelected);
       edtDestAcc.Text := TAccountComp.AccountNumberToAccountTxtNumber(F.GetSelected);
-    end;
   finally
   finally
     F.Free;
     F.Free;
   end;
   end;
@@ -122,8 +120,8 @@ var
 begin
 begin
   TAccountComp.AccountTxtNumberToAccountNumber(edtDestAcc.Text, c);
   TAccountComp.AccountTxtNumberToAccountNumber(edtDestAcc.Text, c);
   Model.SendPASC.DestinationAccount := TNode.Node.Operations.SafeBoxTransaction.account(c);
   Model.SendPASC.DestinationAccount := TNode.Node.Operations.SafeBoxTransaction.account(c);
-  UpdatePath(ptReplaceAllNext, [TWIZSendPASC_EnterQuantity,
-    TWIZSendPASC_Confirmation]);
+  UpdatePath(ptInject, [TWIZSendPASC_EnterQuantity]);
+
 end;
 end;
 
 
 function TWIZSendPASC_EnterRecipient.Validate(out message: ansistring): boolean;
 function TWIZSendPASC_EnterRecipient.Validate(out message: ansistring): boolean;