Commit Graph

2020 Commits (a4eb339e6c2becd389c812ec16dd7bf621ebcabd)

Author SHA1 Message Date
Karl Robillard a4eb339e6c Qt: Cleanup abstraction layers a bit.
Move some code from header to source.  The header has not been removed
entirely so that Qt MOC files can use it.

 - Rename GLWidget as SSView and QtGLMainWindow as SSMainWindow.
2024-03-04 08:49:08 -05:00
Karl Robillard 7e8a7c8ffb Rename qglmainwindow.h as guiqt.h. 2024-03-04 08:49:08 -05:00
Karl Robillard a81cb35d47 Qt: Get TOOL Window scroll bar working. 2024-03-04 08:49:08 -05:00
Karl Robillard 46369b89ad qglmainwindow.h: Remove unnecessary QOpenGLFunctions object. 2024-03-04 08:49:08 -05:00
Karl Robillard 3ce0cee838 Qt: Remove personal app stylesheet. Fix QApplication::exec() crash.
Passing a local argc variable to QApplication causes the crash and this
was exposed by removing the stylesheet code.

Provide main() for Qt to avoid the constraints with the
InitGui/RunGui/ClearGui interface and ensure that the argc passed to the
QApplication constructor exists for the life of the object.
2024-03-04 08:49:04 -05:00
Karl Robillard 1916d226fa dsc.h: Eliminate circular include of solvespace.h. 2024-02-29 20:15:49 -05:00
Karl Robillard a7d02916ff guiqt.cpp: Replace gQApp with Qt provided qApp. 2024-02-29 20:15:49 -05:00
Karl Robillard 1aabaab696 guiqt.cpp: Unindent code & match comment style with other gui files. 2024-02-29 20:15:49 -05:00
Karl Robillard 9d9a30800c qglmainwindow.h: Cleanup whitespace. 2024-02-29 20:15:49 -05:00
Karl Robillard 29d779c638 Revert "Added tinyxml2 to extlib"
This reverts commit 562dba9e6c.
2024-02-29 20:15:49 -05:00
Karl Robillard e8a3a59cda guiqt.cpp: Replace tinyxml2 settings with QSettings. 2024-02-29 20:15:46 -05:00
Karl Robillard 4cb1391ddc guiqt.cpp: Fix unused variable warnings. 2024-02-29 12:30:48 -05:00
Karl Robillard 177d466ba5 GLWidget: Replace deprectated QWheelEvent::delta() method. 2024-02-29 12:30:48 -05:00
Karl Robillard 1cc39e3a9b Fix mouse moving the application window.
When dragging with the LMB the window would often move rather than
manipulating the document.  This occurred with Qt 5.15 on KDE 5.27.
2024-02-29 12:30:48 -05:00
shingen75 26c00cada2 The .h extension to the glmainwindow.h was not copied correctly in the files modified earlier. 2024-02-29 12:30:48 -05:00
shingen75 9310d248f8 Changed the QGLMainWindow.h filename to qglmainwindow.h to conform with the rest of the solvespace code
reflected the change in src/CMakeLists.txt and the include statement in the src/platform/guiqt.cpp
2024-02-29 12:30:48 -05:00
shingen75 36ae738c24 Modified the CMakeLists.txt file to have the USE_QT_GUI disabled by default 2024-02-29 12:30:48 -05:00
shingen75 46f0f3250c Removed debug statements from the quiqt.cpp
rendergl1.cpp ->selectTexture changed id from 1 to 2. It seems that Qt reserves 1 for its own purposes.. not confirmed
2024-02-29 12:30:48 -05:00
shingen75 63e389ebdc Added Qt port related files in src/platforms ( guiqt.cpp and qglmainwindow.h 2024-02-29 12:30:48 -05:00
shingen75 562dba9e6c Added tinyxml2 to extlib 2024-02-29 12:30:48 -05:00
NotSure 7d379e7f3b Updated uk-UA locale; fixed typos; added translations 2024-01-03 13:11:29 -05:00
NotSure f25bf39fa7 fixed pt-line distance constraint bug on paste transformed 2024-01-03 13:11:00 -05:00
Adam Novak ddeab11615 Bypass desktop portal in Snap
This will fix https://github.com/solvespace/solvespace/issues/1067 by setting
GTK_USE_PORTAL=0 in the Snap package. This will use a file chooser from the
point of view of the application to open and save files, instead of using the
"desktop portal" where the chooser runs outside the snap and the file is
exposed dynamically into the snap at an automatically generated path.

This will allow files used in assemblies to be seen by SolveSpace as being at
their real paths, so the references to them will be saved as proper
relative-path references based on where the files actually are, instead of as
references to where the portal has exposed them.

The downside is that without the portal you can't point the application at
files that *aren't* exposed to the Snap.
2023-12-31 09:25:04 -05:00
phkahler 1f8b3f2589 Make arc default dimenision (radius vs diameter) a configuration option. 2023-12-29 11:13:22 -05:00
phkahler 1a71ca745a Dimesions on arcs defaut to radius instead of diameter 2023-12-29 11:13:22 -05:00
Rylie Pavlik 486e43a450 Codespell fix 2023-12-14 12:51:21 -05:00
Dhruv Gramopadhye 3e5f9834d7 Add allocate function as emscripten dep
Web version crashes when you try to make a constraint. After debugging,
addressed the issue with this PR. Emscripten does some optimization
stuff and ends up dropping certain functions, including the alloacte
function called in solvespace's C++ Unwrap method.

To reproduce/test bug:
- Open the web version
- Create a rectangle
- Create a length constraint on one the rectangle edges
2023-12-08 09:47:42 -05:00
Dhruv Gramopadhye 94618d4ce1
CI, macOS: Update dead links to libomp in dependency installer
Big Sur -> Ventura
2023-12-05 14:16:27 +02:00
ruevs 727b0153f6
Update CHANGELOG.md 2023-11-23 10:27:33 +02:00
phkahler 87d0e097bb CTRL-TAB un/hides the toolbar 2023-11-23 09:09:41 +02:00
ruevs d88ed3f2ee Adjust the test suite to match the new behaviour of Path::Join. 2023-11-22 11:12:06 -05:00
ruevs 6f7e45ba9f Fix invalid parts linkage in assemblies when the folder has only one char.
Fix a bug in the `Split` function that would drop a single character
directory name at the end of the path.

Because of the above bug when a directory containing an assembly file had
a name with only one character, the assembly file was saved incorrectly and
the path to the linked files was invalid.

For example if `assembly.slvs` was located in a directory called `a` and
links `subpart.slvs` in the same directory this would result in:

Group.impFileRel=a\subpart.slvs

Which resulted in the linked part not being found when opening next time.

Fixes: #1347
2023-11-22 11:12:06 -05:00
ruevs d5e8a8267c Fix opening of assembly groups with relative (empty) paths.
The `Join` method that merges paths used to return an empty path when
either of the paths was empty. This caused problems when opening files
with linked/assembled groups when the current path was relative - for
example when SolveSpace was ran from the command line with a drawing
files (in the same directory) as a parameter e.g. `solvespace assemby.slvs`.

See https://github.com/solvespace/solvespace/pull/1194 for detailed
discussion.

Fixes: #1292
2023-11-22 11:12:06 -05:00
ruevs 5edc1ec0fb Images are construction by default
With this change and the previous commit images will not be included in
3d groups by default.
2023-11-22 11:06:43 -05:00
ruevs 70382660c8 Do not include construction images in extrude/lathe/revolve/helix
To avoid unnecessary/annoying copies of images added in 2d sketches if they
are marked "construction" they will not be copied when creating solids.

Fixes: #1418
2023-11-22 11:06:43 -05:00
phkahler e7c0c1665f GTK: Eliminate direct references to gdk event struct members in prep for moving to GTK4. 2023-10-14 14:16:38 -04:00
ruevs 0d26ca17f7 UI: Make marquee selection of line segments precise
Before marquee selection worked by checking whether the Axis Aligned
Bounding Box of an entity and the selection marquee overlap. This selects
(slanted) line segments even though the marquee did not "touch" them.

To fix this for line segments actually check that the selection marque
intersects the line segment.
2023-10-14 18:43:40 +03:00
ruevs 9edf2bcc34 Win32: Fix for compiling with MinGW.org GCC-6.3.0-1
MinGW-w64 MinGW-Builds 13.1.0 on the other hand does not need this.
2023-09-29 16:02:20 +03:00
phkahler f399997976 Speed up view change animations 2023-09-28 19:37:10 -04:00
phkahler 1963a836ef Improve boolean difference operations...
...by fixing the logic in KeepRegion() to properly keep/discard
regions where two surfaces coincide.

Now difference works as well as intersection in this respect.

Change inSame to coincSame for clarity.
2023-09-22 17:32:26 +03:00
Victor Kustov 1919a18916 Fix language bug
Signed-off-by: Victor Kustov <ktrace@yandex.ru>
2023-09-20 09:15:20 -04:00
Koen Schmeets e6565c8118
Debug issue with notarization 2023-09-12 21:14:42 +02:00
vthriller beb473b94d Ask before overwriting existing file
Closes #1399
2023-09-12 12:08:26 -04:00
Tomáš Hübelbauer 36ecb85bb3 Update the issue template to show where to look for SolveSpace version on macOS
macOS SolveSpace has the Help menu but it lacks the About menu item in it and instead the way to find the SolveSpace version is to go to SolveSpace > About SolveSpace. This PR updates the issue template to show that.

I have also replaced the `...` with an ellipsis (`…`) as it IMO looks better (can revert this if it doesn't match the menu item on Windows/Linux) and updated the example version to the current SolveSpace version.
2023-08-14 08:06:57 -04:00
Yusuf Yavuzyigit 88e4d08324 Update test.yml with ubuntu-latest and macos-latest 2023-08-09 13:58:58 +03:00
Yusuf Yavuzyigit 95b00bd888
Fix CI for Ubuntu and MacOS (#1388)
Seems like ubuntu-18.04 and macos-10.15 are no longer hosted by GitHub. Switching to ubuntu-latest (at the time of writing: 22.04) and macos-latest (at the time of writing 12) works.

[GitHub hosted runners](https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners#supported-runners-and-hardware-resources)
2023-08-08 18:28:32 +03:00
Paul Kahler 0e2fd2e6d9
Update CHANGELOG.md
Mention the new behavior of ESC while sketching.
2023-07-27 09:41:33 -04:00
phkahler b34d9a2f11 Delete the partially drawn entity when ESC is pressed on pending operations by using UndoUndo() 2023-07-26 20:42:18 -04:00
ruevs f0912d42b1 UI: Remove shortcut key collisions in the Sketch menu
"&Workplane" -> "Wor&kplane"
"&Image" -> "I&mage"
"Tangent &Arc at Point" -> "Ta&ngent Arc at Point"

Closes #1019
2023-07-14 16:32:33 +03:00
Matteo Scalia 3d04d4cc04 skip duplicate drilled holes 2023-07-07 08:49:24 -04:00