-/***************************************************************************
- * Copyright (C) 2006-2009 by Peter Penz <peter.penz19@gmail.com> *
- * Copyright (C) 2006 by Gregor Kališnik <gregor@podnapisi.net> *
- * *
- * This program is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation; either version 2 of the License, or *
- * (at your option) any later version. *
- * *
- * This program is distributed in the hope that it will be useful, *
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
- * GNU General Public License for more details. *
- * *
- * You should have received a copy of the GNU General Public License *
- * along with this program; if not, write to the *
- * Free Software Foundation, Inc., *
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
- ***************************************************************************/
+/*
+ * SPDX-FileCopyrightText: 2006-2009 Peter Penz <peter.penz19@gmail.com>
+ * SPDX-FileCopyrightText: 2006 Gregor Kališnik <gregor@podnapisi.net>
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
#ifndef DOLPHINVIEW_H
#define DOLPHINVIEW_H
class VersionControlObserver;
class ViewProperties;
class QGraphicsSceneDragDropEvent;
-class QRegExp;
+class QRegularExpression;
/**
* @short Represents a view for the directory content.
void markUrlAsCurrent(const QUrl& url);
/**
- * All items that match to the pattern \a pattern will get selected
- * if \a enabled is true and deselected if \a enabled is false.
+ * All items that match the regular expression \a regexp will get selected
+ * if \a enabled is true and deselected if \a enabled is false.
+ *
+ * Note that to match the whole string the pattern should be anchored:
+ * - you can anchor the pattern with QRegularExpression::anchoredPattern()
+ * - if you use QRegularExpresssion::wildcardToRegularExpression(), don't use
+ * QRegularExpression::anchoredPattern() as the former already returns an
+ * anchored pattern
*/
- void selectItems(const QRegExp& pattern, bool enabled);
+ void selectItems(const QRegularExpression ®exp, bool enabled);
/**
* Sets the zoom level to \a level. It is assured that the used
* Copies all selected items to the clipboard and marks
* the items as cut.
*/
- void cutSelectedItems();
+ void cutSelectedItemsToClipboard();
/** Copies all selected items to the clipboard. */
- void copySelectedItems();
+ void copySelectedItemsToClipboard();
+
+ /**
+ * Copies all selected items to @p destinationUrl.
+ */
+ void copySelectedItems(const KFileItemList &selection, const QUrl &destinationUrl);
+
+ /**
+ * Moves all selected items to @p destinationUrl.
+ */
+ void moveSelectedItems(const KFileItemList &selection, const QUrl &destinationUrl);
/** Pastes the clipboard data to this view. */
void paste();
*/
void pasteIntoFolder();
+ /**
+ * Copies the path of the first selected KFileItem into Clipboard.
+ */
+ void copyPathToClipboard();
+
+ /**
+ * Creates duplicates of selected items, appending "copy"
+ * to the end.
+ */
+ void duplicateSelectedItems();
+
/**
* Handles a drop of @p dropEvent onto widget @p dropWidget and destination @p destUrl
*/
void stopLoading();
+ /**
+ * Applies the state that has been restored by restoreViewState()
+ * to the view.
+ */
+ void updateViewState();
+
/** Activates the view if the item list container gets focus. */
bool eventFilter(QObject* watched, QEvent* event) override;
*/
void urlActivated(const QUrl& url);
+ void goUpRequested();
+
protected:
/** Changes the zoom level if Control is pressed during a wheel event. */
void wheelEvent(QWheelEvent* event) override;
void slotMouseButtonPressed(int itemIndex, Qt::MouseButtons buttons);
void slotRenameDialogRenamingFinished(const QList<QUrl>& urls);
void slotSelectedItemTextPressed(int index);
+ void slotCopyingDone(KIO::Job *, const QUrl &, const QUrl &to);
+ void slotIncreaseZoom();
+ void slotDecreaseZoom();
+ void slotSwipeUp();
/*
* Is called when new items get pasted or dropped.
/*
* Is called after all pasted or dropped items have been copied to destination.
*/
- void slotPasteJobResult(KJob *job);
+ void slotJobResult(KJob *job);
/**
* Emits the signal \a selectionChanged() with a small delay. This is
*/
void slotDirectoryRedirection(const QUrl& oldUrl, const QUrl& newUrl);
- /**
- * Applies the state that has been restored by restoreViewState()
- * to the view.
- */
- void updateViewState();
-
/**
* Calculates the number of currently shown files into
* \a fileCount and the number of folders into \a folderCount.