* l3afpad-0.8.18.1.3

This commit is contained in:
Wen-Yen Chuang 2011-12-12 21:35:35 +08:00
parent c3c63280d4
commit c9b1ad4888
98 changed files with 1300 additions and 643 deletions

View File

@ -1,3 +1,11 @@
2011-09-08
version 0.8.18.1.3:
* Fix encoding and newline selection (a bug NOT in Leafpad, ouch!)
* Support GtkGrid
* Provide a clearsigned SHA1SUMS using
RSA key ID BE8BA819 and DSA key ID E98D6159
2011-09-05
version 0.8.18.1.2:

View File

@ -1,4 +1 @@
SUBDIRS = src data po
EXTRA_DIST = \
intltool-extract.in intltool-merge.in intltool-update.in
SUBDIRS = data po src

View File

@ -35,15 +35,14 @@ subdir = .
DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
$(srcdir)/Makefile.in $(srcdir)/config.h.in \
$(top_srcdir)/configure AUTHORS COPYING ChangeLog INSTALL NEWS \
compile config.guess config.sub depcomp install-sh missing \
mkinstalldirs
compile depcomp install-sh missing
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
configure.lineno config.status.lineno
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
@ -214,10 +213,7 @@ target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
SUBDIRS = src data po
EXTRA_DIST = \
intltool-extract.in intltool-merge.in intltool-update.in
SUBDIRS = data po src
all: config.h
$(MAKE) $(AM_MAKEFLAGS) all-recursive

4
README
View File

@ -10,7 +10,7 @@ are implemented in the editor. L3afpad is simple to use, is easily compiled,
requires few libraries, and starts up quickly.
This program is released under the GNU General Public License (GPL) version 2,
see the file 'COPYING' for more information.
see the file 'gpl-2.0.txt' for more information.
Features
@ -39,8 +39,6 @@ Simple install procedure:
[ Become root if necessary ]
# make install-strip # install L3afpad
See the file 'INSTALL' for more detailed information.
Keybindings
===========

124
SHA1SUMS Normal file
View File

@ -0,0 +1,124 @@
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1,SHA512
634071380936e4893b0e8cacdfcd344638406575 171 AUTHORS
50a0e2caef12c331a3c95001ffcba51617c3c204 9183 ChangeLog
0beb31ee37259edeb621d345db933f2c827b2a21 22 Makefile.am
32ae3f99a247e614dcad4cfb2156a8d992ab53d0 22228 Makefile.in
04dc937708d52f3b9b6f9a096898c5e23fb80ace 2071 README
e8059be7927ee878a209d09c6b0b882efeb552e1 66001 aclocal.m4
08e7ff6a0bc9382beae57974c3ac95c9ac565faa 3769 compile
043325a2386905b51ee710e9f087ede0babb1582 2270 config.h.in
95b14b7bc5b26190ce20fcd52e8bd444a24289c7 230835 configure
354c7221d0f6584f3c3bd5a4d269f21429201ee1 883 configure.ac
c5431839bbf6b9730c1909bd298b3de52173da75 247 data/Makefile.am
4497d54143e764fc5a147d6c3f9b9df932f9203c 12544 data/Makefile.in
341ac8179d9307b2769eafc24266c8fcd440a6d8 174 data/l3afpad.desktop.in
8cc36795a560edddf585ab069d7670e5c78213d6 2768 data/l3afpad.png
ed913883150c97b3a48a4363b8609fe577dfed07 4555 data/l3afpad.xpm
6749a6b5ab2b3edd45d38ac560759c641cd50200 18615 depcomp
4cc77b90af91e615a64ae04893fdffa7939db84c 18092 gpl-2.0.txt
d30e962a3de2da09ab0a9a7979bee787922464a1 13663 install-sh
01a6b4bf79aca9b556822601186afab86e8c4fbf 26530 lgpl-2.1.txt
aeef20c1028a7ac4b904dd51b4c40376eba21350 11419 missing
ead91d3c7d4c3ca3172041ce36e23ee487066902 6881 po/ChangeLog
0640d6d14812d6323dbb683259046b95a6c0ceb5 169 po/LINGUAS
ce1c3468fcd9afcacfb197457ae3c40ea97f585f 6911 po/Makefile.in.in
610fcd63bc842d466f948e96e625fb3927202b32 135 po/POTFILES.in
1abde2a0918a5e08502d84047d9bc65c0441bd55 5947 po/bg.po
35501c0eaff18979ef115a04a7e0bdae233f74c9 5264 po/br.po
703fa4b2e5ce144c0b7151a3e702febcb11d5d4d 4898 po/ca.po
709e314887b42431f9a896e39fad05075ed2e1a5 4815 po/cs.po
a1731e206e48a7e76c46867637e997b83e26fced 5486 po/da.po
00f64edde15d34d896ad1b48bd1f967722a51761 5184 po/de.po
12b8e546eff912f3179773711f09f42ee90fbc1b 5864 po/el.po
4164574361f31aaf3180500bf76591da178267ad 4786 po/eo.po
07512d0c7f94052084c3606eb78965f0a7d0078e 4926 po/es.po
068c7f3c38df583613af4341c1a85b61e923fdc4 5005 po/eu.po
aa17b2614a12cdde6d39531db897fcaad7d06955 4943 po/fi.po
a55a52d64efe7db16f39b2203024e4ad412c4a15 5262 po/fr.po
4725e3351924f81bba3f5d0a2a441ebe4b0cbab1 4911 po/ga.po
6aae96a1217e7aec27812d49e4a3b9eb3e59245a 5443 po/gl.po
4cb77cbab55534cd5efd482a24964888614a8ea2 5051 po/he.po
ef5cabced9ffb6808012d4fa69d0627431adb7c8 5180 po/hu.po
e238d626502e32916c62517d11f4040e010905c6 4827 po/id.po
ec625438b4f05e2df23f7a0c3174f5bd72e53907 5022 po/it.po
6b4d5ff8d0c6997e9c8a36f9ec6a0ee97294c07f 5216 po/ja.po
5cf424964a586cb52cbee8e31d0e2c3da88e9ab3 4817 po/ko.po
29a85e608edd8747132bf682f57c06d37d1428da 4918 po/lt.po
03091b5055bab9b1c1853d1040e6b3c6fa07d2ad 5038 po/lv.po
b05e2ad4e44beaac97a26bfe2b631f4964a2a46c 5108 po/nl.po
e8b5410d074596617f28e992caf27199ffa4c2aa 5217 po/nn.po
e909ebe2a7b2ea27617675f0531904302487c42d 6436 po/pl.po
eb67d4c031310274bcb586c69aa857b84631861b 4911 po/pt.po
985fef0047dfbf433334ee9093da1834b9048f1e 5026 po/pt_BR.po
b091b66da6d1e7aad35df9605fb53a7f60838f43 5480 po/ru.po
2efe3079f4b30c4befe9e0ef134cbe7105396054 4975 po/sk.po
6f485449eaa6bb7e8b9fc75ced10929b4f328a33 5149 po/sl.po
e145b2413f6b972bfe1ba5180d4a184c42c9308c 5658 po/sr.po
de20cd84a7e889a1910beaefb1e9185efcbe3c15 4888 po/sv.po
3f1cd9b2bfc2063dd9cbb1b2c98802f2fd86ca5f 6153 po/ta.po
86ebe253dfe474d5064e64c41fada29b6fe18eb4 4951 po/tr.po
bbfba656c7b520c033b440407f3b326af6a7fb70 5782 po/uk.po
5dffb74471a502cdacb8d118175df14812afaaa7 5158 po/vi.po
f480b775778bf342a743124d30c21f205f00d6f4 4982 po/zh_CN.po
a1eac2664221c8757f3d642b93552b52ed0fb6b5 4960 po/zh_TW.po
5436cb3b94928a04328d697be5716f4e71aa4e0f 583 src/Makefile.am
23b1dac1edc2f3a415a6ceeac9c821a05332de37 50150 src/Makefile.in
56b7c80c5f8a17819ab6a078d01197a393755d15 8265 src/callback.c
3d28029623e9d2251392de8c9ab30647be4c38d1 1631 src/callback.h
3fcc1c61e32b6d0611e76bf4f885533482fee487 2582 src/dialog.c
0651e705696688f15d124e86d76e8cd7298393bd 1127 src/dialog.h
a30834e8ff24d95828cf8265b1e3e0feddd204d4 6764 src/dnd.c
5f28dec9ccd8eebb58e25877057576bc6e276e34 909 src/dnd.h
d9dc41cb508b056b4e3848fac280c3335fdda3c7 6723 src/emacs.c
24279f8befe55dce2157382398c97c0040dcb3ac 956 src/emacs.h
c3d84301cd67dcfd7396f60355f54f7c00945dbd 11332 src/encoding.c
6f7d53179676cfa352482a630f1d796a3a00f80c 1422 src/encoding.h
7e271e8064c11df22d5a2f574c4e595c3ac1793a 5855 src/file.c
861011b730c85c185d7a05cd10a1d63520648546 1254 src/file.h
ebd263a67797b54d311ebf60a39482f990a768f9 2245 src/font.c
b73558fe7e17a6cf441d1ff922ee3ee018060643 1070 src/font.h
545fa27823583624fee92eeaa8b8c0b39a8a5870 6885 src/gtkprint.c
be9c382045d0fc1fb5eeabc8ed3493f1736e8f57 1046 src/gtkprint.h
bb9ebe7f9ee8d1e3f0c7663f03d15d30d2ce17f1 17436 src/gtksourceiter.c
1a0550b24ac6dfabcd2b0c5065ab79ad2340c39a 1862 src/gtksourceiter.h
f6b21adcfc00151deba02a4339ea5883a7b8f411 2486 src/hlight.c
828e51d43aaa64cbaa492baf761d053bba6b02dd 1019 src/hlight.h
88ed5855fed283f685d93f6504e0c2717259b8ba 6775 src/indent.c
bb2a52d5a1969da5a312b91bbba32d0489a48871 1334 src/indent.h
fe86394925b4c38a947038c103f7e97f61e6c12c 3057 src/l3afpad.h
3c982692110d9c2fc653efb8e8f4a468ffe115cd 9583 src/linenum.c
6f63e2c07f844c7ba97c77d3e7234d30560a09f0 983 src/linenum.h
7fbac5e5272a0b8277e64b1d131224e783b42e0a 8360 src/main.c
f53a6e54f4121d11fc315c0bebafe5e611738a8d 8598 src/menu.c
a7de57aa7b8e7bc0b97ee70eb7b82543ccef553d 1176 src/menu.h
572e07e6bd163dfc55ddcfd57cf5cabfdb45b9e5 14763 src/search.c
cee72ed3fd94d1637021e9c73602f109f7af06d1 1054 src/search.h
de6b8830c63963736fa5243d9e41e1739238d20d 12527 src/selector.c
5af4e5fa14e8ab0106b07f15a74777124df098a8 1019 src/selector.h
609fd713cef54955274804dadd59d51fbc3e7aa4 10743 src/undo.c
13e3a08982c1aee8ea5bedb3e76ac33f3f161290 1211 src/undo.h
db205a5a6aa876fd5764a3ee1e4bdef8d82c2433 2746 src/utils.c
e700377b8a734da1fc62cde0e735ea3b0be3b3ff 1026 src/utils.h
87454d9941ac4e2f6ca2c9ae689a0c6dbca1b000 11207 src/view.c
f9797a035a29fe5e6f1137d20fb916c573bd1bea 1276 src/view.h
8611757f226b3254ab81a860e194f1704c49a3cf 3068 src/window.c
2b419507bce0a451781183f98de60868071bc2b1 1065 src/window.h
-----BEGIN PGP SIGNATURE-----
iEYEARECAAYFAk5orUIACgkQdEpXpumNYVmfkACeIdMycslGqug085z9g1QzppGl
ovAAoIxm2wG0MsV2Uvlq5g5U5Qd8TpDdiQIcBAEBCgAGBQJOaK1CAAoJELc3H0m+
i6gZfzIP/RQ3JfdL6QrC8ekkmMSAeIpsvNmP5Cb7jF8h4cT6Vsp4S53tR6322UzL
MBGVwly6fvOfaU9adhMDGZD9FtkWuWIes61oNlSysyXjxauhrWOpM+aOWUtEKAxr
x0TYk+28rBQU0S5+bQjKGQ+2tzZzRM8uuOEE7tc9gjwHrb+EBJ3chy6D16BnF7uv
gpxyaLckaJYXnc8UJuOpYvAmg3SGfs6YBQn8eO/hLKI3JJdS3wfv4D/TFQL7sPEk
EksiYAYOkmIXsKpLxsAh7Z3TwtYbFg5BDZAYj9vnBY6ngN/SXBUgQtO/GGo5RLNU
bQUeA/Fg+Y9eMVuXD4yfsAQXFUa1WfLDYV5HtCaH4/i8q3cEBk+m0XU253NXLxkN
WIMyPehc2kQCf6mE2xPpiL4Eku5+hbVXQNT6auHVqdULW3dXWX9FLJ0Z9YlplU2+
+0ox8qd5TJv0conIPTBtkxikl9LbdylsM0WBz0C5M1tbkrfYB7Zdp9n6jUgH3xcT
5eFpLF52ekmxk4UqGBx905NyUQcvCbDHBgXPsC41SMmuoP1SXI9fUAyOSl2Aj8Lw
Vk25Tv9kTgtWVwpTGCALfklQRkPtDA+wPaFJ0PCIpOXBaPr/Uf2EBWfOimaoP4rk
wMzyTosCPOAUrqe86kYjUHjEKFnSVGKwXYQBKVv9j+XKBuY4P/sv
=fHtw
-----END PGP SIGNATURE-----

21
compile
View File

@ -1,9 +1,10 @@
#! /bin/sh
# Wrapper for compilers which do not understand `-c -o'.
scriptversion=2005-05-14.22
scriptversion=2009-10-06.20; # UTC
# Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc.
# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2009 Free Software
# Foundation, Inc.
# Written by Tom Tromey <tromey@cygnus.com>.
#
# This program is free software; you can redistribute it and/or modify
@ -17,8 +18,7 @@ scriptversion=2005-05-14.22
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
@ -103,13 +103,13 @@ if test -z "$ofile" || test -z "$cfile"; then
fi
# Name of file we expect compiler to create.
cofile=`echo "$cfile" | sed -e 's|^.*/||' -e 's/\.c$/.o/'`
cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'`
# Create the lock directory.
# Note: use `[/.-]' here to ensure that we don't use the same name
# Note: use `[/\\:.-]' here to ensure that we don't use the same name
# that we are using for the .o file. Also, base the name on the expected
# object file name, since that is what matters with a parallel build.
lockdir=`echo "$cofile" | sed -e 's|[/.-]|_|g'`.d
lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d
while true; do
if mkdir "$lockdir" >/dev/null 2>&1; then
break
@ -124,9 +124,9 @@ trap "rmdir '$lockdir'; exit 1" 1 2 15
ret=$?
if test -f "$cofile"; then
mv "$cofile" "$ofile"
test "$cofile" = "$ofile" || mv "$cofile" "$ofile"
elif test -f "${cofile}bj"; then
mv "${cofile}bj" "$ofile"
test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile"
fi
rmdir "$lockdir"
@ -138,5 +138,6 @@ exit $ret
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-end: "$"
# time-stamp-time-zone: "UTC"
# time-stamp-end: "; # UTC"
# End:

View File

@ -1,12 +1,12 @@
/* config.h.in. Generated from configure.ac by autoheader. */
/* Define if Emacs key theme is enabled. */
/* Define to 1 if you enable Emacs key theme. */
#undef ENABLE_EMACS
/* always defined to indicate that i18n is enabled */
#undef ENABLE_NLS
/* Define if print feature is enabled. */
/* Define to 0 if you disable print. */
#undef ENABLE_PRINT
/* Define to 1 if you have the `bind_textdomain_codeset' function. */

41
configure vendored
View File

@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.68 for L3afpad 0.8.18.1.2.
# Generated by GNU Autoconf 2.68 for L3afpad 0.8.18.1.3.
#
# Report bugs to <caleb@calno.com>.
#
@ -560,8 +560,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='L3afpad'
PACKAGE_TARNAME='l3afpad'
PACKAGE_VERSION='0.8.18.1.2'
PACKAGE_STRING='L3afpad 0.8.18.1.2'
PACKAGE_VERSION='0.8.18.1.3'
PACKAGE_STRING='L3afpad 0.8.18.1.3'
PACKAGE_BUGREPORT='caleb@calno.com'
PACKAGE_URL=''
@ -1296,7 +1296,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
\`configure' configures L3afpad 0.8.18.1.2 to adapt to many kinds of systems.
\`configure' configures L3afpad 0.8.18.1.3 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@ -1362,7 +1362,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
short | recursive ) echo "Configuration of L3afpad 0.8.18.1.2:";;
short | recursive ) echo "Configuration of L3afpad 0.8.18.1.3:";;
esac
cat <<\_ACEOF
@ -1459,7 +1459,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
L3afpad configure 0.8.18.1.2
L3afpad configure 0.8.18.1.3
generated by GNU Autoconf 2.68
Copyright (C) 2010 Free Software Foundation, Inc.
@ -1828,7 +1828,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by L3afpad $as_me 0.8.18.1.2, which was
It was created by L3afpad $as_me 0.8.18.1.3, which was
generated by GNU Autoconf 2.68. Invocation command line was
$ $0 $@
@ -4892,7 +4892,7 @@ fi
if test "$GCC" = "yes"; then
CFLAGS="$CFLAGS -Wall -Wextra"
CFLAGS="$CFLAGS -Wall"
fi
if test "x$CC" != xcc; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC and cc understand -c and -o together" >&5
@ -5238,27 +5238,22 @@ if test "${enable_print+set}" = set; then :
enableval=$enable_print;
fi
if test "$enable_print" != "no"; then
if test -n "$PKG_CONFIG" && \
{ { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gtk+-3.0 >= 3.0.10\""; } >&5
($PKG_CONFIG --exists --print-errors "gtk+-3.0 >= 3.0.10") 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
if test "$enable_print" = "no"; then
$as_echo "#define ENABLE_PRINT 1" >>confdefs.h
$as_echo "#define ENABLE_PRINT 0" >>confdefs.h
fi
fi
fi
# Check whether --enable-emacs was given.
if test "${enable_emacs+set}" = set; then :
enableval=$enable_emacs;
$as_echo "#define ENABLE_EMACS 1" >>confdefs.h
fi
if test "$enable_emacs" = "yes"; then
$as_echo "#define ENABLE_EMACS 1" >>confdefs.h
fi
GETTEXT_PACKAGE="$PACKAGE"
@ -6928,7 +6923,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
This file was extended by L3afpad $as_me 0.8.18.1.2, which was
This file was extended by L3afpad $as_me 0.8.18.1.3, which was
generated by GNU Autoconf 2.68. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@ -6994,7 +6989,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
L3afpad config.status 0.8.18.1.2
L3afpad config.status 0.8.18.1.3
configured by $0, generated by GNU Autoconf 2.68,
with options \\"\$ac_cs_config\\"

View File

@ -1,11 +1,11 @@
AC_INIT(L3afpad, 0.8.18.1.2, caleb@calno.com)
AC_INIT(L3afpad, 0.8.18.1.3, caleb@calno.com)
AM_INIT_AUTOMAKE($PACKAGE_TARNAME, $PACKAGE_VERSION)
AM_CONFIG_HEADER(config.h)
AC_PROG_INTLTOOL(, no-xml) # require >= 0.31 for autoreconf
AC_PROG_CC
if test "$GCC" = "yes"; then
CFLAGS="$CFLAGS -Wall -Wextra"
CFLAGS="$CFLAGS -Wall"
fi
AM_PROG_CC_C_O
@ -13,19 +13,18 @@ PKG_CHECK_MODULES(GTK, gtk+-3.0)
AC_ARG_ENABLE(print,
AC_HELP_STRING([--disable-print], [force to disable print feature]))
if test "$enable_print" != "no"; then
PKG_CHECK_EXISTS(gtk+-3.0 >= 3.0.10,
AC_DEFINE(ENABLE_PRINT, 1, [Define if print feature is enabled.]))
fi
if test "$enable_print" = "no"; then
AC_DEFINE(ENABLE_PRINT, 0, [Define to 0 if you disable print.])
fi
AC_ARG_ENABLE(emacs,
AC_HELP_STRING([--enable-emacs], [implement Emacs key theme (experimental)]),
AC_DEFINE(ENABLE_EMACS, 1, [Define if Emacs key theme is enabled.])
)
AC_HELP_STRING([--enable-emacs], [implement Emacs key theme (experimental)]))
if test "$enable_emacs" = "yes"; then
AC_DEFINE(ENABLE_EMACS, 1, [Define to 1 if you enable Emacs key theme.])
fi
GETTEXT_PACKAGE="$PACKAGE"
AC_SUBST(GETTEXT_PACKAGE)
AM_GLIB_GNU_GETTEXT
AM_GLIB_DEFINE_LOCALEDIR(LOCALEDIR)
AC_OUTPUT([

View File

@ -5,7 +5,3 @@ desktop_DATA = $(desktop_in_files:.desktop.in=.desktop)
pixmapsdir = $(datadir)/pixmaps
pixmaps_DATA = l3afpad.png l3afpad.xpm
EXTRA_DIST = \
$(desktop_DATA) $(desktop_in_files) \
$(pixmaps_DATA)

View File

@ -38,7 +38,7 @@ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
@ -187,10 +187,6 @@ desktop_in_files = l3afpad.desktop.in
desktop_DATA = $(desktop_in_files:.desktop.in=.desktop)
pixmapsdir = $(datadir)/pixmaps
pixmaps_DATA = l3afpad.png l3afpad.xpm
EXTRA_DIST = \
$(desktop_DATA) $(desktop_in_files) \
$(pixmaps_DATA)
all: all-am
.SUFFIXES:

View File

@ -1,5 +1,4 @@
[Desktop Entry]
Encoding=UTF-8
_Name=L3afpad
_Comment=Simple text editor
Exec=l3afpad %f

87
depcomp
View File

@ -1,10 +1,10 @@
#! /bin/sh
# depcomp - compile a program generating dependencies as side-effects
scriptversion=2007-03-29.01
scriptversion=2009-04-28.21; # UTC
# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007 Free Software
# Foundation, Inc.
# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009 Free
# Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@ -17,9 +17,7 @@ scriptversion=2007-03-29.01
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
@ -87,6 +85,15 @@ if test "$depmode" = dashXmstdout; then
depmode=dashmstdout
fi
cygpath_u="cygpath -u -f -"
if test "$depmode" = msvcmsys; then
# This is just like msvisualcpp but w/o cygpath translation.
# Just convert the backslash-escaped backslashes to single forward
# slashes to satisfy depend.m4
cygpath_u="sed s,\\\\\\\\,/,g"
depmode=msvisualcpp
fi
case "$depmode" in
gcc3)
## gcc 3 implements dependency tracking that does exactly what
@ -192,14 +199,14 @@ sgi)
' < "$tmpdepfile" \
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
tr '
' ' ' >> $depfile
echo >> $depfile
' ' ' >> "$depfile"
echo >> "$depfile"
# The second pass generates a dummy entry for each header file.
tr ' ' '
' < "$tmpdepfile" \
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
>> $depfile
>> "$depfile"
else
# The sourcefile does not contain any dependencies, so just
# store a dummy comment line, to avoid errors with the Makefile
@ -328,7 +335,12 @@ hp2)
if test -f "$tmpdepfile"; then
sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
# Add `dependent.h:' lines.
sed -ne '2,${; s/^ *//; s/ \\*$//; s/$/:/; p;}' "$tmpdepfile" >> "$depfile"
sed -ne '2,${
s/^ *//
s/ \\*$//
s/$/:/
p
}' "$tmpdepfile" >> "$depfile"
else
echo "#dummy" > "$depfile"
fi
@ -404,7 +416,7 @@ dashmstdout)
# Remove the call to Libtool.
if test "$libtool" = yes; then
while test $1 != '--mode=compile'; do
while test "X$1" != 'X--mode=compile'; do
shift
done
shift
@ -455,32 +467,39 @@ makedepend)
"$@" || exit $?
# Remove any Libtool call
if test "$libtool" = yes; then
while test $1 != '--mode=compile'; do
while test "X$1" != 'X--mode=compile'; do
shift
done
shift
fi
# X makedepend
shift
cleared=no
for arg in "$@"; do
cleared=no eat=no
for arg
do
case $cleared in
no)
set ""; shift
cleared=yes ;;
esac
if test $eat = yes; then
eat=no
continue
fi
case "$arg" in
-D*|-I*)
set fnord "$@" "$arg"; shift ;;
# Strip any option that makedepend may not understand. Remove
# the object too, otherwise makedepend will parse it as a source file.
-arch)
eat=yes ;;
-*|$object)
;;
*)
set fnord "$@" "$arg"; shift ;;
esac
done
obj_suffix="`echo $object | sed 's/^.*\././'`"
obj_suffix=`echo "$object" | sed 's/^.*\././'`
touch "$tmpdepfile"
${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
rm -f "$depfile"
@ -500,7 +519,7 @@ cpp)
# Remove the call to Libtool.
if test "$libtool" = yes; then
while test $1 != '--mode=compile'; do
while test "X$1" != 'X--mode=compile'; do
shift
done
shift
@ -538,13 +557,27 @@ cpp)
msvisualcpp)
# Important note: in order to support this mode, a compiler *must*
# always write the preprocessed file to stdout, regardless of -o,
# because we must use -o when running libtool.
# always write the preprocessed file to stdout.
"$@" || exit $?
# Remove the call to Libtool.
if test "$libtool" = yes; then
while test "X$1" != 'X--mode=compile'; do
shift
done
shift
fi
IFS=" "
for arg
do
case "$arg" in
-o)
shift
;;
$object)
shift
;;
"-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
set fnord "$@"
shift
@ -557,16 +590,23 @@ msvisualcpp)
;;
esac
done
"$@" -E |
sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile"
"$@" -E 2>/dev/null |
sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile"
rm -f "$depfile"
echo "$object : \\" > "$depfile"
. "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile"
sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile"
echo " " >> "$depfile"
. "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile"
sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile"
rm -f "$tmpdepfile"
;;
msvcmsys)
# This case exists only to let depend.m4 do its work. It works by
# looking at the text of this script. This case will never be run,
# since it is checked for above.
exit 1
;;
none)
exec "$@"
;;
@ -585,5 +625,6 @@ exit 0
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-end: "$"
# time-stamp-time-zone: "UTC"
# time-stamp-end: "; # UTC"
# End:

339
gpl-2.0.txt Normal file
View File

@ -0,0 +1,339 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Lesser General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) year name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License.

View File

@ -1,7 +1,7 @@
#!/bin/sh
# install - install a program, script, or datafile
scriptversion=2006-12-25.00
scriptversion=2009-04-28.21; # UTC
# This originates from X11R5 (mit/util/scripts/install.sh), which was
# later released in X11R6 (xc/config/util/install.sh) with the
@ -515,5 +515,6 @@ done
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-end: "$"
# time-stamp-time-zone: "UTC"
# time-stamp-end: "; # UTC"
# End:

49
missing
View File

