Browse Source

Merge branch 'master' into new-palette-formats

Krzysztof Krysiński 2 years ago
parent
commit
7b1e6f5587

+ 4 - 0
src/PixiEditor/ViewModels/SubViewModels/Tools/ToolSettings/Toolbars/BasicToolbar.cs

@@ -17,6 +17,10 @@ internal class BasicToolbar : Toolbar
         var setting = new SizeSetting(nameof(ToolSize), "Tool size:");
         setting.ValueChanged += (_, _) => RaisePropertyChanged(nameof(ToolSize));
         Settings.Add(setting);
+    }
 
+    public override void OnLoadedSettings()
+    {
+        RaisePropertyChanged(nameof(ToolSize));
     }
 }

+ 6 - 0
src/PixiEditor/ViewModels/SubViewModels/Tools/ToolSettings/Toolbars/Toolbar.cs

@@ -78,5 +78,11 @@ internal abstract class Toolbar : NotifyableObject
                 Settings.First(x => x.Name == SharedSettings[i].Name).Value = SharedSettings[i].Value;
             }
         }
+
+        OnLoadedSettings();
+    }
+
+    public virtual void OnLoadedSettings()
+    {
     }
 }

+ 31 - 29
src/PixiEditor/Views/MainWindow.xaml

@@ -756,35 +756,37 @@
                         <RowDefinition Height="Auto"/>
                     </Grid.RowDefinitions>
 
-                    <ItemsControl
-                        ItemsSource="{Binding ToolsSubViewModel.ToolSet}">
-                        <ItemsControl.ItemTemplate>
-                            <DataTemplate>
-                                <Button
-                                    BorderBrush="White"
-                                    BorderThickness="{Binding IsActive, Converter={StaticResource BoolToIntConverter}}"
-                                    Style="{StaticResource ToolButtonStyle}"
-                                    Command="{cmds:Command PixiEditor.Tools.SelectTool, UseProvided=True}"
-                                    CommandParameter="{Binding}"
-                                    ToolTip="{Binding Tooltip}">
-                                    <Button.Background>
-                                        <ImageBrush
-                                            RenderOptions.BitmapScalingMode="Fant"
-                                            ImageSource="{Binding ImagePath}"
-                                            Stretch="Uniform" />
-                                    </Button.Background>
-                                    <Button.Resources>
-                                        <Style
-                                            TargetType="Border">
-                                            <Setter
-                                                Property="CornerRadius"
-                                                Value="2.5" />
-                                        </Style>
-                                    </Button.Resources>
-                                </Button>
-                            </DataTemplate>
-                        </ItemsControl.ItemTemplate>
-                    </ItemsControl>
+                    <ScrollViewer VerticalScrollBarVisibility="Auto">
+                        <ItemsControl
+                            ItemsSource="{Binding ToolsSubViewModel.ToolSet}">
+                            <ItemsControl.ItemTemplate>
+                                <DataTemplate>
+                                    <Button
+                                        BorderBrush="White"
+                                        BorderThickness="{Binding IsActive, Converter={StaticResource BoolToIntConverter}}"
+                                        Style="{StaticResource ToolButtonStyle}"
+                                        Command="{cmds:Command PixiEditor.Tools.SelectTool, UseProvided=True}"
+                                        CommandParameter="{Binding}"
+                                        ToolTip="{Binding Tooltip}">
+                                        <Button.Background>
+                                            <ImageBrush
+                                                RenderOptions.BitmapScalingMode="Fant"
+                                                ImageSource="{Binding ImagePath}"
+                                                Stretch="Uniform" />
+                                        </Button.Background>
+                                        <Button.Resources>
+                                            <Style
+                                                TargetType="Border">
+                                                <Setter
+                                                    Property="CornerRadius"
+                                                    Value="2.5" />
+                                            </Style>
+                                        </Button.Resources>
+                                    </Button>
+                                </DataTemplate>
+                            </ItemsControl.ItemTemplate>
+                        </ItemsControl>
+                    </ScrollViewer>
                     <Border Background="{Binding ColorsSubViewModel.PrimaryColor, Mode=TwoWay, Converter={converters:BackendColorToMediaColorConverter}}"
                             BorderBrush="Gray" BorderThickness="1" CornerRadius="0,0,5,5"
                             Grid.Row="1" Height="30"/>

