mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-17 19:05:31 +08:00
refs #247 Using CVariant in blackgui.
This commit is contained in:
@@ -162,11 +162,11 @@ namespace BlackGui
|
|||||||
QObject *sender = QObject::sender();
|
QObject *sender = QObject::sender();
|
||||||
if (sender == this->ui->pb_SettingsTnRemoveServer)
|
if (sender == this->ui->pb_SettingsTnRemoveServer)
|
||||||
{
|
{
|
||||||
this->getIContextSettings()->value(path, CSettingUtilities::CmdRemove(), server.toQVariant());
|
this->getIContextSettings()->value(path, CSettingUtilities::CmdRemove(), server.toCVariant());
|
||||||
}
|
}
|
||||||
else if (sender == this->ui->pb_SettingsTnSaveServer)
|
else if (sender == this->ui->pb_SettingsTnSaveServer)
|
||||||
{
|
{
|
||||||
this->getIContextSettings()->value(path, CSettingUtilities::CmdUpdate(), server.toQVariant());
|
this->getIContextSettings()->value(path, CSettingUtilities::CmdUpdate(), server.toCVariant());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -186,7 +186,7 @@ namespace BlackGui
|
|||||||
void CSettingsComponent::ps_saveHotkeys()
|
void CSettingsComponent::ps_saveHotkeys()
|
||||||
{
|
{
|
||||||
const QString path = CSettingUtilities::appendPaths(IContextSettings::PathRoot(), IContextSettings::PathHotkeys());
|
const QString path = CSettingUtilities::appendPaths(IContextSettings::PathRoot(), IContextSettings::PathHotkeys());
|
||||||
this->getIContextSettings()->value(path, CSettingUtilities::CmdUpdate(), this->ui->tvp_SettingsMiscHotkeys->derivedModel()->getContainer().toQVariant());
|
this->getIContextSettings()->value(path, CSettingUtilities::CmdUpdate(), this->ui->tvp_SettingsMiscHotkeys->derivedModel()->getContainer().toCVariant());
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -7,6 +7,7 @@
|
|||||||
#include "blacksim/setsimulator.h"
|
#include "blacksim/setsimulator.h"
|
||||||
#include "blackmisc/settingutilities.h"
|
#include "blackmisc/settingutilities.h"
|
||||||
#include "blackmisc/logmessage.h"
|
#include "blackmisc/logmessage.h"
|
||||||
|
#include "blackmisc/variant.h"
|
||||||
|
|
||||||
#include <QComboBox>
|
#include <QComboBox>
|
||||||
|
|
||||||
@@ -135,7 +136,7 @@ namespace BlackGui
|
|||||||
if (sender == this->ui->cb_TimeSync)
|
if (sender == this->ui->cb_TimeSync)
|
||||||
{
|
{
|
||||||
bool timeSync = this->ui->cb_TimeSync->isChecked();
|
bool timeSync = this->ui->cb_TimeSync->isChecked();
|
||||||
this->getIContextSettings()->value(CSettingUtilities::appendPaths(ps, CSettingsSimulator::ValueSyncTime()), CSettingUtilities::CmdUpdate(), QVariant(timeSync));
|
this->getIContextSettings()->value(CSettingUtilities::appendPaths(ps, CSettingsSimulator::ValueSyncTime()), CSettingUtilities::CmdUpdate(), CVariant::from(timeSync));
|
||||||
}
|
}
|
||||||
else if (sender == this->ui->le_TimeSyncOffset)
|
else if (sender == this->ui->le_TimeSyncOffset)
|
||||||
{
|
{
|
||||||
@@ -151,7 +152,7 @@ namespace BlackGui
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
this->getIContextSettings()->value(CSettingUtilities::appendPaths(ps, CSettingsSimulator::ValueSyncTimeOffset()), CSettingUtilities::CmdUpdate(), ost.toQVariant());
|
this->getIContextSettings()->value(CSettingUtilities::appendPaths(ps, CSettingsSimulator::ValueSyncTimeOffset()), CSettingUtilities::CmdUpdate(), ost.toCVariant());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,57 +20,57 @@ namespace BlackGui
|
|||||||
namespace Models
|
namespace Models
|
||||||
{
|
{
|
||||||
|
|
||||||
QVariant CDefaultFormatter::displayRole(const QVariant &dataQVariant) const
|
CVariant CDefaultFormatter::displayRole(const CVariant &dataCVariant) const
|
||||||
{
|
{
|
||||||
// seems to be absurd, but calls the correct methods on CValueObjects
|
// seems to be absurd, but calls the correct methods on CValueObjects
|
||||||
// so QVariant -> QString -> QVariant is correct
|
// so QVariant -> QString -> CVariant is correct
|
||||||
if (static_cast<QMetaType::Type>(dataQVariant.type()) == QMetaType::QString) return dataQVariant; // shortcut
|
if (static_cast<QMetaType::Type>(dataCVariant.type()) == QMetaType::QString) return dataCVariant; // shortcut
|
||||||
return BlackMisc::qVariantToString(dataQVariant, m_useI18n);
|
return dataCVariant.toQString(m_useI18n);
|
||||||
}
|
}
|
||||||
|
|
||||||
QVariant CDefaultFormatter::decorationRole(const QVariant &dataQVariant) const
|
CVariant CDefaultFormatter::decorationRole(const CVariant &dataCVariant) const
|
||||||
{
|
{
|
||||||
// direct return if type is already correct
|
// direct return if type is already correct
|
||||||
if (static_cast<QMetaType::Type>(dataQVariant.type()) == QMetaType::QPixmap)
|
if (static_cast<QMetaType::Type>(dataCVariant.type()) == QMetaType::QPixmap)
|
||||||
{
|
{
|
||||||
return dataQVariant;
|
return dataCVariant;
|
||||||
}
|
}
|
||||||
else if (static_cast<QMetaType::Type>(dataQVariant.type()) == QMetaType::QIcon)
|
else if (static_cast<QMetaType::Type>(dataCVariant.type()) == QMetaType::QIcon)
|
||||||
{
|
{
|
||||||
return dataQVariant;
|
return dataCVariant;
|
||||||
}
|
}
|
||||||
|
|
||||||
// convert to pixmap
|
// convert to pixmap
|
||||||
if (static_cast<QMetaType::Type>(dataQVariant.type()) == QMetaType::QImage)
|
if (static_cast<QMetaType::Type>(dataCVariant.type()) == QMetaType::QImage)
|
||||||
{
|
{
|
||||||
QImage img = dataQVariant.value<QImage>();
|
QImage img = dataCVariant.value<QImage>();
|
||||||
return QPixmap::fromImage(img);
|
return CVariant::from(QPixmap::fromImage(img));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Our CIcon class
|
// Our CIcon class
|
||||||
if (dataQVariant.canConvert<BlackMisc::CIcon>())
|
if (dataCVariant.canConvert<BlackMisc::CIcon>())
|
||||||
{
|
{
|
||||||
BlackMisc::CIcon i = dataQVariant.value<BlackMisc::CIcon>();
|
BlackMisc::CIcon i = dataCVariant.value<BlackMisc::CIcon>();
|
||||||
return i.toPixmap();
|
return CVariant::from(i.toPixmap());
|
||||||
}
|
}
|
||||||
|
|
||||||
// nope
|
// nope
|
||||||
return QPixmap();
|
return CVariant::from(QPixmap());
|
||||||
}
|
}
|
||||||
|
|
||||||
QVariant CDefaultFormatter::alignmentRole() const
|
CVariant CDefaultFormatter::alignmentRole() const
|
||||||
{
|
{
|
||||||
if (!this->hasAlignment())
|
if (!this->hasAlignment())
|
||||||
{
|
{
|
||||||
return QVariant(alignDefault()); // default
|
return CVariant::from(alignDefault()); // default
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
return QVariant(m_alignment);
|
return CVariant::from(m_alignment);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
QVariant CDefaultFormatter::data(int role, const QVariant &inputData) const
|
CVariant CDefaultFormatter::data(int role, const CVariant &inputData) const
|
||||||
{
|
{
|
||||||
Qt::ItemDataRole roleEnum = static_cast<Qt::ItemDataRole>(role);
|
Qt::ItemDataRole roleEnum = static_cast<Qt::ItemDataRole>(role);
|
||||||
|
|
||||||
@@ -78,8 +78,8 @@ namespace BlackGui
|
|||||||
if (roleEnum == Qt::TextAlignmentRole) return { alignmentRole() };
|
if (roleEnum == Qt::TextAlignmentRole) return { alignmentRole() };
|
||||||
|
|
||||||
// checked
|
// checked
|
||||||
if (this->m_supportedRoles.isEmpty()) return QVariant();
|
if (this->m_supportedRoles.isEmpty()) return CVariant();
|
||||||
if (!this->m_supportedRoles.contains(role)) return QVariant();
|
if (!this->m_supportedRoles.contains(role)) return CVariant();
|
||||||
switch (roleEnum)
|
switch (roleEnum)
|
||||||
{
|
{
|
||||||
case Qt::DisplayRole:
|
case Qt::DisplayRole:
|
||||||
@@ -94,52 +94,44 @@ namespace BlackGui
|
|||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
return QVariant();
|
return CVariant();
|
||||||
}
|
}
|
||||||
|
|
||||||
QVariant CPixmapFormatter::displayRole(const QVariant &dataQVariant) const
|
CVariant CPixmapFormatter::displayRole(const CVariant &dataCVariant) const
|
||||||
{
|
{
|
||||||
Q_UNUSED(dataQVariant);
|
Q_UNUSED(dataCVariant);
|
||||||
Q_ASSERT_X(false, "CPixmapFormatter", "this role should be disabled with pixmaps");
|
Q_ASSERT_X(false, "CPixmapFormatter", "this role should be disabled with pixmaps");
|
||||||
return QVariant();
|
return CVariant();
|
||||||
}
|
}
|
||||||
|
|
||||||
QVariant CPixmapFormatter::tooltipRole(const QVariant &dataQVariant) const
|
CVariant CPixmapFormatter::tooltipRole(const CVariant &dataCVariant) const
|
||||||
{
|
{
|
||||||
if (dataQVariant.isNull()) return "";
|
if (dataCVariant.isNull()) return "";
|
||||||
if (dataQVariant.canConvert<BlackMisc::CIcon>())
|
if (dataCVariant.canConvert<BlackMisc::CIcon>())
|
||||||
{
|
{
|
||||||
BlackMisc::CIcon icon = dataQVariant.value<BlackMisc::CIcon>();
|
BlackMisc::CIcon icon = dataCVariant.value<BlackMisc::CIcon>();
|
||||||
return icon.getDescriptiveText();
|
return icon.getDescriptiveText();
|
||||||
}
|
}
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
|
|
||||||
QVariant CValueObjectFormatter::displayRole(const QVariant &valueObject) const
|
CVariant CValueObjectFormatter::displayRole(const CVariant &valueObject) const
|
||||||
{
|
{
|
||||||
if (valueObject.isNull()) return QVariant();
|
return CVariant(valueObject.toQString(m_useI18n));
|
||||||
const BlackMisc::CValueObject *cvo = BlackMisc::CValueObject::fromQVariant(valueObject);
|
|
||||||
Q_ASSERT(cvo);
|
|
||||||
if (!cvo) return QVariant();
|
|
||||||
return QVariant(cvo->toQString(m_useI18n));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
QVariant CValueObjectFormatter::decorationRole(const QVariant &valueObject) const
|
CVariant CValueObjectFormatter::decorationRole(const CVariant &valueObject) const
|
||||||
{
|
{
|
||||||
if (valueObject.isNull()) return "";
|
return CVariant(valueObject.toPixmap());
|
||||||
const BlackMisc::CValueObject *cvo = BlackMisc::CValueObject::fromQVariant(valueObject);
|
|
||||||
Q_ASSERT(cvo);
|
|
||||||
if (!cvo) return QPixmap();
|
|
||||||
return QVariant(cvo->toPixmap());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
CDateTimeFormatter::CDateTimeFormatter(const QString formatString, int alignment, bool i18n) :
|
CDateTimeFormatter::CDateTimeFormatter(const QString &formatString, int alignment, bool i18n) :
|
||||||
CDefaultFormatter(alignment, i18n, { Qt::DisplayRole }), m_formatString(formatString)
|
CDefaultFormatter(alignment, i18n, { Qt::DisplayRole }), m_formatString(formatString)
|
||||||
{
|
{
|
||||||
// void
|
// void
|
||||||
}
|
}
|
||||||
|
|
||||||
QVariant CDateTimeFormatter::displayRole(const QVariant &dateTime) const
|
CVariant CDateTimeFormatter::displayRole(const CVariant &dateTime) const
|
||||||
{
|
{
|
||||||
if (dateTime.isNull()) return "";
|
if (dateTime.isNull()) return "";
|
||||||
if (static_cast<QMetaType::Type>(dateTime.type()) == QMetaType::QDateTime)
|
if (static_cast<QMetaType::Type>(dateTime.type()) == QMetaType::QDateTime)
|
||||||
@@ -164,15 +156,15 @@ namespace BlackGui
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
QVariant CAirspaceDistanceFormatter::displayRole(const QVariant &dataQVariant) const
|
CVariant CAirspaceDistanceFormatter::displayRole(const CVariant &dataCVariant) const
|
||||||
{
|
{
|
||||||
if (dataQVariant.canConvert<BlackMisc::PhysicalQuantities::CLength>())
|
if (dataCVariant.canConvert<BlackMisc::PhysicalQuantities::CLength>())
|
||||||
{
|
{
|
||||||
// special treatment for some cases
|
// special treatment for some cases
|
||||||
BlackMisc::PhysicalQuantities::CLength l = dataQVariant.value<BlackMisc::PhysicalQuantities::CLength>();
|
BlackMisc::PhysicalQuantities::CLength l = dataCVariant.value<BlackMisc::PhysicalQuantities::CLength>();
|
||||||
if (!l.isNull() && (l.isPositiveWithEpsilonConsidered() || l.isZeroEpsilonConsidered()))
|
if (!l.isNull() && (l.isPositiveWithEpsilonConsidered() || l.isZeroEpsilonConsidered()))
|
||||||
{
|
{
|
||||||
return CPhysiqalQuantiyFormatter::displayRole(dataQVariant);
|
return CPhysiqalQuantiyFormatter::displayRole(dataCVariant);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -186,15 +178,15 @@ namespace BlackGui
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
QVariant CComFrequencyFormatter::displayRole(const QVariant &dataQVariant) const
|
CVariant CComFrequencyFormatter::displayRole(const CVariant &dataCVariant) const
|
||||||
{
|
{
|
||||||
if (dataQVariant.canConvert<BlackMisc::PhysicalQuantities::CFrequency>())
|
if (dataCVariant.canConvert<BlackMisc::PhysicalQuantities::CFrequency>())
|
||||||
{
|
{
|
||||||
// speical treatment for some cases
|
// speical treatment for some cases
|
||||||
BlackMisc::PhysicalQuantities::CFrequency f = dataQVariant.value<BlackMisc::PhysicalQuantities::CFrequency>();
|
BlackMisc::PhysicalQuantities::CFrequency f = dataCVariant.value<BlackMisc::PhysicalQuantities::CFrequency>();
|
||||||
if (BlackMisc::Aviation::CComSystem::isValidComFrequency(f))
|
if (BlackMisc::Aviation::CComSystem::isValidComFrequency(f))
|
||||||
{
|
{
|
||||||
return CPhysiqalQuantiyFormatter::displayRole(dataQVariant);
|
return CPhysiqalQuantiyFormatter::displayRole(dataCVariant);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -208,13 +200,13 @@ namespace BlackGui
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
QVariant CAircraftSpeedFormatter::displayRole(const QVariant &dataQVariant) const
|
CVariant CAircraftSpeedFormatter::displayRole(const CVariant &dataCVariant) const
|
||||||
{
|
{
|
||||||
// special treatment for some cases
|
// special treatment for some cases
|
||||||
BlackMisc::PhysicalQuantities::CSpeed s = dataQVariant.value<BlackMisc::PhysicalQuantities::CSpeed>();
|
BlackMisc::PhysicalQuantities::CSpeed s = dataCVariant.value<BlackMisc::PhysicalQuantities::CSpeed>();
|
||||||
if (!s.isNull() && (s.isPositiveWithEpsilonConsidered() || s.isZeroEpsilonConsidered()))
|
if (!s.isNull() && (s.isPositiveWithEpsilonConsidered() || s.isZeroEpsilonConsidered()))
|
||||||
{
|
{
|
||||||
return CPhysiqalQuantiyFormatter::displayRole(dataQVariant);
|
return CPhysiqalQuantiyFormatter::displayRole(dataCVariant);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -222,22 +214,22 @@ namespace BlackGui
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
QVariant CStringFormatter::displayRole(const QVariant &dataQVariant) const
|
CVariant CStringFormatter::displayRole(const CVariant &dataCVariant) const
|
||||||
{
|
{
|
||||||
if (dataQVariant.canConvert<QString>()) { return dataQVariant; }
|
if (dataCVariant.canConvert<QString>()) { return dataCVariant; }
|
||||||
Q_ASSERT_X(false, "CStringFormatter", "no string value");
|
Q_ASSERT_X(false, "CStringFormatter", "no string value");
|
||||||
return QVariant();
|
return CVariant();
|
||||||
}
|
}
|
||||||
|
|
||||||
QVariant CBoolTextFormatter::displayRole(const QVariant &dataQVariant) const
|
CVariant CBoolTextFormatter::displayRole(const CVariant &dataCVariant) const
|
||||||
{
|
{
|
||||||
if (dataQVariant.canConvert<bool>())
|
if (dataCVariant.canConvert<bool>())
|
||||||
{
|
{
|
||||||
bool v = dataQVariant.toBool();
|
bool v = dataCVariant.toBool();
|
||||||
return v ? QVariant(m_trueName) : QVariant(m_falseName);
|
return v ? CVariant(m_trueName) : CVariant(m_falseName);
|
||||||
}
|
}
|
||||||
Q_ASSERT_X(false, "CBoolTextFormatter", "no boolean value");
|
Q_ASSERT_X(false, "CBoolTextFormatter", "no boolean value");
|
||||||
return QVariant();
|
return CVariant();
|
||||||
}
|
}
|
||||||
|
|
||||||
CBoolLedFormatter::CBoolLedFormatter(int alignment) : CBoolLedFormatter("on", "off", alignment)
|
CBoolLedFormatter::CBoolLedFormatter(int alignment) : CBoolLedFormatter("on", "off", alignment)
|
||||||
@@ -254,22 +246,22 @@ namespace BlackGui
|
|||||||
delete led;
|
delete led;
|
||||||
}
|
}
|
||||||
|
|
||||||
QVariant CBoolLedFormatter::displayRole(const QVariant &dataQVariant) const
|
CVariant CBoolLedFormatter::displayRole(const CVariant &dataCVariant) const
|
||||||
{
|
{
|
||||||
Q_UNUSED(dataQVariant);
|
Q_UNUSED(dataCVariant);
|
||||||
Q_ASSERT_X(false, "CBoolLedFormatter", "this role should be disabled with led boolean");
|
Q_ASSERT_X(false, "CBoolLedFormatter", "this role should be disabled with led boolean");
|
||||||
return QVariant();
|
return CVariant();
|
||||||
}
|
}
|
||||||
|
|
||||||
QVariant CBoolLedFormatter::decorationRole(const QVariant &dataQVariant) const
|
CVariant CBoolLedFormatter::decorationRole(const CVariant &dataCVariant) const
|
||||||
{
|
{
|
||||||
if (dataQVariant.canConvert<bool>())
|
if (dataCVariant.canConvert<bool>())
|
||||||
{
|
{
|
||||||
bool v = dataQVariant.toBool();
|
bool v = dataCVariant.toBool();
|
||||||
return v ? m_pixmapOnLed : m_pixmapOffLed;
|
return CVariant::from(v ? m_pixmapOnLed : m_pixmapOffLed);
|
||||||
}
|
}
|
||||||
Q_ASSERT_X(false, "CBoolLedFormatter", "no boolean value");
|
Q_ASSERT_X(false, "CBoolLedFormatter", "no boolean value");
|
||||||
return QVariant();
|
return CVariant();
|
||||||
}
|
}
|
||||||
|
|
||||||
CBoolIconFormatter::CBoolIconFormatter(int alignment) :
|
CBoolIconFormatter::CBoolIconFormatter(int alignment) :
|
||||||
@@ -287,22 +279,22 @@ namespace BlackGui
|
|||||||
this->m_iconOff.setDescriptiveText(offName);
|
this->m_iconOff.setDescriptiveText(offName);
|
||||||
}
|
}
|
||||||
|
|
||||||
QVariant CBoolIconFormatter::displayRole(const QVariant &dataQVariant) const
|
CVariant CBoolIconFormatter::displayRole(const CVariant &dataCVariant) const
|
||||||
{
|
{
|
||||||
Q_UNUSED(dataQVariant);
|
Q_UNUSED(dataCVariant);
|
||||||
Q_ASSERT_X(false, "CBoolIconFormatter", "this role should be disabled with icon boolean");
|
Q_ASSERT_X(false, "CBoolIconFormatter", "this role should be disabled with icon boolean");
|
||||||
return QVariant();
|
return CVariant();
|
||||||
}
|
}
|
||||||
|
|
||||||
QVariant CBoolIconFormatter::decorationRole(const QVariant &dataQVariant) const
|
CVariant CBoolIconFormatter::decorationRole(const CVariant &dataCVariant) const
|
||||||
{
|
{
|
||||||
if (dataQVariant.canConvert<bool>())
|
if (dataCVariant.canConvert<bool>())
|
||||||
{
|
{
|
||||||
bool v = dataQVariant.toBool();
|
bool v = dataCVariant.toBool();
|
||||||
return v ? m_iconOn.toPixmap() : m_iconOff.toPixmap();
|
return CVariant::from(v ? m_iconOn.toPixmap() : m_iconOff.toPixmap());
|
||||||
}
|
}
|
||||||
Q_ASSERT_X(false, "CBoolIconFormatter", "no boolean value");
|
Q_ASSERT_X(false, "CBoolIconFormatter", "no boolean value");
|
||||||
return QVariant();
|
return CVariant();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -36,29 +36,29 @@ namespace BlackGui
|
|||||||
//! Virtual destructor
|
//! Virtual destructor
|
||||||
virtual ~CDefaultFormatter() {}
|
virtual ~CDefaultFormatter() {}
|
||||||
|
|
||||||
//! Value provided as QVariant, formatter converts to QString.
|
//! Value provided as CVariant, formatter converts to QString.
|
||||||
//! Used with Qt::DisplayRole displaying a text.
|
//! Used with Qt::DisplayRole displaying a text.
|
||||||
virtual QVariant displayRole(const QVariant &dataQVariant) const;
|
virtual BlackMisc::CVariant displayRole(const BlackMisc::CVariant &dataCVariant) const;
|
||||||
|
|
||||||
//! Value provided as QVariant, formatter converts to QString.
|
//! Value provided as CVariant, formatter converts to QString.
|
||||||
//! Used with Qt::ToolTipRole displaying a text.
|
//! Used with Qt::ToolTipRole displaying a text.
|
||||||
virtual QVariant tooltipRole(const QVariant &value) const
|
virtual BlackMisc::CVariant tooltipRole(const BlackMisc::CVariant &value) const
|
||||||
{
|
{
|
||||||
return displayRole(value);
|
return displayRole(value);
|
||||||
}
|
}
|
||||||
|
|
||||||
//! Value provided as QVariant, formatted as icon (Qt docu: "The data to be rendered as a decoration in the form of an icon").
|
//! Value provided as CVariant, formatted as icon (Qt docu: "The data to be rendered as a decoration in the form of an icon").
|
||||||
//! Used with Qt::DecorationRole displaying an icon, method returns pixmap, icon, or color (see docu)
|
//! Used with Qt::DecorationRole displaying an icon, method returns pixmap, icon, or color (see docu)
|
||||||
virtual QVariant decorationRole(const QVariant &dataQVariant) const;
|
virtual BlackMisc::CVariant decorationRole(const BlackMisc::CVariant &dataCVariant) const;
|
||||||
|
|
||||||
//! Qt::Alignment (as QVariant)
|
//! Qt::Alignment (as CVariant)
|
||||||
virtual QVariant alignmentRole() const;
|
virtual BlackMisc::CVariant alignmentRole() const;
|
||||||
|
|
||||||
//! Alignment available?
|
//! Alignment available?
|
||||||
virtual bool hasAlignment() const { return m_alignment >= 0; }
|
virtual bool hasAlignment() const { return m_alignment >= 0; }
|
||||||
|
|
||||||
//! Receives QVariant of column data, and returns QVariant wrapping string, pixmap, or other values depending on role
|
//! Receives CVariant of column data, and returns CVariant wrapping string, pixmap, or other values depending on role
|
||||||
virtual QVariant data(int role, const QVariant &inputData) const;
|
virtual BlackMisc::CVariant data(int role, const BlackMisc::CVariant &inputData) const;
|
||||||
|
|
||||||
//! Default value
|
//! Default value
|
||||||
static int alignDefault() { return alignLeftVCenter(); }
|
static int alignDefault() { return alignLeftVCenter(); }
|
||||||
@@ -92,10 +92,10 @@ namespace BlackGui
|
|||||||
CPixmapFormatter(int alignment = alignDefault(), const QList<int> &supportedRoles = roleDecorationAndToolTip()) : CDefaultFormatter(alignment, false, supportedRoles) {}
|
CPixmapFormatter(int alignment = alignDefault(), const QList<int> &supportedRoles = roleDecorationAndToolTip()) : CDefaultFormatter(alignment, false, supportedRoles) {}
|
||||||
|
|
||||||
//! \copydoc CDefaultFormatter::displayRole
|
//! \copydoc CDefaultFormatter::displayRole
|
||||||
virtual QVariant displayRole(const QVariant &dataQVariant) const override;
|
virtual BlackMisc::CVariant displayRole(const BlackMisc::CVariant &dataCVariant) const override;
|
||||||
|
|
||||||
//! \copydoc CDefaultFormatter::tooltipRole
|
//! \copydoc CDefaultFormatter::tooltipRole
|
||||||
virtual QVariant tooltipRole(const QVariant &dataQVariant) const override;
|
virtual BlackMisc::CVariant tooltipRole(const BlackMisc::CVariant &dataCVariant) const override;
|
||||||
};
|
};
|
||||||
|
|
||||||
//! String formatter, if known the variant already contains the appropriate string
|
//! String formatter, if known the variant already contains the appropriate string
|
||||||
@@ -106,7 +106,7 @@ namespace BlackGui
|
|||||||
CStringFormatter(int alignment = alignDefault()) : CDefaultFormatter(alignment, false, roleDisplay()) {}
|
CStringFormatter(int alignment = alignDefault()) : CDefaultFormatter(alignment, false, roleDisplay()) {}
|
||||||
|
|
||||||
//! \copydoc CDefaultFormatter::displayRole
|
//! \copydoc CDefaultFormatter::displayRole
|
||||||
virtual QVariant displayRole(const QVariant &dataQVariant) const override;
|
virtual BlackMisc::CVariant displayRole(const BlackMisc::CVariant &dataCVariant) const override;
|
||||||
};
|
};
|
||||||
|
|
||||||
//! Bool value, format as text
|
//! Bool value, format as text
|
||||||
@@ -118,7 +118,7 @@ namespace BlackGui
|
|||||||
CDefaultFormatter(alignment, false, supportedRoles), m_trueName(trueName), m_falseName(falseName) {}
|
CDefaultFormatter(alignment, false, supportedRoles), m_trueName(trueName), m_falseName(falseName) {}
|
||||||
|
|
||||||
//! \copydoc CDefaultFormatter::displayRole
|
//! \copydoc CDefaultFormatter::displayRole
|
||||||
virtual QVariant displayRole(const QVariant &dataQVariant) const override;
|
virtual BlackMisc::CVariant displayRole(const BlackMisc::CVariant &dataCVariant) const override;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
QString m_trueName = "true"; //!< displayed when true
|
QString m_trueName = "true"; //!< displayed when true
|
||||||
@@ -137,15 +137,15 @@ namespace BlackGui
|
|||||||
CBoolLedFormatter(const QString &onName, const QString &offName, int alignment = alignDefault());
|
CBoolLedFormatter(const QString &onName, const QString &offName, int alignment = alignDefault());
|
||||||
|
|
||||||
//! \copydoc CDefaultFormatter::displayRole
|
//! \copydoc CDefaultFormatter::displayRole
|
||||||
virtual QVariant displayRole(const QVariant &dataQVariant) const override;
|
virtual BlackMisc::CVariant displayRole(const BlackMisc::CVariant &dataCVariant) const override;
|
||||||
|
|
||||||
//! Display the LED
|
//! Display the LED
|
||||||
virtual QVariant decorationRole(const QVariant &dataQVariant) const override;
|
virtual BlackMisc::CVariant decorationRole(const BlackMisc::CVariant &dataCVariant) const override;
|
||||||
|
|
||||||
//! \copydoc CDefaultFormatter::tooltipRole
|
//! \copydoc CDefaultFormatter::tooltipRole
|
||||||
virtual QVariant tooltipRole(const QVariant &dataQVariant) const override
|
virtual BlackMisc::CVariant tooltipRole(const BlackMisc::CVariant &dataCVariant) const override
|
||||||
{
|
{
|
||||||
return CBoolTextFormatter::displayRole(dataQVariant);
|
return CBoolTextFormatter::displayRole(dataCVariant);
|
||||||
}
|
}
|
||||||
|
|
||||||
//! Default LED
|
//! Default LED
|
||||||
@@ -174,15 +174,15 @@ namespace BlackGui
|
|||||||
CBoolIconFormatter(BlackMisc::CIcons::IconIndex onIcon, BlackMisc::CIcons::IconIndex offIcon, const QString &onName, const QString &offName, int alignment = alignDefault());
|
CBoolIconFormatter(BlackMisc::CIcons::IconIndex onIcon, BlackMisc::CIcons::IconIndex offIcon, const QString &onName, const QString &offName, int alignment = alignDefault());
|
||||||
|
|
||||||
//! \copydoc CDefaultFormatter::displayRole
|
//! \copydoc CDefaultFormatter::displayRole
|
||||||
virtual QVariant displayRole(const QVariant &dataQVariant) const override;
|
virtual BlackMisc::CVariant displayRole(const BlackMisc::CVariant &dataCVariant) const override;
|
||||||
|
|
||||||
//! Display the icon
|
//! Display the icon
|
||||||
virtual QVariant decorationRole(const QVariant &dataQVariant) const override;
|
virtual BlackMisc::CVariant decorationRole(const BlackMisc::CVariant &dataCVariant) const override;
|
||||||
|
|
||||||
//! \copydoc CDefaultFormatter::tooltipRole
|
//! \copydoc CDefaultFormatter::tooltipRole
|
||||||
virtual QVariant tooltipRole(const QVariant &dataQVariant) const override
|
virtual BlackMisc::CVariant tooltipRole(const BlackMisc::CVariant &dataCVariant) const override
|
||||||
{
|
{
|
||||||
return CBoolTextFormatter::displayRole(dataQVariant);
|
return CBoolTextFormatter::displayRole(dataCVariant);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
@@ -198,10 +198,10 @@ namespace BlackGui
|
|||||||
CValueObjectFormatter(int alignment = alignDefault(), bool i18n = true, QList<int> supportedRoles = {Qt::DisplayRole}) : CDefaultFormatter(alignment, i18n, supportedRoles) {}
|
CValueObjectFormatter(int alignment = alignDefault(), bool i18n = true, QList<int> supportedRoles = {Qt::DisplayRole}) : CDefaultFormatter(alignment, i18n, supportedRoles) {}
|
||||||
|
|
||||||
//! \copydoc CDefaultFormatter::displayRole
|
//! \copydoc CDefaultFormatter::displayRole
|
||||||
virtual QVariant displayRole(const QVariant &valueObject) const override;
|
virtual BlackMisc::CVariant displayRole(const BlackMisc::CVariant &valueObject) const override;
|
||||||
|
|
||||||
//! \copydoc CDefaultFormatter::asPixmap
|
//! \copydoc CDefaultFormatter::asPixmap
|
||||||
virtual QVariant decorationRole(const QVariant &valueObject) const;
|
virtual BlackMisc::CVariant decorationRole(const BlackMisc::CVariant &valueObject) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
//! Formatter when column contains QDateTime, QDate or QTime
|
//! Formatter when column contains QDateTime, QDate or QTime
|
||||||
@@ -209,10 +209,10 @@ namespace BlackGui
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
//! Constructor
|
//! Constructor
|
||||||
CDateTimeFormatter(const QString formatString = formatYmd(), int alignment = alignDefault(), bool i18n = true);
|
CDateTimeFormatter(const QString &formatString = formatYmd(), int alignment = alignDefault(), bool i18n = true);
|
||||||
|
|
||||||
//! \copydoc CDefaultFormatter::displayRole
|
//! \copydoc CDefaultFormatter::displayRole
|
||||||
virtual QVariant displayRole(const QVariant &dateTime) const override;
|
virtual BlackMisc::CVariant displayRole(const BlackMisc::CVariant &dateTime) const override;
|
||||||
|
|
||||||
//! Year month day
|
//! Year month day
|
||||||
static const QString &formatYmd() { static const QString f = "yyyy-MM-dd"; return f; }
|
static const QString &formatYmd() { static const QString f = "yyyy-MM-dd"; return f; }
|
||||||
@@ -238,7 +238,7 @@ namespace BlackGui
|
|||||||
CPhysiqalQuantiyFormatter(MU unit = MU::defaultUnit(), int digits = 2, int alignment = alignRightVCenter(), bool withUnit = true, bool i18n = true, QList<int> supportedRoles = { Qt::DisplayRole }) : CValueObjectFormatter(alignment, i18n, supportedRoles), m_unit(unit), m_digits(digits), m_withUnit(withUnit) {}
|
CPhysiqalQuantiyFormatter(MU unit = MU::defaultUnit(), int digits = 2, int alignment = alignRightVCenter(), bool withUnit = true, bool i18n = true, QList<int> supportedRoles = { Qt::DisplayRole }) : CValueObjectFormatter(alignment, i18n, supportedRoles), m_unit(unit), m_digits(digits), m_withUnit(withUnit) {}
|
||||||
|
|
||||||
//! \copydoc CDefaultFormatter::displayRole
|
//! \copydoc CDefaultFormatter::displayRole
|
||||||
virtual QVariant displayRole(const QVariant &physicalQuantity) const override
|
virtual BlackMisc::CVariant displayRole(const BlackMisc::CVariant &physicalQuantity) const override
|
||||||
{
|
{
|
||||||
if (physicalQuantity.canConvert<PQ>())
|
if (physicalQuantity.canConvert<PQ>())
|
||||||
{
|
{
|
||||||
@@ -279,7 +279,7 @@ namespace BlackGui
|
|||||||
CComFrequencyFormatter(int alignment = alignRightVCenter(), bool withUnit = true, bool i18n = true) : CPhysiqalQuantiyFormatter(BlackMisc::PhysicalQuantities::CFrequencyUnit::MHz(), 3, alignment, withUnit, i18n) {}
|
CComFrequencyFormatter(int alignment = alignRightVCenter(), bool withUnit = true, bool i18n = true) : CPhysiqalQuantiyFormatter(BlackMisc::PhysicalQuantities::CFrequencyUnit::MHz(), 3, alignment, withUnit, i18n) {}
|
||||||
|
|
||||||
//! \copydoc CDefaultFormatter::displayRole
|
//! \copydoc CDefaultFormatter::displayRole
|
||||||
virtual QVariant displayRole(const QVariant &dataQVariant) const override;
|
virtual BlackMisc::CVariant displayRole(const BlackMisc::CVariant &dataCVariant) const override;
|
||||||
};
|
};
|
||||||
|
|
||||||
//! Angle in degrees
|
//! Angle in degrees
|
||||||
@@ -306,7 +306,7 @@ namespace BlackGui
|
|||||||
CAirspaceDistanceFormatter(int alignment = alignRightVCenter(), bool withUnit = true, bool i18n = true) : CPhysiqalQuantiyFormatter(BlackMisc::PhysicalQuantities::CLengthUnit::NM(), 1, alignment, withUnit, i18n) {}
|
CAirspaceDistanceFormatter(int alignment = alignRightVCenter(), bool withUnit = true, bool i18n = true) : CPhysiqalQuantiyFormatter(BlackMisc::PhysicalQuantities::CLengthUnit::NM(), 1, alignment, withUnit, i18n) {}
|
||||||
|
|
||||||
//! \copydoc CDefaultFormatter::displayRole
|
//! \copydoc CDefaultFormatter::displayRole
|
||||||
virtual QVariant displayRole(const QVariant &dataQVariant) const override;
|
virtual BlackMisc::CVariant displayRole(const BlackMisc::CVariant &dataCVariant) const override;
|
||||||
};
|
};
|
||||||
|
|
||||||
//! Airspace distance
|
//! Airspace distance
|
||||||
@@ -317,7 +317,7 @@ namespace BlackGui
|
|||||||
CAircraftSpeedFormatter(int alignment = alignRightVCenter(), bool withUnit = true, bool i18n = true) : CPhysiqalQuantiyFormatter(BlackMisc::PhysicalQuantities::CSpeedUnit::kts(), 0, alignment, withUnit, i18n) {}
|
CAircraftSpeedFormatter(int alignment = alignRightVCenter(), bool withUnit = true, bool i18n = true) : CPhysiqalQuantiyFormatter(BlackMisc::PhysicalQuantities::CSpeedUnit::kts(), 0, alignment, withUnit, i18n) {}
|
||||||
|
|
||||||
//! \copydoc CDefaultFormatter::displayRole
|
//! \copydoc CDefaultFormatter::displayRole
|
||||||
virtual QVariant displayRole(const QVariant &dataQVariant) const override;
|
virtual BlackMisc::CVariant displayRole(const BlackMisc::CVariant &dataCVariant) const override;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|||||||
@@ -55,8 +55,8 @@ namespace BlackGui
|
|||||||
//! Formatter
|
//! Formatter
|
||||||
const CDefaultFormatter *getFormatter() const { return this->m_formatter.data(); }
|
const CDefaultFormatter *getFormatter() const { return this->m_formatter.data(); }
|
||||||
|
|
||||||
//! Aligment as QVariant
|
//! Aligment as CVariant
|
||||||
QVariant getAlignment() const;
|
BlackMisc::CVariant getAlignment() const;
|
||||||
|
|
||||||
//! Column name
|
//! Column name
|
||||||
QString getColumnName(bool i18n = false) const;
|
QString getColumnName(bool i18n = false) const;
|
||||||
@@ -149,8 +149,8 @@ namespace BlackGui
|
|||||||
return column >= 0 && column < this->m_columns.size();
|
return column >= 0 && column < this->m_columns.size();
|
||||||
}
|
}
|
||||||
|
|
||||||
//! Aligment as QVariant
|
//! Aligment as CVariant
|
||||||
QVariant getAlignment(const QModelIndex &index) const;
|
BlackMisc::CVariant getAlignment(const QModelIndex &index) const;
|
||||||
|
|
||||||
//! Translation context
|
//! Translation context
|
||||||
const QString &getTranslationContext() const { return m_translationContext; }
|
const QString &getTranslationContext() const { return m_translationContext; }
|
||||||
|
|||||||
@@ -118,7 +118,7 @@ namespace BlackGui
|
|||||||
//! Formatted data
|
//! Formatted data
|
||||||
ObjectType obj = this->m_container[index.row()];
|
ObjectType obj = this->m_container[index.row()];
|
||||||
BlackMisc::CPropertyIndex propertyIndex = this->columnToPropertyIndex(index.column());
|
BlackMisc::CPropertyIndex propertyIndex = this->columnToPropertyIndex(index.column());
|
||||||
return formatter->data(role, obj.propertyByIndex(propertyIndex));
|
return formatter->data(role, obj.propertyByIndex(propertyIndex)).toQVariant();
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -171,7 +171,7 @@ namespace BlackGui
|
|||||||
{
|
{
|
||||||
ContainerType sortedContainer = this->sortContainerByColumn(container, sortColumn, sortOrder);
|
ContainerType sortedContainer = this->sortContainerByColumn(container, sortColumn, sortOrder);
|
||||||
QMetaObject::invokeMethod(this, "updateContainer",
|
QMetaObject::invokeMethod(this, "updateContainer",
|
||||||
Q_ARG(QVariant, sortedContainer.toQVariant()), Q_ARG(bool, false));
|
Q_ARG(BlackMisc::CVariant, sortedContainer.toCVariant()), Q_ARG(bool, false));
|
||||||
});
|
});
|
||||||
worker->then(this, &CListModelBase::asyncUpdateFinished);
|
worker->then(this, &CListModelBase::asyncUpdateFinished);
|
||||||
return worker;
|
return worker;
|
||||||
@@ -265,10 +265,10 @@ namespace BlackGui
|
|||||||
/*
|
/*
|
||||||
* Update on container
|
* Update on container
|
||||||
*/
|
*/
|
||||||
template <typename ObjectType, typename ContainerType> int CListModelBase<ObjectType, ContainerType>::performUpdateContainer(const QVariant &variant, bool sort)
|
template <typename ObjectType, typename ContainerType> int CListModelBase<ObjectType, ContainerType>::performUpdateContainer(const BlackMisc::CVariant &variant, bool sort)
|
||||||
{
|
{
|
||||||
ContainerType c;
|
ContainerType c;
|
||||||
c.convertFromQVariant(variant);
|
c.convertFromCVariant(variant);
|
||||||
return this->update(c, sort);
|
return this->update(c, sort);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -303,10 +303,9 @@ namespace BlackGui
|
|||||||
// sort the values
|
// sort the values
|
||||||
const auto p = [ = ](const ObjectType & a, const ObjectType & b) -> bool
|
const auto p = [ = ](const ObjectType & a, const ObjectType & b) -> bool
|
||||||
{
|
{
|
||||||
QVariant aQv = a.propertyByIndex(propertyIndex);
|
BlackMisc::CVariant aQv = a.propertyByIndex(propertyIndex);
|
||||||
QVariant bQv = b.propertyByIndex(propertyIndex);
|
BlackMisc::CVariant bQv = b.propertyByIndex(propertyIndex);
|
||||||
int compare = BlackMisc::compareQVariants(aQv, bQv);
|
return (order == Qt::AscendingOrder) ? (aQv < bQv) : (bQv < aQv);
|
||||||
return (order == Qt::AscendingOrder) ? (compare < 0) : (compare > 0);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
// KWB: qDebug() will be removed soon
|
// KWB: qDebug() will be removed soon
|
||||||
|
|||||||
@@ -90,7 +90,7 @@ namespace BlackGui
|
|||||||
//! Helper method with template free signature
|
//! Helper method with template free signature
|
||||||
//! \param variant container is transferred in variant
|
//! \param variant container is transferred in variant
|
||||||
//! \param sort
|
//! \param sort
|
||||||
int updateContainer(const QVariant &variant, bool sort)
|
int updateContainer(const BlackMisc::CVariant &variant, bool sort)
|
||||||
{
|
{
|
||||||
return this->performUpdateContainer(variant, sort);
|
return this->performUpdateContainer(variant, sort);
|
||||||
}
|
}
|
||||||
@@ -109,7 +109,7 @@ namespace BlackGui
|
|||||||
}
|
}
|
||||||
|
|
||||||
//! Helper method with template free signature
|
//! Helper method with template free signature
|
||||||
virtual int performUpdateContainer(const QVariant &variant, bool sort) = 0;
|
virtual int performUpdateContainer(const BlackMisc::CVariant &variant, bool sort) = 0;
|
||||||
|
|
||||||
CColumns m_columns; //!< columns metadata
|
CColumns m_columns; //!< columns metadata
|
||||||
int m_sortedColumn; //!< current sort column
|
int m_sortedColumn; //!< current sort column
|
||||||
@@ -208,7 +208,7 @@ namespace BlackGui
|
|||||||
{ }
|
{ }
|
||||||
|
|
||||||
//! \copydoc CModelBaseNonTemplate::performUpdateContainer
|
//! \copydoc CModelBaseNonTemplate::performUpdateContainer
|
||||||
virtual int performUpdateContainer(const QVariant &variant, bool sort) override;
|
virtual int performUpdateContainer(const BlackMisc::CVariant &variant, bool sort) override;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ namespace BlackGui
|
|||||||
this->m_sortOrder = Qt::AscendingOrder;
|
this->m_sortOrder = Qt::AscendingOrder;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool CNameVariantPairModel::addOrUpdateByName(const QString &name, const QVariant &value, const CIcon &icon, bool skipEqualValues)
|
bool CNameVariantPairModel::addOrUpdateByName(const QString &name, const BlackMisc::CVariant &value, const CIcon &icon, bool skipEqualValues)
|
||||||
{
|
{
|
||||||
int index = this->getRowIndexForName(name);
|
int index = this->getRowIndexForName(name);
|
||||||
CNameVariantPair pair(name, value, icon);
|
CNameVariantPair pair(name, value, icon);
|
||||||
@@ -79,13 +79,13 @@ namespace BlackGui
|
|||||||
return this->m_container.containsName(name);
|
return this->m_container.containsName(name);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool CNameVariantPairModel::containsNameValue(const QString &name, const QVariant &value) const
|
bool CNameVariantPairModel::containsNameValue(const QString &name, const BlackMisc::CVariant &value) const
|
||||||
{
|
{
|
||||||
int rowIndex = this->getRowIndexForName(name);
|
int rowIndex = this->getRowIndexForName(name);
|
||||||
if (rowIndex < 0) return false;
|
if (rowIndex < 0) return false;
|
||||||
QModelIndex i = this->index(rowIndex, 0);
|
QModelIndex i = this->index(rowIndex, 0);
|
||||||
const CNameVariantPair cv = this->at(i);
|
const CNameVariantPair cv = this->at(i);
|
||||||
return BlackMisc::equalQVariants(value, cv.toQVariant());
|
return value == cv.toCVariant();
|
||||||
}
|
}
|
||||||
} // namespace
|
} // namespace
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|||||||
@@ -46,10 +46,10 @@ namespace BlackGui
|
|||||||
bool containsName(const QString &name) const;
|
bool containsName(const QString &name) const;
|
||||||
|
|
||||||
//! Contains name / value?
|
//! Contains name / value?
|
||||||
bool containsNameValue(const QString &name, const QVariant &value) const;
|
bool containsNameValue(const QString &name, const BlackMisc::CVariant &value) const;
|
||||||
|
|
||||||
//! Add our update a value
|
//! Add our update a value
|
||||||
bool addOrUpdateByName(const QString &name, const QVariant &value, const BlackMisc::CIcon &icon, bool skipEqualValues);
|
bool addOrUpdateByName(const QString &name, const BlackMisc::CVariant &value, const BlackMisc::CIcon &icon, bool skipEqualValues);
|
||||||
|
|
||||||
//! Current row index of given name
|
//! Current row index of given name
|
||||||
int getRowIndexForName(const QString &name) const;
|
int getRowIndexForName(const QString &name) const;
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ namespace BlackGui
|
|||||||
this->m_model->setIconMode(withIcon);
|
this->m_model->setIconMode(withIcon);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool CNameVariantPairView::addOrUpdateByName(const QString &name, const QVariant &value, const CIcon &icon, bool resize, bool skipEqualValues)
|
bool CNameVariantPairView::addOrUpdateByName(const QString &name, const BlackMisc::CVariant &value, const CIcon &icon, bool resize, bool skipEqualValues)
|
||||||
{
|
{
|
||||||
Q_ASSERT(this->m_model);
|
Q_ASSERT(this->m_model);
|
||||||
bool changed = this->m_model->addOrUpdateByName(name, value, icon, skipEqualValues);
|
bool changed = this->m_model->addOrUpdateByName(name, value, icon, skipEqualValues);
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ namespace BlackGui
|
|||||||
void setIconMode(bool withIcon);
|
void setIconMode(bool withIcon);
|
||||||
|
|
||||||
//! Update or add value, QVariant version
|
//! Update or add value, QVariant version
|
||||||
bool addOrUpdateByName(const QString &name, const QVariant &value, const BlackMisc::CIcon &icon = BlackMisc::CIcon(), bool performResizing = true, bool skipEqualValues = true);
|
bool addOrUpdateByName(const QString &name, const BlackMisc::CVariant &value, const BlackMisc::CIcon &icon = BlackMisc::CIcon(), bool performResizing = true, bool skipEqualValues = true);
|
||||||
|
|
||||||
//! Remove by name
|
//! Remove by name
|
||||||
void removeByName(const QString &name, bool performResizing = true);
|
void removeByName(const QString &name, bool performResizing = true);
|
||||||
|
|||||||
@@ -167,7 +167,7 @@ namespace BlackGui
|
|||||||
{
|
{
|
||||||
ContainerType sortedContainer = model->sortContainerByColumn(container, sortColumn, sortOrder);
|
ContainerType sortedContainer = model->sortContainerByColumn(container, sortColumn, sortOrder);
|
||||||
QMetaObject::invokeMethod(this, "updateContainer",
|
QMetaObject::invokeMethod(this, "updateContainer",
|
||||||
Q_ARG(QVariant, sortedContainer.toQVariant()), Q_ARG(bool, false), Q_ARG(bool, resize));
|
Q_ARG(BlackMisc::CVariant, sortedContainer.toCVariant()), Q_ARG(bool, false), Q_ARG(bool, resize));
|
||||||
});
|
});
|
||||||
worker->then(this, &CViewBase::asyncUpdateFinished);
|
worker->then(this, &CViewBase::asyncUpdateFinished);
|
||||||
return worker;
|
return worker;
|
||||||
@@ -250,10 +250,10 @@ namespace BlackGui
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
template <class ModelClass, class ContainerType> int CViewBase<ModelClass, ContainerType>::performUpdateContainer(const QVariant &variant, bool sort, bool resize)
|
template <class ModelClass, class ContainerType> int CViewBase<ModelClass, ContainerType>::performUpdateContainer(const BlackMisc::CVariant &variant, bool sort, bool resize)
|
||||||
{
|
{
|
||||||
ContainerType c;
|
ContainerType c;
|
||||||
c.convertFromQVariant(variant);
|
c.convertFromCVariant(variant);
|
||||||
return this->updateContainer(c, sort, resize);
|
return this->updateContainer(c, sort, resize);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -14,6 +14,7 @@
|
|||||||
|
|
||||||
#include "blackmisc/icons.h"
|
#include "blackmisc/icons.h"
|
||||||
#include "blackmisc/worker.h"
|
#include "blackmisc/worker.h"
|
||||||
|
#include "blackmisc/variant.h"
|
||||||
#include <QTableView>
|
#include <QTableView>
|
||||||
#include <QHeaderView>
|
#include <QHeaderView>
|
||||||
#include <QMenu>
|
#include <QMenu>
|
||||||
@@ -101,7 +102,7 @@ namespace BlackGui
|
|||||||
//! \param variant contains the container
|
//! \param variant contains the container
|
||||||
//! \param sort
|
//! \param sort
|
||||||
//! \param performResizing
|
//! \param performResizing
|
||||||
virtual int performUpdateContainer(const QVariant &variant, bool sort, bool performResizing) = 0;
|
virtual int performUpdateContainer(const BlackMisc::CVariant &variant, bool sort, bool performResizing) = 0;
|
||||||
|
|
||||||
//! Skip resizing because of size?
|
//! Skip resizing because of size?
|
||||||
virtual bool reachedResizeThreshold() const = 0;
|
virtual bool reachedResizeThreshold() const = 0;
|
||||||
@@ -122,7 +123,7 @@ namespace BlackGui
|
|||||||
|
|
||||||
protected slots:
|
protected slots:
|
||||||
//! Helper method with template free signature serving as callback from threaded worker
|
//! Helper method with template free signature serving as callback from threaded worker
|
||||||
int updateContainer(const QVariant &variant, bool sort, bool resize)
|
int updateContainer(const BlackMisc::CVariant &variant, bool sort, bool resize)
|
||||||
{
|
{
|
||||||
return this->performUpdateContainer(variant, sort, resize);
|
return this->performUpdateContainer(variant, sort, resize);
|
||||||
}
|
}
|
||||||
@@ -214,7 +215,7 @@ namespace BlackGui
|
|||||||
virtual void performResizeToContents() override;
|
virtual void performResizeToContents() override;
|
||||||
|
|
||||||
//! \copydoc CViewBaseNonTemplate::performUpdateContainer
|
//! \copydoc CViewBaseNonTemplate::performUpdateContainer
|
||||||
virtual int performUpdateContainer(const QVariant &variant, bool sort, bool performResizing) override;
|
virtual int performUpdateContainer(const BlackMisc::CVariant &variant, bool sort, bool performResizing) override;
|
||||||
|
|
||||||
};
|
};
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|||||||
Reference in New Issue
Block a user