LMMS
Loading...
Searching...
No Matches
lmms::gui::FileBrowser Class Reference

#include <FileBrowser.h>

Inheritance diagram for lmms::gui::FileBrowser:
lmms::gui::SideBarWidget

Public Types

enum class  Type { Normal , Favorites }

Public Member Functions

 FileBrowser (Type type, const QString &directories, const QString &filter, const QString &title, const QPixmap &pm, QWidget *parent, bool dirs_as_items=false, const QString &userDir="", const QString &factoryDir="")
 ~FileBrowser () override=default
Public Member Functions inherited from lmms::gui::SideBarWidget
 SideBarWidget (const QString &_title, const QPixmap &_icon, QWidget *_parent)
 ~SideBarWidget () override=default
const QPixmap & icon () const
const QString & title () const

Static Public Member Functions

static QDir::Filters dirFilters ()
static QDir::SortFlags sortFlags ()

Private Slots

void reloadTree ()
void expandItems (const QList< QString > &expandedDirs, QTreeWidgetItem *item=nullptr)
void giveFocusToFilter ()

Private Member Functions

void keyPressEvent (QKeyEvent *ke) override
void addItems (const QString &path)
void saveDirectoriesStates ()
void restoreDirectoriesStates ()
void onSearch (const QString &filter)
void onSearchMatch (const QString &path)
void onSearchStarted ()
void onSearchFinished ()
void addContentCheckBox ()

Private Attributes

FileBrowserTreeWidgetm_fileBrowserTreeWidget
FileBrowserTreeWidgetm_searchTreeWidget
QLineEdit * m_filterEdit
Type m_type
QProgressBar * m_searchIndicator = nullptr
FileSearchJob m_searchJob
QString m_directories
 Directories to search, split with '*'.
QString m_filter
 Filter as used in QDir::match().
bool m_dirsAsItems
QCheckBox * m_showUserContent = nullptr
QCheckBox * m_showFactoryContent = nullptr
QCheckBox * m_showHiddenContent = nullptr
QBoxLayout * filterWidgetLayout = nullptr
QBoxLayout * hiddenWidgetLayout = nullptr
QBoxLayout * outerLayout = nullptr
QString m_userDir
QString m_factoryDir
QList< QString > m_savedExpandedDirs
QString m_previousFilterValue

Additional Inherited Members

Signals inherited from lmms::gui::SideBarWidget
void closeButtonClicked ()
Protected Member Functions inherited from lmms::gui::SideBarWidget
void paintEvent (QPaintEvent *_pe) override
void resizeEvent (QResizeEvent *_re) override
void contextMenuEvent (QContextMenuEvent *) override
QWidget * contentParent ()
void addContentWidget (QWidget *_w)
void addContentLayout (QLayout *_l)

Member Enumeration Documentation

◆ Type

enum class lmms::gui::FileBrowser::Type
strong
Enumerator
Normal 
Favorites 

Constructor & Destructor Documentation

◆ FileBrowser()

lmms::gui::FileBrowser::FileBrowser ( Type type,
const QString & directories,
const QString & filter,
const QString & title,
const QPixmap & pm,
QWidget * parent,
bool dirs_as_items = false,
const QString & userDir = "",
const QString & factoryDir = "" )

Create a file browser side bar widget

Parameters
directories'*'-separated list of directories to search for. If a directory of factory files should be in the list it must be the last one (for the factory files delimiter to work)
filterFilter as used in QDir::match
recurseto be documented

◆ ~FileBrowser()

lmms::gui::FileBrowser::~FileBrowser ( )
overridedefault

Member Function Documentation

◆ addContentCheckBox()

void lmms::gui::FileBrowser::addContentCheckBox ( )
private

◆ addItems()

void lmms::gui::FileBrowser::addItems ( const QString & path)
private

◆ dirFilters()

QDir::Filters lmms::gui::FileBrowser::dirFilters ( )
inlinestatic

◆ expandItems

void lmms::gui::FileBrowser::expandItems ( const QList< QString > & expandedDirs,
QTreeWidgetItem * item = nullptr )
privateslot

◆ giveFocusToFilter

void lmms::gui::FileBrowser::giveFocusToFilter ( )
privateslot

◆ keyPressEvent()

void lmms::gui::FileBrowser::keyPressEvent ( QKeyEvent * ke)
overrideprivate

◆ onSearch()

void lmms::gui::FileBrowser::onSearch ( const QString & filter)
private

◆ onSearchFinished()

void lmms::gui::FileBrowser::onSearchFinished ( )
private

◆ onSearchMatch()

void lmms::gui::FileBrowser::onSearchMatch ( const QString & path)
private

◆ onSearchStarted()

void lmms::gui::FileBrowser::onSearchStarted ( )
private

◆ reloadTree

void lmms::gui::FileBrowser::reloadTree ( )
privateslot

◆ restoreDirectoriesStates()

void lmms::gui::FileBrowser::restoreDirectoriesStates ( )
private

◆ saveDirectoriesStates()

void lmms::gui::FileBrowser::saveDirectoriesStates ( )
private

◆ sortFlags()

QDir::SortFlags lmms::gui::FileBrowser::sortFlags ( )
inlinestatic

Member Data Documentation

◆ filterWidgetLayout

QBoxLayout* lmms::gui::FileBrowser::filterWidgetLayout = nullptr
private

◆ hiddenWidgetLayout

QBoxLayout* lmms::gui::FileBrowser::hiddenWidgetLayout = nullptr
private

◆ m_directories

QString lmms::gui::FileBrowser::m_directories
private

Directories to search, split with '*'.

◆ m_dirsAsItems

bool lmms::gui::FileBrowser::m_dirsAsItems
private

◆ m_factoryDir

QString lmms::gui::FileBrowser::m_factoryDir
private

◆ m_fileBrowserTreeWidget

FileBrowserTreeWidget* lmms::gui::FileBrowser::m_fileBrowserTreeWidget
private

◆ m_filter

QString lmms::gui::FileBrowser::m_filter
private

Filter as used in QDir::match().

◆ m_filterEdit

QLineEdit* lmms::gui::FileBrowser::m_filterEdit
private

◆ m_previousFilterValue

QString lmms::gui::FileBrowser::m_previousFilterValue
private

◆ m_savedExpandedDirs

QList<QString> lmms::gui::FileBrowser::m_savedExpandedDirs
private

◆ m_searchIndicator

QProgressBar* lmms::gui::FileBrowser::m_searchIndicator = nullptr
private

◆ m_searchJob

FileSearchJob lmms::gui::FileBrowser::m_searchJob
private

◆ m_searchTreeWidget

FileBrowserTreeWidget* lmms::gui::FileBrowser::m_searchTreeWidget
private

◆ m_showFactoryContent

QCheckBox* lmms::gui::FileBrowser::m_showFactoryContent = nullptr
private

◆ m_showHiddenContent

QCheckBox* lmms::gui::FileBrowser::m_showHiddenContent = nullptr
private

◆ m_showUserContent

QCheckBox* lmms::gui::FileBrowser::m_showUserContent = nullptr
private

◆ m_type

Type lmms::gui::FileBrowser::m_type
private

◆ m_userDir

QString lmms::gui::FileBrowser::m_userDir
private

◆ outerLayout

QBoxLayout* lmms::gui::FileBrowser::outerLayout = nullptr
private

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