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
3 changes: 0 additions & 3 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,3 +0,0 @@
[submodule "Prism"]
path = Prism
url = https://github.com/SunboX/Prism.git
80 changes: 1 addition & 79 deletions NextcloudApp.sln
Original file line number Diff line number Diff line change
@@ -1,18 +1,12 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.26730.12
VisualStudioVersion = 15.0.26730.10
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NextcloudApp", "NextcloudApp\NextcloudApp.csproj", "{99EFB7EA-88A3-4FCF-9289-22734215B5CF}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NextcloudClientPortable", "NextcloudClientPortable\NextcloudClientPortable.csproj", "{07797E3B-7077-43EF-8197-F8723E2B0CC4}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Prism.Unity.Windows", "Prism\Source\Windows10\Prism.Unity.Windows\Prism.Unity.Windows.csproj", "{B4060AD6-7A34-479C-B5EB-4C542A681F42}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Prism", "Prism\Source\Prism\Prism.csproj", "{E9D9A366-83B7-4036-89A1-5A09C84081C2}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Prism.Windows", "Prism\Source\Windows10\Prism.Windows\Prism.Windows.csproj", "{3B7C3599-A336-4DB2-8678-710E3B36203B}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Expand Down Expand Up @@ -87,78 +81,6 @@ Global
{07797E3B-7077-43EF-8197-F8723E2B0CC4}.Test|x64.Build.0 = Release|x64
{07797E3B-7077-43EF-8197-F8723E2B0CC4}.Test|x86.ActiveCfg = Release|x86
{07797E3B-7077-43EF-8197-F8723E2B0CC4}.Test|x86.Build.0 = Release|x86
{B4060AD6-7A34-479C-B5EB-4C542A681F42}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B4060AD6-7A34-479C-B5EB-4C542A681F42}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B4060AD6-7A34-479C-B5EB-4C542A681F42}.Debug|ARM.ActiveCfg = Debug|ARM
{B4060AD6-7A34-479C-B5EB-4C542A681F42}.Debug|ARM.Build.0 = Debug|ARM
{B4060AD6-7A34-479C-B5EB-4C542A681F42}.Debug|x64.ActiveCfg = Debug|x64
{B4060AD6-7A34-479C-B5EB-4C542A681F42}.Debug|x64.Build.0 = Debug|x64
{B4060AD6-7A34-479C-B5EB-4C542A681F42}.Debug|x86.ActiveCfg = Debug|x86
{B4060AD6-7A34-479C-B5EB-4C542A681F42}.Debug|x86.Build.0 = Debug|x86
{B4060AD6-7A34-479C-B5EB-4C542A681F42}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B4060AD6-7A34-479C-B5EB-4C542A681F42}.Release|Any CPU.Build.0 = Release|Any CPU
{B4060AD6-7A34-479C-B5EB-4C542A681F42}.Release|ARM.ActiveCfg = Release|ARM
{B4060AD6-7A34-479C-B5EB-4C542A681F42}.Release|ARM.Build.0 = Release|ARM
{B4060AD6-7A34-479C-B5EB-4C542A681F42}.Release|x64.ActiveCfg = Release|x64
{B4060AD6-7A34-479C-B5EB-4C542A681F42}.Release|x64.Build.0 = Release|x64
{B4060AD6-7A34-479C-B5EB-4C542A681F42}.Release|x86.ActiveCfg = Release|x86
{B4060AD6-7A34-479C-B5EB-4C542A681F42}.Release|x86.Build.0 = Release|x86
{B4060AD6-7A34-479C-B5EB-4C542A681F42}.Test|Any CPU.ActiveCfg = Release|Any CPU
{B4060AD6-7A34-479C-B5EB-4C542A681F42}.Test|Any CPU.Build.0 = Release|Any CPU
{B4060AD6-7A34-479C-B5EB-4C542A681F42}.Test|ARM.ActiveCfg = Release|ARM
{B4060AD6-7A34-479C-B5EB-4C542A681F42}.Test|ARM.Build.0 = Release|ARM
{B4060AD6-7A34-479C-B5EB-4C542A681F42}.Test|x64.ActiveCfg = Release|x64
{B4060AD6-7A34-479C-B5EB-4C542A681F42}.Test|x64.Build.0 = Release|x64
{B4060AD6-7A34-479C-B5EB-4C542A681F42}.Test|x86.ActiveCfg = Release|x86
{B4060AD6-7A34-479C-B5EB-4C542A681F42}.Test|x86.Build.0 = Release|x86
{E9D9A366-83B7-4036-89A1-5A09C84081C2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E9D9A366-83B7-4036-89A1-5A09C84081C2}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E9D9A366-83B7-4036-89A1-5A09C84081C2}.Debug|ARM.ActiveCfg = Debug|Any CPU
{E9D9A366-83B7-4036-89A1-5A09C84081C2}.Debug|ARM.Build.0 = Debug|Any CPU
{E9D9A366-83B7-4036-89A1-5A09C84081C2}.Debug|x64.ActiveCfg = Debug|Any CPU
{E9D9A366-83B7-4036-89A1-5A09C84081C2}.Debug|x64.Build.0 = Debug|Any CPU
{E9D9A366-83B7-4036-89A1-5A09C84081C2}.Debug|x86.ActiveCfg = Debug|Any CPU
{E9D9A366-83B7-4036-89A1-5A09C84081C2}.Debug|x86.Build.0 = Debug|Any CPU
{E9D9A366-83B7-4036-89A1-5A09C84081C2}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E9D9A366-83B7-4036-89A1-5A09C84081C2}.Release|Any CPU.Build.0 = Release|Any CPU
{E9D9A366-83B7-4036-89A1-5A09C84081C2}.Release|ARM.ActiveCfg = Release|Any CPU
{E9D9A366-83B7-4036-89A1-5A09C84081C2}.Release|ARM.Build.0 = Release|Any CPU
{E9D9A366-83B7-4036-89A1-5A09C84081C2}.Release|x64.ActiveCfg = Release|Any CPU
{E9D9A366-83B7-4036-89A1-5A09C84081C2}.Release|x64.Build.0 = Release|Any CPU
{E9D9A366-83B7-4036-89A1-5A09C84081C2}.Release|x86.ActiveCfg = Release|Any CPU
{E9D9A366-83B7-4036-89A1-5A09C84081C2}.Release|x86.Build.0 = Release|Any CPU
{E9D9A366-83B7-4036-89A1-5A09C84081C2}.Test|Any CPU.ActiveCfg = Release|Any CPU
{E9D9A366-83B7-4036-89A1-5A09C84081C2}.Test|Any CPU.Build.0 = Release|Any CPU
{E9D9A366-83B7-4036-89A1-5A09C84081C2}.Test|ARM.ActiveCfg = Release|Any CPU
{E9D9A366-83B7-4036-89A1-5A09C84081C2}.Test|ARM.Build.0 = Release|Any CPU
{E9D9A366-83B7-4036-89A1-5A09C84081C2}.Test|x64.ActiveCfg = Release|Any CPU
{E9D9A366-83B7-4036-89A1-5A09C84081C2}.Test|x64.Build.0 = Release|Any CPU
{E9D9A366-83B7-4036-89A1-5A09C84081C2}.Test|x86.ActiveCfg = Release|Any CPU
{E9D9A366-83B7-4036-89A1-5A09C84081C2}.Test|x86.Build.0 = Release|Any CPU
{3B7C3599-A336-4DB2-8678-710E3B36203B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{3B7C3599-A336-4DB2-8678-710E3B36203B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3B7C3599-A336-4DB2-8678-710E3B36203B}.Debug|ARM.ActiveCfg = Debug|ARM
{3B7C3599-A336-4DB2-8678-710E3B36203B}.Debug|ARM.Build.0 = Debug|ARM
{3B7C3599-A336-4DB2-8678-710E3B36203B}.Debug|x64.ActiveCfg = Debug|x64
{3B7C3599-A336-4DB2-8678-710E3B36203B}.Debug|x64.Build.0 = Debug|x64
{3B7C3599-A336-4DB2-8678-710E3B36203B}.Debug|x86.ActiveCfg = Debug|x86
{3B7C3599-A336-4DB2-8678-710E3B36203B}.Debug|x86.Build.0 = Debug|x86
{3B7C3599-A336-4DB2-8678-710E3B36203B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3B7C3599-A336-4DB2-8678-710E3B36203B}.Release|Any CPU.Build.0 = Release|Any CPU
{3B7C3599-A336-4DB2-8678-710E3B36203B}.Release|ARM.ActiveCfg = Release|ARM
{3B7C3599-A336-4DB2-8678-710E3B36203B}.Release|ARM.Build.0 = Release|ARM
{3B7C3599-A336-4DB2-8678-710E3B36203B}.Release|x64.ActiveCfg = Release|x64
{3B7C3599-A336-4DB2-8678-710E3B36203B}.Release|x64.Build.0 = Release|x64
{3B7C3599-A336-4DB2-8678-710E3B36203B}.Release|x86.ActiveCfg = Release|x86
{3B7C3599-A336-4DB2-8678-710E3B36203B}.Release|x86.Build.0 = Release|x86
{3B7C3599-A336-4DB2-8678-710E3B36203B}.Test|Any CPU.ActiveCfg = Release|Any CPU
{3B7C3599-A336-4DB2-8678-710E3B36203B}.Test|Any CPU.Build.0 = Release|Any CPU
{3B7C3599-A336-4DB2-8678-710E3B36203B}.Test|ARM.ActiveCfg = Release|ARM
{3B7C3599-A336-4DB2-8678-710E3B36203B}.Test|ARM.Build.0 = Release|ARM
{3B7C3599-A336-4DB2-8678-710E3B36203B}.Test|x64.ActiveCfg = Release|x64
{3B7C3599-A336-4DB2-8678-710E3B36203B}.Test|x64.Build.0 = Release|x64
{3B7C3599-A336-4DB2-8678-710E3B36203B}.Test|x86.ActiveCfg = Release|x86
{3B7C3599-A336-4DB2-8678-710E3B36203B}.Test|x86.Build.0 = Release|x86
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
Expand Down
3 changes: 3 additions & 0 deletions NextcloudApp/App.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,9 @@
<ResourceDictionary Source="ms-appx:///Themes/FavoriteButtonStyle.xaml" />
<ResourceDictionary Source="ms-appx:///Themes/HelpButtonStyle.xaml" />
<ResourceDictionary Source="ms-appx:///Themes/PivotStyle.xaml" />
<ResourceDictionary Source="ms-appx:///Themes/CommandBarStyle.xaml" />
<ResourceDictionary Source="ms-appx:///Themes/AppBarButtonStyle.xaml"/>
<ResourceDictionary Source="ms-appx:///Themes/ListViewStyle.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</prismUnity:PrismUnityApplication.Resources>
Expand Down
7 changes: 5 additions & 2 deletions NextcloudApp/App.xaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -38,8 +38,9 @@ sealed partial class App
/// </summary>
public App()
{
UnhandledException += OnUnhandledException;
UnhandledException += OnUnhandledExceptionAsync;
TaskScheduler.UnobservedTaskException += TaskSchedulerOnUnobservedTaskException;

InitializeComponent();
}

Expand All @@ -57,7 +58,7 @@ private async void TaskSchedulerOnUnobservedTaskException(object sender, Unobser
exceptionStackTrace, args.Exception.InnerException.GetType().ToString(), exceptionHashCode);
}

