CalLite: Add new option coPersistentSelectedDates
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7604 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
parent
4109836a16
commit
58ee5bae50
@ -76,7 +76,6 @@
|
|||||||
<Linking>
|
<Linking>
|
||||||
<Debugging>
|
<Debugging>
|
||||||
<DebugInfoType Value="dsDwarf2Set"/>
|
<DebugInfoType Value="dsDwarf2Set"/>
|
||||||
<UseExternalDbgSyms Value="True"/>
|
|
||||||
</Debugging>
|
</Debugging>
|
||||||
<Options>
|
<Options>
|
||||||
<Win32>
|
<Win32>
|
||||||
|
@ -320,7 +320,7 @@ object Form1: TForm1
|
|||||||
Left = 49
|
Left = 49
|
||||||
Height = 15
|
Height = 15
|
||||||
Top = 157
|
Top = 157
|
||||||
Width = 88
|
Width = 89
|
||||||
Caption = 'Past/next month'
|
Caption = 'Past/next month'
|
||||||
ParentColor = False
|
ParentColor = False
|
||||||
end
|
end
|
||||||
@ -366,7 +366,7 @@ object Form1: TForm1
|
|||||||
Left = 49
|
Left = 49
|
||||||
Height = 15
|
Height = 15
|
||||||
Top = 229
|
Top = 229
|
||||||
Width = 66
|
Width = 65
|
||||||
Caption = 'Today frame'
|
Caption = 'Today frame'
|
||||||
ParentColor = False
|
ParentColor = False
|
||||||
end
|
end
|
||||||
@ -396,7 +396,7 @@ object Form1: TForm1
|
|||||||
Left = 49
|
Left = 49
|
||||||
Height = 15
|
Height = 15
|
||||||
Top = 253
|
Top = 253
|
||||||
Width = 43
|
Width = 42
|
||||||
Caption = 'Top row'
|
Caption = 'Top row'
|
||||||
ParentColor = False
|
ParentColor = False
|
||||||
end
|
end
|
||||||
@ -647,39 +647,25 @@ object Form1: TForm1
|
|||||||
left = 336
|
left = 336
|
||||||
top = 432
|
top = 432
|
||||||
Bitmap = {
|
Bitmap = {
|
||||||
4C69010000001000000010000000FFFFFF00FFFFFF00FFFFFF0000BBC74800C7
|
4C7A010000001000000010000000330200000000000078DA9D92DF6B526118C7
|
||||||
D3C7FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000BBC74800C7
|
BDCAABEEFA13BC09BAE82FD85DD445D045C56E828211A3CB8C42486ACD1A04B5
|
||||||
D3C7FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000D3DAF630F1
|
A0DCB2C56AD66A3F20D4A5D570181D67D6458394F2276E9EB3A3EE1C7513F528
|
||||||
F3FF00BBC77CFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000D3DAF630F1
|
A27E7B9F338F9C8637F5C017DEF7F97E3F3CCF7939000CE8C9E00F9F3284A361
|
||||||
F3FF00BBC77CFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0007D2D8FF67F5
|
E87AF8173F9A548E57AA6039EBFFF8C6481CA375058722F1EEA0797DFF67AC3B
|
||||||
F6FF06D2D8FEFFFFFF0000BBC74800C7D3C7FFFFFF00FFFFFF0007D2D8FF67F5
|
887FBAF60EC3EB41D87C8B0D8EE392C6480234EF4220546477B7DDF312E73FAF
|
||||||
F6FF06D1D7FEFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0097BCADFF57C4
|
C1B26017F51CF34C4C9325FF2C76BFB950F8300D4551A0CD33466228168B1097
|
||||||
C3FF83B5A8F7C2C2C2DA07D2D9FF30F1F3FF5CBEC5ECC2C2C2B094B19FFF55BF
|
6C903E3A909ABA2213A3F11EEEAB531004C8ABCF500E2E43F64E81CAFEDEA9CE
|
||||||
BCFF78A794E5FFFFFF00FFFFFF00FFFFFF00C2C2C224C2C2C28EEDBB9DFFEFC8
|
9BF0CCA977F1F54DECAC3C4666C60C62343EC005DBAC50FEF21612F32B1B7E35
|
||||||
AFFFE8B696FFF6F6F6FF07D2D8FF67F5F6FF07D2D7FFECECECFFE5A983FFEAB7
|
9F5BBE07E99303E29BDBEABDE0724098BD0129E0C22AB7DED4781F17EAB65A2D
|
||||||
98FFDB9569EBC2C2C224FFFFFF00FFFFFF00B1C2C6A1E3E3E3FFEBB999FFEEC3
|
1C2C71FE1676BC4F20BCB2F47B9D4E079224C1FA3DD5D678F386D0892592A06F
|
||||||
AAFFEBB495FFFFFFFFFF94B3A1FF55BFBCFF86B1A0FFFFFFFFFFE5A37BFFE9B2
|
D08AF6C9BBD9BC171694B815B5572E97F13B9E802F53C0D1B0DCE70F8776DB77
|
||||||
92FFDE9A72FFB1C2C6A1FFFFFF00FFFFFF00BEC2C3FCFCFCFCFFEEC1A6FFEAB2
|
B30DC45269F59DF2F93C367901C2F6F6BEE86D6419E9CD2D3CCF5640596234FE
|
||||||
92FFF1CEBBFFFFFFFFFFE6AA85FFEAB898FFE5A57FFFFFFFFFFFE8AF98FFE39D
|
D858AE3B3A57C4FD740D9C20639EAF60826FF4F59057B028ECE1015F872DAD80
|
||||||
76FFEABEAFFFB9C2C4F8FFFFFF00FFFFFF00B5C2C5FEFAFAFAFFFFFFFFFFFFFF
|
B2C468FC116FA97DF19184B3661123D332AE7AF760FD5153B3243A538F3CCA50
|
||||||
FFFFFFFFFFFFFFFFFFFFE5A47EFFE9B493FFE3A278FFFFFFFFFFFFFFFFFFFDFD
|
9618DDFECD71B6D3F540059767640C5B73383DC2E3C4B92D5574A61E799419DF
|
||||||
FDFFEAEAEAFF7CC9DBFCFFFFFF00FFFFFF0072CEE3FDD7D9DAFFE3E3E3FFFFFF
|
DFBFA9E39D677E557127DBF86BEF41A20C6589D1F126A649A6C6C96815971235
|
||||||
FFFFFFFFFFFFFCFCFCFFE7B098FFE39E78FFEDC2B2FFFFFFFFFFEEEEEEFFD6D8
|
5CCB28186359129DA9471E657A59D3C1FF9FF58698AC4C6EA62453BDA764AF47
|
||||||
D9FFB5DEE8FF29C7EBFCFFFFFF00FFFFFF000DC5EFFC84E1F7FFD7DBDCFFECEC
|
DE909EF9036C470F74
|
||||||
ECFFE7E7E7FFDFE2E3FFE3E4E4FFE3E4E4FFE3E3E3FFEBEBEBFFDCDFE0FF9BE1
|
|
||||||
F1FF84E1F7FF0DC5EFFCFFFFFF00FFFFFF002C80E6FE67A0ECFF89DCF4FFC2E3
|
|
||||||
EBFFA4E2F1FF86E2F7FF86E2F7FF86E2F7FF8DE2F6FFA8E3F0FF8CE2F5FF83DC
|
|
||||||
F6FF67A0ECFF2C80E6FEFFFFFF00FFFFFF0014B4EDFC5F8FEAFF5372E5FF6396
|
|
||||||
EBFF71B4F0FF7CCDF4FF83DCF6FF83DCF6FF7CCDF4FF71B4F0FF6396EBFF5372
|
|
||||||
E5FF5F8FEAFF14B4EDFCFFFFFF00FFFFFF000DC5EFF882E1F7FF75BEF1FF659A
|
|
||||||
EBFF577CE6FF4C63E2FF4554E0FF4554E0FF4C63E2FF577CE6FF659AEBFF75BE
|
|
||||||
F1FF82E1F7FF0DC5EFF8FFFFFF00FFFFFF000DC5EFA14FD5F3FF81E1F7FF86E2
|
|
||||||
F7FF86E2F7FF86E2F7FF86E2F7FF86E2F7FF86E2F7FF86E2F7FF86E2F7FF81E1
|
|
||||||
F7FF4FD5F3FF0DC5EFA1FFFFFF00FFFFFF000DC5EF240DC5EF8E0DC5EFF747D3
|
|
||||||
F3FF60D9F4FF73DEF6FF80E1F7FF80E1F7FF73DEF6FF60D9F4FF47D3F3FF0DC5
|
|
||||||
EFF70DC5EF8E0DC5EF24FFFFFF00FFFFFF00FFFFFF00FFFFFF000DC5EF3E0DC5
|
|
||||||
EF7C0DC5EFB00DC5EFDA0DC5EFF50DC5EFF50DC5EFDA0DC5EFB00DC5EF7C0DC5
|
|
||||||
EF3EFFFFFF00FFFFFF00FFFFFF00
|
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
object PopupMenu1: TPopupMenu
|
object PopupMenu1: TPopupMenu
|
||||||
|
@ -1,11 +1,13 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<CONFIG>
|
<CONFIG>
|
||||||
<ProjectOptions>
|
<ProjectOptions>
|
||||||
<Version Value="11"/>
|
<Version Value="12"/>
|
||||||
<PathDelim Value="\"/>
|
<PathDelim Value="\"/>
|
||||||
<General>
|
<General>
|
||||||
|
<Flags>
|
||||||
|
<CompatibilityMode Value="True"/>
|
||||||
|
</Flags>
|
||||||
<SessionStorage Value="InProjectDir"/>
|
<SessionStorage Value="InProjectDir"/>
|
||||||
<MainUnit Value="0"/>
|
|
||||||
<Title Value="main"/>
|
<Title Value="main"/>
|
||||||
<Scaled Value="True"/>
|
<Scaled Value="True"/>
|
||||||
<ResourceType Value="res"/>
|
<ResourceType Value="res"/>
|
||||||
@ -24,7 +26,6 @@
|
|||||||
</PublishOptions>
|
</PublishOptions>
|
||||||
<RunParams>
|
<RunParams>
|
||||||
<FormatVersion Value="2"/>
|
<FormatVersion Value="2"/>
|
||||||
<Modes Count="0"/>
|
|
||||||
</RunParams>
|
</RunParams>
|
||||||
<RequiredPackages Count="2">
|
<RequiredPackages Count="2">
|
||||||
<Item1>
|
<Item1>
|
||||||
@ -43,6 +44,7 @@
|
|||||||
<Filename Value="selectiondemo.pas"/>
|
<Filename Value="selectiondemo.pas"/>
|
||||||
<IsPartOfProject Value="True"/>
|
<IsPartOfProject Value="True"/>
|
||||||
<ComponentName Value="Form1"/>
|
<ComponentName Value="Form1"/>
|
||||||
|
<HasResources Value="True"/>
|
||||||
<ResourceBaseClass Value="Form"/>
|
<ResourceBaseClass Value="Form"/>
|
||||||
<UnitName Value="SelectionDemo"/>
|
<UnitName Value="SelectionDemo"/>
|
||||||
</Unit1>
|
</Unit1>
|
||||||
|
@ -71,6 +71,20 @@ object Form1: TForm1
|
|||||||
State = cbChecked
|
State = cbChecked
|
||||||
TabOrder = 1
|
TabOrder = 1
|
||||||
end
|
end
|
||||||
|
object CbPersistentSelectedDates: TCheckBox
|
||||||
|
AnchorSideLeft.Control = CbMultiselect
|
||||||
|
AnchorSideLeft.Side = asrBottom
|
||||||
|
AnchorSideTop.Control = CbMultiselect
|
||||||
|
AnchorSideTop.Side = asrCenter
|
||||||
|
Left = 110
|
||||||
|
Height = 19
|
||||||
|
Top = 225
|
||||||
|
Width = 148
|
||||||
|
BorderSpacing.Left = 6
|
||||||
|
Caption = 'Persistent selected dates'
|
||||||
|
OnChange = CbPersistentSelectedDatesChange
|
||||||
|
TabOrder = 2
|
||||||
|
end
|
||||||
end
|
end
|
||||||
object Splitter1: TSplitter
|
object Splitter1: TSplitter
|
||||||
Left = 278
|
Left = 278
|
||||||
|
@ -15,11 +15,13 @@ type
|
|||||||
TForm1 = class(TForm)
|
TForm1 = class(TForm)
|
||||||
CalendarLite1: TCalendarLite;
|
CalendarLite1: TCalendarLite;
|
||||||
CbMultiselect: TCheckBox;
|
CbMultiselect: TCheckBox;
|
||||||
|
CbPersistentSelectedDates: TCheckBox;
|
||||||
ListBox1: TListBox;
|
ListBox1: TListBox;
|
||||||
Panel1: TPanel;
|
Panel1: TPanel;
|
||||||
Splitter1: TSplitter;
|
Splitter1: TSplitter;
|
||||||
procedure CalendarLite1DateChange(Sender: TObject);
|
procedure CalendarLite1DateChange(Sender: TObject);
|
||||||
procedure CbMultiselectChange(Sender: TObject);
|
procedure CbMultiselectChange(Sender: TObject);
|
||||||
|
procedure CbPersistentSelectedDatesChange(Sender: TObject);
|
||||||
private
|
private
|
||||||
|
|
||||||
public
|
public
|
||||||
@ -56,5 +58,13 @@ begin
|
|||||||
CalendarLite1.MultiSelect := cbMultiSelect.Checked;
|
CalendarLite1.MultiSelect := cbMultiSelect.Checked;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TForm1.CbPersistentSelectedDatesChange(Sender: TObject);
|
||||||
|
begin
|
||||||
|
if CbPersistentSelectedDates.Checked then
|
||||||
|
CalendarLite1.Options := CalendarLite1.Options + [coPersistentSelectedDates]
|
||||||
|
else
|
||||||
|
CalendarLite1.Options := CalendarLite1.Options - [coPersistentSelectedDates];
|
||||||
|
end;
|
||||||
|
|
||||||
end.
|
end.
|
||||||
|
|
||||||
|
@ -88,7 +88,8 @@ type
|
|||||||
TCalOption = (coBoldDayNames, coBoldHolidays, coBoldToday, coBoldTopRow,
|
TCalOption = (coBoldDayNames, coBoldHolidays, coBoldToday, coBoldTopRow,
|
||||||
coBoldWeekend, coDayLine, coShowBorder, coShowHolidays,
|
coBoldWeekend, coDayLine, coShowBorder, coShowHolidays,
|
||||||
coShowTodayFrame, coShowTodayName, coShowTodayRow,
|
coShowTodayFrame, coShowTodayName, coShowTodayRow,
|
||||||
coShowWeekend, coShowDayNames, coShowTopRow, coUseTopRowColors
|
coShowWeekend, coShowDayNames, coShowTopRow, coUseTopRowColors,
|
||||||
|
coPersistentSelectedDates
|
||||||
);
|
);
|
||||||
TCalOptions = set of TCalOption;
|
TCalOptions = set of TCalOption;
|
||||||
|
|
||||||
@ -1503,6 +1504,7 @@ begin
|
|||||||
case ASelMode of
|
case ASelMode of
|
||||||
smFirstSingle:
|
smFirstSingle:
|
||||||
begin
|
begin
|
||||||
|
if not (coPersistentSelectedDates in FOptions) then
|
||||||
FSelDates.Clear;
|
FSelDates.Clear;
|
||||||
FSelDates.AddDate(ADate);
|
FSelDates.AddDate(ADate);
|
||||||
FPrevDate := ADate;
|
FPrevDate := ADate;
|
||||||
@ -1518,7 +1520,7 @@ begin
|
|||||||
begin
|
begin
|
||||||
if (DayOfWeek(ADate) in [ord(dowSunday), ord(dowSaturday)]) then
|
if (DayOfWeek(ADate) in [ord(dowSunday), ord(dowSaturday)]) then
|
||||||
exit;
|
exit;
|
||||||
if ASelMode = smFirstWeek then
|
if (ASelMode = smFirstWeek) and not (coPersistentSelectedDates in FOptions) then
|
||||||
FSelDates.Clear;
|
FSelDates.Clear;
|
||||||
// Collect all weekdays
|
// Collect all weekdays
|
||||||
if ASelMode = smNextWeekRange then begin
|
if ASelMode = smNextWeekRange then begin
|
||||||
@ -1546,7 +1548,7 @@ begin
|
|||||||
|
|
||||||
smFirstRange, smNextRange:
|
smFirstRange, smNextRange:
|
||||||
begin
|
begin
|
||||||
if (ASelMode = smFirstRange) then
|
if (ASelMode = smFirstRange) and not (coPersistentSelectedDates in FOptions) then
|
||||||
FSelDates.Clear;
|
FSelDates.Clear;
|
||||||
if FPrevDate < ADate then begin
|
if FPrevDate < ADate then begin
|
||||||
d1 := FPrevDate + ord(ASelMode = smNextRange);
|
d1 := FPrevDate + ord(ASelMode = smNextRange);
|
||||||
@ -1971,6 +1973,7 @@ begin
|
|||||||
oldMonth := MonthOf(FDate);
|
oldMonth := MonthOf(FDate);
|
||||||
FDate := AValue;
|
FDate := AValue;
|
||||||
FPrevDate := AValue;
|
FPrevDate := AValue;
|
||||||
|
if not (coPersistentSelectedDates in FOptions) then
|
||||||
FSelDates.Clear;
|
FSelDates.Clear;
|
||||||
DateChange;
|
DateChange;
|
||||||
if MonthOf(FDate) <> oldMonth then
|
if MonthOf(FDate) <> oldMonth then
|
||||||
|
Loading…
Reference in New Issue
Block a user