Commit Graph

6478 Commits

Author SHA1 Message Date
Samuel Abels
5aaf46aa8b Avoid triggering circular imports by using traceback instead of inspect 2025-06-30 21:30:34 +02:00
Bas Ruigrok
b7ac8a7afe Inform Coin to use EGL when on Wayland (#21917)
* Inform Coin to use EGL when on Wayland

* Only check for Wayland on Linux and BSD
2025-06-30 11:12:02 -05:00
mosfet80
6503d22fe7 Clean EditableDatumLabel.cpp
removed unused variable
2025-06-28 19:05:06 -05:00
Chris Hennes
79aa35a288 Gui: Selectively disable MSVC 4251 warning
This warning is not relevant to our project in this instance. We are not concerned about ABI-compatibility of DLLs since they are all compiled at the same time when building FreeCAD.
2025-06-28 18:58:32 -05:00
Kacper Donat
c383703c01 Merge pull request #22150 from Rexbas/remove-camera-adjust-method
Remove Command::adjustCameraPosition()
2025-06-25 13:11:00 +02:00
Kacper Donat
bca09d0ce6 Gui: Use no_except=true for getExtensionByType in ViewProviderDragger
Fixes: #22166
2025-06-25 12:54:11 +02:00
Kacper Donat
a1f0d7b5fc Spreadsheet Fix '=' regression in spreadsheets (#22146)
* Tools: Add ExpressionLineEdit to QtDesigner plugin

* Spreadsheet: Only use validator when when prefix is not '='

---------

Co-authored-by: wmayer <wmayer@freecad.org>
2025-06-23 22:20:25 +02:00
Benjamin Nauck
1ef1a53679 Merge pull request #21943 from tetektoza/fix/21927_change_enter_ovp_accepting_dim
Sketcher: Change enter behavior on OVP to put OVP in lock state only
2025-06-23 21:18:41 +02:00
Kacper Donat
c9532316ff Gui: Fix wildcard call disconnects warnings Qt6.9 (#22096)
* Gui: Fix wildcard call disconnects warnings Qt6.9

* Gui: Fix typo

---------

Co-authored-by: Benjamin Nauck <benjamin@nauck.se>
2025-06-23 17:42:03 +00:00
tiagomscardoso
ab6e3d18dd Gui: prevent hover tooltip from covering menu items (#22019)
* fix #21330: prevent hover tooltip from covering menu items
Instead of showing the tooltip at the mouse cursor,
it is now displayed to the right of the corresponding
menu option, avoiding overlap with the menu itself.

* Update src/Gui/Action.cpp

---------

Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>
2025-06-23 17:40:16 +00:00
Bas Ruigrok
a2dc39a5bc Gui: Remove adjustCameraPosition() 2025-06-23 19:29:11 +02:00
tetektoza
625458f119 Sketcher: Make TAB clear the field if user hasn't valid input 2025-06-23 19:25:57 +02:00
mosfet80
c25782551b fix unused variable
remove unused parameter ‘method’
2025-06-23 18:12:01 +02:00
Benjamin Nauck
0fd4f2bac6 Spreadsheet: Only use validator when when prefix is not '=' 2025-06-23 16:14:35 +02:00
Kacper Donat
f71d1cf875 Gui: Use proper placement property for Link
Links require different placement property (LinkPlacement) to be used,
otherwise it breaks the transform.

Fixes: #20776
2025-06-22 23:04:06 -05:00
xtemp09
0a9a16ffe3 [GUI] Remove dark fringe around letters (#21536)
Closes #12394

Co-authored-by: Kacper Donat <kacper@kadet.net>
2025-06-22 21:24:51 -05:00
tetektoza
0e21764c42 Core: Use bypass WM hint for X11 for search list in preferences 2025-06-23 01:24:50 +02:00
tetektoza
581f492660 Core: Handle globalPos for both Qt6 and Qt5 2025-06-23 01:24:50 +02:00
tetektoza
b5b86d5c51 Core: Correct font sizes to be smaller in search box in preferences 2025-06-23 01:24:50 +02:00
tetektoza
f4785d6a8f Core: Remove displayText field from search box's result
Removes displayText from the searchboxes result, as it's being handled
differently and there are two other fields that store this previously
concatenated information separately.
2025-06-23 01:24:50 +02:00
tetektoza
5daaa8edea Core: Move reusable parts of MixedFontDelegate to separate functions
Co-Authored-By: Kacper Donat <kacper@kadet.net>
2025-06-23 01:24:50 +02:00
tetektoza
d2f370aeb6 Core: Use separate roles for found item in font delegate for search 2025-06-23 01:15:27 +02:00
tetektoza
e9f7c95f0e Core: Use designated init for SearchResult in preferences 2025-06-23 01:15:27 +02:00
tetektoza
9d12f70506 Core: Use an enum for search bar popup in preferences 2025-06-23 01:15:27 +02:00
tetektoza
94559a3092 Core: Extract preferences search bar to it's own class 2025-06-23 01:15:27 +02:00
tetektoza
b3f37d262a Core: Formatting changes for search in preferences 2025-06-23 01:15:27 +02:00
tetektoza
2412d99966 Core: Introduce searching in Preferences
This PR introduces search box in preferences.
Features:
*supports left click on the result, taking user to the result
*clicking anywhere cancels searching and closes popup box, same with ESC
key
*double click on the result closes the popup too (same behavior as
enter)
*supports enter (although if you are on the position you are already
on it so enter just closes the popup basically)
*escape closes it
*you can navigate through the list with mouse
*support fuzzy search so stuff like "OVP" is being matched to "On-View-Parameters"
*there is hierarchical display (tab/page/setting)
*some of the results are prioritized but fuzzy search prioritizing is the most important
*highlights found item
*goes to tab/page of found item
*if the pop-up box won't fit next to the right side of the screen,
it is added underneath the search box
2025-06-23 01:15:27 +02:00
tetektoza
ecad444131 Gui: Allow users to add groups to active objects
As the title says, if right now there is Arch type active (like Level,
Building, etc. etc.), then it's not possible to assign Group to it
automatically (it's being created on root level of the document).

So this patch basically takes an active object and tries to insert it.
2025-06-22 23:50:12 +02:00
tetektoza
908941f2d1 Core: Add a possibility to extract active object based on extension 2025-06-22 23:48:52 +02:00
tetektoza
b330a9399f Sketcher: Make TAB lock the label if user has typed previously 2025-06-21 13:48:12 +02:00
tetektoza
d553e21e53 Sketcher: Add QLabel header for newly added locked icon 2025-06-21 12:46:37 +02:00
tetektoza
de966ae5be Sketcher: Initialize lock icon only once 2025-06-21 12:46:27 +02:00
tetektoza
cc207edb1a Sketcher: Change enter behavior on OVP to put OVP in lock state only
This patch adds/changes a couple of things:
* if you press enter on a label now, it moves you to another label and
  adds the label and lock on the previous label, instead of previous behavior
  where it was accepting whole dimension
* if you press enter and have lock state on both labels then you move to
  next stage
* if you press ctrl+enter it's as is if you'd press enter on both labels
  (the object becomes constrained with whatever dimensions that were in
  both labels)
* tab still works the same way
* you can remove "Lock" state from the label by typing something
  additional or removing the dimension at all
2025-06-21 12:46:27 +02:00
Benjamin Nauck
a6485d1ae1 Gui: Use middle elide for text in model tree 2025-06-20 22:37:37 +02:00
Max Wilfinger
45ee397b43 Gui: Add toggle overlay icons 2025-06-20 22:36:40 +02:00
Benjamin Nauck
079a81c59d Merge pull request #22025 from tetektoza/sketcher_regression_1 2025-06-20 19:21:14 +02:00
tetektoza
c8d2ae494b Sketcher: Handle additional characters for OVP in regexp
Co-authored-by: Benjamin Nauck <benjamin@nauck.se>
2025-06-20 00:33:48 +02:00
Alfredo Monclus
acdfdd5d1b Gui: Tasks: fix in place close and ok buttons 2025-06-19 18:42:24 +02:00
Kris
0b6a451790 Gui: Move Submenu Commands in Tool Menu (#20864)
* Moved tools submenu commands and title case

* Apply suggestions from code review

Co-authored-by: Max Wilfinger <6246609+maxwxyz@users.noreply.github.com>

---------

Co-authored-by: Kacper Donat <kadet1090@gmail.com>
Co-authored-by: Max Wilfinger <6246609+maxwxyz@users.noreply.github.com>
2025-06-19 08:33:36 +02:00
tetektoza
0662b8c0bb Gui: Change ordering of names in Link property
As the title says, currently it is:
ObjName (Label), this patch changes it to Label (ObjName) to be more
user friendly.
2025-06-18 23:38:52 +02:00
tetektoza
f5e26f2fda Gui: Emit signal to EditableDatumLabel only if there's no digits
Small regression of mine, basically this signal to remove set/locked
state of EditableDatumLabel should be only sent out if current text in
the label is empty or it doesn't contain digits.

Previously it was emitted every intermediate wrong state, so stuff like
"71." was also being matched, and it resulted in resetting the locked
state of the label, which in turn resulted in keeping user from entering
float values.
2025-06-17 00:34:21 +02:00
tetektoza
4c1e7835bd Core: Add guard in Tree to ensure we don't process items during deletion 2025-06-17 00:15:49 +02:00
tetektoza
9a9242817d Core: Fix crashes during item deletion in specific selection order
This patch fixes crashes that we've noticed during migration from Qt5 to
Qt6 in recent months.

If you select items in a tree in a specific direction or range (all, or
from bottom to top) and delete them, there is a high change user will
experience a crash in `testStatus` function. This problem arises because
we're getting into use-after-free situation.

Looking at the callstack there are a lot of calls to
`itemSelectionChanged` during deletion, which takes over item creation
after deletion in `TreeWidget::_slotDeleteObject`. This in turn causes
`DocumentObjectItem::testStatus` to be called prematurely when we have
dangling pointers in object map still. `itemSelectionChanged` signal is
being transmitted because the selection range is changing as we're
constantly deleting and readding certain items.

Previously there was `blockSelection` call during deletion, but it turns
out the signals can still be emitted even AFTER we delete the item. This
had to somehow change between Qt5 and Qt6. So, to be safe, move the
signal block for selection before the obj deletion loop to be sure we
won't retransmit this signal during an uncertain state.
2025-06-17 00:01:24 +02:00
Chris Hennes
a5cc926bf5 Merge pull request #21921 from furgo16/add-prefcheckablegroupbox
Gui, Draft, BIM: Add PrefCheckableGroupBox, use it in IFC exporter preferences page
2025-06-16 11:06:30 -05:00
Max Wilfinger
d59f404267 Gui: Center notification label and disable show report view by default (#21872)
* Gui: Center notification label and disable show report view by default

* Stylesheet: min-width: 0 for QStatusBar QPushButton
2025-06-16 11:03:58 -05:00
Chris Hennes
488b5e2849 Merge pull request #21924 from hyarion/fix/lcs-crash
Gui: Fix crash when creating a LCS
2025-06-16 10:42:55 -05:00
Captain
ce54149637 Gui: refactor SoLinearDragger (#21451)
* Gui: refactor SoLinearDragger

* further improvements

* allow changing label visibility

* change SoLinearDraggerContainer to not inherit from SoDragger

---------

Co-authored-by: captain <captain@captain.captain.com>
2025-06-14 23:21:25 +02:00
Benjamin Bræstrup Sayoc
b54bbf57f9 Gui: use parameter observer for locale parameter
Parameter change should be independent of the use of the preference window.
2025-06-14 18:25:03 +02:00
Syres916
39dc1e6210 [Gui] C++ preparation for deprecation of QCheckBox…
…stateChanged -> checkStateChanged
2025-06-13 10:40:48 +02:00
Alfredo Monclus
d4e6a50808 Gui: fix double-click on checkboxes locking the properties 2025-06-13 10:10:31 +02:00