diff --git a/importer/fileutils.cpp b/importer/fileutils.cpp --- a/importer/fileutils.cpp +++ b/importer/fileutils.cpp @@ -150,7 +150,12 @@ QByteArray name = QFile::encodeName(baseDir + '/' + prefix + "XXXXXX"); +#ifdef WIN32 + if (!_mkdir(tmpnam(name.data()))) { +#else + if (!mkdtemp(name.data())) { +#endif // Failure *errorMessage = QString::fromLocal8Bit(::strerror(errno)); return QString(); diff --git a/lib/documentview/abstractimageview.h b/lib/documentview/abstractimageview.h --- a/lib/documentview/abstractimageview.h +++ b/lib/documentview/abstractimageview.h @@ -36,7 +36,7 @@ /** * */ -class AbstractImageView : public QGraphicsWidget +class GWENVIEWLIB_EXPORT AbstractImageView : public QGraphicsWidget { Q_OBJECT public: diff --git a/lib/mpris2/mpris2service.cpp b/lib/mpris2/mpris2service.cpp --- a/lib/mpris2/mpris2service.cpp +++ b/lib/mpris2/mpris2service.cpp @@ -27,7 +27,11 @@ // Qt #include // std +#ifdef WIN32 +#include +#else #include +#endif namespace Gwenview { @@ -80,7 +84,12 @@ // Perhaps not the first instance? Try again with another name, as specified by MPRIS2 spec: if (!serviceRegistered) { - mMpris2ServiceName = mMpris2ServiceName + QLatin1String(".instance") + QString::number(getpid()); +#ifdef WIN32 + const int pid = _getpid(); +#else + const int pid = getpid(); +#endif + mMpris2ServiceName = mMpris2ServiceName + QLatin1String(".instance") + QString::number(pid); serviceRegistered = QDBusConnection::sessionBus().registerService(mMpris2ServiceName); } if (!serviceRegistered) { diff --git a/lib/semanticinfo/abstractsemanticinfobackend.h b/lib/semanticinfo/abstractsemanticinfobackend.h --- a/lib/semanticinfo/abstractsemanticinfobackend.h +++ b/lib/semanticinfo/abstractsemanticinfobackend.h @@ -68,7 +68,7 @@ /** * An abstract class, used by SemanticInfoDirModel to store and retrieve metadata. */ -class AbstractSemanticInfoBackEnd : public QObject +class GWENVIEWLIB_EXPORT AbstractSemanticInfoBackEnd : public QObject { Q_OBJECT public: diff --git a/lib/slideshow.cpp b/lib/slideshow.cpp --- a/lib/slideshow.cpp +++ b/lib/slideshow.cpp @@ -69,7 +69,11 @@ int operator()(int n) { +#ifdef WIN32 + return rand() % n; +#else return rand_r(&mSeed) % n; +#endif } private: diff --git a/lib/thumbnailprovider/thumbnailprovider.cpp b/lib/thumbnailprovider/thumbnailprovider.cpp --- a/lib/thumbnailprovider/thumbnailprovider.cpp +++ b/lib/thumbnailprovider/thumbnailprovider.cpp @@ -25,7 +25,9 @@ #include #include +#ifndef WIN32 #include +#endif // Qt #include diff --git a/tests/auto/importertest.cpp b/tests/auto/importertest.cpp --- a/tests/auto/importertest.cpp +++ b/tests/auto/importertest.cpp @@ -237,7 +237,9 @@ void ImporterTest::testReadOnlyDestination() { QUrl destUrl = QUrl::fromLocalFile(mTempDir->path() + "/foo"); +#ifndef WIN32 chmod(QFile::encodeName(mTempDir->path()), 0555); +#endif Importer importer(nullptr); QSignalSpy errorSpy(&importer, SIGNAL(error(QString))); diff --git a/tests/auto/timeutilstest.cpp b/tests/auto/timeutilstest.cpp --- a/tests/auto/timeutilstest.cpp +++ b/tests/auto/timeutilstest.cpp @@ -21,7 +21,11 @@ #include "timeutilstest.h" // libc +#ifdef WIN32 +#include +#else #include +#endif // KDE #include @@ -39,7 +43,11 @@ static void touchFile(const QString& path) { +#ifdef WIN32 + _utime(QFile::encodeName(path).data(), 0); +#else utime(QFile::encodeName(path).data(), 0); +#endif } #define NEW_ROW(fileName, dateTime) QTest::newRow(fileName) << fileName << dateTime