Commit Graph

512 Commits

Author SHA1 Message Date
mailchuck
b7fefb3c40 Windows locale fix
Python locales (e.g. for time and date) didn't work on Windows.
2016-05-02 15:00:26 +02:00
92e3e62640 Locale fix
Date formatting sometimes didn't use the correct locale encoding
2016-05-02 15:00:26 +02:00
mailchuck
c29f266020 Translation fixes
- locale name is properly normalised rather than simply changing the
string
- translations now support plurals/paucals
- networkstatus updated
2016-05-02 15:00:26 +02:00
af098e4805 Locale for non-QT UI strings
Some parts of strings did not use the proper locale. For example, date
and time strings was always output with the US locale. This fixes it.
There are still some cases where localisation is not implemented, and
could be changed from str(string) to locale.str(string).
2016-05-02 15:00:25 +02:00
0507411696 Shutdown fix
The GUI shutdown changes sometimes caused freezes on linux.
2016-05-02 15:00:25 +02:00
mailchuck
3dbb4d5ce9 GUI shutdown improvements
- it shows that it needs to wait for PoW to finish
- it waits a bit for new objects to be distributed
- it displays a better progress indicator in the status bar

Previously, people who don't understand how PyBitmessage works sometimes
shut it down immediately after they wrote a message. This would have
caused the message to be stuck in the queue locally and not sent. Now,
it will indicate that the PoW still needs to work, and it will wait a
bit longer so that the message can spread. It's not a completely correct
approach, because it does not know whether the message was really
retrieved after the "inv" notification was sent.
2016-05-02 15:00:25 +02:00
mailchuck
167da731d0 Make new version notifications less intrusive
Now only in status bar and no more popup window.

Previously, it only showed once until a restart, but now it shows every
time it detects a new version online. Since it does not show a popup
window it's not a big deal.
2016-05-02 15:00:25 +02:00
fd4329bee0 Refactor localisation
The language combo box is generated dynamically from the list of
available translations in the translations directory. This allows the
users to add their own translations without having to change the code.
2016-05-02 15:00:25 +02:00
d46fd6f486 Translation fix
Plural form fix
2016-05-02 15:00:25 +02:00
mirrorwish
554627dd92 Refactor Inventory 2016-05-02 15:00:25 +02:00
mirrorwish
7800272d3a Refactor Blacklist tab 2016-05-02 15:00:25 +02:00
mirrorwish
337cf93b4b Fix byte formatting 2016-05-02 15:00:25 +02:00
mirrorwish
a23022b2db Refactor Network Status tab 2016-05-02 15:00:24 +02:00
mirrorwish
64fce79321 Refactor status icon 2016-05-02 15:00:24 +02:00
mailchuck
4f56e49a30 Unread count refresh updates 2016-05-02 15:00:24 +02:00
mailchuck
8172fce730 Typos 2016-05-02 15:00:24 +02:00
mailchuck
a63f9054f4 Global Sent fix 2016-05-02 15:00:24 +02:00
d63ecfc566 Translation update
- typos
- updated German translation
- Fixes Bitmessage#844
2016-05-02 15:00:24 +02:00
2e47ab0cd2 Keyboard modifiers with quick navigation
The quick navigation key disrupted keybindings with keyboard modifiers,
like Ctrl-C for copy. This restricts the quick navigation only where no
keyboard modifiers are active.

Fixes #184
2016-05-02 15:00:24 +02:00
a30d5af948 Global Sent and Trash folders 2016-05-02 15:00:24 +02:00
mailchuck
da036c6b6b UTF fixes
Label edits now accept and save utf8 characters.
Addresses #180
Still need to check how it behaves on invalid chars.
2016-05-02 15:00:24 +02:00
mailchuck
47bc85f0b6 Sent folder in chans extended
Previously, it only showed message sent to the selected chan address.
Now it shows both those sent to and sent from the chan address.

Fixes #181
2016-05-02 15:00:24 +02:00
mailchuck
d8aa484b8c Email gateway interface usability improvements
- don't allow status request / settings unless registered already
- if registered, status request is the default selected option

Fixes #182
2016-05-02 15:00:24 +02:00
mailchuck
a79f6cce3b Clipboard copy unicode
Copying unicode subjects to clipboard didn't work.

Fixes #183
2016-05-02 15:00:24 +02:00
af193a1bca Keybindings
- delete key now works when message body is focused as well
- N for next message (down)
- P for previous message (up)
- R for reply
- C for compose
- F for find
- Find is now dynamic if the search text is least 3 characters long

