Compare commits
	
		
			19 Commits
		
	
	
		
			deceafb4f4
			...
			master
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						
						
							
						
						17d9b3cf4c
	
				 | 
					
					
						|||
| 
						
						
							
						
						2aa0a6231c
	
				 | 
					
					
						|||
| 
						
						
							
						
						56a2a58ed6
	
				 | 
					
					
						|||
| 
						
						
							
						
						99834e93c0
	
				 | 
					
					
						|||
| 
						
						
							
						
						266c4c7c9f
	
				 | 
					
					
						|||
| 
						
						
							
						
						e5e42b63eb
	
				 | 
					
					
						|||
| 
						
						
							
						
						a4532ea322
	
				 | 
					
					
						|||
| 
						
						
							
						
						4aeaf61c99
	
				 | 
					
					
						|||
| 
						
						
							
						
						d5837555b8
	
				 | 
					
					
						|||
| 
						
						
							
						
						9003f36ba2
	
				 | 
					
					
						|||
| 
						
						
							
						
						6df51485d3
	
				 | 
					
					
						|||
| 
						
						
							
						
						2433b9046f
	
				 | 
					
					
						|||
| 
						
						
							
						
						93cd4dc4f9
	
				 | 
					
					
						|||
| 
						
						
							
						
						9dc1d20d6c
	
				 | 
					
					
						|||
| 
						
						
							
						
						66a3b3e259
	
				 | 
					
					
						|||
| 
						
						
							
						
						3ff0f117f9
	
				 | 
					
					
						|||
| 
						
						
							
						
						de291ffddb
	
				 | 
					
					
						|||
| 
						
						
							
						
						baaca4c58f
	
				 | 
					
					
						|||
| 
						
						
							
						
						7499f92811
	
				 | 
					
					
						
@@ -1,6 +1,6 @@
 | 
				
			|||||||
# The last version with Windows XP support is 3.13, we want to keep that
 | 
					# The last version with Windows XP support is 3.13, we want to keep that
 | 
				
			||||||
cmake_minimum_required (VERSION 3.10)
 | 
					cmake_minimum_required (VERSION 3.10)
 | 
				
			||||||
project (logdiag VERSION 0.2.1 DESCRIPTION "Schematic editor" LANGUAGES C)
 | 
					project (logdiag VERSION 0.3.0 DESCRIPTION "Schematic editor" LANGUAGES C)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Options
 | 
					# Options
 | 
				
			||||||
option (OPTION_CLANG_TIDY "Enable use of clang-tidy" OFF)
 | 
					option (OPTION_CLANG_TIDY "Enable use of clang-tidy" OFF)
 | 
				
			||||||
@@ -9,6 +9,7 @@ option (OPTION_GTKDOC "For developers only--enable use of gtk-doc" OFF)
 | 
				
			|||||||
option (BUILD_TESTING "Build tests" OFF)
 | 
					option (BUILD_TESTING "Build tests" OFF)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Project information
 | 
					# Project information
 | 
				
			||||||
 | 
					set (project_ID "name.janouch.${PROJECT_NAME}")
 | 
				
			||||||
set (project_URL "https://git.janouch.name/p/logdiag")
 | 
					set (project_URL "https://git.janouch.name/p/logdiag")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# For custom modules
 | 
					# For custom modules
 | 
				
			||||||
@@ -40,6 +41,7 @@ if (CONVERT_EXECUTABLE AND NOT WIN32)
 | 
				
			|||||||
	set (icon_svg ${icon_base}/scalable/apps/logdiag.svg)
 | 
						set (icon_svg ${icon_base}/scalable/apps/logdiag.svg)
 | 
				
			||||||
	set (icon_size_list 16x16 32x32 48x48)
 | 
						set (icon_size_list 16x16 32x32 48x48)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						# ImageMagick very oddly outperforms rsvg-convert with our specific SVG
 | 
				
			||||||
	set (icon_png_list)
 | 
						set (icon_png_list)
 | 
				
			||||||
	set (icon_symbolic_list)
 | 
						set (icon_symbolic_list)
 | 
				
			||||||
	foreach (icon_size ${icon_size_list})
 | 
						foreach (icon_size ${icon_size_list})
 | 
				
			||||||
