* mainly class constructor initialize list updates
* some initialize list reorder
* some class static instance() function member removal
* some lazy stucture initializations
From 17e2ce418ffc0f4b72ae6ebfc42dbbc1446583bf Mon Sep 17 00:00:00 2001
From: Boris Barbulovski <[email protected]>
Date: Sun, 9 Feb 2014 17:51:19 +0100
Subject: [PATCH 01/17] Cleanup SubsurfaceWebServices class

* Remove statuic SubsurfaceWebServices::instance() member.

Signed-off-by: Boris Barbulovski <[email protected]>
---
 qt-ui/mainwindow.cpp            | 4 +++-
 qt-ui/subsurfacewebservices.cpp | 7 -------
 qt-ui/subsurfacewebservices.h   | 3 +--
 3 files changed, 4 insertions(+), 10 deletions(-)

diff --git a/qt-ui/mainwindow.cpp b/qt-ui/mainwindow.cpp
index a477bbd..537da82 100644
--- a/qt-ui/mainwindow.cpp
+++ b/qt-ui/mainwindow.cpp
@@ -277,7 +277,9 @@ void MainWindow::on_actionDownloadDC_triggered()
 
 void MainWindow::on_actionDownloadWeb_triggered()
 {
-	SubsurfaceWebServices::instance()->exec();
+	SubsurfaceWebServices dlg(this);
+
+	dlg.exec();
 }
 
 void MainWindow::on_actionDivelogs_de_triggered()
diff --git a/qt-ui/subsurfacewebservices.cpp b/qt-ui/subsurfacewebservices.cpp
index 08cf723..80d064d 100644
--- a/qt-ui/subsurfacewebservices.cpp
+++ b/qt-ui/subsurfacewebservices.cpp
@@ -310,13 +310,6 @@ void WebServices::resetState()
 // #
 // #
 
-SubsurfaceWebServices* SubsurfaceWebServices::instance()
-{
-	static SubsurfaceWebServices *self = new SubsurfaceWebServices(mainWindow());
-	self->setAttribute(Qt::WA_QuitOnClose, false);
-	return self;
-}
-
 SubsurfaceWebServices::SubsurfaceWebServices(QWidget* parent, Qt::WindowFlags f)
 {
 	QSettings s;
diff --git a/qt-ui/subsurfacewebservices.h b/qt-ui/subsurfacewebservices.h
index a8478d9..400f408 100644
--- a/qt-ui/subsurfacewebservices.h
+++ b/qt-ui/subsurfacewebservices.h
@@ -47,7 +47,7 @@ protected:
 class SubsurfaceWebServices : public WebServices {
 	Q_OBJECT
 public:
-	static SubsurfaceWebServices* instance();
+	explicit SubsurfaceWebServices(QWidget* parent = 0, Qt::WindowFlags f = 0);
 
 private slots:
 	void startDownload();
@@ -56,7 +56,6 @@ private slots:
 	void downloadError(QNetworkReply::NetworkError error);
 	void startUpload(){} /*no op*/
 private:
-	explicit SubsurfaceWebServices(QWidget* parent = 0, Qt::WindowFlags f = 0);
 	void setStatusText(int status);
 	void download_dialog_traverse_xml(xmlNodePtr node, unsigned int *download_status);
 	unsigned int download_dialog_parse_response(const QByteArray& length);
-- 
1.8.3.2

From af5cbed054e78574b29a95ec6605724124438502 Mon Sep 17 00:00:00 2001
From: Boris Barbulovski <[email protected]>
Date: Sun, 9 Feb 2014 18:13:34 +0100
Subject: [PATCH 02/17] diveplanner.cpp cleanup

* Add missing DivePlannerPointsModel::tempDive to the constructor initialize list.
* ExpanderGraphics class: Construct pointer-variable members into initialize list,

Signed-off-by: Boris Barbulovski <[email protected]>
---
 qt-ui/diveplanner.cpp | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/qt-ui/diveplanner.cpp b/qt-ui/diveplanner.cpp
index 4e1865f..18dbc6a 100644
--- a/qt-ui/diveplanner.cpp
+++ b/qt-ui/diveplanner.cpp
@@ -1117,7 +1117,7 @@ int DivePlannerPointsModel::rowCount(const QModelIndex& parent) const
 	return divepoints.count();
 }
 
-DivePlannerPointsModel::DivePlannerPointsModel(QObject* parent): QAbstractTableModel(parent), mode(NOTHING), stagingDive(NULL)
+DivePlannerPointsModel::DivePlannerPointsModel(QObject* parent): QAbstractTableModel(parent), mode(NOTHING), tempDive(NULL), stagingDive(NULL)
 {
 	diveplan.dp = NULL;
 }
@@ -1508,13 +1508,15 @@ void DivePlannerPointsModel::createPlan()
 	CylindersModel::instance()->update();
 }
 
