[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [kipi-plugins] mediawiki: use d private internal container
From: Gilles Caulier <caulier.gilles () gmail ! com>
Date: 2012-07-09 8:48:03
Message-ID: 20120709084803.DA0FBA6094 () git ! kde ! org
[Download RAW message or body]
Git commit 204c4de1047d9b17971a21f5c4fed3057dba5456 by Gilles Caulier.
Committed on 09/07/2012 at 10:47.
Pushed by cgilles into branch 'master'.
use d private internal container
CCBUGS: 302755
M +89 -58 mediawiki/wmwindow.cpp
M +3 -26 mediawiki/wmwindow.h
http://commits.kde.org/kipi-plugins/204c4de1047d9b17971a21f5c4fed3057dba5456
diff --git a/mediawiki/wmwindow.cpp b/mediawiki/wmwindow.cpp
index 797d3da..baf01a3 100644
--- a/mediawiki/wmwindow.cpp
+++ b/mediawiki/wmwindow.cpp
@@ -43,8 +43,10 @@
#include <kpushbutton.h>
#include <kmessagebox.h>
-// Mediawiki includes
+// MediaWiki includes
+#include <libmediawiki/login.h>
+#include <libmediawiki/mediawiki.h>
#include <libmediawiki/version.h>
// KIPI includes
@@ -61,20 +63,46 @@
#include "wmwidget.h"
#include "wikimediajob.h"
+using namespace KIPI;
+using namespace mediawiki;
+
namespace KIPIWikiMediaPlugin
{
+class WMWindow::Private
+{
+public:
+
+ Private()
+ {
+ widget = 0;
+ mediawiki = 0;
+ uploadJob = 0;
+ }
+
+ QString tmpDir;
+ QString tmpPath;
+ QString login;
+ QString pass;
+ QUrl wiki;
+
+ WmWidget* widget;
+ MediaWiki* mediawiki;
+
+ WikiMediaJob* uploadJob;
+};
+
WMWindow::WMWindow(const QString& tmpFolder, QWidget* const /*parent*/)
- : KPToolDialog(0)
+ : KPToolDialog(0), d(new Private)
{
- m_tmpPath.clear();
- m_tmpDir = tmpFolder;
- m_widget = new WmWidget(this);
- m_uploadJob = 0;
- m_login = QString();
- m_pass = QString();
-
- setMainWidget(m_widget);
+ d->tmpPath.clear();
+ d->tmpDir = tmpFolder;
+ d->widget = new WmWidget(this);
+ d->uploadJob = 0;
+ d->login = QString();
+ d->pass = QString();
+
+ setMainWidget(d->widget);
setWindowIcon(KIcon("wikimedia"));
setButtons(Help|User1|Close);
setDefaultButton(Close);
@@ -83,8 +111,8 @@ WMWindow::WMWindow(const QString& tmpFolder, QWidget* const /*parent*/)
setButtonGuiItem(User1, KGuiItem(i18n("Start Upload"), "network-workgroup",
i18n("Start upload to Wikimedia Commons")));
enableButton(User1, false);
- m_widget->setMinimumSize(700, 500);
- m_widget->installEventFilter(this);
+ d->widget->setMinimumSize(700, 500);
+ d->widget->installEventFilter(this);
KPAboutData* about = new KPAboutData(ki18n("Wikimedia Commons Export"), 0,
KAboutData::License_GPL,
@@ -114,13 +142,13 @@ WMWindow::WMWindow(const QString& tmpFolder, QWidget* const /*parent*/)
connect(this, SIGNAL(closeClicked()),
this, SLOT(slotClose()));
- connect(m_widget, SIGNAL(signalChangeUserRequest()),
+ connect(d->widget, SIGNAL(signalChangeUserRequest()),
this, SLOT(slotChangeUserClicked()));
- connect(m_widget, SIGNAL(signalLoginRequest(QString, QString, QUrl)),
+ connect(d->widget, SIGNAL(signalLoginRequest(QString, QString, QUrl)),
this, SLOT(slotDoLogin(QString, QString, QUrl)));
- connect(m_widget->progressBar(), SIGNAL(signalProgressCanceled()),
+ connect(d->widget->progressBar(), SIGNAL(signalProgressCanceled()),
this, SLOT(slotClose()));
readSettings();
@@ -129,6 +157,7 @@ WMWindow::WMWindow(const QString& tmpFolder, QWidget* const /*parent*/)
WMWindow::~WMWindow()
{
+ delete d;
}
void WMWindow::closeEvent(QCloseEvent* e)
@@ -140,9 +169,9 @@ void WMWindow::closeEvent(QCloseEvent* e)
void WMWindow::reactivate()
{
- m_widget->imagesList()->listView()->clear();
- m_widget->imagesList()->loadImagesFromCurrentSelection();
- m_widget->loadImageInfoFirstLoad();
+ d->widget->imagesList()->listView()->clear();
+ d->widget->imagesList()->loadImagesFromCurrentSelection();
+ d->widget->loadImageInfoFirstLoad();
show();
}
@@ -152,7 +181,7 @@ void WMWindow::readSettings()
KConfig config("kipirc");
KConfigGroup group = config.group(QString("Wikimedia Commons settings"));
- m_widget->readSettings(group);
+ d->widget->readSettings(group);
KConfigGroup group2 = config.group(QString("Wikimedia Commons dialog"));
restoreDialogSize(group2);
@@ -163,7 +192,7 @@ void WMWindow::saveSettings()
KConfig config("kipirc");
KConfigGroup group = config.group(QString("Wikimedia Commons settings"));
- m_widget->saveSettings(group);
+ d->widget->saveSettings(group);
KConfigGroup group2 = config.group(QString("Wikimedia Commons dialog"));
saveDialogSize(group2);
@@ -172,8 +201,8 @@ void WMWindow::saveSettings()
void WMWindow::slotClose()
{
- m_widget->clearImagesDesc();
- m_widget->progressBar()->progressCompleted();
+ d->widget->clearImagesDesc();
+ d->widget->progressBar()->progressCompleted();
saveSettings();
done(Close);
}
@@ -197,10 +226,10 @@ bool WMWindow::prepareImageForUpload(const QString& imgPath, QString& caption)
}
// get temporary file name
- m_tmpPath = m_tmpDir + QFileInfo(imgPath).baseName().trimmed() + ".jpg";
+ d->tmpPath = d->tmpDir + QFileInfo(imgPath).baseName().trimmed() + ".jpg";
// rescale image if requested
- int maxDim = m_widget->dimension();
+ int maxDim = d->widget->dimension();
if (image.width() > maxDim || image.height() > maxDim)
{
@@ -209,8 +238,8 @@ bool WMWindow::prepareImageForUpload(const QString& imgPath, QString& caption)
Qt::SmoothTransformation);
}
- kDebug() << "Saving to temp file: " << m_tmpPath;
- image.save(m_tmpPath, "JPEG", m_widget->quality());
+ kDebug() << "Saving to temp file: " << d->tmpPath;
+ image.save(d->tmpPath, "JPEG", d->widget->quality());
// copy meta data to temporary image
KPMetadata meta;
@@ -219,7 +248,7 @@ bool WMWindow::prepareImageForUpload(const QString& imgPath, QString& caption)
{
caption = getImageCaption(imgPath);
meta.setImageDimensions(image.size());
- meta.save(m_tmpPath);
+ meta.save(d->tmpPath);
}
else
{
@@ -232,50 +261,50 @@ bool WMWindow::prepareImageForUpload(const QString& imgPath, QString& caption)
void WMWindow::slotStartTransfer()
{
saveSettings();
- KUrl::List urls = iface()->currentSelection().images();
- QMap <QString,QMap <QString,QString> > imagesDesc=m_widget->allImagesDesc();
+ KUrl::List urls = iface()->currentSelection().images();
+ QMap <QString, QMap <QString, QString> > imagesDesc = d->widget->allImagesDesc();
for (int i = 0; i < urls.size(); ++i)
{
QString caption;
QString url;
- if(m_widget->resize())
+ if(d->widget->resize())
{
prepareImageForUpload(urls.at(i).path(), caption);
- imagesDesc.insert(m_tmpPath, imagesDesc.take(urls.at(i).path()));
+ imagesDesc.insert(d->tmpPath, imagesDesc.take(urls.at(i).path()));
}
}
- m_uploadJob->setImageMap(imagesDesc);
+ d->uploadJob->setImageMap(imagesDesc);
- m_widget->progressBar()->setRange(0, 100);
- m_widget->progressBar()->setValue(0);
+ d->widget->progressBar()->setRange(0, 100);
+ d->widget->progressBar()->setValue(0);
- connect(m_uploadJob, SIGNAL(uploadProgress(int)),
- m_widget->progressBar(), SLOT(setValue(int)));
+ connect(d->uploadJob, SIGNAL(uploadProgress(int)),
+ d->widget->progressBar(), SLOT(setValue(int)));
- connect(m_uploadJob, SIGNAL(endUpload()),
+ connect(d->uploadJob, SIGNAL(endUpload()),
this, SLOT(slotEndUpload()));
- m_widget->progressBar()->show();
- m_widget->progressBar()->progressScheduled(i18n("Wiki Export"), true, true);
- m_widget->progressBar()->progressThumbnailChanged(KIcon("kipi").pixmap(22, 22));
- m_uploadJob->begin();
+ d->widget->progressBar()->show();
+ d->widget->progressBar()->progressScheduled(i18n("Wiki Export"), true, true);
+ d->widget->progressBar()->progressThumbnailChanged(KIcon("kipi").pixmap(22, 22));
+ d->uploadJob->begin();
}
void WMWindow::slotChangeUserClicked()
{
enableButton(User1, false);
- m_widget->invertAccountLoginBox();
+ d->widget->invertAccountLoginBox();
}
void WMWindow::slotDoLogin(const QString& login, const QString& pass, const QUrl& wiki)
{
- m_login = login;
- m_pass = pass;
- m_wiki = wiki;
- m_mediawiki = new MediaWiki(wiki);
- Login* loginJob = new Login(*m_mediawiki, login, pass);
+ d->login = login;
+ d->pass = pass;
+ d->wiki = wiki;
+ d->mediawiki = new MediaWiki(wiki);
+ Login* loginJob = new Login(*d->mediawiki, login, pass);
connect(loginJob, SIGNAL(result(KJob*)),
this, SLOT(slotLoginHandle(KJob*)));
@@ -289,18 +318,18 @@ int WMWindow::slotLoginHandle(KJob* loginJob)
if(loginJob->error())
{
- m_login.clear();
- m_pass.clear();
- m_uploadJob = 0;
+ d->login.clear();
+ d->pass.clear();
+ d->uploadJob = 0;
//TODO Message d'erreur de login
KMessageBox::error(this, i18n("Login error\nPlease check your credentials and try again."));
}
else
{
- m_uploadJob = new WikiMediaJob(iface(), m_mediawiki, this);
+ d->uploadJob = new WikiMediaJob(iface(), d->mediawiki, this);
enableButton(User1, true);
- m_widget->invertAccountLoginBox();
- m_widget->updateLabels(m_login, m_wiki.toString());
+ d->widget->invertAccountLoginBox();
+ d->widget->updateLabels(d->login, d->wiki.toString());
}
return loginJob->error();
@@ -308,15 +337,15 @@ int WMWindow::slotLoginHandle(KJob* loginJob)
void WMWindow::slotEndUpload()
{
- disconnect(m_uploadJob, SIGNAL(uploadProgress(int)),
- m_widget->progressBar(),SLOT(setValue(int)));
+ disconnect(d->uploadJob, SIGNAL(uploadProgress(int)),
+ d->widget->progressBar(),SLOT(setValue(int)));
- disconnect(m_uploadJob, SIGNAL(endUpload()),
+ disconnect(d->uploadJob, SIGNAL(endUpload()),
this, SLOT(slotEndUpload()));
KMessageBox::information(this, i18n("Upload finished with no errors."));
- m_widget->progressBar()->hide();
- m_widget->progressBar()->progressCompleted();
+ d->widget->progressBar()->hide();
+ d->widget->progressBar()->progressCompleted();
hide();
}
@@ -325,6 +354,7 @@ bool WMWindow::eventFilter(QObject* /*obj*/, QEvent* event)
if(event->type() == QEvent::KeyRelease)
{
QKeyEvent* c = dynamic_cast<QKeyEvent *>(event);
+
if(c && c->key() == Qt::Key_Return)
{
event->ignore();
@@ -333,6 +363,7 @@ bool WMWindow::eventFilter(QObject* /*obj*/, QEvent* event)
}
}
+
return true;
}
diff --git a/mediawiki/wmwindow.h b/mediawiki/wmwindow.h
index a220caf..5acbbdb 100644
--- a/mediawiki/wmwindow.h
+++ b/mediawiki/wmwindow.h
@@ -25,33 +25,19 @@
#ifndef WMWINDOW_H
#define WMWINDOW_H
-// MediaWiki includes
-
-#include <libmediawiki/login.h>
-#include <libmediawiki/mediawiki.h>
-
// Local includes
#include "kptooldialog.h"
class QCloseEvent;
-namespace KIPI
-{
- class Interface;
-}
+class KJob;
-using namespace KIPI;
using namespace KIPIPlugins;
-using namespace mediawiki;
namespace KIPIWikiMediaPlugin
{
-class WmWidget;
-class WmLogin;
-class WikiMediaJob;
-
class WMWindow : public KPToolDialog
{
Q_OBJECT
@@ -83,17 +69,8 @@ private:
private:
- QString m_tmpDir;
- QString m_tmpPath;
- QString m_login;
- QString m_pass;
- QUrl m_wiki;
-
- WmWidget* m_widget;
- MediaWiki* m_mediawiki;
-
- WmLogin* m_dlgLoginExport;
- WikiMediaJob* m_uploadJob;
+ class Private;
+ Private* const d;
};
} // namespace KIPIWikiMediaPlugin
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic