UBPreferencesController.h 2.84 KB
Newer Older
Claudio Valerio's avatar
Claudio Valerio committed
1
/*
Claudio Valerio's avatar
Claudio Valerio committed
2 3 4 5
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
Claudio Valerio's avatar
Claudio Valerio committed
6
 *
Claudio Valerio's avatar
Claudio Valerio committed
7 8 9 10 11 12 13
 * 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 General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
Claudio Valerio's avatar
Claudio Valerio committed
14 15 16 17 18 19 20 21 22 23
 */

#ifndef UBPREFERENCESCONTROLLER_H_
#define UBPREFERENCESCONTROLLER_H_

#include <QtGui>

class UBColorPicker;
class UBApplication;
class UBSettings;
24
class UBPreferencesController;
Claudio Valerio's avatar
Claudio Valerio committed
25 26 27 28 29 30 31 32 33 34

namespace Ui
{
    class preferencesDialog;
}

#include "ui_brushProperties.h"

class UBBrushPropertiesFrame;

35 36 37 38 39 40 41 42 43 44 45 46 47 48 49

class UBPreferencesDialog : public QDialog
{
    Q_OBJECT;

public:
    UBPreferencesDialog(UBPreferencesController* prefController, QWidget* parent = 0,Qt::WindowFlags f = 0 );
    ~UBPreferencesDialog();

protected:
    void closeEvent(QCloseEvent* e);
    UBPreferencesController *mPreferencesController;
};


Claudio Valerio's avatar
Claudio Valerio committed
50 51 52 53 54 55 56 57
class UBPreferencesController : public QObject
{
    Q_OBJECT;

    public:
        UBPreferencesController(QWidget *parent);
        virtual ~UBPreferencesController();

58 59
        bool inputValuesConsistence();

Claudio Valerio's avatar
Claudio Valerio committed
60 61 62 63 64 65 66 67 68
    public slots:

        void show();

    protected:

        void wire();
        void init();

69
        UBPreferencesDialog* mPreferencesWindow;
Claudio Valerio's avatar
Claudio Valerio committed
70 71 72 73 74 75 76 77 78 79 80 81 82 83
        Ui::preferencesDialog* mPreferencesUI;
        UBBrushPropertiesFrame* mPenProperties;
        UBBrushPropertiesFrame* mMarkerProperties;

    protected slots:

        void close();
        void defaultSettings();
        void widthSliderChanged(int value);
        void opacitySliderChanged(int value);
        void colorSelected(const QColor&);
        void toolbarPositionChanged(bool checked);
        void toolbarOrientationVertical(bool checked);
        void toolbarOrientationHorizontal(bool checked);
84 85
        void onCommunityUsernameChanged();
        void onCommunityPasswordChanged();
Claudio Valerio's avatar
Claudio Valerio committed
86 87 88 89 90 91 92 93 94 95 96 97 98

    private:

        static qreal sSliderRatio;
        static qreal sMinPenWidth;
        static qreal sMaxPenWidth;

};

class UBBrushPropertiesFrame : public Ui::brushProperties
{

    public:
99
        UBBrushPropertiesFrame(QFrame* owner, const QList<QColor>& lightBackgroundColors,const QList<QColor>& darkBackgroundColors, const QList<QColor>& lightBackgroundSelectedColors,const QList<QColor>& darkBackgroundSelectedColors, UBPreferencesController* controller);
Claudio Valerio's avatar
Claudio Valerio committed
100 101 102 103 104 105 106 107 108 109

        virtual ~UBBrushPropertiesFrame(){}

        QList<UBColorPicker*> lightBackgroundColorPickers;
        QList<UBColorPicker*> darkBackgroundColorPickers;

};


#endif /* UBPREFERENCESCONTROLLER_H_ */