From 5873ec9359eef0d65c6e99746981049524d778a9 Mon Sep 17 00:00:00 2001 From: Klaus Basan Date: Sat, 2 Aug 2014 19:08:17 +0200 Subject: [PATCH] refs #304, centralized icons * icons which can be rotated * provide metadata * integrated in CValueObjects * added SVG support --- samples/blackgui/mainwindow_init.cpp | 2 +- samples/blackgui/sample_blackgui.pro | 2 +- samples/blackgui2/sample_blackgui2.pro | 2 +- src/blackgui/models/userlistmodel.cpp | 4 +- src/blackmisc/avaircraft.cpp | 6 +- src/blackmisc/avaircraft.h | 3 +- src/blackmisc/avaltitude.cpp | 9 + src/blackmisc/avaltitude.h | 3 + src/blackmisc/avcallsign.h | 8 +- src/blackmisc/avflightplan.cpp | 6 + src/blackmisc/icon.cpp | 141 +++++ src/blackmisc/icon.h | 109 ++++ src/blackmisc/iconlist.cpp | 32 ++ src/blackmisc/iconlist.h | 156 +++++ src/blackmisc/icons.h | 704 +++++++++++++++++++++++ src/blackmisc/icons/qled/screenshot.png | Bin 22557 -> 0 bytes src/blackmisc/icons/qled/screenshot2.png | Bin 150007 -> 0 bytes src/blackmisc/iconsnetwork.h | 203 ------- src/blackmisc/iconsstandard.h | 321 ----------- src/blackmisc/nwclient.cpp | 5 +- src/blackmisc/nwclient.h | 4 +- src/blackmisc/nwuser.cpp | 5 +- src/blackmisc/nwuser.h | 4 +- src/blackmisc/nwvoicecapabilites.cpp | 19 +- src/blackmisc/nwvoicecapabilities.h | 2 +- src/blackmisc/pqangle.cpp | 34 ++ src/blackmisc/pqangle.h | 2 + src/blackmisc/statusmessage.cpp | 12 +- src/blackmisc/statusmessage.h | 5 +- src/blackmisc/valueobject.cpp | 17 + src/blackmisc/valueobject.h | 6 +- 31 files changed, 1262 insertions(+), 564 deletions(-) create mode 100644 src/blackmisc/icon.cpp create mode 100644 src/blackmisc/icon.h create mode 100644 src/blackmisc/iconlist.cpp create mode 100644 src/blackmisc/iconlist.h create mode 100644 src/blackmisc/icons.h delete mode 100644 src/blackmisc/icons/qled/screenshot.png delete mode 100644 src/blackmisc/icons/qled/screenshot2.png delete mode 100644 src/blackmisc/iconsnetwork.h delete mode 100644 src/blackmisc/iconsstandard.h create mode 100644 src/blackmisc/pqangle.cpp diff --git a/samples/blackgui/mainwindow_init.cpp b/samples/blackgui/mainwindow_init.cpp index bf8fa44ab..718e5bdcf 100644 --- a/samples/blackgui/mainwindow_init.cpp +++ b/samples/blackgui/mainwindow_init.cpp @@ -39,7 +39,7 @@ void MainWindow::init(const CRuntimeConfig &runtimeConfig) if (this->m_init) return; // icon, initial position where intro was before - this->setWindowIcon(CIconsStandard::swift24()); + this->setWindowIcon(CIcons::swift24()); this->setWindowTitle(CProject::systemNameAndVersion()); QPoint pos = CGuiUtility::introWindowPosition(); this->move(pos); diff --git a/samples/blackgui/sample_blackgui.pro b/samples/blackgui/sample_blackgui.pro index 7b7cca3d9..c6dc094b2 100644 --- a/samples/blackgui/sample_blackgui.pro +++ b/samples/blackgui/sample_blackgui.pro @@ -1,7 +1,7 @@ include (../../config.pri) include (../../build.pri) -QT += core dbus gui network xml multimedia +QT += core dbus gui svg network xml multimedia greaterThan(QT_MAJOR_VERSION, 4): QT += widgets TARGET = sample_blackgui diff --git a/samples/blackgui2/sample_blackgui2.pro b/samples/blackgui2/sample_blackgui2.pro index 8f5af7d50..a3a9d2120 100644 --- a/samples/blackgui2/sample_blackgui2.pro +++ b/samples/blackgui2/sample_blackgui2.pro @@ -1,7 +1,7 @@ include (../../config.pri) include (../../build.pri) -QT += core dbus gui network xml multimedia +QT += core dbus gui svg network xml multimedia greaterThan(QT_MAJOR_VERSION, 4): QT += widgets TARGET = sample_blackgui2 diff --git a/src/blackgui/models/userlistmodel.cpp b/src/blackgui/models/userlistmodel.cpp index 6498a1f58..95fce09c5 100644 --- a/src/blackgui/models/userlistmodel.cpp +++ b/src/blackgui/models/userlistmodel.cpp @@ -44,7 +44,7 @@ namespace BlackGui { case NotSet: case UserDetailed: - this->m_columns.addColumn(CColumn(CUser::IndexCallsignIcon, true)); + this->m_columns.addColumn(CColumn(CUser::IndexCallsignPixmap, true)); this->m_columns.addColumn(CColumn("realname", CUser::IndexRealName)); this->m_columns.addColumn(CColumn("callsign", CUser::IndexCallsign)); this->m_columns.addColumn(CColumn("userid", CUser::IndexId)); @@ -52,7 +52,7 @@ namespace BlackGui break; case UserShort: - this->m_columns.addColumn(CColumn(CUser::IndexCallsignIcon, true)); + this->m_columns.addColumn(CColumn(CUser::IndexCallsignPixmap, true)); this->m_columns.addColumn(CColumn("realname", CUser::IndexRealName)); this->m_columns.addColumn(CColumn("callsign", CUser::IndexCallsign)); break; diff --git a/src/blackmisc/avaircraft.cpp b/src/blackmisc/avaircraft.cpp index 77c716bf7..bb23575d7 100644 --- a/src/blackmisc/avaircraft.cpp +++ b/src/blackmisc/avaircraft.cpp @@ -10,6 +10,7 @@ #include "avaircraft.h" #include "blackmisc/blackmiscfreefunctions.h" #include "blackmisc/pqconstants.h" +#include "blackmisc/icon.h" using namespace BlackMisc::PhysicalQuantities; @@ -207,8 +208,8 @@ namespace BlackMisc { case IndexCallsign: return QVariant::fromValue(this->m_callsign); - case IndexIcon: - return QVariant(this->m_callsign.toIcon()); + case IndexPixmap: + return QVariant(this->m_callsign.toPixmap()); case IndexCallsignAsString: return QVariant::fromValue(this->m_callsign.toQString(true)); case IndexCallsignAsStringAsSet: @@ -348,6 +349,5 @@ namespace BlackMisc return TupleConverter::jsonMembers(); } - } // namespace } // namespace diff --git a/src/blackmisc/avaircraft.h b/src/blackmisc/avaircraft.h index 17ef8f45c..bc39eb172 100644 --- a/src/blackmisc/avaircraft.h +++ b/src/blackmisc/avaircraft.h @@ -19,6 +19,7 @@ #include "aviotransponder.h" #include "aviocomsystem.h" #include "valueobject.h" +#include "namevariantpairlist.h" namespace BlackMisc { @@ -222,7 +223,7 @@ namespace BlackMisc enum ColumnIndex { IndexCallsign = 0, - IndexIcon, + IndexPixmap, IndexCallsignAsString, IndexCallsignAsStringAsSet, IndexPilotId, diff --git a/src/blackmisc/avaltitude.cpp b/src/blackmisc/avaltitude.cpp index 172225458..f06731376 100644 --- a/src/blackmisc/avaltitude.cpp +++ b/src/blackmisc/avaltitude.cpp @@ -9,6 +9,7 @@ #include "avaltitude.h" #include "pqstring.h" +#include "iconlist.h" using BlackMisc::PhysicalQuantities::CLength; using BlackMisc::PhysicalQuantities::CLengthUnit; @@ -204,6 +205,14 @@ namespace BlackMisc *this = CAltitude(l, rd); } + /* + * Icon + */ + CIcon CAltitude::toIcon() const + { + return BlackMisc::CIconList::iconForIndex(CIcons::GeoPosition); + } + /* * Members */ diff --git a/src/blackmisc/avaltitude.h b/src/blackmisc/avaltitude.h index 0b13b94b6..936850fab 100644 --- a/src/blackmisc/avaltitude.h +++ b/src/blackmisc/avaltitude.h @@ -114,6 +114,9 @@ namespace BlackMisc //! \copydoc CValueObject::parseFromString(const QString &value, BlackMisc::PhysicalQuantities::CPqString::SeparatorMode mode) void parseFromString(const QString &value, BlackMisc::PhysicalQuantities::CPqString::SeparatorMode mode) override; + //! \copydoc CValueObject::toIcon + BlackMisc::CIcon toIcon() const override; + //! Register metadata static void registerMetadata(); diff --git a/src/blackmisc/avcallsign.h b/src/blackmisc/avcallsign.h index f18d7fa03..bfa84817a 100644 --- a/src/blackmisc/avcallsign.h +++ b/src/blackmisc/avcallsign.h @@ -13,6 +13,7 @@ #define BLACKMISC_CALLSIGN_H #include "valueobject.h" +#include "icon.h" namespace BlackMisc { @@ -40,10 +41,7 @@ namespace BlackMisc virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); } //! \copydoc CValueObject::toIcon() - virtual const QPixmap &toIcon() const override - { - return CCallsign::convertToIcon(*this); - } + virtual BlackMisc::CIcon toIcon() const override { return CCallsign::convertToIcon(*this); } //! Is empty? bool isEmpty() const { return this->m_callsignAsSet.isEmpty(); } @@ -117,7 +115,7 @@ namespace BlackMisc static QString unifyCallsign(const QString &callsign); //! representing icon - static const QPixmap &convertToIcon(const CCallsign &callsign); + static const CIcon &convertToIcon(const CCallsign &callsign); private: BLACK_ENABLE_TUPLE_CONVERSION(CCallsign) diff --git a/src/blackmisc/avflightplan.cpp b/src/blackmisc/avflightplan.cpp index 4c9db1893..ba065183c 100644 --- a/src/blackmisc/avflightplan.cpp +++ b/src/blackmisc/avflightplan.cpp @@ -8,6 +8,7 @@ */ #include "avflightplan.h" +#include "iconlist.h" namespace BlackMisc { @@ -98,6 +99,11 @@ namespace BlackMisc BlackMisc::deserializeJson(json, CFlightPlan::jsonMembers(), TupleConverter::toTuple(*this)); } + BlackMisc::CIcon CFlightPlan::toIcon() const + { + return BlackMisc::CIconList::iconForIndex(CIcons::StandardIconAppFlightPlan16); + } + void CFlightPlan::registerMetadata() { qRegisterMetaType(); diff --git a/src/blackmisc/icon.cpp b/src/blackmisc/icon.cpp new file mode 100644 index 000000000..61c436a99 --- /dev/null +++ b/src/blackmisc/icon.cpp @@ -0,0 +1,141 @@ +/* Copyright (C) 2013 + * swift Project Community / Contributors + * + * This file is part of swift project. It is subject to the license terms in the LICENSE file found in the top-level + * directory of this distribution and at http://www.swift-project.org/license.html. No part of Swift Project, + * including this file, may be copied, modified, propagated, or distributed except according to the terms + * contained in the LICENSE file. + */ + +#include "icon.h" + +namespace BlackMisc +{ + + /* + * Compare + */ + int CIcon::compareImpl(const CValueObject &otherBase) const + { + const auto &other = static_cast(otherBase); + return compare(TupleConverter::toTuple(*this), TupleConverter::toTuple(other)); + } + + /* + * Marshall to DBus + */ + void CIcon::marshallToDbus(QDBusArgument &argument) const + { + argument << TupleConverter::toTuple(*this); + } + + /* + * Unmarshall from DBus + */ + void CIcon::unmarshallFromDbus(const QDBusArgument &argument) + { + argument >> TupleConverter::toTuple(*this); + } + + /* + * Hash + */ + uint CIcon::getValueHash() const + { + return qHash(TupleConverter::toTuple(*this)); + } + + /* + * Pixmap + */ + QPixmap CIcon::toPixmap() const + { + return CIcons::pixmapByIndex(getIndex(), this->m_rotateDegrees); + } + + /* + * Rotate + */ + void CIcon::setRotation(const PhysicalQuantities::CAngle &rotate) + { + this->m_rotateDegrees = rotate.valueRounded(PhysicalQuantities::CAngleUnit::deg(), 0); + } + + /* + * Equal? + */ + bool CIcon::operator ==(const CIcon &other) const + { + if (this == &other) return true; + return TupleConverter::toTuple(*this) == TupleConverter::toTuple(other); + } + + /* + * Unequal? + */ + bool CIcon::operator !=(const CIcon &other) const + { + return !((*this) == other); + } + + /* + * metaTypeId + */ + int CIcon::getMetaTypeId() const + { + return qMetaTypeId(); + } + + /* + * is a + */ + bool CIcon::isA(int metaTypeId) const + { + if (metaTypeId == qMetaTypeId()) { return true; } + return this->CValueObject::isA(metaTypeId); + } + + /* + * Register metadata + */ + void CIcon::registerMetadata() + { + qRegisterMetaType(); + qDBusRegisterMetaType(); + } + + /* + * Members + */ + const QStringList &CIcon::jsonMembers() + { + return TupleConverter::jsonMembers(); + } + + /* + * String + */ + QString CIcon::convertToQString(bool i18n) const + { + Q_UNUSED(i18n); + QString s = QString(this->m_descriptiveText).append(" ").append(this->m_index); + return s; + } + + /* + * To JSON + */ + QJsonObject CIcon::toJson() const + { + return BlackMisc::serializeJson(CIcon::jsonMembers(), TupleConverter::toTuple(*this)); + } + + /* + * From Json + */ + void CIcon::fromJson(const QJsonObject &json) + { + BlackMisc::deserializeJson(json, CIcon::jsonMembers(), TupleConverter::toTuple(*this)); + } + +} // namespace diff --git a/src/blackmisc/icon.h b/src/blackmisc/icon.h new file mode 100644 index 000000000..2f68b51d8 --- /dev/null +++ b/src/blackmisc/icon.h @@ -0,0 +1,109 @@ +/* Copyright (C) 2013 + * swift Project Community / Contributors + * + * This file is part of swift project. It is subject to the license terms in the LICENSE file found in the top-level + * directory of this distribution and at http://www.swift-project.org/license.html. No part of Swift Project, + * including this file, may be copied, modified, propagated, or distributed except according to the terms + * contained in the LICENSE file. + */ + +//! \file + +#ifndef BLACKMISC_ICON_H +#define BLACKMISC_ICON_H + +#include "icons.h" +#include "pqangle.h" + +namespace BlackMisc +{ + /*! + * Value object for icons. + */ + class CIcon : public BlackMisc::CValueObject + { + + public: + //! Default constructor. + CIcon() {} + + //! Constructor. + CIcon(CIcons::IconIndexes index, const QString &descriptiveText) : + m_index(static_cast(index)), m_descriptiveText(descriptiveText) {} + + //! \copydoc CValueObject::toQVariant + virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); } + + //! Get descriptive text + const QString &getDescriptiveText() const { return this->m_descriptiveText; } + + //! Index + CIcons::IconIndexes getIndex() const { return static_cast(this->m_index);} + + //! Corresponding pixmap + QPixmap toPixmap() const; + + //! Icon set? + bool isSet() const { return this->m_index != static_cast(CIcons::NotSet);} + + //! Rotate by n degrees + void setRotation(int degrees) { this->m_rotateDegrees = degrees; } + + //! Rotate by given degrees + void setRotation(const BlackMisc::PhysicalQuantities::CAngle &rotate); + + //! Equal operator == + bool operator ==(const CIcon &other) const; + + //! Unequal operator != + bool operator !=(const CIcon &other) const; + + //! \copydoc CValueObject::getValueHash + virtual uint getValueHash() const override; + + //! \copydoc CValueObject::toJson + virtual QJsonObject toJson() const override; + + //! \copydoc CValueObject::fromJson + void fromJson(const QJsonObject &json) override; + + //! Register metadata + static void registerMetadata(); + + //! \copydoc TupleConverter<>::jsonMembers() + static const QStringList &jsonMembers(); + + //! Implicit conversion + operator QPixmap () const { return this->toPixmap(); } + + protected: + //! \copydoc CValueObject::convertToQString + virtual QString convertToQString(bool i18n = false) const override; + + //! \copydoc CValueObject::getMetaTypeId + virtual int getMetaTypeId() const override; + + //! \copydoc CValueObject::isA + virtual bool isA(int metaTypeId) const override; + + //! \copydoc CValueObject::compareImpl + virtual int compareImpl(const CValueObject &other) const override; + + //! \copydoc CValueObject::marshallToDbus + virtual void marshallToDbus(QDBusArgument &argument) const override; + + //! \copydoc CValueObject::unmarshallFromDbus + virtual void unmarshallFromDbus(const QDBusArgument &argument) override; + + private: + BLACK_ENABLE_TUPLE_CONVERSION(CIcon) + int m_index = static_cast(CIcons::NotSet); + int m_rotateDegrees = 0; + QString m_descriptiveText; + }; +} // namespace + +BLACK_DECLARE_TUPLE_CONVERSION(BlackMisc::CIcon, (o.m_index, o.m_descriptiveText)) +Q_DECLARE_METATYPE(BlackMisc::CIcon) + +#endif // guard diff --git a/src/blackmisc/iconlist.cpp b/src/blackmisc/iconlist.cpp new file mode 100644 index 000000000..bad46e1ff --- /dev/null +++ b/src/blackmisc/iconlist.cpp @@ -0,0 +1,32 @@ +/* Copyright (C) 2013 + * swift Project Community / Contributors + * + * This file is part of swift project. It is subject to the license terms in the LICENSE file found in the top-level + * directory of this distribution and at http://www.swift-project.org/license.html. No part of Swift Project, + * including this file, may be copied, modified, propagated, or distributed except according to the terms + * contained in the LICENSE file. + */ + +#include "iconlist.h" + +namespace BlackMisc +{ + CIconList::CIconList(const CSequence &other) : + CSequence(other) + { } + + CIcon CIconList::findByIndex(CIcons::IconIndexes index) const + { + return this->findBy(&CIcon::getIndex, index).frontOrDefault(); + } + + void CIconList::registerMetadata() + { + qRegisterMetaType>(); + qDBusRegisterMetaType>(); + qRegisterMetaType>(); + qDBusRegisterMetaType>(); + qRegisterMetaType(); + qDBusRegisterMetaType(); + } +} diff --git a/src/blackmisc/iconlist.h b/src/blackmisc/iconlist.h new file mode 100644 index 000000000..710171efb --- /dev/null +++ b/src/blackmisc/iconlist.h @@ -0,0 +1,156 @@ +/* Copyright (C) 2013 + * swift Project Community / Contributors + * + * This file is part of swift project. It is subject to the license terms in the LICENSE file found in the top-level + * directory of this distribution and at http://www.swift-project.org/license.html. No part of Swift Project, + * including this file, may be copied, modified, propagated, or distributed except according to the terms + * contained in the LICENSE file. + */ + +//! \file + +#ifndef BLACKMISC_ICONLIST_H +#define BLACKMISC_ICONLIST_H + +#include "valueobject.h" +#include "sequence.h" +#include "collection.h" +#include "icon.h" +#include "icons.h" + +namespace BlackMisc +{ + + /*! + * Icon + */ + class CIconList : public CSequence + { + public: + //! Constructor + CIconList() {} + + //! Construct from a base class object. + CIconList(const CSequence &other); + + //! Find by index + CIcon findByIndex(CIcons::IconIndexes index) const; + + //! \copydoc CValueObject::asQVariant + virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); } + + //! Register metadata of unit and quantity + static void registerMetadata(); + + //! All icons + static const CIconList &allIcons() + { + static CIconList icons; + if (icons.isEmpty()) + { + icons.push_back(CIcon(CIcons::StandardIconAppAircrafts16, "aircrafts")); + icons.push_back(CIcon(CIcons::StandardIconAppAircrafts16, "aircrafts")); + icons.push_back(CIcon(CIcons::StandardIconAppAtc16, "ATC")); + icons.push_back(CIcon(CIcons::StandardIconAppFlightPlan16, "flight plan")); + icons.push_back(CIcon(CIcons::StandardIconAppLog16, "log")); + icons.push_back(CIcon(CIcons::StandardIconAppMappings16, "mappings")); + icons.push_back(CIcon(CIcons::StandardIconAppSettings16, "settings")); + icons.push_back(CIcon(CIcons::StandardIconAppSimulator16, "simulator")); + icons.push_back(CIcon(CIcons::StandardIconAppTextMessages16, "text messages")); + icons.push_back(CIcon(CIcons::StandardIconAppUsers16, "users")); + icons.push_back(CIcon(CIcons::StandardIconAppWeather16, "weather")); + icons.push_back(CIcon(CIcons::StandardIconClose16, "close")); + icons.push_back(CIcon(CIcons::StandardIconDockBottom16, "dock bottom")); + icons.push_back(CIcon(CIcons::StandardIconDockTop16, "dock top")); + icons.push_back(CIcon(CIcons::StandardIconEmpty, "empty")); + icons.push_back(CIcon(CIcons::StandardIconEmpty16, "empty")); + icons.push_back(CIcon(CIcons::StandardIconError16, "error")); + icons.push_back(CIcon(CIcons::StandardIconFloatAll16, "float all")); + icons.push_back(CIcon(CIcons::StandardIconFloatOne16, "floast one")); + icons.push_back(CIcon(CIcons::StandardIconHeadingOne16, "heading")); + icons.push_back(CIcon(CIcons::StandardIconInfo16, "info")); + icons.push_back(CIcon(CIcons::StandardIconJoystick16, "joystick")); + icons.push_back(CIcon(CIcons::StandardIconMonitorError16, "monitor error")); + icons.push_back(CIcon(CIcons::StandardIconPaperPlane16, "plane")); + icons.push_back(CIcon(CIcons::StandardIconPlugin16, "plugin")); + icons.push_back(CIcon(CIcons::StandardIconRadar16, "radar")); + icons.push_back(CIcon(CIcons::StandardIconResize16, "resize")); + icons.push_back(CIcon(CIcons::StandardIconStatusBar16, "status bar")); + icons.push_back(CIcon(CIcons::StandardIconSwift24, "swift")); + icons.push_back(CIcon(CIcons::StandardIconSwift48, "swift")); + icons.push_back(CIcon(CIcons::StandardIconSwiftNova24, "swift")); + icons.push_back(CIcon(CIcons::StandardIconSwiftNova48, "swift")); + icons.push_back(CIcon(CIcons::StandardIconTableRelationship16, "relationship")); + icons.push_back(CIcon(CIcons::StandardIconTableSheet16, "table sheet")); + icons.push_back(CIcon(CIcons::StandardIconText16, "text")); + icons.push_back(CIcon(CIcons::StandardIconUnknown16, "unknwon")); + icons.push_back(CIcon(CIcons::StandardIconUser16, "user")); + icons.push_back(CIcon(CIcons::StandardIconUsers16, "users")); + icons.push_back(CIcon(CIcons::StandardIconVolumeHigh16, "volume hight")); + icons.push_back(CIcon(CIcons::StandardIconVolumeLow16, "volume low")); + icons.push_back(CIcon(CIcons::StandardIconVolumeMuted16, "muted")); + icons.push_back(CIcon(CIcons::StandardIconWarning16, "warning")); + icons.push_back(CIcon(CIcons::StandardIconWeatherCloudy16, "cloudy")); + icons.push_back(CIcon(CIcons::StandardIconWrench16, "wrench")); + icons.push_back(CIcon(CIcons::StandardIconArrowMediumEast16, "arrow east")); + icons.push_back(CIcon(CIcons::StandardIconArrowMediumWest16, "arrow west")); + icons.push_back(CIcon(CIcons::StandardIconArrowMediumNorth16, "arrow north")); + icons.push_back(CIcon(CIcons::StandardIconArrowMediumSouth16, "arrow south")); + icons.push_back(CIcon(CIcons::NetworkCapabilityTextOnly, "text only")); + icons.push_back(CIcon(CIcons::NetworkCapabilityUnknown, "unknown")); + icons.push_back(CIcon(CIcons::NetworkCapabilityVoice, "voice")); + icons.push_back(CIcon(CIcons::NetworkCapabilityVoiceReceiveOnly, "voice receive")); + icons.push_back(CIcon(CIcons::NetworkRoleApproach, "approach")); + icons.push_back(CIcon(CIcons::NetworkRoleC1, "C1")); + icons.push_back(CIcon(CIcons::NetworkRoleC3, "C3")); + icons.push_back(CIcon(CIcons::NetworkRoleCenter, "center")); + icons.push_back(CIcon(CIcons::NetworkRoleDelivery, "delivery")); + icons.push_back(CIcon(CIcons::NetworkRoleGround, "ground")); + icons.push_back(CIcon(CIcons::NetworkRoleI1, "I1 (instructor)")); + icons.push_back(CIcon(CIcons::NetworkRoleI3, "I3 (instructor)")); + icons.push_back(CIcon(CIcons::NetworkRoleMnt, "Mentor")); + icons.push_back(CIcon(CIcons::NetworkRoleObs, "observer")); + icons.push_back(CIcon(CIcons::NetworkRolePilot, "pilot")); + icons.push_back(CIcon(CIcons::NetworkRoleS1, "S1")); + icons.push_back(CIcon(CIcons::NetworkRoleS2, "S2")); + icons.push_back(CIcon(CIcons::NetworkRoleS3, "S3")); + icons.push_back(CIcon(CIcons::NetworkRoleSup, "supervisor")); + icons.push_back(CIcon(CIcons::NetworkRoleTower, "tower")); + icons.push_back(CIcon(CIcons::NetworkRoleUnknown, "unknown")); + + icons.push_back(CIcon(CIcons::AviationAttitudeIndicator, "attitude indicator")); + icons.push_back(CIcon(CIcons::GeoPosition, "geo position")); + icons.push_back(CIcon(CIcons::NotSet, "?")); + } + return icons; + } + + //! Icon for given index + static const CIcon &iconForIndex(CIcons::IconIndexes index) + { + // remark, find by is copy, need reference of icon + int s = allIcons().size(); + for (int i = 0; i < s; i++) + { + if (allIcons()[i].getIndex() == index) + { + return allIcons()[i]; + } + } + Q_ASSERT_X(false, "iconForIndex", "Missing index"); + return iconForIndex(CIcons::StandardIconUnknown16); + } + + //! Icon for given index + static const CIcon &iconForIndex(int index) { + return iconForIndex(static_cast(index)); + } + + }; +} + +Q_DECLARE_METATYPE(BlackMisc::CIconList) +Q_DECLARE_METATYPE(BlackMisc::CCollection) +Q_DECLARE_METATYPE(BlackMisc::CSequence) + +#endif // guard diff --git a/src/blackmisc/icons.h b/src/blackmisc/icons.h new file mode 100644 index 000000000..ae5748618 --- /dev/null +++ b/src/blackmisc/icons.h @@ -0,0 +1,704 @@ +/* Copyright (C) 2013 + * swift Project Community / Contributors + * + * This file is part of swift Project. It is subject to the license terms in the LICENSE file found in the top-level + * directory of this distribution and at http://www.swift-project.org/license.html. No part of Swift Project: + * including this file, may be copied, modified, propagated, or distributed except according to the terms + * contained in the LICENSE file. + */ + +//! \file + +#ifndef BLACKMISC_ICONS_H +#define BLACKMISC_ICONS_H + +#include + +namespace BlackMisc +{ + //! Standard icons + class CIcons + { + private: + //! Constructor, use class static only + CIcons(); + + public: + + //! Index for each icon, allows to send them via DBus, efficiently store them, etc. + enum IconIndexes + { + NotSet, + StandardIconInfo16, + StandardIconWarning16, + StandardIconGlobe16, + StandardIconError16, + StandardIconClose16, + StandardIconResize16, + StandardIconText16, + StandardIconHeadingOne16, + StandardIconUser16, + StandardIconUsers16, + StandardIconJoystick16, + StandardIconPlugin16, + StandardIconDockTop16, + StandardIconDockBottom16, + StandardIconFloatAll16, + StandardIconFloatOne16, + StandardIconVolumeHigh16, + StandardIconVolumeLow16, + StandardIconVolumeMuted16, + StandardIconWrench16, + StandardIconRadar16, + StandardIconTableRelationship16, + StandardIconPaperPlane16, + StandardIconTableSheet16, + StandardIconWeatherCloudy16, + StandardIconMonitorError16, + StandardIconStatusBar16, + StandardIconUnknown16, + StandardIconArrowMediumNorth16, + StandardIconArrowMediumSouth16, + StandardIconArrowMediumEast16, + StandardIconArrowMediumWest16, + StandardIconEmpty, + StandardIconEmpty16, + StandardIconSwift24, + StandardIconSwift48, + StandardIconSwiftNova24, + StandardIconSwiftNova48, + StandardIconAppWeather16, + StandardIconAppSettings16, + StandardIconAppUsers16, + StandardIconAppFlightPlan16, + StandardIconAppSimulator16, + StandardIconAppTextMessages16, + StandardIconAppAtc16, + StandardIconAppAircrafts16, + StandardIconAppMappings16, + StandardIconAppLog16, + NetworkRoleC1, + NetworkRoleC3, + NetworkRoleI1, + NetworkRoleI3, + NetworkRoleS1, + NetworkRoleS2, + NetworkRoleS3, + NetworkRoleMnt, + NetworkRoleSup, + NetworkRoleObs, + NetworkRolePilot, + NetworkRoleApproach, + NetworkRoleGround, + NetworkRoleDelivery, + NetworkRoleTower, + NetworkRoleCenter, + NetworkRoleUnknown, + NetworkCapabilityVoice, + NetworkCapabilityVoiceReceiveOnly, + NetworkCapabilityTextOnly, + NetworkCapabilityUnknown, + AviationAttitudeIndicator, + GeoPosition + }; + + // ------------------------------------------------------------- + // Standard icons + // ------------------------------------------------------------- + + //! Info + static const QPixmap &info16() + { + static const QPixmap pm(":/pastel/icons/pastel/16/infomation.png"); + return pm; + } + + //! Warning + static const QPixmap &warning16() + { + static const QPixmap pm(":/pastel/icons/pastel/16/bullet-error.png"); + return pm; + } + + //! Error + static const QPixmap &error16() + { + static const QPixmap pm(":/pastel/icons/pastel/16/close-red.png"); + return pm; + } + + //! Close + static const QPixmap &close16() + { + static const QPixmap pm(":/diagona/icons/diagona/icons/cross-button.png"); + return pm; + } + + //! Resize + static const QPixmap &resize16() + { + static const QPixmap pm(":/diagona/icons/diagona/icons/arrow-resize-135.png"); + return pm; + } + + //! Text + static const QPixmap &text16() + { + static const QPixmap pm(":/pastel/icons/pastel/16/application-view-text.png"); + return pm; + } + + //! Globe + static const QPixmap &globe16() + { + static const QPixmap pm(":/diagona/icons/diagona/icons/globe.png"); + return pm; + } + + //! Heading 1 + static const QPixmap &headingOne16() + { + static const QPixmap pm(":/pastel/icons/pastel/16/text-heading-1.png"); + return pm; + } + + //! User + static const QPixmap &user16() + { + static const QPixmap pm(":/pastel/icons/pastel/16/user.png"); + return pm; + } + + //! Users + static const QPixmap &users16() + { + static const QPixmap pm(":/diagona/icons/diagona/icons/users.png"); + return pm; + } + + //! Joystick + static const QPixmap &joystick16() + { + static const QPixmap pm(":/diagona/icons/diagona/icons/joystick.png"); + return pm; + } + + //! Plugin + static const QPixmap &plugin16() + { + static const QPixmap pm(":/pastel/icons/pastel/16/plugin.png"); + return pm; + } + + //! Docking + static const QPixmap &dockTop16() + { + static const QPixmap pm(":/diagona/icons/diagona/icons/application-dock-090.png"); + return pm; + } + + //! Docking + static const QPixmap &dockBottom16() + { + static const QPixmap pm(":/diagona/icons/diagona/icons/application-dock-270.png"); + return pm; + } + + //! Float all + static const QPixmap &floatAll16() + { + static const QPixmap pm(":/pastel/icons/pastel/16/application-cascade.png"); + return pm; + } + + //! Float all + static const QPixmap &floatOne16() + { + static const QPixmap pm(":/pastel/icons/pastel/16/application-double.png"); + return pm; + } + + //! Sound volume high + static const QPixmap &volumeHigh16() + { + static const QPixmap pm(":/diagona/icons/diagona/icons/speaker-volume.png"); + return pm; + } + + //! Sound volume low + static const QPixmap &volumeLow16() + { + static const QPixmap pm(":/diagona/icons/diagona/icons/speaker-volume-low.png"); + return pm; + } + + //! Sound volume muted + static const QPixmap &volumeMuted16() + { + static const QPixmap pm(":/diagona/icons/diagona/icons/speaker-volume-control-mute.png"); + return pm; + } + + //! Wrench + static const QPixmap &wrench16() + { + static const QPixmap pm(":/pastel/icons/pastel/16/wrench.png"); + return pm; + } + + //! Radar + static const QPixmap &radar16() + { + static const QPixmap pm(":/diagona/icons/diagona/icons/radar.png"); + return pm; + } + + //! Radar + static const QPixmap &tableRelationship16() + { + static const QPixmap pm(":/pastel/icons/pastel/16/table-relationship.png"); + return pm; + } + + //! Paper plane + static const QPixmap &paperPlane16() + { + static const QPixmap pm(":/diagona/icons/diagona/icons/paper-plane.png"); + return pm; + } + + //! Table sheet + static const QPixmap &tableSheet16() + { + static const QPixmap pm(":/diagona/icons/diagona/icons/table-sheet.png"); + return pm; + } + + //! Clouds + static const QPixmap &weatherCloudy16() + { + static const QPixmap pm(":/diagona/icons/diagona/icons/weather-cloudy.png"); + return pm; + } + + //! Monitor error + static const QPixmap &monitorError16() + { + static const QPixmap pm(":/pastel/icons/pastel/16/monitor-error.png"); + return pm; + } + + //! Status bar + static const QPixmap &statusBar16() + { + static const QPixmap pm(":/pastel/icons/pastel/16/application-statusbar.png"); + return pm; + } + + //! Unknown + static const QPixmap &unknown16() + { + static const QPixmap pm(":/pastel/icons/pastel/16/help.png"); + return pm; + } + + //! Empty icon + static const QPixmap &empty() + { + static const QPixmap pm; + return pm; + } + + //! Empty icon + static const QPixmap &empty16() + { + static const QPixmap pm(16, 16); + return pm; + } + + //! Arrow + static const QPixmap &arrowMediumNorth16() + { + static const QPixmap pm(":/diagona/icons/diagona/icons/arrow-090-medium.png"); + return pm; + } + + //! Arrow + static const QPixmap &arrowMediumSouth16() + { + static const QPixmap pm(":/diagona/icons/diagona/icons/arrow-270-medium.png"); + return pm; + } + + //! Arrow + static const QPixmap &arrowMediumEast16() + { + static const QPixmap pm(":/diagona/icons/diagona/icons/arrow-000-medium.png"); + return pm; + } + + //! Arrow + static const QPixmap &arrowMediumWest16() + { + static const QPixmap pm(":/diagona/icons/diagona/icons/arrow-180-medium.png"); + return pm; + } + + //! swift icon + static const QPixmap &swift24() + { + static const QPixmap pm(":/own/icons/own/swift/swift24.png"); + return pm; + } + + //! swift icon + static const QPixmap &swift48() + { + static const QPixmap pm(":/own/icons/own/swift/swift48.png"); + return pm; + } + + //! swift icon (nova) + static const QPixmap &swiftNova24() + { + static const QPixmap pm(":/own/icons/own/swift/swiftCartoonNova24.png"); + return pm; + } + + //! swift icon (nova) + static const QPixmap &swiftNova48() + { + static const QPixmap pm(":/own/icons/own/swift/swiftCartoonNova48.png"); + return pm; + } + + //! Application weather + static const QPixmap &appWeather16() + { + return weatherCloudy16(); + } + + //! Application settings + static const QPixmap &appSettings16() + { + return wrench16(); + } + + //! Application users + static const QPixmap &appUsers16() + { + return users16(); + } + + //! Application flight plan + static const QPixmap &appFlightPlan16() + { + return tableSheet16(); + } + + //! Application simulator + static const QPixmap &appSimulator16() + { + return joystick16(); + } + + //! Application text messages + static const QPixmap &appTextMessages16() + { + return text16(); + } + + //! Application ATC + static const QPixmap &appAtc16() + { + return radar16(); + } + + //! Application aircrafts + static const QPixmap &appAircrafts16() + { + return paperPlane16(); + } + + //! Application mappings + static const QPixmap &appMappings16() + { + return tableRelationship16(); + } + + //! Application log/status messages + static const QPixmap &appLog16() + { + return monitorError16(); + } + + // ------------------------------------------------------------- + // Network and aviation + // ------------------------------------------------------------- + + //! C1 + static const QPixmap &roleC1() + { + static const QPixmap pm(":/vatsim/icons/vatsim/C1.png"); + return pm; + } + + //! C2 + static const QPixmap &roleC2() + { + static const QPixmap pm(":/vatsim/icons/vatsim/C2.png"); + return pm; + } + + //! C3 + static const QPixmap &roleC3() + { + static const QPixmap pm(":/vatsim/icons/vatsim/C2.png"); + return pm; + } + + //! S1 + static const QPixmap &roleS1() + { + static const QPixmap pm(":/vatsim/icons/vatsim/S1.png"); + return pm; + } + + //! S2 + static const QPixmap &roleS2() + { + static const QPixmap pm(":/vatsim/icons/vatsim/S2.png"); + return pm; + } + + //! S3 + static const QPixmap &roleS3() + { + static const QPixmap pm(":/vatsim/icons/vatsim/S3.png"); + return pm; + } + + //! I1 + static const QPixmap &roleI1() + { + static const QPixmap pm(":/vatsim/icons/vatsim/I1.png"); + return pm; + } + + //! I3 + static const QPixmap &roleI3() + { + static const QPixmap pm(":/vatsim/icons/vatsim/I3.png"); + return pm; + } + + //! MNT + static const QPixmap &roleMnt() + { + static const QPixmap pm(":/vatsim/icons/vatsim/MNT.png"); + return pm; + } + + //! OBS + static const QPixmap &roleObs() + { + static const QPixmap pm(":/vatsim/icons/vatsim/OBS.png"); + return pm; + } + + //! SUP + static const QPixmap &roleSup() + { + static const QPixmap pm(":/vatsim/icons/vatsim/SUP.png"); + return pm; + } + + //! Pilot + static const QPixmap &rolePilot() + { + static const QPixmap pm(QPixmap(":/own/icons/own/pilot.png").scaledToWidth(16, Qt::SmoothTransformation)); + return pm; + } + + //! Approach + static const QPixmap &roleApproach() + { + static const QPixmap pm(QPixmap(":/own/icons/own/app.jpg").scaledToWidth(16, Qt::SmoothTransformation)); + return pm; + } + + //! Ground + static const QPixmap &roleGround() + { + static const QPixmap pm(QPixmap(":/own/icons/own/gnd.jpg").scaledToWidth(16, Qt::SmoothTransformation)); + return pm; + } + + //! Delivery + static const QPixmap &roleDelivery() + { + static const QPixmap pm(QPixmap(":/own/icons/own/del.jpg").scaledToWidth(16, Qt::SmoothTransformation)); + return pm; + } + + //! Tower + static const QPixmap &roleTower() + { + static const QPixmap pm(QPixmap(":/own/icons/own/twr.jpg").scaledToWidth(16, Qt::SmoothTransformation)); + return pm; + } + + //! Center + static const QPixmap &roleCenter() + { + static const QPixmap pm(QPixmap(":/own/icons/own/ctr.jpg").scaledToWidth(16, Qt::SmoothTransformation)); + return pm; + } + + //! Unknown + static const QPixmap &roleUnknown() + { + static const QPixmap pm(":/pastel/icons/pastel/16/help.png"); + return pm; + } + + //! Full voice capability + static const QPixmap &capabilityVoice() + { + static const QPixmap pm(":/diagona/icons/diagona/icons/headphone.png"); + return pm; + } + + //! Voice receive only + static const QPixmap &capabilityVoiceReceiveOnly() + { + static const QPixmap pm(":/diagona/icons/diagona/icons/headphone.png"); + return pm; + } + + //! Text only + static const QPixmap &capabilityTextOnly() + { + return CIcons::appTextMessages16(); + } + + //! Text only + static const QPixmap &capabilityUnknown() + { + return CIcons::unknown16(); + } + + //! Attitude indicator + static const QPixmap &attitudeIndicator16() + { + static const QPixmap pm(":/own/icons/own/attitude_indicator_climbing_16.png"); + return pm; + } + + //! Geo position + static const QPixmap &geoPosition16() + { + return globe16(); + } + + // ------------------------------------------------------------- + // By index + // ------------------------------------------------------------- + + //! Pixmap by given index + static const QPixmap &pixmapByIndex(IconIndexes index) + { + switch (index) + { + case NotSet: return empty(); + case StandardIconInfo16: return info16(); + case StandardIconWarning16: return warning16(); + case StandardIconError16: return error16(); + case StandardIconClose16: return close16(); + case StandardIconResize16: return resize16(); + case StandardIconText16: return text16(); + case StandardIconGlobe16: return globe16(); + case StandardIconHeadingOne16: return headingOne16(); + case StandardIconUser16: return user16(); + case StandardIconUsers16: return users16(); + case StandardIconJoystick16: return joystick16(); + case StandardIconPlugin16: return plugin16(); + case StandardIconDockTop16: return dockTop16(); + case StandardIconDockBottom16: return dockBottom16(); + case StandardIconFloatAll16: return floatAll16(); + case StandardIconFloatOne16: return floatOne16(); + case StandardIconVolumeHigh16: return volumeHigh16(); + case StandardIconVolumeLow16: return volumeLow16(); + case StandardIconVolumeMuted16: return volumeMuted16(); + case StandardIconWrench16: return wrench16(); + case StandardIconRadar16: return radar16(); + case StandardIconTableRelationship16: return tableRelationship16(); + case StandardIconPaperPlane16: return paperPlane16(); + case StandardIconTableSheet16: return tableSheet16(); + case StandardIconWeatherCloudy16: return weatherCloudy16(); + case StandardIconMonitorError16: return monitorError16(); + case StandardIconStatusBar16: return statusBar16(); + case StandardIconUnknown16: return unknown16(); + case StandardIconArrowMediumNorth16: return arrowMediumNorth16(); + case StandardIconArrowMediumSouth16: return arrowMediumSouth16(); + case StandardIconArrowMediumWest16: return arrowMediumWest16(); + case StandardIconArrowMediumEast16: return arrowMediumEast16(); + case StandardIconEmpty: return empty(); + case StandardIconEmpty16: return empty16(); + case StandardIconSwift24: return swift24(); + case StandardIconSwift48: return swift48(); + case StandardIconSwiftNova24: return swiftNova24(); + case StandardIconSwiftNova48: return swiftNova48(); + case StandardIconAppWeather16: return appWeather16(); + case StandardIconAppSettings16: return appSettings16(); + case StandardIconAppUsers16: return appUsers16(); + case StandardIconAppFlightPlan16: return appFlightPlan16(); + case StandardIconAppSimulator16: return appSimulator16(); + case StandardIconAppTextMessages16: return appTextMessages16(); + case StandardIconAppAtc16: return appAtc16(); + case StandardIconAppAircrafts16: return appAircrafts16(); + case StandardIconAppMappings16: return appMappings16(); + case StandardIconAppLog16: return appLog16(); + case NetworkRoleC1: return roleC1(); + case NetworkRoleC3: return roleC3(); + case NetworkRoleI1: return roleI1(); + case NetworkRoleI3: return roleI3(); + case NetworkRoleS1: return roleS1(); + case NetworkRoleS2: return roleS2(); + case NetworkRoleS3: return roleS3(); + case NetworkRoleMnt: return roleMnt(); + case NetworkRoleSup: return roleSup(); + case NetworkRoleObs: return roleObs(); + case NetworkRolePilot: return rolePilot(); + case NetworkRoleApproach: return roleApproach(); + case NetworkRoleGround: return roleGround(); + case NetworkRoleDelivery: return roleDelivery(); + case NetworkRoleTower: return roleTower(); + case NetworkRoleCenter: return roleCenter(); + case NetworkRoleUnknown: return roleUnknown(); + case NetworkCapabilityVoice: return capabilityVoice(); + case NetworkCapabilityVoiceReceiveOnly: return capabilityVoiceReceiveOnly(); + case NetworkCapabilityTextOnly: return capabilityTextOnly(); + case NetworkCapabilityUnknown: return capabilityUnknown(); + case AviationAttitudeIndicator: return attitudeIndicator16(); + case GeoPosition: return geoPosition16(); + default: return empty(); + } + } + + //! Pixmap by given index rotated + static QPixmap pixmapByIndex(IconIndexes index, int rotateDegrees) + { + const QPixmap original = pixmapByIndex(index); + if (rotateDegrees == 0) return original; + QMatrix rm; + rm.rotate(rotateDegrees); + QPixmap rotated = original.transformed(rm); + int xoffset = (rotated.width() - original.width()) / 2; + int yoffset = (rotated.height() - original.height()) / 2; + rotated = rotated.copy(xoffset, yoffset, original.width(), original.height()); + return rotated; + } + }; +} +#endif // guard diff --git a/src/blackmisc/icons/qled/screenshot.png b/src/blackmisc/icons/qled/screenshot.png deleted file mode 100644 index d4241865171ef224d5bf075b87d5d19af1bab213..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22557 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

