So - The Layout was messed up quite a bit ( this is because everyone was
touching bits of it, recreating layoutds, didn't bother to adjust to the
correct sizes and all that ) - nothing much complicated, let's try not to
break the UI of our beloved diving program. :3

this makes subsurface much more consistent on my computer ( tested on a
ubuntu and on a kde - I hope I managed to get this right for mac too )

Tomaz
From 09441173699e677bbdd43ea1fe09845b909c4176 Mon Sep 17 00:00:00 2001
From: Tomaz Canabrava <[email protected]>
Date: Mon, 25 May 2015 16:14:59 -0300
Subject: [PATCH 13/13] Fix the layout on the Profile/Toolbar.

Signed-off-by: Tomaz Canabrava <[email protected]>
---
 qt-ui/mainwindow.cpp | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/qt-ui/mainwindow.cpp b/qt-ui/mainwindow.cpp
index 3ba79ef..b2539da 100644
--- a/qt-ui/mainwindow.cpp
+++ b/qt-ui/mainwindow.cpp
@@ -95,6 +95,9 @@ MainWindow::MainWindow() : QMainWindow(),
 
 	QWidget *profileContainer = new QWidget();
 	QHBoxLayout *profLayout = new QHBoxLayout();
+	profLayout->setSpacing(0);
+	profLayout->setMargin(0);
+	profLayout->setContentsMargins(0,0,0,0);
 	profLayout->addWidget(toolBar);
 	profLayout->addWidget(profileWidget);
 	profileContainer->setLayout(profLayout);
-- 
2.4.1

From c3b0f0103132802d08354820d9212da4387d978a Mon Sep 17 00:00:00 2001
From: Tomaz Canabrava <[email protected]>
Date: Mon, 25 May 2015 16:01:57 -0300
Subject: [PATCH 12/13] Do not connect null to a signal.

The parent here should have been the mainwindow, but
we create this dialog on the stack instead of the heap
and because of that we don't send the parent to prevent
a double free.

Signed-off-by: Tomaz Canabrava <[email protected]>
---
 qt-ui/divelogexportdialog.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/qt-ui/divelogexportdialog.cpp b/qt-ui/divelogexportdialog.cpp
index 12a8c32..b88ebda 100644
--- a/qt-ui/divelogexportdialog.cpp
+++ b/qt-ui/divelogexportdialog.cpp
@@ -24,7 +24,7 @@ DiveLogExportDialog::DiveLogExportDialog(QWidget *parent) : QDialog(parent),
 	ui->setupUi(this);
 	showExplanation();
 	QShortcut *quit = new QShortcut(QKeySequence(Qt::CTRL + Qt::Key_Q), this);
-	connect(quit, SIGNAL(activated()), parent, SLOT(close()));
+	connect(quit, SIGNAL(activated()), MainWindow::instance(), SLOT(close()));
 	QShortcut *close = new QShortcut(QKeySequence(Qt::CTRL + Qt::Key_W), this);
 	connect(close, SIGNAL(activated()), this, SLOT(close()));
 
-- 
2.4.1

From 2b6cea7a915cb5fd17bcc02767cea6897510c09b Mon Sep 17 00:00:00 2001
From: Tomaz Canabrava <[email protected]>
Date: Mon, 25 May 2015 16:00:05 -0300
Subject: [PATCH 11/13] Fix Planner Layouts

Layout was wrong.

Signed-off-by: Tomaz Canabrava <[email protected]>
---
 qt-ui/plannerDetails.ui  |  15 ++
 qt-ui/plannerSettings.ui |  18 +-
 qt-ui/preferences.ui     | 454 ++++++++++++++++++++++++++++++++++-------------
 3 files changed, 356 insertions(+), 131 deletions(-)

diff --git a/qt-ui/plannerDetails.ui b/qt-ui/plannerDetails.ui
index 349ec53..1f2790d 100644
--- a/qt-ui/plannerDetails.ui
+++ b/qt-ui/plannerDetails.ui
@@ -14,6 +14,21 @@
    <string>Form</string>
   </property>
   <layout class="QVBoxLayout" name="verticalLayout">
+   <property name="spacing">
+    <number>5</number>
+   </property>
+   <property name="leftMargin">
+    <number>5</number>
+   </property>
+   <property name="topMargin">
+    <number>5</number>
+   </property>
+   <property name="rightMargin">
+    <number>5</number>
+   </property>
+   <property name="bottomMargin">
+    <number>5</number>
+   </property>
    <item>
     <layout class="QHBoxLayout" name="horizontalLayout">
      <item>
diff --git a/qt-ui/plannerSettings.ui b/qt-ui/plannerSettings.ui
index 02d829c..9283bcd 100644
--- a/qt-ui/plannerSettings.ui
+++ b/qt-ui/plannerSettings.ui
@@ -14,6 +14,18 @@
    <string>Form</string>
   </property>
   <layout class="QHBoxLayout" name="horizontalLayout_2">
+   <property name="leftMargin">
+    <number>5</number>
+   </property>
+   <property name="topMargin">
+    <number>5</number>
+   </property>
+   <property name="rightMargin">
+    <number>5</number>
+   </property>
+   <property name="bottomMargin">
+    <number>5</number>
+   </property>
    <item>
     <widget class="QScrollArea" name="scrollArea">
      <property name="frameShape">
@@ -30,8 +42,8 @@
        <rect>
         <x>0</x>
         <y>0</y>
-        <width>1078</width>
-        <height>418</height>
+        <width>1092</width>
+        <height>432</height>
        </rect>
       </property>
       <layout class="QHBoxLayout" name="horizontalLayout">
@@ -78,7 +90,7 @@
             </property>
             <layout class="QGridLayout" name="gridLayout_3">
              <property name="leftMargin">
-              <number>2</number>
+              <number>12</number>
              </property>
              <property name="topMargin">
               <number>2</number>
diff --git a/qt-ui/preferences.ui b/qt-ui/preferences.ui
index 84c90d7..7b07485 100644
--- a/qt-ui/preferences.ui
+++ b/qt-ui/preferences.ui
@@ -6,8 +6,8 @@
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>940</width>
-    <height>756</height>
+    <width>814</width>
+    <height>739</height>
    </rect>
   </property>
   <property name="windowTitle">
@@ -19,9 +19,142 @@
    </iconset>
   </property>
   <layout class="QVBoxLayout" name="verticalLayout_2">
+   <property name="leftMargin">
+    <number>5</number>
+   </property>
+   <property name="topMargin">
+    <number>5</number>
+   </property>
+   <property name="rightMargin">
+    <number>5</number>
+   </property>
+   <property name="bottomMargin">
+    <number>5</number>
+   </property>
    <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>120</width>
+         <height>0</height>
+        </size>
+       </property>
+       <property name="maximumSize">
+        <size>
+         <width>120</width>
+         <height>16777215</height>
+        </size>
+       </property>
+       <property name="iconSize">
+        <size>
+         <width>24</width>
+         <height>24</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>110</width>
+         <height>40</height>
+        </size>
+       </property>
+       <property name="viewMode">
+        <enum>QListView::ListMode</enum>
+       </property>
+       <property name="uniformItemSizes">
+        <bool>true</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>
+       <item>
+        <property name="text">
+         <string>Language</string>
+        </property>
+        <property name="icon">
+         <iconset>
+          <normalon>:/advanced</normalon>
+         </iconset>
+        </property>
+       </item>
+       <item>
+        <property name="text">
+         <string>Network</string>
+        </property>
+        <property name="icon">
+         <iconset>
+          <normalon>:/network</normalon>
+         </iconset>
+        </property>
+       </item>
+       <item>
+        <property name="text">
+         <string>Facebook</string>
+        </property>
+        <property name="icon">
+         <iconset>
+          <normalon>:/facebook</normalon>
+         </iconset>
+        </property>
+       </item>
+      </widget>
+     </item>
+     <item>
       <widget class="QStackedWidget" name="stackedWidget">
        <property name="sizePolicy">
         <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
@@ -34,12 +167,45 @@
        </property>
        <widget class="QWidget" name="defaults_page">
         <layout class="QVBoxLayout" name="verticalLayout_3">
+         <property name="spacing">
+          <number>5</number>
+         </property>
+         <property name="leftMargin">
+          <number>5</number>
+         </property>
+         <property name="topMargin">
+          <number>5</number>
+         </property>
+         <property name="rightMargin">
+          <number>5</number>
+         </property>
+         <property name="bottomMargin">
+          <number>5</number>
+         </property>
          <item>
           <widget class="QGroupBox" name="groupBox_2">
            <property name="title">
             <string>Lists and tables</string>
            </property>
            <layout class="QFormLayout" name="formLayout_2">
+            <property name="horizontalSpacing">
+             <number>5</number>
+            </property>
+            <property name="verticalSpacing">
+             <number>5</number>
+            </property>
+            <property name="leftMargin">
+             <number>5</number>
+            </property>
+            <property name="topMargin">
+             <number>5</number>
+            </property>
+            <property name="rightMargin">
+             <number>5</number>
+            </property>
+            <property name="bottomMargin">
+             <number>5</number>
+            </property>
             <item row="0" column="0">
              <widget class="QLabel" name="label_7">
               <property name="text">
@@ -69,6 +235,24 @@
             <string>Dives</string>
            </property>
            <layout class="QFormLayout" name="formLayout">
+            <property name="horizontalSpacing">
+             <number>5</number>
+            </property>
+            <property name="verticalSpacing">
+             <number>5</number>
+            </property>
+            <property name="leftMargin">
+             <number>5</number>
+            </property>
+            <property name="topMargin">
+             <number>5</number>
+            </property>
+            <property name="rightMargin">
+             <number>5</number>
+            </property>
+            <property name="bottomMargin">
+             <number>5</number>
+            </property>
             <item row="0" column="0">
              <widget class="QLabel" name="label_9">
               <property name="text">
@@ -123,6 +307,24 @@
             <string>Default cylinder</string>
            </property>
            <layout class="QFormLayout" name="formLayout_6">
