Commit Graph

420 Commits

Author SHA1 Message Date
3465557a5b
Use GResources for the UI file and the LICENSE
- The About dialog now displays the licence.
 - The main UI file is now integrated into the binary.

The project needed some of its ugly CMake code back.
2021-11-01 12:20:16 +01:00
082f1aa41c
CMakeLists.txt: shuffle things around 2021-11-01 11:57:01 +01:00
8950a533b4
Don't generate marshallers in the source tree
This is much cleaner.  I'm unsure of the original motivations,
perhaps I just wanted to have all source files next to each other.
There is no functional issue with the build directory, though.
2021-11-01 10:14:19 +01:00
79d2fc78ea
Win64Depends.sh: describe a more precise fix 2021-11-01 09:26:48 +01:00
1d118d5406
CMakeLists.txt: remove pointless targets
The win32-depends target only makes sense /before/ running CMake.

Let the builder do it by hand rather than invoking it automatically,
which would be another sensible solution.
2021-11-01 07:52:41 +01:00
d5ea2e2b4d
Move GSettings schema checking to tests 2021-11-01 07:40:32 +01:00
0cec1b4bad
CMakeLists.txt: slightly modernize
Before version 3.12, we still need to set CPACK_PACKAGE_VERSION
manually, and the subversions are actually wrongly defaulting to 0.1.1
(but we don't particularly care).

FindIntl has been there since CMake 3.2.
2021-10-31 04:18:44 +01:00
a40b281078
Improve clang-format configuration 2021-10-30 03:01:11 +02:00
dd48af42eb
Stop stuttering in CMake scripts 2021-10-29 04:56:56 +02:00
ed6d34159e
Win32Depends.cmake: make a note about cURL 2021-10-29 04:30:35 +02:00
ff03060efa
Win32Depends.cmake: reflect mingw-get's existence
But let's keep Lua in the downloader, to make cross-compiling easier.
2021-10-29 04:11:03 +02:00
9dcef6a14f
Make ld_library_find_symbol() easier to read
As well as shorter, strangely.

Symbols may technically exist directly in the root category now.
2021-10-29 01:31:50 +02:00
ee7be81434
Clean up 2021-10-29 00:24:12 +02:00
0c5c680f62
Get rid of broken vera++, integrate clang-tidy 2021-10-29 00:22:43 +02:00
f139efba6d
Support Windows XP forever
GTK+ 3 has been almost abandoned, and there is little newer versions
could improve, so keep supporting the old and working 3.8.
2021-10-28 21:36:54 +02:00
83c1e7a491
Update translations 2021-10-28 21:33:09 +02:00
59b5ff7020
Append ellipsis to the Print menu item
It opens a dialog.
2021-10-28 20:05:31 +02:00
2bc9fe4f1d
Fix scaling to fit paper 2021-10-28 06:14:21 +02:00
bd12c0502a
Update user guides
Now add text labels, and this project is functionally complete.
2021-10-28 06:01:03 +02:00
4f01392de5
Add basic print functionality
Sadly, the line width depends on the widget's DPI, which seems to
even cause uneven lines on Windows, where virtual printers claim
high DPI.  It might also be an unrelated problem.

Similarly, selected objects are exported highlighted.

Other than that, it works quite well.

Add a manifest to make the print dialog look nice with the older
GTK+ bundle we depend upon.

The RC file could theoretically be scanned for /\s+"([^"]+)"\s*$/,
unescaped, and the results configure_file()-stamped.
2021-10-28 05:57:27 +02:00
6cd6ddbd1c
ld-window-main.c: clean up 2021-10-28 05:25:57 +02:00
a4a0dd2106
Clean up
It turns out the RC detection snippet is no longer necessary
after the recent CMake version bump.

The "name" argument in the UI file is redundant, implied by "action".
2021-10-28 05:18:03 +02:00
b45670f9e9
CMakeLists.txt: simplify NSIS configuration
Functionality has been verified to remain as it was
on a native Windows XP build using NSIS 3.08.
2021-10-27 21:47:49 +02:00
06e3c9e280
Bind # to toggling the view grid
As seen in Inkscape.
2021-10-27 18:38:33 +02:00
073a4cd4a7
CMakeLists.txt: don't look for gtk-doc by default
The integration is broken and it spams with a warning message
when building on Windows directly.
2021-10-26 20:12:26 +02:00
f7807cada2
Make the about dialog link work in Windows XP
For some weird reason, GTK+ is trying to connect to URLs first,
which typically won't succeed these days.
2021-10-26 07:37:50 +02:00
08cf0ef2e6
Make development builds find the program icon 2021-10-26 06:32:29 +02:00
baf2dc8ccd
Fix help on Windows with newer GIO
It needs its launch helper, luckily it's a tiny binary.
2021-10-25 23:12:14 +02:00
a5e341bcc1
Update README 2021-10-25 18:21:23 +02:00
bc8ceebef7
Add clang-format configuration, clean up 2021-10-25 18:06:50 +02:00
da0a5c43dc
Add the user guide to the Help menu
The old GLib put up a good fight, it says "URIs not supported"
even for the file:// scheme.
2021-10-25 02:50:14 +02:00
384dad7bd8
Get rid of extra semicolons after macros 2021-10-25 00:27:32 +02:00
ada833a009
Abandon AsciiDoc in favor of plain HTML
It is very difficult to set up Python or Ruby on Windows XP.

Simple HTML works better, everywhere, it covers all our needs,
and it isn't any harder to write.

This documentation is now installed.
2021-10-25 00:04:28 +02:00
924617e1ce
Silence some GLib deprecation warnings
Using the GLib version from the GTK+ 3.8.2 bundle.
2021-10-24 16:45:53 +02:00
67acddb26d
Disable the broken gtk-doc rule by default
Unlikely to be used by anyone, especially since it cannot produce
anything useful anymore.
2021-10-24 16:43:55 +02:00
bc1dd64fdf
Partially unbreak the hopeless gtk-doc
GNOME Idiots Inc. keep breaking everything,
sometimes in coöperation with KitWare KludgeMakers Ltd.
2021-10-24 15:31:03 +02:00
8c290df7b5
Update README 2021-10-23 20:27:51 +02:00
5fc35517cb
Update README 2021-10-23 20:11:10 +02:00
5a4cffd35e
Win32Depends.cmake: remove an unused feature 2021-10-23 20:02:45 +02:00
3a087ad581
Remove unnecessary DLLs from Windows builds
This saves 20 MiB and 4 MiB of libraries in MSYS2 and bundle
builds respectively, in total, without any adverse effects.

The MSYS2 build remains bloated, due to the Adwaita icon theme.

Bump minimum CMake version to avoid a bug.
2021-10-23 18:01:30 +02:00
4305c603e9
CMakeLists.txt: clean-up
Use the newer 3.0 string quoting to save some ugly escaping.
2021-10-23 16:35:36 +02:00
cbe23b7bb6
Bump version, update NEWS 2021-10-22 22:34:39 +02:00
2d103ed454
Fix the file save dialog and translations 2021-10-22 22:23:59 +02:00
885ccb46a3
Win32Depends.cmake: get rid of 7z
CMake 3.9 has been proven to successfully unpack 7z archives.
2021-10-22 21:53:35 +02:00
47fb9653b8
Bump the CMake version requirement, fix Windows
- Add a missing runtime library for gettext-tools.
 - Remove the no longer necessary customized FindGettext.cmake,
   since the downloaded gettext binaries are new enough.
 - Make the installer at least ask to uninstall previous versions.
 - Adjust the PATH of tests so that they'll run on Windows directly.
 - Fix quoting so that the project will build inside paths with spaces.
 - Resolve a GSettings deprecation warning.
 - Update the README's build instructions as appropriate.
 - Require CMake 3.9 because of the README's suggestion to fix
   FindPkgConfig.cmake manually using separate_arguments(UNIX_COMMAND).

Tested build configurations:
 - native Arch Linux,
 - native Windows XP with the newest NSIS,
 - Arch Linux Mingw-w64 i686 Win32Depends.cmake NSIS cross-build + XP,
 - Arch Linux Mingw-w64 x86_64 MSYS2 NSIS cross-build + Windows 10.

Detected issues:
 - The file save dialog will not add the extension automatically,
   seen with MSYS2.
2021-10-22 20:08:51 +02:00
42b6da1ffe
README: fix cross-building instructions
Copy-pasting and exhaustion do not go well together.
2021-10-22 14:41:37 +02:00
98f16c2c76
Further minor improvements to cross-compilation 2021-10-22 01:40:29 +02:00
03c6ae0750
Include modern build instructions for Win64
Mostly just so that the two options don't look the same.
2021-10-21 21:53:20 +02:00
95f53863ec
Win64Depends.sh: verify package checksums
Now the script has nearly reached feature parity with Win32Depends.sh,
though it can't be easily run on Windows.
2021-10-21 21:37:44 +02:00
8ac267c8db
Figure out how to abuse MSYS2 repositories
In the end, all seems to work fairly well on Windows 10.
2021-10-21 19:38:37 +02:00