mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-01 05:26:45 +08:00
refs #304, Icons, using new CIcon class
This commit is contained in:
@@ -9,7 +9,7 @@
|
||||
|
||||
#include "infowindowcomponent.h"
|
||||
#include "ui_infowindowcomponent.h"
|
||||
|
||||
#include "blackmisc/icon.h"
|
||||
#include <QTimer>
|
||||
#include <QDesktopWidget>
|
||||
|
||||
@@ -92,7 +92,7 @@ namespace BlackGui
|
||||
this->ui->le_SmSeverity->setText(statusMessage.getSeverityAsString());
|
||||
this->ui->le_SmType->setText(statusMessage.getTypeAsString());
|
||||
this->ui->te_SmStatusMessage->setText(statusMessage.getMessage());
|
||||
this->ui->lbl_SmSeverityIcon->setPixmap(statusMessage.toIcon());
|
||||
this->ui->lbl_SmSeverityIcon->setPixmap(statusMessage.toPixmap());
|
||||
|
||||
this->setCurrentPage(this->ui->pg_StatusMessage);
|
||||
this->showWindow(displayTimeMs);
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
#include "ui_maininfoareacomponent.h"
|
||||
#include "../stylesheetutility.h"
|
||||
#include "../guiutility.h"
|
||||
#include "blackmisc/iconsstandard.h"
|
||||
#include "blackmisc/icons.h"
|
||||
#include <QMenu>
|
||||
#include <QListIterator>
|
||||
#include <QSignalMapper>
|
||||
@@ -28,7 +28,7 @@ namespace BlackGui
|
||||
{
|
||||
this->ps_setInfoAreaFloating(this->m_infoAreaFloating);
|
||||
ui->setupUi(this);
|
||||
this->setWindowIcon(CIconsStandard::swift24());
|
||||
this->setWindowIcon(CIcons::swift24());
|
||||
|
||||
// after setup, GUI established
|
||||
if (this->m_dockableWidgets.isEmpty())
|
||||
@@ -61,9 +61,9 @@ namespace BlackGui
|
||||
void CMainInfoAreaComponent::addToContextMenu(QMenu *menu) const
|
||||
{
|
||||
if (!menu) return;
|
||||
menu->addAction(CIconsStandard::dockTop16(), "Dock all", this, SLOT(dockAllWidgets()));
|
||||
menu->addAction(CIconsStandard::floatAll16(), "Float all", this, SLOT(floatAllWidgets()));
|
||||
menu->addAction(CIconsStandard::floatOne16(), "Dock / float info area", this, SLOT(toggleFloating()));
|
||||
menu->addAction(CIcons::dockTop16(), "Dock all", this, SLOT(dockAllWidgets()));
|
||||
menu->addAction(CIcons::floatAll16(), "Float all", this, SLOT(floatAllWidgets()));
|
||||
menu->addAction(CIcons::floatOne16(), "Dock / float info area", this, SLOT(toggleFloating()));
|
||||
|
||||
bool c = false;
|
||||
if (!this->m_dockableWidgets.isEmpty())
|
||||
@@ -118,13 +118,13 @@ namespace BlackGui
|
||||
QAction *showMenuText = new QAction(menu);
|
||||
showMenuText->setObjectName("ShowDockedWidgetTextAction");
|
||||
showMenuText->setIconText("Show tab text");
|
||||
showMenuText->setIcon(CIconsStandard::headingOne16());
|
||||
showMenuText->setIcon(CIcons::headingOne16());
|
||||
showMenuText->setCheckable(true);
|
||||
showMenuText->setChecked(this->m_showTabTexts);
|
||||
menu->addAction(showMenuText);
|
||||
connect(showMenuText, &QAction::toggled, this, &CMainInfoAreaComponent::ps_showTabTexts);
|
||||
|
||||
menu->addAction(CIconsStandard::dockBottom16(), "Toogle tabbar position", this, SLOT(ps_toggleTabBarPosition()));
|
||||
menu->addAction(CIcons::dockBottom16(), "Toogle tabbar position", this, SLOT(ps_toggleTabBarPosition()));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -373,27 +373,27 @@ namespace BlackGui
|
||||
switch (infoArea)
|
||||
{
|
||||
case InfoAreaUsers:
|
||||
return CIconsStandard::appUsers16();
|
||||
return CIcons::appUsers16();
|
||||
case InfoAreaWeather:
|
||||
return CIconsStandard::appWeather16();
|
||||
return CIcons::appWeather16();
|
||||
case InfoAreaAtc:
|
||||
return CIconsStandard::appAtc16();
|
||||
return CIcons::appAtc16();
|
||||
case InfoAreaAircrafts:
|
||||
return CIconsStandard::appAircrafts16();
|
||||
return CIcons::appAircrafts16();
|
||||
case InfoAreaSettings:
|
||||
return CIconsStandard::appSettings16();
|
||||
return CIcons::appSettings16();
|
||||
case InfoAreaFlightPlan:
|
||||
return CIconsStandard::appFlightplan16();
|
||||
return CIcons::appFlightPlan16();
|
||||
case InfoAreaTextMessages:
|
||||
return CIconsStandard::appTextMessages16();
|
||||
return CIcons::appTextMessages16();
|
||||
case InfoAreaSimulator:
|
||||
return CIconsStandard::appSimulator16();
|
||||
return CIcons::appSimulator16();
|
||||
case InfoAreaMappings:
|
||||
return CIconsStandard::appMappings16();
|
||||
return CIcons::appMappings16();
|
||||
case InfoAreaLog:
|
||||
return CIconsStandard::appLog16();
|
||||
return CIcons::appLog16();
|
||||
default:
|
||||
return CIconsStandard::empty();
|
||||
return CIcons::empty();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
|
||||
#include "dockwidgetinfoarea.h"
|
||||
#include "components/maininfoareacomponent.h"
|
||||
#include "blackmisc/iconsstandard.h"
|
||||
#include "blackmisc/icons.h"
|
||||
|
||||
using namespace BlackGui::Components;
|
||||
|
||||
|
||||
@@ -44,7 +44,7 @@ namespace BlackGui
|
||||
case NotSet:
|
||||
case StationsOnline:
|
||||
this->m_columns.addColumn(CColumn("callsign", CAtcStation::IndexCallsignAsStringAsSet));
|
||||
this->m_columns.addColumn(CColumn(CAtcStation::IndexIcon, true));
|
||||
this->m_columns.addColumn(CColumn(CAtcStation::IndexPixmap, true));
|
||||
this->m_columns.addColumn(CColumn("distance", CAtcStation::IndexDistance, Qt::AlignRight | Qt::AlignVCenter));
|
||||
this->m_columns.addColumn(CColumn("frequency", CAtcStation::IndexFrequency, Qt::AlignRight | Qt::AlignVCenter));
|
||||
this->m_columns.addColumn(CColumn("controllername", CAtcStation::IndexControllerRealName));
|
||||
@@ -59,7 +59,7 @@ namespace BlackGui
|
||||
|
||||
case StationsBooked:
|
||||
this->m_columns.addColumn(CColumn("callsign", CAtcStation::IndexCallsignAsStringAsSet));
|
||||
this->m_columns.addColumn(CColumn(CAtcStation::IndexIcon, true));
|
||||
this->m_columns.addColumn(CColumn(CAtcStation::IndexPixmap, true));
|
||||
this->m_columns.addColumn(CColumn("controllername", CAtcStation::IndexControllerRealName));
|
||||
this->m_columns.addColumn(CColumn("bookedfrom", CAtcStation::IndexBookedFrom));
|
||||
this->m_columns.addColumn(CColumn("bookeduntil", CAtcStation::IndexBookedUntil));
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
|
||||
#include "clientlistmodel.h"
|
||||
#include "blackmisc/blackmiscfreefunctions.h"
|
||||
#include "blackmisc/icon.h"
|
||||
#include <QMetaProperty>
|
||||
#include <QBrush>
|
||||
|
||||
@@ -27,7 +28,7 @@ namespace BlackGui
|
||||
this->m_columns.addColumn(CColumn("", CClient::IndexCallsignIcon));
|
||||
this->m_columns.addColumn(CColumn("callsign", CClient::IndexCallsign));
|
||||
this->m_columns.addColumn(CColumn("realname", CClient::IndexRealName));
|
||||
this->m_columns.addColumn(CColumn("", CClient::IndexVoiceCapabilitiesIcon));
|
||||
this->m_columns.addColumn(CColumn("", CClient::IndexVoiceCapabilitiesPixmap));
|
||||
this->m_columns.addColumn(CColumn("capabilities", CClient::IndexCapabilitiesString));
|
||||
this->m_columns.addColumn(CColumn("model", CClient::IndexQueriedModelString));
|
||||
this->m_columns.addColumn(CColumn("server", CClient::IndexServer));
|
||||
@@ -53,7 +54,7 @@ namespace BlackGui
|
||||
if (role == Qt::DecorationRole)
|
||||
{
|
||||
CClient u = this->at(modelIndex);
|
||||
return u.toIcon();
|
||||
return QVariant(u.toPixmap());
|
||||
}
|
||||
}
|
||||
return CListModelBase::data(modelIndex, role);
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
#include "statusmessagelistmodel.h"
|
||||
#include "blackmisc/icon.h"
|
||||
#include "blackmisc/blackmiscfreefunctions.h"
|
||||
#include <QMetaProperty>
|
||||
#include <QBrush>
|
||||
@@ -43,7 +44,7 @@ namespace BlackGui
|
||||
if (role == Qt::DecorationRole)
|
||||
{
|
||||
CStatusMessage msg = this->at(modelIndex);
|
||||
return msg.toIcon();
|
||||
return QVariant(msg.toPixmap());
|
||||
}
|
||||
else if (role == Qt::DisplayRole)
|
||||
{
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#include "avatcstation.h"
|
||||
#include "aviocomsystem.h"
|
||||
#include "voiceroom.h"
|
||||
#include "icon.h"
|
||||
#include "blackmiscfreefunctions.h"
|
||||
|
||||
using namespace BlackMisc::PhysicalQuantities;
|
||||
@@ -319,8 +320,8 @@ namespace BlackMisc
|
||||
return QVariant(this->m_callsign.asString());
|
||||
case IndexCallsignAsStringAsSet:
|
||||
return QVariant(this->m_callsign.getStringAsSet());
|
||||
case IndexIcon:
|
||||
return QVariant(this->m_callsign.toIcon());
|
||||
case IndexPixmap:
|
||||
return QVariant(this->m_callsign.toPixmap());
|
||||
case IndexController:
|
||||
return this->m_controller.toQVariant();
|
||||
case IndexControllerRealName:
|
||||
|
||||
@@ -36,7 +36,7 @@ namespace BlackMisc
|
||||
enum ColumnIndex
|
||||
{
|
||||
IndexCallsign = 0,
|
||||
IndexIcon, // representing icon
|
||||
IndexPixmap, // representing icon
|
||||
IndexCallsignAsString,
|
||||
IndexCallsignAsStringAsSet,
|
||||
IndexController,
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
*/
|
||||
|
||||
#include "avcallsign.h"
|
||||
#include "iconsnetwork.h"
|
||||
#include "iconlist.h"
|
||||
|
||||
namespace BlackMisc
|
||||
{
|
||||
@@ -35,26 +35,26 @@ namespace BlackMisc
|
||||
/*
|
||||
* Iconify
|
||||
*/
|
||||
const QPixmap &CCallsign::convertToIcon(const CCallsign &callsign)
|
||||
const CIcon &CCallsign::convertToIcon(const CCallsign &callsign)
|
||||
{
|
||||
QString t = callsign.asString().toUpper();
|
||||
if (t.length() < 3) return CIconsNetworkAndAviation::roleUnknown();
|
||||
if (t.length() < 3) return CIconList::iconForIndex(CIcons::NetworkRoleUnknown);
|
||||
t = t.right(3);
|
||||
|
||||
if (callsign.getStringAsSet().contains("_"))
|
||||
{
|
||||
if ("APP" == t) return CIconsNetworkAndAviation::roleApproach();
|
||||
if ("GND" == t) return CIconsNetworkAndAviation::roleGround();
|
||||
if ("TWR" == t) return CIconsNetworkAndAviation::roleTower();
|
||||
if ("DEL" == t) return CIconsNetworkAndAviation::roleDelivery();
|
||||
if ("CTR" == t) return CIconsNetworkAndAviation::roleCenter();
|
||||
if ("SUP" == t) return CIconsNetworkAndAviation::roleSup();
|
||||
if ("OBS" == t) return CIconsNetworkAndAviation::roleObs();
|
||||
return CIconsNetworkAndAviation::roleUnknown();
|
||||
if ("APP" == t) return CIconList::iconForIndex(CIcons::NetworkRoleApproach);
|
||||
if ("GND" == t) return CIconList::iconForIndex(CIcons::NetworkRoleGround);
|
||||
if ("TWR" == t) return CIconList::iconForIndex(CIcons::NetworkRoleTower);
|
||||
if ("DEL" == t) return CIconList::iconForIndex(CIcons::NetworkRoleDelivery);
|
||||
if ("CTR" == t) return CIconList::iconForIndex(CIcons::NetworkRoleCenter);
|
||||
if ("SUP" == t) return CIconList::iconForIndex(CIcons::NetworkRoleSup);
|
||||
if ("OBS" == t) return CIconList::iconForIndex(CIcons::NetworkRoleApproach);
|
||||
return CIconList::iconForIndex(CIcons::NetworkRoleUnknown);
|
||||
}
|
||||
else
|
||||
{
|
||||
return CIconsNetworkAndAviation::rolePilot();
|
||||
return CIconList::iconForIndex(CIcons::NetworkRolePilot);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -199,6 +199,9 @@ namespace BlackMisc
|
||||
//! \copydoc CValueObject::fromJson
|
||||
virtual void fromJson(const QJsonObject &json) override;
|
||||
|
||||
//! \copydoc CValueObject::toIcon
|
||||
virtual CIcon toIcon() const override;
|
||||
|
||||
//! Register metadata
|
||||
static void registerMetadata();
|
||||
|
||||
|
||||
@@ -214,6 +214,39 @@
|
||||
<file>icons/diagona/icons/compass--minus.png</file>
|
||||
<file>icons/diagona/icons/compass--pencil.png</file>
|
||||
<file>icons/diagona/icons/compass--plus.png</file>
|
||||
<file>icons/diagona/icons/globe.png</file>
|
||||
<file>icons/diagona/icons/globe-medium.png</file>
|
||||
<file>icons/diagona/icons/globe-medium-green.png</file>
|
||||
<file>icons/diagona/icons/globe-place.png</file>
|
||||
<file>icons/diagona/icons/globe-small-green.png</file>
|
||||
<file>icons/diagona/icons/script-globe.png</file>
|
||||
<file>icons/diagona/icons/radio.png</file>
|
||||
<file>icons/diagona/icons/radio--exclamation.png</file>
|
||||
<file>icons/diagona/icons/radio-old.png</file>
|
||||
<file>icons/diagona/icons/radio--plus.png</file>
|
||||
<file>icons/diagona/icons/arrow-000-medium.png</file>
|
||||
<file>icons/diagona/icons/arrow-000-small.png</file>
|
||||
<file>icons/diagona/icons/arrow-045.png</file>
|
||||
<file>icons/diagona/icons/arrow-045-medium.png</file>
|
||||
<file>icons/diagona/icons/arrow-045-small.png</file>
|
||||
<file>icons/diagona/icons/arrow-090.png</file>
|
||||
<file>icons/diagona/icons/arrow-090-medium.png</file>
|
||||
<file>icons/diagona/icons/arrow-090-small.png</file>
|
||||
<file>icons/diagona/icons/arrow-135.png</file>
|
||||
<file>icons/diagona/icons/arrow-135-medium.png</file>
|
||||
<file>icons/diagona/icons/arrow-135-small.png</file>
|
||||
<file>icons/diagona/icons/arrow-180.png</file>
|
||||
<file>icons/diagona/icons/arrow-180-medium.png</file>
|
||||
<file>icons/diagona/icons/arrow-180-small.png</file>
|
||||
<file>icons/diagona/icons/arrow-225.png</file>
|
||||
<file>icons/diagona/icons/arrow-225-medium.png</file>
|
||||
<file>icons/diagona/icons/arrow-225-small.png</file>
|
||||
<file>icons/diagona/icons/arrow-270.png</file>
|
||||
<file>icons/diagona/icons/arrow-270-medium.png</file>
|
||||
<file>icons/diagona/icons/arrow-270-small.png</file>
|
||||
<file>icons/diagona/icons/arrow-315.png</file>
|
||||
<file>icons/diagona/icons/arrow-315-medium.png</file>
|
||||
<file>icons/diagona/icons/arrow-315-small.png</file>
|
||||
</qresource>
|
||||
<qresource prefix="/own">
|
||||
<file>icons/own/app.jpg</file>
|
||||
@@ -257,8 +290,6 @@
|
||||
<file>icons/qled/round_purple.svg</file>
|
||||
<file>icons/qled/round_red.svg</file>
|
||||
<file>icons/qled/round_yellow.svg</file>
|
||||
<file>icons/qled/screenshot.png</file>
|
||||
<file>icons/qled/screenshot2.png</file>
|
||||
<file>icons/qled/square_blue.svg</file>
|
||||
<file>icons/qled/square_green.svg</file>
|
||||
<file>icons/qled/square_grey.svg</file>
|
||||
|
||||
@@ -13,13 +13,14 @@
|
||||
#include "mathallclasses.h"
|
||||
#include "geoallclasses.h"
|
||||
#include "networkallclasses.h"
|
||||
#include "settingsblackmiscclasses.h"
|
||||
#include "audioallclasses.h"
|
||||
#include "hwallclasses.h"
|
||||
#include "settingsblackmiscclasses.h"
|
||||
#include "indexvariantmap.h"
|
||||
#include "namevariantpairlist.h"
|
||||
#include "variant.h"
|
||||
#include "statusmessagelist.h"
|
||||
#include "audioallclasses.h"
|
||||
#include "iconlist.h"
|
||||
#include <QtNetwork/QHostInfo>
|
||||
#include <QProcessEnvironment>
|
||||
#include <QSysInfo>
|
||||
@@ -151,9 +152,10 @@ void BlackMisc::registerMetadata()
|
||||
CIndexVariantMap::registerMetadata();
|
||||
CNameVariantPair::registerMetadata();
|
||||
CNameVariantPairList::registerMetadata();
|
||||
|
||||
CStatusMessage::registerMetadata();
|
||||
CStatusMessageList::registerMetadata();
|
||||
CIcon::registerMetadata();
|
||||
CIconList::registerMetadata();
|
||||
|
||||
// sub namespaces
|
||||
PhysicalQuantities::registerMetadata();
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
#include "blackmisc/geoearthangle.h"
|
||||
#include "blackmisc/geolatitude.h"
|
||||
#include "blackmisc/geolongitude.h"
|
||||
#include "blackmisc/iconlist.h"
|
||||
|
||||
namespace BlackMisc
|
||||
{
|
||||
@@ -102,6 +103,14 @@ namespace BlackMisc
|
||||
return CAngle::compareImpl(other);
|
||||
}
|
||||
|
||||
/*
|
||||
* Icon
|
||||
*/
|
||||
template <class LATorLON> CIcon CEarthAngle<LATorLON>::toIcon() const
|
||||
{
|
||||
return BlackMisc::CIconList::iconForIndex(CIcons::GeoPosition);
|
||||
}
|
||||
|
||||
// see here for the reason of thess forward instantiations
|
||||
// http://www.parashift.com/c++-faq/separate-template-class-defn-from-decl.html
|
||||
template class CEarthAngle<CLatitude>;
|
||||
|
||||
@@ -156,6 +156,8 @@ namespace BlackMisc
|
||||
return l;
|
||||
}
|
||||
|
||||
//! \copydoc CValueObject::toIcon
|
||||
CIcon toIcon() const override;
|
||||
|
||||
//! Register metadata
|
||||
static void registerMetadata();
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
*/
|
||||
|
||||
#include "namevariantpair.h"
|
||||
#include "iconlist.h"
|
||||
#include "blackmisc/blackmiscfreefunctions.h"
|
||||
|
||||
namespace BlackMisc
|
||||
@@ -16,10 +17,26 @@ namespace BlackMisc
|
||||
/*
|
||||
* Constructor
|
||||
*/
|
||||
CNameVariantPair::CNameVariantPair(const QString &name, const CVariant &variant)
|
||||
: m_name(name), m_variant(variant)
|
||||
CNameVariantPair::CNameVariantPair(const QString &name, const CVariant &variant, const CIcon &icon)
|
||||
: m_name(name), m_variant(variant), m_icon(icon)
|
||||
{ }
|
||||
|
||||
/*
|
||||
* Icon
|
||||
*/
|
||||
const CIcon &CNameVariantPair::getIcon() const
|
||||
{
|
||||
return this->m_icon;
|
||||
}
|
||||
|
||||
/*
|
||||
* Icon?
|
||||
*/
|
||||
bool CNameVariantPair::hasIcon() const
|
||||
{
|
||||
return this->getIcon().isSet();
|
||||
}
|
||||
|
||||
/*
|
||||
* Convert to string
|
||||
*/
|
||||
@@ -108,6 +125,10 @@ namespace BlackMisc
|
||||
return QVariant(this->m_name);
|
||||
case IndexVariant:
|
||||
return this->m_variant.toQVariant();
|
||||
case IndexIcon:
|
||||
return this->m_icon.toQVariant();
|
||||
case IndexPixmap:
|
||||
return this->m_icon.toPixmap();
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@@ -130,6 +151,17 @@ namespace BlackMisc
|
||||
case IndexVariant:
|
||||
this->m_variant = variant;
|
||||
break;
|
||||
case IndexIcon:
|
||||
if (variant.canConvert<int>())
|
||||
{
|
||||
CIcons::IconIndexes index = static_cast<CIcons::IconIndexes>(variant.toInt());
|
||||
this->m_icon = CIconList::iconForIndex(index);
|
||||
}
|
||||
else
|
||||
{
|
||||
this->m_icon = variant.value<BlackMisc::CIcon>();
|
||||
}
|
||||
break;
|
||||
default:
|
||||
Q_ASSERT_X(false, "CNameVariantPair", "index unknown");
|
||||
break;
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
|
||||
#include "variant.h"
|
||||
#include "valueobject.h"
|
||||
#include "icon.h"
|
||||
|
||||
namespace BlackMisc
|
||||
{
|
||||
@@ -27,7 +28,7 @@ namespace BlackMisc
|
||||
CNameVariantPair() {}
|
||||
|
||||
//! Constructor.
|
||||
CNameVariantPair(const QString &name, const CVariant &variant);
|
||||
CNameVariantPair(const QString &name, const CVariant &variant, const CIcon &icon = CIcon());
|
||||
|
||||
//! \copydoc CValueObject::toQVariant
|
||||
virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); }
|
||||
@@ -44,6 +45,12 @@ namespace BlackMisc
|
||||
//! Set variant.
|
||||
void setVariant(const CVariant &variant) { m_variant = variant; }
|
||||
|
||||
//! Icon
|
||||
const CIcon &getIcon() const;
|
||||
|
||||
//! Has icon
|
||||
bool hasIcon() const;
|
||||
|
||||
//! Equal operator ==
|
||||
bool operator ==(const CNameVariantPair &other) const;
|
||||
|
||||
@@ -70,6 +77,8 @@ namespace BlackMisc
|
||||
{
|
||||
IndexName = 0,
|
||||
IndexVariant,
|
||||
IndexIcon,
|
||||
IndexPixmap
|
||||
};
|
||||
|
||||
//! \copydoc CValueObject::propertyByIndex()
|
||||
@@ -99,12 +108,13 @@ namespace BlackMisc
|
||||
|
||||
private:
|
||||
BLACK_ENABLE_TUPLE_CONVERSION(CNameVariantPair)
|
||||
QString m_name;
|
||||
QString m_name;
|
||||
CVariant m_variant;
|
||||
CIcon m_icon; //!< optional icon
|
||||
};
|
||||
} // namespace
|
||||
|
||||
BLACK_DECLARE_TUPLE_CONVERSION(BlackMisc::CNameVariantPair, (o.m_name, o.m_variant))
|
||||
BLACK_DECLARE_TUPLE_CONVERSION(BlackMisc::CNameVariantPair, (o.m_name, o.m_variant, o.m_icon))
|
||||
Q_DECLARE_METATYPE(BlackMisc::CNameVariantPair)
|
||||
|
||||
#endif // guard
|
||||
|
||||
Reference in New Issue
Block a user