示例#1
0
 def __init__(self, session, user=None):
     super(profileController, self).__init__()
     self.file = None
     self.session = session
     self.user = user
     if user == None:
         self.dialog = update_profile.updateProfileDialog()
         self.get_data(screen_name=self.session.db["user_name"])
         self.fill_profile_fields()
         self.uploaded = False
         widgetUtils.connect_event(self.dialog.upload_image,
                                   widgetUtils.BUTTON_PRESSED,
                                   self.upload_image)
     else:
         self.dialog = show_user.showUserProfile()
         self.get_data(screen_name=self.user)
         string = self.get_user_info()
         self.dialog.set("text", string)
         self.dialog.set_title(
             _(u"Information for %s") % (self.data["screen_name"]))
         if self.data["url"] != None:
             self.dialog.enable_url()
             widgetUtils.connect_event(self.dialog.url,
                                       widgetUtils.BUTTON_PRESSED,
                                       self.visit_url)
     if self.dialog.get_response() == widgetUtils.OK and self.user == None:
         self.do_update()
 def __init__(self, configFile, completed_callback):
  self.config = configFile
  super(audioUploader, self).__init__()
  self.dialog = wx_ui.audioDialog(services=self.get_available_services())
  self.file = None
  self.recorded = False
  self.recording = None
  self.playing = None
  widgetUtils.connect_event(self.dialog.play, widgetUtils.BUTTON_PRESSED, self.on_play)
  widgetUtils.connect_event(self.dialog.pause, widgetUtils.BUTTON_PRESSED, self.on_pause)
  widgetUtils.connect_event(self.dialog.record, widgetUtils.BUTTON_PRESSED, self.on_record)
  widgetUtils.connect_event(self.dialog.attach_exists, widgetUtils.BUTTON_PRESSED, self.on_attach_exists)
  widgetUtils.connect_event(self.dialog.discard, widgetUtils.BUTTON_PRESSED, self.on_discard)
  if self.dialog.get_response() == widgetUtils.OK:
   self.postprocess()
   log.debug("Uploading file %s to %s..." % (self.file, self.dialog.get("services")))
   self.uploaderDialog = wx_transfer_dialogs.UploadDialog(self.file)
   output.speak(_(u"Attaching..."))
   if self.dialog.get("services") == "SNDUp":
    base_url = "http://sndup.net/post.php"
    if len(self.config["sound"]["sndup_api_key"]) > 0:
     url = base_url + '?apikey=' + self.config['sound']['sndup_api_key']
    else:
     url = base_url
    self.uploaderFunction = transfer.Upload(field='file', url=url, filename=self.file, completed_callback=completed_callback)
   elif self.dialog.get("services") == "TwUp":
    url = "http://api.twup.me/post.json"
    self.uploaderFunction = transfer.Upload(field='file', url=url, filename=self.file, completed_callback=completed_callback)
   pub.subscribe(self.uploaderDialog.update, "uploading")
   self.uploaderDialog.get_response()
   self.uploaderFunction.perform_threaded()
示例#3
0
 def __init__(self, session, title, caption, text, twishort_enabled, users=None):
  super(reply, self).__init__(session, title, caption, text, twishort_enabled, messageType="reply")
  self.users = users
  if self.users != None and len(self.users) > 1:
   widgetUtils.connect_event(self.message.mentionAll, widgetUtils.BUTTON_PRESSED, self.mention_all)
   self.message.enable_button("mentionAll")
  self.message.set_cursor_at_end()
示例#4
0
	def __init__(self):
		self.attachments = list()
		self.dialog = gui.attachDialog()
		widgetUtils.connect_event(self.dialog.photo, widgetUtils.BUTTON_PRESSED, self.upload_image)
		widgetUtils.connect_event(self.dialog.remove, widgetUtils.BUTTON_PRESSED, self.remove_attachment)
		self.dialog.get_response()
		log.debug("Attachments controller started.")
示例#5
0
 def __init__(self, session, title, caption, text, twishort_enabled, messageType="tweet", max=140):
  super(tweet, self).__init__(session, title, caption, text, messageType, max)
  self.image = None
  widgetUtils.connect_event(self.message.upload_image, widgetUtils.BUTTON_PRESSED, self.upload_image)
  widgetUtils.connect_event(self.message.autocompletionButton, widgetUtils.BUTTON_PRESSED, self.autocomplete_users)
  if twishort_enabled == False:
   try: self.message.long_tweet.SetValue(False)
   except AttributeError: pass
 def __init__(self, user_name):
  self.user_name = user_name
  self.categories = [_(u"General")]
  self.reproducibilities = [_(u"always"), _(u"sometimes"), _(u"random"), _(u"have not tried"), _(u"unable to duplicate")]
  self.severities = [_(u"block"), _(u"crash"), _(u"major"), _(u"minor"), _(u"tweak"), _(u"text"), _(u"trivial"), _(u"feature")]
  self.dialog = wx_ui.reportBugDialog(self.categories, self.reproducibilities, self.severities)
  widgetUtils.connect_event(self.dialog.ok, widgetUtils.BUTTON_PRESSED, self.send)
  self.dialog.get_response()
	def __init__(self):
		super(sessionManagerController, self).__init__()
		log.debug("Setting up the session manager.")
		self.view = view.sessionManagerWindow()
		widgetUtils.connect_event(self.view.new, widgetUtils.BUTTON_PRESSED, self.manage_new_account)
		widgetUtils.connect_event(self.view.remove, widgetUtils.BUTTON_PRESSED, self.remove)
		self.new_sessions = {}
		self.removed_sessions = []
示例#8
0
 def __init__(self, user_name):
  self.user_name = user_name
  self.categories = [_(u"General")]
  self.reproducibilities = [_(u"always"), _(u"sometimes"), _(u"random"), _(u"have not tried"), _(u"unable to duplicate")]
  self.severities = [_(u"block"), _(u"crash"), _(u"major"), _(u"minor"), _(u"tweak"), _(u"text"), _(u"trivial"), _(u"feature")]
  self.dialog = wx_ui.reportBugDialog(self.categories, self.reproducibilities, self.severities)
  widgetUtils.connect_event(self.dialog.ok, widgetUtils.BUTTON_PRESSED, self.send)
  self.dialog.get_response()
 def __init__(self, buffer, users=[], default="follow"):
  super(userActionsController, self).__init__()
  self.buffer = buffer
  self.session = buffer.session
  self.dialog = userActions.UserActionsDialog(users, default)
  widgetUtils.connect_event(self.dialog.autocompletion, widgetUtils.BUTTON_PRESSED, self.autocomplete_users)
  if self.dialog.get_response() == widgetUtils.OK:
   self.process_action()
