Skip to content
Open
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
4 changes: 3 additions & 1 deletion NanaZip.MigrateLegacyStringResources/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,9 @@ internal class Program
new(411, "ProgressPage", "ContinueButtonText", true),
new(402, "ProgressPage", "CancelButtonText", true),
new(408, "ProgressPage", "CloseButtonText", true),
new(447, "ProgressPage", "PausedText")
new(447, "ProgressPage", "PausedText"),
new(401, "CopyPage", "OkButton.Content", true),
new(402, "CopyPage", "CancelButton.Content", true)
];

static readonly ImmutableArray<IGrouping<string, ResourceMapping>> Mappings
Expand Down
61 changes: 61 additions & 0 deletions NanaZip.Modern/CopyPage.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
#include "pch.h"
#include "CopyPage.h"
#include "CopyPage.g.cpp"

using namespace winrt;
using namespace Windows::UI::Xaml;

namespace winrt::NanaZip::Modern::implementation
{
DEPENDENCY_PROPERTY_SOURCE_BOX_WITHDEFAULT(
TitleText,
winrt::hstring,
winrt::NanaZip::Modern::implementation::CopyPage,
winrt::NanaZip::Modern::CopyPage,
L"");

DEPENDENCY_PROPERTY_SOURCE_BOX_WITHDEFAULT(
PathLabelText,
winrt::hstring,
winrt::NanaZip::Modern::implementation::CopyPage,
winrt::NanaZip::Modern::CopyPage,
L"");

DEPENDENCY_PROPERTY_SOURCE_BOX_WITHDEFAULT(
PathText,
winrt::hstring,
winrt::NanaZip::Modern::implementation::CopyPage,
winrt::NanaZip::Modern::CopyPage,
L"");

DEPENDENCY_PROPERTY_SOURCE_BOX_WITHDEFAULT(
InfoText,
winrt::hstring,
winrt::NanaZip::Modern::implementation::CopyPage,
winrt::NanaZip::Modern::CopyPage,
L"");

void CopyPage::OkButtonClickedHandler(
winrt::Windows::Foundation::IInspectable const& sender,
winrt::Windows::UI::Xaml::RoutedEventArgs const& args)
{
UNREFERENCED_PARAMETER(sender);
this->OkButtonClicked(*this, args);
}

void CopyPage::CancelButtonClickedHandler(
winrt::Windows::Foundation::IInspectable const& sender,
winrt::Windows::UI::Xaml::RoutedEventArgs const& args)
{
UNREFERENCED_PARAMETER(sender);
this->CancelButtonClicked(*this, args);
}

void CopyPage::PickerButtonClickedHandler(
winrt::Windows::Foundation::IInspectable const& sender,
winrt::Windows::UI::Xaml::RoutedEventArgs const& args)
{
UNREFERENCED_PARAMETER(sender);
this->PickerButtonClicked(*this, args);
}
}
70 changes: 70 additions & 0 deletions NanaZip.Modern/CopyPage.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
#pragma once

#include "CopyPage.g.h"
#include "ControlMacros.h"

#include <Mile.Helpers.CppWinRT.h>

namespace winrt::NanaZip::Modern::implementation
{
struct CopyPage : CopyPageT<CopyPage>
{
CopyPage()
{
// Xaml objects should not call InitializeComponent during construction.
// See https://github.com/microsoft/cppwinrt/tree/master/nuget#initializecomponent
}

DEPENDENCY_PROPERTY_HEADER(
TitleText,
winrt::hstring);

DEPENDENCY_PROPERTY_HEADER(
PathLabelText,
winrt::hstring);

DEPENDENCY_PROPERTY_HEADER(
PathText,
winrt::hstring);

DEPENDENCY_PROPERTY_HEADER(
InfoText,
winrt::hstring);

Mile::WinRT::Event<
winrt::Windows::Foundation::TypedEventHandler<
winrt::NanaZip::Modern::CopyPage,
winrt::Windows::Foundation::IInspectable>> OkButtonClicked;

Mile::WinRT::Event<
winrt::Windows::Foundation::TypedEventHandler<
winrt::NanaZip::Modern::CopyPage,
winrt::Windows::Foundation::IInspectable>> CancelButtonClicked;

Mile::WinRT::Event<
winrt::Windows::Foundation::TypedEventHandler<
winrt::NanaZip::Modern::CopyPage,
winrt::Windows::Foundation::IInspectable>> PickerButtonClicked;

void OkButtonClickedHandler(
winrt::Windows::Foundation::IInspectable const& sender,
winrt::Windows::UI::Xaml::RoutedEventArgs const& args);

void CancelButtonClickedHandler(
winrt::Windows::Foundation::IInspectable const& sender,
winrt::Windows::UI::Xaml::RoutedEventArgs const& args);

void PickerButtonClickedHandler(
winrt::Windows::Foundation::IInspectable const& sender,
winrt::Windows::UI::Xaml::RoutedEventArgs const& args);
};
}

