[polari/wip/fmuellner/paste-confirmation: 9/16] pasteManager: Add 'title' parameter
- From: Florian Müllner <fmuellner src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [polari/wip/fmuellner/paste-confirmation: 9/16] pasteManager: Add 'title' parameter
- Date: Fri, 12 Feb 2016 13:00:19 +0000 (UTC)
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]