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:
Klaus Basan
2014-09-01 13:24:17 +02:00
parent a6ebfc0e0b
commit c54fa0fd43
7 changed files with 451 additions and 250 deletions

View File

@@ -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>

View File

@@ -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;

View File

@@ -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];
}
}

View File

@@ -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
View 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

View File

@@ -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

View File

@@ -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;
}