├── .github
├── FUNDING.yml
├── ISSUE_TEMPLATE
│ ├── bug_report.md
│ ├── feature_request.md
│ └── question.md
└── release.yml
├── .gitignore
├── .gitmodules
├── LICENSE
├── README.md
├── build
└── build.ps1
├── crowdin.yml
├── forum
├── control_01.jpg
├── main_01.jpg
├── main_02.jpg
├── settings_01.jpg
└── settings_02.jpg
├── manifest
└── Lacro59_ScreenshotsVisualizer.yaml
├── screenshots
├── plugin_mainview.jpg
├── plugin_settings.jpg
├── plugin_side.jpg
└── thumbs
│ ├── plugin_mainview.jpg
│ ├── plugin_settings.jpg
│ └── plugin_side.jpg
└── source
├── App.xaml
├── Controls
├── PluginButton.xaml
├── PluginButton.xaml.cs
├── PluginListScreenshots.xaml
├── PluginListScreenshots.xaml.cs
├── PluginListScreenshotsVertical.xaml
├── PluginListScreenshotsVertical.xaml.cs
├── PluginScreenshots.xaml
├── PluginScreenshots.xaml.cs
├── PluginSinglePicture.xaml
├── PluginSinglePicture.xaml.cs
├── PluginViewItem.xaml
├── PluginViewItem.xaml.cs
└── ZoomBorder.cs
├── Localization
├── LocSource.xaml
├── ar_SA.xaml
├── bg_BG.xaml
├── ca_ES.xaml
├── cs_CZ.xaml
├── da_DK.xaml
├── de_DE.xaml
├── el_GR.xaml
├── en_US.xaml
├── es_ES.xaml
├── et_EE.xaml
├── fa_IR.xaml
├── fi_FI.xaml
├── fr_FR.xaml
├── gl_ES.xaml
├── he_IL.xaml
├── hr_HR.xaml
├── hu_HU.xaml
├── id_ID.xaml
├── it_IT.xaml
├── ja_JP.xaml
├── ko_KR.xaml
├── lt_LT.xaml
├── nl_NL.xaml
├── no_NO.xaml
├── pl_PL.xaml
├── pt_BR.xaml
├── pt_PT.xaml
├── ro_RO.xaml
├── ru_RU.xaml
├── sk_SK.xaml
├── sr_SP.xaml
├── sv_SE.xaml
├── tr_TR.xaml
├── uk_UA.xaml
├── vi_VN.xaml
├── zh_CN.xaml
└── zh_TW.xaml
├── Models
├── GameScreenshots.cs
├── GameSettings.cs
├── Screenshot.cs
├── ScreeshotsVisualizeCollection.cs
└── StartPage
│ └── SsvCarouselOptions.cs
├── Properties
└── AssemblyInfo.cs
├── ScreenshotsVisualizer.cs
├── ScreenshotsVisualizer.csproj
├── ScreenshotsVisualizer.sln
├── ScreenshotsVisualizerSettings.cs
├── ScreenshotsVisualizer_jxbq1suf_wpftmp.csproj
├── ScreenshotsVisualizer_pkje2g0m_wpftmp.csproj
├── ScreenshotsVisualizer_tiozy1pf_wpftmp.csproj
├── Services
├── ScreenshotsVisualizerDatabase.cs
├── ScreenshotsVisualizerTopPanelItem.cs
└── ScreenshotsVisualizerViewSidebar.cs
├── Views
├── ScreenshotsVisualizerSettingsView.xaml
├── ScreenshotsVisualizerSettingsView.xaml.cs
├── SsvScreenshotsManager.xaml
├── SsvScreenshotsManager.xaml.cs
├── SsvScreenshotsView.xaml
├── SsvScreenshotsView.xaml.cs
├── SsvSinglePictureView.xaml
├── SsvSinglePictureView.xaml.cs
└── StartPage
│ ├── SsvCarousel.xaml
│ ├── SsvCarousel.xaml.cs
│ ├── SsvCarouselSettings.xaml
│ └── SsvCarouselSettings.xaml.cs
├── extension.yaml
├── icon.png
└── packages.config
/.github/FUNDING.yml:
--------------------------------------------------------------------------------
1 | ko_fi: lacro59
2 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/bug_report.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Bug report
3 | about: Create a report to help us improve
4 | title: ''
5 | labels: bug
6 | assignees: ''
7 |
8 | ---
9 |
10 | **Describe the bug**
11 | A clear and concise description of what the bug is.
12 |
13 | **To Reproduce**
14 | Steps to reproduce the behavior:
15 |
16 | **Expected behavior**
17 | A clear and concise description of what you expected to happen.
18 |
19 | **Screenshots**
20 | If applicable, add screenshots to help explain your problem.
21 |
22 | **Extensions log**
23 | Attach Playnite's `Extensions.log` file. It is located in Playnite's installation directory in the portable version or in `%AppData%\Playnite` (Can be pasted in Explorer) in the installed version
24 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/feature_request.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Feature request
3 | about: Suggest an idea for this project
4 | title: ''
5 | labels: enhancement
6 | assignees: ''
7 |
8 | ---
9 |
10 | **Describe the solution you'd like**
11 | A clear and concise description of what you want to happen or implemented.
12 |
13 | **Screenshots**
14 | If applicable, add screenshots to help explain your problem.
15 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/question.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Question
3 | about: Ask a question on project
4 | title: ''
5 | labels: question
6 | assignees: ''
7 | ---
8 |
--------------------------------------------------------------------------------
/.github/release.yml:
--------------------------------------------------------------------------------
1 | # .github/release.yml
2 |
3 | changelog:
4 | categories:
5 | - title: 'Fixed:'
6 | labels:
7 | - bug
8 | - title: 'Added:'
9 | labels:
10 | - enhancement
11 | - title: 'Other Changes:'
12 | labels:
13 | - "*"
14 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | ## Ignore Visual Studio temporary files, build results, and
2 | ## files generated by popular Visual Studio add-ons.
3 |
4 | [Originals]/
5 |
6 | # User-specific files
7 | *.suo
8 | *.user
9 | *.userosscache
10 | *.sln.docstates
11 |
12 | # User-specific files (MonoDevelop/Xamarin Studio)
13 | *.userprefs
14 |
15 | # Build results
16 | [Dd]ebug/
17 | [Dd]ebugPublic/
18 | [Rr]elease/
19 | [Rr]eleases/
20 | x64/
21 | x86/
22 | bld/
23 | [Bb]in/
24 | [Oo]bj/
25 | [Ll]og/
26 |
27 | # Visual Studio 2015 cache/options directory
28 | .vs/
29 | # Uncomment if you have tasks that create the project's static files in wwwroot
30 | #wwwroot/
31 |
32 | # MSTest test Results
33 | [Tt]est[Rr]esult*/
34 | [Bb]uild[Ll]og.*
35 |
36 | # NUNIT
37 | *.VisualState.xml
38 | TestResult.xml
39 |
40 | # Build Results of an ATL Project
41 | [Dd]ebugPS/
42 | [Rr]eleasePS/
43 | dlldata.c
44 |
45 | # DNX
46 | project.lock.json
47 | project.fragment.lock.json
48 | artifacts/
49 |
50 | *_i.c
51 | *_p.c
52 | *_i.h
53 | *.ilk
54 | *.meta
55 | *.obj
56 | *.pch
57 | *.pdb
58 | *.pgc
59 | *.pgd
60 | *.rsp
61 | *.sbr
62 | *.tlb
63 | *.tli
64 | *.tlh
65 | *.tmp
66 | *.tmp_proj
67 | *.log
68 | *.vspscc
69 | *.vssscc
70 | .builds
71 | *.pidb
72 | *.svclog
73 | *.scc
74 |
75 | # Chutzpah Test files
76 | _Chutzpah*
77 |
78 | # Visual C++ cache files
79 | ipch/
80 | *.aps
81 | *.ncb
82 | *.opendb
83 | *.opensdf
84 | *.sdf
85 | *.cachefile
86 | *.VC.db
87 | *.VC.VC.opendb
88 |
89 | # Visual Studio profiler
90 | *.psess
91 | *.vsp
92 | *.vspx
93 | *.sap
94 |
95 | # TFS 2012 Local Workspace
96 | $tf/
97 |
98 | # Guidance Automation Toolkit
99 | *.gpState
100 |
101 | # ReSharper is a .NET coding add-in
102 | _ReSharper*/
103 | *.[Rr]e[Ss]harper
104 | *.DotSettings.user
105 |
106 | # JustCode is a .NET coding add-in
107 | .JustCode
108 |
109 | # TeamCity is a build add-in
110 | _TeamCity*
111 |
112 | # DotCover is a Code Coverage Tool
113 | *.dotCover
114 |
115 | # NCrunch
116 | _NCrunch_*
117 | .*crunch*.local.xml
118 | nCrunchTemp_*
119 |
120 | # MightyMoose
121 | *.mm.*
122 | AutoTest.Net/
123 |
124 | # Web workbench (sass)
125 | .sass-cache/
126 |
127 | # Installshield output folder
128 | [Ee]xpress/
129 |
130 | # DocProject is a documentation generator add-in
131 | DocProject/buildhelp/
132 | DocProject/Help/*.HxT
133 | DocProject/Help/*.HxC
134 | DocProject/Help/*.hhc
135 | DocProject/Help/*.hhk
136 | DocProject/Help/*.hhp
137 | DocProject/Help/Html2
138 | DocProject/Help/html
139 |
140 | # Click-Once directory
141 | publish/
142 |
143 | # Publish Web Output
144 | *.[Pp]ublish.xml
145 | *.azurePubxml
146 | # TODO: Comment the next line if you want to checkin your web deploy settings
147 | # but database connection strings (with potential passwords) will be unencrypted
148 | *.pubxml
149 | *.publishproj
150 |
151 | # Microsoft Azure Web App publish settings. Comment the next line if you want to
152 | # checkin your Azure Web App publish settings, but sensitive information contained
153 | # in these scripts will be unencrypted
154 | PublishScripts/
155 |
156 | # NuGet Packages
157 | *.nupkg
158 | # The packages folder can be ignored because of Package Restore
159 | **/packages/*
160 | # except build/, which is used as an MSBuild target.
161 | !**/packages/build/
162 | # Uncomment if necessary however generally it will be regenerated when needed
163 | #!**/packages/repositories.config
164 | # NuGet v3's project.json files produces more ignoreable files
165 | *.nuget.props
166 | *.nuget.targets
167 |
168 | # Microsoft Azure Build Output
169 | csx/
170 | *.build.csdef
171 |
172 | # Microsoft Azure Emulator
173 | ecf/
174 | rcf/
175 |
176 | # Windows Store app package directories and files
177 | AppPackages/
178 | BundleArtifacts/
179 | Package.StoreAssociation.xml
180 | _pkginfo.txt
181 |
182 | # Visual Studio cache files
183 | # files ending in .cache can be ignored
184 | *.[Cc]ache
185 | # but keep track of directories ending in .cache
186 | !*.[Cc]ache/
187 |
188 | # Others
189 | ClientBin/
190 | ~$*
191 | *~
192 | *.dbmdl
193 | *.dbproj.schemaview
194 | *.pfx
195 | *.publishsettings
196 | node_modules/
197 | orleans.codegen.cs
198 |
199 | # Since there are multiple workflows, uncomment next line to ignore bower_components
200 | # (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
201 | #bower_components/
202 |
203 | # RIA/Silverlight projects
204 | Generated_Code/
205 |
206 | # Backup & report files from converting an old project file
207 | # to a newer Visual Studio version. Backup files are not needed,
208 | # because we have git ;-)
209 | _UpgradeReport_Files/
210 | Backup*/
211 | UpgradeLog*.XML
212 | UpgradeLog*.htm
213 |
214 | # SQL Server files
215 | *.mdf
216 | *.ldf
217 |
218 | # Business Intelligence projects
219 | *.rdl.data
220 | *.bim.layout
221 | *.bim_*.settings
222 |
223 | # Microsoft Fakes
224 | FakesAssemblies/
225 |
226 | # GhostDoc plugin setting file
227 | *.GhostDoc.xml
228 |
229 | # Node.js Tools for Visual Studio
230 | .ntvs_analysis.dat
231 |
232 | # Visual Studio 6 build log
233 | *.plg
234 |
235 | # Visual Studio 6 workspace options file
236 | *.opt
237 |
238 | # Visual Studio LightSwitch build output
239 | **/*.HTMLClient/GeneratedArtifacts
240 | **/*.DesktopClient/GeneratedArtifacts
241 | **/*.DesktopClient/ModelManifest.xml
242 | **/*.Server/GeneratedArtifacts
243 | **/*.Server/ModelManifest.xml
244 | _Pvt_Extensions
245 |
246 | # Paket dependency manager
247 | .paket/paket.exe
248 | paket-files/
249 |
250 | # FAKE - F# Make
251 | .fake/
252 |
253 | # JetBrains Rider
254 | .idea/
255 | *.sln.iml
256 |
257 | # CodeRush
258 | .cr/
259 |
260 | # Visual Studio Code stuff
261 | .vscode/
262 |
--------------------------------------------------------------------------------
/.gitmodules:
--------------------------------------------------------------------------------
1 | [submodule "source/playnite-plugincommon"]
2 | path = source/playnite-plugincommon
3 | url = https://github.com/Lacro59/playnite-plugincommon.git
4 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2020 Lacro59
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | [](https://crowdin.com/project/playnite-extensions)
2 | [](https://github.com/Lacro59/playnite-screenshotsvisualizer-plugin/releases/latest)
3 | [](https://github.com/Lacro59/playnite-screenshotsvisualizer-plugin/releases/latest)
4 | []()
5 | [](https://github.com/Lacro59/playnite-screenshotsvisualizer-plugin/graphs/commit-activity)
6 | [](https://github.com/Lacro59/playnite-screenshotsvisualizer-plugin/graphs/contributors)
7 | [](https://github.com/Lacro59/playnite-screenshotsvisualizer-plugin/blob/master/LICENSE)
8 |
9 | # playnite-screenshotsvisualizer-plugin
10 | Extension for [Playnite](https://playnite.link).
11 |
12 | ## Informations
13 | The plugin shows your screenshots and video capture..
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 | With this plugin you can
42 | * scan multi folders to show screenshoots and video capture
43 | * move screenshots and video capture on other folders (ex cloud folder)
44 |
45 | If the theme support function, you can:
46 | * add plugin data in game list in "Details View" & "Grid View"
47 | * add plugin data in game details
48 |
49 | ## Translations
50 | You can help to translate the extensions do different languages via the project [Crowdin](https://crowdin.com/project/playnite-extensions) page.
51 |
52 | ## Custom theme integration
53 | The extension contains elements that can fit into a custom theme.
54 | [More informations](https://github.com/Lacro59/playnite-screenshotsvisualizer-plugin/wiki/Addition-in-a-custom-theme)
55 |
56 | ## More
57 | Remember to support [Playnite](https://www.patreon.com/playnite).
58 |
59 |
--------------------------------------------------------------------------------
/build/build.ps1:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Lacro59/playnite-screenshotsvisualizer-plugin/36679566ca58cc3d2aa805a9b25918cf74d2d551/build/build.ps1
--------------------------------------------------------------------------------
/crowdin.yml:
--------------------------------------------------------------------------------
1 | files:
2 | - source: LocSource.xaml
3 | translation: /%original_path%/%locale_with_underscore%.xaml
4 |
--------------------------------------------------------------------------------
/forum/control_01.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Lacro59/playnite-screenshotsvisualizer-plugin/36679566ca58cc3d2aa805a9b25918cf74d2d551/forum/control_01.jpg
--------------------------------------------------------------------------------
/forum/main_01.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Lacro59/playnite-screenshotsvisualizer-plugin/36679566ca58cc3d2aa805a9b25918cf74d2d551/forum/main_01.jpg
--------------------------------------------------------------------------------
/forum/main_02.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Lacro59/playnite-screenshotsvisualizer-plugin/36679566ca58cc3d2aa805a9b25918cf74d2d551/forum/main_02.jpg
--------------------------------------------------------------------------------
/forum/settings_01.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Lacro59/playnite-screenshotsvisualizer-plugin/36679566ca58cc3d2aa805a9b25918cf74d2d551/forum/settings_01.jpg
--------------------------------------------------------------------------------
/forum/settings_02.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Lacro59/playnite-screenshotsvisualizer-plugin/36679566ca58cc3d2aa805a9b25918cf74d2d551/forum/settings_02.jpg
--------------------------------------------------------------------------------
/screenshots/plugin_mainview.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Lacro59/playnite-screenshotsvisualizer-plugin/36679566ca58cc3d2aa805a9b25918cf74d2d551/screenshots/plugin_mainview.jpg
--------------------------------------------------------------------------------
/screenshots/plugin_settings.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Lacro59/playnite-screenshotsvisualizer-plugin/36679566ca58cc3d2aa805a9b25918cf74d2d551/screenshots/plugin_settings.jpg
--------------------------------------------------------------------------------
/screenshots/plugin_side.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Lacro59/playnite-screenshotsvisualizer-plugin/36679566ca58cc3d2aa805a9b25918cf74d2d551/screenshots/plugin_side.jpg
--------------------------------------------------------------------------------
/screenshots/thumbs/plugin_mainview.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Lacro59/playnite-screenshotsvisualizer-plugin/36679566ca58cc3d2aa805a9b25918cf74d2d551/screenshots/thumbs/plugin_mainview.jpg
--------------------------------------------------------------------------------
/screenshots/thumbs/plugin_settings.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Lacro59/playnite-screenshotsvisualizer-plugin/36679566ca58cc3d2aa805a9b25918cf74d2d551/screenshots/thumbs/plugin_settings.jpg
--------------------------------------------------------------------------------
/screenshots/thumbs/plugin_side.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Lacro59/playnite-screenshotsvisualizer-plugin/36679566ca58cc3d2aa805a9b25918cf74d2d551/screenshots/thumbs/plugin_side.jpg
--------------------------------------------------------------------------------
/source/Controls/PluginButton.xaml:
--------------------------------------------------------------------------------
1 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
95 |
96 |
--------------------------------------------------------------------------------
/source/Controls/PluginButton.xaml.cs:
--------------------------------------------------------------------------------
1 | using CommonPluginsShared;
2 | using CommonPluginsShared.Collections;
3 | using CommonPluginsShared.Controls;
4 | using CommonPluginsShared.Converters;
5 | using CommonPluginsShared.Interfaces;
6 | using Playnite.SDK;
7 | using Playnite.SDK.Models;
8 | using ScreenshotsVisualizer.Models;
9 | using ScreenshotsVisualizer.Services;
10 | using ScreenshotsVisualizer.Views;
11 | using System;
12 | using System.Collections.Generic;
13 | using System.Linq;
14 | using System.Text;
15 | using System.Threading.Tasks;
16 | using System.Windows;
17 |
18 | namespace ScreenshotsVisualizer.Controls
19 | {
20 | ///
21 | /// Logique d'interaction pour PluginButton.xaml
22 | ///
23 | public partial class PluginButton : PluginUserControlExtend
24 | {
25 | private ScreenshotsVisualizerDatabase PluginDatabase => ScreenshotsVisualizer.PluginDatabase;
26 | internal override IPluginDatabase pluginDatabase => PluginDatabase;
27 |
28 | private PluginButtonDataContext ControlDataContext = new PluginButtonDataContext();
29 | internal override IDataContext controlDataContext
30 | {
31 | get => ControlDataContext;
32 | set => ControlDataContext = (PluginButtonDataContext)controlDataContext;
33 | }
34 |
35 |
36 | public PluginButton()
37 | {
38 | AlwaysShow = false;
39 |
40 | InitializeComponent();
41 | this.DataContext = ControlDataContext;
42 |
43 | _ = Task.Run(() =>
44 | {
45 | // Wait extension database are loaded
46 | _ = System.Threading.SpinWait.SpinUntil(() => PluginDatabase.IsLoaded, -1);
47 |
48 | _ = Application.Current.Dispatcher.BeginInvoke((Action)delegate
49 | {
50 | PluginDatabase.PluginSettings.PropertyChanged += PluginSettings_PropertyChanged;
51 | PluginDatabase.Database.ItemUpdated += Database_ItemUpdated;
52 | PluginDatabase.Database.ItemCollectionChanged += Database_ItemCollectionChanged;
53 | API.Instance.Database.Games.ItemUpdated += Games_ItemUpdated;
54 |
55 | // Apply settings
56 | PluginSettings_PropertyChanged(null, null);
57 | });
58 | });
59 | }
60 |
61 |
62 | public override void SetDefaultDataContext()
63 | {
64 | ControlDataContext.IsActivated = PluginDatabase.PluginSettings.Settings.EnableIntegrationButton;
65 | ControlDataContext.DisplayDetails = PluginDatabase.PluginSettings.Settings.EnableIntegrationButtonDetails;
66 |
67 | ControlDataContext.Text = "\uea38";
68 | ControlDataContext.SsvDateLast = DateTime.Now;
69 | ControlDataContext.SsvTotal = 0;
70 | }
71 |
72 |
73 | public override void SetData(Game newContext, PluginDataBaseGameBase PluginGameData)
74 | {
75 | GameScreenshots gameScreenshots = (GameScreenshots)PluginGameData;
76 |
77 | if (ControlDataContext.DisplayDetails)
78 | {
79 | if (gameScreenshots.HasData)
80 | {
81 | List tmp = gameScreenshots.Items;
82 | tmp.Sort((x, y) => y.Modifed.CompareTo(x.Modifed));
83 | DateTime SsvDateLast = tmp[0].Modifed;
84 |
85 | LocalDateConverter localDateConverter = new LocalDateConverter();
86 |
87 | ControlDataContext.SsvDateLast = SsvDateLast;
88 | ControlDataContext.SsvTotal = gameScreenshots.Items.Count();
89 | }
90 | else
91 | {
92 | ControlDataContext.DisplayDetails = false;
93 | }
94 | }
95 | else
96 | {
97 | ControlDataContext.DisplayDetails = false;
98 | }
99 | }
100 |
101 |
102 | #region Events
103 | private void PART_PluginButton_Click(object sender, RoutedEventArgs e)
104 | {
105 | WindowOptions windowOptions = new WindowOptions
106 | {
107 | ShowMinimizeButton = false,
108 | ShowMaximizeButton = true,
109 | ShowCloseButton = true,
110 | CanBeResizable = true,
111 | Height = 720,
112 | Width = 1200
113 | };
114 |
115 | SsvScreenshotsView ViewExtension = new SsvScreenshotsView(PluginDatabase.GameContext);
116 | Window windowExtension = PlayniteUiHelper.CreateExtensionWindow(ResourceProvider.GetString("LOCSsvTitle"), ViewExtension, windowOptions);
117 | windowExtension.ShowDialog();
118 | }
119 | #endregion
120 | }
121 |
122 |
123 | public class PluginButtonDataContext : ObservableObject, IDataContext
124 | {
125 | private bool isActivated;
126 | public bool IsActivated { get => isActivated; set => SetValue(ref isActivated, value); }
127 |
128 | private bool displayDetails;
129 | public bool DisplayDetails { get => displayDetails; set => SetValue(ref displayDetails, value); }
130 |
131 | private bool buttonContextMenu;
132 | public bool ButtonContextMenu { get => buttonContextMenu; set => SetValue(ref buttonContextMenu, value); }
133 |
134 | private string text = "\uea38";
135 | public string Text { get => text; set => SetValue(ref text, value); }
136 |
137 | private DateTime ssvDateLast = DateTime.Now;
138 | public DateTime SsvDateLast { get => ssvDateLast; set => SetValue(ref ssvDateLast, value); }
139 |
140 | private int ssvTotal = 7;
141 | public int SsvTotal { get => ssvTotal; set => SetValue(ref ssvTotal, value); }
142 | }
143 | }
144 |
--------------------------------------------------------------------------------
/source/Controls/PluginListScreenshotsVertical.xaml.cs:
--------------------------------------------------------------------------------
1 | using CommonPluginsShared;
2 | using CommonPluginsShared.Collections;
3 | using CommonPluginsShared.Controls;
4 | using CommonPluginsShared.Interfaces;
5 | using Playnite.SDK;
6 | using Playnite.SDK.Models;
7 | using ScreenshotsVisualizer.Models;
8 | using ScreenshotsVisualizer.Services;
9 | using System;
10 | using System.Collections.Generic;
11 | using System.Collections.ObjectModel;
12 | using System.Linq;
13 | using System.Text;
14 | using System.Threading.Tasks;
15 | using System.Windows;
16 | using System.Windows.Controls;
17 | using System.Windows.Input;
18 |
19 | namespace ScreenshotsVisualizer.Controls
20 | {
21 | ///
22 | /// Logique d'interaction pour PluginListScreenshotsVertical.xaml
23 | ///
24 | public partial class PluginListScreenshotsVertical : PluginUserControlExtend
25 | {
26 | private ScreenshotsVisualizerDatabase PluginDatabase => ScreenshotsVisualizer.PluginDatabase;
27 | internal override IPluginDatabase pluginDatabase => PluginDatabase;
28 |
29 | private PluginListScreenshotsVerticalDataContext ControlDataContext = new PluginListScreenshotsVerticalDataContext();
30 | internal override IDataContext controlDataContext
31 | {
32 | get => ControlDataContext;
33 | set => ControlDataContext = (PluginListScreenshotsVerticalDataContext)controlDataContext;
34 | }
35 |
36 |
37 | public PluginListScreenshotsVertical()
38 | {
39 | InitializeComponent();
40 | this.DataContext = ControlDataContext;
41 |
42 | _ = Task.Run(() =>
43 | {
44 | // Wait extension database are loaded
45 | _ = System.Threading.SpinWait.SpinUntil(() => PluginDatabase.IsLoaded, -1);
46 |
47 | _ = Application.Current.Dispatcher.BeginInvoke((Action)delegate
48 | {
49 | PluginDatabase.PluginSettings.PropertyChanged += PluginSettings_PropertyChanged;
50 | PluginDatabase.Database.ItemUpdated += Database_ItemUpdated;
51 | PluginDatabase.Database.ItemCollectionChanged += Database_ItemCollectionChanged;
52 | API.Instance.Database.Games.ItemUpdated += Games_ItemUpdated;
53 |
54 | // Apply settings
55 | PluginSettings_PropertyChanged(null, null);
56 |
57 | PART_ListScreenshots.AddHandler(UIElement.MouseDownEvent, new MouseButtonEventHandler(PluginDatabase.ListBoxItem_MouseLeftButtonDownClick), true);
58 | });
59 | });
60 | }
61 |
62 |
63 | public override void SetDefaultDataContext()
64 | {
65 | ControlDataContext.IsActivated = PluginDatabase.PluginSettings.Settings.EnableIntegrationShowPicturesVertical;
66 | ControlDataContext.AddBorder = PluginDatabase.PluginSettings.Settings.AddBorder;
67 | ControlDataContext.AddRoundedCorner = PluginDatabase.PluginSettings.Settings.AddRoundedCorner;
68 | ControlDataContext.HideInfos = PluginDatabase.PluginSettings.Settings.HideScreenshotsInfos;
69 |
70 | ControlDataContext.CountItems = 0;
71 | ControlDataContext.ItemsSource = new ObservableCollection();
72 | }
73 |
74 |
75 | public override void SetData(Game newContext, PluginDataBaseGameBase PluginGameData)
76 | {
77 | GameScreenshots gameScreenshots = (GameScreenshots)PluginGameData;
78 |
79 | List screenshots = gameScreenshots.Items;
80 | screenshots.Sort((x, y) => y.Modifed.CompareTo(x.Modifed));
81 |
82 | ControlDataContext.ItemsSource = screenshots.ToObservable();
83 | ControlDataContext.CountItems = screenshots.Count;
84 | }
85 |
86 |
87 | #region Events
88 | private void PART_ListScreenshots_SelectionChanged(object sender, SelectionChangedEventArgs e)
89 | {
90 | if (PluginDatabase.PluginSettings.Settings.LinkWithSinglePicture && PluginDatabase.PluginSettings.Settings.EnableIntegrationShowSinglePicture)
91 | {
92 | PluginSinglePicture ssvSinglePicture = UI.FindVisualChildren(Application.Current.MainWindow).FirstOrDefault();
93 |
94 | if (ssvSinglePicture != null)
95 | {
96 | ssvSinglePicture.SetPictureFromList(PART_ListScreenshots.SelectedIndex);
97 | }
98 | }
99 | }
100 | #endregion
101 | }
102 |
103 |
104 | public class PluginListScreenshotsVerticalDataContext : ObservableObject, IDataContext
105 | {
106 | private bool isActivated;
107 | public bool IsActivated { get => isActivated; set => SetValue(ref isActivated, value); }
108 |
109 | private bool addBorder;
110 | public bool AddBorder { get => addBorder; set => SetValue(ref addBorder, value); }
111 |
112 | private bool addRoundedCorner;
113 | public bool AddRoundedCorner { get => addRoundedCorner; set => SetValue(ref addRoundedCorner, value); }
114 |
115 | private bool hideInfos;
116 | public bool HideInfos { get => hideInfos; set => SetValue(ref hideInfos, value); }
117 |
118 | private int countItems = 10;
119 | public int CountItems { get => countItems; set => SetValue(ref countItems, value); }
120 |
121 | private ObservableCollection itemsSource = new ObservableCollection
122 | {
123 | new Screenshot
124 | {
125 | FileName = @"icon.png",
126 | Modifed = DateTime.Now
127 | }
128 | };
129 | public ObservableCollection ItemsSource { get => itemsSource; set => SetValue(ref itemsSource, value); }
130 | }
131 | }
132 |
--------------------------------------------------------------------------------
/source/Controls/PluginScreenshots.xaml:
--------------------------------------------------------------------------------
1 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
42 |
43 |
44 |
46 |
47 |
58 |
59 |
60 |
61 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
74 |
75 |
76 |
77 |
78 |
79 |
88 |
89 |
90 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
--------------------------------------------------------------------------------
/source/Controls/PluginSinglePicture.xaml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
33 |
34 |
45 |
46 |
47 |
48 |
54 |
55 |
56 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
75 |
76 |
77 |
78 |
81 |
82 |
83 |
84 |
--------------------------------------------------------------------------------
/source/Controls/PluginViewItem.xaml:
--------------------------------------------------------------------------------
1 |
11 |
12 |
13 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/source/Controls/PluginViewItem.xaml.cs:
--------------------------------------------------------------------------------
1 | using CommonPluginsShared.Collections;
2 | using CommonPluginsShared.Controls;
3 | using CommonPluginsShared.Interfaces;
4 | using Playnite.SDK;
5 | using Playnite.SDK.Models;
6 | using ScreenshotsVisualizer.Models;
7 | using ScreenshotsVisualizer.Services;
8 | using System;
9 | using System.Collections.Generic;
10 | using System.Text;
11 | using System.Threading.Tasks;
12 | using System.Windows;
13 |
14 | namespace ScreenshotsVisualizer.Controls
15 | {
16 | ///
17 | /// Logique d'interaction pour PluginViewItem.xaml
18 | ///
19 | public partial class PluginViewItem : PluginUserControlExtend
20 | {
21 | private ScreenshotsVisualizerDatabase PluginDatabase => ScreenshotsVisualizer.PluginDatabase;
22 | internal override IPluginDatabase pluginDatabase => PluginDatabase;
23 |
24 | private PluginViewItemDataContext ControlDataContext = new PluginViewItemDataContext();
25 | internal override IDataContext controlDataContext
26 | {
27 | get => ControlDataContext;
28 | set => ControlDataContext = (PluginViewItemDataContext)controlDataContext;
29 | }
30 |
31 |
32 | public PluginViewItem()
33 | {
34 | InitializeComponent();
35 | this.DataContext = ControlDataContext;
36 |
37 | _ = Task.Run(() =>
38 | {
39 | // Wait extension database are loaded
40 | _ = System.Threading.SpinWait.SpinUntil(() => PluginDatabase.IsLoaded, -1);
41 |
42 | _ = Application.Current.Dispatcher.BeginInvoke((Action)delegate
43 | {
44 | PluginDatabase.PluginSettings.PropertyChanged += PluginSettings_PropertyChanged;
45 | PluginDatabase.Database.ItemUpdated += Database_ItemUpdated;
46 | PluginDatabase.Database.ItemCollectionChanged += Database_ItemCollectionChanged;
47 | API.Instance.Database.Games.ItemUpdated += Games_ItemUpdated;
48 |
49 | // Apply settings
50 | PluginSettings_PropertyChanged(null, null);
51 | });
52 | });
53 | }
54 |
55 |
56 | public override void SetDefaultDataContext()
57 | {
58 | ControlDataContext.IsActivated = PluginDatabase.PluginSettings.Settings.EnableIntegrationViewItem;
59 | ControlDataContext.Text = "\uea38";
60 | }
61 |
62 |
63 | public override void SetData(Game newContext, PluginDataBaseGameBase PluginGameData)
64 | {
65 | GameScreenshots gameScreenshots = (GameScreenshots)PluginGameData;
66 | }
67 | }
68 |
69 |
70 | public class PluginViewItemDataContext : ObservableObject, IDataContext
71 | {
72 | private bool isActivated;
73 | public bool IsActivated { get => isActivated; set => SetValue(ref isActivated, value); }
74 |
75 | private string text = "\uea38";
76 | public string Text { get => text; set => SetValue(ref text, value); }
77 | }
78 | }
79 |
--------------------------------------------------------------------------------
/source/Controls/ZoomBorder.cs:
--------------------------------------------------------------------------------
1 | using System.Linq;
2 | using System.Windows;
3 | using System.Windows.Controls;
4 | using System.Windows.Input;
5 | using System.Windows.Media;
6 |
7 | //https://stackoverflow.com/questions/741956/pan-zoom-image
8 | namespace ScreenshotsVisualizer.Controls
9 | {
10 | public class ZoomBorder : Border
11 | {
12 | private UIElement child = null;
13 | private Point origin;
14 | private Point start;
15 |
16 |
17 | private TranslateTransform GetTranslateTransform(UIElement element)
18 | {
19 | return (TranslateTransform)((TransformGroup)element.RenderTransform)
20 | .Children.First(tr => tr is TranslateTransform);
21 | }
22 |
23 | private ScaleTransform GetScaleTransform(UIElement element)
24 | {
25 | return (ScaleTransform)((TransformGroup)element.RenderTransform)
26 | .Children.First(tr => tr is ScaleTransform);
27 | }
28 |
29 | public override UIElement Child
30 | {
31 | get => base.Child;
32 | set
33 | {
34 | if (value != null && value != this.Child)
35 | {
36 | this.Initialize(value);
37 | }
38 |
39 | base.Child = value;
40 | }
41 | }
42 |
43 | public void Initialize(UIElement element)
44 | {
45 | this.child = element;
46 | if (child != null)
47 | {
48 | TransformGroup group = new TransformGroup();
49 | ScaleTransform st = new ScaleTransform();
50 | group.Children.Add(st);
51 | TranslateTransform tt = new TranslateTransform();
52 | group.Children.Add(tt);
53 | child.RenderTransform = group;
54 | child.RenderTransformOrigin = new Point(0.0, 0.0);
55 | this.MouseWheel += Child_MouseWheel;
56 | this.MouseLeftButtonDown += Child_MouseLeftButtonDown;
57 | this.MouseLeftButtonUp += Child_MouseLeftButtonUp;
58 | this.MouseMove += Child_MouseMove;
59 | this.PreviewMouseRightButtonDown += new MouseButtonEventHandler(Child_PreviewMouseRightButtonDown);
60 | }
61 | }
62 |
63 | public void Reset()
64 | {
65 | if (child != null)
66 | {
67 | // reset zoom
68 | ScaleTransform st = GetScaleTransform(child);
69 | st.ScaleX = 1.0;
70 | st.ScaleY = 1.0;
71 |
72 | // reset pan
73 | TranslateTransform tt = GetTranslateTransform(child);
74 | tt.X = 0.0;
75 | tt.Y = 0.0;
76 | }
77 | }
78 |
79 |
80 | #region Child Events
81 | private void Child_MouseWheel(object sender, MouseWheelEventArgs e)
82 | {
83 | if (child != null)
84 | {
85 | ScaleTransform st = GetScaleTransform(child);
86 | TranslateTransform tt = GetTranslateTransform(child);
87 |
88 | double zoom = e.Delta > 0 ? .2 : -.2;
89 | if (!(e.Delta > 0) && (st.ScaleX < .4 || st.ScaleY < .4))
90 | {
91 | return;
92 | }
93 |
94 | Point relative = e.GetPosition(child);
95 | double absoluteX;
96 | double absoluteY;
97 |
98 | absoluteX = relative.X * st.ScaleX + tt.X;
99 | absoluteY = relative.Y * st.ScaleY + tt.Y;
100 |
101 | st.ScaleX += zoom;
102 | st.ScaleY += zoom;
103 |
104 | tt.X = absoluteX - relative.X * st.ScaleX;
105 | tt.Y = absoluteY - relative.Y * st.ScaleY;
106 | }
107 | }
108 |
109 | private void Child_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
110 | {
111 | if (child != null)
112 | {
113 | TranslateTransform tt = GetTranslateTransform(child);
114 | start = e.GetPosition(this);
115 | origin = new Point(tt.X, tt.Y);
116 | this.Cursor = Cursors.Hand;
117 | _ = child.CaptureMouse();
118 | }
119 | }
120 |
121 | private void Child_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
122 | {
123 | if (child != null)
124 | {
125 | child.ReleaseMouseCapture();
126 | this.Cursor = Cursors.Arrow;
127 | }
128 | }
129 |
130 | void Child_PreviewMouseRightButtonDown(object sender, MouseButtonEventArgs e)
131 | {
132 | this.Reset();
133 | }
134 |
135 | private void Child_MouseMove(object sender, MouseEventArgs e)
136 | {
137 | if (child != null)
138 | {
139 | if (child.IsMouseCaptured)
140 | {
141 | TranslateTransform tt = GetTranslateTransform(child);
142 | Vector v = start - e.GetPosition(this);
143 | tt.X = origin.X - v.X;
144 | tt.Y = origin.Y - v.Y;
145 | }
146 | }
147 | }
148 | #endregion
149 | }
150 | }
151 |
--------------------------------------------------------------------------------
/source/Localization/LocSource.xaml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | {0} screenshot
5 | {0} screenshots
6 | {0} video
7 | {0} videos
8 |
9 |
10 | ffmpeg executable was not found
11 | ffprobe executable was not found
12 |
13 |
14 |
15 |
16 | ScreenshotsVisualizer
17 | Screenshots
18 |
19 | Latest
20 |
21 | View game screenshots
22 | Open the screenshots directory
23 | Move the screenshoots to save directory
24 | Convert images to JPG
25 | Convert images to JPG for all games screenshots
26 |
27 | Moving the screenshoots...
28 |
29 | Are you sure you want to move all of the screenshots?
30 |
31 |
32 |
33 |
34 | Are you sure to delete {0}?
35 |
36 |
37 |
38 |
39 | Last screenshoot
40 |
41 |
42 |
43 |
44 | Carousel
45 | Show the game name
46 | Randomize all screenshots list
47 | Used thumbnails
48 | Show only the most recent screenshots for each game
49 | Number of screenshots per game
50 | Number of games
51 | Enable auto change
52 | Time (seconds)
53 | Show only favorites games
54 | Only certain sources
55 | Include videos
56 |
57 |
58 |
59 |
60 | ffmpeg path:
61 | ffprobe path:
62 | Download ffmpeg package
63 |
64 | Generate thumbnails to improve loading performance
65 |
66 | Global screenshots path
67 |
68 | Scan sub folders
69 |
70 | Add tag if the game has screenshots
71 | Add Steam game
72 |
73 | Transform number to {digit}
74 |
75 | Display a control with a single screenshot
76 | Display a control with a list of screenshots
77 | Display a control with a list of vertical screenshots
78 | Display a control with a large list of screenshoots
79 | Add border
80 | Add rounded corner
81 |
82 | Single screenshot options
83 |
84 | List of screenshots options
85 |
86 | Hide screenshots infos
87 |
88 | Open on picture selection
89 | Link selection with single screenshot view
90 |
91 | Used a file pattern
92 | Enable move of screenshots in unique folder
93 | File pattern
94 |
95 | Transform to absolute path
96 | Transform to relative path
97 |
98 | JPG quality
99 |
100 | In addition, you can used:
101 | - {DateModified} yyyy[-_]MM[-_]dd
102 | - {DateTimeModified} yyyy[-_]MM[-_]dd[ -_]HH[-_]mm[-_]ss
103 | - {digit} number(s)
104 |
105 | Example:
106 | GameName_20200107-1 => {Name}_{digit}-{digit}
107 | GameName_2020-01-07 => {Name}_{DateModified}
108 |
109 | Add this folder for all games.
110 |
111 | Example:
112 | {PlayniteDir}\ExtraMetadata\{GameId}\Screenshots
113 |
114 | This option adds a game menu to move all screenshot files to a single folder.
115 | If the {Name} is not included in "Folder", it is automatically added.
116 |
117 | Example:
118 | A game with two screenshot folders:
119 | - {Public}\Screenshots
120 | - {SteamScreenshotsDir}\435790\screenshots
121 |
122 | If you have the unique folder {DropboxFolder}\Screenshots\{Name}, after selecting the option in game menu, all screenshots will be moved to the unique folder according to the "File Pattern" and the link will be upated in plugin data.
123 |
124 |
125 |
126 | Settings is missing to use to move the screenshoots
127 |
128 |
129 |
--------------------------------------------------------------------------------
/source/Localization/ar_SA.xaml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | {0} لقطة شاش
5 | {0} لقطات شاش
6 | {0} في
7 | {0} فيديوهات
8 |
9 |
10 | ffmpeg executable was not found
11 | ffprobe executable was not found
12 |
13 |
14 |
15 |
16 | ScreenshotsVisualizer
17 | لقطات الشاش
18 |
19 | الأحدث
20 |
21 | عرض لقطات شاشة اللعب
22 | فتح مجلد لقطات الشاش
23 | انقل لقطات الشاشة إلى مجلد الحفظ
24 | Convert images to JPG
25 | Convert images to JPG for all games screenshots
26 |
27 | جارٍ نقل لقطات الشاشة...
28 |
29 | هل أنت متأكد من أنك تريد نقل جميع لقطات الشاشة؟
30 |
31 |
32 |
33 |
34 | هل تريد أن تحذف {0}؟
35 |
36 |
37 |
38 |
39 | آخر لقطة للشاش
40 |
41 |
42 |
43 |
44 | Carousel
45 | Show the game name
46 | Randomize all screenshots list
47 | Used thumbnails
48 | Show only the most recent screenshots for each game
49 | Number of screenshots per game
50 | Number of games
51 | Enable auto change
52 | Time (seconds)
53 | Show only favorites games
54 | Only certain sources
55 | Include videos
56 |
57 |
58 |
59 |
60 | ffmpeg path:
61 | ffprobe path:
62 | Download ffmpeg package
63 |
64 | إنشاء صور مصغرة لتحسين أداء التحميل البدء
65 |
66 | مسار لقطات الشاشة العالم
67 |
68 | فحص المجلدات الفرع
69 |
70 | إضافة علامة عند توفر لقطات الشاش
71 | إضافة ألعاب Steam
72 |
73 | تحويل الرقم إلى {digit}
74 |
75 | عرض لقطة شاشة واح
76 | عرض قائمة لقطات الشاش
77 | عرض قائمة عمودية للقطات الشاش
78 | Display a control with a large list of screenshoots
79 | إضافة الح
80 | إضافة زاوية مستدير
81 |
82 | خيارات لقطة شاشة واح
83 |
84 | قائمة خيارات لقطات الشاش
85 |
86 | إخفاء معلومات لقطات الشاش
87 |
88 | فتح عند اختيار الصور
89 | ربط الإختيار مع عرض لقطة الشاشة واحدة
90 |
91 | تم استخدام نمط
92 | تفعيل نقل لقطات الشاشة إلى مجلد واح
93 | نمط ا
94 |
95 | تحويل إلى المسار المط
96 | تحويل إلى مسار نس
97 |
98 | جودة JPG
99 |
100 | وبالإضافة إلى ذلك، يمكنك استخدام:
101 | - {DateModified} yyyy-MM-dd
102 | - {DateTimeModified} yyyy-MM-dd HH_mm_ss
103 | - {digit} عدد
104 |
105 | مثال:
106 | GameName_20200107-1 => {Name}_{digit}-{digit}
107 | GameName_2020 => {Name}_{DateModified}
108 |
109 | إضافة هذا المجلد لجميع الألعاب.
110 |
111 | مثال:
112 | ex: {PlayniteDir}\ExtraMetadata\{GameId}\Screenshots
113 |
114 | هذا الخيار يضيف قائمة لعبة لنقل جميع ملفات لقطة الشاشة إلى مجلد واحد.
115 | إذا كان {Name} غير مضمن في "المجلد"، يتم إضافته تلقائيا.
116 |
117 | مثال:
118 | لعبة بمجلدين للقطة الشاشة:
119 | - e1: {Public}\Screenshots
120 | - e2: {SteamScreenshotsDir}\435790\screenshots
121 |
122 | إذا كان لديك مجلد فريد ex3: {DropboxFolder}\Screenshots\{Name}, بعد تحديد الخيار في قائمة اللعبة، سيتم نقل جميع لقطات الشاشة إلى المجلد الفريد وفقًا لـ "نمط الملف" وسيتم تحديث الرابط في بيانات الإضافة.
123 |
124 |
125 |
126 | الإعدادات المراد استخدامها لنقل لقطات الشاشة مفقودة
127 |
128 |
129 |
--------------------------------------------------------------------------------
/source/Localization/bg_BG.xaml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | {0} screenshot
5 | {0} screenshots
6 | {0} video
7 | {0} videos
8 |
9 |
10 | ffmpeg executable was not found
11 | ffprobe executable was not found
12 |
13 |
14 |
15 |
16 | ScreenshotsVisualizer
17 | Screenshots
18 |
19 | Latest
20 |
21 | View game screenshots
22 | Open the screenshots directory
23 | Move the screenshoots to save directory
24 | Convert images to JPG
25 | Convert images to JPG for all games screenshots
26 |
27 | Moving the screenshoots...
28 |
29 | Are you sure you want to move all of the screenshots?
30 |
31 |
32 |
33 |
34 | Are you sure to delete {0}?
35 |
36 |
37 |
38 |
39 | Last screenshoot
40 |
41 |
42 |
43 |
44 | Carousel
45 | Show the game name
46 | Randomize all screenshots list
47 | Used thumbnails
48 | Show only the most recent screenshots for each game
49 | Number of screenshots per game
50 | Number of games
51 | Enable auto change
52 | Time (seconds)
53 | Show only favorites games
54 | Only certain sources
55 | Include videos
56 |
57 |
58 |
59 |
60 | ffmpeg path:
61 | ffprobe path:
62 | Download ffmpeg package
63 |
64 | Generate thumbnails to improve loading performance
65 |
66 | Global screenshots path
67 |
68 | Scan sub folders
69 |
70 | Add tag if the game has screenshots
71 | Add Steam game
72 |
73 | Transform number to {digit}
74 |
75 | Display a control with a single screenshot
76 | Display a control with a list of screenshots
77 | Display a control with a list of vertical screenshots
78 | Display a control with a large list of screenshoots
79 | Add border
80 | Add rounded corner
81 |
82 | Single screenshot options
83 |
84 | List of screenshots options
85 |
86 | Hide screenshots infos
87 |
88 | Open on picture selection
89 | Link selection with single screenshot view
90 |
91 | Used a file pattern
92 | Enable move of screenshots in unique folder
93 | File pattern
94 |
95 | Transform to absolute path
96 | Transform to relative path
97 |
98 | JPG quality
99 |
100 | In addition, you can used:
101 | - {DateModified} yyyy-MM-dd
102 | - {DateTimeModified} yyyy-MM-dd HH_mm_ss
103 | - {digit} number(s)
104 |
105 | Example:
106 | GameName_20200107-1 => {Name}_{digit}-{digit}
107 | GameName_2020-01-07 => {Name}_{DateModified}
108 |
109 | Add this folder for all games.
110 |
111 | Example:
112 | {PlayniteDir}\ExtraMetadata\{GameId}\Screenshots
113 |
114 | This option adds a game menu to move all screenshot files to a single folder.
115 | If the {Name} is not included in "Folder", it is automatically added.
116 |
117 | Example:
118 | A game with two screenshot folders:
119 | - {Public}\Screenshots
120 | - {SteamScreenshotsDir}\435790\screenshots
121 |
122 | If you have the unique folder {DropboxFolder}\Screenshots\{Name}, after selecting the option in game menu, all screenshots will be moved to the unique folder according to the "File Pattern" and the link will be upated in plugin data.
123 |
124 |
125 |
126 | Settings is missing to use to move the screenshoots
127 |
128 |
129 |
--------------------------------------------------------------------------------
/source/Localization/ca_ES.xaml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | {0} screenshot
5 | {0} screenshots
6 | {0} video
7 | {0} videos
8 |
9 |
10 | ffmpeg executable was not found
11 | ffprobe executable was not found
12 |
13 |
14 |
15 |
16 | ScreenshotsVisualizer
17 | Screenshots
18 |
19 | Latest
20 |
21 | View game screenshots
22 | Open the screenshots directory
23 | Move the screenshoots to save directory
24 | Convert images to JPG
25 | Convert images to JPG for all games screenshots
26 |
27 | Moving the screenshoots...
28 |
29 | Are you sure you want to move all of the screenshots?
30 |
31 |
32 |
33 |
34 | Are you sure to delete {0}?
35 |
36 |
37 |
38 |
39 | Last screenshoot
40 |
41 |
42 |
43 |
44 | Carousel
45 | Show the game name
46 | Randomize all screenshots list
47 | Used thumbnails
48 | Show only the most recent screenshots for each game
49 | Number of screenshots per game
50 | Number of games
51 | Enable auto change
52 | Time (seconds)
53 | Show only favorites games
54 | Only certain sources
55 | Include videos
56 |
57 |
58 |
59 |
60 | ffmpeg path:
61 | ffprobe path:
62 | Download ffmpeg package
63 |
64 | Generate thumbnails to improve loading performance
65 |
66 | Global screenshots path
67 |
68 | Scan sub folders
69 |
70 | Add tag if the game has screenshots
71 | Add Steam game
72 |
73 | Transform number to {digit}
74 |
75 | Display a control with a single screenshot
76 | Display a control with a list of screenshots
77 | Display a control with a list of vertical screenshots
78 | Display a control with a large list of screenshoots
79 | Add border
80 | Add rounded corner
81 |
82 | Single screenshot options
83 |
84 | List of screenshots options
85 |
86 | Hide screenshots infos
87 |
88 | Open on picture selection
89 | Link selection with single screenshot view
90 |
91 | Used a file pattern
92 | Enable move of screenshots in unique folder
93 | File pattern
94 |
95 | Transform to absolute path
96 | Transform to relative path
97 |
98 | JPG quality
99 |
100 | In addition, you can used:
101 | - {DateModified} yyyy-MM-dd
102 | - {DateTimeModified} yyyy-MM-dd HH_mm_ss
103 | - {digit} number(s)
104 |
105 | Example:
106 | GameName_20200107-1 => {Name}_{digit}-{digit}
107 | GameName_2020-01-07 => {Name}_{DateModified}
108 |
109 | Add this folder for all games.
110 |
111 | Example:
112 | {PlayniteDir}\ExtraMetadata\{GameId}\Screenshots
113 |
114 | This option adds a game menu to move all screenshot files to a single folder.
115 | If the {Name} is not included in "Folder", it is automatically added.
116 |
117 | Example:
118 | A game with two screenshot folders:
119 | - {Public}\Screenshots
120 | - {SteamScreenshotsDir}\435790\screenshots
121 |
122 | If you have the unique folder {DropboxFolder}\Screenshots\{Name}, after selecting the option in game menu, all screenshots will be moved to the unique folder according to the "File Pattern" and the link will be upated in plugin data.
123 |
124 |
125 |
126 | Settings is missing to use to move the screenshoots
127 |
128 |
129 |
--------------------------------------------------------------------------------
/source/Localization/cs_CZ.xaml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | {0} screenshot
5 | {0} screenshots
6 | {0} video
7 | {0} videos
8 |
9 |
10 | ffmpeg executable was not found
11 | ffprobe executable was not found
12 |
13 |
14 |
15 |
16 | ScreenshotsVisualizer
17 | Screenshots
18 |
19 | Latest
20 |
21 | View game screenshots
22 | Open the screenshots directory
23 | Move the screenshoots to save directory
24 | Convert images to JPG
25 | Convert images to JPG for all games screenshots
26 |
27 | Moving the screenshoots...
28 |
29 | Are you sure you want to move all of the screenshots?
30 |
31 |
32 |
33 |
34 | Are you sure to delete {0}?
35 |
36 |
37 |
38 |
39 | Last screenshoot
40 |
41 |
42 |
43 |
44 | Carousel
45 | Show the game name
46 | Randomize all screenshots list
47 | Used thumbnails
48 | Show only the most recent screenshots for each game
49 | Number of screenshots per game
50 | Number of games
51 | Enable auto change
52 | Time (seconds)
53 | Show only favorites games
54 | Only certain sources
55 | Include videos
56 |
57 |
58 |
59 |
60 | ffmpeg path:
61 | ffprobe path:
62 | Download ffmpeg package
63 |
64 | Generate thumbnails to improve loading performance
65 |
66 | Global screenshots path
67 |
68 | Scan sub folders
69 |
70 | Add tag if the game has screenshots
71 | Add Steam game
72 |
73 | Transform number to {digit}
74 |
75 | Display a control with a single screenshot
76 | Display a control with a list of screenshots
77 | Display a control with a list of vertical screenshots
78 | Display a control with a large list of screenshoots
79 | Add border
80 | Add rounded corner
81 |
82 | Single screenshot options
83 |
84 | List of screenshots options
85 |
86 | Hide screenshots infos
87 |
88 | Open on picture selection
89 | Link selection with single screenshot view
90 |
91 | Used a file pattern
92 | Enable move of screenshots in unique folder
93 | File pattern
94 |
95 | Transform to absolute path
96 | Transform to relative path
97 |
98 | JPG quality
99 |
100 | In addition, you can used:
101 | - {DateModified} yyyy-MM-dd
102 | - {DateTimeModified} yyyy-MM-dd HH_mm_ss
103 | - {digit} number(s)
104 |
105 | Example:
106 | GameName_20200107-1 => {Name}_{digit}-{digit}
107 | GameName_2020-01-07 => {Name}_{DateModified}
108 |
109 | Add this folder for all games.
110 |
111 | Example:
112 | {PlayniteDir}\ExtraMetadata\{GameId}\Screenshots
113 |
114 | This option adds a game menu to move all screenshot files to a single folder.
115 | If the {Name} is not included in "Folder", it is automatically added.
116 |
117 | Example:
118 | A game with two screenshot folders:
119 | - {Public}\Screenshots
120 | - {SteamScreenshotsDir}\435790\screenshots
121 |
122 | If you have the unique folder {DropboxFolder}\Screenshots\{Name}, after selecting the option in game menu, all screenshots will be moved to the unique folder according to the "File Pattern" and the link will be upated in plugin data.
123 |
124 |
125 |
126 | Settings is missing to use to move the screenshoots
127 |
128 |
129 |
--------------------------------------------------------------------------------
/source/Localization/da_DK.xaml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | {0} screenshot
5 | {0} screenshots
6 | {0} video
7 | {0} videos
8 |
9 |
10 | ffmpeg executable was not found
11 | ffprobe executable was not found
12 |
13 |
14 |
15 |
16 | ScreenshotsVisualizer
17 | Screenshots
18 |
19 | Latest
20 |
21 | View game screenshots
22 | Open the screenshots directory
23 | Move the screenshoots to save directory
24 | Convert images to JPG
25 | Convert images to JPG for all games screenshots
26 |
27 | Moving the screenshoots...
28 |
29 | Are you sure you want to move all of the screenshots?
30 |
31 |
32 |
33 |
34 | Are you sure to delete {0}?
35 |
36 |
37 |
38 |
39 | Last screenshoot
40 |
41 |
42 |
43 |
44 | Carousel
45 | Show the game name
46 | Randomize all screenshots list
47 | Used thumbnails
48 | Show only the most recent screenshots for each game
49 | Number of screenshots per game
50 | Number of games
51 | Enable auto change
52 | Time (seconds)
53 | Show only favorites games
54 | Only certain sources
55 | Include videos
56 |
57 |
58 |
59 |
60 | ffmpeg path:
61 | ffprobe path:
62 | Download ffmpeg package
63 |
64 | Generate thumbnails to improve loading performance
65 |
66 | Global screenshots path
67 |
68 | Scan sub folders
69 |
70 | Add tag if the game has screenshots
71 | Add Steam game
72 |
73 | Transform number to {digit}
74 |
75 | Display a control with a single screenshot
76 | Display a control with a list of screenshots
77 | Display a control with a list of vertical screenshots
78 | Display a control with a large list of screenshoots
79 | Add border
80 | Add rounded corner
81 |
82 | Single screenshot options
83 |
84 | List of screenshots options
85 |
86 | Hide screenshots infos
87 |
88 | Open on picture selection
89 | Link selection with single screenshot view
90 |
91 | Used a file pattern
92 | Enable move of screenshots in unique folder
93 | File pattern
94 |
95 | Transform to absolute path
96 | Transform to relative path
97 |
98 | JPG quality
99 |
100 | In addition, you can used:
101 | - {DateModified} yyyy-MM-dd
102 | - {DateTimeModified} yyyy-MM-dd HH_mm_ss
103 | - {digit} number(s)
104 |
105 | Example:
106 | GameName_20200107-1 => {Name}_{digit}-{digit}
107 | GameName_2020-01-07 => {Name}_{DateModified}
108 |
109 | Add this folder for all games.
110 |
111 | Example:
112 | {PlayniteDir}\ExtraMetadata\{GameId}\Screenshots
113 |
114 | This option adds a game menu to move all screenshot files to a single folder.
115 | If the {Name} is not included in "Folder", it is automatically added.
116 |
117 | Example:
118 | A game with two screenshot folders:
119 | - {Public}\Screenshots
120 | - {SteamScreenshotsDir}\435790\screenshots
121 |
122 | If you have the unique folder {DropboxFolder}\Screenshots\{Name}, after selecting the option in game menu, all screenshots will be moved to the unique folder according to the "File Pattern" and the link will be upated in plugin data.
123 |
124 |
125 |
126 | Settings is missing to use to move the screenshoots
127 |
128 |
129 |
--------------------------------------------------------------------------------
/source/Localization/el_GR.xaml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | {0} screenshot
5 | {0} screenshots
6 | {0} video
7 | {0} videos
8 |
9 |
10 | ffmpeg executable was not found
11 | ffprobe executable was not found
12 |
13 |
14 |
15 |
16 | ScreenshotsVisualizer
17 | Screenshots
18 |
19 | Latest
20 |
21 | View game screenshots
22 | Open the screenshots directory
23 | Move the screenshoots to save directory
24 | Convert images to JPG
25 | Convert images to JPG for all games screenshots
26 |
27 | Moving the screenshoots...
28 |
29 | Are you sure you want to move all of the screenshots?
30 |
31 |
32 |
33 |
34 | Are you sure to delete {0}?
35 |
36 |
37 |
38 |
39 | Last screenshoot
40 |
41 |
42 |
43 |
44 | Carousel
45 | Show the game name
46 | Randomize all screenshots list
47 | Used thumbnails
48 | Show only the most recent screenshots for each game
49 | Number of screenshots per game
50 | Number of games
51 | Enable auto change
52 | Time (seconds)
53 | Show only favorites games
54 | Only certain sources
55 | Include videos
56 |
57 |
58 |
59 |
60 | ffmpeg path:
61 | ffprobe path:
62 | Download ffmpeg package
63 |
64 | Generate thumbnails to improve loading performance
65 |
66 | Global screenshots path
67 |
68 | Scan sub folders
69 |
70 | Add tag if the game has screenshots
71 | Add Steam game
72 |
73 | Transform number to {digit}
74 |
75 | Display a control with a single screenshot
76 | Display a control with a list of screenshots
77 | Display a control with a list of vertical screenshots
78 | Display a control with a large list of screenshoots
79 | Add border
80 | Add rounded corner
81 |
82 | Single screenshot options
83 |
84 | List of screenshots options
85 |
86 | Hide screenshots infos
87 |
88 | Open on picture selection
89 | Link selection with single screenshot view
90 |
91 | Used a file pattern
92 | Enable move of screenshots in unique folder
93 | File pattern
94 |
95 | Transform to absolute path
96 | Transform to relative path
97 |
98 | JPG quality
99 |
100 | In addition, you can used:
101 | - {DateModified} yyyy-MM-dd
102 | - {DateTimeModified} yyyy-MM-dd HH_mm_ss
103 | - {digit} number(s)
104 |
105 | Example:
106 | GameName_20200107-1 => {Name}_{digit}-{digit}
107 | GameName_2020-01-07 => {Name}_{DateModified}
108 |
109 | Add this folder for all games.
110 |
111 | Example:
112 | {PlayniteDir}\ExtraMetadata\{GameId}\Screenshots
113 |
114 | This option adds a game menu to move all screenshot files to a single folder.
115 | If the {Name} is not included in "Folder", it is automatically added.
116 |
117 | Example:
118 | A game with two screenshot folders:
119 | - {Public}\Screenshots
120 | - {SteamScreenshotsDir}\435790\screenshots
121 |
122 | If you have the unique folder {DropboxFolder}\Screenshots\{Name}, after selecting the option in game menu, all screenshots will be moved to the unique folder according to the "File Pattern" and the link will be upated in plugin data.
123 |
124 |
125 |
126 | Settings is missing to use to move the screenshoots
127 |
128 |
129 |
--------------------------------------------------------------------------------
/source/Localization/en_US.xaml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | {0} screenshot
5 | {0} screenshots
6 | {0} video
7 | {0} videos
8 |
9 |
10 | ffmpeg executable was not found
11 | ffprobe executable was not found
12 |
13 |
14 |
15 |
16 | ScreenshotsVisualizer
17 | Screenshots
18 |
19 | Latest
20 |
21 | View game screenshots
22 | Open the screenshots directory
23 | Move the screenshoots to save directory
24 | Convert images to JPG
25 | Convert images to JPG for all games screenshots
26 |
27 | Moving screenshots...
28 |
29 | Are you sure you want to move all of the screenshots?
30 |
31 |
32 |
33 |
34 | Are you sure to delete {0}?
35 |
36 |
37 |
38 |
39 | Last screenshot
40 |
41 |
42 |
43 |
44 | Carousel
45 | Show the game name
46 | Randomize all screenshots list
47 | Used thumbnails
48 | Show only the most recent screenshots for each game
49 | Number of screenshots per game
50 | Number of games
51 | Enable auto change
52 | Time (seconds)
53 | Show only favorites games
54 | Only certain sources
55 | Include videos
56 |
57 |
58 |
59 |
60 | ffmpeg path:
61 | ffprobe path:
62 | Download ffmpeg package
63 |
64 | Generate thumbnails to improve loading performance
65 |
66 | Global screenshots path
67 |
68 | Scan sub folders
69 |
70 | Add tag if the game has screenshots
71 | Add Steam game
72 |
73 | Transform number to {digit}
74 |
75 | Display a control with a single screenshot
76 | Display a control with a list of screenshots
77 | Display a control with a list of vertical screenshots
78 | Display a control with a large list of screenshoots
79 | Add border
80 | Add rounded corner
81 |
82 | Single screenshot options
83 |
84 | List of screenshots options
85 |
86 | Hide screenshots info
87 |
88 | Open on picture selection
89 | Link selection with single screenshot view
90 |
91 | Used a file pattern
92 | Enable move of screenshots in unique folder
93 | File pattern
94 |
95 | Transform to absolute path
96 | Transform to relative path
97 |
98 | JPG quality
99 |
100 | In addition, you can used:
101 | - {DateModified} yyyy-MM-dd
102 | - {DateTimeModified} yyyy-MM-dd HH_mm_ss
103 | - {digit} number(s)
104 |
105 | Example:
106 | GameName_20200107-1 => {Name}_{digit}-{digit}
107 | GameName_2020-01-07 => {Name}_{DateModified}
108 |
109 | Add this folder for all games.
110 |
111 | Example:
112 | {PlayniteDir}\ExtraMetadata\{GameId}\Screenshots
113 |
114 | This option adds a game menu to move all screenshot files to a single folder.
115 | If the {Name} is not included in "Folder", it is automatically added.
116 |
117 | Example:
118 | A game with two screenshot folders:
119 | - {Public}\Screenshots
120 | - {SteamScreenshotsDir}\435790\screenshots
121 |
122 | If you have the unique folder {DropboxFolder}\Screenshots\{Name}, after selecting the option in game menu, all screenshots will be moved to the unique folder according to the "File Pattern" and the link will be upated in plugin data.
123 |
124 |
125 |
126 | Settings to use to move the screenshots is missing
127 |
128 |
129 |
--------------------------------------------------------------------------------
/source/Localization/et_EE.xaml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | {0} screenshot
5 | {0} screenshots
6 | {0} video
7 | {0} videos
8 |
9 |
10 | ffmpeg executable was not found
11 | ffprobe executable was not found
12 |
13 |
14 |
15 |
16 | ScreenshotsVisualizer
17 | Screenshots
18 |
19 | Latest
20 |
21 | View game screenshots
22 | Open the screenshots directory
23 | Move the screenshoots to save directory
24 | Convert images to JPG
25 | Convert images to JPG for all games screenshots
26 |
27 | Moving the screenshoots...
28 |
29 | Are you sure you want to move all of the screenshots?
30 |
31 |
32 |
33 |
34 | Are you sure to delete {0}?
35 |
36 |
37 |
38 |
39 | Last screenshoot
40 |
41 |
42 |
43 |
44 | Carousel
45 | Show the game name
46 | Randomize all screenshots list
47 | Used thumbnails
48 | Show only the most recent screenshots for each game
49 | Number of screenshots per game
50 | Number of games
51 | Enable auto change
52 | Time (seconds)
53 | Show only favorites games
54 | Only certain sources
55 | Include videos
56 |
57 |
58 |
59 |
60 | ffmpeg path:
61 | ffprobe path:
62 | Download ffmpeg package
63 |
64 | Generate thumbnails to improve loading performance
65 |
66 | Global screenshots path
67 |
68 | Scan sub folders
69 |
70 | Add tag if the game has screenshots
71 | Add Steam game
72 |
73 | Transform number to {digit}
74 |
75 | Display a control with a single screenshot
76 | Display a control with a list of screenshots
77 | Display a control with a list of vertical screenshots
78 | Display a control with a large list of screenshoots
79 | Add border
80 | Add rounded corner
81 |
82 | Single screenshot options
83 |
84 | List of screenshots options
85 |
86 | Hide screenshots infos
87 |
88 | Open on picture selection
89 | Link selection with single screenshot view
90 |
91 | Used a file pattern
92 | Enable move of screenshots in unique folder
93 | File pattern
94 |
95 | Transform to absolute path
96 | Transform to relative path
97 |
98 | JPG quality
99 |
100 | In addition, you can used:
101 | - {DateModified} yyyy-MM-dd
102 | - {DateTimeModified} yyyy-MM-dd HH_mm_ss
103 | - {digit} number(s)
104 |
105 | Example:
106 | GameName_20200107-1 => {Name}_{digit}-{digit}
107 | GameName_2020-01-07 => {Name}_{DateModified}
108 |
109 | Add this folder for all games.
110 |
111 | Example:
112 | {PlayniteDir}\ExtraMetadata\{GameId}\Screenshots
113 |
114 | This option adds a game menu to move all screenshot files to a single folder.
115 | If the {Name} is not included in "Folder", it is automatically added.
116 |
117 | Example:
118 | A game with two screenshot folders:
119 | - {Public}\Screenshots
120 | - {SteamScreenshotsDir}\435790\screenshots
121 |
122 | If you have the unique folder {DropboxFolder}\Screenshots\{Name}, after selecting the option in game menu, all screenshots will be moved to the unique folder according to the "File Pattern" and the link will be upated in plugin data.
123 |
124 |
125 |
126 | Settings is missing to use to move the screenshoots
127 |
128 |
129 |
--------------------------------------------------------------------------------
/source/Localization/fa_IR.xaml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | {0} screenshot
5 | {0} screenshots
6 | {0} video
7 | {0} videos
8 |
9 |
10 | ffmpeg executable was not found
11 | ffprobe executable was not found
12 |
13 |
14 |
15 |
16 | ScreenshotsVisualizer
17 | Screenshots
18 |
19 | Latest
20 |
21 | View game screenshots
22 | Open the screenshots directory
23 | Move the screenshoots to save directory
24 | Convert images to JPG
25 | Convert images to JPG for all games screenshots
26 |
27 | Moving the screenshoots...
28 |
29 | Are you sure you want to move all of the screenshots?
30 |
31 |
32 |
33 |
34 | Are you sure to delete {0}?
35 |
36 |
37 |
38 |
39 | Last screenshoot
40 |
41 |
42 |
43 |
44 | Carousel
45 | Show the game name
46 | Randomize all screenshots list
47 | Used thumbnails
48 | Show only the most recent screenshots for each game
49 | Number of screenshots per game
50 | Number of games
51 | Enable auto change
52 | Time (seconds)
53 | Show only favorites games
54 | Only certain sources
55 | Include videos
56 |
57 |
58 |
59 |
60 | ffmpeg path:
61 | ffprobe path:
62 | Download ffmpeg package
63 |
64 | Generate thumbnails to improve loading performance
65 |
66 | Global screenshots path
67 |
68 | Scan sub folders
69 |
70 | Add tag if the game has screenshots
71 | Add Steam game
72 |
73 | Transform number to {digit}
74 |
75 | Display a control with a single screenshot
76 | Display a control with a list of screenshots
77 | Display a control with a list of vertical screenshots
78 | Display a control with a large list of screenshoots
79 | Add border
80 | Add rounded corner
81 |
82 | Single screenshot options
83 |
84 | List of screenshots options
85 |
86 | Hide screenshots infos
87 |
88 | Open on picture selection
89 | Link selection with single screenshot view
90 |
91 | Used a file pattern
92 | Enable move of screenshots in unique folder
93 | File pattern
94 |
95 | Transform to absolute path
96 | Transform to relative path
97 |
98 | JPG quality
99 |
100 | In addition, you can used:
101 | - {DateModified} yyyy-MM-dd
102 | - {DateTimeModified} yyyy-MM-dd HH_mm_ss
103 | - {digit} number(s)
104 |
105 | Example:
106 | GameName_20200107-1 => {Name}_{digit}-{digit}
107 | GameName_2020-01-07 => {Name}_{DateModified}
108 |
109 | Add this folder for all games.
110 |
111 | Example:
112 | {PlayniteDir}\ExtraMetadata\{GameId}\Screenshots
113 |
114 | This option adds a game menu to move all screenshot files to a single folder.
115 | If the {Name} is not included in "Folder", it is automatically added.
116 |
117 | Example:
118 | A game with two screenshot folders:
119 | - {Public}\Screenshots
120 | - {SteamScreenshotsDir}\435790\screenshots
121 |
122 | If you have the unique folder {DropboxFolder}\Screenshots\{Name}, after selecting the option in game menu, all screenshots will be moved to the unique folder according to the "File Pattern" and the link will be upated in plugin data.
123 |
124 |
125 |
126 | Settings is missing to use to move the screenshoots
127 |
128 |
129 |
--------------------------------------------------------------------------------
/source/Localization/fi_FI.xaml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | {0} screenshot
5 | {0} screenshots
6 | {0} video
7 | {0} videos
8 |
9 |
10 | ffmpeg executable was not found
11 | ffprobe executable was not found
12 |
13 |
14 |
15 |
16 | ScreenshotsVisualizer
17 | Screenshots
18 |
19 | Latest
20 |
21 | View game screenshots
22 | Open the screenshots directory
23 | Move the screenshoots to save directory
24 | Convert images to JPG
25 | Convert images to JPG for all games screenshots
26 |
27 | Moving the screenshoots...
28 |
29 | Are you sure you want to move all of the screenshots?
30 |
31 |
32 |
33 |
34 | Are you sure to delete {0}?
35 |
36 |
37 |
38 |
39 | Last screenshoot
40 |
41 |
42 |
43 |
44 | Carousel
45 | Show the game name
46 | Randomize all screenshots list
47 | Used thumbnails
48 | Show only the most recent screenshots for each game
49 | Number of screenshots per game
50 | Number of games
51 | Enable auto change
52 | Time (seconds)
53 | Show only favorites games
54 | Only certain sources
55 | Include videos
56 |
57 |
58 |
59 |
60 | ffmpeg path:
61 | ffprobe path:
62 | Download ffmpeg package
63 |
64 | Generate thumbnails to improve loading performance
65 |
66 | Global screenshots path
67 |
68 | Scan sub folders
69 |
70 | Add tag if the game has screenshots
71 | Add Steam game
72 |
73 | Transform number to {digit}
74 |
75 | Display a control with a single screenshot
76 | Display a control with a list of screenshots
77 | Display a control with a list of vertical screenshots
78 | Display a control with a large list of screenshoots
79 | Add border
80 | Add rounded corner
81 |
82 | Single screenshot options
83 |
84 | List of screenshots options
85 |
86 | Hide screenshots infos
87 |
88 | Open on picture selection
89 | Link selection with single screenshot view
90 |
91 | Used a file pattern
92 | Enable move of screenshots in unique folder
93 | File pattern
94 |
95 | Transform to absolute path
96 | Transform to relative path
97 |
98 | JPG quality
99 |
100 | In addition, you can used:
101 | - {DateModified} yyyy-MM-dd
102 | - {DateTimeModified} yyyy-MM-dd HH_mm_ss
103 | - {digit} number(s)
104 |
105 | Example:
106 | GameName_20200107-1 => {Name}_{digit}-{digit}
107 | GameName_2020-01-07 => {Name}_{DateModified}
108 |
109 | Add this folder for all games.
110 |
111 | Example:
112 | {PlayniteDir}\ExtraMetadata\{GameId}\Screenshots
113 |
114 | This option adds a game menu to move all screenshot files to a single folder.
115 | If the {Name} is not included in "Folder", it is automatically added.
116 |
117 | Example:
118 | A game with two screenshot folders:
119 | - {Public}\Screenshots
120 | - {SteamScreenshotsDir}\435790\screenshots
121 |
122 | If you have the unique folder {DropboxFolder}\Screenshots\{Name}, after selecting the option in game menu, all screenshots will be moved to the unique folder according to the "File Pattern" and the link will be upated in plugin data.
123 |
124 |
125 |
126 | Settings is missing to use to move the screenshoots
127 |
128 |
129 |
--------------------------------------------------------------------------------
/source/Localization/gl_ES.xaml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | {0} screenshot
5 | {0} screenshots
6 | {0} video
7 | {0} videos
8 |
9 |
10 | ffmpeg executable was not found
11 | ffprobe executable was not found
12 |
13 |
14 |
15 |
16 | ScreenshotsVisualizer
17 | Screenshots
18 |
19 | Latest
20 |
21 | View game screenshots
22 | Open the screenshots directory
23 | Move the screenshoots to save directory
24 | Convert images to JPG
25 | Convert images to JPG for all games screenshots
26 |
27 | Moving the screenshoots...
28 |
29 | Are you sure you want to move all of the screenshots?
30 |
31 |
32 |
33 |
34 | Are you sure to delete {0}?
35 |
36 |
37 |
38 |
39 | Last screenshoot
40 |
41 |
42 |
43 |
44 | Carousel
45 | Show the game name
46 | Randomize all screenshots list
47 | Used thumbnails
48 | Show only the most recent screenshots for each game
49 | Number of screenshots per game
50 | Number of games
51 | Enable auto change
52 | Time (seconds)
53 | Show only favorites games
54 | Only certain sources
55 | Include videos
56 |
57 |
58 |
59 |
60 | ffmpeg path:
61 | ffprobe path:
62 | Download ffmpeg package
63 |
64 | Generate thumbnails to improve loading performance
65 |
66 | Global screenshots path
67 |
68 | Scan sub folders
69 |
70 | Add tag if the game has screenshots
71 | Add Steam game
72 |
73 | Transform number to {digit}
74 |
75 | Display a control with a single screenshot
76 | Display a control with a list of screenshots
77 | Display a control with a list of vertical screenshots
78 | Display a control with a large list of screenshoots
79 | Add border
80 | Add rounded corner
81 |
82 | Single screenshot options
83 |
84 | List of screenshots options
85 |
86 | Hide screenshots infos
87 |
88 | Open on picture selection
89 | Link selection with single screenshot view
90 |
91 | Used a file pattern
92 | Enable move of screenshots in unique folder
93 | File pattern
94 |
95 | Transform to absolute path
96 | Transform to relative path
97 |
98 | JPG quality
99 |
100 | In addition, you can used:
101 | - {DateModified} yyyy-MM-dd
102 | - {DateTimeModified} yyyy-MM-dd HH_mm_ss
103 | - {digit} number(s)
104 |
105 | Example:
106 | GameName_20200107-1 => {Name}_{digit}-{digit}
107 | GameName_2020-01-07 => {Name}_{DateModified}
108 |
109 | Add this folder for all games.
110 |
111 | Example:
112 | {PlayniteDir}\ExtraMetadata\{GameId}\Screenshots
113 |
114 | This option adds a game menu to move all screenshot files to a single folder.
115 | If the {Name} is not included in "Folder", it is automatically added.
116 |
117 | Example:
118 | A game with two screenshot folders:
119 | - {Public}\Screenshots
120 | - {SteamScreenshotsDir}\435790\screenshots
121 |
122 | If you have the unique folder {DropboxFolder}\Screenshots\{Name}, after selecting the option in game menu, all screenshots will be moved to the unique folder according to the "File Pattern" and the link will be upated in plugin data.
123 |
124 |
125 |
126 | Settings is missing to use to move the screenshoots
127 |
128 |
129 |
--------------------------------------------------------------------------------
/source/Localization/he_IL.xaml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | {0} screenshot
5 | {0} screenshots
6 | {0} video
7 | {0} videos
8 |
9 |
10 | ffmpeg executable was not found
11 | ffprobe executable was not found
12 |
13 |
14 |
15 |
16 | ScreenshotsVisualizer
17 | Screenshots
18 |
19 | Latest
20 |
21 | View game screenshots
22 | Open the screenshots directory
23 | Move the screenshoots to save directory
24 | Convert images to JPG
25 | Convert images to JPG for all games screenshots
26 |
27 | Moving the screenshoots...
28 |
29 | Are you sure you want to move all of the screenshots?
30 |
31 |
32 |
33 |
34 | Are you sure to delete {0}?
35 |
36 |
37 |
38 |
39 | Last screenshoot
40 |
41 |
42 |
43 |
44 | Carousel
45 | Show the game name
46 | Randomize all screenshots list
47 | Used thumbnails
48 | Show only the most recent screenshots for each game
49 | Number of screenshots per game
50 | Number of games
51 | Enable auto change
52 | Time (seconds)
53 | Show only favorites games
54 | Only certain sources
55 | Include videos
56 |
57 |
58 |
59 |
60 | ffmpeg path:
61 | ffprobe path:
62 | Download ffmpeg package
63 |
64 | Generate thumbnails to improve loading performance
65 |
66 | Global screenshots path
67 |
68 | Scan sub folders
69 |
70 | Add tag if the game has screenshots
71 | Add Steam game
72 |
73 | Transform number to {digit}
74 |
75 | Display a control with a single screenshot
76 | Display a control with a list of screenshots
77 | Display a control with a list of vertical screenshots
78 | Display a control with a large list of screenshoots
79 | Add border
80 | Add rounded corner
81 |
82 | Single screenshot options
83 |
84 | List of screenshots options
85 |
86 | Hide screenshots infos
87 |
88 | Open on picture selection
89 | Link selection with single screenshot view
90 |
91 | Used a file pattern
92 | Enable move of screenshots in unique folder
93 | File pattern
94 |
95 | Transform to absolute path
96 | Transform to relative path
97 |
98 | JPG quality
99 |
100 | In addition, you can used:
101 | - {DateModified} yyyy-MM-dd
102 | - {DateTimeModified} yyyy-MM-dd HH_mm_ss
103 | - {digit} number(s)
104 |
105 | Example:
106 | GameName_20200107-1 => {Name}_{digit}-{digit}
107 | GameName_2020-01-07 => {Name}_{DateModified}
108 |
109 | Add this folder for all games.
110 |
111 | Example:
112 | {PlayniteDir}\ExtraMetadata\{GameId}\Screenshots
113 |
114 | This option adds a game menu to move all screenshot files to a single folder.
115 | If the {Name} is not included in "Folder", it is automatically added.
116 |
117 | Example:
118 | A game with two screenshot folders:
119 | - {Public}\Screenshots
120 | - {SteamScreenshotsDir}\435790\screenshots
121 |
122 | If you have the unique folder {DropboxFolder}\Screenshots\{Name}, after selecting the option in game menu, all screenshots will be moved to the unique folder according to the "File Pattern" and the link will be upated in plugin data.
123 |
124 |
125 |
126 | Settings is missing to use to move the screenshoots
127 |
128 |
129 |
--------------------------------------------------------------------------------
/source/Localization/hr_HR.xaml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | {0} screenshot
5 | {0} screenshots
6 | {0} video
7 | {0} videos
8 |
9 |
10 | ffmpeg executable was not found
11 | ffprobe executable was not found
12 |
13 |
14 |
15 |
16 | ScreenshotsVisualizer
17 | Screenshots
18 |
19 | Latest
20 |
21 | View game screenshots
22 | Open the screenshots directory
23 | Move the screenshoots to save directory
24 | Convert images to JPG
25 | Convert images to JPG for all games screenshots
26 |
27 | Moving the screenshoots...
28 |
29 | Are you sure you want to move all of the screenshots?
30 |
31 |
32 |
33 |
34 | Are you sure to delete {0}?
35 |
36 |
37 |
38 |
39 | Last screenshoot
40 |
41 |
42 |
43 |
44 | Carousel
45 | Show the game name
46 | Randomize all screenshots list
47 | Used thumbnails
48 | Show only the most recent screenshots for each game
49 | Number of screenshots per game
50 | Number of games
51 | Enable auto change
52 | Time (seconds)
53 | Show only favorites games
54 | Only certain sources
55 | Include videos
56 |
57 |
58 |
59 |
60 | ffmpeg path:
61 | ffprobe path:
62 | Download ffmpeg package
63 |
64 | Generate thumbnails to improve loading performance
65 |
66 | Global screenshots path
67 |
68 | Scan sub folders
69 |
70 | Add tag if the game has screenshots
71 | Add Steam game
72 |
73 | Transform number to {digit}
74 |
75 | Display a control with a single screenshot
76 | Display a control with a list of screenshots
77 | Display a control with a list of vertical screenshots
78 | Display a control with a large list of screenshoots
79 | Add border
80 | Add rounded corner
81 |
82 | Single screenshot options
83 |
84 | List of screenshots options
85 |
86 | Hide screenshots infos
87 |
88 | Open on picture selection
89 | Link selection with single screenshot view
90 |
91 | Used a file pattern
92 | Enable move of screenshots in unique folder
93 | File pattern
94 |
95 | Transform to absolute path
96 | Transform to relative path
97 |
98 | JPG quality
99 |
100 | In addition, you can used:
101 | - {DateModified} yyyy-MM-dd
102 | - {DateTimeModified} yyyy-MM-dd HH_mm_ss
103 | - {digit} number(s)
104 |
105 | Example:
106 | GameName_20200107-1 => {Name}_{digit}-{digit}
107 | GameName_2020-01-07 => {Name}_{DateModified}
108 |
109 | Add this folder for all games.
110 |
111 | Example:
112 | {PlayniteDir}\ExtraMetadata\{GameId}\Screenshots
113 |
114 | This option adds a game menu to move all screenshot files to a single folder.
115 | If the {Name} is not included in "Folder", it is automatically added.
116 |
117 | Example:
118 | A game with two screenshot folders:
119 | - {Public}\Screenshots
120 | - {SteamScreenshotsDir}\435790\screenshots
121 |
122 | If you have the unique folder {DropboxFolder}\Screenshots\{Name}, after selecting the option in game menu, all screenshots will be moved to the unique folder according to the "File Pattern" and the link will be upated in plugin data.
123 |
124 |
125 |
126 | Settings is missing to use to move the screenshoots
127 |
128 |
129 |
--------------------------------------------------------------------------------
/source/Localization/id_ID.xaml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | {0} screenshot
5 | {0} screenshots
6 | {0} video
7 | {0} videos
8 |
9 |
10 | ffmpeg executable was not found
11 | ffprobe executable was not found
12 |
13 |
14 |
15 |
16 | ScreenshotsVisualizer
17 | Screenshots
18 |
19 | Latest
20 |
21 | View game screenshots
22 | Open the screenshots directory
23 | Move the screenshoots to save directory
24 | Convert images to JPG
25 | Convert images to JPG for all games screenshots
26 |
27 | Moving the screenshoots...
28 |
29 | Are you sure you want to move all of the screenshots?
30 |
31 |
32 |
33 |
34 | Are you sure to delete {0}?
35 |
36 |
37 |
38 |
39 | Last screenshoot
40 |
41 |
42 |
43 |
44 | Carousel
45 | Show the game name
46 | Randomize all screenshots list
47 | Used thumbnails
48 | Show only the most recent screenshots for each game
49 | Number of screenshots per game
50 | Number of games
51 | Enable auto change
52 | Time (seconds)
53 | Show only favorites games
54 | Only certain sources
55 | Include videos
56 |
57 |
58 |
59 |
60 | ffmpeg path:
61 | ffprobe path:
62 | Download ffmpeg package
63 |
64 | Generate thumbnails to improve loading performance
65 |
66 | Global screenshots path
67 |
68 | Scan sub folders
69 |
70 | Add tag if the game has screenshots
71 | Add Steam game
72 |
73 | Transform number to {digit}
74 |
75 | Display a control with a single screenshot
76 | Display a control with a list of screenshots
77 | Display a control with a list of vertical screenshots
78 | Display a control with a large list of screenshoots
79 | Add border
80 | Add rounded corner
81 |
82 | Single screenshot options
83 |
84 | List of screenshots options
85 |
86 | Hide screenshots infos
87 |
88 | Open on picture selection
89 | Link selection with single screenshot view
90 |
91 | Used a file pattern
92 | Enable move of screenshots in unique folder
93 | File pattern
94 |
95 | Transform to absolute path
96 | Transform to relative path
97 |
98 | JPG quality
99 |
100 | In addition, you can used:
101 | - {DateModified} yyyy-MM-dd
102 | - {DateTimeModified} yyyy-MM-dd HH_mm_ss
103 | - {digit} number(s)
104 |
105 | Example:
106 | GameName_20200107-1 => {Name}_{digit}-{digit}
107 | GameName_2020-01-07 => {Name}_{DateModified}
108 |
109 | Add this folder for all games.
110 |
111 | Example:
112 | {PlayniteDir}\ExtraMetadata\{GameId}\Screenshots
113 |
114 | This option adds a game menu to move all screenshot files to a single folder.
115 | If the {Name} is not included in "Folder", it is automatically added.
116 |
117 | Example:
118 | A game with two screenshot folders:
119 | - {Public}\Screenshots
120 | - {SteamScreenshotsDir}\435790\screenshots
121 |
122 | If you have the unique folder {DropboxFolder}\Screenshots\{Name}, after selecting the option in game menu, all screenshots will be moved to the unique folder according to the "File Pattern" and the link will be upated in plugin data.
123 |
124 |
125 |
126 | Settings is missing to use to move the screenshoots
127 |
128 |
129 |
--------------------------------------------------------------------------------
/source/Localization/ja_JP.xaml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | {0} スクリーンショット
5 | {0} スクリーンショット
6 | {0} 動画
7 | {0} 動画
8 |
9 |
10 | ffmpeg executable was not found
11 | ffprobe executable was not found
12 |
13 |
14 |
15 |
16 | ScreenshotsVisualizer
17 | スクリーンショット
18 |
19 | 最新
20 |
21 | ゲームのスクリーンショットを表示
22 | スクリーンショットのディレクトリを開く
23 | Move the screenshoots to save directory
24 | Convert images to JPG
25 | Convert images to JPG for all games screenshots
26 |
27 | スクリーンショットを移動中...
28 |
29 | Are you sure you want to move all of the screenshots?
30 |
31 |
32 |
33 |
34 | {0} を削除してもよろしいですか?
35 |
36 |
37 |
38 |
39 | 最後のスクリーンショット
40 |
41 |
42 |
43 |
44 | カルーセル
45 | Show the game name
46 | すべてのスクリーンショットリストをランダム化
47 | Used thumbnails
48 | Show only the most recent screenshots for each game
49 | Number of screenshots per game
50 | ゲーム数
51 | 自動変更を有効にする
52 | 時間 (秒)
53 | お気に入りのゲームのみ表示
54 | 特定のソースのみ
55 | 動画を含める
56 |
57 |
58 |
59 |
60 | ffmpeg path:
61 | ffprobe path:
62 | Download ffmpeg package
63 |
64 | サムネイルを生成して読み込みパフォーマンスを向上させる
65 |
66 | グローバルスクリーンショットのパス
67 |
68 | サブフォルダをスキャン
69 |
70 | ゲームにスクリーンショットがある場合はタグを追加
71 | Steam ゲームを追加
72 |
73 | Transform number to {digit}
74 |
75 | Display a control with a single screenshot
76 | Display a control with a list of screenshots
77 | Display a control with a list of vertical screenshots
78 | Display a control with a large list of screenshoots
79 | 外枠を追加
80 | 角丸を追加
81 |
82 | Single screenshot options
83 |
84 | List of screenshots options
85 |
86 | スクリーンショット情報を非表示
87 |
88 | Open on picture selection
89 | Link selection with single screenshot view
90 |
91 | Used a file pattern
92 | Enable move of screenshots in unique folder
93 | ファイルパターン
94 |
95 | 絶対パスに変換
96 | 相対パスに変換
97 |
98 | JPG 品質
99 |
100 | In addition, you can used:
101 | - {DateModified} yyyy-MM-dd
102 | - {DateTimeModified} yyyy-MM-dd HH_mm_ss
103 | - {digit} number(s)
104 |
105 | Example:
106 | GameName_20200107-1 => {Name}_{digit}-{digit}
107 | GameName_2020-01-07 => {Name}_{DateModified}
108 |
109 | Add this folder for all games.
110 |
111 | Example:
112 | {PlayniteDir}\ExtraMetadata\{GameId}\Screenshots
113 |
114 | This option adds a game menu to move all screenshot files to a single folder.
115 | If the {Name} is not included in "Folder", it is automatically added.
116 |
117 | Example:
118 | A game with two screenshot folders:
119 | - {Public}\Screenshots
120 | - {SteamScreenshotsDir}\435790\screenshots
121 |
122 | If you have the unique folder {DropboxFolder}\Screenshots\{Name}, after selecting the option in game menu, all screenshots will be moved to the unique folder according to the "File Pattern" and the link will be upated in plugin data.
123 |
124 |
125 |
126 | Settings is missing to use to move the screenshoots
127 |
128 |
129 |
--------------------------------------------------------------------------------
/source/Localization/ko_KR.xaml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | {0} screenshot
5 | {0} screenshots
6 | {0} video
7 | {0} videos
8 |
9 |
10 | ffmpeg executable was not found
11 | ffprobe executable was not found
12 |
13 |
14 |
15 |
16 | ScreenshotsVisualizer
17 | Screenshots
18 |
19 | Latest
20 |
21 | View game screenshots
22 | Open the screenshots directory
23 | Move the screenshoots to save directory
24 | Convert images to JPG
25 | Convert images to JPG for all games screenshots
26 |
27 | Moving the screenshoots...
28 |
29 | Are you sure you want to move all of the screenshots?
30 |
31 |
32 |
33 |
34 | Are you sure to delete {0}?
35 |
36 |
37 |
38 |
39 | Last screenshoot
40 |
41 |
42 |
43 |
44 | Carousel
45 | Show the game name
46 | Randomize all screenshots list
47 | Used thumbnails
48 | Show only the most recent screenshots for each game
49 | Number of screenshots per game
50 | Number of games
51 | Enable auto change
52 | Time (seconds)
53 | Show only favorites games
54 | Only certain sources
55 | Include videos
56 |
57 |
58 |
59 |
60 | ffmpeg path:
61 | ffprobe path:
62 | Download ffmpeg package
63 |
64 | Generate thumbnails to improve loading performance
65 |
66 | Global screenshots path
67 |
68 | Scan sub folders
69 |
70 | Add tag if the game has screenshots
71 | Add Steam game
72 |
73 | Transform number to {digit}
74 |
75 | Display a control with a single screenshot
76 | Display a control with a list of screenshots
77 | Display a control with a list of vertical screenshots
78 | Display a control with a large list of screenshoots
79 | Add border
80 | Add rounded corner
81 |
82 | Single screenshot options
83 |
84 | List of screenshots options
85 |
86 | Hide screenshots infos
87 |
88 | Open on picture selection
89 | Link selection with single screenshot view
90 |
91 | Used a file pattern
92 | Enable move of screenshots in unique folder
93 | File pattern
94 |
95 | Transform to absolute path
96 | Transform to relative path
97 |
98 | JPG quality
99 |
100 | In addition, you can used:
101 | - {DateModified} yyyy-MM-dd
102 | - {DateTimeModified} yyyy-MM-dd HH_mm_ss
103 | - {digit} number(s)
104 |
105 | Example:
106 | GameName_20200107-1 => {Name}_{digit}-{digit}
107 | GameName_2020-01-07 => {Name}_{DateModified}
108 |
109 | Add this folder for all games.
110 |
111 | Example:
112 | {PlayniteDir}\ExtraMetadata\{GameId}\Screenshots
113 |
114 | This option adds a game menu to move all screenshot files to a single folder.
115 | If the {Name} is not included in "Folder", it is automatically added.
116 |
117 | Example:
118 | A game with two screenshot folders:
119 | - {Public}\Screenshots
120 | - {SteamScreenshotsDir}\435790\screenshots
121 |
122 | If you have the unique folder {DropboxFolder}\Screenshots\{Name}, after selecting the option in game menu, all screenshots will be moved to the unique folder according to the "File Pattern" and the link will be upated in plugin data.
123 |
124 |
125 |
126 | Settings is missing to use to move the screenshoots
127 |
128 |
129 |
--------------------------------------------------------------------------------
/source/Localization/lt_LT.xaml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | {0} screenshot
5 | {0} screenshots
6 | {0} video
7 | {0} videos
8 |
9 |
10 | ffmpeg executable was not found
11 | ffprobe executable was not found
12 |
13 |
14 |
15 |
16 | ScreenshotsVisualizer
17 | Screenshots
18 |
19 | Latest
20 |
21 | View game screenshots
22 | Open the screenshots directory
23 | Move the screenshoots to save directory
24 | Convert images to JPG
25 | Convert images to JPG for all games screenshots
26 |
27 | Moving the screenshoots...
28 |
29 | Are you sure you want to move all of the screenshots?
30 |
31 |
32 |
33 |
34 | Are you sure to delete {0}?
35 |
36 |
37 |
38 |
39 | Last screenshoot
40 |
41 |
42 |
43 |
44 | Carousel
45 | Show the game name
46 | Randomize all screenshots list
47 | Used thumbnails
48 | Show only the most recent screenshots for each game
49 | Number of screenshots per game
50 | Number of games
51 | Enable auto change
52 | Time (seconds)
53 | Show only favorites games
54 | Only certain sources
55 | Include videos
56 |
57 |
58 |
59 |
60 | ffmpeg path:
61 | ffprobe path:
62 | Download ffmpeg package
63 |
64 | Generate thumbnails to improve loading performance
65 |
66 | Global screenshots path
67 |
68 | Scan sub folders
69 |
70 | Add tag if the game has screenshots
71 | Add Steam game
72 |
73 | Transform number to {digit}
74 |
75 | Display a control with a single screenshot
76 | Display a control with a list of screenshots
77 | Display a control with a list of vertical screenshots
78 | Display a control with a large list of screenshoots
79 | Add border
80 | Add rounded corner
81 |
82 | Single screenshot options
83 |
84 | List of screenshots options
85 |
86 | Hide screenshots infos
87 |
88 | Open on picture selection
89 | Link selection with single screenshot view
90 |
91 | Used a file pattern
92 | Enable move of screenshots in unique folder
93 | File pattern
94 |
95 | Transform to absolute path
96 | Transform to relative path
97 |
98 | JPG quality
99 |
100 | In addition, you can used:
101 | - {DateModified} yyyy-MM-dd
102 | - {DateTimeModified} yyyy-MM-dd HH_mm_ss
103 | - {digit} number(s)
104 |
105 | Example:
106 | GameName_20200107-1 => {Name}_{digit}-{digit}
107 | GameName_2020-01-07 => {Name}_{DateModified}
108 |
109 | Add this folder for all games.
110 |
111 | Example:
112 | {PlayniteDir}\ExtraMetadata\{GameId}\Screenshots
113 |
114 | This option adds a game menu to move all screenshot files to a single folder.
115 | If the {Name} is not included in "Folder", it is automatically added.
116 |
117 | Example:
118 | A game with two screenshot folders:
119 | - {Public}\Screenshots
120 | - {SteamScreenshotsDir}\435790\screenshots
121 |
122 | If you have the unique folder {DropboxFolder}\Screenshots\{Name}, after selecting the option in game menu, all screenshots will be moved to the unique folder according to the "File Pattern" and the link will be upated in plugin data.
123 |
124 |
125 |
126 | Settings is missing to use to move the screenshoots
127 |
128 |
129 |
--------------------------------------------------------------------------------
/source/Localization/nl_NL.xaml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | {0} screenshot
5 | {0} screenshots
6 | {0} video
7 | {0} videos
8 |
9 |
10 | ffmpeg executable was not found
11 | ffprobe executable was not found
12 |
13 |
14 |
15 |
16 | ScreenshotsVisualizer
17 | Screenshots
18 |
19 | Latest
20 |
21 | View game screenshots
22 | Open the screenshots directory
23 | Move the screenshoots to save directory
24 | Convert images to JPG
25 | Convert images to JPG for all games screenshots
26 |
27 | Moving the screenshoots...
28 |
29 | Are you sure you want to move all of the screenshots?
30 |
31 |
32 |
33 |
34 | Are you sure to delete {0}?
35 |
36 |
37 |
38 |
39 | Last screenshoot
40 |
41 |
42 |
43 |
44 | Carousel
45 | Show the game name
46 | Randomize all screenshots list
47 | Used thumbnails
48 | Show only the most recent screenshots for each game
49 | Number of screenshots per game
50 | Number of games
51 | Enable auto change
52 | Time (seconds)
53 | Show only favorites games
54 | Only certain sources
55 | Include videos
56 |
57 |
58 |
59 |
60 | ffmpeg path:
61 | ffprobe path:
62 | Download ffmpeg package
63 |
64 | Generate thumbnails to improve loading performance
65 |
66 | Global screenshots path
67 |
68 | Scan sub folders
69 |
70 | Add tag if the game has screenshots
71 | Add Steam game
72 |
73 | Transform number to {digit}
74 |
75 | Display a control with a single screenshot
76 | Display a control with a list of screenshots
77 | Display a control with a list of vertical screenshots
78 | Display a control with a large list of screenshoots
79 | Add border
80 | Add rounded corner
81 |
82 | Single screenshot options
83 |
84 | List of screenshots options
85 |
86 | Hide screenshots infos
87 |
88 | Open on picture selection
89 | Link selection with single screenshot view
90 |
91 | Used a file pattern
92 | Enable move of screenshots in unique folder
93 | File pattern
94 |
95 | Transform to absolute path
96 | Transform to relative path
97 |
98 | JPG quality
99 |
100 | In addition, you can used:
101 | - {DateModified} yyyy-MM-dd
102 | - {DateTimeModified} yyyy-MM-dd HH_mm_ss
103 | - {digit} number(s)
104 |
105 | Example:
106 | GameName_20200107-1 => {Name}_{digit}-{digit}
107 | GameName_2020-01-07 => {Name}_{DateModified}
108 |
109 | Add this folder for all games.
110 |
111 | Example:
112 | {PlayniteDir}\ExtraMetadata\{GameId}\Screenshots
113 |
114 | This option adds a game menu to move all screenshot files to a single folder.
115 | If the {Name} is not included in "Folder", it is automatically added.
116 |
117 | Example:
118 | A game with two screenshot folders:
119 | - {Public}\Screenshots
120 | - {SteamScreenshotsDir}\435790\screenshots
121 |
122 | If you have the unique folder {DropboxFolder}\Screenshots\{Name}, after selecting the option in game menu, all screenshots will be moved to the unique folder according to the "File Pattern" and the link will be upated in plugin data.
123 |
124 |
125 |
126 | Settings is missing to use to move the screenshoots
127 |
128 |
129 |
--------------------------------------------------------------------------------
/source/Localization/zh_CN.xaml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | {0} 张截图
5 | {0} 张截图
6 | {0} 个视频
7 | {0} 个视频
8 |
9 |
10 | ffmpeg executable was not found
11 | ffprobe executable was not found
12 |
13 |
14 |
15 |
16 | 截图可视化-ScreenshotsVisualizer
17 | 截图
18 |
19 | 最新
20 |
21 | 查看游戏截图
22 | 打开截图目录
23 | 将截图移动至保存目录
24 | Convert images to JPG
25 | Convert images to JPG for all games screenshots
26 |
27 | 移动截图...
28 |
29 | 您确定要移动所有屏幕截图吗
30 |
31 |
32 |
33 |
34 | 您确定要删除 {0} 吗
35 |
36 |
37 |
38 |
39 | 上一张截图
40 |
41 |
42 |
43 |
44 | Carousel
45 | Show the game name
46 | Randomize all screenshots list
47 | Used thumbnails
48 | Show only the most recent screenshots for each game
49 | Number of screenshots per game
50 | Number of games
51 | Enable auto change
52 | Time (seconds)
53 | Show only favorites games
54 | Only certain sources
55 | Include videos
56 |
57 |
58 |
59 |
60 | ffmpeg path:
61 | ffprobe path:
62 | Download ffmpeg package
63 |
64 | 生成缩略图以改善加载性能
65 |
66 | 全局截图
67 |
68 | 扫描子文件夹
69 |
70 | 若游戏有截图则添加标签
71 | 添加 Steam 游戏
72 |
73 | 将数字转换为 {digit}
74 |
75 | 显示具有一个单截图的控制
76 | 显示具有一个列表的截图的控制
77 | 显示具有一个列表的纵向截图的控制
78 | Display a control with a large list of screenshoots
79 | 添加边
80 | 添加圆角
81 |
82 | 单截图选项
83 |
84 | 列表截图选项
85 |
86 | 隐藏截图信
87 |
88 | 在图片选择时打
89 | 将所选的链接到单截图视图
90 |
91 | 已使用的文件模式
92 | 启用截图在特殊文件夹的移
93 | 文件模式
94 |
95 | 转换为绝对路径
96 | 转换为相对
97 |
98 | JPG 质量
99 |
100 | 另外,您可使用(y=年,M=月,d=日,H=时,m=分,s=秒):
101 | - {DateModified} yyyy-MM-dd
102 | - {DateTimeModified} yyyy-MM-dd HH_mm_ss
103 | - {digit} 数字
104 |
105 | 例子:
106 | GameName_20200107-1 => {Name}_{digit}-{digit}
107 | GameName_2020-01-07 => {Name}_{DateModified}
108 |
109 | 为所有游戏添加该文件夹。
110 |
111 | 例子:
112 | {PlayniteDir}\ExtraMetadata\{GameId}\Screenshots
113 |
114 | 此选项添加一个游戏菜单,其将所有截图文件移动到单个文件夹。
115 | 如果 {Name} 没有包含在“文件夹”中,它会自动添加。
116 |
117 | 示例:
118 | 某游戏有两个截图文件夹:
119 | - {Public}\Screenshots
120 | - {SteamScreenshotsDir}\435790\screenshots
121 |
122 | 如果您有特殊的文件夹 {DropboxFolder}\Screenshots\{Name},在游戏菜单中选择选项后,所有屏幕截图将根据“文件模式”移动到唯一的文件夹,且链接将被更新到插件数据中。
123 |
124 |
125 |
126 | 缺失用于移动截图的设置
127 |
128 |
129 |
--------------------------------------------------------------------------------
/source/Models/GameScreenshots.cs:
--------------------------------------------------------------------------------
1 | using CommonPluginsShared.Collections;
2 | using System;
3 | using System.Collections.Generic;
4 | using System.Linq;
5 | using System.IO;
6 | using Playnite.SDK.Data;
7 |
8 | namespace ScreenshotsVisualizer.Models
9 | {
10 | public class GameScreenshots : PluginDataBaseGame
11 | {
12 | private List items = new List();
13 | public override List Items { get => items; set => SetValue(ref items, value); }
14 |
15 | public List ScreenshotsFolders { get; set; }
16 |
17 | [DontSerialize]
18 | public bool FoldersExist
19 | {
20 | get
21 | {
22 | foreach(string Folder in ScreenshotsFolders)
23 | {
24 | if (Directory.Exists(Folder))
25 | {
26 | return true;
27 | }
28 | }
29 |
30 | return false;
31 | }
32 | }
33 |
34 | [DontSerialize]
35 | public bool InSettings { get; set; }
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/source/Models/GameSettings.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 | using CommonPluginsStores;
6 | using Playnite.SDK;
7 |
8 | namespace ScreenshotsVisualizer.Models
9 | {
10 | public class GameSettings
11 | {
12 | public Guid Id { get; set; }
13 | public List ScreenshotsFolders { get; set; }
14 |
15 | // TODO TEMP
16 | public bool ScanSubFolders { get; set; }
17 | public bool UsedFilePattern { get; set; }
18 | public string FilePattern { get; set; }
19 | public string ScreenshotsFolder { get; set; }
20 |
21 | public List GetScreenshotsFolders()
22 | {
23 | return ScreenshotsFolders
24 | .Select(x => PlayniteTools.StringExpandWithStores(API.Instance.Database.Games.Get(Id), x.ScreenshotsFolder))
25 | .ToList();
26 | }
27 | }
28 |
29 |
30 | public class FolderSettings
31 | {
32 | public bool ScanSubFolders { get; set; }
33 | public bool UsedFilePattern { get; set; }
34 | public string FilePattern { get; set; }
35 | public string ScreenshotsFolder { get; set; }
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/source/Models/ScreeshotsVisualizeCollection.cs:
--------------------------------------------------------------------------------
1 | using CommonPluginsShared.Collections;
2 | using Playnite.SDK;
3 | using System;
4 | using System.Linq;
5 | using System.Text;
6 |
7 | namespace ScreenshotsVisualizer.Models
8 | {
9 | public class ScreeshotsVisualizeCollection : PluginItemCollection
10 | {
11 | public ScreeshotsVisualizeCollection(string path, GameDatabaseCollection type = GameDatabaseCollection.Uknown) : base(path, type)
12 | {
13 | }
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/source/Models/StartPage/SsvCarouselOptions.cs:
--------------------------------------------------------------------------------
1 | using CommonPluginsShared.Models;
2 | using System;
3 | using System.Collections.Generic;
4 | using System.Linq;
5 | using System.Text;
6 | using System.Threading.Tasks;
7 |
8 | namespace ScreenshotsVisualizer.Models.StartPage
9 | {
10 | public class SsvCarouselOptions : ObservableObject
11 | {
12 | private double margin = 10;
13 | public double Margin { get => margin; set => SetValue(ref margin, value); }
14 |
15 |
16 | private bool enableAllRandom = true;
17 | public bool EnableAllRandom { get => enableAllRandom; set => SetValue(ref enableAllRandom, value); }
18 |
19 | private bool enableLowerRezolution = true;
20 | public bool EnableLowerRezolution { get => enableLowerRezolution; set => SetValue(ref enableLowerRezolution, value); }
21 |
22 | private bool enableAutoChange = true;
23 | public bool EnableAutoChange { get => enableAutoChange; set => SetValue(ref enableAutoChange, value); }
24 |
25 | private int time = 10;
26 | public int Time { get => time; set => SetValue(ref time, value); }
27 |
28 | private int limitPerGame = 10;
29 | public int LimitPerGame { get => limitPerGame; set => SetValue(ref limitPerGame, value); }
30 |
31 | private int limitGame = 0;
32 | public int LimitGame { get => limitGame; set => SetValue(ref limitGame, value); }
33 |
34 | private bool onlyMostRecent = true;
35 | public bool OnlyMostRecent { get => onlyMostRecent; set => SetValue(ref onlyMostRecent, value); }
36 |
37 | private bool onlyFavorite = false;
38 | public bool OnlyFavorite { get => onlyFavorite; set => SetValue(ref onlyFavorite, value); }
39 |
40 | private bool withVideo = false;
41 | public bool WithVideo { get => withVideo; set => SetValue(ref withVideo, value); }
42 |
43 | private bool addGameName = true;
44 | public bool AddGameName { get => addGameName; set => SetValue(ref addGameName, value); }
45 |
46 | private List sourcesList = new List();
47 | public List SourcesList { get => sourcesList; set => SetValue(ref sourcesList, value); }
48 | }
49 | }
50 |
--------------------------------------------------------------------------------
/source/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("ScreenshotsVisualizer")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("")]
12 | [assembly: AssemblyProduct("ScreenshotsVisualizer")]
13 | [assembly: AssemblyCopyright("Copyright © 2019")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Setting ComVisible to false makes the types in this assembly not visible
18 | // to COM components. If you need to access a type in this assembly from
19 | // COM, set the ComVisible attribute to true on that type.
20 | [assembly: ComVisible(false)]
21 |
22 | // The following GUID is for the ID of the typelib if this project is exposed to COM
23 | [assembly: Guid("c6c8276f-91bf-48e5-a1d1-4bee0b493488")]
24 |
25 | // Version information for an assembly consists of the following four values:
26 | //
27 | // Major Version
28 | // Minor Version
29 | // Build Number
30 | // Revision
31 | //
32 | // You can specify all the values or you can default the Build and Revision Numbers
33 | // by using the '*' as shown below:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("1.0.0.0")]
36 | [assembly: AssemblyFileVersion("1.0.0.0")]
--------------------------------------------------------------------------------
/source/ScreenshotsVisualizer.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 12.00
3 | # Visual Studio Version 16
4 | VisualStudioVersion = 16.0.32413.511
5 | MinimumVisualStudioVersion = 10.0.40219.1
6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ScreenshotsVisualizer", "ScreenshotsVisualizer.csproj", "{4FDF1E89-5BC3-4C72-8FDA-0D580E7A5D5F}"
7 | EndProject
8 | Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "CommonPlayniteShared", "playnite-plugincommon\CommonPlayniteShared\CommonPlayniteShared.shproj", "{0D7DBC82-26AF-49AD-8ED5-0E11AA56BCE0}"
9 | EndProject
10 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CommonPluginsResources", "playnite-plugincommon\CommonPluginsResources\CommonPluginsResources.csproj", "{4EFFE926-9C64-4750-A399-F344710EDC09}"
11 | EndProject
12 | Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "CommonPluginsShared", "playnite-plugincommon\CommonPluginsShared\CommonPluginsShared.shproj", "{27E5D35B-F3CE-4A3F-9705-4564674615A5}"
13 | EndProject
14 | Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "CommonPluginsStores", "playnite-plugincommon\CommonPluginsStores\CommonPluginsStores.shproj", "{C066F255-3BFA-4862-A490-09D7933647D4}"
15 | EndProject
16 | Global
17 | GlobalSection(SharedMSBuildProjectFiles) = preSolution
18 | playnite-plugincommon\CommonPlayniteShared\CommonPlayniteShared.projitems*{0d7dbc82-26af-49ad-8ed5-0e11aa56bce0}*SharedItemsImports = 13
19 | playnite-plugincommon\CommonPluginsShared\CommonPluginsShared.projitems*{27e5d35b-f3ce-4a3f-9705-4564674615a5}*SharedItemsImports = 13
20 | playnite-plugincommon\CommonPlayniteShared\CommonPlayniteShared.projitems*{4fdf1e89-5bc3-4c72-8fda-0d580e7a5d5f}*SharedItemsImports = 4
21 | playnite-plugincommon\CommonPluginsShared\CommonPluginsShared.projitems*{4fdf1e89-5bc3-4c72-8fda-0d580e7a5d5f}*SharedItemsImports = 4
22 | playnite-plugincommon\CommonPluginsStores\CommonPluginsStores.projitems*{4fdf1e89-5bc3-4c72-8fda-0d580e7a5d5f}*SharedItemsImports = 4
23 | playnite-plugincommon\CommonPluginsStores\CommonPluginsStores.projitems*{c066f255-3bfa-4862-a490-09d7933647d4}*SharedItemsImports = 13
24 | EndGlobalSection
25 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
26 | Debug|Any CPU = Debug|Any CPU
27 | Debug-Release|Any CPU = Debug-Release|Any CPU
28 | Release|Any CPU = Release|Any CPU
29 | EndGlobalSection
30 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
31 | {4FDF1E89-5BC3-4C72-8FDA-0D580E7A5D5F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
32 | {4FDF1E89-5BC3-4C72-8FDA-0D580E7A5D5F}.Debug|Any CPU.Build.0 = Debug|Any CPU
33 | {4FDF1E89-5BC3-4C72-8FDA-0D580E7A5D5F}.Debug-Release|Any CPU.ActiveCfg = Debug-Release|Any CPU
34 | {4FDF1E89-5BC3-4C72-8FDA-0D580E7A5D5F}.Debug-Release|Any CPU.Build.0 = Debug-Release|Any CPU
35 | {4FDF1E89-5BC3-4C72-8FDA-0D580E7A5D5F}.Release|Any CPU.ActiveCfg = Release|Any CPU
36 | {4FDF1E89-5BC3-4C72-8FDA-0D580E7A5D5F}.Release|Any CPU.Build.0 = Release|Any CPU
37 | {4EFFE926-9C64-4750-A399-F344710EDC09}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
38 | {4EFFE926-9C64-4750-A399-F344710EDC09}.Debug|Any CPU.Build.0 = Debug|Any CPU
39 | {4EFFE926-9C64-4750-A399-F344710EDC09}.Debug-Release|Any CPU.ActiveCfg = Debug-Release|Any CPU
40 | {4EFFE926-9C64-4750-A399-F344710EDC09}.Debug-Release|Any CPU.Build.0 = Debug-Release|Any CPU
41 | {4EFFE926-9C64-4750-A399-F344710EDC09}.Release|Any CPU.ActiveCfg = Release|Any CPU
42 | {4EFFE926-9C64-4750-A399-F344710EDC09}.Release|Any CPU.Build.0 = Release|Any CPU
43 | EndGlobalSection
44 | GlobalSection(SolutionProperties) = preSolution
45 | HideSolutionNode = FALSE
46 | EndGlobalSection
47 | GlobalSection(ExtensibilityGlobals) = postSolution
48 | SolutionGuid = {BF21D3A6-F61C-4C54-9FD9-0C59C570036C}
49 | EndGlobalSection
50 | EndGlobal
51 |
--------------------------------------------------------------------------------
/source/Services/ScreenshotsVisualizerTopPanelItem.cs:
--------------------------------------------------------------------------------
1 | using CommonPluginsShared;
2 | using Playnite.SDK;
3 | using Playnite.SDK.Plugins;
4 | using ScreenshotsVisualizer.Views;
5 | using System;
6 | using System.Collections.Generic;
7 | using System.Linq;
8 | using System.Text;
9 | using System.Threading.Tasks;
10 | using System.Windows;
11 | using System.Windows.Controls;
12 | using System.Windows.Media;
13 |
14 | namespace ScreenshotsVisualizer.Services
15 | {
16 | public class ScreenshotsVisualizerTopPanelItem : TopPanelItem
17 | {
18 | public ScreenshotsVisualizerTopPanelItem(ScreenshotsVisualizer plugin)
19 | {
20 | Icon = new TextBlock
21 | {
22 | Text = "\uea38",
23 | FontSize = 20,
24 | FontFamily = ResourceProvider.GetResource("CommonFont") as FontFamily
25 | };
26 | Title = ResourceProvider.GetString("LOCSsv");
27 | Activated = () =>
28 | {
29 | WindowOptions windowOptions = new WindowOptions
30 | {
31 | ShowMinimizeButton = false,
32 | ShowMaximizeButton = true,
33 | ShowCloseButton = true,
34 | CanBeResizable = true,
35 | Width = 1280,
36 | Height = 740
37 | };
38 |
39 | SsvScreenshotsManager ViewExtension = new SsvScreenshotsManager();
40 | Window windowExtension = PlayniteUiHelper.CreateExtensionWindow(ResourceProvider.GetString("LOCSsv"), ViewExtension, windowOptions);
41 | _ = windowExtension.ShowDialog();
42 | };
43 | Visible = plugin.PluginSettings.Settings.EnableIntegrationButtonHeader;
44 | }
45 | }
46 | }
47 |
--------------------------------------------------------------------------------
/source/Services/ScreenshotsVisualizerViewSidebar.cs:
--------------------------------------------------------------------------------
1 | using CommonPluginsShared.Controls;
2 | using Playnite.SDK;
3 | using Playnite.SDK.Plugins;
4 | using ScreenshotsVisualizer.Views;
5 | using System;
6 | using System.Collections.Generic;
7 | using System.Linq;
8 | using System.Text;
9 | using System.Threading.Tasks;
10 | using System.Windows.Controls;
11 | using System.Windows.Media;
12 |
13 | namespace ScreenshotsVisualizer.Services
14 | {
15 | public class ScreenshotsVisualizerViewSidebar : SidebarItem
16 | {
17 | public ScreenshotsVisualizerViewSidebar(ScreenshotsVisualizer plugin)
18 | {
19 | Type = SiderbarItemType.View;
20 | Title = ResourceProvider.GetString("LOCSsv");
21 | Icon = new TextBlock
22 | {
23 | Text = "\uea38",
24 | FontFamily = ResourceProvider.GetResource("CommonFont") as FontFamily
25 | };
26 | Opened = () =>
27 | {
28 | if (plugin.SidebarItemControl == null)
29 | {
30 | plugin.SidebarItemControl = new SidebarItemControl();
31 | plugin.SidebarItemControl.SetTitle(ResourceProvider.GetString("LOCSsv"));
32 | plugin.SidebarItemControl.AddContent(new SsvScreenshotsManager());
33 | }
34 |
35 | return plugin.SidebarItemControl;
36 | };
37 | Visible = plugin.PluginSettings.Settings.EnableIntegrationButtonSide;
38 | }
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/source/Views/SsvSinglePictureView.xaml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
38 |
39 |
43 |
47 |
48 |
50 |
53 |
54 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
--------------------------------------------------------------------------------
/source/Views/StartPage/SsvCarousel.xaml:
--------------------------------------------------------------------------------
1 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
25 |
26 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
50 |
51 |
56 |
57 |
58 |
69 |
70 |
71 |
72 |
76 |
80 |
81 |
82 |
83 |
--------------------------------------------------------------------------------
/source/Views/StartPage/SsvCarouselSettings.xaml:
--------------------------------------------------------------------------------
1 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
44 |
45 |
46 |
51 |
52 |
55 |
56 |
57 |
63 |
64 |
65 |
70 |
71 |
72 |
77 |
78 |
80 |
81 |
83 |
84 |
86 |
87 |
89 |
90 |
91 |
93 |
94 |
95 |
97 |
98 |
99 |
100 |
101 |
102 |
104 |
105 |
106 |
--------------------------------------------------------------------------------
/source/Views/StartPage/SsvCarouselSettings.xaml.cs:
--------------------------------------------------------------------------------
1 | using ScreenshotsVisualizer.Services;
2 | using System;
3 | using System.Collections.Generic;
4 | using System.Linq;
5 | using System.Text;
6 | using System.Threading.Tasks;
7 | using System.Windows;
8 | using System.Windows.Controls;
9 | using System.Windows.Data;
10 | using System.Windows.Documents;
11 | using System.Windows.Input;
12 | using System.Windows.Media;
13 | using System.Windows.Media.Imaging;
14 | using System.Windows.Navigation;
15 | using System.Windows.Shapes;
16 |
17 | namespace ScreenshotsVisualizer.Views.StartPage
18 | {
19 | ///
20 | /// Logique d'interaction pour SsvCarouselSettings.xaml
21 | ///
22 | public partial class SsvCarouselSettings : UserControl
23 | {
24 | private ScreenshotsVisualizer plugin { get; }
25 | private ScreenshotsVisualizerDatabase PluginDatabase { get; set; } = ScreenshotsVisualizer.PluginDatabase;
26 |
27 |
28 | private List SearchSources = new List();
29 |
30 |
31 | public SsvCarouselSettings(ScreenshotsVisualizer plugin)
32 | {
33 | InitializeComponent();
34 |
35 | this.plugin = plugin;
36 | this.DataContext = PluginDatabase.PluginSettings;
37 |
38 | PluginDatabase.PluginSettings.Settings.ssvCarouselOptions.SourcesList.Where(x => x.IsCheck)?.ForEach(x =>
39 | {
40 | SearchSources.Add(x.Name);
41 | });
42 |
43 | if (SearchSources.Count != 0)
44 | {
45 | FilterSource.Text = string.Join(", ", SearchSources);
46 | }
47 | }
48 |
49 | private void Grid_Unloaded(object sender, RoutedEventArgs e)
50 | {
51 | plugin.SavePluginSettings(PluginDatabase.PluginSettings.Settings);
52 | PluginDatabase.PluginSettings.OnPropertyChanged();
53 | }
54 |
55 | private void ChkSource_Checked(object sender, RoutedEventArgs e)
56 | {
57 | FilterCbSource((CheckBox)sender);
58 | }
59 |
60 | private void ChkSource_Unchecked(object sender, RoutedEventArgs e)
61 | {
62 | FilterCbSource((CheckBox)sender);
63 | }
64 |
65 | private void FilterCbSource(CheckBox sender)
66 | {
67 | FilterSource.Text = string.Empty;
68 |
69 | int idx = PluginDatabase.PluginSettings.Settings.ssvCarouselOptions.SourcesList.FindIndex(x => x.Name == (string)sender.Tag);
70 | if (idx > -1)
71 | {
72 | PluginDatabase.PluginSettings.Settings.ssvCarouselOptions.SourcesList[idx].IsCheck = (bool)sender.IsChecked;
73 | }
74 |
75 | if ((bool)sender.IsChecked)
76 | {
77 | SearchSources.Add((string)sender.Tag);
78 | }
79 | else
80 | {
81 | SearchSources.Remove((string)sender.Tag);
82 | }
83 |
84 | if (SearchSources.Count != 0)
85 | {
86 | FilterSource.Text = string.Join(", ", SearchSources);
87 | }
88 | }
89 | }
90 | }
91 |
--------------------------------------------------------------------------------
/source/extension.yaml:
--------------------------------------------------------------------------------
1 | Id: playnite-screenshotsvisualizer-plugin
2 | Name: ScreenshotsVisualizer
3 | Author: Lacro59
4 | Version: 3.4.1
5 | Module: ScreenshotsVisualizer.dll
6 | Type: GenericPlugin
7 | Icon: icon.png
8 | Links:
9 | - Name: Github
10 | Url: https://github.com/Lacro59/playnite-screenshotsvisualizer-plugin
11 | - Name: Issues Tracker
12 | Url: https://github.com/Lacro59/playnite-screenshotsvisualizer-plugin/issues
13 | - Name: Translate
14 | Url: https://crowdin.com/project/playnite-extensions
15 | - Name: Ko-fi (Tips and Donations)
16 | Url: https://ko-fi.com/lacro59
--------------------------------------------------------------------------------
/source/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Lacro59/playnite-screenshotsvisualizer-plugin/36679566ca58cc3d2aa805a9b25918cf74d2d551/source/icon.png
--------------------------------------------------------------------------------
/source/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------