private async void OnUnhandledException(object sender, UnhandledExceptionEventArgs args)
private async void OnUnhandledExceptionAsync(object sender, Windows.UI.Xaml.UnhandledExceptionEventArgs args)
{
var exceptionStackTrace = string.Empty;
try
Expand Down Expand Up @@ -148,6 +149,7 @@ private async void OnUnhandledException(object sender, UnhandledExceptionEventAr

protected override UIElement CreateShell(Frame rootFrame)
{
ThemeManager.Instance.Initialize();
var shell = Container.Resolve<AppShell>();
shell.SetContentFrame(rootFrame);
return shell;
Expand Down Expand Up @@ -353,6 +355,7 @@ protected override Task OnLaunchApplicationAsync(LaunchActivatedEventArgs args)
{
// Ensure the current window is active
Window.Current.Activate();

// Remove unnecessary notifications whenever the app is used.
ToastNotificationManager.History.RemoveGroup(ToastNotificationService.SyncAction);
PinStartPageParameters pageParameters = null;
Expand Down
167 changes: 42 additions & 125 deletions NextcloudApp/AppShell.xaml
Original file line number Diff line number Diff line change
@@ -1,140 +1,57 @@
<controls:ThemeablePage x:Name="themeablePage"
<controls:ThemeablePage
x:Class="NextcloudApp.AppShell"
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:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:views="using:NextcloudApp.Views"
xmlns:controls="using:NextcloudApp.Controls"
mc:Ignorable="d">
mc:Ignorable="d"
x:Name="AppShellControl">

<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="MenuStates">
<VisualState x:Name="Wide">
<VisualState.StateTriggers>
<AdaptiveTrigger MinWindowWidth="1280" />
</VisualState.StateTriggers>
<VisualState.Setters>
<Setter Target="rootSplitView.DisplayMode" Value="Inline" />
<Setter Target="rootSplitView.IsPaneOpen" Value="True" />
<Setter Target="togglePaneButton.IsEnabled" Value="False" />
<Setter Target="togglePaneButton.Opacity" Value="0" />
</VisualState.Setters>
</VisualState>
<VisualState x:Name="Medium">
<VisualState.StateTriggers>
<AdaptiveTrigger MinWindowWidth="800" />
</VisualState.StateTriggers>
<VisualState.Setters>
<Setter Target="rootSplitView.DisplayMode" Value="CompactOverlay" />
</VisualState.Setters>
</VisualState>
<VisualState x:Name="Narrow" />
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
<NavigationView
x:Name="NavView"
ItemInvoked="NavView_ItemInvoked"
SelectionChanged="NavView_SelectionChanged"
Loaded="NavView_Loaded">

<SplitView
x:Name="RootSplitView"
Style="{StaticResource MenuSplitViewStyle}"
IsPaneOpen="{Binding DataContext.IsMenuOpen, ElementName=MenuView, Mode=TwoWay}">
<Frame x:Name="ContentFrame" />
<SplitView.Pane>
<views:MenuView x:Name="MenuView"/>
</SplitView.Pane>
</SplitView>
<!--
<NavigationView.AutoSuggestBox>
<AutoSuggestBox x:Name="ASB" QueryIcon="Find"/>
</NavigationView.AutoSuggestBox>
-->

<!-- Declared last to have it rendered above everything else, but it needs to be the first item in the tab sequence. -->
<ToggleButton
x:Name="TogglePaneButton"
Visibility="{Binding DataContext.ShowMenuButton, ElementName=MenuView, Converter={StaticResource BooleanToVisibilityConverter}}"
IsChecked="{Binding IsPaneOpen, ElementName=RootSplitView, Mode=TwoWay}"
Style="{StaticResource SplitViewTogglePaneButtonStyle}"
TabIndex="1" />
<NavigationView.HeaderTemplate>
<DataTemplate>
<Grid Background="{ThemeResource SystemControlBackgroundAccentBrush}">
<controls:PathStackHeader
Visibility="{Binding PathStackHeaderVisible, ElementName=AppShellControl, Converter={StaticResource BooleanToVisibilityConverter}}"/>

<Grid
x:Name="UpdateDialogContainer"
VerticalAlignment="Stretch"
Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"
Padding="20"
Visibility="Collapsed">
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
<RowDefinition Height="{ThemeResource ContentDialogButtonHeight}" />
</Grid.RowDefinitions>
<ScrollViewer
x:Name="UpdateDialogContentScrollViewer"
HorizontalScrollBarVisibility="Disabled"
VerticalScrollBarVisibility="Auto"
VerticalAlignment="Stretch"
ZoomMode="Disabled"
Margin="{ThemeResource ContentDialogContentScrollViewerMargin}"
IsTabStop="False">
<StackPanel>
<ContentControl
x:Name="UpdateDialogTitle"
Margin="{ThemeResource ContentDialogTitleMargin}"
FontSize="20"
FontFamily="XamlAutoFontFamily"
FontWeight="Normal"
Foreground="{ThemeResource SystemControlPageTextBaseHighBrush}"
HorizontalAlignment="Left"
VerticalAlignment="Top"
IsTabStop="False"
MaxHeight="{ThemeResource ContentDialogTitleMaxHeight}" >
<ContentControl.Template>
<ControlTemplate TargetType="ContentControl">
<ContentPresenter
Content="{TemplateBinding Content}"
MaxLines="2"
TextWrapping="Wrap"
ContentTemplate="{TemplateBinding ContentTemplate}"
Margin="{TemplateBinding Padding}"
ContentTransitions="{TemplateBinding ContentTransitions}"
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
VerticalAlignment="{TemplateBinding VerticalContentAlignment}" />
</ControlTemplate>
</ContentControl.Template>
</ContentControl>
<TextBlock
x:Name="UpdateDialogContent"
TextWrapping="WrapWholeWords"
Margin="0,20,0,0"
FontSize="{ThemeResource ControlContentThemeFontSize}"
FontFamily="{ThemeResource ContentControlThemeFontFamily}"
Foreground="{ThemeResource SystemControlPageTextBaseHighBrush}"
Grid.Row="1"/>
</StackPanel>
</ScrollViewer>
<Grid x:Name="UpdateDialogCommandSpace" Grid.Row="1" HorizontalAlignment="Stretch" VerticalAlignment="Bottom">
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Border
x:Name="UpdateDialogButton1Host"
Margin="{ThemeResource ContentDialogButton1HostMargin}"
MinWidth="{ThemeResource ContentDialogButtonMinWidth}"
MaxWidth="{ThemeResource ContentDialogButtonMaxWidth}"
Height="{ThemeResource ContentDialogButtonHeight}"
HorizontalAlignment="Stretch">
<Button x:Name="UpdateDialogButton1" HorizontalAlignment="Stretch" VerticalAlignment="Center"/>
</Border>
<Border
x:Name="UpdateDialogButton2Host"
Margin="{ThemeResource ContentDialogButton2HostMargin}"
MinWidth="{ThemeResource ContentDialogButtonMinWidth}"
MaxWidth="{ThemeResource ContentDialogButtonMaxWidth}"
Height="{ThemeResource ContentDialogButtonHeight}"
Grid.Column="1"
HorizontalAlignment="Stretch">
<Button x:Name="UpdateDialogButton2" HorizontalAlignment="Stretch" VerticalAlignment="Center"/>
</Border>
</Grid>
</Grid>
Visibility="{Binding SettingsHeaderVisible, ElementName=AppShellControl, Converter={StaticResource BooleanToVisibilityConverter}}"
Text="Settings"
x:Uid="Settings2"
Margin="8,0,0,0"
VerticalAlignment="Center"
Foreground="White"/>
</Grid>
</DataTemplate>
</NavigationView.HeaderTemplate>

</Grid>
<NavigationView.PaneFooter>
<controls:UserInfo
Height="52"
Margin="12,0,24,12" />
</NavigationView.PaneFooter>

<Frame x:Name="ContentFrame">
<Frame.ContentTransitions>
<TransitionCollection>
<NavigationThemeTransition/>
</TransitionCollection>
</Frame.ContentTransitions>
</Frame>

</NavigationView>

</controls:ThemeablePage>

Loading