-ExpanderGraphics::ExpanderGraphics(QGraphicsItem* parent): QGraphicsRectItem(parent)
+ExpanderGraphics::ExpanderGraphics(QGraphicsItem* parent)
+	: QGraphicsRectItem(parent)
+	, icon(new QGraphicsPixmapItem(this))
+	, increaseBtn(new Button(0, this))
+	, decreaseBtn(new Button(0, this))
+	, bg(new QGraphicsPixmapItem(this))
+	, leftWing(new QGraphicsPixmapItem(this))
+	, rightWing(new QGraphicsPixmapItem(this))
 {
-	icon = new QGraphicsPixmapItem(this);
-	bg = new QGraphicsPixmapItem(this);
-	leftWing = new QGraphicsPixmapItem(this);
-	rightWing = new QGraphicsPixmapItem(this);
-
 	QPixmap p;
 	#define CREATE(item, pixmap) \
 	p = QPixmap(QString( pixmap ));\
@@ -1526,8 +1528,6 @@ ExpanderGraphics::ExpanderGraphics(QGraphicsItem* parent): QGraphicsRectItem(par
 	CREATE(rightWing, ":right_wing");
 	#undef CREATE
 
-	decreaseBtn = new Button(0, this);
-	increaseBtn = new Button(0, this);
 	decreaseBtn->setPixmap(QPixmap(":arrow_down"));
 	increaseBtn->setPixmap(QPixmap(":arrow_up"));
 
-- 
1.8.3.2

From 54b58f44f041baacbadebb65199412d0f80e34b0 Mon Sep 17 00:00:00 2001
From: Boris Barbulovski <[email protected]>
Date: Sun, 9 Feb 2014 18:18:54 +0100
Subject: [PATCH 03/17] DiveListView tiny cleanup

* Change 'searchBox' member type from 'QLineEdit *' to 'QLineEdit'

Signed-off-by: Boris Barbulovski <[email protected]>
---
 qt-ui/divelistview.cpp | 16 ++++++++--------
 qt-ui/divelistview.h   |  3 ++-
 2 files changed, 10 insertions(+), 9 deletions(-)

diff --git a/qt-ui/divelistview.cpp b/qt-ui/divelistview.cpp
index 50d3a8b..014f005 100644
--- a/qt-ui/divelistview.cpp
+++ b/qt-ui/divelistview.cpp
@@ -28,7 +28,7 @@
 
 
 DiveListView::DiveListView(QWidget *parent) : QTreeView(parent), mouseClickSelection(false),
-	sortColumn(0), currentOrder(Qt::DescendingOrder), searchBox(new QLineEdit(this))
+	sortColumn(0), currentOrder(Qt::DescendingOrder), searchBox(this)
 {
 	setItemDelegate(new DiveListDelegate(this));
 	setUniformRowHeights(true);
@@ -51,10 +51,10 @@ DiveListView::DiveListView(QWidget *parent) : QTreeView(parent), mouseClickSelec
 	showSearchBox->setShortcutContext(Qt::WindowShortcut);
 	addAction(showSearchBox);
 
-	searchBox->installEventFilter(this);
-	searchBox->hide();
+	searchBox.installEventFilter(this);
+	searchBox.hide();
 	connect(showSearchBox, SIGNAL(triggered(bool)), this, SLOT(showSearchEdit()));
-	connect(searchBox, SIGNAL(textChanged(QString)), model, SLOT(setFilterFixedString(QString)));
+	connect(&searchBox, SIGNAL(textChanged(QString)), model, SLOT(setFilterFixedString(QString)));
 	setupUi();
 }
 
@@ -275,8 +275,8 @@ void DiveListView::selectDives(const QList< int >& newDiveSelection)
 
 void DiveListView::showSearchEdit()
 {
-	searchBox->show();
-	searchBox->setFocus();
+	searchBox.show();
+	searchBox.setFocus();
 }
 
 bool DiveListView::eventFilter(QObject* , QEvent* event)
@@ -287,8 +287,8 @@ bool DiveListView::eventFilter(QObject* , QEvent* event)
 	if (keyEv->key() != Qt::Key_Escape)
 		return false;
 
-	searchBox->clear();
-	searchBox->hide();
+	searchBox.clear();
+	searchBox.hide();
 	QSortFilterProxyModel *m = qobject_cast<QSortFilterProxyModel*>(model());
 	m->setFilterFixedString(QString());
 	return true;
diff --git a/qt-ui/divelistview.h b/qt-ui/divelistview.h
index 99b8fce..02efac3 100644
--- a/qt-ui/divelistview.h
+++ b/qt-ui/divelistview.h
@@ -12,6 +12,7 @@
 */
 
 #include <QTreeView>
+#include <QLineEdit>
 #include "models.h"
 
 class DiveListView : public QTreeView
@@ -61,7 +62,7 @@ private:
 	int sortColumn;
 	Qt::SortOrder currentOrder;
 	DiveTripModel::Layout currentLayout;
-	QLineEdit *searchBox;
+	QLineEdit searchBox;
 	QModelIndex contextMenuIndex;
 
 	/* if dive_trip_t is null, there's no problem. */
-- 
1.8.3.2

From ec19f8c498a1f1d94838e25f460fd6e1a41da023 Mon Sep 17 00:00:00 2001
From: Boris Barbulovski <[email protected]>
Date: Sun, 9 Feb 2014 18:27:48 +0100
Subject: [PATCH 04/17] DivelogsDeWebServices class cleanup

* Initialize DivelogsDeWebServices::uploadMode in initialize list, instead of constructor body expression.

Signed-off-by: Boris Barbulovski <[email protected]>
---
 qt-ui/subsurfacewebservices.cpp | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/qt-ui/subsurfacewebservices.cpp b/qt-ui/subsurfacewebservices.cpp
index 80d064d..4df563a 100644
--- a/qt-ui/subsurfacewebservices.cpp
+++ b/qt-ui/subsurfacewebservices.cpp
@@ -617,9 +617,10 @@ void DivelogsDeWebServices::uploadDives(QIODevice *dldContent)
 	}
 }
 
