MCPcopy Create free account
hub / github.com/YACReader/yacreader / makeTheme

Function makeTheme

YACReaderLibrary/themes/theme_factory.cpp:373–944  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

371};
372
373Theme makeTheme(const ThemeParams &params)
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),

Callers 1

createAppearanceTabMethod · 0.50

Calls 9

renderSvgToPixmapFunction · 0.85
recoloredSvgToThemeFileFunction · 0.85
QIconClass · 0.85
QPixmapClass · 0.85
toStringMethod · 0.80
colorFromJsonFunction · 0.70
nameMethod · 0.45
containsMethod · 0.45
isValidMethod · 0.45

Tested by

no test coverage detected