File indexing completed on 2024-10-06 05:15:22
0001 // SPDX-License-Identifier: GPL-2.0-or-later 0002 // SPDX-FileCopyrightText: 2007 Dominik Seichter <domseichter@web.de> 0003 0004 #ifndef NUMBER_DIALOG_H 0005 #define NUMBER_DIALOG_H 0006 0007 #include <QDialog> 0008 0009 #include "ui_numberwidget.h" 0010 0011 class QDialogButtonBox; 0012 0013 /** 0014 * This is a dialog with advanced numbering settings 0015 * - start index 0016 * - stepping 0017 * - reset counter on each new directory 0018 * - skip numbers list 0019 * 0020 */ 0021 class NumberDialog : public QDialog 0022 { 0023 Q_OBJECT 0024 public: 0025 NumberDialog(int start, int step, bool reset, const QList<int> &skip, QWidget *parent = nullptr); 0026 0027 /** 0028 * @returns the start index the user has selected 0029 */ 0030 inline int startIndex() const; 0031 0032 /** 0033 * @returns the stepping value for counters the user has selected 0034 */ 0035 inline int numberStepping() const; 0036 0037 /** 0038 * @returns true if the counter should be reset for each new directory 0039 */ 0040 inline bool resetCounter() const; 0041 0042 /** 0043 * @returns the list of number that should be skipped in counters 0044 */ 0045 QList<int> skipNumbers() const; 0046 0047 private Q_SLOTS: 0048 0049 void slotAddNumber(); 0050 void slotRemoveNumber(); 0051 0052 void slotEnableControls(); 0053 0054 private: 0055 Ui::NumberWidget m_widget; 0056 QDialogButtonBox *m_buttons; 0057 }; 0058 0059 inline int NumberDialog::startIndex() const 0060 { 0061 return m_widget.spinStart->value(); 0062 } 0063 0064 inline int NumberDialog::numberStepping() const 0065 { 0066 return m_widget.spinStep->value(); 0067 } 0068 0069 inline bool NumberDialog::resetCounter() const 0070 { 0071 return m_widget.checkReset->isChecked(); 0072 } 0073 0074 #endif // NUMBER_DIALOG_H