├── .github ├── FUNDING.yml ├── ISSUE_TEMPLATE │ ├── feature_request.md │ └── bug_report.md └── opencollective.yml ├── .vscode └── settings.json ├── libs └── SimplePsd.dll ├── inno-setup ├── WizardImageFile.bmp ├── WizardImageFile.pdn ├── WizardSmallImageFile.bmp ├── QuickPictureViewer-Setup.exe └── MSIX │ ├── English_get-it-from-MS.png │ ├── 43822ModuleArt.QuickPictureViewer_3.0.4.0_x64__1zwdgyrh74nq4.msix │ └── 43822ModuleArt.QuickPictureViewer_3.1.1.0_x64__1zwdgyrh74nq4.msix ├── quick-picture-viewer ├── resources │ ├── imgs │ │ ├── grip11.png │ │ ├── picture.ico │ │ ├── tile300.png │ │ ├── moduleart16.png │ │ ├── picture128.png │ │ ├── picture16.png │ │ ├── picture24.png │ │ ├── picture256.png │ │ ├── picture32.png │ │ ├── picture48.png │ │ ├── picture512.png │ │ ├── picture64.png │ │ ├── picture96.png │ │ ├── vectors │ │ │ ├── bmp.ai │ │ │ ├── cr2.ai │ │ │ ├── dds.ai │ │ │ ├── dib.ai │ │ │ ├── exif.ai │ │ │ ├── gif.ai │ │ │ ├── jfif.ai │ │ │ ├── jpg.ai │ │ │ ├── png.ai │ │ │ ├── psd.ai │ │ │ ├── rle.ai │ │ │ ├── svg.ai │ │ │ ├── tga.ai │ │ │ ├── tif.ai │ │ │ ├── webp.ai │ │ │ ├── picture.ai │ │ │ └── picture.svg │ │ ├── dark │ │ │ ├── black-about.png │ │ │ ├── black-angle.png │ │ │ ├── black-check.png │ │ │ ├── black-clock.png │ │ │ ├── black-close.png │ │ │ ├── black-copy.png │ │ │ ├── black-crop.png │ │ │ ├── black-cut.png │ │ │ ├── black-edit.png │ │ │ ├── black-erase.png │ │ │ ├── black-exe.png │ │ │ ├── black-fliph.png │ │ │ ├── black-flipv.png │ │ │ ├── black-frame.png │ │ │ ├── black-grid.png │ │ │ ├── black-image.png │ │ │ ├── black-info.png │ │ │ ├── black-line.png │ │ │ ├── black-list.png │ │ │ ├── black-more.png │ │ │ ├── black-next.png │ │ │ ├── black-ontop.png │ │ │ ├── black-open.png │ │ │ ├── black-paint.png │ │ │ ├── black-paste.png │ │ │ ├── black-popup.png │ │ │ ├── black-prev.png │ │ │ ├── black-print.png │ │ │ ├── black-save.png │ │ │ ├── black-show.png │ │ │ ├── black-size.png │ │ │ ├── black-sync.png │ │ │ ├── black-tools.png │ │ │ ├── black-trash.png │ │ │ ├── black-zoom.png │ │ │ ├── black-arrows.png │ │ │ ├── black-degree.png │ │ │ ├── black-desktop.png │ │ │ ├── black-editsel.png │ │ │ ├── black-effects.png │ │ │ ├── black-github.png │ │ │ ├── black-history.png │ │ │ ├── black-imgfile.png │ │ │ ├── black-options.png │ │ │ ├── black-palette.png │ │ │ ├── black-permdel.png │ │ │ ├── black-plugin.png │ │ │ ├── black-restore.png │ │ │ ├── black-rotatel.png │ │ │ ├── black-rotater.png │ │ │ ├── black-saveas.png │ │ │ ├── black-square.png │ │ │ ├── black-toolbar.png │ │ │ ├── black-website.png │ │ │ ├── black-zoomin.png │ │ │ ├── black-zoomout.png │ │ │ ├── black-actualsize.png │ │ │ ├── black-autozoom.png │ │ │ ├── black-bilinear.png │ │ │ ├── black-filtering.png │ │ │ ├── black-fullscreen.png │ │ │ ├── black-miniview.png │ │ │ ├── black-newwindow.png │ │ │ ├── black-picfolder.png │ │ │ ├── black-recursive.png │ │ │ ├── black-selectall.png │ │ │ ├── black-selection.png │ │ │ ├── black-settings.png │ │ │ ├── black-slideshow.png │ │ │ ├── black-statusbar.png │ │ │ └── black-nearest-neighbor.png │ │ ├── file-types │ │ │ ├── bmp.ico │ │ │ ├── bmp16.png │ │ │ ├── bmp24.png │ │ │ ├── bmp32.png │ │ │ ├── bmp48.png │ │ │ ├── bmp64.png │ │ │ ├── bmp96.png │ │ │ ├── cr128.png │ │ │ ├── cr16.png │ │ │ ├── cr2.ico │ │ │ ├── cr24.png │ │ │ ├── cr256.png │ │ │ ├── cr32.png │ │ │ ├── cr48.png │ │ │ ├── cr64.png │ │ │ ├── cr96.png │ │ │ ├── dds.ico │ │ │ ├── dds16.png │ │ │ ├── dds24.png │ │ │ ├── dds32.png │ │ │ ├── dds48.png │ │ │ ├── dds64.png │ │ │ ├── dds96.png │ │ │ ├── dib.ico │ │ │ ├── dib16.png │ │ │ ├── dib24.png │ │ │ ├── dib32.png │ │ │ ├── dib48.png │ │ │ ├── dib64.png │ │ │ ├── dib96.png │ │ │ ├── exif.ico │ │ │ ├── gif.ico │ │ │ ├── gif16.png │ │ │ ├── gif24.png │ │ │ ├── gif32.png │ │ │ ├── gif48.png │ │ │ ├── gif64.png │ │ │ ├── gif96.png │ │ │ ├── jfif.ico │ │ │ ├── jpg.ico │ │ │ ├── jpg16.png │ │ │ ├── jpg24.png │ │ │ ├── jpg32.png │ │ │ ├── jpg48.png │ │ │ ├── jpg64.png │ │ │ ├── jpg96.png │ │ │ ├── png.ico │ │ │ ├── png16.png │ │ │ ├── png24.png │ │ │ ├── png32.png │ │ │ ├── png48.png │ │ │ ├── png64.png │ │ │ ├── png96.png │ │ │ ├── psd.ico │ │ │ ├── psd16.png │ │ │ ├── psd24.png │ │ │ ├── psd32.png │ │ │ ├── psd48.png │ │ │ ├── psd64.png │ │ │ ├── psd96.png │ │ │ ├── rle.ico │ │ │ ├── rle16.png │ │ │ ├── rle24.png │ │ │ ├── rle32.png │ │ │ ├── rle48.png │ │ │ ├── rle64.png │ │ │ ├── rle96.png │ │ │ ├── svg.ico │ │ │ ├── svg16.png │ │ │ ├── svg24.png │ │ │ ├── svg32.png │ │ │ ├── svg48.png │ │ │ ├── svg64.png │ │ │ ├── svg96.png │ │ │ ├── tga.ico │ │ │ ├── tga16.png │ │ │ ├── tga24.png │ │ │ ├── tga32.png │ │ │ ├── tga48.png │ │ │ ├── tga64.png │ │ │ ├── tga96.png │ │ │ ├── tif.ico │ │ │ ├── tif16.png │ │ │ ├── tif24.png │ │ │ ├── tif32.png │ │ │ ├── tif48.png │ │ │ ├── tif64.png │ │ │ ├── tif96.png │ │ │ ├── webp.ico │ │ │ ├── bmp128.png │ │ │ ├── bmp256.png │ │ │ ├── dds128.png │ │ │ ├── dds256.png │ │ │ ├── dib128.png │ │ │ ├── dib256.png │ │ │ ├── exif128.png │ │ │ ├── exif16.png │ │ │ ├── exif24.png │ │ │ ├── exif256.png │ │ │ ├── exif32.png │ │ │ ├── exif48.png │ │ │ ├── exif64.png │ │ │ ├── exif96.png │ │ │ ├── gif128.png │ │ │ ├── gif256.png │ │ │ ├── jfif128.png │ │ │ ├── jfif16.png │ │ │ ├── jfif24.png │ │ │ ├── jfif256.png │ │ │ ├── jfif32.png │ │ │ ├── jfif48.png │ │ │ ├── jfif64.png │ │ │ ├── jfif96.png │ │ │ ├── jpg128.png │ │ │ ├── jpg256.png │ │ │ ├── png128.png │ │ │ ├── png256.png │ │ │ ├── psd128.png │ │ │ ├── psd256.png │ │ │ ├── rle128.png │ │ │ ├── rle256.png │ │ │ ├── svg128.png │ │ │ ├── svg256.png │ │ │ ├── tga128.png │ │ │ ├── tga256.png │ │ │ ├── tif128.png │ │ │ ├── tif256.png │ │ │ ├── webp128.png │ │ │ ├── webp16.png │ │ │ ├── webp24.png │ │ │ ├── webp256.png │ │ │ ├── webp32.png │ │ │ ├── webp48.png │ │ │ ├── webp64.png │ │ │ └── webp96.png │ │ └── light │ │ │ ├── white-copy.png │ │ │ ├── white-crop.png │ │ │ ├── white-cut.png │ │ │ ├── white-edit.png │ │ │ ├── white-exe.png │ │ │ ├── white-grid.png │ │ │ ├── white-info.png │ │ │ ├── white-line.png │ │ │ ├── white-list.png │ │ │ ├── white-more.png │ │ │ ├── white-move.png │ │ │ ├── white-next.png │ │ │ ├── white-open.png │ │ │ ├── white-prev.png │ │ │ ├── white-save.png │ │ │ ├── white-show.png │ │ │ ├── white-size.png │ │ │ ├── white-sync.png │ │ │ ├── white-zoom.png │ │ │ ├── white-about.png │ │ │ ├── white-angle.png │ │ │ ├── white-arrows.png │ │ │ ├── white-check.png │ │ │ ├── white-clock.png │ │ │ ├── white-close.png │ │ │ ├── white-degree.png │ │ │ ├── white-erase.png │ │ │ ├── white-fliph.png │ │ │ ├── white-flipv.png │ │ │ ├── white-frame.png │ │ │ ├── white-image.png │ │ │ ├── white-ontop.png │ │ │ ├── white-paint.png │ │ │ ├── white-paste.png │ │ │ ├── white-plugin.png │ │ │ ├── white-popup.png │ │ │ ├── white-print.png │ │ │ ├── white-saveas.png │ │ │ ├── white-square.png │ │ │ ├── white-tools.png │ │ │ ├── white-trash.png │ │ │ ├── white-zoomin.png │ │ │ ├── white-autozoom.png │ │ │ ├── white-bilinear.png │ │ │ ├── white-desktop.png │ │ │ ├── white-editsel.png │ │ │ ├── white-effects.png │ │ │ ├── white-filtering.png │ │ │ ├── white-history.png │ │ │ ├── white-imgfile.png │ │ │ ├── white-miniview.png │ │ │ ├── white-newwindow.png │ │ │ ├── white-opacity.png │ │ │ ├── white-options.png │ │ │ ├── white-palette.png │ │ │ ├── white-permdel.png │ │ │ ├── white-picfolder.png │ │ │ ├── white-recursive.png │ │ │ ├── white-restore.png │ │ │ ├── white-rotatel.png │ │ │ ├── white-rotater.png │ │ │ ├── white-selectall.png │ │ │ ├── white-selection.png │ │ │ ├── white-settings.png │ │ │ ├── white-slideshow.png │ │ │ ├── white-statusbar.png │ │ │ ├── white-toolbar.png │ │ │ ├── white-warning.png │ │ │ ├── white-website.png │ │ │ ├── white-zoomout.png │ │ │ ├── white-actualsize.png │ │ │ ├── white-fullscreen.png │ │ │ └── white-nearest-neighbor.png │ ├── dlls │ │ ├── SimplePsd.dll │ │ ├── libwebp_x64.dll │ │ └── libwebp_x86.dll │ └── quick-picture-viewer.VisualElementsManifest.xml ├── typewrappers │ ├── system │ │ ├── TypeWrapper.cs │ │ └── FileTypeMan.cs │ ├── BitmapWrapper.cs │ ├── IcoWrapper.cs │ ├── PsdWrapper.cs │ ├── WebpWrapper.cs │ ├── SvgWrapper.cs │ ├── DdsTgaWrapper.cs │ ├── forms │ │ └── SvgOpsForm.cs │ └── engines │ │ └── IcoEngine.cs ├── helpers │ ├── CustomOpenFolderDialog.cs │ ├── ShellManager.cs │ └── CustomJumplist.cs ├── controls │ ├── CustomPanel.cs │ └── QuickPictureBox.cs ├── Program.cs ├── Properties │ ├── AssemblyInfo.cs │ └── Settings.settings ├── forms │ ├── WallpaperForm.cs │ ├── EditSelForm.cs │ ├── AboutForm.cs │ ├── PrintForm.cs │ ├── WallpaperForm.Designer.cs │ ├── InfoForm.cs │ └── PluginManForm.cs ├── app.manifest ├── quick-picture-viewer.csproj └── App.config ├── chocolatey └── quick-picture-viewer │ ├── quick-picture-viewer.3.0.4.nupkg │ ├── tools │ └── chocolateyinstall.ps1 │ └── quick-picture-viewer.nuspec ├── .gitmodules ├── docs └── index.html ├── quick-picture-viewer.sln ├── README.md └── .gitignore /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | open_collective: moduleart 2 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "dotnet.preferCSharpExtension": true 3 | } 4 | -------------------------------------------------------------------------------- /libs/SimplePsd.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/libs/SimplePsd.dll -------------------------------------------------------------------------------- /inno-setup/WizardImageFile.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/inno-setup/WizardImageFile.bmp -------------------------------------------------------------------------------- /inno-setup/WizardImageFile.pdn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/inno-setup/WizardImageFile.pdn -------------------------------------------------------------------------------- /inno-setup/WizardSmallImageFile.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/inno-setup/WizardSmallImageFile.bmp -------------------------------------------------------------------------------- /inno-setup/QuickPictureViewer-Setup.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/inno-setup/QuickPictureViewer-Setup.exe -------------------------------------------------------------------------------- /inno-setup/MSIX/English_get-it-from-MS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/inno-setup/MSIX/English_get-it-from-MS.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/grip11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/grip11.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/picture.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/picture.ico -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/tile300.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/tile300.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/dlls/SimplePsd.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/dlls/SimplePsd.dll -------------------------------------------------------------------------------- /quick-picture-viewer/resources/dlls/libwebp_x64.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/dlls/libwebp_x64.dll -------------------------------------------------------------------------------- /quick-picture-viewer/resources/dlls/libwebp_x86.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/dlls/libwebp_x86.dll -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/moduleart16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/moduleart16.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/picture128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/picture128.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/picture16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/picture16.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/picture24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/picture24.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/picture256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/picture256.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/picture32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/picture32.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/picture48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/picture48.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/picture512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/picture512.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/picture64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/picture64.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/picture96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/picture96.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/vectors/bmp.ai: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/vectors/bmp.ai -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/vectors/cr2.ai: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/vectors/cr2.ai -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/vectors/dds.ai: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/vectors/dds.ai -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/vectors/dib.ai: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/vectors/dib.ai -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/vectors/exif.ai: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/vectors/exif.ai -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/vectors/gif.ai: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/vectors/gif.ai -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/vectors/jfif.ai: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/vectors/jfif.ai -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/vectors/jpg.ai: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/vectors/jpg.ai -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/vectors/png.ai: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/vectors/png.ai -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/vectors/psd.ai: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/vectors/psd.ai -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/vectors/rle.ai: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/vectors/rle.ai -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/vectors/svg.ai: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/vectors/svg.ai -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/vectors/tga.ai: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/vectors/tga.ai -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/vectors/tif.ai: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/vectors/tif.ai -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/vectors/webp.ai: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/vectors/webp.ai -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/dark/black-about.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/dark/black-about.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/dark/black-angle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/dark/black-angle.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/dark/black-check.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/dark/black-check.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/dark/black-clock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/dark/black-clock.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/dark/black-close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/dark/black-close.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/dark/black-copy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/dark/black-copy.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/dark/black-crop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/dark/black-crop.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/dark/black-cut.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/dark/black-cut.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/dark/black-edit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/dark/black-edit.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/dark/black-erase.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/dark/black-erase.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/dark/black-exe.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/dark/black-exe.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/dark/black-fliph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/dark/black-fliph.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/dark/black-flipv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/dark/black-flipv.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/dark/black-frame.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/dark/black-frame.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/dark/black-grid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/dark/black-grid.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/dark/black-image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/dark/black-image.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/dark/black-info.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/dark/black-info.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/dark/black-line.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/dark/black-line.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/dark/black-list.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/dark/black-list.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/dark/black-more.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/dark/black-more.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/dark/black-next.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/dark/black-next.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/dark/black-ontop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/dark/black-ontop.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/dark/black-open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/dark/black-open.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/dark/black-paint.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/dark/black-paint.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/dark/black-paste.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/dark/black-paste.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/dark/black-popup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/dark/black-popup.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/dark/black-prev.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/dark/black-prev.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/dark/black-print.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/dark/black-print.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/dark/black-save.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/dark/black-save.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/dark/black-show.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/dark/black-show.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/dark/black-size.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/dark/black-size.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/dark/black-sync.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/dark/black-sync.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/dark/black-tools.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/dark/black-tools.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/dark/black-trash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/dark/black-trash.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/dark/black-zoom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/dark/black-zoom.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/bmp.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/bmp.ico -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/bmp16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/bmp16.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/bmp24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/bmp24.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/bmp32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/bmp32.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/bmp48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/bmp48.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/bmp64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/bmp64.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/bmp96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/bmp96.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/cr128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/cr128.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/cr16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/cr16.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/cr2.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/cr2.ico -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/cr24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/cr24.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/cr256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/cr256.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/cr32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/cr32.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/cr48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/cr48.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/cr64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/cr64.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/cr96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/cr96.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/dds.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/dds.ico -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/dds16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/dds16.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/dds24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/dds24.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/dds32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/dds32.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/dds48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/dds48.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/dds64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/dds64.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/dds96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/dds96.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/dib.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/dib.ico -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/dib16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/dib16.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/dib24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/dib24.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/dib32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/dib32.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/dib48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/dib48.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/dib64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/dib64.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/dib96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/dib96.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/exif.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/exif.ico -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/gif.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/gif.ico -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/gif16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/gif16.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/gif24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/gif24.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/gif32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/gif32.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/gif48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/gif48.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/gif64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/gif64.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/gif96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/gif96.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/jfif.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/jfif.ico -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/jpg.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/jpg.ico -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/jpg16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/jpg16.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/jpg24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/jpg24.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/jpg32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/jpg32.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/jpg48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/jpg48.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/jpg64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/jpg64.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/jpg96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/jpg96.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/png.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/png.ico -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/png16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/png16.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/png24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/png24.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/png32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/png32.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/png48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/png48.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/png64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/png64.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/png96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/png96.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/psd.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/psd.ico -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/psd16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/psd16.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/psd24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/psd24.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/psd32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/psd32.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/psd48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/psd48.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/psd64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/psd64.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/psd96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/psd96.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/rle.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/rle.ico -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/rle16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/rle16.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/rle24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/rle24.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/rle32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/rle32.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/rle48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/rle48.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/rle64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/rle64.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/rle96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/rle96.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/svg.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/svg.ico -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/svg16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/svg16.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/svg24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/svg24.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/svg32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/svg32.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/svg48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/svg48.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/svg64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/svg64.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/svg96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/svg96.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/tga.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/tga.ico -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/tga16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/tga16.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/tga24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/tga24.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/tga32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/tga32.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/tga48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/tga48.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/tga64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/tga64.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/tga96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/tga96.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/tif.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/tif.ico -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/tif16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/tif16.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/tif24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/tif24.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/tif32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/tif32.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/tif48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/tif48.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/tif64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/tif64.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/tif96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/tif96.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/webp.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/webp.ico -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/light/white-copy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/light/white-copy.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/light/white-crop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/light/white-crop.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/light/white-cut.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/light/white-cut.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/light/white-edit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/light/white-edit.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/light/white-exe.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/light/white-exe.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/light/white-grid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/light/white-grid.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/light/white-info.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/light/white-info.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/light/white-line.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/light/white-line.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/light/white-list.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/light/white-list.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/light/white-more.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/light/white-more.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/light/white-move.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/light/white-move.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/light/white-next.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/light/white-next.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/light/white-open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/light/white-open.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/light/white-prev.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/light/white-prev.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/light/white-save.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/light/white-save.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/light/white-show.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/light/white-show.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/light/white-size.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/light/white-size.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/light/white-sync.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/light/white-sync.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/light/white-zoom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/light/white-zoom.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/vectors/picture.ai: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/vectors/picture.ai -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/dark/black-arrows.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/dark/black-arrows.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/dark/black-degree.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/dark/black-degree.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/dark/black-desktop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/dark/black-desktop.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/dark/black-editsel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/dark/black-editsel.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/dark/black-effects.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/dark/black-effects.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/dark/black-github.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/dark/black-github.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/dark/black-history.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/dark/black-history.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/dark/black-imgfile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/dark/black-imgfile.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/dark/black-options.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/dark/black-options.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/dark/black-palette.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/dark/black-palette.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/dark/black-permdel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/dark/black-permdel.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/dark/black-plugin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/dark/black-plugin.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/dark/black-restore.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/dark/black-restore.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/dark/black-rotatel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/dark/black-rotatel.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/dark/black-rotater.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/dark/black-rotater.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/dark/black-saveas.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/dark/black-saveas.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/dark/black-square.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/dark/black-square.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/dark/black-toolbar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/dark/black-toolbar.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/dark/black-website.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/dark/black-website.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/dark/black-zoomin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/dark/black-zoomin.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/dark/black-zoomout.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/dark/black-zoomout.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/bmp128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/bmp128.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/bmp256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/bmp256.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/dds128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/dds128.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/dds256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/dds256.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/dib128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/dib128.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/dib256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/dib256.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/exif128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/exif128.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/exif16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/exif16.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/exif24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/exif24.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/exif256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/exif256.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/exif32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/exif32.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/exif48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/exif48.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/exif64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/exif64.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/exif96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/exif96.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/gif128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/gif128.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/gif256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/gif256.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/jfif128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/jfif128.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/jfif16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/jfif16.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/jfif24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/jfif24.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/jfif256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/jfif256.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/jfif32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/jfif32.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/jfif48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/jfif48.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/jfif64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/jfif64.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/jfif96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/jfif96.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/jpg128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/jpg128.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/jpg256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/jpg256.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/png128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/png128.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/png256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/png256.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/psd128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/psd128.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/psd256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/psd256.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/rle128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/rle128.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/rle256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/rle256.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/svg128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/svg128.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/svg256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/svg256.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/tga128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/tga128.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/tga256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/tga256.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/tif128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/tif128.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/tif256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/tif256.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/webp128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/webp128.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/webp16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/webp16.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/webp24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/webp24.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/webp256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/webp256.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/webp32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/webp32.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/webp48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/webp48.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/webp64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/webp64.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/file-types/webp96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/file-types/webp96.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/light/white-about.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/light/white-about.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/light/white-angle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/light/white-angle.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/light/white-arrows.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/light/white-arrows.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/light/white-check.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/light/white-check.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/light/white-clock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/light/white-clock.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/light/white-close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/light/white-close.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/light/white-degree.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/light/white-degree.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/light/white-erase.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/light/white-erase.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/light/white-fliph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/light/white-fliph.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/light/white-flipv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/light/white-flipv.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/light/white-frame.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/light/white-frame.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/light/white-image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/light/white-image.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/light/white-ontop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/light/white-ontop.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/light/white-paint.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/light/white-paint.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/light/white-paste.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/light/white-paste.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/light/white-plugin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/light/white-plugin.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/light/white-popup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/light/white-popup.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/light/white-print.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/light/white-print.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/light/white-saveas.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/light/white-saveas.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/light/white-square.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/light/white-square.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/light/white-tools.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/light/white-tools.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/light/white-trash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/light/white-trash.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/light/white-zoomin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/light/white-zoomin.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/dark/black-actualsize.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/dark/black-actualsize.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/dark/black-autozoom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/dark/black-autozoom.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/dark/black-bilinear.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/dark/black-bilinear.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/dark/black-filtering.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/dark/black-filtering.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/dark/black-fullscreen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/dark/black-fullscreen.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/dark/black-miniview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/dark/black-miniview.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/dark/black-newwindow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/dark/black-newwindow.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/dark/black-picfolder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/dark/black-picfolder.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/dark/black-recursive.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/dark/black-recursive.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/dark/black-selectall.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/dark/black-selectall.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/dark/black-selection.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/dark/black-selection.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/dark/black-settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/dark/black-settings.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/dark/black-slideshow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/dark/black-slideshow.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/dark/black-statusbar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/dark/black-statusbar.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/light/white-autozoom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/light/white-autozoom.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/light/white-bilinear.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/light/white-bilinear.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/light/white-desktop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/light/white-desktop.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/light/white-editsel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/light/white-editsel.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/light/white-effects.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/light/white-effects.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/light/white-filtering.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/light/white-filtering.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/light/white-history.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/light/white-history.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/light/white-imgfile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/light/white-imgfile.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/light/white-miniview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/light/white-miniview.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/light/white-newwindow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/light/white-newwindow.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/light/white-opacity.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/light/white-opacity.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/light/white-options.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/light/white-options.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/light/white-palette.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/light/white-palette.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/light/white-permdel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/light/white-permdel.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/light/white-picfolder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/light/white-picfolder.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/light/white-recursive.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/light/white-recursive.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/light/white-restore.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/light/white-restore.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/light/white-rotatel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/light/white-rotatel.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/light/white-rotater.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/light/white-rotater.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/light/white-selectall.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/light/white-selectall.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/light/white-selection.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/light/white-selection.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/light/white-settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/light/white-settings.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/light/white-slideshow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/light/white-slideshow.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/light/white-statusbar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/light/white-statusbar.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/light/white-toolbar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/light/white-toolbar.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/light/white-warning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/light/white-warning.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/light/white-website.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/light/white-website.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/light/white-zoomout.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/light/white-zoomout.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/light/white-actualsize.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/light/white-actualsize.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/light/white-fullscreen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/light/white-fullscreen.png -------------------------------------------------------------------------------- /chocolatey/quick-picture-viewer/quick-picture-viewer.3.0.4.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/chocolatey/quick-picture-viewer/quick-picture-viewer.3.0.4.nupkg -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/dark/black-nearest-neighbor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/dark/black-nearest-neighbor.png -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/light/white-nearest-neighbor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/quick-picture-viewer/resources/imgs/light/white-nearest-neighbor.png -------------------------------------------------------------------------------- /inno-setup/MSIX/43822ModuleArt.QuickPictureViewer_3.0.4.0_x64__1zwdgyrh74nq4.msix: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/inno-setup/MSIX/43822ModuleArt.QuickPictureViewer_3.0.4.0_x64__1zwdgyrh74nq4.msix -------------------------------------------------------------------------------- /inno-setup/MSIX/43822ModuleArt.QuickPictureViewer_3.1.1.0_x64__1zwdgyrh74nq4.msix: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ModuleArt/quick-picture-viewer/HEAD/inno-setup/MSIX/43822ModuleArt.QuickPictureViewer_3.1.1.0_x64__1zwdgyrh74nq4.msix -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "dependencies/quick-library"] 2 | path = dependencies/quick-library 3 | url = https://github.com/ModuleArt/quick-library 4 | [submodule "dependencies/qpv-plugins"] 5 | path = dependencies/qpv-plugins 6 | url = https://github.com/ModuleArt/qpv-plugins -------------------------------------------------------------------------------- /quick-picture-viewer/typewrappers/system/TypeWrapper.cs: -------------------------------------------------------------------------------- 1 | namespace quick_picture_viewer 2 | { 3 | public abstract class TypeWrapper 4 | { 5 | public string TypeName; 6 | public bool ShowTypeOps; 7 | public abstract FileTypeMan.OpenResult Open(string path); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /quick-picture-viewer/resources/quick-picture-viewer.VisualElementsManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | -------------------------------------------------------------------------------- /docs/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 10 | Redirecting... 11 | 12 | 13 |

