mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 07:38:10 +00:00
LibGUI: Add Calendar property for mode
If a user selects Year as the default view mode for Calendar app, then all apps using Calendar widget will default to this view if not manually overridden with a Calendar::toggle_mode call. This commit introduces a "mode" property that allows the selection of the default mode for the calendar widget in GML files. In this way there is no need to manually call toggle_mode when constructing UIs with Calendar widget.
This commit is contained in:
parent
1153068407
commit
71a784741f
3 changed files with 13 additions and 0 deletions
|
@ -64,6 +64,10 @@ Calendar::Calendar(Core::DateTime date_time, Mode mode)
|
||||||
}
|
}
|
||||||
|
|
||||||
update_tiles(m_selected_date.year(), m_selected_date.month());
|
update_tiles(m_selected_date.year(), m_selected_date.month());
|
||||||
|
|
||||||
|
REGISTER_ENUM_PROPERTY("mode", this->mode, this->set_mode, Calendar::Mode,
|
||||||
|
{ Calendar::Mode::Month, "Month" },
|
||||||
|
{ Calendar::Mode::Year, "Year" });
|
||||||
}
|
}
|
||||||
|
|
||||||
void Calendar::set_grid(bool show)
|
void Calendar::set_grid(bool show)
|
||||||
|
@ -85,6 +89,13 @@ void Calendar::toggle_mode()
|
||||||
invalidate_layout();
|
invalidate_layout();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Calendar::set_mode(Mode mode)
|
||||||
|
{
|
||||||
|
if (mode != m_mode) {
|
||||||
|
toggle_mode();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void Calendar::show_previous_date()
|
void Calendar::show_previous_date()
|
||||||
{
|
{
|
||||||
unsigned view_month = m_view_month;
|
unsigned view_month = m_view_month;
|
||||||
|
|
|
@ -66,6 +66,7 @@ public:
|
||||||
ErrorOr<String> formatted_date(Format format = LongMonthYear);
|
ErrorOr<String> formatted_date(Format format = LongMonthYear);
|
||||||
|
|
||||||
Mode mode() const { return m_mode; }
|
Mode mode() const { return m_mode; }
|
||||||
|
void set_mode(Mode);
|
||||||
void toggle_mode();
|
void toggle_mode();
|
||||||
|
|
||||||
void update_tiles(unsigned year, unsigned month);
|
void update_tiles(unsigned year, unsigned month);
|
||||||
|
|
|
@ -30,6 +30,7 @@
|
||||||
|
|
||||||
@GUI::Calendar {
|
@GUI::Calendar {
|
||||||
name: "calendar_view"
|
name: "calendar_view"
|
||||||
|
mode: "Month"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue