mirror of
https://github.com/MCV-Software/TWBlue.git
synced 2025-03-14 09:28:03 -06:00
Merge f756af9f9d984209f86b2dc03926814d6c8887f7 into bf4c09d0bb485b5983224ba0bf4ec4006ba0ee42
This commit is contained in:
commit
ca27b7abc8
@ -31,7 +31,6 @@ Although most dependencies can be found in the windows-dependencies directory, w
|
|||||||
|
|
||||||
* [Python,](http://python.org) version 2.7.13
|
* [Python,](http://python.org) version 2.7.13
|
||||||
If you want to build both x86 and x64 binaries, you can install python x86 to C:\python27 and python x64 to C:\python27x64, for example.
|
If you want to build both x86 and x64 binaries, you can install python x86 to C:\python27 and python x64 to C:\python27x64, for example.
|
||||||
* [wxPython](http://www.wxpython.org) for Python 2.7, version 3.0.2.0
|
|
||||||
* [Python windows extensions (pywin32)](http://www.sourceforge.net/projects/pywin32/) for python 2.7, build 220
|
* [Python windows extensions (pywin32)](http://www.sourceforge.net/projects/pywin32/) for python 2.7, build 220
|
||||||
* [PyEnchant,](http://pythonhosted.org/pyenchant/) version 1.6.6.
|
* [PyEnchant,](http://pythonhosted.org/pyenchant/) version 1.6.6.
|
||||||
x64 version has been built by TWBlue developers, so you only will find it in windows-dependencies folder
|
x64 version has been built by TWBlue developers, so you only will find it in windows-dependencies folder
|
||||||
@ -74,6 +73,11 @@ easy_install will automatically get the additional libraries that these packages
|
|||||||
Run the following command to quickly install and upgrade all packages and their dependencies:
|
Run the following command to quickly install and upgrade all packages and their dependencies:
|
||||||
easy_install -Z --upgrade six configobj markdown future requests oauthlib requests-oauthlib requests-toolbelt pypubsub==3.3.0 pygeocoder arrow==0.6 python-dateutil futures winpaths PySocks win_inet_pton yandex.translate
|
easy_install -Z --upgrade six configobj markdown future requests oauthlib requests-oauthlib requests-toolbelt pypubsub==3.3.0 pygeocoder arrow==0.6 python-dateutil futures winpaths PySocks win_inet_pton yandex.translate
|
||||||
|
|
||||||
|
#### Dependencies that must be installed using pip
|
||||||
|
WXPython must be installed using pip. To install it, run the following command:
|
||||||
|
|
||||||
|
pip install -U --pre -f https://wxpython.org/Phoenix/snapshot-builds/ wxPython
|
||||||
|
|
||||||
#### Other dependencies
|
#### Other dependencies
|
||||||
|
|
||||||
These dependencies are located in the windows-dependencies directory. You don't need to install or modify them.
|
These dependencies are located in the windows-dependencies directory. You don't need to install or modify them.
|
||||||
|
@ -605,7 +605,7 @@ class baseBufferController(bufferController):
|
|||||||
# fix this:
|
# fix this:
|
||||||
original_date = arrow.get(self.session.db[self.name][self.buffer.list.get_selected()]["created_at"], "ddd MMM D H:m:s Z YYYY", locale="en")
|
original_date = arrow.get(self.session.db[self.name][self.buffer.list.get_selected()]["created_at"], "ddd MMM D H:m:s Z YYYY", locale="en")
|
||||||
ts = original_date.humanize(locale=languageHandler.getLanguage())
|
ts = original_date.humanize(locale=languageHandler.getLanguage())
|
||||||
self.buffer.list.list.SetStringItem(self.buffer.list.get_selected(), 2, ts)
|
self.buffer.list.list.SetItem(self.buffer.list.get_selected(), 2, unicode(ts))
|
||||||
if self.session.settings['sound']['indicate_audio'] and utils.is_audio(tweet):
|
if self.session.settings['sound']['indicate_audio'] and utils.is_audio(tweet):
|
||||||
self.session.sound.play("audio.ogg")
|
self.session.sound.play("audio.ogg")
|
||||||
if self.session.settings['sound']['indicate_geo'] and utils.is_geocoded(tweet):
|
if self.session.settings['sound']['indicate_geo'] and utils.is_geocoded(tweet):
|
||||||
|
@ -37,9 +37,9 @@ class list(object):
|
|||||||
if self.system == "Windows":
|
if self.system == "Windows":
|
||||||
if reversed == False: items = self.list.GetItemCount()
|
if reversed == False: items = self.list.GetItemCount()
|
||||||
else: items = 0
|
else: items = 0
|
||||||
self.list.InsertStringItem(items, item[0])
|
self.list.InsertItem(items, unicode(item[0]))
|
||||||
for i in xrange(1, len(self.columns)):
|
for i in xrange(1, len(self.columns)):
|
||||||
self.list.SetStringItem(items, i, item[i])
|
self.list.SetItem(items, i, unicode(item[i]))
|
||||||
else:
|
else:
|
||||||
self.list.Append(" ".join(item))
|
self.list.Append(" ".join(item))
|
||||||
|
|
||||||
@ -85,5 +85,5 @@ class list(object):
|
|||||||
return item.GetText()
|
return item.GetText()
|
||||||
|
|
||||||
def set_text_column(self, indexId, column, text):
|
def set_text_column(self, indexId, column, text):
|
||||||
item = self.list.SetStringItem(indexId, column, text)
|
item = self.list.SetItem(indexId, column, unicode(text))
|
||||||
return item
|
return item
|
@ -1,4 +1,5 @@
|
|||||||
import wx
|
import wx
|
||||||
|
from wx import adv
|
||||||
import paths
|
import paths
|
||||||
import languageHandler
|
import languageHandler
|
||||||
import sys
|
import sys
|
||||||
@ -52,8 +53,8 @@ NOTEBOOK_PAGE_CHANGED = wx.EVT_TREEBOOK_PAGE_CHANGED
|
|||||||
RADIOBUTTON = wx.EVT_RADIOBUTTON
|
RADIOBUTTON = wx.EVT_RADIOBUTTON
|
||||||
|
|
||||||
# Taskbar mouse clicks.
|
# Taskbar mouse clicks.
|
||||||
TASKBAR_RIGHT_CLICK = wx.EVT_TASKBAR_RIGHT_DOWN
|
TASKBAR_RIGHT_CLICK = adv.EVT_TASKBAR_RIGHT_DOWN
|
||||||
TASKBAR_LEFT_CLICK = wx.EVT_TASKBAR_LEFT_DOWN
|
TASKBAR_LEFT_CLICK = adv.EVT_TASKBAR_LEFT_DOWN
|
||||||
|
|
||||||
def exit_application():
|
def exit_application():
|
||||||
""" Closes the current window cleanly. """
|
""" Closes the current window cleanly. """
|
||||||
|
@ -307,7 +307,7 @@ class viewTweet(widgetUtils.BaseDialog):
|
|||||||
self.text = wx.TextCtrl(panel, -1, text, style=wx.TE_READONLY|wx.TE_MULTILINE, size=(250, 180))
|
self.text = wx.TextCtrl(panel, -1, text, style=wx.TE_READONLY|wx.TE_MULTILINE, size=(250, 180))
|
||||||
dc = wx.WindowDC(self.text)
|
dc = wx.WindowDC(self.text)
|
||||||
dc.SetFont(self.text.GetFont())
|
dc.SetFont(self.text.GetFont())
|
||||||
(x, y, z) = dc.GetMultiLineTextExtent("0"*140)
|
(x, y) = dc.GetMultiLineTextExtent("0"*140)
|
||||||
self.text.SetSize((x, y))
|
self.text.SetSize((x, y))
|
||||||
self.text.SetFocus()
|
self.text.SetFocus()
|
||||||
textBox = wx.BoxSizer(wx.HORIZONTAL)
|
textBox = wx.BoxSizer(wx.HORIZONTAL)
|
||||||
@ -319,7 +319,7 @@ class viewTweet(widgetUtils.BaseDialog):
|
|||||||
self.image_description = wx.TextCtrl(panel, -1, style=wx.TE_READONLY|wx.TE_MULTILINE, size=(250, 180))
|
self.image_description = wx.TextCtrl(panel, -1, style=wx.TE_READONLY|wx.TE_MULTILINE, size=(250, 180))
|
||||||
dc = wx.WindowDC(self.image_description)
|
dc = wx.WindowDC(self.image_description)
|
||||||
dc.SetFont(self.image_description.GetFont())
|
dc.SetFont(self.image_description.GetFont())
|
||||||
(x, y, z) = dc.GetMultiLineTextExtent("0"*450)
|
(x, y) = dc.GetMultiLineTextExtent("0"*450)
|
||||||
self.image_description.SetSize((x, y))
|
self.image_description.SetSize((x, y))
|
||||||
self.image_description.Enable(False)
|
self.image_description.Enable(False)
|
||||||
iBox = wx.BoxSizer(wx.HORIZONTAL)
|
iBox = wx.BoxSizer(wx.HORIZONTAL)
|
||||||
@ -400,7 +400,7 @@ class viewNonTweet(widgetUtils.BaseDialog):
|
|||||||
self.text = wx.TextCtrl(parent=panel, id=-1, value=text, style=wx.TE_READONLY|wx.TE_MULTILINE, size=(250, 180))
|
self.text = wx.TextCtrl(parent=panel, id=-1, value=text, style=wx.TE_READONLY|wx.TE_MULTILINE, size=(250, 180))
|
||||||
dc = wx.WindowDC(self.text)
|
dc = wx.WindowDC(self.text)
|
||||||
dc.SetFont(self.text.GetFont())
|
dc.SetFont(self.text.GetFont())
|
||||||
(x, y, z) = dc.GetMultiLineTextExtent("0"*140)
|
(x, y) = dc.GetMultiLineTextExtent("0"*140)
|
||||||
self.text.SetSize((x, y))
|
self.text.SetSize((x, y))
|
||||||
self.text.SetFocus()
|
self.text.SetFocus()
|
||||||
textBox = wx.BoxSizer(wx.HORIZONTAL)
|
textBox = wx.BoxSizer(wx.HORIZONTAL)
|
||||||
|
@ -5,93 +5,93 @@ class basePanelMenu(wx.Menu):
|
|||||||
def __init__(self):
|
def __init__(self):
|
||||||
super(basePanelMenu, self).__init__()
|
super(basePanelMenu, self).__init__()
|
||||||
self.retweet = wx.MenuItem(self, wx.NewId(), _(u"&Retweet"))
|
self.retweet = wx.MenuItem(self, wx.NewId(), _(u"&Retweet"))
|
||||||
self.AppendItem(self.retweet)
|
self.Append(self.retweet)
|
||||||
self.reply = wx.MenuItem(self, wx.NewId(), _(u"Re&ply"))
|
self.reply = wx.MenuItem(self, wx.NewId(), _(u"Re&ply"))
|
||||||
self.AppendItem(self.reply)
|
self.Append(self.reply)
|
||||||
self.fav = wx.MenuItem(self, wx.NewId(), _(u"&Like"))
|
self.fav = wx.MenuItem(self, wx.NewId(), _(u"&Like"))
|
||||||
self.AppendItem(self.fav)
|
self.Append(self.fav)
|
||||||
self.unfav = wx.MenuItem(self, wx.NewId(), _(u"&Unlike"))
|
self.unfav = wx.MenuItem(self, wx.NewId(), _(u"&Unlike"))
|
||||||
self.AppendItem(self.unfav)
|
self.Append(self.unfav)
|
||||||
self.openUrl = wx.MenuItem(self, wx.NewId(), _(u"&Open URL"))
|
self.openUrl = wx.MenuItem(self, wx.NewId(), _(u"&Open URL"))
|
||||||
self.AppendItem(self.openUrl)
|
self.Append(self.openUrl)
|
||||||
self.play = wx.MenuItem(self, wx.NewId(), _(u"&Play audio"))
|
self.play = wx.MenuItem(self, wx.NewId(), _(u"&Play audio"))
|
||||||
self.AppendItem(self.play)
|
self.Append(self.play)
|
||||||
self.view = wx.MenuItem(self, wx.NewId(), _(u"&Show tweet"))
|
self.view = wx.MenuItem(self, wx.NewId(), _(u"&Show tweet"))
|
||||||
self.AppendItem(self.view)
|
self.Append(self.view)
|
||||||
self.copy = wx.MenuItem(self, wx.NewId(), _(u"&Copy to clipboard"))
|
self.copy = wx.MenuItem(self, wx.NewId(), _(u"&Copy to clipboard"))
|
||||||
self.AppendItem(self.copy)
|
self.Append(self.copy)
|
||||||
self.remove = wx.MenuItem(self, wx.NewId(), _(u"&Delete"))
|
self.remove = wx.MenuItem(self, wx.NewId(), _(u"&Delete"))
|
||||||
self.AppendItem(self.remove)
|
self.Append(self.remove)
|
||||||
self.userActions = wx.MenuItem(self, wx.NewId(), _(u"&User actions..."))
|
self.userActions = wx.MenuItem(self, wx.NewId(), _(u"&User actions..."))
|
||||||
self.AppendItem(self.userActions)
|
self.Append(self.userActions)
|
||||||
|
|
||||||
class dmPanelMenu(wx.Menu):
|
class dmPanelMenu(wx.Menu):
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
super(dmPanelMenu, self).__init__()
|
super(dmPanelMenu, self).__init__()
|
||||||
self.reply = wx.MenuItem(self, wx.NewId(), _(u"Re&ply"))
|
self.reply = wx.MenuItem(self, wx.NewId(), _(u"Re&ply"))
|
||||||
self.AppendItem(self.reply)
|
self.Append(self.reply)
|
||||||
self.openUrl = wx.MenuItem(self, wx.NewId(), _(u"&Open URL"))
|
self.openUrl = wx.MenuItem(self, wx.NewId(), _(u"&Open URL"))
|
||||||
self.AppendItem(self.openUrl)
|
self.Append(self.openUrl)
|
||||||
self.play = wx.MenuItem(self, wx.NewId(), _(u"&Play audio"))
|
self.play = wx.MenuItem(self, wx.NewId(), _(u"&Play audio"))
|
||||||
self.AppendItem(self.play)
|
self.Append(self.play)
|
||||||
self.view = wx.MenuItem(self, wx.NewId(), _(u"&Show direct message"))
|
self.view = wx.MenuItem(self, wx.NewId(), _(u"&Show direct message"))
|
||||||
self.AppendItem(self.view)
|
self.Append(self.view)
|
||||||
self.copy = wx.MenuItem(self, wx.NewId(), _(u"&Copy to clipboard"))
|
self.copy = wx.MenuItem(self, wx.NewId(), _(u"&Copy to clipboard"))
|
||||||
self.AppendItem(self.copy)
|
self.Append(self.copy)
|
||||||
self.remove = wx.MenuItem(self, wx.NewId(), _(u"&Delete"))
|
self.remove = wx.MenuItem(self, wx.NewId(), _(u"&Delete"))
|
||||||
self.AppendItem(self.remove)
|
self.Append(self.remove)
|
||||||
self.userActions = wx.MenuItem(self, wx.NewId(), _(u"&User actions..."))
|
self.userActions = wx.MenuItem(self, wx.NewId(), _(u"&User actions..."))
|
||||||
self.AppendItem(self.userActions)
|
self.Append(self.userActions)
|
||||||
|
|
||||||
class sentPanelMenu(wx.Menu):
|
class sentPanelMenu(wx.Menu):
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
super(sentPanelMenu, self).__init__()
|
super(sentPanelMenu, self).__init__()
|
||||||
self.openUrl = wx.MenuItem(self, wx.NewId(), _(u"&Open URL"))
|
self.openUrl = wx.MenuItem(self, wx.NewId(), _(u"&Open URL"))
|
||||||
self.AppendItem(self.openUrl)
|
self.Append(self.openUrl)
|
||||||
self.play = wx.MenuItem(self, wx.NewId(), _(u"&Play audio"))
|
self.play = wx.MenuItem(self, wx.NewId(), _(u"&Play audio"))
|
||||||
self.AppendItem(self.play)
|
self.Append(self.play)
|
||||||
self.view = wx.MenuItem(self, wx.NewId(), _(u"&Show tweet"))
|
self.view = wx.MenuItem(self, wx.NewId(), _(u"&Show tweet"))
|
||||||
self.AppendItem(self.view)
|
self.Append(self.view)
|
||||||
self.copy = wx.MenuItem(self, wx.NewId(), _(u"&Copy to clipboard"))
|
self.copy = wx.MenuItem(self, wx.NewId(), _(u"&Copy to clipboard"))
|
||||||
self.AppendItem(self.copy)
|
self.Append(self.copy)
|
||||||
self.remove = wx.MenuItem(self, wx.NewId(), _(u"&Delete"))
|
self.remove = wx.MenuItem(self, wx.NewId(), _(u"&Delete"))
|
||||||
self.AppendItem(self.remove)
|
self.Append(self.remove)
|
||||||
|
|
||||||
class eventsPanelMenu(wx.Menu):
|
class eventsPanelMenu(wx.Menu):
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
super(eventsPanelMenu, self).__init__()
|
super(eventsPanelMenu, self).__init__()
|
||||||
self.view = wx.MenuItem(self, wx.NewId(), _(u"&Show event"))
|
self.view = wx.MenuItem(self, wx.NewId(), _(u"&Show event"))
|
||||||
self.AppendItem(self.view)
|
self.Append(self.view)
|
||||||
self.copy = wx.MenuItem(self, wx.NewId(), _(u"&Copy to clipboard"))
|
self.copy = wx.MenuItem(self, wx.NewId(), _(u"&Copy to clipboard"))
|
||||||
self.AppendItem(self.copy)
|
self.Append(self.copy)
|
||||||
self.remove = wx.MenuItem(self, wx.NewId(), _(u"&Delete"))
|
self.remove = wx.MenuItem(self, wx.NewId(), _(u"&Delete"))
|
||||||
self.AppendItem(self.remove)
|
self.Append(self.remove)
|
||||||
|
|
||||||
class peoplePanelMenu(wx.Menu):
|
class peoplePanelMenu(wx.Menu):
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
super(peoplePanelMenu, self).__init__()
|
super(peoplePanelMenu, self).__init__()
|
||||||
self.reply = wx.MenuItem(self, wx.NewId(), _(u"Direct &message"))
|
self.reply = wx.MenuItem(self, wx.NewId(), _(u"Direct &message"))
|
||||||
self.AppendItem(self.reply)
|
self.Append(self.reply)
|
||||||
self.lists = wx.MenuItem(self, wx.NewId(), _(u"&View lists"))
|
self.lists = wx.MenuItem(self, wx.NewId(), _(u"&View lists"))
|
||||||
self.AppendItem(self.lists)
|
self.Append(self.lists)
|
||||||
self.lists.Enable(False)
|
self.lists.Enable(False)
|
||||||
self.details = wx.MenuItem(self, wx.NewId(), _(u"Show user &profile"))
|
self.details = wx.MenuItem(self, wx.NewId(), _(u"Show user &profile"))
|
||||||
self.AppendItem(self.details)
|
self.Append(self.details)
|
||||||
self.view = wx.MenuItem(self, wx.NewId(), _(u"&Show user"))
|
self.view = wx.MenuItem(self, wx.NewId(), _(u"&Show user"))
|
||||||
self.AppendItem(self.view)
|
self.Append(self.view)
|
||||||
self.copy = wx.MenuItem(self, wx.NewId(), _(u"&Copy to clipboard"))
|
self.copy = wx.MenuItem(self, wx.NewId(), _(u"&Copy to clipboard"))
|
||||||
self.AppendItem(self.copy)
|
self.Append(self.copy)
|
||||||
self.userActions = wx.MenuItem(self, wx.NewId(), _(u"&User actions..."))
|
self.userActions = wx.MenuItem(self, wx.NewId(), _(u"&User actions..."))
|
||||||
self.AppendItem(self.userActions)
|
self.Append(self.userActions)
|
||||||
|
|
||||||
class trendsPanelMenu(wx.Menu):
|
class trendsPanelMenu(wx.Menu):
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
super(trendsPanelMenu, self).__init__()
|
super(trendsPanelMenu, self).__init__()
|
||||||
self.search_topic = wx.MenuItem(self, wx.NewId(), _(u"Search topic"))
|
self.search_topic = wx.MenuItem(self, wx.NewId(), _(u"Search topic"))
|
||||||
self.AppendItem(self.search_topic)
|
self.Append(self.search_topic)
|
||||||
self.tweetThisTrend = wx.MenuItem(self, wx.NewId(), _(u"&Tweet about this trend"))
|
self.tweetThisTrend = wx.MenuItem(self, wx.NewId(), _(u"&Tweet about this trend"))
|
||||||
self.AppendItem(self.tweetThisTrend)
|
self.Append(self.tweetThisTrend)
|
||||||
self.view = wx.MenuItem(self, wx.NewId(), _(u"&Show item"))
|
self.view = wx.MenuItem(self, wx.NewId(), _(u"&Show item"))
|
||||||
self.AppendItem(self.view)
|
self.Append(self.view)
|
||||||
self.copy = wx.MenuItem(self, wx.NewId(), _(u"&Copy to clipboard"))
|
self.copy = wx.MenuItem(self, wx.NewId(), _(u"&Copy to clipboard"))
|
||||||
self.AppendItem(self.copy)
|
self.Append(self.copy)
|
||||||
|
@ -19,11 +19,12 @@
|
|||||||
############################################################
|
############################################################
|
||||||
|
|
||||||
import wx
|
import wx
|
||||||
|
from wx import adv
|
||||||
import application
|
import application
|
||||||
import paths
|
import paths
|
||||||
import os
|
import os
|
||||||
|
|
||||||
class SysTrayIcon(wx.TaskBarIcon):
|
class SysTrayIcon(adv.TaskBarIcon):
|
||||||
|
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
super(SysTrayIcon, self).__init__()
|
super(SysTrayIcon, self).__init__()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user