2009-04-09 18:55:47 +00:00
|
|
|
/*
|
2015-06-10 21:27:11 +00:00
|
|
|
* This file Copyright (C) 2009-2015 Mnemosyne LLC
|
2009-04-09 18:55:47 +00:00
|
|
|
*
|
2014-01-21 03:10:30 +00:00
|
|
|
* It may be used under the GNU GPL versions 2 or 3
|
2014-01-19 01:09:44 +00:00
|
|
|
* or any future license endorsed by Mnemosyne LLC.
|
2009-04-09 18:55:47 +00:00
|
|
|
*
|
|
|
|
*/
|
|
|
|
|
2016-03-29 16:37:21 +00:00
|
|
|
#pragma once
|
2009-04-09 18:55:47 +00:00
|
|
|
|
2014-12-31 22:27:46 +00:00
|
|
|
#include <memory>
|
|
|
|
|
2015-09-01 20:19:26 +00:00
|
|
|
#include "BaseDialog.h"
|
2020-08-11 18:11:55 +00:00
|
|
|
#include "Macros.h"
|
2015-06-10 21:27:11 +00:00
|
|
|
#include "ui_MakeDialog.h"
|
2009-04-09 18:55:47 +00:00
|
|
|
|
2013-09-08 18:39:37 +00:00
|
|
|
class QAbstractButton;
|
2014-12-31 22:27:46 +00:00
|
|
|
|
2013-09-08 18:39:37 +00:00
|
|
|
class Session;
|
2009-04-09 18:55:47 +00:00
|
|
|
|
|
|
|
extern "C"
|
|
|
|
{
|
2021-08-15 09:41:48 +00:00
|
|
|
struct tr_metainfo_builder;
|
2009-04-09 18:55:47 +00:00
|
|
|
}
|
|
|
|
|
2017-04-19 12:04:45 +00:00
|
|
|
class MakeDialog : public BaseDialog
|
2009-04-09 18:55:47 +00:00
|
|
|
{
|
2013-09-14 22:45:04 +00:00
|
|
|
Q_OBJECT
|
2020-08-11 18:11:55 +00:00
|
|
|
TR_DISABLE_COPY_MOVE(MakeDialog)
|
2009-04-09 18:55:47 +00:00
|
|
|
|
2017-04-19 12:04:45 +00:00
|
|
|
public:
|
|
|
|
MakeDialog(Session&, QWidget* parent = nullptr);
|
2015-06-12 22:12:12 +00:00
|
|
|
|
2017-04-19 12:04:45 +00:00
|
|
|
protected:
|
2015-06-12 22:12:12 +00:00
|
|
|
// QWidget
|
2019-11-12 01:37:05 +00:00
|
|
|
void dragEnterEvent(QDragEnterEvent*) override;
|
|
|
|
void dropEvent(QDropEvent*) override;
|
2009-04-09 18:55:47 +00:00
|
|
|
|
2017-04-19 12:04:45 +00:00
|
|
|
private slots:
|
|
|
|
void onSourceChanged();
|
|
|
|
void makeTorrent();
|
2015-06-12 22:12:12 +00:00
|
|
|
|
2017-04-19 12:04:45 +00:00
|
|
|
private:
|
2020-11-05 22:46:21 +00:00
|
|
|
QString getSource() const;
|
|
|
|
|
2020-05-27 21:53:12 +00:00
|
|
|
Session& session_;
|
2009-04-09 18:55:47 +00:00
|
|
|
|
2020-06-05 19:02:11 +00:00
|
|
|
Ui::MakeDialog ui_ = {};
|
2010-08-02 20:55:11 +00:00
|
|
|
|
2020-05-27 21:53:12 +00:00
|
|
|
std::unique_ptr<tr_metainfo_builder, void (*)(tr_metainfo_builder*)> builder_;
|
2009-04-09 18:55:47 +00:00
|
|
|
};
|