File indexing completed on 2024-05-12 03:49:08
0001 /* 0002 File : GuiTools.h 0003 Project : LabPlot 0004 Description : contains several static functions which are used on frequently throughout the kde frontend. 0005 -------------------------------------------------------------------- 0006 SPDX-FileCopyrightText: 2011 Alexander Semke <alexander.semke*web.de (use @ for *)> 0007 SPDX-License-Identifier: GPL-2.0-or-later 0008 */ 0009 0010 #ifndef GUITOOLS_H 0011 #define GUITOOLS_H 0012 0013 #include <QPen> 0014 0015 class QComboBox; 0016 class QColor; 0017 class QLineEdit; 0018 class QMenu; 0019 class QActionGroup; 0020 class QAction; 0021 0022 class GuiTools { 0023 public: 0024 static bool isDarkMode(); 0025 0026 static void updateBrushStyles(QComboBox*, const QColor&); 0027 static void updatePenStyles(QComboBox*, const QColor&); 0028 static void updatePenStyles(QMenu*, QActionGroup*, const QColor&); 0029 static void selectPenStyleAction(QActionGroup*, Qt::PenStyle); 0030 static Qt::PenStyle penStyleFromAction(QActionGroup*, QAction*); 0031 static void addSymbolStyles(QComboBox*); 0032 0033 static void fillColorMenu(QMenu*, QActionGroup*); 0034 static void selectColorAction(QActionGroup*, const QColor&); 0035 static QColor& colorFromAction(QActionGroup*, QAction*); 0036 0037 static void highlight(QWidget*, bool); 0038 0039 static QString openImageFile(const QString&); 0040 static QImage importPDFFile(const QString&); 0041 static QImage imageFromPDFData(const QByteArray&, double zoomFactor = 1.); 0042 }; 0043 0044 #endif // GUITOOLS_H