diff --git a/libqf/libqfgui/CMakeLists.txt b/libqf/libqfgui/CMakeLists.txt index b15de96e7..71efcf643 100644 --- a/libqf/libqfgui/CMakeLists.txt +++ b/libqf/libqfgui/CMakeLists.txt @@ -108,6 +108,7 @@ add_library(libqfgui SHARED images/qf_gui_images.qrc images/flat/qf_gui_images_flat.qrc + images/lucide/qf_gui_images_lucide.qrc src/reports/widgets/printtableviewwidget/reports/qf_gui_printtablewidget_reports.qrc ) diff --git a/libqf/libqfgui/images/lucide/acrobat.svg b/libqf/libqfgui/images/lucide/acrobat.svg new file mode 100644 index 000000000..2e989d67c --- /dev/null +++ b/libqf/libqfgui/images/lucide/acrobat.svg @@ -0,0 +1,15 @@ + + + + + + diff --git a/libqf/libqfgui/images/lucide/arrow-big-down.svg b/libqf/libqfgui/images/lucide/arrow-big-down.svg new file mode 100644 index 000000000..568acf194 --- /dev/null +++ b/libqf/libqfgui/images/lucide/arrow-big-down.svg @@ -0,0 +1,13 @@ + + + diff --git a/libqf/libqfgui/images/lucide/arrow-big-left.svg b/libqf/libqfgui/images/lucide/arrow-big-left.svg new file mode 100644 index 000000000..53c51154f --- /dev/null +++ b/libqf/libqfgui/images/lucide/arrow-big-left.svg @@ -0,0 +1,13 @@ + + + diff --git a/libqf/libqfgui/images/lucide/arrow-big-right.svg b/libqf/libqfgui/images/lucide/arrow-big-right.svg new file mode 100644 index 000000000..c1ebe6320 --- /dev/null +++ b/libqf/libqfgui/images/lucide/arrow-big-right.svg @@ -0,0 +1,13 @@ + + + diff --git a/libqf/libqfgui/images/lucide/arrow-big-up.svg b/libqf/libqfgui/images/lucide/arrow-big-up.svg new file mode 100644 index 000000000..531343cae --- /dev/null +++ b/libqf/libqfgui/images/lucide/arrow-big-up.svg @@ -0,0 +1,13 @@ + + + diff --git a/libqf/libqfgui/images/lucide/arrow-down-a-z.svg b/libqf/libqfgui/images/lucide/arrow-down-a-z.svg new file mode 100644 index 000000000..c7ceebe8c --- /dev/null +++ b/libqf/libqfgui/images/lucide/arrow-down-a-z.svg @@ -0,0 +1,17 @@ + + + + + + + diff --git a/libqf/libqfgui/images/lucide/arrow-down-z-a.svg b/libqf/libqfgui/images/lucide/arrow-down-z-a.svg new file mode 100644 index 000000000..105f2f52c --- /dev/null +++ b/libqf/libqfgui/images/lucide/arrow-down-z-a.svg @@ -0,0 +1,17 @@ + + + + + + + diff --git a/libqf/libqfgui/images/lucide/between-horizontal-start.svg b/libqf/libqfgui/images/lucide/between-horizontal-start.svg new file mode 100644 index 000000000..b29d7b02e --- /dev/null +++ b/libqf/libqfgui/images/lucide/between-horizontal-start.svg @@ -0,0 +1,15 @@ + + + + + diff --git a/libqf/libqfgui/images/lucide/clipboard-paste.svg b/libqf/libqfgui/images/lucide/clipboard-paste.svg new file mode 100644 index 000000000..6ac593359 --- /dev/null +++ b/libqf/libqfgui/images/lucide/clipboard-paste.svg @@ -0,0 +1,17 @@ + + + + + + + diff --git a/libqf/libqfgui/images/lucide/copy-minus.svg b/libqf/libqfgui/images/lucide/copy-minus.svg new file mode 100644 index 000000000..26076ec1f --- /dev/null +++ b/libqf/libqfgui/images/lucide/copy-minus.svg @@ -0,0 +1,15 @@ + + + + + diff --git a/libqf/libqfgui/images/lucide/copy-plus.svg b/libqf/libqfgui/images/lucide/copy-plus.svg new file mode 100644 index 000000000..4d636f58a --- /dev/null +++ b/libqf/libqfgui/images/lucide/copy-plus.svg @@ -0,0 +1,16 @@ + + + + + + diff --git a/libqf/libqfgui/images/lucide/copy.svg b/libqf/libqfgui/images/lucide/copy.svg new file mode 100644 index 000000000..f62ce99c1 --- /dev/null +++ b/libqf/libqfgui/images/lucide/copy.svg @@ -0,0 +1,14 @@ + + + + diff --git a/libqf/libqfgui/images/lucide/delete.svg b/libqf/libqfgui/images/lucide/delete.svg new file mode 100644 index 000000000..ead8ca6c6 --- /dev/null +++ b/libqf/libqfgui/images/lucide/delete.svg @@ -0,0 +1,15 @@ + + + + + diff --git a/libqf/libqfgui/images/lucide/disc.svg b/libqf/libqfgui/images/lucide/disc.svg new file mode 100644 index 000000000..a1cf83ae7 --- /dev/null +++ b/libqf/libqfgui/images/lucide/disc.svg @@ -0,0 +1,14 @@ + + + + diff --git a/libqf/libqfgui/images/lucide/file-plus-corner.svg b/libqf/libqfgui/images/lucide/file-plus-corner.svg new file mode 100644 index 000000000..b722b6b66 --- /dev/null +++ b/libqf/libqfgui/images/lucide/file-plus-corner.svg @@ -0,0 +1,16 @@ + + + + + + diff --git a/libqf/libqfgui/images/lucide/folder-open.svg b/libqf/libqfgui/images/lucide/folder-open.svg new file mode 100644 index 000000000..b01f60fcb --- /dev/null +++ b/libqf/libqfgui/images/lucide/folder-open.svg @@ -0,0 +1,13 @@ + + + diff --git a/libqf/libqfgui/images/lucide/house.svg b/libqf/libqfgui/images/lucide/house.svg new file mode 100644 index 000000000..10e4097e2 --- /dev/null +++ b/libqf/libqfgui/images/lucide/house.svg @@ -0,0 +1,14 @@ + + + + diff --git a/libqf/libqfgui/images/lucide/menu.svg b/libqf/libqfgui/images/lucide/menu.svg new file mode 100644 index 000000000..0ec97458f --- /dev/null +++ b/libqf/libqfgui/images/lucide/menu.svg @@ -0,0 +1,15 @@ + + + + + diff --git a/libqf/libqfgui/images/lucide/pause.svg b/libqf/libqfgui/images/lucide/pause.svg new file mode 100644 index 000000000..ea5762fdb --- /dev/null +++ b/libqf/libqfgui/images/lucide/pause.svg @@ -0,0 +1,14 @@ + + + + diff --git a/libqf/libqfgui/images/lucide/play.svg b/libqf/libqfgui/images/lucide/play.svg new file mode 100644 index 000000000..199743ed2 --- /dev/null +++ b/libqf/libqfgui/images/lucide/play.svg @@ -0,0 +1,13 @@ + + + diff --git a/libqf/libqfgui/images/lucide/printer-check.svg b/libqf/libqfgui/images/lucide/printer-check.svg new file mode 100644 index 000000000..64a935776 --- /dev/null +++ b/libqf/libqfgui/images/lucide/printer-check.svg @@ -0,0 +1,16 @@ + + + + + + diff --git a/libqf/libqfgui/images/lucide/printer.svg b/libqf/libqfgui/images/lucide/printer.svg new file mode 100644 index 000000000..dfa0a608e --- /dev/null +++ b/libqf/libqfgui/images/lucide/printer.svg @@ -0,0 +1,15 @@ + + + + + diff --git a/libqf/libqfgui/images/lucide/qf_gui_images_lucide.qrc b/libqf/libqfgui/images/lucide/qf_gui_images_lucide.qrc new file mode 100644 index 000000000..fd8721adb --- /dev/null +++ b/libqf/libqfgui/images/lucide/qf_gui_images_lucide.qrc @@ -0,0 +1,61 @@ + + + acrobat.svg + house.svg + file-plus-corner.svg + folder-open.svg + save.svg + refresh-ccw.svg + undo-2.svg + trash-2.svg + delete.svg + search.svg + arrow-down-a-z.svg + arrow-down-z-a.svg + copy.svg + copy-plus.svg + copy-minus.svg + copy.svg + scissors.svg + clipboard-paste.svg + printer.svg + printer.svg + printer-check.svg + settings.svg + arrow-big-left.svg + arrow-big-right.svg + arrow-big-up.svg + arrow-big-down.svg + menu.svg + + zoom-in.svg + zoom-out.svg + zoom_fitall.svg + zoom_fitwidth.svg + zoom_fitheight.svg + + zoom-in.svg + zoom-out.svg + zoom_fitall.svg + zoom_fitwidth.svg + zoom_fitheight.svg + + pause.svg + play.svg + disc.svg + skip-back.svg + skip-forward.svg + step-back.svg + step-forward.svg + + pause.svg + play.svg + disc.svg + skip-back.svg + skip-forward.svg + step-back.svg + step-forward.svg + + square.svg + + diff --git a/libqf/libqfgui/images/lucide/refresh-ccw.svg b/libqf/libqfgui/images/lucide/refresh-ccw.svg new file mode 100644 index 000000000..38533fc16 --- /dev/null +++ b/libqf/libqfgui/images/lucide/refresh-ccw.svg @@ -0,0 +1,16 @@ + + + + + + diff --git a/libqf/libqfgui/images/lucide/save.svg b/libqf/libqfgui/images/lucide/save.svg new file mode 100644 index 000000000..07af07083 --- /dev/null +++ b/libqf/libqfgui/images/lucide/save.svg @@ -0,0 +1,15 @@ + + + + + diff --git a/libqf/libqfgui/images/lucide/scissors.svg b/libqf/libqfgui/images/lucide/scissors.svg new file mode 100644 index 000000000..f87bf20b7 --- /dev/null +++ b/libqf/libqfgui/images/lucide/scissors.svg @@ -0,0 +1,17 @@ + + + + + + + diff --git a/libqf/libqfgui/images/lucide/search.svg b/libqf/libqfgui/images/lucide/search.svg new file mode 100644 index 000000000..03e442a54 --- /dev/null +++ b/libqf/libqfgui/images/lucide/search.svg @@ -0,0 +1,14 @@ + + + + diff --git a/libqf/libqfgui/images/lucide/settings.svg b/libqf/libqfgui/images/lucide/settings.svg new file mode 100644 index 000000000..4c6263af9 --- /dev/null +++ b/libqf/libqfgui/images/lucide/settings.svg @@ -0,0 +1,14 @@ + + + + diff --git a/libqf/libqfgui/images/lucide/skip-back.svg b/libqf/libqfgui/images/lucide/skip-back.svg new file mode 100644 index 000000000..bf6b2cc9f --- /dev/null +++ b/libqf/libqfgui/images/lucide/skip-back.svg @@ -0,0 +1,14 @@ + + + + diff --git a/libqf/libqfgui/images/lucide/skip-forward.svg b/libqf/libqfgui/images/lucide/skip-forward.svg new file mode 100644 index 000000000..2d6ba0494 --- /dev/null +++ b/libqf/libqfgui/images/lucide/skip-forward.svg @@ -0,0 +1,14 @@ + + + + diff --git a/libqf/libqfgui/images/lucide/square.svg b/libqf/libqfgui/images/lucide/square.svg new file mode 100644 index 000000000..786273355 --- /dev/null +++ b/libqf/libqfgui/images/lucide/square.svg @@ -0,0 +1,13 @@ + + + diff --git a/libqf/libqfgui/images/lucide/step-back.svg b/libqf/libqfgui/images/lucide/step-back.svg new file mode 100644 index 000000000..62c2e67bf --- /dev/null +++ b/libqf/libqfgui/images/lucide/step-back.svg @@ -0,0 +1,14 @@ + + + + diff --git a/libqf/libqfgui/images/lucide/step-forward.svg b/libqf/libqfgui/images/lucide/step-forward.svg new file mode 100644 index 000000000..734398a7a --- /dev/null +++ b/libqf/libqfgui/images/lucide/step-forward.svg @@ -0,0 +1,14 @@ + + + + diff --git a/libqf/libqfgui/images/lucide/trash-2.svg b/libqf/libqfgui/images/lucide/trash-2.svg new file mode 100644 index 000000000..e8cb0edf3 --- /dev/null +++ b/libqf/libqfgui/images/lucide/trash-2.svg @@ -0,0 +1,17 @@ + + + + + + + diff --git a/libqf/libqfgui/images/lucide/undo-2.svg b/libqf/libqfgui/images/lucide/undo-2.svg new file mode 100644 index 000000000..3e93594c0 --- /dev/null +++ b/libqf/libqfgui/images/lucide/undo-2.svg @@ -0,0 +1,14 @@ + + + + diff --git a/libqf/libqfgui/images/lucide/zoom-in.svg b/libqf/libqfgui/images/lucide/zoom-in.svg new file mode 100644 index 000000000..11173c0e1 --- /dev/null +++ b/libqf/libqfgui/images/lucide/zoom-in.svg @@ -0,0 +1,16 @@ + + + + + + diff --git a/libqf/libqfgui/images/lucide/zoom-out.svg b/libqf/libqfgui/images/lucide/zoom-out.svg new file mode 100644 index 000000000..70abec44b --- /dev/null +++ b/libqf/libqfgui/images/lucide/zoom-out.svg @@ -0,0 +1,15 @@ + + + + + diff --git a/libqf/libqfgui/images/lucide/zoom_fitall.svg b/libqf/libqfgui/images/lucide/zoom_fitall.svg new file mode 100644 index 000000000..d99fe63f8 --- /dev/null +++ b/libqf/libqfgui/images/lucide/zoom_fitall.svg @@ -0,0 +1,72 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/libqf/libqfgui/images/lucide/zoom_fitheight.svg b/libqf/libqfgui/images/lucide/zoom_fitheight.svg new file mode 100644 index 000000000..bb906eacf --- /dev/null +++ b/libqf/libqfgui/images/lucide/zoom_fitheight.svg @@ -0,0 +1,49 @@ + + + + + + + + + + + + + + + + diff --git a/libqf/libqfgui/images/lucide/zoom_fitwidth.svg b/libqf/libqfgui/images/lucide/zoom_fitwidth.svg new file mode 100644 index 000000000..6d76619aa --- /dev/null +++ b/libqf/libqfgui/images/lucide/zoom_fitwidth.svg @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + diff --git a/libqf/libqfgui/src/framework/logwidget.cpp b/libqf/libqfgui/src/framework/logwidget.cpp index d42ef4f1a..ac76b059c 100644 --- a/libqf/libqfgui/src/framework/logwidget.cpp +++ b/libqf/libqfgui/src/framework/logwidget.cpp @@ -25,11 +25,10 @@ namespace qf::gui::framework { LogWidgetTableView::LogWidgetTableView(QWidget *parent) : Super(parent) { - auto *style = qf::gui::Style::instance(); { m_copySelectionToClipboardAction = new QAction(tr("Copy")); m_copySelectionToClipboardAction->setObjectName("LogWidgetTableView copy action"); - m_copySelectionToClipboardAction->setIcon(style->icon("copy")); + m_copySelectionToClipboardAction->setIcon(qf::gui::Style::icon("copy")); m_copySelectionToClipboardAction->setShortcut(QKeySequence(tr("Ctrl+C", "Copy selection"))); m_copySelectionToClipboardAction->setShortcutContext(Qt::WidgetShortcut); connect(m_copySelectionToClipboardAction, &QAction::triggered, this, &LogWidgetTableView::copy); @@ -106,6 +105,10 @@ LogWidget::LogWidget(QWidget *parent) , ui(new Ui::LogWidget) { ui->setupUi(this); + ui->btClearLog->setIcon(qf::gui::Style::icon("clear")); + ui->btCopyToClipboard->setIcon(qf::gui::Style::icon("copy")); + ui->btResizeColumns->setIcon(qf::gui::Style::icon("zoom-fitwidth")); + ui->btTableMenu->setIcon(qf::gui::Style::icon("menu")); //setPersistentSettingsId(); ui->btCopyToClipboard->setDefaultAction(ui->tableView->copySelectionToClipboardAction()); @@ -241,7 +244,7 @@ bool LogWidget::isAutoScroll() } //fprintf(stderr, "TOP scrollbar min: %d max: %d value: %d\n", sb->minimum(), sb->maximum(), sb->value()); return (sb->value() == sb->minimum()); - + } return false; } diff --git a/libqf/libqfgui/src/reports/widgets/reportviewwidget.cpp b/libqf/libqfgui/src/reports/widgets/reportviewwidget.cpp index e3868fdea..3110245b6 100644 --- a/libqf/libqfgui/src/reports/widgets/reportviewwidget.cpp +++ b/libqf/libqfgui/src/reports/widgets/reportviewwidget.cpp @@ -40,9 +40,6 @@ #include #include #include -//#include - -#include using namespace qf::gui::reports; @@ -137,7 +134,7 @@ void ReportViewWidget::ScrollArea::wheelEvent(QWheelEvent * ev) ev->accept(); return; } - + } QScrollArea::wheelEvent(ev); } @@ -558,68 +555,67 @@ void ReportViewWidget::settleDownInDialog(qf::gui::dialogs::Dialog *dlg) qf::gui::framework::DialogWidget::ActionMap ReportViewWidget::createActions() { - auto *style = Style::instance(); ActionMap ret; { qf::gui::Action *a; a = new qf::gui::Action(tr("First page"), this); - a->setIcon(style->icon("frev")); + a->setIcon(qf::gui::Style::icon("skip-back")); ret[QStringLiteral("view.firstPage")] = a; connect(a, &QAction::triggered, this, &ReportViewWidget::view_firstPage); } { qf::gui::Action *a; a = new qf::gui::Action(tr("Prev page"), this); - a->setIcon(style->icon("rev")); + a->setIcon(qf::gui::Style::icon("step-back")); ret[QStringLiteral("view.prevPage")] = a; connect(a, &QAction::triggered, this, [this]() { view_prevPage(); }); } { qf::gui::Action *a; a = new qf::gui::Action(tr("Next page"), this); - a->setIcon(style->icon("fwd")); + a->setIcon(qf::gui::Style::icon("step-forward")); ret[QStringLiteral("view.nextPage")] = a; connect(a, &QAction::triggered, this, [this]() { view_nextPage(); }); } { qf::gui::Action *a; a = new qf::gui::Action(tr("Last page"), this); - a->setIcon(style->icon("ffwd")); + a->setIcon(qf::gui::Style::icon("skip-forward")); ret[QStringLiteral("view.lastPage")] = a; connect(a, &QAction::triggered, this, &ReportViewWidget::view_lastPage); } { qf::gui::Action *a; a = new qf::gui::Action(tr("Zoom in"), this); - a->setIcon(style->icon("zoom_in")); + a->setIcon(qf::gui::Style::icon("zoom-in")); ret[QStringLiteral("view.zoomIn")] = a; connect(a, &QAction::triggered, this, [this]() { view_zoomIn(); }); } { qf::gui::Action *a; a = new qf::gui::Action(tr("Zoom out"), this); - a->setIcon(style->icon("zoom_out")); + a->setIcon(qf::gui::Style::icon("zoom-out")); ret[QStringLiteral("view.zoomOut")] = a; connect(a, &QAction::triggered, this, [this]() { view_zoomOut(); }); } { qf::gui::Action *a; a = new qf::gui::Action(tr("Zoom to fit width"), this); - a->setIcon(style->icon("zoom_fitwidth")); + a->setIcon(qf::gui::Style::icon("zoom-fitwidth")); ret[QStringLiteral("view.zoomFitWidth")] = a; connect(a, &QAction::triggered, this, &ReportViewWidget::view_zoomToFitWidth); } { qf::gui::Action *a; a = new qf::gui::Action(tr("Zoom to fit height"), this); - a->setIcon(style->icon("zoom_fitheight")); + a->setIcon(qf::gui::Style::icon("zoom-fitheight")); ret[QStringLiteral("view.zoomFitHeight")] = a; connect(a, &QAction::triggered, this, &ReportViewWidget::view_zoomToFitHeight); } { qf::gui::Action *a; a = new qf::gui::Action(tr("&Print"), this); - a->setIcon(style->icon("printer")); + a->setIcon(qf::gui::Style::icon("printer")); //a->setTooltip(tr("Tisk")); ret[QStringLiteral("file.print")] = a; connect(a, &QAction::triggered, this, &ReportViewWidget::file_print); @@ -627,14 +623,14 @@ qf::gui::framework::DialogWidget::ActionMap ReportViewWidget::createActions() { qf::gui::Action *a; a = new qf::gui::Action(tr("Print pre&view"), this); - a->setIcon(style->icon("print-preview")); + a->setIcon(qf::gui::Style::icon("print-preview")); ret[QStringLiteral("file.printPreview")] = a; connect(a, &QAction::triggered, this, &ReportViewWidget::file_printPreview); } { qf::gui::Action *a; a = new qf::gui::Action(tr("Export PD&F"), this); - a->setIcon(style->icon("acrobat")); + a->setIcon(qf::gui::Style::icon("acrobat")); a->setToolTip(tr("Export in the Adobe Acrobat PDF format")); ret[QStringLiteral("file.export.pdf")] = a; connect(a, &QAction::triggered, this, &ReportViewWidget::file_export_pdf); @@ -642,7 +638,7 @@ qf::gui::framework::DialogWidget::ActionMap ReportViewWidget::createActions() { qf::gui::Action *a; a = new qf::gui::Action(tr("Export &HTML"), this); - a->setIcon(style->icon("network")); + a->setIcon(qf::gui::Style::icon("network")); a->setToolTip(tr("Export data in HTML")); ret[QStringLiteral("file.export.html")] = a; connect(a, &QAction::triggered, this, &ReportViewWidget::file_export_html); diff --git a/libqf/libqfgui/src/style.cpp b/libqf/libqfgui/src/style.cpp index f7017bda3..ad4e479f3 100644 --- a/libqf/libqfgui/src/style.cpp +++ b/libqf/libqfgui/src/style.cpp @@ -44,6 +44,9 @@ QPixmap Style::pixmapFromSvg(const QString &file_name, const QSize &pixmap_size) if(f.open(QFile::ReadOnly)) { qfDebug() << "OK"; QByteArray ba = f.readAll(); + if (isDarkTheme()) { + ba.replace("\"currentColor\"", "\"lightgray\""); + } QSvgRenderer rnd(ba); ret = QPixmap(px_sz); ret.fill(Qt::transparent); @@ -96,6 +99,11 @@ QIcon Style::icon(const QString &name, const QSize &pixmap_size) return ret; } +QIcon Style::icon(const QString &name) +{ + return instance()->icon(name, QSize()); +} + Style *Style::instance() { QCoreApplication *app = QCoreApplication::instance(); @@ -126,9 +134,9 @@ QFileInfo Style::findFile(const QString &path, const QString &default_extension) for(const auto &prefix : m_iconSearchPaths) { auto fn2 = prefix + '/' + fn; QFileInfo fi2(fn2); - // qfInfo() << "checking:" << fn2; +// qfInfo() << "checking:" << fn2; if(fi2.isReadable()) { - // qfInfo() << "\t\tHHIITT" << fn2; +// qfInfo() << "\t\tHHIITT" << fn2; return fi2; } } diff --git a/libqf/libqfgui/src/style.h b/libqf/libqfgui/src/style.h index d95378a78..c4fd63730 100644 --- a/libqf/libqfgui/src/style.h +++ b/libqf/libqfgui/src/style.h @@ -27,11 +27,13 @@ class QFGUI_DECL_EXPORT Style : public QObject QPixmap pixmap(const QString &name, const QSize &pixmap_size = QSize()); QPixmap pixmap(const QString &name, int height); - QIcon icon(const QString &name, const QSize &pixmap_size = QSize()); + QIcon icon(const QString &name, const QSize &pixmap_size); + static QIcon icon(const QString &name); static Style* instance(); private: QPixmap pixmapFromSvg(const QString &file_name, const QSize &pixmap_size = QSize()) const; + QPixmap pixmapFromSvg(const QByteArray &svg_data, const QSize &pixmap_size = QSize()) const; QFileInfo findFile(const QString &path, const QString &default_extension) const; private: QSize m_defaultIconSize; diff --git a/libqf/libqfgui/src/tableview.cpp b/libqf/libqfgui/src/tableview.cpp index 58cdc57de..72cae3801 100644 --- a/libqf/libqfgui/src/tableview.cpp +++ b/libqf/libqfgui/src/tableview.cpp @@ -71,10 +71,9 @@ TableView::TableView(QWidget *parent) : createActions(); { - auto *style = Style::instance(); auto *bt = new QToolButton(this); bt->setAutoRaise(true); - bt->setIcon(style->icon("menu")); + bt->setIcon(qf::gui::Style::icon("menu")); bt->setToolTip(tr("Left click selects all, right click for menu.")); QObject::connect(bt, &QPushButton::clicked, this, &QTableView::selectAll); //qfInfo() << "addidng actions"; @@ -970,7 +969,9 @@ void TableView::exportCSV_helper(const QVariant &export_options) QTextStream ts(&f); #if QT_VERSION_MAJOR >= 6 - ts.setEncoding(QStringConverter::encodingForName(text_export_opts.codecName().toLatin1().constData()).value()); + if (auto enc = QStringConverter::encodingForName(text_export_opts.codecName().toLatin1().constData()); enc.has_value()) { + ts.setEncoding(enc.value()); + } #else ts.setCodec(text_export_opts.codecName().toLatin1().constData()); #endif @@ -1448,6 +1449,8 @@ void TableView::keyPressEvent(QKeyEvent *e) //qfDebug().color(QFLog::Yellow) << "set focus to table view"; //setFocus(); /// jinak se mi zavre delegat a focus skoci na jinej widget break; + default: + break; } } else { @@ -1525,11 +1528,10 @@ void TableView::updateGeometries() void TableView::createActions() { - auto *style = Style::instance(); Action *a; { a = new Action(tr("Resize columns to contents"), this); - a->setIcon(style->icon("zoom_fitwidth")); + a->setIcon(qf::gui::Style::icon("zoom_fitwidth")); //a->setShortcut(QKeySequence(tr("Ctrl+R", "reload SQL table"))); ////a->setShortcutContext(Qt::WidgetShortcut); a->setOid("resizeColumnsToContents"); @@ -1549,7 +1551,7 @@ void TableView::createActions() } { a = new Action(tr("Reload"), this); - a->setIcon(style->icon("reload")); + a->setIcon(qf::gui::Style::icon("reload")); a->setShortcut(QKeySequence(tr("Ctrl+R", "reload SQL table"))); //a->setShortcutContext(Qt::WidgetShortcut); a->setOid("reload"); @@ -1560,7 +1562,7 @@ void TableView::createActions() { a = new Action(tr("Copy"), this); a->setObjectName("TableView_Copy"); - a->setIcon(style->icon("copy")); + a->setIcon(qf::gui::Style::icon("copy")); a->setShortcut(QKeySequence(tr("Ctrl+C", "Copy selection"))); a->setShortcutContext(Qt::WidgetShortcut); a->setOid("copy"); @@ -1570,7 +1572,7 @@ void TableView::createActions() } { a = new Action(tr("Copy special"), this); - a->setIcon(style->icon("copy")); + a->setIcon(qf::gui::Style::icon("copy")); //a->setShortcut(QKeySequence(tr("Ctrl+C", "Copy selection"))); ////a->setShortcutContext(Qt::WidgetShortcut); a->setOid("copySpecial"); @@ -1580,7 +1582,7 @@ void TableView::createActions() } { a = new Action(tr("Paste"), this); - a->setIcon(style->icon("paste")); + a->setIcon(qf::gui::Style::icon("paste")); a->setShortcut(QKeySequence(tr("Ctrl+V", "Paste rows"))); a->setShortcutContext(Qt::WidgetShortcut); a->setOid("paste"); @@ -1589,7 +1591,7 @@ void TableView::createActions() connect(a, &Action::triggered, this, &TableView::paste, Qt::QueuedConnection); /// hazelo mi to vyjjimky v evendloopu } { - a = new Action(style->icon("insert-row"), tr("Insert row"), this); + a = new Action(qf::gui::Style::icon("insert-row"), tr("Insert row"), this); a->setShortcut(QKeySequence(tr("Ctrl+Ins", "insert row SQL table"))); //a->setShortcutContext(Qt::WidgetShortcut); a->setOid("insertRow"); @@ -1598,7 +1600,7 @@ void TableView::createActions() connect(a, &Action::triggered, this, &TableView::insertRow); } { - a = new Action(style->icon("delete-row"), tr("Delete selected rows"), this); + a = new Action(qf::gui::Style::icon("delete-row"), tr("Delete selected rows"), this); a->setShortcut(QKeySequence(tr("Ctrl+Del", "delete row SQL table"))); //a->setShortcutContext(Qt::WidgetShortcut); a->setOid("removeSelectedRows"); @@ -1608,7 +1610,7 @@ void TableView::createActions() } { a = new Action(tr("Post row edits"), this); - a->setIcon(style->icon("save")); + a->setIcon(qf::gui::Style::icon("save")); a->setShortcut(QKeySequence(tr("Ctrl+Return", "post row SQL table"))); //a->setShortcutContext(Qt::WidgetShortcut); a->setOid("postRow"); @@ -1618,7 +1620,7 @@ void TableView::createActions() } { a = new Action(tr("Revert row edits"), this); - a->setIcon(style->icon("revert")); + a->setIcon(qf::gui::Style::icon("revert")); a->setShortcut(QKeySequence(tr("Ctrl+Z", "revert edited row"))); //a->setShortcutContext(Qt::WidgetShortcut); a->setOid("revertRow"); @@ -1628,7 +1630,7 @@ void TableView::createActions() } { a = new Action(tr("Clone row"), this); - a->setIcon(style->icon("clone-row")); + a->setIcon(qf::gui::Style::icon("clone-row")); a->setOid("cloneRow"); //a->setVisible(false); m_actionGroups[RowActions] << a->oid(); @@ -1647,7 +1649,7 @@ void TableView::createActions() } { a = new Action(tr("Zobrazit ve formulari"), this); - a->setIcon(style->icon("view")); + a->setIcon(qf::gui::Style::icon("view")); a->setToolTip(tr("Zobrazit radek v formulari pro cteni")); //a->setShortcutContext(Qt::WidgetShortcut); //connect(a, &Action::triggered, this, &TableView::emitViewRowInExternalEditor())); @@ -1656,7 +1658,7 @@ void TableView::createActions() } { a = new Action(tr("Upravit ve formulari"), this); - a->setIcon(style->icon("edit")); + a->setIcon(qf::gui::Style::icon("edit")); a->setToolTip(tr("Upravit radek ve formulari")); //a->setShortcutContext(Qt::WidgetShortcut); //connect(a, &Action::triggered, this, &TableView::emitEditRowInExternalEditor())); @@ -1665,7 +1667,7 @@ void TableView::createActions() } /* { - a = new Action(style->icon("sort-asc"), tr("Sort ascending"), this); + a = new Action(qf::gui::Style::icon("sort-asc"), tr("Sort ascending"), this); a->setOid("sortAsc"); a->setCheckable(true); //a->setToolTip(tr("Upravit radek v externim editoru")); @@ -1675,7 +1677,7 @@ void TableView::createActions() m_actions[a->oid()] = a; } { - a = new Action(style->icon("sort-desc"), tr("Sort descending"), this); + a = new Action(qf::gui::Style::icon("sort-desc"), tr("Sort descending"), this); a->setOid("sortDesc"); a->setCheckable(true); //a->setToolTip(tr("Upravit radek v externim editoru")); @@ -1686,7 +1688,7 @@ void TableView::createActions() } */ { - a = new Action(style->icon("find"), tr("Filter table"), this); + a = new Action(qf::gui::Style::icon("find"), tr("Filter table"), this); a->setOid("filter"); a->setCheckable(false); //a->setToolTip(tr("Upravit radek v externim editoru")); diff --git a/quickevent/app/quickevent/plugins/Event/src/eventplugin.cpp b/quickevent/app/quickevent/plugins/Event/src/eventplugin.cpp index 44197bac4..eedb23639 100644 --- a/quickevent/app/quickevent/plugins/Event/src/eventplugin.cpp +++ b/quickevent/app/quickevent/plugins/Event/src/eventplugin.cpp @@ -358,8 +358,7 @@ void EventPlugin::onInstalled() act_stage->setVisible(false); - auto *style = qf::gui::Style::instance(); - QIcon ico(style->icon("settings")); + QIcon ico(qf::gui::Style::icon("settings")); m_actEditStage = new qfw::Action(ico, "Stage settings"); m_actEditStage->setVisible(false); connect(m_actEditStage, &QAction::triggered, this, &EventPlugin::editStage); @@ -918,7 +917,7 @@ bool EventPlugin::createEvent(const QString &event_name, const QVariantMap &even if(ok) { ok = openEvent(event_id); } - return ok; + return ok; } void EventPlugin::editEvent() diff --git a/quickevent/app/quickevent/plugins/Event/src/services/servicewidget.cpp b/quickevent/app/quickevent/plugins/Event/src/services/servicewidget.cpp index 01d47914d..dd4bf8233 100644 --- a/quickevent/app/quickevent/plugins/Event/src/services/servicewidget.cpp +++ b/quickevent/app/quickevent/plugins/Event/src/services/servicewidget.cpp @@ -1,6 +1,7 @@ #include "servicewidget.h" #include "ui_servicewidget.h" +#include namespace Event::services { @@ -10,8 +11,11 @@ ServiceWidget::ServiceWidget(QWidget *parent) : { ui->setupUi(this); + ui->btPlay->setIcon(qf::gui::Style::icon("media-play")); + ui->btSettings->setIcon(qf::gui::Style::icon("settings")); + connect(ui->btPlay, &QAbstractButton::clicked, this, &ServiceWidget::onBtPlayClicked); - connect(ui->btShowDetail, &QAbstractButton::clicked, this, &ServiceWidget::showDetail); + connect(ui->btSettings, &QAbstractButton::clicked, this, &ServiceWidget::showDetail); } ServiceWidget::~ServiceWidget() @@ -22,8 +26,8 @@ ServiceWidget::~ServiceWidget() void ServiceWidget::setStatus(Service::Status st) { m_isRunning = (st == Service::Status::Running); - static QIcon ico_play(":/qf/gui/images/flat/media-play"); - static QIcon ico_stop(":/qf/gui/images/flat/media-stop"); + static QIcon ico_play = qf::gui::Style::icon("media-play"); + static QIcon ico_stop = qf::gui::Style::icon("media-stop"); ui->btPlay->setIcon(m_isRunning? ico_stop: ico_play); switch (st) { case Service::Status::Running: diff --git a/quickevent/app/quickevent/plugins/Event/src/services/servicewidget.ui b/quickevent/app/quickevent/plugins/Event/src/services/servicewidget.ui index 335d57a13..cdff60fa1 100644 --- a/quickevent/app/quickevent/plugins/Event/src/services/servicewidget.ui +++ b/quickevent/app/quickevent/plugins/Event/src/services/servicewidget.ui @@ -93,30 +93,24 @@ - - - 32 - 32 - - :/qf/gui/images/flat/media-play.svg:/qf/gui/images/flat/media-play.svg + + true + - - - - 32 - 32 - - + :/qf/gui/images/flat/settings.svg:/qf/gui/images/flat/settings.svg + + true + diff --git a/quickevent/app/quickevent/plugins/Runs/src/eventstatisticswidget.cpp b/quickevent/app/quickevent/plugins/Runs/src/eventstatisticswidget.cpp index 6f30b8a6e..13b031d5c 100644 --- a/quickevent/app/quickevent/plugins/Runs/src/eventstatisticswidget.cpp +++ b/quickevent/app/quickevent/plugins/Runs/src/eventstatisticswidget.cpp @@ -13,6 +13,7 @@ #include #include +#include #include #include @@ -385,13 +386,20 @@ void FooterView::syncSectionSizes() } //============================================================ -// EventStatisticsWidget +// EventStatisticsWidget //============================================================ EventStatisticsWidget::EventStatisticsWidget(QWidget *parent) : QWidget(parent) , ui(new Ui::EventStatisticsWidget) { ui->setupUi(this); + + ui->btClearNewInSelectedRows->setIcon(qf::gui::Style::icon("clear")); + ui->btPrintResultsSelected->setIcon(qf::gui::Style::icon("print-selected")); + ui->btPrintResultsNew->setIcon(qf::gui::Style::icon("print")); + ui->btOptions->setIcon(qf::gui::Style::icon("settings")); + ui->btReload->setIcon(qf::gui::Style::icon("reload")); + ui->tableView->setPersistentSettingsId("tblEventStatistics"); ui->tableView->setReadOnly(true); diff --git a/quickevent/app/quickevent/src/application.cpp b/quickevent/app/quickevent/src/application.cpp index 58931c423..9da5c0261 100644 --- a/quickevent/app/quickevent/src/application.cpp +++ b/quickevent/app/quickevent/src/application.cpp @@ -24,6 +24,7 @@ Application::Application(int &argc, char **argv, AppCliOptions *cli_opts) } auto *style = qf::gui::Style::instance(); + style->addIconSearchPath(":/qf/gui/images/lucide"); style->addIconSearchPath(":/qf/gui/images/flat"); style->addIconSearchPath(":/qf/gui/images"); diff --git a/quickevent/app/quickevent/src/appversion.h b/quickevent/app/quickevent/src/appversion.h index 184b26e3c..3e19a6023 100644 --- a/quickevent/app/quickevent/src/appversion.h +++ b/quickevent/app/quickevent/src/appversion.h @@ -1,4 +1,4 @@ #pragma once -#define APP_VERSION "3.4.16" +#define APP_VERSION "3.4.17" diff --git a/quickevent/app/quickevent/style/dark.css b/quickevent/app/quickevent/style/dark.css index 14cdd66b8..d4ba1c289 100644 --- a/quickevent/app/quickevent/style/dark.css +++ b/quickevent/app/quickevent/style/dark.css @@ -14,6 +14,9 @@ QToolButton.PartSwitchToolButton { QToolButton.PartSwitchToolButton:hover { background-color: #858585; } +QToolButton.PartSwitchToolButton:checked { + background-color: #ffa500; +} qf--gui--dialogs--internal--CaptionFrame { background: darkorange; @@ -36,6 +39,8 @@ QLabel.filterLabel { background-color: #525252; } +/* QToolButton {background-color: #656565; border-radius: 4px;} QToolButton:hover {background-color: #b5b5b5; } QToolButton:checked {background-color: #ffa500;} +*/