/* * This file Copyright (C) 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 struct QAbstractButton; struct QPlainTextEdit; struct QLineEdit; struct QCheckBox; struct QLabel; struct QPushButton; struct QRadioButton; struct Session; struct QProgressBar; struct 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