Fixes Bitmessage#655
Addresses #155
2016-05-02 15:00:24 +02:00
9e2ae4eeb5 Allow close to tray
PyBitmessage can now close to tray. Even though the main code was there,
the UI and config variable were missing.

Fixes Bitmessage#564
2016-05-02 15:00:24 +02:00
b3b69b1eac deleteRowFromMessagelist implementation
Rows are deleted from a message list in multiple places, and this is an
attempt to refactor it so that it is done in one function. It's not used
anywhere yet.
2016-05-02 15:00:24 +02:00
1a92db54c9 Process gateway registration rejections
A message from gateway registration addres regarding registration
rejection is processed and a dialog displayed to get a new email
address.

Fixes #14
2016-05-02 15:00:24 +02:00
6b8f255a60 Email gateway updates
- settings option available
- reduce max TTL to 2 days
2016-05-02 15:00:24 +02:00
2b6bffc7ff Email gateway account status query
- addresses #14
2016-05-02 15:00:24 +02:00
db84d699db Search improvements
- selecting a new folder will apply search
- newly arrived message will consider search
- fixes #166
2016-05-02 15:00:24 +02:00
40f0ff381e blacklist rendering edit fix
Editing of blacklist labels affected the rerendering, because it emits
the changed signal too, and it caused an exception because the address
field was missing at that time. This works around both.
2016-05-02 15:00:23 +02:00
mirrorwish
80c174e417 Save changes to blacklist labels
Fixes mailchuck/PyBitmessage#175

Signed-off-by: Peter Surda <surda@economicsofbitcoin.com>
2016-05-02 15:00:23 +02:00
mailchuck
24a2deed8f Cleanup lockfile on exit
singleton.py design was broken.
Fixed Bitmessage#775
2016-05-02 15:00:23 +02:00
mailchuck
89752faceb Newly arrives messages sorting
There could be cases where newly arrives message is not added correctly.
It won't necessarily go to the top, that depends on the sort.
2016-05-02 15:00:23 +02:00
mailchuck
140b3ddbb8 Test cleanup
Safer this way
2016-05-02 15:00:23 +02:00
mailchuck
66e1a26b33 Popup menu on folders
There are no functions associated with it but sometimes it popped up so
disable it.
2016-05-02 15:00:23 +02:00
mailchuck
7c99899248 updateText was deleted so no need to call it 2016-05-02 15:00:23 +02:00
mailchuck
1cc4fac7f4 Unread count cleanup
Addresses #128
2016-05-02 15:00:23 +02:00
mailchuck
f5187e16a0 BlackWhitelist rerendering
It used to show entries with no address.
Fixes #170
2016-05-02 15:00:23 +02:00
mailchuck
aae5b713b1 Disabling subscriptions should rerender addressbook
Addresses #76
2016-05-02 15:00:23 +02:00
mailchuck
4e4da254fa Addressbook / Tree / Messagelist rendering
Some changes that didn't propagate correctly before now do.
Addresses #76
2016-05-02 15:00:23 +02:00
mailchuck
f159133f14 TreeWidget and Addressbook editing propagation
If you change, add or remove an item in a treewidget or addressbook,
messagelists will now autoupdate labels, and sender comboboxes will also
update if applicable.
Fixes #69
2016-05-02 15:00:23 +02:00
mailchuck
a4c48228fc Messagelist subscription color
Fixes Bitmessage#842
2016-05-02 15:00:23 +02:00
mailchuck
484bdb0782 Quoting fixes
Message compose sometimes misinterpreted quoted message as HTML, causing
rendering screwups. Since we don't support HTML composing, we will treat
all quoted messages as plain text.
2016-05-02 15:00:23 +02:00
mailchuck
056512a715 Sent folder new message selection fix
Fixes Bitmessage#838
2016-05-02 15:00:23 +02:00
mailchuck
9353e8eff7 Message editor updates
- Does not allow changing fonts (it's ignored once it's sent anyway),
fixes #167
- Allows zooming, fixes #163
2016-05-02 15:00:23 +02:00
e4f31d25fc Flood mitigation optimisation
Flood mitigation was done both in the ObjectProcessorQueue as well as
receiveData threads. This patch removes the mitigation in receiveData
threads and cleans up the one in the ObjectProcessorQueue
2016-05-02 15:00:23 +02:00
mailchuck
98fab9c568 Message body focus on reply
Fixes #156
2016-05-02 15:00:23 +02:00
mailchuck
43a765515a Remember current search
@rainulf  What's the reasoning behind resetting the search?

