MythTV  master
Public Member Functions | Private Slots | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
MythUIFileBrowser Class Reference

#include <mythuifilebrowser.h>

Inheritance diagram for MythUIFileBrowser:
Inheritance graph
[legend]
Collaboration diagram for MythUIFileBrowser:
Collaboration graph
[legend]

Public Member Functions

 MythUIFileBrowser (MythScreenStack *parent, const QString &startPath)
 Browse a local filesystem or remote Storage Group Returns the selected file. More...
 
 ~MythUIFileBrowser ()=default
 
bool Create (void) override
 
void SetReturnEvent (QObject *retobject, const QString &resultid)
 
void SetTypeFilter (QDir::Filters filter)
 
void SetNameFilter (QStringList filter)
 
- Public Member Functions inherited from MythScreenType
 MythScreenType (MythScreenStack *parent, const QString &name, bool fullscreen=true)
 
virtual ~MythScreenType ()
 
bool keyPressEvent (QKeyEvent *) override
 Key event handler. More...
 
bool gestureEvent (MythGestureEvent *) 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)
 
MythUITypeGetFocusWidget (void) const
 
bool SetFocusWidget (MythUIType *widget=nullptr)
 
virtual bool NextPrevWidgetFocus (bool up_or_down)
 
void BuildFocusList (void)
 
MythScreenStackGetScreenStack () const
 
virtual void aboutToHide (void)
 
virtual void aboutToShow (void)
 
bool IsDeleting (void) const
 
void SetDeleting (bool deleting)
 
bool IsLoading (void)
 
bool IsLoaded (void)
 
MythPainterGetPainter (void) override
 
- Public Member Functions inherited from MythUIComposite
 MythUIComposite (QObject *parent, const QString &name)
 
virtual ~MythUIComposite ()=default
 
virtual void SetTextFromMap (const InfoMap &infoMap)
 
virtual void ResetMap (const InfoMap &infoMap)
 
- Public Member Functions inherited from MythUIType
 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...
 
MythUITypeGetChild (const QString &name) const
 Get a named child of this UIType. More...
 
MythUITypeGetChildAt (const 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...
 
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)
 
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...
 
virtual void SetPosition (const MythPoint &point)
 
virtual MythPoint GetPosition (void) const
 