-DivelogsDeWebServices::DivelogsDeWebServices(QWidget* parent, Qt::WindowFlags f): WebServices(parent, f)
+DivelogsDeWebServices::DivelogsDeWebServices(QWidget* parent, Qt::WindowFlags f)
+	: WebServices(parent, f)
+	, uploadMode(false)
 {
-	uploadMode = false;
 	QSettings s;
 	ui.userID->setText(s.value("divelogde_user").toString());
 	ui.password->setText(s.value("divelogde_pass").toString());
-- 
1.8.3.2

From 370bc00cf4734fdf23dc60465f5932c224534cac Mon Sep 17 00:00:00 2001
From: Boris Barbulovski <[email protected]>
Date: Sun, 9 Feb 2014 18:35:23 +0100
Subject: [PATCH 05/17] Indent fix

* Fix tagwidget.h indent.

Signed-off-by: Boris Barbulovski <[email protected]>
---
 qt-ui/tagwidget.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/qt-ui/tagwidget.h b/qt-ui/tagwidget.h
index 1f5cc2d..b69bbdc 100644
--- a/qt-ui/tagwidget.h
+++ b/qt-ui/tagwidget.h
@@ -18,12 +18,12 @@ public:
 	void setCursorPosition(int position);
 	void wheelEvent(QWheelEvent *event);
 public slots:
-        void reparse();
+	void reparse();
 	void completionSelected(QString);
 protected:
 	void keyPressEvent(QKeyEvent *e);
 private:
-        QCompleter *m_completer;
+	QCompleter *m_completer;
 };
 
 #endif /* __TAGWIDGET_H */
-- 
1.8.3.2

From d389153d0874537edb3a79aa5a6fb65043ec5040 Mon Sep 17 00:00:00 2001
From: Boris Barbulovski <[email protected]>
Date: Sun, 9 Feb 2014 18:37:40 +0100
Subject: [PATCH 06/17] Initialize variable members in DiveCartesianAxis class.

* Initialize variable members in DiveCartesianAxis class.

Note: Initialized values I put needs to be doublechecked.

Signed-off-by: Boris Barbulovski <[email protected]>
---
 qt-ui/profile/divecartesianaxis.cpp | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/qt-ui/profile/divecartesianaxis.cpp b/qt-ui/profile/divecartesianaxis.cpp
index fc43c5a..97f3ced 100644
--- a/qt-ui/profile/divecartesianaxis.cpp
+++ b/qt-ui/profile/divecartesianaxis.cpp
@@ -60,7 +60,15 @@ void DiveCartesianAxis::setTextColor(const QColor& color)
 	textColor = color;
 }
 
-DiveCartesianAxis::DiveCartesianAxis() : orientation(LeftToRight)
+DiveCartesianAxis::DiveCartesianAxis()
+	: QObject()
+	, QGraphicsLineItem()
+	, unitSystem(0)
+	, orientation(LeftToRight)
+	, min(0)
+	, max(0)
+	, interval(1)
+	, tick_size(0)
 {
 	setPen(gridPen());
 }
-- 
1.8.3.2

From 87f99140726a446656c9c2ae21eac1152229c5a4 Mon Sep 17 00:00:00 2001
From: Boris Barbulovski <[email protected]>
Date: Sun, 9 Feb 2014 18:47:56 +0100
Subject: [PATCH 07/17] DivePlotDataModel improvements

* Add missing improvements::diveId variable member to the initialize list.
* Cleanup DivePlotDataModel::pInfo structure instead only one member.

Signed-off-by: Boris Barbulovski <[email protected]>
---
 qt-ui/profile/diveplotdatamodel.cpp | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/qt-ui/profile/diveplotdatamodel.cpp b/qt-ui/profile/diveplotdatamodel.cpp
index 31941fe..d755a3e 100644
--- a/qt-ui/profile/diveplotdatamodel.cpp
+++ b/qt-ui/profile/diveplotdatamodel.cpp
@@ -8,9 +8,11 @@
 #include "divelist.h"
 #include <QDebug>
 