示例#10
0
	def __init__(self, title, caption, text, post_type="post"):
		super(post, self).__init__()
		self.title = title
		self.message = getattr(message, post_type)(title, caption, text)
		self.message.set_title(title)
		widgetUtils.connect_event(self.message.spellcheck, widgetUtils.BUTTON_PRESSED, self.spellcheck)
		widgetUtils.connect_event(self.message.translateButton, widgetUtils.BUTTON_PRESSED, self.translate)
		self.image = None
示例#11
0
 def on_context(self, *args, **kwargs):
     item = self.window.get_item()
     if item == -1:
         return wx.Bell()
     menu = menus.contextMenu()
     widgetUtils.connect_event(menu, widgetUtils.MENU, self.on_play, menuitem=menu.play)
     widgetUtils.connect_event(menu, widgetUtils.MENU, self.on_download, menuitem=menu.download)
     self.window.PopupMenu(menu, wx.GetMousePosition())
     menu.Destroy()
 def bind_events(self):
  log.debug("Binding events...")
  self.buffer.list.list.Bind(wx.EVT_CHAR_HOOK, self.get_event)
#  widgetUtils.connect_event(self.buffer, widgetUtils.BUTTON_PRESSED, self.post_tweet, self.buffer.tweet)
#  widgetUtils.connect_event(self.buffer, widgetUtils.BUTTON_PRESSED, self.retweet, self.buffer.retweet)
#  widgetUtils.connect_event(self.buffer, widgetUtils.BUTTON_PRESSED, self.direct_message, self.buffer.dm)
#  widgetUtils.connect_event(self.buffer, widgetUtils.BUTTON_PRESSED, self.reply, self.buffer.reply)
  widgetUtils.connect_event(self.buffer.list.list, wx.EVT_LIST_ITEM_RIGHT_CLICK, self.show_menu)
  widgetUtils.connect_event(self.buffer.list.list, wx.EVT_LIST_KEY_DOWN, self.show_menu_by_key)
示例#13
0
	def on_context(self, *args, **kwargs):
		item = self.window.get_item()
		if item == -1:
			return wx.Bell()
		menu = menus.contextMenu()
		widgetUtils.connect_event(menu, widgetUtils.MENU, self.on_play, menuitem=menu.play)
		widgetUtils.connect_event(menu, widgetUtils.MENU, self.on_download, menuitem=menu.download)
		self.window.PopupMenu(menu, wx.GetMousePosition())
		menu.Destroy()
示例#14
0
	def check_image_load(self):
		if self.load_images and len(self.images) > 0 and self.session.settings["general"]["load_images"]:
			self.dialog.image.Enable(True)
			nav = False # Disable navigation controls in photos
			if len(self.images) > 1:
				nav = True
				widgetUtils.connect_event(self.dialog.previous_photo, widgetUtils.BUTTON_PRESSED, self.set_previous_image)
				widgetUtils.connect_event(self.dialog.next_photo, widgetUtils.BUTTON_PRESSED, self.set_next_image)
			self.dialog.enable_photo_controls(navigation=nav)
			self.set_image(0)
示例#15
0
 def __init__(self, session, title, caption, text):
     super(dm, self).__init__(session,
                              title,
                              caption,
                              text,
                              messageType="dm",
                              max=10000)
     widgetUtils.connect_event(self.message.autocompletionButton,
                               widgetUtils.BUTTON_PRESSED,
                               self.autocomplete_users)
示例#16
0
 def __init__(self, session):
  super(trendingTopicsController, self).__init__()
  self.countries = {}
  self.cities = {}
  self.dialog = trends.trendingTopicsDialog()
  self.information = session.twitter.twitter.get_available_trends()
  self.split_information()
  widgetUtils.connect_event(self.dialog.country, widgetUtils.RADIOBUTTON, self.get_places)
  widgetUtils.connect_event(self.dialog.city, widgetUtils.RADIOBUTTON, self.get_places)
  self.get_places()
示例#17
0
 def __init__(self, session):
  super(autocompletionManage, self).__init__()
  self.session = session
  self.dialog = wx_manage.autocompletionManageDialog()
  self.database = storage.storage(self.session.session_id)
  self.users = self.database.get_all_users()
  self.dialog.put_users(self.users)
  widgetUtils.connect_event(self.dialog.add, widgetUtils.BUTTON_PRESSED, self.add_user)
  widgetUtils.connect_event(self.dialog.remove, widgetUtils.BUTTON_PRESSED, self.remove_user)
  self.dialog.get_response()
 def __init__(self, buffer, users=[], default="follow"):
     super(userActionsController, self).__init__()
     self.buffer = buffer
     self.session = buffer.session
     self.dialog = userActions.UserActionsDialog(users, default)
     widgetUtils.connect_event(self.dialog.autocompletion,
                               widgetUtils.BUTTON_PRESSED,
                               self.autocomplete_users)
     if self.dialog.get_response() == widgetUtils.OK:
         self.process_action()
 def __init__(self):
  super(KeystrokeEditor, self).__init__()
  self.changed = False # Change it if the keyboard shorcuts are reassigned.
  self.dialog = wx_ui.keystrokeEditorDialog()
  self.map = config.keymap["keymap"]
  # we need to  copy the keymap before modify it, for unregistering the old keystrokes if is needed.
  self.hold_map = self.map.copy()
  self.dialog.put_keystrokes(constants.actions, self.map)
  widgetUtils.connect_event(self.dialog.edit, widgetUtils.BUTTON_PRESSED, self.edit_keystroke)
  widgetUtils.connect_event(self.dialog.execute, widgetUtils.BUTTON_PRESSED, self.execute_action)
  self.dialog.get_response()
示例#20
0
 def __init__(self, config, buffer, window):
     super(autocompletionSettings, self).__init__()
     self.config = config
     self.buffer = buffer
     self.window = window
     self.dialog = wx_settings.autocompletionSettingsDialog()
     self.dialog.set("friends_buffer", self.config["mysc"]["save_friends_in_autocompletion_db"])
     self.dialog.set("followers_buffer", self.config["mysc"]["save_followers_in_autocompletion_db"])
     widgetUtils.connect_event(self.dialog.viewList, widgetUtils.BUTTON_PRESSED, self.view_list)
     if self.dialog.get_response() == widgetUtils.OK:
         call_threaded(self.add_users_to_database)
示例#21
0
 def __init__(self, session):
     super(trendingTopicsController, self).__init__()
     self.countries = {}
     self.cities = {}
     self.dialog = trends.trendingTopicsDialog()
     self.information = session.twitter.twitter.get_available_trends()
     self.split_information()
     widgetUtils.connect_event(self.dialog.country, widgetUtils.RADIOBUTTON,
                               self.get_places)
     widgetUtils.connect_event(self.dialog.city, widgetUtils.RADIOBUTTON,
                               self.get_places)
     self.get_places()
 def show_menu(self, ev, pos=0, *args, **kwargs):
  menu = menus.peoplePanelMenu()
  widgetUtils.connect_event(menu, widgetUtils.MENU, self.direct_message, menuitem=menu.reply)
  widgetUtils.connect_event(menu, widgetUtils.MENU, self.user_actions, menuitem=menu.userActions)
  widgetUtils.connect_event(menu, widgetUtils.MENU, self.details, menuitem=menu.details)
#  widgetUtils.connect_event(menu, widgetUtils.MENU, self.lists, menuitem=menu.lists)
  widgetUtils.connect_event(menu, widgetUtils.MENU, self.view, menuitem=menu.view)
  widgetUtils.connect_event(menu, widgetUtils.MENU, self.copy, menuitem=menu.copy)
  if pos != 0:
   self.buffer.PopupMenu(menu, pos)
  else:
   self.buffer.PopupMenu(menu, ev.GetPosition())
示例#23
0
	def __init__(self, session, postObject):
		self.added_audios = {}
		self.session = session
		self.post = postObject
		self.dialog = postDialogs.audio()
		widgetUtils.connect_event(self.dialog.list, widgetUtils.LISTBOX_CHANGED, self.handle_changes)
		self.load_audios()
		self.fill_information(0)
		widgetUtils.connect_event(self.dialog.download, widgetUtils.BUTTON_PRESSED, self.download)
		widgetUtils.connect_event(self.dialog.play, widgetUtils.BUTTON_PRESSED, self.play)
		widgetUtils.connect_event(self.dialog.add, widgetUtils.BUTTON_PRESSED, self.add_to_library)
		widgetUtils.connect_event(self.dialog.remove, widgetUtils.BUTTON_PRESSED, self.remove_from_library)
示例#24
0
 def __init__(self, session):
     super(autocompletionManage, self).__init__()
     self.session = session
     self.dialog = wx_manage.autocompletionManageDialog()
     self.database = storage.storage(self.session.session_id)
     self.users = self.database.get_all_users()
     self.dialog.put_users(self.users)
     widgetUtils.connect_event(self.dialog.add, widgetUtils.BUTTON_PRESSED,
                               self.add_user)
     widgetUtils.connect_event(self.dialog.remove,
                               widgetUtils.BUTTON_PRESSED, self.remove_user)
     self.dialog.get_response()
示例#25
0
	def __init__(self, session, comment_object):
		super(comment, self).__init__()
		self.session = session
		self.comment = comment_object
		self.dialog = postDialogs.comment()
		from_ = self.comment["from"]["name"]
		message = self.comment["message"]
		original_date = arrow.get(self.comment["created_time"], "YYYY-MM-DTHH:m:sZ", locale="en")
		created_at = original_date.humanize(locale=languageHandler.getLanguage())
		self.dialog.set_post(message)
		self.dialog.set_title(_(u"Comment from {0}").format(from_,))
		widgetUtils.connect_event(self.dialog.like, widgetUtils.BUTTON_PRESSED, self.post_like)
		call_threaded(self.get_likes)
示例#26
0
	def get_menu(self):
		p = self.get_post()
		m = menus.audioMenu()
		widgetUtils.connect_event(m, widgetUtils.MENU, self.open_post, menuitem=m.open)
		widgetUtils.connect_event(m, widgetUtils.MENU, self.play_audio, menuitem=m.play)
		widgetUtils.connect_event(m, widgetUtils.MENU, self.move_to_album, menuitem=m.move)
		# if owner_id is the current user, the audio is added to the user's audios.
		if p["owner_id"] == self.session.user_id:
			m.library.SetItemLabel(_(u"&Remove from library"))
			widgetUtils.connect_event(m, widgetUtils.MENU, self.remove_from_library, menuitem=m.library)
		else:
			widgetUtils.connect_event(m, widgetUtils.MENU, self.add_to_library, menuitem=m.library)
		return m
 def __init__(self):
     super(KeystrokeEditor, self).__init__()
     self.changed = False  # Change it if the keyboard shorcuts are reassigned.
     self.dialog = wx_ui.keystrokeEditorDialog()
     self.map = config.keymap["keymap"]
     # we need to  copy the keymap before modify it, for unregistering the old keystrokes if is needed.
     self.hold_map = self.map.copy()
     self.dialog.put_keystrokes(constants.actions, self.map)
     widgetUtils.connect_event(self.dialog.edit, widgetUtils.BUTTON_PRESSED,
                               self.edit_keystroke)
     widgetUtils.connect_event(self.dialog.execute,
                               widgetUtils.BUTTON_PRESSED,
                               self.execute_action)
     self.dialog.get_response()
示例#28
0
 def __init__(self, sessionObject):
  log.debug("Creating sounds tutorial object...")
  super(soundsTutorial, self).__init__()
  self.session = sessionObject
  self.actions = []
  log.debug("Loading actions for sounds tutorial...")
  [self.actions.append(i[1]) for i in soundsTutorial_constants.actions]
  self.files = []
  log.debug("Searching sound files...")
  [self.files.append(i[0]) for i in soundsTutorial_constants.actions]
  log.debug("Creating dialog...")
  self.dialog = UI.soundsTutorialDialog(self.actions)
  widgetUtils.connect_event(self.dialog.play, widgetUtils.BUTTON_PRESSED, self.on_play)
  self.dialog.get_response()
示例#29
0
 def __init__(self, text, dictionary):
  super(spellChecker, self).__init__()
  log.debug("Creating the SpellChecker object. Dictionary: %s" % (dictionary,))
  self.active = True
  try:
   if config.app["app-settings"]["language"] == "system":
    log.debug("Using the system language")
    self.checker = SpellChecker(filters=[twitterFilter.TwitterFilter, tokenize.EmailFilter, tokenize.URLFilter])
   else:
    log.debug("Using language: %s" % (languageHandler.getLanguage(),))
    self.checker = SpellChecker(languageHandler.getLanguage(), filters=[twitterFilter.TwitterFilter, tokenize.EmailFilter, tokenize.URLFilter])
   self.checker.set_text(text)
  except DictNotFoundError:
   log.exception("Dictionary for language %s not found." % (dictionary,))
   wx_ui.dict_not_found_error()
   self.active = False
  if self.active == True:
   log.debug("Creating dialog...")
   self.dialog = wx_ui.spellCheckerDialog()
   widgetUtils.connect_event(self.dialog.ignore, widgetUtils.BUTTON_PRESSED, self.ignore)
   widgetUtils.connect_event(self.dialog.ignoreAll, widgetUtils.BUTTON_PRESSED, self.ignoreAll)
   widgetUtils.connect_event(self.dialog.replace, widgetUtils.BUTTON_PRESSED, self.replace)
   widgetUtils.connect_event(self.dialog.replaceAll, widgetUtils.BUTTON_PRESSED, self.replaceAll)
   self.check()
   self.dialog.get_response()
   self.fixed_text = self.checker.get_text()
示例#30
0
	def __init__(self, session, postObject):
		super(postController, self).__init__()
		self.session = session
		self.post = postObject
		# Posts from newsfeed contains this source_id instead from_id in walls. Also it uses post_id and walls use just id.
		if self.post.has_key("source_id"):
			self.user_identifier = "source_id"
			self.post_identifier = "post_id"
		else:
			# In wall's posts, if someone has posted in user's wall, owner_id should be used instead from_id
			# This will help for retrieving comments, do likes, etc.
			if not self.post.has_key("owner_id"):
				self.user_identifier = "from_id"
			else:
				self.user_identifier = "owner_id"
			self.post_identifier = "id"
		self.dialog = postDialogs.post()
#		self.dialog.comments.list.Bind(wx.EVT_LIST_ITEM_ACTIVATED, self.show_comment)
		widgetUtils.connect_event(self.dialog.like, widgetUtils.BUTTON_PRESSED, self.post_like)
		widgetUtils.connect_event(self.dialog.comment, widgetUtils.BUTTON_PRESSED, self.add_comment)
		widgetUtils.connect_event(self.dialog.tools, widgetUtils.BUTTON_PRESSED, self.show_tools_menu)
		widgetUtils.connect_event(self.dialog.repost, widgetUtils.BUTTON_PRESSED, self.post_repost)
#		self.dialog.Bind(wx.EVT_LIST_ITEM_RIGHT_CLICK, self.show_menu, self.dialog.comments.list)
#		self.dialog.Bind(wx.EVT_LIST_KEY_DOWN, self.show_menu_by_key, self.dialog.comments.list)
		self.worker = threading.Thread(target=self.load_all_components)
		self.worker.finished = threading.Event()
		self.worker.start()
#		if self.post.has_key("attachments"): print self.post["attachments"]
		self.attachments = []
		self.load_images = False
		# We'll put images here, so it will be easier to work with them.
		self.images = []
		self.imageIndex = 0
示例#31
0
 def __init__(self, config, buffer, window):
     super(autocompletionSettings, self).__init__()
     self.config = config
     self.buffer = buffer
     self.window = window
     self.dialog = wx_settings.autocompletionSettingsDialog()
     self.dialog.set(
         "friends_buffer",
         self.config["mysc"]["save_friends_in_autocompletion_db"])
     self.dialog.set(
         "followers_buffer",
         self.config["mysc"]["save_followers_in_autocompletion_db"])
     widgetUtils.connect_event(self.dialog.viewList,
                               widgetUtils.BUTTON_PRESSED, self.view_list)
     if self.dialog.get_response() == widgetUtils.OK:
         call_threaded(self.add_users_to_database)
示例#32
0
	def get_menu(self):
		m = menus.postMenu()
		p = self.get_post()
		if p.has_key("likes") == False:
			m.like.Enable(False)
		elif p["likes"]["user_likes"] == 1:
			m.like.Enable(False)
			m.dislike.Enable(True)
		if p.has_key("comments") == False:
			m.comment.Enable(False)
		widgetUtils.connect_event(m, widgetUtils.MENU, self.open_post, menuitem=m.open)
		widgetUtils.connect_event(m, widgetUtils.MENU, self.do_like, menuitem=m.like)
		widgetUtils.connect_event(m, widgetUtils.MENU, self.do_dislike, menuitem=m.dislike)
		widgetUtils.connect_event(m, widgetUtils.MENU, self.do_comment, menuitem=m.comment)
		widgetUtils.connect_event(m, widgetUtils.MENU, self.open_person_profile, menuitem=m.view_profile)
		return m
示例#33
0
 def __init__(self, configFile, completed_callback):
     self.config = configFile
     super(audioUploader, self).__init__()
     self.dialog = wx_ui.audioDialog(services=self.get_available_services())
     self.file = None
     self.recorded = False
     self.recording = None
     self.playing = None
     widgetUtils.connect_event(self.dialog.play, widgetUtils.BUTTON_PRESSED,
                               self.on_play)
     widgetUtils.connect_event(self.dialog.pause,
                               widgetUtils.BUTTON_PRESSED, self.on_pause)
     widgetUtils.connect_event(self.dialog.record,
                               widgetUtils.BUTTON_PRESSED, self.on_record)
     widgetUtils.connect_event(self.dialog.attach_exists,
                               widgetUtils.BUTTON_PRESSED,
                               self.on_attach_exists)
     widgetUtils.connect_event(self.dialog.discard,
                               widgetUtils.BUTTON_PRESSED, self.on_discard)
     if self.dialog.get_response() == widgetUtils.OK:
         self.postprocess()
         log.debug("Uploading file %s to %s..." %
                   (self.file, self.dialog.get("services")))
         self.uploaderDialog = wx_transfer_dialogs.UploadDialog(self.file)
         output.speak(_(u"Attaching..."))
         if self.dialog.get("services") == "SNDUp":
             base_url = "http://sndup.net/post.php"
             if len(self.config["sound"]["sndup_api_key"]) > 0:
                 url = base_url + '?apikey=' + self.config['sound'][
                     'sndup_api_key']
             else:
                 url = base_url
             self.uploaderFunction = transfer.Upload(
                 field='file',
                 url=url,
                 filename=self.file,
                 completed_callback=completed_callback)
         elif self.dialog.get("services") == "TwUp":
             url = "http://api.twup.me/post.json"
             self.uploaderFunction = transfer.Upload(
                 field='file',
                 url=url,
                 filename=self.file,
                 completed_callback=completed_callback)
         pub.subscribe(self.uploaderDialog.update, "uploading")
         self.uploaderDialog.get_response()
         self.uploaderFunction.perform_threaded()
示例#34
0
 def __init__(self, value=""):
     super(searchDialog, self).__init__(None, -1)
     panel = wx.Panel(self)
     sizer = wx.BoxSizer(wx.VERTICAL)
     self.SetTitle(_(u"Search on Twitter"))
     label = wx.StaticText(panel, -1, _(u"&Search"))
     self.term = wx.TextCtrl(panel, -1, value)
     dc = wx.WindowDC(self.term)
     dc.SetFont(self.term.GetFont())
     self.term.SetSize(dc.GetTextExtent("0" * 40))
     sizer.Add(label, 0, wx.ALL, 5)
     sizer.Add(self.term, 0, wx.ALL, 5)
     self.tweets = wx.RadioButton(panel, -1, _(u"Tweets"), style=wx.RB_GROUP)
     self.users = wx.RadioButton(panel, -1, _(u"Users"))
     widgetUtils.connect_event(self.tweets, widgetUtils.RADIOBUTTON, self.show_advanced_search)
     widgetUtils.connect_event(self.users, widgetUtils.RADIOBUTTON, self.hide_advanced_search)
     radioSizer = wx.BoxSizer(wx.HORIZONTAL)
     radioSizer.Add(self.tweets, 0, wx.ALL, 5)
     radioSizer.Add(self.users, 0, wx.ALL, 5)
     sizer.Add(radioSizer, 0, wx.ALL, 5)
     lang = wx.StaticText(panel, -1, _(u"&Language for results: "))
     langs = [x[1] for x in translator.translator.available_languages()]
     langs[:] = langs[1:]
     langs.insert(0, _(u"any"))
     self.lang = wx.ComboBox(panel, -1, choices=langs, value=langs[0], style=wx.CB_READONLY)
     langBox = wx.BoxSizer(wx.HORIZONTAL)
     langBox.Add(lang, 0, wx.ALL, 5)
     langBox.Add(self.lang, 0, wx.ALL, 5)
     sizer.Add(langBox, 0, wx.ALL, 5)
     resulttype = wx.StaticText(panel, -1, _(u"Results &type: "))
     self.resultstype = wx.ComboBox(
         panel, -1, choices=[_(u"Mixed"), _(u"Recent"), _(u"Popular")], value=_(u"Mixed"), style=wx.CB_READONLY
     )
     rBox = wx.BoxSizer(wx.HORIZONTAL)
     rBox.Add(resulttype, 0, wx.ALL, 5)
     rBox.Add(self.resultstype, 0, wx.ALL, 5)
     sizer.Add(rBox, 0, wx.ALL, 5)
     ok = wx.Button(panel, wx.ID_OK, _(u"&OK"))
     ok.SetDefault()
     cancel = wx.Button(panel, wx.ID_CANCEL, _(u"&Close"))
     btnsizer = wx.BoxSizer()
     btnsizer.Add(ok, 0, wx.ALL, 5)
     btnsizer.Add(cancel, 0, wx.ALL, 5)
     sizer.Add(btnsizer, 0, wx.ALL, 5)
     panel.SetSizer(sizer)
     self.SetClientSize(sizer.CalcMin())
示例#35
0
	def __init__(self, session, title, caption, text, post_type="post"):
		super(post, self).__init__()
		self.session = session
		self.title = title
		self.message = getattr(message, post_type)(title, caption, text)
		self.message.set_title(title)
		widgetUtils.connect_event(self.message.spellcheck, widgetUtils.BUTTON_PRESSED, self.spellcheck)
		widgetUtils.connect_event(self.message.translateButton, widgetUtils.BUTTON_PRESSED, self.translate)
		widgetUtils.connect_event(self.message.mention, widgetUtils.BUTTON_PRESSED, self.mention)
		self.images = []
		if hasattr(self.message, "attach"):
			widgetUtils.connect_event(self.message.attach, widgetUtils.BUTTON_PRESSED, self.show_attach_dialog)
示例#36
0
	def __init__(self, session, postObject):
		self.session = session
		self.post = postObject
		self.dialog = postDialogs.audio()
		self.fill_information()
		if self.post["owner_id"] == self.session.user_id:
			self.dialog.change_state("remove", True)
		else:
			self.dialog.change_state("add", True)
		widgetUtils.connect_event(self.dialog.download, widgetUtils.BUTTON_PRESSED, self.download)
		widgetUtils.connect_event(self.dialog.play, widgetUtils.BUTTON_PRESSED, self.play)
		widgetUtils.connect_event(self.dialog.add, widgetUtils.BUTTON_PRESSED, self.add_to_library)
		widgetUtils.connect_event(self.dialog.remove, widgetUtils.BUTTON_PRESSED, self.remove_from_library)
示例#37
0
 def __init__(self,
              session,
              title,
              caption,
              text,
              twishort_enabled,
              users=None):
     super(reply, self).__init__(session,
                                 title,
                                 caption,
                                 text,
                                 twishort_enabled,
                                 messageType="reply")
     self.users = users
     if self.users != None and len(self.users) > 1:
         widgetUtils.connect_event(self.message.mentionAll,
                                   widgetUtils.BUTTON_PRESSED,
                                   self.mention_all)
         self.message.enable_button("mentionAll")
     self.message.set_cursor_at_end()
示例#38
0
 def __init__(self, tweet, tweetList, is_tweet=True):
  if is_tweet == True:
   text = ""
   for i in xrange(0, len(tweetList)):
    if tweetList[i].has_key("retweeted_status"):
     text = text + "rt @%s: %s\n\n" % (tweetList[i]["retweeted_status"]["user"]["screen_name"], tweetList[i]["retweeted_status"]["text"])
    else:
     text = text + "@%s: %s\n\n" % (tweetList[i]["user"]["screen_name"], tweetList[i]["text"])
   rt_count = str(tweet["retweet_count"])
   favs_count = str(tweet["favorite_count"])
   if text == "":
    if tweet.has_key("retweeted_status"):
     text = "rt @%s: %s" % (tweet["retweeted_status"]["user"]["screen_name"], tweet["retweeted_status"]["text"])
    else:
     text = tweet["text"]
   self.message = message.viewTweet(text, rt_count, favs_count)
   self.message.set_title(len(text))
  else:
   text = tweet
   self.message = message.viewNonTweet(text)
  widgetUtils.connect_event(self.message.spellcheck, widgetUtils.BUTTON_PRESSED, self.spellcheck)
  widgetUtils.connect_event(self.message.translateButton, widgetUtils.BUTTON_PRESSED, self.translate)
  if self.contain_urls() == True:
   self.message.enable_button("unshortenButton")
   widgetUtils.connect_event(self.message.unshortenButton, widgetUtils.BUTTON_PRESSED, self.unshorten)
  self.message.get_response()
示例#39
0
	def show_menu(self, *args, **kwargs):
		if self.dialog.comments.get_count() == 0: return
		menu = menus.commentMenu()
		widgetUtils.connect_event(self.dialog, widgetUtils.MENU, self.show_comment, menuitem=menu.open)
		widgetUtils.connect_event(self.dialog, widgetUtils.MENU, self.comment_like, menuitem=menu.like)
		widgetUtils.connect_event(self.dialog, widgetUtils.MENU, self.comment_unlike, menuitem=menu.unlike)
		self.dialog.PopupMenu(menu, self.dialog.comments.list.GetPosition())
示例#40
0
文件: user.py 项目: TWBlueQS/TWBlueQS
 def __init__(self, session, user=None):
  super(profileController, self).__init__()
  self.file = None
  self.session = session
  self.user = user
  if user == None:
   self.dialog = update_profile.updateProfileDialog()
   self.get_data(screen_name=self.session.db["user_name"])
   self.fill_profile_fields()
   self.uploaded = False
   widgetUtils.connect_event(self.dialog.upload_image, widgetUtils.BUTTON_PRESSED, self.upload_image)
  else:
   self.dialog = show_user.showUserProfile()
   self.get_data(screen_name=self.user)
   string = self.get_user_info()
   self.dialog.set("text", string)
   self.dialog.set_title(_(u"Information for %s") % (self.data["screen_name"]))
   if self.data["url"] != None:
    self.dialog.enable_url()
    widgetUtils.connect_event(self.dialog.url, widgetUtils.BUTTON_PRESSED, self.visit_url)
  if self.dialog.get_response() == widgetUtils.OK and self.user == None:
   self.do_update()
示例#41
0
 def __init__(self,
              session,
              title,
              caption,
              text,
              twishort_enabled,
              messageType="tweet",
              max=140):
     super(tweet, self).__init__(session, title, caption, text, messageType,
                                 max)
     self.image = None
     widgetUtils.connect_event(self.message.upload_image,
                               widgetUtils.BUTTON_PRESSED,
                               self.upload_image)
     widgetUtils.connect_event(self.message.autocompletionButton,
                               widgetUtils.BUTTON_PRESSED,
                               self.autocomplete_users)
     if twishort_enabled == False:
         try:
             self.message.long_tweet.SetValue(False)
         except AttributeError:
             pass
 def show_menu(self, ev, pos=0, *args, **kwargs):
  menu = menus.trendsPanelMenu()
  widgetUtils.connect_event(menu, widgetUtils.MENU, self.tweet_about_this_trend, menuitem=menu.tweetThisTrend)
  widgetUtils.connect_event(menu, widgetUtils.MENU, self.view, menuitem=menu.view)
  widgetUtils.connect_event(menu, widgetUtils.MENU, self.copy, menuitem=menu.copy)
  if pos != 0:
   self.buffer.PopupMenu(menu, pos)
  else:
   self.buffer.PopupMenu(menu, ev.GetPosition())
 def __init__(self, text, dictionary):
     super(spellChecker, self).__init__()
     log.debug("Creating the SpellChecker object. Dictionary: %s" %
               (dictionary, ))
     self.active = True
     try:
         if config.app["app-settings"]["language"] == "system":
             log.debug("Using the system language")
             self.checker = SpellChecker(filters=[
                 twitterFilter.TwitterFilter, tokenize.EmailFilter,
                 tokenize.URLFilter
             ])
         else:
             log.debug("Using language: %s" %
                       (languageHandler.getLanguage(), ))
             self.checker = SpellChecker(languageHandler.getLanguage(),
                                         filters=[
                                             twitterFilter.TwitterFilter,
                                             tokenize.EmailFilter,
                                             tokenize.URLFilter
                                         ])
         self.checker.set_text(text)
     except DictNotFoundError:
         log.exception("Dictionary for language %s not found." %
                       (dictionary, ))
         wx_ui.dict_not_found_error()
         self.active = False
     if self.active == True:
         log.debug("Creating dialog...")
         self.dialog = wx_ui.spellCheckerDialog()
         widgetUtils.connect_event(self.dialog.ignore,
                                   widgetUtils.BUTTON_PRESSED, self.ignore)
         widgetUtils.connect_event(self.dialog.ignoreAll,
                                   widgetUtils.BUTTON_PRESSED,
                                   self.ignoreAll)
         widgetUtils.connect_event(self.dialog.replace,
                                   widgetUtils.BUTTON_PRESSED, self.replace)
         widgetUtils.connect_event(self.dialog.replaceAll,
                                   widgetUtils.BUTTON_PRESSED,
                                   self.replaceAll)
         self.check()
         self.dialog.get_response()
         self.fixed_text = self.checker.get_text()
 def __init__(self, session, user=None):
     super(listsController, self).__init__()
     self.session = session
     if user == None:
         self.dialog = lists.listViewer()
         self.dialog.populate_list(self.get_all_lists())
         widgetUtils.connect_event(self.dialog.createBtn,
                                   widgetUtils.BUTTON_PRESSED,
                                   self.create_list)
         widgetUtils.connect_event(self.dialog.editBtn,
                                   widgetUtils.BUTTON_PRESSED,
                                   self.edit_list)
         widgetUtils.connect_event(self.dialog.view,
                                   widgetUtils.BUTTON_PRESSED,
                                   self.open_list_as_buffer)
     self.dialog.get_response()
 def __init__(self, started=False):
     super(sessionManagerController, self).__init__()
     log.debug("Setting up the session manager.")
     self.started = started
     manager.setup()
     self.view = view.sessionManagerWindow()
     widgetUtils.connect_event(self.view.new, widgetUtils.BUTTON_PRESSED,
                               self.manage_new_account)
     widgetUtils.connect_event(self.view.remove, widgetUtils.BUTTON_PRESSED,
                               self.remove)
     if self.started == False:
         widgetUtils.connect_event(self.view.configuration,
                                   widgetUtils.BUTTON_PRESSED,
                                   self.configuration)
     else:
         self.view.hide_configuration()
     self.new_sessions = {}
     self.removed_sessions = []
