Compare commits

...

1482 Commits

Author SHA1 Message Date
11b6669bf6 Started to rebuild TWBlue's documentation 2022-12-13 15:46:39 -06:00
3adc726f33 Handle properly a psutil exception. Closes #501 2022-12-13 11:16:10 -06:00
a3bc684721 Mastodon: Added reverse timeline ordering to buffers 2022-12-10 18:52:07 -06:00
ffbb67765d Replaced check_pid to use psutil as opposed to deal directly with win32 API 2022-12-10 18:29:59 -06:00
b57a430dc5 Bring back support for Windows 7 on 32-bit portable variant 2022-12-09 16:41:18 -06:00
0f04cfabf9 Fixed small typo on win7 version 2022-12-09 13:27:36 -06:00
3b29cbd746 Ensure python 3.7 installs wxpython for 32 bits 2022-12-09 13:19:54 -06:00
730665b5da fixed a typo 2022-12-09 13:03:37 -06:00
924cc83090 Modified CI for an experiment with Window 7 versions 2022-12-09 12:55:58 -06:00
4d46bab37f Remove fixes for libloader and win32com 2022-12-09 12:36:00 -06:00
a5e075a215 Replace httpcore submodule to fix an issue with googletrans 2022-12-09 12:35:26 -06:00
c9b75925b9 Removed unneeded code 2022-12-08 16:11:25 -06:00
3450e0d38f twitter: Fixed reply keystroke not working on dm buffer 2022-12-08 11:48:04 -06:00
ca83604870 Updated changelog 2022-12-08 11:38:17 -06:00
35b758ecf1 mastodon: Added account settings dialog (except autocompletion settings) 2022-12-08 11:14:14 -06:00
d5ed5f12af mastodon: Added missing settings in config file 2022-12-08 11:10:06 -06:00
eedcb49f3d Mastodon: Added template editor 2022-12-08 11:07:44 -06:00
a1878f10b3 Fixed dm ordering issue 2022-12-06 13:31:09 -06:00
2323c3cac5 Include mastodon default config file on builds 2022-12-06 10:06:27 -06:00
e90c370e73 Add secrets on build stages 2022-12-06 09:12:09 -06:00
cadcc56182 Updated changelog 2022-12-05 16:55:06 -06:00
619f58ad90 Updated changelog 2022-12-05 16:51:57 -06:00
c480554e01 Merge branch 'next-gen' of gitlab.mcvsoftware.com:twblue/twblue into next-gen 2022-12-05 03:00:57 -06:00
6da81a9734 Get offset from local user timezone as opposed to call get_settings on twitter's side 2022-12-05 03:00:03 -06:00
b559726535 Update method to determine custom character limit to detect changes in mastodon servers 2022-11-30 11:19:51 -06:00
768f0bc396 Merge pull request #496 from MCV-Software/mastodon
Initial Mastodon Support
2022-11-25 17:50:08 -06:00
5bbf069d61 Set updated statuses also in GUI 2022-11-25 17:43:03 -06:00
d177ef5be2 Initial support for edited statuses in Streaming API. Only Works in invisible interface for now 2022-11-25 17:30:57 -06:00
b6dd539dc6 Hide VLC log info 2022-11-25 15:29:21 -06:00
fabca1207d Fixed issue when cleaning a buffer 2022-11-24 16:36:08 -06:00
bf4c7ff7c7 Make sure item ID is included when composing a dm in mastodon 2022-11-24 15:28:39 -06:00
8d2fb59ba8 Added some fixes 2022-11-24 15:22:09 -06:00
b7497791b4 Update buffer removal code. Should be able to remove user search buffers 2022-11-21 22:09:40 -06:00
48730ead63 Keep sensitive content tag when replying to posts 2022-11-21 19:36:34 -06:00
98ecd000a9 change default soundpack for mastodon sessions and hide federated timeline by default 2022-11-21 17:28:23 -06:00
4a9098021f Avoid playing new dm's sound for now 2022-11-20 15:01:15 -06:00
8850e5fdde Removed unneeded code and fixed small typos 2022-11-20 14:54:10 -06:00
e42bd85274 Fixed shortcut to open followers timelines in the dialog 2022-11-20 13:28:43 -06:00
d3914a4e34 Implemented user timelines (statuses, followers & following). Limited support due to API 2022-11-20 02:23:12 -06:00
73de8d4f49 Updated followers sound to match the correct sounds used for twitter sessions 2022-11-19 19:37:10 -06:00
ce458a8d4d Added direct messages and followers to streaming API implementation 2022-11-19 19:36:21 -06:00
149ce51f49 early support to user streaming events 2022-11-18 16:29:53 -06:00
2fe9c35c0b Add pubsub events by using twitter's namespace to separate services 2022-11-18 13:41:12 -06:00
39fb5b4830 fixed visibility settings when sending replies 2022-11-18 13:40:02 -06:00
71ca547abe Implemented user searches 2022-11-18 10:28:45 -06:00
1c5c1067e6 Fixed KeystrokeEditor's GUI 2022-11-17 17:37:44 -06:00
df4d3eb0e6 Fix Issue that avoids removing trending topic buffers 2022-11-17 17:27:41 -06:00
927bbae1be bind user actions button to its function in user buffers' GUI 2022-11-17 16:59:48 -06:00
cbc4fd0632 Added buttons for toggling favorites and bookmarks in base buffer's GUI 2022-11-17 16:57:49 -06:00
10d4d47a17 Handle errors in authorisation for both Twitter and mastodon 2022-11-17 16:19:47 -06:00
52d64d86d8 Add sessions only after authorise returns True 2022-11-17 16:19:03 -06:00
2ab61ebee6 Create session folder only if the session is actually created successfully (authorized) 2022-11-17 16:18:30 -06:00
3ad01d1ab0 Fixed a typo 2022-11-17 12:44:28 -06:00
7835e09c5b Added oauth authorisation to mastodon session 2022-11-16 15:33:27 -06:00
4c5d2b5e04 Update persons default template 2022-11-16 13:42:31 -06:00
8f72ee97c9 Replace 'toot' term to follow mastodon changes 2022-11-16 13:28:45 -06:00
aebdcae9cf Fixed some buffer names 2022-11-16 12:55:35 -06:00
3b5ef02def fixed small name conflict in buffers 2022-11-16 12:51:58 -06:00
35599ee0ef Add newline character after every image description parsed 2022-11-16 12:40:52 -06:00
6e03578e86 Fixed lists 2022-11-16 12:35:19 -06:00
7cbf873db5 Include date and client in conversation list GUI 2022-11-16 11:40:23 -06:00
fefd88b71c Create valid account buffers even when session cannot login to the network (works for ignored sessions) 2022-11-16 11:01:52 -06:00
7c80c9d842 Improve conversation replies 2022-11-16 10:31:17 -06:00
f5e52c6387 Honor custom character limit if reported by the instance 2022-11-16 10:06:14 -06:00
4c43f82b60 changed import of twitter text parser 2022-11-15 17:23:01 -06:00
2caaaa9d87 Fix: LogOut from sessions 2022-11-15 16:15:09 -06:00
3fa39c712e Set a mastodon version for the API 2022-11-15 16:13:16 -06:00
252a93f82d save list buffers after being created 2022-11-15 16:12:49 -06:00
f5328379e8 Fixed list buffer creation 2022-11-15 13:31:11 -06:00
2e8c8c6db4 Rework sessions to be handled with unique names 2022-11-15 11:54:59 -06:00
862dbd0b8a Change session name as identifiable key for every session in TWblue 2022-11-14 17:51:27 -06:00
120da217f5 Implemented userActions for mastodon sessions 2022-11-14 12:39:32 -06:00
035de92496 Added user buffers (buffers for followers, following, blocked and muted users for now) 2022-11-13 22:17:28 -06:00
2a0e73ad33 Use the same visibility when replying to toots 2022-11-12 22:32:31 -06:00
701a557357 Add support to retrieve more conversations if needed. Sort conversation properly on updates 2022-11-12 21:28:49 -06:00
de1d94e679 update toot from server before displaying item 2022-11-12 15:26:34 -06:00
64d5b7e684 Changed mentionned people for direct in toots' visibility info 2022-11-12 15:16:53 -06:00
2c9048618f Added visibility as a variable template for toots 2022-11-12 15:16:20 -06:00
José Manuel Delicado Alcolea
d66f4a2640 Updated Windows dependencies. Switching to Python 3.10.8 2022-11-12 20:29:02 +01:00
bfbb280c27 Fixed update in mentions 2022-11-12 13:06:46 -06:00
cad7c9a9fd Added conversationListBuffer GUI 2022-11-12 13:06:03 -06:00
81ff530a71 Added initial support for direct messages, users need to open conversations for every dm 2022-11-12 11:20:16 -06:00
39fc982665 Added conversations buffer 2022-11-12 09:16:35 -06:00
803f5fbe89 Fixed a few things in tootDialog 2022-11-11 17:32:31 -06:00
0d1d4c887d Added bookmarks buffer 2022-11-11 17:25:04 -06:00
f8f13be6d3 Updated mastodon default config (again) 2022-11-11 17:20:32 -06:00
5f645508ba Added mentions buffer (filters notifications by mention and extract toots from them) 2022-11-11 17:12:03 -06:00
3a3cb3963c Allows to add content warnings when writing a toot 2022-11-11 16:21:15 -06:00
2c298577cc Re-added toot dialog to make it more compatible with mastodon. Added visibility and audio attachments 2022-11-11 15:51:16 -06:00
97815f807a get description only for images, for now 2022-11-11 15:05:56 -06:00
f24f97baae Removed code from our html parser 2022-11-11 15:04:14 -06:00
2a10f029f0 Added basic toot viewing (untested yet) 2022-11-10 17:54:38 -06:00
3deffa57de Added content warnings to templates as $safe_text. Content warnings will be shown by default on GUI for now 2022-11-10 15:32:49 -06:00
d6985be896 Update mastodon default config 2022-11-10 11:57:30 -06:00
0aad2f0ab3 Improved html parsing for toots. Remove Tags from URLList 2022-11-10 10:01:39 -06:00
f151d6554d Added mastodon buffer menus 2022-11-10 07:56:20 -06:00
62d6ae2277 Added favorites buffer, and actions to add, remove and toggle favorite for toots 2022-11-09 17:08:48 -06:00
b405e384c8 Added toot deletion and opening URLS in the browser 2022-11-09 15:52:18 -06:00
7aa986163b Allow to open bosted toots in web browser 2022-11-09 15:23:07 -06:00
59409e61a5 Added playback of audio and video attachments in toots 2022-11-09 13:07:59 -06:00
edbc74262a change character max value for new toot dialog 2022-11-09 12:45:56 -06:00
e07efa46b3 when replying to a conversation, change GUI accordingly and retain original toot's visibility 2022-11-09 11:14:48 -06:00
bedb2e2a4f Hide boost buttons and menu item when focus is in a toot part of a conversation 2022-11-09 11:03:23 -06:00
96b5eec8e0 Added support for creating conversations 2022-11-09 10:59:25 -06:00
c6433d8655 Fixed reply and toot things to make it work properly 2022-11-09 10:20:14 -06:00
c0654658b5 Added indications when there are audio, video, photos or gifvs in media attachments 2022-11-09 09:09:37 -06:00
d71d3695eb Added image descriptions to template system 2022-11-09 08:54:47 -06:00
4b6a7c5d83 Added loading more items in mastodon buffers and enabled buffer buttons for toot, reply and boost 2022-11-09 08:42:56 -06:00
368e089639 Added toot writing and replies 2022-11-08 17:53:59 -06:00
33647da6e8 If user has no display_name set, let's show mastodon username instead 2022-11-08 15:46:16 -06:00
ca39db649b Added sent toots buffer 2022-11-08 15:45:12 -06:00
07dc813cb6 Fixed a small typo 2022-11-08 15:16:01 -06:00
a852a429f4 Implemented boost for toot buffers 2022-11-08 13:49:43 -06:00
1e3a0d9b2e mastodon: Avoid playing sounds on first buffer start 2022-11-08 13:49:15 -06:00
9959ac24d9 Implemented retoots 2022-11-08 13:22:27 -06:00
90f9f18deb added missing settings for mastodon's config 2022-11-08 13:21:45 -06:00
6983d11b73 Added some dialogs for future use 2022-11-08 13:18:04 -06:00
cd5b71a26e fixed small typo 2022-11-08 12:45:40 -06:00
aa3ca82f25 Added buffers on account creation (home, local and federated timelines). Most of functions don't work, just displaying items 2022-11-08 12:41:04 -06:00
bf9b8a4f46 Added mastodon baseBuffer controller 2022-11-08 12:39:04 -06:00
2be460b662 Add templates and buffer order for mastodon default config 2022-11-08 12:21:39 -06:00
1d4057ac5b Added compose function for people in mastodon instances 2022-11-08 12:21:03 -06:00
b9731a3c75 Fixed typos in mastodon buffer GUI 2022-11-08 12:20:11 -06:00
d53decb165 added order_buffer method to sort toots in database 2022-11-08 12:19:41 -06:00
02b8330ca0 Added templates for toots and persons 2022-11-08 12:19:05 -06:00
12046c1f56 Updated compose function for toots 2022-11-08 08:59:09 -06:00
6f69426f03 Fixed more conflicts 2022-11-08 08:48:35 -06:00
c8c242a27f Fixed merge conflicts with next-gen 2022-11-08 08:35:01 -06:00
60daa548ca Added util to parse mastodon toots (very basic, not yet implemented) 2022-11-07 17:13:03 -06:00
40989a54ed cleaned up some imports 2022-11-07 16:15:04 -06:00
87f2976419 moved searches to Twitter handler 2022-11-07 16:06:52 -06:00
b6b81e2b36 Move almost everything related to Twitter to handler 2022-11-07 15:55:28 -06:00
dfcd63b9b6 Moved timelines for users, likes, followers, following and conversations to Twitter handler 2022-11-07 13:55:08 -06:00
23af944fba Moved some interactions with buffers from main controller to the buffer classes themselves 2022-11-07 13:02:54 -06:00
cf9add1fc9 Added empty function view_item to base buffer 2022-11-07 13:01:58 -06:00
a63f19a70f Separate global settings and account settings into two diferent modules so implementing other services will be way easier 2022-11-07 12:27:23 -06:00
8ad266ad1b Moved filters, list features, user actions, user aliases and account config to twitter handler 2022-11-07 12:26:58 -06:00
b593071364 Added empty check_streams to mastodon session so it won't raise errors for a while 2022-11-07 12:24:56 -06:00
0e814a765a Fixed small issue when attempting to apply filters by language 2022-11-07 11:28:42 -06:00
2c7eab60a8 Separate most Twitter features in their own controller so it might be easier to implement those in the handler 2022-11-07 10:25:19 -06:00
d43738a2ec Added base mastodon controller 2022-11-07 09:54:09 -06:00
0f885712b6 Remove unused import in Twitter controller 2022-11-07 09:50:01 -06:00
14a10989e5 Update controller 2022-11-07 09:17:08 -06:00
d5253f651b Merge branch 'next-gen' of gitlab.mcvsoftware.com:twblue/twblue into next-gen 2022-11-07 08:36:58 -06:00
31e901b000 Fixed more locale conflicts 2022-11-06 16:10:56 -06:00
26e7ff009f fixed locales conflicts 2022-11-06 16:07:45 -06:00
1ded773e84 Removed some platform checks 2022-11-03 17:11:13 -06:00
b8637ba8ca Update locales 2022-11-03 11:38:56 -06:00
4dc4f46b84 Removed some platform unused code 2022-11-03 11:34:21 -06:00
e00ec84df3 Updated changelog 2022-11-03 09:52:52 -06:00
8dd122cfb2 Updated ReadMe regarding python version and appkeys 2022-11-03 09:12:41 -06:00
dcfacf8cdd Merge pull request #495 from MCV-Software/python310
Increase Python version to 3.10. Closes #493
2022-11-03 08:53:20 -06:00
bc1522833c Removed appkeys from public repo 2022-11-03 08:47:15 -06:00
4b7382e61f Set python versions to 3.10.8 in CI config File and use a custom WXPython for 32-bit support 2022-11-02 09:42:01 -06:00
585d8e2b0c Removed reference to six and futures as Pytohn 3.10 doesn't need those 2022-11-02 09:27:09 -06:00
f34829d72d Merge branch 'weblate-twblue-twblue' into 'next-gen'
Translations update from Translations hub

See merge request twblue/twblue!9
2022-11-02 15:16:18 +00:00
Steffen Schultz
fd1d60b815 Translated using Weblate (German)
Currently translated at 100.0% (258 of 258 strings)

Translation: TWBlue/changelog
Translate-URL: https://weblate.mcvsoftware.com/projects/twblue/changelog/de/
2022-10-12 04:23:53 -05:00
Steffen Schultz
31e194a038 Translated using Weblate (German)
Currently translated at 100.0% (267 of 267 strings)

Translation: TWBlue/documentation
Translate-URL: https://weblate.mcvsoftware.com/projects/twblue/documentation/de/
2022-10-05 08:23:54 -05:00
Steffen Schultz
e25712920a Translated using Weblate (German)
Currently translated at 100.0% (796 of 796 strings)

Translation: TWBlue/TWBlue
Translate-URL: https://weblate.mcvsoftware.com/projects/twblue/twblue/de/
2022-10-05 08:23:53 -05:00
Steffen Schultz
27867a1961 Added translation using Weblate (German) 2022-10-04 07:47:50 -05:00
Steffen Schultz
1425dcd313 Added translation using Weblate (German) 2022-10-04 06:02:54 -05:00
Riku
b9cff1a9c9 Translated using Weblate (Japanese)
Currently translated at 100.0% (796 of 796 strings)

Translation: TWBlue/TWBlue
Translate-URL: https://weblate.mcvsoftware.com/projects/twblue/twblue/ja/
2022-09-09 01:02:02 -05:00
fc1ed54963 Merge branch 'weblate-twblue-twblue' into 'next-gen'
Translations update from Translations hub

See merge request twblue/twblue!8
2022-09-06 18:13:29 +00:00
Jonas S. Marques
442abe82db Translated using Weblate (Portuguese)
Currently translated at 90.5% (721 of 796 strings)

Translation: TWBlue/TWBlue
Translate-URL: https://weblate.mcvsoftware.com/projects/twblue/twblue/pt/
2022-09-03 19:02:00 -05:00
1b693cd798 Merge branch 'weblate-twblue-twblue' into 'next-gen'
Translations update from Translations hub

See merge request twblue/twblue!7
2022-09-02 22:01:51 +00:00
zvonimir stanecic
8426d8851f Translated using Weblate (Croatian)
Currently translated at 95.6% (761 of 796 strings)

Translation: TWBlue/TWBlue
Translate-URL: https://weblate.mcvsoftware.com/projects/twblue/twblue/hr/
2022-08-29 12:03:36 -05:00
Corentin Bacqué-Cazenave
eca5aa7bfe Translated using Weblate (French)
Currently translated at 100.0% (796 of 796 strings)

Translation: TWBlue/TWBlue
Translate-URL: https://weblate.mcvsoftware.com/projects/twblue/twblue/fr/
2022-08-29 12:03:35 -05:00
8116d98691 Fix wx to 4.1.1 for now 2022-08-28 05:52:51 -05:00
1b498a99bd Updated version info 2022-08-28 05:00:54 -05:00
1a4e594549 Merge branch 'weblate-twblue-twblue' into 'next-gen'
Translations update from Translations hub

See merge request twblue/twblue!6
2022-08-25 22:00:58 +00:00
zvonimir stanecic
2b0172f02f Translated using Weblate (Croatian)
Currently translated at 92.0% (733 of 796 strings)

Translation: TWBlue/TWBlue
Translate-URL: https://weblate.mcvsoftware.com/projects/twblue/twblue/hr/
2022-08-25 13:09:14 -05:00
2d2c84fefe Translated using Weblate (Spanish)
Currently translated at 100.0% (258 of 258 strings)

Translation: TWBlue/changelog
Translate-URL: https://weblate.mcvsoftware.com/projects/twblue/changelog/es/
2022-08-25 13:09:14 -05:00
zvonimir stanecic
0bef872070 Translated using Weblate (Croatian)
Currently translated at 88.3% (703 of 796 strings)

Translation: TWBlue/TWBlue
Translate-URL: https://weblate.mcvsoftware.com/projects/twblue/twblue/hr/
2022-08-25 13:09:14 -05:00
b233842f5c Translated using Weblate (Spanish)
Currently translated at 100.0% (796 of 796 strings)

Translation: TWBlue/TWBlue
Translate-URL: https://weblate.mcvsoftware.com/projects/twblue/twblue/es/
2022-08-25 13:09:14 -05:00
0202b704da Merge branch 'next-gen' of gitlab.mcvsoftware.com:twblue/twblue into next-gen 2022-08-25 13:08:24 -05:00
7d3ac47d55 correct name in some locale folders to make it standard 2022-08-25 12:56:47 -05:00
e2ba61701f Merge branch 'weblate-twblue-twblue' into 'next-gen'
Translations update from Translations hub

See merge request twblue/twblue!5
2022-08-24 16:59:23 +00:00
Weblate
8032f5cf75 Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: TWBlue/changelog
Translate-URL: https://weblate.mcvsoftware.com/projects/twblue/changelog/
2022-08-24 11:32:59 -05:00
Weblate
96f5d0e426 Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: TWBlue/changelog
Translate-URL: https://weblate.mcvsoftware.com/projects/twblue/changelog/
2022-08-24 11:32:58 -05:00
0ba71c985d Translated using Weblate (Spanish)
Currently translated at 100.0% (234 of 234 strings)

Translation: TWBlue/changelog
Translate-URL: https://weblate.mcvsoftware.com/projects/twblue/changelog/es/
2022-08-24 11:32:58 -05:00
c6cbe3360b Restart streaming in certain changes to followed/muted people 2022-08-24 11:32:06 -05:00
ac80e039b2 Updated template files for documentation translations 2022-08-23 16:27:30 -05:00
2039597098 Removes properly new twitter quote statuses on templating system 2022-08-23 11:51:37 -05:00
74fd4bfadf Removed unneeded code 2022-08-23 11:34:13 -05:00
c374663b7c Merge branch 'weblate-twblue-twblue' into 'next-gen'
Translations update from Translations hub

See merge request twblue/twblue!4
2022-08-22 20:41:21 +00:00
0f3d7d8747 Translated using Weblate (Spanish)
Currently translated at 99.7% (794 of 796 strings)

Translation: TWBlue/TWBlue
Translate-URL: https://weblate.mcvsoftware.com/projects/twblue/twblue/es/
2022-08-22 15:40:45 -05:00
0a395af3a9 Updated changelog 2022-08-22 15:40:01 -05:00
José Manuel Delicado
f181c5d1cd Merge pull request #489 from riku22/japanese_translation
Update Japanese translation
2022-08-20 09:39:27 +02:00
riku
204b9ebc02 Update Japanese translation 2022-08-20 07:22:36 +09:00
0a479b55ed Merge branch 'weblate-twblue-twblue' into 'next-gen'
Translations update from Translations hub

See merge request twblue/twblue!3
2022-08-19 15:26:42 +00:00
Weblate
eb0c3a650a Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: TWBlue/TWBlue
Translate-URL: https://weblate.mcvsoftware.com/projects/twblue/twblue/
2022-08-18 12:17:12 -05:00
829506acf5 Updated main POT file 2022-08-18 12:05:38 -05:00
14ee87b25a Merge pull request #488 from nidza07/SerbianTranslation
Updated Serbian translation
2022-08-18 10:18:29 -05:00
ebdf2e21bb Merge pull request #487 from CoBC/fr_180822
Update French interface
2022-08-18 10:17:30 -05:00
Nikola Jovic
30a944fc61 Updated Serbian translation 2022-08-18 16:09:26 +02:00
Corentin Bacqué-Cazenave
5c0af2fc01 Update French interface 2022-08-18 15:33:02 +02:00
e470498e56 updated locales to make dates more standard as babel requires it to work properly 2022-08-17 10:55:55 -05:00
fa2d2d9d78 Improved sorting in conversation buffers 2022-08-17 10:09:32 -05:00
b9794806d7 Display error when attempting to open a TL for an unauthorized user. Closes #485 2022-08-16 17:11:50 -05:00
1e686cffba Merge pull request #486 from MCV-Software/autocomplete_redesign
Changes in user autocompletion feature. Closes #466. Closes #368
2022-08-03 11:56:13 -05:00
0f624c7dbe Updated changelog 2022-08-03 11:24:26 -05:00
76a5c960e5 Added user autocompletion functionality to some dialogs. Closes #466 2022-08-03 11:12:23 -05:00
aab8aafefc Introduced user selector controller for implementing user autocompletion in wxUI.dialogs.utils.selectUserDialog 2022-08-03 11:11:31 -05:00
015cf9eca3 Fixed small typo 2022-08-03 10:36:54 -05:00
769436abf7 Updated menu to avoid using deprecated wx methods 2022-08-03 09:53:35 -05:00
b2da25dd61 Updated code on controllers for changes in user autocompletion module 2022-08-03 09:52:09 -05:00
03f59064d5 Report amount of imported users after scan 2022-08-03 09:39:45 -05:00
9afd6774f2 Added a new and custom progress dialog for user scanning 2022-08-03 09:37:18 -05:00
a1929ff1d3 Make sure Show() is called for progress dialog 2022-08-02 09:06:46 -05:00
4b627a13ff Start a small refactor in GUI code 2022-07-29 17:54:34 -05:00
f9f7a32f90 Bind manage button with code to manage autocompletion db 2022-07-29 17:37:28 -05:00
f01ad5abb7 Return on exception 2022-07-29 17:27:48 -05:00
6fcd0274a9 Added exception handling to scan for users 2022-07-29 13:30:43 -05:00
654b34c8e1 Cleaned some unneeded dialogs 2022-07-29 12:11:27 -05:00
02e1793d08 cleaned scan controller and made progress dialog to work 2022-07-29 12:11:03 -05:00
6e80b320c9 Improved documentation in some classes 2022-07-29 12:08:05 -05:00
83c9db573e Added first stage of refactor for autocompletion users 2022-07-08 11:39:14 -05:00
3aee5e8900 Merge pull request #482 from riku22/japanese_translation
Update Japanese translation
2022-07-07 16:27:40 -05:00
riku
a88af08181 Update Japanese translation 2022-07-08 05:19:51 +09:00
79098cc730 Updated changelog 2022-07-07 11:17:57 -05:00
d12e3aa335 Merge pull request #480 from CoBC/fr_070722
Update French interface
2022-07-07 08:56:48 -05:00
Corentin Bacqué-Cazenave
1d8fcf9166 Update Frenchinterface 2022-07-07 15:45:38 +02:00
3702405f8c Merge pull request #479 from CoBC/tr_relationship
Add "Relationship" to translation
2022-07-07 08:41:40 -05:00
7ce55c427e Merge pull request #478 from nidza07/SerbianTranslation
Updated Serbian translation
2022-07-07 08:40:19 -05:00
508b798bee Merge pull request #477 from CoBC/fr_160622
Update french interface
2022-07-07 08:39:37 -05:00
53ac43a8b2 Merge pull request #476 from jeremyp3/issue-420
add shortcut for find dialog in Windows 10 and Windows 11 keymap fix #420
2022-07-07 08:38:18 -05:00
Corentin Bacqué-Cazenave
22b8d91612 Add "Relationship" to translation 2022-06-23 10:27:09 +02:00
Nikola Jovic
4f619759e6 Updated Serbian translation 2022-06-20 14:58:37 +02:00
Corentin Bacqué-Cazenave
0ac6f49379 Update french interface 2022-06-16 08:57:36 +02:00
Jeremyp3
b332902b91 add shortcut for find dialog in Windows 10 and Windows 11 keymap fix #420 2022-06-11 15:45:04 +02:00
a138b8c02e Started to document autocompltion users module 2022-05-26 05:45:46 -05:00
c89dff053d fixed error when sending a tweet to someone in any people buffer 2022-05-26 05:26:02 -05:00
018095752b Merge branch 'next-gen' of github.com:mcv-software/twblue into next-gen 2022-05-21 20:16:03 -05:00
bd90902e3b Fixed alternative updatefile 2022-05-21 20:15:36 -05:00
8bf9c6519e Improve text for direct messages when displayed via the templates system 2022-05-20 12:22:25 -05:00
bed8e26204 Fixed loading of other users lists. Fixes #465 2022-05-13 13:33:10 -05:00
fa9ebea836 Remove issue reporting dialogs as we no longer use mantis 2022-05-13 13:22:52 -05:00
be8d82a65f Merge pull request #471 from MCV-Software/demoji-support
Added setting to hide emojis in usernames
2022-05-13 13:16:02 -05:00
ab979e2623 Added setting to hide emojis in usernames 2022-05-13 13:04:12 -05:00
20ad268e5a Merge pull request #469 from riku22/fix_edit_person_template
Fix edit person template
2022-04-29 08:15:49 -05:00
riku
83c9a7f0f9 Fix edit person template 2022-04-29 21:45:06 +09:00
9d90d91cfd Merge branch 'next-gen' of github.com:mcv-software/twblue into next-gen 2022-04-06 15:13:22 -05:00
bbf1356c89 Fixed an error when parsing retweets containing quoted tweets in streaming API 2022-04-06 15:11:55 -05:00
485b4c3c6c Code cleanup 2022-03-24 10:39:20 -06:00
b35cdbd7b4 Added handlers to map features from different networks 2022-03-24 10:37:50 -06:00
67d15d8fe1 Merge pull request #462 from jonasmarques/next-gen
Fixed UTF8 display for translation  of reply to dialog
2022-02-25 11:23:26 -06:00
jonasmarques
3bd274db0c Fixed UTF8 display for translation of reply to dialog
The previous translations have a little bug who causes misspronounce in the reply to dialog. This was fixed.
2022-02-25 07:50:08 -03:00
6147ca8658 Merge pull request #460 from nidza07/SerbianTranslation
Updated Serbian translation
2022-02-24 17:13:04 -06:00
Nikola Jovic
7833522b56 Updated Serbian translation 2022-02-25 00:01:32 +01:00
dbafeb9872 Fixed some typos 2022-02-24 16:29:59 -06:00
c6865a7742 Remove some platform independent code for a while 2022-02-24 16:26:05 -06:00
fcb2ce119b Sorted imports on main controller 2022-02-24 16:18:01 -06:00
9f74d568f0 Add attribute type to mastodon session 2022-02-24 16:08:29 -06:00
e3137f4c3d Merge branch 'unittests' into mastodon 2022-02-24 15:07:11 -06:00
3f58112a61 Finished session manager refactoring 2022-02-24 14:00:07 -06:00
307085b0d5 Merge branch 'next-gen' into mastodon 2022-02-24 13:36:46 -06:00
44ea77b605 Added more docs 2022-02-24 13:35:47 -06:00
5e47e30bc3 Merge pull request #459 from jonasmarques/next-gen
Updated Brazilian Portuguese Translation
2022-02-24 13:33:35 -06:00
jonasmarques
c6a2ba6a31 Updated Brazilian Portuguese Translation
New entries  to pt_BR  translated. Just recompile it to work  on compiled version.
2022-02-24 16:23:17 -03:00
085c9038b5 Removed old imports used for python 2 2022-02-24 12:43:06 -06:00
af4e72ee27 Refactored SessionManager so it will use pubsub as a communication pattern between GUI and logic and adds mastodon auth 2022-02-24 12:25:45 -06:00
9322241747 Remove more unneeded code 2022-02-24 10:36:16 -06:00
116a0288d4 Removed code for old issue reporting module 2022-02-24 10:34:11 -06:00
d0322e7131 Merge branch 'next-gen' into mastodon 2022-02-24 10:24:12 -06:00
000cf1aff1 Merged latest code 2022-02-24 08:55:02 -06:00
2f0515a449 prepared everything for new version 2022-02-23 15:19:49 -06:00
ac9efd7550 Merge pull request #458 from riku22/japanese_translation
Update Japanese translation
2022-02-15 17:48:59 -06:00
riku
540a99f02f Update Japanese translation 2022-02-16 08:03:27 +09:00
8e95843634 Updated to Tweepy V4.5.0 2022-02-15 15:59:35 -06:00
cf56b518d6 Update Twitter session to Tweepy V4.5.0 2022-02-15 15:56:08 -06:00
1262a9d784 Merge branch 'next-gen' into unittests 2022-01-27 09:11:33 -06:00
7c85ceced1 Merge pull request #456 from CoBC/fr_260122
Update french translations
2022-01-26 16:18:04 -06:00
Corentin Bacqué-Cazenave
3d452b3db8 Update french translations 2022-01-26 18:27:32 +01:00
950ece43d5 Merge pull request #455 from manuelcortez/handle_protected_account_interactions
Protected account retweet restrictions
2022-01-25 12:04:21 -06:00
ac0e7380b0 TWBlue should not allow users to retweet or quote any protected account. Closes #454 2022-01-25 12:01:03 -06:00
6e0a94355f Improvements to template substitutions. Closes #452 2022-01-25 10:42:39 -06:00
e43ddad678 Catch image description sent by Streaming API. Should be enough to fix #449 2022-01-25 01:27:52 -06:00
c048c3ff32 Retrieve usernames for timelines from the local database, as opposed to use the last API call as this might not contain items at times 2022-01-25 01:26:23 -06:00
301e3d4361 Display properly HTML Entities in tweets 2022-01-10 05:30:14 -06:00
7a78accd1f Fixed a typo 2022-01-10 05:06:31 -06:00
d7afa77c49 Changed params names to avoid confussions 2022-01-10 05:05:27 -06:00
e7a30b418a Merge branch 'next-gen' into unittests 2022-01-10 04:48:10 -06:00
a645e0b964 TWBlue should no longer load old items in buffer 2022-01-10 04:35:23 -06:00
e8287c75cc Merge branch 'change_author_information' into 'next-gen'
Change author information

See merge request twblue/twblue!2
2022-01-10 00:07:36 +00:00
6a839baed7 Change author information 2022-01-10 00:07:36 +00:00
8924f787d4 Added unittest for tweet with multiple mentions 2022-01-07 17:44:15 -06:00
b81aff7f8d Fixed syntax error on linux module from keyboard_handler 2022-01-07 17:20:21 -06:00
1dfe256cfe Updated tests for templates 2022-01-07 13:31:15 -06:00
ee8e4b1d8b Added unit for a couple methods on templates 2022-01-07 12:47:34 -06:00
0317eff6a5 Moved current tests from unittest to pytest 2022-01-07 11:41:24 -06:00
793bd2cf5b Added pytest and coverage as dependencies so we can ensure unittests pass later 2022-01-07 08:38:47 -06:00
José Manuel Delicado
c0ee1d2c29 Merge pull request #448 from riku22/japanese_translation
Update Japanese translation
2021-12-29 09:12:01 +01:00
riku
9e6740253c Update Japanese translation 2021-12-29 15:54:17 +09:00
c08eb499e1 Merge pull request #446 from CoBC/fr_271221
Some french fixes
2021-12-28 18:39:02 -06:00
Oreonan
5d0e1f38ab Some french fixes 2021-12-27 23:26:40 +01:00
1d60751dbd Merge pull request #445 from CoBC/fr_221221
Update french interface
2021-12-22 12:40:59 -06:00
Oreonan
b23915e546 Update french interface 2021-12-22 18:30:46 +01:00
c8da3bdfdb Fixed indentation error 2021-12-22 08:22:36 -06:00
ebf7916ae0 Merge pull request #444 from manuelcortez/error_saving_config
Fixed TWBlue asking for a restart due to old reference to the events …
2021-12-22 08:16:07 -06:00
33338ba09a Merge pull request #442 from manuelcortez/templates
Add Templates for invisible interface
2021-12-22 08:15:45 -06:00
8b50f3138c Merge pull request #359 from guredora403/configration_invalid
add: configration invalid error dialog
2021-12-22 08:15:20 -06:00
ae28c374d5 Merge pull request #440 from nidza07/Win11Keymap
Updated Windows 11 keymap
2021-12-22 08:14:44 -06:00
5a2786967b Merge branch 'next-gen' into configration_invalid 2021-12-21 15:58:30 -06:00
ed765117a5 Merge branch 'next-gen' into Win11Keymap 2021-12-21 15:45:06 -06:00
911e8d3cfd Fixed TWBlue asking for a restart due to old reference to the events buffer in settings. Fixes #413 2021-12-21 15:35:35 -06:00
b6ae9f4b79 Updated changelog 2021-12-21 15:10:12 -06:00
a74825a0f6 Add missing string to translation catalogs 2021-12-21 13:57:32 -06:00
445c33f003 Add default templates to translation catalog 2021-12-21 13:56:29 -06:00
81963dbb53 Updated sent direct messages template 2021-12-21 13:55:48 -06:00
b4526c12c9 Integrate template edition into account settings dialog 2021-12-21 13:21:58 -06:00
b2f9aef7f7 Added edit template controller 2021-12-21 12:11:12 -06:00
95063cd472 Added restore button for template edit dialog 2021-12-21 12:10:15 -06:00
4434a5b971 Added dialog for editing templates 2021-12-21 09:20:59 -06:00
2de9f8f9b3 added all variables available for template objects 2021-12-20 16:03:21 -06:00
a6ecd37547 Implement users template in Twitter buffers 2021-12-13 09:54:06 -06:00
03c330c0a4 Added default template for Twitter user objects 2021-12-13 09:53:44 -06:00
ab1a0946a4 Added rendering function for twitter user objects 2021-12-13 09:52:52 -06:00
1f253221b3 Merge branch 'next-gen' of github.com:manuelcortez/twblue into next-gen 2021-12-10 17:27:15 -06:00
58ba722bd7 Added templates for direct messages and sent direct messages 2021-12-10 17:15:24 -06:00
416151570c Request image description features for all created buffers by default 2021-12-10 15:23:41 -06:00
af4594f16c Render tweets for invisible interface from template specified in config 2021-12-10 15:22:42 -06:00
a47fa31346 Use session to retrieve users in templates, when applied to reduced tweets 2021-12-10 15:04:05 -06:00
40e13250ca Added a base template for tweets 2021-12-10 13:36:08 -06:00
0bd366c539 Added first draft to a new templating system which could be used in invisible interface for now 2021-12-10 13:32:46 -06:00
b67fc0ff38 Made some cleanup in unneeded imports 2021-12-10 09:53:49 -06:00
86a2eb7c0d Restored conversation and threads support powered by Twitter API V2 2021-12-09 10:46:07 -06:00
78c10b38e5 Fixed issue when sending tweets and replies with images 2021-12-08 12:49:20 -06:00
Nikola Jovic
cfd4fd12d3 Updated Windows 11 keymap 2021-11-17 19:35:02 +01:00
José Manuel Delicado Alcolea
806111c36e Included more dependencies in the setup script 2021-11-15 13:04:18 +01:00
7bfbadc254 Update write_version_data 2021-11-12 15:01:54 -06:00
3ccb3a5be5 Updated Spanish locale 2021-11-12 13:33:54 -06:00
José Manuel Delicado Alcolea
f264f3807f Updated Windows dependencies 2021-11-12 09:08:50 +01:00
3902a57d6b Merge pull request #437 from riku22/japanese_translation
Update Japanese translation
2021-11-11 17:48:16 -06:00
riku
485e5ecbd1 Merge branch 'next-gen' into japanese_translation 2021-11-12 08:26:14 +09:00
riku
f7a50d22e2 Update Japanese translation 2021-11-12 08:23:24 +09:00
43b1a834d1 Merge branch 'next-gen' of github.com:manuelcortez/twblue into next-gen 2021-11-11 15:14:38 -06:00
d6571a95cb Quote tweets properly according to Twitter's API V2 docs 2021-11-11 15:13:58 -06:00
4ba2753b79 Merge pull request #435 from nidza07/SerbianTranslation
Updated Serbian translation
2021-11-11 12:39:48 -06:00
6951541193 Merge pull request #434 from Oreonan/fr_111121
Update french interface
2021-11-11 12:39:27 -06:00
b329ac8e3e Improved a little bit text dialogs's size for sending tweets, replies and dm's 2021-11-11 12:33:38 -06:00
538d6137d0 Limit Poll options to 25 characters each 2021-11-11 08:37:07 -06:00
622b0e6128 Access correctly on_reply_to_tweet_id from the dict response returned by call to V2 API 2021-11-11 08:36:29 -06:00
Nikola Jovic
0e91ca3d4d Updated Serbian translation 2021-11-11 01:30:30 +01:00
Oreonan
8abcb3623d Update french interface 2021-11-11 01:09:19 +01:00
b3bf0ab8e6 Removed calls to SetMaxLength in dialogs 2021-11-10 17:35:24 -06:00
eea059b905 Merge pull request #433 from manuelcortez/new_tweet_dialogs
New tweet dialogs
2021-11-10 17:17:50 -06:00
e9f6fd529e Updated changelog 2021-11-10 16:32:39 -06:00
b0cfc5978c Updated reply dialog with some changes in add menu 2021-11-10 16:32:14 -06:00
77d13fdc28 Added support for posting polls 2021-11-10 15:14:57 -06:00
514e66411d Merge branch 'new_tweet_dialogs' of github.com:manuelcortez/twblue into new_tweet_dialogs 2021-11-10 12:36:02 -06:00
d9f4b86d91 Empty attachments after adding a new tweet 2021-11-10 12:35:43 -06:00
a6964a1bb9 Merge pull request #432 from Mohamed00/shortcut
Fixes
2021-11-10 12:30:08 -06:00
a43101e694 Reimplemented direct messages with support for media 2021-11-10 12:21:07 -06:00
Mohamed
9e7542f513 Removed url_shortener import 2021-11-10 13:01:24 -05:00
Mohamed
6346651edf Added a shortcut for the add new tweet button 2021-11-10 12:53:34 -05:00
1e2464c4fa Made Dm dialog to hide attachments panel when needed 2021-11-10 11:36:06 -06:00
dbecf341ec Stop using text_processor in tweet displayer 2021-11-10 11:24:50 -06:00
605868eff9 Added functions to make TWBlue respect Twitter limits when adding media items 2021-11-10 09:47:53 -06:00
8fed52118f Finished implementation of new tweet and reply calls in buffers 2021-11-09 13:46:36 -06:00
15d0f4c65e Restored some imports on dialogs 2021-11-09 13:34:49 -06:00
a2393fe3e9 Updated dialogs package 2021-11-08 17:20:16 -06:00
80adf381c9 Implemented new GUI in people and direct message buffers 2021-11-08 17:19:12 -06:00
269db95fe3 Implemented code to quote Tweets by using the new GUI 2021-11-08 16:44:03 -06:00
cfc25eb89a Implemented tweet, reply and direct message in base buffer 2021-11-08 16:14:45 -06:00
2b6efef831 Update code on autocompletion users module to use WX methods from controls in the new Tweet GUI'S 2021-11-08 16:13:59 -06:00
f0456af656 Fixed an issue when uploading Videos to Twitter 2021-11-08 16:12:47 -06:00
6d505c6fe7 Added new code for Tweet GUI and attachment of photos and gifts 2021-11-08 16:11:09 -06:00
38e3274adc Removed GUI for tweets/reply/dm/viewTweets items and attachment code 2021-11-08 16:09:32 -06:00
2c70fe46b7 Removed url_shortener from sound handling module 2021-11-08 15:30:40 -06:00
1c8ee1a64f Removed URL Shorteners 2021-11-08 15:29:23 -06:00
076761b9dd Merge branch 'next-gen' of gitlab.com:twblue/twblue into next-gen 2021-11-07 06:36:03 -06:00
556ffd832b Updated translation machine catalog for french translation 2021-11-07 06:34:27 -06:00
cedb290956 fixed an issue when deleting a buffer in a session where there were trending topics opened 2021-11-05 22:35:50 -06:00
66bf95ee62 Added reply function to session module 2021-11-05 13:10:45 -06:00
4f0db5537e Added function to send tweets and threads in session module so it will be used globally later 2021-11-05 11:49:51 -06:00
José Manuel Delicado
7c5c191deb Merge pull request #428 from riku22/japanese_translation
Update Japanese translation
2021-11-04 23:31:27 +01:00
riku
0cf0a64f40 Update Japanese translation 2021-11-05 07:15:33 +09:00
714d849884 Merge branch 'next-gen' of github.com:manuelcortez/twblue into next-gen 2021-11-04 11:17:25 -06:00
a80184bf20 Restored conversation support with API V1 as V2 hits the limits quickly. Closes #427 2021-11-04 11:17:07 -06:00
José Manuel Delicado
46fb00e609 Merge pull request #426 from Oreonan/fr_031121
Update french interface
2021-11-04 17:09:50 +01:00
Oreonan
4ddb406c8d Reduce texts 2021-11-04 17:00:59 +01:00
6b9540a0a8 Added a base mastodon buffer GUI 2021-11-03 13:16:39 -06:00
5687cf6a62 Move Twitter buffers to a specific package 2021-11-03 13:00:35 -06:00
1fd2b5914b Merge branch 'next-gen' into mastodon 2021-11-03 12:31:51 -06:00
924f5d8e9f Updated main controller file 2021-11-03 12:30:46 -06:00
13c441557b Updated manual 2021-11-03 12:30:06 -06:00
Oreonan
2c4ec7b1c0 Update french interface 2021-11-03 18:58:59 +01:00
c4b7c35c7f Updated changelog 2021-11-03 09:49:52 -06:00
2d46315de9 Removed old pyinstaller file 2021-11-03 09:31:23 -06:00
6904c153d4 Display error if user has not provided a name for a filter upon creation 2021-11-03 09:10:35 -06:00
8b06437cad Started to update documentation 2021-11-02 17:52:07 -06:00
c3261a4e2c Updated sintax for doc and changelog locales 2021-11-02 10:59:03 -06:00
9f7892ff03 Updated spanish translation for changelog 2021-11-02 10:11:24 -06:00
ab44ce6fcb Rebuilt documentation generators 2021-11-01 17:18:49 -06:00
ed80558273 Remove BOM from changelog 2021-11-01 17:04:03 -06:00
60a67947e6 Updated Pygettext to Python 3.7.9 2021-11-01 10:03:51 -06:00
8a8f1998ac Added usable appkeys for sources 2021-11-01 09:58:57 -06:00
cd415ba673 Merge pull request #422 from riku22/japanese_translation
Update Japanese translation
2021-11-01 05:48:03 -06:00
f9e58b5724 Updated Spanish Translation for app's interface 2021-11-01 05:46:44 -06:00
riku
94ca935b2f Updated Japanese translation 2021-11-01 20:37:39 +09:00
84fa2fad91 Fixed title for Trending topic buffers after a restart. Closes #421 2021-11-01 05:18:46 -06:00
ff0a2b5692 Retrieve all tweets from a thread properly. closes #417 2021-11-01 00:11:46 -06:00
b39b732a93 Updated Readme 2021-10-31 19:32:50 -06:00
b04a1c74a7 Fixed a bug when clearing direct messages buffer. Closes #418 2021-10-31 19:29:11 -06:00
ffb11b8226 Updated changelog 2021-10-31 19:27:59 -06:00
5a6dc23524 Write secrets from CI environment 2021-10-30 01:34:37 -05:00
0e2ff4de8a Use latest available python version on package manager 2021-10-29 22:46:12 -05:00
36340d0596 Moved to python 3.7.10 to test if build passes properly 2021-10-29 22:38:44 -05:00
92ec178754 Merge branch 'next-gen' of gitlab.com:twblue/twblue into next-gen 2021-10-29 15:48:03 -05:00
5eb942981c Added some changes to setup file for the CI config 2021-10-29 10:58:30 -05:00
6739045cce Fixed manual addition of users to the autocomplete users database 2021-10-28 13:18:02 -05:00
307ed093af Merge pull request #414 from manuelcortez/improved_conversations
Improve conversation Support
2021-10-28 12:45:32 -05:00
d11fc44772 Read keys from environment 2021-10-28 12:44:50 -05:00
a3e5eec6de Merge branch 'next-gen' into improved_conversations 2021-10-28 12:39:55 -05:00
41a0935121 Merge branch 'next-gen' of github.com:manuelcortez/twblue into next-gen 2021-10-28 12:39:09 -05:00
0b03e7505f Conversation support improved via V2 searches 2021-10-28 12:28:19 -05:00
José Manuel Delicado
81c364c4e1 Merge pull request #412 from Oreonan/fr_281021-2
Small french fixes
2021-10-28 18:45:44 +02:00
Oreonan
483b196203 Fix small error 2021-10-28 18:30:05 +02:00
Oreonan
b512c69447 Remove old translations 2021-10-28 18:28:34 +02:00
2c1608322e Merge pull request #410 from Oreonan/fr_281021
Update french interface
2021-10-28 10:14:49 -05:00
c6bb851bce Merge pull request #411 from nidza07/SerbianTranslation
Updated Serbian translation
2021-10-28 10:14:25 -05:00
Nikola Jovic
66581f8b1c Clarify a string better 2021-10-28 17:03:52 +02:00
Nikola Jovic
c6a3a44c21 Updated Serbian translation 2021-10-28 16:58:11 +02:00
bd25cfa59b Merge branch 'next-gen' of github.com:manuelcortez/twblue into next-gen 2021-10-28 08:38:05 -05:00
Oreonan
39a02ea33a Update french interface 2021-10-28 12:33:52 +02:00
f672dca1cb Merge branch 'next-gen' of gitlab.com:twblue/twblue into next-gen 2021-10-27 21:47:37 -05:00
19c63b7b07 Merge branch 'next-gen' of github.com:manuelcortez/TWBlue into next-gen 2021-10-27 21:47:03 -05:00
e23a52e38f Changes in TWBlue keys 2021-10-27 15:29:15 -05:00
José Manuel Delicado Alcolea
d888563fda Updated Api keys 2021-10-27 22:00:58 +02:00
a5ba80feee Final touches 2021-10-26 16:18:53 -05:00
528ecc2a33 Updated NSI file 2021-10-26 16:16:03 -05:00
3519746078 Move installer Nsis file to a new name 2021-10-26 15:47:03 -05:00
ef79e0696e Move updated Nsis script to artifacts in build stage 2021-10-26 15:19:57 -05:00
b9ee0dae5b Fixed a typo in installer script 2021-10-26 14:48:58 -05:00
f31575a733 Merge pull request #408 from manuelcortez/calendar_versioning
Switch to Calendar versioning
2021-10-26 13:52:21 -05:00
e451bbd5e9 Merge pull request #407 from manuelcortez/alias_manager
Alias manager Dialog. Closes #401
2021-10-26 13:51:09 -05:00
f7f303929e Updated CI config 2021-10-26 13:41:22 -05:00
9f48784ce4 Added script to add next version in application.py and installer generation files 2021-10-26 13:39:50 -05:00
cb1312d0c9 Changed version in installer so it will be easier to replace it later by the authomatic script 2021-10-26 13:38:21 -05:00
a82efd4dcc Fixed a typo 2021-10-26 13:16:31 -05:00
72e6d030d5 Updater no longer will try to compare float numbers for updates 2021-10-26 13:10:57 -05:00
d222740887 Updated gitlab CI 2021-10-26 13:04:49 -05:00
2b059ee42e Modified Nsis scripts to remove references to old snapshots code 2021-10-26 13:02:24 -05:00
daac312658 Removes snapshot information from app info 2021-10-26 12:43:03 -05:00
b23be9c896 Started to remove stable and snapshot update information files 2021-10-26 12:40:57 -05:00
61b0dc34b8 Merge branch 'next-gen' into alias_manager 2021-10-26 10:48:43 -05:00
c5d13369eb Merge branch 'next-gen' of github.com:manuelcortez/twblue into next-gen 2021-10-26 10:47:55 -05:00
856ecf5eb9 Merge branch 'next-gen' of github.com:manuelcortez/twblue into alias_manager 2021-10-26 10:46:30 -05:00
e3e0ac9457 Added an alias manager dialog in the application menu 2021-10-26 10:45:11 -05:00
fccf02794c Merge branch 'next-gen' of gitlab.com:twblue/twblue into next-gen 2021-10-23 19:16:33 -05:00
34c1f69ec1 Merge pull request #404 from nidza07/SerbianTranslation
Updated Serbian translation
2021-10-22 12:57:58 -05:00
7326ff88f9 Merge pull request #405 from Oreonan/fr_211021
Update french interface
2021-10-22 12:56:55 -05:00
Oreonan
a8d876a7b7 Fix last-translator e-mail 2021-10-21 17:02:03 +02:00
Oreonan
89fa6435b4 Update french interface 2021-10-21 16:58:32 +02:00
Nikola Jovic
d1bd393be2 Updated Serbian translation 2021-10-21 16:30:46 +02:00
301bd5fd39 Pushed a new snapshot 2021-10-20 15:52:58 -05:00
José Manuel Delicado Alcolea
a2f25bfbb5 Added charset-normalizer to requirements 2021-10-12 17:05:09 +02:00
286e030f40 Handle new Tweepy exceptions properly. #403 2021-10-07 09:20:06 -05:00
d8fca3b31a Initial work to Support Tweepy 4 2021-09-26 03:58:25 -05:00
0c27427843 Merge branch 'next-gen' of github.com:manuelcortez/twblue into next-gen 2021-09-10 15:05:28 -05:00
dfdbe3c5f4 Close VLC window after video playback ends. Close #399 2021-09-10 15:05:05 -05:00
José Manuel Delicado
2222a97451 Merge pull request #394 from Oreonan/fr_020821
Update french interface translation
2021-09-03 11:38:50 +02:00
fbe93ea4be Made FreakyBlue The default soundpack for new twitter sessions 2021-09-02 09:59:13 -05:00
4bcae1aa97 Fixed search filters. Closes #397 2021-09-02 09:38:05 -05:00
4cabf5b9cd Added code to handle user timelines in buffer creator 2021-08-31 10:31:18 -05:00
a9a4189295 Added improvements to tweet condense feature 2021-08-31 10:05:21 -05:00
c7b6d69518 Fixed an error in new buffer creation. Closes #396 2021-08-30 13:19:15 -05:00
65512a9862 Added a pubsub event to create sessions buffers 2021-08-30 10:51:26 -05:00
Oreonan
17ea8af050 Update translation 2021-08-28 08:37:26 +02:00
Oreonan
43578a32eb Merge remote-tracking branch 'origin/next-gen' into fr_020821 2021-08-28 08:33:40 +02:00
d863aafa8c Added mastodon.py to the list of dependencies 2021-08-27 15:47:04 -05:00
5bce84b786 Added default config template for Mastodon 2021-08-27 15:43:20 -05:00
9eab9ad5f0 Added Mastodon authorisation and authentication methods in a session. Added get_user_info, get_lists, get_muted_users 2021-08-27 15:42:34 -05:00
7c34204d17 Allow to specify alternative configuration specs for sessions 2021-08-27 13:45:59 -05:00
3a5c1c10d3 Released a new snapshot 2021-08-26 15:13:34 -05:00
f9864a887d Fixed a small traceback that was happening when translating a direct message 2021-08-26 09:16:02 -05:00
3d8519313e Switched Geocoding library to OpenStreetMap's Nominatim API. Closes #390 2021-08-26 08:56:51 -05:00
f4ecf10885 Allow to copy tweet URLS from tweet displayer dialog 2021-08-25 16:30:37 -05:00
c67b415934 Updated changelog 2021-08-25 12:49:53 -05:00
10511d3022 Improvements to reading tweets with many mentions on them 2021-08-25 11:13:12 -05:00
Oreonan
ddc80a29fd Update french interface translation 2021-08-02 19:30:24 +02:00
9ea36a26d2 Updated changelog with windows 11 keymap 2021-07-31 22:33:32 -05:00
97286496fc fixed changelog in diverged commits 2021-07-31 22:28:46 -05:00
José Manuel Delicado
6436af76f5 Merge pull request #393 from jpavonabian/windows11
Added a fix.
2021-07-28 07:50:38 +02:00
Jesus
576b5064c0 Added a fix. 2021-07-28 07:23:57 +02:00
José Manuel Delicado
342265b3c0 Merge pull request #392 from jpavonabian/windows11
Fixed shortkuts
2021-07-26 13:38:32 +02:00
Jesus
54938ecb6c Fixed shortkuts 2021-07-26 12:47:51 +02:00
José Manuel Delicado
7aff8252d2 Merge pull request #391 from jpavonabian/windows11
Keypad for windows 11
2021-07-24 12:46:43 +02:00
Jesus
9c680130f7 Keypad para windows 11 2021-07-24 06:24:08 +02:00
24d1ad093d Streaming API: Ignore retweets if original tweet is present in a buffer 2021-07-16 10:22:51 -05:00
b2b9cd810f Fixed an issue when indefined keystrokes 2021-07-13 17:53:01 -05:00
582be54dea Added add_alias action to keymaps as undefined 2021-07-13 17:25:48 -05:00
ff0fbeafa3 Modified keystrokeEditor to allow undefined keystrokes 2021-07-13 17:22:20 -05:00
e314cf0599 Allow search users by names in autocomplete users 2021-07-10 05:24:56 -05:00
José Manuel Delicado Alcolea
e7b72112cf Merge branch 'next-gen' of github.com:manuelcortez/TWBlue into next-gen 2021-07-07 08:42:14 +02:00
José Manuel Delicado Alcolea
70c095febe setup.py: patch cx_freeze to include our Microsoft Visual C++ runtime files 2021-07-07 08:41:08 +02:00
6119b029f8 Merge pull request #388 from zstanecic/next-gen
Updated russian interface
2021-07-06 17:13:59 -05:00
b74cd9a73d Ignore undefined actions in keymaps 2021-07-06 17:01:42 -05:00
8ff6809f08 Updated changelog 2021-07-06 16:22:52 -05:00
39af9d8623 Merge pull request #389 from manuelcortez/user_alias
User aliases within TWBlue
2021-07-06 15:58:54 -05:00
3688d7548c Check alias before returning any user object 2021-07-06 13:59:34 -05:00
07f9afb14e Added option to user menu in the menu bar 2021-07-06 13:58:34 -05:00
de12dadac2 Added GUI for user alias addition 2021-07-06 13:58:13 -05:00
877c909482 Added user-aliases section on session configs 2021-07-06 13:56:56 -05:00
José Manuel Delicado Alcolea
1206aba83b Added a few more dependencies to requirements.txt 2021-07-06 20:42:03 +02:00
zstanecic
fcd631b2de Merge remote-tracking branch 'upstream/next-gen' into next-gen 2021-07-06 19:16:47 +02:00
Jose Manuel Delicado
86130954d7 Updated Windows dependencies. Latest versions of NSIS and VLC, among others 2021-07-06 12:39:47 +02:00
Jose Manuel Delicado
23a56c637d Add some indirect dependencies to requirements.txt in order to easily keep them updated 2021-07-05 23:03:40 +02:00
zstanecic
d5ac0db67b updated the russian localization. 2021-07-05 16:04:19 +02:00
bb4869b7be Pushed a new snapshot 2021-07-04 17:05:06 -05:00
44b6e82183 Fix reply dialog issue 2021-07-04 11:50:03 -05:00
Jose Manuel Delicado
5268f166f8 Use Python 3.8.10 for automated builds 2021-07-04 18:43:33 +02:00
Jose Manuel Delicado
37ad6b5fbf paths.py: replace socializer by TW Blue in data_path function definition 2021-07-04 18:32:17 +02:00
Jose Manuel Delicado
bcc72c932d Updated Windows dependencies. Python 3.8.10 2021-07-04 18:26:49 +02:00
b9a9bd03c2 Pushed a new snapshot 2021-07-04 09:47:33 -05:00
e6543bcf77 Allow streaming API support to be disabled from global settings dialog 2021-07-04 09:44:48 -05:00
03b61946f8 Fixed user searches 2021-07-04 09:43:53 -05:00
8fe2f4c64d Exclude muted users from Streaming API 2021-07-04 09:15:04 -05:00
37af722556 Fixed alpha version for snapshots 2021-07-04 06:15:40 -05:00
4312ad82e7 Fixed runner config 2021-07-04 05:51:59 -05:00
e9e8a8fba9 Pushed a new snapshot 2021-07-04 05:43:06 -05:00
5cad4ab2a7 Restore get_all_users and get_all_mentionned in nested tweets 2021-07-04 05:31:27 -05:00
01dd93e076 Show all current account replies in streaming API 2021-07-04 05:30:52 -05:00
d301f841e3 TWBlue should stop showing sent retweets as original tweets in Streaming API 2021-07-04 05:02:02 -05:00
81d18d4656 Updated changelog 2021-07-04 04:47:13 -05:00
ccba22cfd2 Show dialog on suspended users again. closes #387 2021-07-03 14:09:52 -05:00
465b550c30 Removed old code to deal with invalid users 2021-07-03 14:05:02 -05:00
788811bf6c Ensure a tweet is reduced when sent by streaming API 2021-07-03 14:04:14 -05:00
c926355048 Hide replies to users the current account doesn't follow in streaming API 2021-07-03 11:52:21 -05:00
84cbf5c497 Fix yet another error due to reduced tweets 2021-07-03 11:51:43 -05:00
7eb2d8930f Fixed traceback happened when attempting to send streaming data to not logged sessions 2021-07-03 11:51:11 -05:00
864ebdf96d Made widgetUtils available to searchBuffers 2021-07-02 17:57:39 -05:00
ee9a92bcb4 Makes time available on conversation buffers 2021-07-02 17:53:05 -05:00
818bc243e4 Handle Twyshort's detection for reduced tweets 2021-07-02 17:34:40 -05:00
062289a977 Merge pull request #385 from manuelcortez/streaming
Streaming API support
2021-07-02 17:29:10 -05:00
56a1c57e04 Merge pull request #386 from manuelcortez/buffer_modularization
Separate all buffers in modules for an easier work with code
2021-07-02 17:27:48 -05:00
3c7063792c Separate all buffers in modules for an easier work with code 2021-07-02 17:22:24 -05:00
77eadb42bb Make sure to disconnect the streams as tweepy implements it 2021-07-02 10:35:20 -05:00
9053fcd5de Send Tweets to mentions properly 2021-07-02 10:11:50 -05:00
5f11467f27 Switched threads to our own facilities and attempts to improve thread management for streaming endpoints 2021-07-02 09:52:21 -05:00
55b1c7bdae Integrates Tweepy's 68e19cc for preventing Urllib3 ProtocolError 2021-07-02 09:50:22 -05:00
ba90842185 Initial work to put tweets in mentions, sent and timelines 2021-06-29 17:55:36 -05:00
8fd3041efd Added some reconnection code and logging 2021-06-29 17:16:53 -05:00
bb5ead80de Parse correctly incoming tweets from Streaming API 2021-06-29 05:05:20 -05:00
168c7e7a5d Initial test for supporting a subset of the Streaming API 2021-06-28 17:03:26 -05:00
a7838bbf7d Next snapshots will have installer and 64 bits version. Switched to Gitlab CI to generate snapshots. 2021-06-28 10:23:39 -05:00
fe8b58a7b9 Include quoted tweets and retweets in audio detection and playback 2021-06-28 10:20:39 -05:00
a9f52b3a94 Added convert_bytes function to show correctly FTP upload progress 2021-06-28 06:01:05 -05:00
13c47f7b9f Fixed branch name 2021-06-28 05:28:15 -05:00
3515df9b15 Upload files to FTP server after generating snapshots 2021-06-28 05:26:42 -05:00
f998fa62a6 Added missed move command 2021-06-28 04:50:36 -05:00
a6032cae46 Added make_archive as a script 2021-06-28 04:30:42 -05:00
7935f79d77 fixed a syntax error 2021-06-28 04:20:54 -05:00
ef443346d1 Try to generate zip versions and installers 2021-06-28 04:16:59 -05:00
a27eee1fa2 Add submodules 2021-06-28 03:40:00 -05:00
b839dc077c Updated a small typo 2021-06-28 03:29:27 -05:00
2b719858c2 Initial implementation of gitlab's CI file 2021-06-28 03:28:43 -05:00
97afc379e8 Pushed a new snapshot 2021-06-28 00:47:23 -05:00
7f401ba789 Removed unneeded locales 2021-06-28 00:39:45 -05:00
ff22ae5653 Merge branch 'next-gen' of https://github.com/manuelcortez/twblue into next-gen 2021-06-28 00:38:54 -05:00
02d94fcea0 Fixed a small issue when loading a conversation buffer 2021-06-28 00:36:53 -05:00
df2015f360 Merge pull request #384 from manuelcortez/twitter_videos
Support for Twitter video playback
2021-06-27 23:40:11 -05:00
64a14c831b Added initial support for playback of Twitter videos (only works in tweets so far) 2021-06-27 21:40:22 -05:00
fbbe7852c2 Added serbian to generate documentation 2021-06-27 20:57:13 -05:00
9dfccd2bd0 Updated documentation generators 2021-06-27 20:55:16 -05:00
969a75e9f3 Merge pull request #380 from manuelcortez/better_memory_management
Replace the cache database for a SQLite backed implementation
2021-06-27 19:10:50 -05:00
a59ba5ef78 Reset cache every time we call to save_persistent_data in tests 2021-06-27 19:09:49 -05:00
3ebfdbc48b Request for a restart when switching memory cache 2021-06-27 19:09:21 -05:00
8db14a95c1 Call reduce.reduce_tweet and session.save_users when retrieving previous items for a buffer 2021-06-27 18:07:56 -05:00
1b9062d86f aHandles deleted users for direct messages without wasting too many API calls 2021-06-27 18:05:35 -05:00
4b60a79e49 Made get_all_mentioned to take into account sometimes tweets might have no entities defined 2021-06-27 18:04:26 -05:00
002e1ccb55 If get_user is called with a full user object as an argument, logs it and changes the object to be only the user_id 2021-06-27 16:03:36 -05:00
0bcdf88290 Merge pull request #382 from nidza07/SerbianTranslation
Added Serbian documentation and changelog.
2021-06-27 02:35:55 -05:00
0612c653b8 Make TWBlue to respect persist_size when loading the cache database. Added tests for both reading from disk and loading in memory caches 2021-06-27 02:32:28 -05:00
nikola nikola
c5dadb063a Added Serbian documentation and changelog. 2021-06-27 04:22:02 +02:00
35d6010298 Save tweets cache by taking into account persist_size 2021-06-26 15:16:50 -05:00
40a63d9e16 Merge pull request #381 from nidza07/SerbianTranslation
Updated Serbian translation.
2021-06-26 02:16:13 -05:00
5712dd735b Added a new setting in account dialog to control whehter we load the cache db into memory or read it from disk 2021-06-26 01:52:07 -05:00
2c75ea5005 Fixed a small issue referencing an user in the old way while retrieving all mentioned users in a tweet 2021-06-26 01:50:47 -05:00
e35f37fcc2 Updated changelog 2021-06-26 01:49:55 -05:00
71358ea74d changed function names and cleaned code a little bit to reflect better the changes to object percistance 2021-06-25 23:35:33 -05:00
b8f822830f Added proper docstrings to reduce twitter objects 2021-06-25 22:47:10 -05:00
74e4fe6357 Ensure direct message buffers are correctly saved in database 2021-06-25 16:49:23 -05:00
77bee64421 Pass a null value to tweepy.models.Status as sometimes database saved objects might not include it 2021-06-25 16:48:44 -05:00
c761230566 Reduce the size of all tweets so it might make easier to handle those in a realtime database 2021-06-25 16:25:51 -05:00
49505fabcd Modify utils so those will take into account that entities might be not present in tweet objects 2021-06-25 13:14:01 -05:00
4ad01d7833 Retrieve user objects from the users list stored in SqlDict as opposed to loading it from tweet objects 2021-06-25 13:13:00 -05:00
ab1a13f886 Improve save_users() and get_user() as those will be used in more places later 2021-06-25 13:11:33 -05:00
nikola nikola
44c25e54f8 Updated Serbian translation. 2021-06-25 18:33:16 +02:00
cdabd6f055 Merge branch 'next-gen' into better_memory_management 2021-06-24 09:54:45 -05:00
60144a6b08 Added initial support to SqliteDict package 2021-06-24 09:52:10 -05:00
382acf7c8c Use slitedict to attempt to reduce memory usage when caching tweets 2021-06-23 13:40:21 -05:00
José Manuel Delicado
03ba59028f Merge pull request #379 from ivnc/next-gen
Fix arrow for Galician
2021-06-23 20:05:24 +02:00
Iván Novegil
50125fc55a Fix arrow for Galician. Modify some existing translations to localize them properly 2021-06-23 18:45:33 +02:00
39e1fb017c Made code indentation to comply with PEP8 2021-06-16 16:18:41 -05:00
2aaa4eced3 Removed Catala and Basque locale as they are in arrow already. Disabled Galician locale cause it's not fully implemented and fails 2021-06-16 16:17:16 -05:00
José Manuel
6d2eac5b1c Merge pull request #332 from Oreonan/fr-04062020
Some changes for french translation
2021-05-29 21:56:33 +02:00
Oreonan
40040d1b17 Merge branch 'next-gen' into fr-04062020 2021-05-14 21:24:46 +02:00
2a791d43bf Fixed an error when parsing a DM sent from an deleted account 2021-05-14 09:52:19 -05:00
b10aeb046d Changed label of direct message's text field so it will not reference any username in the hint. Closes #366 2021-05-07 17:18:21 -05:00
7d6e230fd9 Fix issue that avoids TWBlue to use Shift+F10 as menu key. Fixes #353 2021-05-07 16:52:10 -05:00
9346bba7a0 Fixed a small bug when sending long tweets via twyshort 2021-05-03 10:05:14 -05:00
30f739c42e Updated version to a new snapshot 2021-04-19 16:51:26 -05:00
eb0679cb96 Make unexistent users to throw an error when loading a timeline 2021-04-17 13:00:30 -05:00
45deae3402 Fixed rendering of retweets of quoted tweets. Fixes #365 2021-03-09 16:41:58 -06:00
5b0b26799d Install platform_utils, accessible_output2, libloader and sound_lib from upstream. Closes #369 2021-03-09 16:36:23 -06:00
ee234b80a7 Fixed error when parsing long tweets. 2021-03-09 11:35:52 -06:00
0065af2aef Avoid removing buffers when api_error=130 2021-02-25 16:57:32 -06:00
9c086cfa0f Prevend some errors to be identified as current user being blocked 2021-02-11 12:50:09 -06:00
2f263a23b7 Avoid giving false positive errors when buffers are updating 2021-02-10 09:34:30 -06:00
9cb6eafbbc Fixed issue in autocomplete users feature. closes #367 2021-02-04 12:30:20 -06:00
cba7c39a0e Updated to snapshot 4 2021-01-27 17:49:59 -06:00
e2e8b84e6a Fixed focus when search dialog opens. Fixes #364 2021-01-27 17:32:12 -06:00
eca0c0dbbd Fixed shelve method 2021-01-27 17:31:14 -06:00
36cc3f9365 Fix call to retrieve muted user IDS on twitter session 2021-01-27 17:30:10 -06:00
63d7cbe7c4 Implemented user searches. 2021-01-27 16:27:33 -06:00
ae57cc3404 Retrieve up to 5000 users when getting list IDS 2021-01-27 15:03:47 -06:00
23df8f8a7f Updated python version in CI config file 2021-01-27 14:00:29 -06:00
2f278b7f3c Removed yet another reference to Twython 2021-01-27 13:30:37 -06:00
9444939c35 Replaced cursored calls for manual calls to function with return_cursors. This way we will avoid hitting TWitter Rate limits accidentally 2021-01-27 13:20:47 -06:00
6688dc1163 Removed unneeded parameters when retrieving direct messages 2021-01-27 13:19:16 -06:00
6a7300b35f Merge branch 'next-gen' of https://github.com/manuelcortez/TWBlue into next-gen 2021-01-27 10:38:21 -06:00
c95a2feb5e Faster implementation of dm loading due to a call to lookup_users instead to get_user 2021-01-27 10:36:44 -06:00
8042d28b13 Merge pull request #358 from riku22/update_japanese_translation
Update japanese translation
2021-01-26 17:46:29 -06:00
890359f8c7 Fixed Rate limit issue in cursored functions. Closes #354 2021-01-26 17:09:38 -06:00
91955e80d2 Fixed Picture OCR. Fixes #356 2021-01-26 16:23:48 -06:00
6c1c66226d Merge branch 'googletrans-integration' into next-gen 2021-01-26 16:11:49 -06:00
1a76913aac Removed debug info 2021-01-26 16:09:55 -06:00
f85af2cbd2 Merge pull request #361 from manuelcortez/googletrans-integration
Change translation service
2021-01-26 16:06:38 -06:00
351f700927 Replaced translation services. Fixes #355 2021-01-26 16:01:26 -06:00
guredora
0e4b133858 add: configration invalid error dialog 2021-01-24 11:05:49 +09:00
Jose Manuel Delicado
abdde4c1f0 Updated windows-dependencies submodule 2021-01-23 19:31:58 +01:00
Jose Manuel Delicado
4899285eca Updated readme 2021-01-23 19:30:30 +01:00
riku
fb3e6b537c Updated Japanese translation 2021-01-23 09:05:35 +09:00
riku
22d1cc9ce9 Merge branch 'next-gen' into update_japanese_translation 2021-01-23 09:03:01 +09:00
304d91e8b7 Started replacing yandex.translate with googletrans 2021-01-22 17:55:15 -06:00
cf650052e4 Merge pull request #351 from riku22/add_requirements
Add pyenchant to requirements
2021-01-22 17:34:20 -06:00
riku
10055788e4 Removed twython 2021-01-23 07:26:42 +09:00
riku
a67f3f037e Merge branch 'next-gen' into add_requirements 2021-01-23 07:26:14 +09:00
Jose Manuel Delicado
4d736c00fc main.py: Check for other running instances before anything else 2021-01-22 18:50:09 +01:00
Jose Manuel Delicado
29b8a645db Updated changelog 2021-01-22 18:22:07 +01:00
Jose Manuel Delicado
2459a499ce Merge branch 'next-gen' into proxy 2021-01-22 18:01:29 +01:00
28f4e3a534 Merge branch 'next-gen' of https://github.com/manuelcortez/TWBlue into next-gen 2021-01-22 10:56:07 -06:00
e2931e96eb Remove references to Twython. #351 2021-01-22 10:55:08 -06:00
Jose Manuel Delicado
fbcba39e69 Small fixes. Support for socks4a proxies 2021-01-22 17:54:47 +01:00
Jose Manuel Delicado
b59d262dca Apply proxy settings before TWBlue main components start loading 2021-01-22 17:40:48 +01:00
Jose Manuel Delicado
7f4a13231f config.py: update the list of supported proxy types 2021-01-22 17:09:39 +01:00
Jose Manuel Delicado
4ab5af2ae9 Store the proxy type as an integer when saving the configuration 2021-01-22 17:06:32 +01:00
Jose Manuel Delicado
4c4eaf4012 controller/settings: assign the proxy type in the combo box based on the retrieved integer from config 2021-01-22 17:01:44 +01:00
Jose Manuel Delicado
b03198a39f Proxy type is now an integer instead of a string 2021-01-22 16:55:38 +01:00
Jose Manuel Delicado
06dc26e962 Proxy port is now an integer in the default configuration 2021-01-22 16:54:20 +01:00
Jose Manuel Delicado
bcc8f5968e Configuration dialog: use SpinCTRL instead of TextCTRL to specify the proxy port 2021-01-22 16:53:07 +01:00
Jose Manuel Delicado
4c144d2f7e Requirements: always install the latest WXPython version 2021-01-22 16:20:41 +01:00
747290e16a Require extended tweets for quoted tweets. Fixes #352 2021-01-22 09:15:47 -06:00
Jose Manuel Delicado
64b6d4df74 Requirements: do not install an idna version greather than 3.0 to avoid breaking requests package dependencies. Added wheel as a requirement to increase installation speed 2021-01-22 12:46:37 +01:00
riku
22d48cb5d9 Update Japanese translation 2021-01-22 12:52:19 +09:00
riku
fea01c44ca Add twython and pyenchant to requirements 2021-01-22 11:31:40 +09:00
b80a342f92 Count tweet characters and URLS as specified by Twitter. Fixes #199. Fixes #315 2021-01-21 17:12:18 -06:00
60a13d974c Added twitter-text-parser as a dependency 2021-01-21 17:10:56 -06:00
4c9000839d Fixed some errors when starting people buffers 2021-01-21 08:27:50 -06:00
b3c24c6734 Merge pull request #347 from manuelcortez/tweepy
Migration to Tweepy. Closes #237 , closes #240
2021-01-20 17:50:19 -06:00
a2a8cc5b79 Updated changelog 2021-01-20 17:44:29 -06:00
da7a208c1f Implemented people buffers and searches 2021-01-20 17:06:59 -06:00
979a3d3e99 Changed a function to order people buffers after being retrieved from Twitter 2021-01-20 17:06:15 -06:00
1f11ea7aa0 fixed an issue in compose for followers 2021-01-20 17:05:39 -06:00
8bdc933bce Migrated direct messages. Cursor support still require testing 2021-01-20 15:56:20 -06:00
999cbba464 Implemented function to get previous item for tweets and searches 2021-01-20 11:02:21 -06:00
7457521398 Restored media uploading (needs testing). Fixes #240 2021-01-20 10:35:11 -06:00
366b61134e Fixed trending topics dialog 2021-01-20 10:00:19 -06:00
52154ac271 Migrated support to Trending Topics 2021-01-20 09:59:38 -06:00
cdc285e362 Implemented support to list buffer creation 2021-01-20 09:21:50 -06:00
4643301764 Implemented list creation, edition and removal 2021-01-19 17:47:54 -06:00
f546543e9b Implemented tweet searches and conversation fupport 2021-01-14 09:18:57 -06:00
85fe94ec0c Implemented user actions (needs testing) 2021-01-13 10:38:26 -06:00
db13c96baa Fixed some incorrect error handling on utils 2021-01-13 10:33:49 -06:00
33b6000b41 Implemented user profile viewer 2021-01-13 10:32:03 -06:00
a261365682 Fixed some stuff in main controller. Likes work again 2021-01-13 10:31:37 -06:00
4064582583 Remove old reference to Twython error handling 2021-01-13 08:47:13 -06:00
fc0da0bdbb Migrated the main controller to use tweepy 2021-01-13 08:41:32 -06:00
76c678d4ba Fixed replies, retweets and iand tweet deletion 2021-01-05 11:10:55 -06:00
3db8b7b021 Fixed some rendering for dm's and people 2021-01-05 11:04:06 -06:00
fa49637d0e Replaced twython old exception handling by tweepy 2021-01-05 09:34:52 -06:00
65ec231349 Fixed an indentation issue 2021-01-05 09:20:36 -06:00
93705bf534 Fixed user timeline creation 2021-01-04 15:52:25 -06:00
29a905199d Basic implementation of tweetDisplayerDialog. Needs testing with lists of tweets and image description entities 2021-01-04 12:55:29 -06:00
8569d9b0a0 Readded code to load timelines with tweepy 2021-01-04 12:30:38 -06:00
1e1f2b089f Fix call to api.supported_languages() 2021-01-04 12:23:04 -06:00
78cc6e6784 Changed library calls on some basic buffer creation and manipulation 2021-01-04 11:16:56 -06:00
a37f339fea Fixed some issues when determining the presence of long tweets based on entities present in objects 2021-01-04 11:15:27 -06:00
d0cc12ef5c Added basic tweet rendering 2021-01-04 11:14:55 -06:00
bcd51d6259 Migrated most of twitter util functions from sessions/twitter/utils.py 2021-01-04 11:13:20 -06:00
7ceb806af2 Added more changes in order to deal with tweet objects 2020-12-22 17:29:33 -06:00
José Manuel
8f35fc0ec0 Merge pull request #342 from maniyax/next-gen
Edit Russian localization
2020-10-29 10:40:11 +01:00
maniyax
3f79fab8e5 update contributors.txt 2020-10-23 14:33:33 +03:00
maniyax
53dee8cb81 edit ru-locale 2020-10-23 14:31:47 +03:00
56103466fa Replaced get_account_settings, get_supported_languages, show_user, get_mute_ids 2020-07-20 13:26:22 -05:00
13f5df3a48 Use Tweepy functions for authentication and login 2020-07-20 13:11:37 -05:00
a89cc35d40 Started work: Added Tweepy as a dependency 2020-07-20 12:56:29 -05:00
276cd4b4dd Fixed a typo in last commit 2020-06-09 11:45:00 -05:00
c509433b2c Added an helper function for expanding t.co URLS for tweets 2020-06-09 11:34:02 -05:00
7292b36137 Removed old code from utils 2020-06-09 10:45:09 -05:00
Oreonan
0111c8aae1 some changes for french translation 2020-06-04 21:20:18 +02:00
eefe5e6200 Updated snapshot information 2020-06-04 12:14:57 -05:00
492f1d8aa5 Expand URL'S in profile bios 2020-06-04 10:25:00 -05:00
ac20ced5fa Expand URL in user profiles. Closes #275 2020-06-03 12:32:01 -05:00
866cd53328 Fixed typo in changelog 2020-06-03 11:24:20 -05:00
f523e3e81e Updated changelog 2020-06-03 11:22:07 -05:00
bdd7d617c3 Update title on user changes when sending a DM. Fixes #276 2020-06-03 11:19:23 -05:00
a0bc5f6cb3 Ignore folder env for virtual environments. Closes #321 2020-05-30 08:42:30 -05:00
3f238635f2 Fixed a typo 2020-05-29 21:25:13 -05:00
c300476ad2 Updated changelog to add a reference to an issue 2020-05-29 21:22:00 -05:00
6a2e00c467 Fixed calls to paths.config_path in Autocompletion module 2020-05-29 12:37:25 -05:00
4fa983a314 Show error when loading an account with invalid or expired tokens. Fixes #328 2020-05-29 11:17:18 -05:00
ed5b66d033 Fixed audio playback from URL 2020-05-29 10:28:10 -05:00
bec45c37c1 Updated Readme instructions to Python 3 and cx_freeze 2020-05-29 10:13:28 -05:00
ad42c09fef Updated changelog 2020-05-29 09:51:34 -05:00
084fa1894c Restart TWBlue gracefully 2020-05-29 09:49:57 -05:00
6bc63d79ff Updated data for ftp stuff 2020-05-28 16:52:18 -05:00
b1f06f6b1d Fixed some params in CI script 2020-05-28 16:45:36 -05:00
7e9d5359f1 CI environment: Make the Python 3 snapshot the default one 2020-05-28 10:57:46 -05:00
86b8a2ab0f Restarted version number for snapshots as these are built with Python 3 already 2020-05-28 10:56:44 -05:00
b8043f2c4a Added Microsoft redistributables in new builds 2020-05-28 10:35:45 -05:00
Jose Manuel Delicado
eff11f18c5 Updated dependencies. Run git submodule update 2020-05-26 19:34:25 +02:00
eca8b1ec46 Setup: Enchant works again. Python 3 build works. Closes #326 and #309 2020-05-01 13:29:04 -05:00
59bd2842c4 Don't set a custom dictionary path for now as Enchant 2.2.x is not compatible with calls to set_param. #326 2020-05-01 13:14:27 -05:00
92564d4075 Setup: Redirect exceptions properly by overriding sys.excepthook 2020-05-01 13:03:13 -05:00
9d59ee9d8d Use relative paths in setup file for better error handling 2020-04-29 08:33:05 -05:00
b845e751aa Wrote a new setup file (by using cx_freeze) 2019-12-16 16:52:59 -06:00
246a10535c Updated to the latest version of arrow (0.15.4) 2019-12-16 09:56:59 -06:00
977c521d7c Fix the cache database under Python 3 2019-12-16 09:49:49 -06:00
0e3ba0b89e Disable autogeneration of snapshot versions for a while 2019-12-16 09:47:49 -06:00
18d75e0564 Reverted to Arrow 0.14.5 for #317 2019-10-04 16:22:02 -05:00
482f95ba55 Updated code for supporting arrow 0.15 (timestamps passed as int, use two digits lang code) 2019-10-03 22:47:19 -05:00
c70b900c96 Removed arrow Warnings as 0.15 has been released 2019-10-03 22:11:06 -05:00
75877661a2 Try to upload artifact to ftp 2019-10-03 21:59:04 -05:00
1828b14790 Fixed unicodeError in documentation importer for python 3.7.4 2019-10-03 21:22:47 -05:00
35582650dc Removed py2exe from CI script 2019-10-03 17:55:27 -05:00
9500703408 Set py3 path in CI 2019-10-03 17:50:26 -05:00
ba48a817f2 Avoid printing filesystem root in CI environment 2019-10-03 17:45:31 -05:00
b06f28d3e6 Testing CI environment. #309 2019-10-03 17:34:42 -05:00
838e0c7b12 Added pyinstaller to requirements file. #309 2019-10-03 17:23:05 -05:00
08b34138e0 Added main specification file for PyInstaller (tested with Python 3.7.2). #309 2019-10-03 17:21:17 -05:00
073ccbf6c7 Updated requests fix to match with pyinstaller later. #309 2019-10-03 17:18:24 -05:00
a58187e5f7 Change call to app_path() to reflect latest changes when retrieving WX locales in frozen application. #309 2019-10-03 17:17:36 -05:00
6af39c6a2f Use shift instead of replace in arrow object for dm's. Closes #306 2019-10-03 10:33:04 -05:00
d97733fb1a API errors should be spoken from Twython. Fixes #310 2019-10-03 09:26:54 -05:00
80212fc61f Changed some calls to functions inside the paths module. Fixes #308 2019-08-15 09:51:31 -05:00
fe60ac8f67 Fixed issue in Global settings dialog, fixes #307 2019-08-15 09:46:47 -05:00
b6d5c9be63 Spell checker module should work properly. Fixes #296 2019-08-15 09:16:55 -05:00
e5a40288af Use shift() instead of replace() in arrow when displaying tweet's date. #306 2019-08-15 08:42:15 -05:00
bafb56651c remove explicitly some warnings present in arrow==0.14.5 2019-08-15 08:22:22 -05:00
29290b1468 Merge branch 'next-gen' of https://github.com/manuelcortez/twblue into next-gen 2019-08-13 17:53:06 -05:00
316a539a11 Docs can be generated from python 3.7 2019-08-13 17:39:05 -05:00
6320f0d93c Merge pull request #298 from yncat/yncat-jp-translation
Translated a few missing entries
2019-08-13 10:01:36 -05:00
6e12d70cd9 Merge branch 'python3' into next-gen 2019-08-13 09:57:24 -05:00
bca6861bcb Fixed error when displaying URL'S in multiline tweets. Fixes #305 2019-08-13 09:55:50 -05:00
José Manuel
60074919f6 Merge pull request #304 from Oreonan2/frcontributors-24072019
Added Corentin Bacqué-Cazenave to contributors.txt
2019-07-24 17:54:54 +02:00
Corentin
7f9e5e181a Added Corentin Bacqué-Cazenave to contributors.txt 2019-07-24 14:24:44 +02:00
0f2662e52d Merge pull request #303 from Oreonan2/frtr-22072019
update french translation
2019-07-23 11:02:15 -05:00
Corentin
5930470023 update files with conflicts 2019-07-22 17:28:59 +02:00
Corentin
56930a8921 update french translation 2019-07-22 16:17:56 +02:00
nyanchan
991f46e923 View in twitter entry's fuzzy tag has been removed to make the entry work actually 2019-07-06 23:54:58 +09:00
nyanchan
2ec47ad1e2 Translated a few missing entryes 2019-07-06 23:46:25 +09:00
ae81dd94a5 Fixed Python 3 issues when adding a new session 2019-07-05 20:17:58 -05:00
dcc4f4c782 Merge pull request #293 from manuelcortez/python3
Initial Python 3 compatible code
2019-07-01 17:43:25 -05:00
c65d149590 Fixed conflicts during the last stable update 2019-07-01 10:04:48 -05:00
2620348573 Returns the first available format retrieved by youtubeDL 2019-06-15 07:25:05 -05:00
Jose Manuel Delicado
ba1bcd550d Updated requirements to include more recent sound_lib dlls. Updated vlc to version 3.0.7.1 2019-06-15 12:53:15 +02:00
Jose Manuel Delicado
0dd082079e setup.py: include again all soundpacks. Include enchant dictionaries 2019-06-09 22:09:16 +02:00
Jose Manuel Delicado
7928cf5f24 Set snapshot variable to False 2019-06-06 22:12:06 +02:00
Jose Manuel Delicado
1333ebf859 Updated version to 0.95 2019-06-06 22:07:19 +02:00
Jose Manuel Delicado
ec3779147f Updated translations 2019-06-06 22:01:36 +02:00
ebd8e42154 Install a newer accessible_output2 package 2019-06-06 13:06:51 -05:00
a4f20872b0 Install latest pypubsub for Python 3 instead of the 3.3.0 version 2019-06-06 13:03:17 -05:00
ef689d04fc Initial Python 3 compatible code 2019-06-06 11:52:23 -05:00
Jose Manuel Delicado
d441536f01 Updated windows dependencies and readme 2019-05-02 20:26:33 +02:00
f976beb751 OCR should be performed in quoted tweets too 2019-04-08 05:41:49 -05:00
bed6142fa1 Remove builds on every commit 2019-04-08 05:11:41 -05:00
4c34099751 Removed unneeded file 2019-04-08 05:06:45 -05:00
Jose Manuel Delicado
e0db808dce Updated Windows dependencies. Please, run git submodule update 2019-03-17 15:05:52 +01:00
Jose Manuel Delicado
c500e8f513 Updated translation catalogs 2019-03-17 13:35:00 +01:00
José Manuel
7f86da1123 Merge pull request #286 from pauliyobo/next-gen
audio_services should now be completely independent  from the source …
2019-03-15 19:14:56 +01:00
aa4ebfff29 Replaced __gen_path__ with __build_path__ in fixes/fix_libloader.py 2019-02-28 08:34:30 -06:00
paul
ae4deb412f fixed other import issues derived from the removal of youtube_utils #273 2019-02-26 23:53:56 +01:00
paul
6eb27b655a deleted youtube_utils, and fixed various imports from the source code #273 2019-02-26 21:44:15 +01:00
paul
fe72fe97b5 audio_services should now be completely independent from the source code it's self. #273 2019-02-26 08:50:38 +01:00
c82ef1855c Apply fix_libloader before fix_win32com 2019-02-21 15:01:43 -06:00
fd43865105 Fixed errors when creating audio recordings 2019-02-20 17:21:27 -06:00
cf095ba13b Fixed keystroke for 'view in twitter' feature 2019-02-20 17:21:08 -06:00
092c5312cb Try to use a forked accessible_output2 to see how libloader fixes work on it #282 2019-02-20 14:13:29 -06:00
fc21b43475 Build a version for every commit. 2019-02-20 10:40:57 -06:00
3fce3c58e2 Added logging to fix_libloader. 2019-02-20 10:40:08 -06:00
207315937a Add files from accessible_output2 by using the right function 2019-02-19 23:04:45 -06:00
61d9180b2e Installs wx==4.0.3 due to issues present in 4.0.4 2019-02-19 23:03:37 -06:00
89985cf6bd Updated snapshot info 2019-02-19 22:24:25 -06:00
cc4568b968 Win10: Remapped session mute/umute to Control+win+alt+m 2019-02-19 17:50:05 -06:00
d7132ecaf6 Added 'open in Twitter' for tweets and users 2019-02-19 17:41:34 -06:00
720e0e6c24 Win10: Remapped shortcut for settings dialog to Ctrl+Win+Alt+o 2019-02-19 16:48:54 -06:00
9763d8b26c Fixed an error when trying to retrieve a deleted user while rendering a direct message 2019-02-15 09:04:52 -06:00
f512267b6d Add accessible_output2 to requirements file. Closes #280 2019-01-28 13:28:30 -06:00
241de0264d Use accessible_output2 as external dependency 2019-01-23 17:36:46 -06:00
5c7bce1258 Added sound_lib as an external dependency. #273 2019-01-23 17:28:05 -06:00
e24543be12 Use platform_utils as an external dependency 2019-01-15 17:54:29 -06:00
422c780d0c Merge pull request #279 from codeofdusk/i278
Fix #278
2019-01-15 17:29:28 -06:00
Bill Dengler
96a592a4f9 Fixed #278. 2018-12-31 21:14:09 +00:00
d4bf33ca6d Added support for playback from anyaudio.net 2018-11-25 13:00:01 -06:00
e5b33160e0 Added a custom fix for Libloader with changes made by @jmdaweb #273 2018-11-22 17:48:22 -06:00
c8d83ed9e7 Added new path to libloader in requirements file #273 2018-11-22 17:47:38 -06:00
16b2e16614 Removed libloader from the source repository. #273 2018-11-22 17:47:02 -06:00
221d1d413b Changed codebase's syntax before attempt the python3 migration later. #273 2018-11-22 13:35:51 -06:00
4391e3d3de Install Twython from a git repo instead of shipping it in the source code. #273 2018-11-22 12:19:23 -06:00
c5e9e97c84 Keep custom buffer ordering across restarts and changes in settings 2018-11-18 06:33:33 -06:00
4c1cad7f61 Updated snapshot information 2018-11-18 05:22:20 -06:00
fffd98e09e Pressing enter in the list will work when adding or removing someone from a list 2018-11-17 13:40:59 -06:00
a1a084bfda Fixed a small typo 2018-11-15 04:49:48 -06:00
85e575386e Long and quoted tweets are displayed properly in sent tweets. Fixes #253 2018-11-15 04:43:16 -06:00
2c64805eec Show list manager action in keystroke editor. Fixes #260 2018-11-13 17:32:12 -06:00
6f2e439ddc Invert slider movement when up/down arrows are pressed. Fixes #261 2018-11-13 17:16:51 -06:00
7e42a096a5 Finished implementing autoreading features. Closes #221 2018-11-13 16:33:17 -06:00
9d2cf05a41 Added more docstrings to buffers code 2018-11-13 15:34:45 -06:00
d7c095173d Improved autoreading functions for #221. Closes #271 2018-11-01 15:04:26 -06:00
36ba6eca92 Started refactoring of autoreading for buffers 2018-10-19 17:35:56 -05:00
b6fa131999 Fixed typos in changelog 2018-10-03 09:03:15 -05:00
c85c478595 Added date and time wen displaying tweets and dm's 2018-09-30 14:39:59 -05:00
Jose Manuel Delicado
74e020c090 Added certifi and backports.functools-lru-cache to requirements.txt 2018-09-30 11:56:47 +02:00
40105f37ed Added support for deleting dm's with the new Twitter API methods 2018-09-29 11:13:11 -05:00
ca3f8779b8 Separated twitter buffers from generic buffers code 2018-09-22 21:55:19 -05:00
a6a651d6f7 Install py2exe_py2 in appveyor script only. Removed it from requirements. Closes #266 2018-09-22 13:04:27 -05:00
7748b4bb5d Added attempt to update setuptools in AppVeyor script 2018-09-22 13:03:21 -05:00
01a6c65c82 Updated to Twython 3.7.0 2018-09-22 12:03:59 -05:00
211d43aa30 Updated changelog 2018-09-22 10:21:50 -05:00
c716f4aa96 When quoting a retweet, quote will be in original tweet 2018-09-22 10:18:25 -05:00
9fd9d2a120 Updated snapshot info in repo 2018-09-19 16:14:43 -05:00
5c75be20d3 Updated snapshot information 2018-09-19 15:41:05 -05:00
1ccb898f78 Updated changelog 2018-09-19 12:57:14 -05:00
d734a30a18 Merge pull request #265 from manuelcortez/appveyor
Generate snapshot versions with AppVeyor. Closes #264
2018-09-19 12:42:39 -05:00
3d310c0ee4 ADded other missing module from oauthlib (really?) 2018-09-19 12:00:29 -05:00
79512af350 Try to add a missing module by hand in setup 2018-09-19 11:47:13 -05:00
7a2ad3797d Added py2exe_py2 from PyPi 2018-09-19 11:12:51 -05:00
f87312fc53 Disable building in all commits 2018-09-19 00:09:52 -05:00
682f1e8bd4 Skipped folder option 2018-09-18 23:55:00 -05:00
cbc2e978c9 Fixed remote ftp path again 2018-09-18 23:29:01 -05:00
72fd93eaf6 Added appveyor badge 2018-09-18 23:26:15 -05:00
8bac4b8ec6 Commented and fixed everything. Ready for pr 2018-09-18 21:29:42 -05:00
6c29a4a18f Use absolute path to ftp destination 2018-09-18 17:48:18 -05:00
3ae581a19f Let's try with beta ftp lib 2018-09-18 17:39:09 -05:00
a9378988cb Second test with faked path 2018-09-18 17:28:33 -05:00
00f96bb7af Real deployment with fake path to ftp 2018-09-18 17:23:44 -05:00
ecd2984a61 Last test before real deployment 2018-09-18 17:14:47 -05:00
3be69cb6a2 Tried moving artifacts 2018-09-18 17:11:06 -05:00
099bc49761 Test ftp deployment 2018-09-18 16:50:10 -05:00
ec61f4b431 Cleaning up 2018-09-18 13:56:17 -05:00
b16a6c5ddb Add absolute path to artifacts 2018-09-18 13:27:48 -05:00
9a94b92018 Specify artifact name to appveyor 2018-09-18 13:13:20 -05:00
fe8a3b1565 Try to create an artifact after packaged 2018-09-18 13:07:54 -05:00
a3d1052193 More path issues 2018-09-18 12:43:51 -05:00
fbbd3cf00e Call documentation importer before attempt to build doc 2018-09-18 12:39:42 -05:00
8a6f73fdc2 Fixed a typo 2018-09-18 12:33:34 -05:00
c806f17484 Calls doc generator just before packaging 2018-09-18 12:31:28 -05:00
db231e07f8 Documentation should be generated in a folder called documentation 2018-09-18 12:31:02 -05:00
eaf13a4453 Changes in paths 2018-09-18 11:46:51 -05:00
d4a73fb3bb Add direct url to Py2exe 2018-09-18 11:41:36 -05:00
8459135002 Fixed other problem 2018-09-18 11:35:31 -05:00
4aef2595b2 Fixed syntax error 2018-09-18 11:32:25 -05:00
ccdcc7676e Adds py2exe and pyenchant to the party 2018-09-18 11:31:18 -05:00
967cc8da71 Fix 2018-09-18 11:18:10 -05:00
071bcf55ef Try to clone include submodules 2018-09-18 11:10:20 -05:00
cf735211c9 Initial file 2018-09-18 10:52:54 -05:00
bd56eb953b provide better control over cursored buffers when getting more items 2018-09-18 09:09:25 -05:00
940ace664c Fixed error when adding tweet to likes from the menu bar 2018-09-02 08:59:22 -05:00
Jose Manuel Delicado
8619deb6ee Updated readme to remove pywin32 as an installable module 2018-08-31 14:02:18 +02:00
Jose Manuel Delicado
9fcc5d36e5 Updated requirements.txt 2018-08-31 14:00:16 +02:00
Jose Manuel Delicado
c374cdefe9 Updated windows dependencies to remove pywin32 2018-08-31 13:59:42 +02:00
7b925b5909 Fixed a race contidion in the main twitter session 2018-08-26 08:09:55 -05:00
013a80a1f2 Show quoted tweets properly after being sent 2018-08-26 08:07:00 -05:00
ec860aa6fc Updated changelog 2018-08-26 02:59:12 -05:00
12e06eb52d Added option for visiting soundpacks section in website, from the help menu #247 2018-08-26 02:48:04 -05:00
464fce07b0 Added FreakyBlue as an option for next snapshot. #247 2018-08-26 02:28:30 -05:00
ad484a1f35 Display extended tweets properly after being sent. #253 2018-08-22 17:11:15 -05:00
7296d2a939 Extended tweets should be displayed properly in lists 2018-08-22 13:06:08 -05:00
cd596a6ad6 Merge pull request #251 from Menelion/geocode-i18n
Localize geocoding to the current language
2018-08-19 22:18:18 -05:00
Andre Polykanine
ed3b9c9538 Localize geocoding to the current language 2018-08-20 01:15:31 +03:00
df9d99edcd Merge pull request #250 from Mohamed00/next-gen
Convert audio.ogg in classic soundpack to mono #247
2018-08-19 07:01:34 -05:00
Mohamed Al-Hajamy
f5f4074409 Add files via upload 2018-08-19 07:53:04 -04:00
6439eac76c Win10: Remapped show location in tweet to ctrl+win+g as suggested in #177 2018-08-18 23:17:41 -05:00
5c794aaeff Added contents of client.py into twitter session 2018-08-18 23:09:08 -05:00
8cdd1b52d1 Added docstrings to long_tweets package 2018-08-18 20:49:40 -05:00
6928ac4b99 Sent dm's: Buffer name matches string in translation files. 2018-08-18 06:07:07 -05:00
ae42a53b41 Finixhed docstrings in Twitter main session 2018-08-17 21:01:58 -05:00
be7df1714d Added docstrings for some of the functions in twitter session 2018-08-17 17:42:41 -05:00
8cf7ca5ef2 Store created sessions in the sessions module 2018-08-17 12:16:51 -05:00
0cfa89b389 Moved Twitter's session from sessionmanager to sessions.twitter 2018-08-17 05:12:49 -05:00
f63ed6d0a7 Removed hold code related to application.streaming_lives(). Fixes #248 2018-08-17 02:24:02 -05:00
00440e9050 Removed long_tweets module from the src directory 2018-08-16 17:38:35 -05:00
76db14360a Removed hold modules from code. Now everything is in sessions 2018-08-16 17:27:02 -05:00
0966739296 Modified refs to hold Twitter modules to use the new sessions package 2018-08-16 17:26:19 -05:00
1e27056902 Added Twitter module and long_tweets as a session so we will have everything related to twitter in the same session 2018-08-16 17:25:16 -05:00
3b41e18573 Added experimental module with a base session 2018-08-16 16:57:37 -05:00
2668e47a6f tweets, replies and retweets will be added to sent tweets after being sent 2018-08-16 11:17:15 -05:00
b44e30ed28 Removed old compose_dm and compose_event 2018-08-16 10:44:27 -05:00
bfad5b82f0 Deleted code related to Streaming Features 2018-08-16 10:42:14 -05:00
41d4c97067 Fixed error when sent dm's are hidden. Fixes #246 2018-08-16 09:11:57 -05:00
Jose Manuel Delicado
52f27c87b9 Updated version to 0.94 2018-08-15 22:02:03 +02:00
3f5ef28a48 Updated info for a new Snapshot (coming soon) 2018-08-15 14:53:33 -05:00
4ec1e08606 Removed unneeded VLC plugins 2018-08-15 14:50:13 -05:00
f2cea695ee Play sound when a tweet has been sent and streaming is not available 2018-08-15 13:38:31 -05:00
e4a6ead606 Merge pull request #244 from Menelion/requirements
Make several modifications for better running from source
2018-08-15 12:38:36 -05:00
dc536c45de Fixed a few typos 2018-08-15 12:29:01 -05:00
95fcbe6ba4 Updated translations 2018-08-15 11:34:29 -05:00
60f55940b7 Updated translation templates 2018-08-15 11:22:51 -05:00
655331d405 Updated script for generating translation templates 2018-08-15 11:22:12 -05:00
4381992718 Made sound playback during startup as it was before 2018-08-15 11:19:31 -05:00
eb87d924c2 Setup.py: Fixed syntax error 2018-08-15 09:37:46 -05:00
1cebb29bdc Removed an output message from empty buffers 2018-08-15 05:08:25 -05:00
27c1ec990a Play sounds when updating buffers 2018-08-15 05:04:30 -05:00
d40b816c48 Started adding docstrings to buffer functions 2018-08-15 04:30:53 -05:00
ac5daec462 Set mandatory=True when updating buffers automatically to bypass 180 secs restriction 2018-08-15 04:30:27 -05:00
0835a34c71 Fixed a typo 2018-08-14 08:56:11 -05:00
babbc0a08d Updated changelog 2018-08-13 11:50:08 -05:00
04ac629b51 Added sent dm buffer working. Closes #233. Needs testing 2018-08-13 11:26:55 -05:00
Andre Polykanine
3920435eb7 Make several modifications for better running from source:
* Added a requirements file for easier dependencies installation
* Updated Gitignore to add VLC libraries (see #243)
* Updated the Readme file to reflect these changes.
2018-08-13 01:25:52 +03:00
2f0b20558e Create sent direct messages buffer during startup 2018-08-12 16:24:18 -05:00
9ca6e15a20 Added a new buffer for sen't dm. This will not be connected to any endpoint. #233 2018-08-12 16:23:45 -05:00
9c2dba7cf8 Added sent dm's to TWBlue settings #233 2018-08-12 16:23:07 -05:00
318b6caf5f Change type of vlc's environment variables 2018-08-12 16:19:15 -05:00
Jose Manuel Delicado
83612b6a3c Call os.chdir() before importing vlc, only if we are running from source. Restore the original current dir after that. Changed wx.NewId() calls to wx.ID_ANY 2018-08-12 14:50:58 +02:00
Jose Manuel Delicado
f4e20f8ed4 Load libvlccore.dll before importing the sound module 2018-08-12 13:38:39 +02:00
Jose Manuel Delicado
7883413210 When running from source, specify via two environment variables where is the vlc library located 2018-08-12 12:35:43 +02:00
Jose Manuel Delicado
ad54134c86 Updated windows dependencies and setup.py 2018-08-11 22:21:38 +02:00
Jose Manuel Delicado
ef0d3a9eae Updated readme 2018-08-11 22:03:49 +02:00
ea48733cef Updated changelog 2018-08-06 11:45:17 -05:00
6893d923a3 Don't put a sent dm in the buffer right after the event has been sent 2018-08-06 11:37:46 -05:00
d94b133e63 Update interval in buffers is configurable from global settings. Closes #223 2018-08-06 11:31:52 -05:00
28b6d554e2 Switched to new method for sending Direct messages #215 2018-07-25 11:22:57 -05:00
931cadfffa Modified Twython for sending data as json and added direct_messages/events/new #215 2018-07-25 11:11:20 -05:00
232d876c8f Allow Quoting and retweet from sent tweets. Closes #226. Fixes #238 2018-07-25 08:43:46 -05:00
c7f4fd2926 is_audio, find_urls and is_media should work with dm's #215 2018-07-20 10:04:53 -05:00
6b43ff1c0e Hide events buffer in accountSettingsDialog if streaming is disabled. Closes #227 2018-07-20 09:22:52 -05:00
5b5d762759 Fixed user actions from dm's buffer. Closes #237 2018-07-20 09:10:52 -05:00
b4020d0f95 Implemented get_more_items to dm's. Closes #235 2018-07-19 12:27:01 -05:00
d8da78e22d Fixed issue in database when storing dm's #215 2018-07-18 10:52:12 -05:00
c82bb4125b Removed sent direct messages from config. Closes #233 2018-07-18 10:34:08 -05:00
7b5e6477d3 Avoid putting sent dm's in the buffer as they are different to the new ones #215 2018-07-18 09:36:51 -05:00
41582a3770 Ignore dm's coming from streaming API as they are quite different. #215 2018-07-18 09:36:15 -05:00
e9cbe0d825 Created new dm's buffer for cursored results. Very unstable #215 2018-07-18 09:30:03 -05:00
dc563523bc Removed creation of sent direct messages buffer #215 2018-07-18 09:29:33 -05:00
b15eed9697 Added direct_messages/events/show and direct_messages/events/list in Twython #215 2018-07-18 09:29:00 -05:00
019e83c55b is_audio, is_geocoded, is_media, get_urls ignore dm's for now #215 2018-07-18 09:28:16 -05:00
7dad22189a Accept session object in all composers for searching users if needed #215 2018-07-18 09:27:37 -05:00
eebaf94cbf Modified cursored functions so they will match new endpoints #215 2018-07-18 09:27:02 -05:00
1726d5882c Added new parser for direct messages #215 2018-07-17 11:22:53 -05:00
64d843d98a Added helper for getting user object by id #232 2018-07-17 10:58:09 -05:00
610f18dcb6 Added all user objects to the local cache according to #232 2018-07-17 09:27:13 -05:00
cea638b680 Fixed a small isue 2018-07-13 17:29:54 -05:00
e1e0a4e092 Updated info for a new Snapshot 2018-06-18 04:37:56 -05:00
bc4a8bcba1 Check_connection: sets counter to 0 in the right conditional block 2018-06-17 19:38:29 -05:00
3db13062ed Fixed a few typos 2018-06-17 19:26:47 -05:00
9559f07013 Adds new VLC stuff in distributable file 2018-06-15 19:34:10 -05:00
dee30385cc Added VLC stuff (only x86 for now) to dependencies 2018-06-15 13:36:51 -05:00
49ce469c12 Don't display dialog when opening protected user's timeline. Closes #225 2018-06-15 13:32:12 -05:00
59e1299a0b Merge branch 'next-gen' of github.com:manuelcortez/TWBlue into next-gen 2018-06-15 08:46:12 -05:00
ab2667529f Added option to disable streaming from global settings. Closes #219 2018-06-15 08:45:10 -05:00
Jose Manuel Delicado
a7fd88b4be Updated Windows dependencies 2018-06-14 18:41:28 +02:00
a2cb4ba889 Fixed an issue related to high CPU Usage when Streaming is enabled. Closes #220 2018-06-06 11:14:42 -05:00
9847f7ad01 Get back to PIN code authorization due to Twitter changes. Closes #216 2018-06-06 09:11:37 -05:00
c2d81279fe Removed unneeded code 2018-06-06 08:23:07 -05:00
77489cab1e Sent dm's are added properly to the buffer if no streaming Enabled. Fixes #222 2018-05-29 17:35:04 -05:00
7d35dbc752 Stop using the Streaming API endpoints. Closes #213. Needs testing 2018-05-25 12:11:53 -05:00
f2ea4136c0 Skip creation of events buffer and made changes for #213. Closes #217 2018-05-25 12:11:17 -05:00
537d011b40 Remove support for multiple API calls in buffers. Closes #214 2018-05-25 11:35:24 -05:00
8af1e650b7 Added streaming_lives, wich will tell TWBlue if it should use Streaming Features or not 2018-05-25 09:46:39 -05:00
e3cbd8be87 Stop relying in home_timeline for everything. Fixes #171. Needs testing 2018-05-24 10:32:56 -05:00
7099875bc7 Added settings to turn off automatic speech or Braille feedback. #203 2018-05-18 13:38:58 -05:00
4a15fe1602 Add access keys to Spellchecking dialog. Closes #211 2018-05-16 10:22:54 -05:00
7478edd454 spellchecking dictionaries will be located in user's config directory. #208 2018-03-19 21:40:55 -06:00
da4658c220 Sessionmanager: Skip processing of dicts folder in user config. Needed for #208 2018-03-19 21:39:29 -06:00
6768bf85d5 Updated changelog 2018-03-19 21:38:25 -06:00
199a06c6e5 Move TWBlue to WX project phoenix (#207)
Move TWBlue to WX Python Phoenix
2018-03-19 01:55:09 -06:00
b967c32393 Updated readme 2018-03-14 15:24:44 -06:00
e9797ce6ac Updated menus 2018-03-14 15:16:27 -06:00
861de1f354 Moved about dialog and fixed a few bugs in tweet dialogs 2018-03-14 14:18:11 -06:00
6f838d12e9 Avoid converting items to string before passing to SetItem 2018-03-14 13:43:59 -06:00
010c0011aa Posted event codes and task bar icons 2018-03-14 13:34:56 -06:00
b1c5ddbca8 Display quoted tweets properly when original_tweet is made with Twishort 2018-03-14 11:34:49 -06:00
a16f16d36d Added additional checks for new filter improvements 2018-03-12 09:01:28 -06:00
e5196f0aad Changed chahracter limit for tweets in documentation 2018-03-12 09:00:52 -06:00
b8df56dcbb Updated changelog 2018-02-27 16:46:58 -06:00
612f4ffadf Filter by retweet, quotes and replies in filter creation #102 2018-02-27 16:43:16 -06:00
652d3c7ff8 Removed old function call. Closes #204 2018-02-27 13:57:28 -06:00
b6d49bb851 Removed unneded code 2018-02-21 16:22:19 -06:00
cb6f90a027 Use best audio stream for youtube videos 2018-02-21 16:21:20 -06:00
fff215fcdb Updated app info 2018-02-20 12:42:24 -06:00
8e9743cae1 Updated installation instructions 2018-02-20 11:52:53 -06:00
0e41fabbe6 Added youtube support. Closes #94 2018-02-20 11:47:33 -06:00
5ff5a4a6d2 youtube: Started code for playback from youtube. Not functionnal, yet 2018-02-16 17:58:57 -06:00
d4dadfcdc7 Added option for remembering state of mention all and long tweet 2018-02-06 17:37:49 -06:00
fac228dec1 Fixed a few issues 2018-02-06 16:47:47 -06:00
79490f8346 Set mention all checkbox disabled by default 2018-02-06 16:44:36 -06:00
635b467394 Fixed item ordering issue in reversed buffers for people objects 2018-02-06 15:18:42 -06:00
e886090830 Removed unneeded print 2018-01-31 17:15:23 -06:00
80cb5567d5 Show error messages in failed audio uploads. Hopefully Fixes api uploads in sndup 2018-01-31 17:12:43 -06:00
3c0824aad4 Added toggle likes to keystroke editor 2018-01-12 08:36:14 -06:00
0bbbb3f1b6 Merged like/unlike action for windows 10 users in invisible interface 2018-01-10 09:25:27 -06:00
Jose Manuel Delicado
51c5820719 Changed to the next version on some files 2017-12-14 20:33:39 +01:00
Jose Manuel Delicado
d6f47259a6 Updated spelling dictionaries. Run git submodule update before submiting new changes 2017-12-14 20:28:05 +01:00
2457fcf8f3 Merge branch 'next-gen' of https://github.com/manuelcortez/TWBlue into next-gen 2017-12-14 04:59:56 -06:00
87a6290f74 Updated Spanish documentation 2017-12-14 04:34:51 -06:00
7109d904a2 Updated documentation locales 2017-12-14 04:26:08 -06:00
435ffef6fd Updated interface translations 2017-12-14 04:17:24 -06:00
Jose Manuel Delicado
2fb88924fd URL expansion and audio playback should work well together now. When calling get method, stream parameter is set to True, so the body is not downloaded. We work with response headers, the only thing we need 2017-12-12 16:32:12 +01:00
Jose Manuel Delicado
6ba1fe9eac If an URL shortener does not redirect using head method, call get with allow_redirects set to False instead when expanding. Fixes #179 2017-12-11 21:07:57 +01:00
b184bed1a8 Added a new soundpack to default install of TWBlue 2017-12-11 10:58:09 -06:00
53deb869fc Updated changelog 2017-12-11 10:56:02 -06:00
f9db4d6d51 Updated changelog translation catalog 2017-12-11 09:08:44 -06:00
7861f42d26 Changed 'like' shortcut in win 10 keymap 2017-12-11 09:04:53 -06:00
e8a692a061 Ready for next snapshot 2017-12-11 08:29:38 -06:00
c5a5b187ec Updated interface translations: Turkish 2017-12-11 05:00:52 -06:00
ab18445338 Interface translations updated: German, Spanish, French, Italian, Japanese, Polish and Russian 2017-12-10 10:49:08 -06:00
4d6b589086 Fixed a bug in sound playback. Fixes #197 2017-12-10 10:22:12 -06:00
5a03cc80ca Fixing URL parsing in retweets 2017-12-10 07:53:03 -06:00
fd17d824be Updated translation catalogs 2017-12-06 16:33:29 -06:00
a0fe62a227 Merge branch 'next-gen' of https://github.com/manuelcortez/TWBlue into next-gen 2017-12-06 16:30:00 -06:00
00db4ff806 Updated changelog 2017-12-06 16:29:31 -06:00
45430e036c Change data for next stable 2017-12-06 15:56:00 -06:00
29c3f1d194 Removed an unneeded line in streaming tweets management 2017-12-06 12:53:17 -06:00
e10e3b3c49 Create trending buffer is remapped to ctrl+win+t i win10 keymap 2017-12-05 10:43:26 -06:00
d9a9adef1f Code cleanup and a few fixes in streaming API 2017-12-05 10:24:52 -06:00
02538322c6 Important improvements for retweets of long quoted tweets 2017-12-05 09:28:12 -06:00
efc5b481f8 Fixed an error when getting some quoted tweets 2017-12-05 08:43:26 -06:00
2c1bd6a8c8 Spellchecker: allow adding words to personal dictionaries 2017-12-01 12:26:16 -06:00
4d1732b3aa Improvements in quoted tweets handling. Closes #190 2017-11-29 10:55:42 -06:00
a0e41a4450 Ready for next snapshot 2017-11-23 17:53:14 -06:00
2ee3e315b6 Updated changelog 2017-11-23 17:50:41 -06:00
29df2e44b4 Added shortcuts for filter options in GUI #102 2017-11-23 17:44:57 -06:00
8836cb2bda Added title for filters #102 2017-11-23 17:42:26 -06:00
2d9124c336 Added a filter manager for deleting filters #102 2017-11-23 17:12:43 -06:00
b832e36c7d Prevent filtering in some buffers #102 2017-11-23 05:13:44 -06:00
98cf02ee98 Some small UI improvements for #102 2017-11-23 04:50:51 -06:00
519d096f29 Fixed a typo in filter creation GUI #102 2017-11-22 22:12:05 -06:00
34e9b8b89f Hide language options with its radio button #102 2017-11-20 17:15:01 -06:00
beb75ff6d1 Fixed an issue in #102 2017-11-20 03:14:30 -06:00
9fd7c14e32 Filtering by word should work as expected #102 2017-11-20 02:28:40 -06:00
e303d914fe Filters will work in main buffers too. #102 2017-11-20 01:10:25 -06:00
5f7f176892 Code cleanup 2017-11-20 00:38:14 -06:00
8928a64a12 Links in quoted tweets should be opened properly. Fixes #167 and #184 2017-11-15 09:50:59 -06:00
6a3b498d52 Improvements for #102 2017-11-14 16:56:45 -06:00
682ee82aa8 Fixed get_more_items, was broken in #102 2017-11-13 20:26:15 -06:00
1e22ebce61 First filter implementation. Needs lots of tests. #102 2017-11-13 17:45:01 -06:00
c2413489e5 Saves filter config in settings #102 2017-11-13 16:49:12 -06:00
094325cbf0 Put supported languages in combobox and allows people to add or remove languages to the filter #102 2017-11-13 00:10:44 -06:00
a5e1686af6 Get twitter's supported languages for allowing filters by lang #102 2017-11-12 23:39:45 -06:00
54cb099007 Added GUI for filter creation. #102 2017-11-12 23:10:31 -06:00
636c21df94 Increased character limit in display name up to 50 characters 2017-11-12 21:20:56 -06:00
cdad6ff600 Added danish translation 2017-11-12 11:41:11 -06:00
68efc86536 Updated translations 2017-11-12 11:29:47 -06:00
e06ccacda1 Removed translations for arrow. Fixed get_locale 2017-11-11 15:53:24 -06:00
da6eb34500 Merge branch 'next-gen' of https://github.com/manuelcortez/TWBlue into next-gen 2017-11-11 15:44:15 -06:00
0f31a776ff Use current arrow version instead 0.6 2017-11-11 15:43:44 -06:00
efc6843ee2 Redirects snapshot users to changelog hosted in the repository 2017-11-10 12:01:43 -06:00
a13dd756b1 Prepare update file for snapshots 2017-11-10 11:53:25 -06:00
1b62eece13 Changed update system in server side 2017-11-10 11:51:20 -06:00
e23ef1ded2 Updated changelog 2017-11-09 17:37:36 -06:00
066de25f95 Mention to all will be checked by default #176 2017-11-09 17:34:56 -06:00
cd128b8e69 Added extended tweets mode in search buffers during creation 2017-11-09 17:25:17 -06:00
Jose Manuel Delicado
9e17abf517 Added mapping for serbian (latin) language in languageHandler.py. Fixes #175 2017-11-09 20:07:20 +01:00
cbd3126a4f Fixed a typo. Closes #176 2017-11-09 08:36:25 -06:00
0d0aed0490 Long tweet and mention to all options won't be saved in config. Closes #170 2017-11-08 12:09:53 -06:00
ed7c9802d1 Fixed extended retweets in Streaming API. Closes #174 2017-11-08 09:43:12 -06:00
68ea029fe3 Remove unneeded code 2017-11-07 17:49:43 -06:00
3a465f2314 display extended retweets properly. Fixes #173 2017-11-07 16:57:46 -06:00
ef2d672b35 Increased limit to 280 characters in tweets. Closes #172 2017-11-07 16:49:49 -06:00
Jose Manuel Delicado
b3c8de9a1f Updated Twython library to version 3.6.0, keeping our customizations 2017-10-07 18:40:27 +02:00
Jose Manuel Delicado
4d75f2db34 Renamed set_description to create_metadata in Twython endpoints. Added a bit more documentation and use the documented channel 2017-10-07 14:53:53 +02:00
Jose Manuel Delicado
f69e4283cd Updated all URL shorteners to use requests library. Useful for proxy servers 2017-10-04 17:24:44 +02:00
Jose Manuel Delicado
cbbf1e475d Updated windows dependencies and readme. 2017-09-23 11:05:21 +02:00
Jose Manuel Delicado
851f711357 Set prepared=False after playing and stopping an audio in URLStream class 2017-09-22 17:38:03 +02:00
Jose Manuel Delicado
11703f50fe Handle special case for Dropbox links when expanding URLS 2017-09-22 17:30:09 +02:00
Jose Manuel Delicado
11ca3a2190 URL shortener now performs step by step expansion, so you possibly will have to expand an URL multiple times to reach the final destination 2017-09-22 17:18:38 +02:00
Jose Manuel Delicado
a1381008d7 Use head instead of get for URL expansion 2017-09-18 10:38:20 +02:00
59504cca57 Fixed a typo 2017-09-17 23:34:51 -05:00
da06c568c5 Fixed issue with url shorteners. Should help to fix #159 2017-09-17 23:28:31 -05:00
d333b5f5c3 Return expanded URLS when calling to find_urls 2017-09-17 23:19:04 -05:00
348b8da619 Removed twup.me from audio_services 2017-09-17 23:18:01 -05:00
904226cfd4 Shows message if there are no new updates. Fixed #163 2017-09-17 22:26:44 -05:00
2cf5caa90d Fixed #157 2017-09-08 13:39:13 -05:00
Jose Manuel Delicado
ff05c9cb23 Now the URLS are expanded using requests. It means proxy support for URL shortener, and follow all redirections to get the final URL 2017-08-12 21:32:56 +02:00
Jose Manuel Delicado
f18a03d4a1 acortame.py: if we try to expand an URL not shortened by the service, use generic URL unshortener in the base class 2017-08-12 21:07:02 +02:00
Jose Manuel Delicado
24756e73d3 acortame.py: use requests instead of urllib, so we can shorten and unshorten URLS through proxy servers 2017-08-12 21:03:52 +02:00
Jose Manuel Delicado
feb16d9773 Added compatibility with acorta.me URL shortener and set it as default 2017-08-12 12:54:18 +02:00
5b47e8806a Fixed #156 2017-08-06 11:22:14 -05:00
a073a5caaa Removed source language in translator. Also fixed #153 2017-07-30 09:58:39 -05:00
a69a26e107 Updated documentation 2017-07-30 09:21:40 -05:00
76582c6313 Show dialog while waiting for account authorisation. Possibly fixes #101. Needs tests 2017-07-30 04:05:32 -05:00
5a249ba942 Fixed a bug in timer handling. Fixes #151 2017-07-30 01:16:41 -05:00
Jose Manuel Delicado
696b6aa11d Changed version number to 0.92 2017-07-19 20:51:56 +02:00
José Manuel
44187c69de Merge pull request #152 from manuelcortez/revert-140-i140
Revert "update sound_lib"
2017-07-19 15:27:22 +02:00
José Manuel
efb8cac079 Revert "update sound_lib" 2017-07-19 15:25:09 +02:00
Jose Manuel Delicado
7997f23f9c Revert "Fixed sound.py when there are multiple sessions trying to load the library"
This reverts commit 80f2e8f984.
2017-07-19 15:23:34 +02:00
20d4023e58 Text copied to clipboard will be encoded as unicode. Fixes #150 2017-07-18 19:52:42 -05:00
José Manuel
b62f99bc5a Merge pull request #149 from manuelcortez/revert-145-bass
Revert "Update Bass library"
2017-07-18 19:51:57 +02:00
José Manuel
70bba44da7 Revert "Update Bass library" 2017-07-18 13:09:13 +02:00
Jose Manuel Delicado
d25ace8f98 setup.py: now the documentation is handled in all available languages, bug fixed 2017-07-16 13:47:44 +02:00
Jose Manuel Delicado
eb19417263 Added catalan documentation to the docs generator 2017-07-16 12:04:36 +02:00
Jose Manuel Delicado
982fd41ae3 Updated catalan changelog 2017-07-16 12:02:05 +02:00
cf19e644e4 Fixed a merge conflict 2017-07-16 04:28:41 -05:00
02c5b40315 Added Basque to changelog's generation 2017-07-16 04:26:45 -05:00
825a896414 Updated translations 2017-07-16 04:24:41 -05:00
Jose Manuel Delicado
dabb3a01b8 Fixed pot documentation files, they were damaged in the last update 2017-07-15 20:20:55 +02:00
Jose Manuel Delicado
5d68d1f1cb Removed bassmix.lib, it's a static library and TWBlue doesn't need it 2017-07-15 10:35:58 +02:00
José Manuel
85613da33a Merge pull request #145 from codeofdusk/bass
Update Bass library
2017-07-15 10:30:39 +02:00
268a123449 Fixed #138 2017-07-10 17:46:20 -05:00
4c22c29241 Changed the way used for detecting quoted tweets 2017-07-08 15:42:21 -05:00
Jose Manuel Delicado
7a7634833a Updated pot files 2017-07-08 13:56:09 +02:00
Jose Manuel Delicado
d70b5703d2 Fixed small bugs in reply to dialog title 2017-07-08 13:54:32 +02:00
Bill Dengler
21d6471bb2 Update bass_alac.dll. 2017-07-08 07:02:18 +00:00
Bill Dengler
a492baf486 Check-in additional libraries. 2017-07-08 07:02:12 +00:00
Bill Dengler
0163314e36 Added utility script to ease future updates. Just run it and it will create x86 and x64 dirs. Only depends on standard library. 2017-07-08 07:02:05 +00:00
Bill Dengler
1d7d376ca1 Update several Bass DLLs. 2017-07-08 07:01:54 +00:00
868002c78b Integrated fix for #143 in the main branch 2017-07-07 17:39:09 -05:00
c3b19f42d5 Fixed a typo 2017-07-07 17:23:16 -05:00
ee234995f5 Updated changelog 2017-07-07 17:06:45 -05:00
Jose Manuel Delicado
0472592991 Updated version to 0.91 2017-07-07 20:51:42 +02:00
Jose Manuel Delicado
5b8c28dd73 Updated dependencies upgrade command in readme.md 2017-07-07 20:47:42 +02:00
Jose Manuel Delicado
a8f854cbc5 libloader/com.py: call prepare_gencache() before trying to build the com cache. Fixes #100 2017-07-07 20:33:49 +02:00
80f2e8f984 Fixed sound.py when there are multiple sessions trying to load the library 2017-06-17 21:39:39 -05:00
d4b410cafd Merge pull request #140 from codeofdusk/i140
update sound_lib
2017-06-17 21:15:58 -05:00
Bill Dengler
af04bcfe3f Add new sound_lib files. 2017-06-16 19:05:40 +00:00
Bill Dengler
7349e3b3f3 Update sound_lib. 2017-06-16 19:02:26 +00:00
bf4c09d0bb Fixed getting previous items in searches. Closes #129 2017-06-15 09:57:45 -05:00
adc45ae767 Delete timer objects for buffers before destroying them 2017-06-15 08:26:30 -05:00
2618e0ac90 Language selection for OCR. Fixes #107 2017-05-29 02:25:50 +04:00
3feeb568d8 Updated windows 10 Keymap 2017-05-29 01:45:06 +04:00
fb977a70c2 Fixed unicode errors in account authorisation 2017-05-25 11:59:24 +04:00
c4a06a7bc0 Improved check_connection for avoiding a rece condition. Fixes #136 2017-05-25 11:52:29 +04:00
df5967079c Display users correctly in longtweets. Fixes #135 2017-05-08 14:14:31 +04:00
0a3219d12a Fixed a bugin inverted buffers 2017-05-08 04:12:06 +04:00
77baa06fc3 Fixed a typo 2017-05-08 04:03:00 +04:00
160d168c63 Don't add old tweets in buffers. Fixes #116 and #133 2017-05-07 10:45:35 +04:00
713ac0251b Added donation URL to the list of translatable strings 2017-05-06 23:34:50 +04:00
c655c76196 Fixed error with setters in view tweet dialog 2017-05-06 23:33:56 +04:00
3cf6ac5c06 Re-added SndUp's API key for audio uploads. Fixes #134 2017-05-06 19:40:31 +04:00
43bdb358dd Removed unneeded dependencies 2017-05-06 06:04:29 +04:00
6f622bdeba Switched to yandex.translate. Fixes #132 2017-05-06 05:49:00 +04:00
7e6103473f Merge pull request #131 from codeofdusk/next-gen
Close #130
2017-05-03 12:51:16 +04:00
Bill Dengler
caa051abae Close #130 2017-05-02 20:55:43 +00:00
fbe6eb6250 Updated contributors 2017-04-28 03:35:58 +04:00
b9d8e13bdf Removed TWUp from list of audio services 2017-04-27 04:10:25 +04:00
16a6fa2896 Shows error when loading timeline for suspended users. Fixes #125 2017-04-27 04:01:58 +04:00
Jose Manuel Delicado
089eea4c07 Updated version to 0.90 2017-04-05 10:09:39 +02:00
Jose Manuel Delicado
37e3af1c59 Updated Windows dependencies. Remember to run git submodule update before submiting new commits 2017-04-05 10:05:45 +02:00
562759f57e Updated locales 2017-04-05 02:54:42 -05:00
a9dc188c4b Saves value for mention all button only when the checkbox is shown 2017-03-25 07:54:28 -06:00
cced182063 Avoid timeline creation of unauthorized accounts. Fixes #125 2017-03-24 05:29:50 -06:00
66774174ae Added a few checks before removing buffers in local database 2017-03-24 05:25:02 -06:00
d9e972115b Merge branch 'next-gen' of https://github.com/manuelcortez/TWBlue into next-gen 2017-03-24 05:11:13 -06:00
2d7c8e59dd Allow buffer removal without user interaction. 2017-03-24 05:10:15 -06:00
José Manuel
802c879795 Merge pull request #122 from codeofdusk/next-gen
Re-introduce patch from #23 to fix #121. Use braille output when it is supported in the selected accessible_output2 output class.
2017-03-07 11:14:50 +01:00
Bill Dengler
34f92b8af9 Fix #121 2017-03-06 17:57:33 +00:00
Jose Manuel Delicado
a72e8dd6a4 Updated spelling dictionaries. Remember to run git submodule update 2017-02-24 23:06:44 +01:00
4793aaf5e6 Convert HTML entities to unicode in long tweets. Fixes #118 2017-02-24 09:51:39 -06:00
c136c50afc Add image description from retweets. Fixes #119 2017-02-24 08:49:54 -06:00
Jose Manuel Delicado
3a4b34972d The requests fix is applied in non-frozen copies of TWBlue too. In this case, only the proxy is patched 2017-02-16 11:30:16 +01:00
Jose Manuel Delicado
607da14355 accessible_output2/outputs/auto.py: handle all possible exceptions when adding outputs to the list 2017-02-16 11:26:53 +01:00
Jose Manuel Delicado
17ccc30d9b update/updater.py: removed ConnectionError to handle all possible exceptions 2017-02-15 13:06:46 +01:00
3855407f52 Added config setting for #107 2017-02-14 17:45:22 -06:00
03415f6b24 Added extras panel in account settings, added OCR Language selection for #107 2017-02-14 17:42:46 -06:00
Jose Manuel Delicado
1061967adc TWBlue can run successfully if there are no sessions configured to run at program startup or the Internet connection doesn't work (for example, you are behind a proxy but you haven't configured it yet) 2017-02-13 13:35:32 +01:00
b165d564e0 spellchecker: selects the right language when is set to system. Fixes #117 2017-02-10 02:27:57 -06:00
20c2f844f5 ViewProfile: Show error for suspended accounts 2017-02-01 09:03:22 -06:00
ad9f2452b2 Updated changelog 2017-02-01 03:26:58 -06:00
a86a6f52d6 View profile: Shows an error if user does not exist. Fixes #114 2017-02-01 03:23:29 -06:00
4d82ecc8f2 Removed API Key for sndup. Closes #109 2017-01-29 17:59:57 -06:00
023e0979c6 Fixed a typo 2017-01-29 17:51:44 -06:00
ca6e78cd4d Updated changelog 2017-01-29 17:30:57 -06:00
8f4b1f9695 Don't try to load deleted tweets from twishort 2017-01-29 17:20:37 -06:00
20aaa39bc9 Fixed another bug in check_long_tweet 2017-01-29 16:46:21 -06:00
José Manuel
8197f0c0d9 Merge pull request #111 from Mohamed00/next-gen
Update view.py
2017-01-28 19:21:40 +01:00
Mohamed Al-Hajamy
aa1a3542e5 Update view.py 2017-01-28 12:19:58 -05:00
05c0fefc01 Use get_tweet in ocr function. Fixes #105 2017-01-24 09:21:19 -06:00
1fd90be4cb Merge branch 'next-gen' of https://github.com/manuelcortez/TWBlue into next-gen 2017-01-24 08:18:22 -06:00
05a4e9b6e4 Fixed a bug in long tweet parsing. Fixes #103 2017-01-24 08:15:49 -06:00
Jose Manuel Delicado
9d07fe38b8 Updated version to 0.89 2017-01-22 21:10:45 +01:00
fedf153252 Updated translations 2017-01-22 14:05:36 -06:00
80f9125511 Modified image sound in classic and default soundpack 2017-01-22 13:48:54 -06:00
25c88cea3b Fixed a typo 2017-01-22 09:36:59 -06:00
c9161cd772 Replies made with twishort should display user mentions properly 2017-01-22 09:09:32 -06:00
f7c334ad96 open_timeline: set tweet_mode='extended' during tl creation 2017-01-22 09:00:43 -06:00
59f6cf13ad Fixed bug that prevents documentation to be opened after changelog 2017-01-22 08:56:17 -06:00
3684ec2783 Fixed bug that makes list to crash the client 2017-01-21 16:50:17 -06:00
6baf417d35 Removed old code for proxy support in streaming API modules 2017-01-21 16:06:20 -06:00
db52e8d851 Merge branch 'next-gen' of https://github.com/manuelcortez/TWBlue into next-gen 2017-01-21 15:48:33 -06:00
0bf630d8c0 Added ocr_image to all keymaps 2017-01-21 15:47:58 -06:00
Jose Manuel Delicado
4bd9a2b899 Fixed errors in the installer script 2017-01-21 20:45:52 +01:00
7daacfa809 Updated soundpacks 2017-01-21 13:21:16 -06:00
Jose Manuel Delicado
b586b0729c Updated version to 0.88 2017-01-21 20:04:00 +01:00
d384ad9dd3 Updated interface translations 2017-01-21 12:41:46 -06:00
e7aac6c805 Updated translation catalogs 2017-01-21 12:38:58 -06:00
e34c84697e Updated translations for documentation and changelog 2017-01-21 12:38:16 -06:00
a639604179 Updated changelog 2017-01-21 12:26:45 -06:00
7b5022da09 View_changelog will look for the changelog in the user's language 2017-01-21 12:26:24 -06:00
Jose Manuel Delicado
620ee23edb Updated documentation and changelog 2017-01-17 12:16:21 +01:00
Jose Manuel Delicado
f19d7b0535 setup.py: use x64 bootstrap if we are building the x64 version. Convert application.authors to a single string 2017-01-16 21:50:27 +01:00
José Manuel
a5acc3ef56 Merge pull request #99 from TWBlueQS/next-gen
Corrected the reference to the old application.author
2017-01-16 21:43:01 +01:00
Iván Novegil
40fc175185 Corrected the reference to the old application.author in orderr to compile correctly binary versions again 2017-01-16 21:13:32 +01:00
Jose Manuel Delicado
67dee3e1c1 Added the image sound to all soundpacks 2017-01-16 15:51:05 +01:00
Jose Manuel Delicado
dab8be7c12 The proxy support should be fully functional now 2017-01-16 15:49:49 +01:00
Jose Manuel Delicado
b7dd6d43fe Fixed sintax errors. Added a new option to set the proxy type 2017-01-16 14:11:54 +01:00
Jose Manuel Delicado
8a701c450e Added support for socks4 and socks5 proxies. New Python packages must be installed, see readme for more information 2017-01-16 11:13:51 +01:00
Jose Manuel Delicado
2370c39c15 twitter/twitter.py: remove proxy related code, we don't need it 2017-01-16 10:46:19 +01:00
Jose Manuel Delicado
0851dc23d8 Updated readme. Pypubsub must be version 3.3.0, version 4.0 breaks compatibility with Python 2.x 2017-01-16 10:38:15 +01:00
Jose Manuel Delicado
232d39e0b3 Patched requests.sessions.Session.__init__ to get proxy configuration from config. Now TWBlue should be able to connect to http and https proxies with authentication 2017-01-16 10:35:38 +01:00
2c27a1968f Merge branch 'next-gen' of https://github.com/manuelcortez/TWBlue into next-gen 2017-01-14 06:11:54 -06:00
4d5de6ca69 Save configs when they change. Fixes #95 2017-01-14 06:11:41 -06:00
José Manuel
fb349fc7b4 Merge pull request #97 from codeofdusk/next-gen
Allow users to enable/disable indications of audio tweets, geotweets and image tweets with sound
2017-01-11 17:18:19 +01:00
Bill Dengler
1a4d0d5b9a Implement indicate_audio, indicate_geo and indicate_img (allow user to enable/disable sound indications for audio tweets, geotweets and tweets with images). 2017-01-11 15:26:36 +00:00
Bill Dengler
5eff1b77fe Add indicate_audio, indicate_geo and indicate_img settings. 2017-01-11 15:18:11 +00:00
6bb534d250 fixed a bug about timeline creations introduced a few commits ago 2017-01-10 17:42:26 -06:00
2d8c706cde Updated documentation and translation catalogs 2017-01-10 17:38:47 -06:00
4e702c5428 Merge pull request #96 from Mohamed00/next-gen
Update soundsTutorial_constants.py
2017-01-10 10:14:03 -06:00
Mohamed00
6717cb5154 Update soundsTutorial_constants.py
Fixed a typo in the menu for the image sound.
2017-01-08 00:43:14 -05:00
590f59ca63 stop adding user's own quoted tweets to the mentions buffer 2017-01-07 07:45:49 -06:00
6bad20b784 Added media tweet to the sounds tutorial 2017-01-07 07:01:58 -06:00
146667144a Play a sound when a tweet contains images 2017-01-07 06:58:53 -06:00
cc60235503 Fixed bug when loading TWBlue's keys lib 2017-01-05 11:24:46 -06:00
31a149b022 Fixed a bug in long replies made with Twishort 2017-01-03 20:35:53 -06:00
ec58d02bb3 Added OCR support via the ocr.space API. Closes #93 2017-01-03 08:30:58 -06:00
516acb501a Added an option for displaying usernames instead full names 2017-01-02 13:19:16 -06:00
88a706dd7d Updated changelog and list of contributors 2017-01-02 11:47:56 -06:00
6d887d5762 Added code compatibility for username based timelines. Fixes #91 2017-01-02 11:17:47 -06:00
cd7fb6d36f Work with user IDS instead usernames in all timelines 2017-01-02 10:47:44 -06:00
Jose Manuel Delicado
020148ac0a twitter/authorisationHandler: call self.finish() after completing the http request in the local server 2016-12-29 19:38:18 +01:00
9d0558468a Only copy changed keystrokes in keymap.keymap and let unchanged entries in the main file 2016-12-29 11:41:31 -06:00
7d188a40b2 Updated translation catalog. Added changelog catalog 2016-12-29 11:14:17 -06:00
0c3d956d96 Updated changelog and documentation 2016-12-29 10:49:24 -06:00
44ca5a7f83 Fixed long tweets display for retweeted statuses 2016-12-29 10:47:18 -06:00
Jose Manuel Delicado
cdedd41101 Updated readme 2016-12-27 13:29:26 +01:00
Jose Manuel Delicado
87c113986d Updated Windows dependencies. Run git submodule update to get the changes 2016-12-27 13:26:17 +01:00
Jose Manuel Delicado
b0a6634e20 Updated NSIS script. Now it should be compatible with NSIS 3.0 2016-12-27 13:24:22 +01:00
53388696b6 Twishort shouldn't be added in some replies. Fix #90 2016-12-19 11:43:32 -06:00
fe7a69f490 Added changelot to translatable documentation 2016-12-09 10:35:42 -06:00
1351712db4 Changed how replies works in TWBlue 2016-12-09 10:15:39 -06:00
ca0f00e27d Merge pull request #85 from TWBlueQS/next-gen
Added the date indication to the new updates available dialog and updated readme
2016-11-09 13:18:06 -06:00
Jose Manuel Delicado
6290815a0c Updated Windows dependencies with a new catalan spelling dictionary 2016-10-22 23:32:50 +02:00
4a1162005d Fix for displaying mentions in twishort replies 2016-10-19 17:38:30 -05:00
72b4873dce All extended tweets should be handled successfully 2016-10-19 16:57:41 -05:00
a1ccdd6bf4 Merge branch 'next-gen' of https://github.com/manuelcortez/TWBlue into next-gen 2016-10-19 16:56:13 -05:00
2cad567537 Removed some unneeded log messages 2016-10-19 16:55:07 -05:00
Jose Manuel Delicado
bb0af61483 Removed Technow from copyright 2016-10-13 20:22:59 +02:00
7a2e51ef03 Added changelog to the translatable documentation 2016-10-09 10:45:47 -05:00
b3451e229d Updated documentation 2016-10-09 10:17:21 -05:00
32dd232350 Changes to keystrokes are reflected in keystroke editor automatically 2016-10-09 09:03:21 -05:00
Manuel Eduardo Cortéz Vallejo
656b031c5c Merge branch 'next-gen' of https://github.com/manuelcortez/TWBlue into next-gen 2016-10-08 11:47:55 -05:00
Manuel Eduardo Cortéz Vallejo
0f2bd2a9e1 Fixed a typo 2016-10-08 11:46:25 -05:00
Jose Manuel Delicado
12f47b85af Updated version to 0.87 2016-10-04 22:06:24 +02:00
30c0a8249e Removed an unneeded file in the romanian translation 2016-10-04 14:52:32 -05:00
62e51ad14b Updated translations 2016-10-04 14:49:55 -05:00
d076ed1f56 Fixed an exception where mention to all checkbox was not being shown 2016-10-04 09:35:18 -05:00
9bbe325517 Mention all status (enabled/disabled) will be saved in config 2016-10-04 03:55:36 -05:00
6f5ef6d3f1 Fixed reply to single user in tweets with multiple users 2016-10-04 03:37:12 -05:00
378d277a98 Fixed some bugs related to extended tweets 2016-10-03 22:54:54 -05:00
Jose Manuel Delicado
2fdbcbc152 Updated translation templates 2016-10-02 21:17:14 +02:00
Jose Manuel Delicado
ef7ba0fe40 Updated Windows 10 keymap. The authorization message returned by the webbrowser when authorizing a new account now is translatable 2016-10-02 20:46:27 +02:00
Jose Manuel Delicado
3c5de10fe6 pa.c/appinfo.ini: updated format version to 3.4 2016-10-02 17:04:37 +02:00
Jose Manuel Delicado
230e0fa951 Removed unnecesary txt file from arabic translation folder 2016-10-02 16:47:54 +02:00
31192a5801 Updated locales 2016-10-02 09:40:45 -05:00
f1c974b4cf Reply to tweets will always be quotes 2016-10-02 09:11:02 -05:00
Jose Manuel Delicado
a9f9cb7969 Updated Windows dependencies. Updated readme 2016-10-02 15:20:14 +02:00
Jose Manuel Delicado
3a3393e03a Increased version number to 0.86 2016-10-02 15:14:32 +02:00
3a7c0c8f12 Added a fix for composing tweets in the new way twitter provides them 2016-10-02 07:54:23 -05:00
bd2460e42b Return false in twishort module if a long tweet has been deleted 2016-10-02 07:52:02 -05:00
Jose Manuel Delicado
2dd262cc83 TWBlue can now send long tweets directly to twishort. TWBlue server is nolonger used for this purpose 2016-10-02 14:35:54 +02:00
Jose Manuel Delicado
a2cf1ac8d0 Merge branch 'next-gen' of github.com:manuelcortez/twblue into next-gen 2016-10-02 10:38:40 +02:00
df345b5eec Initial support for extended tweets 2016-09-28 17:25:03 -05:00
Jose Manuel Delicado
b535c996d6 Merge branch 'next-gen' of github.com:manuelcortez/twblue into next-gen 2016-08-13 12:37:06 +02:00
b131f50d42 Updated windows 10 keymap 2016-08-12 23:40:56 -05:00
d729f86898 Merge pull request #87 from masonasons/next-gen
Adds functions to seek the playing audio forward or back 5 seconds.
2016-08-11 03:00:31 -05:00
Mason Armstrong
51ef047fb6 Adds functions to seek the playing audio forward or back 5 seconds. Adds function in audio_player to play/pause the audio but wouldn't work right when bound to the UI so not implemented. 2016-08-10 21:59:19 -05:00
Iván Novegil
2497d01bd6 Updated documentation explaining how to add additional enchant dictionaries. 2016-08-08 17:57:28 +02:00
Iván Novegil
a57c44d566 Merge branch 'next-gen' of https://github.com/manuelcortez/twblue into next-gen 2016-08-08 17:16:25 +02:00
Jose Manuel Delicado
5565e08610 Updated translations and documentation 2016-08-06 22:40:10 +02:00
ab65a8f6db Fixed order for some timelines at startup 2016-08-06 15:11:10 -05:00
7f3c363da8 Call shelf for sessions every 5 minutes 2016-08-06 14:47:42 -05:00
7bc26a94c7 Fixed a bug with database and put_items_on_list 2016-08-06 14:09:27 -05:00
Jose Manuel Delicado
47b8575f55 Updated translations and documentation 2016-08-06 18:40:20 +02:00
Jose Manuel Delicado
2a27998831 Fixed sintax error in setup.py 2016-08-06 18:30:17 +02:00
Jose Manuel Delicado
a64e89994f Added spelling dictionaries for almost all application languages. Setup.py has been modified to handle them automatically. Remember running git submodule update. Increased version number to 0.85. Updated readme 2016-08-06 18:22:54 +02:00
05a8cb7a28 Added run at startup option for installed version 2016-08-05 15:31:22 -05:00
Jose Manuel Delicado
b2ebbf5b7a Merge branch 'next-gen' of github.com:manuelcortez/twblue into next-gen 2016-08-05 15:50:59 +02:00
Jose Manuel Delicado
a03ef851e3 The buffers dialog in account configuration now includes the buffer translated name 2016-08-05 15:50:46 +02:00
7a8d000635 Updated documentation. Updated translation catalogs 2016-08-05 08:34:28 -05:00
Iván Novegil
6a056749af Merge branch 'next-gen' of https://github.com/manuelcortez/twblue into next-gen 2016-08-05 09:48:56 +02:00
41b10e3a84 Long tweets are displayed properly in lists 2016-08-04 17:40:07 -05:00
4056c73052 Updated documentation and process to generate html files 2016-08-04 09:19:47 -05:00
ef95244f0c Merge branch 'next-gen' of https://github.com/manuelcortez/TWBlue into next-gen 2016-08-04 08:07:50 -05:00
143ad70073 Fixed a bug with session reconnection 2016-08-04 08:06:39 -05:00
817d7bd6bb Disabled response for tweet deletions due to a bug 2016-08-04 08:02:46 -05:00
Iván Novegil
99bdaca6f0 Based on the idea proposed by @jmdaweb. Added the date indication to the available update dialog.
ATTENTION!: It will be needed to add the date field to the json for the updates. With this commit (updates folder) is the format I propose to the string.
2016-08-03 18:35:46 +02:00
3fca5c20fb Merge pull request #84 from TWBlueQS/next-gen
Fixed a bug with galician, vasque and catala languages and arrow when selecting user default as application's language.
2016-08-03 11:07:13 -05:00
Iván Novegil
a373ef8dff Fixed a bug with galician, vasque and catala languages and arrow when selecting user default as application's language. 2016-08-03 17:55:33 +02:00
696d1764bd Changes default keymap to win10 keymap automatically 2016-08-03 09:45:31 -05:00
14b2189840 Merge branch 'next-gen' of https://github.com/manuelcortez/TWBlue into next-gen 2016-08-02 05:38:34 -05:00
16a94aded1 fixed a typo in the russian translation 2016-08-01 15:54:20 -05:00
Jose Manuel Delicado
d352aaeaac Fixed bugs in galician translation 2016-08-01 16:45:01 +02:00
Jose Manuel Delicado
9250aad80b Updated version to 0.84 2016-07-31 20:55:22 +02:00
Jose Manuel Delicado
6e9be63029 Updated translations and documentation 2016-07-31 18:24:47 +02:00
92d8c7257e Changes in long tweet checkbox are reflected in the title bar 2016-07-28 12:45:06 -05:00
Jose Manuel Delicado
6a265f0203 When posting a tweet or dm, the dialog title bar will be updated if an URL is shortened, the tweet is translated or we apply spell checking 2016-07-28 12:35:28 +02:00
Jose Manuel Delicado
b30a0ac25b Call urllib.quote() in the patched urllib3 function 2016-07-28 00:13:16 +02:00
Jose Manuel Delicado
212f49df08 Patched urllib3 included in requests to avoid encoding audio filenames 2016-07-27 23:26:51 +02:00
2c58645e02 Merge branch 'next-gen' of https://github.com/manuelcortez/TWBlue into next-gen 2016-07-27 12:07:54 -05:00
e11a727a77 Updated translations: Russian, finnish, french, german, italian and romanian 2016-07-27 12:07:27 -05:00
Jose Manuel Delicado
d2123fdab7 Try to fix Audio Uploader when the audio file name contains non-ascii characters 2016-07-27 19:05:35 +02:00
45263732b8 Fixed focus movement in tweets. Needs tests 2016-07-27 11:56:38 -05:00
d50e8e2798 Fixed a bug with URLS in complex tweets 2016-07-25 13:58:05 -05:00
Jose Manuel Delicado
990ddf64f5 Updated version to 0.83. Added romanian documentation 2016-07-24 10:59:41 +02:00
ff529eacb4 Updated russian and turkish updates 2016-07-24 02:51:30 -05:00
Jose Manuel Delicado
238607bbe7 Updated pa.c format specification to version 3.3. Now setup.py collects all documentation, including license.txt 2016-07-24 00:31:45 +02:00
0aa51d9529 Updated contributors list 2016-07-23 16:54:53 -05:00
3815ce0a67 Enter will create a new tweet in trends buffers 2016-07-23 16:40:40 -05:00
5e91808b73 Added russian to documentation translations 2016-07-23 16:39:59 -05:00
08259cdf16 Updated program translations 2016-07-23 16:38:53 -05:00
0bbb3afde0 Now is possible to update a conversation 2016-07-23 16:24:06 -05:00
3c0110528f The documentation optino in the sys tray icon is enabled and working 2016-07-23 15:43:38 -05:00
18b52e8909 Fixed load of new items in the visible timeline with inverted buffers 2016-07-20 04:47:39 -05:00
037cfec91a Fixed some shorcuts for dialogs 2016-07-19 09:30:43 -05:00
695b35031e Fixed a bug with long tweets when posting 2016-07-19 09:06:43 -05:00
f9d869e824 Fixed a few issues with long tweets 2016-07-18 09:56:22 -05:00
c1c001ad96 Merge branch 'next-gen' of http://manuelcortez.net:1337/twblue/twblue into next-gen 2016-07-15 12:41:07 -05:00
d768afc329 Image uploader has been rewritten. Images can have description when uploading 2016-07-15 12:29:48 -05:00
Jose Manuel Delicado
4186f1a3e6 Merge branch 'next-gen' of manuelcortez.net:twblue/twblue into next-gen 2016-07-03 20:58:15 +02:00
Jose Manuel Delicado
2eac158a39 Updated Windows dependencies. 2016-07-03 20:57:24 +02:00
1ee629d731 Improving quoted retweets 2016-06-28 10:41:13 -05:00
5590ab47ee Possibly fixes errors with duplicates and focus change in the list 2016-06-28 10:11:56 -05:00
b555ed736c Modified .gitignore 2016-06-27 20:52:51 -05:00
da39f40048 Changed way of detecting quoted statuses. Parsing improvements in tweet displayer 2016-06-27 09:44:36 -05:00
b1cf1c5590 Fixed some things related to twishort's tweets 2016-06-25 19:48:21 -05:00
48232a6cf8 Added set_description to twython API 2016-06-25 17:42:25 -05:00
3bc92af55f Removed sessions when configuration is malformed 2016-05-13 12:09:38 -05:00
Jose Manuel Delicado
5e9218b072 Updated dependencies. Updated documentation about how to build the pa.c version 2016-05-09 10:17:32 +02:00
Jose Manuel Delicado
65f860ceef Installer: upgraded all version strings to 0.82 2016-05-08 12:34:06 +02:00
Jose Manuel Delicado
b9b8145bca Added function com_path() to paths.py. This function is now used in libloader/com.py. Added winpaths to the easy_install example in readme.md. Updated application.py in doc folder. 2016-05-08 11:54:10 +02:00
Jose Manuel Delicado
7fab6bcf54 setup.py: retrieve cacert.pem from requests package. Create application compressed archive. Added a fix for requests to support cacert.pem in different locations. 2016-05-08 00:08:40 +02:00
Jose Manuel Delicado
7ad5e6fa37 Goodbye, Pycurl. Now TWBlue uses requests and requests-based packages for all http connections. Remember to run git submodule update before submiting any commits 2016-05-07 19:26:40 +02:00
Jose Manuel Delicado
f6fec67d52 Small fix in audio uploader 2016-05-06 18:23:26 +02:00
Jose Manuel Delicado
b3cac85c4e AudioUploader: some code cleaning, optimizations and bug fixes 2016-05-06 17:38:17 +02:00
Jose Manuel Delicado
ff49bd2488 extras/audioUploader/transfer.py: use pycurl.XFERINFOFUNCTION; PROGRESSFUNCTION is deprecated since libcurl 7.32. Only convert_bytes is imported from utils module. 2016-05-06 10:24:01 +02:00
Jose Manuel Delicado
45f23a4c8a To protect users privacy, TwUp has been placed after SNDUp in audio services list 2016-05-05 19:15:13 +02:00
Jose Manuel Delicado
a67a5e6264 Updated Windows dependencies. Remember to run git submodule update before submiting new commits. 2016-05-01 10:35:05 +02:00
8988d63f33 Fixed audio upload dialog 2016-04-30 06:16:16 -05:00
2268619101 some improvements in long tweets 2016-04-28 13:54:06 -05:00
a312b7f63c Integrate check for updates at startup in the general tab 2016-04-27 16:33:51 -05:00
92d803717f Added Tweet deletion based in streaming events 2016-04-16 13:31:37 -05:00
2124f6c60b Merge pull request #70 from TWBlueQS/next-gen
Added version indication on the issue-reporting system
2016-04-16 11:31:23 -05:00
29c87dbd3f Merge pull request #79 from codeofdusk/postabandon1
post-abandonment : stage I
2016-04-16 11:29:05 -05:00
1ea3c5d23b Merge pull request #78 from codeofdusk/next-gen
English cleanup
2016-04-16 11:25:02 -05:00
Bill Dengler
547f9393b9 Post-abandonment stage I (add tab to settings, add option to check for updates on app launch). Fixed #76 2016-04-15 18:08:50 -04:00
Bill Dengler
16b34c827b Update readme.
Clean up readme.

change favorite to like in README.
2016-04-15 16:57:50 -04:00
Bill Dengler
56f0f37f39 Fix soundnotes.
Fix soundnotes.

Fix soundnotes.

Add information to soundnotes.

Fixed soundnotes.
2016-04-15 16:57:40 -04:00
3e9143d607 Display direct message dialog properly. Fixed #75 2016-04-11 08:21:29 -05:00
da07859138 When session mute is enabled, you shouldn't hear tl's and lists' updates 2016-04-02 06:57:50 -06:00
dfc2b605f5 Added audio playback from soundcloud 2016-04-02 03:10:29 -06:00
8badd3987a Storage: Removed clean the local database before being deleted 2016-04-02 02:59:59 -06:00
7139a2bcb3 Conversations: Ignores deleted tweets and 404 errors 2016-04-01 08:55:30 -06:00
c4e2c3b57a Fixed photo upload when posting tweets 2016-03-29 16:09:44 -06:00
ed95270d3b Updated twython 2016-03-29 16:09:09 -06:00
edd45a1adf Image description is shown in the view tweets dialogue if is possible 2016-03-29 15:12:16 -06:00
f24d5fec4e Merge branch 'next-gen' of https://github.com/manuelcortez/TWBlue into next-gen 2016-03-28 17:35:57 -06:00
a9b47bb1a4 Tweets made from Rossiyskaya Gazeta don't break the tweets' viewer anymore 2016-03-28 17:35:00 -06:00
8849ce9039 Removed pocket from configuration 2016-03-28 17:03:36 -06:00
Jose Manuel Delicado
8b4f16ef84 Updated version to 0.82. Stable.json: updated version to 0.81 2016-03-28 13:16:25 +02:00
dbbe6c0600 TWBlue 0.81 has been officially released 2016-03-25 01:24:30 -06:00
3caef5fc81 Updated translations 2016-03-24 22:33:53 -06:00
7cd58708cc Added FightingGames as an official soundpack. @deng90 2016-03-24 22:32:28 -06:00
0814af3bf4 Added notes to the Qwitter soundpack 2016-03-24 22:30:52 -06:00
72ba5a74f5 Minor changes before the next release 2016-03-24 22:18:51 -06:00
cbc301141e Updated translation templates 2016-03-24 22:17:54 -06:00
f466516289 Merge pull request #72 from Oliver2213/next-gen-fork
Fix an error where the geolocate dialog wasn't loading properly
2016-03-23 23:44:01 -06:00
4eef236b1c Merge pull request #73 from Oliver2213/shortcutfix
Fix duplicate shortcut in the reply to tweet dialog
2016-03-23 23:43:24 -06:00
Blake Oliver
ce00083aa2 Fix duplicate shortcut in the reply to tweet dialog
Mention all is now alt+m, translate stays alt+t
2016-03-22 18:35:14 -04:00
Blake Oliver
f92e05ce72 Fix an error where the geolocate dialog wasn't loading properly
For some reason, a standard tweet dialog was being used to display this information, which comes along with spell check, translate, etc; functions a simple geolocate display box doesn't need.
The error was happening because the tweet show dialog was accepting (tweet, tweetList, is_tweet=True) as args, and the call to display the geodata was only providing geodata as tweet, and false as tweetList.
This method signature was erroring out because is_tweet was set to True by default; the False was being accepted as tweetList, which the method later tries to call __str__ which it doesn't have.
I could have just added the is_tweet keyword, but then I would need to change the signature so tweetList is set to none by default, update the method, bla, bla, bla. Too much work.
Instead I added another function in wxUI.commonMessageDialogs called view_geodata, which just accepts the data in question as an argument and displays that in a message box.
2016-03-22 11:21:27 -04:00
c02a11f269 Merge pull request #71 from Oliver2213/next-gen-fork
Add hotkeys for some dialogs, making navigation much faster
2016-03-20 10:47:22 -06:00
Blake Oliver
c79e659b74 Add hotkeys for some dialogs, making navigation much faster 2016-03-20 10:26:05 -04:00
da8009aea0 If a config file is bad formed, it should print errors in logs 2016-03-19 20:59:04 -06:00
2778d2e85d Fixed the chicken nugget keymap 2016-03-19 20:58:14 -06:00
ce9a50903c Changed tokens to the stable version 2016-03-19 20:08:48 -06:00
9a7d39c125 Don'w show relationship status if there is any relationship between user 2016-03-19 20:08:20 -06:00
89759e7d49 Merge branch 'next-gen' of https://github.com/manuelcortez/TWBlue into next-gen 2016-02-20 06:53:02 -06:00
7ca9d42f5f Added a new contributor. Welcome and thanks @ButchullaWoman! 2016-02-20 06:52:39 -06:00
Jose Manuel Delicado
6a6bec880c SessionManager.WXUI: now the dialog title is translatable 2016-02-20 13:51:12 +01:00
7b22c7d0f8 Added relationship information in user details dialogue. 2016-02-20 06:43:56 -06:00
058866831b Fixed an unhandled exception in updater 2016-02-20 06:34:26 -06:00
229f698e72 Added a mirror URL for checking updates if the main URL is not working 2016-02-19 09:15:46 -06:00
32067d3171 Added json files for the updater 2016-02-19 09:08:27 -06:00
a8f7477a1f new snapshot 2016-02-02 09:38:43 -06:00
9b6461e34e Updated translations 2016-02-02 09:37:06 -06:00
eed3f81cb8 Added a changelog html file 2016-02-02 09:30:13 -06:00
e605c750b1 Spell checker: Now it should work with the default language setting 2016-02-02 09:29:35 -06:00
f49be6cfed Merge branch 'next-gen' of https://github.com/manuelcortez/TWBlue into next-gen 2016-02-02 09:09:56 -06:00
696faed007 Fixed a bug in the spell checker 2016-02-02 09:07:40 -06:00
Iván Novegil
70169a2a4a Merge branch 'next-gen' of https://github.com/manuelcortez/twblue into next-gen 2016-01-31 12:18:19 +01:00
Jose Manuel Delicado
46b46c4d6d Some important code fixes 2016-01-30 17:14:41 +01:00
Iván Novegil
0875b7ef92 Merge branch 'next-gen' of https://github.com/manuelcortez/twblue into next-gen 2016-01-22 18:08:11 +01:00
Jose Manuel Delicado
9cdccca5ff Updated Windows dependencies with the new pa.c installer 3.1.1 2016-01-21 14:00:21 +01:00
Iván Novegil
e3e4fa42db Merge branch 'next-gen' of https://github.com/manuelcortez/twblue into next-gen 2016-01-20 21:11:33 +01:00
Iván Novegil
6e0c6de0af Now the application indicates the user's version and if it's snapshot or not when reporting an issue trough the issue-reporter 2016-01-20 21:04:33 +01:00
Jose Manuel Delicado
564bee3850 Updated Windows dependencies. Updated readme with information about the new pywin32 and pycurl releases 2016-01-20 20:52:44 +01:00
Jose Manuel Delicado
79e723f740 Updated windows dependencies. Run git submodule update. 2016-01-20 20:28:54 +01:00
Jose Manuel Delicado
08a2eca98d Main.py: check if Uninstall.exe exists before importing commandline and other modules 2016-01-20 09:18:27 +01:00
Jose Manuel Delicado
c830d4b5b4 The -i and -p switches aren't required anymore on installed and portable versions 2016-01-19 19:52:09 +01:00
112391afeb Merge pull request #68 from masonasons/next-gen
Trimmed the sounds in the soundpack.
2016-01-11 13:41:06 -06:00
masonasons
39e0431b97 Trimmed the beginnings of the sounds in the Default soundpack 2016-01-09 01:01:20 -06:00
071d75926b Opus support for TWBlue. Code by @masonasons 2016-01-09 00:46:33 -06:00
56b64e5c6d Added source in view tweet dialogue. @masonasons 2016-01-09 00:45:52 -06:00
b8cfd60c9e bugfix 2016-01-09 00:25:28 -06:00
691a9ae17d Fixed remove_buffer and load_previous_items for friends and users timelines 2015-12-29 08:31:13 -06:00
214b9a8809 Fixed a bug with the restart_stream function 2015-12-28 09:05:09 -06:00
e85f54e15c Merge pull request #67 from Oliver2213/update-readme
Update the "upgrade all" command to include missing dependencies
2015-12-27 11:09:59 -06:00
blake oliver
d2245c33ce Update the "upgrade all" command to include missing dependencies 2015-12-27 11:43:25 -05:00
ff6695bba3 Added ANY in the language list for tweet searches 2015-12-27 00:03:15 -06:00
cdcdc86627 Changed go_page_up and go_page_down in the win10 default keymap 2015-12-26 23:39:31 -06:00
b4addf9329 Add update buffer option to the menu bar 2015-12-26 23:34:19 -06:00
9d0c9cfdb5 Don't get new items for people buffers 2015-12-26 23:28:46 -06:00
0afba81c71 Update buffers by pressing ctrl+win+shift+u; workaround for dm issues 2015-12-26 09:02:08 -06:00
0882e4707d Removed an unneeded import in translator module 2015-12-23 09:52:32 -06:00
78079e142f Changed handlers for sent direct messages 2015-12-23 09:51:09 -06:00
00a4203e1a Switched to the microsoft translator 2015-12-23 09:48:50 -06:00
c4fae3b70b Windows key is no longer required in keymap editor 2015-12-17 08:28:20 -06:00
b8dfa4a5e8 added audio playback to the keymap editor 2015-12-16 20:16:18 -06:00
1ca1862a08 Merge branch 'next-gen' of https://github.com/manuelcortez/TWBlue into next-gen 2015-12-16 16:40:30 -06:00
ba76c74324 Minor changes in session controller 2015-12-16 16:32:58 -06:00
Jose Manuel Delicado
dda37f0083 Updated windows dependencies. Run git submodule update before submiting new commits. Updated readme.md with information about the portableapps.com format. 2015-12-14 13:46:55 +01:00
65c353450e Improvements in the tweets' searched 2015-12-09 17:25:46 -06:00
2bfb53abe1 Added showing followers and friends timelines 2015-12-09 11:51:37 -06:00
ab08eada81 Fixed TWBlue in non-ascii paths 2015-12-09 10:05:17 -06:00
Jose Manuel Delicado
5fcc1de9a5 Updated windows dependencies, remember to run git submodule update after pulling the repository! Removed wheel information about pycurl in readme and updated download links 2015-11-30 17:38:58 +01:00
Jose Manuel Delicado
baeb0f7ae8 Updated pa.c format to version 0.80, added romanian language to the installer 2015-11-30 11:50:59 +01:00
333158a7be New stable version 2015-11-29 20:32:08 -06:00
f24c0955ce ADded libraries for the new stable version. 2015-11-28 10:24:16 -06:00
67412125df Removed pocket related things 2015-11-28 09:54:58 -06:00
f8e14d7040 Added new languages to the doc generator 2015-11-28 09:47:24 -06:00
4532cf867a Undated translations for documentation 2015-11-28 09:46:09 -06:00
79d2f70be9 Added romanian translation. Updated translations 2015-11-28 09:40:16 -06:00
b4eb11a6de Some list improvements 2015-11-27 09:17:14 -06:00
45f663a462 Updated documentation with translators list 2015-11-27 09:16:48 -06:00
5b8ce7757c Modified translators list 2015-11-27 08:24:28 -06:00
e47e0ba3f5 Added more detailed information about licenses 2015-11-27 08:05:41 -06:00
105debe4da Fixed duplicated streams. Removed unneeded code for connection checkers 2015-11-23 10:30:23 -06:00
a053788cce Added code for the future romanian translation 2015-11-23 09:35:21 -06:00
6d578d5203 Fixed a bug with twishort in the longtweets handler 2015-11-18 09:26:07 -06:00
21aacfc2af NEw version 10.96 2015-11-06 09:00:47 -06:00
93dc3ad646 New snapshot 2015-11-03 10:13:09 -06:00
8e67ed025c Changed favourites for likes 2015-11-03 10:07:06 -06:00
fa1b8bfde3 Added more keystrokes to the invisible interface 2015-11-03 09:02:19 -06:00
7dfe2cbb5c Lists should work 2015-11-03 05:56:57 -06:00
880c421f3e added check for updates to the invisible interface 2015-11-03 05:25:03 -06:00
e1b8d49af5 manage_stream_errors will only delete the stream objects 2015-11-03 04:42:38 -06:00
e1d14b8c27 Now conversation buffers are removed properly 2015-11-03 04:41:01 -06:00
594b0cd546 Translator is working properly again 2015-11-03 04:40:05 -06:00
fe9f724673 Updated accessible_output2. Add mac and a better linux support 2015-11-03 04:38:59 -06:00
6a4a3cc94e Cache com saved in data directory. Translation service restored 2015-10-31 20:57:21 -06:00
Jose Manuel Delicado
af41dcfc4e com.py: use config_path instead of data_path. Paths.py: some strings weren't appended as unicode 2015-10-24 23:01:23 +02:00
31611d8429 Merge branch 'next-gen' of https://github.com/manuelcortez/TWBlue into next-gen 2015-10-23 11:37:43 -05:00
7ed44c839e New snapshot 2015-10-23 11:36:36 -05:00
503c65692d FFix for creating favourites timelines 2015-10-23 11:33:56 -05:00
f76b86b24d A sound bugfix 2015-10-23 11:29:59 -05:00
1f96e71b63 workaround for duplicated tweets 2015-10-23 11:28:54 -05:00
Jose Manuel Delicado
cc249fe1a7 Added japanese, croatian and serbian (latin) languages to the installer 2015-10-19 12:47:52 +02:00
Jose Manuel Delicado
268bd35f3a Updated windows dependencies. Remember to run git submodule update before submiting new commits 2015-10-19 10:52:05 +02:00
Jose Manuel Delicado
0307c0abe3 Fixed com cache error 2015-10-18 22:18:43 +02:00
Jose Manuel Delicado
adf062f654 Now com cache is stored in the config folder, so program files folder keeps untouched on installed copies. Updated contributors in application.py, fixed spelling in some comments in main.py 2015-10-18 12:19:43 +02:00
70b5f25cf0 New snapshot 2015-10-15 08:55:54 -05:00
2b65b89afb Disabled translation service 2015-10-15 08:54:30 -05:00
44e8ed6456 Removed send errors in some functions 2015-10-14 20:38:42 -05:00
792655e299 Improved stream reconnection 2015-10-14 17:30:41 -05:00
0f56d8cdd4 Quoted tweets again 2015-10-14 17:07:57 -05:00
6c47dd2fa9 Some fixes for URL Player 2015-10-14 17:07:30 -05:00
Jose Manuel Delicado
49073bc151 Added new packages to readme.md. Now setup.py adds wx localization files to the binary version. 2015-10-04 18:15:09 +02:00
Jose Manuel Delicado
336acd9860 updated translations 2015-10-03 13:25:23 +02:00
4daeeb7beb Disable some things before snapshot 2015-10-03 05:12:22 -05:00
408ff50404 New snapshot 2015-10-03 04:55:02 -05:00
148c5176c6 Reverted quoted tweets support 2015-10-03 04:34:43 -05:00
bdb9de863f A fw bugfixes 2015-10-02 15:52:08 -05:00
646 changed files with 133674 additions and 83219 deletions

6
.gitignore vendored
View File

@@ -16,4 +16,8 @@ src/Microsoft.VC90.CRT
src/Microsoft.VC90.MFC
src/launcher.bat
src/sounds/iOs
release-snapshot/
release-snapshot/
src/com_cache/
doc/strings.py
doc/changelog.py
env/

165
.gitlab-ci.yml Normal file
View File

@@ -0,0 +1,165 @@
variables:
GIT_SUBMODULE_STRATEGY: recursive
PYTHON: "C:\\python310\\python.exe"
PYTHON37: "C:\\python37\\python.exe" # for Windows 7 support.
NSIS: "C:\\program files (x86)\\nsis\\makensis.exe"
stages:
- build
- make_installer
- upload
twblue32:
tags:
- shared-windows
- windows
- windows-1809
before_script:
- Set-Variable -Name "time" -Value (date -Format "%H:%m")
- echo ${time}
- echo "started by ${GITLAB_USER_NAME}"
- choco install python --version 3.10.8 -y -ForceX86
- '&$env:PYTHON -V'
- '&$env:PYTHON -m pip install --upgrade pip'
- '&$env:PYTHON -m pip install --upgrade https://github.com/josephsl/wxpy32whl/blob/main/wxPython-4.2.0-cp310-cp310-win32.whl?raw=true'
- '&$env:PYTHON -m pip install --upgrade -r requirements.txt'
stage: build
interruptible: true
script:
# Create html documentation firstly.
- cd doc
- '&$env:PYTHON documentation_importer.py'
- cd ..\src
- '&$env:PYTHON ..\doc\generator.py'
- '&$env:PYTHON write_version_data.py'
- New-Item "appkeys.py" -ItemType File -Value "twitter_api_key='$TWITTER_API_KEY'`ntwitter_api_secret='$TWITTER_API_SECRET'"
- '&$env:PYTHON setup.py build'
- cd ..
- mkdir artifacts
- cd scripts
- '&$env:PYTHON make_archive.py'
- cd ..
- mv src/dist artifacts/TWBlue
- move src/twblue.zip artifacts/twblue_x86.zip
# Move the generated script nsis file to artifacts, so we won't need python when generating the installer.
- move scripts/twblue.nsi artifacts/twblue.nsi
only:
- tags
artifacts:
paths:
- artifacts
expire_in: 1 day
twblue64:
tags:
- shared-windows
- windows
- windows-1809
before_script:
- Set-Variable -Name "time" -Value (date -Format "%H:%m")
- echo ${time}
- echo "started by ${GITLAB_USER_NAME}"
- choco install python --version 3.10.8 -y
- '&$env:PYTHON -V'
- '&$env:PYTHON -m pip install --upgrade pip'
- '&$env:PYTHON -m pip install --upgrade -r requirements.txt'
stage: build
interruptible: true
script:
# Create html documentation firstly.
- cd doc
- '&$env:PYTHON documentation_importer.py'
- cd ..\src
- '&$env:PYTHON ..\doc\generator.py'
- '&$env:PYTHON write_version_data.py'
- New-Item "appkeys.py" -ItemType File -Value "twitter_api_key='$TWITTER_API_KEY'`ntwitter_api_secret='$TWITTER_API_SECRET'"
- '&$env:PYTHON setup.py build'
- cd ..
- mkdir artifacts
- cd scripts
- '&$env:PYTHON make_archive.py'
- cd ..
- mv src/dist artifacts/TWBlue64
- move src/twblue.zip artifacts/twblue_x64.zip
only:
- tags
artifacts:
paths:
- artifacts
expire_in: 1 day
twblueWin7:
tags:
- shared-windows
- windows
- windows-1809
before_script:
- Set-Variable -Name "time" -Value (date -Format "%H:%m")
- echo ${time}
- echo "started by ${GITLAB_USER_NAME}"
- choco install python --version 3.7.9 -y -ForceX86
- '&$env:PYTHON37 -V'
- '&$env:PYTHON37 -m pip install --upgrade pip'
- '&$env:PYTHON37 -m pip install --upgrade https://github.com/josephsl/wxpy32whl/blob/main/wxPython-4.2.0-cp37-cp37m-win32.whl?raw=true'
- '&$env:PYTHON37 -m pip install --upgrade -r requirements.txt'
stage: build
interruptible: true
script:
# Create html documentation firstly.
- cd doc
- '&$env:PYTHON37 documentation_importer.py'
- cd ..\src
- '&$env:PYTHON37 ..\doc\generator.py'
- '&$env:PYTHON37 write_version_data.py'
- New-Item "appkeys.py" -ItemType File -Value "twitter_api_key='$TWITTER_API_KEY'`ntwitter_api_secret='$TWITTER_API_SECRET'"
- '&$env:PYTHON37 setup.py build'
- cd ..
- mkdir artifacts
- cd scripts
- '&$env:PYTHON37 make_archive.py'
- cd ..
- move src/twblue.zip artifacts/twblue_windows7_x86.zip
only:
- next-gen
artifacts:
paths:
- artifacts
expire_in: 1 day
generate_versions:
stage: make_installer
tags:
- shared-windows
- windows
- windows-1809
before_script:
- Set-Variable -Name "time" -Value (date -Format "%H:%m")
- echo ${time}
- echo "started by ${GITLAB_USER_NAME}"
- choco install nsis -y -ForceX86
script:
- move artifacts/TWBlue scripts/
- move artifacts/TWBlue64 scripts/
- move artifacts/twblue.nsi scripts/installer.nsi
- cd scripts
- '&$env:NSIS installer.nsi'
- move twblue_setup.exe ../artifacts
only:
- tags
artifacts:
paths:
- artifacts
expire_in: 1 day
upload:
stage: upload
tags:
- linux
image: python
interruptible: true
script:
- cd artifacts
- python ../scripts/upload.py
only:
- tags
- schedules

6
COPYING Normal file
View File

@@ -0,0 +1,6 @@
Tw Blue is free software, licensed under the GNU GPL license, either version 2 or, at your option, any later version. You can view the license in the file named license.txt, or online at http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
Copyright © 2013-2018. Manuel Cortéz
Documentation is written by Sukil Etxenike, Brian Hartgen and Bill Dengler, covered by the Creative Commons Attribution-NonCommercial-ShareAlike 2.5 license. You can read the license at https://creativecommons.org/licenses/by-nc-sa/2.5/
The accessible_output2, audio_services, keyboard_handler, libloader, platform_utils and sound_lib modules are written by Christofer Toth and modified by the TWBlue Team, released under a MIT license. You can get the original modules at http://hg.q-continuum.net.

132
README.md
View File

@@ -1,13 +1,12 @@
TWBlue -
TWBlue -
======
Copyright (C) 2015. [Technow S.L.](https://www.technow.es)
[![Build status](https://ci.appveyor.com/api/projects/status/fml5fu7h1fj8vf6l?svg=true)](https://ci.appveyor.com/project/manuelcortez/twblue)
TW Blue is an app designed to use Twitter simply and efficiently while using minimal system resources.
TW Blue is an app designed to use Twitter simply and efficiently while using minimal system resources.
With this app youll have access to twitter features such as:
* Create, reply to, retweet and delete tweets,
* Add and remove tweets from favourites,
* Create, reply to, like, retweet and delete tweets,
* Send and delete direct messages,
* See your friends and followers,
* Follow, unfollow, block and report users as spam,
@@ -18,64 +17,57 @@ With this app youll have access to twitter features such as:
See [TWBlue's webpage](http://twblue.es) for more details.
## Using TWBlue from sources
## Running TWBlue from source
This document describes how to run tw blue from source, and, after that, how to build a binary version, which doesn't need Python and the other dependencies to run.
This document describes how to run tw blue from source and how to build a binary version which doesn't need Python and the other dependencies to run.
### Generating application keys
In order to communicate with Twitter, you will need to generate a set of API keys in their [developer portal](https://developer.twitter.com/en/portal/dashboard) (If you haven't signed up, [visit this site to register as a developer](https://developer.twitter.com/en/docs/twitter-api/getting-started/getting-access-to-the-twitter-api)) and create a module called appkeys.py, within the src directory, with the following content, replacing the example values with your set of API keys:
```
twitter_api_key='xxxxxxxxxx'
twitter_api_secret='xxxxxxxxxx'
```
### Required dependencies.
Although most dependencies can be found in the windows-dependencies directory, we provide links to their official websites. If you are cloning with git, don't forget to initialize and update the submodules to get the windows-dependencies folder. You can use these two commands to perform this task from git bash:
```
git submodule init
git submodule update
All the dependencies provided in this folder are prebuilt. If you want to build them from source, you will need Microsoft visual Studio 2008.
```
#### Dependencies packaged in windows installers
* [Python,](http://python.org) version 2.7.10
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 219
* [Pycurl](http://pycurl.sourceforge.net) 7.19.5.1 for Python 2.7: [32-bit downloads,](https://pypi.python.org/pypi/pycurl/7.19.5.1) [64-bit downloads](http://www.lfd.uci.edu/~gohlke/pythonlibs/)
Note: the x64 version is in wheel format instead of executable installer, so you have to install it using pip. For example: C:\python27x64\scripts\pip install pycurl-7.19.5.1-cp27-none-win_amd64.whl
* [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
* [Python,](https://python.org) version 3.10.8
If you want to build both x86 and x64 binaries, you can install python x64 to C:\python310 and python x86 to C:\python310-32, for example.
The windows installers are available only in the windows-dependencies folder
#### Dependencies that must be installed using pip
To build a binary version:
Python installs a tool called Pip that allows to install packages in a simple way. You can find it in the python scripts directory. To install packages using Pip, you have to navigate to the scripts directory using a command prompt, for example:
* [Py2exe](http://www.sourceforge.net/projects/py2exe/) for Python 2.7, version 0.6.9
`cd C:\python310\scripts`
#### Dependencies that must be installed using easy_install
setuptools install a script, called easy_install. You can find it in the python scripts directory. To install packages using easy_install, you have to navigate to the scripts directory using a command prompt, for example:
cd C:\python27x64\scripts
You can also add the scripts folder to your path environment variable.
You can also add the scripts folder to your path environment variable or choose the corresponding option when installing Python.
Note: pip and setuptools are included in the Python installer since version 2.7.9.
After that, run the following command to install a package, replacing packagename with the names listed below:
Note: If you are using Python for 32-bit systems, you will need to install WXPython for 32-bits before running the command for installing everything else. You can do so by running the following command:
easy_install -Z package
`pip install --upgrade https://github.com/josephsl/wxpy32whl/blob/main/wxPython-4.2.0-cp310-cp310-win32.whl?raw=true`
The -z switch unzips the package, instead of installing it compressed. If you add the --upgrade switch, you can upgrade a package to its latest version. The following packages need to be installed:
Pip is able to install packages listed in a special text file, called the requirements file. To install all remaining dependencies, perform the following command:
* pypubsub
* configobj
* requests-oauthlib
* future
* pygeocoder
* suds
* arrow
* goslate
* markdown
* pocket
`pip install -r requirements.txt`
easy_install will automatically get the additional libraries that these packages need to work properly.
Run the following command to quickly install and upgrade all packages and their dependencies:
easy_install -Z --upgrade six configobj goslate markdown future pocket suds requests oauthlib requests-oauthlib pypubsub pygeocoder arrow
Note that if you perform the command from the path where Pip is located, you need to specify the path to your Tw Blue root folder where the requirements file is located, for example:
`pip install -r D:\repos\TwBlue\requirements.txt`
Pip will automatically get the additional libraries that the listed packages need to work properly.
If you need to update your dependencies, perform the following command:
`pip install --upgrade -r requirements.txt`
#### Other dependencies
@@ -84,26 +76,42 @@ These dependencies are located in the windows-dependencies directory. You don't
* Bootstrap 1.2.1: included in dependencies directory.
This dependency has been built using pure basic 4.61. Its source can be found at http://hg.q-continuum.net/updater
* [oggenc2.exe,](http://www.rarewares.org/ogg-oggenc.php) version 2.87
* Microsoft Visual c++ 2008 redistributable dlls.
* Microsoft Visual c++ 2019 redistributable dlls.
* VLC plugins and DLL libraries.
#### Dependencies required to build the installer
* [NSIS unicode,](http://www.scratchpaper.com/) version 2.46.5
* [NSIS,](http://nsis.sourceforge.net/) version 3.04
#### Dependencies required to build the portableApps.com format archive
* [NSIS Portable,](http://portableapps.com/apps/development/nsis_portable) version 3.03
* [PortableApps.com Launcher,](http://portableapps.com/apps/development/portableapps.com_launcher) version 2.2.1
* [PortableApps.com Installer,](http://portableapps.com/apps/development/portableapps.com_installer) version 3.5.11
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, ...
#### Dependencies to make the spell checker multilingual ####
In order to add the support for spell checking in more languages than english you need to add some additional dictionaries to pyenchant. These are located on the dictionaries folder under windows-dependencies. Simply copy them to the share/enchant/myspell folder located in your enchant installation. They will be automatically copied when building a binary version.
### Running TW Blue from source
Now that you have installed all these packages, you can run TW Blue from source using a command prompt. Navigate to the repo's src directory, and type the following command:
Now that you have installed all these packages, you can run TW Blue from source using a command prompt. Navigate to the repo's `src` directory, and type the following command:
python main.py
`python main.py`
If necessary, change the first part of the command to reflect the location of your python executable. You can run TW Blue using python x86 and x64
If necessary, change the first part of the command to reflect the location of your python executable. You can run TW Blue using python x86 and x64.
### Generating the documentation
To generate the documentation in html format, navigate to the doc folder inside this repo. After that, run this command:
python generator.py
The documentation will be generated, placing each language in a separate folder in the doc directory. Move these folders (for example de, en, es, fr, it, ...) to src/documentation, creating the directory if necesary.
Also, copy the license.txt located in the root of the repo to the documentation folder.
To generate the documentation in html format, navigate to the doc folder inside this repo. After that, run these commands:
`python document_importer.py`
`python generator.py`
The documentation will be generated, placing each language in a separate folder in the doc directory. Move these folders (for example `de`, `en`, `es`, `fr`, `it`, ...) to `src/documentation`, creating the directory if necessary.
Also, copy the `license.txt` file located in the root of the repo to the documentation folder.
### Building a binary version
@@ -111,17 +119,17 @@ A binary version doesn't need python and the other dependencies to run, it's the
To build it, run the following command from the src folder:
python setup.py py2exe
`python setup.py build`
You will find the binaries in the dist directory.
### Building an installer
If you want to install TWBlue in your computer, you must create the installer first. Follow these steps:
If you want to install TWBlue on your computer, you must create the installer first. Follow these steps:
* Navigate to the src directory, and create a binary version for x86: C:\python27\python setup.py py2exe
* Navigate to the src directory, and create a binary version for x86: C:\python37\python setup.py build
* Move the dist directory to the scripts folder in this repo, and rename it to twblue
* Repeat these steps with Python for x64: C:\python27x64\python setup.py py2exe
* Repeat these steps with Python for x64: C:\python37x64\python setup.py build
* Move the new dist directory to the scripts folder, and rename it to twblue64
* Go to the scripts folder, right click on the twblue.nsi file, and choose compyle unicode NSIS script
* This may take a while. After the process, you will find the installer in the scripts folder
@@ -129,3 +137,15 @@ If you want to install TWBlue in your computer, you must create the installer fi
### How to generate a translation template
Run the gen_pot.bat file, located in the tools directory. Your python installation must be in your path environment variable. The pot file will appear in the tools directory.
### How to build the portableApps.com archive
If you want to have TWBlue on your PortableApps.com platform, follow these steps:
* Navigate to the src directory, and create a binary version for x86: C:\python37\python setup.py build
* Move the dist directory to the misc\pa.c format\app folder in this repo, and rename it to twblue
* Repeat these steps with Python for x64: C:\python37x64\python setup.py build
* Move the new dist directory to the misc\pa.c format\app folder, and rename it to twblue64
* Run the PortableApps.com Launcher Generator, and follow the wizard. Choose the pa.c format folder and continue to generate the launcher. If the wizard is completed, you will see a file named TWBlue portable.exe inside the pa.c format folder.
* Run the PortableApps.com Installer, and follow the wizard. As in the above step, choose the pa.c format folder. When it completes, you will see a file named TWBluePortable_x.y.paf.exe inside the misc folder, where x.y is the version number.

View File

@@ -1,12 +1,8 @@
Manuel E. Cortéz
Bill Dengler
Johana Hidrobo
Marcelo Sosa
Isabel del Castillo
José Manuel Delicado
David Picón
Vicente Llopis
Javier Dorado
Guillem León
Marco Serrano
Bryner Villalobos
@@ -34,4 +30,14 @@ Holly Scott-Gardner
Anibal Hernández
Sussan Leiva
Brian Hartgen
PEDRO REINA COLOBON
PEDRO REINA COLOBON
Blake Oliver
Steffen Schultz
Riku
Burak Yüksek
florian Ionașcu
Christian Leo Mameli
Natalia Hedlund (Наталья Хедлунд)
Valeria (Валерия)
Corentin Bacqué-Cazenave
Artem Plaksin (maniyax)

View File

@@ -1,7 +0,0 @@
# -*- coding: utf-8 -*-
name = 'TWBlue'
snapshot = False
if snapshot == False:
version = "0.80"
else:
version = "7"

343
doc/changelog.md Normal file
View File

@@ -0,0 +1,343 @@
TWBlue Changelog
## changes in this version
* per popular request, We will generate a 32-bit portable version of TWBlue available for Windows 7 operating systems. This version will not be supported in our automatic updater, so in case of using such version, you would need to download it manually every time there is a new update. TWBlue will continue to be available for Windows 7 as long as it is possible to build it using Python 3.7.
* Fixed a couple of bugs that were making TWBlue unable to be opened in some computers, related to our translator module and some COM objects handled incorrectly.
* Fixed an issue that was making TWBlue unable to open in certain computers due to errors related to Win32 API'S.
* Twitter:
* Fixed a bug that was making sent direct messages to be placed in received direct messages buffer.
* When quoting a tweet, you can use all 280 characters to send your quoted tweet, as opposed to the 256 characters TWBlue allowed before.
* Fixed a bug that was making TWBlue unable to reply to direct messages by using the "reply" keystroke.
* Mastodon:
* Added account settings dialog.
* Added template editing functionality for mastodon accounts.
* When a post is edited, TWBlue will update the post object in the buffer to reflect the latest edit.
* Fixed a small issue that was preventing TWBlue to display some posts in their corresponding dialog.
## Changes in version 2022.12.6
Most of all changes in this release are focused on adding Mastodon support to TWBlue. The features present to handle Twitter should not have been altered in any way. We were not intended to release this version so soon, but unfortunately, Twitter started to present issues in some regions with one particular API endpoint we were using, making impossible for everyone in such regions to use the application. We will release more updates to fix any possible issue regarding Twitter API, but please take into account that this is sometimes an issue happening in Twitter's servers and while we do our best to make TWBlue work despite those problems, you might encounter glitches from time to time.
* TWBlue now builds with Python 3.10.8. ([#493](https://github.com/MCV-Software/TWBlue/issues/493))
* This change also drops support for Windows 7.
* The TWBlue interface has not been translated yet, as we are releasing this update to fix an important Twitter issue for some regions.
* Twitter sessions should be able to be opened properly again in TWBlue, in regions where it didn't work since last week.
* It is now possible to log in to instances of mastodon, hometown and similar software (Pleroma should work as well, although it has not been tested at this time). From the session manager, clicking on the “new account” button will bring up a menu from which you can select whether you want to log in to Twitter or Mastodon. For instances that have a different character limit than the one set by Mastodon, TWBlue will detect the new limit and adjust the dialogs to allow you to use it correctly.
* Most of the TWBlue GUI has been adapted so that the buffers reflect the change of social network (in mastodon, for example, the buttons to write posts say post instead of tweet). However, the menu bar has not yet been updated. This means that most of the options still refer to Twitter, although they can be used with mastodon accounts. For example, if you select the “tweet” menu in the menu bar, and then select the “Retweet” option, TWBlue will actually do a “boost” if the buffer you are in is a Mastodon account buffer.
* Keystrokes for the invisible interface also refer to terms used in Twitter, but can be applied to Mastodon as well.
* There are some features, within TWBlue, that are not yet compatible with mastodon accounts. These are as follows:
* User autocompletion.
* Currently, it is not possible to update account settings for mastodon sessions. However, if you know how to edit configuration files, you can close TWBlue, change your session file with any text editor and restart the application to update what you want.
* The template editor is not yet available for mastodon accounts.
* Filters have not yet been implemented in TWBlue mastodon support.
* User aliases are not implemented yet.
* It is not possible to view a users profile, nor edit your own, for now. However, you can use the keystroke to open the item in the browser when focusing a user to access their profile website. This only works in buffers where users are listed.
* You cannot manage lists in TWBlue at the moment.
* Most of the buffers planned for mastodon should just work. Among those currently tested are: home (main timeline for the logged-in user), Local (public posts for the instance), federated (public posts for all federating instances), mentions, direct messages, sent posts, favorites, bookmarks, followers, following, blocked users, muted users, user searches and timelines for users.
* The difference between favorites and bookmarks is that the author of the post can see who has marked his posts as favorites, but bookmarks are completely private. In any buffer containing mastodon posts, except direct messages, the GUI will display an option to add the post to favorites or bookmarks.
* Direct messages in mastodon are posts, exactly like normal posts, but with their privacy setting set so that they can only be seen by the accounts that are mentioned. In the direct message buffer, a conversation will appear for each item in the buffer. The conversation represents a thread of messages, but TWBlue can only display the last of the messages sent. This is similar to what happens on platforms like Telegram, where you can only see the list of conversations at the beginning. To see the entire thread of direct messages present in a conversation, you can use the command to open the conversation, or go to the “tweet” menu in the menu bar, and then towards the “view conversation” option. This will create a new conversation buffer that will be located just after the direct messages buffer (for the GUI, the buffer will be located just inside the direct messages buffer in the buffer tree). When a private post appears (whose visibility only allows the mentioned accounts to see it), TWBlue will display that post in the home buffer, in mentions and also will update/create the conversation with that item. This is because Mastodon does not differentiate between a private message and a normal post. You can reply to the post in any buffer to continue the conversation. If you reply to any post, the privacy set in the original post is maintained by default, but can also be changed.
* The buffer showing the federated timeline has been disabled from settings. This is because on servers that federate with many instances it can load many posts in a very short time. To enable this buffer, for now, edit the TWBlue configuration while the application is closed, and add the “federated” buffer in the option called “buffer_order”. As soon as buffers can be shown or hidden, this process can be done through the GUI.
* There is a Streaming API that allows the elements for the start buffers, mentions, direct messages, sent posts and followers to appear in real time. This feature is implemented by default and should also just work.
* Timelines for users only allow to get all posts from users who are in the same instance. For users belonging to other instances, you can get the posts that have been downloaded to your instance since your instance “knows” the remote user.
* Timelines for followers and following can be fully retrieved only for users belonging to the same instance. Remote users may yield unclear results.
* You can search by users (by opening a search and selecting the “users” radio button). The search can be done by local users, such as twblue, or by remote users, such as @twblue@maaw.social.
* In all buffers, a maximum of 40 items are retrieved per load, but more can be retrieved by using the option to load more items in the buffer.
* In post buffers, you can do most of the actions already supported in TWBlue (boost, add/remove from favorites or bookmarks, reply, send message to user, open post URL, play audio or video, open post on web, view conversation, open action dialog for user).
* In user buffers, you can send private message to the user, and open user actions dialog, which in turn allows you to follow/unfollow, block/unblock and mute/unmute.
* When writing posts, it is possible to attach up to 4 images, 4 givs, or even a video, poll, or audio. It is also possible to add the “sensitive content” tag to posts, change privacy and write a content warning text. It is possible to create threads using the “add post” button.
* When replying to a post, TWBlue will place the username of all participants in the item you reply to. The privacy options will default to those of the original post.
## Changes in version 2022.8.28
* the user autocompletion feature has been completely rewritten to be easier to use, particularly for people with many followers/following users:
* In the account settings dialog, there's a button that opens up a new dialog that allows you to "scan" your account in order to add all users from your followers/following list. This process will read your data directly from Twitter and depending in the amount of people you have in your account it might take too many API calls. Please use it with caution. You can, for example, do the process separately for your followers/following people so it will be easier to handle, in case you have a massive amount of people. If TWBlue is unable to complete the scan, you will see an error and will be prompted to try again in 15 minutes, once your API calls have refreshed.
* It is possible to use the user autocompletion functionality in dialogs where you can select an user, for example when adding or removing someone from a list, or displaying lists for someone.
* Implemented a new setting, available in the account settings dialog, that allows to hide emojis in twitter usernames.
* TWBlue should be able to sort conversations in a more logical way. This should make it easier to follow a long thread in Twitter.
* When opening a thread, TWBlue should be able to load the right conversation if the original tweet from where the thread was loaded was a retweet.
* TWBlue will restart the Streaming subsystem every time there are changes to followed, muted or blocked users within the application.
* Fixed error when attempting to mention an user by using the "mention" button in any people buffer. Now tweets should be posted normally.
* Fixed error when loading other user lists. ([#465](https://github.com/MCV-Software/TWBlue/issues/465))
* Fixed an issue that was making TWBlue to display incorrectly some retweets of quoted tweets.
* If TWBlue is unable to open a timeline for someone who has blocked you, this will be reported in a dialog. ([#485,](https://github.com/mcv-software/twblue/issues/485))
* Added "find a string in the currently focused buffer" action into Windows 10 and windows 11 keymap. ([#476](https://github.com/MCV-Software/TWBlue/pull/476))
## changes in version 22.2.23
* We have added Experimental support for templates in the invisible interface. The GUI will remain unchanged for now:
* Each object (tweet, received direct message, sent direct message and people) has its own template in the settings. You can edit those templates from the account settings dialog, in the new "templates" tab.
* Every template is composed of the group of variables you want to display for each object. Each variable will start with a dollar sign ($) and cannot contain spaces or special characters. Templates can include arbitrary text that will not be processed. When editing the example templates, you can get an idea of the variables that are available for each object by using the template editing dialog. When you press enter on a variable from the list of available variables, it will be added to the template automatically. When you try to save a template, TWBlue will warn you if the template is incorrectly formatted or if it includes variables that do not exist in the information provided by objects. It is also possible to return to default values from the same dialog when editing a template.
* TWBlue can display image descriptions within Tweet templates. For that, you can use the $image_description variable in your template.
* We have restored conversation and threads support powered by Twitter API V2 thanks to a set of improvements we have done in the application, as well as more generous limits to Tweet monthly cap by Twitter.
* In the Windows 11 Keymap, the default shortcut to open the keystrokes editor is now CTRL+Alt+Windows+K to avoid conflicts with the new global mute microphone shortcut.
* TWBlue show display properly HTML entities in tweet's text.
* TWBlue should no longer load old tweets in buffers.
* Fixed issue when uploading attachments (images, videos or gif files) while sending tweets or replies.
* Fixed an error that was making TWBlue to ask for a restart after saving account settings, even if such restart was not required. ([#413,](https://github.com/manuelcortez/TWBlue/issues/413))
## Changes in version 2021.11.12
* Now it is possible to create a tweet from a trending topics buffer again.
* TWBlue now includes a completely new set of dialogs to handle tweeting, replying and sending direct messages that takes advantage of more Twitter features.
* It is possible to add videos in tweets and direct messages by using the new "add" button, located in every dialog where media can be added. Twitter suggests to add videos from 5 seconds up to 2 minutes lenght, in mp4 format (video Codec H.264 and audio codec AAC). Currently, TWBlue does not check if the uploaded video complies with Twitter media requirements. You can add only a video in a tweet or direct message. No other kind of media can be added after a video is in a tweet. If the video was unable to be uploaded successfully, the tweet or direct message won't be created.
* Now you can add a poll to tweets. Polls can have up to 4 different options and allow voting up to 7 days after being created. Take into account, though, that currently TWBlue does not support reading polls in tweets.
* TWBlue now support threads while creating a new tweet. There is a new button, called add tweet which will add the current tweet to the thread and will allow you to write another tweet in the thread. Every tweet might include media (up to 4 photos, or one GIF image or a video) or up to one poll.
* Some functionality was removed from tweet dialogs within TWBlue. Particularly, URL shorteners and long tweets via Twishort. You still can read long tweets posted via Twishort, though.
## Changes in version 2021.11.07
* TWBlue should retrieve tweets from threads and conversations in a more reliable way. Tweets in the same thread (made by the same author) will be sorted correctly, although replies to the thread (made by different people) may not be ordered in the same way they are displayed in Twitter apps. ([#417](https://github.com/manuelcortez/TWBlue/issues/417))
* When creating a filter, TWBlue will show an error if user has not provided a name for the filter. Before, unnamed filters were a cause of config breaks in the application.
* It is again possible to read the changelog for TWBlue from the help menu in the menu bar.
* fixed a bug when clearing the direct messages buffer. ([#418](https://github.com/manuelcortez/TWBlue/issues/418))
* fixed an issue that was making TWBlue to show incorrectly titles for trending topic buffers upon startup. ([#421](https://github.com/manuelcortez/TWBlue/issues/421))
* fixed an issue that was making users of the graphical user interface to delete a buffer if a trends buffer was opened in the same session.
* Updated Spanish, Japanese and french translations.
## Changes in Version 2021.10.30
* Fixed many errors in the way we compile TWBlue, so users of 64 bits systems and particularly windows 7 users would be able to install TWBlue again. In case of issues with versions prior to 2021.10.30, please remove everything related to TWBlue (except configs) and reinstall the version 2021.10.30 to fix any possible error. This step won't be needed again in 23 months. ([#416,](https://github.com/manuelcortez/TWBlue/issues/416), [#415,](https://github.com/manuelcortez/TWBlue/issues/415))
* fixed an issue that was making impossible to manually add an user to the autocomplete users database.
* Started to improve support to conversations by searching for conversation_id.
## changes in version 2021.10.27
* Added an user alias manager, located in the application menu in the menu bar. From this dialog, it is possible to review, add, edit or remove user aliases for the current account. ([#401](https://github.com/manuelcortez/TWBlue/issues/401))
* TWBlue now closes the VLC player window automatically when a video reaches its end. ([#399](https://github.com/manuelcortez/TWBlue/issues/399))
* After a lot of time, TWBlue now uses a new default Soundpack, called FreakyBlue. This soundpack will be set by default in all new sessions created in the application. Thanks to [Andre Louis](https://twitter.com/FreakyFwoof) for the pack. ([#247](https://github.com/manuelcortez/TWBlue/issues/247))
* When reading a tweet, if the tweet contains more than 2 consecutive mentions, TWBlue will announce how many more users the tweet includes, as opposed to read every user in the conversation. You still can display the tweet to read all users.
* In the tweet displayer, It is possible to copy a link to the current tweet or person by pressing a button called "copy link to clipboard".
* Added a keymap capable to work under Windows 11. ([#391](https://github.com/manuelcortez/TWBlue/pull/391))
* Added user aliases to TWBlue. This feature allows you to rename user's display names on Twitter, so the next time you'll read an user it will be announced as you configured. For adding an alias to an user, select the "add alias" option in the user menu, located in the menu bar. This feature works only if you have set display screen names unchecked. Users are displayed with their display name in people buffers only. This action is supported in all keymaps, although it is undefined by default. ([#389](https://github.com/manuelcortez/TWBlue/pull/389))
* There are some changes to the autocomplete users feature:
* Now users can search for twitter screen names or display names in the database.
* It is possible to undefine keystrokes in the current keymap in TWBlue. This allows you, for example, to redefine keystrokes completely.
* We have changed our Geocoding service to the Nominatim API from OpenStreetMap. Addresses present in tweets are going to be determined by this service, as the Google Maps API now requires an API key. ([#390](https://github.com/manuelcortez/TWBlue/issues/390))
* Added a limited version of the Twitter's Streaming API: The Streaming API will work only for tweets, and will receive tweets only by people you follow. Protected users are not possible to be streamed. It is possible that during high tweet traffic, the Stream might get disconnected at times, but TWBlue should be capable of detecting this problem and reconnecting the stream again. ([#385](https://github.com/manuelcortez/TWBlue/pull/385))
* Fixed an issue that made TWBlue to not show a dialog when attempting to show a profile for a suspended user. ([#387](https://github.com/manuelcortez/TWBlue/issues/387))
* Added support for Twitter audio and videos: Tweets which contains audio or videos will be detected as audio items, and you can playback those with the regular command to play audios. ([#384,](https://github.com/manuelcortez/TWBlue/pull/384))
* We just implemented some changes in the way TWBlue handles tweets in order to reduce its RAM memory usage [#380](https://github.com/manuelcortez/TWBlue/pull/380):
* We reduced the tweets size by storing only the tweet fields we currently use. This should reduce tweet's size in memory for every object up to 75%.
* When using the cache database to store your tweets, there is a new setting present in the account settings dialog, in the general tab. This setting allows you to control whether TWBlue will load the whole database into memory (which is the current behaviour) or not.
* Loading the whole database into memory has the advantage of being extremely fast to access any element (for example when moving through tweets in a buffer), but it requires more memory as the tweet buffers grow up. This should, however, use less memory than before thanks to the optimizations performed in tweet objects. If you have a machine with enough memory, this should be a good option for your case.
* If you uncheck this setting, TWBlue will read the whole database from disk. This is significantly slower, but the advantage of this setting is that it will consume almost no extra memory, no matter how big is the tweets dataset. Be ware, though, that TWBlue might start to feel slower when accessing elements (for example when reading tweets) as the buffers grow up. This setting is suggested for computers with low memory or for those people not wanting to keep a really big amount of tweets stored.
* Changed the label in the direct message's text control so it will indicate that the user needs to write the text there, without referring to any username in particular. ([#366,](https://github.com/manuelcortez/TWBlue/issues/366))
* TWBlue will take Shift+F10 again as the contextual menu key in the list of items in a buffer. This stopped working after we have migrated to WX 4.1. ([#353,](https://github.com/manuelcortez/TWBlue/issues/353))
* TWBlue should render correctly retweets of quoted tweets. ([#365,](https://github.com/manuelcortez/TWBlue/issues/365))
* Fixed an error that was causing TWBlue to be unable to output to screen readers at times. ([#369,](https://github.com/manuelcortez/TWBlue/issues/369))
* Fixed autocomplete users feature. ([#367,](https://github.com/manuelcortez/TWBlue/issues/367))
* Fixed error when displaying an URL at the end of a line, when the tweet or direct message contained multiple lines. Now the URL should be displayed correctly. ([#305,](https://github.com/manuelcortez/TWBlue/issues/305) [#272,](https://github.com/manuelcortez/TWBlue/issues/272))
* TWBlue has been migrated completely to Python 3 (currently, the software builds with Python 3.8).
* TWBlue should be restarted gracefully. Before, the application was alerting users of not being closed properly every time the application restarted by itself.
* If TWBlue attemps to load an account with invalid tokens (this happens when reactivating a previously deactivated account, or when access to the ap is revoqued), TWBlue will inform the user about this error and will skip the account. Before, the app was unable to start due to a critical error. ([#328,](https://github.com/manuelcortez/TWBlue/issues/328))
* When sending a direct message, the title of the window will change appropiately when the recipient is edited. ([#276,](https://github.com/manuelcortez/TWBlue/issues/276))
* URL'S in user profiles are expanded automatically. ([#275,](https://github.com/manuelcortez/TWBlue/issues/275))
* TWBlue now uses [Tweepy,](https://github.com/tweepy/tweepy) to connect with Twitter. We have adopted this change in order to support Twitter'S API V 2 in the very near future. ([#333,](https://github.com/manuelcortez/TWBlue/issues/337) [#347](https://github.com/manuelcortez/TWBlue/pull/347))
* TWBlue can upload images in Tweets and replies again. ([#240,](https://github.com/manuelcortez/TWBlue/issues/240))
* Fixed the way we use to count characters in Twitter. The new methods in TWBlue take into account special characters and URLS as documented in Twitter. ([#199,](https://github.com/manuelcortez/TWBlue/issues/199) [#315](https://github.com/manuelcortez/TWBlue/issues/315))
* Proxy support now works as expected.
* Changed translation service from yandex.translate to Google Translator. ([#355,](https://github.com/manuelcortez/TWBlue/issues/355))
* Improved method to load direct messages in the buffers. Now it should be faster due to less calls to Twitter API performed from the client.
* And more. ([#352,](https://github.com/manuelcortez/TWBlue/issues/352))
## Changes in version 0.95
* TWBlue can open a Tweet or user directly in Twitter. There is a new option in the context menu for people and tweet buffers, and also, the shortcut control+win+alt+Enter will open the focused item in Twitter.
* Some keystrokes were remapped in the Windows 10 Keymap:
* Read location of a tweet: Ctrl+Win+G. ([#177](https://github.com/manuelcortez/TWBlue/pull/177))
* Open global settings dialogue: Ctrl+Win+Alt+O.
* Mute/unmute current session: Control + Windows + Alt + M.
* Fixed an error that was preventing TWBlue to load the direct messages buffer if an user who sent a message has been deleted.
* Added support for playing audios posted in [AnyAudio.net](http://anyaudio.net) directly from TWBlue. Thanks to [Sam Tupy](http://www.samtupy.com/)
* Custom buffer ordering will not be reset every time the application restarts after an account setting has been modified.
* When adding or removing an user from a list, it is possible to press enter in the focused list instead of having to search for the "add" or "delete" button.
* Quoted and long tweets are displayed properly in the sent tweets buffer after being send. ([#253](https://github.com/manuelcortez/TWBlue/issues/253))
* Fixed an issue that was making the list manager keystroke unable to be shown in the keystroke editor. Now the keystroke is listed properly. ([#260](https://github.com/manuelcortez/TWBlue/issues/260))
* The volume slider, located in the account settings of TWBlue, now should decrease and increase value properly when up and down arrows are pressed. Before it was doing it in inverted order. ([#261](https://github.com/manuelcortez/TWBlue/issues/261))
* autoreading has been redesigned to work in a similar way for almost all buffers. Needs testing. ([#221](https://github.com/manuelcortez/TWBlue/issues/221))
* When displaying tweets or direct messages, a new field has been added to show the date when the item has been posted to Twitter.
* Added support for deleting direct messages by using the new Twitter API methods.
* When quoting a retweet, the quote will be made to the original tweet instead of the retweet.
* If the sent direct messages buffer is hidden, TWBlue should keep loading everything as expected. ([#246](https://github.com/manuelcortez/TWBlue/issues/246))
* There is a new soundpack, called FreakyBlue (Thanks to [Andre Louis](https://twitter.com/FreakyFwoof)) as a new option in TWBlue. This pack can be the default in the next stable, so users can take a look and share their opinion in snapshot versions. ([#247](https://github.com/manuelcortez/TWBlue/issues/247))
* There is a new option in the help menu that allows you to visit the soundpacks section in the TWBlue website. ([#247](https://github.com/manuelcortez/TWBlue/issues/247))
* When reading location of a geotagged tweet, it will be translated for users of other languages. ([#251](https://github.com/manuelcortez/TWBlue/pull/251))
* When there are no more items to retrieve in direct messages and people buffers, a message will announce it.
* Fixed an issue reported by some users that was making them unable to load more items in their direct messages.
* It is possible to add a tweet to the likes buffer from the menu bar again.
* Tweets, replies and retweets will be added to sent tweets right after being posted in Twitter.
* Extended Tweets should be displayed properly in list buffers.
## Changes in version 0.94
* Added an option in the global settings dialog to disable the Streaming features of TWBlue. TWBlue will remove all Streaming features after August 16, so this option will give people an idea about how it will be. ([#219](https://github.com/manuelcortez/TWBlue/issues/219))
* Due to Twitter API changes, Switched authorisation method to Pin-code based authorisation. When you add new accounts to TWBlue, you will be required to paste a code displayed in the Twitter website in order to grant access to TWBlue. ([#216](https://github.com/manuelcortez/TWBlue/issues/216))
* In order to comply with latest Twitter changes, TWBlue has switched to the new method used to send and receive direct messages, according to issue [#215.](https://github.com/manuelcortez/twblue/issues/215)
* The new method does not allow direct messages to be processed in real time. Direct messages will be updated periodically.
* After august 16 or when streaming is disabled, the events buffer will no longer be created in TWBlue.
* You can configure frequency for buffer updates in TWBlue. By default, TWBlue will update all buffers every 2 minutes, but you can change this setting in the global settings dialog. ([#223](https://github.com/manuelcortez/TWBlue/issues/223))
* Added a new tab called feedback, in the account settings dialog. This tab allows you to control whether automatic speech or Braille feedbak in certain events (mentions and direct messages received) is enabled. Take into account that this option will take preference over automatic reading of buffers and any kind of automatic output. ([#203](https://github.com/manuelcortez/TWBlue/issues/203))
* The spell checking dialog now has access keys defined for the most important actions. ([#211](https://github.com/manuelcortez/TWBlue/issues/211))
* TWBlue now Uses WXPython 4.0.1. This will allow us to migrate all important components to Python 3 in the future. ([#207](https://github.com/manuelcortez/TWBlue/issues/207))
* When you quote a Tweet, if the original tweet was posted with Twishort, TWBlue should display properly the quoted tweet. Before it was displaying the original tweet only. ([#206](https://github.com/manuelcortez/TWBlue/issues/206))
* It is possible to filter by retweets, quotes and replies when creating a new filter.
* Added support for playing youtube Links directly from the client. ([#94](https://github.com/manuelcortez/TWBlue/issues/94))
* Replaced Bass with libVLC for playing URL streams.
* the checkbox for indicating whether TWBlue will include everyone in a reply or not, will be unchecked by default.
* You can request TWBlue to save the state for two checkboxes: Long tweet and mention all, from the global settings dialogue.
* For windows 10 users, some keystrokes in the invisible user interface have been changed or merged:
* control+Windows+alt+F will be used for toggling between adding and removing a tweet to user's likes. This function will execute the needed action based in the current status for the focused tweet.
* TWBlue will show an error if something goes wrong in an audio upload.
* And more. ([#171,](https://github.com/manuelcortez/TWBlue/issues/171)
## Changes in version 0.93
* A new soundpack has been added to TWBlue. Thanks to [@ValeriaK305](https://twitter.com/ValeriaK305)
* In the Windows 10 keymap, we have changed some default keystrokes as windows now uses some previously assigned shortcuts:
* For liking a tweet, press Control+Windows+alt+f
* for opening a trends buffer, press control+Windows+T
* TWBlue has received improvements in some functions for handling extended tweets, long tweets and quoted retweets. It should render some tweets in a better way.
* In the spell checker module, there is a new button that will allow you to add your own words to your personal dictionary so the module won't mark them as mispelled the next time you will check spelling.
* Added filtering capabilities to TWBlue. ([#102](https://github.com/manuelcortez/TWBlue/issues/102))
* You can create a filter for the current buffer from the buffer menu in the menu bar. At this moment, invisible interface does not have any shorcut for this.
* You can create filters by word or languages.
* For deleting already created filters, you can go to the filter manager in the buffer menu and delete the filters you won't need.
* Links should be opened properly in quoted tweets ([#167,](https://github.com/manuelcortez/TWBlue/issues/167) [#184](https://github.com/manuelcortez/TWBlue/issues/184))
* Increased display name limit up to 50 characters in update profile dialog.
* When authorising an account, you will see a dialogue with a cancel button, in case you want to abort the process. Also, NVDA will not be blocked when the process starts. ([#101](https://github.com/manuelcortez/TWBlue/issues/101))
* In the translator module, the list of available languages is fetched automatically from the provider. That means all of these languages will work and there will not be inconsistencies. Also we've removed the first combo box, because the language is detected automatically by Yandex'S API. ([#153](https://github.com/manuelcortez/TWBlue/issues/153))
* Trending topics, searches and conversation buffers will use mute settings set for the session in wich they were opened. ([#157](https://github.com/manuelcortez/TWBlue/issues/157))
* The Tweet limit is now 280 characters lenght instead 140. It means you can tweet longer tweets. ([#172](https://github.com/manuelcortez/TWBlue/issues/172))
* Per popular request, Status for mention to all and long tweet checkboxes will not be saved in settings. ([#170](https://github.com/manuelcortez/TWBlue/issues/170))
* Fixed a problem that was making TWBlue unable to start if it was being ran in Windows with Serbian language. ([#175](https://github.com/manuelcortez/TWBlue/issues/175))
* Added Danish translation.
* And more. ([#156,](https://github.com/manuelcortez/TWBlue/issues/156) [#163,](https://github.com/manuelcortez/TWBlue/issues/163) [#159,](https://github.com/manuelcortez/TWBlue/issues/159) [#173,](https://github.com/manuelcortez/TWBlue/issues/173) [#174,](https://github.com/manuelcortez/TWBlue/issues/174) [#176,](https://github.com/manuelcortez/TWBlue/issues/176))
## changes in version 0.91 and 0.92
* Fixed incorrect unicode handling when copying tweet to clipboard. ([#150](https://github.com/manuelcortez/TWBlue/issues/150))
* TWBlue will show an error when trying to open a timeline for a suspended user. ([#128](https://github.com/manuelcortez/TWBlue/issues/128))
* Removed TwUp as service as it no longer exists. ([#112](https://github.com/manuelcortez/TWBlue/issues/112))
* Release audio files after uploading them. ([#130](https://github.com/manuelcortez/TWBlue/issues/130))
* Now TWBlue will use Yandex's translation services instead microsoft translator. ([#132](https://github.com/manuelcortez/TWBlue/issues/132))
* SndUp users will be able to upload audio in their account by using their API Key again. ([#134](https://github.com/manuelcortez/TWBlue/issues/134))
* old tweets shouldn't be added as new items in buffers. ([#116,](https://github.com/manuelcortez/TWBlue/issues/116)) ([#133](https://github.com/manuelcortez/TWBlue/issues/133))
* All mentionned users should be displayed correctly in Twishort's long tweets. ([#116,](https://github.com/manuelcortez/TWBlue/issues/116)) ([#135](https://github.com/manuelcortez/TWBlue/issues/135))
* It is possible to select a language for OCR service from the extras panel, in the account settings dialogue. You can, however, set this to detect automatically. OCR should work better in languages with special characters or non-english symbols. ([#107](https://github.com/manuelcortez/TWBlue/issues/107))
* Fixed a problem with JAWS for Windows and TWBlue. Now JAWS will work normally in this update. [#100](https://github.com/manuelcortez/twblue/issues/100)
* And more ([#136,](https://github.com/manuelcortez/TWBlue/issues/136))
## Changes in version 0.90
* Fixed a bug in long tweet parsing that was making TWBlue to disconnect the streaming API. ([#103](https://github.com/manuelcortez/TWBlue/issues/103))
* Now OCR will work in images from retweets. It fixes a bug where TWBlue was detecting images but couldn't apply OCR on them. ([#105](https://github.com/manuelcortez/TWBlue/issues/105))
* TWBlue won't try to load tweets already deleted, made with Twishort. Before, if someone posted a long tweet but deleted it in the Twishort's site, TWBlue was trying to load the tweet and it was causing problems in all the client. ([#113](https://github.com/manuelcortez/TWBlue/issues/113))
* TWBlue shows an error message when you try to view the profile of an user that does not exist or has been suspended. ([#114,](https://github.com/manuelcortez/TWBlue/issues/114) [#115](https://github.com/manuelcortez/TWBlue/issues/115))
* The spellchecker module should select the right language when is set to "user default". ([#117](https://github.com/manuelcortez/TWBlue/issues/117))
* Image description will be displayed in retweets too. ([#119](https://github.com/manuelcortez/TWBlue/issues/119))
* When reading a long tweet, you shouldn't read strange entities anymore. ([#118](https://github.com/manuelcortez/twblue/issues/118))
* TWBlue will not try to load timelines if the user is blocking you. ([#125](https://github.com/manuelcortez/twblue/issues/125))
## Changes in version 0.88 and 0.89
* Fixed more issues with streams and reconnections.
* newer updates will indicate the release date in the updater.
* Changes to keystrokes are reflected in keystroke editor automatically.
* In replies with multiple users, if the mention to all checkbox is unchecked, you will see a checkbox per user so you will be able to control who will be mentioned in the reply.
* Fixed a bug that caused duplicated user mentions in replies when the tweet was made with Twishort.
* Retweets should be displayed normally again when the originating tweet is a Twishort's long tweet.
* Changed the way TWBlue saves user timelines in configuration. Now it uses user IDS instead usernames. With user IDS, if an user changes the username, TWBlue still will create his/her timeline. This was not possible by using usernames.
* Added a new setting in the account settings dialogue that makes TWBlue to show twitter usernames instead the full name.
* Added OCR in twitter pictures. There is a new item in the tweet menu that allows you to extract and display text in images. Also the keystroke alt+Win+o has been added for the same purpose from the invisible interface.
* Now TWBlue will play a sound when the focused tweet contains images.
* Your own quoted tweets will not appear in the mentions buffer anymore.
* The config file is saved in a different way, it should fix the bug where TWBlue needs to be restarted after the config folder is deleted.
* Mentioning people from friends or followers buffers works again.
* Support for proxy servers has been improved. Now TWBlue supports http, https, socks4 and socks5 proxies, with and without autentication.
## Changes in version 0.87
* Fixed stream connection errors.
* Now TWBlue can handle properly a reply to the sender without including all other mentioned users.
* Updated translations.
* The status of the mention to all checkbox will be remembered the next time you reply to multiple users.
## Changes in version 0.86
* Fixed a very important security issue. Now TWBlue will send tweets to twishort without using any other server.
* When you add a comment to a tweet, it will be sent as a quoted tweet, even if your reply plus the original tweet is not exceeding 140 characters.
* Updated windows 10 keymap for reflecting changes made in the last windows 10 build.
* Added last changes in the twitter API.
* When replying, it will not show the twitter username in the text box. When you send the tweet, the username will be added automatically.
* When replying to multiple users, you'll have a checkbox instead a button for mentioning all people. If this is checked, twitter usernames will be added automatically when you send your reply.
## Changes in version 0.85
* Long and quoted tweets should be displayed properly In lists.
* The connection should be more stable.
* Added an autostart option in the global settings dialogue.
* Updated translation.
* Updated russian documentation.
* Tweets in cached database should be loaded properly.
* Added some missed dictionaries for spelling correction.
* Timelines, lists and other buffer should be created in the right order at startup.
## Changes in version 0.84
* More improvements in quoted and long tweets.
* Updated translations: Russian, Italian, French, Romanian, Galician and Finnish.
* Improvements in the audio uploader module: Now it can handle audio with non-english characters.
* the title of the window should be updated properly when spellcheck, translate or shorten/unshorten URL buttons are pressed.
* the bug that changes the selected tweet in the home timeline shouldn't be happening so often.
## Changes in version 0.82 and 0.83
* If the tweet source (client) is an application with unicode characters (example: российская газета) it will not break the tweet displayer.
* Added a new field for image description in tweet displayer. When available, it will show description for images posted in tweets.
* users can add image descriptions to their photos. When uploading an image, a dialog will show for asking a description.
* Redesigned upload image dialog.
* Fixed photo uploads when posting tweets.
* When getting tweets for a conversation, ignores deleted tweets or some errors, now TWBlue will try to get as much tweets as possible, even if some of these are no longer available.
* Added audio playback from soundcloud.
* Now the session mute option don't makes the screen reader speaks.
* Fixed the direct message dialog. Now it should be displayed properly.
* when a tweet is deleted in twitter, TWBlue should reflect this change and delete that tweet in every buffer it is displayed.
* If your session is broken, TWBlue will be able to remove it automatically instead just crashing.
* audio uploader should display the current progress.
* users can disable the check for updates feature at startup from the general tab, in the global settings dialogue.
* The invisible interface and the window should be synchronized when the client reconnects.
* The documentation option in the systray icon should be enabled.
* In trending buffers, you can press enter for posting a tweet about the focused trend.
* Updated russian documentation and main program interface (thanks to Natalia Hedlund (Наталья Хедлунд), [@lifestar_n](https://twitter.com/lifestar_n) in twitter)
* updated translations.
## Changes in Version 0.81
* Updated translations
* The updater module has received some improvements. Now it includes a Mirror URL for checking updates if the main URL is not available at the moment. If something is wrong and both locations don't work, the program will start anyway.
* some GUI elements now use keyboard shortcuts for common actions.
* fixed a bug in the geolocation dialog.
* the chicken nugget keymap should work properly.
* Added a new soundpack to the default installation of TWBlue, thanks to [@Deng90](https://twitter.com/deng90)
* Now the changelog is written in an html File.
* Added some missed dictionaries in last version for the spell checking feature.
* Trimmed the beginnings of the sounds in the default soundpack. Thanks to [@masonasons](https://github.com/masonasons)
* Added Opus support for sound playback in TWBlue. Thanks to [@masonasons](https://github.com/masonasons)
* Added a source field in view tweet dialogue. Thanks to [@masonasons](https://github.com/masonasons)
* You can load previous items in followers and friend buffers for others.
* The Spell Checker dialogue should not display an error message when you have set "default language" in the global settings dialogue if your language is supported [#168](http://twblue.es/bugs/view.php?id=168)
* Updated romanian translation.
* Some code cleanups.
* The bug reports feature is fully operational again.
* TWBlue should work again for users that contains special characters in windows usernames.
* Added more options for the tweet searches.
* Added play_audio to the keymap editor.
* Windows key is no longer required in the keymap editor
* Switched to the Microsoft translator.
* You can update the current buffer by pressing ctrl+win+shift+u in the default keymap or in the buffer menu.
* Changed some keystrokes in the windows 10 default keymap
* New followers and friends buffer for user timelines.
---
Copyright © 2014-2021, Manuel Cortez.

View File

@@ -2,22 +2,27 @@
""" This script converts the hold documentation (saved in markdown files) in a python file with a list of strings to translate it using gettext."""
def prepare_documentation_in_file(fileSource, fileDest):
""" This takes documentation written in a markdown file and put all the contents in a python file, to create a internationalized documentation.
@fileSource str: A markdown(.md) file.
@fileDest str: A file where this will put the new strings"""
""" This takes documentation written in a markdown file and put all the contents in a python file, to create a translatable documentation.
@fileSource str: A markdown(.md) file.
@fileDest str: A file where this will put the new strings"""
f1 = open(fileSource, "r")
f2 = open(fileDest, "w")
lns = f1.readlines()
f2.write("# -*- coding: utf-8 -*-\n")
f2.write("documentation = []\n")
for i in lns:
if len(i) > 2:
newvar = "documentation.append(_(u\"\"\"%s\"\"\"))\n" % (i[:-2])
else:
newvar = "documentation.append(_(u\"\"\"%s\"\"\"))\n" % (i)
f2.write(newvar)
f1.close()
f2.close()
f1 = open(fileSource, "r", encoding="utf-8")
f2 = open(fileDest, "w", encoding="utf-8")
lns = f1.readlines()
f2.write("# -*- coding: utf-8 -*-\n")
f2.write("documentation = [\n")
for i in lns:
if "\n" == i:
newvar = "\"\",\n"
elif "\n" == i[-1]:
newvar = "_(\"\"\"%s\"\"\"),\n" % (i[:-1])
else:
newvar = "_(\"\"\"%s\"\"\"),\n" % (i)
f2.write(newvar)
f1.close()
f2.write("]")
f2.close()
prepare_documentation_in_file("manual.md", "strings.py")
prepare_documentation_in_file("changelog.md", "changelog.py")

View File

@@ -1,42 +1,87 @@
# -*- coding: utf-8 -*-
import markdown
import gettext
import os
from codecs import open as _open
import languageHandler
languageHandler.setLanguage("en")
import strings
import locale
import paths
import markdown
import shutil
from importlib import reload
# the list of supported language codes of TW Blue
languages = ["en", "es", "fr", "de", "it"]
#"eu", "ar", "ca", "es", "fi", "fr", "gl", "hu", "it", "pl", "pt", "ru", "tr"]
# Languages already translated or translating the documentation.
documentation_languages = ["en", "es", "fr", "de", "it", "gl", "ja", "ru", "ro", "eu", "ca", "da", "sr"]
def generate_document(language):
reload(languageHandler)
languageHandler.setLanguage(language)
reload(strings)
markdown_file = markdown.markdown("\n".join(strings.documentation[1:]), extensions=["markdown.extensions.toc"])
first_html_block = """<!doctype html>
<html lang="%s">
<head>
<title>%s</title>
<meta charset="utf-8">
</head>
<body>
<header><h1>%s</h1></header>
""" % (language, strings.documentation[0], strings.documentation[0])
first_html_block = first_html_block+ markdown_file
first_html_block = first_html_block + "\n</body>\n</html>"
if not os.path.exists(language):
os.mkdir(language)
mdfile = _open("%s/manual.html" % language, "w", encoding="utf-8")
mdfile.write(first_html_block)
mdfile.close()
# Changelog translated languages.
changelog_languages = ["en", "ca", "de", "es", "eu", "fr", "gl", "ja", "ro", "ru", "sr"]
# this function will help us to have both strings.py and changelog.py without issues by installing a global dummy translation function.
def install_null_translation(name):
_ = gettext.NullTranslations()
_.install()
return
def get_translations(name):
""" Create translation instances for every language of the translated document. """
translations = {}
if "documentation" in name:
langs = documentation_languages
else:
langs = changelog_languages
for l in langs:
if l != "en":
_ = gettext.translation(name, os.path.join(paths.app_path(), "locales"), languages=[l])
translations[l] = _
else:
_ = gettext.NullTranslations()
translations[l] = _
return translations
def generate_document(lang, lang_name, document_type="documentation"):
""" Generates a document by using the provided lang object, which should be a translation, and lang_name, which should be the two letter code representing the language. """
if document_type == "documentation":
translation_file = "twblue-documentation"
markdown_file = markdown.markdown("\n".join([lang.gettext(s) if s != "" else s for s in strings.documentation[1:]]), extensions=["markdown.extensions.toc"])
title = lang.gettext(strings.documentation[0])
filename = "manual.html"
elif document_type == "changelog":
translation_file = "twblue-changelog"
markdown_file = markdown.markdown("\n".join([lang.gettext(s) if s != "" else s for s in changelog.documentation[1:]]), extensions=["markdown.extensions.toc"])
title = lang.gettext(changelog.documentation[0])
filename = "changelog.html"
first_html_block = """<!doctype html>
<html lang="%s">
<head>
<title>%s</title>
<meta charset="utf-8">
</head>
<body>
<header><h1>%s</h1></header>
""" % (lang_name, title, title)
first_html_block = first_html_block+ markdown_file
first_html_block = first_html_block + "\n</body>\n</html>"
if not os.path.exists(os.path.join("documentation", lang_name)):
os.mkdir(os.path.join("documentation", lang_name))
mdfile = open(os.path.join("documentation", lang_name, filename), "w", encoding="utf-8")
mdfile.write(first_html_block)
mdfile.close()
def create_documentation():
print("Creating documentation in the supported languages...\n")
for i in languages:
print("Creating documentation for: %s" % (i,))
generate_document(i)
print("Done")
changelog_translations = get_translations("twblue-changelog")
documentation_translations = get_translations("twblue-documentation")
print("Creating documentation in the supported languages...\n")
if not os.path.exists("documentation"):
os.mkdir("documentation")
if os.path.exists(os.path.join("documentation", "license.txt")) == False:
shutil.copy(os.path.join("..", "license.txt"), os.path.join("documentation", "license.txt"))
for i in documentation_languages:
print("Creating documentation for: %s" % (i,))
generate_document(lang_name=i, lang=documentation_translations.get(i))
for i in changelog_languages:
print("Creating changelog for: %s" % (i,))
generate_document(lang_name=i, lang=changelog_translations.get(i), document_type="changelog")
print("Done")
install_null_translation("twblue-documentation")
import strings
import changelog
create_documentation()

View File

@@ -1,176 +0,0 @@
import __builtin__
import os
import sys
import ctypes
import locale
import gettext
#import paths
import platform
# A fix for the mac locales
if platform.system() != 'Windows':
if locale.getlocale()[0] is None:
locale.setlocale(locale.LC_ALL, 'en_US')
#a few Windows locale constants
LOCALE_SLANGUAGE=0x2
LOCALE_SLANGDISPLAYNAME=0x6f
curLang="en"
def localeNameToWindowsLCID(localeName):
"""Retreave the Windows locale identifier (LCID) for the given locale name
@param localeName: a string of 2letterLanguage_2letterCountry or or just 2letterLanguage
@type localeName: string
@returns: a Windows LCID
@rtype: integer
"""
#Windows Vista is able to convert locale names to LCIDs
func_LocaleNameToLCID=getattr(ctypes.windll.kernel32,'LocaleNameToLCID',None)
if func_LocaleNameToLCID is not None:
localeName=localeName.replace('_','-')
LCID=func_LocaleNameToLCID(unicode(localeName),0)
else: #Windows doesn't have this functionality, manually search Python's windows_locale dictionary for the LCID
localeName=locale.normalize(localeName)
if '.' in localeName:
localeName=localeName.split('.')[0]
LCList=[x[0] for x in locale.windows_locale.iteritems() if x[1]==localeName]
if len(LCList)>0:
LCID=LCList[0]
else:
LCID=0
return LCID
def getLanguageDescription(language):
"""Finds out the description (localized full name) of a given local name"""
desc=None
if platform.system() == "Windows":
LCID=localeNameToWindowsLCID(language)
if LCID!=0:
buf=ctypes.create_unicode_buffer(1024)
if '_' not in language:
res=ctypes.windll.kernel32.GetLocaleInfoW(LCID,LOCALE_SLANGDISPLAYNAME,buf,1024)
else:
res=0
if res==0:
res=ctypes.windll.kernel32.GetLocaleInfoW(LCID,LOCALE_SLANGUAGE,buf,1024)
desc=buf.value
elif platform.system() == "Linux" or not desc:
desc={
"am":pgettext("languageName","Amharic"),
"an":pgettext("languageName","Aragonese"),
"es":pgettext("languageName","Spanish"),
"pt":pgettext("languageName","Portuguese"),
"ru":pgettext("languageName","Russian"),
"it":pgettext("languageName","italian"),
"tr":pgettext("languageName","Turkey"),
"gl":pgettext("languageName","Galician"),
"ca":pgettext("languageName","Catala"),
"eu":pgettext("languageName","Vasque"),
"pl":pgettext("languageName","polish"),
"ar":pgettext("languageName","Arabic"),
"ne":pgettext("languageName","Nepali"),
"sr":pgettext("languageName","Serbian (Latin)"),
}.get(language,None)
return desc
def getAvailableLanguages():
"""generates a list of locale names, plus their full localized language and country names.
@rtype: list of tuples
"""
#Make a list of all the locales found in NVDA's locale dir
l=[x for x in os.listdir("locales") if not x.startswith('.')]
l=[x for x in l if os.path.isfile('locales/%s/LC_MESSAGES/twblue-documentation.mo' % x)]
#Make sure that en (english) is in the list as it may not have any locale files, but is default
if 'en' not in l:
l.append('en')
l.sort()
#For each locale, ask Windows for its human readable display name
d=[]
for i in l:
desc=getLanguageDescription(i)
label="%s, %s"%(desc,i) if desc else i
d.append(label)
#include a 'user default, windows' language, which just represents the default language for this user account
l.append("system")
# Translators: the label for the Windows default NVDA interface language.
d.append(_("User default"))
#return a zipped up version of both the lists (a list with tuples of locale,label)
return zip(l,d)
def makePgettext(translations):
"""Obtaina pgettext function for use with a gettext translations instance.
pgettext is used to support message contexts,
but Python 2.7's gettext module doesn't support this,
so NVDA must provide its own implementation.
"""
if isinstance(translations, gettext.GNUTranslations):
def pgettext(context, message):
message = unicode(message)
try:
# Look up the message with its context.
return translations._catalog[u"%s\x04%s" % (context, message)]
except KeyError:
return message
else:
def pgettext(context, message):
return unicode(message)
return pgettext
def setLanguage(lang):
system = platform.system()
global curLang
try:
if lang=="system":
if system == "Windows":
windowsLCID=ctypes.windll.kernel32.GetUserDefaultUILanguage()
localeName=locale.windows_locale[windowsLCID]
else:
localeName=locale.getlocale()[0]
trans=gettext.translation('twblue-documentation', localedir="locales", languages=[localeName])
curLang=localeName
else:
trans=gettext.translation("twblue-documentation", localedir="locales", languages=[lang])
curLang=lang
localeChanged=False
#Try setting Python's locale to lang
try:
locale.setlocale(locale.LC_ALL, lang)
localeChanged=True
except:
pass
if not localeChanged and '_' in lang:
#Python couldn'tsupport the language_country locale, just try language.
try:
locale.setlocale(locale.LC_ALL, lang.split('_')[0])
except:
pass
#Set the windows locale for this thread (NVDA core) to this locale.
if system == "Windows":
LCID=localeNameToWindowsLCID(lang)
ctypes.windll.kernel32.SetThreadLocale(LCID)
except IOError:
trans=gettext.translation("twblue-documentation",fallback=True)
curLang="en"
trans.install(unicode=True)
# Install our pgettext function.
__builtin__.__dict__["pgettext"] = makePgettext(trans)
def getLanguage():
return curLang
def normalizeLanguage(lang):
"""
Normalizes a language-dialect string in to a standard form we can deal with.
Converts any dash to underline, and makes sure that language is lowercase and dialect is upercase.
"""
lang=lang.replace('-','_')
ld=lang.split('_')
ld[0]=ld[0].lower()
#Filter out meta languages such as x-western
if ld[0]=='x':
return None
if len(ld)>=2:
ld[1]=ld[1].upper()
return "_".join(ld)

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.

Binary file not shown.

File diff suppressed because it is too large Load Diff

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

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

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

361
doc/manual.md Normal file
View File

@@ -0,0 +1,361 @@
Documentation for TWBlue
## Table of contents
[TOC]
## Warning!
You are reading documentation produced for a program still in development. The object of this manual is to explain some details of the operation of the program. Bear in mind that as the software is in the process of active development, parts of this user guide may change in the near future, so it is advisable to keep checking from time to time to avoid missing important information.
If you want to see what has changed from the previous version, [read the list of updates here.](changes.html)
## Introduction
TWBlue is an application to make Twitter simple and fast, while using as few resources as possible. With TWBlue, you can do things like the following:
* Tweet, reply to, retweet and delete tweets,
* Like and unlike a tweet,
* Send and delete direct messages,
* See your friends and followers,
* Follow, unfollow, report and block a user,
* Open a user's timeline to see their tweets separately,
* Open URLs from a tweet or direct message,
* Play several types of audio files from addresses,
* And more.
## Usage
Twitter is a social networking or micro-blogging tool which allows you to compose short status updates of your activities in 280 characters or less. Twitter is a way for friends, family and co-workers to communicate and stay connected through the exchange of quick, frequent messages. You can restrict delivery of updates to those in your circle of friends or, by default, allow anyone to access them.
You can monitor the status of updates from your friends, family or co-workers (known as following), and they in turn can read any updates you create, (known as followers). The updates are referred to as Tweets. The Tweets are posted to your Twitter profile or Blog and are searchable using Twitter Search.
In order to use TWBlue, you must first have created an account on the Twitter website. The process for signing up for a Twitter account is very accessible. During the account registration, you will need to choose a Twitter username. This serves two purposes. This is the method through which people will comunicate with you, but most importantly, your username and password will be required to connect TWBlue to your Twitter account. We suggest you choose a username which is memorable both to you and the people you hope will follow you.
We'll start from the premise that you have a Twitter account with its corresponding username and password.
### Authorising the application
First of all, it's necessary to authorise the program so it can access your Twitter account and act on your behalf. The authorisation process is quite simple, and the program never retains data such as your password. In order to authorise the application, you just need to run the main executable file, called TWBlue.exe (on some computers it may appear simply as TWBlue if Windows Explorer is not set to display file extensions). We suggest you may like to place a Windows shortcut on your Desktop pointing to this executable file for quick and easy location.
You can log into several Twitter accounts simultaneously. The program refers to each Twitter account you have configured as a "Session". If this is the first time you have launched TWBlue, and if no Twitter session exists, you will see the Session Manager. This dialogue box allows you to authorise as many accounts as you wish. If you press the Tab key to reach the "new account" button and activate it by pressing the Space Bar, a dialogue box will advise you that your default internet browser will be opened in order to authorise the application and you will be asked if you would like to continue. Activate the "yes" Button by pressing the letter "Y" so the process may start.
Your default browser will open on the Twitter page to request authorisation. Enter your username and password into the appropriate edit fields if you're not already logged in, select the authorise button, and press it.
Once you've authorised your twitter account, the website will redirect you to a page which will notify you that TWBlue has been authorised successfully. On this page, you will be shown a code composed of several numbers that you must paste in the TWBlue authorization dialogue in order to allow the application to access your account. Once you have pasted the code in the corresponding text field, press enter to finish the account setup and go back to the session manager. On the session list, you will see a new item temporarily called "Authorised account x" -where x is a number. The session name will change once you open that session.
To start running TWBlue, press the Ok button in the Session Manager dialogue. By default, the program starts all the configured sessions automatically, however, you can change this behavior.
If all went well, the application will start playing sounds, indicating your data is being updated.
When the process is finished, by default the program will play another sound, and the screen reader will say "ready" (this behaviour can be configured).
## General concepts
Before starting to describe TWBlue's usage, we'll explain some concepts that will be used extensively throughout this manual.
### Buffer
A buffer is a list of items to manage the data which arrives from Twitter, after being processed by the application. When you configure a new session on TWBlue and start it, many buffers are created. Each of them may contain some of the items which this program works with: Tweets, direct messages, users, trends or. According to the buffer you are focusing, you will be able to do different actions with these items.
The following is a description for every one of TWBlue's buffers and the kind of items they work with.
* Home: this shows all the tweets on the main timeline. These are the tweets by users you follow.
* Mentions: if a user, whether you follow them or not, mentions you on Twitter, you will find it in this list.
* Direct messages: here you will find the private direct messages you exchange with users who follow you , or with any user, if you allow direct messages from everyone (this setting is configurable from Twitter). This list only shows received messages.
* Sent direct messages: this buffer shows all the direct messages sent from your account.
* Sent tweets: this shows all the tweets sent from your account.
* Likes: here you will see all the tweets you have liked.
* Followers: when users follow you, you'll be able to see them on this buffer, with some of their account details.
* Friends: the same as the previous buffer, but these are the users you follow.
* User timelines: these are buffers you may create. They contain only the tweets by a specific user. They're used so you can see the tweets by a single person and you don't want to look all over your timeline. You may create as many as you like.
* Lists: A list is similar to a user timeline, except that you can configure it to contain tweets from multiple users.
* Search: A search buffer contains the results of a search operation.
* User likes: You can have the program create a buffer containing tweets liked by a particular user.
* Followers or following timeline: You can have TWBlue create a buffer containing all users who follow, or are followed by a specific user.
* Trending Topics: a trend buffer shows the top ten most used terms in a geographical region. This region may be a country or a city. Trends are updated every five minutes.
If a tweet contains a URL, you can press enter in the GUI or Control + Windows + Enter in the invisible interface to open it. If it contains video or audio, including live stream content, you can press Control + Enter or Control + Windows + Alt + Enter to play it, respectively. TWBlue will play a sound if the tweet contains video metadata or the \#audio hashtag, but there may be tweets which contain media without this. Finally, if a tweet contains geographical information, you can press Control + Windows + G in the invisible interface to retrieve it.
### Username fields
These fields accept a Twitter username (without the at sign) as the input. They are present in the send direct message, the user actions dialogue and the user alias dialogue boxes, to name a few examples. Those dialogues will be discussed later. The initial value of these fields depends on where they were opened from. They are prepopulated with the username of the sender of the focused tweet (if they were opened from the home and sent timelines, from users' timelines or from lists), the sender of the focused direct message (if from the received or sent direct message buffers) or in the focused user (if from the followers' or friends' buffer). If one of those dialogue boxes is opened from a tweet, and if there are more users mentioned in it, you can use the arrow keys to switch between them. Alternatively, you can also type a username.
## The program's interfaces
### The graphical user interface (GUI)
The graphical user interface of TWBlue consists of a window containing:
* a menu bar accomodating six menus (application, tweet, user, buffer, audio and help);
* One tree view,
* One list of items
* Four buttons in most dialogs: Tweet, retweet , reply and direct message.
The actions that are available for every item will be described later.
In summary, the GUI contains two core components. These are the controls you will find while pressing the Tab key within the program's interface, and the different elements present on the menu bar.
#### Buttons in the application
* Tweet: this button opens up a dialogue box to write your tweet. Normal tweets must not exceed 280 characters. However you can press the long tweet checkbox and your tweet will be posted throught Twishort, wich will allow you to write longer tweets (10000 characters). If you write past this limit, a sound will play to warn you. Note that the character count is displayed in the title bar. You can upload a picture, check spelling, attach audio or translate your message by selecting one of the available buttons in the dialogue box. In addition, you can autocomplete the entering of users by pressing Alt + C or the button for that purpose if you have the database of users configured. Press enter to send the tweet. If all goes well, you'll hear a sound confirming it. Otherwise, the screen reader will speak an error message in English describing the problem.
* Retweet: this button retweets the message you're reading. After you press it, if you haven't configured the application not to do so, you'll be asked if you want to add a comment or simply send it as written. If you choose to add a comment, it will post a quoted tweet, that is, the comment with a link to the originating tweet.
* Reply: when you're viewing a tweet, you can reply to the user who sent it by pressing this button. A dialogue will open up similar to the one for tweeting. If there are more users referred to in the tweet, you can press tab and activate the mention to all checkbox, or enabling checkbox for the users you want to mention separately. Note, however, that sometimes -especially when replying to a retweet or quoted tweet, the user who made the retweet or quote may also be mentioned. This is done by Twitter automatically. When you're on the friends or followers lists, the button will be called mention instead.
* Direct message: exactly like sending a tweet, but it's a private message which can only be read by the user you send it to. Press shift-tab twice to see the recipient. If there were other users mentioned in the tweet you were reading, you can arrow up or down to choose which one to send it to, or write the username yourself without the at sign. In addition, you can autocomplete the entering of users by pressing Alt + C or the button for that purpose if you have the database of users configured.
Bear in mind that buttons will appear according to which actions are possible on the list you are browsing. For example, on the home timeline, mentions, sent, likes and user timelines you will see the four buttons, while on the direct messages list you'll only get the direct message and tweet buttons, and on friends and followers lists the direct message, tweet, and mention buttons will be available.
#### Menus
Visually, Towards the top of the main application window, can be found a menu bar which contains many of the same functions as listed in the previous section, together with some additional items. To access the menu bar, press the alt key. You will find six menus listed: application, tweet, user, buffer, audio and help. This section describes the items on each one of them.
##### Application menu
* Manage accounts: Opens a window with all the sessions configured in TWBlue, where you can add new sessions or delete the ones you've already created.
* Update profile: opens a dialogue where you can update your information on Twitter: name, location, website and bio. If you have already set this up the fields will be prefilled with the existing information. Also, you can upload a photo to your profile.
* Hide window: turns off the Graphical User Interface. Read the section on the invisible interface for further details.
* Search: shows a dialogue box where you can search for tweets or users on Twitter.
* Lists Manager: This dialogue box allows you to manage your Twitter lists. In order to use them, you must first create them. Here, you can view, edit, create, delete or, optionally, open them in buffers similar to user timelines.
* Manage user aliases: Opens up a dialogue where you can manage user aliases for the active session. In this dialog you can add new aliases, as well as edit and delete existing ones.
* Edit keystrokes: this opens a dialogue where you can see and edit the shortcuts used in the invisible interface.
* Account settings: Opens a dialogue box which lets you customize settings for the current account.
* Global settings: Opens a dialogue which lets you configure settings for the entire application.
* Exit: asks whether you want to exit the program. If the answer is yes, it closes the application. If you do not want to be asked for confirmation before exiting, uncheck the checkbox from the global settings dialogue box.
##### Tweet menu
* You will first find the items to tweet, reply and retweet, which are equivalent to the buttons with the same name.
* Like: Adds the tweet you're viewing to your likes list.
* Unlike: removes the tweet from your likes, but not from Twitter.
* Show tweet: opens up a dialogue box where you can read the tweet, direct message, friend or follower which has focus. You can read the text with the arrow keys. It's a similar dialog box as used for composing tweets, without the ability to send the tweet, file attachment and autocompleting capabilities. It does however include a retweets and likes count. If you are in the followers or the friends list, it will only contain a read-only edit box with the information in the focused item and a close button.
* View address: If the selected tweet has geographical information, TWBlue may display a dialogue box where you can read the tweet address. This address is retrieved by sending the geographical coordinates of the tweet to Google maps.
* View conversation: If you are focusing a tweet with a mention, it opens a buffer where you can view the whole conversation.
* Read text in pictures: Attempt to apply OCR technology to the image attached to the tweet. The result will be displayed in another dialog.
* Delete: permanently removes the tweet or direct message which has focus from Twitter and from your lists. Bear in mind that Twitter only allows you to delete tweets you have posted yourself.
##### User menu
* Actions: Opens a dialogue where you can interact with a user. This dialogue box will be populated with the user who sent the tweet or direct message in focus or the selected user in the friends or followers buffer. You can edit it or leave it as is and choose one of the following actions:
* Follow: Follows a user. This means you'll see his/her tweets on your home timeline, and if he/she also follows you, you'll be able to exchange direct messages. You may also send / receive direct messages from each other if you have configured the option to allow direct messages from anyone.
* Unfollow: Stops following a user, which causes you not being able to see his/her tweets on your main timeline neither exchanging direct messages, unless they have enabled receiving direct messages from anyone.
* Mute: While muting someone, TWBlue won't show you nor his/her tweets on your main timeline; neither will you see that person's mentions. But you both will be able to exchange direct messages. The muted user is not informed of this action.
* Unmute: this option allows TWBlue to display the user's tweets and mentions again.
* Block: Blocks a user. This forces the user to unfollow you .
* Unblock: Stops blocking a user.
* Report as spam: this option sends a message to Twitter suggesting the user is performing prohibited practices on the social network.
* Ignore tweets from this client: Adds the client from which the focused tweet was sent to the ignored clients list.
* View timeline: Lets you open a user's timeline by choosing the user in a dialog box. It is created when you press enter. If you invoke this option relative to a user that has no tweets, the operation will fail. If you try creating an existing timeline the program will warn you and will not create it again.
* Direct message: same action as the button.
* Add Alias: An user alias allows you to rename user's display names on Twitter, so the next time you'll read an user it will be announced as you configured. This feature works only if you have set display screen names unchecked, in account settings.
* Add to List: In order to see someone's tweets in one or more of your lists, you must add them first. In the dialogue box that opens after selecting the user, you will be asked to select the list you wish to add the user to. Thereafter, the list will contain a new member and their tweets will be displayed there.
* Remove from list: lets you remove a user from a list.
* View lists: Shows the lists created by a specified user.
* Show user profile: opens a dialogue with the profile of the specified user.
* View likes: Opens a buffer where you can see the tweets which have been liked by a particular user.
##### Buffer menu
* Update buffer: Retrieves the newest items for the focused buffer. Normally, every buffer gets updated every couple of minutes, however you can force a specific buffer to be updated inmediately. Take into account, however, that the usage of this option repeatedly might exceed your allowed Twitter's API usage, in which case you would have to wait until it gets reset, tipycally within the next 15 minutes.
* New trending topics buffer: This opens a buffer to get the worlwide trending topics or those of a country or a city. You'll be able to select from a dialogue box if you wish to retrieve countries' trends, cities' trends or worldwide trends (this option is in the cities' list) and choose one from the selected list. The trending topics buffer will be created once the "OK" button has been activated within the dialogue box. Remember this kind of buffer will be updated every five minutes.
* Load previous items: This allows more items to be loaded for the specified buffer.
* Create filter: Creates a filter in the current buffer. Filters allow loading or ignoring tweets that meet certain conditions into a buffer. You can, for example, set a filter in the "home" buffer that loads tweets that are in English language only. By default, the filter creation dialog will place the focus on the field to name the filter. Currently, you can filter by word, by language, or both. In the filter by word, you can make TWBlue allow or ignore tweets with the desired word. In the filter by language, you can make the program load tweets in the languages you want, or ignore tweets written in certain languages. Once created, every filter will be saved in the session config and will be kept across application restarts.
* Manage filters: Opens up a dialogue which allows you to delete filters for the current session.
* Find a string in the currently focused buffer: Opens a dialogue where you can search for items in the current buffer.
* Mute: Mutes notifications of a particular buffer so you will not hear when new tweets arrive.
* autoread: When enabled, the screen reader or SAPI 5 Text to Speech voice (if enabled) will read the text of incoming tweets. Please note that this could get rather chatty if there are a lot of incoming tweets.
* Clear buffer: Deletes all items from the buffer.
* Destroy: dismisses the list you're on.
##### Audio menu
* Play/pause: try to play audio for the selected item (if available), or stop the currently played audio.
* Seek back 5 seconds: If an audio is being played, seek 5 seconds back in the playback. This will work only in audio files. This feature cannot be used in radio stations or other streamed files.
* Seek forward 5 seconds: If an audio is being played, seek 5 seconds forward in the playback. This feature cannot be used in radio stations or other streamed files.
##### Help menu
* Documentation: opens up this file, where you can read some useful program concepts.
* Sounds tutorial: Opens a dialog box where you can familiarize yourself with the different sounds of the program.
* What's new in this version?: opens up a document with the list of changes from the current version to the earliest.
* Check for updates: every time you open the program it automatically checks for new versions. If an update is available, it will ask you if you want to download the update. If you accept, the updating process will commence. When complete, TWBlue will be restarted. This item checks for new updates without having to restart the application.
* TWBlue's website: visit our [home page](http://twblue.es) where you can find all relevant information and downloads for TWBlue and become a part of the community.
* Get soundpacks for TWBlue:
* Make a Donation: Opens a website from which you can donate to the TWBlue project. Donations are made through paypal and you don't need an account to donate.
* About TWBlue: shows the credits of the program.
### The invisible user interface
The invisible interface, as its name suggests, has no graphical window and works directly with screen readers such as JAWS for Windows, NVDA and System Access. This interface is disabled by default, but you can enable it by pressing Control + M. It works similarly to TheQube and Chicken Nugget. Its shortcuts are similar to those found in these two clients. In addition, the program has builtin support for the keymaps for these applications, configurable through the global settings dialogue. By default, you cannot use this interface's shortcuts in the GUI, but you can configure this in the global settings dialogue.
The next section contains a list of keyboard shortcuts for both interfaces. Bear in mind that we will only describe the default keymap.
## Keyboard shortcuts
### Shortcuts of the graphical user interface (GUI)
* Enter: Open URL.
* Control + Enter: Play audio.
* Control + M: Hide the GUI.
* Control + N: Compose a new tweet.
* Control + R: Reply / mention.
* Control + Shift + R: Retweet.
* Control + D: Send a direct message.
* control + F: Add tweet to likes.
* Control + Shift + F: Remove a tweet from likes.
* Control + S: Open the user actions dialogue.
* Control + Shift + V: Show tweet.
* Control + Q: Quit this program.
* Control + I: Open user timeline.
* Control + Shift + i: Destroy buffer.
* F5: Increase volume by 5%.
* F6: Decrease volume by 5%.
* Control + P: Edit your profile.
* Control + Delete: Delete a tweet or direct message.
* Control + Shift + Delete: Empty the current buffer.
### Shortcuts of the invisible interface (default keymap)
The invisible interface of TWBlue can be customised by using a keymap. Every keymap defines a set of keystrokes to be used along with the invisible interface. You can change the keymap in the global settings dialogue, under the application menu in the menu bar, and check or edit keystrokes for the selected keymap in the keystroke editor, also available in the application menu.
* Control + Windows + Up Arrow: moves to the previous item in the buffer.
* Control + Windows + Down Arrow: moves to the next item in the buffer.
* Control + Windows + Left Arrow: Move to the previous buffer.
* Control + Windows + Right Arrow: Move to the next buffer.
* Control + Windows + Shift + Left: Focus the previous session.
* Control + Windows + Shift + Right: Focus the next session.
* Control + Windows + C: View conversation.
* Control + Windows + Enter: Open URL.
* Control + Windows + ALT + Enter: Play audio.
* Control + Windows + M: Show or hide the GUI.
* Control + Windows + N: New tweet.
* Control + Windows + R: Reply / Mention.
* Control + Windows + Shift + R: Retweet.
* Control + Windows + D: Send direct message.
* Windows+ Alt + F: Like a tweet.
* Alt + Windows + Shift + F: Remove from likes.
* Control + Windows + S: Open the user actions dialogue.
* Control + Windows + Alt + N: See user details.
* Control + Windows + V: Show tweet.
* Control + Windows + F4: Quit TWBlue.
* Control + Windows + I: Open user timeline.
* Control + Windows + Shift + I: Destroy buffer.
* Control + Windows + Alt + Up: Increase volume by 5%.
* Control + Windows + Alt + Down: Decrease volume by 5%.
* Control + Windows + Home: Jump to the first element of the current buffer.
* Control + Windows + End: Jump to the last element of the current buffer.
* Control + Windows + PageUp: Jump 20 elements up in the current buffer.
* Control + Windows + PageDown: Jump 20 elements down in the current buffer.
* Windows + Alt + P: Edit profile.
* Control + Windows + Delete: Delete a tweet or direct message.
* Control + Windows + Shift + Delete: Empty the current buffer.
* Control + Windows + Space: Repeat last item.
* Control + Windows + Shift + C: Copy to clipboard.
* Control + Windows+ A: Add user to list.
* Control + Windows + Shift + A: Remove user from list.
* Control + Windows + Shift + M: Mute / unmute the current buffer.
* Windows + Alt + M: Mute / unmute the current session.
* Control + Windows + E: Toggle the automatic reading of incoming tweets in the current buffer.
* Control + Windows + -: Search on Twitter.
* Control + Windows + K: Show the keystroke editor.
* Control + Windows + L: Show lists for a specified user.
* Windows + Alt + PageUp: Load previous items for the current buffer.
* Control + Windows + G: Get geolocation.
* Control + Windows + Shift + G: Display the tweet's geolocation in a dialogue.
* Control + Windows + T: Create a trending topics' buffer.
* Control + Windows + {: Find a string in the current buffer.
* Alt + Windows + O: Extracts text from the picture and display the result in a dialog.
## Configuration
As described above, this application has two configuration dialogues, the global settings dialogue and the account settings dialogue.
### The account settings dialogue
#### General tab
* Autocompletion settings: Allows you to configure the autocompletion database. You can add users manually or let TWBlue add your followers, friends or both.
* Relative timestamps: Allows you to configure whether the application will calculate the time the tweet or direct message was sent or received based on the current time, or simply say the time it was received or sent.
* API calls: Allows you to adjust the number of API calls to be made to Twitter by this program.
* Items on each API call: Allows you to specify how many items should be retrieved from Twitter for each API call (default and maximum is 200).
* Inverted buffers: Allows you to specify whether the buffers should be inverted, which means that the oldest items will show at the end of them and the newest at the beginning.
* Retweet mode: Allows you to specify the behaviour when posting a retweet: you can choose between retweeting with a comment, retweeting without comment or being asked.
* Number of items per buffer to cache in database: This allows you to specify how many items TWBlue should cache in a database. You can type any number, 0 to cache all items, or leave blank to disable caching entirely.
#### buffers tab
This tab displays a list for each buffer you have available in TWBlue, except for searches, timelines, likes' timelines and lists. You can show, hide and move them.
#### The ignored clients tab
In this tab, you can add and remove clients to be ignored by the program.
#### Sound tab
In this tab, you can adjust the sound volume, select the input and output device and set the soundpack used by the program.
#### Audio service tab
In this tab, you can enter your SndUp API key (if you have one) to upload audio to SndUp with your account. Note that if account credentials are not specified you will upload anonimously.
### Global settings
This dialogue allows you to configure some settings which will affect the entire application.
#### General tab {#general-tab_1}
* Language: This allows you to change the language of this program. Currently supported languages are arabic, Catalan, German, English, Spanish, Basque, Finnish, French, Galician, Croatian, Hungarian, Italian, Polish, Portuguese, Russian and Turkish.
* Ask before exiting TWBlue: This checkbox allows you to control whetherthe program will ask for confirmation before exiting.
* Play a sound when TWBlue launches: This checkbox allows you to configure whether the application will play a sound when it has finished loading the buffers.
* Speak a message when TWBlue launches: This is the same as the previous option, but this checkbox configures whether the screen reader will say "ready".
* Use the invisible interface's shortcuts in the GUI: As the invisible interface and the Graphical User Interface have their own shortcuts, you may want to use the invisible interface's keystrokes all the time. If this option is checked, the invisible interface's shortcuts will be usable in the GUI.
* Activate SAPI5 when any other screen reader is not being run: This checkbox allows to activate SAPI 5 TTS when no other screen reader is being run.
* Hide GUI on launch: This allows you to configure whether TWBlue will start with the GUI or the invisible interface.
* Keymap: This option allows you to change the keymap used by the program in the invisible interface. The shipped keymaps are Default, Qwitter, Windows 10 and Chicken Nugget. The keymaps are in the "keymaps" folder, and you can create new ones. Just create a new ".keymap" file and change the keystrokes associated with the actions, as it is done in the shipped keymaps.
#### Proxi tab
In this tab you can configure TWBlue to use a Proxy server by completing the fields displayed (type, server, port, user and password).
## License, source code and donations
Tw Blue is free software, licensed under the GNU GPL license, either version 2 or, at your option, any later version. You can view the license in the file named license.txt, or online at <http://www.gnu.org/licenses/old-licenses/gpl-2.0.html>.
The source code of the program is available on GitHub at <https://www.github.com/manuelcortez/twblue>.
If you want to donate to the project, you can do so at <https://twblue.es/donate>. Thank you for your support!
## Contact
If you still have questions after reading this document, if you wish to collaborate to the project in some other way, or if you simply want to get in touch with the application developer, follow the Twitter account [@tw\_blue2](https://twitter.com/tw_blue2) or [@manuelcortez00.](https://twitter.com/manuelcortez00) You can also visit [our website](https://twblue.es)
## Credits
TWBlue is developed and maintained by [Manuel Cortéz](https://twitter.com/manuelcortez00) and [José Manuel Delicado](https://twitter.com/jmdaweb).
We would also like to thank the translators of TWBlue, who have allowed the spreading of the application.
* Arabic: [Mohammed Al Shara,](https://twitter.com/mohammed0204) [Hatoun Felemban](https://twitter.com/HatounFelemban)
* Basque: [Sukil Etxenike](https://twitter.com/sukil2011).
* Catalan: [Francisco Torres](https://twitter.com/ftgalleg)
* Croatian: [Zvonimir Stanečić](https://twitter.com/zvonimirek222).
* English: [Manuel Cortéz](https://twitter.com/manuelcortez00).
* Finnish: [Jani Kinnunen](https://twitter.com/jani_kinnunen).
* French: [Rémy Ruiz](https://twitter.com/blindhelp38).
* Galician: [Juan Buño](https://twitter.com/Quetzatl_).
* German: [Steffen Schultz](https://twitter.com/schulle4u).
* Hungarian: Robert Osztolykan.
* Italian: [Christian Leo Mameli](https://twitter.com/llajta2012).
* Japanese: [Riku](https://twitter.com/_riku02)
* Polish: [Pawel Masarczyk.](https://twitter.com/Piciok)
* Portuguese: [Odenilton Júnior Santos.](https://twitter.com/romaleif)
* Romanian: [Florian Ionașcu](https://twitter.com/florianionascu7) and [Nicușor Untilă](https://twitter.com/dj_storm2001)
* Russian: [Наталья Хедлунд](https://twitter.com/Lifestar_n) and [Валерия Кузнецова](https://twitter.com/ValeriaK305).
* Serbian: [Aleksandar Đurić](https://twitter.com/sokodtreshnje)
* Spanish: [Manuel Cortéz](https://twitter.com/manuelcortez00).
* Turkish: [Burak Yüksek](https://twitter.com/burakyuksek).
Many thanks also to the people who worked on the documentation. Initially, [Manuel Cortez](https://twitter.com/manuelcortez00) did the documentation in Spanish, and translated to English by [Bryner Villalobos](https://twitter.com/Bry_StarkCR), [Robert Spangler](https://twitter.com/glasscity1837), [Sussan Rey](https://twitter.com/sussanrey17), [Anibal Hernandez](https://twitter.com/AnimalMetal), and [Holly Scott-Gardner](https://twitter.com/CatchTheseWords). It was updated by [Sukil Etxenike](https://twitter.com/sukil2011), with some valuable corrections by [Brian Hartgen](https://twitter.com/brianhartgen) and [Bill Dengler](https://twitter.com/codeofdusk).
------------------------------------------------------------------------
Copyright © 2013-2021. Manuel Cortéz

67
doc/paths.py Normal file
View File

@@ -0,0 +1,67 @@
# -*- coding: utf-8 -*-
import sys
import platform
import os
import glob
from platform_utils import paths as paths_
mode = "portable"
directory = None
fsencoding = sys.getfilesystemencoding()
if len(glob.glob("Uninstall.exe")) > 0: # installed copy
mode= "installed"
def app_path():
return paths_.app_path()
def config_path():
global mode, directory
if mode == "portable":
if directory != None: path = os.path.join(directory, "config")
elif directory == None: path = os.path.join(app_path(), "config")
elif mode == "installed":
path = os.path.join(data_path(), "config")
if not os.path.exists(path):
# log.debug("%s path does not exist, creating..." % (path,))
os.mkdir(path)
return path
def logs_path():
global mode, directory
if mode == "portable":
if directory != None: path = os.path.join(directory, "logs")
elif directory == None: path = os.path.join(app_path(), "logs")
elif mode == "installed":
path = os.path.join(data_path(), "logs")
if not os.path.exists(path):
# log.debug("%s path does not exist, creating..." % (path,))
os.mkdir(path)
return path
def data_path(app_name='socializer'):
if platform.system() == "Windows":
data_path = os.path.join(os.getenv("AppData"), app_name)
else:
data_path = os.path.join(os.environ['HOME'], ".%s" % app_name)
if not os.path.exists(data_path):
os.mkdir(data_path)
return data_path
def locale_path():
return os.path.join(app_path(), "locales")
def sound_path():
return os.path.join(app_path(), "sounds")
def com_path():
global mode, directory
if mode == "portable":
if directory != None: path = os.path.join(directory, "com_cache")
elif directory == None: path = os.path.join(app_path(), "com_cache")
elif mode == "installed":
path = os.path.join(data_path(), "com_cache")
if not os.path.exists(path):
# log.debug("%s path does not exist, creating..." % (path,))
os.mkdir(path)
return path

View File

@@ -1,429 +0,0 @@
# -*- coding: utf-8 -*-
import application
documentation = []
documentation.append(_(u"""Documentation for TWBlue - {0}""").format(application.version))
# Translators: This is the new line character, don't change it in the translations.
documentation.append(_(u"""
"""))
documentation.append(_(u"""## Table of contents"""))
# Table of contents for the python markdown extension
documentation.append("""[TOC]""")
documentation.append(_(u"""
"""))
documentation.append(_(u"""## Warning!"""))
documentation.append(_(u"""
"""))
documentation.append(_(u"""You are reading documentation produced for a program still in development. The object of this manual is to explain some details of the operation of the program. Bear in mind that as the software is in the process of active development, parts of this user guide may change in the near future, so it is advisable to keep checking from time to time to avoid missing important information."""))
documentation.append(_(u"""
"""))
documentation.append(_(u"""If you want to see what has changed from the previous version, [read the list of updates here.](changes.html)"""))
documentation.append(_(u"""
"""))
documentation.append(_(u"""## Introduction"""))
documentation.append(_(u"""
"""))
documentation.append(_(u"""TWBlue is an application to make Twitter simple and fast, while using as few resources as possible. With TWBlue, you can do things like the following:"""))
documentation.append(_(u"""
"""))
documentation.append(_(u"""* Tweet, reply to, retweet and delete tweets,"""))
documentation.append(_(u"""* Mark and unmark a tweet as favourite,"""))
documentation.append(_(u"""* Send and delete direct messages,"""))
documentation.append(_(u"""* See your friends and followers,"""))
documentation.append(_(u"""* Follow, unfollow, report and block a user,"""))
documentation.append(_(u"""* Open a user's timeline to see their tweets separately,"""))
documentation.append(_(u"""* Open URLs from a tweet or direct message,"""))
documentation.append(_(u"""* Play several types of audio files from addresses,"""))
documentation.append(_(u"""* And more."""))
documentation.append(_(u"""
"""))
documentation.append(_(u"""## Usage"""))
documentation.append(_(u"""
"""))
documentation.append(_(u"""Twitter is a social networking or micro-blogging tool which allows you to compose short status updates of your activities in 140 characters or less. Twitter is a way for friends, family and co-workers to communicate and stay connected through the exchange of quick, frequent messages. You can restrict delivery of updates to those in your circle of friends or, by default, allow anyone to access them."""))
documentation.append(_(u"""
"""))
documentation.append(_(u"""You can monitor the status of updates from your friends, family or co-workers (known as following), and they in turn can read any updates you create, (known as followers). The updates are referred to as Tweets. The Tweets are posted to your Twitter profile or Blog and are searchable using Twitter Search."""))
documentation.append(_(u"""
"""))
documentation.append(_(u"""In order to use TWBlue, you must first have created an account on the Twitter website. The process for signing up for a Twitter account is very accessible. During the account registration, you will need to choose a Twitter username. This serves two purposes. This is the method through which people will comunicate with you, but most importantly, your username and password will be required to connect TWBlue to your Twitter account. We suggest you choose a username which is memorable both to you and the people you hope will follow you."""))
documentation.append(_(u"""
"""))
documentation.append(_(u"""We'll start from the premise that you have a Twitter account with its corresponding username and password."""))
documentation.append(_(u"""
"""))
documentation.append(_(u"""### Authorising the application"""))
documentation.append(_(u"""
"""))
documentation.append(_(u"""First of all, it's necessary to authorise the program so it can access your Twitter account and act on your behalf. The authorisation process is quite simple, and the program never retains data such as your password. In order to authorise the application, you just need to run the main executable file, called TWBlue.exe (on some computers it may appear simply as TWBlue if Windows Explorer is not set to display file extensions). We suggest you may like to place a Windows shortcut on your Desktop pointing to this executable file for quick and easy location."""))
documentation.append(_(u"""
"""))
documentation.append(_(u"""You can log into several Twitter accounts simultaneously. The program refers to each Twitter account you have configured as a "Session". If this is the first time you have launched TWBlue, and if no Twitter session exists, you will see the Session Manager. This dialogue box allows you to authorise as many accounts as you wish. If you press the Tab key to reach the "new account" button and activate it by pressing the Space Bar, a dialogue box will advise you that your default internet browser will be opened in order to authorise the application and you will be asked if you would like to continue. Activate the "yes" Button by pressing the letter "Y" so the process may start."""))
documentation.append(_(u"""
"""))
documentation.append(_(u"""Your default browser will open on the Twitter page to request authorisation. Enter your username and password into the appropriate edit fields if you're not already logged in, select the authorise button, and press it."""))
documentation.append(_(u"""
"""))
documentation.append(_(u"""Once you've authorised your twitter account, the website will redirect you to a page which will notify you that TWBlue has been authorised successfully. Now you are able to close the page by pressing ALT+F4 which will return you to the Session Manager. On the session list, you will see a new item temporarily called "Authorised account x" -where x is a number. The session name will change once you open that session."""))
documentation.append(_(u"""
"""))
documentation.append(_(u"""To start running TWBlue, press the Ok button in the Session Manager dialogue. By default, the program starts all the configured sessions automatically, however, you can change this behavior."""))
documentation.append(_(u"""
"""))
documentation.append(_(u"""If all went well, the application will start playing sounds, indicating your data is being updated."""))
documentation.append(_(u"""
"""))
documentation.append(_(u"""When the process is finished, by default the program will play another sound, and the screen reader will say "ready" (this behaviour can be configured)."""))
documentation.append(_(u"""
"""))
documentation.append(_(u"""## General concepts"""))
documentation.append(_(u"""
"""))
documentation.append(_(u"""Before starting to describe TWBlue's usage, we'll explain some concepts that will be used extensively throughout this manual."""))
documentation.append(_(u"""
"""))
documentation.append(_(u"""### Buffer"""))
documentation.append(_(u"""
"""))
documentation.append(_(u"""A buffer is a list of items to manage the data which arrives from Twitter, after being processed by the application. When you configure a new session on TWBlue and start it, many buffers are created. Each of them may contain some of the items which this program works with: Tweets, direct messages, users, trends or events. According to the buffer you are focusing, you will be able to do different actions with these items."""))
documentation.append(_(u"""
"""))
documentation.append(_(u"""The following is a description for every one of TWBlue's buffers and the kind of items they work with."""))
documentation.append(_(u"""
"""))
documentation.append(_(u"""* Home: this shows all the tweets on the main timeline. These are the tweets by users you follow."""))
documentation.append(_(u"""* Mentions: if a user, whether you follow them or not, mentions you on Twitter, you will find it in this list."""))
documentation.append(_(u"""* Direct messages: here you will find the private direct messages you exchange with users who follow you , or with any user, if you allow direct messages from everyone (this setting is configurable from Twitter). This list only shows received messages."""))
documentation.append(_(u"""* Sent direct messages: this buffer shows all the direct messages sent from your account."""))
documentation.append(_(u"""* Sent tweets: this shows all the tweets sent from your account."""))
documentation.append(_(u"""* Favourites: here you will see all the tweets you have favourited."""))
documentation.append(_(u"""* Followers: when users follow you, you'll be able to see them on this buffer, with some of their account details."""))
documentation.append(_(u"""* Friends: the same as the previous buffer, but these are the users you follow."""))
documentation.append(_(u"""* User timelines: these are buffers you may create. They contain only the tweets by a specific user. They're used so you can see the tweets by a single person and you don't want to look all over your timeline. You may create as many as you like."""))
documentation.append(_(u"""* Events: An event is anything that happens on Twitter, such as when someone follows you, when someone adds or removes one of your tweets from their favourites list, or when you subscribe to a list. There are many more, but the program shows the most common ones in the events buffer so that you can easily keep track of what is happening on your account."""))
documentation.append(_(u"""* Lists: A list is similar to a user timeline, except that you can configure it to contain tweets from multiple users."""))
documentation.append(_(u"""* Search: A search buffer contains the results of a search operation."""))
documentation.append(_(u"""* User favourites: You can have the program create a buffer containing tweets favourited by a particular user."""))
documentation.append(_(u"""* Trending Topics: a trend buffer shows the top ten most used terms in a geographical region. This region may be a country or a city. Trends are updated every five minutes."""))
documentation.append(_(u"""
"""))
documentation.append(_(u"""If a tweet contains a URL, you can press enter in the GUI or Control + Windows + Enter in the invisible interface to open it. If it contains audio, you can press Control + Enter or Control + Windows + Alt + Enter to play it, respectively. TWBlue will play a sound if the tweet contains the #audio hashtag, but there may be tweets which contain audio without this. Finally, if a tweet contains geographical information, you can press Control + Windows + G in the invisible interface to retrieve it."""))
documentation.append(_(u"""
"""))
documentation.append(_(u"""### Username fields"""))
documentation.append(_(u"""
"""))
documentation.append(_(u"""These fields accept a Twitter username (without the at sign) as the input. They are present in the send direct message and the user actions dialogue boxes. Those dialogues will be discussed later. The initial value of these fields depends on where they were opened from. They are prepopulated with the username of the sender of the focused tweet (if they were opened from the home and sent timelines, from users' timelines or from lists), the sender of the focused direct message (if from the received or sent direct message buffers) or in the focused user (if from the followers' or friends' buffer). If one of those dialogue boxes is opened from a tweet, and if there are more users mentioned in it, you can use the arrow keys to switch between them. Alternatively, you can also type a username."""))
documentation.append(_(u"""## The program's interfaces"""))
documentation.append(_(u"""
"""))
documentation.append(_(u"""### The graphical user interface (GUI)"""))
documentation.append(_(u"""
"""))
documentation.append(_(u"""The graphical user interface of TWBlue consists of a window containing:"""))
documentation.append(_(u"""
"""))
documentation.append(_(u"""* a menu bar accomodating five menus (application, tweet, user, buffer and help);"""))
documentation.append(_(u"""* One tree view,"""))
documentation.append(_(u"""* One list of items"""))
documentation.append(_(u"""* Four buttons in most dialogs: Tweet, retweet , reply and direct message."""))
documentation.append(_(u"""
"""))
documentation.append(_(u"""The actions that are available for every item will be described later."""))
documentation.append(_(u"""
"""))
documentation.append(_(u"""In summary, the GUI contains two core components. These are the controls you will find while pressing the Tab key within the program's interface, and the different elements present on the menu bar."""))
documentation.append(_(u"""
"""))
documentation.append(_(u"""#### Buttons in the application"""))
documentation.append(_(u"""
"""))
documentation.append(_(u"""* Tweet: this button opens up a dialogue box to write your tweet. The message must not exceed 140 characters. If you write past this limit, a sound will play to warn you. Note that the character count is displayed in the title bar. You may use the shorten and expand URL buttons to comply with the character limit. You can upload a picture, check spelling, attach audio or translate your message by selecting one of the available buttons in the dialogue box. In addition, you can autocomplete the entering of users by pressing Alt + A or the button for that purpose if you have the database of users configured. Press enter to send the tweet. If all goes well, you'll hear a sound confirming it. Otherwise, the screen reader will speak an error message in English describing the problem."""))
documentation.append(_(u"""* Retweet: this button retweets the message you're reading. After you press it, if you haven't configured the application not to do so, you'll be asked if you want to add a comment or simply send it as written. If you choose to add a comment, and if the original tweet plus the comment exceeds 140 characters, you will be asked if you want to post it as a comment with a mention to the original user and a link to the originating tweet."""))
documentation.append(_(u"""* Reply: when you're viewing a tweet, you can reply to the user who sent it by pressing this button. A dialogue will open up similar to the one for tweeting, but with the name of the user already filled in (for example @user) so you only need to write your message. If there are more users referred to in the tweet, you can press shift-tab and activate the mention all users button. When you're on the friends or followers lists, the button will be called mention instead."""))
documentation.append(_(u"""* Direct message: exactly like sending a tweet, but it's a private message which can only be read by the user you send it to. Press shift-tab to see the recipient. If there were other users mentioned in the tweet you were reading, you can arrow up or down to choose which one to send it to, or write the username yourself without the at sign."""))
documentation.append(_(u"""
"""))
documentation.append(_(u"""Bear in mind that buttons will appear according to which actions are possible on the list you are browsing. For example, on the home timeline, mentions, sent, favourites and user timelines you will see the four buttons, while on the direct messages list you'll only get the direct message and tweet buttons, and on friends and followers lists the direct message, tweet, and mention buttons will be available."""))
documentation.append(_(u"""
"""))
documentation.append(_(u"""#### Menus"""))
documentation.append(_(u"""
"""))
documentation.append(_(u"""Visually, Towards the top of the main application window, can be found a menu bar which contains many of the same functions as listed in the previous section, together with some additional items. To access the menu bar, press the alt key. You will find five menus listed: application, tweet, user, buffer and help. This section describes the items on each one of them."""))
documentation.append(_(u"""
"""))
documentation.append(_(u"""##### Application menu"""))
documentation.append(_(u"""
"""))
documentation.append(_(u"""* Manage accounts: Opens a window with all the sessions configured in TWBlue, where you can add new sessions or delete the ones you've already created."""))
documentation.append(_(u"""* Update profile: opens a dialogue where you can update your information on Twitter: name, location, website and bio. If you have already set this up the fields will be prefilled with the existing information. Also, you can upload a photo to your profile."""))
documentation.append(_(u"""* Hide window: turns off the Graphical User Interface. Read the section on the invisible interface for further details."""))
documentation.append(_(u"""* Search: shows a dialogue box where you can search for tweets or users on Twitter."""))
documentation.append(_(u"""* Lists Manager: This dialogue box allows you to manage your Twitter lists. In order to use them, you must first create them. Here, you can view, edit, create, delete or, optionally, open them in buffers similar to user timelines."""))
documentation.append(_(u"""* Edit keystrokes: this opens a dialogue where you can see and edit the shortcuts used in the invisible interface."""))
documentation.append(_(u"""* Account settings: Opens a dialogue box which lets you customize settings for the current account."""))
documentation.append(_(u"""* Global settings: Opens a dialogue which lets you configure settings for the entire application."""))
documentation.append(_(u"""* Exit: asks whether you want to exit the program. If the answer is yes, it closes the application. If you do not want to be asked for confirmation before exiting, uncheck the checkbox from the global settings dialogue box."""))
documentation.append(_(u"""
"""))
documentation.append(_(u"""##### Tweet menu"""))
documentation.append(_(u"""
"""))
documentation.append(_(u"""* You will first find the items to tweet, reply and retweet, which are equivalent to the buttons with the same name."""))
documentation.append(_(u"""* Add to favourites: marks the tweet you're viewing as a favourite."""))
documentation.append(_(u"""* Remove from favourites: removes the tweet from your favourites, but not from Twitter."""))
documentation.append(_(u"""* Show tweet: opens up a dialogue box where you can read the tweet, direct message, friend or follower which has focus. You can read the text with the arrow keys. It's a similar dialog box as used for composing tweets, without the ability to send the tweet, file attachment and autocompleting capabilities. It does however include a retweets and favourites count. If you are in the followers or the friends list, it will only contain a read-only edit box with the information in the focused item and a close button."""))
documentation.append(_(u"""* View address: If the selected tweet has geographical information, TWBlue may display a dialogue box where you can read the tweet address. This address is retrieved by sending the geographical coordinates of the tweet to Google maps."""))
documentation.append(_(u"""* View conversation: If you are focusing a tweet with a mention, it opens a buffer where you can view the whole conversation."""))
documentation.append(_(u"""* Delete: permanently removes the tweet or direct message which has focus from Twitter and from your lists. Bear in mind that Twitter only allows you to delete tweets you have posted yourself."""))
documentation.append(_(u"""
"""))
documentation.append(_(u"""##### User menu"""))
documentation.append(_(u"""
"""))
documentation.append(_(u"""* Actions: Opens a dialogue where you can interact with a user. This dialogue box will be populated with the user who sent the tweet or direct message in focus or the selected user in the friends or followers buffer. You can edit it or leave it as is and choose one of the following actions:"""))
documentation.append(_(u""" * Follow: Follows a user. This means you'll see his/her tweets on your home timeline, and if he/she also follows you, you'll be able to exchange direct messages. You may also send / receive direct messages from each other if you have configured the option to allow direct messages from anyone."""))
documentation.append(_(u""" * Unfollow: Stops following a user, which causes you not being able to see his/her tweets on your main timeline neither exchanging direct messages, unless they have enabled receiving direct messages from anyone."""))
documentation.append(_(u""" * Mute: While muting someone, TWBlue won't show you nor his/her tweets on your main timeline; neither will you see that person's mentions. But you both will be able to exchange direct messages. The muted user is not informed of this action."""))
documentation.append(_(u""" * Unmute: this option allows TWBlue to display the user's tweets and mentions again."""))
documentation.append(_(u""" * Block: Blocks a user. This forces the user to unfollow you ."""))
documentation.append(_(u""" * Unblock: Stops blocking a user."""))
documentation.append(_(u""" * Report as spam: this option sends a message to Twitter suggesting the user is performing prohibited practices on the social network."""))
documentation.append(_(u""" * Ignore tweets from this client: Adds the client from which the focused tweet was sent to the ignored clients list."""))
documentation.append(_(u"""* View timeline: Lets you open a user's timeline by choosing the user in a dialog box. It is created when you press enter. If you invoke this option relative to a user that has no tweets, the operation will fail. If you try creating an existing timeline the program will warn you and will not create it again."""))
documentation.append(_(u"""* Direct message: same action as the button."""))
documentation.append(_(u"""* Add to List: In order to see someone's tweets in one or more of your lists, you must add them first. In the dialogue box that opens after selecting the user, you will be asked to select the list you wish to add the user to. Thereafter, the list will contain a new member and their tweets will be displayed there."""))
documentation.append(_(u"""* Remove from list: lets you remove a user from a list."""))
documentation.append(_(u"""* View lists: Shows the lists created by a specified user."""))
documentation.append(_(u"""* Show user profile: opens a dialogue with the profile of the specified user."""))
documentation.append(_(u"""* View favourites: Opens a buffer where you can see the tweets which have been favourited by a particular user."""))
documentation.append(_(u"""
"""))
documentation.append(_(u"""##### Buffer menu"""))
documentation.append(_(u"""
"""))
documentation.append(_(u"""* New trending topics buffer: This opens a buffer to get the worlwide trending topics or those of a country or a city. You'll be able to select from a dialogue box if you wish to retrieve countries' trends, cities' trends or worldwide trends (this option is in the cities' list) and choose one from the selected list. The trending topics buffer will be created once the "OK" button has been activated within the dialogue box. Remember this kind of buffer will be updated every five minutes."""))
documentation.append(_(u"""* Load previous items: This allows more items to be loaded for the specified buffer."""))
documentation.append(_(u"""* Mute: Mutes notifications of a particular buffer so you will not hear when new tweets arrive."""))
documentation.append(_(u"""* autoread: When enabled, the screen reader or SAPI 5 Text to Speech voice (if enabled) will read the text of incoming tweets. Please note that this could get rather chatty if there are a lot of incoming tweets."""))
documentation.append(_(u"""* Clear buffer: Deletes all items from the buffer."""))
documentation.append(_(u"""* Destroy: dismisses the list you're on."""))
documentation.append(_(u"""
"""))
documentation.append(_(u"""##### Help menu"""))
documentation.append(_(u"""
"""))
documentation.append(_(u"""* Documentation: opens up this file, where you can read some useful program concepts."""))
documentation.append(_(u"""* Sounds tutorial: Opens a dialog box where you can familiarize yourself with the different sounds of the program."""))
documentation.append(_(u"""* What's new in this version?: opens up a document with the list of changes from the current version to the earliest."""))
documentation.append(_(u"""* Check for updates: every time you open the program it automatically checks for new versions. If an update is available, it will ask you if you want to download the update. If you accept, the updating process will commence. When complete, TWBlue will be restarted. This item checks for new updates without having to restart the application."""))
documentation.append(_(u"""* Report an error: opens up a dialogue box to report a bug by completing a small number of fields. Pressing enter will send the report. If the operation doesn't succeed the program will display a warning."""))
documentation.append(_(u"""* TWBlue's website: visit our [home page](http://twblue.es) where you can find all relevant information and downloads for TWBlue and become a part of the community."""))
documentation.append(_(u"""* About TWBlue: shows the credits of the program."""))
documentation.append(_(u"""
"""))
documentation.append(_(u"""### The invisible user interface"""))
documentation.append(_(u"""
"""))
documentation.append(_(u"""The invisible interface, as its name suggests, has no graphical window and works directly with screen readers such as JAWS for Windows, NVDA and System Access. This interface is disabled by default, but you can enable it by pressing Control + M. It works similarly to TheQube and Chicken Nugget. Its shortcuts are similar to those found in these two clients. In addition, the program has builtin support for the keymaps for these applications, configurable through the global settings dialogue. By default, you cannot use this interface's shortcuts in the GUI, but you can configure this in the global settings dialogue."""))
documentation.append(_(u"""
"""))
documentation.append(_(u"""The next section contains a list of keyboard shortcuts for both interfaces. Bear in mind that we will only describe the default keymap."""))
documentation.append(_(u"""
"""))
documentation.append(_(u"""## Keyboard shortcuts"""))
documentation.append(_(u"""
"""))
documentation.append(_(u"""### Shortcuts of the graphical user interface (GUI)"""))
documentation.append(_(u"""
"""))
documentation.append(_(u"""* Enter: Open URL."""))
documentation.append(_(u"""* Control + Enter: Play audio."""))
documentation.append(_(u"""* Control + M: Hide the GUI."""))
documentation.append(_(u"""* Control + N: Compose a new tweet."""))
documentation.append(_(u"""* Control + R: Reply / mention."""))
documentation.append(_(u"""* Control + Shift + R: Retweet."""))
documentation.append(_(u"""* Control + D: Send a direct message."""))
documentation.append(_(u"""* control + F: Add tweet to favourites."""))
documentation.append(_(u"""* Control + Shift + F: Remove a tweet from favourites."""))
documentation.append(_(u"""* Control + S: Open the user actions dialogue."""))
documentation.append(_(u"""* Control + Shift + V: Show tweet."""))
documentation.append(_(u"""* Control + Q: Quit this program."""))
documentation.append(_(u"""* Control + I: Open user timeline."""))
documentation.append(_(u"""* Control + Shift + i: Destroy buffer."""))
documentation.append(_(u"""* F5: Increase volume by 5%."""))
documentation.append(_(u"""* F6: Decrease volume by 5%."""))
documentation.append(_(u"""* Control + P: Edit your profile."""))
documentation.append(_(u"""* Control + Delete: Delete a tweet or direct message."""))
documentation.append(_(u"""* Control + Shift + Delete: Empty the current buffer."""))
documentation.append(_(u"""
"""))
documentation.append(_(u"""### Shortcuts of the invisible interface (default keymap)"""))
documentation.append(_(u"""
"""))
documentation.append(_(u"""* Control + Windows + Up Arrow: moves to the previous item in the buffer."""))
documentation.append(_(u"""* Control + Windows + Down Arrow: moves to the next item in the buffer."""))
documentation.append(_(u"""* Control + Windows + Left Arrow: Move to the previous buffer."""))
documentation.append(_(u"""* Control + Windows + Right Arrow: Move to the next buffer."""))
documentation.append(_(u"""* Control + Windows + Shift + Left: Focus the previous session."""))
documentation.append(_(u"""* Control + Windows + Shift + Right: Focus the next session."""))
documentation.append(_(u"""* Control + Windows + C: View conversation."""))
documentation.append(_(u"""* Control + Enter: Open URL."""))
documentation.append(_(u"""* Control + Windows + Enter: Play audio."""))
documentation.append(_(u"""* Control + Windows + M: Show or hide the GUI."""))
documentation.append(_(u"""* Control + Windows + N: New tweet."""))
documentation.append(_(u"""* Control + Windows + R: Reply / Mention."""))
documentation.append(_(u"""* Control + Windows + Shift + R: Retweet."""))
documentation.append(_(u"""* Control + Windows + D: Send direct message."""))
documentation.append(_(u"""* Windows+ Alt + F: Mark as favourite."""))
documentation.append(_(u"""* Alt + Windows + Shift + F: Remove from favourites."""))
documentation.append(_(u"""* Control + Windows + S: Open the user actions dialogue."""))
documentation.append(_(u"""* Control + Windows + Alt + N: See user details."""))
documentation.append(_(u"""* Control + Windows + V: Show tweet."""))
documentation.append(_(u"""* Control + Windows + F4: Quit TWBlue."""))
documentation.append(_(u"""* Control + Windows + I: Open user timeline."""))
documentation.append(_(u"""* Control + Windows + Shift + I: Destroy buffer."""))
documentation.append(_(u"""* Control + Windows + Alt + Up: Increase volume by 5%."""))
documentation.append(_(u"""* Control + Windows + Alt + Down: Decrease volume by 5%."""))
documentation.append(_(u"""* Control + Windows + Home: Jump to the first element of the current buffer."""))
documentation.append(_(u"""* Control + Windows + End: Jump to the last element of the current buffer."""))
documentation.append(_(u"""* Control + Windows + PageUp: Jump 20 elements up in the current buffer."""))
documentation.append(_(u"""* Control + Windows + PageDown: Jump 20 elements down in the current buffer."""))
documentation.append(_(u"""* Windows + Alt + P: Edit profile."""))
documentation.append(_(u"""* Control + Windows + Delete: Delete a tweet or direct message."""))
documentation.append(_(u"""* Control + Windows + Shift + Delete: Empty the current buffer."""))
documentation.append(_(u"""* Control + Windows + Space: Repeat last item."""))
documentation.append(_(u"""* Control + Windows + Shift + C: Copy to clipboard."""))
documentation.append(_(u"""* Control + Windows+ A: Add user to list."""))
documentation.append(_(u"""* Control + Windows + Shift + A: Remove user from list."""))
documentation.append(_(u"""* Control + Windows + M: Mute / unmute the current buffer."""))
documentation.append(_(u"""* Windows + Alt + M: Mute / unmute the current session."""))
documentation.append(_(u"""* Control + Windows + E: Toggle the automatic reading of incoming tweets in the current buffer."""))
documentation.append(_(u"""* Control + Windows + -: Search on Twitter."""))
documentation.append(_(u"""* Control + Windows + K: Show the keystroke editor."""))
documentation.append(_(u"""* Control + Windows + L: Show lists for a specified user."""))
documentation.append(_(u"""* Windows + Alt + PageUp: Load previous items for the current buffer."""))
documentation.append(_(u"""* Control + Windows + G: Get geolocation."""))
documentation.append(_(u"""* Control + Windows + Shift + G: Display the tweet's geolocation in a dialogue."""))
documentation.append(_(u"""* Control + Windows + T: Create a trending topics' buffer."""))
documentation.append(_(u"""* Control + Windows + {: Find a string in the current buffer."""))
documentation.append(_(u"""
"""))
documentation.append(_(u"""## Configuration"""))
documentation.append(_(u"""As described above, this application has two configuration dialogues, the global settings dialogue and the account settings dialogue."""))
documentation.append(_(u"""
"""))
documentation.append(_(u"""### The account settings dialogue"""))
documentation.append(_(u"""
"""))
documentation.append(_(u"""#### General tab"""))
documentation.append(_(u"""
"""))
documentation.append(_(u"""* Autocompletion settings: Allows you to configure the autocompletion database. You can add users manually or let TWBlue add your followers, friends or both."""))
documentation.append(_(u"""* Relative timestamps: Allows you to configure whether the application will calculate the time the tweet or direct message was sent or received based on the current time, or simply say the time it was received or sent."""))
documentation.append(_(u"""* API calls: Allows you to adjust the number of API calls to be made to Twitter by this program."""))
documentation.append(_(u"""* Items on each API call: Allows you to specify how many items should be retrieved from Twitter for each API call (default and maximum is 200)."""))
documentation.append(_(u"""* Inverted buffers: Allows you to specify whether the buffers should be inverted, which means that the oldest items will show at the end of them and the newest at the beginning."""))
documentation.append(_(u"""* Retweet mode: Allows you to specify the behaviour when posting a retweet: you can choose between retweeting with a comment, retweeting without comment or being asked."""))
documentation.append(_(u"""* Number of items per buffer to cache in database: This allows you to specify how many items TWBlue should cache in a database. You can type any number, 0 to cache all items, or leave blank to disable caching entirely."""))
documentation.append(_(u"""
"""))
documentation.append(_(u"""#### buffers tab"""))
documentation.append(_(u"""
"""))
documentation.append(_(u"""This tab displays a list for each buffer you have available in TWBlue, except for searches, timelines, favourites' timelines and lists. You can show, hide and move them."""))
documentation.append(_(u"""
"""))
documentation.append(_(u"""#### The ignored clients tab"""))
documentation.append(_(u"""
"""))
documentation.append(_(u"""In this tab, you can add and remove clients to be ignored by the program."""))
documentation.append(_(u"""
"""))
documentation.append(_(u"""#### Sound tab"""))
documentation.append(_(u"""
"""))
documentation.append(_(u"""In this tab, you can adjust the sound volume, select the input and output device and set the soundpack used by the program."""))
documentation.append(_(u"""
"""))
documentation.append(_(u"""#### Audio service tab"""))
documentation.append(_(u"""
"""))
documentation.append(_(u"""In this tab, you can enter your SndUp API key (if you have one) to upload audio to SndUp with your account. Note that if account credentials are not specified you will upload anonimously."""))
documentation.append(_(u"""
"""))
documentation.append(_(u"""### Global settings"""))
documentation.append(_(u"""
"""))
documentation.append(_(u"""This dialogue allows you to configure some settings which will affect the entire application."""))
documentation.append(_(u"""
"""))
documentation.append(_(u"""#### General tab"""))
documentation.append(_(u"""
"""))
documentation.append(_(u"""* Language: This allows you to change the language of this program. Currently supported languages are arabic, Catalan, German, English, Spanish, Basque, Finnish, French, Galician, Croatian, Hungarian, Italian, Polish, Portuguese, Russian and Turkish."""))
documentation.append(_(u"""* Ask before exiting TWBlue: This checkbox allows you to control whetherthe program will ask for confirmation before exiting."""))
documentation.append(_(u"""* Play a sound when TWBlue launches: This checkbox allows you to configure whether the application will play a sound when it has finished loading the buffers."""))
documentation.append(_(u"""* Speak a message when TWBlue launches: This is the same as the previous option, but this checkbox configures whether the screen reader will say \"ready\"."""))
documentation.append(_(u"""* Use the invisible interface's shortcuts in the GUI: As the invisible interface and the Graphical User Interface have their own shortcuts, you may want to use the invisible interface's keystrokes all the time. If this option is checked, the invisible interface's shortcuts will be usable in the GUI."""))
documentation.append(_(u"""* Activate SAPI5 when any other screen reader is not being run: This checkbox allows to activate SAPI 5 TTS when no other screen reader is being run."""))
documentation.append(_(u"""* Hide GUI on launch: This allows you to configure whether TWBlue will start with the GUI or the invisible interface."""))
documentation.append(_(u"""* Keymap: This option allows you to change the keymap used by the program in the invisible interface. The shipped keymaps are Default, Qwitter, Windows 10 and Chicken Nugget. The keymaps are in the \"keymaps\" folder, and you can create new ones. Just create a new \".keymap\" file and change the keystrokes associated with the actions, as it is done in the shipped keymaps."""))
documentation.append(_(u"""
"""))
documentation.append(_(u"""#### Proxi tab"""))
documentation.append(_(u"""
"""))
documentation.append(_(u"""In this tab you can configure TWBlue to use a Proxy server by completing the fields displayed (server, port, user and password)."""))
documentation.append(_(u"""
"""))
documentation.append(_(u"""## License, source code and donations"""))
documentation.append(_(u"""
"""))
documentation.append(_(u"""Tw Blue is free software, licensed under the GNU GPL license, either version 2 or, at your option, any later version. You can view the license in the file named license.txt, or online at <http://www.gnu.org/licenses/old-licenses/gpl-2.0.html>."""))
documentation.append(_(u"""
"""))
documentation.append(_(u"""The source code of the program is available on GitHub at <https://www.github.com/manuelcortez/twblue>."""))
documentation.append(_(u"""
"""))
documentation.append(_(u"""If you want to donate to the project, you can do so at <http://twblue.es/?q=node/3&language=en>. Thank you for your support!"""))
documentation.append(_(u"""
"""))
documentation.append(_(u"""## Contact"""))
documentation.append(_(u"""
"""))
documentation.append(_(u"""If you still have questions after reading this document, if you wish to collaborate to the project in some other way, or if you simply want to get in touch with the application developer, follow the Twitter account [@tw_blue2](https://twitter.com/tw_blue2) or [@manuelcortez00.](https://twitter.com/manuelcortez00) You can also visit [our website](http://twblue.es)"""))
documentation.append(_(u"""
"""))
documentation.append(_(u"""## Credits"""))
documentation.append(_(u"""
"""))
documentation.append(_(u"""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)"""))
documentation.append(_(u"""
"""))
documentation.append(_(u"""We would also like to thank the translators of TWBlue, who have allowed the spreading of the application."""))
documentation.append(_(u"""
"""))
documentation.append(_(u"""* English: [Bryner Villalobos](https://twitter.com/Bry_StarkCR) and [Bill Dengler](https://twitter.com/codeofdusk)."""))
documentation.append(_(u"""* Arabic: [Mohammed Al Shara](https://twitter.com/mohammed0204)."""))
documentation.append(_(u"""* Catalan: [Joan Rabat](https://twitter.com/joanrabat) and Juan Carlos Rivilla."""))
documentation.append(_(u"""* Spanish: [Manuel Cortéz](https://twitter.com/manuelcortez00)."""))
documentation.append(_(u"""* Basque: [Sukil Etxenike](https://twitter.com/sukil2011)."""))
documentation.append(_(u"""* Finnish: [Jani Kinnunen](https://twitter.com/jani_kinnunen)."""))
documentation.append(_(u"""* French: [Rémi Ruiz](https://twitter.com/blindhelp38)."""))
documentation.append(_(u"""* Galician: [Alba Kinteiro](https://twitter.com/albasmileforeve)."""))
documentation.append(_(u"""* German: [Steffen Schultz](https://twitter.com/schulle4u)."""))
documentation.append(_(u"""* Croatian: [Zvonimir Stanečić](https://twitter.com/zvonimirek222)."""))
documentation.append(_(u"""* Hungarian: Robert Osztolykan."""))
documentation.append(_(u"""* Italian: [Christian Leo Mameli](https://twitter.com/llajta2012)."""))
documentation.append(_(u"""* Polish: Pawel Masarczyk."""))
documentation.append(_(u"""* Portuguese: Odenilton Júnior Santos."""))
documentation.append(_(u"""* Russian: [Александр Яшин](https://twitter.com/radovest)."""))
documentation.append(_(u"""* Turkish: [Burak Yüksek](https://twitter.com/burakyuksek)."""))
documentation.append(_(u"""
"""))
documentation.append(_(u"""Many thanks also to the people who worked on the documentation. Initially, [Manuel Cortez](https://twitter.com/manuelcortez00) did the documentation in Spanish, and translated to English by [Bryner Villalobos](https://twitter.com/Bry_StarkCR), [Robert Spangler](https://twitter.com/glasscity1837), [Sussan Rey](https://twitter.com/sussanrey17), [Anibal Hernandez](https://twitter.com/anibalmetal), and [Holly Scott-Gardner](https://twitter.com/holly1994). It was updated by [Sukil Etxenike](https://twitter.com/sukil2011), with some valuable corrections by [Brian Hartgen](https://twitter.com/brianhartgen) and [Bill Dengler](https://twitter.com/codeofdusk)."""))
documentation.append(_(u"""
"""))
documentation.append(_(u"""---"""))
documentation.append(_(u"""Copyright © 2013-2015. Manuel Cortéz"""))

20
documentation/Makefile Normal file
View File

@@ -0,0 +1,20 @@
# Minimal makefile for Sphinx documentation
#
# You can set these variables from the command line, and also
# from the environment for the first two.
SPHINXOPTS ?=
SPHINXBUILD ?= sphinx-build
SOURCEDIR = source
BUILDDIR = build
# Put it first so that "make" without argument is like "make help".
help:
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
.PHONY: help Makefile
# Catch-all target: route all unknown targets to Sphinx using the new
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
%: Makefile
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)

35
documentation/make.bat Normal file
View File

@@ -0,0 +1,35 @@
@ECHO OFF
pushd %~dp0
REM Command file for Sphinx documentation
if "%SPHINXBUILD%" == "" (
set SPHINXBUILD=sphinx-build
)
set SOURCEDIR=source
set BUILDDIR=build
%SPHINXBUILD% >NUL 2>NUL
if errorlevel 9009 (
echo.
echo.The 'sphinx-build' command was not found. Make sure you have Sphinx
echo.installed, then set the SPHINXBUILD environment variable to point
echo.to the full path of the 'sphinx-build' executable. Alternatively you
echo.may add the Sphinx directory to PATH.
echo.
echo.If you don't have Sphinx installed, grab it from
echo.https://www.sphinx-doc.org/
exit /b 1
)
if "%1" == "" goto help
%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%
goto end
:help
%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%
:end
popd

View File

@@ -0,0 +1,31 @@
Basic concepts
----------------------
Before starting to describe TWBlue's usage, we'll explain some concepts that will be used extensively throughout this manual.
Session
++++++
A session is an account set up on a service. When you authorize TWBlue to use any of your social network accounts, a session will be created in the application. In this session, TWBlue creates buffers that allow you to display different types of items present in the social network. TWBlue allows you to have any number of sessions authorized and started. You can have TWBlue automatically start all your sessions, which is the default setting, although it is also possible to make certain sessions not start when you open the application.
Buffer
++++++
A buffer is a list of items that come from your configured account, after being processed by TWBlue. TWBlue will create buffers with different types of items. For example, your posts sent on a social network, or your private messages with other users. You can perform certain actions on each of these elements depending on the type of buffer you are focusing.
Graphical user Interface (GUI)
+++++++++++++++++++++++++++++++++
TWBlue has two different interfaces: The graphical user interface (GUI) and the invisible interface. The GUI allows you to interact with the application through a window containing two important elements: A menu bar, which can be accessed by pressing the Alt key, and the list of sessions, buffers and available actions for them, which you can access by pressing the Tab key.
The list of sessions and buffers is grouped in a tree view, where sessions are located at the root level and each session contains the buffers that belong to it. When you select one of these buffers, you can access the list of items it contains by using the Tab key. Depending on the selected buffer, you can find, also with the Tab key, a list of buttons representing actions you can perform on the session (such as posting a message on the social network) or on the focused item.
Invisible interface
++++++++++++++++++
The invisible interface, as its name suggests, has no graphical window and works directly with screen readers such as JAWS for Windows, NVDA and System Access through keyboard shortcuts that you can use in any window. This interface is disabled by default, but you can enable it by pressing Control + M, which will hide the TWBlue window. If you use other applications to manage Twitter, such as The Qube and chicken Nugget, TWBlue includes support for keymaps for these clients, which you can configure from the global options dialog. It is also possible to use the invisible interface from TWBlue's graphical window, although this option can be disabled to avoid conflicting with other applications that require the keyboard shortcuts globally.
Global settings and session settings
++++++++++++++++++++++++++++++++++++++++++++++
TWBlue has two different configuration dialogs: the global configuration dialog, which affects how TWBlue works for all sessions, and the session configuration dialog, which only affects how the current session works. You will find specific information about the session settings dialog for Twitter and Mastodon in its corresponding chapter in this guide.

View File

@@ -0,0 +1,390 @@
TWBlue Changelog
===========================
Changes in this version
+++++++++++++++++++++++++
* per popular request, We will generate a 32-bit portable version of TWBlue available for Windows 7 operating systems. This version will not be supported in our automatic updater, so in case of using such version, you would need to download it manually every time there is a new update. TWBlue will continue to be available for Windows 7 as long as it is possible to build it using Python 3.7.
* Fixed a couple of bugs that were making TWBlue unable to be opened in some computers, related to our translator module and some COM objects handled incorrectly.
* Fixed an issue that was making TWBlue unable to open in certain computers due to errors related to Win32 API'S.
* Twitter:
* Fixed a bug that was making sent direct messages to be placed in received direct messages buffer.
* When quoting a tweet, you can use all 280 characters to send your quoted tweet, as opposed to the 256 characters TWBlue allowed before.
* Fixed a bug that was making TWBlue unable to reply to direct messages by using the "reply" keystroke.
* Mastodon:
* Added account settings dialog.
* Added template editing functionality for mastodon accounts.
* When a post is edited, TWBlue will update the post object in the buffer to reflect the latest edit.
* Fixed a small issue that was preventing TWBlue to display some posts in their corresponding dialog.
Version 2022.12.6
-----------------
Most of all changes in this release are focused on adding Mastodon support to TWBlue. The features present to handle Twitter should not have been altered in any way. We were not intended to release this version so soon, but unfortunately, Twitter started to present issues in some regions with one particular API endpoint we were using, making impossible for everyone in such regions to use the application. We will release more updates to fix any possible issue regarding Twitter API, but please take into account that this is sometimes an issue happening in Twitter's servers and while we do our best to make TWBlue work despite those problems, you might encounter glitches from time to time.
* TWBlue now builds with Python 3.10.8. (`#493 <https://github.com/MCV-Software/TWBlue/issues/493>`_)
* This change also drops support for Windows 7.
* The TWBlue interface has not been translated yet, as we are releasing this update to fix an important Twitter issue for some regions.
* Twitter sessions should be able to be opened properly again in TWBlue, in regions where it didn't work since last week.
* It is now possible to log in to instances of mastodon, hometown and similar software (Pleroma should work as well, although it has not been tested at this time). From the session manager, clicking on the “new account” button will bring up a menu from which you can select whether you want to log in to Twitter or Mastodon. For instances that have a different character limit than the one set by Mastodon, TWBlue will detect the new limit and adjust the dialogs to allow you to use it correctly.
* Most of the TWBlue GUI has been adapted so that the buffers reflect the change of social network (in mastodon, for example, the buttons to write posts say post instead of tweet). However, the menu bar has not yet been updated. This means that most of the options still refer to Twitter, although they can be used with mastodon accounts. For example, if you select the “tweet” menu in the menu bar, and then select the “Retweet” option, TWBlue will actually do a “boost” if the buffer you are in is a Mastodon account buffer.
* Keystrokes for the invisible interface also refer to terms used in Twitter, but can be applied to Mastodon as well.
* There are some features, within TWBlue, that are not yet compatible with mastodon accounts. These are as follows:
* User autocompletion.
* Currently, it is not possible to update account settings for mastodon sessions. However, if you know how to edit configuration files, you can close TWBlue, change your session file with any text editor and restart the application to update what you want.
* The template editor is not yet available for mastodon accounts.
* Filters have not yet been implemented in TWBlue mastodon support.
* User aliases are not implemented yet.
* It is not possible to view a users profile, nor edit your own, for now. However, you can use the keystroke to open the item in the browser when focusing a user to access their profile website. This only works in buffers where users are listed.
* You cannot manage lists in TWBlue at the moment.
* Most of the buffers planned for mastodon should just work. Among those currently tested are: home (main timeline for the logged-in user), Local (public posts for the instance), federated (public posts for all federating instances), mentions, direct messages, sent posts, favorites, bookmarks, followers, following, blocked users, muted users, user searches and timelines for users.
* The difference between favorites and bookmarks is that the author of the post can see who has marked his posts as favorites, but bookmarks are completely private. In any buffer containing mastodon posts, except direct messages, the GUI will display an option to add the post to favorites or bookmarks.
* Direct messages in mastodon are posts, exactly like normal posts, but with their privacy setting set so that they can only be seen by the accounts that are mentioned. In the direct message buffer, a conversation will appear for each item in the buffer. The conversation represents a thread of messages, but TWBlue can only display the last of the messages sent. This is similar to what happens on platforms like Telegram, where you can only see the list of conversations at the beginning. To see the entire thread of direct messages present in a conversation, you can use the command to open the conversation, or go to the “tweet” menu in the menu bar, and then towards the “view conversation” option. This will create a new conversation buffer that will be located just after the direct messages buffer (for the GUI, the buffer will be located just inside the direct messages buffer in the buffer tree). When a private post appears (whose visibility only allows the mentioned accounts to see it), TWBlue will display that post in the home buffer, in mentions and also will update/create the conversation with that item. This is because Mastodon does not differentiate between a private message and a normal post. You can reply to the post in any buffer to continue the conversation. If you reply to any post, the privacy set in the original post is maintained by default, but can also be changed.
* The buffer showing the federated timeline has been disabled from settings. This is because on servers that federate with many instances it can load many posts in a very short time. To enable this buffer, for now, edit the TWBlue configuration while the application is closed, and add the “federated” buffer in the option called “buffer_order”. As soon as buffers can be shown or hidden, this process can be done through the GUI.
* There is a Streaming API that allows the elements for the start buffers, mentions, direct messages, sent posts and followers to appear in real time. This feature is implemented by default and should also just work.
* Timelines for users only allow to get all posts from users who are in the same instance. For users belonging to other instances, you can get the posts that have been downloaded to your instance since your instance “knows” the remote user.
* Timelines for followers and following can be fully retrieved only for users belonging to the same instance. Remote users may yield unclear results.
* You can search by users (by opening a search and selecting the “users” radio button). The search can be done by local users, such as twblue, or by remote users, such as @twblue@maaw.social.
* In all buffers, a maximum of 40 items are retrieved per load, but more can be retrieved by using the option to load more items in the buffer.
* In post buffers, you can do most of the actions already supported in TWBlue (boost, add/remove from favorites or bookmarks, reply, send message to user, open post URL, play audio or video, open post on web, view conversation, open action dialog for user).
* In user buffers, you can send private message to the user, and open user actions dialog, which in turn allows you to follow/unfollow, block/unblock and mute/unmute.
* When writing posts, it is possible to attach up to 4 images, 4 givs, or even a video, poll, or audio. It is also possible to add the “sensitive content” tag to posts, change privacy and write a content warning text. It is possible to create threads using the “add post” button.
* When replying to a post, TWBlue will place the username of all participants in the item you reply to. The privacy options will default to those of the original post.
Version 2022.8.28
------------------
* the user autocompletion feature has been completely rewritten to be easier to use, particularly for people with many followers/following users:
* In the account settings dialog, there's a button that opens up a new dialog that allows you to "scan" your account in order to add all users from your followers/following list. This process will read your data directly from Twitter and depending in the amount of people you have in your account it might take too many API calls. Please use it with caution. You can, for example, do the process separately for your followers/following people so it will be easier to handle, in case you have a massive amount of people. If TWBlue is unable to complete the scan, you will see an error and will be prompted to try again in 15 minutes, once your API calls have refreshed.
* It is possible to use the user autocompletion functionality in dialogs where you can select an user, for example when adding or removing someone from a list, or displaying lists for someone.
* Implemented a new setting, available in the account settings dialog, that allows to hide emojis in twitter usernames.
* TWBlue should be able to sort conversations in a more logical way. This should make it easier to follow a long thread in Twitter.
* When opening a thread, TWBlue should be able to load the right conversation if the original tweet from where the thread was loaded was a retweet.
* TWBlue will restart the Streaming subsystem every time there are changes to followed, muted or blocked users within the application.
* Fixed error when attempting to mention an user by using the "mention" button in any people buffer. Now tweets should be posted normally.
* Fixed error when loading other user lists. (`#465 <https://github.com/MCV-Software/TWBlue/issues/465>`_)
* Fixed an issue that was making TWBlue to display incorrectly some retweets of quoted tweets.
* If TWBlue is unable to open a timeline for someone who has blocked you, this will be reported in a dialog. (`#485, <https://github.com/mcv-software/twblue/issues/485>`_)
* Added "find a string in the currently focused buffer" action into Windows 10 and windows 11 keymap. (`#476 <https://github.com/MCV-Software/TWBlue/pull/476>`_)
Version 2022.2.23
--------------------
* We have added Experimental support for templates in the invisible interface. The GUI will remain unchanged for now:
* Each object (tweet, received direct message, sent direct message and people) has its own template in the settings. You can edit those templates from the account settings dialog, in the new "templates" tab.
* Every template is composed of the group of variables you want to display for each object. Each variable will start with a dollar sign ($) and cannot contain spaces or special characters. Templates can include arbitrary text that will not be processed. When editing the example templates, you can get an idea of the variables that are available for each object by using the template editing dialog. When you press enter on a variable from the list of available variables, it will be added to the template automatically. When you try to save a template, TWBlue will warn you if the template is incorrectly formatted or if it includes variables that do not exist in the information provided by objects. It is also possible to return to default values from the same dialog when editing a template.
* TWBlue can display image descriptions within Tweet templates. For that, you can use the $image_description variable in your template.
* We have restored conversation and threads support powered by Twitter API V2 thanks to a set of improvements we have done in the application, as well as more generous limits to Tweet monthly cap by Twitter.
* In the Windows 11 Keymap, the default shortcut to open the keystrokes editor is now CTRL+Alt+Windows+K to avoid conflicts with the new global mute microphone shortcut.
* TWBlue show display properly HTML entities in tweet's text.
* TWBlue should no longer load old tweets in buffers.
* Fixed issue when uploading attachments (images, videos or gif files) while sending tweets or replies.
* Fixed an error that was making TWBlue to ask for a restart after saving account settings, even if such restart was not required. (`#413, <https://github.com/manuelcortez/TWBlue/issues/413>`_)
Version 2021.11.12
------------------
* Now it is possible to create a tweet from a trending topics buffer again.
* TWBlue now includes a completely new set of dialogs to handle tweeting, replying and sending direct messages that take advantage of more Twitter features.
* It is possible to add videos in tweets and direct messages by using the new "add" button, located in every dialog where media can be added. Twitter suggests to add videos from 5 seconds up to 2 minutes lenght, in mp4 format (video Codec H.264 and audio codec AAC). Currently, TWBlue does not check if the uploaded video complies with Twitter media requirements. You can add only a video in a tweet or direct message. No other kind of media can be added after a video is in a tweet. If the video was unable to be uploaded successfully, the tweet or direct message won't be created.
* Now you can add a poll to tweets. Polls can have up to 4 different options and allow voting up to 7 days after being created. Take into account, though, that currently TWBlue does not support reading polls in tweets.
* TWBlue now support threads while creating a new tweet. There is a new button, called add tweet which will add the current tweet to the thread and will allow you to write another tweet in the thread. Every tweet might include media (up to 4 photos, or one GIF image or a video) or up to one poll.
* Some functionality was removed from tweet dialogs within TWBlue. Particularly, URL shorteners and long tweets via Twishort. You still can read long tweets posted via Twishort, though.
Version 2021.11.07
------------------
* TWBlue should retrieve tweets from threads and conversations in a more reliable way. Tweets in the same thread (made by the same author) will be sorted correctly, although replies to the thread (made by different people) may not be ordered in the same way they are displayed in Twitter apps. (`#417 <https://github.com/manuelcortez/TWBlue/issues/417>`_)
* When creating a filter, TWBlue will show an error if user has not provided a name for the filter. Before, unnamed filters were a cause of config breaks in the application.
* It is again possible to read the changelog for TWBlue from the help menu in the menu bar.
* fixed a bug when clearing the direct messages buffer. (`#418 <https://github.com/manuelcortez/TWBlue/issues/418>`_)
* fixed an issue that was making TWBlue to show incorrectly titles for trending topic buffers upon startup. (`#421 <https://github.com/manuelcortez/TWBlue/issues/421>`_)
* fixed an issue that was making users of the graphical user interface to delete a buffer if a trends buffer was opened in the same session.
* Updated Spanish, Japanese and french translations.
Version 2021.10.30
------------------
* Fixed many errors in the way we compile TWBlue, so users of 64 bits systems and particularly windows 7 users would be able to install TWBlue again. In case of issues with versions prior to 2021.10.30, please remove everything related to TWBlue (except configs) and reinstall the version 2021.10.30 to fix any possible error. This step won't be needed again in 23 months. (`#416, <https://github.com/manuelcortez/TWBlue/issues/416>`_, `#415, <https://github.com/manuelcortez/TWBlue/issues/415>`_)
* fixed an issue that was making impossible to manually add an user to the autocomplete users database.
* Started to improve support to conversations by searching for conversation_id.
Version 2021.10.27
------------------
* Added an user alias manager, located in the application menu in the menu bar. From this dialog, it is possible to review, add, edit or remove user aliases for the current account. (`#401 <https://github.com/manuelcortez/TWBlue/issues/401>`_)
* TWBlue now closes the VLC player window automatically when a video reaches its end. (`#399 <https://github.com/manuelcortez/TWBlue/issues/399>`_)
* After a lot of time, TWBlue now uses a new default Soundpack, called FreakyBlue. This soundpack will be set by default in all new sessions created in the application. Thanks to `Andre Louis <https://twitter.com/FreakyFwoof>`_ for the pack. (`#247 <https://github.com/manuelcortez/TWBlue/issues/247>`_)
* When reading a tweet, if the tweet contains more than 2 consecutive mentions, TWBlue will announce how many more users the tweet includes, as opposed to read every user in the conversation. You still can display the tweet to read all users.
* In the tweet displayer, It is possible to copy a link to the current tweet or person by pressing a button called "copy link to clipboard".
* Added a keymap capable to work under Windows 11. (`#391 <https://github.com/manuelcortez/TWBlue/pull/391>`_)
* Added user aliases to TWBlue. This feature allows you to rename user's display names on Twitter, so the next time you'll read an user it will be announced as you configured. For adding an alias to an user, select the "add alias" option in the user menu, located in the menu bar. This feature works only if you have set display screen names unchecked. Users are displayed with their display name in people buffers only. This action is supported in all keymaps, although it is undefined by default. (`#389 <https://github.com/manuelcortez/TWBlue/pull/389>`_)
* There are some changes to the autocomplete users feature:
* Now users can search for twitter screen names or display names in the database.
* It is possible to undefine keystrokes in the current keymap in TWBlue. This allows you, for example, to redefine keystrokes completely.
* We have changed our Geocoding service to the Nominatim API from OpenStreetMap. Addresses present in tweets are going to be determined by this service, as the Google Maps API now requires an API key. (`#390 <https://github.com/manuelcortez/TWBlue/issues/390>`_)
* Added a limited version of the Twitter's Streaming API: The Streaming API will work only for tweets, and will receive tweets only by people you follow. Protected users are not possible to be streamed. It is possible that during high tweet traffic, the Stream might get disconnected at times, but TWBlue should be capable of detecting this problem and reconnecting the stream again. (`#385 <https://github.com/manuelcortez/TWBlue/pull/385>`_)
* Fixed an issue that made TWBlue to not show a dialog when attempting to show a profile for a suspended user. (`#387 <https://github.com/manuelcortez/TWBlue/issues/387>`_)
* Added support for Twitter audio and videos: Tweets which contain audio or videos will be detected as audio items, and you can playback those with the regular command to play audios. (`#384, <https://github.com/manuelcortez/TWBlue/pull/384>`_)
* We just implemented some changes in the way TWBlue handles tweets in order to reduce its RAM memory usage (`#380 <https://github.com/manuelcortez/TWBlue/pull/380>`_):
* We reduced the tweets size by storing only the tweet fields we currently use. This should reduce tweet's size in memory for every object up to 75%.
* When using the cache database to store your tweets, there is a new setting present in the account settings dialog, in the general tab. This setting allows you to control whether TWBlue will load the whole database into memory (which is the current behaviour) or not.
* Loading the whole database into memory has the advantage of being extremely fast to access any element (for example when moving through tweets in a buffer), but it requires more memory as the tweet buffers grow up. This should, however, use less memory than before thanks to the optimizations performed in tweet objects. If you have a machine with enough memory, this should be a good option for your case.
* If you uncheck this setting, TWBlue will read the whole database from disk. This is significantly slower, but the advantage of this setting is that it will consume almost no extra memory, no matter how big is the tweets dataset. Be ware, though, that TWBlue might start to feel slower when accessing elements (for example when reading tweets) as the buffers grow up. This setting is suggested for computers with low memory or for those people not wanting to keep a really big amount of tweets stored.
* Changed the label in the direct message's text control so it will indicate that the user needs to write the text there, without referring to any username in particular. (`#366, <https://github.com/manuelcortez/TWBlue/issues/366>`_)
* TWBlue will take Shift+F10 again as the contextual menu key in the list of items in a buffer. This stopped working after we have migrated to WX 4.1. (`#353, <https://github.com/manuelcortez/TWBlue/issues/353>`_)
* TWBlue should render correctly retweets of quoted tweets. (`#365, <https://github.com/manuelcortez/TWBlue/issues/365>`_)
* Fixed an error that was causing TWBlue to be unable to output to screen readers at times. (`#369, <https://github.com/manuelcortez/TWBlue/issues/369>`_)
* Fixed autocomplete users feature. (`#367, <https://github.com/manuelcortez/TWBlue/issues/367>`_)
* Fixed error when displaying an URL at the end of a line, when the tweet or direct message contained multiple lines. Now the URL should be displayed correctly. (`#305, <https://github.com/manuelcortez/TWBlue/issues/305>`_ `#272, <https://github.com/manuelcortez/TWBlue/issues/272>`_)
* TWBlue has been migrated completely to Python 3 (currently, the software builds with Python 3.8).
* TWBlue should be restarted gracefully. Before, the application was alerting users of not being closed properly every time the application restarted by itself.
* If TWBlue attemps to load an account with invalid tokens (this happens when reactivating a previously deactivated account, or when access to the ap is revoqued), TWBlue will inform the user about this error and will skip the account. Before, the app was unable to start due to a critical error. (`#328, <https://github.com/manuelcortez/TWBlue/issues/328>`_)
* When sending a direct message, the title of the window will change appropiately when the recipient is edited. (`#276, <https://github.com/manuelcortez/TWBlue/issues/276>`_)
* URL'S in user profiles are expanded automatically. (`#275, <https://github.com/manuelcortez/TWBlue/issues/275>`_)
* TWBlue now uses `Tweepy, <https://github.com/tweepy/tweepy>`_ to connect with Twitter. We have adopted this change in order to support Twitter'S API V 2 in the very near future. (`#333, <https://github.com/manuelcortez/TWBlue/issues/337>`_ `#347 <https://github.com/manuelcortez/TWBlue/pull/347>`_)
* TWBlue can upload images in Tweets and replies again. (`#240, <https://github.com/manuelcortez/TWBlue/issues/240>`_)
* Fixed the way we use to count characters in Twitter. The new methods in TWBlue take into account special characters and URLS as documented in Twitter. (`#199, <https://github.com/manuelcortez/TWBlue/issues/199>`_ `#315 <https://github.com/manuelcortez/TWBlue/issues/315>`_)
* Proxy support now works as expected.
* Changed translation service from yandex.translate to Google Translator. (`#355, <https://github.com/manuelcortez/TWBlue/issues/355>`_)
* Improved method to load direct messages in the buffers. Now it should be faster due to less calls to Twitter API performed from the client.
* And more. (`#352, <https://github.com/manuelcortez/TWBlue/issues/352>`_)
Version 0.95
-------------
* TWBlue can open a Tweet or user directly in Twitter. There is a new option in the context menu for people and tweet buffers, and also, the shortcut control+win+alt+Enter will open the focused item in Twitter.
* Some keystrokes were remapped in the Windows 10 Keymap:
* Read location of a tweet: Ctrl+Win+G. (`#177 <https://github.com/manuelcortez/TWBlue/pull/177>`_)
* Open global settings dialogue: Ctrl+Win+Alt+O.
* Mute/unmute current session: Control + Windows + Alt + M.
* Fixed an error that was preventing TWBlue to load the direct messages buffer if an user who sent a message has been deleted.
* Added support for playing audios posted in `AnyAudio.net <http://anyaudio.net>`_ directly from TWBlue. Thanks to `Sam Tupy <http://www.samtupy.com/>`_
* Custom buffer ordering will not be reset every time the application restarts after an account setting has been modified.
* When adding or removing an user from a list, it is possible to press enter in the focused list instead of having to search for the "add" or "delete" button.
* Quoted and long tweets are displayed properly in the sent tweets buffer after being send. (`#253 <https://github.com/manuelcortez/TWBlue/issues/253>`_)
* Fixed an issue that was making the list manager keystroke unable to be shown in the keystroke editor. Now the keystroke is listed properly. (`#260 <https://github.com/manuelcortez/TWBlue/issues/260>`_)
* The volume slider, located in the account settings of TWBlue, now should decrease and increase value properly when up and down arrows are pressed. Before it was doing it in inverted order. (`#261 <https://github.com/manuelcortez/TWBlue/issues/261>`_)
* autoreading has been redesigned to work in a similar way for almost all buffers. Needs testing. (`#221 <https://github.com/manuelcortez/TWBlue/issues/221>`_)
* When displaying tweets or direct messages, a new field has been added to show the date when the item has been posted to Twitter.
* Added support for deleting direct messages by using the new Twitter API methods.
* When quoting a retweet, the quote will be made to the original tweet instead of the retweet.
* If the sent direct messages buffer is hidden, TWBlue should keep loading everything as expected. (`#246 <https://github.com/manuelcortez/TWBlue/issues/246>`_)
* There is a new soundpack, called FreakyBlue (Thanks to `Andre Louis <https://twitter.com/FreakyFwoof>`_) as a new option in TWBlue. This pack can be the default in the next stable, so users can take a look and share their opinion in snapshot versions. (`#247 <https://github.com/manuelcortez/TWBlue/issues/247>`_)
* There is a new option in the help menu that allows you to visit the soundpacks section in the TWBlue website. (`#247 <https://github.com/manuelcortez/TWBlue/issues/247>`_)
* When reading location of a geotagged tweet, it will be translated for users of other languages. (`#251 <https://github.com/manuelcortez/TWBlue/pull/251>`_)
* When there are no more items to retrieve in direct messages and people buffers, a message will announce it.
* Fixed an issue reported by some users that was making them unable to load more items in their direct messages.
* It is possible to add a tweet to the likes buffer from the menu bar again.
* Tweets, replies and retweets will be added to sent tweets right after being posted in Twitter.
* Extended Tweets should be displayed properly in list buffers.
Version 0.94
-------------
* Added an option in the global settings dialog to disable the Streaming features of TWBlue. TWBlue will remove all Streaming features after August 16, so this option will give people an idea about how it will be. (`#219 <https://github.com/manuelcortez/TWBlue/issues/219>`_)
* Due to Twitter API changes, Switched authorisation method to Pin-code based authorisation. When you add new accounts to TWBlue, you will be required to paste a code displayed in the Twitter website in order to grant access to TWBlue. (`#216 <https://github.com/manuelcortez/TWBlue/issues/216>`_)
* In order to comply with latest Twitter changes, TWBlue has switched to the new method used to send and receive direct messages, according to issue `#215. <https://github.com/manuelcortez/twblue/issues/215>`_
* The new method does not allow direct messages to be processed in real time. Direct messages will be updated periodically.
* After august 16 or when streaming is disabled, the events buffer will no longer be created in TWBlue.
* You can configure frequency for buffer updates in TWBlue. By default, TWBlue will update all buffers every 2 minutes, but you can change this setting in the global settings dialog. (`#223 <https://github.com/manuelcortez/TWBlue/issues/223>`_)
* Added a new tab called feedback, in the account settings dialog. This tab allows you to control whether automatic speech or Braille feedbak in certain events (mentions and direct messages received) is enabled. Take into account that this option will take preference over automatic reading of buffers and any kind of automatic output. (`#203 <https://github.com/manuelcortez/TWBlue/issues/203>`_)
* The spell checking dialog now has access keys defined for the most important actions. (`#211 <https://github.com/manuelcortez/TWBlue/issues/211>`_)
* TWBlue now Uses WXPython 4.0.1. This will allow us to migrate all important components to Python 3 in the future. (`#207 <https://github.com/manuelcortez/TWBlue/issues/207>`_)
* When you quote a Tweet, if the original tweet was posted with Twishort, TWBlue should display properly the quoted tweet. Before it was displaying the original tweet only. (`#206 <https://github.com/manuelcortez/TWBlue/issues/206>`_)
* It is possible to filter by retweets, quotes and replies when creating a new filter.
* Added support for playing youtube Links directly from the client. (`#94 <https://github.com/manuelcortez/TWBlue/issues/94>`_)
* Replaced Bass with libVLC for playing URL streams.
* the checkbox for indicating whether TWBlue will include everyone in a reply or not, will be unchecked by default.
* You can request TWBlue to save the state for two checkboxes: Long tweet and mention all, from the global settings dialogue.
* For windows 10 users, some keystrokes in the invisible user interface have been changed or merged:
* control+Windows+alt+F will be used for toggling between adding and removing a tweet to user's likes. This function will execute the needed action based in the current status for the focused tweet.
* TWBlue will show an error if something goes wrong in an audio upload.
* And more. (`#171, <https://github.com/manuelcortez/TWBlue/issues/171>`_)
Version 0.93
--------------
* A new soundpack has been added to TWBlue. Thanks to `@ValeriaK305 <https://twitter.com/ValeriaK305>`_
* In the Windows 10 keymap, we have changed some default keystrokes as windows now uses some previously assigned shortcuts:
* For liking a tweet, press Control+Windows+alt+f
* for opening a trends buffer, press control+Windows+T
* TWBlue has received improvements in some functions for handling extended tweets, long tweets and quoted retweets. It should render some tweets in a better way.
* In the spell checker module, there is a new button that will allow you to add your own words to your personal dictionary so the module won't mark them as mispelled the next time you will check spelling.
* Added filtering capabilities to TWBlue. (`#102 <https://github.com/manuelcortez/TWBlue/issues/102>`_)
* You can create a filter for the current buffer from the buffer menu in the menu bar. At this moment, invisible interface does not have any shorcut for this.
* You can create filters by word or languages.
* For deleting already created filters, you can go to the filter manager in the buffer menu and delete the filters you won't need.
* Links should be opened properly in quoted tweets (`#167, <https://github.com/manuelcortez/TWBlue/issues/167>`_ `#184 <https://github.com/manuelcortez/TWBlue/issues/184>`_)
* Increased display name limit up to 50 characters in update profile dialog.
* When authorising an account, you will see a dialogue with a cancel button, in case you want to abort the process. Also, NVDA will not be blocked when the process starts. (`#101 <https://github.com/manuelcortez/TWBlue/issues/101>`_)
* In the translator module, the list of available languages is fetched automatically from the provider. That means all of these languages will work and there will not be inconsistencies. Also we've removed the first combo box, because the language is detected automatically by Yandex'S API. (`#153 <https://github.com/manuelcortez/TWBlue/issues/153>`_)
* Trending topics, searches and conversation buffers will use mute settings set for the session in wich they were opened. (`#157 <https://github.com/manuelcortez/TWBlue/issues/157>`_)
* The Tweet limit is now 280 characters lenght instead 140. It means you can tweet longer tweets. (`#172 <https://github.com/manuelcortez/TWBlue/issues/172>`_)
* Per popular request, Status for mention to all and long tweet checkboxes will not be saved in settings. (`#170 <https://github.com/manuelcortez/TWBlue/issues/170>`_)
* Fixed a problem that was making TWBlue unable to start if it was being ran in Windows with Serbian language. (`#175 <https://github.com/manuelcortez/TWBlue/issues/175>`_)
* Added Danish translation.
* And more. (`#156, <https://github.com/manuelcortez/TWBlue/issues/156>`_ `#163, <https://github.com/manuelcortez/TWBlue/issues/163>`_ `#159, <https://github.com/manuelcortez/TWBlue/issues/159>`_ `#173, <https://github.com/manuelcortez/TWBlue/issues/173>`_ `#174, <https://github.com/manuelcortez/TWBlue/issues/174>`_ `#176, <https://github.com/manuelcortez/TWBlue/issues/176>`_)
Versions 0.91 and 0.92
-------------------------
* Fixed incorrect unicode handling when copying tweet to clipboard. (`#150 <https://github.com/manuelcortez/TWBlue/issues/150>`_)
* TWBlue will show an error when trying to open a timeline for a suspended user. (`#128 <https://github.com/manuelcortez/TWBlue/issues/128>`_)
* Removed TwUp as service as it no longer exists. (`#112 <https://github.com/manuelcortez/TWBlue/issues/112>`_)
* Release audio files after uploading them. (`#130 <https://github.com/manuelcortez/TWBlue/issues/130>`_)
* Now TWBlue will use Yandex's translation services instead microsoft translator. (`#132 <https://github.com/manuelcortez/TWBlue/issues/132>`_)
* SndUp users will be able to upload audio in their account by using their API Key again. (`#134 <https://github.com/manuelcortez/TWBlue/issues/134>`_)
* old tweets shouldn't be added as new items in buffers. (`#116, <https://github.com/manuelcortez/TWBlue/issues/116>`_ `#133 <https://github.com/manuelcortez/TWBlue/issues/133>`_)
* All mentionned users should be displayed correctly in Twishort's long tweets. (`#116, <https://github.com/manuelcortez/TWBlue/issues/116>`_ `#135 <https://github.com/manuelcortez/TWBlue/issues/135>`_)
* It is possible to select a language for OCR service from the extras panel, in the account settings dialogue. You can, however, set this to detect automatically. OCR should work better in languages with special characters or non-english symbols. (`#107 <https://github.com/manuelcortez/TWBlue/issues/107>`_)
* Fixed a problem with JAWS for Windows and TWBlue. Now JAWS will work normally in this update. (`#100 <https://github.com/manuelcortez/twblue/issues/100>`_)
* And more (`#136, <https://github.com/manuelcortez/TWBlue/issues/136>`_)
Version 0.90
--------------
* Fixed a bug in long tweet parsing that was making TWBlue to disconnect the streaming API. (`#103 <https://github.com/manuelcortez/TWBlue/issues/103>`_)
* Now OCR will work in images from retweets. It fixes a bug where TWBlue was detecting images but couldn't apply OCR on them. (`#105 <https://github.com/manuelcortez/TWBlue/issues/105>`_)
* TWBlue won't try to load tweets already deleted, made with Twishort. Before, if someone posted a long tweet but deleted it in the Twishort's site, TWBlue was trying to load the tweet and it was causing problems in all the client. (`#113 <https://github.com/manuelcortez/TWBlue/issues/113>`_)
* TWBlue shows an error message when you try to view the profile of an user that does not exist or has been suspended. (`#114, <https://github.com/manuelcortez/TWBlue/issues/114>`_ `#115 <https://github.com/manuelcortez/TWBlue/issues/115>`_)
* The spell checker module should select the right language when is set to "user default". (`#117 <https://github.com/manuelcortez/TWBlue/issues/117>`_)
* Image description will be displayed in retweets too. (`#119 <https://github.com/manuelcortez/TWBlue/issues/119>`_)
* When reading a long tweet, you shouldn't read strange entities anymore. (`#118 <https://github.com/manuelcortez/twblue/issues/118>`_)
* TWBlue will not try to load timelines if the user is blocking you. (`#125 <https://github.com/manuelcortez/twblue/issues/125>`_)
Versions 0.88 and 0.89
------------------------
* Fixed more issues with streams and reconnections.
* newer updates will indicate the release date in the updater.
* Changes to keystrokes are reflected in keystroke editor automatically.
* In replies with multiple users, if the mention to all checkbox is unchecked, you will see a checkbox per user so you will be able to control who will be mentioned in the reply.
* Fixed a bug that caused duplicated user mentions in replies when the tweet was made with Twishort.
* Retweets should be displayed normally again when the originating tweet is a Twishort's long tweet.
* Changed the way TWBlue saves user timelines in configuration. Now it uses user IDS instead usernames. With user IDS, if an user changes the username, TWBlue still will create his/her timeline. This was not possible by using usernames.
* Added a new setting in the account settings dialogue that makes TWBlue to show twitter usernames instead the full name.
* Added OCR in twitter pictures. There is a new item in the tweet menu that allows you to extract and display text in images. Also the keystroke alt+Win+o has been added for the same purpose from the invisible interface.
* Now TWBlue will play a sound when the focused tweet contains images.
* Your own quoted tweets will not appear in the mentions buffer anymore.
* The config file is saved in a different way, it should fix the bug where TWBlue needs to be restarted after the config folder is deleted.
* Mentioning people from friends or followers buffers works again.
* Support for proxy servers has been improved. Now TWBlue supports http, https, socks4 and socks5 proxies, with and without autentication.
Version 0.87
--------------
* Fixed stream connection errors.
* Now TWBlue can handle properly a reply to the sender without including all other mentioned users.
* Updated translations.
* The status of the mention to all checkbox will be remembered the next time you reply to multiple users.
Version 0.86
--------------
* Fixed a very important security issue. Now TWBlue will send tweets to twishort without using any other server.
* When you add a comment to a tweet, it will be sent as a quoted tweet, even if your reply plus the original tweet is not exceeding 140 characters.
* Updated windows 10 keymap for reflecting changes made in the last windows 10 build.
* Added last changes in the twitter API.
* When replying, it will not show the twitter username in the text box. When you send the tweet, the username will be added automatically.
* When replying to multiple users, you'll have a checkbox instead a button for mentioning all people. If this is checked, twitter usernames will be added automatically when you send your reply.
Version 0.85
--------------
* Long and quoted tweets should be displayed properly In lists.
* The connection should be more stable.
* Added an autostart option in the global settings dialogue.
* Updated translations.
* Updated russian documentation.
* Tweets in cached database should be loaded properly.
* Added some missed dictionaries for spelling correction.
* Timelines, lists and other buffer should be created in the right order at startup.
Version 0.84
--------------
* More improvements in quoted and long tweets.
* Updated translations: Russian, Italian, French, Romanian, Galician and Finnish.
* Improvements in the audio uploader module: Now it can handle audio with non-english characters.
* the title of the window should be updated properly when spellcheck, translate or shorten/unshorten URL buttons are pressed.
* the bug that changes the selected tweet in the home timeline shouldn't be happening so often.
Version 0.82 and 0.83
------------------------
* If the tweet source (client) is an application with unicode characters (example: российская газета) it will not break the tweet displayer.
* Added a new field for image description in tweet displayer. When available, it will show description for images posted in tweets.
* users can add image descriptions to their photos. When uploading an image, a dialog will show for asking a description.
* Redesigned upload image dialog.
* Fixed photo uploads when posting tweets.
* When getting tweets for a conversation, ignores deleted tweets or some errors, now TWBlue will try to get as much tweets as possible, even if some of these are no longer available.
* Added audio playback from soundcloud.
* Now the session mute option don't makes the screen reader speaks.
* Fixed the direct message dialog. Now it should be displayed properly.
* when a tweet is deleted in twitter, TWBlue should reflect this change and delete that tweet in every buffer it is displayed.
* If your session is broken, TWBlue will be able to remove it automatically instead just crashing.
* audio uploader should display the current progress.
* users can disable the check for updates feature at startup from the general tab, in the global settings dialogue.
* The invisible interface and the window should be synchronized when the client reconnects.
* The documentation option in the systray icon should be enabled.
* In trending buffers, you can press enter for posting a tweet about the focused trend.
* Updated russian documentation and main program interface (thanks to Natalia Hedlund (Наталья Хедлунд), `@lifestar_n <https://twitter.com/lifestar_n>`_ in twitter)
* updated translations.
Version 0.81
--------------
* Updated translations
* The updater module has received some improvements. Now it includes a Mirror URL for checking updates if the main URL is not available at the moment. If something is wrong and both locations don't work, the program will start anyway.
* some GUI elements now use keyboard shortcuts for common actions.
* fixed a bug in the geolocation dialog.
* the chicken nugget keymap should work properly.
* Added a new soundpack to the default installation of TWBlue, thanks to `@Deng90 <https://twitter.com/deng90>`_
* Now the changelog is written in an html File.
* Added some missed dictionaries in last version for the spell checking feature.
* Trimmed the beginnings of the sounds in the default soundpack. Thanks to `@masonasons <https://github.com/masonasons>`_
* Added Opus support for sound playback in TWBlue. Thanks to `@masonasons <https://github.com/masonasons>`_
* Added a source field in view tweet dialogue. Thanks to `@masonasons <https://github.com/masonasons>`_
* You can load previous items in followers and friend buffers for others.
* The Spell Checker dialogue should not display an error message when you have set "default language" in the global settings dialogue if your language is supported.
* Updated romanian translation.
* Some code cleanups.
* The bug reports feature is fully operational again.
* TWBlue should work again for users that contains special characters in windows usernames.
* Added more options for the tweet searches.
* Added play_audio to the keymap editor.
* Windows key is no longer required in the keymap editor
* Switched to the Microsoft translator.
* You can update the current buffer by pressing ctrl+win+shift+u in the default keymap or in the buffer menu.
* Changed some keystrokes in the windows 10 default keymap
* New followers and friends buffer for user timelines.

View File

@@ -0,0 +1,56 @@
# Configuration file for the Sphinx documentation builder.
#
# This file only contains a selection of the most common options. For a full
# list see the documentation:
# https://www.sphinx-doc.org/en/master/usage/configuration.html
# -- Path setup --------------------------------------------------------------
# If extensions (or modules to document with autodoc) are in another directory,
# add these directories to sys.path here. If the directory is relative to the
# documentation root, use os.path.abspath to make it absolute, like shown here.
#
# import os
# import sys
# sys.path.insert(0, os.path.abspath('.'))
# -- Project information -----------------------------------------------------
project = 'TWBlue'
copyright = '2013 - 2022, MCV Software'
author = 'MCV Software'
# The full version, including alpha/beta/rc tags
release = '2022.12.9'
# -- General configuration ---------------------------------------------------
# Add any Sphinx extension module names here, as strings. They can be
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
# ones.
extensions = [
'sphinx_rtd_theme',
]
# Add any paths that contain templates here, relative to this directory.
templates_path = ['_templates']
# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
# This pattern also affects html_static_path and html_extra_path.
exclude_patterns = []
# -- Options for HTML output -------------------------------------------------
# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
#
html_theme = 'sphinx_rtd_theme'
# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
# so a file named "default.css" will overwrite the builtin "default.css".
html_static_path = ['_static']

View File

@@ -0,0 +1,20 @@
Credits, contact and acknowledgments
--------------------------------------
Tw Blue is free software, licensed under the GNU GPL license, either version 2 or, at your option, any later version. You can view the license in the file named license.txt, or online at http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
The source code of the program is available on GitHub at https://www.github.com/mcv-software/twblue.
If you want to donate to the project, you can do so at https://twblue.es/donate. Thank you for your support!
Contact
========
If you still have questions after reading this document, if you wish to collaborate to the project in some other way, or if you simply want to get in touch with the application developers, you can follow the accounts of TWBlue (`@tw_blue2 in Twitter <https://twitter.com/tw_blue2>`_ and `@twblue@maaw.social in mastodon <https://maaw.social/@twble>`_).
Credits
---------
TWBlue is developed and maintained by `Manuel Cortéz <https://twitter.com/manuelcortez00>`_.
We would also like to thank the translators of TWBlue, who have allowed the spreading of the application.

View File

@@ -0,0 +1,3 @@
global settings
----------------

View File

@@ -0,0 +1,22 @@
.. TWBlue documentation master file, created by
sphinx-quickstart on Mon Dec 12 18:50:18 2022.
You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive.
TWBlue documentation
==========================================
This is the user guide for the latest available version of TWBlue. The purpose of this manual, which has been divided into several chapters, is to inform about the use of this application. It is possible that this documentation will be updated throughout the development of TWBlue with new features. You can always find the latest version of this guide at its URL address: https://twblue.es/documentation
.. toctree::
:maxdepth: 2
:caption: Topics:
introduction
system_requirements
installation
basic_concepts
usage
global_settings
credits
changelog

View File

@@ -0,0 +1,20 @@
Installation
-------------
TWBlue is available from its `Download page. <https://twblue.es/downloads>`_ On this page, you can always find the latest version of the application, completely free of charge. Currently, 4 different packages are distributed: two portable packages, for 32-bit and 64-bit systems; an installer, which selects the version to install depending on the architecture of the system where it runs, and a portable package for 32-bit, specially generated to be compatible with Windows 7.
:note: Windows 7 users must download the Windows 7 compatible package. Any other TWBlue package will be impossible to run under this operating system.
If you downloaded a portable version, simply unzip the file into an empty directory and run the twblue.exe file.
If you downloaded the installer, open the twblue_setup.exe file and follow the instructions to install the software. The installer will select the best version for your operating system architecture. When finished, you will be able to run TWBlue from the desktop or the windows start menu.
Troubleshooting
++++++++++++++++
In case TWBlue doesn't work for any reason, please verify the following before getting in touch, just to make sure everything is alright in your system:
* for windows 7 Users, please have in mind that you will need to apply all available Windows Updates. Also you'll need the Service Pack 1 installed.
* If TWBlue is unable to run and you are using Windows 8.1 or earlier, please make sure you have installed the Microsoft Visual C++ 2019 redistributable package. Download the `32 bit <https://aka.ms/vs/16/release/vc_redist.x86.exe>`_ or `64 bit <https://aka.ms/vs/16/release/vc_redist.x64.exe>`_ versiom.
If the application still doesn't work after you have checked this, please `Get in touch <contact.rst>`_ so we can help to determine what might b the issue and fix it for future versions.

View File

@@ -0,0 +1,6 @@
Introduction
==========================================
TWBlue is a free and open source application that allows you to interact with the main features of Twitter and mastodon from the comfort of a windows software, with two different interfaces specially designed for screen reader users.
Please note that in order to use TWBlue, as well as to read this documentation, an internet connection and a Windows computer are required.

View File

@@ -0,0 +1,62 @@
Mastodon
--------
Authorizing TWBlue
==================
Buffer types
============
Actions
=======
Context menus
==============
Posts
++++++
Conversations
++++++++++++++++
Users
++++++
Hashtags
+++++++++++++++
Composing posts
==============
Sending Direct messages
=======================
User actions
============
Timelines
=========
Hashtags
======
Searches
========
User aliases
==============
Lists management
===================
Account settings
=================
User Autocomplete
==================
Template editor
================
Filters
=======

View File

@@ -0,0 +1,11 @@
System requirements
==========================================
In order to run TWBlue successfully on a computer, these are the minimum system requirements. Please note that while it may be possible to use TWBlue under more limited resources, it is not recommended because the experience may be degraded or the application may not work as expected:
* Processor: Dual core processor, 1.3 GHZ or higher.
* Operating system: Windows 7 (service pack 1), Windows 8/8.1, Windows 10 or Windows 11.
* Hard Drive: Minimum 200 MB of free space.
* RAM memory: 4 GB.
:note: TWBlue is compatible with Windows 7 systems (requires service pack 1 to be installed) in a special version, available on the `Project downloads page. <https://twblue.es/downloads>`_ This version is only available in a portable package, for 32-bit systems, and cannot be updated automatically. Windows 7 users will need to update TWBlue manually every time there is a new version to keep using the application.

View File

@@ -0,0 +1,153 @@
Twitter
-------
Twitter is a social networking or micro-blogging tool which allows you to compose short status updates of your activities in 280 characters or less. Twitter is a way for friends, family and co-workers to communicate and stay connected through the exchange of quick, frequent messages. You can restrict delivery of updates to those in your circle of friends or, by default, allow anyone to access them.
You can monitor the status of updates from your friends, family or co-workers (known as following), and they in turn can read any updates you create, (known as followers). The updates are referred to as Tweets. The Tweets are posted to your Twitter profile or Blog and are searchable using Twitter Search.
In order to use TWBlue, you must first have created an account on the Twitter website. The process for signing up for a Twitter account is very accessible. During the account registration, you will need to choose a Twitter username. This serves two purposes. This is the method through which people will comunicate with you, but most importantly, your username and password will be required to connect TWBlue to your Twitter account. We suggest you choose a username which is memorable both to you and the people you hope will follow you.
We'll start from the premise that you have a Twitter account with its corresponding username and password.
authorizing TWBlue
==================
First of all, it's necessary to authorise the program so it can access your Twitter account and act on your behalf. The authorisation process is quite simple, and the program never retains data such as your password. In order to authorise the application, you just need to run the main executable file, called TWBlue.exe (on some computers it may appear simply as TWBlue if Windows Explorer is not set to display file extensions). We suggest you may like to place a Windows shortcut on your Desktop pointing to this executable file for quick and easy location.
You can log into several Twitter accounts simultaneously. The program refers to each Twitter account you have configured as a "Session". If this is the first time you have launched TWBlue, and if no Twitter session exists, you will see the Session Manager. This dialogue box allows you to authorise as many accounts as you wish. If you press the Tab key to reach the "new account" button and activate it by pressing the Space Bar, you will see a menu with all available services to configure in TWBlue. By choosing Twitter, a dialogue box will advise you that your default internet browser will be opened in order to authorise the application and you will be asked if you would like to continue. Activate the "yes" Button by pressing the letter "Y" so the process may start.
Your default browser will open on the Twitter page to request authorisation. Enter your username and password into the appropriate edit fields if you're not already logged in, select the authorise button, and press it.
Once you've authorised your twitter account, the website will redirect you to a page which will notify you that TWBlue has been authorised successfully. On this page, you will be shown a code composed of several numbers that you must paste in the TWBlue authorization dialogue in order to allow the application to access your account. Once you have pasted the code in the corresponding text field, press enter to finish the account setup and go back to the session manager. On the session list, you will see a new item temporarily called "Authorised account x" -where x is a number. The session name will change once you open that session.
To start running TWBlue, press the Ok button in the Session Manager dialogue. By default, the program starts all the configured sessions automatically, however, you can change this behavior.
If all went well, the application will start playing sounds, indicating your data is being updated.
When the process is finished, by default the program will play another sound, and the screen reader will say "ready" (this behaviour can be configured).
Buffer types
============
The following is a description for every one of TWBlue's buffers available for Twitter sessions, and the kind of items they work with.
* Home: this shows all the tweets on the main timeline. These are the tweets by users you follow.
* Mentions: if a user, whether you follow them or not, mentions you on Twitter, you will find it in this list.
* Direct messages: here you will find the private direct messages you exchange with users who follow you , or with any user, if you allow direct messages from everyone (this setting is configurable from Twitter). This list only shows received messages.
* Sent direct messages: this buffer shows all the direct messages sent from your account.
* Sent tweets: this shows all the tweets sent from your account.
* Likes: here you will see all the tweets you have liked.
* Followers: when users follow you, you'll be able to see them on this buffer, with some of their account details.
* Following: the same as the previous buffer, but these are the users you follow.
* Muted users: when you mute someone in Twitter, you no longer see their tweets in any of your buffers. However, you still can receive direct messages from them. This buffer contains the list of your muted users.
* Blocked users: Contains a list with all people you have blocked in Twitter. When blocking an user, they cannot see your profile, timelines or exchange direct messages with your account.
* User timelines: these are buffers you may create. They contain only the tweets by a specific user. They're used so you can see the tweets by a single person and you don't want to look all over your timeline. You may create as many as you like.
* Lists: A list is similar to a user timeline, except that you can configure it to contain tweets from multiple users.
* Search: A search buffer contains the results of a search operation.
* User likes: You can have the program create a buffer containing tweets liked by a particular user.
* Followers or following timeline: You can have TWBlue create a buffer containing all users who follow, or are followed by a specific user.
* Trending Topics: a trend buffer shows the top 50 most used terms in a geographical region. This region may be a country or a city. Trends are updated every five minutes.
If a tweet contains a URL, you can press enter in the GUI to open it. If it contains video or audio, including live stream content, you can press Control + Enter to play it, respectively. TWBlue will play a sound if the tweet contains video metadata or the \#audio hashtag, but there may be tweets which contain media without this.
Actions
=======
The available actions for each buffer may vary, and are found by pressing the Tab key, once a specific buffer has been focused. Note that these are not all the actions available for the Twitter session in TWBlue. Generally, you can perform the actions you want from 3 different ways:
* In each buffer, by pressing the Tab key until you find the action panel.
* By using the menu bar, which can be accessed by pressing the Alt key.
* Using the keyboard shortcuts, either from the graphical interface or the invisible interface.
You can find more information on the meaning of these actions later in this topic:
* For all sessions, you can log in or log out of TWBlue, as well as control whether the session should start automatically when you start the application.
* For buffers containing tweets (home, mentions, favorites, timelines and searches), you can write a new tweet, reply to the currently selected tweet, retweet it or send a direct message to the user who wrote it.
* For buffers containing direct messages, you can reply to the selected direct message.
* For buffers containing users (followers, following, blocked users, muted, timelines and searches), the available actions are to mention the selected user, send a direct message or open the actions dialog for that user.
* Buffers showing trends allow you to write a Tweet about the selected trend.
Context menus
==============
By pressing the contextual menu key, or the right mouse button on a focused item, TWBlue will display a list of some actions that can be performed on it. These actions will be different depending on the type of item that is selected (for example, tweets allow you to retweet them, while a trend will allow you to perform a Twitter search on it). Below are the options that you will be able to see in the menus, sorted according to the type of element that is selected when displayed:
Tweets
++++++
* Retweet: this option retweets the message you're reading. After you press it, if you haven't configured the application not to do so, you'll be asked if you want to add a comment or simply send it as written. If you choose to add a comment, it will post a quoted tweet, that is, the comment with a link to the originating tweet.
* Reply: when you're viewing a tweet, you can reply to the user who sent it by pressing this option. A dialogue will open up similar to the one for tweeting. If there are more users referred to in the tweet, you can press tab and activate the mention to all checkbox, or enabling checkbox for the users you want to mention separately. Note, however, that sometimes -especially when replying to a retweet or quoted tweet, the user who made the retweet or quote may also be mentioned. This is done by Twitter automatically.
* Like: Adds the tweet you're viewing to your likes list.
* Unlike: removes the tweet from your likes, but not from Twitter.
* Open URL: if the focused tweet contains URL addresses, shows up a dialogue where you can choose which one to open in the default web browser. Bear in mind that if the tweet contains only one URL, it will open it automatically.
* Open in Twitter: Opens the focused tweet in Twitter's website.
* Play audio: if the focused tweet contains audio or video streams, shows up a dialogue where you can choose which one to play. TWBlue uses a reduced version of VLC media player to play most audio and video streams. Bear in mind that if the tweet contains only one audio or video URL, it will play it automatically.
* Show tweet: opens up a dialogue box where you can read the item which has focus. You can read the text with the arrow keys. It's a similar dialog box as used for composing tweets, without the ability to send the tweet, file attachment and autocompleting capabilities. It does however include a retweets and likes count.
* Copy to clipboard: copies focused item text to clipboard.
* Delete: permanently removes the tweet which has focus from Twitter and from your lists. Bear in mind that Twitter only allows you to delete tweets you have posted yourself.
* User actions: Opens a dialogue where you can interact with a user. This dialogue box will be populated with the user who sent the item in focus. User actions are described later.
Direct messages
++++++++++++++++
* Reply: Opens a direct message dialogue, from where you can reply to the focused direct message. Sending direct messages will be described later.
* Open URL: if the focused item contains URL addresses, shows up a dialogue where you can choose which one to open in the default web browser. Bear in mind that if the item contains only one URL, it will open it automatically.
* Play audio: if the focused item contains audio or video streams, shows up a dialogue where you can choose which one to play. TWBlue uses a reduced version of VLC media player to play most audio and video streams. Bear in mind that if the item contains only one audio or video URL, it will play it automatically.
* Show direct message: opens up a dialogue box where you can read the item which has focus. You can read the text with the arrow keys. It's a dialogue with the text to be read and a close button.
* Copy to clipboard: copies focused item text to clipboard.
* Delete: permanently removes the direct message which has focus from your account. Note that this will not remove the message from its recipient's account.
* User actions: Opens a dialogue where you can interact with a user. This dialogue box will be populated with the user who sent the item in focus. User actions are described later.
Users
++++++
* Direct message: Opens up a dialogue box from where it is possible to send a private message to the focused user.
* Show user profile: Opens up a dialog box from where it is possible to see details for the focused user. You can read the dialog by using the up and down arrow keys. If the user has a website in their profile, you can press tab and find a button to open it in your default browser.
* Show user:
* Open in Twitter:
* Copy to clipboard:
* User actions:
Trending topics
+++++++++++++++
* Search topic:
* Tweet about this trend:
* Show item:
* Copy to clipboard:
Posting Tweets
==============
Sending Direct messages
=======================
User actions
============
Timelines
=========
Trends
======
Searches
========
User aliases
==============
Lists management
===================
Account settings
=================
User Autocomplete
==================
Template editor
================
Filters
=======

View File

@@ -0,0 +1,11 @@
Usage
-----
TWBlue can create Twitter or Mastodon sessions. In this chapter, you can choose to visit the topic of your interest, depending on the account you are setting up. You will find specific information about the social network of your choice in the following topics:
.. toctree::
:maxdepth: 2
:caption: Session types:
twitter
mastodon

View File

@@ -5,19 +5,6 @@ return "key\0";
char *get_api_secret(){
return "secret_key\0";
}
char *get_dropbox_api_key(){
return "key\0";
}
char *get_dropbox_api_secret(){
return "secret_key\0";
}
char *get_twishort_api_key(){
return "key\0";
}
char *get_bts_user(){
return "user\0";
}
char *get_bts_password(){
return "pass\0";
}

View File

@@ -3,10 +3,6 @@
char *get_api_key();
char *get_api_secret();
char *get_dropbox_api_key();
char *get_dropbox_api_secret();
char *get_twishort_api_key();
char *get_bts_user();
char *get_bts_password();
#endif

Some files were not shown because too many files have changed in this diff Show More