shift-shell/initialstart/modules/time/timeutil.h
Devin Lin 5c0fd57600 initialstart: Add first login experience
Adds an experience for users on first login, allowing some basic configuration.

This is separate from a first start wizard, which would run as a separate user with elevated permissions, and include options that an installer would have.
2023-04-01 07:09:57 +00:00

38 lines
978 B
C++

// SPDX-FileCopyrightText: 2023 by Devin Lin <devin@kde.org>
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
#include <QObject>
#include <QProcess>
#include "timezonemodel.h"
class TimeUtil : public QObject
{
Q_OBJECT
Q_PROPERTY(bool is24HourTime READ is24HourTime WRITE setIs24HourTime NOTIFY is24HourTimeChanged);
Q_PROPERTY(QString currentTimeZone READ currentTimeZone WRITE setCurrentTimeZone NOTIFY currentTimeZoneChanged);
Q_PROPERTY(TimeZoneFilterProxy *timeZones READ timeZones CONSTANT);
public:
TimeUtil(QObject *parent = nullptr);
bool is24HourTime() const;
void setIs24HourTime(bool is24HourTime);
QString currentTimeZone() const;
void setCurrentTimeZone(QString timeZone);
TimeZoneFilterProxy *timeZones() const;
Q_SIGNALS:
void is24HourTimeChanged();
void currentTimeZoneChanged();
private:
bool m_is24HourTime;
TimeZoneModel *m_timeZoneModel;
TimeZoneFilterProxy *m_filterModel;
};