File indexing completed on 2024-05-12 16:39:55

0001 /* This file is part of the KDE project
0002    Copyright (C) 2014 Jarosław Staniek <staniek@kde.org>
0003 
0004    This program is free software; you can redistribute it and/or
0005    modify it under the terms of the GNU Library General Public
0006    License as published by the Free Software Foundation; either
0007    version 2 of the License, or (at your option) any later version.
0008 
0009    This program is distributed in the hope that it will be useful,
0010    but WITHOUT ANY WARRANTY; without even the implied warranty of
0011    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
0012    Library General Public License for more details.
0013 
0014    You should have received a copy of the GNU Library General Public License
0015    along with this program; see the file COPYING.  If not, write to
0016    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
0017  * Boston, MA 02110-1301, USA.
0018  */
0019 
0020 #ifndef KEXICLOSEBUTTON_H
0021 #define KEXICLOSEBUTTON_H
0022 
0023 #include "kexiutils_export.h"
0024 
0025 #include <QToolButton>
0026 
0027 //! A flat button with a "close" icon, looking exactly like a "close" button of
0028 //! a dock widget or a tab bar's tab.
0029 class KEXIUTILS_EXPORT KexiCloseButton : public QToolButton
0030 {
0031     Q_OBJECT
0032 public:
0033     explicit KexiCloseButton(QWidget* parent = 0);
0034 
0035     virtual ~KexiCloseButton();
0036 
0037     //! Sets default margin (based on style), on by default.
0038     void setMarginEnabled(bool set);
0039 
0040 protected:
0041     virtual void paintEvent(QPaintEvent *e) override;
0042 
0043 private:
0044     void init();
0045 
0046     class Private;
0047     Private * const d;
0048 };
0049 
0050 #endif