// Copyright 2009 Simon Edwards <simon@simonzone.com>

//                 Generated by twine2

// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU Library General Public License as
// published by the Free Software Foundation; either version 2, or
// (at your option) any later version.

// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details

// You should have received a copy of the GNU Library General Public
// License along with this program; if not, write to the
// Free Software Foundation, Inc.,
// 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.

namespace Marble
{
class QtMarbleConfigDialog : QDialog
{
%TypeHeaderCode
#include <QtMarbleConfigDialog.h>
%End

public:
    explicit                QtMarbleConfigDialog (Marble::MarbleWidget* marbleWidget, QWidget* parent /TransferThis/ = 0);
    ~QtMarbleConfigDialog ();
    Marble::AngleUnit       angleUnit () const;
    Marble::MapQuality      stillQuality () const;
    Marble::MapQuality      animationQuality () const;
    int                     labelLocalization () const;
    QFont                   mapFont () const;
    Marble::GraphicsSystem  graphicsSystem () const;
    int                     dragLocation () const;
    int                     onStartup () const;
    bool                    animateTargetVoyage () const;
    int                     volatileTileCacheLimit () const;
    int                     persistentTileCacheLimit () const;
    QString                 proxyUrl () const;
    int                     proxyPort () const;
    QString                 proxyUser () const;
    QString                 proxyPass () const;
    bool                    proxyType () const;
    bool                    proxyAuth () const;
signals:
    void                    settingsChanged ();
    void                    clearVolatileCacheClicked ();
    void                    clearPersistentCacheClicked ();
public:
    void                    readSettings ();
    void                    writeSettings ();
    QString                 externalMapEditor () const;
    bool                    systemTime () const;
    bool                    lastSessionTime () const;
    bool                    systemTimezone () const;
    bool                    UTC () const;
    bool                    customTimezone () const;
    int                     chosenTimezone () const;
    void                    initializeCustomTimezone ();
    QLocale::MeasurementSystem  measurementSystem () const;
    bool                    inertialEarthRotation () const;
};
};
