diff --git a/CompileHowto.md b/CompileHowto.md index 0917928bb..d58f820ef 100644 --- a/CompileHowto.md +++ b/CompileHowto.md @@ -48,7 +48,7 @@ wget -qN https://raw.github.com/hyperion-project/hyperion.ng/master/bin/scripts/ ``` sudo apt-get update -sudo apt-get install git cmake build-essential qtbase5-dev libqt5serialport5-dev libqt5sql5-sqlite libqt5x11extras5-dev libusb-1.0-0-dev python3-dev libcec-dev libxcb-image0-dev libxcb-util0-dev libxcb-shm0-dev libxcb-render0-dev libxcb-randr0-dev libxrandr-dev libxrender-dev libavahi-core-dev libavahi-compat-libdnssd-dev libjpeg-dev libturbojpeg0-dev libssl-dev zlib1g-dev +sudo apt-get install git cmake build-essential qtbase5-dev libqt5serialport5-dev libqt5sql5-sqlite libqt5svg5-dev libqt5x11extras5-dev libusb-1.0-0-dev python3-dev libcec-dev libxcb-image0-dev libxcb-util0-dev libxcb-shm0-dev libxcb-render0-dev libxcb-randr0-dev libxrandr-dev libxrender-dev libavahi-core-dev libavahi-compat-libdnssd-dev libjpeg-dev libturbojpeg0-dev libssl-dev zlib1g-dev ``` **on RPI you need the videocore IV headers** diff --git a/CrossCompileHowto.md b/CrossCompileHowto.md index 8ab9f0208..4617370ab 100644 --- a/CrossCompileHowto.md +++ b/CrossCompileHowto.md @@ -4,14 +4,14 @@ Use a clean Raspbian Stretch Lite (on target) and Ubuntu 18/19 (on host) to exec ## On the Target system (here Raspberry Pi) Install required additional packages. ``` -sudo apt-get install qtbase5-dev libqt5serialport5-dev libusb-1.0-0-dev python3-dev libcec-dev libxcb-util0-dev libxcb-randr0-dev libxrandr-dev libxrender-dev libavahi-core-dev libavahi-compat-libdnssd-dev libjpeg-dev libturbojpeg0-dev libqt5sql5-sqlite aptitude qt5-default rsync libssl-dev zlib1g-dev +sudo apt-get install qtbase5-dev libqt5serialport5-dev libqt5svg5-dev libusb-1.0-0-dev python3-dev libcec-dev libxcb-util0-dev libxcb-randr0-dev libxrandr-dev libxrender-dev libavahi-core-dev libavahi-compat-libdnssd-dev libjpeg-dev libturbojpeg0-dev libqt5sql5-sqlite aptitude qt5-default rsync libssl-dev zlib1g-dev ``` ## On the Host system (here Ubuntu) Update the Ubuntu environment to the latest stage and install required additional packages. ``` sudo apt-get update sudo apt-get upgrade -sudo apt-get -qq -y install git rsync cmake build-essential qtbase5-dev libqt5serialport5-dev libqt5sql5-sqlite libqt5x11extras5-dev libusb-1.0-0-dev python3-dev libcec-dev libxcb-image0-dev libxcb-util0-dev libxcb-shm0-dev libxcb-render0-dev libxcb-randr0-dev libxrandr-dev libxrender-dev libavahi-core-dev libavahi-compat-libdnssd-dev libjpeg-dev libturbojpeg0-dev libssl-dev zlib1g-dev +sudo apt-get -qq -y install git rsync cmake build-essential qtbase5-dev libqt5serialport5-dev libqt5svg5-dev libqt5sql5-sqlite libqt5x11extras5-dev libusb-1.0-0-dev python3-dev libcec-dev libxcb-image0-dev libxcb-util0-dev libxcb-shm0-dev libxcb-render0-dev libxcb-randr0-dev libxrandr-dev libxrender-dev libavahi-core-dev libavahi-compat-libdnssd-dev libjpeg-dev libturbojpeg0-dev libssl-dev zlib1g-dev ``` Refine the target IP or hostname, plus userID as required and set-up cross-compilation environment: diff --git a/bin/compile.sh b/bin/compile.sh index 8005ad46a..7843d2b9e 100755 --- a/bin/compile.sh +++ b/bin/compile.sh @@ -27,6 +27,7 @@ sudo apt-get install \ libssl-dev \ libjpeg-dev \ libqt5sql5-sqlite \ + libqt5svg5-dev \ zlib1g-dev \ if [ -e /dev/vc-cma -a -e /dev/vc-mem ] diff --git a/resources/icons/autorun.svg b/resources/icons/autorun.svg new file mode 100644 index 000000000..f87df2406 --- /dev/null +++ b/resources/icons/autorun.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/icons/clear.svg b/resources/icons/clear.svg new file mode 100644 index 000000000..2adb79c1a --- /dev/null +++ b/resources/icons/clear.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/icons/color.svg b/resources/icons/color.svg new file mode 100644 index 000000000..ebf6936bf --- /dev/null +++ b/resources/icons/color.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/icons/effects.svg b/resources/icons/effects.svg new file mode 100644 index 000000000..0c35e7ce6 --- /dev/null +++ b/resources/icons/effects.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/icons/hyperion-icon-32px.png b/resources/icons/hyperion-icon-32px.png index 550ed5581..ee60b83b4 100644 Binary files a/resources/icons/hyperion-icon-32px.png and b/resources/icons/hyperion-icon-32px.png differ diff --git a/resources/icons/quit.svg b/resources/icons/quit.svg new file mode 100644 index 000000000..343d1ba38 --- /dev/null +++ b/resources/icons/quit.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/icons/settings.svg b/resources/icons/settings.svg new file mode 100644 index 000000000..d7ed72b2d --- /dev/null +++ b/resources/icons/settings.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/hyperiond/systray.cpp b/src/hyperiond/systray.cpp index c4cdfb27f..38e27952b 100644 --- a/src/hyperiond/systray.cpp +++ b/src/hyperiond/systray.cpp @@ -64,32 +64,29 @@ void SysTray::iconActivated(QSystemTrayIcon::ActivationReason reason) void SysTray::createTrayIcon() { + QGuiApplication::setAttribute(Qt::AA_UseHighDpiPixmaps); + quitAction = new QAction(tr("&Quit"), this); - QIcon quitIcon = QIcon::fromTheme("application-exit"); - quitAction->setIcon(quitIcon); + quitAction->setIcon(QPixmap(":/quit.svg")); connect(quitAction, SIGNAL(triggered()), qApp, SLOT(quit())); colorAction = new QAction(tr("&Color"), this); - QIcon colorIcon = QIcon::fromTheme("applications-graphics"); - colorAction->setIcon(colorIcon); + colorAction->setIcon(QPixmap(":/color.svg")); connect(colorAction, SIGNAL(triggered()), this, SLOT(showColorDialog())); settingsAction = new QAction(tr("&Settings"), this); - QIcon settingsIcon = QIcon::fromTheme("preferences-system"); - settingsAction->setIcon(settingsIcon); + settingsAction->setIcon(QPixmap(":/settings.svg")); connect(settingsAction, SIGNAL(triggered()), this, SLOT(settings())); clearAction = new QAction(tr("&Clear"), this); - QIcon clearIcon = QIcon::fromTheme("edit-delete"); - clearAction->setIcon(clearIcon); + clearAction->setIcon(QPixmap(":/clear.svg")); connect(clearAction, SIGNAL(triggered()), this, SLOT(clearEfxColor())); const std::list efxs = _hyperion->getEffects(); _trayIconMenu = new QMenu(this); _trayIconEfxMenu = new QMenu(_trayIconMenu); _trayIconEfxMenu->setTitle(tr("Effects")); - QIcon efxIcon = QIcon::fromTheme("media-playback-start"); - _trayIconEfxMenu->setIcon(efxIcon); + _trayIconEfxMenu->setIcon(QPixmap(":/effects.svg")); for (auto efx : efxs) { QAction *efxAction = new QAction(efx.name, this); @@ -99,6 +96,7 @@ void SysTray::createTrayIcon() #ifdef _WIN32 autorunAction = new QAction(tr("&Disable autostart"), this); + autorunAction->setIcon(QPixmap(":/autorun.svg")); connect(autorunAction, SIGNAL(triggered()), this, SLOT(setAutorunState())); _trayIconMenu->addAction(autorunAction);