Merge remote branch 'mcteo/master' into script-manager

Conflicts:
	Projects/ScriptManager/scriptmanager.lfm
	Projects/ScriptManager/scriptmanager.pas
This commit is contained in:
Merlijn Wajer 2011-10-11 13:50:09 +02:00
commit 1d7101946d
8 changed files with 290 additions and 267 deletions

View File

@ -10,8 +10,10 @@
<VersionInfo>
<Language Value=""/>
<CharSet Value=""/>
<StringTable ProductVersion=""/>
</VersionInfo>
<BuildModes Count="1">
<Item1 Name="default" Default="True"/>
</BuildModes>
<PublishOptions>
<Version Value="2"/>
<IgnoreBinaries Value="False"/>
@ -29,12 +31,15 @@
<PackageName Value="LCL"/>
</Item1>
</RequiredPackages>
<Units Count="23">
<Units Count="34">
<Unit0>
<Filename Value="project1.lpr"/>
<IsPartOfProject Value="True"/>
<UnitName Value="project1"/>
<UsageCount Value="43"/>
<WindowIndex Value="0"/>
<TopLine Value="1"/>
<CursorPos X="2" Y="2"/>
<UsageCount Value="83"/>
</Unit0>
<Unit1>
<Filename Value="scriptmanager.pas"/>
@ -45,326 +50,280 @@
<IsVisibleTab Value="True"/>
<EditorIndex Value="0"/>
<WindowIndex Value="0"/>
<TopLine Value="251"/>
<CursorPos X="3" Y="195"/>
<UsageCount Value="43"/>
<TopLine Value="110"/>
<CursorPos X="1" Y="123"/>
<UsageCount Value="83"/>
<Loaded Value="True"/>
<LoadedDesigner Value="True"/>
</Unit1>
<Unit2>
<Filename Value="../../../lazarus/lcl/interfaces/gtk/gtkwidgetset.inc"/>
<WindowIndex Value="0"/>
<TopLine Value="1276"/>
<CursorPos X="1" Y="1294"/>
<UsageCount Value="7"/>
<UsageCount Value="3"/>
</Unit2>
<Unit3>
<Filename Value="../../Units/MMLCore/bitmaps.pas"/>
<UnitName Value="bitmaps"/>
<WindowIndex Value="0"/>
<TopLine Value="112"/>
<CursorPos X="79" Y="138"/>
<UsageCount Value="8"/>
<UsageCount Value="4"/>
</Unit3>
<Unit4>
<Filename Value="../../Units/MMLAddon/settings.pas"/>
<UnitName Value="settings"/>
<EditorIndex Value="13"/>
<EditorIndex Value="2"/>
<WindowIndex Value="0"/>
<TopLine Value="132"/>
<CursorPos X="3" Y="169"/>
<UsageCount Value="16"/>
<TopLine Value="564"/>
<CursorPos X="1" Y="1"/>
<UsageCount Value="12"/>
<Loaded Value="True"/>
</Unit4>
<Unit5>
<Filename Value="../../Units/MMLCore/os_linux.pas"/>
<UnitName Value="os_linux"/>
<WindowIndex Value="0"/>
<TopLine Value="11"/>
<CursorPos X="64" Y="29"/>
<UsageCount Value="8"/>
<UsageCount Value="4"/>
</Unit5>
<Unit6>
<Filename Value="../../Units/MMLCore/mufasatypes.pas"/>
<UnitName Value="MufasaTypes"/>
<EditorIndex Value="16"/>
<WindowIndex Value="0"/>
<TopLine Value="23"/>
<CursorPos X="1" Y="1"/>
<UsageCount Value="16"/>
<Loaded Value="True"/>
<TopLine Value="1"/>
<CursorPos X="17" Y="15"/>
<UsageCount Value="12"/>
</Unit6>
<Unit7>
<Filename Value="../../Units/MMLCore/mufasabase.pas"/>
<UnitName Value="mufasabase"/>
<EditorIndex Value="15"/>
<WindowIndex Value="0"/>
<TopLine Value="7"/>
<TopLine Value="1"/>
<CursorPos X="1" Y="1"/>
<UsageCount Value="16"/>
<Loaded Value="True"/>
<UsageCount Value="12"/>
</Unit7>
<Unit8>
<Filename Value="../../../lazarus/lcl/include/treeview.inc"/>
<WindowIndex Value="0"/>
<TopLine Value="2214"/>
<CursorPos X="1" Y="2232"/>
<UsageCount Value="9"/>
<UsageCount Value="5"/>
</Unit8>
<Unit9>
<Filename Value="../../../fpc/rtl/inc/objpash.inc"/>
<WindowIndex Value="0"/>
<TopLine Value="183"/>
<CursorPos X="21" Y="201"/>
<UsageCount Value="9"/>
<UsageCount Value="5"/>
</Unit9>
<Unit10>
<Filename Value="../../../FPC/FPCCheckout/packages/fcl-xml/src/xmlread.pp"/>
<UnitName Value="XMLRead"/>
<EditorIndex Value="14"/>
<WindowIndex Value="0"/>
<TopLine Value="21"/>
<CursorPos X="11" Y="47"/>
<UsageCount Value="13"/>
<Loaded Value="True"/>
<UsageCount Value="9"/>
</Unit10>
<Unit11>
<Filename Value="../../Units/MMLAddon/updater.pas"/>
<UnitName Value="updater"/>
<EditorIndex Value="10"/>
<WindowIndex Value="0"/>
<TopLine Value="97"/>
<CursorPos X="21" Y="102"/>
<UsageCount Value="13"/>
<Loaded Value="True"/>
<CursorPos X="1" Y="105"/>
<UsageCount Value="25"/>
</Unit11>
<Unit12>
<Filename Value="../Simba/psextension.pas"/>
<UnitName Value="psextension"/>
<EditorIndex Value="11"/>
<WindowIndex Value="0"/>
<TopLine Value="168"/>
<CursorPos X="29" Y="178"/>
<UsageCount Value="11"/>
<Loaded Value="True"/>
<UsageCount Value="22"/>
</Unit12>
<Unit13>
<Filename Value="../../Units/MMLAddon/internets.pas"/>
<UnitName Value="internets"/>
<EditorIndex Value="12"/>
<WindowIndex Value="0"/>
<TopLine Value="56"/>
<CursorPos X="6" Y="61"/>
<UsageCount Value="11"/>
<Loaded Value="True"/>
<UsageCount Value="7"/>
</Unit13>
<Unit14>
<Filename Value="../Simba/updateform.pas"/>
<ComponentName Value="SimbaUpdateForm"/>
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="updateform"/>
<EditorIndex Value="9"/>
<WindowIndex Value="0"/>
<TopLine Value="66"/>
<CursorPos X="1" Y="93"/>
<UsageCount Value="11"/>
<Loaded Value="True"/>
<TopLine Value="69"/>
<CursorPos X="24" Y="72"/>
<ComponentState Value="1"/>
<UsageCount Value="22"/>
</Unit14>
<Unit15>
<Filename Value="../Simba/simbaunit.pas"/>
<ComponentName Value="SimbaForm"/>
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="SimbaUnit"/>
<EditorIndex Value="8"/>
<WindowIndex Value="0"/>
<TopLine Value="2898"/>
<CursorPos X="23" Y="2893"/>
<UsageCount Value="11"/>
<Loaded Value="True"/>
<TopLine Value="65"/>
<CursorPos X="52" Y="78"/>
<UsageCount Value="10"/>
</Unit15>
<Unit16>
<Filename Value="../../../FPC/FPCCheckout/packages/fcl-xml/src/dom.pp"/>
<UnitName Value="DOM"/>
<EditorIndex Value="7"/>
<WindowIndex Value="0"/>
<TopLine Value="178"/>
<CursorPos X="15" Y="204"/>
<UsageCount Value="11"/>
<Loaded Value="True"/>
<UsageCount Value="7"/>
</Unit16>
<Unit17>
<Filename Value="../../../FPC/FPCCheckout/rtl/objpas/sysutils/syswideh.inc"/>
<EditorIndex Value="6"/>
<WindowIndex Value="0"/>
<TopLine Value="1"/>
<CursorPos X="10" Y="21"/>
<UsageCount Value="10"/>
<Loaded Value="True"/>
<UsageCount Value="6"/>
</Unit17>
<Unit18>
<Filename Value="../../Units/MMLAddon/stringutil.pas"/>
<UnitName Value="stringutil"/>
<EditorIndex Value="5"/>
<WindowIndex Value="0"/>
<TopLine Value="118"/>
<TopLine Value="131"/>
<CursorPos X="6" Y="156"/>
<UsageCount Value="10"/>
<Loaded Value="True"/>
<UsageCount Value="6"/>
</Unit18>
<Unit19>
<Filename Value="../../../FPC/FPCCheckout/rtl/objpas/sysutils/sysstrh.inc"/>
<EditorIndex Value="3"/>
<WindowIndex Value="0"/>
<TopLine Value="77"/>
<CursorPos X="10" Y="103"/>
<UsageCount Value="10"/>
<Loaded Value="True"/>
<UsageCount Value="6"/>
</Unit19>
<Unit20>
<Filename Value="../../../FPC/FPCCheckout/rtl/objpas/sysutils/sysstr.inc"/>
<EditorIndex Value="4"/>
<WindowIndex Value="0"/>
<TopLine Value="501"/>
<CursorPos X="7" Y="527"/>
<UsageCount Value="10"/>
<Loaded Value="True"/>
<UsageCount Value="6"/>
</Unit20>
<Unit21>
<Filename Value="../../../FPC/FPCCheckout/rtl/objpas/sysutils/sysutilh.inc"/>
<EditorIndex Value="1"/>
<WindowIndex Value="0"/>
<TopLine Value="223"/>
<CursorPos X="13" Y="249"/>
<UsageCount Value="10"/>
<Loaded Value="True"/>
<UsageCount Value="6"/>
</Unit21>
<Unit22>
<Filename Value="../../../FPC/FPCCheckout/rtl/objpas/sysutils/sysutils.inc"/>
<EditorIndex Value="2"/>
<WindowIndex Value="0"/>
<TopLine Value="122"/>
<CursorPos X="9" Y="126"/>
<UsageCount Value="10"/>
<Loaded Value="True"/>
<UsageCount Value="6"/>
</Unit22>
<Unit23>
<Filename Value="../../Units/Misc/bzip2stream.pp"/>
<UnitName Value="bzip2stream"/>
<WindowIndex Value="0"/>
<TopLine Value="125"/>
<CursorPos X="1" Y="138"/>
<UsageCount Value="14"/>
</Unit23>
<Unit24>
<Filename Value="/usr/lib/lazarus/0.9.28.2/lcl/include/messagedialogs.inc"/>
<WindowIndex Value="0"/>
<TopLine Value="217"/>
<CursorPos X="1" Y="230"/>
<UsageCount Value="9"/>
</Unit24>
<Unit25>
<Filename Value="/usr/lib/lazarus/0.9.28.2/lcl/include/lclintf.inc"/>
<WindowIndex Value="0"/>
<TopLine Value="504"/>
<CursorPos X="15" Y="514"/>
<UsageCount Value="8"/>
</Unit25>
<Unit26>
<Filename Value="/usr/lib/lazarus/0.9.28.2/lcl/include/listitems.inc"/>
<WindowIndex Value="0"/>
<TopLine Value="77"/>
<CursorPos X="1" Y="90"/>
<UsageCount Value="8"/>
</Unit26>
<Unit27>
<Filename Value="/usr/lib/lazarus/0.9.28.2/lcl/include/control.inc"/>
<WindowIndex Value="0"/>
<TopLine Value="2215"/>
<CursorPos X="1" Y="2228"/>
<UsageCount Value="8"/>
</Unit27>
<Unit28>
<Filename Value="/usr/lib/lazarus/0.9.28.2/lcl/include/buttoncontrol.inc"/>
<WindowIndex Value="0"/>
<TopLine Value="60"/>
<CursorPos X="1" Y="73"/>
<UsageCount Value="8"/>
</Unit28>
<Unit29>
<Filename Value="/usr/lib/lazarus/0.9.28.2/lcl/include/buttons.inc"/>
<WindowIndex Value="0"/>
<TopLine Value="215"/>
<CursorPos X="15" Y="163"/>
<UsageCount Value="8"/>
</Unit29>
<Unit30>
<Filename Value="../../Units/MMLAddon/mmisc.pas"/>
<UnitName Value="mmisc"/>
<WindowIndex Value="0"/>
<TopLine Value="171"/>
<CursorPos X="1" Y="184"/>
<UsageCount Value="10"/>
</Unit30>
<Unit31>
<Filename Value="../Simba/about.pas"/>
<ComponentName Value="AboutForm"/>
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="about"/>
<WindowIndex Value="0"/>
<TopLine Value="28"/>
<CursorPos X="30" Y="58"/>
<UsageCount Value="10"/>
</Unit31>
<Unit32>
<Filename Value="project1.lpi"/>
<WindowIndex Value="0"/>
<TopLine Value="154"/>
<CursorPos X="1" Y="1"/>
<UsageCount Value="10"/>
<DefaultSyntaxHighlighter Value="XML"/>
</Unit32>
<Unit33>
<Filename Value="../Simba/simbasettings.pas"/>
<IsPartOfProject Value="True"/>
<HasResources Value="True"/>
<UnitName Value="Simbasettings"/>
<EditorIndex Value="1"/>
<WindowIndex Value="0"/>
<TopLine Value="1"/>
<CursorPos X="1" Y="1"/>
<UsageCount Value="20"/>
<Loaded Value="True"/>
</Unit33>
</Units>
<JumpHistory Count="30" HistoryIndex="29">
<JumpHistory Count="6" HistoryIndex="5">
<Position1>
<Filename Value="../../Units/MMLAddon/settings.pas"/>
<Caret Line="605" Column="7" TopLine="593"/>
<Filename Value="scriptmanager.pas"/>
<Caret Line="377" Column="3" TopLine="363"/>
</Position1>
<Position2>
<Filename Value="../../../FPC/FPCCheckout/packages/fcl-xml/src/xmlread.pp"/>
<Caret Line="3846" Column="12" TopLine="3839"/>
<Filename Value="scriptmanager.pas"/>
<Caret Line="40" Column="15" TopLine="37"/>
</Position2>
<Position3>
<Filename Value="../../Units/MMLAddon/settings.pas"/>
<Caret Line="606" Column="11" TopLine="593"/>
<Filename Value="scriptmanager.pas"/>
<Caret Line="376" Column="135" TopLine="363"/>
</Position3>
<Position4>
<Filename Value="scriptmanager.pas"/>
<Caret Line="32" Column="54" TopLine="1"/>
<Caret Line="40" Column="13" TopLine="616"/>
</Position4>
<Position5>
<Filename Value="../../Units/MMLAddon/updater.pas"/>
<Caret Line="118" Column="8" TopLine="69"/>
<Filename Value="scriptmanager.pas"/>
<Caret Line="384" Column="21" TopLine="371"/>
</Position5>
<Position6>
<Filename Value="../../Units/MMLAddon/updater.pas"/>
<Caret Line="14" Column="37" TopLine="1"/>
<Filename Value="scriptmanager.pas"/>
<Caret Line="392" Column="36" TopLine="381"/>
</Position6>
<Position7>
<Filename Value="../Simba/psextension.pas"/>
<Caret Line="1" Column="1" TopLine="1"/>
</Position7>
<Position8>
<Filename Value="../../Units/MMLAddon/internets.pas"/>
<Caret Line="1" Column="1" TopLine="1"/>
</Position8>
<Position9>
<Filename Value="../../Units/MMLAddon/updater.pas"/>
<Caret Line="117" Column="33" TopLine="106"/>
</Position9>
<Position10>
<Filename Value="scriptmanager.pas"/>
<Caret Line="32" Column="54" TopLine="1"/>
</Position10>
<Position11>
<Filename Value="../Simba/updateform.pas"/>
<Caret Line="1" Column="1" TopLine="1"/>
</Position11>
<Position12>
<Filename Value="../Simba/simbaunit.pas"/>
<Caret Line="1" Column="1" TopLine="1"/>
</Position12>
<Position13>
<Filename Value="../Simba/simbaunit.pas"/>
<Caret Line="2894" Column="10" TopLine="2879"/>
</Position13>
<Position14>
<Filename Value="scriptmanager.pas"/>
<Caret Line="218" Column="10" TopLine="173"/>
</Position14>
<Position15>
<Filename Value="scriptmanager.pas"/>
<Caret Line="203" Column="13" TopLine="177"/>
</Position15>
<Position16>
<Filename Value="scriptmanager.pas"/>
<Caret Line="101" Column="23" TopLine="84"/>
</Position16>
<Position17>
<Filename Value="scriptmanager.pas"/>
<Caret Line="218" Column="27" TopLine="178"/>
</Position17>
<Position18>
<Filename Value="scriptmanager.pas"/>
<Caret Line="141" Column="13" TopLine="126"/>
</Position18>
<Position19>
<Filename Value="scriptmanager.pas"/>
<Caret Line="240" Column="34" TopLine="203"/>
</Position19>
<Position20>
<Filename Value="../../../FPC/FPCCheckout/packages/fcl-xml/src/dom.pp"/>
<Caret Line="258" Column="48" TopLine="232"/>
</Position20>
<Position21>
<Filename Value="../../../FPC/FPCCheckout/packages/fcl-xml/src/dom.pp"/>
<Caret Line="1061" Column="16" TopLine="1053"/>
</Position21>
<Position22>
<Filename Value="../../../FPC/FPCCheckout/packages/fcl-xml/src/dom.pp"/>
<Caret Line="229" Column="46" TopLine="204"/>
</Position22>
<Position23>
<Filename Value="../Simba/simbaunit.pas"/>
<Caret Line="2867" Column="13" TopLine="2856"/>
</Position23>
<Position24>
<Filename Value="scriptmanager.pas"/>
<Caret Line="281" Column="1" TopLine="238"/>
</Position24>
<Position25>
<Filename Value="scriptmanager.pas"/>
<Caret Line="234" Column="22" TopLine="214"/>
</Position25>
<Position26>
<Filename Value="../../Units/MMLAddon/stringutil.pas"/>
<Caret Line="1" Column="1" TopLine="1"/>
</Position26>
<Position27>
<Filename Value="scriptmanager.pas"/>
<Caret Line="212" Column="17" TopLine="187"/>
</Position27>
<Position28>
<Filename Value="../../../FPC/FPCCheckout/rtl/objpas/sysutils/sysstr.inc"/>
<Caret Line="533" Column="34" TopLine="520"/>
</Position28>
<Position29>
<Filename Value="scriptmanager.pas"/>
<Caret Line="191" Column="10" TopLine="189"/>
</Position29>
<Position30>
<Filename Value="scriptmanager.pas"/>
<Caret Line="70" Column="34" TopLine="52"/>
</Position30>
</JumpHistory>
</ProjectOptions>
<CompilerOptions>
@ -373,10 +332,15 @@
<Filename Value="project1"/>
</Target>
<SearchPaths>
<IncludeFiles Value="$(ProjOutDir)/"/>
<OtherUnitFiles Value="$(ProjPath)../../Units/MMLCore/;$(ProjPath)../../Units/MMLAddon/;$(ProjPath)../../Units/PascalScript/;$(ProjPath)../../Units/Misc/;$(ProjPath)../../Units/MMLAddon/PSInc/;$(ProjPath)../../Units/Linux/;$(LazarusDir)/components/mouseandkeyinput/;$(ProjPath)../../Units/Synapse/"/>
<IncludeFiles Value="$(ProjOutDir)"/>
<OtherUnitFiles Value="$(ProjPath)../../Units/MMLCore;$(ProjPath)../../Units/MMLAddon;$(ProjPath)../../Units/PascalScript;$(ProjPath)../../Units/Misc;$(ProjPath)../../Units/MMLAddon/PSInc;$(ProjPath)../../Units/Linux;$(LazarusDir)/components/mouseandkeyinput;$(ProjPath)../../Units/Synapse;../Simba"/>
<UnitOutputDirectory Value="lib/$(TargetCPU)-$(TargetOS)"/>
</SearchPaths>
<Parsing>
<SyntaxOptions>
<UseAnsiStrings Value="False"/>
</SyntaxOptions>
</Parsing>
<Linking>
<Options>
<LinkerOptions Value="-L/home/merlijn/Programs/fpc/libcross/"/>
@ -390,6 +354,11 @@
</Other>
</CompilerOptions>
<Debugging>
<Watches Count="1">
<Item1>
<Expression Value="FLScripts.Count()"/>
</Item1>
</Watches>
<Exceptions Count="3">
<Item1>
<Name Value="EAbort"/>

