Merge branch 'next-gen' of https://github.com/manuelcortez/twblue into next-gen

This commit is contained in:
Iván Novegil 2016-08-08 17:16:25 +02:00
commit a57c44d566
70 changed files with 26108 additions and 12479 deletions

View File

@ -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, ...

View File

@ -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:

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -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).

View File

@ -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

View File

@ -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

View File

@ -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)

View File

@ -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:

View File

@ -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:

View File

@ -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"]))
@ -1495,3 +1497,7 @@ class Controller(object):
for i in self.buffers:
if hasattr(i, "remove_tweet") and hasattr(i, "name"):
i.remove_tweet(id)
def save_data_in_db(self):
for i in session_.sessions:
session_.sessions[i].shelve()

View File

@ -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

View File

@ -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))

View File

@ -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

View File

@ -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"])]

View File

@ -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

File diff suppressed because it is too large Load Diff

View File

@ -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