* Depend on x11/c++-gtk-utils, instead of x11/gtkmm
Changelog:
Version 3.2.13 (11th April 2014)
--------------
Fix API breakage in GTK+-3.12 (the buttons of GtkDialog objects
have been made internal instead of non-internal children of the
action area box) (dialog.h, dialog.cpp).
Put icon in efax and efax-gtk about dialogs (dialogs.cpp).
Replace AC_CONFIG_HEADER macro with AC_CONFIG_HEADERS when
configuring (Samuli Suominen) (configure.ac).
Update build system to automake-1.13.3 (config.guess, config.sub,
depcomp, INSTALL).
Update desktop file (Samuli Suominen) (efax-gtk.desktop).
Version 3.2.12 (1st June 2013)
--------------
Force GType initialisation of GtkEntry for GtkSettings
(mainwindow.cpp).
Correct entry sizing in settings dialog (settings.cpp).
Improve tray icon sizing (tray_icon.cpp).
Permit the program to build against c++-gtk-utils-2.2 (this
requires increasing the c++-gtk-utils-1.2 dependency to 1.2.13,
and increasing the c++-gtk-utils-2.0 dependency to 2.0.1)
(acinclude.m4, README; mainwindow.h, mainwindow.cpp).
Cause bootstrap.sh to build translation files (bootstrap.sh).
Update build system to automake-1.13.1 (configure.ac,
config.guess, config.sub, depcomp, INSTALL, install-sh, missing;
src/Makefile.am; efax/Makefile.am).
Version 3.2.11 (1st January 2013)
--------------
Workaround for a bug in GtkFileChooserDialog in later versions of
gtk+-2.24 (dialogs.cpp).
Change efax-gtk.desktop to meet
http://specifications.freedesktop.org/menu-spec/menu-spec-latest.html
recommendations (efax-gtk.desktop).
Add French translation (Charlie Ledocq) (po/fr.po, LINGUAS).
Version 3.2.10 (21st October 2012)
--------------
Update build system to automake-1.12.1 and autoconf-2.69.
Suppress gtk+-3 deprecation warnings (acinclude.m4).
Set locale even if NLS not set (main.cpp).
Deal better with GtkMessageDialog format string (dialog.cpp).
Use automake silent rules (configure.ac).
Correct icon entry in efax-gtk.desktop file (efax-gtk.desktop).
Simplify file chooser selection code (dialogs.cpp).
Call atexit() instead of glib's now deprecated g_atexit() (the use
of atexit() in this program is entirely safe) (main.cpp).
Remove unnecessary pointer value check in present_prog()
(main.cpp).
Add Spanish translation (Antonio Trujillo) (po/LINGUAS, po/es.po,
po/efax-gtk.pot; mainwindow.cpp).
Update copyright notices (COPYING, README; addressbook.h,
addressbook.cpp, dialogs.h, dialogs.cpp, efax_controller.h,
efax_controller.cpp, fax_list.h, fax_list.cpp, fax_list_manager.h,
fax_list_manager.cpp, file_list.h, file_list.cp, gpl.h,
helpfile.h, helpfile.cpp, logger.h, logger.cpp, main.cpp,
mainwindow.h, mainwindow.cpp, prog_defs.h, redial_queue.h,
redial_queue.cpp, settings.h, settings.cpp, settings_help.h,
settings_help.cpp, socket_list.h, socket_list.cpp,
socket_notify.h, socket_notify.cpp, socket_server.h,
socket_server.cpp, tray_icon.h, tray_icon.cpp;
utils/cairo_handle.h, utils/icon_info_handle.h,
utils/mono_tiff_print_manager.h,
utils/mono_tiff_print_manager.cpp,
utils/pango_layout_iter_handle.h, utils/selected_rows_handle.h,
utils/selected_rows_handle.cpp, utils/sem_sync.h,
utils/tiff_handle.h, utils/toolbar_append_widget.h,
utils/toolbar_append_widget.cpp, utils/tree_path_handle.h,
utils/tree_row_reference_handle.h, utils/utf8_utils.h,
utils/utf8_utils.cpp;
efax-gtk-faxfilter/efax-gtk-socket-client.cpp.
Update documentation (README).
Update configuration scripts (acinclude.m4).
Version 3.2.9 (21st December 2011)
-------------
Have a hard dependency on c++-gtk-utils-1.2 >= 1.2.7 or
c++-gtk-utils-2.0 >= 2.0.0-rc1, so that C++0x/11 can be more
easily supported, and maintainability is improved (README,
acinclude.m4, configure.ac, src/Makefile.am,
src/utils/Makefile.am, po/POTFILES.in; delete src/internal
directory and its contents.)
Make the settings help dialogs of a reasonable size with GTK+3
(settings_help.cpp).
Permit IPv6 addresses to be specified with a wildcard and only
one, or no, ':' character (socket_server.cpp).
Explicitly set shadow type of fax input frame (mainwindow.cpp).
Change library linking order (src/Makefile.am and
efax/Makefile.am).
Remove unnecessary configure checks (acinclude.m4, configure.ac
and src/Makefile.am)
Upgrade gettext to version 0.18 and include m4 macros
(po/Makefile.in.in, po/Rules-quot, m4 directory, Makefile.am).
Add proper header checks at configuration time (configure.ac).
Version 3.2.8 (30th March 2011)
-------------
Permit IPv6 addresses in domain name form as well as in numeric
format (socket_server.h and socket_server.cpp).
Improve error checking and so suppress gcc-4.6 warning
(mainwindow.cpp; utils/mono_tiff_print_manager.cpp).
Upgrade internal c++-gtk-utils version.
Version 3.2.7.1 (16th March 2011)
---------------
Correct style change handling (mainwindow.h, mainwindow.cpp).
Update comments in efax-gtkrc on "SOCK_OTHER_ADDRESSES:" for IPv6
(efax-gtkrc).
Version 3.2.7 (14th March 2011)
-------------
Change default gtk target to gtk+3, and permit
--with-gtk-version=gtk2 and --with=gtk-version=gtk3 as well as
--with-gtk-version=gtk+2 and --with=gtk-version=gtk+3
(acinclude.m4, README).
Provide option for server to accept IPv6 connections (efax-gtkrc;
prog_defs.h, main.cpp, mainwindow.cpp, settings.h, settings.cpp,
settings_help.h, settings_help.cpp, socket_server.h and
socket_server.cpp).
Use GtkStyleContext for a GTK+3 compile (acinclude.m4;
addressbook.cpp, dialogs.h, dialogs.cpp, fax_list.cpp,
fax_list-manager.cpp, helpfile.cpp, logger.cpp, main.cpp,
mainwindow.h and mainwindow.cpp).
Correct non-sh-ism in configuration files (acinclude.m4).
Include efax-gtk.png icon in rpm spec file (efax-gtk.spec.in).
Minor adjustments to MonoTiffPrintManager implementation
(utils/mono_tiff_print_manager.h and
utils/mono_tiff_print_manager.cpp).
Provide some explicit casts for std::pair constructor required by
C++0x (dialogs.cpp, fax_list.cpp, file_list.cpp, socket_list.cpp).
Provide compile option for c++-gtk-utils-2.0 (acinclude.m4,
README; efax_controller.cpp, fax_list.cpp, gpl.h, logger.cpp,
socket_server.h and socket_server.cpp).
Surpress warning about std::auto_ptr being deprecated when
compiling under C++0x (acinclude.m4).
Upgrade internal c++-gtk-utils version to 1.2.12 (and also adjust
the configuration files for that (acinclude.m4, configure.ac;
src/internal/c++-gtk-utils/Makefile.am)).
Version 3.2.6 (13th November 2010)
-------------
Do not require dbus-glib where glib >= 2.26 is installed
(acinclude.4, configure.ac, src/Makefile.am,
src/internal/c++-gtk-utils/Makefile.am with upgraded
c++-gtk-utils).
Fixes for gtk+-2.91 (acinclude.m4, addressbook.cpp, dialogs.cpp,
fax_list.cpp, fax_list_manager.cpp, helpfile.cpp, logger.cpp,
main.cpp, mainwindow.h, mainwindow.cpp, settings.cpp and
socket_notify.cpp).
Improve widget sizing for widgets displaying text
(efax_controller.h, mainwindow.h and mainwindow.cpp).
Fix compilation error with gtk+-2.12 (mainwindow.cpp).
Remove anachronistic comment (utils/mono_tiff_print_manager.cpp).
Upgrade internal c++-gtk-utils version to 1.2.7.
Version 3.2.5 (13th October 2010)
-------------
Fix segfault when printing faxes with cairo-1.10
(utils/mono_tiff_print_manager.h and
utils/mono_tiff_print_manager.cpp).
Use cairo rather than the GDK drawing functions to draw the
indicator of whether there are print jobs from the socket to be
faxed (mainwindow.h, mainwindow.cpp and utils/cairo_handle.h).
Use gtk_tree_view_convert_bin_window_to_widget_coords() instead of
gtk_widget_get_pointer() in order to obtain the pointer position
in widget co-ordinates for tree view motion notify events
(fax_list_manager.cpp).
Modify argument handling for efax message functions to avoid an
invalid double call to vfprintf() on the same va_list value (this
bug is triggered on some systems when using the 'fax' script but
does not directly affect efax-gtk) (efax/efaxmsg.c, efax/PATCHES).
Upgrade internal c++-gtk-utils version to 1.2.6.
Version 3.2.4 (2nd August 2010)
-------------
Fix uncaught exception where a file to be faxed is not in valid
postscript/PDF format (efax_controller.cpp).
Include the former gnome stock_send-fax icon as the standard icon
for efax-gtk (Makefile.am, efax-gtk.desktop, efax-gtk.png,
AUTHORS; main.cpp).
Use XkbBell() rather than XBell() where available (acinclude.m4,
main.cpp).
Include pkg-config test for x11.pc, if available (acinclude.m4 and
src/Makefile.am).
Further build fixes for Debian Hurd (src/efax_controller.cpp and
src/fax_list.cpp; efax/efaxmsg.c).
Update Hungarian translation (László Csordás) (hu.po and
mainwindow.cpp).
Remove redundant anonymous namespace for callbacks with C linkage
(addressbook.h, addressbook.cpp, dialogs.h, dialogs.cpp,
fax_list.h, fax_list.cpp, fax_list_manager.h,
fax_list_manager.cpp, file_list.h, file_list.cpp, helpfile.h,
helpfile.cpp, logger.h, logger.cpp, mainwindow.h, mainwindow.cpp,
redial_queue.h, redial_queue.cpp, settings.h, settings.cpp,
settings_help.h, settings_help.cpp, socket_list.h,
socket_list.cpp, socket_notify.h, socket_notify.cpp, tray_icon.h,
tray_icon.cpp, utils/mono_tiff_print_manager.h,
utils/mono_tiff_print_manager.cpp, utils/selected_rows_handle.h,
utils/selected_rows_handle.cpp).
Correct linkage specification of present_prog() (main.cpp).
Use Cgu::start_timeout_seconds() rather than Cgu::start_timeout()
where available (fax_list_manager.cpp, logger.cpp).
Remove redundant comments (prog_defs.h,
utils/toolbar_append_widget.cpp).
Upgrade internal c++-gtk-utils version to 1.2.4.
* Provide compilation option for GTK+3 as well as GTK+2
* Make program configuration check for _POSIX_CLOCK_SELECTION as
well as _POSIX_MONOTONIC_CLOCK when checking the availability of
monotonic clocks for condition variables (corrects BSD builds)
* Ensure PIPE_BUF is defined in mainwindow.cpp (corrects Hurd build).
* Upgrade internal c++-gtk-utils version to 1.2.3.
Changes 3.2.2:
* Update internal copy of c++-gtk-utils to version 1.2.2 and fix
compilation error with gcc-4.5.0.
* Provide an automatic redial option where the modem is in use or
the recipient of a fax is busy.
* Get GUI to deal with a corner case where sending a fax from the
socket server to an empty number (open connection) is cancelled.
* Provide an error dialog if, on program start-up, a connection to
the dbus session message bus cannot be established.
* Use Cgu::start_timeout_seconds() instead of Cgu::start_timeout()
where glib supports it, and so bump c++-gtk-utils requirement to
version 1.2.1.
* Fix regression in 3.0.19 which causes incorrect fault handling if
efax-gtk is given an invalid postscript file.
* Provide new Emitter/EmitterArg and SafeEmitter/SafeEmitterArg
classes for thread-safe signalling.
* Provide a Callback::post() function which provides for thread-safe
disconnection of a callback if the object whose method it
encapsulates has been destroyed.
Changes 3.0.19:
* If the gtk+ version is >= 2.8.0 and X11 is the backend, use gdk
X11 functions to move the program window to the current workspace
if the user tries to start another instance.
* Include gtk/gtk.h, gdk/gdk.h and glib.h instead of individual
gtk+/glib header files.
* Correct failure to print or view logfile if the logfile user
setting does not have an absolute path name.
* Allow choice of priorities in Callback::post() function. Provide
Callback::Functor class wrapping Callback objects and further
generalise Callback objects.
* Improve iconified tracking.
* Correct the order in which tests based on the definitions in
config.h are carried out, when choosing header files to be included.
* Include fsync() call after flushing fdoutbuf stream buffer.
* Minor code layout improvements.
* Print received/sent faxes via cairo, libtiff and GtkPrintOperation
when efax-gtk is compiled against GTK+ >= 2.10.0, instead of
converting to postscript with efix.
* Minor improvements to the TextPrintManager implementation.
* Make use of GTK+ print system the default when efax-gtk is
compiled against GTK+ >= 2.10.0.
* Correct man file.
* Replace thread-unsafe use of sigc::slot where relevant with thread
safe callback classes
* Compile fixes for gcc-4.3
* Fix '=' for '==' error
* Remove unnecessary debugging code
* Update config.guess, config.sub, install-sh, missing and
mkinstalldirs to automake-1.9
* Correct comments in pipes.h
* Provide an option for prepending a standard prefix on dialling
* Implement start_iowatch() without a sigc::signal object (that is,
using only a sigc::slot object for the callback)
* Corrections to syntax of efax-gtk.1 (man file) and
efax-gtk.desktop.
* Add reference to -e option in efax man file
* Add more robust checking of whether an existing instance of
efax-gtk is running when another instance is started
* Correct conditional compilation for use of GTK+ printing system to
check for version 2.10
* Update comments on threading in prog_defs.h
* Update Catalan translation
* Update README file
* Add provision for printing and viewing the logfile
* Make the expose event handler for the drawing area of the "Fax
from socket" notifier more efficient
* Move PrintManager class to utils sub-directory as FilePrintManager
class and provide new TextPrintManager class
* Correctly show help dialog for GTK+ print system checkbox in
settings dialog
* Explicitly forbid copying of IntrusiveCounter and
IntrusiveLockCounter class objects
* Do not initialise the pthread_cond_t object in a Thread::Cond
object if the call to pthread_condattr_setclock() fails (this
avoids a possible resource leak)
* Improve GError handling where relevant
* Change use of g_list_append() to g_list_prepend()
* Greek translation updated.
Cater for postscript viewers such as evince which, if an instance
of the program is already running, will return before the file to
be viewed is displayed.
Changes 3.0.13:
Use GtkToolItem interface where compiled against GTK+ >= 2.4
Use Glib atomic functions for locked reference counting where
compiled against glib >= 2.4
Improve robustness of referencing of PrintManager class
Don't allow GtkEntry objects to select contents automatically when
acquiring focus and update copyright notice
Take some miscellaneous thread functions/objects out of global
namespace
Refer to evince rather than ggv as the Gnome ps file viewer
Modify interface of AsyncQueue class
In the README file, refer to using rpmbuild and not rpm to build
rpm packages.
Update Catalan translation (Jordi Sayol) and Hebrew translation
Correct failure to clear the list of permitted client addresses
for the socket interface after changing settings from the settings
dialog.
Hostname addresses permitted to connect to the socket server may
now be specified in numeric dot notation. Numeric dot notation
may also contain a trailing * as a wildcard.
Make memory management of the PrintManager class easier/safer for
the user.
Revise method for passing of arguments to threads.
Correct threading explanation for the program.
Correct format of efax-gtk man page.
Revise the 'mail_fax' script to refer to Heirloom mailx rather
than nail.
Update the copyright dates in the efax-gtk man file.
PkgSrc: do not depend on comms/efax, fixing PR#33788
* Correct file descriptor leak when viewing a fax.
* Implement printing of faxes in fax lists via the GTK+ print system
where compiled against GTK+2.10 or higher.
* Improve handling of user locales with streams.
* Use AC_COMPILE_IFELSE/AC_LANG_PROGRAM autoconf macros instead of
the AC_TRY_COMPILE macro when configuring the program.
* Correct derivation of fdistream class for wide characters (not
relevant to efax-gtk).
* Mention the need to call g_thread_init() before Notifier::init()
in the Notifier documentation.
* Correct help information concerning sending faxes via socket and
pop-up dialog.
* Explicitly include <ios> header where relevant.
Update Albanian translation (Besnik Bleta) and Catalan translation
Add Traditional Chinese translation (including efax-gtk.desktop)
Make the sort direction of the fax lists selectable
Improve time reporting to main window and to logfile
Have GobjHandle<> sink objects with floating references, and with
GTK+-2.9 and above use g_object_ref_sink() instead of
g_object_ref()/gtk_object_sink()
Have consistent keys shortcuts for the closing of dialogs
Use in_addr_t type explicitly where relevant
More...
Swedish translation added (Daniel Nylander).
Catalan translation added (Jordi Sayol Salomo).
Use gtk_widget_queue_draw() to update the drawing area which
indicates whether a fax is in the "faxes to send" queue via an
expose event rather than doing it directly.
Cater for serial port devices in sub-directories of /dev.
Have Notifier objects detect whether the signalling thread is the
same one as the thread in which the slot will execute and if so
by-pass the Notifier pipe, and implement Notifier objects without
using a map and object IDs.
Correctly handle case of constructor of SharedPtr and SharedHandle
objects throwing.
Allow the program to compile without X.
Document the use of G_IO_HUP with iowatches.
Correct comments about the use of PipeFifo::connect_to_stdout()
and PipeFifo::connect_to_stderr().
Improve text for translation about modem classes.
Include <ostream> and <istream> headers file where relevant.
Update Greek translation (Hellenic Linux Users Group).
Add German translation (po/de.po and mainwindow.cpp).
Destroy thread attribute object correctly (utils/thread.h and
utils/thread.cpp).
Use GtkSpinButton objects in the settings dialog where relevant
(settings.h, settings.cpp and settings_help.cpp).
Improve documentation/commenting of write_error() function
(mainwindow.cpp).
Update gettext tools to latest version (gettext-0.14.5)
(po/Makevars and po/Rules-quot).
Move typedef of InstanceMap into the Notifier class
(utils/notifier.h and utils/notifier.cpp).
Provide specific CFLAGS and CXXFLAGS specification in rpm spec
file (efax-gtk.spec.in and efax-gtk.spec).
Add simplified Chinese translation
Provide internationalisation support for the efax program to which
efax-gtk is a front end
Make the fax top header line of a sent fax charset independent,
and remove some incorrect codeset conversions
Deal with two minor timing/race issues
Make Notifier::make_id() a static method, since it only uses local
or static objects
Instead of omitting the call to setlocale() in efax/efix.c, after
setting the locales to match their environment, reset LC_NUMERIC
to the "C" locale
Update Hungarian translation
Provide a further explicit cast to void* in sentinel for elipsis
arguments, for 64-bit systems
Provide for the automatic updating of the fax lists when a fax is
received or sent
Provide for the received fax list to show the number of new faxes
received since the program was last started
Make minor changes to handling of colours of certain labels
Make the program close properly if the "Quit" item is chosen from
the system tray menu and a blocking modal dialog is showing
Remove unnecessary use of GtkAlignment objects to adjust labels
Add a date column to the fax lists, which derives the time of the
fax from the fax ID (the directory in which faxes are stored)
Provide for the fax ID (the directory in which faxes are stored)
for received faxes to be derived from the time that the fax is
received rather than the time that efax-gtk is put into receive
mode. This enables the fax lists to display the correct time of a
received fax.
Now that stored fax directories (fax name IDs) are not displayed
in the fax lists, provide the part of the ID representing a year
in 4 (or more) digit rather than 2 digit format (someone in 2099
might be pleased!).
Put a UTF-8 validation function in namespace Utf8.
Where relevant, handle PipeFifo and Notifier errors by exceptions
- consequential on putting the source for these in the utils
sub-directory.
Change clean-up arrangements on start-up.
Correct false calls to _exit() in FaxListDialog::view_fax_thread()
Make the PipeFifo and SemSync classes explicitly non-copiable
Provide further explicit casts to void* in sentinels for elipsis
arguments for 64-bit systems.
Provide a settings option to omit the destination fax number from
the fax page top header line
Use a mutex to ensure that writes to the Notifier pipe are atomic
between threads
Some fixes for 64 bit systems:
Fixes for (harmless) warnings issued by gcc-4.0
Fix bug where the Trash folder is dragged in the fax lists
(fax_list_manager.cpp).
Greek translation added (the Hellenic Linux Users Group
translation team).
Italian translation updated (Luca De Rugeriis).
Adjust image sizes for toolbar buttons in GTK+2.4 or higher
(fax_list.cpp, file_list.cpp and socket_list.cpp).
Provision to ensure synchronisation of memory where necessary in
multi-processor systems (efax_controller.h and
efax_controller.cpp).
This program is a Gtk+/Gtk-- front end for the efax program for
receiving and sending faxes with a fax modem. To use it you must have
efax and ghostscript installed, and the executables (efax, efix and
gs) must be situated in the default system path.
Any files to be faxed must be in postscript format, which is the
generic printer format for Unix/Linux systems. The program will use
ghostscript to convert these into the Group 3 fax format which the fax
modem will understand.