Snap Gallery

Snap Gallery

The application demonstrates a gallery of images and camera work.

RU | EN

Snap Gallery

Description

The application demonstrates a gallery of images with the ability to automatically track changes in the directory, as well as a camera module, which supports both flashlight and non-flashlight photography.
When the program starts, it recursively scans the $HOME/Pictures directory and displays all images found in all subfolders. The gallery can respond dynamically to changes in files:

  • Creating
  • Editing
  • Deleting

Off and on flashlight modes are available for the camera module. The way to reload the standard interface of camera_aurora plugin is shown.

The following platform-dependent plugins are used for the application:

Table of Contents

Compatibility

The application is correctly built starting from Aurora OS version 5.0.0 and Flutter SDK 3.27.3 or higher is required for camera_aurora package to work. For flashlight and camera mode to work simultaneously you need Aurora OS version higher than 5.1.3.85 and streamcamera library version not lower than 1.6.5.

Build features

Go to the directory with the application, first update the dependencies:

flutter-aurora pub get

Launch build:

flutter-aurora run

Branch info

Application versions conform to the branch naming convention

Install and launch

The following dependencies will be required when building the package:

BuildRequires: pkgconfig(glesv2)
BuildRequires: pkgconfig(streamcamera)
BuildRequires: pkgconfig(Qt5Core)
BuildRequires: pkgconfig(Qt5Multimedia)
BuildRequires: pulseaudio-devel
BuildRequires: pulseaudio

After the build, you must explicitly remove these dependencies when installing the package in order for the validator to skip the plug-in libraries:

%global __provides_exclude_from ^%{_datadir}/%{name}/lib/.*$
%global __requires_exclude ^lib(speex|opus|openjp2|theoraenc|theoradec|vpx|webp|webpmux|avcodec|avdevice|avfilter|avformat|avutil|swresample|swscale|yuv|ZXing|jpeg|dconf|flutter-embedder|maliit-glib|.+_platform_plugin)\\.so.*$

The application needs to have permissions on Camera and UserDirs in order to run. These permissions are set in the .desktop file.

Screenshots

Gallery page Camera page Image view page Image info page Delete dialog

Project Structure

The project has a standard application structure based on Dart and Flutter for Aurora OS.

  • aurora the directory contains C++ source code and resources needed for installation.
  • lib the directory contains Dart plugin source code.
    • components the directory contains components for creating the program interface.
    • pages the directory contains the pages of the application.
    • providers the directory contains the logic to control the state of the application.
    • main.dart the file is the entry point to the application.
  • pubspec.yaml the file describes the dependencies and settings of the plugin name.

Terms of Use and Participation in Development

The source code of the project is provided under license, which allows to use it in third-party applications.

To participate in the development of the project, please read the member agreement. If you plan to submit your own source code for inclusion in the project, you will need to accept the CLA terms and conditions.

Participant information is listed in the AUTHORS file.

The Code of Conduct is the current set of rules of the Open Mobile Platform Company, which informs about the expectations for interaction between community members when communicating and working on projects.