Configuration - SEB103/QtOpcUaManager GitHub Wiki

English · Deutsch · Français · Italiano · Русский · Українська

Configuration

This chapter describes what the application stores, where it stores it, and the settings that affect its behavior. The location policy is implemented once in AppPaths (see Architecture).

Installed versus portable

The application runs in one of two modes, decided once at startup:

  • Installed — binaries live in the read-only install directory, while user data (settings, logs, cache, PKI, and the writable database) lives in the per-user Windows locations.
  • Portable — when a portable.ini marker sits next to the executable, all user data lives under the application directory, so the whole installation can be moved together with its data.

Read-only material bundled next to the executable (the seed database and the PKI skeleton) is copied into writable storage on first run, so the program works even when its install directory is not writable.

Application settings

General settings are kept in an INI store. These include the last connection, the pinned focus node, the recent-projects list, the selected UI language, the color theme, the interface zoom, and the window and pane layout.

Client projects (.uaproj)

A client project stores the connection configuration and the set of monitored nodes so a session can be restored later (ProjectData). Projects are JSON files written atomically. Recent projects are remembered in the application settings rather than in the project file.

Server projects (.uaserver)

A server project stores the full server definition — namespaces, nodes, enumeration types, endpoint, security, and behavior rules (ServerProject::ProjectData). It is a JSON file written atomically by its serializer.

Monitored-node database

Monitored variables are persisted in a SQLite database (NodeDatabase), seeded from a bundled default on first run and never overwritten on later upgrades, so your data survives updates.

Security material (PKI)

Certificate-based client security and server security each use a PKI store under the writable data directory. For a designed server, a self-signed certificate is created in the server's own store when you enable secure endpoints.

Language

The UI language (English, German, French, Italian, Russian, Ukrainian) is applied at startup and can be switched at runtime; the choice is saved in the application settings (LocaleController).

Theme, zoom, and window layout

The color theme is chosen on the start page next to the language, or switched in the workspace from View. System follows the light or dark mode of Windows, while Light and Dark keep the theme fixed. The interface zoom (50% to 200%) is changed with Ctrl++, Ctrl+-, and Ctrl+0 or from View > Zoom. Holding Ctrl while turning the mouse wheel zooms in (away from you) or out (towards you) one step per notch; the wheel without Ctrl still scrolls. Both choices are saved in the application settings.

The application also remembers how you left the main window: its size, position, and state (normal, maximized, or full screen), and the sizes of the resizable panes — Address Space, the segments below it, Data View, Attributes, and the structured value view. They are saved on exit and restored at the next start. A window that was last shown on a monitor that is no longer connected opens on the primary screen. View > Full Screen or F11 enters and leaves full screen mode.