[polari/wip/fmuellner/paste-confirmation: 9/16] pasteManager: Add 'title' parameter



commit 2b5c6aeb8d00709791f88f3ff9af7f35aec1bbeb
Author: Florian Müllner <fmuellner gnome org>
Date:   Thu Feb 11 20:50:51 2016 +0100

    pasteManager: Add 'title' parameter
    
    pasteManager: Add callback

 src/entryArea.js    |   26 ++++++++++++++++++-
 src/pasteManager.js |   68 ++------------------------------------------------
 2 files changed, 28 insertions(+), 66 deletions(-)
---
diff --git a/src/entryArea.js b/src/entryArea.js
index 4246e52..29c30f7 100644
--- a/src/entryArea.js
+++ b/src/entryArea.js
@@ -242,8 +242,32 @@ const EntryArea = new Lang.Class({
     },
 
     _onPasteClicked: function() {
+        let title;
+        let nick = this._room.channel.connection.self_contact.alias;
+        if (this._room.type == Tp.HandleType.ROOM)
+            /* translators: %s is a nick, #%s a channel */
+            title = _("%s in #%s").format(nick, this._room.display_name);
+        else
+            title = _("Paste from %s").format(nick);
+
         let app = Gio.Application.get_default();
-        app.pasteManager.pasteContent(this._pasteContent);
+        app.pasteManager.pasteContent(this._pasteContent, title, Lang.bind(this,
+            function(url) {
+                if (!url)
+                    return;
+
+                let type = Tp.ChannelTextMessageType.NORMAL;
+                let message = Tp.ClientMessage.new_text(type, url);
+                this._room.channel.send_message_async(message, 0, Lang.bind(this,
+                    function(c, res) {
+                        try {
+                             c.send_message_finish(res);
+                        } catch(e) {
+                             logError(e, 'Failed to send message')
+                        }
+                    }));
+            }));
+
         this._setPasteContent(null);
     },
 
diff --git a/src/pasteManager.js b/src/pasteManager.js
index 0cc8d06..b591524 100644
--- a/src/pasteManager.js
+++ b/src/pasteManager.js
@@ -30,76 +30,14 @@ const PasteManager = new Lang.Class({
         return;
     },
 
-    pasteContent: function(content) {
+    pasteContent: function(content, title, callback) {
         if (typeof content == 'string') {
-            this.pasteText(content);
+            Utils.gpaste(content, title, callback);
         } else if (content instanceof GdkPixbuf.Pixbuf) {
-            this.pasteImage(content);
+            Utils.imgurPaste(content, title, callback);
         } else {
             throw new Error('Unhandled content type');
         }
-    },
-
-    pasteText: function(text) {
-        let room = this._roomManager.getActiveRoom();
-        if (!room)
-            return;
-
-        let title;
-        let nick = room.channel.connection.self_contact.alias;
-        if (room.type == Tp.HandleType.ROOM)
-            /* translators: %s is a nick, #%s a channel */
-            title = _("%s in #%s").format(nick, room.display_name);
-        else
-            title = _("Paste from %s").format(nick);
-
-        Utils.gpaste(text, title, Lang.bind(this,
-            function(url) {
-                if (!url)
-                    return;
-
-                let type = Tp.ChannelTextMessageType.NORMAL;
-                let message = Tp.ClientMessage.new_text(type, url);
-                room.channel.send_message_async(message, 0, Lang.bind(this,
-                    function(c, res) {
-                        try {
-                             c.send_message_finish(res);
-                        } catch(e) {
-                             logError(e, 'Failed to send message')
-                        }
-                    }));
-            }));
-    },
-
-    pasteImage: function(pixbuf) {
-        let room = this._roomManager.getActiveRoom();
-        if (!room)
-            return;
-
-        let title;
-        let nick = room.channel.connection.self_contact.alias;
-        if (room.type == Tp.HandleType.ROOM)
-            /* translators: %s is a nick, #%s a channel */
-            title = _("%s in #%s").format(nick, room.display_name);
-        else
-            title = _("Paste from %s").format(nick);
-
-        Utils.imgurPaste(pixbuf, title, Lang.bind(this,
-            function(url) {
-                if (!url)
-                    return;
-
-                let type = Tp.ChannelTextMessageType.NORMAL;
-                let message = Tp.ClientMessage.new_text(type, url);
-                room.channel.send_message_async(message, 0, Lang.bind(this,
-                    function(c, res) {
-                        try {
-                             c.send_message_finish(res);
-                        } catch(e) {
-                             logError(e, 'Failed to send message')
-                        }
-                    }));
-            }));
     }
 });
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]