From f094a7a60e05eaa8cef56b1533f066da39d54b15 Mon Sep 17 00:00:00 2001
From: Dave Chamberlin-Kidd <dave@flamangoes.co.uk>
Date: Sat, 16 May 2020 23:28:10 +0100
Subject: [PATCH 05/43] Refactor: Organise object creation by feature

Grouping components ready for further refactoring
---
 src/sessionbutton.cpp | 42 +++++++++++++++++++++++-------------------
 src/sessionbutton.h   |  4 ++--
 2 files changed, 25 insertions(+), 21 deletions(-)

diff --git a/src/sessionbutton.cpp b/src/sessionbutton.cpp
index fd32c51..0fb03f4 100644
--- a/src/sessionbutton.cpp
+++ b/src/sessionbutton.cpp
@@ -81,38 +81,43 @@ SessionButton::SessionButton ( ONMainWindow* mw,QWidget *parent, QString id )
 
     sid=id;
 
+    cmd=new QLabel ( this );
+    cmd->setMouseTracking ( true );
+    cmdIcon=new QLabel ( this );
+    cmdIcon->setMouseTracking ( true );
     cmdBox=new QComboBox ( this );
     cmdBox->setMouseTracking ( true );
     cmdBox->setFrame ( false );
 
-    QPalette optionsPalette = cmdBox->palette(); 
-    setupOptionsPalette( optionsPalette );
-
-    cmdBox->setPalette ( optionsPalette );
-    geomBox=createGeometryBox( optionsPalette );
+    geomBox=createGeometryBox();
+    geom=new QLabel ( this );
+    geom->setMouseTracking ( true );
+    geomIcon=new QLabel ( this );
+    geomIcon->setMouseTracking ( true );
 
     sessName=new QLabel ( this );
-    sessStatus=new QLabel ( this );
     fnt=sessName->font();
     fnt.setBold ( true );
     sessName->setFont ( fnt );
+
+    sessStatus=new QLabel ( this );
+
     icon=new QLabel ( this );
-    cmd=new QLabel ( this );
-    cmd->setMouseTracking ( true );
-    serverIcon=new QLabel ( this );
-    geomIcon=new QLabel ( this );
-    geomIcon->setMouseTracking ( true );
-    cmdIcon=new QLabel ( this );
-    cmdIcon->setMouseTracking ( true );
+
     server=new QLabel ( this );
-    geom=new QLabel ( this );
-    geom->setMouseTracking ( true );
+    serverIcon=new QLabel ( this );
 
     sound=new QPushButton ( this );
-    soundIcon=new QLabel ( this );
-    sound->setPalette ( optionsPalette );
     sound->setFlat ( true );
     sound->setMouseTracking ( true );
+    soundIcon=new QLabel ( this );
+
+    QPalette optionsPalette = cmdBox->palette(); 
+    setupOptionsPalette ( optionsPalette );
+    cmdBox->setPalette ( optionsPalette );
+    geomBox->setPalette ( optionsPalette );
+    sound->setPalette ( optionsPalette );
+
     connect ( sound,SIGNAL ( clicked() ),this,
               SLOT ( slot_soundClicked() ) );
 
@@ -278,14 +283,13 @@ void SessionButton::setupOptionsPalette( QPalette &cpal )
     cpal.setColor ( QPalette::Window,backgroundColor );
 }
 
-QComboBox* SessionButton::createGeometryBox( const QPalette &optionsPalette )
+QComboBox* SessionButton::createGeometryBox()
 {
     QComboBox* geomBox = new QComboBox( this );
     geomBox->setMouseTracking( true );
     geomBox->setFrame( false );
     geomBox->setEditable( false );
     geomBox->update();
-    geomBox->setPalette( optionsPalette );
 
     return geomBox;
 }
diff --git a/src/sessionbutton.h b/src/sessionbutton.h
index e1a60f5..e82d279 100644
--- a/src/sessionbutton.h
+++ b/src/sessionbutton.h
@@ -89,8 +89,8 @@ private:
     bool editable;
     bool updated;
 
-    void setupOptionsPalette( QPalette &cpal );
-    QComboBox* createGeometryBox( const QPalette &optionsPalette );
+    void setupOptionsPalette ( QPalette &cpal );
+    QComboBox* createGeometryBox();
 
 private slots:
     void slotClicked();
-- 
2.27.0

