Commit Graph

1700 Commits (697ffdd731010434d70f328f3ef88cd2f1f11c5e)

Author SHA1 Message Date
ruevs 697ffdd731 UI: Show XYZ distance components in the text window for two points
When two points are selected in addition to their distance show the X, Y
and Z components of it in the text window.

Implements #936
2021-03-06 14:15:28 -05:00
robnee 3309181773 fix problems with ctrl/shift key drag modifiers
When dragging points we must always update position and mark them dirty
through all code paths.
Ensure the ctrl and shift modifier rotation quarternion is always set to
something reasonable.
separate extraLine tracking code from drag tracking code
2021-03-01 21:09:36 -05:00
robnee 60dca4cb79 Fix incorrect styling on svg export
export Style::NO_STYLE which was missing
styles should be set on export at the SBezierLoop-level vs the
SBezierLoopSet-level
2021-02-28 17:37:34 -05:00
Jonathan Westhues 2fcc933aa9 Clarify ambiguous license terms.
The about box has always said "GPLv3 or later", but other references
failed to distinguish between "or later" and "only".
2021-02-25 20:37:18 -08:00
ruevs 0858fe6988 Update Changelog 2021-02-25 14:34:13 -05:00
robnee 745a12c3c4 permit construction geometry toggle while drawing 2021-02-23 10:13:29 -05:00
ruevs 47c3209b48 Win32: If the main or text window is off-screen make it visible...
...by 1/40th of the scrreen width so that the user can notice it.

This can happen if the window was on a second monitor, which is
disconnected, or if the user knows about `Alt-Space | Move` and then
moving the window with the arrow keys.

Before this, if for example the left edge was off-screen it was moved
to 1920, which is just off-screen, so the window remained invisible.

Fixes: #938
2021-02-18 09:52:25 -05:00
robnee 04e872a61f remember auto-removed constraints for undo 2021-02-16 11:49:32 -05:00
robnee 7795b0bc19 mark group dirty when toggling reference dimension 2021-02-07 18:18:50 -05:00
Ryan Pavlik cdeb6c90fb Update mimalloc to 2.0.0 release. 2021-02-06 15:52:54 -05:00
ruevs 02aa9ea827 Update translations
Including de_DE and ru_RU strings.
2021-02-03 18:14:29 -05:00
ruevs 1c5c4c048c Fix a crash when opening an empty file.
Fixes: https://github.com/solvespace/solvespace/issues/918

