Merge branch 'stardict' of ssh://drop.maemo.org/git/mdictionary into stardict
authorjakub <jakub.jaszczynski@comarch.com>
Thu, 18 Nov 2010 15:32:36 +0000 (16:32 +0100)
committerjakub <jakub.jaszczynski@comarch.com>
Thu, 18 Nov 2010 15:32:36 +0000 (16:32 +0100)
1  2 
src/plugins/stardict/CompressedReader.h
src/plugins/xdxf/XdxfDictDownloader.cpp

      Copyright 2010 Comarch S.A.
  
  *******************************************************************************/
 -
 -//Created by Mateusz Półrola
 +/*!
 +    \file CompressedReader.cpp
 +    \author Mateusz Półrola
 +*/
  
  #ifndef COMPRESSEDREADER_H
  #define COMPRESSEDREADER_H
  
  #include <QObject>
  #include <zconf.h>
- #include <zlibdefs.h>
+ //#include <zlibdefs.h>
  #include <zlib.h>
  #include "StarDictReader.h"
  
@@@ -41,11 -39,13 +41,11 @@@ class CompressedReader : public StarDic
      Q_OBJECT
  public:
      CompressedReader(QObject *parent = 0);
 -    /*!
 -        Creates new compressed reader and open file with passed filename
 -    */
 +
 +    //! Creates new compressed reader and open file with passed filename
      CompressedReader(QString filename, QObject *parent = 0);
 -    /*!
 -        Destructs object and closing file
 -    */
 +
 +    //! Destructs object and closing file
      ~CompressedReader();
  
      /*!
@@@ -75,7 -75,9 +75,7 @@@
      QString readKeyword();
  
  
 -    /*!
 -        Closing file;
 -    */
 +    //! Closing file;
      void close();
  
  protected:
@@@ -85,7 -87,9 +85,7 @@@
      */
      bool open(QString file);
  
 -    /*!
 -        Reads single char from compressed.
 -    */
 +    //! Reads single char from compressed.
      QChar readChar();
  
  private:
      Copyright 2010 Comarch S.A.
  
  *******************************************************************************/
 -
  /*!
 -  \file XdxfDictDownloader.cpp
 -  \author Mateusz Półrola <mateusz.polrola@comarch.com>
 -  */
 +    \file XdxfDictDownloader.cpp
 +    \author Mateusz Półrola <mateusz.polrola@comarch.com>
 +*/
  
  #include "XdxfDictDownloader.h"
  #include "XdxfDictDownloadProgressDialog.h"
  #include <QDebug>
  #include <QProcess>
 -
 -
  #include <bzlib.h>
+ #ifndef Q_WS_MAEMO_5
  #include <libtar.h>
+ #endif
  #include <stdio.h>
  #include <fcntl.h>
  
  typedef void BZFILE;
  
  XdxfDictDownloader::XdxfDictDownloader(QObject *parent) :
      QObject(parent) {
      parentDialog = 0;
 +    progressDialog = 0;
      manager = new QNetworkAccessManager(this);
  
      connect(manager, SIGNAL(finished(QNetworkReply*)),
              this, SLOT(dictListReceived(QNetworkReply*)));
 -
 -
 -    progressDialog = 0;
 -    connect(&http, SIGNAL(finished()), this, SLOT(processFinished()));
 +    connect(&http, SIGNAL(finished()),
 +            this, SLOT(processFinished()));
      connect(&http, SIGNAL(error(QString)),
              this, SLOT(downloadingError(QString)));
      connect(&http, SIGNAL(progress(qint64,qint64)),
              this, SLOT(updateDownloadProgress(qint64,qint64)));
 -
  }
  
 +
  void XdxfDictDownloader::download(QWidget *parent) {
      parentDialog = parent;
      aborted = false;
      progressDialog->show();
  }
  
 +
  QString XdxfDictDownloader::downloadedFile() {
      return _downloadedFile;
  }
  
 +
  void XdxfDictDownloader::updateDownloadProgress(qint64 downloaded,
                                                  qint64 total)   {
      Q_EMIT downloadProgress(float(downloaded) / float(total));
  }
  
 +
  void XdxfDictDownloader::downloadingError(QString error) {
      breakDownloading();
      Q_EMIT notify(Notify::Error, error);
  }
  
 +
  void XdxfDictDownloader::breakDownloading() {
      //if user cancel downloading we kill all running processes, hide progress dialog and set flag that user cancel downloading.
      aborted = true;
@@@ -94,9 -98,9 +96,9 @@@
      if(progressDialog && progressDialog->isVisible()) {
          progressDialog->accept();
      }
 -
  }
  
 +
  void XdxfDictDownloader::processFinished() {
      //first check if user cancel downloading
      if(aborted) return;
      downloadComplete();
  }
  
 +
  void XdxfDictDownloader::downloadComplete() {
      if(aborted) return;
      // Downloaded tar file name is different than extracted folder so we need
      emit fileDownloaded(_downloadedFile);
  }
  
 +
  void XdxfDictDownloader::dictListReceived(QNetworkReply *reply) {
      progressDialog->accept();
 -    if(aborted) return;
 -
 -
 +    if(aborted)
 +        return;
      if(reply->error() != QNetworkReply::NoError) {
          Q_EMIT notify(Notify::Error, reply->errorString());
          return;