File indexing completed on 2024-05-05 05:57:00
0001 /* 0002 SPDX-FileCopyrightText: 2008 Eike Hein <hein@kde.org> 0003 0004 SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 0005 */ 0006 0007 #ifndef SKIN_H 0008 #define SKIN_H 0009 0010 #include <QObject> 0011 #include <QPixmap> 0012 #include <QString> 0013 0014 class Skin : public QObject 0015 { 0016 Q_OBJECT 0017 0018 public: 0019 explicit Skin(); 0020 ~Skin(); 0021 0022 bool load(const QString &name, bool kns = false); 0023 0024 const QColor &borderColor() 0025 { 0026 return m_borderColor; 0027 } 0028 int borderWidth() 0029 { 0030 return m_borderWidth; 0031 } 0032 0033 const QPixmap &titleBarBackgroundImage() 0034 { 0035 return m_titleBarBackgroundImage; 0036 } 0037 const QPixmap &titleBarLeftCornerImage() 0038 { 0039 return m_titleBarLeftCornerImage; 0040 } 0041 const QPixmap &titleBarRightCornerImage() 0042 { 0043 return m_titleBarRightCornerImage; 0044 } 0045 0046 const QPoint &titleBarFocusButtonPosition() 0047 { 0048 return m_titleBarFocusButtonPosition; 0049 } 0050 const Qt::AnchorPoint &titleBarFocusButtonAnchor() 0051 { 0052 return m_titleBarFocusButtonAnchor; 0053 } 0054 const QString titleBarFocusButtonStyleSheet() 0055 { 0056 return m_titleBarFocusButtonStyleSheet; 0057 } 0058 0059 const QPoint &titleBarMenuButtonPosition() 0060 { 0061 return m_titleBarMenuButtonPosition; 0062 } 0063 const Qt::AnchorPoint &titleBarMenuButtonAnchor() 0064 { 0065 return m_titleBarMenuButtonAnchor; 0066 } 0067 const QString titleBarMenuButtonStyleSheet() 0068 { 0069 return m_titleBarMenuButtonStyleSheet; 0070 } 0071 0072 const QPoint &titleBarQuitButtonPosition() 0073 { 0074 return m_titleBarQuitButtonPosition; 0075 } 0076 const Qt::AnchorPoint &titleBarQuitButtonAnchor() 0077 { 0078 return m_titleBarQuitButtonAnchor; 0079 } 0080 const QString titleBarQuitButtonStyleSheet() 0081 { 0082 return m_titleBarQuitButtonStyleSheet; 0083 } 0084 0085 const QString titleBarText() 0086 { 0087 return m_titleBarText; 0088 } 0089 const QPoint &titleBarTextPosition() 0090 { 0091 return m_titleBarTextPosition; 0092 } 0093 const QColor &titleBarTextColor() 0094 { 0095 return m_titleBarTextColor; 0096 } 0097 bool titleBarTextBold() 0098 { 0099 return m_titleBarTextBold; 0100 } 0101 bool titleBarTextCentered() 0102 { 0103 return m_titleBarTextCentered; 0104 } 0105 0106 const QPoint &tabBarPosition() 0107 { 0108 return m_tabBarPosition; 0109 } 0110 const QColor &tabBarTextColor() 0111 { 0112 return m_tabBarTextColor; 0113 } 0114 0115 const QPixmap &tabBarSeparatorImage() 0116 { 0117 return m_tabBarSeparatorImage; 0118 } 0119 const QPixmap &tabBarUnselectedBackgroundImage() 0120 { 0121 return m_tabBarUnselectedBackgroundImage; 0122 } 0123 const QPixmap &tabBarSelectedBackgroundImage() 0124 { 0125 return m_tabBarSelectedBackgroundImage; 0126 } 0127 const QPixmap &tabBarUnselectedLeftCornerImage() 0128 { 0129 return m_tabBarUnselectedLeftCornerImage; 0130 } 0131 const QPixmap &tabBarUnselectedRightCornerImage() 0132 { 0133 return m_tabBarUnselectedRightCornerImage; 0134 } 0135 const QPixmap &tabBarSelectedLeftCornerImage() 0136 { 0137 return m_tabBarSelectedLeftCornerImage; 0138 } 0139 const QPixmap &tabBarSelectedRightCornerImage() 0140 { 0141 return m_tabBarSelectedRightCornerImage; 0142 } 0143 bool tabBarSelectedTextBold() 0144 { 0145 return m_tabBarSelectedTextBold; 0146 } 0147 0148 bool tabBarCompact() 0149 { 0150 return m_tabBarCompact; 0151 } 0152 int tabBarLeft() 0153 { 0154 return m_tabBarLeft; 0155 } 0156 int tabBarRight() 0157 { 0158 return m_tabBarRight; 0159 } 0160 0161 const QPixmap tabBarPreventClosingImage(); 0162 const QPoint &tabBarPreventClosingImagePosition() 0163 { 0164 return m_tabBarPreventClosingImagePosition; 0165 } 0166 0167 const QPixmap &tabBarBackgroundImage() 0168 { 0169 return m_tabBarBackgroundImage; 0170 } 0171 const QPixmap &tabBarLeftCornerImage() 0172 { 0173 return m_tabBarLeftCornerImage; 0174 } 0175 const QPixmap &tabBarRightCornerImage() 0176 { 0177 return m_tabBarRightCornerImage; 0178 } 0179 0180 const QPoint &tabBarNewTabButtonPosition() 0181 { 0182 return m_tabBarNewTabButtonPosition; 0183 } 0184 const QString tabBarNewTabButtonStyleSheet() 0185 { 0186 return m_tabBarNewTabButtonStyleSheet; 0187 } 0188 bool tabBarNewTabButtonIsAtEndOfTabs() 0189 { 0190 return m_tabBarNewTabButtonIsAtEndOfTabs; 0191 } 0192 0193 const QPoint &tabBarCloseTabButtonPosition() 0194 { 0195 return m_tabBarCloseTabButtonPosition; 0196 } 0197 const QString tabBarCloseTabButtonStyleSheet() 0198 { 0199 return m_tabBarCloseTabButtonStyleSheet; 0200 } 0201 0202 Q_SIGNALS: 0203 void iconChanged(); 0204 0205 private Q_SLOTS: 0206 void systemIconsChanged(int group); 0207 0208 private: 0209 const QString buttonStyleSheet(const QString &up, const QString &over, const QString &down); 0210 0211 void updateTabBarPreventClosingImageCache(); 0212 0213 QColor m_borderColor; 0214 int m_borderWidth; 0215 0216 QPixmap m_titleBarBackgroundImage; 0217 QPixmap m_titleBarLeftCornerImage; 0218 QPixmap m_titleBarRightCornerImage; 0219 0220 QPoint m_titleBarFocusButtonPosition; 0221 Qt::AnchorPoint m_titleBarFocusButtonAnchor; 0222 QString m_titleBarFocusButtonStyleSheet; 0223 0224 QPoint m_titleBarMenuButtonPosition; 0225 Qt::AnchorPoint m_titleBarMenuButtonAnchor; 0226 QString m_titleBarMenuButtonStyleSheet; 0227 0228 QPoint m_titleBarQuitButtonPosition; 0229 Qt::AnchorPoint m_titleBarQuitButtonAnchor; 0230 QString m_titleBarQuitButtonStyleSheet; 0231 0232 QString m_titleBarText; 0233 QPoint m_titleBarTextPosition; 0234 QColor m_titleBarTextColor; 0235 bool m_titleBarTextBold; 0236 bool m_titleBarTextCentered; 0237 0238 QPoint m_tabBarPosition; 0239 QColor m_tabBarTextColor; 0240 0241 QPixmap m_tabBarSeparatorImage; 0242 QPixmap m_tabBarUnselectedBackgroundImage; 0243 QPixmap m_tabBarSelectedBackgroundImage; 0244 QPixmap m_tabBarUnselectedLeftCornerImage; 0245 QPixmap m_tabBarUnselectedRightCornerImage; 0246 QPixmap m_tabBarSelectedLeftCornerImage; 0247 QPixmap m_tabBarSelectedRightCornerImage; 0248 bool m_tabBarSelectedTextBold; 0249 0250 QPixmap m_tabBarPreventClosingImage; 0251 QPixmap m_tabBarPreventClosingImageCached; 0252 QPoint m_tabBarPreventClosingImagePosition; 0253 0254 QPixmap m_tabBarBackgroundImage; 0255 QPixmap m_tabBarLeftCornerImage; 0256 QPixmap m_tabBarRightCornerImage; 0257 0258 QPoint m_tabBarNewTabButtonPosition; 0259 QString m_tabBarNewTabButtonStyleSheet; 0260 bool m_tabBarNewTabButtonIsAtEndOfTabs; 0261 0262 bool m_tabBarCompact; 0263 int m_tabBarLeft; 0264 int m_tabBarRight; 0265 0266 QPoint m_tabBarCloseTabButtonPosition; 0267 QString m_tabBarCloseTabButtonStyleSheet; 0268 }; 0269 0270 #endif