Olive
Main Page
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
ui
mediaiconservice.h
Go to the documentation of this file.
1
/***
2
3
Olive - Non-Linear Video Editor
4
Copyright (C) 2019 Olive Team
5
6
This program is free software: you can redistribute it and/or modify
7
it under the terms of the GNU General Public License as published by
8
the Free Software Foundation, either version 3 of the License, or
9
(at your option) any later version.
10
11
This program is distributed in the hope that it will be useful,
12
but WITHOUT ANY WARRANTY; without even the implied warranty of
13
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
GNU General Public License for more details.
15
16
You should have received a copy of the GNU General Public License
17
along with this program. If not, see <http://www.gnu.org/licenses/>.
18
19
***/
20
21
#ifndef MEDIAICONSERVICE_H
22
#define MEDIAICONSERVICE_H
23
24
#include <QObject>
25
#include <QTimer>
26
#include <QMutex>
27
28
#include "
project/media.h
"
29
30
enum
IconType
{
31
ICON_TYPE_VIDEO
,
32
ICON_TYPE_AUDIO
,
33
ICON_TYPE_IMAGE
,
34
ICON_TYPE_LOADING
,
35
ICON_TYPE_ERROR
36
};
37
38
class
MediaIconService
:
public
QObject {
39
Q_OBJECT
40
public
:
41
MediaIconService
();
42
public
slots:
43
void
SetMediaIcon
(
Media
* media,
int
icon_type);
44
signals:
45
void
IconChanged
();
46
private
slots:
47
void
AnimationUpdate
();
48
private
:
49
int
throbber_animation_frame_
;
50
QVector<Media*>
throbber_items_
;
51
QTimer
throbber_animator_
;
52
QPixmap
throbber_pixmap_
;
53
QMutex
throbber_lock_
;
54
};
55
56
namespace
olive {
57
extern
std::unique_ptr<MediaIconService>
media_icon_service
;
58
}
59
60
#endif // MEDIAICONSERVICE_H
MediaIconService
Definition:
mediaiconservice.h:38
MediaIconService::throbber_animation_frame_
int throbber_animation_frame_
Definition:
mediaiconservice.h:49
olive::media_icon_service
std::unique_ptr< MediaIconService > media_icon_service
Definition:
mediaiconservice.cpp:29
ICON_TYPE_IMAGE
Definition:
mediaiconservice.h:33
MediaIconService::throbber_items_
QVector< Media * > throbber_items_
Definition:
mediaiconservice.h:50
media.h
ICON_TYPE_ERROR
Definition:
mediaiconservice.h:35
MediaIconService::throbber_pixmap_
QPixmap throbber_pixmap_
Definition:
mediaiconservice.h:52
MediaIconService::throbber_animator_
QTimer throbber_animator_
Definition:
mediaiconservice.h:51
ICON_TYPE_AUDIO
Definition:
mediaiconservice.h:32
ICON_TYPE_LOADING
Definition:
mediaiconservice.h:34
MediaIconService::AnimationUpdate
void AnimationUpdate()
Definition:
mediaiconservice.cpp:86
MediaIconService::MediaIconService
MediaIconService()
Definition:
mediaiconservice.cpp:31
ICON_TYPE_VIDEO
Definition:
mediaiconservice.h:31
MediaIconService::IconChanged
void IconChanged()
Media
Definition:
media.h:45
MediaIconService::SetMediaIcon
void SetMediaIcon(Media *media, int icon_type)
Definition:
mediaiconservice.cpp:40
MediaIconService::throbber_lock_
QMutex throbber_lock_
Definition:
mediaiconservice.h:53
IconType
IconType
Definition:
mediaiconservice.h:30
Generated by
1.8.5