summaryrefslogtreecommitdiffstats
path: root/src/file_chooser_portal.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/file_chooser_portal.h')
-rw-r--r--src/file_chooser_portal.h114
1 files changed, 0 insertions, 114 deletions
diff --git a/src/file_chooser_portal.h b/src/file_chooser_portal.h
deleted file mode 100644
index 375b7c8..0000000
--- a/src/file_chooser_portal.h
+++ /dev/null
@@ -1,114 +0,0 @@
-/*******************************************************************************
- XDG desktop portal implementation for TDE
- Copyright © 2024 Mavridis Philippe <[email protected]>
-
- This program or library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public License as
- published by the Free Software Foundation; either version 2.1 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 Lesser General Public License for more
- details.
-
- You should have received a copy of the GNU Lesser General Public License
- along with this library; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-
- Improvements and feedback are welcome!
-*******************************************************************************/
-
-#ifndef __FILE_CHOOSER_PORTAL_H
-#define __FILE_CHOOSER_PORTAL_H
-
-// TQt
-#include <tqdbusconnection.h>
-#include <tqdbusmessage.h>
-#include <tqdbusvariant.h>
-#include <tqdbuserror.h>
-#include <tqobject.h>
-
-// TDE
-#include <tdefile.h>
-
-// Portal
-#include "filechooserInterface.h"
-
-struct FileDialogOpts
-{
- TQString caption;
- TQString okButtonText;
- TQString startDir;
- TQString startName;
- TQString filters;
- bool multiple = false;
- bool directory = false;
- bool savingMode = false;
- bool modal = true;
- WId windowId = 0;
-
- inline KFile::Mode mode()
- {
- if (directory) return KFile::Directory;
- return multiple ? KFile::Files : KFile::File;
- }
-};
-
-class KFileDialog;
-
-class TDEFileChooserPortal : public TQObject,
- public org::freedesktop::impl::portal::FileChooserInterface
-{
- public:
- TDEFileChooserPortal(TQT_DBusConnection &connection);
- virtual ~TDEFileChooserPortal();
-
- protected:
- virtual bool OpenFile(const TQT_DBusObjectPath& handle,
- const TQString& app_id,
- const TQString& parent_window,
- const TQString& title,
- const TQMap<TQString, TQT_DBusVariant> &options,
- TQ_UINT32& response,
- TQMap<TQString, TQT_DBusVariant> &results,
- TQT_DBusError& error);
-
- virtual bool SaveFile(const TQT_DBusObjectPath& handle,
- const TQString& app_id,
- const TQString& parent_window,
- const TQString& title,
- const TQMap<TQString, TQT_DBusVariant> &options,
- TQ_UINT32& response,
- TQMap<TQString, TQT_DBusVariant> &results,
- TQT_DBusError& error);
-
- virtual bool SaveFiles(const TQT_DBusObjectPath& handle,
- const TQString& app_id,
- const TQString& parent_window,
- const TQString& title,
- const TQMap<TQString, TQT_DBusVariant> &options,
- TQ_UINT32& response,
- TQMap<TQString, TQT_DBusVariant> &results,
- TQT_DBusError& error);
-
- virtual void handleMethodReply(const TQT_DBusMessage &reply);
-
- private:
- TQT_DBusConnection m_connection;
-
- WId parseWindowId(const TQString data);
- TQString parseFilter(const TQT_DBusData data);
- TQString parseFilterList(const TQT_DBusVariant filterData,
- const TQT_DBusVariant currentFilterData);
-
- bool execFileDialog(FileDialogOpts options,
- const TQT_DBusObjectPath& handle,
- TQ_UINT32& response,
- TQMap<TQString, TQT_DBusVariant> &results,
- TQT_DBusError& error);
-};
-
-#endif // __FILE_CHOOSER_PORTAL_H
-
-// kate: replace-tabs true; tab-width 4; indent-width 4; \ No newline at end of file