Commit Graph

1944 Commits (a0219b222878b68174bac800a6a664774cdfc906)

Author SHA1 Message Date
Ryan Pavlik ce6c4ddeb5 Update README to point to flathub now too. 2022-07-08 17:26:19 +03:00
Ryan Pavlik 29263a8d41 Update AppStream metadata. 2022-07-08 17:26:19 +03:00
Ryan Pavlik 6951c71785 Add a github action to build flatpaks 2022-07-08 17:26:19 +03:00
tinywrkb e6e217b7df flatpak: Keep CLI enabled 2022-07-08 17:26:19 +03:00
tinywrkb 1c5db4d564 flatpak: Cleanup: Update and move module specific value to module cleanup arrays 2022-07-08 17:26:19 +03:00
tinywrkb 2d19afaaef flatpak: Cosmetics
The sources array is usually at the end of a module.
Maybe nitpicking, but the module name will be used as a folder name, and camelcase for folder names is less common on Linux.
2022-07-08 17:26:19 +03:00
tinywrkb 63e420ed11 flatpak: finish-args: Drop unsupported JSON comment and cosmetics 2022-07-08 17:26:19 +03:00
tinywrkb c7dbd54e01 flatpak: libjson-c: Enable threading and disable static libs 2022-07-08 17:26:19 +03:00
tinywrkb 2fdcf228ff flatpak: gtkmm: Avoid building demos and tests 2022-07-08 17:26:19 +03:00
tinywrkb d5f4e6f200 flatpak: Use meson buildsystem where possible 2022-07-08 17:26:19 +03:00
tinywrkb 356e6759b3 flatpak: Add eigen module 2022-07-08 17:26:19 +03:00
tinywrkb 8314d74c59 flatpak: Update modules to latest versions 2022-07-08 17:26:19 +03:00
tinywrkb fef5cc4e4b flatpak: Add f-e-d-c properties to depends, retain comments, and cosmetics 2022-07-08 17:26:19 +03:00
tinywrkb 4a210bdf75 flatpak: Update runtime to 21.08 2022-07-08 17:26:19 +03:00
Ryan Pavlik c4522dbd0d flatpak: Update manifest.
We don't apparently need home dir access, the portal works fine.
2022-07-08 17:26:19 +03:00
Ryan Pavlik c2f65cac12 Fix whitespace and trailing newline in github actions files. 2022-07-08 17:26:19 +03:00
Ryan Pavlik b5333608e9 Stamp source tarballs with the commit hash 2022-07-05 10:06:59 -04:00
ruevs d6e1b23006 Win32: Allow 32 bit SolveSpace to access up to 4GB of RAM.
Link 32 bit SolveSpace for Windows with /LARGEADDRESSAWARE which allows
it to access up to 3GB of RAM on a properly configured 32 bit Windows and
up to 4GB on 64 bit.

See: https://msdn.microsoft.com/en-us/library/aa366778
https://docs.microsoft.com/en-us/cpp/build/reference/largeaddressaware-handle-large-addresses
https://docs.microsoft.com/en-us/windows/win32/debug/pe-format#characteristics
https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2003/cc786709
https://docs.microsoft.com/en-us/windows/win32/memory/4-gigabyte-tuning

Fixes: #1261
2022-06-30 07:43:37 -05:00
strzinek 3b133bfd6d czech translations 2022-06-24 15:33:12 +02:00
verylowfreq c20c4dab30 Add ja-JP translation. 2022-06-23 08:42:37 -04:00
ruevs 1e1e655848 Show details for comments associated with points
Since 7e08b02de1 comments can be attached to
points.

Now when such a comment is selected the point (entity) it is associated to
will be shown in the text window together with it's coordinates and the
distance (offset) from the point to the comment.

Most of this was already prepared by Whitequark here
afa9e2890e
I just had to to remove the original 12 year old code by jwesthues that
showed "SELECTED: comment text" for comments.
(6750995ef0)

