64 const auto activeWindow = QColor(
"#FFFFFFFF");
65 const auto activeButtonText = QColor(
"#0A59F7");
66 const auto activeHighlight = QColor(
"#FF007DFF");
67 const auto highlighted = QColor(
"#FF0A59F7");
68 const auto textPrimary = QColor(
"#FF182431");
71 .activeWindow = activeWindow,
72 .inactiveWindow = makeInactiveOrDisabledFromColor(activeWindow),
73 .activeButtonText = activeButtonText,
74 .inactiveButtonText = makeInactiveOrDisabledFromColor(activeButtonText),
75 .activeHighlight = activeHighlight,
76 .inactiveHighlight = makeInactiveOrDisabledFromColor(activeHighlight),
77 .clickEffect = QColor(
"#1A000000"),
78 .hover = QColor(
"#0D000000"),
79 .foregroundContrary = QColor(
"#FFFFFF"),
80 .highlighted = highlighted,
81 .inactiveHighlighted = makeInactiveOrDisabledFromColor(highlighted),
82 .textPrimary = textPrimary,
83 .inactiveTextPrimary = textPrimary,
84 .disabledTextPrimary = makeInactiveOrDisabledFromColor(textPrimary),
85 .inactiveText = makeInactiveOrDisabledFromColor(textPrimary),
86 .componentNormal = QColor(
"#19182431"),
87 .componentActivated = QColor(
"#007DFF"),
88 .indicatorArrow = QColor(
"#E5182431"),
89 .scrollBarSlider = QColor(
"#182431"),
90 .switchBgOff = QColor(
"#33FFFFFF"),
91 .switchOutlineOff = QColor(
"#66182431"),
92 .window = QColor(
"#FFF1F3F5"),
98 const auto activeWindow = QColor(
"#18181A");
99 const auto activeButtonText = QColor(
"#3F97E9");
100 const auto activeHighlight = QColor(
"#006CDE");
101 const auto highlighted = QColor(
"#3F97E9");
102 const auto textPrimary = QColor(
"#DBFFFFFF");
105 .activeWindow = activeWindow,
106 .inactiveWindow = makeInactiveOrDisabledFromColor(activeWindow),
107 .activeButtonText = activeButtonText,
108 .inactiveButtonText = makeInactiveOrDisabledFromColor(activeButtonText),
109 .activeHighlight = activeHighlight,
110 .inactiveHighlight = makeInactiveOrDisabledFromColor(activeHighlight),
111 .clickEffect = QColor(
"#26FFFFFF"),
112 .hover = QColor(
"#19FFFFFF"),
113 .foregroundContrary = QColor(
"#E5E5E5"),
114 .highlighted = highlighted,
115 .inactiveHighlighted = makeInactiveOrDisabledFromColor(highlighted),
116 .textPrimary = textPrimary,
117 .inactiveTextPrimary = textPrimary,
118 .disabledTextPrimary = makeInactiveOrDisabledFromColor(textPrimary),
119 .inactiveText = makeInactiveOrDisabledFromColor(textPrimary),
120 .componentNormal = QColor(
"#19FFFFFF"),
121 .componentActivated = QColor(
"#3F97E9"),
122 .indicatorArrow = QColor(
"#DBFFFFFF"),
123 .scrollBarSlider = QColor(
"#FFFFFF"),
124 .switchBgOff = QColor(
"#33000000"),
125 .switchOutlineOff = QColor(
"#66FFFFFF"),
126 .window = QColor(
"#FF000000"),
440 {QPalette::Active, QPalette::AlternateBase, palettesColors.palettes.componentActivated},
442 {QPalette::Active, QPalette::Button, palettesColors.button.activeButton},
443 {QPalette::Disabled, QPalette::Button, palettesColors.button.inactiveButton},
444 {QPalette::Inactive, QPalette::Button, palettesColors.button.inactiveButton},
446 {QPalette::Active, QPalette::ButtonText, palettesColors.palettes.activeButtonText},
447 {QPalette::Disabled, QPalette::ButtonText, palettesColors.palettes.inactiveButtonText},
448 {QPalette::Inactive, QPalette::ButtonText, palettesColors.palettes.inactiveButtonText},
450 {QPalette::All, QPalette::BrightText, palettesColors.button.enabledDefaultButtonText},
452 {QPalette::Active, QPalette::Light, palettesColors.palettes.hover},
453 {QPalette::Active, QPalette::Dark, palettesColors.palettes.clickEffect},
455 {QPalette::Active, QPalette::Highlight, palettesColors.button.focusedOutline},
456 {QPalette::Active, QPalette::WindowText, palettesColors.palettes.indicatorArrow}
473 {QPalette::Active, QPalette::Window, palettesColors.palettes.activeWindow},
474 {QPalette::Disabled, QPalette::Window, palettesColors.palettes.inactiveWindow},
475 {QPalette::Inactive, QPalette::Window, palettesColors.palettes.inactiveWindow},
477 {QPalette::Active, QPalette::WindowText, palettesColors.palettes.textPrimary},
478 {QPalette::Disabled, QPalette::WindowText, palettesColors.palettes.disabledTextPrimary},
479 {QPalette::Inactive, QPalette::WindowText, palettesColors.palettes.inactiveTextPrimary},
481 {QPalette::Active, QPalette::Text, palettesColors.palettes.textPrimary},
482 {QPalette::Disabled, QPalette::Text, palettesColors.palettes.disabledTextPrimary},
483 {QPalette::Inactive, QPalette::Text, palettesColors.palettes.inactiveTextPrimary},
485 {QPalette::Active, QPalette::Base, palettesColors.system.activeWindowFrame},
486 {QPalette::Disabled, QPalette::Base, palettesColors.system.inactiveWindowFrame},
487 {QPalette::Inactive, QPalette::Base, palettesColors.system.inactiveWindowFrame},
489 {QPalette::Active, QPalette::AlternateBase, palettesColors.palettes.textPrimary},
491 {QPalette::Active, QPalette::Highlight, palettesColors.palettes.highlighted},
493 {QPalette::All, QPalette::PlaceholderText, palettesColors.system.textHint},
494 {QPalette::Disabled, QPalette::PlaceholderText, palettesColors.system.textTertiary},
496 {QPalette::Active, QPalette::Midlight, palettesColors.palettes.scrollBarSlider},
498 {QPalette::Active, QPalette::Mid, palettesColors.palettes.componentNormal}
506 {QPalette::Inactive, QPalette::Base, palettesColors.palettes.switchBgOff},
507 {QPalette::Inactive, QPalette::Button, palettesColors.palettes.switchOutlineOff},
508 {QPalette::Active, QPalette::Button, palettesColors.palettes.highlighted},
509 {QPalette::Active, QPalette::WindowText, palettesColors.palettes.highlighted},
510 {QPalette::Inactive, QPalette::WindowText, palettesColors.palettes.inactiveText},
511 {QPalette::Disabled, QPalette::WindowText, palettesColors.palettes.inactiveHighlighted},
512 {QPalette::Active, QPalette::Light, palettesColors.palettes.hover},
513 {QPalette::Active, QPalette::Dark, palettesColors.palettes.clickEffect},
521 {QPalette::Active, QPalette::AlternateBase, palettesColors.palettes.componentActivated},
522 {QPalette::All, QPalette::Base, palettesColors.palettes.window},
523 {QPalette::All, QPalette::Window, palettesColors.palettes.window},
524 {QPalette::Active, QPalette::Text, palettesColors.palettes.highlighted},
525 {QPalette::Disabled, QPalette::Text, palettesColors.palettes.inactiveText},
526 {QPalette::Inactive, QPalette::Text, palettesColors.palettes.inactiveHighlighted},
527 {QPalette::Active, QPalette::Light, palettesColors.palettes.hover},
528 {QPalette::Active, QPalette::Dark, palettesColors.palettes.clickEffect},
529 {QPalette::Active, QPalette::WindowText, palettesColors.palettes.indicatorArrow}
537 {QPalette::Active, QPalette::Window, palettesColors.palettes.activeWindow},
538 {QPalette::Inactive, QPalette::Base, palettesColors.palettes.switchBgOff},
539 {QPalette::Inactive, QPalette::Button, palettesColors.palettes.switchOutlineOff},
540 {QPalette::Active, QPalette::Button, palettesColors.palettes.highlighted},
542 {QPalette::Active, QPalette::Text, palettesColors.palettes.textPrimary},
543 {QPalette::Disabled, QPalette::Text, palettesColors.menu.inactiveText},
544 {QPalette::Inactive, QPalette::Text, palettesColors.menu.inactiveText},
546 {QPalette::Active, QPalette::Light, palettesColors.palettes.hover},
547 {QPalette::Active, QPalette::Dark, palettesColors.palettes.clickEffect},
549 {QPalette::Active, QPalette::Mid, palettesColors.menu.listSeparator}
567 {QPalette::Active, QPalette::WindowText, palettesColors.tabBar.activeWindowText},
568 {QPalette::Inactive, QPalette::WindowText, palettesColors.tabBar.inactiveWindowText},
569 {QPalette::Disabled, QPalette::WindowText, palettesColors.tabBar.disabledWindowText},
571 {QPalette::Active, QPalette::Window, palettesColors.palettes.activeWindow},
572 {QPalette::Inactive, QPalette::Window, palettesColors.palettes.inactiveWindow},
573 {QPalette::Disabled, QPalette::Window, palettesColors.palettes.inactiveWindow},
575 {QPalette::Active, QPalette::Highlight, palettesColors.palettes.activeHighlight},
576 {QPalette::Inactive, QPalette::Highlight, palettesColors.palettes.inactiveHighlight},
577 {QPalette::Disabled, QPalette::Highlight, palettesColors.palettes.inactiveHighlight},
584 makeSystemPalette(palettesColors),
586 {QPalette::Active, QPalette::AlternateBase, palettesColors.palettes.componentActivated},
587 {QPalette::All, QPalette::Base, palettesColors.textLineEdit.textEditBackground},
588 {QPalette::Disabled, QPalette::Base, palettesColors.textLineEdit.inactiveTextEditBackground},
589 {QPalette::All, QPalette::Text, palettesColors.palettes.textPrimary},
590 {QPalette::Disabled, QPalette::Text, palettesColors.palettes.disabledTextPrimary},
607 {QPalette::Active, QPalette::Button, palettesColors.palettes.highlighted},
608 {QPalette::Inactive, QPalette::Button, palettesColors.palettes.switchOutlineOff},
609 {QPalette::Active, QPalette::Base, palettesColors.system.activeWindowFrame},
610 {QPalette::Inactive, QPalette::Base, palettesColors.palettes.switchBgOff},
611 {QPalette::Active, QPalette::AlternateBase, palettesColors.groupBox.groupBoxFrame},
612 {QPalette::Active, QPalette::Window, palettesColors.groupBox.background},
613 {QPalette::Inactive, QPalette::Window, palettesColors.groupBox.background},
614 {QPalette::Active, QPalette::Window, palettesColors.palettes.window},
615 {QPalette::Disabled, QPalette::Window, palettesColors.palettes.window},
616 {QPalette::Active, QPalette::Text, palettesColors.palettes.highlighted},
617 {QPalette::Inactive, QPalette::Text, palettesColors.palettes.highlighted},
618 {QPalette::Disabled, QPalette::Text, palettesColors.palettes.inactiveHighlighted},
619 {QPalette::Current, QPalette::Text, palettesColors.palettes.highlighted},
620 {QPalette::Disabled, QPalette::WindowText, palettesColors.palettes.inactiveHighlighted},
621 {QPalette::Active, QPalette::ButtonText, palettesColors.palettes.textPrimary},
622 {QPalette::Disabled, QPalette::ButtonText, palettesColors.palettes.inactiveHighlighted},
623 {QPalette::Active, QPalette::Dark, palettesColors.palettes.clickEffect},
624 {QPalette::Active, QPalette::Light, palettesColors.palettes.hover},
625 {QPalette::Active, QPalette::Shadow, palettesColors.groupBox.shadowXS},
626 {QPalette::Active, QPalette::Midlight, palettesColors.palettes.scrollBarSlider},
627 {QPalette::Active, QPalette::Mid, palettesColors.palettes.componentNormal}
635 {QPalette::Active, QPalette::Button, palettesColors.header.activeButton},
636 {QPalette::Inactive, QPalette::Button, palettesColors.header.activeButton},
637 {QPalette::Disabled, QPalette::Button, palettesColors.palettes.inactiveWindow},
639 {QPalette::Current, QPalette::ButtonText, palettesColors.palettes.activeButtonText},
640 {QPalette::Active, QPalette::ButtonText, palettesColors.palettes.activeButtonText},
641 {QPalette::Inactive, QPalette::ButtonText, palettesColors.palettes.activeButtonText},
642 {QPalette::Disabled, QPalette::ButtonText, palettesColors.palettes.inactiveButtonText},
650 {QPalette::Active, QPalette::Base, palettesColors.palettes.window},
651 {QPalette::Inactive, QPalette::Base, palettesColors.palettes.window},
652 {QPalette::Disabled, QPalette::Base, palettesColors.palettes.window},
654 {QPalette::Active, QPalette::AlternateBase, palettesColors.palettes.activeWindow},
655 {QPalette::Inactive, QPalette::AlternateBase, palettesColors.palettes.activeWindow},
656 {QPalette::Disabled, QPalette::AlternateBase, palettesColors.palettes.inactiveWindow},
657 {QPalette::Current, QPalette::AlternateBase, palettesColors.palettes.activeWindow},
659 {QPalette::Active, QPalette::Highlight, palettesColors.palettes.activeHighlight},
660 {QPalette::Inactive, QPalette::Highlight, palettesColors.palettes.activeHighlight},
661 {QPalette::Disabled, QPalette::Highlight, palettesColors.palettes.inactiveHighlight},
663 {QPalette::Active, QPalette::Window, palettesColors.palettes.activeWindow},
664 {QPalette::Inactive, QPalette::Window, palettesColors.palettes.activeWindow},
665 {QPalette::Disabled, QPalette::Window, palettesColors.palettes.inactiveWindow},
667 {QPalette::Active, QPalette::Text, palettesColors.palettes.activeHighlight},
668 {QPalette::Inactive, QPalette::Text, palettesColors.palettes.activeHighlight},
669 {QPalette::Disabled, QPalette::Text, palettesColors.palettes.inactiveHighlight},
671 {QPalette::Active, QPalette::HighlightedText, palettesColors.palettes.activeWindow},
672 {QPalette::Inactive, QPalette::HighlightedText, palettesColors.palettes.activeWindow},
673 {QPalette::Disabled, QPalette::HighlightedText, palettesColors.palettes.inactiveWindow},
675 {QPalette::Active, QPalette::Dark, palettesColors.palettes.activeWindow},
676 {QPalette::Inactive, QPalette::Dark, palettesColors.palettes.activeWindow},
677 {QPalette::Disabled, QPalette::Dark, palettesColors.palettes.inactiveWindow},
678 {QPalette::Current, QPalette::Dark, palettesColors.palettes.activeWindow},
679 {QPalette::All, QPalette::Dark, palettesColors.palettes.activeWindow},
681 {QPalette::Active, QPalette::Light, palettesColors.palettes.hover},
682 {QPalette::Inactive, QPalette::Light, palettesColors.palettes.activeWindow},
683 {QPalette::Disabled, QPalette::Light, palettesColors.palettes.inactiveWindow},
685 {QPalette::Active, QPalette::Mid, palettesColors.palettes.activeWindow},
686 {QPalette::Inactive, QPalette::Mid, palettesColors.palettes.activeWindow},
687 {QPalette::Disabled, QPalette::Mid, palettesColors.palettes.inactiveWindow},
688 {QPalette::Current, QPalette::Mid, palettesColors.palettes.activeWindow},
689 {QPalette::All, QPalette::Mid, palettesColors.palettes.activeWindow},
697 {QPalette::Active, QPalette::WindowText, palettesColors.palettes.highlighted},
698 {QPalette::Inactive, QPalette::WindowText, palettesColors.palettes.inactiveText},
699 {QPalette::Disabled, QPalette::WindowText, palettesColors.palettes.inactiveHighlighted},
701 {QPalette::Active, QPalette::Text, palettesColors.palettes.highlighted},
702 {QPalette::Disabled, QPalette::Text, palettesColors.palettes.inactiveText},
703 {QPalette::Inactive, QPalette::Text, palettesColors.palettes.inactiveHighlighted},
762 {QPlatformTheme::ButtonPalette, makeButtonPalette(palettesColors)},
763 {QPlatformTheme::CheckBoxPalette, makeCheckBoxOrRadioButtonPalette(palettesColors)},
764 {QPlatformTheme::ComboBoxPalette, makeComboBoxPalette(palettesColors)},
765 {QPlatformTheme::GroupBoxPalette, makeGroupBoxPalette(palettesColors)},
766 {QPlatformTheme::HeaderPalette, makeHeaderPalette(palettesColors)},
767 {QPlatformTheme::ItemViewPalette, makeItemViewPalette(palettesColors)},
768 {QPlatformTheme::LabelPalette, makeLabelPalette(palettesColors)},
769 {QPlatformTheme::MenuPalette, makeMenuPalette(palettesColors)},
770 {QPlatformTheme::MenuBarPalette, makeMenuBarPalette(palettesColors)},
771 {QPlatformTheme::RadioButtonPalette, makeCheckBoxOrRadioButtonPalette(palettesColors)},
772 {QPlatformTheme::SystemPalette, makeSystemPalette(palettesColors)},
773 {QPlatformTheme::TabBarPalette, makeTabBarPalette(palettesColors)},
774 {QPlatformTheme::TextEditPalette, makeTextEditPalette(palettesColors)},
775 {QPlatformTheme::TextLineEditPalette, makeTextLineEditPalette(palettesColors)},
776 {QPlatformTheme::ToolButtonPalette, makeToolButtonPalette(palettesColors)},
777 {QPlatformTheme::ToolTipPalette, makeToolTipPalette(palettesColors)},
810 std::string undocumentedParamsPropertyName(
"params");
811 auto optParams = QNapi::getOptionalPropOrEmpty<QNapi::Value>(resource, undocumentedParamsPropertyName);
812 if (optParams.IsEmpty()) {
814 "%s: expected '%s' property not found in resource object, ignore getting pixmap",
815 Q_FUNC_INFO, undocumentedParamsPropertyName.c_str());
818 if (!optParams.IsArray()) {
820 "%s: '%s' property is not an array, ignore getting pixmap",
821 Q_FUNC_INFO, undocumentedParamsPropertyName.c_str());
825 auto params = QNapi::getArrayElements<std::vector<std::string>, QNapi::String>(
826 QNapi::checkedCast<QNapi::Array>(optParams));
827 if (params.empty()) {
829 "%s: '%s' property is empty, ignore getting pixmap",
830 Q_FUNC_INFO, undocumentedParamsPropertyName.c_str());
834 const auto resourceIdentifier = params.front();
835 const auto lastSeparatorPosition = resourceIdentifier.rfind(
'.');
836 if (lastSeparatorPosition == std::string::npos) {
838 "%s: '%s' property has unknown resource name, ignore getting pixmap",
839 Q_FUNC_INFO, undocumentedParamsPropertyName.c_str());
843 const auto simpleName = resourceIdentifier.substr(lastSeparatorPosition + 1);
844 auto resourceContentBuffer = jsState.eval<QNapi::TypedArrayOf<std::uint8_t>>(
845 "@ohos.resourceManager.getSysResourceManager().getMediaByNameSync(*)", {simpleName});
848 bool pixmapLoadResult = pixmap.loadFromData(
849 static_cast<
const uchar *>(resourceContentBuffer.Data()), resourceContentBuffer.ByteLength());
851 if (pixmapLoadResult) {
852 return makeQOhosOptional(pixmap);
854 qOhosPrintfWarning(
"%s: cannot load pixmap", Q_FUNC_INFO);