Fixed file associations with russian paths. Stable.

This commit is contained in:
meffi@lab313.ru
2014-05-07 13:47:51 +00:00
parent 77940805bc
commit 4ed4dc594e
7 changed files with 285 additions and 277 deletions

View File

@@ -23,8 +23,7 @@
<UseVersionInfo Value="True"/> <UseVersionInfo Value="True"/>
<AutoIncrementBuild Value="True"/> <AutoIncrementBuild Value="True"/>
<MajorVersionNr Value="1"/> <MajorVersionNr Value="1"/>
<RevisionNr Value="80"/> <RevisionNr Value="84"/>
<BuildNr Value="10"/>
<StringTable CompanyName="Lab 313" FileDescription="The best TIMs tool ever!:)" ProductVersion=""/> <StringTable CompanyName="Lab 313" FileDescription="The best TIMs tool ever!:)" ProductVersion=""/>
</VersionInfo> </VersionInfo>
<BuildModes Count="6"> <BuildModes Count="6">
@@ -397,4 +396,4 @@
</Item3> </Item3>
</Exceptions> </Exceptions>
</Debugging> </Debugging>
</CONFIG> </CONFIG>

View File

@@ -1,204 +1,204 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<CONFIG> <CONFIG>
<ProjectSession> <ProjectSession>
<PathDelim Value="\"/> <PathDelim Value="\"/>
<Version Value="9"/> <Version Value="9"/>
<BuildModes Active="Debug"/> <BuildModes Active="Debug"/>
<Units Count="15"> <Units Count="15">
<Unit0> <Unit0>
<Filename Value="tim2view.lpr"/> <Filename Value="tim2view.lpr"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<UnitName Value="tim2view"/> <UnitName Value="tim2view"/>
<WindowIndex Value="0"/> <WindowIndex Value="0"/>
<TopLine Value="1"/> <TopLine Value="1"/>
<CursorPos X="46" Y="13"/> <CursorPos X="46" Y="13"/>
<UsageCount Value="816"/> <UsageCount Value="816"/>
</Unit0> </Unit0>
<Unit1> <Unit1>
<Filename Value="umain.pas"/> <Filename Value="umain.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<ComponentName Value="frmMain"/> <ComponentName Value="frmMain"/>
<HasResources Value="True"/> <HasResources Value="True"/>
<ResourceBaseClass Value="Form"/> <ResourceBaseClass Value="Form"/>
<UnitName Value="umain"/> <UnitName Value="umain"/>
<EditorIndex Value="0"/> <EditorIndex Value="0"/>
<WindowIndex Value="0"/> <WindowIndex Value="0"/>
<TopLine Value="128"/> <TopLine Value="188"/>
<CursorPos X="83" Y="136"/> <CursorPos X="40" Y="199"/>
<UsageCount Value="816"/> <UsageCount Value="816"/>
<Loaded Value="True"/> <Loaded Value="True"/>
<LoadedDesigner Value="True"/> <LoadedDesigner Value="True"/>
</Unit1> </Unit1>
<Unit2> <Unit2>
<Filename Value="edc.pas"/> <Filename Value="edc.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<UnitName Value="edc"/> <UnitName Value="edc"/>
<UsageCount Value="816"/> <UsageCount Value="816"/>
</Unit2> </Unit2>
<Unit3> <Unit3>
<Filename Value="ecc.pas"/> <Filename Value="ecc.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<UnitName Value="ecc"/> <UnitName Value="ecc"/>
<WindowIndex Value="0"/> <WindowIndex Value="0"/>
<TopLine Value="13"/> <TopLine Value="13"/>
<CursorPos X="1" Y="1"/> <CursorPos X="1" Y="1"/>
<UsageCount Value="816"/> <UsageCount Value="816"/>
</Unit3> </Unit3>
<Unit4> <Unit4>
<Filename Value="ucommon.pas"/> <Filename Value="ucommon.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<UnitName Value="ucommon"/> <UnitName Value="ucommon"/>
<IsVisibleTab Value="True"/> <IsVisibleTab Value="True"/>
<EditorIndex Value="3"/> <EditorIndex Value="3"/>
<WindowIndex Value="0"/> <WindowIndex Value="0"/>
<TopLine Value="1"/> <TopLine Value="1"/>
<CursorPos X="20" Y="35"/> <CursorPos X="47" Y="13"/>
<UsageCount Value="816"/> <UsageCount Value="816"/>
<Loaded Value="True"/> <Loaded Value="True"/>
</Unit4> </Unit4>
<Unit5> <Unit5>
<Filename Value="utim.pas"/> <Filename Value="utim.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<UnitName Value="utim"/> <UnitName Value="utim"/>
<EditorIndex Value="10"/> <EditorIndex Value="10"/>
<WindowIndex Value="0"/> <WindowIndex Value="0"/>
<TopLine Value="185"/> <TopLine Value="185"/>
<CursorPos X="1" Y="204"/> <CursorPos X="1" Y="204"/>
<UsageCount Value="816"/> <UsageCount Value="816"/>
<Loaded Value="True"/> <Loaded Value="True"/>
</Unit5> </Unit5>
<Unit6> <Unit6>
<Filename Value="ucdimage.pas"/> <Filename Value="ucdimage.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<UnitName Value="ucdimage"/> <UnitName Value="ucdimage"/>
<EditorIndex Value="2"/> <EditorIndex Value="2"/>
<WindowIndex Value="0"/> <WindowIndex Value="0"/>
<TopLine Value="112"/> <TopLine Value="112"/>
<CursorPos X="50" Y="117"/> <CursorPos X="50" Y="117"/>
<UsageCount Value="816"/> <UsageCount Value="816"/>
<Loaded Value="True"/> <Loaded Value="True"/>
</Unit6> </Unit6>
<Unit7> <Unit7>
<Filename Value="usettings.pas"/> <Filename Value="usettings.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<UnitName Value="usettings"/> <UnitName Value="usettings"/>
<EditorIndex Value="9"/> <EditorIndex Value="9"/>
<WindowIndex Value="0"/> <WindowIndex Value="0"/>
<TopLine Value="83"/> <TopLine Value="41"/>
<CursorPos X="75" Y="99"/> <CursorPos X="44" Y="52"/>
<UsageCount Value="816"/> <UsageCount Value="816"/>
<Loaded Value="True"/> <Loaded Value="True"/>
</Unit7> </Unit7>
<Unit8> <Unit8>
<Filename Value="uscanresult.pas"/> <Filename Value="uscanresult.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<UnitName Value="uscanresult"/> <UnitName Value="uscanresult"/>
<EditorIndex Value="7"/> <EditorIndex Value="7"/>
<WindowIndex Value="0"/> <WindowIndex Value="0"/>
<TopLine Value="54"/> <TopLine Value="54"/>
<CursorPos X="79" Y="80"/> <CursorPos X="79" Y="80"/>
<UsageCount Value="816"/> <UsageCount Value="816"/>
<Loaded Value="True"/> <Loaded Value="True"/>
</Unit8> </Unit8>
<Unit9> <Unit9>
<Filename Value="uscanthread.pas"/> <Filename Value="uscanthread.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<UnitName Value="uscanthread"/> <UnitName Value="uscanthread"/>
<EditorIndex Value="8"/> <EditorIndex Value="8"/>
<WindowIndex Value="0"/> <WindowIndex Value="0"/>
<TopLine Value="172"/> <TopLine Value="172"/>
<CursorPos X="3" Y="187"/> <CursorPos X="3" Y="187"/>
<UsageCount Value="816"/> <UsageCount Value="816"/>
<Loaded Value="True"/> <Loaded Value="True"/>
</Unit9> </Unit9>
<Unit10> <Unit10>
<Filename Value="ucpucount.pas"/> <Filename Value="ucpucount.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<UnitName Value="ucpucount"/> <UnitName Value="ucpucount"/>
<EditorIndex Value="4"/> <EditorIndex Value="4"/>
<WindowIndex Value="0"/> <WindowIndex Value="0"/>
<TopLine Value="19"/> <TopLine Value="19"/>
<CursorPos X="87" Y="34"/> <CursorPos X="87" Y="34"/>
<UsageCount Value="816"/> <UsageCount Value="816"/>
<Loaded Value="True"/> <Loaded Value="True"/>
</Unit10> </Unit10>
<Unit11> <Unit11>
<Filename Value="udrawtim.pas"/> <Filename Value="udrawtim.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<UnitName Value="udrawtim"/> <UnitName Value="udrawtim"/>
<EditorIndex Value="5"/> <EditorIndex Value="5"/>
<WindowIndex Value="0"/> <WindowIndex Value="0"/>
<TopLine Value="1"/> <TopLine Value="1"/>
<CursorPos X="15" Y="6"/> <CursorPos X="15" Y="6"/>
<UsageCount Value="816"/> <UsageCount Value="816"/>
<Loaded Value="True"/> <Loaded Value="True"/>
</Unit11> </Unit11>
<Unit12> <Unit12>
<Filename Value="bgrabitmap\bgrabitmap.pas"/> <Filename Value="bgrabitmap\bgrabitmap.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<UnitName Value="BGRABitmap"/> <UnitName Value="BGRABitmap"/>
<WindowIndex Value="0"/> <WindowIndex Value="0"/>
<TopLine Value="54"/> <TopLine Value="54"/>
<CursorPos X="3" Y="69"/> <CursorPos X="3" Y="69"/>
<UsageCount Value="816"/> <UsageCount Value="816"/>
</Unit12> </Unit12>
<Unit13> <Unit13>
<Filename Value="todos.inc"/> <Filename Value="todos.inc"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<EditorIndex Value="1"/> <EditorIndex Value="1"/>
<WindowIndex Value="0"/> <WindowIndex Value="0"/>
<TopLine Value="1"/> <TopLine Value="1"/>
<CursorPos X="20" Y="1"/> <CursorPos X="20" Y="1"/>
<UsageCount Value="802"/> <UsageCount Value="802"/>
<Loaded Value="True"/> <Loaded Value="True"/>
</Unit13> </Unit13>
<Unit14> <Unit14>
<Filename Value="uexportimport.pas"/> <Filename Value="uexportimport.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<UnitName Value="uexportimport"/> <UnitName Value="uexportimport"/>
<EditorIndex Value="6"/> <EditorIndex Value="6"/>
<WindowIndex Value="0"/> <WindowIndex Value="0"/>
<TopLine Value="7"/> <TopLine Value="7"/>
<CursorPos X="20" Y="16"/> <CursorPos X="20" Y="16"/>
<UsageCount Value="77"/> <UsageCount Value="77"/>
<Loaded Value="True"/> <Loaded Value="True"/>
</Unit14> </Unit14>
</Units> </Units>
<General> <General>
<ActiveWindowIndexAtStart Value="0"/> <ActiveWindowIndexAtStart Value="0"/>
</General> </General>
</ProjectSession> </ProjectSession>
<Debugging> <Debugging>
<BreakPoints Count="2"> <BreakPoints Count="2">
<Item1> <Item1>
<Kind Value="bpkSource"/> <Kind Value="bpkSource"/>
<WatchScope Value="wpsLocal"/> <WatchScope Value="wpsLocal"/>
<WatchKind Value="wpkWrite"/> <WatchKind Value="wpkWrite"/>
<Source Value="c:\Lazarus\fpc\2.6.2\source\packages\fcl-image\src\fpimage.inc"/> <Source Value="c:\Lazarus\fpc\2.6.2\source\packages\fcl-image\src\fpimage.inc"/>
<Line Value="350"/> <Line Value="350"/>
</Item1> </Item1>
<Item2> <Item2>
<Kind Value="bpkSource"/> <Kind Value="bpkSource"/>
<WatchScope Value="wpsLocal"/> <WatchScope Value="wpsLocal"/>
<WatchKind Value="wpkWrite"/> <WatchKind Value="wpkWrite"/>
<Source Value="c:\Lazarus\fpc\2.6.2\source\packages\fcl-image\src\fppalette.inc"/> <Source Value="c:\Lazarus\fpc\2.6.2\source\packages\fcl-image\src\fppalette.inc"/>
<Line Value="159"/> <Line Value="159"/>
</Item2> </Item2>
</BreakPoints> </BreakPoints>
<Watches Count="3"> <Watches Count="3">
<Item1> <Item1>
<Expression Value="IDX"/> <Expression Value="IDX"/>
<DisplayStyle Value="wdfHex"/> <DisplayStyle Value="wdfHex"/>
</Item1> </Item1>
<Item2> <Item2>
<Expression Value="TData^[POS]"/> <Expression Value="TData^[POS]"/>
<DisplayStyle Value="wdfHex"/> <DisplayStyle Value="wdfHex"/>
</Item2> </Item2>
<Item3> <Item3>
<Expression Value="IDX_INT"/> <Expression Value="IDX_INT"/>
<DisplayStyle Value="wdfHex"/> <DisplayStyle Value="wdfHex"/>
</Item3> </Item3>
</Watches> </Watches>
</Debugging> </Debugging>
<EditorMacros Count="0"/> <EditorMacros Count="0"/>
</CONFIG> </CONFIG>