namespace winrt::NanaZip::Modern::factory_implementation
{
struct CopyPage : CopyPageT<
CopyPage,
implementation::CopyPage>
{
};
}
22 changes: 22 additions & 0 deletions NanaZip.Modern/CopyPage.idl
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
namespace NanaZip.Modern
{
[default_interface]
runtimeclass CopyPage : Windows.UI.Xaml.Controls.Page
{
CopyPage();

String TitleText;
String PathLabelText;
String PathText;
String InfoText;

event Windows.Foundation.TypedEventHandler<CopyPage, Object> OkButtonClicked;
event Windows.Foundation.TypedEventHandler<CopyPage, Object> CancelButtonClicked;
event Windows.Foundation.TypedEventHandler<CopyPage, Object> PickerButtonClicked;

static Windows.UI.Xaml.DependencyProperty TitleTextProperty{ get; };
static Windows.UI.Xaml.DependencyProperty PathLabelTextProperty{ get; };
static Windows.UI.Xaml.DependencyProperty PathTextProperty{ get; };
static Windows.UI.Xaml.DependencyProperty InfoTextProperty{ get; };
}
}
68 changes: 68 additions & 0 deletions NanaZip.Modern/CopyPage.xaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
<Page
x:Class="NanaZip.Modern.CopyPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="using:NanaZip.Modern"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<TextBlock
Margin="16,0"
d:Text="[Adding]"
FontSize="24"
Style="{ThemeResource BaseTextBlockStyle}"
Text="{x:Bind TitleText, Mode=OneWay}" />
<StackPanel Grid.Row="1" Padding="16,8,16,16">
<TextBlock Margin="0,0,0,4" Text="{x:Bind PathLabelText, Mode=OneWay}" />
<Grid Margin="0,0,0,4">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<TextBox
Grid.Column="0"
Margin="0,0,8,0"
Text="{x:Bind PathText, Mode=TwoWay}">
<TextBox.SelectionFlyout>
<TextCommandBarFlyout Placement="BottomEdgeAlignedLeft" />
</TextBox.SelectionFlyout>
</TextBox>
<Button
Grid.Column="1"
Padding="8"
Click="PickerButtonClickedHandler"
Content="&#xE712;"
FontFamily="{ThemeResource SymbolThemeFontFamily}" />
</Grid>
<TextBlock Text="{x:Bind InfoText, Mode=OneWay}" />
</StackPanel>
<Grid
Grid.Row="2"
Background="#37C9C9C9"
BorderBrush="{ThemeResource CardStrokeColorDefault}"
BorderThickness="0,1,0,0">
<StackPanel
Grid.Column="1"
Padding="0,0,12,0"
HorizontalAlignment="Right"
Orientation="Horizontal">
<Button
x:Uid="/NanaZip.Modern/CopyPage/OkButton"
Width="120"
Margin="4,16,4,16"
Click="OkButtonClickedHandler" />
<Button
x:Uid="/NanaZip.Modern/CopyPage/CancelButton"
Width="120"
Margin="4,16,4,16"
Click="CancelButtonClickedHandler" />
</StackPanel>
</Grid>
</Grid>
</Page>
Loading
Loading