ispyisail
149ae961cc
Fix bugtracker #343 : saving reorders texts and shapes after an edit
...
Diagram::toXml() writes texts, images, shapes and tables in items()
order. The diagram scene uses NoIndex, and Qt's linear index sorts its
item list by pointer address the first time any item is removed from
the scene, which the editor does constantly (selection handles, for
one). From then on the order in the saved file follows memory
addresses, so moving one element reshuffles unrelated blocks and a
version-control diff of the project becomes unreadable.
Write those blocks in stacking order instead, read from a rect query,
which Qt sorts by z and insertion order even with NoIndex. Reloading a
file rebuilds exactly that order, so a resave is stable and the drawing
does not change. Elements and conductors were already sorted.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01G2d2Zi8BfrYRPX88zhaoFG
2026-09-25 21:16:34 +12:00
..
2026-09-24 15:17:17 +02:00
2026-09-23 21:45:16 +02:00
2026-09-22 15:38:22 +02:00
2026-01-16 15:24:35 +01:00
2026-01-26 18:47:43 +01:00
2026-09-25 09:32:10 +12:00
2026-09-25 17:24:17 +12:00
2026-09-22 21:56:31 +12:00
2026-08-17 10:25:44 +02:00
2026-09-18 14:31:49 +12:00
2026-09-22 09:07:27 +02:00
2026-09-17 21:33:05 +02:00
2026-07-31 09:52:32 +12:00
2026-09-11 20:11:19 +03:00
2026-08-11 11:48:58 +12:00
2025-05-22 21:33:32 +02:00
2026-09-24 19:46:26 +12:00
2026-01-16 15:24:35 +01:00
2026-09-07 10:44:30 +02:00
2026-01-16 15:24:35 +01:00
2026-09-17 05:41:50 -05:00
2026-09-23 02:47:25 +02:00
2026-09-17 05:41:50 -05:00
2026-09-25 10:55:30 +12:00
2026-01-16 15:24:35 +01:00
2026-09-24 22:20:43 +12:00
2026-08-23 18:25:23 +02:00
2026-09-25 03:53:15 +02:00
2026-09-24 22:30:20 +12:00
2026-09-24 10:30:01 +02:00
2026-01-16 15:24:35 +01:00
2026-08-09 09:11:40 +02:00
2026-08-09 09:11:40 +02:00
2026-09-13 02:00:50 +12:00
2026-09-11 20:12:09 +03:00
2026-01-16 15:24:35 +01:00
2026-01-16 15:24:35 +01:00
2026-09-23 09:08:21 +12:00
2026-08-13 08:50:24 +08:00
2026-09-11 20:12:09 +03:00
2026-09-10 22:44:27 +02:00
2026-08-03 13:19:51 +12:00
2026-01-16 15:24:35 +01:00
2026-09-12 23:06:15 +12:00
2026-01-16 15:24:35 +01:00
2026-01-16 15:24:35 +01:00
2026-01-16 15:24:35 +01:00
2026-09-20 21:56:43 +02:00
2026-01-16 15:24:35 +01:00
2026-01-16 15:24:35 +01:00
2026-01-16 15:24:35 +01:00
2026-01-16 15:24:35 +01:00
2026-08-08 00:32:31 +02:00
2026-01-16 15:24:35 +01:00
2026-09-09 11:45:36 +12:00
2026-01-16 15:24:35 +01:00
2026-01-16 15:24:35 +01:00
2026-09-25 21:16:34 +12:00
2026-09-20 13:05:13 +02:00
2026-09-23 16:37:45 +12:00
2026-08-22 11:25:47 +02:00
2026-07-14 19:27:16 +02:00
2026-01-16 15:24:35 +01:00
2026-09-23 09:20:31 +12:00
2026-09-22 09:07:27 +02:00
2026-01-16 15:24:35 +01:00
2026-01-16 15:24:35 +01:00
2026-09-07 20:54:18 +12:00
2026-09-23 17:31:38 +12:00
2026-09-23 11:30:30 +12:00
2026-09-07 10:44:30 +02:00
2026-09-07 10:44:30 +02:00
2026-08-08 21:53:20 +12:00
2026-04-26 10:48:47 +02:00
2026-07-14 19:27:16 +02:00
2026-01-16 15:24:35 +01:00
2026-08-08 00:32:31 +02:00
2026-01-16 15:24:35 +01:00
2026-09-19 12:22:24 -05:00
2026-01-16 15:24:35 +01:00
2026-08-09 09:11:40 +02:00
2026-01-16 15:24:35 +01:00
2026-09-19 12:22:24 -05:00
2026-05-13 19:42:11 +02:00
2026-09-23 16:37:45 +12:00
2026-08-04 16:36:23 +12:00
2026-01-16 15:24:35 +01:00
2026-01-16 15:24:35 +01:00
2026-09-22 08:03:07 +02:00
2026-01-16 15:24:35 +01:00
2026-09-07 10:44:30 +02:00
2026-01-16 15:24:35 +01:00
2026-08-08 08:09:45 +02:00
2026-08-06 21:37:40 +02:00
2026-08-09 19:25:56 +02:00
2026-08-06 21:37:40 +02:00
2026-09-03 15:05:22 +02:00
2026-04-19 10:44:52 +02:00
2026-09-16 15:40:41 +12:00
2026-09-16 15:40:41 +12:00
2026-09-17 00:07:46 +02:00
2026-06-20 22:31:06 +12:00
2026-09-24 21:41:00 +12:00
2026-08-11 11:33:28 +12:00
2026-01-16 15:24:35 +01:00
2026-09-20 22:58:08 +02:00
2026-09-20 22:58:08 +02:00
2026-08-24 18:24:30 +02:00
2026-08-14 08:58:36 +02:00
2026-09-18 18:28:48 +02:00
2026-08-12 12:29:56 +02:00
2026-09-23 18:38:38 +02:00
2026-09-23 16:47:07 +12:00
2026-09-25 09:56:04 +12:00
2026-09-24 15:45:33 +02:00
2026-01-16 15:24:35 +01:00
2026-01-16 15:24:35 +01:00
2026-09-24 22:30:20 +12:00
2026-09-23 11:30:30 +12:00
2026-09-20 10:44:09 -05:00
2026-09-20 10:44:09 -05:00
2026-09-16 18:51:34 +12:00
2026-09-16 18:51:34 +12:00
2026-09-17 23:19:59 +12:00
2026-09-17 23:19:59 +12:00
2026-08-05 05:26:57 +12:00
2026-08-05 05:26:57 +12:00
2026-09-21 22:05:31 +02:00
2026-09-20 12:20:01 -05:00
2026-09-24 15:17:17 +02:00
2026-09-24 15:17:17 +02:00
2026-01-16 15:24:35 +01:00
2026-01-16 15:24:35 +01:00
2026-01-16 15:24:35 +01:00
2026-01-16 15:24:35 +01:00
2026-09-20 12:45:07 -05:00
2026-09-19 12:26:06 -05:00
2026-08-16 07:16:33 +02:00
2026-01-16 15:24:35 +01:00
2026-09-17 00:07:46 +02:00
2026-07-17 10:25:49 +02:00
2026-08-08 00:32:31 +02:00
2026-01-16 15:24:35 +01:00
2026-09-17 00:07:46 +02:00
2026-09-17 00:07:46 +02:00
2026-08-09 01:34:22 +02:00
2026-01-16 15:24:35 +01:00
2026-09-17 00:07:46 +02:00
2026-01-16 15:24:35 +01:00
2026-07-17 10:29:13 +02:00
2026-07-17 10:29:13 +02:00
2026-09-22 23:10:34 +12:00
2026-08-02 22:11:30 +12:00
2020-09-07 22:03:40 +02:00
2026-01-16 15:24:35 +01:00
2026-01-16 15:24:35 +01:00
2026-01-16 15:24:35 +01:00
2026-09-20 22:58:08 +02:00
2026-08-08 12:31:45 +02:00
2026-09-17 00:07:46 +02:00
2026-09-17 00:07:46 +02:00
2026-06-11 12:39:43 +12:00
2026-06-11 12:39:43 +12:00