mirror of
https://github.com/MCV-Software/TWBlue.git
synced 2024-11-22 11:18:08 -06:00
Merge branch 'next-gen' of https://github.com/manuelcortez/twblue into next-gen
This commit is contained in:
commit
a57c44d566
@ -92,7 +92,7 @@ This dependency has been built using pure basic 4.61. Its source can be found at
|
||||
|
||||
* [NSIS Unicode Portable,](http://portableapps.com/apps/development/nsis_portable) version 2.46.5 rev 3
|
||||
* [PortableApps.com Launcher,](http://portableapps.com/apps/development/portableapps.com_launcher) version 2.2
|
||||
* [PortableApps.com Installer,](http://portableapps.com/apps/development/portableapps.com_installer) version 3.1.3
|
||||
* [PortableApps.com Installer,](http://portableapps.com/apps/development/portableapps.com_installer) version 3.3.2
|
||||
|
||||
Important! Install these 3 apps into the same folder, otherwise you won't be able to build the pa.c version. For example: D:\portableApps\NSISPortable, D:\PortableApps\PortableApps.com installer, ...
|
||||
|
||||
|
@ -2,7 +2,7 @@
|
||||
name = 'TWBlue'
|
||||
snapshot = False
|
||||
if snapshot == False:
|
||||
version = "0.84"
|
||||
version = "0.85"
|
||||
update_url = 'http://twblue.es/updates/twblue_ngen.json'
|
||||
mirror_update_url = 'https://raw.githubusercontent.com/manuelcortez/TWBlue/next-gen/updates/stable.json'
|
||||
else:
|
||||
|
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
@ -313,13 +313,13 @@ If you still have questions after reading this document, if you wish to collabor
|
||||
|
||||
## Credits
|
||||
|
||||
TWBlue is developed and mantained by [Manuel Cortéz](https://twitter.com/manuelcortez00), [José Manuel Delicado](https://twitter.com/jmdaweb), and [Bill Dengler](https://twitter.com/codeofdusk). It's supported and sponsored by [Technow S. L.](https://twitter.com/technow)
|
||||
TWBlue is developed and mantained by [Manuel Cortéz](https://twitter.com/manuelcortez00) and [José Manuel Delicado](https://twitter.com/jmdaweb). It's supported and sponsored by [Technow S. L.](https://twitter.com/technow)
|
||||
|
||||
We would also like to thank the translators of TWBlue, who have allowed the spreading of the application.
|
||||
|
||||
* English: [Bryner Villalobos](https://twitter.com/Bry_StarkCR) and [Bill Dengler](https://twitter.com/codeofdusk).
|
||||
* English: [Manuel Cortéz](https://twitter.com/manuelcortez00).
|
||||
* Arabic: [Mohammed Al Shara](https://twitter.com/mohammed0204).
|
||||
* Catalan: [Joan Rabat](https://twitter.com/joanrabat) and Juan Carlos Rivilla.
|
||||
* Catalan: [Francisco Torres](https://twitter.com/ftgalleg)
|
||||
* Spanish: [Manuel Cortéz](https://twitter.com/manuelcortez00).
|
||||
* Basque: [Sukil Etxenike](https://twitter.com/sukil2011).
|
||||
* Finnish: [Jani Kinnunen](https://twitter.com/jani_kinnunen).
|
||||
@ -333,7 +333,7 @@ We would also like to thank the translators of TWBlue, who have allowed the spre
|
||||
* Polish: [Pawel Masarczyk.](https://twitter.com/Piciok)
|
||||
* Portuguese: Odenilton Júnior Santos.
|
||||
* Romanian: [Florian Ionașcu](https://twitter.com/7ro) and [Răzvan Ciule](https://twitter.com/pilgrim89)
|
||||
* Russian: [Александр Яшин](https://twitter.com/radovest).
|
||||
* Russian: [Наталья Хедлунд](https://twitter.com/Lifestar_n).
|
||||
* Serbian: [Aleksandar Đurić](https://twitter.com/sokodtreshnje)
|
||||
* Turkish: [Burak Yüksek](https://twitter.com/burakyuksek).
|
||||
|
||||
|
@ -20,8 +20,8 @@ CommercialUse=true
|
||||
EULAVersion=2
|
||||
|
||||
[Version]
|
||||
PackageVersion=0.84.0.0
|
||||
DisplayVersion=0.84
|
||||
PackageVersion=0.85.0.0
|
||||
DisplayVersion=0.85
|
||||
|
||||
[Control]
|
||||
Icons=1
|
||||
|
@ -13,9 +13,9 @@ SetCompressor /solid lzma
|
||||
SetDatablockOptimize on
|
||||
VIAddVersionKey ProductName "TWBlue"
|
||||
VIAddVersionKey LegalCopyright "Copyright 2016 Manuel Cortéz."
|
||||
VIAddVersionKey ProductVersion "0.84"
|
||||
VIAddVersionKey FileVersion "0.84"
|
||||
VIProductVersion "0.84.0.0"
|
||||
VIAddVersionKey ProductVersion "0.85"
|
||||
VIAddVersionKey FileVersion "0.85"
|
||||
VIProductVersion "0.85.0.0"
|
||||
!insertmacro MUI_PAGE_WELCOME
|
||||
!define MUI_LICENSEPAGE_RADIOBUTTONS
|
||||
!insertmacro MUI_PAGE_LICENSE "license.txt"
|
||||
@ -69,10 +69,10 @@ WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\twblue" "D
|
||||
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\twblue" "UninstallString" '"$INSTDIR\uninstall.exe"'
|
||||
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall" "InstallLocation" $INSTDIR
|
||||
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall" "Publisher" "Manuel Cortéz"
|
||||
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\twblue" "DisplayVersion" "0.84"
|
||||
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\twblue" "DisplayVersion" "0.85"
|
||||
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\twblue" "URLInfoAbout" "http://twblue.es"
|
||||
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\twblue" "VersionMajor" 0
|
||||
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\twblue" "VersionMinor" 84
|
||||
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\twblue" "VersionMinor" 85
|
||||
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\twblue" "NoModify" 1
|
||||
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\twblue" "NoRepair" 1
|
||||
SectionEnd
|
||||
|
@ -8,6 +8,7 @@ language = string(default="system")
|
||||
hide_gui = boolean(default=False)
|
||||
voice_enabled = boolean(default=False)
|
||||
ask_at_exit = boolean(default=True)
|
||||
autostart = boolean(default=False)
|
||||
handle_longtweets = boolean(default=True)
|
||||
use_invisible_keyboard_shorcuts = boolean(default=True)
|
||||
play_ready_sound = boolean(default=True)
|
||||
|
@ -2,7 +2,7 @@
|
||||
name = 'TWBlue'
|
||||
snapshot = False
|
||||
if snapshot == False:
|
||||
version = "0.84"
|
||||
version = "0.85"
|
||||
update_url = 'http://twblue.es/updates/twblue_ngen.json'
|
||||
mirror_update_url = 'https://raw.githubusercontent.com/manuelcortez/TWBlue/next-gen/updates/stable.json'
|
||||
else:
|
||||
|
@ -364,7 +364,7 @@ class baseBufferController(bufferController):
|
||||
self.remove_item(i)
|
||||
|
||||
def put_items_on_list(self, number_of_items):
|
||||
if number_of_items == 0: return
|
||||
if number_of_items == 0 and self.session.settings["general"]["persist_size"] == 0: return
|
||||
log.debug("The list contains %d items " % (self.buffer.list.get_count(),))
|
||||
log.debug("Putting %d items on the list" % (number_of_items,))
|
||||
if self.buffer.list.get_count() == 0:
|
||||
@ -372,7 +372,7 @@ class baseBufferController(bufferController):
|
||||
tweet = self.compose_function(i, self.session.db, self.session.settings["general"]["relative_times"])
|
||||
self.buffer.list.insert_item(False, *tweet)
|
||||
self.buffer.set_position(self.session.settings["general"]["reverse_timelines"])
|
||||
elif self.buffer.list.get_count() > 0:
|
||||
elif self.buffer.list.get_count() > 0 and number_of_items > 0:
|
||||
if self.session.settings["general"]["reverse_timelines"] == False:
|
||||
items = self.session.db[self.name][len(self.session.db[self.name])-number_of_items:]
|
||||
for i in items:
|
||||
|
@ -249,6 +249,8 @@ class Controller(object):
|
||||
# Connection checker executed each minute.
|
||||
self.checker_function = RepeatingTimer(60, self.check_connection)
|
||||
self.checker_function.start()
|
||||
self.save_db = RepeatingTimer(300, self.save_data_in_db)
|
||||
self.save_db.start()
|
||||
|
||||
def start(self):
|
||||
""" Starts all buffer objects. Loads their items."""
|
||||
@ -355,7 +357,7 @@ class Controller(object):
|
||||
for i in session.settings["other_buffers"]["followers_timelines"]:
|
||||
tl = buffersController.peopleBufferController(self.view.nb, "get_followers_list", "%s-followers" % (i,), session, session.db["user_name"], screen_name=i)
|
||||
self.buffers.append(tl)
|
||||
self.view.insert_buffer(tl.buffer, name=_(u"Followers for {}").format(i,), pos=self.view.search("favs_timelines", session.db["user_name"]))
|
||||
self.view.insert_buffer(tl.buffer, name=_(u"Followers for {}").format(i,), pos=self.view.search("followers_timelines", session.db["user_name"]))
|
||||
tl.timer = RepeatingTimer(300, tl.start_stream)
|
||||
tl.timer.start()
|
||||
friends_timelines = buffersController.emptyPanel(self.view.nb, "friends_timelines", session.db["user_name"])
|
||||
@ -364,7 +366,7 @@ class Controller(object):
|
||||
for i in session.settings["other_buffers"]["friends_timelines"]:
|
||||
tl = buffersController.peopleBufferController(self.view.nb, "get_friends_list", "%s-friends" % (i,), session, session.db["user_name"], screen_name=i)
|
||||
self.buffers.append(tl)
|
||||
self.view.insert_buffer(tl.buffer, name=_(u"Friends for {}").format(i,), pos=self.view.search("favs_timelines", session.db["user_name"]))
|
||||
self.view.insert_buffer(tl.buffer, name=_(u"Friends for {}").format(i,), pos=self.view.search("friends_timelines", session.db["user_name"]))
|
||||
tl.timer = RepeatingTimer(300, tl.start_stream)
|
||||
tl.timer.start()
|
||||
lists = buffersController.emptyPanel(self.view.nb, "lists", session.db["user_name"])
|
||||
@ -374,7 +376,7 @@ class Controller(object):
|
||||
tl = buffersController.listBufferController(self.view.nb, "get_list_statuses", "%s-list" % (i,), session, session.db["user_name"], bufferType=None, list_id=utils.find_list(i, session.db["lists"]))
|
||||
session.lists.append(tl)
|
||||
self.buffers.append(tl)
|
||||
self.view.insert_buffer(tl.buffer, name=_(u"List for {}").format(i), pos=self.view.search("timelines", session.db["user_name"]))
|
||||
self.view.insert_buffer(tl.buffer, name=_(u"List for {}").format(i), pos=self.view.search("lists", session.db["user_name"]))
|
||||
searches = buffersController.emptyPanel(self.view.nb, "searches", session.db["user_name"])
|
||||
self.buffers.append(searches)
|
||||
self.view.insert_buffer(searches.buffer , name=_(u"Searches"), pos=self.view.search(session.db["user_name"], session.db["user_name"]))
|
||||
@ -1494,4 +1496,8 @@ class Controller(object):
|
||||
id = data["delete"]["status"]["id"]
|
||||
for i in self.buffers:
|
||||
if hasattr(i, "remove_tweet") and hasattr(i, "name"):
|
||||
i.remove_tweet(id)
|
||||
i.remove_tweet(id)
|
||||
|
||||
def save_data_in_db(self):
|
||||
for i in session_.sessions:
|
||||
session_.sessions[i].shelve()
|
@ -1,7 +1,6 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
import os
|
||||
import webbrowser
|
||||
#import pocket
|
||||
import sound_lib
|
||||
import paths
|
||||
import widgetUtils
|
||||
@ -15,10 +14,10 @@ from extra.autocompletionUsers import settings
|
||||
from pubsub import pub
|
||||
import logging
|
||||
import config_utils
|
||||
#from pocket_utils import authorisationHandler
|
||||
import BaseHTTPServer
|
||||
log = logging.getLogger("Settings")
|
||||
import keys
|
||||
from collections import OrderedDict
|
||||
from platform_utils.autostart import windows as autostart_windows
|
||||
|
||||
class globalSettingsController(object):
|
||||
def __init__(self):
|
||||
@ -56,8 +55,11 @@ class globalSettingsController(object):
|
||||
self.dialog.create_general(langs,self.kmfriendlies)
|
||||
self.dialog.general.language.SetSelection(id)
|
||||
self.dialog.general.km.SetSelection(self.kmid)
|
||||
if paths.mode == "installed":
|
||||
self.dialog.set_value("general", "autostart", config.app["app-settings"]["autostart"])
|
||||
else:
|
||||
self.dialog.general.autostart.Enable(False)
|
||||
self.dialog.set_value("general", "ask_at_exit", config.app["app-settings"]["ask_at_exit"])
|
||||
|
||||
self.dialog.set_value("general", "play_ready_sound", config.app["app-settings"]["play_ready_sound"])
|
||||
self.dialog.set_value("general", "speak_ready_msg", config.app["app-settings"]["speak_ready_msg"])
|
||||
self.dialog.set_value("general", "handle_longtweets", config.app["app-settings"]["handle_longtweets"])
|
||||
@ -85,6 +87,9 @@ class globalSettingsController(object):
|
||||
kmFile.close()
|
||||
self.needs_restart = True
|
||||
|
||||
if config.app["app-settings"]["autostart"] != self.dialog.get_value("general", "autostart") and paths.mode == "installed":
|
||||
config.app["app-settings"]["autostart"] = self.dialog.get_value("general", "autostart")
|
||||
autostart_windows.setAutoStart(application.name, enable=self.dialog.get_value("general", "autostart"))
|
||||
if config.app["app-settings"]["use_invisible_keyboard_shorcuts"] != self.dialog.get_value("general", "use_invisible_shorcuts"):
|
||||
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"))
|
||||
@ -248,14 +253,25 @@ class accountSettingsController(globalSettingsController):
|
||||
self.dialog.ignored_clients.remove_(id)
|
||||
|
||||
def get_buffers_list(self):
|
||||
all_buffers = ['home','mentions','dm','sent_dm','sent_tweets','favorites','followers','friends','blocks','muted','events']
|
||||
all_buffers=OrderedDict()
|
||||
all_buffers['home']=_(u"Home")
|
||||
all_buffers['mentions']=_(u"Mentions")
|
||||
all_buffers['dm']=_(u"Direct Messages")
|
||||
all_buffers['sent_dm']=_(u"Sent direct messages")
|
||||
all_buffers['sent_tweets']=_(u"Sent tweets")
|
||||
all_buffers['favorites']=_(u"Likes")
|
||||
all_buffers['followers']=_(u"Followers")
|
||||
all_buffers['friends']=_(u"Friends")
|
||||
all_buffers['blocks']=_(u"Blocked users")
|
||||
all_buffers['muted']=_(u"Muted users")
|
||||
all_buffers['events']=_(u"Events")
|
||||
list_buffers = []
|
||||
hidden_buffers=[]
|
||||
for i in all_buffers:
|
||||
for i in all_buffers.keys():
|
||||
if i in self.config["general"]["buffer_order"]:
|
||||
list_buffers.append((i, True))
|
||||
list_buffers.append((i, all_buffers[i], True))
|
||||
else:
|
||||
hidden_buffers.append((i, False))
|
||||
hidden_buffers.append((i, all_buffers[i], False))
|
||||
list_buffers.extend(hidden_buffers)
|
||||
return list_buffers
|
||||
|
||||
|
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
@ -31,11 +31,11 @@ def getAutoStart(app_name):
|
||||
|
||||
def setAutoStart(app_name, enable=True):
|
||||
"""Configures automatic startup for the application, if the enable argument is set to True. If set to False, deletes the application AutoStart value."""
|
||||
|
||||
print paths.get_executable()
|
||||
if getAutoStart(app_name) == enable:
|
||||
return
|
||||
key = _winreg.OpenKey(_winreg.HKEY_CURRENT_USER, RUN_REGKEY, 0, _winreg.KEY_WRITE)
|
||||
if enable:
|
||||
_winreg.SetValueEx(key, unicode(app_name), None, _winreg.REG_SZ, sys.argv[0])
|
||||
_winreg.SetValueEx(key, unicode(app_name), None, _winreg.REG_SZ, paths.get_executable())
|
||||
else:
|
||||
_winreg.DeleteValue(key, unicode(app_name))
|
||||
|
@ -1,6 +1,7 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
""" The main session object. Here are the twitter functions to interact with the "model" of TWBlue."""
|
||||
import urllib2
|
||||
import config
|
||||
import twitter
|
||||
from keys import keyring
|
||||
import session_exceptions as Exceptions
|
||||
@ -425,7 +426,7 @@ class Session(object):
|
||||
|
||||
def check_quoted_status(self, tweet):
|
||||
status = tweets.is_long(tweet)
|
||||
if status != False:
|
||||
if status != False and config.app["app-settings"]["handle_longtweets"]:
|
||||
tweet = self.get_quoted_tweet(tweet)
|
||||
return tweet
|
||||
|
||||
@ -447,6 +448,6 @@ class Session(object):
|
||||
|
||||
def check_long_tweet(self, tweet):
|
||||
long = twishort.is_long(tweet)
|
||||
if long != False:
|
||||
if long != False and config.app["app-settings"]["handle_longtweets"]:
|
||||
tweet["message"] = twishort.get_full_text(long)
|
||||
return tweet
|
@ -41,7 +41,6 @@ def get_architecture_files():
|
||||
("Microsoft.VC90.MFC", glob("../windows-dependencies/x64/Microsoft.VC90.MFC/*")),]
|
||||
|
||||
def get_data():
|
||||
import accessible_output2
|
||||
import sound_lib
|
||||
import enchant
|
||||
return [
|
||||
@ -50,7 +49,8 @@ def get_data():
|
||||
("accessible_output2/lib", glob("accessible_output2/lib/*.dll")),
|
||||
("keys/lib", glob("keys/lib/*.dll")),
|
||||
("keymaps", glob("keymaps/*.keymap")),
|
||||
]+get_sounds()+get_locales()+get_documentation()+sound_lib.find_datafiles()+accessible_output2.find_datafiles()+enchant.utils.win32_data_files()+get_architecture_files()+wx_files()
|
||||
("share/enchant/myspell", glob("../windows-dependencies/dictionaries/*")),
|
||||
]+get_sounds()+get_locales()+get_documentation()+sound_lib.find_datafiles()+enchant.utils.win32_data_files()+get_architecture_files()+wx_files()
|
||||
|
||||
def get_documentation ():
|
||||
answer = [("documentation", ["documentation/license.txt"])]
|
||||
|
@ -18,7 +18,9 @@ class general(wx.Panel, baseDialog.BaseWXDialog):
|
||||
langBox.Add(language, 0, wx.ALL, 5)
|
||||
langBox.Add(self.language, 0, wx.ALL, 5)
|
||||
sizer.Add(langBox, 0, wx.ALL, 5)
|
||||
self.autostart = wx.CheckBox(self, -1, _(u"Run {0} at Windows startup").format(application.name,))
|
||||
self.ask_at_exit = wx.CheckBox(self, -1, _(U"ask before exiting {0}").format(application.name,))
|
||||
sizer.Add(self.autostart, 0, wx.ALL, 5)
|
||||
sizer.Add(self.ask_at_exit, 0, wx.ALL, 5)
|
||||
self.play_ready_sound = wx.CheckBox(self, -1, _(U"Play a sound when {0} launches").format(application.name,))
|
||||
sizer.Add(self.play_ready_sound, 0, wx.ALL, 5)
|
||||
@ -114,7 +116,7 @@ class other_buffers(wx.Panel):
|
||||
def __init__(self, parent):
|
||||
super(other_buffers, self).__init__(parent)
|
||||
sizer = wx.BoxSizer(wx.VERTICAL)
|
||||
self.buffers = widgets.list(self, _(u"Buffer"), _(u"Status"), style=wx.LC_SINGLE_SEL|wx.LC_REPORT)
|
||||
self.buffers = widgets.list(self, _(u"Buffer"), _(u"Name"), _(u"Status"), style=wx.LC_SINGLE_SEL|wx.LC_REPORT)
|
||||
sizer.Add(self.buffers.list, 0, wx.ALL, 5)
|
||||
btnSizer = wx.BoxSizer(wx.HORIZONTAL)
|
||||
self.toggle_state = wx.Button(self, -1, _(u"Show/hide"))
|
||||
@ -128,10 +130,10 @@ class other_buffers(wx.Panel):
|
||||
|
||||
def insert_buffers(self, buffers):
|
||||
for i in buffers:
|
||||
if i[1] == True:
|
||||
self.buffers.insert_item(False, *[i[0], _(u"Show")])
|
||||
if i[2] == True:
|
||||
self.buffers.insert_item(False, *[i[0], i[1], _(u"Show")])
|
||||
else:
|
||||
self.buffers.insert_item(False, *[i[0], _(u"Hide")])
|
||||
self.buffers.insert_item(False, *[i[0], i[1], _(u"Hide")])
|
||||
|
||||
def connect_hook_func(self, func):
|
||||
self.buffers.list.Bind(wx.EVT_CHAR_HOOK, func)
|
||||
@ -141,40 +143,48 @@ class other_buffers(wx.Panel):
|
||||
if current == -1:
|
||||
output.speak(_(u"Select a buffer first."), True)
|
||||
return False
|
||||
if self.buffers.get_text_column(current, 1) == _(u"Hide"):
|
||||
if self.buffers.get_text_column(current, 2) == _(u"Hide"):
|
||||
output.speak(_(u"The buffer is hidden, show it first."), True)
|
||||
return False
|
||||
if current <= 0:
|
||||
output.speak(_(u"The buffer is already at the top of the list."), True)
|
||||
return False
|
||||
current_text = self.buffers.get_text_column(self.buffers.get_selected(), 0)
|
||||
current_text_state = self.buffers.get_text_column(self.buffers.get_selected(), 1)
|
||||
current_name = self.buffers.get_text_column(self.buffers.get_selected(), 1)
|
||||
current_text_state = self.buffers.get_text_column(self.buffers.get_selected(), 2)
|
||||
text_above = self.buffers.get_text_column(self.buffers.get_selected()-1, 0)
|
||||
text_above_state = self.buffers.get_text_column(self.buffers.get_selected()-1, 1)
|
||||
name_above = self.buffers.get_text_column(self.buffers.get_selected()-1, 1)
|
||||
text_above_state = self.buffers.get_text_column(self.buffers.get_selected()-1, 2)
|
||||
self.buffers.set_text_column(self.buffers.get_selected()-1, 0, current_text)
|
||||
self.buffers.set_text_column(self.buffers.get_selected()-1, 1, current_text_state)
|
||||
self.buffers.set_text_column(self.buffers.get_selected()-1, 1, current_name)
|
||||
self.buffers.set_text_column(self.buffers.get_selected()-1, 2, current_text_state)
|
||||
self.buffers.set_text_column(self.buffers.get_selected(), 0, text_above)
|
||||
self.buffers.set_text_column(self.buffers.get_selected(), 1, text_above_state)
|
||||
self.buffers.set_text_column(self.buffers.get_selected(), 1, name_above)
|
||||
self.buffers.set_text_column(self.buffers.get_selected(), 2, text_above_state)
|
||||
|
||||
def move_down(self, *args, **kwargs):
|
||||
current = self.buffers.get_selected()
|
||||
if current == -1:
|
||||
output.speak(_(u"Select a buffer first."), True)
|
||||
return False
|
||||
if self.buffers.get_text_column(current, 1) == _(u"Hide"):
|
||||
if self.buffers.get_text_column(current, 2) == _(u"Hide"):
|
||||
output.speak(_(u"The buffer is hidden, show it first."), True)
|
||||
return False
|
||||
if current+1 >= self.buffers.get_count():
|
||||
output.speak(_(u"The buffer is already at the bottom of the list."), True)
|
||||
return False
|
||||
current_text = self.buffers.get_text_column(self.buffers.get_selected(), 0)
|
||||
current_text_state = self.buffers.get_text_column(self.buffers.get_selected(), 1)
|
||||
current_name = self.buffers.get_text_column(self.buffers.get_selected(), 1)
|
||||
current_text_state = self.buffers.get_text_column(self.buffers.get_selected(), 2)
|
||||
text_below = self.buffers.get_text_column(self.buffers.get_selected()+1, 0)
|
||||
text_below_state = self.buffers.get_text_column(self.buffers.get_selected()+1, 1)
|
||||
name_below = self.buffers.get_text_column(self.buffers.get_selected()+1, 1)
|
||||
text_below_state = self.buffers.get_text_column(self.buffers.get_selected()+1, 2)
|
||||
self.buffers.set_text_column(self.buffers.get_selected()+1, 0, current_text)
|
||||
self.buffers.set_text_column(self.buffers.get_selected()+1, 1, current_text_state)
|
||||
self.buffers.set_text_column(self.buffers.get_selected()+1, 1, current_name)
|
||||
self.buffers.set_text_column(self.buffers.get_selected()+1, 2, current_text_state)
|
||||
self.buffers.set_text_column(self.buffers.get_selected(), 0, text_below)
|
||||
self.buffers.set_text_column(self.buffers.get_selected(), 1, text_below_state)
|
||||
self.buffers.set_text_column(self.buffers.get_selected(), 1, name_below)
|
||||
self.buffers.set_text_column(self.buffers.get_selected(), 2, text_below_state)
|
||||
|
||||
def get_event(self, ev):
|
||||
if ev.GetKeyCode() == wx.WXK_SPACE:
|
||||
@ -185,16 +195,16 @@ class other_buffers(wx.Panel):
|
||||
|
||||
def change_selected_item(self):
|
||||
current = self.buffers.get_selected()
|
||||
text = self.buffers.get_text_column(current, 1)
|
||||
text = self.buffers.get_text_column(current, 2)
|
||||
if text == _(u"Show"):
|
||||
self.buffers.set_text_column(current, 1, _(u"Hide"))
|
||||
self.buffers.set_text_column(current, 2, _(u"Hide"))
|
||||
else:
|
||||
self.buffers.set_text_column(current, 1, _(u"Show"))
|
||||
output.speak(self.buffers.get_text_column(current, 1),True)
|
||||
self.buffers.set_text_column(current, 2, _(u"Show"))
|
||||
output.speak(self.buffers.get_text_column(current, 2),True)
|
||||
def get_list(self):
|
||||
buffers_list = []
|
||||
for i in xrange(0, self.buffers.get_count()):
|
||||
if self.buffers.get_text_column(i, 1) == _(u"Show"):
|
||||
if self.buffers.get_text_column(i, 2) == _(u"Show"):
|
||||
buffers_list.append(self.buffers.get_text_column(i, 0))
|
||||
return buffers_list
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
2118
tools/twblue.pot
2118
tools/twblue.pot
File diff suppressed because it is too large
Load Diff
@ -1,4 +1,4 @@
|
||||
{"current_version": "0.84",
|
||||
{"current_version": "0.85",
|
||||
"description": "The first version for the new generation of TWBlue.",
|
||||
"date": "day_name_abr month day_numb, 2016",
|
||||
"downloads":
|
||||
|
@ -1 +1 @@
|
||||
Subproject commit d40c89666083a45062d0dbd6a78d8f4476f3aecd
|
||||
Subproject commit d927229b99e4f4be5aa0dc89ccef36a36e69bc18
|
Loading…
Reference in New Issue
Block a user