diff --git a/src/lib/gui/MainWindow.cpp b/src/lib/gui/MainWindow.cpp index 189d6503b..f2f66e939 100644 --- a/src/lib/gui/MainWindow.cpp +++ b/src/lib/gui/MainWindow.cpp @@ -48,7 +48,6 @@ #include #include #include -#include #include @@ -74,7 +73,7 @@ MainWindow::MainWindow() m_logDock{new LogDock(this)}, m_lblSecurityStatus{new QLabel(this)}, m_lblStatus{new QLabel(this)}, - m_btnFingerprint{new QToolButton(this)}, + m_btnFingerprint{new QPushButton(this)}, m_btnUpdate{new QPushButton(this)}, m_actionAbout{new QAction(this)}, m_actionClearSettings{new QAction(tr("Clear settings"), this)}, @@ -236,30 +235,31 @@ void MainWindow::setupControls() ui->btnSaveServerConfig->setIconSize(QSize(22, 22)); #endif - const auto trayItemSize = QSize(24, 24); - m_btnFingerprint->setStyleSheet(kStyleFlatButtonHoverable); + static const auto btnHeight = ui->statusBar->height() - 2; + static const auto btnSize = QSize(btnHeight, btnHeight); + static const auto iconSize = QSize(fontMetrics().height() + 2, fontMetrics().height() + 2); + + m_btnFingerprint->setFlat(true); m_btnFingerprint->setIcon(QIcon::fromTheme(QStringLiteral("fingerprint"))); - m_btnFingerprint->setFixedSize(trayItemSize); - m_btnFingerprint->setIconSize(trayItemSize); - m_btnFingerprint->setAutoRaise(true); + m_btnFingerprint->setFixedSize(btnSize); + m_btnFingerprint->setIconSize(iconSize); m_btnFingerprint->setToolTip(tr("View local fingerprint")); ui->statusBar->insertPermanentWidget(0, m_btnFingerprint); m_lblSecurityStatus->setVisible(false); - m_lblSecurityStatus->setFixedSize(trayItemSize); + m_lblSecurityStatus->setFixedSize(iconSize); m_lblSecurityStatus->setScaledContents(true); ui->statusBar->insertPermanentWidget(1, m_lblSecurityStatus); ui->statusBar->insertPermanentWidget(2, m_lblStatus, 1); m_btnUpdate->setVisible(false); - m_btnUpdate->setStyleSheet(kStyleFlatButtonHoverable); m_btnUpdate->setFlat(true); m_btnUpdate->setText(tr("Update available")); m_btnUpdate->setLayoutDirection(Qt::RightToLeft); m_btnUpdate->setIcon(QIcon::fromTheme(QStringLiteral("software-updates-release"))); - m_btnUpdate->setFixedHeight(24); - m_btnUpdate->setIconSize(trayItemSize); + m_btnUpdate->setFixedHeight(btnHeight); + m_btnUpdate->setIconSize(iconSize); ui->statusBar->insertPermanentWidget(3, m_btnUpdate); } @@ -322,7 +322,7 @@ void MainWindow::connectSlots() connect(ui->btnSaveServerConfig, &QPushButton::clicked, this, &MainWindow::saveServerConfig); connect(ui->btnConfigureServer, &QPushButton::clicked, this, [this] { showConfigureServer(""); }); connect(ui->lblComputerName, &QLabel::linkActivated, this, &MainWindow::openSettings); - connect(m_btnFingerprint, &QToolButton::clicked, this, &MainWindow::showMyFingerprint); + connect(m_btnFingerprint, &QPushButton::clicked, this, &MainWindow::showMyFingerprint); connect(ui->rbModeServer, &QRadioButton::toggled, this, &MainWindow::coreModeToggled); connect(ui->rbModeClient, &QRadioButton::toggled, this, &MainWindow::coreModeToggled); diff --git a/src/lib/gui/MainWindow.h b/src/lib/gui/MainWindow.h index 3a3041d7a..d23a3eec5 100644 --- a/src/lib/gui/MainWindow.h +++ b/src/lib/gui/MainWindow.h @@ -38,7 +38,6 @@ class QPushButton; class QTextEdit; class QComboBox; class QTabWidget; -class QToolButton; class QCheckBox; class QRadioButton; class QMessageBox; @@ -187,7 +186,7 @@ private: LogDock *m_logDock; QLabel *m_lblSecurityStatus = nullptr; QLabel *m_lblStatus = nullptr; - QToolButton *m_btnFingerprint = nullptr; + QPushButton *m_btnFingerprint = nullptr; QPushButton *m_btnUpdate = nullptr; // Window Actions diff --git a/src/lib/gui/Styles.h b/src/lib/gui/Styles.h index 111e93b83..da29482f6 100644 --- a/src/lib/gui/Styles.h +++ b/src/lib/gui/Styles.h @@ -34,13 +34,4 @@ const auto kStyleErrorInactiveLabel = // "background-color: none" ); -const auto kStyleFlatButton = QStringLiteral("QAbstractButton{background-color: none; border: none;}"); - -const auto kStyleFlatButtonHoverable = QStringLiteral( - "%1\n" - "QAbstractButton:hover{border: 1px solid palette(highlight);" - " border-radius: 6px}" -) - .arg(kStyleFlatButton); - } // namespace deskflow::gui diff --git a/src/lib/gui/widgets/LogDock.cpp b/src/lib/gui/widgets/LogDock.cpp index 82c978f7d..a2ee57d9b 100644 --- a/src/lib/gui/widgets/LogDock.cpp +++ b/src/lib/gui/widgets/LogDock.cpp @@ -11,30 +11,33 @@ #include #include #include -#include +#include #include LogDock::LogDock(QWidget *parent) : QDockWidget(tr("Log"), parent), m_textLog{new LogWidget(this)}, - m_btnClose{new QToolButton(this)}, - m_btnFloat{new QToolButton(this)}, + m_btnClose{new QPushButton(this)}, + m_btnFloat{new QPushButton(this)}, m_lblTitle{new QLabel(tr("Log"), this)} { const auto iconSize = QSize(fontMetrics().height() - 2, fontMetrics().height() - 2); + const auto maxBtnSize = QSize(fontMetrics().height() + 2, fontMetrics().height() + 2); - m_btnFloat->setStyleSheet(deskflow::gui::kStyleFlatButtonHoverable); + m_btnFloat->setFixedSize(maxBtnSize); m_btnFloat->setCheckable(true); + m_btnFloat->setFlat(true); m_btnFloat->setIcon(QIcon::fromTheme(QStringLiteral("window-minimize-pip"))); m_btnFloat->setIconSize(iconSize); m_btnFloat->setToolTip(tr("Detach from window")); - connect(m_btnFloat, &QToolButton::toggled, this, &LogDock::setFloating); + connect(m_btnFloat, &QPushButton::toggled, this, &LogDock::setFloating); - m_btnClose->setStyleSheet(deskflow::gui::kStyleFlatButtonHoverable); + m_btnClose->setFixedSize(maxBtnSize); + m_btnClose->setFlat(true); m_btnClose->setIcon(QIcon::fromTheme(QStringLiteral("view-close"))); m_btnClose->setIconSize(iconSize); m_btnClose->setToolTip(tr("Close Log")); - connect(m_btnClose, &QToolButton::clicked, this, &QDockWidget::hide); + connect(m_btnClose, &QPushButton::clicked, this, &QDockWidget::hide); auto titleWidget = new QWidget(this); titleWidget->installEventFilter(this); diff --git a/src/lib/gui/widgets/LogDock.h b/src/lib/gui/widgets/LogDock.h index d88e560e6..8dbb01ad9 100644 --- a/src/lib/gui/widgets/LogDock.h +++ b/src/lib/gui/widgets/LogDock.h @@ -10,7 +10,7 @@ class LogWidget; class QLabel; -class QToolButton; +class QPushButton; class LogDock : public QDockWidget { @@ -25,7 +25,7 @@ protected: private: LogWidget *m_textLog = nullptr; - QToolButton *m_btnClose = nullptr; - QToolButton *m_btnFloat = nullptr; + QPushButton *m_btnClose = nullptr; + QPushButton *m_btnFloat = nullptr; QLabel *m_lblTitle = nullptr; };