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:
parent
1767bafa1f
commit
bb410de3ab
@ -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 {
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user