Fixes #155
2016-05-02 15:00:23 +02:00
mailchuck
46494dc3e6 "All accounts" can't be renamed
Minor error
2016-05-02 15:00:23 +02:00
mailchuck
f4c2cc5160 Unicode
- subject on replies was not parsed correctly (or should I say was
parsed more than necessary)
- unicode can handle invalid characters without needing a special
function

Fixes #164
2016-05-02 15:00:23 +02:00
mailchuck
d7ff86705e Fix frozen localisation
Addresses Bitmessage#737
2016-05-02 15:00:23 +02:00
mailchuck
3b30afea29 Messagelist subject class
Messagelist subjects now are their own class. Fixes #153
Also fixes replies/clipboard for gatewayed messages.
2016-05-02 15:00:22 +02:00
mailchuck
4647fcb876 Disable label rerendering in messagelist
It's broken and just consumes resources. I'll fix it separately.
2016-05-02 15:00:22 +02:00
mailchuck
e650cff42d (Un)read messagelist items
Previous commits broke them, now it renders correctly again.
2016-05-02 15:00:22 +02:00
mailchuck
4b63c4c086 Address Qt.UserData fix
The previous commit broke places where UserData was read from the
mesagelist line, because it's now a string rather than a QVariant. This
actually simplifies things.
2016-05-02 15:00:22 +02:00
mailchuck
879a6f1d68 Messagelist loads faster
Addresses #149. About 5 times faster.
2016-05-02 15:00:22 +02:00
mailchuck
0b4c57a516 Entries missing in messagelist 2016-05-02 15:00:22 +02:00
69494594d5 Main Window raising fixes
On OSX and linux, the tray icon now raises window.

Starting a new instance should raise the window too, but it may not work
on linux (on my Ubuntu it just flashes the icon)

Fixes Bitmessage#743
2016-05-02 15:00:22 +02:00
mailchuck
ff207c1b56 Portable mode fix
The option should not be available if the directory with the executable
is not writable, such as when running from a dmg on OSX.
2016-05-02 15:00:22 +02:00
mailchuck
8359b8b202 Contact support user interface
Fixes #25
2016-05-02 15:00:22 +02:00
mailchuck
4c8ba431e5 Add to blacklist from "All accounts"
It didn't work before
2016-05-02 15:00:22 +02:00
mailchuck
eb35f35b83 Add system translations
Items like dialog box buttons were not localised. This loads the default
qt localisation, and also unloads the old localisation on locale change.
Still needs to be adjusted for frozen.

Addresses Bitmessage#737
2016-05-02 15:00:22 +02:00
mailchuck
751f9108d8 HTML detector and switcher
HTML messages are detected and if present, the top of the message
textedit displays a clickable area that switches HTML rendering on and
off.

Fixes #13
2016-05-02 15:00:22 +02:00
mailchuck
8ff5bf0464 Channel reply enhancement
When replying to a message sent to a chan, now you can choose if you
want to reply to chan or sender. Fixed #9
2016-05-02 15:00:22 +02:00
mailchuck
4e32125ca3 Copy to clipboard in messagelists
Fixes #142
2016-05-02 15:00:22 +02:00
mailchuck
e2fb34e2fb More portable mode fixes 2016-05-02 15:00:22 +02:00
mailchuck
242c8fa9c2 More portable mode fixes 2016-05-02 15:00:22 +02:00
mailchuck
5a45d7dd8f Portable mode fixes
Fixes Bitmessage#379, Bitmessage#341
2016-05-02 15:00:22 +02:00
538642f236 Label for blacklisting sender fix
It wasn't properly utf-8-ied.
2016-05-02 15:00:22 +02:00
bdfaa90ecb Auto-register for email gateway if necessary
If attempting to send to an email address from an unregistered
account, auto-send registration to mailchuck.
Use label if possible, otherwise random 12 characater address

Fixes #131
2016-05-02 15:00:22 +02:00
082eb823bb New message appears if viewing account root
Fixes #132
2016-05-02 15:00:22 +02:00
mailchuck
a5456f792c Fix Addressbook context menu delete 2016-05-02 15:00:22 +02:00
mailchuck
bccc2406a2 Fix double unread count in tray icon 2016-05-02 15:00:22 +02:00
mailchuck
27c187283b Unify messagelist rendering
also some minor fixes
2016-05-02 15:00:22 +02:00
mailchuck
be02116af9 Global folder, global search, unread folder
Fixes #38
Fixes #39

