File indexing completed on 2024-05-05 17:57:24
0001 /* 0002 SPDX-FileCopyrightText: 2003 Csaba Karai <krusader@users.sourceforge.net> 0003 SPDX-FileCopyrightText: 2004-2022 Krusader Krew <https://krusader.org> 0004 0005 SPDX-License-Identifier: GPL-2.0-or-later 0006 */ 0007 0008 #ifndef SPLITTERGUI_H 0009 #define SPLITTERGUI_H 0010 0011 // QtCore 0012 #include <QUrl> 0013 // QtWidgets 0014 #include <QDialog> 0015 0016 #include <KIO/Global> 0017 #include <KIOWidgets/KUrlRequester> 0018 0019 class QComboBox; 0020 class QCheckBox; 0021 class QDoubleSpinBox; 0022 0023 class SplitterGUI : public QDialog 0024 { 0025 Q_OBJECT 0026 private: 0027 struct PredefinedDevice; 0028 0029 static const QList<PredefinedDevice> &predefinedDevices(); 0030 0031 KIO::filesize_t userDefinedSize; 0032 int lastSelectedDevice; 0033 KIO::filesize_t division; 0034 0035 QDoubleSpinBox *spinBox; 0036 QComboBox *deviceCombo; 0037 QComboBox *sizeCombo; 0038 QCheckBox *overwriteCb; 0039 KUrlRequester *urlReq; 0040 0041 public: 0042 SplitterGUI(QWidget *parent, const QUrl &fileURL, const QUrl &defaultDir); 0043 ~SplitterGUI() override; 0044 0045 QUrl getDestinationDir() 0046 { 0047 return urlReq->url(); 0048 } 0049 KIO::filesize_t getSplitSize(); 0050 bool overWriteFiles(); 0051 0052 public slots: 0053 virtual void sizeComboActivated(int item); 0054 virtual void predefinedComboActivated(int item); 0055 virtual void splitPressed(); 0056 0057 protected: 0058 void keyPressEvent(QKeyEvent *e) override; 0059 }; 0060 0061 #endif /* __SPLITTERGUI_H__ */