-DivePlotDataModel::DivePlotDataModel(QObject* parent): QAbstractTableModel(parent)
+DivePlotDataModel::DivePlotDataModel(QObject* parent)
+	: QAbstractTableModel(parent)
+	, diveId(0)
 {
-	pInfo.nr = 0;
+	memset(&pInfo, 0, sizeof(pInfo));
 }
 
 int DivePlotDataModel::columnCount(const QModelIndex& parent) const
-- 
1.8.3.2

From 627629f18cdea89b38d6427bd82cf5e1535241df Mon Sep 17 00:00:00 2001
From: Boris Barbulovski <[email protected]>
Date: Sun, 9 Feb 2014 18:54:25 +0100
Subject: [PATCH 08/17] diveprofileitem.cpp improvements

* Initialize/construct all variable members in constructor list.

Signed-off-by: Boris Barbulovski <[email protected]>
---
 qt-ui/profile/diveprofileitem.cpp | 12 +++++++-----
 qt-ui/profile/diveprofileitem.h   |  1 +
 2 files changed, 8 insertions(+), 5 deletions(-)

diff --git a/qt-ui/profile/diveprofileitem.cpp b/qt-ui/profile/diveprofileitem.cpp
index f60437e..214fd1e 100644
--- a/qt-ui/profile/diveprofileitem.cpp
+++ b/qt-ui/profile/diveprofileitem.cpp
@@ -100,6 +100,11 @@ void AbstractProfilePolygonItem::modelDataChanged(const QModelIndex& topLeft, co
 	texts.clear();
 }
 
+DiveProfileItem::DiveProfileItem() : show_reported_ceiling(0), reported_ceiling_in_red(0)
+{
+
+}
+
 void DiveProfileItem::paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget) {
 	Q_UNUSED(widget);
 
@@ -383,9 +388,8 @@ void DiveGasPressureItem::paint(QPainter* painter, const QStyleOptionGraphicsIte
 	}
 }
 
