refs #452, added icons to blackmisc

This commit is contained in:
Klaus Basan
2015-09-23 02:48:34 +02:00
committed by Mathew Sutcliffe
parent abd1927eb9
commit 7ca06c196d
17 changed files with 916 additions and 275 deletions

View File

@@ -71,6 +71,16 @@
<file>icons/pastel/16/lock-edit.png</file> <file>icons/pastel/16/lock-edit.png</file>
<file>icons/pastel/16/lock-go.png</file> <file>icons/pastel/16/lock-go.png</file>
<file>icons/pastel/16/lock-open.png</file> <file>icons/pastel/16/lock-open.png</file>
<file>icons/pastel/16/database.png</file>
<file>icons/pastel/16/database-add.png</file>
<file>icons/pastel/16/database-connect.png</file>
<file>icons/pastel/16/database-delete.png</file>
<file>icons/pastel/16/database-edit.png</file>
<file>icons/pastel/16/database-error.png</file>
<file>icons/pastel/16/database-key.png</file>
<file>icons/pastel/16/database-lightning.png</file>
<file>icons/pastel/16/database-table.png</file>
<file>icons/pastel/16/paintcan.png</file>
</qresource> </qresource>
<qresource prefix="/vatsim"> <qresource prefix="/vatsim">
<file>icons/vatsim/C1.png</file> <file>icons/vatsim/C1.png</file>
@@ -312,6 +322,38 @@
<file>icons/diagona/icons/toggle-expand.png</file> <file>icons/diagona/icons/toggle-expand.png</file>
<file>icons/diagona/icons/toggle-small.png</file> <file>icons/diagona/icons/toggle-small.png</file>
<file>icons/diagona/icons/toggle-small-expand.png</file> <file>icons/diagona/icons/toggle-small-expand.png</file>
<file>icons/diagona/icons/color.png</file>
<file>icons/diagona/icons/color-adjustment.png</file>
<file>icons/diagona/icons/color-adjustment-green.png</file>
<file>icons/diagona/icons/color-adjustment-red.png</file>
<file>icons/diagona/icons/color--arrow.png</file>
<file>icons/diagona/icons/color--exclamation.png</file>
<file>icons/diagona/icons/color--minus.png</file>
<file>icons/diagona/icons/color--pencil.png</file>
<file>icons/diagona/icons/color--plus.png</file>
<file>icons/diagona/icons/color-small.png</file>
<file>icons/diagona/icons/color-swatch.png</file>
<file>icons/diagona/icons/color-swatches.png</file>
<file>icons/diagona/icons/color-swatch-small.png</file>
<file>icons/diagona/icons/ui-color-picker.png</file>
<file>icons/diagona/icons/ui-color-picker-default.png</file>
<file>icons/diagona/icons/ui-color-picker-switch.png</file>
<file>icons/diagona/icons/ui-color-picker-transparent.png</file>
<file>icons/diagona/icons/blue-document-hf-insert.png</file>
<file>icons/diagona/icons/blue-document-hf-insert-footer.png</file>
<file>icons/diagona/icons/blue-document-insert.png</file>
<file>icons/diagona/icons/calendar-insert.png</file>
<file>icons/diagona/icons/database-insert.png</file>
<file>icons/diagona/icons/document-hf-insert.png</file>
<file>icons/diagona/icons/document-hf-insert-footer.png</file>
<file>icons/diagona/icons/document-insert.png</file>
<file>icons/diagona/icons/node-insert.png</file>
<file>icons/diagona/icons/node-insert-child.png</file>
<file>icons/diagona/icons/node-insert-next.png</file>
<file>icons/diagona/icons/node-insert-previous.png</file>
<file>icons/diagona/icons/table-insert.png</file>
<file>icons/diagona/icons/table-insert-column.png</file>
<file>icons/diagona/icons/table-insert-row.png</file>
</qresource> </qresource>
<qresource prefix="/own"> <qresource prefix="/own">
<file>icons/own/app.jpg</file> <file>icons/own/app.jpg</file>
@@ -342,6 +384,7 @@
<file>icons/own/swift/swift64Database.png</file> <file>icons/own/swift/swift64Database.png</file>
<file>icons/own/swift/swift128Database.png</file> <file>icons/own/swift/swift128Database.png</file>
<file>icons/own/swift/swift24Database.png</file> <file>icons/own/swift/swift24Database.png</file>
<file>icons/own/swift/swift16Database.png</file>
</qresource> </qresource>
<qresource prefix="/qled"> <qresource prefix="/qled">
<file>icons/qled/circle_black.svg</file> <file>icons/qled/circle_black.svg</file>
@@ -386,4 +429,12 @@
<file>icons/textures/texture-inner.jpg</file> <file>icons/textures/texture-inner.jpg</file>
<file>icons/textures/texture-outer.jpg</file> <file>icons/textures/texture-outer.jpg</file>
</qresource> </qresource>
<qresource prefix="/preloaders">
<file>icons/preloaders/FillingRing64.gif</file>
<file>icons/preloaders/FloatingRays64.gif</file>
<file>icons/preloaders/FillingRing16.gif</file>
<file>icons/preloaders/FillingRing32.gif</file>
<file>icons/preloaders/FloatingRays16.gif</file>
<file>icons/preloaders/FloatingRays32.gif</file>
</qresource>
</RCC> </RCC>

View File

