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:
@@ -26,6 +26,9 @@
|
||||
#include <QLabel>
|
||||
#include <QPainter>
|
||||
#include <QPushButton>
|
||||
#include <QToolButton>
|
||||
#include <QDesktopServices>
|
||||
#include <QUrl>
|
||||
|
||||
#include <utility>
|
||||
|
||||
@@ -37,6 +40,7 @@
|
||||
#include "widgets/JFJochViewerSettingsDock.h"
|
||||
#include "widgets/JFJochViewerFileBrowser.h"
|
||||
#include "JFJochViewerStatusBar.h"
|
||||
#include "ViewerTheme.h"
|
||||
#include "../common/CUDAWrapper.h"
|
||||
#include "../rugnux/RugnuxDefaults.h"
|
||||
#include "windows/JFJochViewerImageListWindow.h"
|
||||
@@ -71,14 +75,31 @@ JFJochViewerWindow::JFJochViewerWindow(QWidget *parent, bool dbus, const QString
|
||||
menuBar = new JFJochViewerMenu(this);
|
||||
setMenuBar(menuBar);
|
||||
|
||||
// PSI logo in the menu-bar corner. There are four interchangeable dot designs; pick one at
|
||||
// random each launch, for fun.
|
||||
// PSI logo in the menu-bar corner, linking to the PSI website. There are four interchangeable dot
|
||||
// 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
|
||||
QPixmap logoPixmap(QStringLiteral(":/psi_%1.png").arg(n, 2, 10, QLatin1Char('0')));
|
||||
auto *logo = new QLabel(this);
|
||||
logo->setPixmap(logoPixmap.scaledToHeight(22, Qt::SmoothTransformation));
|
||||
logo->setContentsMargins(6, 0, 8, 0);
|
||||
// As tall as the menu entries make the bar, so the logo does not stretch it.
|
||||
const QImage logoImage = QImage(QStringLiteral(":/psi_%1.png").arg(n, 2, 10, QLatin1Char('0')))
|
||||
.convertToFormat(QImage::Format_ARGB32)
|
||||
.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);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user