|
@@ -13,6 +13,8 @@
|
|
|
|
|
|
class FbTextEdit;
|
|
|
|
|
|
+class FbNetworkAccessManager;
|
|
|
+
|
|
|
class FbTemporaryFile : public QTemporaryFile
|
|
|
{
|
|
|
Q_OBJECT
|
|
@@ -81,37 +83,6 @@ private:
|
|
|
qint64 offset;
|
|
|
};
|
|
|
|
|
|
-class FbNetworkAccessManager : public QNetworkAccessManager
|
|
|
-{
|
|
|
- Q_OBJECT
|
|
|
-
|
|
|
-public:
|
|
|
- explicit FbNetworkAccessManager(QObject *parent = 0);
|
|
|
- FbTemporaryList & files() { return m_files; }
|
|
|
- void setPath(const QString &path) { m_path = path; }
|
|
|
-
|
|
|
-public slots:
|
|
|
- void binary(const QString &name, const QByteArray &data);
|
|
|
-
|
|
|
-public:
|
|
|
- QString add(const QString &path, QByteArray &data) { return m_files.add(path, data); }
|
|
|
- bool exists(const QString &name) const { return m_files.exists(name); }
|
|
|
- FbTemporaryFile * get(const QString &name) const { return m_files.get(name); }
|
|
|
- int count() const { return m_files.count(); }
|
|
|
- QByteArray data(int index) const;
|
|
|
- QVariant info(int row, int col) const;
|
|
|
-
|
|
|
-protected:
|
|
|
- virtual QNetworkReply *createRequest(Operation op, const QNetworkRequest &request, QIODevice *outgoingData = 0);
|
|
|
-
|
|
|
-private:
|
|
|
- QNetworkReply *imageRequest(Operation op, const QNetworkRequest &request);
|
|
|
-
|
|
|
-private:
|
|
|
- FbTemporaryList m_files;
|
|
|
- QString m_path;
|
|
|
-};
|
|
|
-
|
|
|
class FbListModel : public QAbstractListModel
|
|
|
{
|
|
|
Q_OBJECT
|
|
@@ -137,7 +108,7 @@ class FbListView : public QTreeView
|
|
|
Q_OBJECT
|
|
|
|
|
|
public:
|
|
|
- explicit FbListView(FbNetworkAccessManager *files, QWidget *parent = 0);
|
|
|
+ explicit FbListView(QWidget *parent = 0);
|
|
|
FbListModel *model() const;
|
|
|
|
|
|
protected:
|
|
@@ -145,15 +116,23 @@ protected:
|
|
|
|
|
|
signals:
|
|
|
void showImage(const QString &name);
|
|
|
-
|
|
|
-private:
|
|
|
- FbNetworkAccessManager &m_files;
|
|
|
};
|
|
|
|
|
|
class FbListWidget : public QWidget
|
|
|
{
|
|
|
Q_OBJECT
|
|
|
|
|
|
+public:
|
|
|
+ class FbProxy : public QNetworkAccessManager
|
|
|
+ {
|
|
|
+ public:
|
|
|
+ FbProxy(QWebPage *page, QObject *parent): QNetworkAccessManager(parent), m_page(page) {}
|
|
|
+ protected:
|
|
|
+ virtual QNetworkReply *createRequest(Operation op, const QNetworkRequest &request, QIODevice *outgoingData = 0);
|
|
|
+ private:
|
|
|
+ QWebPage *m_page;
|
|
|
+ };
|
|
|
+
|
|
|
public:
|
|
|
explicit FbListWidget(FbTextEdit *text, QWidget* parent = 0);
|
|
|
|
|
@@ -171,4 +150,36 @@ private:
|
|
|
QWebView *m_view;
|
|
|
};
|
|
|
|
|
|
+class FbNetworkAccessManager : public QNetworkAccessManager
|
|
|
+{
|
|
|
+ Q_OBJECT
|
|
|
+
|
|
|
+public:
|
|
|
+ explicit FbNetworkAccessManager(QObject *parent = 0);
|
|
|
+ FbTemporaryList & files() { return m_files; }
|
|
|
+ void setPath(const QString &path) { m_path = path; }
|
|
|
+
|
|
|
+public slots:
|
|
|
+ void binary(const QString &name, const QByteArray &data);
|
|
|
+
|
|
|
+public:
|
|
|
+ QString add(const QString &path, QByteArray &data) { return m_files.add(path, data); }
|
|
|
+ bool exists(const QString &name) const { return m_files.exists(name); }
|
|
|
+ FbTemporaryFile * get(const QString &name) const { return m_files.get(name); }
|
|
|
+ int count() const { return m_files.count(); }
|
|
|
+ QByteArray data(int index) const;
|
|
|
+ QVariant info(int row, int col) const;
|
|
|
+
|
|
|
+protected:
|
|
|
+ virtual QNetworkReply *createRequest(Operation op, const QNetworkRequest &request, QIODevice *outgoingData = 0);
|
|
|
+
|
|
|
+private:
|
|
|
+ QNetworkReply *imageRequest(Operation op, const QNetworkRequest &request);
|
|
|
+
|
|
|
+private:
|
|
|
+ FbTemporaryList m_files;
|
|
|
+ QString m_path;
|
|
|
+ friend class FbListWidget::FbProxy;
|
|
|
+};
|
|
|
+
|
|
|
#endif // FB2TEMP_H
|