WebDav Client

WebDav Client

WebDav GUI client for Aurora OS

The application with the graphical user interface that allows to interact with remote WebDAV server. The application allows to interact with the NextCloud, Yandex.Disk and Communigate server.
CLIENT_ID and CLIENT_SECRET must be specified to build and run the application. These values are required for authentication via OAuth protocol of Yandex API authorization tokens. Each token gives the application access to user data. You can get CLIENT_ID and CLIENT_SECRET here oauth.yandex.ru.

Features

The application has been tested for the following features:

  • The application allows to authorize via NextCloud, Yandex.Disk, Communigate and WebDav server.
  • The application shows the error notification when user credentials are wrong.
  • The application displays remote files and folders.
  • The application allows to navigate through the remote file system hierarchy.
  • The application displays the data about each file and folder in remote directory.
  • The application allows to remove any files and folders from the remote server.
  • The application allows to create new folders on the remote server. The folder name must not be empty or contain the forbidden symbols.
  • The application allows to copy files and folders from the remote server into the local device.
  • The application allows to move files and folders from the remote server into the local device.
  • The application allows to copy files and folders from the local device into the remote server.
  • The application allows to rename files and folders on the remote server.
  • The application allows to move files and folders on the remote server.
  • The application allows to cache files from the remote server to edit the files locally.

WebDav API

The project uses the qwebdavlib library that implements WebDav API for interacting with the remote server.

QWebDav methods that is used:

Application development guidelines

Please consider the following guidelines while developing the application.

Use cases

The application use cases can be found in the application usage manual.

Terms of Use and Participation

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

The contributor agreement documents the rights granted by contributors of the Open Mobile Platform.

Information about the contributors is specified in the AUTHORS file.

Code of conduct is a current set of rules of the Open Mobile Platform which informs you how we expect the members of the community will interact while contributing and communicating.

Project Structure

The project has a standard structure of an application based on C++ and QML for Aurora OS.

  • ru.auroraos.AuroraOsWebDavGuiClient.pro file describes the project structure for the qmake build system.
  • app subproject contains the application source code:
    • app.pro file describes the app subproject structure for the qmake build system.
    • icons directory contains the application icons for different screen resolutions.
    • qml directory contains the QML source code and the UI resources.
      • components directory contains the custom UI components.
      • cover directory contains the application cover implementations.
      • dialogs directory contains the application dialogs.
      • icons directory contains the additional custom UI icons.
      • pages directory contains the application pages.
      • AuroraOsWebDavGuiClient.qml file provides the application window implementation.
    • src directory contains the C++ source code.
      • main.cpp file is the application entry point.
    • translations directory contains the UI translation files.
    • ru.auroraos.AuroraOsWebDavGuiClient.desktop file defines the display and parameters for launching the application.
    • resources.qrc file defines the application resources.
  • core subproject contains the core library source code:
    • core.pro file describes the core subproject structure for the qmake build system.
    • controllers directory contains the C++ classes of app controllers.
    • models directory contains the C++ classes of app models.
    • operations directory contains the C++ classes of app operations.
    • types directory contains the C++ classes with custom types.
    • utils directory contains the C++ utility classes.
  • docs directory contains the project documents:
  • libs subproject contains the application external libs:
    • libs.pro file describes the external libs for the qmake build system.
  • qwebdavlib subproject contains QWebDav library source code.
  • rpm directory contains the rpm-package build settings.

Project Building

The instructions for building the application can be found in the docs/build.md file.

Screenshots

screenshots

This document in Russian / Перевод этого документа на русский язык