Commit Graph

824 Commits

Author SHA1 Message Date
whitequark
5af252eaf1 Multiply constraint values by scale when pasting with transformation. 2016-07-19 12:14:28 +00:00
whitequark
61904280a3 GTK: make Space Navigator actually work.
Before this commit, no events would actually be received.
2016-07-19 08:27:11 +00:00
EvilSpirit
51f3d7e438 Fix the "Show degrees of freedom" command.
Before this commit, it never highlighted anything at all.
It was broken when chord tolerance calculation was overhauled.
2016-06-29 17:01:59 +00:00
whitequark
561b2797e8 Don't crash when changing the autosave interval. 2016-06-23 11:59:04 +00:00
whitequark
5525303946 Do not remove autosave after successfully opening file.
If SolveSpace crashes after the open, or hangs and is forcibly
killed, data would be lost. (I lost my data.) Instead, remove
autosave only in two cases: right after a successful save, or right
after a save is declined. This should be completely safe.
2016-06-23 11:59:01 +00:00
whitequark
7f6c774bf5 Update changelog for 2.2. 2016-06-23 11:58:54 +00:00
whitequark
fd255364b3 Show "Paste" context menu item even when only constraints are copied. 2016-06-23 11:58:29 +00:00
whitequark
478973eb3c OS X: fix typo in build system. 2016-06-20 13:42:40 +00:00
Thomas Buck
8fd572d449 OS X: add 3Dconnexion device support. 2016-06-20 13:42:40 +00:00
whitequark
7b82ff68e1 Unix: also install the SolveSpace desktop icon in the xpm format.
This is required by e.g. Debian guidelines.
2016-06-16 02:51:10 +00:00
whitequark
7fc2033c9b Update debian/copyright. 2016-06-16 02:45:20 +00:00
whitequark
ff9a8284b4 OS X: find frameworks last.
Before this commit, any available libpng or libfreetype would be
picked, e.g. from Mono.framework. After, homebrew and MacPorts
are prioritized.
2016-06-13 04:15:55 +00:00
whitequark
c25e4c8973 OS X: sort out window visibility and focus. 2016-06-13 02:08:28 +04:00
whitequark
dce906465d Add CHANGELOG.md. 2016-06-11 22:30:26 +00:00
whitequark
53e5e0eb90 Fix copyright. 2016-06-11 22:29:58 +00:00
whitequark
ce656ef7c6 Fix disabling of autoconstrainter via Ctrl. 2016-06-11 22:28:02 +00:00
whitequark
fb2f32eb72 Three.js: correctly handle browser zoom.
Before this commit, controls went wild on zoom ratios other than 1:1,
and the rendering wasn't too good either.
2016-06-11 20:45:57 +00:00
EvilSpirit
917a7b93ce Load actual factory default, not saved style, when requested. 2016-06-11 20:45:57 +00:00
EvilSpirit
c838158e04 DXF, DWG: allow undoing an import. 2016-06-11 20:28:02 +00:00
whitequark
17f7a7b467 Unbreak importing files in the same directory as current file.
This commit fixes a bug introduced in commit 0d7aa0a1.
2016-06-11 20:27:00 +00:00
whitequark
e78edd9b94 Cocoa: allow dismissing Message/Error NSAlerts using Escape key. 2016-06-11 20:26:51 +00:00
whitequark
d13e29cdaf GTK: clip any editors instead of resizing GraphicsWindow.
Such resizing may well get us past OpenGL's maximum texture size
and break rendering.
2016-06-11 20:26:12 +00:00
whitequark
daee939714 Reimplement e129755d properly.
Before this commit, quitting through menu would bring up the dialog
twice when declining to save the file.
2016-06-11 20:26:01 +00:00
whitequark
44c152ccd0 Fix glyph for U+0454 є in vector font. 2016-06-11 20:24:51 +00:00
whitequark
dfc218c452 Allow copying and pasting constraints. 2016-06-11 20:23:44 +00:00
whitequark
9fc60a0c00 Cocoa: fix massive memory leak. 2016-06-11 20:23:16 +00:00
whitequark
f3e36f593b GTK: intercept the Tab key and run MNU_SHOW_TEXT_WND. 2016-06-11 20:23:09 +00:00
whitequark
b62375b554 Rename "Browser" to "Property Browser".
Also, rename confusing "Show Text Window" menu item.
2016-06-11 20:22:41 +00:00
whitequark
056d3bfa30 Properly fix workplane name overlapping workplane border.
A previous attempt to fix this was done in 0128b8679. However, it was
not rigorous. The added offset was dependent on font size and it
introduced an error into edit control positioning. Further, it is
irrelevant to non-workplanes.

After this commit, the workplane drawing code adds a fixed offset
instead. Also, the "tab" is enlarged to not overlap with #XY etc.
2016-06-11 20:22:24 +00:00
whitequark
1e2f199633 Update CI scripts to respect the vA.B tag name format. 2016-05-17 14:53:36 +00:00
whitequark
0d7aa0a1a3 When opening imported files, first try relative path.
Without this, if we have e.g.:
  * a/x.slvs
  * a/y.slvs importing a/x.slvs
