~ubuntu-branches/ubuntu/vivid/luminance-hdr/vivid-proposed

« back to all changes in this revision

Viewing changes to src/Common/global.cpp

  • Committer: Package Import Robot
  • Author(s): Andreas Metzler
  • Date: 2012-11-03 09:09:25 UTC
  • mfrom: (3.1.1 experimental)
  • Revision ID: package-import@ubuntu.com-20121103090925-6b12x4a4cpqd3u4q
Tags: 2.3.0-2
Upload to unstable.

Show diffs side-by-side

added added

removed removed

Lines of Context:
27
27
#include <QUrl>
28
28
#include <QTranslator>
29
29
#include <QCoreApplication>
 
30
#include <QScopedPointer>
30
31
#include <iostream>
31
32
 
32
33
#include "Common/config.h"
35
36
#include "Common/global.h"
36
37
#include "global.hxx"
37
38
 
38
 
QTranslator* lastGuiTranslator;
39
 
QTranslator* lastQtTranslator;
40
 
 
41
 
/**
42
 
 * \return "" when fail, out file name when successful
43
 
 */
44
 
/*
45
 
QString saveLDRImage(QWidget *parent, const QString initialFileName, const QImage *image, bool batchMode)
46
 
{
47
 
    LuminanceOptions luminance_options;
48
 
 
49
 
    QString outfname = QDir(luminance_options.getDefaultPathLdrOut()).filePath(initialFileName);
50
 
    if (!batchMode)
51
 
    {
52
 
        QString filetypes = QObject::tr("All LDR formats") + " (*.jpg *.jpeg *.png *.ppm *.pbm *.bmp *.JPG *.JPEG *.PNG *.PPM *.PBM *.BMP);;";
53
 
        filetypes += "JPEG (*.jpg *.jpeg *.JPG *.JPEG);;" ;
54
 
        filetypes += "PNG (*.png *.PNG);;" ;
55
 
        filetypes += "PPM PBM (*.ppm *.pbm *.PPM *.PBM);;";
56
 
        filetypes += "BMP (*.bmp *.BMP)";
57
 
 
58
 
        outfname = QFileDialog::getSaveFileName(parent,
59
 
                                                QObject::tr("Save the LDR image as..."),
60
 
                                                QDir(luminance_options.getDefaultPathLdrOut()).filePath(initialFileName),
61
 
                                                filetypes);
62
 
    }
63
 
 
64
 
    if( !outfname.isEmpty() )
65
 
    {
66
 
        QFileInfo qfi(outfname);
67
 
        luminance_options.setDefaultPathLdrOut(qfi.path()); //save settings
68
 
        QString format = qfi.suffix();
69
 
 
70
 
        if ( qfi.suffix().isEmpty() )
71
 
        {
72
 
            // default as png
73
 
            format    =   "png";
74
 
            outfname  +=  ".png";
75
 
        }
76
 
        int quality = 100;
77
 
        if ((format == "png" || format == "jpg") && !batchMode)
78
 
        {
79
 
            ImageQualityDialog savedFileQuality(image, format, parent);
80
 
            QString winTitle(QObject::tr("Save as..."));
81
 
            winTitle += format.toUpper();
82
 
            savedFileQuality.setWindowTitle( winTitle );
83
 
            if ( savedFileQuality.exec() == QDialog::Rejected )
84
 
            {
85
 
                return "";
86
 
            }
87
 
            quality = savedFileQuality.getQuality();
88
 
        }
89
 
        //std::cout << quality << std::endl;
90
 
        if( !(image->save(outfname, format.toLocal8Bit(), quality)) )
91
 
        {
92
 
            //std::cout << "Failed to save" << std::endl;
93
 
            QMessageBox::warning(0,"",QObject::tr("Failed to save <b>") + outfname + "</b>", QMessageBox::Ok, QMessageBox::NoButton);
94
 
            return "";
95
 
        }
96
 
    } // if(!outfname.isEmpty())
97
 
    return outfname;
98
 
}
99
 
*/
100
 
 
101
39
bool matchesLdrFilename(QString file)
102
40
{
103
41
        QRegExp exp(".*\\.(jpeg|jpg|tiff|tif|crw|cr2|nef|dng|mrw|orf|kdc|dcr|arw|raf|ptx|pef|x3f|raw|sr2|rw2)$", Qt::CaseInsensitive);
129
67
    return files;
130
68
}
131
69
 
132
 
void installTranslators(QString lang, bool installQtTranslations)
 
70
namespace
 
71
{
 
72
typedef QScopedPointer<QTranslator> ScopedQTranslator;
 
73
 
 
74
ScopedQTranslator lastGuiTranslator;
 
75
ScopedQTranslator lastQtTranslator;
 
76
}
 
77
 
 
78
void installTranslators(const QString& lang, bool installQtTranslations)
133
79
{
134
80
    if (lastGuiTranslator)
135
81
    {
136
 
                QCoreApplication::removeTranslator(lastGuiTranslator);
137
 
                lastGuiTranslator = 0;
 
82
        QCoreApplication::removeTranslator(lastGuiTranslator.data());
 
83
        lastGuiTranslator.reset();
138
84
        }
139
85
    if (installQtTranslations && lastQtTranslator)
140
86
    {
141
 
                QCoreApplication::removeTranslator(lastQtTranslator);
142
 
                lastQtTranslator = 0;
 
87
        QCoreApplication::removeTranslator(lastQtTranslator.data());
 
88
        lastQtTranslator.reset();
143
89
        }
144
90
    if (lang != "en")
145
91
    {
146
 
        QTranslator* guiTranslator = new QTranslator();
 
92
        ScopedQTranslator guiTranslator( new QTranslator() );
 
93
 
147
94
        guiTranslator->load(QString("lang_") + lang, I18NDIR);
148
 
            QCoreApplication::installTranslator(guiTranslator);
149
 
            lastGuiTranslator = guiTranslator;
 
95
        QCoreApplication::installTranslator(guiTranslator.data());
 
96
        lastGuiTranslator.swap( guiTranslator );
150
97
 
151
98
        if (installQtTranslations)
152
99
        {
153
 
                        QTranslator* qtTranslator = new QTranslator();
 
100
            ScopedQTranslator qtTranslator( new QTranslator() );
 
101
 
154
102
                        qtTranslator->load(QString("qt_") + lang, I18NDIR);
155
 
                        QCoreApplication::installTranslator(qtTranslator);
156
 
                        lastQtTranslator = qtTranslator;
 
103
            QCoreApplication::installTranslator(qtTranslator.data());
 
104
            lastQtTranslator.swap( qtTranslator );
157
105
            }
158
106
        }
159
107
}
160
108
 
161
 
void installTranslators(bool installQtTranslations) {
 
109
void installTranslators(bool installQtTranslations)
 
110
{
162
111
        LuminanceOptions luminance_options;
163
112
        installTranslators(luminance_options.getGuiLang(), installQtTranslations);
164
113
}