MythTV master
playgroup.h
Go to the documentation of this file.
1#ifndef PLAYGROUP_H
2#define PLAYGROUP_H
3
4#include "libmythbase/mythconfig.h"
5
6#include <QStringList>
7
10
11class ProgramInfo;
12
14{
15 public:
16 static QStringList GetNames(void);
17 static int GetCount(void);
18 static QString GetInitialName(const ProgramInfo *pi);
19 static int GetSetting(const QString &name, const QString &field,
20 int defval);
21 template <typename T>
22 static T GetDurSetting(const QString &name, const QString &field, T defval)
23#if HAVE_IS_DURATION_V
24 requires (std::chrono::__is_duration_v<T>)
25#else
26 requires (std::chrono::__is_duration<T>::value)
27#endif
28 { return T(GetSetting(name, field, static_cast<int>(defval.count()))); }
29};
30
32{
33 Q_OBJECT
34
35 public:
36 PlayGroupEditor(void);
37 void Load(void) override; // StandardSetting
38
39 public slots:
40 void CreateNewPlayBackGroup() const;
41 void CreateNewPlayBackGroupSlot(const QString &name);
42
43 private:
44 ButtonStandardSetting *m_addGroupButton {nullptr};
45};
46
48{
49 Q_OBJECT
50
51 public:
52 PlayGroupConfig(const QString &label, const QString &name, bool isNew=false);
53 void updateButton(MythUIButtonListItem *item) override; // GroupSetting
54 void Save() override; // StandardSetting
55 bool canDelete(void) override; // GroupSetting
56 void deleteEntry(void) override; // GroupSetting
57
58 private:
59 StandardSetting *m_titleMatch {nullptr};
60 MythUISpinBoxSetting *m_skipAhead {nullptr};
61 MythUISpinBoxSetting *m_skipBack {nullptr};
62 MythUISpinBoxSetting *m_jumpMinutes {nullptr};
63 MythUISpinBoxSetting *m_timeStrech {nullptr};
64 bool m_isNew {false};
65};
66
67#endif
static T GetDurSetting(const QString &name, const QString &field, T defval)
Definition: playgroup.h:22
Holds information on recordings and videos.
Definition: programinfo.h:74
#define MTV_PUBLIC
Definition: mythtvexp.h:8