+ 34 - 13
windows-x64-release-dev.yml

@@ -5,7 +5,6 @@
 
 trigger:
 - development
-
 pr: none
 
 pool:
@@ -15,17 +14,22 @@ variables:
 - group: Release Secrets
 - name: solution 
   value: '**/*.sln'
+- name: archNumber
+  value: '64'
+- name: architecture
+  value: 'x$(archNumber)'
 - name: buildPlatform 
-  value: 'win-x64'
+  value: 'win-$(architecture)'
 - name: buildConfiguration
   value: 'DevRelease'
 
 steps:
+
 - task: UseDotNet@2
   inputs:
     packageType: 'sdk'
-    version: '7.0.104'
-    
+    version: '7.0.203'
+
 - task: NuGetToolInstaller@1
 
 - task: NuGetCommand@2
@@ -48,6 +52,7 @@ steps:
     arguments: '-o "UpdateInstaller" -r "$(buildPlatform)" --self-contained=false -p:PublishSingleFile=true -c $(buildConfiguration)'
     zipAfterPublish: false
 
+
 - task: PowerShell@2
   displayName: "Set tag version"
   inputs:
@@ -57,22 +62,22 @@ steps:
   displayName: Publish PixiEditor
   inputs:
     filePath: 'src/PixiEditor.Builder/build.ps1'
-    arguments: '--project-path "$(System.DefaultWorkingDirectory)\src\PixiEditor" --build-configuration "$(buildConfiguration)" --runtime "$(buildPlatform)" -o "$(System.DefaultWorkingDirectory)\Builds\PixiEditor-x64-light\PixiEditor" --crash-report-webhook-url "$(crash-webhook-url)"'
+    arguments: '--project-path "$(System.DefaultWorkingDirectory)\src\PixiEditor" --build-configuration "$(buildConfiguration)" --runtime "$(buildPlatform)" -o "$(System.DefaultWorkingDirectory)\Builds\PixiEditor-$(architecture)-light\PixiEditor" --crash-report-webhook-url "$(crash-webhook-url)"'
     workingDirectory: 'src/PixiEditor.Builder'
 
 - task: ArchiveFiles@2
   inputs:
-    rootFolderOrFile: 'Builds\PixiEditor-x64-light'
+    rootFolderOrFile: 'Builds\PixiEditor-$(architecture)-light'
     includeRootFolder: false
     archiveType: 'zip'
-    archiveFile: 'PixiEditor.$(TagVersion).x64.zip'
+    archiveFile: 'PixiEditor.$(TagVersion).$(architecture).zip'
     replaceExistingArchive: true
 
 - task: PublishPipelineArtifact@1
   displayName: "Publish zip artifact"
   inputs:
-    targetPath: '$(System.DefaultWorkingDirectory)\PixiEditor.$(TagVersion).x64.zip'
-    artifact: 'PixiEditor.$(TagVersion).x64.zip'
+    targetPath: '$(System.DefaultWorkingDirectory)\PixiEditor.$(TagVersion).$(architecture).zip'
+    artifact: 'PixiEditor.$(TagVersion).$(architecture).zip'
     publishLocation: 'pipeline'
 
 - task: CopyFiles@2
@@ -80,18 +85,34 @@ steps:
   inputs:
     SourceFolder: 'UpdateInstaller'
     Contents: '**'
-    TargetFolder: 'Builds/PixiEditor-x64-light/PixiEditor'
+    TargetFolder: 'Builds/PixiEditor-$(architecture)-light/PixiEditor'
     flattenFolders: true
 
 - task: PowerShell@2
   displayName: "Compile installer"
   inputs:
     targetType: 'inline'
