Commit Graph

39 Commits

Author SHA1 Message Date
ispyisail 73ad43bd8f Show collection search results as a ranked list
The Collections search hid non-matching rows, so the hits stayed spread
through the expanded folders. Searching "diode" against the shipped
collection left five levels of tree open, and the first visible hit was
"Avalanche diode bidirectional".

The same matches are now shown as a flat list that takes the tree's
place while a search is active, best match first:

  exact name            1000
  name starts with       800
  name contains          600, less the match position
  info field only        300
  less the name length, so "Diode" precedes "Diode Zener bidirectional"

"diode" now gives Diode, diode-tube, Diode bridge, Diodes Module Pilot
Wire, Photodiode. No new index: this ranks what match() already returns
against Qt::UserRole+1, the string built at startup from the name and
every element-info field. An element matching several "+" terms is
listed once, and each row's tooltip is its folder, so similar names can
be told apart.

Double click or Enter on a result places it, as in the tree. Down from
the search field moves into the results, so searching and placing needs
no mouse. Emptying the field brings the tree back.

The query and ranking live in rankedSearch(), which returns hits without
model indexes, so another list can reuse them.

Discussion #676.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01G2d2Zi8BfrYRPX88zhaoFG
(cherry picked from commit 3d6a280f9608758527ef0ca2de7223a19dfbfa45)
2026-09-26 21:40:19 +12:00
ispyisail e6291eb8e8 Place an element from the collection without dragging it
DiagramEventAddElement is already a good placement mode: the element
follows the cursor on the grid, a left click drops it, Space rotates it,
and it stays loaded for a run of the same symbol. Its only caller was
DiagramView::handleElementDrop(), so it could be reached only by
finishing a drag. Double-clicking a symbol in the Collections dock
opened the element editor instead.

- DiagramView::startElementPlacement() is split out of
  handleElementDrop(). defaultPlacementPos() uses the cursor when it is
  over the view and the centre of the visible area otherwise.

- ElementsCollectionWidget emits insertElementRequested() on double
  click, or Enter on the highlighted item. The host decides which view
  receives it, so the widget can later be reused outside the editor.

- When there is nowhere to place it (no folio open, read-only project),
  the element editor opens, as a double click did before.

- "Insérer le dernier élément" (Édition menu, default key A) places the
  last element again. DiagramView reports every placement it starts, so
  an element dropped by drag counts too. Macros are not remembered.

A rather than Space: Space rotates the pending element inside placement
mode and is bound three more times in this editor. The key is a
ShortcutManager default and can be changed in the Shortcuts page.

Double click placing is a behaviour change, so it has a preference,
"elementscollection/double-click-inserts" (default true), shown in
Configuration as an opt-out: "Double-cliquer dans la collection ouvre
l'éditeur d'élément au lieu de l'insérer".

Discussions #676 and #1033.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01G2d2Zi8BfrYRPX88zhaoFG
2026-09-26 11:53:34 +12:00
ispyisail 1b8dea3946 Add consent dialog before EPLAN (.edz) import
Shows the licensing/liability warning text agreed on in PR #513
(scorpio810) before the file picker opens. Import stays disabled
until the "I have read and accept these terms" checkbox is ticked.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-20 21:11:35 +12:00
Shane Ringrose f4ff6c81f9 Add EdzImporter + collection-panel import action (M2)
Wires EPLAN .edz import into the elements panel. EdzImporter orchestrates
EdzArchive -> EdzPart -> EdzElementBuilder and writes the generated .elmt into a
destination collection folder (named by order number). A right-click
"Importer une piece EPLAN (.edz)..." action on a writable collection directory
opens a file picker, runs the importer into that folder's fileSystemPath() and
reloads the panel; errors surface via QetMessageBox. Modeled on newElement().

EdzImporter verified headless against the Python oracle for KG6000/MFH200/
R1D200; the panel wiring is built/tested via the WSL Qt5+KF5 build.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-20 07:34:52 +12:00
Kellermorph ee65142b65 makro 2026-04-16 12:47:02 +02:00
Laurent Trinques 4044d04cc5 One year
Auto-build doxygen docs / doxygen (push) Has been cancelled
Auto-build doxygen docs / deploy (push) Has been cancelled
2026-01-16 15:24:35 +01:00
Laurent Trinques 77bfe84a4c One year 2025-01-04 13:37:40 +01:00
Laurent Trinques e73cf633ce 2023->2024 2024-03-29 10:09:48 +01:00
Laurent Trinques 9afef79629 Update Copyright date 2023-01-01 17:05:57 +01:00
joshua 1a26133a78 Add a QElapsedTimer to compute time used for reload element collection 2022-02-06 15:50:25 +01:00
Laurent Trinques ef58f34c14 Update Copyright date 2021-02-20 12:13:46 +01:00
joshua 2513961cd6 Revert "Update Copyright date"
This reverts commit d04bccc384.
2021-02-06 19:00:48 +01:00
Laurent Trinques d04bccc384 Update Copyright date 2021-02-06 18:33:42 +01:00
Simon De Backer 4ed33109f4 Improve code style, Wrap code for better readability 2020-08-16 14:21:55 +02:00
Simon De Backer d4ee161c07 Mod doc set style de same 2020-08-16 11:19:36 +02:00
Simon De Backer 90417ae509 Fix Copyright indentation 2020-08-16 09:40:14 +02:00
Laurent Trinques e10ae8ce2e Update Copyright date 2020-06-15 17:42:53 +02:00
Claveau Joshua f297e28b64 Loading elements collections doesn't freeze gui anymore. 2020-01-19 11:53:40 +01:00
scorpio810 3ed7a4e63b Minor : update Copyright date
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@5705 bfdf4180-ca20-0410-9c96-a3a8aa849046
2019-01-13 16:56:12 +00:00
scorpio810 e4b1ba9797 Apply clang-tidy's performance-unnecessary-value-param, performance-for-
range-copy


