| 371 | }; |
| 372 | |
| 373 | Theme makeTheme(const ThemeParams ¶ms) |
| 374 | { |
| 375 | Theme theme; |
| 376 | |
| 377 | // Comic Flow |
| 378 | const auto &cf = params.comicFlowParams; |
| 379 | theme.comicFlow.backgroundColor = cf.backgroundColor; |
| 380 | theme.comicFlow.textColor = cf.textColor; |
| 381 | |
| 382 | { |
| 383 | const qreal dpr = qApp->devicePixelRatio(); |
| 384 | // readRibbon: #f0f (main) + #0ff (tick) |
| 385 | theme.comicFlow.readPixmap = renderSvgToPixmap( |
| 386 | recoloredSvgToThemeFile(":/images/readRibbon.svg", cf.readMainColor, cf.readTickColor, params.meta.id), |
| 387 | 100, 136, dpr); |
| 388 | // readingRibbon: #f0f (main) |
| 389 | theme.comicFlow.readingPixmap = renderSvgToPixmap( |
| 390 | recoloredSvgToThemeFile(":/images/readingRibbon.svg", cf.readingColor, params.meta.id), |
| 391 | 100, 136, dpr); |
| 392 | } |
| 393 | |
| 394 | // MetadataScraperDialog |
| 395 | const auto &msd = params.metadataScraperDialogParams; |
| 396 | const auto &t = msd.t; |
| 397 | |
| 398 | auto recolor = [&](const QString &path, const QColor &color) { |
| 399 | return recoloredSvgToThemeFile(path, color, params.meta.id); |
| 400 | }; |
| 401 | |
| 402 | theme.metadataScraperDialog.defaultLabelQSS = t.defaultLabelQSS.arg(msd.labelTextColor.name()); |
| 403 | theme.metadataScraperDialog.titleLabelQSS = t.titleLabelQSS.arg(msd.labelTextColor.name()); |
| 404 | theme.metadataScraperDialog.coverLabelQSS = t.coverLabelQSS.arg(msd.labelBackgroundColor.name(), msd.labelTextColor.name()); |
| 405 | theme.metadataScraperDialog.radioButtonQSS = t.radioButtonQSS.arg(msd.buttonTextColor.name(), recolor(":/images/comic_vine/radioUnchecked.svg", msd.radioUncheckedColor), recoloredSvgToThemeFile(":/images/comic_vine/radioChecked.svg", msd.radioCheckedBackgroundColor, msd.radioCheckedIndicatorColor, params.meta.id)); |
| 406 | theme.metadataScraperDialog.checkBoxQSS = t.checkBoxQSS.arg(msd.buttonTextColor.name(), msd.buttonBorderColor.name(), msd.buttonBackgroundColor.name(), recolor(":/images/comic_vine/checkBoxTick.svg", msd.checkBoxTickColor)); |
| 407 | |
| 408 | theme.metadataScraperDialog.scraperLineEditTitleLabelQSS = t.scraperLineEditTitleLabelQSS.arg(msd.contentTextColor.name()); |
| 409 | theme.metadataScraperDialog.scraperLineEditQSS = t.scraperLineEditQSS.arg(msd.contentAltBackgroundColor.name(), msd.contentTextColor.name(), "%1"); |
| 410 | |
| 411 | theme.metadataScraperDialog.scraperToolButtonQSS = t.scraperToolButtonQSS.arg(msd.buttonBackgroundColor.name(), msd.buttonTextColor.name(), msd.toolButtonAccentColor.name()); |
| 412 | theme.metadataScraperDialog.scraperToolButtonSeparatorQSS = t.scraperToolButtonSeparatorQSS.arg(msd.toolButtonAccentColor.name()); |
| 413 | theme.metadataScraperDialog.scraperToolButtonFillColor = msd.buttonBackgroundColor; |
| 414 | |
| 415 | theme.metadataScraperDialog.scraperScrollLabelTextQSS = t.scraperScrollLabelTextQSS.arg(msd.contentBackgroundColor.name(), msd.contentTextColor.name(), msd.hyperlinkColor.name()); |
| 416 | theme.metadataScraperDialog.scraperScrollLabelScrollAreaQSS = t.scraperScrollLabelScrollAreaQSS.arg(msd.contentBackgroundColor.name(), msd.tableScrollHandleColor.name(), msd.tableScrollBackgroundColor.name()); |
| 417 | |
| 418 | theme.metadataScraperDialog.scraperTableViewQSS = t.scraperTableViewQSS |
| 419 | .arg(msd.tableHeaderTextColor.name(), |
| 420 | msd.tableAltBackgroundColor.name(), |
| 421 | msd.tableBackgroundColor.name(), |
| 422 | msd.tableSelectedColor.name(), |
| 423 | msd.tableHeaderBackgroundColor.name(), |
| 424 | msd.tableHeaderBorderColor.name(), |
| 425 | msd.tableHeaderTextColor.name(), |
| 426 | msd.tableSectionBorderDark.name(), |
| 427 | msd.tableSectionBorderLight.name(), |
| 428 | msd.tableScrollHandleColor.name(), |
| 429 | msd.tableScrollBackgroundColor.name(), |
| 430 | recolor(":/images/comic_vine/downArrow.svg", msd.downArrowColor), |
no test coverage detected