and copy a/ to b/, then loading b/y.slvs would load a/x.slvs, which
is rather surprising.
2016-05-17 14:44:33 +00:00
whitequark
3bdaa53725 MSVC: expand C99's inline to MSVC's __inline.
This is not done for C++ as C++ has a proper inline keyword, and
MSVC's C++ standard library will not like it becoming a macro.
2016-05-17 12:54:51 +00:00
EvilSpirit
ae60187322 DXF: export the right supplementary angle.
Before this commit, e.g. a 120° angle could be exported as its
supplementary 60° angle but it would still say 120° in the label.

After this commit, the right angle is selected in DXF-based software.
Similarly, it roundtrips through SolveSpace correctly.
2016-05-17 12:34:35 +00:00
EvilSpirit
11919bf0c1 DXF: import "actual measurement" for dimensions. 2016-05-17 12:34:35 +00:00
EvilSpirit
63abcc379d DXF: export "actual measurement" for dimensions.
The "actual measurement" DXF field contains the size of the dimension
as scaled on the drawing, as opposed to the size as written on
the label.
2016-05-17 12:34:35 +00:00
EvilSpirit
7b8e8b0b41 DXF: export color as indexed, not RGB.
The version of AutoCAD we advertise is unable to read RGB color, so
software attempting to be compatible with it ignores color attributes.
2016-05-17 11:47:49 +00:00
whitequark
e129755d66 Offer to save file when closing if it is unsaved. 2016-05-11 07:43:04 +00:00
whitequark
005ff7e31b GTK: fix GTK3 build. 2016-05-10 13:10:41 +00:00
whitequark
ab8fdcb273 GTK: don't set the "Keep above" hint on text window.
This hint is not recommended for direct use by applications, and for
a good reason: it's very annoying. Moreover, what we want is not
"keep above" but rather "keep on the same layer as graphics window",
which is already achieved by setting window type to "utility"
on GNOME and Unity WMs, and by setting the transient window hint
for the text window on KDE WM.
2016-05-10 01:21:36 +00:00
whitequark
4a8675c120 DXF: regenerate after importing.
Without this, some freshly imported entities appear with incorrect
styles.
2016-05-09 12:43:52 +00:00
whitequark
8f515f3b90 GTK: don't raise graphics window in HideTextEditControl().
This screws up window managers like fvwm, which don't respect
the ICCCM "Keep Above" flag. I don't remember why it's there and
it doesn't appear that removing it has any ill effect.
2016-05-08 00:02:21 +00:00
whitequark
e969bc94ad Enable -Wall -Wextra -Wno-unused-parameter on GCC/Clang.
This is good practice and helps to catch bugs. Several changes
were made to accomodate the newly enabled warnings:
  * -Wunused-function:
    * in exposed/, static functions that were supposed to be inlined
      were explicitly marked as inline;
    * some actually unused functions were removed;
  * -Wsign-compare: explicit conversions were added, and in
    the future we should find a nicer way than aux* fields;
  * -Wmissing-field-initializers: added initializers;
  * -Wreorder: reordered properly;
  * -Wunused-but-set-variable: remove variable.

-Wunused-parameter was turned off as enabling it would result in
massive amount of churn in UI code. Despite that, we should enable
it at some point as it has a fairly high SNR otherwise.
2016-05-08 00:01:35 +00:00
whitequark
ee30fa2b0d Work around an MSVC 2013 bug related to unique_ptr.
The following bug is tickled by calling emplace() on a map with
non-copyable but moveable values:
https://connect.microsoft.com/VisualStudio/feedbackdetail/view/960021

Fortunately, we don't actually need emplace() here as operator[]
will create values if they aren't there.
2016-05-07 22:36:41 +00:00
whitequark
12c9858d06 Only flip extrusion normal when transitioning between union and difference.
After commit a8465cbc8, extrusion normal would be adjusted when
switching between union and assembly groups, if ever implemented.
2016-05-07 06:36:30 +00:00
EvilSpirit
a44a4665a8 In GenerateAll, accept explicitly permitted redundant sketches as OK.
Before this commit, they were considered unsolved and were re-solved
over and over unnecessarily.
2016-05-07 05:43:16 +00:00
whitequark
febe0f5282 Rename the old "Import / Assemble" feature to "Link / Assemble".
This better reflects what it does and avoids clashes with the new
DXF import feature.
2016-05-07 05:27:54 +00:00
whitequark
d05e9a938b DWG: implement import.
Before this commit, the file filter suggested that DWG was readable,
but it wasn't.

Also, report any failures while reading DWG and DXF files.
2016-05-07 05:17:23 +00:00
whitequark
7da5cfbaae Don't hold all existing system fonts open.
On Windows, this exhausts file descriptors and everything (e.g.
opening and saving files) breaks.
2016-05-07 04:20:06 +00:00
EvilSpirit
a21a327a97 DXF: create certain constraints during import.
Specifically:
  * point-coincident, horizontal and vertical constraints (inferred);
  * point-point and point-line distance, angle, radius and diameter
    constraints (based on DXF dimensions).
2016-05-07 04:02:34 +00:00
EvilSpirit
70d84b30e8 DXF: implement import. 2016-05-07 04:02:34 +00:00