diff --git a/Projects/ScriptManager/project1.lpi b/Projects/ScriptManager/project1.lpi
index 4e808df..c4dc757 100644
--- a/Projects/ScriptManager/project1.lpi
+++ b/Projects/ScriptManager/project1.lpi
@@ -10,8 +10,10 @@
-
+
+
+
@@ -29,12 +31,15 @@
-
+
-
+
+
+
+
@@ -45,326 +50,280 @@
-
-
-
+
+
+
-
-
+
-
-
+
-
+
-
-
-
+
+
+
-
-
+
-
-
-
-
-
-
+
+
+
-
-
-
+
-
-
+
-
-
+
-
-
+
-
-
-
-
+
-
-
-
-
+
+
-
-
-
+
-
-
-
-
+
+
+
+
-
-
-
-
-
+
+
+
+
+
+
+
-
-
-
-
-
+
+
+
-
-
-
-
+
-
-
-
-
+
-
-
-
+
-
-
+
-
-
-
-
+
-
-
-
-
+
-
-
-
-
+
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
-
+
+
-
-
+
+
-
-
+
+
-
+
-
-
+
+
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -373,10 +332,15 @@
-
-
+
+
+
+
+
+
+
@@ -390,6 +354,11 @@
+
+
+
+
+
diff --git a/Projects/ScriptManager/project1.lpr b/Projects/ScriptManager/project1.lpr
index 0ce5d06..7eda75a 100644
--- a/Projects/ScriptManager/project1.lpr
+++ b/Projects/ScriptManager/project1.lpr
@@ -7,8 +7,7 @@ uses
cthreads, cmem,
{$ENDIF}
Interfaces, // this includes the LCL widgetset
- Forms, scriptmanager
- { you can add units after this };
+ Forms, scriptmanager;
{$R *.res}
diff --git a/Projects/ScriptManager/project1.manifest b/Projects/ScriptManager/project1.manifest
new file mode 100644
index 0000000..07fb624
--- /dev/null
+++ b/Projects/ScriptManager/project1.manifest
@@ -0,0 +1,17 @@
+
+
+
+ Your application description here.
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Projects/ScriptManager/project1.rc b/Projects/ScriptManager/project1.rc
new file mode 100644
index 0000000..1c963f2
--- /dev/null
+++ b/Projects/ScriptManager/project1.rc
@@ -0,0 +1,6 @@
+#define RT_MANIFEST 24
+#define CREATEPROCESS_MANIFEST_RESOURCE_ID 1
+#define ISOLATIONAWARE_MANIFEST_RESOURCE_ID 2
+#define ISOLATIONAWARE_NOSTATICIMPORT_MANIFEST_RESOURCE_ID 3
+
+CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "project1.manifest"
diff --git a/Projects/ScriptManager/scriptmanager.lfm b/Projects/ScriptManager/scriptmanager.lfm
index 9a22fda..8affe30 100644
--- a/Projects/ScriptManager/scriptmanager.lfm
+++ b/Projects/ScriptManager/scriptmanager.lfm
@@ -1,19 +1,19 @@
object Form1: TForm1
- Left = 314
- Height = 428
- Top = 197
+ Left = 515
+ Height = 434
+ Top = 179
Width = 702
- Anchors = [akTop, akLeft, akRight]
+ ActiveControl = ListView1
Caption = 'Form1'
- ClientHeight = 428
+ ClientHeight = 434
ClientWidth = 702
OnCreate = FormCreate
- LCLVersion = '0.9.29'
+ LCLVersion = '0.9.30.1'
object Button1: TButton
- Left = 16
- Height = 33
+ Left = 280
+ Height = 38
Top = 384
- Width = 680
+ Width = 416
Anchors = [akLeft, akBottom]
Caption = 'Refresh'
OnClick = Button1Click
@@ -21,20 +21,20 @@ object Form1: TForm1
end
object GroupBox1: TGroupBox
Left = 280
- Height = 333
+ Height = 339
Top = 0
Width = 418
Align = alCustom
Anchors = [akTop, akLeft, akBottom]
Caption = 'GroupBox1'
- ClientHeight = 315
+ ClientHeight = 320
ClientWidth = 414
TabOrder = 1
object Memo1: TMemo
Left = 14
- Height = 280
- Top = 8
- Width = 376
+ Height = 288
+ Top = 15
+ Width = 384
BorderStyle = bsNone
Color = clBtnFace
ReadOnly = True
@@ -42,21 +42,33 @@ object Form1: TForm1
end
end
object ListView1: TListView
+ AnchorSideBottom.Side = asrBottom
Left = 0
- Height = 333
+ Height = 434
Top = 0
Width = 274
Align = alCustom
Anchors = [akTop, akLeft, akBottom]
- Columns = <>
+ BorderWidth = 2
+ Columns = <
+ item
+ AutoSize = True
+ Caption = 'Script Name'
+ Width = 0
+ end
+ item
+ AutoSize = True
+ Caption = 'Author'
+ Width = 272
+ end>
TabOrder = 2
OnChange = ListView1Change
end
object Button2: TButton
- Left = 21
+ Left = 280
Height = 38
- Top = 338
- Width = 672
+ Top = 344
+ Width = 416
Caption = 'Install'
OnClick = Button2Click
TabOrder = 3
diff --git a/Projects/ScriptManager/scriptmanager.pas b/Projects/ScriptManager/scriptmanager.pas
index 46787e4..6e99827 100644
--- a/Projects/ScriptManager/scriptmanager.pas
+++ b/Projects/ScriptManager/scriptmanager.pas
@@ -51,7 +51,8 @@ type
Name, Version, Author, Description, URL: String;
Tags, Files: TStringList;
LocalScript : TSimbaScript;
- property Installed : boolean read IsInstalled;
+// property Installed : boolean read IsInstalled;
+ Installed : boolean;
procedure Dbg;
constructor Create;
destructor Destroy; override;
@@ -75,29 +76,31 @@ type
TScriptManager = class (TObject)
private
FMaindir: string;
- FScripts : TList; //Array of the online scripts
- FLScripts: TList; //Array of the local scripts
- FVersion : String;
+ FRScripts : TList; //Array of the online scripts
+ FLScripts : TList; //Array of the local scripts
+ FRVersion : String;
FUpdating : boolean;
function GetLScriptCount: integer;
function GetMainDir: string;
function GetScript(index : integer): TSimbaScript;
- function GetScriptCount: integer;
- procedure MatchLocalOnline;
+ function GetRScriptCount: integer;
+ function GetLScriptByName(name: string): TLSimbaScript;
+ function isNewerVersion(ver1, ver2: string): boolean;
+ procedure AppendRemoteDB(url: string);
public
- function FindScriptByName(name : string) : Integer;
+ function FindRScriptByName(name : string) : Integer;
function FindLScriptByName(name : string) : Integer;
property MainDir : string read GetMainDir write FMaindir;
property SimbaScript[index : integer] : TSimbaScript read GetScript;
- procedure Update; //Gets the online scripts
+ procedure RUpdate; //Gets the online scripts
procedure LUpdate; //Loads the local scripts, uses MainDir
function NewVersion(Script : integer) : boolean; //Checks for updates for Script
- procedure InstallNewScript(Script : integer); //Installs Script (Online -> Local)
- function UpdateScript(Script : integer; ignoreupdating : boolean = false) : boolean; //Updates all the info/files of local script
+ procedure InstallNewRScript(Script : integer); //Installs Script (Online -> Local)
+ function UpdateLScript(Script : integer; ignoreupdating : boolean = false) : boolean; //Updates all the info/files of local script
procedure LSave; //Saves the local scripts, uses MainDir
property LScriptCount : integer read GetLScriptCount; //LScript = Local Script = Installed Script
- property ScriptCount : integer read GetScriptCount; //Online script
- property Version : string read FVersion;
+ property RScriptCount : integer read GetRScriptCount; //Online script
+ property Version : string read FRVersion;
constructor Create;
destructor Destroy; override;
end;
@@ -124,8 +127,6 @@ type
end;
-
-
var
Form1: TForm1;
@@ -154,7 +155,7 @@ begin
Memo1.Lines.add('Name: ' + Script.Name);
Memo1.lines.add('Author: ' + Script.Author);
Memo1.Lines.add('Version: ' + Script.Version);
- Memo1.Lines.add('Installed: '+ BoolToStr(Script.Installed,true));
+ Memo1.Lines.add('Installed: '+ BoolToStr(Script.IsInstalled, true));
Memo1.Lines.add('Description: ' + Script.Description);
end;
end;
@@ -188,16 +189,18 @@ end;
procedure TForm1.Button1Click(Sender: TObject);
var
- i : integer;
+ i, l: integer;
Item : TListItem;
begin
- Mng.Update;
+ Mng.LUpdate;
+ Mng.RUpdate;
ListView1.Items.Clear;
- for i := 0 to Mng.ScriptCount - 1 do
+ for i := 0 to Mng.RScriptCount - 1 do
begin
Item := ListView1.Items.Add;
- Item.Data:= Mng.SimbaScript[i];
- Item.Caption:= Mng.SimbaScript[i].Name;
+ Item.Data := Mng.SimbaScript[i];
+ Item.Caption := Mng.SimbaScript[i].Name;
+ Item.SubItems.Add(Mng.SimbaScript[i].Author);
end;
end;
@@ -208,7 +211,17 @@ begin
if (ListView1.Selected <> nil) and (ListView1.Selected.Data <> nil) then
begin
Script := TSimbaScript(ListView1.Selected.Data);
- Mng.InstallNewScript(mng.FindScriptByName(Script.Name));
+ if Script.IsInstalled then
+ begin
+// ShowMessage('Updating Script "' + Script.Name + '"');
+ Mng.UpdateLScript(mng.FindRScriptByName(Script.Name));
+ ShowMessage('Finished Updating Script "' + Script.Name + '"');
+ end else
+ begin
+// ShowMessage('Installing Script "' + Script.Name + '"');
+ Mng.InstallNewRScript(mng.FindRScriptByName(Script.Name));
+ ShowMessage('Finished Installing Script "' + Script.Name + '"');
+ end;
end;
end;
@@ -216,7 +229,7 @@ end;
function TSimbaScript.IsInstalled: boolean;
begin
- Result := (LocalScript <> nil);
+ Result := Self.Installed;
end;
procedure TSimbaScript.LoadFromNode(Script: TDOMNode);
@@ -237,7 +250,10 @@ procedure TSimbaScript.LoadFromNode(Script: TDOMNode);
begin
Result := TStringList.Create;
if node = nil then
+ begin
+ Result.Free;
exit;
+ end;
tmpNode := node.FindNode(itemstr);
if tmpNode <> nil then
begin
@@ -279,6 +295,7 @@ end;
constructor TSimbaScript.Create;
begin
inherited;
+ Installed := False;
{stuff here}
end;
@@ -295,12 +312,25 @@ end;
{ TScriptManager }
-function TScriptManager.FindScriptByName(name: string): Integer;
+function TScriptManager.GetLScriptByName(name: string): TLSimbaScript;
+var
+ I : integer;
+ Scr : TLSimbaScript;
+begin
+ result := nil;
+ for i := FLScripts.Count - 1 downto 0 do
+ scr := TLSimbaScript(FLScripts[i]);
+ if scr.Name = Name then
+ result := scr;
+ exit();
+end;
+
+function TScriptManager.FindRScriptByName(name: string): Integer;
var
I : integer;
begin
- for i := FScripts.Count - 1 downto 0 do
- if TSimbaScript(FScripts[i]).Name = Name then
+ for i := FRScripts.Count - 1 downto 0 do
+ if TSimbaScript(FRScripts[i]).Name = Name then
exit(i);
result := -1;
end;
@@ -309,7 +339,7 @@ function TScriptManager.FindLScriptByName(name: string): Integer;
var
I : integer;
begin
- for i := FScripts.Count - 1 downto 0 do
+ for i := FLScripts.Count - 1 downto 0 do
if TLSimbaScript(FLScripts[i]).Name = Name then
exit(i);
result := -1;
@@ -327,34 +357,43 @@ end;
function TScriptManager.GetScript(index : integer): TSimbaScript;
begin
- result := TSimbaScript(FScripts[index]);
+ result := TSimbaScript(FRScripts[index]);
end;
-function TScriptManager.GetScriptCount: integer;
+function TScriptManager.GetRScriptCount: integer;
begin
- result := FScripts.Count;
+ result := FRScripts.Count;
end;
-procedure TScriptManager.MatchLocalOnline;
+procedure TScriptManager.RUpdate;
var
- Scrpt : TLSimbaScript;
- I,II : integer;
+ Databs : TStringList;
+ X : integer;
begin
- for ii := 0 to LScriptCount - 1 do
+ Databs := TStringList.Create;
+ Databs.Add('http://tootoot222.hopto.org:8080/~mcteo/scriptman/scripts.xml');
+ Databs.Add('http://tootoot222.hopto.org:8080/~mcteo/scriptman2/scripts.xml');
+ Databs.Add('http://tootoot222.hopto.org:8080/~mcteo/secretrepo/scripts.cgi?user=user&pass=pass');
+
+ //TODO: Load list of repositories
+
+// ShowMessage(SettingsForm.Settings.GetKeyValueDefLoad('Settings/SourceEditor/DefScriptPath', ,SimbaSettingsFile));
+// ShowMessage(LoadSettingDef('Settings/SourceEditor/DefScriptPath', ExpandFileName(MainDir+DS+'default.simba')));
+ FRScripts.Clear();
+ Form1.Memo1.Clear;
+ Form1.Memo1.Lines.Add('Updating from Repos');
+ for X := 0 to Databs.Count-1 do
begin
- Scrpt := TLSimbaScript(FLScripts[ii]);
- if Scrpt.OnlineScript = nil then
- for i := 0 to ScriptCount-1 do
- if TSimbaScript(FScripts[i]).Name = Scrpt.Name then
- begin
- Scrpt.OnlineScript := TSimbaScript(FScripts[i]);
- Break;
- end;
- Scrpt.OnlineScript.LocalScript := Scrpt;
+ Form1.Memo1.Lines.Add('Updating from Repos ' + inttostr(X+1) +
+ '/' + inttostr(Databs.Count));
+ AppendRemoteDB(Databs[X]);
end;
+ Databs.Free;
+ Form1.Memo1.Lines.Add('Finished updating from Repos');
end;
-procedure TScriptManager.Update;
+{ Downloads online scripts.xml and parses it, populating FRScripts }
+procedure TScriptManager.AppendRemoteDB(url: string);
var
XMLFile : string;
Stream : TStringStream;
@@ -363,12 +402,15 @@ var
Subs : TStringList;
Down : TDownloadThread;
SScript : TSimbaScript;
+ LScr : TLSimbaScript;
I : integer;
begin
if FUpdating then
exit;
FUpdating := True;
- Down := TDownloadThread.Create('http://old.villavu.com/sm',@XMLFile);
+// Down := TDownloadThread.Create('http://old.villavu.com/sm',@XMLFile);
+ Down := TDownloadThread.Create(url, @XMLFile);
+// Down := TDownloadThread.Create('http://tootoot222.hopto.org:8080/~mcteo/scriptman/scripts.xml',@XMLFile);
down.Execute;
while down.Done = false do
begin
@@ -380,36 +422,54 @@ begin
Stream.Free;
Node := XMLDoc.FirstChild.FindNode('Version');
if node <> nil then
- FVersion:= Node.TextContent;
+ FRVersion:= Node.TextContent;
Node := XMLDoc.FirstChild.FindNode('ScriptList');
if node <> nil then
begin
script := Node.FirstChild;
+ WriteLn('loading remote script from online db');
while Script <> nil do
begin
SScript := TSimbaScript.Create;
SScript.LoadFromNode(Script);
- SScript.Dbg;
- i := FindScriptByName(SScript.Name);
- if (i = -1) then
- FScripts.Add(SScript)
- else
+ i := FindRScriptByName(SScript.Name);
+ if (i = -1) then // if no remote scripts with same name
+ begin
+ i := FindLScriptByName(SScript.Name);
+ if (i = -1) then // if no local scripts with same name
+ begin
+ FRScripts.Add(SScript);
+ end else // there is a local script with same name
+ begin
+ LScr := GetLScriptByName(SScript.Name);
+ if (LScr <> nil) then
+ begin
+ if isNewerVersion(SScript.Version, LScr.Version) then // if local script is older
+ begin
+ SScript.Installed := True;
+ FRScripts.Add(SScript); // add newer version of script
+ end;
+ end;
+ end;
+ end else
begin
SScript.free;
- TSimbaScript(FScripts[i]).LoadFromNode(Script);
+// TSimbaScript(FScripts[i]).LoadFromNode(Script);
end;
Script := Script.NextSibling;
end;
+ WriteLn('finished loading remote script from online db');
end;
XMLDoc.Free;
FUpdating := false;
- MatchLocalOnline;
+// MatchLocalOnline;
end;
+{ Opens local scripts.xml and parses it, populating FLScripts }
procedure TScriptManager.LUpdate;
var
XMLDoc : TXMLDocument;
- Node,Script : TDOMNode;
+ Node,Script,tmpNode : TDOMNode;
Subs : TStringList;
Down : TDownloadThread;
SScript : TLSimbaScript;
@@ -417,42 +477,62 @@ var
begin
if DirectoryExists(MainDir) = false then
exit;
+ WriteLn('Reading XML Config file from "' + maindir + 'General' + DirectorySeparator+ 'scripts.xml"');
if FileExists(maindir + 'General' + DirectorySeparator+ 'scripts.xml') then
begin
ReadXMLFile(XMLDoc,maindir + 'General' + DirectorySeparator+ 'scripts.xml');
- Node := XMLDoc.FirstChild.FindNode('Scripts');
+// Node := XMLDoc.FirstChild.FindNode('ScriptList');
+ Node := XMLDoc.FindNode('ScriptList');
if node <> nil then
begin
+ FLScripts.Clear();
script := Node.FirstChild;
- while Script <> nil do
+ WriteLn('loading local script from local db');
+ while script <> nil do
begin
SScript := TLSimbaScript.Create;
- SScript.LoadFromName(Node.TextContent,maindir);
- i := FindLScriptByName(SScript.Name);
- SScript.Dbg;
- if (i = -1) then
- FLScripts.Add(SScript)
- else
+ tmpNode := script.FindNode('Name');
+ if tmpNode <> nil then
begin
- SScript.free;
- TLSimbaScript(FLScripts[i]).LoadFromName(Node.TextContent,maindir);
+ SScript.LoadFromName(Trim(tmpNode.TextContent), maindir);
+ i := FindLScriptByName(SScript.Name);
+ if (i = -1) then
+ begin
+ FLScripts.Add(SScript);
+ end
+ else
+ begin
+ SScript.free;
+ TLSimbaScript(FLScripts[i]).LoadFromName(Node.TextContent,maindir);
+ end;
end;
- Script := Script.NextSibling;
+ script := script.NextSibling;
end;
+ WriteLn('finished loading local scripts from local db');
end;
XMLDoc.Free;
end;
- MatchLocalOnline;
+end;
+
+{ Compares versions and returns true if ver1 > ver2 }
+function TScriptManager.isNewerVersion(ver1, ver2: string): boolean;
+var
+ v1, v2: Extended;
+begin
+ v1 := StrToFloat(ver1);
+ v2 := StrToFloat(ver2);
+ result := (v1 > v2);
end;
function TScriptManager.NewVersion(Script: integer): boolean;
begin
- MatchLocalOnline;
+// MatchLocalOnline;
with TLSimbaScript(FLScripts[Script]) do
result := OnlineScript.Version <> Version;
end;
-procedure TScriptManager.InstallNewScript(Script: integer);
+{ Sets up some vars/dirs and hands installation to update script func }
+procedure TScriptManager.InstallNewRScript(Script: integer);
var
Scrpt : TSimbaScript;
LScrpt: TLSimbaScript;
@@ -461,9 +541,8 @@ begin
if FUpdating then
exit;
FUpdating := true;
- Scrpt := TSimbaScript(FScripts[Script]);
+ Scrpt := TSimbaScript(FRScripts[Script]);
LScrpt := TLSimbaScript.create;
- FLScripts.Add(LScrpt);
LScrpt.Name:= Scrpt.Name;
LScrpt.OnlineScript := Scrpt;
Dir := MainDir + LScrpt.Name + DirectorySeparator;
@@ -471,10 +550,13 @@ begin
Writeln('Directory already exists, yet continue?');
if not CreateDir(Dir) then
Writeln('Failed to create dir..');
- UpdateScript(FLScripts.Count - 1,true);
+ FLScripts.Add(LScrpt);
+ UpdateLScript(FLScripts.Count - 1, true);
end;
-function TScriptManager.UpdateScript(Script: integer; ignoreupdating : boolean = false) : boolean;
+{ Downloads script files and puts them in their own directory,
+ then triggers updating of local scripts.xml to match FLScripts }
+function TScriptManager.UpdateLScript(Script: integer; ignoreupdating : boolean = false) : boolean;
var
LScrpt : TLSimbaScript;
Scrpt : TSimbaScript;
@@ -493,10 +575,11 @@ begin
Version:= Scrpt.Version;
Name:= Scrpt.Name;
Author := Scrpt.Author;
- Description:= Scrpt.Version;
+ Description:= Scrpt.Description;
Tags.Assign(Scrpt.Tags);
Files.Assign(Scrpt.Files);
- URL := 'http://old.villavu.com/sm/scripts/'+name+ '.tar.bz2';
+// URL := 'http://old.villavu.com/sm/scripts/'+name+ '.tar.bz2';
+ URL := 'http://tootoot222.hopto.org:8080/~mcteo/scriptman/'+name+'.tar.bz2';
end;
LScrpt.Save(MainDir); //Saves the setting file, now we only need to update the files
DownloadThread := TDownloadDecompressThread.Create(LScrpt.URL,MainDir + LScrpt.Name + DS,true);
@@ -512,6 +595,7 @@ begin
FUPdating := false;
end;
+{ Updates local scripts.xml to match FLScripts }
procedure TScriptManager.LSave;
var
XMLDoc : TXMLDocument;
@@ -524,16 +608,21 @@ begin
node.TextContent:= Text;
end;
var
- Node : TDOMNode;
+ Node, ChildNode : TDOMNode;
i : integer;
begin
if DirectoryExists(MainDir) = false then
exit;
XMLDoc := TXMLDocument.Create;
- Node := XMLDoc.CreateElement('Scripts');
+ Node := XMLDoc.CreateElement('ScriptList');
XMLDoc.AppendChild(node);
for i := 0 to FLScripts.Count - 1 do
- AddTextElement(node,'Script', TLSimbaScript(FLScripts[i]).Name);
+ begin
+ TLSimbaScript(FLScripts[i]).Dbg;
+ ChildNode := XMLDoc.CreateElement('Script');
+ AddTextElement(childnode,'Name', TLSimbaScript(FLScripts[i]).Name);
+ Node.AppendChild(ChildNode);
+ end;
WriteXMLFile(XMLDoc,maindir + 'General' + DirectorySeparator+ 'scripts.xml');
XMLDoc.Free;
end;
@@ -542,8 +631,8 @@ constructor TScriptManager.Create;
begin
inherited;
FLScripts := TList.Create;
- FScripts := TList.Create;
- FVersion := '';
+ FRScripts := TList.Create;
+ FRVersion := '';
FUpdating:= False;
FMainDir:= ExtractFileDir(Application.ExeName);
CreateDir(MainDir + 'General');
@@ -551,10 +640,10 @@ end;
destructor TScriptManager.Destroy;
begin
- while FScripts.Count > 0 do
+ while FRScripts.Count > 0 do
begin
- TSimbaScript(FScripts[0]).Free;
- FScripts.Delete(0);
+ TSimbaScript(FRScripts[0]).Free;
+ FRScripts.Delete(0);
end;
while FLScripts.Count > 0 do
begin
@@ -574,15 +663,15 @@ begin
XMLDoc.Free;
end;
-function TLSimbaScript.LoadFromName(const ScriptName,MainDir : string) : boolean;
+function TLSimbaScript.LoadFromName(const ScriptName, MainDir : string) : boolean;
begin
Result := false;
if FileExists(MainDir + 'General' + DirectorySeparator + ScriptName +
- 'info.xml') then
+ DirectorySeparator + 'info.xml') then
begin
Result := true;
LoadFromFile(MainDir + 'General' + DirectorySeparator + ScriptName +
- 'info.xml');
+ DirectorySeparator + 'info.xml');
end;
end;
@@ -609,7 +698,7 @@ begin
AddTextElement(node,'Name',Name);
AddTextElement(node,'Author',Author);
AddTextElement(node,'Version',Version);
- AddTextElement(node,'Description',description);
+ AddTextElement(node,'Description',Description);
AddTextElement(node,'AutoCheckUpdates', BoolToStr(AutoCheckUpdates,true));
SubNode := XMLDoc.CreateElement('Tags');
Node.AppendChild(SubNode);
diff --git a/Projects/Simba/simbaunit.lfm b/Projects/Simba/simbaunit.lfm
index f396c98..ddd772c 100644
--- a/Projects/Simba/simbaunit.lfm
+++ b/Projects/Simba/simbaunit.lfm
@@ -1,8 +1,9 @@
object SimbaForm: TSimbaForm
- Left = 531
+ Left = 423
Height = 623
- Top = 290
+ Top = 179
Width = 660
+ ActiveControl = ScriptPanel
AllowDropFiles = True
Caption = 'THA FUKING Simba'
ClientHeight = 603
@@ -15,7 +16,7 @@ object SimbaForm: TSimbaForm
OnDropFiles = FormDropFiles
OnHide = doOnHide
OnShortCut = FormShortCuts
- LCLVersion = '0.9.31'
+ LCLVersion = '0.9.28.2'
Visible = True
object ToolBar1: TToolBar
Left = 0
@@ -305,6 +306,7 @@ object SimbaForm: TSimbaForm
Height = 19
Top = 7
Width = 16
+ Color = clBtnFace
Flat = True
Glyph.Data = {
36090000424D3609000000000000360000002800000018000000180000000100
@@ -395,10 +397,17 @@ object SimbaForm: TSimbaForm
EditLabel.AnchorSideTop.Side = asrCenter
EditLabel.AnchorSideRight.Control = LabeledEditSearch
EditLabel.AnchorSideBottom.Control = LabeledEditSearch
+<<<<<<< HEAD
+ EditLabel.Left = 64
+ EditLabel.Height = 18
+ EditLabel.Top = 10
+ EditLabel.Width = 37
+=======
EditLabel.Left = 71
EditLabel.Height = 16
EditLabel.Top = 9
EditLabel.Width = 30
+>>>>>>> upstream/master
EditLabel.Caption = 'Find: '
EditLabel.ParentColor = False
LabelPosition = lpLeft
@@ -411,9 +420,13 @@ object SimbaForm: TSimbaForm
end
object CheckBoxMatchCase: TCheckBox
Left = 320
- Height = 19
+ Height = 24
Top = 7
+<<<<<<< HEAD
+ Width = 101
+=======
Width = 80
+>>>>>>> upstream/master
Caption = 'Match case'
OnClick = CheckBoxMatchCaseClick
TabOrder = 1
@@ -434,6 +447,10 @@ object SimbaForm: TSimbaForm
ClientWidth = 150
OnEndDock = nil
TabOrder = 3
+ inherited FunctionListLabel: TLabel
+ Height = 18
+ Width = 146
+ end
inherited FunctionList: TTreeView
Height = 319
Top = 20
@@ -451,10 +468,13 @@ object SimbaForm: TSimbaForm
OnKeyDown = editSearchListKeyDown
OnKeyPress = editSearchListKeyPress
end
+<<<<<<< HEAD
+=======
inherited FunctionListLabel: TLabel
Height = 16
Width = 146
end
+>>>>>>> upstream/master
end
end
object MainMenu: TMainMenu
@@ -1119,6 +1139,7 @@ object SimbaForm: TSimbaForm
end
object MenuItemGoto: TMenuItem
Action = ActionGoto
+ OnClick = ActionGotoExecute
end
end
object MenuItemScript: TMenuItem
@@ -1260,14 +1281,17 @@ object SimbaForm: TSimbaForm
object MenuItemPascalScript: TMenuItem
Action = ActionPascalScript
RadioItem = True
+ OnClick = ActionPascalScriptExecute
end
object MenuItemRUTIS: TMenuItem
Action = ActionRUTIS
RadioItem = True
+ OnClick = ActionRUTISExecute
end
object MenuItemCPascal: TMenuItem
Action = ActionCPascal
RadioItem = True
+ OnClick = ActionCPascalExecute
end
end
end
@@ -1287,6 +1311,7 @@ object SimbaForm: TSimbaForm
end
object MenuItemExtensions: TMenuItem
Action = ActionExtensions
+ OnClick = ActionExtensionsExecute
end
end
object MenuTools: TMenuItem
@@ -3332,21 +3357,10 @@ object SimbaForm: TSimbaForm
end
object SCARHighlighter: TSynPasSyn
Enabled = False
- AsmAttri.FrameEdges = sfeAround
CommentAttri.Foreground = clGreen
- CommentAttri.FrameEdges = sfeAround
CommentAttri.Style = []
- IDEDirectiveAttri.FrameEdges = sfeAround
- IdentifierAttri.FrameEdges = sfeAround
- KeyAttri.FrameEdges = sfeAround
NumberAttri.Foreground = clNavy
- NumberAttri.FrameEdges = sfeAround
- SpaceAttri.FrameEdges = sfeAround
StringAttri.Foreground = clFuchsia
- StringAttri.FrameEdges = sfeAround
- SymbolAttri.FrameEdges = sfeAround
- CaseLabelAttri.FrameEdges = sfeAround
- DirectiveAttri.FrameEdges = sfeAround
CompilerMode = pcmObjFPC
NestedComments = False
left = 568
@@ -3354,25 +3368,13 @@ object SimbaForm: TSimbaForm
end
object LazHighlighter: TSynPasSyn
Enabled = False
- AsmAttri.FrameEdges = sfeAround
CommentAttri.Foreground = clBlue
- CommentAttri.FrameEdges = sfeAround
CommentAttri.Style = [fsBold]
- IDEDirectiveAttri.FrameEdges = sfeAround
IdentifierAttri.Foreground = clDefault
- IdentifierAttri.FrameEdges = sfeAround
- KeyAttri.FrameEdges = sfeAround
NumberAttri.Foreground = clNavy
- NumberAttri.FrameEdges = sfeAround
- SpaceAttri.FrameEdges = sfeAround
StringAttri.Foreground = clBlue
- StringAttri.FrameEdges = sfeAround
SymbolAttri.Foreground = clRed
- SymbolAttri.FrameEdges = sfeAround
- CaseLabelAttri.FrameEdges = sfeAround
- CaseLabelAttri.Style = [fsItalic]
DirectiveAttri.Foreground = clRed
- DirectiveAttri.FrameEdges = sfeAround
DirectiveAttri.Style = [fsBold]
CompilerMode = pcmObjFPC
NestedComments = False
diff --git a/Projects/Simba/updateform.lfm b/Projects/Simba/updateform.lfm
index 6b8fada..3535947 100644
--- a/Projects/Simba/updateform.lfm
+++ b/Projects/Simba/updateform.lfm
@@ -1,5 +1,5 @@
object SimbaUpdateForm: TSimbaUpdateForm
- Left = 262
+ Left = 276
Height = 331
Top = 219
Width = 473
@@ -9,7 +9,7 @@ object SimbaUpdateForm: TSimbaUpdateForm
ClientWidth = 473
OnCreate = FormCreate
OnShow = CleanUpdateForm
- LCLVersion = '0.9.29'
+ LCLVersion = '0.9.30.1'
object DownloadProgress: TProgressBar
Left = 8
Height = 29
@@ -49,9 +49,9 @@ object SimbaUpdateForm: TSimbaUpdateForm
end
object DownloadSpeed: TLabel
Left = 96
- Height = 14
- Top = 306
- Width = 78
+ Height = 18
+ Top = 302
+ Width = 111
Anchors = [akLeft, akBottom]
Caption = 'DownloadSpeed'
ParentColor = False