[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [digikam/gsoc18-twitter-onedrive] core: twitter api under development
From: Tarek Talaat <null () kde ! org>
Date: 2018-07-31 21:27:44
Message-ID: E1fkcBE-00056z-So () code ! kde ! org
[Download RAW message or body]
Git commit 61ad6e1c32cc4f17699448a9c5c5b2b137e35a31 by Tarek Talaat.
Committed on 31/07/2018 at 11:01.
Pushed by tarektalaat into branch 'gsoc18-twitter-onedrive'.
twitter api under development
M +9 -3 core/app/main/digikamapp_export.cpp
M +2 -0 core/app/main/digikamapp_p.h
M +2 -0 core/app/main/digikamui5.rc
M +13 -2 core/libs/widgets/mainview/dxmlguiwindow.cpp
M +2 -0 core/libs/widgets/mainview/dxmlguiwindow.h
M +2 -0 core/showfoto/main/showfotoui5.rc
M +20 -1 core/utilities/assistants/webservices/CMakeLists.txt
M +3 -1 core/utilities/assistants/webservices/common/o2/src/o0baseauth.cpp
M +5 -3 core/utilities/assistants/webservices/common/o2/src/o1.cpp
M +13 -0 core/utilities/assistants/webservices/common/o2/src/o1requestor.cpp
M +1 -0 core/utilities/assistants/webservices/common/o2/src/o1requestor.h
M +2 -0 core/utilities/imageeditor/main/imageeditorui5.rc
M +3 -3 core/utilities/imageeditor/main/imagewindow.cpp
M +2 -1 core/utilities/imageeditor/main/imagewindow_p.h
M +2 -0 core/utilities/lighttable/lighttablewindowui5.rc
https://commits.kde.org/digikam/61ad6e1c32cc4f17699448a9c5c5b2b137e35a31
diff --git a/core/app/main/digikamapp_export.cpp \
b/core/app/main/digikamapp_export.cpp index fc105d98aa..3c1e333a4f 100644
--- a/core/app/main/digikamapp_export.cpp
+++ b/core/app/main/digikamapp_export.cpp
@@ -102,12 +102,18 @@ void DigikamApp::slotExportTool()
w->exec();
delete w;
}
- /*else if (tool == m_exportTwitterAction)
+ else if (tool == m_exportTwitterAction)
{
- QPointer<ODWindow> w = new TwWindow(new DBInfoIface(this, QList<QUrl>(), \
ApplicationSettings::ImportExport), this); + QPointer<TwWindow> w = new \
TwWindow(new DBInfoIface(this, QList<QUrl>(), ApplicationSettings::ImportExport), \
this); w->exec();
delete w;
- }*/
+ }
+ else if (tool == m_exportLinkedInAction)
+ {
+ QPointer<LIWindow> w = new LIWindow(new DBInfoIface(this, QList<QUrl>(), \
ApplicationSettings::ImportExport), this); + w->exec();
+ delete w;
+ }
else if (tool == m_exportFacebookAction)
{
QPointer<FbWindow> w = new FbWindow(new DBInfoIface(this, QList<QUrl>(), \
ApplicationSettings::ImportExport), this);
diff --git a/core/app/main/digikamapp_p.h b/core/app/main/digikamapp_p.h
index ad0c0b9cca..23cd9bd210 100644
--- a/core/app/main/digikamapp_p.h
+++ b/core/app/main/digikamapp_p.h
@@ -132,7 +132,9 @@
#include "dmediaserverdlg.h"
#include "dbwindow.h"
#include "odwindow.h"
+#include "twitterwindow.h"
#include "fbwindow.h"
+#include "liwindow.h"
#include "flickrwindow.h"
#include "gswindow.h"
#include "imageshackwindow.h"
diff --git a/core/app/main/digikamui5.rc b/core/app/main/digikamui5.rc
index cceb022608..2cd34eb409 100644
--- a/core/app/main/digikamui5.rc
+++ b/core/app/main/digikamui5.rc
@@ -155,9 +155,11 @@
<Action name="export_googlephoto" />
<Action name="export_imageshack" />
<Action name="export_imgur" />
+ <Action name="export_linkedin" />
<Action name="export_onedrive" />
<Action name="export_rajce" />
<Action name="export_smugmug" />
+ <Action name="export_twitter" />
<Action name="export_yandexfotki" />
<Action name="export_mediawiki" />
<Action name="export_vkontakte" />
diff --git a/core/libs/widgets/mainview/dxmlguiwindow.cpp \
b/core/libs/widgets/mainview/dxmlguiwindow.cpp index d2760ef080..9bcc32b4c5 100644
--- a/core/libs/widgets/mainview/dxmlguiwindow.cpp
+++ b/core/libs/widgets/mainview/dxmlguiwindow.cpp
@@ -189,6 +189,8 @@ DXmlGuiWindow::DXmlGuiWindow(QWidget* const parent, \
Qt::WindowFlags f)
m_exportDropboxAction = 0;
m_exportOnedriveAction = 0;
+ m_exportLinkedInAction = 0;
+ m_exportTwitterAction = 0;
m_exportFacebookAction = 0;
m_exportFlickrAction = 0;
m_exportGdriveAction = 0;
@@ -1052,15 +1054,22 @@ void DXmlGuiWindow::createExportActions()
connect(m_exportOnedriveAction, SIGNAL(triggered(bool)),
this, SLOT(slotExportTool()));
+ m_exportLinkedInAction = new QAction(i18n("Export to &LinkedIn..."), this);
+ m_exportLinkedInAction->setIcon(QIcon::fromTheme(QString::fromLatin1("linkedin")));
+ actionCollection()->addAction(QLatin1String("export_linkedin"), \
m_exportLinkedInAction); + \
actionCollection()->setDefaultShortcut(m_exportLinkedInAction, Qt::ALT + Qt::SHIFT + \
Qt::CTRL + Qt::Key_L);
- /*m_exportTwitterAction = new QAction(i18n("Export to &Twitter..."), this);
+ connect(m_exportLinkedInAction, SIGNAL(triggered(bool)),
+ this, SLOT(slotExportTool()));
+
+ m_exportTwitterAction = new QAction(i18n("Export to &Twitter..."), this);
m_exportTwitterAction->setIcon(QIcon::fromTheme(QString::fromLatin1("twitter")));
actionCollection()->addAction(QLatin1String("export_twitter"), \
m_exportTwitterAction);
actionCollection()->setDefaultShortcut(m_exportTwitterAction, Qt::ALT + \
Qt::SHIFT + Qt::CTRL + Qt::Key_T);
connect(m_exportTwitterAction, SIGNAL(triggered(bool)),
this, SLOT(slotExportTool()));
-*/
+
m_exportFacebookAction = new QAction(i18n("Export to &Facebook..."), this);
m_exportFacebookAction->setIcon(QIcon::fromTheme(QLatin1String("facebook")));
actionCollection()->addAction(QLatin1String("export_facebook"), \
m_exportFacebookAction); @@ -1209,6 +1218,8 @@ QList<QAction*> \
DXmlGuiWindow::exportActions() const {
return QList<QAction*>() << m_exportDropboxAction
<< m_exportOnedriveAction
+ << m_exportLinkedInAction
+ << m_exportTwitterAction
<< m_exportFacebookAction
<< m_exportFlickrAction
<< m_exportGdriveAction
diff --git a/core/libs/widgets/mainview/dxmlguiwindow.h \
b/core/libs/widgets/mainview/dxmlguiwindow.h index 07bff1d241..64fafe6988 100644
--- a/core/libs/widgets/mainview/dxmlguiwindow.h
+++ b/core/libs/widgets/mainview/dxmlguiwindow.h
@@ -231,6 +231,8 @@ protected:
QAction* m_exportDropboxAction;
QAction* m_exportOnedriveAction;
+ QAction* m_exportLinkedInAction;
+ QAction* m_exportTwitterAction;
QAction* m_exportFacebookAction;
QAction* m_exportFlickrAction;
QAction* m_exportGdriveAction;
diff --git a/core/showfoto/main/showfotoui5.rc b/core/showfoto/main/showfotoui5.rc
index 4b3126eade..bd139578c5 100644
--- a/core/showfoto/main/showfotoui5.rc
+++ b/core/showfoto/main/showfotoui5.rc
@@ -161,9 +161,11 @@
<Action name="export_googlephoto" />
<Action name="export_imageshack" />
<Action name="export_imgur" />
+ <Action name="export_linkedin" />
<Action name="export_onedrive" />
<Action name="export_rajce" />
<Action name="export_smugmug" />
+ <Action name="export_twitter" />
<Action name="export_yandexfotki" />
<Action name="export_mediawiki" />
<Action name="export_vkontakte" />
diff --git a/core/utilities/assistants/webservices/CMakeLists.txt \
b/core/utilities/assistants/webservices/CMakeLists.txt index 6025da22ab..ddb8dcbe10 \
100644
--- a/core/utilities/assistants/webservices/CMakeLists.txt
+++ b/core/utilities/assistants/webservices/CMakeLists.txt
@@ -62,7 +62,7 @@ set(libwso2_SRCS
${CMAKE_CURRENT_SOURCE_DIR}/common/o2/src/o1requestor.cpp
${CMAKE_CURRENT_SOURCE_DIR}/common/o2/src/o1timedreply.cpp
#${CMAKE_CURRENT_SOURCE_DIR}/common/o2/src/o1smugmug.cpp
- #${CMAKE_CURRENT_SOURCE_DIR}/common/o2/src/o1twitter.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/common/o2/src/o1twitter.h
#${CMAKE_CURRENT_SOURCE_DIR}/common/o2/src/oxtwitter.cpp
#${CMAKE_CURRENT_SOURCE_DIR}/common/o2/src/o1dropbox.h
#${CMAKE_CURRENT_SOURCE_DIR}/common/o2/src/o1flickr.h
@@ -128,6 +128,23 @@ set(libwsonedrive_SRCS \
${CMAKE_CURRENT_SOURCE_DIR}/onedrive/odnewalbumdlg.cpp \
${CMAKE_CURRENT_SOURCE_DIR}/onedrive/odwindow.cpp )
+# LinkedIn tool --------------------------------------------------------------
+
+set(libwslinkedin_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/linkedIn/linewalbumdlg.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/linkedIn/limpform.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/linkedIn/litalker.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/linkedIn/liwidget.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/linkedIn/liwindow.cpp
+)
+
+# Twitter tool --------------------------------------------------------------
+
+set(libwstwitter_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/twitter/twitternewalbumdlg.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/twitter/twittermpform.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/twitter/twittertalker.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/twitter/twitterwidget.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/twitter/twitterwindow.cpp
+)
# SmugMug tool -------------------------------------------------------------
@@ -248,6 +265,8 @@ add_library(webservices_src OBJECT ${libwebservices_SRCS}
${libwsimgur_SRCS}
${libwsdropbox_SRCS}
${libwsonedrive_SRCS}
+ ${libwstwitter_SRCS}
+ ${libwslinkedin_SRCS}
${libwssmugmug_SRCS}
${libwsimageshack_SRCS}
${libwsfacebook_SRCS}
diff --git a/core/utilities/assistants/webservices/common/o2/src/o0baseauth.cpp \
b/core/utilities/assistants/webservices/common/o2/src/o0baseauth.cpp index \
e7d385de43..66df3604bf 100644
--- a/core/utilities/assistants/webservices/common/o2/src/o0baseauth.cpp
+++ b/core/utilities/assistants/webservices/common/o2/src/o0baseauth.cpp
@@ -96,7 +96,7 @@ QByteArray O0BaseAuth::replyContent() const {
if(replyServer_ != NULL) {
return replyServer_->replyContent();
}
-
+
return QByteArray();
}
@@ -146,5 +146,7 @@ QByteArray O0BaseAuth::createQueryParameters(const \
QList<O0RequestParameter> &pa }
ret.append(QUrl::toPercentEncoding(h.name) + "=" + \
QUrl::toPercentEncoding(h.value)); }
+ qDebug() << "createQueryParameters in o0base:" << QString::fromUtf8(ret);
+
return ret;
}
diff --git a/core/utilities/assistants/webservices/common/o2/src/o1.cpp \
b/core/utilities/assistants/webservices/common/o2/src/o1.cpp index \
a7abb3ada6..70cf05ab07 100644
--- a/core/utilities/assistants/webservices/common/o2/src/o1.cpp
+++ b/core/utilities/assistants/webservices/common/o2/src/o1.cpp
@@ -25,7 +25,7 @@ O1::O1(QObject *parent, QNetworkAccessManager *manager, \
O0AbstractStore *store): setSignatureMethod(O2_SIGNATURE_TYPE_HMAC_SHA1);
manager_ = manager ? manager : new QNetworkAccessManager(this);
qRegisterMetaType<QNetworkReply::NetworkError>("QNetworkReply::NetworkError");
-
+
setCallbackUrl(O2_CALLBACK_URL);
}
@@ -151,6 +151,7 @@ QByteArray O1::getRequestBase(const QList<O0RequestParameter> \
&oauthParams, cons headers.append(otherParams);
std::sort(headers.begin(), headers.end());
base.append(encodeHeaders(headers));
+ qDebug() << "base string inside 01: " << QString::fromUtf8(base);
return base;
}
@@ -181,6 +182,7 @@ QByteArray O1::buildAuthorizationHeader(const \
QList<O0RequestParameter> &oauthPa ret.append(QUrl::toPercentEncoding(h.value));
ret.append("\"");
}
+ qDebug() << "Auth Header 01.cpp:" << QString::fromUtf8(ret);
return ret;
}
@@ -227,13 +229,13 @@ void O1::link() {
setToken("");
setTokenSecret("");
setExtraTokens(QVariantMap());
-
+
if (!useExternalWebInterceptor_) {
// Start reply server
if (!replyServer_->isListening())
replyServer_->listen(QHostAddress::Any, localPort());
}
-
+
// Get any query parameters for the request
#if QT_VERSION >= 0x050000
QUrlQuery requestData;
diff --git a/core/utilities/assistants/webservices/common/o2/src/o1requestor.cpp \
b/core/utilities/assistants/webservices/common/o2/src/o1requestor.cpp index \
c08012b43c..590bb3d4ea 100644
--- a/core/utilities/assistants/webservices/common/o2/src/o1requestor.cpp
+++ b/core/utilities/assistants/webservices/common/o2/src/o1requestor.cpp
@@ -19,6 +19,7 @@ QNetworkReply *O1Requestor::get(const QNetworkRequest &req, const \
QList<O0Reques
QNetworkReply *O1Requestor::post(const QNetworkRequest &req, const \
QList<O0RequestParameter> &signingParameters, const QByteArray &data) \
{
QNetworkRequest request = setup(req, signingParameters, \
QNetworkAccessManager::PostOperation); + debugRequest(request, data);
return addTimer(manager_->post(request, data));
}
@@ -53,5 +54,17 @@ QNetworkRequest O1Requestor::setup(const QNetworkRequest &req, \
const QList<O0Req
// Return a copy of the original request with authorization header set
QNetworkRequest request(req);
authenticator_->decorateRequest(request, oauthParams);
+
return request;
}
+void O1Requestor::debugRequest(QNetworkRequest request, QByteArray data)
+{
+ qDebug() << "<<<<<<<<<< Debugging Request >>>>>>>>>>>>>>>";
+ qDebug() << request.url().toString();
+ const QList<QByteArray>& rawHeaderList(request.rawHeaderList());
+ foreach (QByteArray rawHeader, rawHeaderList) {
+ qDebug() <<rawHeader << ": " << request.rawHeader(rawHeader);
+ }
+ qDebug() << data;
+ qDebug() << " ------------------- END -------------------------";
+}
diff --git a/core/utilities/assistants/webservices/common/o2/src/o1requestor.h \
b/core/utilities/assistants/webservices/common/o2/src/o1requestor.h index \
9d07c98fb4..fafafc9190 100644
--- a/core/utilities/assistants/webservices/common/o2/src/o1requestor.h
+++ b/core/utilities/assistants/webservices/common/o2/src/o1requestor.h
@@ -18,6 +18,7 @@ class O0_EXPORT O1Requestor: public QObject {
public:
explicit O1Requestor(QNetworkAccessManager *manager, O1 *authenticator, QObject \
*parent = 0); + void debugRequest(QNetworkRequest request, QByteArray data = \
QByteArray());
public Q_SLOTS:
/// Make a GET request.
diff --git a/core/utilities/imageeditor/main/imageeditorui5.rc \
b/core/utilities/imageeditor/main/imageeditorui5.rc index 7211c42a44..daac3aa403 \
100644
--- a/core/utilities/imageeditor/main/imageeditorui5.rc
+++ b/core/utilities/imageeditor/main/imageeditorui5.rc
@@ -163,9 +163,11 @@
<Action name="export_googlephoto" />
<Action name="export_imageshack" />
<Action name="export_imgur" />
+ <Action name="export_linkedin" />
<Action name="export_onedrive" />
<Action name="export_rajce" />
<Action name="export_smugmug" />
+ <Action name="export_twitter" />
<Action name="export_yandexfotki" />
<Action name="export_mediawiki" />
<Action name="export_vkontakte" />
diff --git a/core/utilities/imageeditor/main/imagewindow.cpp \
b/core/utilities/imageeditor/main/imagewindow.cpp index 96850430a3..84115cf36a 100644
--- a/core/utilities/imageeditor/main/imagewindow.cpp
+++ b/core/utilities/imageeditor/main/imagewindow.cpp
@@ -1896,13 +1896,13 @@ void ImageWindow::slotExportTool()
w->exec();
delete w;
}
- /*else if (tool == m_exportTwitterAction)
+ else if (tool == m_exportTwitterAction)
{
- QPointer<ODWindow> w = new TwWindow(new DBInfoIface(this, \
d->thumbBar->allUrls(), + QPointer<TwWindow> w = new TwWindow(new \
DBInfoIface(this, d->thumbBar->allUrls(),
ApplicationSettings::ImportExport), this);
w->exec();
delete w;
- }*/
+ }
else if (tool == m_exportFacebookAction)
{
QPointer<FbWindow> w = new FbWindow(new DBInfoIface(this, \
d->thumbBar->allUrls(),
diff --git a/core/utilities/imageeditor/main/imagewindow_p.h \
b/core/utilities/imageeditor/main/imagewindow_p.h index 8be4e6c317..d96b7d5503 100644
--- a/core/utilities/imageeditor/main/imagewindow_p.h
+++ b/core/utilities/imageeditor/main/imagewindow_p.h
@@ -102,7 +102,8 @@
#include "facetagseditor.h"
#include "dbwindow.h"
#include "odwindow.h"
-///#include "twitterwindow.h"
+#include "twitterwindow.h"
+#include "liwindow.h"
#include "fbwindow.h"
#include "flickrwindow.h"
#include "gswindow.h"
diff --git a/core/utilities/lighttable/lighttablewindowui5.rc \
b/core/utilities/lighttable/lighttablewindowui5.rc index 47da0ede75..cf2acf8d05 \
100644
--- a/core/utilities/lighttable/lighttablewindowui5.rc
+++ b/core/utilities/lighttable/lighttablewindowui5.rc
@@ -77,9 +77,11 @@
<Action name="export_googlephoto" />
<Action name="export_imageshack" />
<Action name="export_imgur" />
+ <Action name="export_linkedin" />
<Action name="export_onedrive" />
<Action name="export_rajce" />
<Action name="export_smugmug" />
+ <Action name="export_twitter" />
<Action name="export_yandexfotki" />
<Action name="export_mediawiki" />
<Action name="export_vkontakte" />
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic