Files
Rozpisky/Rozpisky/Views/UdajeProjektuView.xaml
T
marekandClaude Opus 5 cd2b82db3c Vlastní loga uživatele mimo instalační složku
Loga se dosud hledala jen v loga\ vedle .exe. Kdo si do číselníku přidal
firmu s vlastním logem, musel .dxf nakopírovat do instalační složky – tu ale
přeinstalace přepíše a v Program Files do ní nejde psát. Číselník firmu
přežil, logo ne.

Nově se hledá nejdřív v %APPDATA%\Rozpisky\loga a teprve pak mezi
dodávanými; nabídka v Údajích projektu je sjednocením obou složek (stejné
jméno se nezdvojuje). Tlačítko v Nastavení složku založí a otevře.

Hierarchie je stejná jako u číselníků a je to úmyslné: při konfliktu vyhrává
uživatelská vrstva. Kdyby vyhrávala dodávaná, uživatelova úprava by se tiše
neprojevila – on ji vidí uloženou, program pracuje s něčím jiným. Výjimkou
zůstávají data držící správnost výstupu (mapovani.json, Rozpiska.dxf), kde
vyhrává program.

Subagenti dostali explicitní model: render-dxf a wpf-ui sonnet,
verifikator haiku (jen spouští build a testy).

Build 0 chyb / 0 varování, 55 testů zelených (5 nových na slučování nabídky).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-07 11:13:13 +02:00

167 lines
10 KiB
XML

<UserControl x:Class="Rozpisky.Views.UdajeProjektuView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d" d:DesignWidth="700">
<UserControl.Resources>
<Thickness x:Key="Lbl">0,0,10,6</Thickness>
<Thickness x:Key="Inp">0,0,0,6</Thickness>
<Style TargetType="TextBlock" x:Key="FieldLabel" BasedOn="{StaticResource Text.Caption}">
<Setter Property="VerticalAlignment" Value="Center"/>
<Setter Property="Margin" Value="{StaticResource Lbl}"/>
</Style>
</UserControl.Resources>
<ScrollViewer VerticalScrollBarVisibility="Auto" Padding="16">
<StackPanel MaxWidth="760" HorizontalAlignment="Left">
<TextBlock Text="Údaje projektu" Style="{StaticResource Text.H1}" Margin="0,0,0,4"/>
<TextBlock Style="{StaticResource Text.Caption}"
Text="Hodnoty společné všem rozpiskám projektu. Výběr z číselníku automaticky doplní adresy a kontakty."/>
<!-- Identifikace zakázky -->
<GroupBox Header="IDENTIFIKACE ZAKÁZKY">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="20"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<TextBlock Grid.Row="0" Grid.Column="0" Text="Název stavby / akce" Style="{StaticResource FieldLabel}"/>
<TextBox Grid.Row="0" Grid.Column="1" Grid.ColumnSpan="4" Margin="{StaticResource Inp}"
Text="{Binding Projekt.Stavba, UpdateSourceTrigger=PropertyChanged}"/>
<TextBlock Grid.Row="1" Grid.Column="0" Text="S-kód (SoD)" Style="{StaticResource FieldLabel}"/>
<TextBox Grid.Row="1" Grid.Column="1" Margin="{StaticResource Inp}"
Text="{Binding Projekt.Skod, UpdateSourceTrigger=PropertyChanged}"/>
<TextBlock Grid.Row="1" Grid.Column="3" Text="Číslo zakázky" Style="{StaticResource FieldLabel}"/>
<TextBox Grid.Row="1" Grid.Column="4" Margin="{StaticResource Inp}"
Text="{Binding Projekt.CisloZakazky, UpdateSourceTrigger=PropertyChanged}"/>
<TextBlock Grid.Row="2" Grid.Column="0" Text="Stupeň dokumentace" Style="{StaticResource FieldLabel}"/>
<ComboBox Grid.Row="2" Grid.Column="1" Margin="{StaticResource Inp}"
ItemsSource="{Binding Ciselniky.VerzeDokumentace}"
SelectedItem="{Binding SelectedStupen}"/>
<TextBlock Grid.Row="2" Grid.Column="3" Text="Smluvní datum zpracování" Style="{StaticResource FieldLabel}"/>
<TextBox Grid.Row="2" Grid.Column="4" Margin="{StaticResource Inp}"
Text="{Binding Projekt.SmluvniDatumZpracovani, UpdateSourceTrigger=PropertyChanged}"/>
</Grid>
</GroupBox>
<!-- Objednatel -->
<GroupBox Header="OBJEDNATEL">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<TextBlock Grid.Row="0" Grid.Column="0" Text="Objednatel" Style="{StaticResource FieldLabel}"/>
<ComboBox Grid.Row="0" Grid.Column="1" Margin="{StaticResource Inp}"
ItemsSource="{Binding Ciselniky.Organizace}"
SelectedItem="{Binding SelectedInvestor}"/>
<TextBlock Grid.Row="1" Grid.Column="0" Text="Adresa objednatele" Style="{StaticResource FieldLabel}"/>
<TextBox Grid.Row="1" Grid.Column="1" Margin="{StaticResource Inp}" IsReadOnly="True"
Text="{Binding Projekt.InvestorAdresa}"/>
<TextBlock Grid.Row="2" Grid.Column="0" Text="Hlavní inženýr projektu" Style="{StaticResource FieldLabel}"/>
<ComboBox Grid.Row="2" Grid.Column="1" Margin="{StaticResource Inp}"
IsEditable="True" IsTextSearchEnabled="True" StaysOpenOnEdit="True"
ItemsSource="{Binding Ciselniky.Jmena}" TextSearch.TextPath="Hodnota"
Text="{Binding Projekt.HIP, UpdateSourceTrigger=LostFocus}"/>
<TextBlock Grid.Row="3" Grid.Column="0" Text="Složka SŽ (zástupce)" Style="{StaticResource FieldLabel}"/>
<ComboBox Grid.Row="3" Grid.Column="1" Margin="{StaticResource Inp}"
ItemsSource="{Binding Ciselniky.Organizace}"
SelectedItem="{Binding SelectedSlozkaSZ}"/>
<TextBlock Grid.Row="4" Grid.Column="0" Text="Adresa složky SŽ" Style="{StaticResource FieldLabel}"/>
<TextBox Grid.Row="4" Grid.Column="1" Margin="{StaticResource Inp}" IsReadOnly="True"
Text="{Binding Projekt.SlozkaSZAdresa}"/>
</Grid>
</GroupBox>
<!-- Zhotovitel díla -->
<GroupBox Header="ZHOTOVITEL DÍLA (dle SoD)">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="20"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<TextBlock Grid.Row="0" Grid.Column="0" Text="Zhotovitel" Style="{StaticResource FieldLabel}"/>
<ComboBox Grid.Row="0" Grid.Column="1" Grid.ColumnSpan="4" Margin="{StaticResource Inp}"
ItemsSource="{Binding Ciselniky.Firmy}"
SelectedItem="{Binding SelectedZhotovitelSOD}"/>
<TextBlock Grid.Row="1" Grid.Column="0" Text="Adresa" Style="{StaticResource FieldLabel}"/>
<TextBox Grid.Row="1" Grid.Column="1" Grid.ColumnSpan="4" Margin="{StaticResource Inp}" IsReadOnly="True"
Text="{Binding Projekt.AdresaSOD}"/>
<TextBlock Grid.Row="2" Grid.Column="0" Text="Telefon" Style="{StaticResource FieldLabel}"/>
<TextBox Grid.Row="2" Grid.Column="1" Margin="{StaticResource Inp}" IsReadOnly="True"
Text="{Binding Projekt.TelSOD}"/>
<TextBlock Grid.Row="2" Grid.Column="3" Text="E-mail" Style="{StaticResource FieldLabel}"/>
<TextBox Grid.Row="2" Grid.Column="4" Margin="{StaticResource Inp}" IsReadOnly="True"
Text="{Binding Projekt.EmailSOD}"/>
</Grid>
</GroupBox>
<!-- Loga financujících institucí (stejná pro všechny rozpisky projektu) -->
<GroupBox Header="LOGA FINANCUJÍCÍCH INSTITUCÍ (nepovinné)">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="20"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<TextBlock Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="5" Style="{StaticResource Text.Caption}" Margin="0,0,0,6"
Text="Loga dotačních programů (vlevo) a státních institucí (vpravo). DXF soubory dodávané s programem i vlastní (Nastavení → Otevřít složku s logy)."/>
<TextBlock Grid.Row="1" Grid.Column="0" Text="Logo dotační (vlevo)" Style="{StaticResource FieldLabel}"/>
<ComboBox Grid.Row="1" Grid.Column="1" Margin="{StaticResource Inp}"
IsEditable="True"
ItemsSource="{Binding DostupnaLoga}"
Text="{Binding Projekt.Logo1Soubor, UpdateSourceTrigger=LostFocus}"/>
<TextBlock Grid.Row="1" Grid.Column="3" Text="Logo státní (vpravo)" Style="{StaticResource FieldLabel}"/>
<ComboBox Grid.Row="1" Grid.Column="4" Margin="{StaticResource Inp}"
IsEditable="True"
ItemsSource="{Binding DostupnaLoga}"
Text="{Binding Projekt.Logo2Soubor, UpdateSourceTrigger=LostFocus}"/>
</Grid>
</GroupBox>
</StackPanel>
</ScrollViewer>
</UserControl>