-    script: '& "$env:userprofile\.nuget\packages\tools.innosetup\6.2.1\tools\ISCC.exe" src\Installer\installer-setup-x64-light.iss'
+    script: '& "$env:userprofile\.nuget\packages\tools.innosetup\6.2.1\tools\ISCC.exe" src\Installer\installer-setup-$(architecture)-light.iss'
 
 - task: PublishPipelineArtifact@1
   displayName: "Publish artifact"
   inputs:
-    targetPath: 'src/Installer/Assets/PixiEditor-x64-light/'
-    artifact: 'PixiEditor-setup-x64.exe'
+    targetPath: 'src/Installer/Assets/PixiEditor-$(architecture)-light/'
+    artifact: 'PixiEditor-setup-$(architecture).exe'
+    publishLocation: 'pipeline'
+
+- task: ArchiveFiles@2
+  displayName: "Create zipped installer"
+  inputs:
+    rootFolderOrFile: 'src/Installer/Assets/PixiEditor-$(architecture)-light'
+    includeRootFolder: false
+    archiveType: 'zip'
+    archiveFile: '$(Build.ArtifactStagingDirectory)/PixiEditor-$(TagVersion)-setup$(archNumber).zip'
+    replaceExistingArchive: true
+
+- task: PublishPipelineArtifact@1
+  displayName: "Publish installer zip artifact"
+  inputs:
+    targetPath: '$(Build.ArtifactStagingDirectory)/PixiEditor-$(TagVersion)-setup$(archNumber).zip'
+    artifact: 'PixiEditor-$(TagVersion)-setup$(archNumber).zip'
     publishLocation: 'pipeline'

+ 34 - 12
windows-x64-release.yml

@@ -5,7 +5,6 @@
 
 trigger:
 - release
-
 pr: none
 
 pool:
@@ -15,16 +14,22 @@ variables:
 - group: Release Secrets
 - name: solution 
   value: '**/*.sln'
+- name: archNumber
+  value: '64'
+- name: architecture
+  value: 'x$(archNumber)'
 - name: buildPlatform 
-  value: 'win-x64'
+  value: 'win-$(architecture)'
 - name: buildConfiguration
   value: 'Release'
 
 steps:
+
 - task: UseDotNet@2
   inputs:
     packageType: 'sdk'
-    version: '7.0.104'
+    version: '7.0.203'
+
 - task: NuGetToolInstaller@1
 
 - task: NuGetCommand@2
@@ -47,6 +52,7 @@ steps:
     arguments: '-o "UpdateInstaller" -r "$(buildPlatform)" --self-contained=false -p:PublishSingleFile=true -c $(buildConfiguration)'
     zipAfterPublish: false
 
+
 - task: PowerShell@2
   displayName: "Set tag version"
   inputs:
@@ -56,22 +62,22 @@ steps:
   displayName: Publish PixiEditor
   inputs:
     filePath: 'src/PixiEditor.Builder/build.ps1'
-    arguments: '--project-path "$(System.DefaultWorkingDirectory)\src\PixiEditor" --build-configuration "$(buildConfiguration)" --runtime "$(buildPlatform)" -o "$(System.DefaultWorkingDirectory)\Builds\PixiEditor-x64-light\PixiEditor" --crash-report-webhook-url "$(crash-webhook-url)"'
+    arguments: '--project-path "$(System.DefaultWorkingDirectory)\src\PixiEditor" --build-configuration "$(buildConfiguration)" --runtime "$(buildPlatform)" -o "$(System.DefaultWorkingDirectory)\Builds\PixiEditor-$(architecture)-light\PixiEditor" --crash-report-webhook-url "$(crash-webhook-url)"'
     workingDirectory: 'src/PixiEditor.Builder'
 
 - task: ArchiveFiles@2
   inputs:
-    rootFolderOrFile: 'Builds\PixiEditor-x64-light'
+    rootFolderOrFile: 'Builds\PixiEditor-$(architecture)-light'
     includeRootFolder: false
     archiveType: 'zip'
-    archiveFile: 'PixiEditor.$(TagVersion).x64.zip'
+    archiveFile: 'PixiEditor.$(TagVersion).$(architecture).zip'
     replaceExistingArchive: true
 
 - task: PublishPipelineArtifact@1
   displayName: "Publish zip artifact"
   inputs:
-    targetPath: '$(System.DefaultWorkingDirectory)\PixiEditor.$(TagVersion).x64.zip'
-    artifact: 'PixiEditor.$(TagVersion).x64.zip'
+    targetPath: '$(System.DefaultWorkingDirectory)\PixiEditor.$(TagVersion).$(architecture).zip'
+    artifact: 'PixiEditor.$(TagVersion).$(architecture).zip'
     publishLocation: 'pipeline'
 
 - task: CopyFiles@2
@@ -79,18 +85,34 @@ steps:
   inputs:
     SourceFolder: 'UpdateInstaller'
     Contents: '**'
-    TargetFolder: 'Builds/PixiEditor-x64-light/PixiEditor'
+    TargetFolder: 'Builds/PixiEditor-$(architecture)-light/PixiEditor'
     flattenFolders: true
 
 - task: PowerShell@2
   displayName: "Compile installer"
   inputs:
     targetType: 'inline'
-    script: '& "$env:userprofile\.nuget\packages\tools.innosetup\6.2.1\tools\ISCC.exe" src\Installer\installer-setup-x64-light.iss'
+    script: '& "$env:userprofile\.nuget\packages\tools.innosetup\6.2.1\tools\ISCC.exe" src\Installer\installer-setup-$(architecture)-light.iss'
 
 - task: PublishPipelineArtifact@1
   displayName: "Publish artifact"
   inputs:
-    targetPath: 'src/Installer/Assets/PixiEditor-x64-light/'
-    artifact: 'PixiEditor-setup-x64.exe'
+    targetPath: 'src/Installer/Assets/PixiEditor-$(architecture)-light/'
+    artifact: 'PixiEditor-setup-$(architecture).exe'
+    publishLocation: 'pipeline'
+
+- task: ArchiveFiles@2
+  displayName: "Create zipped installer"
+  inputs:
+    rootFolderOrFile: 'src/Installer/Assets/PixiEditor-$(architecture)-light'
+    includeRootFolder: false
+    archiveType: 'zip'
+    archiveFile: '$(Build.ArtifactStagingDirectory)/PixiEditor-$(TagVersion)-setup$(archNumber).zip'
+    replaceExistingArchive: true
+
+- task: PublishPipelineArtifact@1
+  displayName: "Publish installer zip artifact"
+  inputs:
+    targetPath: '$(Build.ArtifactStagingDirectory)/PixiEditor-$(TagVersion)-setup$(archNumber).zip'
+    artifact: 'PixiEditor-$(TagVersion)-setup$(archNumber).zip'
     publishLocation: 'pipeline'

+ 31 - 11
windows-x86-release-dev.yml

@@ -14,8 +14,12 @@ variables:
 - group: Release Secrets
 - name: solution 
   value: '**/*.sln'
+- name: archNumber
+  value: '86'
+- name: architecture
+  value: 'x$(archNumber)'
 - name: buildPlatform 
-  value: 'win-x86'
+  value: 'win-$(architecture)'
 - name: buildConfiguration
   value: 'DevRelease'
 
@@ -24,7 +28,7 @@ steps:
 - task: UseDotNet@2
   inputs:
     packageType: 'sdk'
-    version: '7.0.104'
+    version: '7.0.203'
 
 - task: NuGetToolInstaller@1
 
@@ -58,22 +62,22 @@ steps:
   displayName: Publish PixiEditor
   inputs:
     filePath: 'src/PixiEditor.Builder/build.ps1'
-    arguments: '--project-path "$(System.DefaultWorkingDirectory)\src\PixiEditor" --build-configuration "$(buildConfiguration)" --runtime "$(buildPlatform)" -o "$(System.DefaultWorkingDirectory)\Builds\PixiEditor-x86-light\PixiEditor" --crash-report-webhook-url "$(crash-webhook-url)"'
+    arguments: '--project-path "$(System.DefaultWorkingDirectory)\src\PixiEditor" --build-configuration "$(buildConfiguration)" --runtime "$(buildPlatform)" -o "$(System.DefaultWorkingDirectory)\Builds\PixiEditor-$(architecture)-light\PixiEditor" --crash-report-webhook-url "$(crash-webhook-url)"'
     workingDirectory: 'src/PixiEditor.Builder'
 
 - task: ArchiveFiles@2
   inputs:
-    rootFolderOrFile: 'Builds\PixiEditor-x86-light'
+    rootFolderOrFile: 'Builds\PixiEditor-$(architecture)-light'
     includeRootFolder: false
     archiveType: 'zip'
-    archiveFile: 'PixiEditor.$(TagVersion).x86.zip'
+    archiveFile: 'PixiEditor.$(TagVersion).$(architecture).zip'
     replaceExistingArchive: true
 
 - task: PublishPipelineArtifact@1
   displayName: "Publish zip artifact"
   inputs:
-    targetPath: '$(System.DefaultWorkingDirectory)\PixiEditor.$(TagVersion).x86.zip'
-    artifact: 'PixiEditor.$(TagVersion).x86.zip'
+    targetPath: '$(System.DefaultWorkingDirectory)\PixiEditor.$(TagVersion).$(architecture).zip'
+    artifact: 'PixiEditor.$(TagVersion).$(architecture).zip'
     publishLocation: 'pipeline'
 
 - task: CopyFiles@2
@@ -81,18 +85,34 @@ steps:
   inputs:
     SourceFolder: 'UpdateInstaller'
     Contents: '**'
-    TargetFolder: 'Builds/PixiEditor-x86-light/PixiEditor'
+    TargetFolder: 'Builds/PixiEditor-$(architecture)-light/PixiEditor'
     flattenFolders: true
 
 - task: PowerShell@2
   displayName: "Compile installer"
   inputs:
     targetType: 'inline'
-    script: '& "$env:userprofile\.nuget\packages\tools.innosetup\6.2.1\tools\ISCC.exe" src\Installer\installer-setup-x86-light.iss'
+    script: '& "$env:userprofile\.nuget\packages\tools.innosetup\6.2.1\tools\ISCC.exe" src\Installer\installer-setup-$(architecture)-light.iss'
 
 - task: PublishPipelineArtifact@1
   displayName: "Publish artifact"
   inputs:
-    targetPath: 'src/Installer/Assets/PixiEditor-x86-light/'
-    artifact: 'PixiEditor-setup-x86.exe'
+    targetPath: 'src/Installer/Assets/PixiEditor-$(architecture)-light/'
+    artifact: 'PixiEditor-setup-$(architecture).exe'
+    publishLocation: 'pipeline'
+
+- task: ArchiveFiles@2
+  displayName: "Create zipped installer"
+  inputs:
+    rootFolderOrFile: 'src/Installer/Assets/PixiEditor-$(architecture)-light'
+    includeRootFolder: false
+    archiveType: 'zip'
+    archiveFile: '$(Build.ArtifactStagingDirectory)/PixiEditor-$(TagVersion)-setup$(archNumber).zip'
+    replaceExistingArchive: true
+
+- task: PublishPipelineArtifact@1
+  displayName: "Publish installer zip artifact"
+  inputs:
+    targetPath: '$(Build.ArtifactStagingDirectory)/PixiEditor-$(TagVersion)-setup$(archNumber).zip'
+    artifact: 'PixiEditor-$(TagVersion)-setup$(archNumber).zip'
     publishLocation: 'pipeline'

+ 31 - 11
windows-x86-release.yml

@@ -14,8 +14,12 @@ variables:
 - group: Release Secrets
 - name: solution 
   value: '**/*.sln'
+- name: archNumber
+  value: '86'
+- name: architecture
+  value: 'x$(archNumber)'
 - name: buildPlatform 
-  value: 'win-x86'
+  value: 'win-$(architecture)'
 - name: buildConfiguration
   value: 'Release'
 
@@ -24,7 +28,7 @@ steps:
 - task: UseDotNet@2
   inputs:
     packageType: 'sdk'
-    version: '7.0.104'
+    version: '7.0.203'
 
 - task: NuGetToolInstaller@1
 
