File indexing completed on 2024-05-19 05:49:14
0001 /* 0002 SPDX-FileCopyrightText: 2007 Nicolas Ternisien <nicolas.ternisien@gmail.com> 0003 0004 SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #pragma once 0008 0009 #include <QWidget> 0010 0011 #include "fileListHelper.h" 0012 0013 #include "ui_fileListBase.h" 0014 #include <KMessageWidget> 0015 0016 class QVBoxLayout; 0017 0018 class FileList : public QWidget, public Ui::FileListBase 0019 { 0020 Q_OBJECT 0021 public: 0022 explicit FileList(QWidget *parent, const QString &descriptionText); 0023 ~FileList() override; 0024 0025 int count() const; 0026 0027 bool isEmpty() const; 0028 0029 QStringList paths() const; 0030 0031 void addPaths(const QStringList &paths); 0032 0033 public Q_SLOTS: 0034 void removeAllItems(); 0035 0036 Q_SIGNALS: 0037 void fileListChanged(); 0038 0039 private: 0040 void slotLinkClicked(const QString &link); 0041 0042 private Q_SLOTS: 0043 0044 void updateButtons(); 0045 0046 void removeSelectedItem(); 0047 void moveUpItem(); 0048 void moveDownItem(); 0049 0050 protected Q_SLOTS: 0051 virtual void addItem(); 0052 0053 void modifyItem(); 0054 void modifyItem(QListWidgetItem *item); 0055 0056 protected: 0057 void removeItem(int id); 0058 0059 void moveItem(int direction); 0060 void unselectAllItems(); 0061 0062 /** 0063 * Convenient method which returns the layout which manage the button list 0064 */ 0065 QVBoxLayout *buttonsLayout(); 0066 0067 FileListHelper mFileListHelper; 0068 0069 KMessageWidget *mWarningBox = nullptr; 0070 };