JVZa`>B6euswtKe&gZz_lF-o{^3h6 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 Ve8q -#include "iconsstandard.h" - -//! \file - -namespace BlackMisc -{ - //! Standard icons - class CIconsNetworkAndAviation - { - private: - //! Constructor, use class static only - CIconsNetworkAndAviation(); - - public: - - //! C1 - static const QPixmap &roleC1() - { - static const QPixmap pm(":/vatsim/icons/vatsim/C1.png"); - return pm; - } - - //! C2 - static const QPixmap &roleC2() - { - static const QPixmap pm(":/vatsim/icons/vatsim/C2.png"); - return pm; - } - - //! C3 - static const QPixmap &roleC3() - { - static const QPixmap pm(":/vatsim/icons/vatsim/C2.png"); - return pm; - } - - //! S1 - static const QPixmap &roleS1() - { - static const QPixmap pm(":/vatsim/icons/vatsim/S1.png"); - return pm; - } - - //! S2 - static const QPixmap &roleS2() - { - static const QPixmap pm(":/vatsim/icons/vatsim/S2.png"); - return pm; - } - - //! S3 - static const QPixmap &roleS3() - { - static const QPixmap pm(":/vatsim/icons/vatsim/S3.png"); - return pm; - } - - //! I1 - static const QPixmap &roleI1() - { - static const QPixmap pm(":/vatsim/icons/vatsim/I1.png"); - return pm; - } - - //! I3 - static const QPixmap &roleI3() - { - static const QPixmap pm(":/vatsim/icons/vatsim/I3.png"); - return pm; - } - - //! MNT - static const QPixmap &roleMnt() - { - static const QPixmap pm(":/vatsim/icons/vatsim/MNT.png"); - return pm; - } - - //! OBS - static const QPixmap &roleObs() - { - static const QPixmap pm(":/vatsim/icons/vatsim/OBS.png"); - return pm; - } - - //! SUP - static const QPixmap &roleSup() - { - static const QPixmap pm(":/vatsim/icons/vatsim/SUP.png"); - return pm; - } - - //! Pilot - static const QPixmap &rolePilot() - { - static const QPixmap pm(QPixmap(":/own/icons/own/pilot.png").scaledToWidth(16, Qt::SmoothTransformation)); - return pm; - } - - //! Approach - static const QPixmap &roleApproach() - { - static const QPixmap pm(QPixmap(":/own/icons/own/app.jpg").scaledToWidth(16, Qt::SmoothTransformation)); - return pm; - } - - //! Ground - static const QPixmap &roleGround() - { - static const QPixmap pm(QPixmap(":/own/icons/own/gnd.jpg").scaledToWidth(16, Qt::SmoothTransformation)); - return pm; - } - - //! Delivery - static const QPixmap &roleDelivery() - { - static const QPixmap pm(QPixmap(":/own/icons/own/del.jpg").scaledToWidth(16, Qt::SmoothTransformation)); - return pm; - } - - //! Tower - static const QPixmap &roleTower() - { - static const QPixmap pm(QPixmap(":/own/icons/own/twr.jpg").scaledToWidth(16, Qt::SmoothTransformation)); - return pm; - } - - //! Center - static const QPixmap &roleCenter() - { - static const QPixmap pm(QPixmap(":/own/icons/own/ctr.jpg").scaledToWidth(16, Qt::SmoothTransformation)); - return pm; - } - - //! Unknown - static const QPixmap &roleUnknown() - { - static const QPixmap pm(":/pastel/icons/pastel/16/help.png"); - return pm; - } - - //! Connected - static const QPixmap &statusConnected() - { - static const QPixmap pm(":/own/icons/own/logingreen.png"); - return pm; - } - - //! Disconnected - static const QPixmap &statusDisconnected() - { - static const QPixmap pm(":/own/icons/own/loginred.png"); - return pm; - } - - //! Transition - static const QPixmap &statusTransition() - { - static const QPixmap pm(":/own/icons/own/loginyellow.png"); - return pm; - } - - //! Full voice capability - static const QPixmap &capabilityVoice() - { - static const QPixmap pm(":/diagona/icons/diagona/icons/headphone.png"); - return pm; - } - - //! Voice receive only - static const QPixmap &capabilityVoiceReceiveOnly() - { - static const QPixmap pm(":/diagona/icons/diagona/icons/headphone.png"); - return pm; - } - - //! Text only - static const QPixmap &capabilityTextOnly() - { - return CIconsStandard::appTextMessages16(); - } - - //! Text only - static const QPixmap &capabilityUnknown() - { - return CIconsStandard::unknown16(); - } - }; -} -#endif // guard diff --git a/src/blackmisc/iconsstandard.h b/src/blackmisc/iconsstandard.h deleted file mode 100644 index b77bfbcb2..000000000 --- a/src/blackmisc/iconsstandard.h +++ /dev/null @@ -1,321 +0,0 @@ -/* Copyright (C) 2013 - * Swift Project Community / Contributors - * - * This file is part of Swift Project. It is subject to the license terms in the LICENSE file found in the top-level - * directory of this distribution and at http://www.swift-project.org/license.html. No part of Swift Project, - * including this file, may be copied, modified, propagated, or distributed except according to the terms - * contained in the LICENSE file. - */ - -#ifndef BLACKMISC_ICONSSTANDARD_H -#define BLACKMISC_ICONSSTANDARD_H - -#include - -//! \file - -namespace BlackMisc -{ - //! Standard icons - class CIconsStandard - { - private: - //! Constructor, use class static only - CIconsStandard(); - - public: - - //! Info - static const QPixmap &info16() - { - static const QPixmap pm(":/pastel/icons/pastel/16/infomation.png"); - return pm; - } - - //! Warning - static const QPixmap &warning16() - { - static const QPixmap pm(":/pastel/icons/pastel/16/bullet-error.png"); - return pm; - } - - //! Error - static const QPixmap &error16() - { - static const QPixmap pm(":/pastel/icons/pastel/16/close-red.png"); - return pm; - } - - //! Close - static const QPixmap &close16() - { - static const QPixmap pm(":/diagona/icons/diagona/icons/cross-button.png"); - return pm; - } - - //! Resize - static const QPixmap &resize16() - { - static const QPixmap pm(":/diagona/icons/diagona/icons/arrow-resize-135.png"); - return pm; - } - - //! Text - static const QPixmap &text16() - { - static const QPixmap pm(":/pastel/icons/pastel/16/application-view-text.png"); - return pm; - } - - //! Heading 1 - static const QPixmap &headingOne16() - { - static const QPixmap pm(":/pastel/icons/pastel/16/text-heading-1.png"); - return pm; - } - - //! User - static const QPixmap &user16() - { - static const QPixmap pm(":/pastel/icons/pastel/16/user.png"); - return pm; - } - - //! Users - static const QPixmap &users16() - { - static const QPixmap pm(":/diagona/icons/diagona/icons/users.png"); - return pm; - } - - //! Joystick - static const QPixmap &joystick16() - { - static const QPixmap pm(":/diagona/icons/diagona/icons/joystick.png"); - return pm; - } - - //! Plugin - static const QPixmap &plugin16() - { - static const QPixmap pm(":/pastel/icons/pastel/16/plugin.png"); - return pm; - } - - //! Docking - static const QPixmap &dockTop16() - { - static const QPixmap pm(":/diagona/icons/diagona/icons/application-dock-090.png"); - return pm; - } - - //! Docking - static const QPixmap &dockBottom16() - { - static const QPixmap pm(":/diagona/icons/diagona/icons/application-dock-270.png"); - return pm; - } - - //! Float all - static const QPixmap &floatAll16() - { - static const QPixmap pm(":/pastel/icons/pastel/16/application-cascade.png"); - return pm; - } - - //! Float all - static const QPixmap &floatOne16() - { - static const QPixmap pm(":/pastel/icons/pastel/16/application-double.png"); - return pm; - } - - //! Sound volume high - static const QPixmap &volumneHigh16() - { - static const QPixmap pm(":/diagona/icons/diagona/icons/speaker-volume.png"); - return pm; - } - - //! Sound volume low - static const QPixmap &volumneLow16() - { - static const QPixmap pm(":/diagona/icons/diagona/icons/speaker-volume-low.png"); - return pm; - } - - //! Sound volume muted - static const QPixmap &volumneMuted16() - { - static const QPixmap pm(":/diagona/icons/diagona/icons/speaker-volume-control-mute.png"); - return pm; - } - - //! Wrench - static const QPixmap &wrench16() - { - static const QPixmap pm(":/pastel/icons/pastel/16/wrench.png"); - return pm; - } - - //! Radar - static const QPixmap &radar16() - { - static const QPixmap pm(":/diagona/icons/diagona/icons/radar.png"); - return pm; - } - - //! Radar - static const QPixmap &tableRelationship16() - { - static const QPixmap pm(":/pastel/icons/pastel/16/table-relationship.png"); - return pm; - } - - //! Paper plane - static const QPixmap &paperPlane16() - { - static const QPixmap pm(":/diagona/icons/diagona/icons/paper-plane.png"); - return pm; - } - - //! Table sheet - static const QPixmap &tableSheet16() - { - static const QPixmap pm(":/diagona/icons/diagona/icons/table-sheet.png"); - return pm; - } - - //! Clouds - static const QPixmap &weatherCloudy16() - { - static const QPixmap pm(":/diagona/icons/diagona/icons/weather-cloudy.png"); - return pm; - } - - //! Monitor error - static const QPixmap &monitorError16() - { - static const QPixmap pm(":/pastel/icons/pastel/16/monitor-error.png"); - return pm; - } - - //! Status bar - static const QPixmap &statusBar16() - { - static const QPixmap pm(":/pastel/icons/pastel/16/application-statusbar.png"); - return pm; - } - - //! Unknown - static const QPixmap &unknown16() - { - static const QPixmap pm(":/pastel/icons/pastel/16/help.png"); - return pm; - } - - //! Empty icon - static const QPixmap &empty() - { - static const QPixmap pm; - return pm; - } - - //! Empty icon - static const QPixmap &empty16() - { - static const QPixmap pm(16, 16); - return pm; - } - - //! swift icon - static const QPixmap &swift24() - { - static const QPixmap pm(":/own/icons/own/swift/swift24.png"); - return pm; - } - - //! swift icon - static const QPixmap &swift48() - { - static const QPixmap pm(":/own/icons/own/swift/swift48.png"); - return pm; - } - - //! swift icon (nova) - static const QPixmap &swiftNova24() - { - static const QPixmap pm(":/own/icons/own/swift/swiftCartoonNova24.png"); - return pm; - } - - //! swift icon (nova) - static const QPixmap &swiftNova48() - { - static const QPixmap pm(":/own/icons/own/swift/swiftCartoonNova48.png"); - return pm; - } - - //! Application weather - static const QPixmap &appWeather16() - { - return weatherCloudy16(); - } - - //! Application settings - static const QPixmap &appSettings16() - { - return wrench16(); - } - - //! Application users - static const QPixmap &appUsers16() - { - return users16(); - } - - //! Application flight plan - static const QPixmap &appFlightplan16() - { - return tableSheet16(); - } - - //! Application simulator - static const QPixmap &appSimulator16() - { - return joystick16(); - } - - //! Application text messages - static const QPixmap &appTextMessages16() - { - return text16(); - } - - //! Application ATC - static const QPixmap &appAtc16() - { - return radar16(); - } - - //! Application aircrafts - static const QPixmap &appAircrafts16() - { - return paperPlane16(); - } - - //! Application mappings - static const QPixmap &appMappings16() - { - return tableRelationship16(); - } - - //! Application log/status messages - static const QPixmap &appLog16() - { - return monitorError16(); - } - - }; -} -#endif // guard diff --git a/src/blackmisc/nwclient.cpp b/src/blackmisc/nwclient.cpp index 52a8feb0c..3cec5cd62 100644 --- a/src/blackmisc/nwclient.cpp +++ b/src/blackmisc/nwclient.cpp @@ -1,4 +1,5 @@ #include "nwclient.h" +#include "icon.h" #include namespace BlackMisc @@ -194,8 +195,8 @@ namespace BlackMisc case IndexVoiceCapabilitiesString: return QVariant(this->m_voiceCapabilities.toQString(false)); break; - case IndexVoiceCapabilitiesIcon: - return QVariant(this->m_voiceCapabilities.toIcon()); + case IndexVoiceCapabilitiesPixmap: + return QVariant(this->m_voiceCapabilities.toPixmap()); break; default: break; diff --git a/src/blackmisc/nwclient.h b/src/blackmisc/nwclient.h index 88b9537ad..00f5d8253 100644 --- a/src/blackmisc/nwclient.h +++ b/src/blackmisc/nwclient.h @@ -39,7 +39,7 @@ namespace BlackMisc IndexServer, IndexVoiceCapabilities, IndexVoiceCapabilitiesString, - IndexVoiceCapabilitiesIcon + IndexVoiceCapabilitiesPixmap }; /*! @@ -125,7 +125,7 @@ namespace BlackMisc void setAircraftModel(const CAircraftModel &model) { this->m_model = model; } //! \copydoc CValueObject::toIcon() - virtual const QPixmap &toIcon() const override { return this->m_user.toIcon(); } + virtual CIcon toIcon() const override { return this->m_user.toIcon(); } //! Register metadata static void registerMetadata(); diff --git a/src/blackmisc/nwuser.cpp b/src/blackmisc/nwuser.cpp index d623d0a26..421c60b4a 100644 --- a/src/blackmisc/nwuser.cpp +++ b/src/blackmisc/nwuser.cpp @@ -8,6 +8,7 @@ */ #include "nwuser.h" +#include "blackmisc/icon.h" #include "blackmisc/blackmiscfreefunctions.h" #include @@ -178,8 +179,8 @@ namespace BlackMisc return QVariant(this->m_realname); case IndexCallsign: return this->m_callsign.toQVariant(); - case IndexCallsignIcon: - return this->m_callsign.toIcon(); + case IndexCallsignPixmap: + return QVariant(this->m_callsign.toPixmap()); default: break; } diff --git a/src/blackmisc/nwuser.h b/src/blackmisc/nwuser.h index 7f46bf352..c0d2d2501 100644 --- a/src/blackmisc/nwuser.h +++ b/src/blackmisc/nwuser.h @@ -38,7 +38,7 @@ namespace BlackMisc IndexPassword, IndexRealName, IndexCallsign, - IndexCallsignIcon + IndexCallsignPixmap }; //! Default constructor. @@ -118,7 +118,7 @@ namespace BlackMisc void setCallsign(const BlackMisc::Aviation::CCallsign &callsign) { m_callsign = callsign; } //! \copydoc CValueObject::toIcon() - virtual const QPixmap &toIcon() const override { return this->getCallsign().toIcon(); } + virtual BlackMisc::CIcon toIcon() const override { return this->getCallsign().toIcon(); } //! \brief Equal operator == bool operator ==(const CUser &other) const; diff --git a/src/blackmisc/nwvoicecapabilites.cpp b/src/blackmisc/nwvoicecapabilites.cpp index ccabc945c..b446b14de 100644 --- a/src/blackmisc/nwvoicecapabilites.cpp +++ b/src/blackmisc/nwvoicecapabilites.cpp @@ -9,7 +9,7 @@ #include "blackmisc/nwvoicecapabilities.h" #include "blackmisc/blackmiscfreefunctions.h" -#include "blackmisc/iconsnetwork.h" +#include "blackmisc/iconlist.h" #include using namespace BlackMisc; @@ -119,25 +119,28 @@ namespace BlackMisc } /* - * Equal? + * Icon */ - const QPixmap &CVoiceCapabilities::toIcon() const + CIcon CVoiceCapabilities::toIcon() const { switch (this->m_voiceCapabilities) { case Voice: - return CIconsNetworkAndAviation::capabilityVoice(); + return CIconList::iconForIndex(CIcons::NetworkCapabilityVoice); case TextOnly: - return CIconsNetworkAndAviation::capabilityTextOnly(); + return CIconList::iconForIndex(CIcons::NetworkCapabilityTextOnly); case Unknown: - return CIconsNetworkAndAviation::capabilityUnknown(); + return CIconList::iconForIndex(CIcons::NetworkCapabilityUnknown); case VoiceReceivingOnly: - return CIconsNetworkAndAviation::capabilityVoiceReceiveOnly(); + return CIconList::iconForIndex(CIcons::NetworkCapabilityVoiceReceiveOnly); } Q_ASSERT("Wrong index"); - return CIconsNetworkAndAviation::capabilityVoiceReceiveOnly(); // never reached + return CIconList::iconForIndex(CIcons::NetworkCapabilityUnknown); // never reached } + /* + * Equal? + */ bool CVoiceCapabilities::operator ==(const CVoiceCapabilities &other) const { if (this == &other) return true; diff --git a/src/blackmisc/nwvoicecapabilities.h b/src/blackmisc/nwvoicecapabilities.h index ef72272b1..32c54e3fd 100644 --- a/src/blackmisc/nwvoicecapabilities.h +++ b/src/blackmisc/nwvoicecapabilities.h @@ -54,7 +54,7 @@ namespace BlackMisc void setCapabilities(VoiceCapabilities capabilites) { m_voiceCapabilities = static_cast(capabilites); } //! \copydoc CValueObject::toIcon() - virtual const QPixmap &toIcon() const override; + virtual CIcon toIcon() const override; //! Equal operator == bool operator ==(const CVoiceCapabilities &other) const; diff --git a/src/blackmisc/pqangle.cpp b/src/blackmisc/pqangle.cpp new file mode 100644 index 000000000..c5fd8e68b --- /dev/null +++ b/src/blackmisc/pqangle.cpp @@ -0,0 +1,34 @@ +/* Copyright (C) 2013 + * swift Project Community / Contributors + * + * This file is part of swift project. It is subject to the license terms in the LICENSE file found in the top-level + * directory of this distribution and at http://www.swift-project.org/license.html. No part of Swift Project, + * including this file, may be copied, modified, propagated, or distributed except according to the terms + * contained in the LICENSE file. + */ + +#include "iconlist.h" +#include "pqangle.h" + +namespace BlackMisc +{ + namespace PhysicalQuantities + { + BlackMisc::CIcon CAngle::toIcon() const + { + BlackMisc::CIcon i = CIconList::iconForIndex(CIcons::StandardIconArrowMediumNorth16); + i.setRotation(*this); + return i; + } + + double CAngle::piFactor() const + { + return BlackMisc::Math::CMath::round(this->value(CAngleUnit::rad()) / BlackMisc::Math::CMath::PI() , 6); + } + + const double &CAngle::PI() + { + return BlackMisc::Math::CMath::PI(); + } + } +} diff --git a/src/blackmisc/pqangle.h b/src/blackmisc/pqangle.h index 6cf1253a1..44595fc55 100644 --- a/src/blackmisc/pqangle.h +++ b/src/blackmisc/pqangle.h @@ -58,6 +58,8 @@ namespace BlackMisc //! \copydoc CValueObject::toQVariant virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); } + //! \copydoc CValueObject::toQVariant + virtual BlackMisc::CIcon toIcon() const override; //! Virtual destructor virtual ~CAngle() {} diff --git a/src/blackmisc/statusmessage.cpp b/src/blackmisc/statusmessage.cpp index 79b804e42..69ba8e121 100644 --- a/src/blackmisc/statusmessage.cpp +++ b/src/blackmisc/statusmessage.cpp @@ -9,7 +9,7 @@ #include "statusmessage.h" #include "blackmiscfreefunctions.h" -#include "iconsstandard.h" +#include "iconlist.h" #include namespace BlackMisc @@ -109,14 +109,14 @@ namespace BlackMisc /* * Pixmap */ - const QPixmap &CStatusMessage::convertToIcon(const CStatusMessage &statusMessage) + const CIcon &CStatusMessage::convertToIcon(const CStatusMessage &statusMessage) { switch (statusMessage.getSeverity()) { - case SeverityInfo: return CIconsStandard::info16(); - case SeverityWarning: return CIconsStandard::warning16(); - case SeverityError: return CIconsStandard::error16(); - default: return CIconsStandard::info16(); + case SeverityInfo: return CIconList::iconForIndex(CIcons::StandardIconInfo16); + case SeverityWarning: return CIconList::iconForIndex(CIcons::StandardIconWarning16); + case SeverityError: return CIconList::iconForIndex(CIcons::StandardIconError16); + default: return CIconList::iconForIndex(CIcons::StandardIconInfo16); } } diff --git a/src/blackmisc/statusmessage.h b/src/blackmisc/statusmessage.h index a64dd4a7b..ba92c443b 100644 --- a/src/blackmisc/statusmessage.h +++ b/src/blackmisc/statusmessage.h @@ -12,6 +12,7 @@ //! \file +#include "icon.h" #include "valueobject.h" #include @@ -100,7 +101,7 @@ namespace BlackMisc void setSeverity(StatusSeverity severity) { this->m_severity = severity; } //! Representing icon - virtual const QPixmap &toIcon() const override { return CStatusMessage::convertToIcon(*this); } + virtual CIcon toIcon() const override { return CStatusMessage::convertToIcon(*this); } //! Type as string const QString &getSeverityAsString() const; @@ -139,7 +140,7 @@ namespace BlackMisc static CStatusMessage getErrorMessage(const QString &message, StatusType type = CStatusMessage::TypeUnspecific); //! Representing icon - static const QPixmap &convertToIcon(const CStatusMessage &statusMessage); + static const CIcon &convertToIcon(const CStatusMessage &statusMessage); protected: //! \copydoc CValueObject::marshallToDbus diff --git a/src/blackmisc/valueobject.cpp b/src/blackmisc/valueobject.cpp index 0beb1ff41..02a8d41c4 100644 --- a/src/blackmisc/valueobject.cpp +++ b/src/blackmisc/valueobject.cpp @@ -10,6 +10,7 @@ #include "valueobject.h" #include "indexvariantmap.h" #include "blackmiscfreefunctions.h" +#include "iconlist.h" namespace BlackMisc { @@ -129,6 +130,22 @@ namespace BlackMisc return c; } + /* + * Icon + */ + CIcon CValueObject::toIcon() const + { + return CIconList::iconForIndex(CIcons::StandardIconUnknown16); + } + + /* + * Pixmap + */ + QPixmap CValueObject::toPixmap() const + { + return this->toIcon().toPixmap(); + } + /* * Compare with value map */ diff --git a/src/blackmisc/valueobject.h b/src/blackmisc/valueobject.h index ecd7b2d3e..9fc76f488 100644 --- a/src/blackmisc/valueobject.h +++ b/src/blackmisc/valueobject.h @@ -30,6 +30,7 @@ namespace BlackMisc { // forward declaration class CIndexVariantMap; + class CIcon; namespace PhysicalQuantities { @@ -187,7 +188,10 @@ namespace BlackMisc virtual void fromJson(const QJsonObject &json) { Q_UNUSED(json); } //! As icon, not implement by all classes - virtual const QPixmap &toIcon() const { static const QPixmap p; return p; } + virtual CIcon toIcon() const; + + //! As pixmap, required for most GUI views + virtual QPixmap toPixmap() const; /*! * \brief Set property by index