Gehad,

you said earlier that you have problems with this patch, but didn't go
into any more details.
It looks solid to me, so unless there's a good reason not to take it...

Please let us know!

/D
On Tue, Jun 10, 2014 at 11:06:39AM -0300, Tomaz Canabrava wrote:
> From 79a9e2c2432321ec73ed3034458c42e11ebf25b2 Mon Sep 17 00:00:00 2001
> From: Tomaz Canabrava <tomaz.canabr...@intel.com>
> Date: Tue, 10 Jun 2014 08:02:55 -0300
> Subject: [PATCH 4/9] Much needed clean on the HTML export dialog code.
> 
> Correct usage of QFile, QString and code cleanup.
> 
> Signed-off-by: Tomaz Canabrava <tomaz.canabr...@intel.com>
> ---
>  qt-ui/divelogexportdialog.cpp | 49 
> ++++++++++++++++---------------------------
>  qt-ui/divelogexportdialog.h   |  4 ++--
>  2 files changed, 20 insertions(+), 33 deletions(-)
> 
> diff --git a/qt-ui/divelogexportdialog.cpp b/qt-ui/divelogexportdialog.cpp
> index 84be70b..a206e78 100644
> --- a/qt-ui/divelogexportdialog.cpp
> +++ b/qt-ui/divelogexportdialog.cpp
> @@ -5,6 +5,7 @@
>  #include <QTextStream>
>  #include <QSettings>
>  #include <QDir>
> +#include <QDebug>
>  
>  #include "mainwindow.h"
>  #include "divelogexportdialog.h"
> @@ -66,52 +67,38 @@ void DiveLogExportDialog::showExplanation()
>       }
>  }
>  
> -void DiveLogExportDialog::exportHtmlInit(QString filename)
> +void DiveLogExportDialog::exportHtmlInit(const QString& filename)
>  {
>       QDir dir(filename);
>       if (!dir.exists()) {
> -             /* I think this will not work as expected on windows */
> -             QDir::home().mkpath(filename);
> +             dir.mkpath(filename);
>       }
>  
>       QString json_dive_data = filename + QDir::separator() + "file.json";
> -     QString json_settings = filename + "/settings.json";
> +     QString json_settings = filename + QDir::separator() + "settings.json";
>  
>       exportHTMLsettings(json_settings);
>       export_HTML(json_dive_data.toUtf8().data(), 
> ui->exportSelectedDives->isChecked());
>  
>       QString searchPath = getSubsurfaceDataPath("theme");
> -     if (searchPath.isEmpty())
> -                     return;
> -
> -     QFile *tmpFile;
> -
> -     tmpFile = new QFile(searchPath + "/dive_export.html");
> -     tmpFile->copy(filename + "/dive_export.html");
> -     delete tmpFile;
> -
> -     tmpFile = new QFile(searchPath + "/list_lib.js");
> -     tmpFile->copy(filename + "/list_lib.js");
> -     delete tmpFile;
> -
> -     tmpFile = new QFile(searchPath + "/poster.png");
> -     tmpFile->copy(filename + "/poster.png");
> -     delete tmpFile;
> +     if (searchPath.isEmpty()){
> +             qDebug() << "empty search path";
> +             return;
> +     }
>  
> -     tmpFile = new QFile(searchPath + "/index.html");
> -     tmpFile->copy(filename + "/index.html");
> -     delete tmpFile;
> +     searchPath += QDir::separator();
> +     QString dirname = filename + QDir::separator();
>  
> -     if (ui->themeSelection->currentText() == "Light") {
> -             tmpFile = new QFile(searchPath + "/light.css");
> -     } else {
> -             tmpFile = new QFile(searchPath + "/sand.css");
> -     }
> -     tmpFile->copy(filename + "/theme.css");
> -     delete tmpFile;
> +     qDebug() << "from" << searchPath << "to" << dirname;
> +     QFile::copy(searchPath  + "dive_export.html",dirname + 
> "dive_export.html");
> +     QFile::copy(searchPath  + "list_lib.js", dirname + "list_lib.js");
> +     QFile::copy(searchPath  + "poster.png", dirname + "poster.png");
> +     QFile::copy(searchPath  + "index.html",dirname + "index.html");
> +     QFile::copy(searchPath  +  ui->themeSelection->currentText() == "Light" 
> ? "light.css" : "sand.css",
> +             filename + "theme.css");
>  }
>  
> -void DiveLogExportDialog::exportHTMLsettings(QString filename)
> +void DiveLogExportDialog::exportHTMLsettings(const QString& filename)
>  {
>       QSettings settings;
>       settings.beginGroup("HTML");
> diff --git a/qt-ui/divelogexportdialog.h b/qt-ui/divelogexportdialog.h
> index 8322fa1..fc1bfd3 100644
> --- a/qt-ui/divelogexportdialog.h
> +++ b/qt-ui/divelogexportdialog.h
> @@ -23,8 +23,8 @@ slots:
>  private:
>       Ui::DiveLogExportDialog *ui;
>       void showExplanation();
> -     void exportHtmlInit(QString filename);
> -     void exportHTMLsettings(QString filename);
> +     void exportHtmlInit(const QString& filename);
> +     void exportHTMLsettings(const QString& filename);
>  };
>  
>  #endif // DIVELOGEXPORTDIALOG_H
> -- 
> 2.0.0
> 

_______________________________________________
subsurface mailing list
subsurface@hohndel.org
http://lists.hohndel.org/cgi-bin/mailman/listinfo/subsurface

Reply via email to