~aleteoryx/muditaos

ref: 4f0c3c82afe3811fa66c9110038b946c6d903d68 muditaos/module-apps/application-alarm-clock/presenter/AlarmClockEditWindowPresenter.cpp -rw-r--r-- 1.4 KiB
4f0c3c82 — Piotr Tański [EGD-6209] Tethering confirmation popup added 4 years ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
// Copyright (c) 2017-2020, Mudita Sp. z.o.o. All rights reserved.
// For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md

#include "AlarmClockEditWindowPresenter.hpp"

namespace app::alarmClock
{
    AlarmClockEditWindowPresenter::AlarmClockEditWindowPresenter(
        std::shared_ptr<AlarmsInternalListItemProvider> itemProvider)
        : alarmFieldsProvider{std::move(itemProvider)}
    {}

    std::shared_ptr<gui::ListItemProvider> AlarmClockEditWindowPresenter::getAlarmsItemProvider() const
    {
        return alarmFieldsProvider;
    }

    void AlarmClockEditWindowPresenter::loadData(std::shared_ptr<AlarmsRecord> record)
    {
        alarmFieldsProvider->loadData(std::move(record));
    }

    void AlarmClockEditWindowPresenter::saveData(std::shared_ptr<AlarmsRecord> record, AlarmAction action)
    {
        alarmFieldsProvider->saveData(std::move(record), action);
    }

    void AlarmClockEditWindowPresenter::loadRepeat(std::shared_ptr<AlarmsRecord> record)
    {
        alarmFieldsProvider->loadRepeat(std::move(record));
    }

    void AlarmClockEditWindowPresenter::updateRepeat(std::shared_ptr<AlarmsRecord> record, WeekDaysRepeatData data)
    {
        auto parser     = std::make_unique<OptionParser>();
        auto uniqueData = std::make_unique<WeekDaysRepeatData>(data);
        record->repeat  = parser->getDatabaseFieldValue(std::move(uniqueData));
    }
} // namespace app::alarmClock