The problem was that here:
11a8a0abd5/src/file.cpp (L480)
we cleared all groups. Then we tried to read an empty file and therefore this `while` exited immediately:
11a8a0abd5/src/file.cpp (L487)
and we came to here:
11a8a0abd5/src/file.cpp (L548)
where there was no `fileLoadError` and thus we were left with no groups, and so this assert failed:
11a8a0abd5/src/graphicswin.cpp (L394)
since is is not allowed to have no groups :-)
2021-02-03 18:14:29 -05:00
robnee 11a8a0abd5 do not Invalidate() when dragging new points to prevent refresh bugs on Windows 2021-01-30 21:36:54 -05:00
phkahler ebb194eda6 Add version command to solvespace-cli 2021-01-26 16:57:48 -05:00
phkahler 2e1f5324c8 Update ru_RU translation 2021-01-23 11:45:33 -05:00
Ryan Pavlik 0404cd46ef Standardize how we refer to the other javascript files we include, too. 2021-01-23 11:38:36 -05:00
Ryan Pavlik d16e33ac48 Update to THREE.js revision 111 as found in Debian Testing
Required some small JavaScript changes to replace deprecated usage.
2021-01-23 11:38:36 -05:00
phkahler 6d9bbb69d6 Update build instructons Add use of OPEN_MP to linux and macOS build instructions, and a mention of ENABLE_LTO. 2021-01-18 16:10:15 -05:00
phkahler d3951afb12 GTK: Fix a warning for file->open dialogs.
SetCurrentName only applies to save dialogs, so call it conditionally.
2021-01-17 18:07:52 -05:00
Reini Urban 36719c6234 Improved de_DE
See #890 and its changed menu item
2021-01-17 14:27:54 -05:00
ruevs 1817816b4a Update translations 2021-01-17 13:47:14 -05:00
ruevs 0adb13c5e8 Change "Dim Solid for Sketch Groups" to "Darken Inactive Solids"
Discussion here:
https://github.com/solvespace/solvespace/issues/890
2021-01-17 13:47:14 -05:00
Reini Urban 422bb0cb35 Translations: update de_DE for 3.0
See #890
make -C src translate_solvespace to update all line numbers
2021-01-17 11:45:40 -05:00
Jonathan Westhues 76589a8a87 Fix SpaceNavigator type 6DOF controllers on Windows.
We were creating the event but never dispatching it.
2021-01-15 16:50:38 -08:00
Ryan Pavlik d6c2983c72 Update messages 2021-01-15 16:05:50 -05:00
phkahler 41c81a71c1 Override minimum displayed digits as needed to avoid showing zero. 2021-01-13 19:56:06 -05:00
ruevs bd41485ebe
Correct toolbar height calculation (#885)
The toolbar height is

`int fudge = 8;`
`int h = 32*18 + 3*16 + fudge;`

It means 18 icons 32 pixels each and 3 separators 16 pixels each.

`32*18 + 3*16 + 8 = 632`
`36*16 + 3*16 + 8 = 632`

See these correct increases of the toolbar height:
bf4de993cb/toolbar.cpp (L97)
fe2ea5d5e1/toolbar.cpp (L103)
ef5db2132e/src/toolbar.cpp (L112)
ca2aad7fea/src/toolbar.cpp (L145)

And then these incorrect ones:
3e3ccdca8d/src/toolbar.cpp (L156)
https://github.com/ruevs/solvespace/blame/master/src/toolbar.cpp#L160

In addition
https://github.com/ruevs/solvespace/blob/master/src/drawentity.cpp#L618
the point at which the XYZ axis are shifted right so that they do not
overlap with the toolbar is corrected.

The original discussion is here: d45e2c4c2e
2021-01-10 10:33:26 -05:00
ruevs 758095adb3
Win32: Avoid the "Default Beep" sound in "Еrror" and "Message" dialogs (#881)
On Windows SolveSpace 2.3 uses a plain dialog for `SolveSpace::Error` and
`SolveSpace::Message` with no icon and no system beep. After the GUI
abstraction was reworked this changed to the default system message boxes
(using MessageBoxIndirectW) that play the "Default Beep" sound and show
red "X" and blue "i" icons respectively.

The beep is annoying since the error and message dialogs are used often to
show required conditions for constraints, new groups and other behaviors.

This disables the beep and uses the SolveSpace icon.

Fixes: 719
2021-01-09 17:31:25 -05:00
ruevs 5ef7034de8
README.md: Use the SVG icon with a relative path. (#883) 2021-01-09 17:30:13 -05:00
ruevs 3abfd91e9d Win32: Update the year in the Windows version resource
Visible in right-click on solvespace.exe | Properties | Details | Copyright
2021-01-09 23:37:31 +02:00
ruevs 82698b19a3 Update the year in the About dialog 2021-01-09 23:37:31 +02:00
app4soft a76e7f2439
Update ISSUE_TEMPLATE.md (#859)
Improve formatting.
2021-01-09 12:41:23 -05:00
phkahler d45e2c4c2e
Add toolbar icons for Revolve and Helix created by jkrei0 in issue #857. (#878) 2021-01-09 12:27:27 -05:00
ruevs 3e3ccdca8d Revert "Clean up paste transformed and constrain operations a bit."
This reverts commit 14e837a45f.

Fixes a regression described here:
https://github.com/solvespace/solvespace/issues/875
2021-01-08 21:40:34 +02:00
Koen Schmeets 222c80e4c1
Add OpenMP debug information to conf screen (#869)
* Add OpenMP debug information to conf screen

* Revert casing and whitespace in CMakeLists.txt

* Remove unnecessary comment src/CMakeLists.txt
2020-12-29 14:09:10 -05:00
phkahler 440ea554c9 Add menu checkbox Dim Solid for Sketch Groups.
Makes shadowing the solid optional for sketch in 2d/3d groups. Handy for making dimensioned drawings by putting dims in their own group. #834
2020-12-29 14:08:45 -05:00
ruevs 14e837a45f Clean up paste transformed and constrain operations a bit. 2020-12-22 20:40:50 +02:00
Koen Schmeets 96958f4663
Fix paste transformed not correcting tangent arcs when mirrored (#833) 2020-12-22 14:09:31 +01:00
Koen Schmeets 679e2b9202 Fix an off-by-one error that missed the last point when generating screen bounding boxes 2020-12-21 23:00:51 +02:00
Koen Schmeets 0e5a246a70 Fix normal selection with marquee 2020-12-21 23:00:51 +02:00
Koen Schmeets f343bbc4f4 Fix marquee selection when the view is rotated away from the working plane 2020-12-21 23:00:51 +02:00
Koen Schmeets 4275fb1202 Fix snap to grid not working in some situations 2020-12-20 13:34:28 -05:00
phkahler cac3aae0c7 remove the CLA and commercial licensing text. 2020-12-13 16:40:49 -05:00
Koen Schmeets 2939abf5f8 Improve zooming with trackpad and scrollwheel
On macOS actual scroll delta is used for the zoom amount.
On Windows WHEEL_DELTA is used to allow smooth scrolling if supported.
Shift+Scroll is added for 10x finer zooming.
2020-12-11 07:26:02 -05:00
Koen Schmeets 681a50db26 Run Test CI for pull requests 2020-12-10 13:09:16 +01:00
phkahler 640a1b913a Use good default filenames on Linux/GTK 2020-12-10 05:15:18 -05:00
наб e59186a413 Suggest sensible defaults in file dialogs
Went through first the diff of the referenced commit,
then all instances of "Create(Open|Save)FileDialog";
added SuggestFilename() calls where a default exists

This has been previously removed in
6b5db58971
Closes #538
2020-12-09 20:42:13 -05:00
наб a8b8a347c1 Make Path::SetExtension("") not include a dot 2020-12-09 20:42:13 -05:00
Koen Schmeets f5086b62cc Analyze | Stop Tracing (Ctrl+Shift+S) saves CSV only if a point is being traced
This avoids confusion with "Ctrl+Shift+S" being used as "Save As..." shortcut
on some platforms.
2020-12-09 18:57:31 +02:00
Maximilian Federle 5fa23189d9
CI: Replace Travis with GitHub Actions (#824)
Travis's move away from providing unlimited build time to OSS and its
inferior developer experience are the reason for this change.

The workflows are simple and straightforward, and the build scripts
are mostly 1:1 the same we used on Travis. This avoids vendor lock-in
as much as possible in case we need to move somewhere else in the future.

We introduce two workflows:
1. CD (cd.yml)
  Runs on: Commits to master, GitHub releases.
  Does: Run tests, build release assets, update GitHub edge release  or
  release to developer created GitHub release. Builds & uploads snaps to
  the Snap Store.
2. Test (test.yml)
  Runs on: Every commit except those on master and v* tagged ones.
  I.e. PRs and other branches.
  Does: Run tests only.

Creating a release is now an explicit operation. On the Travis workflow,
pushing a tag that begins with "v" will lead to the automatic creation of
an associated GitHub release.
On GHA, creating a GitHub release by hand will trigger the CD-workflow
to build & upload the release assets.

Other differences to Travis:
- Windows builds on Visual Studio 16 2019 instead of Visual Studio 15 2017.
- Snap builds run in docker containers, not directly on the build host.
- Snap arm64 builds on amd64 via QEMU user emulation.
  This is slower than what Travis gave us and should be changed when/if
  GHA offers ARM64 build runners.
- GHA retains build artifacts for 90 days by default.

Required secrets:
- MACOS_CERTIFICATE_PASSWORD
- MACOS_CERTIFICATE_P12
- MACOS_APPSTORE_APP_PASSWORD
- MACOS_APPSTORE_USERNAME
- MACOS_DEVELOPER_ID
- SNAPSTORE_LOGIN

Discussion: https://github.com/solvespace/solvespace/issues/807
PR: https://github.com/solvespace/solvespace/pull/824

Fixes #807
2020-12-08 18:19:33 +01:00