MCPcopy Create free account
hub / github.com/KDE/labplot / updateUnits

Method updateUnits

src/frontend/widgets/LabelWidget.cpp:428–461  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

426}
427
428void LabelWidget::updateUnits() {
429 const KConfigGroup group = Settings::group(QStringLiteral("Settings_General"));
430 BaseDock::Units units = (BaseDock::Units)group.readEntry("Units", (int)BaseDock::Units::Metric);
431 if (units == m_units)
432 return;
433
434 m_units = units;
435 CONDITIONAL_LOCK_RETURN;
436 QString suffix;
437 auto xPosition = ui.cbPositionX->currentIndex();
438 auto yPosition = ui.cbPositionY->currentIndex();
439 if (m_units == BaseDock::Units::Metric) {
440 // convert from imperial to metric
441 m_worksheetUnit = Worksheet::Unit::Centimeter;
442 suffix = QLatin1String(" cm");
443 if (xPosition != static_cast<int>(WorksheetElement::HorizontalPosition::Relative))
444 ui.sbPositionX->setValue(roundValue(ui.sbPositionX->value() * GSL_CONST_CGS_INCH));
445 if (yPosition != static_cast<int>(WorksheetElement::VerticalPosition::Relative))
446 ui.sbPositionY->setValue(roundValue(ui.sbPositionY->value() * GSL_CONST_CGS_INCH));
447 } else {
448 // convert from metric to imperial
449 m_worksheetUnit = Worksheet::Unit::Inch;
450 suffix = QLatin1String(" in");
451 if (xPosition != static_cast<int>(WorksheetElement::HorizontalPosition::Relative))
452 ui.sbPositionX->setValue(roundValue(ui.sbPositionX->value() / GSL_CONST_CGS_INCH));
453 if (yPosition != static_cast<int>(WorksheetElement::VerticalPosition::Relative))
454 ui.sbPositionY->setValue(roundValue(ui.sbPositionY->value() / GSL_CONST_CGS_INCH));
455 }
456
457 if (xPosition != static_cast<int>(WorksheetElement::HorizontalPosition::Relative))
458 ui.sbPositionX->setSuffix(suffix);
459 if (yPosition != static_cast<int>(WorksheetElement::VerticalPosition::Relative))
460 ui.sbPositionY->setSuffix(suffix);
461}
462
463void LabelWidget::updateLocale() {
464 const auto numberLocale = QLocale();

Callers 1

handleSettingsChangesMethod · 0.45

Calls 5

groupFunction · 0.85
setSuffixMethod · 0.80
currentIndexMethod · 0.45
setValueMethod · 0.45
valueMethod · 0.45

Tested by

no test coverage detected