You've already forked lazarus-ccr
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@5438 8e941d3f-bd1b-0410-a28a-d453659cc2b4
180 lines
4.0 KiB
ObjectPascal
180 lines
4.0 KiB
ObjectPascal
{*********************************************************}
|
|
{* Dialog to register/unregister servers *}
|
|
{*********************************************************}
|
|
|
|
(* ***** BEGIN LICENSE BLOCK *****
|
|
* Version: MPL 1.1
|
|
*
|
|
* The contents of this file are subject to the Mozilla Public License Version
|
|
* 1.1 (the "License"); you may not use this file except in compliance with
|
|
* the License. You may obtain a copy of the License at
|
|
* http://www.mozilla.org/MPL/
|
|
*
|
|
* Software distributed under the License is distributed on an "AS IS" basis,
|
|
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
|
* for the specific language governing rights and limitations under the
|
|
* License.
|
|
*
|
|
* The Original Code is TurboPower FlashFiler
|
|
*
|
|
* The Initial Developer of the Original Code is
|
|
* TurboPower Software
|
|
*
|
|
* Portions created by the Initial Developer are Copyright (C) 1996-2002
|
|
* the Initial Developer. All Rights Reserved.
|
|
*
|
|
* Contributor(s):
|
|
*
|
|
* ***** END LICENSE BLOCK ***** *)
|
|
|
|
{$I ffdefine.inc}
|
|
|
|
unit dgregsrv;
|
|
|
|
interface
|
|
|
|
uses
|
|
Windows,
|
|
Messages,
|
|
SysUtils,
|
|
Classes,
|
|
Graphics,
|
|
Controls,
|
|
Forms,
|
|
Dialogs,
|
|
StdCtrls,
|
|
Buttons,
|
|
ExtCtrls,
|
|
ffllbase,
|
|
ubase,
|
|
uconsts;
|
|
|
|
type
|
|
TdlgRegisteredServers = class(TForm)
|
|
btnRemove: TBitBtn;
|
|
btnCancel: TBitBtn;
|
|
lstServers: TListBox;
|
|
btnAdd: TBitBtn;
|
|
lblRegServers: TLabel;
|
|
cboServerName: TComboBox;
|
|
lblNewServer: TLabel;
|
|
btnOK: TBitBtn;
|
|
Bevel1: TBevel;
|
|
procedure btnRemoveClick(Sender: TObject);
|
|
procedure btnAddClick(Sender: TObject);
|
|
procedure cboServerNameChange(Sender: TObject);
|
|
procedure btnOKClick(Sender: TObject);
|
|
procedure FormCreate(Sender: TObject);
|
|
procedure lstServersClick(Sender: TObject);
|
|
procedure FormShow(Sender: TObject);
|
|
private
|
|
procedure SetCtrlStates;
|
|
protected
|
|
public
|
|
procedure FillComboBox;
|
|
end;
|
|
|
|
function ShowRegisteredServersDlg: TModalResult;
|
|
|
|
var
|
|
dlgRegisteredServers: TdlgRegisteredServers;
|
|
|
|
implementation
|
|
|
|
{$R *.DFM}
|
|
|
|
uses
|
|
ffllprot, {!!.07}
|
|
uconfig;
|
|
|
|
function ShowRegisteredServersDlg: TModalResult;
|
|
begin
|
|
with TdlgRegisteredServers.Create(nil) do
|
|
try
|
|
lstServers.Clear;
|
|
lstServers.Items.AddStrings(Config.RegisteredServers);
|
|
FillComboBox;
|
|
Result := ShowModal;
|
|
finally
|
|
Free;
|
|
end;
|
|
end;
|
|
|
|
procedure TdlgRegisteredServers.FormCreate(Sender: TObject);
|
|
begin
|
|
HelpContext := hcRegisteredServersDlg;
|
|
end;
|
|
|
|
procedure TdlgRegisteredServers.FillComboBox;
|
|
var
|
|
S: Integer;
|
|
begin
|
|
|
|
{ Fill combo box dropdown with all the available server names that are not
|
|
already registered }
|
|
cboServerName.Items.Clear;
|
|
with ServerList do
|
|
for S := 0 to Count - 1 do
|
|
if (lstServers.Items.IndexOf(Items[S].ServerName) = -1) and
|
|
(Items[S].ServerName<>ffc_SingleUserServerName) then {!!.07}
|
|
cboServerName.Items.Add(Items[S].ServerName);
|
|
end;
|
|
|
|
procedure TdlgRegisteredServers.cboServerNameChange(Sender: TObject);
|
|
begin
|
|
btnAdd.Enabled := FFShStrTrim(cboServerName.Text) <> '';
|
|
end;
|
|
|
|
procedure TdlgRegisteredServers.btnAddClick(Sender: TObject);
|
|
begin
|
|
lstServers.Items.Add(cboServerName.Text);
|
|
cboServerName.ItemIndex := -1;
|
|
cboServerName.Text := '';
|
|
FillComboBox;
|
|
btnAdd.Enabled := False;
|
|
end;
|
|
|
|
procedure TdlgRegisteredServers.btnRemoveClick(Sender: TObject);
|
|
var
|
|
I: Integer;
|
|
begin
|
|
with lstServers do begin
|
|
I := 0;
|
|
while I < Items.Count do begin
|
|
if Selected[I] then
|
|
Items.Delete(I)
|
|
else
|
|
Inc(I);
|
|
end;
|
|
end;
|
|
FillComboBox;
|
|
SetCtrlStates;
|
|
end;
|
|
|
|
procedure TdlgRegisteredServers.btnOKClick(Sender: TObject);
|
|
begin
|
|
with Config.RegisteredServers do begin
|
|
Clear;
|
|
AddStrings(lstServers.Items);
|
|
end;
|
|
Config.Save;
|
|
end;
|
|
|
|
procedure TdlgRegisteredServers.lstServersClick(Sender: TObject);
|
|
begin
|
|
SetCtrlStates;
|
|
end;
|
|
|
|
procedure TdlgRegisteredServers.SetCtrlStates;
|
|
begin
|
|
btnRemove.Enabled := (lstServers.SelCount > 0);
|
|
end;
|
|
|
|
procedure TdlgRegisteredServers.FormShow(Sender: TObject);
|
|
begin
|
|
SetCtrlStates;
|
|
end;
|
|
|
|
end.
|
|
|