@@ -13,34 +13,66 @@
namespace BlackMisc namespace BlackMisc
{ {
CIcon::CIcon(CIcons::IconIndex index, const QString &descriptiveText) :
m_index(static_cast<int>(index)), m_descriptiveText(descriptiveText) {}
/* CIcon::CIcon(const QPixmap &pixmap, const QString &descriptiveText) :
* Pixmap m_index(static_cast<int>(CIcons::IconIsGenerated)), m_descriptiveText(descriptiveText), m_pixmap(pixmap)
*/ { }
QPixmap CIcon::toPixmap() const
CIcon::CIcon(const QString &resourceFilePath, const QString &descriptiveText) :
m_index(static_cast<int>(CIcons::IconIsFile)), m_descriptiveText(descriptiveText), m_pixmap(CIcons::pixmapByResourceFileName(resourceFilePath))
{}
CIcons::IconIndex CIcon::getIndex() const
{ {
return CIcons::pixmapByIndex(getIndex(), this->m_rotateDegrees); return static_cast<CIcons::IconIndex>(this->m_index);
}
bool CIcon::isIndexBased() const
{
return m_index >= 0 && m_index < static_cast<int>(CIcons::IconIsGenerated);
}
bool CIcon::isGenerated() const
{
return getIndex() == CIcons::IconIsGenerated;
}
bool CIcon::isFileBased() const
{
return getIndex() == CIcons::IconIsFile;
}
bool CIcon::isSet() const
{
return (this->m_index != static_cast<int>(CIcons::NotSet));
}
QPixmap CIcon::toPixmap() const
{
if (this->isSet())
{
if (this->isGenerated()) { return m_pixmap; }
if (this->isFileBased()) { return m_pixmap; }
return CIcons::pixmapByIndex(getIndex(), this->m_rotateDegrees);
}
else
{
return CIcons::pixmapByIndex(getIndex());
}
} }
/*
* Icon
*/
QIcon CIcon::toQIcon() const QIcon CIcon::toQIcon() const
{ {
return QIcon(toPixmap()); return QIcon(toPixmap());
} }
/*
* Rotate
*/
void CIcon::setRotation(const PhysicalQuantities::CAngle &rotate) void CIcon::setRotation(const PhysicalQuantities::CAngle &rotate)
{ {
this->m_rotateDegrees = rotate.valueRounded(PhysicalQuantities::CAngleUnit::deg(), 0); this->m_rotateDegrees = rotate.valueRounded(PhysicalQuantities::CAngleUnit::deg(), 0);
} }
/*
* String
*/
QString CIcon::convertToQString(bool i18n) const QString CIcon::convertToQString(bool i18n) const
{ {
Q_UNUSED(i18n); Q_UNUSED(i18n);
@@ -60,5 +92,4 @@ namespace BlackMisc
Q_ASSERT_X(index >= 0 && index < CIconList::allIcons().size(), "iconForIndex", "wrong index"); Q_ASSERT_X(index >= 0 && index < CIconList::allIcons().size(), "iconForIndex", "wrong index");
return CIconList::allIcons()[index]; return CIconList::allIcons()[index];
} }
} // namespace } // namespace

View File

@@ -53,8 +53,8 @@ namespace BlackMisc
* the derived class uses this macro to disambiguate the inherited members. * the derived class uses this macro to disambiguate the inherited members.
*/ */
# define BLACKMISC_DECLARE_USING_MIXIN_ICON(DERIVED) \ # define BLACKMISC_DECLARE_USING_MIXIN_ICON(DERIVED) \
using ::BlackMisc::Mixin::Icon<DERIVED>::toIcon; \ using ::BlackMisc::Mixin::Icon<DERIVED>::toIcon; \
using ::BlackMisc::Mixin::Icon<DERIVED>::toPixmap; using ::BlackMisc::Mixin::Icon<DERIVED>::toPixmap;
} // Mixin } // Mixin
//! Value object for icons. An icon is stored in the global icon repository and //! Value object for icons. An icon is stored in the global icon repository and
@@ -75,14 +75,31 @@ namespace BlackMisc
CIcon() = default; CIcon() = default;
//! Constructor. //! Constructor.
CIcon(CIcons::IconIndex index, const QString &descriptiveText) : CIcon(CIcons::IconIndex index, const QString &descriptiveText);
m_index(static_cast<int>(index)), m_descriptiveText(descriptiveText) {}
//! Constructor for generated icon
CIcon(const QPixmap &pixmap, const QString &descriptiveText);
//! Construcror for file icons
CIcon(const QString &resourceFilePath, const QString &descriptiveText);
//! Get descriptive text //! Get descriptive text
const QString &getDescriptiveText() const { return this->m_descriptiveText; } const QString &getDescriptiveText() const { return this->m_descriptiveText; }
//! Index //! Index
CIcons::IconIndex getIndex() const { return static_cast< CIcons::IconIndex>(this->m_index);} CIcons::IconIndex getIndex() const;
//! Index based
bool isIndexBased() const;
//! Generated icon
bool isGenerated() const;
//! File based?
bool isFileBased() const;
//! Icon set?
bool isSet() const;
//! Corresponding pixmap //! Corresponding pixmap
QPixmap toPixmap() const; QPixmap toPixmap() const;
@@ -90,9 +107,6 @@ namespace BlackMisc
//! A QIcon //! A QIcon
QIcon toQIcon() const; QIcon toQIcon() const;
//! Icon set?
bool isSet() const { return (this->m_index != static_cast<int>(CIcons::NotSet));}
//! Rotate by n degrees //! Rotate by n degrees
void setRotation(int degrees) { this->m_rotateDegrees = degrees; } void setRotation(int degrees) { this->m_rotateDegrees = degrees; }
@@ -117,8 +131,9 @@ namespace BlackMisc
private: private:
BLACK_ENABLE_TUPLE_CONVERSION(CIcon) BLACK_ENABLE_TUPLE_CONVERSION(CIcon)
int m_index = static_cast<int>(CIcons::NotSet); int m_index = static_cast<int>(CIcons::NotSet);
int m_rotateDegrees = 0; int m_rotateDegrees = 0; //!< Rotation
QString m_descriptiveText; QString m_descriptiveText; //!< what does it represent?
QPixmap m_pixmap; //!< Used with generated pixmaps, when not used with index
}; };
namespace Private namespace Private
@@ -142,7 +157,12 @@ namespace BlackMisc
} }
} // namespace } // namespace
BLACK_DECLARE_TUPLE_CONVERSION(BlackMisc::CIcon, (o.m_index, o.m_descriptiveText)) BLACK_DECLARE_TUPLE_CONVERSION(BlackMisc::CIcon, (
attr(o.m_index),
attr(o.m_rotateDegrees, flags < DisabledForComparison | DisabledForHashing > ()),
attr(o.m_descriptiveText)
))
Q_DECLARE_METATYPE(BlackMisc::CIcon) Q_DECLARE_METATYPE(BlackMisc::CIcon)
#endif // guard #endif // guard

View File