virtual void SetSize (const 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 (const MythRect &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...
 
MythFontPropertiesGetFont (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 (const 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 OKPressed (void)
 
void cancelPressed (void)
 
void backPressed (void)
 
void homePressed (void)
 
void editLostFocus (void)
 
void PathSelected (MythUIButtonListItem *item)
 
void PathClicked (MythUIButtonListItem *item)
 
void LoadPreview (void)
 

Private Member Functions

void SetPath (const QString &startPath)
 
void updateFileList (void)
 
void updateRemoteFileList (void)
 
void updateLocalFileList (void)
 
void updateSelectedList (void)
 
void updateWidgets (void)
 

Static Private Member Functions

static bool GetRemoteFileList (const QString &url, const QString &sgDir, QStringList &list)
 
static bool IsImage (QString extension)
 
static QString FormatSize (int size)
 

Private Attributes

bool m_isRemote {false}
 
QTimer * m_previewTimer {nullptr}
 
QString m_baseDirectory
 
QString m_subDirectory
 
QString m_storageGroupDir
 
QString m_parentDir
 
QString m_parentSGDir
 
QDir::Filters m_typeFilter
 
QStringList m_nameFilter
 
MythUIButtonListm_fileList {nullptr}
 
MythUITextEditm_locationEdit {nullptr}
 
MythUIButtonm_okButton {nullptr}
 
MythUIButtonm_cancelButton {nullptr}
 
MythUIButtonm_backButton {nullptr}
 
MythUIButtonm_homeButton {nullptr}
 
MythUIImagem_previewImage {nullptr}
 
MythUITextm_infoText {nullptr}
 
MythUITextm_filenameText {nullptr}
 
MythUITextm_fullpathText {nullptr}
 
QObject * m_retObject {nullptr}
 
QString m_id
 

Additional Inherited Members

- Public Slots inherited from MythScreenType
virtual void Close ()
 
- Public Slots inherited from MythUIType
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 inherited from MythScreenType
void Exiting ()
 
- Signals inherited from MythUIType
void RequestUpdate ()
 
void RequestUpdate (const QRect &)
 
void RequestRegionUpdate (const QRect &)
 
void TakingFocus ()
 
void LosingFocus ()
 
void Showing ()
 
void Hiding ()
 
void Enabling ()
 
void Disabling ()
 
void FinishedMoving ()
 
void FinishedFading ()
 
void DependChanged (bool isDefault)
 
- Static Public Member Functions inherited from XMLParseBase
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 MythUITypeGetGlobalObjectStore (void)
 
static void ClearGlobalObjectStore (void)
 
static void ParseChildren (const QString &filename, QDomElement &element, MythUIType *parent, bool showWarnings)
 
static MythUITypeParseUIType (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)
 
- Protected Member Functions inherited from MythScreenType
 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)
 
- Protected Member Functions inherited from MythUIType
virtual ~MythUIType ()
 
void customEvent (QEvent *event) override
 
virtual void DrawSelf (MythPainter *p, int xoffset, int yoffset, int alphaMod, QRect clipRect)
 
void AddFocusableChildrenToList (QMap< int, MythUIType * > &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)
 
void ConnectDependants (bool recurse=false)
 
virtual void Finalize (void)
 Perform any post-xml parsing initialisation tasks. More...
 
- Static Protected Member Functions inherited from MythUIType
static int NormX (const int width)
 
static int NormY (const int height)
 
- Protected Attributes inherited from MythScreenType
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}
 
MythUITypem_CurrentFocusWidget {nullptr}
 
QMap< int, MythUIType * > m_FocusWidgetList
 
MythScreenStackm_ScreenStack {nullptr}
 
MythUIBusyDialogm_BusyPopup {nullptr}
 
QRegion m_SavedMask
 
- Protected Attributes inherited from MythUIType
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 *, boolm_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}
 
FontMapm_Fonts {nullptr}
 
MythUITypem_Parent {nullptr}
 
MythPainterm_Painter {nullptr}
 
QList< MythUIAnimation * > m_animations
 
QString m_helptext
 
QString m_xmlName
 
QString m_xmlLocation
 
bool m_deferload {false}
 
QColor m_BorderColor {Qt::black}
 

Detailed Description

Definition at line 75 of file mythuifilebrowser.h.

Constructor & Destructor Documentation

◆ MythUIFileBrowser()

MythUIFileBrowser::MythUIFileBrowser ( MythScreenStack parent,
const QString &  startPath 
)

Browse a local filesystem or remote Storage Group Returns the selected file.

Includes previews of images and file metadata.

Definition at line 137 of file mythuifilebrowser.cpp.

◆ ~MythUIFileBrowser()

MythUIFileBrowser::~MythUIFileBrowser ( )
default

Member Function Documentation

◆ Create()

bool MythUIFileBrowser::Create ( void  )
overridevirtual

◆ SetReturnEvent()

void MythUIFileBrowser::SetReturnEvent ( QObject *  retobject,
const QString &  resultid 
)

◆ SetTypeFilter()

void MythUIFileBrowser::SetTypeFilter ( QDir::Filters  filter)
inline

◆ SetNameFilter()

void MythUIFileBrowser::SetNameFilter ( QStringList  filter)
inline

◆ OKPressed

void MythUIFileBrowser::OKPressed ( void  )
privateslot

Definition at line 395 of file mythuifilebrowser.cpp.

Referenced by Create().

◆ cancelPressed

void MythUIFileBrowser::cancelPressed ( void  )
privateslot

Definition at line 412 of file mythuifilebrowser.cpp.

Referenced by Create().

◆ backPressed

void MythUIFileBrowser::backPressed ( void  )
privateslot

Definition at line 349 of file mythuifilebrowser.cpp.

Referenced by Create(), and PathClicked().

◆ homePressed

void MythUIFileBrowser::homePressed ( void  )
privateslot

Definition at line 379 of file mythuifilebrowser.cpp.

Referenced by Create().

◆ editLostFocus

void MythUIFileBrowser::editLostFocus ( void  )
privateslot

Definition at line 340 of file mythuifilebrowser.cpp.

Referenced by Create().

◆ PathSelected

void MythUIFileBrowser::PathSelected ( MythUIButtonListItem item)
privateslot

Definition at line 243 of file mythuifilebrowser.cpp.

Referenced by Create().

◆ PathClicked

void MythUIFileBrowser::PathClicked ( MythUIButtonListItem item)
privateslot

Definition at line 283 of file mythuifilebrowser.cpp.

Referenced by Create().

◆ LoadPreview

void MythUIFileBrowser::LoadPreview ( void  )
privateslot

Definition at line 237 of file mythuifilebrowser.cpp.

Referenced by MythUIFileBrowser().

◆ SetPath()

void MythUIFileBrowser::SetPath ( const QString &  startPath)
private

Definition at line 151 of file mythuifilebrowser.cpp.

Referenced by editLostFocus(), and MythUIFileBrowser().

◆ GetRemoteFileList()

bool MythUIFileBrowser::GetRemoteFileList ( const QString &  url,
const QString &  sgDir,
QStringList &  list 
)
staticprivate

Definition at line 698 of file mythuifilebrowser.cpp.

Referenced by updateRemoteFileList().

◆ updateFileList()

void MythUIFileBrowser::updateFileList ( void  )
private

Definition at line 417 of file mythuifilebrowser.cpp.

Referenced by backPressed(), Create(), editLostFocus(), homePressed(), and PathClicked().

◆ updateRemoteFileList()

void MythUIFileBrowser::updateRemoteFileList ( void  )
private

Definition at line 427 of file mythuifilebrowser.cpp.

Referenced by updateFileList().

◆ updateLocalFileList()

void MythUIFileBrowser::updateLocalFileList ( void  )
private

Definition at line 590 of file mythuifilebrowser.cpp.

Referenced by updateFileList().

◆ updateSelectedList()

void MythUIFileBrowser::updateSelectedList ( void  )
private

◆ updateWidgets()

void MythUIFileBrowser::updateWidgets ( void  )
private

◆ IsImage()

bool MythUIFileBrowser::IsImage ( QString  extension)
staticprivate

Definition at line 328 of file mythuifilebrowser.cpp.

Referenced by PathSelected(), updateLocalFileList(), and updateRemoteFileList().

◆ FormatSize()

QString MythUIFileBrowser::FormatSize ( int  size)
staticprivate

Definition at line 684 of file mythuifilebrowser.cpp.

Referenced by PathSelected(), updateLocalFileList(), and updateRemoteFileList().

Member Data Documentation

◆ m_isRemote

bool MythUIFileBrowser::m_isRemote {false}
private

Definition at line 113 of file mythuifilebrowser.h.

Referenced by backPressed(), homePressed(), SetPath(), and updateFileList().

◆ m_previewTimer

QTimer* MythUIFileBrowser::m_previewTimer {nullptr}
private

Definition at line 115 of file mythuifilebrowser.h.

Referenced by MythUIFileBrowser(), and PathSelected().

◆ m_baseDirectory

QString MythUIFileBrowser::m_baseDirectory
private

Definition at line 117 of file mythuifilebrowser.h.

Referenced by backPressed(), SetPath(), and updateRemoteFileList().

◆ m_subDirectory

QString MythUIFileBrowser::m_subDirectory
private

◆ m_storageGroupDir

QString MythUIFileBrowser::m_storageGroupDir
private

◆ m_parentDir

QString MythUIFileBrowser::m_parentDir
private

Definition at line 120 of file mythuifilebrowser.h.

Referenced by backPressed(), and updateRemoteFileList().

◆ m_parentSGDir

QString MythUIFileBrowser::m_parentSGDir
private

Definition at line 121 of file mythuifilebrowser.h.

Referenced by backPressed(), and updateRemoteFileList().

◆ m_typeFilter

QDir::Filters MythUIFileBrowser::m_typeFilter
private
Initial value:
{QDir::AllDirs | QDir::Drives |
QDir::Files | QDir::Readable |
QDir::Writable | QDir::Executable}

Definition at line 123 of file mythuifilebrowser.h.

Referenced by updateLocalFileList(), and updateRemoteFileList().

◆ m_nameFilter

QStringList MythUIFileBrowser::m_nameFilter
private

Definition at line 126 of file mythuifilebrowser.h.

Referenced by MythUIFileBrowser(), and updateLocalFileList().

◆ m_fileList

MythUIButtonList* MythUIFileBrowser::m_fileList {nullptr}
private

◆ m_locationEdit

MythUITextEdit* MythUIFileBrowser::m_locationEdit {nullptr}
private

◆ m_okButton

MythUIButton* MythUIFileBrowser::m_okButton {nullptr}
private

Definition at line 130 of file mythuifilebrowser.h.

Referenced by Create().

◆ m_cancelButton

MythUIButton* MythUIFileBrowser::m_cancelButton {nullptr}
private

Definition at line 131 of file mythuifilebrowser.h.

Referenced by Create().

◆ m_backButton

MythUIButton* MythUIFileBrowser::m_backButton {nullptr}
private

Definition at line 132 of file mythuifilebrowser.h.

Referenced by Create(), updateLocalFileList(), and updateRemoteFileList().

◆ m_homeButton

MythUIButton* MythUIFileBrowser::m_homeButton {nullptr}
private

Definition at line 133 of file mythuifilebrowser.h.

Referenced by Create().

◆ m_previewImage

MythUIImage* MythUIFileBrowser::m_previewImage {nullptr}
private

Definition at line 134 of file mythuifilebrowser.h.

Referenced by Create(), LoadPreview(), and PathSelected().

◆ m_infoText

MythUIText* MythUIFileBrowser::m_infoText {nullptr}
private

Definition at line 135 of file mythuifilebrowser.h.

Referenced by Create(), and PathSelected().

◆ m_filenameText

MythUIText* MythUIFileBrowser::m_filenameText {nullptr}
private

Definition at line 136 of file mythuifilebrowser.h.

Referenced by Create(), and PathSelected().

◆ m_fullpathText

MythUIText* MythUIFileBrowser::m_fullpathText {nullptr}
private

Definition at line 137 of file mythuifilebrowser.h.

Referenced by Create(), and PathSelected().

◆ m_retObject

QObject* MythUIFileBrowser::m_retObject {nullptr}
private

Definition at line 139 of file mythuifilebrowser.h.

Referenced by OKPressed(), PathClicked(), and SetReturnEvent().

◆ m_id

QString MythUIFileBrowser::m_id
private

Definition at line 140 of file mythuifilebrowser.h.

Referenced by OKPressed(), PathClicked(), and SetReturnEvent().


The documentation for this class was generated from the following files: