Post tweets and translate is possible in the next-gen

This commit is contained in:
2014-11-12 22:37:52 -06:00
parent f54d9394b7
commit 606ab6d6fc
11 changed files with 47 additions and 507 deletions

View File

@@ -1,6 +1,7 @@
# -*- coding: utf-8 -*-
from wxUI import (view, dialogs)
import buffersController
import messages
from sessionmanager import session
from pubsub import pub
import sound
@@ -217,8 +218,12 @@ class Controller(object):
def action(self, do_action):
pass
def post_tweet(self):
pass
def post_tweet(self, event=None):
buffer = self.get_best_buffer()
tweet = messages.tweet(buffer.session)
if tweet.message.get_response() == widgetUtils.OK:
text = tweet.message.get_text()
call_threaded(buffer.session.api_call, call_name="update_status", _sound="tweet_send.ogg", status=text)
def post_reply(self):
pass
@@ -337,7 +342,7 @@ class Controller(object):
buffer.remove_item(item)
def manage_item_in_timeline(self, data, user, who):
buffer = self.search_buffer("%i-timeline" % (who,), user)
buffer = self.search_buffer("%s-timeline" % (who,), user)
play_sound = "tweet_timeline.ogg"
buffer.add_new_item(data)
self.notify(play_sound=play_sound)

View File

@@ -1,9 +1,31 @@
# -*- coding: utf-8 -*-
import widgetUtils
import output
from wxUI.dialogs import message
from extra import translator
class tweet(object):
def __init__(self, session):
super(tweet, self).__init__()
self.message = message.tweet(_(u"Write the tweet here"), _(u"tweet - 0 characters"), "")
# widgetUtils.connect_event(self.message.upload_image, widgetUtils.BUTTON_PRESSED, self.upload_image)
# widgetUtils.connect_event(self.message.spellcheck, widgetUtils.BUTTON_PRESSED, self.spellcheck)
# widgetUtils.connect_event(self.message.attach, widgetUtils.BUTTON_PRESSED, self.attach)
# widgetUtils.connect_event(self.message.shortenButton, widgetUtils.BUTTON_PRESSED, self.shorten)
# widgetUtils.connect_event(self.message.unshortenButton, widgetUtils.BUTTON_PRESSED, self.unshorten)
widgetUtils.connect_event(self.message.translateButton, widgetUtils.BUTTON_PRESSED, self.translate)
def translate(self, event=None):
dlg = translator.gui.translateDialog()
if dlg.get_response() == widgetUtils.OK:
text_to_translate = self.message.get_text()
source = [x[0] for x in translator.translator.available_languages()][dlg.get("source_lang")]
dest = [x[0] for x in translator.translator.available_languages()][dlg.get("dest_lang")]
t = translator.translator.Translator()
t.from_lang = source
t.to_lang = dest
msg = t.translate(text_to_translate)
self.message.set_text(msg)
output.speak(_(u"Translated"))
else:
return

View File

@@ -1 +1,6 @@
# -*- coding: utf-8 -*-
import translator
import platform
if platform.system() == "Windows":
import wx_ui as gui

View File

@@ -16,10 +16,11 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
############################################################
import translator
import wx
from wxUI.dialogs import baseDialog
class translateDialog(baseDialog.BaseDialog):
class translateDialog(baseDialog.BaseWXDialog):
def __init__(self):
super(translateDialog, self).__init__(None, -1, title=_(u"Translate message"))
panel = wx.Panel(self)
@@ -38,4 +39,7 @@ class translateDialog(baseDialog.BaseDialog):
ok = wx.Button(panel, wx.ID_OK)
ok.SetDefault()
cancel = wx.Button(panel, wx.ID_CANCEL)
self.SetEscapeId(wx.ID_CANCEL)
self.SetEscapeId(wx.ID_CANCEL)
def get(self, control):
return getattr(self, control).GetSelection()

View File

@@ -9,6 +9,7 @@ NO = wx.ID_NO
#events
CLOSE_EVENT = wx.EVT_CLOSE
BUTTON_PRESSED = wx.EVT_BUTTON
def exit_application():
wx.GetApp().ExitMainLoop()

View File

@@ -24,6 +24,9 @@ class textLimited(baseDialog.BaseWXDialog):
def get_text(self):
return self.text.GetValue()
def set_text(self, text):
return self.text.ChangeValue(text)
def onSelect(self, ev):
self.text.SelectAll()

View File

@@ -31,7 +31,7 @@ class mainFrame(wx.Frame):
# Tweet menu
tweet = wx.Menu()
compose = tweet.Append(wx.NewId(), _(u"&Tweet"))
# self.view.Bind(wx.EVT_MENU, self.compose, compose)
self.Bind(wx.EVT_MENU, self.controller.post_tweet, compose)
response = tweet.Append(wx.NewId(), _(u"Re&ply"))
# self.view.Bind(wx.EVT_MENU, self.reply, response)
retweet = tweet.Append(wx.NewId(), _(u"&Retweet"))