Emanuel Alves 7b94a07e14 Squashed commit of the following:
commit 015311ccc6
Author: Emanuel Alves <emanuel-alves@outlook.com>
Date:   Tue Jun 13 12:40:05 2017 +0100

    Prevent the updater from running when it's already running.
    Updated timeout, slower networks require more than 2 minutes do download the update.

commit bd03f4db10
Author: Emanuel Alves <emanuel-alves@outlook.com>
Date:   Tue Jun 13 12:16:35 2017 +0100

    Clean-up.

commit 7244fefb93
Merge: b50f0b1 811ead6
Author: Emanuel Alves <emanuel-alves@outlook.com>
Date:   Tue Jun 13 12:04:15 2017 +0100

    Merge branch 'master' into autoupdate-system

commit 811ead6728
Merge: 2d13dab 0e29297
Author: Emanuel Alves <emanuel-alves@outlook.com>
Date:   Tue Jun 13 12:02:37 2017 +0100

    Merge remote-tracking branch 'upstream/master'

commit b50f0b1e42
Author: Emanuel Alves <emanuel-alves@outlook.com>
Date:   Tue Jun 13 12:00:01 2017 +0100

    Version.CompareTo

commit c22ae72a9b
Author: Emanuel Alves <emanuel-alves@outlook.com>
Date:   Tue Jun 13 11:41:04 2017 +0100

    WebClientEx
    Changed the download method to a custom web-client wrapper which supports timeout - WebClientEx.
    Copyright notice;

commit 2d466c6fcf
Author: Emanuel Alves <emanuel-alves@outlook.com>
Date:   Mon Jun 12 22:11:19 2017 +0100

    Major tweaks to the update-flow;
    New Update notification is now actionable;
    New QuickLook pop-up showing the changelog;
    Code re-organized and optimized;

commit 2d13dab813
Merge: ef24bdd dd7bed7
Author: Emanuel Alves <emanuel-alves@outlook.com>
Date:   Mon Jun 12 18:06:26 2017 +0100

    Merge remote-tracking branch 'upstream/master'

commit ef24bdddde
Merge: 4c04b0c 2f9634e
Author: Emanuel Alves <emanuel-alves@outlook.com>
Date:   Fri Jun 9 22:35:20 2017 +0100

    Merge branch 'master' of https://github.com/emannxx/QuickLook

commit 4c04b0c9de
Author: Paddy Xu <xupaddy@gmail.com>
Date:   Fri Jun 9 21:40:10 2017 +0300

    Expose BalloonTip events to the outside world

commit 13568ff368
Author: Paddy Xu <xupaddy@gmail.com>
Date:   Fri Jun 9 21:26:18 2017 +0300

    Expose TopMost parameter to outside world

commit 1e215cb7c7
Author: Paddy Xu <xupaddy@gmail.com>
Date:   Fri Jun 9 21:13:21 2017 +0300

    Use NamedPipe, instead of second instance, to invoke preview from command line

commit 2f9634e3d0
Merge: ad083d8 78eba88
Author: Emanuel Alves <emanuel-alves@outlook.com>
Date:   Fri Jun 9 22:29:55 2017 +0100

    Merge branch 'master' of https://github.com/emannxx/QuickLook

commit ad083d8a57
Author: Paddy Xu <xupaddy@gmail.com>
Date:   Fri Jun 9 21:40:10 2017 +0300

    Expose BalloonTip events to the outside world

commit eb6524f15c
Author: Paddy Xu <xupaddy@gmail.com>
Date:   Fri Jun 9 21:26:18 2017 +0300

    Expose TopMost parameter to outside world

commit 9a0b4f23fe
Author: Paddy Xu <xupaddy@gmail.com>
Date:   Fri Jun 9 21:13:21 2017 +0300

    Use NamedPipe, instead of second instance, to invoke preview from command line

commit ef9b854939
Author: Emanuel Alves <emanuel-alves@outlook.com>
Date:   Fri Jun 9 17:54:15 2017 +0100

    - Moved the download logic to a background worker so that the main app doesn't stop working while the file is being downloaded.
    - The logic to check for new updates is now separated into one function;
    - Replaced all messageboxes to Notifications
    To-Do: Actionable Notifications; Show releases-notes popup;

commit 4773ded83e
Author: Emanuel Alves <emanuel-alves@outlook.com>
Date:   Thu Jun 8 22:19:16 2017 +0100

    QuickLook Auto Update system - first iteration;
    [Dependency]: NewtonSoft JSON nuget package;
    Added - Updater.cs class which contains the auto-update static method.
    Workflow: Downloads json file from remote server -> Parses -> downloads new version to a specific folder inside the install dir -> Executs a CMD command chain which kills the current QuickLook process and then executes the MSI installer.
