Commit Graph

23918 Commits

Author SHA1 Message Date
wmayer
3694da3102 PD: [skip ci] fix angle checks for groove and revolution 2021-03-03 14:56:16 +01:00
wmayer
3e7429d163 PD: [skip ci] set angle constraints for groove 2021-03-03 14:55:19 +01:00
donovaly
c0de42335b [PD] disallow angles <=0 for holes and revolution
neither the taper, drill or countersink angle can be zero or negative for a valid hole, thus set a constraint
2021-03-03 14:33:01 +01:00
David Carter
5edd7d01a0 Base: fixes #0004586: Conversion error for PoundForce (lbf) 2021-03-03 12:39:49 +01:00
Chris Hennes
f5cc3027f4 [GUI] Refactor About to list credits from a file
The Credits tab is now generated from a CONTRIBUTORS file. The file is
expected to list one contributor per line, with individuals first,
followed by a line with the word "Firms" on it, followed by firms (again
one per line). The formatting is currently a simple <ul> for each set of
names. No sorting, etc. is performed.
2021-03-03 11:03:43 +01:00
Chris Hennes
d8e523978c [GUI] Add window decorations to About 2021-03-03 10:56:11 +01:00
wmayer
eccc5bfe1a PD: [skip ci] fix angle check in PolarPattern::getTransformations() 2021-03-03 10:39:41 +01:00
wmayer
832174641c PD: improve task panel for polar patterns:
* set range of Occurrences property to spin box
* connect signals after initializing widgets to avoid superfluous recomputes and possible inconsistencies
2021-03-03 10:32:46 +01:00
wmayer
2d54d838cf PD: improve task panel for linear patterns:
* set range of Occurrences property to spin box
* connect signals after initializing widgets to avoid superfluous recomputes and possible inconsistencies
2021-03-03 10:32:02 +01:00
wmayer
48b42f8355 App: add convenience methods to get minimum, maximum and step size of property constraints 2021-03-03 08:12:03 +01:00
donovaly
7f1b47d118 [PD] disallow invalid polar and linear pattern settings
as discussed in 356db441a6 we should disallow invalid property settings
2021-03-03 07:45:08 +01:00
wmayer
a263b731ef CMake: [skip ci] copy ThirdPartyLibraries.html and LICENSE.html to the correct location
and add the latter to the INSTALL() command
2021-03-02 19:05:30 +01:00
Chris Hennes
c9366cd96b Switch to removeTab() to support older Qt versions 2021-03-02 18:49:13 +01:00
Chris Hennes
73f4b9b4db [GUI] Implement license tab that obeys stylesheet
The original License tab used a hard-coded HTML element created in Qt
Designer, which adds style tags to all HTML elements. This commit
replaces that tab with a dynamically-created tab which loads an included
LICENSE.html file at runtime. That file contains no style information,
so obeys the style information provided by the current stylesheet. If
that resource file is not available at runtime, the old license tab is
retained and displayed.
2021-03-02 18:49:13 +01:00
luz paz
cb81426e63 Crowdin: remove trailing whitespace [skip ci] 2021-03-02 17:29:21 +01:00
wmayer
083f57116d Gui: [skip ci] for the author label use the same font configuration as with the rich text as otherwise the text appears very tiny 2021-03-02 17:23:41 +01:00
Chris Hennes
a5c0ac6d16 [GUI] Make UrlLabel in About styleable
The UrlLabel in the About FreeCAD box was not styleable because its
rich-text contents overrode any styling applied to it. This commit
converts it to a plain text label that can then be styled in a
stylesheet using the Gui--UrlLabel selector. If no stylesheet is
applied, the UrlLabel styles itself using the old-school blue text with
an underline, but any applied stylesheet completely overrides this
default.

