1
0
mirror of https://gitlab.com/kelteseth/ScreenPlay.git synced 2024-09-18 08:22:33 +02:00

Add basic error reporting

This commit is contained in:
kelteseth 2017-05-15 10:46:13 +02:00
parent 1767bafa1f
commit bb410de3ab
3 changed files with 88 additions and 9 deletions

View File

@ -1,4 +1,6 @@
import QtQuick 2.7
import QtQuick.Extras 1.4
import PackageFileHandler 1.0
DropArea {
id:dropper
@ -13,16 +15,50 @@ DropArea {
}
onDropped: {
print(drop.urls)
print(drop.urls)
var a= packageFileHandler.loadPackageFromLocalZip(drop.urls,".")
print(LoaderStatus.AllErrors)
if(a === -1) {
dropper.state = "badFile"
timer.start()
} else if(a === 0){
dropper.state = "invisible"
}
}
Timer {
id:timer
interval: 1000
onTriggered: {
dropper.state = "invisible"
timer.stop()
}
}
Rectangle {
id:fill
anchors.fill: parent
opacity: .8
Picture {
id: picture
x: 332
y: 208
anchors.verticalCenter: parent.verticalCenter
anchors.horizontalCenter: parent.horizontalCenter
source: "qrc://assets/icons/icon_settings.svg"
}
}
Text {
id: text1
text: qsTr("Bad File!!")
font.pixelSize: 24
opacity: 1
anchors.horizontalCenter: parent.horizontalCenter
anchors.verticalCenter: parent.verticalCenter
}
states: [
State {
@ -35,12 +71,15 @@ DropArea {
target: fill
opacity: 0
}
},
State {
name: "badFile"
}
]
transitions: [
Transition {
from: "visible"
from: "*"
to: "invisible"
NumberAnimation {

View File

@ -1,6 +1,26 @@
#include "packagefilehandler.h"
PackageFileHandler::PackageFileHandler()
PackageFileHandler::PackageFileHandler(QObject* parent)
: QObject(parent)
{
qRegisterMetaType<PackageFileHandler::LoaderStatus>("PackageFileHandler::LoaderStatus");
qmlRegisterType<PackageFileHandler>("PackageFileHandler", 1, 0, "LoaderStatus");
}
int PackageFileHandler::loadPackageFromLocalZip(QList<QUrl> url, QString extractDir)
{
for(int i = 0; i < url.length(); i++) {
if(!QString(url.at(i).toString()).endsWith(".zip")){
return LoaderStatus::SomeErrors;
}
}
for(int i = 0; i < url.length(); i++){
QStringList list = JlCompress::extractDir(url.at(i).toString(), extractDir);
}
return LoaderStatus::Successful;
}

View File

@ -1,12 +1,32 @@
#ifndef PACKAGEFILEHANDLER_H
#define PACKAGEFILEHANDLER_H
#include "quazip/quazip/JlCompress.h"
#include <QFile>
#include <QList>
#include <QObject>
#include <QString>
#include <QUrl>
#include <QtQml>
class PackageFileHandler : public QObject {
Q_OBJECT
class PackageFileHandler
{
public:
PackageFileHandler();
explicit PackageFileHandler(QObject* parent = nullptr);
Q_INVOKABLE int loadPackageFromLocalZip(QList<QUrl> url, QString extractDir);
enum LoaderStatus {
Idle,
Loading,
Extracting,
AllErrors,
SomeErrors,
Successful,
};
Q_ENUM(LoaderStatus)
};
#endif // PACKAGEFILEHANDLER_H
#endif // PACKAGEFILEHANDLER_H