File indexing completed on 2024-05-12 16:44:10

0001 /*
0002     SPDX-FileCopyrightText: 2009-2011 Laurent Montel <montel@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 TRANSACTIONSORTOPTIONIMPL_H
0008 #define TRANSACTIONSORTOPTIONIMPL_H
0009 
0010 // ----------------------------------------------------------------------------
0011 // QT Includes
0012 
0013 #include <QWidget>
0014 
0015 // ----------------------------------------------------------------------------
0016 // KDE Includes
0017 
0018 // ----------------------------------------------------------------------------
0019 // Project Includes
0020 
0021 namespace Ui {
0022 class TransactionSortOption;
0023 }
0024 namespace eWidgets {
0025 enum class SortField;
0026 }
0027 
0028 class QListWidget;
0029 class QListWidgetItem;
0030 class TransactionSortOption : public QWidget
0031 {
0032     Q_OBJECT
0033     Q_DISABLE_COPY(TransactionSortOption)
0034 
0035 public:
0036     explicit TransactionSortOption(QWidget *parent);
0037     ~TransactionSortOption();
0038     QString settings() const;
0039 
0040 public Q_SLOTS:
0041     void setSettings(const QString& settings);
0042 
0043 protected:
0044     QListWidgetItem * addEntry(QListWidget * p, QListWidgetItem * after, int idx);
0045     void setDirectionIcon(QListWidgetItem* item);
0046 
0047 protected Q_SLOTS:
0048     void slotUpdateButtons();
0049     void slotAddItem();
0050     void slotRemoveItem();
0051     void slotUpItem();
0052     void slotDownItem();
0053     void slotToggleDirection();
0054 
0055 Q_SIGNALS:
0056     void settingsChanged(const QString&);
0057 
0058 private:
0059     static eWidgets::SortField textToSortOrder(const QString& text);
0060     static QString sortOrderToText(eWidgets::SortField idx);
0061     Ui::TransactionSortOption *ui;
0062 };
0063 
0064 #endif /* TRANSACTIONSORTOPTIONIMPL_H */