Skip to content

Commit f7bf16b

Browse files
author
César Cardoso
committed
hotfix/av-ao-desinstalar-wizard-e-fechar-a-ide
1 parent 7edb7b4 commit f7bf16b

8 files changed

Lines changed: 407 additions & 136 deletions

Package/C4DWizard.dproj

Lines changed: 357 additions & 102 deletions
Large diffs are not rendered by default.

Src/IDE/EditServicesNotifier/C4D.Wizard.IDE.EditServicesNotifier.pas

Lines changed: 11 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -79,10 +79,10 @@ procedure TC4DWizardIDEEditServicesNotifier.EditorViewActivated(const EditWindow
7979

8080
procedure TC4DWizardIDEEditServicesNotifier.EditorViewModified(const EditWindow: INTAEditWindow; const EditView: IOTAEditView);
8181
begin
82-
// ShowMessage('EditorViewModified: Texto alterado no Editor' + sLineBreak +
83-
// 'Linha atual: ' + EditView.Buffer.EditPosition.Row.Tostring + sLineBreak +
84-
// 'Coluna atual: ' + EditView.Buffer.EditPosition.Column.Tostring + sLineBreak +
85-
// 'Última linha: ' + EditView.Buffer.EditPosition.LastRow.Tostring + sLineBreak);
82+
// AddLogInternal('EditorViewModified: ' +
83+
// ' Linha atual: ' + EditView.Buffer.EditPosition.Row.Tostring +
84+
// ' Coluna atual: ' + EditView.Buffer.EditPosition.Column.Tostring +
85+
// ' Ultima linha: ' + EditView.Buffer.EditPosition.LastRow.Tostring);
8686
end;
8787

8888
procedure TC4DWizardIDEEditServicesNotifier.WindowActivated(const EditWindow: INTAEditWindow);
@@ -92,38 +92,29 @@ procedure TC4DWizardIDEEditServicesNotifier.WindowActivated(const EditWindow: IN
9292

9393
procedure TC4DWizardIDEEditServicesNotifier.WindowCommand(const EditWindow: INTAEditWindow; Command, Param: Integer; var Handled: Boolean);
9494
begin
95-
// ShowMessage('WindowCommand' + sLineBreak +
96-
// 'Command: ' + Command.Tostring + sLineBreak +
97-
// 'Param: ' + Param.Tostring);
98-
99-
// if(Command = 22)then
100-
// begin
101-
// ShowMessage('Você teclou Ctrl + C e essa opção não é permitida');
102-
// Abort;
103-
// end;
95+
//AddLogInternal('WindowCommand: Command: ' + Command.Tostring + ' - Param: ' + Param.Tostring);
96+
//if(Command = 22)then
97+
//begin
98+
// ShowMessage('Você teclou Ctrl + C e essa opção não é permitida');
99+
// Abort;
100+
//end;
104101
end;
105102

106103
procedure TC4DWizardIDEEditServicesNotifier.WindowNotification(const EditWindow: INTAEditWindow; Operation: TOperation);
107104
begin
108105

109106
end;
110107

108+
//QUANDO O DELPHI É ABERTO E QUANDO OUTRAS JANELAS SÃO ABERTAS
111109
procedure TC4DWizardIDEEditServicesNotifier.WindowShow(const EditWindow: INTAEditWindow; Show, LoadedFromDesktop: Boolean);
112110
begin
113-
// ShowMessage('WindowShow: Quando o Delphi é aberto e quando outras janelas são abertas' + sLineBreak +
114-
// 'Show: ' + BoolToStr(Show, True) + sLineBreak +
115-
// 'LoadedFromDesktop: ' + BoolToStr(LoadedFromDesktop, True));
116-
117111
TC4DWizardIDEToolBarsRegister.Process;
118112
end;
119113

120114
initialization
121115

122116
finalization
123117
if(IndexNotifier >= 0)then
124-
begin
125118
TC4DWizardUtilsOTA.GetIOTAEditorServices.RemoveNotifier(IndexNotifier);
126-
IndexNotifier := -1;
127-
end;
128119

129120
end.

Src/IDE/ToolBars/C4D.Wizard.IDE.ToolBars.Branch.pas

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,10 @@ procedure TC4DWizardIDEToolBarsBranch.RemoveToolBarC4D;
158158
begin
159159
for i := Pred(FToolBarBranch.ButtonCount) DownTo 0 do
160160
FToolBarBranch.Buttons[i].Free;
161-
FreeAndNil(FToolBarBranch);
161+
162+
FToolBarBranch.Visible := False;
163+
if(not TC4DWizardUtilsOTA.CurrentProjectIsC4DWizardDPROJ)then
164+
FreeAndNil(FToolBarBranch);
162165
end;
163166
end;
164167

Src/IDE/ToolBars/C4D.Wizard.IDE.ToolBars.Build.pas

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ constructor TC4DWizardIDEToolBarsBuild.Create;
7575
begin
7676
FINTAServices := TC4DWizardUtilsOTA.GetINTAServices;
7777
Self.NewToolBarBuild;
78-
Self.ProcessRefreshComboBox;
78+
//Self.ProcessRefreshComboBox;
7979
end;
8080

8181
destructor TC4DWizardIDEToolBarsBuild.Destroy;
@@ -166,7 +166,9 @@ procedure TC4DWizardIDEToolBarsBuild.RemoveToolBarBuild;
166166
for i := Pred(FToolBarBuild.ButtonCount) DownTo 0 do
167167
FToolBarBuild.Buttons[i].Free;
168168

169-
FreeAndNil(FToolBarBuild);
169+
FToolBarBuild.Visible := False;
170+
if(not TC4DWizardUtilsOTA.CurrentProjectIsC4DWizardDPROJ)then
171+
FreeAndNil(FToolBarBuild);
170172
end;
171173
end;
172174

Src/IDE/ToolBars/C4D.Wizard.IDE.ToolBars.Notifier.pas

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ finalization
9292
if(IndexNotifier >= 0)then
9393
begin
9494
TC4DWizardUtilsOTA.GetINTAServices.UnregisterToolbarNotifier(IndexNotifier);
95-
IndexNotifier := -1;
95+
//IndexNotifier := -1;
9696
end;
9797

9898
end.

Src/IDE/ToolBars/C4D.Wizard.IDE.ToolBars.Register.pas

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ interface
55
uses
66
System.SysUtils,
77
System.Classes,
8+
C4D.Wizard.Utils,
89
C4D.Wizard.IDE.ToolBars.Notifier,
910
C4D.Wizard.IDE.ToolBars.Utilities,
1011
C4D.Wizard.IDE.ToolBars.Build,
@@ -23,7 +24,7 @@ implementation
2324
class procedure TC4DWizardIDEToolBarsRegister.Process;
2425
begin
2526
C4D.Wizard.IDE.ToolBars.Notifier.RegisterSelf;
26-
C4D.Wizard.IDE.ToolBars.Build.RegisterSelf;
27+
c4D.Wizard.IDE.ToolBars.Build.RegisterSelf;
2728
C4D.Wizard.IDE.ToolBars.Utilities.RegisterSelf;
2829
C4D.Wizard.IDE.ToolBars.Branch.RegisterSelf;
2930
end;

Src/IDE/ToolBars/C4D.Wizard.IDE.ToolBars.Utilities.pas

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -120,9 +120,16 @@ procedure TC4DWizardIDEToolBarsUtilities.RefreshButtons;
120120
procedure TC4DWizardIDEToolBarsUtilities.RemoveToolBarUtilities;
121121
begin
122122
Self.RemoveToolButtons;
123-
//FToolBarUtilities := FINTAServices.ToolBar[TC4DConsts.C_TOOL_BAR_UTILITIES_NAME];
123+
124+
if(not Assigned(FToolBarUtilities))then
125+
FToolBarUtilities := FINTAServices.ToolBar[TC4DConsts.C_TOOL_BAR_UTILITIES_NAME];
126+
124127
if(Assigned(FToolBarUtilities))then
125-
FreeAndNil(FToolBarUtilities);
128+
begin
129+
FToolBarUtilities.Visible := False;
130+
if(not TC4DWizardUtilsOTA.CurrentProjectIsC4DWizardDPROJ)then
131+
FreeAndNil(FToolBarUtilities);
132+
end;
126133
end;
127134

128135
procedure TC4DWizardIDEToolBarsUtilities.RemoveToolButtons;
@@ -145,17 +152,16 @@ function TC4DWizardIDEToolBarsUtilities.GetIniFile: TIniFile;
145152
procedure TC4DWizardIDEToolBarsUtilities.SetVisibleInINI(AVisible: Boolean);
146153
begin
147154
Self.GetIniFile.WriteBool(TC4DConsts.C_TOOL_BAR_UTILITIES_NAME,
148-
TC4DConsts.C_TOOL_BAR_UTILITIES_INI_Visible,
149-
AVisible);
155+
TC4DConsts.C_TOOL_BAR_UTILITIES_INI_Visible, AVisible);
156+
150157
if(AVisible)then
151158
Self.ProcessRefresh(True);
152159
end;
153160

154161
function TC4DWizardIDEToolBarsUtilities.GetVisibleInINI: Boolean;
155162
begin
156163
Result := Self.GetIniFile.ReadBool(TC4DConsts.C_TOOL_BAR_UTILITIES_NAME,
157-
TC4DConsts.C_TOOL_BAR_UTILITIES_INI_Visible,
158-
True);
164+
TC4DConsts.C_TOOL_BAR_UTILITIES_INI_Visible, True);
159165
end;
160166

