diff -Naur -x Makefile -x Makefile.initvars -x '*.dll' -x 'conf*.pri' -x '*.zip' -x '*.exe' -x '*.map' -x '*.obj' -x '*.moc' -x '*.rcc' -x iris.prl -x irisnet.prl -x '*.sym' -x .ui -x '*.bak' -x '*.lib' -x '*.rsp' -x 'moc_*.cpp' -x Info.plist -x conf.log -x .qmake.cache -x build.sh -x '*.pem' vendor/current/configure trunk/configure --- vendor/current/configure 2016-11-17 17:03:00.000000000 +0100 +++ trunk/configure 2016-11-18 11:32:54.000000000 +0100 @@ -393,7 +393,7 @@ if [ "$QC_VERBOSE" = "Y" ]; then echo "running: $cmd" fi - vout=`/bin/sh -c "$cmd" 2>&1` + vout=`sh -c "$cmd" 2>&1` case "${vout}" in ?.?.?) vmaj="${vout%%.*}" @@ -1137,8 +1137,8 @@ QString shortname() const { return "qjdns"; } bool exec() { -#if defined Q_OS_WIN || defined Q_OS_MAC - // HACK: on Windows and Mac OS X, always use psi's bundled qjdns +#if defined Q_OS_WIN || defined Q_OS_MAC || defined Q_OS_OS2 + // HACK: on Windows, OS/2 and Mac OS X, always use psi's bundled qjdns conf->addExtra("CONFIG += iris-qjdns"); return true; #else @@ -1254,13 +1254,13 @@ qc_qdbus(Conf *c) : ConfObj(c) {} QString name() const { return "QDBUS"; } QString shortname() const { return "qdbus"; } -#ifdef Q_OS_WIN +#if defined(Q_OS_WIN) || defined(Q_OS_OS2) QString checkString() const { return QString(); } #endif bool exec() { -#ifdef Q_OS_WIN - // skip dbus support on windows +#if defined(Q_OS_WIN) || defined(Q_OS_OS2) + // skip dbus support on windows and OS/2 return false; #else if (!conf->getenv("QC_DISABLE_qdbus").isEmpty()) @@ -2307,18 +2307,36 @@ QString path = qc_getenv("PATH"); if(!path.isEmpty()) { -#ifdef Q_OS_WIN +#if defined(Q_OS_WIN) || defined(Q_OS_OS2) list = path.split(';', QString::SkipEmptyParts); #else list = path.split(':', QString::SkipEmptyParts); #endif } -#ifdef Q_OS_WIN +#if defined(Q_OS_WIN) || defined(Q_OS_OS2) list.prepend("."); #endif return list; } +#ifdef Q_OS_OS2 +QStringList qc_getpath(const int type) +{ + QStringList list; + QString path; + if (type == 1) + path = qc_getenv("CPLUS_INCLUDE_PATH"); + else + path = qc_getenv("LIBRARY_PATH"); + + if(!path.isEmpty()) + { + list = path.split(';', QString::SkipEmptyParts); + } + return list; +} +#endif + QString qc_findprogram(const QString &prog) { QString out; @@ -2332,8 +2350,8 @@ break; } -#ifdef Q_OS_WIN - // on windows, be sure to look for .exe +#if defined(Q_OS_WIN) || defined(Q_OS_OS2) + // on windows and OS/2, be sure to look for .exe if(prog.right(4).toLower() != ".exe") { fi = QFileInfo(list[n] + '/' + prog + ".exe"); @@ -2350,7 +2368,7 @@ QString qc_findself(const QString &argv0) { -#ifdef Q_OS_WIN +#if defined(Q_OS_WIN) || defined(Q_OS_OS2) if(argv0.contains('\\\\')) #else if(argv0.contains('/')) @@ -2496,7 +2514,7 @@ searchStart = true; buf.clear(); continue; -#ifndef Q_OS_WIN /* on windows backslash is just a path separator */ +#if !defined(Q_OS_WIN) && !defined(Q_OS_OS2) /* on windows and OS/2 backslash is just a path separator */ } else if (flags[i] == backslash) { escaped = true; continue; // just add next symbol @@ -2570,7 +2588,7 @@ // Using Windows-style '\\\\' can leads strange compilation error with MSYS which uses // unix style. QLatin1Char nativeSep('/'); -#ifdef Q_OS_WIN +#if defined(Q_OS_WIN) || defined(Q_OS_OS2) path.replace(QLatin1Char('\\\\'), QLatin1Char('/')); #endif // trim trailing slashes @@ -2976,6 +2994,9 @@ QStringList dirs; dirs += "/usr/local/include"; dirs += ext; +#ifdef Q_OS_OS2 + dirs += qc_getpath(1); +#endif for(QStringList::ConstIterator it = dirs.begin(); it != dirs.end(); ++it) { if(checkHeader(*it, h)) @@ -3018,6 +3039,19 @@ *lib = "/usr/local/lib"; return true; } + +#ifdef Q_OS_OS2 + QStringList dirs; + dirs += qc_getpath(2); + for(QStringList::ConstIterator it = dirs.begin(); it != dirs.end(); ++it) + { + if(checkLibrary(*it, name)) + { + *lib = *it; + return true; + } + } +#endif return false; } diff -Naur -x Makefile -x Makefile.initvars -x '*.dll' -x 'conf*.pri' -x '*.zip' -x '*.exe' -x '*.map' -x '*.obj' -x '*.moc' -x '*.rcc' -x iris.prl -x irisnet.prl -x '*.sym' -x .ui -x '*.bak' -x '*.lib' -x '*.rsp' -x 'moc_*.cpp' -x Info.plist -x conf.log -x .qmake.cache -x build.sh -x '*.pem' vendor/current/iris/configure trunk/iris/configure --- vendor/current/iris/configure 2016-11-17 17:03:20.000000000 +0100 +++ trunk/iris/configure 2016-11-18 10:17:42.000000000 +0100 @@ -1112,8 +1112,8 @@ QString shortname() const { return "qjdns"; } bool exec() { -#if defined Q_OS_WIN || defined Q_OS_MAC - // HACK: on Windows and Mac OS X, always use psi's bundled qjdns +#if defined Q_OS_WIN || defined Q_OS_MAC || defined Q_OS_OS2 + // HACK: on Windows, OS/2 and Mac OS X, always use psi's bundled qjdns conf->addExtra("CONFIG += iris-qjdns"); return true; #else diff -Naur -x Makefile -x Makefile.initvars -x '*.dll' -x 'conf*.pri' -x '*.zip' -x '*.exe' -x '*.map' -x '*.obj' -x '*.moc' -x '*.rcc' -x iris.prl -x irisnet.prl -x '*.sym' -x .ui -x '*.bak' -x '*.lib' -x '*.rsp' -x 'moc_*.cpp' -x Info.plist -x conf.log -x .qmake.cache -x build.sh -x '*.pem' vendor/current/iris/qcm/qjdns.qcm trunk/iris/qcm/qjdns.qcm --- vendor/current/iris/qcm/qjdns.qcm 2014-04-17 19:29:12.000000000 +0200 +++ trunk/iris/qcm/qjdns.qcm 2014-04-23 10:35:38.000000000 +0200 @@ -17,8 +17,8 @@ QString shortname() const { return "qjdns"; } bool exec() { -#if defined Q_OS_WIN || defined Q_OS_MAC - // HACK: on Windows and Mac OS X, always use psi's bundled qjdns +#if defined Q_OS_WIN || defined Q_OS_MAC || defined Q_OS_OS2 + // HACK: on Windows, OS/2 and Mac OS X, always use psi's bundled qjdns conf->addExtra("CONFIG += iris-qjdns"); return true; #else diff -Naur -x Makefile -x Makefile.initvars -x '*.dll' -x 'conf*.pri' -x '*.zip' -x '*.exe' -x '*.map' -x '*.obj' -x '*.moc' -x '*.rcc' -x iris.prl -x irisnet.prl -x '*.sym' -x .ui -x '*.bak' -x '*.lib' -x '*.rsp' -x 'moc_*.cpp' -x Info.plist -x conf.log -x .qmake.cache -x build.sh -x '*.pem' vendor/current/iris/src/irisnet/corelib/corelib.pri trunk/iris/src/irisnet/corelib/corelib.pri --- vendor/current/iris/src/irisnet/corelib/corelib.pri 2014-04-17 19:29:12.000000000 +0200 +++ trunk/iris/src/irisnet/corelib/corelib.pri 2014-04-23 10:37:56.000000000 +0200 @@ -30,6 +30,11 @@ $$PWD/netinterface_unix.cpp } +os2 { + SOURCES += \ + $$PWD/netinterface_unix.cpp +} + windows { SOURCES += \ $$PWD/netinterface_win.cpp diff -Naur -x Makefile -x Makefile.initvars -x '*.dll' -x 'conf*.pri' -x '*.zip' -x '*.exe' -x '*.map' -x '*.obj' -x '*.moc' -x '*.rcc' -x iris.prl -x irisnet.prl -x '*.sym' -x .ui -x '*.bak' -x '*.lib' -x '*.rsp' -x 'moc_*.cpp' -x Info.plist -x conf.log -x .qmake.cache -x build.sh -x '*.pem' vendor/current/iris/src/irisnet/corelib/irisnetglobal.cpp trunk/iris/src/irisnet/corelib/irisnetglobal.cpp --- vendor/current/iris/src/irisnet/corelib/irisnetglobal.cpp 2012-10-04 02:53:08.000000000 +0200 +++ trunk/iris/src/irisnet/corelib/irisnetglobal.cpp 2012-10-16 17:42:50.000000000 +0200 @@ -28,7 +28,7 @@ #ifdef Q_OS_WIN extern IrisNetProvider *irisnet_createWinNetProvider(); #endif -#ifdef Q_OS_UNIX +#if defined(Q_OS_UNIX) || defined(Q_OS_OS2) extern IrisNetProvider *irisnet_createUnixNetProvider(); #endif extern IrisNetProvider *irisnet_createJDnsProvider(); @@ -183,7 +183,7 @@ #ifdef Q_OS_WIN addBuiltIn(irisnet_createWinNetProvider()); #endif -#ifdef Q_OS_UNIX +#if defined(Q_OS_UNIX) || defined(Q_OS_OS2) addBuiltIn(irisnet_createUnixNetProvider()); #endif addBuiltIn(irisnet_createJDnsProvider()); diff -Naur -x Makefile -x Makefile.initvars -x '*.dll' -x 'conf*.pri' -x '*.zip' -x '*.exe' -x '*.map' -x '*.obj' -x '*.moc' -x '*.rcc' -x iris.prl -x irisnet.prl -x '*.sym' -x .ui -x '*.bak' -x '*.lib' -x '*.rsp' -x 'moc_*.cpp' -x Info.plist -x conf.log -x .qmake.cache -x build.sh -x '*.pem' vendor/current/iris/src/irisnet/corelib/netinterface_unix.cpp trunk/iris/src/irisnet/corelib/netinterface_unix.cpp --- vendor/current/iris/src/irisnet/corelib/netinterface_unix.cpp 2012-10-04 02:53:08.000000000 +0200 +++ trunk/iris/src/irisnet/corelib/netinterface_unix.cpp 2012-10-18 15:13:40.000000000 +0200 @@ -97,8 +97,10 @@ if(((struct sockaddr *)&ifr->ifr_addr)->sa_family == AF_INET) { sockaddr_len = sizeof(struct sockaddr_in); +#ifndef Q_OS_OS2 } else if(((struct sockaddr *)&ifr->ifr_addr)->sa_family == AF_INET6) { sockaddr_len = sizeof(struct sockaddr_in6); +#endif } else { sockaddr_len = sizeof(struct sockaddr); } diff -Naur -x Makefile -x Makefile.initvars -x '*.dll' -x 'conf*.pri' -x '*.zip' -x '*.exe' -x '*.map' -x '*.obj' -x '*.moc' -x '*.rcc' -x iris.prl -x irisnet.prl -x '*.sym' -x .ui -x '*.bak' -x '*.lib' -x '*.rsp' -x 'moc_*.cpp' -x Info.plist -x conf.log -x .qmake.cache -x build.sh -x '*.pem' vendor/current/iris/src/irisnet/noncore/cutestuff/socks.cpp trunk/iris/src/irisnet/noncore/cutestuff/socks.cpp --- vendor/current/iris/src/irisnet/noncore/cutestuff/socks.cpp 2016-04-08 16:55:40.000000000 +0200 +++ trunk/iris/src/irisnet/noncore/cutestuff/socks.cpp 2016-04-13 14:23:18.000000000 +0200 @@ -27,7 +27,7 @@ #include #include -#ifdef Q_OS_UNIX +#if defined(Q_OS_UNIX) || defined(Q_OS_OS2) #include #include #endif @@ -36,7 +36,7 @@ #include #endif -#ifdef Q_OS_UNIX +#if defined(Q_OS_UNIX) || defined(Q_OS_OS2) #include #include #endif diff -Naur -x Makefile -x Makefile.initvars -x '*.dll' -x 'conf*.pri' -x '*.zip' -x '*.exe' -x '*.map' -x '*.obj' -x '*.moc' -x '*.rcc' -x iris.prl -x irisnet.prl -x '*.sym' -x .ui -x '*.bak' -x '*.lib' -x '*.rsp' -x 'moc_*.cpp' -x Info.plist -x conf.log -x .qmake.cache -x build.sh -x '*.pem' vendor/current/iris/src/irisnet/noncore/turnclient.cpp trunk/iris/src/irisnet/noncore/turnclient.cpp --- vendor/current/iris/src/irisnet/noncore/turnclient.cpp 2013-08-22 16:54:12.000000000 +0200 +++ trunk/iris/src/irisnet/noncore/turnclient.cpp 2013-08-22 17:49:06.000000000 +0200 @@ -29,7 +29,11 @@ #include "bytestream.h" #include "bsocket.h" #include "httpconnect.h" +#ifdef Q_OS_OS2 +#include "../cutestuff/socks.h" +#else #include "socks.h" +#endif namespace XMPP { diff -Naur -x Makefile -x Makefile.initvars -x '*.dll' -x 'conf*.pri' -x '*.zip' -x '*.exe' -x '*.map' -x '*.obj' -x '*.moc' -x '*.rcc' -x iris.prl -x irisnet.prl -x '*.sym' -x .ui -x '*.bak' -x '*.lib' -x '*.rsp' -x 'moc_*.cpp' -x Info.plist -x conf.log -x .qmake.cache -x build.sh -x '*.pem' vendor/current/iris/src/jdns/src/jdns/jdns_p.h trunk/iris/src/jdns/src/jdns/jdns_p.h --- vendor/current/iris/src/jdns/src/jdns/jdns_p.h 2014-09-18 16:20:48.000000000 +0200 +++ trunk/iris/src/jdns/src/jdns/jdns_p.h 2014-09-18 16:20:20.000000000 +0200 @@ -32,6 +32,8 @@ #if defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(__NT__) # define JDNS_OS_WIN +#elif defined(__OS2__) || defined(OS2) || defined(_OS2) +# define JDNS_OS_OS2 #else # define JDNS_OS_UNIX #endif @@ -52,7 +54,7 @@ # include #endif -#ifdef JDNS_OS_UNIX +#if defined(JDNS_OS_UNIX) || defined(JDNS_OS_OS2) # include # include #endif diff -Naur -x Makefile -x Makefile.initvars -x '*.dll' -x 'conf*.pri' -x '*.zip' -x '*.exe' -x '*.map' -x '*.obj' -x '*.moc' -x '*.rcc' -x iris.prl -x irisnet.prl -x '*.sym' -x .ui -x '*.bak' -x '*.lib' -x '*.rsp' -x 'moc_*.cpp' -x Info.plist -x conf.log -x .qmake.cache -x build.sh -x '*.pem' vendor/current/iris/src/jdns/src/jdns/jdns_sys.c trunk/iris/src/jdns/src/jdns/jdns_sys.c --- vendor/current/iris/src/jdns/src/jdns/jdns_sys.c 2015-09-15 16:33:46.000000000 +0200 +++ trunk/iris/src/jdns/src/jdns/jdns_sys.c 2015-09-15 17:59:32.000000000 +0200 @@ -117,7 +117,7 @@ # include #endif -#ifdef JDNS_OS_UNIX +#if defined(JDNS_OS_UNIX) || defined(JDNS_OS_OS2) # include # include # include @@ -632,7 +632,7 @@ #endif -#ifdef JDNS_OS_UNIX +#if defined(JDNS_OS_UNIX) || defined(JDNS_OS_OS2) static jdns_dnsparams_t *dnsparams_get_unixfiles() { @@ -644,7 +644,13 @@ params = jdns_dnsparams_new(); +#ifdef JDNS_OS_OS2 + char resolvFile[MAXPATHLEN]; + sprintf(resolvFile, "%s/resolv2", getenv("ETC")); + f = jdns_fopen(resolvFile, "r"); +#else f = jdns_fopen("/etc/resolv.conf", "r"); +#endif if(!f) return params; while(1) @@ -717,8 +723,13 @@ return -1; return mac_res_init(); #else +#ifdef JDNS_OS_OS2 // on os2 we don't care about returncode + res_init(); + return 0; +#else return res_init(); #endif +#endif } #endif @@ -771,6 +782,7 @@ jdns_address_delete(addr); } #else +#ifndef JDNS_OS_OS2 //no ipv6 on os2 // nameservers - ipv6 #ifdef __GLIBC__ for(n = 0; n < MAXNS; ++n) @@ -798,6 +810,7 @@ jdns_dnsparams_append_nameserver(params, addr, JDNS_UNICAST_PORT); jdns_address_delete(addr); } +#endif // nameservers - ipv4 #ifdef __GLIBC__ @@ -866,7 +879,13 @@ params = dnsparams_get_unixfiles(); } +#ifdef JDNS_OS_OS2 + char hostsFile[MAXPATHLEN]; + sprintf(hostsFile, "%s/hosts", getenv("ETC")); + apply_hosts_file(params, hostsFile); +#else apply_hosts_file(params, "/etc/hosts"); +#endif return params; } diff -Naur -x Makefile -x Makefile.initvars -x '*.dll' -x 'conf*.pri' -x '*.zip' -x '*.exe' -x '*.map' -x '*.obj' -x '*.moc' -x '*.rcc' -x iris.prl -x irisnet.prl -x '*.sym' -x .ui -x '*.bak' -x '*.lib' -x '*.rsp' -x 'moc_*.cpp' -x Info.plist -x conf.log -x .qmake.cache -x build.sh -x '*.pem' vendor/current/iris/src/jdns/src/qjdns/qjdns_sock.cpp trunk/iris/src/jdns/src/qjdns/qjdns_sock.cpp --- vendor/current/iris/src/jdns/src/qjdns/qjdns_sock.cpp 2014-04-17 19:29:14.000000000 +0200 +++ trunk/iris/src/jdns/src/qjdns/qjdns_sock.cpp 2014-04-23 11:19:34.000000000 +0200 @@ -33,7 +33,7 @@ # include #endif -#ifdef Q_OS_UNIX +#if defined(Q_OS_UNIX) || defined(Q_OS_OS2) # include # include # include diff -Naur -x Makefile -x Makefile.initvars -x '*.dll' -x 'conf*.pri' -x '*.zip' -x '*.exe' -x '*.map' -x '*.obj' -x '*.moc' -x '*.rcc' -x iris.prl -x irisnet.prl -x '*.sym' -x .ui -x '*.bak' -x '*.lib' -x '*.rsp' -x 'moc_*.cpp' -x Info.plist -x conf.log -x .qmake.cache -x build.sh -x '*.pem' vendor/current/iris/src/xmpp/base/timezone.cpp trunk/iris/src/xmpp/base/timezone.cpp --- vendor/current/iris/src/xmpp/base/timezone.cpp 2016-04-08 16:55:40.000000000 +0200 +++ trunk/iris/src/xmpp/base/timezone.cpp 2016-04-13 12:56:58.000000000 +0200 @@ -22,7 +22,7 @@ #if QT_VERSION < QT_VERSION_CHECK(5, 2, 0) #include #include -#ifdef Q_OS_UNIX +#if defined(Q_OS_UNIX) || defined(Q_OS_OS2) #include #endif #ifdef Q_OS_WIN @@ -41,7 +41,7 @@ static void init() { -#if defined(Q_OS_UNIX) +#if defined(Q_OS_UNIX) || defined(Q_OS_OS2) time_t x; time(&x); char str[256]; diff -Naur -x Makefile -x Makefile.initvars -x '*.dll' -x 'conf*.pri' -x '*.zip' -x '*.exe' -x '*.map' -x '*.obj' -x '*.moc' -x '*.rcc' -x iris.prl -x irisnet.prl -x '*.sym' -x .ui -x '*.bak' -x '*.lib' -x '*.rsp' -x 'moc_*.cpp' -x Info.plist -x conf.log -x .qmake.cache -x build.sh -x '*.pem' vendor/current/iris/src/xmpp/xmpp-core/connector.cpp trunk/iris/src/xmpp/xmpp-core/connector.cpp --- vendor/current/iris/src/xmpp/xmpp-core/connector.cpp 2015-09-15 16:33:46.000000000 +0200 +++ trunk/iris/src/xmpp/xmpp-core/connector.cpp 2015-09-15 18:10:26.000000000 +0200 @@ -40,7 +40,11 @@ #include "bsocket.h" #include "httpconnect.h" #include "httppoll.h" +#ifdef Q_OS_OS2 +#include "../../irisnet/noncore/cutestuff/socks.h" +#else #include "socks.h" +#endif //#define XMPP_DEBUG diff -Naur -x Makefile -x Makefile.initvars -x '*.dll' -x 'conf*.pri' -x '*.zip' -x '*.exe' -x '*.map' -x '*.obj' -x '*.moc' -x '*.rcc' -x iris.prl -x irisnet.prl -x '*.sym' -x .ui -x '*.bak' -x '*.lib' -x '*.rsp' -x 'moc_*.cpp' -x Info.plist -x conf.log -x .qmake.cache -x build.sh -x '*.pem' vendor/current/iris/src/xmpp/xmpp-im/s5b.cpp trunk/iris/src/xmpp/xmpp-im/s5b.cpp --- vendor/current/iris/src/xmpp/xmpp-im/s5b.cpp 2016-04-08 16:55:40.000000000 +0200 +++ trunk/iris/src/xmpp/xmpp-im/s5b.cpp 2016-04-13 14:35:54.000000000 +0200 @@ -28,7 +28,11 @@ #include "xmpp_xmlcommon.h" #include "im.h" +#ifdef Q_OS_OS2 +#include "../../irisnet/noncore/cutestuff/socks.h" +#else #include "socks.h" +#endif #include "safedelete.h" #ifdef Q_OS_WIN diff -Naur -x Makefile -x Makefile.initvars -x '*.dll' -x 'conf*.pri' -x '*.zip' -x '*.exe' -x '*.map' -x '*.obj' -x '*.moc' -x '*.rcc' -x iris.prl -x irisnet.prl -x '*.sym' -x .ui -x '*.bak' -x '*.lib' -x '*.rsp' -x 'moc_*.cpp' -x Info.plist -x conf.log -x .qmake.cache -x build.sh -x '*.pem' vendor/current/os2/app.ico trunk/os2/app.ico --- vendor/current/os2/app.ico 1970-01-01 01:00:00.000000000 +0100 +++ trunk/os2/app.ico 2012-10-18 21:15:20.000000000 +0200 @@ -0,0 +1,30 @@ +BA(HCI +  CI0 R0ݧŤg@ޒZkH%zbJs2PkHs%WUI=1%sPkkHH%%sP๏ŠyksHW%UI=1%sPxԎkH%zbJs2PϚkH%ܹssPPЖtTkH%zb}V:iO:ǡ임֋gYFW~CuHN&u9#PԴқzpeaAMsPæҞ{whn]kHHO/5(y6z4PШְt_Wk܂]`:eFA3T0؛uu|LXoCfD{D*vO4ڥčjL%zbJs2PߺksHW%UI=1%sPԱkkHH%%sPǎkHs%WUI=1s%PkH%ܒzbsJP2kH%ssPPњϕvhݞkjӋfxFrS{Y9WFfK3_B.Q6"&&&BA(CI0 @CI0 # ;=>>>??AB C +E F F G G!I#J$L%O%R&T&V'X'Y'[%]# ^" b" e" h" k" n# q$ s't)u)x)|,.000-,,++,-//-++.26:=B"F%J(N,R.U1W3Z5]6_7_7_7`8`8a8b8b7b5_2^1]0_1a3d5h9l=pBvHzL}OQɁTʄVʆXʈỶZ΋[ϋ[ы[ӊ[ՊZ؈Z݄X߁W~U|TzRzNzL{K|KLMNNNOONONPTVWY\^`acdeghjloqrrrrrrrrqqrsuwyz|~—ŘǗɘ˘̜̚͞ϟͣ͡˥˧ʩʫ̯ϲдѶԶֶٵ۳ݲޱ߱BA( CI0 0`CI0 00 " +& * -/149>BHMSVZ`$ +b% d' h' j) n* o+r-t-v,y) |% & & & & & & +, 269;;;752/ , * * + , - - - /268<?@ABCDEFGJM O"P$T&V'Y([*^,a-b.c/c0d0d2d5d6d7d7d6d6d6c6c6b6b5d4b2a1a1`0`0_/^.^-_-_.`/c1f4i8o=sAvCwFyH}JـLہN݂O߂OONNNM~K|H|EzBy@y@z@}BBBBDEEFHIKLNPRTVWXZ[\]_```abdefhjklmnopprsuvxy{|{|~ˆÊŌƍǐɒɓǔ¡¡âáš˝͜ϛЛѝҟѢѥѧЩέΰϳ϶ѷԸض۳޲BA( +CI0  CI BA(h +CI @CI! BA(CI- 0`CI0 00Ggg''718g9Pf\Eh򀢠 +p^onyq]mirtklux jvw0@0`80?8?8?<      'G?u_%[s\,>z3_ཾо̽g̽ϣiq̼^e̳ch3psnsot)4!D]Bhplik&6Aư;ɺHoI@iWljkXFpoUӉjWkqՠ7kWWp׻KlXSllTkTmlmLPىܳ;3.-lL[zOlAv`\vٺIr~A{QQQQ\T??`08<>ppx8@88<<<<~Gcf?ģ!44x$4ɽy( 5(4s}lշou66m47|Ӿ,k!}}ϺW{̹uo¹4Yɳ̺(ɳy±rdɹop±‹¯‰¯§6!j!m5675khineOkT(3P%5XUȮ7]R8֎`TVUܤ.RaOôWV_1*\ܻ7;ۖ*8ûZĥSܴ::\[=0,B_FR֓GY@GSDEITVTGDEI>\b/LB&uCIʱ&w0aQ~(a0rtxHD}Cbmi@UjjjjJ=9*nr*aVBEEC#  u=๏iO:3ߺŠyQ6"vO4Ϛݧњڥ}V:k1Жvčxϕ؛fDtCݞkd% hÃ{D*oCT0_1jޒZA xFug@LuuHd HTW'D X~CBWM%N&uR0MktH fFLK y6`:ǡӋf,܂]Шu9#W|`)" +_ШԴ֋g<O/ְeF6Yl,+:aAkH)'Ťt.p)z4. i임¦RW1_B.fK3{Y9%n]A3X)Ҟ{rSjF%*wh5(aWFқzp;& peG0? ?0    x/›ʠQ ^+qݸ d6͝E1P+Փcݩݨ۟qwMU1K$ o8פԝӜף͜ʊZY*l4ǓΗ̑ϗΖΖΕΕϕΔա˗\45j۩ÇŋҟѡΜňǎФРաnjÇҜ٥n?AȔ‡Ιkd2ˆǓsC֍]͙ǎ}ōҝZ0a7Ȑvwl( bkÉvʐb>`2tÈ`)q>lzL}Inޒ`n5ulĈ|Lg5yex}NY,xjooG yF|gos]&I!iaf^=?bf`nA"3cf_qX1p$ N]Ub9* ~FaUbd8n;bTa~Ic1WKT\.Z+UFOz?& Q#TOROO 7GHR|@, 9VebR\ 2}=CBGv/7Irl# #Wƣ7Hn8dOC:2) 2V,—J"_1—Y- ]1pE+Zn>tCşi< 9Ģš|L/R'wJ"7S)ʨpCugʪǦmcO$~uI!"s>™ȦɪˮӸŜH"e l?̫ƪ1V*ŘÝK$ )4Y._vY.vBžȮƣS+:a6^6_40#& !ϷͰyK8; + YϺxnB Y2 ?%P2Z7G+>P1Ծѿ)W-iGצuݴ9ĊZ%êкQ5B ^{6̥vVV% ଛkA sIL5跏;{Xd/gɷ° +tWӏr=v/̋_.   + 84E2c}噊q! ]R3* ?@@ `   <<| @@p? ' t0n|yyz~YB! h#əܫa/ O庈ILްǨe4 n)zީުގT]!1$ EԀHlͥ٣٣ءزtێXh5|<-a) Mҡ߳إ՞՞՝֡ޯϞdR!3w4k߳ҜЗЗИњњњљЗЗЗљՠ޲ש^> Z$cբː͕͕͕̔̔̒̓̒Ζ̓̓̑˒ː͔٪_*' u:ٮНĉǍŋǏҡ׬ҢƍnjƊϜ֬֨ўȐŊƌŊȑܱОo5,j+ zէ‡ǐ֪q͢ǎʔˢvǖשΚ†ӥ͜g1S&͜ČӦfGAʖ˚f/BOœС~ѡŒNs@ϝ|{yɗx3g% `˙z{zϝR 4a)zϟ}{{{Рif& +:KőtuwǔuBt?ŒxusČrY! +^#sǓtut|ɗo: E~HmmtV,Z'zmnz?`'{lokrz0EwAiin`3Cf}hjmb4@n7qiing5]-{gcd{{G% +.I|ded|N- 3Y{decz\R?gh\[m\e$ a/qb^\k^d$ \*pc]]fmAv' KgVV\fEB_aWW]dA9SfVXXkf5c1aTRSbf4$ ;G`RSTa^/7g4aSSR`GEEQRMKUDV u" _.WIIHTu<<O!RPLLSMy+|'{=JBAEF5FORMMQCr$6}@KFHJL;- \'N[erkS#6Kd9] +h/F?<>AJ 7cs:E*h2Q!: W&jnZJ@R#V PU}DX& Jyám5GEm}l[')(S"g+- wf.¡u=. \ĢPy8b}|v`+5 ds:[q7]¡Mq;Ý¡l3 4\~{ub,: - XãQ!: +PĦáL /Z{tb+? ZN~ǪD1 rɫi4L +.Z~wa,> +$ +`&áťťĦƩȬδҳP%Jʬä¤ƧP0 uϰţáÚd0@(1K{GyʬͰΰO7ZZ'ţŪ¤ɭo, +9r8}IzFzE{BNG ##. @O"S&N!:%  +7 ̲èȭD(f wqrsvs ! aһƫƬǧb-Y i9ӹ˴ƮͷS$  + ! ! #$ +eBħɲκ}$y* IMT! +> ߓYok8؎RrX) ˷̹>7x"g6 +r0h3% b, ^ξ˸κdV>Z@@ B +.u-X'X"*  svPj5^ fR˶ͶS+u^%  +$ \ No newline at end of file diff -Naur -x Makefile -x Makefile.initvars -x '*.dll' -x 'conf*.pri' -x '*.zip' -x '*.exe' -x '*.map' -x '*.obj' -x '*.moc' -x '*.rcc' -x iris.prl -x irisnet.prl -x '*.sym' -x .ui -x '*.bak' -x '*.lib' -x '*.rsp' -x 'moc_*.cpp' -x Info.plist -x conf.log -x .qmake.cache -x build.sh -x '*.pem' vendor/current/os2/psi_os2.rc trunk/os2/psi_os2.rc --- vendor/current/os2/psi_os2.rc 1970-01-01 01:00:00.000000000 +0100 +++ trunk/os2/psi_os2.rc 2012-10-18 21:26:14.000000000 +0200 @@ -0,0 +1 @@ +ICON 1 DISCARDABLE "../os2/app.ico" diff -Naur -x Makefile -x Makefile.initvars -x '*.dll' -x 'conf*.pri' -x '*.zip' -x '*.exe' -x '*.map' -x '*.obj' -x '*.moc' -x '*.rcc' -x iris.prl -x irisnet.prl -x '*.sym' -x .ui -x '*.bak' -x '*.lib' -x '*.rsp' -x 'moc_*.cpp' -x Info.plist -x conf.log -x .qmake.cache -x build.sh -x '*.pem' vendor/current/os2/Readme.OS2 trunk/os2/Readme.OS2 --- vendor/current/os2/Readme.OS2 1970-01-01 01:00:00.000000000 +0100 +++ trunk/os2/Readme.OS2 2016-04-13 17:01:32.000000000 +0200 @@ -0,0 +1,266 @@ +Psi 0.16-dev for OS/2 and OS/2-based systems +-------------------------------------------- + This file contains information specific to the OS/2 and OS/2-based systems + version of Psi. Before reading it, please refer to the README file that + contains general information about Psi. + + +0. CONTENTS OF THIS FILE +======================== + 1. INTRODUCTION + 2. REQUIREMENTS + 3. INSTALLATION + 4. CONFIGURATION DATA + 5. KNOWN PROBLEMS + 6. BUGREPORTS + 7. CREDITS + 8. SUPPORT AND DONATIONS + 9. HISTORY + + +1. INTRODUCTION +=============== + Welcome to Psi version 0.16-dev for OS/2 and OS/2-based systems. + + +2. REQUIREMENTS +=============== + The following requirements can be installed either by rpm or by zip files + except Extended System Tray widget which is currently available as zip only. + + + RPM Installation (preferred): + ============================ + klibc + ----- + 1. yum install libc + + GCC4Core + -------- + 1. yum install libgcc1 + 2. yum install libssp + 3. yum install libstdc++6 libstdc++ + 4. yum install libsupc++6 libsupc++ + 5. yum install libgcc-fwd + + Qt4 dll + ------- + 1. yum install libqt4 + + Zlib + ---- + 1. yum install zlib + + openssl 1.0 + ----------- + 1. yum install openssl + + pthread + ------- + 1. yum install pthread + + aspell + ------ + 1. yum install aspell (this also installs the english dictionary) + + aspell languages + ---------------- + 1. yum install aspell-xx were xx is your language (not all are available) + + + ZIP Installation: + ================= + klibc + ----- + 1. Download klibc 0.6.6 or better (see http://svn.netlabs.org/libc for + more information) + 2. Install the files to your libpath eg x:\ecs\dll + + GCC4Core + -------- + 1. Download GCC4Core 1.2.2 or better from ftp://ftp.netlabs.org/pub/gcc + 2. Install the files to your libpath eg. x:\ecs\dll + + Qtcore4 + ------- + 1. Download Qt4 4.7.3 or better (see http://svn.netlabs.org/qt4 for more + information). 'Qt Runtime Libraries and Plugins' is sufficient. + 2. Install the files according to the readme + + Zlib + ---- + 1. Download zlib from f.i. http://rpm.netlabs.org/release/00/zip/ + 2. Unpack and install z.dll to your libpath eg. x:\ecs\dll + + openssl 1.0 + ----------- + 1. Download openssl from f.i. http://rpm.netlabs.org/release/00/zip + 2. Unpack and install the dll to your libpath eg. x:\ecs\dll + + pthread + ------- + 1. Download pthread from f.i. http://rpm.netlabs.org/release/00/zip + 2. Unpack and install the dll to your libpath eg. x:\ecs\dll + + aspell + ------ + 1. Download aspell from f.i. http://rpm.netlabs.org/release/00/zip + 2. Unpack and install the dll to your libpath eg. x:\ecs\dll + + aspell languages + ---------------- + 1. Download aspell-xx from f.i. http://rpm.netlabs.org/release/00/zip + 2. unpack the files to x:\psi_application_dir\aspell + (not all languages are available) + + Extended System Tray + -------------------- + 1. ExtendedSysTray widget for xCenter/eCenter. Not strictly required + but strongly recommended. Get it from here if you do not have it + installed already - ftp://ftp.netlabs.org/pub/qt4/xsystray/ + + +3. INSTALLATION +=============== + 1. Unzip the Psi archive containing this file to a directory of your + choice and run the Psi executable (psi.exe). + + 2. Additionally, you can download a Language Pack for your language using + the following link: http://psi-im.org/download. Copy the language file + (f.i. psi_de.qm) into the directory of psi.exe. You need to restart Psi to + load the language file. + + 3. If you want to use the 'PM Default Browser/Mail' setting to open links + within chat windows, make sure that you have the default PM browser and + mail client applications set up correctly. The easiest way to do this is + to use the 'Configure Internet Applications' tool from Hobbes + (http://hobbes.nmsu.edu/pub/os2/apps/misc/configapps1_1_1.zip). + + Please refer to the 'Known Problems' section below for additional information + on how to resolve problems you may encounter when running Psi for OS/2. + + Upgrading a previous version + ---------------------------- + If you are upgrading from a previous version of Psi, please always use a clean + directory to install the new version to avoid possible file conflicts. Psi 0.16-dev + uses a new profile data format. Starting Psi 0.16-dev the first time will migrate + your current Psi settings. If you ever want to import the settings of the + older version afterwards again delete the Psi 0.16-dev configuration data trees and + start Psi again. See section 'Configuration Data' for details. + + Please note that installing a new version to a clean directory will not affect + your existing personal configuration data (Psi profiles, account settings, + message history) because it is stored in a separate directory and therefore + will be preserved. + + +4. CONFIGURATION DATA +===================== + Psi 0.16-dev stores all configuration files (such as Psi profiles, account settings, + message history, etc.) in subdirectories of your home directory (pointed to by + the HOME environment variable). Path to home directory is usually set in your + config.sys (SET HOME=xxxxx). You can check your current home setting by entering + 'echo %home%' in a command line window. Note that if the HOME variable is + invalid or points to a non-existing location, the .config, .local and .cache + subdirectories will be created in the root directory of the boot drive! + + Standard eCS installation sets home to x:\home\default. Psi 0.16-dev configuration + is stored in following directories then - + x:\home\default\.local\share\psi + x:\home\default\.config\psi + x:\home\default\.cache\psi + + The paths and parameters to the default PM browser and mail client applications + are taken from the HINI_USER_PROFILE\WPURLDEFAULTSETTINGS registry key (stored + in the X:\OS2\OS2.INI file). + + +5. KNOWN PROBLEMS +================= + 1. If you have a single-streamed sound card (a card that cannot play + more than one sound at a time) and experience problems with sound + in Psi (such as 100% CPU load when playing too many sounds + simultaneously), try to add the following line to CONFIG.SYS + (or to the .CMD script that starts Psi): + + SET QT_PM_NO_SOUND_SHARE=YES + + This will tell the Qt library to open sound devices in the + exclusive mode. + + 2. The exit button of the Psi window does not close Psi completely but + minimizes Psi as this is the usual behaviour on other platforms. + Unfortunately Psi is not shown in the Window List. To completely close Psi + right button click (RBC) on the Psi symbol in the Extendeded System Tray + xcenter widget. If you have not installed ExtendedSysTray or in case RBC do + not work (f.i. your profile data is not complete) use TOP or KILL or another + process kill utility to exit psi.exe. + + +6. BUGREPORTS +============= + Please create bugreports at http://svn.netlabs.org/qtapps + Only bug reports with a reproducable bug are accepted. + + +7. CREDITS +========== + The port was done by Silvan Scherrer aka _diver + Thanks go to Dmitriy Kuminov for all his coding work for eCS + Special thanks of course go to the Psi developers - see + http://psi-im.org/about/ + + +8. SUPPORT AND DONATIONS +======================== + Psi port is based on volunteer work. If you would like to support further + development, you can do so in one of the following ways: + * Donate to the Qt4 project: see qt.netlabs.org for more information + * Contribute to the project: Besides actual development, this also includes + maintaining the documentation and the project web site as well as help for + users. + + +9. HISTORY +========== + + 2016-04-13 + * updated to latest 0.16-dev sources + + 2016-01-08 + * updated to latest 0.16-dev sources + + 2015-09-15 + * updated to latest 0.16-dev sources + + 2015-02-16 + * enabled spellchecker + + 2014-09-18 + * updated to latest 0.16-dev sources + + 2014-04-23 (Happy birthday Jason) + * updated to latest 0.16-dev sources + + 2014-02-18 + * updated to latest 0.16-dev sources + + 2013-12-06 + * updated to latest 0.16-dev sources + + 2013-08-23 + * updated to latest 0.16-dev sources + + 2013-02-22 + * repacked with iconsets + + 2012-10-26 + * first official Psi 0.15 port + + 2006-09-26 + * official Psi 0.10.1 port + + For general Psi history see README + + +2012-10-29 Andreas Buchinger diff -Naur -x Makefile -x Makefile.initvars -x '*.dll' -x 'conf*.pri' -x '*.zip' -x '*.exe' -x '*.map' -x '*.obj' -x '*.moc' -x '*.rcc' -x iris.prl -x irisnet.prl -x '*.sym' -x .ui -x '*.bak' -x '*.lib' -x '*.rsp' -x 'moc_*.cpp' -x Info.plist -x conf.log -x .qmake.cache -x build.sh -x '*.pem' vendor/current/psi.pro trunk/psi.pro --- vendor/current/psi.pro 2016-04-08 16:55:16.000000000 +0200 +++ trunk/psi.pro 2016-04-13 14:37:06.000000000 +0200 @@ -5,6 +5,7 @@ # configure iris unix:system("echo \"include($$top_srcdir/src/conf_iris.pri)\" > $$top_builddir/iris/conf.pri") windows:system("echo include($$top_srcdir/src/conf_iris.pri) > $$top_builddir\\iris\\conf.pri") +os2:system("echo include($$top_srcdir/src/conf_iris.pri) > $$top_builddir/iris/conf.pri") sub_iris.subdir = iris sub_src.subdir = src diff -Naur -x Makefile -x Makefile.initvars -x '*.dll' -x 'conf*.pri' -x '*.zip' -x '*.exe' -x '*.map' -x '*.obj' -x '*.moc' -x '*.rcc' -x iris.prl -x irisnet.prl -x '*.sym' -x .ui -x '*.bak' -x '*.lib' -x '*.rsp' -x 'moc_*.cpp' -x Info.plist -x conf.log -x .qmake.cache -x build.sh -x '*.pem' vendor/current/qcm/qjdns.qcm trunk/qcm/qjdns.qcm --- vendor/current/qcm/qjdns.qcm 2015-09-15 16:33:22.000000000 +0200 +++ trunk/qcm/qjdns.qcm 2015-09-15 18:17:18.000000000 +0200 @@ -17,8 +17,8 @@ QString shortname() const { return "qjdns"; } bool exec() { -#if defined Q_OS_WIN || defined Q_OS_MAC - // HACK: on Windows and Mac OS X, always use psi's bundled qjdns +#if defined Q_OS_WIN || defined Q_OS_MAC || defined Q_OS_OS2 + // HACK: on Windows, OS/2 and Mac OS X, always use psi's bundled qjdns conf->addExtra("CONFIG += iris-qjdns"); return true; #else diff -Naur -x Makefile -x Makefile.initvars -x '*.dll' -x 'conf*.pri' -x '*.zip' -x '*.exe' -x '*.map' -x '*.obj' -x '*.moc' -x '*.rcc' -x iris.prl -x irisnet.prl -x '*.sym' -x .ui -x '*.bak' -x '*.lib' -x '*.rsp' -x 'moc_*.cpp' -x Info.plist -x conf.log -x .qmake.cache -x build.sh -x '*.pem' vendor/current/src/aboutdlg.cpp trunk/src/aboutdlg.cpp --- vendor/current/src/aboutdlg.cpp 2012-10-04 02:53:02.000000000 +0200 +++ trunk/src/aboutdlg.cpp 2014-11-19 17:45:00.000000000 +0100 @@ -24,6 +24,9 @@ #include "applicationinfo.h" #include "aboutdlg.h" +#ifdef Q_OS_OS2 +#include "systeminfo.h" +#endif AboutDlg::AboutDlg(QWidget* parent) : QDialog(parent) @@ -33,7 +36,11 @@ setModal(false); +#ifdef Q_OS_OS2 + ui_.lb_name->setText ( QString("

%1 v%2 on %3

").arg(ApplicationInfo::name()).arg(ApplicationInfo::version()).arg(SystemInfo::instance()->os()) ); +#else ui_.lb_name->setText ( QString("

%1 v%2

").arg(ApplicationInfo::name()).arg(ApplicationInfo::version()) ); +#endif ui_.te_license->setText ( loadText(":/COPYING") ); diff -Naur -x Makefile -x Makefile.initvars -x '*.dll' -x 'conf*.pri' -x '*.zip' -x '*.exe' -x '*.map' -x '*.obj' -x '*.moc' -x '*.rcc' -x iris.prl -x irisnet.prl -x '*.sym' -x .ui -x '*.bak' -x '*.lib' -x '*.rsp' -x 'moc_*.cpp' -x Info.plist -x conf.log -x .qmake.cache -x build.sh -x '*.pem' vendor/current/src/applicationinfo.cpp trunk/src/applicationinfo.cpp --- vendor/current/src/applicationinfo.cpp 2016-05-02 17:20:46.000000000 +0200 +++ trunk/src/applicationinfo.cpp 2016-05-02 17:48:50.000000000 +0200 @@ -143,7 +143,7 @@ { #if defined(HAVE_X11) return PSI_DATADIR; -#elif defined(Q_OS_WIN) +#elif defined(Q_OS_WIN) || defined(Q_OS_OS2) return qApp->applicationDirPath(); #elif defined(Q_OS_MAC) // FIXME: Clean this up (remko) @@ -238,7 +238,7 @@ QDir configDir(QDir::homePath() + "/Library/Application Support/" + name()); QDir cacheDir(QDir::homePath() + "/Library/Caches/" + name()); QDir dataDir(configDir); -#elif defined HAVE_X11 +#elif defined HAVE_X11 || defined(Q_OS_OS2) QString XdgConfigHome = QString::fromLocal8Bit(getenv("XDG_CONFIG_HOME")); QString XdgDataHome = QString::fromLocal8Bit(getenv("XDG_DATA_HOME")); QString XdgCacheHome = QString::fromLocal8Bit(getenv("XDG_CACHE_HOME")); diff -Naur -x Makefile -x Makefile.initvars -x '*.dll' -x 'conf*.pri' -x '*.zip' -x '*.exe' -x '*.map' -x '*.obj' -x '*.moc' -x '*.rcc' -x iris.prl -x irisnet.prl -x '*.sym' -x .ui -x '*.bak' -x '*.lib' -x '*.rsp' -x 'moc_*.cpp' -x Info.plist -x conf.log -x .qmake.cache -x build.sh -x '*.pem' vendor/current/src/common.cpp trunk/src/common.cpp --- vendor/current/src/common.cpp 2016-11-17 17:03:02.000000000 +0100 +++ trunk/src/common.cpp 2016-11-18 10:32:32.000000000 +0100 @@ -285,7 +285,7 @@ return; } -#if defined(Q_OS_WIN) || defined(Q_OS_MAC) +#if defined(Q_OS_WIN) || defined(Q_OS_MAC) || defined(Q_OS_OS2) QSound::play(str); #else QString player = PsiOptions::instance()->getOption("options.ui.notifications.sounds.unix-sound-player").toString(); diff -Naur -x Makefile -x Makefile.initvars -x '*.dll' -x 'conf*.pri' -x '*.zip' -x '*.exe' -x '*.map' -x '*.obj' -x '*.moc' -x '*.rcc' -x iris.prl -x irisnet.prl -x '*.sym' -x .ui -x '*.bak' -x '*.lib' -x '*.rsp' -x 'moc_*.cpp' -x Info.plist -x conf.log -x .qmake.cache -x build.sh -x '*.pem' vendor/current/src/config.h trunk/src/config.h --- vendor/current/src/config.h 1970-01-01 01:00:00.000000000 +0100 +++ trunk/src/config.h 2016-11-18 11:34:06.000000000 +0100 @@ -0,0 +1,3 @@ +#define PSI_LIBDIR "/usr/local/lib/psi" +#define PSI_DATADIR "/usr/local/share/psi" +#define PSI_VERSION "0.16-dev-20161118" diff -Naur -x Makefile -x Makefile.initvars -x '*.dll' -x 'conf*.pri' -x '*.zip' -x '*.exe' -x '*.map' -x '*.obj' -x '*.moc' -x '*.rcc' -x iris.prl -x irisnet.prl -x '*.sym' -x .ui -x '*.bak' -x '*.lib' -x '*.rsp' -x 'moc_*.cpp' -x Info.plist -x conf.log -x .qmake.cache -x build.sh -x '*.pem' vendor/current/src/homedirmigration.cpp trunk/src/homedirmigration.cpp --- vendor/current/src/homedirmigration.cpp 2016-04-08 16:55:16.000000000 +0200 +++ trunk/src/homedirmigration.cpp 2016-04-13 14:55:50.000000000 +0200 @@ -165,7 +165,7 @@ QString dstDirName; QRegExp settingsXp("^/psirc$|^/profiles/\\w*/accounts.xml$|^/profiles/\\w*/accounts.xml.backup$|" - "^/profiles/\\w*/options.xml$|^/profiles/\\w*/options.xml.backup$|^/profiles/\\w*/mucskipautojoin.txt$"); + "^/profiles/\\w*/options.xml$|^/profiles/\\w*/options.xml.backup$|^/profiles/\\w*/config.xml$|^/profiles/\\w*/mucskipautojoin.txt$"); QRegExp cacheXp("^/tmp-contentdownloader/.*$|^/tmp-sounds/.*$|^/tmp-pics/.*$|" "^/bob/.*|^/avatars/.*$|^/profiles/\\w*/vcard/.*$|^/caps.xml$|^/tune$"); @@ -254,6 +254,9 @@ base = QDir::cleanPath(base); oldHomeDir_.setPath(base + "/PsiData"); +#elif defined Q_OS_OS2 + QString base = QDir::homePath(); + oldHomeDir_.setPath(base + "/PsiData"); #endif return oldHomeDir_.exists(); } diff -Naur -x Makefile -x Makefile.initvars -x '*.dll' -x 'conf*.pri' -x '*.zip' -x '*.exe' -x '*.map' -x '*.obj' -x '*.moc' -x '*.rcc' -x iris.prl -x irisnet.prl -x '*.sym' -x .ui -x '*.bak' -x '*.lib' -x '*.rsp' -x 'moc_*.cpp' -x Info.plist -x conf.log -x .qmake.cache -x build.sh -x '*.pem' vendor/current/src/libpsi/tools/globalshortcut/globalshortcut.pri trunk/src/libpsi/tools/globalshortcut/globalshortcut.pri --- vendor/current/src/libpsi/tools/globalshortcut/globalshortcut.pri 2013-12-03 19:04:12.000000000 +0100 +++ trunk/src/libpsi/tools/globalshortcut/globalshortcut.pri 2013-12-05 14:05:14.000000000 +0100 @@ -16,3 +16,6 @@ HEADERS += \ $$PWD/NDKeyboardLayout.h } +os2: { + SOURCES += $$PWD/globalshortcutmanager_pm.cpp +} diff -Naur -x Makefile -x Makefile.initvars -x '*.dll' -x 'conf*.pri' -x '*.zip' -x '*.exe' -x '*.map' -x '*.obj' -x '*.moc' -x '*.rcc' -x iris.prl -x irisnet.prl -x '*.sym' -x .ui -x '*.bak' -x '*.lib' -x '*.rsp' -x 'moc_*.cpp' -x Info.plist -x conf.log -x .qmake.cache -x build.sh -x '*.pem' vendor/current/src/libpsi/tools/globalshortcut/globalshortcutmanager_pm.cpp trunk/src/libpsi/tools/globalshortcut/globalshortcutmanager_pm.cpp --- vendor/current/src/libpsi/tools/globalshortcut/globalshortcutmanager_pm.cpp 1970-01-01 01:00:00.000000000 +0100 +++ trunk/src/libpsi/tools/globalshortcut/globalshortcutmanager_pm.cpp 2012-10-18 15:08:06.000000000 +0200 @@ -0,0 +1,63 @@ +/* + * globalshortcutmanager_pm.cpp - PM implementation of global shortcuts + * Copyright (C) 2003-2006 Justin Karneges, Maciej Niedzielski + * + * 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 library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + */ + +/****** @todo this is heavily needed so do it once */ + +#include "globalshortcutmanager.h" +#include "globalshortcuttrigger.h" + +#include + +class GlobalShortcutManager::KeyTrigger::Impl : public QWidget +{ +public: + /** + * Constructor registers the hotkey. + */ + Impl(GlobalShortcutManager::KeyTrigger* t, const QKeySequence& ks) + { + } + + /** + * Destructor unregisters the hotkey. + */ + ~Impl() + { + } + + /** + * Triggers triggered() signal when the hotkey is activated. + */ + +private: + +}; + + +GlobalShortcutManager::KeyTrigger::KeyTrigger(const QKeySequence& key) +{ + d = new Impl(this, key); +} + +GlobalShortcutManager::KeyTrigger::~KeyTrigger() +{ + delete d; + d = 0; +} diff -Naur -x Makefile -x Makefile.initvars -x '*.dll' -x 'conf*.pri' -x '*.zip' -x '*.exe' -x '*.map' -x '*.obj' -x '*.moc' -x '*.rcc' -x iris.prl -x irisnet.prl -x '*.sym' -x .ui -x '*.bak' -x '*.lib' -x '*.rsp' -x 'moc_*.cpp' -x Info.plist -x conf.log -x .qmake.cache -x build.sh -x '*.pem' vendor/current/src/libpsi/tools/idle/idle.pri trunk/src/libpsi/tools/idle/idle.pri --- vendor/current/src/libpsi/tools/idle/idle.pri 2012-10-04 02:53:12.000000000 +0200 +++ trunk/src/libpsi/tools/idle/idle.pri 2012-10-18 14:31:18.000000000 +0200 @@ -11,3 +11,6 @@ mac: { SOURCES += $$PWD/idle_mac.cpp } +os2 { + SOURCES += $$PWD/idle_x11.cpp +} diff -Naur -x Makefile -x Makefile.initvars -x '*.dll' -x 'conf*.pri' -x '*.zip' -x '*.exe' -x '*.map' -x '*.obj' -x '*.moc' -x '*.rcc' -x iris.prl -x irisnet.prl -x '*.sym' -x .ui -x '*.bak' -x '*.lib' -x '*.rsp' -x 'moc_*.cpp' -x Info.plist -x conf.log -x .qmake.cache -x build.sh -x '*.pem' vendor/current/src/libpsi/tools/simplecli/simplecli.cpp trunk/src/libpsi/tools/simplecli/simplecli.cpp --- vendor/current/src/libpsi/tools/simplecli/simplecli.cpp 2013-08-22 16:54:16.000000000 +0200 +++ trunk/src/libpsi/tools/simplecli/simplecli.cpp 2013-12-05 14:24:28.000000000 +0100 @@ -84,7 +84,7 @@ */ QHash SimpleCli::parse(int argc, char* argv[], const QList& terminalArgs, int* safeArgc) { -#ifdef Q_OS_WIN +#if defined(Q_OS_WIN) || defined(Q_OS_OS2) const bool winmode = true; #else const bool winmode = false; diff -Naur -x Makefile -x Makefile.initvars -x '*.dll' -x 'conf*.pri' -x '*.zip' -x '*.exe' -x '*.map' -x '*.obj' -x '*.moc' -x '*.rcc' -x iris.prl -x irisnet.prl -x '*.sym' -x .ui -x '*.bak' -x '*.lib' -x '*.rsp' -x 'moc_*.cpp' -x Info.plist -x conf.log -x .qmake.cache -x build.sh -x '*.pem' vendor/current/src/libpsi/tools/spellchecker/aspellchecker.cpp trunk/src/libpsi/tools/spellchecker/aspellchecker.cpp --- vendor/current/src/libpsi/tools/spellchecker/aspellchecker.cpp 2016-04-08 16:55:40.000000000 +0200 +++ trunk/src/libpsi/tools/spellchecker/aspellchecker.cpp 2016-04-13 18:02:48.000000000 +0200 @@ -36,10 +36,19 @@ : config_(new_aspell_config()) { aspell_config_replace(config_, "encoding", "utf-8"); -#ifdef Q_OS_WIN +#if defined(Q_OS_WIN) || defined(Q_OS_OS2) +#if defined(Q_OS_OS2) + // on os/2 we overwrite the directory only if not in an rpm installed system + if (!getenv("UNIXROOT")) + { +#endif aspell_config_replace(config_, "conf-dir", QDir::homePath().toLocal8Bit().data()); aspell_config_replace(config_, "data-dir", QString("%1/aspell").arg(QCoreApplication::applicationDirPath()).toLocal8Bit().data()); aspell_config_replace(config_, "dict-dir", QString("%1/aspell").arg(QCoreApplication::applicationDirPath()).toLocal8Bit().data()); +#if defined(Q_OS_OS2) + } +#endif + #endif setActiveLanguages(getAllLanguages()); } diff -Naur -x Makefile -x Makefile.initvars -x '*.dll' -x 'conf*.pri' -x '*.zip' -x '*.exe' -x '*.map' -x '*.obj' -x '*.moc' -x '*.rcc' -x iris.prl -x irisnet.prl -x '*.sym' -x .ui -x '*.bak' -x '*.lib' -x '*.rsp' -x 'moc_*.cpp' -x Info.plist -x conf.log -x .qmake.cache -x build.sh -x '*.pem' vendor/current/src/libpsi/tools/spellchecker/hunspellchecker.cpp trunk/src/libpsi/tools/spellchecker/hunspellchecker.cpp --- vendor/current/src/libpsi/tools/spellchecker/hunspellchecker.cpp 2016-04-08 16:55:40.000000000 +0200 +++ trunk/src/libpsi/tools/spellchecker/hunspellchecker.cpp 2016-04-13 15:19:38.000000000 +0200 @@ -67,10 +67,17 @@ #elif defined(Q_OS_MAC) dictPathSet << QLatin1String("/opt/local/share/myspell"); // MacPorts standard paths #else +#ifdef O_OS_OS2 + dictPathSet << QLatin1String("/@unixroot/usr/share/myspell") + << QLatin1String("/@unixroot/usr/share/hunspell") + << QLatin1String("/@unixroot/usr/local/share/myspell") + << QLatin1String("/@unixroot/usr/local/share/hunspell") +#else dictPathSet << QLatin1String("/usr/share/myspell") << QLatin1String("/usr/share/hunspell") << QLatin1String("/usr/local/share/myspell") << QLatin1String("/usr/local/share/hunspell") +#endif << QString("%1/.local/share/myspell").arg(QDir::home().absolutePath()) << QString("%1/.local/share/hunspell").arg(QDir::home().absolutePath()); #endif diff -Naur -x Makefile -x Makefile.initvars -x '*.dll' -x 'conf*.pri' -x '*.zip' -x '*.exe' -x '*.map' -x '*.obj' -x '*.moc' -x '*.rcc' -x iris.prl -x irisnet.prl -x '*.sym' -x .ui -x '*.bak' -x '*.lib' -x '*.rsp' -x 'moc_*.cpp' -x Info.plist -x conf.log -x .qmake.cache -x build.sh -x '*.pem' vendor/current/src/libpsi/tools/systemwatch/systemwatch.pri trunk/src/libpsi/tools/systemwatch/systemwatch.pri --- vendor/current/src/libpsi/tools/systemwatch/systemwatch.pri 2012-10-04 02:53:12.000000000 +0200 +++ trunk/src/libpsi/tools/systemwatch/systemwatch.pri 2013-08-23 10:33:04.000000000 +0200 @@ -14,3 +14,7 @@ HEADERS += $$PWD/systemwatch_mac.h SOURCES += $$PWD/systemwatch_mac.cpp } +os2 { + HEADERS += $$PWD/systemwatch_unix.h + SOURCES += $$PWD/systemwatch_unix.cpp +} diff -Naur -x Makefile -x Makefile.initvars -x '*.dll' -x 'conf*.pri' -x '*.zip' -x '*.exe' -x '*.map' -x '*.obj' -x '*.moc' -x '*.rcc' -x iris.prl -x irisnet.prl -x '*.sym' -x .ui -x '*.bak' -x '*.lib' -x '*.rsp' -x 'moc_*.cpp' -x Info.plist -x conf.log -x .qmake.cache -x build.sh -x '*.pem' vendor/current/src/main.cpp trunk/src/main.cpp --- vendor/current/src/main.cpp 2016-11-17 17:03:02.000000000 +0100 +++ trunk/src/main.cpp 2016-11-18 11:09:52.000000000 +0100 @@ -464,7 +464,7 @@ QByteArray val = qgetenv("QT_PLUGIN_PATH"); if(!val.isEmpty()) { -#if defined(Q_OS_WIN) || defined(Q_OS_SYMBIAN) +#if defined(Q_OS_WIN) || defined(Q_OS_SYMBIAN) || defined(Q_OS_OS2) QLatin1Char pathSep(';'); #else QLatin1Char pathSep(':'); diff -Naur -x Makefile -x Makefile.initvars -x '*.dll' -x 'conf*.pri' -x '*.zip' -x '*.exe' -x '*.map' -x '*.obj' -x '*.moc' -x '*.rcc' -x iris.prl -x irisnet.prl -x '*.sym' -x .ui -x '*.bak' -x '*.lib' -x '*.rsp' -x 'moc_*.cpp' -x Info.plist -x conf.log -x .qmake.cache -x build.sh -x '*.pem' vendor/current/src/options/opt_sound.cpp trunk/src/options/opt_sound.cpp --- vendor/current/src/options/opt_sound.cpp 2013-08-22 16:52:32.000000000 +0200 +++ trunk/src/options/opt_sound.cpp 2016-04-13 15:38:16.000000000 +0200 @@ -170,6 +170,8 @@ d->le_player->setText(tr("Windows Sound")); #elif defined(Q_OS_MAC) d->le_player->setText(tr("Mac OS Sound")); +#elif defined(Q_OS_OS2) + d->le_player->setText(tr("OS/2 and OS/2-based systems Sound")); #else d->le_player->setText( PsiOptions::instance()->getOption("options.ui.notifications.sounds.unix-sound-player").toString() ); #endif diff -Naur -x Makefile -x Makefile.initvars -x '*.dll' -x 'conf*.pri' -x '*.zip' -x '*.exe' -x '*.map' -x '*.obj' -x '*.moc' -x '*.rcc' -x iris.prl -x irisnet.prl -x '*.sym' -x .ui -x '*.bak' -x '*.lib' -x '*.rsp' -x 'moc_*.cpp' -x Info.plist -x conf.log -x .qmake.cache -x build.sh -x '*.pem' vendor/current/src/src.pri trunk/src/src.pri --- vendor/current/src/src.pri 2016-05-02 17:20:46.000000000 +0200 +++ trunk/src/src.pri 2016-05-02 18:22:04.000000000 +0200 @@ -635,6 +635,10 @@ SOURCES += $$PWD/activeprofiles_stub.cpp } +os2 { + SOURCES += $$PWD/activeprofiles_stub.cpp +} + webkit { HEADERS += $$PWD/chatview_webkit.h \ $$PWD/networkaccessmanager.h \ diff -Naur -x Makefile -x Makefile.initvars -x '*.dll' -x 'conf*.pri' -x '*.zip' -x '*.exe' -x '*.map' -x '*.obj' -x '*.moc' -x '*.rcc' -x iris.prl -x irisnet.prl -x '*.sym' -x .ui -x '*.bak' -x '*.lib' -x '*.rsp' -x 'moc_*.cpp' -x Info.plist -x conf.log -x .qmake.cache -x build.sh -x '*.pem' vendor/current/src/src.pro trunk/src/src.pro --- vendor/current/src/src.pro 2016-11-17 17:03:02.000000000 +0100 +++ trunk/src/src.pro 2016-11-18 12:15:06.000000000 +0100 @@ -159,6 +159,9 @@ windows { RC_ICONS = ../win32/app.ico } +os2 { + RC_FILE = ../os2/psi_os2.rc +} mac { # Universal binaries qc_universal:contains(QT_CONFIG,x86):contains(QT_CONFIG,x86_64) { diff -Naur -x Makefile -x Makefile.initvars -x '*.dll' -x 'conf*.pri' -x '*.zip' -x '*.exe' -x '*.map' -x '*.obj' -x '*.moc' -x '*.rcc' -x iris.prl -x irisnet.prl -x '*.sym' -x .ui -x '*.bak' -x '*.lib' -x '*.rsp' -x 'moc_*.cpp' -x Info.plist -x conf.log -x .qmake.cache -x build.sh -x '*.pem' vendor/current/src/systeminfo.cpp trunk/src/systeminfo.cpp --- vendor/current/src/systeminfo.cpp 2016-04-08 16:55:18.000000000 +0200 +++ trunk/src/systeminfo.cpp 2016-11-18 10:58:42.000000000 +0100 @@ -236,6 +236,56 @@ os_str_ = "Mac OS X"; } else { os_str_ = os_name_str_ + " " + os_version_str_; +#elif defined(Q_OS_OS2) + QSysInfo::Os2Version v = QSysInfo::os2Version(); + switch(v) { + case QSysInfo::OV_Unknown: + os_str_ = "Unknown"; + break; + case QSysInfo::OV_2_0: + os_str_ = "OS/2 2.0"; + break; + case QSysInfo::OV_2_1: + os_str_ = "OS/2 2.1"; + break; + case QSysInfo::OV_2_11: + os_str_ = "OS/2 2.11"; + break; + case QSysInfo::OV_3_0: + os_str_ = "OS/2 Warp 3"; + break; + case QSysInfo::OV_4_0: + os_str_ = "OS/2 Warp 4"; + break; + case QSysInfo::OV_4_5: + os_str_ = "OS/2 Warp 4.5"; + break; + case QSysInfo::OV_4_52: + os_str_ = "OS/2 Warp 4.52"; + break; + case QSysInfo::OV_ECS_Unknown: + os_str_ = "eComStation"; + break; + case QSysInfo::OV_ECS_1_0: + os_str_ = "eComStation 1.0"; + break; + case QSysInfo::OV_ECS_1_1: + os_str_ = "eComStation 1.1"; + break; + case QSysInfo::OV_ECS_1_2: + os_str_ = "eComStation 1.2"; + break; + case QSysInfo::OV_ECS_2_0: + os_str_ = "eComStation 2.0"; + break; + case QSysInfo::OV_ECS_2_1: + os_str_ = "eComStation 2.1"; + break; + case QSysInfo::OV_ECS_2_2: + os_str_ = "eComStation 2.2"; + break; + default: + os_str_ = "OS/2-based system"; } #endif diff -Naur -x Makefile -x Makefile.initvars -x '*.dll' -x 'conf*.pri' -x '*.zip' -x '*.exe' -x '*.map' -x '*.obj' -x '*.moc' -x '*.rcc' -x iris.prl -x irisnet.prl -x '*.sym' -x .ui -x '*.bak' -x '*.lib' -x '*.rsp' -x 'moc_*.cpp' -x Info.plist -x conf.log -x .qmake.cache -x build.sh -x '*.pem' vendor/current/src/textutil.cpp trunk/src/textutil.cpp --- vendor/current/src/textutil.cpp 2014-02-18 11:42:48.000000000 +0100 +++ trunk/src/textutil.cpp 2014-02-18 12:22:34.000000000 +0100 @@ -87,7 +87,7 @@ int col = 0; for(int i = 0; i < (int)plain.length(); ++i) { -#ifdef Q_OS_WIN +#if defined(Q_OS_WIN) || defined(Q_OS_OS2) if(plain[i] == '\r' && i+1 < (int)plain.length() && plain[i+1] == '\n') ++i; // Qt/Win sees \r\n as two new line chars #endif diff -Naur -x Makefile -x Makefile.initvars -x '*.dll' -x 'conf*.pri' -x '*.zip' -x '*.exe' -x '*.map' -x '*.obj' -x '*.moc' -x '*.rcc' -x iris.prl -x irisnet.prl -x '*.sym' -x .ui -x '*.bak' -x '*.lib' -x '*.rsp' -x 'moc_*.cpp' -x Info.plist -x conf.log -x .qmake.cache -x build.sh -x '*.pem' vendor/current/src/webview.cpp trunk/src/webview.cpp --- vendor/current/src/webview.cpp 2016-11-17 17:03:02.000000000 +0100 +++ trunk/src/webview.cpp 2016-11-18 12:01:52.000000000 +0100 @@ -150,7 +150,11 @@ QDrag *drag = new QDrag(this); QMimeData *mimeData = new QMimeData; +#ifdef __OS2__ // remove with qt 4.8 or better + QString html = selectedHtml(); +#else QString html = TextUtil::img2title(selectedHtml()); +#endif mimeData->setHtml(html); mimeData->setText(TextUtil::rich2plain(html)); @@ -161,7 +165,11 @@ void WebView::convertClipboardHtmlImages(QClipboard::Mode mode) { QClipboard *cb = QApplication::clipboard(); +#ifdef __OS2__ // remove with qt 4.8 or better + QString html = TextUtil::img2title(cb->mimeData(mode)->html()); +#else QString html = TextUtil::img2title(selectedHtml()); +#endif QMimeData *data = new QMimeData; data->setHtml(html); data->setText(TextUtil::rich2plain(html, false)); @@ -174,6 +182,22 @@ page()->mainFrame()->evaluateJavaScript(scriptSource); } +#ifdef Q_OS_OS2 +QString WebView::selectedHtml() +{ + // WARNING: this hack needs to be removed when we have Qt 4.8 + QClipboard *clipboard = QApplication::clipboard(); + QMimeData *originalData = new QMimeData; + foreach (QString format, clipboard->mimeData(QClipboard::Clipboard)->formats()) { + originalData->setData(format, clipboard->mimeData(QClipboard::Clipboard)->data(format)); + } + copySelected(); + QString html = clipboard->mimeData()->html(); + clipboard->setMimeData(originalData); + return html; +} +#endif + QString WebView::selectedText() { return TextUtil::rich2plain(TextUtil::img2title(selectedHtml())); @@ -183,7 +207,11 @@ { // use native selectedText w/o clipboard hacks. // ideally we should call something like hasSelection() but there is no such method in Qt API for webkit classes. +#ifdef Q_OS_OS2 //remove with qt 4.8 or better + if (!page()->selectedText().isEmpty()) { +#else if (page()->hasSelection()) { +#endif page()->triggerAction(QWebPage::Copy); textCopiedEvent(); } diff -Naur -x Makefile -x Makefile.initvars -x '*.dll' -x 'conf*.pri' -x '*.zip' -x '*.exe' -x '*.map' -x '*.obj' -x '*.moc' -x '*.rcc' -x iris.prl -x irisnet.prl -x '*.sym' -x .ui -x '*.bak' -x '*.lib' -x '*.rsp' -x 'moc_*.cpp' -x Info.plist -x conf.log -x .qmake.cache -x build.sh -x '*.pem' vendor/current/src/webview.h trunk/src/webview.h --- vendor/current/src/webview.h 2015-09-15 16:33:22.000000000 +0200 +++ trunk/src/webview.h 2015-09-15 18:39:18.000000000 +0200 @@ -78,6 +78,9 @@ /** Evaluates JavaScript code */ void evaluateJS(const QString &scriptSource = ""); +#ifdef Q_OS_OS2 + QString selectedHtml(); +#endif QString selectedText(); bool isLoading() { return isLoading_; }