shift-shell/initialstart/modules/time/timeutil.h
Marco Allegretti f22514528b Show timezone selection feedback
Keep the selected timezone visible in the wizard and update it before applying the system timezone.

Filter by city or zone name and report timedatectl failures without discarding the staged choice.
2026-05-11 10:03:20 +02:00

44 lines
1.2 KiB
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(QString timeZoneStatus READ timeZoneStatus NOTIFY timeZoneStatusChanged);
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);
QString timeZoneStatus() const;
TimeZoneFilterProxy *timeZones() const;
Q_SIGNALS:
void is24HourTimeChanged();
void currentTimeZoneChanged();
void timeZoneStatusChanged();
private:
bool m_is24HourTime = false;
QString m_currentTimeZone;
QString m_timeZoneStatus;
TimeZoneModel *m_timeZoneModel;
TimeZoneFilterProxy *m_filterModel;
};