summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Tomaz Canabrava <tcanabrava@kde.org>2013-05-24 15:19:48 -0300
committerGravatar Tomaz Canabrava <tcanabrava@kde.org>2013-05-24 15:19:48 -0300
commitefb7f109e89c3d8c093c238fb7671c7ab2475f25 (patch)
tree362f229bc5f704aac166eec61087d507c5c98fe4
parent5e0a3cdad8d02eff7ffa7c2abb4ac48c332f144f (diff)
downloadsubsurface-efb7f109e89c3d8c093c238fb7671c7ab2475f25.tar.gz
Added support for a preliminary Preferences Dialog
Dirk asked me to try to make it more modern, so I used as a base, the Firefox preferences. currently it saves / loads the preferences, and also smits a signal 'preferencesChanged' that should be connected to anything that uses preferenes, via the PreferencesDialog::intance() object. In the future, I plan to make it have a signal / slot for each member that changes. I also moved the icons to a new folder this time, because the amount of icons is now more than just two, and it was becoming messy. Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org>
-rw-r--r--Makefile2
-rw-r--r--icons/advanced.pngbin0 -> 52221 bytes
-rw-r--r--icons/flag.png (renamed from flag.png)bin1555 -> 1555 bytes
-rw-r--r--icons/graph.pngbin0 -> 8600 bytes
-rw-r--r--icons/plus.png (renamed from plus.png)bin7356 -> 7356 bytes
-rw-r--r--icons/satellite.png (renamed from satellite.png)bin343 -> 343 bytes
-rw-r--r--icons/star.svg (renamed from star.svg)0
-rw-r--r--icons/subsurface-icon.png (renamed from subsurface-icon.png)bin15280 -> 15280 bytes
-rw-r--r--icons/trash.png (renamed from trash.png)bin4649 -> 4649 bytes
-rw-r--r--icons/units.pngbin0 -> 2741 bytes
-rw-r--r--qt-ui/mainwindow.cpp3
-rw-r--r--qt-ui/preferences.cpp109
-rw-r--r--qt-ui/preferences.h26
-rw-r--r--qt-ui/preferences.ui890
-rw-r--r--subsurface.qrc11
15 files changed, 1036 insertions, 5 deletions
diff --git a/Makefile b/Makefile
index 1cc26a007..9c9373d19 100644
--- a/Makefile
+++ b/Makefile
@@ -44,6 +44,7 @@ HEADERS = \
qt-ui/globe.h \
qt-ui/kmessagewidget.h \
qt-ui/downloadfromdivecomputer.h \
+ qt-ui/preferences.h \
SOURCES = \
@@ -75,6 +76,7 @@ SOURCES = \
qt-ui/globe.cpp \
qt-ui/kmessagewidget.cpp \
qt-ui/downloadfromdivecomputer.cpp \
+ qt-ui/preferences.cpp \
$(RESFILE)
diff --git a/icons/advanced.png b/icons/advanced.png
new file mode 100644
index 000000000..29667661d
--- /dev/null
+++ b/icons/advanced.png
Binary files differ
diff --git a/flag.png b/icons/flag.png
index 04b74460a..04b74460a 100644
--- a/flag.png
+++ b/icons/flag.png
Binary files differ
diff --git a/icons/graph.png b/icons/graph.png
new file mode 100644
index 000000000..674062d81
--- /dev/null
+++ b/icons/graph.png
Binary files differ
diff --git a/plus.png b/icons/plus.png
index 1008f31ce..1008f31ce 100644
--- a/plus.png
+++ b/icons/plus.png
Binary files differ
diff --git a/satellite.png b/icons/satellite.png
index f01953836..f01953836 100644
--- a/satellite.png
+++ b/icons/satellite.png
Binary files differ
diff --git a/star.svg b/icons/star.svg
index e4345eb48..e4345eb48 100644
--- a/star.svg
+++ b/icons/star.svg
diff --git a/subsurface-icon.png b/icons/subsurface-icon.png
index 00ae35ea2..00ae35ea2 100644
--- a/subsurface-icon.png
+++ b/icons/subsurface-icon.png
Binary files differ
diff --git a/trash.png b/icons/trash.png
index 6025acdfa..6025acdfa 100644
--- a/trash.png
+++ b/icons/trash.png
Binary files differ
diff --git a/icons/units.png b/icons/units.png
new file mode 100644
index 000000000..2636a019d
--- /dev/null
+++ b/icons/units.png
Binary files differ
diff --git a/qt-ui/mainwindow.cpp b/qt-ui/mainwindow.cpp
index 53138f5a1..b343140b0 100644
--- a/qt-ui/mainwindow.cpp
+++ b/qt-ui/mainwindow.cpp
@@ -26,6 +26,7 @@
#include "modeldelegates.h"
#include "models.h"
#include "downloadfromdivecomputer.h"
+#include "preferences.h"
static MainWindow* instance = 0;
@@ -148,7 +149,7 @@ void MainWindow::on_actionPrint_triggered()
void MainWindow::on_actionPreferences_triggered()
{
- qDebug("actionPreferences");
+ PreferencesDialog::instance()->show();
}
void MainWindow::on_actionQuit_triggered()
diff --git a/qt-ui/preferences.cpp b/qt-ui/preferences.cpp
new file mode 100644
index 000000000..f9165c750
--- /dev/null
+++ b/qt-ui/preferences.cpp
@@ -0,0 +1,109 @@
+#include "preferences.h"
+#include "ui_preferences.h"
+#include <QSettings>
+
+PreferencesDialog* PreferencesDialog::instance()
+{
+ static PreferencesDialog *dialog = new PreferencesDialog();
+ return dialog;
+}
+
+PreferencesDialog::PreferencesDialog(QWidget* parent, Qt::WindowFlags f) : QDialog(parent, f)
+, ui(new Ui::PreferencesDialog())
+{
+ ui->setupUi(this);
+ connect(ui->buttonBox, SIGNAL(accepted()), this, SLOT(syncSettings()));
+
+ #define B(X) s.value(#X, false).toBool()
+ #define D(X) s.value(#X, 0.0).toDouble()
+
+ QSettings s;
+
+ // Graph
+ ui->calculated_ceiling->setChecked(B(show_calculated_ceiling));
+ ui->phe->setChecked(B(show_phe));
+ ui->po2->setChecked(B(show_po2));
+ ui->pn2->setChecked(B(show_pn2));
+ ui->pheThreshould->setValue(D(phe_threshould));
+ ui->po2Threashould->setValue(D(po2_threshould));
+ ui->pn2Threshould->setValue(D(pn2_threshould));
+ ui->ead_end_eadd->setChecked(B(show_ead_end_eadd));
+ ui->dc_reported_ceiling->setChecked(B(show_dc_reported_ceiling));
+ ui->calculated_ceiling->setChecked(B(show_calculated_ceiling));
+ ui->increment_3m->setChecked(B(show_3m_increments));
+ ui->gflow->setValue(D(gflow));
+ ui->gfhigh->setValue(D(gfhigh));
+
+ // Units
+ bool value = s.value("units_metric").toBool();
+ ui->metric->setChecked(value);
+ ui->imperial->setChecked(!value);
+
+ value = s.value("units_celcius").toBool();
+ ui->celsius->setChecked( value);
+ ui->fahrenheit->setChecked( !value);
+
+ value = s.value("units_meters").toBool();
+ ui->meter->setChecked(value);
+ ui->feet->setChecked(!value);
+
+ value = s.value("units_bar").toBool();
+ ui->bar->setChecked(value);
+ ui->psi->setChecked(!value);
+
+ value = s.value("units_liter").toBool();
+ ui->liter->setChecked(value);
+ ui->cuft->setChecked(!value);
+
+ value = s.value("units_kgs").toBool();
+ ui->kgs->setChecked(value);
+ ui->lbs->setChecked(!value);
+
+ // Defaults
+ ui->font->setFont( QFont(s.value("table_fonts").toString()));
+ ui->fontsize->setValue(D(font_size));
+
+ ui->defaultfilename->setText(s.value("default_file").toString());
+ ui->displayinvalid->setChecked(B(show_invalid));
+
+#undef B
+#undef D
+}
+
+void PreferencesDialog::syncSettings()
+{
+ QSettings s;
+
+ // Graph
+ s.setValue("show_calculated_ceiling", ui->calculated_ceiling->isChecked());
+ s.setValue("show_phe", ui->phe->isChecked());
+ s.setValue("show_po2", ui->po2->isChecked());
+ s.setValue("show_pn2", ui->pn2->isChecked());
+ s.setValue("phe_threshould", ui->pheThreshould->value());
+ s.setValue("po2_threshould", ui->po2Threashould->value());
+ s.setValue("pn2_threshould", ui->pn2Threshould->value());
+ s.setValue("show_ead_end_eadd", ui->ead_end_eadd->isChecked());
+ s.setValue("show_dc_reported_ceiling", ui->dc_reported_ceiling->isChecked());
+ s.setValue("show_calculated_ceiling", ui->calculated_ceiling->isChecked());
+
+ s.setValue("show_3m_increments", ui->increment_3m->isChecked());
+ s.setValue("gflow", ui->gflow->value());
+ s.setValue("gfhigh", ui->gfhigh->value());
+
+ // Units
+ s.setValue("units_metric", ui->metric->isChecked());
+ s.setValue("units_celcius", ui->celsius->isChecked());
+ s.setValue("units_meter", ui->meter->isChecked());
+ s.setValue("units_bar", ui->bar->isChecked());
+ s.setValue("units_liter", ui->liter->isChecked());
+ s.setValue("units_kgs", ui->liter->isChecked());
+
+ // Defaults
+ s.value("table_fonts", ui->font->font().family());
+ s.value("font_size", ui->fontsize->value());
+ s.value("default_file", ui->defaultfilename->text());
+ s.value("displayinvalid", ui->displayinvalid->isChecked());
+ s.sync();
+
+ emit settingsChanged();
+}
diff --git a/qt-ui/preferences.h b/qt-ui/preferences.h
new file mode 100644
index 000000000..ab5a214ed
--- /dev/null
+++ b/qt-ui/preferences.h
@@ -0,0 +1,26 @@
+#ifndef PREFERENCES_DIALOG_H
+#define PREFERENCES_DIALOG_H
+
+#include <QDialog>
+
+namespace Ui{
+ class PreferencesDialog;
+}
+
+class PreferencesDialog :public QDialog{
+Q_OBJECT
+public:
+ static PreferencesDialog* instance();
+
+signals:
+ void settingsChanged();
+
+public slots:
+ void syncSettings();
+
+private:
+ explicit PreferencesDialog(QWidget* parent = 0, Qt::WindowFlags f = 0);
+ Ui::PreferencesDialog* ui;
+};
+
+#endif \ No newline at end of file
diff --git a/qt-ui/preferences.ui b/qt-ui/preferences.ui
new file mode 100644
index 000000000..e36aef5b3
--- /dev/null
+++ b/qt-ui/preferences.ui
@@ -0,0 +1,890 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>PreferencesDialog</class>
+ <widget class="QDialog" name="PreferencesDialog">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>444</width>
+ <height>386</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>Dialog</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout_2">
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_2">
+ <item>
+ <widget class="QListWidget" name="listWidget">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Minimum" vsizetype="Expanding">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>80</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>80</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="iconSize">
+ <size>
+ <width>40</width>
+ <height>40</height>
+ </size>
+ </property>
+ <property name="textElideMode">
+ <enum>Qt::ElideNone</enum>
+ </property>
+ <property name="movement">
+ <enum>QListView::Static</enum>
+ </property>
+ <property name="isWrapping" stdset="0">
+ <bool>true</bool>
+ </property>
+ <property name="layoutMode">
+ <enum>QListView::Batched</enum>
+ </property>
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <property name="gridSize">
+ <size>
+ <width>70</width>
+ <height>60</height>
+ </size>
+ </property>
+ <property name="viewMode">
+ <enum>QListView::IconMode</enum>
+ </property>
+ <property name="uniformItemSizes">
+ <bool>false</bool>
+ </property>
+ <property name="wordWrap">
+ <bool>true</bool>
+ </property>
+ <property name="currentRow">
+ <number>-1</number>
+ </property>
+ <item>
+ <property name="text">
+ <string>Defaults</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normalon>:/subsurface-icon</normalon>
+ </iconset>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Units</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normalon>:/units</normalon>
+ </iconset>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Graph</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normalon>:/graph</normalon>
+ </iconset>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item>
+ <widget class="QStackedWidget" name="stackedWidget">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="currentIndex">
+ <number>1</number>
+ </property>
+ <widget class="QWidget" name="page_2">
+ <layout class="QVBoxLayout" name="verticalLayout_3">
+ <item>
+ <widget class="QGroupBox" name="groupBox_2">
+ <property name="title">
+ <string>Lists and Tables</string>
+ </property>
+ <layout class="QFormLayout" name="formLayout_2">
+ <item row="0" column="0">
+ <widget class="QLabel" name="label_7">
+ <property name="text">
+ <string>Font</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QFontComboBox" name="font"/>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="label_8">
+ <property name="text">
+ <string>Font size</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QDoubleSpinBox" name="fontsize"/>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <widget class="QGroupBox" name="groupBox_3">
+ <property name="title">
+ <string>Dives</string>
+ </property>
+ <layout class="QFormLayout" name="formLayout">
+ <item row="0" column="0">
+ <widget class="QLabel" name="label_9">
+ <property name="text">
+ <string>Default Dive file</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <layout class="QHBoxLayout" name="horizontalLayout_3">
+ <item>
+ <widget class="QLineEdit" name="defaultfilename"/>
+ </item>
+ <item>
+ <widget class="QToolButton" name="chooseFile">
+ <property name="text">
+ <string>...</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="label_10">
+ <property name="text">
+ <string>Display Invalid</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QCheckBox" name="displayinvalid">
+ <property name="text">
+ <string/>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <spacer name="verticalSpacer_2">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>40</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="page">
+ <layout class="QVBoxLayout" name="verticalLayout">
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout">
+ <item>
+ <widget class="QLabel" name="label_6">
+ <property name="text">
+ <string>System</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QRadioButton" name="metric">
+ <property name="text">
+ <string>Metric</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QRadioButton" name="imperial">
+ <property name="text">
+ <string>Imperial</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <widget class="QGroupBox" name="groupBox">
+ <property name="title">
+ <string>Personalize</string>
+ </property>
+ <property name="checkable">
+ <bool>true</bool>
+ </property>
+ <property name="checked">
+ <bool>false</bool>
+ </property>
+ <layout class="QGridLayout" name="gridLayout">
+ <item row="0" column="0">
+ <widget class="QLabel" name="label">
+ <property name="text">
+ <string>Depth</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QRadioButton" name="meter">
+ <property name="text">
+ <string>Meter</string>
+ </property>
+ <attribute name="buttonGroup">
+ <string notr="true">buttonGroup</string>
+ </attribute>
+ </widget>
+ </item>
+ <item row="0" column="2">
+ <widget class="QRadioButton" name="feet">
+ <property name="text">
+ <string>Feet</string>
+ </property>
+ <attribute name="buttonGroup">
+ <string notr="true">buttonGroup</string>
+ </attribute>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="label_2">
+ <property name="text">
+ <string>Pressure</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QRadioButton" name="bar">
+ <property name="text">
+ <string>Bar</string>
+ </property>
+ <attribute name="buttonGroup">
+ <string notr="true">buttonGroup_2</string>
+ </attribute>
+ </widget>
+ </item>
+ <item row="1" column="2">
+ <widget class="QRadioButton" name="psi">
+ <property name="text">
+ <string>Psi</string>
+ </property>
+ <attribute name="buttonGroup">
+ <string notr="true">buttonGroup_2</string>
+ </attribute>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="label_3">
+ <property name="text">
+ <string>Volume</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QRadioButton" name="liter">
+ <property name="text">
+ <string>Liter</string>
+ </property>
+ <attribute name="buttonGroup">
+ <string notr="true">buttonGroup_3</string>
+ </attribute>
+ </widget>
+ </item>
+ <item row="2" column="2">
+ <widget class="QRadioButton" name="cuft">
+ <property name="text">
+ <string>CuFt</string>
+ </property>
+ <attribute name="buttonGroup">
+ <string notr="true">buttonGroup_3</string>
+ </attribute>
+ </widget>
+ </item>
+ <item row="3" column="0">
+ <widget class="QLabel" name="label_4">
+ <property name="text">
+ <string>Temperature</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="1">
+ <widget class="QRadioButton" name="celsius">
+ <property name="text">
+ <string>Celsius</string>
+ </property>
+ <attribute name="buttonGroup">
+ <string notr="true">buttonGroup_4</string>
+ </attribute>
+ </widget>
+ </item>
+ <item row="3" column="2">
+ <widget class="QRadioButton" name="fahrenheit">
+ <property name="text">
+ <string>Fahrenheit</string>
+ </property>
+ <attribute name="buttonGroup">
+ <string notr="true">buttonGroup_4</string>
+ </attribute>
+ </widget>
+ </item>
+ <item row="4" column="0">
+ <widget class="QLabel" name="label_5">
+ <property name="text">
+ <string>Weigth</string>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="1">
+ <widget class="QRadioButton" name="kgs">
+ <property name="text">
+ <string>Kg</string>
+ </property>
+ <attribute name="buttonGroup">
+ <string notr="true">buttonGroup_5</string>
+ </attribute>
+ </widget>
+ </item>
+ <item row="4" column="2">
+ <widget class="QRadioButton" name="lbs">
+ <property name="text">
+ <string>lbs</string>
+ </property>
+ <attribute name="buttonGroup">
+ <string notr="true">buttonGroup_5</string>
+ </attribute>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <spacer name="verticalSpacer">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>40</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <spacer name="horizontalSpacer">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="page_3">
+ <layout class="QVBoxLayout" name="verticalLayout_5">
+ <item>
+ <widget class="QGroupBox" name="groupBox_4">
+ <property name="title">
+ <string>Show</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout_4">
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_4">
+ <item>
+ <widget class="QCheckBox" name="po2">
+ <property name="text">
+ <string>pO2</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="horizontalSpacer_2">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QLabel" name="label_12">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="text">
+ <string>threshould</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QSpinBox" name="po2Threashould">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_5">
+ <item>
+ <widget class="QCheckBox" name="pn2">
+ <property name="text">
+ <string>pN2</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="horizontalSpacer_3">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QLabel" name="label_13">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="text">
+ <string>threshould</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QSpinBox" name="pn2Threshould">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_8">
+ <item>
+ <widget class="QCheckBox" name="phe">
+ <property name="text">
+ <string>pHe</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="horizontalSpacer_4">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QLabel" name="label_17">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="text">
+ <string>threshould</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QSpinBox" name="pheThreshould">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_9">
+ <item>
+ <widget class="QCheckBox" name="mod">
+ <property name="text">
+ <string>MOD</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="horizontalSpacer_5">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QLabel" name="label_18">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="text">
+ <string>max PP02</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QSpinBox" name="maxppo2">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <widget class="QCheckBox" name="ead_end_eadd">
+ <property name="text">
+ <string>EAD END EADD</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QCheckBox" name="dc_reported_ceiling">
+ <property name="text">
+ <string>Dive computer reported ceiling</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_10">
+ <item>
+ <widget class="QCheckBox" name="calculated_ceiling">
+ <property name="text">
+ <string>Calculated ceiling</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="horizontalSpacer_6">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QCheckBox" name="increment_3m">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="text">
+ <string>3m increments</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <widget class="QGroupBox" name="groupBox_5">
+ <property name="title">
+ <string>Misc</string>
+ </property>
+ <layout class="QFormLayout" name="formLayout_3">
+ <item row="0" column="0">
+ <widget class="QLabel" name="label_19">
+ <property name="text">
+ <string>GFLow</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QDoubleSpinBox" name="gflow"/>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="label_20">
+ <property name="text">
+ <string>GFHigh</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QDoubleSpinBox" name="gfhigh"/>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <widget class="QDialogButtonBox" name="buttonBox">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="standardButtons">
+ <set>QDialogButtonBox::Apply|QDialogButtonBox::Discard|QDialogButtonBox::Ok</set>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <resources>
+ <include location="../subsurface.qrc"/>
+ </resources>
+ <connections>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>accepted()</signal>
+ <receiver>PreferencesDialog</receiver>
+ <slot>accept()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>226</x>
+ <y>522</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>157</x>
+ <y>274</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>rejected()</signal>
+ <receiver>PreferencesDialog</receiver>
+ <slot>reject()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>294</x>
+ <y>522</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>286</x>
+ <y>274</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>listWidget</sender>
+ <signal>currentRowChanged(int)</signal>
+ <receiver>stackedWidget</receiver>
+ <slot>setCurrentIndex(int)</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>37</x>
+ <y>97</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>186</x>
+ <y>8</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>po2</sender>
+ <signal>clicked(bool)</signal>
+ <receiver>label_12</receiver>
+ <slot>setEnabled(bool)</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>288</x>
+ <y>179</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>681</x>
+ <y>194</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>po2</sender>
+ <signal>clicked(bool)</signal>
+ <receiver>po2Threashould</receiver>
+ <slot>setEnabled(bool)</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>301</x>
+ <y>179</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>742</x>
+ <y>184</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>pn2</sender>
+ <signal>clicked(bool)</signal>
+ <receiver>label_13</receiver>
+ <slot>setEnabled(bool)</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>295</x>
+ <y>208</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>673</x>
+ <y>216</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>pn2</sender>
+ <signal>clicked(bool)</signal>
+ <receiver>pn2Threshould</receiver>
+ <slot>setEnabled(bool)</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>301</x>
+ <y>206</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>740</x>
+ <y>216</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>phe</sender>
+ <signal>clicked(bool)</signal>
+ <receiver>label_17</receiver>
+ <slot>setEnabled(bool)</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>296</x>
+ <y>240</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>683</x>
+ <y>242</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>phe</sender>
+ <signal>clicked(bool)</signal>
+ <receiver>pheThreshould</receiver>
+ <slot>setEnabled(bool)</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>304</x>
+ <y>232</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>760</x>
+ <y>236</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>mod</sender>
+ <signal>clicked(bool)</signal>
+ <receiver>label_18</receiver>
+ <slot>setEnabled(bool)</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>294</x>
+ <y>267</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>692</x>
+ <y>271</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>mod</sender>
+ <signal>clicked(bool)</signal>
+ <receiver>maxppo2</receiver>
+ <slot>setEnabled(bool)</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>286</x>
+ <y>261</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>760</x>
+ <y>269</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>calculated_ceiling</sender>
+ <signal>clicked(bool)</signal>
+ <receiver>increment_3m</receiver>
+ <slot>setEnabled(bool)</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>288</x>
+ <y>344</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>555</x>
+ <y>351</y>
+ </hint>
+ </hints>
+ </connection>
+ </connections>
+ <buttongroups>
+ <buttongroup name="buttonGroup"/>
+ <buttongroup name="buttonGroup_2"/>
+ <buttongroup name="buttonGroup_3"/>
+ <buttongroup name="buttonGroup_4"/>
+ <buttongroup name="buttonGroup_5"/>
+ </buttongroups>
+</ui>
diff --git a/subsurface.qrc b/subsurface.qrc
index 887390583..fa514cb94 100644
--- a/subsurface.qrc
+++ b/subsurface.qrc
@@ -1,8 +1,11 @@
<!DOCTYPE RCC><RCC version="1.0">
<qresource>
- <file alias="star">star.svg</file>
- <file alias="subsurface-icon">subsurface-icon.png</file>
- <file alias="plus">plus.png</file>
- <file alias="trash">trash.png</file>
+ <file alias="star">icons/star.svg</file>
+ <file alias="subsurface-icon">icons/subsurface-icon.png</file>
+ <file alias="plus">icons/plus.png</file>
+ <file alias="trash">icons/trash.png</file>
+ <file alias="units">icons/units.png</file>
+ <file alias="advanced">icons/advanced.png</file>
+ <file alias="graph">icons/graph.png</file>
</qresource>
</RCC>