Skip to main content
Version: 1.2.9

UI/UX & Navigation Technical Reference

This page describes the user interface framework, navigation routing patterns, dark/light theme switching, and the Content Hub attachment management system.

Codebase Mapโ€‹

LayerPathPurpose
Root Shellqml/TSApp.qmlApplication entry point and layout shell
Hamburger Menuqml/components/NavigationMenu.qmlDesktop/mobile navigation drawer
Shared Layoutsqml/components/Custom grids, text widgets, and icons
Attachment UIqml/features/updates/Attachments.qmlAttachments grid and browser screens
Helper Utilsmodels/utils.jsUI formats and theme helpers

Interface Design and Navigation Layoutโ€‹

The application utilizes QML (Qt Quick Controls 2 - Suru Theme layout) optimized for convergent platforms:

1. Multi-Pane Responsive Design (Convergence)โ€‹

  • Mobile Mode: Single active page. Left edge swipes trigger a drawer menu.
  • Desktop/Tablet Mode: Employs a split-pane layout. Navigation menu is pinned permanently to the left side while sub-menus and detail screens open in side-by-side viewports.

2. Navigation Routingโ€‹

Navigation handles sequential hierarchy (e.g. Projects -> Tasks -> Timesheets) using a central stack model:

StackView {
id: pageStack
anchors.fill: parent
initialItem: Qt.resolvedUrl("features/dashboard/Dashboard.qml")
}

Content Hub Attachment Systemโ€‹

Ubuntu Touch uses the Content Hub portal mechanism to share files across application boundaries securely.

Local Schema Mappingsโ€‹

ir_attachment_appโ€‹

Caches attachment metadata.

  • id (INTEGER, Primary Key): Odoo attachment ID.
  • name (TEXT): File name.
  • datas (TEXT): Base64 encoded file data (if stored locally).
  • res_model (TEXT): Linked model name (e.g., project.task).
  • res_id (INTEGER): Linked record ID.

attachment_download_appโ€‹

Tracks download status of large attachments.

  • attachment_id (INTEGER): References the attachment record.
  • local_path (TEXT): Absolute path to file on disk.
  • status (TEXT): State (NOT_DOWNLOADED, DOWNLOADING, DOWNLOADED).

Attachment Synchronization Flowโ€‹