@@ -33,120 +33,144 @@ namespace BlackMisc
const CIconList &CIconList::allIcons() const CIconList &CIconList::allIcons()
{ {
// keep indexes alphabetically sorted and in sync with CIcons
// req. for "iconByIndex"
static const CIconList icons( static const CIconList icons(
{ {
// keep indexes alphabetically sorted and in sync with CIcons CIcon(CIcons::ApplicationAircraft, "aircraft"),
// req. for "iconByIndex" CIcon(CIcons::ApplicationAircraftIcao, "ICAO aircraft"),
CIcon(CIcons::ApplicationIconAircrafts, "aircrafts"), CIcon(CIcons::ApplicationAirlineIcao, "ICAO airlines"),
CIcon(CIcons::ApplicationIconAtc, "ATC"), CIcon(CIcons::ApplicationAtc, "ATC"),
CIcon(CIcons::ApplicationIconAudio, "audio"), CIcon(CIcons::ApplicationAudio, "audio"),
CIcon(CIcons::ApplicationIconCockpit, "cockpit"), CIcon(CIcons::ApplicationCockpit, "cockpit"),
CIcon(CIcons::ApplicationIconFlightPlan, "flightplan"), CIcon(CIcons::ApplicationCountries, "countries"),
CIcon(CIcons::ApplicationIconLog, "log"), CIcon(CIcons::ApplicationDatabase, "database"),
CIcon(CIcons::ApplicationIconMappings, "mappings"), CIcon(CIcons::ApplicationDbStash, "DB stash"),
CIcon(CIcons::ApplicationIconSettings, "settings"), CIcon(CIcons::ApplicationDistributors, "distributors"),
CIcon(CIcons::ApplicationIconSimulator, "simulator"), CIcon(CIcons::ApplicationFlightPlan, "flightplan"),
CIcon(CIcons::ApplicationIconTextMessages, "text messages"), CIcon(CIcons::ApplicationLog, "log"),
CIcon(CIcons::ApplicationIconWeather, "weather"), CIcon(CIcons::ApplicationMappings, "mappings"),
CIcon(CIcons::AviationAtis, "ATIS"), CIcon(CIcons::ApplicationLiveries, "liveries"),
CIcon(CIcons::AviationAttitudeIndicator, "attitude indicator"), CIcon(CIcons::ApplicationModels, "models"),
CIcon(CIcons::AviationMetar, "METAR"), CIcon(CIcons::ApplicationSettings, "settings"),
CIcon(CIcons::GeoPosition, "geo position"), CIcon(CIcons::ApplicationSimulator, "simulator"),
CIcon(CIcons::NetworkCapabilityTextOnly, "text only"), CIcon(CIcons::ApplicationTextMessages, "text messages"),
CIcon(CIcons::NetworkCapabilityUnknown, "unknown"), CIcon(CIcons::ApplicationWeather, "weather"),
CIcon(CIcons::NetworkCapabilityVoice, "voice"), CIcon(CIcons::AviationAtis, "ATIS"),
CIcon(CIcons::NetworkCapabilityVoiceBackground, "voice"), CIcon(CIcons::AviationAttitudeIndicator, "attitude indicator"),
CIcon(CIcons::NetworkCapabilityVoiceReceiveOnly, "voice receive"), CIcon(CIcons::AviationMetar, "METAR"),
CIcon(CIcons::NetworkCapabilityVoiceReceiveOnlyBackground, "voice receive"), CIcon(CIcons::GeoPosition, "geo position"),
CIcon(CIcons::NetworkRoleApproach, "ATC approach"), CIcon(CIcons::NetworkCapabilityTextOnly, "text only"),
CIcon(CIcons::NetworkRoleC1, "C1"), CIcon(CIcons::NetworkCapabilityUnknown, "unknown"),
CIcon(CIcons::NetworkRoleC3, "C3"), CIcon(CIcons::NetworkCapabilityVoice, "voice"),
CIcon(CIcons::NetworkRoleCenter, "ATC center"), CIcon(CIcons::NetworkCapabilityVoiceBackground, "voice"),
CIcon(CIcons::NetworkRoleDelivery, "ATC delivery"), CIcon(CIcons::NetworkCapabilityVoiceReceiveOnly, "voice receive"),
CIcon(CIcons::NetworkRoleFss, "FSS"), CIcon(CIcons::NetworkCapabilityVoiceReceiveOnlyBackground, "voice receive"),
CIcon(CIcons::NetworkRoleGround, "ATC ground"), CIcon(CIcons::NetworkRoleApproach, "ATC approach"),
CIcon(CIcons::NetworkRoleI1, "I1 (instructor)"), CIcon(CIcons::NetworkRoleC1, "C1"),
CIcon(CIcons::NetworkRoleI3, "I3 (instructor)"), CIcon(CIcons::NetworkRoleC3, "C3"),
CIcon(CIcons::NetworkRoleMnt, "Mentor"), CIcon(CIcons::NetworkRoleCenter, "ATC center"),
CIcon(CIcons::NetworkRoleObs, "observer"), CIcon(CIcons::NetworkRoleDelivery, "ATC delivery"),
CIcon(CIcons::NetworkRolePilot, "pilot"), CIcon(CIcons::NetworkRoleFss, "FSS"),
CIcon(CIcons::NetworkRoleS1, "S1"), CIcon(CIcons::NetworkRoleGround, "ATC ground"),
CIcon(CIcons::NetworkRoleS2, "S2"), CIcon(CIcons::NetworkRoleI1, "I1 (instructor)"),
CIcon(CIcons::NetworkRoleS3, "S3"), CIcon(CIcons::NetworkRoleI3, "I3 (instructor)"),
CIcon(CIcons::NetworkRoleSup, "supervisor"), CIcon(CIcons::NetworkRoleMnt, "Mentor"),
CIcon(CIcons::NetworkRoleTower, "ATC tower"), CIcon(CIcons::NetworkRoleObs, "observer"),
CIcon(CIcons::NetworkRoleUnknown, "unknown"), CIcon(CIcons::NetworkRolePilot, "pilot"),
CIcon(CIcons::NetworkVatsimLogo, "VATSIM"), CIcon(CIcons::NetworkRoleS1, "S1"),
CIcon(CIcons::NetworkVatsimLogoWhite, "VATSIM"), CIcon(CIcons::NetworkRoleS2, "S2"),
CIcon(CIcons::NotSet, "?"), CIcon(CIcons::NetworkRoleS3, "S3"),
CIcon(CIcons::StandardIconAppAircrafts16, "aircrafts"), CIcon(CIcons::NetworkRoleSup, "supervisor"),
CIcon(CIcons::StandardIconAppAtc16, "ATC"), CIcon(CIcons::NetworkRoleTower, "ATC tower"),
CIcon(CIcons::StandardIconAppFlightPlan16, "flight plan"), CIcon(CIcons::NetworkRoleUnknown, "unknown"),
CIcon(CIcons::StandardIconAppLog16, "log"), CIcon(CIcons::NetworkVatsimLogo, "VATSIM"),
CIcon(CIcons::StandardIconAppMappings16, "mappings"), CIcon(CIcons::NetworkVatsimLogoWhite, "VATSIM"),
CIcon(CIcons::StandardIconAppSettings16, "settings"), CIcon(CIcons::NotSet, "?"),
CIcon(CIcons::StandardIconAppSimulator16, "simulator"), CIcon(CIcons::StandardIconAppAircrafts16, "aircrafts"),
CIcon(CIcons::StandardIconAppTextMessages16, "text messages"), CIcon(CIcons::StandardIconAppAtc16, "ATC"),
CIcon(CIcons::StandardIconAppUsers16, "users"), CIcon(CIcons::StandardIconAppFlightPlan16, "flight plan"),
CIcon(CIcons::StandardIconAppWeather16, "weather"), CIcon(CIcons::StandardIconAppLog16, "log"),
CIcon(CIcons::StandardIconArrowMediumEast16, "arrow east"), CIcon(CIcons::StandardIconAppMappings16, "mappings"),
CIcon(CIcons::StandardIconArrowMediumNorth16, "arrow north"), CIcon(CIcons::StandardIconAppSettings16, "settings"),
CIcon(CIcons::StandardIconArrowMediumSouth16, "arrow south"), CIcon(CIcons::StandardIconAppSimulator16, "simulator"),
CIcon(CIcons::StandardIconArrowMediumWest16, "arrow west"), CIcon(CIcons::StandardIconAppTextMessages16, "text messages"),
CIcon(CIcons::StandardIconClose16, "close"), CIcon(CIcons::StandardIconAppUsers16, "users"),
CIcon(CIcons::StandardIconCross16, "cross"), CIcon(CIcons::StandardIconAppWeather16, "weather"),
CIcon(CIcons::StandardIconCrossCircle16, "cross circle"), CIcon(CIcons::StandardIconArrowMediumEast16, "arrow east"),
CIcon(CIcons::StandardIconCrossSmall16, "cross (small)"), CIcon(CIcons::StandardIconArrowMediumNorth16, "arrow north"),
CIcon(CIcons::StandardIconCrossWhite16, "cross white"), CIcon(CIcons::StandardIconArrowMediumSouth16, "arrow south"),
CIcon(CIcons::StandardIconDelete16, "delete"), CIcon(CIcons::StandardIconArrowMediumWest16, "arrow west"),
CIcon(CIcons::StandardIconDockBottom16, "dock bottom"), CIcon(CIcons::StandardIconClose16, "close"),
CIcon(CIcons::StandardIconDockTop16, "dock top"), CIcon(CIcons::StandardIconColor16, "color"),
CIcon(CIcons::StandardIconEmpty, "empty"), CIcon(CIcons::StandardIconColorPicker16, "color picker"),
CIcon(CIcons::StandardIconEmpty16, "empty"), CIcon(CIcons::StandardIconColorSwatch16, "color swatch"),
CIcon(CIcons::StandardIconError16, "error"), CIcon(CIcons::StandardIconCross16, "cross"),
CIcon(CIcons::StandardIconFloatAll16, "float all"), CIcon(CIcons::StandardIconCrossCircle16, "cross circle"),
CIcon(CIcons::StandardIconFloatOne16, "floast one"), CIcon(CIcons::StandardIconCrossSmall16, "cross (small)"),
CIcon(CIcons::StandardIconGlobe16, "globe"), CIcon(CIcons::StandardIconCrossWhite16, "cross white"),
CIcon(CIcons::StandardIconHeadingOne16, "heading"), CIcon(CIcons::StandardIconDatabase16, "database"),
CIcon(CIcons::StandardIconInfo16, "info"), CIcon(CIcons::StandardIconDatabaseAdd16, "add to database"),
CIcon(CIcons::StandardIconJoystick16, "joystick"), CIcon(CIcons::StandardIconDatabaseConnect16, "connect database"),
CIcon(CIcons::StandardIconLockClosed16, "lock"), CIcon(CIcons::StandardIconDatabaseDelete16, "delete from database"),
CIcon(CIcons::StandardIconLockOpen16, "lock open"), CIcon(CIcons::StandardIconDatabaseEdit16, "edit database"),
CIcon(CIcons::StandardIconMonitorError16, "monitor error"), CIcon(CIcons::StandardIconDatabaseError16, "error"),
CIcon(CIcons::StandardIconPaperPlane16, "plane"), CIcon(CIcons::StandardIconDatabaseKey16, "key"),
CIcon(CIcons::StandardIconPlugin16, "plugin"), CIcon(CIcons::StandardIconDatabaseTable16, "table"),
CIcon(CIcons::StandardIconRadar16, "radar"), CIcon(CIcons::StandardIconDelete16, "delete"),
CIcon(CIcons::StandardIconRadio16, "radio"), CIcon(CIcons::StandardIconDockBottom16, "dock bottom"),
CIcon(CIcons::StandardIconRefresh16, "refresh"), CIcon(CIcons::StandardIconDockTop16, "dock top"),
CIcon(CIcons::StandardIconResize16, "resize"), CIcon(CIcons::StandardIconDragAndDrop16, "drag and drop"),
CIcon(CIcons::StandardIconResizeHorizontal16, "resize (horizontal)"), CIcon(CIcons::StandardIconEmpty, "empty"),
CIcon(CIcons::StandardIconResizeVertical16, "resize (vertical)"), CIcon(CIcons::StandardIconEmpty16, "empty"),
CIcon(CIcons::StandardIconSpeakerNetwork16, "speaker (network)"), CIcon(CIcons::StandardIconError16, "error"),
CIcon(CIcons::StandardIconStatusBar16, "status bar"), CIcon(CIcons::StandardIconFloatAll16, "float all"),
CIcon(CIcons::StandardIconSwift24, "swift"), CIcon(CIcons::StandardIconFloatOne16, "floast one"),
CIcon(CIcons::StandardIconSwift48, "swift"), CIcon(CIcons::StandardIconGlobe16, "globe"),
CIcon(CIcons::StandardIconSwiftDatabase24, "swift"), CIcon(CIcons::StandardIconHeadingOne16, "heading"),
CIcon(CIcons::StandardIconSwiftDatabase48, "swift"), CIcon(CIcons::StandardIconInfo16, "info"),
CIcon(CIcons::StandardIconSwiftNova24, "swift"), CIcon(CIcons::StandardIconJoystick16, "joystick"),
CIcon(CIcons::StandardIconSwiftNova48, "swift"), CIcon(CIcons::StandardIconLockClosed16, "lock"),
CIcon(CIcons::StandardIconTableRelationship16, "relationship"), CIcon(CIcons::StandardIconLockOpen16, "lock open"),
CIcon(CIcons::StandardIconTableSheet16, "table sheet"), CIcon(CIcons::StandardIconMonitorError16, "monitor error"),
CIcon(CIcons::StandardIconText16, "text"), CIcon(CIcons::StandardIconPaperPlane16, "plane"),
CIcon(CIcons::StandardIconTick16, "tick"), CIcon(CIcons::StandardIconPaintCan16, "paint can"),
CIcon(CIcons::StandardIconTickRed16, "tick red"), CIcon(CIcons::StandardIconPlugin16, "plugin"),
CIcon(CIcons::StandardIconTickSmall16, "tick (small)"), CIcon(CIcons::StandardIconRadar16, "radar"),
CIcon(CIcons::StandardIconTickWhite16, "tick white"), CIcon(CIcons::StandardIconRadio16, "radio"),
CIcon(CIcons::StandardIconUnknown16, "unknwon"), CIcon(CIcons::StandardIconRefresh16, "refresh"),
CIcon(CIcons::StandardIconUser16, "user"), CIcon(CIcons::StandardIconResize16, "resize"),
CIcon(CIcons::StandardIconUsers16, "users"), CIcon(CIcons::StandardIconResizeHorizontal16, "resize (horizontal)"),
CIcon(CIcons::StandardIconViewMulticolumn16, "view multicolumn"), CIcon(CIcons::StandardIconResizeVertical16, "resize (vertical)"),
CIcon(CIcons::StandardIconViewTile16, "view tile"), CIcon(CIcons::StandardIconSpeakerNetwork16, "speaker (network)"),
CIcon(CIcons::StandardIconVolumeHigh16, "volume hight"), CIcon(CIcons::StandardIconStatusBar16, "status bar"),
CIcon(CIcons::StandardIconVolumeLow16, "volume low"), CIcon(CIcons::StandardIconTableRelationship16, "relationship"),
CIcon(CIcons::StandardIconVolumeMuted16, "muted"), CIcon(CIcons::StandardIconTableSheet16, "table sheet"),
CIcon(CIcons::StandardIconWarning16, "warning"), CIcon(CIcons::StandardIconText16, "text"),
CIcon(CIcons::StandardIconWeatherCloudy16, "cloudy"), CIcon(CIcons::StandardIconTick16, "tick"),
CIcon(CIcons::StandardIconWrench16, "wrench") CIcon(CIcons::StandardIconTickRed16, "tick red"),
CIcon(CIcons::StandardIconTickSmall16, "tick (small)"),
CIcon(CIcons::StandardIconTickWhite16, "tick white"),
CIcon(CIcons::StandardIconUnknown16, "unknwon"),
CIcon(CIcons::StandardIconUser16, "user"),
CIcon(CIcons::StandardIconUsers16, "users"),
CIcon(CIcons::StandardIconViewMulticolumn16, "view multicolumn"),
CIcon(CIcons::StandardIconViewTile16, "view tile"),
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"),
CIcon(CIcons::Swift16, "swift"),
CIcon(CIcons::Swift24, "swift"),
CIcon(CIcons::Swift48, "swift"),
CIcon(CIcons::SwiftDatabase16, "swift"),
CIcon(CIcons::SwiftDatabase24, "swift"),
CIcon(CIcons::SwiftDatabase48, "swift"),
CIcon(CIcons::SwiftNova16, "swift"),
CIcon(CIcons::SwiftNova24, "swift"),
CIcon(CIcons::SwiftNova48, "swift")
}); });
return icons; return icons;
} }
@@ -160,4 +184,4 @@ namespace BlackMisc
{ {
return CIcon::iconByIndex(index); return CIcon::iconByIndex(index);
} }
} } // ns

