summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--configurationwidget.cpp8
-rw-r--r--configurationwidget.h1
-rw-r--r--filewidget.cpp21
-rw-r--r--filewidget.h4
4 files changed, 33 insertions, 1 deletions
diff --git a/configurationwidget.cpp b/configurationwidget.cpp
index 1f12377..5aea6d7 100644
--- a/configurationwidget.cpp
+++ b/configurationwidget.cpp
@@ -58,6 +58,9 @@ ConfigurationWidget::ConfigurationWidget(QWidget *parent, Qt::WindowFlags f) : Q
//copy directories
mCopyDirW = new DirSelectionWidget;
+ //favorite directories
+ mFavDirW = new DirSelectionWidget;
+
//buttons
mAccept = new QPushButton(tr("Save"));
connect(mAccept, SIGNAL(clicked()), this, SLOT(accept()));
@@ -75,6 +78,7 @@ ConfigurationWidget::ConfigurationWidget(QWidget *parent, Qt::WindowFlags f) : Q
tab->addTab(dbWidget, tr("Database"));
tab->addTab(extWidget, tr("Programs"));
tab->addTab(mCopyDirW, tr("Copy dirs"));
+ tab->addTab(mFavDirW, tr("Fav. dirs"));
mainLayout->addWidget(tab);
mainLayout->addLayout(bLayout);
readSettings();
@@ -93,6 +97,8 @@ void ConfigurationWidget::accept(){
s.setValue("ext/mkvinfo", mMkvInfo->text());
QStringList copyDirs = mCopyDirW->directories();
s.setValue("copydirs", copyDirs);
+ QStringList favDirs = mFavDirW->directories();
+ s.setValue("favdirs", favDirs);
QDialog::accept();
}
@@ -122,4 +128,6 @@ void ConfigurationWidget::readSettings(){
mMkvInfo->setText(s.value("ext/mkvinfo").toString());
QStringList copyDirs = s.value("copydirs").toStringList();
mCopyDirW->setDirectories(copyDirs);
+ QStringList favDirs = s.value("favdirs").toStringList();
+ mFavDirW->setDirectories(favDirs);
}
diff --git a/configurationwidget.h b/configurationwidget.h
index 9dacde9..d268f84 100644
--- a/configurationwidget.h
+++ b/configurationwidget.h
@@ -32,6 +32,7 @@ class ConfigurationWidget : public QDialog {
QPushButton *mAccept;
QPushButton *mCancel;
DirSelectionWidget *mCopyDirW;
+ DirSelectionWidget *mFavDirW;
};
#endif // CONFIGURATIONWIDGET_H
diff --git a/filewidget.cpp b/filewidget.cpp
index a60f48b..e3759ff 100644
--- a/filewidget.cpp
+++ b/filewidget.cpp
@@ -31,6 +31,7 @@
#include <QApplication>
#include <QContextMenuEvent>
#include <QDirIterator>
+#include <QComboBox>
#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<const QString &>::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<QStandardItem*> FileWidget::constructRow(CachedFileData *fd) const{
QList<QStandardItem*> 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("..");
}
diff --git a/filewidget.h b/filewidget.h
index 5e2b910..964c6a7 100644
--- a/filewidget.h
+++ b/filewidget.h
@@ -26,6 +26,7 @@ class FileCopier;
class ProgressDialog;
class CachedFileData;
class QStandardItem;
+class QComboBox;
class FileWidget : public QWidget {
Q_OBJECT
@@ -52,6 +53,7 @@ class FileWidget : public QWidget {
public slots:
void fileSelectionChanged(const QItemSelection &selected, const QItemSelection &deselected);
void cd(const QString &to);
+ void cdAbsolute(const QString &to);
void cdUp();
void cdLast();
void deleteFiles();
@@ -92,6 +94,7 @@ class FileWidget : public QWidget {
void readCache();
void writeCache();
void cutOrCopy();
+ void populateFavDirs();
QList<QStandardItem*> constructRow(CachedFileData *fd) const;
QAction *createSeparator();
QLineEdit *mDir;
@@ -126,6 +129,7 @@ class FileWidget : public QWidget {
OriginDialog *mOrignDlg;
FileCopier *mFileCopier;
QCache<QString, CachedFileData> mFileCache;
+ QComboBox *mFavDirs;
int mFileAction;
};