On Wed Sep 11 2013 at 7:14:49 PM, tsteven4 <tsteven4@gmail.com> wrote:
This patch seems to allow Qt5 to be used with the gui.  I have only
tested on linux.  With Qt5 I only have an installation I built myself.
Both the cross and native versions of Qt5 on Fedora 18 seem to have bits
missing that we need.  This patch is compatible with Qt4.  It would be
nice if we could test it with some more standard installation of Qt5.

I've consciously stayed away from Qt5 so far to avoid making the Qt4 users (you in particular :-) crazy, but this is pretty minor, so if it makes it easier for someone, OK.

 I have
found I need to use
./configure .... QMAKE=xxx  LUPDATE=yyy LRELEASE=zzz
where xxx, yyy, and zzz are the Qt5 versions of the above programs.
Then I have to edit the Makefile and change QtCore to Qt5Core
and add -fPIE to GBCFLAGS or set QT_LIBS and EXTRA_CFLAGS appropriately
on the make command line.

This seems to hint that qmake -query isn't doing its thing or we're not looking for it hard enough.  It should hock up a set of tuples for things like QT_INSTALL_BINS:/usr/some/screwy/path/that/varies/between/every/stupid/OS and you should be able to find LUPDATE in QT_INSTALL_BINS.  At a glance, configure.in isn't using it as aggressively as it could; it seems to hope that LUPDATE and LRELEASE are in your $PATH.

It's probably worth saying that I'm not really certain the top level configure/make thing and the gui level play as well with each other as they could.

Unless makelinuxdist.sh.in solves some problem for you, I think we can drop it.  None of the Linux distros seem to use our packaging; they all want to do their own thing.

It does catch my eye that we're probably misusing tr() in optionsdlg.  tr really needs to be called on something resembling a string literal; the toAscii() here is papering over that problem, but there's no way that a translation will work there.  Please drop the tr and the .toAscii().data() stuff completely before committing.

Localizations is something I was really exicted about for 1.4.0 and something we put a lot of time into.  Except for outright bugs during the early betas that resulted in NO strings being found, I'm surprised at how little feedback we've gotten in terms of new translations.  We admittedly have a weird mismash of English-only in the core (which we could address, but I'm not sure it's wise - I don't _want_ command line arguments or error messages changing and the reality is we display little else) and localized text in the GUI.   This is about the same balance as, say, the Linux or OS/X kernel vs. the GUI and for similar reasons.

Other than that little tweak, commit away.

Thanx for working this out.

Other than these changes in the gpsbabel directory all the changes I
needed for the gui are in the patch (and r4600).

I think we need to continue to support Qt4, but if we can support Qt5 at
the same time then that seems like goodness.


How ServiceNow helps IT people transform IT departments:
1. Consolidate legacy IT systems to a single system of record for IT
2. Standardize and globalize service processes across IT
3. Implement zero-touch automation to replace manual, redundant tasks
mailing list  http://www.gpsbabel.org