update marker symbol when preferences are updated

This commit is contained in:
Jan Käberich 2025-04-13 14:42:16 +02:00
parent b1c4c4ffad
commit 798ffc4867
3 changed files with 11 additions and 2 deletions

View file

@ -46,6 +46,8 @@ Marker::Marker(MarkerModel *model, int number, Marker *parent, QString descr)
connect(this, &Marker::traceChanged, this, &Marker::updateContextmenu);
connect(this, &Marker::typeChanged, this, &Marker::updateContextmenu);
updateContextmenu();
connect(&Preferences::getInstance(), &Preferences::updated, this, &Marker::updateSymbol);
}
Marker::~Marker()
@ -815,7 +817,7 @@ void Marker::traceDataChanged(unsigned int begin, unsigned int end)
void Marker::updateSymbol()
{
if(isDisplayedMarker()) {
if(isDisplayedMarker() && parentTrace) {
auto style = Preferences::getInstance().Marker.symbolStyle;
switch(style) {
case MarkerSymbolStyle::FilledNumberInside: {

View file

@ -183,10 +183,12 @@ PreferencesDialog::PreferencesDialog(Preferences *pref, QWidget *parent) :
// apply GUI state to settings
updateFromGUI();
accept();
emit p->updated();
});
connect(ui->buttonBox->button(QDialogButtonBox::Apply), &QPushButton::clicked, [=](){
// apply GUI state to settings
updateFromGUI();
emit p->updated();
});
connect(ui->buttonBox->button(QDialogButtonBox::Save), &QPushButton::clicked, [=](){
auto filename = QFileDialog::getSaveFileName(this, "Save preferences", "", "LibreVNA preferences files (*.vnapref)", nullptr, Preferences::QFileDialogOptions());
@ -211,6 +213,7 @@ PreferencesDialog::PreferencesDialog(Preferences *pref, QWidget *parent) :
file.close();
p->fromJSON(j);
setInitialGUIState();
emit p->updated();
}
});
connect(ui->AcquisitionLimitTDRCheckbox, &QCheckBox::toggled, [=](bool enabled){

View file

@ -44,7 +44,8 @@ enum MarkerSymbolStyle {
Q_DECLARE_METATYPE(MarkerSymbolStyle);
class Preferences : public Savable {
class Preferences : public QObject, public Savable {
Q_OBJECT
friend class PreferencesDialog;
public:
static Preferences& getInstance() {
@ -207,6 +208,9 @@ public:
bool set(QString name, QVariant value);
QVariant get(QString name);
signals:
void updated();
private:
Preferences() :
TCPoverride(false) {}