View File

@@ -11,6 +11,7 @@
#include <QImage> #include <QImage>
#include <QIcon> #include <QIcon>
#include <QPainter> #include <QPainter>
#include <QCoreApplication>
namespace BlackMisc namespace BlackMisc
{ {
@@ -39,6 +40,24 @@ namespace BlackMisc
return pm; return pm;
} }
const QPixmap &CIcons::color16()
{
static const QPixmap pm(":/diagona/icons/diagona/icons/color.png");
return pm;
}
const QPixmap &CIcons::colorPicker16()
{
static const QPixmap pm(":/diagona/icons/diagona/icons/ui-color-picker.png");
return pm;
}
const QPixmap &CIcons::colorSwatch16()
{
static const QPixmap pm(":/diagona/icons/diagona/icons/color-swatches.png");
return pm;
}
const QPixmap &CIcons::resize16() const QPixmap &CIcons::resize16()
{ {
static const QPixmap pm(":/diagona/icons/diagona/icons/arrow-resize-135.png"); static const QPixmap pm(":/diagona/icons/diagona/icons/arrow-resize-135.png");
@@ -189,6 +208,12 @@ namespace BlackMisc
return pm; return pm;
} }
const QPixmap &CIcons::paintCan16()
{
static const QPixmap pm(":/pastel/icons/pastel/16/paintcan.png");
return pm;
}
const QPixmap &CIcons::plugin16() const QPixmap &CIcons::plugin16()
{ {
static const QPixmap pm(":/pastel/icons/pastel/16/plugin.png"); static const QPixmap pm(":/pastel/icons/pastel/16/plugin.png");
@@ -207,6 +232,12 @@ namespace BlackMisc
return pm; return pm;
} }
const QPixmap &CIcons::dragAndDrop16()
{
static const QPixmap pm(":/diagona/icons/diagona/icons/document-insert.png");
return pm;
}
const QPixmap &CIcons::floatAll16() const QPixmap &CIcons::floatAll16()
{ {
static const QPixmap pm(":/pastel/icons/pastel/16/application-cascade.png"); static const QPixmap pm(":/pastel/icons/pastel/16/application-cascade.png");
@@ -327,6 +358,78 @@ namespace BlackMisc
return pm; return pm;
} }
const QPixmap &CIcons::database16()
{
static const QPixmap pm(":/pastel/icons/pastel/16/database.png");
return pm;
}
const QPixmap &CIcons::databaseAdd16()
{
static const QPixmap pm(":/pastel/icons/pastel/16/database-add.png");
return pm;
}
const QPixmap &CIcons::databaseConnect16()
{
static const QPixmap pm(":/pastel/icons/pastel/16/database-conenct.png");
return pm;
}
const QPixmap &CIcons::databaseDelete16()
{
static const QPixmap pm(":/pastel/icons/pastel/16/database-delete.png");
return pm;
}
const QPixmap &CIcons::databaseEdit16()
{
static const QPixmap pm(":/pastel/icons/pastel/16/database-edit.png");
return pm;
}
const QPixmap &CIcons::databaseError16()
{
static const QPixmap pm(":/pastel/icons/pastel/16/database-error.png");
return pm;
}
const QPixmap &CIcons::databaseKey16()
{
static const QPixmap pm(":/pastel/icons/pastel/16/database-key.png");
return pm;
}
const QPixmap &CIcons::databaseTable16()
{
static const QPixmap pm(":/pastel/icons/pastel/16/database-table.png");
return pm;
}
const QPixmap &CIcons::preloader64()
{
static const QPixmap pm(":/preloaders/icons/preloaders/FillingRing64.gif");
return pm;
}
const QPixmap &CIcons::preloader32()
{
static const QPixmap pm(":/preloaders/icons/preloaders/FillingRing32.gif");
return pm;
}
const QPixmap &CIcons::preloader16()
{
static const QPixmap pm(":/preloaders/icons/preloaders/FillingRing16.gif");
return pm;
}
const QPixmap &CIcons::swift16()
{
static const QPixmap pm(swift48().scaled(16, 16));
return pm;
}
const QPixmap &CIcons::swift24() const QPixmap &CIcons::swift24()
{ {
static const QPixmap pm(":/own/icons/own/swift/swift24.png"); static const QPixmap pm(":/own/icons/own/swift/swift24.png");
@@ -351,6 +454,12 @@ namespace BlackMisc
return pm; return pm;
} }
const QPixmap &CIcons::swiftDatabase16()
{
static const QPixmap pm(":/own/icons/own/swift/swiftDatabase16.png");
return pm;
}
const QPixmap &CIcons::swiftDatabase24() const QPixmap &CIcons::swiftDatabase24()
{ {
static const QPixmap pm(":/own/icons/own/swift/swiftDatabase24.png"); static const QPixmap pm(":/own/icons/own/swift/swiftDatabase24.png");
@@ -363,6 +472,12 @@ namespace BlackMisc
return pm; return pm;
} }
const QPixmap &CIcons::swiftNova16()
{
static const QPixmap pm(swiftNova48().scaled(16, 16));
return pm;
}
const QPixmap &CIcons::appWeather16() const QPixmap &CIcons::appWeather16()
{ {
return weatherCloudy16(); return weatherCloudy16();
@@ -403,7 +518,7 @@ namespace BlackMisc
return radar16(); return radar16();
} }
const QPixmap &CIcons::appAircrafts16() const QPixmap &CIcons::appAircraft16()
{ {
return paperPlane16(); return paperPlane16();
} }
@@ -428,6 +543,46 @@ namespace BlackMisc
return tableRelationship16(); return tableRelationship16();
} }
const QPixmap &CIcons::appDatabase16()
{
return database16();
}
const QPixmap &CIcons::appAircraftIcao16()
{
return paperPlane16();
}
const QPixmap &CIcons::appAirlineIcao16()
{
return paperPlane16();
}
const QPixmap &CIcons::appLiveries16()
{
return paintCan16();
}
const QPixmap &CIcons::appModels16()
{
return appMappings16();
}
const QPixmap &CIcons::appCountries16()
{
return globe16();
}
const QPixmap &CIcons::appDistributors16()
{
return users16();
}
const QPixmap &CIcons::appDbStash16()
{
return databaseAdd16();
}
const QPixmap &CIcons::roleC1() const QPixmap &CIcons::roleC1()
{ {
static const QPixmap pm(":/vatsim/icons/vatsim/C1.png"); static const QPixmap pm(":/vatsim/icons/vatsim/C1.png");
@@ -624,127 +779,301 @@ namespace BlackMisc
{ {
switch (index) switch (index)
{ {
case ApplicationIconAircrafts: return appAircrafts16(); case ApplicationAircraft:
case ApplicationIconAtc: return appAtc16(); return appAircraft16();
case ApplicationIconAudio: return appAudio16(); case ApplicationAircraftIcao:
case ApplicationIconCockpit: return appCockpit16(); return appAircraftIcao16();
case ApplicationIconFlightPlan: return appFlightPlan16(); case ApplicationAirlineIcao:
case ApplicationIconLog: return appLog16(); return appAirlineIcao16();
case ApplicationIconMappings: return appMappings16(); case ApplicationAtc:
case ApplicationIconSettings: return appSettings16(); return appAtc16();
case ApplicationIconSimulator: return appSimulator16(); case ApplicationAudio:
case ApplicationIconTextMessages: return appTextMessages16(); return appAudio16();
case ApplicationIconWeather: return appWeather16(); case ApplicationCockpit:
case AviationAtis: return atis(); return appCockpit16();
case AviationAttitudeIndicator: return attitudeIndicator16(); case ApplicationCountries:
case AviationMetar: return metar(); return appCountries16();
case GeoPosition: return geoPosition16(); case ApplicationDatabase:
case NetworkCapabilityTextOnly: return capabilityTextOnly(); return appDatabase16();
case NetworkCapabilityUnknown: return capabilityUnknown(); case ApplicationDbStash:
case NetworkCapabilityVoice: return capabilityVoice(); return appDbStash16();
case NetworkCapabilityVoiceBackground: return capabilityVoiceBackground(); case ApplicationDistributors:
case NetworkCapabilityVoiceReceiveOnly: return capabilityVoiceReceiveOnly(); return appDistributors16();
case NetworkCapabilityVoiceReceiveOnlyBackground: return capabilityVoiceReceiveOnlyBackground(); case ApplicationFlightPlan:
case NetworkRoleApproach: return roleApproach(); return appFlightPlan16();
case NetworkRoleC1: return roleC1(); case ApplicationLiveries:
case NetworkRoleC3: return roleC3(); return appLiveries16();
case NetworkRoleCenter: return roleCenter(); case ApplicationLog:
case NetworkRoleDelivery: return roleDelivery(); return appLog16();
case NetworkRoleFss: return roleFss(); case ApplicationMappings:
case NetworkRoleGround: return roleGround(); return appMappings16();
case NetworkRoleI1: return roleI1(); case ApplicationModels:
case NetworkRoleI3: return roleI3(); return appModels16();
case NetworkRoleMnt: return roleMnt(); case ApplicationSettings:
case NetworkRoleObs: return roleObs(); return appSettings16();
case NetworkRolePilot: return rolePilot(); case ApplicationSimulator:
case NetworkRoleS1: return roleS1(); return appSimulator16();
case NetworkRoleS2: return roleS2(); case ApplicationTextMessages:
case NetworkRoleS3: return roleS3(); return appTextMessages16();
case NetworkRoleSup: return roleSup(); case ApplicationWeather:
case NetworkRoleTower: return roleTower(); return appWeather16();
case NetworkRoleUnknown: return roleUnknown(); case AviationAtis:
case NetworkVatsimLogo: return vatsimLogo16(); return atis();
case NetworkVatsimLogoWhite: return vatsimLogoWhite16(); case AviationAttitudeIndicator:
case NotSet: return empty(); return attitudeIndicator16();
case StandardIconAppAircrafts16: return appAircrafts16(); case AviationMetar:
case StandardIconAppAtc16: return appAtc16(); return metar();
case StandardIconAppFlightPlan16: return appFlightPlan16(); case GeoPosition:
case StandardIconAppLog16: return appLog16(); return geoPosition16();
case StandardIconAppMappings16: return appMappings16(); case NetworkCapabilityTextOnly:
case StandardIconAppSettings16: return appSettings16(); return capabilityTextOnly();
case StandardIconAppSimulator16: return appSimulator16(); case NetworkCapabilityUnknown:
case StandardIconAppTextMessages16: return appTextMessages16(); return capabilityUnknown();
case StandardIconAppUsers16: return appUsers16(); case NetworkCapabilityVoice:
case StandardIconAppWeather16: return appWeather16(); return capabilityVoice();
case StandardIconArrowMediumEast16: return arrowMediumEast16(); case NetworkCapabilityVoiceBackground:
case StandardIconArrowMediumNorth16: return arrowMediumNorth16(); return capabilityVoiceBackground();
case StandardIconArrowMediumSouth16: return arrowMediumSouth16(); case NetworkCapabilityVoiceReceiveOnly:
case StandardIconArrowMediumWest16: return arrowMediumWest16(); return capabilityVoiceReceiveOnly();
case StandardIconClose16: return close16(); case NetworkCapabilityVoiceReceiveOnlyBackground:
case StandardIconCross16: return cross16(); return capabilityVoiceReceiveOnlyBackground();
case StandardIconCrossCircle16: return crossCircle16(); case NetworkRoleApproach:
case StandardIconCrossSmall16: return crossSmall16(); return roleApproach();
case StandardIconCrossWhite16: return crossWhite16(); case NetworkRoleC1:
case StandardIconDelete16: return delete16(); return roleC1();
case StandardIconDockBottom16: return dockBottom16(); case NetworkRoleC3:
case StandardIconDockTop16: return dockTop16(); return roleC3();
case StandardIconEmpty16: return empty16(); case NetworkRoleCenter:
case StandardIconEmpty: return empty(); return roleCenter();
case StandardIconError16: return error16(); case NetworkRoleDelivery:
case StandardIconFloatAll16: return floatAll16(); return roleDelivery();
case StandardIconFloatOne16: return floatOne16(); case NetworkRoleFss:
case StandardIconGlobe16: return globe16(); return roleFss();
case StandardIconHeadingOne16: return headingOne16(); case NetworkRoleGround:
case StandardIconInfo16: return info16(); return roleGround();
case StandardIconJoystick16: return joystick16(); case NetworkRoleI1:
case StandardIconMonitorError16: return monitorError16(); return roleI1();
case StandardIconPaperPlane16: return paperPlane16(); case NetworkRoleI3:
case StandardIconPlugin16: return plugin16(); return roleI3();
case StandardIconRadar16: return radar16(); case NetworkRoleMnt:
case StandardIconRadio16: return radio16(); return roleMnt();
case StandardIconRefresh16: return refresh16(); case NetworkRoleObs:
case StandardIconResize16: return resize16(); return roleObs();
case StandardIconResizeHorizontal16: return resizeHorizontal16(); case NetworkRolePilot:
case StandardIconResizeVertical16: return resizeVertical16(); return rolePilot();
case StandardIconSpeakerNetwork16: return speakerNetwork16(); case NetworkRoleS1:
case StandardIconStatusBar16: return statusBar16(); return roleS1();
case StandardIconSwift24: return swift24(); case NetworkRoleS2:
case StandardIconSwift48: return swift48(); return roleS2();
case StandardIconSwiftNova24: return swiftNova24(); case NetworkRoleS3:
case StandardIconSwiftNova48: return swiftNova48(); return roleS3();
case StandardIconTableRelationship16: return tableRelationship16(); case NetworkRoleSup:
case StandardIconTableSheet16: return tableSheet16(); return roleSup();
case StandardIconText16: return text16(); case NetworkRoleTower:
case StandardIconTick16: return tick16(); return roleTower();
case StandardIconTickRed16: return tickRed16(); case NetworkRoleUnknown:
case StandardIconTickSmall16: return tickSmall16(); return roleUnknown();
case StandardIconTickWhite16: return tickWhite16(); case NetworkVatsimLogo:
case StandardIconUnknown16: return unknown16(); return vatsimLogo16();
case StandardIconUser16: return user16(); case NetworkVatsimLogoWhite:
case StandardIconUsers16: return users16(); return vatsimLogoWhite16();
case StandardIconViewMulticolumn16: return viewMultiColumn(); case NotSet:
case StandardIconViewTile16: return viewTile(); return empty();
case StandardIconVolumeHigh16: return volumeHigh16(); case StandardIconAppAircrafts16:
case StandardIconVolumeLow16: return volumeLow16(); return appAircraft16();
case StandardIconVolumeMuted16: return volumeMuted16(); case StandardIconAppAtc16:
case StandardIconWarning16: return warning16(); return appAtc16();
case StandardIconWeatherCloudy16: return weatherCloudy16(); case StandardIconAppFlightPlan16:
case StandardIconWrench16: return wrench16(); return appFlightPlan16();
default: return empty(); 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 StandardIconColor16:
return color16();
case StandardIconColorPicker16:
return colorPicker16();
case StandardIconColorSwatch16:
return colorSwatch16();
case StandardIconCross16:
return cross16();
case StandardIconCrossCircle16:
return crossCircle16();
case StandardIconCrossSmall16:
return crossSmall16();
case StandardIconCrossWhite16:
return crossWhite16();
case StandardIconDatabase16:
return database16();
case StandardIconDatabaseAdd16:
return databaseAdd16();
case StandardIconDatabaseConnect16:
return databaseConnect16();
case StandardIconDatabaseDelete16:
return databaseDelete16();
case StandardIconDatabaseEdit16:
return databaseEdit16();
case StandardIconDatabaseError16:
return databaseError16();
case StandardIconDatabaseKey16:
return databaseKey16();
case StandardIconDatabaseTable16:
return databaseTable16();
case StandardIconDelete16:
return delete16();
case StandardIconDockBottom16:
return dockBottom16();
case StandardIconDockTop16:
return dockTop16();
case StandardIconDragAndDrop16:
return dragAndDrop16();
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 StandardIconPaintCan16:
return paintCan16();
case StandardIconPlugin16:
return plugin16();
case StandardIconRadar16:
return radar16();
case StandardIconRadio16:
return radio16();
case StandardIconRefresh16:
return refresh16();
case StandardIconResize16:
return resize16();
case StandardIconResizeHorizontal16:
return resizeHorizontal16();
case StandardIconResizeVertical16:
return resizeVertical16();
case StandardIconSpeakerNetwork16:
return speakerNetwork16();
case StandardIconStatusBar16:
return statusBar16();
case StandardIconTableRelationship16:
return tableRelationship16();
case StandardIconTableSheet16:
return tableSheet16();
case StandardIconText16:
return text16();
case StandardIconTick16:
return tick16();
case StandardIconTickRed16:
return tickRed16();
case StandardIconTickSmall16:
return tickSmall16();
case StandardIconTickWhite16:
return tickWhite16();
case StandardIconUnknown16:
return unknown16();
case StandardIconUser16:
return user16();
case StandardIconUsers16:
return users16();
case StandardIconViewMulticolumn16:
return viewMultiColumn();
case StandardIconViewTile16:
return viewTile();
case StandardIconVolumeHigh16:
return volumeHigh16();
case StandardIconVolumeLow16:
return volumeLow16();
case StandardIconVolumeMuted16:
return volumeMuted16();
case StandardIconWarning16:
return warning16();
case StandardIconWeatherCloudy16:
return weatherCloudy16();
case StandardIconWrench16:
return wrench16();
case Swift16:
return swift16();
case Swift24:
return swift24();
case Swift48:
return swift48();
case SwiftNova16:
return swiftNova16();
case SwiftNova24:
return swiftNova24();
case SwiftNova48:
return swiftNova48();
case SwiftDatabase16:
return swiftDatabase16();
case SwiftDatabase24:
return swiftDatabase24();
case SwiftDatabase48:
return swiftDatabase48();
default:
return empty();
} }
} }
QPixmap CIcons::pixmapByIndex(CIcons::IconIndex index, int rotateDegrees) QPixmap CIcons::pixmapByIndex(CIcons::IconIndex index, int rotateDegrees)
{ {
const QPixmap original = pixmapByIndex(index); if (rotateDegrees == 0) { return pixmapByIndex(index); }
if (rotateDegrees == 0) return original; return rotate(rotateDegrees, pixmapByIndex(index));
QMatrix rm; }
rm.rotate(rotateDegrees);
QPixmap rotated = original.transformed(rm); const QPixmap &CIcons::pixmapByResourceFileName(const QString &fileName)
int xoffset = (rotated.width() - original.width()) / 2; {
int yoffset = (rotated.height() - original.height()) / 2; Q_ASSERT_X(!fileName.isEmpty(), Q_FUNC_INFO, "missing filename");
rotated = rotated.copy(xoffset, yoffset, original.width(), original.height()); if (!getResourceFileCache().contains(fileName))
return rotated; {
QString path = fileName.contains("resources") ?
QCoreApplication::applicationDirPath().append("/").append(fileName) :
QCoreApplication::applicationDirPath().append("/resources/").append(fileName);
QPixmap pm;
bool s = pm.load(path);
if (s)
{
getResourceFileCache().insert(fileName, pm);
}
else
{
getResourceFileCache().insert(fileName, CIcons::empty());
}
}
return getResourceFileCache()[fileName];
} }
QImage CIcons::changeImageBackgroundColor(const QImage &imgSource, Qt::GlobalColor backgroundColor) QImage CIcons::changeImageBackgroundColor(const QImage &imgSource, Qt::GlobalColor backgroundColor)
@@ -757,6 +1086,23 @@ namespace BlackMisc
return destBackgroundImg; return destBackgroundImg;
} }
QPixmap CIcons::rotate(int rotateDegrees, const QPixmap &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;
}
QMap<QString, QPixmap> &CIcons::getResourceFileCache()
{
static QMap<QString, QPixmap> cache;
return cache;
}
QPixmap CIcons::changeResourceBackgroundColor(const QString &resource, Qt::GlobalColor backgroundColor) QPixmap CIcons::changeResourceBackgroundColor(const QString &resource, Qt::GlobalColor backgroundColor)
{ {
QImage imgSource(resource); QImage imgSource(resource);

View File

@@ -14,6 +14,7 @@
#include "blackmiscexport.h" #include "blackmiscexport.h"
#include <QPixmap> #include <QPixmap>
#include <QMap>
namespace BlackMisc namespace BlackMisc
{ {
@@ -29,17 +30,25 @@ namespace BlackMisc
enum IconIndex enum IconIndex
{ {
// !! keep indexes alphabetically sorted and in sync with CIconList // !! keep indexes alphabetically sorted and in sync with CIconList
ApplicationIconAircrafts, ApplicationAircraft = 0,
ApplicationIconAtc, ApplicationAircraftIcao,
ApplicationIconAudio, ApplicationAirlineIcao,
ApplicationIconCockpit, ApplicationAtc,
ApplicationIconFlightPlan, ApplicationAudio,
ApplicationIconLog, ApplicationCockpit,
ApplicationIconMappings, ApplicationCountries,
ApplicationIconSettings, ApplicationDatabase,
ApplicationIconSimulator, ApplicationDbStash,
ApplicationIconTextMessages, ApplicationDistributors,
ApplicationIconWeather, ApplicationFlightPlan,
ApplicationLiveries,
ApplicationLog,
ApplicationMappings,
ApplicationModels,
ApplicationSettings,
ApplicationSimulator,
ApplicationTextMessages,
ApplicationWeather,
AviationAttitudeIndicator, AviationAttitudeIndicator,
AviationAtis, AviationAtis,
AviationMetar, AviationMetar,
@@ -86,13 +95,25 @@ namespace BlackMisc
StandardIconArrowMediumSouth16, StandardIconArrowMediumSouth16,
StandardIconArrowMediumWest16, StandardIconArrowMediumWest16,
StandardIconClose16, StandardIconClose16,
StandardIconColor16,
StandardIconColorPicker16,
StandardIconColorSwatch16,
StandardIconCross16, StandardIconCross16,
StandardIconCrossCircle16, StandardIconCrossCircle16,
StandardIconCrossSmall16, StandardIconCrossSmall16,
StandardIconCrossWhite16, StandardIconCrossWhite16,
StandardIconDatabase16,
StandardIconDatabaseAdd16,
StandardIconDatabaseConnect16,
StandardIconDatabaseDelete16,
StandardIconDatabaseEdit16,
StandardIconDatabaseError16,
StandardIconDatabaseKey16,
StandardIconDatabaseTable16,
StandardIconDelete16, StandardIconDelete16,
StandardIconDockBottom16, StandardIconDockBottom16,
StandardIconDockTop16, StandardIconDockTop16,
StandardIconDragAndDrop16,
StandardIconEmpty, StandardIconEmpty,
StandardIconEmpty16, StandardIconEmpty16,
StandardIconError16, StandardIconError16,
@@ -106,6 +127,7 @@ namespace BlackMisc
StandardIconLockOpen16, StandardIconLockOpen16,
StandardIconMonitorError16, StandardIconMonitorError16,
StandardIconPaperPlane16, StandardIconPaperPlane16,
StandardIconPaintCan16,
StandardIconPlugin16, StandardIconPlugin16,
StandardIconRadar16, StandardIconRadar16,
StandardIconRadio16, StandardIconRadio16,
@@ -115,12 +137,6 @@ namespace BlackMisc
StandardIconResizeVertical16, StandardIconResizeVertical16,
StandardIconSpeakerNetwork16, StandardIconSpeakerNetwork16,
StandardIconStatusBar16, StandardIconStatusBar16,
StandardIconSwift24,
StandardIconSwift48,
StandardIconSwiftDatabase24,
StandardIconSwiftDatabase48,
StandardIconSwiftNova24,
StandardIconSwiftNova48,
StandardIconTableRelationship16, StandardIconTableRelationship16,
StandardIconTableSheet16, StandardIconTableSheet16,
StandardIconText16, StandardIconText16,
@@ -138,7 +154,26 @@ namespace BlackMisc
StandardIconVolumeMuted16, StandardIconVolumeMuted16,
StandardIconWarning16, StandardIconWarning16,
StandardIconWeatherCloudy16, StandardIconWeatherCloudy16,
StandardIconWrench16 StandardIconWrench16,
Swift16,
Swift24,
Swift48,
SwiftDatabase16,
SwiftDatabase24,
SwiftDatabase48,
SwiftNova16,
SwiftNova24,
SwiftNova48,
// ---------------------------
// Icon is not from resources, but generated at runtime
// ---------------------------
IconIsGenerated,
// ---------------------------
// Icon is not from resources, but a file
// ---------------------------
IconIsFile
}; };
// ------------------------------------------------------------- // -------------------------------------------------------------
@@ -157,6 +192,15 @@ namespace BlackMisc
//! Close //! Close
static const QPixmap &close16(); static const QPixmap &close16();
//! Color
static const QPixmap &color16();
//! Color picker
static const QPixmap &colorPicker16();
//! Color swatch
static const QPixmap &colorSwatch16();
//! Resize //! Resize
static const QPixmap &resize16(); static const QPixmap &resize16();
@@ -232,6 +276,9 @@ namespace BlackMisc
//! Lock //! Lock
static const QPixmap &lockClosed16(); static const QPixmap &lockClosed16();
//! Paint can
static const QPixmap &paintCan16();
//! Plugin //! Plugin
static const QPixmap &plugin16(); static const QPixmap &plugin16();
@@ -241,6 +288,9 @@ namespace BlackMisc
//! Docking //! Docking
static const QPixmap &dockBottom16(); static const QPixmap &dockBottom16();
//! Drag and drop
static const QPixmap &dragAndDrop16();
//! Float all //! Float all
static const QPixmap &floatAll16(); static const QPixmap &floatAll16();
@@ -301,24 +351,82 @@ namespace BlackMisc
//! Arrow //! Arrow
static const QPixmap &arrowMediumWest16(); static const QPixmap &arrowMediumWest16();
// --------------------------------------------------
// -- Database
// --------------------------------------------------
//! Database
static const QPixmap &database16();
//! Database add
static const QPixmap &databaseAdd16();
//! Database connect
static const QPixmap &databaseConnect16();
//! Database delete
static const QPixmap &databaseDelete16();
//! Database edit
static const QPixmap &databaseEdit16();
//! Database error
static const QPixmap &databaseError16();
//! Database key
static const QPixmap &databaseKey16();
//! Database table
static const QPixmap &databaseTable16();
// --------------------------------------------------
// -- Preloader icons
// --------------------------------------------------
//! Preloader
static const QPixmap &preloader64();
//! Preloader
static const QPixmap &preloader32();
//! Preloader
static const QPixmap &preloader16();
// --------------------------------------------------
// -- swift
// --------------------------------------------------
//! swift icon
static const QPixmap &swift16();
//! swift icon //! swift icon
static const QPixmap &swift24(); static const QPixmap &swift24();
//! swift icon //! swift icon
static const QPixmap &swift48(); static const QPixmap &swift48();
//! swift icon / database
static const QPixmap &swiftDatabase16();
//! swift icon / database //! swift icon / database
static const QPixmap &swiftDatabase24(); static const QPixmap &swiftDatabase24();
//! swift icon / database //! swift icon / database
static const QPixmap &swiftDatabase48(); static const QPixmap &swiftDatabase48();
//! swift icon (nova)
static const QPixmap &swiftNova16();
//! swift icon (nova) //! swift icon (nova)
static const QPixmap &swiftNova24(); static const QPixmap &swiftNova24();
//! swift icon (nova) //! swift icon (nova)
static const QPixmap &swiftNova48(); static const QPixmap &swiftNova48();
// --------------------------------------------------
// -- application icons
// --------------------------------------------------
//! Application weather //! Application weather
static const QPixmap &appWeather16(); static const QPixmap &appWeather16();
@@ -344,7 +452,7 @@ namespace BlackMisc
static const QPixmap &appAtc16(); static const QPixmap &appAtc16();
//! Application aircrafts //! Application aircrafts
static const QPixmap &appAircrafts16(); static const QPixmap &appAircraft16();
//! Application mappings //! Application mappings
static const QPixmap &appMappings16(); static const QPixmap &appMappings16();
@@ -358,6 +466,30 @@ namespace BlackMisc
//! Voice rooms //! Voice rooms
static const QPixmap &appVoiceRooms16(); static const QPixmap &appVoiceRooms16();
//! App.database
static const QPixmap &appDatabase16();
//! Aircraft ICAO
static const QPixmap &appAircraftIcao16();
//! Airline ICAO
static const QPixmap &appAirlineIcao16();
//! Liveries
static const QPixmap &appLiveries16();
//! Models
static const QPixmap &appModels16();
//! Countries
static const QPixmap &appCountries16();
//! Distributors
static const QPixmap &appDistributors16();
//! Stash
static const QPixmap &appDbStash16();
// ------------------------------------------------------------- // -------------------------------------------------------------
// Network and aviation // Network and aviation
// ------------------------------------------------------------- // -------------------------------------------------------------
@@ -471,6 +603,13 @@ namespace BlackMisc
//! Pixmap by given index rotated //! Pixmap by given index rotated
static QPixmap pixmapByIndex(IconIndex index, int rotateDegrees); static QPixmap pixmapByIndex(IconIndex index, int rotateDegrees);
// -------------------------------------------------------------
// By file from swift resource directory
// -------------------------------------------------------------
//! Pixmap by given index
static const QPixmap &pixmapByResourceFileName(const QString &fileName);
// ------------------------------------------------------------- // -------------------------------------------------------------
// Utility functions // Utility functions
// ------------------------------------------------------------- // -------------------------------------------------------------
@@ -483,6 +622,13 @@ namespace BlackMisc
//! Change image background color //! Change image background color
static QImage changeImageBackgroundColor(const QImage &imgSource, Qt::GlobalColor backgroundColor); static QImage changeImageBackgroundColor(const QImage &imgSource, Qt::GlobalColor backgroundColor);
//! Rotate by pixmap
static QPixmap rotate(int rotateDegrees, const QPixmap &original);
private:
//! File cache for the loaded
static QMap<QString, QPixmap> &getResourceFileCache();
}; };
} }
#endif // guard #endif // guard

