forked from VirusTotal/qt-virustotal-uploader
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmainwindow.h
100 lines (82 loc) · 2.47 KB
/
mainwindow.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
/*
Copyright 2014 VirusTotal S.L. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QMimeData>
#include <QDragEnterEvent>
#include <QDragMoveEvent>
#include <QDragLeaveEvent>
#include <QDropEvent>
#include <QTimer>
#include <QNetworkAccessManager>
#include <QNetworkReply>
#include <QJsonDocument>
#include <QJsonObject>
#include "qvtfile.h"
#include "settings_dialog.h"
#include "tos_dialog.h"
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
signals:
void changed(const QMimeData *mimeData = 0);
void dropped(const QMimeData *mimeData = 0);
private:
Ui::MainWindow *ui;
unsigned int req_per_minute_quota;
QTimer *minute_timer;
QTimer *state_timer;
QVector<QVtFile *> file_vector;
//QIcon icon;
QMenuBar *menuBar;
SettingsDialog *settings_dialog;
ToSDialog *tos_dialog;
QNetworkAccessManager *net_manager;
long long int state_counter;
int concurrent_uploads;
void ReDrawScannerTable(void);
void RunStateMachine(void);
void ExportReport(QString file_name);
private slots:
void LogMsgRecv(int level, int code, QString Msg);
void OnDropRecv(const QMimeData *data);
void MinuteTimerSlot(void);
void StateTimerSlot(void);
void customMenuRequested(QPoint pos);
void RemoveRowSlot(void);
void ViewOnVTSlot(void);
void RescanRowSlot(void);
void DisplayPeferencesWindow();
void AddAppBundle(QString bundle_path);
void DisplayTosDialog(void);
void DisplayFileDialog(void);
void DisplayExportDialog(void);
void replyFinished(QNetworkReply*reply);
public slots:
void AddFile(QString file_path);
void AddDir(QString path);
protected:
void dragEnterEvent(QDragEnterEvent *event);
void dragMoveEvent(QDragMoveEvent *event);
void dragLeaveEvent(QDragLeaveEvent *event);
void dropEvent(QDropEvent *event);
void closeEvent(QCloseEvent *event);
};
#endif // MAINWINDOW_H