161167
function TC4DWizardIDEToolBarsUtilities.GetReferenceToolBar: string;
@@ -251,9 +257,7 @@ procedure TC4DWizardIDEToolBarsUtilities.ConfigButtonUnitInReadOnly(const AInRea
251257
procedure TC4DWizardIDEToolBarsUtilities.OpenExternalFillList;
252258
begin
253259
FList.Clear;
254-
TC4DWizardOpenExternalModel
255-
.New
256-
.ReadIniFile(
260+
TC4DWizardOpenExternalModel.New.ReadIniFile(
257261
procedure(AC4DWizardOpenExternal: TC4DWizardOpenExternal)
258262
var
259263
LC4DWizardOpenExternal: TC4DWizardOpenExternal;

Src/Utils/C4D.Wizard.Utils.OTA.pas

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ TC4DWizardUtilsOTA = class
2020
class function EditorAsstring(AIOTAModule: IOTAModule): string;
2121
class procedure DoCloseFile(AInfoFile: TC4DWizardInfoFile);
2222
public
23+
class function CurrentProjectIsC4DWizardDPROJ: Boolean;
2324
class function CurrentModuleIsReadOnly: Boolean;
2425
class procedure CloseFilesOpened(AC4DWizardExtensions: TC4DExtensionsOfFiles);
2526
class function AddImgIDEResourceName(AResourceName: string): Integer;
@@ -83,11 +84,25 @@ TC4DWizardUtilsOTA = class
8384
implementation
8485

8586
uses
87+
C4D.Wizard.Consts,
8688
C4D.Wizard.LogFile,
8789
C4D.Wizard.Model.Files.Loop,
8890
C4D.Wizard.Utils,
8991
C4D.Wizard.Utils.OTA.BinaryPath;
9092

93+
class function TC4DWizardUtilsOTA.CurrentProjectIsC4DWizardDPROJ: Boolean;
94+
var
95+
LIOTAProject: IOTAProject;
96+
begin
97+
Result := False;
98+
99+
LIOTAProject := Self.GetCurrentProject;
100+
if(LIOTAProject = nil)then
101+
Exit;
102+
103+
Result := TC4DWizardUtils.FileNameIsC4DWizardDPROJ(LIOTAProject.FileName);
104+
end;
105+
91106
class function TC4DWizardUtilsOTA.CurrentModuleIsReadOnly: Boolean;
92107
var
93108
LIOTAEditBuffer: IOTAEditBuffer;

0 commit comments

Comments
 (0)