2
0
mirror of https://github.com/kotatogram/kotatogram-desktop synced 2025-08-31 06:35:14 +00:00

Eliminate ifndefs in notifications_manager_linux

This commit is contained in:
Ilya Fedin
2021-01-05 17:02:54 +04:00
committed by John Preston
parent 0c37990ccd
commit 3b7d5d3c80
4 changed files with 70 additions and 35 deletions

View File

@@ -17,7 +17,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
#include "main/main_session.h"
#include "lang/lang_keys.h"
#ifndef DESKTOP_APP_DISABLE_DBUS_INTEGRATION
#include <QtCore/QVersionNumber>
#include <QtDBus/QDBusConnection>
#include <QtDBus/QDBusMessage>
@@ -29,12 +28,9 @@ extern "C" {
#include <gio/gio.h>
#define signals public
} // extern "C"
#endif // !DESKTOP_APP_DISABLE_DBUS_INTEGRATION
namespace Platform {
namespace Notifications {
#ifndef DESKTOP_APP_DISABLE_DBUS_INTEGRATION
namespace {
constexpr auto kDBusTimeout = 30000;
@@ -615,16 +611,13 @@ void NotificationData::notificationReplied(uint id, const QString &text) {
}
} // namespace
#endif // !DESKTOP_APP_DISABLE_DBUS_INTEGRATION
bool SkipAudio() {
#ifndef DESKTOP_APP_DISABLE_DBUS_INTEGRATION
if (Supported()
&& GetCapabilities().contains(qsl("inhibitions"))
&& !InhibitedNotSupported) {
return Inhibited();
}
#endif // !DESKTOP_APP_DISABLE_DBUS_INTEGRATION
return false;
}
@@ -638,18 +631,12 @@ bool SkipFlashBounce() {
}
bool Supported() {
#ifndef DESKTOP_APP_DISABLE_DBUS_INTEGRATION
return NotificationsSupported;
#endif // !DESKTOP_APP_DISABLE_DBUS_INTEGRATION
return false;
}
std::unique_ptr<Window::Notifications::Manager> Create(
Window::Notifications::System *system) {
#ifndef DESKTOP_APP_DISABLE_DBUS_INTEGRATION
GetSupported();
#endif // !DESKTOP_APP_DISABLE_DBUS_INTEGRATION
if ((Core::App().settings().nativeNotifications() && Supported())
|| IsWayland()) {
@@ -659,27 +646,6 @@ std::unique_ptr<Window::Notifications::Manager> Create(
return nullptr;
}
#ifdef DESKTOP_APP_DISABLE_DBUS_INTEGRATION
class Manager::Private {
public:
using Type = Window::Notifications::CachedUserpics::Type;
explicit Private(not_null<Manager*> manager, Type type) {}
void showNotification(
not_null<PeerData*> peer,
std::shared_ptr<Data::CloudImageView> &userpicView,
MsgId msgId,
const QString &title,
const QString &subtitle,
const QString &msg,
bool hideNameAndPhoto,
bool hideReplyButton) {}
void clearAll() {}
void clearFromHistory(not_null<History*> history) {}
void clearFromSession(not_null<Main::Session*> session) {}
void clearNotification(NotificationId id) {}
};
#else // DESKTOP_APP_DISABLE_DBUS_INTEGRATION
class Manager::Private {
public:
using Type = Window::Notifications::CachedUserpics::Type;
@@ -866,7 +832,6 @@ void Manager::Private::clearNotification(NotificationId id) {
Manager::Private::~Private() {
clearAll();
}
#endif // !DESKTOP_APP_DISABLE_DBUS_INTEGRATION
Manager::Manager(not_null<Window::Notifications::System*> system)
: NativeManager(system)

View File

@@ -0,0 +1,40 @@
/*
This file is part of Telegram Desktop,
the official desktop application for the Telegram messaging service.
For license and copyright information please follow this link:
https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
*/
#include "platform/linux/notifications_manager_linux.h"
namespace Platform {
namespace Notifications {
bool SkipAudio() {
return false;
}
bool SkipToast() {
return false;
}
bool SkipFlashBounce() {
return false;
}
bool Supported() {
return false;
}
std::unique_ptr<Window::Notifications::Manager> Create(
Window::Notifications::System *system) {
if (IsWayland()) {
return std::make_unique<Window::Notifications::DummyManager>(system);
}
return nullptr;
}
} // namespace Notifications
} // namespace Platform