|
| 1 | +# Implementation of Peony File Manager preview feature |
| 2 | + |
| 3 | +English | [简体中文] |
| 4 | + |
| 5 | +[简体中文]: ../zh_CN/Peony 文件管理器预览特性的实现.md |
| 6 | + |
| 7 | +## Origin Project |
| 8 | + |
| 9 | +[Peony] is the default file manager for the UKUI Desktop Environment. It makes it easy to manage, manipulate, and customize files and directories. It has a set of interfaces based on GIO and Qt and has its own plugin mechanism. |
| 10 | + |
| 11 | +[Peony]: https://github.com/ukui/peony |
| 12 | + |
| 13 | +## Project description |
| 14 | + |
| 15 | +The purpose of this project is to provide support and implementation of file preview features for Peony File Manager, which allows it to support preview of file content for different types of files in the right preview panel. |
| 16 | + |
| 17 | + * For text type files, such as PDF, txt, etc. Support simple editing functions. |
| 18 | + * For image type files, such as PNG, JPEG, etc. Support simple editing functions of orientation and resizing. |
| 19 | + * For video and audio type files, support a quick glimpse of playback. |
| 20 | + * For compressed archive type files, such as GZ, ZIP, etc. Support show the files it contains. |
| 21 | + |
| 22 | +## Technical Requirements |
| 23 | + |
| 24 | +**Required** |
| 25 | + |
| 26 | + * C++, basic |
| 27 | + * Data structure, basic |
| 28 | + |
| 29 | +**Optional** |
| 30 | + |
| 31 | + * Qt5, basic |
| 32 | + |
| 33 | +## Features CheckList |
| 34 | + |
| 35 | + * [ ] Text preview and edit |
| 36 | + |
| 37 | + | File type | MIME type | Preview Support | Edit Support | |
| 38 | + |---------------------------------------------|-------------------------------------------------------------------------|:---------------:|:------------:| |
| 39 | + | Text | text/plain | ☐ | ☐ | |
| 40 | + | Adobe Portable Document Format | application/pdf | ☐ | ☐ | |
| 41 | + | Microsoft Word | application/msword | ☐ | ☐ | |
| 42 | + | Microsoft Word (OpenXML) | application/vnd.openxmlformats-officedocument.wordprocessingml.document | ☐ | ☐ | |
| 43 | + | OpenDocument text document | application/vnd.oasis.opendocument.text | ☐ | ☐ | |
| 44 | + | Comma-separated values (CSV) | text/csv | ☐ | ☐ | |
| 45 | + | JSON format | application/json | ☐ | ☐ | |
| 46 | + | HyperText Markup Language (HTML) | text/html | ☐ | ☐ | |
| 47 | + | JavaScript | text/javascript | ☐ | ☐ | |
| 48 | + | Hypertext Preprocessor (Personal Home Page) | application/x-httpd-php | ☐ | ☐ | |
| 49 | + | Rich Text Format (RTF) | application/rtf | ☐ | ☐ | |
| 50 | + | Bourne shell script | application/x-sh | ☐ | ☐ | |
| 51 | + |
| 52 | + * [ ] Image preview and edit |
| 53 | + |
| 54 | + | File type | MIME type | Preview Support | Size Edit Support | Rotation Edit Support | |
| 55 | + |--------------------------------|--------------------------|:---------------:|:-----------------:|:---------------------:| |
| 56 | + | Icon format | image/vnd.microsoft.icon | ☐ | ☐ | ☐ | |
| 57 | + | JPEG images | image/jpeg | ☐ | ☐ | ☐ | |
| 58 | + | Portable Network Graphics | image/png | ☐ | ☐ | ☐ | |
| 59 | + | Scalable Vector Graphics (SVG) | image/svg+xml | ☐ | ☐ | ☐ | |
| 60 | + | WEBP image | image/webp | ☐ | ☐ | ☐ | |
| 61 | + |
| 62 | + |
| 63 | + * [ ] Media preview |
| 64 | + |
| 65 | + | File type | MIME type | Preview Support | |
| 66 | + |-----------------------------|-------------------|:---------------:| |
| 67 | + | AAC audio | audio/aac | ☐ | |
| 68 | + | MP3 audio | audio/mpeg | ☐ | |
| 69 | + | CD audio | application/x-cdf | ☐ | |
| 70 | + | OGG audio | audio/ogg | ☐ | |
| 71 | + | Opus audio | audio/opus | ☐ | |
| 72 | + | Waveform Audio Format | audio/wav | ☐ | |
| 73 | + | WEBM audio | audio/webm | ☐ | |
| 74 | + | AVI: Audio Video Interleave | video/x-msvideo | ☐ | |
| 75 | + | MP4 audio | video/mp4 | ☐ | |
| 76 | + | MPEG Video | video/mpeg | ☐ | |
| 77 | + | OGG video | video/ogg | ☐ | |
| 78 | + | WEBM video | video/webm | ☐ | |
| 79 | + |
| 80 | + * [ ] Compressed archive preview |
| 81 | + |
| 82 | + | File type | MIME type | Preview Support | |
| 83 | + |-------------------------|---------------------|:---------------:| |
| 84 | + | BZip archive | application/x-bzip | ☐ | |
| 85 | + | BZip2 archive | application/x-bzip2 | ☐ | |
| 86 | + | GZip Compressed Archive | application/gzip | ☐ | |
| 87 | + | RAR archive | application/vnd.rar | ☐ | |
| 88 | + | Tape Archive (TAR) | application/x-tar | ☐ | |
| 89 | + | ZIP archive | application/zip | ☐ | |
| 90 | + |
| 91 | +## Development Plan |
| 92 | + |
| 93 | +## Contact |
| 94 | + |
| 95 | +* Mentor: [Yue Lan], [Mail to him] |
| 96 | + |
| 97 | +[Yue Lan]: https://github.com/Yue-Lan |
| 98 | +[Mail to him]: mailto:[email protected] |
| 99 | + |
| 100 | +## License |
| 101 | + |
| 102 | +[](http://creativecommons.org/licenses/by-sa/4.0/) |
| 103 | + |
| 104 | +This work is licensed under a [Creative Commons Attribution-ShareAlike 4.0 International License](http://creativecommons.org/licenses/by-sa/4.0/). |
0 commit comments