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;}
+*/