#include "placespanel.h"
#include "dolphin_generalsettings.h"
-
#include "global.h"
-#include <KFileItem>
+#include "kitemviews/kitemlistcontainer.h"
+#include "kitemviews/kitemlistcontroller.h"
+#include "kitemviews/kitemlistselectionmanager.h"
+#include "kitemviews/kstandarditem.h"
+#include "placesitem.h"
+#include "placesitemeditdialog.h"
+#include "placesitemlistgroupheader.h"
+#include "placesitemlistwidget.h"
+#include "placesitemmodel.h"
+#include "placesview.h"
+#include "trash/dolphintrash.h"
+#include "views/draganddrophelper.h"
+
#include <KDirNotify>
-#include <QIcon>
-#include <KIO/Job>
+#include <KFileItem>
+#include <KFilePlacesModel>
#include <KIO/DropJob>
#include <KIO/EmptyTrashJob>
+#include <KIO/Job>
#include <KIO/JobUiDelegate>
-#include <KFilePlacesModel>
+#include <KIconLoader>
#include <KJobWidgets>
#include <KLocalizedString>
-#include <KIconLoader>
-#include <kitemviews/kitemlistcontainer.h>
-#include <kitemviews/kitemlistcontroller.h>
-#include <kitemviews/kitemlistselectionmanager.h>
-#include <kitemviews/kstandarditem.h>
-#include <QMenu>
#include <KMessageBox>
#include <KNotification>
-#include "placesitem.h"
-#include "placesitemeditdialog.h"
-#include "placesitemlistgroupheader.h"
-#include "placesitemlistwidget.h"
-#include "placesitemmodel.h"
-#include "placesview.h"
-#include <views/draganddrophelper.h>
+
#include <QGraphicsSceneDragDropEvent>
+#include <QIcon>
+#include <QMenu>
#include <QVBoxLayout>
PlacesPanel::PlacesPanel(QWidget* parent) :
QAction* teardownAction = nullptr;
QAction* ejectAction = nullptr;
- const QString label = item->text();
-
const bool isDevice = !item->udi().isEmpty();
const bool isTrash = (item->url().scheme() == QLatin1String("trash"));
if (isDevice) {
QAction* action = menu.exec(pos.toPoint());
if (action) {
if (action == emptyTrashAction) {
- emptyTrash();
+ Trash::empty(this);
} else {
// The index might have changed if devices were added/removed while
// the context menu was open.
{KIconLoader::SizeLarge, I18N_NOOP2_NOSTRIP("Huge icon size", "Huge (%1x%2)")}
};
- QMap<QAction*, int> iconSizeActionMap;
+ QHash<QAction*, int> iconSizeActionMap;
QActionGroup* iconSizeGroup = new QActionGroup(iconSizeSubMenu);
for (int i = 0; i < iconSizeCount; ++i) {
}
}
-void PlacesPanel::slotTrashUpdated(KJob* job)
-{
- if (job->error()) {
- emit errorMessage(job->errorString());
- }
- // as long as KIO doesn't do this, do it ourselves
- KNotification::event(QStringLiteral("Trash: emptied"), QString(), QPixmap(), nullptr, KNotification::DefaultEvent);
-}
-
void PlacesPanel::slotStorageSetupDone(int index, bool success)
{
disconnect(m_model, &PlacesItemModel::storageSetupDone,
}
}
-void PlacesPanel::emptyTrash()
-{
- KIO::JobUiDelegate uiDelegate;
- uiDelegate.setWindow(window());
- if (uiDelegate.askDeleteConfirmation(QList<QUrl>(), KIO::JobUiDelegate::EmptyTrash, KIO::JobUiDelegate::DefaultConfirmation)) {
- KIO::Job* job = KIO::emptyTrash();
- KJobWidgets::setWindow(job, window());
- connect(job, &KIO::Job::result, this, &PlacesPanel::slotTrashUpdated);
- }
-}
-
void PlacesPanel::addEntry()
{
const int index = m_controller->selectionManager()->currentItem();