MythTV
master
|
Slideshow screen. More...
#include <mythfrontend/galleryslideview.h>
Public Slots | |
void | Start (ImageSlideShowType type, int parentId, int selectedId=0) |
Start slideshow. More... | |
void | Close () override |
void | Pulse () override |
Update transition. More... | |
![]() | |
virtual void | Close () |
![]() | |
void | LoseFocus () |
bool | TakeFocus () |
void | Activate () |
void | Hide (void) |
void | Show (void) |
void | Refresh (void) |
void | UpdateDependState (bool isDefault) |
void | UpdateDependState (MythUIType *dependee, bool isDefault) |
Signals | |
void | ImageSelected (int) |
![]() | |
void | Exiting () |
![]() | |
void | RequestUpdate () |
void | RequestRegionUpdate (const QRect &) |
void | TakingFocus () |
void | LosingFocus () |
void | VisibilityChanged (bool Visible) |
void | Showing () |
void | Hiding () |
void | Enabling () |
void | Disabling () |
void | FinishedMoving () |
void | FinishedFading () |
void | DependChanged (bool isDefault) |
Public Member Functions | |
GallerySlideView (MythScreenStack *parent, const char *name, bool editsAllowed) | |
Constructor. More... | |
~GallerySlideView () override | |
Destructor. More... | |
bool | Create () override |
Initialises the graphical elements. More... | |
![]() | |
MythScreenType (MythScreenStack *parent, const QString &name, bool fullscreen=true) | |
~MythScreenType () override | |
bool | inputMethodEvent (QInputMethodEvent *event) override |
Input Method event handler. More... | |
bool | gestureEvent (MythGestureEvent *event) override |
Mouse click/movement handler, receives mouse gesture events from the QCoreApplication event loop. More... | |
virtual void | ShowMenu (void) |
void | doInit (void) |
void | LoadInForeground (void) |
bool | IsInitialized (void) const |
Has Init() been called on this screen? More... | |
bool | IsFullscreen (void) const |
void | SetFullscreen (bool full) |
MythUIType * | GetFocusWidget (void) const |
bool | SetFocusWidget (MythUIType *widget=nullptr) |
virtual bool | NextPrevWidgetFocus (bool up_or_down) |
void | BuildFocusList (void) |
MythScreenStack * | GetScreenStack () const |
virtual void | aboutToHide (void) |
virtual void | aboutToShow (void) |
bool | IsDeleting (void) const |
void | SetDeleting (bool deleting) |
bool | IsLoading (void) const |
bool | IsLoaded (void) const |
MythPainter * | GetPainter (void) override |
![]() | |
MythUIComposite (QObject *parent, const QString &name) | |
~MythUIComposite () override=default | |
virtual void | SetTextFromMap (const InfoMap &infoMap) |
virtual void | ResetMap (const InfoMap &infoMap) |
![]() | |
MythUIType (QObject *parent, const QString &name) | |
virtual void | Reset (void) |
Reset the widget to it's original state, should not reset changes made by the theme. More... | |
void | AddChild (MythUIType *child) |
Add a child UIType. More... | |
MythUIType * | GetChild (const QString &name) const |
Get a named child of this UIType. More... | |
MythUIType * | GetChildAt (QPoint p, bool recursive=true, bool focusable=true) const |
Return the first MythUIType at the given coordinates. More... | |
QList< MythUIType * > * | GetAllChildren (void) |
Return a list of all child widgets. More... | |
QList< MythUIType * > | GetAllDescendants (void) |
void | DeleteChild (const QString &name) |
Delete a named child of this UIType. More... | |
void | DeleteChild (MythUIType *child) |
Delete the given UIType if it is a child of this UIType. More... | |
void | DeleteAllChildren (void) |
Delete all child widgets. More... | |
bool | NeedsRedraw (void) const |
void | ResetNeedsRedraw (void) |
void | SetRedraw (void) |
void | SetChildNeedsRedraw (MythUIType *child) |
bool | CanTakeFocus (void) const |
Return if this widget can accept input focus. More... | |
void | SetCanTakeFocus (bool set=true) |
Set whether this widget can take focus. More... | |
void | SetFocusOrder (int order) |
bool | IsEnabled (void) const |
void | SetEnabled (bool enable) |
bool | MoveToTop (void) |
bool | MoveChildToTop (MythUIType *child) |
void | ActivateAnimations (MythUIAnimation::Trigger trigger) |
QList< MythUIAnimation * > * | GetAnimations (void) |
virtual void | Pulse (void) |
Pulse is called 70 times a second to trigger a single frame of an animation. More... | |
void | Draw (MythPainter *p, int xoffset, int yoffset, int alphaMod=255, QRect clipRect=QRect()) |
void | SetPosition (int x, int y) |
Convenience method, calls SetPosition(const MythPoint&) Override that instead to change functionality. More... | |
void | SetPosition (QPoint point) |
virtual void | SetPosition (const MythPoint &point) |
virtual MythPoint | GetPosition (void) const |
virtual void | SetSize (QSize size) |
virtual void | SetMinSize (const MythPoint &size) |
Set the minimum size of this widget, for widgets which can be rescaled. More... | |
virtual QSize | GetMinSize (void) const |
virtual void | SetArea (const MythRect &rect) |
virtual void | AdjustMinArea (int delta_x, int delta_y, int delta_w, int delta_h) |
Adjust the size of a sibling. More... | |
virtual void | VanishSibling (void) |
virtual void | SetMinAreaParent (MythRect actual_area, MythRect allowed_area, MythUIType *child) |
Adjust the size of sibling objects within the button. More... | |
virtual void | SetMinArea (const MythRect &rect) |
Set the minimum area based on the given size. More... | |
virtual MythRect | GetArea (void) const |
If the object has a minimum area defined, return it, other wise return the default area. More... | |
virtual MythRect | GetFullArea (void) const |
virtual void | RecalculateArea (bool recurse=true) |
void | ExpandArea (QRect rect) |
virtual QRegion | GetDirtyArea (void) const |
bool | IsVisible (bool recurse=false) const |
virtual void | SetVisible (bool visible) |
void | MoveTo (QPoint destXY, QPoint speedXY) |
void | AdjustAlpha (int mode, int alphachange, int minalpha=0, int maxalpha=255) |
void | SetAlpha (int newalpha) |
int | GetAlpha (void) const |
virtual void | mediaEvent (MythMediaEvent *event) |
Media/Device status event handler, received from MythMediaMonitor. More... | |
MythFontProperties * | GetFont (const QString &text) const |
bool | AddFont (const QString &text, MythFontProperties *fontProp) |
void | SetHelpText (const QString &text) |
QString | GetHelpText (void) const |
void | SetXMLLocation (const QString &filename, int where) |
QString | GetXMLLocation (void) const |
void | SetXMLName (const QString &name) |
QString | GetXMLName (void) const |
bool | IsDeferredLoading (bool recurse=false) const |
void | SetDeferLoad (bool defer) |
virtual void | LoadNow (void) |
Cause images in this and child widgets to be loaded. More... | |
bool | ContainsPoint (QPoint point) const |
Check if the given point falls within this widgets area. More... | |
void | SetPainter (MythPainter *painter) |
void | SetCentre (UIEffects::Centre centre) |
void | SetZoom (float zoom) |
void | SetHorizontalZoom (float zoom) |
void | SetVerticalZoom (float zoom) |
void | SetAngle (float angle) |
void | SetDependIsDefault (bool isDefault) |
void | SetReverseDependence (MythUIType *dependee, bool reverse) |
void | SetDependsMap (QMap< QString, QString > dependsMap) |
QMap< QString, QString > | GetDependsMap () const |
Private Slots | |
void | ShowPrevSlide (int inc=1) |
Display the previous slide in the sequence. More... | |
void | ShowNextSlide (int inc, bool useTransition=true) |
Display the next slide in the sequence. More... | |
void | ShowNextSlide () |
void | SlideAvailable (int count) |
Start transition. More... | |
void | TransitionComplete () |
Transition to new slide has finished. More... | |
void | ShowSlide (int direction=0) |
Display slide. More... | |
void | Stop () |
Stop a playing slideshow. More... | |
void | Play (bool useTransition) |
Start a slideshow. More... | |
void | Play () |
Private Member Functions | |
bool | keyPressEvent (QKeyEvent *event) override |
Handle keypresses. More... | |
void | customEvent (QEvent *event) override |
Handle custom events. More... | |
void | MenuMain () |
Shows the popup menu. More... | |
void | MenuTransforms (MythMenu &mainMenu) |
Add Transforms submenu. More... | |
void | Suspend () |
Pause transition timer temporarily. More... | |
void | Release () |
Unpause transition timer. More... | |
void | Transform (ImageFileTransform state) |
Action transform request. More... | |
void | Zoom (int increment=0) |
Zoom current slide. More... | |
void | Pan (QPoint offset=QPoint(0, 0)) |
Pan current slide. More... | |
void | SetStatus (QString msg, bool delay=false) |
Displays status text (Loading, Paused etc.) More... | |
void | ClearStatus (const Slide &slide) |
void | ShowInfo () |
Show exif info list. More... | |
void | HideInfo () |
Hide exif info list. More... | |
void | ShowCaptions () |
Show text widgets. More... | |
void | HideCaptions () |
Hide text widgets. More... | |
void | PlayVideo () |
Starts internal player for video. More... | |
void | ShowStatus () |
Static Private Member Functions | |
static void | RepeatOn (int on) |
static void | RepeatOn () |
static void | RepeatOff () |
Private Attributes | |
MythUIImage * | m_uiImage {nullptr} |
MythUIText * | m_uiStatus {nullptr} |
MythUIText * | m_uiSlideCount {nullptr} |
MythUIText * | m_uiCaptionText {nullptr} |
MythUIText * | m_uiHideCaptions {nullptr} |
ImageManagerFe & | m_mgr |
Manages the images. More... | |
FlatView * | m_view {nullptr} |
List of images comprising the slideshow. More... | |
TransitionRegistry | m_availableTransitions |
Transitions available. More... | |
Transition & | m_transition |
Selected transition. More... | |
TransitionNone | m_updateTransition |
Instant transition that is always used for start-up & image updates. More... | |
SlideBuffer | m_slides |
A queue of slides used to display images. More... | |
InfoList | m_infoList |
Image details overlay. More... | |
std::chrono::milliseconds | m_slideShowTime {3s} |
Time to display a slide in a slideshow. More... | |
QTimer | m_timer |
Slide duration timer. More... | |
QTimer | m_delay |
Status delay timer. More... | |
QString | m_statusText |
Text to display as status. More... | |
bool | m_playing {false} |
True when slideshow is running. More... | |
bool | m_suspended {false} |
True when transition is running or video playing. More... | |
bool | m_showCaptions {true} |
If true, captions are shown. More... | |
bool | m_transitioning {false} |
True when a transition is in progress. More... | |
bool | m_editsAllowed {false} |
True when edits are enabled. More... | |
Additional Inherited Members | |
![]() | |
static QString | getFirstText (QDomElement &element) |
static bool | parseBool (const QString &text) |
static bool | parseBool (QDomElement &element) |
static MythPoint | parsePoint (const QString &text, bool normalize=true) |
static MythPoint | parsePoint (QDomElement &element, bool normalize=true) |
static QSize | parseSize (const QString &text, bool normalize=true) |
static QSize | parseSize (QDomElement &element, bool normalize=true) |
static MythRect | parseRect (const QString &text, bool normalize=true) |
static MythRect | parseRect (QDomElement &element, bool normalize=true) |
static int | parseAlignment (const QString &text) |
static int | parseAlignment (QDomElement &element) |
static QBrush | parseGradient (const QDomElement &element) |
static QString | parseText (QDomElement &element) |
static MythUIType * | GetGlobalObjectStore (void) |
static void | ClearGlobalObjectStore (void) |
static void | ParseChildren (const QString &filename, QDomElement &element, MythUIType *parent, bool showWarnings) |
static MythUIType * | ParseUIType (const QString &filename, QDomElement &element, const QString &type, MythUIType *parent, MythScreenType *screen, bool showWarnings, QMap< QString, QString > &parentDependsMap) |
static bool | WindowExists (const QString &xmlfile, const QString &windowname) |
static bool | LoadWindowFromXML (const QString &xmlfile, const QString &windowname, MythUIType *parent) |
static bool | LoadBaseTheme (void) |
static bool | LoadBaseTheme (const QString &baseTheme) |
static bool | CopyWindowFromBase (const QString &windowname, MythScreenType *win) |
![]() | |
MythScreenType (MythUIType *parent, const QString &name, bool fullscreen=true) | |
void | CopyFrom (MythUIType *base) override |
Copy this widgets state from another. More... | |
void | CreateCopy (MythUIType *parent) override |
Copy the state of this widget to the one given, it must be of the same type. More... | |
bool | ParseElement (const QString &filename, QDomElement &element, bool showWarnings) override |
Parse the xml definition of this widget setting the state of the object accordingly. More... | |
virtual void | Load (void) |
Load data which will ultimately be displayed on-screen or used to determine what appears on-screen (See Warning) More... | |
virtual void | Init (void) |
Used after calling Load() to assign data to widgets and other UI initilisation which is prohibited in Load() More... | |
void | LoadInBackground (const QString &message="") |
void | ReloadInBackground (void) |
void | OpenBusyPopup (const QString &message="") |
void | CloseBusyPopup (void) |
void | SetBusyPopupMessage (const QString &message) |
void | ResetBusyPopup (void) |
![]() | |
~MythUIType () override | |
void | customEvent (QEvent *event) override |
virtual void | DrawSelf (MythPainter *p, int xoffset, int yoffset, int alphaMod, QRect clipRect) |
void | AddFocusableChildrenToList (FocusInfoType &focusList) |
void | HandleAlphaPulse () |
Handle one frame of an alpha (transparency) change animation. More... | |
void | HandleMovementPulse () |
Handle one frame of a movement animation. More... | |
int | CalcAlpha (int alphamod) const |
void | ConnectDependants (bool recurse=false) |
virtual void | Finalize (void) |
Perform any post-xml parsing initialisation tasks. More... | |
![]() | |
static int | NormX (int width) |
static int | NormY (int height) |
![]() | |
bool | m_fullScreen {false} |
bool | m_isDeleting {false} |
QSemaphore | m_loadLock {1} |
volatile bool | m_isLoading {false} |
volatile bool | m_isLoaded {false} |
bool | m_isInitialized {false} |
MythUIType * | m_currentFocusWidget {nullptr} |
FocusInfoType | m_focusWidgetList |
MythScreenStack * | m_screenStack {nullptr} |
MythUIBusyDialog * | m_busyPopup {nullptr} |
QRegion | m_savedMask |
![]() | |
QList< MythUIType * > | m_childrenList |
QMap< QString, QString > | m_dependsMap |
QList< QPair< MythUIType *, bool > > | m_dependsValue |
QList< int > | m_dependOperator |
bool | m_visible {true} |
bool | m_hasFocus {false} |
bool | m_canHaveFocus {false} |
bool | m_enabled {true} |
bool | m_enableInitiator {false} |
bool | m_initiator {false} |
bool | m_vanish {false} |
bool | m_vanished {false} |
bool | m_isDependDefault {false} |
QMap< MythUIType *, bool > | m_reverseDepend |
int | m_focusOrder {0} |
MythRect | m_area {0,0,0,0} |
MythRect | m_minArea {0,0,0,0} |
MythPoint | m_minSize |
QRegion | m_dirtyRegion {0,0,0,0} |
bool | m_needsRedraw {false} |
UIEffects | m_effects |
int | m_alphaChangeMode {0} |
int | m_alphaChange {0} |
int | m_alphaMin {0} |
int | m_alphaMax {255} |
bool | m_moving {false} |
QPoint | m_xyDestination {0,0} |
QPoint | m_xySpeed {0,0} |
FontMap * | m_fonts {nullptr} |
MythUIType * | m_parent {nullptr} |
MythPainter * | m_painter {nullptr} |
QList< MythUIAnimation * > | m_animations |
QString | m_helptext |
QString | m_xmlName |
QString | m_xmlLocation |
bool | m_deferload {false} |
QColor | m_borderColor {Qt::black} |
Slideshow screen.
Definition at line 23 of file galleryslideview.h.
GallerySlideView::GallerySlideView | ( | MythScreenStack * | parent, |
const char * | name, | ||
bool | editsAllowed | ||
) |
Constructor.
parent | The screen parent |
name | The name of the screen |
editsAllowed | Are edits allowed. Affects what menu items are presented to the user. |
Definition at line 30 of file galleryslideview.cpp.
|
override |
Destructor.
Definition at line 69 of file galleryslideview.cpp.
|
overridevirtual |
Initialises the graphical elements.
Reimplemented from MythScreenType.
Definition at line 81 of file galleryslideview.cpp.
|
slot |
Start slideshow.
type | Browsing, Normal or Recursive |
parentId | The dir id, if positive. Otherwise the view is refreshed using the existing parent dir |
selectedId | Currently selected item. If not set, will default to the first item. |
Definition at line 394 of file galleryslideview.cpp.
|
overrideslot |
Definition at line 437 of file galleryslideview.cpp.
|
overrideslot |
Update transition.
Definition at line 128 of file galleryslideview.cpp.
|
signal |
Referenced by Close(), and GalleryThumbView::StartSlideshow().
|
overrideprivatevirtual |
Handle keypresses.
event | The pressed key |
Reimplemented from MythScreenType.
Definition at line 141 of file galleryslideview.cpp.
|
overrideprivate |
Handle custom events.
event | The custom event |
Definition at line 251 of file galleryslideview.cpp.
|
private |
Shows the popup menu.
Definition at line 304 of file galleryslideview.cpp.
Referenced by keyPressEvent().
|
private |
Add Transforms submenu.
mainMenu | Parent menu |
Definition at line 359 of file galleryslideview.cpp.
Referenced by MenuMain().
|
private |
Pause transition timer temporarily.
Definition at line 483 of file galleryslideview.cpp.
Referenced by ShowSlide().
|
private |
Unpause transition timer.
Definition at line 493 of file galleryslideview.cpp.
Referenced by TransitionComplete().
|
private |
Action transform request.
state | Transform to apply |
Definition at line 505 of file galleryslideview.cpp.
Referenced by customEvent(), and keyPressEvent().
|
private |
Zoom current slide.
increment | Percentage factor |
Definition at line 523 of file galleryslideview.cpp.
Referenced by customEvent(), keyPressEvent(), and SlideAvailable().
|
private |
Pan current slide.
offset | Offset from current position |
Definition at line 534 of file galleryslideview.cpp.
Referenced by keyPressEvent().
Displays status text (Loading, Paused etc.)
msg | Text to show |
delay | It true, delay showing the status. |
Definition at line 785 of file galleryslideview.cpp.
Referenced by ClearStatus(), Play(), ShowNextSlide(), ShowPrevSlide(), ShowSlide(), Stop(), and TransitionComplete().
|
private |
Definition at line 805 of file galleryslideview.cpp.
Referenced by SlideAvailable().
|
privateslot |
Display the previous slide in the sequence.
Definition at line 709 of file galleryslideview.cpp.
Referenced by keyPressEvent().
Display the next slide in the sequence.
inc | How many slides to move forward. |
useTransition | if false, slide will be updated instantly |
Definition at line 729 of file galleryslideview.cpp.
|
privateslot |
Definition at line 759 of file galleryslideview.cpp.
Referenced by GallerySlideView(), keyPressEvent(), and Play().
|
privateslot |
Start transition.
Displays image that has just loaded
count | Number of slides ready for display |
Definition at line 607 of file galleryslideview.cpp.
Referenced by Create().
|
privateslot |
Transition to new slide has finished.
Resets buffers & old slide. Starts next transition if slide loads are pending (skipping). Otherwise updates text widgets for new slide, pre-loads next slide & starts any video.
Definition at line 655 of file galleryslideview.cpp.
Referenced by GallerySlideView().
|
privateslot |
Display slide.
direction | Navigation direction +1 = forwards, 0 = update, -1 = backwards |
Definition at line 583 of file galleryslideview.cpp.
Referenced by customEvent(), ShowNextSlide(), ShowPrevSlide(), and Start().
|
privateslot |
Stop a playing slideshow.
Definition at line 456 of file galleryslideview.cpp.
Referenced by keyPressEvent(), MenuMain(), and ShowNextSlide().
|
privateslot |
Start a slideshow.
useTransition | if false, slide will be updated instantly |
Definition at line 468 of file galleryslideview.cpp.
|
inlineprivateslot |
Definition at line 61 of file galleryslideview.h.
Referenced by keyPressEvent(), MenuMain(), Play(), and Start().
|
inlinestaticprivate |
Definition at line 62 of file galleryslideview.h.
|
inlinestaticprivate |
Definition at line 63 of file galleryslideview.h.
Referenced by MenuMain(), RepeatOff(), and RepeatOn().
|
inlinestaticprivate |
Definition at line 64 of file galleryslideview.h.
Referenced by MenuMain().
|
private |
Show exif info list.
Definition at line 544 of file galleryslideview.cpp.
Referenced by keyPressEvent(), and MenuMain().
|
private |
|
private |
|
private |
|
private |
Starts internal player for video.
Definition at line 768 of file galleryslideview.cpp.
Referenced by keyPressEvent(), MenuMain(), and TransitionComplete().
|
private |
Definition at line 798 of file galleryslideview.cpp.
Referenced by GallerySlideView(), and SetStatus().
|
private |
Definition at line 74 of file galleryslideview.h.
Referenced by Create().
|
private |
Definition at line 75 of file galleryslideview.h.
Referenced by ClearStatus(), Create(), SetStatus(), and ShowStatus().
|
private |
Definition at line 76 of file galleryslideview.h.
Referenced by Create(), ShowNextSlide(), and SlideAvailable().
|
private |
Definition at line 77 of file galleryslideview.h.
Referenced by Create(), ShowNextSlide(), and TransitionComplete().
|
private |
Definition at line 78 of file galleryslideview.h.
Referenced by Create(), HideCaptions(), MenuMain(), and ShowCaptions().
|
private |
|
private |
List of images comprising the slideshow.
Definition at line 81 of file galleryslideview.h.
Referenced by Close(), customEvent(), ShowNextSlide(), ShowPrevSlide(), ShowSlide(), SlideAvailable(), Start(), Transform(), TransitionComplete(), and ~GallerySlideView().
|
private |
Transitions available.
Definition at line 83 of file galleryslideview.h.
|
private |
Selected transition.
Definition at line 84 of file galleryslideview.h.
Referenced by GallerySlideView(), Pulse(), and SlideAvailable().
|
private |
Instant transition that is always used for start-up & image updates.
Definition at line 86 of file galleryslideview.h.
Referenced by GallerySlideView(), and SlideAvailable().
|
private |
A queue of slides used to display images.
Definition at line 88 of file galleryslideview.h.
Referenced by Close(), Create(), MenuMain(), MenuTransforms(), Pan(), PlayVideo(), ShowInfo(), ShowNextSlide(), ShowSlide(), SlideAvailable(), TransitionComplete(), and Zoom().
|
private |
Image details overlay.
Definition at line 89 of file galleryslideview.h.
Referenced by Create(), customEvent(), HideInfo(), keyPressEvent(), MenuMain(), ShowInfo(), ShowNextSlide(), and TransitionComplete().
|
private |
Time to display a slide in a slideshow.
Definition at line 90 of file galleryslideview.h.
Referenced by GallerySlideView().
|
private |
Slide duration timer.
Definition at line 91 of file galleryslideview.h.
Referenced by GallerySlideView(), Play(), Release(), Stop(), and Suspend().
|
private |
Status delay timer.
Definition at line 92 of file galleryslideview.h.
Referenced by ClearStatus(), GallerySlideView(), and SetStatus().
|
private |
Text to display as status.
Definition at line 93 of file galleryslideview.h.
Referenced by SetStatus(), and ShowStatus().
True when slideshow is running.
Definition at line 94 of file galleryslideview.h.
Referenced by keyPressEvent(), MenuMain(), MenuTransforms(), Pan(), Play(), Release(), ShowNextSlide(), ShowPrevSlide(), SlideAvailable(), Stop(), Transform(), TransitionComplete(), and Zoom().
True when transition is running or video playing.
Definition at line 95 of file galleryslideview.h.
If true, captions are shown.
Definition at line 96 of file galleryslideview.h.
Referenced by Create(), HideCaptions(), MenuMain(), and ShowCaptions().
True when a transition is in progress.
Definition at line 97 of file galleryslideview.h.
Referenced by SlideAvailable(), and TransitionComplete().
True when edits are enabled.
Definition at line 98 of file galleryslideview.h.
Referenced by MenuTransforms().