From d40c4290e05bfae7ccc802126c80893c88ba551f Mon Sep 17 00:00:00 2001 From: Natalia Portillo Date: Fri, 21 Aug 2020 22:22:24 +0100 Subject: [PATCH] Initial commit. --- .editorconfig | 632 +++++++++++++++++++ .gitignore | 597 ++++++++++++++++++ LICENSE | 162 +++++ RomRepoMgr.sln | 16 + RomRepoMgr/.gitignore | 337 ++++++++++ RomRepoMgr/App.xaml | 10 + RomRepoMgr/App.xaml.cs | 24 + RomRepoMgr/Assets/avalonia-logo.ico | Bin 0 -> 176111 bytes RomRepoMgr/Program.cs | 18 + RomRepoMgr/RomRepoMgr.csproj | 21 + RomRepoMgr/ViewLocator.cs | 28 + RomRepoMgr/ViewModels/MainWindowViewModel.cs | 7 + RomRepoMgr/ViewModels/ViewModelBase.cs | 6 + RomRepoMgr/Views/MainWindow.xaml | 10 + RomRepoMgr/Views/MainWindow.xaml.cs | 12 + RomRepoMgr/nuget.config | 6 + codealike.json | 1 + 17 files changed, 1887 insertions(+) create mode 100644 .editorconfig create mode 100644 .gitignore create mode 100644 LICENSE create mode 100644 RomRepoMgr.sln create mode 100644 RomRepoMgr/.gitignore create mode 100644 RomRepoMgr/App.xaml create mode 100644 RomRepoMgr/App.xaml.cs create mode 100644 RomRepoMgr/Assets/avalonia-logo.ico create mode 100644 RomRepoMgr/Program.cs create mode 100644 RomRepoMgr/RomRepoMgr.csproj create mode 100644 RomRepoMgr/ViewLocator.cs create mode 100644 RomRepoMgr/ViewModels/MainWindowViewModel.cs create mode 100644 RomRepoMgr/ViewModels/ViewModelBase.cs create mode 100644 RomRepoMgr/Views/MainWindow.xaml create mode 100644 RomRepoMgr/Views/MainWindow.xaml.cs create mode 100644 RomRepoMgr/nuget.config create mode 100644 codealike.json diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..8b506da --- /dev/null +++ b/.editorconfig @@ -0,0 +1,632 @@ +root = true + +[*] +charset=utf-8 +next_line=crlf +insert_final_newline=false +indent_style=space +indent_size=4 + +# Generic non-language specific ones for Resharper and friends +brace_style=next_line +int_align=true +keep_existing_arrangement=false +place_simple_blocks_on_single_line=true +place_simple_declaration_blocks_on_single_line=true +place_attribute_on_same_line=false +space_after_unary_operator=false +space_after_comma=true +space_around_ternary_operator=true +space_around_binary_operator=true +space_around_member_access_operator=false +space_before_open_square_brackets=false +space_after_keywords_in_control_flow_statements=true +space_before_comma=false +space_between_method_call_name_and_opening_parenthesis=false +space_between_method_declaration_name_and_open_parenthesis=false +space_between_square_brackets=false +space_between_parentheses_of_control_flow_statements=false +accessor_owner_declaration_braces=next_line +accessor_declaration_braces=next_line +case_block_braces=next_line +initializer_braces=next_line +other_braces=next_line +allow_comment_after_lbrace=false +empty_block_style=together_same_line +braces_for_ifelse=not_required +braces_for_for=not_required +braces_for_foreach=not_required +braces_for_while=not_required +braces_for_dowhile=not_required +braces_for_using=not_required +braces_for_lock=not_required +braces_for_fixed=not_required +method_or_operator_body=expression_body +local_function_body=expression_body +constructor_or_destructor_body=expression_body +accessor_owner_body=expression_body +force_attribute_style=join +function_braces=next_line +force_control_statements_braces=always_remove +space_in_singleline_accessorholder=true +type_declaration_braces=next_line +invocable_declaration_braces=next_line +anonymous_method_declaration_braces=next_line +space_between_accessors_in_singleline_property=true +indent_nested_usings_stmt=true +space_within_empty_braces=false +indent_nested_fixed_stmt=true +indent_nested_lock_stmt=true +indent_nested_for_stmt=true +indent_nested_foreach_stmt=true +indent_nested_while_stmt=true +use_continuous_indent_inside_parens=true +indent_method_decl_pars=inside +indent_invocation_pars=inside +indent_statement_pars=inside +indent_typeparam_angles=inside +indent_typearg_angles=inside +indent_pars=inside +indent_preprocessor_if=outdent +indent_preprocessor_region=usual_indent +indent_preprocessor_other=usual_indent +indent_switch_labels=true +indent_type_constraints=true +stick_comment=false +alignment_tab_fill_style=use_spaces +align_multiline_parameter=true +align_multiline_extends_list=true +align_linq_query=true +align_multiline_binary_expressions_chain=true +outdent_binary_ops=true +align_multiline_calls_chain=true +outdent_dots=true +align_multiline_array_and_object_initializer=false +indent_anonymous_method_block=false +align_first_arg_by_paren=true +align_multiline_argument=true +align_tuple_components=true +align_multiline_expression=true +align_multiline_for_stmt=true +align_multiple_declaration=true +align_multline_type_parameter_list=true +align_multline_type_parameter_constrains=true +int_align_fields=true +int_align_properties=true +int_align_methods=true +int_align_parameters=false +int_align_variables=true +int_align_assignments=true +int_align_nested_ternary=true +int_align_invocations=false +int_align_binary_expressions=true +int_align_comments=true +int_align_switch_sections=true +keep_user_linebreaks=false +keep_existing_arrangement=false +keep_existing_linebreaks=false +max_line_length=120 +wrap_before_comma=false +special_else_if_treatment=true +place_type_attribute_on_same_line=never +place_method_attribute_on_same_line=never +place_accessorholder_attribute_on_same_line=never +place_attribute_on_same_line=never +place_accessor_attribute_on_same_line=never +place_attribute_on_same_line=never +place_field_attribute_on_same_line=never +place_attribute_on_same_line=never +wrap_parameters_style=wrap_if_long +keep_existing_declaration_parens_arrangement=false +wrap_before_declaration_lpar=false +wrap_after_declaration_lpar=false +wrap_before_declaration_rpar=false +place_constructor_initializer_on_same_line=true +keep_existing_expr_member_arrangement=false +place_expr_method_on_single_line=true +place_expr_property_on_single_line=true +place_expr_accessor_on_single_line=true +wrap_before_arrow_with_expressions=false +place_type_constraints_on_same_line=true +wrap_before_first_type_parameter_constraint=true +wrap_multiple_type_parameter_constraints_style=wrap_if_long +wrap_before_type_parameter_langle=true +wrap_before_extends_colon=false +wrap_extends_list_style=wrap_if_long +keep_existing_declaration_block_arrangement=false +place_abstract_accessorholder_on_single_line=true +place_simple_accessorholder_on_single_line=false +place_accessor_with_attrs_holder_on_single_line=false +place_simple_accessor_on_single_line=true +place_simple_method_on_single_line=false +keep_existing_enum_arrangement=false +place_simple_enum_on_single_line=false +wrap_enum_declaration=wrap_if_long +new_line_before_else=true +new_line_before_while=false +wrap_for_stmt_header_style=wrap_if_long +wrap_multiple_declaration_style=wrap_if_long +keep_existing_embedded_arrangement=false +place_simple_embedded_statement_on_same_line=false +place_simple_case_statement_on_same_line=true +keep_existing_embedded_block_arrangement=false +place_simple_embedded_block_on_same_line=false +place_simple_anonymousmethod_on_single_line=false +keep_existing_initializer_arrangement=false +place_simple_initializer_on_single_line=false +wrap_object_and_collection_initializer_style=chop_always +wrap_array_initializer_style=wrap_if_long +wrap_arguments_style=wrap_if_long +keep_existing_invocation_parens_arrangement=false +wrap_after_invocation_lpar=false +wrap_before_invocation_rpar=false +wrap_after_dot_in_method_calls=true +wrap_chained_method_calls=wrap_if_long +wrap_before_binary_opsign=false +wrap_chained_binary_expressions=wrap_if_long +force_chop_compound_if_expression=true +force_chop_compound_while_expression=true +force_chop_compound_do_expression=true +wrap_before_ternary_opsigns=true +wrap_ternary_expr_style=wrap_if_long +nested_ternary_style=expanded +wrap_linq_expressions=wrap_if_long +wrap_before_linq_expression=false +place_linq_into_on_new_line=false +wrap_verbatim_interpolated_strings=wrap_if_long +extra_spaces=remove_all +space_after_keywords_in_control_flow_statements=false +space_between_method_call_name_and_opening_parenthesis=false +space_between_method_declaration_name_and_open_parenthesis=false +space_before_typeof_parentheses=false +space_before_checked_parentheses=false +space_before_sizeof_parentheses=false +space_before_nameof_parentheses=false +space_between_keyword_and_expression=true +space_between_keyword_and_type=true +space_around_assignment_op=true +space_around_logical_op=true +space_around_binary_operator=true +space_around_equality_op=true +space_around_relational_op=true +space_around_bitwise_op=true +space_around_additive_op=true +space_around_multiplicative_op=true +space_around_shift_op=true +space_around_nullcoalescing_op=true +space_around_arrow_op=false +space_after_logical_not_op=false +space_after_unary_operator=false +space_after_cast=false +space_around_dot=false +space_around_lambda_arrow=true +space_before_pointer_asterik_declaration=false +space_before_nullable_mark=false +blank_lines_around_class_definition=1 +namespace_indentation=all +space_within_template_argument=false +align_union_type_usage=true +space_in_singleline_method=true +space_in_singleline_anonymous_method=true +space_within_single_line_array_initializer_braces=true +space_around_arrow_op=false + +# These are for markup languages (HTML, XML, etc) +spaces_around_eq_in_pi_attribute=false +space_after_last_pi_attribute=true +pi_attributes_indent=align_by_first_attribute +blank_line_after_pi=true +spaces_around_eq_in_attribute=false +space_after_last_attribute=false +space_before_self_closing=true +attribute_style=on_single_line +attribute_indent=align_by_first_attribute +sort_attributes=true +sort_class_selectors=true +max_blank_lines_between_tags=0 +linebreak_before_all_elements=true +linebreak_before_multiline_elements=true +quote_style=doublequoted +delete_quotes_from_solid_values=false +normalize_tag_names=true + + +[{.babelrc,.stylelintrc,jest.config,.eslintrc,.prettierrc,*.json,*.jsb3,*.jsb2,*.bowerrc}] +indent_size=2 + +[*.js.map] +indent_size=2 + +[*.{css,scss}] +indent_size=2 +declarations_style=separate_lines_for_nonsingle +media_query_style=separate_lines +selector_style=same_line +properties_style=separate_lines_for_nonsingle +brace_style=next_line + +[{.analysis_options,*.yml,*.yaml}] +indent_size=2 + +# Xml project files +[*.{csproj,vcxproj,vcxproj.filters,proj,nativeproj,locproj}] +indent_size = 2 + +# Xml files +[*.{xml,stylecop,resx,ruleset}] +indent_size = 2 + +# Xml config files +[*.{props,targets,config,nuspec}] +indent_size = 2 + +# .net files +[*.{cs,vb}] +# These set the this. / Me. +dotnet_style_qualification_for_field=false:warning +dotnet_style_qualification_for_property=false:warning +dotnet_style_qualification_for_method=false:warning +dotnet_style_qualification_for_event=false:warning + +# These make it suggest Int32 instead of int, etc. +dotnet_style_predefined_type_for_locals_parameters_members=true:suggestion +dotnet_style_predefined_type_for_member_access=true:suggestion + +# This controls implicit access modifiers +dotnet_style_require_accessibility_modifiers=never:suggestion + +# Prefer non modified fields to be marked readonly +dotnet_style_readonly_field=true:warning + +# Parenthesis settings +dotnet_style_parentheses_in_arithmetic_binary_operators=always_for_clarity:warning +dotnet_style_parentheses_in_relational_binary_operators=always_for_clarity:warning +dotnet_style_parentheses_in_other_binary_operators=always_for_clarity:warning +dotnet_style_parentheses_in_other_operators=always_for_clarity:warning + +dotnet_style_object_initializer=true:suggestion +dotnet_style_collection_initializer=true:suggestion +dotnet_style_explicit_tuple_names=true:error +dotnet_style_prefer_inferred_tuple_names=true:warning +dotnet_style_prefer_inferred_anonymous_type_member_names=true:warning +dotnet_style_prefer_is_null_check_over_reference_equality_method=true:warning +dotnet_style_prefer_conditional_expression_over_return=true:warning +dotnet_style_coalesce_expression=true:warning +dotnet_style_null_propagation=true:error + +dotnet_sort_system_directives_first=true + +# Constants in C style, all-caps +dotnet_naming_rule.constant_fields_caps.symbols = constant_fields +dotnet_naming_rule.constant_fields_caps.severity = warning +dotnet_naming_rule.constant_fields_caps.style = caps_style +dotnet_naming_symbols.constant_fields.applicable_kinds = field +dotnet_naming_symbols.constant_fields.required_modifiers = const +dotnet_naming_style.caps_style.capitalization = all_upper + +# interfaces should be prefixed with I +dotnet_naming_rule.pascal_case_for_interface.severity = error +dotnet_naming_rule.pascal_case_for_interface.symbols = interfaces_fields +dotnet_naming_rule.pascal_case_for_interface.style = pascal_case_interface_style +dotnet_naming_symbols.interfaces_fields.applicable_kinds = interface +dotnet_naming_style.pascal_case_interface_style.required_prefix = I +dotnet_naming_style.pascal_case_interface_style.capitalization = pascal_case + +## internal and private fields should be _camelCase +dotnet_naming_rule.camel_case_for_private_internal_fields.severity = warning +dotnet_naming_rule.camel_case_for_private_internal_fields.symbols = private_internal_fields +dotnet_naming_rule.camel_case_for_private_internal_fields.style = camel_case_underscore_style +dotnet_naming_symbols.private_internal_fields.applicable_kinds = field +dotnet_naming_symbols.private_internal_fields.applicable_accessibilities = private, internal +dotnet_naming_style.camel_case_underscore_style.required_prefix = _ +dotnet_naming_style.camel_case_underscore_style.capitalization = camel_case + +# 2018-12-07 NP: This is not yet working in VS2017 +# local variables should be camelCase +#dotnet_naming_rule.camel_case_for_locals.severity = suggestion +#dotnet_naming_rule.camel_case_for_locals.symbols = local_fields +#dotnet_naming_rule.camel_case_for_locals.style = camel_case_style +#dotnet_naming_symbols.local_fields.applicable_kinds = local +#dotnet_naming_style.camel_case_style.capitalization = camel_case + +[*.cs] +# var var var +csharp_style_var_for_built_in_types=false:warning +csharp_style_var_when_type_is_apparent=true:suggestion +csharp_style_var_elsewhere=false:warning + +csharp_style_expression_bodied_methods=when_on_single_line:suggestion +csharp_style_expression_bodied_constructors=when_on_single_line:suggestion +csharp_style_expression_bodied_operators=when_on_single_line:suggestion +csharp_style_expression_bodied_properties=when_on_single_line:suggestion +csharp_style_expression_bodied_indexers=when_on_single_line:suggestion +csharp_style_expression_bodied_accessors=when_on_single_line:suggestion + +csharp_style_pattern_matching_over_is_with_cast_check=true:warning +csharp_style_pattern_matching_over_as_with_null_check=when_on_single_line:warning + +csharp_style_inlined_variable_declaration=true:warning + +csharp_prefer_simple_default_expression=true:warning +csharp_style_deconstructed_variable_declaration=false:warning + +csharp_style_throw_expression=true:warning +csharp_style_conditional_delegate_call=true:warning + +csharp_prefer_braces=false + +csharp_new_line_before_open_brace=all +csharp_new_line_before_else=true +csharp_new_line_before_catch=true +csharp_new_line_before_finally=true +csharp_new_line_before_members_in_object_initializers=true +csharp_new_line_before_members_in_anonymous_types=true +csharp_new_line_between_query_expression_clauses=true + +csharp_indent_case_contents=true +csharp_indent_switch_labels=true +csharp_indent_labels=flush_left + +csharp_space_after_cast=false +csharp_space_after_keywords_in_control_flow_statements=false +csharp_space_between_method_declaration_parameter_list_parentheses=false +csharp_space_between_parentheses=none +csharp_space_before_colon_in_inheritance_clause=true +csharp_space_after_colon_in_inheritance_clause=true +csharp_space_around_binary_operators=before_and_after +csharp_space_between_method_declaration_empty_parameter_list_parentheses=false +csharp_space_between_method_call_name_and_opening_parenthesis=false +csharp_space_between_method_call_empty_parameter_list_parentheses=false + +csharp_preserve_single_line_statements=false +csharp_preserve_single_line_blocks=true + +csharp_blank_lines_around_region=0 +csharp_blank_lines_inside_region=0 +csharp_blank_lines_before_single_line_comment=1 +csharp_keep_blank_lines_in_declarations=1 +csharp_remove_blank_lines_near_braces_in_declarations=true +csharp_blank_lines_after_start_comment=false +csharp_blank_lines_between_using_groups=0 +csharp_blank_lines_after_using_list=1 +csharp_blank_lines_around_namespace=1 +csharp_blank_lines_inside_namespace=0 +csharp_blank_lines_around_type=1 +csharp_blank_lines_inside_type=0 +csharp_blank_lines_around_field=0 +csharp_blank_lines_around_single_line_field=0 +csharp_blank_lines_around_property=1 +csharp_blank_lines_around_single_line_property=0 +csharp_blank_lines_around_auto_property=0 +csharp_blank_lines_around_single_line_auto_property=0 +csharp_blank_lines_around_invocable=1 +csharp_blank_lines_around_single_line_invocable=1 +csharp_keep_blank_lines_in_code=1 +csharp_remove_blank_lines_near_braces_in_code=true +csharp_blank_lines_around_local_method=1 +csharp_blank_lines_around_single_line_local_method=1 +csharp_blank_lines_before_control_transfer_statements=1 +csharp_blank_lines_after_control_transfer_statements=1 +csharp_blank_lines_before_block_statements=1 +csharp_blank_lines_after_block_statements=1 +csharp_blank_lines_before_multiline_statements=1 +csharp_blank_lines_after_multiline_statements=1 + +csharp_type_declaration_braces=next_line +csharp_brace_style=next_line +csharp_indent_inside_namespace=true +csharp_invocable_declaration_braces=next_line +csharp_anonymous_method_declaration_braces=next_line +csharp_accessor_owner_declaration_braces=next_line +csharp_accessor_declaration_braces=next_line +csharp_case_block_braces=next_line +csharp_initializer_braces=next_line +csharp_other_braces=next_line +csharp_allow_comment_after_lbrace=false +csharp_empty_block_style=together_same_line + +csharp_for_built_in_types=use_explicit_type +csharp_for_simple_types=use_var_when_evident +csharp_for_other_types=use_explicit_type +csharp_prefer_separate_deconstructed_variables_declaration=true +csharp_prefer_explicit_discard_declaration=false + +csharp_instance_members_qualify_members=none +csharp_builtin_type_reference_style=use_keyword +csharp_prefer_qualified_reference=false +csharp_add_imports_to_deepest_scope=false +csharp_allow_alias=true +csharp_default_private_modifier=implicit +csharp_default_internal_modifier=explicit +csharp_arguments_literal=positional +csharp_arguments_string_literal=positional +csharp_arguments_named=positional +csharp_arguments_anonymous_function=positional +csharp_arguments_other=positional +csharp_braces_for_ifelse=not_required +csharp_braces_for_for=not_required +csharp_braces_for_foreach=not_required +csharp_braces_for_while=not_required +csharp_braces_for_dowhile=not_required +csharp_braces_for_using=not_required +csharp_braces_for_lock=not_required +csharp_braces_for_fixed=not_required +csharp_method_or_operator_body=expression_body +csharp_local_function_body=expression_body +csharp_constructor_or_destructor_body=expression_body +csharp_accessor_owner_body=expression_body +csharp_force_attribute_style=join +csharp_indent_nested_usings_stmt=true + +csharp_builtin_type_reference_for_member_access_style=use_keyword +csharp_indent_nested_fixed_stmt=true +csharp_indent_nested_lock_stmt=true +csharp_indent_nested_for_stmt=true +csharp_indent_nested_foreach_stmt=true +csharp_indent_nested_while_stmt=true +csharp_use_continuous_indent_inside_parens=true +csharp_indent_method_decl_pars=inside +csharp_indent_invocation_pars=inside +csharp_indent_statement_pars=inside +csharp_indent_typeparam_angles=inside +csharp_indent_typearg_angles=inside +csharp_indent_pars=inside +csharp_indent_preprocessor_if=outdent +csharp_indent_preprocessor_region=usual_indent +csharp_indent_preprocessor_other=usual_indent +csharp_indent_switch_labels=true +csharp_indent_type_constraints=true +csharp_stick_comment=false +csharp_alignment_tab_fill_style=use_spaces +csharp_align_multiline_parameter=true +csharp_align_multiline_extends_list=true +csharp_align_linq_query=true +csharp_align_multiline_binary_expressions_chain=true +csharp_outdent_binary_ops=true +csharp_align_multiline_calls_chain=true +csharp_outdent_dots=true +csharp_align_multiline_array_and_object_initializer=false +csharp_indent_anonymous_method_block=false +csharp_align_first_arg_by_paren=true +csharp_align_multiline_argument=true +csharp_align_tuple_components=true +csharp_align_multiline_expression=true +csharp_align_multiline_for_stmt=true +csharp_align_multiple_declaration=true +csharp_align_multline_type_parameter_list=true +csharp_align_multline_type_parameter_constrains=true +csharp_int_align_fields=true +csharp_int_align_properties=true +csharp_int_align_methods=true +csharp_int_align_parameters=false +csharp_int_align_variables=true +csharp_int_align_assignments=true +csharp_int_align_nested_ternary=true +csharp_int_align_invocations=false +csharp_int_align_binary_expressions=true +csharp_int_align_comments=true +csharp_int_align_switch_sections=true +csharp_int_align=true +csharp_keep_user_linebreaks=false +csharp_keep_existing_arrangement=false +csharp_keep_existing_linebreaks=false +csharp_max_line_length=120 +csharp_wrap_before_comma=false +csharp_special_else_if_treatment=true +csharp_insert_final_newline=false +csharp_place_type_attribute_on_same_line=never +csharp_place_method_attribute_on_same_line=never +csharp_place_accessorholder_attribute_on_same_line=never +csharp_place_attribute_on_same_line=never +csharp_place_accessor_attribute_on_same_line=never +csharp_place_attribute_on_same_line=never +csharp_place_field_attribute_on_same_line=never +csharp_place_attribute_on_same_line=never +csharp_wrap_parameters_style=wrap_if_long +csharp_keep_existing_declaration_parens_arrangement=false +csharp_wrap_before_declaration_lpar=false +csharp_wrap_after_declaration_lpar=false +csharp_wrap_before_declaration_rpar=false +csharp_place_constructor_initializer_on_same_line=true +csharp_keep_existing_expr_member_arrangement=false +csharp_place_expr_method_on_single_line=true +csharp_place_expr_property_on_single_line=true +csharp_place_expr_accessor_on_single_line=true +csharp_wrap_before_arrow_with_expressions=false +csharp_place_type_constraints_on_same_line=true +csharp_wrap_before_first_type_parameter_constraint=true +csharp_wrap_multiple_type_parameter_constraints_style=wrap_if_long +csharp_wrap_before_type_parameter_langle=true +csharp_wrap_before_extends_colon=false +csharp_wrap_extends_list_style=wrap_if_long +csharp_keep_existing_declaration_block_arrangement=false +csharp_place_abstract_accessorholder_on_single_line=true +csharp_place_simple_accessorholder_on_single_line=false +csharp_place_accessor_with_attrs_holder_on_single_line=false +csharp_place_simple_accessor_on_single_line=true +csharp_place_simple_method_on_single_line=false +csharp_keep_existing_enum_arrangement=false +csharp_place_simple_enum_on_single_line=false +csharp_wrap_enum_declaration=wrap_if_long +csharp_new_line_before_else=true +csharp_new_line_before_while=false +csharp_wrap_for_stmt_header_style=wrap_if_long +csharp_wrap_multiple_declaration_style=wrap_if_long +csharp_keep_existing_embedded_arrangement=false +csharp_place_simple_embedded_statement_on_same_line=false +csharp_place_simple_case_statement_on_same_line=true +csharp_keep_existing_embedded_block_arrangement=false +csharp_place_simple_embedded_block_on_same_line=false +csharp_place_simple_anonymousmethod_on_single_line=false +csharp_keep_existing_initializer_arrangement=false +csharp_place_simple_initializer_on_single_line=false +csharp_wrap_object_and_collection_initializer_style=chop_always +csharp_wrap_array_initializer_style=wrap_if_long +csharp_wrap_arguments_style=wrap_if_long +csharp_keep_existing_invocation_parens_arrangement=false +csharp_wrap_after_invocation_lpar=false +csharp_wrap_before_invocation_rpar=false +csharp_wrap_after_dot_in_method_calls=true +csharp_wrap_chained_method_calls=wrap_if_long +csharp_wrap_before_binary_opsign=false +csharp_wrap_chained_binary_expressions=wrap_if_long +csharp_force_chop_compound_if_expression=true +csharp_force_chop_compound_while_expression=true +csharp_force_chop_compound_do_expression=true +csharp_wrap_before_ternary_opsigns=true +csharp_wrap_ternary_expr_style=wrap_if_long +csharp_nested_ternary_style=expanded +csharp_wrap_linq_expressions=wrap_if_long +csharp_wrap_before_linq_expression=false +csharp_place_linq_into_on_new_line=false +csharp_wrap_verbatim_interpolated_strings=wrap_if_long +csharp_extra_spaces=remove_all +csharp_space_after_keywords_in_control_flow_statements=false +csharp_space_between_method_call_name_and_opening_parenthesis=false +csharp_space_between_method_declaration_name_and_open_parenthesis=false +csharp_space_before_typeof_parentheses=false +csharp_space_before_checked_parentheses=false +csharp_space_before_sizeof_parentheses=false +csharp_space_before_nameof_parentheses=false +csharp_space_between_keyword_and_expression=true +csharp_space_between_keyword_and_type=true +csharp_space_around_assignment_op=true +csharp_space_around_logical_op=true +csharp_space_around_binary_operator=true +csharp_space_around_equality_op=true +csharp_space_around_relational_op=true +csharp_space_around_bitwise_op=true +csharp_space_around_additive_op=true +csharp_space_around_multiplicative_op=true +csharp_space_around_shift_op=true +csharp_space_around_nullcoalescing_op=true +csharp_space_around_arrow_op=false +csharp_space_after_logical_not_op=false +csharp_space_after_unary_operator=false +csharp_space_after_cast=false +csharp_space_around_dot=false +csharp_space_around_lambda_arrow=true +csharp_space_before_pointer_asterik_declaration=false +csharp_space_before_nullable_mark=false + +[*.cshtml] +linebreaks_around_razor_statements=true +blank_lines_around_razor_functions=true +blank_lines_around_razor_helpers=true +blank_lines_around_razor_sections=true + +# C++ +[*.{cc,cpp,cxx,h,hpp,hxx}] +cpp_indent_access_specifiers_from_class=true +cpp_indent_wrapped_function_names=false +cpp_align_multiline_type_argument=true + +# C, C++ and ObjectiveC +[*.{c,h,cc,cpp,cxx,m,hpp,hxx}] +indent_preprocessor_directives=normal +indent_type_constraints=true + +# Javascript and Typescript +[*.{js,js.map,ts}] +quote_style=doublequoted +termination_style=ensure_semicolon \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..09ecec4 --- /dev/null +++ b/.gitignore @@ -0,0 +1,597 @@ +### VisualStudio template +## Ignore Visual Studio temporary files, build results, and +## files generated by popular Visual Studio add-ons. +## +## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore + +# User-specific files +*.suo +*.user +*.userosscache +*.sln.docstates + +# User-specific files (MonoDevelop/Xamarin Studio) +*.userprefs + +# Build results +[Dd]ebug/ +[Dd]ebugPublic/ +[Rr]elease/ +[Rr]eleases/ +x64/ +x86/ +bld/ +[Bb]in/ +[Oo]bj/ +[Ll]og/ + +# Visual Studio 2015/2017 cache/options directory +.vs/ +# Uncomment if you have tasks that create the project's static files in wwwroot +#wwwroot/ + +# Visual Studio 2017 auto generated files +Generated\ Files/ + +# MSTest test Results +[Tt]est[Rr]esult*/ +[Bb]uild[Ll]og.* + +# NUNIT +*.VisualState.xml +TestResult.xml + +# Build Results of an ATL Project +[Dd]ebugPS/ +[Rr]eleasePS/ +dlldata.c + +# Benchmark Results +BenchmarkDotNet.Artifacts/ + +# .NET Core +project.lock.json +project.fragment.lock.json +artifacts/ + +# StyleCop +StyleCopReport.xml + +# Files built by Visual Studio +*_i.c +*_p.c +*_i.h +*.ilk +*.meta +*.obj +*.iobj +*.pch +*.pdb +*.ipdb +*.pgc +*.pgd +*.rsp +*.sbr +*.tlb +*.tli +*.tlh +*.tmp +*.tmp_proj +*.log +*.vspscc +*.vssscc +.builds +*.pidb +*.svclog +*.scc + +# Chutzpah Test files +_Chutzpah* + +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opendb +*.opensdf +*.sdf +*.cachefile +*.VC.db +*.VC.VC.opendb + +# Visual Studio profiler +*.psess +*.vsp +*.vspx +*.sap + +# Visual Studio Trace Files +*.e2e + +# TFS 2012 Local Workspace +$tf/ + +# Guidance Automation Toolkit +*.gpState + +# ReSharper is a .NET coding add-in +_ReSharper*/ +*.[Rr]e[Ss]harper +*.DotSettings.user + +# JustCode is a .NET coding add-in +.JustCode + +# TeamCity is a build add-in +_TeamCity* + +# DotCover is a Code Coverage Tool +*.dotCover + +# AxoCover is a Code Coverage Tool +.axoCover/* +!.axoCover/settings.json + +# Visual Studio code coverage results +*.coverage +*.coveragexml + +# NCrunch +_NCrunch_* +.*crunch*.local.xml +nCrunchTemp_* + +# MightyMoose +*.mm.* +AutoTest.Net/ + +# Web workbench (sass) +.sass-cache/ + +# Installshield output folder +[Ee]xpress/ + +# DocProject is a documentation generator add-in +DocProject/buildhelp/ +DocProject/Help/*.HxT +DocProject/Help/*.HxC +DocProject/Help/*.hhc +DocProject/Help/*.hhk +DocProject/Help/*.hhp +DocProject/Help/Html2 +DocProject/Help/html + +# Click-Once directory +publish/ + +# Publish Web Output +*.[Pp]ublish.xml +*.azurePubxml +# Note: Comment the next line if you want to checkin your web deploy settings, +# but database connection strings (with potential passwords) will be unencrypted +*.pubxml +*.publishproj + +# Microsoft Azure Web App publish settings. Comment the next line if you want to +# checkin your Azure Web App publish settings, but sensitive information contained +# in these scripts will be unencrypted +PublishScripts/ + +# NuGet Packages +*.nupkg +# The packages folder can be ignored because of Package Restore +**/[Pp]ackages/* +# except build/, which is used as an MSBuild target. +!**/[Pp]ackages/build/ +# Uncomment if necessary however generally it will be regenerated when needed +#!**/[Pp]ackages/repositories.config +# NuGet v3's project.json files produces more ignorable files +*.nuget.props +*.nuget.targets + +# Microsoft Azure Build Output +csx/ +*.build.csdef + +# Microsoft Azure Emulator +ecf/ +rcf/ + +# Windows Store app package directories and files +AppPackages/ +BundleArtifacts/ +Package.StoreAssociation.xml +_pkginfo.txt +*.appx + +# Visual Studio cache files +# files ending in .cache can be ignored +*.[Cc]ache +# but keep track of directories ending in .cache +!*.[Cc]ache/ + +# Others +ClientBin/ +~$* +*~ +*.dbmdl +*.dbproj.schemaview +*.jfm +*.pfx +*.publishsettings +orleans.codegen.cs + +# Including strong name files can present a security risk +# (https://github.com/github/gitignore/pull/2483#issue-259490424) +#*.snk + +# Since there are multiple workflows, uncomment next line to ignore bower_components +# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) +#bower_components/ + +# RIA/Silverlight projects +Generated_Code/ + +# Backup & report files from converting an old project file +# to a newer Visual Studio version. Backup files are not needed, +# because we have git ;-) +_UpgradeReport_Files/ +Backup*/ +UpgradeLog*.XML +UpgradeLog*.htm +ServiceFabricBackup/ +*.rptproj.bak + +# SQL Server files +*.mdf +*.ldf +*.ndf + +# Business Intelligence projects +*.rdl.data +*.bim.layout +*.bim_*.settings +*.rptproj.rsuser + +# Microsoft Fakes +FakesAssemblies/ + +# GhostDoc plugin setting file +*.GhostDoc.xml + +# Node.js Tools for Visual Studio +.ntvs_analysis.dat +node_modules/ + +# Visual Studio 6 build log +*.plg + +# Visual Studio 6 workspace options file +*.opt + +# Visual Studio 6 auto-generated workspace file (contains which files were open etc.) +*.vbw + +# Visual Studio LightSwitch build output +**/*.HTMLClient/GeneratedArtifacts +**/*.DesktopClient/GeneratedArtifacts +**/*.DesktopClient/ModelManifest.xml +**/*.Server/GeneratedArtifacts +**/*.Server/ModelManifest.xml +_Pvt_Extensions + +# Paket dependency manager +.paket/paket.exe +paket-files/ + +# FAKE - F# Make +.fake/ + +# JetBrains Rider +.idea/ +*.sln.iml + +# CodeRush +.cr/ + +# Python Tools for Visual Studio (PTVS) +__pycache__/ +*.pyc + +# Cake - Uncomment if you are using it +# tools/** +# !tools/packages.config + +# Tabs Studio +*.tss + +# Telerik's JustMock configuration file +*.jmconfig + +# BizTalk build output +*.btp.cs +*.btm.cs +*.odx.cs +*.xsd.cs + +# OpenCover UI analysis results +OpenCover/ + +# Azure Stream Analytics local run output +ASALocalRun/ + +# MSBuild Binary and Structured Log +*.binlog + +# NVidia Nsight GPU debugger configuration file +*.nvuser + +# MFractors (Xamarin productivity tool) working folder +.mfractor/ +### Linux template + +# temporary files which can be created if a process still has a handle open of a deleted file +.fuse_hidden* + +# KDE directory preferences +.directory + +# Linux trash folder which might appear on any partition or disk +.Trash-* + +# .nfs files are created when an open file is removed but is still being accessed +.nfs* +### Xcode template +# Xcode +# +# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore + +## User settings +xcuserdata/ + +## compatibility with Xcode 8 and earlier (ignoring not required starting Xcode 9) +*.xcscmblueprint +*.xccheckout + +## compatibility with Xcode 3 and earlier (ignoring not required starting Xcode 4) +build/ +DerivedData/ +*.moved-aside +*.pbxuser +!default.pbxuser +*.mode1v3 +!default.mode1v3 +*.mode2v3 +!default.mode2v3 +*.perspectivev3 +!default.perspectivev3 +### VisualStudioCode template +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json +### C++ template +# Prerequisites +*.d + +# Compiled Object files +*.slo +*.lo +*.o + +# Precompiled Headers +*.gch + +# Compiled Dynamic libraries +*.so +*.dylib +*.dll + +# Fortran module files +*.mod +*.smod + +# Compiled Static libraries +*.lai +*.la +*.a +*.lib + +# Executables +*.exe +*.out +*.app +### MonoDevelop template +#User Specific +*.usertasks + +#Mono Project Files +*.resources +test-results/ +### GPG template +secring.* + +### JetBrains template +# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and WebStorm +# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 + +# User-specific stuff +.idea/**/workspace.xml +.idea/**/tasks.xml +.idea/**/usage.statistics.xml +.idea/**/dictionaries +.idea/**/shelf + +# Sensitive or high-churn files +.idea/**/dataSources/ +.idea/**/dataSources.ids +.idea/**/dataSources.local.xml +.idea/**/sqlDataSources.xml +.idea/**/dynamic.xml +.idea/**/uiDesigner.xml +.idea/**/dbnavigator.xml + +# Gradle +.idea/**/gradle.xml +.idea/**/libraries + +# Gradle and Maven with auto-import +# When using Gradle or Maven with auto-import, you should exclude module files, +# since they will be recreated, and may cause churn. Uncomment if using +# auto-import. +# .idea/modules.xml +# .idea/*.iml +# .idea/modules + +# CMake +cmake-build-*/ + +# Mongo Explorer plugin +.idea/**/mongoSettings.xml + +# File-based project format +*.iws + +# IntelliJ +out/ + +# mpeltonen/sbt-idea plugin +.idea_modules/ + +# JIRA plugin +atlassian-ide-plugin.xml + +# Cursive Clojure plugin +.idea/replstate.xml + +# Crashlytics plugin (for Android Studio and IntelliJ) +com_crashlytics_export_strings.xml +crashlytics.properties +crashlytics-build.properties +fabric.properties + +# Editor-based Rest Client +.idea/httpRequests +### CMake template +CMakeCache.txt +CMakeFiles +CMakeScripts +Testing +Makefile +cmake_install.cmake +install_manifest.txt +compile_commands.json +CTestTestfile.cmake +### C template +# Object files +*.ko +*.elf + +# Linker output +*.map +*.exp + +*.so.* + +# Executables +*.i*86 +*.x86_64 +*.hex + +# Debug files +*.dSYM/ +*.su +*.idb + +# Kernel Module Compile Results +*.mod* +*.cmd +.tmp_versions/ +modules.order +Module.symvers +Mkfile.old +dkms.conf +### Windows template +# Windows thumbnail cache files +Thumbs.db +ehthumbs.db +ehthumbs_vista.db + +# Dump file +*.stackdump + +# Folder config file +[Dd]esktop.ini + +# Recycle Bin used on file shares +$RECYCLE.BIN/ + +# Windows Installer files +*.cab +*.msi +*.msix +*.msm +*.msp + +# Windows shortcuts +*.lnk + +# NuGet Packages Directory +packages/ +## TODO: If the tool you use requires repositories.config uncomment the next line +#!packages/repositories.config + +# Enable "build/" folder in the NuGet Packages folder since NuGet packages use it for MSBuild targets +# This line needs to be after the ignore of the build folder (and the packages folder if the line above has been uncommented) +!packages/build/ + + +# Others +sql/ +*.Cache + +# Visual Studio 2017 +.vs + +workspace.xml +cmake-build-debug +### macOS template +# General +.DS_Store +.AppleDouble +.LSOverride + +# Icon must end with two \r +Icon + +# Thumbnails +._* + +# Files that might appear in the root of a volume +.DocumentRevisions-V100 +.fseventsd +.Spotlight-V100 +.TemporaryItems +.Trashes +.VolumeIcon.icns +.com.apple.timemachine.donotpresent + +# Directories potentially created on remote AFP share +.AppleDB +.AppleDesktop +Network Trash Folder +Temporary Items +.apdisk + +pkg/**/pkg +pkg/**/src +pkg/**/*.asc +pkg/**/*.sig +pkg/**/*.tar.xz +pkg/**/*.zip +pkg/**/aaru + +.sonarqube + +build/* \ No newline at end of file diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..daa6c35 --- /dev/null +++ b/LICENSE @@ -0,0 +1,162 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. \ No newline at end of file diff --git a/RomRepoMgr.sln b/RomRepoMgr.sln new file mode 100644 index 0000000..3a84774 --- /dev/null +++ b/RomRepoMgr.sln @@ -0,0 +1,16 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RomRepoMgr", "RomRepoMgr\RomRepoMgr.csproj", "{6CDCA6AF-B060-45AC-BCE2-CDBB0AF6B9AE}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {6CDCA6AF-B060-45AC-BCE2-CDBB0AF6B9AE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {6CDCA6AF-B060-45AC-BCE2-CDBB0AF6B9AE}.Debug|Any CPU.Build.0 = Debug|Any CPU + {6CDCA6AF-B060-45AC-BCE2-CDBB0AF6B9AE}.Release|Any CPU.ActiveCfg = Release|Any CPU + {6CDCA6AF-B060-45AC-BCE2-CDBB0AF6B9AE}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection +EndGlobal diff --git a/RomRepoMgr/.gitignore b/RomRepoMgr/.gitignore new file mode 100644 index 0000000..dbe7c8f --- /dev/null +++ b/RomRepoMgr/.gitignore @@ -0,0 +1,337 @@ +## Ignore Visual Studio temporary files, build results, and +## files generated by popular Visual Studio add-ons. +## +## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore + +## Visual Studio Code specific files and folder +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.jsons + +# User-specific files +*.suo +*.user +*.userosscache +*.sln.docstates + +# User-specific files (MonoDevelop/Xamarin Studio) +*.userprefs + +# Build results +[Dd]ebug/ +[Dd]ebugPublic/ +[Rr]elease/ +[Rr]eleases/ +x64/ +x86/ +bld/ +[Bb]in/ +[Oo]bj/ +[Ll]og/ + +# Visual Studio 2015/2017 cache/options directory +.vs/ +# Uncomment if you have tasks that create the project's static files in wwwroot +#wwwroot/ + +# Visual Studio 2017 auto generated files +Generated\ Files/ + +# MSTest test Results +[Tt]est[Rr]esult*/ +[Bb]uild[Ll]og.* + +# NUNIT +*.VisualState.xml +TestResult.xml + +# Build Results of an ATL Project +[Dd]ebugPS/ +[Rr]eleasePS/ +dlldata.c + +# Benchmark Results +BenchmarkDotNet.Artifacts/ + +# .NET Core +project.lock.json +project.fragment.lock.json +artifacts/ +**/Properties/launchSettings.json + +# StyleCop +StyleCopReport.xml + +# Files built by Visual Studio +*_i.c +*_p.c +*_i.h +*.ilk +*.meta +*.obj +*.iobj +*.pch +*.pdb +*.ipdb +*.pgc +*.pgd +*.rsp +*.sbr +*.tlb +*.tli +*.tlh +*.tmp +*.tmp_proj +*.log +*.vspscc +*.vssscc +.builds +*.pidb +*.svclog +*.scc + +# Chutzpah Test files +_Chutzpah* + +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opendb +*.opensdf +*.sdf +*.cachefile +*.VC.db +*.VC.VC.opendb + +# Visual Studio profiler +*.psess +*.vsp +*.vspx +*.sap + +# Visual Studio Trace Files +*.e2e + +# TFS 2012 Local Workspace +$tf/ + +# Guidance Automation Toolkit +*.gpState + +# ReSharper is a .NET coding add-in +_ReSharper*/ +*.[Rr]e[Ss]harper +*.DotSettings.user + +# JustCode is a .NET coding add-in +.JustCode + +# TeamCity is a build add-in +_TeamCity* + +# DotCover is a Code Coverage Tool +*.dotCover + +# AxoCover is a Code Coverage Tool +.axoCover/* +!.axoCover/settings.json + +# Visual Studio code coverage results +*.coverage +*.coveragexml + +# NCrunch +_NCrunch_* +.*crunch*.local.xml +nCrunchTemp_* + +# MightyMoose +*.mm.* +AutoTest.Net/ + +# Web workbench (sass) +.sass-cache/ + +# Installshield output folder +[Ee]xpress/ + +# DocProject is a documentation generator add-in +DocProject/buildhelp/ +DocProject/Help/*.HxT +DocProject/Help/*.HxC +DocProject/Help/*.hhc +DocProject/Help/*.hhk +DocProject/Help/*.hhp +DocProject/Help/Html2 +DocProject/Help/html + +# Click-Once directory +publish/ + +# Publish Web Output +*.[Pp]ublish.xml +*.azurePubxml +# Note: Comment the next line if you want to checkin your web deploy settings, +# but database connection strings (with potential passwords) will be unencrypted +*.pubxml +*.publishproj + +# Microsoft Azure Web App publish settings. Comment the next line if you want to +# checkin your Azure Web App publish settings, but sensitive information contained +# in these scripts will be unencrypted +PublishScripts/ + +# NuGet Packages +*.nupkg +# The packages folder can be ignored because of Package Restore +**/[Pp]ackages/* +# except build/, which is used as an MSBuild target. +!**/[Pp]ackages/build/ +# Uncomment if necessary however generally it will be regenerated when needed +#!**/[Pp]ackages/repositories.config +# NuGet v3's project.json files produces more ignorable files +*.nuget.props +*.nuget.targets + +# Microsoft Azure Build Output +csx/ +*.build.csdef + +# Microsoft Azure Emulator +ecf/ +rcf/ + +# Windows Store app package directories and files +AppPackages/ +BundleArtifacts/ +Package.StoreAssociation.xml +_pkginfo.txt +*.appx + +# Visual Studio cache files +# files ending in .cache can be ignored +*.[Cc]ache +# but keep track of directories ending in .cache +!*.[Cc]ache/ + +# Others +ClientBin/ +~$* +*~ +*.dbmdl +*.dbproj.schemaview +*.jfm +*.pfx +*.publishsettings +orleans.codegen.cs + +# Including strong name files can present a security risk +# (https://github.com/github/gitignore/pull/2483#issue-259490424) +#*.snk + +# Since there are multiple workflows, uncomment next line to ignore bower_components +# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) +#bower_components/ + +# RIA/Silverlight projects +Generated_Code/ + +# Backup & report files from converting an old project file +# to a newer Visual Studio version. Backup files are not needed, +# because we have git ;-) +_UpgradeReport_Files/ +Backup*/ +UpgradeLog*.XML +UpgradeLog*.htm +ServiceFabricBackup/ +*.rptproj.bak + +# SQL Server files +*.mdf +*.ldf +*.ndf + +# Business Intelligence projects +*.rdl.data +*.bim.layout +*.bim_*.settings +*.rptproj.rsuser + +# Microsoft Fakes +FakesAssemblies/ + +# GhostDoc plugin setting file +*.GhostDoc.xml + +# Node.js Tools for Visual Studio +.ntvs_analysis.dat +node_modules/ + +# Visual Studio 6 build log +*.plg + +# Visual Studio 6 workspace options file +*.opt + +# Visual Studio 6 auto-generated workspace file (contains which files were open etc.) +*.vbw + +# Visual Studio LightSwitch build output +**/*.HTMLClient/GeneratedArtifacts +**/*.DesktopClient/GeneratedArtifacts +**/*.DesktopClient/ModelManifest.xml +**/*.Server/GeneratedArtifacts +**/*.Server/ModelManifest.xml +_Pvt_Extensions + +# Paket dependency manager +.paket/paket.exe +paket-files/ + +# FAKE - F# Make +.fake/ + +# JetBrains Rider +.idea/ +*.sln.iml + +# CodeRush +.cr/ + +# Python Tools for Visual Studio (PTVS) +__pycache__/ +*.pyc + +# Cake - Uncomment if you are using it +# tools/** +# !tools/packages.config + +# Tabs Studio +*.tss + +# Telerik's JustMock configuration file +*.jmconfig + +# BizTalk build output +*.btp.cs +*.btm.cs +*.odx.cs +*.xsd.cs + +# OpenCover UI analysis results +OpenCover/ + +# Azure Stream Analytics local run output +ASALocalRun/ + +# MSBuild Binary and Structured Log +*.binlog + +# NVidia Nsight GPU debugger configuration file +*.nvuser + +# MFractors (Xamarin productivity tool) working folder +.mfractor/ diff --git a/RomRepoMgr/App.xaml b/RomRepoMgr/App.xaml new file mode 100644 index 0000000..8895765 --- /dev/null +++ b/RomRepoMgr/App.xaml @@ -0,0 +1,10 @@ + + + + + + + + + \ No newline at end of file diff --git a/RomRepoMgr/App.xaml.cs b/RomRepoMgr/App.xaml.cs new file mode 100644 index 0000000..a212e87 --- /dev/null +++ b/RomRepoMgr/App.xaml.cs @@ -0,0 +1,24 @@ +using Avalonia; +using Avalonia.Controls.ApplicationLifetimes; +using Avalonia.Markup.Xaml; +using RomRepoMgr.ViewModels; +using RomRepoMgr.Views; + +namespace RomRepoMgr +{ + public class App : Application + { + public override void Initialize() => AvaloniaXamlLoader.Load(this); + + public override void OnFrameworkInitializationCompleted() + { + if(ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop) + desktop.MainWindow = new MainWindow + { + DataContext = new MainWindowViewModel() + }; + + base.OnFrameworkInitializationCompleted(); + } + } +} \ No newline at end of file diff --git a/RomRepoMgr/Assets/avalonia-logo.ico b/RomRepoMgr/Assets/avalonia-logo.ico new file mode 100644 index 0000000000000000000000000000000000000000..da8d49ff9b94e52778f5324a1b87dd443a698b57 GIT binary patch literal 176111 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 B(c}OC literal 0 HcmV?d00001 diff --git a/RomRepoMgr/Program.cs b/RomRepoMgr/Program.cs new file mode 100644 index 0000000..11f805b --- /dev/null +++ b/RomRepoMgr/Program.cs @@ -0,0 +1,18 @@ +using Avalonia; +using Avalonia.Logging.Serilog; +using Avalonia.ReactiveUI; + +namespace RomRepoMgr +{ + internal class Program + { + // Initialization code. Don't use any Avalonia, third-party APIs or any + // SynchronizationContext-reliant code before AppMain is called: things aren't initialized + // yet and stuff might break. + public static void Main(string[] args) => BuildAvaloniaApp().StartWithClassicDesktopLifetime(args); + + // Avalonia configuration, don't remove; also used by visual designer. + public static AppBuilder BuildAvaloniaApp() => + AppBuilder.Configure().UsePlatformDetect().LogToDebug().UseReactiveUI(); + } +} \ No newline at end of file diff --git a/RomRepoMgr/RomRepoMgr.csproj b/RomRepoMgr/RomRepoMgr.csproj new file mode 100644 index 0000000..a61737f --- /dev/null +++ b/RomRepoMgr/RomRepoMgr.csproj @@ -0,0 +1,21 @@ + + + WinExe + netcoreapp3.0 + + + + + %(Filename) + + + Designer + + + + + + + + + diff --git a/RomRepoMgr/ViewLocator.cs b/RomRepoMgr/ViewLocator.cs new file mode 100644 index 0000000..3246f34 --- /dev/null +++ b/RomRepoMgr/ViewLocator.cs @@ -0,0 +1,28 @@ +// Copyright (c) The Avalonia Project. All rights reserved. +// Licensed under the MIT license. See licence.md file in the project root for full license information. + +using System; +using Avalonia.Controls; +using Avalonia.Controls.Templates; +using RomRepoMgr.ViewModels; + +namespace RomRepoMgr +{ + public class ViewLocator : IDataTemplate + { + public bool SupportsRecycling => false; + + public IControl Build(object data) + { + string name = data.GetType().FullName?.Replace("ViewModel", "View"); + Type type = name is null ? null : Type.GetType(name); + + return type is null ? new TextBlock + { + Text = "Not Found: " + name + } : (Control)Activator.CreateInstance(type); + } + + public bool Match(object data) => data is ViewModelBase; + } +} \ No newline at end of file diff --git a/RomRepoMgr/ViewModels/MainWindowViewModel.cs b/RomRepoMgr/ViewModels/MainWindowViewModel.cs new file mode 100644 index 0000000..c0deeef --- /dev/null +++ b/RomRepoMgr/ViewModels/MainWindowViewModel.cs @@ -0,0 +1,7 @@ +namespace RomRepoMgr.ViewModels +{ + public class MainWindowViewModel : ViewModelBase + { + public string Greeting => "Hello World!"; + } +} \ No newline at end of file diff --git a/RomRepoMgr/ViewModels/ViewModelBase.cs b/RomRepoMgr/ViewModels/ViewModelBase.cs new file mode 100644 index 0000000..e66f255 --- /dev/null +++ b/RomRepoMgr/ViewModels/ViewModelBase.cs @@ -0,0 +1,6 @@ +using ReactiveUI; + +namespace RomRepoMgr.ViewModels +{ + public class ViewModelBase : ReactiveObject {} +} \ No newline at end of file diff --git a/RomRepoMgr/Views/MainWindow.xaml b/RomRepoMgr/Views/MainWindow.xaml new file mode 100644 index 0000000..5cf0182 --- /dev/null +++ b/RomRepoMgr/Views/MainWindow.xaml @@ -0,0 +1,10 @@ + + + + + + \ No newline at end of file diff --git a/RomRepoMgr/Views/MainWindow.xaml.cs b/RomRepoMgr/Views/MainWindow.xaml.cs new file mode 100644 index 0000000..ca42415 --- /dev/null +++ b/RomRepoMgr/Views/MainWindow.xaml.cs @@ -0,0 +1,12 @@ +using Avalonia.Controls; +using Avalonia.Markup.Xaml; + +namespace RomRepoMgr.Views +{ + public class MainWindow : Window + { + public MainWindow() => InitializeComponent(); + + void InitializeComponent() => AvaloniaXamlLoader.Load(this); + } +} \ No newline at end of file diff --git a/RomRepoMgr/nuget.config b/RomRepoMgr/nuget.config new file mode 100644 index 0000000..7c07e22 --- /dev/null +++ b/RomRepoMgr/nuget.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/codealike.json b/codealike.json new file mode 100644 index 0000000..d8d2a61 --- /dev/null +++ b/codealike.json @@ -0,0 +1 @@ +{"projectId":"ad616503-97fa-41cc-8470-2fd4ac56d06f","projectName":"RomRepoMgr"} \ No newline at end of file