From 1c6d0cbc4e561275197fc78b3fa9f29406f4ced8 Mon Sep 17 00:00:00 2001 From: Arno Date: Thu, 4 Jan 2018 08:34:59 +0100 Subject: Implement favorite dirs --- filewidget.cpp | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) (limited to 'filewidget.cpp') diff --git a/filewidget.cpp b/filewidget.cpp index a60f48b..e3759ff 100644 --- a/filewidget.cpp +++ b/filewidget.cpp @@ -31,6 +31,7 @@ #include #include #include +#include #include "filewidget.h" #include "filesorter.h" @@ -73,6 +74,9 @@ void FileWidget::setupGui(){ connect(mDir, &QLineEdit::returnPressed, this, &FileWidget::gatherData); QPushButton *selDirBtn = new QPushButton(tr("&Browse...")); connect(selDirBtn, &QPushButton::clicked, this, &FileWidget::selectDir); + mFavDirs = new QComboBox; + populateFavDirs(); + connect(mFavDirs, QOverload::of(&QComboBox::activated), [=](const QString &text) { cdAbsolute(text); }); mFilter = new QLineEdit; connect(mFilter, &QLineEdit::returnPressed, this, &FileWidget::filter); @@ -83,8 +87,9 @@ void FileWidget::setupGui(){ topL->addWidget(new QLabel(tr("Directory")), 0, 0); topL->addWidget(mDir, 0, 1); topL->addWidget(selDirBtn, 0, 2); + topL->addWidget(mFavDirs, 0, 3); topL->addWidget(new QLabel(tr("Filter")), 1, 0); - topL->addWidget(mFilter, 1, 1); + topL->addWidget(mFilter, 1, 1, 2, 1); topL->addWidget(searchBtn, 1, 2); mFileView = new QTreeView; @@ -448,6 +453,13 @@ void FileWidget::cutOrCopy(){ clip->setMimeData(mMimeData); } +void FileWidget::populateFavDirs(){ + QSettings s; + QStringList favDirs = s.value("favdirs").toStringList(); + mFavDirs->clear(); + mFavDirs->addItems(favDirs); +} + QList FileWidget::constructRow(CachedFileData *fd) const{ QList fData; QBrush redBrush(Qt::red); @@ -746,6 +758,13 @@ void FileWidget::cd(const QString &to){ } } +void FileWidget::cdAbsolute(const QString &to){ + QString ld = mDir->text(); + mLastDir = ld; + mDir->setText(QDir::toNativeSeparators(to)); + gatherData(); +} + void FileWidget::cdUp(){ cd(".."); } -- cgit v1.2.3-70-g09d2