示例#46
0
 def __init__(self, tweet, tweetList, is_tweet=True):
     if is_tweet == True:
         text = ""
         for i in xrange(0, len(tweetList)):
             if tweetList[i].has_key("retweeted_status"):
                 text = text + "rt @%s: %s\n\n" % (
                     tweetList[i]["retweeted_status"]["user"]
                     ["screen_name"],
                     tweetList[i]["retweeted_status"]["text"])
             else:
                 text = text + "@%s: %s\n\n" % (
                     tweetList[i]["user"]["screen_name"],
                     tweetList[i]["text"])
         rt_count = str(tweet["retweet_count"])
         favs_count = str(tweet["favorite_count"])
         if text == "":
             if tweet.has_key("retweeted_status"):
                 text = "rt @%s: %s" % (
                     tweet["retweeted_status"]["user"]["screen_name"],
                     tweet["retweeted_status"]["text"])
             else:
                 text = tweet["text"]
         self.message = message.viewTweet(text, rt_count, favs_count)
         self.message.set_title(len(text))
     else:
         text = tweet
         self.message = message.viewNonTweet(text)
     widgetUtils.connect_event(self.message.spellcheck,
                               widgetUtils.BUTTON_PRESSED, self.spellcheck)
     widgetUtils.connect_event(self.message.translateButton,
                               widgetUtils.BUTTON_PRESSED, self.translate)
     if self.contain_urls() == True:
         self.message.enable_button("unshortenButton")
         widgetUtils.connect_event(self.message.unshortenButton,
                                   widgetUtils.BUTTON_PRESSED,
                                   self.unshorten)
     self.message.get_response()
示例#47
0
    def create_config(self):
        self.dialog.create_general_account()
        widgetUtils.connect_event(self.dialog.general.au,
                                  widgetUtils.BUTTON_PRESSED,
                                  self.manage_autocomplete)
        self.dialog.set_value("general", "relative_time",
                              self.config["general"]["relative_times"])
        self.dialog.set_value("general", "apiCalls",
                              self.config["general"]["max_api_calls"])
        self.dialog.set_value("general", "itemsPerApiCall",
                              self.config["general"]["max_tweets_per_call"])
        self.dialog.set_value("general", "reverse_timelines",
                              self.config["general"]["reverse_timelines"])
        rt = self.config["general"]["retweet_mode"]
        if rt == "ask":
            self.dialog.set_value("general", "retweet_mode", _(u"Ask"))
        elif rt == "direct":
            self.dialog.set_value("general", "retweet_mode",
                                  _(u"Retweet without comments"))
        else:
            self.dialog.set_value("general", "retweet_mode",
                                  _(u"Retweet with comments"))
        self.dialog.set_value("general", "persist_size",
                              str(self.config["general"]["persist_size"]))
        self.dialog.create_other_buffers()
        buffer_values = self.get_buffers_list()
        self.dialog.buffers.insert_buffers(buffer_values)
        self.dialog.buffers.connect_hook_func(self.toggle_buffer_active)
        widgetUtils.connect_event(self.dialog.buffers.toggle_state,
                                  widgetUtils.BUTTON_PRESSED,
                                  self.toggle_state)
        widgetUtils.connect_event(self.dialog.buffers.up,
                                  widgetUtils.BUTTON_PRESSED,
                                  self.dialog.buffers.move_up)
        widgetUtils.connect_event(self.dialog.buffers.down,
                                  widgetUtils.BUTTON_PRESSED,
                                  self.dialog.buffers.move_down)

        self.dialog.create_ignored_clients(
            self.config["twitter"]["ignored_clients"])
        widgetUtils.connect_event(self.dialog.ignored_clients.add,
                                  widgetUtils.BUTTON_PRESSED,
                                  self.add_ignored_client)
        widgetUtils.connect_event(self.dialog.ignored_clients.remove,
                                  widgetUtils.BUTTON_PRESSED,
                                  self.remove_ignored_client)
        self.input_devices = sound_lib.input.Input.get_device_names()
        self.output_devices = sound_lib.output.Output.get_device_names()
        self.soundpacks = []
        [
            self.soundpacks.append(i) for i in os.listdir(paths.sound_path())
            if os.path.isdir(paths.sound_path(i)) == True
        ]
        self.dialog.create_sound(self.input_devices, self.output_devices,
                                 self.soundpacks)
        self.dialog.set_value("sound", "volumeCtrl",
                              self.config["sound"]["volume"] * 100)
        self.dialog.set_value("sound", "input",
                              self.config["sound"]["input_device"])
        self.dialog.set_value("sound", "output",
                              self.config["sound"]["output_device"])
        self.dialog.set_value("sound", "session_mute",
                              self.config["sound"]["session_mute"])
        self.dialog.set_value("sound", "soundpack",
                              self.config["sound"]["current_soundpack"])
        self.dialog.create_services()
        if self.config["services"]["pocket_access_token"] == "":
            self.dialog.services.set_pocket(False)
        else:
            self.dialog.services.set_pocket(True)
        widgetUtils.connect_event(self.dialog.services.pocketBtn,
                                  widgetUtils.BUTTON_PRESSED,
                                  self.manage_pocket)
        self.dialog.set_value("services", "apiKey",
                              self.config["sound"]["sndup_api_key"])
        self.dialog.realize()
        self.dialog.set_title(_(u"Account settings for %s") % (self.user, ))
        self.response = self.dialog.get_response()
