1 // vim: set tabstop=4 shiftwidth=4 expandtab: 2 /* 3 Gwenview: an image viewer 4 Copyright 2007 Aurélien Gâteau <agateau@kde.org> 5 6 This program is free software; you can redistribute it and/or 7 modify it under the terms of the GNU General Public License 8 as published by the Free Software Foundation; either version 2 9 of the License, or (at your option) any later version. 10 11 This program is distributed in the hope that it will be useful, 12 but WITHOUT ANY WARRANTY; without even the implied warranty of 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 GNU General Public License for more details. 15 16 You should have received a copy of the GNU General Public License 17 along with this program; if not, write to the Free Software 18 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 19 20 */ 21 #ifndef STATUSBARTOOLBUTTON_H 22 #define STATUSBARTOOLBUTTON_H 23 24 #include <lib/gwenviewlib_export.h> 25 26 // Qt 27 #include <QToolButton> 28 29 namespace Gwenview 30 { 31 /** 32 * A thin tool button which can be grouped with another and look like one solid 33 * bar: 34 * 35 * ( button1 | button2 ) 36 */ 37 class GWENVIEWLIB_EXPORT StatusBarToolButton : public QToolButton 38 { 39 Q_OBJECT 40 public: 41 enum GroupPosition { 42 NotGrouped = 0, 43 GroupLeft = 1, 44 GroupRight = 2, 45 GroupCenter = 3, 46 }; 47 48 explicit StatusBarToolButton(QWidget *parent = nullptr); 49 50 QSize sizeHint() const override; 51 52 void setGroupPosition(StatusBarToolButton::GroupPosition groupPosition); 53 54 protected: 55 void paintEvent(QPaintEvent *event) override; 56 57 private: 58 GroupPosition mGroupPosition; 59 }; 60 61 } // namespace 62 63 #endif /* STATUSBARTOOLBUTTON_H */ 64