Hey all,

This is my first patch, it just adds "posting private picture to
imagebin.ca from the pastebin plasmoid" as the title says, it needs to
be applied from kdeplasma-addons, hope it works for you.

Cheers,

Pat
Index: applets/pastebin/pastebin.cpp
===================================================================
--- applets/pastebin/pastebin.cpp       (revision 1008583)
+++ applets/pastebin/pastebin.cpp       (working copy)
@@ -463,6 +463,15 @@ void Pastebin::createConfigurationInterf

     QString imageshackURL = cg.readEntry("imageshack", "http://imageshack.us";);
     uiServers.imageshack->setText(imageshackURL);
+
+    uiConfig.textServer->setCurrentIndex(m_textBackend);
+
+    QWidget *serversoptions = new QWidget();
+    uiServersOptions.setupUi(serversoptions);
+    int imagebinPrivacy = cg.readEntry("imagebinPrivacy", "0").toInt();
+    uiServersOptions.imagebinPrivacy->setCurrentIndex(imagebinPrivacy);
+
+    parent->addPage(serversoptions, i18n("Servers Options"), Applet::icon());
 }

 void Pastebin::configAccepted()
@@ -477,6 +486,8 @@ void Pastebin::configAccepted()
     QString imagebincaURL = uiServers.imagebinca->text();
     QString imageshackURL = uiServers.imageshack->text();

+    int imagebinPrivacy = uiServersOptions.imagebinPrivacy->currentIndex();
+
     cg.writeEntry("TextBackend", textBackend);
     cg.writeEntry("ImageBackend", imageBackend);
     cg.writeEntry("HistorySize", historySize);
@@ -486,6 +497,8 @@ void Pastebin::configAccepted()
     cg.writeEntry("imagebinca", imagebincaURL);
     cg.writeEntry("imageshack", imageshackURL);

+    cg.writeEntry("imagebinPrivacy", imagebinPrivacy);
+
     setTextServer(textBackend);
     setImageServer(imageBackend);
     setHistorySize(historySize);
Index: applets/pastebin/backends/imagebinca.cpp
===================================================================
--- applets/pastebin/backends/imagebinca.cpp    (revision 1008583)
+++ applets/pastebin/backends/imagebinca.cpp    (working copy)
@@ -35,8 +35,8 @@
 ImagebinCAServer::ImagebinCAServer(const KConfigGroup& config)
     : PastebinServer()
 {
+    m_privacy = config.readEntry("imagebinPrivacy", "0");
     m_server = config.readEntry("imagebinca", "http://imagebin.ca";);
-
     m_boundary  = "----------";
     m_boundary += KRandom::randomString(42 + 13).toAscii();
 }
@@ -168,10 +168,17 @@ void ImagebinCAServer::post(const QStrin
     addPair("tags", "plasma");
     url.addQueryItem("tags", "plasma");

-    addPair("adult", "f");
-    url.addQueryItem("adult", "f");
+    if(m_privacy == "0"){
+      adult = "f";
+    } else {
+      adult = "t";
+    }
+
+    addPair("adult", adult);
+    url.addQueryItem("adult", adult);

     addFile("f", content);
+
     finish();

     _data.clear();
Index: applets/pastebin/backends/imagebinca.h
===================================================================
--- applets/pastebin/backends/imagebinca.h      (revision 1008583)
+++ applets/pastebin/backends/imagebinca.h      (working copy)
@@ -42,6 +42,8 @@ public:
     void finish();
     bool addPair(const QString& name, const QString& value);
     bool addFile(const QString& name,const QString& path);
+    QString adult;
+    QString m_privacy;

 protected:
     QByteArray m_buffer;
Index: applets/pastebin/pastebin.h
===================================================================
--- applets/pastebin/pastebin.h (revision 1008583)
+++ applets/pastebin/pastebin.h (working copy)
@@ -23,6 +23,7 @@
 #include "backends/backends.h"
 #include "ui_pastebinConfig.h"
 #include "ui_pastebinServersConfig.h"
+#include "ui_pastebinServersOptionsConfig.h"

 #include <KDE/KIO/TransferJob>
 #include <KDE/KIO/Job>
@@ -153,6 +154,7 @@ private:

     Ui::pastebinConfig uiConfig;
     Ui::pastebinServersConfig uiServers;
+    Ui::pastebinServersOptionsConfig uiServersOptions;
 };

 K_EXPORT_PLASMA_APPLET(pastebin, Pastebin)
Index: applets/pastebin/CMakeLists.txt
===================================================================
--- applets/pastebin/CMakeLists.txt     (revision 1008583)
+++ applets/pastebin/CMakeLists.txt     (working copy)
@@ -1,5 +1,8 @@
 project(plasma-pastebin)

+cmake_minimum_required(VERSION 2.6)
+find_package(KDE4 REQUIRED)
+
 set(pastebin_SRCS
   backends/server.cpp
   backends/pastebinca.cpp
@@ -10,6 +13,7 @@ set(pastebin_SRCS

 kde4_add_ui_files(pastebin_SRCS pastebinConfig.ui)
 kde4_add_ui_files(pastebin_SRCS pastebinServersConfig.ui)
+kde4_add_ui_files(pastebin_SRCS pastebinServersOptionsConfig.ui)

 kde4_add_plugin(plasma_applet_pastebin ${pastebin_SRCS})
 target_link_libraries(plasma_applet_pastebin ${KDE4_PLASMA_LIBS} ${KDE4_KDEUI_LIBS} ${KDE4_KIO_LIBS})
Index: applets/pastebin/pastebinServersOptionsConfig.ui
===================================================================
--- applets/pastebin/pastebinServersOptionsConfig.ui    (revision 0)
+++ applets/pastebin/pastebinServersOptionsConfig.ui    (revision 0)
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>pastebinServersOptionsConfig</class>
+ <widget class="QWidget" name="pastebinServersOptionsConfig">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>245</width>
+    <height>96</height>
+   </rect>
+  </property>
+  <property name="windowTitle">
+   <string>Pastebin Servers Options Config Dialog</string>
+  </property>
+  <layout class="QFormLayout" name="formLayout">
+   <item row="1" column="0">
+    <widget class="QLabel" name="imagebinPrivacyLabel">
+     <property name="text">
+      <string>Make Imagebin images:</string>
+     </property>
+    </widget>
+   </item>
+   <item row="1" column="1">
+    <widget class="KComboBox" name="imagebinPrivacy">
+     <item>
+      <property name="text">
+       <string>Public</string>
+      </property>
+     </item>
+     <item>
+      <property name="text">
+       <string>Private</string>
+      </property>
+     </item>
+    </widget>
+   </item>
+  </layout>
+ </widget>
+ <customwidgets>
+  <customwidget>
+   <class>KComboBox</class>
+   <extends>QComboBox</extends>
+   <header>kcombobox.h</header>
+  </customwidget>
+ </customwidgets>
+ <resources/>
+ <connections/>
+</ui>
_______________________________________________
Plasma-devel mailing list
Plasma-devel@kde.org
https://mail.kde.org/mailman/listinfo/plasma-devel

Reply via email to