2017-06-18 12:10:48 +03:00
2017-06-17 01:07:22 +03:00
2017-06-10 13:38:43 +03:00
.
2017-05-18 01:10:42 +03:00
2017-05-01 14:54:50 +03:00
2017-06-11 20:20:52 +03:00
2017-06-13 20:10:39 +03:00

QuickLook icon

QuickLook

license AppVeyor Github All Releases GitHub release

This project is currently under heavy development. Come back often to see what's new.

Background

Quick Look is among the few features I missed from Mac OS X. It enables very quick preview of file by pressing Space key while highlighting it, without opening its associated application. Then I decide to add this feature to Windows by myself, which results this “QuickLook” project.

You may ask, why you write this when there several alternatives available on the Internet (e.g. WinQuickLook and Seer)? The answer is that, they are all among those which no longer actively developed, lack of support of file types and plugins, or asking user for amounts of $$$.

Highlights

Instant preview Beautiful UI Perfect HiDPI support Native 64-bit application

Preview from Open and Save File Dialog Easy extended by plugins Strict GPL license to keep it free forever

Usage

General usage

  1. Download either installer or portable archive from GitHub Release page
  2. Run QuickLook.exe
  3. Select a file/folder on the Desktop / in a File Explorer window / in an Open- or Save-File dialog
  4. Press Spacebar
  5. Select another file/folder in the same manner
  6. When you're done, click on the button, or press Spacebar again

Hotkeys

  • Spacebar Show/Hide the preview window
  • Esc Hide the preview window
  • Enter Open/Execute current file
  • Mouse Preview another file
  • Ctrl-Wheel Zoom in/out images

Integration

  • You may set up a custom hot key that fires event QuickLook.exe C:\path\to\your\file.txt.
  • For developer: Send a line (ends with \r\n) of UTF-8 string which contains the file path to the named pipe named \\.\pipe\QuickLook.App.Pipe.

Features

Till now, QuickLook supports the preview of

  • Images: e.g. .png, .jpg, .bmp, .gif, .psd and Camera RAW formats
  • Compressed archives: .zip, .rar, .tar.gz, .7z etc.
  • Pdf file
  • All kinds of text files (determined by file content)
  • Microsoft Word (.doc, .docx), Excel (.xls, .xlsx) and PowerPoint (.ppt, .pptx) files (requires MS Office installation)
  • OpenDocument (odt, .ods and .odp) files (requires MS Office installation)
  • Video files (.mp4, .mkv, .m2ts etc.)
  • HTML files (.htm, .html)
  • Markdown file (.md)
  • Other files and folders will be shown in a information box

Development

The previewing ability can be extended by new plugins. Read the plugin interface, context object for more information. Out-of-box plugins contain more detailed implementation. Note that any plugin must be under the QuickLook.Plugin namespace, has the filename similar to QuickLook.Plugin.YourPlugin.dll and placed under <Application>\Plugins\QuickLook.Plugin.YourPlugin\ subfolder.

QuickLook is standing on shoulders of several open-source libraries, named

  • AvalonEdit: the WPF-based text editor component used in SharpDevelop
  • dcraw: decoding raw digital photos in Linux
  • ExifLib: a fast Exif data extractor for .NET 2.0+
  • FFmpeg: a complete, cross-platform solution to record, convert and stream audio and video
  • FFmpegMediaElement: WPF MediaElement replacement based on FFmpeg
  • Font-Awesome-WPF: WPF & UWP controls for the iconic font and CSS toolkit Font Awesome
  • github-markdown-css: The minimal amount of CSS to replicate the GitHub Markdown style
  • ImageMagick: convert, edit, or compose bitmap images
  • Magick.NET: The .NET wrapper for the ImageMagick library
  • markdown-it: markdown parser, done right. 100% CommonMark support, extensions, syntax plugins & high speed
  • MuPdf: lightweight PDF, XPS, and E-book viewer
  • PreviewHandlerHost: IPreviewHandler Revisited
  • SharpCompress: a fully managed C# library to deal with many compression types and formats
  • Sumatra PDF: a PDF, ePub, MOBI, CHM, XPS, DjVu, CBZ, CBR reader for Windows
  • WpfWebBrowserWrapper: a better WPF-Browser-Control (IE-Wrapper)
  • XamlAnimatedGif: a simple library to display animated GIF images in XAML apps

Licenses

GPL-v3

Application icons made by Freepik from www.flaticon.com. Used under the Flaticon Basic License.

All source codes, except which are from other projects mentioned in “Related projects” section, are licensed under GPL-3.0.

If you want make any modification on these source codes while keeping new codes not protected by GPL-3.0, please contact me for a sublicense instead.

Description
Bring macOS “Quick Look” feature to Windows
Readme 345 MiB
Languages
C# 85.6%
C++ 10.7%
Rich Text Format 2.3%
PostScript 0.6%
C 0.4%
Other 0.4%