leocad/qt/lc_setsdatabasedialog.h

91 lines
1.3 KiB
C
Raw Normal View History

2017-08-19 19:12:25 +02:00
#pragma once
#include <QDialog>
2017-08-20 22:47:53 +02:00
#include <QNetworkAccessManager>
2017-08-19 19:12:25 +02:00
namespace Ui {
class lcSetsDatabaseDialog;
}
#ifdef Q_OS_WIN
#include <wininet.h>
class lcHttpReply : public QThread
{
Q_OBJECT
public:
lcHttpReply(QObject* Parent, const QString& URL);
void run();
bool error() const
{
return mError;
}
void abort()
{
mAbort = true;
}
QByteArray readAll() const
{
return mBuffer;
}
protected:
bool mError;
bool mAbort;
QByteArray mBuffer;
QString mURL;
};
#else
typedef QNetworkReply lcHttpReply;
#endif
2017-08-19 19:12:25 +02:00
class lcSetsDatabaseDialog : public QDialog
{
Q_OBJECT
public:
2017-08-20 22:47:53 +02:00
explicit lcSetsDatabaseDialog(QWidget* Parent);
2017-08-19 19:12:25 +02:00
~lcSetsDatabaseDialog();
2017-08-20 22:47:53 +02:00
QString GetSetName() const;
QString GetSetDescription() const;
QByteArray GetSetInventory() const
{
return mInventory;
}
virtual bool eventFilter(QObject* Object, QEvent* Event) override;
2017-08-20 22:47:53 +02:00
public slots:
void DownloadFinished(lcHttpReply* Reply);
2017-08-20 22:47:53 +02:00
void on_SearchButton_clicked();
void accept() override;
2017-08-20 22:47:53 +02:00
void Finished(int Result);
protected:
lcHttpReply* RequestURL(const QString& URL);
#ifndef Q_OS_WIN
2017-08-20 22:47:53 +02:00
QNetworkAccessManager mNetworkManager;
#endif
lcHttpReply* mKeyListReply;
lcHttpReply* mSearchReply;
lcHttpReply* mInventoryReply;
2017-08-20 22:47:53 +02:00
QStringList mKeys;
QByteArray mInventory;
2017-08-19 19:12:25 +02:00
Ui::lcSetsDatabaseDialog* ui;
};