Global settings works, basic support for account settings

This commit is contained in:
2015-01-25 02:38:17 -06:00
parent af087508b0
commit 51957125c1
9 changed files with 157 additions and 12 deletions

View File

@@ -160,6 +160,10 @@ class baseBufferController(bufferController):
self.buffer.account = account
self.bind_events()
def get_formatted_message(self):
if self.type == "dm" or self.name == "sent_tweets" or self.name == "sent_direct_messages": return self.compose_function(self.get_right_tweet(), self.session.db, self.session.settings["general"]["relative_times"])[1]
return self.get_message()
def get_message(self):
return " ".join(self.compose_function(self.get_right_tweet(), self.session.db, self.session.settings["general"]["relative_times"]))
@@ -331,6 +335,7 @@ class eventsBufferController(bufferController):
self.compose_function = compose.compose_event
self.session = session
self.type = self.buffer.type
self.get_formatted_message = self.get_message
def get_message(self):
if self.buffer.list.get_count() == 0: return _(u"Empty")

View File

@@ -10,6 +10,7 @@ import output
from twython import TwythonError
from mysc.thread_utils import call_threaded
from mysc.repeating_timer import RepeatingTimer
from mysc import restart
import config
import widgetUtils
import pygeocoder
@@ -92,9 +93,11 @@ class Controller(object):
widgetUtils.connect_event(self.view, widgetUtils.MENU, self.show_hide, menuitem=self.view.show_hide)
widgetUtils.connect_event(self.view, widgetUtils.MENU, self.search, menuitem=self.view.menuitem_search)
widgetUtils.connect_event(self.view, widgetUtils.MENU, self.learn_sounds, menuitem=self.view.sounds_tutorial)
widgetUtils.connect_event(self.view, widgetUtils.MENU, self.accountConfiguration, menuitem=self.view.account_settings)
widgetUtils.connect_event(self.view, widgetUtils.MENU, self.configuration, menuitem=self.view.prefs)
widgetUtils.connect_event(self.view, widgetUtils.MENU, self.exit, menuitem=self.view.close)
if widgetUtils.toolkit == "wx":
log.debug("Binding the exit function...")
widgetUtils.connectExitFunction(self.exit)
widgetUtils.connect_event(self.view, widgetUtils.MENU, self.post_tweet, self.view.compose)
widgetUtils.connect_event(self.view, widgetUtils.MENU, self.post_reply, self.view.reply)
@@ -250,7 +253,18 @@ class Controller(object):
d = settings.globalSettingsController()
if d.response == widgetUtils.OK:
d.save_configuration()
if d.needs_restart == True:
commonMessageDialogs.needs_restart()
restart.restart_program()
def accountConfiguration(self, *args, **kwargs):
buff = self.get_best_buffer()
d = settings.accountSettingsController(buff.session.settings, buff.session.db["user_name"])
# if d.response == widgetUtils.OK:
# d.save_configuration()
# if d.needs_restart == True:
# commonMessageDialogs.needs_restart()
# restart.restart_program()
def update_profile(self):
pass
@@ -341,12 +355,12 @@ class Controller(object):
tweet = buffer.session.twitter.twitter.show_status(id=tweet_id)
msg = messages.viewTweet(tweet, )
except TwythonError:
non_tweet = buffer.get_message()
non_tweet = buffer.get_formatted_message()
msg = messages.viewTweet(non_tweet, False)
elif buffer.type == "account" or buffer.type == "empty":
return
else:
non_tweet = buffer.get_message()
non_tweet = buffer.get_formatted_message()
msg = messages.viewTweet(non_tweet, False)
def open_timeline(self, user, timeline_tipe):
@@ -485,6 +499,46 @@ class Controller(object):
msg = _(u"%s. Empty") % (self.view.get_buffer_text(),)
output.speak(msg)
def go_home(self):
buffer = self.get_current_buffer()
buffer.buffer.list.select_item(0)
try:
output.speak(buffer.get_message())
except:
pass
def go_end(self):
buffer = self.get_current_buffer()
buffer.buffer.list.select_item(buffer.buffer.list.get_count()-1)
try:
output.speak(buffer.get_message())
except:
pass
def go_page_up(self):
buffer = self.get_current_buffer()
if buffer.buffer.list.get_selected() <= 20:
index = 0
else:
index = buffer.buffer.list.get_selected() - 20
buffer.buffer.list.select_item(index)
try:
output.speak(buffer.get_message())
except:
pass
def go_page_down(self):
buffer = self.get_current_buffer()
if buffer.buffer.list.get_selected() >= buffer.buffer.list.get_count() - 20:
index = buffer.buffer.list.get_count()-1
else:
index = buffer.buffer.list.get_selected() + 20
buffer.buffer.list.select_item(index)
try:
output.speak(buffer.get_message())
except:
pass
def url(self, *args, **kwargs):
self.get_current_buffer().url()

View File

@@ -1,4 +1,7 @@
# -*- coding: utf-8 -*-
import os
import sound_lib
import paths
import widgetUtils
import config
import languageHandler
@@ -11,6 +14,9 @@ class globalSettingsController(object):
def __init__(self):
super(globalSettingsController, self).__init__()
self.dialog = configuration.configurationDialog()
self.create_config()
def create_config(self):
self.langs = languageHandler.getAvailableLanguages()
langs = []
[langs.append(i[1]) for i in self.langs]
@@ -36,4 +42,44 @@ class globalSettingsController(object):
config.app["app-settings"]["use_invisible_keyboard_shorcuts"] = self.dialog.get_value("general", "use_invisible_shorcuts")
pub.sendMessage("invisible-shorcuts-changed", registered=self.dialog.get_value("general", "use_invisible_shorcuts"))
config.app["app-settings"]["voice_enabled"] = self.dialog.get_value("general", "disable_sapi5")
config.app["app-settings"]["hide_gui"] = self.dialog.get_value("general", "hide_gui")
config.app["app-settings"]["hide_gui"] = self.dialog.get_value("general", "hide_gui")
config.app.write()
class accountSettingsController(globalSettingsController):
def __init__(self, config, user_name):
self.config = config
self.user = user_name
super(accountSettingsController, self).__init__()
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"])
self.dialog.create_other_buffers()
self.dialog.set_value("buffers", "followers", self.config["other_buffers"]["show_followers"])
self.dialog.set_value("buffers", "friends", self.config["other_buffers"]["show_friends"])
self.dialog.set_value("buffers", "favs", self.config["other_buffers"]["show_favourites"])
self.dialog.set_value("buffers", "blocks", self.config["other_buffers"]["show_blocks"])
self.dialog.set_value("buffers", "mutes", self.config["other_buffers"]["show_muted_users"])
self.dialog.set_value("buffers", "events", self.config["other_buffers"]["show_events"])
self.dialog.create_ignored_clients(self.config["twitter"]["ignored_clients"])
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"])
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", "global_mute", self.config["sound"]["global_mute"])
self.dialog.set_value("sound", "soundpack", self.config["sound"]["current_soundpack"])
self.dialog.create_audio_services()
self.dialog.realize()
self.dialog.set_title(_(u"Account settings for %s") % (self.user,))
self.response = self.dialog.get_response()
def save_config(self): pass
def manage_autocomplete(self, *args, **kwargs): pass