MythTV  master
galleryslideview.h
Go to the documentation of this file.
1 
4 #ifndef GALLERYWIDGET_H
5 #define GALLERYWIDGET_H
6 
7 #include "gallerytransitions.h"
8 #include "galleryinfo.h"
9 
10 
11 class MythMenu;
12 class FlatView;
13 
19 };
20 
21 
24 {
25  Q_OBJECT
26 public:
27  GallerySlideView(MythScreenStack *parent, const char *name, bool editsAllowed);
29  bool Create() override; // MythScreenType
30 
31 public slots:
32  void Start(ImageSlideShowType type, int parentId, int selectedId = 0);
33  void Close() override; // MythScreenType
34  void Pulse() override; // MythScreenType
35 
36 signals:
37  void ImageSelected(int);
38 
39 private:
40  bool keyPressEvent(QKeyEvent *) override; // MythScreenType
41  void customEvent(QEvent *) override; // MythUIType
42  void MenuMain();
43  void MenuTransforms(MythMenu &);
44  void Suspend();
45  void Release();
47  void Zoom(int = 0);
48  void Pan(QPoint = QPoint(0, 0));
49  void SetStatus(QString msg, bool delay = false);
50  void ClearStatus(Slide &slide);
51 
52 private slots:
53  void ShowPrevSlide(int inc = 1);
54  void ShowNextSlide(int inc = 1, bool useTransition = true);
55  void SlideAvailable(int count);
56  void TransitionComplete();
57  void ShowSlide(int direction = 0);
58  void Stop();
59  void Play(bool useTransition = true);
60  void RepeatOn(int on = 1) { gCoreContext->SaveSetting("GalleryRepeat", on); }
61  void RepeatOff() { RepeatOn(0); }
62  void ShowInfo();
63  void HideInfo();
64  void ShowCaptions();
65  void HideCaptions();
66  void PlayVideo();
67  void ShowStatus();
68 
69 private:
70  // Theme widgets
71  MythUIImage *m_uiImage {nullptr};
72  MythUIText *m_uiStatus {nullptr};
76 
78  FlatView *m_view {nullptr};
79 
84 
87  int m_slideShowTime {3000};
88  QTimer m_timer;
89  QTimer m_delay;
90  QString m_statusText;
91  bool m_playing {false};
92  bool m_suspended {false};
93  bool m_showCaptions {true};
94  bool m_transitioning {false};
95  bool m_editsAllowed {false};
96 };
97 
98 #endif // GALLERYWIDGET_H
ImageManagerFe & m_mgr
Manages the images.
ImageSlideShowType
Type of slide show.
MythUIText * m_uiStatus
Switches images instantly with no effects.
unsigned int slots[4]
Definition: element.c:38
A datastore of images for display by a screen.
Definition: galleryviews.h:95
QTimer m_delay
Status delay timer.
The image info/details buttonlist overlay that displays exif tags.
Definition: galleryinfo.h:22
TransitionRegistry m_availableTransitions
Transitions available.
void ShowCaptions()
Show text widgets.
TransitionNone m_updateTransition
Instant transition that is always used for start-up & image updates.
All purpose text widget, displays a text string.
Definition: mythuitext.h:28
void Stop()
Stop a playing slideshow.
void SaveSetting(const QString &key, int newValue)
The image manager for use by Frontends.
Definition: imagemanager.h:452
bool m_suspended
True when transition is running or video playing.
GallerySlideView(MythScreenStack *parent, const char *name, bool editsAllowed)
Constructor.
Image widget, displays a single image or multiple images in sequence.
Definition: mythuiimage.h:97
void SetStatus(QString msg, bool delay=false)
Displays status text (Loading, Paused etc.)
bool keyPressEvent(QKeyEvent *) override
Handle keypresses.
void Close() override
void MenuMain()
Shows the popup menu.
void Release()
Unpause transition timer.
void ShowPrevSlide(int inc=1)
Display the previous slide in the sequence.
void ShowInfo()
Show exif info list.
QTimer m_timer
Slide duration timer.
MythCoreContext * gCoreContext
This global variable contains the MythCoreContext instance for the app.
void ShowSlide(int direction=0)
Display slide.
void ImageSelected(int)
Provides a queue/pool of slides.
Definition: galleryslide.h:214
MythUIText * m_uiSlideCount
ImageFileTransform
Image transformations.
Definition: imagemetadata.h:42
void Suspend()
Pause transition timer temporarily.
void customEvent(QEvent *) override
Handle custom events.
The info/details overlay that shows image metadata.
void MenuTransforms(MythMenu &)
Add Transforms submenu.
Provides transitions for slideshows.
SlideBuffer m_slides
A queue of slides used to display images.
void Play(bool useTransition=true)
Start a slideshow.
int m_slideShowTime
Time to display a slide in a slideshow.
const char * name
Definition: ParseText.cpp:328
Slideshow screen.
MythUIImage * m_uiImage
void HideInfo()
Hide exif info list.
void RepeatOn(int on=1)
void ShowNextSlide(int inc=1, bool useTransition=true)
Display the next slide in the sequence.
MythUIText * m_uiHideCaptions
A specialised image for slideshows.
Definition: galleryslide.h:155
void ClearStatus(Slide &slide)
void Transform(ImageFileTransform)
Action transform request.
void Pulse() override
Update transition.
Base class of an animated transition that can be accelerated & reversed.
void SlideAvailable(int count)
Start transition.
void Start(ImageSlideShowType type, int parentId, int selectedId=0)
Start slideshow.
bool m_transitioning
True when a transition is in progress.
QString m_statusText
Text to display as status.
void Zoom(int=0)
Zoom current slide.
~GallerySlideView()
Destructor.
void HideCaptions()
Hide text widgets.
void Pan(QPoint=QPoint(0, 0))
Pan current slide.
MythUIText * m_uiCaptionText
bool m_playing
True when slideshow is running.
bool m_showCaptions
If true, captions are shown.
Transition & m_transition
Selected transition.
void PlayVideo()
Starts internal player for video.
Screen in which all other widgets are contained and rendered.
bool m_editsAllowed
True when edits are enabled.
InfoList m_infoList
Image details overlay.
Manages transitions available to s psinter.
FlatView * m_view
List of images comprising the slideshow.
bool Create() override
Initialises the graphical elements.
void TransitionComplete()
Transition to new slide has finished.