You've already forked lazarus-ccr
jvcllaz: In JvTimeFramework demo, make first day of week and prime time settings user-configurable.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7116 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
@ -22,9 +22,9 @@ object MainForm: TMainForm
|
|||||||
Height = 515
|
Height = 515
|
||||||
Top = 73
|
Top = 73
|
||||||
Width = 477
|
Width = 477
|
||||||
ActivePage = TabSheet3
|
ActivePage = TabSheet1
|
||||||
Align = alClient
|
Align = alClient
|
||||||
TabIndex = 2
|
TabIndex = 0
|
||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
object TabSheet1: TTabSheet
|
object TabSheet1: TTabSheet
|
||||||
Caption = 'Day View'
|
Caption = 'Day View'
|
||||||
|
@ -161,6 +161,13 @@ begin
|
|||||||
JvTFDays1.FancyRowHdrAttr.Hr2400 := Hr2400;
|
JvTFDays1.FancyRowHdrAttr.Hr2400 := Hr2400;
|
||||||
JvTFDays1.SelFancyRowHdrAttr.Hr2400 := Hr2400;
|
JvTFDays1.SelFancyRowHdrAttr.Hr2400 := Hr2400;
|
||||||
JvTFDaysPrinter1.FancyRowHdrAttr.Hr2400 := Hr2400;
|
JvTFDaysPrinter1.FancyRowHdrAttr.Hr2400 := Hr2400;
|
||||||
|
|
||||||
|
JvTFWeeks1.StartOfWeek := FirstDayOfWeek;
|
||||||
|
JvTFMonths1.StartOfWeek := FirstDayOfWeek;
|
||||||
|
|
||||||
|
JvTFDays1.PrimeTime.StartTime := PrimeTimeStart;
|
||||||
|
JvTFDays1.PrimeTime.EndTime := PrimeTimeEnd;
|
||||||
|
JvTFDays1.PrimeTime.Color := PrimeTimeColor;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -779,6 +786,10 @@ begin
|
|||||||
DaysCombo.ItemIndex := ini.ReadInteger('MainForm', 'DaysCombo', 0);
|
DaysCombo.ItemIndex := ini.ReadInteger('MainForm', 'DaysCombo', 0);
|
||||||
|
|
||||||
GlobalSettings.Hr2400 := ini.ReadBool('Settings', 'Hr2400', GlobalSettings.Hr2400);
|
GlobalSettings.Hr2400 := ini.ReadBool('Settings', 'Hr2400', GlobalSettings.Hr2400);
|
||||||
|
GlobalSettings.FirstDayOfWeek := TTFDayofWeek(ini.ReadInteger('Settings', 'FirstDayOfWeek', ord(GlobalSettings.FirstDayOfWeek)));
|
||||||
|
GlobalSettings.PrimeTimeStart := ini.ReadTime('Settings', 'PrimeTimeStart', GlobalSettings.PrimeTimeStart);
|
||||||
|
GlobalSettings.PrimeTimeEnd := ini.ReadTime('Settings', 'PrimeTimeEnd', GlobalSettings.PrimeTimeEnd);
|
||||||
|
GlobalSettings.PrimeTimeColor := TColor(ini.ReadInteger('Settings', 'PrimeTimeColor', Integer(GlobalSettings.PrimeTimeColor)));
|
||||||
ApplySettings;
|
ApplySettings;
|
||||||
finally
|
finally
|
||||||
ini.Free;
|
ini.Free;
|
||||||
@ -798,6 +809,10 @@ begin
|
|||||||
ini.WriteInteger('MainForm', 'DaysCombo', DaysCombo.ItemIndex);
|
ini.WriteInteger('MainForm', 'DaysCombo', DaysCombo.ItemIndex);
|
||||||
|
|
||||||
ini.WriteBool('Settings', 'Hr2400', GlobalSettings.Hr2400);
|
ini.WriteBool('Settings', 'Hr2400', GlobalSettings.Hr2400);
|
||||||
|
ini.WriteInteger('Settings', 'FirstDayOfWeek', ord(GlobalSettings.FirstDayOfWeek));
|
||||||
|
ini.WriteTime('Settings', 'PrimeTimeStart', GlobalSettings.PrimeTimeStart);
|
||||||
|
ini.WriteTime('Settings', 'PrimeTimeEnd', GlobalSettings.PrimeTimeEnd);
|
||||||
|
ini.WriteInteger('Settings', 'PrimeTimeColor', GlobalSettings.PrimeTimeColor);
|
||||||
finally
|
finally
|
||||||
ini.Free;
|
ini.Free;
|
||||||
end;
|
end;
|
||||||
|
@ -7,7 +7,9 @@ object SettingsForm: TSettingsForm
|
|||||||
ClientHeight = 299
|
ClientHeight = 299
|
||||||
ClientWidth = 403
|
ClientWidth = 403
|
||||||
OnClose = FormClose
|
OnClose = FormClose
|
||||||
|
OnCreate = FormCreate
|
||||||
OnShow = FormShow
|
OnShow = FormShow
|
||||||
|
Position = poMainFormCenter
|
||||||
LCLVersion = '2.1.0.0'
|
LCLVersion = '2.1.0.0'
|
||||||
object ButtonPanel1: TButtonPanel
|
object ButtonPanel1: TButtonPanel
|
||||||
Left = 6
|
Left = 6
|
||||||
@ -36,6 +38,17 @@ object SettingsForm: TSettingsForm
|
|||||||
ClientHeight = 253
|
ClientHeight = 253
|
||||||
ClientWidth = 403
|
ClientWidth = 403
|
||||||
TabOrder = 1
|
TabOrder = 1
|
||||||
|
object Bevel1: TBevel
|
||||||
|
AnchorSideTop.Control = edPrimeTimeStart
|
||||||
|
AnchorSideBottom.Control = edPrimeTimeEnd
|
||||||
|
AnchorSideBottom.Side = asrBottom
|
||||||
|
Left = 288
|
||||||
|
Height = 50
|
||||||
|
Top = 62
|
||||||
|
Width = 37
|
||||||
|
Anchors = [akTop, akLeft, akBottom]
|
||||||
|
Shape = bsSpacer
|
||||||
|
end
|
||||||
object cbTimeFormat: TComboBox
|
object cbTimeFormat: TComboBox
|
||||||
AnchorSideTop.Control = Panel1
|
AnchorSideTop.Control = Panel1
|
||||||
Left = 132
|
Left = 132
|
||||||
@ -67,5 +80,108 @@ object SettingsForm: TSettingsForm
|
|||||||
FocusControl = cbTimeFormat
|
FocusControl = cbTimeFormat
|
||||||
ParentColor = False
|
ParentColor = False
|
||||||
end
|
end
|
||||||
|
object lblFirstDayOfWeek: TLabel
|
||||||
|
AnchorSideTop.Control = cbFirstDayOfWeek
|
||||||
|
AnchorSideTop.Side = asrCenter
|
||||||
|
AnchorSideRight.Control = lblTimeFormat
|
||||||
|
AnchorSideRight.Side = asrBottom
|
||||||
|
Left = 36
|
||||||
|
Height = 15
|
||||||
|
Top = 39
|
||||||
|
Width = 88
|
||||||
|
Anchors = [akTop, akRight]
|
||||||
|
Caption = 'First day of week'
|
||||||
|
FocusControl = cbFirstDayOfWeek
|
||||||
|
ParentColor = False
|
||||||
|
end
|
||||||
|
object cbFirstDayOfWeek: TComboBox
|
||||||
|
AnchorSideLeft.Control = cbTimeFormat
|
||||||
|
AnchorSideTop.Control = cbTimeFormat
|
||||||
|
AnchorSideTop.Side = asrBottom
|
||||||
|
AnchorSideRight.Control = cbTimeFormat
|
||||||
|
AnchorSideRight.Side = asrBottom
|
||||||
|
Left = 132
|
||||||
|
Height = 23
|
||||||
|
Top = 35
|
||||||
|
Width = 124
|
||||||
|
Anchors = [akTop, akLeft, akRight]
|
||||||
|
BorderSpacing.Top = 4
|
||||||
|
ItemHeight = 15
|
||||||
|
Style = csDropDownList
|
||||||
|
TabOrder = 1
|
||||||
|
end
|
||||||
|
object edPrimeTimeStart: TTimeEdit
|
||||||
|
AnchorSideLeft.Control = cbTimeFormat
|
||||||
|
AnchorSideTop.Control = cbFirstDayOfWeek
|
||||||
|
AnchorSideTop.Side = asrBottom
|
||||||
|
Left = 132
|
||||||
|
Height = 23
|
||||||
|
Top = 62
|
||||||
|
Width = 103
|
||||||
|
ButtonWidth = 23
|
||||||
|
BorderSpacing.Top = 4
|
||||||
|
NumGlyphs = 1
|
||||||
|
MaxLength = 0
|
||||||
|
TabOrder = 2
|
||||||
|
Text = 'edPrimeTimeStart'
|
||||||
|
end
|
||||||
|
object edPrimeTimeEnd: TTimeEdit
|
||||||
|
AnchorSideLeft.Control = cbTimeFormat
|
||||||
|
AnchorSideTop.Control = edPrimeTimeStart
|
||||||
|
AnchorSideTop.Side = asrBottom
|
||||||
|
Left = 132
|
||||||
|
Height = 23
|
||||||
|
Top = 89
|
||||||
|
Width = 103
|
||||||
|
ButtonWidth = 23
|
||||||
|
BorderSpacing.Top = 4
|
||||||
|
NumGlyphs = 1
|
||||||
|
MaxLength = 0
|
||||||
|
TabOrder = 3
|
||||||
|
Text = 'edPrimeTimeEnd'
|
||||||
|
end
|
||||||
|
object lblPrimeTimeStart: TLabel
|
||||||
|
AnchorSideTop.Control = edPrimeTimeStart
|
||||||
|
AnchorSideTop.Side = asrCenter
|
||||||
|
AnchorSideRight.Control = lblTimeFormat
|
||||||
|
AnchorSideRight.Side = asrBottom
|
||||||
|
Left = 40
|
||||||
|
Height = 15
|
||||||
|
Top = 66
|
||||||
|
Width = 84
|
||||||
|
Anchors = [akTop, akRight]
|
||||||
|
Caption = 'Prime time start'
|
||||||
|
ParentColor = False
|
||||||
|
end
|
||||||
|
object lblPrimeTimeEnd: TLabel
|
||||||
|
AnchorSideTop.Control = edPrimeTimeEnd
|
||||||
|
AnchorSideTop.Side = asrCenter
|
||||||
|
AnchorSideRight.Control = lblTimeFormat
|
||||||
|
AnchorSideRight.Side = asrBottom
|
||||||
|
Left = 43
|
||||||
|
Height = 15
|
||||||
|
Top = 93
|
||||||
|
Width = 81
|
||||||
|
Anchors = [akTop, akRight]
|
||||||
|
Caption = 'Prime time end'
|
||||||
|
ParentColor = False
|
||||||
|
end
|
||||||
|
object clbPrimeTimeColor: TColorButton
|
||||||
|
AnchorSideLeft.Control = edPrimeTimeStart
|
||||||
|
AnchorSideLeft.Side = asrBottom
|
||||||
|
AnchorSideTop.Control = Bevel1
|
||||||
|
AnchorSideTop.Side = asrCenter
|
||||||
|
Left = 239
|
||||||
|
Height = 25
|
||||||
|
Top = 75
|
||||||
|
Width = 104
|
||||||
|
BorderSpacing.Left = 4
|
||||||
|
BorderWidth = 2
|
||||||
|
ButtonColorAutoSize = False
|
||||||
|
ButtonColorSize = 16
|
||||||
|
ButtonColor = clBlack
|
||||||
|
Caption = 'Prime time'
|
||||||
|
Margin = 4
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -6,21 +6,44 @@ interface
|
|||||||
|
|
||||||
uses
|
uses
|
||||||
Classes, SysUtils, Forms, Controls, Graphics, Dialogs, ButtonPanel, StdCtrls,
|
Classes, SysUtils, Forms, Controls, Graphics, Dialogs, ButtonPanel, StdCtrls,
|
||||||
ExtCtrls, JvTFDays;
|
ExtCtrls, EditBtn, JvTFUtils, JvTFDays;
|
||||||
|
|
||||||
type
|
type
|
||||||
TGlobalSettings = record
|
TGlobalSettings = record
|
||||||
Hr2400: Boolean;
|
Hr2400: Boolean; // 24 hour or 12 hour AM/PM format
|
||||||
|
FirstDayOfWeek: TTFDayOfWeek;
|
||||||
|
PrimeTimeStart: TTime;
|
||||||
|
PrimeTimeEnd: TTime;
|
||||||
|
PrimeTimeColor: TColor;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
var
|
||||||
|
GlobalSettings: TGlobalSettings = (
|
||||||
|
Hr2400: false;
|
||||||
|
FirstDayOfWeek: dowSunday;
|
||||||
|
PrimeTimeStart: 8 * ONE_HOUR;
|
||||||
|
PrimeTimeEnd: 17 * ONE_HOUR;
|
||||||
|
PrimeTimeColor: $00C4FFFF;
|
||||||
|
);
|
||||||
|
|
||||||
|
type
|
||||||
{ TSettingsForm }
|
{ TSettingsForm }
|
||||||
|
|
||||||
TSettingsForm = class(TForm)
|
TSettingsForm = class(TForm)
|
||||||
|
Bevel1: TBevel;
|
||||||
ButtonPanel1: TButtonPanel;
|
ButtonPanel1: TButtonPanel;
|
||||||
cbTimeFormat: TComboBox;
|
cbTimeFormat: TComboBox;
|
||||||
|
cbFirstDayOfWeek: TComboBox;
|
||||||
|
clbPrimeTimeColor: TColorButton;
|
||||||
|
lblPrimeTimeStart: TLabel;
|
||||||
|
lblPrimeTimeEnd: TLabel;
|
||||||
|
lblFirstDayOfWeek: TLabel;
|
||||||
lblTimeFormat: TLabel;
|
lblTimeFormat: TLabel;
|
||||||
Panel1: TPanel;
|
Panel1: TPanel;
|
||||||
|
edPrimeTimeStart: TTimeEdit;
|
||||||
|
edPrimeTimeEnd: TTimeEdit;
|
||||||
procedure FormClose(Sender: TObject; var CloseAction: TCloseAction);
|
procedure FormClose(Sender: TObject; var CloseAction: TCloseAction);
|
||||||
|
procedure FormCreate(Sender: TObject);
|
||||||
procedure FormShow(Sender: TObject);
|
procedure FormShow(Sender: TObject);
|
||||||
procedure OKButtonClick(Sender: TObject);
|
procedure OKButtonClick(Sender: TObject);
|
||||||
private
|
private
|
||||||
@ -33,10 +56,6 @@ type
|
|||||||
var
|
var
|
||||||
SettingsForm: TSettingsForm;
|
SettingsForm: TSettingsForm;
|
||||||
|
|
||||||
GlobalSettings: TGlobalSettings = (
|
|
||||||
Hr2400: false
|
|
||||||
);
|
|
||||||
|
|
||||||
implementation
|
implementation
|
||||||
|
|
||||||
{$R *.lfm}
|
{$R *.lfm}
|
||||||
@ -44,6 +63,10 @@ implementation
|
|||||||
procedure TSettingsForm.ControlsToSettings;
|
procedure TSettingsForm.ControlsToSettings;
|
||||||
begin
|
begin
|
||||||
GlobalSettings.Hr2400 := cbTimeFormat.ItemIndex = 0;
|
GlobalSettings.Hr2400 := cbTimeFormat.ItemIndex = 0;
|
||||||
|
GlobalSettings.FirstDayOfWeek := TTFDayOfWeek(cbFirstDayOfWeek.ItemIndex);
|
||||||
|
GlobalSettings.PrimeTimeStart := frac(edPrimeTimeStart.Time);
|
||||||
|
GlobalSettings.PrimeTimeEnd := frac(edPrimeTimeEnd.Time);
|
||||||
|
GlobalSettings.PrimeTimeColor := clbPrimeTimeColor.ButtonColor;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TSettingsForm.SettingsToControls;
|
procedure TSettingsForm.SettingsToControls;
|
||||||
@ -52,6 +75,10 @@ begin
|
|||||||
cbTimeFormat.ItemIndex := 0
|
cbTimeFormat.ItemIndex := 0
|
||||||
else
|
else
|
||||||
cbTimeFormat.ItemIndex := 1;
|
cbTimeFormat.ItemIndex := 1;
|
||||||
|
cbFirstDayOfWeek.ItemIndex := ord(GlobalSettings.FirstDayOfWeek);
|
||||||
|
edPrimeTimeStart.Time := GlobalSettings.PrimeTimeStart;
|
||||||
|
edPrimeTimeEnd.Time := GlobalSettings.PrimeTimeEnd;
|
||||||
|
clbPrimeTimeColor.ButtonColor := GlobalSettings.PrimeTimeColor;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TSettingsForm.FormClose(Sender: TObject;
|
procedure TSettingsForm.FormClose(Sender: TObject;
|
||||||
@ -61,6 +88,20 @@ begin
|
|||||||
ControlsToSettings;
|
ControlsToSettings;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TSettingsForm.FormCreate(Sender: TObject);
|
||||||
|
var
|
||||||
|
i: Integer;
|
||||||
|
begin
|
||||||
|
cbFirstDayOfWeek.Items.BeginUpdate;
|
||||||
|
try
|
||||||
|
cbFirstDayOfWeek.Clear;
|
||||||
|
for i:=1 to 7 do
|
||||||
|
cbFirstDayOfWeek.Items.Add(DefaultFormatSettings.LongDayNames[i]);
|
||||||
|
finally
|
||||||
|
cbFirstDayOfWeek.Items.EndUpdate;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TSettingsForm.FormShow(Sender: TObject);
|
procedure TSettingsForm.FormShow(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
FOKPressed := false;
|
FOKPressed := false;
|
||||||
|
Reference in New Issue
Block a user