mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-03-24 07:55:35 +08:00
1176 lines
32 KiB
C++
1176 lines
32 KiB
C++
/* 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 "blackmisc/project.h"
|
|
#include "blackmisc/fileutils.h"
|
|
#include <QImage>
|
|
#include <QIcon>
|
|
#include <QPainter>
|
|
#include <QCoreApplication>
|
|
|
|
namespace BlackMisc
|
|
{
|
|
|
|
const QPixmap &CIcons::info16()
|
|
{
|
|
static const QPixmap pm(":/pastel/icons/pastel/16/infomation.png");
|
|
return pm;
|
|
}
|
|
|
|
const QPixmap &CIcons::warning16()
|
|
{
|
|
static const QPixmap pm(":/pastel/icons/pastel/16/bullet-error.png");
|
|
return pm;
|
|
}
|
|
|
|
const QPixmap &CIcons::error16()
|
|
{
|
|
static const QPixmap pm(":/pastel/icons/pastel/16/close-red.png");
|
|
return pm;
|
|
}
|
|
|
|
const QPixmap &CIcons::close16()
|
|
{
|
|
static const QPixmap pm(":/diagona/icons/diagona/icons/cross-button.png");
|
|
return pm;
|
|
}
|
|
|
|
const QPixmap &CIcons::color16()
|
|
{
|
|
static const QPixmap pm(":/diagona/icons/diagona/icons/color.png");
|
|
return pm;
|
|
}
|
|
|
|
const QPixmap &CIcons::disk16()
|
|
{
|
|
static const QPixmap pm(":/pastel/icons/pastel/16/disk.png");
|
|
return pm;
|
|
}
|
|
|
|
const QPixmap &CIcons::load16()
|
|
{
|
|
return disk16();
|
|
}
|
|
|
|
const QPixmap &CIcons::save16()
|
|
{
|
|
return disk16();
|
|
}
|
|
|
|
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()
|
|
{
|
|
static const QPixmap pm(":/diagona/icons/diagona/icons/arrow-resize-135.png");
|
|
return pm;
|
|
}
|
|
|
|
const QPixmap &CIcons::resizeHorizontal16()
|
|
{
|
|
static const QPixmap pm(":/diagona/icons/diagona/icons/arrow-resize.png");
|
|
return pm;
|
|
}
|
|
|
|
const QPixmap &CIcons::resizeVertical16()
|
|
{
|
|
static const QPixmap pm(":/diagona/icons/diagona/icons/arrow-resize-090.png");
|
|
return pm;
|
|
}
|
|
|
|
const QPixmap &CIcons::refresh16()
|
|
{
|
|
static const QPixmap pm(":/pastel/icons/pastel/16/arrow-refresh.png");
|
|
return pm;
|
|
}
|
|
|
|
const QPixmap &CIcons::text16()
|
|
{
|
|
static const QPixmap pm(":/pastel/icons/pastel/16/application-view-text.png");
|
|
return pm;
|
|
}
|
|
|
|
const QPixmap &CIcons::globe16()
|
|
{
|
|
static const QPixmap pm(":/diagona/icons/diagona/icons/globe.png");
|
|
return pm;
|
|
}
|
|
|
|
const QPixmap &CIcons::headingOne16()
|
|
{
|
|
static const QPixmap pm(":/pastel/icons/pastel/16/text-heading-1.png");
|
|
return pm;
|
|
}
|
|
|
|
const QPixmap &CIcons::user16()
|
|
{
|
|
static const QPixmap pm(":/pastel/icons/pastel/16/user.png");
|
|
return pm;
|
|
}
|
|
|
|
const QPixmap &CIcons::users16()
|
|
{
|
|
static const QPixmap pm(":/diagona/icons/diagona/icons/users.png");
|
|
return pm;
|
|
}
|
|
|
|
const QPixmap &CIcons::viewMultiColumn()
|
|
{
|
|
static const QPixmap pm(":/pastel/icons/pastel/16/application-view-multicolumns.png");
|
|
return pm;
|
|
}
|
|
|
|
const QPixmap &CIcons::viewTile()
|
|
{
|
|
static const QPixmap pm(":/pastel/icons/pastel/16/application-view-tile.png");
|
|
return pm;
|
|
}
|
|
|
|
const QPixmap &CIcons::tick16()
|
|
{
|
|
static const QPixmap pm(":/diagona/icons/diagona/icons/tick.png");
|
|
return pm;
|
|
}
|
|
|
|
const QPixmap &CIcons::tickRed16()
|
|
{
|
|
static const QPixmap pm(":/diagona/icons/diagona/icons/tick-red.png");
|
|
return pm;
|
|
}
|
|
|
|
const QPixmap &CIcons::tickWhite16()
|
|
{
|
|
static const QPixmap pm(":/diagona/icons/diagona/icons/tick-white.png");
|
|
return pm;
|
|
}
|
|
|
|
const QPixmap &CIcons::tickSmall16()
|
|
{
|
|
static const QPixmap pm(":/diagona/icons/diagona/icons/tick-small.png");
|
|
return pm;
|
|
}
|
|
|
|
const QPixmap &CIcons::cross16()
|
|
{
|
|
static const QPixmap pm(":/diagona/icons/diagona/icons/cross.png");
|
|
return pm;
|
|
}
|
|
|
|
const QPixmap &CIcons::crossWhite16()
|
|
{
|
|
static const QPixmap pm(":/diagona/icons/diagona/icons/cross-white.png");
|
|
return pm;
|
|
}
|
|
|
|
const QPixmap &CIcons::crossCircle16()
|
|
{
|
|
static const QPixmap pm(":/diagona/icons/diagona/icons/cross-circle.png");
|
|
return pm;
|
|
}
|
|
|
|
const QPixmap &CIcons::crossSmall16()
|
|
{
|
|
static const QPixmap pm(":/diagona/icons/diagona/icons/cross-small.png");
|
|
return pm;
|
|
}
|
|
|
|
const QPixmap &CIcons::delete16()
|
|
{
|
|
static const QPixmap pm(":/pastel/icons/pastel/16/delete.png");
|
|
return pm;
|
|
}
|
|
|
|
const QPixmap &CIcons::radio16()
|
|
{
|
|
static const QPixmap pm(":/diagona/icons/diagona/icons/radio.png");
|
|
return pm;
|
|
}
|
|
|
|
const QPixmap &CIcons::speakerNetwork16()
|
|
{
|
|
static const QPixmap pm(":/diagona/icons/diagona/icons/speaker-network.png");
|
|
return pm;
|
|
}
|
|
|
|
const QPixmap &CIcons::joystick16()
|
|
{
|
|
static const QPixmap pm(":/diagona/icons/diagona/icons/joystick.png");
|
|
return pm;
|
|
}
|
|
|
|
const QPixmap &CIcons::lockOpen16()
|
|
{
|
|
static const QPixmap pm(":/pastel/icons/pastel/16/lock-open.png");
|
|
return pm;
|
|
}
|
|
|
|
const QPixmap &CIcons::lockClosed16()
|
|
{
|
|
static const QPixmap pm(":/pastel/icons/pastel/16/lock.png");
|
|
return pm;
|
|
}
|
|
|
|
const QPixmap &CIcons::paintCan16()
|
|
{
|
|
static const QPixmap pm(":/pastel/icons/pastel/16/paintcan.png");
|
|
return pm;
|
|
}
|
|
|
|
const QPixmap &CIcons::plugin16()
|
|
{
|
|
static const QPixmap pm(":/pastel/icons/pastel/16/plugin.png");
|
|
return pm;
|
|
}
|
|
|
|
const QPixmap &CIcons::dockTop16()
|
|
{
|
|
static const QPixmap pm(":/diagona/icons/diagona/icons/application-dock-090.png");
|
|
return pm;
|
|
}
|
|
|
|
const QPixmap &CIcons::dockBottom16()
|
|
{
|
|
static const QPixmap pm(":/diagona/icons/diagona/icons/application-dock-270.png");
|
|
return pm;
|
|
}
|
|
|
|
const QPixmap &CIcons::dragAndDrop16()
|
|
{
|
|
static const QPixmap pm(":/diagona/icons/diagona/icons/document-insert.png");
|
|
return pm;
|
|
}
|
|
|
|
const QPixmap &CIcons::floatAll16()
|
|
{
|
|
static const QPixmap pm(":/pastel/icons/pastel/16/application-cascade.png");
|
|
return pm;
|
|
}
|
|
|
|
const QPixmap &CIcons::floatOne16()
|
|
{
|
|
static const QPixmap pm(":/pastel/icons/pastel/16/application-double.png");
|
|
return pm;
|
|
}
|
|
|
|
const QPixmap &CIcons::volumeHigh16()
|
|
{
|
|
static const QPixmap pm(":/diagona/icons/diagona/icons/speaker-volume.png");
|
|
return pm;
|
|
}
|
|
|
|
const QPixmap &CIcons::volumeLow16()
|
|
{
|
|
static const QPixmap pm(":/diagona/icons/diagona/icons/speaker-volume-low.png");
|
|
return pm;
|
|
}
|
|
|
|
const QPixmap &CIcons::volumeMuted16()
|
|
{
|
|
static const QPixmap pm(":/diagona/icons/diagona/icons/speaker-volume-control-mute.png");
|
|
return pm;
|
|
}
|
|
|
|
const QPixmap &CIcons::wrench16()
|
|
{
|
|
static const QPixmap pm(":/pastel/icons/pastel/16/wrench.png");
|
|
return pm;
|
|
}
|
|
|
|
const QPixmap &CIcons::radar16()
|
|
{
|
|
static const QPixmap pm(":/diagona/icons/diagona/icons/radar.png");
|
|
return pm;
|
|
}
|
|
|
|
const QPixmap &CIcons::tableRelationship16()
|
|
{
|
|
static const QPixmap pm(":/pastel/icons/pastel/16/table-relationship.png");
|
|
return pm;
|
|
}
|
|
|
|
const QPixmap &CIcons::paperPlane16()
|
|
{
|
|
static const QPixmap pm(":/diagona/icons/diagona/icons/paper-plane.png");
|
|
return pm;
|
|
}
|
|
|
|
const QPixmap &CIcons::tableSheet16()
|
|
{
|
|
static const QPixmap pm(":/diagona/icons/diagona/icons/table-sheet.png");
|
|
return pm;
|
|
}
|
|
|
|
const QPixmap &CIcons::weatherCloudy16()
|
|
{
|
|
static const QPixmap pm(":/diagona/icons/diagona/icons/weather-cloudy.png");
|
|
return pm;
|
|
}
|
|
|
|
const QPixmap &CIcons::monitorError16()
|
|
{
|
|
static const QPixmap pm(":/pastel/icons/pastel/16/monitor-error.png");
|
|
return pm;
|
|
}
|
|
|
|
const QPixmap &CIcons::statusBar16()
|
|
{
|
|
static const QPixmap pm(":/pastel/icons/pastel/16/application-statusbar.png");
|
|
return pm;
|
|
}
|
|
|
|
const QPixmap &CIcons::unknown16()
|
|
{
|
|
static const QPixmap pm(":/pastel/icons/pastel/16/help.png");
|
|
return pm;
|
|
}
|
|
|
|
const QPixmap &CIcons::empty()
|
|
{
|
|
static const QPixmap pm;
|
|
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(transparentPixmapImpl(QSize(16, 16)));
|
|
return pm;
|
|
}
|
|
|
|
const QPixmap &CIcons::arrowMediumNorth16()
|
|
{
|
|
static const QPixmap pm(":/diagona/icons/diagona/icons/arrow-090-medium.png");
|
|
return pm;
|
|
}
|
|
|
|
const QPixmap &CIcons::arrowMediumSouth16()
|
|
{
|
|
static const QPixmap pm(":/diagona/icons/diagona/icons/arrow-270-medium.png");
|
|
return pm;
|
|
}
|
|
|
|
const QPixmap &CIcons::arrowMediumEast16()
|
|
{
|
|
static const QPixmap pm(":/diagona/icons/diagona/icons/arrow-000-medium.png");
|
|
return pm;
|
|
}
|
|
|
|
const QPixmap &CIcons::arrowMediumWest16()
|
|
{
|
|
static const QPixmap pm(":/diagona/icons/diagona/icons/arrow-180-medium.png");
|
|
return pm;
|
|
}
|
|
|
|
const QPixmap &CIcons::filter16()
|
|
{
|
|
return tableSheet16();
|
|
}
|
|
|
|
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()
|
|
{
|
|
static const QPixmap pm(":/own/icons/own/swift/swift24.png");
|
|
return pm;
|
|
}
|
|
|
|
const QPixmap &CIcons::swift48()
|
|
{
|
|
static const QPixmap pm(":/own/icons/own/swift/swift48.png");
|
|
return pm;
|
|
}
|
|
|
|
const QPixmap &CIcons::swiftNova24()
|
|
{
|
|
static const QPixmap pm(":/own/icons/own/swift/swiftCartoonNova24.png");
|
|
return pm;
|
|
}
|
|
|
|
const QPixmap &CIcons::swiftNova48()
|
|
{
|
|
static const QPixmap pm(":/own/icons/own/swift/swiftCartoonNova48.png");
|
|
return pm;
|
|
}
|
|
|
|
const QPixmap &CIcons::swiftDatabase16()
|
|
{
|
|
static const QPixmap pm(":/own/icons/own/swift/swiftDatabase16.png");
|
|
return pm;
|
|
}
|
|
|
|
const QPixmap &CIcons::swiftDatabase24()
|
|
{
|
|
static const QPixmap pm(":/own/icons/own/swift/swiftDatabase24.png");
|
|
return pm;
|
|
}
|
|
|
|
const QPixmap &CIcons::swiftDatabase48()
|
|
{
|
|
static const QPixmap pm(":/own/icons/own/swift/swiftDatabase48.png");
|
|
return pm;
|
|
}
|
|
|
|
const QPixmap &CIcons::swiftNova16()
|
|
{
|
|
static const QPixmap pm(swiftNova48().scaled(16, 16));
|
|
return pm;
|
|
}
|
|
|
|
const QPixmap &CIcons::appWeather16()
|
|
{
|
|
return weatherCloudy16();
|
|
}
|
|
|
|
const QPixmap &CIcons::appSettings16()
|
|
{
|
|
return wrench16();
|
|
}
|
|
|
|
const QPixmap &CIcons::appUsers16()
|
|
{
|
|
return users16();
|
|
}
|
|
|
|
const QPixmap &CIcons::appFlightPlan16()
|
|
{
|
|
return tableSheet16();
|
|
}
|
|
|
|
const QPixmap &CIcons::appCockpit16()
|
|
{
|
|
return radio16();
|
|
}
|
|
|
|
const QPixmap &CIcons::appSimulator16()
|
|
{
|
|
return joystick16();
|
|
}
|
|
|
|
const QPixmap &CIcons::appTextMessages16()
|
|
{
|
|
return text16();
|
|
}
|
|
|
|
const QPixmap &CIcons::appAtc16()
|
|
{
|
|
return radar16();
|
|
}
|
|
|
|
const QPixmap &CIcons::appAircraft16()
|
|
{
|
|
return paperPlane16();
|
|
}
|
|
|
|
const QPixmap &CIcons::appMappings16()
|
|
{
|
|
return tableRelationship16();
|
|
}
|
|
|
|
const QPixmap &CIcons::appLog16()
|
|
{
|
|
return monitorError16();
|
|
}
|
|
|
|
const QPixmap &CIcons::appAudio16()
|
|
{
|
|
return speakerNetwork16();
|
|
}
|
|
|
|
const QPixmap &CIcons::appVoiceRooms16()
|
|
{
|
|
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()
|
|
{
|
|
static const QPixmap pm(":/vatsim/icons/vatsim/C1.png");
|
|
return pm;
|
|
}
|
|
|
|
const QPixmap &CIcons::roleC2()
|
|
{
|
|
static const QPixmap pm(":/vatsim/icons/vatsim/C2.png");
|
|
return pm;
|
|
}
|
|
|
|
const QPixmap &CIcons::roleC3()
|
|
{
|
|
static const QPixmap pm(":/vatsim/icons/vatsim/C2.png");
|
|
return pm;
|
|
}
|
|
|
|
const QPixmap &CIcons::roleS1()
|
|
{
|
|
static const QPixmap pm(":/vatsim/icons/vatsim/S1.png");
|
|
return pm;
|
|
}
|
|
|
|
const QPixmap &CIcons::roleS2()
|
|
{
|
|
static const QPixmap pm(":/vatsim/icons/vatsim/S2.png");
|
|
return pm;
|
|
}
|
|
|
|
const QPixmap &CIcons::roleS3()
|
|
{
|
|
static const QPixmap pm(":/vatsim/icons/vatsim/S3.png");
|
|
return pm;
|
|
}
|
|
|
|
const QPixmap &CIcons::roleI1()
|
|
{
|
|
static const QPixmap pm(":/vatsim/icons/vatsim/I1.png");
|
|
return pm;
|
|
}
|
|
|
|
const QPixmap &CIcons::roleI3()
|
|
{
|
|
static const QPixmap pm(":/vatsim/icons/vatsim/I3.png");
|
|
return pm;
|
|
}
|
|
|
|
const QPixmap &CIcons::roleMnt()
|
|
{
|
|
static const QPixmap pm(":/vatsim/icons/vatsim/MNT.png");
|
|
return pm;
|
|
}
|
|
|
|
const QPixmap &CIcons::roleObs()
|
|
{
|
|
static const QPixmap pm(":/vatsim/icons/vatsim/OBS.png");
|
|
return pm;
|
|
}
|
|
|
|
const QPixmap &CIcons::roleSup()
|
|
{
|
|
static const QPixmap pm(":/vatsim/icons/vatsim/SUP.png");
|
|
return pm;
|
|
}
|
|
|
|
const QPixmap &CIcons::rolePilot()
|
|
{
|
|
static const QPixmap pm(QPixmap(":/own/icons/own/pilot.png").scaledToWidth(16, Qt::SmoothTransformation));
|
|
return pm;
|
|
}
|
|
|
|
const QPixmap &CIcons::roleApproach()
|
|
{
|
|
static const QPixmap pm(QPixmap(":/own/icons/own/app.jpg").scaledToWidth(16, Qt::SmoothTransformation));
|
|
return pm;
|
|
}
|
|
|
|
const QPixmap &CIcons::roleGround()
|
|
{
|
|
static const QPixmap pm(QPixmap(":/own/icons/own/gnd.jpg").scaledToWidth(16, Qt::SmoothTransformation));
|
|
return pm;
|
|
}
|
|
|
|
const QPixmap &CIcons::roleDelivery()
|
|
{
|
|
static const QPixmap pm(QPixmap(":/own/icons/own/del.jpg").scaledToWidth(16, Qt::SmoothTransformation));
|
|
return pm;
|
|
}
|
|
|
|
const QPixmap &CIcons::roleFss()
|
|
{
|
|
return info16();
|
|
}
|
|
|
|
const QPixmap &CIcons::roleTower()
|
|
{
|
|
static const QPixmap pm(QPixmap(":/own/icons/own/twr.jpg").scaledToWidth(16, Qt::SmoothTransformation));
|
|
return pm;
|
|
}
|
|
|
|
const QPixmap &CIcons::roleCenter()
|
|
{
|
|
static const QPixmap pm(QPixmap(":/own/icons/own/ctr.jpg").scaledToWidth(16, Qt::SmoothTransformation));
|
|
return pm;
|
|
}
|
|
|
|
const QPixmap &CIcons::roleUnknown()
|
|
{
|
|
static const QPixmap pm(":/pastel/icons/pastel/16/help.png");
|
|
return pm;
|
|
}
|
|
|
|
const QPixmap &CIcons::vatsimLogo16()
|
|
{
|
|
static const QPixmap pm(":/vatsim/icons/vatsim/VatsimLogo16.png");
|
|
return pm;
|
|
}
|
|
|
|
const QPixmap &CIcons::vatsimLogo32()
|
|
{
|
|
static const QPixmap pm(":/vatsim/icons/vatsim/VatsimLogo32.png");
|
|
return pm;
|
|
}
|
|
|
|
const QPixmap &CIcons::vatsimLogoWhite16()
|
|
{
|
|
static const QPixmap pm(":/vatsim/icons/vatsim/VatsimLogoWhite16.png");
|
|
return pm;
|
|
}
|
|
|
|
const QPixmap &CIcons::vatsimLogoWhite32()
|
|
{
|
|
static const QPixmap pm(":/vatsim/icons/vatsim/VatsimLogoWhite32.png");
|
|
return pm;
|
|
}
|
|
|
|
const QPixmap &CIcons::capabilityVoice()
|
|
{
|
|
static const QPixmap pm(":/diagona/icons/diagona/icons/headphone.png");
|
|
return pm;
|
|
}
|
|
|
|
const QPixmap &CIcons::capabilityVoiceBackground()
|
|
{
|
|
static const QPixmap pm(changeResourceBackgroundColor(":/diagona/icons/diagona/icons/headphone.png", Qt::green));
|
|
return pm;
|
|
}
|
|
|
|
const QPixmap &CIcons::capabilityVoiceReceiveOnly()
|
|
{
|
|
static const QPixmap pm(":/diagona/icons/diagona/icons/headphone.png");
|
|
return pm;
|
|
}
|
|
|
|
const QPixmap &CIcons::capabilityVoiceReceiveOnlyBackground()
|
|
{
|
|
static const QPixmap pm(changeResourceBackgroundColor(":/diagona/icons/diagona/icons/headphone.png", Qt::yellow));
|
|
return pm;
|
|
}
|
|
|
|
const QPixmap &CIcons::capabilityTextOnly()
|
|
{
|
|
return appTextMessages16();
|
|
}
|
|
|
|
const QPixmap &CIcons::capabilityUnknown()
|
|
{
|
|
return unknown16();
|
|
}
|
|
|
|
const QPixmap &CIcons::attitudeIndicator16()
|
|
{
|
|
static const QPixmap pm(":/own/icons/own/attitude_indicator_climbing_16.png");
|
|
return pm;
|
|
}
|
|
|
|
const QPixmap &CIcons::metar()
|
|
{
|
|
return weatherCloudy16();
|
|
}
|
|
|
|
const QPixmap &CIcons::atis()
|
|
{
|
|
return text16();
|
|
}
|
|
|
|
const QPixmap &CIcons::geoPosition16()
|
|
{
|
|
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)
|
|
{
|
|
case ApplicationAircraft:
|
|
return appAircraft16();
|
|
case ApplicationAircraftIcao:
|
|
return appAircraftIcao16();
|
|
case ApplicationAirlineIcao:
|
|
return appAirlineIcao16();
|
|
case ApplicationAtc:
|
|
return appAtc16();
|
|
case ApplicationAudio:
|
|
return appAudio16();
|
|
case ApplicationCockpit:
|
|
return appCockpit16();
|
|
case ApplicationCountries:
|
|
return appCountries16();
|
|
case ApplicationDatabase:
|
|
return appDatabase16();
|
|
case ApplicationDbStash:
|
|
return appDbStash16();
|
|
case ApplicationDistributors:
|
|
return appDistributors16();
|
|
case ApplicationFlightPlan:
|
|
return appFlightPlan16();
|
|
case ApplicationLiveries:
|
|
return appLiveries16();
|
|
case ApplicationLog:
|
|
return appLog16();
|
|
case ApplicationMappings:
|
|
return appMappings16();
|
|
case ApplicationModels:
|
|
return appModels16();
|
|
case ApplicationSettings:
|
|
return appSettings16();
|
|
case ApplicationSimulator:
|
|
return appSimulator16();
|
|
case ApplicationTextMessages:
|
|
return appTextMessages16();
|
|
case ApplicationWeather:
|
|
return appWeather16();
|
|
case AviationAtis:
|
|
return atis();
|
|
case AviationAttitudeIndicator:
|
|
return attitudeIndicator16();
|
|
case AviationMetar:
|
|
return metar();
|
|
case GeoPosition:
|
|
return geoPosition16();
|
|
case ModelExclude:
|
|
return modelExclude16();
|
|
case ModelInclude:
|
|
return modelInclude16();
|
|
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 NetworkRoleFss:
|
|
return roleFss();
|
|
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 NetworkVatsimLogo:
|
|
return vatsimLogo16();
|
|
case NetworkVatsimLogoWhite:
|
|
return vatsimLogoWhite16();
|
|
case NotSet:
|
|
return empty();
|
|
case StandardIconAppAircrafts16:
|
|
return appAircraft16();
|
|
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 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 StandardIconLoad16:
|
|
return load16();
|
|
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 StandardIconSave16:
|
|
return save16();
|
|
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)
|
|
{
|
|
if (rotateDegrees == 0) { return pixmapByIndex(index); }
|
|
return rotate(rotateDegrees, pixmapByIndex(index));
|
|
}
|
|
|
|
const QPixmap &CIcons::pixmapByResourceFileName(const QString &fileName)
|
|
{
|
|
Q_ASSERT_X(!fileName.isEmpty(), Q_FUNC_INFO, "missing filename");
|
|
if (!getResourceFileCache().contains(fileName))
|
|
{
|
|
QString path = CFileUtils::appendFilePaths(CProject::getImagesDir(), 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 destBackgroundImg(imgSource.size(), QImage::Format_RGB32);
|
|
destBackgroundImg.fill(backgroundColor);
|
|
QPainter p(&destBackgroundImg);
|
|
p.setCompositionMode(QPainter::CompositionMode_SourceAtop);
|
|
p.drawImage(0, 0, imgSource);
|
|
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)
|
|
{
|
|
QImage imgSource(resource);
|
|
QImage destBackgroundImg(changeImageBackgroundColor(imgSource, backgroundColor));
|
|
return QPixmap::fromImage(destBackgroundImg);
|
|
}
|
|
|
|
QIcon CIcons::changeIconBackgroundColor(const QIcon &icon, Qt::GlobalColor backgroundColor, const QSize &targetsize)
|
|
{
|
|
QImage imgSource(icon.pixmap(targetsize).toImage());
|
|
QImage destBackgroundImg(changeImageBackgroundColor(imgSource, backgroundColor));
|
|
return QIcon(QPixmap::fromImage(destBackgroundImg));
|
|
}
|
|
|
|
} // namespace
|