mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-03-31 04:25:35 +08:00
refs #314, new icons for formatters
* Moved methods to cpp file (less recompilation) * Background of icons can be changed * refs #322, changed to index based approach for retrieving icons (faster) * therfore: sorted icons per name, easier to keep in sync
This commit is contained in:
@@ -53,6 +53,17 @@
|
||||
<file>icons/pastel/16/monitor-lightning.png</file>
|
||||
<file>icons/pastel/16/monitor-terminal.png</file>
|
||||
<file>icons/pastel/16/text-heading-1.png</file>
|
||||
<file>icons/pastel/16/arrow-refresh.png</file>
|
||||
<file>icons/pastel/16/arrow-refresh-small.png</file>
|
||||
<file>icons/pastel/16/database-refresh.png</file>
|
||||
<file>icons/pastel/16/table-refresh.png</file>
|
||||
<file>icons/pastel/16/attach-delete.png</file>
|
||||
<file>icons/pastel/16/book-delete.png</file>
|
||||
<file>icons/pastel/16/delete.png</file>
|
||||
<file>icons/pastel/16/folder-delete.png</file>
|
||||
<file>icons/pastel/16/font-delete.png</file>
|
||||
<file>icons/pastel/16/table-delete.png</file>
|
||||
<file>icons/pastel/16/table-row-delete.png</file>
|
||||
</qresource>
|
||||
<qresource prefix="/vatsim">
|
||||
<file>icons/vatsim/C1.png</file>
|
||||
@@ -247,6 +258,28 @@
|
||||
<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>
|
||||
<file>icons/diagona/icons/tick.png</file>
|
||||
<file>icons/diagona/icons/tick-button.png</file>
|
||||
<file>icons/diagona/icons/tick-circle.png</file>
|
||||
<file>icons/diagona/icons/tick-circle-frame.png</file>
|
||||
<file>icons/diagona/icons/tick-octagon.png</file>
|
||||
<file>icons/diagona/icons/tick-octagon-frame.png</file>
|
||||
<file>icons/diagona/icons/tick-red.png</file>
|
||||
<file>icons/diagona/icons/tick-shield.png</file>
|
||||
<file>icons/diagona/icons/tick-small.png</file>
|
||||
<file>icons/diagona/icons/tick-small-circle.png</file>
|
||||
<file>icons/diagona/icons/tick-small-red.png</file>
|
||||
<file>icons/diagona/icons/tick-small-white.png</file>
|
||||
<file>icons/diagona/icons/tick-white.png</file>
|
||||
<file>icons/diagona/icons/cross-script.png</file>
|
||||
<file>icons/diagona/icons/cross-small-circle.png</file>
|
||||
<file>icons/diagona/icons/cross-small-white.png</file>
|
||||
<file>icons/diagona/icons/headstone-cross.png</file>
|
||||
<file>icons/diagona/icons/abacus.png</file>
|
||||
<file>icons/diagona/icons/binocular.png</file>
|
||||
<file>icons/diagona/icons/binocular--arrow.png</file>
|
||||
<file>icons/diagona/icons/binocular--exclamation.png</file>
|
||||
<file>icons/diagona/icons/binocular--minus.png</file>
|
||||
</qresource>
|
||||
<qresource prefix="/own">
|
||||
<file>icons/own/app.jpg</file>
|
||||
@@ -306,5 +339,4 @@
|
||||
<file>icons/qled/triang_yellow.svg</file>
|
||||
<file>icons/qled/round_black.svg</file>
|
||||
</qresource>
|
||||
<qresource prefix="/"/>
|
||||
</RCC>
|
||||
|
||||
@@ -49,6 +49,9 @@ namespace BlackMisc
|
||||
//! Rotate by given degrees
|
||||
void setRotation(const BlackMisc::PhysicalQuantities::CAngle &rotate);
|
||||
|
||||
//! Set descriptive text
|
||||
void setDescriptiveText(const QString &text) { this->m_descriptiveText = text; }
|
||||
|
||||
//! Equal operator ==
|
||||
bool operator ==(const CIcon &other) const;
|
||||
|
||||
|
||||
@@ -29,4 +29,110 @@ namespace BlackMisc
|
||||
qRegisterMetaType<CIconList>();
|
||||
qDBusRegisterMetaType<CIconList>();
|
||||
}
|
||||
|
||||
const CIconList &CIconList::allIcons()
|
||||
{
|
||||
static const CIconList icons(
|
||||
{
|
||||
// keep indexes alphabetically sorted and in sync with CIcons
|
||||
CIcon(CIcons::AviationAttitudeIndicator, "attitude indicator"),
|
||||
CIcon(CIcons::GeoPosition, "geo position"),
|
||||
CIcon(CIcons::NetworkCapabilityTextOnly, "text only"),
|
||||
CIcon(CIcons::NetworkCapabilityUnknown, "unknown"),
|
||||
CIcon(CIcons::NetworkCapabilityVoice, "voice"),
|
||||
CIcon(CIcons::NetworkCapabilityVoiceBackground, "voice"),
|
||||
CIcon(CIcons::NetworkCapabilityVoiceReceiveOnly, "voice receive"),
|
||||
CIcon(CIcons::NetworkCapabilityVoiceReceiveOnlyBackground, "voice receive"),
|
||||
CIcon(CIcons::NetworkRoleApproach, "ATC approach"),
|
||||
CIcon(CIcons::NetworkRoleC1, "C1"),
|
||||
CIcon(CIcons::NetworkRoleC3, "C3"),
|
||||
CIcon(CIcons::NetworkRoleCenter, "ATC center"),
|
||||
CIcon(CIcons::NetworkRoleDelivery, "ATC delivery"),
|
||||
CIcon(CIcons::NetworkRoleGround, "ATC ground"),
|
||||
CIcon(CIcons::NetworkRoleI1, "I1 (instructor)"),
|
||||
CIcon(CIcons::NetworkRoleI3, "I3 (instructor)"),
|
||||
CIcon(CIcons::NetworkRoleMnt, "Mentor"),
|
||||
CIcon(CIcons::NetworkRoleObs, "observer"),
|
||||
CIcon(CIcons::NetworkRolePilot, "pilot"),
|
||||
CIcon(CIcons::NetworkRoleS1, "S1"),
|
||||
CIcon(CIcons::NetworkRoleS2, "S2"),
|
||||
CIcon(CIcons::NetworkRoleS3, "S3"),
|
||||
CIcon(CIcons::NetworkRoleSup, "supervisor"),
|
||||
CIcon(CIcons::NetworkRoleTower, "ATC tower"),
|
||||
CIcon(CIcons::NetworkRoleUnknown, "unknown"),
|
||||
CIcon(CIcons::NotSet, "?"),
|
||||
CIcon(CIcons::StandardIconAppAircrafts16, "aircrafts"),
|
||||
CIcon(CIcons::StandardIconAppAtc16, "ATC"),
|
||||
CIcon(CIcons::StandardIconAppFlightPlan16, "flight plan"),
|
||||
CIcon(CIcons::StandardIconAppLog16, "log"),
|
||||
CIcon(CIcons::StandardIconAppMappings16, "mappings"),
|
||||
CIcon(CIcons::StandardIconAppSettings16, "settings"),
|
||||
CIcon(CIcons::StandardIconAppSimulator16, "simulator"),
|
||||
CIcon(CIcons::StandardIconAppTextMessages16, "text messages"),
|
||||
CIcon(CIcons::StandardIconAppUsers16, "users"),
|
||||
CIcon(CIcons::StandardIconAppWeather16, "weather"),
|
||||
CIcon(CIcons::StandardIconArrowMediumEast16, "arrow east"),
|
||||
CIcon(CIcons::StandardIconArrowMediumNorth16, "arrow north"),
|
||||
CIcon(CIcons::StandardIconArrowMediumSouth16, "arrow south"),
|
||||
CIcon(CIcons::StandardIconArrowMediumWest16, "arrow west"),
|
||||
CIcon(CIcons::StandardIconClose16, "close"),
|
||||
CIcon(CIcons::StandardIconCross, "cross"),
|
||||
CIcon(CIcons::StandardIconCrossCircle, "cross circle"),
|
||||
CIcon(CIcons::StandardIconCrossSmall, "cross (small)"),
|
||||
CIcon(CIcons::StandardIconCrossWhite, "cross white"),
|
||||
CIcon(CIcons::StandardIconDelete16, "delete"),
|
||||
CIcon(CIcons::StandardIconDockBottom16, "dock bottom"),
|
||||
CIcon(CIcons::StandardIconDockTop16, "dock top"),
|
||||
CIcon(CIcons::StandardIconEmpty, "empty"),
|
||||
CIcon(CIcons::StandardIconEmpty16, "empty"),
|
||||
CIcon(CIcons::StandardIconError16, "error"),
|
||||
CIcon(CIcons::StandardIconFloatAll16, "float all"),
|
||||
CIcon(CIcons::StandardIconFloatOne16, "floast one"),
|
||||
CIcon(CIcons::StandardIconGlobe16, "globe"),
|
||||
CIcon(CIcons::StandardIconHeadingOne16, "heading"),
|
||||
CIcon(CIcons::StandardIconInfo16, "info"),
|
||||
CIcon(CIcons::StandardIconJoystick16, "joystick"),
|
||||
CIcon(CIcons::StandardIconMonitorError16, "monitor error"),
|
||||
CIcon(CIcons::StandardIconPaperPlane16, "plane"),
|
||||
CIcon(CIcons::StandardIconPlugin16, "plugin"),
|
||||
CIcon(CIcons::StandardIconRadar16, "radar"),
|
||||
CIcon(CIcons::StandardIconRefresh16, "refresh"),
|
||||
CIcon(CIcons::StandardIconResize16, "resize"),
|
||||
CIcon(CIcons::StandardIconStatusBar16, "status bar"),
|
||||
CIcon(CIcons::StandardIconSwift24, "swift"),
|
||||
CIcon(CIcons::StandardIconSwift48, "swift"),
|
||||
CIcon(CIcons::StandardIconSwiftNova24, "swift"),
|
||||
CIcon(CIcons::StandardIconSwiftNova48, "swift"),
|
||||
CIcon(CIcons::StandardIconTableRelationship16, "relationship"),
|
||||
CIcon(CIcons::StandardIconTableSheet16, "table sheet"),
|
||||
CIcon(CIcons::StandardIconText16, "text"),
|
||||
CIcon(CIcons::StandardIconTick, "tick"),
|
||||
CIcon(CIcons::StandardIconTickRed, "tick red"),
|
||||
CIcon(CIcons::StandardIconTickSmall, "tick (small)"),
|
||||
CIcon(CIcons::StandardIconTickWhite, "tick white"),
|
||||
CIcon(CIcons::StandardIconUnknown16, "unknwon"),
|
||||
CIcon(CIcons::StandardIconUser16, "user"),
|
||||
CIcon(CIcons::StandardIconUsers16, "users"),
|
||||
CIcon(CIcons::StandardIconVolumeHigh16, "volume hight"),
|
||||
CIcon(CIcons::StandardIconVolumeLow16, "volume low"),
|
||||
CIcon(CIcons::StandardIconVolumeMuted16, "muted"),
|
||||
CIcon(CIcons::StandardIconWarning16, "warning"),
|
||||
CIcon(CIcons::StandardIconWeatherCloudy16, "cloudy"),
|
||||
CIcon(CIcons::StandardIconWrench16, "wrench")
|
||||
});
|
||||
return icons;
|
||||
}
|
||||
|
||||
const CIcon &CIconList::iconForIndex(CIcons::IconIndex index)
|
||||
{
|
||||
return iconForIndex(static_cast<int>(index));
|
||||
}
|
||||
|
||||
const CIcon &CIconList::iconForIndex(int index)
|
||||
{
|
||||
// changed to index / at based approach during #322 (after Sleepy profiling)
|
||||
// this seems to be faster as the findBy approach previously used, but required synced indexes
|
||||
Q_ASSERT_X(index >= 0 && index < allIcons().size(), "iconForIndex", "wrong index");
|
||||
return allIcons()[index];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -43,102 +43,13 @@ namespace BlackMisc
|
||||
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;
|
||||
}
|
||||
static const CIconList &allIcons();
|
||||
|
||||
//! Icon for given index
|
||||
static const CIcon &iconForIndex(CIcons::IconIndex index)
|
||||
{
|
||||
auto foundRange = allIcons().findBy(&CIcon::getIndex, index);
|
||||
if (!foundRange.isEmpty()) { return foundRange.front(); }
|
||||
Q_ASSERT_X(false, "iconForIndex", "Missing index");
|
||||
return iconForIndex(CIcons::StandardIconUnknown16);
|
||||
}
|
||||
static const CIcon &iconForIndex(CIcons::IconIndex index);
|
||||
|
||||
//! Icon for given index
|
||||
static const CIcon &iconForIndex(int index)
|
||||
{
|
||||
return iconForIndex(static_cast<CIcons::IconIndex>(index));
|
||||
}
|
||||
static const CIcon &iconForIndex(int index);
|
||||
|
||||
};
|
||||
}
|
||||
|
||||
145
src/blackmisc/icons.cpp
Normal file
145
src/blackmisc/icons.cpp
Normal file
@@ -0,0 +1,145 @@
|
||||
/* 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 "icons.h"
|
||||
#include <QImage>
|
||||
#include <QPainter>
|
||||
|
||||
namespace BlackMisc
|
||||
{
|
||||
|
||||
const QPixmap &CIcons::capabilityVoiceBackground()
|
||||
{
|
||||
static const QPixmap pm(changeBackground(":/diagona/icons/diagona/icons/headphone.png", Qt::green));
|
||||
return pm;
|
||||
}
|
||||
|
||||
const QPixmap &CIcons::capabilityVoiceReceiveOnlyBackground()
|
||||
{
|
||||
static const QPixmap pm(changeBackground(":/diagona/icons/diagona/icons/headphone.png", Qt::yellow));
|
||||
return pm;
|
||||
}
|
||||
|
||||
const QPixmap &CIcons::pixmapByIndex(CIcons::IconIndex index)
|
||||
{
|
||||
switch (index)
|
||||
{
|
||||
case AviationAttitudeIndicator: return attitudeIndicator16();
|
||||
case GeoPosition: return geoPosition16();
|
||||
case NetworkCapabilityTextOnly: return capabilityTextOnly();
|
||||
case NetworkCapabilityUnknown: return capabilityUnknown();
|
||||
case NetworkCapabilityVoice: return capabilityVoice();
|
||||
case NetworkCapabilityVoiceBackground: return capabilityVoiceBackground();
|
||||
case NetworkCapabilityVoiceReceiveOnly: return capabilityVoiceReceiveOnly();
|
||||
case NetworkCapabilityVoiceReceiveOnlyBackground: return capabilityVoiceReceiveOnlyBackground();
|
||||
case NetworkRoleApproach: return roleApproach();
|
||||
case NetworkRoleC1: return roleC1();
|
||||
case NetworkRoleC3: return roleC3();
|
||||
case NetworkRoleCenter: return roleCenter();
|
||||
case NetworkRoleDelivery: return roleDelivery();
|
||||
case NetworkRoleGround: return roleGround();
|
||||
case NetworkRoleI1: return roleI1();
|
||||
case NetworkRoleI3: return roleI3();
|
||||
case NetworkRoleMnt: return roleMnt();
|
||||
case NetworkRoleObs: return roleObs();
|
||||
case NetworkRolePilot: return rolePilot();
|
||||
case NetworkRoleS1: return roleS1();
|
||||
case NetworkRoleS2: return roleS2();
|
||||
case NetworkRoleS3: return roleS3();
|
||||
case NetworkRoleSup: return roleSup();
|
||||
case NetworkRoleTower: return roleTower();
|
||||
case NetworkRoleUnknown: return roleUnknown();
|
||||
case NotSet: return empty();
|
||||
case StandardIconAppAircrafts16: return appAircrafts16();
|
||||
case StandardIconAppAtc16: return appAtc16();
|
||||
case StandardIconAppFlightPlan16: return appFlightPlan16();
|
||||
case StandardIconAppLog16: return appLog16();
|
||||
case StandardIconAppMappings16: return appMappings16();
|
||||
case StandardIconAppSettings16: return appSettings16();
|
||||
case StandardIconAppSimulator16: return appSimulator16();
|
||||
case StandardIconAppTextMessages16: return appTextMessages16();
|
||||
case StandardIconAppUsers16: return appUsers16();
|
||||
case StandardIconAppWeather16: return appWeather16();
|
||||
case StandardIconArrowMediumEast16: return arrowMediumEast16();
|
||||
case StandardIconArrowMediumNorth16: return arrowMediumNorth16();
|
||||
case StandardIconArrowMediumSouth16: return arrowMediumSouth16();
|
||||
case StandardIconArrowMediumWest16: return arrowMediumWest16();
|
||||
case StandardIconClose16: return close16();
|
||||
case StandardIconCross: return cross16();
|
||||
case StandardIconCrossCircle: return crossCircle16();
|
||||
case StandardIconCrossSmall: return crossSmall16();
|
||||
case StandardIconCrossWhite: return crossWhite16();
|
||||
case StandardIconDelete16: return delete16();
|
||||
case StandardIconDockBottom16: return dockBottom16();
|
||||
case StandardIconDockTop16: return dockTop16();
|
||||
case StandardIconEmpty16: return empty16();
|
||||
case StandardIconEmpty: return empty();
|
||||
case StandardIconError16: return error16();
|
||||
case StandardIconFloatAll16: return floatAll16();
|
||||
case StandardIconFloatOne16: return floatOne16();
|
||||
case StandardIconGlobe16: return globe16();
|
||||
case StandardIconHeadingOne16: return headingOne16();
|
||||
case StandardIconInfo16: return info16();
|
||||
case StandardIconJoystick16: return joystick16();
|
||||
case StandardIconMonitorError16: return monitorError16();
|
||||
case StandardIconPaperPlane16: return paperPlane16();
|
||||
case StandardIconPlugin16: return plugin16();
|
||||
case StandardIconRadar16: return radar16();
|
||||
case StandardIconRefresh16: return refresh16();
|
||||
case StandardIconResize16: return resize16();
|
||||
case StandardIconStatusBar16: return statusBar16();
|
||||
case StandardIconSwift24: return swift24();
|
||||
case StandardIconSwift48: return swift48();
|
||||
case StandardIconSwiftNova24: return swiftNova24();
|
||||
case StandardIconSwiftNova48: return swiftNova48();
|
||||
case StandardIconTableRelationship16: return tableRelationship16();
|
||||
case StandardIconTableSheet16: return tableSheet16();
|
||||
case StandardIconText16: return text16();
|
||||
case StandardIconTick: return tick16();
|
||||
case StandardIconTickRed: return tickRed16();
|
||||
case StandardIconTickSmall: return tickSmall16();
|
||||
case StandardIconTickWhite: return tickWhite16();
|
||||
case StandardIconUnknown16: return unknown16();
|
||||
case StandardIconUser16: return user16();
|
||||
case StandardIconUsers16: return users16();
|
||||
case StandardIconVolumeHigh16: return volumeHigh16();
|
||||
case StandardIconVolumeLow16: return volumeLow16();
|
||||
case StandardIconVolumeMuted16: return volumeMuted16();
|
||||
case StandardIconWarning16: return warning16();
|
||||
case StandardIconWeatherCloudy16: return weatherCloudy16();
|
||||
case StandardIconWrench16: return wrench16();
|
||||
default: return empty();
|
||||
}
|
||||
}
|
||||
|
||||
QPixmap CIcons::pixmapByIndex(CIcons::IconIndex 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;
|
||||
}
|
||||
|
||||
QPixmap CIcons::changeBackground(const QString resource, Qt::GlobalColor backgroundColor)
|
||||
{
|
||||
QImage resSource(resource);
|
||||
QImage destBackground(resSource.size(), QImage::Format_RGB32);
|
||||
destBackground.fill(backgroundColor);
|
||||
QPainter p(&destBackground);
|
||||
p.setCompositionMode(QPainter::CompositionMode_SourceAtop);
|
||||
p.drawImage(0, 0, resSource);
|
||||
return QPixmap::fromImage(destBackground);
|
||||
}
|
||||
|
||||
} // namespace
|
||||
@@ -27,82 +27,95 @@ namespace BlackMisc
|
||||
//! Index for each icon, allows to send them via DBus, efficiently store them, etc.
|
||||
enum IconIndex
|
||||
{
|
||||
// keep indexes alphabetically sorted and in sync with CIconList
|
||||
AviationAttitudeIndicator,
|
||||
GeoPosition,
|
||||
NetworkCapabilityTextOnly,
|
||||
NetworkCapabilityUnknown,
|
||||
NetworkCapabilityVoice,
|
||||
NetworkCapabilityVoiceBackground,
|
||||
NetworkCapabilityVoiceReceiveOnly,
|
||||
NetworkCapabilityVoiceReceiveOnlyBackground,
|
||||
NetworkRoleApproach,
|
||||
NetworkRoleC1,
|
||||
NetworkRoleC3,
|
||||
NetworkRoleCenter,
|
||||
NetworkRoleDelivery,
|
||||
NetworkRoleGround,
|
||||
NetworkRoleI1,
|
||||
NetworkRoleI3,
|
||||
NetworkRoleMnt,
|
||||
NetworkRoleObs,
|
||||
NetworkRolePilot,
|
||||
NetworkRoleS1,
|
||||
NetworkRoleS2,
|
||||
NetworkRoleS3,
|
||||
NetworkRoleSup,
|
||||
NetworkRoleTower,
|
||||
NetworkRoleUnknown,
|
||||
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,
|
||||
StandardIconAppAircrafts16,
|
||||
StandardIconAppAtc16,
|
||||
StandardIconAppFlightPlan16,
|
||||
StandardIconAppLog16,
|
||||
StandardIconAppMappings16,
|
||||
StandardIconAppSettings16,
|
||||
StandardIconAppSimulator16,
|
||||
StandardIconAppTextMessages16,
|
||||
StandardIconAppUsers16,
|
||||
StandardIconAppWeather16,
|
||||
StandardIconArrowMediumEast16,
|
||||
StandardIconArrowMediumNorth16,
|
||||
StandardIconArrowMediumSouth16,
|
||||
StandardIconArrowMediumEast16,
|
||||
StandardIconArrowMediumWest16,
|
||||
StandardIconClose16,
|
||||
StandardIconCross,
|
||||
StandardIconCrossCircle,
|
||||
StandardIconCrossSmall,
|
||||
StandardIconCrossWhite,
|
||||
StandardIconDelete16,
|
||||
StandardIconDockBottom16,
|
||||
StandardIconDockTop16,
|
||||
StandardIconEmpty,
|
||||
StandardIconEmpty16,
|
||||
StandardIconError16,
|
||||
StandardIconFloatAll16,
|
||||
StandardIconFloatOne16,
|
||||
StandardIconGlobe16,
|
||||
StandardIconHeadingOne16,
|
||||
StandardIconInfo16,
|
||||
StandardIconJoystick16,
|
||||
StandardIconMonitorError16,
|
||||
StandardIconPaperPlane16,
|
||||
StandardIconPlugin16,
|
||||
StandardIconRadar16,
|
||||
StandardIconRefresh16,
|
||||
StandardIconResize16,
|
||||
StandardIconStatusBar16,
|
||||
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
|
||||
StandardIconTableRelationship16,
|
||||
StandardIconTableSheet16,
|
||||
StandardIconText16,
|
||||
StandardIconTick,
|
||||
StandardIconTickRed,
|
||||
StandardIconTickSmall,
|
||||
StandardIconTickWhite,
|
||||
StandardIconUnknown16,
|
||||
StandardIconUser16,
|
||||
StandardIconUsers16,
|
||||
StandardIconVolumeHigh16,
|
||||
StandardIconVolumeLow16,
|
||||
StandardIconVolumeMuted16,
|
||||
StandardIconWarning16,
|
||||
StandardIconWeatherCloudy16,
|
||||
StandardIconWrench16
|
||||
};
|
||||
|
||||
// -------------------------------------------------------------
|
||||
// Standard icons
|
||||
// Standard pixmaps
|
||||
// -------------------------------------------------------------
|
||||
|
||||
//! Info
|
||||
@@ -140,6 +153,13 @@ namespace BlackMisc
|
||||
return pm;
|
||||
}
|
||||
|
||||
//! Resize
|
||||
static const QPixmap &refresh16()
|
||||
{
|
||||
static const QPixmap pm(":/pastel/icons/pastel/16/arrow-refresh.png");
|
||||
return pm;
|
||||
}
|
||||
|
||||
//! Text
|
||||
static const QPixmap &text16()
|
||||
{
|
||||
@@ -175,6 +195,69 @@ namespace BlackMisc
|
||||
return pm;
|
||||
}
|
||||
|
||||
//! Tick
|
||||
static const QPixmap &tick16()
|
||||
{
|
||||
static const QPixmap pm(":/diagona/icons/diagona/icons/tick.png");
|
||||
return pm;
|
||||
}
|
||||
|
||||
//! Tick
|
||||
static const QPixmap &tickRed16()
|
||||
{
|
||||
static const QPixmap pm(":/diagona/icons/diagona/icons/tick-red.png");
|
||||
return pm;
|
||||
}
|
||||
|
||||
//! Tick
|
||||
static const QPixmap &tickWhite16()
|
||||
{
|
||||
static const QPixmap pm(":/diagona/icons/diagona/icons/tick-white.png");
|
||||
return pm;
|
||||
}
|
||||
|
||||
//! Tick
|
||||
static const QPixmap &tickSmall16()
|
||||
{
|
||||
static const QPixmap pm(":/diagona/icons/diagona/icons/tick-small.png");
|
||||
return pm;
|
||||
}
|
||||
|
||||
//! Cross
|
||||
static const QPixmap &cross16()
|
||||
{
|
||||
static const QPixmap pm(":/diagona/icons/diagona/icons/cross.png");
|
||||
return pm;
|
||||
}
|
||||
|
||||
//! Cross
|
||||
static const QPixmap &crossWhite16()
|
||||
{
|
||||
static const QPixmap pm(":/diagona/icons/diagona/icons/cross-white.png");
|
||||
return pm;
|
||||
}
|
||||
|
||||
//! Cross
|
||||
static const QPixmap &crossCircle16()
|
||||
{
|
||||
static const QPixmap pm(":/diagona/icons/diagona/icons/cross-circle.png");
|
||||
return pm;
|
||||
}
|
||||
|
||||
//! Cross
|
||||
static const QPixmap &crossSmall16()
|
||||
{
|
||||
static const QPixmap pm(":/diagona/icons/diagona/icons/cross-small.png");
|
||||
return pm;
|
||||
}
|
||||
|
||||
//! Delete
|
||||
static const QPixmap &delete16()
|
||||
{
|
||||
static const QPixmap pm(":/pastel/icons/pastel/16/delete.png");
|
||||
return pm;
|
||||
}
|
||||
|
||||
//! Joystick
|
||||
static const QPixmap &joystick16()
|
||||
{
|
||||
@@ -568,6 +651,9 @@ namespace BlackMisc
|
||||
return pm;
|
||||
}
|
||||
|
||||
//! Full voice capability
|
||||
static const QPixmap &capabilityVoiceBackground();
|
||||
|
||||
//! Voice receive only
|
||||
static const QPixmap &capabilityVoiceReceiveOnly()
|
||||
{
|
||||
@@ -575,6 +661,9 @@ namespace BlackMisc
|
||||
return pm;
|
||||
}
|
||||
|
||||
//! Voice receive only
|
||||
static const QPixmap &capabilityVoiceReceiveOnlyBackground();
|
||||
|
||||
//! Text only
|
||||
static const QPixmap &capabilityTextOnly()
|
||||
{
|
||||
@@ -605,99 +694,13 @@ namespace BlackMisc
|
||||
// -------------------------------------------------------------
|
||||
|
||||
//! Pixmap by given index
|
||||
static const QPixmap &pixmapByIndex(IconIndex 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();
|
||||
}
|
||||
}
|
||||
static const QPixmap &pixmapByIndex(IconIndex index);
|
||||
|
||||
//! Pixmap by given index rotated
|
||||
static QPixmap pixmapByIndex(IconIndex 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;
|
||||
}
|
||||
static QPixmap pixmapByIndex(IconIndex index, int rotateDegrees);
|
||||
|
||||
//! Change color of resource
|
||||
static QPixmap changeBackground(const QString resource, Qt::GlobalColor backgroundColor);
|
||||
};
|
||||
}
|
||||
#endif // guard
|
||||
|
||||
@@ -30,8 +30,9 @@ namespace BlackMisc
|
||||
/*
|
||||
* Convert to string
|
||||
*/
|
||||
QString CVoiceCapabilities::convertToQString(bool /** i18n **/) const
|
||||
QString CVoiceCapabilities::convertToQString(bool i18n) const
|
||||
{
|
||||
Q_UNUSED(i18n);
|
||||
switch (this->m_voiceCapabilities)
|
||||
{
|
||||
case Voice:
|
||||
@@ -126,13 +127,13 @@ namespace BlackMisc
|
||||
switch (this->m_voiceCapabilities)
|
||||
{
|
||||
case Voice:
|
||||
return CIconList::iconForIndex(CIcons::NetworkCapabilityVoice);
|
||||
return CIconList::iconForIndex(CIcons::NetworkCapabilityVoiceBackground);
|
||||
case TextOnly:
|
||||
return CIconList::iconForIndex(CIcons::NetworkCapabilityTextOnly);
|
||||
case Unknown:
|
||||
return CIconList::iconForIndex(CIcons::NetworkCapabilityUnknown);
|
||||
case VoiceReceivingOnly:
|
||||
return CIconList::iconForIndex(CIcons::NetworkCapabilityVoiceReceiveOnly);
|
||||
return CIconList::iconForIndex(CIcons::NetworkCapabilityVoiceReceiveOnlyBackground);
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user