Binary file not shown.

View File

@@ -3,7 +3,7 @@ unit ucommon;
interface interface
const const
cProgramName = 'Tim2View SVN.r80 by [Lab 313] (for ' + cProgramName = 'Tim2View SVN.r84 by [Lab 313] (for ' +
{$IFDEF Linux}'Linux' + {$IFEND} {$IFDEF Linux}'Linux' + {$IFEND}
{$IFDEF Darwin}'Mac OS X' + {$IFEND} {$IFDEF Darwin}'Mac OS X' + {$IFEND}
{$IFDEF Windows}'Windows' + {$IFEND} {$IFDEF Windows}'Windows' + {$IFEND}

View File

@@ -9,7 +9,7 @@ object frmMain: TfrmMain
VertScrollBar.Range = 344 VertScrollBar.Range = 344
ActiveControl = pnlList ActiveControl = pnlList
AllowDropFiles = True AllowDropFiles = True
ClientHeight = 643 ClientHeight = 648
ClientWidth = 790 ClientWidth = 790
Color = clBtnFace Color = clBtnFace
Font.Color = clWindowText Font.Color = clWindowText
@@ -498,7 +498,7 @@ object frmMain: TfrmMain
object pnlStatus: TPanel object pnlStatus: TPanel
Left = 0 Left = 0
Height = 30 Height = 30
Top = 613 Top = 618
Width = 790 Width = 790
Align = alBottom Align = alBottom
BevelOuter = bvLowered BevelOuter = bvLowered
@@ -538,13 +538,13 @@ object frmMain: TfrmMain
end end
object cbbFiles: TComboBox object cbbFiles: TComboBox
Left = 0 Left = 0
Height = 28 Height = 21
Top = 0 Top = 0
Width = 790 Width = 790
Align = alTop Align = alTop
DropDownCount = 30 DropDownCount = 30
Enabled = False Enabled = False
ItemHeight = 0 ItemHeight = 13
OnChange = actChangeFileExecute OnChange = actChangeFileExecute
OnCloseUp = actReturnFocusExecute OnCloseUp = actReturnFocusExecute
Style = csDropDownList Style = csDropDownList
@@ -552,33 +552,33 @@ object frmMain: TfrmMain
end end
object pnlMain: TPanel object pnlMain: TPanel
Left = 0 Left = 0
Height = 585 Height = 597
Top = 28 Top = 21
Width = 790 Width = 790
Align = alClient Align = alClient
BevelOuter = bvNone BevelOuter = bvNone
ClientHeight = 585 ClientHeight = 597
ClientWidth = 790 ClientWidth = 790
TabOrder = 1 TabOrder = 1
object splMain: TSplitter object splMain: TSplitter
Left = 253 Left = 253
Height = 585 Height = 597
Top = 0 Top = 0
Width = 5 Width = 5
end end
object pnlList: TPanel object pnlList: TPanel
Left = 0 Left = 0
Height = 585 Height = 597
Top = 0 Top = 0
Width = 253 Width = 253
Align = alLeft Align = alLeft
BevelOuter = bvNone BevelOuter = bvNone
ClientHeight = 585 ClientHeight = 597
ClientWidth = 253 ClientWidth = 253
TabOrder = 0 TabOrder = 0
object lvList: TListView object lvList: TListView
Left = 0 Left = 0
Height = 372 Height = 384
Top = 28 Top = 28
Width = 253 Width = 253
Align = alClient Align = alClient
@@ -586,25 +586,25 @@ object frmMain: TfrmMain
item item
AutoSize = True AutoSize = True
Caption = '# / 0' Caption = '# / 0'
Width = 41 Width = 249
end end
item item
Alignment = taCenter Alignment = taCenter
AutoSize = True AutoSize = True
Caption = 'BPP' Caption = 'BPP'
Width = 35 Width = 30
end end
item item
Alignment = taCenter Alignment = taCenter
AutoSize = True AutoSize = True
Caption = 'CLUTs' Caption = 'CLUTs'
Width = 47 Width = 42
end end
item item
Alignment = taCenter Alignment = taCenter
AutoSize = True AutoSize = True
Caption = 'W x H' Caption = 'W x H'
Width = 128 Width = 41
end> end>
ColumnClick = False ColumnClick = False
GridLines = True GridLines = True
@@ -651,7 +651,7 @@ object frmMain: TfrmMain
object tblTimInfo: TStringGrid object tblTimInfo: TStringGrid
Left = 0 Left = 0
Height = 185 Height = 185
Top = 400 Top = 412
Width = 253 Width = 253
Align = alBottom Align = alBottom
AutoEdit = False AutoEdit = False
@@ -708,32 +708,32 @@ object frmMain: TfrmMain
end end
object pnlImage: TPanel object pnlImage: TPanel
Left = 258 Left = 258
Height = 585 Height = 597
Top = 0 Top = 0
Width = 532 Width = 532
Align = alClient Align = alClient
BevelOuter = bvLowered BevelOuter = bvLowered
ClientHeight = 585 ClientHeight = 597
ClientWidth = 532 ClientWidth = 532
Color = clBtnFace Color = clBtnFace
ParentColor = False ParentColor = False
TabOrder = 1 TabOrder = 1
object pnlImageOptions: TPanel object pnlImageOptions: TPanel
Left = 1 Left = 1
Height = 32 Height = 27
Top = 552 Top = 569
Width = 530 Width = 530
Align = alBottom Align = alBottom
AutoSize = True AutoSize = True
BevelOuter = bvLowered BevelOuter = bvLowered
ClientHeight = 32 ClientHeight = 27
ClientWidth = 530 ClientWidth = 530
Color = clBtnFace Color = clBtnFace
ParentColor = False ParentColor = False
TabOrder = 0 TabOrder = 0
object btnShowClut: TButton object btnShowClut: TButton
Left = 476 Left = 476
Height = 28 Height = 23
Top = 2 Top = 2
Width = 52 Width = 52
Align = alRight Align = alRight
@@ -744,12 +744,12 @@ object frmMain: TfrmMain
end end
object cbbBitMode: TComboBox object cbbBitMode: TComboBox
Left = 2 Left = 2
Height = 28 Height = 21
Top = 2 Top = 2
Width = 159 Width = 159
Align = alLeft Align = alLeft
BorderSpacing.Around = 1 BorderSpacing.Around = 1
ItemHeight = 0 ItemHeight = 13
ItemIndex = 0 ItemIndex = 0
Items.Strings = ( Items.Strings = (
'Real' 'Real'
@@ -768,12 +768,12 @@ object frmMain: TfrmMain
end end
object cbbTranspMode: TComboBox object cbbTranspMode: TComboBox
Left = 162 Left = 162
Height = 28 Height = 21
Top = 2 Top = 2
Width = 150 Width = 150
Align = alLeft Align = alLeft
BorderSpacing.Around = 1 BorderSpacing.Around = 1
ItemHeight = 0 ItemHeight = 13
ItemIndex = 1 ItemIndex = 1
Items.Strings = ( Items.Strings = (
'Full transparence' 'Full transparence'
@@ -789,13 +789,13 @@ object frmMain: TfrmMain
end end
object cbbCLUT: TComboBox object cbbCLUT: TComboBox
Left = 366 Left = 366
Height = 28 Height = 21
Top = 2 Top = 2
Width = 109 Width = 109
Align = alRight Align = alRight
BorderSpacing.Around = 1 BorderSpacing.Around = 1
DropDownCount = 16 DropDownCount = 16
ItemHeight = 0 ItemHeight = 13
OnChange = actChangeClutIdxExecute OnChange = actChangeClutIdxExecute
Style = csDropDownList Style = csDropDownList
TabOrder = 3 TabOrder = 3
@@ -804,7 +804,7 @@ object frmMain: TfrmMain
object pnlClut: TPanel object pnlClut: TPanel
Left = 1 Left = 1
Height = 192 Height = 192
Top = 360 Top = 377
Width = 530 Width = 530
Align = alBottom Align = alBottom
BevelOuter = bvLowered BevelOuter = bvLowered
@@ -816,7 +816,7 @@ object frmMain: TfrmMain
Visible = False Visible = False
object grdClut: TDrawGrid object grdClut: TDrawGrid
Left = 1 Left = 1
Height = 125 Height = 138
Top = 1 Top = 1
Width = 528 Width = 528
Align = alClient Align = alClient
@@ -841,8 +841,8 @@ object frmMain: TfrmMain
end end
object lblClutHint: TLabel object lblClutHint: TLabel
Left = 1 Left = 1
Height = 65 Height = 52
Top = 126 Top = 139
Width = 528 Width = 528
Align = alBottom Align = alBottom
Alignment = taCenter Alignment = taCenter
@@ -854,7 +854,7 @@ object frmMain: TfrmMain
end end
object imgTim: TImage object imgTim: TImage
Left = 1 Left = 1
Height = 359 Height = 376
Top = 1 Top = 1
Width = 530 Width = 530
AntialiasingMode = amOff AntialiasingMode = amOff
@@ -1153,4 +1153,4 @@ object frmMain: TfrmMain
left = 640 left = 640
top = 112 top = 112
end end
end end

View File

@@ -193,10 +193,6 @@ implementation
uses ucdimage, ucpucount, lcltype, ucommon, LCLIntf, uexportimport, uses ucdimage, ucpucount, lcltype, ucommon, LCLIntf, uexportimport,
FPimage FPimage
{$IFDEF windows}
,registry
{$IFEND}
{$IFDEF Linux} {$IFDEF Linux}
,BaseUnix ,BaseUnix
{$IFEND} {$IFEND}
@@ -320,33 +316,8 @@ begin
end; end;
procedure TfrmMain.actAssocTimsExecute(Sender: TObject); procedure TfrmMain.actAssocTimsExecute(Sender: TObject);
{$IFDEF windows}
var
reg: TRegistry;
begin begin
reg := TRegistry.Create; Settings.AssociateWithTims;
try
reg.RootKey := HKEY_CURRENT_USER;
reg.OpenKey('Software\Classes\.tim', True);
reg.WriteString('', 'TimFile');
reg.CloseKey;
reg.OpenKey('Software\Classes\TimFile', True);
reg.WriteString('', 'Tim File Format');
reg.CloseKey;
reg.OpenKey('Software\Classes\TimFile\DefaultIcon', True);
reg.WriteString('', '"' + ParamStrUTF8(0) +'",0');
reg.CloseKey;
reg.OpenKey('Software\Classes\TimFile\shell\Open\Command', True);
reg.WriteString('', '"' + ParamStrUTF8(0) + '" "%1"');
reg.CloseKey;
finally
reg.Free;
end;
{$ELSE}
begin
{$ENDIF}
end; end;
procedure TfrmMain.actChangeBackColorExecute(Sender: TObject); procedure TfrmMain.actChangeBackColorExecute(Sender: TObject);
@@ -1082,4 +1053,4 @@ begin
end; end;
end. end.

View File

@@ -29,6 +29,9 @@ type
public public
constructor Create(const DirPath: string); constructor Create(const DirPath: string);
destructor Destroy; override; destructor Destroy; override;
procedure AssociateWithTims;
property TranspMode: Integer read FTranspModeRead write FTranspModeWrite; property TranspMode: Integer read FTranspModeRead write FTranspModeWrite;
property StretchMode: Boolean read FStretchModeRead write FStretchModeWrite; property StretchMode: Boolean read FStretchModeRead write FStretchModeWrite;
property LastDir: string read FLastDirRead write FLastDirWrite; property LastDir: string read FLastDirRead write FLastDirWrite;
@@ -39,12 +42,47 @@ type
implementation implementation
uses FileUtil; uses FileUtil
{$IFDEF windows}
,registry
{$IFEND}
;
const sMain = 'main'; const sMain = 'main';
{ TSettings } { TSettings }
procedure TSettings.AssociateWithTims;
{$IFDEF windows}
var
reg: TRegistry;
begin
reg := TRegistry.Create;
try
reg.RootKey := HKEY_CURRENT_USER;
reg.OpenKey('Software\Classes\.tim', True);
reg.WriteString('', 'TimFile');
reg.CloseKey;
reg.OpenKey('Software\Classes\TimFile', True);
reg.WriteString('', 'Tim File Format');
reg.CloseKey;
reg.OpenKey('Software\Classes\TimFile\DefaultIcon', True);
reg.WriteString('', '"' + ParamStr(0) +'",0');
reg.CloseKey;
reg.OpenKey('Software\Classes\TimFile\shell\Open\Command', True);
reg.WriteString('', '"' + ParamStr(0) + '" "%1"');
reg.CloseKey;
finally
reg.Free;
end;
{$ELSE}
begin
{$ENDIF}
end;
procedure TSettings.FTranspModeWrite(Value: Integer); procedure TSettings.FTranspModeWrite(Value: Integer);
begin begin
FIniFile.WriteInteger(sMain, 'TranspMode', Value); FIniFile.WriteInteger(sMain, 'TranspMode', Value);
@@ -82,7 +120,7 @@ end;
function TSettings.FBackColorRead: TColor; function TSettings.FBackColorRead: TColor;
begin begin
Result := FIniFile.ReadInteger(sMain, 'BackColor', clFuchsia); Result := FIniFile.ReadInteger(sMain, 'BackColor', clBtnFace);
end; end;
procedure TSettings.FBitModeWrite(Mode: Integer); procedure TSettings.FBitModeWrite(Mode: Integer);
@@ -102,7 +140,7 @@ end;
function TSettings.FInfoVisibleRead: Boolean; function TSettings.FInfoVisibleRead: Boolean;
begin begin
Result := FIniFile.ReadBool(sMain, 'InfoVisible', False); Result := FIniFile.ReadBool(sMain, 'InfoVisible', True);
end; end;
constructor TSettings.Create(const DirPath: string); constructor TSettings.Create(const DirPath: string);
@@ -120,4 +158,4 @@ begin
end; end;
end. end.