Commit Graph

291 Commits

Author SHA1 Message Date
wmayer
702f3b4ddd Core: modernize C++: redundant void arg 2023-08-05 16:50:31 +02:00
Chris Hennes
12f7dff7a6 GUI: Add prominent dev build indicators 2023-08-04 18:21:39 -06:00
wmayer
4d4267481f Gui: modernize C++: use override 2023-08-04 17:09:53 +02:00
Oliver Oxtoby
d07e01cddc Gui: Avoid segfault if window is not an MDIView
Fixes #10003. See also #9758.
2023-07-29 08:10:38 +02:00
Ajinkya Dahale
1cb7f4e93a [Core] Warn user if using deprecated backup extension 2023-07-20 10:25:34 -05:00
wmayer
7197568821 Qt6: fix possible build failure with Qt 6.5
Forum thread: https://forum.freecad.org/viewtopic.php?p=692199#p692199
2023-07-20 08:58:56 -05:00
Abdullah Tahiri
5718efbdeb MainWindow: Fix for Automatic WB and edit mode WBs
==================================================

As described here:
https://forum.freecad.org/viewtopic.php?p=687188#p687188
2023-07-01 19:56:52 +02:00
Chris Hennes
927c3b9731 GUI: Update Splashscreen 2023-06-15 09:57:27 -05:00
Jolbas
f973f6b3f9 Improved font handling Navigation cube
Also adding anisotropy texture mapping for better readability on steep angles.
2023-06-06 22:59:20 -04:00
Abdullah Tahiri
5f52885fbf Ilogger - Separate behaviour for user exposed and not exposed loggers 2023-05-23 14:24:45 +02:00
Abdullah Tahiri
9d9f928b2d Console: Extend framework with intended recipient and content type metainformation
==================================================================================

Limitations of the current framework:
- Codes the translated state only for TranslatedNotification as part of the type.
- Does not code the intended recipient (user, developer, ...)

Problems:
- Some errors are intended for developers, some errors may only be intended for users,
if, for example, there is another developer error which already contains all the information.
The current framework may lead to information duplication or to showing to the user developer
information, which is perceived as annoying.
- Logs shall be in English (report view), while every message to the user (UI) shall be translated.
The current framework can only differentiate where to report based on subscription (legacy logs do not
subscribe to notifications), and for notifications, whether it is translated or not depends on the type.
It is not possible to code errors or warnings that are already translated.

Solution:
- To extend the ILogger interface with additional metainformation, indicating the intended recipient
(User, Developer, All), and the content of the message (translated, untranslated, untranslatable). The latter
is useful for dynamic strings that won't find a match in the translation framework.

