#include "RepeatAndReminderItem.hpp" #include "application-calendar/widgets/CalendarStyle.hpp" #include #include namespace gui { RepeatAndReminderItem::RepeatAndReminderItem() { activeItem = false; setEdges(RectangleEdgeFlags::GUI_RECT_EDGE_NO_EDGES); setMinimumSize(style::window::default_body_width, style::window::calendar::item::repeatAndReminder::height); hBox = new HBox(this, 0, 0, 0, 0); hBox->setEdges(RectangleEdgeFlags::GUI_RECT_EDGE_NO_EDGES); repeatVBox = new VBox(hBox, 0, 0, 0, 0); repeatVBox->setMinimumSize(style::window::default_body_width / 2, style::window::calendar::item::repeatAndReminder::height); repeatVBox->setEdges(RectangleEdgeFlags::GUI_RECT_EDGE_NO_EDGES); reminderVBox = new VBox(hBox, 0, 0, 0, 0); reminderVBox->setMinimumSize(style::window::default_body_width / 2, style::window::calendar::item::repeatAndReminder::height); reminderVBox->setEdges(RectangleEdgeFlags::GUI_RECT_EDGE_NO_EDGES); repeatTitle = new gui::Label(repeatVBox, 0, 0, 0, 0); repeatTitle->setMinimumSize(style::window::calendar::item::repeatAndReminder::description_w, style::window::calendar::item::repeatAndReminder::title_label_h); repeatTitle->setMargins( gui::Margins(0, 0, 0, style::window::calendar::item::repeatAndReminder::title_label_margin)); repeatTitle->setEdges(RectangleEdgeFlags::GUI_RECT_EDGE_NO_EDGES); repeatTitle->setFont(style::window::font::small); repeatTitle->setAlignment(gui::Alignment{gui::Alignment::Horizontal::Left, gui::Alignment::Vertical::Center}); repeatTitle->setLineMode(true); repeatTitle->activeItem = false; repeat = new gui::Label(repeatVBox, 0, 0, 0, 0); repeat->setMinimumSize(style::window::calendar::item::repeatAndReminder::description_w, style::window::calendar::item::repeatAndReminder::description_h); repeat->setEdges(RectangleEdgeFlags::GUI_RECT_EDGE_NO_EDGES); repeat->setFont(style::window::font::small); repeat->setAlignment(gui::Alignment{gui::Alignment::Horizontal::Left, gui::Alignment::Vertical::Center}); repeat->activeItem = false; reminderTitle = new gui::Label(reminderVBox, 0, 0, 0, 0); reminderTitle->setMinimumSize(style::window::default_body_width / 2, style::window::calendar::item::repeatAndReminder::title_label_h); reminderTitle->setMargins( gui::Margins(0, 0, 0, style::window::calendar::item::repeatAndReminder::title_label_margin)); reminderTitle->setEdges(RectangleEdgeFlags::GUI_RECT_EDGE_NO_EDGES); reminderTitle->setFont(style::window::font::small); reminderTitle->setAlignment(gui::Alignment{gui::Alignment::Horizontal::Left, gui::Alignment::Vertical::Center}); reminderTitle->setLineMode(true); reminderTitle->activeItem = false; reminder = new gui::Label(reminderVBox, 0, 0, 0, 0); reminder->setMinimumSize(style::window::default_body_width / 2, style::window::calendar::item::repeatAndReminder::description_h); reminder->setEdges(RectangleEdgeFlags::GUI_RECT_EDGE_NO_EDGES); reminder->setFont(style::window::font::small); reminder->setAlignment(gui::Alignment{gui::Alignment::Horizontal::Left, gui::Alignment::Vertical::Center}); reminder->activeItem = false; descriptionHandler(); } bool RepeatAndReminderItem::onDimensionChanged(const BoundingBox &oldDim, const BoundingBox &newDim) { hBox->setPosition(0, 0); hBox->setSize(newDim.w, newDim.h); return true; } void RepeatAndReminderItem::descriptionHandler() { repeatTitle->setText(utils::localize.get("app_calendar_event_detail_repeat")); reminderTitle->setText(utils::localize.get("app_calendar_event_detail_reminder")); onLoadCallback = [&]() { repeat->setText(utils::localize.get("app_calendar_repeat_daily")); reminder->setText(utils::localize.get("app_calendar_reminder_1_week_before")); }; } } /* namespace gui */