Fluid
Loading...
Searching...
No Matches
timeselector.h
Go to the documentation of this file.
1/*
2 * This file is part of Fluid.
3 *
4 * Copyright (C) 2018 Pier Luigi Fiorini <pierluigi.fiorini@gmail.com>
5 *
6 * $BEGIN_LICENSE:MPL2$
7 *
8 * This Source Code Form is subject to the terms of the Mozilla Public
9 * License, v. 2.0. If a copy of the MPL was not distributed with this
10 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
11 *
12 * $END_LICENSE$
13 */
14
15#pragma once
16
17#include <QQuickItem>
18#include <QTime>
19
20class TimeSelector : public QQuickItem
21{
22 Q_OBJECT
23 Q_PROPERTY(Mode mode READ mode WRITE setMode NOTIFY modeChanged FINAL)
24 Q_PROPERTY(TimeMode timeMode READ timeMode WRITE setTimeMode NOTIFY timeModeChanged FINAL)
25 Q_PROPERTY(bool prefer24Hour READ prefer24Hour WRITE setPrefer24Hour NOTIFY prefer24HourChanged FINAL)
26 Q_PROPERTY(QQuickItem *circle READ circle WRITE setCircle NOTIFY circleChanged FINAL)
27 Q_PROPERTY(QTime selectedTime READ selectedTime WRITE setSelectedTime NOTIFY selectedTimeChanged FINAL)
28 QML_ELEMENT
29public:
36 Q_ENUM(Mode)
37
38 enum TimeMode {
40 PM
41 };
42 Q_ENUM(TimeMode)
43
44 explicit TimeSelector(QQuickItem *parent = nullptr);
45
46 Mode mode() const;
47 void setMode(Mode mode);
48
49 TimeMode timeMode() const;
51
52 bool prefer24Hour() const;
53 void setPrefer24Hour(bool value);
54
55 QQuickItem *circle() const;
56 void setCircle(QQuickItem *circle);
57
58 QTime selectedTime() const;
59 void setSelectedTime(const QTime &time);
60
61Q_SIGNALS:
67
68private:
69 Mode m_mode = None;
70 TimeMode m_timeMode = AM;
71 bool m_prefer24Hour = true;
72 QQuickItem *m_circle = nullptr;
73 QTime m_selectedTime;
74};
75
76QML_DECLARE_TYPE(TimeSelector)
77
Definition TimeSelector.qml:19
Mode mode
Definition timeselector.h:23
void circleChanged()
bool prefer24Hour
Definition timeselector.h:25
QTime selectedTime
Definition timeselector.h:27
void setPrefer24Hour(bool value)
Definition timeselector.cpp:56
void setMode(Mode mode)
Definition timeselector.cpp:28
void prefer24HourChanged()
void setSelectedTime(const QTime &time)
Definition timeselector.cpp:88
void timeModeChanged()
TimeMode
Definition timeselector.h:38
@ AM
Definition timeselector.h:39
@ PM
Definition timeselector.h:40
Mode
Definition timeselector.h:30
@ Hour
Definition timeselector.h:32
@ Second
Definition timeselector.h:34
@ None
Definition timeselector.h:31
@ Minute
Definition timeselector.h:33
void setTimeMode(TimeMode timeMode)
Definition timeselector.cpp:42
QQuickItem * circle
Definition timeselector.h:26
void modeChanged()
void selectedTimeChanged()
void setCircle(QQuickItem *circle)
Definition timeselector.cpp:70
TimeMode timeMode
Definition timeselector.h:24