<feed xmlns='http://www.w3.org/2005/Atom'>
<title>BobinkQtOpcUa/demo, branch master</title>
<subtitle>High-level C++/QML library for making OPC UA applications with Qt Quick</subtitle>
<id>http://git.tvcloud.fr/cgit.cgi/BobinkQtOpcUa/atom?h=master</id>
<link rel='self' href='http://git.tvcloud.fr/cgit.cgi/BobinkQtOpcUa/atom?h=master'/>
<link rel='alternate' type='text/html' href='http://git.tvcloud.fr/cgit.cgi/BobinkQtOpcUa/'/>
<updated>2026-04-01T09:54:12Z</updated>
<entry>
<title>Check all unchecked return values and guard error paths</title>
<updated>2026-04-01T09:54:12Z</updated>
<author>
<name>Thomas Vanbesien</name>
<email>tvanbesi@proton.me</email>
</author>
<published>2026-04-01T09:54:12Z</published>
<link rel='alternate' type='text/html' href='http://git.tvcloud.fr/cgit.cgi/BobinkQtOpcUa/commit/?id=ed9025f03aa6fcbf720f4e022f3594c85de0a385'/>
<id>urn:sha1:ed9025f03aa6fcbf720f4e022f3594c85de0a385</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add passphrase-protected private key support</title>
<updated>2026-03-31T15:44:35Z</updated>
<author>
<name>Thomas Vanbesien</name>
<email>tvanbesi@proton.me</email>
</author>
<published>2026-03-31T15:44:35Z</published>
<link rel='alternate' type='text/html' href='http://git.tvcloud.fr/cgit.cgi/BobinkQtOpcUa/commit/?id=f3beb1624c24012c246d17a40c4e10c1c6b3b5b5'/>
<id>urn:sha1:f3beb1624c24012c246d17a40c4e10c1c6b3b5b5</id>
<content type='text'>
Wire up QOpcUaClient::passwordForPrivateKeyRequired to a QML dialog,
mirroring the existing certificate trust flow (local QEventLoop + 30s
timeout).
</content>
</entry>
<entry>
<title>Refactor Main.qml into separate components and add comments</title>
<updated>2026-03-23T13:55:32Z</updated>
<author>
<name>Thomas Vanbesien</name>
<email>tvanbesi@proton.me</email>
</author>
<published>2026-03-23T13:55:32Z</published>
<link rel='alternate' type='text/html' href='http://git.tvcloud.fr/cgit.cgi/BobinkQtOpcUa/commit/?id=5ff9705937ffc1647587e1b228effd30c8a0e309'/>
<id>urn:sha1:5ff9705937ffc1647587e1b228effd30c8a0e309</id>
<content type='text'>
Extract ConnectionPage, CertTrustDialog, and DebugConsole from Main.qml
into their own QML files. Add inline comments to
OpcUaMonitoredNode::handleValueUpdated explaining the range write guard,
value store, and timestamp update.
</content>
</entry>
<entry>
<title>Fix implicitWidth binding loop in certificate trust dialog</title>
<updated>2026-03-06T14:13:06Z</updated>
<author>
<name>Thomas Vanbesien</name>
<email>tvanbesi@proton.me</email>
</author>
<published>2026-03-06T14:13:06Z</published>
<link rel='alternate' type='text/html' href='http://git.tvcloud.fr/cgit.cgi/BobinkQtOpcUa/commit/?id=1c934401dae122a063890fee1d6f39b94d2afeeb'/>
<id>urn:sha1:1c934401dae122a063890fee1d6f39b94d2afeeb</id>
<content type='text'>
Set explicit implicitWidth on the Dialog to prevent the Fusion style
binding loop warning, and add text wrapping for certificate info.
</content>
</entry>
<entry>
<title>Fix all qmllint warnings in demo QML files</title>
<updated>2026-02-26T12:56:43Z</updated>
<author>
<name>Thomas Vanbesien</name>
<email>tvanbesi@proton.me</email>
</author>
<published>2026-02-26T12:56:43Z</published>
<link rel='alternate' type='text/html' href='http://git.tvcloud.fr/cgit.cgi/BobinkQtOpcUa/commit/?id=d2e8cebe210d558d4abba31eebfb83155e7e5009'/>
<id>urn:sha1:d2e8cebe210d558d4abba31eebfb83155e7e5009</id>
<content type='text'>
- Add pragma ComponentBehavior: Bound to both QML files
- Qualify unqualified property accesses with component id
- Replace var logFunction property with logRequested signal
- Fix layout-managed Rectangle to use implicitHeight
- Register OpcUaNodeInfo gadget as QML_VALUE_TYPE
</content>
</entry>
<entry>
<title>Add .qmlformat.ini, qmlls support, and format QML files</title>
<updated>2026-02-25T17:08:28Z</updated>
<author>
<name>Thomas Vanbesien</name>
<email>tvanbesi@proton.me</email>
</author>
<published>2026-02-25T15:11:53Z</published>
<link rel='alternate' type='text/html' href='http://git.tvcloud.fr/cgit.cgi/BobinkQtOpcUa/commit/?id=7bb49eabdf8d86567660c8825892eb323fa6e674'/>
<id>urn:sha1:7bb49eabdf8d86567660c8825892eb323fa6e674</id>
<content type='text'>
- Enable QT_QML_GENERATE_QMLLS_INI for QML Language Server support
- Add IMPORT_PATH to demo's qt_add_qml_module so .qmlls.ini includes
  the local build QML directory alongside the Qt system path
- Add editor setup section to README with qmlls and qmlformat guidance
- Add QML formatting section to French guide
- Reformat demo QML files with .qmlformat.ini (line wrapping at 80 cols)
</content>
</entry>
<entry>
<title>Make build system usable as a git submodule</title>
<updated>2026-02-24T17:18:31Z</updated>
<author>
<name>Thomas Vanbesien</name>
<email>tvanbesi@proton.me</email>
</author>
<published>2026-02-24T16:41:35Z</published>
<link rel='alternate' type='text/html' href='http://git.tvcloud.fr/cgit.cgi/BobinkQtOpcUa/commit/?id=3e8111aaee070dc9b5d51cab3fd44ff88841f63e'/>
<id>urn:sha1:3e8111aaee070dc9b5d51cab3fd44ff88841f63e</id>
<content type='text'>
Replace CMAKE_SOURCE_DIR/CMAKE_BINARY_DIR with PROJECT_SOURCE_DIR/
PROJECT_BINARY_DIR so paths resolve correctly from add_subdirectory().
Guard global settings (CMAKE_CXX_STANDARD, CMAKE_BUILD_RPATH,
qt_standard_project_setup, demo) behind PROJECT_IS_TOP_LEVEL.
Export OPEN62541_INSTALL_DIR and QTOPCUA_INSTALL_DIR as CACHE INTERNAL
so parent projects can set up RPATH and plugin paths.
</content>
</entry>
<entry>
<title>Add ValueRank and ArrayDimensions to OpcUaNodeInfo</title>
<updated>2026-02-24T15:51:15Z</updated>
<author>
<name>Thomas Vanbesien</name>
<email>tvanbesi@proton.me</email>
</author>
<published>2026-02-24T15:51:15Z</published>
<link rel='alternate' type='text/html' href='http://git.tvcloud.fr/cgit.cgi/BobinkQtOpcUa/commit/?id=75d77c39924629eaebf6b721a541407e19ced762'/>
<id>urn:sha1:75d77c39924629eaebf6b721a541407e19ced762</id>
<content type='text'>
Read both attributes at node setup alongside the existing metadata.
ValueRank is mapped to human-readable names (Scalar, OneDimension, etc.)
and ArrayDimensions is formatted as a comma-separated size list.
Both are shown in the demo tooltip.
</content>
</entry>
<entry>
<title>Add writeValueAtRange for index-range array writes</title>
<updated>2026-02-23T16:35:34Z</updated>
<author>
<name>Thomas Vanbesien</name>
<email>tvanbesi@proton.me</email>
</author>
<published>2026-02-23T16:35:34Z</published>
<link rel='alternate' type='text/html' href='http://git.tvcloud.fr/cgit.cgi/BobinkQtOpcUa/commit/?id=4ac860baa81f30e3e1fc9aaa42a3f0bb0537543a'/>
<id>urn:sha1:4ac860baa81f30e3e1fc9aaa42a3f0bb0537543a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Improve demo UI: server info page, page descriptions, layout polish</title>
<updated>2026-02-20T15:40:42Z</updated>
<author>
<name>Thomas Vanbesien</name>
<email>tvanbesi@proton.me</email>
</author>
<published>2026-02-20T15:40:42Z</published>
<link rel='alternate' type='text/html' href='http://git.tvcloud.fr/cgit.cgi/BobinkQtOpcUa/commit/?id=547f2830beb89c4c5152959fe9f852e5237f79ad'/>
<id>urn:sha1:547f2830beb89c4c5152959fe9f852e5237f79ad</id>
<content type='text'>
Add Server Info as the landing page after connection (CurrentTime,
StartTime, State, ProductName, SoftwareVersion). Add Non-Existent
Nodes test page. Add descriptions to all pages.

Show displayName in identifier column, format ServerState enum as
human-readable string. Improve server list layout (name + URI stacked).
Show scrollbar when list overflows, make PKI Configure a regular button.
</content>
</entry>
</feed>