View File

@ -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}

View File

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity version="1.0.0.0" processorArchitecture="*" name="CompanyName.ProductName.YourApp" type="win32"/>
<description>Your application description here.</description>
<dependency>
<dependentAssembly>
<assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="*" publicKeyToken="6595b64144ccf1df" language="*"/>
</dependentAssembly>
</dependency>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel level="asInvoker" uiAccess="false"/>
</requestedPrivileges>
</security>
</trustInfo>
</assembly>

View File

@ -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"

View File

@ -1,5 +1,5 @@
object Form1: TForm1
Left = 466
Left = 515
Height = 434
Top = 179
Width = 702
@ -32,9 +32,9 @@ object Form1: TForm1
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

View File

@ -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;
@ -76,16 +77,16 @@ type
private
FMaindir: string;
FRScripts : TList; //Array of the online scripts
FLScripts: TList; //Array of the local scripts
FLScripts : TList; //Array of the local scripts
FRVersion : String;
FUpdating : boolean;
function GetLScriptCount: integer;
function GetMainDir: string;
function GetScript(index : integer): TSimbaScript;
function GetRScriptCount: integer;
procedure MatchLocalOnline;
function GetLScriptByName(name: string): TLSimbaScript;
function isNewerVersion(ver1, ver2: string): boolean;
procedure AppendRemoteDB(url: string);
public
function FindRScriptByName(name : string) : Integer;
function FindLScriptByName(name : string) : Integer;
@ -126,8 +127,6 @@ type
end;
var
Form1: TForm1;
@ -156,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;
@ -212,10 +211,17 @@ begin
if (ListView1.Selected <> nil) and (ListView1.Selected.Data <> nil) then
begin
Script := TSimbaScript(ListView1.Selected.Data);
// if Script.IsInstalled then
// Mng.UpdateLScript(mng.FindRScriptByName(Script.Name))
// else
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;
@ -223,7 +229,7 @@ end;
function TSimbaScript.IsInstalled: boolean;
begin
Result := (LocalScript <> nil);
Result := Self.Installed;
end;
procedure TSimbaScript.LoadFromNode(Script: TDOMNode);
@ -289,6 +295,7 @@ end;
constructor TSimbaScript.Create;
begin
inherited;
Installed := False;
{stuff here}
end;
@ -358,26 +365,35 @@ begin
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 RScriptCount-1 do
if TSimbaScript(FRScripts[i]).Name = Scrpt.Name then
begin
Scrpt.OnlineScript := TSimbaScript(FRScripts[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.RUpdate;
{ Downloads online scripts.xml and parses it, populating FRScripts }
procedure TScriptManager.AppendRemoteDB(url: string);
var
XMLFile : string;
Stream : TStringStream;
@ -393,7 +409,8 @@ begin
exit;
FUpdating := True;
// Down := TDownloadThread.Create('http://old.villavu.com/sm',@XMLFile);
Down := TDownloadThread.Create('http://tootoot222.hopto.org:8080/~mcteo/scriptman/scripts.xml',@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
@ -410,11 +427,11 @@ begin
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 := FindRScriptByName(SScript.Name);
if (i = -1) then // if no remote scripts with same name
begin
@ -429,7 +446,8 @@ begin
begin
if isNewerVersion(SScript.Version, LScr.Version) then // if local script is older
begin
FRScripts.Add(SScript); // add version of script
SScript.Installed := True;
FRScripts.Add(SScript); // add newer version of script
end;
end;
end;
@ -440,12 +458,14 @@ begin
end;
Script := Script.NextSibling;
end;
WriteLn('finished loading remote script from online db');
end;
XMLDoc.Free;
FUpdating := false;
// MatchLocalOnline;
end;
{ Opens local scripts.xml and parses it, populating FLScripts }
procedure TScriptManager.LUpdate;
var
XMLDoc : TXMLDocument;
@ -457,14 +477,17 @@ 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('ScriptList');
// Node := XMLDoc.FindNode('ScriptList');
// Node := XMLDoc.FirstChild.FindNode('ScriptList');
Node := XMLDoc.FindNode('ScriptList');
if node <> nil then
begin
FLScripts.Clear();
script := Node.FirstChild;
WriteLn('loading local script from local db');
while script <> nil do
begin
SScript := TLSimbaScript.Create;
@ -473,7 +496,6 @@ begin
begin
SScript.LoadFromName(Trim(tmpNode.TextContent), maindir);
i := FindLScriptByName(SScript.Name);
// SScript.Dbg;
if (i = -1) then
begin
FLScripts.Add(SScript);
@ -486,12 +508,13 @@ begin
end;
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;
@ -503,11 +526,12 @@ end;
function TScriptManager.NewVersion(Script: integer): boolean;
begin
MatchLocalOnline;
// MatchLocalOnline;
with TLSimbaScript(FLScripts[Script]) do
result := OnlineScript.Version <> Version;
end;
{ Sets up some vars/dirs and hands installation to update script func }
procedure TScriptManager.InstallNewRScript(Script: integer);
var
Scrpt : TSimbaScript;
@ -519,7 +543,6 @@ begin
FUpdating := true;
Scrpt := TSimbaScript(FRScripts[Script]);
LScrpt := TLSimbaScript.create;
FLScripts.Add(LScrpt);
LScrpt.Name:= Scrpt.Name;
LScrpt.OnlineScript := Scrpt;
Dir := MainDir + LScrpt.Name + DirectorySeparator;
@ -527,9 +550,12 @@ begin
Writeln('Directory already exists, yet continue?');
if not CreateDir(Dir) then
Writeln('Failed to create dir..');
UpdateLScript(FLScripts.Count - 1,true);
FLScripts.Add(LScrpt);
UpdateLScript(FLScripts.Count - 1, true);
end;
{ 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;
@ -569,6 +595,7 @@ begin
FUPdating := false;
end;
{ Updates local scripts.xml to match FLScripts }
procedure TScriptManager.LSave;
var
XMLDoc : TXMLDocument;
@ -590,9 +617,12 @@ begin
Node := XMLDoc.CreateElement('ScriptList');
XMLDoc.AppendChild(node);
for i := 0 to FLScripts.Count - 1 do
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;

View File

@ -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

View File

@ -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