mirror of
https://github.com/Zaarrg/stremio-community-v5.git
synced 2026-01-11 20:10:31 +00:00
Compare commits
61 commits
5.0.0-beta
...
webview-wi
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
da0783dfd8 | ||
|
|
adb360bd4a | ||
|
|
f6b08f6267 | ||
|
|
90f8961641 | ||
|
|
be66d6be39 | ||
|
|
3725f0b53d | ||
|
|
38349f0741 | ||
|
|
e197d8cc99 | ||
|
|
4390983608 | ||
|
|
bca250f8dd | ||
|
|
b4cad35041 | ||
|
|
7d1b63c993 | ||
|
|
7add3f622b | ||
|
|
c5a6a7fb64 | ||
|
|
a87bec252f | ||
|
|
904c3f696c | ||
|
|
9cef682930 | ||
|
|
5665603bf2 | ||
|
|
7434ac684f | ||
|
|
917dd8d52a | ||
|
|
d6c485de17 | ||
|
|
21e6256532 | ||
|
|
66fd305565 | ||
|
|
9142d89a1e | ||
|
|
76bbdf64a9 | ||
|
|
a67eebaf0d | ||
|
|
6c7faa5c61 | ||
|
|
501f616717 | ||
|
|
3117065f51 | ||
|
|
c1c4109b43 | ||
|
|
2530f8eb11 | ||
|
|
347bf735ee | ||
|
|
252e8f2a1e | ||
|
|
76d4355cd4 | ||
|
|
aa03891ed4 | ||
|
|
1b4f3c7397 | ||
|
|
a44171d919 | ||
|
|
7bf9738ab0 | ||
|
|
ffb9fdc557 | ||
|
|
f7301f7518 | ||
|
|
003e561881 | ||
|
|
906c841e4f | ||
|
|
ec9bcc39ba | ||
|
|
29d49d4d3e | ||
|
|
81467603b5 | ||
|
|
0bfe1c012d | ||
|
|
33dc1e942f | ||
|
|
b159fd01e8 | ||
|
|
416dab85cf | ||
|
|
81e0ce17cb | ||
|
|
af581f1f04 | ||
|
|
e09cbd2485 | ||
|
|
6a950eec56 | ||
|
|
26ca7c6368 | ||
|
|
a6438d97b9 | ||
|
|
ab811219a5 | ||
|
|
71e4d246f3 | ||
|
|
d1b7990284 | ||
|
|
63c157df29 | ||
|
|
3a29630d13 | ||
|
|
baa268317f |
49 changed files with 1902 additions and 818 deletions
8
.idea/.gitignore
vendored
Normal file
8
.idea/.gitignore
vendored
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
# Default ignored files
|
||||
/shelf/
|
||||
/workspace.xml
|
||||
# Editor-based HTTP Client requests
|
||||
/httpRequests/
|
||||
# Datasource local storage ignored files
|
||||
/dataSources/
|
||||
/dataSources.local.xml
|
||||
7
.idea/discord.xml
Normal file
7
.idea/discord.xml
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="DiscordProjectSettings">
|
||||
<option name="show" value="ASK" />
|
||||
<option name="description" value="" />
|
||||
</component>
|
||||
</project>
|
||||
838
.idea/editor.xml
838
.idea/editor.xml
|
|
@ -1,62 +1,298 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="BackendCodeEditorSettings">
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CDeclarationWithImplicitIntType/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CommentTypo/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=ConstevalIfIsAlwaysConstant/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppAbstractClassWithoutSpecifier/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppAbstractFinalClass/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppAbstractVirtualFunctionCallInCtor/@EntryIndexedValue" value="ERROR" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppAccessSpecifierWithNoDeclarations/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppAwaiterTypeIsNotClass/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppBooleanIncrementExpression/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppBoostFormatBadCode/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppBoostFormatLegacyCode/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppBoostFormatMixedArgs/@EntryIndexedValue" value="ERROR" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppBoostFormatTooFewArgs/@EntryIndexedValue" value="ERROR" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppBoostFormatTooManyArgs/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppCStyleCast/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppCVQualifierCanNotBeAppliedToReference/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppClassCanBeFinal/@EntryIndexedValue" value="HINT" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppClassIsIncomplete/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppClassNeedsConstructorBecauseOfUninitializedMember/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppClassNeverUsed/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppCompileTimeConstantCanBeReplacedWithBooleanConstant/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppConceptNeverUsed/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppConditionalExpressionCanBeSimplified/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppConstParameterInDeclaration/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppConstValueFunctionReturnType/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppCoroutineCallResolveError/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAArrayIndexOutOfBounds/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAConstantConditions/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAConstantFunctionResult/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAConstantParameter/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFADeletedPointer/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAEndlessLoop/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAInfiniteRecursion/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAInvalidatedMemory/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFALocalValueEscapesFunction/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFALocalValueEscapesScope/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFALoopConditionNotUpdated/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAMemoryLeak/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFANotInitializedField/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFANullDereference/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFATimeOver/@EntryIndexedValue" value="HINT" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAUnreachableCode/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAUnreachableFunctionCall/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAUnreadVariable/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAUnusedValue/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDeclarationHidesLocal/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDeclarationHidesUncapturedLocal/@EntryIndexedValue" value="HINT" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDeclarationSpecifierWithoutDeclarators/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDeclaratorDisambiguatedAsFunction/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDeclaratorNeverUsed/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDeclaratorUsedBeforeInitialization/@EntryIndexedValue" value="ERROR" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDefaultCaseNotHandledInSwitchStatement/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDefaultInitializationWithNoUserConstructor/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDefaultIsUsedAsIdentifier/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDefaultedSpecialMemberFunctionIsImplicitlyDeleted/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDeletingVoidPointer/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDependentTemplateWithoutTemplateKeyword/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDependentTypeWithoutTypenameKeyword/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDeprecatedEntity/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDeprecatedOverridenMethod/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDeprecatedRegisterStorageClassSpecifier/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDereferenceOperatorLimitExceeded/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDiscardedPostfixOperatorResult/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDoxygenSyntaxError/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDoxygenUndocumentedParameter/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDoxygenUnresolvedReference/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEmptyDeclaration/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceCVQualifiersOrder/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceCVQualifiersPlacement/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceDoStatementBraces/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceForStatementBraces/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceFunctionDeclarationStyle/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceIfStatementBraces/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceNestedNamespacesStyle/@EntryIndexedValue" value="HINT" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceOverridingDestructorStyle/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceOverridingFunctionStyle/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceTypeAliasCodeStyle/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceWhileStatementBraces/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEntityAssignedButNoRead/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEntityUsedOnlyInUnevaluatedContext/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnumeratorNeverUsed/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEqualOperandsInBinaryExpression/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEvaluationFailure/@EntryIndexedValue" value="ERROR" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppExplicitSpecializationInNonNamespaceScope/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppExpressionWithoutSideEffects/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppFinalFunctionInFinalClass/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppFinalNonOverridingVirtualFunction/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppForLoopCanBeReplacedWithWhile/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppForwardEnumDeclarationWithoutUnderlyingType/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppFunctionDoesntReturnValue/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppFunctionIsNotImplemented/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppFunctionResultShouldBeUsed/@EntryIndexedValue" value="HINT" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppFunctionalStyleCast/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppHeaderHasBeenAlreadyIncluded/@EntryIndexedValue" value="HINT" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppHiddenFunction/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppHidingFunction/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppIdenticalOperandsInBinaryExpression/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppIfCanBeReplacedByConstexprIf/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppImplicitDefaultConstructorNotAvailable/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppIncompatiblePointerConversion/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppIncompleteSwitchStatement/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppInconsistentNaming/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppIntegralToPointerConversion/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppInvalidLineContinuation/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppJoinDeclarationAndAssignment/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppLambdaCaptureNeverUsed/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppLocalVariableMayBeConst/@EntryIndexedValue" value="HINT" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppLocalVariableMightNotBeInitialized/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppLocalVariableWithNonTrivialDtorIsNeverUsed/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppLongFloat/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMemberFunctionMayBeConst/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMemberFunctionMayBeStatic/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMemberInitializersOrder/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMismatchedClassTags/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMissingIncludeGuard/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMissingKeywordThrow/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMsExtAddressOfClassRValue/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMsExtBindingRValueToLvalueReference/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMsExtCopyElisionInCopyInitDeclarator/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMsExtDoubleUserConversionInCopyInit/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMsExtNotInitializedStaticConstLocalVar/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMsExtReinterpretCastFromNullptr/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMultiCharacterLiteral/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMultiCharacterWideLiteral/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMustBePublicVirtualToImplementInterface/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMutableSpecifierOnReferenceMember/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppNoDiscardExpression/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppNodiscardFunctionWithoutReturnValue/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppNonExceptionSafeResourceAcquisition/@EntryIndexedValue" value="HINT" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppNonExplicitConversionOperator/@EntryIndexedValue" value="HINT" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppNonExplicitConvertingConstructor/@EntryIndexedValue" value="HINT" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppNonInlineFunctionDefinitionInHeaderFile/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppNonInlineVariableDefinitionInHeaderFile/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppNotAllPathsReturnValue/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppObjectMemberMightNotBeInitialized/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppOutParameterMustBeWritten/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppParameterMayBeConst/@EntryIndexedValue" value="HINT" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppParameterMayBeConstPtrOrRef/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppParameterNamesMismatch/@EntryIndexedValue" value="HINT" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppParameterNeverUsed/@EntryIndexedValue" value="HINT" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPassValueParameterByConstReference/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPointerConversionDropsQualifiers/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPointerToIntegralConversion/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPolymorphicClassWithNonVirtualPublicDestructor/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPossiblyErroneousEmptyStatements/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPossiblyUninitializedMember/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPossiblyUnintendedObjectSlicing/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPrecompiledHeaderIsNotIncluded/@EntryIndexedValue" value="ERROR" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPrecompiledHeaderNotFound/@EntryIndexedValue" value="ERROR" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPrintfBadFormat/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPrintfExtraArg/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPrintfMissedArg/@EntryIndexedValue" value="ERROR" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPrintfRiskyFormat/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPrivateSpecialMemberFunctionIsNotImplemented/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRangeBasedForIncompatibleReference/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedefinitionOfDefaultArgumentInOverrideFunction/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantAccessSpecifier/@EntryIndexedValue" value="HINT" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantBaseClassAccessSpecifier/@EntryIndexedValue" value="HINT" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantBaseClassInitializer/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantBooleanExpressionArgument/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantCastExpression/@EntryIndexedValue" value="HINT" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantComplexityInComparison/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantConditionalExpression/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantConstSpecifier/@EntryIndexedValue" value="HINT" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantControlFlowJump/@EntryIndexedValue" value="HINT" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantDereferencingAndTakingAddress/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantElaboratedTypeSpecifier/@EntryIndexedValue" value="HINT" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantElseKeyword/@EntryIndexedValue" value="HINT" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantElseKeywordInsideCompoundStatement/@EntryIndexedValue" value="HINT" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantEmptyDeclaration/@EntryIndexedValue" value="HINT" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantEmptyStatement/@EntryIndexedValue" value="HINT" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantExportKeyword/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantFwdClassOrEnumSpecifier/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantInlineSpecifier/@EntryIndexedValue" value="HINT" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantLambdaParameterList/@EntryIndexedValue" value="HINT" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantMemberInitializer/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantNamespaceDefinition/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantParentheses/@EntryIndexedValue" value="HINT" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantQualifier/@EntryIndexedValue" value="HINT" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantQualifierADL/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantStaticSpecifierOnMemberAllocationFunction/@EntryIndexedValue" value="HINT" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantStaticSpecifierOnThreadLocalLocalVariable/@EntryIndexedValue" value="HINT" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantTemplateArguments/@EntryIndexedValue" value="HINT" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantTemplateKeyword/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantTypenameKeyword/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantVoidArgumentList/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantZeroInitializerInAggregateInitialization/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppReinterpretCastFromVoidPtr/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRemoveRedundantBraces/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppReplaceMemsetWithZeroInitialization/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppReplaceTieWithStructuredBinding/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppReturnNoValueInNonVoidFunction/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppSmartPointerVsMakeFunction/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppSomeObjectMembersMightNotBeInitialized/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppSpecialFunctionWithoutNoexceptSpecification/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppStaticAssertFailure/@EntryIndexedValue" value="ERROR" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppStaticDataMemberInUnnamedStruct/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppStaticSpecifierOnAnonymousNamespaceMember/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppStringLiteralToCharPointerConversion/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppTabsAreDisallowed/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppTemplateArgumentsCanBeDeduced/@EntryIndexedValue" value="HINT" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppTemplateParameterNeverUsed/@EntryIndexedValue" value="HINT" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppTemplateParameterShadowing/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppThrowExpressionCanBeReplacedWithRethrow/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppTooWideScope/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppTooWideScopeInitStatement/@EntryIndexedValue" value="HINT" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppTypeAliasNeverUsed/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUninitializedDependentBaseClass/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUninitializedNonStaticDataMember/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUnionMemberOfReferenceType/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUnmatchedPragmaEndRegionDirective/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUnmatchedPragmaRegionDirective/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUnnamedNamespaceInHeaderFile/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUnnecessaryWhitespace/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUnsignedZeroComparison/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUnusedIncludeDirective/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseAlgorithmWithCount/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseAssociativeContains/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseAuto/@EntryIndexedValue" value="HINT" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseAutoForNumeric/@EntryIndexedValue" value="HINT" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseElementsView/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseEraseAlgorithm/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseFamiliarTemplateSyntaxForGenericLambdas/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseRangeAlgorithm/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseStdSize/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseStructuredBinding/@EntryIndexedValue" value="HINT" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseTypeTraitAlias/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUserDefinedLiteralSuffixDoesNotStartWithUnderscore/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUsingResultOfAssignmentAsCondition/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppVariableCanBeMadeConstexpr/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppVirtualFunctionCallInsideCtor/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppVirtualFunctionInFinalClass/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppVolatileParameterInDeclaration/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppWarningDirective/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppWrongIncludesOrder/@EntryIndexedValue" value="HINT" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppWrongSlashesInIncludeDirective/@EntryIndexedValue" value="HINT" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppZeroConstantCanBeReplacedWithNullptr/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppZeroValuedExpressionUsedAsNullPointer/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=IdentifierTypo/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=IfStdIsConstantEvaluatedCanBeReplaced/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=StdIsConstantEvaluatedWillAlwaysEvaluateToConstant/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=StringLiteralTypo/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppClangFormat/EnableClangFormatSupport/@EntryValue" value="false" type="bool" />
|
||||
<option name="/Default/CodeStyle/EditorConfig/EnableClangFormatSupport/@EntryValue" value="false" type="bool" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/ALIGN_MULTILINE_ARGUMENT/@EntryValue" value="true" type="bool" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/ALIGN_MULTILINE_BINARY_EXPRESSIONS_CHAIN/@EntryValue" value="true" type="bool" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/ALIGN_MULTILINE_CALLS_CHAIN/@EntryValue" value="false" type="bool" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/ALIGN_MULTILINE_EXPRESSION/@EntryValue" value="false" type="bool" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/ALIGN_MULTILINE_FOR_STMT/@EntryValue" value="true" type="bool" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/ALIGN_MULTIPLE_DECLARATION/@EntryValue" value="false" type="bool" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/ALIGN_TERNARY/@EntryValue" value="ALIGN_ALL" type="string" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/BLANK_LINES_AROUND_CLASS_DEFINITION/@EntryValue" value="1" type="int" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/KEEP_BLANK_LINES_IN_DECLARATIONS/@EntryValue" value="2" type="int" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/KEEP_BLANK_LINES_IN_CODE/@EntryValue" value="2" type="int" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/KEEP_USER_LINEBREAKS/@EntryValue" value="true" type="bool" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/INDENT_CASE_FROM_SWITCH/@EntryValue" value="true" type="bool" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/INDENT_COMMENT/@EntryValue" value="true" type="bool" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/INT_ALIGN_EQ/@EntryValue" value="false" type="bool" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SIMPLE_BLOCK_STYLE/@EntryValue" value="DO_NOT_CHANGE" type="string" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_AFTER_COMMA_IN_TEMPLATE_ARGS/@EntryValue" value="true" type="bool" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_AFTER_COMMA_IN_TEMPLATE_PARAMS/@EntryValue" value="true" type="bool" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_AFTER_FOR_SEMICOLON/@EntryValue" value="true" type="bool" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_BEFORE_FOR_SEMICOLON/@EntryValue" value="false" type="bool" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_AFTER_UNARY_OPERATOR/@EntryValue" value="false" type="bool" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_WITHIN_ARRAY_ACCESS_BRACKETS/@EntryValue" value="false" type="bool" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_WITHIN_CAST_EXPRESSION_PARENTHESES/@EntryValue" value="false" type="bool" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_WITHIN_EMPTY_INITIALIZER_BRACES/@EntryValue" value="false" type="bool" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_WITHIN_EMPTY_METHOD_PARENTHESES/@EntryValue" value="false" type="bool" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_WITHIN_INITIALIZER_BRACES/@EntryValue" value="false" type="bool" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPECIAL_ELSE_IF_TREATMENT/@EntryValue" value="true" type="bool" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_AFTER_CAST_EXPRESSION_PARENTHESES/@EntryValue" value="true" type="bool" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/WRAP_AFTER_BINARY_OPSIGN/@EntryValue" value="true" type="bool" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/WRAP_BEFORE_TERNARY_OPSIGNS/@EntryValue" value="true" type="bool" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/TYPE_DECLARATION_BRACES/@EntryValue" value="END_OF_LINE" type="string" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/OTHER_BRACES/@EntryValue" value="END_OF_LINE" type="string" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/CASE_BLOCK_BRACES/@EntryValue" value="END_OF_LINE" type="string" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/BLANK_LINES_AROUND_FUNCTION_DECLARATION/@EntryValue" value="1" type="int" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/BLANK_LINES_AROUND_FUNCTION_DEFINITION/@EntryValue" value="1" type="int" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/PLACE_WHILE_ON_NEW_LINE/@EntryValue" value="false" type="bool" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/PLACE_ELSE_ON_NEW_LINE/@EntryValue" value="false" type="bool" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/PLACE_CATCH_ON_NEW_LINE/@EntryValue" value="false" type="bool" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/NAMESPACE_INDENTATION/@EntryValue" value="All" type="string" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/ALIGN_MULTILINE_ARGUMENT/@EntryValue" value="true" type="bool" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/ALIGN_MULTILINE_EXTENDS_LIST/@EntryValue" value="true" type="bool" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/ALIGN_MULTILINE_FOR_STMT/@EntryValue" value="true" type="bool" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/ALIGN_MULTILINE_PARAMETER/@EntryValue" value="true" type="bool" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/ALIGN_MULTILINE_TYPE_ARGUMENT/@EntryValue" value="false" type="bool" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/ALIGN_MULTILINE_TYPE_PARAMETER/@EntryValue" value="false" type="bool" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/ALIGN_MULTIPLE_DECLARATION/@EntryValue" value="false" type="bool" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/ALIGN_TERNARY/@EntryValue" value="ALIGN_ALL" type="string" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/ANONYMOUS_METHOD_DECLARATION_BRACES/@EntryValue" value="END_OF_LINE" type="string" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/BLANK_LINES_AROUND_CLASS_DEFINITION/@EntryValue" value="1" type="int" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/BLANK_LINES_AROUND_DECLARATIONS/@EntryValue" value="0" type="int" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/BLANK_LINES_AROUND_FUNCTION_DECLARATION/@EntryValue" value="1" type="int" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/BLANK_LINES_AROUND_FUNCTION_DEFINITION/@EntryValue" value="1" type="int" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/BREAK_TEMPLATE_DECLARATION/@EntryValue" value="LINE_BREAK" type="string" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/CASE_BLOCK_BRACES/@EntryValue" value="END_OF_LINE" type="string" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/CONTINUOUS_LINE_INDENT/@EntryValue" value="Double" type="string" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/FREE_BLOCK_BRACES/@EntryValue" value="END_OF_LINE" type="string" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/INDENT_ACCESS_SPECIFIERS_FROM_CLASS/@EntryValue" value="false" type="bool" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/INDENT_CASE_FROM_SWITCH/@EntryValue" value="true" type="bool" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/INDENT_CLASS_MEMBERS_FROM_ACCESS_SPECIFIERS/@EntryValue" value="true" type="bool" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/INDENT_COMMENT/@EntryValue" value="true" type="bool" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/INDENT_SIZE/@EntryValue" value="4" type="int" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/INDENT_STYLE/@EntryValue" value="Space" type="string" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/INITIALIZER_BRACES/@EntryValue" value="END_OF_LINE_NO_SPACE" type="string" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/INT_ALIGN_EQ/@EntryValue" value="false" type="bool" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/INVOCABLE_DECLARATION_BRACES/@EntryValue" value="END_OF_LINE" type="string" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/KEEP_BLANK_LINES_IN_CODE/@EntryValue" value="2" type="int" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/KEEP_BLANK_LINES_IN_DECLARATIONS/@EntryValue" value="2" type="int" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/KEEP_USER_LINEBREAKS/@EntryValue" value="true" type="bool" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/LINE_BREAK_AFTER_COLON_IN_MEMBER_INITIALIZER_LISTS/@EntryValue" value="ON_SINGLE_LINE" type="string" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/MEMBER_INITIALIZER_LIST_STYLE/@EntryValue" value="DO_NOT_CHANGE" type="string" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/NAMESPACE_DECLARATION_BRACES/@EntryValue" value="END_OF_LINE" type="string" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/NAMESPACE_INDENTATION/@EntryValue" value="All" type="string" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/OTHER_BRACES/@EntryValue" value="END_OF_LINE" type="string" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/PLACE_CATCH_ON_NEW_LINE/@EntryValue" value="false" type="bool" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/PLACE_ELSE_ON_NEW_LINE/@EntryValue" value="false" type="bool" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/PLACE_NAMESPACE_DEFINITIONS_ON_SAME_LINE/@EntryValue" value="false" type="bool" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/PLACE_WHILE_ON_NEW_LINE/@EntryValue" value="false" type="bool" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SIMPLE_BLOCK_STYLE/@EntryValue" value="DO_NOT_CHANGE" type="string" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_AFTER_CAST_EXPRESSION_PARENTHESES/@EntryValue" value="true" type="bool" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_AFTER_COLON_IN_BITFIELD_DECLARATOR/@EntryValue" value="true" type="bool" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_BEFORE_COLON_IN_BITFIELD_DECLARATOR/@EntryValue" value="false" type="bool" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_AFTER_COMMA_IN_TEMPLATE_ARGS/@EntryValue" value="true" type="bool" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_AFTER_COMMA_IN_TEMPLATE_PARAMS/@EntryValue" value="true" type="bool" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_AFTER_EXTENDS_COLON/@EntryValue" value="true" type="bool" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_BEFORE_EXTENDS_COLON/@EntryValue" value="true" type="bool" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_AFTER_FOR_COLON/@EntryValue" value="true" type="bool" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_BEFORE_FOR_COLON/@EntryValue" value="false" type="bool" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_AFTER_FOR_SEMICOLON/@EntryValue" value="true" type="bool" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_AFTER_PTR_IN_DATA_MEMBER/@EntryValue" value="false" type="bool" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_AFTER_PTR_IN_DATA_MEMBERS/@EntryValue" value="false" type="bool" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_AFTER_PTR_IN_METHOD/@EntryValue" value="false" type="bool" />
|
||||
|
|
@ -64,6 +300,11 @@
|
|||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_AFTER_REF_IN_DATA_MEMBER/@EntryValue" value="false" type="bool" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_AFTER_REF_IN_DATA_MEMBERS/@EntryValue" value="false" type="bool" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_AFTER_REF_IN_METHOD/@EntryValue" value="false" type="bool" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_AFTER_UNARY_OPERATOR/@EntryValue" value="false" type="bool" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_BEFORE_COLON_IN_BITFIELD_DECLARATOR/@EntryValue" value="false" type="bool" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_BEFORE_EXTENDS_COLON/@EntryValue" value="true" type="bool" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_BEFORE_FOR_COLON/@EntryValue" value="false" type="bool" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_BEFORE_FOR_SEMICOLON/@EntryValue" value="false" type="bool" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_BEFORE_PTR_IN_ABSTRACT_DECL/@EntryValue" value="true" type="bool" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_BEFORE_PTR_IN_DATA_MEMBER/@EntryValue" value="true" type="bool" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_BEFORE_PTR_IN_DATA_MEMBERS/@EntryValue" value="true" type="bool" />
|
||||
|
|
@ -75,506 +316,29 @@
|
|||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_BEFORE_TEMPLATE_ARGS/@EntryValue" value="false" type="bool" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_BEFORE_TEMPLATE_PARAMS/@EntryValue" value="false" type="bool" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_BETWEEN_CLOSING_ANGLE_BRACKETS_IN_TEMPLATE_ARGS/@EntryValue" value="true" type="bool" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_WITHIN_EMPTY_TEMPLATE_PARAMS/@EntryValue" value="false" type="bool" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_WITHIN_TEMPLATE_ARGS/@EntryValue" value="false" type="bool" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_WITHIN_TEMPLATE_PARAMS/@EntryValue" value="false" type="bool" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_WITHIN_ARRAY_ACCESS_BRACKETS/@EntryValue" value="false" type="bool" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_WITHIN_CAST_EXPRESSION_PARENTHESES/@EntryValue" value="false" type="bool" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_WITHIN_DECLARATION_PARENTHESES/@EntryValue" value="false" type="bool" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_WITHIN_EMPTY_BLOCKS/@EntryValue" value="false" type="bool" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/WRAP_BEFORE_INVOCATION_LPAR/@EntryValue" value="false" type="bool" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/WRAP_AFTER_INVOCATION_LPAR/@EntryValue" value="false" type="bool" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/WRAP_BEFORE_INVOCATION_RPAR/@EntryValue" value="false" type="bool" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/WRAP_BEFORE_DECLARATION_LPAR/@EntryValue" value="false" type="bool" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/WRAP_AFTER_DECLARATION_LPAR/@EntryValue" value="false" type="bool" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/WRAP_BEFORE_DECLARATION_RPAR/@EntryValue" value="false" type="bool" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/WRAP_ARGUMENTS_STYLE/@EntryValue" value="WRAP_IF_LONG" type="string" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/WRAP_PARAMETERS_STYLE/@EntryValue" value="WRAP_IF_LONG" type="string" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/BREAK_TEMPLATE_DECLARATION/@EntryValue" value="LINE_BREAK" type="string" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/NAMESPACE_DECLARATION_BRACES/@EntryValue" value="END_OF_LINE" type="string" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/FREE_BLOCK_BRACES/@EntryValue" value="END_OF_LINE" type="string" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/INVOCABLE_DECLARATION_BRACES/@EntryValue" value="END_OF_LINE" type="string" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/ANONYMOUS_METHOD_DECLARATION_BRACES/@EntryValue" value="END_OF_LINE" type="string" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/INITIALIZER_BRACES/@EntryValue" value="END_OF_LINE_NO_SPACE" type="string" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/INDENT_STYLE/@EntryValue" value="Space" type="string" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/INDENT_SIZE/@EntryValue" value="4" type="int" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/CONTINUOUS_LINE_INDENT/@EntryValue" value="Double" type="string" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_WITHIN_EMPTY_INITIALIZER_BRACES/@EntryValue" value="false" type="bool" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_WITHIN_EMPTY_METHOD_PARENTHESES/@EntryValue" value="false" type="bool" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_WITHIN_EMPTY_TEMPLATE_PARAMS/@EntryValue" value="false" type="bool" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_WITHIN_INITIALIZER_BRACES/@EntryValue" value="false" type="bool" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_WITHIN_TEMPLATE_ARGS/@EntryValue" value="false" type="bool" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPACE_WITHIN_TEMPLATE_PARAMS/@EntryValue" value="false" type="bool" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/SPECIAL_ELSE_IF_TREATMENT/@EntryValue" value="true" type="bool" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/TAB_WIDTH/@EntryValue" value="4" type="int" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppSmartPointerVsMakeFunction/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppCStyleCast/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppFunctionalStyleCast/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppReinterpretCastFromVoidPtr/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppNonExplicitConvertingConstructor/@EntryIndexedValue" value="HINT" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppNonExplicitConversionOperator/@EntryIndexedValue" value="HINT" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDiscardedPostfixOperatorResult/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppConstValueFunctionReturnType/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMemberFunctionMayBeConst/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMemberFunctionMayBeStatic/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppLocalVariableMayBeConst/@EntryIndexedValue" value="HINT" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppParameterMayBeConst/@EntryIndexedValue" value="HINT" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppVariableCanBeMadeConstexpr/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppParameterMayBeConstPtrOrRef/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPassValueParameterByConstReference/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppThrowExpressionCanBeReplacedWithRethrow/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppZeroConstantCanBeReplacedWithNullptr/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppCompileTimeConstantCanBeReplacedWithBooleanConstant/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppIfCanBeReplacedByConstexprIf/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=IfStdIsConstantEvaluatedCanBeReplaced/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=StdIsConstantEvaluatedWillAlwaysEvaluateToConstant/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=ConstevalIfIsAlwaysConstant/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppClassCanBeFinal/@EntryIndexedValue" value="HINT" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseStructuredBinding/@EntryIndexedValue" value="HINT" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseTypeTraitAlias/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseAlgorithmWithCount/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseRangeAlgorithm/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseElementsView/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseStdSize/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppForLoopCanBeReplacedWithWhile/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppJoinDeclarationAndAssignment/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppReplaceTieWithStructuredBinding/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppReplaceMemsetWithZeroInitialization/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseAssociativeContains/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseEraseAlgorithm/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseFamiliarTemplateSyntaxForGenericLambdas/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppTooWideScope/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppTooWideScopeInitStatement/@EntryIndexedValue" value="HINT" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantNamespaceDefinition/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppNonInlineFunctionDefinitionInHeaderFile/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppNonInlineVariableDefinitionInHeaderFile/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppFunctionIsNotImplemented/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPrivateSpecialMemberFunctionIsNotImplemented/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppHiddenFunction/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppHidingFunction/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPolymorphicClassWithNonVirtualPublicDestructor/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppAbstractClassWithoutSpecifier/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppIncompleteSwitchStatement/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDefaultCaseNotHandledInSwitchStatement/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPossiblyErroneousEmptyStatements/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppExpressionWithoutSideEffects/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppNoDiscardExpression/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppFunctionResultShouldBeUsed/@EntryIndexedValue" value="HINT" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMissingKeywordThrow/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDependentTypeWithoutTypenameKeyword/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDependentTemplateWithoutTemplateKeyword/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppImplicitDefaultConstructorNotAvailable/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppClassNeedsConstructorBecauseOfUninitializedMember/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUninitializedNonStaticDataMember/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRangeBasedForIncompatibleReference/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppZeroValuedExpressionUsedAsNullPointer/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPossiblyUnintendedObjectSlicing/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPossiblyUninitializedMember/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDeclaratorDisambiguatedAsFunction/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppVirtualFunctionInFinalClass/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMustBePublicVirtualToImplementInterface/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDeclarationSpecifierWithoutDeclarators/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEmptyDeclaration/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDeclarationHidesLocal/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDeclarationHidesUncapturedLocal/@EntryIndexedValue" value="HINT" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMismatchedClassTags/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUsingResultOfAssignmentAsCondition/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppIntegralToPointerConversion/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPointerToIntegralConversion/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppIncompatiblePointerConversion/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPointerConversionDropsQualifiers/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppStringLiteralToCharPointerConversion/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppNonExceptionSafeResourceAcquisition/@EntryIndexedValue" value="HINT" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppVirtualFunctionCallInsideCtor/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppAbstractVirtualFunctionCallInCtor/@EntryIndexedValue" value="ERROR" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppInvalidLineContinuation/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPrintfBadFormat/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPrintfRiskyFormat/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPrintfMissedArg/@EntryIndexedValue" value="ERROR" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPrintfExtraArg/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppBoostFormatBadCode/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppBoostFormatLegacyCode/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppBoostFormatMixedArgs/@EntryIndexedValue" value="ERROR" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppBoostFormatTooFewArgs/@EntryIndexedValue" value="ERROR" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppBoostFormatTooManyArgs/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDeprecatedEntity/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMissingIncludeGuard/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDoxygenSyntaxError/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDoxygenUnresolvedReference/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDoxygenUndocumentedParameter/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDeletingVoidPointer/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppBooleanIncrementExpression/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDeprecatedRegisterStorageClassSpecifier/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppIdenticalOperandsInBinaryExpression/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEqualOperandsInBinaryExpression/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedefinitionOfDefaultArgumentInOverrideFunction/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUnnamedNamespaceInHeaderFile/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppParameterNamesMismatch/@EntryIndexedValue" value="HINT" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDefaultedSpecialMemberFunctionIsImplicitlyDeleted/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppNodiscardFunctionWithoutReturnValue/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantComplexityInComparison/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppAbstractFinalClass/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppSpecialFunctionWithoutNoexceptSpecification/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUnsignedZeroComparison/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMultiCharacterLiteral/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMultiCharacterWideLiteral/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantQualifier/@EntryIndexedValue" value="HINT" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantAccessSpecifier/@EntryIndexedValue" value="HINT" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppAccessSpecifierWithNoDeclarations/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantTypenameKeyword/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantTemplateKeyword/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantElseKeyword/@EntryIndexedValue" value="HINT" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantElseKeywordInsideCompoundStatement/@EntryIndexedValue" value="HINT" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantControlFlowJump/@EntryIndexedValue" value="HINT" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantEmptyStatement/@EntryIndexedValue" value="HINT" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantEmptyDeclaration/@EntryIndexedValue" value="HINT" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantParentheses/@EntryIndexedValue" value="HINT" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantLambdaParameterList/@EntryIndexedValue" value="HINT" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantCastExpression/@EntryIndexedValue" value="HINT" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppHeaderHasBeenAlreadyIncluded/@EntryIndexedValue" value="HINT" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppTemplateArgumentsCanBeDeduced/@EntryIndexedValue" value="HINT" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantTemplateArguments/@EntryIndexedValue" value="HINT" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppStaticSpecifierOnAnonymousNamespaceMember/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantStaticSpecifierOnMemberAllocationFunction/@EntryIndexedValue" value="HINT" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantStaticSpecifierOnThreadLocalLocalVariable/@EntryIndexedValue" value="HINT" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantBaseClassAccessSpecifier/@EntryIndexedValue" value="HINT" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantInlineSpecifier/@EntryIndexedValue" value="HINT" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantConstSpecifier/@EntryIndexedValue" value="HINT" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantBooleanExpressionArgument/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantVoidArgumentList/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantMemberInitializer/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantBaseClassInitializer/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppConstParameterInDeclaration/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppVolatileParameterInDeclaration/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppFinalFunctionInFinalClass/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppFinalNonOverridingVirtualFunction/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantElaboratedTypeSpecifier/@EntryIndexedValue" value="HINT" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantDereferencingAndTakingAddress/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantConditionalExpression/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppConditionalExpressionCanBeSimplified/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantExportKeyword/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantZeroInitializerInAggregateInitialization/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUserDefinedLiteralSuffixDoesNotStartWithUnderscore/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppClassIsIncomplete/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppTemplateParameterShadowing/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMutableSpecifierOnReferenceMember/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDefaultInitializationWithNoUserConstructor/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppExplicitSpecializationInNonNamespaceScope/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUnionMemberOfReferenceType/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUninitializedDependentBaseClass/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPrecompiledHeaderIsNotIncluded/@EntryIndexedValue" value="ERROR" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPrecompiledHeaderNotFound/@EntryIndexedValue" value="ERROR" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppCoroutineCallResolveError/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppAwaiterTypeIsNotClass/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppOutParameterMustBeWritten/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppWarningDirective/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppStaticAssertFailure/@EntryIndexedValue" value="ERROR" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEvaluationFailure/@EntryIndexedValue" value="ERROR" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDeclaratorNeverUsed/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppTypeAliasNeverUsed/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppConceptNeverUsed/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppClassNeverUsed/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnumeratorNeverUsed/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppLambdaCaptureNeverUsed/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppLocalVariableWithNonTrivialDtorIsNeverUsed/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppParameterNeverUsed/@EntryIndexedValue" value="HINT" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppTemplateParameterNeverUsed/@EntryIndexedValue" value="HINT" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEntityAssignedButNoRead/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEntityUsedOnlyInUnevaluatedContext/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppLocalVariableMightNotBeInitialized/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppObjectMemberMightNotBeInitialized/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppSomeObjectMembersMightNotBeInitialized/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDeclaratorUsedBeforeInitialization/@EntryIndexedValue" value="ERROR" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUnusedIncludeDirective/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppNotAllPathsReturnValue/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CDeclarationWithImplicitIntType/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppFunctionDoesntReturnValue/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppReturnNoValueInNonVoidFunction/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppCVQualifierCanNotBeAppliedToReference/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDereferenceOperatorLimitExceeded/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppForwardEnumDeclarationWithoutUnderlyingType/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUnmatchedPragmaRegionDirective/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUnmatchedPragmaEndRegionDirective/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppStaticDataMemberInUnnamedStruct/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDefaultIsUsedAsIdentifier/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppLongFloat/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMsExtReinterpretCastFromNullptr/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMsExtBindingRValueToLvalueReference/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMsExtAddressOfClassRValue/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMsExtDoubleUserConversionInCopyInit/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMsExtCopyElisionInCopyInitDeclarator/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMsExtNotInitializedStaticConstLocalVar/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRemoveRedundantBraces/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceIfStatementBraces/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceForStatementBraces/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceWhileStatementBraces/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceDoStatementBraces/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppWrongIncludesOrder/@EntryIndexedValue" value="HINT" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppWrongSlashesInIncludeDirective/@EntryIndexedValue" value="HINT" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceNestedNamespacesStyle/@EntryIndexedValue" value="HINT" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceTypeAliasCodeStyle/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceFunctionDeclarationStyle/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMemberInitializersOrder/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceOverridingFunctionStyle/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceOverridingDestructorStyle/@EntryIndexedValue" value="SUGGESTION" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseAuto/@EntryIndexedValue" value="HINT" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseAutoForNumeric/@EntryIndexedValue" value="HINT" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceCVQualifiersPlacement/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceCVQualifiersOrder/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUnnecessaryWhitespace/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppTabsAreDisallowed/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAConstantConditions/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFANullDereference/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFANotInitializedField/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFALoopConditionNotUpdated/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFADeletedPointer/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAMemoryLeak/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAInvalidatedMemory/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFALocalValueEscapesScope/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFALocalValueEscapesFunction/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAConstantParameter/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAConstantFunctionResult/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAArrayIndexOutOfBounds/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAUnreachableCode/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAUnreachableFunctionCall/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAEndlessLoop/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAInfiniteRecursion/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAUnusedValue/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAUnreadVariable/@EntryIndexedValue" value="WARNING" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFATimeOver/@EntryIndexedValue" value="HINT" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppInconsistentNaming/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=StringLiteralTypo/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CommentTypo/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=IdentifierTypo/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppSmartPointerVsMakeFunction/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppCStyleCast/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppFunctionalStyleCast/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppReinterpretCastFromVoidPtr/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppNonExplicitConvertingConstructor/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppNonExplicitConversionOperator/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDiscardedPostfixOperatorResult/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppConstValueFunctionReturnType/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMemberFunctionMayBeConst/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMemberFunctionMayBeStatic/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppLocalVariableMayBeConst/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppParameterMayBeConst/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppVariableCanBeMadeConstexpr/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppParameterMayBeConstPtrOrRef/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPassValueParameterByConstReference/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppThrowExpressionCanBeReplacedWithRethrow/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppZeroConstantCanBeReplacedWithNullptr/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppCompileTimeConstantCanBeReplacedWithBooleanConstant/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppIfCanBeReplacedByConstexprIf/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=IfStdIsConstantEvaluatedCanBeReplaced/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=StdIsConstantEvaluatedWillAlwaysEvaluateToConstant/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=ConstevalIfIsAlwaysConstant/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppClassCanBeFinal/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseStructuredBinding/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseTypeTraitAlias/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseAlgorithmWithCount/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseRangeAlgorithm/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseElementsView/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseStdSize/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppForLoopCanBeReplacedWithWhile/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppJoinDeclarationAndAssignment/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppReplaceTieWithStructuredBinding/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppReplaceMemsetWithZeroInitialization/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseAssociativeContains/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseEraseAlgorithm/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseFamiliarTemplateSyntaxForGenericLambdas/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppTooWideScope/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppTooWideScopeInitStatement/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantNamespaceDefinition/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppNonInlineFunctionDefinitionInHeaderFile/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppNonInlineVariableDefinitionInHeaderFile/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppFunctionIsNotImplemented/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPrivateSpecialMemberFunctionIsNotImplemented/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppHiddenFunction/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppHidingFunction/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPolymorphicClassWithNonVirtualPublicDestructor/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppAbstractClassWithoutSpecifier/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppIncompleteSwitchStatement/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDefaultCaseNotHandledInSwitchStatement/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPossiblyErroneousEmptyStatements/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppExpressionWithoutSideEffects/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppNoDiscardExpression/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppFunctionResultShouldBeUsed/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMissingKeywordThrow/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDependentTypeWithoutTypenameKeyword/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDependentTemplateWithoutTemplateKeyword/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppImplicitDefaultConstructorNotAvailable/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppClassNeedsConstructorBecauseOfUninitializedMember/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUninitializedNonStaticDataMember/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRangeBasedForIncompatibleReference/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppZeroValuedExpressionUsedAsNullPointer/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPossiblyUnintendedObjectSlicing/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPossiblyUninitializedMember/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDeclaratorDisambiguatedAsFunction/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppVirtualFunctionInFinalClass/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMustBePublicVirtualToImplementInterface/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDeclarationSpecifierWithoutDeclarators/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEmptyDeclaration/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDeclarationHidesLocal/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDeclarationHidesUncapturedLocal/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMismatchedClassTags/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUsingResultOfAssignmentAsCondition/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppIntegralToPointerConversion/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPointerToIntegralConversion/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppIncompatiblePointerConversion/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPointerConversionDropsQualifiers/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppStringLiteralToCharPointerConversion/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppNonExceptionSafeResourceAcquisition/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppVirtualFunctionCallInsideCtor/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppAbstractVirtualFunctionCallInCtor/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppInvalidLineContinuation/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPrintfBadFormat/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPrintfRiskyFormat/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPrintfMissedArg/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPrintfExtraArg/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppBoostFormatBadCode/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppBoostFormatLegacyCode/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppBoostFormatMixedArgs/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppBoostFormatTooFewArgs/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppBoostFormatTooManyArgs/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDeprecatedEntity/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMissingIncludeGuard/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDoxygenSyntaxError/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDoxygenUnresolvedReference/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDoxygenUndocumentedParameter/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDeletingVoidPointer/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppBooleanIncrementExpression/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDeprecatedRegisterStorageClassSpecifier/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppIdenticalOperandsInBinaryExpression/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEqualOperandsInBinaryExpression/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedefinitionOfDefaultArgumentInOverrideFunction/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUnnamedNamespaceInHeaderFile/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppParameterNamesMismatch/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDefaultedSpecialMemberFunctionIsImplicitlyDeleted/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppNodiscardFunctionWithoutReturnValue/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantComplexityInComparison/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppAbstractFinalClass/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppSpecialFunctionWithoutNoexceptSpecification/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUnsignedZeroComparison/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMultiCharacterLiteral/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMultiCharacterWideLiteral/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantQualifier/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantAccessSpecifier/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppAccessSpecifierWithNoDeclarations/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantTypenameKeyword/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantTemplateKeyword/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantElseKeyword/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantElseKeywordInsideCompoundStatement/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantControlFlowJump/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantEmptyStatement/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantEmptyDeclaration/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantParentheses/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantLambdaParameterList/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantCastExpression/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppHeaderHasBeenAlreadyIncluded/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppTemplateArgumentsCanBeDeduced/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantTemplateArguments/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppStaticSpecifierOnAnonymousNamespaceMember/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantStaticSpecifierOnMemberAllocationFunction/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantStaticSpecifierOnThreadLocalLocalVariable/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantBaseClassAccessSpecifier/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantInlineSpecifier/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantConstSpecifier/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantBooleanExpressionArgument/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantVoidArgumentList/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantMemberInitializer/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantBaseClassInitializer/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppConstParameterInDeclaration/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppVolatileParameterInDeclaration/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppFinalFunctionInFinalClass/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppFinalNonOverridingVirtualFunction/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantElaboratedTypeSpecifier/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantDereferencingAndTakingAddress/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantConditionalExpression/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppConditionalExpressionCanBeSimplified/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantExportKeyword/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantZeroInitializerInAggregateInitialization/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUserDefinedLiteralSuffixDoesNotStartWithUnderscore/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppClassIsIncomplete/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppTemplateParameterShadowing/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMutableSpecifierOnReferenceMember/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDefaultInitializationWithNoUserConstructor/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppExplicitSpecializationInNonNamespaceScope/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUnionMemberOfReferenceType/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUninitializedDependentBaseClass/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPrecompiledHeaderIsNotIncluded/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPrecompiledHeaderNotFound/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppCoroutineCallResolveError/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppAwaiterTypeIsNotClass/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppOutParameterMustBeWritten/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppWarningDirective/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppStaticAssertFailure/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEvaluationFailure/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDeclaratorNeverUsed/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppTypeAliasNeverUsed/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppConceptNeverUsed/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppClassNeverUsed/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnumeratorNeverUsed/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppLambdaCaptureNeverUsed/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppLocalVariableWithNonTrivialDtorIsNeverUsed/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppParameterNeverUsed/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppTemplateParameterNeverUsed/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEntityAssignedButNoRead/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEntityUsedOnlyInUnevaluatedContext/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppLocalVariableMightNotBeInitialized/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppObjectMemberMightNotBeInitialized/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppSomeObjectMembersMightNotBeInitialized/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDeclaratorUsedBeforeInitialization/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUnusedIncludeDirective/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppNotAllPathsReturnValue/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CDeclarationWithImplicitIntType/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppFunctionDoesntReturnValue/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppReturnNoValueInNonVoidFunction/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppCVQualifierCanNotBeAppliedToReference/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDereferenceOperatorLimitExceeded/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppForwardEnumDeclarationWithoutUnderlyingType/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUnmatchedPragmaRegionDirective/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUnmatchedPragmaEndRegionDirective/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppStaticDataMemberInUnnamedStruct/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDefaultIsUsedAsIdentifier/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppLongFloat/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMsExtReinterpretCastFromNullptr/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMsExtBindingRValueToLvalueReference/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMsExtAddressOfClassRValue/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMsExtDoubleUserConversionInCopyInit/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMsExtCopyElisionInCopyInitDeclarator/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMsExtNotInitializedStaticConstLocalVar/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRemoveRedundantBraces/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceIfStatementBraces/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceForStatementBraces/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceWhileStatementBraces/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceDoStatementBraces/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppWrongIncludesOrder/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppWrongSlashesInIncludeDirective/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceNestedNamespacesStyle/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceTypeAliasCodeStyle/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceFunctionDeclarationStyle/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMemberInitializersOrder/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceOverridingFunctionStyle/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceOverridingDestructorStyle/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseAuto/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseAutoForNumeric/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceCVQualifiersPlacement/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceCVQualifiersOrder/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUnnecessaryWhitespace/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppTabsAreDisallowed/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAConstantConditions/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFANullDereference/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFANotInitializedField/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFALoopConditionNotUpdated/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFADeletedPointer/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAMemoryLeak/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAInvalidatedMemory/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFALocalValueEscapesScope/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFALocalValueEscapesFunction/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAConstantParameter/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAConstantFunctionResult/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAArrayIndexOutOfBounds/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAUnreachableCode/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAUnreachableFunctionCall/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAEndlessLoop/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAInfiniteRecursion/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAUnusedValue/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAUnreadVariable/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFATimeOver/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppInconsistentNaming/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=StringLiteralTypo/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CommentTypo/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=IdentifierTypo/@EntryIndexRemoved" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/TYPE_DECLARATION_BRACES/@EntryValue" value="END_OF_LINE" type="string" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/WRAP_AFTER_BINARY_OPSIGN/@EntryValue" value="true" type="bool" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/WRAP_AFTER_DECLARATION_LPAR/@EntryValue" value="false" type="bool" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/WRAP_AFTER_INVOCATION_LPAR/@EntryValue" value="false" type="bool" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/WRAP_ARGUMENTS_STYLE/@EntryValue" value="WRAP_IF_LONG" type="string" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/WRAP_BEFORE_DECLARATION_LPAR/@EntryValue" value="false" type="bool" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/WRAP_BEFORE_DECLARATION_RPAR/@EntryValue" value="false" type="bool" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/WRAP_BEFORE_INVOCATION_LPAR/@EntryValue" value="false" type="bool" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/WRAP_BEFORE_INVOCATION_RPAR/@EntryValue" value="false" type="bool" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/WRAP_BEFORE_TERNARY_OPSIGNS/@EntryValue" value="true" type="bool" />
|
||||
<option name="/Default/CodeStyle/CodeFormatting/CppFormatting/WRAP_PARAMETERS_STYLE/@EntryValue" value="WRAP_IF_LONG" type="string" />
|
||||
<option name="/Default/CodeStyle/EditorConfig/EnableClangFormatSupport/@EntryValue" value="false" type="bool" />
|
||||
</component>
|
||||
</project>
|
||||
|
|
@ -4,5 +4,8 @@
|
|||
<option name="pythonIntegrationState" value="YES" />
|
||||
</component>
|
||||
<component name="CMakeWorkspace" PROJECT_DIR="$PROJECT_DIR$" />
|
||||
<component name="WestSettings"><![CDATA[{}]]></component>
|
||||
<component name="JavaScriptSettings">
|
||||
<option name="languageLevel" value="FLOW" />
|
||||
</component>
|
||||
<component name="WestSettings">{}</component>
|
||||
</project>
|
||||
8
.idea/modules.xml
Normal file
8
.idea/modules.xml
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectModuleManager">
|
||||
<modules>
|
||||
<module fileurl="file://$PROJECT_DIR$/.idea/stremio-desktop-v5.iml" filepath="$PROJECT_DIR$/.idea/stremio-desktop-v5.iml" />
|
||||
</modules>
|
||||
</component>
|
||||
</project>
|
||||
|
|
@ -1,24 +1,32 @@
|
|||
cmake_minimum_required(VERSION 3.16)
|
||||
|
||||
project(stremio VERSION "5.0.14")
|
||||
project(stremio VERSION "5.0.21")
|
||||
|
||||
set(CMAKE_CXX_STANDARD 20)
|
||||
set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>")
|
||||
|
||||
option(DEBUG_LOG "Allow debug logs" ON)
|
||||
|
||||
# Locate MPV
|
||||
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
|
||||
# 64-bit architecture
|
||||
set(MPV_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/deps/libmpv/x86_64/include")
|
||||
set(MPV_LIBRARY "${CMAKE_CURRENT_SOURCE_DIR}/deps/libmpv/x86_64/mpv.lib")
|
||||
set(MPV_DLL "${CMAKE_CURRENT_SOURCE_DIR}/deps/libmpv/x86_64/libmpv-2.dll")
|
||||
|
||||
set(DISCORD_LIB "${CMAKE_CURRENT_SOURCE_DIR}/deps/discord-rpc/win64-static/lib/discord-rpc.lib")
|
||||
set(DISCORD_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/deps/discord-rpc/win64-static/include")
|
||||
else()
|
||||
# 32-bit architecture
|
||||
set(MPV_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/deps/libmpv/i686/include")
|
||||
set(MPV_LIBRARY "${CMAKE_CURRENT_SOURCE_DIR}/deps/libmpv/i686/mpv.lib")
|
||||
set(MPV_DLL "${CMAKE_CURRENT_SOURCE_DIR}/deps/libmpv/i686/libmpv-2.dll")
|
||||
|
||||
set(DISCORD_LIB "${CMAKE_CURRENT_SOURCE_DIR}/deps/discord-rpc/win32-static/lib/discord-rpc.lib")
|
||||
set(DISCORD_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/deps/discord-rpc/win32-static/include")
|
||||
endif()
|
||||
|
||||
|
||||
include_directories(${DISCORD_INCLUDE_DIR})
|
||||
include_directories(${MPV_INCLUDE_DIR})
|
||||
|
||||
find_package(OpenSSL REQUIRED)
|
||||
|
|
@ -52,6 +60,10 @@ set(SOURCES
|
|||
src/ui/mainwindow.h
|
||||
src/ui/mainwindow.cpp
|
||||
src/resource.h
|
||||
src/utils/extensions.cpp
|
||||
src/utils/extensions.h
|
||||
src/utils/discord.cpp
|
||||
src/utils/discord.h
|
||||
)
|
||||
|
||||
add_executable(${PROJECT_NAME} WIN32 ${SOURCES})
|
||||
|
|
@ -62,15 +74,18 @@ target_link_libraries(${PROJECT_NAME} PRIVATE
|
|||
dwmapi.lib
|
||||
Shcore.lib
|
||||
Msimg32.lib
|
||||
winhttp.lib
|
||||
shlwapi.lib
|
||||
nlohmann_json::nlohmann_json
|
||||
unofficial::webview2::webview2
|
||||
OpenSSL::SSL
|
||||
OpenSSL::Crypto
|
||||
CURL::libcurl
|
||||
${MPV_LIBRARY}
|
||||
${DISCORD_LIB}
|
||||
)
|
||||
|
||||
target_compile_definitions(${PROJECT_NAME} PRIVATE $<$<CONFIG:Debug>:DEBUG_BUILD>)
|
||||
target_compile_definitions(${PROJECT_NAME} PRIVATE DEBUG_LOG)
|
||||
|
||||
# Copy MPV DLL
|
||||
add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD
|
||||
|
|
|
|||
139
README.md
139
README.md
|
|
@ -40,8 +40,12 @@
|
|||
<li>🔊 <strong>Dolby Atmos Support</strong>: Support for all mpv advanced audio features.</li>
|
||||
<li>🖼️ <strong>Picture in Picture</strong>: Picture in Picture Mode Support</li>
|
||||
<li>🌑 <strong>Dark Mode</strong>: Windows Dark mode support</li>
|
||||
<li>💬 <strong>Discord Rich Presence</strong>: Show what you're watching in real-time on your Discord profile</li>
|
||||
<li>🖼️ <strong>Thumbnail Preview</strong>: ThumbFast support to allow for preview thumbnails when seeking</li>
|
||||
<li>📁 <strong>Local File Playback</strong>: Play any file MPV and ffmpeg supports, just use <strong>open with</strong> 'stremio' or <strong>drag and drop</strong></li>
|
||||
<li>🔡 <strong>Local Subtitles</strong>: Add any Subtitle file using drag and drop while playing a video</li>
|
||||
<li>🎨 <strong>Advanced Subtitles Styles</strong>: Style subtitles any way you like using <strong>mpv configuration</strong></li>
|
||||
<li>📌 <strong>Advanced Auto Selection</strong>: Select multiple default Subtitle, Audio tracks as well as Subtitle Keywords to prioritize and filter out unwanted languages</li>
|
||||
<li>🌀 <strong>Torrent Support</strong>: Play any local .torrent file or any magnet: link</li>
|
||||
<li>📺 <strong>Chromecast Support</strong>: Cast Videos to your Chromecast</li>
|
||||
<li>➕ <strong>Easy Addon Install</strong>: Just use the install Button like stremio v4, no need to copy paste urls</li>
|
||||
|
|
@ -62,16 +66,6 @@
|
|||
|
||||
- A side-by-side visual comparison of various features and enhancements in Stremio Desktop v5. Due to this being screenshots, HDR appears over-exposed.
|
||||
|
||||
<p align="center">
|
||||
<strong>HDR Comparison</strong>
|
||||
</p>
|
||||
<p align="center">
|
||||
<img src="https://i.imgur.com/ezh2YIa.png" alt="Stremio Web Desktop Screenshot" width="600" />
|
||||
</p>
|
||||
<p align="center">
|
||||
<small><i>Stremio Desktop v5 vs Official Stremio v5.</i></small>
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<strong>Upscaler Comparison</strong>
|
||||
</p>
|
||||
|
|
@ -79,7 +73,7 @@
|
|||
<img src="https://i.imgur.com/rLTmFC2.png" alt="Stremio Web Desktop Screenshot" width="600" />
|
||||
</p>
|
||||
<p align="center">
|
||||
<small><i>Anime4k + Auto HDR vs Offical Stremio v5.</i></small>
|
||||
<small><i>Anime4k + Auto HDR vs Official Stremio v5.</i></small>
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
|
|
@ -92,15 +86,34 @@
|
|||
<small><i>Best on local files using thumbfast. Size can be adjusted.</i></small>
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<strong>Discord Rich Presence</strong>
|
||||
</p>
|
||||
<p align="center">
|
||||
<img src="https://i.imgur.com/V5YgSSx.png" alt="Discord Rich Presence Example"/>
|
||||
</p>
|
||||
<p align="center">
|
||||
<small><i>Live activity like Discovering, Watching, or Paused updates in real-time.</i></small>
|
||||
</p>
|
||||
|
||||
|
||||
## 🔧 Installation
|
||||
|
||||
1. 🪟 **Windows x64 and x86**
|
||||
1. 📥 **Installer**
|
||||
1. 📥 **Installer (Recommended)**
|
||||
- **Install using the** `Installer`. Download `stremio-5.0.0-x64.exe` or `stremio-5.0.0-x86.exe` and run it.
|
||||
2. 💼 **Portable Version**
|
||||
- **Install using the** `Archive`. Download `stremio-5.0.0-x64.7z` or `stremio-5.0.0-x86.7z` extract it and run `stremio.exe`
|
||||
3. 🥄 **Scoop.sh**
|
||||
3. 📦 **Winget**
|
||||
```shell
|
||||
# Install
|
||||
winget install Zaarrg.StremioCommunity
|
||||
# Update
|
||||
winget upgrade Zaarrg.StremioCommunity
|
||||
# Uninstall
|
||||
winget uninstall Zaarrg.StremioCommunity
|
||||
```
|
||||
4. 🥄 **Scoop.sh**
|
||||
```shell
|
||||
# Install
|
||||
scoop bucket add zarg https://github.com/zaarrg/scoop
|
||||
|
|
@ -111,8 +124,9 @@
|
|||
# Uninstall
|
||||
scoop uninstall stremio-desktop-v5
|
||||
```
|
||||
4. 🍫 **Chocolatey**
|
||||
5. ~~🍫 **Chocolatey**~~
|
||||
```shell
|
||||
⚠️ Note: Chocolatey is not updated use scoop or a other installation method!
|
||||
# Install
|
||||
choco install stremio-desktop-v5 -y
|
||||
# Update
|
||||
|
|
@ -120,14 +134,14 @@
|
|||
# Uninstall
|
||||
choco uninstall stremio-desktop-v5 -y
|
||||
```
|
||||
|
||||
|
||||
|
||||
> **⏳ Note:** If you have stremio-desktop v4.x.x installed make sure to uninstall it first. Otherwise there might be issues.
|
||||
|
||||
2. 🚀 **Linux, macOS**
|
||||
- Coming soon!
|
||||
|
||||
> **⏳ Note:** Linux and Mac release will take considerable time as they need their own build with os specific technology's
|
||||
> **⏳ Note:** Linux and Mac release will take considerable time as they need their own build with OS specific technologies
|
||||
|
||||
## 🔍 **Mpv Upscalers**
|
||||
|
||||
|
|
@ -138,7 +152,7 @@
|
|||
|
||||
- 🎨 **[AnimeJaNai](https://github.com/the-database/mpv-upscale-2x_animejanai)**
|
||||
- ❌ Not included by default.
|
||||
- 📥 Download from the **Stremio-Desktop-v5** [release tab](https://github.com/Zaarrg/stremio-desktop-v5/releases/5.0.0-beta.7) the `stremio-animejanai-3.x.x.7z` for Stremio and drop the content of the 7z into `%localAppData%\Programs\LNV\Stremio-5\` and `replace all`
|
||||
- 📥 Download from the **Stremio-Desktop-v5** [release tab](https://github.com/Zaarrg/stremio-community-v5/releases/tag/5.0.0-beta.20) the `stremio-animejanai-3.x.x.7z.001` and `stremio-animejanai-3.x.x.7z.002` for Stremio and drop the content of the 7z into `%localAppData%\Programs\LNV\Stremio-5\` and `replace all`
|
||||
- 🛠️ **Changes made:**
|
||||
- Removed `mpvnet.exe` as Stremio is used as the player.
|
||||
- Adjusted `mpv.conf` to work with Stremio.
|
||||
|
|
@ -150,6 +164,8 @@
|
|||
- 🔢 `SHIFT+1` - `SHIFT+3` Select Quality, Balanced or Performance Profiles
|
||||
- ⚙️ `CTRL+1` - `CTRL+9` Switch between Custom Profiles
|
||||
- 🔗 For more, check [AnimeJaNai](https://github.com/the-database/mpv-upscale-2x_animejanai)
|
||||
- 📺 **Installation Guide**
|
||||
- See: [AnimeJaNai – Youtube Installation Guide](https://www.youtube.com/watch?v=ZlPJ-M3kkdM)
|
||||
|
||||
> **⏳ Note:** When using AnimeJaNai on first playback Stremio will be unresponsive and a console will open to build the model via e.g. TensorRT. You will need to wait until the console closes for playback to start. This happens only once per model.
|
||||
|
||||
|
|
@ -161,7 +177,7 @@
|
|||
## 🔍 **Mpv Addons**
|
||||
|
||||
- 🎥 **[ThumbFast](https://github.com/po5/thumbfast)**
|
||||
- 🔧 Go in the `Stremio-Dekstop-v5` Repo to ``utils/mpv/thumbfast`` or [direct-link](https://github.com/Zaarrg/stremio-desktop-v5/tree/webview-windows/utils/mpv/thumbfast) and download ``thumbfast.7z``. Drag and Drop the archive contents into ``%localAppData%\Programs\LNV\Stremio-5``
|
||||
- 🔧 Go in the `Stremio-Desktop-v5` Repo to ``utils/mpv/thumbfast`` or [direct-link](https://github.com/Zaarrg/stremio-desktop-v5/tree/webview-windows/utils/mpv/thumbfast) and download ``thumbfast.7z``. Drag and Drop the archive contents into ``%localAppData%\Programs\LNV\Stremio-5``
|
||||
- 📁 Works best with local files as there is no **network bottleneck**. U can `Drag and Drop` any local file into **Stremio** or right click ``Open With > Stremio``
|
||||
|
||||
> **⏳ Note:** For more details visit [mpv-portable-configs](https://github.com/Zaarrg/stremio-desktop-v5/blob/webview-windows/utils/mpv/README.md)
|
||||
|
|
@ -176,11 +192,12 @@
|
|||
- Add any Browser Extension to Stremio by dropping the ``unpacked`` Extension into ``portable_config/extensions``
|
||||
- On Start Extensions from ``portable_config/extensions`` are loaded.
|
||||
- 👉 **To install extension:**
|
||||
1. Get the ``unpacked`` Extensions from``%localAppData%\Microsoft\Edge SxS\User Data\Default\Extensions``.
|
||||
1. Get the ``unpacked`` Extensions from``%localAppData%\Microsoft\Edge\User Data\Default\Extensions``.
|
||||
2. Here look for the `mainfest.json` for example ublock `{string-id}/1.62.0_0/manifest.json` as all the content beside is the extension
|
||||
3. Now we can copy the contents of ``{string-id}/1.62.0_0`` to ``%localAppData%\Programs\LNV\Stremio-5\portable_config\extensions\ublock``
|
||||
4. Important is that the ``mainfest.json`` is located directly in ``portable_config\extensions\ublock``
|
||||
5. **Done**. Restart app and addons will be loaded. If loading fails check ``portable_config\errors-{date}.txt``
|
||||
- **Supported Extensions**: Some extension need support added manually. These extension can be downloaded [here](https://github.com/Zaarrg/stremio-desktop-v5/tree/webview-windows/extensions).
|
||||
|
||||
- ⚙️ **App Settings**
|
||||
- **All App Settings** can be adjusted with ``portable_config\stremio-settings.ini``
|
||||
|
|
@ -194,13 +211,31 @@
|
|||
- 🔍 ``AllowZoom`` Allow zoom via `pinch action` or ``CTRL+Scroll``
|
||||
|
||||
- ❌ **App Errors**
|
||||
- If the app does not start and instantly closes, check the error log in ``portable_config\errors-{date}.txt``
|
||||
- ⚠️ **Common Issues**
|
||||
- ❗ [WebView2](https://developer.microsoft.com/de-de/microsoft-edge/webview2/#download) not installed – Installed by default using the installer but may have failed
|
||||
- 🌎 Unreachable Web UI. Make sure you can reach the web ui hosted [here](https://zaarrg.github.io/stremio-web-shell-fixes/).
|
||||
- ⚙️ Invalid MPV configuration like ``mpv.conf``, ``input.conf`` or ``scripts``
|
||||
- 📄 Invalid ``stremio-settings.ini``
|
||||
- 🧩 Invalid ``extensions``
|
||||
- If the app does not start and instantly closes, check the error log in ``portable_config\errors-{date}.txt``
|
||||
* ⚠️ **Common Issues**
|
||||
* ❗ **WebView2 not available**
|
||||
* The **installer** requires [WebView2](https://developer.microsoft.com/de-de/microsoft-edge/webview2/#download) to be installed.
|
||||
* The **portable version** includes its own WebView2 runtime and does **not** require system installation.
|
||||
* If a WebView-related error appears, install WebView2 or use the portable build.
|
||||
* 🌎 **Unreachable Web UI**
|
||||
The app loads the UI in the following order:
|
||||
1. [https://stremio.zarg.me/](https://stremio.zarg.me/)
|
||||
2. [https://zaarrg.github.io/stremio-web-shell-fixes/](https://zaarrg.github.io/stremio-web-shell-fixes/)
|
||||
3. [https://web.stremio.com/](https://web.stremio.com/)
|
||||
* If the UI appears stuck, press **F5** to reload.
|
||||
* If the cached UI is outdated, use **Ctrl+F5** to clear cache and reload.
|
||||
* ⚙️ **Invalid MPV configuration**
|
||||
Invalid or unsupported config in `mpv.conf`, `input.conf`, or `scripts/` may prevent MPV from initializing.
|
||||
* 📄 **Invalid `stremio-settings.ini`**
|
||||
A default configuration is available:
|
||||
[stremio-settings.ini](https://github.com/Zaarrg/stremio-desktop-v5/blob/webview-windows/utils/stremio/stremio-settings.ini)
|
||||
* If corrupted, delete the file to let the app regenerate it.
|
||||
* 🧩 **Invalid or incompatible extensions**
|
||||
Extensions under `portable_config/extensions` may prevent startup.
|
||||
* **uBlock** or similar blockers can cause infinite loading loops → remove them (see *Browser Extensions* section above).
|
||||
* 🔁 **Server not running after sleep / incomplete restart**
|
||||
If the PC went to sleep, the internal stremio server stops.
|
||||
* Fully close the app via **Task Manager** and restart it.
|
||||
|
||||
> **⏳ Note:** A default stremio-settings.ini can be found [here](https://github.com/Zaarrg/stremio-desktop-v5/blob/webview-windows/utils/stremio/stremio-settings.ini)
|
||||
|
||||
|
|
@ -212,6 +247,7 @@ Enhance your Stremio experience by customizing the MPV player settings. Below ar
|
|||
- The ``mpv.conf`` file can be found in the following location:
|
||||
- **Installation Path:** ``%localAppData%\Programs\LNV\Stremio-5\portable_config\mpv.conf``
|
||||
- **Shaders Folder:** Located within the installation directory ``..\Stremio-5\portable_config\shaders``.
|
||||
- **Latest Portable Config:** Latest portable config can be found [here](https://raw.githubusercontent.com/Zaarrg/stremio-desktop-v5/webview-windows/utils/mpv/Default%20Portable%20Config.7z).
|
||||
|
||||
- **🎹 Usage example of `mpv.conf` for DV Content:**
|
||||
```shell
|
||||
|
|
@ -232,11 +268,48 @@ Enhance your Stremio experience by customizing the MPV player settings. Below ar
|
|||
CTRL+4 no-osd change-list glsl-shaders set "~~/shaders/Anime4K_Clamp_Highlights.glsl;~~/shaders/Anime4K_Restore_CNN_VL.glsl;~~/shaders/Anime4K_Upscale_CNN_x2_VL.glsl;~~/shaders/Anime4K_Restore_CNN_M.glsl;~~/shaders/Anime4K_AutoDownscalePre_x2.glsl;~~/shaders/Anime4K_AutoDownscalePre_x4.glsl;~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl"; show-text "Anime4K: Mode A+A (HQ)"
|
||||
CTRL+5 no-osd change-list glsl-shaders set "~~/shaders/Anime4K_Clamp_Highlights.glsl;~~/shaders/Anime4K_Restore_CNN_Soft_VL.glsl;~~/shaders/Anime4K_Upscale_CNN_x2_VL.glsl;~~/shaders/Anime4K_AutoDownscalePre_x2.glsl;~~/shaders/Anime4K_AutoDownscalePre_x4.glsl;~~/shaders/Anime4K_Restore_CNN_Soft_M.glsl;~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl"; show-text "Anime4K: Mode B+B (HQ)"
|
||||
CTRL+6 no-osd change-list glsl-shaders set "~~/shaders/Anime4K_Clamp_Highlights.glsl;~~/shaders/Anime4K_Upscale_Denoise_CNN_x2_VL.glsl;~~/shaders/Anime4K_AutoDownscalePre_x2.glsl;~~/shaders/Anime4K_AutoDownscalePre_x4.glsl;~~/shaders/Anime4K_Restore_CNN_M.glsl;~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl"; show-text "Anime4K: Mode C+A (HQ)"
|
||||
|
||||
|
||||
CTRL+0 no-osd change-list glsl-shaders clr ""; show-text "GLSL shaders cleared"
|
||||
```
|
||||
> **⏳ Note:** Some keys might not work as key presses are converted from js event.codes to literal values for mpv
|
||||
|
||||
- **🔡 Subtitle Customization:**
|
||||
- Subtitles can be full customized in the ``mpv.conf`` by adding the following:
|
||||
```shell
|
||||
# Adjust as needed -
|
||||
sub-font="Comic Sans MS"
|
||||
osd-font="Comic Sans MS"
|
||||
osd-font-size=43
|
||||
sub-font-size=43
|
||||
sub-color=#e1fe00
|
||||
sub-font-size=43
|
||||
sub-color=#ffffff
|
||||
sub-font-size=43
|
||||
sub-border-color=#000000
|
||||
sub-border-size=2
|
||||
sub-shadow-offset=1
|
||||
sub-shadow-color=#000000
|
||||
sub-spacing=0
|
||||
sub-margin-y=41
|
||||
sub-line-spacing=0
|
||||
ass-line-spacing=0
|
||||
# To overwrite .ass subs use sub-ass=no or just use F2 to cycle subtitle modification levels
|
||||
```
|
||||
- Stremio by default overwrites the following:
|
||||
```shell
|
||||
# These 3 options are set using the web ui under the settings page
|
||||
'subtitlesTextColor': 'sub-color',
|
||||
'subtitlesBackgroundColor': 'sub-back-color',
|
||||
'subtitlesOutlineColor': 'sub-border-color',
|
||||
|
||||
# Affected mpv sub settings by this are:
|
||||
sub-color
|
||||
sub-back-color # + Alias sub-shadow-color
|
||||
sub-border-color # + Alias sub-outline-color
|
||||
|
||||
# All these need to be set via the web ui instead
|
||||
```
|
||||
|
||||
## ⚙️ **Start Arguments**
|
||||
Use these extra arguments when launching the application:
|
||||
|
||||
|
|
@ -255,9 +328,19 @@ If you want to build this app yourself, check the “[docs](https://github.com/Z
|
|||
## ⚠️ **Disclaimer**
|
||||
This project is not affiliated with **Stremio** in any way.
|
||||
|
||||
This fork is provided solely for educational and lawful use. **It does not support piracy or any form of copyright infringement.**
|
||||
It is the user’s responsibility to ensure that any content accessed is fully compliant with the DMCA and all applicable copyright laws.
|
||||
The project maintainers do not condone or support any illegal activities.
|
||||
|
||||
## 🤝 **Support Development**
|
||||
If you enjoy this project and want to support further development, consider [buying me a coffee](https://ko-fi.com/zaarrg). Your support means a lot! ☕
|
||||
|
||||
<p align="center">
|
||||
<a href="https://ko-fi.com/zaarrg">
|
||||
<img src="https://img.shields.io/badge/Support%20me%20on%20Ko--fi-grey?style=for-the-badge&logo=ko-fi&logoColor=white" alt="Support me on Ko-fi">
|
||||
</a>
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<strong>⭐ Made with ❤️ by <a href="https://github.com/Zaarrg">Zaarrg</a> ⭐</strong>
|
||||
</p>
|
||||
</p>
|
||||
|
|
|
|||
|
|
@ -235,27 +235,52 @@ function find7zExecutable() {
|
|||
const version = releaseJson.tag_name || 'latest';
|
||||
console.log(`Latest version: ${version}`);
|
||||
|
||||
// Step 2: Find the 'full-package' .7z asset
|
||||
const assets = releaseJson.assets;
|
||||
const fullPackageAsset = assets.find(asset => asset.name.includes('full-package') && asset.name.endsWith('.7z'));
|
||||
// Step 2: Locate and download the 'full-package' asset(s) (single or multi-part)
|
||||
const assets = releaseJson.assets || [];
|
||||
const fullPackageCandidates = assets.filter(a =>
|
||||
a.name.includes('full-package') &&
|
||||
(a.name.endsWith('.7z') || /\.7z\.\d+$/.test(a.name))
|
||||
);
|
||||
|
||||
if (!fullPackageAsset) {
|
||||
throw new Error("No 'full-package' .7z asset found in the latest release.");
|
||||
if (fullPackageCandidates.length === 0) {
|
||||
throw new Error("No 'full-package' .7z or .7z.NNN assets found in the latest release.");
|
||||
}
|
||||
|
||||
const downloadUrl = fullPackageAsset.browser_download_url;
|
||||
const assetName = fullPackageAsset.name;
|
||||
const downloadedFilePath = path.join(TEMP_DIR, assetName);
|
||||
// Group by base name (strip .7z or .7z.NNN)
|
||||
const groups = fullPackageCandidates.reduce((acc, a) => {
|
||||
const base = a.name.replace(/\.7z(\.\d+)?$/, '');
|
||||
(acc[base] ||= []).push(a);
|
||||
return acc;
|
||||
}, {});
|
||||
|
||||
console.log(`Downloading asset: ${assetName}`);
|
||||
await downloadFile(downloadUrl, downloadedFilePath);
|
||||
console.log(`Downloaded to ${downloadedFilePath}`);
|
||||
// Pick the group with the most parts (typically only one group exists in a release)
|
||||
const [selectedBase, selectedGroup] = Object.entries(groups)
|
||||
.sort((a, b) => b[1].length - a[1].length)[0];
|
||||
|
||||
// Step 3: Extract the .7z archive
|
||||
// Sort deterministically: .7z (treated like part 0) or .7z.001, .002, ...
|
||||
const sortedAssets = selectedGroup.slice().sort((a, b) => {
|
||||
const pa = (/\.7z\.(\d+)$/.exec(a.name)?.[1]) ? parseInt(/\.7z\.(\d+)$/.exec(a.name)[1], 10) : 0;
|
||||
const pb = (/\.7z\.(\d+)$/.exec(b.name)?.[1]) ? parseInt(/\.7z\.(\d+)$/.exec(b.name)[1], 10) : 0;
|
||||
return pa - pb;
|
||||
});
|
||||
|
||||
// Download all parts into TEMP_DIR
|
||||
const downloadedParts = [];
|
||||
for (const asset of sortedAssets) {
|
||||
const dest = path.join(TEMP_DIR, asset.name);
|
||||
console.log(`Downloading asset: ${asset.name}`);
|
||||
await downloadFile(asset.browser_download_url, dest);
|
||||
downloadedParts.push(dest);
|
||||
}
|
||||
|
||||
// For extraction: if multipart, 7-Zip expects we point at the .7z.001; if single, the .7z file itself
|
||||
const archiveToExtract = downloadedParts[0];
|
||||
|
||||
// Step 3: Extract the archive (7-Zip will auto-detect and read all parts if .001 is used)
|
||||
const extractDir = path.join(TEMP_DIR, 'extracted');
|
||||
fs.mkdirSync(extractDir, { recursive: true });
|
||||
console.log(`Extracting ${downloadedFilePath} to ${extractDir}...`);
|
||||
execCommand(`${sevenZipPath} x "${downloadedFilePath}" -o"${extractDir}" -y`, TEMP_DIR);
|
||||
console.log(`Extracting ${path.basename(archiveToExtract)} to ${extractDir}...`);
|
||||
execCommand(`${sevenZipPath} x "${archiveToExtract}" -o"${extractDir}" -y`, TEMP_DIR);
|
||||
console.log('Extraction complete.');
|
||||
|
||||
// Step 4: Identify the root directory inside the extracted folder
|
||||
|
|
@ -346,7 +371,7 @@ function find7zExecutable() {
|
|||
console.log('Cleanup complete.');
|
||||
|
||||
console.log('=== Build AnimeJaNai Script Completed Successfully ===');
|
||||
process.exit(1);
|
||||
process.exit(0);
|
||||
} catch (error) {
|
||||
console.error('Error during build:', error.message);
|
||||
process.exit(1);
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ const DEFAULT_SETTINGS_FOLDER = path.join(SOURCE_DIR, 'utils', 'stremio');
|
|||
const DEFAULT_NSIS = 'C:\\Program Files (x86)\\NSIS\\makensis.exe';
|
||||
//VCPKG
|
||||
const VCPKG_TRIPLET = ARCH === 'x86' ? 'x86-windows-static' : 'x64-windows-static';
|
||||
const VCPKG_CMAKE = 'C:/bin/vcpkg/scripts/buildsystems/vcpkg.cmake';
|
||||
const VCPKG_CMAKE = 'G:\\Documents\\Github\\vcpkg\\scripts\\buildsystems\\vcpkg.cmake';
|
||||
|
||||
// ---------------------------------------------------------------------
|
||||
// Main
|
||||
|
|
@ -48,16 +48,17 @@ const VCPKG_CMAKE = 'C:/bin/vcpkg/scripts/buildsystems/vcpkg.cmake';
|
|||
const args = process.argv.slice(2);
|
||||
const buildInstaller = args.includes('--installer');
|
||||
const buildPortable = args.includes('--portable');
|
||||
const debugBuild = args.includes('--debug');
|
||||
|
||||
// 3) Run CMake + Ninja in ../cmake-build-release (64-bit)
|
||||
if (!fs.existsSync(BUILD_DIR)) {
|
||||
fs.mkdirSync(BUILD_DIR, { recursive: true });
|
||||
}
|
||||
|
||||
console.log('\n=== Running CMake in cmake-build-release ===');
|
||||
console.log(`\n=== Running CMake in cmake-build-${debugBuild ? "Debug" : "Release"} ===`);
|
||||
process.chdir(BUILD_DIR);
|
||||
execSync(
|
||||
`cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=${VCPKG_CMAKE} -DVCPKG_TARGET_TRIPLET=${VCPKG_TRIPLET} ..`,
|
||||
`cmake -G Ninja -DCMAKE_BUILD_TYPE=${debugBuild ? "Debug" : "Release"} -DCMAKE_TOOLCHAIN_FILE=${VCPKG_CMAKE} -DVCPKG_TARGET_TRIPLET=${VCPKG_TRIPLET} ..`,
|
||||
{ stdio: 'inherit' }
|
||||
);
|
||||
console.log('=== Running Ninja in cmake-build-release ===');
|
||||
|
|
|
|||
67
extensions/extensions.json
Normal file
67
extensions/extensions.json
Normal file
|
|
@ -0,0 +1,67 @@
|
|||
{
|
||||
"ublock": {
|
||||
"name": "uBlock Origin",
|
||||
"extension_name": "ublock",
|
||||
"logo": "https://upload.wikimedia.org/wikipedia/commons/thumb/0/05/UBlock_Origin.svg/2048px-UBlock_Origin.png",
|
||||
"description": "uBlock Origin is not just an “ad blocker“, it's a wide-spectrum content blocker with CPU and memory efficiency as a primary feature. If stremio does not start and loads infinitely remove this extension.",
|
||||
"types": ["Browser Extension", "other"],
|
||||
"behaviorHints": {
|
||||
"configurable": true,
|
||||
"configurationRequired": false,
|
||||
"adult": false,
|
||||
"p2p": false
|
||||
},
|
||||
"page": "dashboard.html"
|
||||
},
|
||||
"premid": {
|
||||
"name": "PreMiD",
|
||||
"extension_name": "premid",
|
||||
"logo": "https://cdn.rcd.gg/PreMiD/websites/P/PreMiD/assets/logo.png",
|
||||
"description": "PreMiD is a simple, configurable utility that allows you to show what you're doing on the web in your Discord now playing status / Discord Rich Presence",
|
||||
"types": ["Browser Extension", "other"],
|
||||
"behaviorHints": {
|
||||
"configurable": true,
|
||||
"configurationRequired": false,
|
||||
"adult": false,
|
||||
"p2p": false
|
||||
},
|
||||
"page": "popup.html"
|
||||
},
|
||||
"stylus": {
|
||||
"name": "Stylus",
|
||||
"extension_name": "stylus",
|
||||
"logo": "https://lh3.googleusercontent.com/2K8pc_5-2DkPam9b3oAWoITZ7IuIz68A5a8Ssg2_MNNHTPWPOPSBVTFdTmeVu9hi8GJxpKbvTekgwpeyGV6vXyBKH80",
|
||||
"description": "Redesign the web with Stylus, a user styles manager. Stylus allows you to easily install themes and skins for many popular sites.",
|
||||
"types": ["Browser Extension", "other"],
|
||||
"behaviorHints": {
|
||||
"configurable": true,
|
||||
"configurationRequired": false,
|
||||
"adult": false,
|
||||
"p2p": false
|
||||
},
|
||||
"page": "manage.html"
|
||||
},
|
||||
"fallback": {
|
||||
"name": "",
|
||||
"extension_name": "",
|
||||
"logo": "",
|
||||
"description": "No description available. Create a GitHub issue to get this extension supported.",
|
||||
"types": ["Browser Extension", "other"],
|
||||
"behaviorHints": {
|
||||
"configurable": true,
|
||||
"configurationRequired": false,
|
||||
"adult": false,
|
||||
"p2p": false
|
||||
},
|
||||
"page": ""
|
||||
},
|
||||
"domains": [
|
||||
"https://discord.com",
|
||||
"https://premid.app",
|
||||
"https://login.premid.app",
|
||||
"https://uso.kkx.one",
|
||||
"https://userstyles.world",
|
||||
"https://raw.githubusercontent.com/uso-archive",
|
||||
"chrome-extension://"
|
||||
]
|
||||
}
|
||||
BIN
extensions/stylus_2.3.10_0.7z
Normal file
BIN
extensions/stylus_2.3.10_0.7z
Normal file
Binary file not shown.
BIN
extensions/ublock_1.62.0_0.7z
Normal file
BIN
extensions/ublock_1.62.0_0.7z
Normal file
Binary file not shown.
BIN
images/stremio2.ico
Normal file
BIN
images/stremio2.ico
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 9.8 KiB |
BIN
images/stremio2.png
Normal file
BIN
images/stremio2.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 22 KiB |
|
|
@ -10,8 +10,15 @@ HBRUSH g_darkBrush = nullptr;
|
|||
HANDLE g_hMutex = nullptr;
|
||||
HHOOK g_hMouseHook = nullptr;
|
||||
|
||||
std::wstring g_webuiUrl = L"https://zaarrg.github.io/stremio-web-shell-fixes/";
|
||||
std::vector<std::wstring> g_webuiUrls = {
|
||||
L"https://stremio.zarg.me/",
|
||||
L"https://zaarrg.github.io/stremio-web-shell-fixes/",
|
||||
L"https://web.stremio.com/"
|
||||
};
|
||||
std::vector<std::wstring> g_domainWhitelist;
|
||||
std::string g_updateUrl= "https://raw.githubusercontent.com/Zaarrg/stremio-desktop-v5/refs/heads/webview-windows/version/version.json";
|
||||
std::wstring g_extensionsDetailsUrl= L"https://raw.githubusercontent.com/Zaarrg/stremio-desktop-v5/refs/heads/webview-windows/extensions/extensions.json";
|
||||
std::wstring g_webuiUrl;
|
||||
|
||||
// Command-line args
|
||||
bool g_streamingServer = true;
|
||||
|
|
@ -60,11 +67,13 @@ HWND g_trayHwnd = nullptr;
|
|||
bool g_pauseOnMinimize = true;
|
||||
bool g_pauseOnLostFocus = false;
|
||||
bool g_allowZoom = false;
|
||||
bool g_isRpcOn = true;
|
||||
|
||||
// Tray sizes
|
||||
int g_tray_itemH = 31;
|
||||
int g_tray_sepH = 8;
|
||||
int g_tray_w = 200;
|
||||
int g_font_height = 12;
|
||||
|
||||
// Splash
|
||||
HWND g_hSplash = nullptr;
|
||||
|
|
@ -79,6 +88,10 @@ std::wstring g_launchProtocol;
|
|||
std::atomic<bool> g_isAppReady = false;
|
||||
std::atomic<bool> g_waitStarted(false);
|
||||
|
||||
// Extensions
|
||||
std::map<std::wstring, std::wstring> g_extensionMap;
|
||||
std::vector<std::wstring> g_scriptQueue;
|
||||
|
||||
// Updater
|
||||
std::atomic_bool g_updaterRunning = false;
|
||||
std::filesystem::path g_installerPath;
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ using json = nlohmann::json;
|
|||
#define APP_TITLE "Stremio - Freedom to Stream"
|
||||
#define APP_NAME "Stremio"
|
||||
#define APP_CLASS L"Stremio"
|
||||
#define APP_VERSION "5.0.14"
|
||||
#define APP_VERSION "5.0.21"
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
// Globals
|
||||
|
|
@ -41,8 +41,11 @@ extern HBRUSH g_darkBrush;
|
|||
extern HANDLE g_hMutex;
|
||||
extern HHOOK g_hMouseHook;
|
||||
|
||||
extern std::wstring g_webuiUrl;
|
||||
extern std::vector<std::wstring> g_webuiUrls;
|
||||
extern std::vector<std::wstring> g_domainWhitelist;
|
||||
extern std::string g_updateUrl;
|
||||
extern std::wstring g_extensionsDetailsUrl;
|
||||
extern std::wstring g_webuiUrl;
|
||||
|
||||
// Args
|
||||
extern bool g_streamingServer;
|
||||
|
|
@ -108,11 +111,13 @@ extern HWND g_trayHwnd;
|
|||
extern bool g_pauseOnMinimize;
|
||||
extern bool g_pauseOnLostFocus;
|
||||
extern bool g_allowZoom;
|
||||
extern bool g_isRpcOn;
|
||||
|
||||
// Tray sizes
|
||||
extern int g_tray_itemH;
|
||||
extern int g_tray_sepH;
|
||||
extern int g_tray_w;
|
||||
extern int g_font_height;
|
||||
|
||||
// Splash
|
||||
extern HWND g_hSplash;
|
||||
|
|
@ -123,11 +128,16 @@ extern ULONG_PTR g_gdiplusToken;
|
|||
|
||||
// App Ready and Event Queue
|
||||
#define WM_NOTIFY_FLUSH (WM_USER + 101)
|
||||
#define WM_REACHABILITY_DONE (WM_USER + 200)
|
||||
extern std::vector<nlohmann::json> g_outboundMessages;
|
||||
extern std::wstring g_launchProtocol;
|
||||
extern std::atomic<bool> g_isAppReady;
|
||||
extern std::atomic<bool> g_waitStarted;
|
||||
|
||||
// Extensions
|
||||
extern std::map<std::wstring, std::wstring> g_extensionMap;
|
||||
extern std::vector<std::wstring> g_scriptQueue;
|
||||
|
||||
// Updater
|
||||
extern std::atomic_bool g_updaterRunning;
|
||||
extern std::filesystem::path g_installerPath;
|
||||
|
|
|
|||
269
src/main.cpp
269
src/main.cpp
|
|
@ -1,161 +1,176 @@
|
|||
#pragma comment(linker, "/SUBSYSTEM:WINDOWS")
|
||||
#pragma comment(linker, "/ENTRY:mainCRTStartup")
|
||||
|
||||
#include "discord_rpc.h"
|
||||
#include <windows.h>
|
||||
#include <shellscalingapi.h>
|
||||
#include <VersionHelpers.h>
|
||||
#include <gdiplus.h>
|
||||
#include <iostream>
|
||||
#include <shellscalingapi.h>
|
||||
#include <sstream>
|
||||
#include <VersionHelpers.h>
|
||||
|
||||
#include "ui/mainwindow.h"
|
||||
#include "core/globals.h"
|
||||
#include "utils/crashlog.h"
|
||||
#include "utils/config.h"
|
||||
#include "tray/tray.h"
|
||||
#include "mpv/player.h"
|
||||
#include "node/server.h"
|
||||
#include "tray/tray.h"
|
||||
#include "ui/mainwindow.h"
|
||||
#include "ui/splash.h"
|
||||
#include "webview/webview.h"
|
||||
#include "updater/updater.h"
|
||||
#include "utils/helpers.h"
|
||||
#include "utils/config.h"
|
||||
#include "utils/crashlog.h"
|
||||
#include "utils/discord.h"
|
||||
#include "utils/helpers.h"
|
||||
#include "webview/webview.h"
|
||||
// This started as 1-week project so please don't take the code to seriously
|
||||
int main(int argc, char* argv[])
|
||||
{
|
||||
// Catch unhandled exceptions
|
||||
SetUnhandledExceptionFilter([](EXCEPTION_POINTERS* info) -> LONG
|
||||
{
|
||||
std::wstringstream ws;
|
||||
ws << L"Unhandled exception! Code=0x" << std::hex << info->ExceptionRecord->ExceptionCode;
|
||||
AppendToCrashLog(ws.str());
|
||||
Cleanup();
|
||||
return EXCEPTION_EXECUTE_HANDLER;
|
||||
});
|
||||
atexit(Cleanup);
|
||||
int main(int argc, char *argv[]) {
|
||||
// Catch unhandled exceptions
|
||||
SetUnhandledExceptionFilter([](EXCEPTION_POINTERS *info) -> LONG {
|
||||
std::wstringstream ws;
|
||||
ws << L"Unhandled exception! Code=0x" << std::hex
|
||||
<< info->ExceptionRecord->ExceptionCode;
|
||||
AppendToCrashLog(ws.str());
|
||||
Cleanup();
|
||||
return EXCEPTION_EXECUTE_HANDLER;
|
||||
});
|
||||
atexit(Cleanup);
|
||||
|
||||
// DPI
|
||||
if (IsWindowsVersionOrGreater(10, 0, 14393)){
|
||||
typedef BOOL(WINAPI *SetDpiCtxFn)(DPI_AWARENESS_CONTEXT);
|
||||
auto setDpiAwarenessContext = (SetDpiCtxFn)GetProcAddress(GetModuleHandleW(L"user32.dll"), "SetProcessDpiAwarenessContext");
|
||||
if(setDpiAwarenessContext){
|
||||
setDpiAwarenessContext(DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2);
|
||||
}
|
||||
} else {
|
||||
// Fallback for Windows 8.1 and Windows 10 before 1607:
|
||||
SetProcessDpiAwareness(PROCESS_PER_MONITOR_DPI_AWARE);
|
||||
// DPI
|
||||
if (IsWindowsVersionOrGreater(10, 0, 14393)) {
|
||||
typedef BOOL(WINAPI * SetDpiCtxFn)(DPI_AWARENESS_CONTEXT);
|
||||
auto setDpiAwarenessContext = (SetDpiCtxFn)GetProcAddress(
|
||||
GetModuleHandleW(L"user32.dll"), "SetProcessDpiAwarenessContext");
|
||||
if (setDpiAwarenessContext) {
|
||||
setDpiAwarenessContext(DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2);
|
||||
}
|
||||
} else {
|
||||
// Fallback for Windows 8.1 and Windows 10 before 1607:
|
||||
SetProcessDpiAwareness(PROCESS_PER_MONITOR_DPI_AWARE);
|
||||
}
|
||||
|
||||
// parse cmd line
|
||||
for(int i=1; i<argc; i++){
|
||||
std::string arg(argv[i]);
|
||||
if(arg.rfind("--webui-url=", 0)==0){
|
||||
g_webuiUrl = Utf8ToWstring(arg.substr(12));
|
||||
} else if(arg.rfind("--autoupdater-endpoint=",0)==0){
|
||||
g_updateUrl = arg.substr(23);
|
||||
} else if(arg=="--streaming-server-disabled"){
|
||||
g_streamingServer=false;
|
||||
} else if(arg=="--autoupdater-force-full"){
|
||||
g_autoupdaterForceFull=true;
|
||||
}
|
||||
// parse cmd line
|
||||
for (int i = 1; i < argc; i++) {
|
||||
std::string arg(argv[i]);
|
||||
if (arg.rfind("--webui-url=", 0) == 0) {
|
||||
g_webuiUrls.insert(g_webuiUrls.begin(), Utf8ToWstring(arg.substr(12)));
|
||||
} else if (arg.rfind("--autoupdater-endpoint=", 0) == 0) {
|
||||
g_updateUrl = arg.substr(23);
|
||||
} else if (arg == "--streaming-server-disabled") {
|
||||
g_streamingServer = false;
|
||||
} else if (arg == "--autoupdater-force-full") {
|
||||
g_autoupdaterForceFull = true;
|
||||
}
|
||||
}
|
||||
|
||||
// single instance
|
||||
std::wstring launchProtocol;
|
||||
if(!CheckSingleInstance(argc, argv, launchProtocol)){
|
||||
return 0;
|
||||
}
|
||||
g_launchProtocol = launchProtocol;
|
||||
// single instance
|
||||
std::wstring launchProtocol;
|
||||
if (!CheckSingleInstance(argc, argv, launchProtocol)) {
|
||||
return 0;
|
||||
}
|
||||
g_launchProtocol = launchProtocol;
|
||||
|
||||
// check stremio-runtime duplicates
|
||||
std::vector<std::wstring> processesToCheck={L"stremio.exe", L"stremio-runtime.exe"};
|
||||
if(IsDuplicateProcessRunning(processesToCheck)){
|
||||
MessageBoxW(nullptr,
|
||||
L"An older version of Stremio or Stremio server may be running. There could be issues.",
|
||||
L"Stremio Already Running", MB_OK|MB_ICONWARNING);
|
||||
}
|
||||
// check stremio-runtime duplicates
|
||||
std::vector<std::wstring> processesToCheck = {L"stremio.exe",
|
||||
L"stremio-runtime.exe"};
|
||||
if (IsDuplicateProcessRunning(processesToCheck)) {
|
||||
MessageBoxW(nullptr,
|
||||
L"An older version of Stremio or Stremio server may be "
|
||||
L"running. There could be issues.",
|
||||
L"Stremio Already Running", MB_OK | MB_ICONWARNING);
|
||||
}
|
||||
|
||||
// init GDI+
|
||||
Gdiplus::GdiplusStartupInput gpsi;
|
||||
if(Gdiplus::GdiplusStartup(&g_gdiplusToken, &gpsi, nullptr)!=Gdiplus::Ok){
|
||||
AppendToCrashLog(L"[BOOT]: GdiplusStartup failed.");
|
||||
return 1;
|
||||
}
|
||||
// init GDI+
|
||||
Gdiplus::GdiplusStartupInput gpsi;
|
||||
if (Gdiplus::GdiplusStartup(&g_gdiplusToken, &gpsi, nullptr) != Gdiplus::Ok) {
|
||||
AppendToCrashLog(L"[BOOT]: GdiplusStartup failed.");
|
||||
return 1;
|
||||
}
|
||||
|
||||
// Load config
|
||||
LoadSettings();
|
||||
LoadCustomMenuFont();
|
||||
// Load config
|
||||
LoadSettings();
|
||||
|
||||
// Updater
|
||||
g_updaterThread=std::thread(RunAutoUpdaterOnce);
|
||||
g_updaterThread.detach();
|
||||
// Initialize Discord RPC
|
||||
InitializeDiscord();
|
||||
|
||||
g_hInst = GetModuleHandle(nullptr);
|
||||
g_darkBrush = CreateSolidBrush(RGB(0,0,0));
|
||||
// Updater
|
||||
g_updaterThread = std::thread(RunAutoUpdaterOnce);
|
||||
g_updaterThread.detach();
|
||||
|
||||
// Register main window class
|
||||
WNDCLASSEX wcex={0};
|
||||
wcex.cbSize=sizeof(WNDCLASSEX);
|
||||
wcex.style=CS_HREDRAW|CS_VREDRAW;
|
||||
wcex.lpfnWndProc=WndProc;
|
||||
wcex.hInstance=g_hInst;
|
||||
wcex.hCursor=LoadCursor(nullptr, IDC_ARROW);
|
||||
wcex.hbrBackground=g_darkBrush;
|
||||
wcex.lpszClassName=szWindowClass;
|
||||
if(!RegisterClassEx(&wcex)){
|
||||
AppendToCrashLog(L"[BOOT]: RegisterClassEx failed!");
|
||||
return 1;
|
||||
}
|
||||
g_hInst = GetModuleHandle(nullptr);
|
||||
g_darkBrush = CreateSolidBrush(RGB(0, 0, 0));
|
||||
|
||||
g_hWnd = CreateWindow(szWindowClass, szTitle,
|
||||
WS_OVERLAPPEDWINDOW,
|
||||
CW_USEDEFAULT, CW_USEDEFAULT,
|
||||
1200, 900,
|
||||
nullptr, nullptr,
|
||||
g_hInst, nullptr);
|
||||
if(!g_hWnd){
|
||||
AppendToCrashLog(L"[BOOT]: CreateWindow failed!");
|
||||
return 1;
|
||||
}
|
||||
// Load Saved position
|
||||
WINDOWPLACEMENT wp;
|
||||
if (LoadWindowPlacement(wp)) {
|
||||
SetWindowPlacement(g_hWnd, &wp);
|
||||
ShowWindow(g_hWnd, wp.showCmd);
|
||||
UpdateWindow(g_hWnd);
|
||||
} else {
|
||||
ShowWindow(g_hWnd,SW_SHOW);
|
||||
UpdateWindow(g_hWnd);
|
||||
}
|
||||
// Register main window class
|
||||
WNDCLASSEX wcex = {0};
|
||||
wcex.cbSize = sizeof(WNDCLASSEX);
|
||||
wcex.style = CS_HREDRAW | CS_VREDRAW;
|
||||
wcex.lpfnWndProc = WndProc;
|
||||
wcex.hInstance = g_hInst;
|
||||
wcex.hCursor = LoadCursor(nullptr, IDC_ARROW);
|
||||
wcex.hbrBackground = g_darkBrush;
|
||||
wcex.lpszClassName = szWindowClass;
|
||||
if (!RegisterClassEx(&wcex)) {
|
||||
AppendToCrashLog(L"[BOOT]: RegisterClassEx failed!");
|
||||
return 1;
|
||||
}
|
||||
|
||||
// create splash
|
||||
CreateSplashScreen(g_hWnd);
|
||||
g_hWnd = CreateWindow(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW,
|
||||
CW_USEDEFAULT, CW_USEDEFAULT, 1200, 900, nullptr,
|
||||
nullptr, g_hInst, nullptr);
|
||||
if (!g_hWnd) {
|
||||
AppendToCrashLog(L"[BOOT]: CreateWindow failed!");
|
||||
return 1;
|
||||
}
|
||||
|
||||
// init mpv
|
||||
if(!InitMPV(g_hWnd)){
|
||||
DestroyWindow(g_hWnd);
|
||||
return 1;
|
||||
}
|
||||
// Add PlayPause Hotkey
|
||||
if (!RegisterHotKey(g_hWnd, 1, 0, VK_MEDIA_PLAY_PAUSE)) {
|
||||
AppendToCrashLog(L"[BOOT]: Failed to register hotkey!");
|
||||
}
|
||||
|
||||
// node
|
||||
if(g_streamingServer){
|
||||
StartNodeServer();
|
||||
}
|
||||
// Scale Values with DPI
|
||||
ScaleWithDPI();
|
||||
LoadCustomMenuFont();
|
||||
|
||||
// webview
|
||||
InitWebView2(g_hWnd);
|
||||
// Load Saved position
|
||||
WINDOWPLACEMENT wp;
|
||||
if (LoadWindowPlacement(wp)) {
|
||||
SetWindowPlacement(g_hWnd, &wp);
|
||||
ShowWindow(g_hWnd, wp.showCmd);
|
||||
UpdateWindow(g_hWnd);
|
||||
} else {
|
||||
ShowWindow(g_hWnd, SW_SHOW);
|
||||
UpdateWindow(g_hWnd);
|
||||
}
|
||||
|
||||
// message loop
|
||||
MSG msg;
|
||||
while(GetMessage(&msg, nullptr, 0, 0)) {
|
||||
TranslateMessage(&msg);
|
||||
DispatchMessage(&msg);
|
||||
}
|
||||
// create splash
|
||||
CreateSplashScreen(g_hWnd);
|
||||
|
||||
if(g_darkBrush){
|
||||
DeleteObject(g_darkBrush);
|
||||
g_darkBrush=nullptr;
|
||||
}
|
||||
std::cout<<"Exiting...\n";
|
||||
return (int)msg.wParam;
|
||||
// init mpv
|
||||
if (!InitMPV(g_hWnd)) {
|
||||
DestroyWindow(g_hWnd);
|
||||
return 1;
|
||||
}
|
||||
|
||||
// node
|
||||
if (g_streamingServer) {
|
||||
StartNodeServer();
|
||||
}
|
||||
|
||||
// webview
|
||||
InitWebView2(g_hWnd);
|
||||
|
||||
// message loop
|
||||
MSG msg;
|
||||
while (GetMessage(&msg, nullptr, 0, 0)) {
|
||||
TranslateMessage(&msg);
|
||||
DispatchMessage(&msg);
|
||||
|
||||
// Run Discord RPC callbacks
|
||||
Discord_RunCallbacks();
|
||||
}
|
||||
|
||||
if (g_darkBrush) {
|
||||
DeleteObject(g_darkBrush);
|
||||
g_darkBrush = nullptr;
|
||||
}
|
||||
std::cout << "Exiting...\n";
|
||||
return (int)msg.wParam;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -179,31 +179,37 @@ void HandleMpvEvents()
|
|||
|
||||
void HandleMpvCommand(const std::vector<std::string>& args)
|
||||
{
|
||||
if(!g_mpv || args.empty()) return;
|
||||
std::vector<const char*> cargs;
|
||||
for(auto &s: args) {
|
||||
cargs.push_back(s.c_str());
|
||||
}
|
||||
cargs.push_back(nullptr);
|
||||
mpv_command(g_mpv, cargs.data());
|
||||
std::thread([args](){
|
||||
if(!g_mpv || args.empty()) return;
|
||||
std::vector<const char*> cargs;
|
||||
for(auto &s: args) {
|
||||
cargs.push_back(s.c_str());
|
||||
}
|
||||
cargs.push_back(nullptr);
|
||||
mpv_command(g_mpv, cargs.data());
|
||||
}).detach();
|
||||
}
|
||||
|
||||
void HandleMpvSetProp(const std::vector<std::string>& args)
|
||||
{
|
||||
if(!g_mpv || args.size()<2) return;
|
||||
std::string val=args[1];
|
||||
if(val=="true") val="yes";
|
||||
if(val=="false") val="no";
|
||||
mpv_set_property_string(g_mpv, args[0].c_str(), val.c_str());
|
||||
std::thread([args](){
|
||||
if(!g_mpv || args.size()<2) return;
|
||||
std::string val=args[1];
|
||||
if(val=="true") val="yes";
|
||||
if(val=="false") val="no";
|
||||
mpv_set_property_string(g_mpv, args[0].c_str(), val.c_str());
|
||||
}).detach();
|
||||
}
|
||||
|
||||
void HandleMpvObserveProp(const std::vector<std::string>& args)
|
||||
{
|
||||
if(!g_mpv || args.empty()) return;
|
||||
std::string pname=args[0];
|
||||
g_observedProps.insert(pname);
|
||||
mpv_observe_property(g_mpv,0,pname.c_str(),MPV_FORMAT_NODE);
|
||||
std::cout<<"Observing prop="<<pname<<"\n";
|
||||
std::thread([args](){
|
||||
if(!g_mpv || args.empty()) return;
|
||||
std::string pname=args[0];
|
||||
g_observedProps.insert(pname);
|
||||
mpv_observe_property(g_mpv,0,pname.c_str(),MPV_FORMAT_NODE);
|
||||
std::cout<<"Observing prop="<<pname<<"\n";
|
||||
}).detach();
|
||||
}
|
||||
|
||||
void pauseMPV(bool allowed)
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
#include "server.h"
|
||||
#include <windows.h>
|
||||
#include <shlobj.h>
|
||||
#include <string>
|
||||
#include <thread>
|
||||
#include <atomic>
|
||||
|
|
@ -27,13 +28,27 @@ bool StartNodeServer()
|
|||
std::wstring exeDir = GetExeDirectory();
|
||||
std::wstring exePath = exeDir + L"\\stremio-runtime.exe";
|
||||
std::wstring scriptPath = exeDir + L"\\server.js";
|
||||
if(!FileExists(exePath)){
|
||||
AppendToCrashLog(L"[NODE]: Missing stremio-runtime.exe");
|
||||
return false;
|
||||
}
|
||||
if(!FileExists(scriptPath)){
|
||||
AppendToCrashLog(L"[NODE]: Missing server.js");
|
||||
return false;
|
||||
|
||||
if (!FileExists(exePath) || !FileExists(scriptPath)) {
|
||||
// Check alternative path in %localappdata%
|
||||
wchar_t localAppData[MAX_PATH];
|
||||
if (SUCCEEDED(SHGetFolderPathW(nullptr, CSIDL_LOCAL_APPDATA, nullptr, 0, localAppData))) {
|
||||
std::wstring altDir = std::wstring(localAppData) + L"\\Programs\\StremioService";
|
||||
std::wstring altExePath = altDir + L"\\stremio-runtime.exe";
|
||||
std::wstring altScriptPath = altDir + L"\\server.js";
|
||||
|
||||
if (FileExists(altExePath) && FileExists(altScriptPath)) {
|
||||
exePath = altExePath;
|
||||
scriptPath = altScriptPath;
|
||||
exeDir = altDir;
|
||||
} else {
|
||||
AppendToCrashLog(L"[NODE]: Missing stremio-runtime.exe and server.js in both exeDir and localappdata.");
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
AppendToCrashLog(L"[NODE]: Failed to retrieve local app data path.");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
if (!g_serverJob) {
|
||||
|
|
|
|||
|
|
@ -48,7 +48,7 @@ void LoadCustomMenuFont()
|
|||
g_hMenuFont = nullptr;
|
||||
}
|
||||
LOGFONTW lf = { 0 };
|
||||
lf.lfHeight = -12;
|
||||
lf.lfHeight = -g_font_height;
|
||||
lf.lfWeight = FW_MEDIUM;
|
||||
wcscpy_s(lf.lfFaceName, L"Arial Rounded MT");
|
||||
lf.lfQuality = CLEARTYPE_QUALITY;
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@
|
|||
#include "../ui/splash.h"
|
||||
#include "../webview/webview.h"
|
||||
#include "../updater/updater.h"
|
||||
#include "../utils/discord.h"
|
||||
|
||||
// Single-instance
|
||||
bool FocusExistingInstance(const std::wstring &protocolArg)
|
||||
|
|
@ -124,7 +125,7 @@ void SendToJS(const std::string &eventName, const nlohmann::json &eventData)
|
|||
std::wstring wpayload(payload.begin(), payload.end());
|
||||
g_webview->PostWebMessageAsString(wpayload.c_str());
|
||||
|
||||
#ifdef DEBUG_BUILD
|
||||
#ifdef DEBUG_LOG
|
||||
std::cout << "[Native->JS] " << payload << "\n";
|
||||
#endif
|
||||
}
|
||||
|
|
@ -216,8 +217,19 @@ void HandleEvent(const std::string &ev, std::vector<std::string> &args)
|
|||
WaitAndRefreshIfNeeded();
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
} else if (ev=="open-external") {
|
||||
std::wstring uri(args[0].begin(), args[0].end());
|
||||
ShellExecuteW(nullptr, L"open", uri.c_str(), nullptr, nullptr, SW_SHOWNORMAL);
|
||||
} else if (ev=="navigate") {
|
||||
std::wstring uri(args[0].begin(), args[0].end());
|
||||
if (args[0] == "home") {
|
||||
g_webview->Navigate(g_webuiUrl.c_str());
|
||||
} else {
|
||||
g_webview->Navigate(uri.c_str());
|
||||
}
|
||||
} else if (ev == "activity") {
|
||||
SetDiscordPresenceFromArgs(args);
|
||||
} else {
|
||||
std::cout<<"Unknown event="<<ev<<"\n";
|
||||
}
|
||||
}
|
||||
|
|
@ -226,7 +238,7 @@ void HandleEvent(const std::string &ev, std::vector<std::string> &args)
|
|||
void HandleInboundJSON(const std::string &msg)
|
||||
{
|
||||
try {
|
||||
#ifdef DEBUG_BUILD
|
||||
#ifdef DEBUG_LOG
|
||||
std::cout << "[JS -> NATIVE]: " << msg << std::endl;
|
||||
#endif
|
||||
|
||||
|
|
@ -241,9 +253,18 @@ void HandleInboundJSON(const std::string &msg)
|
|||
nlohmann::json root;
|
||||
root["id"] = 0;
|
||||
nlohmann::json transportObj;
|
||||
|
||||
json extData = {};
|
||||
if (!g_extensionMap.empty()) {
|
||||
for (auto& [name, id] : g_extensionMap) {
|
||||
extData[WStringToUtf8(name)] = WStringToUtf8(id);
|
||||
}
|
||||
}
|
||||
|
||||
transportObj["properties"] = {
|
||||
1,
|
||||
nlohmann::json::array({0, "shellVersion", 0, APP_VERSION}),
|
||||
nlohmann::json::array({0, "BrowserExtensions", 0, extData}),
|
||||
};
|
||||
transportObj["signals"] = {
|
||||
nlohmann::json::array({0, "handleInboundJSONSignal"}),
|
||||
|
|
@ -262,7 +283,7 @@ void HandleInboundJSON(const std::string &msg)
|
|||
if (type == 6 && j.contains("method"))
|
||||
{
|
||||
std::string methodName = j["method"].get<std::string>();
|
||||
if (methodName == "handleInboundJSON")
|
||||
if (methodName == "handleInboundJSON" || methodName == "onEvent")
|
||||
{
|
||||
if (j["args"].is_array() && !j["args"].empty())
|
||||
{
|
||||
|
|
@ -349,6 +370,36 @@ LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
|
|||
}
|
||||
break;
|
||||
}
|
||||
case WM_REACHABILITY_DONE: {
|
||||
// wParam is a pointer to a std::wstring we allocated in the thread
|
||||
std::wstring* pUrl = reinterpret_cast<std::wstring*>(wParam);
|
||||
if(pUrl)
|
||||
{
|
||||
if (!pUrl->empty() && g_webview)
|
||||
{
|
||||
std::wcout << L"[WEBVIEW]: Navigating to " << *pUrl << std::endl;
|
||||
g_webview->Navigate(pUrl->c_str());
|
||||
}
|
||||
else
|
||||
{
|
||||
MessageBoxW(nullptr,
|
||||
L"All endpoints are unreachable",
|
||||
L"WebView2 Initialization Error",
|
||||
MB_ICONERROR | MB_OK);
|
||||
}
|
||||
delete pUrl;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case WM_HOTKEY:
|
||||
{
|
||||
// PlayPause Hotkey
|
||||
if (wParam == 1) {
|
||||
std::vector<std::string> args = {"cycle", "pause"};
|
||||
HandleMpvCommand(args);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case WM_SETTINGCHANGE:
|
||||
{
|
||||
UpdateTheme(hWnd);
|
||||
|
|
@ -402,6 +453,11 @@ LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
|
|||
break;
|
||||
case ID_TRAY_QUIT:
|
||||
if(g_mpv) mpv_command_string(g_mpv,"quit");
|
||||
WINDOWPLACEMENT wp;
|
||||
wp.length = sizeof(wp);
|
||||
if (GetWindowPlacement(hWnd, &wp)) {
|
||||
SaveWindowPlacement(wp);
|
||||
}
|
||||
DestroyWindow(hWnd);
|
||||
break;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -29,6 +29,7 @@ void LoadSettings()
|
|||
g_allowZoom = GetPrivateProfileIntW(L"General", L"AllowZoom", 0, iniPath.c_str());
|
||||
g_pauseOnMinimize = (GetPrivateProfileIntW(L"General", L"PauseOnMinimize", 1, iniPath.c_str()) == 1);
|
||||
g_pauseOnLostFocus = (GetPrivateProfileIntW(L"General", L"PauseOnLostFocus", 0, iniPath.c_str()) == 1);
|
||||
g_isRpcOn = (GetPrivateProfileIntW(L"General", L"DiscordRPC", 1, iniPath.c_str()) == 1);
|
||||
//Mpv
|
||||
wchar_t voBuffer[32];
|
||||
GetPrivateProfileStringW(L"MPV", L"VideoOutput", L"gpu-next", voBuffer, 32, iniPath.c_str());
|
||||
|
|
@ -47,12 +48,15 @@ void SaveSettings()
|
|||
const wchar_t* pauseMinVal = g_pauseOnMinimize ? L"1" : L"0";
|
||||
const wchar_t* pauseFocVal = g_pauseOnLostFocus ? L"1" : L"0";
|
||||
const wchar_t* allowZoomVal = g_allowZoom ? L"1" : L"0";
|
||||
const wchar_t* rpcVal = g_isRpcOn ? L"1" : L"0";
|
||||
|
||||
WritePrivateProfileStringW(L"General", L"CloseOnExit", closeVal, iniPath.c_str());
|
||||
WritePrivateProfileStringW(L"General", L"UseDarkTheme", darkVal, iniPath.c_str());
|
||||
WritePrivateProfileStringW(L"General", L"PauseOnMinimize", pauseMinVal, iniPath.c_str());
|
||||
WritePrivateProfileStringW(L"General", L"PauseOnLostFocus", pauseFocVal, iniPath.c_str());
|
||||
WritePrivateProfileStringW(L"General", L"AllowZoom", allowZoomVal, iniPath.c_str());
|
||||
WritePrivateProfileStringW(L"General", L"DiscordRPC", rpcVal, iniPath.c_str());
|
||||
WriteIntToIni(L"MPV", L"InitialVolume", g_currentVolume, iniPath);
|
||||
}
|
||||
|
||||
static void WriteIntToIni(const std::wstring §ion, const std::wstring &key, int value, const std::wstring &iniPath)
|
||||
|
|
|
|||
|
|
@ -5,4 +5,5 @@ void LoadSettings();
|
|||
void SaveSettings();
|
||||
void SaveWindowPlacement(const WINDOWPLACEMENT &wp);
|
||||
bool LoadWindowPlacement(WINDOWPLACEMENT &wp);
|
||||
static void WriteIntToIni(const std::wstring §ion, const std::wstring &key, int value, const std::wstring &iniPath);
|
||||
#endif // CONFIG_H
|
||||
|
|
|
|||
|
|
@ -9,6 +9,9 @@
|
|||
#include "../utils/helpers.h"
|
||||
#include <gdiplus.h>
|
||||
#include <sstream>
|
||||
#include "discord_rpc.h"
|
||||
|
||||
#include "config.h"
|
||||
|
||||
static std::wstring GetDailyCrashLogPath()
|
||||
{
|
||||
|
|
@ -49,6 +52,8 @@ void AppendToCrashLog(const std::string& message)
|
|||
|
||||
void Cleanup()
|
||||
{
|
||||
//Save Settings
|
||||
SaveSettings();
|
||||
// Shut down mpv
|
||||
CleanupMPV();
|
||||
// Shut down Node
|
||||
|
|
@ -60,4 +65,8 @@ void Cleanup()
|
|||
if(g_gdiplusToken) {
|
||||
Gdiplus::GdiplusShutdown(g_gdiplusToken);
|
||||
}
|
||||
|
||||
Discord_Shutdown();
|
||||
|
||||
UnregisterHotKey(g_hWnd, 1);
|
||||
}
|
||||
|
|
|
|||
166
src/utils/discord.cpp
Normal file
166
src/utils/discord.cpp
Normal file
|
|
@ -0,0 +1,166 @@
|
|||
#include <iostream>
|
||||
#include "../core/globals.h"
|
||||
#include "crashlog.h"
|
||||
#include "discord_rpc.h"
|
||||
|
||||
void Discord_Ready(const DiscordUser* user) {
|
||||
std::cout << "[DISCORD]: Connected to Discord user: " + std::string(user->username);
|
||||
}
|
||||
|
||||
void Discord_Disconnected(int errorCode, const char* message) {
|
||||
std::cout << "[DISCORD]: Disconnected (" + std::to_string(errorCode) + "): " + std::string(message);
|
||||
}
|
||||
|
||||
void Discord_Error(int errorCode, const char* message) {
|
||||
std::cout << "[DISCORD]: Error (" + std::to_string(errorCode) + "): " + std::string(message);
|
||||
AppendToCrashLog("[DISCORD]: Error (" + std::to_string(errorCode) + "): " + std::string(message));
|
||||
}
|
||||
|
||||
void InitializeDiscord()
|
||||
{
|
||||
DiscordEventHandlers handlers{};
|
||||
memset(&handlers, 0, sizeof(handlers));
|
||||
handlers.ready = Discord_Ready;
|
||||
handlers.disconnected = Discord_Disconnected;
|
||||
handlers.errored = Discord_Error;
|
||||
|
||||
Discord_Initialize("1361448446862692492", &handlers, 1, nullptr);
|
||||
}
|
||||
|
||||
// Encapsulated presence setters
|
||||
|
||||
static void SetDiscordWatchingPresence(
|
||||
const std::vector<std::string>& args
|
||||
) {
|
||||
// expects:
|
||||
// 0: generic "watching" identifier
|
||||
// 1: type (movie, series)
|
||||
// 2: title
|
||||
// 3: season
|
||||
// 4: episode
|
||||
// 5: episode name
|
||||
// 6: episode thumbnail (small image) (Optional)
|
||||
// 7: show/movie image (large image)
|
||||
// 8: elapsed seconds
|
||||
// 9: duration seconds
|
||||
// 10: isPaused ("yes" or "no") (Optional)
|
||||
// 11: more detail button link (imdb link) (Optional)
|
||||
// 12: watch on stremio button link (stremio link) (Optional)
|
||||
DiscordRichPresence discordPresence{};
|
||||
memset(&discordPresence, 0, sizeof(discordPresence));
|
||||
|
||||
discordPresence.type = DISCORD_ACTIVITY_TYPE_WATCHING;
|
||||
|
||||
// Common fields (required)
|
||||
discordPresence.details = args[2].c_str(); // Title
|
||||
discordPresence.largeImageKey = args[7].c_str();
|
||||
discordPresence.largeImageText = args[2].c_str();
|
||||
|
||||
// Handle paused state (optional)
|
||||
bool isPaused = (!args[10].empty() && args[10] == "yes");
|
||||
|
||||
if (isPaused) {
|
||||
discordPresence.state = "Paused";
|
||||
discordPresence.startTimestamp = 0;
|
||||
discordPresence.endTimestamp = 0;
|
||||
} else {
|
||||
std::time_t currentTime = std::chrono::system_clock::to_time_t(std::chrono::system_clock::now());
|
||||
int elapsedSeconds = std::stoi(args[8]);
|
||||
int durationSeconds = std::stoi(args[9]);
|
||||
|
||||
discordPresence.startTimestamp = currentTime - elapsedSeconds;
|
||||
discordPresence.endTimestamp = currentTime + (durationSeconds - elapsedSeconds);
|
||||
|
||||
if (args[1] == "series") {
|
||||
// Series-specific fields
|
||||
std::string state = args[5] + " (S" + args[3] + "-E" + args[4] + ")";
|
||||
discordPresence.state = state.c_str();
|
||||
|
||||
if (!args[6].empty()) {
|
||||
discordPresence.smallImageKey = args[6].c_str();
|
||||
discordPresence.smallImageText = args[5].c_str();
|
||||
}
|
||||
} else {
|
||||
discordPresence.state = "Enjoying a Movie";
|
||||
}
|
||||
}
|
||||
|
||||
// Buttons setup (optional)
|
||||
if (!args[11].empty()) {
|
||||
discordPresence.button1Label = "More Details";
|
||||
discordPresence.button1Url = args[11].c_str();
|
||||
}
|
||||
|
||||
if (!args[12].empty()) {
|
||||
discordPresence.button2Label = "Watch on Stremio";
|
||||
discordPresence.button2Url = args[12].c_str();
|
||||
}
|
||||
|
||||
Discord_UpdatePresence(&discordPresence);
|
||||
}
|
||||
|
||||
static void SetDiscordMetaDetailPresence(const std::vector<std::string>& args) {
|
||||
// args structure:
|
||||
// 0: embed type ("meta-detail")
|
||||
// 1: type ("movie" or "series")
|
||||
// 2: title
|
||||
// 3: image URL
|
||||
|
||||
DiscordRichPresence discordPresence{};
|
||||
memset(&discordPresence, 0, sizeof(discordPresence));
|
||||
|
||||
discordPresence.type = DISCORD_ACTIVITY_TYPE_WATCHING;
|
||||
discordPresence.details = args[2].c_str(); // Title (show/movie)
|
||||
discordPresence.largeImageKey = args[3].c_str();
|
||||
discordPresence.largeImageText = args[2].c_str();
|
||||
|
||||
// Engaging state
|
||||
discordPresence.state = args[1] == "movie"
|
||||
? "Exploring a Movie"
|
||||
: "Exploring a Series";
|
||||
|
||||
Discord_UpdatePresence(&discordPresence);
|
||||
}
|
||||
|
||||
static void SetDiscordDiscoverPresence(const char *const details, const char *const state) {
|
||||
std::cout << "[DISCORD]: Setting discover Presence";
|
||||
|
||||
DiscordRichPresence discordPresence{};
|
||||
memset(&discordPresence, 0, sizeof(discordPresence));
|
||||
discordPresence.type = DISCORD_ACTIVITY_TYPE_WATCHING;
|
||||
discordPresence.state = state;
|
||||
discordPresence.details = details;
|
||||
discordPresence.largeImageKey = "https://raw.githubusercontent.com/Stremio/stremio-web/refs/heads/development/images/icon.png";
|
||||
discordPresence.largeImageText = "Stremio";
|
||||
Discord_UpdatePresence(&discordPresence);
|
||||
}
|
||||
|
||||
void SetDiscordPresenceFromArgs(const std::vector<std::string>& args) {
|
||||
if (!g_isRpcOn || args.empty()) {
|
||||
return;
|
||||
}
|
||||
|
||||
const std::string& embedType = args[0];
|
||||
if (embedType == "watching" && args.size() >= 12) {
|
||||
SetDiscordWatchingPresence(args);
|
||||
} else if (embedType == "meta-detail" && args.size() >= 4) {
|
||||
SetDiscordMetaDetailPresence(args);
|
||||
} else if (embedType == "board") {
|
||||
SetDiscordDiscoverPresence("Resuming Favorites", "On Board");
|
||||
} else if (embedType == "discover") {
|
||||
SetDiscordDiscoverPresence("Finding New Gems", "In Discover");
|
||||
} else if (embedType == "library") {
|
||||
SetDiscordDiscoverPresence("Revisiting Old Favorites", "In Library");
|
||||
} else if (embedType == "calendar") {
|
||||
SetDiscordDiscoverPresence("Planning My Next Binge", "On Calendar");
|
||||
} else if (embedType == "addons") {
|
||||
SetDiscordDiscoverPresence("Exploring Add-ons", "In Add-ons");
|
||||
} else if (embedType == "settings") {
|
||||
SetDiscordDiscoverPresence("Tuning Preferences", "In Settings");
|
||||
} else if (embedType == "search") {
|
||||
SetDiscordDiscoverPresence("Searching for Shows & Movies", "In Search");
|
||||
} else if (embedType == "clear") {
|
||||
Discord_ClearPresence();
|
||||
}
|
||||
// Add more presence types here...
|
||||
}
|
||||
7
src/utils/discord.h
Normal file
7
src/utils/discord.h
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
#ifndef STREMIO_DISCORD_H
|
||||
#define STREMIO_DISCORD_H
|
||||
|
||||
void InitializeDiscord();
|
||||
void SetDiscordPresenceFromArgs(const std::vector<std::string>& args);
|
||||
|
||||
#endif
|
||||
68
src/utils/extensions.cpp
Normal file
68
src/utils/extensions.cpp
Normal file
|
|
@ -0,0 +1,68 @@
|
|||
#include "extensions.h"
|
||||
|
||||
#include <iostream>
|
||||
#include <string>
|
||||
#include "../core/globals.h"
|
||||
|
||||
bool HandleExtensions(const std::wstring& finalUri) {
|
||||
bool handledPremid = HandlePremidLogin(finalUri);
|
||||
bool handledStylus = HandleStylusUsoInstall(finalUri);
|
||||
return handledPremid || handledStylus;
|
||||
}
|
||||
|
||||
bool HandlePremidLogin(const std::wstring& finalUri) {
|
||||
if (finalUri.rfind(L"https://login.premid.app", 0) == 0 && finalUri.rfind(L"https://discord.com", 0) != 0) {
|
||||
std::wstring extensionId;
|
||||
auto it = std::find_if(g_extensionMap.begin(), g_extensionMap.end(),
|
||||
[](const std::pair<std::wstring, std::wstring>& p) -> bool {
|
||||
return p.first.find(L"premid") != std::wstring::npos;
|
||||
});
|
||||
if (it != g_extensionMap.end()) {
|
||||
extensionId = it->second;
|
||||
} else {
|
||||
std::wcout << L"[EXTENSIONS]: Extension id not found\n";
|
||||
g_webview->Navigate(g_webuiUrl.c_str());
|
||||
return true;
|
||||
}
|
||||
|
||||
std::wstring codeParam;
|
||||
size_t codePos = finalUri.find(L"code=");
|
||||
if (codePos != std::wstring::npos) {
|
||||
codePos += 5; // Move past "code="
|
||||
size_t ampPos = finalUri.find(L'&', codePos);
|
||||
if (ampPos == std::wstring::npos) {
|
||||
codeParam = finalUri.substr(codePos);
|
||||
} else {
|
||||
codeParam = finalUri.substr(codePos, ampPos - codePos);
|
||||
}
|
||||
}
|
||||
std::wstring script = L"globalThis.getAuthorizationCode(\"" + codeParam + L"\");";
|
||||
g_scriptQueue.push_back(script);
|
||||
|
||||
std::wstring uri = L"chrome-extension://" + extensionId + L"/popup.html";
|
||||
g_webview->Navigate(uri.c_str());
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
bool HandleStylusUsoInstall(const std::wstring& finalUri) {
|
||||
if (finalUri.rfind(L"https://raw.githubusercontent.com/uso-archive", 0) == 0) {
|
||||
std::wstring extensionId;
|
||||
auto it = std::find_if(g_extensionMap.begin(), g_extensionMap.end(),
|
||||
[](const std::pair<std::wstring, std::wstring>& p) -> bool {
|
||||
return p.first.find(L"stylus") != std::wstring::npos;
|
||||
});
|
||||
if (it != g_extensionMap.end()) {
|
||||
extensionId = it->second;
|
||||
} else {
|
||||
std::wcout << L"[EXTENSIONS]: Extension id not found\n";
|
||||
g_webview->Navigate(g_webuiUrl.c_str());
|
||||
return true;
|
||||
}
|
||||
std::wstring uri = L"chrome-extension://" + extensionId + L"/install-usercss.html?updateUrl=" + finalUri;
|
||||
g_webview->Navigate(uri.c_str());
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
10
src/utils/extensions.h
Normal file
10
src/utils/extensions.h
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
#ifndef EXTENSIONS_H
|
||||
#define EXTENSIONS_H
|
||||
|
||||
#include <string>
|
||||
|
||||
bool HandleExtensions(const std::wstring& finalUri);
|
||||
bool HandlePremidLogin(const std::wstring& finalUri);
|
||||
bool HandleStylusUsoInstall(const std::wstring& finalUri);
|
||||
|
||||
#endif //EXTENSIONS_H
|
||||
|
|
@ -1,5 +1,13 @@
|
|||
#include "helpers.h"
|
||||
|
||||
#include <fstream>
|
||||
#include <iostream>
|
||||
#include <shellscalingapi.h>
|
||||
#include <tlhelp32.h>
|
||||
#include <VersionHelpers.h>
|
||||
#include <winhttp.h>
|
||||
#include <curl/curl.h>
|
||||
|
||||
#include "../core/globals.h"
|
||||
|
||||
std::string WStringToUtf8(const std::wstring &wstr)
|
||||
|
|
@ -116,4 +124,225 @@ bool isSubtitle(const std::wstring& filePath) {
|
|||
std::transform(lowerFilePath.begin(), lowerFilePath.end(), lowerFilePath.begin(), towlower);
|
||||
return std::any_of(g_subtitleExtensions.begin(), g_subtitleExtensions.end(),
|
||||
[&](const std::wstring& ext) { return lowerFilePath.ends_with(ext); });
|
||||
}
|
||||
|
||||
bool IsEndpointReachable(const std::wstring& url)
|
||||
{
|
||||
std::string urlUtf8 = WStringToUtf8(url);
|
||||
CURL* curl = curl_easy_init();
|
||||
if (!curl)
|
||||
return false;
|
||||
|
||||
curl_easy_setopt(curl, CURLOPT_URL, urlUtf8.c_str());
|
||||
curl_easy_setopt(curl, CURLOPT_NOBODY, 1L);
|
||||
curl_easy_setopt(curl, CURLOPT_CONNECTTIMEOUT, 3L);
|
||||
curl_easy_setopt(curl, CURLOPT_TIMEOUT, 3L);
|
||||
curl_easy_setopt(curl, CURLOPT_NOSIGNAL, 1L);
|
||||
|
||||
CURLcode res = curl_easy_perform(curl);
|
||||
if (res != CURLE_OK)
|
||||
{
|
||||
curl_easy_cleanup(curl);
|
||||
return false;
|
||||
}
|
||||
|
||||
long response_code = 0;
|
||||
curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &response_code);
|
||||
curl_easy_cleanup(curl);
|
||||
|
||||
return (response_code >= 200 && response_code < 300);
|
||||
}
|
||||
|
||||
std::wstring GetFirstReachableUrl() {
|
||||
for (const auto& url : g_webuiUrls) {
|
||||
if (IsEndpointReachable(url)) {
|
||||
return url;
|
||||
}
|
||||
}
|
||||
// Fallback to first URL or handle error
|
||||
return g_webuiUrls.empty() ? L"" : g_webuiUrls[0];
|
||||
}
|
||||
|
||||
bool URLContainsAny(const std::wstring& url) {
|
||||
if (std::find(g_domainWhitelist.begin(), g_domainWhitelist.end(), g_webuiUrl) == g_domainWhitelist.end()) {
|
||||
g_domainWhitelist.push_back(g_webuiUrl);
|
||||
}
|
||||
return std::any_of(g_domainWhitelist.begin(), g_domainWhitelist.end(), [&](const std::wstring& sub) {
|
||||
return url.find(sub) != std::wstring::npos;
|
||||
});
|
||||
}
|
||||
|
||||
static size_t WriteCallback(void* contents, size_t size, size_t nmemb, void* userp)
|
||||
{
|
||||
size_t totalSize = size * nmemb;
|
||||
std::string* str = static_cast<std::string*>(userp);
|
||||
str->append(static_cast<char*>(contents), totalSize);
|
||||
return totalSize;
|
||||
}
|
||||
|
||||
bool FetchAndParseWhitelist()
|
||||
{
|
||||
std::string urlUtf8 = WStringToUtf8(g_extensionsDetailsUrl);
|
||||
CURL* curl = curl_easy_init();
|
||||
if (!curl)
|
||||
return false;
|
||||
|
||||
std::string response;
|
||||
curl_easy_setopt(curl, CURLOPT_URL, urlUtf8.c_str());
|
||||
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, WriteCallback);
|
||||
curl_easy_setopt(curl, CURLOPT_WRITEDATA, &response);
|
||||
curl_easy_setopt(curl, CURLOPT_CONNECTTIMEOUT, 3L);
|
||||
curl_easy_setopt(curl, CURLOPT_TIMEOUT, 3L);
|
||||
curl_easy_setopt(curl, CURLOPT_NOSIGNAL, 1L);
|
||||
|
||||
CURLcode res = curl_easy_perform(curl);
|
||||
curl_easy_cleanup(curl);
|
||||
|
||||
if (res != CURLE_OK)
|
||||
return false;
|
||||
|
||||
try {
|
||||
json j = json::parse(response);
|
||||
if (j.contains("domains") && j["domains"].is_array()) {
|
||||
g_domainWhitelist.clear();
|
||||
for (const auto& domain : j["domains"]) {
|
||||
if (domain.is_string()) {
|
||||
g_domainWhitelist.push_back(Utf8ToWstring(domain.get<std::string>()));
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
} catch (...) {
|
||||
std::wcout << L"[HELPER]: Failed json parsing of domain whitelist for extensions..." << std::endl;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
void ScaleWithDPI() {
|
||||
if (!g_hWnd) return;
|
||||
UINT dpi = 96;
|
||||
HMONITOR hMonitor = MonitorFromWindow(g_hWnd, MONITOR_DEFAULTTOPRIMARY);
|
||||
HRESULT hr = GetDpiForMonitor(hMonitor, MDT_EFFECTIVE_DPI, &dpi, nullptr);
|
||||
if (FAILED(hr)) {
|
||||
// Fall back to using g_hWnd's DPI if GetDpiForMonitor is unavailable
|
||||
if (IsWindowsVersionOrGreater(10, 0, 1607))
|
||||
{
|
||||
dpi = GetDpiForWindow(g_hWnd);
|
||||
}
|
||||
else
|
||||
{
|
||||
HDC hdc = GetDC(g_hWnd);
|
||||
dpi = GetDeviceCaps(hdc, LOGPIXELSX);
|
||||
ReleaseDC(g_hWnd, hdc);
|
||||
}
|
||||
}
|
||||
// Lambda to scale a value based on current DPI
|
||||
auto ScaleValue = [dpi](int value) -> int {
|
||||
return MulDiv(value, dpi, 96);
|
||||
};
|
||||
g_tray_itemH = ScaleValue(g_tray_itemH);
|
||||
g_tray_sepH = ScaleValue(g_tray_sepH);
|
||||
g_tray_w = ScaleValue(g_tray_w);
|
||||
g_font_height = ScaleValue(g_font_height);
|
||||
}
|
||||
|
||||
// ---- UTF-8 file read
|
||||
bool ReadFileUtf8(const std::wstring& path, std::string& out)
|
||||
{
|
||||
std::ifstream f(path, std::ios::binary);
|
||||
if (!f) return false;
|
||||
f.seekg(0, std::ios::end);
|
||||
std::streamsize size = f.tellg();
|
||||
f.seekg(0, std::ios::beg);
|
||||
out.resize(static_cast<size_t>(size));
|
||||
if (size > 0) f.read(&out[0], size);
|
||||
return true;
|
||||
}
|
||||
|
||||
// ---- tiny Base64
|
||||
std::string Base64Encode(const std::string& in)
|
||||
{
|
||||
static const char* T = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
|
||||
std::string out;
|
||||
out.reserve(((in.size() + 2) / 3) * 4);
|
||||
int val = 0, valb = -6;
|
||||
for (uint8_t c : in) {
|
||||
val = (val << 8) + c;
|
||||
valb += 8;
|
||||
while (valb >= 0) {
|
||||
out.push_back(T[(val >> valb) & 0x3F]);
|
||||
valb -= 6;
|
||||
}
|
||||
}
|
||||
if (valb > -6) out.push_back(T[((val << 8) >> (valb + 8)) & 0x3F]);
|
||||
while (out.size() % 4) out.push_back('=');
|
||||
return out;
|
||||
}
|
||||
|
||||
// ---- wrap CSS text into a safe injector (decodes UTF-8 from base64)
|
||||
std::wstring MakeInjectCssScript(const std::wstring& idSafe, const std::string& cssUtf8)
|
||||
{
|
||||
const std::string b64 = Base64Encode(cssUtf8);
|
||||
const std::wstring wb64 = Utf8ToWstring(b64);
|
||||
std::wstringstream ss;
|
||||
|
||||
ss <<
|
||||
L"(function(){try{"
|
||||
L"if(window.top!==window)return;"
|
||||
L"var id='webmods-css-" << idSafe << L"';"
|
||||
L"function inject(){"
|
||||
L"try{"
|
||||
L"var root=document.head||document.documentElement||document.body;"
|
||||
L"if(!root){"
|
||||
L"document.addEventListener('DOMContentLoaded',inject,{once:true});"
|
||||
L"document.addEventListener('readystatechange',function(){"
|
||||
L"if(document.readyState==='interactive'||document.readyState==='complete')inject();"
|
||||
L"},{once:true});"
|
||||
L"setTimeout(inject,25);"
|
||||
L"return;"
|
||||
L"}"
|
||||
L"if(document.getElementById(id))return;"
|
||||
L"var bin=atob('" << wb64 << L"');"
|
||||
L"var bytes=new Uint8Array(bin.length);"
|
||||
L"for(var i=0;i<bin.length;i++)bytes[i]=bin.charCodeAt(i);"
|
||||
L"var css='';"
|
||||
L"try{css=new TextDecoder('utf-8').decode(bytes);}catch(e){css=decodeURIComponent(escape(bin));}"
|
||||
L"var s=document.createElement('style');"
|
||||
L"s.id=id;"
|
||||
L"s.textContent=css;"
|
||||
L"root.appendChild(s);"
|
||||
L"}catch(e){console.error('webmods css inject tick failed:',e);setTimeout(inject,50);}"
|
||||
L"}"
|
||||
L"inject();"
|
||||
L"}catch(e){console.error('webmods css inject failed:',e);}})();";
|
||||
|
||||
return ss.str();
|
||||
}
|
||||
|
||||
|
||||
// ---- wrap JS text into a safe executor
|
||||
std::wstring MakeInjectJsScript(const std::wstring&,const std::string& jsUtf8)
|
||||
{
|
||||
const std::string b64 = Base64Encode(jsUtf8);
|
||||
const std::wstring wb64 = Utf8ToWstring(b64);
|
||||
std::wstringstream ss;
|
||||
|
||||
ss <<
|
||||
L"(function(){try{"
|
||||
L"if(window.top!==window)return;"
|
||||
L"function run(){"
|
||||
L"try{"
|
||||
L"var bin=atob('" << wb64 << L"');"
|
||||
L"var bytes=new Uint8Array(bin.length);"
|
||||
L"for(var i=0;i<bin.length;i++)bytes[i]=bin.charCodeAt(i);"
|
||||
L"var js='';"
|
||||
L"try{js=new TextDecoder('utf-8').decode(bytes);}catch(e){js=decodeURIComponent(escape(bin));}"
|
||||
L"(0,eval)(js);"
|
||||
L"}catch(e){console.error('webmods js exec tick failed:',e);setTimeout(run,25);}"
|
||||
L"}"
|
||||
L"run();"
|
||||
L"}catch(e){console.error('webmods js exec failed:',e);}})();";
|
||||
|
||||
return ss.str();
|
||||
}
|
||||
|
|
@ -10,9 +10,16 @@ std::string WStringToUtf8(const std::wstring &wstr);
|
|||
std::wstring Utf8ToWstring(const std::string& utf8Str);
|
||||
std::string decodeURIComponent(const std::string& encoded);
|
||||
std::wstring GetExeDirectory();
|
||||
std::wstring GetFirstReachableUrl();
|
||||
std::wstring MakeInjectCssScript(const std::wstring& idSafe, const std::string& cssUtf8);
|
||||
std::wstring MakeInjectJsScript(const std::wstring& idSafe, const std::string& jsUtf8);
|
||||
bool FileExists(const std::wstring& path);
|
||||
bool DirectoryExists(const std::wstring& dirPath);
|
||||
bool IsDuplicateProcessRunning(const std::vector<std::wstring>& targetProcesses);
|
||||
bool isSubtitle(const std::wstring& filePath);
|
||||
bool URLContainsAny(const std::wstring& url);
|
||||
bool FetchAndParseWhitelist();
|
||||
void ScaleWithDPI();
|
||||
bool ReadFileUtf8(const std::wstring& path, std::string& out);
|
||||
|
||||
#endif // HELPERS_H
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
#include <string>
|
||||
#include <thread>
|
||||
#include <cmath>
|
||||
#include <fstream>
|
||||
#include <iostream>
|
||||
#include <Shlwapi.h>
|
||||
#include <wrl.h>
|
||||
|
|
@ -9,6 +10,7 @@
|
|||
#include "../utils/crashlog.h"
|
||||
#include "../utils/helpers.h"
|
||||
#include "../ui/mainwindow.h"
|
||||
#include "../utils/extensions.h"
|
||||
|
||||
static const wchar_t* EXEC_SHELL_SCRIPT = LR"JS_CODE(
|
||||
try {
|
||||
|
|
@ -86,6 +88,78 @@ static const wchar_t* INJECTED_KEYDOWN_SCRIPT = LR"JS(
|
|||
})();
|
||||
)JS";
|
||||
|
||||
static const wchar_t* INJECTED_BUTTON_SCRIPT = LR"JS(
|
||||
(function() {
|
||||
// Create the button element
|
||||
var btn = document.createElement('button');
|
||||
btn.id = 'goBackStremioBtn';
|
||||
|
||||
// Style the button:
|
||||
btn.style.position = 'fixed';
|
||||
btn.style.bottom = '15px';
|
||||
btn.style.right = '15px';
|
||||
btn.style.zIndex = '9999';
|
||||
btn.style.backgroundColor = '#121024'; // Purple
|
||||
btn.style.color = 'white';
|
||||
btn.style.border = 'none';
|
||||
btn.style.borderRadius = '30px';
|
||||
btn.style.padding = '12px 20px';
|
||||
btn.style.fontSize = '16px';
|
||||
btn.style.fontWeight = 'bold';
|
||||
btn.style.display = 'flex';
|
||||
btn.style.alignItems = 'center';
|
||||
btn.style.boxShadow = '0 4px 6px rgba(0,0,0,0.1)';
|
||||
btn.style.cursor = 'pointer';
|
||||
btn.style.transition = 'background-color 0.3s ease';
|
||||
|
||||
// Hover effect:
|
||||
btn.addEventListener('mouseenter', function() {
|
||||
btn.style.backgroundColor = '#211e39'; // Gray
|
||||
});
|
||||
btn.addEventListener('mouseleave', function() {
|
||||
btn.style.backgroundColor = '#121024';
|
||||
});
|
||||
|
||||
// Create an image element for the logo
|
||||
var img = document.createElement('img');
|
||||
img.src = 'https://stremio.zarg.me/images/stremio_symbol.png';
|
||||
img.alt = 'Logo';
|
||||
img.style.height = '24px';
|
||||
img.style.width = '24px';
|
||||
img.style.marginRight = '8px';
|
||||
|
||||
img.addEventListener('error', function() {
|
||||
img.style.display = 'none';
|
||||
});
|
||||
|
||||
// Create a text element
|
||||
var txt = document.createElement('span');
|
||||
txt.textContent = 'Back to Stremio';
|
||||
|
||||
// Append the logo and text to the button
|
||||
btn.appendChild(img);
|
||||
btn.appendChild(txt);
|
||||
|
||||
// On click go home
|
||||
btn.addEventListener('click', function() {
|
||||
const payload = {
|
||||
type: 6,
|
||||
object: "transport",
|
||||
method: "handleInboundJSON",
|
||||
id: 666,
|
||||
args: [
|
||||
"navigate",
|
||||
[ "home" ]
|
||||
]
|
||||
};
|
||||
window.chrome.webview.postMessage(JSON.stringify(payload));
|
||||
});
|
||||
|
||||
// Append the button to the document body
|
||||
document.body.appendChild(btn);
|
||||
})();
|
||||
)JS";
|
||||
|
||||
void WaitAndRefreshIfNeeded()
|
||||
{
|
||||
std::thread([](){
|
||||
|
|
@ -193,7 +267,7 @@ void InitWebView2(HWND hWnd)
|
|||
if (!settings) return E_FAIL;
|
||||
|
||||
if(settings) {
|
||||
#ifndef DEBUG_BUILD
|
||||
#ifndef DEBUG_LOG
|
||||
settings->put_AreDevToolsEnabled(FALSE);
|
||||
#endif
|
||||
settings->put_IsStatusBarEnabled(FALSE);
|
||||
|
|
@ -215,11 +289,19 @@ void InitWebView2(HWND hWnd)
|
|||
g_webview->AddScriptToExecuteOnDocumentCreated(EXEC_SHELL_SCRIPT,nullptr);
|
||||
g_webview->AddScriptToExecuteOnDocumentCreated(INJECTED_KEYDOWN_SCRIPT,nullptr);
|
||||
|
||||
SetupWebMods();
|
||||
|
||||
SetupExtensions();
|
||||
SetupWebMessageHandler();
|
||||
|
||||
std::wcout << L"[WEBVIEW]: Navigating to " << g_webuiUrl << std::endl;
|
||||
g_webview->Navigate(g_webuiUrl.c_str());
|
||||
std::thread([](){
|
||||
std::wcout << L"[WEBVIEW]: Checking web ui endpoints..." << std::endl;
|
||||
std::wstring foundUrl = GetFirstReachableUrl();
|
||||
std::wstring* pResult = new std::wstring(foundUrl);
|
||||
g_webuiUrl = foundUrl;
|
||||
PostMessage(g_hWnd, WM_REACHABILITY_DONE, (WPARAM)pResult, 0);
|
||||
FetchAndParseWhitelist();
|
||||
}).detach();
|
||||
return S_OK;
|
||||
}).Get()
|
||||
);
|
||||
|
|
@ -246,14 +328,34 @@ static void SetupWebMessageHandler()
|
|||
{
|
||||
BOOL isSuccess;
|
||||
args->get_IsSuccess(&isSuccess);
|
||||
|
||||
// Retrieve the final URL
|
||||
wil::unique_cotaskmem_string rawUri;
|
||||
sender->get_Source(&rawUri);
|
||||
std::wstring finalUri = rawUri ? rawUri.get() : L"";
|
||||
std::wcout << L"[WEBVIEW]: Navigation try to " << finalUri << std::endl;
|
||||
|
||||
// Add back to stremio button if not on stremio
|
||||
if (finalUri.find(g_webuiUrl) == std::wstring::npos) {
|
||||
sender->ExecuteScript(INJECTED_BUTTON_SCRIPT, nullptr);
|
||||
}
|
||||
|
||||
if(isSuccess) {
|
||||
std::cout<<"[WEBVIEW]: Navigation Complete - Success\n";
|
||||
sender->ExecuteScript(EXEC_SHELL_SCRIPT, nullptr);
|
||||
// Flush the script queue.
|
||||
if (!g_scriptQueue.empty()) {
|
||||
for (const auto &script : g_scriptQueue) {
|
||||
sender->ExecuteScript(script.c_str(), nullptr);
|
||||
}
|
||||
g_scriptQueue.clear();
|
||||
}
|
||||
} else {
|
||||
std::cout<<"[WEBVIEW]: Navigation failed\n";
|
||||
if(g_hSplash && !g_waitStarted.exchange(true)) {
|
||||
WaitAndRefreshIfNeeded();
|
||||
}
|
||||
HandleExtensions(finalUri);
|
||||
}
|
||||
return S_OK;
|
||||
}).Get(),
|
||||
|
|
@ -287,36 +389,55 @@ static void SetupWebMessageHandler()
|
|||
g_webview->add_ContextMenuRequested(
|
||||
Microsoft::WRL::Callback<ICoreWebView2ContextMenuRequestedEventHandler>(
|
||||
[](ICoreWebView2* sender, ICoreWebView2ContextMenuRequestedEventArgs* args) -> HRESULT {
|
||||
// Existing variable declarations
|
||||
wil::com_ptr<ICoreWebView2ContextMenuItemCollection> items;
|
||||
HRESULT hr = args->get_MenuItems(&items);
|
||||
if (FAILED(hr) || !items) {
|
||||
return hr;
|
||||
}
|
||||
if (FAILED(hr) || !items) return hr;
|
||||
|
||||
#ifdef DEBUG_BUILD
|
||||
#ifdef DEBUG_LOG
|
||||
return S_OK; //DEV TOOLS DEBUG ONLY
|
||||
#endif
|
||||
|
||||
// Get current URL
|
||||
wil::unique_cotaskmem_string currentUri;
|
||||
sender->get_Source(¤tUri);
|
||||
std::wstring uri(currentUri.get());
|
||||
bool isExtensionUrl = uri.starts_with(L"chrome-extension://");
|
||||
|
||||
// Get context menu target
|
||||
wil::com_ptr<ICoreWebView2ContextMenuTarget> target;
|
||||
hr = args->get_ContextMenuTarget(&target);
|
||||
BOOL isEditable = FALSE;
|
||||
if (SUCCEEDED(hr) && target) {
|
||||
hr = target->get_IsEditable(&isEditable);
|
||||
}
|
||||
if (FAILED(hr)) {
|
||||
return hr;
|
||||
target->get_IsEditable(&isEditable);
|
||||
}
|
||||
|
||||
UINT count = 0;
|
||||
items->get_Count(&count);
|
||||
|
||||
if (!isEditable) {
|
||||
while(count > 0) {
|
||||
// Allow only Back command (ID 33000) for extension URLs
|
||||
std::set<INT32> allowedCommands = isExtensionUrl ?
|
||||
std::set<INT32>{33000} :
|
||||
std::set<INT32>{};
|
||||
|
||||
for (UINT i = 0; i < count;) {
|
||||
wil::com_ptr<ICoreWebView2ContextMenuItem> item;
|
||||
items->GetValueAtIndex(0, &item);
|
||||
if(item) {
|
||||
items->RemoveValueAtIndex(0);
|
||||
hr = items->GetValueAtIndex(i, &item);
|
||||
if (FAILED(hr)) {
|
||||
i++;
|
||||
continue;
|
||||
}
|
||||
|
||||
INT32 commandId;
|
||||
item->get_CommandId(&commandId);
|
||||
|
||||
if (allowedCommands.find(commandId) == allowedCommands.end()) {
|
||||
items->RemoveValueAtIndex(i);
|
||||
items->get_Count(&count);
|
||||
} else {
|
||||
i++;
|
||||
}
|
||||
items->get_Count(&count);
|
||||
}
|
||||
return S_OK;
|
||||
}
|
||||
|
|
@ -330,38 +451,26 @@ static void SetupWebMessageHandler()
|
|||
50156 // Select all
|
||||
};
|
||||
|
||||
for (UINT i = 0; i < count; )
|
||||
{
|
||||
for (UINT i = 0; i < count;) {
|
||||
wil::com_ptr<ICoreWebView2ContextMenuItem> item;
|
||||
hr = items->GetValueAtIndex(i, &item);
|
||||
if (FAILED(hr) || !item) {
|
||||
++i;
|
||||
continue;
|
||||
}
|
||||
|
||||
INT32 commandId = 0;
|
||||
hr = item->get_CommandId(&commandId);
|
||||
if (FAILED(hr)) {
|
||||
++i;
|
||||
i++;
|
||||
continue;
|
||||
}
|
||||
|
||||
// If the commandId is not in the allowed list, remove the item
|
||||
INT32 commandId;
|
||||
item->get_CommandId(&commandId);
|
||||
|
||||
if (allowedCommandIds.find(commandId) == allowedCommandIds.end()) {
|
||||
hr = items->RemoveValueAtIndex(i);
|
||||
if (FAILED(hr)) {
|
||||
std::wcerr << L"Failed to remove item at index " << i << std::endl;
|
||||
return hr;
|
||||
}
|
||||
// After removal, the collection size reduces, so update count and don't increment i
|
||||
items->RemoveValueAtIndex(i);
|
||||
items->get_Count(&count);
|
||||
continue;
|
||||
} else {
|
||||
i++;
|
||||
}
|
||||
++i;
|
||||
}
|
||||
return S_OK;
|
||||
}
|
||||
).Get(),
|
||||
}).Get(),
|
||||
&contextMenuToken
|
||||
);
|
||||
|
||||
|
|
@ -399,18 +508,27 @@ static void SetupWebMessageHandler()
|
|||
{
|
||||
std::wstring filePath = wuri.substr(8);
|
||||
std::string utf8FilePath = WStringToUtf8(filePath);
|
||||
|
||||
std::string decodedFilePathUtf8 = decodeURIComponent(utf8FilePath);
|
||||
std::string baseName = std::filesystem::path(decodedFilePathUtf8).filename().string();
|
||||
if (isSubtitle(filePath)) {
|
||||
std::vector<std::string> subaddArgs = {"sub-add",utf8FilePath};
|
||||
std::vector<std::string> subaddArgs = {"sub-add",decodedFilePathUtf8, "select", baseName + " External", "Other Tracks"};
|
||||
HandleEvent("mpv-command", subaddArgs);
|
||||
json j;
|
||||
j["type"] = "SubtitleDropped";
|
||||
j["path"] = utf8FilePath;
|
||||
SendToJS("SubtitleDropped", j);
|
||||
return S_OK;
|
||||
}
|
||||
json j;
|
||||
j["type"] = "FileDropped";
|
||||
j["path"] = utf8FilePath;
|
||||
j["path"] = decodedFilePathUtf8;
|
||||
SendToJS("FileDropped", j);
|
||||
return S_OK;
|
||||
}
|
||||
if (URLContainsAny(wuri)) {
|
||||
g_webview->Navigate(wuri.c_str());
|
||||
return S_OK;
|
||||
}
|
||||
// For non-file URIs, open externally
|
||||
ShellExecuteW(nullptr, L"open", uri.get(), nullptr, nullptr, SW_SHOWNORMAL);
|
||||
}
|
||||
|
|
@ -420,6 +538,26 @@ static void SetupWebMessageHandler()
|
|||
&newWindowToken
|
||||
);
|
||||
|
||||
// For redirects like window.location.replace
|
||||
EventRegistrationToken navstartedToken;
|
||||
g_webview->add_NavigationStarting(
|
||||
Microsoft::WRL::Callback<ICoreWebView2NavigationStartingEventHandler>(
|
||||
[](ICoreWebView2* sender, ICoreWebView2NavigationStartingEventArgs* args) -> HRESULT
|
||||
{
|
||||
wil::unique_cotaskmem_string uri;
|
||||
args->get_Uri(&uri);
|
||||
std::wstring destination(uri.get());
|
||||
|
||||
if (!URLContainsAny(destination)) {
|
||||
args->put_Cancel(TRUE);
|
||||
ShellExecuteW(nullptr, L"open", uri.get(), nullptr, nullptr, SW_SHOWNORMAL);
|
||||
}
|
||||
return S_OK;
|
||||
}
|
||||
).Get(),
|
||||
&navstartedToken
|
||||
);
|
||||
|
||||
// FullScreen
|
||||
EventRegistrationToken cfeToken;
|
||||
g_webview->add_ContainsFullScreenElementChanged(
|
||||
|
|
@ -455,13 +593,24 @@ static void SetupExtensions()
|
|||
try {
|
||||
for(const auto& entry : std::filesystem::directory_iterator(extensionsRoot)) {
|
||||
if(entry.is_directory()) {
|
||||
std::wstring folderName = entry.path().filename().wstring();
|
||||
HRESULT hr = g_webviewProfile->AddBrowserExtension(
|
||||
entry.path().wstring().c_str(),
|
||||
Microsoft::WRL::Callback<ICoreWebView2ProfileAddBrowserExtensionCompletedHandler>(
|
||||
[extPath=entry.path().wstring()](HRESULT result, ICoreWebView2BrowserExtension* extension)->HRESULT
|
||||
[folderName](HRESULT result, ICoreWebView2BrowserExtension* extension)->HRESULT
|
||||
{
|
||||
if(SUCCEEDED(result)) {
|
||||
std::wcout<<L"[EXTENSIONS]: Added extension "<<extPath<<std::endl;
|
||||
if (SUCCEEDED(result) && extension)
|
||||
{
|
||||
wil::unique_cotaskmem_string extId;
|
||||
HRESULT hrId = extension->get_Id(&extId);
|
||||
if (SUCCEEDED(hrId) && extId)
|
||||
{
|
||||
// Store extension ID in the global map
|
||||
g_extensionMap[folderName] = extId.get();
|
||||
std::wcout << L"[EXTENSIONS]: " << folderName
|
||||
<< L" => " << extId.get() << std::endl;
|
||||
}
|
||||
std::wcout << L"[EXTENSIONS]: Added extension " << folderName << std::endl;
|
||||
} else {
|
||||
std::wstring err = L"[EXTENSIONS]: Failed to add extension => " + std::to_wstring(result);
|
||||
AppendToCrashLog(err);
|
||||
|
|
@ -480,6 +629,68 @@ static void SetupExtensions()
|
|||
}
|
||||
}
|
||||
|
||||
static void SetupWebMods()
|
||||
{
|
||||
if (!g_webview) return;
|
||||
|
||||
wchar_t buf[MAX_PATH];
|
||||
GetModuleFileNameW(nullptr, buf, MAX_PATH);
|
||||
std::wstring exeDir = buf;
|
||||
size_t pos = exeDir.find_last_of(L"\\/");
|
||||
if (pos != std::wstring::npos) exeDir.erase(pos);
|
||||
|
||||
const std::filesystem::path root = std::filesystem::path(exeDir) / L"portable_config" / L"webmods";
|
||||
if (!std::filesystem::exists(root) || !std::filesystem::is_directory(root)) {
|
||||
std::wcout << L"[WEBMODS] Folder not found: " << root.wstring() << std::endl;
|
||||
return;
|
||||
}
|
||||
|
||||
std::vector<std::filesystem::path> cssFiles, jsFiles;
|
||||
for (const auto& e : std::filesystem::recursive_directory_iterator(root)) {
|
||||
if (!e.is_regular_file()) continue;
|
||||
auto ext = e.path().extension().wstring();
|
||||
std::transform(ext.begin(), ext.end(), ext.begin(), ::towlower);
|
||||
if (ext == L".map" || ext == L".bak" || ext == L".tmp") continue;
|
||||
if (ext == L".css") cssFiles.push_back(e.path());
|
||||
else if (ext == L".js") jsFiles.push_back(e.path());
|
||||
}
|
||||
|
||||
auto relStr = [&](const std::filesystem::path& p){
|
||||
try { return std::filesystem::relative(p, root).wstring(); }
|
||||
catch(...) { return p.wstring(); }
|
||||
};
|
||||
auto sorter = [&](const std::filesystem::path& a, const std::filesystem::path& b){
|
||||
auto ra = relStr(a), rb = relStr(b);
|
||||
return _wcsicmp(ra.c_str(), rb.c_str()) < 0;
|
||||
};
|
||||
std::sort(cssFiles.begin(), cssFiles.end(), sorter);
|
||||
std::sort(jsFiles.begin(), jsFiles.end(), sorter);
|
||||
|
||||
auto makeId = [&](const std::filesystem::path& p){
|
||||
std::wstring id = relStr(p);
|
||||
for (auto& ch : id) if (!iswalnum(ch)) ch = L'_';
|
||||
return id;
|
||||
};
|
||||
|
||||
for (const auto& p : cssFiles) {
|
||||
std::string content;
|
||||
if (!ReadFileUtf8(p.wstring(), content)) continue;
|
||||
const std::wstring id = makeId(p);
|
||||
const std::wstring script = MakeInjectCssScript(id, content);
|
||||
g_webview->AddScriptToExecuteOnDocumentCreated(script.c_str(), nullptr);
|
||||
std::wcout << L"[WEBMODS] CSS: " << relStr(p) << std::endl;
|
||||
}
|
||||
|
||||
for (const auto& p : jsFiles) {
|
||||
std::string content;
|
||||
if (!ReadFileUtf8(p.wstring(), content)) continue;
|
||||
const std::wstring id = makeId(p);
|
||||
const std::wstring script = MakeInjectJsScript(id, content);
|
||||
g_webview->AddScriptToExecuteOnDocumentCreated(script.c_str(), nullptr);
|
||||
std::wcout << L"[WEBMODS] JS: " << relStr(p) << std::endl;
|
||||
}
|
||||
}
|
||||
|
||||
void refreshWeb(const bool refreshAll) {
|
||||
if (g_webviewProfile && refreshAll)
|
||||
{
|
||||
|
|
@ -504,4 +715,4 @@ void refreshWeb(const bool refreshAll) {
|
|||
if (g_webview) {
|
||||
g_webview->Reload();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -9,5 +9,6 @@ void WaitAndRefreshIfNeeded();
|
|||
void refreshWeb(bool refreshAll);
|
||||
static void SetupWebMessageHandler();
|
||||
static void SetupExtensions();
|
||||
static void SetupWebMods();
|
||||
|
||||
#endif // WEBVIEW_H
|
||||
|
|
|
|||
|
|
@ -3,5 +3,5 @@
|
|||
|
||||
#define IDR_MAINFRAME 101
|
||||
|
||||
IDR_MAINFRAME ICON "images/stremio.ico"
|
||||
IDR_MAINFRAME ICON "images/stremio2.ico"
|
||||
IDR_SPLASH_PNG RCDATA "images/stremio.png"
|
||||
|
|
|
|||
BIN
utils/chocolatey/stremio-desktop-v5.5.0.18.nupkg
Normal file
BIN
utils/chocolatey/stremio-desktop-v5.5.0.18.nupkg
Normal file
Binary file not shown.
BIN
utils/chocolatey/stremio-desktop-v5.5.0.19.nupkg
Normal file
BIN
utils/chocolatey/stremio-desktop-v5.5.0.19.nupkg
Normal file
Binary file not shown.
BIN
utils/chocolatey/stremio-desktop-v5.5.0.21.nupkg
Normal file
BIN
utils/chocolatey/stremio-desktop-v5.5.0.21.nupkg
Normal file
Binary file not shown.
|
|
@ -2,7 +2,7 @@
|
|||
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
|
||||
<metadata>
|
||||
<id>stremio-desktop-v5</id>
|
||||
<version>5.0.14</version>
|
||||
<version>5.0.21</version>
|
||||
<title>Stremio Desktop v5</title>
|
||||
<authors>Zarg</authors>
|
||||
<owners>Zarg</owners>
|
||||
|
|
|
|||
|
|
@ -11,12 +11,12 @@ $packageArgs = @{
|
|||
|
||||
|
||||
if ([Environment]::Is64BitOperatingSystem) {
|
||||
$packageArgs['url'] = 'https://github.com/Zaarrg/stremio-desktop-v5/releases/download/5.0.0-beta.14/Stremio.5.0.14-x64.exe'
|
||||
$packageArgs['checksum'] = '2d206f6e5d7ce22be968211ef445fa5febdeaf4cae8223945d7602296f03effe'
|
||||
$packageArgs['url'] = 'https://github.com/Zaarrg/stremio-desktop-v5/releases/download/5.0.0-beta.21/Stremio.5.0.21-x64.exe'
|
||||
$packageArgs['checksum'] = '6b2597e3179355fb59b62df762d65dbe3e493f96471fa3cf17e1620fadd0a1d7'
|
||||
$packageArgs['checksumType'] = 'sha256'
|
||||
} else {
|
||||
$packageArgs['url'] = 'https://github.com/Zaarrg/stremio-desktop-v5/releases/download/5.0.0-beta.14/Stremio.5.0.14-x86.exe'
|
||||
$packageArgs['checksum'] = '2a8caede355650a6f018c53ab3b3fcd25c2fb264aa06c190ee007f0bf7d90f80'
|
||||
$packageArgs['url'] = 'https://github.com/Zaarrg/stremio-desktop-v5/releases/download/5.0.0-beta.21/Stremio.5.0.21-x86.exe'
|
||||
$packageArgs['checksum'] = 'f2dfad202ae03b26a1d584d9a4e8747be6e0b078e6c6c5773d57632bdfe3aee0'
|
||||
$packageArgs['checksumType'] = 'sha256'
|
||||
}
|
||||
|
||||
|
|
|
|||
BIN
utils/mpv/Default Portable Config.7z
Normal file
BIN
utils/mpv/Default Portable Config.7z
Normal file
Binary file not shown.
|
|
@ -5,6 +5,7 @@ CTRL+3 no-osd change-list glsl-shaders set "~~/shaders/Anime4K_Clamp_Highlights.
|
|||
CTRL+4 no-osd change-list glsl-shaders set "~~/shaders/Anime4K_Clamp_Highlights.glsl;~~/shaders/Anime4K_Restore_CNN_VL.glsl;~~/shaders/Anime4K_Upscale_CNN_x2_VL.glsl;~~/shaders/Anime4K_Restore_CNN_M.glsl;~~/shaders/Anime4K_AutoDownscalePre_x2.glsl;~~/shaders/Anime4K_AutoDownscalePre_x4.glsl;~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl"; show-text "Anime4K: Mode A+A (HQ)"
|
||||
CTRL+5 no-osd change-list glsl-shaders set "~~/shaders/Anime4K_Clamp_Highlights.glsl;~~/shaders/Anime4K_Restore_CNN_Soft_VL.glsl;~~/shaders/Anime4K_Upscale_CNN_x2_VL.glsl;~~/shaders/Anime4K_AutoDownscalePre_x2.glsl;~~/shaders/Anime4K_AutoDownscalePre_x4.glsl;~~/shaders/Anime4K_Restore_CNN_Soft_M.glsl;~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl"; show-text "Anime4K: Mode B+B (HQ)"
|
||||
CTRL+6 no-osd change-list glsl-shaders set "~~/shaders/Anime4K_Clamp_Highlights.glsl;~~/shaders/Anime4K_Upscale_Denoise_CNN_x2_VL.glsl;~~/shaders/Anime4K_AutoDownscalePre_x2.glsl;~~/shaders/Anime4K_AutoDownscalePre_x4.glsl;~~/shaders/Anime4K_Restore_CNN_M.glsl;~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl"; show-text "Anime4K: Mode C+A (HQ)"
|
||||
CTRL+7 no-osd change-list glsl-shaders set "~~/shaders/FSR.glsl"; show-text "FSR"
|
||||
|
||||
CTRL+0 no-osd change-list glsl-shaders clr ""; show-text "GLSL shaders cleared"
|
||||
# Audio Normalization
|
||||
|
|
|
|||
151
utils/mpv/anime4k/portable_config/scripts/skip-intro.lua
Normal file
151
utils/mpv/anime4k/portable_config/scripts/skip-intro.lua
Normal file
|
|
@ -0,0 +1,151 @@
|
|||
MAX_SPEED = 100
|
||||
NORMAL_SPEED = 1
|
||||
ONE_SECOND = 1
|
||||
skip = false
|
||||
-- Max noise (dB) and min silence duration (s) to trigger
|
||||
opts = { quietness = -30, duration = 0.5 }
|
||||
|
||||
|
||||
function setOptions()
|
||||
local options = require 'mp.options'
|
||||
options.read_options(opts)
|
||||
end
|
||||
|
||||
function setTime(time)
|
||||
mp.set_property_number('time-pos', time)
|
||||
end
|
||||
|
||||
function getTime()
|
||||
return mp.get_property_native('time-pos')
|
||||
end
|
||||
|
||||
function setSpeed(speed)
|
||||
mp.set_property('speed', speed)
|
||||
end
|
||||
|
||||
function setPause(state)
|
||||
mp.set_property_bool('pause', state)
|
||||
end
|
||||
|
||||
function setMute(state)
|
||||
mp.set_property_bool('mute', state)
|
||||
end
|
||||
|
||||
function initAudioFilter()
|
||||
local af_table = mp.get_property_native('af')
|
||||
af_table[#af_table + 1] = {
|
||||
enabled = false,
|
||||
label = 'silencedetect',
|
||||
name = 'lavfi',
|
||||
params = { graph = 'silencedetect=noise=' .. opts.quietness .. 'dB:d=' .. opts.duration }
|
||||
}
|
||||
mp.set_property_native('af', af_table)
|
||||
end
|
||||
|
||||
function initVideoFilter()
|
||||
local vf_table = mp.get_property_native('vf')
|
||||
vf_table[#vf_table + 1] = {
|
||||
enabled = false,
|
||||
label = 'blackout',
|
||||
name = 'lavfi',
|
||||
params = { graph = '' }
|
||||
}
|
||||
mp.set_property_native('vf', vf_table)
|
||||
end
|
||||
|
||||
function setAudioFilter(state)
|
||||
local af_table = mp.get_property_native('af')
|
||||
if #af_table > 0 then
|
||||
for i = #af_table, 1, -1 do
|
||||
if af_table[i].label == 'silencedetect' then
|
||||
af_table[i].enabled = state
|
||||
mp.set_property_native('af', af_table)
|
||||
break
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function dim(state)
|
||||
local dim = { width = 0, height = 0 }
|
||||
if state == true then
|
||||
dim.width = mp.get_property_native('width')
|
||||
dim.height = mp.get_property_native('height')
|
||||
end
|
||||
return dim.width .. 'x' .. dim.height
|
||||
end
|
||||
|
||||
function setVideoFilter(state)
|
||||
local vf_table = mp.get_property_native('vf')
|
||||
if #vf_table > 0 then
|
||||
for i = #vf_table, 1, -1 do
|
||||
if vf_table[i].label == 'blackout' then
|
||||
vf_table[i].enabled = state
|
||||
vf_table[i].params = { graph = 'nullsink,color=c=black:s=' .. dim(state) }
|
||||
mp.set_property_native('vf', vf_table)
|
||||
break
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function silenceTrigger(name, value)
|
||||
if value == '{}' or value == nil then
|
||||
return
|
||||
end
|
||||
|
||||
local skipTime = tonumber(string.match(value, '%d+%.?%d+'))
|
||||
local currTime = getTime()
|
||||
|
||||
if skipTime == nil or skipTime < currTime + ONE_SECOND then
|
||||
return
|
||||
end
|
||||
|
||||
stopSkip()
|
||||
setTime(skipTime)
|
||||
skip = false
|
||||
end
|
||||
|
||||
function setAudioTrigger(state)
|
||||
if state == true then
|
||||
mp.observe_property('af-metadata/silencedetect', 'string', silenceTrigger)
|
||||
else
|
||||
mp.unobserve_property(silenceTrigger)
|
||||
end
|
||||
end
|
||||
|
||||
function startSkip()
|
||||
startTime = getTime()
|
||||
-- This audio filter detects moments of silence
|
||||
setAudioFilter(true)
|
||||
-- This video filter makes fast-forward faster
|
||||
setVideoFilter(true)
|
||||
setAudioTrigger(true)
|
||||
setPause(false)
|
||||
setMute(true)
|
||||
setSpeed(MAX_SPEED)
|
||||
end
|
||||
|
||||
function stopSkip()
|
||||
setAudioFilter(false)
|
||||
setVideoFilter(false)
|
||||
setAudioTrigger(false)
|
||||
setMute(false)
|
||||
setSpeed(NORMAL_SPEED)
|
||||
end
|
||||
|
||||
function keypress()
|
||||
skip = not skip
|
||||
if skip then
|
||||
startSkip()
|
||||
else
|
||||
stopSkip()
|
||||
setTime(startTime)
|
||||
end
|
||||
end
|
||||
|
||||
setOptions(opts)
|
||||
initAudioFilter()
|
||||
initVideoFilter()
|
||||
|
||||
mp.add_key_binding('Tab', 'skip-key', keypress)
|
||||
|
|
@ -1,12 +1,12 @@
|
|||
{
|
||||
"version": "5.0.14",
|
||||
"version": "5.0.21",
|
||||
"description": "Stremio Desktop v5 Community",
|
||||
"homepage": "https://github.com/Zaarrg/stremio-desktop-v5",
|
||||
"license": "GPL-3.0",
|
||||
"architecture": {
|
||||
"64bit": {
|
||||
"url": "https://github.com/Zaarrg/stremio-desktop-v5/releases/download/5.0.0-beta.14/Stremio.5.0.14-x64.exe",
|
||||
"hash": "2d206f6e5d7ce22be968211ef445fa5febdeaf4cae8223945d7602296f03effe",
|
||||
"url": "https://github.com/Zaarrg/stremio-desktop-v5/releases/download/5.0.0-beta.21/Stremio.5.0.21-x64.exe",
|
||||
"hash": "6b2597e3179355fb59b62df762d65dbe3e493f96471fa3cf17e1620fadd0a1d7",
|
||||
"installer": {
|
||||
"args": [
|
||||
"/S"
|
||||
|
|
@ -24,8 +24,8 @@
|
|||
}
|
||||
},
|
||||
"32bit": {
|
||||
"url": "https://github.com/Zaarrg/stremio-desktop-v5/releases/download/5.0.0-beta.14/Stremio.5.0.14-x86.exe",
|
||||
"hash": "2a8caede355650a6f018c53ab3b3fcd25c2fb264aa06c190ee007f0bf7d90f80",
|
||||
"url": "https://github.com/Zaarrg/stremio-desktop-v5/releases/download/5.0.0-beta.21/Stremio.5.0.21-x86.exe",
|
||||
"hash": "f2dfad202ae03b26a1d584d9a4e8747be6e0b078e6c6c5773d57632bdfe3aee0",
|
||||
"installer": {
|
||||
"args": [
|
||||
"/S"
|
||||
|
|
|
|||
BIN
utils/webmods/fullscreen-on-launch.7z
Normal file
BIN
utils/webmods/fullscreen-on-launch.7z
Normal file
Binary file not shown.
BIN
utils/webmods/liquid-glass-theme-v1.rar
Normal file
BIN
utils/webmods/liquid-glass-theme-v1.rar
Normal file
Binary file not shown.
BIN
utils/windows/StremioServiceSetup.exe
Normal file
BIN
utils/windows/StremioServiceSetup.exe
Normal file
Binary file not shown.
|
|
@ -70,15 +70,13 @@ RequestExecutionLevel user
|
|||
;Define UI settings
|
||||
|
||||
;!define MUI_UI_HEADERIMAGE_RIGHT "../../../images/icon.png"
|
||||
!define MUI_ICON "../../../images/stremio.ico"
|
||||
!define MUI_UNICON "../../../images/stremio.ico"
|
||||
!define MUI_ICON "../../../images/stremio2.ico"
|
||||
!define MUI_UNICON "../../../images/stremio2.ico"
|
||||
|
||||
; WARNING; these bmps have to be generated in BMP3 - convert SMTH BMP3:SMTH.bmp
|
||||
!define MUI_WELCOMEFINISHPAGE_BITMAP "windows-installer.bmp"
|
||||
!define MUI_UNWELCOMEFINISHPAGE_BITMAP "windows-installer.bmp"
|
||||
!define MUI_ABORTWARNING
|
||||
!define MUI_FINISHPAGE_LINK "www.stremio.com"
|
||||
!define MUI_FINISHPAGE_LINK_LOCATION "${APP_URL}"
|
||||
!define MUI_FINISHPAGE_RUN "$INSTDIR\stremio.exe"
|
||||
|
||||
; Hack...
|
||||
|
|
@ -145,25 +143,53 @@ Var AssociateMagnetCheckbox
|
|||
Var AssociateMediaCheckbox
|
||||
Var AssociateTorrentCheckbox
|
||||
Var checkbox_value
|
||||
Var InstallStremioServiceCheckbox
|
||||
|
||||
Function fin_pg_options
|
||||
${NSD_CreateCheckbox} 180 -100 100% 8u "Associate ${APP_NAME} with .torrent files"
|
||||
; Install Stremio Service checkbox (top)
|
||||
${NSD_CreateCheckbox} 180 -100 100% 8u "Install Stremio Service"
|
||||
Pop $InstallStremioServiceCheckbox
|
||||
SetCtlColors $InstallStremioServiceCheckbox '0xFF0000' '0xFFFFFF'
|
||||
${NSD_Uncheck} $InstallStremioServiceCheckbox
|
||||
|
||||
; Leave a visual gap here (e.g., 20 pixels)
|
||||
|
||||
${NSD_CreateCheckbox} 180 -70 100% 8u "Associate ${APP_NAME} with .torrent files"
|
||||
Pop $AssociateTorrentCheckbox
|
||||
SetCtlColors $AssociateTorrentCheckbox '0xFF0000' '0xFFFFFF'
|
||||
${NSD_Check} $AssociateTorrentCheckbox
|
||||
|
||||
${NSD_CreateCheckbox} 180 -80 100% 8u "Associate ${APP_NAME} with magnet links"
|
||||
${NSD_CreateCheckbox} 180 -50 100% 8u "Associate ${APP_NAME} with magnet links"
|
||||
Pop $AssociateMagnetCheckbox
|
||||
SetCtlColors $AssociateMagnetCheckbox '0xFF0000' '0xFFFFFF'
|
||||
${NSD_Check} $AssociateMagnetCheckbox
|
||||
|
||||
${NSD_CreateCheckbox} 180 -60 100% 8u "Associate ${APP_NAME} as media player"
|
||||
${NSD_CreateCheckbox} 180 -30 100% 8u "Associate ${APP_NAME} as media player"
|
||||
Pop $AssociateMediaCheckbox
|
||||
SetCtlColors $AssociateMediaCheckbox '0xFF0000' '0xFFFFFF'
|
||||
${NSD_Check} $AssociateMediaCheckbox
|
||||
FunctionEnd
|
||||
|
||||
Function fin_pg_leave
|
||||
; Check "Install Stremio Service" checkbox state
|
||||
${NSD_GetState} $InstallStremioServiceCheckbox $checkbox_value
|
||||
${If} $checkbox_value == ${BST_CHECKED}
|
||||
SetDetailsPrint textonly
|
||||
DetailPrint "Installing Stremio Service..."
|
||||
SetDetailsPrint none
|
||||
; Extract StremioServiceSetup.exe
|
||||
File "/oname=$PLUGINSDIR\StremioServiceSetup.exe" "..\StremioServiceSetup.exe"
|
||||
ExecWait '"$PLUGINSDIR\StremioServiceSetup.exe" /silent' $R0
|
||||
SetDetailsPrint textonly
|
||||
${If} $R0 == 0
|
||||
DetailPrint "Stremio Service installed successfully."
|
||||
${Else}
|
||||
DetailPrint "Failed to install Stremio Service (error: $R0)."
|
||||
MessageBox MB_OK|MB_ICONEXCLAMATION "Error installing Stremio Service (error code: $R0)."
|
||||
${EndIf}
|
||||
SetDetailsPrint none
|
||||
${EndIf}
|
||||
|
||||
${NSD_GetState} $AssociateTorrentCheckbox $checkbox_value
|
||||
${If} $checkbox_value == ${BST_CHECKED}
|
||||
!insertmacro APP_ASSOCIATE "torrent" "stremio" "BitTorrent file" "$INSTDIR\stremio.exe,0" "Play with Stremio" "$INSTDIR\stremio.exe $\"%1$\""
|
||||
|
|
@ -308,6 +334,14 @@ Function ${un}RemoveAllExceptWebView2
|
|||
StrCmp $R2 "." Next
|
||||
StrCmp $R2 ".." Next
|
||||
|
||||
; Check if this item’s name begins with our backup folder prefix.
|
||||
; Copy the first 23 characters ("portable_config_backup_") into $R5.
|
||||
StrCpy $R5 $R2 23
|
||||
StrCmp $R5 "portable_config_backup_" 0 notBackup
|
||||
; If equal, skip deletion for this folder.
|
||||
Goto next
|
||||
notBackup:
|
||||
|
||||
; Skip the excluded directory
|
||||
StrCmp $R2 $R0 Next
|
||||
|
||||
|
|
@ -468,6 +502,86 @@ done:
|
|||
; --- End custom override logic ---
|
||||
FunctionEnd
|
||||
|
||||
Var TIMESTAMP
|
||||
Var day
|
||||
Var month
|
||||
Var year
|
||||
Var day_name
|
||||
Var hours
|
||||
Var minutes
|
||||
Var seconds
|
||||
|
||||
Function GetTimestamp
|
||||
; Get local time.
|
||||
${GetTime} "" "L" $day $month $year $day_name $hours $minutes $seconds
|
||||
|
||||
; Construct the timestamp string.
|
||||
; Example: if day="01", month="04", year="2025", hours="16", minutes="05", seconds="50",
|
||||
; the resulting string will be: "20250401_160550"
|
||||
StrCpy $TIMESTAMP "$year$month$day_$hours$minutes$seconds"
|
||||
FunctionEnd
|
||||
|
||||
Function BackupPortableConfig
|
||||
; Check if portable_config exists; if so, back it up.
|
||||
IfFileExists "$INSTDIR\portable_config\*.*" 0 backup_done
|
||||
; Get the current timestamp (sets the global variable $TIMESTAMP)
|
||||
Call GetTimestamp
|
||||
; Rename portable_config to portable_config_backup_<TIMESTAMP>
|
||||
Rename "$INSTDIR\portable_config" "$INSTDIR\portable_config_backup_$TIMESTAMP"
|
||||
backup_done:
|
||||
FunctionEnd
|
||||
|
||||
Function RemoveAll
|
||||
; Prepare registers for deletion loop
|
||||
Push $R2
|
||||
Push $R3
|
||||
Push $R4
|
||||
Push $R5
|
||||
|
||||
ClearErrors
|
||||
FindFirst $R3 $R2 "$INSTDIR\*.*"
|
||||
IfErrors removeAllDone
|
||||
|
||||
loop:
|
||||
; Skip special directories "." and ".."
|
||||
StrCmp $R2 "." next
|
||||
StrCmp $R2 ".." next
|
||||
|
||||
; Check if this item’s name begins with our backup folder prefix.
|
||||
; Copy the first 23 characters ("portable_config_backup_") into $R5.
|
||||
StrCpy $R5 $R2 23
|
||||
StrCmp $R5 "portable_config_backup_" 0 notBackup
|
||||
; If equal, skip deletion for this folder.
|
||||
Goto next
|
||||
notBackup:
|
||||
; Build the full path of this item.
|
||||
StrCpy $R4 "$INSTDIR\$R2"
|
||||
|
||||
; Check whether it's a file or a directory.
|
||||
IfFileExists "$R4\*.*" isDir notDir
|
||||
|
||||
notDir:
|
||||
Delete "$R4"
|
||||
Goto next
|
||||
|
||||
isDir:
|
||||
RMDir /r "$R4"
|
||||
|
||||
next:
|
||||
ClearErrors
|
||||
FindNext $R3 $R2
|
||||
IfErrors removeAllDone
|
||||
Goto loop
|
||||
|
||||
removeAllDone:
|
||||
FindClose $R3
|
||||
|
||||
Pop $R5
|
||||
Pop $R4
|
||||
Pop $R3
|
||||
Pop $R2
|
||||
FunctionEnd
|
||||
|
||||
Section ; App Files
|
||||
!insertmacro checkIfAppIsRunning "$(appIsRunningInstallError)"
|
||||
|
||||
|
|
@ -476,7 +590,16 @@ Section ; App Files
|
|||
|
||||
; Hide details
|
||||
SetDetailsPrint None
|
||||
Call RemoveAllExceptWebView2
|
||||
|
||||
; *** Prompt the user whether to delete all user data ***
|
||||
IfSilent +3
|
||||
MessageBox MB_YESNO|MB_ICONQUESTION "Install latest portable configuration? A backup of your portable_config folder will be created if it has been modified. Continue?" IDNO SkipDataDeletion
|
||||
Call BackupPortableConfig
|
||||
Call RemoveAllExceptWebView2
|
||||
Goto DataDeletionDone
|
||||
SkipDataDeletion:
|
||||
Call RemoveAllExceptWebView2
|
||||
DataDeletionDone:
|
||||
|
||||
;Set output path to InstallDir
|
||||
SetOutPath "$INSTDIR"
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -1,17 +1,17 @@
|
|||
{
|
||||
"shellVersion": "5.0.14",
|
||||
"shellVersion": "5.0.21",
|
||||
"files": {
|
||||
"windows-x64": {
|
||||
"url": "https://github.com/Zaarrg/stremio-desktop-v5/releases/download/5.0.0-beta.14/Stremio.5.0.14-x64.exe",
|
||||
"checksum": "2d206f6e5d7ce22be968211ef445fa5febdeaf4cae8223945d7602296f03effe"
|
||||
"url": "https://github.com/Zaarrg/stremio-desktop-v5/releases/download/5.0.0-beta.21/Stremio.5.0.21-x64.exe",
|
||||
"checksum": "6b2597e3179355fb59b62df762d65dbe3e493f96471fa3cf17e1620fadd0a1d7"
|
||||
},
|
||||
"windows-x86": {
|
||||
"url": "https://github.com/Zaarrg/stremio-desktop-v5/releases/download/5.0.0-beta.14/Stremio.5.0.14-x86.exe",
|
||||
"checksum": "2a8caede355650a6f018c53ab3b3fcd25c2fb264aa06c190ee007f0bf7d90f80"
|
||||
"url": "https://github.com/Zaarrg/stremio-desktop-v5/releases/download/5.0.0-beta.21/Stremio.5.0.21-x86.exe",
|
||||
"checksum": "f2dfad202ae03b26a1d584d9a4e8747be6e0b078e6c6c5773d57632bdfe3aee0"
|
||||
},
|
||||
"server.js": {
|
||||
"url": "https://dl.strem.io/server/v4.20.11/desktop/server.js",
|
||||
"checksum": "d900b0525bac3531aa6ce98e1a3c8a3b1d1b1daa069a7f6fcbddea5625f1f791"
|
||||
"url": "https://dl.strem.io/server/v4.20.15/desktop/server.js",
|
||||
"checksum": "fcc4c5e620effda04c9e1d29a76aa087ec86fd08a747cdcbdccc5bb8f0ec4818"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"upToDate": false,
|
||||
"versionDesc": "https://raw.githubusercontent.com/Zaarrg/stremio-desktop-v5/refs/heads/webview-windows/version/version-details.json",
|
||||
"signature": "oGOLS4I+H0nFe2r8V3sa7NeU0yZvgt/PmGfD5ZVqRFeSYPdFIgGE7Ptqps1EOJs8djyRo8WnncWrKKCnMzvh2wjUsoMLIsXT0e7YizOVgS/kiEBYOnSsPccHkHCW4FUNuzwsvNRUwPSmqFSLQVs677B1hgPt0w9Y0sv7H9zThpJNqJaXz/Pb1ioV+gnNT2Tbi3xfBDmsg6c84xX2DPALmQU4VzEgmskDPOKjaeu3ZHxyFnzc1l6NEGUMd+bjnRoRTPfM71kOJ4DcCD1vrJpN6R3MUnkkMrjrZqO8uGtRQrqViM8Yb97H0nwZtXeDQGEbtRp+HALBlGMj8SOrhE+Ebg=="
|
||||
"signature": "DfGpCnyvD/jWmw+hhdaAlay2sYvSpPsmsMDOrplWbvBYqZtwrfXLuZXnL+HkEP6kVclwRPBE2Kg2/2+UN3BP44Zn2N8UtGEMQLgu8TIAeq51JPUzv8ab9dumS8OXRHFG+x2sK4EjyobnIKJBm0nhpHzZyVuIXUIQsniynFyXdvRJxerZS9zXivJ9WgXNSgpM5tJt2xKqkuJtZ+Ckt//G3SeseC/vn4TehVX9d+aLGVM3pdLAnVferq9VV9iMZw8pQ+tK6HrhwzGP+sFsEIQsPNxFaLV1K1ODxKChnH2cYdLEjF62QlBilZG/SARn5NNRxTTGGCa/Guy4VZ30OsUh8A=="
|
||||
}
|
||||
Loading…
Reference in a new issue