Commit Graph

88 Commits

Author SHA1 Message Date
Markus Reitböck
6ef07bb358 Gui: use CMake to generate precompiled headers on all platforms
"Professional CMake" book suggest the following:

"Targets should build successfully with or without compiler support for precompiled headers. It
should be considered an optimization, not a requirement. In particular, do not explicitly include a
precompile header (e.g. stdafx.h) in the source code, let CMake force-include an automatically
generated precompile header on the compiler command line instead. This is more portable across
the major compilers and is likely to be easier to maintain. It will also avoid warnings being
generated from certain code checking tools like iwyu (include what you use)."

Therefore, removed the "#include <PreCompiled.h>" from sources, also
there is no need for the "#ifdef _PreComp_" anymore
2025-09-14 09:47:03 +02:00
Max Wilfinger
ecf02b7878 Gui: Update UI strings for consistency
Closes: #22135
2025-08-04 20:14:45 +02:00
Max Wilfinger
82698073f1 Update Help menu. Remove outdated links; add Developers handbook (#22283)
* Update Help menu. Remove outdated links; add Developers handbook

* Apply suggestions from code review

* Update src/Gui/CommandStd.cpp

* Update Shortcuts.cfg
2025-07-08 21:23:01 +00:00
Kacper Donat
a32594faea Gui: Add ThemeTokenManager class to contain theme parameters
This class aims to implement Design Token idea into FreeCAD themes. It
allows themes to use generic variables with generic values so we could
use one qss theme and change the style based on values from preference
packs.
2025-07-07 00:07:31 +02:00
Kris
0090566724 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
Karliss
fa61131590 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
Benjamin Bræstrup Sayoc
f647d4a1eb Gui: Use QStringLiteral 2025-02-10 18:34:57 +01:00
tritao
8aa50c4380 Gui: Reorganize the dialog files into a top Dialogs folder. 2025-01-24 16:28:02 -06:00
Snow Faerie
8bc062b6e8 Fix and add menu accelerators (#15532)
* Fix and add menu accelerators: menus common to all workbenches

I use menu accelerators fairly often, so I find it very frustrating when
they are missing, or worse, they don't work due to the same letter being
assigned to several commands.

This patch adds accelerators to lots of menu entries missing them and
fixes broken accelerators.

Wherever possible, standard accelerator keys are used:
https://doc.qt.io/qt-5/accelerators.html

This commit covers accelerator fixes that are common to all workbenches.
Accelerator fixes for specific workbenches will be done in separate
commits.

* Add missing accelerators: Spreadsheet workbench
2024-12-13 10:39:30 -06:00
OfficialKris
b3a2268289 Modified text of all items on help menu
Used ToolTipText for StatusTip on all menu items
Modified some of the MenuTexts
Modified some of the Pixmaps
2024-11-15 18:57:39 +01:00
Snow Faerie
a4ab97bdd5 Add shortcut: Ctrl+,: Preferences
FreeCAD doesn't have a shortcut for Preferences.

As far as I know there is no established standard for Preferences. I
chose Ctrl+, as that is used by a number of applications, like VS Code,
nautilus and gedit.
2024-11-15 11:57:32 -05:00
Ladislav Michl
0a9e1bc9e8 Gui: refactor Splashscreen
Move About dialog class to the separate source file.
2024-11-12 07:59:44 +01:00
Benjamin Nauck
4eb7d5d09c Add "Safe mode" which temporarily disables configs and addons (#16858)
* Add safe-mode which starts freecad in a clean environment

* Integrate safe-mode

* Show "(Safe Mode)" in main window title

* Show safe mode info when safe mode is started

* Created Safe Mode Icon

* Use new icon

* Add PreCompiled.h

* Add exports for windows

---------

Co-authored-by: Gabriel <gaz082@gmail.com>
2024-10-21 18:08:52 +02:00
Max Wilfinger
7d21d9edb8 Fix source string typos mentioned on Crowdin (#15261) 2024-07-08 17:18:31 -05:00
hlorus
bb7aa6ac74 Remove Std_MeasurementSimple 2024-06-11 17:57:01 +02:00
mos
d12635246f [gui] code clean
.
2024-05-23 11:34:15 +02:00
Kacper Donat
26300e0d4e Gui: Add Std_ReloadStyleSheet command
This adds a command that will reload currently active stylesheet - a must have for stylesheet developers
2024-05-20 10:41:23 -05:00
wmayer
c016f1c1fb Gui: modernize C++: use equals default 2023-08-20 18:12:43 +02:00
wmayer
d150fa7164 modernize C++: avoid bind
In many cases std::bind() is kept because the code is much simpler
2023-08-08 21:10:16 +02:00
wmayer
68d22d864b modernize C++: move from boost::bind to std::bind 2023-08-08 17:36:13 +02:00
wmayer
96aabe113e modernize C++: raw string literal 2023-08-07 19:51:15 -06:00
Paddle
618a91eef5 Move 'Recent Files' menu entry and rename it 'Open Recent' 2023-07-27 11:40:33 +02:00
Chris Hennes
273943a42c GUI: Translate the tooltip for EditMode menu
The tip text was extracted from the Wiki.
2023-04-21 16:55:05 -05:00
Paddle
ec2e5fe2ac Pref: Wb: remove args first element on restart.
- isRebootRequired is not public but in accept&reject.
- PreferencePage::isRebootRequired changed to const
- Change 2 warnings to log
- remove useless  c_str()
- Change DlgPreferencesImp::isRebootRequired name + reboot by restart everywhere.
- Sort workbenches so that disabled wb are sorted.
2023-03-31 14:12:27 +02:00
Paddle
0e2bc871e8 Changed copyright texts of modified pages. 2023-03-28 15:18:28 +02:00
Paddle
8d16cf7395 Pref: - add require-reboot capability to PreferencePage.
- Implement this require-reboot in wb pref page
2023-03-28 15:18:23 +02:00
wmayer
32d0ac6417 Gui: by default restore the last visited page in the preferences dialog
See also: https://forum.freecad.org/viewtopic.php?t=77071
2023-03-25 18:23:09 +01:00
Syres916
5abe450b0c [Gui] Add an icon for Std_RecentMacros command (#8793)
* [Gui] Add Std_RecentMacros.svg icon
* [Gui] Add Std_RecentMacros icon
* [Gui] Add icon to Std_RecentMacros command
2023-03-09 14:55:30 +01:00
wmayer
807fa281a8 Core: replace QRegExp with QRegularExpression 2022-10-06 13:54:20 +02:00
berniev
75acacd1b7 Gui: Use auto and range-based for (#7481)
* On lines where the variable type is obvious from inspection, avoid repeating the type using auto. 
* When possible use a ranged for loop instead of begin() and end() iterators
2022-09-14 13:25:13 -05:00
berniev
0c70d45c83 Gui: Use override etc 2 2022-08-09 12:43:23 +02:00
berniev
656ef8961f Gui: redundant void 2 2022-08-08 10:21:44 +02:00
Uwe
0678946103 [core] update version number
NOTE: this is purposely version 0.21, despite the release goal is 1.0
Since we issue weekly builds, people might otherwise misunderstand the version

So first when the release goal is reached, FreeCAD becomes version 1.0
2022-06-20 00:56:55 +02:00
wmayer
96adb98f46 Gui: modernize C++11
* use nullptr
2022-03-23 18:41:21 +01:00
Yorik van Havre
362045677c Gui: Added 'Report a bug' help menu entry 2022-03-04 14:06:59 +01:00
Uwe
2be0a9706e [Gui] Command: remove unused includes 2022-03-04 03:21:46 +01:00
Roy-043
7d21029ff5 Std: Fix URLs in CommandStd.cpp
Updated all URLs to the new freecad.org domain.
2021-10-27 08:08:39 +02:00
0penBrain
408982e709 [Gui] UserEditMode : last used mode is remembered between sessions 2021-10-13 14:58:05 +02:00
0penBrain
74e8f087ae [Gui] UserEditMode : new (better) icons for modes + SVG file naming improvement
Icons are provided by @bitacovir
2021-10-13 14:23:29 +02:00
wmayer
fe7f4c4be7 Gui: remove QT_TR_NOOP from command group names and use "CommandGroup" as context string 2021-09-29 16:31:55 +02:00
0penBrain
c87c492ada [Gui] ActionGroup can declared being a "Mode" action
This will essentially not update the tooltip when an action is checked as it isn't suitable
As example, view DrawStyle command where the group tooltip is better than the selected action tooltip

Only UserEditMode is implemented in this commit, should be pushed to DrawStyle and maybe other after merge
2021-05-15 11:26:20 +02:00
0penBrain
688cc987eb [Gui] UserEditMode : minor improvements 2021-05-15 10:12:10 +02:00
0penBrain
b84bb1a16a [Gui] UserEditMode : add menu and toolbar management 2021-05-14 09:23:04 +02:00
wmayer
c4f411af26 Gui: use public methods in Command sub-classes 2021-04-21 19:34:50 +02:00
Chris Hennes
50c7ee36bf [GUI] Remove code for Qt < 5.9 2021-04-02 10:10:37 +02:00
Zheng, Lei
d45122f45f Gui: add 'Donate' to Help menu 2021-01-04 10:43:37 +08:00
Zheng, Lei
0e2ab08121 Gui: temporary fix of preference menu in macos
QAction defaults menu role to TextHeuristicRole, which causes qt to
guess the menu role based on action title. And titles start with
'Config', 'Options', 'Settings', etc. will be considered as preference
menu. It seems some non-english translation causes the wrong action be
chosen as preference, such as 'Treeview actions'.

This commit just applied a temporary fix to default to QAction::NoRole
for GroupCommand. If there is ever some GroupCommand need to be a
system menu item on macos, we could add some command bit flag for that
purpose.
2020-12-24 16:58:18 +01:00
bitacovir
1d3113ebda Add SVG icons for ten Std File Menu Commands
This commit adds SVG files with icons for these commands. Also, it makes the necessary changes on CommandDoc.cpp, CommandWindow.cpp, CommandStd.cpp and resource.qrc files.
2020-12-06 18:25:20 -03:00
luz paz
74ab516494 Gui: Issue #0004473: Expose openCommand() to translation
Continuing the work to expose the undo/redo functionality to translation. This commit does so for the src/Gui code.  
Ticket: https://tracker.freecadweb.org/view.php?id=4473
2020-12-01 14:53:35 +01:00
luz paz
298c677873 Gui: Fix header uniformity, whitespace, and doxygen fixes 2020-11-26 10:14:56 +01:00