Commit Graph

1918 Commits (1603402df22796f2f24517da61b3e82f7e7f5e2e)

Author SHA1 Message Date
verylowfreq 1603402df2 Web: Improve file dialog. 2022-11-05 19:26:01 +02:00
verylowfreq 4981570844 Web: Improve touch support and layout. 2022-11-05 19:26:01 +02:00
verylowfreq b5cde57bb6 Web: Some fix for critical runtime error and cleanups. 2022-11-05 19:26:01 +02:00
verylowfreq cf597277fa Web: Initial support for touch devices. 2022-11-05 19:26:01 +02:00
verylowfreq 64948c4526 Web: Add opening/saving file support.
- Opening file is implemented as uploading.
- Saving file is implemented as downloading.
  - The filename is suffixed with current date and time.
2022-11-05 19:25:54 +02:00
ruevs 56b9d36030 Remove superfluous #include <iostream> introduced in 4fc0141 2022-11-05 19:15:13 +02:00
Eldritch Cheese 4fc0141a5e [Graphics][Bugfix] "Nearest Isometric" respects turntable navigation
Prior to this commit, the "Nearest Isometric" GUI command searched all
24 possible isometric views.  When using turntable navigation, this
could result in the z-axis no longer being oriented vertically.  This
commit restricts the views being searched while in turntable
navigation mode to those that follow this restriction.
2022-11-05 12:14:28 -04:00
TristeFigure d50e2b2a43 Fix "Constraintes" type in French locale 2022-11-05 12:12:39 -04:00
Val Lorentz 5c899617b4 fr_FR: Replace straight quotes with angular quotes
This is more common in French.
2022-11-05 12:12:21 -04:00
Val Lorentz d1d7ae690b fr_FR: Add missing translations, and review existing ones. 2022-11-05 12:12:21 -04:00
Val Lorentz fc55990f21 fr_FR: Complete menu translation and fix inconsistencies
Including translations of other parts of the UI refering to menus
with a different name.
2022-11-05 12:12:21 -04:00
Val Lorentz 014dd43cf4 fr_FR: Fix spacing before punctuation marks
';', ':', '!', and '?' should always follow a non-breaking space
2022-11-05 12:12:21 -04:00
Val Lorentz 08c787f749 fr_FR: Change list item prefix
1. Use regular spaces instead of non-breaking, like English
2. Use en dashes instead of stars, which are more common in French
   typography as bullet style
2022-11-05 12:12:21 -04:00
Adam Novak 3dc4d0e640 Allow all linkable files as missing files to fix #1297 2022-10-18 18:51:39 -04:00
Loïc Bartoletti 6b9e7b2eec CMake: Add FindCairo.cmake to fix build on FreeBSD 2022-10-18 13:24:44 -04:00
Val Lorentz 574fc0190a Fix inconsistent French translation of "Rotate Imported"
"Rotation Importation 90°" was the only noun group in this part
of the menu.

This replaces it with an infinitive group like the rest of the menu,
which is also easier to understand.
2022-10-11 13:55:13 -04:00
Val Lorentz a873cee637 Fix typos 2022-10-11 13:53:45 -04:00
Val Lorentz f9a7a96108 Fix French translations of "Step"
"Step" has plenty of meanings, and the wrong one was used here:
"espacement" roughly means "spacing", which is very confusing for the
"Step dimension" feature, and weird for "Step translation"/"Step rotation".

Instead, I chose to translate it as:

* "Pas-à-pas" for the former, which is a noun for lack of a verb that fully
  captures the meaning, which literally translates to "step-by-step".
  "Pas-à-pas" is also the common translation of "Step debugging" in
  programming.
* "Répétiter par" for the latter, which is a verb (+ adverb) which literally
  translates to "Repeat by" and is the most natural way to phrase this.

As a side-effect, I made a key binding consistent with English.
2022-10-11 13:53:45 -04:00
ruevs bce25bb0e2
README: Move the check out instructions to one place. (#1285) 2022-09-03 19:32:54 +03:00
verylowfreq f7415048a5 Web: Emscripten port updated to current tools. Add saving of options in local storage. 2022-08-21 14:13:22 +03:00
whitequark 5ca6d04e02 Add a very experimental Emscripten port.
Web: Emscripten port updated to current tools. Add saving of options in local storage.

U  Web: Emscripten port updated to current tools. Add saving of options in local storage.
2022-08-21 13:36:50 +03:00
Adam Strzelecki cf4defcd47
mac: Distinguish trackpad from Magic Mouse scroll (#1274)
This is the second attempt to distinguish trackpad scrolling that when used
should yield panning from Magic Mouse scrolling that should control zoom.

Since trackpad will begin with a touch prior to the scroll event, but Magic
Mouse not, we can use it to make sure we trigger panning only on a trackpad.

Previous "mac: Don't interpret single-touch scroll events as pan gestures"
that was flawed was reverted which ultimately lead to being unable to zoom using
Magic Mouse.
2022-08-18 00:15:14 +02:00
Maximilian Federle c65e31bece snap: Port to core22
- Migration according to https://forum.snapcraft.io/t/micro-howto-migrate-from-core20-to-core22/30188
- Also declare all snaps stable
2022-08-09 13:49:00 -04:00
ruevs bc4244e099 Win32, MSVC: Enable Multi-processor Compilation (/MP) with Visual Studio
Makes compiling from the Visual Studio IDE much faster when using the
solution and projects generated by cmake.

For the externals I hijack the `disable_warnings` function.
2022-07-08 18:43:16 -05:00
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