14 | If you are not redirected automatically, follow this 15 | link. 16 |

17 | 18 | 19 | -------------------------------------------------------------------------------- /quick-picture-viewer/helpers/CustomOpenFolderDialog.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.WindowsAPICodePack.Dialogs; 2 | 3 | namespace quick_picture_viewer 4 | { 5 | class CustomOpenFolderDialog 6 | { 7 | public static string GetFolder(string title) 8 | { 9 | CommonOpenFileDialog dialog = new CommonOpenFileDialog(); 10 | dialog.IsFolderPicker = true; 11 | dialog.Title = title; 12 | if (dialog.ShowDialog() == CommonFileDialogResult.Ok) 13 | { 14 | string p = dialog.FileName; 15 | dialog.Dispose(); 16 | return p; 17 | } 18 | return null; 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /quick-picture-viewer/helpers/ShellManager.cs: -------------------------------------------------------------------------------- 1 | using QuickLibrary; 2 | 3 | namespace quick_picture_viewer 4 | { 5 | public static class ShellManager 6 | { 7 | public static bool ShowFileProperties(string Filename) 8 | { 9 | NativeMan.SHELLEXECUTEINFO info = new NativeMan.SHELLEXECUTEINFO(); 10 | info.cbSize = System.Runtime.InteropServices.Marshal.SizeOf(info); 11 | info.lpVerb = "properties"; 12 | info.lpFile = Filename; 13 | info.nShow = NativeMan.SW_SHOW; 14 | info.fMask = NativeMan.SEE_MASK_INVOKEIDLIST; 15 | return NativeMan.ShellExecuteEx(ref info); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /quick-picture-viewer/typewrappers/BitmapWrapper.cs: -------------------------------------------------------------------------------- 1 | using QuickLibrary; 2 | using System.Drawing; 3 | using System.IO; 4 | 5 | namespace quick_picture_viewer 6 | { 7 | public class BitmapWrapper : TypeWrapper 8 | { 9 | public BitmapWrapper() 10 | { 11 | ShowTypeOps = false; 12 | } 13 | 14 | public override FileTypeMan.OpenResult Open(string path) 15 | { 16 | try 17 | { 18 | return new FileTypeMan.OpenResult 19 | { 20 | Bmp = new Bitmap(path) 21 | }; 22 | } 23 | catch 24 | { 25 | return new FileTypeMan.OpenResult 26 | { 27 | ErrorMessage = LangMan.Get("unable-open-file") + ": " + Path.GetFileName(path) 28 | }; 29 | } 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /chocolatey/quick-picture-viewer/tools/chocolateyinstall.ps1: -------------------------------------------------------------------------------- 1 | $ErrorActionPreference = 'Stop'; 2 | 3 | $packageName= 'quick-picture-viewer' 4 | $toolsDir = "$(Split-Path -parent $MyInvocation.MyCommand.Definition)" 5 | $url = 'https://github.com/ModuleArt/quick-picture-viewer/releases/download/v3.0.4/QuickPictureViewer-Setup.exe' 6 | 7 | $packageArgs = @{ 8 | packageName = $packageName 9 | fileType = 'EXE' 10 | url = $url 11 | validExitCodes= @(0) 12 | silentArgs = '/VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP-' 13 | softwareName = 'quick-picture-viewer' 14 | checksum = 'BA12911B42654B26CDD81714A2220BA3' 15 | checksumType = 'md5' 16 | } 17 | 18 | Install-ChocolateyPackage @packageArgs -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: Suggest an idea for this project 4 | title: "[FEATURE] *title here*" 5 | labels: "\U0001F6E0️feature request" 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Is your feature request related to a problem? Please describe.** 11 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] 12 | 13 | **Describe the solution you'd like** 14 | A clear and concise description of what you want to happen. 15 | 16 | **Describe alternatives you've considered** 17 | A clear and concise description of any alternative solutions or features you've considered. 18 | 19 | **Additional context** 20 | Add any other context or screenshots about the feature request here. 21 | -------------------------------------------------------------------------------- /quick-picture-viewer/typewrappers/IcoWrapper.cs: -------------------------------------------------------------------------------- 1 | using QuickLibrary; 2 | using System.Drawing; 3 | using System.IO; 4 | 5 | namespace quick_picture_viewer 6 | { 7 | public class IcoWrapper : TypeWrapper 8 | { 9 | public IcoWrapper() 10 | { 11 | TypeName = "ICO"; 12 | ShowTypeOps = false; 13 | } 14 | 15 | public override FileTypeMan.OpenResult Open(string path) 16 | { 17 | try 18 | { 19 | return new FileTypeMan.OpenResult 20 | { 21 | Bmp = new Icon(path, 128, 128).ToBitmap() 22 | }; 23 | } 24 | catch 25 | { 26 | return new FileTypeMan.OpenResult 27 | { 28 | ErrorMessage = TypeName + " - " + LangMan.Get("unable-open-file") + ": " + Path.GetFileName(path) 29 | }; 30 | } 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /quick-picture-viewer/helpers/CustomJumplist.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Windows.Shell; 3 | 4 | namespace quick_picture_viewer 5 | { 6 | public class CustomJumplist 7 | { 8 | private JumpList list; 9 | 10 | public CustomJumplist(string newWindowTitle, string newWindowDesc) 11 | { 12 | JumpItem[] jumpItems = { new JumpTask() { 13 | Title = newWindowTitle, 14 | Description = newWindowDesc, 15 | ApplicationPath = Assembly.GetEntryAssembly().Location, 16 | Arguments = "-1", 17 | IconResourcePath = "quick-picture-viewer.exe" 18 | } }; 19 | 20 | list = new JumpList(jumpItems, true, true); 21 | list.Apply(); 22 | } 23 | } 24 | } -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug report 3 | about: Create a report to help us improve 4 | title: "[BUG] *title here*" 5 | labels: "\U0001F41E bug" 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Describe the bug** 11 | A clear and concise description of what the bug is. 12 | 13 | **Info:** 14 | - App version: [e.g. v2.1.0] 15 | - OS: [e.g. Windows 10 1909] 16 | 17 | **To Reproduce** 18 | Steps to reproduce the behavior: 19 | 1. Go to '...' 20 | 2. Click on '....' 21 | 3. Scroll down to '....' 22 | 4. See error 23 | 24 | **Expected behavior** 25 | A clear and concise description of what you expected to happen. 26 | 27 | **Screenshots** 28 | If applicable, add screenshots to help explain your problem. 29 | 30 | **Additional context** 31 | Add any other context about the problem here. 32 | -------------------------------------------------------------------------------- /quick-picture-viewer/controls/CustomPanel.cs: -------------------------------------------------------------------------------- 1 | using System.Windows.Forms; 2 | 3 | namespace quick_picture_viewer 4 | { 5 | class CustomPanel : Panel 6 | { 7 | public CustomPanel() { } 8 | 9 | protected override void OnMouseWheel(MouseEventArgs e) 10 | { 11 | if (VScroll && (ModifierKeys & Keys.Shift) == Keys.Shift && Properties.Settings.Default.MouseWheelScrollAction == 0) 12 | { 13 | VScroll = false; 14 | base.OnMouseWheel(e); 15 | VScroll = true; 16 | } 17 | else if ( 18 | (VScroll && (ModifierKeys & Keys.Control) == Keys.Control) || 19 | Properties.Settings.Default.MouseWheelScrollAction == 1 || 20 | Properties.Settings.Default.MouseWheelScrollAction == 2 21 | ) 22 | { 23 | VScroll = false; 24 | HScroll = false; 25 | base.OnMouseWheel(e); 26 | VScroll = true; 27 | HScroll = true; 28 | } 29 | else 30 | { 31 | base.OnMouseWheel(e); 32 | } 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /quick-picture-viewer/typewrappers/PsdWrapper.cs: -------------------------------------------------------------------------------- 1 | using QuickLibrary; 2 | using SimplePsd; 3 | using System.Drawing; 4 | using System.IO; 5 | 6 | namespace quick_picture_viewer 7 | { 8 | public class PsdWrapper : TypeWrapper 9 | { 10 | public PsdWrapper() 11 | { 12 | TypeName = "PSD"; 13 | ShowTypeOps = false; 14 | } 15 | 16 | public override FileTypeMan.OpenResult Open(string path) 17 | { 18 | try 19 | { 20 | CPSD psd = new CPSD(); 21 | int nResult = psd.Load(path); 22 | switch (nResult) 23 | { 24 | case -1: 25 | return new FileTypeMan.OpenResult 26 | { 27 | ErrorMessage = TypeName + " - " + LangMan.Get("unable-open-file") + ": " + Path.GetFileName(path) 28 | }; 29 | default: 30 | return new FileTypeMan.OpenResult 31 | { 32 | Bmp = Image.FromHbitmap(psd.GetHBitmap()) 33 | }; 34 | } 35 | } 36 | catch 37 | { 38 | return new FileTypeMan.OpenResult 39 | { 40 | ErrorMessage = TypeName + " - " + LangMan.Get("unable-open-file") + ": " + Path.GetFileName(path) 41 | }; 42 | } 43 | } 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /quick-picture-viewer/typewrappers/WebpWrapper.cs: -------------------------------------------------------------------------------- 1 | using QuickLibrary; 2 | using System.Drawing; 3 | using System.IO; 4 | 5 | namespace quick_picture_viewer 6 | { 7 | public class WebpWrapper : TypeWrapper 8 | { 9 | public WebpWrapper() 10 | { 11 | TypeName = "WEBP"; 12 | ShowTypeOps = false; 13 | } 14 | 15 | public override FileTypeMan.OpenResult Open(string path) 16 | { 17 | try 18 | { 19 | byte[] rawWebP = File.ReadAllBytes(path); 20 | using (WebP webp = new WebP()) 21 | { 22 | WebPDecoderOptions decoderOptions = new WebPDecoderOptions(); 23 | decoderOptions.use_threads = 1; 24 | decoderOptions.alpha_dithering_strength = 100; 25 | return new FileTypeMan.OpenResult 26 | { 27 | Bmp = webp.Decode(rawWebP, decoderOptions) 28 | }; 29 | } 30 | } 31 | catch 32 | { 33 | return new FileTypeMan.OpenResult 34 | { 35 | ErrorMessage = TypeName + " - " + LangMan.Get("unable-open-file") + ": " + Path.GetFileName(path) 36 | }; 37 | } 38 | } 39 | 40 | public static void Save(Bitmap bmp, string path) 41 | { 42 | using (WebP webp = new WebP()) webp.Save(bmp, path); 43 | } 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /quick-picture-viewer/Program.cs: -------------------------------------------------------------------------------- 1 | using QuickLibrary; 2 | using System; 3 | using System.Windows.Forms; 4 | 5 | namespace quick_picture_viewer 6 | { 7 | static class Program 8 | { 9 | [STAThread] 10 | static void Main(string[] args) 11 | { 12 | NativeMan.SetProcessDpiAwarenessContext(NativeMan.DPI_AWARENESS_CONTEXT.DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2); 13 | 14 | Application.EnableVisualStyles(); 15 | Application.SetCompatibleTextRenderingDefault(false); 16 | 17 | string param; 18 | if (args.Length > 0) param = args[0] == "-1" ? string.Empty : args[0]; 19 | else param = string.Empty; 20 | 21 | if (Properties.Settings.Default.CallUpgrade) 22 | { 23 | Properties.Settings.Default.Upgrade(); 24 | Properties.Settings.Default.CallUpgrade = false; 25 | Properties.Settings.Default.Save(); 26 | } 27 | 28 | bool darkMode; 29 | int theme = Properties.Settings.Default.Theme; 30 | if (theme == 0) darkMode = ThemeMan.isDarkTheme(); 31 | else if (theme == 1) darkMode = false; 32 | else darkMode = true; 33 | 34 | if (darkMode) ThemeMan.AllowAppDarkMode(true); 35 | 36 | Application.Run(new MainForm(param, darkMode)); 37 | } 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /chocolatey/quick-picture-viewer/quick-picture-viewer.nuspec: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | quick-picture-viewer 5 | 3.0.4 6 | https://github.com/ModuleArt/quick-picture-viewer/tree/master/chocolatey/quick-picture-viewer 7 | Module Art 8 | Quick Picture Viewer 9 | Module Art 10 | https://moduleart.github.io/quickpictureviewer 11 | https://cdn.jsdelivr.net/gh/ModuleArt/quick-picture-viewer@master/quick-picture-viewer/resources/imgs/picture512.png 12 | Copyright © 2021 Module Art 13 | https://github.com/ModuleArt/quick-picture-viewer/blob/master/LICENSE 14 | true 15 | https://github.com/ModuleArt/quick-picture-viewer 16 | https://github.com/ModuleArt/quick-picture-viewer/issues 17 | quick picture viewer image foss lightweight photo editor module art 18 | Lightweight, versatile desktop image viewer for Windows 19 | Lightweight, versatile desktop image viewer for Windows. The best replacement for the default Windows photo viewer. 20 | https://github.com/ModuleArt/quick-picture-viewer/releases 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /quick-picture-viewer/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Resources; 2 | using System.Reflection; 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("Quick Picture Viewer")] 9 | [assembly: AssemblyDescription("Lightweight, versatile desktop image viewer for Windows. The best replacement for the default Windows photo viewer.")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("Module Art")] 12 | [assembly: AssemblyProduct("Quick Picture Viewer")] 13 | [assembly: AssemblyCopyright("Copyright © 2023 Module Art")] 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("53748c49-255e-424b-b789-5919cefef473")] 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("3.1.5")] 36 | [assembly: AssemblyFileVersion("3.1.5")] 37 | [assembly: NeutralResourcesLanguage("en")] -------------------------------------------------------------------------------- /quick-picture-viewer/typewrappers/system/FileTypeMan.cs: -------------------------------------------------------------------------------- 1 | using System.Drawing; 2 | using System.IO; 3 | 4 | namespace quick_picture_viewer 5 | { 6 | public static class FileTypeMan 7 | { 8 | public class OpenResult 9 | { 10 | public string ErrorMessage { get; set; } 11 | public string TypeName { get; set; } 12 | public Bitmap Bmp { get; set; } 13 | public bool ShowTypeOps { get; set; } 14 | } 15 | 16 | public static OpenResult Open(string path, string targetExtension = null) 17 | { 18 | TypeWrapper tw; 19 | switch (targetExtension != null ? targetExtension : Path.GetExtension(path).ToLower()) 20 | { 21 | case ".webp": 22 | tw = new WebpWrapper(); 23 | break; 24 | case ".svg": 25 | tw = new SvgWrapper(); 26 | break; 27 | case ".psd": 28 | tw = new PsdWrapper(); 29 | break; 30 | case ".ico": 31 | tw = new IcoWrapper(); 32 | break; 33 | case ".cr2": 34 | tw = new Cr2Wrapper(); 35 | break; 36 | case ".dds": 37 | case ".tga": 38 | tw = new DdsTgaWrapper(); 39 | break; 40 | default: 41 | tw = new BitmapWrapper(); 42 | break; 43 | } 44 | OpenResult res = tw.Open(path); 45 | if (string.IsNullOrEmpty(res.ErrorMessage)) return new OpenResult 46 | { 47 | ErrorMessage = null, 48 | TypeName = tw.TypeName, 49 | Bmp = res.Bmp, 50 | ShowTypeOps = tw.ShowTypeOps 51 | }; 52 | else return new OpenResult 53 | { 54 | ErrorMessage = res.ErrorMessage, 55 | TypeName = tw.TypeName, 56 | Bmp = null, 57 | ShowTypeOps = false 58 | }; 59 | } 60 | 61 | public static void Save(Bitmap bmp, string path, string format) 62 | { 63 | 64 | } 65 | } 66 | } 67 | -------------------------------------------------------------------------------- /quick-picture-viewer.sln: -------------------------------------------------------------------------------- 1 | 2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio Version 17 4 | VisualStudioVersion = 17.8.34322.80 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "quick-picture-viewer", "quick-picture-viewer\quick-picture-viewer.csproj", "{53748C49-255E-424B-B789-5919CEFEF473}" 7 | EndProject 8 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "QuickLibrary", "dependencies\quick-library\QuickLibrary\QuickLibrary.csproj", "{90F913B5-1B48-4E7B-83AA-21C0946B4F81}" 9 | EndProject 10 | Global 11 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 12 | Debug|Any CPU = Debug|Any CPU 13 | Release|Any CPU = Release|Any CPU 14 | EndGlobalSection 15 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 16 | {53748C49-255E-424B-B789-5919CEFEF473}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 17 | {53748C49-255E-424B-B789-5919CEFEF473}.Debug|Any CPU.Build.0 = Debug|Any CPU 18 | {53748C49-255E-424B-B789-5919CEFEF473}.Release|Any CPU.ActiveCfg = Release|Any CPU 19 | {53748C49-255E-424B-B789-5919CEFEF473}.Release|Any CPU.Build.0 = Release|Any CPU 20 | {90F913B5-1B48-4E7B-83AA-21C0946B4F81}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 21 | {90F913B5-1B48-4E7B-83AA-21C0946B4F81}.Debug|Any CPU.Build.0 = Debug|Any CPU 22 | {90F913B5-1B48-4E7B-83AA-21C0946B4F81}.Release|Any CPU.ActiveCfg = Release|Any CPU 23 | {90F913B5-1B48-4E7B-83AA-21C0946B4F81}.Release|Any CPU.Build.0 = Release|Any CPU 24 | EndGlobalSection 25 | GlobalSection(SolutionProperties) = preSolution 26 | HideSolutionNode = FALSE 27 | EndGlobalSection 28 | GlobalSection(ExtensibilityGlobals) = postSolution 29 | SolutionGuid = {9C6BF78D-3C2A-4EFF-9B91-7A12ECA7865A} 30 | EndGlobalSection 31 | EndGlobal 32 | -------------------------------------------------------------------------------- /quick-picture-viewer/typewrappers/SvgWrapper.cs: -------------------------------------------------------------------------------- 1 | using QuickLibrary; 2 | using Svg; 3 | using System; 4 | using System.Drawing; 5 | using System.IO; 6 | 7 | namespace quick_picture_viewer 8 | { 9 | public class SvgWrapper : TypeWrapper 10 | { 11 | public SvgWrapper() 12 | { 13 | TypeName = "SVG"; 14 | ShowTypeOps = true; 15 | } 16 | 17 | public override FileTypeMan.OpenResult Open(string path) 18 | { 19 | Bitmap bmp = ParseSvg(path); 20 | if (bmp != null) return new FileTypeMan.OpenResult 21 | { 22 | Bmp = bmp 23 | }; 24 | else return new FileTypeMan.OpenResult 25 | { 26 | ErrorMessage = TypeName + " - " + LangMan.Get("unable-open-file") + ": " + Path.GetFileName(path) 27 | }; 28 | } 29 | 30 | public static FileTypeMan.OpenResult CustomSizeOpen(string path, int Width = -1, int Height = -1) 31 | { 32 | Bitmap bmp = ParseSvg(path, Width, Height); 33 | if (bmp != null) return new FileTypeMan.OpenResult 34 | { 35 | Bmp = bmp 36 | }; 37 | else return new FileTypeMan.OpenResult 38 | { 39 | ErrorMessage = "SVG - " + LangMan.Get("unable-open-file") + ": " + Path.GetFileName(path) 40 | }; 41 | } 42 | 43 | private static Bitmap ParseSvg(string path, int Width = -1, int Height = -1) 44 | { 45 | try 46 | { 47 | SvgDocument svgDocument = SvgDocument.Open(path); 48 | svgDocument.ShapeRendering = SvgShapeRendering.Auto; 49 | 50 | if (Width == -1 && Height == -1) 51 | { 52 | Width = Convert.ToInt32(svgDocument.Width.Value); 53 | Height = Convert.ToInt32(svgDocument.Height.Value); 54 | float ratio = (float)Width / (float)Height; 55 | 56 | if (Width < 64) 57 | { 58 | Width = 64; 59 | Height = (int)(Width / ratio); 60 | } 61 | 62 | if (Height < 64) 63 | { 64 | Height = 64; 65 | Width = (int)(Height * ratio); 66 | } 67 | } 68 | return svgDocument.Draw(Width, Height); 69 | } 70 | catch 71 | { 72 | return null; 73 | } 74 | } 75 | } 76 | } 77 | -------------------------------------------------------------------------------- /quick-picture-viewer/typewrappers/DdsTgaWrapper.cs: -------------------------------------------------------------------------------- 1 | using QuickLibrary; 2 | using System.Drawing; 3 | using System.Drawing.Imaging; 4 | using System.IO; 5 | using System.Runtime.InteropServices; 6 | 7 | namespace quick_picture_viewer 8 | { 9 | public class DdsTgaWrapper : TypeWrapper 10 | { 11 | private static GCHandle TmpGcHandle; 12 | 13 | public DdsTgaWrapper() 14 | { 15 | TypeName = "DDS/TGA"; 16 | ShowTypeOps = false; 17 | } 18 | 19 | public override FileTypeMan.OpenResult Open(string path) 20 | { 21 | try 22 | { 23 | using (var image = Pfim.Pfim.FromFile(path)) 24 | { 25 | PixelFormat format; 26 | 27 | switch (image.Format) 28 | { 29 | case Pfim.ImageFormat.Rgba32: 30 | format = PixelFormat.Format32bppArgb; 31 | break; 32 | case Pfim.ImageFormat.Rgb24: 33 | format = PixelFormat.Format24bppRgb; 34 | break; 35 | case Pfim.ImageFormat.Rgba16: 36 | format = PixelFormat.Format16bppArgb1555; 37 | break; 38 | case Pfim.ImageFormat.Rgb8: 39 | format = PixelFormat.Format8bppIndexed; 40 | break; 41 | default: 42 | return new FileTypeMan.OpenResult 43 | { 44 | ErrorMessage = TypeName + " - " + LangMan.Get("unsupported-pixel-format") + ": " + Path.GetFileName(path) 45 | }; 46 | } 47 | 48 | try 49 | { 50 | if (TmpGcHandle != null && TmpGcHandle.IsAllocated) TmpGcHandle.Free(); 51 | TmpGcHandle = GCHandle.Alloc(image.Data, GCHandleType.Pinned); 52 | var data = Marshal.UnsafeAddrOfPinnedArrayElement(image.Data, 0); 53 | 54 | return new FileTypeMan.OpenResult 55 | { 56 | Bmp = new Bitmap(image.Width, image.Height, image.Stride, format, data) 57 | }; 58 | } 59 | catch 60 | { 61 | return new FileTypeMan.OpenResult 62 | { 63 | ErrorMessage = TypeName + " - " + LangMan.Get("memory-error") + ": " + Path.GetFileName(path) 64 | }; 65 | } 66 | } 67 | } 68 | catch 69 | { 70 | return new FileTypeMan.OpenResult 71 | { 72 | ErrorMessage = TypeName + " - " + LangMan.Get("unable-open-file") + ": " + Path.GetFileName(path) 73 | }; 74 | } 75 | } 76 | } 77 | } 78 | -------------------------------------------------------------------------------- /quick-picture-viewer/forms/WallpaperForm.cs: -------------------------------------------------------------------------------- 1 | using QuickLibrary; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Drawing; 5 | using System.Windows.Forms; 6 | 7 | namespace quick_picture_viewer 8 | { 9 | partial class WallpaperForm : QlibFixedForm 10 | { 11 | private Bitmap bmp; 12 | 13 | public WallpaperForm(Bitmap bmp) 14 | { 15 | this.bmp = bmp; 16 | 17 | InitializeComponent(); 18 | SetDraggableControls(new List() { fitLabel }); 19 | } 20 | 21 | private void SetDarkMode(bool dark) 22 | { 23 | if (dark) 24 | { 25 | okButton.BackColor = ThemeMan.DarkSecondColor; 26 | okButton.Image = Properties.Resources.white_desktop; 27 | } 28 | DarkMode = dark; 29 | fitComboBox.DarkMode = dark; 30 | closeBtn.DarkMode = dark; 31 | } 32 | 33 | private void okButton_Click(object sender, EventArgs e) 34 | { 35 | switch (fitComboBox.SelectedIndex) 36 | { 37 | case 2: 38 | WallpaperMan.Set(bmp, WallpaperMan.Style.Stretch); 39 | break; 40 | case 3: 41 | WallpaperMan.Set(bmp, WallpaperMan.Style.Tile); 42 | break; 43 | case 4: 44 | WallpaperMan.Set(bmp, WallpaperMan.Style.Center); 45 | break; 46 | case 0: 47 | WallpaperMan.Set(bmp, WallpaperMan.Style.Fill); 48 | break; 49 | case 1: 50 | WallpaperMan.Set(bmp, WallpaperMan.Style.Fit); 51 | break; 52 | case 5: 53 | WallpaperMan.Set(bmp, WallpaperMan.Style.Span); 54 | break; 55 | } 56 | } 57 | 58 | private void closeBtn_Click(object sender, EventArgs e) 59 | { 60 | Close(); 61 | } 62 | 63 | private void WallpaperForm_Load(object sender, EventArgs e) 64 | { 65 | SetDarkMode(DarkMode); 66 | InitLanguage(); 67 | fitComboBox.SelectedIndex = 0; 68 | } 69 | 70 | private void InitLanguage() 71 | { 72 | Text = LangMan.Get("set-as-desktop-background"); 73 | fitLabel.Text = LangMan.Get("choose-fit") + ":"; 74 | okButton.Text = " " + LangMan.Get("set-background"); 75 | fitComboBox.Items.Add(LangMan.Get("fill")); 76 | fitComboBox.Items.Add(LangMan.Get("fit")); 77 | fitComboBox.Items.Add(LangMan.Get("stretch")); 78 | fitComboBox.Items.Add(LangMan.Get("tile")); 79 | fitComboBox.Items.Add(LangMan.Get("center")); 80 | fitComboBox.Items.Add(LangMan.Get("span")); 81 | infoTooltip.SetToolTip(closeBtn, NativeMan.GetMessageBoxText(NativeMan.DialogBoxCommandID.IDCLOSE) + " | Alt+F4"); 82 | } 83 | } 84 | } 85 | -------------------------------------------------------------------------------- /quick-picture-viewer/forms/EditSelForm.cs: -------------------------------------------------------------------------------- 1 | using QuickLibrary; 2 | using System; 3 | using System.Drawing; 4 | using System.Windows.Forms; 5 | 6 | namespace quick_picture_viewer 7 | { 8 | partial class EditSelForm : QlibFixedForm 9 | { 10 | public EditSelForm(Rectangle r) 11 | { 12 | InitializeComponent(); 13 | SetSelection(r); 14 | } 15 | 16 | public void SetSelection(Rectangle r) 17 | { 18 | if (r.X < xNumeric.Minimum) r.X = (int)xNumeric.Minimum; 19 | if (r.X > xNumeric.Maximum) r.X = (int)xNumeric.Maximum; 20 | xNumeric.Value = r.X; 21 | 22 | if (r.Y < yNumeric.Minimum) r.Y = (int)yNumeric.Minimum; 23 | if (r.Y > yNumeric.Maximum) r.Y = (int)yNumeric.Maximum; 24 | yNumeric.Value = r.Y; 25 | 26 | if (r.Width < widthNumeric.Minimum) r.Width = (int)widthNumeric.Minimum; 27 | if (r.Width > widthNumeric.Maximum) r.Width = (int)widthNumeric.Maximum; 28 | widthNumeric.Value = r.Width; 29 | 30 | if (r.Height < heightNumeric.Minimum) r.Height = (int)heightNumeric.Minimum; 31 | if (r.Height > heightNumeric.Maximum) r.Height = (int)heightNumeric.Maximum; 32 | heightNumeric.Value = r.Height; 33 | } 34 | 35 | private void SetDarkMode(bool dark) 36 | { 37 | if (dark) 38 | { 39 | okButton.BackColor = ThemeMan.DarkSecondColor; 40 | } 41 | DarkMode = dark; 42 | xNumeric.DarkMode = dark; 43 | yNumeric.DarkMode = dark; 44 | widthNumeric.DarkMode = dark; 45 | heightNumeric.DarkMode = dark; 46 | closeBtn.DarkMode = dark; 47 | } 48 | 49 | private void closeBtn_Click(object sender, EventArgs e) 50 | { 51 | Close(); 52 | } 53 | 54 | private void WallpaperForm_Load(object sender, EventArgs e) 55 | { 56 | SetDarkMode(DarkMode); 57 | InitLanguage(); 58 | } 59 | 60 | private void InitLanguage() 61 | { 62 | Text = LangMan.Get("edit-selection"); 63 | widthLabel.Text = LangMan.Get("width") + ":"; 64 | heightLabel.Text = LangMan.Get("height") + ":"; 65 | okButton.Text = NativeMan.GetMessageBoxText(NativeMan.DialogBoxCommandID.IDOK); 66 | infoTooltip.SetToolTip(closeBtn, NativeMan.GetMessageBoxText(NativeMan.DialogBoxCommandID.IDCLOSE) + " | Alt+F4"); 67 | } 68 | 69 | private void xNumeric_ValueChanged(object sender, EventArgs e) 70 | { 71 | if (Owner != null) (Owner as MainForm).SelectSelection( 72 | (int)xNumeric.Value, 73 | (int)yNumeric.Value, 74 | (int)widthNumeric.Value, 75 | (int)heightNumeric.Value 76 | ); 77 | } 78 | } 79 | } 80 | -------------------------------------------------------------------------------- /quick-picture-viewer/controls/QuickPictureBox.cs: -------------------------------------------------------------------------------- 1 | using QuickLibrary; 2 | using System.Drawing; 3 | using System.Drawing.Drawing2D; 4 | using System.Windows.Forms; 5 | 6 | namespace quick_picture_viewer 7 | { 8 | internal class QuickPictureBox : PictureBox 9 | { 10 | private InterpolationMode interpolationMode = InterpolationMode.Default; 11 | 12 | /// 13 | /// Sets the interpolation mode (AKA filtering mode) for the underlying Image 14 | /// 15 | /// Interpolation mode to use 16 | public void SetInterpolationMode(InterpolationMode mode) 17 | { 18 | interpolationMode = mode; 19 | Invalidate(); 20 | } 21 | 22 | public void ApplyCheckerboardBackground(bool apply, bool darkMode = false) 23 | { 24 | if (!apply) 25 | { 26 | BackgroundImage?.Dispose(); 27 | BackgroundImage = null; 28 | return; 29 | } 30 | 31 | Color col = darkMode ? Color.FromArgb(76, 76, 76) : Color.FromArgb(191, 191, 191); 32 | Bitmap bmp = new Bitmap(16, 16); 33 | using (SolidBrush brush = new SolidBrush(col)) 34 | using (Graphics G = Graphics.FromImage(bmp)) 35 | { 36 | G.FillRectangle(brush, 0, 0, 8, 8); 37 | G.FillRectangle(brush, 8, 8, 8, 8); 38 | } 39 | 40 | BackgroundImage = bmp; 41 | BackgroundImageLayout = ImageLayout.Tile; 42 | } 43 | 44 | public void UpdatePictureBoxLocation(Panel picturePanel) 45 | { 46 | int x, y; 47 | 48 | if (Width < picturePanel.Width) x = (int)((double)(picturePanel.Width - Width) / (double)2); 49 | else x = -picturePanel.HorizontalScroll.Value; 50 | 51 | if (Height < picturePanel.Height) y = (int)((double)(picturePanel.Height - Height) / (double)2); 52 | else y = -picturePanel.VerticalScroll.Value; 53 | 54 | Location = new Point(x, y); 55 | 56 | if (picturePanel != null) 57 | { 58 | if (Width > picturePanel.Width && Height > picturePanel.Height) NativeMan.ShowScrollBar(picturePanel.Handle, NativeMan.ScrollBarDirection.SB_BOTH, true); 59 | else if (Width > picturePanel.Width) NativeMan.ShowScrollBar(picturePanel.Handle, NativeMan.ScrollBarDirection.SB_HORZ, true); 60 | else if (Height > picturePanel.Height) NativeMan.ShowScrollBar(picturePanel.Handle, NativeMan.ScrollBarDirection.SB_VERT, true); 61 | else NativeMan.ShowScrollBar(picturePanel.Handle, NativeMan.ScrollBarDirection.SB_BOTH, false); 62 | } 63 | } 64 | 65 | protected override void OnPaint(PaintEventArgs e) 66 | { 67 | // Set the interpolation mode to nearest-neighbor 68 | e.Graphics.InterpolationMode = interpolationMode; 69 | 70 | // Call the base class to draw the image with the specified interpolation mode 71 | base.OnPaint(e); 72 | } 73 | } 74 | } 75 | -------------------------------------------------------------------------------- /quick-picture-viewer/forms/AboutForm.cs: -------------------------------------------------------------------------------- 1 | using QuickLibrary; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Diagnostics; 5 | using System.Reflection; 6 | using System.Windows.Forms; 7 | 8 | namespace quick_picture_viewer 9 | { 10 | partial class AboutForm : QlibFixedForm 11 | { 12 | public AboutForm() 13 | { 14 | InitializeComponent(); 15 | SetDraggableControls(new List() { logoPictureBox, productLabel, versionLabel, copyrightLabel }); 16 | 17 | closeBtn.DarkMode = false; 18 | 19 | string fullVer = Assembly.GetExecutingAssembly().GetName().Version.ToString(); 20 | int lastDotIndex = fullVer.LastIndexOf('.'); 21 | versionLabel.Text = String.Format("v{0}", fullVer.Substring(0, lastDotIndex)); 22 | 23 | if (IntPtr.Size == 4) versionLabel.Text += " (x32)"; 24 | else if (IntPtr.Size == 8) versionLabel.Text += " (x64)"; 25 | 26 | if (ThemeMan.isWindows10()) makeDefaultBtn.Enabled = true; 27 | } 28 | 29 | protected override void OnHandleCreated(EventArgs e) 30 | { 31 | ThemeMan.ApplyDarkTitlebar(Handle, DarkMode); 32 | base.OnHandleCreated(e); 33 | } 34 | 35 | private void closeBtn_Click(object sender, EventArgs e) 36 | { 37 | Close(); 38 | } 39 | 40 | private void AboutForm_Load(object sender, EventArgs e) 41 | { 42 | InitLanguage(); 43 | } 44 | 45 | private void InitLanguage() 46 | { 47 | Text = LangMan.Get("about"); 48 | updatesBtn.Text = " " + LangMan.Get("check-for-app-updates"); 49 | descTextBox.Text = LangMan.Get("app-description"); 50 | makeDefaultBtn.Text = LangMan.Get("set-as-default-image-viewer"); 51 | infoTooltip.SetToolTip(closeBtn, NativeMan.GetMessageBoxText(NativeMan.DialogBoxCommandID.IDCLOSE) + " | Alt+F4"); 52 | } 53 | 54 | private void makeDefaultBtn_Click(object sender, EventArgs e) 55 | { 56 | Process.Start(new ProcessStartInfo 57 | { 58 | UseShellExecute = true, 59 | FileName = "ms-settings:defaultapps" 60 | }); 61 | } 62 | 63 | private void updatesBtn_Click(object sender, EventArgs e) 64 | { 65 | UpdateMan.CheckForUpdates(true, TopMost, Owner.Handle); 66 | Close(); 67 | } 68 | 69 | private void button1_Click(object sender, EventArgs e) 70 | { 71 | Process.Start(new ProcessStartInfo 72 | { 73 | UseShellExecute = true, 74 | FileName = "https://github.com/ModuleArt/quick-picture-viewer/" 75 | }); 76 | } 77 | 78 | private void developerBtn_Click(object sender, EventArgs e) 79 | { 80 | Process.Start(new ProcessStartInfo 81 | { 82 | UseShellExecute = true, 83 | FileName = "https://moduleart.github.io" 84 | }); 85 | } 86 | } 87 | } 88 | -------------------------------------------------------------------------------- /.github/opencollective.yml: -------------------------------------------------------------------------------- 1 | # Collective 2 | # ---------- 3 | 4 | # Define the Open Collective you want to link the repository with. 5 | # Please use the Open Collective slug not the Open Collective URL. 6 | 7 | collective: moduleart 8 | 9 | # Examples 10 | 11 | # collective: webpack 12 | 13 | # Invalid examples 14 | 15 | # collective: https://opencollective.com/webpack 16 | # collective: opencollective.com/webpack 17 | # collective: https://opencollective.com/webpack/contribute/backer-266 18 | 19 | # Invitation 20 | # ---------- 21 | 22 | # Post a comment on issues created by non contributors. 23 | 24 | invitation: |- 25 | Hey :wave:, 26 | 27 | Thank you for opening an issue. We will get back to you as soon as we can. Have you seen our Open Collective page? Please consider contributing financially to our project. This will help us involve more contributors and get to issues like yours faster. 28 | 29 | 30 | 31 | > We offer `priority` support for all financial contributors. Don't forget to add `priority` label once you become one! :smile: 32 | 33 | # To disable that feature, you can use the following syntax 34 | 35 | # invitation: false 36 | 37 | # Tiers 38 | # ----- 39 | 40 | # In this section you can define specific behavior for all supported tiers, ie: "backer" "and sponsor". 41 | 42 | tiers: 43 | # # Uncomment this block if you want to activate a custom comment for people contributors to the "backer" tier 44 | # - tiers: ['backer'] 45 | # labels: ['priority'] 46 | # message: |- 47 | # Hey :wave:, 48 | # 49 | # Thank you for being a "backer". We will handle your issue with priority support. To make sure we don't forget how special you are, we added a `priority` label to your issue. 50 | # 51 | # Thank you again for contributing :tada:! 52 | 53 | # # Uncomment this block if you want to activate a custom commentfor people contributors to the "sponsor" tier 54 | # - tiers: ['sponsor'] 55 | # labels: ['priority'] 56 | # message: |- 57 | # Hey :wave:, 58 | # 59 | # Thank you for being a "sponsor". We will handle your issue with priority support. To make sure we don't forget how special you are, we added a `priority` label to your issue. 60 | # 61 | # Thank you again for contributing :tada:! 62 | 63 | # This rule will be catching any contributor whatever their tiers (also custom contributions) 64 | - tiers: '*' 65 | labels: ['priority'] 66 | message: |- 67 | Hey :wave:, 68 | 69 | Thank you for contributing to our project financially. We will handle your issue with priority support. To make sure we don't forget how special you are, we added a `priority` label to your issue. 70 | 71 | Thank you again for contributing :tada:! 72 | 73 | # To disable that feature, you can use the following syntax 74 | 75 | # tiers: [] 76 | 77 | 78 | -------------------------------------------------------------------------------- /quick-picture-viewer/app.manifest: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 52 | 53 | 54 | 55 | true 56 | PerMonitorV2 57 | 58 | 59 | 60 | 61 | 62 | 76 | 77 | 78 | -------------------------------------------------------------------------------- /quick-picture-viewer/resources/imgs/vectors/picture.svg: -------------------------------------------------------------------------------- 1 | 2 | 17 | 19 | 39 | 41 | 42 | 44 | image/svg+xml 45 | 47 | 48 | 49 | 50 | 51 | 56 | 65 | 69 | 73 | 77 | 81 | 87 | 88 | 89 | -------------------------------------------------------------------------------- /quick-picture-viewer/quick-picture-viewer.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | net8.0-windows 4 | WinExe 5 | quick_picture_viewer 6 | false 7 | publish\ 8 | true 9 | Disk 10 | false 11 | Foreground 12 | 7 13 | Days 14 | false 15 | false 16 | true 17 | 0 18 | 3.1.0.0 19 | false 20 | true 21 | false 22 | true 23 | true 24 | true 25 | 26 | 27 | resources\imgs\picture.ico 28 | 29 | 30 | quick_picture_viewer.Program 31 | 32 | 33 | false 34 | 35 | 36 | 983E1F65674CC0872D02603FEB69F19DA0E62BCA 37 | 38 | 39 | quick-picture-viewer_TemporaryKey.pfx 40 | 41 | 42 | 43 | 44 | 45 | 46 | false 47 | 48 | 49 | app.manifest 50 | 51 | 52 | 53 | Component 54 | 55 | 56 | Component 57 | 58 | 59 | True 60 | True 61 | Settings.settings 62 | 63 | 64 | 65 | 66 | False 67 | Microsoft .NET Framework 4.7.2 %28x86 and x64%29 68 | true 69 | 70 | 71 | False 72 | .NET Framework 3.5 SP1 73 | false 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | ..\libs\SimplePsd.dll 97 | 98 | 99 | 100 | 101 | SettingsSingleFileGenerator 102 | Settings.Designer.cs 103 | 104 | 105 | -------------------------------------------------------------------------------- /quick-picture-viewer/typewrappers/forms/SvgOpsForm.cs: -------------------------------------------------------------------------------- 1 | using QuickLibrary; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.IO; 5 | using System.Windows.Forms; 6 | 7 | namespace quick_picture_viewer 8 | { 9 | public partial class SvgOpsForm : QlibFixedForm 10 | { 11 | private string path; 12 | private double aspectRatio; 13 | private int panelWidth; 14 | private int panelHeight; 15 | 16 | public SvgOpsForm(string path, int imageWidth, int imageHeight, int panelWidth, int panelHeight) 17 | { 18 | this.path = path; 19 | aspectRatio = imageWidth / (double)imageHeight; 20 | this.panelWidth = panelWidth; 21 | this.panelHeight = panelHeight; 22 | 23 | InitializeComponent(); 24 | SetDraggableControls(new List() { presetsLabel, widthLabel, heightLabel }); 25 | 26 | widthNumeric.Value = imageWidth; 27 | heightNumeric.Value = imageHeight; 28 | } 29 | 30 | private void SetDarkMode(bool dark) 31 | { 32 | if (dark) 33 | { 34 | defaultSizeButton.BackColor = ThemeMan.DarkSecondColor; 35 | autoSizeBtn.BackColor = ThemeMan.DarkSecondColor; 36 | size16Button.BackColor = ThemeMan.DarkSecondColor; 37 | size32Button.BackColor = ThemeMan.DarkSecondColor; 38 | size64Button.BackColor = ThemeMan.DarkSecondColor; 39 | size128Button.BackColor = ThemeMan.DarkSecondColor; 40 | size256Button.BackColor = ThemeMan.DarkSecondColor; 41 | size512Button.BackColor = ThemeMan.DarkSecondColor; 42 | 43 | okButton.BackColor = ThemeMan.DarkSecondColor; 44 | okButton.Image = Properties.Resources.white_size; 45 | } 46 | 47 | DarkMode = dark; 48 | widthNumeric.DarkMode = dark; 49 | heightNumeric.DarkMode = dark; 50 | aspectRatioCheckbox.DarkMode = dark; 51 | closeBtn.DarkMode = dark; 52 | } 53 | 54 | private void okButton_Click(object sender, EventArgs e) 55 | { 56 | MainForm mf = Owner as MainForm; 57 | FileTypeMan.OpenResult res = SvgWrapper.CustomSizeOpen(path, (int)widthNumeric.Value, (int)heightNumeric.Value); 58 | if (string.IsNullOrEmpty(res.ErrorMessage)) mf.openImage(res.Bmp, Path.GetDirectoryName(path), Path.GetFileName(path)); 59 | else mf.showSuggestion(res.ErrorMessage, MainForm.SuggestionIcon.Warning); 60 | Close(); 61 | } 62 | 63 | private void widthNumeric_ValueChanged(object sender, EventArgs e) 64 | { 65 | if (aspectRatioCheckbox.Checked) heightNumeric.Value = (decimal)((float)widthNumeric.Value / aspectRatio); 66 | } 67 | 68 | private void heightNumeric_ValueChanged(object sender, EventArgs e) 69 | { 70 | if (aspectRatioCheckbox.Checked) widthNumeric.Value = (decimal)((float)heightNumeric.Value * aspectRatio); 71 | } 72 | 73 | private void size256Button_Click(object sender, EventArgs e) 74 | { 75 | setPreset(256); 76 | } 77 | 78 | private void size512Button_Click(object sender, EventArgs e) 79 | { 80 | setPreset(512); 81 | } 82 | 83 | private void setPreset(int size) 84 | { 85 | widthNumeric.Value = size; 86 | if (!aspectRatioCheckbox.Checked) heightNumeric.Value = size; 87 | } 88 | 89 | private void aspectRatioCheckbox_CheckedChanged(object sender, EventArgs e) 90 | { 91 | if (aspectRatioCheckbox.Checked) aspectRatio = (double)widthNumeric.Value / (double)heightNumeric.Value; 92 | } 93 | 94 | private void defaultSizeButton_Click(object sender, EventArgs e) 95 | { 96 | Svg.SvgDocument svgDocument = Svg.SvgDocument.Open(path); 97 | 98 | int width = Convert.ToInt32(svgDocument.Width.Value); 99 | int height = Convert.ToInt32(svgDocument.Height.Value); 100 | 101 | bool aspectChecked = aspectRatioCheckbox.Checked; 102 | aspectRatioCheckbox.Checked = false; 103 | 104 | widthNumeric.Value = width; 105 | heightNumeric.Value = height; 106 | 107 | aspectRatioCheckbox.Checked = aspectChecked; 108 | } 109 | 110 | private void size64Button_Click(object sender, EventArgs e) 111 | { 112 | setPreset(64); 113 | } 114 | 115 | private void size128Button_Click(object sender, EventArgs e) 116 | { 117 | setPreset(128); 118 | } 119 | 120 | private void size32Button_Click(object sender, EventArgs e) 121 | { 122 | setPreset(32); 123 | } 124 | 125 | private void closeBtn_Click(object sender, EventArgs e) 126 | { 127 | Close(); 128 | } 129 | 130 | private void size16Button_Click(object sender, EventArgs e) 131 | { 132 | setPreset(16); 133 | } 134 | 135 | private void autoSizeBtn_Click(object sender, EventArgs e) 136 | { 137 | double f; 138 | f = panelWidth < panelHeight ? panelWidth : panelHeight; 139 | int k = (int)(8 * (Math.Round(f / 8.0))); 140 | setPreset(k); 141 | } 142 | 143 | private void SvgOpsForm_Load(object sender, EventArgs e) 144 | { 145 | SetDarkMode(DarkMode); 146 | InitLanguage(); 147 | } 148 | 149 | private void InitLanguage() 150 | { 151 | Text = "SVG " + LangMan.Get("type-options"); 152 | presetsLabel.Text = LangMan.Get("presets") + ":"; 153 | widthLabel.Text = LangMan.Get("width") + ":"; 154 | heightLabel.Text = LangMan.Get("height") + ":"; 155 | defaultSizeButton.Text = LangMan.Get("original-size"); 156 | autoSizeBtn.Text = LangMan.Get("auto-size"); 157 | okButton.Text = " " + LangMan.Get("resize-svg"); 158 | aspectRatioCheckbox.Text = LangMan.Get("maintain-aspect-ratio"); 159 | infoTooltip.SetToolTip(closeBtn, NativeMan.GetMessageBoxText(NativeMan.DialogBoxCommandID.IDCLOSE) + " | Alt+F4"); 160 | } 161 | } 162 | } 163 | -------------------------------------------------------------------------------- /quick-picture-viewer/forms/PrintForm.cs: -------------------------------------------------------------------------------- 1 | using QuickLibrary; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Drawing.Printing; 5 | using System.Windows.Forms; 6 | 7 | namespace quick_picture_viewer 8 | { 9 | partial class PrintForm : QlibFixedForm 10 | { 11 | private MainForm owner; 12 | 13 | public PrintForm(PrintDocument pd, string docTitle) 14 | { 15 | InitializeComponent(); 16 | SetDraggableControls(new List() { 17 | printPreviewControl1, 18 | documentLabel, marginsLabel, leftLabel, rightLabel, topLabel, bottomLabel 19 | }); 20 | 21 | leftMarginTextBox.Value = pd.DefaultPageSettings.Margins.Left; 22 | topMarginTextBox.Value = pd.DefaultPageSettings.Margins.Top; 23 | rightMarginTextBox.Value = pd.DefaultPageSettings.Margins.Right; 24 | bottomMarginTextBox.Value = pd.DefaultPageSettings.Margins.Bottom; 25 | 26 | printPreviewControl1.Document = pd; 27 | 28 | titleTextBox.Text = docTitle; 29 | } 30 | 31 | private void SetDarkMode(bool dark) 32 | { 33 | if (dark) 34 | { 35 | ThemeMan.setDarkModeToControl(printPreviewControl1.Handle); 36 | 37 | okButton.BackColor = ThemeMan.DarkSecondColor; 38 | okButton.Image = Properties.Resources.white_print; 39 | 40 | printPreviewControl1.BackColor = ThemeMan.DarkBackColor; 41 | 42 | okButton.BackColor = ThemeMan.DarkSecondColor; 43 | okButton.Image = Properties.Resources.white_print; 44 | 45 | setMarginsButton.BackColor = ThemeMan.DarkSecondColor; 46 | } 47 | 48 | DarkMode = dark; 49 | marginsCheckBox.DarkMode = dark; 50 | horizontalCheckBox.DarkMode = dark; 51 | centerCheckbox.DarkMode = dark; 52 | closeBtn.DarkMode = dark; 53 | rightMarginTextBox.DarkMode = dark; 54 | leftMarginTextBox.DarkMode = dark; 55 | topMarginTextBox.DarkMode = dark; 56 | bottomMarginTextBox.DarkMode = dark; 57 | titleTextBox.DarkMode = dark; 58 | } 59 | 60 | private void marginsCheckBox_CheckedChanged(object sender, EventArgs e) 61 | { 62 | printPreviewControl1.Document.OriginAtMargins = marginsCheckBox.Checked; 63 | printPreviewControl1.InvalidatePreview(); 64 | 65 | leftMarginTextBox.Enabled = marginsCheckBox.Checked; 66 | topMarginTextBox.Enabled = marginsCheckBox.Checked; 67 | rightMarginTextBox.Enabled = marginsCheckBox.Checked; 68 | bottomMarginTextBox.Enabled = marginsCheckBox.Checked; 69 | 70 | setMarginsButton.Visible = marginsCheckBox.Checked; 71 | } 72 | 73 | private void horizontalCheckBox_CheckedChanged(object sender, EventArgs e) 74 | { 75 | printPreviewControl1.Document.DefaultPageSettings.Landscape = horizontalCheckBox.Checked; 76 | printPreviewControl1.InvalidatePreview(); 77 | } 78 | 79 | private void okButton_Click(object sender, EventArgs e) 80 | { 81 | printPreviewControl1.Document.DocumentName = titleTextBox.Text; 82 | printPreviewControl1.Document.PrinterSettings.PrintFileName = titleTextBox.Text; 83 | DialogResult = DialogResult.OK; 84 | } 85 | 86 | private void centerCheckbox_CheckedChanged(object sender, EventArgs e) 87 | { 88 | owner.printCenterImage = centerCheckbox.Checked; 89 | printPreviewControl1.InvalidatePreview(); 90 | } 91 | 92 | private void setMarginsButton_Click(object sender, EventArgs e) 93 | { 94 | try 95 | { 96 | printPreviewControl1.Document.DefaultPageSettings.Margins.Left = Convert.ToInt32(leftMarginTextBox.Value); 97 | printPreviewControl1.Document.DefaultPageSettings.Margins.Top = Convert.ToInt32(topMarginTextBox.Value); 98 | printPreviewControl1.Document.DefaultPageSettings.Margins.Right = Convert.ToInt32(rightMarginTextBox.Value); 99 | printPreviewControl1.Document.DefaultPageSettings.Margins.Bottom = Convert.ToInt32(bottomMarginTextBox.Value); 100 | printPreviewControl1.InvalidatePreview(); 101 | } 102 | catch 103 | { 104 | DialogMan.ShowInfo( 105 | this, 106 | LangMan.Get("plugin-not-found"), 107 | LangMan.Get("print-margins-error"), 108 | DarkMode, 109 | TopMost 110 | ); 111 | } 112 | } 113 | 114 | private void setMarginsButton_EnabledChanged(object sender, EventArgs e) 115 | { 116 | if (DarkMode) 117 | { 118 | Button btn = (Button)sender; 119 | 120 | if (btn.Enabled) btn.BackColor = ThemeMan.DarkSecondColor; 121 | else btn.BackColor = ThemeMan.DarkSecondColor; 122 | } 123 | } 124 | 125 | private void PrintForm_Load(object sender, EventArgs e) 126 | { 127 | owner = Owner as MainForm; 128 | 129 | centerCheckbox.Checked = owner.printCenterImage; 130 | marginsCheckBox.Checked = printPreviewControl1.Document.OriginAtMargins; 131 | horizontalCheckBox.Checked = printPreviewControl1.Document.DefaultPageSettings.Landscape; 132 | 133 | SetDarkMode(DarkMode); 134 | InitLanguage(); 135 | } 136 | 137 | private void InitLanguage() 138 | { 139 | Text = LangMan.Get("print-conf"); 140 | setMarginsButton.Text = LangMan.Get("set-margins-btn"); 141 | okButton.Text = LangMan.Get("print"); 142 | leftLabel.Text = LangMan.Get("left") + ":"; 143 | rightLabel.Text = LangMan.Get("right") + ":"; 144 | topLabel.Text = LangMan.Get("top") + ":"; 145 | bottomLabel.Text = LangMan.Get("bottom") + ":"; 146 | documentLabel.Text = LangMan.Get("title") + ":"; 147 | centerCheckbox.Text = LangMan.Get("center-image"); 148 | horizontalCheckBox.Text = LangMan.Get("landscape-orientation"); 149 | marginsLabel.Text = LangMan.Get("margins") + ":"; 150 | marginsCheckBox.Text = LangMan.Get("margin-bounds"); 151 | infoTooltip.SetToolTip(closeBtn, NativeMan.GetMessageBoxText(NativeMan.DialogBoxCommandID.IDCLOSE) + " | Alt+F4"); 152 | } 153 | 154 | private void closeBtn_Click(object sender, EventArgs e) 155 | { 156 | Close(); 157 | } 158 | } 159 | } 160 | -------------------------------------------------------------------------------- /quick-picture-viewer/forms/WallpaperForm.Designer.cs: -------------------------------------------------------------------------------- 1 | namespace quick_picture_viewer 2 | { 3 | partial class WallpaperForm 4 | { 5 | /// 6 | /// Required designer variable. 7 | /// 8 | private System.ComponentModel.IContainer components = null; 9 | 10 | /// 11 | /// Clean up any resources being used. 12 | /// 13 | protected override void Dispose(bool disposing) 14 | { 15 | if (disposing && (components != null)) 16 | { 17 | components.Dispose(); 18 | } 19 | base.Dispose(disposing); 20 | } 21 | 22 | #region Windows Form Designer generated code 23 | 24 | /// 25 | /// Required method for Designer support - do not modify 26 | /// the contents of this method with the code editor. 27 | /// 28 | private void InitializeComponent() 29 | { 30 | this.components = new System.ComponentModel.Container(); 31 | System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(WallpaperForm)); 32 | this.okButton = new System.Windows.Forms.Button(); 33 | this.closeBtn = new QuickLibrary.QlibTitlebarButton(); 34 | this.fitLabel = new System.Windows.Forms.Label(); 35 | this.fitComboBox = new QuickLibrary.QlibComboBox(); 36 | this.infoTooltip = new System.Windows.Forms.ToolTip(this.components); 37 | this.SuspendLayout(); 38 | // 39 | // okButton 40 | // 41 | this.okButton.BackColor = System.Drawing.SystemColors.ControlLight; 42 | this.okButton.DialogResult = System.Windows.Forms.DialogResult.Cancel; 43 | this.okButton.FlatAppearance.BorderSize = 0; 44 | this.okButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat; 45 | this.okButton.Image = ((System.Drawing.Image)(resources.GetObject("okButton.Image"))); 46 | this.okButton.Location = new System.Drawing.Point(10, 113); 47 | this.okButton.Margin = new System.Windows.Forms.Padding(0, 10, 0, 0); 48 | this.okButton.Name = "okButton"; 49 | this.okButton.Size = new System.Drawing.Size(300, 32); 50 | this.okButton.TabIndex = 1; 51 | this.okButton.Text = " set background"; 52 | this.okButton.TextAlign = System.Drawing.ContentAlignment.MiddleRight; 53 | this.okButton.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText; 54 | this.okButton.UseVisualStyleBackColor = false; 55 | this.okButton.Click += new System.EventHandler(this.okButton_Click); 56 | // 57 | // closeBtn 58 | // 59 | this.closeBtn.DarkImage = global::quick_picture_viewer.Properties.Resources.black_close; 60 | this.closeBtn.DarkMode = false; 61 | this.closeBtn.FlatAppearance.BorderSize = 0; 62 | this.closeBtn.FlatAppearance.MouseDownBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(140)))), ((int)(((byte)(140)))), ((int)(((byte)(140))))); 63 | this.closeBtn.FlatAppearance.MouseOverBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(204)))), ((int)(((byte)(204)))), ((int)(((byte)(204))))); 64 | this.closeBtn.FlatStyle = System.Windows.Forms.FlatStyle.Flat; 65 | this.closeBtn.ForeColor = System.Drawing.Color.Black; 66 | this.closeBtn.Image = global::quick_picture_viewer.Properties.Resources.black_close; 67 | this.closeBtn.IsRed = true; 68 | this.closeBtn.LightImage = global::quick_picture_viewer.Properties.Resources.white_close; 69 | this.closeBtn.Location = new System.Drawing.Point(288, 0); 70 | this.closeBtn.Margin = new System.Windows.Forms.Padding(0); 71 | this.closeBtn.Name = "closeBtn"; 72 | this.closeBtn.Size = new System.Drawing.Size(32, 32); 73 | this.closeBtn.TabIndex = 2; 74 | this.closeBtn.UseVisualStyleBackColor = true; 75 | this.closeBtn.Click += new System.EventHandler(this.closeBtn_Click); 76 | // 77 | // fitLabel 78 | // 79 | this.fitLabel.AutoSize = true; 80 | this.fitLabel.Location = new System.Drawing.Point(10, 42); 81 | this.fitLabel.Margin = new System.Windows.Forms.Padding(0, 10, 0, 10); 82 | this.fitLabel.Name = "fitLabel"; 83 | this.fitLabel.Size = new System.Drawing.Size(82, 19); 84 | this.fitLabel.TabIndex = 15; 85 | this.fitLabel.Text = "choose a fit:"; 86 | // 87 | // fitComboBox 88 | // 89 | this.fitComboBox.BackColor = System.Drawing.SystemColors.ControlLight; 90 | this.fitComboBox.CausesValidation = false; 91 | this.fitComboBox.DarkMode = false; 92 | this.fitComboBox.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed; 93 | this.fitComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; 94 | this.fitComboBox.FlatStyle = System.Windows.Forms.FlatStyle.Flat; 95 | this.fitComboBox.Font = new System.Drawing.Font("Segoe UI", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); 96 | this.fitComboBox.ForeColor = System.Drawing.Color.Black; 97 | this.fitComboBox.FormattingEnabled = true; 98 | this.fitComboBox.IntegralHeight = false; 99 | this.fitComboBox.ItemHeight = 26; 100 | this.fitComboBox.Location = new System.Drawing.Point(10, 71); 101 | this.fitComboBox.Margin = new System.Windows.Forms.Padding(0); 102 | this.fitComboBox.Name = "fitComboBox"; 103 | this.fitComboBox.RightToLeft = System.Windows.Forms.RightToLeft.No; 104 | this.fitComboBox.Size = new System.Drawing.Size(300, 32); 105 | this.fitComboBox.TabIndex = 0; 106 | // 107 | // WallpaperForm 108 | // 109 | this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F); 110 | this.ClientSize = new System.Drawing.Size(320, 155); 111 | this.Controls.Add(this.closeBtn); 112 | this.Controls.Add(this.fitLabel); 113 | this.Controls.Add(this.fitComboBox); 114 | this.Controls.Add(this.okButton); 115 | this.Draggable = true; 116 | this.EscToClose = true; 117 | this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); 118 | this.MaximizeBox = false; 119 | this.MinimizeBox = false; 120 | this.Name = "WallpaperForm"; 121 | this.ShowIcon = false; 122 | this.ShowInTaskbar = false; 123 | this.ShowTitle = true; 124 | this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; 125 | this.Text = "WallpaperForm"; 126 | this.Load += new System.EventHandler(this.WallpaperForm_Load); 127 | this.ResumeLayout(false); 128 | this.PerformLayout(); 129 | 130 | } 131 | 132 | #endregion 133 | private System.Windows.Forms.Button okButton; 134 | private QuickLibrary.QlibComboBox fitComboBox; 135 | private System.Windows.Forms.Label fitLabel; 136 | private System.Windows.Forms.ToolTip infoTooltip; 137 | private QuickLibrary.QlibTitlebarButton closeBtn; 138 | } 139 | } 140 | -------------------------------------------------------------------------------- /quick-picture-viewer/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | False 7 | 8 | 9 | False 10 | 11 | 12 | True 13 | 14 | 15 | 0 16 | 17 | 18 | False 19 | 20 | 21 | False 22 | 23 | 24 | C:\Windows\System32\mspaint.exe 25 | 26 | 27 | 28 | 29 | 30 | 5 31 | 32 | 33 | False 34 | 35 | 36 | 37 | 38 | 39 | True 40 | 41 | 42 | 1 43 | 44 | 45 | False 46 | 47 | 48 | True 49 | 50 | 51 | 700, 485 52 | 53 | 54 | 100, 100 55 | 56 | 57 | 1 58 | 59 | 60 | True 61 | 62 | 63 | True 64 | 65 | 66 | True 67 | 68 | 69 | 70 | 71 | 72 | True 73 | 74 | 75 | AAEAAAD/////AQAAAAAAAAAMAgAAAENRdWlja0xpYnJhcnksIFZlcnNpb249Mi41LjYuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1udWxsBwEAAAAAAQAAAAEAAAAEF1F1aWNrTGlicmFyeS5QbHVnaW5JbmZvAgAAAAkDAAAABQMAAAAXUXVpY2tMaWJyYXJ5LlBsdWdpbkluZm8KAAAABG5hbWUHdmVyc2lvbgV0aXRsZQtkZXNjcmlwdGlvbgRsaW5rB2F1dGhvcnMGYXBpVmVyCWlucHV0VHlwZQdkbGxUeXBlCWZ1bmN0aW9ucwEBAQQBBAABAQQnUXVpY2tMaWJyYXJ5LlBsdWdpbkluZm8rTXVsdGlsYW5nU3RyaW5nAgAAACBRdWlja0xpYnJhcnkuUGx1Z2luSW5mbytBdXRob3JbXQIAAAAIIlF1aWNrTGlicmFyeS5QbHVnaW5JbmZvK0Z1bmN0aW9uW10CAAAAAgAAAAYEAAAAC3Fwdi1wbHVnaW5zBgUAAAAFMS4yLjQGBgAAAAtRUFYgUGx1Z2lucwX5////J1F1aWNrTGlicmFyeS5QbHVnaW5JbmZvK011bHRpbGFuZ1N0cmluZwYAAAACZW4CY24CZnICaHUCcnUCZXMBAQEBAQECAAAABggAAAAbU2V0IG9mIHByZWluc3RhbGxlZCBwbHVnaW5zBgkAAAAV5LiA57uE6aKE6KOF55qE5o+S5Lu2BgoAAAAlVW4gZW5zZW1ibGUgZGUgcGx1Z2lucyBwcsOpaW5zdGFsbMOpcwYLAAAAK0VsxZFyZSB0ZWxlcMOtdGV0dCBixZF2w610bcOpbnllayBrw6lzemxldGUGDAAAAD7QndCw0LHQvtGAINC/0YDQtdC00YPRgdGC0LDQvdC+0LLQu9C10L3QvdGL0YUg0L/Qu9Cw0LPQuNC90L7QsgYNAAAAJkNvbmp1bnRvIGRlIGNvbXBsZW1lbnRvcyBwcmVpbnN0YWxhZG9zBg4AAAAoaHR0cHM6Ly9naXRodWIuY29tL01vZHVsZUFydC9xcHYtcGx1Z2lucwkPAAAABAAAAAYQAAAABmJpdG1hcAYRAAAABmNzaGFycAkSAAAABw8AAAAAAQAAAAEAAAAEHlF1aWNrTGlicmFyeS5QbHVnaW5JbmZvK0F1dGhvcgIAAAAF7f///x5RdWlja0xpYnJhcnkuUGx1Z2luSW5mbytBdXRob3ICAAAABG5hbWUEbGluawEBAgAAAAYUAAAAB0JlZWxpbmsGFQAAABpodHRwczovL2dpdGh1Yi5jb20vQmVlbGluawcSAAAAAAEAAAAFAAAABCBRdWlja0xpYnJhcnkuUGx1Z2luSW5mbytGdW5jdGlvbgIAAAAF6v///yBRdWlja0xpYnJhcnkuUGx1Z2luSW5mbytGdW5jdGlvbgcAAAAEbmFtZQV0aXRsZQR0eXBlDWlucHV0UmVxdWlyZWQGZGlhbG9nDGhpZGVNYWluRm9ybQZob3RrZXkBBAEAAAAEJ1F1aWNrTGlicmFyeS5QbHVnaW5JbmZvK011bHRpbGFuZ1N0cmluZwIAAAABAQEeUXVpY2tMaWJyYXJ5LlBsdWdpbkluZm8rSG90a2V5AgAAAAIAAAAGFwAAAARibHVyAej////5////BhkAAAAQQmx1ciBvciBwaXhlbGF0ZQYaAAAAEuaooeeziuaIluWDj+e0oOWMlgYbAAAAEUZsb3Ugb3UgcGl4ZWxpc2VyBhwAAAAYRWxtb3PDs2RvdHQgdmFneSBwaXhlbGVzBh0AAAAw0KDQsNC30LzRi9GC0LjQtSDQuNC70Lgg0L/QuNC60YHQtdC70LjQt9Cw0YbQuNGPBh4AAAAURGVzZW5mb2NhciBvIHBpeGVsYXIGHwAAAAZlZmZlY3QBAQAF4P///x5RdWlja0xpYnJhcnkuUGx1Z2luSW5mbytIb3RrZXkEAAAABGN0cmwFc2hpZnQDYWx0A2tleQAAAAABAQEIAgAAAAEBAEIAAAAB3////+r///8GIgAAAAlncmF5c2NhbGUB3f////n///8GJAAAAAlHcmF5c2NhbGUGJQAAAAbngbDpmLYGJgAAAA9OaXZlYXV4IGRlIGdyaXMGJwAAABJTesO8cmtlw6FybnlhbGF0b3MGKAAAABvQntGC0YLQtdC90LrQuCDRgdC10YDQvtCz0L4GKQAAABBFc2NhbGEgZGUgZ3Jpc2VzBioAAAAGZWZmZWN0AQAAAdX////g////AAABRwAAAAHU////6v///wYtAAAABmludmVydAHS////+f///wYvAAAADUludmVydCBjb2xvcnMGMAAAAAzlj43ovazpopzoibIGMQAAABVJbnZlcnNlciBsZXMgY291bGV1cnMGMgAAAA5JbnZlcnQgc3rDrW5lawYzAAAAJdCY0L3QstC10YDRgtC40YDQvtCy0LDRgtGMINGG0LLQtdGC0LAGNAAAABNDYXB0dXJhIGRlIHBhbnRhbGxhBjUAAAAGZWZmZWN0AQAAAcr////g////AQEASQAAAAHJ////6v///wY4AAAAB3JhaW5ib3cBx/////n///8GOgAAAAdSYWluYm93BjsAAAAG5b2p6Jm5BjwAAAALQXJjLWVuLWNpZWwGPQAAAAxTeml2w6FydsOhbnkGPgAAAAzQoNCw0LTRg9Cz0LAGPwAAAAlBcmNvw61yaXMGQAAAAAZlZmZlY3QBAAABv////+D///8AAAFSAAAAAb7////q////BkMAAAAKc2NyZWVuc2hvdAG8////+f///wZFAAAAClNjcmVlbnNob3QGRgAAAAbmiKrlsY8GRwAAABBDYXB0dXJlIGQnw6ljcmFuBkgAAAAMUGlsbGFuYXRrw6lwBkkAAAAQ0KHQutGA0LjQvdGI0L7RggZKAAAAE0NhcHR1cmEgZGUgcGFudGFsbGEGSwAAAAR0b29sAAABAbT////g////AAAAewAAAAs= 76 | 77 | 78 | -------------------------------------------------------------------------------- /quick-picture-viewer/typewrappers/engines/IcoEngine.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Drawing; 3 | using System.Drawing.Drawing2D; 4 | using System.Drawing.Imaging; 5 | using System.IO; 6 | 7 | namespace quick_picture_viewer 8 | { 9 | /// 10 | /// Adapted from this gist: https://gist.github.com/darkfall/1656050 11 | /// Provides helper methods for imaging 12 | /// 13 | public static class IcoEngine 14 | { 15 | /// 16 | /// Converts a PNG image to a icon (ico) with all the sizes windows likes 17 | /// 18 | /// The input bitmap 19 | /// The output stream 20 | /// Wether or not the icon was succesfully generated 21 | public static bool ConvertToIcon(Bitmap inputBitmap, Stream output) 22 | { 23 | if (inputBitmap == null) 24 | return false; 25 | 26 | int[] sizes = new int[] { 256, 128, 64, 48, 32, 16 }; 27 | 28 | // Generate bitmaps for all the sizes and toss them in streams 29 | List imageStreams = new List(); 30 | foreach (int size in sizes) 31 | { 32 | Bitmap newBitmap = ResizeImage(inputBitmap, size, size); 33 | if (newBitmap == null) 34 | return false; 35 | MemoryStream memoryStream = new MemoryStream(); 36 | newBitmap.Save(memoryStream, ImageFormat.Png); 37 | imageStreams.Add(memoryStream); 38 | } 39 | 40 | BinaryWriter iconWriter = new BinaryWriter(output); 41 | if (output == null || iconWriter == null) 42 | return false; 43 | 44 | int offset = 0; 45 | 46 | // 0-1 reserved, 0 47 | iconWriter.Write((byte)0); 48 | iconWriter.Write((byte)0); 49 | 50 | // 2-3 image type, 1 = icon, 2 = cursor 51 | iconWriter.Write((short)1); 52 | 53 | // 4-5 number of images 54 | iconWriter.Write((short)sizes.Length); 55 | 56 | offset += 6 + (16 * sizes.Length); 57 | 58 | for (int i = 0; i < sizes.Length; i++) 59 | { 60 | // image entry 1 61 | // 0 image width 62 | iconWriter.Write((byte)sizes[i]); 63 | // 1 image height 64 | iconWriter.Write((byte)sizes[i]); 65 | 66 | // 2 number of colors 67 | iconWriter.Write((byte)0); 68 | 69 | // 3 reserved 70 | iconWriter.Write((byte)0); 71 | 72 | // 4-5 color planes 73 | iconWriter.Write((short)0); 74 | 75 | // 6-7 bits per pixel 76 | iconWriter.Write((short)32); 77 | 78 | // 8-11 size of image data 79 | iconWriter.Write((int)imageStreams[i].Length); 80 | 81 | // 12-15 offset of image data 82 | iconWriter.Write((int)offset); 83 | 84 | offset += (int)imageStreams[i].Length; 85 | } 86 | 87 | for (int i = 0; i < sizes.Length; i++) 88 | { 89 | // write image data 90 | // png data must contain the whole png data file 91 | iconWriter.Write(imageStreams[i].ToArray()); 92 | imageStreams[i].Close(); 93 | } 94 | 95 | iconWriter.Flush(); 96 | 97 | return true; 98 | } 99 | 100 | /// 101 | /// Converts a PNG image to a icon (ico) 102 | /// 103 | /// The input stream 104 | /// The output streamWether or not the icon was succesfully generated 106 | public static bool ConvertToIcon(Stream input, Stream output) 107 | { 108 | Bitmap inputBitmap = (Bitmap)Bitmap.FromStream(input); 109 | return ConvertToIcon(inputBitmap, output); 110 | } 111 | 112 | /// 113 | /// Converts a PNG image to a icon (ico) 114 | /// 115 | /// The input path 116 | /// The output path 117 | /// Wether or not the icon was succesfully generated 118 | public static bool ConvertToIcon(string inputPath, string outputPath) 119 | { 120 | using (FileStream inputStream = new FileStream(inputPath, FileMode.Open)) 121 | using (FileStream outputStream = new FileStream(outputPath, FileMode.OpenOrCreate)) 122 | { 123 | return ConvertToIcon(inputStream, outputStream); 124 | } 125 | } 126 | 127 | 128 | 129 | /// 130 | /// Converts an image to a icon (ico) 131 | /// 132 | /// The input image 133 | /// The output path 134 | /// Wether or not the icon was succesfully generated 135 | public static bool ConvertToIcon(Image inputImage, string outputPath) 136 | { 137 | using (FileStream outputStream = new FileStream(outputPath, FileMode.OpenOrCreate)) 138 | { 139 | return ConvertToIcon(new Bitmap(inputImage), outputStream); 140 | } 141 | } 142 | 143 | 144 | /// 145 | /// Resize the image to the specified width and height. 146 | /// Found on stackoverflow: https://stackoverflow.com/questions/1922040/resize-an-image-c-sharp 147 | /// 148 | /// The image to resize. 149 | /// The width to resize to. 150 | /// The height to resize to. 151 | /// The resized image. 152 | public static Bitmap ResizeImage(Image image, int width, int height) 153 | { 154 | var destRect = new Rectangle(0, 0, width, height); 155 | var destImage = new Bitmap(width, height); 156 | 157 | destImage.SetResolution(image.HorizontalResolution, image.VerticalResolution); 158 | 159 | using (var graphics = Graphics.FromImage(destImage)) 160 | { 161 | graphics.CompositingMode = CompositingMode.SourceCopy; 162 | graphics.CompositingQuality = CompositingQuality.HighQuality; 163 | graphics.InterpolationMode = InterpolationMode.HighQualityBicubic; 164 | graphics.SmoothingMode = SmoothingMode.HighQuality; 165 | graphics.PixelOffsetMode = PixelOffsetMode.HighQuality; 166 | 167 | using (var wrapMode = new ImageAttributes()) 168 | { 169 | wrapMode.SetWrapMode(WrapMode.TileFlipXY); 170 | graphics.DrawImage(image, destRect, 0, 0, image.Width, image.Height, GraphicsUnit.Pixel, wrapMode); 171 | } 172 | } 173 | 174 | return destImage; 175 | } 176 | } 177 | } 178 | -------------------------------------------------------------------------------- /quick-picture-viewer/forms/InfoForm.cs: -------------------------------------------------------------------------------- 1 | using QuickLibrary; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Drawing; 5 | using System.IO; 6 | using System.Windows.Forms; 7 | 8 | namespace quick_picture_viewer 9 | { 10 | partial class InfoForm : QlibFixedForm 11 | { 12 | private Bitmap bitmap; 13 | private string directoryName; 14 | private string fileName; 15 | 16 | public InfoForm(Bitmap bitmap, string directoryName, string fileName) 17 | { 18 | this.bitmap = bitmap; 19 | this.fileName = fileName; 20 | this.directoryName = directoryName; 21 | 22 | InitializeComponent(); 23 | SetDraggableControls(new List() { 24 | fileNameLabel, folderLabel, fullPathLabel, compressionLabel, extensionLabel, createdLabel, modifiedLabel, 25 | sizeLabel, megapixelsLabel, resolutionLabel, inchesLabel, cmLabel, diskSizeLabel, ratioLabel 26 | }); 27 | } 28 | 29 | private void SetDarkMode(bool dark) 30 | { 31 | if (dark) 32 | { 33 | propertiesButton.BackColor = ThemeMan.DarkSecondColor; 34 | propertiesButton.Image = Properties.Resources.white_imgfile; 35 | 36 | copyNameButton.Image = Properties.Resources.white_copy; 37 | copyNameButton.BackColor = ThemeMan.DarkSecondColor; 38 | copyFolderButton.Image = Properties.Resources.white_copy; 39 | copyFolderButton.BackColor = ThemeMan.DarkSecondColor; 40 | copyPathButton.Image = Properties.Resources.white_copy; 41 | copyPathButton.BackColor = ThemeMan.DarkSecondColor; 42 | } 43 | 44 | DarkMode = dark; 45 | closeBtn.DarkMode = dark; 46 | fileNameTextBox.DarkMode = dark; 47 | folderTextBox.DarkMode = dark; 48 | fullPathTextBox.DarkMode = dark; 49 | compressionTextBox.DarkMode = dark; 50 | extensionTextBox.DarkMode = dark; 51 | sizeTextBox.DarkMode = dark; 52 | megapixelsTextBox.DarkMode = dark; 53 | resolutionTextBox.DarkMode = dark; 54 | inchesTextBox.DarkMode = dark; 55 | cmTextBox.DarkMode = dark; 56 | diskSizeTextBox.DarkMode = dark; 57 | ratioTextBox.DarkMode = dark; 58 | createdTextBox.DarkMode = dark; 59 | modifiedTextBox.DarkMode = dark; 60 | } 61 | 62 | private int GCD(int a, int b) 63 | { 64 | int Remainder; 65 | while (b != 0) 66 | { 67 | Remainder = a % b; 68 | a = b; 69 | b = Remainder; 70 | } 71 | return a; 72 | } 73 | 74 | private string getImageCompression(Bitmap bitmap) 75 | { 76 | string result = "N/A"; 77 | 78 | if (bitmap.RawFormat.Equals(System.Drawing.Imaging.ImageFormat.Png)) result = "PNG"; 79 | else if (bitmap.RawFormat.Equals(System.Drawing.Imaging.ImageFormat.Jpeg)) result = "JPG"; 80 | else if (bitmap.RawFormat.Equals(System.Drawing.Imaging.ImageFormat.Exif)) result = "EXIF"; 81 | else if (bitmap.RawFormat.Equals(System.Drawing.Imaging.ImageFormat.Gif)) result = "GIF"; 82 | else if (bitmap.RawFormat.Equals(System.Drawing.Imaging.ImageFormat.Bmp)) result = "BMP"; 83 | else if (bitmap.RawFormat.Equals(System.Drawing.Imaging.ImageFormat.Tiff)) result = "TIF"; 84 | else if (bitmap.RawFormat.Equals(System.Drawing.Imaging.ImageFormat.Icon)) result = "ICO"; 85 | 86 | return result; 87 | } 88 | 89 | private void propertiesButton_Click(object sender, EventArgs e) 90 | { 91 | ShellManager.ShowFileProperties(Path.Combine(directoryName, fileName)); 92 | } 93 | 94 | private void copyNameButton_Click(object sender, EventArgs e) 95 | { 96 | Clipboard.SetText(fileNameTextBox.Text); 97 | } 98 | 99 | private void copyFolderButton_Click(object sender, EventArgs e) 100 | { 101 | Clipboard.SetText(folderTextBox.Text); 102 | } 103 | 104 | private void copyPathButton_Click(object sender, EventArgs e) 105 | { 106 | Clipboard.SetText(fullPathTextBox.Text); 107 | } 108 | 109 | private void InfoForm_Load(object sender, EventArgs e) 110 | { 111 | SetDarkMode(DarkMode); 112 | InitLanguage(); 113 | 114 | if (directoryName != null) 115 | { 116 | string path = Path.Combine(directoryName, fileName); 117 | 118 | fileNameTextBox.Text = fileName; 119 | folderTextBox.Text = directoryName; 120 | fullPathTextBox.Text = path; 121 | 122 | diskSizeTextBox.Text = FileMan.GetFileSizeStr(path); 123 | extensionTextBox.Text = Path.GetExtension(path).Substring(1, Path.GetExtension(path).Length - 1).ToUpper(); 124 | 125 | createdTextBox.Text = File.GetCreationTime(path).ToShortDateString() + " - " + File.GetCreationTime(path).ToLongTimeString(); 126 | modifiedTextBox.Text = File.GetLastWriteTime(path).ToShortDateString() + " - " + File.GetLastWriteTime(path).ToLongTimeString(); 127 | 128 | propertiesButton.Visible = true; 129 | } 130 | 131 | double inchesWidth = bitmap.Width / bitmap.HorizontalResolution; 132 | double inchesHeight = bitmap.Height / bitmap.VerticalResolution; 133 | double cmWidth = inchesWidth * 2.54; 134 | double cmHeight = inchesHeight * 2.54; 135 | 136 | compressionTextBox.Text = getImageCompression(bitmap); 137 | 138 | sizeTextBox.Text = bitmap.Width + " x " + bitmap.Height + " " + LangMan.Get("pixels"); 139 | megapixelsTextBox.Text = ((((float)bitmap.Height * bitmap.Width) / 1000000)).ToString("0.##") + " " + LangMan.Get("megapixels"); 140 | resolutionTextBox.Text = Math.Round(bitmap.HorizontalResolution) + " x " + Math.Round(bitmap.VerticalResolution) + " DPI"; 141 | inchesTextBox.Text = inchesWidth.ToString("0.##") + " x " + inchesHeight.ToString("0.##") + " " + LangMan.Get("inches"); 142 | cmTextBox.Text = cmWidth.ToString("0.##") + " x " + cmHeight.ToString("0.##") + " " + LangMan.Get("centimeters"); 143 | 144 | int firstRatio = bitmap.Width / GCD(bitmap.Width, bitmap.Height); 145 | int secondRatio = bitmap.Height / GCD(bitmap.Width, bitmap.Height); 146 | ratioTextBox.Text = string.Format("{0} : {1} (", firstRatio, secondRatio); 147 | if (firstRatio == secondRatio) ratioTextBox.Text += LangMan.Get("square"); 148 | else if (firstRatio > secondRatio) ratioTextBox.Text += LangMan.Get("landscape"); 149 | else ratioTextBox.Text += LangMan.Get("portrait"); 150 | ratioTextBox.Text += ")"; 151 | } 152 | 153 | private void InitLanguage() 154 | { 155 | Text = LangMan.Get("image-info"); 156 | fileNameLabel.Text = LangMan.Get("file") + ":"; 157 | folderLabel.Text = LangMan.Get("folder") + ":"; 158 | fullPathLabel.Text = LangMan.Get("full-path") + ":"; 159 | diskSizeLabel.Text = LangMan.Get("disk-size") + ":"; 160 | ratioLabel.Text = LangMan.Get("aspect-ratio") + ":"; 161 | resolutionLabel.Text = LangMan.Get("resolution") + ":"; 162 | createdLabel.Text = LangMan.Get("created") + ":"; 163 | modifiedLabel.Text = LangMan.Get("modified") + ":"; 164 | infoTooltip.SetToolTip(copyNameButton, LangMan.Get("copy")); 165 | infoTooltip.SetToolTip(copyFolderButton, LangMan.Get("copy")); 166 | infoTooltip.SetToolTip(copyPathButton, LangMan.Get("copy")); 167 | extensionLabel.Text = LangMan.Get("extension") + ":"; 168 | compressionLabel.Text = LangMan.Get("compression") + ":"; 169 | propertiesButton.Text = " " + LangMan.Get("file-properties"); 170 | sizeLabel.Text = LangMan.Get("size") + " (px):"; 171 | megapixelsLabel.Text = LangMan.Get("size") + " (mp):"; 172 | inchesLabel.Text = LangMan.Get("print-size") + " (in):"; 173 | cmLabel.Text = LangMan.Get("print-size") + " (cm):"; 174 | infoTooltip.SetToolTip(closeBtn, NativeMan.GetMessageBoxText(NativeMan.DialogBoxCommandID.IDCLOSE) + " | Alt+F4"); 175 | } 176 | } 177 | } 178 | -------------------------------------------------------------------------------- /quick-picture-viewer/App.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 |
6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | False 15 | 16 | 17 | False 18 | 19 | 20 | True 21 | 22 | 23 | 0 24 | 25 | 26 | False 27 | 28 | 29 | False 30 | 31 | 32 | C:\Windows\System32\mspaint.exe 33 | 34 | 35 | 36 | 37 | 38 | 5 39 | 40 | 41 | False 42 | 43 | 44 | 45 | 46 | 47 | True 48 | 49 | 50 | 1 51 | 52 | 53 | False 54 | 55 | 56 | True 57 | 58 | 59 | 700, 485 60 | 61 | 62 | 100, 100 63 | 64 | 65 | 1 66 | 67 | 68 | True 69 | 70 | 71 | True 72 | 73 | 74 | True 75 | 76 | 77 | 78 | 79 | 80 | True 81 | 82 | 83 | AAEAAAD/////AQAAAAAAAAAMAgAAAENRdWlja0xpYnJhcnksIFZlcnNpb249Mi41LjYuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1udWxsBwEAAAAAAQAAAAEAAAAEF1F1aWNrTGlicmFyeS5QbHVnaW5JbmZvAgAAAAkDAAAABQMAAAAXUXVpY2tMaWJyYXJ5LlBsdWdpbkluZm8KAAAABG5hbWUHdmVyc2lvbgV0aXRsZQtkZXNjcmlwdGlvbgRsaW5rB2F1dGhvcnMGYXBpVmVyCWlucHV0VHlwZQdkbGxUeXBlCWZ1bmN0aW9ucwEBAQQBBAABAQQnUXVpY2tMaWJyYXJ5LlBsdWdpbkluZm8rTXVsdGlsYW5nU3RyaW5nAgAAACBRdWlja0xpYnJhcnkuUGx1Z2luSW5mbytBdXRob3JbXQIAAAAIIlF1aWNrTGlicmFyeS5QbHVnaW5JbmZvK0Z1bmN0aW9uW10CAAAAAgAAAAYEAAAAC3Fwdi1wbHVnaW5zBgUAAAAFMS4yLjQGBgAAAAtRUFYgUGx1Z2lucwX5////J1F1aWNrTGlicmFyeS5QbHVnaW5JbmZvK011bHRpbGFuZ1N0cmluZwYAAAACZW4CY24CZnICaHUCcnUCZXMBAQEBAQECAAAABggAAAAbU2V0IG9mIHByZWluc3RhbGxlZCBwbHVnaW5zBgkAAAAV5LiA57uE6aKE6KOF55qE5o+S5Lu2BgoAAAAlVW4gZW5zZW1ibGUgZGUgcGx1Z2lucyBwcsOpaW5zdGFsbMOpcwYLAAAAK0VsxZFyZSB0ZWxlcMOtdGV0dCBixZF2w610bcOpbnllayBrw6lzemxldGUGDAAAAD7QndCw0LHQvtGAINC/0YDQtdC00YPRgdGC0LDQvdC+0LLQu9C10L3QvdGL0YUg0L/Qu9Cw0LPQuNC90L7QsgYNAAAAJkNvbmp1bnRvIGRlIGNvbXBsZW1lbnRvcyBwcmVpbnN0YWxhZG9zBg4AAAAoaHR0cHM6Ly9naXRodWIuY29tL01vZHVsZUFydC9xcHYtcGx1Z2lucwkPAAAABAAAAAYQAAAABmJpdG1hcAYRAAAABmNzaGFycAkSAAAABw8AAAAAAQAAAAEAAAAEHlF1aWNrTGlicmFyeS5QbHVnaW5JbmZvK0F1dGhvcgIAAAAF7f///x5RdWlja0xpYnJhcnkuUGx1Z2luSW5mbytBdXRob3ICAAAABG5hbWUEbGluawEBAgAAAAYUAAAAB0JlZWxpbmsGFQAAABpodHRwczovL2dpdGh1Yi5jb20vQmVlbGluawcSAAAAAAEAAAAFAAAABCBRdWlja0xpYnJhcnkuUGx1Z2luSW5mbytGdW5jdGlvbgIAAAAF6v///yBRdWlja0xpYnJhcnkuUGx1Z2luSW5mbytGdW5jdGlvbgcAAAAEbmFtZQV0aXRsZQR0eXBlDWlucHV0UmVxdWlyZWQGZGlhbG9nDGhpZGVNYWluRm9ybQZob3RrZXkBBAEAAAAEJ1F1aWNrTGlicmFyeS5QbHVnaW5JbmZvK011bHRpbGFuZ1N0cmluZwIAAAABAQEeUXVpY2tMaWJyYXJ5LlBsdWdpbkluZm8rSG90a2V5AgAAAAIAAAAGFwAAAARibHVyAej////5////BhkAAAAQQmx1ciBvciBwaXhlbGF0ZQYaAAAAEuaooeeziuaIluWDj+e0oOWMlgYbAAAAEUZsb3Ugb3UgcGl4ZWxpc2VyBhwAAAAYRWxtb3PDs2RvdHQgdmFneSBwaXhlbGVzBh0AAAAw0KDQsNC30LzRi9GC0LjQtSDQuNC70Lgg0L/QuNC60YHQtdC70LjQt9Cw0YbQuNGPBh4AAAAURGVzZW5mb2NhciBvIHBpeGVsYXIGHwAAAAZlZmZlY3QBAQAF4P///x5RdWlja0xpYnJhcnkuUGx1Z2luSW5mbytIb3RrZXkEAAAABGN0cmwFc2hpZnQDYWx0A2tleQAAAAABAQEIAgAAAAEBAEIAAAAB3////+r///8GIgAAAAlncmF5c2NhbGUB3f////n///8GJAAAAAlHcmF5c2NhbGUGJQAAAAbngbDpmLYGJgAAAA9OaXZlYXV4IGRlIGdyaXMGJwAAABJTesO8cmtlw6FybnlhbGF0b3MGKAAAABvQntGC0YLQtdC90LrQuCDRgdC10YDQvtCz0L4GKQAAABBFc2NhbGEgZGUgZ3Jpc2VzBioAAAAGZWZmZWN0AQAAAdX////g////AAABRwAAAAHU////6v///wYtAAAABmludmVydAHS////+f///wYvAAAADUludmVydCBjb2xvcnMGMAAAAAzlj43ovazpopzoibIGMQAAABVJbnZlcnNlciBsZXMgY291bGV1cnMGMgAAAA5JbnZlcnQgc3rDrW5lawYzAAAAJdCY0L3QstC10YDRgtC40YDQvtCy0LDRgtGMINGG0LLQtdGC0LAGNAAAABNDYXB0dXJhIGRlIHBhbnRhbGxhBjUAAAAGZWZmZWN0AQAAAcr////g////AQEASQAAAAHJ////6v///wY4AAAAB3JhaW5ib3cBx/////n///8GOgAAAAdSYWluYm93BjsAAAAG5b2p6Jm5BjwAAAALQXJjLWVuLWNpZWwGPQAAAAxTeml2w6FydsOhbnkGPgAAAAzQoNCw0LTRg9Cz0LAGPwAAAAlBcmNvw61yaXMGQAAAAAZlZmZlY3QBAAABv////+D///8AAAFSAAAAAb7////q////BkMAAAAKc2NyZWVuc2hvdAG8////+f///wZFAAAAClNjcmVlbnNob3QGRgAAAAbmiKrlsY8GRwAAABBDYXB0dXJlIGQnw6ljcmFuBkgAAAAMUGlsbGFuYXRrw6lwBkkAAAAQ0KHQutGA0LjQvdGI0L7RggZKAAAAE0NhcHR1cmEgZGUgcGFudGFsbGEGSwAAAAR0b29sAAABAbT////g////AAAAewAAAAs= 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | -------------------------------------------------------------------------------- /quick-picture-viewer/forms/PluginManForm.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Drawing; 3 | using System.Windows.Forms; 4 | using QuickLibrary; 5 | using System.IO.Compression; 6 | using System.IO; 7 | using System.Diagnostics; 8 | 9 | namespace quick_picture_viewer 10 | { 11 | public partial class PluginManForm : QlibFixedForm 12 | { 13 | private string[] codenames; 14 | private string[] pluginsLinks; 15 | 16 | public PluginManForm() 17 | { 18 | InitializeComponent(); 19 | } 20 | 21 | private void SetDarkMode(bool dark) 22 | { 23 | if (dark) 24 | { 25 | addPluginBtn.BackColor = ThemeMan.DarkSecondColor; 26 | addPluginBtn.Image = Properties.Resources.white_open; 27 | morePluginsBtn.BackColor = ThemeMan.DarkSecondColor; 28 | morePluginsBtn.Image = Properties.Resources.white_plugin; 29 | deleteBtn.Image = Properties.Resources.white_trash; 30 | pluginWebsiteBtn.Image = Properties.Resources.white_website; 31 | refreshBtn.BackColor = ThemeMan.DarkSecondColor; 32 | refreshBtn.Image = Properties.Resources.white_sync; 33 | } 34 | DarkMode = dark; 35 | closeBtn.DarkMode = dark; 36 | contextMenuStrip1.DarkMode = dark; 37 | listView1.SetDarkMode(dark); 38 | } 39 | 40 | private void PluginManForm_Load(object sender, EventArgs e) 41 | { 42 | SetDarkMode(DarkMode); 43 | InitLanguage(); 44 | 45 | RefreshPluginsList(); 46 | AutoSizeColumns(); 47 | } 48 | 49 | private void RefreshPluginsList() 50 | { 51 | if (listView1.Items != null && listView1.Items.Count > 0) listView1.Items.Clear(); 52 | if (imageList1.Images != null && imageList1.Images.Count > 0) imageList1.Images.Clear(); 53 | 54 | PluginMan.pluginsFolder = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "plugins"); 55 | PluginMan.inputType = "bitmap"; 56 | 57 | PluginInfo[] plugins = PluginMan.GetPluginsCache(Properties.Settings.Default.PluginsCache); 58 | codenames = new string[plugins.Length]; 59 | pluginsLinks = new string[plugins.Length]; 60 | for (int i = 0; i < plugins.Length; i++) 61 | { 62 | codenames[i] = plugins[i].name; 63 | pluginsLinks[i] = plugins[i].link; 64 | 65 | string authors = ""; 66 | for (int j = 0; j < plugins[i].authors.Length; j++) 67 | { 68 | authors += plugins[i].authors[j].name; 69 | if (j != plugins[i].authors.Length - 1) authors += ", "; 70 | } 71 | 72 | var listViewItem = new ListViewItem(new string[] { 73 | plugins[i].title, 74 | plugins[i].description.Get(Properties.Settings.Default.Language), 75 | authors, 76 | "v" + plugins[i].version 77 | }); 78 | 79 | Image img = PluginMan.GetPluginIcon(plugins[i].name, plugins[i].functions[0].name, DarkMode); 80 | if (img != null) 81 | { 82 | imageList1.Images.Add(imageList1.Images.Count.ToString(), img); 83 | listViewItem.ImageKey = (imageList1.Images.Count - 1).ToString(); 84 | img.Dispose(); 85 | } 86 | 87 | listView1.Items.Add(listViewItem); 88 | } 89 | } 90 | 91 | private void InitLanguage() 92 | { 93 | Text = LangMan.Get("plugin-manager"); 94 | listView1.Columns[0].Text = LangMan.Get("plugin"); 95 | listView1.Columns[1].Text = LangMan.Get("desc"); 96 | listView1.Columns[2].Text = LangMan.Get("created-by"); 97 | listView1.Columns[3].Text = LangMan.Get("version"); 98 | addPluginBtn.Text = " " + LangMan.Get("browse-for-plugins"); 99 | deleteBtn.Text = LangMan.Get("delete-plugin"); 100 | openFileDialog1.Title = LangMan.Get("browse-for-plugins"); 101 | morePluginsBtn.Text = " " + LangMan.Get("more-plugins"); 102 | pluginWebsiteBtn.Text = LangMan.Get("plugin-website"); 103 | infoTooltip.SetToolTip(refreshBtn, LangMan.Get("reload-plugins")); 104 | infoTooltip.SetToolTip(closeBtn, NativeMan.GetMessageBoxText(NativeMan.DialogBoxCommandID.IDCLOSE) + " | Alt+F4"); 105 | } 106 | 107 | private void closeBtn_Click(object sender, EventArgs e) 108 | { 109 | Close(); 110 | } 111 | 112 | private void addPluginBtn_Click(object sender, EventArgs e) 113 | { 114 | if (openFileDialog1.ShowDialog() == DialogResult.OK) installZip(openFileDialog1.FileName); 115 | openFileDialog1.Dispose(); 116 | } 117 | 118 | private void installZip(string pathToZip) 119 | { 120 | if (Path.GetExtension(pathToZip) == ".zip") 121 | { 122 | ZipFile.ExtractToDirectory(pathToZip, Path.Combine(PluginMan.pluginsFolder)); 123 | RefreshPluginsList(); 124 | } 125 | } 126 | 127 | private void deleteBtn_Click(object sender, EventArgs e) 128 | { 129 | if (listView1.SelectedIndices != null && listView1.SelectedIndices.Count > 0) deletePlugin(listView1.SelectedIndices[0]); 130 | } 131 | 132 | private void deletePlugin(int numberInList) 133 | { 134 | DialogResult window = DialogMan.ShowConfirm( 135 | this, 136 | LangMan.Get("delete-plugin-warning"), 137 | windowTitle: LangMan.Get("warning"), 138 | yesBtnText: LangMan.Get("delete-plugin"), 139 | yesBtnImage: deleteBtn.Image, 140 | darkMode: DarkMode, 141 | topMost: TopMost 142 | ); 143 | 144 | if (window == DialogResult.Yes) 145 | { 146 | listView1.Items[numberInList].Remove(); 147 | imageList1.Images[numberInList].Dispose(); 148 | 149 | string pluginFolder = Path.Combine(PluginMan.pluginsFolder, codenames[numberInList]); 150 | if (File.Exists(pluginFolder)) 151 | { 152 | FileMan.MoveFileOrFolderToRecycleBin(pluginFolder); 153 | } 154 | else 155 | { 156 | DialogMan.ShowInfo( 157 | this, 158 | LangMan.Get("plugin-not-found"), 159 | LangMan.Get("error"), 160 | DarkMode, 161 | TopMost 162 | ); 163 | } 164 | RefreshPluginsList(); 165 | } 166 | } 167 | 168 | private void morePluginsBtn_Click(object sender, EventArgs e) 169 | { 170 | Process.Start(new ProcessStartInfo 171 | { 172 | UseShellExecute = true, 173 | FileName = "https://github.com/ModuleArt/qpv-plugins" 174 | }); 175 | } 176 | 177 | private void pluginWebsiteBtn_Click(object sender, EventArgs e) 178 | { 179 | if (listView1.SelectedIndices != null && listView1.SelectedIndices.Count > 0) Process.Start(new ProcessStartInfo 180 | { 181 | UseShellExecute = true, 182 | FileName = pluginsLinks[listView1.SelectedIndices[0]] 183 | }); 184 | } 185 | 186 | private void AutoSizeColumns() 187 | { 188 | float x = listView1.Width / 100f; 189 | listView1.Columns[0].Width = (int)(x * 20); 190 | listView1.Columns[1].Width = (int)(x * 40); 191 | listView1.Columns[2].Width = (int)(x * 30); 192 | listView1.Columns[3].Width = (int)(x * 10); 193 | } 194 | 195 | private void listView1_ColumnWidthChanging(object sender, ColumnWidthChangingEventArgs e) 196 | { 197 | e.Cancel = true; 198 | e.NewWidth = listView1.Columns[e.ColumnIndex].Width; 199 | } 200 | 201 | private void contextMenuStrip1_Opening(object sender, System.ComponentModel.CancelEventArgs e) 202 | { 203 | bool status = false; 204 | if (listView1.SelectedIndices != null && listView1.SelectedIndices.Count > 0) status = true; 205 | deleteBtn.Enabled = status; 206 | pluginWebsiteBtn.Enabled = status; 207 | } 208 | 209 | private void PluginManForm_DragDrop(object sender, DragEventArgs e) 210 | { 211 | string[] files = (string[])e.Data.GetData(DataFormats.FileDrop); 212 | installZip(files[0]); 213 | } 214 | 215 | private void PluginManForm_DragEnter(object sender, DragEventArgs e) 216 | { 217 | e.Effect = e.Data.GetDataPresent(DataFormats.FileDrop) ? DragDropEffects.All : DragDropEffects.None; 218 | } 219 | 220 | private void refreshBtn_Click(object sender, EventArgs e) 221 | { 222 | Properties.Settings.Default.PluginsCache = PluginMan.GenerateCacheStr(); 223 | Properties.Settings.Default.Save(); 224 | RefreshPluginsList(); 225 | (Owner as MainForm).ReloadPlugins(); 226 | } 227 | } 228 | } 229 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |

2 | 3 |

4 |

Quick Picture Viewer

5 | 6 |

7 | Quick Picture Viewer is a lightweight, versatile desktop image viewer for Windows.
The best replacement for the default Windows photo viewer. 8 |

9 | 10 | GitHub release (latest by date including pre-releases) 11 | GitHub All Releases 12 | 13 | 14 | Module Art website 15 | 16 | 17 |
18 | 19 | 20 | 21 |
22 | 23 | v3.1.4 (Stable) - May 9, 2021 - Download (3.4 MB) 24 |

25 | Older versions and release notes 26 |

27 | 28 | ## 😃 Features: 29 | 30 | - 🖼️ Supported image formats: .png, .jpg, .jpeg, .jpe, .jfif, .exif, .gif, .bmp, .dib, .rle, .tiff, .tif, .ico, .webp, .svg, .dds, .tga, .psd, .cr2 ... 31 | - ✍️ Basic image editing: Rotate, flip, crop, change file type ... 32 | - 🧩 Plugins ready 33 | - ↗️ Open image with external app or show file in explorer 34 | - 🖽 Picture-in-Picture mode 35 | - ♟️ Checkerboard background 36 | - 🖥️ Set image as desktop background 37 | - 🖨️ Print image or export to PDF 38 | - ℹ️ View image details 39 | - 🗔 Frameless mode 40 | - 🔝 Always on top mode 41 | - 🎞️ Slideshow 42 | - 🕶️ Dark mode 43 | 44 | Want more? Open a new issue or 👍 an existing one so we can talk about it. 45 | 46 | ## 🔮 Future plans: 47 | 48 | - Enhanced zoom menu 49 | - Image preloader [#57] 50 | - Sort by menu [#62] 51 | - Customizable keyboard shortcuts [#27] 52 | - More wallpaper related options [#65] 53 | 54 | ## 🧩 Built-in plugins: 55 | 56 | Effects: 57 | 58 | - Blur or pixelate - by Module Art (Beelink) 59 | - Grayscale - by Module Art (Beelink) 60 | - Invert colors - by Module Art (Beelink) 61 | - Rainbow - by Module Art (Beelink) 62 | - Vignette - by Module Art - Soon... 63 | - Drop shadow - by Module Art - Soon... 64 | - Photo filter - by Community - Soon... 65 | - Hue and saturation - by Community - Soon... 66 | 67 | Tools: 68 | 69 | - Screenshot - by Module Art (Beelink) 70 | - Color picker - by Module Art - Soon... 71 | 72 | ## 🐞 Bug report: 73 | 74 | If you want to report a bug, first, thank you, that helps us a lot. Please open an issue and mention your OS, your Quick Picture Viewer version, and how to reproduce it. Adding a screenshot of the issue or screen recording is a big help too. 75 | 76 | ## 💿 Another installation methods: 77 | 78 | - Using Microsoft Store:
79 | 80 | 81 |

82 | 83 | - Using Chocolatey:
84 | 85 | ```powershell 86 | choco install quick-picture-viewer --version 3.0.4 87 | ``` 88 | 89 | - Using Winget:
90 | 91 | ```powershell 92 | winget install ModuleArt.QuickPictureViewer 93 | ``` 94 | 95 | - Using Scoop:
96 | 97 | ```powershell 98 | scoop install mingit-busybox 7zip sudo 99 | scoop bucket add extras 100 | scoop install quick-picture-viewer 101 | ``` 102 | 103 | ## 🔨 Contribution: 104 | 105 | #### Help Module Art! 106 | 107 | - Give us a star ⭐ 108 | - Fork and Clone! Awesome 109 | - Select existing issues or create a new issue and give us a PR with your bugfix or improvement after. We love it ❤ 110 | 111 | #### How to clone: 112 | 113 | When cloning the repository, do **not** forget to include its submodules (`--recurse-submodules`): 114 | ```powershell 115 | git clone --recurse-submodules https://github.com/ModuleArt/quick-picture-viewer 116 | ``` 117 | 118 | Otherwise, you can initialize them after cloning: 119 | ```powershell 120 | git clone https://github.com/ModuleArt/quick-picture-viewer 121 | cd quick-picture-viewer 122 | git submodule update --init --recursive 123 | ``` 124 | 125 | 126 | #### Code contributors: 127 | 128 | - adriengivry - Texture filtering modes 129 | - FLeXyo - Open folder recursively feature 130 | - Beelink - Everything else 😘 131 | 132 | #### Translation contributors: 133 | 134 | - Arabic: Jalal-Althahab 135 | - Chinese: jiwangyihao 136 | - Croatian: anotherus3r 137 | - English: Beelink 138 | - French: b0bdN 139 | - German: l-33ter, tomo2403 140 | - Hungarian: KristofKekesi 141 | - Russian: Beelink 142 | - Spanish: asluppiter, Alplox 143 | - Turkish: ataberkcemunal 144 | 145 | Help us translate this app 146 | 147 | ## 📦 Related projects: 148 | 149 | - Quick Library - Windows Forms Control class library for "Quick" apps (.NET Framework)
150 | - QPV Plugins - Set of preinstalled plugins for the Quick Picture Viewer 151 | 152 | ## 🧰 Other great apps: 153 | 154 | - PlainColor - Lightweight stylish cross-platform color picker app
155 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | 3 | ## Ignore Visual Studio temporary files, build results, and 4 | ## files generated by popular Visual Studio add-ons. 5 | ## 6 | ## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore 7 | 8 | # User-specific files 9 | *.rsuser 10 | *.suo 11 | *.user 12 | *.userosscache 13 | *.sln.docstates 14 | 15 | # User-specific files (MonoDevelop/Xamarin Studio) 16 | *.userprefs 17 | 18 | # Mono auto generated files 19 | mono_crash.* 20 | 21 | # Build results 22 | [Dd]ebug/ 23 | [Dd]ebugPublic/ 24 | [Rr]elease/ 25 | [Rr]eleases/ 26 | x64/ 27 | x86/ 28 | [Ww][Ii][Nn]32/ 29 | [Aa][Rr][Mm]/ 30 | [Aa][Rr][Mm]64/ 31 | bld/ 32 | [Bb]in/ 33 | [Oo]bj/ 34 | [Ll]og/ 35 | [Ll]ogs/ 36 | 37 | # Visual Studio 2015/2017 cache/options directory 38 | .vs/ 39 | # Uncomment if you have tasks that create the project's static files in wwwroot 40 | #wwwroot/ 41 | 42 | # Visual Studio 2017 auto generated files 43 | Generated\ Files/ 44 | 45 | # MSTest test Results 46 | [Tt]est[Rr]esult*/ 47 | [Bb]uild[Ll]og.* 48 | 49 | # NUnit 50 | *.VisualState.xml 51 | TestResult.xml 52 | nunit-*.xml 53 | 54 | # Build Results of an ATL Project 55 | [Dd]ebugPS/ 56 | [Rr]eleasePS/ 57 | dlldata.c 58 | 59 | # Benchmark Results 60 | BenchmarkDotNet.Artifacts/ 61 | 62 | # .NET Core 63 | project.lock.json 64 | project.fragment.lock.json 65 | artifacts/ 66 | 67 | # ASP.NET Scaffolding 68 | ScaffoldingReadMe.txt 69 | 70 | # StyleCop 71 | StyleCopReport.xml 72 | 73 | # Files built by Visual Studio 74 | *_i.c 75 | *_p.c 76 | *_h.h 77 | *.ilk 78 | *.meta 79 | *.obj 80 | *.iobj 81 | *.pch 82 | *.pdb 83 | *.ipdb 84 | *.pgc 85 | *.pgd 86 | *.rsp 87 | *.sbr 88 | *.tlb 89 | *.tli 90 | *.tlh 91 | *.tmp 92 | *.tmp_proj 93 | *_wpftmp.csproj 94 | *.log 95 | *.tlog 96 | *.vspscc 97 | *.vssscc 98 | .builds 99 | *.pidb 100 | *.svclog 101 | *.scc 102 | 103 | # Chutzpah Test files 104 | _Chutzpah* 105 | 106 | # Visual C++ cache files 107 | ipch/ 108 | *.aps 109 | *.ncb 110 | *.opendb 111 | *.opensdf 112 | *.sdf 113 | *.cachefile 114 | *.VC.db 115 | *.VC.VC.opendb 116 | 117 | # Visual Studio profiler 118 | *.psess 119 | *.vsp 120 | *.vspx 121 | *.sap 122 | 123 | # Visual Studio Trace Files 124 | *.e2e 125 | 126 | # TFS 2012 Local Workspace 127 | $tf/ 128 | 129 | # Guidance Automation Toolkit 130 | *.gpState 131 | 132 | # ReSharper is a .NET coding add-in 133 | _ReSharper*/ 134 | *.[Rr]e[Ss]harper 135 | *.DotSettings.user 136 | 137 | # TeamCity is a build add-in 138 | _TeamCity* 139 | 140 | # DotCover is a Code Coverage Tool 141 | *.dotCover 142 | 143 | # AxoCover is a Code Coverage Tool 144 | .axoCover/* 145 | !.axoCover/settings.json 146 | 147 | # Coverlet is a free, cross platform Code Coverage Tool 148 | coverage*.json 149 | coverage*.xml 150 | coverage*.info 151 | 152 | # Visual Studio code coverage results 153 | *.coverage 154 | *.coveragexml 155 | 156 | # NCrunch 157 | _NCrunch_* 158 | .*crunch*.local.xml 159 | nCrunchTemp_* 160 | 161 | # MightyMoose 162 | *.mm.* 163 | AutoTest.Net/ 164 | 165 | # Web workbench (sass) 166 | .sass-cache/ 167 | 168 | # Installshield output folder 169 | [Ee]xpress/ 170 | 171 | # DocProject is a documentation generator add-in 172 | DocProject/buildhelp/ 173 | DocProject/Help/*.HxT 174 | DocProject/Help/*.HxC 175 | DocProject/Help/*.hhc 176 | DocProject/Help/*.hhk 177 | DocProject/Help/*.hhp 178 | DocProject/Help/Html2 179 | DocProject/Help/html 180 | 181 | # Click-Once directory 182 | publish/ 183 | 184 | # Publish Web Output 185 | *.[Pp]ublish.xml 186 | *.azurePubxml 187 | # Note: Comment the next line if you want to checkin your web deploy settings, 188 | # but database connection strings (with potential passwords) will be unencrypted 189 | *.pubxml 190 | *.publishproj 191 | 192 | # Microsoft Azure Web App publish settings. Comment the next line if you want to 193 | # checkin your Azure Web App publish settings, but sensitive information contained 194 | # in these scripts will be unencrypted 195 | PublishScripts/ 196 | 197 | # NuGet Packages 198 | *.nupkg 199 | # NuGet Symbol Packages 200 | *.snupkg 201 | # The packages folder can be ignored because of Package Restore 202 | **/[Pp]ackages/* 203 | # except build/, which is used as an MSBuild target. 204 | !**/[Pp]ackages/build/ 205 | # Uncomment if necessary however generally it will be regenerated when needed 206 | #!**/[Pp]ackages/repositories.config 207 | # NuGet v3's project.json files produces more ignorable files 208 | *.nuget.props 209 | *.nuget.targets 210 | 211 | # Nuget personal access tokens and Credentials 212 | nuget.config 213 | 214 | # Microsoft Azure Build Output 215 | csx/ 216 | *.build.csdef 217 | 218 | # Microsoft Azure Emulator 219 | ecf/ 220 | rcf/ 221 | 222 | # Windows Store app package directories and files 223 | AppPackages/ 224 | BundleArtifacts/ 225 | Package.StoreAssociation.xml 226 | _pkginfo.txt 227 | *.appx 228 | *.appxbundle 229 | *.appxupload 230 | 231 | # Visual Studio cache files 232 | # files ending in .cache can be ignored 233 | *.[Cc]ache 234 | # but keep track of directories ending in .cache 235 | !?*.[Cc]ache/ 236 | 237 | # Others 238 | ClientBin/ 239 | ~$* 240 | *~ 241 | *.dbmdl 242 | *.dbproj.schemaview 243 | *.jfm 244 | *.pfx 245 | *.publishsettings 246 | orleans.codegen.cs 247 | 248 | # Including strong name files can present a security risk 249 | # (https://github.com/github/gitignore/pull/2483#issue-259490424) 250 | #*.snk 251 | 252 | # Since there are multiple workflows, uncomment next line to ignore bower_components 253 | # (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) 254 | #bower_components/ 255 | 256 | # RIA/Silverlight projects 257 | Generated_Code/ 258 | 259 | # Backup & report files from converting an old project file 260 | # to a newer Visual Studio version. Backup files are not needed, 261 | # because we have git ;-) 262 | _UpgradeReport_Files/ 263 | Backup*/ 264 | UpgradeLog*.XML 265 | UpgradeLog*.htm 266 | ServiceFabricBackup/ 267 | *.rptproj.bak 268 | 269 | # SQL Server files 270 | *.mdf 271 | *.ldf 272 | *.ndf 273 | 274 | # Business Intelligence projects 275 | *.rdl.data 276 | *.bim.layout 277 | *.bim_*.settings 278 | *.rptproj.rsuser 279 | *- [Bb]ackup.rdl 280 | *- [Bb]ackup ([0-9]).rdl 281 | *- [Bb]ackup ([0-9][0-9]).rdl 282 | 283 | # Microsoft Fakes 284 | FakesAssemblies/ 285 | 286 | # GhostDoc plugin setting file 287 | *.GhostDoc.xml 288 | 289 | # Node.js Tools for Visual Studio 290 | .ntvs_analysis.dat 291 | node_modules/ 292 | 293 | # Visual Studio 6 build log 294 | *.plg 295 | 296 | # Visual Studio 6 workspace options file 297 | *.opt 298 | 299 | # Visual Studio 6 auto-generated workspace file (contains which files were open etc.) 300 | *.vbw 301 | 302 | # Visual Studio LightSwitch build output 303 | **/*.HTMLClient/GeneratedArtifacts 304 | **/*.DesktopClient/GeneratedArtifacts 305 | **/*.DesktopClient/ModelManifest.xml 306 | **/*.Server/GeneratedArtifacts 307 | **/*.Server/ModelManifest.xml 308 | _Pvt_Extensions 309 | 310 | # Paket dependency manager 311 | .paket/paket.exe 312 | paket-files/ 313 | 314 | # FAKE - F# Make 315 | .fake/ 316 | 317 | # CodeRush personal settings 318 | .cr/personal 319 | 320 | # Python Tools for Visual Studio (PTVS) 321 | __pycache__/ 322 | *.pyc 323 | 324 | # Cake - Uncomment if you are using it 325 | # tools/** 326 | # !tools/packages.config 327 | 328 | # Tabs Studio 329 | *.tss 330 | 331 | # Telerik's JustMock configuration file 332 | *.jmconfig 333 | 334 | # BizTalk build output 335 | *.btp.cs 336 | *.btm.cs 337 | *.odx.cs 338 | *.xsd.cs 339 | 340 | # OpenCover UI analysis results 341 | OpenCover/ 342 | 343 | # Azure Stream Analytics local run output 344 | ASALocalRun/ 345 | 346 | # MSBuild Binary and Structured Log 347 | *.binlog 348 | 349 | # NVidia Nsight GPU debugger configuration file 350 | *.nvuser 351 | 352 | # MFractors (Xamarin productivity tool) working folder 353 | .mfractor/ 354 | 355 | # Local History for Visual Studio 356 | .localhistory/ 357 | 358 | # BeatPulse healthcheck temp database 359 | healthchecksdb 360 | 361 | # Backup folder for Package Reference Convert tool in Visual Studio 2017 362 | MigrationBackup/ 363 | 364 | # Ionide (cross platform F# VS Code tools) working folder 365 | .ionide/ 366 | 367 | # Fody - auto-generated XML schema 368 | FodyWeavers.xsd 369 | 370 | # VS Code files for those working on multiple tools 371 | .vscode/* 372 | !.vscode/settings.json 373 | !.vscode/tasks.json 374 | !.vscode/launch.json 375 | !.vscode/extensions.json 376 | *.code-workspace 377 | 378 | # Local History for Visual Studio Code 379 | .history/ 380 | 381 | # Windows Installer files from build outputs 382 | *.cab 383 | *.msi 384 | *.msix 385 | *.msm 386 | *.msp 387 | 388 | # JetBrains Rider 389 | .idea/ 390 | *.sln.iml --------------------------------------------------------------------------------