unit _uf_settings;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ExtCtrls, ComCtrls,FileCtrl,ShellApi;
type
T_FXOC_SETTINGS = class(TForm)
AA_0534_SaveBtn: TButton;
Bevel1: TBevel;
AA_0549_Label1: TLabel;
AA_0512_LvSET: TListView;
Shape2: TShape;
Panel1: TPanel;
_pp5: TPanel;
_pp3: TPanel;
_pp2: TPanel;
_pp1: TPanel;
_pp0: TPanel;
AA_0551_ccRouter: TCheckBox;
AA_0552_ccKikLANs: TCheckBox;
AA_0553_ccExpander: TCheckBox;
Bevel3: TBevel;
AA_0554_doso: TLabel;
eLocalDLfolder: TEdit;
dwder: TButton;
PnLogos: TPanel;
Shape3: TShape;
LboxFonts: TListBox;
Button1: TButton;
eeNikName: TEdit;
Bevel5: TBevel;
AA_0535_Label455: TLabel;
eePersMsg: TEdit;
Bevel4: TBevel;
AA_0536_Label7: TLabel;
eeAwayMsg: TEdit;
mx1: TLabel;
AA_0539_e1: TLabel;
AA_0541_Label2: TLabel;
maxup: TTrackBar;
AA_0537_remPub: TButton;
AA_0538_addPub: TButton;
_ePubFolders: TListBox;
Image1: TImage;
AA_0542_Label3: TLabel;
AA_0543_add_privLabel4: TLabel;
AA_0537__rem_priv: TButton;
AA_0538_add_priv: TButton;
_ePrivFolders: TListBox;
AA_0550_ccWebXocLinks: TCheckBox;
eLogoChar: TLabel;
Image5: TImage;
Bevel2: TBevel;
Image2: TImage;
Image3: TImage;
Image6: TImage;
AA_0540_Label6: TLabel;
Bevel6: TBevel;
Image7: TImage;
Bevel7: TBevel;
eeSeTiT: TLabel;
_pp4: TPanel;
Image4: TImage;
Bevel8: TBevel;
AA_0544_Label8: TLabel;
AA_0513_LvFavs: TListView;
eeFavNAM: TLabel;
AA_0548_eeLbb: TLabel;
AA_0545_evv1: TCheckBox;
AA_0546_evv2: TCheckBox;
Image8: TImage;
AA_0547_evv3: TCheckBox;
eeXbtn: TButton;
eedxFolder: TEdit;
AA_0532_Label2: TLabel;
AA_0611_Label1: TLabel;
Image9: TImage;
AA_0612_Label2: TLabel;
AA_0613_Label3: TLabel;
AA_0614_Label4: TLabel;
AA_0529_OtoAddComs: TCheckBox;
AA_0507_OtoNotifVersion: TCheckBox;
procedure AA_0534_SaveBtnClick(Sender: TObject);
procedure AA_0551_ccRouterClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure maxupChange(Sender: TObject);
procedure AA_0537__rem_privClick(Sender: TObject);
procedure AA_0538_add_privClick(Sender: TObject);
procedure _ePubFoldersClick(Sender: TObject);
procedure _ePrivFoldersClick(Sender: TObject);
procedure AA_0537_remPubClick(Sender: TObject);
procedure AA_0538_addPubClick(Sender: TObject);
procedure dwderClick(Sender: TObject);
procedure _ePrivFoldersDrawItem(Control: TWinControl; Index: Integer;
Rect: TRect; State: TOwnerDrawState);
procedure eLogoCharClick(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure LboxFontsClick(Sender: TObject);
procedure AA_0512_LvSETChange(Sender: TObject; Item: TListItem; Change: TItemChange);
procedure FormShow(Sender: TObject);
procedure AA_0513_LvFavsChange(Sender: TObject; Item: TListItem; Change: TItemChange);
procedure AA_0545_evv1Click(Sender: TObject);
procedure eeXtraFolderClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormActivate(Sender: TObject);
procedure AA_0614_Label4Click(Sender: TObject);
procedure eedxFolderDblClick(Sender: TObject);
private
_skipBOXES :Boolean;
_skipFavsTRIGG :Boolean;
public
{ Déclarations publiques }
end;
var
_FXOC_SETTINGS: T_FXOC_SETTINGS;
implementation
uses _uc_refs_vars, _uc_funcs, _uc_refs_consts, _uc_reg_settings, Unit1,
_uc_GuiLanG;
{$R *.DFM}
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
procedure T_FXOC_SETTINGS.AA_0551_ccRouterClick(Sender: TObject);
begin
_VV_LOCAL_CONFIG_ROUTER_IS_ON:=AA_0551_ccRouter.Checked;
end;
//------------------------------------------------------------------------------
procedure T_FXOC_SETTINGS.AA_0534_SaveBtnClick(Sender: TObject);
var
z:string;
begin
z:=UpperCase(eePersMsg.Text+eeNikName.Text); // nik + message
if (z<>'') then begin
if (pos('EXOSEE',z)>0)
or (pos('EXO-SEE',z)>0)
or (pos('EXO.SEE',z)>0)
or (pos('E.X.O.SEE',z)>0)
or (pos('E.X.O.S.E.E',z)>0)
or (pos('E X O S E E',z)>0)
or (pos('EXOSE',z)>0)
or (pos('XOSEE',z)>0)
or (pos('XO-SEE',z)>0)
or (pos('EXO-C',z)>0)
or (pos('EXO.C',z)>0)
or (pos('XO-C',z)>0)
or (pos('XO.C',z)>0)
or (pos('TO XOC',z)>0)
or (pos('2XOC',z)>0)
then begin
ShowMessage('Application resreved words are not allowed.'+ret+ret+
'Check "Nickname" and "Personal message" entries !');
exit;
end;
end;
if (_VV_LOCAL_CONFIG_ROUTER_IS_ON) then
begin
_VV_LOCAL_USER_IP_IS_OK_WAN:=true;
_TV_NODE_OF_LOCAL_USER.ImageIndex:=1;
end else _TV_NODE_OF_LOCAL_USER.ImageIndex:=2;
_VV_LOCAL_CONFIG_EXPAND_SUBFOLDERS:=AA_0553_ccExpander.Checked;
_VV_LOCAL_CONFIG_ALLOW_WEB_XOC_LINKS:=AA_0550_ccWebXocLinks.Checked;
_VV_LOCAL_CONFIG_I_ACCEPT_NO_LAN :=AA_0552_ccKikLANs.Checked;
_VV_LOCAL_CONFIG_AUTO_ADD_COMS :=AA_0529_OtoAddComs.Checked;
_VV_LOCAL_AUTO_NOTIFY_NEW_VERSION :=AA_0507_OtoNotifVersion.Checked;
_VV_LOCAL_USER_NIKO:=eeNikName.Text;
_VV_LOCAL_USER_NOT_ONLINE_MESSAGE :=eeAwayMsg.Text;
_VV_LOCAL_USER_MESSAGE:=eePersMsg.Text;
EXPLORER_PUBLIC_ROOTS.Text:=_ePubFolders.Items.Text;
EXPLORER_PRIVATE_ROOTS.Text:=_ePrivFolders.Items.Text;
_VV_LOCAL_USER_LOGO_BYTE:=Ord(eLogoChar.Caption[1]); //logo
_TV_NODE_OF_LOCAL_USER._EXO_NODE_MESSAGE:=_VV_LOCAL_USER_MESSAGE;
_VV_LOCAL_USER_MY8_BOOLEANS[2]:=Char(_VV_LOCAL_USER_LOGO_BYTE);
_TV_NODE_OF_LOCAL_USER._EXO_NODE_20BOOLS[2]:=Char(_VV_LOCAL_USER_LOGO_BYTE);
TExoSeeSettings.SaveSettings;
_TV_NODE_OF_LOCAL_USER.Text:=_VV_LOCAL_USER_NIKO;
close;
end;
//------------------------------------------------------------------------------
procedure T_FXOC_SETTINGS.FormCreate(Sender: TObject);
begin
Caption:=___ccc__0549__ExoSeeSettings;
AA_0512_LvSET.Tag:=-1;
AA_0513_LvFavs.Tag:=-1;
AA_0551_ccRouter.Checked :=_VV_LOCAL_CONFIG_ROUTER_IS_ON;
maxup.Position :=_VV_LOCAL_CONFIG_MAX_UPLOADS;
mx1.Caption:=inttostr(_VV_LOCAL_CONFIG_MAX_UPLOADS);
_ePubFolders.Items :=EXPLORER_PUBLIC_ROOTS;
_ePrivFolders.Items :=EXPLORER_PRIVATE_ROOTS;
eLocalDLfolder.Text :=_VV_LOCAL_CONFIG_THE_DOWNLOADS_FOLDER;
AA_0553_ccExpander.Checked :=_VV_LOCAL_CONFIG_EXPAND_SUBFOLDERS;
AA_0550_ccWebXocLinks.Checked :=_VV_LOCAL_CONFIG_ALLOW_WEB_XOC_LINKS;
AA_0552_ccKikLANs.Checked :=_VV_LOCAL_CONFIG_I_ACCEPT_NO_LAN;
AA_0529_OtoAddComs.Checked :=_VV_LOCAL_CONFIG_AUTO_ADD_COMS;
AA_0507_OtoNotifVersion.Checked :=_VV_LOCAL_AUTO_NOTIFY_NEW_VERSION;
eeNikName.Text:=_VV_LOCAL_USER_NIKO;
eeAwayMsg.Text:=_VV_LOCAL_USER_NOT_ONLINE_MESSAGE;
eePersMsg.Text:=_VV_LOCAL_USER_MESSAGE;
eLogoChar.Caption:=Char(_VV_LOCAL_USER_LOGO_BYTE);
eLogoChar.Hint:=___ccc__0613__ChooseIcon;
end;
//------------------------------------------------------------------------------
procedure T_FXOC_SETTINGS.maxupChange(Sender: TObject);
begin
mx1.Caption:=inttostr(maxup.Position);
_VV_LOCAL_CONFIG_MAX_UPLOADS:=maxup.Position;
end;
//------------------------------------------------------------------------------
procedure T_FXOC_SETTINGS.AA_0537__rem_privClick(Sender: TObject);
begin
EXPLORER_PRIVATE_ROOTS.Delete(_ePrivFolders.itemindex);
_ePrivFolders.Items.Delete(_ePrivFolders.itemindex);
AA_0537__rem_priv.Enabled:=false;
end;
//------------------------------------------------------------------------------
procedure T_FXOC_SETTINGS.AA_0538_add_privClick(Sender: TObject);
var
s: string;
begin
if SelectDirectory(___ccc__0048__SelectPrivFolder,'',s)then
begin
s:=s+'\';
s:=stringreplace(s,'\\','\',[rfReplaceAll]); // clean s
if _ePrivFolders.Items.IndexOf(s)<>-1 then exit; //exist>>exit
_ePrivFolders.Items.Add(s);
EXPLORER_PRIVATE_ROOTS.Add(s);
end;
end;
//------------------------------------------------------------------------------
procedure T_FXOC_SETTINGS._ePubFoldersClick(Sender: TObject);
begin
AA_0537_remPub.Enabled:=_ePubFolders.Items.Count<>1;
end;
//------------------------------------------------------------------------------
procedure T_FXOC_SETTINGS._ePrivFoldersClick(Sender: TObject);
begin
AA_0537__rem_priv.Enabled:=_ePrivFolders.Items.Count<>0;
end;
//------------------------------------------------------------------------------
procedure T_FXOC_SETTINGS.AA_0537_remPubClick(Sender: TObject);
begin
if (_ePubFolders.itemindex=-1) then exit;
EXPLORER_PUBLIC_ROOTS.Delete(_ePubFolders.itemindex);
_ePubFolders.Items.Delete(_ePubFolders.itemindex);
AA_0537_remPub.Enabled:=false;
end;
//------------------------------------------------------------------------------
procedure T_FXOC_SETTINGS.AA_0538_addPubClick(Sender: TObject);
var
s: string;
begin
if SelectDirectory(___ccc__0049__SelectPubFolder,'',s)then
begin
s:=s+'\';
s:=stringreplace(s,'\\','\',[rfReplaceAll]); // clean s
if _ePubFolders.Items.IndexOf(s)<>-1 then exit; //exist>>exit
_ePubFolders.Items.Add(s);
EXPLORER_PUBLIC_ROOTS.Add(s);
if eLocalDLfolder.Text='' then
begin
s:=EXPLORER_PUBLIC_ROOTS[0]+'_My_downloads\';
if CreateDir(s) then
begin
eLocalDLfolder.Text:=s;
//foldy.text:=stringreplace(foldy.text,'\\','\',[rfReplaceAll]); // clean 1
_VV_LOCAL_CONFIG_THE_DOWNLOADS_FOLDER:=eLocalDLfolder.Text;
end else
ShowMessage(s);
end;
end;
end;
//------------------------------------------------------------------------------
procedure T_FXOC_SETTINGS.dwderClick(Sender: TObject);
var
s: string;
begin
if SelectDirectory(___ccc__0050__SelectDownloadsFolder,'',s)then
begin
s:=s+'\';
eLocalDLfolder.text:=s;
s:=stringreplace(s,'\\','\',[rfReplaceAll]); // clean s
_VV_LOCAL_CONFIG_THE_DOWNLOADS_FOLDER:=eLocalDLfolder.text;
end;
end;
//------------------------------------------------------------------------------
procedure T_FXOC_SETTINGS._ePrivFoldersDrawItem(Control: TWinControl;
Index: Integer; Rect: TRect; State: TOwnerDrawState);
begin
With TListBox(Control).Canvas do
begin
if (odSelected in state) then
begin
Font.Color:=clHighlightText;
Brush.Color:=clHighlight;
end
else
begin
Font.Color:=clWindowText;
Brush.Color:=clWindow;
end;
FillRect(Rect);
_FXOC_MAIN._images.Draw(TListBox(Control).Canvas,Rect.Left+2,Rect.Top+1,TListBox(Control).Tag);
TextOut(Rect.Left+20, Rect.Top+1,TListBox(Control).Items[Index]);
end;
end;
//------------------------------------------------------------------------------
procedure T_FXOC_SETTINGS.eLogoCharClick(Sender: TObject);
begin
PnLogos.Visible:=true;
LboxFonts.ItemIndex:=LboxFonts.Items.IndexOf(eLogoChar.Caption);
end;
//------------------------------------------------------------------------------
procedure T_FXOC_SETTINGS.Button1Click(Sender: TObject);
begin
PnLogos.Visible:=false;
end;
//------------------------------------------------------------------------------
procedure T_FXOC_SETTINGS.LboxFontsClick(Sender: TObject);
begin
if (LboxFonts.ItemIndex=-1) then exit;
eLogoChar.Caption:=LboxFonts.Items[LboxFonts.ItemIndex];
end;
//------------------------------------------------------------------------------
procedure T_FXOC_SETTINGS.AA_0512_LvSETChange(Sender: TObject; Item: TListItem; Change: TItemChange);
begin
if (AA_0512_LvSET.Tag=-1) then exit;
if (AA_0512_LvSET.Tag=Item.Index) then exit;
Case Item.Index of
0 : _pp0.BringToFront;
1 : _pp1.BringToFront;
2 : _pp2.BringToFront;
3 : _pp3.BringToFront;
4 : _pp4.BringToFront;
5 : _pp5.BringToFront;
end;
eeSeTiT.Caption:=Item.Caption;
AA_0512_LvSET.Tag:=Item.Index;// fix bug onchage
end;
//------------------------------------------------------------------------------
procedure T_FXOC_SETTINGS.FormShow(Sender: TObject);
var
i:integer;
_z:string;
vtm:TListItem;
begin
//-----------favs--load onShow--to dynamic user-add-remove------------
_skipFavsTRIGG:=true;
try
for i:=0 to _TV_NODE_OF_FAVORITES.Count-1 do
begin
_z:=_TV_NODE_OF_FAVORITES.Item[i]._EXO_NODE_COM_IDX;
// 1C080B2CD3xxA01000000%1Ismail%2F:\_Pc-Set\_Drivers%3
vtm:=AA_0513_LvFavs.Items.Add;
vtm.sava_f:=_z; // first !!!!
vtm.Caption:=copy(_z,pos('%1',_z)+2,pos('%2',_z)-pos('%1',_z)-2);
vtm.ImageIndex:=48;
case _TV_NODE_OF_FAVORITES.Item[i]._EXO_NODE_X_LEVEL of
'L' :vtm.SubItems.Add(___ccc__0051__Offline);
'M' :vtm.SubItems.Add(___ccc__0001__Online);
end;
vtm.SubItemImages[0]:=_TV_NODE_OF_FAVORITES.Item[i].ImageIndex;
end;
finally _skipFavsTRIGG:=false; end;
AA_0512_LvSET.Tag:=-2;
AA_0513_LvFavs.Tag:=-2;
end;
//------------------------------------------------------------------------------
procedure T_FXOC_SETTINGS.AA_0513_LvFavsChange(Sender: TObject; Item: TListItem; Change: TItemChange);
var
_z:string;
begin
if (AA_0513_LvFavs.Tag=-1) then exit;
if (AA_0513_LvFavs.Tag=Item.Index) then exit;
if (_skipFavsTRIGG) then exit;
eeFavNAM.Caption:='----';
_skipBOXES:=true; // no trigger boxes !!!
AA_0545_evv1.Checked:=false; // access privs
AA_0546_evv2.Checked:=false; // zund files
AA_0547_evv3.Checked:=false; // xtra folder
AA_0545_evv1.Enabled:=false; //
AA_0546_evv2.Enabled:=false; //
AA_0547_evv3.Enabled:=false; //
AA_0548_eeLbb.Enabled:=false; //
eeXbtn.Enabled:=false; //
eedxFolder.text:='';
eedxFolder.Enabled:=false; //
if (AA_0513_LvFavs.Selected=nil) then exit;
AA_0545_evv1.Enabled:=true; // access privs
AA_0546_evv2.Enabled:=true; // zund files
AA_0547_evv3.Enabled:=true; // xtra folder
_z:=Item.sava_f;
eeFavNAM.Caption:=copy(_z,pos('%1',_z)+2,pos('%2',_z)-pos('%1',_z)-2);
AA_0545_evv1.Checked:=(_z[13+1]='1'); // access privs
AA_0546_evv2.Checked:=(_z[13+2]='1'); // zund files
AA_0547_evv3.Checked:=(_z[13+3]='1'); // xtra folder
eedxFolder.text:=copy(_z,pos('%2',_z)+2,pos('%3',_z)-pos('%2',_z)-2);
AA_0548_eeLbb.Enabled:=AA_0547_evv3.Checked;
eeXbtn.Enabled:=AA_0547_evv3.Checked;
eedxFolder.Enabled:=AA_0547_evv3.Checked;
_skipBOXES:=false; // now allow boxes trigger
AA_0513_LvFavs.Tag:=Item.Index; // fix
end;
//------------------------------------------------------------------------------
procedure T_FXOC_SETTINGS.AA_0545_evv1Click(Sender: TObject);
var
s:string;
_on:boolean;
begin
if (_skipBOXES) then exit;
if (AA_0513_LvFavs.Selected=nil) then exit;
s:=AA_0513_LvFavs.Selected.sava_f;
_on:=TCheckBox(sender).Checked;
case TCheckBox(sender).Tag of
1 : if _on then s[13+1]:='1' else s[13+1]:='0';
2 : if _on then s[13+2]:='1' else s[13+2]:='0';
3 : if _on then s[13+3]:='1' else s[13+3]:='0';
end;
AA_0513_LvFavs.Selected.sava_f:=s;
TExoSeeSettings._update_fav(s); // direct update to registry
UpdateFavUserNodeCODE(s); // direct update FavNode
AA_0548_eeLbb.Enabled:=AA_0547_evv3.Checked;
eeXbtn.Enabled:=AA_0547_evv3.Checked;
eedxFolder.Enabled:=AA_0547_evv3.Checked;
end;
//------------------------------------------------------------------------------
procedure T_FXOC_SETTINGS.eeXtraFolderClick(Sender: TObject);
var
s: string;
i:integer;
begin
// 1C080B2CD3xxA01000000%1Ismail%2F:\_Pc-Set\_Drivers%3
// 0000001000
if (AA_0513_LvFavs.Selected=nil) then exit;
if SelectDirectory(___ccc__0052__SelectXtraFolder,'',s)then
begin
s:=s+'\';
s:=stringreplace(s,'\\','\',[rfReplaceAll]); // clean s
eedxFolder.text:=s;
i:=pos('%2',AA_0513_LvFavs.Selected.sava_f);
delete(AA_0513_LvFavs.Selected.sava_f,i,length(AA_0513_LvFavs.Selected.sava_f)-(i-1));
AA_0513_LvFavs.Selected.sava_f:=AA_0513_LvFavs.Selected.sava_f+'%2'+s+'%3';
eedxFolder.Hint:=eedxFolder.text;
TExoSeeSettings._update_fav(AA_0513_LvFavs.Selected.sava_f); // direct update to registry
UpdateFavUserNodeCODE(AA_0513_LvFavs.Selected.sava_f); // direct update FavNode
end;
end;
//------------------------------------------------------------------------------
procedure T_FXOC_SETTINGS.FormClose(Sender: TObject; var Action: TCloseAction);
begin
AA_0513_LvFavs.Items.Clear;
end;
//------------------------------------------------------------------------------
var langDone : Boolean=False;
procedure T_FXOC_SETTINGS.FormActivate(Sender: TObject);
begin
if (langDone) then exit;
langDone:=true;
// fix done
GoSetLANG(Self); //----- go loadLang --- if ok (1st here)
AA_0512_LvSET.Selected:=AA_0512_LvSET.Items[0]; // default
end;
//------------------------------------------------------------------------------
procedure T_FXOC_SETTINGS.AA_0614_Label4Click(Sender: TObject);
begin
ShellExecute(0,'open',pchar(TLabel(Sender).Hint),nil,nil,SW_SHOWNORMAL);
end;
//------------------------------------------------------------------------------
procedure T_FXOC_SETTINGS.eedxFolderDblClick(Sender: TObject);
begin
if (eedxFolder.Text<>'') then
ShellExecute(0,'explore',pchar(eedxFolder.Text),nil,nil,SW_SHOWNORMAL);
end;
end.
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ExtCtrls, ComCtrls,FileCtrl,ShellApi;
type
T_FXOC_SETTINGS = class(TForm)
AA_0534_SaveBtn: TButton;
Bevel1: TBevel;
AA_0549_Label1: TLabel;
AA_0512_LvSET: TListView;
Shape2: TShape;
Panel1: TPanel;
_pp5: TPanel;
_pp3: TPanel;
_pp2: TPanel;
_pp1: TPanel;
_pp0: TPanel;
AA_0551_ccRouter: TCheckBox;
AA_0552_ccKikLANs: TCheckBox;
AA_0553_ccExpander: TCheckBox;
Bevel3: TBevel;
AA_0554_doso: TLabel;
eLocalDLfolder: TEdit;
dwder: TButton;
PnLogos: TPanel;
Shape3: TShape;
LboxFonts: TListBox;
Button1: TButton;
eeNikName: TEdit;
Bevel5: TBevel;
AA_0535_Label455: TLabel;
eePersMsg: TEdit;
Bevel4: TBevel;
AA_0536_Label7: TLabel;
eeAwayMsg: TEdit;
mx1: TLabel;
AA_0539_e1: TLabel;
AA_0541_Label2: TLabel;
maxup: TTrackBar;
AA_0537_remPub: TButton;
AA_0538_addPub: TButton;
_ePubFolders: TListBox;
Image1: TImage;
AA_0542_Label3: TLabel;
AA_0543_add_privLabel4: TLabel;
AA_0537__rem_priv: TButton;
AA_0538_add_priv: TButton;
_ePrivFolders: TListBox;
AA_0550_ccWebXocLinks: TCheckBox;
eLogoChar: TLabel;
Image5: TImage;
Bevel2: TBevel;
Image2: TImage;
Image3: TImage;
Image6: TImage;
AA_0540_Label6: TLabel;
Bevel6: TBevel;
Image7: TImage;
Bevel7: TBevel;
eeSeTiT: TLabel;
_pp4: TPanel;
Image4: TImage;
Bevel8: TBevel;
AA_0544_Label8: TLabel;
AA_0513_LvFavs: TListView;
eeFavNAM: TLabel;
AA_0548_eeLbb: TLabel;
AA_0545_evv1: TCheckBox;
AA_0546_evv2: TCheckBox;
Image8: TImage;
AA_0547_evv3: TCheckBox;
eeXbtn: TButton;
eedxFolder: TEdit;
AA_0532_Label2: TLabel;
AA_0611_Label1: TLabel;
Image9: TImage;
AA_0612_Label2: TLabel;
AA_0613_Label3: TLabel;
AA_0614_Label4: TLabel;
AA_0529_OtoAddComs: TCheckBox;
AA_0507_OtoNotifVersion: TCheckBox;
procedure AA_0534_SaveBtnClick(Sender: TObject);
procedure AA_0551_ccRouterClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure maxupChange(Sender: TObject);
procedure AA_0537__rem_privClick(Sender: TObject);
procedure AA_0538_add_privClick(Sender: TObject);
procedure _ePubFoldersClick(Sender: TObject);
procedure _ePrivFoldersClick(Sender: TObject);
procedure AA_0537_remPubClick(Sender: TObject);
procedure AA_0538_addPubClick(Sender: TObject);
procedure dwderClick(Sender: TObject);
procedure _ePrivFoldersDrawItem(Control: TWinControl; Index: Integer;
Rect: TRect; State: TOwnerDrawState);
procedure eLogoCharClick(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure LboxFontsClick(Sender: TObject);
procedure AA_0512_LvSETChange(Sender: TObject; Item: TListItem; Change: TItemChange);
procedure FormShow(Sender: TObject);
procedure AA_0513_LvFavsChange(Sender: TObject; Item: TListItem; Change: TItemChange);
procedure AA_0545_evv1Click(Sender: TObject);
procedure eeXtraFolderClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormActivate(Sender: TObject);
procedure AA_0614_Label4Click(Sender: TObject);
procedure eedxFolderDblClick(Sender: TObject);
private
_skipBOXES :Boolean;
_skipFavsTRIGG :Boolean;
public
{ Déclarations publiques }
end;
var
_FXOC_SETTINGS: T_FXOC_SETTINGS;
implementation
uses _uc_refs_vars, _uc_funcs, _uc_refs_consts, _uc_reg_settings, Unit1,
_uc_GuiLanG;
{$R *.DFM}
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
procedure T_FXOC_SETTINGS.AA_0551_ccRouterClick(Sender: TObject);
begin
_VV_LOCAL_CONFIG_ROUTER_IS_ON:=AA_0551_ccRouter.Checked;
end;
//------------------------------------------------------------------------------
procedure T_FXOC_SETTINGS.AA_0534_SaveBtnClick(Sender: TObject);
var
z:string;
begin
z:=UpperCase(eePersMsg.Text+eeNikName.Text); // nik + message
if (z<>'') then begin
if (pos('EXOSEE',z)>0)
or (pos('EXO-SEE',z)>0)
or (pos('EXO.SEE',z)>0)
or (pos('E.X.O.SEE',z)>0)
or (pos('E.X.O.S.E.E',z)>0)
or (pos('E X O S E E',z)>0)
or (pos('EXOSE',z)>0)
or (pos('XOSEE',z)>0)
or (pos('XO-SEE',z)>0)
or (pos('EXO-C',z)>0)
or (pos('EXO.C',z)>0)
or (pos('XO-C',z)>0)
or (pos('XO.C',z)>0)
or (pos('TO XOC',z)>0)
or (pos('2XOC',z)>0)
then begin
ShowMessage('Application resreved words are not allowed.'+ret+ret+
'Check "Nickname" and "Personal message" entries !');
exit;
end;
end;
if (_VV_LOCAL_CONFIG_ROUTER_IS_ON) then
begin
_VV_LOCAL_USER_IP_IS_OK_WAN:=true;
_TV_NODE_OF_LOCAL_USER.ImageIndex:=1;
end else _TV_NODE_OF_LOCAL_USER.ImageIndex:=2;
_VV_LOCAL_CONFIG_EXPAND_SUBFOLDERS:=AA_0553_ccExpander.Checked;
_VV_LOCAL_CONFIG_ALLOW_WEB_XOC_LINKS:=AA_0550_ccWebXocLinks.Checked;
_VV_LOCAL_CONFIG_I_ACCEPT_NO_LAN :=AA_0552_ccKikLANs.Checked;
_VV_LOCAL_CONFIG_AUTO_ADD_COMS :=AA_0529_OtoAddComs.Checked;
_VV_LOCAL_AUTO_NOTIFY_NEW_VERSION :=AA_0507_OtoNotifVersion.Checked;
_VV_LOCAL_USER_NIKO:=eeNikName.Text;
_VV_LOCAL_USER_NOT_ONLINE_MESSAGE :=eeAwayMsg.Text;
_VV_LOCAL_USER_MESSAGE:=eePersMsg.Text;
EXPLORER_PUBLIC_ROOTS.Text:=_ePubFolders.Items.Text;
EXPLORER_PRIVATE_ROOTS.Text:=_ePrivFolders.Items.Text;
_VV_LOCAL_USER_LOGO_BYTE:=Ord(eLogoChar.Caption[1]); //logo
_TV_NODE_OF_LOCAL_USER._EXO_NODE_MESSAGE:=_VV_LOCAL_USER_MESSAGE;
_VV_LOCAL_USER_MY8_BOOLEANS[2]:=Char(_VV_LOCAL_USER_LOGO_BYTE);
_TV_NODE_OF_LOCAL_USER._EXO_NODE_20BOOLS[2]:=Char(_VV_LOCAL_USER_LOGO_BYTE);
TExoSeeSettings.SaveSettings;
_TV_NODE_OF_LOCAL_USER.Text:=_VV_LOCAL_USER_NIKO;
close;
end;
//------------------------------------------------------------------------------
procedure T_FXOC_SETTINGS.FormCreate(Sender: TObject);
begin
Caption:=___ccc__0549__ExoSeeSettings;
AA_0512_LvSET.Tag:=-1;
AA_0513_LvFavs.Tag:=-1;
AA_0551_ccRouter.Checked :=_VV_LOCAL_CONFIG_ROUTER_IS_ON;
maxup.Position :=_VV_LOCAL_CONFIG_MAX_UPLOADS;
mx1.Caption:=inttostr(_VV_LOCAL_CONFIG_MAX_UPLOADS);
_ePubFolders.Items :=EXPLORER_PUBLIC_ROOTS;
_ePrivFolders.Items :=EXPLORER_PRIVATE_ROOTS;
eLocalDLfolder.Text :=_VV_LOCAL_CONFIG_THE_DOWNLOADS_FOLDER;
AA_0553_ccExpander.Checked :=_VV_LOCAL_CONFIG_EXPAND_SUBFOLDERS;
AA_0550_ccWebXocLinks.Checked :=_VV_LOCAL_CONFIG_ALLOW_WEB_XOC_LINKS;
AA_0552_ccKikLANs.Checked :=_VV_LOCAL_CONFIG_I_ACCEPT_NO_LAN;
AA_0529_OtoAddComs.Checked :=_VV_LOCAL_CONFIG_AUTO_ADD_COMS;
AA_0507_OtoNotifVersion.Checked :=_VV_LOCAL_AUTO_NOTIFY_NEW_VERSION;
eeNikName.Text:=_VV_LOCAL_USER_NIKO;
eeAwayMsg.Text:=_VV_LOCAL_USER_NOT_ONLINE_MESSAGE;
eePersMsg.Text:=_VV_LOCAL_USER_MESSAGE;
eLogoChar.Caption:=Char(_VV_LOCAL_USER_LOGO_BYTE);
eLogoChar.Hint:=___ccc__0613__ChooseIcon;
end;
//------------------------------------------------------------------------------
procedure T_FXOC_SETTINGS.maxupChange(Sender: TObject);
begin
mx1.Caption:=inttostr(maxup.Position);
_VV_LOCAL_CONFIG_MAX_UPLOADS:=maxup.Position;
end;
//------------------------------------------------------------------------------
procedure T_FXOC_SETTINGS.AA_0537__rem_privClick(Sender: TObject);
begin
EXPLORER_PRIVATE_ROOTS.Delete(_ePrivFolders.itemindex);
_ePrivFolders.Items.Delete(_ePrivFolders.itemindex);
AA_0537__rem_priv.Enabled:=false;
end;
//------------------------------------------------------------------------------
procedure T_FXOC_SETTINGS.AA_0538_add_privClick(Sender: TObject);
var
s: string;
begin
if SelectDirectory(___ccc__0048__SelectPrivFolder,'',s)then
begin
s:=s+'\';
s:=stringreplace(s,'\\','\',[rfReplaceAll]); // clean s
if _ePrivFolders.Items.IndexOf(s)<>-1 then exit; //exist>>exit
_ePrivFolders.Items.Add(s);
EXPLORER_PRIVATE_ROOTS.Add(s);
end;
end;
//------------------------------------------------------------------------------
procedure T_FXOC_SETTINGS._ePubFoldersClick(Sender: TObject);
begin
AA_0537_remPub.Enabled:=_ePubFolders.Items.Count<>1;
end;
//------------------------------------------------------------------------------
procedure T_FXOC_SETTINGS._ePrivFoldersClick(Sender: TObject);
begin
AA_0537__rem_priv.Enabled:=_ePrivFolders.Items.Count<>0;
end;
//------------------------------------------------------------------------------
procedure T_FXOC_SETTINGS.AA_0537_remPubClick(Sender: TObject);
begin
if (_ePubFolders.itemindex=-1) then exit;
EXPLORER_PUBLIC_ROOTS.Delete(_ePubFolders.itemindex);
_ePubFolders.Items.Delete(_ePubFolders.itemindex);
AA_0537_remPub.Enabled:=false;
end;
//------------------------------------------------------------------------------
procedure T_FXOC_SETTINGS.AA_0538_addPubClick(Sender: TObject);
var
s: string;
begin
if SelectDirectory(___ccc__0049__SelectPubFolder,'',s)then
begin
s:=s+'\';
s:=stringreplace(s,'\\','\',[rfReplaceAll]); // clean s
if _ePubFolders.Items.IndexOf(s)<>-1 then exit; //exist>>exit
_ePubFolders.Items.Add(s);
EXPLORER_PUBLIC_ROOTS.Add(s);
if eLocalDLfolder.Text='' then
begin
s:=EXPLORER_PUBLIC_ROOTS[0]+'_My_downloads\';
if CreateDir(s) then
begin
eLocalDLfolder.Text:=s;
//foldy.text:=stringreplace(foldy.text,'\\','\',[rfReplaceAll]); // clean 1
_VV_LOCAL_CONFIG_THE_DOWNLOADS_FOLDER:=eLocalDLfolder.Text;
end else
ShowMessage(s);
end;
end;
end;
//------------------------------------------------------------------------------
procedure T_FXOC_SETTINGS.dwderClick(Sender: TObject);
var
s: string;
begin
if SelectDirectory(___ccc__0050__SelectDownloadsFolder,'',s)then
begin
s:=s+'\';
eLocalDLfolder.text:=s;
s:=stringreplace(s,'\\','\',[rfReplaceAll]); // clean s
_VV_LOCAL_CONFIG_THE_DOWNLOADS_FOLDER:=eLocalDLfolder.text;
end;
end;
//------------------------------------------------------------------------------
procedure T_FXOC_SETTINGS._ePrivFoldersDrawItem(Control: TWinControl;
Index: Integer; Rect: TRect; State: TOwnerDrawState);
begin
With TListBox(Control).Canvas do
begin
if (odSelected in state) then
begin
Font.Color:=clHighlightText;
Brush.Color:=clHighlight;
end
else
begin
Font.Color:=clWindowText;
Brush.Color:=clWindow;
end;
FillRect(Rect);
_FXOC_MAIN._images.Draw(TListBox(Control).Canvas,Rect.Left+2,Rect.Top+1,TListBox(Control).Tag);
TextOut(Rect.Left+20, Rect.Top+1,TListBox(Control).Items[Index]);
end;
end;
//------------------------------------------------------------------------------
procedure T_FXOC_SETTINGS.eLogoCharClick(Sender: TObject);
begin
PnLogos.Visible:=true;
LboxFonts.ItemIndex:=LboxFonts.Items.IndexOf(eLogoChar.Caption);
end;
//------------------------------------------------------------------------------
procedure T_FXOC_SETTINGS.Button1Click(Sender: TObject);
begin
PnLogos.Visible:=false;
end;
//------------------------------------------------------------------------------
procedure T_FXOC_SETTINGS.LboxFontsClick(Sender: TObject);
begin
if (LboxFonts.ItemIndex=-1) then exit;
eLogoChar.Caption:=LboxFonts.Items[LboxFonts.ItemIndex];
end;
//------------------------------------------------------------------------------
procedure T_FXOC_SETTINGS.AA_0512_LvSETChange(Sender: TObject; Item: TListItem; Change: TItemChange);
begin
if (AA_0512_LvSET.Tag=-1) then exit;
if (AA_0512_LvSET.Tag=Item.Index) then exit;
Case Item.Index of
0 : _pp0.BringToFront;
1 : _pp1.BringToFront;
2 : _pp2.BringToFront;
3 : _pp3.BringToFront;
4 : _pp4.BringToFront;
5 : _pp5.BringToFront;
end;
eeSeTiT.Caption:=Item.Caption;
AA_0512_LvSET.Tag:=Item.Index;// fix bug onchage
end;
//------------------------------------------------------------------------------
procedure T_FXOC_SETTINGS.FormShow(Sender: TObject);
var
i:integer;
_z:string;
vtm:TListItem;
begin
//-----------favs--load onShow--to dynamic user-add-remove------------
_skipFavsTRIGG:=true;
try
for i:=0 to _TV_NODE_OF_FAVORITES.Count-1 do
begin
_z:=_TV_NODE_OF_FAVORITES.Item[i]._EXO_NODE_COM_IDX;
// 1C080B2CD3xxA01000000%1Ismail%2F:\_Pc-Set\_Drivers%3
vtm:=AA_0513_LvFavs.Items.Add;
vtm.sava_f:=_z; // first !!!!
vtm.Caption:=copy(_z,pos('%1',_z)+2,pos('%2',_z)-pos('%1',_z)-2);
vtm.ImageIndex:=48;
case _TV_NODE_OF_FAVORITES.Item[i]._EXO_NODE_X_LEVEL of
'L' :vtm.SubItems.Add(___ccc__0051__Offline);
'M' :vtm.SubItems.Add(___ccc__0001__Online);
end;
vtm.SubItemImages[0]:=_TV_NODE_OF_FAVORITES.Item[i].ImageIndex;
end;
finally _skipFavsTRIGG:=false; end;
AA_0512_LvSET.Tag:=-2;
AA_0513_LvFavs.Tag:=-2;
end;
//------------------------------------------------------------------------------
procedure T_FXOC_SETTINGS.AA_0513_LvFavsChange(Sender: TObject; Item: TListItem; Change: TItemChange);
var
_z:string;
begin
if (AA_0513_LvFavs.Tag=-1) then exit;
if (AA_0513_LvFavs.Tag=Item.Index) then exit;
if (_skipFavsTRIGG) then exit;
eeFavNAM.Caption:='----';
_skipBOXES:=true; // no trigger boxes !!!
AA_0545_evv1.Checked:=false; // access privs
AA_0546_evv2.Checked:=false; // zund files
AA_0547_evv3.Checked:=false; // xtra folder
AA_0545_evv1.Enabled:=false; //
AA_0546_evv2.Enabled:=false; //
AA_0547_evv3.Enabled:=false; //
AA_0548_eeLbb.Enabled:=false; //
eeXbtn.Enabled:=false; //
eedxFolder.text:='';
eedxFolder.Enabled:=false; //
if (AA_0513_LvFavs.Selected=nil) then exit;
AA_0545_evv1.Enabled:=true; // access privs
AA_0546_evv2.Enabled:=true; // zund files
AA_0547_evv3.Enabled:=true; // xtra folder
_z:=Item.sava_f;
eeFavNAM.Caption:=copy(_z,pos('%1',_z)+2,pos('%2',_z)-pos('%1',_z)-2);
AA_0545_evv1.Checked:=(_z[13+1]='1'); // access privs
AA_0546_evv2.Checked:=(_z[13+2]='1'); // zund files
AA_0547_evv3.Checked:=(_z[13+3]='1'); // xtra folder
eedxFolder.text:=copy(_z,pos('%2',_z)+2,pos('%3',_z)-pos('%2',_z)-2);
AA_0548_eeLbb.Enabled:=AA_0547_evv3.Checked;
eeXbtn.Enabled:=AA_0547_evv3.Checked;
eedxFolder.Enabled:=AA_0547_evv3.Checked;
_skipBOXES:=false; // now allow boxes trigger
AA_0513_LvFavs.Tag:=Item.Index; // fix
end;
//------------------------------------------------------------------------------
procedure T_FXOC_SETTINGS.AA_0545_evv1Click(Sender: TObject);
var
s:string;
_on:boolean;
begin
if (_skipBOXES) then exit;
if (AA_0513_LvFavs.Selected=nil) then exit;
s:=AA_0513_LvFavs.Selected.sava_f;
_on:=TCheckBox(sender).Checked;
case TCheckBox(sender).Tag of
1 : if _on then s[13+1]:='1' else s[13+1]:='0';
2 : if _on then s[13+2]:='1' else s[13+2]:='0';
3 : if _on then s[13+3]:='1' else s[13+3]:='0';
end;
AA_0513_LvFavs.Selected.sava_f:=s;
TExoSeeSettings._update_fav(s); // direct update to registry
UpdateFavUserNodeCODE(s); // direct update FavNode
AA_0548_eeLbb.Enabled:=AA_0547_evv3.Checked;
eeXbtn.Enabled:=AA_0547_evv3.Checked;
eedxFolder.Enabled:=AA_0547_evv3.Checked;
end;
//------------------------------------------------------------------------------
procedure T_FXOC_SETTINGS.eeXtraFolderClick(Sender: TObject);
var
s: string;
i:integer;
begin
// 1C080B2CD3xxA01000000%1Ismail%2F:\_Pc-Set\_Drivers%3
// 0000001000
if (AA_0513_LvFavs.Selected=nil) then exit;
if SelectDirectory(___ccc__0052__SelectXtraFolder,'',s)then
begin
s:=s+'\';
s:=stringreplace(s,'\\','\',[rfReplaceAll]); // clean s
eedxFolder.text:=s;
i:=pos('%2',AA_0513_LvFavs.Selected.sava_f);
delete(AA_0513_LvFavs.Selected.sava_f,i,length(AA_0513_LvFavs.Selected.sava_f)-(i-1));
AA_0513_LvFavs.Selected.sava_f:=AA_0513_LvFavs.Selected.sava_f+'%2'+s+'%3';
eedxFolder.Hint:=eedxFolder.text;
TExoSeeSettings._update_fav(AA_0513_LvFavs.Selected.sava_f); // direct update to registry
UpdateFavUserNodeCODE(AA_0513_LvFavs.Selected.sava_f); // direct update FavNode
end;
end;
//------------------------------------------------------------------------------
procedure T_FXOC_SETTINGS.FormClose(Sender: TObject; var Action: TCloseAction);
begin
AA_0513_LvFavs.Items.Clear;
end;
//------------------------------------------------------------------------------
var langDone : Boolean=False;
procedure T_FXOC_SETTINGS.FormActivate(Sender: TObject);
begin
if (langDone) then exit;
langDone:=true;
// fix done
GoSetLANG(Self); //----- go loadLang --- if ok (1st here)
AA_0512_LvSET.Selected:=AA_0512_LvSET.Items[0]; // default
end;
//------------------------------------------------------------------------------
procedure T_FXOC_SETTINGS.AA_0614_Label4Click(Sender: TObject);
begin
ShellExecute(0,'open',pchar(TLabel(Sender).Hint),nil,nil,SW_SHOWNORMAL);
end;
//------------------------------------------------------------------------------
procedure T_FXOC_SETTINGS.eedxFolderDblClick(Sender: TObject);
begin
if (eedxFolder.Text<>'') then
ShellExecute(0,'explore',pchar(eedxFolder.Text),nil,nil,SW_SHOWNORMAL);
end;
end.