From 359866f0c979d1e7cb49173e38422cd84f6e9714 Mon Sep 17 00:00:00 2001 From: Klaus Basan Date: Sun, 17 Jan 2016 00:32:01 +0100 Subject: [PATCH] refs #573, icons for exclude / include mode --- src/blackmisc/iconlist.cpp | 272 +++++++++++++++++++------------------ src/blackmisc/icons.cpp | 32 ++++- src/blackmisc/icons.h | 12 ++ 3 files changed, 180 insertions(+), 136 deletions(-) diff --git a/src/blackmisc/iconlist.cpp b/src/blackmisc/iconlist.cpp index b1ff02074..e0c7480a5 100644 --- a/src/blackmisc/iconlist.cpp +++ b/src/blackmisc/iconlist.cpp @@ -38,141 +38,143 @@ namespace BlackMisc static const CIconList icons( { CIcon(CIcons::ApplicationAircraft, "aircraft"), - CIcon(CIcons::ApplicationAircraftIcao, "ICAO aircraft"), - CIcon(CIcons::ApplicationAirlineIcao, "ICAO airlines"), - CIcon(CIcons::ApplicationAtc, "ATC"), - CIcon(CIcons::ApplicationAudio, "audio"), - CIcon(CIcons::ApplicationCockpit, "cockpit"), - CIcon(CIcons::ApplicationCountries, "countries"), - CIcon(CIcons::ApplicationDatabase, "database"), - CIcon(CIcons::ApplicationDbStash, "DB stash"), - CIcon(CIcons::ApplicationDistributors, "distributors"), - CIcon(CIcons::ApplicationFlightPlan, "flightplan"), - CIcon(CIcons::ApplicationLog, "log"), - CIcon(CIcons::ApplicationMappings, "mappings"), - CIcon(CIcons::ApplicationLiveries, "liveries"), - CIcon(CIcons::ApplicationModels, "models"), - CIcon(CIcons::ApplicationSettings, "settings"), - CIcon(CIcons::ApplicationSimulator, "simulator"), - CIcon(CIcons::ApplicationTextMessages, "text messages"), - CIcon(CIcons::ApplicationWeather, "weather"), - CIcon(CIcons::AviationAtis, "ATIS"), - CIcon(CIcons::AviationAttitudeIndicator, "attitude indicator"), - CIcon(CIcons::AviationMetar, "METAR"), - 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::NetworkRoleFss, "FSS"), - 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::NetworkVatsimLogo, "VATSIM"), - CIcon(CIcons::NetworkVatsimLogoWhite, "VATSIM"), - 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::StandardIconColor16, "color"), - CIcon(CIcons::StandardIconColorPicker16, "color picker"), - CIcon(CIcons::StandardIconColorSwatch16, "color swatch"), - CIcon(CIcons::StandardIconCross16, "cross"), - CIcon(CIcons::StandardIconCrossCircle16, "cross circle"), - CIcon(CIcons::StandardIconCrossSmall16, "cross (small)"), - CIcon(CIcons::StandardIconCrossWhite16, "cross white"), - CIcon(CIcons::StandardIconDatabase16, "database"), - CIcon(CIcons::StandardIconDatabaseAdd16, "add to database"), - CIcon(CIcons::StandardIconDatabaseConnect16, "connect database"), - CIcon(CIcons::StandardIconDatabaseDelete16, "delete from database"), - CIcon(CIcons::StandardIconDatabaseEdit16, "edit database"), - CIcon(CIcons::StandardIconDatabaseError16, "error"), - CIcon(CIcons::StandardIconDatabaseKey16, "key"), - CIcon(CIcons::StandardIconDatabaseTable16, "table"), - CIcon(CIcons::StandardIconDelete16, "delete"), - CIcon(CIcons::StandardIconDockBottom16, "dock bottom"), - CIcon(CIcons::StandardIconDockTop16, "dock top"), - CIcon(CIcons::StandardIconDragAndDrop16, "drag and drop"), - 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::StandardIconLockClosed16, "lock"), - CIcon(CIcons::StandardIconLockOpen16, "lock open"), - CIcon(CIcons::StandardIconLoad16, "load open"), - CIcon(CIcons::StandardIconMonitorError16, "monitor error"), - CIcon(CIcons::StandardIconPaperPlane16, "plane"), - CIcon(CIcons::StandardIconPaintCan16, "paint can"), - CIcon(CIcons::StandardIconPlugin16, "plugin"), - CIcon(CIcons::StandardIconRadar16, "radar"), - CIcon(CIcons::StandardIconRadio16, "radio"), - CIcon(CIcons::StandardIconRefresh16, "refresh"), - CIcon(CIcons::StandardIconResize16, "resize"), - CIcon(CIcons::StandardIconResizeHorizontal16, "resize (horizontal)"), - CIcon(CIcons::StandardIconResizeVertical16, "resize (vertical)"), - CIcon(CIcons::StandardIconSave16, "save"), - CIcon(CIcons::StandardIconSpeakerNetwork16, "speaker (network)"), - CIcon(CIcons::StandardIconStatusBar16, "status bar"), - CIcon(CIcons::StandardIconTableRelationship16, "relationship"), - CIcon(CIcons::StandardIconTableSheet16, "table sheet"), - CIcon(CIcons::StandardIconText16, "text"), - CIcon(CIcons::StandardIconTick16, "tick"), - 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") + CIcon(CIcons::ApplicationAircraftIcao, "ICAO aircraft"), + CIcon(CIcons::ApplicationAirlineIcao, "ICAO airlines"), + CIcon(CIcons::ApplicationAtc, "ATC"), + CIcon(CIcons::ApplicationAudio, "audio"), + CIcon(CIcons::ApplicationCockpit, "cockpit"), + CIcon(CIcons::ApplicationCountries, "countries"), + CIcon(CIcons::ApplicationDatabase, "database"), + CIcon(CIcons::ApplicationDbStash, "DB stash"), + CIcon(CIcons::ApplicationDistributors, "distributors"), + CIcon(CIcons::ApplicationFlightPlan, "flightplan"), + CIcon(CIcons::ApplicationLog, "log"), + CIcon(CIcons::ApplicationMappings, "mappings"), + CIcon(CIcons::ApplicationLiveries, "liveries"), + CIcon(CIcons::ApplicationModels, "models"), + CIcon(CIcons::ApplicationSettings, "settings"), + CIcon(CIcons::ApplicationSimulator, "simulator"), + CIcon(CIcons::ApplicationTextMessages, "text messages"), + CIcon(CIcons::ApplicationWeather, "weather"), + CIcon(CIcons::AviationAtis, "ATIS"), + CIcon(CIcons::AviationAttitudeIndicator, "attitude indicator"), + CIcon(CIcons::AviationMetar, "METAR"), + CIcon(CIcons::GeoPosition, "geo position"), + CIcon(CIcons::ModelExclude, "exclude model"), + CIcon(CIcons::ModelInclude, "include model"), + 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::NetworkRoleFss, "FSS"), + 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::NetworkVatsimLogo, "VATSIM"), + CIcon(CIcons::NetworkVatsimLogoWhite, "VATSIM"), + 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::StandardIconColor16, "color"), + CIcon(CIcons::StandardIconColorPicker16, "color picker"), + CIcon(CIcons::StandardIconColorSwatch16, "color swatch"), + CIcon(CIcons::StandardIconCross16, "cross"), + CIcon(CIcons::StandardIconCrossCircle16, "cross circle"), + CIcon(CIcons::StandardIconCrossSmall16, "cross (small)"), + CIcon(CIcons::StandardIconCrossWhite16, "cross white"), + CIcon(CIcons::StandardIconDatabase16, "database"), + CIcon(CIcons::StandardIconDatabaseAdd16, "add to database"), + CIcon(CIcons::StandardIconDatabaseConnect16, "connect database"), + CIcon(CIcons::StandardIconDatabaseDelete16, "delete from database"), + CIcon(CIcons::StandardIconDatabaseEdit16, "edit database"), + CIcon(CIcons::StandardIconDatabaseError16, "error"), + CIcon(CIcons::StandardIconDatabaseKey16, "key"), + CIcon(CIcons::StandardIconDatabaseTable16, "table"), + CIcon(CIcons::StandardIconDelete16, "delete"), + CIcon(CIcons::StandardIconDockBottom16, "dock bottom"), + CIcon(CIcons::StandardIconDockTop16, "dock top"), + CIcon(CIcons::StandardIconDragAndDrop16, "drag and drop"), + 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::StandardIconLockClosed16, "lock"), + CIcon(CIcons::StandardIconLockOpen16, "lock open"), + CIcon(CIcons::StandardIconLoad16, "load open"), + CIcon(CIcons::StandardIconMonitorError16, "monitor error"), + CIcon(CIcons::StandardIconPaperPlane16, "plane"), + CIcon(CIcons::StandardIconPaintCan16, "paint can"), + CIcon(CIcons::StandardIconPlugin16, "plugin"), + CIcon(CIcons::StandardIconRadar16, "radar"), + CIcon(CIcons::StandardIconRadio16, "radio"), + CIcon(CIcons::StandardIconRefresh16, "refresh"), + CIcon(CIcons::StandardIconResize16, "resize"), + CIcon(CIcons::StandardIconResizeHorizontal16, "resize (horizontal)"), + CIcon(CIcons::StandardIconResizeVertical16, "resize (vertical)"), + CIcon(CIcons::StandardIconSave16, "save"), + CIcon(CIcons::StandardIconSpeakerNetwork16, "speaker (network)"), + CIcon(CIcons::StandardIconStatusBar16, "status bar"), + CIcon(CIcons::StandardIconTableRelationship16, "relationship"), + CIcon(CIcons::StandardIconTableSheet16, "table sheet"), + CIcon(CIcons::StandardIconText16, "text"), + CIcon(CIcons::StandardIconTick16, "tick"), + 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; } diff --git a/src/blackmisc/icons.cpp b/src/blackmisc/icons.cpp index 1cc6fac21..5a37aedb3 100644 --- a/src/blackmisc/icons.cpp +++ b/src/blackmisc/icons.cpp @@ -346,9 +346,22 @@ namespace BlackMisc return pm; } + QPixmap transparentPixmapImpl(const QSize &size) + { + // http://curtis.humphreyonline.us/code/qt-code/making-a-qpixmap-transparent-wrong-way-right-way + QPixmap pix(size); + pix.fill(Qt::transparent); + + QPainter painter; + painter.begin(&pix); + painter.drawPixmap(pix.rect(), pix); + painter.end(); + return pix; + } + const QPixmap &CIcons::empty16() { - static const QPixmap pm(16, 16); + static const QPixmap pm(transparentPixmapImpl(QSize(16, 16))); return pm; } @@ -793,6 +806,19 @@ namespace BlackMisc return globe16(); } + const QPixmap &CIcons::modelInclude16() + { + static const QPixmap pm(":/diagona/icons/diagona/icons/paper-plane--plus.png"); + return pm; + } + + const QPixmap &CIcons::modelExclude16() + { + // static const QPixmap pm(":/diagona/icons/diagona/icons/paper-plane--minus.png"); + // return pm; + return cross16(); + } + const QPixmap &CIcons::pixmapByIndex(CIcons::IconIndex index) { switch (index) @@ -843,6 +869,10 @@ namespace BlackMisc return metar(); case GeoPosition: return geoPosition16(); + case ModelExclude: + return modelExclude16(); + case ModelInclude: + return modelInclude16(); case NetworkCapabilityTextOnly: return capabilityTextOnly(); case NetworkCapabilityUnknown: diff --git a/src/blackmisc/icons.h b/src/blackmisc/icons.h index b1c15c423..81521632e 100644 --- a/src/blackmisc/icons.h +++ b/src/blackmisc/icons.h @@ -53,6 +53,8 @@ namespace BlackMisc AviationAtis, AviationMetar, GeoPosition, + ModelExclude, + ModelInclude, NetworkCapabilityTextOnly, NetworkCapabilityUnknown, NetworkCapabilityVoice, @@ -604,6 +606,16 @@ namespace BlackMisc //! Geo position static const QPixmap &geoPosition16(); + // ------------------------------------------------------------- + // Mapping + // ------------------------------------------------------------- + + //! Model include + static const QPixmap &modelInclude16(); + + //! Model exclude + static const QPixmap &modelExclude16(); + // ------------------------------------------------------------- // By index // -------------------------------------------------------------