{******************************************************************************* Unit: fpccfg.pas contains Form_FpcCfg *******************************************************************************} {******************************************************************************* LazUpdater runs SVN Update/Checkout, Make and Strip for FPC and Lazarus. Copyright (C) 2010 Ingo Steiniger 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 3 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 General Public License along with this program; if not, see . *******************************************************************************} unit fpccfg; {$mode objfpc}{$H+} interface uses Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, Menus, ExtCtrls, StdCtrls, IniFiles; var FpcCfgPath:String; type { TForm_FpcCfg } TForm_FpcCfg = class(TForm) MainMenu1: TMainMenu; Memo_FpcCfg: TMemo; MenuItem1: TMenuItem; MenuItem2: TMenuItem; MenuItem3: TMenuItem; MenuItem4: TMenuItem; MenuItem5: TMenuItem; MenuItem6: TMenuItem; MenuItem7: TMenuItem; MenuItem8: TMenuItem; MenuItem9: TMenuItem; SaveDi: TSaveDialog; procedure FormCloseQuery(Sender: TObject; var CanClose: boolean); procedure FormShow(Sender: TObject); procedure MenuItem3Click(Sender: TObject); procedure MenuItem5Click(Sender: TObject); procedure MenuItem6Click(Sender: TObject); procedure MenuItem7Click(Sender: TObject); procedure MenuItem8Click(Sender: TObject); procedure MenuItem9Click(Sender: TObject); private { private declarations } public { public declarations } end; var Form_FpcCfg: TForm_FpcCfg; implementation {$R *.lfm} { TForm_FpcCfg } uses gvars; var myINI:TInifile; //Save procedure TForm_FpcCfg.MenuItem3Click(Sender: TObject); var s:String; begin if FpcCfgPath<>'' then begin s:=ExtractFilePath(FpcCfgPath); if not DirectoryExists(s) then ForceDirectories(s); Memo_FpcCfg.Lines.SaveToFile(FpcCfgPath); Memo_FpcCfg.Modified:=false; ShowMessage(rsFileSaved); end else begin MenuItem9.Click; end; end; //OnCloseQuery procedure TForm_FpcCfg.FormCloseQuery(Sender: TObject; var CanClose: boolean); var s:String; begin myINI:=TINIFile.Create(LUConfigFile); myINI.WriteInteger('EWindow', 'Left', Left); myINI.WriteInteger('EWindow', 'Top', Top); myINI.WriteInteger('EWindow', 'Width', Width); myINI.WriteInteger('EWindow', 'Height', Height); myINI.Free; if Memo_FpcCfg.Modified then begin case MessageDlg(rsSaveModified, mtConfirmation, [mbYes, mbNo, mbCancel], 0) of mrYes: begin s:=ExtractFilePath(FpcCfgPath); if not DirectoryExists(s) then ForceDirectories(s); Memo_FpcCfg.Lines.SaveToFile(FpcCfgPath); CanClose:=True; end; mrNo: begin CanClose:=True; end; mrCancel: begin CanClose:=False; end; end; end else begin CanClose:=True; end; end; procedure TForm_FpcCfg.FormShow(Sender: TObject); begin myINI:=TINIFile.Create(LUConfigFile); //-Edit-Window Left:=myINI.ReadInteger('EWindow', 'Left', 10); Top:=myINI.ReadInteger('EWindow', 'Top', 10); Width:=myINI.ReadInteger('EWindow', 'Width', 580); Height:=myINI.ReadInteger('EWindow', 'Height', 500); myINI.Free; end; //Close procedure TForm_FpcCfg.MenuItem5Click(Sender: TObject); begin Close; end; procedure TForm_FpcCfg.MenuItem6Click(Sender: TObject); begin Memo_FpcCfg.CutToClipboard; end; procedure TForm_FpcCfg.MenuItem7Click(Sender: TObject); begin Memo_FpcCfg.CutToClipboard; end; procedure TForm_FpcCfg.MenuItem8Click(Sender: TObject); begin Memo_FpcCfg.PasteFromClipboard; end; //save as procedure TForm_FpcCfg.MenuItem9Click(Sender: TObject); var s:String; begin s:=ExtractFilePath(FpcCfgPath); SaveDi.InitialDir:=s; if SaveDi.Execute then begin Memo_FpcCfg.Lines.SaveToFile(SaveDi.FileName); Memo_FpcCfg.Modified:=false; ShowMessage(rsFileSaved); end; end; end.