raDIYo 0.4
swlistcontrol.h
1/***************************************************************************
2
3 source::worx raDIYo
4 Copyright © 2020-2022 c.holzheuer
5 c.holzheuer@sourceworx.org
6
7 This program is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 2 of the License, or
10 (at your option) any later version.
11
12***************************************************************************/
13
14
15#ifndef SWLISTCONTROL_H
16#define SWLISTCONTROL_H
17
18
19#include <QListWidget>
20
21#include <swabstractcontrol.h>
22#include <ui_swlistcontrol.h>
23#include <raDIYo.h>
24
25
26QT_BEGIN_NAMESPACE
27namespace Ui { class SWListControl; }
28QT_END_NAMESPACE
29
30
31class SWListControl : public SWAbstractControl, protected Ui_SWListControl
32{
33 Q_OBJECT
34
35public:
36
37 explicit SWListControl( SWRaDIYoMainWidget* parent );
38 virtual ~SWListControl();
39
40 virtual void loadEntryList( const QString& folderHint = "" ) = 0;
41 virtual bool getCurrentEntry( SWPlayableItem& entry );
42
43signals:
44
45 void entryActivated( SWPlayableItem item );
46
47public slots:
48
49 void onItemActivated( QListWidgetItem* item );
50
51 void onDialClicked() override;
52 void onDialValueChanged( int value ) override;
53
54protected:
55
56 static const int SWListControlRole = Qt::UserRole+1;
57
58 SWPlayableItem::SWSourceType _sourceType{ SWPlayableItem::SWNONE };
59
60 int _idx;
61 //??
62 //QString _pathPrefix;
63 // ...
64
65};
66
67
68#endif // SWLISTCONTROL_H