0,0 → 1,223 |
unit main; |
|
interface |
|
uses |
Windows, SysUtils, Classes, Graphics, Forms, Controls, Menus, |
StdCtrls, Dialogs, Buttons, Messages, ExtCtrls, ComCtrls, StdActns, |
ActnList, ToolWin, ImgList, ShellAPI; |
|
type |
TMainForm = class(TForm) |
MainMenu1: TMainMenu; |
Window1: TMenuItem; |
Help1: TMenuItem; |
WindowCascadeItem: TMenuItem; |
WindowTileItem: TMenuItem; |
WindowArrangeItem: TMenuItem; |
HelpAboutItem: TMenuItem; |
WindowMinimizeItem: TMenuItem; |
StatusBar: TStatusBar; |
ActionList1: TActionList; |
FileKategorien1: TAction; |
FileExit1: TAction; |
WindowCascade1: TWindowCascade; |
WindowTileHorizontal1: TWindowTileHorizontal; |
WindowArrangeAll1: TWindowArrange; |
WindowMinimizeAll1: TWindowMinimizeAll; |
HelpAbout1: TAction; |
WindowTileVertical1: TWindowTileVertical; |
WindowTileItem2: TMenuItem; |
ToolBar2: TToolBar; |
ToolButton3: TToolButton; |
ToolButton9: TToolButton; |
ToolButton8: TToolButton; |
ToolButton10: TToolButton; |
ToolButton11: TToolButton; |
N1: TMenuItem; |
Beenden1: TMenuItem; |
Kategorie1: TMenuItem; |
N2: TMenuItem; |
JournalOpen: TMenuItem; |
Timer1: TTimer; |
Timer2: TTimer; |
Neu1: TMenuItem; |
AufUpdatesprfen1: TMenuItem; |
FileNeu1: TAction; |
FileJournal1: TAction; |
ToolButton1: TToolButton; |
ToolButton2: TToolButton; |
HelpUpdates1: TAction; |
ImageList2: TImageList; |
procedure FileKategorien1Execute(Sender: TObject); |
procedure HelpAbout1Execute(Sender: TObject); |
procedure FileExit1Execute(Sender: TObject); |
procedure FormCreate(Sender: TObject); |
procedure JournalOpenClick(Sender: TObject); |
procedure Timer1Timer(Sender: TObject); |
procedure Timer2Timer(Sender: TObject); |
procedure FormResize(Sender: TObject); |
procedure Neu1Click(Sender: TObject); |
procedure AufUpdates1Click(Sender: TObject); |
private |
CloseTimerInitialized: boolean; |
CloseTimerMin: Integer; |
end; |
|
var |
MainForm: TMainForm; |
|
implementation |
|
{$R *.dfm} |
|
uses |
about, categories, global, journal; |
|
procedure TMainForm.FileKategorien1Execute(Sender: TObject); |
begin |
openCategoriesWindow(); |
end; |
|
procedure TMainForm.HelpAbout1Execute(Sender: TObject); |
begin |
AboutBox.ShowModal; |
end; |
|
procedure TMainForm.JournalOpenClick(Sender: TObject); |
var |
i: integer; |
somethingfound: boolean; |
begin |
somethingfound := false; |
|
for i := Screen.FormCount - 1 downto 0 do |
begin |
if Screen.Forms[i] is TMDIJournalForm then |
begin |
Screen.Forms[i].BringToFront; |
Screen.Forms[i].WindowState := wsNormal; |
somethingfound := true; |
break; |
end |
end; |
|
if not somethingfound then |
begin |
TMDIJournalForm.Create(Application); |
end; |
end; |
|
procedure TMainForm.Neu1Click(Sender: TObject); |
var |
i: integer; |
somethingfound: boolean; |
begin |
somethingfound := false; |
|
for i := Screen.FormCount - 1 downto 0 do |
begin |
if Screen.Forms[i] is TMDICategories then |
begin |
TMDICategories(Screen.Forms[i]).DoNew; |
somethingfound := true; |
break; |
end |
end; |
|
if not somethingfound then |
begin |
newDialog(''); // Aus der Wurzel erstellen |
end; |
end; |
|
procedure TMainForm.Timer1Timer(Sender: TObject); |
begin |
// timer1.Enabled := false; |
|
if not CloseTimerInitialized then |
begin |
CloseTimerMin := Screen.FormCount; |
end; |
|
if Screen.FormCount <= CloseTimerMin then |
begin |
if not CloseTimerInitialized then |
begin |
Kategorie1.Click; // Im OnShow ist das Ergebnis anders (Fenster zu klein, schwarze Ränder an abgerundeten Fensterkanten) |
end |
else |
begin |
if CfgOpenCatWhenEverythingClosed then Kategorie1.Click; // Das Fenster soll immer geöffnet werden, wenn alles andere geschlossen ist |
end; |
end; |
|
if not CloseTimerInitialized then |
begin |
CloseTimerInitialized := true; |
end; |
end; |
|
procedure TMainForm.Timer2Timer(Sender: TObject); |
begin |
StatusBar.Panels.Items[1].Text := DateTimeToStr(Now()); |
end; |
|
procedure TMainForm.AufUpdates1Click(Sender: TObject); |
const |
abbreviation = 'stackman'; |
thisversion = '5.1'; |
resourcestring |
lng_no_new_version = 'Es ist keine neue Programmversion vorhanden.'; |
lng_update_error = 'Ein Fehler ist aufgetreten. Wahrscheinlich ist keine Internetverbindung aufgebaut, oder der der ViaThinkSoft-Server temporär offline.'; |
lng_caption_error = 'Fehler'; |
lng_caption_information = 'Information'; |
lng_update_new_version = 'Eine neue Programmversion (%s) ist vorhanden. Möchten Sie diese jetzt herunterladen?'; |
const |
url_comparison = 'http://www.viathinksoft.de/update/?id=%s&expect_version=%s'; |
url_version = 'http://www.viathinksoft.de/update/?id=%s'; |
url_download = 'http://www.viathinksoft.de/update/?id=@%s'; |
res_nothing = 'NO_UPDATES'; |
res_updates = 'UPDATE_AVAILABLE'; |
var |
temp: string; |
begin |
temp := GetHTML(Format(url_comparison, [abbreviation, thisversion])); |
|
if temp = res_nothing then |
begin |
Application.MessageBox(PChar(lng_no_new_version), PChar(lng_caption_information), MB_OK + MB_ICONASTERISK); |
end |
else if temp = res_updates then |
begin |
temp := GetHTML(Format(url_version, [abbreviation])); |
if Application.MessageBox(PChar(Format(lng_update_new_version, [temp])), PChar(lng_caption_information), MB_YESNO + MB_ICONASTERISK) = ID_YES then |
begin |
ShellExecute(application.handle, 'open', pchar(Format(url_download, [abbreviation])), '', '', sw_normal); |
end; |
end |
else |
begin |
Application.MessageBox(PChar(lng_update_error), PChar(lng_caption_error), MB_OK + MB_ICONERROR) |
end; |
end; |
|
procedure TMainForm.FileExit1Execute(Sender: TObject); |
begin |
Close; |
end; |
|
procedure TMainForm.FormCreate(Sender: TObject); |
begin |
if not DirectoryExists(getDataPath()) then |
begin |
ForceDirectories(getDataPath()); |
end; |
end; |
|
procedure TMainForm.FormResize(Sender: TObject); |
begin |
StatusBar.Panels.Items[0].Width := StatusBar.Width - StatusBar.Panels.Items[1].Width; |
end; |
|
end. |