[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