File indexing completed on 2024-05-12 16:44:04
0001 /* 0002 SPDX-FileCopyrightText: 2006-2018 Thomas Baumgart <tbaumgart@kde.org> 0003 SPDX-FileCopyrightText: 2017 Łukasz Wojniłowicz <lukasz.wojnilowicz@gmail.com> 0004 SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #ifndef KMYMONEYSELECTOR_P_H 0008 #define KMYMONEYSELECTOR_P_H 0009 0010 #include "kmymoneyselector.h" 0011 0012 // ---------------------------------------------------------------------------- 0013 // QT Includes 0014 0015 #include <QTreeWidget> 0016 #include <QHBoxLayout> 0017 #include <QHeaderView> 0018 0019 // ---------------------------------------------------------------------------- 0020 // KDE Includes 0021 0022 // ---------------------------------------------------------------------------- 0023 // Project Includes 0024 0025 class QHBoxLayout; 0026 0027 class KMyMoneySelectorPrivate 0028 { 0029 Q_DISABLE_COPY(KMyMoneySelectorPrivate) 0030 Q_DECLARE_PUBLIC(KMyMoneySelector) 0031 0032 public: 0033 explicit KMyMoneySelectorPrivate(KMyMoneySelector *qq) : 0034 q_ptr(qq), 0035 m_treeWidget(nullptr), 0036 m_selMode(QTreeWidget::SingleSelection), 0037 m_layout(nullptr) 0038 { 0039 } 0040 0041 void init() 0042 { 0043 Q_Q(KMyMoneySelector); 0044 q->setAutoFillBackground(true); 0045 0046 m_selMode = QTreeWidget::SingleSelection; 0047 0048 m_treeWidget = new QTreeWidget(q); 0049 // don't show horizontal scroll bar 0050 m_treeWidget->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); 0051 0052 m_treeWidget->setSortingEnabled(false); 0053 m_treeWidget->setAlternatingRowColors(true); 0054 0055 m_treeWidget->setAllColumnsShowFocus(true); 0056 0057 m_layout = new QHBoxLayout(q); 0058 m_layout->setSpacing(0); 0059 m_layout->setMargin(0); 0060 0061 m_treeWidget->header()->hide(); 0062 0063 m_layout->addWidget(m_treeWidget); 0064 0065 // force init 0066 m_selMode = QTreeWidget::MultiSelection; 0067 q->setSelectionMode(QTreeWidget::SingleSelection); 0068 0069 q->connect(m_treeWidget, &QTreeWidget::itemPressed, q, &KMyMoneySelector::slotItemPressed); 0070 q->connect(m_treeWidget, &QTreeWidget::itemChanged, q, &KMyMoneySelector::stateChanged); 0071 } 0072 0073 KMyMoneySelector *q_ptr; 0074 QTreeWidget* m_treeWidget; 0075 QStringList m_itemList; 0076 QString m_baseName; 0077 QTreeWidget::SelectionMode m_selMode; 0078 QHBoxLayout* m_layout; 0079 }; 0080 0081 #endif