/* * This file Copyright (C) 2010-2014 Mnemosyne LLC * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 * as published by the Free Software Foundation. * * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html * * $Id$ */ #ifndef MAKE_DIALOG_H #define MAKE_DIALOG_H #include #include class QAbstractButton; class QPlainTextEdit; class QLineEdit; class QCheckBox; class QLabel; class QPushButton; class QRadioButton; class Session; class QProgressBar; class QDialogButtonBox; extern "C" { struct tr_metainfo_builder; } class MakeDialog: public QDialog { Q_OBJECT private slots: void onSourceChanged (); void onButtonBoxClicked (QAbstractButton*); void onNewButtonBoxClicked (QAbstractButton*); void onNewDialogDestroyed (QObject*); void onProgress (); void onFolderClicked (); void onFolderSelected (const QString&); void onFolderSelected (const QStringList&); void onFileClicked (); void onFileSelected (const QString&); void onFileSelected (const QStringList&); void onDestinationClicked (); void onDestinationSelected (const QString&); void onDestinationSelected (const QStringList&); private: void makeTorrent (); QString getSource () const; void enableBuddyWhenChecked (QCheckBox *, QWidget *); void enableBuddyWhenChecked (QRadioButton *, QWidget *); private: Session& mySession; QString myDestination; QString myTarget; QString myFile; QString myFolder; QTimer myTimer; QRadioButton * myFolderRadio; QRadioButton * myFileRadio; QPushButton * myDestinationButton; QPushButton * myFileButton; QPushButton * myFolderButton; QPlainTextEdit * myTrackerEdit; QCheckBox * myCommentCheck; QLineEdit * myCommentEdit; QCheckBox * myPrivateCheck; QLabel * mySourceLabel; QDialogButtonBox * myButtonBox; QProgressBar * myNewProgress; QLabel * myNewLabel; QDialogButtonBox * myNewButtonBox; QDialog * myNewDialog; struct tr_metainfo_builder * myBuilder; protected: virtual void dragEnterEvent (QDragEnterEvent *); virtual void dropEvent (QDropEvent *); public: MakeDialog (Session&, QWidget * parent = 0); ~MakeDialog (); }; #endif