mirror of
https://github.com/MCV-Software/TWBlue.git
synced 2025-07-17 21:56:07 -04:00
Global settings works, basic support for account settings
This commit is contained in:
@@ -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")
|
||||
|
@@ -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()
|
||||
|
||||
|
@@ -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
|
Reference in New Issue
Block a user