summaryrefslogtreecommitdiffstats
path: root/krita/ui/kis_dlg_preferences.h
diff options
context:
space:
mode:
Diffstat (limited to 'krita/ui/kis_dlg_preferences.h')
-rw-r--r--krita/ui/kis_dlg_preferences.h270
1 files changed, 270 insertions, 0 deletions
diff --git a/krita/ui/kis_dlg_preferences.h b/krita/ui/kis_dlg_preferences.h
new file mode 100644
index 00000000..2d79826b
--- /dev/null
+++ b/krita/ui/kis_dlg_preferences.h
@@ -0,0 +1,270 @@
+/*
+ * preferencesdlg.h - part of KImageShop^WKrita
+ *
+ * Copyright (c) 1999 Michael Koch <koch@kde.org>
+ *
+ * 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 2 of the License, 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 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.
+ */
+
+#ifndef __preferencesdlg_h__
+#define __preferencesdlg_h__
+
+#include <qwidget.h>
+
+#include <kdialogbase.h>
+
+#include <kopalettemanager.h>
+
+#include "kis_canvas.h"
+
+#include "wdggeneralsettings.h"
+#include "wdgtabletsettings.h"
+#include "wdgtabletdevicesettings.h"
+#include "wdgperformancesettings.h"
+#include "wdgdisplaysettings.h"
+#include "wdggridsettings.h"
+
+class QLineEdit;
+class QCheckBox;
+class KURLRequester;
+class WdgColorSettings;
+class KisCmbIDList;
+class KisID;
+
+/**
+ * "General"-tab for preferences dialog
+ */
+class GeneralTab : public WdgGeneralSettings
+{
+ Q_OBJECT
+
+public:
+
+ GeneralTab( QWidget *parent = 0, const char *name = 0 );
+
+ enumCursorStyle cursorStyle();
+ enumKoDockability dockability();
+ float dockerFontSize();
+
+ void setDefault();
+
+};
+
+//=======================
+
+class ColorSettingsTab : public QWidget
+{
+ Q_OBJECT
+
+public:
+
+ ColorSettingsTab( QWidget *parent = 0, const char * name = 0 );
+
+private slots:
+
+ void refillMonitorProfiles(const KisID & s);
+ void refillPrintProfiles(const KisID & s);
+
+public:
+ void setDefault();
+ WdgColorSettings * m_page;
+};
+
+
+/**
+ * "Performance"-tab for preferences dialog
+ */
+class PerformanceTab : public WdgPerformanceSettings
+{
+Q_OBJECT
+
+public:
+ PerformanceTab( QWidget *parent = 0, const char *name = 0 );
+
+public:
+ void setDefault();
+};
+
+//=======================
+
+
+/**
+ * Tablet settings tab for preferences dialog
+ */
+class TabletSettingsTab : public WdgTabletSettings
+{
+Q_OBJECT
+
+public:
+ TabletSettingsTab( QWidget *parent = 0, const char *name = 0 );
+
+public:
+ void setDefault();
+ void applySettings();
+
+private slots:
+ void slotActivateDevice(int deviceIndex);
+ void slotSetDeviceEnabled(bool enabled);
+ void slotConfigureDevice();
+ void applyTabletDeviceSettings();
+
+#ifdef EXTENDED_X11_TABLET_SUPPORT
+
+private:
+ class DeviceSettings {
+ public:
+ DeviceSettings(KisCanvasWidget::X11TabletDevice *tabletDevice, bool enabled,
+ Q_INT32 xAxis, Q_INT32 yAxis, Q_INT32 pressureAxis,
+ Q_INT32 xTiltAxis, Q_INT32 yTiltAxis, Q_INT32 wheelAxis,
+ Q_INT32 toolIDAxis, Q_INT32 serialNumberAxis);
+ DeviceSettings();
+
+ void applySettings();
+
+ void setEnabled(bool enabled);
+ bool enabled() const;
+
+ Q_INT32 numAxes() const;
+
+ void setXAxis(Q_INT32 axis);
+ void setYAxis(Q_INT32 axis);
+ void setPressureAxis(Q_INT32 axis);
+ void setXTiltAxis(Q_INT32 axis);
+ void setYTiltAxis(Q_INT32 axis);
+ void setWheelAxis(Q_INT32 axis);
+ void setToolIDAxis(Q_INT32 axis);
+ void setSerialNumberAxis(Q_INT32 axis);
+
+ Q_INT32 xAxis() const;
+ Q_INT32 yAxis() const;
+ Q_INT32 pressureAxis() const;
+ Q_INT32 xTiltAxis() const;
+ Q_INT32 yTiltAxis() const;
+ Q_INT32 wheelAxis() const;
+ Q_INT32 toolIDAxis() const;
+ Q_INT32 serialNumberAxis() const;
+
+ private:
+ KisCanvasWidget::X11TabletDevice *m_tabletDevice;
+
+ bool m_enabled;
+ Q_INT32 m_xAxis;
+ Q_INT32 m_yAxis;
+ Q_INT32 m_pressureAxis;
+ Q_INT32 m_xTiltAxis;
+ Q_INT32 m_yTiltAxis;
+ Q_INT32 m_wheelAxis;
+ Q_INT32 m_toolIDAxis;
+ Q_INT32 m_serialNumberAxis;
+ };
+
+ class TabletDeviceSettingsDialog : public KDialogBase {
+ typedef KDialogBase super;
+
+ public:
+ TabletDeviceSettingsDialog(const QString& deviceName,
+ DeviceSettings settings,
+ QWidget *parent = 0,
+ const char *name = 0);
+ virtual ~TabletDeviceSettingsDialog();
+
+ DeviceSettings settings();
+
+ private:
+ WdgTabletDeviceSettings *m_page;
+ DeviceSettings m_settings;
+ };
+
+ void initTabletDevices();
+
+ QValueVector<DeviceSettings> m_deviceSettings;
+#endif
+};
+
+//=======================
+
+
+/**
+ * Display settings tab for preferences dialog
+ */
+class DisplaySettingsTab : public WdgDisplaySettings
+{
+Q_OBJECT
+
+public:
+ DisplaySettingsTab( QWidget *parent = 0, const char *name = 0 );
+
+public:
+ void setDefault();
+protected slots:
+ void slotUseOpenGLToggled(bool isChecked);
+};
+
+//=======================
+
+
+/**
+ * Grid settings tab for preferences dialog
+ */
+class GridSettingsTab : public WdgGridSettingsBase {
+ Q_OBJECT
+ public:
+ GridSettingsTab(QWidget* parent);
+ public:
+ void setDefault();
+ private slots:
+ void linkSpacingToggled(bool);
+ void spinBoxHSpacingChanged(int );
+ void spinBoxVSpacingChanged(int );
+ private:
+ bool m_linkSpacing;
+};
+
+//=======================
+
+
+/**
+ * Preferences dialog of KImageShop^WKrayon^WKrita
+ */
+class PreferencesDialog : public KDialogBase
+{
+ Q_OBJECT
+
+public:
+
+ static bool editPreferences();
+
+
+protected:
+
+ PreferencesDialog( QWidget *parent = 0, const char *name = 0 );
+ ~PreferencesDialog();
+
+protected:
+
+ GeneralTab* m_general;
+ ColorSettingsTab* m_colorSettings;
+ PerformanceTab* m_performanceSettings;
+ TabletSettingsTab * m_tabletSettings;
+ DisplaySettingsTab * m_displaySettings;
+ GridSettingsTab* m_gridSettings;
+
+protected slots:
+
+ void slotDefault();
+
+};
+
+#endif