QTfrontend/pagedata.cpp
changeset 5762 0d6a338bf377
parent 5756 b451fd21ff4c
child 5764 d785d7e23113
equal deleted inserted replaced
5761:e991f19132af 5762:0d6a338bf377
    27 #include <QProgressBar>
    27 #include <QProgressBar>
    28 #include <QBuffer>
    28 #include <QBuffer>
    29 
    29 
    30 #include "pagedata.h"
    30 #include "pagedata.h"
    31 #include "databrowser.h"
    31 #include "databrowser.h"
       
    32 #include "hwconsts.h"
    32 
    33 
    33 #include "quazip.h"
    34 #include "quazip.h"
    34 #include "quazipfile.h"
    35 #include "quazipfile.h"
    35 
    36 
    36 PageDataDownload::PageDataDownload(QWidget* parent) : AbstractPage(parent)
    37 PageDataDownload::PageDataDownload(QWidget* parent) : AbstractPage(parent)
   139       return false;
   140       return false;
   140     }
   141     }
   141 
   142 
   142     QuaZipFile file(&zip);
   143     QuaZipFile file(&zip);
   143 
   144 
       
   145     QDir extractDir(*cfgdir);
       
   146     extractDir.cd("Data");
       
   147 
   144     for(bool more = zip.goToFirstFile(); more; more = zip.goToNextFile())
   148     for(bool more = zip.goToFirstFile(); more; more = zip.goToNextFile())
   145     {
   149     {
   146         if(!file.open(QIODevice::ReadOnly))
   150         if(!file.open(QIODevice::ReadOnly))
   147         {
   151         {
   148             qWarning("file.open(): %d", file.getZipError());
   152             qWarning("file.open(): %d", file.getZipError());
   149             return false;
   153             return false;
   150         }
   154         }
   151 
   155 
   152 
   156 
   153         QString fileName = file.getActualFileName();
   157         QString fileName = file.getActualFileName();
   154         QString filePath = QDir::tempPath() + "/" + fileName;
   158         QString filePath = extractDir.filePath(fileName);
   155         if (fileName.endsWith("/"))
   159         if (fileName.endsWith("/"))
   156         {
   160         {
   157             QFileInfo fi(filePath);
   161             QFileInfo fi(filePath);
   158             QDir().mkpath(fi.filePath());
   162             QDir().mkpath(fi.filePath());
   159         } else
   163         } else
   160         {
   164         {
   161             qDebug() << filePath;
   165             qDebug() << "Extracting" << filePath;
   162             QFile out(filePath);
   166             QFile out(filePath);
   163             if(!out.open(QFile::WriteOnly))
   167             if(!out.open(QFile::WriteOnly))
   164             {
   168             {
   165                 qWarning() << "out.open():" << out.errorString();
   169                 qWarning() << "out.open():" << out.errorString();
   166                 return false;
   170                 return false;