/usr/include/KF5/KIOWidgets/kio/openfilemanagerwindowjob.h is in libkf5kio-dev 5.44.0-0ubuntu1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 | /* This file is part of the KDE libraries
Copyright (C) 2016 Kai Uwe Broulik <kde@privat.broulik.de>
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This library 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
Library General Public License for more details.
You should have received a copy of the GNU Library General Public License
along with this library; see the file COPYING.LIB. If not, write to
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA.
*/
#ifndef OPENFILEMANAGERWINDOWJOB_H
#define OPENFILEMANAGERWINDOWJOB_H
#include "kiowidgets_export.h"
#include <KJob>
#include <QList>
#include <QUrl>
namespace KIO
{
class OpenFileManagerWindowJobPrivate;
/**
* @class KIO::OpenFileManagerWindowJob openfilemanagerwindowjob.h <KIO/OpenFileManagerWindowJob>
*
* @brief Open a File Manager Window
*
* Using this job you can open a file manager window and highlight specific
* files within a folder. This can be useful if you downloaded a file and want
* to present it to the user without the user having to manually search the
* file in its parent folder. This can also be used for a "Show in Parent Folder"
* functionality.
*
* On Linux, this job will use the org.freedesktop.FileManager1 interface to highlight
* the files and/or folders. If this fails, the parent directory of the first URL
* will be opened in the default file manager instead.
*
* Note that this job is really only about highlighting certain items
* which means if you, for example, pass it just a URL to a folder it will
* not open this particular folder but instead highlight it within its parent folder.
*
* If you just want to open a folder, use KRun instead.
*
* @since 5.24
*/
class KIOWIDGETS_EXPORT OpenFileManagerWindowJob : public KJob
{
Q_OBJECT
public:
/**
* Creates an OpenFileManagerWindowJob
*/
explicit OpenFileManagerWindowJob(QObject *parent = nullptr);
/**
* Destroys the OpenFileManagerWindowJob
*/
virtual ~OpenFileManagerWindowJob();
/**
* Errors the job may emit
*/
enum Errors {
NoValidUrlsError = KJob::UserDefinedError, ///< No valid URLs to highlight have been specified
LaunchFailedError, ///< Failed to launch the file manager
};
/**
* The files and/or folders to highlight
*/
QList<QUrl> highlightUrls() const;
/**
* Set the files and/or folders to highlight
*/
void setHighlightUrls(const QList<QUrl> &highlightUrls);
/**
* The Startup ID
*/
QByteArray startupId() const;
/**
* Set the Startup ID
*/
void setStartupId(const QByteArray &startupId);
/**
* Starts the job
*/
void start() Q_DECL_OVERRIDE;
private:
friend class AbstractOpenFileManagerWindowStrategy;
OpenFileManagerWindowJobPrivate *const d;
};
/**
* Convenience method for creating a job to highlight a certain file or folder.
*
* It will create a job for a given URL(s) and automatically start it.
*
* @since 5.24
*/
KIOWIDGETS_EXPORT OpenFileManagerWindowJob *highlightInFileManager(const QList<QUrl> &urls, const QByteArray &asn = QByteArray());
} // namespace KIO
#endif // OPENFILEMANAGERWINDOWJOB_H
|