Fixes #1072
2022-06-14 14:07:00 -04:00
robnee b48ce240c7 Make scheduled/deferred task order deterministic
Fixes #920 #1143

Explanation from @robnee on Feb 7, 2021 in pull request #927

Solvespace uses two timers (generateAllTimer and showTWTimer) to defer tasks
until the event loop processing finishes. This helps coalesce multiple calls
into one. You can call scheduleGenerateAll multiple times while processing UI
messages but only trigger one GenerateAll. scheduleGenerateAll and
scheduleShowTW do their scheuduling by setting timers with durations of zero.
These timers fire (at least on Linux and Windows) some time after all other
events in the message queue have been processed. This works fine when
scheduling either one of these tasks. However, there is no guarantee in what
order the timers will fire (at least on Windows) regardless of which order the
scheduling calls are made. It's pretty easy to demonstrate (on some platforms)
by adding logging to the scheduling calls and timer callbacks.

In many cases TextWindow::Show depends on generateAll happening first. This
causes UI glitches where displays don't update and their contents are stale.
Since this behavior is not deterministic it's easy to imagine how this problem
could make certain bug reports difficult to reproduce and diagnose. #920 is a
good example. It also makes syncing up UI behavior across all platforms a
challenge.

Solving this in the platform domain is tricky. This is PR endeavors to make the
ordering of deferred calls to TextWindow::Show and generateAll deterministic.
It does this by replacing generateAllTimer and showTWTimer with a single
refreshTimer. Calls to scheduleGenerateAll and scheduleShowTW set flags to note
the requested operations and schedule the refreshTimer. A new callback function
SolveSpaceUI::Refresh can then check the flags and ensure that generateAll
happens first. It fixes #920. Moreover, this PR makes it easy to observe and
reproduce this problem reliably and across all platforms by simply reordering
the calls in the Refresh callback.

It's pretty clear that the ordering is important so some solution is needed, if
for no other reason than the sanity of the devs. I think this is a pretty good
solution as it spells out the ordering. If nothing else this PR is helpful in
further investigations.

