1
0
mirror of https://invent.kde.org/system/dolphin synced 2024-07-02 16:31:23 +00:00

[Places Panel] Make use of KFilePlacesView::dragAutoActivationDelay

Code moved to KIO
This commit is contained in:
Kai Uwe Broulik 2022-02-03 21:37:30 +01:00
parent 32c072fe5f
commit e9bd295b3c
2 changed files with 2 additions and 67 deletions

View File

@ -95,17 +95,9 @@ void PlacesPanel::proceedWithTearDown()
void PlacesPanel::readSettings()
{
if (GeneralSettings::autoExpandFolders()) {
if (!m_dragActivationTimer) {
m_dragActivationTimer = new QTimer(this);
m_dragActivationTimer->setInterval(750);
m_dragActivationTimer->setSingleShot(true);
connect(m_dragActivationTimer, &QTimer::timeout,
this, &PlacesPanel::slotDragActivationTimeout);
}
setDragAutoActivationDelay(750);
} else {
delete m_dragActivationTimer;
m_dragActivationTimer = nullptr;
m_pendingDragActivation = QPersistentModelIndex();
setDragAutoActivationDelay(0);
}
const int iconSize = qMax(0, PlacesPanelSettings::iconSize());
@ -135,46 +127,6 @@ void PlacesPanel::showEvent(QShowEvent* event)
KFilePlacesView::showEvent(event);
}
void PlacesPanel::dragMoveEvent(QDragMoveEvent *event)
{
KFilePlacesView::dragMoveEvent(event);
if (!m_dragActivationTimer) {
return;
}
const QModelIndex index = indexAt(event->pos());
if (!index.isValid()) {
return;
}
QPersistentModelIndex persistentIndex(index);
if (!m_pendingDragActivation.isValid() || m_pendingDragActivation != persistentIndex) {
m_pendingDragActivation = persistentIndex;
m_dragActivationTimer->start();
}
}
void PlacesPanel::dragLeaveEvent(QDragLeaveEvent *event)
{
KFilePlacesView::dragLeaveEvent(event);
if (m_dragActivationTimer) {
m_dragActivationTimer->stop();
m_pendingDragActivation = QPersistentModelIndex();
}
}
void PlacesPanel::dropEvent(QDropEvent *event)
{
KFilePlacesView::dropEvent(event);
if (m_dragActivationTimer) {
m_dragActivationTimer->stop();
m_pendingDragActivation = QPersistentModelIndex();
}
}
void PlacesPanel::slotConfigureTrash()
{
const QUrl url = currentIndex().data(KFilePlacesModel::UrlRole).toUrl();
@ -185,16 +137,6 @@ void PlacesPanel::slotConfigureTrash()
settingsDialog->show();
}
void PlacesPanel::slotDragActivationTimeout()
{
if (!m_pendingDragActivation.isValid()) {
return;
}
auto *placesModel = static_cast<KFilePlacesModel *>(model());
Q_EMIT placeActivated(KFilePlacesModel::convertedUrl(placesModel->url(m_pendingDragActivation)));
}
void PlacesPanel::slotUrlsDropped(const QUrl& dest, QDropEvent* event, QWidget* parent)
{
KIO::DropJob *job = DragAndDropHelper::dropUrls(dest, event, parent);

View File

@ -54,13 +54,9 @@ Q_SIGNALS:
protected:
void showEvent(QShowEvent* event) override;
void dragMoveEvent(QDragMoveEvent *event) override;
void dragLeaveEvent(QDragLeaveEvent *event) override;
void dropEvent(QDropEvent *event) override;
private Q_SLOTS:
void slotConfigureTrash();
void slotDragActivationTimeout();
void slotUrlsDropped(const QUrl& dest, QDropEvent* event, QWidget* parent);
void slotContextMenuAboutToShow(const QModelIndex &index, QMenu *menu);
void slotTearDownRequested(const QModelIndex &index);
@ -75,9 +71,6 @@ private:
QUrl m_url; // only used for initial setUrl
QList<QAction*> m_customContextMenuActions;
QTimer *m_dragActivationTimer = nullptr;
QPersistentModelIndex m_pendingDragActivation;
Solid::StorageAccess *m_deviceToTearDown = nullptr;
QAction *m_configureTrashAction;