Foobot Monitor to V0.0.3.0

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@5577 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
gbamber
2016-12-30 16:24:25 +00:00
parent 3ea13ad773
commit 176aff8ff1
9 changed files with 112 additions and 60 deletions

View File

@ -52,7 +52,7 @@ function FetchAuthenticationKey(aUsername, aUserPassword: string): boolean;
// Populates FoobotIdentityObject.TFoobotIdentityList collection // Populates FoobotIdentityObject.TFoobotIdentityList collection
function FetchFoobotIdentity(aUsername, aSecretKey: string): boolean; function FetchFoobotIdentity(aUsername, aSecretKey: string): boolean;
// Populates FoobotIdentityObject // Populates FoobotDataObject
function FetchFoobotData(DataFetchType: TDataFetchType = dfLast; function FetchFoobotData(DataFetchType: TDataFetchType = dfLast;
iCurrentFoobot: integer = 0; iLastIntervalSeconds: integer = 3600; iCurrentFoobot: integer = 0; iLastIntervalSeconds: integer = 3600;
iLastAverageBySeconds: integer = 0; iStartTimeSeconds: int64 = 0; iLastAverageBySeconds: integer = 0; iStartTimeSeconds: int64 = 0;

View File

@ -19,7 +19,7 @@
</General> </General>
<VersionInfo> <VersionInfo>
<UseVersionInfo Value="True"/> <UseVersionInfo Value="True"/>
<RevisionNr Value="2"/> <RevisionNr Value="3"/>
<StringTable ProductVersion="0.0.1.0"/> <StringTable ProductVersion="0.0.1.0"/>
</VersionInfo> </VersionInfo>
<BuildModes Count="6"> <BuildModes Count="6">

View File

@ -10,7 +10,7 @@
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<EditorIndex Value="6"/> <EditorIndex Value="6"/>
<CursorPos X="33" Y="25"/> <CursorPos X="33" Y="25"/>
<UsageCount Value="39"/> <UsageCount Value="40"/>
<Loaded Value="True"/> <Loaded Value="True"/>
</Unit0> </Unit0>
<Unit1> <Unit1>
@ -19,8 +19,10 @@
<ComponentName Value="mainform"/> <ComponentName Value="mainform"/>
<HasResources Value="True"/> <HasResources Value="True"/>
<ResourceBaseClass Value="Form"/> <ResourceBaseClass Value="Form"/>
<CursorPos Y="20"/> <IsVisibleTab Value="True"/>
<UsageCount Value="39"/> <TopLine Value="18"/>
<CursorPos X="13" Y="26"/>
<UsageCount Value="40"/>
<Loaded Value="True"/> <Loaded Value="True"/>
<LoadedDesigner Value="True"/> <LoadedDesigner Value="True"/>
</Unit1> </Unit1>
@ -32,7 +34,7 @@
<ResourceBaseClass Value="Form"/> <ResourceBaseClass Value="Form"/>
<EditorIndex Value="1"/> <EditorIndex Value="1"/>
<CursorPos X="2" Y="20"/> <CursorPos X="2" Y="20"/>
<UsageCount Value="29"/> <UsageCount Value="30"/>
<Loaded Value="True"/> <Loaded Value="True"/>
</Unit2> </Unit2>
<Unit3> <Unit3>
@ -42,7 +44,7 @@
<WindowIndex Value="-1"/> <WindowIndex Value="-1"/>
<TopLine Value="-1"/> <TopLine Value="-1"/>
<CursorPos X="-1" Y="-1"/> <CursorPos X="-1" Y="-1"/>
<UsageCount Value="21"/> <UsageCount Value="22"/>
</Unit3> </Unit3>
<Unit4> <Unit4>
<Filename Value="..\foobot_objects.pas"/> <Filename Value="..\foobot_objects.pas"/>
@ -51,14 +53,14 @@
<WindowIndex Value="-1"/> <WindowIndex Value="-1"/>
<TopLine Value="-1"/> <TopLine Value="-1"/>
<CursorPos X="-1" Y="-1"/> <CursorPos X="-1" Y="-1"/>
<UsageCount Value="21"/> <UsageCount Value="22"/>
</Unit4> </Unit4>
<Unit5> <Unit5>
<Filename Value="..\foobot_utility.pas"/> <Filename Value="..\foobot_utility.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<EditorIndex Value="4"/> <EditorIndex Value="4"/>
<CursorPos Y="27"/> <CursorPos Y="27"/>
<UsageCount Value="39"/> <UsageCount Value="40"/>
<Loaded Value="True"/> <Loaded Value="True"/>
</Unit5> </Unit5>
<Unit6> <Unit6>
@ -68,21 +70,21 @@
<WindowIndex Value="-1"/> <WindowIndex Value="-1"/>
<TopLine Value="-1"/> <TopLine Value="-1"/>
<CursorPos X="-1" Y="-1"/> <CursorPos X="-1" Y="-1"/>
<UsageCount Value="21"/> <UsageCount Value="22"/>
</Unit6> </Unit6>
<Unit7> <Unit7>
<Filename Value="..\latest_stable\foobot_httpclient.pas"/> <Filename Value="..\latest_stable\foobot_httpclient.pas"/>
<IsVisibleTab Value="True"/>
<EditorIndex Value="2"/> <EditorIndex Value="2"/>
<TopLine Value="43"/>
<CursorPos X="47" Y="13"/> <CursorPos X="47" Y="13"/>
<UsageCount Value="38"/> <UsageCount Value="39"/>
<Loaded Value="True"/> <Loaded Value="True"/>
</Unit7> </Unit7>
<Unit8> <Unit8>
<Filename Value="..\latest_stable\foobot_objects.pas"/> <Filename Value="..\latest_stable\foobot_objects.pas"/>
<EditorIndex Value="5"/> <EditorIndex Value="5"/>
<CursorPos X="32" Y="61"/> <CursorPos X="32" Y="61"/>
<UsageCount Value="38"/> <UsageCount Value="39"/>
<Loaded Value="True"/> <Loaded Value="True"/>
</Unit8> </Unit8>
<Unit9> <Unit9>
@ -118,7 +120,7 @@
<EditorIndex Value="3"/> <EditorIndex Value="3"/>
<TopLine Value="134"/> <TopLine Value="134"/>
<CursorPos X="25" Y="154"/> <CursorPos X="25" Y="154"/>
<UsageCount Value="18"/> <UsageCount Value="19"/>
<Loaded Value="True"/> <Loaded Value="True"/>
</Unit13> </Unit13>
<Unit14> <Unit14>
@ -152,123 +154,123 @@
<JumpHistory Count="30" HistoryIndex="29"> <JumpHistory Count="30" HistoryIndex="29">
<Position1> <Position1>
<Filename Value="umainform.pas"/> <Filename Value="umainform.pas"/>
<Caret Line="189" Column="3" TopLine="187"/> <Caret Line="165" Column="48" TopLine="145"/>
</Position1> </Position1>
<Position2> <Position2>
<Filename Value="umainform.pas"/> <Filename Value="umainform.pas"/>
<Caret Line="190" Column="3" TopLine="188"/> <Caret Line="153" Column="47" TopLine="132"/>
</Position2> </Position2>
<Position3> <Position3>
<Filename Value="umainform.pas"/> <Filename Value="umainform.pas"/>
<Caret Line="191" Column="3" TopLine="189"/> <Caret Line="105" Column="54" TopLine="80"/>
</Position3> </Position3>
<Position4> <Position4>
<Filename Value="umainform.pas"/> <Filename Value="umainform.pas"/>
<Caret Line="192" Column="3" TopLine="190"/> <Caret Line="106" Column="54" TopLine="81"/>
</Position4> </Position4>
<Position5> <Position5>
<Filename Value="umainform.pas"/> <Filename Value="umainform.pas"/>
<Caret Line="193" Column="3" TopLine="191"/> <Caret Line="107" Column="54" TopLine="82"/>
</Position5> </Position5>
<Position6> <Position6>
<Filename Value="umainform.pas"/> <Filename Value="umainform.pas"/>
<Caret Line="15" Column="3" TopLine="4"/> <Caret Line="127" Column="37" TopLine="93"/>
</Position6> </Position6>
<Position7> <Position7>
<Filename Value="umainform.pas"/> <Filename Value="umainform.pas"/>
<Caret Line="13" Column="15"/> <Caret Line="202" Column="22" TopLine="197"/>
</Position7> </Position7>
<Position8> <Position8>
<Filename Value="umainform.pas"/> <Filename Value="umainform.pas"/>
<Caret Line="14" Column="6"/> <Caret Line="127" Column="17" TopLine="105"/>
</Position8> </Position8>
<Position9> <Position9>
<Filename Value="umainform.pas"/> <Filename Value="umainform.pas"/>
<Caret Line="208" TopLine="204"/> <Caret Line="207" Column="44" TopLine="184"/>
</Position9> </Position9>
<Position10> <Position10>
<Filename Value="umainform.pas"/> <Filename Value="umainform.pas"/>
<Caret Line="216" TopLine="212"/> <Caret Line="289" Column="22" TopLine="286"/>
</Position10> </Position10>
<Position11> <Position11>
<Filename Value="umainform.pas"/> <Filename Value="umainform.pas"/>
<Caret Line="223" Column="28" TopLine="220"/> <Caret Line="216" Column="38" TopLine="194"/>
</Position11> </Position11>
<Position12> <Position12>
<Filename Value="umainform.pas"/> <Filename Value="umainform.pas"/>
<Caret Line="236" Column="29" TopLine="233"/> <Caret Line="130" Column="22" TopLine="107"/>
</Position12> </Position12>
<Position13> <Position13>
<Filename Value="umainform.pas"/> <Filename Value="umainform.pas"/>
<Caret Line="163" Column="48" TopLine="143"/> <Caret Line="131" Column="22" TopLine="108"/>
</Position13> </Position13>
<Position14> <Position14>
<Filename Value="umainform.pas"/> <Filename Value="umainform.pas"/>
<Caret Line="165" Column="48" TopLine="145"/> <Caret Line="132" Column="22" TopLine="109"/>
</Position14> </Position14>
<Position15> <Position15>
<Filename Value="umainform.pas"/> <Filename Value="umainform.pas"/>
<Caret Line="153" Column="47" TopLine="132"/> <Caret Line="134" Column="22" TopLine="111"/>
</Position15> </Position15>
<Position16> <Position16>
<Filename Value="umainform.pas"/> <Filename Value="umainform.pas"/>
<Caret Line="105" Column="54" TopLine="80"/> <Caret Line="216" Column="17" TopLine="205"/>
</Position16> </Position16>
<Position17> <Position17>
<Filename Value="umainform.pas"/> <Filename Value="umainform.pas"/>
<Caret Line="106" Column="54" TopLine="81"/> <Caret Line="134" TopLine="113"/>
</Position17> </Position17>
<Position18> <Position18>
<Filename Value="umainform.pas"/> <Filename Value="umainform.pas"/>
<Caret Line="107" Column="54" TopLine="82"/> <Caret Line="208" Column="10" TopLine="201"/>
</Position18> </Position18>
<Position19> <Position19>
<Filename Value="umainform.pas"/> <Filename Value="umainform.pas"/>
<Caret Line="127" Column="37" TopLine="93"/> <Caret Line="209" Column="10" TopLine="202"/>
</Position19> </Position19>
<Position20> <Position20>
<Filename Value="umainform.pas"/> <Filename Value="umainform.pas"/>
<Caret Line="202" Column="22" TopLine="197"/> <Caret Line="226" TopLine="203"/>
</Position20> </Position20>
<Position21> <Position21>
<Filename Value="umainform.pas"/> <Filename Value="umainform.pas"/>
<Caret Line="127" Column="17" TopLine="105"/> <Caret Line="271" Column="5" TopLine="251"/>
</Position21> </Position21>
<Position22> <Position22>
<Filename Value="umainform.pas"/> <Filename Value="umainform.pas"/>
<Caret Line="207" Column="44" TopLine="184"/> <Caret Line="289" Column="57" TopLine="284"/>
</Position22> </Position22>
<Position23> <Position23>
<Filename Value="umainform.pas"/> <Filename Value="umainform.pas"/>
<Caret Line="289" Column="22" TopLine="286"/> <Caret Line="280" Column="3" TopLine="278"/>
</Position23> </Position23>
<Position24> <Position24>
<Filename Value="umainform.pas"/> <Filename Value="umainform.pas"/>
<Caret Line="216" Column="38" TopLine="194"/> <Caret Line="286" Column="3" TopLine="284"/>
</Position24> </Position24>
<Position25> <Position25>
<Filename Value="umainform.pas"/> <Filename Value="umainform.pas"/>
<Caret Line="130" Column="22" TopLine="107"/> <Caret Line="287" Column="3" TopLine="285"/>
</Position25> </Position25>
<Position26> <Position26>
<Filename Value="umainform.pas"/> <Filename Value="umainform.pas"/>
<Caret Line="131" Column="22" TopLine="108"/> <Caret Line="286" Column="3" TopLine="284"/>
</Position26> </Position26>
<Position27> <Position27>
<Filename Value="umainform.pas"/> <Filename Value="umainform.pas"/>
<Caret Line="132" Column="22" TopLine="109"/> <Caret Line="287" Column="3" TopLine="285"/>
</Position27> </Position27>
<Position28> <Position28>
<Filename Value="umainform.pas"/> <Filename Value="umainform.pas"/>
<Caret Line="134" Column="22" TopLine="111"/> <Caret Line="294" Column="3" TopLine="292"/>
</Position28> </Position28>
<Position29> <Position29>
<Filename Value="umainform.pas"/> <Filename Value="umainform.pas"/>
<Caret Line="216" Column="17" TopLine="205"/> <Caret Line="283" Column="15" TopLine="281"/>
</Position29> </Position29>
<Position30> <Position30>
<Filename Value="umainform.pas"/> <Filename Value="umainform.pas"/>
<Caret Line="134" TopLine="113"/> <Caret Line="11" Column="19" TopLine="7"/>
</Position30> </Position30>
</JumpHistory> </JumpHistory>
</ProjectSession> </ProjectSession>

View File

@ -9,7 +9,7 @@
[Setup] [Setup]
AppName=Foobot Monitor AppName=Foobot Monitor
AppVersion=0.0.2.0 AppVersion=0.0.3.0
DefaultDirName={pf}\foobotmonitor DefaultDirName={pf}\foobotmonitor
DefaultGroupName=Foobot DefaultGroupName=Foobot
UninstallDisplayIcon={app}\foobotmonitor.exe UninstallDisplayIcon={app}\foobotmonitor.exe
@ -41,3 +41,6 @@ Source: "..\compiled\win32\foobotmonitor.exe"; DestDir: "{app}"; Flags: solidbre
[Icons] [Icons]
Name: "{group}\Foobot"; Filename: "{app}\foobotmonitor.exe" Name: "{group}\Foobot"; Filename: "{app}\foobotmonitor.exe"
[Run]
Filename: "{app}\foobotmonitor.exe"; WorkingDir: "{app}"; Flags: postinstall runascurrentuser; Description: "Start Foobot Monitor now"; StatusMsg: "Start Foobot Monitor now"

View File

@ -1,7 +1,7 @@
object mainform: Tmainform object mainform: Tmainform
Left = 615 Left = 614
Height = 262 Height = 262
Top = 154 Top = 109
Width = 782 Width = 782
BorderIcons = [biSystemMenu, biMinimize] BorderIcons = [biSystemMenu, biMinimize]
BorderStyle = bsSingle BorderStyle = bsSingle
@ -145,7 +145,7 @@ object mainform: Tmainform
Top = 120 Top = 120
Width = 782 Width = 782
Align = alTop Align = alTop
Caption = 'Highs and Lows' Caption = 'All-time Highs and Lows'
ChildSizing.EnlargeHorizontal = crsHomogenousChildResize ChildSizing.EnlargeHorizontal = crsHomogenousChildResize
ChildSizing.EnlargeVertical = crsScaleChilds ChildSizing.EnlargeVertical = crsScaleChilds
ChildSizing.ControlsPerLine = 6 ChildSizing.ControlsPerLine = 6
@ -333,11 +333,9 @@ object mainform: Tmainform
end end
object mnu_options: TMenuItem object mnu_options: TMenuItem
Caption = '&Options' Caption = '&Options'
object mnu_optionsShowHighsAndLows: TMenuItem object mnu_optionsMinimiseToTray: TMenuItem
AutoCheck = True Caption = 'Minimise to tray'
Caption = 'Show Highs and Lows' OnClick = mnu_optionsMinimiseToTrayClick
Checked = True
OnClick = mnu_optionsShowHighsAndLowsClick
end end
object mnu_optionsTakeReadingNow: TMenuItem object mnu_optionsTakeReadingNow: TMenuItem
Caption = 'Take reading now' Caption = 'Take reading now'
@ -374,15 +372,31 @@ object mainform: Tmainform
OnClick = mnu_SampleEvery24HoursClick OnClick = mnu_SampleEvery24HoursClick
end end
end end
object mnu_optionsSeperator1: TMenuItem
Caption = '-'
end
object mnu_optionsShowHighsAndLows: TMenuItem
AutoCheck = True
Caption = 'Show All-time Highs and Lows'
Checked = True
OnClick = mnu_optionsShowHighsAndLowsClick
end
object mnu_optionsSaveHighLows: TMenuItem object mnu_optionsSaveHighLows: TMenuItem
AutoCheck = True AutoCheck = True
Caption = 'Save/Load High-Lows to disk' Caption = 'Record All-time High/Lows'
Checked = True Checked = True
OnClick = mnu_optionsSaveHighLowsClick OnClick = mnu_optionsSaveHighLowsClick
end end
object mnu_optionsMinimiseToTray: TMenuItem end
Caption = 'Minimise to tray' object mnu_help: TMenuItem
OnClick = mnu_optionsMinimiseToTrayClick Caption = '&Help'
object mnu_optionsOnlineHelp: TMenuItem
Caption = 'Online Help'
OnClick = mnu_optionsOnlineHelpClick
end
object mnu_helpAbout: TMenuItem
Caption = 'A&bout..'
OnClick = mnu_helpAboutClick
end end
end end
end end

View File

@ -22,7 +22,8 @@ VERSION HISTORY
=============== ===============
V0.0.1.0: Initial commit V0.0.1.0: Initial commit
V0.0.2.0: Trayicon added V0.0.2.0: Trayicon added
V0.0.3.0: ?? V0.0.3.0: Added Help menu. Updated Options menu
V0.0.4.0: ??
} }
{$mode objfpc}{$H+} {$mode objfpc}{$H+}
@ -31,7 +32,7 @@ interface
uses uses
Classes, SysUtils, FileUtil, Sensors, Forms, Controls, Graphics, Dialogs, Classes, SysUtils, FileUtil, Sensors, Forms, Controls, Graphics, Dialogs,
ExtCtrls, StdCtrls, Menus, foobot_utility, uCryptIni, Variants, dateutils, ExtCtrls, StdCtrls, Menus, lclIntf,foobot_utility, uCryptIni, Variants, dateutils,
uconfigform; uconfigform;
CONST CONST
@ -75,6 +76,10 @@ type
lbl_voclow: TLabel; lbl_voclow: TLabel;
lbl_allpollulow: TLabel; lbl_allpollulow: TLabel;
MainMenu1: TMainMenu; MainMenu1: TMainMenu;
mnu_optionsOnlineHelp: TMenuItem;
mnu_optionsSeperator1: TMenuItem;
mnu_helpAbout: TMenuItem;
mnu_help: TMenuItem;
mnupopup_fileRestore: TMenuItem; mnupopup_fileRestore: TMenuItem;
mnu_pupupClose: TMenuItem; mnu_pupupClose: TMenuItem;
mnu_optionsMinimiseToTray: TMenuItem; mnu_optionsMinimiseToTray: TMenuItem;
@ -100,7 +105,9 @@ type
procedure FormWindowStateChange(Sender: TObject); procedure FormWindowStateChange(Sender: TObject);
procedure mnupopup_fileRestoreClick(Sender: TObject); procedure mnupopup_fileRestoreClick(Sender: TObject);
procedure mnu_fileExitClick(Sender: TObject); procedure mnu_fileExitClick(Sender: TObject);
procedure mnu_helpAboutClick(Sender: TObject);
procedure mnu_optionsMinimiseToTrayClick(Sender: TObject); procedure mnu_optionsMinimiseToTrayClick(Sender: TObject);
procedure mnu_optionsOnlineHelpClick(Sender: TObject);
procedure mnu_optionsSaveHighLowsClick(Sender: TObject); procedure mnu_optionsSaveHighLowsClick(Sender: TObject);
procedure mnu_optionsShowHighsAndLowsClick(Sender: TObject); procedure mnu_optionsShowHighsAndLowsClick(Sender: TObject);
procedure mnu_optionsTakeReadingNowClick(Sender: TObject); procedure mnu_optionsTakeReadingNowClick(Sender: TObject);
@ -245,12 +252,38 @@ begin
Close; Close;
end; end;
procedure Tmainform.mnu_helpAboutClick(Sender: TObject);
var
s: string;
begin
s := Application.Title + LineEnding;
s += 'Version: ' + INI.ReadUnencryptedString('ProgramInfo', IDENT_APPVERSION, '') +
LineEnding + LineEnding;
s += INI.ReadUnencryptedString('ProgramInfo', IDENT_COPYRIGHT, '');
s += ' by ' + INI.ReadUnencryptedString('ProgramInfo', IDENT_AUTHOR, '') + LineEnding;
s += 'Licence: ' + INI.ReadUnencryptedString('ProgramInfo', IDENT_LICENSE, '') +
LineEnding;
s += 'Made with LCL v ' + INI.ReadUnencryptedString('ProgramInfo',
IDENT_LCLVERSION, '');
s += ' FPC v ' + INI.ReadUnencryptedString('ProgramInfo', IDENT_FPCVERSION, '') +
LineEnding;
s += 'Compiled ' + INI.ReadUnencryptedString('ProgramInfo', IDENT_LASTCOMPILED, '') +
LineEnding;
s += ' for ' + INI.ReadUnencryptedString('ProgramInfo', IDENT_TARGET, '');
MessageDlg('About ' + Application.Title, s,
mtInformation, [mbOK], 0);
end;
procedure Tmainform.mnu_optionsMinimiseToTrayClick(Sender: TObject); procedure Tmainform.mnu_optionsMinimiseToTrayClick(Sender: TObject);
begin begin
mainform.WindowState:=wsMinimized; mainform.WindowState:=wsMinimized;
mainform.FormWindowStateChange(Self); mainform.FormWindowStateChange(Self);
end; end;
procedure Tmainform.mnu_optionsOnlineHelpClick(Sender: TObject);
begin
OpenURL('http://wiki.freepascal.org/Foobot');
end;
procedure Tmainform.mnu_optionsSaveHighLowsClick(Sender: TObject); procedure Tmainform.mnu_optionsSaveHighLowsClick(Sender: TObject);
begin begin
SaveLoadHighLows:=mnu_optionsSaveHighLows.Checked; SaveLoadHighLows:=mnu_optionsSaveHighLows.Checked;
@ -262,7 +295,7 @@ begin
if mnu_optionsShowHighsAndLows.Checked then if mnu_optionsShowHighsAndLows.Checked then
mainform.ClientHeight := grp_sensorDisplay.Height + grp_highlow.Height + iFudgeFactor mainform.ClientHeight := grp_sensorDisplay.Height + grp_highlow.Height + iFudgeFactor
else else
mainform.ClientHeight := grp_sensorDisplay.Height + iFudgeFactor; mainform.ClientHeight := grp_sensorDisplay.Height;// + iFudgeFactor;
bShowHighsAndLows := mnu_optionsShowHighsAndLows.Checked; bShowHighsAndLows := mnu_optionsShowHighsAndLows.Checked;
end; end;