summary refs log tree commit diff
path: root/src/notifications
diff options
context:
space:
mode:
authorLoren Burkholder <55629213+LorenDB@users.noreply.github.com>2022-04-14 11:02:55 -0400
committerGitHub <noreply@github.com>2022-04-14 15:02:55 +0000
commit686ebfdbecbcacdbdba6c6289f22479c2fe5133e (patch)
treeef4124f0ad74d78612555160bfd556a8e98d068b /src/notifications
parentTranslated using Weblate (Finnish) (diff)
downloadnheko-686ebfdbecbcacdbdba6c6289f22479c2fe5133e.tar.xz
Add D-Bus API (#916)
This adds functionality for viewing joined rooms and activating rooms.
Diffstat (limited to 'src/notifications')
-rw-r--r--src/notifications/Manager.h5
-rw-r--r--src/notifications/ManagerLinux.cpp47
2 files changed, 1 insertions, 51 deletions
diff --git a/src/notifications/Manager.h b/src/notifications/Manager.h

index 2a399a27..0a5f4caa 100644 --- a/src/notifications/Manager.h +++ b/src/notifications/Manager.h
@@ -11,11 +11,6 @@ #include <mtx/responses/notifications.hpp> -// convenience definition -#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD) || defined(Q_OS_HAIKU) -#define NHEKO_DBUS_SYS -#endif - #if defined(NHEKO_DBUS_SYS) #include <QtDBus/QDBusArgument> #include <QtDBus/QDBusInterface> diff --git a/src/notifications/ManagerLinux.cpp b/src/notifications/ManagerLinux.cpp
index 76f290a8..225a6533 100644 --- a/src/notifications/ManagerLinux.cpp +++ b/src/notifications/ManagerLinux.cpp
@@ -27,6 +27,7 @@ #include "MxcImageProvider.h" #include "UserSettingsPage.h" #include "Utils.h" +#include "dbus/NhekoDBusApi.h" NotificationsManager::NotificationsManager(QObject *parent) : QObject(parent) @@ -269,49 +270,3 @@ NotificationsManager::notificationClosed(uint id, uint reason) Q_UNUSED(reason); notificationIds.remove(id); } - -/** - * Automatic marshaling of a QImage for org.freedesktop.Notifications.Notify - * - * This function is from the Clementine project (see - * http://www.clementine-player.org) and licensed under the GNU General Public - * License, version 3 or later. - * - * SPDX-FileCopyrightText: 2010 David Sansome <me@davidsansome.com> - */ -QDBusArgument & -operator<<(QDBusArgument &arg, const QImage &image) -{ - if (image.isNull()) { - arg.beginStructure(); - arg << 0 << 0 << 0 << false << 0 << 0 << QByteArray(); - arg.endStructure(); - return arg; - } - - QImage i = image.height() > 100 || image.width() > 100 - ? image.scaledToHeight(100, Qt::SmoothTransformation) - : image; - i = std::move(i).convertToFormat(QImage::Format_RGBA8888); - - arg.beginStructure(); - arg << i.width(); - arg << i.height(); - arg << i.bytesPerLine(); - arg << i.hasAlphaChannel(); - int channels = i.hasAlphaChannel() ? 4 : 3; - arg << i.depth() / channels; - arg << channels; - arg << QByteArray(reinterpret_cast<const char *>(i.bits()), i.sizeInBytes()); - arg.endStructure(); - - return arg; -} - -const QDBusArgument & -operator>>(const QDBusArgument &arg, QImage &) -{ - // This is needed to link but shouldn't be called. - Q_ASSERT(0); - return arg; -}