avalonia porting process
visual items tweaked, fixed some crashing when you forget to search
This commit is contained in:
parent
a3be695c76
commit
65e1214242
@ -3,8 +3,14 @@
|
||||
<component name="AvaloniaProject">
|
||||
<option name="projectPerEditor">
|
||||
<map>
|
||||
<entry key="DeskHubSharpRevised/AboutWindow.axaml" value="DeskHubSharpRevised/DeskHubSharpRevised.csproj" />
|
||||
<entry key="DeskHubSharpRevised/App.axaml" value="DeskHubSharpRevised/DeskHubSharpRevised.csproj" />
|
||||
<entry key="DeskHubSharpRevised/DetailWindow.axaml" value="DeskHubSharpRevised/DeskHubSharpRevised.csproj" />
|
||||
<entry key="DeskHubSharpRevised/ErrorWindow.axaml" value="DeskHubSharpRevised/DeskHubSharpRevised.csproj" />
|
||||
<entry key="DeskHubSharpRevised/FeedbackWindow.axaml" value="DeskHubSharpRevised/DeskHubSharpRevised.csproj" />
|
||||
<entry key="DeskHubSharpRevised/HelpWindow.axaml" value="DeskHubSharpRevised/DeskHubSharpRevised.csproj" />
|
||||
<entry key="DeskHubSharpRevised/MainWindow.axaml" value="DeskHubSharpRevised/DeskHubSharpRevised.csproj" />
|
||||
<entry key="DeskHubSharpRevised/SearchWindow.axaml" value="DeskHubSharpRevised/DeskHubSharpRevised.csproj" />
|
||||
</map>
|
||||
</option>
|
||||
</component>
|
||||
|
@ -1,3 +1,4 @@
|
||||
using System.Collections;
|
||||
using System.Diagnostics;
|
||||
using Avalonia;
|
||||
using Avalonia.Controls;
|
||||
@ -10,9 +11,21 @@ namespace DeskHubSharpRevised;
|
||||
|
||||
public partial class DetailWindow : Window
|
||||
{
|
||||
// Private members
|
||||
private readonly RepoDetail _repoDetail;
|
||||
private readonly ComboBox? _cmbbox_branches_items;
|
||||
private TextBlock? _txtblk_language_text;
|
||||
private Label? _lbl_reponame_content;
|
||||
private TextBlock? _txtblk_watchers_text;
|
||||
private TextBlock? _txtblk_stargazers_text;
|
||||
private TextBlock? _txtblk_forks_text;
|
||||
private Request _request;
|
||||
private Owner _owner;
|
||||
|
||||
public DetailWindow()
|
||||
{
|
||||
InitializeComponent();
|
||||
DataContext = this;
|
||||
#if DEBUG
|
||||
this.AttachDevTools();
|
||||
#endif
|
||||
@ -23,36 +36,38 @@ public partial class DetailWindow : Window
|
||||
AvaloniaXamlLoader.Load(this);
|
||||
}
|
||||
|
||||
private RepoDetail _repoDetail;
|
||||
private Request _request;
|
||||
private Owner _owner;
|
||||
|
||||
public DetailWindow(RepoDetail repoDetail)
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
_repoDetail = repoDetail;
|
||||
_request = new Request(_repoDetail.name);
|
||||
_cmbbox_branches_items = this.Find<ComboBox>("cmbbox_branches");
|
||||
_txtblk_language_text = this.Find<TextBlock>("txtblk_language");
|
||||
_txtblk_watchers_text = this.Find<TextBlock>("txtblk_watchers");
|
||||
_txtblk_stargazers_text = this.Find<TextBlock>("txtblk_stargazers");
|
||||
_txtblk_forks_text = this.Find<TextBlock>("txtblk_forks");
|
||||
_lbl_reponame_content = this.Find<Label>("lbl_reponame");
|
||||
RepoInfo info = new RepoInfo();
|
||||
|
||||
_request.PerformBranchRequest();
|
||||
var stuff = info.GetBranchNameComboBox();
|
||||
|
||||
cmbbox_branches.Items= stuff;
|
||||
_cmbbox_branches_items.Items = stuff;
|
||||
|
||||
if (_repoDetail.language != null)
|
||||
{
|
||||
txtblk_language.Text = $"This repo is mostly {_repoDetail.language} code.";
|
||||
_txtblk_language_text.Text = $"This repo is mostly {_repoDetail.language} code.";
|
||||
}
|
||||
else
|
||||
{
|
||||
txtblk_language.Text = "This repo doesn't have any code.";
|
||||
_txtblk_language_text.Text = "This repo doesn't have any code.";
|
||||
}
|
||||
|
||||
lbl_reponame.Content = _repoDetail.full_name;
|
||||
txtblk_stargazers.Text = $"This repo has {_repoDetail.stargazers_count} stargazers.";
|
||||
txtblk_watchers.Text = $"This repo has {_repoDetail.watchers_count} watchers.";
|
||||
txtblk_forks.Text = $"This repo has {_repoDetail.forks_count} forks.";
|
||||
_lbl_reponame_content.Content = _repoDetail.full_name;
|
||||
_txtblk_stargazers_text.Text = $"This repo has {_repoDetail.stargazers_count} stargazers.";
|
||||
_txtblk_watchers_text.Text = $"This repo has {_repoDetail.watchers_count} watchers.";
|
||||
_txtblk_forks_text.Text = $"This repo has {_repoDetail.forks_count} forks.";
|
||||
}
|
||||
|
||||
private void btn_close_Click(object sender, RoutedEventArgs e)
|
||||
|
@ -2,9 +2,9 @@
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
|
||||
mc:Ignorable="d"
|
||||
x:Class="DeskHubSharpRevised.FeedbackWindow"
|
||||
Title="FeedbackWindow">
|
||||
Title="Feedback - DeskHubSharp" Height="450" Width="800">
|
||||
<Grid>
|
||||
<Label x:Name="lbl_title" Content="Feedback" HorizontalAlignment="Left" Margin="10,10,0,0" VerticalAlignment="Top" FontSize="20"/>
|
||||
<TextBox x:Name="txtbox_name" HorizontalAlignment="Left" Height="23" Margin="43,159,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="152"/>
|
||||
|
@ -4,17 +4,16 @@
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
mc:Ignorable="d"
|
||||
x:Class="DeskHubSharpRevised.MainWindow"
|
||||
Title="DeskHubSharp" Height="450" Width="805" CanResize="False"
|
||||
Title="DeskHubSharp" Height="500" Width="805" CanResize="False"
|
||||
TransparencyLevelHint="AcrylicBlur"
|
||||
Background="Transparent">
|
||||
<Grid>
|
||||
<Button x:Name="btn_searchuser" Content="Search User" HorizontalAlignment="Left" Margin="10,389,0,0" VerticalAlignment="Top" Width="75" Background="#FFA1C8FF" Click="btn_search_Click"/>
|
||||
<Button x:Name="btn_detail" Content="Detail" HorizontalAlignment="Left" Margin="90,389,0,0" VerticalAlignment="Top" Width="75" Background="#FFA1C8FF" Click="btn_detail_Click"/>
|
||||
<Button x:Name="btn_feedback" Content="Feedback" HorizontalAlignment="Left" Margin="170,389,0,0" VerticalAlignment="Top" Width="75" Background="#FFD9A1FF" Click="btn_feedback_Click"/>
|
||||
<Button x:Name="btn_help" Content="Help" HorizontalAlignment="Left" Margin="250,389,0,0" VerticalAlignment="Top" Width="75" Background="#FFFFFF9D" Click="btn_help_Click"/>
|
||||
<Button x:Name="btn_about" Content="About" HorizontalAlignment="Left" Margin="627,389,0,0" VerticalAlignment="Top" Width="75" Background="#FFAFFBAB" Click="btn_about_Click"/>
|
||||
|
||||
<Button x:Name="btn_exit" Content="Exit" HorizontalAlignment="Left" Margin="707,389,0,0" VerticalAlignment="Top" Width="75" Background="#FFFF9999" Click="btn_exit_Click"/>
|
||||
<Button x:Name="btn_searchuser" Content="Search" HorizontalAlignment="Left" Margin="10,450,0,0" VerticalAlignment="Top" Width="90" Click="btn_search_Click"/>
|
||||
<Button x:Name="btn_detail" Content="Detail" HorizontalAlignment="Left" Margin="105,450,0,0" VerticalAlignment="Top" Width="75" Click="btn_detail_Click"/>
|
||||
<Button x:Name="btn_feedback" Content="Feedback" HorizontalAlignment="Left" Margin="185,450,0,0" VerticalAlignment="Top" Width="90" Click="btn_feedback_Click"/>
|
||||
<Button x:Name="btn_help" Content="Help" HorizontalAlignment="Left" Margin="280,450,0,0" VerticalAlignment="Top" Width="75" Click="btn_help_Click"/>
|
||||
<Button x:Name="btn_about" Content="About" HorizontalAlignment="Left" Margin="627,450,0,0" VerticalAlignment="Top" Width="75" Click="btn_about_Click"/>
|
||||
<Button x:Name="btn_exit" Content="Exit" HorizontalAlignment="Left" Margin="707,450,0,0" VerticalAlignment="Top" Width="75" Click="btn_exit_Click"/>
|
||||
<TextBlock x:Name="txtblk_username" Margin="563,99,0,0" TextWrapping="Wrap" Text="-" VerticalAlignment="Top" Height="27" FontSize="16" HorizontalAlignment="Left" Width="224"/>
|
||||
<TextBlock x:Name="txtblk_url" HorizontalAlignment="Left" Margin="563,161,0,0" TextWrapping="Wrap" Text="-" VerticalAlignment="Top" Height="23" Width="217" FontSize="14"/>
|
||||
<TextBlock x:Name="txtblk_bio" HorizontalAlignment="Left" Margin="563,280,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Height="109" Width="217" FontSize="14" Text="-"/>
|
||||
@ -23,13 +22,13 @@
|
||||
<Label x:Name="lbl_realname" Content="Name:" HorizontalAlignment="Left" Margin="563,10,0,0" VerticalAlignment="Top" Height="24" Width="224" FontSize="11" Padding="2,5,5,5"/>
|
||||
<Label x:Name="lbl_username" Content="Username:" HorizontalAlignment="Left" Margin="563,74,0,0" VerticalAlignment="Top" Padding="2,5,5,5" FontSize="11"/>
|
||||
<Label x:Name="lbl_url" Content="GitHub URL:" HorizontalAlignment="Left" Margin="563,131,0,0" VerticalAlignment="Top" Padding="2,5,5,5" FontSize="11"/>
|
||||
<Label x:Name="lbl_email" Content="Email:" HorizontalAlignment="Left" Margin="563,192,0,0" VerticalAlignment="Top" Padding="2,5,5,5" FontSize="11"/>
|
||||
<Label x:Name="lbl_bio" Content="Bio:" HorizontalAlignment="Left" Margin="563,249,0,0" VerticalAlignment="Top" RenderTransformOrigin="-0.079,0.397" Padding="2,5,5,5"/>
|
||||
<Label x:Name="lbl_email" Content="Website:" HorizontalAlignment="Left" Margin="563,192,0,0" VerticalAlignment="Top" Padding="2,5,5,5" FontSize="11"/>
|
||||
<Label x:Name="lbl_bio" Content="Bio:" HorizontalAlignment="Left" Margin="563,249,0,0" VerticalAlignment="Top" Padding="2,5,5,5" FontSize="11"/>
|
||||
<ListBox x:Name="ListBox" HorizontalAlignment="Left" Height="265" Margin="10,10,0,0" VerticalAlignment="Top" Width="519"/>
|
||||
<TextBlock x:Name="txtblk_repocount" HorizontalAlignment="Left" Margin="10,280,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Height="65" Width="235" RenderTransformOrigin="0.496,0.482"/>
|
||||
<ComboBox x:Name="cmbbox_sort" HorizontalAlignment="Left" Margin="330,280,0,0" VerticalAlignment="Top" Width="199"/>
|
||||
<Button x:Name="btn_sort" Content="Sort" HorizontalAlignment="Left" Margin="250,280,0,0" VerticalAlignment="Top" Width="75" Click="btn_sort_Click" Height="22"/>
|
||||
<Button x:Name="btn_searchrepo" Content="Search Repository" HorizontalAlignment="Left" Margin="250,307,0,0" VerticalAlignment="Top" Width="109" Click="btn_searchrepo_Click"/>
|
||||
<TextBox x:Name="txtbox_searchbox" HorizontalAlignment="Left" Height="20" Margin="364,307,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="165" RenderTransformOrigin="0.131,-0.913"/>
|
||||
<Button x:Name="btn_sort" Content="Sort" HorizontalAlignment="Left" Margin="250,281,0,0" VerticalAlignment="Top" Width="75" Click="btn_sort_Click"/>
|
||||
<Button x:Name="btn_searchrepo" Content="Search Repository" HorizontalAlignment="Left" Margin="250,326,0,0" VerticalAlignment="Top" Width="109" Click="btn_searchrepo_Click"/>
|
||||
<TextBox x:Name="txtbox_searchbox" HorizontalAlignment="Left" Height="20" Margin="364,325,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="165" RenderTransformOrigin="0.131,-0.913"/>
|
||||
</Grid>
|
||||
</Window>
|
||||
|
@ -68,6 +68,7 @@ namespace DeskHubSharpRevised
|
||||
|
||||
private async void btn_search_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
this.cmbbox_sort = this.Find<ComboBox>("cmbbox_sort");
|
||||
SearchWindow search = new SearchWindow();
|
||||
await search.ShowDialog(this);
|
||||
_repoDetail = RequestList.repoDetail;
|
||||
@ -92,23 +93,18 @@ namespace DeskHubSharpRevised
|
||||
txtblk_email.Text = _user.blog;
|
||||
txtblk_realname.Text = _user.name;
|
||||
txtblk_repocount.Text = $"{_user.login} has {_user.public_repos} public repositories.";
|
||||
_request = new Request();
|
||||
cmbbox_sort.Items = _request.PerformGetSort();
|
||||
}
|
||||
}
|
||||
|
||||
public void ShowErrorMessage(string message)
|
||||
{
|
||||
ErrorWindow err = new ErrorWindow();
|
||||
try
|
||||
{
|
||||
err.lbl_title.Content = "Oops!";
|
||||
err.txtblk_error.Text = message;
|
||||
}
|
||||
catch (NullReferenceException e)
|
||||
{
|
||||
err.lbl_title.Content = "Oops!";
|
||||
err.txtblk_error.Text = message;
|
||||
}
|
||||
|
||||
err.lbl_title = err.Find<Label>("lbl_title");
|
||||
err.lbl_title.Content = "Did you search a user? Try that first.";
|
||||
err.txtblk_error = err.Find<TextBlock>("txtblk_error");
|
||||
err.txtblk_error.Text = message;
|
||||
err.Show();
|
||||
}
|
||||
|
||||
|
@ -7,7 +7,7 @@
|
||||
Title="Search - DeskHubSharp" Height="200" Width="500" CanResize="False">
|
||||
<Grid>
|
||||
<Label x:Name="lbl_search" Content="Search" HorizontalAlignment="Left" Margin="17,15,0,0" VerticalAlignment="Top" FontSize="20" Padding="2,5,5,5"/>
|
||||
<TextBox x:Name="txtbox_query" HorizontalAlignment="Left" Height="23" Margin="17,79,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="465"/>
|
||||
<TextBox x:Name="txtbox_query" Text="{Binding userResponse}" HorizontalAlignment="Left" Height="23" Margin="17,79,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="465"/>
|
||||
<Label x:Name="lbl_user" Content="User:" HorizontalAlignment="Left" Margin="17,52,0,0" VerticalAlignment="Top" Padding="3,5,5,5" RenderTransformOrigin="0.686,0.474"/>
|
||||
<Button x:Name="btn_search" Content="GO!" HorizontalAlignment="Left" Margin="327,139,0,0" VerticalAlignment="Top" Width="75" Background="#FFC4FF93" Click="btn_search_Click"/>
|
||||
<Button x:Name="btn_close" Content="Close" HorizontalAlignment="Left" Margin="407,139,0,0" VerticalAlignment="Top" Width="75" Background="#FFFFA1A1" Click="btn_close_Click"/>
|
||||
|
@ -10,12 +10,14 @@ namespace DeskHubSharpRevised;
|
||||
|
||||
public partial class SearchWindow : Window
|
||||
{
|
||||
public string userResponse { get; set; }
|
||||
private Request _request;
|
||||
private ObservableCollection<RepoDetail> _repoDetail;
|
||||
|
||||
public SearchWindow()
|
||||
{
|
||||
InitializeComponent();
|
||||
DataContext = this;
|
||||
#if DEBUG
|
||||
this.AttachDevTools();
|
||||
#endif
|
||||
@ -33,7 +35,7 @@ public partial class SearchWindow : Window
|
||||
|
||||
private void btn_search_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
if (string.IsNullOrEmpty(txtbox_query.Text))
|
||||
if (string.IsNullOrEmpty(userResponse))
|
||||
{
|
||||
var parentWindow = this;
|
||||
ErrorWindow err = new ErrorWindow();
|
||||
@ -42,7 +44,7 @@ public partial class SearchWindow : Window
|
||||
}
|
||||
else
|
||||
{
|
||||
_request = new Request(txtbox_query.Text);
|
||||
_request = new Request(userResponse);
|
||||
_request.PerformSearchRequest();
|
||||
_request.PerformUserRequest();
|
||||
this.Close();
|
||||
|
Loading…
Reference in New Issue
Block a user