Skip to content

Commit

Permalink
Fix skin
Browse files Browse the repository at this point in the history
  • Loading branch information
darktorres committed Jul 13, 2022
1 parent 37bd63e commit d22165f
Show file tree
Hide file tree
Showing 5 changed files with 37 additions and 18 deletions.
7 changes: 6 additions & 1 deletion app/element/clock.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -140,7 +140,12 @@ QString Clock::genericProperties()

void Clock::setSkin(const bool defaultSkin, const QString &fileName)
{
if (defaultSkin) {
m_alternativeSkins = m_defaultSkins;
} else {
m_alternativeSkins[static_cast<int>(m_isOn)] = fileName;
}

m_usingDefaultSkin = defaultSkin;
m_alternativeSkins[static_cast<int>(m_isOn)] = fileName;
setPixmap(static_cast<int>(m_isOn));
}
7 changes: 6 additions & 1 deletion app/element/inputbutton.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,12 @@ void InputButton::setOn(const bool value, const int port)

void InputButton::setSkin(const bool defaultSkin, const QString &fileName)
{
if (defaultSkin) {
m_alternativeSkins = m_defaultSkins;
} else {
m_alternativeSkins[static_cast<int>(m_isOn)] = fileName;
}

m_usingDefaultSkin = defaultSkin;
m_alternativeSkins[static_cast<int>(m_isOn)] = fileName;
setPixmap(static_cast<int>(m_isOn));
}
8 changes: 7 additions & 1 deletion app/element/inputrotary.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -244,8 +244,14 @@ void InputRotary::load(QDataStream &stream, QMap<quint64, QNEPort *> &portMap, c

void InputRotary::setSkin(const bool defaultSkin, const QString &fileName)
{
if (defaultSkin) {
m_alternativeSkins = m_defaultSkins;
} else {
m_alternativeSkins[0] = fileName;
}

m_usingDefaultSkin = defaultSkin;
m_alternativeSkins[0] = fileName;
setPixmap(0);
}

int InputRotary::outputSize() const
Expand Down
7 changes: 6 additions & 1 deletion app/element/inputswitch.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,12 @@ void InputSwitch::load(QDataStream &stream, QMap<quint64, QNEPort *> &portMap, c

void InputSwitch::setSkin(const bool defaultSkin, const QString &fileName)
{
if (defaultSkin) {
m_alternativeSkins = m_defaultSkins;
} else {
m_alternativeSkins[static_cast<int>(m_isOn)] = fileName;
}

m_usingDefaultSkin = defaultSkin;
m_alternativeSkins[static_cast<int>(m_isOn)] = fileName;
setPixmap(static_cast<int>(m_isOn));
}
26 changes: 12 additions & 14 deletions app/graphicelement.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -159,9 +159,9 @@ void GraphicElement::save(QDataStream &stream) const
}

/* <\Version2.7> */
stream << static_cast<quint64>(m_defaultSkins.size());
stream << static_cast<quint64>(m_alternativeSkins.size());

for (const QString &skinName : m_defaultSkins) {
for (const auto &skinName : m_alternativeSkins) {
stream << skinName;
}

Expand Down Expand Up @@ -387,6 +387,8 @@ void GraphicElement::loadPixmapSkinNames(QDataStream &stream, const double versi
loadPixmapSkinName(stream, static_cast<int>(skin));
}

m_usingDefaultSkin = (m_defaultSkins == m_alternativeSkins);

refresh();
}
}
Expand All @@ -396,21 +398,12 @@ void GraphicElement::loadPixmapSkinName(QDataStream &stream, const int skin)
QString name;
stream >> name;

if (skin >= m_defaultSkins.size()) {
if (skin >= m_alternativeSkins.size()) {
qCDebug(zero) << tr("Could not load some of the skins.");
}

if (!name.startsWith(":/")) {
QDir dir(QFileInfo(GlobalProperties::currentFile).absoluteDir());
QString fileName(QFileInfo(name).fileName());
QFileInfo fileInfo(dir, fileName);
qCDebug(zero) << tr("Skin fileName:") << fileInfo.absoluteFilePath();

if (!fileInfo.isFile()) {
qCDebug(zero) << tr("Could not load some of the skins.");
}

m_defaultSkins[skin] = fileInfo.absoluteFilePath();
m_alternativeSkins[skin] = name;
}
}

Expand Down Expand Up @@ -516,8 +509,13 @@ qreal GraphicElement::rotation() const

void GraphicElement::setSkin(const bool defaultSkin, const QString &fileName)
{
if (defaultSkin) {
m_alternativeSkins = m_defaultSkins;
} else {
m_alternativeSkins[0] = fileName;
}

m_usingDefaultSkin = defaultSkin;
m_alternativeSkins.first() = fileName;
setPixmap(0);
}

Expand Down

0 comments on commit d22165f

Please sign in to comment.