Clementine: add recipe for 1.3.1~git version

This commit is contained in:
Gerasim Troeglazov
2019-02-24 18:10:54 +10:00
parent 02ea4c4904
commit 42ed6bfd12
3 changed files with 551 additions and 0 deletions

View File

@@ -0,0 +1,84 @@
resource app_flags B_MULTIPLE_LAUNCH;
resource app_version {
major = @MAJOR@,
middle = @MIDDLE@,
minor = @MINOR@,
variety = B_APPV_FINAL,
internal = 0,
short_info = "Clementine",
long_info = "@LONG_INFO@"
};
resource app_signature "@APP_SIGNATURE@";
resource file_types message {
"types" = "application/x-asf",
"types" = "audio"
};
resource vector_icon {
$"6E6369660C03FD924703FED9BD03FDA86403FDA86D03FEBD8F03FD924803FD94"
$"4A03FD934903FD944C03FD954D050004007B0A0209B6B5B453B5A0B6C6B8F3B3"
$"D8BBC7B7A1BA8CB61634B767B95BB6EFBA2AB72DBA30B783BB38B93FBADCB848"
$"B9FCB90EB7AC2DB8D3B8A0B891B8F8BA87BA52B9A2B986B90DBA88B613BA94B7"
$"90BA90B768BAC6B9F1BBB3B8E0BABFB8ADBC47B5EABC1DB743BC1DB576B98202"
$"10B4E4B5C0B438B907B566B528B6B5B453B60FB4BBB5A0B6C6B5EABC1DB576B9"
$"82B5EABC1DB5F7BC55B5F7BC55B64ABDC0B749C07BB6BEBF23B755C090B775C0"
$"D0B769C0BBB87EC2FBBC4AC604BA19C4F1BC5FC60EBC9FC631BC8BC625BD7AC6"
$"9FBF4BC739BE5EC6F7BF92C74BC025C768BFDBC759C07DC775C188C79EC12EC7"
$"90C1E1C7ACC294C7C0C23BC7B7C5A4C7C7CBA3C624C8F3C7D7CAF3C715C930C8"
$"9BCA1EC7E9C4A6C918BBA5C6F4BFC1C942B8B6C581B5BABF9CB6C8C2A3B483BC"
$"7E0207B364BE5DB413C1B8B2E1BB7AB4E4B5C0B2CFB810B438B907B5BABF9CB4"
$"83BC7EB6C8C2A3BBA5C6F4B8B6C581BFC1C942C930C89BC4A6C918C75ACA0BC2"
$"B9CA76C4F5CA4BBF00CA7AB81AC764BB15C9C0B56DC5210233B95BB6EFBA30B7"
$"83BA2AB72DBBC7B7A134B767BCA6B8CCBE56BB27BD7DB9F9BDDEBB15BCF2BAF4"
$"BD68BB04BD18BB42BD64BBDDBD3EBB8FBCF0BC18BC0738BC7DBC54BCADBCCABD"
$"F7BD3ABD52BD02BD86BD8ABCA63CBD17BDD9BC9DBE70BC8FBEFDBC95BEB5BD19"
$"BF11BE2CBF3CBDA3BF27BE04BFA4BDB4C075BDDBC00DBE7CC109C061C13FBF6E"
$"C140C095C0DBC0FFC013C0CAC077C136C0ADC1A4C1DEC16CC145C20AC157C2D9"
$"C047C271C0CFC366C059C47FC06BC3F1C066C479C02AC46BBF69C46FBFA9C592"
$"BFE3C7D6C0F4C6BAC05FC7EFC1A0C825C2F3C80AC248C7ACC271C6B6C171C732"
$"C1F1C6C3C26152C441C6D5C352C67DC375C591C1E2C60AC2AAC4E2C2CDC55CC5"
$"07C552C3FEC4D8C46EC3C4C348C452C3D9C37BC43BC3B4C62FC39AC539C328C5"
$"80C1FCC435C297C4D6C1C5C56CC294C7C0C18DC6D5C23BC7B7C188C79EC1E1C7"
$"ACC174C67FC0BEC45BC138C563C021C544C025C768BFD8C654BFDBC759BF4BC7"
$"39BF92C74BBF5FC63DBF34C428BFD8C501BDCFC382BC9FC631BD1AC534BC8BC6"
$"25BC4AC604BC5FC60EBC97C530BD28C385BCE0C45ABC414ABA75C434BB5BC3F7"
$"BB03C3A5BC17C282BB8FC314BB16C211B8EDC233B9FCC229B981C1D1BAA1C105"
$"BA12C16CB9A4C076B775C0D0B886C0AAB769C0BBB749C07BB755C090B841C034"
$"BA1FBF7EB933BFDFB92EBF3DB74DBEB4B83EBEF9B847BE9DB9E2BD90B940BE62"
$"B8DCBC7FB5F7BC55B754BC86B5F7BC55B5EABC1DB5EABC1DB743BC1DB9F1BBB3"
$"B8ADBC47B8E0BABFB613BA94B768BAC6B790BA90BA87BA52B90DBA88B9A2B986"
$"B7AC2DB891B8F8B8D3B8A0BB38B93FB9FCB90EBADCB8480210BCF2BAF4BD18BB"
$"42BD68BB04BE56BB27BDDEBB15BF15BC1EC0DABDD2BFB6BD45C202BE6BC46BBF"
$"69C338BEE8C46FBFA9C47FC06BC479C02AC3F1C066C2D9C047C366C059C271C0"
$"CFC1A4C1DEC20AC157C16CC145C0FFC013C136C0ADC0CAC077C061C13FC095C0"
$"DBBF6EC140BDB4C075BE7CC109BDDBC00DBE2CBF3CBE04BFA4BDA3BF27BC8FBE"
$"FDBD19BF11BC95BEB5BCA63CBC9DBE70BD17BDD9BDF7BD3ABD86BD8ABD52BD02"
$"BC0738BCADBCCABC7DBC54BD64BBDDBCF0BC18BD3EBB8F0205B5F7BC55B64ABD"
$"C0B754BC86B9E2BD90B8DCBC7FB940BE62B74DBEB4B847BE9DB83EBEF9BA1FBF"
$"7EB92EBF3DB933BFDFB749C07BB841C034B6BEBF230207B775C0D0B87EC2FBB8"
$"86C0AABAA1C105B9A4C076BA12C16CB8EDC233B981C1D1B9FCC229BC17C282BB"
$"16C211BB8FC314BA75C434BB03C3A5BB5BC3F7BD28C385BC414ABCE0C45ABC4A"
$"C604BC97C530BA19C4F1020DC7D6C0F4C7EFC1A0C983C1D75FC4ACCB54C2D65F"
$"C4AC5FC5505FC550CBFDC585CBA3C624CBC2C5EEC8F3C7D7C294C7C0C5A4C7C7"
$"C18DC6D5C1FCC435C1C5C56CC297C4D6C3B4C62FC328C580C39AC539C3C4C348"
$"C37BC43BC452C3D9C55CC507C4D8C46EC552C3FEC591C1E2C4E2C2CDC60AC2AA"
$"52C441C67DC375C6D5C352C6B6C171C6C3C261C732C1F1C825C2F3C7ACC271C8"
$"0AC2480203BC9FC631BD7AC69FBD1AC534BF34C428BDCFC382BFD8C501BF4BC7"
$"39BF5FC63DBE5EC6F70203C025C768C07DC775BFD8C654C0BEC45BC021C544C1"
$"38C563C188C79EC174C67FC12EC7900C0A0B06020304070001123F8723000000"
$"0000003F9AF244E7C245FCDF01178422040A0A06020304070001123FA5CE0000"
$"000000003FCE6142E53D3FEEDF01178322040A000100023F8816000000000000"
$"3FAC5543C4F841FB240A010101023F88160000000000003FAC5543C4F841FB24"
$"0A020102023F88160000000000003FAC5543C4F841FB240A030103023F881600"
$"00000000003FAC5543C4F841FB240A040104023F88160000000000003FAC5543"
$"C4F841FB240A050105023F88160000000000003FAC5543C4F841FB240A060106"
$"023F88160000000000003FAC5543C4F841FB240A070107023F88160000000000"
$"003FAC5543C4F841FB240A080108023F88160000000000003FAC5543C4F841FB"
$"240A090109023F88160000000000003FAC5543C4F841FB24"
};

