diff --git a/.gitignore b/.gitignore index adf4569..088810a 100644 --- a/.gitignore +++ b/.gitignore @@ -3,7 +3,6 @@ *.swo *~ ABOUT-NLS -INSTALL Makefile Makefile.in aclocal.m4 diff --git a/AUTHORS b/AUTHORS index 28b23d1..f9ada77 100644 --- a/AUTHORS +++ b/AUTHORS @@ -1,15 +1,7 @@ - ________ ________ ___ ___ ________ ________ ________ - / _____/ / __ / / / / / / __ / /__ ___/ / __ / - / /____ / /_/ / / /_/ / / / / / / / / / / / - / _____/ / _____/ / __ / / / / / / / / / / / -/ /_____ / / / / / / / /_/ / / / / /_/ / -________/ /__/ /__/ /__/ /_______/ /_/ /_______/ - -===Project Manager/Lead Developer=== +Project Manager/Lead Developer: Stephen "okra" Houston -===Developers=== +Contributors: Gustavo Sverzut Barbieri Otávio Pontes Daniel Juyung Seo -And others. diff --git a/COPYING b/COPYING index be1b337..c1435da 100644 --- a/COPYING +++ b/COPYING @@ -1,4 +1,4 @@ -Copyright (C) 2000-2011 Stephen Houston +Copyright (C) 2000-2015 Stephen Houston All rights reserved. Redistribution and use in source and binary forms, with or without modification, diff --git a/Makefile.am b/Makefile.am index 800020a..a02c518 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,30 +1,72 @@ MAINTAINERCLEANFILES = \ - Makefile.in ABOUT-NLS INSTALL aclocal.m4 config.guess compile \ - config.h.in config.rpath config.sub configure install-sh \ - ltconfig ltmain.sh missing mkinstalldirs \ - m4/lib-link.m4 m4/lib-prefix.m4 m4/lib-ld.m4 m4/lcmessage.m4 \ - m4/libtool.m4 m4/ulonglong.m4 \ - m4/inttypes-pri.m4 m4/progtest.m4 m4/uintmax_t.m4 m4/lt~obsolete.m4 \ - m4/stdint_h.m4 m4/intdiv0.m4 \ - m4/iconv.m4 m4/po.m4 m4/isc-posix.m4 m4/inttypes.m4 m4/ltsugar.m4 \ - m4/glibc21.m4 m4/gettext.m4 m4/ltversion.m4 \ - m4/codeset.m4 m4/inttypes_h.m4 m4/ltoptions.m4 m4/nls.m4 \ - po/Rules-quot po/en@quot.header po/insert-header.sin \ - po/quot.sed po/en@boldquot.header po/boldquot.sed \ - po/Makevars.template po/remove-potcdate.sin po/Makefile.in.in \ - stamp-h.in acconfig.h depcomp +ABOUT-NLS* \ +Makefile.in \ +$(PACKAGE_TARNAME)-$PACKAGE_VERSION).tar.gz \ +$(PACKAGE_TARNAME)-$PACKAGE_VERSION).tar.xz \ +acconfig.h \ +aclocal.m4 \ +compile \ +config.guess \ +config.h.in \ +config.rpath \ +config.sub \ +configure \ +depcomp \ +install-sh \ +ltconfig \ +ltmain.sh \ +missing \ +mkinstalldirs \ +stamp-h.in \ +stamp-h + +if HAVE_PO +MAINTAINERCLEANFILES += \ +m4/codeset.m4 \ +m4/gettext.m4 \ +m4/glibc21.m4 \ +m4/iconv.m4 \ +m4/intdiv0.m4 \ +m4/inttypes.m4 \ +m4/inttypes_h.m4 \ +m4/inttypes-pri.m4 \ +m4/isc-posix.m4 \ +m4/lcmessage.m4 \ +m4/lib-ld.m4 \ +m4/lib-link.m4 \ +m4/lib-prefix.m4 \ +m4/libtool.m4 \ +m4/lt~obsolete.m4 \ +m4/ltoptions.m4 \ +m4/ltsugar.m4 \ +m4/ltversion.m4 \ +m4/nls.m4 \ +m4/po.m4 \ +m4/progtest.m4 \ +m4/stdint_h.m4 \ +m4/uintmax_t.m4 \ +m4/ulonglong.m4 \ +po/boldquot.sed \ +po/en@boldquot.header \ +po/en@quot.header \ +po/insert-header.sin \ +po/Makefile.in.in \ +po/Makevars.template \ +po/quot.sed \ +po/remove-potcdate.sin \ +po/Rules-quot # no idea why this is required, it should not be: DISTCLEANFILES = po/stamp-po +endif + SUBDIRS = src data if HAVE_PO SUBDIRS += po endif -EXTRA_DIST = README AUTHORS COPYING ephoto.spec +EXTRA_DIST = README AUTHORS COPYING autogen.sh ephoto.spec ACLOCAL_AMFLAGS = -I m4 - -DISTCHECK_CONFIGURE_FLAGS = --disable-quicklaunch diff --git a/NEWS b/NEWS index 5f4b7dc..b344d52 100644 --- a/NEWS +++ b/NEWS @@ -1,9 +1 @@ - ________ ________ ___ ___ ________ ________ ________ - / _____/ / __ / / / / / / __ / /__ ___/ / __ / - / /____ / /_/ / / /_/ / / / / / / / / / / / - / _____/ / _____/ / __ / / / / / / / / / / / -/ /_____ / / / / / / / /_/ / / / / /_/ / -________/ /__/ /__/ /__/ /_______/ /_/ /_______/ - - -Ephoto is located in git at apps/ephoto. +Ephoto is located in git at https://git.enlightenment.org/apps/ephoto.git diff --git a/README b/README index 0236e99..5e2095a 100644 --- a/README +++ b/README @@ -1,10 +1 @@ - ________ ________ ___ ___ ________ ________ ________ - / _____/ / __ / / / / / / __ / /__ ___/ / __ / - / /____ / /_/ / / /_/ / / / / / / / / / / / - / _____/ / _____/ / __ / / / / / / / / / / / -/ /_____ / / / / / / / /_/ / / / / /_/ / -________/ /__/ /__/ /__/ /_______/ /_/ /_______/ - - -Ephoto Image Viewer/Editor/Manipulator/Slideshow creator. - +Ephoto - A comprehensive image viewer written using the core EFL. diff --git a/TODO b/TODO index b7c0f88..f8f0be5 100644 --- a/TODO +++ b/TODO @@ -1,25 +1,16 @@ - ________ ________ ___ ___ ________ ________ ________ - / _____/ / __ / / / / / / __ / /__ ___/ / __ / - / /____ / /_/ / / /_/ / / / / / / / / / / / - / _____/ / _____/ / __ / / / / / / / / / / / -/ /_____ / / / / / / / /_/ / / / / /_/ / -________/ /__/ /__/ /__/ /_______/ /_/ /_______/ - - TODO- -===Config=================== +-Config: Add more options to the config. -===Thumb Browser============ -Add a way to view more info -============================ -===Single Image Mode======== +-Single Browser: +Add cropping capability. Add neat effects like grayscale, sepia, HSV/RGB, etc... -Save changes made to images. -============================ -===Slideshow================ --Possibly look at implementing moving slideshows. -============================ -===Other Random Features==== --Exporting to flickr, facebook, etc.. --Read straight from a camera +Add ability to save images. +-Thumb Browser: +Add ability to view more info on image(Exif perhaps?) +Turn file selector into a tree. +-Slideshow: +Possibly look at implementing moving slideshows. +-Other: +Exporting to flickr, facebook, etc.. +Read straight from a camera ============================ diff --git a/configure.ac b/configure.ac index a1a95da..cb23d5a 100644 --- a/configure.ac +++ b/configure.ac @@ -1,131 +1,75 @@ -##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--## -##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--## -m4_define([v_maj], [0]) -m4_define([v_min], [1]) -m4_define([v_mic], [1]) -m4_define([v_rev], m4_esyscmd([(svnversion "${SVN_REPO_PATH:-.}" | grep -v export || echo 0) | awk -F : '{printf("%s\n", $1);}' | tr -d ' :MSP\n'])) -m4_if(v_rev, [0], [m4_define([v_rev], m4_esyscmd([git log 2> /dev/null | (grep -m1 git-svn-id || echo 0) | sed -e 's/.*@\([0-9]*\).*/\1/' | tr -d '\n']))]) -##-- When released, remove the dnl on the below line -# m4_undefine([v_rev]) -##-- When doing snapshots - change soname. remove dnl on below line -m4_define([relname], [ver-pre-svn-08]) -m4_define([v_rel], [-release relname]) -##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--## -m4_ifdef([v_rev], [m4_define([v_ver], [v_maj.v_min.v_mic.v_rev])], [m4_define([v_ver], [v_maj.v_min.v_mic])]) -m4_define([lt_rev], m4_eval(v_maj + v_min)) -m4_define([lt_cur], v_mic) -m4_define([lt_age], v_min) -##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--## -##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--## +dnl Process this file with autoconf to produce a configure script. + +# get rid of that stupid cache mechanism +rm -f config.cache + +EFL_VERSION([0], [0], [1], [dev]) +AC_INIT([ephoto], [efl_version], [enlightenment-devel@lists.sourceforge.net]) -AC_INIT([ephoto], [v_ver], [enlightenment-devel@lists.sourceforge.net]) AC_PREREQ([2.60]) AC_CONFIG_SRCDIR([configure.ac]) AC_CONFIG_MACRO_DIR([m4]) -AC_GNU_SOURCE -AC_CANONICAL_BUILD -AC_CANONICAL_HOST -AC_ISC_POSIX -AM_INIT_AUTOMAKE(1.6 dist-bzip2) AC_CONFIG_HEADERS(src/bin/config.h) + +AM_INIT_AUTOMAKE(1.6 dist-xz) m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) -define([AC_LIBTOOL_LANG_CXX_CONFIG], [:]) -define([AC_LIBTOOL_LANG_GCJ_CONFIG], [:]) -define([AC_LIBTOOL_LANG_F77_CONFIG], [:]) -AC_PROG_LIBTOOL - -VMAJ=`echo $PACKAGE_VERSION | awk -F. '{printf("%s", $1);}'` -VMIN=`echo $PACKAGE_VERSION | awk -F. '{printf("%s", $2);}'` -VMIC=`echo $PACKAGE_VERSION | awk -F. '{printf("%s", $3);}'` -SNAP=`echo $PACKAGE_VERSION | awk -F. '{printf("%s", $4);}'` -version_info=`expr $VMAJ + $VMIN`":$VMIC:$VMIN" -m4_ifdef([v_rev], , [m4_define([v_rev], [0])]) -AC_DEFINE_UNQUOTED(VREV, [v_rev], [Revison]) -AC_SUBST(VMAJ) -AC_SUBST(version_info) - -AC_C_BIGENDIAN -AC_PROG_CC_C99 +AC_USE_SYSTEM_EXTENSIONS +AC_PROG_CC AM_PROG_CC_C_O -AC_C_CONST -AC_FUNC_ALLOCA AC_C___ATTRIBUTE__ -m4_ifdef([v_mic], - [ - EFL_COMPILER_FLAG([-Wall -Wextra]) - EFL_COMPILER_FLAG([-W]) - ]) - -EFL_COMPILER_FLAG([-Wshadow]) -EFL_COMPILER_FLAG([-fvisibility=hidden]) -EFL_COMPILER_FLAG([-ffunction-sections -fdata-sections]) -EFL_LINKER_FLAG([-fvisibility=hidden]) -EFL_LINKER_FLAG([-Wl,--as-needed]) -EFL_LINKER_FLAG([-Wl,--gc-sections]) - -ALL_LINGUAS=`cat po/LINGUAS | grep -v '^[ ]*#'` -AC_SUBST(ALL_LINGUAS) - -m4_ifdef([AM_GNU_GETTEXT_VERSION], [ -AM_GNU_GETTEXT_VERSION([0.17]) +m4_ifdef([AM_GNU_GETTEXT_VERSION],[ +AM_GNU_GETTEXT_VERSION([0.18]) ]) m4_ifdef([AM_GNU_GETTEXT], [ -AM_GNU_GETTEXT([external]) +AM_GNU_GETTEXT([external], [need-ngettext]) po_makefile_in=po/Makefile.in -AM_CONDITIONAL([HAVE_PO], [true]) +have_po="yes" ],[ -AM_CONDITIONAL([HAVE_PO], [false]) +have_po="no" ]) -AC_SUBST(LTLIBINTL) - -PKG_CHECK_MODULES([ELEMENTARY], [elementary ecore-file ethumb_client]) -PKG_CHECK_MODULES([EFREET_MIME], [efreet-mime]) - -want_quicklaunch="auto" -AC_ARG_ENABLE([quicklaunch], - [AC_HELP_STRING([--disable-quicklaunch], - [disable build of quicklaunch (default=auto)])], - [if test "x${enableval}" = "xno"; then - want_quicklaunch="no" - elif test "x${enableval}" = "xyes"; then - want_quicklaunch="yes" - else - want_quicklaunch="auto" - fi - ], - [want_quicklaunch="auto"]) - -if test "x${want_quicklaunch}" = "xauto"; then - AC_MSG_CHECKING([checking for elementary_quicklaunch binary...]) - if test -x $(pkg-config --variable=prefix elementary)/bin/elementary_quicklaunch; then - AC_MSG_RESULT([found, enable quicklaunch.]) - want_quicklaunch="yes" - else - AC_MSG_RESULT([not found, disable quicklaunch.]) - want_quicklaunch="no" - fi +AC_SUBST(LTLLIBINTL) +if test "x$LIBINTL" = "x"; then + LIBINTL="$INTLLIBS" fi -if test "x${want_quicklaunch}" = "xyes"; then - AC_ARG_WITH([quicklauncher-libdir], - [AC_HELP_STRING([--with-quicklauncher-libdir=PATH], - [specify a specific path to install quicklauncher binaries])], - [quicklauncher_libdir=$withval; - AC_MSG_NOTICE([quicklauncher_libdir explicitly set to $quicklauncher_libdir]) - ], - [quicklauncher_libdir=$(pkg-config --variable=libdir elementary)]) - AC_SUBST(quicklauncher_libdir) +if test "x${POSUB}" = "x" ; then + have_po="no" fi -AM_CONDITIONAL(BUILD_QUICKLAUNCH, test "x${want_quicklaunch}" = "xyes") +AM_CONDITIONAL([HAVE_PO], [test "x${have_po}" = "xyes"]) + +PKG_CHECK_MODULES([EFL], [ + eina >= 1.7.0 + evas >= 1.7.0 + ecore >= 1.7.0 + edje >= 1.7.0 + eo >= 1.7.0 + eio >= 1.7.0 + elementary >= 1.7.0 + efreet-mime >= 1.7.0 +]) + +AC_ARG_WITH([tests], + [AC_HELP_STRING([--with-tests=none|regular|coverage], + [choose testing method: regular, coverage, or none. + @<:@default=none:>@])], + [build_tests=${withval}], + [build_tests=auto]) + +EFL_TESTS([${build_tests}]) + +EFL_WITH_BIN([edje], [edje-cc], [edje_cc]) + +AC_CONFIG_FILES([ +ephoto.spec +]) AC_OUTPUT([ Makefile -ephoto.spec data/Makefile data/desktop/Makefile src/Makefile @@ -134,45 +78,23 @@ $po_makefile_in ]) +########################################################################### +## Info -cat << EOF ------------------------------------------------------------------------- -$PACKAGE $VERSION ------------------------------------------------------------------------- - - ________ ________ ___ ___ ________ ________ ________ - / _____/ / __ / / / / / / __ / /__ ___/ / __ / - / /____ / /_/ / / /_/ / / / / / / / / / / / - / _____/ / _____/ / __ / / / / / / / / / / / -/ /_____ / / / / / / / /_/ / / / / /_/ / -________/ /__/ /__/ /__/ /_______/ /_/ /_______/ - - -ephoto configured with: - -Flags: - CFLAGS.....(C): $CFLAGS - CXXFLAGS.(C++): $CXXFLAGS - CPPFLAGS.(CPP): $CPPFLAGS - LDFLAGS...(LD): $LDFLAGS - -Installation: - PREFIX..............: $prefix - -Quick Launcher: ${want_quicklaunch} -EOF - -if test "x${want_quicklaunch}" = "xyes"; then -cat << EOF_QL - quicklauncher_libdir: $quicklauncher_libdir - -EOF_QL -fi - -cat << EOF2 - -Now type 'make' ('gmake' on some systems) to compile ephoto, if it -builds successfully then you can 'make install', acquiring required -permissions with 'su' or 'sudo'. - -EOF2 +echo +echo +echo +echo "------------------------------------------------------------------------" +echo "$PACKAGE_NAME $PACKAGE_VERSION" +echo "------------------------------------------------------------------------" +echo +echo "Compilation..............: make (or gmake)" +echo " CPPFLAGS...............: $CPPFLAGS" +echo " CFLAGS.................: $CFLAGS" +echo " LDFLAGS................: $LDFLAGS" +echo +echo "Building tests...........: ${have_tests}" +echo +echo "Installation:............: make install (as root if needed, with 'su' or 'sudo')" +echo " prefix.................: $prefix" +echo diff --git a/data/desktop/Makefile.am b/data/desktop/Makefile.am index b5c8832..e336782 100644 --- a/data/desktop/Makefile.am +++ b/data/desktop/Makefile.am @@ -1,4 +1,4 @@ -MAINTAINERCLEANFILES = Makefile.in +MAINTAINERCLEANFILES = Makefile.in Makefile desktopdir = $(datadir)/applications desktop_DATA = ephoto.desktop diff --git a/src/bin/Makefile.am b/src/bin/Makefile.am index df5ea41..905f450 100644 --- a/src/bin/Makefile.am +++ b/src/bin/Makefile.am @@ -1,19 +1,19 @@ MAINTAINERCLEANFILES = *.o config.h.in config.h Makefile.in Makefile stamp-h1 -AM_CPPFLAGS = \ +bin_PROGRAMS = ephoto + +ephoto_CPPFLAGS = \ -I$(top_srcdir) \ -I$(top_srcdir)/src/bin \ -DPACKAGE_DATA_DIR=\"$(datadir)/$(PACKAGE)\" \ - -DGETTEXT_PACKAGE=\"$(PACKAGE)\" \ - -DLOCALEDIR=\"$(localedir)\" \ - @ELEMENTARY_CFLAGS@ @EFREET_MIME_CFLAGS@ - -bin_PROGRAMS = ephoto -if BUILD_QUICKLAUNCH -bin_PROGRAMS += ephoto_ql + @EFL_CFLAGS@ +ephoto_LDADD = @EFL_LIBS@ +if HAVE_PO +ephoto_CPPFLAGS += -DLOCALEDIR=\"$(localedir)\" +ephoto_LDADD += @LIBINTL@ endif -_sources = \ +ephoto_SOURCES = \ ephoto.c \ ephoto_main.c \ ephoto_config.c \ @@ -21,30 +21,5 @@ _sources = \ ephoto_single_browser.c \ ephoto_slideshow.c - -_libs = @ELEMENTARY_LIBS@ @EFREET_MIME_LIBS@ - -ephoto_SOURCES = $(_sources) -ephoto_LDADD = $(_libs) - -noinst_HEADERS = gettext.h ephoto.h -EXTRA_DIST = gettext.h ephoto.h - -if BUILD_QUICKLAUNCH -############################################################################ -## Build quick launch binary, needs elementary_quicklaunch to be enabled. ## -## ## -## It is composed of a library with actual code and a binary that talks ## -## to server that will then fork() + dlopen() such library. ## -############################################################################ -ephoto_qldir = $(quicklauncher_libdir) -ephoto_ql_LTLIBRARIES = ephoto_ql.la -ephoto_ql_la_SOURCES = $(_sources) -ephoto_ql_la_LIBADD = $(_libs) -ephoto_ql_la_CFLAGS = -ephoto_ql_la_LDFLAGS = -module -avoid-version -no-undefined -ephoto_ql_SOURCES = ephoto.c -ephoto_ql_LDADD = @ELEMENTARY_LIBS@ -ephoto_ql_CFLAGS = -DELM_LIB_QUICKLAUNCH=1 -ephoto_ql_LDFLAGS = -endif +noinst_HEADERS = ephoto.h +EXTRA_DIST = ephoto.h diff --git a/src/bin/ephoto.c b/src/bin/ephoto.c index c2dc80a..a687c50 100644 --- a/src/bin/ephoto.c +++ b/src/bin/ephoto.c @@ -1,9 +1,5 @@ -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif #include -#ifndef ELM_LIB_QUICKLAUNCH - +#include "config.h" #include "ephoto.h" static void _ephoto_display_usage(void); @@ -14,21 +10,19 @@ int __log_domain = -1; EAPI int elm_main(int argc, char **argv) { -// Ethumb_Client *client; int r = 0; -#if ENABLE_NLS - setlocale(LC_ALL, ""); - bindtextdomain(GETTEXT_PACKAGE, LOCALEDIR); - bind_textdomain_codeset(GETTEXT_PACKAGE, "UTF-8"); - textdomain(GETTEXT_PACKAGE); -#endif - eio_init(); elm_need_efreet(); elm_need_ethumb(); elm_init(argc, argv); +#if HAVE_GETTEXT && ENABLE_NLS + elm_app_compile_locale_set(LOCALEDIR); + bindtextdomain(PACKAGE, elm_app_locale_dir_get()); + textdomain(PACKAGE); +#endif + __log_domain = eina_log_domain_register("ephoto", EINA_COLOR_ORANGE); if (!__log_domain) { @@ -105,5 +99,4 @@ _ephoto_display_usage(void) "ephoto dirname : Specifies a directory to open\n"); } -#endif ELM_MAIN()