@@ -58,6 +60,8 @@ if (CONVERT_EXECUTABLE AND NOT WIN32)
 | 
				
			|||||||
			PROPERTIES SYMBOLIC TRUE)
 | 
								PROPERTIES SYMBOLIC TRUE)
 | 
				
			||||||
	endforeach ()
 | 
						endforeach ()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						# Symbolic targets prevent the icons from being either cleaned,
 | 
				
			||||||
 | 
						# or pointlessly regenerated slightly differently
 | 
				
			||||||
	set (icon_ico ${PROJECT_SOURCE_DIR}/share/logdiag.ico)
 | 
						set (icon_ico ${PROJECT_SOURCE_DIR}/share/logdiag.ico)
 | 
				
			||||||
	add_custom_target (${PROJECT_NAME}_icons
 | 
						add_custom_target (${PROJECT_NAME}_icons
 | 
				
			||||||
		DEPENDS ${icon_symbolic_list}
 | 
							DEPENDS ${icon_symbolic_list}
 | 
				
			||||||
@@ -68,9 +72,12 @@ endif ()
 | 
				
			|||||||
# Dependencies
 | 
					# Dependencies
 | 
				
			||||||
find_package (PkgConfig REQUIRED)
 | 
					find_package (PkgConfig REQUIRED)
 | 
				
			||||||
pkg_check_modules (GTK3 REQUIRED gtk+-3.0 json-glib-1.0)
 | 
					pkg_check_modules (GTK3 REQUIRED gtk+-3.0 json-glib-1.0)
 | 
				
			||||||
 | 
					link_directories (${GTK3_LIBRARY_DIRS})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if (NOT WIN32)
 | 
					if (NOT WIN32)
 | 
				
			||||||
	pkg_search_module (Lua REQUIRED lua>=5.2 lua5.3 lua-5.3 lua5.2 lua-5.2)
 | 
						pkg_search_module (Lua REQUIRED lua>=5.2
 | 
				
			||||||
 | 
							lua5.4 lua-5.4 lua5.3 lua-5.3 lua5.2 lua-5.2)
 | 
				
			||||||
 | 
						link_directories (${Lua_LIBRARY_DIRS})
 | 
				
			||||||
else ()
 | 
					else ()
 | 
				
			||||||
	# For whatever reason this now seems to be required
 | 
						# For whatever reason this now seems to be required
 | 
				
			||||||
	set (LUA_INCLUDE_DIR "${WIN32_DEPENDS_PATH}/include")
 | 
						set (LUA_INCLUDE_DIR "${WIN32_DEPENDS_PATH}/include")
 | 
				
			||||||
@@ -83,9 +90,6 @@ else ()
 | 
				
			|||||||
	set (Lua_INCLUDE_DIRS ${LUA_INCLUDE_DIR})
 | 
						set (Lua_INCLUDE_DIRS ${LUA_INCLUDE_DIR})
 | 
				
			||||||
endif ()
 | 
					endif ()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# This actually fucks up MinGW cross-compilation if omitted
 | 
					 | 
				
			||||||
link_directories (${GTK3_LIBRARY_DIRS})
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Localization
 | 
					# Localization
 | 
				
			||||||
find_package (Gettext REQUIRED)
 | 
					find_package (Gettext REQUIRED)
 | 
				
			||||||
file (GLOB project_PO_FILES ${PROJECT_SOURCE_DIR}/po/*.po)
 | 
					file (GLOB project_PO_FILES ${PROJECT_SOURCE_DIR}/po/*.po)
 | 
				
			||||||
@@ -246,7 +250,7 @@ if (NOT GLIB_COMPILE_SCHEMAS_EXECUTABLE)
 | 
				
			|||||||
endif ()
 | 
					endif ()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
set (GSETTINGS_DIR "${PROJECT_SOURCE_DIR}/share")
 | 
					set (GSETTINGS_DIR "${PROJECT_SOURCE_DIR}/share")
 | 
				
			||||||
set (GSETTINGS_SCHEMAS "${GSETTINGS_DIR}/org.logdiag.gschema.xml")
 | 
					set (GSETTINGS_SCHEMAS "${GSETTINGS_DIR}/${PROJECT_NAME}.gschema.xml")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if (OPTION_NOINSTALL)
 | 
					if (OPTION_NOINSTALL)
 | 
				
			||||||
	set (GSETTINGS_COMPILED_SCHEMA "${PROJECT_BINARY_DIR}/gschemas.compiled")
 | 
						set (GSETTINGS_COMPILED_SCHEMA "${PROJECT_BINARY_DIR}/gschemas.compiled")
 | 
				
			||||||
@@ -392,7 +396,8 @@ endif ()
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
install (DIRECTORY docs/user-guide DESTINATION share/doc/${PROJECT_NAME})
 | 
					install (DIRECTORY docs/user-guide DESTINATION share/doc/${PROJECT_NAME})
 | 
				
			||||||
install (DIRECTORY share/library DESTINATION share/${PROJECT_NAME})
 | 
					install (DIRECTORY share/library DESTINATION share/${PROJECT_NAME})
 | 
				
			||||||
install (FILES ${GSETTINGS_SCHEMAS} DESTINATION share/glib-2.0/schemas)
 | 
					install (FILES ${GSETTINGS_SCHEMAS} DESTINATION share/glib-2.0/schemas
 | 
				
			||||||
 | 
						RENAME "${project_ID}.gschema.xml")
 | 
				
			||||||
install (CODE " # DESTDIR is not in use on Windows (WIN32 is only native here!)
 | 
					install (CODE " # DESTDIR is not in use on Windows (WIN32 is only native here!)
 | 
				
			||||||
	if (WIN32 OR \"\$ENV{DESTDIR}\" STREQUAL \"\")
 | 
						if (WIN32 OR \"\$ENV{DESTDIR}\" STREQUAL \"\")
 | 
				
			||||||
		execute_process (COMMAND \"${GLIB_COMPILE_SCHEMAS_EXECUTABLE}\"
 | 
							execute_process (COMMAND \"${GLIB_COMPILE_SCHEMAS_EXECUTABLE}\"
 | 
				
			||||||
@@ -447,7 +452,7 @@ set (CPACK_DEBIAN_PACKAGE_HOMEPAGE "${project_URL}")
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
set (CPACK_RPM_PACKAGE_REQUIRES "gtk3 >= 3.8, json-glib >= 0.10.4, lua = 5.2")
 | 
					set (CPACK_RPM_PACKAGE_REQUIRES "gtk3 >= 3.8, json-glib >= 0.10.4, lua = 5.2")
 | 
				
			||||||
set (CPACK_RPM_PACKAGE_GROUP "Graphics")
 | 
					set (CPACK_RPM_PACKAGE_GROUP "Graphics")
 | 
				
			||||||
set (CPACK_RPM_PACKAGE_LICENSE "ISC")
 | 
					set (CPACK_RPM_PACKAGE_LICENSE "0BSD")
 | 
				
			||||||
set (CPACK_RPM_PACKAGE_URL "${project_URL}")
 | 
					set (CPACK_RPM_PACKAGE_URL "${project_URL}")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
set (CPACK_SOURCE_GENERATOR "TGZ;ZIP")
 | 
					set (CPACK_SOURCE_GENERATOR "TGZ;ZIP")
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										11
									
								
								NEWS
									
									
									
									
									
								
							
							
						
						
									
										11
									
								
								NEWS
									
									
									
									
									
								
							@@ -1,3 +1,14 @@
 | 
				
			|||||||
 | 
					Version 0.3.0
 | 
				
			||||||
 | 
					 - Added basic print functionality (lines may have the wrong width).
 | 
				
			||||||
 | 
					 - Fine-tuned rendering of a few symbols.
 | 
				
			||||||
 | 
					 - Bound toggling of the grid to the # key, following Inkscape.
 | 
				
			||||||
 | 
					 - Ensured all opened files are added to the list of recent files.
 | 
				
			||||||
 | 
					 - View position is reset when opening files.
 | 
				
			||||||
 | 
					 - Made the user guide available from the Help menu.
 | 
				
			||||||
 | 
					 - The website link in the About dialog now opens on Windows XP.
 | 
				
			||||||
 | 
					 - Put the project's license in the About dialog.
 | 
				
			||||||
 | 
					 - Made Windows builds considerably slimmer.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Version 0.2.1
 | 
					Version 0.2.1
 | 
				
			||||||
 - Set up grounds for 64-bit Windows builds using the latest GTK+ 3.
 | 
					 - Set up grounds for 64-bit Windows builds using the latest GTK+ 3.
 | 
				
			||||||
 - Made the Windows installer ask to uninstall previous versions first.
 | 
					 - Made the Windows installer ask to uninstall previous versions first.
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										15
									
								
								README.adoc
									
									
									
									
									
								
							
							
						
						
									
										15
									
								
								README.adoc
									
									
									
									
									
								
							@@ -10,8 +10,10 @@ image::docs/user-guide/logdiag-en.png[align="center"]
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
Packages
 | 
					Packages
 | 
				
			||||||
--------
 | 
					--------
 | 
				
			||||||
Regular releases are sporadic.  git master should be stable enough.  You can get
 | 
					Regular releases are sporadic.  git master should be stable enough.
 | 
				
			||||||
a package with the latest development version from Archlinux's AUR.
 | 
					You can get a package with the latest development version using Arch Linux's
 | 
				
			||||||
 | 
					https://aur.archlinux.org/packages/logdiag-git[AUR],
 | 
				
			||||||
 | 
					or as a https://git.janouch.name/p/nixexprs[Nix derivation].
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Windows installers can be downloaded from
 | 
					Windows installers can be downloaded from
 | 
				
			||||||
https://git.janouch.name/p/logdiag/releases[the Releases page on Gitea].
 | 
					https://git.janouch.name/p/logdiag/releases[the Releases page on Gitea].
 | 
				
			||||||
@@ -66,11 +68,14 @@ FindPkgConfig.cmake module to say:
 | 
				
			|||||||
 separate_arguments(_pkgconfig_invoke_result UNIX_COMMAND "${_pkgconfig_invoke_result}")
 | 
					 separate_arguments(_pkgconfig_invoke_result UNIX_COMMAND "${_pkgconfig_invoke_result}")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Run the following command in the directory with source files to automatically
 | 
					Run the following command in the directory with source files to automatically
 | 
				
			||||||
fetch and set up all dependencies (note that Windows XP is no longer able to
 | 
					fetch and set up all dependencies:
 | 
				
			||||||
download from HTTPS sources, you'll have to run this externally):
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 > cmake -P Win32Depends.cmake
 | 
					 > cmake -P Win32Depends.cmake
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Note that on Windows XP, CMake will fail to download those files, even with
 | 
				
			||||||
 | 
					https://emailarchitect.net/easendmail/sdk/html/object_tls12.htm[updates].
 | 
				
			||||||
 | 
					You will have to run the script externally.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Reserve a directory for an out-of-source build and let CMake prepare the build:
 | 
					Reserve a directory for an out-of-source build and let CMake prepare the build:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 > mkdir build
 | 
					 > mkdir build
 | 
				
			||||||
@@ -103,7 +108,7 @@ Just install MinGW-w64 and let automation take care of the rest.
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
Alternatively, for an unnecessarily bloated MSYS2-based 64-bit build:
 | 
					Alternatively, for an unnecessarily bloated MSYS2-based 64-bit build:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 $ sh Win64Depends.sh
 | 
					 $ sh -e Win64Depends.sh
 | 
				
			||||||
 $ cmake -DCMAKE_TOOLCHAIN_FILE=ToolchainCrossWin64.cmake \
 | 
					 $ cmake -DCMAKE_TOOLCHAIN_FILE=ToolchainCrossWin64.cmake \
 | 
				
			||||||
   -DCMAKE_BUILD_TYPE=Release -B build
 | 
					   -DCMAKE_BUILD_TYPE=Release -B build
 | 
				
			||||||
 $ cmake --build build -- package
 | 
					 $ cmake --build build -- package
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -5,12 +5,11 @@ set (CMAKE_C_COMPILER "i586-mingw32msvc-gcc")
 | 
				
			|||||||
set (CMAKE_CXX_COMPILER "i586-mingw32msvc-g++")
 | 
					set (CMAKE_CXX_COMPILER "i586-mingw32msvc-g++")
 | 
				
			||||||
set (CMAKE_RC_COMPILER "i586-mingw32msvc-windres")
 | 
					set (CMAKE_RC_COMPILER "i586-mingw32msvc-windres")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Not needed to crosscompile an installation package
 | 
					# Remember to set WINEPATH for library dependencies
 | 
				
			||||||
#set (CMAKE_CROSSCOMPILING_EMULATOR "wine")
 | 
					set (CMAKE_CROSSCOMPILING_EMULATOR "wine")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
set (CMAKE_FIND_ROOT_PATH "/usr/i586-mingw32msvc")
 | 
					set (CMAKE_FIND_ROOT_PATH "/usr/i586-mingw32msvc")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
set (CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
 | 
					set (CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
 | 
				
			||||||
set (CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
 | 
					set (CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
 | 
				
			||||||
set (CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
 | 
					set (CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
 | 
				
			||||||
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
@@ -5,12 +5,11 @@ set (CMAKE_C_COMPILER "i686-w64-mingw32-gcc")
 | 
				
			|||||||
set (CMAKE_CXX_COMPILER "i686-w64-mingw32-g++")
 | 
					set (CMAKE_CXX_COMPILER "i686-w64-mingw32-g++")
 | 
				
			||||||
set (CMAKE_RC_COMPILER "i686-w64-mingw32-windres")
 | 
					set (CMAKE_RC_COMPILER "i686-w64-mingw32-windres")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Not needed to crosscompile an installation package
 | 
					# Remember to set WINEPATH for library dependencies
 | 
				
			||||||
#set (CMAKE_CROSSCOMPILING_EMULATOR "wine")
 | 
					set (CMAKE_CROSSCOMPILING_EMULATOR "wine")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
set (CMAKE_FIND_ROOT_PATH "/usr/i686-w64-mingw32")
 | 
					set (CMAKE_FIND_ROOT_PATH "/usr/i686-w64-mingw32")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
set (CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
 | 
					set (CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
 | 
				
			||||||
set (CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
 | 
					set (CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
 | 
				
			||||||
set (CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
 | 
					set (CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
 | 
				
			||||||
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
@@ -5,12 +5,11 @@ set (CMAKE_C_COMPILER "x86_64-w64-mingw32-gcc")
 | 
				
			|||||||
set (CMAKE_CXX_COMPILER "x86_64-w64-mingw32-g++")
 | 
					set (CMAKE_CXX_COMPILER "x86_64-w64-mingw32-g++")
 | 
				
			||||||
set (CMAKE_RC_COMPILER "x86_64-w64-mingw32-windres")
 | 
					set (CMAKE_RC_COMPILER "x86_64-w64-mingw32-windres")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Not needed to crosscompile an installation package
 | 
					# Remember to set WINEPATH for library dependencies
 | 
				
			||||||
#set (CMAKE_CROSSCOMPILING_EMULATOR "wine64")
 | 
					set (CMAKE_CROSSCOMPILING_EMULATOR "wine64")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
set (CMAKE_FIND_ROOT_PATH "/usr/x86_64-w64-mingw32")
 | 
					set (CMAKE_FIND_ROOT_PATH "/usr/x86_64-w64-mingw32")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
set (CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
 | 
					set (CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
 | 
				
			||||||
set (CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
 | 
					set (CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
 | 
				
			||||||
set (CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
 | 
					set (CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
 | 
				
			||||||
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,5 +1,5 @@
 | 
				
			|||||||
#!/bin/sh -e
 | 
					#!/bin/sh -e
 | 
				
			||||||
# Win64Depends.sh: download dependencies from MSYS2 for cross-compilation
 | 
					# Win64Depends.sh: download dependencies from MSYS2 for cross-compilation.
 | 
				
			||||||
# Dependencies: AWK, sed, sha256sum, cURL, bsdtar, wine64
 | 
					# Dependencies: AWK, sed, sha256sum, cURL, bsdtar, wine64
 | 
				
			||||||
repository=https://repo.msys2.org/mingw/mingw64/
 | 
					repository=https://repo.msys2.org/mingw/mingw64/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -27,7 +27,8 @@ fetch() {
 | 
				
			|||||||
	} BEGIN { while ((getline < "db.tsv") > 0) {
 | 
						} BEGIN { while ((getline < "db.tsv") > 0) {
 | 
				
			||||||
		filenames[$1] = $2; deps[$1] = ""; for (i = 3; i <= NF; i++) {
 | 
							filenames[$1] = $2; deps[$1] = ""; for (i = 3; i <= NF; i++) {
 | 
				
			||||||
			gsub(/[<=>].*/, "", $i); deps[$1] = deps[$1] $i FS }
 | 
								gsub(/[<=>].*/, "", $i); deps[$1] = deps[$1] $i FS }
 | 
				
			||||||
	} for (i = 0; i < ARGC; i++) get(ARGV[i]) }' "$@" | while IFS= read -r name
 | 
						} for (i = 0; i < ARGC; i++) get(ARGV[i]) }' "$@" | tee db.want | \
 | 
				
			||||||
 | 
						while IFS= read -r name
 | 
				
			||||||
	do
 | 
						do
 | 
				
			||||||
		status Fetching "$name"
 | 
							status Fetching "$name"
 | 
				
			||||||
		[ -f "packages/$name" ] || curl -#o "packages/$name" "$repository/$name"
 | 
							[ -f "packages/$name" ] || curl -#o "packages/$name" "$repository/$name"
 | 
				
			||||||