@ruevs @phkahler I'd like to hear your thoughts.
2022-06-14 13:07:05 -04:00
phkahler be3489e3a0 Add some face and point types to describe screen 2022-06-11 20:47:20 -04:00
phkahler 3fe6349563 Add faces perpendicular and parallel constraints. 2022-06-11 20:46:58 -04:00
Paul Kahler 00418824f9
Update CHANGELOG.md 2022-06-02 12:14:16 -04:00
Ryan Pavlik 70bde63cb3 Fix Exec line of desktop files.
They needed %f to indicate how to pass the file we're claiming to handle.
2022-05-17 22:09:48 -05:00
Ryan Pavlik ec1c2289e5 Eigen includes are needed in more places.
Also remove erroneous redundant extlib/eigen mentions.
2022-05-17 22:09:48 -05:00
Paul Kahler dfbefa60f5
Update CHANGELOG.md 2022-05-12 16:42:47 -04:00
Paul Kahler a4416a4cae
Update CMakeLists.txt 2022-05-12 13:51:21 -04:00
Paul Kahler 0c09d9df0c
Update CMakeLists.txt 2022-05-12 09:57:47 -04:00
phkahler ab00823acc Update mimalloc version to 2.0.6 2022-05-07 17:25:48 -04:00
carelinus b334996c49 German translation completed 2022-05-04 15:18:40 -04:00
Maximilian Federle 6a6fffed0e
CI: Use upstream action to build snap & drop arm64 snap (#1232)
Snapd stopped working in Docker containers in commit
c6011693a8

Therefore, we cannot use the current build action,
which relies on Docker to implement cross-compilation.
Switching to the upstream build action avoids the problem at the cost
of losing the arm64 builds on amd64 hardware.
Those need to be reintroduced by some other mechanism,
e.g. via Launchpad, in the future.

Fixes #1229
2022-04-12 20:12:36 -07:00
Paul Kahler 0cec15c97d
Update README.md 2022-04-01 09:20:08 -04:00
Paul Kahler 2e4a4dee52
Update README.md 2022-03-31 15:34:07 -04:00
Paul Kahler 7e2aba466a
Update README.md 2022-03-30 09:39:28 -04:00
dustinhartlyn fc16cdb370
Fix for zoom in/out error (#1221)
* minor fix open/save dialogue on windows 

On windows 10 the open/save dialogue box has an minor error, and I believe I fixed it. 

When "Open" is selected from the menu, the title of the dialogue box says "SolveSpace - Save File" and the entered file name is "united". My fix correctly titles the dialoged box, and leaves the address bar blank when a file is being opened because "united" is only needed as a default name when a file being saved. 

I found that class FileDialogImplWin32 from guiwin.cpp contains two if statements for "isSaveDialog". This is redundant. I removed the first where the title was originally set, but not working. I then set the title in the second if statement and moved the 'if isEmpty'' to this section.

* Update guiwin.cpp

replaced tabs with spaces

* Created ZoomToMouse function in graphicswin.cpp which referances the mouse position directly. Simplified MouseScroll in mouse.cpp to point to this function instead of altering zoom directly. Also pointed zoom commpand from keyboard and menu to ZoomToMouse so that it works avoids different behavior.

* clean up some comments
2022-02-28 14:22:35 -05:00
Koen Schmeets b429141c28 Revert "mac: Don't interpret single-touch scroll events as pan gestures"
This reverts commit 91db627a81.
2022-02-28 09:45:49 -05:00
phkahler c5ea9a44e1
Move shell functions out of surface.cpp and into shell.cpp (#1220) 2022-02-14 10:26:12 -06:00
ruevs 2383a39636 UI: Display the circumference of a circle in the property browser
Closes #1211
2022-02-09 11:29:07 +02:00
ruevs d8b5281fc9 MacOS: Update the year to 2022 in the About dialog. 2022-02-06 23:40:45 +02:00
Maximilian Federle 43795f5dac CI: Create tarballs with submodules included for releases
Closes #1028
2022-02-06 11:34:05 -05:00
ruevs 026f936989 A workplane can now be defined from a workplane defined by point and normal
It is now possible to create a "New Group | Sketch in New Workplane" from
an existing workplane defined using a point and a nowmal. Before we used to
hit the `ssassert(false, "Unexpected workplane subtype");`.

This makes 4308dc136b more complete and
is related to #1120, #1048 and
https://github.com/solvespace/solvespace/pull/1054
2022-02-03 15:06:07 -05:00
phkahler 465506670c Fix normal issue, when a workplane is created from a point and normal we were only storing the numeric normal so the plane (and subsequent extrusion) wouldn't follow if the sketch was on the face of a revolve. Now we store the handle to the defining normal it predef.entityB so it can update properly on regeneration. 2022-02-03 15:06:07 -05:00
Mustafa Halil 7fa72500c8
Turkish translation tr_TR.po updated (#1203) 2022-02-02 13:52:14 -05:00
ruevs a1b2db5e18 Translations update
Two new strings:
"&Go to GitHub commit"
"Text-formated STL files are not currently supported"
2022-02-01 16:28:52 +02:00
phkahler 61cc28f8b2
Check for text STL when linking (#1197)
* Check for text STL when linking

* Use memcmp in STL import when checking for ASCII format

* Add message box for unsupported STL file type.

Co-authored-by: ruevs <dpr@ruevs.com>
2022-01-27 13:20:35 -05:00
ruevs 859df9f43d README: add libomp dependency for building on macOS 2022-01-25 11:49:09 -05:00
phkahler b399d9a1ec add normals to linked STLs 2022-01-20 09:53:17 -05:00
ruevs 5cb299b2be Update CHANGELOG.md 2022-01-16 17:01:08 -05:00