+            <property name="horizontalSpacing">
+             <number>5</number>
+            </property>
+            <property name="verticalSpacing">
+             <number>5</number>
+            </property>
+            <property name="leftMargin">
+             <number>5</number>
+            </property>
+            <property name="topMargin">
+             <number>5</number>
+            </property>
+            <property name="rightMargin">
+             <number>5</number>
+            </property>
+            <property name="bottomMargin">
+             <number>5</number>
+            </property>
             <item row="0" column="0">
              <widget class="QLabel" name="label_11">
               <property name="text">
@@ -146,6 +348,18 @@
             <string>Animations</string>
            </property>
            <layout class="QHBoxLayout" name="horizontalLayout_7">
+            <property name="leftMargin">
+             <number>5</number>
+            </property>
+            <property name="topMargin">
+             <number>5</number>
+            </property>
+            <property name="rightMargin">
+             <number>5</number>
+            </property>
+            <property name="bottomMargin">
+             <number>5</number>
+            </property>
             <item>
              <widget class="QLabel" name="label_15">
               <property name="text">
@@ -179,6 +393,21 @@
             <string>Subsurface web service</string>
            </property>
            <layout class="QVBoxLayout" name="verticalLayout_7">
+            <property name="spacing">
+             <number>5</number>
+            </property>
+            <property name="leftMargin">
+             <number>5</number>
+            </property>
+            <property name="topMargin">
+             <number>5</number>
+            </property>
+            <property name="rightMargin">
+             <number>5</number>
+            </property>
+            <property name="bottomMargin">
+             <number>5</number>
+            </property>
             <item>
              <widget class="QLabel" name="label_16">
               <property name="text">
@@ -205,6 +434,21 @@
             <string>Clear all settings</string>
            </property>
            <layout class="QVBoxLayout" name="verticalLayout_7b">
+            <property name="spacing">
+             <number>5</number>
+            </property>
+            <property name="leftMargin">
+             <number>5</number>
+            </property>
+            <property name="topMargin">
+             <number>5</number>
+            </property>
+            <property name="rightMargin">
+             <number>5</number>
+            </property>
+            <property name="bottomMargin">
+             <number>5</number>
+            </property>
             <item>
              <widget class="QPushButton" name="resetSettings">
               <property name="text">
@@ -232,6 +476,21 @@
        </widget>
        <widget class="QWidget" name="units_page">
         <layout class="QVBoxLayout" name="verticalLayout">
+         <property name="spacing">
+          <number>5</number>
+         </property>
+         <property name="leftMargin">
+          <number>5</number>
+         </property>
+         <property name="topMargin">
+          <number>5</number>
+         </property>
+         <property name="rightMargin">
+          <number>5</number>
+         </property>
+         <property name="bottomMargin">
+          <number>5</number>
+         </property>
          <item>
           <layout class="QHBoxLayout" name="horizontalLayout">
            <item>
@@ -244,7 +503,7 @@
            <item>
             <widget class="QRadioButton" name="metric">
              <property name="text">
-              <string>Metric</string>
+              <string>&amp;Metric</string>
              </property>
              <attribute name="buttonGroup">
               <string notr="true">buttonGroup_6</string>
@@ -264,7 +523,7 @@
            <item>
             <widget class="QRadioButton" name="personalize">
              <property name="text">
-              <string>Personalize</string>
+              <string>Personali&amp;ze</string>
              </property>
              <attribute name="buttonGroup">
               <string notr="true">buttonGroup_6</string>
@@ -516,6 +775,21 @@
        </widget>
        <widget class="QWidget" name="graph_page">
         <layout class="QVBoxLayout" name="verticalLayout_5">
+         <property name="spacing">
+          <number>5</number>
+         </property>
+         <property name="leftMargin">
+          <number>5</number>
+         </property>
+         <property name="topMargin">
+          <number>5</number>
+         </property>
+         <property name="rightMargin">
+          <number>5</number>
+         </property>
+         <property name="bottomMargin">
+          <number>5</number>
+         </property>
          <item>
           <widget class="QGroupBox" name="groupBox_4">
            <property name="title">
@@ -782,6 +1056,21 @@
        </widget>
        <widget class="QWidget" name="language_page">
         <layout class="QVBoxLayout" name="verticalLayout_6">
+         <property name="spacing">
+          <number>5</number>
+         </property>
+         <property name="leftMargin">
+          <number>5</number>
+         </property>
+         <property name="topMargin">
+          <number>5</number>
+         </property>
+         <property name="rightMargin">
+          <number>5</number>
+         </property>
+         <property name="bottomMargin">
+          <number>5</number>
+         </property>
          <item>
           <layout class="QHBoxLayout" name="horizontalLayout_6">
            <item>
@@ -823,6 +1112,21 @@
        </widget>
        <widget class="QWidget" name="network_page">
         <layout class="QVBoxLayout" name="verticalLayout_15">
+         <property name="spacing">
+          <number>5</number>
+         </property>
+         <property name="leftMargin">
+          <number>5</number>
+         </property>
+         <property name="topMargin">
+          <number>5</number>
+         </property>
+         <property name="rightMargin">
+          <number>5</number>
+         </property>
+         <property name="bottomMargin">
+          <number>5</number>
+         </property>
          <item>
           <widget class="QGroupBox" name="groupBox_10">
            <property name="title">
@@ -964,6 +1268,21 @@
        </widget>
        <widget class="QWidget" name="facebook_page">
         <layout class="QVBoxLayout" name="fbLayout">
+         <property name="spacing">
+          <number>5</number>
+         </property>
+         <property name="leftMargin">
+          <number>5</number>
+         </property>
+         <property name="topMargin">
+          <number>5</number>
+         </property>
+         <property name="rightMargin">
+          <number>5</number>
+         </property>
+         <property name="bottomMargin">
+          <number>5</number>
+         </property>
          <item>
           <widget class="QLabel" name="FBLabel">
            <property name="wordWrap">
@@ -992,127 +1311,6 @@
        </widget>
       </widget>
      </item>
-     <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>
-       <item>
-        <property name="text">
-         <string>Language</string>
-        </property>
-        <property name="icon">
-         <iconset>
-          <normalon>:/advanced</normalon>
-         </iconset>
-        </property>
-       </item>
-       <item>
-        <property name="text">
-         <string>Network</string>
-        </property>
-        <property name="icon">
-         <iconset>
-          <normalon>:/network</normalon>
-         </iconset>
-        </property>
-       </item>
-       <item>
-        <property name="text">
-         <string>Facebook</string>
-        </property>
-        <property name="icon">
-         <iconset>
-          <normalon>:/facebook</normalon>
-         </iconset>
-        </property>
-       </item>
-      </widget>
-     </item>
     </layout>
    </item>
    <item>
@@ -1468,12 +1666,12 @@
  </connections>
  <buttongroups>
   <buttongroup name="verticalSpeed"/>
-  <buttongroup name="buttonGroup_2"/>
   <buttongroup name="buttonGroup_3"/>
   <buttongroup name="buttonGroup_4"/>
-  <buttongroup name="buttonGroup_5"/>
+  <buttongroup name="buttonGroup_2"/>
+  <buttongroup name="buttonGroup_7"/>
   <buttongroup name="buttonGroup"/>
+  <buttongroup name="buttonGroup_5"/>
   <buttongroup name="buttonGroup_6"/>
-  <buttongroup name="buttonGroup_7"/>
  </buttongroups>
 </ui>
-- 
2.4.1

From c23e91e861b7a9369aa1d6867c693060397e1e7f Mon Sep 17 00:00:00 2001
From: Tomaz Canabrava <[email protected]>
Date: Mon, 25 May 2015 15:40:50 -0300
Subject: [PATCH 10/13] Layout Issues: fix DownloadFromDiveComputer.

Signed-off-by: Tomaz Canabrava <[email protected]>
---
 qt-ui/downloadfromdivecomputer.ui | 126 ++++++++++++++++++++++++--------------
 1 file changed, 79 insertions(+), 47 deletions(-)

diff --git a/qt-ui/downloadfromdivecomputer.ui b/qt-ui/downloadfromdivecomputer.ui
index 359b42f..ff80935 100644
--- a/qt-ui/downloadfromdivecomputer.ui
+++ b/qt-ui/downloadfromdivecomputer.ui
@@ -18,13 +18,34 @@
     <normalon>:/subsurface-icon</normalon>
    </iconset>
   </property>
-  <layout class="QVBoxLayout" name="vendorProductLabelLayout">
+  <layout class="QVBoxLayout" name="verticalLayout_3">
+   <property name="spacing">
+    <number>5</number>
+   </property>
+   <property name="leftMargin">
+    <number>5</number>
+   </property>
+   <property name="topMargin">
+    <number>5</number>
+   </property>
+   <property name="rightMargin">
+    <number>5</number>
+   </property>
+   <property name="bottomMargin">
+    <number>5</number>
+   </property>
    <item>
-    <layout class="QHBoxLayout" name="mainDialogLayout" stretch="0,1">
+    <layout class="QHBoxLayout" name="horizontalLayout">
      <item>
-      <layout class="QVBoxLayout" name="leftOfMainLayout">
+      <layout class="QVBoxLayout" name="verticalLayout_2">
        <item>
         <layout class="QGridLayout" name="choicesLayout">
+         <property name="horizontalSpacing">
+          <number>0</number>
+         </property>
+         <property name="verticalSpacing">
+          <number>5</number>
+         </property>
          <item row="4" column="0">
           <widget class="QLabel" name="label_3">
            <property name="text">
@@ -119,6 +140,9 @@
        </item>
        <item>
         <layout class="QHBoxLayout" name="downloadCancelRetryLayout">
+         <property name="spacing">
+          <number>0</number>
+         </property>
          <item>
           <spacer name="horizontalSpacer_2">
            <property name="orientation">
@@ -161,43 +185,18 @@
          </property>
         </spacer>
        </item>
