1 /* 2 * Copyright (C) 2020 Damir Porobic <damir.porobic@gmx.com> 3 * 4 * This program is free software; you can redistribute it and/or modify 5 * it under the terms of the GNU General Public License as published by 6 * the Free Software Foundation; either version 2 of the License, or 7 * (at your option) any later version. 8 * 9 * This program is distributed in the hope that it will be useful, 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 * GNU General Public License for more details. 13 * 14 * You should have received a copy of the GNU General Public License 15 * along with this program; if not, write to the Free Software 16 * Foundation, Inc., 51 Franklin Street, Fifth Floor, 17 * Boston, MA 02110-1301, USA. 18 */ 19 20 #ifndef KSNIP_SCRIPTUPLOADERSETTINGS_H 21 #define KSNIP_SCRIPTUPLOADERSETTINGS_H 22 23 #include <QGroupBox> 24 #include <QCheckBox> 25 #include <QLineEdit> 26 #include <QLabel> 27 #include <QGridLayout> 28 #include <QPushButton> 29 #include <QFileDialog> 30 31 #include "src/backend/config/KsnipConfig.h" 32 #include "src/common/adapter/fileDialog/FileDialogAdapterFactory.h" 33 34 class ScriptUploaderSettings : public QGroupBox 35 { 36 Q_OBJECT 37 public: 38 explicit ScriptUploaderSettings(KsnipConfig *ksnipConfig); 39 ~ScriptUploaderSettings() override; 40 void saveSettings(); 41 42 private: 43 QGridLayout *mLayout; 44 KsnipConfig *mConfig; 45 QCheckBox *mCopyOutputToClipboardCheckbox; 46 QCheckBox *mStopOnStdErrCheckbox; 47 QLineEdit *mCopyOutputFilterLineEdit; 48 QLineEdit *mUploadScriptPathLineEdit; 49 QLabel *mCopyOutputFilterLabel; 50 QLabel *mScriptPathLabel; 51 QPushButton *mBrowseButton; 52 IFileDialogAdapter *mFileDialog; 53 54 void initGui(); 55 void loadConfig(); 56 57 private slots: 58 void ShowScriptSelectionDialog(); 59 void copyToClipboardChanged(); 60 }; 61 62 #endif //KSNIP_SCRIPTUPLOADERSETTINGS_H 63