View File

@@ -0,0 +1,166 @@
SUMMARY="Modern music player and library organizer based on Amarok 1.4 and Qt5"
DESCRIPTION="Clementine Music Player is a multiplatform music player. It is inspired by Amarok 1.4, \
focusing on a fast and easy-to-use interface for searching and playing your music.
Now with Podcast support including integration and synchronization with gpodder.net. \
Music from Soundcloud and jazzradio.com is available in the Internet tab in the sidebar, \
as well as any songs you've uploaded to Google Drive. \
Clementine Music Player will also now show moodbars for the music you play from your local disc.
Clementine Music Player Features:
Search and play your local music library.
Listen to internet radio from Spotify, Grooveshark, Last.fm, SomaFM, Magnatune, Jamendo, SKY.fm, Digitally Imported, JAZZRADIO.com, Soundcloud, and Icecast.
Search and play songs you've uploaded to Google Drive.
Create smart playlists and dynamic playlists.
Tabbed playlists, import and export M3U, XSPF, PLS and ASX.
CUE sheet support.
Play audio CDs.
Visualisations from projectM.
Lyrics and artist biographies and photos.
Transcode music into MP3, Ogg Vorbis, Ogg Speex, FLAC or AAC.
Edit tags on MP3 and OGG files, organise your music.
Fetch missing tags from MusicBrainz.
Discover and download Podcasts.
Download missing album cover art from Last.fm and Amazon.
Cross-platform - works on Windows, Mac OS X and Linux.
Native desktop notifications on Linux (libnotify) and Mac OS X (Growl).
Remote control using a Wii Remote, MPRIS or the command-line.
Copy music to your iPod, iPhone, MTP or mass-storage USB player.
Queue manager."
HOMEPAGE="https://www.clementine-player.org/"
COPYRIGHT="2010-2019 David Sansome, John Maguire, Arnaud Bienner"
LICENSE="GNU GPL v3"
REVISION="1"
srcGitRev="36cc5b82f4daf5c2d4e93dc8072665e5a3ca622b"
SOURCE_URI="https://github.com/clementine-player/Clementine/archive/$srcGitRev.tar.gz"
CHECKSUM_SHA256="d7f4ee2564fc045dd446226cff02032ba18b9030ad00ba670e484bc9612e7434"
SOURCE_DIR="Clementine-$srcGitRev"
PATCHES="clementine-$portVersion.patchset"
ADDITIONAL_FILES="clementine.rdef.in"
ARCHITECTURES="!x86_gcc2 x86 x86_64"
SECONDARY_ARCHITECTURES="x86"
PROVIDES="
clementine$secondaryArchSuffix = $portVersion
app:Clementine$secondaryArchSuffix = $portVersion
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libcdio$secondaryArchSuffix
lib:libchromaprint$secondaryArchSuffix
lib:libfftw3$secondaryArchSuffix
lib:libgio_2.0$secondaryArchSuffix
lib:libglib_2.0$secondaryArchSuffix
lib:libgmodule_2.0$secondaryArchSuffix
lib:libgobject_2.0$secondaryArchSuffix
lib:libgstapp_1.0$secondaryArchSuffix
lib:libgstaudio_1.0$secondaryArchSuffix
lib:libgstbase_1.0$secondaryArchSuffix
lib:libgstpbutils_1.0$secondaryArchSuffix
lib:libgstreamer_1.0$secondaryArchSuffix
lib:libiconv$secondaryArchSuffix
lib:libintl$secondaryArchSuffix
lib:libmtp$secondaryArchSuffix
lib:libprotobuf$secondaryArchSuffix
lib:libQt5Core$secondaryArchSuffix
lib:libQt5Gui$secondaryArchSuffix
lib:libQt5Widgets$secondaryArchSuffix
lib:libsqlite3$secondaryArchSuffix
lib:libtag$secondaryArchSuffix
lib:libz$secondaryArchSuffix
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
sparsehash$secondaryArchSuffix
devel:libboost_atomic$secondaryArchSuffix
devel:libboost_chrono$secondaryArchSuffix
devel:libboost_date_time$secondaryArchSuffix
devel:libboost_filesystem$secondaryArchSuffix
devel:libboost_locale$secondaryArchSuffix
devel:libboost_regex$secondaryArchSuffix
devel:libboost_system$secondaryArchSuffix
devel:libboost_thread$secondaryArchSuffix
devel:libcdio$secondaryArchSuffix >= 18
devel:libchromaprint$secondaryArchSuffix
devel:libexecinfo$secondaryArchSuffix
devel:libfftw3$secondaryArchSuffix
devel:libgio_2.0$secondaryArchSuffix
devel:libgl$secondaryArchSuffix
devel:libglib_2.0$secondaryArchSuffix
devel:libglu$secondaryArchSuffix
devel:libgstapp_1.0$secondaryArchSuffix
devel:libgstaudio_1.0$secondaryArchSuffix
devel:libgstbadaudio_1.0$secondaryArchSuffix
devel:libgstbase_1.0$secondaryArchSuffix
devel:libgstreamer_1.0$secondaryArchSuffix
devel:libiconv$secondaryArchSuffix
devel:libintl$secondaryArchSuffix
devel:libmtp$secondaryArchSuffix
devel:libprotobuf$secondaryArchSuffix
devel:libQt5Core$secondaryArchSuffix
devel:libQt5Gui$secondaryArchSuffix
devel:libQt5Widgets$secondaryArchSuffix
devel:libsqlite3$secondaryArchSuffix
devel:libtag$secondaryArchSuffix
devel:libxml2$secondaryArchSuffix
devel:libz$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:cmake
cmd:gcc$secondaryArchSuffix
cmd:lrelease$secondaryArchSuffix >= 5
cmd:make
cmd:orcc$secondaryArchSuffix
cmd:pkg_config$secondaryArchSuffix
"
BUILD()
{
mkdir -p build
cd build
cmake .. $cmakeDirArgs \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=$appsDir/Clementine \
-DCMAKE_DISABLE_FIND_PACKAGE_Qt5DBus=OFF \
-DCCACHE_EXECUTABLE=OFF \
-DENABLE_BREAKPAD=OFF \
-DENABLE_DEVICEKIT=OFF \
-DENABLE_DROPBOX=OFF \
-DENABLE_GIO=ON \
-DENABLE_GOOGLE_DRIVE=OFF \
-DENABLE_LIBGPOD=OFF \
-DENABLE_LIBLASTFM=OFF \
-DENABLE_SPOTIFY_BLOB=OFF \
-DENABLE_UDISKS2=OFF \
-DENABLE_VISUALISATIONS=OFF \
-DENABLE_WIIMOTEDEV=OFF \
-DUSE_SYSTEM_PROJECTM=OFF
make $jobArgs
}
INSTALL()
{
mkdir -p $appsDir/Clementine
cp build/clementine $appsDir/Clementine/Clementine
cp build/clementine-tagreader $appsDir/Clementine
local APP_SIGNATURE="application/x-vnd.clementine"
local MAJOR="`echo "$portVersion" | cut -d. -f1`"
local MIDDLE="`echo "$portVersion" | cut -d. -f2`"
local MINOR="`echo "$portVersion" | cut -d. -f3 | cut -d~ -f1`"
local LONG_INFO="$SUMMARY"
sed \
-e "s|@APP_SIGNATURE@|$APP_SIGNATURE|" \
-e "s|@MAJOR@|$MAJOR|" \
-e "s|@MIDDLE@|$MIDDLE|" \
-e "s|@MINOR@|$MINOR|" \
-e "s|@LONG_INFO@|$LONG_INFO|" \
$portDir/additional-files/clementine.rdef.in > clementine.rdef
addResourcesToBinaries clementine.rdef $appsDir/Clementine/Clementine
mimeset -f $appsDir/Clementine/Clementine
addAppDeskbarSymlink $appsDir/Clementine/Clementine
}