-       <item>
-        <layout class="QHBoxLayout" name="buttonBoxLayout">
-         <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="ok">
-           <property name="text">
-            <string>OK</string>
-           </property>
-          </widget>
-         </item>
-         <item>
-          <widget class="QPushButton" name="cancel">
-           <property name="text">
-            <string>Cancel</string>
-           </property>
-          </widget>
-         </item>
-        </layout>
-       </item>
       </layout>
      </item>
      <item>
-      <layout class="QVBoxLayout" name="downloadedDivesLayout">
+      <layout class="QVBoxLayout" name="verticalLayout">
+       <property name="spacing">
+        <number>0</number>
+       </property>
        <item>
         <layout class="QHBoxLayout" name="labelSelectAllNoneLayout">
+         <property name="spacing">
+          <number>5</number>
+         </property>
          <item>
           <widget class="QLabel" name="downloadedDivesLabel">
            <property name="sizePolicy">
@@ -209,6 +208,9 @@
            <property name="text">
             <string>Downloaded dives</string>
            </property>
+           <property name="alignment">
+            <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
+           </property>
           </widget>
          </item>
          <item>
@@ -228,23 +230,53 @@
         </layout>
        </item>
        <item>
-        <layout class="QHBoxLayout" name="downloadedViewLayout">
-         <item>
-          <widget class="QTableView" name="downloadedView">
-           <property name="sizePolicy">
-            <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-             <horstretch>1</horstretch>
-             <verstretch>0</verstretch>
-            </sizepolicy>
-           </property>
-          </widget>
-         </item>
-        </layout>
+        <widget class="QTableView" name="downloadedView">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
+           <horstretch>1</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+        </widget>
        </item>
       </layout>
      </item>
     </layout>
    </item>
+   <item>
+    <layout class="QHBoxLayout" name="buttonBoxLayout">
+     <property name="spacing">
+      <number>0</number>
+     </property>
+     <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="ok">
+       <property name="text">
+        <string>OK</string>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <widget class="QPushButton" name="cancel">
+       <property name="text">
+        <string>Cancel</string>
+       </property>
+      </widget>
+     </item>
+    </layout>
+   </item>
   </layout>
  </widget>
  <resources/>
-- 
2.4.1

From 71673532a44749f20c8522ea4c2f01390ae2f3b3 Mon Sep 17 00:00:00 2001
From: Tomaz Canabrava <[email protected]>
Date: Mon, 25 May 2015 15:21:17 -0300
Subject: [PATCH 09/13] Fixed DiveShare export Dialog Layout

One more.

Signed-off-by: Tomaz Canabrava <[email protected]>
---
 qt-ui/divecomponentselection.ui | 31 +++++++++++++++--
 qt-ui/diveplanner.ui            | 12 +++----
 qt-ui/diveshareexportdialog.ui  | 73 ++++++++++++++++++++++++++++-------------
 3 files changed, 84 insertions(+), 32 deletions(-)

diff --git a/qt-ui/divecomponentselection.ui b/qt-ui/divecomponentselection.ui
index 7eade03..8262a5c 100644
--- a/qt-ui/divecomponentselection.ui
+++ b/qt-ui/divecomponentselection.ui
@@ -28,6 +28,18 @@
    </iconset>
   </property>
   <layout class="QVBoxLayout" name="verticalLayout">
+   <property name="leftMargin">
+    <number>5</number>
+   </property>
+   <property name="topMargin">
+    <number>5</number>
+   </property>
+   <property name="rightMargin">
+    <number>5</number>
+   </property>
+   <property name="bottomMargin">
+    <number>5</number>
+   </property>
    <item>
     <widget class="QGroupBox" name="groupBox">
      <property name="sizePolicy">
@@ -40,6 +52,21 @@
       <string>Which components would you like to copy</string>
      </property>
      <layout class="QGridLayout" name="gridLayout">
+      <property name="leftMargin">
+       <number>5</number>
+      </property>
+      <property name="topMargin">
+       <number>0</number>
+      </property>
+      <property name="rightMargin">
+       <number>0</number>
+      </property>
+      <property name="bottomMargin">
+       <number>0</number>
+      </property>
+      <property name="spacing">
+       <number>0</number>
+      </property>
       <item row="0" column="0">
        <widget class="QCheckBox" name="divesite">
         <property name="text">
@@ -125,9 +152,7 @@
    </item>
   </layout>
  </widget>
- <resources>
-  <include location="../subsurface.qrc"/>
- </resources>
+ <resources/>
  <connections>
   <connection>
    <sender>buttonBox</sender>
diff --git a/qt-ui/diveplanner.ui b/qt-ui/diveplanner.ui
index 0edd742..adb44fa 100644
--- a/qt-ui/diveplanner.ui
+++ b/qt-ui/diveplanner.ui
@@ -15,16 +15,16 @@
   </property>
   <layout class="QGridLayout" name="gridLayout">
    <property name="leftMargin">
-    <number>0</number>
+    <number>5</number>
    </property>
    <property name="topMargin">
-    <number>0</number>
+    <number>5</number>
    </property>
    <property name="rightMargin">
-    <number>0</number>
+    <number>5</number>
    </property>
    <property name="bottomMargin">
-    <number>0</number>
+    <number>5</number>
    </property>
    <property name="spacing">
     <number>0</number>
@@ -45,8 +45,8 @@
        <rect>
         <x>0</x>
         <y>0</y>
-        <width>515</width>
-        <height>591</height>
+        <width>505</width>
+        <height>581</height>
        </rect>
       </property>
       <layout class="QGridLayout" name="gridLayout_2">
diff --git a/qt-ui/diveshareexportdialog.ui b/qt-ui/diveshareexportdialog.ui
index 2456bf2..2235740 100644
--- a/qt-ui/diveshareexportdialog.ui
+++ b/qt-ui/diveshareexportdialog.ui
@@ -6,14 +6,26 @@
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>320</width>
-    <height>309</height>
+    <width>593</width>
+    <height>420</height>
    </rect>
   </property>
   <property name="windowTitle">
    <string>Dialog</string>
   </property>
   <layout class="QVBoxLayout" name="verticalLayout_2">
+   <property name="leftMargin">
+    <number>5</number>
+   </property>
+   <property name="topMargin">
+    <number>5</number>
+   </property>
+   <property name="rightMargin">
+    <number>5</number>
+   </property>
+   <property name="bottomMargin">
+    <number>5</number>
+   </property>
    <item>
     <widget class="QFrame" name="frameConfigure">
      <property name="frameShape">
@@ -26,8 +38,23 @@
       <number>0</number>
      </property>
      <layout class="QVBoxLayout" name="verticalLayout">
+      <property name="leftMargin">
+       <number>0</number>
+      </property>
+      <property name="topMargin">
+       <number>0</number>
+      </property>
+      <property name="rightMargin">
+       <number>0</number>
+      </property>
+      <property name="bottomMargin">
+       <number>0</number>
+      </property>
       <item>
        <layout class="QHBoxLayout" name="horizontalLayout">
+        <property name="spacing">
+         <number>2</number>
+        </property>
         <item>
          <widget class="QLabel" name="label">
           <property name="text">
@@ -43,13 +70,10 @@
          </widget>
         </item>
         <item>
-         <widget class="QPushButton" name="cmdClear">
+         <widget class="QToolButton" name="cmdClear">
           <property name="text">
            <string>⌫</string>
           </property>
-          <property name="flat">
-           <bool>true</bool>
-          </property>
          </widget>
         </item>
         <item>
@@ -126,13 +150,32 @@
       <enum>QFrame::Raised</enum>
      </property>
      <layout class="QVBoxLayout" name="verticalLayout_3">
+      <property name="spacing">
+       <number>2</number>
+      </property>
+      <property name="leftMargin">
+       <number>0</number>
+      </property>
+      <property name="topMargin">
+       <number>0</number>
+      </property>
+      <property name="rightMargin">
+       <number>0</number>
+      </property>
+      <property name="bottomMargin">
+       <number>0</number>
+      </property>
       <item>
        <widget class="QTextBrowser" name="txtResult">
         <property name="readOnly">
          <bool>true</bool>
         </property>
         <property name="html">
-		<string></string>
+         <string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Oxygen-Sans'; font-size:7pt; font-weight:600; font-style:normal;&quot;&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
         </property>
         <property name="openExternalLinks">
          <bool>true</bool>
@@ -225,22 +268,6 @@
    </hints>
   </connection>
   <connection>
-   <sender>cmdClear</sender>
-   <signal>clicked()</signal>
-   <receiver>txtUID</receiver>
-   <slot>clear()</slot>
-   <hints>
-    <hint type="sourcelabel">
-     <x>148</x>
-     <y>36</y>
-    </hint>
-    <hint type="destinationlabel">
-     <x>105</x>
-     <y>27</y>
-    </hint>
-   </hints>
-  </connection>
-  <connection>
    <sender>buttonBox</sender>
    <signal>accepted()</signal>
    <receiver>DiveShareExportDialog</receiver>
-- 
2.4.1

From 83cdb5c5e0b3dc62d95bf85851733f6d4169d3f1 Mon Sep 17 00:00:00 2001
From: Tomaz Canabrava <[email protected]>
Date: Mon, 25 May 2015 15:06:51 -0300
Subject: [PATCH 08/13] Fixed Layut of DiveImportDialog.

Meh.

Signed-off-by: Tomaz Canabrava <[email protected]>
---
 qt-ui/divelogimportdialog.ui | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/qt-ui/divelogimportdialog.ui b/qt-ui/divelogimportdialog.ui
index 6ee8d54..6d154b7 100644
--- a/qt-ui/divelogimportdialog.ui
+++ b/qt-ui/divelogimportdialog.ui
@@ -19,6 +19,18 @@
    </iconset>
   </property>
   <layout class="QVBoxLayout" name="verticalLayout">
+   <property name="leftMargin">
+    <number>5</number>
+   </property>
+   <property name="topMargin">
+    <number>5</number>
+   </property>
+   <property name="rightMargin">
+    <number>5</number>
+   </property>
+   <property name="bottomMargin">
+    <number>5</number>
+   </property>
    <item>
     <widget class="QWidget" name="horizontalWidget" native="true">
      <layout class="QHBoxLayout" name="horizontalLayout_3">
