- tweak: View autogenerator

This commit is contained in:
2025-07-02 21:32:51 +03:00
parent 9e95d68c4a
commit 517fadaab8
57 changed files with 316 additions and 286 deletions

View File

@@ -1,22 +1,11 @@
using Avalonia;
using Avalonia.Controls;
using Avalonia.Markup.Xaml;
using Nebula.Launcher.ViewModels.Pages;
namespace Nebula.Launcher.Views;
public partial class FileContentEntryView : UserControl
{
// This constructor is used when the view is created by the XAML Previewer
public FileContentEntryView()
{
InitializeComponent();
}
// This constructor is used when the view is created via dependency injection
public FileContentEntryView(FolderContentEntry viewModel)
: this()
{
DataContext = viewModel;
}
}

View File

@@ -8,7 +8,6 @@
xmlns:converters="clr-namespace:Nebula.Launcher.Converters"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:models="clr-namespace:Nebula.Shared.Models;assembly=Nebula.Shared"
xmlns:viewModels="clr-namespace:Nebula.Launcher.ViewModels"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:models1="clr-namespace:Nebula.Launcher.Models">

View File

@@ -1,20 +1,11 @@
using Avalonia.Controls;
using Nebula.Launcher.ViewModels;
namespace Nebula.Launcher.Views;
public partial class MainView : UserControl
{
// This constructor is used when the view is created by the XAML Previewer
public MainView()
{
InitializeComponent();
}
// This constructor is used when the view is created via dependency injection
public MainView(MainViewModel viewModel)
: this()
{
DataContext = viewModel;
}
}

View File

@@ -9,7 +9,8 @@
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:pages="clr-namespace:Nebula.Launcher.ViewModels.Pages"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:auth="clr-namespace:Nebula.Launcher.Models.Auth">
<Design.DataContext>
<pages:AccountInfoViewModel />
</Design.DataContext>
@@ -37,7 +38,7 @@
ItemsSource="{Binding Accounts}"
Padding="0">
<ItemsControl.ItemTemplate>
<DataTemplate DataType="{x:Type pages:ProfileAuthCredentials}">
<DataTemplate DataType="{x:Type auth:ProfileAuthCredentials}">
<Border
BoxShadow="0 1 15 -2 #121212"
CornerRadius="0,10,0,10"

View File

@@ -1,5 +1,4 @@
using Avalonia.Controls;
using AccountInfoViewModel = Nebula.Launcher.ViewModels.Pages.AccountInfoViewModel;
namespace Nebula.Launcher.Views.Pages;
@@ -9,10 +8,4 @@ public partial class AccountInfoView : UserControl
{
InitializeComponent();
}
public AccountInfoView(AccountInfoViewModel viewModel)
: this()
{
DataContext = viewModel;
}
}

View File

@@ -22,7 +22,8 @@
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
</ItemsControl>
<StackPanel Orientation="Horizontal" Spacing="5">
<WrapPanel Orientation="Horizontal">
<Button
Classes="ConfigBorder"
VerticalAlignment="Bottom"
@@ -60,7 +61,17 @@
Command="{Binding ExportLogs}">
<customControls:LocalizedLabel LocalId="config-export-logs"/>
</Button>
</StackPanel>
<Button
Classes="ConfigBorder"
VerticalAlignment="Bottom"
HorizontalAlignment="Stretch"
Padding="5"
Margin="5"
Command="{Binding RemoveAllContent}">
<customControls:LocalizedLabel LocalId="config-remove-content-all"/>
</Button>
</WrapPanel>
</StackPanel>
</ScrollViewer>
</UserControl>

View File

@@ -1,7 +1,4 @@
using Avalonia;
using Avalonia.Controls;
using Avalonia.Markup.Xaml;
using Nebula.Launcher.ViewModels.Pages;
namespace Nebula.Launcher.Views.Pages;
@@ -11,10 +8,4 @@ public partial class ConfigurationView : UserControl
{
InitializeComponent();
}
public ConfigurationView(ConfigurationViewModel viewModel)
: this()
{
DataContext = viewModel;
}
}

View File

@@ -1,5 +1,4 @@
using Avalonia.Controls;
using ContentBrowserViewModel = Nebula.Launcher.ViewModels.Pages.ContentBrowserViewModel;
namespace Nebula.Launcher.Views.Pages;
@@ -9,10 +8,4 @@ public partial class ContentBrowserView : UserControl
{
InitializeComponent();
}
public ContentBrowserView(ContentBrowserViewModel viewModel)
: this()
{
DataContext = viewModel;
}
}

View File

@@ -1,11 +1,9 @@
using Avalonia.Controls;
using Nebula.Launcher.ViewModels.Pages;
namespace Nebula.Launcher.Views.Pages;
public partial class ServerOverviewView : UserControl
{
// This constructor is used when the view is created by the XAML Previewer
public ServerOverviewView()
{
InitializeComponent();
@@ -19,11 +17,4 @@ public partial class ServerOverviewView : UserControl
LanguageFilters.AddFilter("RU","lang:ru");
LanguageFilters.AddFilter("EN","lang:en");
}
// This constructor is used when the view is created via dependency injection
public ServerOverviewView(ServerOverviewModel viewModel)
: this()
{
DataContext = viewModel;
}
}

