Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -362,3 +362,10 @@ MigrationBackup/
# Fody - auto-generated XML schema
FodyWeavers.xsd
/.claude

# Release packages / build artifacts (not tracked in git)
Releases/
dist/
*.zip
*.rar
*.7z
6 changes: 5 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,12 @@ For non-WPF version you can build the legacy source or use v1.2.0 from releases

### 📥 Installation

**Requirement:** Yoable needs the **[.NET 9 Desktop Runtime (x64)](https://dotnet.microsoft.com/download/dotnet/9.0/runtime?cid=getdotnetcore&runtime=desktop)** installed. If the app does not launch, install it first.

需求:Yoable 需要先安裝 **[.NET 9 Desktop Runtime (x64)](https://dotnet.microsoft.com/download/dotnet/9.0/runtime?cid=getdotnetcore&runtime=desktop)**。如果程式無法開啟,請先安裝它。

1. Download the latest release from our [GitHub Releases](https://github.com/Babyhamsta/Yoable/releases).
2. Download and run Yoable (No install required!).
2. Extract the zip and run `YoableWPF.exe`.
3. (Optional) Load a **YOLO v5/v8/v11 (ONNX)** model for AI-assisted labeling.

### 🛠️ How to Use
Expand Down
57 changes: 45 additions & 12 deletions YoableWPF/MainWindow.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -209,6 +209,18 @@
<TextBlock FontFamily="Segoe MDL2 Assets" Text="&#xE8E5;" FontSize="16" Foreground="#FF2196F3"/>
</MenuItem.Icon>
</MenuItem>
<Separator/>
<MenuItem Header="{DynamicResource Menu_SetManualProgress}" Click="SetManualProgress_Click">
<MenuItem.Icon>
<TextBlock FontFamily="Segoe MDL2 Assets" Text="&#xE7C1;" FontSize="16" Foreground="#FF4CAF50"/>
</MenuItem.Icon>
</MenuItem>
<MenuItem Header="{DynamicResource Menu_JumpManualProgress}" Click="JumpToManualProgress_Click">
<MenuItem.Icon>
<TextBlock FontFamily="Segoe MDL2 Assets" Text="&#xE72A;" FontSize="16" Foreground="#FF2196F3"/>
</MenuItem.Icon>
</MenuItem>
<Separator/>
<MenuItem Header="{DynamicResource Menu_YoutubeToImages}" Click="YTToImage_Click">
<MenuItem.Icon>
<TextBlock FontFamily="Segoe MDL2 Assets" Text="&#xE714;" FontSize="16" Foreground="#FFF44336"/>
Expand Down Expand Up @@ -901,8 +913,9 @@
<!-- Labels ListBox -->
<ListBox Grid.Row="2" x:Name="LabelListBox"
Style="{StaticResource ModernListBox}"
SelectionMode="Single"
SelectionChanged="LabelListBox_SelectionChanged">
SelectionMode="Single"
SelectionChanged="LabelListBox_SelectionChanged"
MouseDoubleClick="LabelListBox_MouseDoubleClick">
<ListBox.ItemContainerStyle>
<Style TargetType="ListBoxItem"
BasedOn="{StaticResource ImageListItemStyle}"/>
Expand All @@ -915,16 +928,35 @@
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<StackPanel Orientation="Horizontal" Grid.Row="0">
<Border Width="4"
Height="20"
Background="{Binding ClassBrush}"
Margin="0,0,8,0"
CornerRadius="2"/>
<TextBlock Text="{Binding DisplayText}"
VerticalAlignment="Center"
TextTrimming="CharacterEllipsis"/>
</StackPanel>
<Grid Grid.Row="0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<StackPanel Orientation="Horizontal" Grid.Column="0">
<Border Width="4"
Height="20"
Background="{Binding ClassBrush}"
Margin="0,0,8,0"
CornerRadius="2"/>
<TextBlock Text="{Binding DisplayText}"
VerticalAlignment="Center"
TextTrimming="CharacterEllipsis"/>
</StackPanel>
<Button Grid.Column="1"
x:Name="ChangeClassButton"
Style="{StaticResource IconButton}"
Padding="4,0"
Margin="8,0,0,0"
VerticalAlignment="Center"
Click="ChangeLabelClass_Click"
Tag="{Binding}"
ToolTip="{DynamicResource Main_ChangeClass}">
<TextBlock FontFamily="Segoe MDL2 Assets"
Text="&#xE8AB;"
FontSize="12"/>
</Button>
</Grid>
<StackPanel Orientation="Horizontal"
Grid.Row="1"
x:Name="SuggestionMeta"
Expand Down Expand Up @@ -959,6 +991,7 @@
<DataTrigger Binding="{Binding IsSuggestion}" Value="True">
<Setter TargetName="SuggestionActions" Property="Visibility" Value="Visible"/>
<Setter TargetName="SuggestionMeta" Property="Visibility" Value="Visible"/>
<Setter TargetName="ChangeClassButton" Property="Visibility" Value="Collapsed"/>
</DataTrigger>
</DataTemplate.Triggers>
</DataTemplate>
Expand Down
Loading
Loading