refs #742, allow to search for color liveries in livery form

(using dialog)
This commit is contained in:
Klaus Basan
2016-08-25 00:28:48 +02:00
committed by Mathew Sutcliffe
parent c5f60bc582
commit b7d689d63d
3 changed files with 111 additions and 84 deletions

View File

@@ -57,8 +57,9 @@ namespace BlackGui
// embedded form
connect(ui->editor_AirlineIcao, &CAirlineIcaoForm::airlineChanged, this, &CLiveryForm::ps_airlineChanged);
// Set as temp.livery
// Set as temp.livery or search color
connect(ui->pb_TempLivery, &QPushButton::pressed, this, &CLiveryForm::ps_setTemporaryLivery);
connect(ui->pb_SearchColor, &QPushButton::pressed, this, &CLiveryForm::ps_searchForColor);
}
CLiveryForm::~CLiveryForm() { }
@@ -204,5 +205,21 @@ namespace BlackGui
this->setValue(l);
}
}
void CLiveryForm::ps_searchForColor()
{
if (!this->m_colorSearch)
{
this->m_colorSearch = new CDbLiveryColorSearch(this);
this->m_colorSearch->setModal(true);
}
const QDialog::DialogCode c = static_cast<QDialog::DialogCode>(this->m_colorSearch->exec());
if (c == QDialog::Rejected) { return; }
const CLivery found = this->m_colorSearch->getLivery();
if (found.isLoadedFromDb())
{
this->setValue(found);
}
}
} // ns
} // ns

View File

@@ -14,6 +14,7 @@
#include "blackgui/blackguiexport.h"
#include "blackgui/editors/form.h"
#include "blackgui/components/dbliverycolorsearch.h"
#include "blackmisc/aviation/airlineicaocode.h"
#include "blackmisc/aviation/livery.h"
#include "blackmisc/statusmessagelist.h"
@@ -25,7 +26,6 @@
class QWidget;
namespace Ui { class CLiveryForm; }
namespace BlackGui
{
namespace Editors
@@ -83,10 +83,13 @@ namespace BlackGui
//! Set data for a temp.livery
void ps_setTemporaryLivery();
//! Search for color
void ps_searchForColor();
private:
QScopedPointer<Ui::CLiveryForm> ui;
BlackMisc::Aviation::CLivery m_originalLivery; //!< object allowing to override values
BlackGui::Components::CDbLiveryColorSearch *m_colorSearch = nullptr; //!< search for color
};
} // ns
} // ns

View File

@@ -6,7 +6,7 @@
<rect>
<x>0</x>
<y>0</y>
<width>221</width>
<width>361</width>
<height>422</height>
</rect>
</property>
@@ -35,29 +35,13 @@
<string>Livery</string>
</property>
<layout class="QGridLayout" name="gl_Livery">
<item row="0" column="0">
<widget class="BlackGui::CLabelAndIcon" name="lai_Id">
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
<item row="4" column="0">
<widget class="QLabel" name="lbl_Timestamp">
<property name="text">
<string>Last updated:</string>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
</widget>
</item>
<item row="0" column="3" rowspan="7">
<widget class="BlackGui::Editors::CValidationIndicator" name="val_Indicator">
<property name="minimumSize">
<size>
<width>10</width>
<height>0</height>
</size>
</property>
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
<property name="buddy">
<cstring>le_Updated</cstring>
</property>
</widget>
</item>
@@ -71,16 +55,6 @@
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QLabel" name="lbl_Timestamp">
<property name="text">
<string>Last updated:</string>
</property>
<property name="buddy">
<cstring>le_Updated</cstring>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLineEdit" name="le_Id">
<property name="maximumSize">
@@ -111,7 +85,71 @@
</property>
</widget>
</item>
<item row="6" column="0" colspan="3">
<item row="4" column="1" colspan="3">
<widget class="QLineEdit" name="le_Updated">
<property name="readOnly">
<bool>true</bool>
</property>
</widget>
</item>
<item row="2" column="1" colspan="3">
<widget class="QLineEdit" name="le_Description">
<property name="placeholderText">
<string>Livery description</string>
</property>
</widget>
</item>
<item row="5" column="0" colspan="4">
<widget class="BlackGui::CDropSite" name="drop_DropData">
<property name="text">
<string>Drop data here</string>
</property>
</widget>
</item>
<item row="1" column="3">
<widget class="QCheckBox" name="cb_Military">
<property name="toolTip">
<string>Military livery</string>
</property>
<property name="text">
<string>Mil.</string>
</property>
</widget>
</item>
<item row="0" column="3">
<widget class="QPushButton" name="pb_TempLivery">
<property name="text">
<string>temp.</string>
</property>
</widget>
</item>
<item row="0" column="4" rowspan="7">
<widget class="BlackGui::Editors::CValidationIndicator" name="val_Indicator">
<property name="minimumSize">
<size>
<width>10</width>
<height>0</height>
</size>
</property>
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="BlackGui::CLabelAndIcon" name="lai_Id">
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
</widget>
</item>
<item row="6" column="0" colspan="4">
<widget class="BlackGui::Editors::CAirlineIcaoForm" name="editor_AirlineIcao">
<property name="minimumSize">
<size>
@@ -121,28 +159,7 @@
</property>
</widget>
</item>
<item row="5" column="0" colspan="3">
<widget class="BlackGui::CDropSite" name="drop_DropData">
<property name="text">
<string>Drop data here</string>
</property>
</widget>
</item>
<item row="4" column="1" colspan="2">
<widget class="QLineEdit" name="le_Updated">
<property name="readOnly">
<bool>true</bool>
</property>
</widget>
</item>
<item row="2" column="1" colspan="2">
<widget class="QLineEdit" name="le_Description">
<property name="placeholderText">
<string>Livery description</string>
</property>
</widget>
</item>
<item row="3" column="1" colspan="2">
<item row="3" column="1" colspan="3">
<widget class="QWidget" name="wi_Colors" native="true">
<layout class="QHBoxLayout" name="hl_Colors">
<property name="spacing">
@@ -162,21 +179,21 @@
</property>
<item alignment="Qt::AlignLeft">
<widget class="BlackGui::Components::CColorSelector" name="color_Fuselage">
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
<property name="minimumSize">
<size>
<width>75</width>
<height>0</height>
</size>
</property>
</widget>
</item>
<item alignment="Qt::AlignLeft">
<widget class="BlackGui::Components::CColorSelector" name="color_Tail">
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
<property name="minimumSize">
<size>
<width>75</width>
<height>0</height>
</size>
</property>
</widget>
</item>
@@ -196,26 +213,16 @@
</layout>
</widget>
</item>
<item row="1" column="1">
<widget class="BlackGui::Components::CDbLiverySelectorComponent" name="comp_LiverySelector"/>
</item>
<item row="1" column="2">
<widget class="QCheckBox" name="cb_Military">
<property name="toolTip">
<string>Military livery</string>
</property>
<property name="text">
<string>Mil.</string>
</property>
</widget>
</item>
<item row="0" column="2">
<widget class="QPushButton" name="pb_TempLivery">
<widget class="QPushButton" name="pb_SearchColor">
<property name="text">
<string>temp.</string>
<string>search color</string>
</property>
</widget>
</item>
<item row="1" column="1" colspan="2">
<widget class="BlackGui::Components::CDbLiverySelectorComponent" name="comp_LiverySelector"/>
</item>
</layout>
</widget>
</item>