Minor unread refresh issues.
2016-05-02 15:00:22 +02:00
mailchuck
6862952c55 Typo
OpenCL config variable setter had a typo
2016-05-02 15:00:22 +02:00
mailchuck
1e89616c0f Avoid strings in account types 2016-05-02 15:00:21 +02:00
mailchuck
e7e245fe25 OpenCL GUI settings 2016-05-02 15:00:21 +02:00
mailchuck
f9a7a5b6f2 Account in treeWidget more like a QT class
It behaves more like a QT class is supposed to now, it's somewhat
cleaner.
Fixes #122
2016-05-02 15:00:21 +02:00
mailchuck
48b9e50397 UPnP GUI
Settings GUI now contains a checkbox for UPnP and auto starts/stops the
thread when changed.
Default UPnP socket timeout decreased for faster thread
starting/stopping
2016-05-02 15:00:21 +02:00
mailchuck
8c14641810 Window resize on minimize bugfix
Fixes Bitmessage#243
2016-05-02 15:00:21 +02:00
mailchuck
9338772b1e Logging updates
Came over BM (from "general" channel), I slightly modified it.
2016-05-02 15:00:21 +02:00
mailchuck
960d446104 Ask before deleting a subscription
Fixes #120
2016-05-02 15:00:21 +02:00
mailchuck
c2970cd92e Update addressbook on changes
Fixes  #99
- enable/disable new/delete chan/subscription
- also found and fixed a logger crash
2016-05-02 15:00:21 +02:00
mailchuck
1f331f217c Messagelist address tooltip
Fixes #108
2016-05-02 15:00:21 +02:00
mailchuck
8909a535ae Remove extra debug logging 2016-05-02 15:00:21 +02:00
mailchuck
dd15d1b6ed Delete key and shift modifier
Addresses #114
- delete from sent works when pressing delete key
- delete from trash deletes rather than moves
- delete with shift deletes rather than moves
2016-05-02 15:00:21 +02:00
mailchuck
cd9a7b5157 Missing folders in rerenderTabTreeSubscriptions
I optimised it too much and sometimes folders were missing in the tree.
2016-05-02 15:00:21 +02:00
mailchuck
d7817ca2ef Smoother rerenderTabSubscriptions
Does not reset it all the time but adds/removes
Fixes #109
2016-05-02 15:00:21 +02:00
mailchuck
231219a193 Improved logging
Fixes #118

- changed almost all "print" into logger
- threads have nicer names
- logger can have configuration in "logger.dat" in the same directory as
"keys.dat", and the logger will pick the one named "default" to replace
the "console" and "file" that are in PyBitmessage otherwise

Example file for logging to syslog:

[loggers]
keys = root,syslog

[logger_root]
level=NOTSET
handlers=syslog

[logger_syslog]
level=DEBUG
handlers=syslog
qualname=default

[handlers]
keys = syslog

[handler_syslog]
class = handlers.SysLogHandler
formatter = syslog
level = DEBUG
args=(('localhost', handlers.SYSLOG_UDP_PORT),
handlers.SysLogHandler.LOG_LOCAL7)

[formatters]
keys = syslog

[formatter_syslog]
format=%(asctime)s %(threadName)s %(filename)s@%(lineno)d %(message)s
datefmt=%b %d %H:%M:%S
2016-05-02 15:00:21 +02:00
Denilson M. Amorim
cf610080b9 Squash: Single instance and pop up old instance 2016-05-02 15:00:21 +02:00
mailchuck
049e226ddc Move saving UI state
quit is more appropriate than close event, but it my resurrect the issue
with linux saving config data.
2016-05-02 15:00:21 +02:00
mailchuck
5cb02dc783 Improve blacklist autolabel 2016-05-02 15:00:21 +02:00
mailchuck
a02ea14233 Blacklist through context menu
Fixes #101
2016-05-02 15:00:21 +02:00
mailchuck
2f874e41be Fix adding/editing entries in addresbook
It didn't sort correctly and didn't update the label correctly when
changed.
Fixes #95
2016-05-02 15:00:21 +02:00
mailchuck
25cc1dc287 Unified code for finding source code location
It is already used in 3 places so I put it into a function
2016-05-02 15:00:20 +02:00
mailchuck
f68627158d Click on inactive tab
Would cause exception.
2016-05-02 15:00:20 +02:00
mailchuck
0e15b246af Fix broadcast
Any normal address should be able to broadcast. Reported over BM in one
of the chans.
2016-05-02 15:00:20 +02:00