Mercurial > minori
comparison src/gui/dialog/settings/library.cc @ 236:4d461ef7d424
HUGE UPDATE: convert build system to autotools
why? because cmake sucks :)
author | Paper <mrpapersonic@gmail.com> |
---|---|
date | Fri, 19 Jan 2024 00:24:02 -0500 |
parents | ff0061e75f0f |
children | 862d0d8619f6 |
comparison
equal
deleted
inserted
replaced
235:593108b3d555 | 236:4d461ef7d424 |
---|---|
16 #include <QDropEvent> | 16 #include <QDropEvent> |
17 #include <QMimeData> | 17 #include <QMimeData> |
18 | 18 |
19 #include <algorithm> | 19 #include <algorithm> |
20 #include <iostream> | 20 #include <iostream> |
21 | |
22 class DroppableListWidget : public QListWidget { | |
23 Q_OBJECT | |
24 | |
25 public: | |
26 explicit DroppableListWidget(QWidget* parent); | |
27 | |
28 signals: | |
29 void FilesDropped(QStringList list); | |
30 | |
31 protected: | |
32 void dragEnterEvent(QDragEnterEvent* event) override; | |
33 void dragMoveEvent(QDragMoveEvent* event) override; | |
34 void dropEvent(QDropEvent* event) override; | |
35 }; | |
36 | 21 |
37 DroppableListWidget::DroppableListWidget(QWidget* parent) : QListWidget(parent) { | 22 DroppableListWidget::DroppableListWidget(QWidget* parent) : QListWidget(parent) { |
38 setAcceptDrops(true); | 23 setAcceptDrops(true); |
39 } | 24 } |
40 | 25 |
127 connect(button, &QPushButton::clicked, this, [this, listwidget]{ | 112 connect(button, &QPushButton::clicked, this, [this, listwidget]{ |
128 const QString dir = QFileDialog::getExistingDirectory(this, tr("Open Directory"), | 113 const QString dir = QFileDialog::getExistingDirectory(this, tr("Open Directory"), |
129 QDir::homePath(), | 114 QDir::homePath(), |
130 QFileDialog::ShowDirsOnly | 115 QFileDialog::ShowDirsOnly |
131 | QFileDialog::DontResolveSymlinks); | 116 | QFileDialog::DontResolveSymlinks); |
132 if (dir.isEmpty()) | 117 const std::string s_dir = Strings::ToUtf8String(dir); |
118 if (dir.isEmpty() || paths.count(s_dir)) | |
133 return; | 119 return; |
134 paths.insert(Strings::ToUtf8String(dir)); | 120 |
121 paths.insert(s_dir); | |
135 QListWidgetItem* item = new QListWidgetItem(listwidget); | 122 QListWidgetItem* item = new QListWidgetItem(listwidget); |
136 item->setText(dir); | 123 item->setText(dir); |
137 }); | 124 }); |
138 | 125 |
139 widget_layout->addWidget(button); | 126 widget_layout->addWidget(button); |
200 : SettingsPage(parent, tr("Library")), | 187 : SettingsPage(parent, tr("Library")), |
201 paths(session.config.library.paths) { | 188 paths(session.config.library.paths) { |
202 real_time_monitor = session.config.library.real_time_monitor; | 189 real_time_monitor = session.config.library.real_time_monitor; |
203 AddTab(CreateFoldersWidget(), tr("Folder")); | 190 AddTab(CreateFoldersWidget(), tr("Folder")); |
204 } | 191 } |
205 | |
206 #include "gui/dialog/settings/library.moc" |