Merge remote-tracking branch 'origin/rc173' into rc173
Build Packages / Create release (push) Successful in 19s
Build Packages / build:viewer:macos-arm64:nocuda (push) Successful in 3m30s
Build Packages / build:rugnux:macos-arm64:nocuda (push) Successful in 2m44s
Build Packages / build:viewer:linux-x86_64:nocuda (push) Successful in 11m30s
Build Packages / build:rugnux:linux-x86_64:cuda (push) Successful in 11m32s
Build Packages / build:viewer:linux-x86_64:cuda (push) Successful in 12m56s
Build Packages / build:rugnux:linux-aarch64:cuda (push) Successful in 6m40s
Build Packages / build:viewer:windows-x86_64:nocuda (push) Successful in 18m45s
Build Packages / HDF5 consumer tests (DIALS, XDS) (push) Successful in 23m30s
Build Packages / build:viewer:windows-x86_64:cuda (push) Successful in 23m25s
Build Packages / build:jfjoch:rocky8:nocuda (push) Successful in 15m10s
Build Packages / build:jfjoch:ubuntu2204:nocuda (push) Successful in 15m17s
Build Packages / build:jfjoch:ubuntu2404:nocuda (push) Successful in 15m5s
Build Packages / build:jfjoch:rocky9:nocuda (push) Successful in 15m51s
Build Packages / build:jfjoch:rocky8:cuda-sls9 (push) Successful in 15m37s
Build Packages / build:rugnux:windows-x86_64:cuda (push) Successful in 14m8s
Build Packages / Generate python client (push) Successful in 33s
Build Packages / Build documentation (push) Successful in 1m4s
Build Packages / build:jfjoch:rocky9:cuda-sls9 (push) Successful in 15m18s
Build Packages / build:jfjoch:rocky8:cuda (push) Successful in 15m54s
Build Packages / build:jfjoch:ubuntu2404:cuda (push) Successful in 16m40s
Build Packages / build:jfjoch:ubuntu2204:cuda (push) Successful in 16m53s
Build Packages / build:jfjoch:rocky9:cuda (push) Successful in 17m43s
Build Packages / Unit tests (push) Successful in 1h22m9s
Build Packages / Create release (push) Successful in 19s
Build Packages / build:viewer:macos-arm64:nocuda (push) Successful in 3m30s
Build Packages / build:rugnux:macos-arm64:nocuda (push) Successful in 2m44s
Build Packages / build:viewer:linux-x86_64:nocuda (push) Successful in 11m30s
Build Packages / build:rugnux:linux-x86_64:cuda (push) Successful in 11m32s
Build Packages / build:viewer:linux-x86_64:cuda (push) Successful in 12m56s
Build Packages / build:rugnux:linux-aarch64:cuda (push) Successful in 6m40s
Build Packages / build:viewer:windows-x86_64:nocuda (push) Successful in 18m45s
Build Packages / HDF5 consumer tests (DIALS, XDS) (push) Successful in 23m30s
Build Packages / build:viewer:windows-x86_64:cuda (push) Successful in 23m25s
Build Packages / build:jfjoch:rocky8:nocuda (push) Successful in 15m10s
Build Packages / build:jfjoch:ubuntu2204:nocuda (push) Successful in 15m17s
Build Packages / build:jfjoch:ubuntu2404:nocuda (push) Successful in 15m5s
Build Packages / build:jfjoch:rocky9:nocuda (push) Successful in 15m51s
Build Packages / build:jfjoch:rocky8:cuda-sls9 (push) Successful in 15m37s
Build Packages / build:rugnux:windows-x86_64:cuda (push) Successful in 14m8s
Build Packages / Generate python client (push) Successful in 33s
Build Packages / Build documentation (push) Successful in 1m4s
Build Packages / build:jfjoch:rocky9:cuda-sls9 (push) Successful in 15m18s
Build Packages / build:jfjoch:rocky8:cuda (push) Successful in 15m54s
Build Packages / build:jfjoch:ubuntu2404:cuda (push) Successful in 16m40s
Build Packages / build:jfjoch:ubuntu2204:cuda (push) Successful in 16m53s
Build Packages / build:jfjoch:rocky9:cuda (push) Successful in 17m43s
Build Packages / Unit tests (push) Successful in 1h22m9s
This commit is contained in:
commit
cca7bf9551
1 file changed
+27
-6
@@ -26,6 +26,9 @@
|
|||||||
#include <QLabel>
|
#include <QLabel>
|
||||||
#include <QPainter>
|
#include <QPainter>
|
||||||
#include <QPushButton>
|
#include <QPushButton>
|
||||||
|
#include <QToolButton>
|
||||||
|
#include <QDesktopServices>
|
||||||
|
#include <QUrl>
|
||||||
|
|
||||||
#include <utility>
|
#include <utility>
|
||||||
|
|
||||||
@@ -37,6 +40,7 @@
|
|||||||
#include "widgets/JFJochViewerSettingsDock.h"
|
#include "widgets/JFJochViewerSettingsDock.h"
|
||||||
#include "widgets/JFJochViewerFileBrowser.h"
|
#include "widgets/JFJochViewerFileBrowser.h"
|
||||||
#include "JFJochViewerStatusBar.h"
|
#include "JFJochViewerStatusBar.h"
|
||||||
|
#include "ViewerTheme.h"
|
||||||
#include "../common/CUDAWrapper.h"
|
#include "../common/CUDAWrapper.h"
|
||||||
#include "../rugnux/RugnuxDefaults.h"
|
#include "../rugnux/RugnuxDefaults.h"
|
||||||
#include "windows/JFJochViewerImageListWindow.h"
|
#include "windows/JFJochViewerImageListWindow.h"
|
||||||
@@ -71,14 +75,31 @@ JFJochViewerWindow::JFJochViewerWindow(QWidget *parent, bool dbus, const QString
|
|||||||
menuBar = new JFJochViewerMenu(this);
|
menuBar = new JFJochViewerMenu(this);
|
||||||
setMenuBar(menuBar);
|
setMenuBar(menuBar);
|
||||||
|
|
||||||
// PSI logo in the menu-bar corner. There are four interchangeable dot designs; pick one at
|
// PSI logo in the menu-bar corner, linking to the PSI website. There are four interchangeable dot
|
||||||
// random each launch, for fun.
|
// designs; pick one at random each launch, for fun. The logo is black only, so the negative for the
|
||||||
|
// dark theme is the same image with its colours inverted.
|
||||||
{
|
{
|
||||||
const int n = QRandomGenerator::global()->bounded(1, 5); // 1..4
|
const int n = QRandomGenerator::global()->bounded(1, 5); // 1..4
|
||||||
QPixmap logoPixmap(QStringLiteral(":/psi_%1.png").arg(n, 2, 10, QLatin1Char('0')));
|
// As tall as the menu entries make the bar, so the logo does not stretch it.
|
||||||
auto *logo = new QLabel(this);
|
const QImage logoImage = QImage(QStringLiteral(":/psi_%1.png").arg(n, 2, 10, QLatin1Char('0')))
|
||||||
logo->setPixmap(logoPixmap.scaledToHeight(22, Qt::SmoothTransformation));
|
.convertToFormat(QImage::Format_ARGB32)
|
||||||
logo->setContentsMargins(6, 0, 8, 0);
|
.scaledToHeight(menuBar->sizeHint().height(), Qt::SmoothTransformation);
|
||||||
|
auto *logo = new QToolButton(this);
|
||||||
|
logo->setAutoRaise(true);
|
||||||
|
// No button padding or frame, which would make the bar taller all the same.
|
||||||
|
logo->setStyleSheet("QToolButton { padding: 0px 8px 0px 6px; border: none; }");
|
||||||
|
logo->setCursor(Qt::PointingHandCursor);
|
||||||
|
logo->setToolTip("Paul Scherrer Institute - www.psi.ch");
|
||||||
|
logo->setIconSize(logoImage.size());
|
||||||
|
auto setLogoIcon = [logo, logoImage] {
|
||||||
|
QImage image = logoImage;
|
||||||
|
if (DarkTheme())
|
||||||
|
image.invertPixels(QImage::InvertRgb);
|
||||||
|
logo->setIcon(QPixmap::fromImage(image));
|
||||||
|
};
|
||||||
|
setLogoIcon();
|
||||||
|
connect(ThemeNotifier::Instance(), &ThemeNotifier::changed, logo, setLogoIcon);
|
||||||
|
connect(logo, &QToolButton::clicked, [] { QDesktopServices::openUrl(QUrl("https://www.psi.ch")); });
|
||||||
menuBar->setCornerWidget(logo, Qt::TopRightCorner);
|
menuBar->setCornerWidget(logo, Qt::TopRightCorner);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user