Commit Graph

51 Commits

Author SHA1 Message Date
Ladislav Michl
9683cf1e4f Base: rename Exception's PascalCase methods to camelCase 2025-05-05 23:50:01 +02:00
Chris Hennes
f55063855a Merge pull request #20540 from 3x380V/cleanup-schemas-management
Simplify UnitsSchemas management
2025-05-05 10:43:27 -05:00
Benjamin Nauck
df3c324b7d Gui: use contains() and isEmpty() instead of count() where possible 2025-05-03 22:19:51 +02:00
bofdahof
353acbb27b Base: simplify UnitsSchemas management
Fixes: Maintaining schemas is difficult and error-prone

- Facilitate easy schemas add, remove, change, etc.
- Remove 14 files containing approx 2,190 lines of if/else code and data
- Place data in one file (UnitsSchemasData.h) using a normalized structure (including special functions)
- Isolate and simplify data operations (code)
- Remove schemas enum to keep data independent of code
- Separate responsibilities: Specifications, data, schemas, schema
- Add schema data 'isDefault'
- Add schema data name
- Prefer algorithms to raw loops
- Add schemas unit tests
- Tweak quantity unit tests
2025-04-27 00:45:54 +02:00
bofdahof
606da16f6e Gui: reformat DlgProjectInformationImp.cpp 2025-04-27 00:45:53 +02:00
Kacper Donat
ef357aa07a Gui: Use freecad_cast whenever possible 2025-04-26 14:23:25 +02:00
Pieter Hijma
5470188de4 Gui: Fix value field for DlgAddPropertyVarSet (#20824)
* Gui: Fix value field for DlgAddPropertyVarSet

The value field would only appear if a name was provided resulting in a
strange user experience.  This commit fixes this and simplifies the
logic of the dialog.

* Process comments from review

Co-authored-by: Kacper Donat <kadet1090@gmail.com>

---------

Co-authored-by: Kacper Donat <kadet1090@gmail.com>
2025-04-23 22:50:03 +02:00
Pieter Hijma
c15140e825 [Core] Enable a frame in VarSet dialog value field
The Add Property Dialog for VarSets creates an editor based on the type.
This editor has no frame by default because it is mostly used in the
property view as part of a table.  With this change we enable the frame
for the editor (the value field)
2025-04-22 23:56:07 +02:00
xtemp09
fdaa53d191 [GUI] Layout fixes in DlgActions.ui
Closes #20821
2025-04-17 19:26:00 +02:00
Alex Tran
353085d7e3 App: Running FreeCAD in verbose mode information to reflect Gui -> Help -> About Dialog info (#20487) 2025-04-16 08:29:07 +02:00
Kacper Donat
77e40b9747 Base: Use explicit pointer syntax for freecad_cast (#20694)
* Base: Use explicit pointer syntax for freecad_cast

This aligns our custom cast with other casts

* All: Use explicit pointer syntax for freecad_cast
2025-04-11 14:11:33 +00:00
Kacper Donat
9d97d1c895 Base: Rename Base::freecad_dynamic_cast into freecad_cast
This is to make it shorter and easier to use. QT does the same thing
with their qobject_cast.
2025-04-07 10:32:28 -05:00
Kacper Donat
32895ca9a9 Merge pull request #20570 from pieterhijma/varset-dialog-units
[Core] Show units in the VarSet add property dialog
2025-04-05 23:19:39 +02:00
Pieter Hijma
67cdd28d93 [Core] Fix value field unit selection
Qt automatically selects the text in the value field on creation.  This
interferes with the selection when the field has focus.  This commit
ensures that the automatic selection is undone.
2025-04-01 13:21:50 +02:00
Pieter Hijma
7271d63650 [Core] Show units in value editor VarSet dialog
Before this change, the units were not shown in the editor for values.
With this change the units (if applicable) are shown in the editor.
2025-04-01 13:21:50 +02:00
Benjamin Nauck
b6d6c8837f Gui: Add #include <limits> where used 2025-03-31 23:50:37 +02:00
Benjamin Nauck
b625e81a3e Gui: Use std::numeric_limits and std::numbers instead of defines 2025-03-29 13:32:38 +01:00
Chris Hennes
21c07cabc5 FreeCAD: Compiler warning fixes 2025-03-19 10:13:34 +01:00
Chris Hennes
9a77120e82 Merge pull request #20142 from bofdahof/ranges
Apply C++20 std::ranges (mainly to std::find)
2025-03-17 03:08:27 -05:00
Chris Hennes
0924f159a1 Merge pull request #20160 from karliss/popup-parent
Add missing parent for messagbox and other popups.
2025-03-17 00:16:49 -05:00
Chris Hennes
9e0d77d7f4 Merge pull request #19583 from hyarion/refactor/base-type
Refactor Base::Type
2025-03-17 00:03:22 -05:00
bofdahof
cb5caf6765 Gui: apply std::ranges 2025-03-16 17:15:14 -05:00
Karliss
42790475d6 Add missing parent for messagebox and other popups
Unparented popups can easily get lost in backround, but they still block top level event loop when run with ::exec() thus preventing interactions with main window.  This mainly happens on wayland. Setting the parent ensures they are always kept on top and reasonably positioned.
2025-03-16 16:02:36 -05:00
Luz Paz
6564a7b107 Fix various typos 2025-03-14 12:37:12 -04:00
Chris Hennes
3ce193ddb8 Merge pull request #19921 from mosfet80/QT_CLEAN
REMOVE old QT<= 5.14 code
2025-03-11 20:54:59 +00:00
Max Wilfinger
041e709059 Merge pull request #20013 from tringenbach/feature/show-device-pixel-ratio
Add devicePixelRatio to about info
2025-03-06 08:00:08 +00:00
Tim Ringenbach
4a8033c77c update label 2025-03-05 20:29:25 -06:00
Tim Ringenbach
8456626320 Add devicePixelRatio to about info 2025-03-05 18:05:21 -06:00
Andrea
cca14cf164 Remove old qt code
new round of removal following the report of @benj5378  .

.
2025-03-05 09:46:35 +01:00
Andrea
2d4ab5af20 REMOVE old QT<= 5.14 code
Ubuntu 22.04  use qt 1.15.3.
In the code is still used qt code <5.10.
A cleanup was done by removing qT code version used in ubuntu 18.04.
2025-03-05 09:32:06 +01:00
Chris Hennes
d6849c10b0 Apply suggestions from code review
Co-authored-by: Benjamin Nauck <benjamin@nauck.se>
2025-03-04 18:12:10 -06:00
Jacob Oursland
2dd4343164 About: Add build date to clipboard data. 2025-03-04 18:12:10 -06:00
Chris Hennes
1a2070c36f Merge pull request #19636 from kadet1090/color-in-base
Base: Move App::Color to Base
2025-03-02 16:36:40 -06:00
Furgo
c62913d2ee Do not decrease reference counting for string 2025-02-26 13:36:45 +00:00
Benjamin Nauck
029a0555f2 Gui: Use constant for Type::BadType instead Type::badType() 2025-02-24 08:30:18 +01:00
Benjamin Nauck
be2c9c99af Gui: Use isBad() instead of comparing types with == 2025-02-24 08:30:18 +01:00
Kacper Donat
36195d1981 Base: Add fromPercent and toPercent helpers 2025-02-23 22:51:13 +01:00
Syres916
1d465c22c0 [Gui] Expression dialog OK, capitalised and Alt+O shortcut applied 2025-02-23 16:51:04 +01:00
GHDE
bce3a3ce65 fixed openExternalLinks in DlbAbout (FreeCAD#16423) 2025-02-22 12:00:39 -06:00
Kacper Donat
cc2efa90f8 Base: Add isNullOrEmpty string helper
This adds isNullOrEmpty string helper that cheks if string is... well
null or empty. It is done to improve readability of the code and better
express intent.
2025-02-21 15:04:43 +01:00
Kacper Donat
13fbab9e42 Base: Move App::Color to Base
Every basic data type is stored in Base module, color is standing out as
one that does not. Moving it to Base opens possibilities to integrate it
better with the rest of FreeCAD.
2025-02-17 21:10:26 +01:00
Benjamin Bræstrup Sayoc
eeca005a95 Gui: use QStringLiteral 2 2025-02-16 19:52:30 +01:00
Benjamin Bræstrup Sayoc
8d2d0a47f4 Gui: Use QStringLiteral 2025-02-10 18:34:57 +01:00
tritao
f7a0cece08 Base: Remove Boost-based filesystem and switch to standard <filesystem> 2025-02-10 10:48:54 -06:00
Furgo
a697a5ba66 Core: add Ifcopenshell version in about info clipboard (#19264)
* Core: return information about ifcopenshell version in About info clipboard

* Core: remove whitespace introduced by mistake

* Core: handle case where ifcopenshell is not installed

* Core: remove colon for consistency with other library versions

* Core: change type of cmd to const char* to avoid allocating memory

* Core: make failure to import ifcopenshell a debug message

* Core: fix non-existing Debug message with DeveloperWarning

* Core: go back to Log() to show info about non-installed ifcopenshell
2025-02-05 10:18:54 +01:00
Syres916
e58388a222 [Gui] Fix Close without Saving button size (#19342) 2025-02-02 23:24:27 +01:00
Max Wilfinger
9f0f194d7b Adding DPI info to the copied information in the about dialog (#19251)
* Adding DPI info to the copied information in the about dialog.

* Update DlgAbout.cpp

changed screen() to QApplication::primaryScreen()
2025-01-29 12:14:26 +01:00
Max Wilfinger
5925c7a560 Merge pull request #19097 from hyarion/refactor/template-based-is-derived-from
Simplify code by using BaseClass' isDerivedFrom<> and is<>
2025-01-27 20:40:08 +01:00
MisterMaker
f9616e93e7 [stylesheets] Gathering of stylesheet fixes (#18929)
* this is a workaround to remove caps

pelase ignore this hackery

* And now the caps are gone

* a bunch of small tweaks and fixes.

* Update FreeCAD Light.qss

updated menubar color light theme

* updated the buttons a tiny bit

* Fix for to short buttons.

Couldn't test it since my macro window is broken.

Co-Authored-By: Syres916 <46537884+Syres916@users.noreply.github.com>

* qspinbox disabled tweaks.

* Update FreeCAD Dark.qss

Tweaked the buttons a bit so they are more in line with the light theme.

* Update FreeCAD Dark.qss

small tweaks

* reversed the spreadsheet headers gradient for dark

* Update light with undo arrows position

Co-Authored-By: Syres916 <46537884+Syres916@users.noreply.github.com>

* Update undo buttons arrow position dark

Co-Authored-By: Syres916 <46537884+Syres916@users.noreply.github.com>

* added an offset to qcombobox

* removed the fix since it ruined every Qcombobox.

* Tabs update more clean less gradients.

* Update DlgMacroExecuteImp.cpp

fixing conflicts

* Update DlgMacroExecuteImp.cpp

* Delete DlgMacroExecuteImp.cpp

* Create DlgMacroExecuteImp.cpp

* Revert "Create DlgMacroExecuteImp.cpp"

This reverts commit 8de8f7506177d773bb356fd0e22a66466c25b668.

* Revert "Delete DlgMacroExecuteImp.cpp"

This reverts commit 41315f31abdad79afd4b696ee15c603de3e4a6a1.

* Revert "Update DlgMacroExecuteImp.cpp"

This reverts commit aa792291684e2d674f6961c641c8e2f8b9af12c8.

* Revert "Update DlgMacroExecuteImp.cpp"

This reverts commit e8376a8fdf11d7fd014f2c46f189afdca42833ce.

* Delete src/Gui/DlgMacroExecuteImp.cpp

* Update DlgMacroExecuteImp.cpp

finally realized what was going on lol

---------

Co-authored-by: Syres916 <46537884+Syres916@users.noreply.github.com>
2025-01-27 17:49:20 +01:00
Benjamin Nauck
6f535f19fb Prefer to use BaseClass's isDerivedFrom<T> over non template or Base::Type's
Regex based changes, manually verified
2025-01-27 16:08:18 +01:00