This does not affect the "clickability" of a UrlLabel widget, which is
handled independently of the label's content (including its textual
hyperlink, which was and still is ignored).
2021-03-02 16:45:03 +01:00
wmayer
89b094683f Gui: support to customize the font size of bounding boxes 2021-03-02 16:29:57 +01:00
David Osterberg
43bc30da84 Beautify xml step 1: These changes do not affect the uic output 2021-03-02 16:29:11 +01:00
Chris Hennes
62ebad19d6 [Arch] LGTM issues in Dice3DS
LGTM identified a few minor issues in the Dice3DS code -- none of them
appear to be real errors, so the changes here should not affect the
behavior of the code.
2021-03-01 10:35:39 -06:00
Yorik van Havre
deaf74856b Arch: Fixed SectionPlane outside objects bug in ArchSectionPlane - Fixes #4549 2021-03-01 16:49:31 +01:00
Chris Hennes
752cb73d24 [Draft] Fix localize_vectors double definition
LGTM identified an instance where a function was defined twice: in this
case, one version was intended to take a list of items and the second
version just a single item. Because they share the same name and number
of arguments, the second definition overrode the first. This causes no
problems in the current code because the version that takes a list is
never used. However, for consistency with the analogous
"globalize_vectors" and "globalize_vector" functions, the "localize*"
versions are changed to match that pattern. All calls in are
converted to the singular use.
2021-03-01 09:36:21 -06:00
Chris Hennes
91f8b6c11e [Draft] Eliminate unused loop iteration variables
When creating arrays of colors, the color information is often created
to be the same length as some array of objects. In three instances this
was achieved with a loop over that list of objects, even though the
objects themselves are never used. This commit eliminates those loops
and creates the required number of color instances directly.

Identified by LGTM.
2021-03-01 09:19:20 -06:00
Chris Hennes
c1408f130c [OpenSCAD] Add unit test framework to module
The OpenSCAD module did not have any unit tests. This commit adds the
basic framework (and two very simple tests). The framework is modeled
after the unit tests in the FEM module.
2021-03-01 15:21:18 +01:00
David Osterberg
52c0558f91 PartDesign: Allow use of circle edge as axis in PolarPattern 2021-03-01 14:48:24 +01:00
David Osterberg
f1d6c78cbe PartDesign: Allow use of circle edge as axis in ProfileBased 2021-03-01 14:48:24 +01:00
wmayer
356db441a6 PD: [skip ci] PolarPattern: Support 1 occurrence
This is analogous to support 1 occurrence of the linear pattern feature: 81a5ec5e55
2021-03-01 13:58:02 +01:00
donovaly
f481c47123 [PD] fix multi-transform View
- fixes bug 4581
  See the first issue reported here:
  https://forum.freecadweb.org/viewtopic.php?f=3&t=56093#p482553

- also fix issue that one could set 1 occurrence for polar patterns despite 2 are required at least

- also fix potential dereferencing null pointer (reported by MSVC)
2021-03-01 13:11:15 +01:00
Chris Hennes
ac4b02f5a0 [Arch] Refactor to eliminate unused variable
LGTM complains about the unused variable in a loop that is really only
using the variable to iterate a set number of times. This replaces that
loop with a multiplication by the length of the array, eliminating the
unused iteration variable and clarifying the intent of the code.
2021-02-28 23:42:14 -06:00
Chris Hennes
f018b1dedb [DRAFT] Remove unused loop variable
LGTM is concerned about the unused loop variable in this algorithm.
While there was nothing wrong here, to eliminate the alarm the loop was
removed entirely, since Python allows the use of the multiplication
operator here to achieve the same effect.
2021-02-28 23:18:53 -06:00
Chris Hennes
d78017f2e0 [Draft] Return once the button is found 2021-02-28 21:48:31 -06:00
Chris Hennes
58a6f05956 [DRAFT] Refactor sync_snap_toolbar_button
LGTM objected to the re-use of the loop variable a in the algorithm.
Upon closer inspection, the algorithm in this function could be modified
to match the algorithm in sync_snap_statusbar_button (which does the
same thing to the statusbar that this does to the toolbar). This
eliminates the double-use. This change does not affect the functionality
of the routine.
2021-02-28 21:42:46 -06:00
Chris Hennes
6be901557e Add library versions to LibraryVersions.h 2021-02-28 20:45:34 -06:00
David Osterberg
c7c420ca1d PartDesign: Hole. Address Donovaly bugs 7 and 8
bug 7: the update view checkbox should be enabled/disabled based on Model thread.
       the checked state should not change

bug 8: the Thread depth options should be disabled when Model thread is unchecked.
       because they don't do anything in the model it is confusing if they are enabled.
2021-02-28 20:13:14 +01:00
David Osterberg
1eeefeb8ae PartDesign: Hole: Always update view if modelthread is disabled
Also: Check the Update View checkbox and disable it, when turning off
model thread.
2021-02-28 20:13:14 +01:00
David Osterberg
d59e90a10f PartDesign: Hole: Turn off keyboard tracking on model thread spinboxex 2021-02-28 20:13:14 +01:00
David Osterberg
ebe2ce1034 PartDesign: Hole: Rename Automatic Tapped (DIN76) and change default to Hole depth. 2021-02-28 20:13:14 +01:00
David Osterberg
6ea6b48c0e PartDesign: [Hole] Add Entire Depth thread depth mode 2021-02-28 20:13:14 +01:00
David Osterberg
d3ddbe8549 PartDesign: Add true threads to Hole
- Thread runout according to DIN 76-1
- Through all length updated to be calculated based on bounding box
- New properties: ModelThread, ThreadDepthType, ThreadDepth,
                  UseCustomThreadClearance, CustomThreadClearance
- Rename Old but unused parameters related to thread modeling.
- Functionality exposed in UI
2021-02-28 20:13:14 +01:00
Chris Hennes
4b4a6b3580 [Offline Docs] Fix static analysis issues
LGTM identified a number of minor issues (mostly unused imports) in the
offline docs code. This commit addresses those, plus tweaks some output
formatting to include missing spaces, makes a regex more rigorously safe
by escaping some periods, and updates the use of a get() function which
appears to have changed since it was first written.
2021-02-28 17:53:58 +01:00
Chris Hennes
e2bb84fd2f [Tools] Fix static analyis issues
This commit addresses issues identified by LGTM for the various
independent (and mostly-independent) files in the Tools subdirectory.
The vast majority of the issues are trivial, and are things like unused
imports or catching BaseException. There was one true bug identified, a
global variable being changed in a function where it was not marked
global, but it only affected output quantity (the variable is named
"VERBOSE"). A couple of other issues identified variables that appear to
represent no-longer-existing options in the code. The options were left,
but a deprecation printout replaces the variable in the event the option
is provided.
2021-02-28 17:53:04 +01:00
luz paz
bcb070def1 Crowdin: Startpage - add whitespace to tooltip [skip ci] 2021-02-28 17:15:08 +01:00
luz paz
2ff669e5b8 Crowdin: Startpage: remove obsolete translation [skip ci] 2021-02-28 17:15:08 +01:00
luz paz
e0b5aade34 Crowdin: StartPage - remove obsolete translation [skip ci]
Ticket 0004578  
ref: https://crowdin.com/translate/freecad/7254/en-en?filter=basic&value=0#6572932
2021-02-28 17:15:08 +01:00
wmayer
223d7971ae Sketcher: fixes #0004303: Three choices in a Sketcher menu each with the same Ctrl+Shift+E 'address' 2021-02-28 13:14:48 +01:00
wmayer
f0e4265205 Image: fixes #0003959: Created image plane is not proportional to loaded image 2021-02-28 13:14:30 +01:00
wmayer
59048fb95b Tux: fixes #0004565: Status bar text runs under Navigation Button 2021-02-28 13:14:05 +01:00
wmayer
957eed7d2c Gui: [skip ci] allow to unbind() an ExpressionBinding and automatically unbind it if the observed object has been deleted
For more details see: https://forum.freecadweb.org/viewtopic.php?f=8&t=56097
2021-02-28 12:37:50 +01:00
Benjamin Nauck
f5b6c20699 Tools: updatecrowdin.py rewrite to support new api
Crowdin has depreciated their old api and will shut it down completely
in december 2021.

What's new:
 * rewritten in Python 3 (drops support for discontinued Python 2)
 * uses Crowdin's api v2
 * runs on vanilla Python 3, (no external modules)
 * automatically adds new translation from the src directory
 * supports api token to be specified in an environment variable
   (Makes GitHub integration easier in the future)
 * requires project id to be explicitly set with an environment variable
   (Makes testing safer)

The api token can be set either in ~/.crowdin-freecad-token similar to
how the old api key was set, or by specifying it in an environment
variable. The later has been added to make it easier with GitHub-Crowdin
integration in the future.

The requirement to explicitly set CROWDIN_PROJECT_ID has been introduced
to avoid accidentally using the main Crowdin project while testing the
script.

The script has been tested on Python versions 3.7, 3.8 and 3.9.

Co-authored-by: Mattias Pierre <github@mattiaspierre.com>
2021-02-28 12:03:41 +01:00
Chris Hennes
2599d67c2b Clean up various LGTM-flagged items
Static analysis showed some unused variables and imports, and running
the code in Python 3.9 revealed a few invalid escapes (previous versions
of Python silently "fixed" these, so the code change here will not
affect the results).
2021-02-27 18:23:15 +01:00