-DiveCalculatedCeiling::DiveCalculatedCeiling()
+DiveCalculatedCeiling::DiveCalculatedCeiling() : is3mIncrement(false), gradientFactor(new DiveTextItem(this))
 {
-	gradientFactor = new DiveTextItem(this);
 	gradientFactor->setY(0);
 	gradientFactor->setBrush(getColor(PRESSURE_TEXT));
 	gradientFactor->setAlignment(Qt::AlignHCenter | Qt::AlignBottom);
@@ -489,12 +493,10 @@ void DiveReportedCeiling::paint(QPainter* painter, const QStyleOptionGraphicsIte
 	QGraphicsPolygonItem::paint(painter, option, widget);
 }
 
-MeanDepthLine::MeanDepthLine()
+MeanDepthLine::MeanDepthLine() : meanDepth(0), leftText(new DiveTextItem(this)), rightText(new DiveTextItem(this))
 {
-	leftText = new DiveTextItem(this);
 	leftText->setAlignment(Qt::AlignRight | Qt::AlignBottom);
 	leftText->setBrush(getColor(MEAN_DEPTH));
-	rightText = new DiveTextItem(this);
 	rightText->setAlignment(Qt::AlignLeft | Qt::AlignBottom);
 	rightText->setBrush(getColor(MEAN_DEPTH));
 	leftText->setPos(0, 0);
diff --git a/qt-ui/profile/diveprofileitem.h b/qt-ui/profile/diveprofileitem.h
index 1f9fa26..80c8407 100644
--- a/qt-ui/profile/diveprofileitem.h
+++ b/qt-ui/profile/diveprofileitem.h
@@ -66,6 +66,7 @@ class DiveProfileItem : public AbstractProfilePolygonItem{
 	Q_OBJECT
 
 public:
+	DiveProfileItem();
 	virtual void paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget = 0);
 	virtual void modelDataChanged(const QModelIndex& topLeft = QModelIndex(), const QModelIndex& bottomRight = QModelIndex());
 	virtual void preferencesChanged();
-- 
1.8.3.2

From 003ee5a768dbf734a7f272d5e894a3d4aeb97817 Mon Sep 17 00:00:00 2001
From: Boris Barbulovski <[email protected]>
Date: Sun, 9 Feb 2014 19:00:03 +0100
Subject: [PATCH 09/17] DiveTextItem improvements

* Add colorIndex to initialize list.
* Reorder initialize to correct order.

Note: colorIndex initialize value is set too SAC_DEFAULT. I do not what is the rigth value since this variable member is not used anywhere.

Signed-off-by: Boris Barbulovski <[email protected]>
---
 qt-ui/profile/divetextitem.cpp | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/qt-ui/profile/divetextitem.cpp b/qt-ui/profile/divetextitem.cpp
index b939c54..bc19d07 100644
--- a/qt-ui/profile/divetextitem.cpp
+++ b/qt-ui/profile/divetextitem.cpp
@@ -10,9 +10,10 @@
 #include <QDebug>
 
 DiveTextItem::DiveTextItem(QGraphicsItem* parent): QGraphicsItemGroup(parent),
+	internalAlignFlags(Qt::AlignHCenter | Qt::AlignVCenter),
 	textBackgroundItem(NULL),
 	textItem(NULL),
-	internalAlignFlags(Qt::AlignHCenter | Qt::AlignVCenter)
+	colorIndex(SAC_DEFAULT)
 {
 	setFlag(ItemIgnoresTransformations);
 }
-- 
1.8.3.2

From 8bdf47c878781e49f108f25127ba85da996d92c5 Mon Sep 17 00:00:00 2001
From: Boris Barbulovski <[email protected]>
Date: Sun, 9 Feb 2014 19:04:59 +0100
Subject: [PATCH 10/17] ToolTipItem class improvements

* Initialize every ToolTipItem variable member in initialize list.

Signed-off-by: Boris Barbulovski <[email protected]>
---
 qt-ui/profile/divetooltipitem.cpp | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/qt-ui/profile/divetooltipitem.cpp b/qt-ui/profile/divetooltipitem.cpp
index 26d19ec..a56cda2 100644
--- a/qt-ui/profile/divetooltipitem.cpp
+++ b/qt-ui/profile/divetooltipitem.cpp
@@ -135,12 +135,17 @@ void ToolTipItem::expand()
 	status = EXPANDED;
 }
 
-ToolTipItem::ToolTipItem(QGraphicsItem* parent): QGraphicsPathItem(parent), background(0)
+ToolTipItem::ToolTipItem(QGraphicsItem* parent)
+	: QGraphicsPathItem(parent)
+	, background(0)
+	, separator(new QGraphicsLineItem(this))
+	, title(new QGraphicsSimpleTextItem(tr("Information"), this))
+	, status(COLLAPSED)
+	, timeAxis(0)
 {
-	title = new QGraphicsSimpleTextItem(tr("Information"), this);
-	separator = new QGraphicsLineItem(this);
+	memset(&pInfo, 0, sizeof(pInfo));
+
 	setFlags(ItemIgnoresTransformations | ItemIsMovable | ItemClipsChildrenToShape);
-	status = COLLAPSED;
 	updateTitlePosition();
 	setZValue(99);
 }
-- 
1.8.3.2

From 09ef8b4393bf73687c922d4860cd7ccf5aef4c10 Mon Sep 17 00:00:00 2001
From: Boris Barbulovski <[email protected]>
Date: Sun, 9 Feb 2014 19:11:17 +0100
Subject: [PATCH 11/17] ProfileWidget2 class improvements

* Reorder ProfileWidget2 class constructor initialize list.
* Initialize(lazy) ProfileWidget2::plotInfo structure.

Signed-off-by: Boris Barbulovski <[email protected]>
---
 qt-ui/profile/profilewidget2.cpp | 6 ++++--
 qt-ui/profile/profilewidget2.h   | 2 +-
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/qt-ui/profile/profilewidget2.cpp b/qt-ui/profile/profilewidget2.cpp
index 76c560f..0f38e5f 100644
--- a/qt-ui/profile/profilewidget2.cpp
+++ b/qt-ui/profile/profilewidget2.cpp
@@ -63,10 +63,10 @@ ProfileWidget2::ProfileWidget2(QWidget *parent) :
 	temperatureAxis(new TemperatureAxis()),
 	timeAxis(new TimeAxis()),
 	diveProfileItem(new DiveProfileItem()),
-	cylinderPressureAxis(new DiveCartesianAxis()),
+	cartesianPlane(new DiveCartesianPlane()),
 	temperatureItem(new DiveTemperatureItem()),
+	cylinderPressureAxis(new DiveCartesianAxis()),
 	gasPressureItem(new DiveGasPressureItem()),
-	cartesianPlane(new DiveCartesianPlane()),
 	meanDepth(new MeanDepthLine()),
 	diveComputerText(new DiveTextItem()),
 	diveCeiling(new DiveCalculatedCeiling()),
@@ -75,6 +75,8 @@ ProfileWidget2::ProfileWidget2(QWidget *parent) :
 	pheGasItem( new PartialPressureGasItem()),
 	po2GasItem( new PartialPressureGasItem())
 {
+	memset(&plotInfo, 0, sizeof(plotInfo));
+
 	setupSceneAndFlags();
 	setupItemSizes();
 	setupItemOnScene();
diff --git a/qt-ui/profile/profilewidget2.h b/qt-ui/profile/profilewidget2.h
index ebc45f4..605d93f 100644
--- a/qt-ui/profile/profilewidget2.h
+++ b/qt-ui/profile/profilewidget2.h
@@ -81,7 +81,7 @@ private:
 	// So it's esyer to replicate for more dives later.
 	// In the meantime, keep it here.
 	struct plot_info *plotInfo;
-	DepthAxis *profileYAxis ;
+	DepthAxis *profileYAxis;
 	PartialGasPressureAxis *gasYAxis;
 	TemperatureAxis *temperatureAxis;
 	TimeAxis *timeAxis;
-- 
1.8.3.2

From 38e5025f0c9f1643bb58af65d2539b99bc3ca261 Mon Sep 17 00:00:00 2001
From: Boris Barbulovski <[email protected]>
Date: Sun, 9 Feb 2014 19:30:52 +0100
Subject: [PATCH 12/17] diveplanner.cpp improvements

* Add missing variable members to the initializer lists.
* Add *lazy* structure initializations.

Signed-off-by: Boris Barbulovski <[email protected]>
---
 qt-ui/diveplanner.cpp | 48 +++++++++++++++++++++++-------------------------
 qt-ui/diveplanner.h   |  2 +-
 2 files changed, 24 insertions(+), 26 deletions(-)

diff --git a/qt-ui/diveplanner.cpp b/qt-ui/diveplanner.cpp
index 18dbc6a..d85f08b 100644
--- a/qt-ui/diveplanner.cpp
+++ b/qt-ui/diveplanner.cpp
@@ -52,7 +52,20 @@ QColor getColor(const color_indice_t i)
 
 static DivePlannerPointsModel *plannerModel = DivePlannerPointsModel::instance();
 
-DivePlannerGraphics::DivePlannerGraphics(QWidget* parent): QGraphicsView(parent), activeDraggedHandler(0)
+DivePlannerGraphics::DivePlannerGraphics(QWidget* parent)
+	: QGraphicsView(parent)
+	, verticalLine(new QGraphicsLineItem(fromPercent(0, Qt::Horizontal), fromPercent(0, Qt::Vertical), fromPercent(0, Qt::Horizontal), fromPercent(100, Qt::Vertical)))
+	, horizontalLine(new QGraphicsLineItem(fromPercent(0, Qt::Horizontal), fromPercent(0, Qt::Vertical), fromPercent(100, Qt::Horizontal), fromPercent(0, Qt::Vertical)))
+	, activeDraggedHandler(0)
+	, diveBg(new QGraphicsPolygonItem())
+	, timeLine(new Ruler())
+	, timeString(new QGraphicsSimpleTextItem())
+	, depthString(new QGraphicsSimpleTextItem())
+	, depthHandler(new ExpanderGraphics())
+	, timeHandler(new ExpanderGraphics())
+	, minMinutes(TIME_INITIAL_MAX)
+	, minDepth(M_OR_FT(40,120))
+	, dpMaxTime(0)
 {
 	fill_profile_color();
 	setBackgroundBrush(profile_color[BACKGROUND].at(0));
@@ -60,27 +73,12 @@ DivePlannerGraphics::DivePlannerGraphics(QWidget* parent): QGraphicsView(parent)
 	setScene(new QGraphicsScene());
 	scene()->setSceneRect(0,0,1920,1080);
 
-	verticalLine = new QGraphicsLineItem(
-		fromPercent(0, Qt::Horizontal),
-		fromPercent(0, Qt::Vertical),
-		fromPercent(0, Qt::Horizontal),
-		fromPercent(100, Qt::Vertical)
-	);
-
 	verticalLine->setPen(QPen(Qt::DotLine));
 	scene()->addItem(verticalLine);
 
-	horizontalLine = new QGraphicsLineItem(
-		fromPercent(0, Qt::Horizontal),
-		fromPercent(0, Qt::Vertical),
-		fromPercent(100, Qt::Horizontal),
-		fromPercent(0, Qt::Vertical)
-	);
-
 	horizontalLine->setPen(QPen(Qt::DotLine));
 	scene()->addItem(horizontalLine);
 
-	timeLine = new Ruler();
 	timeLine->setMinimum(0);
 	timeLine->setMaximum(TIME_INITIAL_MAX);
 	timeLine->setTickInterval(10);
@@ -115,17 +113,14 @@ DivePlannerGraphics::DivePlannerGraphics(QWidget* parent): QGraphicsView(parent)
 	depthLine->unitSystem = prefs.units.length;
 	scene()->addItem(depthLine);
 
-	timeString = new QGraphicsSimpleTextItem();
 	timeString->setFlag(QGraphicsItem::ItemIgnoresTransformations);
 	timeString->setBrush(profile_color[TIME_TEXT].at(0));
 	scene()->addItem(timeString);
 
-	depthString = new QGraphicsSimpleTextItem();
 	depthString->setFlag(QGraphicsItem::ItemIgnoresTransformations);
 	depthString->setBrush(profile_color[SAMPLE_DEEP].at(0));
 	scene()->addItem(depthString);
 
-	diveBg = new QGraphicsPolygonItem();
 	diveBg->setPen(QPen(QBrush(),0));
 	scene()->addItem(diveBg);
 
@@ -135,7 +130,6 @@ DivePlannerGraphics::DivePlannerGraphics(QWidget* parent): QGraphicsView(parent)
 	else
 		incrText = tr("30ft");
 
-	timeHandler = new ExpanderGraphics();
 	timeHandler->increaseBtn->setPixmap(QString(":plan_plus"));
 	timeHandler->decreaseBtn->setPixmap(QString(":plan_minus"));
 	timeHandler->icon->setPixmap(QString(":icon_time"));
@@ -145,7 +139,6 @@ DivePlannerGraphics::DivePlannerGraphics(QWidget* parent): QGraphicsView(parent)
 	timeHandler->setZValue(-2);
 	scene()->addItem(timeHandler);
 
-	depthHandler = new ExpanderGraphics();
 	depthHandler->increaseBtn->setPixmap(QString(":arrow_up"));
 	depthHandler->decreaseBtn->setPixmap(QString(":arrow_down"));
 	depthHandler->icon->setPixmap(QString(":icon_depth"));
@@ -157,8 +150,6 @@ DivePlannerGraphics::DivePlannerGraphics(QWidget* parent): QGraphicsView(parent)
 	depthHandler->setZValue(-2);
 	scene()->addItem(depthHandler);
 
-	minMinutes = TIME_INITIAL_MAX;
-	minDepth = M_OR_FT(40,120);
 	QAction *action = NULL;
 
 #define ADD_ACTION( SHORTCUT, Slot ) \
@@ -790,7 +781,13 @@ void Ruler::eraseAll()
 	labels.clear();
 }
 
-Ruler::Ruler() : orientation(Qt::Horizontal)
+Ruler::Ruler()
+	: unitSystem(0)
+	, orientation(Qt::Horizontal)
+	, min(0)
+	, max(0)
+	, interval(0)
+	, tickSize(0)
 {
 }
 
@@ -1119,7 +1116,8 @@ int DivePlannerPointsModel::rowCount(const QModelIndex& parent) const
 
 DivePlannerPointsModel::DivePlannerPointsModel(QObject* parent): QAbstractTableModel(parent), mode(NOTHING), tempDive(NULL), stagingDive(NULL)
 {
-	diveplan.dp = NULL;
+	memset(&diveplan, 0, sizeof(diveplan));
+	memset(&backupDive, 0, sizeof(backupDive));
 }
 
 DivePlannerPointsModel* DivePlannerPointsModel::instance()
diff --git a/qt-ui/diveplanner.h b/qt-ui/diveplanner.h
index 95dc31f..5ed5b05 100644
--- a/qt-ui/diveplanner.h
+++ b/qt-ui/diveplanner.h
@@ -179,7 +179,7 @@ private slots:
 	void increaseTime();
 	void increaseDepth();
 	void decreaseTime();
-	void decreaseDepth();;
+	void decreaseDepth();
 	void drawProfile();
 	void pointInserted(const QModelIndex&, int start, int end);
 	void pointsRemoved(const QModelIndex&, int start, int end);
-- 
1.8.3.2

From fbfacbc1afa33deeaa985ec3c86d28916949c661 Mon Sep 17 00:00:00 2001
From: Boris Barbulovski <[email protected]>
Date: Sun, 9 Feb 2014 19:34:35 +0100
Subject: [PATCH 13/17] more diveplanner.cpp improvements

* Move variable members construction to the initializer lists.

Signed-off-by: Boris Barbulovski <[email protected]>
---
 qt-ui/diveplanner.cpp | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/qt-ui/diveplanner.cpp b/qt-ui/diveplanner.cpp
index d85f08b..2785c8a 100644
--- a/qt-ui/diveplanner.cpp
+++ b/qt-ui/diveplanner.cpp
@@ -907,10 +907,12 @@ void Ruler::setColor(const QColor& color)
 	setPen(defaultPen);
 }
 
-Button::Button(QObject* parent, QGraphicsItem *itemParent): QObject(parent), QGraphicsRectItem(itemParent)
+Button::Button(QObject* parent, QGraphicsItem *itemParent)
+	: QObject(parent)
+	, QGraphicsRectItem(itemParent)
+	, icon(new QGraphicsPixmapItem(this))
+	, text(new QGraphicsSimpleTextItem(this))
 {
-	icon = new QGraphicsPixmapItem(this);
-	text = new QGraphicsSimpleTextItem(this);
 	icon->setPos(0,0);
 	text->setPos(0,0);
 	setFlag(ItemIgnoresTransformations);
-- 
1.8.3.2

From 788b92e8f8fc2d5789e6d71f858bf8a00ccdee27 Mon Sep 17 00:00:00 2001
From: Boris Barbulovski <[email protected]>
Date: Sun, 9 Feb 2014 19:38:26 +0100
Subject: [PATCH 14/17] downloadfromdivecomputer.cpp improvements

* Add missing variable members to the initializer lists.


Signed-off-by: Boris Barbulovski <[email protected]>
---
 qt-ui/downloadfromdivecomputer.cpp | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)

diff --git a/qt-ui/downloadfromdivecomputer.cpp b/qt-ui/downloadfromdivecomputer.cpp
index 3148a56..9c08f4b 100644
--- a/qt-ui/downloadfromdivecomputer.cpp
+++ b/qt-ui/downloadfromdivecomputer.cpp
@@ -36,9 +36,16 @@ namespace DownloadFromDcGlobal {
 	const char *err_string;
 };
 
-DownloadFromDCWidget::DownloadFromDCWidget(QWidget* parent, Qt::WindowFlags f) :
-	QDialog(parent, f), thread(0), timer(new QTimer(this)),
-	dumpWarningShown(false), currentState(INITIAL)
+DownloadFromDCWidget::DownloadFromDCWidget(QWidget* parent, Qt::WindowFlags f)
+	: QDialog(parent, f)
+	, thread(0)
+	, downloading(false)
+	, previousLast(0)
+	, vendorModel(0)
+	, productModel(0)
+	, timer(new QTimer(this))
+	, dumpWarningShown(false)
+	, currentState(INITIAL)
 {
 	ui.setupUi(this);
 	ui.progressBar->hide();
-- 
1.8.3.2

From 1c6db09da6b37e414a6ffb5e7de81853efce9124 Mon Sep 17 00:00:00 2001
From: Boris Barbulovski <[email protected]>
Date: Sun, 9 Feb 2014 19:41:47 +0100
Subject: [PATCH 15/17] globe.cpp improvements

* Add missing variable members to the initializer lists.

Signed-off-by: Boris Barbulovski <[email protected]>
---
 qt-ui/globe.cpp | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/qt-ui/globe.cpp b/qt-ui/globe.cpp
index 2aed8d4..adfa29a 100644
--- a/qt-ui/globe.cpp
+++ b/qt-ui/globe.cpp
@@ -24,7 +24,7 @@
 #include <QMouseEvent>
 #include <QMessageBox>
 
-GlobeGPS::GlobeGPS(QWidget* parent) : MarbleWidget(parent), loadedDives(0), editingDiveLocation(false)
+GlobeGPS::GlobeGPS(QWidget* parent) : MarbleWidget(parent), loadedDives(0), messageWidget(new KMessageWidget(this)), fixZoomTimer(new QTimer(this)), currentZoomLevel(0), editingDiveLocation(false)
 {
 	// check if Google Sat Maps are installed
 	// if not, check if they are in a known location
@@ -42,7 +42,6 @@ GlobeGPS::GlobeGPS(QWidget* parent) : MarbleWidget(parent), loadedDives(0), edit
 				MarbleDirs::setMarbleDataPath(subsurfaceDataPath);
 		}
 	}
-	messageWidget = new KMessageWidget(this);
 	messageWidget->setCloseButtonVisible(false);
 	messageWidget->setHidden(true);
 
@@ -68,7 +67,6 @@ GlobeGPS::GlobeGPS(QWidget* parent) : MarbleWidget(parent), loadedDives(0), edit
 
 	setMinimumHeight(0);
 	setMinimumWidth(0);
-	fixZoomTimer = new QTimer(this);
 	connect(fixZoomTimer, SIGNAL(timeout()), this, SLOT(fixZoom()));
 	fixZoomTimer->setSingleShot(true);
 	installEventFilter(this);
-- 
1.8.3.2

From 377f8305da70613b315b19b806704a82a3bad962 Mon Sep 17 00:00:00 2001
From: Boris Barbulovski <[email protected]>
Date: Sun, 9 Feb 2014 19:49:15 +0100
Subject: [PATCH 16/17] maintab.cpp improvements.

* Initialize(lazy) MainTab::multiEditEquipmentPlaceholder struct

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

diff --git a/qt-ui/maintab.cpp b/qt-ui/maintab.cpp
index 103413a..0aa683d 100644
--- a/qt-ui/maintab.cpp
+++ b/qt-ui/maintab.cpp
@@ -31,6 +31,9 @@ MainTab::MainTab(QWidget *parent) : QTabWidget(parent),
 				    editMode(NONE)
 {
 	ui.setupUi(this);
+
+	memset(&multiEditEquipmentPlaceholder, 0, sizeof(multiEditEquipmentPlaceholder));
+
 	ui.cylinders->setModel(cylindersModel);
 	ui.weights->setModel(weightModel);
 	closeMessage();
-- 
1.8.3.2

From 3ac27386944b11a6417ccbe2506436cba87ff7ae Mon Sep 17 00:00:00 2001
From: Boris Barbulovski <[email protected]>
Date: Sun, 9 Feb 2014 20:04:21 +0100
Subject: [PATCH 17/17] mainwindow.cpp improvements

* Add missing variable members to the initializer lists.

Signed-off-by: Boris Barbulovski <[email protected]>
---
 qt-ui/mainwindow.cpp | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/qt-ui/mainwindow.cpp b/qt-ui/mainwindow.cpp
index 537da82..fe483e3 100644
--- a/qt-ui/mainwindow.cpp
+++ b/qt-ui/mainwindow.cpp
@@ -43,7 +43,12 @@ MainWindow* mainWindow()
 	return instance;
 }
 
-MainWindow::MainWindow() : helpView(0)
+MainWindow::MainWindow()
+	: QMainWindow()
+	, actionNextDive(0)
+	, actionPreviousDive(0)
+	, helpView(0)
+	, state(VIEWALL)
 {
 	instance = this;
 	ui.setupUi(this);
-- 
1.8.3.2

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

Reply via email to