25#ifndef LMMS_GUI_FILE_BROWSER_H
26#define LMMS_GUI_FILE_BROWSER_H
37#include "lmmsconfig.h"
79 FileBrowser(
Type type,
const QString& directories,
const QString& filter,
const QString&
title,
const QPixmap& pm,
80 QWidget* parent,
bool dirs_as_items =
false,
const QString& userDir =
"",
const QString& factoryDir =
"");
84 static QDir::Filters
dirFilters() {
return QDir::AllDirs | QDir::Files | QDir::NoDotAndDotDot | QDir::Hidden; }
85 static QDir::SortFlags
sortFlags() {
return QDir::LocaleAware | QDir::DirsFirst | QDir::Name | QDir::IgnoreCase; }
89 void expandItems(
const QList<QString>& expandedDirs, QTreeWidgetItem* item =
nullptr);
100 void onSearch(
const QString& filter);
143 QList<QString>
expandedDirs( QTreeWidgetItem * item =
nullptr )
const;
152 void hideEvent( QHideEvent * he )
override;
154 void scrollTo(
const QModelIndex &index, ScrollHint hint = EnsureVisible)
override;
155 void wheelEvent(QWheelEvent * event)
override;
192 virtual QString
fullName(QString path = QString{})
const = 0;
203 QString
fullName(QString path = QString{})
const override
209 if( ! path.isEmpty() )
211 path += QDir::separator();
213 return QDir::cleanPath(path + text(0));
223 bool addItems(
const QString & path );
271 FileItem( QTreeWidget * parent,
const QString & name,
272 const QString & path );
273 FileItem(
const QString & name,
const QString & path );
275 QString
fullName(QString path = QString{})
const override
277 return QFileInfo(
m_path, text(0)).absoluteFilePath();
296 static QString
extension(
const QString & file );
Definition InstrumentTrack.h:62
Definition PlayHandle.h:47
Definition TrackContainer.h:49
Definition VstPlugin.h:45
QString m_filter
Filter as used in QDir::match().
Definition FileBrowser.h:238
bool addItems(const QString &path)
Definition FileBrowser.cpp:1146
QPixmap m_folderLockedPixmap
Definition FileBrowser.h:228
Directory(const QString &filename, const QString &path, const QString &filter)
Definition FileBrowser.cpp:1096
QString fullName(QString path=QString{}) const override
Definition FileBrowser.h:203
QPixmap m_folderPixmap
Definition FileBrowser.h:226
int m_dirCount
Definition FileBrowser.h:240
void update()
Definition FileBrowser.cpp:1106
QStringList m_directories
Definition FileBrowser.h:236
QPixmap m_folderOpenedPixmap
Definition FileBrowser.h:227
void addDirectory(const QString &dir)
Definition FileBrowser.h:216
void restoreDirectoriesStates()
Definition FileBrowser.cpp:213
QString m_previousFilterValue
Definition FileBrowser.h:131
void addContentCheckBox()
Definition FileBrowser.cpp:154
QProgressBar * m_searchIndicator
Definition FileBrowser.h:113
void saveDirectoriesStates()
Definition FileBrowser.cpp:208
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.
Definition FileBrowser.cpp:84
FileSearchJob m_searchJob
Definition FileBrowser.h:114
static QDir::SortFlags sortFlags()
Definition FileBrowser.h:85
void onSearch(const QString &filter)
Definition FileBrowser.cpp:218
static QDir::Filters dirFilters()
Definition FileBrowser.h:84
QString m_directories
Directories to search, split with '*'.
Definition FileBrowser.h:116
Type m_type
Definition FileBrowser.h:111
void addItems(const QString &path)
Definition FileBrowser.cpp:368
void onSearchMatch(const QString &path)
Definition FileBrowser.cpp:246
FileBrowserTreeWidget * m_searchTreeWidget
Definition FileBrowser.h:108
QString m_userDir
Definition FileBrowser.h:128
QString m_factoryDir
Definition FileBrowser.h:129
QBoxLayout * outerLayout
Definition FileBrowser.h:127
QList< QString > m_savedExpandedDirs
Definition FileBrowser.h:130
QCheckBox * m_showFactoryContent
Definition FileBrowser.h:122
bool m_dirsAsItems
Definition FileBrowser.h:119
QString m_filter
Filter as used in QDir::match().
Definition FileBrowser.h:117
void giveFocusToFilter()
Definition FileBrowser.cpp:356
QBoxLayout * filterWidgetLayout
Definition FileBrowser.h:125
Type
Definition FileBrowser.h:62
void keyPressEvent(QKeyEvent *ke) override
Definition FileBrowser.cpp:442
void reloadTree()
Definition FileBrowser.cpp:266
QLineEdit * m_filterEdit
Definition FileBrowser.h:110
void expandItems(const QList< QString > &expandedDirs, QTreeWidgetItem *item=nullptr)
Definition FileBrowser.cpp:332
QBoxLayout * hiddenWidgetLayout
Definition FileBrowser.h:126
void onSearchFinished()
Definition FileBrowser.cpp:261
void onSearchStarted()
Definition FileBrowser.cpp:256
FileBrowserTreeWidget * m_fileBrowserTreeWidget
Definition FileBrowser.h:107
~FileBrowser() override=default
QCheckBox * m_showUserContent
Definition FileBrowser.h:121
QCheckBox * m_showHiddenContent
Definition FileBrowser.h:123
Definition FileBrowser.h:247
FileHandling handling() const
Definition FileBrowser.h:285
FileType m_type
Definition FileBrowser.h:305
FileItem(QTreeWidget *parent, const QString &name, const QString &path)
Definition FileBrowser.cpp:1177
FileType
Definition FileBrowser.h:250
QString fullName(QString path=QString{}) const override
Definition FileBrowser.h:275
QString extension()
Definition FileBrowser.cpp:1311
static QString defaultFilters()
Definition FileBrowser.cpp:1324
FileHandling m_handling
Definition FileBrowser.h:306
bool isTrack() const
Definition FileBrowser.h:290
FileHandling
Definition FileBrowser.h:262
@ LoadAsPreset
Definition FileBrowser.h:265
@ LoadByPlugin
Definition FileBrowser.h:266
FileType type() const
Definition FileBrowser.h:280
void initPixmaps()
Definition FileBrowser.cpp:1196
QString m_path
Definition FileBrowser.h:304
void determineFileType()
Definition FileBrowser.cpp:1237
Definition FileSearchJob.h:37
auto getIconPixmap(std::string_view name, int width, int height, const char *const *xpm) -> QPixmap
Return an image for the icon pixmap cache.
Definition embed.cpp:107
Definition AudioPortAudio.cpp:209
Definition RemotePluginBase.cpp:34
QString filename
Definition HydrogenImport.cpp:42