aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorGravatar Fabio Bas2012-09-29 16:04:34 +0000
committerGravatar Fabio Bas2012-09-29 16:04:34 +0000
commitb1fb4f80cce175f20de915469b67c939e282ce1f (patch)
treeff364377b3228fd03ac3542a6226a5f021685bae /src
parentMore qt5 porting/warnings (diff)
downloadKVIrc-b1fb4f80cce175f20de915469b67c939e282ce1f.tar.gz
KVIrc-b1fb4f80cce175f20de915469b67c939e282ce1f.tar.bz2
KVIrc-b1fb4f80cce175f20de915469b67c939e282ce1f.zip
More qt5 porting (qprinter and qftp), removed some warnings
git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@6263 17fca916-40b9-46aa-a4ea-0a15b648b75c
Diffstat (limited to 'src')
-rw-r--r--src/kvilib/CMakeLists.txt1
-rw-r--r--src/kvilib/net/KviNetworkAccessManager.cpp33
-rw-r--r--src/kvilib/net/KviNetworkAccessManager.h49
-rw-r--r--src/kvirc/ui/KviWebPackageManagementDialog.cpp80
-rw-r--r--src/kvirc/ui/KviWebPackageManagementDialog.h9
-rw-r--r--src/modules/objects/KvsObject_painter.cpp19
-rw-r--r--src/modules/objects/KvsObject_painter.h8
7 files changed, 117 insertions, 82 deletions
diff --git a/src/kvilib/CMakeLists.txt b/src/kvilib/CMakeLists.txt
index ca9a27740..22c2cb6b3 100644
--- a/src/kvilib/CMakeLists.txt
+++ b/src/kvilib/CMakeLists.txt
@@ -76,6 +76,7 @@ SET(kvilib_SRCS
net/KviDnsResolver.cpp
net/KviHttpRequest.cpp
net/KviNetUtils.cpp
+ net/KviNetworkAccessManager.cpp
net/KviSASL.cpp
net/kvi_socket.cpp
net/KviSSL.cpp
diff --git a/src/kvilib/net/KviNetworkAccessManager.cpp b/src/kvilib/net/KviNetworkAccessManager.cpp
new file mode 100644
index 000000000..ad085c40e
--- /dev/null
+++ b/src/kvilib/net/KviNetworkAccessManager.cpp
@@ -0,0 +1,33 @@
+//=============================================================================
+//
+// File : KviNetworkAccessManager.h
+// Creation date : Sat Sep 29 2012 17:15:12 CEST by Fabio Bas
+//
+// This file is part of the KVIrc irc client distribution
+// Copyright (C) 2002-2012 Szymon Stefanek (pragma at kvirc dot net)
+//
+// 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 opinion) 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 program. If not, write to the Free Software Foundation,
+// Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+//
+//=============================================================================
+
+#include "KviNetworkAccessManager.h"
+
+KviNetworkAccessManager::KviNetworkAccessManager()
+{
+}
+
+KviNetworkAccessManager::~KviNetworkAccessManager()
+{
+}
diff --git a/src/kvilib/net/KviNetworkAccessManager.h b/src/kvilib/net/KviNetworkAccessManager.h
new file mode 100644
index 000000000..b6ae38132
--- /dev/null
+++ b/src/kvilib/net/KviNetworkAccessManager.h
@@ -0,0 +1,49 @@
+#ifndef _KVI_NETWORKACCESSMANAGER_H_
+#define _KVI_NETWORKACCESSMANAGER_H_
+//=============================================================================
+//
+// File : KviNetworkAccessManager.h
+// Creation date : Sat Sep 29 2012 17:15:12 CEST by Fabio Bas
+//
+// This file is part of the KVIrc irc client distribution
+// Copyright (C) 2002-2012 Szymon Stefanek (pragma at kvirc dot net)
+//
+// 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 opinion) 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 program. If not, write to the Free Software Foundation,
+// Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+//
+//=============================================================================
+
+#include "kvi_settings.h"
+
+#include <QNetworkAccessManager>
+// useful for users of this singleton
+#include <QNetworkRequest>
+#include <QNetworkReply>
+
+class KVILIB_API KviNetworkAccessManager
+{
+private:
+ KviNetworkAccessManager();
+ ~KviNetworkAccessManager();
+public:
+ static QNetworkAccessManager* getInstance()
+ {
+ static QNetworkAccessManager* pInstance = NULL;
+ if(!pInstance)
+ pInstance = new QNetworkAccessManager();
+ return pInstance;
+ }
+};
+
+#endif //_KVI_NETWORKACCESSMANAGER_H_
diff --git a/src/kvirc/ui/KviWebPackageManagementDialog.cpp b/src/kvirc/ui/KviWebPackageManagementDialog.cpp
index ff7ffac97..c90d133a0 100644
--- a/src/kvirc/ui/KviWebPackageManagementDialog.cpp
+++ b/src/kvirc/ui/KviWebPackageManagementDialog.cpp
@@ -26,7 +26,6 @@
#include "KviWebPackageManagementDialog.h"
-#warning KviWebPackageManagementDialog uses QFtp, either port it or drop it
#ifdef COMPILE_WEBKIT_SUPPORT
#include "KviLocale.h"
@@ -36,6 +35,7 @@
#include "KviFileUtils.h"
#include "KviIconManager.h"
#include "KviMainWindow.h"
+#include "KviNetworkAccessManager.h"
#include <QDesktopWidget>
#include <QToolButton>
@@ -48,9 +48,6 @@
#include <QVBoxLayout>
#include <QToolBar>
#include <QFile>
-#if (QT_VERSION < 050000)
-#include <QFtp>
-#endif
#include <QProgressBar>
#include <QDir>
#include <QWebView>
@@ -71,10 +68,6 @@ KviWebPackageManagementDialog::KviWebPackageManagementDialog(QWidget * pParent)
m_pLayout->setSpacing(2);
setLayout(m_pLayout);
-#if (QT_VERSION < 050000)
- m_pFtp = NULL;
-#endif
- m_pFile = NULL;
m_bBusy = false;
QWidget *pStatus = new QWidget(this);
@@ -109,12 +102,6 @@ KviWebPackageManagementDialog::KviWebPackageManagementDialog(QWidget * pParent)
KviWebPackageManagementDialog::~KviWebPackageManagementDialog()
{
- if(m_pFile)
- delete m_pFile;
-#if (QT_VERSION < 050000)
- if(m_pFtp)
- delete m_pFtp;
-#endif
}
void KviWebPackageManagementDialog::setPackagePageUrl(const QString &szUrl)
@@ -203,25 +190,13 @@ void KviWebPackageManagementDialog::slotLinkClicked(const QUrl &url)
{
// one download at once
m_bBusy = true;
-#if (QT_VERSION < 050000)
- if(!m_pFtp)
- {
- m_pFtp = new QFtp();
- connect(m_pFtp,SIGNAL(commandFinished(int,bool)),this,SLOT(slotCommandFinished(int,bool)));
- connect(m_pFtp,SIGNAL(dataTransferProgress(qint64,qint64)),this,SLOT(slotDataTransferProgress(qint64,qint64)));
- }
+
+ QNetworkRequest req(url);
+ QNetworkReply *pReply = KviNetworkAccessManager::getInstance()->get(req);
+ connect(pReply, SIGNAL(finished()), this, SLOT(slotCommandFinished()));
+ connect(pReply, SIGNAL(downloadProgress(qint64,qint64)), this, SLOT(slotDataTransferProgress(qint64,qint64)));
+
m_pProgressBar->show();
- QString szUrl = url.toString();
- int iIdx=szUrl.lastIndexOf("/");
- QString szFile = szUrl.right(szUrl.length()-iIdx-1);
- m_pFile = new QFile(m_pFtp);
- g_pApp->getLocalKvircDirectory(m_szLocalTemporaryPath,KviApplication::Tmp,szFile);
- m_pFile->setFileName(m_szLocalTemporaryPath);
- m_pFile->open(QIODevice::ReadWrite);
- m_pFtp->connectToHost(url.host());
- m_pFtp->login("anonymous","anonymous");
- m_pFtp->get(url.path(),m_pFile);
-#endif
} else {
qDebug("uninstall theme");//to be continued
}
@@ -242,19 +217,29 @@ void KviWebPackageManagementDialog::slotLoadProgress(int iProgress)
m_pProgressBar->setFormat(__tr2qs_ctx("Loading: %p%","theme"));
}
-void KviWebPackageManagementDialog::slotCommandFinished(int id,bool error)
+void KviWebPackageManagementDialog::slotCommandFinished()
{
-#if (QT_VERSION < 050000)
- if(m_pFtp->currentCommand() == QFtp::Get)
+ QNetworkReply *reply = qobject_cast<QNetworkReply*>(sender());
+
+ m_pProgressBar->hide();
+ m_pProgressBar->setValue(0);
+
+ if (reply)
{
- m_pProgressBar->hide();
- m_pProgressBar->setValue(0);
- if(!error)
+ if (reply->error() == QNetworkReply::NoError)
{
- QString szError;
- m_pFile->close();
-
+ //read data from reply
+ QString szUrl = reply->url().toString();
+ int iIdx=szUrl.lastIndexOf("/");
+ QString szFile = szUrl.right(szUrl.length()-iIdx-1);
+ QFile tmpFile;
+ g_pApp->getLocalKvircDirectory(m_szLocalTemporaryPath,KviApplication::Tmp,szFile);
+ tmpFile.setFileName(m_szLocalTemporaryPath);
+ tmpFile.open(QIODevice::ReadWrite);
+ tmpFile.write(reply->readAll());
+ tmpFile.close();
+ QString szError;
if(!installPackage(m_szLocalTemporaryPath,szError))
{
KviMessageBox::information(szError);
@@ -263,16 +248,16 @@ void KviWebPackageManagementDialog::slotCommandFinished(int id,bool error)
}
QFileInfo info(m_szLocalTemporaryPath);
- delete m_pFile;
- m_pFile = 0;
if (info.exists())
KviFileUtils::removeFile(m_szLocalTemporaryPath);
m_bBusy = false;
- m_pFtp->close();
+ } else {
+ //get http status code
+ int httpStatus = reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt();
+ KviMessageBox::information(QString("Download failed:%1").arg(reply->errorString()));
}
+ reply->deleteLater();
}
- id=0; //to be continued
-#endif
}
void KviWebPackageManagementDialog::showEvent(QShowEvent *)
@@ -282,8 +267,5 @@ void KviWebPackageManagementDialog::showEvent(QShowEvent *)
move(rect.x() + ((rect.width() - width())/2),rect.y() + ((rect.height() - height())/2));
}
-
-
-
#endif //COMPILE_WEBKIT_SUPPORT
diff --git a/src/kvirc/ui/KviWebPackageManagementDialog.h b/src/kvirc/ui/KviWebPackageManagementDialog.h
index 012d014c1..4fecd701d 100644
--- a/src/kvirc/ui/KviWebPackageManagementDialog.h
+++ b/src/kvirc/ui/KviWebPackageManagementDialog.h
@@ -36,9 +36,6 @@ class QToolBar;
class QVBoxLayout;
class QWebView;
class QFile;
-#if (QT_VERSION < 050000)
-class QFtp;
-#endif
class QProgressBar;
class QUrl;
@@ -70,10 +67,6 @@ private:
QToolBar * m_pToolBar;
QVBoxLayout *m_pLayout;
QWebView * m_pWebView;
- QFile *m_pFile;
-#if (QT_VERSION < 050000)
- QFtp *m_pFtp;
-#endif
bool m_bBusy;
QProgressBar *m_pProgressBar;
QString m_szPackagePageUrl;
@@ -90,7 +83,7 @@ protected slots:
void slotLoadFinished(bool ok);
void slotLoadProgress(int iProgress);
void slotDataTransferProgress(qint64 iDone,qint64 iTotal);
- void slotCommandFinished(int id,bool error);
+ void slotCommandFinished();
void slotLinkClicked(const QUrl &url);
}; // class KviWebPackageManagementDialog
diff --git a/src/modules/objects/KvsObject_painter.cpp b/src/modules/objects/KvsObject_painter.cpp
index 8e31810b1..968e9434c 100644
--- a/src/modules/objects/KvsObject_painter.cpp
+++ b/src/modules/objects/KvsObject_painter.cpp
@@ -33,9 +33,7 @@
#include "KviError.h"
#include "KviIconManager.h"
#include "KviMemory.h"
-#if (QT_VERSION < 0x050000)
- #include <QPrintDialog>
-#endif
+#include <QPrintDialog>
#include <QTextDocument>
#include <QIcon>
@@ -622,9 +620,7 @@ KVSO_BEGIN_CONSTRUCTOR(KvsObject_painter,KviKvsObject)
m_pPainter = new QPainter();
bDonotdeleteinternalqpainter=false;
-#if (QT_VERSION < 0x050000)
m_pPrinter = 0 ;
-#endif
m_pDeviceObject=0;
m_pPainterPath=0;
m_pGradient=0;
@@ -639,10 +635,8 @@ KVSO_BEGIN_DESTRUCTOR(KvsObject_painter)
m_pGradient=0;
if (m_pPainter && !bDonotdeleteinternalqpainter) delete m_pPainter;
m_pPainter = 0;
-#if (QT_VERSION < 0x050000)
if (m_pPrinter) delete m_pPrinter;
m_pPrinter = 0;
-#endif
KVSO_END_CONSTRUCTOR(KvsObject_painter)
@@ -1164,10 +1158,6 @@ KVSO_CLASS_FUNCTION(painter,begin)
{
QString szDev;
v->asString(szDev);
-#if (QT_VERSION >= 0x050000)
- c->warning(__tr2qs_ctx("No valid paint device","objects"));
- return true;
-#else
if(KviQString::equalCI(szDev,"printer") || KviQString::equalCI(szDev,"pdf"))
{
if (m_pPrinter) delete m_pPrinter;
@@ -1202,7 +1192,6 @@ KVSO_CLASS_FUNCTION(painter,begin)
}
m_pPainter->begin(m_pPrinter);
return true;
-#endif
} else if (v->isHObject()) {
v->asHObject(hObject);
pObject=KviKvsKernel::instance()->objectController()->lookupObject(hObject);
@@ -1245,13 +1234,11 @@ void KvsObject_painter::detachDevice()
if(!m_pDeviceObject)return;
disconnect(m_pDeviceObject,SIGNAL(aboutToDie()),this,SLOT(detachDevice()));
m_pPainter->end();
-#if (QT_VERSION < 0x050000)
if (m_pPrinter)
{
delete m_pPrinter;
m_pPrinter=0;
}
-#endif
m_pDeviceObject = 0;
}
@@ -1262,13 +1249,11 @@ KVSO_CLASS_FUNCTION(painter,end)
if(!m_pDeviceObject)
{
m_pPainter->end();
-#if (QT_VERSION < 0x050000)
if (m_pPrinter)
{
delete m_pPrinter;
m_pPrinter=0;
}
-#endif
}
else detachDevice();
return true;
@@ -1281,13 +1266,11 @@ KVSO_CLASS_FUNCTION(painter,beginPdf)
KVSO_PARAMETERS_BEGIN(c)
KVSO_PARAMETER("file_name",KVS_PT_STRING,0,szFileName)
KVSO_PARAMETERS_END(c)
-#if (QT_VERSION < 0x050000)
if (m_pPrinter) delete m_pPrinter;
m_pPrinter=new QPrinter();//QPrinter::HighResolution);
m_pPrinter->setOutputFormat(QPrinter::PdfFormat);
m_pPrinter->setOutputFileName(szFileName);
m_pPainter->begin(m_pPrinter);
-#endif
return true;
}
diff --git a/src/modules/objects/KvsObject_painter.h b/src/modules/objects/KvsObject_painter.h
index dc69396d4..33b131176 100644
--- a/src/modules/objects/KvsObject_painter.h
+++ b/src/modules/objects/KvsObject_painter.h
@@ -25,12 +25,8 @@
//
//=============================================================================
-#warning QPrinter support in KvsObject_painter needs Qt5PrintSupport module: cmake rules, ifdefs, etc
-
#include "object_macros.h"
-#if (QT_VERSION < 0x050000)
- #include <QPrinter>
-#endif
+#include <QPrinter>
#include <QPainter>
#include <QPaintDevice>
@@ -44,9 +40,7 @@ class KvsObject_painter : public KviKvsObject
public:
KVSO_DECLARE_OBJECT(KvsObject_painter)
protected:
-#if (QT_VERSION < 0x050000)
QPrinter * m_pPrinter;
-#endif
bool bDonotdeleteinternalqpainter;
QPainter * m_pPainter;
QMatrix m_pMatrix;