@@ -40,8 +52,26 @@
       <item>
        <widget class="QWidget" name="verticalWidget" native="true">
         <layout class="QVBoxLayout" name="verticalLayout_2">
+         <property name="spacing">
+          <number>5</number>
+         </property>
+         <property name="leftMargin">
+          <number>0</number>
+         </property>
+         <property name="topMargin">
+          <number>0</number>
+         </property>
+         <property name="rightMargin">
+          <number>0</number>
+         </property>
+         <property name="bottomMargin">
+          <number>0</number>
+         </property>
          <item>
           <layout class="QHBoxLayout" name="horizontalLayout">
+           <property name="spacing">
+            <number>2</number>
+           </property>
            <item>
             <widget class="QComboBox" name="knownImports">
              <property name="currentIndex">
-- 
2.4.1

From f15dde7ff080f43ba7d7edcf03c2df7f7f321826 Mon Sep 17 00:00:00 2001
From: Tomaz Canabrava <[email protected]>
Date: Mon, 25 May 2015 15:01:43 -0300
Subject: [PATCH 07/13] Fix Layout issues with the Export Dialog

This patch makes the Export dialog more consistent
with the rest of subsurface.

Signed-off-by: Tomaz Canabrava <[email protected]>
---
 qt-ui/divelogexportdialog.ui | 219 +++++++++++++++++++++++++------------------
 1 file changed, 130 insertions(+), 89 deletions(-)

diff --git a/qt-ui/divelogexportdialog.ui b/qt-ui/divelogexportdialog.ui
index 1f3675e..6403ead 100644
--- a/qt-ui/divelogexportdialog.ui
+++ b/qt-ui/divelogexportdialog.ui
@@ -7,7 +7,7 @@
     <x>0</x>
     <y>0</y>
     <width>507</width>
-    <height>468</height>
+    <height>548</height>
    </rect>
   </property>
   <property name="windowTitle">
@@ -19,16 +19,43 @@
    </iconset>
   </property>
   <layout class="QGridLayout" name="gridLayout">
+   <property name="leftMargin">
+    <number>5</number>
+   </property>
+   <property name="topMargin">
+    <number>5</number>
+   </property>
+   <property name="rightMargin">
+    <number>5</number>
+   </property>
+   <property name="bottomMargin">
+    <number>5</number>
+   </property>
    <item row="0" column="0">
     <widget class="QTabWidget" name="tabWidget">
      <property name="currentIndex">
-      <number>0</number>
+      <number>1</number>
+     </property>
+     <property name="documentMode">
+      <bool>true</bool>
      </property>
      <widget class="QWidget" name="General_tab">
       <attribute name="title">
        <string>General export</string>
       </attribute>
       <layout class="QGridLayout" name="gridLayout_2">
+       <property name="leftMargin">
+        <number>5</number>
+       </property>
+       <property name="topMargin">
+        <number>5</number>
+       </property>
+       <property name="rightMargin">
+        <number>5</number>
+       </property>
+       <property name="bottomMargin">
+        <number>0</number>
+       </property>
        <item row="2" column="0" colspan="2">
         <widget class="QLabel" name="description">
          <property name="sizePolicy">
@@ -85,7 +112,7 @@
              </size>
             </property>
             <property name="text">
-             <string>Subsurface XML</string>
+             <string>Subsurface &amp;XML</string>
             </property>
             <property name="checked">
              <bool>true</bool>
@@ -117,7 +144,7 @@
           <item>
            <widget class="QRadioButton" name="exportDivelogs">
             <property name="text">
-             <string>divelogs.de</string>
+             <string>di&amp;velogs.de</string>
             </property>
             <attribute name="buttonGroup">
              <string notr="true">exportGroup</string>
@@ -167,7 +194,7 @@
           <item>
            <widget class="QRadioButton" name="exportImageDepths">
             <property name="text">
-             <string>Image depths</string>
+             <string>I&amp;mage depths</string>
             </property>
             <attribute name="buttonGroup">
              <string notr="true">exportGroup</string>
@@ -179,95 +206,97 @@
        </item>
        <item row="0" column="1">
         <widget class="QWidget" name="widget" native="true">
-         <widget class="QGroupBox" name="exportSelection">
-          <property name="geometry">
-           <rect>
-            <x>0</x>
-            <y>0</y>
-            <width>230</width>
-            <height>100</height>
-           </rect>
-          </property>
-          <property name="sizePolicy">
-           <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
-            <horstretch>0</horstretch>
-            <verstretch>0</verstretch>
-           </sizepolicy>
-          </property>
-          <property name="minimumSize">
-           <size>
-            <width>0</width>
-            <height>100</height>
-           </size>
-          </property>
-          <property name="maximumSize">
-           <size>
-            <width>16777215</width>
-            <height>16777215</height>
-           </size>
-          </property>
-          <property name="title">
-           <string>Selection</string>
+         <layout class="QVBoxLayout" name="verticalLayout_4">
+          <property name="leftMargin">
+           <number>0</number>
           </property>
-          <layout class="QVBoxLayout" name="verticalLayout_3">
-           <item>
-            <widget class="QRadioButton" name="exportSelected">
-             <property name="enabled">
-              <bool>true</bool>
-             </property>
-             <property name="text">
-              <string>Selected dives</string>
-             </property>
-             <property name="checked">
-              <bool>true</bool>
-             </property>
-            </widget>
-           </item>
-           <item>
-            <widget class="QRadioButton" name="exportAll">
-             <property name="text">
-              <string>All dives</string>
-             </property>
-            </widget>
-           </item>
-          </layout>
-         </widget>
-         <widget class="QGroupBox" name="groupBox">
-          <property name="enabled">
-           <bool>false</bool>
+          <property name="topMargin">
+           <number>0</number>
           </property>
-          <property name="geometry">
-           <rect>
-            <x>0</x>
-            <y>100</y>
-            <width>204</width>
-            <height>101</height>
-           </rect>
+          <property name="rightMargin">
+           <number>0</number>
           </property>
-          <property name="title">
-           <string>CSV units</string>
+          <property name="bottomMargin">
+           <number>0</number>
           </property>
-          <widget class="QComboBox" name="CSVUnits_2">
-           <property name="geometry">
-            <rect>
-             <x>30</x>
-             <y>30</y>
-             <width>102</width>
-             <height>27</height>
-            </rect>
-           </property>
-           <item>
-            <property name="text">
-             <string>Metric</string>
+          <item>
+           <widget class="QGroupBox" name="exportSelection">
+            <property name="sizePolicy">
+             <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+              <horstretch>0</horstretch>
+              <verstretch>0</verstretch>
+             </sizepolicy>
             </property>
-           </item>
-           <item>
-            <property name="text">
-             <string>Imperial</string>
+            <property name="minimumSize">
+             <size>
+              <width>0</width>
+              <height>100</height>
+             </size>
+            </property>
+            <property name="maximumSize">
+             <size>
+              <width>16777215</width>
+              <height>16777215</height>
+             </size>
+            </property>
+            <property name="title">
+             <string>Selection</string>
+            </property>
+            <layout class="QVBoxLayout" name="verticalLayout_3">
+             <item>
+              <widget class="QRadioButton" name="exportSelected">
+               <property name="enabled">
+                <bool>true</bool>
+               </property>
+               <property name="text">
+                <string>Selected dives</string>
+               </property>
+               <property name="checked">
+                <bool>true</bool>
+               </property>
+              </widget>
+             </item>
+             <item>
+              <widget class="QRadioButton" name="exportAll">
+               <property name="text">
+                <string>All dives</string>
+               </property>
+              </widget>
+             </item>
+            </layout>
+           </widget>
+          </item>
+          <item>
+           <widget class="QGroupBox" name="groupBox">
+            <property name="enabled">
+             <bool>false</bool>
             </property>
-           </item>
-          </widget>
-         </widget>
+            <property name="title">
+             <string>CSV units</string>
+            </property>
+            <widget class="QComboBox" name="CSVUnits_2">
+             <property name="geometry">
+              <rect>
+               <x>30</x>
+               <y>30</y>
+               <width>102</width>
+               <height>27</height>
+              </rect>
+             </property>
+             <item>
+              <property name="text">
+               <string>Metric</string>
+              </property>
+             </item>
+             <item>
+              <property name="text">
+               <string>Imperial</string>
+              </property>
+             </item>
+            </widget>
+           </widget>
+          </item>
+         </layout>
         </widget>
        </item>
       </layout>
@@ -277,6 +306,18 @@
        <string>HTML</string>
       </attribute>
       <layout class="QVBoxLayout" name="verticalLayout">
+       <property name="leftMargin">
+        <number>0</number>
+       </property>
+       <property name="topMargin">
+        <number>5</number>
+       </property>
+       <property name="rightMargin">
+        <number>0</number>
+       </property>
+       <property name="bottomMargin">
+        <number>0</number>
+       </property>
        <item>
         <widget class="QGroupBox" name="GeneralOptions">
          <property name="title">
@@ -331,7 +372,7 @@
              </size>
             </property>
             <property name="text">
-             <string>All dives</string>
+             <string>All di&amp;ves</string>
             </property>
             <attribute name="buttonGroup">
              <string notr="true">buttonGroup</string>
-- 
2.4.1

From 3dad71d487d33192aaf265042e59d46007fe9e4a Mon Sep 17 00:00:00 2001
From: Tomaz Canabrava <[email protected]>
Date: Mon, 25 May 2015 14:49:34 -0300
Subject: [PATCH 06/13] Major Layout rework on the MainTab

This seems almost perfect now.

Signed-off-by: Tomaz Canabrava <[email protected]>
---
 qt-ui/locationInformation.ui |  13 +++-
 qt-ui/maintab.ui             | 169 ++++++++++++++++++++++++++-----------------
 2 files changed, 114 insertions(+), 68 deletions(-)

diff --git a/qt-ui/locationInformation.ui b/qt-ui/locationInformation.ui
index 38eb361..fbb11b3 100644
--- a/qt-ui/locationInformation.ui
+++ b/qt-ui/locationInformation.ui
@@ -17,14 +17,23 @@
    <string>Dive Site</string>
   </property>
   <layout class="QGridLayout" name="gridLayout">
-   <property name="bottomMargin">
+   <property name="leftMargin">
     <number>12</number>
    </property>
+   <property name="topMargin">
+    <number>0</number>
+   </property>
+   <property name="rightMargin">
+    <number>0</number>
+   </property>
+   <property name="bottomMargin">
+    <number>0</number>
+   </property>
    <property name="horizontalSpacing">
     <number>2</number>
    </property>
    <property name="verticalSpacing">
-    <number>-1</number>
+    <number>5</number>
    </property>
    <item row="1" column="0">
     <widget class="QLabel" name="label_5">
diff --git a/qt-ui/maintab.ui b/qt-ui/maintab.ui
index 04a7951..b2bc98b 100644
--- a/qt-ui/maintab.ui
+++ b/qt-ui/maintab.ui
@@ -513,6 +513,18 @@
         </rect>
        </property>
        <layout class="QGridLayout" name="equipmentTabScrollAreaLayout">
+        <property name="leftMargin">
+         <number>0</number>
+        </property>
+        <property name="topMargin">
+         <number>0</number>
+        </property>
+        <property name="rightMargin">
+         <number>0</number>
+        </property>
+        <property name="bottomMargin">
+         <number>0</number>
+        </property>
         <property name="spacing">
          <number>2</number>
         </property>
@@ -522,6 +534,18 @@
            <property name="spacing">
             <number>0</number>
            </property>
+           <property name="leftMargin">
+            <number>0</number>
+           </property>
+           <property name="topMargin">
+            <number>0</number>
+           </property>
+           <property name="rightMargin">
+            <number>0</number>
+           </property>
+           <property name="bottomMargin">
+            <number>0</number>
+           </property>
            <item>
             <widget class="QSplitter" name="splitter">
              <property name="orientation">
@@ -584,6 +608,18 @@
         </rect>
        </property>
        <layout class="QGridLayout" name="diveInfoScrollAreaLayout">
+        <property name="leftMargin">
+         <number>0</number>
+        </property>
+        <property name="topMargin">
+         <number>0</number>
+        </property>
+        <property name="rightMargin">
+         <number>0</number>
+        </property>
+        <property name="bottomMargin">
+         <number>0</number>
+        </property>
         <property name="spacing">
          <number>2</number>
         </property>
@@ -892,9 +928,6 @@
     <property name="bottomMargin">
      <number>5</number>
     </property>
-    <item row="0" column="1">
-     <widget class="KMessageWidget" name="diveStatisticsMessage" native="true"/>
-    </item>
     <item row="1" column="1">
      <widget class="QScrollArea" name="scrollArea_4">
       <property name="frameShape">
@@ -915,48 +948,33 @@
          <height>750</height>
         </rect>
        </property>
-       <layout class="QGridLayout" name="statsScrollAreaLayout">
-        <property name="spacing">
-         <number>2</number>
+       <layout class="QHBoxLayout" name="horizontalLayout">
+        <property name="leftMargin">
+         <number>0</number>
         </property>
-        <item row="0" column="0">
-         <widget class="QGroupBox" name="groupBoxb">
-          <property name="title">
-           <string>Depth</string>
-          </property>
-          <layout class="QHBoxLayout" name="statsDepthLayout">
-           <item>
-            <widget class="MinMaxAvgWidget" name="depthLimits" native="true"/>
-           </item>
-          </layout>
-         </widget>
-        </item>
-        <item row="0" column="1">
-         <widget class="QGroupBox" name="groupBox_8b">
-          <property name="title">
-           <string>Temperature</string>
-          </property>
-          <layout class="QHBoxLayout" name="statsTempLayout">
-           <item>
-            <widget class="MinMaxAvgWidget" name="tempLimits" native="true"/>
-           </item>
-          </layout>
-         </widget>
-        </item>
-        <item row="0" column="2">
-         <widget class="QGroupBox" name="groupBox_4b">
-          <property name="title">
-           <string>SAC</string>
-          </property>
-          <layout class="QHBoxLayout" name="statsSacLayout">
-           <item>
-            <widget class="MinMaxAvgWidget" name="sacLimits" native="true"/>
-           </item>
-          </layout>
-         </widget>
-        </item>
-        <item row="1" column="0">
-         <layout class="QVBoxLayout" name="statsOuterDurationLayout">
+        <property name="topMargin">
+         <number>0</number>
+        </property>
+        <property name="rightMargin">
+         <number>0</number>
+        </property>
+        <property name="bottomMargin">
+         <number>0</number>
+        </property>
+        <item>
+         <layout class="QVBoxLayout" name="verticalLayout_5">
+          <item>
+           <widget class="QGroupBox" name="groupBoxb">
+            <property name="title">
+             <string>Depth</string>
+            </property>
+            <layout class="QHBoxLayout" name="statsDepthLayout">
+             <item>
+              <widget class="MinMaxAvgWidget" name="depthLimits" native="true"/>
+             </item>
+            </layout>
+           </widget>
+          </item>
           <item>
            <widget class="QGroupBox" name="groupBox_14">
             <property name="title">
@@ -970,25 +988,34 @@
            </widget>
           </item>
           <item>
-           <spacer name="innerSpacer0">
+           <spacer name="verticalSpacer_2">
             <property name="orientation">
              <enum>Qt::Vertical</enum>
             </property>
-            <property name="sizeType">
-             <enum>QSizePolicy::Expanding</enum>
-            </property>
             <property name="sizeHint" stdset="0">
              <size>
-              <width>0</width>
-              <height>0</height>
+              <width>20</width>
+              <height>40</height>
              </size>
             </property>
            </spacer>
           </item>
          </layout>
         </item>
-        <item row="1" column="1">
-         <layout class="QVBoxLayout" name="statsOuterTotalTimeDivesLayout">
+        <item>
+         <layout class="QVBoxLayout" name="verticalLayout_6">
+          <item>
+           <widget class="QGroupBox" name="groupBox_8b">
+            <property name="title">
+             <string>Temperature</string>
+            </property>
+            <layout class="QHBoxLayout" name="statsTempLayout">
+             <item>
+              <widget class="MinMaxAvgWidget" name="tempLimits" native="true"/>
+             </item>
+            </layout>
+           </widget>
+          </item>
           <item>
            <widget class="QGroupBox" name="groupBox_11b">
             <property name="title">
@@ -1028,25 +1055,34 @@
            </widget>
           </item>
           <item>
-           <spacer name="innerSpacer1">
+           <spacer name="verticalSpacer_3">
             <property name="orientation">
              <enum>Qt::Vertical</enum>
             </property>
-            <property name="sizeType">
-             <enum>QSizePolicy::Expanding</enum>
-            </property>
             <property name="sizeHint" stdset="0">
              <size>
-              <width>0</width>
-              <height>0</height>
+              <width>20</width>
+              <height>40</height>
              </size>
             </property>
            </spacer>
           </item>
          </layout>
         </item>
-        <item row="1" column="2">
-         <layout class="QVBoxLayout" name="statsOuterGasConsumptionLayout">
+        <item>
+         <layout class="QVBoxLayout" name="verticalLayout_7">
+          <item>
+           <widget class="QGroupBox" name="groupBox_4b">
+            <property name="title">
+             <string>SAC</string>
+            </property>
+            <layout class="QHBoxLayout" name="statsSacLayout">
+             <item>
+              <widget class="MinMaxAvgWidget" name="sacLimits" native="true"/>
+             </item>
+            </layout>
+           </widget>
+          </item>
           <item>
            <widget class="QGroupBox" name="groupBox_13">
             <property name="title">
@@ -1067,17 +1103,14 @@
            </widget>
           </item>
           <item>
-           <spacer name="innerSpacer2">
+           <spacer name="verticalSpacer_4">
             <property name="orientation">
              <enum>Qt::Vertical</enum>
             </property>
-            <property name="sizeType">
-             <enum>QSizePolicy::Expanding</enum>
-            </property>
             <property name="sizeHint" stdset="0">
              <size>
-              <width>0</width>
-              <height>0</height>
+              <width>20</width>
+              <height>40</height>
              </size>
             </property>
            </spacer>
@@ -1088,9 +1121,13 @@
        <zorder>groupBox_8b</zorder>
        <zorder>groupBox_4b</zorder>
        <zorder>groupBoxb</zorder>
+       <zorder>diveStatisticsMessage</zorder>
       </widget>
      </widget>
     </item>
+    <item row="0" column="1">
+     <widget class="KMessageWidget" name="diveStatisticsMessage" native="true"/>
+    </item>
    </layout>
   </widget>
   <widget class="QWidget" name="tab">
-- 
2.4.1

From 3935a4878f0362eda5c4c5157e519c7f20c3617c Mon Sep 17 00:00:00 2001
From: Tomaz Canabrava <[email protected]>
Date: Mon, 25 May 2015 14:35:47 -0300
Subject: [PATCH 05/13] Fixed Spacing on the Filter Dialog

This is the single Filter dialog - the Spacing is much
better, but when activated it seems cluttered, this is
because the outer layout ( the one that encapsulates everything )
has the wrong layouting - I need to find and fix it. ( I'll
actually change that to a splitter, it will provide a more
flexible resize of the widgets. )

Signed-off-by: Tomaz Canabrava <[email protected]>
---
 qt-ui/listfilter.ui | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/qt-ui/listfilter.ui b/qt-ui/listfilter.ui
index 0588afb..48d813d 100644
--- a/qt-ui/listfilter.ui
+++ b/qt-ui/listfilter.ui
@@ -14,8 +14,26 @@
    <string>Form</string>
   </property>
   <layout class="QVBoxLayout" name="verticalLayout">
+   <property name="spacing">
+    <number>0</number>
+   </property>
+   <property name="leftMargin">
+    <number>0</number>
+   </property>
+   <property name="topMargin">
+    <number>0</number>
+   </property>
+   <property name="rightMargin">
+    <number>0</number>
+   </property>
+   <property name="bottomMargin">
+    <number>0</number>
+   </property>
    <item>
     <layout class="QHBoxLayout" name="horizontalLayout">
+     <property name="spacing">
+      <number>5</number>
+     </property>
      <item>
       <widget class="QLabel" name="label">
        <property name="text">
-- 
2.4.1

From bcaca110944327c7daf8a611f4af0e0271f9ed6f Mon Sep 17 00:00:00 2001
From: Tomaz Canabrava <[email protected]>
Date: Mon, 25 May 2015 14:32:17 -0300
Subject: [PATCH 04/13] Fix Layout issues on other places of the MainTab

Also, added tooltips to the Tab Texts.
I need to fix the layout issues of the Equipments, but
that's not inside the UI. Things are much more sane now.

Signed-off-by: Tomaz Canabrava <[email protected]>
---
 qt-ui/maintab.ui | 106 ++++++++++++++++++++++++++++++++++++++++++++++---------
 1 file changed, 89 insertions(+), 17 deletions(-)

diff --git a/qt-ui/maintab.ui b/qt-ui/maintab.ui
index 490e2ff..04a7951 100644
--- a/qt-ui/maintab.ui
+++ b/qt-ui/maintab.ui
@@ -17,6 +17,9 @@
    <attribute name="title">
     <string>Notes</string>
    </attribute>
+   <attribute name="toolTip">
+    <string>General notes about the current selection</string>
+   </attribute>
    <layout class="QGridLayout" name="diveNotesLayout">
     <property name="leftMargin">
      <number>5</number>
@@ -470,7 +473,22 @@
    <attribute name="title">
     <string>Equipment</string>
    </attribute>
+   <attribute name="toolTip">
+    <string>Used equipment in the current selection</string>
+   </attribute>
    <layout class="QGridLayout" name="equiptmentTabLayout">
+    <property name="leftMargin">
+     <number>5</number>
+    </property>
+    <property name="topMargin">
+     <number>5</number>
+    </property>
+    <property name="rightMargin">
+     <number>5</number>
+    </property>
+    <property name="bottomMargin">
+     <number>5</number>
+    </property>
     <item row="0" column="0">
      <widget class="KMessageWidget" name="diveEquipmentMessage" native="true"/>
     </item>
@@ -490,8 +508,8 @@
         <rect>
          <x>0</x>
          <y>0</y>
-         <width>435</width>
-         <height>736</height>
+         <width>449</width>
+         <height>750</height>
         </rect>
        </property>
        <layout class="QGridLayout" name="equipmentTabScrollAreaLayout">
@@ -526,7 +544,22 @@
    <attribute name="title">
     <string>Info</string>
    </attribute>
+   <attribute name="toolTip">
+    <string>Dive information</string>
+   </attribute>
    <layout class="QGridLayout" name="diveInfoLayout">
+    <property name="leftMargin">
+     <number>5</number>
+    </property>
+    <property name="topMargin">
+     <number>5</number>
+    </property>
+    <property name="rightMargin">
+     <number>5</number>
+    </property>
+    <property name="bottomMargin">
+     <number>5</number>
+    </property>
     <item row="0" column="0">
      <widget class="KMessageWidget" name="diveInfoMessage" native="true"/>
     </item>
@@ -546,8 +579,8 @@
         <rect>
          <x>0</x>
          <y>0</y>
-         <width>435</width>
-         <height>736</height>
+         <width>449</width>
+         <height>750</height>
         </rect>
        </property>
        <layout class="QGridLayout" name="diveInfoScrollAreaLayout">
@@ -843,7 +876,22 @@
    <attribute name="title">
     <string>Stats</string>
    </attribute>
+   <attribute name="toolTip">
+    <string>Simple statistics about the selection</string>
+   </attribute>
    <layout class="QGridLayout" name="statsLayout">
+    <property name="leftMargin">
+     <number>5</number>
+    </property>
+    <property name="topMargin">
+     <number>5</number>
+    </property>
+    <property name="rightMargin">
+     <number>5</number>
+    </property>
+    <property name="bottomMargin">
+     <number>5</number>
+    </property>
     <item row="0" column="1">
      <widget class="KMessageWidget" name="diveStatisticsMessage" native="true"/>
     </item>
@@ -863,8 +911,8 @@
         <rect>
          <x>0</x>
          <y>0</y>
-         <width>435</width>
-         <height>736</height>
+         <width>449</width>
+         <height>750</height>
         </rect>
        </property>
        <layout class="QGridLayout" name="statsScrollAreaLayout">
@@ -1049,7 +1097,22 @@
    <attribute name="title">
     <string>Photos</string>
    </attribute>
+   <attribute name="toolTip">
+    <string>All photos from the current selection</string>
+   </attribute>
    <layout class="QVBoxLayout" name="photosLayout">
+    <property name="leftMargin">
+     <number>5</number>
+    </property>
+    <property name="topMargin">
+     <number>5</number>
+    </property>
+    <property name="rightMargin">
+     <number>5</number>
+    </property>
+    <property name="bottomMargin">
+     <number>5</number>
+    </property>
     <item>
      <widget class="DivePictureWidget" name="photosView">
       <property name="viewMode">
@@ -1063,18 +1126,27 @@
    <attribute name="title">
     <string>Extra data</string>
    </attribute>
-   <layout class="QVBoxLayout" name="extraDataOuterLayout">
+   <attribute name="toolTip">
+    <string>Adittional data from the dive computer</string>
+   </attribute>
+   <layout class="QVBoxLayout" name="verticalLayout_4">
+    <property name="spacing">
+     <number>0</number>
+    </property>
+    <property name="leftMargin">
+     <number>5</number>
+    </property>
+    <property name="topMargin">
+     <number>5</number>
+    </property>
+    <property name="rightMargin">
+     <number>5</number>
+    </property>
+    <property name="bottomMargin">
+     <number>5</number>
+    </property>
     <item>
-     <widget class="QGroupBox" name="groupBox_16">
-      <property name="title">
-       <string>Additional data from dive computer</string>
-      </property>
-      <layout class="QHBoxLayout" name="extraDataLayout">
-       <item>
-        <widget class="QTableView" name="extraData"/>
-       </item>
-      </layout>
-     </widget>
+     <widget class="QTableView" name="extraData"/>
     </item>
    </layout>
   </widget>
-- 
2.4.1

From 43d931778e89441499613271ee18592942a270b1 Mon Sep 17 00:00:00 2001
From: Tomaz Canabrava <[email protected]>
Date: Mon, 25 May 2015 14:20:21 -0300
Subject: [PATCH 03/13] Fix the Layout ugliness on Mac & Linux

I seem to have found a sane way to create layouts:
If it's the 'outter' layout, the one that encapsulates
everythin:
- Horizontal Spacing: 5
- Vertical Spacing: 5

If it's a Vertical Inner Layout that is grouping items like
Label + Control:
 Spacing: 0
This way the label will be 'touching' the item, without
empty space, so you know that the label refeers to that
widget.

If it's an Horizontal inner layout:
- spacing: 5
Differently from the Vertical Layout, we don't wanna
make horizontal items touch each other, a bit of space
is fundamental to the eyes.

If it's a Grid Layout:
- Vertical Space: 0
- Horizontal Space: 5

Signed-off-by: Tomaz Canabrava <[email protected]>
---
 qt-ui/maintab.ui    | 249 +++++++++++++++++++++++++++++++++++++---------------
 qt-ui/mainwindow.ui |  16 +++-
 2 files changed, 190 insertions(+), 75 deletions(-)

diff --git a/qt-ui/maintab.ui b/qt-ui/maintab.ui
index da8cabe..490e2ff 100644
--- a/qt-ui/maintab.ui
+++ b/qt-ui/maintab.ui
@@ -18,6 +18,18 @@
     <string>Notes</string>
    </attribute>
    <layout class="QGridLayout" name="diveNotesLayout">
+    <property name="leftMargin">
+     <number>5</number>
+    </property>
+    <property name="topMargin">
+     <number>5</number>
+    </property>
+    <property name="rightMargin">
+     <number>5</number>
+    </property>
+    <property name="bottomMargin">
+     <number>5</number>
+    </property>
     <property name="spacing">
      <number>0</number>
     </property>
@@ -40,18 +52,39 @@
         <rect>
          <x>0</x>
          <y>0</y>
-         <width>417</width>
-         <height>744</height>
+         <width>449</width>
+         <height>758</height>
         </rect>
        </property>
-       <layout class="QVBoxLayout" name="verticalLayout">
+       <layout class="QVBoxLayout" name="verticalLayout_3">
+        <property name="leftMargin">
+         <number>0</number>
+        </property>
+        <property name="topMargin">
+         <number>0</number>
+        </property>
+        <property name="rightMargin">
+         <number>0</number>
+        </property>
+        <property name="bottomMargin">
+         <number>0</number>
+        </property>
         <item>
          <layout class="QGridLayout" name="gridLayout">
+          <property name="horizontalSpacing">
+           <number>5</number>
+          </property>
+          <property name="verticalSpacing">
+           <number>0</number>
+          </property>
           <item row="0" column="0">
            <widget class="QLabel" name="label_2">
             <property name="text">
              <string>Date</string>
             </property>
+            <property name="alignment">
+             <set>Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft</set>
+            </property>
            </widget>
           </item>
           <item row="0" column="1">
@@ -59,6 +92,9 @@
             <property name="text">
              <string>Time</string>
             </property>
+            <property name="alignment">
+             <set>Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft</set>
+            </property>
            </widget>
           </item>
           <item row="0" column="2">
@@ -66,6 +102,9 @@
             <property name="text">
              <string>Air temp.</string>
             </property>
+            <property name="alignment">
+             <set>Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft</set>
+            </property>
            </widget>
           </item>
           <item row="0" column="3">
@@ -73,6 +112,9 @@
             <property name="text">
              <string>Water temp.</string>
             </property>
+            <property name="alignment">
+             <set>Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft</set>
+            </property>
            </widget>
           </item>
           <item row="1" column="0">
@@ -115,44 +157,62 @@
          </layout>
         </item>
         <item>
-         <layout class="QHBoxLayout" name="LocationLabelLayout">
+         <layout class="QVBoxLayout" name="verticalLayout">
+          <property name="spacing">
+           <number>0</number>
+          </property>
           <item>
            <widget class="QLabel" name="LocationLabel">
             <property name="text">
              <string>Location</string>
             </property>
-           </widget>
-          </item>
-         </layout>
-        </item>
-        <item>
-         <layout class="QHBoxLayout" name="horizontalLayout_2">
-          <item>
-           <widget class="QLineEdit" name="location">
-            <property name="readOnly">
-             <bool>false</bool>
+            <property name="alignment">
+             <set>Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft</set>
             </property>
            </widget>
           </item>
           <item>
-           <widget class="QPushButton" name="manageDiveSite">
-            <property name="text">
-             <string>manage</string>
+           <layout class="QHBoxLayout" name="horizontalLayout_2">
+            <property name="spacing">
+             <number>2</number>
             </property>
-           </widget>
-          </item>
-          <item>
-           <widget class="QtWaitingSpinner" name="waitingSpinner" native="true"/>
+            <item>
+             <widget class="QLineEdit" name="location">
+              <property name="readOnly">
+               <bool>false</bool>
+              </property>
+             </widget>
+            </item>
+            <item>
+             <widget class="QPushButton" name="manageDiveSite">
+              <property name="text">
+               <string>manage</string>
+              </property>
+             </widget>
+            </item>
+            <item>
+             <widget class="QtWaitingSpinner" name="waitingSpinner" native="true"/>
+            </item>
+           </layout>
           </item>
          </layout>
         </item>
         <item>
          <layout class="QGridLayout" name="gridLayout_4">
+          <property name="horizontalSpacing">
+           <number>5</number>
+          </property>
+          <property name="verticalSpacing">
+           <number>0</number>
+          </property>
           <item row="0" column="0">
            <widget class="QLabel" name="DivemasterLabel">
             <property name="text">
              <string>Divemaster</string>
             </property>
+            <property name="alignment">
+             <set>Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft</set>
+            </property>
            </widget>
           </item>
           <item row="0" column="1">
@@ -160,6 +220,9 @@
             <property name="text">
              <string>Buddy</string>
             </property>
+            <property name="alignment">
+             <set>Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft</set>
+            </property>
            </widget>
           </item>
           <item row="1" column="0">
@@ -180,6 +243,12 @@
         </item>
         <item>
          <layout class="QGridLayout" name="gridLayout_3">
+          <property name="horizontalSpacing">
+           <number>5</number>
+          </property>
+          <property name="verticalSpacing">
+           <number>0</number>
+          </property>
           <item row="0" column="0">
            <widget class="QLabel" name="RatingLabel">
             <property name="sizePolicy">
@@ -250,6 +319,12 @@
         </item>
         <item>
          <layout class="QGridLayout" name="gridLayout_2">
+          <property name="horizontalSpacing">
+           <number>5</number>
+          </property>
+          <property name="verticalSpacing">
+           <number>0</number>
+          </property>
           <item row="1" column="1">
            <widget class="QComboBox" name="DiveType"/>
           </item>
@@ -258,6 +333,9 @@
             <property name="text">
              <string>Tags</string>
             </property>
+            <property name="alignment">
+             <set>Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft</set>
+            </property>
            </widget>
           </item>
           <item row="0" column="1">
@@ -265,6 +343,9 @@
             <property name="text">
              <string>Dive mode</string>
             </property>
+            <property name="alignment">
+             <set>Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft</set>
+            </property>
            </widget>
           </item>
           <item row="1" column="0">
@@ -295,65 +376,87 @@
          </layout>
         </item>
         <item>
-         <widget class="QLabel" name="NotesLabel">
-          <property name="text">
-           <string>Notes</string>
-          </property>
-         </widget>
-        </item>
-        <item>
-         <layout class="QHBoxLayout" name="notesAndSocialNetworksLayout">
+         <layout class="QVBoxLayout" name="verticalLayout_2">
           <property name="spacing">
            <number>0</number>
           </property>
           <item>
-           <widget class="QTextEdit" name="notes">
-            <property name="readOnly">
-             <bool>false</bool>
+           <widget class="QLabel" name="NotesLabel">
+            <property name="text">
+             <string>Notes</string>
+            </property>
+            <property name="alignment">
+             <set>Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft</set>
             </property>
            </widget>
           </item>
           <item>
-           <widget class="QWidget" name="socialNetworks" native="true">
-            <layout class="QVBoxLayout" name="socialNetworksLayout">
-             <property name="spacing">
-              <number>0</number>
-             </property>
-             <item>
-              <spacer name="verticalSpacer">
-               <property name="orientation">
-                <enum>Qt::Vertical</enum>
+           <layout class="QHBoxLayout" name="notesAndSocialNetworksLayout">
+            <property name="spacing">
+             <number>0</number>
+            </property>
+            <item>
+             <widget class="QTextEdit" name="notes">
+              <property name="readOnly">
+               <bool>false</bool>
+              </property>
+             </widget>
+            </item>
+            <item>
+             <widget class="QWidget" name="socialNetworks" native="true">
+              <layout class="QVBoxLayout" name="socialNetworksLayout">
+               <property name="spacing">
+                <number>0</number>
                </property>
-               <property name="sizeHint" stdset="0">
-                <size>
-                 <width>20</width>
-                 <height>40</height>
-                </size>
+               <property name="leftMargin">
+                <number>0</number>
                </property>
-              </spacer>
-             </item>
-             <item>
-              <widget class="QPushButton" name="facebookPublish">
-               <property name="text">
-                <string/>
+               <property name="topMargin">
+                <number>0</number>
                </property>
-               <property name="icon">
-                <iconset resource="../subsurface.qrc">
-                 <normaloff>:/facebook</normaloff>:/facebook</iconset>
+               <property name="rightMargin">
+                <number>0</number>
                </property>
-               <property name="iconSize">
-                <size>
-                 <width>32</width>
-                 <height>32</height>
-                </size>
+               <property name="bottomMargin">
+                <number>0</number>
                </property>
-               <property name="flat">
-                <bool>true</bool>
-               </property>
-              </widget>
-             </item>
-            </layout>
-           </widget>
+               <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>
+                <widget class="QPushButton" name="facebookPublish">
+                 <property name="text">
+                  <string/>
+                 </property>
+                 <property name="icon">
+                  <iconset resource="../subsurface.qrc">
+                   <normaloff>:/facebook</normaloff>:/facebook</iconset>
+                 </property>
+                 <property name="iconSize">
+                  <size>
+                   <width>32</width>
+                   <height>32</height>
+                  </size>
+                 </property>
+                 <property name="flat">
+                  <bool>true</bool>
+                 </property>
+                </widget>
+               </item>
+              </layout>
+             </widget>
+            </item>
+           </layout>
           </item>
          </layout>
         </item>
@@ -387,8 +490,8 @@
         <rect>
          <x>0</x>
          <y>0</y>
-         <width>98</width>
-         <height>55</height>
+         <width>435</width>
+         <height>736</height>
         </rect>
        </property>
        <layout class="QGridLayout" name="equipmentTabScrollAreaLayout">
@@ -443,8 +546,8 @@
         <rect>
          <x>0</x>
          <y>0</y>
-         <width>330</width>
-         <height>334</height>
+         <width>435</width>
+         <height>736</height>
         </rect>
        </property>
        <layout class="QGridLayout" name="diveInfoScrollAreaLayout">
@@ -760,8 +863,8 @@
         <rect>
          <x>0</x>
          <y>0</y>
-         <width>328</width>
-         <height>208</height>
+         <width>435</width>
+         <height>736</height>
         </rect>
        </property>
        <layout class="QGridLayout" name="statsScrollAreaLayout">
diff --git a/qt-ui/mainwindow.ui b/qt-ui/mainwindow.ui
index 8e98bed..c7367bc 100644
--- a/qt-ui/mainwindow.ui
+++ b/qt-ui/mainwindow.ui
@@ -15,6 +15,18 @@
     <property name="spacing">
      <number>0</number>
     </property>
+    <property name="leftMargin">
+     <number>0</number>
+    </property>
+    <property name="topMargin">
+     <number>0</number>
+    </property>
+    <property name="rightMargin">
+     <number>0</number>
+    </property>
+    <property name="bottomMargin">
+     <number>0</number>
+    </property>
     <item>
      <widget class="MultiFilter" name="multiFilter" native="true"/>
     </item>
@@ -243,7 +255,7 @@
   </action>
   <action name="actionEditDeviceNames">
    <property name="text">
-    <string>&amp;Edit device names</string>
+    <string>Edit device &amp;names</string>
    </property>
   </action>
   <action name="actionAddDive">
@@ -699,7 +711,7 @@
   </action>
   <action name="actionHash_images">
    <property name="text">
-    <string>Find moved images</string>
+    <string>&amp;Find moved images</string>
    </property>
   </action>
  </widget>
-- 
2.4.1

From b704707778b461725834afd2a7dd97e3a0f7e74e Mon Sep 17 00:00:00 2001
From: Tomaz Canabrava <[email protected]>
Date: Mon, 25 May 2015 13:58:48 -0300
Subject: [PATCH 02/13] Remove Auto-Layout management from mainwindow.cpp

While this worked for a bit, it was very error prone
as it relied in layout having specific names, and layouts
in the .ui files are treated as substandard items, every
time a 'break layout' command is issues ( and it's issued
quite a lot when trying to reorganize the items on the
widget ) all layout items are removed and new ones are
added later, without any of the names.