@@ -44,9 +45,9 @@ extract() {
 | 
				
			|||||||
	for subdir in *
 | 
						for subdir in *
 | 
				
			||||||
	do [ -d "$subdir" -a "$subdir" != packages ] && rm -rf -- "$subdir"
 | 
						do [ -d "$subdir" -a "$subdir" != packages ] && rm -rf -- "$subdir"
 | 
				
			||||||
	done
 | 
						done
 | 
				
			||||||
	for i in packages/*
 | 
						while IFS= read -r name
 | 
				
			||||||
	do bsdtar -xf "$i" --strip-components 1 mingw64
 | 
						do bsdtar -xf "packages/$name" --strip-components 1
 | 
				
			||||||
	done
 | 
						done < db.want
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
configure() {
 | 
					configure() {
 | 
				
			||||||
@@ -55,15 +56,16 @@ configure() {
 | 
				
			|||||||
	wine64 bin/gdk-pixbuf-query-loaders.exe \
 | 
						wine64 bin/gdk-pixbuf-query-loaders.exe \
 | 
				
			||||||
		> lib/gdk-pixbuf-2.0/2.10.0/loaders.cache
 | 
							> lib/gdk-pixbuf-2.0/2.10.0/loaders.cache
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	# pkgconf has a command line option for this, but CMake can't pass it
 | 
						# pkgconf has a command line option for this, but CMake can't pass it.
 | 
				
			||||||
	sed -i "s|^prefix=/mingw64|prefix=$(pwd)|" {share,lib}/pkgconfig/*.pc
 | 
						sed -i "s|^prefix=/mingw64|prefix=$(pwd)|" \
 | 
				
			||||||
 | 
							share/pkgconfig/*.pc lib/pkgconfig/*.pc
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
mkdir -p win32-depends
 | 
					mkdir -p win32-depends
 | 
				
			||||||
cd win32-depends
 | 
					cd win32-depends
 | 
				
			||||||
dbsync
 | 
					dbsync
 | 
				
			||||||
fetch mingw-w64-x86_64-gtk3 mingw-w64-x86_64-lua \
 | 
					fetch mingw-w64-x86_64-gtk3 mingw-w64-x86_64-lua \
 | 
				
			||||||
	mingw-w64-x86_64-libwinpthread-git # because we don't do "provides"?
 | 
						mingw-w64-x86_64-libwinpthread-git # Because we don't do "provides"?
 | 
				
			||||||
verify
 | 
					verify
 | 
				
			||||||
extract
 | 
					extract
 | 
				
			||||||
configure
 | 
					configure
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -10,6 +10,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#define PROJECT_NAME "${PROJECT_NAME}"
 | 
					#define PROJECT_NAME "${PROJECT_NAME}"
 | 
				
			||||||
#define PROJECT_VERSION "${PROJECT_VERSION}"
 | 
					#define PROJECT_VERSION "${PROJECT_VERSION}"
 | 
				
			||||||
 | 
					#define PROJECT_ID "${project_ID}"
 | 
				
			||||||
#define PROJECT_URL "${project_URL}"
 | 
					#define PROJECT_URL "${project_URL}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#cmakedefine OPTION_NOINSTALL
 | 
					#cmakedefine OPTION_NOINSTALL
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -16,7 +16,7 @@ q:lang(cs):after { content: "“"; }
 | 
				
			|||||||
<p class="details">
 | 
					<p class="details">
 | 
				
			||||||
<span id="author">Přemysl Eric Janouch</span><br>
 | 
					<span id="author">Přemysl Eric Janouch</span><br>
 | 
				
			||||||
<span id="email"><a href="mailto:p@janouch.name">p@janouch.name</a></span><br>
 | 
					<span id="email"><a href="mailto:p@janouch.name">p@janouch.name</a></span><br>
 | 
				
			||||||
<span id="revnumber">verze 0.2.2,</span>
 | 
					<span id="revnumber">verze 0.3.0,</span>
 | 
				
			||||||
<span id="revdate">2021-10-28</span>
 | 
					<span id="revdate">2021-10-28</span>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<p class="figure"><img src="logdiag-cs.png" alt="Okno programu logdiag">
 | 
					<p class="figure"><img src="logdiag-cs.png" alt="Okno programu logdiag">
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -16,7 +16,7 @@ q:lang(en):after { content: "’"; }
 | 
				
			|||||||
<p class="details">
 | 
					<p class="details">
 | 
				
			||||||
<span id="author">Přemysl Eric Janouch</span><br>
 | 
					<span id="author">Přemysl Eric Janouch</span><br>
 | 
				
			||||||
<span id="email"><a href="mailto:p@janouch.name">p@janouch.name</a></span><br>
 | 
					<span id="email"><a href="mailto:p@janouch.name">p@janouch.name</a></span><br>
 | 
				
			||||||
<span id="revnumber">version 0.2.2,</span>
 | 
					<span id="revnumber">version 0.3.0,</span>
 | 
				
			||||||
<span id="revdate">2021-10-28</span>
 | 
					<span id="revdate">2021-10-28</span>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<p class="figure"><img src="logdiag-en.png" alt="logdiag program window">
 | 
					<p class="figure"><img src="logdiag-en.png" alt="logdiag program window">
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2591,6 +2591,8 @@ on_drag_motion (GtkWidget *widget, GdkDragContext *drag_ctx,
 | 
				
			|||||||
	/* Discard leftovers from any previous unsuccessful drag. */
 | 
						/* Discard leftovers from any previous unsuccessful drag. */
 | 
				
			||||||
	if (self->priv->dnd_left)
 | 
						if (self->priv->dnd_left)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
 | 
							/* The Wayland backend does a leave-drop-leave sequence. */
 | 
				
			||||||
 | 
							if (self->priv->dnd_symbol)
 | 
				
			||||||
			g_object_unref (self->priv->dnd_symbol);
 | 
								g_object_unref (self->priv->dnd_symbol);
 | 
				
			||||||
		self->priv->dnd_symbol = NULL;
 | 
							self->priv->dnd_symbol = NULL;
 | 
				
			||||||
		self->priv->dnd_left = FALSE;
 | 
							self->priv->dnd_left = FALSE;
 | 
				
			||||||
@@ -3002,6 +3004,9 @@ ld_diagram_view_get_export_bounds (LdDiagramView *self, LdRectangle *rect)
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
	LdRectangle intermediate;
 | 
						LdRectangle intermediate;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						/* Presumably, cairo_recording_surface_ink_extents() could also be used,
 | 
				
			||||||
 | 
						 * though DrawData::exposed_rect currently stands in the way.
 | 
				
			||||||
 | 
						 */
 | 
				
			||||||
	get_diagram_bounds (self, &intermediate);
 | 
						get_diagram_bounds (self, &intermediate);
 | 
				
			||||||
	ld_diagram_view_diagram_to_widget_coords_rect (self, &intermediate, rect);
 | 
						ld_diagram_view_diagram_to_widget_coords_rect (self, &intermediate, rect);
 | 
				
			||||||
	return ld_diagram_view_get_scale_in_px (self);
 | 
						return ld_diagram_view_get_scale_in_px (self);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,3 +1,2 @@
 | 
				
			|||||||
VOID:OBJECT,OBJECT
 | 
					 | 
				
			||||||
VOID:OBJECT,STRING
 | 
					VOID:OBJECT,STRING
 | 
				
			||||||
VOID:DOUBLE,DOUBLE
 | 
					VOID:DOUBLE,DOUBLE
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -6,7 +6,7 @@
 | 
				
			|||||||
#, fuzzy
 | 
					#, fuzzy
 | 
				
			||||||
msgid ""
 | 
					msgid ""
 | 
				
			||||||
msgstr ""
 | 
					msgstr ""
 | 
				
			||||||
"Project-Id-Version: logdiag 0.2.2\n"
 | 
					"Project-Id-Version: logdiag 0.3.0\n"
 | 
				
			||||||
"Report-Msgid-Bugs-To: https://git.janouch.name/p/logdiag/issues\n"
 | 
					"Report-Msgid-Bugs-To: https://git.janouch.name/p/logdiag/issues\n"
 | 
				
			||||||
"POT-Creation-Date: 2021-10-28 20:07+0200\n"
 | 
					"POT-Creation-Date: 2021-10-28 20:07+0200\n"
 | 
				
			||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 | 
					"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -23,6 +23,7 @@ local render = function (cr)
 | 
				
			|||||||
	cr:curve_to (3, 0, 2, 2, 0, 2)
 | 
						cr:curve_to (3, 0, 2, 2, 0, 2)
 | 
				
			||||||
	cr:line_to (-2, 2)
 | 
						cr:line_to (-2, 2)
 | 
				
			||||||
	cr:curve_to (-1, 1, -1, -1, -2, -2)
 | 
						cr:curve_to (-1, 1, -1, -1, -2, -2)
 | 
				
			||||||
 | 
						cr:close_path ()
 | 
				
			||||||
	cr:stroke ()
 | 
						cr:stroke ()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	-- The terminals
 | 
						-- The terminals
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -21,8 +21,7 @@ local render = function (cr)
 | 
				
			|||||||
	cr:line_to (-1, 0)
 | 
						cr:line_to (-1, 0)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	-- The terminals
 | 
						-- The terminals
 | 
				
			||||||
	cr:move_to (-2, 0)
 | 
						cr:line_to (-2, 0)
 | 
				
			||||||
	cr:line_to (-1, 0)
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
	cr:move_to (1, 0)
 | 
						cr:move_to (1, 0)
 | 
				
			||||||
	cr:line_to (2, 0)
 | 
						cr:line_to (2, 0)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -48,7 +48,7 @@ local render = function (cr)
 | 
				
			|||||||
	cr:move_to (-1, -1)
 | 
						cr:move_to (-1, -1)
 | 
				
			||||||
	cr:line_to (1, 0)
 | 
						cr:line_to (1, 0)
 | 
				
			||||||
	cr:line_to (-1, 1)
 | 
						cr:line_to (-1, 1)
 | 
				
			||||||
	cr:line_to (-1, -1)
 | 
						cr:close_path ()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	-- The vertical line
 | 
						-- The vertical line
 | 
				
			||||||
	cr:move_to (1, 1)
 | 
						cr:move_to (1, 1)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -42,7 +42,7 @@ local render = function (cr)
 | 
				
			|||||||
	cr:line_to (1.5, -0.5)
 | 
						cr:line_to (1.5, -0.5)
 | 
				
			||||||
	cr:line_to (1.5, 0.5)
 | 
						cr:line_to (1.5, 0.5)
 | 
				
			||||||
	cr:line_to (-1.5, 0.5)
 | 
						cr:line_to (-1.5, 0.5)
 | 
				
			||||||
	cr:line_to (-1.5, -0.5)
 | 
						cr:close_path ()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	-- The terminals
 | 
						-- The terminals
 | 
				
			||||||
	cr:move_to (-2, 0)
 | 
						cr:move_to (-2, 0)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,5 +1,5 @@
 | 
				
			|||||||
<schemalist>
 | 
					<schemalist>
 | 
				
			||||||
	<schema id="org.logdiag" path="/org/logdiag/" gettext-domain="logdiag">
 | 
						<schema id="name.janouch.logdiag" path="/name/janouch/logdiag/" gettext-domain="logdiag">
 | 
				
			||||||
		<key name="show-main-toolbar" type="b">
 | 
							<key name="show-main-toolbar" type="b">
 | 
				
			||||||
			<default>true</default>
 | 
								<default>true</default>
 | 
				
			||||||
			<summary>Whether to show the main toolbar</summary>
 | 
								<summary>Whether to show the main toolbar</summary>
 | 
				
			||||||
@@ -14,4 +14,3 @@
 | 
				
			|||||||
		</key>
 | 
							</key>
 | 
				
			||||||
	</schema>
 | 
						</schema>
 | 
				
			||||||
</schemalist>
 | 
					</schemalist>
 | 
				
			||||||
 | 
					 | 
				
			||||||
@@ -389,7 +389,7 @@ ld_window_main_init (LdWindowMain *self)
 | 
				
			|||||||
	gtk_widget_show_all (GTK_WIDGET (self));
 | 
						gtk_widget_show_all (GTK_WIDGET (self));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* Set up GSettings. */
 | 
						/* Set up GSettings. */
 | 
				
			||||||
	priv->settings = g_settings_new ("org." PROJECT_NAME);
 | 
						priv->settings = g_settings_new (PROJECT_ID);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	g_settings_bind (priv->settings, "show-main-toolbar",
 | 
						g_settings_bind (priv->settings, "show-main-toolbar",
 | 
				
			||||||
		gtk_action_group_get_action (priv->action_group,
 | 
							gtk_action_group_get_action (priv->action_group,
 | 
				
			||||||
@@ -712,9 +712,10 @@ diagram_save (LdWindowMain *self, GtkWindow *dialog_parent,
 | 
				
			|||||||
static gboolean
 | 
					static gboolean
 | 
				
			||||||
diagram_open (LdWindowMain *self, const gchar *filename)
 | 
					diagram_open (LdWindowMain *self, const gchar *filename)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	GError *error;
 | 
						GError *error = NULL;
 | 
				
			||||||
 | 
						GFile *file;
 | 
				
			||||||
 | 
						gchar *uri;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	error = NULL;
 | 
					 | 
				
			||||||
	ld_diagram_load_from_file (self->priv->diagram, filename, &error);
 | 
						ld_diagram_load_from_file (self->priv->diagram, filename, &error);
 | 
				
			||||||
	if (error)
 | 
						if (error)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
@@ -748,8 +749,17 @@ diagram_open (LdWindowMain *self, const gchar *filename)
 | 
				
			|||||||
		return FALSE;
 | 
							return FALSE;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						file = g_file_new_for_path (filename);
 | 
				
			||||||
 | 
						uri = g_file_get_uri (file);
 | 
				
			||||||
 | 
						g_object_unref (file);
 | 
				
			||||||
 | 
						gtk_recent_manager_add_item (gtk_recent_manager_get_default (), uri);
 | 
				
			||||||
 | 
						g_free (uri);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	ld_diagram_set_modified (self->priv->diagram, FALSE);
 | 
						ld_diagram_set_modified (self->priv->diagram, FALSE);
 | 
				
			||||||
	diagram_set_filename (self, g_strdup (filename));
 | 
						diagram_set_filename (self, g_strdup (filename));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						ld_diagram_view_set_x (self->priv->view, 0);
 | 
				
			||||||
 | 
						ld_diagram_view_set_y (self->priv->view, 0);
 | 
				
			||||||
	return TRUE;
 | 
						return TRUE;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -127,16 +127,16 @@ main (int argc, char *argv[])
 | 
				
			|||||||
	textdomain (GETTEXT_DOMAIN);
 | 
						textdomain (GETTEXT_DOMAIN);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef PROJECT_GSETTINGS_DIR
 | 
					#ifdef PROJECT_GSETTINGS_DIR
 | 
				
			||||||
	/* This is enabled when the build is set up for developing, so that the
 | 
						/* This is enabled when the build is set up for development,
 | 
				
			||||||
	 * application can find its schema. It might also find use when
 | 
						 * so that the application can find its schema. It might also find use
 | 
				
			||||||
	 * installing the application into a location that's missing from
 | 
						 * when installing the application into a location that's missing from
 | 
				
			||||||
	 * g_get_system_data_dirs(), for example /usr/local or ~/.local.
 | 
						 * g_get_system_data_dirs(), for example /usr/local or ~/.local.
 | 
				
			||||||
	 */
 | 
						 */
 | 
				
			||||||
	g_setenv ("GSETTINGS_SCHEMA_DIR", PROJECT_GSETTINGS_DIR, 0);
 | 
						g_setenv ("GSETTINGS_SCHEMA_DIR", PROJECT_GSETTINGS_DIR, 0);
 | 
				
			||||||
#endif /* PROJECT_GSETTINGS_DIR */
 | 
					#endif /* PROJECT_GSETTINGS_DIR */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef _WIN32
 | 
					#ifdef _WIN32
 | 
				
			||||||
	/* Don't be unneccessarily limited by the system ANSI codepage. */
 | 
						/* Don't be unneccessarily limited by the system's ANSI codepage. */
 | 
				
			||||||
	/* g_win32_get_command_line() should replace this code for GLib >= 2.40. */
 | 
						/* g_win32_get_command_line() should replace this code for GLib >= 2.40. */
 | 
				
			||||||
	argv_overriden = get_utf8_args (&argc, &argv);
 | 
						argv_overriden = get_utf8_args (&argc, &argv);
 | 
				
			||||||
	if (argv_overriden)
 | 
						if (argv_overriden)
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user