View File

@@ -0,0 +1,3 @@
I also love to hear of my work being used, feel encouraged to send an email with a link or screenshot of the icons in their new home to mjames at gmail dot com. This work is licensed under a Creative Commons Attribution 2.5 License. This means you may use it for any purpose, and make any changes you like. All I ask is that you include a link back to this page in your credits (although a giant link on every page of your website really isn't needed, contact me to discuss specifics).
The icons can also be used under Creative Commons Attribution 3.0 License (Hi Debian folks!) with the following requirements:
As an author, I would appreciate a reference to my authorship of the Silk icon set contents within a readme file or equivalent documentation for the software which includes the set or a subset of the icons contained within.

Binary file not shown.

After

Width:  |  Height:  |  Size: 916 B

View File

@@ -0,0 +1,13 @@
License
The Pastel SVG icon set Created by Michael Buckley is licensed under the
Creative Commons Attribution NonCommercial Share Alike 4.0 http://creativecommons.org/licenses/by-nc-sa/4.0/
However additionally I would kindly ask that:
For non commercial use a link back to the home page is very appreciated but in no way required.
If you put Pastel SVG package on another web host in modified form that you provide a link back to the Pastel SVG home page as part of the attribution. http://codefisher.org/pastel-svg/
For those that want to use the icons commercially, I ask that you first make a donation and then you may use it under following license.
Creative Commons Attribution Share Alike 4.0 http://creativecommons.org/licenses/by-sa/4.0/

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

View File

@@ -0,0 +1,5 @@
You are encouraged and legally entitled to copy and modify any animated GIF and APNG images, generated by http://preloaders.net web-site.
All animated GIF and APNG images are completely free to use in all projects (web and desktop applications, freeware and commercial projects)
You are encouraged, but NOT obligated to place any reference to http://preloaders.net web-site to use it`s content in any projects and applications, WITH THE EXCEPTION of any other animated images generator applications, which must indicate the source of the used image with a visible link to Preloaders.net web-site on one or more pages that is/are linked to from the main page of the web-site that uses the image from Preloaders.net web-application
Preloaders.net project reserves the right to refuse service to anyone without any explanation and/or notification
When using animations from "Social bookmarks" category you agree to terms of use and privacy policy of a particular logo provided by it`s owner

View File

@@ -0,0 +1,2 @@
[InternetShortcut]
URL=http://preloaders.net/