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