tvplanit: Improvement of vertical alignment in various forms

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4956 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
wp_xxyyzz
2016-07-14 15:26:55 +00:00
parent 1c77c991c8
commit bc4e7a1be7
15 changed files with 270 additions and 104 deletions

View File

@ -9,6 +9,9 @@
<Title Value="demo"/>
<ResourceType Value="res"/>
<UseXPManifest Value="True"/>
<XPManifest>
<DpiAware Value="True"/>
</XPManifest>
</General>
<i18n>
<EnableI18N Value="True"/>
@ -65,6 +68,9 @@
<UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/>
</SearchPaths>
<Linking>
<Debugging>
<UseExternalDbgSyms Value="True"/>
</Debugging>
<Options>
<Win32>
<GraphicApplication Value="True"/>

View File

@ -25,9 +25,9 @@ object MainForm: TMainForm
Height = 532
Top = 48
Width = 780
ActivePage = TabSettings
ActivePage = TabEvents
Align = alClient
TabIndex = 4
TabIndex = 0
TabOrder = 0
object TabEvents: TTabSheet
Caption = 'Events'

View File

@ -108,6 +108,7 @@ type
FActiveView: Integer;
FVisibleDays: Integer;
procedure PopulateLanguages;
procedure PositionControls;
procedure SetActiveView(AValue: Integer);
procedure SetLanguage(ALang: String); overload;
procedure SetLanguage(AIndex: Integer); overload;
@ -487,6 +488,38 @@ begin
end;
end;
procedure TMainForm.PositionControls;
var
w: Integer;
begin
// Settings page
w := MaxValue([
GetLabelWidth(LblLanguage),
GetLabelWidth(LblTimeFormat),
GetLabelWidth(LblFirstDayOfWeek),
GetLabelWidth(LblAddressBuilder)
]);
CbLanguages.Left := 24 + w + 8;
CbTimeFormat.Left := CbLanguages.Left;
CbFirstDayOfWeek.Left := CbLanguages.Left;
CbAddressBuilder.Left := CbLanguages.Left;
LblLanguage.Left := CbLanguages.Left - 8 - GetLabelWidth(LblLanguage);
LblTimeFormat.Left := CbTimeFormat.Left - 8 - GetLabelWidth(LblTimeFormat);
LblFirstDayOfWeek.Left := CbFirstDayOfWeek.Left - 8 - GetLabelWidth(LblFirstDayOfWeek);
LblAddressBuilder.Left := CbAddressBuilder.Left - 8 - GetLabelWidth(LblAddressBuilder);
CbAllowInplaceEditing.Left := CbLanguages.Left + CbLanguages.Width + 32;
w := GetLabelWidth(LblDrawingStyle);
lblDrawingStyle.Left := CbAllowInplaceEditing.Left;
CbDrawingStyle.Left := LblDrawingStyle.Left + w + 8;
// Planner pages
DaysTrackbar.Left := GetLabelWidth(LblVisibleDays) + LblVisibleDays.Left + 8;
LblGranularity.Left := DaysTrackbar.Left + DaysTrackbar.Width + 32;
CbGranularity.Left := LblGranularity.Left + GetLabelWidth(LblGranularity) + 8;
RbHideCompletedTasks.Left := RbAllTasks.Left + RbAllTasks.Width + 48;
end;
procedure TMainForm.RbAllTasksChange(Sender: TObject);
begin
VpTaskList1.DisplayOptions.ShowAll := RbAllTasks.Checked;
@ -725,23 +758,6 @@ begin
CbDrawingStyle.Items.Add(RS3d);
CbDrawingStyle.Items.Add(RSBorderless);
DaysTrackbar.Left := GetLabelWidth(LblVisibleDays) + LblVisibleDays.Left + 8;
LblGranularity.Left := DaysTrackbar.Left + DaysTrackbar.Width + 32;
CbGranularity.Left := LblGranularity.Left + GetLabelWidth(LblGranularity) + 8;
w := MaxValue([GetLabelWidth(LblLanguage), GetLabelWidth(LblTimeFormat), GetLabelWidth(LblFirstDayOfWeek)]);
CbLanguages.Left := 24 + w + 8;
LblLanguage.Left := CbLanguages.Left - 8 - GetLabelWidth(LblLanguage);
CbTimeFormat.Left := CbLanguages.Left;
LblTimeFormat.Left := CbTimeFormat.Left - 8 - GetLabelWidth(LblTimeFormat);
CbFirstDayOfWeek.Left := CbLanguages.Left;
LblFirstDayOfWeek.Left := CbFirstDayOfWeek.Left - 8 - GetLabelWidth(LblFirstDayOfWeek);
CbAddressBuilder.Left := CbLanguages.Left;
LblAddressBuilder.Left := CbAddressBuilder.Left - 8 - GetLabelWidth(LblAddressBuilder);
CbAllowInplaceEditing.Left := CbLanguages.Left + CbLanguages.Width + 32;
LblDrawingStyle.Left := CbAllowInplaceEditing.Left;
CbDrawingStyle.Left := LblDrawingStyle.Left + GetLabelWidth(LblDrawingStyle) + 8;
RbHideCompletedTasks.Left := RbAllTasks.Left + RbAllTasks.Width + 48;
// Next settings work correctly only for Windows.
{$IFDEF WINDOWS}
UpdateFormatSettings(ALang);
@ -759,6 +775,8 @@ begin
VpWeekView1.WeekStartsOn := firstWeekDay;
{$ENDIF}
PositionControls;
SetActiveView(1001);
Invalidate;
end;