From 7eb389445426a4b2cd6389aad33c50e84b9e788c Mon Sep 17 00:00:00 2001 From: Gerasim Troeglazov <3dEyes@gmail.com> Date: Sun, 10 Mar 2019 14:39:53 +1000 Subject: [PATCH] Otter-Browser: add platform integration module * "Open with..." for download manager * Native notifications * Use application icon for system tray --- .../additional-files/haikuicons.zip | Bin 30920 -> 118923 bytes .../otter-browser/otter_browser-1.0.01.recipe | 4 +- .../patches/otter_browser-1.0.01.patchset | 423 +++++++++++++++++- 3 files changed, 422 insertions(+), 5 deletions(-) diff --git a/www-client/otter-browser/additional-files/haikuicons.zip b/www-client/otter-browser/additional-files/haikuicons.zip index be4fcb68c50fa6a527a213e34f7764a915fe760b..c35c408ddf1116263196327c6a69898d7e87b8de 100644 GIT binary patch delta 89411 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 X%p|HY Date: Thu, 3 Jan 2019 17:08:40 +1000 Subject: Fix for Haiku @@ -103,14 +103,14 @@ index bec0f9c..d2d6581 100644 2.19.1 -From e84f821939a5b4b3f7a607e08506fdffd52fff8d Mon Sep 17 00:00:00 2001 +From 3e92b28544aa663f84d8e0707ecca12068ddbe91 Mon Sep 17 00:00:00 2001 From: Gerasim Troeglazov <3dEyes@gmail.com> Date: Sat, 2 Mar 2019 23:13:15 +1000 Subject: Add haiku hunspell paths diff --git a/3rdparty/sonnet/src/plugins/hunspell/hunspellclient.cpp b/3rdparty/sonnet/src/plugins/hunspell/hunspellclient.cpp -index e9767a9..1956528 100644 +index e9767a9..78694a9 100644 --- a/3rdparty/sonnet/src/plugins/hunspell/hunspellclient.cpp +++ b/3rdparty/sonnet/src/plugins/hunspell/hunspellclient.cpp @@ -56,6 +56,8 @@ HunspellClient::HunspellClient(QObject *parent) @@ -125,3 +125,420 @@ index e9767a9..1956528 100644 -- 2.19.1 + +From f62530291720990392c793a93273f39835951ce4 Mon Sep 17 00:00:00 2001 +From: Gerasim Troeglazov <3dEyes@gmail.com> +Date: Sun, 10 Mar 2019 14:18:43 +1000 +Subject: Add platform integration module for Haiku + + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 6bd212f..38873bc 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -504,6 +504,16 @@ elseif (APPLE) + ) + + set_source_files_properties(resources/icons/otter-browser.icns PROPERTIES MACOSX_PACKAGE_LOCATION Resources) ++elseif (HAIKU) ++ set(otter_src ++ ${otter_src} ++ src/modules/platforms/haiku/HaikuPlatformIntegration.cpp ++ src/modules/platforms/haiku/HaikuPlatformStyle.cpp ++ 3rdparty/libmimeapps/ConfigReader.cpp ++ 3rdparty/libmimeapps/DesktopEntry.cpp ++ 3rdparty/libmimeapps/Index.cpp ++ 3rdparty/libmimeapps/Tools.cpp ++ ) + elseif (UNIX) + find_package(Qt5DBus 5.6.0 QUIET) + +@@ -554,6 +564,10 @@ elseif (UNIX) + target_link_libraries(otter-browser Qt5::DBus) + endif () + ++ if (HAIKU) ++ target_link_libraries(otter-browser -lbe) ++ endif () ++ + if (ENABLE_CRASHREPORTS) + target_link_libraries(otter-browser -lpthread) + endif () +diff --git a/src/core/Application.cpp b/src/core/Application.cpp +index 64b6cc6..1b041e2 100644 +--- a/src/core/Application.cpp ++++ b/src/core/Application.cpp +@@ -46,6 +46,8 @@ + #include "../modules/platforms/windows/WindowsPlatformIntegration.h" + #elif defined(Q_OS_MAC) + #include "../modules/platforms/mac/MacPlatformIntegration.h" ++#elif defined(Q_OS_HAIKU) ++#include "../modules/platforms/haiku/HaikuPlatformIntegration.h" + #elif defined(Q_OS_UNIX) + #include "../modules/platforms/freedesktoporg/FreeDesktopOrgPlatformIntegration.h" + #endif +@@ -454,6 +456,8 @@ Application::Application(int &argc, char **argv) : QApplication(argc, argv), Act + m_platformIntegration = new WindowsPlatformIntegration(this); + #elif defined(Q_OS_MAC) + m_platformIntegration = new MacPlatformIntegration(this); ++#elif defined(Q_OS_HAIKU) ++ m_platformIntegration = new HaikuPlatformIntegration(this); + #elif defined(Q_OS_UNIX) + m_platformIntegration = new FreeDesktopOrgPlatformIntegration(this); + #endif +diff --git a/src/modules/platforms/haiku/HaikuPlatformIntegration.cpp b/src/modules/platforms/haiku/HaikuPlatformIntegration.cpp +new file mode 100644 +index 0000000..8e0d6d7 +--- /dev/null ++++ b/src/modules/platforms/haiku/HaikuPlatformIntegration.cpp +@@ -0,0 +1,191 @@ ++/************************************************************************** ++* Otter Browser: Web browser controlled by the user, not vice-versa. ++* Copyright (C) 2019 Gerasim Troeglazov <3dEyes@gmail.com> ++* ++* This program is free software: you can redistribute it and/or modify ++* it under the terms of the GNU General Public License as published by ++* the Free Software Foundation, either version 3 of the License, or ++* (at your option) any later version. ++* ++* This program 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 General Public License for more details. ++* ++* You should have received a copy of the GNU General Public License ++* along with this program. If not, see . ++* ++**************************************************************************/ ++ ++#include "HaikuPlatformIntegration.h" ++#include "HaikuPlatformStyle.h" ++#include "../../../core/Application.h" ++#include "../../../core/NotificationsManager.h" ++#include "../../../core/SettingsManager.h" ++#include "../../../core/TransfersManager.h" ++#include "../../../core/Utils.h" ++#include "../../../../3rdparty/libmimeapps/DesktopEntry.h" ++#include "../../../../3rdparty/libmimeapps/Index.h" ++ ++#include ++#include ++#include ++#include ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++namespace Otter ++{ ++ ++HaikuPlatformIntegration::HaikuPlatformIntegration(QObject *parent) : PlatformIntegration(parent) ++{ ++} ++ ++HaikuPlatformIntegration::~HaikuPlatformIntegration() ++{ ++} ++ ++void HaikuPlatformIntegration::runApplication(const QString &command, const QUrl &url) const ++{ ++ if (command.isEmpty()) ++ QDesktopServices::openUrl(url); ++ ++ std::vector fileNames; ++ fileNames.push_back((url.isLocalFile() ? QDir::toNativeSeparators(url.toLocalFile()) : url.url()).toStdString()); ++ ++ const std::vector parsed(LibMimeApps::DesktopEntry::parseExec(command.toStdString(), \ ++ fileNames, LibMimeApps::DesktopEntry::ParseOptions::NecessarilyUseUrl)); ++ ++ if (parsed.size() < 1) ++ return; ++ ++ QStringList arguments; ++ arguments.reserve(static_cast(parsed.size())); ++ ++ for (std::vector::size_type i = 1; i < parsed.size(); ++i) ++ arguments.append(QString::fromStdString(parsed.at(i))); ++ ++ QProcess::startDetached(QString::fromStdString(parsed.at(0)), arguments); ++} ++ ++void HaikuPlatformIntegration::showNotification(Notification *notification) ++{ ++ notification_type ntype = B_INFORMATION_NOTIFICATION; ++ ++ QString title; ++ switch (notification->getLevel()) ++ { ++ case Notification::ErrorLevel: ++ title = tr("Error"); ++ ntype = B_ERROR_NOTIFICATION; ++ break; ++ case Notification::WarningLevel: ++ title = tr("Warning"); ++ ntype = B_IMPORTANT_NOTIFICATION; ++ break; ++ default: ++ title = tr("Information"); ++ notification_type ntype = B_INFORMATION_NOTIFICATION; ++ break; ++ } ++ ++ QFileInfo appFileInfo(QCoreApplication::applicationFilePath()); ++ BString stitle((const char *)(title.toUtf8())); ++ BString smessage((const char *)(notification->getMessage().toUtf8())); ++ BString smessageId((const char *)(appFileInfo.fileName().toUtf8())); ++ BString group((const char*)(appFileInfo.baseName().toUtf8())); ++ ++ BFile file(appFileInfo.filePath().toUtf8(), O_RDONLY); ++ BNodeInfo nodeInfo(&file); ++ BRect rect(0, 0, B_LARGE_ICON - 1, B_LARGE_ICON -1); ++ BBitmap bitmap(rect, B_RGBA32); ++ ++ BNotification notification(ntype); ++ notification.SetGroup(group); ++ notification.SetTitle(stitle); ++ notification.SetMessageID(smessageId); ++ notification.SetContent(smessage); ++ ++ if (nodeInfo.GetTrackerIcon(&bitmap, B_LARGE_ICON) == B_NO_ERROR) ++ notification.SetIcon(&bitmap); ++ ++ const int visibilityDuration(SettingsManager::getOption(SettingsManager::Interface_NotificationVisibilityDurationOption).toInt()); ++ ++ notification.Send((visibilityDuration <= 0) ? 3000000 : visibilityDuration * 1000000); ++} ++ ++void HaikuPlatformIntegration::updateTransfersProgress() ++{ ++} ++ ++void HaikuPlatformIntegration::setTransfersProgress(qint64 bytesTotal, qint64 bytesReceived, qint64 transferAmount) ++{ ++} ++ ++Style* HaikuPlatformIntegration::createStyle(const QString &name) const ++{ ++ return nullptr; ++} ++ ++QVector HaikuPlatformIntegration::getApplicationsForMimeType(const QMimeType &mimeType) ++{ ++ QVector result; ++ ++ BMimeType type(mimeType.name().toLatin1()); ++ BMessage applications; ++ if (type.GetSupportingApps(&applications) != B_OK) ++ return result; ++ ++ ApplicationInformation application; ++ application.command = QString("/bin/open"); ++ application.name = QString("Default application"); ++ application.icon = QIcon::fromTheme("application-x-executable"); ++ result.append(application); ++ ++ const char* signature; ++ int32 i = 0; ++ while (applications.FindString("applications", i, &signature) == B_OK) { ++ char name[B_FILE_NAME_LENGTH]; ++ BMimeType applicationType(signature); ++ entry_ref app_ref; ++ applicationType.GetAppHint(&app_ref); ++ icon_size iconSize = B_MINI_ICON; ++ BRect iconRect(0, 0, iconSize - 1, iconSize - 1); ++ BBitmap* appIcon = new BBitmap(iconRect, 0, B_RGBA32); ++ if (applicationType.GetIcon(appIcon, iconSize) < B_OK) { ++ delete appIcon; ++ appIcon = NULL; ++ } ++ BPath path(&app_ref); ++ if (applicationType.GetShortDescription(name) == B_OK) { ++ ApplicationInformation application; ++ application.command = QString(path.Path()); ++ application.name = QString(name); ++ if (appIcon != NULL) { ++ QImage image(iconSize, iconSize, QImage::Format_ARGB32); ++ memcpy((uchar*)image.bits(), (uchar*)appIcon->Bits(), iconSize * iconSize * 4); ++ QPixmap pixmap = QPixmap::fromImage(image); ++ application.icon = QIcon(pixmap); ++ delete appIcon; ++ } ++ result.append(application); ++ } ++ i++; ++ } ++ ++ return result; ++} ++ ++bool HaikuPlatformIntegration::canShowNotifications() const ++{ ++ return true; ++} ++ ++} +diff --git a/src/modules/platforms/haiku/HaikuPlatformIntegration.h b/src/modules/platforms/haiku/HaikuPlatformIntegration.h +new file mode 100644 +index 0000000..f49bb32 +--- /dev/null ++++ b/src/modules/platforms/haiku/HaikuPlatformIntegration.h +@@ -0,0 +1,53 @@ ++/************************************************************************** ++* Otter Browser: Web browser controlled by the user, not vice-versa. ++* Copyright (C) 2019 Gerasim Troeglazov <3dEyes@gmail.com> ++* ++* This program is free software: you can redistribute it and/or modify ++* it under the terms of the GNU General Public License as published by ++* the Free Software Foundation, either version 3 of the License, or ++* (at your option) any later version. ++* ++* This program 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 General Public License for more details. ++* ++* You should have received a copy of the GNU General Public License ++* along with this program. If not, see . ++* ++**************************************************************************/ ++ ++#ifndef OTTER_HAIKUPLATFORMINTEGRATION_H ++#define OTTER_HAIKUPLATFORMINTEGRATION_H ++ ++#include "../../../core/PlatformIntegration.h" ++ ++namespace Otter ++{ ++ ++class HaikuPlatformIntegration final : public PlatformIntegration ++{ ++ Q_OBJECT ++ ++public: ++ explicit HaikuPlatformIntegration(QObject *parent); ++ ~HaikuPlatformIntegration(); ++ ++ void runApplication(const QString &command, const QUrl &url = {}) const override; ++ Style* createStyle(const QString &name) const override; ++ QVector getApplicationsForMimeType(const QMimeType &mimeType) override; ++ bool canShowNotifications() const override; ++ ++public slots: ++ void showNotification(Notification *notification) override; ++ ++protected: ++ void setTransfersProgress(qint64 bytesTotal, qint64 bytesReceived, qint64 transferAmount); ++ ++protected slots: ++ void updateTransfersProgress(); ++}; ++ ++} ++ ++#endif +diff --git a/src/modules/platforms/haiku/HaikuPlatformStyle.cpp b/src/modules/platforms/haiku/HaikuPlatformStyle.cpp +new file mode 100644 +index 0000000..2258226 +--- /dev/null ++++ b/src/modules/platforms/haiku/HaikuPlatformStyle.cpp +@@ -0,0 +1,46 @@ ++/************************************************************************** ++* Otter Browser: Web browser controlled by the user, not vice-versa. ++* Copyright (C) 2019 Gerasim Troeglazov <3dEyes@gmail.com> ++* ++* This program is free software: you can redistribute it and/or modify ++* it under the terms of the GNU General Public License as published by ++* the Free Software Foundation, either version 3 of the License, or ++* (at your option) any later version. ++* ++* This program 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 General Public License for more details. ++* ++* You should have received a copy of the GNU General Public License ++* along with this program. If not, see . ++* ++**************************************************************************/ ++ ++#include "HaikuPlatformStyle.h" ++#include "../../../core/ThemesManager.h" ++#include "../../../ui/MainWindow.h" ++#include "../../../ui/ToolBarWidget.h" ++ ++#include ++#include ++#include ++ ++namespace Otter ++{ ++ ++HaikuPlatformStyle::HaikuPlatformStyle(const QString &name) : Style(name) ++{ ++} ++ ++void HaikuPlatformStyle::drawControl(ControlElement element, const QStyleOption *option, QPainter *painter, const QWidget *widget) const ++{ ++ Style::drawControl(element, option, painter, widget); ++} ++ ++int HaikuPlatformStyle::getExtraStyleHint(Style::ExtraStyleHint hint) const ++{ ++ return Style::getExtraStyleHint(hint); ++} ++ ++} +diff --git a/src/modules/platforms/haiku/HaikuPlatformStyle.h b/src/modules/platforms/haiku/HaikuPlatformStyle.h +new file mode 100644 +index 0000000..8b50d01 +--- /dev/null ++++ b/src/modules/platforms/haiku/HaikuPlatformStyle.h +@@ -0,0 +1,39 @@ ++/************************************************************************** ++* Otter Browser: Web browser controlled by the user, not vice-versa. ++* Copyright (C) 2019 Gerasim Troeglazov <3dEyes@gmail.com> ++* ++* This program is free software: you can redistribute it and/or modify ++* it under the terms of the GNU General Public License as published by ++* the Free Software Foundation, either version 3 of the License, or ++* (at your option) any later version. ++* ++* This program 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 General Public License for more details. ++* ++* You should have received a copy of the GNU General Public License ++* along with this program. If not, see . ++* ++**************************************************************************/ ++ ++#ifndef OTTER_HAIKUPLATFORMSTYLE_H ++#define OTTER_HAIKUPLATFORMSTYLE_H ++ ++#include "../../../ui/Style.h" ++ ++namespace Otter ++{ ++ ++class HaikuPlatformStyle final : public Style ++{ ++ Q_OBJECT ++public: ++ explicit HaikuPlatformStyle(const QString &name); ++ void drawControl(ControlElement element, const QStyleOption *option, QPainter *painter, const QWidget *widget = nullptr) const override; ++ int getExtraStyleHint(ExtraStyleHint hint) const override; ++}; ++ ++} ++ ++#endif +-- +2.19.1 +