@ -1,10 +1,10 @@
#! /bin/sh
# Common stub for a few missing GNU programs while installing.
scriptversion=2006-05-10.23
scriptversion=2009-04-28.21; # UTC
# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006
# Free Software Foundation, Inc.
# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006,
# 2008, 2009 Free Software Foundation, Inc.
# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
# This program is free software; you can redistribute it and/or modify
@ -18,9 +18,7 @@ scriptversion=2006-05-10.23
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
@ -89,6 +87,9 @@ Supported PROGRAM values:
tar try tar, gnutar, gtar, then tar without non-portable flags
yacc create \`y.tab.[ch]', if possible, from existing .[ch]
Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and
\`g' are ignored when checking the name.
Send bug reports to <bug-automake@gnu.org>."
exit $?
;;
@ -106,15 +107,22 @@ Send bug reports to <bug-automake@gnu.org>."
esac
# normalize program name to check for.
program=`echo "$1" | sed '
s/^gnu-//; t
s/^gnu//; t
s/^g//; t'`
# Now exit if we have it, but it failed. Also exit now if we
# don't have it and --version was passed (most likely to detect
# the program).
# the program). This is about non-GNU programs, so use $1 not
# $program.
case $1 in
lex|yacc)
lex*|yacc*)
# Not GNU programs, they don't have --version.
;;
tar)
tar*)
if test -n "$run"; then
echo 1>&2 "ERROR: \`tar' requires --run"
exit 1
@ -138,7 +146,7 @@ esac
# If it does not exist, or fails to run (possibly an outdated version),
# try to emulate it.
case $1 in
case $program in
aclocal*)
echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if
@ -148,7 +156,7 @@ WARNING: \`$1' is $msg. You should only need it if
touch aclocal.m4
;;
autoconf)
autoconf*)
echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if
you modified \`${configure_ac}'. You might want to install the
@ -157,7 +165,7 @@ WARNING: \`$1' is $msg. You should only need it if
touch configure
;;
autoheader)
autoheader*)
echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if
you modified \`acconfig.h' or \`${configure_ac}'. You might want
@ -187,7 +195,7 @@ WARNING: \`$1' is $msg. You should only need it if
while read f; do touch "$f"; done
;;
autom4te)
autom4te*)
echo 1>&2 "\
WARNING: \`$1' is needed, but is $msg.
You might have modified some files without having the
@ -210,7 +218,7 @@ WARNING: \`$1' is needed, but is $msg.
fi
;;
bison|yacc)
bison*|yacc*)
echo 1>&2 "\
WARNING: \`$1' $msg. You should only need it if
you modified a \`.y' file. You may need the \`Bison' package
@ -240,7 +248,7 @@ WARNING: \`$1' $msg. You should only need it if
fi
;;
lex|flex)
lex*|flex*)
echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if
you modified a \`.l' file. You may need the \`Flex' package
@ -263,7 +271,7 @@ WARNING: \`$1' is $msg. You should only need it if
fi
;;
help2man)
help2man*)
echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if
you modified a dependency of a manual page. You may need the
@ -277,11 +285,11 @@ WARNING: \`$1' is $msg. You should only need it if
else
test -z "$file" || exec >$file
echo ".ab help2man is required to generate this page"
exit 1
exit $?
fi
;;
makeinfo)
makeinfo*)
echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if
you modified a \`.texi' or \`.texinfo' file, or any other file
@ -310,7 +318,7 @@ WARNING: \`$1' is $msg. You should only need it if
touch $file
;;
tar)
tar*)
shift
# We have already tried tar in the generic part.
@ -363,5 +371,6 @@ exit 0
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-end: "$"
# time-stamp-time-zone: "UTC"
# time-stamp-end: "; # UTC"
# End:

View File

@ -1,5 +1,4 @@
# please keep this list sorted alphabetically
#
bg
br
ca
@ -38,4 +37,3 @@ uk
vi
zh_CN
zh_TW

View File

@ -129,7 +129,7 @@ install-data-yes: all
done
# Empty stubs to satisfy archaic automake needs
dvi info tags TAGS ID:
dvi info ctags tags CTAGS TAGS ID:
# Define this as empty until I found a useful application.
install-exec installcheck:

View File

@ -7,6 +7,4 @@ src/font.c
src/selector.c
src/file.c
src/search.c
# files added by intltool-prepare
data/l3afpad.desktop.in

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: l3afpad 0.8.9\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-09-01 15:36+0800\n"
"POT-Creation-Date: 2011-09-06 17:04+0800\n"
"PO-Revision-Date: 2006-05-20 13:05+0300\n"
"Last-Translator: Yavor Doganov <yavor@doganov.org>\n"
"Language-Team: Bulgarian <dict@fsa-bg.org>\n"
@ -146,6 +146,10 @@ msgstr ""
"Научете повече за нас на http://gnome.cult.bg\n"
"Докладвайте за грешки на http://gnome.cult.bg/bugs"
#: ../src/callback.c:323
msgid "Lɜafpad"
msgstr "Lɜafpad"
#: ../src/view.c:62
#, c-format
msgid "Save changes to '%s'?"

View File

@ -8,13 +8,13 @@ msgid ""
msgstr ""
"Project-Id-Version: L3afpad 0.8.13\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-09-01 15:36+0800\n"
"POT-Creation-Date: 2011-09-06 17:04+0800\n"
"PO-Revision-Date: 2009-07-04 16:58+0100\n"
"Last-Translator: Alan Monfort <alan.monfort@free.fr>\n"
"Language-Team: Breton Team <brenux@free.fr>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-Language: Breton\n"
"X-Poedit-Country: FRANCE\n"
@ -149,6 +149,10 @@ msgstr "Embanner testennou eeun diazezet war GTK+"
msgid "translator-credits"
msgstr "Denis ARNAUD <denisarnuad@yahoo.fr>"
#: ../src/callback.c:323
msgid "Lɜafpad"
msgstr "Lɜafpad"
#: ../src/view.c:62
#, c-format
msgid "Save changes to '%s'?"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: L3afpad 0.7.7\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-09-01 15:36+0800\n"
"POT-Creation-Date: 2011-09-06 17:04+0800\n"
"PO-Revision-Date: 2004-11-04 10:10+0100\n"
"Last-Translator: David Rosal <davidrr@users.sourceforge.net>\n"
"Language-Team: Catalan\n"
@ -140,6 +140,10 @@ msgstr "Editor de text simple, basat en GTK+"
msgid "translator-credits"
msgstr "David Rosal <davidrr@users.sourceforge.net>"
#: ../src/callback.c:323
msgid "Lɜafpad"
msgstr "Lɜafpad"
#: ../src/view.c:62
#, c-format
msgid "Save changes to '%s'?"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: l3afpad 0.7.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-09-01 15:36+0800\n"
"POT-Creation-Date: 2011-09-06 17:04+0800\n"
"PO-Revision-Date: 2004-11-18 23:58+0100\n"
"Last-Translator: Petr Vysloužil <evyslouz@volny.cz>\n"
"Language-Team: Czech <cs@li.org>\n"
@ -140,6 +140,10 @@ msgstr "Jednoduchý GTK+ textový editor"
msgid "translator-credits"
msgstr "Petr Vyslouzil <evyslouz@volny.cz>"
#: ../src/callback.c:323
msgid "Lɜafpad"
msgstr "Lɜafpad"
#: ../src/view.c:62
#, c-format
msgid "Save changes to '%s'?"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: l3afpad-0.8.13\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-09-01 15:36+0800\n"
"POT-Creation-Date: 2011-09-06 17:04+0800\n"
"PO-Revision-Date: 2008-08-24 00:00+0100\n"
"Last-Translator: Joe Hansen <joedalton2@yahoo.dk>\n"
"Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
@ -152,6 +152,10 @@ msgstr ""
"Dansk-gruppen <dansk@dansk-gruppen.dk>\n"
"Mere info: http://www.dansk-gruppen.dk"
#: ../src/callback.c:323
msgid "Lɜafpad"
msgstr "Lɜafpad"
#: ../src/view.c:62
#, c-format
msgid "Save changes to '%s'?"

View File

@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: l3afpad 0.8.16\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-09-01 15:36+0800\n"
"POT-Creation-Date: 2011-09-06 17:04+0800\n"
"PO-Revision-Date: 2009-06-28 13:12+0100\n"
"Last-Translator: Mario Blättermann <mario.blaettermann@t-online.de>\n"
"Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
@ -145,6 +145,10 @@ msgstr ""
"Ruediger Arp <ruediger@gmx.net>\n"
"Mario Blättermann <mariobl@gnome.org>"
#: ../src/callback.c:323
msgid "Lɜafpad"
msgstr "Lɜafpad"
#: ../src/view.c:62
#, c-format
msgid "Save changes to '%s'?"

View File

@ -1,4 +1,4 @@
# Greek translation of l3afpad.pot
# Greek translation of l3afpad.pot
# Copyright (C) 2004-2005 Tarot Osuji <tarot@sdf.lonestar.org>
# This file is distributed under the same license as the l3afpad package.
# Stavros Giannouris <stavrosg2002@freemail.gr>, 2005-2006
@ -7,13 +7,13 @@ msgid ""
msgstr ""
"Project-Id-Version: l3afpad 0.8.9\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-09-01 15:36+0800\n"
"POT-Creation-Date: 2011-09-06 17:04+0800\n"
"PO-Revision-Date: 2006-04-23 00:52+0200\n"
"Last-Translator: Stavros Giannouris <stavrosg2002@freemail.gr>\n"
"Language-Team: Greek <nls@tux.hellug.gr>\n"
"Language: el\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-Language: Greek\n"
"X-Poedit-Country: GREECE\n"
@ -142,6 +142,10 @@ msgstr "Ένας απλός επεξεργαστής κειμένου σε GTK+"
msgid "translator-credits"
msgstr "Σταύρος Γιαννούρης <stavrosg2002@freemail.gr>"
#: ../src/callback.c:323
msgid "Lɜafpad"
msgstr "Lɜafpad"
#: ../src/view.c:62
#, c-format
msgid "Save changes to '%s'?"

View File

@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: l3afpad 0.8.16\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-09-01 15:36+0800\n"
"POT-Creation-Date: 2011-09-06 17:04+0800\n"
"PO-Revision-Date: 2010-07-12 20:53+0100\n"
"Last-Translator: Benno Schulenberg <benno@vertaalt.nl>\n"
"Language-Team: Esperanto <translation-team-eo@lists.sourceforge.net>\n"
@ -139,6 +139,10 @@ msgstr "Simpla GTK+-bazita tekstredaktilo"
msgid "translator-credits"
msgstr "Benno Schulenberg <benno@vertaalt.nl>"
#: ../src/callback.c:323
msgid "Lɜafpad"
msgstr "Lɜafpad"
#: ../src/view.c:62
#, c-format
msgid "Save changes to '%s'?"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: l3afpad-0.8.16\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-09-01 15:36+0800\n"
"POT-Creation-Date: 2011-09-06 17:04+0800\n"
"PO-Revision-Date: 2009-06-24 21:49+0200\n"
"Last-Translator: Lucas Vieites <lucas@codexion.com>\n"
"Language-Team: Spanish <es@li.org>\n"
@ -140,6 +140,10 @@ msgstr "Editor de texto simple"
msgid "translator-credits"
msgstr "Lucas Vieites <lucas@asixinformatica.com>"
#: ../src/callback.c:323
msgid "Lɜafpad"
msgstr "Lɜafpad"
#: ../src/view.c:62
#, c-format
msgid "Save changes to '%s'?"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: l3afpad 0.8.13\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-09-01 15:36+0800\n"
"POT-Creation-Date: 2011-09-06 17:04+0800\n"
"PO-Revision-Date: 2008-01-14 21:35+0900\n"
"Last-Translator: Mikel Olasagasti <hey_neken@mundurat.net>\n"
"Language-Team: Basque <translation-team-eu@lists.sourceforge.net>\n"
@ -143,6 +143,10 @@ msgstr "GTK+-n oinarritutako testu editore sinplea"
msgid "translator-credits"
msgstr "Inko Illarramendi <inkoia@gmail.com>"
#: ../src/callback.c:323
msgid "Lɜafpad"
msgstr "Lɜafpad"
#: ../src/view.c:62
#, c-format
msgid "Save changes to '%s'?"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: l3afpad 0.8.16\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-09-01 15:36+0800\n"
"POT-Creation-Date: 2011-09-06 17:04+0800\n"
"PO-Revision-Date: 2010-12-07 13:02+0200\n"
"Last-Translator: Jorma Karvonen <karvonen.jorma@gmail.com>\n"
"Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n"
@ -142,6 +142,10 @@ msgstr "GTK+-pohjainen yksinkertainen tekstieditori"
msgid "translator-credits"
msgstr "Eero Tamminen, Jorma Karvonen"
#: ../src/callback.c:323
msgid "Lɜafpad"
msgstr "Lɜafpad"
#: ../src/view.c:62
#, c-format
msgid "Save changes to '%s'?"

View File

@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: l3afpad 0.8.16\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-09-01 15:36+0800\n"
"POT-Creation-Date: 2011-09-06 17:04+0800\n"
"PO-Revision-Date: 2009-06-25 10:53-0500\n"
"Last-Translator: Marc Veillet <scouigne@gmail.com>\n"
"Language-Team: French <traduc@traduc.org>\n"
@ -143,6 +143,10 @@ msgid "translator-credits"
msgstr ""
"Luc Pionchon <luc@handhelds.org>, Marc Veillet 2009 <scouigne@gmail.com>"
#: ../src/callback.c:323
msgid "Lɜafpad"
msgstr "Lɜafpad"
#: ../src/view.c:62
#, c-format
msgid "Save changes to '%s'?"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: l3afpad 0.8.13\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-09-01 15:36+0800\n"
"POT-Creation-Date: 2011-09-06 17:04+0800\n"
"PO-Revision-Date: 2008-01-15 15:46-0500\n"
"Last-Translator: Kevin Scannell <kscanne@gmail.com>\n"
"Language-Team: Irish <gaeilge-gnulinux@lists.sourceforge.net>\n"
@ -140,6 +140,10 @@ msgstr "Eagarthóir simplí bunaithe ar GTK+"
msgid "translator-credits"
msgstr "Kevin Scannell <scannell@slu.edu>"
#: ../src/callback.c:323
msgid "Lɜafpad"
msgstr "Lɜafpad"
#: ../src/view.c:62
#, c-format
msgid "Save changes to '%s'?"

View File

@ -11,7 +11,7 @@ msgid ""
msgstr ""
"Project-Id-Version: l3afpad 0.8.16\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-09-01 15:36+0800\n"
"POT-Creation-Date: 2011-09-06 17:04+0800\n"
"PO-Revision-Date: 2010-12-02 10:22+0100\n"
"Last-Translator: Leandro Regueiro <leandro.regueiro@gmail.com>\n"
"Language-Team: Galician <proxecto@trasno.net>\n"
@ -149,6 +149,10 @@ msgstr ""
"Proxecto Trasno - Adaptación de software libre á lingua galega: Se desexas\n"
"colaborar connosco, podes atopar máis información en <http://www.trasno.net>"
#: ../src/callback.c:323
msgid "Lɜafpad"
msgstr "Lɜafpad"
#: ../src/view.c:62
#, c-format
msgid "Save changes to '%s'?"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: L3afpad 0.8.3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-09-01 15:36+0800\n"
"POT-Creation-Date: 2011-09-06 17:04+0800\n"
"PO-Revision-Date: 2005-07-31 22:54+0300\n"
"Last-Translator: Yo'av Moshe <black_jesus@myrealbox.com>\n"
"Language-Team: Hebrew\n"
@ -140,6 +140,10 @@ msgstr "עורך טקסט פשוט מבוסס GTK+"
msgid "translator-credits"
msgstr "Yo´av Moshe <black_jesus@myrealbox.com>"
#: ../src/callback.c:323
msgid "Lɜafpad"
msgstr "Lɜafpad"
#: ../src/view.c:62
#, c-format
msgid "Save changes to '%s'?"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: l3afpad-0.8.16\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-09-01 15:36+0800\n"
"POT-Creation-Date: 2011-09-06 17:04+0800\n"
"PO-Revision-Date: 2010-05-04 10:02+0200\n"
"Last-Translator: Kalman Kemenczy <kkemenczy@gmail.com>\n"
"Language-Team: Hungarian <translation-team-hu@lists.sourceforge.net>\n"
@ -145,6 +145,10 @@ msgstr ""
"Reviczky Ádám János <reviczky@freemail.hu>\n"
"Kéménczy Kálmán <kkemenczy@gmail.com>"
#: ../src/callback.c:323
msgid "Lɜafpad"
msgstr "Lɜafpad"
#: ../src/view.c:62
#, c-format
msgid "Save changes to '%s'?"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: l3afpad 0.8.16\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-09-01 15:36+0800\n"
"POT-Creation-Date: 2011-09-06 17:04+0800\n"
"PO-Revision-Date: 2009-06-25 21:35+0700\n"
"Last-Translator: Andhika Padmawan <andhika.padmawan@gmail.com>\n"
"Language-Team: Indonesian <translation-team-id@lists.sourceforge.net>\n"
@ -140,6 +140,10 @@ msgstr "Penyunting teks sederhana berbasis GTK+"
msgid "translator-credits"
msgstr "Andhika Padmawan <andhika.padmawan@gmail.com>, 2008"
#: ../src/callback.c:323
msgid "Lɜafpad"
msgstr "Lɜafpad"
#: ../src/view.c:62
#, c-format
msgid "Save changes to '%s'?"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: l3afpad-0.8.13\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-09-01 15:36+0800\n"
"POT-Creation-Date: 2011-09-06 17:04+0800\n"
"PO-Revision-Date: 2008-11-29 18:23+0100\n"
"Last-Translator: Vincenzo Campanella <vinz65@gmail.com>\n"
"Language-Team: Italian <tp@lists.linux.it>\n"
@ -143,6 +143,10 @@ msgstr "Semplice editor di testi basato su GTK+"
msgid "translator-credits"
msgstr "Vincenzo Campanella (vinz65@gmail.com)"
#: ../src/callback.c:323
msgid "Lɜafpad"
msgstr "Lɜafpad"
#: ../src/view.c:62
#, c-format
msgid "Save changes to '%s'?"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: L3afpad 0.8.11\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-09-01 15:36+0800\n"
"POT-Creation-Date: 2011-09-06 17:04+0800\n"
"PO-Revision-Date: 2007-05-06 20:26+0900\n"
"Last-Translator: Tarot Osuji <tarot@sdf.lonestar.org>\n"
"Language-Team: Japanese <ja@li.org>\n"
@ -140,6 +140,10 @@ msgstr "GTK+ ベースのシンプルなテキストエディタ"
msgid "translator-credits"
msgstr "Tarot Osuji <tarot@sdf.lonestar.org>"
#: ../src/callback.c:323
msgid "Lɜafpad"
msgstr "Lɜafpad"
#: ../src/view.c:62
#, c-format
msgid "Save changes to '%s'?"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: L3afpad 0.8.9\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-09-01 15:36+0800\n"
"POT-Creation-Date: 2011-09-06 17:04+0800\n"
"PO-Revision-Date: 2006-11-01 10:50+0900\n"
"Last-Translator: Seo Sanghyeon <sanxiyn@gmail.com>\n"
"Language-Team: Korean\n"
@ -140,6 +140,10 @@ msgstr "GTK+로 만든 간단한 텍스트 편집기"
msgid "translator-credits"
msgstr "Seo Sanghyeon <sanxiyn@gmail.com>"
#: ../src/callback.c:323
msgid "Lɜafpad"
msgstr "Lɜafpad"
#: ../src/view.c:62
#, c-format
msgid "Save changes to '%s'?"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: l3afpad 0.8.13\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-09-01 15:36+0800\n"
"POT-Creation-Date: 2011-09-06 17:04+0800\n"
"PO-Revision-Date: 2008-07-20 21:29-0400\n"
"Last-Translator: Gintautas Miliauskas <gintas@akl.lt>\n"
"Language-Team: Lithuanian <komp_lt@konferencijos.lt>\n"
@ -140,6 +140,10 @@ msgstr "Paprastas teksto redaktorius paremtas GTK+"
msgid "translator-credits"
msgstr "Lech Jankovski <godgard@gmail.com>"
#: ../src/callback.c:323
msgid "Lɜafpad"
msgstr "Lɜafpad"
#: ../src/view.c:62
#, c-format
msgid "Save changes to '%s'?"

View File

@ -7,13 +7,13 @@ msgid ""
msgstr ""
"Project-Id-Version: l3afpad-0.8.16\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-09-01 15:36+0800\n"
"POT-Creation-Date: 2011-09-06 17:04+0800\n"
"PO-Revision-Date: 2009-07-30 12:44+0100\n"
"Last-Translator: Rihards Priedītis <rprieditis@gmail.com>\n"
"Language-Team: Latvian <translation-team-lv@lists.sourceforge.net>\n"
"Language: lv\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-Language: Latvian\n"
"X-Poedit-Country: LATVIA\n"
@ -144,6 +144,10 @@ msgstr "Uz GTK+ balstīts vienkāršā teksta redaktors"
msgid "translator-credits"
msgstr "Arvis Lācis <arvis.lacis@inbox.lv>, 2009"
#: ../src/callback.c:323
msgid "Lɜafpad"
msgstr "Lɜafpad"
#: ../src/view.c:62
#, c-format
msgid "Save changes to '%s'?"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: l3afpad-0.8.13\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-09-01 15:36+0800\n"
"POT-Creation-Date: 2011-09-06 17:04+0800\n"
"PO-Revision-Date: 2008-01-15 15:15+0100\n"
"Last-Translator: Benno Schulenberg <benno@vertaalt.nl>\n"
"Language-Team: Dutch <vertaling@vrijschrift.org>\n"
@ -145,6 +145,10 @@ msgstr ""
"Wouter Van Hemel <wouter-oss@publica.duodecim.org>\n"
"Benno Schulenberg <benno@vertaalt.nl>"
#: ../src/callback.c:323
msgid "Lɜafpad"
msgstr "Lɜafpad"
#: ../src/view.c:62
#, c-format
msgid "Save changes to '%s'?"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: l3afpad 0.8.16\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-09-01 15:36+0800\n"
"POT-Creation-Date: 2011-09-06 17:04+0800\n"
"PO-Revision-Date: 2009-07-03 13:59+0100\n"
"Last-Translator: Eivind Ødegård <meinmycell-lists@yahoo.no>\n"
"Language-Team: Norwegian Nynorsk <i18n-nn@lister.ping.uio.no>\n"
@ -150,6 +150,10 @@ msgstr ""
"\n"
"Send feilmeldingar og kommentarar til <i18n-nn@lister.ping.uio.no>"
#: ../src/callback.c:323
msgid "Lɜafpad"
msgstr "Lɜafpad"
#: ../src/view.c:62
#, c-format
msgid "Save changes to '%s'?"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: l3afpad 0.8.16\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-09-01 15:36+0800\n"
"POT-Creation-Date: 2011-09-06 17:04+0800\n"
"PO-Revision-Date: 2009-06-24 21:36+0100\n"
"Last-Translator: Michał Trzebiatowski <hippie_1968@hotmail.com>\n"
"Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
@ -175,6 +175,10 @@ msgstr "Prosty edytor tekstowy oparty na GTK+"
msgid "translator-credits"
msgstr "Michał Trzebiatowski <hippie_1968@hotmail.com>"
#: ../src/callback.c:323
msgid "Lɜafpad"
msgstr "Lɜafpad"
# src/view.c:62
#: ../src/view.c:62
#, c-format

View File

@ -7,13 +7,13 @@ msgid ""
msgstr ""
"Project-Id-Version: L3afpad 0.7.9\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-09-01 15:36+0800\n"
"POT-Creation-Date: 2011-09-06 17:04+0800\n"
"PO-Revision-Date: 2004-12-28 19:56:59-0300\n"
"Last-Translator: Alan Kelon Oliveira de Moraes <alankelon@yahoo.com.br>\n"
"Language-Team: \n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: ../src/menu.c:34
@ -140,6 +140,10 @@ msgstr "Simples editor de texto feito em GTK+"
msgid "translator-credits"
msgstr "Alan Kelon <alankelon@yahoo.com.br>"
#: ../src/callback.c:323
msgid "Lɜafpad"
msgstr "Lɜafpad"
#: ../src/view.c:62
#, c-format
msgid "Save changes to '%s'?"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: l3afpad 0.8.13\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-09-01 15:36+0800\n"
"POT-Creation-Date: 2011-09-06 17:04+0800\n"
"PO-Revision-Date: 2008-05-07 17:39-0300\n"
"Last-Translator: Leslie Harlley Watter <leslie@watter.org>\n"
"Language-Team: Brazilian Portuguese <ldp-br@bazar.conectiva.com.br>\n"
@ -140,6 +140,10 @@ msgstr "Editor de texto simples feito em GTK+"
msgid "translator-credits"
msgstr "Fábio Antunes <fabio.antunes@hotmail.com>"
#: ../src/callback.c:323
msgid "Lɜafpad"
msgstr "Lɜafpad"
#: ../src/view.c:62
#, c-format
msgid "Save changes to '%s'?"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: L3afpad 0.7.4\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-09-01 15:36+0800\n"
"POT-Creation-Date: 2011-09-06 17:04+0800\n"
"PO-Revision-Date:2004-10-24 00:40+0400\n"
"Last-Translator: Artem Vakhitov <temcat@mail.ru>\n"
"Language-Team: RUSSIAN <ru@li.org>\n"
@ -140,6 +140,10 @@ msgstr "Простой текстовый редактор на основе GTK
msgid "translator-credits"
msgstr "Artem Vakhitov <temcat@mail.ru>"
#: ../src/callback.c:323
msgid "Lɜafpad"
msgstr "Lɜafpad"
#: ../src/view.c:62
#, c-format
msgid "Save changes to '%s'?"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: l3afpad 0.7.9\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-09-01 15:36+0800\n"
"POT-Creation-Date: 2011-09-06 17:04+0800\n"
"PO-Revision-Date: 2005-07-10 21:20+0100\n"
"Last-Translator: Peter Chabada <sk-i18n_chabada_sk>\n"
"Language-Team: Slovak <sk-i18n@linux.sk>\n"
@ -140,6 +140,10 @@ msgstr "Jednoduchý textový editor"
msgid "translator-credits"
msgstr "Peter Chabada"
#: ../src/callback.c:323
msgid "Lɜafpad"
msgstr "Lɜafpad"
#: ../src/view.c:62
#, c-format
msgid "Save changes to '%s'?"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: l3afpad-0.8.13\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-09-01 15:36+0800\n"
"POT-Creation-Date: 2011-09-06 17:04+0800\n"
"PO-Revision-Date: 2009-04-28 22:31+0100\n"
"Last-Translator: Alan Pepelko <alan.pepelko@gmail.com>\n"
"Language-Team: Slovenian <translation-team-sl@lists.sourceforge.net>\n"
@ -146,6 +146,10 @@ msgstr "Preprost urejevalnik besedila temelječ na GTK+"
msgid "translator-credits"
msgstr "Alan Pepelko <alan.pepelko@gmail.com>"
#: ../src/callback.c:323
msgid "Lɜafpad"
msgstr "Lɜafpad"
#: ../src/view.c:62
#, c-format
msgid "Save changes to '%s'?"

View File

@ -7,13 +7,13 @@ msgid ""
msgstr ""
"Project-Id-Version: l3afpad 0.8.16\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-09-01 15:36+0800\n"
"POT-Creation-Date: 2011-09-06 17:04+0800\n"
"PO-Revision-Date: 2009-08-31 12:59+0100\n"
"Last-Translator: Jay A. Fleming <tito.nehru.naser@gmail.com>\n"
"Language-Team: Serbian <gnu@prevod.org>\n"
"Language: sr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
@ -142,6 +142,10 @@ msgstr "Једноставан GTK+ заснован уређивач текст
msgid "translator-credits"
msgstr "Serbian (sr) — Jay A. Fleming <tito.nehru.naser@gmail.com>"
#: ../src/callback.c:323
msgid "Lɜafpad"
msgstr "Lɜafpad"
#: ../src/view.c:62
#, c-format
msgid "Save changes to '%s'?"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: l3afpad 0.8.4\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-09-01 15:36+0800\n"
"POT-Creation-Date: 2011-09-06 17:04+0800\n"
"PO-Revision-Date: 2005-12-05 20:30+0100\n"
"Last-Translator: Isak Savo <iso01001@student.mdh.se>\n"
"Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
@ -140,6 +140,10 @@ msgstr "Enkel GTK+-baserad textredigerare"
msgid "translator-credits"
msgstr "Isak Savo <isak.savo@gmail.com>"
#: ../src/callback.c:323
msgid "Lɜafpad"
msgstr "Lɜafpad"
#: ../src/view.c:62
#, c-format
msgid "Save changes to '%s'?"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: l3afpad 0.7.7\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-09-01 15:36+0800\n"
"POT-Creation-Date: 2011-09-06 17:04+0800\n"
"PO-Revision-Date: 2004-11-25 03:24-0700\n"
"Last-Translator: Vijay Durairaj <vjd81@yahoo.com>\n"
"Language-Team: Tamil <tamilinix@yahoogroups.com>\n"
@ -140,6 +140,10 @@ msgstr "GTK+ சார்ந்த ஒரு எளிமையான உரை
msgid "translator-credits"
msgstr ""
#: ../src/callback.c:323
msgid "Lɜafpad"
msgstr "Lɜafpad"
#: ../src/view.c:62
#, c-format
msgid "Save changes to '%s'?"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: tr\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-09-01 15:36+0800\n"
"POT-Creation-Date: 2011-09-06 17:04+0800\n"
"PO-Revision-Date: 2005-08-05 17:26+0300\n"
"Last-Translator: kaya oğuz <kaya@kuzeykutbu.org>\n"
"Language-Team: Türkçe <yerellestirme@kde.org.tr>\n"
@ -142,6 +142,10 @@ msgstr "GTK+ tabanlı basit metin düzenleyicisi"
msgid "translator-credits"
msgstr "Kaya Oğuz <kaya@kuzeykutbu.org>"
#: ../src/callback.c:323
msgid "Lɜafpad"
msgstr "Lɜafpad"
#: ../src/view.c:62
#, c-format
msgid "Save changes to '%s'?"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: l3afpad 0.8.9\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-09-01 15:36+0800\n"
"POT-Creation-Date: 2011-09-06 17:04+0800\n"
"PO-Revision-Date: 2007-03-13 11:38+0300\n"
"Last-Translator: Youri Bulka <jblk@icmail.net>\n"
"Language-Team: Ukrainian <translation-team-uk@lists.sourceforge.net>\n"
@ -143,6 +143,10 @@ msgstr "Простий текстовий редактор, базований
msgid "translator-credits"
msgstr "Перекладачі"
#: ../src/callback.c:323
msgid "Lɜafpad"
msgstr "Lɜafpad"
#: ../src/view.c:62
#, c-format
msgid "Save changes to '%s'?"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: l3afpad 0.8.16\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-09-01 15:36+0800\n"
"POT-Creation-Date: 2011-09-06 17:04+0800\n"
"PO-Revision-Date: 2009-09-19 18:32+0930\n"
"Last-Translator: Clytie Siddall <clytie@riverland.net.au>\n"
"Language-Team: Vietnamese <vi-VN@googlegroups.com>\n"
@ -143,6 +143,10 @@ msgstr "Một trình soạn thảo văn bản đơn giản dựa trên GTK+"
msgid "translator-credits"
msgstr "Nhóm Việt hoá Phần mềm Tự do <vi-VN@googlegroups.com>"
#: ../src/callback.c:323
msgid "Lɜafpad"
msgstr "Lɜafpad"
#: ../src/view.c:62
#, c-format
msgid "Save changes to '%s'?"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: l3afpad 0.8.13\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-09-01 15:36+0800\n"
"POT-Creation-Date: 2011-09-06 17:04+0800\n"
"PO-Revision-Date: 2008-01-26 10:12+0800\n"
"Last-Translator: LI Daobing <lidaobing@gmail.com>\n"
"Language-Team: Chinese (simplified) <translation-team-zh-cn@lists."
@ -143,6 +143,10 @@ msgstr ""
"Carlos Z.F. Liu <carlos_liu@yahoo.com>\n"
"LI Daobing <lidaobing@gmail.com>"
#: ../src/callback.c:323
msgid "Lɜafpad"
msgstr "Lɜafpad"
#: ../src/view.c:62
#, c-format
msgid "Save changes to '%s'?"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: l3afpad 0.8.13\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-09-01 15:36+0800\n"
"POT-Creation-Date: 2011-09-06 17:04+0800\n"
"PO-Revision-Date: 2008-03-20 20:21+0800\n"
"Last-Translator: Wei-Lun Chao <chaoweilun@gmail.com>\n"
"Language-Team: Chinese (traditional) <zh-l10n@linux.org.tw>\n"
@ -144,6 +144,10 @@ msgstr ""
"OLS3 <ols3@lxer.idv.tw>\n"
"趙惟倫 <chaoweilun@gmail.com>"
#: ../src/callback.c:323
msgid "Lɜafpad"
msgstr "Lɜafpad"
#: ../src/view.c:62
#, c-format
msgid "Save changes to '%s'?"

View File

@ -39,7 +39,7 @@ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =

View File

@ -1,7 +1,7 @@
/*
* L3afpad - GTK+ based simple text editor
* Copyright (C) 2004-2005 Tarot Osuji
*
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
@ -25,7 +25,7 @@
static void set_selection_bound(GtkTextBuffer *buffer, gint start, gint end)
{
GtkTextIter start_iter, end_iter;
gtk_text_buffer_get_iter_at_offset(buffer, &start_iter, start);
if (end < 0)
gtk_text_buffer_get_end_iter(buffer, &end_iter);
@ -56,7 +56,7 @@ void on_file_open(void)
FileInfo *fi;
gchar *comline;
gchar *option = NULL;
fi = get_fileinfo_from_selector(pub->fi, OPEN);
if (fi) {
save_config_file();
@ -73,7 +73,7 @@ void on_file_open(void)
#else
{
FileInfo *fi;
if (check_text_modification())
return;
fi = get_fileinfo_from_selector(pub->fi, OPEN);
@ -109,7 +109,7 @@ gint on_file_save(void)
gint on_file_save_as(void)
{
FileInfo *fi;
fi = get_fileinfo_from_selector(pub->fi, SAVE);
if (fi == NULL)
return -1;
@ -125,7 +125,7 @@ gint on_file_save_as(void)
// undo_init(sd->mainwin->textview, sd->mainwin->textbuffer, sd->mainwin->menubar);
return 0;
}
#ifdef ENABLE_PRINT
#if ENABLE_PRINT
void on_file_print_preview(void)
{
create_gtkprint_preview_session(GTK_TEXT_VIEW(pub->mw->view),
@ -214,7 +214,7 @@ static void activate_quick_find(void)
{
GtkItemFactory *ifactory;
static gboolean flag = FALSE;
if (!flag) {
ifactory = gtk_item_factory_from_widget(pub->mw->menubar);
gtk_widget_set_sensitive(
@ -263,7 +263,7 @@ void on_option_word_wrap(void)
{
GtkItemFactory *ifactory;
gboolean state;
ifactory = gtk_item_factory_from_widget(pub->mw->menubar);
state = gtk_check_menu_item_get_active(
GTK_CHECK_MENU_ITEM(gtk_item_factory_get_item(ifactory, "/M/Options/WordWrap")));
@ -275,7 +275,7 @@ void on_option_line_numbers(void)
{
GtkItemFactory *ifactory;
gboolean state;
ifactory = gtk_item_factory_from_widget(pub->mw->menubar);
state = gtk_check_menu_item_get_active(
GTK_CHECK_MENU_ITEM(gtk_item_factory_get_item(ifactory, "/M/Options/LineNumbers")));
@ -285,7 +285,7 @@ void on_option_line_numbers(void)
void on_option_always_on_top(void)
{
static gboolean flag = FALSE;
flag =! flag;
gtk_window_set_keep_above(GTK_WINDOW(pub->mw->window), flag);
}
@ -294,7 +294,7 @@ void on_option_auto_indent(void)
{
GtkItemFactory *ifactory;
gboolean state;
ifactory = gtk_item_factory_from_widget(pub->mw->menubar);
state = gtk_check_menu_item_get_active(
GTK_CHECK_MENU_ITEM(gtk_item_factory_get_item(ifactory, "/M/Options/AutoIndent")));
@ -311,16 +311,16 @@ void on_help_about(void)
NULL
};
const gchar *translator_credits = _("translator-credits");
translator_credits = strcmp(translator_credits, "translator-credits")
? translator_credits : NULL;
const gchar *artists[] = {
"Lapo Calamandrei <calamandrei@gmail.com>",
NULL
};
gtk_show_about_dialog(GTK_WINDOW(pub->mw->window),
"program-name", "Lɜafpad",
"program-name", _("Lɜafpad"),
"version", PACKAGE_VERSION,
"copyright", copyright,
"comments", comments,

View File

@ -1,7 +1,7 @@
/*
* L3afpad - GTK+ based simple text editor
* Copyright (C) 2004-2005 Tarot Osuji
*
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or

View File

@ -1,7 +1,7 @@
/*
* L3afpad - GTK+ based simple text editor
* Copyright (C) 2004-2005 Tarot Osuji
*
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
@ -27,11 +27,11 @@ void run_dialog_message(GtkWidget *window,
va_list ap;
GtkWidget *dialog;
gchar *str;
va_start(ap, message);
str = g_strdup_vprintf(message, ap);
va_end(ap);
dialog = gtk_message_dialog_new(GTK_WINDOW(window),
GTK_DIALOG_DESTROY_WITH_PARENT,
type,
@ -42,7 +42,7 @@ void run_dialog_message(GtkWidget *window,
GTK_STOCK_OK, GTK_RESPONSE_CANCEL, NULL);
gtk_dialog_set_default_response(GTK_DIALOG(dialog), GTK_RESPONSE_CANCEL);
g_free(str);
gtk_dialog_run(GTK_DIALOG(dialog));
gtk_widget_destroy(dialog);
}
@ -52,11 +52,11 @@ GtkWidget *create_dialog_message_question(GtkWidget *window, gchar *message, ...
va_list ap;
GtkWidget *dialog;
gchar *str;
va_start(ap, message);
str = g_strdup_vprintf(message, ap);
va_end(ap);
dialog = gtk_message_dialog_new(GTK_WINDOW(window),
GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_QUESTION,
@ -70,7 +70,7 @@ GtkWidget *create_dialog_message_question(GtkWidget *window, gchar *message, ...
NULL);
gtk_dialog_set_default_response(GTK_DIALOG(dialog), GTK_RESPONSE_YES);
g_free(str);
return dialog;
}
@ -80,16 +80,16 @@ gint run_dialog_message_question(GtkWidget *window, gchar *message, ...)
GtkWidget *dialog;
gchar *str;
gint res;
va_start(ap, message);
str = g_strdup_vprintf(message, ap);
va_end(ap);
dialog = create_dialog_message_question(window, str);
g_free(str);
res = gtk_dialog_run(GTK_DIALOG(dialog));
gtk_widget_destroy(dialog);
return res;
}

View File

@ -1,7 +1,7 @@
/*
* L3afpad - GTK+ based simple text editor
* Copyright (C) 2004-2005 Tarot Osuji
*
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or

View File

@ -1,7 +1,7 @@
/*
* L3afpad - GTK+ based simple text editor
* Copyright (C) 2004-2006 Tarot Osuji
*
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
@ -65,7 +65,7 @@ void dnd_init(GtkWidget *widget)
static void dnd_open_first_file(gchar *filename)
{
FileInfo *fi;
if (check_text_modification())
return;
fi = g_malloc(sizeof(FileInfo));
@ -82,7 +82,7 @@ static void dnd_open_first_file(gchar *filename)
set_main_window_title();
// undo_init(sd->mainwin->textview, sd->mainwin->textbuffer, sd->mainwin->menubar);
}
}
}
#endif
#if 0
@ -101,9 +101,9 @@ static void dnd_drag_data_recieved_handler(GtkWidget *widget,
j = 1;
#endif
DV(g_print("DND start!\n"));
#if 0
if (g_strcasecmp(gdk_atom_name(context->targets->data),
if (g_ascii_strcasecmp(gdk_atom_name(context->targets->data),
"GTK_TEXT_BUFFER_CONTENTS") != 0) {
#endif
if (flag_called_once) {
@ -114,8 +114,8 @@ DV(g_print("second drop signal killed.\n"));
} else
flag_called_once = TRUE;
}
DV({
DV({
g_print("info = %d\n", info);
g_print("time = %d\n", time);
g_print("context->protocol = %d\n", context->protocol);
@ -133,8 +133,8 @@ DV({
g_print("selection_data->format = %d\n", selection_data->format);
g_print("selection_data->length = %d\n", selection_data->length);
g_print("%s\n", selection_data->data);
});
});
if (selection_data->data && info == TARGET_URI_LIST) {
files = g_strsplit((gchar *)selection_data->data, "\n" , -1);
while (files[i]) {
@ -169,13 +169,13 @@ DV(g_print(">%s\n", comline));
if (info == TARGET_UTF8_STRING) {
undo_set_sequency_reserve();
context->action = GDK_ACTION_MOVE;
} else if (info == TARGET_PLAIN
} else if (info == TARGET_PLAIN
&& g_utf8_validate((gchar *)selection_data->data, -1, NULL)) {
selection_data->type =
gdk_atom_intern("UTF8_STRING", FALSE);
}
}
return;
}
@ -185,7 +185,7 @@ static gboolean dnd_drag_motion_handler(GtkWidget *widget,
GList *targets;
gchar *name;
gboolean flag = FALSE;
targets = context->targets;
while (targets) {
name = gdk_atom_name(targets->data);
@ -200,11 +200,11 @@ DV(g_print("%s\n", name));
else
context->action = GDK_ACTION_COPY;
// g_signal_stop_emission_by_name(widget, "drag_motion");
*/
*/
/* if (!flag) {
gint bx, by;
GtkTextIter iter;
gtk_text_view_window_to_buffer_coords(GTK_TEXT_VIEW(widget),
GTK_TEXT_WINDOW_WIDGET,
x, y, &bx, &by);
@ -219,7 +219,7 @@ DV(g_print("%s\n", name));
dnd_mark, &iter);
gtk_text_mark_set_visible(dnd_mark, TRUE);
}
*/
*/
return flag;
}
#endif

View File

@ -1,7 +1,7 @@
/*
* L3afpad - GTK+ based simple text editor
* Copyright (C) 2004-2005 Tarot Osuji
*
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or

View File

@ -1,7 +1,7 @@
/*
* L3afpad - GTK+ based simple text editor
* Copyright (C) 2004-2006 Tarot Osuji
*
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
@ -20,7 +20,7 @@
#include "l3afpad.h"
#include <gdk/gdkkeysyms.h>
#ifdef ENABLE_EMACS
#if ENABLE_EMACS
static void cb_key_release_event(GtkWidget *view, GdkEventKey *event)
{
@ -105,7 +105,7 @@ static void cb_key_press_event(GtkWidget *view, GdkEventKey *event)
static void emacs_key_prefix(void)
{
gulong id;
gtk_widget_set_sensitive(pub->mw->menubar, FALSE);
// gtk_text_view_set_cursor_visible(GTK_TEXT_VIEW(pub->mw->view), FALSE);
gtk_text_view_set_editable(GTK_TEXT_VIEW(pub->mw->view), FALSE);
@ -114,13 +114,13 @@ static void emacs_key_prefix(void)
G_CALLBACK(cb_key_release_event), NULL);
gtk_main();
g_signal_handler_disconnect(G_OBJECT(pub->mw->window), id);
/* waiting for input sequence */
id = g_signal_connect(G_OBJECT(pub->mw->window), "key-press-event",
G_CALLBACK(cb_key_press_event), NULL);
gtk_main();
g_signal_handler_disconnect(G_OBJECT(pub->mw->window), id);
gtk_text_view_set_editable(GTK_TEXT_VIEW(pub->mw->view), TRUE);
// gtk_text_view_set_cursor_visible(GTK_TEXT_VIEW(pub->mw->view), TRUE);
gtk_widget_set_sensitive(pub->mw->menubar, TRUE);
@ -133,7 +133,7 @@ gboolean check_emacs_key_theme(GtkWindow *window, GtkItemFactory *ifactory)
gchar *key_theme = NULL;
gboolean emacs_flag = FALSE;
GtkSettings *settings = gtk_settings_get_default();
g_object_get(settings, "gtk-key-theme-name", &key_theme, NULL);
if (key_theme) {
if (!g_ascii_strcasecmp(key_theme, "Emacs"))
@ -142,7 +142,7 @@ gboolean check_emacs_key_theme(GtkWindow *window, GtkItemFactory *ifactory)
}
if (!emacs_flag)
return FALSE;
groups = gtk_accel_groups_from_object(G_OBJECT(window));
accel_group = groups->data;
if (accel_group) {
@ -150,14 +150,14 @@ gboolean check_emacs_key_theme(GtkWindow *window, GtkItemFactory *ifactory)
g_object_unref(accel_group);
}
accel_group = gtk_accel_group_new();
gtk_rc_parse_string (
"binding \"gtk-emacs-text-entry\""
"{\n"
"bind \"<ctrl>w\" { \"cut-clipboard\" () }"
"}\n"
);
/* gtk_widget_remove_accelerator(
gtk_item_factory_get_widget(ifactory, "/M/File/New"),
accel_group, GDK_N, GDK_CONTROL_MASK);
@ -170,7 +170,7 @@ gboolean check_emacs_key_theme(GtkWindow *window, GtkItemFactory *ifactory)
gtk_widget_remove_accelerator(
gtk_item_factory_get_widget(ifactory, "/M/File/SaveAs"),
accel_group, GDK_S, GDK_SHIFT_MASK | GDK_CONTROL_MASK);
#ifdef ENABLE_PRINT
#if ENABLE_PRINT
gtk_widget_remove_accelerator(
gtk_item_factory_get_widget(ifactory, "/M/File/Print"),
accel_group, GDK_P, GDK_CONTROL_MASK);
@ -208,13 +208,13 @@ gboolean check_emacs_key_theme(GtkWindow *window, GtkItemFactory *ifactory)
*/ gtk_widget_add_accelerator(
gtk_item_factory_get_widget(ifactory, "/M/Search/JumpTo"),
"activate", accel_group, GDK_G, GDK_MOD1_MASK, GTK_ACCEL_VISIBLE);
gtk_accel_group_connect(
accel_group, GDK_X, GDK_CONTROL_MASK, 0,
g_cclosure_new_swap(G_CALLBACK(emacs_key_prefix), NULL, NULL));
gtk_window_add_accel_group(GTK_WINDOW(window), accel_group);
return TRUE;
}

View File

@ -1,7 +1,7 @@
/*
* L3afpad - GTK+ based simple text editor
* Copyright (C) 2004-2006 Tarot Osuji
*
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or

View File

@ -1,7 +1,7 @@
/*
* L3afpad - GTK+ based simple text editor
* Copyright (C) 2004-2005 Tarot Osuji
*
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
@ -98,7 +98,7 @@ guint get_encoding_code(void)
static guint code = END_CODE;
const gchar *env;
guint i, j = 1;
if (code == END_CODE) {
env = g_getenv("LC_ALL");
if (!env)
@ -118,7 +118,7 @@ guint get_encoding_code(void)
if (code == END_CODE)
code = 0;
}
return code;
}
@ -126,23 +126,23 @@ EncArray *get_encoding_items(guint code)
{
gint i;
static EncArray *array = NULL;
if (!array) {
array = g_malloc(sizeof(EncArray));
for (i = 0; i < ENCODING_MAX_ITEM_NUM; i++)
array->item[i] = encoding_table[code][i] ?
encoding_table[code][i] : NULL;
}
return array;
}
const gchar *get_default_charset(void)
{
const gchar *charset;
g_get_charset(&charset);
return charset;
}
@ -154,7 +154,7 @@ http://examples.oreilly.com/cjkvinfo/Ch7/DetectCodeType.c
void convert_line_ending_to_lf(gchar *text)
{
gint i, j;
for (i = 0, j = 0; TRUE; i++, j++) {
if (*(text + i) == CR) {
*(text + j) = LF;
@ -173,7 +173,7 @@ void convert_line_ending(gchar **text, gint retcode)
gchar *buf, *str = *text;
const gint len = strlen(str);
gint i, j, LFNum = 0;
switch (retcode) {
case CR:
while (*str != '\0') {
@ -222,9 +222,9 @@ static const gchar *detect_charset_cylillic(const gchar *text)
guint8 c = *text;
gboolean noniso = FALSE;
guint32 xc = 0, xd = 0, xef = 0;
const gchar *charset = get_encoding_items(get_encoding_code())->item[OPENI18N];
while ((c = *text++) != '\0') {
if (c >= 0x80 && c <= 0x9F)
noniso = TRUE;
@ -235,21 +235,21 @@ static const gchar *detect_charset_cylillic(const gchar *text)
else if (c >= 0xE0)
xef++;
}
if (!noniso && ((xc + xef) < xd))
charset = "ISO-8859-5";
else if ((xc + xd) < xef)
charset = "CP1251";
return charset;
}
static const gchar *detect_charset_chinese(const gchar *text)
{
guint8 c = *text;
const gchar *charset = get_encoding_items(get_encoding_code())->item[IANA];
while ((c = *text++) != '\0') {
if (c >= 0x81 && c <= 0x87) {
charset = "GB18030";
@ -279,7 +279,7 @@ static const gchar *detect_charset_chinese(const gchar *text)
}
}
}
return charset;
}
@ -287,7 +287,7 @@ static const gchar *detect_charset_japanese(const gchar *text)
{
guint8 c = *text;
gchar *charset = NULL;
while (charset == NULL && (c = *text++) != '\0') {
if (c >= 0x81 && c <= 0x9F) {
if (c == 0x8E) /* SS2 */ {
@ -322,10 +322,10 @@ static const gchar *detect_charset_japanese(const gchar *text)
else if (c >= 0xF0)
break;
}
if (charset == NULL)
charset = "EUC-JP";
return charset;
}
@ -335,7 +335,7 @@ static const gchar *detect_charset_korean(const gchar *text)
gboolean noneuc = FALSE;
gboolean nonjohab = FALSE;
gchar *charset = NULL;
while (charset == NULL && (c = *text++) != '\0') {
if (c >= 0x81 && c < 0x84) {
charset = "CP949";
@ -380,21 +380,21 @@ static const gchar *detect_charset_korean(const gchar *text)
if (noneuc && nonjohab)
charset = "CP949";
}
if (charset == NULL) {
if (noneuc)
charset = "CP949";
else
charset = "EUC-KR";
}
return charset;
}
static gboolean detect_noniso(const gchar *text)
{
guint8 c = *text;
while ((c = *text++) != '\0') {
if (c >= 0x80 && c <= 0x9F)
return TRUE;
@ -406,7 +406,7 @@ const gchar *detect_charset(const gchar *text)
{
guint8 c = *text;
const gchar *charset = NULL;
if (g_utf8_validate(text, -1, NULL)) {
while ((c = *text++) != '\0') {
if (c > 0x7F) {
@ -445,7 +445,7 @@ const gchar *detect_charset(const gchar *text)
if (!charset)
charset = get_default_charset();
}
if (!charset) {
switch (get_encoding_code()) {
case LATINC:
@ -477,9 +477,9 @@ const gchar *detect_charset(const gchar *text)
else
charset = get_encoding_items(get_encoding_code())->item[OPENI18N];
if (!charset)
charset = get_encoding_items(get_encoding_code())->item[IANA];
charset = get_encoding_items(get_encoding_code())->item[IANA];
}
}
return charset;
}

View File

@ -1,7 +1,7 @@
/*
* L3afpad - GTK+ based simple text editor
* Copyright (C) 2004-2005 Tarot Osuji
*
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or

View File

@ -1,7 +1,7 @@
/*
* L3afpad - GTK+ based simple text editor
* Copyright (C) 2004-2005 Tarot Osuji
*
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
@ -31,7 +31,7 @@
gboolean check_file_writable(gchar *filename)
{
FILE *fp;
if ((fp = fopen(filename, "a")) != NULL) {
fclose(fp);
return TRUE;
@ -44,7 +44,7 @@ gchar *get_file_basename(gchar *filename, gboolean bracket)
gchar *basename = NULL;
gchar *tmp;
gboolean exist_flag;
if (filename) {
tmp = g_path_get_basename(
g_filename_to_utf8(filename, -1, NULL, NULL, NULL));
@ -55,7 +55,7 @@ gchar *get_file_basename(gchar *filename, gboolean bracket)
tmp = g_strdup(_("Untitled"));
exist_flag = FALSE;
}
if (bracket) {
if (!exist_flag) {
GString *string = g_string_new(tmp);
@ -71,11 +71,11 @@ gchar *get_file_basename(gchar *filename, gboolean bracket)
g_string_free(string, TRUE);
}
}
if (!basename)
basename = g_strdup(tmp);
g_free(tmp);
return basename;
}
@ -83,7 +83,7 @@ gchar *parse_file_uri(gchar *uri)
{
gchar *filename;
// gchar **strs;
if (g_strstr_len(uri, 5, "file:"))
filename = g_filename_from_uri(uri, NULL, NULL);
else {
@ -98,7 +98,7 @@ gchar *parse_file_uri(gchar *uri)
filename = g_strjoinv("\\ ", strs);
g_strfreev(strs);
}
*/
*/
return filename;
}
@ -110,9 +110,9 @@ gint file_open_real(GtkWidget *view, FileInfo *fi)
const gchar *charset;
gchar *str = NULL;
GtkTextIter iter;
GtkTextBuffer *buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(view));
if (!g_file_get_contents(fi->filename, &contents, &length, &err)) {
if (g_file_test(fi->filename, G_FILE_TEST_EXISTS)) {
run_dialog_message(gtk_widget_get_toplevel(view),
@ -124,11 +124,11 @@ gint file_open_real(GtkWidget *view, FileInfo *fi)
err = NULL;
contents = g_strdup("");
}
fi->lineend = detect_line_ending(contents);
if (fi->lineend != LF)
convert_line_ending_to_lf(contents);
if (fi->charset)
charset = fi->charset;
else {
@ -149,18 +149,18 @@ gint file_open_real(GtkWidget *view, FileInfo *fi)
else
str = g_strdup("");
g_free(contents);
if (charset != fi->charset) {
g_free(fi->charset);
fi->charset = g_strdup(charset);
if (fi->charset_flag)
fi->charset_flag = FALSE;
}
// undo_disconnect_signal(textbuffer);
// undo_block_signal(buffer);
force_block_cb_modified_changed(view);
gtk_text_buffer_set_text(buffer, "", 0);
gtk_text_buffer_get_start_iter(buffer, &iter);
gtk_text_buffer_insert(buffer, &iter, str, strlen(str));
@ -169,11 +169,11 @@ gint file_open_real(GtkWidget *view, FileInfo *fi)
gtk_text_buffer_set_modified(buffer, FALSE);
gtk_text_view_scroll_to_iter(GTK_TEXT_VIEW(view), &iter, 0, FALSE, 0, 0);
g_free(str);
force_unblock_cb_modified_changed(view);
menu_sensitivity_from_modified_flag(FALSE);
// undo_unblock_signal(buffer);
return 0;
}
@ -184,13 +184,13 @@ gint file_save_real(GtkWidget *view, FileInfo *fi)
gchar *str, *cstr;
gsize rbytes, wbytes;
GError *err = NULL;
GtkTextBuffer *buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(view));
gtk_text_buffer_get_start_iter(buffer, &start);
gtk_text_buffer_get_end_iter(buffer, &end);
gtk_text_buffer_get_end_iter(buffer, &end);
str = gtk_text_buffer_get_text(buffer, &start, &end, FALSE);
switch (fi->lineend) {
case CR:
convert_line_ending(&str, CR);
@ -198,7 +198,7 @@ gint file_save_real(GtkWidget *view, FileInfo *fi)
case CR+LF:
convert_line_ending(&str, CR+LF);
}
if (!fi->charset)
fi->charset = g_strdup(get_default_charset());
cstr = g_convert(str, -1, fi->charset, "UTF-8", &rbytes, &wbytes, &err);
@ -216,7 +216,7 @@ gint file_save_real(GtkWidget *view, FileInfo *fi)
g_error_free(err);
return -1;
}
fp = fopen(fi->filename, "w");
if (!fp) {
run_dialog_message(gtk_widget_get_toplevel(view),
@ -228,10 +228,10 @@ gint file_save_real(GtkWidget *view, FileInfo *fi)
GTK_MESSAGE_ERROR, _("Can't write file"));
return -1;
}
gtk_text_buffer_set_modified(buffer, FALSE);
fclose(fp);
g_free(cstr);
return 0;
}

View File

@ -1,7 +1,7 @@
/*
* L3afpad - GTK+ based simple text editor
* Copyright (C) 2004-2005 Tarot Osuji
*
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or

View File

@ -1,7 +1,7 @@
/*
* L3afpad - GTK+ based simple text editor
* Copyright (C) 2004-2005 Tarot Osuji
*
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
@ -22,7 +22,7 @@
void set_text_font_by_name(GtkWidget *widget, gchar *fontname)
{
PangoFontDescription *font_desc;
font_desc = pango_font_description_from_string(fontname);
gtk_widget_modify_font(widget, font_desc);
pango_font_description_free(font_desc);
@ -31,7 +31,7 @@ void set_text_font_by_name(GtkWidget *widget, gchar *fontname)
gchar *get_font_name_from_widget(GtkWidget *widget) /* MUST BE FREED */
{
GtkStyle *style;
style = gtk_widget_get_style(widget);
return pango_font_description_to_string(style->font_desc);
}
@ -40,7 +40,7 @@ static gchar *get_font_name_by_selector(GtkWidget *window, gchar *current_fontna
{
GtkWidget *dialog;
gchar *fontname;
dialog = gtk_font_selection_dialog_new(_("Font"));
gtk_window_set_transient_for(GTK_WINDOW(dialog), GTK_WINDOW(window));
gtk_font_selection_dialog_set_font_name(GTK_FONT_SELECTION_DIALOG(dialog), current_fontname);
@ -49,14 +49,14 @@ static gchar *get_font_name_by_selector(GtkWidget *window, gchar *current_fontna
else
fontname = NULL;
gtk_widget_destroy(dialog);
return fontname;
}
void change_text_font_by_selector(GtkWidget *widget)
{
gchar *current_fontname, *fontname;
current_fontname = get_font_name_from_widget(widget);
fontname = get_font_name_by_selector(
gtk_widget_get_toplevel(widget), current_fontname);
@ -64,7 +64,7 @@ void change_text_font_by_selector(GtkWidget *widget)
set_text_font_by_name(widget, fontname);
indent_refresh_tab_width(widget);
}
g_free(fontname);
g_free(current_fontname);
}

View File

@ -1,7 +1,7 @@
/*
* L3afpad - GTK+ based simple text editor
* Copyright (C) 2004-2005 Tarot Osuji
*
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or

View File

@ -1,7 +1,7 @@
/*
* L3afpad - GTK+ based simple text editor
* Copyright (C) 2004-2007 Tarot Osuji
*
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
@ -31,7 +31,7 @@ static void get_tab_array(PangoTabArray **tabs,
{
gint xft_dpi, loc;
GtkSettings *settings = gtk_settings_get_default();
g_object_get(settings, "gtk-xft-dpi", &xft_dpi, NULL);
if ((*tabs = gtk_text_view_get_tabs(text_view))) {
pango_tab_array_get_tab(*tabs, 0, NULL, &loc);
@ -48,10 +48,10 @@ static void cb_begin_print(GtkPrintOperation *op,
GtkTextIter start, end;
GtkTextBuffer *buffer = gtk_text_view_get_buffer(data);
PangoTabArray *tabs;
gtk_text_buffer_get_bounds(buffer, &start, &end);
text = g_strchomp(gtk_text_buffer_get_text(buffer, &start, &end, FALSE));
page_width = gtk_print_context_get_width(ctx);
page_height = gtk_print_context_get_height(ctx);
font_desc = gtk_style_context_get_font(gtk_widget_get_style_context(data), GTK_STATE_FLAG_NORMAL);
@ -59,21 +59,21 @@ static void cb_begin_print(GtkPrintOperation *op,
pango_layout_set_width(layout, page_width * PANGO_SCALE);
pango_layout_set_font_description(layout, font_desc);
pango_layout_set_text(layout, text, -1);
get_tab_array(&tabs, ctx, data);
if (tabs) {
pango_layout_set_tabs(layout, tabs);
pango_tab_array_free(tabs);
}
pango_layout_get_size(layout, NULL, &layout_height);
line_count = pango_layout_get_line_count(layout);
text_height = pango_font_description_get_size(font_desc) / PANGO_SCALE;
lines_per_page = page_height / text_height;
n_pages = (line_count - 1) / lines_per_page + 1;
gtk_print_operation_set_n_pages(op, n_pages);
g_free(text);
}
@ -83,19 +83,19 @@ static void cb_draw_page(GtkPrintOperation *op,
cairo_t *cr;
PangoLayoutLine *line;
gint n_line, i, j = 0;
PangoLayout *layout_lh, *layout_rh;
gchar *page_text;
gint layout_width;
cr = gtk_print_context_get_cairo_context(ctx);
layout_lh = gtk_print_context_create_pango_layout(ctx);
pango_layout_set_font_description(layout_lh, font_desc);
pango_layout_set_text(layout_lh, page_title, -1);
cairo_move_to(cr, 0, - 72 / 25.4 * 10);
pango_cairo_show_layout(cr, layout_lh);
page_text = g_strdup_printf("%d / %d", page_nr + 1, n_pages);
layout_rh = gtk_print_context_create_pango_layout(ctx);
pango_layout_set_font_description(layout_rh, font_desc);
@ -106,18 +106,18 @@ static void cb_draw_page(GtkPrintOperation *op,
page_width - layout_width / PANGO_SCALE, - 72 / 25.4 * 10);
pango_cairo_show_layout(cr, layout_rh);
g_free(page_text);
if (line_count > lines_per_page * (page_nr + 1))
n_line = lines_per_page * (page_nr + 1);
else
n_line = line_count;
for (i = lines_per_page * page_nr; i < n_line; i++) {
line = pango_layout_get_line(layout, i);
cairo_move_to(cr, 0, text_height * (j + 1));
pango_cairo_show_layout_line(cr, line);
j++;
}
}
}
static void cb_end_print(GtkPrintOperation *op,
@ -132,12 +132,12 @@ static GtkPrintOperation *create_print_operation(GtkTextView *text_view)
{
GtkPrintOperation *op;
static GtkPageSetup *page_setup = NULL;
op = gtk_print_operation_new();
if (settings)
gtk_print_operation_set_print_settings(op, settings);
if (!page_setup) {
page_setup = gtk_page_setup_new();
gtk_page_setup_set_top_margin(page_setup, 25.0, GTK_UNIT_MM);
@ -146,18 +146,18 @@ static GtkPrintOperation *create_print_operation(GtkTextView *text_view)
gtk_page_setup_set_right_margin(page_setup, 20.0, GTK_UNIT_MM);
}
gtk_print_operation_set_default_page_setup(op, page_setup);
g_signal_connect(op, "begin-print", G_CALLBACK(cb_begin_print), text_view);
g_signal_connect(op, "draw-page", G_CALLBACK(cb_draw_page), NULL);
g_signal_connect(op, "end-print", G_CALLBACK(cb_end_print), NULL);
return op;
}
static void create_error_dialog(GtkTextView *text_view, gchar *message)
{
GtkWidget *dialog;
dialog = gtk_message_dialog_new(
GTK_WINDOW(gtk_widget_get_toplevel(GTK_WIDGET(text_view))),
GTK_DIALOG_DESTROY_WITH_PARENT,
@ -177,10 +177,10 @@ void create_gtkprint_session(GtkTextView *text_view, const gchar *title)
GtkPrintOperation *op;
GtkPrintOperationResult res;
GError *err = NULL;
page_title = title;
op = create_print_operation(text_view);
res = gtk_print_operation_run(op, GTK_PRINT_OPERATION_ACTION_PRINT_DIALOG,
GTK_WINDOW(gtk_widget_get_toplevel(GTK_WIDGET(text_view))), &err);
switch (res) {
@ -194,7 +194,7 @@ void create_gtkprint_session(GtkTextView *text_view, const gchar *title)
default:
break;
}
g_object_unref(op);
}
@ -203,16 +203,16 @@ void create_gtkprint_preview_session(GtkTextView *text_view, const gchar *title)
GtkPrintOperation *op;
GtkPrintOperationResult res;
GError *err = NULL;
page_title = title;
op = create_print_operation(text_view);
res = gtk_print_operation_run(op, GTK_PRINT_OPERATION_ACTION_PREVIEW,
GTK_WINDOW(gtk_widget_get_toplevel(GTK_WIDGET(text_view))), &err);
if (res == GTK_PRINT_OPERATION_RESULT_ERROR) {
create_error_dialog(text_view, err->message);
g_error_free(err);
}
g_object_unref(op);
}

View File

@ -1,7 +1,7 @@
/*
* L3afpad - GTK+ based simple text editor
* Copyright (C) 2004-2007 Tarot Osuji
*
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or

View File

@ -1,7 +1,7 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
* gtksourceiter.h
*
* Copyright (C) 2000, 2002 Paolo Maggi
* Copyright (C) 2000, 2002 Paolo Maggi
* Copyright (C) 2002, 2003 Jeroen Zwartepoorte
*
* This library is free software; you can redistribute it and/or
@ -198,7 +198,7 @@ g_utf8_caselessnmatch (const char *s1, const char *s2,
finally_2:
g_free (normalized_s1);
g_free (normalized_s2);
g_free (normalized_s2);
return ret;
}
@ -231,7 +231,7 @@ forward_chars_with_skipping (GtkTextIter *iter,
{
/* being UTF8 correct sucks; this accounts for extra
offsets coming from canonical decompositions of
UTF8 characters (e.g. accented characters) which
UTF8 characters (e.g. accented characters) which
g_utf8_normalize() performs */
gunichar *decomp;
gsize decomp_len;
@ -512,14 +512,14 @@ strbreakup (const char *string,
* @match_start: return location for start of match, or %NULL
* @match_end: return location for end of match, or %NULL
* @limit: bound for the search, or %NULL for the end of the buffer
*
* Searches forward for @str. Any match is returned by setting
* @match_start to the first character of the match and @match_end to the
*
* Searches forward for @str. Any match is returned by setting
* @match_start to the first character of the match and @match_end to the
* first character after the match. The search will not continue past
* @limit. Note that a search is a linear or O(n) operation, so you
* may wish to use @limit to avoid locking up your UI on large
* buffers.
*
*
* If the #GTK_SOURCE_SEARCH_VISIBLE_ONLY flag is present, the match may
* have invisible text interspersed in @str. i.e. @str will be a
* possibly-noncontiguous subsequence of the matched range. similarly,
@ -532,7 +532,7 @@ strbreakup (const char *string,
*
* Same as gtk_text_iter_forward_search(), but supports case insensitive
* searching.
*
*
* Return value: whether a match was found
**/
gboolean
@ -556,7 +556,7 @@ gtk_source_iter_forward_search (const GtkTextIter *iter,
if ((flags & GTK_SOURCE_SEARCH_CASE_INSENSITIVE) == 0)
return gtk_text_iter_forward_search (iter, str, flags,
match_start, match_end,
limit);
limit);
if (limit && gtk_text_iter_compare (iter, limit) >= 0)
return FALSE;
@ -632,10 +632,10 @@ gtk_source_iter_forward_search (const GtkTextIter *iter,
* @match_start: return location for start of match, or %NULL
* @match_end: return location for end of match, or %NULL
* @limit: location of last possible @match_start, or %NULL for start of buffer
*
*
* Same as gtk_text_iter_backward_search(), but supports case insensitive
* searching.
*
*
* Return value: whether a match was found
**/
gboolean
@ -659,7 +659,7 @@ gtk_source_iter_backward_search (const GtkTextIter *iter,
if ((flags & GTK_SOURCE_SEARCH_CASE_INSENSITIVE) == 0)
return gtk_text_iter_backward_search (iter, str, flags,
match_start, match_end,
limit);
limit);
if (limit && gtk_text_iter_compare (iter, limit) <= 0)
return FALSE;

View File

@ -1,7 +1,7 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
* gtksourceiter.h
*
* Copyright (C) 2000, 2002 Paolo Maggi
* Copyright (C) 2000, 2002 Paolo Maggi
* Copyright (C) 2002, 2003 Jeroen Zwartepoorte
*
* This library is free software; you can redistribute it and/or

View File

@ -1,7 +1,7 @@
/*
* L3afpad - GTK+ based simple text editor
* Copyright (C) 2004-2005 Tarot Osuji
*
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
@ -26,7 +26,7 @@ static gboolean searched_flag = FALSE;
static void cb_changed(GtkTextBuffer *buffer)
{
GtkTextIter start, end;
gtk_text_buffer_get_bounds(buffer, &start, &end);
// gtk_text_buffer_remove_tag_by_name(buffer,
// "searched", &start, &end);
@ -39,7 +39,7 @@ static void cb_changed(GtkTextBuffer *buffer)
static void cb_paste_clipboard(void)
{
gchar *text;
text = gtk_clipboard_wait_for_text(
gtk_clipboard_get(GDK_SELECTION_CLIPBOARD));
if (text) {
@ -82,7 +82,7 @@ void hlight_init(GtkTextBuffer *buffer)
G_CALLBACK(cb_changed), NULL);
g_signal_handlers_block_by_func(G_OBJECT(buffer),
G_CALLBACK(cb_changed), NULL);
g_signal_connect(G_OBJECT(pub->mw->view), "paste-clipboard",
G_CALLBACK(cb_paste_clipboard), NULL);
}

View File

@ -1,7 +1,7 @@
/*
* L3afpad - GTK+ based simple text editor
* Copyright (C) 2004-2005 Tarot Osuji
*
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or

View File

@ -1,7 +1,7 @@
/*
* L3afpad - GTK+ based simple text editor
* Copyright (C) 2004-2005 Tarot Osuji
*
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
@ -45,7 +45,7 @@ static gchar *compute_indentation(GtkTextBuffer *buffer, GtkTextIter *iter, gint
{
GtkTextIter start_iter, end_iter;
gunichar ch;
gtk_text_buffer_get_iter_at_line(buffer, &start_iter, line);
end_iter = start_iter;
ch = gtk_text_iter_get_char(&end_iter);
@ -56,7 +56,7 @@ static gchar *compute_indentation(GtkTextBuffer *buffer, GtkTextIter *iter, gint
}
if (gtk_text_iter_equal(&start_iter, &end_iter))
return NULL;
if (iter && gtk_text_iter_compare(iter, &end_iter) < 0)
return gtk_text_iter_get_text(&start_iter, iter);
return gtk_text_iter_get_text(&start_iter, &end_iter);
@ -66,9 +66,9 @@ void indent_real(GtkWidget *text_view)
{
GtkTextIter iter;
gchar *ind, *str;
GtkTextBuffer *buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(text_view));
g_signal_emit_by_name(G_OBJECT(buffer), "begin-user-action");
gtk_text_buffer_delete_selection(buffer, TRUE, TRUE);
gtk_text_buffer_get_iter_at_mark(buffer, &iter, gtk_text_buffer_get_insert(buffer));
@ -78,7 +78,7 @@ void indent_real(GtkWidget *text_view)
g_signal_emit_by_name(G_OBJECT(buffer), "end-user-action");
g_free(str);
g_free(ind);
gtk_text_view_scroll_mark_onscreen(
GTK_TEXT_VIEW(text_view),
gtk_text_buffer_get_insert(buffer));
@ -96,7 +96,7 @@ static gint calculate_real_tab_width(GtkWidget *text_view, guint tab_size) //fro
tab_string = g_strnfill(tab_size, 0x20);
layout = gtk_widget_create_pango_layout(text_view, tab_string);
g_free (tab_string);
if (layout != NULL) {
pango_layout_get_pixel_size(layout, &tab_width, NULL);
g_object_unref(G_OBJECT(layout));
@ -109,7 +109,7 @@ static gint calculate_real_tab_width(GtkWidget *text_view, guint tab_size) //fro
void indent_refresh_tab_width(GtkWidget *text_view)
{
PangoTabArray *tab_array;
tab_array = pango_tab_array_new(1, TRUE);
pango_tab_array_set_tab(tab_array, 0, PANGO_TAB_LEFT,
calculate_real_tab_width(text_view, current_tab_width));
@ -140,7 +140,7 @@ void indent_multi_line_indent(GtkTextBuffer *buffer)
GtkTextIter start_iter, end_iter, iter;
gint start_line, end_line, i;
gboolean pos;
gtk_text_buffer_get_selection_bounds(buffer, &start_iter, &end_iter);
start_line = gtk_text_iter_get_line(&start_iter);
end_line = gtk_text_iter_get_line(&end_iter);
@ -155,7 +155,7 @@ void indent_multi_line_indent(GtkTextBuffer *buffer)
undo_set_sequency(TRUE);
}
undo_set_sequency(FALSE);
gtk_text_buffer_get_iter_at_line(buffer, &start_iter, start_line);
gtk_text_buffer_get_iter_at_line(buffer, &end_iter, end_line);
if (pos) {
@ -171,11 +171,11 @@ static gint compute_indent_offset_length(const gchar *ind)
{
guint8 c = *ind;
gint len = 1;
if (c == 0x20)
while ((len < current_tab_width) && (c = *++ind) == 0x20)
len++;
return len;
}
@ -185,7 +185,7 @@ void indent_multi_line_unindent(GtkTextBuffer *buffer)
gint start_line, end_line, i, len;
gboolean pos;
gchar *ind;
gtk_text_buffer_get_selection_bounds(buffer, &start_iter, &end_iter);
start_line = gtk_text_iter_get_line(&start_iter);
end_line = gtk_text_iter_get_line(&end_iter);
@ -210,7 +210,7 @@ void indent_multi_line_unindent(GtkTextBuffer *buffer)
i++;
} while (i < end_line);
undo_set_sequency(FALSE);
gtk_text_buffer_get_iter_at_line(buffer, &start_iter, start_line);
gtk_text_buffer_get_iter_at_line(buffer, &end_iter, end_line);
if (pos) {

View File

@ -1,7 +1,7 @@
/*
* L3afpad - GTK+ based simple text editor
* Copyright (C) 2004-2005 Tarot Osuji
*
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or

View File

@ -1,7 +1,7 @@
/*
* L3afpad - GTK+ based simple text editor
* Copyright (C) 2004-2005 Tarot Osuji
*
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
@ -27,6 +27,10 @@
#include <gtk/gtk.h>
#include <glib/gi18n.h>
#ifndef ENABLE_PRINT
#define ENABLE_PRINT 1
#endif
#include "window.h"
#include "menu.h"
#include "callback.h"
@ -44,9 +48,10 @@
#include "dnd.h"
#include "utils.h"
#include "emacs.h"
#ifdef ENABLE_PRINT
#if ENABLE_PRINT
#include "gtkprint.h"
#endif
#include <gdk/gdkkeysyms-compat.h>
#undef GTK_CHECK_MENU_ITEM
#define GTK_CHECK_MENU_ITEM
@ -55,8 +60,6 @@
#define gtk_item_factory_from_widget (GtkUIManager*)
#define gtk_item_factory_get_item(x,y) GTK_TOGGLE_ACTION(gtk_ui_manager_get_action(x,y))
#define gtk_item_factory_get_widget gtk_ui_manager_get_widget
#if GTK_CHECK_VERSION(3, 0, 0)
#include <gdk/gdkkeysyms-compat.h>
#define GTK_OPTION_MENU GTK_COMBO_BOX
#define GTK_WIDGET_IS_SENSITIVE gtk_widget_is_sensitive
#define GTK_WIDGET_VISIBLE gtk_widget_get_visible
@ -65,6 +68,17 @@
#define gtk_option_menu_new gtk_combo_box_text_new
#define gtk_option_menu_set_history gtk_combo_box_set_active
#define gtk_option_menu_set_menu(x,y)
#ifndef USE_GTK_GRID
#define gtk_orientable_set_orientation(x,y)
#define gtk_widget_set_hexpand(x,y)
#define gtk_widget_set_vexpand(x,y)
#endif
#ifdef USE_GTK_GRID
#undef GTK_BOX
#define GTK_BOX GTK_GRID
#define gtk_hbox_new(x,y) gtk_grid_new()
#define gtk_vbox_new(x,y) gtk_grid_new()
#define gtk_box_pack_start(v,w,x,y,z) gtk_container_add(GTK_CONTAINER(v),w)
#endif
#if GTK_CHECK_VERSION(3,1,12)
#undef GTK_FONT_SELECTION_DIALOG

View File

@ -1,7 +1,7 @@
/*
* L3afpad - GTK+ based simple text editor
* Copyright (C) 2004-2005 Tarot Osuji
*
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
@ -59,13 +59,13 @@ get_lines (GtkTextView *text_view,
gint size;
#endif
gint last_line_num;
g_array_set_size (buffer_coords, 0);
g_array_set_size (numbers, 0);
/* Get iter at first y */
gtk_text_view_get_line_at_y (text_view, &iter, y1, NULL);
/* For each iter, get its location and add it to the arrays.
* Stop when we pass y2
*/
@ -73,41 +73,41 @@ get_lines (GtkTextView *text_view,
#if 0
size = 0;
#endif
while (!gtk_text_iter_is_end (&iter))
{
gint y, height;
gtk_text_view_get_line_yrange (text_view, &iter, &y, &height);
g_array_append_val (buffer_coords, y);
last_line_num = gtk_text_iter_get_line (&iter);
g_array_append_val (numbers, last_line_num);
++count;
if ((y + height) >= y2)
break;
gtk_text_iter_forward_line (&iter);
}
if (gtk_text_iter_is_end (&iter))
{
gint y, height;
gint line_num;
gtk_text_view_get_line_yrange (text_view, &iter, &y, &height);
line_num = gtk_text_iter_get_line (&iter);
if (line_num != last_line_num) {
g_array_append_val (buffer_coords, y);
g_array_append_val (numbers, line_num);
++count;
}
}
*countp = count;
}
@ -132,17 +132,17 @@ line_numbers_expose (GtkWidget *widget, cairo_t *event)
cairo_t *gc;
gint height;
#endif
if (line_number_visible){{{{{ // omit calculation
text_view = GTK_TEXT_VIEW (widget);
/* See if this expose is on the line numbers window */
/* left_win = gtk_text_view_get_window (text_view,
GTK_TEXT_WINDOW_LEFT);
right_win = gtk_text_view_get_window (text_view,
GTK_TEXT_WINDOW_RIGHT);
if (event->window == left_win)
{
type = GTK_TEXT_WINDOW_LEFT;
@ -155,48 +155,48 @@ line_numbers_expose (GtkWidget *widget, cairo_t *event)
}
else
return FALSE;
*/
*/
#if 0
GdkWindow *win;
win = gtk_text_view_get_window (text_view,
GTK_TEXT_WINDOW_LEFT);
if (event->window != win)
return FALSE;
// style = gtk_style_copy (widget->style);
// style = gtk_style_copy (gtk_widget_get_default_style());
y1 = event->area.y;
y2 = y1 + event->area.height;
#endif
gtk_text_view_window_to_buffer_coords (text_view,
GTK_TEXT_WINDOW_LEFT,
0,
y1,
NULL,
&y1);
gtk_text_view_window_to_buffer_coords (text_view,
GTK_TEXT_WINDOW_LEFT,
0,
y2,
NULL,
&y2);
numbers = g_array_new (FALSE, FALSE, sizeof (gint));
pixels = g_array_new (FALSE, FALSE, sizeof (gint));
get_lines (text_view,
y1,
y2,
pixels,
numbers,
&count);
/* a zero-lined document should display a "1"; we don't need to worry about
scrolling effects of the text widget in this special case */
if (count == 0)
{
gint y = 0;
@ -205,21 +205,21 @@ line_numbers_expose (GtkWidget *widget, cairo_t *event)
g_array_append_val (pixels, y);
g_array_append_val (numbers, n);
}
DV({g_print("Painting line numbers %d - %d\n",
g_array_index(numbers, gint, 0),
g_array_index(numbers, gint, count - 1)); });
layout = gtk_widget_create_pango_layout (widget, "");
// str = g_strdup_printf ("%d", gtk_text_buffer_get_line_count(text_view->buffer));
g_snprintf (str, sizeof (str),
"%d", MAX (99, gtk_text_buffer_get_line_count(gtk_text_view_get_buffer(text_view))));
pango_layout_set_text (layout, str, -1);
// g_free (str);
pango_layout_get_pixel_size (layout, &layout_width, NULL);
min_number_window_width = calculate_min_number_window_width(widget);
if (layout_width > min_number_window_width)
gtk_text_view_set_border_window_size (text_view,
@ -231,10 +231,10 @@ DV({g_print("Painting line numbers %d - %d\n",
// }
justify_width = min_number_window_width - layout_width;
}
pango_layout_set_width (layout, layout_width);
pango_layout_set_alignment (layout, PANGO_ALIGN_RIGHT);
alist = pango_attr_list_new();
attr = pango_attr_foreground_new(
#if 1
@ -251,27 +251,27 @@ DV({g_print("Painting line numbers %d - %d\n",
pango_attr_list_insert(alist, attr);
pango_layout_set_attributes(layout, alist);
pango_attr_list_unref(alist);
/* Draw fully internationalized numbers! */
i = 0;
while (i < count)
{
gint pos;
gtk_text_view_buffer_to_window_coords (text_view,
GTK_TEXT_WINDOW_LEFT,
0,
g_array_index (pixels, gint, i),
NULL,
&pos);
// str = g_strdup_printf ("%d", g_array_index (numbers, gint, i) + 1);
g_snprintf (str, sizeof (str),
"%d", g_array_index (numbers, gint, i) + 1);
pango_layout_set_text (layout, str, -1);
gtk_paint_layout (gtk_widget_get_style(widget),
event,
gtk_widget_get_state (widget),
@ -282,20 +282,20 @@ DV({g_print("Painting line numbers %d - %d\n",
pos,
layout);
// g_free (str);
++i;
}
g_array_free (pixels, TRUE);
g_array_free (numbers, TRUE);
g_object_unref (G_OBJECT (layout));
// g_object_ref (G_OBJECT (style));
/* don't stop emission, need to draw children */
}}}}}
#if 0
gc = gdk_gc_new(event->window);
gdk_gc_set_foreground(gc, widget->style->base);
@ -305,10 +305,10 @@ DV({g_print("Painting line numbers %d - %d\n",
layout_width + justify_width + margin : 0,
0, submargin,
height);
g_object_unref(gc);
#endif
return FALSE;
}

View File

@ -1,7 +1,7 @@
/*
* L3afpad - GTK+ based simple text editor
* Copyright (C) 2004-2005 Tarot Osuji
*
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or

View File

@ -1,7 +1,7 @@
/*
* L3afpad - GTK+ based simple text editor
* Copyright (C) 2004-2005 Tarot Osuji
*
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
@ -38,7 +38,7 @@ static void load_config_file(Conf *conf)
gchar *path;
gchar buf[BUFSIZ];
gchar **num;
path = g_build_filename(g_get_user_config_dir(),
PACKAGE, PACKAGE "rc", NULL);
fp = fopen(path, "r");
@ -76,7 +76,7 @@ void save_config_file(void)
gint width, height;
gchar *fontname;
gboolean wordwrap, linenumbers, autoindent;
gtk_window_get_size(GTK_WINDOW(pub->mw->window), &width, &height);
fontname = get_font_name_from_widget(pub->mw->view);
ifactory = gtk_item_factory_from_widget(pub->mw->menubar);
@ -89,7 +89,7 @@ void save_config_file(void)
autoindent = gtk_check_menu_item_get_active(
GTK_CHECK_MENU_ITEM(gtk_item_factory_get_item(ifactory,
"/M/Options/AutoIndent")));
path = g_build_filename(g_get_user_config_dir(), PACKAGE, NULL);
if (!g_file_test(path, G_FILE_TEST_IS_DIR))
g_mkdir_with_parents(path, 0700);
@ -102,7 +102,7 @@ void save_config_file(void)
return;
}
g_free(path);
fprintf(fp, "%s\n", PACKAGE_VERSION);
fprintf(fp, "%d\n", width);
fprintf(fp, "%d\n", height);
@ -111,7 +111,7 @@ void save_config_file(void)
fprintf(fp, "%d\n", linenumbers);
fprintf(fp, "%d\n", autoindent);
fclose(fp);
g_free(fontname);
}
@ -122,13 +122,13 @@ static void parse_args(gint argc, gchar **argv, FileInfo *fi)
EncArray *encarray;
gint i;
GError *error = NULL;
GOptionContext *context;
gchar *opt_codeset = NULL;
gint opt_tab_width = 0;
gboolean opt_jump = 0;
gboolean opt_version = FALSE;
GOptionEntry entries[] =
GOptionEntry entries[] =
{
{ "codeset", 0, 0, G_OPTION_ARG_STRING, &opt_codeset, "Set codeset to open file", "CODESET" },
{ "tab-width", 0, 0, G_OPTION_ARG_INT, &opt_tab_width, "Set tab width", "WIDTH" },
@ -136,14 +136,14 @@ static void parse_args(gint argc, gchar **argv, FileInfo *fi)
{ "version", 0, 0, G_OPTION_ARG_NONE, &opt_version, "Show version number", NULL },
{ NULL, 0, 0, G_OPTION_ARG_NONE, NULL, NULL, NULL }
};
context = g_option_context_new("[filename]");
g_option_context_add_main_entries(context, entries, PACKAGE);
g_option_context_add_group(context, gtk_get_option_group(TRUE));
g_option_context_set_ignore_unknown_options(context, FALSE);
g_option_context_parse(context, &argc, &argv, &error);
g_option_context_free(context);
if (error) {
g_print("%s: %s\n", PACKAGE, error->message);
g_error_free(error);
@ -167,19 +167,19 @@ static void parse_args(gint argc, gchar **argv, FileInfo *fi)
indent_set_default_tab_width(opt_tab_width);
if (opt_jump)
jump_linenum = opt_jump;
if (fi->charset
&& (g_strcasecmp(fi->charset, get_default_charset()) != 0)
&& (g_strcasecmp(fi->charset, "UTF-8") != 0)) {
if (fi->charset
&& (g_ascii_strcasecmp(fi->charset, get_default_charset()) != 0)
&& (g_ascii_strcasecmp(fi->charset, "UTF-8") != 0)) {
encarray = get_encoding_items(get_encoding_code());
for (i = 0; i < ENCODING_MAX_ITEM_NUM; i++)
if (encarray->item[i])
if (g_strcasecmp(fi->charset, encarray->item[i]) == 0)
if (g_ascii_strcasecmp(fi->charset, encarray->item[i]) == 0)
break;
if (i == ENCODING_MAX_ITEM_NUM)
fi->charset_flag = TRUE;
}
if (argc >= 2)
fi->filename = parse_file_uri(argv[1]);
}
@ -189,25 +189,25 @@ gint main(gint argc, gchar **argv)
Conf *conf;
GtkItemFactory *ifactory;
gchar *stdin_data = NULL;
bindtextdomain(PACKAGE, LOCALEDIR);
bind_textdomain_codeset(PACKAGE, "UTF-8");
textdomain(PACKAGE);
pub = g_malloc(sizeof(PublicData));
pub->fi = g_malloc(sizeof(FileInfo));
pub->fi->filename = NULL;
pub->fi->charset = NULL;
pub->fi->charset_flag = FALSE;
pub->fi->lineend = LF;
parse_args(argc, argv, pub->fi);
gtk_init(&argc, &argv);
g_set_application_name(PACKAGE_NAME);
pub->mw = create_main_window();
conf = g_malloc(sizeof(Conf));
conf->width = 600;
conf->height = 400;
@ -215,13 +215,12 @@ gint main(gint argc, gchar **argv)
conf->wordwrap = FALSE;
conf->linenumbers = FALSE;
conf->autoindent = FALSE;
load_config_file(conf);
gtk_window_set_default_size(
GTK_WINDOW(pub->mw->window), conf->width, conf->height);
set_text_font_by_name(pub->mw->view, conf->fontname);
gtk_window_set_icon_from_file(GTK_WINDOW(pub->mw->window), ICONDIR"/l3afpad.png", NULL);
set_text_font_by_name(pub->mw->view, conf->fontname);
ifactory = gtk_item_factory_from_widget(pub->mw->menubar);
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(
@ -234,22 +233,22 @@ gint main(gint argc, gchar **argv)
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(
(GtkCheckMenuItem*)gtk_item_factory_get_widget(ifactory, "/M/Options/AutoIndent")),
conf->autoindent);
gtk_widget_show_all(pub->mw->window);
g_free(conf->fontname);
g_free(conf);
#ifdef ENABLE_EMACS
#if ENABLE_EMACS
check_emacs_key_theme(GTK_WINDOW(pub->mw->window), ifactory);
#endif
hlight_init(pub->mw->buffer);
undo_init(pub->mw->view,
gtk_item_factory_get_widget(ifactory, "/M/Edit/Undo"),
gtk_item_factory_get_widget(ifactory, "/M/Edit/Redo"));
// hlight_init(pub->mw->buffer);
dnd_init(pub->mw->view);
if (pub->fi->filename)
file_open_real(pub->mw->view, pub->fi);
#ifdef G_OS_UNIX
@ -259,11 +258,11 @@ gint main(gint argc, gchar **argv)
if (stdin_data) {
gchar *str;
GtkTextIter iter;
str = g_convert(stdin_data, -1, "UTF-8",
get_default_charset(), NULL, NULL, NULL);
g_free(stdin_data);
// gtk_text_buffer_set_text(buffer, "", 0);
gtk_text_buffer_get_start_iter(pub->mw->buffer, &iter);
gtk_text_buffer_insert(pub->mw->buffer, &iter, str, strlen(str));
@ -273,20 +272,20 @@ gint main(gint argc, gchar **argv)
gtk_text_view_scroll_to_iter(GTK_TEXT_VIEW(pub->mw->view), &iter, 0, FALSE, 0, 0);
g_free(str);
}
if (jump_linenum) {
GtkTextIter iter;
gtk_text_buffer_get_iter_at_line(pub->mw->buffer, &iter, jump_linenum - 1);
gtk_text_buffer_place_cursor(pub->mw->buffer, &iter);
// gtk_text_view_scroll_to_iter(GTK_TEXT_VIEW(textview), &iter, 0.1, FALSE, 0.5, 0.5);
scroll_to_cursor(pub->mw->buffer, 0.25);
}
set_main_window_title();
// hlight_apply_all(pub->mw->buffer);
gtk_main();
return 0;
}

View File

@ -2,7 +2,7 @@
* L3afpad - GTK+ based simple text editor
* Copyright (C) 2004-2005 Tarot Osuji
* Copyright (C) 2011 Wen-Yen Chuang <caleb AT calno DOT com>
*
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
@ -40,7 +40,7 @@ static GtkActionEntry menu_items[] =
{ "Open", GTK_STOCK_OPEN, N_("_Open..."), "<control>O", NULL, G_CALLBACK(on_file_open) },
{ "Save", GTK_STOCK_SAVE, N_("_Save"), "<control>S", NULL, G_CALLBACK(on_file_save) },
{ "SaveAs", GTK_STOCK_SAVE_AS, N_("Save _As..."), "<shift><control>S", NULL, G_CALLBACK(on_file_save_as) },
#ifdef ENABLE_PRINT
#if ENABLE_PRINT
{ "PrintPreview", GTK_STOCK_PRINT_PREVIEW, N_("Print Pre_view"), "<shift><control>P", NULL, G_CALLBACK(on_file_print_preview) },
{ "Print", GTK_STOCK_PRINT, N_("_Print..."), "<control>P", NULL, G_CALLBACK(on_file_print) },
#endif
@ -71,7 +71,7 @@ static GtkToggleActionEntry toggle_entries[] =
};
static guint n_toggle_entries = G_N_ELEMENTS (toggle_entries);
static const gchar *ui_info =
static const gchar *ui_info =
"<ui>"
" <menubar name='M'>"
" <menu action='File'>"
@ -80,9 +80,11 @@ static const gchar *ui_info =
" <menuitem action='Save'/>"
" <menuitem action='SaveAs'/>"
" <separator/>"
#if ENABLE_PRINT
" <menuitem action='PrintPreview'/>"
" <menuitem action='Print'/>"
" <separator/>"
#endif
" <menuitem action='Quit'/>"
" </menu>"
" <menu action='Edit'>"
@ -120,9 +122,9 @@ static const gchar *ui_info =
static gchar *menu_translate(const gchar *path, gpointer data)
{
gchar *str;
str = (gchar *)_(path);
return str;
}
@ -152,7 +154,7 @@ GtkWidget *create_menu_bar(GtkWidget *window)
GtkItemFactory *ifactory;
#if 0
gboolean flag_emacs = FALSE;
gchar *key_theme = NULL;
GtkSettings *settings = gtk_settings_get_default();
if (settings) {
@ -164,7 +166,7 @@ GtkWidget *create_menu_bar(GtkWidget *window)
}
}
#endif
ifactory = gtk_ui_manager_new();
GtkActionGroup *actions = gtk_action_group_new("Actions");
gtk_action_group_set_translate_func(actions, menu_translate, NULL, NULL);
@ -174,7 +176,7 @@ GtkWidget *create_menu_bar(GtkWidget *window)
g_object_unref(actions);
gtk_ui_manager_add_ui_from_string(ifactory, ui_info, -1, NULL);
gtk_window_add_accel_group(GTK_WINDOW(window), accel_group);
/* hidden keybinds */
gtk_accel_group_connect(
accel_group, GDK_W, GDK_CONTROL_MASK, 0,
@ -194,7 +196,7 @@ GtkWidget *create_menu_bar(GtkWidget *window)
gtk_widget_add_accelerator(
gtk_item_factory_get_widget(ifactory, "/M/Search/Replace"),
"activate", accel_group, GDK_R, GDK_CONTROL_MASK, 0);
/* initialize sensitivities */
gtk_widget_set_sensitive(
gtk_item_factory_get_widget(ifactory, "/M/Search/FindNext"),
@ -202,13 +204,13 @@ GtkWidget *create_menu_bar(GtkWidget *window)
gtk_widget_set_sensitive(
gtk_item_factory_get_widget(ifactory, "/M/Search/FindPrevious"),
FALSE);
menu_item_save = gtk_item_factory_get_widget(ifactory, "/M/File/Save");
menu_item_cut = gtk_item_factory_get_widget(ifactory, "/M/Edit/Cut");
menu_item_copy = gtk_item_factory_get_widget(ifactory, "/M/Edit/Copy");
menu_item_paste = gtk_item_factory_get_widget(ifactory, "/M/Edit/Paste");
menu_item_delete = gtk_item_factory_get_widget(ifactory, "/M/Edit/Delete");
menu_sensitivity_from_selection_bound(FALSE);
return (GtkWidget*)ifactory;
}

View File

@ -1,7 +1,7 @@
/*
* L3afpad - GTK+ based simple text editor
* Copyright (C) 2004-2005 Tarot Osuji
*
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or

View File

@ -1,7 +1,7 @@
/*
* L3afpad - GTK+ based simple text editor
* Copyright (C) 2004-2005 Tarot Osuji
*
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
@ -19,19 +19,8 @@
#include <string.h>
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#include <gtk/gtk.h>
#include <glib/gi18n.h>
#include "dialog.h"
#include "utils.h"
#include "view.h"
#include "undo.h"
#include "l3afpad.h"
#include "gtksourceiter.h"
#include "search.h"
#include "hlight.h"
static gchar *string_find = NULL;
static gchar *string_replace = NULL;
@ -43,13 +32,13 @@ static gboolean hlight_searched_strings(GtkTextBuffer *buffer, gchar *str)
gboolean res, retval = FALSE;
GtkSourceSearchFlags search_flags =
GTK_SOURCE_SEARCH_VISIBLE_ONLY | GTK_SOURCE_SEARCH_TEXT_ONLY;
if (!string_find)
return FALSE;
if (!match_case)
search_flags = search_flags | GTK_SOURCE_SEARCH_CASE_INSENSITIVE;
gtk_text_buffer_get_bounds(buffer, &start, &end);
/* gtk_text_buffer_remove_tag_by_name(buffer,
"searched", &start, &end);
@ -72,7 +61,7 @@ static gboolean hlight_searched_strings(GtkTextBuffer *buffer, gchar *str)
replace_mode = FALSE;
else */
hlight_toggle_searched(buffer);
return retval;
}
@ -82,21 +71,21 @@ gboolean document_search_real(GtkWidget *textview, gint direction)
gboolean res;
GtkSourceSearchFlags search_flags = GTK_SOURCE_SEARCH_VISIBLE_ONLY | GTK_SOURCE_SEARCH_TEXT_ONLY;
GtkTextBuffer *textbuffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(textview));
if (!string_find)
return FALSE;
if (!match_case)
search_flags = search_flags | GTK_SOURCE_SEARCH_CASE_INSENSITIVE;
// if (direction == 0 || !hlight_check_searched())
if (direction == 0 || (direction != 2 && !hlight_check_searched()))
hlight_searched_strings(gtk_text_view_get_buffer(GTK_TEXT_VIEW(textview)), string_find);
gtk_text_mark_set_visible(
gtk_text_buffer_get_selection_bound(
gtk_text_view_get_buffer(GTK_TEXT_VIEW(textview))), FALSE);
gtk_text_buffer_get_iter_at_mark(textbuffer, &iter, gtk_text_buffer_get_insert(textbuffer));
if (direction < 0) {
res = gtk_source_iter_backward_search(
@ -110,7 +99,7 @@ gboolean document_search_real(GtkWidget *textview, gint direction)
&iter, string_find, search_flags, &match_start, &match_end, NULL);
}
/* TODO: both gtk_(text/source)_iter_backward_search works not fine for multi-byte */
/* wrap */
/* TODO: define limit NULL -> proper value */
if (!res) {
@ -124,17 +113,17 @@ gboolean document_search_real(GtkWidget *textview, gint direction)
&iter, string_find, search_flags, &match_start, &match_end, NULL);
}
}
if (res) {
gtk_text_buffer_place_cursor(textbuffer, &match_start);
gtk_text_buffer_move_mark_by_name(textbuffer, "insert", &match_end);
// gtk_text_view_scroll_to_iter(GTK_TEXT_VIEW(textview), &match_start, 0.1, FALSE, 0.5, 0.5);
scroll_to_cursor(textbuffer, 0.05);
}
}
else if (direction == 0)
run_dialog_message(gtk_widget_get_toplevel(textview), GTK_MESSAGE_WARNING,
_("Search string not found"));
return res;
}
@ -145,18 +134,18 @@ static gint document_replace_real(GtkWidget *textview)
gboolean res;
gint num = 0, offset;
GtkWidget *q_dialog = NULL;
GtkSourceSearchFlags search_flags = GTK_SOURCE_SEARCH_VISIBLE_ONLY | GTK_SOURCE_SEARCH_TEXT_ONLY;
GtkSourceSearchFlags search_flags = GTK_SOURCE_SEARCH_VISIBLE_ONLY | GTK_SOURCE_SEARCH_TEXT_ONLY;
GtkTextBuffer *textbuffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(textview));
if (!match_case)
search_flags = search_flags | GTK_SOURCE_SEARCH_CASE_INSENSITIVE;
if (replace_all) {
gtk_text_buffer_get_iter_at_mark(textbuffer,
&iter, gtk_text_buffer_get_insert(textbuffer));
mark_init = gtk_text_buffer_create_mark(textbuffer, NULL, &iter, FALSE);
gtk_text_buffer_get_start_iter(textbuffer, &iter);
gtk_text_buffer_get_end_iter(textbuffer, &match_end);
// gtk_text_buffer_remove_tag_by_name(textbuffer,
// "replaced", &iter, &match_end);
@ -166,7 +155,7 @@ static gint document_replace_real(GtkWidget *textview)
hlight_searched_strings(textbuffer, string_find);
hlight_toggle_searched(textbuffer);
}
do {
if (replace_all) {
res = gtk_source_iter_forward_search(
@ -181,7 +170,7 @@ static gint document_replace_real(GtkWidget *textview)
else
// res = document_search_real(textview, 0);
res = document_search_real(textview, 2);
if (res) {
if (!replace_all) {
if (num == 0 && q_dialog == NULL)
@ -227,7 +216,7 @@ static gint document_replace_real(GtkWidget *textview)
gtk_text_buffer_get_iter_at_mark(
textbuffer, &iter,
gtk_text_buffer_get_insert(textbuffer));
num++;
/* if (replace_all)
undo_set_sequency(TRUE);
@ -238,7 +227,7 @@ static gint document_replace_real(GtkWidget *textview)
} while (res);
if (!hlight_check_searched())
hlight_toggle_searched(textbuffer);
if (q_dialog)
gtk_widget_destroy(q_dialog);
/* if (strlen(string_replace)) {
@ -252,7 +241,7 @@ static gint document_replace_real(GtkWidget *textview)
_("%d strings replaced"), num);
undo_set_sequency(FALSE);
}
return num;
}
@ -293,7 +282,7 @@ gint run_dialog_search(GtkWidget *textview, gint mode)
GtkWidget *entry_find, *entry_replace = NULL;
GtkWidget *check_case, *check_all;
gint res;
if (mode)
dialog = gtk_dialog_new_with_buttons(_("Replace"),
GTK_WINDOW(gtk_widget_get_toplevel(textview)),
@ -308,7 +297,7 @@ gint run_dialog_search(GtkWidget *textview, gint mode)
GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
GTK_STOCK_FIND, GTK_RESPONSE_OK,
NULL);
table = gtk_table_new(mode + 2, 2, FALSE);
gtk_table_set_row_spacings(GTK_TABLE(table), 8);
gtk_table_set_col_spacings(GTK_TABLE(table), 8);
@ -346,7 +335,7 @@ gint run_dialog_search(GtkWidget *textview, gint mode)
gtk_entry_set_activates_default(GTK_ENTRY(entry_find), TRUE);
if (mode)
gtk_entry_set_activates_default(GTK_ENTRY(entry_replace), TRUE);
check_case = gtk_check_button_new_with_mnemonic(_("_Match case"));
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check_case), match_case);
g_signal_connect(check_case, "toggled", G_CALLBACK(toggle_check_case), NULL);
@ -358,8 +347,8 @@ gint run_dialog_search(GtkWidget *textview, gint mode)
gtk_table_attach_defaults(GTK_TABLE(table), check_all, 0, 2, 2 + mode, 3 + mode);
}
gtk_window_set_resizable(GTK_WINDOW(dialog), FALSE);
gtk_widget_show_all(table);
gtk_widget_show_all(table);
res = gtk_dialog_run(GTK_DIALOG(dialog));
if (res == GTK_RESPONSE_OK) {
g_free(string_find);
@ -369,9 +358,9 @@ gint run_dialog_search(GtkWidget *textview, gint mode)
string_replace = g_strdup(gtk_entry_get_text(GTK_ENTRY(entry_replace)));
}
}
gtk_widget_destroy(dialog);
if (res == GTK_RESPONSE_OK) {
if (strlen(string_find)) {
if (mode)
@ -380,7 +369,7 @@ gint run_dialog_search(GtkWidget *textview, gint mode)
document_search_real(textview, 0);
}
}
return res;
}
@ -394,15 +383,15 @@ void run_dialog_jump_to(GtkWidget *textview)
GtkAdjustment *spinner_adj;
GtkTextIter iter;
gint num, max_num;
GtkTextBuffer *textbuffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(textview));
gtk_text_buffer_get_iter_at_mark(textbuffer, &iter,
gtk_text_buffer_get_insert(textbuffer));
num = gtk_text_iter_get_line(&iter) + 1;
gtk_text_buffer_get_end_iter(textbuffer, &iter);
max_num = gtk_text_iter_get_line(&iter) + 1;
dialog = gtk_dialog_new_with_buttons(_("Jump To"),
GTK_WINDOW(gtk_widget_get_toplevel(textview)),
GTK_DIALOG_DESTROY_WITH_PARENT,
@ -423,11 +412,11 @@ void run_dialog_jump_to(GtkWidget *textview)
gtk_entry_set_activates_default(GTK_ENTRY(spinner), TRUE);
gtk_table_attach_defaults(GTK_TABLE(table), label, 0, 1, 0, 1);
gtk_table_attach_defaults(GTK_TABLE(table), spinner, 1, 2, 0, 1);
gtk_dialog_set_default_response(GTK_DIALOG(dialog), GTK_RESPONSE_OK);
gtk_window_set_resizable(GTK_WINDOW(dialog), FALSE);
gtk_widget_show_all(dialog);
if (gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_OK) {
gtk_text_buffer_get_iter_at_line(textbuffer, &iter,
gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(spinner)) - 1);
@ -435,6 +424,6 @@ void run_dialog_jump_to(GtkWidget *textview)
// gtk_text_view_scroll_to_iter(GTK_TEXT_VIEW(textview), &iter, 0.1, FALSE, 0.5, 0.5);
scroll_to_cursor(textbuffer, 0.25);
}
gtk_widget_destroy (dialog);
}

View File

@ -1,7 +1,7 @@
/*
* L3afpad - GTK+ based simple text editor
* Copyright (C) 2004-2005 Tarot Osuji
*
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or

View File

@ -1,7 +1,7 @@
/*
* L3afpad - GTK+ based simple text editor
* Copyright (C) 2004-2005 Tarot Osuji
*
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
@ -46,23 +46,22 @@ static void cb_select_lineend(GtkOptionMenu *option_menu, FileInfo *selected_fi)
static GtkWidget *create_lineend_menu(FileInfo *selected_fi)
{
GtkWidget *option_menu;
GtkWidget *menu;
GtkWidget *menu_item;
GtkListStore *store = gtk_list_store_new (1, G_TYPE_STRING);
GtkTreeIter iter;
GtkCellRenderer *renderer = gtk_cell_renderer_text_new ();
GtkWidget *option_menu = gtk_combo_box_new_with_model (GTK_TREE_MODEL (store));
gint i;
option_menu = gtk_option_menu_new();
menu = gtk_menu_new();
for (i = 0; i <= 2; i++) {
menu_item = gtk_menu_item_new_with_label(lineend_str[i]);
gtk_menu_shell_append(GTK_MENU_SHELL(menu), menu_item);
gtk_widget_show(menu_item); // <- required for width adjustment
gtk_list_store_append (store, &iter);
gtk_list_store_set (store, &iter, 0, lineend_str[i], -1);
}
gtk_option_menu_set_menu(GTK_OPTION_MENU(option_menu), menu);
gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (option_menu), renderer, FALSE);
gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (option_menu), renderer, "text", 0, NULL);
g_signal_connect(G_OBJECT(option_menu), "changed",
G_CALLBACK(cb_select_lineend), selected_fi);
i = 0;
switch (selected_fi->lineend) {
case CR+LF:
@ -72,7 +71,7 @@ static GtkWidget *create_lineend_menu(FileInfo *selected_fi)
i = 2;
}
gtk_option_menu_set_history(GTK_OPTION_MENU(option_menu), i);
return option_menu;
}
@ -87,7 +86,7 @@ static CharsetTable *get_charset_table(void)
static CharsetTable *ctable = NULL;
EncArray *encarray;
gint i;
if (!ctable) {
ctable = g_malloc(sizeof(CharsetTable));
ctable->num = 0;
@ -105,7 +104,7 @@ static CharsetTable *get_charset_table(void)
ctable->num++;
}
}
return ctable;
}
@ -121,14 +120,14 @@ static GtkWidget *init_menu_item_manual_charset(gchar *manual_charset)
{
static GtkLabel *label;
gchar *str;
if (other_codeset_title == NULL)
other_codeset_title = _("Other Codeset");
str = manual_charset
? g_strdup_printf("%s (%s)", other_codeset_title, manual_charset)
: g_strdup_printf("%s...", other_codeset_title);
if (!menu_item_manual_charset) {
menu_item_manual_charset = gtk_menu_item_new_with_label(str);
label = GTK_LABEL(gtk_bin_get_child(GTK_BIN(menu_item_manual_charset)));
@ -136,7 +135,7 @@ static GtkWidget *init_menu_item_manual_charset(gchar *manual_charset)
// gtk_label_set_text(GTK_LABEL(GTK_BIN(menu_item_manual_charset)->child), str);
gtk_label_set_text(label, str);
g_free(str);
return menu_item_manual_charset;
}
@ -148,7 +147,7 @@ static gboolean get_manual_charset(GtkOptionMenu *option_menu, FileInfo *selecte
GtkWidget *entry;
GError *err = NULL;
gchar *str;
dialog = gtk_dialog_new_with_buttons(other_codeset_title,
GTK_WINDOW(gtk_widget_get_toplevel(GTK_WIDGET(option_menu))),
GTK_DIALOG_DESTROY_WITH_PARENT,
@ -157,28 +156,31 @@ static gboolean get_manual_charset(GtkOptionMenu *option_menu, FileInfo *selecte
NULL);
gtk_dialog_set_default_response(GTK_DIALOG(dialog), GTK_RESPONSE_OK);
gtk_window_set_position(GTK_WINDOW(dialog), GTK_WIN_POS_MOUSE);
vbox = gtk_vbox_new(FALSE, 0);
gtk_orientable_set_orientation(GTK_ORIENTABLE(vbox), GTK_ORIENTATION_VERTICAL);
gtk_container_set_border_width(GTK_CONTAINER(vbox), 8);
gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), vbox, FALSE, FALSE, 0);
label = gtk_label_new_with_mnemonic(_("Code_set:"));
gtk_misc_set_alignment(GTK_MISC(label), 0.0, 0.0);
gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 5);
entry = gtk_entry_new();
gtk_widget_set_hexpand (entry, TRUE);
gtk_widget_set_vexpand (entry, TRUE);
gtk_entry_set_activates_default(GTK_ENTRY(entry), TRUE);
gtk_label_set_mnemonic_widget(GTK_LABEL(label), entry);
gtk_box_pack_start(GTK_BOX(vbox), entry, FALSE, FALSE, 5);
gtk_dialog_set_response_sensitive(GTK_DIALOG(dialog), GTK_RESPONSE_OK, FALSE);
g_signal_connect_after(G_OBJECT(entry), "changed",
G_CALLBACK(toggle_sensitivity), NULL);
if (selected_fi->charset_flag)
gtk_entry_set_text(GTK_ENTRY(entry), selected_fi->charset);
gtk_widget_show_all(vbox);
if (gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_OK) {
g_convert("TEST", -1, "UTF-8", gtk_entry_get_text(GTK_ENTRY(entry)), NULL, NULL, &err);
if (err) {
@ -193,15 +195,15 @@ static gboolean get_manual_charset(GtkOptionMenu *option_menu, FileInfo *selecte
selected_fi->charset = g_strdup(gtk_entry_get_text(GTK_ENTRY(entry)));
selected_fi->charset_flag = TRUE;
gtk_widget_destroy(dialog);
init_menu_item_manual_charset(selected_fi->charset_flag
? selected_fi->charset : NULL);
return TRUE;
}
}
gtk_widget_destroy(dialog);
return FALSE;
}
@ -211,7 +213,7 @@ static void cb_select_charset(GtkOptionMenu *option_menu, FileInfo *selected_fi)
{
CharsetTable *ctable;
static guint index_history = 0, prev_history;
prev_history = index_history;
index_history = gtk_option_menu_get_history(option_menu);
if (!charset_menu_init_flag) {
@ -235,40 +237,36 @@ static void cb_select_charset(GtkOptionMenu *option_menu, FileInfo *selected_fi)
static GtkWidget *create_charset_menu(FileInfo *selected_fi)
{
GtkWidget *option_menu;
GtkWidget *menu;
GtkWidget *menu_item;
GtkListStore *store = gtk_list_store_new (1, G_TYPE_STRING);
GtkTreeIter iter;
GtkCellRenderer *renderer = gtk_cell_renderer_text_new ();
GtkWidget *option_menu = gtk_combo_box_new_with_model (GTK_TREE_MODEL (store));
CharsetTable *ctable;
guint i;
option_menu = gtk_option_menu_new();
menu = gtk_menu_new();
if (mode == OPEN) {
menu_item = gtk_menu_item_new_with_label(_("Auto-Detect"));
gtk_menu_shell_append(GTK_MENU_SHELL(menu), menu_item);
gtk_widget_show(menu_item); // <- required for width adjustment
gtk_list_store_append (store, &iter);
gtk_list_store_set (store, &iter, 0, _("Auto-Detect"), -1);
}
ctable = get_charset_table();
for (i = 0; i < ctable->num; i++) {
menu_item = gtk_menu_item_new_with_label(ctable->str[i]);
gtk_menu_shell_append(GTK_MENU_SHELL(menu), menu_item);
gtk_widget_show(menu_item); // <- required for width adjustment
gtk_list_store_append (store, &iter);
gtk_list_store_set (store, &iter, 0, ctable->str[i], -1);
}
menu_item_manual_charset = NULL;
gtk_menu_shell_append(GTK_MENU_SHELL(menu),
init_menu_item_manual_charset(selected_fi->charset_flag
? selected_fi->charset : NULL));
gtk_widget_show(menu_item_manual_charset); // <- required for width adjustment
gtk_list_store_append (store, &iter);
gtk_list_store_set (store, &iter, 0, gtk_menu_item_get_label(GTK_MENU_ITEM(init_menu_item_manual_charset(selected_fi->charset_flag
? selected_fi->charset : NULL))), -1);
charset_menu_init_flag = TRUE;
g_signal_connect(G_OBJECT(option_menu), "changed",
G_CALLBACK(cb_select_charset), selected_fi);
gtk_option_menu_set_menu(GTK_OPTION_MENU(option_menu), menu);
gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (option_menu), renderer, FALSE);
gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (option_menu), renderer, "text", 0, NULL);
i = 0;
if (selected_fi->charset) {
do {
if (g_strcasecmp(selected_fi->charset, ctable->charset[i]) == 0)
if (g_ascii_strcasecmp(selected_fi->charset, ctable->charset[i]) == 0)
break;
i++;
} while (i < ctable->num);
@ -283,7 +281,7 @@ static GtkWidget *create_charset_menu(FileInfo *selected_fi)
if (mode == SAVE || selected_fi->charset_flag)
gtk_option_menu_set_history(GTK_OPTION_MENU(option_menu), i);
charset_menu_init_flag = FALSE;
return option_menu;
}
@ -296,16 +294,16 @@ static GtkWidget *create_file_selector(FileInfo *selected_fi)
GtkWidget *option_menu_charset;
GtkWidget *option_menu_lineend;
const gchar *title;
title = mode ? _("Open") : _("Save As");
selector = gtk_file_chooser_dialog_new(title, NULL,
mode ? GTK_FILE_CHOOSER_ACTION_OPEN : GTK_FILE_CHOOSER_ACTION_SAVE,
GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
mode ? GTK_STOCK_OPEN : GTK_STOCK_SAVE, GTK_RESPONSE_OK,
NULL);
gtk_dialog_set_default_response(GTK_DIALOG(selector), GTK_RESPONSE_OK);
// align = gtk_alignment_new(0.5, 0, 0, 0);
align = gtk_alignment_new(1, 0, 0, 0);
gtk_file_chooser_set_extra_widget(GTK_FILE_CHOOSER(selector), align);
@ -323,10 +321,10 @@ static GtkWidget *create_file_selector(FileInfo *selected_fi)
gtk_table_attach_defaults(GTK_TABLE(table), option_menu_lineend, 2, 3, 0, 1);
}
gtk_widget_show_all(align);
if (selected_fi->filename)
gtk_file_chooser_set_filename(GTK_FILE_CHOOSER(selector), selected_fi->filename);
return selector;
}
@ -336,7 +334,7 @@ FileInfo *get_fileinfo_from_selector(FileInfo *fi, gint requested_mode)
GtkWidget *selector;
gchar *basename, *str;
gint res, len;
/* init values */
mode = requested_mode;
selected_fi = g_malloc(sizeof(FileInfo));
@ -346,11 +344,11 @@ FileInfo *get_fileinfo_from_selector(FileInfo *fi, gint requested_mode)
fi->charset ? g_strdup(fi->charset) : NULL;
selected_fi->charset_flag = fi->charset_flag;
selected_fi->lineend = fi->lineend;
selector = create_file_selector(selected_fi);
gtk_window_set_transient_for(GTK_WINDOW(selector),
GTK_WINDOW(pub->mw->window));
do {
res = gtk_dialog_run(GTK_DIALOG(selector));
if (res == GTK_RESPONSE_OK) {
@ -384,15 +382,15 @@ FileInfo *get_fileinfo_from_selector(FileInfo *fi, gint requested_mode)
}
gtk_widget_hide(selector);
} while (GTK_WIDGET_VISIBLE(selector));
if (res != GTK_RESPONSE_OK) {
if (selected_fi->charset)
g_free(selected_fi->charset);
selected_fi = NULL;
g_free(selected_fi);
}
gtk_widget_destroy(selector);
return selected_fi;
}

View File

@ -1,7 +1,7 @@
/*
* L3afpad - GTK+ based simple text editor
* Copyright (C) 2004-2005 Tarot Osuji
*
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or

View File

@ -1,7 +1,7 @@
/*
* L3afpad - GTK+ based simple text editor
* Copyright (C) 2004-2005 Tarot Osuji
*
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
@ -66,16 +66,16 @@ static GList *undo_clear_info_list(GList *info_list)
static void undo_append_undo_info(GtkTextBuffer *buffer, gchar command, gint start, gint end, gchar *str)
{
UndoInfo *ui = g_malloc(sizeof(UndoInfo));
ui->command = command;
ui->start = start;
ui->end = end;
// ui->seq = FALSE;
ui->seq = seq_reserve;
ui->str = str;
seq_reserve = FALSE;
undo_list = g_list_append(undo_list, ui);
DV(g_print("undo_cb: %d %s (%d-%d)\n", command, str, start, end));
}
@ -86,11 +86,11 @@ static void undo_create_undo_info(GtkTextBuffer *buffer, gchar command, gint sta
gboolean seq_flag = FALSE;
gchar *str;
gint keyval = get_current_keyval();
gtk_text_buffer_get_iter_at_offset(buffer, &start_iter, start);
gtk_text_buffer_get_iter_at_offset(buffer, &end_iter, end);
str = gtk_text_buffer_get_text(buffer, &start_iter, &end_iter, FALSE);
if (undo_gstr->len) {
if ((end - start == 1) && (command == ui_tmp->command)) {
switch (keyval) {
@ -139,10 +139,10 @@ static void undo_create_undo_info(GtkTextBuffer *buffer, gchar command, gint sta
undo_append_undo_info(buffer, ui_tmp->command, ui_tmp->start, ui_tmp->end, g_strdup(undo_gstr->str));
undo_gstr = g_string_erase(undo_gstr, 0, -1);
}
if (!keyval && prev_keyval)
undo_set_sequency(TRUE);
if (end - start == 1 &&
((keyval && keyval < 0xF000) ||
keyval == GDK_BackSpace || keyval == GDK_Delete || keyval == GDK_Tab)) {
@ -151,9 +151,9 @@ static void undo_create_undo_info(GtkTextBuffer *buffer, gchar command, gint sta
ui_tmp->end = end;
undo_gstr = g_string_erase(undo_gstr, 0, -1);
g_string_append(undo_gstr, str);
} else
} else
undo_append_undo_info(buffer, command, start, end, g_strdup(str));
redo_list = undo_clear_info_list(redo_list);
prev_keyval = keyval;
clear_current_keyval();
@ -165,11 +165,11 @@ static void undo_create_undo_info(GtkTextBuffer *buffer, gchar command, gint sta
static void cb_insert_text(GtkTextBuffer *buffer, GtkTextIter *iter, gchar *str)
{
gint start, end;
DV( g_print("insert-text\n"));
end = gtk_text_iter_get_offset(iter);
start = end - g_utf8_strlen(str, -1);
undo_create_undo_info(buffer, INS, start, end);
}
@ -177,11 +177,11 @@ static void cb_delete_range(GtkTextBuffer *buffer, GtkTextIter *start_iter, GtkT
{
gint start, end;
gchar command;
DV( g_print("delete-range\n"));
start = gtk_text_iter_get_offset(start_iter);
end = gtk_text_iter_get_offset(end_iter);
if (get_current_keyval() == GDK_BackSpace)
command = BS;
else
@ -199,7 +199,7 @@ DV(g_print("undo_reset_modified_step: Reseted modified_step by %d\n", modified_s
static void undo_check_modified_step(GtkTextBuffer *buffer)
{
gboolean flag;
flag = (modified_step == g_list_length(undo_list));
//g_print("%d - %d = %d\n", modified_step, g_list_length(undo_list), flag);
if (gtk_text_buffer_get_modified(buffer) == flag)
@ -224,7 +224,7 @@ static void undo_check_modified_step(GtkTextBuffer *buffer)
*/
static void cb_begin_user_action(GtkTextBuffer *buffer)
{
g_signal_handlers_unblock_by_func(G_OBJECT(buffer),
g_signal_handlers_unblock_by_func(G_OBJECT(buffer),
G_CALLBACK(cb_insert_text), NULL);
g_signal_handlers_unblock_by_func(G_OBJECT(buffer),
G_CALLBACK(cb_delete_range), NULL);
@ -234,7 +234,7 @@ DV(g_print(": keyval = 0x%X\n", get_current_keyval()));
static void cb_end_user_action(GtkTextBuffer *buffer)
{
g_signal_handlers_block_by_func(G_OBJECT(buffer),
g_signal_handlers_block_by_func(G_OBJECT(buffer),
G_CALLBACK(cb_insert_text), NULL);
g_signal_handlers_block_by_func(G_OBJECT(buffer),
G_CALLBACK(cb_delete_range), NULL);
@ -248,7 +248,7 @@ void undo_clear_all(GtkTextBuffer *buffer)
undo_reset_modified_step(buffer);
gtk_widget_set_sensitive(undo_w, FALSE);
gtk_widget_set_sensitive(redo_w, FALSE);
ui_tmp->command = INS;
undo_gstr = g_string_erase(undo_gstr, 0, -1);
prev_keyval = 0;
@ -257,10 +257,10 @@ void undo_clear_all(GtkTextBuffer *buffer)
void undo_init(GtkWidget *view, GtkWidget *undo_button, GtkWidget *redo_button)
{
GtkTextBuffer *buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(view));
undo_w = undo_button;
redo_w = redo_button;
g_signal_connect_after(G_OBJECT(buffer), "insert-text",
G_CALLBACK(cb_insert_text), NULL);
g_signal_connect(G_OBJECT(buffer), "delete-range",
@ -270,10 +270,10 @@ void undo_init(GtkWidget *view, GtkWidget *undo_button, GtkWidget *redo_button)
g_signal_connect(G_OBJECT(buffer), "end-user-action",
G_CALLBACK(cb_end_user_action), NULL);
cb_end_user_action(buffer);
ui_tmp = g_malloc(sizeof(UndoInfo));
undo_gstr = g_string_new("");
undo_clear_all(buffer);
}
@ -281,7 +281,7 @@ void undo_set_sequency(gboolean seq)
{
if (g_list_length(undo_list))
((UndoInfo *)g_list_last(undo_list)->data)->seq = seq;
DV(g_print("<undo_set_sequency: %d>\n", seq));
DV(g_print("<undo_set_sequency: %d>\n", seq));
}
void undo_set_sequency_reserve(void)
@ -302,7 +302,7 @@ gboolean undo_undo_real(GtkTextBuffer *buffer)
{
GtkTextIter start_iter, end_iter;
UndoInfo *ui;
undo_flush_temporal_buffer(buffer);
if (g_list_length(undo_list)) {
// undo_block_signal(buffer);
@ -340,7 +340,7 @@ gboolean undo_redo_real(GtkTextBuffer *buffer)
{
GtkTextIter start_iter, end_iter;
UndoInfo *ri;
if (g_list_length(redo_list)) {
// undo_block_signal(buffer);
ri = g_list_last(redo_list)->data;

View File

@ -1,7 +1,7 @@
/*
* L3afpad - GTK+ based simple text editor
* Copyright (C) 2004-2005 Tarot Osuji
*
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or

View File

@ -1,7 +1,7 @@
/*
* L3afpad - GTK+ based simple text editor
* Copyright (C) 2004-2005 Tarot Osuji
*
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
@ -17,7 +17,7 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#include <gtk/gtk.h>
#include "l3afpad.h"
#include <stdio.h>
#include <string.h>
#include <sys/types.h>
@ -37,7 +37,7 @@ gchar *gedit_utils_get_stdin (void)
// GnomeVFSResult res;
fd_set rfds;
struct timeval tv;
FD_ZERO (&rfds);
FD_SET (0, &rfds);
@ -52,7 +52,7 @@ gchar *gedit_utils_get_stdin (void)
g_return_val_if_fail (tmp_buf != NULL, FALSE);
file_contents = g_string_new (NULL);
while (feof (stdin) == 0)
{
buffer_length = fread (tmp_buf, 1, GEDIT_STDIN_BUFSIZE, stdin);
@ -61,8 +61,8 @@ gchar *gedit_utils_get_stdin (void)
if (ferror (stdin) != 0)
{
// res = gnome_vfs_result_from_errno ();
// res = gnome_vfs_result_from_errno ();
g_free (tmp_buf);
g_string_free (file_contents, TRUE);
return NULL;
@ -82,21 +82,25 @@ GtkWidget *create_button_with_stock_image(const gchar *text, const gchar *stock_
GtkWidget *image;
GtkWidget *label;
GtkWidget *align;
hbox = gtk_hbox_new(FALSE, 2);
image = gtk_image_new_from_stock(stock_id, GTK_ICON_SIZE_BUTTON);
gtk_box_pack_start(GTK_BOX(hbox), image, FALSE, FALSE, 0);
label = gtk_label_new_with_mnemonic(text);
#if USE_GTK_GRID
gtk_grid_attach_next_to (GTK_BOX (hbox), label, image, GTK_POS_RIGHT, 1, 1);
#else
gtk_box_pack_end(GTK_BOX(hbox), label, FALSE, FALSE, 0);
#endif
align = gtk_alignment_new (0.5, 0.5, 0.0, 0.0);
gtk_container_add(GTK_CONTAINER(align), hbox);
button = gtk_button_new();
gtk_container_add(GTK_CONTAINER(button), align);
gtk_widget_show_all(button);
return button;
}

View File

@ -1,7 +1,7 @@
/*
* L3afpad - GTK+ based simple text editor
* Copyright (C) 2004-2005 Tarot Osuji
*
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or

View File

@ -1,7 +1,7 @@
/*
* L3afpad - GTK+ based simple text editor
* Copyright (C) 2004-2005 Tarot Osuji
*
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
@ -37,7 +37,7 @@ void clear_current_keyval(void)
gboolean scroll_to_cursor(GtkTextBuffer *buffer, gdouble within_margin)
{
GtkTextIter iter;
// gtk_text_buffer_get_start_iter(buffer, &iter);
gtk_text_buffer_get_iter_at_mark(buffer, &iter,
gtk_text_buffer_get_insert(buffer));
@ -56,7 +56,7 @@ gint check_text_modification(void)
{
gchar *basename, *str;
gint res;
if (gtk_text_buffer_get_modified(pub->mw->buffer)) {
basename = get_file_basename(pub->fi->filename, FALSE);
str = g_strdup_printf(_("Save changes to '%s'?"), basename);
@ -72,7 +72,7 @@ gint check_text_modification(void)
}
return -1;
}
return 0;
}
@ -80,10 +80,10 @@ gint check_text_modification(void)
static gint check_preedit(GtkWidget *view)
{
gint cursor_pos;
gtk_im_context_get_preedit_string(
GTK_TEXT_VIEW(view)->im_context, NULL, NULL, &cursor_pos);
return cursor_pos;
}
#endif
@ -92,7 +92,7 @@ static gboolean check_selection_bound(GtkTextBuffer *buffer)
{
GtkTextIter start, end;
gchar *str, *p;
if (gtk_text_buffer_get_selection_bounds(buffer, &start, &end)) {
str = gtk_text_iter_get_text(&start, &end);
p = strchr(str, '\n');
@ -100,7 +100,7 @@ static gboolean check_selection_bound(GtkTextBuffer *buffer)
if (p)
return TRUE;
}
return FALSE;
}
@ -110,17 +110,17 @@ static gboolean cb_key_press_event(GtkWidget *view, GdkEventKey *event)
GtkTextMark *mark;
GtkTextIter iter;
GdkRectangle prev_rect;
#if 0
if (check_preedit(view))
return FALSE;
#endif
buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(view));
mark = gtk_text_buffer_get_insert(buffer);
gtk_text_buffer_get_iter_at_mark(buffer, &iter, mark);
gtk_text_view_get_iter_location(GTK_TEXT_VIEW(view), &iter, &prev_rect);
keyval = 0;
//g_print("key-press-event: 0x%X\n", event->keyval);
switch (event->keyval) {
@ -131,7 +131,7 @@ static gboolean cb_key_press_event(GtkWidget *view, GdkEventKey *event)
gtk_text_buffer_get_iter_at_mark(buffer, &iter, mark);
gtk_text_view_get_iter_location(GTK_TEXT_VIEW(view), &iter, &iter_rect);
if (iter_rect.y < prev_rect.y) {
gtk_text_view_get_line_at_y(GTK_TEXT_VIEW(view), &iter,
gtk_text_view_get_line_at_y(GTK_TEXT_VIEW(view), &iter,
iter_rect.y - iter_rect.height, NULL);
gtk_text_buffer_move_mark(buffer, mark, &iter);
}
@ -195,7 +195,7 @@ static gboolean cb_key_press_event(GtkWidget *view, GdkEventKey *event)
keyval = keyval + 0x10000;
//g_print("=================================================\n");
}
return FALSE;
}
@ -203,9 +203,9 @@ static gboolean cb_button_press_event(GtkWidget *view, GdkEventButton *event)
{
GtkTextIter iter, start, end;
gint x, y;
GtkTextBuffer *buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(view));
if ((event->button) == 3 && (event->type == GDK_BUTTON_PRESS)) {
gtk_text_view_window_to_buffer_coords(GTK_TEXT_VIEW(view),
gtk_text_view_get_window_type(GTK_TEXT_VIEW(view), event->window),
@ -215,7 +215,7 @@ static gboolean cb_button_press_event(GtkWidget *view, GdkEventButton *event)
if (!gtk_text_iter_in_range(&iter, &start, &end))
gtk_text_buffer_place_cursor(buffer, &iter);
}
return FALSE;
}
@ -223,7 +223,7 @@ static void cb_modified_changed(GtkTextBuffer *buffer, GtkWidget *view)
{
gboolean modified_flag, exist_flag = FALSE;
gchar *filename, *title;
modified_flag = gtk_text_buffer_get_modified(buffer);
filename = get_file_basename(pub->fi->filename, TRUE);
if (modified_flag)
@ -286,14 +286,14 @@ static void cb_focus_event(GtkWidget *view, GdkEventFocus *event)
/*
static void cb_begin_user_action(GtkTextBuffer *buffer, GtkWidget *view)
{
g_signal_handlers_unblock_by_func(G_OBJECT(buffer),
g_signal_handlers_unblock_by_func(G_OBJECT(buffer),
G_CALLBACK(cb_modified_changed), view);
// g_print("begin-user-action\n");
}
static void cb_end_user_action(GtkTextBuffer *buffer, GtkWidget *view)
{
g_signal_handlers_block_by_func(G_OBJECT(buffer),
g_signal_handlers_block_by_func(G_OBJECT(buffer),
G_CALLBACK(cb_modified_changed), view);
gtk_text_view_scroll_mark_onscreen( // TODO: require?
GTK_TEXT_VIEW(view),
@ -325,13 +325,13 @@ GtkWidget *create_text_view(void)
{
GtkWidget *view;
GtkTextBuffer *buffer;
view = gtk_text_view_new();
buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(view));
// gtk_text_view_set_left_margin(GTK_TEXT_VIEW(view), 1);
// gtk_text_view_set_right_margin(GTK_TEXT_VIEW(view), 1);
g_signal_connect(G_OBJECT(view), "key-press-event",
G_CALLBACK(cb_key_press_event), NULL);
g_signal_connect(G_OBJECT(view), "button-press-event",
@ -350,7 +350,7 @@ GtkWidget *create_text_view(void)
G_CALLBACK(cb_focus_event), NULL);
g_signal_connect_after(G_OBJECT(view), "focus-out-event",
G_CALLBACK(cb_focus_event), NULL);
g_signal_connect(G_OBJECT(buffer), "mark-set",
G_CALLBACK(cb_mark_changed), NULL);
g_signal_connect(G_OBJECT(buffer), "mark-deleted",
@ -364,8 +364,8 @@ GtkWidget *create_text_view(void)
g_signal_connect_after(G_OBJECT(buffer), "end-user-action",
G_CALLBACK(cb_end_user_action), view);
cb_end_user_action(buffer, view);
*/
*/
linenum_init(view);
return view;
}

View File

@ -1,7 +1,7 @@
/*
* L3afpad - GTK+ based simple text editor
* Copyright (C) 2004-2005 Tarot Osuji
*
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or

View File

@ -1,7 +1,7 @@
/*
* L3afpad - GTK+ based simple text editor
* Copyright (C) 2004-2005 Tarot Osuji
*
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
@ -33,55 +33,59 @@ MainWin *create_main_window(void)
GtkWidget *view;
// gint size;
// GtkAdjustment *hadj, *vadj;
MainWin *mw = g_malloc(sizeof(MainWin));
window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
// gtk_window_set_title(GTK_WINDOW(window), PACKAGE_NAME);
gtk_widget_set_name(window, PACKAGE_NAME);
gtk_window_set_icon_from_file(GTK_WINDOW(window), ICONDIR"/l3afpad.png", NULL);
gtk_window_set_default_icon_name(PACKAGE);
g_signal_connect(G_OBJECT(window), "delete-event",
G_CALLBACK(on_file_quit), NULL);
g_signal_connect_after(G_OBJECT(window), "delete-event",
G_CALLBACK(gtk_widget_hide_on_delete), NULL);
vbox = gtk_vbox_new(FALSE, 0);
gtk_orientable_set_orientation(GTK_ORIENTABLE(vbox), GTK_ORIENTATION_VERTICAL);
gtk_container_add(GTK_CONTAINER(window), vbox);
menubar = create_menu_bar(window);
gtk_box_pack_start(GTK_BOX(vbox), gtk_item_factory_get_widget(GTK_UI_MANAGER(menubar), "/M"), FALSE, FALSE, 0);
sw = gtk_scrolled_window_new(NULL, NULL);
gtk_widget_set_hexpand (sw, TRUE);
gtk_widget_set_vexpand (sw, TRUE);
gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw),
GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS);
gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(sw),
GTK_SHADOW_IN);
gtk_box_pack_start(GTK_BOX(vbox), sw, TRUE, TRUE, 0);
view = create_text_view();
gtk_container_add(GTK_CONTAINER(sw), view);
/*
/*
hadj = gtk_scrolled_window_get_hadjustment(GTK_SCROLLED_WINDOW(sw));
vadj = gtk_scrolled_window_get_vadjustment(GTK_SCROLLED_WINDOW(sw));
g_signal_connect_after(G_OBJECT(hadj), "value-changed",
G_CALLBACK(cb_scroll_event), view);
g_signal_connect_after(G_OBJECT(vadj), "value-changed",
G_CALLBACK(cb_scroll_event), view);
*/
*/
mw->window = window;
mw->menubar = menubar;
mw->view = view;
mw->buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(view));
return mw;
}
void set_main_window_title(void)
{
gchar *title;
title = get_file_basename(pub->fi->filename, TRUE);
gtk_window_set_title(GTK_WINDOW(pub->mw->window), title);
g_free(title);

View File

@ -1,7 +1,7 @@
/*
* L3afpad - GTK+ based simple text editor
* Copyright (C) 2004-2005 Tarot Osuji
*
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or