示例#48
0
 def __init__(self):
     self.dialog = wx_ui.reportBugDialog()
     widgetUtils.connect_event(self.dialog.ok, widgetUtils.BUTTON_PRESSED,
                               self.send)
     self.dialog.get_response()
示例#49
0
 def __init__(self,
              session,
              title,
              caption,
              text,
              messageType="tweet",
              max=140):
     super(basicTweet, self).__init__()
     self.max = max
     self.title = title
     self.session = session
     self.message = getattr(message, messageType)(title, caption, text)
     widgetUtils.connect_event(self.message.spellcheck,
                               widgetUtils.BUTTON_PRESSED, self.spellcheck)
     widgetUtils.connect_event(self.message.attach,
                               widgetUtils.BUTTON_PRESSED, self.attach)
     #  if system == "Windows":
     #  if messageType != "dm":
     widgetUtils.connect_event(self.message.text, widgetUtils.ENTERED_TEXT,
                               self.text_processor)
     self.text_processor()
     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)
示例#50
0
 def connect_events(self):
     """ connects all widgets to their corresponding events."""
     log.debug("Binding events...")
     widgetUtils.connect_event(self.window.search, widgetUtils.BUTTON_PRESSED, self.on_search)
     widgetUtils.connect_event(self.window.list, widgetUtils.LISTBOX_ITEM_ACTIVATED, self.on_activated)
     widgetUtils.connect_event(self.window.list, widgetUtils.KEYPRESS, self.on_keypress)
     widgetUtils.connect_event(self.window, widgetUtils.MENU, self.on_play, menuitem=self.window.player_play)
     widgetUtils.connect_event(self.window, widgetUtils.MENU, self.on_settings, menuitem=self.window.settings)
     widgetUtils.connect_event(self.window, widgetUtils.MENU, self.on_next, menuitem=self.window.player_next)
     widgetUtils.connect_event(self.window, widgetUtils.MENU, self.on_previous, menuitem=self.window.player_previous)
     widgetUtils.connect_event(self.window, widgetUtils.MENU, self.on_stop, menuitem=self.window.player_stop)
     widgetUtils.connect_event(self.window, widgetUtils.MENU, self.on_volume_down, menuitem=self.window.player_volume_down)
     widgetUtils.connect_event(self.window, widgetUtils.MENU, self.on_volume_up, menuitem=self.window.player_volume_up)
     widgetUtils.connect_event(self.window, widgetUtils.MENU, self.on_mute, menuitem=self.window.player_mute)
     widgetUtils.connect_event(self.window, widgetUtils.MENU, self.on_shuffle, menuitem=self.window.player_shuffle)
     widgetUtils.connect_event(self.window, widgetUtils.MENU, self.window.about_dialog, menuitem=self.window.about)
     widgetUtils.connect_event(self.window, widgetUtils.MENU, self.on_check_for_updates, menuitem=self.window.check_for_updates)
     widgetUtils.connect_event(self.window, widgetUtils.MENU, self.on_visit_changelog, menuitem=self.window.changelog)
     widgetUtils.connect_event(self.window, widgetUtils.MENU, self.on_visit_website, menuitem=self.window.website)
     widgetUtils.connect_event(self.window, widgetUtils.MENU, self.on_report_error, menuitem=self.window.report)
     widgetUtils.connect_event(self.window.previous, widgetUtils.BUTTON_PRESSED, self.on_previous)
     widgetUtils.connect_event(self.window.play, widgetUtils.BUTTON_PRESSED, self.on_play_pause)
     widgetUtils.connect_event(self.window.stop, widgetUtils.BUTTON_PRESSED, self.on_stop)
     widgetUtils.connect_event(self.window.next, widgetUtils.BUTTON_PRESSED, self.on_next)
     self.window.Bind(wx.EVT_COMMAND_SCROLL_THUMBTRACK, self.on_set_volume, self.window.vol_slider)
     self.window.Bind(wx.EVT_COMMAND_SCROLL_CHANGED, self.on_set_volume, self.window.vol_slider)
     self.window.Bind(wx.EVT_COMMAND_SCROLL_THUMBTRACK, self.on_time_change, self.window.time_slider)
     self.window.Bind(wx.EVT_COMMAND_SCROLL_CHANGED, self.on_time_change, self.window.time_slider)
     self.window.list.Bind(wx.EVT_LISTBOX_DCLICK, self.on_play)
     self.window.list.Bind(wx.EVT_CONTEXT_MENU, self.on_context)
     self.window.Bind(wx.EVT_CLOSE, self.on_close)
     pub.subscribe(self.change_status, "change_status")
     pub.subscribe(self.on_download_finished, "download_finished")
     pub.subscribe(self.on_notify, "notify")
     pub.subscribe(self.on_update_progress, "update-progress")