mirror of
https://github.com/Pixeval/Pixeval.git
synced 2025-01-05 10:17:19 +08:00
update
This commit is contained in:
parent
e0aac3dc1c
commit
4e404b16ba
143
LICENSE
143
LICENSE
@ -1,5 +1,5 @@
|
||||
GNU AFFERO GENERAL PUBLIC LICENSE
|
||||
Version 3, 19 November 2007
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
Version 3, 29 June 2007
|
||||
|
||||
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
@ -7,15 +7,17 @@
|
||||
|
||||
Preamble
|
||||
|
||||
The GNU Affero General Public License is a free, copyleft license for
|
||||
software and other kinds of works, specifically designed to ensure
|
||||
cooperation with the community in the case of network server software.
|
||||
The GNU General Public License is a free, copyleft license for
|
||||
software and other kinds of works.
|
||||
|
||||
The licenses for most software and other practical works are designed
|
||||
to take away your freedom to share and change the works. By contrast,
|
||||
our General Public Licenses are intended to guarantee your freedom to
|
||||
the GNU General Public License is intended to guarantee your freedom to
|
||||
share and change all versions of a program--to make sure it remains free
|
||||
software for all its users.
|
||||
software for all its users. We, the Free Software Foundation, use the
|
||||
GNU General Public License for most of our software; it applies also to
|
||||
any other work released this way by its authors. You can apply it to
|
||||
your programs, too.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not
|
||||
price. Our General Public Licenses are designed to make sure that you
|
||||
@ -24,34 +26,44 @@ them if you wish), that you receive source code or can get it if you
|
||||
want it, that you can change the software or use pieces of it in new
|
||||
free programs, and that you know you can do these things.
|
||||
|
||||
Developers that use our General Public Licenses protect your rights
|
||||
with two steps: (1) assert copyright on the software, and (2) offer
|
||||
you this License which gives you legal permission to copy, distribute
|
||||
and/or modify the software.
|
||||
To protect your rights, we need to prevent others from denying you
|
||||
these rights or asking you to surrender the rights. Therefore, you have
|
||||
certain responsibilities if you distribute copies of the software, or if
|
||||
you modify it: responsibilities to respect the freedom of others.
|
||||
|
||||
A secondary benefit of defending all users' freedom is that
|
||||
improvements made in alternate versions of the program, if they
|
||||
receive widespread use, become available for other developers to
|
||||
incorporate. Many developers of free software are heartened and
|
||||
encouraged by the resulting cooperation. However, in the case of
|
||||
software used on network servers, this result may fail to come about.
|
||||
The GNU General Public License permits making a modified version and
|
||||
letting the public access it on a server without ever releasing its
|
||||
source code to the public.
|
||||
For example, if you distribute copies of such a program, whether
|
||||
gratis or for a fee, you must pass on to the recipients the same
|
||||
freedoms that you received. You must make sure that they, too, receive
|
||||
or can get the source code. And you must show them these terms so they
|
||||
know their rights.
|
||||
|
||||
The GNU Affero General Public License is designed specifically to
|
||||
ensure that, in such cases, the modified source code becomes available
|
||||
to the community. It requires the operator of a network server to
|
||||
provide the source code of the modified version running there to the
|
||||
users of that server. Therefore, public use of a modified version, on
|
||||
a publicly accessible server, gives the public access to the source
|
||||
code of the modified version.
|
||||
Developers that use the GNU GPL protect your rights with two steps:
|
||||
(1) assert copyright on the software, and (2) offer you this License
|
||||
giving you legal permission to copy, distribute and/or modify it.
|
||||
|
||||
An older license, called the Affero General Public License and
|
||||
published by Affero, was designed to accomplish similar goals. This is
|
||||
a different license, not a version of the Affero GPL, but Affero has
|
||||
released a new version of the Affero GPL which permits relicensing under
|
||||
this license.
|
||||
For the developers' and authors' protection, the GPL clearly explains
|
||||
that there is no warranty for this free software. For both users' and
|
||||
authors' sake, the GPL requires that modified versions be marked as
|
||||
changed, so that their problems will not be attributed erroneously to
|
||||
authors of previous versions.
|
||||
|
||||
Some devices are designed to deny users access to install or run
|
||||
modified versions of the software inside them, although the manufacturer
|
||||
can do so. This is fundamentally incompatible with the aim of
|
||||
protecting users' freedom to change the software. The systematic
|
||||
pattern of such abuse occurs in the area of products for individuals to
|
||||
use, which is precisely where it is most unacceptable. Therefore, we
|
||||
have designed this version of the GPL to prohibit the practice for those
|
||||
products. If such problems arise substantially in other domains, we
|
||||
stand ready to extend this provision to those domains in future versions
|
||||
of the GPL, as needed to protect the freedom of users.
|
||||
|
||||
Finally, every program is threatened constantly by software patents.
|
||||
States should not allow patents to restrict development and use of
|
||||
software on general-purpose computers, but in those that do, we wish to
|
||||
avoid the special danger that patents applied to a free program could
|
||||
make it effectively proprietary. To prevent this, the GPL assures that
|
||||
patents cannot be used to render the program non-free.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow.
|
||||
@ -60,7 +72,7 @@ modification follow.
|
||||
|
||||
0. Definitions.
|
||||
|
||||
"This License" refers to version 3 of the GNU Affero General Public License.
|
||||
"This License" refers to version 3 of the GNU General Public License.
|
||||
|
||||
"Copyright" also means copyright-like laws that apply to other kinds of
|
||||
works, such as semiconductor masks.
|
||||
@ -537,45 +549,35 @@ to collect a royalty for further conveying from those to whom you convey
|
||||
the Program, the only way you could satisfy both those terms and this
|
||||
License would be to refrain entirely from conveying the Program.
|
||||
|
||||
13. Remote Network Interaction; Use with the GNU General Public License.
|
||||
|
||||
Notwithstanding any other provision of this License, if you modify the
|
||||
Program, your modified version must prominently offer all users
|
||||
interacting with it remotely through a computer network (if your version
|
||||
supports such interaction) an opportunity to receive the Corresponding
|
||||
Source of your version by providing access to the Corresponding Source
|
||||
from a network server at no charge, through some standard or customary
|
||||
means of facilitating copying of software. This Corresponding Source
|
||||
shall include the Corresponding Source for any work covered by version 3
|
||||
of the GNU General Public License that is incorporated pursuant to the
|
||||
following paragraph.
|
||||
13. Use with the GNU Affero General Public License.
|
||||
|
||||
Notwithstanding any other provision of this License, you have
|
||||
permission to link or combine any covered work with a work licensed
|
||||
under version 3 of the GNU General Public License into a single
|
||||
under version 3 of the GNU Affero General Public License into a single
|
||||
combined work, and to convey the resulting work. The terms of this
|
||||
License will continue to apply to the part which is the covered work,
|
||||
but the work with which it is combined will remain governed by version
|
||||
3 of the GNU General Public License.
|
||||
but the special requirements of the GNU Affero General Public License,
|
||||
section 13, concerning interaction through a network will apply to the
|
||||
combination as such.
|
||||
|
||||
14. Revised Versions of this License.
|
||||
|
||||
The Free Software Foundation may publish revised and/or new versions of
|
||||
the GNU Affero General Public License from time to time. Such new versions
|
||||
will be similar in spirit to the present version, but may differ in detail to
|
||||
the GNU General Public License from time to time. Such new versions will
|
||||
be similar in spirit to the present version, but may differ in detail to
|
||||
address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the
|
||||
Program specifies that a certain numbered version of the GNU Affero General
|
||||
Program specifies that a certain numbered version of the GNU General
|
||||
Public License "or any later version" applies to it, you have the
|
||||
option of following the terms and conditions either of that numbered
|
||||
version or of any later version published by the Free Software
|
||||
Foundation. If the Program does not specify a version number of the
|
||||
GNU Affero General Public License, you may choose any version ever published
|
||||
GNU General Public License, you may choose any version ever published
|
||||
by the Free Software Foundation.
|
||||
|
||||
If the Program specifies that a proxy can decide which future
|
||||
versions of the GNU Affero General Public License can be used, that proxy's
|
||||
versions of the GNU General Public License can be used, that proxy's
|
||||
public statement of acceptance of a version permanently authorizes you
|
||||
to choose that version for the Program.
|
||||
|
||||
@ -633,29 +635,40 @@ the "copyright" line and a pointer to where the full notice is found.
|
||||
Copyright (C) <year> <name of author>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as published
|
||||
by the Free Software Foundation, either version 3 of the License, or
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Affero General Public License for more details.
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Affero General Public License
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
If your software can interact with users remotely through a computer
|
||||
network, you should also make sure that it provides a way for users to
|
||||
get its source. For example, if your program is a web application, its
|
||||
interface could display a "Source" link that leads users to an archive
|
||||
of the code. There are many ways you could offer source, and different
|
||||
solutions will be better for different programs; see section 13 for the
|
||||
specific requirements.
|
||||
If the program does terminal interaction, make it output a short
|
||||
notice like this when it starts in an interactive mode:
|
||||
|
||||
<program> Copyright (C) <year> <name of author>
|
||||
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||
This is free software, and you are welcome to redistribute it
|
||||
under certain conditions; type `show c' for details.
|
||||
|
||||
The hypothetical commands `show w' and `show c' should show the appropriate
|
||||
parts of the General Public License. Of course, your program's commands
|
||||
might be different; for a GUI interface, you would use an "about box".
|
||||
|
||||
You should also get your employer (if you work as a programmer) or school,
|
||||
if any, to sign a "copyright disclaimer" for the program, if necessary.
|
||||
For more information on this, and how to apply and follow the GNU AGPL, see
|
||||
For more information on this, and how to apply and follow the GNU GPL, see
|
||||
<https://www.gnu.org/licenses/>.
|
||||
|
||||
The GNU General Public License does not permit incorporating your program
|
||||
into proprietary programs. If your program is a subroutine library, you
|
||||
may consider it more useful to permit linking proprietary applications with
|
||||
the library. If this is what you want to do, use the GNU Lesser General
|
||||
Public License instead of this License. But first, please read
|
||||
<https://www.gnu.org/licenses/why-not-lgpl.html>.
|
@ -27,9 +27,9 @@ using Microsoft.Toolkit.Mvvm.Messaging;
|
||||
using Microsoft.UI.Xaml.Media.Animation;
|
||||
using Pixeval.Messages;
|
||||
using Pixeval.Pages.IllustrationViewer;
|
||||
using Pixeval.UserControls;
|
||||
using Pixeval.Util.UI;
|
||||
using Pixeval.Utilities;
|
||||
using Pixeval.ViewModel;
|
||||
|
||||
namespace Pixeval.Activation
|
||||
{
|
||||
|
@ -10,7 +10,7 @@
|
||||
<ResourceDictionary Source="Themes/Card.xaml" />
|
||||
<!-- Other merged dictionaries here -->
|
||||
</ResourceDictionary.MergedDictionaries>
|
||||
<x:Double x:Key="PixevalTitleFontSize">25</x:Double>
|
||||
<x:Double x:Key="PixevalTitleFontSize">28</x:Double>
|
||||
<x:Double x:Key="PixevalSubtitleFontSize">18</x:Double>
|
||||
<x:Double x:Key="PixevalContentFontSize">14</x:Double>
|
||||
<x:Double x:Key="PixevalSubscriptFontSize">11</x:Double>
|
||||
|
@ -27,7 +27,6 @@ using Microsoft.UI.Xaml.Media;
|
||||
using Microsoft.Windows.AppLifecycle;
|
||||
using Pixeval.Activation;
|
||||
using Pixeval.Util.UI;
|
||||
using Pixeval.ViewModel;
|
||||
using ApplicationTheme = Pixeval.Options.ApplicationTheme;
|
||||
|
||||
namespace Pixeval
|
||||
|
@ -21,6 +21,7 @@
|
||||
#endregion
|
||||
|
||||
using System;
|
||||
using System.Diagnostics;
|
||||
using System.Diagnostics.Tracing;
|
||||
using System.Threading.Tasks;
|
||||
using Windows.Foundation;
|
||||
@ -43,10 +44,9 @@ using Pixeval.Options;
|
||||
using Pixeval.Util.UI;
|
||||
using ApplicationTheme = Pixeval.Options.ApplicationTheme;
|
||||
#if DEBUG
|
||||
using System.Diagnostics;
|
||||
#endif
|
||||
|
||||
namespace Pixeval.ViewModel
|
||||
namespace Pixeval
|
||||
{
|
||||
public class AppViewModel : AutoActivateObservableRecipient,
|
||||
IRecipient<ApplicationExitingMessage>,
|
@ -32,8 +32,8 @@ using Pixeval.Download;
|
||||
using Pixeval.Download.MacroParser;
|
||||
using Pixeval.Misc;
|
||||
using Pixeval.Options;
|
||||
using Pixeval.UserControls;
|
||||
using Pixeval.UserControls.TokenInput;
|
||||
using Pixeval.ViewModel;
|
||||
|
||||
namespace Pixeval.Controls.Setting.UI
|
||||
{
|
||||
@ -41,7 +41,7 @@ namespace Pixeval.Controls.Setting.UI
|
||||
{
|
||||
public static readonly IEnumerable<string> AvailableFonts = new InstalledFontCollection().Families.Select(f => f.Name);
|
||||
|
||||
public static readonly ICollection<Token> AvailableIllustMacros = IllustrationDownloadTask.Factory.PathParser.MacroProvider.AvailableMacros
|
||||
public static readonly ICollection<Token> AvailableIllustMacros = DownloadFactories.Illustration.PathParser.MacroProvider.AvailableMacros
|
||||
.Select(m => $"@{{{(m is IMacro<IllustrationViewModel>.IPredicate ? $"{m.Name}:" : m.Name)}}}")
|
||||
.Select(s => new Token(s, false, false))
|
||||
.ToList();
|
||||
|
@ -18,7 +18,7 @@
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#endregion
|
||||
|
||||
using Pixeval.ViewModel;
|
||||
using Pixeval.UserControls;
|
||||
|
||||
namespace Pixeval.Download
|
||||
{
|
||||
|
@ -22,9 +22,9 @@
|
||||
|
||||
using System.Threading.Tasks;
|
||||
using Pixeval.Download.MacroParser;
|
||||
using Pixeval.UserControls;
|
||||
using Pixeval.Util;
|
||||
using Pixeval.Utilities;
|
||||
using Pixeval.ViewModel;
|
||||
|
||||
namespace Pixeval.Download
|
||||
{
|
||||
|
@ -23,7 +23,7 @@
|
||||
using System.Collections.Generic;
|
||||
using Pixeval.Download.MacroParser;
|
||||
using Pixeval.Download.Macros;
|
||||
using Pixeval.ViewModel;
|
||||
using Pixeval.UserControls;
|
||||
|
||||
namespace Pixeval.Download
|
||||
{
|
||||
|
@ -21,8 +21,8 @@
|
||||
#endregion
|
||||
|
||||
using Pixeval.Download.MacroParser;
|
||||
using Pixeval.UserControls;
|
||||
using Pixeval.Utilities;
|
||||
using Pixeval.ViewModel;
|
||||
|
||||
namespace Pixeval.Download
|
||||
{
|
||||
|
@ -22,8 +22,8 @@
|
||||
|
||||
using System;
|
||||
using Pixeval.Download.MacroParser;
|
||||
using Pixeval.UserControls;
|
||||
using Pixeval.Util;
|
||||
using Pixeval.ViewModel;
|
||||
|
||||
namespace Pixeval.Download.Macros
|
||||
{
|
||||
|
@ -21,7 +21,7 @@
|
||||
#endregion
|
||||
|
||||
using Pixeval.Download.MacroParser;
|
||||
using Pixeval.ViewModel;
|
||||
using Pixeval.UserControls;
|
||||
|
||||
namespace Pixeval.Download.Macros
|
||||
{
|
||||
|
@ -21,7 +21,7 @@
|
||||
#endregion
|
||||
|
||||
using Pixeval.Download.MacroParser;
|
||||
using Pixeval.ViewModel;
|
||||
using Pixeval.UserControls;
|
||||
|
||||
namespace Pixeval.Download.Macros
|
||||
{
|
||||
|
@ -21,7 +21,7 @@
|
||||
#endregion
|
||||
|
||||
using Pixeval.Download.MacroParser;
|
||||
using Pixeval.ViewModel;
|
||||
using Pixeval.UserControls;
|
||||
|
||||
namespace Pixeval.Download.Macros
|
||||
{
|
||||
|
@ -21,7 +21,7 @@
|
||||
#endregion
|
||||
|
||||
using Pixeval.Download.MacroParser;
|
||||
using Pixeval.ViewModel;
|
||||
using Pixeval.UserControls;
|
||||
|
||||
namespace Pixeval.Download.Macros
|
||||
{
|
||||
|
@ -21,7 +21,7 @@
|
||||
#endregion
|
||||
|
||||
using Pixeval.Download.MacroParser;
|
||||
using Pixeval.ViewModel;
|
||||
using Pixeval.UserControls;
|
||||
|
||||
namespace Pixeval.Download.Macros
|
||||
{
|
||||
|
@ -21,8 +21,8 @@
|
||||
#endregion
|
||||
|
||||
using Pixeval.Download.MacroParser;
|
||||
using Pixeval.UserControls;
|
||||
using Pixeval.Util;
|
||||
using Pixeval.ViewModel;
|
||||
|
||||
namespace Pixeval.Download.Macros
|
||||
{
|
||||
|
@ -21,8 +21,8 @@
|
||||
#endregion
|
||||
|
||||
using Pixeval.Download.MacroParser;
|
||||
using Pixeval.UserControls;
|
||||
using Pixeval.Util;
|
||||
using Pixeval.ViewModel;
|
||||
|
||||
namespace Pixeval.Download.Macros
|
||||
{
|
||||
|
@ -21,7 +21,7 @@
|
||||
#endregion
|
||||
|
||||
using Pixeval.Download.MacroParser;
|
||||
using Pixeval.ViewModel;
|
||||
using Pixeval.UserControls;
|
||||
|
||||
namespace Pixeval.Download.Macros
|
||||
{
|
||||
|
@ -21,7 +21,7 @@
|
||||
#endregion
|
||||
|
||||
using Pixeval.Download.MacroParser;
|
||||
using Pixeval.ViewModel;
|
||||
using Pixeval.UserControls;
|
||||
|
||||
namespace Pixeval.Download.Macros
|
||||
{
|
||||
|
@ -21,7 +21,7 @@
|
||||
#endregion
|
||||
|
||||
using Pixeval.Download.MacroParser;
|
||||
using Pixeval.ViewModel;
|
||||
using Pixeval.UserControls;
|
||||
|
||||
namespace Pixeval.Download.Macros
|
||||
{
|
||||
|
@ -22,7 +22,7 @@
|
||||
|
||||
using Pixeval.Pages;
|
||||
using Pixeval.Pages.IllustrationViewer;
|
||||
using Pixeval.ViewModel;
|
||||
using Pixeval.UserControls;
|
||||
|
||||
namespace Pixeval.Messages
|
||||
{
|
||||
|
@ -22,7 +22,7 @@
|
||||
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using Pixeval.ViewModel;
|
||||
using Pixeval.UserControls;
|
||||
|
||||
namespace Pixeval.Misc
|
||||
{
|
||||
|
22
src/Pixeval/Pages/Download/DownloadListEntry.xaml
Normal file
22
src/Pixeval/Pages/Download/DownloadListEntry.xaml
Normal file
@ -0,0 +1,22 @@
|
||||
<UserControl x:Class="Pixeval.Pages.Download.DownloadListEntry"
|
||||
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:Pixeval.Pages.Download"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
mc:Ignorable="d">
|
||||
|
||||
<Grid Height="80">
|
||||
<Grid Margin="10,0">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="80" />
|
||||
<ColumnDefinition Width="250" />
|
||||
<ColumnDefinition Width="*" />
|
||||
<ColumnDefinition Width="80" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Image Grid.Column="0"
|
||||
Width="65"
|
||||
Height="65" />
|
||||
</Grid>
|
||||
</Grid>
|
||||
</UserControl>
|
28
src/Pixeval/Pages/Download/DownloadListEntry.xaml.cs
Normal file
28
src/Pixeval/Pages/Download/DownloadListEntry.xaml.cs
Normal file
@ -0,0 +1,28 @@
|
||||
using Microsoft.UI.Xaml;
|
||||
using Microsoft.UI.Xaml.Controls;
|
||||
using Microsoft.UI.Xaml.Controls.Primitives;
|
||||
using Microsoft.UI.Xaml.Data;
|
||||
using Microsoft.UI.Xaml.Input;
|
||||
using Microsoft.UI.Xaml.Media;
|
||||
using Microsoft.UI.Xaml.Navigation;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Runtime.InteropServices.WindowsRuntime;
|
||||
using Windows.Foundation;
|
||||
using Windows.Foundation.Collections;
|
||||
|
||||
// To learn more about WinUI, the WinUI project structure,
|
||||
// and more about our project templates, see: http://aka.ms/winui-project-info.
|
||||
|
||||
namespace Pixeval.Pages.Download
|
||||
{
|
||||
public sealed partial class DownloadListEntry : UserControl
|
||||
{
|
||||
public DownloadListEntry()
|
||||
{
|
||||
this.InitializeComponent();
|
||||
}
|
||||
}
|
||||
}
|
42
src/Pixeval/Pages/Download/DownloadListOption.cs
Normal file
42
src/Pixeval/Pages/Download/DownloadListOption.cs
Normal file
@ -0,0 +1,42 @@
|
||||
#region Copyright (c) Pixeval/Pixeval
|
||||
// GPL v3 License
|
||||
//
|
||||
// Pixeval/Pixeval
|
||||
// Copyright (c) 2021 Pixeval/DownloadListOptions.cs
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#endregion
|
||||
|
||||
using Pixeval.Misc;
|
||||
|
||||
namespace Pixeval.Pages.Download
|
||||
{
|
||||
public enum DownloadListOption
|
||||
{
|
||||
[LocalizedResource(typeof(DownloadListPageResources), nameof(DownloadListPageResources.DownloadListOptionAllQueued))]
|
||||
AllQueued,
|
||||
|
||||
[LocalizedResource(typeof(DownloadListPageResources), nameof(DownloadListPageResources.DownloadListOptionRunning))]
|
||||
Running,
|
||||
|
||||
[LocalizedResource(typeof(DownloadListPageResources), nameof(DownloadListPageResources.DownloadListOptionCompleted))]
|
||||
Completed,
|
||||
|
||||
[LocalizedResource(typeof(DownloadListPageResources), nameof(DownloadListPageResources.DownloadListOptionCancelled))]
|
||||
Cancelled,
|
||||
|
||||
[LocalizedResource(typeof(DownloadListPageResources), nameof(DownloadListPageResources.DownloadListOptionError))]
|
||||
Error
|
||||
}
|
||||
}
|
51
src/Pixeval/Pages/Download/DownloadListPage.xaml
Normal file
51
src/Pixeval/Pages/Download/DownloadListPage.xaml
Normal file
@ -0,0 +1,51 @@
|
||||
<Page x:Class="Pixeval.Pages.Download.DownloadListPage"
|
||||
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:download="using:Pixeval.Pages.Download"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:system="using:System"
|
||||
xmlns:util="using:Pixeval.Misc"
|
||||
Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"
|
||||
mc:Ignorable="d">
|
||||
<Grid>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="40" />
|
||||
<RowDefinition Height="50" />
|
||||
<RowDefinition Height="50" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="20" />
|
||||
<ColumnDefinition Width="*" />
|
||||
<ColumnDefinition Width="20" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<TextBlock x:Uid="/DownloadListPage/PageTitleTextBlock"
|
||||
Grid.Row="1"
|
||||
Grid.Column="1"
|
||||
HorizontalAlignment="Left"
|
||||
VerticalAlignment="Top"
|
||||
Style="{StaticResource TitleTextBlockStyle}" />
|
||||
<Grid Grid.Row="2"
|
||||
Grid.Column="1">
|
||||
<TextBlock HorizontalAlignment="Left"
|
||||
VerticalAlignment="Center"
|
||||
Style="{StaticResource BodyStrongTextBlockStyle}"
|
||||
Text="{x:Bind _viewModel.SubtitleText(_viewModel.CurrentOption), Mode=OneWay}" />
|
||||
<ComboBox x:Uid="/DownloadListPage/ModeFilterComboBox"
|
||||
HorizontalAlignment="Right"
|
||||
VerticalAlignment="Center"
|
||||
ItemsSource="{x:Bind download:DownloadListPageViewModel.AvailableDownloadListOptions}"
|
||||
SelectedItem="{x:Bind _viewModel.CurrentOption, Mode=TwoWay}">
|
||||
<ComboBox.ItemTemplate>
|
||||
<DataTemplate x:DataType="download:DownloadListOption">
|
||||
<TextBlock Text="{x:Bind util:LocalizedResourceAttributeHelper.GetLocalizedResourceContent((download:DownloadListOption))}" />
|
||||
</DataTemplate>
|
||||
</ComboBox.ItemTemplate>
|
||||
</ComboBox>
|
||||
</Grid>
|
||||
<ScrollViewer Grid.Row="3"
|
||||
Grid.Column="1">
|
||||
</ScrollViewer>
|
||||
</Grid>
|
||||
</Page>
|
@ -20,10 +20,12 @@
|
||||
|
||||
#endregion
|
||||
|
||||
namespace Pixeval.Pages.Misc
|
||||
namespace Pixeval.Pages.Download
|
||||
{
|
||||
public sealed partial class DownloadListPage
|
||||
{
|
||||
private readonly DownloadListPageViewModel _viewModel = new();
|
||||
|
||||
public DownloadListPage()
|
||||
{
|
||||
InitializeComponent();
|
45
src/Pixeval/Pages/Download/DownloadListPageViewModel.cs
Normal file
45
src/Pixeval/Pages/Download/DownloadListPageViewModel.cs
Normal file
@ -0,0 +1,45 @@
|
||||
#region Copyright (c) Pixeval/Pixeval
|
||||
// GPL v3 License
|
||||
//
|
||||
// Pixeval/Pixeval
|
||||
// Copyright (c) 2021 Pixeval/DownloadListPageViewModel.cs
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#endregion
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using Microsoft.Toolkit.Mvvm.ComponentModel;
|
||||
using Pixeval.Misc;
|
||||
|
||||
namespace Pixeval.Pages.Download
|
||||
{
|
||||
public class DownloadListPageViewModel : ObservableObject
|
||||
{
|
||||
private DownloadListOption _currentOption;
|
||||
|
||||
public DownloadListOption CurrentOption
|
||||
{
|
||||
get => _currentOption;
|
||||
set => SetProperty(ref _currentOption, value);
|
||||
}
|
||||
|
||||
public static readonly IEnumerable<DownloadListOption> AvailableDownloadListOptions = Enum.GetValues<DownloadListOption>();
|
||||
|
||||
public string? SubtitleText(DownloadListOption option)
|
||||
{
|
||||
return option.GetLocalizedResourceContent();
|
||||
}
|
||||
}
|
||||
}
|
@ -36,7 +36,7 @@ using Pixeval.Util.IO;
|
||||
using Pixeval.Util.UI;
|
||||
using Pixeval.Utilities;
|
||||
|
||||
namespace Pixeval.ViewModel
|
||||
namespace Pixeval.Pages.IllustrationViewer
|
||||
{
|
||||
public class CommentBlockViewModel
|
||||
{
|
@ -22,7 +22,7 @@
|
||||
|
||||
using Microsoft.Toolkit.Mvvm.ComponentModel;
|
||||
|
||||
namespace Pixeval.ViewModel
|
||||
namespace Pixeval.Pages.IllustrationViewer
|
||||
{
|
||||
public class CommentRepliesBlockViewModel : ObservableObject
|
||||
{
|
@ -25,7 +25,6 @@ using System.Linq;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using Pixeval.CommunityToolkit.IncrementalLoadingCollection;
|
||||
using Pixeval.ViewModel;
|
||||
|
||||
namespace Pixeval.Pages.IllustrationViewer
|
||||
{
|
||||
|
@ -36,7 +36,6 @@ using Pixeval.CoreApi.Net.Response;
|
||||
using Pixeval.Messages;
|
||||
using Pixeval.UserControls;
|
||||
using Pixeval.Util.IO;
|
||||
using Pixeval.ViewModel;
|
||||
|
||||
namespace Pixeval.Pages.IllustrationViewer
|
||||
{
|
||||
|
@ -35,7 +35,6 @@ using Pixeval.CommunityToolkit.Markdown.MarkdownTextBlock;
|
||||
using Pixeval.CoreApi.Model;
|
||||
using Pixeval.Messages;
|
||||
using Pixeval.Utilities;
|
||||
using Pixeval.ViewModel;
|
||||
using ReverseMarkdown;
|
||||
|
||||
namespace Pixeval.Pages.IllustrationViewer
|
||||
|
@ -34,11 +34,11 @@ using Pixeval.Messages;
|
||||
using Pixeval.Misc;
|
||||
using Pixeval.Options;
|
||||
using Pixeval.Popups;
|
||||
using Pixeval.UserControls;
|
||||
using Pixeval.Util;
|
||||
using Pixeval.Util.IO;
|
||||
using Pixeval.Util.UI;
|
||||
using Pixeval.Utilities;
|
||||
using Pixeval.ViewModel;
|
||||
|
||||
namespace Pixeval.Pages.IllustrationViewer
|
||||
{
|
||||
|
@ -41,7 +41,7 @@ using Pixeval.Util.UI;
|
||||
using Pixeval.Utilities;
|
||||
using QRCoder;
|
||||
|
||||
namespace Pixeval.ViewModel
|
||||
namespace Pixeval.Pages.IllustrationViewer
|
||||
{
|
||||
public class IllustrationViewerPageViewModel : ObservableObject, IDisposable
|
||||
{
|
@ -30,7 +30,6 @@ using Microsoft.UI.Xaml.Media.Animation;
|
||||
using Microsoft.UI.Xaml.Navigation;
|
||||
using Pixeval.Util.UI;
|
||||
using Pixeval.Utilities;
|
||||
using Pixeval.ViewModel;
|
||||
|
||||
namespace Pixeval.Pages.IllustrationViewer
|
||||
{
|
||||
|
@ -30,12 +30,12 @@ using Microsoft.UI.Xaml.Media;
|
||||
using Microsoft.UI.Xaml.Media.Imaging;
|
||||
using Pixeval.CoreApi.Net;
|
||||
using Pixeval.Misc;
|
||||
using Pixeval.Pages.IllustrationViewer;
|
||||
using Pixeval.UserControls;
|
||||
using Pixeval.Util;
|
||||
using Pixeval.Util.IO;
|
||||
using Pixeval.Utilities;
|
||||
|
||||
namespace Pixeval.ViewModel
|
||||
namespace Pixeval.Pages.IllustrationViewer
|
||||
{
|
||||
public class ImageViewerPageViewModel : ObservableObject, IDisposable
|
||||
{
|
@ -4,7 +4,6 @@
|
||||
xmlns:controls="using:Pixeval.Controls"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:viewModel="using:Pixeval.ViewModel"
|
||||
xmlns:viewer="using:Pixeval.Pages.IllustrationViewer"
|
||||
Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"
|
||||
mc:Ignorable="d">
|
||||
@ -12,7 +11,7 @@
|
||||
ItemsSource="{x:Bind viewer:PixivReplyEmojiListPage.EmojiList}"
|
||||
SelectionMode="None">
|
||||
<GridView.ItemTemplate>
|
||||
<DataTemplate x:DataType="viewModel:PixivReplyEmojiViewModel">
|
||||
<DataTemplate x:DataType="viewer:PixivReplyEmojiViewModel">
|
||||
<Image Width="35"
|
||||
Height="35"
|
||||
Source="{x:Bind ImageSource}"
|
||||
|
@ -35,7 +35,6 @@ using Pixeval.UserControls;
|
||||
using Pixeval.Util.IO;
|
||||
using Pixeval.Util.UI;
|
||||
using Pixeval.Utilities;
|
||||
using Pixeval.ViewModel;
|
||||
|
||||
namespace Pixeval.Pages.IllustrationViewer
|
||||
{
|
||||
|
@ -24,7 +24,7 @@ using Windows.Storage.Streams;
|
||||
using Microsoft.UI.Xaml.Media;
|
||||
using Pixeval.Misc;
|
||||
|
||||
namespace Pixeval.ViewModel
|
||||
namespace Pixeval.Pages.IllustrationViewer
|
||||
{
|
||||
public class PixivReplyEmojiViewModel
|
||||
{
|
@ -4,7 +4,6 @@
|
||||
xmlns:controls="using:Pixeval.Controls"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:viewModel="using:Pixeval.ViewModel"
|
||||
xmlns:viewer="using:Pixeval.Pages.IllustrationViewer"
|
||||
Background="{ThemeResource PixevalPanelBackgroundThemeBrush}"
|
||||
mc:Ignorable="d">
|
||||
@ -13,7 +12,7 @@
|
||||
ItemsSource="{x:Bind viewer:PixivReplyStickerListPage.Stickers}"
|
||||
SelectionMode="None">
|
||||
<GridView.ItemTemplate>
|
||||
<DataTemplate x:DataType="viewModel:PixivReplyStickerViewModel">
|
||||
<DataTemplate x:DataType="viewer:PixivReplyStickerViewModel">
|
||||
<Image Width="83"
|
||||
Height="83"
|
||||
Source="{x:Bind ImageSource}"
|
||||
|
@ -34,7 +34,6 @@ using Pixeval.Util;
|
||||
using Pixeval.Util.IO;
|
||||
using Pixeval.Util.UI;
|
||||
using Pixeval.Utilities;
|
||||
using Pixeval.ViewModel;
|
||||
|
||||
namespace Pixeval.Pages.IllustrationViewer
|
||||
{
|
||||
|
@ -23,7 +23,7 @@
|
||||
using Windows.Storage.Streams;
|
||||
using Microsoft.UI.Xaml.Media;
|
||||
|
||||
namespace Pixeval.ViewModel
|
||||
namespace Pixeval.Pages.IllustrationViewer
|
||||
{
|
||||
public class PixivReplyStickerViewModel
|
||||
{
|
@ -6,12 +6,12 @@
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:model="using:Pixeval.CoreApi.Model"
|
||||
xmlns:ui="using:Pixeval.Util.UI"
|
||||
xmlns:viewModel="using:Pixeval.ViewModel"
|
||||
xmlns:pages="using:Pixeval.Pages"
|
||||
Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"
|
||||
NavigationCacheMode="Required"
|
||||
mc:Ignorable="d">
|
||||
<NavigationView x:Name="MainPageRootNavigationView"
|
||||
d:DataContext="{d:DesignInstance viewModel:MainPageViewModel}"
|
||||
d:DataContext="{d:DesignInstance pages:MainPageViewModel}"
|
||||
IsBackButtonVisible="Collapsed"
|
||||
IsSettingsVisible="False"
|
||||
OpenPaneLength="{x:Bind _viewModel.MainPageRootNavigationViewOpenPanelLength}"
|
||||
|
@ -39,10 +39,11 @@ using Pixeval.CoreApi.Global.Enum;
|
||||
using Pixeval.Messages;
|
||||
using Pixeval.Misc;
|
||||
using Pixeval.Pages.Capability;
|
||||
using Pixeval.Pages.Download;
|
||||
using Pixeval.Pages.Misc;
|
||||
using Pixeval.UserControls;
|
||||
using Pixeval.Util.UI;
|
||||
using Pixeval.Utilities;
|
||||
using Pixeval.ViewModel;
|
||||
|
||||
namespace Pixeval.Pages
|
||||
{
|
||||
|
@ -27,7 +27,7 @@ using Pixeval.Messages;
|
||||
using Pixeval.Util.IO;
|
||||
using Pixeval.Util.UI;
|
||||
|
||||
namespace Pixeval.ViewModel
|
||||
namespace Pixeval.Pages
|
||||
{
|
||||
public class MainPageViewModel : AutoActivateObservableRecipient, IRecipient<LoginCompletedMessage>
|
||||
{
|
@ -1,7 +0,0 @@
|
||||
<Page x:Class="Pixeval.Pages.Misc.DownloadListPage"
|
||||
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"
|
||||
Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"
|
||||
mc:Ignorable="d" />
|
@ -5,8 +5,8 @@
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:misc="using:Pixeval.Misc"
|
||||
xmlns:viewModel="using:Pixeval.ViewModel"
|
||||
d:DataContext="{d:DesignInstance viewModel:LoginPageViewModel}"
|
||||
xmlns:misc1="using:Pixeval.Pages.Misc"
|
||||
d:DataContext="{d:DesignInstance misc1:LoginPageViewModel}"
|
||||
Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"
|
||||
Loaded="LoginPage_OnLoaded"
|
||||
mc:Ignorable="d">
|
||||
|
@ -31,7 +31,6 @@ using Microsoft.UI.Xaml.Navigation;
|
||||
using Pixeval.Messages;
|
||||
using Pixeval.Util.UI;
|
||||
using Pixeval.Utilities;
|
||||
using Pixeval.ViewModel;
|
||||
|
||||
namespace Pixeval.Pages.Misc
|
||||
{
|
||||
|
@ -45,7 +45,7 @@ using Pixeval.Util.IO;
|
||||
using Pixeval.Util.UI;
|
||||
using Pixeval.Utilities;
|
||||
|
||||
namespace Pixeval.ViewModel
|
||||
namespace Pixeval.Pages.Misc
|
||||
{
|
||||
public class LoginPageViewModel : AutoActivateObservableRecipient,
|
||||
IRecipient<ScanningLoginProxyMessage>,
|
@ -35,7 +35,7 @@
|
||||
</Grid.RowDefinitions>
|
||||
<TextBlock x:Uid="/SettingsPage/TitleTextBlock"
|
||||
Grid.Row="0"
|
||||
Margin="20,20,0,0"
|
||||
Margin="20,40,0,0"
|
||||
Style="{StaticResource TitleTextBlockStyle}" />
|
||||
<ScrollViewer x:Name="SettingsPageScrollViewer"
|
||||
Grid.Row="1"
|
||||
@ -88,8 +88,7 @@
|
||||
Icon="{ui:FontIcon Glyph=SyncE895}">
|
||||
<actionableSettingEntry:ActionableSettingEntry.Description>
|
||||
<StackPanel Spacing="3">
|
||||
<TextBlock
|
||||
Text="{x:Bind _viewModel.GetLastUpdateCheckDisplayString(_viewModel.LastCheckedUpdate), Mode=OneWay}" />
|
||||
<TextBlock Text="{x:Bind _viewModel.GetLastUpdateCheckDisplayString(_viewModel.LastCheckedUpdate), Mode=OneWay}" />
|
||||
<!-- TODO add release note hyperlink -->
|
||||
<HyperlinkButton x:Uid="/SettingsPage/ReleaseNotesHyperlinkButton" />
|
||||
</StackPanel>
|
||||
@ -145,10 +144,10 @@
|
||||
<settingsGroup:SettingsGroup x:Uid="/SettingsPage/ApplicationSettingsGroup">
|
||||
|
||||
<singleSelectionSettingEntry:SingleSelectionSettingEntry x:Uid="/SettingsPage/ThemeEntry"
|
||||
Icon="{ui:FontIcon Glyph=ColorE790}"
|
||||
ItemsSource="{x:Bind model:ApplicationThemeSettingEntryItem.AvailableItems}"
|
||||
SelectedItem="{x:Bind _viewModel.Theme, Mode=TwoWay}"
|
||||
SelectionChanged="SingleSelectionSettingEntry_OnSelectionChanged">
|
||||
Icon="{ui:FontIcon Glyph=ColorE790}"
|
||||
ItemsSource="{x:Bind model:ApplicationThemeSettingEntryItem.AvailableItems}"
|
||||
SelectedItem="{x:Bind _viewModel.Theme, Mode=TwoWay}"
|
||||
SelectionChanged="SingleSelectionSettingEntry_OnSelectionChanged">
|
||||
<singleSelectionSettingEntry:SingleSelectionSettingEntry.Description>
|
||||
<HyperlinkButton x:Uid="/SettingsPage/ThemeEntryDescriptionHyperlinkButton"
|
||||
Tapped="ThemeEntryDescriptionHyperlinkButton_OnTapped" />
|
||||
@ -162,10 +161,9 @@
|
||||
<HyperlinkButton x:Uid="/SettingsPage/OpenFontSettingsHyperlinkButton"
|
||||
Tapped="OpenFontSettingsHyperlinkButton_OnTapped" />
|
||||
</expanderSettingEntry:ExpanderSettingEntry.Description>
|
||||
<actionableSettingEntry:ActionableSettingEntry
|
||||
x:Uid="/SettingsPage/AppFontFamilyComboBoxEntry"
|
||||
Icon="{ui:FontIcon Glyph=SpellingF87B}"
|
||||
Style="{StaticResource ExpanderContentSettingEntryStyle}">
|
||||
<actionableSettingEntry:ActionableSettingEntry x:Uid="/SettingsPage/AppFontFamilyComboBoxEntry"
|
||||
Icon="{ui:FontIcon Glyph=SpellingF87B}"
|
||||
Style="{StaticResource ExpanderContentSettingEntryStyle}">
|
||||
<actionableSettingEntry:ActionableSettingEntry.ActionContent>
|
||||
<ComboBox x:Uid="/SettingsPage/AppFontFamilyComboBoxEntryComboBox"
|
||||
Width="200"
|
||||
@ -187,44 +185,39 @@
|
||||
Icon="{ui:FontIcon Glyph=LinkE71B}"
|
||||
IsOn="{x:Bind _viewModel.DisplayTeachingTipWhenGeneratingAppLink, Mode=TwoWay}" />
|
||||
|
||||
<singleSelectionSettingEntry:SingleSelectionSettingEntry
|
||||
x:Uid="/SettingsPage/DefaultSelectedTabEntry"
|
||||
Icon="{ui:FontIcon Glyph=CheckMarkE73E}"
|
||||
ItemsSource="{x:Bind model:MainPageTabItemSettingEntryItem.AvailableItems}"
|
||||
SelectedItem="{x:Bind _viewModel.DefaultSelectedTabItem, Mode=TwoWay}" />
|
||||
<singleSelectionSettingEntry:SingleSelectionSettingEntry x:Uid="/SettingsPage/DefaultSelectedTabEntry"
|
||||
Icon="{ui:FontIcon Glyph=CheckMarkE73E}"
|
||||
ItemsSource="{x:Bind model:MainPageTabItemSettingEntryItem.AvailableItems}"
|
||||
SelectedItem="{x:Bind _viewModel.DefaultSelectedTabItem, Mode=TwoWay}" />
|
||||
</settingsGroup:SettingsGroup>
|
||||
|
||||
<settingsGroup:SettingsGroup x:Uid="/SettingsPage/BrowsingExperienceSettingsGroup">
|
||||
<singleSelectionSettingEntry:SingleSelectionSettingEntry
|
||||
x:Uid="/SettingsPage/ThumbnailDirectionEntry"
|
||||
Icon="{ui:FontIcon Glyph=LandscapeOrientationEF6B}"
|
||||
ItemsSource="{x:Bind model:ThumbnailDirectionSettingEntryItem.AvailableItems}"
|
||||
SelectedItem="{x:Bind _viewModel.ThumbnailDirection, Mode=TwoWay}" />
|
||||
<singleSelectionSettingEntry:SingleSelectionSettingEntry x:Uid="/SettingsPage/ThumbnailDirectionEntry"
|
||||
Icon="{ui:FontIcon Glyph=LandscapeOrientationEF6B}"
|
||||
ItemsSource="{x:Bind model:ThumbnailDirectionSettingEntryItem.AvailableItems}"
|
||||
SelectedItem="{x:Bind _viewModel.ThumbnailDirection, Mode=TwoWay}" />
|
||||
<switchSettingEntry:SwitchSettingEntry x:Uid="/SettingsPage/FiltrateRestrictedContentEntry"
|
||||
Icon="{ui:FontIcon Glyph=BlockContactE8F8}"
|
||||
IsOn="{x:Bind _viewModel.FiltrateRestrictedContent, Mode=TwoWay}" />
|
||||
|
||||
<singleSelectionSettingEntry:SingleSelectionSettingEntry
|
||||
x:Uid="/SettingsPage/TargetAPIPlatformEntry"
|
||||
Icon="{ui:FontIcon Glyph=CommandPromptE756}"
|
||||
ItemsSource="{x:Bind model:TargetPlatformSettingEntryItem.AvailableItems}"
|
||||
SelectedItem="{x:Bind _viewModel.TargetFilter, Mode=TwoWay}" />
|
||||
<singleSelectionSettingEntry:SingleSelectionSettingEntry x:Uid="/SettingsPage/TargetAPIPlatformEntry"
|
||||
Icon="{ui:FontIcon Glyph=CommandPromptE756}"
|
||||
ItemsSource="{x:Bind model:TargetPlatformSettingEntryItem.AvailableItems}"
|
||||
SelectedItem="{x:Bind _viewModel.TargetFilter, Mode=TwoWay}" />
|
||||
</settingsGroup:SettingsGroup>
|
||||
|
||||
<settingsGroup:SettingsGroup x:Name="SearchSettingsGroup"
|
||||
x:Uid="/SettingsPage/SearchSettingsGroup"
|
||||
x:FieldModifier="public">
|
||||
<singleSelectionSettingEntry:SingleSelectionSettingEntry
|
||||
x:Uid="/SettingsPage/DefaultSearchSortOptionEntry"
|
||||
Icon="{ui:FontIcon Glyph=SortE8CB}"
|
||||
ItemsSource="{x:Bind model:IllustrationSortOptionSettingEntryItem.AvailableItems}"
|
||||
SelectedItem="{x:Bind _viewModel.DefaultSortOption, Mode=TwoWay}" />
|
||||
<singleSelectionSettingEntry:SingleSelectionSettingEntry x:Uid="/SettingsPage/DefaultSearchSortOptionEntry"
|
||||
Icon="{ui:FontIcon Glyph=SortE8CB}"
|
||||
ItemsSource="{x:Bind model:IllustrationSortOptionSettingEntryItem.AvailableItems}"
|
||||
SelectedItem="{x:Bind _viewModel.DefaultSortOption, Mode=TwoWay}" />
|
||||
|
||||
<singleSelectionSettingEntry:SingleSelectionSettingEntry
|
||||
x:Uid="/SettingsPage/DefaultSearchTagMatchOptionEntry"
|
||||
Icon="{ui:FontIcon Glyph=PassiveAuthenticationF32A}"
|
||||
ItemsSource="{x:Bind model:SearchTagMatchOptionSettingEntryItem.AvailableItems}"
|
||||
SelectedItem="{x:Bind _viewModel.TagMatchOption, Mode=TwoWay}" />
|
||||
<singleSelectionSettingEntry:SingleSelectionSettingEntry x:Uid="/SettingsPage/DefaultSearchTagMatchOptionEntry"
|
||||
Icon="{ui:FontIcon Glyph=PassiveAuthenticationF32A}"
|
||||
ItemsSource="{x:Bind model:SearchTagMatchOptionSettingEntryItem.AvailableItems}"
|
||||
SelectedItem="{x:Bind _viewModel.TagMatchOption, Mode=TwoWay}" />
|
||||
|
||||
<actionableSettingEntry:ActionableSettingEntry x:Uid="/SettingsPage/MaximumSearchPageLimit"
|
||||
Icon="{ui:FontIcon Glyph=RulerED5E}">
|
||||
@ -248,24 +241,21 @@
|
||||
</actionableSettingEntry:ActionableSettingEntry.ActionContent>
|
||||
</actionableSettingEntry:ActionableSettingEntry>
|
||||
|
||||
<singleSelectionSettingEntry:SingleSelectionSettingEntry
|
||||
x:Uid="/SettingsPage/SearchDurationEntry"
|
||||
Icon="{ui:FontIcon Glyph=EaseOfAccessE776}"
|
||||
ItemsSource="{x:Bind model:SearchDurationSettingEntryItem.AvailableItems}"
|
||||
SelectedItem="{x:Bind _viewModel.SearchDuration, Mode=TwoWay}" />
|
||||
<singleSelectionSettingEntry:SingleSelectionSettingEntry x:Uid="/SettingsPage/SearchDurationEntry"
|
||||
Icon="{ui:FontIcon Glyph=EaseOfAccessE776}"
|
||||
ItemsSource="{x:Bind model:SearchDurationSettingEntryItem.AvailableItems}"
|
||||
SelectedItem="{x:Bind _viewModel.SearchDuration, Mode=TwoWay}" />
|
||||
|
||||
<actionableExpanderSettingEntry:ActionableExpanderSettingEntry
|
||||
x:Uid="/SettingsPage/UsePreciseRangeForSearchEntry"
|
||||
Icon="{ui:FontIcon Glyph=StopwatchE916}">
|
||||
<actionableExpanderSettingEntry:ActionableExpanderSettingEntry x:Uid="/SettingsPage/UsePreciseRangeForSearchEntry"
|
||||
Icon="{ui:FontIcon Glyph=StopwatchE916}">
|
||||
<actionableExpanderSettingEntry:ActionableExpanderSettingEntry.ActionContent>
|
||||
<ToggleSwitch IsOn="{x:Bind _viewModel.UsePreciseRangeForSearch, Mode=TwoWay}" />
|
||||
</actionableExpanderSettingEntry:ActionableExpanderSettingEntry.ActionContent>
|
||||
<StackPanel>
|
||||
<actionableSettingEntry:ActionableSettingEntry
|
||||
x:Uid="/SettingsPage/SearchStartDateEntry"
|
||||
Icon="{ui:FontIcon Glyph=PageLeftE760}"
|
||||
IsEnabled="{x:Bind _viewModel.UsePreciseRangeForSearch, Mode=OneWay}"
|
||||
Style="{StaticResource ExpanderContentSettingEntryStyle}">
|
||||
<actionableSettingEntry:ActionableSettingEntry x:Uid="/SettingsPage/SearchStartDateEntry"
|
||||
Icon="{ui:FontIcon Glyph=PageLeftE760}"
|
||||
IsEnabled="{x:Bind _viewModel.UsePreciseRangeForSearch, Mode=OneWay}"
|
||||
Style="{StaticResource ExpanderContentSettingEntryStyle}">
|
||||
<CalendarDatePicker x:Uid="/SettingsPage/SearchStartCalendarDatePicker"
|
||||
Date="{x:Bind _viewModel.SearchStartDate, Mode=TwoWay}" />
|
||||
</actionableSettingEntry:ActionableSettingEntry>
|
||||
@ -309,9 +299,8 @@
|
||||
|
||||
<settingsGroup:SettingsGroup x:Uid="/SettingsPage/MiscSettingsGroup">
|
||||
|
||||
<actionableSettingEntry:ActionableSettingEntry
|
||||
x:Uid="/SettingsPage/SpotlightSearchPageLimitEntry"
|
||||
Icon="{ui:FontIcon Glyph=PictureE8B9}">
|
||||
<actionableSettingEntry:ActionableSettingEntry x:Uid="/SettingsPage/SpotlightSearchPageLimitEntry"
|
||||
Icon="{ui:FontIcon Glyph=PictureE8B9}">
|
||||
<actionableSettingEntry:ActionableSettingEntry.ActionContent>
|
||||
<NumberBox x:Uid="/SettingsPage/SpotlightSearchPageLimitNumberBox"
|
||||
Maximum="100"
|
||||
@ -321,9 +310,8 @@
|
||||
</actionableSettingEntry:ActionableSettingEntry.ActionContent>
|
||||
</actionableSettingEntry:ActionableSettingEntry>
|
||||
|
||||
<actionableSettingEntry:ActionableSettingEntry
|
||||
x:Uid="/SettingsPage/RecommendationItemLimitEntry"
|
||||
Icon="{ui:FontIcon Glyph=DialShape1F156}">
|
||||
<actionableSettingEntry:ActionableSettingEntry x:Uid="/SettingsPage/RecommendationItemLimitEntry"
|
||||
Icon="{ui:FontIcon Glyph=DialShape1F156}">
|
||||
<actionableSettingEntry:ActionableSettingEntry.ActionContent>
|
||||
<NumberBox x:Uid="/SettingsPage/RecommendationItemLimitNumberBox"
|
||||
Maximum="2500"
|
||||
|
@ -36,7 +36,7 @@ using Pixeval.Utilities;
|
||||
|
||||
namespace Pixeval.Pages.Misc
|
||||
{
|
||||
// set language, set main page default selected tab, set font, clear database
|
||||
// set language, clear database
|
||||
public sealed partial class SettingsPage
|
||||
{
|
||||
private static readonly MacroParser<string> TestParser = new();
|
||||
|
@ -79,6 +79,7 @@
|
||||
<None Remove="Controls\Setting.UI\SwitchSettingEntry\SwitchSettingEntry.xaml" />
|
||||
<None Remove="Controls\Setting.UI\UserControls\SettingEntryHeader.xaml" />
|
||||
<None Remove="Controls\TokenInputTextBox\TokenInputTextBox.xaml" />
|
||||
<None Remove="Pages\Download\DownloadListEntry.xaml" />
|
||||
<None Remove="Pages\IllustrationViewer\CommentRepliesPage.xaml" />
|
||||
<None Remove="Pages\IllustrationViewer\PixivReplyEmojiListPage.xaml" />
|
||||
<None Remove="Pages\IllustrationViewer\PixivReplyStickerListPage.xaml" />
|
||||
@ -192,7 +193,7 @@
|
||||
</Page>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Page Update="Pages\Misc\DownloadListPage.xaml">
|
||||
<Page Update="Pages\Download\DownloadListPage.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
</ItemGroup>
|
||||
@ -290,6 +291,9 @@
|
||||
<None Update="Pages\Capability\SearchResultsPage.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</None>
|
||||
<Page Update="Pages\Download\DownloadListEntry.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
<Page Update="Pages\Misc\BrowsingHistoryPage.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
|
@ -27,7 +27,7 @@
|
||||
<TextBlock x:Uid="/CommentRepliesBlock/CommentRepliesPageTitle"
|
||||
HorizontalAlignment="Left"
|
||||
VerticalAlignment="Center"
|
||||
FontSize="{StaticResource PixevalTitleFontSize}" />
|
||||
Style="{StaticResource TitleTextBlockStyle}" />
|
||||
<Button x:Name="CloseButton"
|
||||
HorizontalAlignment="Right"
|
||||
VerticalAlignment="Center"
|
||||
|
@ -33,10 +33,10 @@ using Microsoft.UI.Xaml.Input;
|
||||
using Pixeval.CommunityToolkit;
|
||||
using Pixeval.CoreApi.Net;
|
||||
using Pixeval.CoreApi.Net.Response;
|
||||
using Pixeval.Pages.IllustrationViewer;
|
||||
using Pixeval.UserControls;
|
||||
using Pixeval.Util.IO;
|
||||
using Pixeval.Util.UI;
|
||||
using Pixeval.ViewModel;
|
||||
|
||||
namespace Pixeval.Popups
|
||||
{
|
||||
|
@ -19,7 +19,7 @@
|
||||
<Grid Grid.Row="0">
|
||||
<TextBlock x:Uid="/IllustrationResultFilterPopupContent/TitleTextBlock"
|
||||
Margin="0,0,0,10"
|
||||
FontSize="{StaticResource PixevalTitleFontSize}" />
|
||||
Style="{StaticResource TitleTextBlockStyle}" />
|
||||
<Button x:Name="CloseButton"
|
||||
Width="38"
|
||||
Height="38"
|
||||
@ -34,8 +34,7 @@
|
||||
<StackPanel HorizontalAlignment="Stretch"
|
||||
VerticalAlignment="Top"
|
||||
Spacing="5">
|
||||
<illustrationResultFilter:IllustrationResultFilterFunctionEntry
|
||||
x:Uid="/IllustrationResultFilterPopupContent/LeastBookmarkCountEntry">
|
||||
<illustrationResultFilter:IllustrationResultFilterFunctionEntry x:Uid="/IllustrationResultFilterPopupContent/LeastBookmarkCountEntry">
|
||||
<NumberBox x:Uid="/IllustrationResultFilterPopupContent/LeastBookmarkCountNumberBox"
|
||||
Width="400"
|
||||
HorizontalAlignment="Left"
|
||||
@ -44,8 +43,7 @@
|
||||
Value="{x:Bind _viewModel.LeastBookmark, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
|
||||
</illustrationResultFilter:IllustrationResultFilterFunctionEntry>
|
||||
|
||||
<illustrationResultFilter:IllustrationResultFilterFunctionEntry
|
||||
x:Uid="/IllustrationResultFilterPopupContent/MaximumBookmarkCountEntry">
|
||||
<illustrationResultFilter:IllustrationResultFilterFunctionEntry x:Uid="/IllustrationResultFilterPopupContent/MaximumBookmarkCountEntry">
|
||||
<NumberBox x:Uid="/IllustrationResultFilterPopupContent/MaximumBookmarkCountNumberBox"
|
||||
Width="400"
|
||||
HorizontalAlignment="Left"
|
||||
@ -54,40 +52,32 @@
|
||||
Value="{x:Bind _viewModel.MaximumBookmark, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
|
||||
</illustrationResultFilter:IllustrationResultFilterFunctionEntry>
|
||||
|
||||
<illustrationResultFilter:IllustrationResultFilterFunctionEntry
|
||||
x:Uid="/IllustrationResultFilterPopupContent/IncludeTagsEntry">
|
||||
<illustrationResultFilter:IllustrationResultFilterFunctionEntry x:Uid="/IllustrationResultFilterPopupContent/IncludeTagsEntry">
|
||||
<tokenInput:TokenInput x:Uid="/IllustrationResultFilterPopupContent/IncludeTagTokenInput"
|
||||
TokenSource="{x:Bind _viewModel.IncludeTags, Mode=OneWay}" />
|
||||
</illustrationResultFilter:IllustrationResultFilterFunctionEntry>
|
||||
|
||||
<illustrationResultFilter:IllustrationResultFilterFunctionEntry
|
||||
x:Uid="/IllustrationResultFilterPopupContent/ExcludeTagsEntry">
|
||||
<illustrationResultFilter:IllustrationResultFilterFunctionEntry x:Uid="/IllustrationResultFilterPopupContent/ExcludeTagsEntry">
|
||||
<tokenInput:TokenInput x:Uid="/IllustrationResultFilterPopupContent/ExcludeTagTokenInput"
|
||||
TokenSource="{x:Bind _viewModel.ExcludeTags, Mode=OneWay}" />
|
||||
</illustrationResultFilter:IllustrationResultFilterFunctionEntry>
|
||||
|
||||
<illustrationResultFilter:IllustrationResultFilterFunctionEntry
|
||||
x:Uid="/IllustrationResultFilterPopupContent/UserGroupNameEntry">
|
||||
<illustrationResultFilter:IllustrationResultFilterFunctionEntry x:Uid="/IllustrationResultFilterPopupContent/UserGroupNameEntry">
|
||||
<tokenInput:TokenInput x:Uid="/IllustrationResultFilterPopupContent/UserGroupNameInput"
|
||||
TokenSource="{x:Bind _viewModel.UserGroupName, Mode=OneWay}" />
|
||||
</illustrationResultFilter:IllustrationResultFilterFunctionEntry>
|
||||
|
||||
<illustrationResultFilter:IllustrationResultFilterFunctionEntry
|
||||
x:Uid="/IllustrationResultFilterPopupContent/IllustratorNameEntry">
|
||||
<tokenInputTextBox:TokenInputTextBox
|
||||
x:Uid="/IllustrationResultFilterPopupContent/IllustratorNameInput"
|
||||
Token="{x:Bind _viewModel.IllustratorName, Mode=OneWay}" />
|
||||
<illustrationResultFilter:IllustrationResultFilterFunctionEntry x:Uid="/IllustrationResultFilterPopupContent/IllustratorNameEntry">
|
||||
<tokenInputTextBox:TokenInputTextBox x:Uid="/IllustrationResultFilterPopupContent/IllustratorNameInput"
|
||||
Token="{x:Bind _viewModel.IllustratorName, Mode=OneWay}" />
|
||||
</illustrationResultFilter:IllustrationResultFilterFunctionEntry>
|
||||
|
||||
<illustrationResultFilter:IllustrationResultFilterFunctionEntry
|
||||
x:Uid="/IllustrationResultFilterPopupContent/IllustrationNameEntry">
|
||||
<tokenInputTextBox:TokenInputTextBox
|
||||
x:Uid="/IllustrationResultFilterPopupContent/IllustrationNameInput"
|
||||
Token="{x:Bind _viewModel.IllustrationName, Mode=OneWay}" />
|
||||
<illustrationResultFilter:IllustrationResultFilterFunctionEntry x:Uid="/IllustrationResultFilterPopupContent/IllustrationNameEntry">
|
||||
<tokenInputTextBox:TokenInputTextBox x:Uid="/IllustrationResultFilterPopupContent/IllustrationNameInput"
|
||||
Token="{x:Bind _viewModel.IllustrationName, Mode=OneWay}" />
|
||||
</illustrationResultFilter:IllustrationResultFilterFunctionEntry>
|
||||
|
||||
<illustrationResultFilter:IllustrationResultFilterFunctionEntry
|
||||
x:Uid="/IllustrationResultFilterPopupContent/IllustratorIdEntry">
|
||||
<illustrationResultFilter:IllustrationResultFilterFunctionEntry x:Uid="/IllustrationResultFilterPopupContent/IllustratorIdEntry">
|
||||
<NumberBox x:Uid="/IllustrationResultFilterPopupContent/IllustratorIdInput"
|
||||
Width="400"
|
||||
HorizontalAlignment="Left"
|
||||
@ -96,8 +86,7 @@
|
||||
Text="{x:Bind _viewModel.IllustratorId, Mode=TwoWay}" />
|
||||
</illustrationResultFilter:IllustrationResultFilterFunctionEntry>
|
||||
|
||||
<illustrationResultFilter:IllustrationResultFilterFunctionEntry
|
||||
x:Uid="/IllustrationResultFilterPopupContent/IllustrationIdEntry">
|
||||
<illustrationResultFilter:IllustrationResultFilterFunctionEntry x:Uid="/IllustrationResultFilterPopupContent/IllustrationIdEntry">
|
||||
<NumberBox x:Uid="/IllustrationResultFilterPopupContent/IllustrationIdInput"
|
||||
Width="400"
|
||||
HorizontalAlignment="Left"
|
||||
@ -106,15 +95,13 @@
|
||||
Text="{x:Bind _viewModel.IllustrationId, Mode=TwoWay}" />
|
||||
</illustrationResultFilter:IllustrationResultFilterFunctionEntry>
|
||||
|
||||
<illustrationResultFilter:IllustrationResultFilterFunctionEntry
|
||||
x:Uid="/IllustrationResultFilterPopupContent/PublishDateStartEntry">
|
||||
<illustrationResultFilter:IllustrationResultFilterFunctionEntry x:Uid="/IllustrationResultFilterPopupContent/PublishDateStartEntry">
|
||||
<CalendarDatePicker x:Uid="/IllustrationResultFilterPopupContent/PublishDateStartPicker"
|
||||
Width="400"
|
||||
Date="{x:Bind _viewModel.PublishDateStart, Mode=TwoWay}" />
|
||||
</illustrationResultFilter:IllustrationResultFilterFunctionEntry>
|
||||
|
||||
<illustrationResultFilter:IllustrationResultFilterFunctionEntry
|
||||
x:Uid="/IllustrationResultFilterPopupContent/PublishDateEndEntry">
|
||||
<illustrationResultFilter:IllustrationResultFilterFunctionEntry x:Uid="/IllustrationResultFilterPopupContent/PublishDateEndEntry">
|
||||
<CalendarDatePicker x:Uid="/IllustrationResultFilterPopupContent/PublishDateEndPicker"
|
||||
Width="400"
|
||||
Date="{x:Bind _viewModel.PublishDateEnd, Mode=TwoWay}" />
|
||||
|
@ -117,4 +117,25 @@
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="DownloadListOptionAllQueued" xml:space="preserve">
|
||||
<value>所有下载任务</value>
|
||||
</data>
|
||||
<data name="DownloadListOptionCancelled" xml:space="preserve">
|
||||
<value>已取消</value>
|
||||
</data>
|
||||
<data name="DownloadListOptionCompleted" xml:space="preserve">
|
||||
<value>已下载</value>
|
||||
</data>
|
||||
<data name="DownloadListOptionError" xml:space="preserve">
|
||||
<value>下载失败</value>
|
||||
</data>
|
||||
<data name="DownloadListOptionRunning" xml:space="preserve">
|
||||
<value>正在下载</value>
|
||||
</data>
|
||||
<data name="ModeFilterComboBox.PlaceholderText" xml:space="preserve">
|
||||
<value>过滤选项</value>
|
||||
</data>
|
||||
<data name="PageTitleTextBlock.Text" xml:space="preserve">
|
||||
<value>下载列表</value>
|
||||
</data>
|
||||
</root>
|
@ -13,13 +13,13 @@
|
||||
<x:Double x:Key="PixevalButtonIconSmallSize">10</x:Double>
|
||||
<Style x:Key="BodyStrongTextBlockStyle"
|
||||
TargetType="TextBlock">
|
||||
<Setter Property="FontWeight" Value="600" />
|
||||
<Setter Property="FontWeight" Value="SemiBold" />
|
||||
<Setter Property="FontSize" Value="14" />
|
||||
</Style>
|
||||
<Style x:Key="TitleTextBlockStyle"
|
||||
TargetType="TextBlock">
|
||||
<Setter Property="FontWeight" Value="600" />
|
||||
<Setter Property="FontSize" Value="28" />
|
||||
<Setter Property="FontWeight" Value="SemiBold" />
|
||||
<Setter Property="FontSize" Value="{StaticResource PixevalTitleFontSize}" />
|
||||
</Style>
|
||||
<Style x:Key="SettingsNumberBoxStyle"
|
||||
TargetType="NumberBox">
|
||||
|
@ -24,10 +24,10 @@ using System;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.UI.Xaml;
|
||||
using Microsoft.UI.Xaml.Input;
|
||||
using Pixeval.Pages.IllustrationViewer;
|
||||
using Pixeval.Util.IO;
|
||||
using Pixeval.Util.UI;
|
||||
using Pixeval.Utilities;
|
||||
using Pixeval.ViewModel;
|
||||
|
||||
namespace Pixeval.UserControls
|
||||
{
|
||||
|
@ -2,17 +2,17 @@
|
||||
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:illustrationViewer="using:Pixeval.Pages.IllustrationViewer"
|
||||
xmlns:local="using:Pixeval.UserControls"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:viewModel="using:Pixeval.ViewModel"
|
||||
mc:Ignorable="d">
|
||||
|
||||
<UserControl.Resources>
|
||||
<DataTemplate x:Key="CommentDataTemplate"
|
||||
x:DataType="viewModel:CommentBlockViewModel">
|
||||
x:DataType="illustrationViewer:CommentBlockViewModel">
|
||||
<local:CommentBlock HorizontalAlignment="Stretch"
|
||||
RepliesHyperlinkButtonTapped="CommentBlock_OnRepliesHyperlinkButtonTapped"
|
||||
DeleteHyperlinkButtonTapped="CommentBlock_OnDeleteHyperlinkButtonTapped"
|
||||
RepliesHyperlinkButtonTapped="CommentBlock_OnRepliesHyperlinkButtonTapped"
|
||||
ViewModel="{Binding Mode=OneWay, UpdateSourceTrigger=PropertyChanged}" />
|
||||
</DataTemplate>
|
||||
</UserControl.Resources>
|
||||
|
@ -25,8 +25,8 @@ using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using Microsoft.UI.Xaml;
|
||||
using Microsoft.UI.Xaml.Input;
|
||||
using Pixeval.Pages.IllustrationViewer;
|
||||
using Pixeval.Util.UI;
|
||||
using Pixeval.ViewModel;
|
||||
|
||||
namespace Pixeval.UserControls
|
||||
{
|
||||
|
@ -26,7 +26,6 @@ using System.Collections.Specialized;
|
||||
using Microsoft.UI.Xaml;
|
||||
using Microsoft.UI.Xaml.Controls;
|
||||
using Pixeval.CommunityToolkit;
|
||||
using Pixeval.ViewModel;
|
||||
|
||||
namespace Pixeval.UserControls
|
||||
{
|
||||
|
@ -9,7 +9,7 @@
|
||||
xmlns:interactivity="using:Microsoft.Xaml.Interactivity"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:media="using:Microsoft.Xaml.Interactions.Media"
|
||||
xmlns:viewModel="using:Pixeval.ViewModel"
|
||||
xmlns:userControls="using:Pixeval.UserControls"
|
||||
Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"
|
||||
Loaded="IllustrationGrid_OnLoaded"
|
||||
mc:Ignorable="d">
|
||||
@ -25,7 +25,7 @@
|
||||
<AddDeleteThemeTransition />
|
||||
</adaptiveGridView:AdaptiveGridView.ItemContainerTransitions>
|
||||
<adaptiveGridView:AdaptiveGridView.ItemTemplate>
|
||||
<DataTemplate x:DataType="viewModel:IllustrationViewModel">
|
||||
<DataTemplate x:DataType="userControls:IllustrationViewModel">
|
||||
<GridViewItem x:Name="IllustrationThumbnailContainerItem"
|
||||
Tapped="IllustrationThumbnailContainerItem_OnTapped"
|
||||
EffectiveViewportChanged="IllustrationThumbnailContainerItem_OnEffectiveViewportChanged"
|
||||
|
@ -32,7 +32,6 @@ using Pixeval.Messages;
|
||||
using Pixeval.Options;
|
||||
using Pixeval.Pages.IllustrationViewer;
|
||||
using Pixeval.Util.UI;
|
||||
using Pixeval.ViewModel;
|
||||
|
||||
namespace Pixeval.UserControls
|
||||
{
|
||||
|
@ -36,7 +36,6 @@ using Pixeval.Util;
|
||||
using Pixeval.Util.Generic;
|
||||
using Pixeval.Util.UI;
|
||||
using Pixeval.Utilities;
|
||||
using Pixeval.ViewModel;
|
||||
|
||||
namespace Pixeval.UserControls
|
||||
{
|
||||
|
@ -32,7 +32,7 @@ using Pixeval.CoreApi.Model;
|
||||
using Pixeval.Util;
|
||||
using Pixeval.Utilities;
|
||||
|
||||
namespace Pixeval.ViewModel
|
||||
namespace Pixeval.UserControls
|
||||
{
|
||||
public class IllustrationGridViewModel : ObservableObject, IDisposable
|
||||
{
|
@ -34,12 +34,11 @@ using Pixeval.CoreApi.Model;
|
||||
using Pixeval.CoreApi.Net;
|
||||
using Pixeval.Misc;
|
||||
using Pixeval.Options;
|
||||
using Pixeval.UserControls;
|
||||
using Pixeval.Util;
|
||||
using Pixeval.Util.IO;
|
||||
using Pixeval.Utilities;
|
||||
|
||||
namespace Pixeval.ViewModel
|
||||
namespace Pixeval.UserControls
|
||||
{
|
||||
/// <summary>
|
||||
/// A view model that communicates between the model <see cref="Illustration" /> and the view
|
@ -30,7 +30,6 @@ using Pixeval.Misc;
|
||||
using Pixeval.Pages.IllustrationViewer;
|
||||
using Pixeval.Util.UI;
|
||||
using Pixeval.Utilities;
|
||||
using Pixeval.ViewModel;
|
||||
|
||||
namespace Pixeval.UserControls
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user