View File

@@ -0,0 +1,301 @@
From 42e2e54e9cfc5dd3f2007256ff679278a97a1847 Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Sun, 24 Feb 2019 14:47:42 +1000
Subject: Fix build for Haiku
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index d635aee..e9a0268 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -904,6 +904,14 @@ optional_source(WIN32
${CMAKE_SOURCE_DIR}/3rdparty/tinysvcmdns
)
+# Platform specific - Haiku
+optional_source(HAIKU
+ SOURCES
+ widgets/osd_win.cpp
+ INCLUDE_DIRECTORIES
+ ${CMAKE_SOURCE_DIR}/3rdparty/tinysvcmdns
+)
+
# Platform specific - X11
optional_source(HAVE_X11 SOURCES widgets/osd_x11.cpp)
@@ -1357,7 +1365,7 @@ if (WIN32)
)
endif (WIN32)
-if (UNIX AND NOT APPLE)
+if (UNIX AND NOT APPLE AND NOT HAIKU)
# Hack: the Gold linker pays attention to the order that libraries are
# specified on the link line. -lX11 and -ldl are provided earlier in the link
# command but they're actually used by libraries that appear after them, so
diff --git a/src/core/qxtglobalshortcutbackend.cpp b/src/core/qxtglobalshortcutbackend.cpp
index c04e41d..485a286 100644
--- a/src/core/qxtglobalshortcutbackend.cpp
+++ b/src/core/qxtglobalshortcutbackend.cpp
@@ -19,7 +19,9 @@
#include "globalshortcuts.h"
#include "qxtglobalshortcutbackend.h"
+#ifndef Q_OS_HAIKU
#include "qxtglobalshortcut.h"
+#endif
#include "core/logging.h"
#include <QAction>
@@ -29,24 +31,29 @@ QxtGlobalShortcutBackend::QxtGlobalShortcutBackend(GlobalShortcuts* parent)
: GlobalShortcutBackend(parent) {}
bool QxtGlobalShortcutBackend::DoRegister() {
+#ifndef Q_OS_HAIKU
qLog(Debug) << "registering";
for (const GlobalShortcuts::Shortcut& shortcut :
manager_->shortcuts().values()) {
AddShortcut(shortcut.action);
}
-
+#endif
return true;
}
void QxtGlobalShortcutBackend::AddShortcut(QAction* action) {
+#ifndef Q_OS_HAIKU
if (action->shortcut().isEmpty()) return;
QxtGlobalShortcut* shortcut = new QxtGlobalShortcut(action->shortcut(), this);
connect(shortcut, SIGNAL(activated()), action, SLOT(trigger()));
shortcuts_ << shortcut;
+#endif
}
void QxtGlobalShortcutBackend::DoUnregister() {
+#ifndef Q_OS_HAIKU
qLog(Debug) << "unregistering";
qDeleteAll(shortcuts_);
shortcuts_.clear();
+#endif
}
diff --git a/src/main.cpp b/src/main.cpp
index 0ee7a8f..88e6f7c 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -488,5 +488,9 @@ int main(int argc, char* argv[]) {
}
#endif
+#ifdef Q_OS_HAIKU
+ kill(::getpid(), SIGKILL);
+#endif
+
return ret;
}
--
2.19.1
From 207f5027997897cda2b0c1eba92e71f2c9899a87 Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Sun, 24 Feb 2019 15:11:18 +1000
Subject: Disable qxt and x11
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 657efdb..abda86b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -46,7 +46,7 @@ find_package(PkgConfig REQUIRED)
find_package(Protobuf REQUIRED)
find_package(FFTW3)
find_package(ALSA)
-if (NOT APPLE)
+if (NOT APPLE AND NOT HAIKU)
find_package(X11)
endif()
if(X11_FOUND)
@@ -395,6 +395,7 @@ if(NOT QTIOCOMPRESSOR_INCLUDE_DIRS OR NOT QTIOCOMPRESSOR_LIBRARIES)
set(QTIOCOMPRESSOR_LIBRARIES qtiocompressor)
endif(NOT QTIOCOMPRESSOR_INCLUDE_DIRS OR NOT QTIOCOMPRESSOR_LIBRARIES)
+if (NOT HAIKU)
# When/if upstream accepts our or reimplement our patches then these options can be
# used to link to system installed qxt instead.
option(USE_SYSTEM_QXT "Don't set this option unless your system Qxt library has been compiled with the Clementine patches in 3rdparty" OFF)
@@ -412,6 +413,7 @@ else (USE_SYSTEM_QXT)
add_subdirectory(3rdparty/qxt)
endif (NOT APPLE)
endif (USE_SYSTEM_QXT)
+endif (NOT HAIKU)
# Use system gmock if it's available
# We need to look for both gmock and gtest
--
2.19.1
From edd7d6fdc02d45a998cafd84a8a0927df1e6d47a Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Sun, 24 Feb 2019 16:01:04 +1000
Subject: disable backtrace_symbols for haiku
diff --git a/ext/libclementine-common/core/logging.cpp b/ext/libclementine-common/core/logging.cpp
index 9aa1319..e148298 100644
--- a/ext/libclementine-common/core/logging.cpp
+++ b/ext/libclementine-common/core/logging.cpp
@@ -254,7 +254,7 @@ QString DemangleSymbol(const QString& symbol) {
}
void DumpStackTrace() {
-#ifdef Q_OS_UNIX
+#if defined(Q_OS_UNIX) && !defined(Q_OS_HAIKU)
void* callstack[128];
int callstack_size =
backtrace(reinterpret_cast<void**>(&callstack), sizeof(callstack));
--
2.19.1
From 137ec8ac22ca7a7a6c5797fddd4c8a9b36bba95f Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Sun, 24 Feb 2019 16:36:40 +1000
Subject: Fix settings paths
diff --git a/src/core/utilities.cpp b/src/core/utilities.cpp
index fe106e2..58a80b9 100644
--- a/src/core/utilities.cpp
+++ b/src/core/utilities.cpp
@@ -346,6 +346,9 @@ QString GetConfigPath(ConfigPath config) {
#ifdef Q_OS_DARWIN
return mac::GetApplicationSupportPath() + "/" +
QCoreApplication::organizationName();
+#elif defined(Q_OS_HAIKU)
+ return QString("%1/config/settings/%2")
+ .arg(QDir::homePath(), QCoreApplication::organizationName());
#else
return QString("%1/.config/%2")
.arg(QDir::homePath(), QCoreApplication::organizationName());
@@ -356,7 +359,7 @@ QString GetConfigPath(ConfigPath config) {
if (Application::kIsPortable) {
return GetConfigPath(Path_Root) + "/cache";
}
-#if defined(Q_OS_UNIX) && !defined(Q_OS_DARWIN)
+#if defined(Q_OS_UNIX) && !defined(Q_OS_DARWIN) && !defined(Q_OS_HAIKU)
char* xdg = getenv("XDG_CACHE_HOME");
if (!xdg || !*xdg) {
return QString("%1/.cache/%2")
--
2.19.1
From a5588095c9fc11c4d67606c9817bcaaad1aee6e3 Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Sun, 24 Feb 2019 17:39:21 +1000
Subject: Tune default settings for Haiku
diff --git a/src/library/librarysettingspage.cpp b/src/library/librarysettingspage.cpp
index afb73df..763fb11 100644
--- a/src/library/librarysettingspage.cpp
+++ b/src/library/librarysettingspage.cpp
@@ -132,7 +132,7 @@ void LibrarySettingsPage::Load() {
s.beginGroup(LibraryWatcher::kSettingsGroup);
ui_->startup_scan->setChecked(s.value("startup_scan", true).toBool());
- ui_->monitor->setChecked(s.value("monitor", true).toBool());
+ ui_->monitor->setChecked(s.value("monitor", false).toBool());
QStringList filters =
s.value("cover_art_patterns", QStringList() << "front"
diff --git a/src/ui/appearancesettingspage.cpp b/src/ui/appearancesettingspage.cpp
index 8cffb45..befbbca 100644
--- a/src/ui/appearancesettingspage.cpp
+++ b/src/ui/appearancesettingspage.cpp
@@ -108,7 +108,11 @@ void AppearanceSettingsPage::Load() {
current_background_color_ = original_background_color_;
InitColorSelectorsColors();
+#ifdef Q_OS_HAIKU
+ ui_->b_use_sys_icons->setChecked(s.value("b_use_sys_icons", true).toBool());
+#else
ui_->b_use_sys_icons->setChecked(s.value("b_use_sys_icons", false).toBool());
+#endif
ui_->b_hide_filter_toolbar->setChecked(s.value("b_hide_filter_toolbar",false).toBool());
s.endGroup();
diff --git a/src/ui/iconloader.cpp b/src/ui/iconloader.cpp
index f691504..857af19 100644
--- a/src/ui/iconloader.cpp
+++ b/src/ui/iconloader.cpp
@@ -38,7 +38,11 @@ void IconLoader::Init() {
icon_sub_path_ << "/icons" << "/providers" << "/last.fm" << "";
QSettings settings;
settings.beginGroup(Appearance::kSettingsGroup);
+#ifdef Q_OS_HAIKU
+ use_sys_icons_ = settings.value("b_use_sys_icons", true).toBool();
+#else
use_sys_icons_ = settings.value("b_use_sys_icons", false).toBool();
+#endif
}
QIcon IconLoader::Load(const QString& name, const IconType& icontype) {
diff --git a/src/ui/notificationssettingspage.cpp b/src/ui/notificationssettingspage.cpp
index a00eede..27d63b9 100644
--- a/src/ui/notificationssettingspage.cpp
+++ b/src/ui/notificationssettingspage.cpp
@@ -98,7 +98,9 @@ NotificationsSettingsPage::NotificationsSettingsPage(SettingsDialog* dialog)
if (!OSD::SupportsNativeNotifications())
ui_->notifications_native->setEnabled(false);
if (!OSD::SupportsTrayPopups()) ui_->notifications_tray->setEnabled(false);
-
+#ifdef Q_OS_HAIKU
+ ui_->notifications_pretty->setEnabled(false);
+#endif
connect(ui_->notifications_pretty, SIGNAL(toggled(bool)),
SLOT(UpdatePopupVisible()));
@@ -126,7 +128,11 @@ void NotificationsSettingsPage::Load() {
s.beginGroup(OSD::kSettingsGroup);
OSD::Behaviour osd_behaviour =
+#ifdef Q_OS_HAIKU
+ OSD::Behaviour(s.value("Behaviour", OSD::TrayPopup).toInt());
+#else
OSD::Behaviour(s.value("Behaviour", OSD::Native).toInt());
+#endif
switch (osd_behaviour) {
case OSD::Native:
if (OSD::SupportsNativeNotifications()) {
@@ -171,6 +177,11 @@ void NotificationsSettingsPage::Load() {
ui_->notifications_pretty->isChecked());
#endif
+#ifdef Q_OS_HAIKU
+ ui_->notifications_options->setEnabled(
+ ui_->notifications_tray->isChecked());
+#endif
+
// Pretty OSD
pretty_popup_->ReloadSettings();
ui_->notifications_opacity->setValue(pretty_popup_->background_opacity() *
diff --git a/src/widgets/osd.cpp b/src/widgets/osd.cpp
index 77178a1..f5ec09c 100644
--- a/src/widgets/osd.cpp
+++ b/src/widgets/osd.cpp
@@ -64,7 +64,11 @@ OSD::~OSD() { delete pretty_popup_; }
void OSD::ReloadSettings() {
QSettings s;
s.beginGroup(kSettingsGroup);
+#ifdef Q_OS_HAIKU
+ behaviour_ = OSD::Behaviour(s.value("Behaviour", TrayPopup).toInt());
+#else
behaviour_ = OSD::Behaviour(s.value("Behaviour", Native).toInt());
+#endif
timeout_msec_ = s.value("Timeout", 5000).toInt();
show_on_volume_change_ = s.value("ShowOnVolumeChange", false).toBool();
show_art_ = s.value("ShowArt", true).toBool();
--
2.19.1