summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Makefile40
-rw-r--r--qt-gui.cpp7
-rw-r--r--qt-ui/maintab.cpp10
-rw-r--r--qt-ui/maintab.h20
-rw-r--r--qt-ui/maintab.ui810
-rw-r--r--qt-ui/mainwindow.cpp11
-rw-r--r--qt-ui/mainwindow.h24
-rw-r--r--qt-ui/mainwindow.ui297
-rw-r--r--qt-ui/plotareascene.cpp0
-rw-r--r--qt-ui/plotareascene.h0
10 files changed, 1204 insertions, 15 deletions
diff --git a/Makefile b/Makefile
index aa42db2cf..c14d0b931 100644
--- a/Makefile
+++ b/Makefile
@@ -3,7 +3,7 @@ VERSION=3.0.2
CC=gcc
CFLAGS=-Wall -Wno-pointer-sign -g $(CLCFLAGS) -DGSEAL_ENABLE
CXX=g++
-CXXFLAGS=-Wall -g $(CLCFLAGS) -DQT_NO_KEYWORDS
+CXXFLAGS=-Wall -g $(CLCFLAGS) -fPIC -DQT_NO_KEYWORDS
INSTALL=install
PKGCONFIG=pkg-config
XML2CONFIG=xml2-config
@@ -182,10 +182,13 @@ LIBS = $(LIBQT) $(LIBXML2) $(LIBXSLT) $(LIBSQLITE3) $(LIBGTK) $(LIBGCONF2) $(LIB
MSGLANGS=$(notdir $(wildcard po/*.po))
MSGOBJS=$(addprefix share/locale/,$(MSGLANGS:.po=.UTF-8/LC_MESSAGES/subsurface.mo))
+
+QTOBJS = qt-ui/maintab.o qt-ui/mainwindow.o qt-ui/plotareascene.o
+
OBJS = main.o dive.o time.o profile.o info.o equipment.o divelist.o divelist-gtk.o deco.o planner.o \
parse-xml.o save-xml.o libdivecomputer.o print.o uemis.o uemis-downloader.o \
qt-gui.o statistics.o file.o cochran.o device.o download-dialog.o prefs.o \
- webservice.o sha1.o $(GPSOBJ) $(OSSUPPORT).o $(RESFILE)
+ webservice.o sha1.o $(GPSOBJ) $(OSSUPPORT).o $(RESFILE) $(QTOBJS)
DEPS = $(wildcard .dep/*.dep)
@@ -298,36 +301,45 @@ MOCFLAGS = $(filter -I%, $(CXXFLAGS) $(EXTRA_FLAGS)) $(filter -D%, $(CXXFLAGS) $
%.o: %.c
@echo ' CC' $<
- @mkdir -p .dep
+ @mkdir -p .dep .dep/qt-ui
@$(CC) $(CFLAGS) $(EXTRA_FLAGS) -MD -MF .dep/$@.dep -c -o $@ $<
%.o: %.cpp
@echo ' CXX' $<
- @mkdir -p .dep
+ @mkdir -p .dep .dep/qt-ui
@$(CXX) $(CXXFLAGS) $(EXTRA_FLAGS) -MD -MF .dep/$@.dep -c -o $@ $<
-# This rule is for running the moc on QObject subclasses defined in the .h
-# files.
-# To activate this rule, add <file>.moc.o to the OBJS variable.
-%.moc.cpp: %.h
- @echo ' MOC' $<
- @$(MOC) $(MOCFLAGS) $< -o $@
-
# This rule is for running the moc on QObject subclasses defined in the .cpp
# files; remember to #include "<file>.moc" at the end of the .cpp file, or
# you'll get linker errors ("undefined vtable for...")
# To activate this rule, you need another rule on the .o file, like:
# file.o: file.moc
+
+qt-ui/%.moc: qt-ui/%.h
+ @echo ' MOC' $<
+ @$(MOC) -i $(MOCFLAGS) $< -o $@
+
+# this is just here for qt-gui.cpp
+# should be removed once all the Qt UI code has been moved into qt-ui
+
%.moc: %.cpp
@echo ' MOC' $<
@$(MOC) -i $(MOCFLAGS) $< -o $@
-qt-gui.o: main-window.ui.h qt-gui.moc
+# This creates the ui headers.
+# To activate this rule, you need to add the ui_*.h file to the .o file:
+# file.o: ui_file.h
-%.ui.h: ui/%.ui
+qt-ui/ui_%.h: qt-ui/%.ui
@echo ' UIC' $<
@$(UIC) $< -o $@
+qt-gui.o: qt-gui.moc
+
+qt-ui/maintab.o: qt-ui/maintab.moc qt-ui/ui_maintab.h
+
+qt-ui/mainwindow.o: qt-ui/mainwindow.moc qt-ui/ui_mainwindow.h
+
share/locale/%.UTF-8/LC_MESSAGES/subsurface.mo: po/%.po po/%.aliases
mkdir -p $(dir $@)
msgfmt -c -o $@ po/$*.po
@@ -355,7 +367,7 @@ doc:
clean:
rm -f $(OBJS) *~ $(NAME) $(NAME).exe po/*~ po/subsurface-new.pot \
- $(VERSION_FILE)
+ $(VERSION_FILE) qt-ui/*.moc qt-ui/ui_*.h
rm -rf share .dep
-include $(DEPS)
diff --git a/qt-gui.cpp b/qt-gui.cpp
index 285f2082d..e46f4765f 100644
--- a/qt-gui.cpp
+++ b/qt-gui.cpp
@@ -24,10 +24,11 @@
#include "webservice.h"
#include "version.h"
#include "libdivecomputer.h"
-#include "main-window.ui.h"
+#include "qt-ui/mainwindow.h"
#include <gdk-pixbuf/gdk-pixbuf.h>
#include <gdk-pixbuf/gdk-pixdata.h>
+
#include <QApplication>
#include <QFileDialog>
#include <QFileInfo>
@@ -1737,6 +1738,9 @@ static gboolean notebook_tooltip (GtkWidget *widget, gint x, gint y,
}
}
+#if NEEDS_TO_MOVE_TO_QT_UI
+/* this appears to have moved - but it's very different in qt-ui */
+
class MainWindow: public QMainWindow, private Ui::MainWindow
{
Q_OBJECT
@@ -1850,6 +1854,7 @@ QStringList MainWindow::fileNameFilters() const
;
return filters;
}
+#endif /* NEEDS_TO_MOVE_TO_QT_UI */
void init_ui(int *argcp, char ***argvp)
{
diff --git a/qt-ui/maintab.cpp b/qt-ui/maintab.cpp
new file mode 100644
index 000000000..4569958c8
--- /dev/null
+++ b/qt-ui/maintab.cpp
@@ -0,0 +1,10 @@
+#include "maintab.h"
+#include "ui_maintab.h"
+
+MainTab::MainTab(QWidget *parent) : QTabWidget(parent),
+ ui(new Ui::MainTab())
+{
+ ui->setupUi(this);
+}
+
+#include "maintab.moc"
diff --git a/qt-ui/maintab.h b/qt-ui/maintab.h
new file mode 100644
index 000000000..40904ab12
--- /dev/null
+++ b/qt-ui/maintab.h
@@ -0,0 +1,20 @@
+#ifndef MAINTAB_H
+#define MAINTAB_H
+
+#include <QTabWidget>
+
+namespace Ui
+{
+ class MainTab;
+}
+
+class MainTab : public QTabWidget
+{
+ Q_OBJECT
+public:
+ MainTab(QWidget *parent);
+private:
+ Ui::MainTab *ui;
+};
+
+#endif \ No newline at end of file
diff --git a/qt-ui/maintab.ui b/qt-ui/maintab.ui
new file mode 100644
index 000000000..a0aec4358
--- /dev/null
+++ b/qt-ui/maintab.ui
@@ -0,0 +1,810 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>MainTab</class>
+ <widget class="QTabWidget" name="MainTab">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>400</width>
+ <height>320</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>TabWidget</string>
+ </property>
+ <property name="currentIndex">
+ <number>0</number>
+ </property>
+ <widget class="QWidget" name="tab">
+ <attribute name="title">
+ <string>Dive Info</string>
+ </attribute>
+ <layout class="QVBoxLayout" name="verticalLayout">
+ <item>
+ <layout class="QGridLayout" name="gridLayout">
+ <item row="0" column="0">
+ <widget class="QLabel" name="label_10">
+ <property name="font">
+ <font>
+ <weight>75</weight>
+ <bold>true</bold>
+ </font>
+ </property>
+ <property name="text">
+ <string>SAC:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QLabel" name="label_11">
+ <property name="font">
+ <font>
+ <weight>75</weight>
+ <bold>true</bold>
+ </font>
+ </property>
+ <property name="text">
+ <string>OTU:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="2">
+ <widget class="QLabel" name="label_12">
+ <property name="font">
+ <font>
+ <weight>75</weight>
+ <bold>true</bold>
+ </font>
+ </property>
+ <property name="text">
+ <string>0²/He:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="3">
+ <widget class="QLabel" name="label_13">
+ <property name="font">
+ <font>
+ <weight>75</weight>
+ <bold>true</bold>
+ </font>
+ </property>
+ <property name="text">
+ <string>Gas Used:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="3">
+ <widget class="QLabel" name="gasused">
+ <property name="text">
+ <string>TextLabel</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="sac">
+ <property name="text">
+ <string>TextLabel</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QLabel" name="otu">
+ <property name="text">
+ <string>TextLabel</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="2">
+ <widget class="QLabel" name="oxygenhelium">
+ <property name="text">
+ <string>TextLabel</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <layout class="QGridLayout" name="gridLayout_2">
+ <property name="bottomMargin">
+ <number>10</number>
+ </property>
+ <item row="0" column="1">
+ <widget class="QLabel" name="label_18">
+ <property name="font">
+ <font>
+ <weight>75</weight>
+ <bold>true</bold>
+ </font>
+ </property>
+ <property name="text">
+ <string>Dive Time:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="2">
+ <widget class="QLabel" name="label_17">
+ <property name="font">
+ <font>
+ <weight>75</weight>
+ <bold>true</bold>
+ </font>
+ </property>
+ <property name="text">
+ <string>Surf Interv:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QLabel" name="label_5">
+ <property name="font">
+ <font>
+ <weight>75</weight>
+ <bold>true</bold>
+ </font>
+ </property>
+ <property name="text">
+ <string>Avg Depth:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="date">
+ <property name="text">
+ <string>TextLabel</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="2">
+ <widget class="QLabel" name="visibility">
+ <property name="text">
+ <string>TextLabel</string>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="2">
+ <widget class="QLabel" name="label_9">
+ <property name="font">
+ <font>
+ <weight>75</weight>
+ <bold>true</bold>
+ </font>
+ </property>
+ <property name="text">
+ <string>Air Press:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="label_4">
+ <property name="font">
+ <font>
+ <weight>75</weight>
+ <bold>true</bold>
+ </font>
+ </property>
+ <property name="text">
+ <string>Max Depth:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="2">
+ <widget class="QLabel" name="surfinterval">
+ <property name="text">
+ <string>TextLabel</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QLabel" name="divetime">
+ <property name="text">
+ <string>TextLabel</string>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="1">
+ <widget class="QLabel" name="label_8">
+ <property name="font">
+ <font>
+ <weight>75</weight>
+ <bold>true</bold>
+ </font>
+ </property>
+ <property name="text">
+ <string>Air Temp:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="0">
+ <widget class="QLabel" name="maxdepth">
+ <property name="text">
+ <string>TextLabel</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="2">
+ <widget class="QLabel" name="label_6">
+ <property name="font">
+ <font>
+ <weight>75</weight>
+ <bold>true</bold>
+ </font>
+ </property>
+ <property name="text">
+ <string>Visibility:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="0">
+ <widget class="QLabel" name="label_7">
+ <property name="font">
+ <font>
+ <weight>75</weight>
+ <bold>true</bold>
+ </font>
+ </property>
+ <property name="text">
+ <string>Water Temp:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="1">
+ <widget class="QLabel" name="averagedepth">
+ <property name="text">
+ <string>TextLabel</string>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="0">
+ <widget class="QLabel" name="watertemperature">
+ <property name="text">
+ <string>TextLabel</string>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="1">
+ <widget class="QLabel" name="airtemperature">
+ <property name="text">
+ <string>TextLabel</string>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="2">
+ <widget class="QLabel" name="airpress">
+ <property name="text">
+ <string>TextLabel</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="0">
+ <widget class="QLabel" name="label">
+ <property name="font">
+ <font>
+ <weight>75</weight>
+ <bold>true</bold>
+ </font>
+ </property>
+ <property name="text">
+ <string>Date:</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <spacer name="verticalSpacer">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>112</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="tab">
+ <attribute name="title">
+ <string>Dive Notes</string>
+ </attribute>
+ <layout class="QGridLayout" name="gridLayout_3">
+ <item row="0" column="0">
+ <widget class="QLabel" name="label_2">
+ <property name="text">
+ <string>Location</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0" colspan="2">
+ <widget class="QLineEdit" name="location"/>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="label_15">
+ <property name="text">
+ <string>Divemaster</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QLabel" name="label_3">
+ <property name="text">
+ <string>Buddy</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="0">
+ <widget class="QLineEdit" name="divemaster"/>
+ </item>
+ <item row="3" column="1">
+ <widget class="QLineEdit" name="buddy"/>
+ </item>
+ <item row="4" column="0">
+ <widget class="QLabel" name="label_14">
+ <property name="text">
+ <string>Rating</string>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="1">
+ <widget class="QLabel" name="label_19">
+ <property name="text">
+ <string>Suit</string>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="0">
+ <widget class="QLineEdit" name="ratting"/>
+ </item>
+ <item row="5" column="1">
+ <widget class="QLineEdit" name="suit"/>
+ </item>
+ <item row="6" column="0">
+ <widget class="QLabel" name="label_16">
+ <property name="text">
+ <string>Notes</string>
+ </property>
+ </widget>
+ </item>
+ <item row="7" column="0" colspan="2">
+ <widget class="QTextEdit" name="notes"/>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="tab_2">
+ <attribute name="title">
+ <string>Equipment</string>
+ </attribute>
+ <layout class="QGridLayout" name="gridLayout_4">
+ <item row="0" column="0">
+ <widget class="QSplitter" name="splitter_2">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <widget class="QGroupBox" name="groupBox">
+ <property name="title">
+ <string>Cylinders</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout_2">
+ <item>
+ <widget class="QTableView" name="tableView"/>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_2">
+ <item>
+ <widget class="QPushButton" name="pushButton">
+ <property name="text">
+ <string>Edit</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="pushButton_2">
+ <property name="text">
+ <string>Add</string>
+ </property>
+ </widget>
+ </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>
+ <item>
+ <widget class="QPushButton" name="pushButton_3">
+ <property name="text">
+ <string>Delete</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QGroupBox" name="groupBox_3">
+ <property name="title">
+ <string>Weight</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout_3">
+ <item>
+ <widget class="QTableView" name="tableView_2"/>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_3">
+ <item>
+ <widget class="QPushButton" name="pushButton_4">
+ <property name="text">
+ <string>Edit</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="pushButton_5">
+ <property name="text">
+ <string>Add</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="QPushButton" name="pushButton_6">
+ <property name="text">
+ <string>Delete</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="tab_3">
+ <attribute name="title">
+ <string>Stats</string>
+ </attribute>
+ <layout class="QVBoxLayout" name="verticalLayout_4">
+ <item>
+ <layout class="QGridLayout" name="gridLayout_6">
+ <property name="verticalSpacing">
+ <number>10</number>
+ </property>
+ <item row="0" column="0">
+ <widget class="QLabel" name="label_28">
+ <property name="font">
+ <font>
+ <weight>75</weight>
+ <bold>true</bold>
+ </font>
+ </property>
+ <property name="text">
+ <string>Max Depth</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QLabel" name="label_29">
+ <property name="font">
+ <font>
+ <weight>75</weight>
+ <bold>true</bold>
+ </font>
+ </property>
+ <property name="text">
+ <string>Min Depth</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="2">
+ <widget class="QLabel" name="label_30">
+ <property name="font">
+ <font>
+ <weight>75</weight>
+ <bold>true</bold>
+ </font>
+ </property>
+ <property name="text">
+ <string>Avg Depth</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="maxdepth_2">
+ <property name="text">
+ <string>TextLabel</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QLabel" name="mindepth">
+ <property name="text">
+ <string>TextLabel</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="2">
+ <widget class="QLabel" name="avgdepth">
+ <property name="text">
+ <string>TextLabel</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="label_31">
+ <property name="font">
+ <font>
+ <weight>75</weight>
+ <bold>true</bold>
+ </font>
+ </property>
+ <property name="text">
+ <string>Max SAC</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QLabel" name="label_32">
+ <property name="font">
+ <font>
+ <weight>75</weight>
+ <bold>true</bold>
+ </font>
+ </property>
+ <property name="text">
+ <string>Min SAC</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="2">
+ <widget class="QLabel" name="label_33">
+ <property name="font">
+ <font>
+ <weight>75</weight>
+ <bold>true</bold>
+ </font>
+ </property>
+ <property name="text">
+ <string>Avg SAC</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="0">
+ <widget class="QLabel" name="maxsac">
+ <property name="text">
+ <string>TextLabel</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="1">
+ <widget class="QLabel" name="minsac">
+ <property name="text">
+ <string>TextLabel</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="2">
+ <widget class="QLabel" name="avgsac">
+ <property name="text">
+ <string>TextLabel</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <layout class="QGridLayout" name="gridLayout_5">
+ <property name="verticalSpacing">
+ <number>10</number>
+ </property>
+ <property name="bottomMargin">
+ <number>0</number>
+ </property>
+ <item row="0" column="0">
+ <widget class="QLabel" name="label_20">
+ <property name="font">
+ <font>
+ <weight>75</weight>
+ <bold>true</bold>
+ </font>
+ </property>
+ <property name="text">
+ <string>Dives</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft</set>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QLabel" name="label_21">
+ <property name="font">
+ <font>
+ <weight>75</weight>
+ <bold>true</bold>
+ </font>
+ </property>
+ <property name="text">
+ <string>Max Temp</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="2">
+ <widget class="QLabel" name="label_22">
+ <property name="font">
+ <font>
+ <weight>75</weight>
+ <bold>true</bold>
+ </font>
+ </property>
+ <property name="text">
+ <string>Min Temp</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="3">
+ <widget class="QLabel" name="label_23">
+ <property name="font">
+ <font>
+ <weight>75</weight>
+ <bold>true</bold>
+ </font>
+ </property>
+ <property name="text">
+ <string>Avg Temp</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="dives">
+ <property name="text">
+ <string>TextLabel</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QLabel" name="maxtemp">
+ <property name="text">
+ <string>TextLabel</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="2">
+ <widget class="QLabel" name="mintemp">
+ <property name="text">
+ <string>TextLabel</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="3">
+ <widget class="QLabel" name="avgtemp">
+ <property name="text">
+ <string>TextLabel</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="label_24">
+ <property name="font">
+ <font>
+ <weight>75</weight>
+ <bold>true</bold>
+ </font>
+ </property>
+ <property name="text">
+ <string>Total Time</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QLabel" name="label_25">
+ <property name="font">
+ <font>
+ <weight>75</weight>
+ <bold>true</bold>
+ </font>
+ </property>
+ <property name="text">
+ <string>Avg Time</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="2">
+ <widget class="QLabel" name="label_26">
+ <property name="font">
+ <font>
+ <weight>75</weight>
+ <bold>true</bold>
+ </font>
+ </property>
+ <property name="text">
+ <string>Longest Dive</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="3">
+ <widget class="QLabel" name="label_27">
+ <property name="font">
+ <font>
+ <weight>75</weight>
+ <bold>true</bold>
+ </font>
+ </property>
+ <property name="text">
+ <string>Shortest Dive</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="0">
+ <widget class="QLabel" name="totaltime">
+ <property name="text">
+ <string>TextLabel</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="1">
+ <widget class="QLabel" name="avgtime">
+ <property name="text">
+ <string>TextLabel</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="2">
+ <widget class="QLabel" name="longestdive">
+ <property name="text">
+ <string>TextLabel</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="3">
+ <widget class="QLabel" name="shortestdive">
+ <property name="text">
+ <string>TextLabel</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <spacer name="verticalSpacer_2">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>85</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/qt-ui/mainwindow.cpp b/qt-ui/mainwindow.cpp
new file mode 100644
index 000000000..851d1aa1c
--- /dev/null
+++ b/qt-ui/mainwindow.cpp
@@ -0,0 +1,11 @@
+#include "mainwindow.h"
+#include "ui_mainwindow.h"
+
+#include <QVBoxLayout>
+
+MainWindow::MainWindow() : ui(new Ui::MainWindow())
+{
+ ui->setupUi(this);
+}
+
+#include "mainwindow.moc"
diff --git a/qt-ui/mainwindow.h b/qt-ui/mainwindow.h
new file mode 100644
index 000000000..9e15e58b4
--- /dev/null
+++ b/qt-ui/mainwindow.h
@@ -0,0 +1,24 @@
+#ifndef MAINWINDOW_H
+#define MAINWINDOW_H
+
+#include <QMainWindow>
+
+namespace Ui
+{
+ class MainWindow;
+}
+
+class DiveInfo;
+class DiveNotes;
+class Stats;
+class Equipment;
+
+class MainWindow : public QMainWindow{
+ Q_OBJECT
+public:
+ MainWindow();
+private:
+ Ui::MainWindow *ui;
+};
+
+#endif \ No newline at end of file
diff --git a/qt-ui/mainwindow.ui b/qt-ui/mainwindow.ui
new file mode 100644
index 000000000..b99d10222
--- /dev/null
+++ b/qt-ui/mainwindow.ui
@@ -0,0 +1,297 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>MainWindow</class>
+ <widget class="QMainWindow" name="MainWindow">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>763</width>
+ <height>548</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>MainWindow</string>
+ </property>
+ <widget class="QWidget" name="centralwidget">
+ <layout class="QVBoxLayout" name="verticalLayout">
+ <item>
+ <widget class="QSplitter" name="splitter_3">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <widget class="QSplitter" name="splitter_2">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <widget class="MainTab" name="widget" native="true"/>
+ <widget class="QGraphicsView" name="graphicsView"/>
+ </widget>
+ <widget class="QTableView" name="tableView"/>
+ </widget>
+ </item>
+ <item>
+ <widget class="QSplitter" name="splitter">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QMenuBar" name="menubar">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>763</width>
+ <height>19</height>
+ </rect>
+ </property>
+ <widget class="QMenu" name="menuFile">
+ <property name="title">
+ <string>File</string>
+ </property>
+ <addaction name="actionNew"/>
+ <addaction name="actionOpen"/>
+ <addaction name="actSave"/>
+ <addaction name="actSaveAs"/>
+ <addaction name="actClose"/>
+ <addaction name="separator"/>
+ <addaction name="actImport"/>
+ <addaction name="actExportUDDF"/>
+ <addaction name="separator"/>
+ <addaction name="actPrint"/>
+ <addaction name="separator"/>
+ <addaction name="actPreferences"/>
+ <addaction name="separator"/>
+ <addaction name="actQuit"/>
+ </widget>
+ <widget class="QMenu" name="menuLog">
+ <property name="title">
+ <string>Log</string>
+ </property>
+ <addaction name="actDowFromDiveComputer"/>
+ <addaction name="actDownloadFromWeb"/>
+ <addaction name="actionEdit_Device_Names"/>
+ <addaction name="separator"/>
+ <addaction name="actionAdd_Dive"/>
+ <addaction name="separator"/>
+ <addaction name="actionRenumber"/>
+ <addaction name="actionAuto_Group"/>
+ <addaction name="actionToggle_Zoom"/>
+ <addaction name="actionYearly_Statistics"/>
+ </widget>
+ <widget class="QMenu" name="menuView">
+ <property name="title">
+ <string>View</string>
+ </property>
+ <addaction name="actionList"/>
+ <addaction name="actionProfile"/>
+ <addaction name="actionInfo"/>
+ <addaction name="actionTree"/>
+ <addaction name="actionPrev_DC"/>
+ <addaction name="actionNext_DC"/>
+ </widget>
+ <widget class="QMenu" name="menuFilter">
+ <property name="title">
+ <string>Filter</string>
+ </property>
+ <addaction name="actionSelect_Events"/>
+ </widget>
+ <widget class="QMenu" name="menuPlanner">
+ <property name="title">
+ <string>Planner</string>
+ </property>
+ <addaction name="actionInput_Plan"/>
+ </widget>
+ <widget class="QMenu" name="menuHelp">
+ <property name="title">
+ <string>Help</string>
+ </property>
+ <addaction name="actionAbout_Subsurface"/>
+ <addaction name="actionUser_Manual"/>
+ </widget>
+ <addaction name="menuFile"/>
+ <addaction name="menuLog"/>
+ <addaction name="menuView"/>
+ <addaction name="menuFilter"/>
+ <addaction name="menuPlanner"/>
+ <addaction name="menuHelp"/>
+ </widget>
+ <action name="actionNew">
+ <property name="text">
+ <string>New</string>
+ </property>
+ <property name="shortcut">
+ <string>Ctrl+N</string>
+ </property>
+ </action>
+ <action name="actionOpen">
+ <property name="text">
+ <string>Open</string>
+ </property>
+ <property name="shortcut">
+ <string>Ctrl+O</string>
+ </property>
+ </action>
+ <action name="actSave">
+ <property name="text">
+ <string>Save</string>
+ </property>
+ <property name="shortcut">
+ <string>Ctrl+S</string>
+ </property>
+ </action>
+ <action name="actSaveAs">
+ <property name="text">
+ <string>Save as</string>
+ </property>
+ <property name="shortcut">
+ <string>Ctrl+Shift+S</string>
+ </property>
+ </action>
+ <action name="actClose">
+ <property name="text">
+ <string>Close</string>
+ </property>
+ <property name="shortcut">
+ <string>Ctrl+W</string>
+ </property>
+ </action>
+ <action name="actImport">
+ <property name="text">
+ <string>Import Files</string>
+ </property>
+ <property name="shortcut">
+ <string>Ctrl+I</string>
+ </property>
+ </action>
+ <action name="actExportUDDF">
+ <property name="text">
+ <string>Export UDDF</string>
+ </property>
+ </action>
+ <action name="actPrint">
+ <property name="text">
+ <string>Print</string>
+ </property>
+ <property name="shortcut">
+ <string>Ctrl+P</string>
+ </property>
+ </action>
+ <action name="actPreferences">
+ <property name="text">
+ <string>Preferences</string>
+ </property>
+ </action>
+ <action name="actQuit">
+ <property name="text">
+ <string>Quit</string>
+ </property>
+ <property name="shortcut">
+ <string>Ctrl+Q</string>
+ </property>
+ </action>
+ <action name="actDowFromDiveComputer">
+ <property name="text">
+ <string>Download from Dive computer</string>
+ </property>
+ </action>
+ <action name="actDownloadFromWeb">
+ <property name="text">
+ <string>Download from Web Service</string>
+ </property>
+ </action>
+ <action name="actionEdit_Device_Names">
+ <property name="text">
+ <string>Edit Device Names</string>
+ </property>
+ </action>
+ <action name="actionAdd_Dive">
+ <property name="text">
+ <string>Add Dive</string>
+ </property>
+ </action>
+ <action name="actionRenumber">
+ <property name="text">
+ <string>Renumber</string>
+ </property>
+ </action>
+ <action name="actionAuto_Group">
+ <property name="text">
+ <string>Auto Group</string>
+ </property>
+ </action>
+ <action name="actionToggle_Zoom">
+ <property name="text">
+ <string>Toggle Zoom</string>
+ </property>
+ </action>
+ <action name="actionYearly_Statistics">
+ <property name="text">
+ <string>Yearly Statistics</string>
+ </property>
+ </action>
+ <action name="actionList">
+ <property name="text">
+ <string>List</string>
+ </property>
+ </action>
+ <action name="actionProfile">
+ <property name="text">
+ <string>Profile</string>
+ </property>
+ </action>
+ <action name="actionInfo">
+ <property name="text">
+ <string>Info</string>
+ </property>
+ </action>
+ <action name="actionTree">
+ <property name="text">
+ <string>Tree</string>
+ </property>
+ </action>
+ <action name="actionPrev_DC">
+ <property name="text">
+ <string>Prev DC</string>
+ </property>
+ </action>
+ <action name="actionNext_DC">
+ <property name="text">
+ <string>Next DC</string>
+ </property>
+ </action>
+ <action name="actionSelect_Events">
+ <property name="text">
+ <string>Select Events</string>
+ </property>
+ </action>
+ <action name="actionInput_Plan">
+ <property name="text">
+ <string>Input Plan</string>
+ </property>
+ </action>
+ <action name="actionAbout_Subsurface">
+ <property name="text">
+ <string>About Subsurface</string>
+ </property>
+ </action>
+ <action name="actionUser_Manual">
+ <property name="text">
+ <string>User Manual</string>
+ </property>
+ </action>
+ </widget>
+ <customwidgets>
+ <customwidget>
+ <class>MainTab</class>
+ <extends>QWidget</extends>
+ <header>maintab.h</header>
+ <container>1</container>
+ </customwidget>
+ </customwidgets>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/qt-ui/plotareascene.cpp b/qt-ui/plotareascene.cpp
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/qt-ui/plotareascene.cpp
diff --git a/qt-ui/plotareascene.h b/qt-ui/plotareascene.h
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/qt-ui/plotareascene.h