@@ -58,22 +62,22 @@ steps:
   displayName: Publish PixiEditor
   inputs:
     filePath: 'src/PixiEditor.Builder/build.ps1'
-    arguments: '--project-path "$(System.DefaultWorkingDirectory)\src\PixiEditor" --build-configuration "$(buildConfiguration)" --runtime "$(buildPlatform)" -o "$(System.DefaultWorkingDirectory)\Builds\PixiEditor-x86-light\PixiEditor" --crash-report-webhook-url "$(crash-webhook-url)"'
+    arguments: '--project-path "$(System.DefaultWorkingDirectory)\src\PixiEditor" --build-configuration "$(buildConfiguration)" --runtime "$(buildPlatform)" -o "$(System.DefaultWorkingDirectory)\Builds\PixiEditor-$(architecture)-light\PixiEditor" --crash-report-webhook-url "$(crash-webhook-url)"'
     workingDirectory: 'src/PixiEditor.Builder'
 
 - task: ArchiveFiles@2
   inputs:
-    rootFolderOrFile: 'Builds\PixiEditor-x86-light'
+    rootFolderOrFile: 'Builds\PixiEditor-$(architecture)-light'
     includeRootFolder: false
     archiveType: 'zip'
-    archiveFile: 'PixiEditor.$(TagVersion).x86.zip'
+    archiveFile: 'PixiEditor.$(TagVersion).$(architecture).zip'
     replaceExistingArchive: true
 
 - task: PublishPipelineArtifact@1
   displayName: "Publish zip artifact"
   inputs:
-    targetPath: '$(System.DefaultWorkingDirectory)\PixiEditor.$(TagVersion).x86.zip'
-    artifact: 'PixiEditor.$(TagVersion).x86.zip'
+    targetPath: '$(System.DefaultWorkingDirectory)\PixiEditor.$(TagVersion).$(architecture).zip'
+    artifact: 'PixiEditor.$(TagVersion).$(architecture).zip'
     publishLocation: 'pipeline'
 
 - task: CopyFiles@2
@@ -81,18 +85,34 @@ steps:
   inputs:
     SourceFolder: 'UpdateInstaller'
     Contents: '**'
-    TargetFolder: 'Builds/PixiEditor-x86-light/PixiEditor'
+    TargetFolder: 'Builds/PixiEditor-$(architecture)-light/PixiEditor'
     flattenFolders: true
 
 - task: PowerShell@2
   displayName: "Compile installer"
   inputs:
     targetType: 'inline'
-    script: '& "$env:userprofile\.nuget\packages\tools.innosetup\6.2.1\tools\ISCC.exe" src\Installer\installer-setup-x86-light.iss'
+    script: '& "$env:userprofile\.nuget\packages\tools.innosetup\6.2.1\tools\ISCC.exe" src\Installer\installer-setup-$(architecture)-light.iss'
 
 - task: PublishPipelineArtifact@1
   displayName: "Publish artifact"
   inputs:
-    targetPath: 'src/Installer/Assets/PixiEditor-x86-light/'
-    artifact: 'PixiEditor-setup-x86.exe'
+    targetPath: 'src/Installer/Assets/PixiEditor-$(architecture)-light/'
+    artifact: 'PixiEditor-setup-$(architecture).exe'
+    publishLocation: 'pipeline'
+
+- task: ArchiveFiles@2
+  displayName: "Create zipped installer"
+  inputs:
+    rootFolderOrFile: 'src/Installer/Assets/PixiEditor-$(architecture)-light'
+    includeRootFolder: false
+    archiveType: 'zip'
+    archiveFile: '$(Build.ArtifactStagingDirectory)/PixiEditor-$(TagVersion)-setup$(archNumber).zip'
+    replaceExistingArchive: true
+
+- task: PublishPipelineArtifact@1
+  displayName: "Publish installer zip artifact"
+  inputs:
+    targetPath: '$(Build.ArtifactStagingDirectory)/PixiEditor-$(TagVersion)-setup$(archNumber).zip'
+    artifact: 'PixiEditor-$(TagVersion)-setup$(archNumber).zip'
     publishLocation: 'pipeline'