Changeset View
Changeset View
Standalone View
Standalone View
containments/desktop/plugins/folder/foldermodel.cpp
Show First 20 Lines • Show All 104 Lines • ▼ Show 20 Line(s) | 94 | FolderModel::FolderModel(QObject *parent) : QSortFilterProxyModel(parent), | |||
---|---|---|---|---|---|
105 | m_sortMode(0), | 105 | m_sortMode(0), | ||
106 | m_sortDesc(false), | 106 | m_sortDesc(false), | ||
107 | m_sortDirsFirst(true), | 107 | m_sortDirsFirst(true), | ||
108 | m_parseDesktopFiles(false), | 108 | m_parseDesktopFiles(false), | ||
109 | m_previews(false), | 109 | m_previews(false), | ||
110 | m_filterMode(NoFilter), | 110 | m_filterMode(NoFilter), | ||
111 | m_filterPatternMatchAll(true) | 111 | m_filterPatternMatchAll(true) | ||
112 | { | 112 | { | ||
113 | //needed to pass the job around with qml | ||||
114 | qmlRegisterType<KIO::DropJob>(); | ||||
113 | DirLister *dirLister = new DirLister(this); | 115 | DirLister *dirLister = new DirLister(this); | ||
114 | dirLister->setDelayedMimeTypes(true); | 116 | dirLister->setDelayedMimeTypes(true); | ||
115 | dirLister->setAutoErrorHandlingEnabled(false, 0); | 117 | dirLister->setAutoErrorHandlingEnabled(false, 0); | ||
116 | connect(dirLister, &DirLister::error, this, &FolderModel::dirListFailed); | 118 | connect(dirLister, &DirLister::error, this, &FolderModel::dirListFailed); | ||
117 | connect(dirLister, &KCoreDirLister::itemsDeleted, this, &FolderModel::evictFromIsDirCache); | 119 | connect(dirLister, &KCoreDirLister::itemsDeleted, this, &FolderModel::evictFromIsDirCache); | ||
118 | 120 | | |||
119 | m_dirModel = new KDirModel(this); | 121 | m_dirModel = new KDirModel(this); | ||
120 | m_dirModel->setDirLister(dirLister); | 122 | m_dirModel->setDirLister(dirLister); | ||
▲ Show 20 Lines • Show All 805 Lines • ▼ Show 20 Line(s) | 927 | } else { | |||
926 | dropTargetUrl = item.mostLocalUrl(); | 928 | dropTargetUrl = item.mostLocalUrl(); | ||
927 | } | 929 | } | ||
928 | } else { | 930 | } else { | ||
929 | dropTargetUrl = item.mostLocalUrl(); | 931 | dropTargetUrl = item.mostLocalUrl(); | ||
930 | } | 932 | } | ||
931 | 933 | | |||
932 | KIO::DropJob *dropJob = KIO::drop(&ev, dropTargetUrl); | 934 | KIO::DropJob *dropJob = KIO::drop(&ev, dropTargetUrl); | ||
933 | dropJob->ui()->setAutoErrorHandlingEnabled(true); | 935 | dropJob->ui()->setAutoErrorHandlingEnabled(true); | ||
936 | const int x = dropEvent->property("x").toInt(); | ||||
937 | const int y = dropEvent->property("y").toInt(); | ||||
938 | | ||||
939 | connect(dropJob, static_cast<void(KIO::DropJob::*)(const KFileItemListProperties &)>(&KIO::DropJob::popupMenuAboutToShow), this, [this, mimeData, x, y, dropJob](const KFileItemListProperties &) { | ||||
940 | emit popupMenuAboutToShow(dropJob, mimeData, x, y); | ||||
941 | }); | ||||
934 | } | 942 | } | ||
935 | 943 | | |||
936 | void FolderModel::dropCwd(QObject* dropEvent) | 944 | void FolderModel::dropCwd(QObject* dropEvent) | ||
937 | { | 945 | { | ||
938 | QMimeData *mimeData = qobject_cast<QMimeData *>(dropEvent->property("mimeData").value<QObject *>()); | 946 | QMimeData *mimeData = qobject_cast<QMimeData *>(dropEvent->property("mimeData").value<QObject *>()); | ||
939 | 947 | | |||
940 | if (!mimeData) { | 948 | if (!mimeData) { | ||
941 | return; | 949 | return; | ||
▲ Show 20 Lines • Show All 681 Lines • Show Last 20 Lines |