Bonus:
- This extended version allows to do away with translatednotification, as now any message can be independently
marked as translated or untranslated or untraslatable.
- It is now possible to provide the right icon of severity (error, warning, info), even when it is only user intended
and already translated.
2023-05-23 14:24:45 +02:00
Chris Hennes
8b73653633 Gui: Translate unit system UI 2023-05-15 20:16:46 -05:00
wmayer
8ba1edfbfd Gui: fixes #9086: Disabling the splash screen blocks the startup of Freecad
If no splash screen was shown then windowHandle() returns null and this leads to a segmentation fault.
2023-05-02 16:15:33 +02:00
luzpaz
38a01939e0 Migrate domain name from freecadweb to freecad (#9352)
* Migrate domain name from freecadweb to freecad
* Migrate src/Mod/Material files
* Migrate Stylesheet related files
* Migrate *.svg files
* Migrate miscellaneous files
* Migrate some build files
* Migrate recently added TD AR_IRAM template files

Closes #6415
2023-04-24 15:19:20 -05:00
Paddle
a1b70c294c Pref: Remove Unit tab and move settings back to main page. 2023-04-01 16:30:51 +02:00
0penBrain
e2a2f6cec9 Gui: use QActionGroup signal for dimension indicator change handling 2023-03-24 19:31:41 +01:00
0penBrain
be80a217f6 Gui: add live retranslation to dimension indicator 2023-03-24 19:31:41 +01:00
0penBrain
38416d7b80 Gui: dimension indicator moved to custom widget to handle unit schema change in other places 2023-03-24 19:31:41 +01:00
0penBrain
8eee92da99 Gui: change dimension indicator from QToolButton to QPushButton for lighter style
Consistency with navigation style indicator

 Also fix typo in function name and remove comment
2023-03-24 19:31:41 +01:00
Abdullah Tahiri
f0077e5f8a NotificationArea: Change Icon color to indicate missed notifications 2023-03-22 19:13:32 +01:00
wmayer
608521d9f5 Gui: add missing include for Qt6 build 2023-03-18 00:08:40 +01:00
Paddle
98b97d7c68 Core: Add possibility to change the unit in the sizeLabel. 2023-03-17 14:04:24 +00:00
Abdullah Tahiri
7954716386 Gui: Add Notification Area to Status bar
========================================

Parameter "NotificationAreaEnabled" can be used to completely disable the Notification Area.

If disabled it won't appear on the UI at all and no non-intrusive notification will be generated.
2023-03-12 06:06:29 +01:00
Abdullah Tahiri
ee0c3ad5c1 Console/ILogger: Refactor and extension
=======================================

Refactor:
 - Substitute the use of variadic templates with parameter packs.
 - Use recently incorporated external library "fmt" to handle printf like formating.
 - Extensive cleaning of pragmas and unnecessary forward declarations.
 - Parameter packs and libfmt provide a much stronger type checking now, so
   conversions that are by standard implicit as bool to int need an explicit static_cast
   to avoid compilation warnings.

Extension:
 - Include a notifier field, so that the originator of the message can be provided. E.g. Document#DocumentObject
 - Include a new type of message called CriticalMessage, this message is intended to have
   special behaviour in the future. Namely, it will be used to notify forward compatilibity issues.
   It will be used to substitute the current signal/slot mechanism.
 - Include two new types of messages for user notifications (Notification and TranslatedNotification). This messages
   will be use to convey UI notifications intended for the user (such as non-intrusive message about the usage of a tool). There
   are two versions to mark whether the string provided as a message is already translated or not. When using the console system for
   notifications, these notifications may originate from the App or the Gui. In the former, it is generally the case that the strings
   of messages are not (yet) translated (but they can be marked with QT_TRANSLATE_NOOP). In the latter, often the messages to be provided
   are already translated.

Python support for CriticalMessage, Notification and TranslatedNofification, including shortcuts:

    Crt = FreeCAD.Console.PrintCritical
    Ntf = FreeCAD.Console.PrintNotification
    Tnf = FreeCAD.Console.PrintTranslatedNotification
2023-03-07 16:13:23 +01:00
Adrian Insaurralde Avalos
662473b11f Improve NaviCube font matching on linux 2023-02-28 10:01:33 +01:00
wmayer
9604f94fdc Core: add functions setPackedARGB and fromPackedRGBA 2023-02-26 10:11:53 +01:00
wmayer
ca946aabcb Gui: [skip ci] set object name to tabbar of MDI area 2023-02-15 19:12:37 +01:00
Jakub Świerk
4c3bca22d7 Gui: Removed unused method. 2023-01-10 13:46:33 +01:00
Jakub Świerk
16f85753aa GUI: Removed Std_ArrangeIcons command. 2023-01-10 13:46:33 +01:00
wmayer
61e11bb4ab Gui: fix activating of MDI views via menu commands 2023-01-06 14:42:29 +01:00
wmayer
8a643bee16 Gui: switch to new-style connect in order to find build failures with Qt6 2023-01-01 12:40:07 +01:00
wmayer
fa6dc8d0e1 Gui: make unit tests working from command line if Gui is up 2022-12-24 19:13:40 +01:00
MrBlock
20329514c5 Fix bug #7563 where menus and tooltips are not visible in fullscreen mode on windows systems. (#8027)
* Fix bug where menus and tooltips are not visible in fullscreen mode on windows systems.
2022-12-12 12:44:36 +01:00
Uwe
aef629ece1 [Build] output point release version
- to Splashscreen, About, MainWindow and Console
2022-12-05 00:26:43 +01:00
wmayer
e470bdc018 Gui: replace old-style with new-style connect 2022-11-12 21:57:26 +01:00
adrianinsaval
5a32e28ce4 Use Std_New for new document creation at startup
so it uses the translated string
2022-10-20 19:58:16 -05:00
wmayer
75bfb8f48f Core: replace QRegExp with QRegularExpression 2022-10-06 13:54:20 +02:00
wmayer
7109a24374 Gui: code refactoring of dock window setup 2022-09-15 16:03:41 +02:00
berniev
ae53c9b0a4 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
3877fc62c3 Gui: Single arg ctors must be explicit (PR #7369) 2022-08-24 15:06:03 +02:00
berniev
75fa455c5d Gui: Use override etc 2 2022-08-09 12:43:23 +02:00
berniev
3d1f70765a Gui: redundant void 2 2022-08-08 10:21:44 +02:00
berniev
2db561561e Gui: use empty 2022-08-06 16:35:45 +02:00
berniev
066656f62a Gui: use emplace_back 2022-08-05 10:33:41 +02:00
wmayer
7a4d29e87a Gui: Use new-style syntax of connect()
When fixing clazy issues -Wclazy-fully-qualified-moc-types then old-style syntax of connect() may fail. Thus, replace it with the new-style syntax
2022-07-26 16:32:18 +02:00
Uwe
bb2b49fb1f [Gui] remove superfluous nullptr checks 2022-07-18 03:17:42 +02:00
andrea
7886d3cbf4 Remove unused code into GUI 2022-07-17 03:53:11 +02:00
0penBrain
43772e985c Gui: implement temporary blocker for console observer 2022-07-05 13:35:18 +02:00
0penBrain
1f1551bb5e [BUGFIX] Gui: correctly save and restore warning type enabling in report view 2022-07-05 13:35:18 +02:00
wmayer
82a6241fc5 fix (Qt) issues found by clang's clazy tool:
+ -Wclazy-incorrect-emit
+ -Wclazy-strict-iterators
+ -Wclazy-overloaded-signal
+ -Wclazy-qstring-arg
+ -Wclazy-unused-non-trivial-variable
+ -Wclazy-container-anti-pattern
+ -Wclazy-range-loop-reference
+ -Wclazy-const-signal-or-slot
+ -Wclazy-detaching-temporary
+ -Wclazy-qfileinfo-exists
2022-06-29 21:00:54 +02:00