Add host activity and DB browser, and keep dialogs, drag-drop, and idle maintenance responsive.
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
78
src/Explorer.App/DatabaseWindow.xaml
Normal file
78
src/Explorer.App/DatabaseWindow.xaml
Normal file
@@ -0,0 +1,78 @@
|
||||
<Window x:Class="Explorer.App.DatabaseWindow"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
Title="Database"
|
||||
Icon="pack://application:,,,/Assets/explorer-workbench.ico"
|
||||
Height="720" Width="1100"
|
||||
MinHeight="480" MinWidth="800"
|
||||
WindowStartupLocation="CenterOwner"
|
||||
Background="{DynamicResource Bg}" Foreground="{DynamicResource Fg}">
|
||||
<DockPanel Margin="12">
|
||||
<DockPanel DockPanel.Dock="Bottom" Margin="0,10,0,0">
|
||||
<Button DockPanel.Dock="Right" Content="Close" MinWidth="88" Height="30" Click="OnClose" Margin="8,0,0,0"/>
|
||||
<TextBlock Text="{Binding Status}" VerticalAlignment="Center" Foreground="{DynamicResource FgMuted}"
|
||||
TextTrimming="CharacterEllipsis"/>
|
||||
</DockPanel>
|
||||
|
||||
<DockPanel DockPanel.Dock="Top" Margin="0,0,0,8">
|
||||
<Button DockPanel.Dock="Right" Content="Close DB" MinWidth="80" Height="28"
|
||||
Command="{Binding CloseDatabaseCommand}" Margin="6,0,0,0"/>
|
||||
<Button DockPanel.Dock="Right" Content="Open file…" MinWidth="90" Height="28"
|
||||
Click="OnOpenFile" Margin="6,0,0,0"/>
|
||||
<Button DockPanel.Dock="Right" Content="Open Workbench index" MinWidth="150" Height="28"
|
||||
Command="{Binding OpenWorkbenchIndexCommand}" Margin="6,0,0,0"/>
|
||||
<StackPanel>
|
||||
<TextBlock Text="{Binding PathLabel}" FontWeight="SemiBold" TextTrimming="CharacterEllipsis"/>
|
||||
<TextBlock Text="{Binding ModeLabel}" Foreground="{DynamicResource FgMuted}" FontSize="11"/>
|
||||
</StackPanel>
|
||||
</DockPanel>
|
||||
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="220"/>
|
||||
<ColumnDefinition Width="8"/>
|
||||
<ColumnDefinition Width="*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<DockPanel>
|
||||
<DockPanel DockPanel.Dock="Top" Margin="0,0,0,6">
|
||||
<Button DockPanel.Dock="Right" Content="↻" Width="28" Height="26"
|
||||
Command="{Binding RefreshTablesCommand}" ToolTip="Refresh tables"/>
|
||||
<TextBlock Text="Tables" FontWeight="SemiBold" VerticalAlignment="Center"/>
|
||||
</DockPanel>
|
||||
<ListBox ItemsSource="{Binding Tables}" SelectedItem="{Binding SelectedTable}"/>
|
||||
</DockPanel>
|
||||
|
||||
<DockPanel Grid.Column="2">
|
||||
<DockPanel DockPanel.Dock="Top" Margin="0,0,0,8">
|
||||
<Button DockPanel.Dock="Right" Content="Run SQL" MinWidth="80" Height="28"
|
||||
Command="{Binding RunSqlCommand}" Margin="8,0,0,0"/>
|
||||
<TextBox Text="{Binding Sql, UpdateSourceTrigger=PropertyChanged}" AcceptsReturn="True"
|
||||
Height="56" TextWrapping="Wrap" VerticalScrollBarVisibility="Auto"
|
||||
FontFamily="Consolas"/>
|
||||
</DockPanel>
|
||||
<DockPanel DockPanel.Dock="Top" Margin="0,0,0,8">
|
||||
<TextBlock DockPanel.Dock="Left" Text="{Binding PageLabel}" VerticalAlignment="Center"
|
||||
Foreground="{DynamicResource FgMuted}" Margin="0,0,12,0"/>
|
||||
<Button DockPanel.Dock="Left" Content="Prev" MinWidth="60" Height="26"
|
||||
Command="{Binding PrevPageCommand}" Margin="0,0,6,0"/>
|
||||
<Button DockPanel.Dock="Left" Content="Next" MinWidth="60" Height="26"
|
||||
Command="{Binding NextPageCommand}" Margin="0,0,12,0"/>
|
||||
<Button DockPanel.Dock="Left" Content="Edit cell…" MinWidth="80" Height="26"
|
||||
Click="OnEditCell" IsEnabled="{Binding CanWrite}" Margin="0,0,6,0"/>
|
||||
<Button DockPanel.Dock="Left" Content="Insert row…" MinWidth="90" Height="26"
|
||||
Click="OnInsertRow" IsEnabled="{Binding CanWrite}" Margin="0,0,6,0"/>
|
||||
<Button DockPanel.Dock="Left" Content="Delete row" MinWidth="80" Height="26"
|
||||
Command="{Binding DeleteSelectedRowCommand}" IsEnabled="{Binding CanWrite}"/>
|
||||
</DockPanel>
|
||||
<ListView x:Name="GridViewHost"
|
||||
ItemsSource="{Binding Rows}"
|
||||
SelectedItem="{Binding SelectedRow}"
|
||||
MouseDoubleClick="OnRowDoubleClick">
|
||||
<ListView.View>
|
||||
<GridView x:Name="ResultGrid"/>
|
||||
</ListView.View>
|
||||
</ListView>
|
||||
</DockPanel>
|
||||
</Grid>
|
||||
</DockPanel>
|
||||
</Window>
|
||||
Reference in New Issue
Block a user