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