git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@5448 bfdf4180-ca20-0410-9c96-a3a8aa849046
2018-07-19 14:14:31 +00:00
scorpio810 31f36b8625 Modernize-use-override refactors code
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@5009 bfdf4180-ca20-0410-9c96-a3a8aa849046
2017-08-05 02:10:01 +00:00
blacksun 1a9c27b017 Improve last comit
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@4955 bfdf4180-ca20-0410-9c96-a3a8aa849046
2017-05-01 16:22:34 +00:00
blacksun a12198294f Re-enable the button "find element in panel".
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@4953 bfdf4180-ca20-0410-9c96-a3a8aa849046
2017-05-01 11:42:55 +00:00
scorpio810 54c85db29c Minor update Copyright year
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@4860 bfdf4180-ca20-0410-9c96-a3a8aa849046
2017-01-20 10:55:49 +00:00
blacksun ce638c770d Display the name of the current hovered element of the element collection tree, in the status bar.
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@4773 bfdf4180-ca20-0410-9c96-a3a8aa849046
2016-11-10 19:49:33 +00:00
blacksun e1ea01bd81 Elements collection widget: add entry 'directory propertie' in the context menu
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@4743 bfdf4180-ca20-0410-9c96-a3a8aa849046
2016-10-15 13:39:02 +00:00
blacksun 438ce78c4f element collection widget : highlight unused element in a project.
the feature "clean project" does not clean unused elements yet


git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@4561 bfdf4180-ca20-0410-9c96-a3a8aa849046
2016-06-30 09:12:25 +00:00
blacksun 18f56b6540 Element panel widget : improve how an item is updated or added after editing an element with the Qet Element Editor.
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@4555 bfdf4180-ca20-0410-9c96-a3a8aa849046
2016-06-17 08:41:09 +00:00
blacksun e2e0aad9bc Elements collection widget : improve the search
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@4550 bfdf4180-ca20-0410-9c96-a3a8aa849046
2016-06-10 16:20:01 +00:00
blacksun 646f9e7dc6 Fix crash when open Qet with a .qet file has argument
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@4543 bfdf4180-ca20-0410-9c96-a3a8aa849046
2016-06-06 19:07:13 +00:00
blacksun e6c2ed8d5f Minor change to be able to compile with Qt < 5.4
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@4541 bfdf4180-ca20-0410-9c96-a3a8aa849046
2016-06-05 19:55:41 +00:00
blacksun 1b00a457d7 elements collection model : use QStandardItemModel has base class instead of QAbstractItemModel.
Add minor improvement.


git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@4538 bfdf4180-ca20-0410-9c96-a3a8aa849046
2016-06-05 16:34:46 +00:00
blacksun 3b2f5abc30 Bugfix : can't add element dragged from an embedded collection
New element panel, D&D : the pixmap of dragged element is used instead of the Qt default pixmap 


git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@4498 bfdf4180-ca20-0410-9c96-a3a8aa849046
2016-05-22 14:51:09 +00:00
scorpio810 025fa64f67 Minor : update Copyright date
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@4481 bfdf4180-ca20-0410-9c96-a3a8aa849046
2016-05-13 17:40:36 +00:00
blacksun 52b588ea50 New element panel : add a "show only this dir" Qaction.
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@4355 bfdf4180-ca20-0410-9c96-a3a8aa849046
2016-02-26 09:58:55 +00:00
blacksun 4f222d2843 New element panel can read the embedded collection of project (only at opening, other fonctionnality isn't created yet)
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@4287 bfdf4180-ca20-0410-9c96-a3a8aa849046
2015-12-16 17:16:15 +00:00
blacksun ed28d06d9d Improve the remove of an item in the new panel. No need to reload the collection, use QAbstractItemModel::removeRows instead.
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@4285 bfdf4180-ca20-0410-9c96-a3a8aa849046
2015-12-12 11:09:31 +00:00
blacksun 6bf52bb525 Enable the drag and drop inside the new element panel
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@4284 bfdf4180-ca20-0410-9c96-a3a8aa849046
2015-12-09 20:27:31 +00:00
blacksun 827fba8ce4 Add new element panel
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@4283 bfdf4180-ca20-0410-9c96-a3a8aa849046
2015-12-08 16:52:10 +00:00