View File

@@ -1,5 +1,4 @@
using Avalonia.Controls;
using Nebula.Launcher.ViewModels.Popup;
namespace Nebula.Launcher.Views.Popup;
@@ -9,10 +8,4 @@ public partial class AddFavoriteView : UserControl
{
InitializeComponent();
}
public AddFavoriteView(AddFavoriteViewModel viewModel)
: this()
{
DataContext = viewModel;
}
}

View File

@@ -1,7 +1,4 @@
using Avalonia;
using Avalonia.Controls;
using Avalonia.Markup.Xaml;
using Nebula.Launcher.ViewModels.Popup;
namespace Nebula.Launcher.Views.Popup;
@@ -11,10 +8,4 @@ public partial class EditServerNameView : UserControl
{
InitializeComponent();
}
public EditServerNameView(EditServerNameViewModel viewModel)
: this()
{
DataContext = viewModel;
}
}

View File

@@ -1,5 +1,4 @@
using Avalonia.Controls;
using Nebula.Launcher.ViewModels.Popup;
namespace Nebula.Launcher.Views.Popup;
@@ -9,9 +8,4 @@ public partial class ExceptionListView : UserControl
{
InitializeComponent();
}
public ExceptionListView(ExceptionListViewModel listViewModel) : this()
{
DataContext = listViewModel;
}
}

View File

@@ -1,5 +1,4 @@
using Avalonia.Controls;
using InfoPopupViewModel = Nebula.Launcher.ViewModels.Popup.InfoPopupViewModel;
namespace Nebula.Launcher.Views.Popup;
@@ -9,9 +8,4 @@ public partial class InfoPopupView : UserControl
{
InitializeComponent();
}
public InfoPopupView(InfoPopupViewModel viewModel) : this()
{
DataContext = viewModel;
}
}

View File

@@ -1,5 +1,4 @@
using Avalonia.Controls;
using LoadingContextViewModel = Nebula.Launcher.ViewModels.Popup.LoadingContextViewModel;
namespace Nebula.Launcher.Views.Popup;
@@ -9,9 +8,4 @@ public partial class LoadingContextView : UserControl
{
InitializeComponent();
}
public LoadingContextView(LoadingContextViewModel viewModel) : this()
{
DataContext = viewModel;
}
}

View File

@@ -4,6 +4,7 @@
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:viewModels="clr-namespace:Nebula.Launcher.ViewModels"
xmlns:popup="clr-namespace:Nebula.Launcher.ViewModels.Popup"
xmlns:models="clr-namespace:Nebula.Launcher.Models"
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
x:Class="Nebula.Launcher.Views.Popup.LogPopupView"
x:DataType="popup:LogPopupModelView">
@@ -17,7 +18,7 @@
ItemsSource="{Binding Logs}"
Padding="0">
<ItemsControl.ItemTemplate>
<DataTemplate DataType="{x:Type popup:LogInfo}">
<DataTemplate DataType="{x:Type models:LogInfo}">
<Border CornerRadius="5" Margin="0,0,0,5">
<StackPanel Orientation="Horizontal" Spacing="5" Margin="0">
<Border MinWidth="100"

View File

@@ -1,5 +1,4 @@
using Avalonia.Controls;
using Nebula.Launcher.ViewModels.Popup;
namespace Nebula.Launcher.Views.Popup;
@@ -9,9 +8,4 @@ public partial class LogPopupView : UserControl
{
InitializeComponent();
}
public LogPopupView(LogPopupModelView viewModel) : this()
{
DataContext = viewModel;
}
}

View File

@@ -1,11 +1,8 @@
using System;
using System.Collections.Generic;
using System.Linq;
using Avalonia;
using Avalonia.Controls;
using Avalonia.Input;
using Avalonia.Interactivity;
using Avalonia.Markup.Xaml;
using Nebula.Launcher.ViewModels.Popup;
namespace Nebula.Launcher.Views.Popup;
@@ -88,11 +85,6 @@ public partial class TfaView : UserControl
return (TextBox)box.Child!;
}
public TfaView(TfaViewModel tfaViewModel) : this()
{
DataContext = tfaViewModel;
}
private void Button_OnClick(object? sender, RoutedEventArgs e)
{
CheckupCode();

View File

@@ -1,5 +1,4 @@
using Avalonia.Controls;
using Nebula.Launcher.ViewModels;
namespace Nebula.Launcher.Views;
@@ -9,9 +8,4 @@ public partial class ServerCompoundEntryView : UserControl
{
InitializeComponent();
}
public ServerCompoundEntryView(ServerCompoundEntryViewModel viewModel) : this()
{
DataContext = viewModel;
}
}

View File

@@ -22,10 +22,7 @@ public partial class ServerEntryView : UserControl
StartAutoScrolling();
}
public ServerEntryView(ServerEntryModelView modelView) : this()
{
DataContext = modelView;
}
private void StartAutoScrolling()
{