Commit 2865538
tie handle even if control point is not selected
Changed files (5)
modifiedREADMEdeletedbirdfont_installaddedinstall.pymodifiedlibbirdfont/DrawingTools.valamodifiedlibbirdfont/PenTool.vala
Diff
@@ -2,7 +2,7 @@ Birdfont - Font Editor ---------------------- -Birdfont is a font editor which can create vector graphics and export SVG, EOT and TTF fonts.+Birdfont is a font editor which can create vector graphics and export SVG, EOT and TTF fonts. Author: Johan Mattsson and others see AUTHORS for full attribution. License: GNU GPL v3 @@ -27,7 +27,7 @@ unicode-data (unicode character database) Configure, build and install: ./configure ./scripts/linux_build.py -sudo ./birdfont_install +sudo ./install.py BirdFont have two build systems, one very simple python script that builds all binaries at once and one dependency based build system @@ -36,7 +36,7 @@ that uses doit. Configure, build and install with doit: ./configure doit -sudo ./birdfont_install +sudo ./install.py --------------------- @@ -47,7 +47,7 @@ Compile all dependencies using MacPorts and run: python ./configure --prefix=/opt/birdfont python ./scripts/mac_build.py -sudo python ./birdfont_install +sudo python ./install.py -------- Packages @@ -56,7 +56,8 @@ Packages Windows binaries are avalilable at http://birdfont.org A Ubuntu package is avalilable at https://launchpad.net -You can apt-get install birdfont form Olivier Bertens repository. +You can apt-get install birdfont form Olivier Bertens or +Dariusz Dumas repository. A Machintosh binary image is available at http://birdfont.org and a GTK version for Mac can be installed with MacPorts. deleted file mode 100755@@ -1,85 +0,0 @@-#!/usr/bin/python -import os-import subprocess-import glob-from optparse import OptionParser-from scripts import config-from scripts import version-from scripts.run import run--def install (file, dir):- f = dest + prefix + dir + '/'- s = file.rfind ('/')- if s > -1:- f += file[s + 1:]- else:- f += file- print ("install: " + f)- run ('install -d ' + dest + prefix + dir)- run ('install ' + file + ' ' + dest + prefix + dir + '/')- installed.write (f + "\n")--if not os.path.exists ("build/configured"):- print ("Project is not configured")- exit (1)--if not os.path.exists ("build/installed"):- print ("Project is not built")- exit (1)--parser = OptionParser()-parser.add_option ("-d", "--dest", dest="dest", help="install to this directory", metavar="DEST")-parser.add_option ("-m", "--bsd-manpages", dest="nogzip", help="don't gzip manpages")--(options, args) = parser.parse_args()--if not options.dest:- options.dest = ""--if not options.nogzip:- bsd_manpages = True-else:- bsd_manpages = False- -prefix = config.PREFIX-dest = options.dest--# create uninstall file-installed = open ('build/installed', 'w')-installed.write ('build/installed\n')--# install it:-for file in os.listdir('./layout'):- install ('layout/' + file, '/share/birdfont/layout')--for file in os.listdir('./icons'):- install ('icons/' + file, '/share/birdfont/icons')--install ('resources/linux/birdfont.desktop', '/share/applications')-install ('resources/linux/birdfont.png', '/share/icons/hicolor/48x48/apps')--install ('build/bin/birdfont', '/bin')-install ('build/bin/birdfont-export', '/bin')--#library-if os.path.isfile ('build/bin/libbirdfont.so.' + version.SO_VERSION):- install ('build/bin/libbirdfont.so.' + version.SO_VERSION, '/lib')- install ('build/bin/libbirdfont.so', '/lib')-else:- install ('build/bin/libbirdfont.' + version.SO_VERSION + '.dylib', '/lib')- install ('build/bin/libbirdfont.dylib', '/lib')--#manpages-if not bsd_manpages:- install ('build/birdfont.1.gz', '/share/man/man1')- install ('build/birdfont-export.1.gz', '/share/man/man1')-else:- install ('resources/linux/birdfont.1', '/man/man1')- install ('resources/linux/birdfont-export.1', '/man/man1')--# translations-for lang_dir in glob.glob('build/locale/*'):- lc = lang_dir.replace ('build/locale/', "")- install ('build/locale/' + lc + '/LC_MESSAGES/birdfont.mo', '/share/locale/' + lc + '/LC_MESSAGES' );--installed.close ()new file mode 100755@@ -0,0 +1,85 @@+#!/usr/bin/python +import os+import subprocess+import glob+from optparse import OptionParser+from scripts import config+from scripts import version+from scripts.run import run++def install (file, dir):+ f = dest + prefix + dir + '/'+ s = file.rfind ('/')+ if s > -1:+ f += file[s + 1:]+ else:+ f += file+ print ("install: " + f)+ run ('install -d ' + dest + prefix + dir)+ run ('install ' + file + ' ' + dest + prefix + dir + '/')+ installed.write (f + "\n")++if not os.path.exists ("build/configured"):+ print ("Project is not configured")+ exit (1)++if not os.path.exists ("build/installed"):+ print ("Project is not built")+ exit (1)++parser = OptionParser()+parser.add_option ("-d", "--dest", dest="dest", help="install to this directory", metavar="DEST")+parser.add_option ("-m", "--bsd-manpages", dest="nogzip", help="don't gzip manpages")++(options, args) = parser.parse_args()++if not options.dest:+ options.dest = ""++if not options.nogzip:+ bsd_manpages = True+else:+ bsd_manpages = False+ +prefix = config.PREFIX+dest = options.dest++# create uninstall file+installed = open ('build/installed', 'w')+installed.write ('build/installed\n')++# install it:+for file in os.listdir('./layout'):+ install ('layout/' + file, '/share/birdfont/layout')++for file in os.listdir('./icons'):+ install ('icons/' + file, '/share/birdfont/icons')++install ('resources/linux/birdfont.desktop', '/share/applications')+install ('resources/linux/birdfont.png', '/share/icons/hicolor/48x48/apps')++install ('build/bin/birdfont', '/bin')+install ('build/bin/birdfont-export', '/bin')++#library+if os.path.isfile ('build/bin/libbirdfont.so.' + version.SO_VERSION):+ install ('build/bin/libbirdfont.so.' + version.SO_VERSION, '/lib')+ install ('build/bin/libbirdfont.so', '/lib')+else:+ install ('build/bin/libbirdfont.' + version.SO_VERSION + '.dylib', '/lib')+ install ('build/bin/libbirdfont.dylib', '/lib')++#manpages+if not bsd_manpages:+ install ('build/birdfont.1.gz', '/share/man/man1')+ install ('build/birdfont-export.1.gz', '/share/man/man1')+else:+ install ('resources/linux/birdfont.1', '/man/man1')+ install ('resources/linux/birdfont-export.1', '/man/man1')++# translations+for lang_dir in glob.glob('build/locale/*'):+ lc = lang_dir.replace ('build/locale/', "")+ install ('build/locale/' + lc + '/LC_MESSAGES/birdfont.mo', '/share/locale/' + lc + '/LC_MESSAGES' );++installed.close ()@@ -108,16 +108,29 @@ public class DrawingTools : ToolCollection { Tool tie_handles = new Tool ("tie_point", _("Tie curve handles for the selected edit point"), 'w'); tie_handles.select_action.connect ((self) => { bool tie;+ EditPoint p; - foreach (EditPoint ep in PenTool.selected_points) {- tie = !ep.tie_handles;+ if (PenTool.move_selected_handle) {+ p = PenTool.active_handle.parent;+ tie = !p.tie_handles; if (tie) {- ep.process_tied_handle ();- ep.set_reflective_handles (false);+ p.process_tied_handle ();+ p.set_reflective_handles (false);+ }+ + p.set_tie_handle (tie);+ } else {+ foreach (EditPoint ep in PenTool.selected_points) {+ tie = !ep.tie_handles;+ + if (tie) {+ ep.process_tied_handle ();+ ep.set_reflective_handles (false);+ }+ + ep.set_tie_handle (tie); }- - ep.set_tie_handle (tie); } MainWindow.get_current_glyph ().update_view ();@@ -35,7 +35,7 @@ public class PenTool : Tool { public static EditPoint? active_edit_point = new EditPoint (); public static EditPoint selected_point = new EditPoint (); - private static bool move_selected_handle = false;+ public static bool move_selected_handle = false; private static double last_point_x = 0; private static double last_point_y = 0;