Changeset View
Changeset View
Standalone View
Standalone View
common/control.cpp
Show First 20 Lines • Show All 217 Lines • ▼ Show 20 Line(s) | |||||
218 | Control::OutputRetention ControlConfig::getOutputRetention(const KScreen::OutputPtr &output) const | 218 | Control::OutputRetention ControlConfig::getOutputRetention(const KScreen::OutputPtr &output) const | ||
219 | { | 219 | { | ||
220 | return getOutputRetention(output->hashMd5(), output->name()); | 220 | return getOutputRetention(output->hashMd5(), output->name()); | ||
221 | } | 221 | } | ||
222 | 222 | | |||
223 | Control::OutputRetention ControlConfig::getOutputRetention(const QString &outputId, const QString &outputName) const | 223 | Control::OutputRetention ControlConfig::getOutputRetention(const QString &outputId, const QString &outputName) const | ||
224 | { | 224 | { | ||
225 | const QVariantList outputsInfo = getOutputs(); | 225 | const QVariantList outputsInfo = getOutputs(); | ||
226 | for (const auto variantInfo : outputsInfo) { | 226 | for (const auto &variantInfo : outputsInfo) { | ||
227 | const QVariantMap info = variantInfo.toMap(); | 227 | const QVariantMap info = variantInfo.toMap(); | ||
228 | if (!infoIsOutput(info, outputId, outputName)) { | 228 | if (!infoIsOutput(info, outputId, outputName)) { | ||
229 | continue; | 229 | continue; | ||
230 | } | 230 | } | ||
231 | return convertVariantToOutputRetention(info[QStringLiteral("retention")]); | 231 | return convertVariantToOutputRetention(info[QStringLiteral("retention")]); | ||
232 | } | 232 | } | ||
233 | // info for output not found | 233 | // info for output not found | ||
234 | return OutputRetention::Undefined; | 234 | return OutputRetention::Undefined; | ||
▲ Show 20 Lines • Show All 47 Lines • ▼ Show 20 Line(s) | 281 | { | |||
282 | return getScale(output->hashMd5(), output->name()); | 282 | return getScale(output->hashMd5(), output->name()); | ||
283 | } | 283 | } | ||
284 | 284 | | |||
285 | qreal ControlConfig::getScale(const QString &outputId, const QString &outputName) const | 285 | qreal ControlConfig::getScale(const QString &outputId, const QString &outputName) const | ||
286 | { | 286 | { | ||
287 | const auto retention = getOutputRetention(outputId, outputName); | 287 | const auto retention = getOutputRetention(outputId, outputName); | ||
288 | if (retention == OutputRetention::Individual) { | 288 | if (retention == OutputRetention::Individual) { | ||
289 | const QVariantList outputsInfo = getOutputs(); | 289 | const QVariantList outputsInfo = getOutputs(); | ||
290 | for (const auto variantInfo : outputsInfo) { | 290 | for (const auto &variantInfo : outputsInfo) { | ||
291 | const QVariantMap info = variantInfo.toMap(); | 291 | const QVariantMap info = variantInfo.toMap(); | ||
292 | if (!infoIsOutput(info, outputId, outputName)) { | 292 | if (!infoIsOutput(info, outputId, outputName)) { | ||
293 | continue; | 293 | continue; | ||
294 | } | 294 | } | ||
295 | const auto val = info[QStringLiteral("scale")]; | 295 | const auto val = info[QStringLiteral("scale")]; | ||
296 | return val.canConvert<qreal>() ? val.toReal() : -1; | 296 | return val.canConvert<qreal>() ? val.toReal() : -1; | ||
297 | } | 297 | } | ||
298 | } | 298 | } | ||
▲ Show 20 Lines • Show All 49 Lines • ▼ Show 20 Line(s) | 347 | { | |||
348 | return getAutoRotate(output->hashMd5(), output->name()); | 348 | return getAutoRotate(output->hashMd5(), output->name()); | ||
349 | } | 349 | } | ||
350 | 350 | | |||
351 | bool ControlConfig::getAutoRotate(const QString &outputId, const QString &outputName) const | 351 | bool ControlConfig::getAutoRotate(const QString &outputId, const QString &outputName) const | ||
352 | { | 352 | { | ||
353 | const auto retention = getOutputRetention(outputId, outputName); | 353 | const auto retention = getOutputRetention(outputId, outputName); | ||
354 | if (retention == OutputRetention::Individual) { | 354 | if (retention == OutputRetention::Individual) { | ||
355 | const QVariantList outputsInfo = getOutputs(); | 355 | const QVariantList outputsInfo = getOutputs(); | ||
356 | for (const auto variantInfo : outputsInfo) { | 356 | for (const auto &variantInfo : outputsInfo) { | ||
357 | const QVariantMap info = variantInfo.toMap(); | 357 | const QVariantMap info = variantInfo.toMap(); | ||
358 | if (!infoIsOutput(info, outputId, outputName)) { | 358 | if (!infoIsOutput(info, outputId, outputName)) { | ||
359 | continue; | 359 | continue; | ||
360 | } | 360 | } | ||
361 | const auto val = info[QStringLiteral("autorotate")]; | 361 | const auto val = info[QStringLiteral("autorotate")]; | ||
362 | return !val.canConvert<bool>() || val.toBool(); | 362 | return !val.canConvert<bool>() || val.toBool(); | ||
363 | } | 363 | } | ||
364 | } | 364 | } | ||
▲ Show 20 Lines • Show All 50 Lines • ▼ Show 20 Line(s) | |||||
415 | } | 415 | } | ||
416 | 416 | | |||
417 | bool ControlConfig::getAutoRotateOnlyInTabletMode(const QString &outputId, | 417 | bool ControlConfig::getAutoRotateOnlyInTabletMode(const QString &outputId, | ||
418 | const QString &outputName) const | 418 | const QString &outputName) const | ||
419 | { | 419 | { | ||
420 | const auto retention = getOutputRetention(outputId, outputName); | 420 | const auto retention = getOutputRetention(outputId, outputName); | ||
421 | if (retention == OutputRetention::Individual) { | 421 | if (retention == OutputRetention::Individual) { | ||
422 | const QVariantList outputsInfo = getOutputs(); | 422 | const QVariantList outputsInfo = getOutputs(); | ||
423 | for (const auto variantInfo : outputsInfo) { | 423 | for (const auto &variantInfo : outputsInfo) { | ||
424 | const QVariantMap info = variantInfo.toMap(); | 424 | const QVariantMap info = variantInfo.toMap(); | ||
425 | if (!infoIsOutput(info, outputId, outputName)) { | 425 | if (!infoIsOutput(info, outputId, outputName)) { | ||
426 | continue; | 426 | continue; | ||
427 | } | 427 | } | ||
428 | const auto val = info[QStringLiteral("autorotate-tablet-only")]; | 428 | const auto val = info[QStringLiteral("autorotate-tablet-only")]; | ||
429 | return !val.canConvert<bool>() || val.toBool(); | 429 | return !val.canConvert<bool>() || val.toBool(); | ||
430 | } | 430 | } | ||
431 | } | 431 | } | ||
▲ Show 20 Lines • Show All 49 Lines • ▼ Show 20 Line(s) | |||||
481 | { | 481 | { | ||
482 | return getReplicationSource(output->hashMd5(), output->name()); | 482 | return getReplicationSource(output->hashMd5(), output->name()); | ||
483 | } | 483 | } | ||
484 | 484 | | |||
485 | KScreen::OutputPtr ControlConfig::getReplicationSource(const QString &outputId, | 485 | KScreen::OutputPtr ControlConfig::getReplicationSource(const QString &outputId, | ||
486 | const QString &outputName) const | 486 | const QString &outputName) const | ||
487 | { | 487 | { | ||
488 | const QVariantList outputsInfo = getOutputs(); | 488 | const QVariantList outputsInfo = getOutputs(); | ||
489 | for (const auto variantInfo : outputsInfo) { | 489 | for (const auto &variantInfo : outputsInfo) { | ||
490 | const QVariantMap info = variantInfo.toMap(); | 490 | const QVariantMap info = variantInfo.toMap(); | ||
491 | if (!infoIsOutput(info, outputId, outputName)) { | 491 | if (!infoIsOutput(info, outputId, outputName)) { | ||
492 | continue; | 492 | continue; | ||
493 | } | 493 | } | ||
494 | const QString sourceHash = info[QStringLiteral("replicate-hash")].toString(); | 494 | const QString sourceHash = info[QStringLiteral("replicate-hash")].toString(); | ||
495 | const QString sourceName = info[QStringLiteral("replicate-name")].toString(); | 495 | const QString sourceName = info[QStringLiteral("replicate-name")].toString(); | ||
496 | 496 | | |||
497 | if (sourceHash.isEmpty() && sourceName.isEmpty()) { | 497 | if (sourceHash.isEmpty() && sourceName.isEmpty()) { | ||
498 | // Common case when the replication source has been unset. | 498 | // Common case when the replication source has been unset. | ||
499 | return nullptr; | 499 | return nullptr; | ||
500 | } | 500 | } | ||
501 | 501 | | |||
502 | for (auto output : m_config->outputs()) { | 502 | for (const auto &output : m_config->outputs()) { | ||
503 | if (output->hashMd5() == sourceHash && output->name() == sourceName) { | 503 | if (output->hashMd5() == sourceHash && output->name() == sourceName) { | ||
504 | return output; | 504 | return output; | ||
505 | } | 505 | } | ||
506 | } | 506 | } | ||
507 | // No match. | 507 | // No match. | ||
508 | return nullptr; | 508 | return nullptr; | ||
509 | } | 509 | } | ||
510 | // Info for output not found. | 510 | // Info for output not found. | ||
▲ Show 20 Lines • Show All 134 Lines • Show Last 20 Lines |