summaryrefslogtreecommitdiffstats
path: root/src/portal_service.cpp
diff options
context:
space:
mode:
authorEmanoil Kotsev <[email protected]>2024-07-12 18:28:43 +0000
committerEmanoil Kotsev <[email protected]>2024-07-12 18:28:43 +0000
commit6e430ca48a0533f445ef60270a2c79d609e8e7be (patch)
tree6d83955a7e20f5bfd0e18bc00f7a8dfb09a90c05 /src/portal_service.cpp
parent4b20e27f327a0844c5bdc0db31c914e824e6bbfe (diff)
downloadxdg-desktop-portal-tde-feat/improvements.tar.gz
xdg-desktop-portal-tde-feat/improvements.zip
Added the FileChooser functions and deleted the original filesfeat/improvements
Signed-off-by: Emanoil Kotsev <[email protected]>
Diffstat (limited to 'src/portal_service.cpp')
-rw-r--r--src/portal_service.cpp75
1 files changed, 0 insertions, 75 deletions
diff --git a/src/portal_service.cpp b/src/portal_service.cpp
deleted file mode 100644
index 86baa63..0000000
--- a/src/portal_service.cpp
+++ /dev/null
@@ -1,75 +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!
-*******************************************************************************/
-
-// TQt
-#include <tqdbusmessage.h>
-
-// TDE
-#include <tdemessagebox.h>
-#include <kdebug.h>
-
-// Portal
-#include "file_chooser_portal.h"
-#include "portal_service.h"
-
-
-static const char *dbusObjectPath = "/org/freedesktop/portal/desktop";
-static const char *dbusInterfaceRoot = "org.freedesktop.impl.portal";
-
-TDEPortalService::TDEPortalService(TQT_DBusConnection &connection)
-: m_connection(connection)
-{
- if (!m_connection.registerObject(dbusObjectPath, this))
- kdFatal() << "Unable to register XDG desktop portal object " << dbusObjectPath << endl;
- else
- kdDebug() << "Registered XDG desktop portal object " << dbusObjectPath << endl;
-}
-
-TDEPortalService::~TDEPortalService()
-{
- m_connection.unregisterObject(dbusObjectPath);
-}
-
-TQT_DBusObjectBase* TDEPortalService::getPortalInterface(TQCString portal)
-{
- if (portal == "FileChooser")
- return new TDEFileChooserPortal(m_connection);
-
- return nullptr;
-}
-
-bool TDEPortalService::handleMethodCall(const TQT_DBusMessage &message)
-{
- if (!message.interface().startsWith(dbusInterfaceRoot))
- return false;
-
- TQCString portal = message.interface().mid(TQString(dbusInterfaceRoot).length() + 1).local8Bit();
- TQT_DBusObjectBase *iface = getPortalInterface(portal);
- if (!iface)
- {
- kdWarning() << "Unsupported XDG portal requested: " << portal << endl;
- return false;
- }
-
- return delegateMethodCall(message, iface);
-}
-
-// kate: replace-tabs true; tab-width 4; indent-width 4; \ No newline at end of file