diff options
-rw-r--r-- | src/CMakeLists.txt | 5 | ||||
-rw-r--r-- | src/autogen/CMakeLists.txt | 8 | ||||
-rw-r--r-- | src/autogen/util.cpp (renamed from src/util.cpp) | 1 | ||||
-rw-r--r-- | src/autogen/util.h (renamed from src/util.h) | 10 | ||||
-rw-r--r-- | src/session/sessiondialog.cpp | 2 | ||||
-rw-r--r-- | src/webengine/CMakeLists.txt | 2 | ||||
-rw-r--r-- | src/webengine/webviewcontextmenu.cpp | 29 |
7 files changed, 36 insertions, 21 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 8754e54..5139d7c 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -31,12 +31,11 @@ add_executable(poi main.cpp applicationmenu.h applicationmenu.cpp - browser.h browser.cpp - util.h util.cpp) + browser.h browser.cpp) target_link_libraries(poi PRIVATE Qt5::Widgets Qt5::WebEngineWidgets Qt5::Svg SingleApplication::SingleApplication fmt spdlog - about_dialog about_plugin webengine + autogen about_dialog about_plugin webengine bookmarks configuration downloads pluginloader session_formats smolblok) target_include_directories(poi PRIVATE . ${CMAKE_SOURCE_DIR}/include diff --git a/src/autogen/CMakeLists.txt b/src/autogen/CMakeLists.txt index 66065ee..c5c7614 100644 --- a/src/autogen/CMakeLists.txt +++ b/src/autogen/CMakeLists.txt @@ -15,7 +15,9 @@ add_custom_command(OUTPUT poi_logos.h DEPENDS ${poi_logos} COMMAND ${PYTHON} ${RCC} -o=poi_logos.h dump -ns=logos ${poi_logos}) # poi_icons.h -set(poi_icons icons/arrow-left.svg icons/arrow-right.svg icons/circle-x.svg icons/refresh.svg icons/home.svg) +set(poi_icons + icons/arrow-left.svg icons/arrow-right.svg icons/circle-x.svg icons/refresh.svg icons/home.svg + icons/volume.svg icons/volume-3.svg) foreach(f ${poi_icons}) list(REMOVE_ITEM poi_icons ${f}) list(APPEND poi_icons ${ICONS_PATH}/${f}) @@ -27,5 +29,7 @@ add_custom_command(OUTPUT poi_icons.h DEPENDS ${poi_icons} add_custom_target(py_autogen DEPENDS settings.h poi_logos.h poi_icons.h) add_library(autogen INTERFACE) -target_include_directories(autogen INTERFACE ${CMAKE_CURRENT_BINARY_DIR}) +target_sources(autogen INTERFACE util.h util.cpp) +target_include_directories(autogen INTERFACE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) +target_link_libraries(autogen INTERFACE Qt5::Svg) add_dependencies(autogen py_autogen) diff --git a/src/util.cpp b/src/autogen/util.cpp index f18b682..0120be2 100644 --- a/src/util.cpp +++ b/src/autogen/util.cpp @@ -10,7 +10,6 @@ #include <QApplication> #include <QDir> #include <QFileInfo> -#include <spdlog/spdlog.h> #define ListSeparator QLatin1String(";") diff --git a/src/util.h b/src/autogen/util.h index 8431a5b..822794a 100644 --- a/src/util.h +++ b/src/autogen/util.h @@ -43,7 +43,15 @@ inline QIcon icon() { using namespace std::literals; - if constexpr(id >= QStyle::SP_CustomBase) { + if constexpr(id == QStyle::SP_MediaVolume) { + auto on = render(icons::get([] { return "volume-3.svg"sv; })); + auto off = render(icons::get([] { return "volume.svg"sv; })); + QIcon m; + m.addPixmap(on, QIcon::Normal, QIcon::On); + m.addPixmap(off, QIcon::Normal, QIcon::Off); + return m; + + } else if constexpr(id >= QStyle::SP_CustomBase) { constexpr auto data = logos::get([] { switch(id) { case AppIcon: diff --git a/src/session/sessiondialog.cpp b/src/session/sessiondialog.cpp index 36cf9cb..548f73e 100644 --- a/src/session/sessiondialog.cpp +++ b/src/session/sessiondialog.cpp @@ -8,7 +8,7 @@ #include "sessiondialog.h" #include "../browser.h" -#include "../util.h" +#include "util.h" #include "configuration.h" #include "session_json.hpp" #include "ui_sessiondialog.h" diff --git a/src/webengine/CMakeLists.txt b/src/webengine/CMakeLists.txt index 5d2769d..156c64a 100644 --- a/src/webengine/CMakeLists.txt +++ b/src/webengine/CMakeLists.txt @@ -5,7 +5,7 @@ target_sources(webengine INTERFACE webview.h webview.cpp webviewcontextmenu.h webviewcontextmenu.cpp urlinterceptor.h urlinterceptor.cpp) target_include_directories(webengine INTERFACE ${CMAKE_SOURCE_DIR}/include ${CMAKE_CURRENT_SOURCE_DIR}) -target_link_libraries(webengine INTERFACE Qt5::WebEngineWidgets fmt) +target_link_libraries(webengine INTERFACE Qt5::WebEngineWidgets autogen fmt) # tests add_executable(profile_test test/profile.cpp) diff --git a/src/webengine/webviewcontextmenu.cpp b/src/webengine/webviewcontextmenu.cpp index ea5e8c6..c9d809f 100644 --- a/src/webengine/webviewcontextmenu.cpp +++ b/src/webengine/webviewcontextmenu.cpp @@ -9,11 +9,11 @@ #include "webviewcontextmenu.h" #include "webprofilemanager.h" #include "webview.h" +#include "util.h" #include <QContextMenuEvent> #include <QDialog> #include <QMenu> #include <QSlider> -#include <QStatusBar> #include <QStyle> #include <QToolButton> #include <QVBoxLayout> @@ -21,13 +21,17 @@ #include <QWebEngineHistory> #include <QWidgetAction> +constexpr int min_width = 250; +constexpr QSize button_size(32, 32); + inline QAction *historyAction(QWebEngineView *view, const QWebEngineHistoryItem &item) { - QAction *action = new QAction(view); - if(item.title().isEmpty()) + auto *action = new QAction(view); + if(item.title().isEmpty()) { action->setText(item.url().toString()); - else + } else { action->setText(QObject::tr("%1 (%2)").arg(item.title(), item.url().toString())); + } QObject::connect(action, &QAction::triggered, view, [view, item]() { view->history()->goToItem(item); @@ -38,7 +42,7 @@ inline QAction *historyAction(QWebEngineView *view, const QWebEngineHistoryItem WebViewContextMenu::WebViewContextMenu(WebView *view) : QMenu(view) { - setMinimumWidth(250); + setMinimumWidth(min_width); auto *navButtons = new QWidgetAction(this); @@ -48,8 +52,9 @@ WebViewContextMenu::WebViewContextMenu(WebView *view) buttonsLayout->setSpacing(2); auto *backButton = new QToolButton(this); + backButton->setMinimumSize(button_size); backButton->setEnabled(view->history()->canGoBack()); - backButton->setIcon(style()->standardIcon(QStyle::SP_ArrowBack)); + backButton->setIcon(Util::icon<QStyle::SP_ArrowBack>()); connect(backButton, &QToolButton::clicked, view, [this, view]() { view->back(); this->close(); @@ -57,8 +62,9 @@ WebViewContextMenu::WebViewContextMenu(WebView *view) buttonsLayout->addWidget(backButton); auto *forwardButton = new QToolButton(this); + forwardButton->setMinimumSize(button_size); forwardButton->setEnabled(view->history()->canGoForward()); - forwardButton->setIcon(style()->standardIcon(QStyle::SP_ArrowForward)); + forwardButton->setIcon(Util::icon<QStyle::SP_ArrowForward>()); connect(forwardButton, &QToolButton::clicked, view, [this, view]() { view->forward(); this->close(); @@ -66,7 +72,8 @@ WebViewContextMenu::WebViewContextMenu(WebView *view) buttonsLayout->addWidget(forwardButton); auto *refreshButton = new QToolButton(this); - refreshButton->setIcon(style()->standardIcon(QStyle::SP_BrowserReload)); + refreshButton->setMinimumSize(button_size); + refreshButton->setIcon(Util::icon<QStyle::SP_BrowserReload>()); connect(refreshButton, &QToolButton::clicked, view, [view, this]() { view->reload(); this->close(); @@ -76,12 +83,10 @@ WebViewContextMenu::WebViewContextMenu(WebView *view) buttonsLayout->addStretch(); auto *muteButton = new QToolButton(this); + muteButton->setMinimumSize(button_size); muteButton->setCheckable(true); muteButton->setChecked(view->page()->isAudioMuted()); - QIcon muteIcon; - muteIcon.addPixmap(style()->standardPixmap(QStyle::SP_MediaVolume), QIcon::Normal, QIcon::Off); - muteIcon.addPixmap(style()->standardPixmap(QStyle::SP_MediaVolumeMuted), QIcon::Normal, QIcon::On); - muteButton->setIcon(muteIcon); + muteButton->setIcon(Util::icon<QStyle::SP_MediaVolume>()); connect(muteButton, &QToolButton::clicked, view, [view, this](bool checked) { view->page()->setAudioMuted(checked); this->close(); |