unit verifyform;
{*
 * EMPRIP - Verifyform Verify track names and import artwork
 * Windows CD Audio extraction and MP3 Encoder
 * (C) 2003 Matthew J. Smith, Librarysmith Software
 * Based on AKRIP (http://akrip.sourceforge.net) cddb and audio extraction library
 * and the LAME projects (http://wwww.mp3dev.org) LAME_ENC.DLL.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published
 * by the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 *}

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
  StdCtrls,global, ExtCtrls,shellapi, OleCtrls, filectrl,
  ScrollListbox, bitmapactionbutton,isconnected, TransparentPanel;
  //NB: ScanLibCtl is the Kodak Windows Imaging ActiveX Control IMGSCAN.OCX for Scanner TWAIN support.
  // You need to import this for this module to compile or you can do with out it. You must also remove
  // out the Tverify.aquireClick procedure below.

type
  Tverify = class(TForm)
    lab: TLabel;
    titleedit: TEdit;
    settitle: TBitmapActionButton;
    cancel1: TBitmapActionButton;
    next: TBitmapActionButton;
    lbpanel: TPanel;
    lb: TScrollListbox;
    procedure FormActivate(Sender: TObject);
    procedure lbClick(Sender: TObject);
    procedure settitleClick(Sender: TObject);
    procedure amazonClick(Sender: TObject);
    procedure cancelClick(Sender: TObject);
    procedure nextClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormResize(Sender: TObject);
    procedure FormPaint(Sender: TObject);


  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  verify: Tverify;
  mode : integer;


function doverify(m : integer) : integer;

implementation
uses empripmain;

function doverify(m : integer) : integer;
begin
mode:=m;
verify:=Tverify.Create(application);
try
verify.showmodal;
finally
result:=verify.modalresult;
verify.free;
end;

end;

{$R *.DFM}

procedure Tverify.FormActivate(Sender: TObject);
var
n : integer;

begin
doublebuffered:=true;
sizeform(self,'Verify Tracks',true);

osk(true,false);



if mode=1 then begin
next.visible:=false;
cancel1.caption:='Go Back';
end;


//panel.left:=(self.width div 2)-(panel.width div 2);
//panel.top:=40;

lb.items.clear;
for n:=0 to trackscount-1 do begin
lb.items.add(tracks[n]);
end;
lb.itemindex:=0;
settitle.tag:=0;
lbClick(sender);









end;

procedure Tverify.lbClick(Sender: TObject);
begin
if lb.items.count=0 then begin
   verify.close;
   exit;
end;
if (lb.itemindex<0) or (lb.itemindex>lb.items.count-1) then  exit;

titleedit.text:=lb.items[lb.itemindex];
settitle.caption:='Set Track';
titleedit.selstart:=length(titleedit.text);
settitle.tag:=lb.itemindex;
end;

procedure Tverify.settitleClick(Sender: TObject);
begin
if settitle.tag<0 then exit;
lb.items[settitle.tag]:=titleedit.text;
tracks[settitle.tag]:=titleedit.text;
lb.repaint;
end;






procedure Tverify.amazonClick(Sender: TObject);
begin
{$IFNDEF kiosk}
ShellExecute (0, nil, 'http://www.amazon.com', nil, nil, SW_SHOWNORMAL);
{$ENDIF}
end;







procedure Tverify.cancelClick(Sender: TObject);
begin
osk(false,false);
modalresult:=mrCancel;
end;

procedure Tverify.nextClick(Sender: TObject);
begin
osk(false,false);
modalresult:=mrOK;

end;

procedure Tverify.FormResize(Sender: TObject);
var
spacing : integer;
begin

verify.color:=clblack;
lbpanel.color:=clblack;
spacing := aspx(40);
settitle.font.color:=FONTCOL;
next.font.color:=FONTCOL;
cancel1.font.color:=FONTCOL;
cancel1.width:=aspx(150);
//OK.font.color:=FONTCOL;
//cancel1.font.color:=FONTCOL;
//setcover.font.color:=FONTCOL;

lab.autosize:=true;
lab.Font.size:=aspx(16);
lab.font.color:=FONTCOL;
lab.font.name:=JUKEBOXFONT;
lab.Caption:='Please verify the track titles and correct if necessary';
lab.left:=0;
lab.top:=spacing;
lab.AutoSize:=false;
lab.width:=width;
lab.alignment:=taCenter;

lbpanel.top:=lab.top+lab.height+aspy(10);
lbpanel.height:=height-lbpanel.top-((spacing*2)+titleedit.height);
lbpanel.width:=width-(cancel1.width+spacing*2);
lbpanel.left:=spacing;
titleedit.font.color:=clgray;
lb.top:=0;
lb.left:=0;
lb.height:=lbpanel.height;
lb.width:=lbpanel.width;

lb.font.color:=clgray;
lb.font.name:=JUKEBOXFONT;
lb.font.size:=aspx(15);
lb.linespacing:=1.5;

titleedit.Font.size:=aspx(16);
titleedit.left:=spacing;
titleedit.top:=lbpanel.top+lbpanel.height+spacing;
titleedit.width:=width div 2;

settitle.font.size:=aspx(16);
settitle.top:=titleedit.top;
settitle.left:=titleedit.left+titleedit.width+spacing;

next.font.size:=aspx(16);
next.top:=lbpanel.top;
next.left:=lbpanel.left+lbpanel.width+spacing;

cancel1.font.size:=aspx(16);
cancel1.left:=next.left;
cancel1.top:=next.top+next.height+spacing;

end;

procedure Tverify.FormCreate(Sender: TObject);
begin
doublebuffered:=true;
end;

procedure Tverify.FormPaint(Sender: TObject);
begin
dobg(self);
end;

end.