Since the new layout can be different the old names are
not userfull anymore - and a clean compilation won't trigger
a single warning either: the name resolution is done in runtime
and not in compile time, so it would just fail silently.

instead of brute-forcing each layout to have 0,0 or 5,5
margins, we should put the correct values on the .ui files.

Signed-off-by: Tomaz Canabrava <[email protected]>
---
 qt-ui/mainwindow.cpp | 29 -----------------------------
 1 file changed, 29 deletions(-)

diff --git a/qt-ui/mainwindow.cpp b/qt-ui/mainwindow.cpp
index 1e3a89d..3ba79ef 100644
--- a/qt-ui/mainwindow.cpp
+++ b/qt-ui/mainwindow.cpp
@@ -163,36 +163,7 @@ MainWindow::MainWindow() : QMainWindow(),
 	memset(&copyPasteDive, 0, sizeof(copyPasteDive));
 	memset(&what, 0, sizeof(what));
 
-
-	// and now for some layout hackery
-	// this gets us consistent margins everywhere and a much more balanced look
-	QMargins margins(5, 5, 5, 5);
-	QMargins zeroMargins(0, 0, 0, 0);
-	QList<QString> noMarginList;
-	noMarginList << "notesAndSocialNetworksLayout" <<
-			"coordinatesDiveTypeLayout" <<
-			"mainTabOuterLayout" <<
-			"ratingVisibilityWidgets" <<
-			"temperatureLabels" <<
-			"airWaterTempLayout" <<
-			"fullWindowLayout" <<
-			"profileOuterLayout";
-	Q_FOREACH (QLayout *layout, findChildren<QLayout *>()) {
-		// lots of internally used layouts by Qt have no names
-		// don't mess with those (or scroll bars look terrible, among other things
-		if (layout->objectName().isEmpty())
-			continue;
-		// this allows us to exclude specific layouts where the one size fits all
-		// doesn't fit
-		if (noMarginList.contains(layout->objectName()))
-			layout->setContentsMargins(zeroMargins);
-		else
-			layout->setContentsMargins(margins);
-	}
-	toolBar->setContentsMargins(zeroMargins);
-
 	updateManager = new UpdateManager(this);
-
 	undoStack = new QUndoStack(this);
 	QAction *undoAction = undoStack->createUndoAction(this, tr("&Undo"));
 	QAction *redoAction = undoStack->createRedoAction(this, tr("&Redo"));
-- 
2.4.1

From 913f4ade1f8ade0f116cc320dc194b5e97a4a454 Mon Sep 17 00:00:00 2001
From: Tomaz Canabrava <[email protected]>
Date: Mon, 25 May 2015 13:34:15 -0300
Subject: [PATCH 01/13] Use group of files to show the project hierarchy

This doesn't works on QtCreator yet - but it's the
documented way on CMake to display the project yerarchy
on some IDE's ( the one that I know that it works is
Visual Studio ), even knowing that this doesn't works
on QtCreator, it's a valid change because someone can
fix creator in the future.

Signed-off-by: Tomaz Canabrava <[email protected]>
---
 CMakeLists.txt | 24 ++++++++----------------
 1 file changed, 8 insertions(+), 16 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index cb1ff66..15313b0 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -17,7 +17,6 @@ set(CMAKE_MODULE_PATH ${${PROJECT_NAME}_SOURCE_DIR}/cmake/Modules)
 include_directories(. ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_BINARY_DIR} qt-ui qt-ui/profile)
 
 # compiler specific settings
-
 if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUXX)
 	set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=gnu99 ")
 endif()
@@ -33,7 +32,6 @@ pkg_config_library(LIBZIP libzip REQUIRED)
 pkg_config_library(LIBUSB libusb-1.0 QUIET)
 
 # more libraries with special handling in case we build them ourselves
-
 if(LIBGIT2_FROM_PKGCONFIG)
 	pkg_config_library(LIBGIT2 libgit2 REQUIRED)
 	set(LIBGIT2_LIBRARIES "")
@@ -51,7 +49,6 @@ else()
 endif()
 
 # optional marble
-
 if(NOT NO_MARBLE)
 	find_package(Marble QUIET)
 	if(MARBLE_FOUND)
@@ -70,7 +67,6 @@ endif()
 set(SUBSURFACE_LINK_LIBRARIES ${SUBSURFACE_LINK_LIBRARIES} ${LIBDIVECOMPUTER_LIBRARIES} ${LIBGIT2_LIBRARIES} -lusb-1.0)
 
 # handle out of tree build correctly
-
 string(COMPARE EQUAL "${${PROJECT_NAME}_SOURCE_DIR}" "${${PROJECT_NAME}_BINARY_DIR}" insource)
 get_filename_component(PARENTDIR ${${PROJECT_NAME}_SOURCE_DIR} PATH)
 string(COMPARE EQUAL "${${PROJECT_NAME}_SOURCE_DIR}" "${PARENTDIR}" insourcesubdir)
@@ -81,13 +77,11 @@ if(NOT (insource OR insourcedir))
 endif()
 
 # configure Qt.
-
 find_package(Qt5 REQUIRED COMPONENTS Core Concurrent Widgets Network WebKitWidgets PrintSupport Svg Test LinguistTools)
 set(QT_LIBRARIES Qt5::Core Qt5::Concurrent Qt5::Widgets Qt5::Network Qt5::WebKitWidgets Qt5::PrintSupport Qt5::Svg)
 set(QT_TEST_LIBRARIES ${QT_LIBRARIES} Qt5::Test)
 
 # Generate the ssrf-config.h every 'make'
-
 file(WRITE ${CMAKE_BINARY_DIR}/version.h.in
 "#define VERSION_STRING \"@VERSION_STRING@\"
 #define GIT_VERSION_STRING \"@GIT_VERSION_STRING@\"
@@ -143,7 +137,6 @@ add_custom_target(
 )
 
 # set up the different target platforms
-
 set(PLATFORM_SRC unknown_platform.c)
 if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
 	set(FBSUPPORT 1)
@@ -183,7 +176,6 @@ endif()
 add_subdirectory(translations)
 
 # compile the core library, in C.
-
 set(SUBSURFACE_CORE_LIB_SRCS
 	cochran.c
 	datatrak.c
@@ -229,13 +221,14 @@ set(SUBSURFACE_CORE_LIB_SRCS
 	divesitehelpers.cpp
 	${PLATFORM_SRC}
 )
+source_group("Subsurface Core" FILES ${SUBSURFACE_CORE_LIB_SRCS})
 
 if(FBSUPPORT)
 	add_definitions(-DFBSUPPORT)
 	set(SOCIALNETWORKS qt-ui/socialnetworks.cpp)
 endif()
-# the interface, in C++
 
+# the interface, in C++
 set(SUBSURFACE_INTERFACE
 	qt-ui/updatemanager.cpp
 	qt-ui/about.cpp
@@ -276,9 +269,9 @@ set(SUBSURFACE_INTERFACE
 	qt-ui/qtwaitingspinner.cpp
 	${SOCIALNETWORKS}
 )
+source_group("Subsurface Interface" FILES ${SUBSURFACE_INTERFACE})
 
 # the profile widget
-
 set(SUBSURFACE_PROFILE_LIB_SRCS
 	qt-ui/profile/profilewidget2.cpp
 	qt-ui/profile/diverectitem.cpp
@@ -294,29 +287,30 @@ set(SUBSURFACE_PROFILE_LIB_SRCS
 	qt-ui/profile/ruleritem.cpp
 	qt-ui/profile/tankitem.cpp
 )
+source_group("Subsurface Profile" FILES ${SUBSURFACE_PROFILE_LIB_SRCS})
 
 # the yearly statistics widget.
-
 set(SUBSURFACE_STATISTICS_LIB_SRCS
 	qt-ui/statistics/statisticswidget.cpp
 	qt-ui/statistics/yearstatistics.cpp
 	qt-ui/statistics/statisticsbar.cpp
 	qt-ui/statistics/monthstatistics.cpp
 )
+source_group("Subsurface Statistics" FILES ${SUBSURFACE_STATISTICS_LIB_SRCS})
 
 # the main app.
-
 set(SUBSURFACE_APP
 	main.cpp
 	qt-gui.cpp
 	qthelper.cpp
 )
+source_group("Subsurface App" FILES ${SUBSURFACE_APP})
 
 # create the libraries
-
 file(GLOB SUBSURFACE_UI qt-ui/*.ui)
 qt5_wrap_ui(SUBSURFACE_UI_HDRS ${SUBSURFACE_UI})
 qt5_add_resources(SUBSURFACE_RESOURCES subsurface.qrc)
+source_group("Subsurface Interface Files" FILES ${SUBSURFACE_UI})
 
 add_library(subsurface_corelib STATIC ${SUBSURFACE_CORE_LIB_SRCS} )
 target_link_libraries(subsurface_corelib ${QT_LIBRARIES})
@@ -337,7 +331,6 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
 endif()
 
 # create the executables
-
 add_executable(${SUBSURFACE_TARGET} MACOSX_BUNDLE WIN32 ${SUBSURFACE_PKG} ${SUBSURFACE_APP} ${SUBSURFACE_RESOURCES})
 target_link_libraries(
 	${SUBSURFACE_TARGET}
@@ -369,7 +362,6 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Windows")
 endif()
 
 # QTest based tests
-
 macro(TEST NAME FILE)
 	add_executable(${NAME} EXCLUDE_FROM_ALL tests/${FILE} ${SUBSURFACE_RESOURCES})
 	target_link_libraries(${NAME} subsurface_corelib ${QT_TEST_LIBRARIES} ${SUBSURFACE_LINK_LIBRARIES})
@@ -399,7 +391,6 @@ endif()
 
 # install Subsurface
 # first some variables with files that need installing
-
 set(DOCFILES
 	README
 	ReleaseNotes/ReleaseNotes.txt
@@ -561,3 +552,4 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
 		)
 	endif()
 endif()
+
-- 
2.4.1

_______________________________________________
subsurface mailing list
[email protected]
http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface

Reply via email to