Commit Graph

2125 Commits

Author SHA1 Message Date
Neil Booth
eebabdf209 Merge branch 'client_thread' 2016-01-19 21:01:46 +09:00
ThomasV
d530f8fe84 kivy: minor fixes 2016-01-19 12:57:18 +01:00
ThomasV
8ed443b4c8 kivy: improve settings dialog 2016-01-19 12:37:40 +01:00
ThomasV
6aea1e8a79 kivy: improve about dialog 2016-01-19 10:32:11 +01:00
ThomasV
4122c108fc plugins: enable & disable methods 2016-01-19 10:03:05 +01:00
ThomasV
82bfbdcc3c add dev 2016-01-18 16:06:12 +01:00
ThomasV
3252161f36 improve about dialog 2016-01-18 15:42:05 +01:00
ThomasV
23d16154a9 kivy: improve status dialog 2016-01-18 15:20:01 +01:00
ThomasV
e2d00c61cd kivy fixes 2016-01-18 14:09:48 +01:00
ThomasV
f66763c37e kivy: improve Wallets dialog 2016-01-18 10:08:21 +01:00
Neil Booth
9ab9c73d6d Threaded wallet creation 2016-01-18 07:33:04 +09:00
Neil Booth
b32a34b8ba Threaded message signing 2016-01-18 07:33:04 +09:00
Neil Booth
ef2c472739 Threaded decryption 2016-01-18 07:33:04 +09:00
Neil Booth
06c262d0dc TrezorClient: should be in a separate thread
First steps; get show_address working.
Client is not responsible for showing exceptions.
Suppress uninteresting exceptions.
2016-01-18 07:33:04 +09:00
ThomasV
d200b236ae replace tx.input, tx.output by methods, so that deserialize calls are encapsulated 2016-01-17 15:04:11 +01:00
Neil Booth
e2627e0944 QMessageBox is a top-level window 2016-01-17 19:40:05 +09:00
Neil Booth
144f53be18 Use TaskThread to simplify ThreadedButton
And improve labels dialog
2016-01-17 16:13:32 +09:00
Neil Booth
c714acf739 Add TaskThread, use to simplify WaitingDialog
This will be useful as a client thread for hardware wallets
2016-01-17 15:47:08 +09:00
Neil Booth
d9a84875dc Fix prior; keep tx dialog as top-level window 2016-01-17 13:41:09 +09:00
Neil Booth
d9a13a5dd1 transaction_dialog: don't override base class
Rename parent to main_window.  Make the main window our parent.
2016-01-17 13:36:40 +09:00
ThomasV
3574ade484 fix #1635 2016-01-17 02:56:52 +01:00
ThomasV
b545f4ef12 kivy: EmptyLabel 2016-01-16 16:47:48 +01:00
ThomasV
d68f42df95 add qr code scanner to kivy wizard 2016-01-16 15:05:49 +01:00
ThomasV
cd6ec773c9 kivy: pass message to restore dialog, and remove dead code. 2016-01-16 12:44:59 +01:00
ThomasV
5be9f03fdf kivy: improve wizard 2016-01-16 12:01:37 +01:00
ThomasV
06809917ca kivy wizard: simplifications and renaming 2016-01-16 09:30:11 +01:00
ThomasV
1144afefb5 kivy: rm ChangePasswordDialog 2016-01-16 09:18:20 +01:00
ThomasV
f6661fdd2c kivy: simplify install wizard 2016-01-15 17:45:08 +01:00
ThomasV
eb085c2e23 Clarify preferences dialog:
* rename 'Oldest First' policy as Priority
 * show multiple change and fee multiplier on separate lines
2016-01-15 09:02:03 +01:00
Neil Booth
6bf91b8ae2 Update comments and tooltips. 2016-01-15 15:25:01 +09:00
Neil Booth
53fa973898 Move change_amounts() to base class.
Update tooltip of the preference.
2016-01-15 15:21:25 +09:00
Neil Booth
641f23229d Add multiple change output preference
Limit to 3 if enabled.
2016-01-15 14:54:26 +09:00
ThomasV
0d52911561 define constants for tx output types 2016-01-14 17:15:50 +01:00
ThomasV
d57af0db33 Revert "Fix 'need more than 2 values to unpack' error."
This reverts commit 812399f51d.
2016-01-14 16:32:09 +01:00
ThomasV
b5313ce17d follow up da8fce1914 2016-01-14 16:23:12 +01:00
ThomasV
5cb18f95de kivy: minor wizard fix 2016-01-13 21:26:54 +01:00
ThomasV
0464a1a6b0 remove gtk gui 2016-01-13 15:29:04 +01:00
Neil Booth
bda9adc01f Close install wizard when cancelled from menu 2016-01-13 22:50:25 +09:00
Neil Booth
889c4cb7fb Multisig: create and restore work
Override run in derived class to catch UserCancelled again
Restore self.finished() hook.
Fix a typo.
2016-01-13 22:38:32 +09:00
Neil Booth
6178f5a28f Fix some more regressions and trustedcoin plugin 2016-01-13 22:25:40 +09:00
Neil Booth
fd66e15d3d Fix some regressions from layout rework. 2016-01-13 21:25:48 +09:00
Neil Booth
9390a97e9e Bring the network dialog into the new framework 2016-01-13 21:11:06 +09:00
Neil Booth
4c9b224d4c Put open_wallet back as class method. 2016-01-13 20:56:44 +09:00
Neil Booth
cb8bc4ec73 Bring query_choice into the new framework. 2016-01-13 19:49:58 +09:00
ThomasV
632905dfbe instantiate wizard only if needed 2016-01-13 11:27:17 +01:00
Neil Booth
0219687d41 Some work on multisig. 2016-01-13 19:20:58 +09:00
Neil Booth
576500aa29 Embed generating addresses text 2016-01-12 23:36:25 +09:00
Neil Booth
f94d2db9a4 Embed password dialog. 2016-01-12 23:32:13 +09:00
Neil Booth
2ae3543dc4 Start work on persistent install wizard 2016-01-12 22:31:53 +09:00
Neil Booth
f7b39f4952 A different approach to d5aa646
Only clean up the MainWindow once.
2016-01-12 20:19:21 +09:00
Neil Booth
d5aa6466c9 Be careful removing windows from the list
I've occasionally had Python throw saying the window
isn't in the list.
2016-01-11 22:32:19 +09:00
Neil Booth
45f518e191 Improve Master Public Keys dialog
- Put the radio buttons inside the group box
- Share more code between the have-group-box and not cases
- Use ChoicesLayout
- Don't use cosigner terminology unless it's a Multisig wallet
2016-01-11 12:31:45 +09:00
Neil Booth
384b8cd5f2 Install wizard: simplify create_or_restore
- Use ChoiceLayout to organize the layouts
- Do wallet filtering in wizard.py as it's GUI independent.
- Only pass the descriptions.
2016-01-10 23:00:59 +09:00
ThomasV
85b48191da formatting (unneeded spaces) 2016-01-10 14:22:33 +01:00
Neil Booth
637164d335 Introduce BIP32_RD_Wallet
Represents a BIP_32 wallet with a root derivation.
This permits us to see address derivation for NewWallet types
in the QT Gui.
2016-01-10 20:20:04 +09:00
Neil Booth
81d641a13f Show BIP32 path for BIP32_HD_Wallet classes
from right-click Show Public Keys menu.

Fixes #1598
2016-01-10 14:53:00 +09:00
Neil Booth
9cf0a9720f QT handler improvements
Now we have the top_level_window() function, stop using the window
stack.
2016-01-10 13:24:56 +09:00
Neil Booth
83cc5e2001 Fix top level window issue on Mac
Better, more generic fix superseding prior two patches.
2016-01-10 12:56:12 +09:00
Neil Booth
56bc717da1 Encrypt / decrypt: use top level window
Show errors on top level window, otherwise MacOSX gets stuck.
2016-01-10 12:42:47 +09:00
Neil Booth
b97c2857e0 Fixes for message sign and verify
base64 can throw which caused silent verification failures.
Ask for passwords with correct parent window otherwise dialog
not visible on MacOSX.  Similarly for verification messages.
2016-01-10 12:35:29 +09:00
ThomasV
9ad4d63ad1 wizard: small tweaks, fix show_restore 2016-01-09 10:35:10 +01:00
Neil Booth
2377476207 Separate out new QT util ChoicesLayout
For future use elsewhere
2016-01-09 15:38:27 +09:00
Neil Booth
3e8598c245 Move trezor-specific install wizard code to plugin 2016-01-09 15:21:38 +09:00
Kefkius
d29fd4d9d1
Use info message box for Pay-To-Many instructions 2016-01-08 05:00:15 -05:00
ThomasV
5915b9b7e1 restore action-driven wizard logic 2016-01-07 00:55:23 +01:00
Neil Booth
6fb7dbd30d Implement passphrase protection toggling.
Along with chicken box.
2016-01-06 23:08:02 +09:00
Neil Booth
9b29c6c2e6 Trezor: all four available device initializations
Trezor and KeepKey devices can now be initialized by:
- device-generated seed
- existing seed
- BIP39 mnemonic
- master private key
2016-01-06 22:18:56 +09:00
ThomasV
97c443a86d use a wallet-owned dummy_address, to minimize risk of losses. This was removed in 11d135b without explanation 2016-01-06 09:36:13 +01:00
ThomasV
f49f538315 Revert "Use a real dummy address"
This reverts commit 9ed987c2da.
2016-01-06 09:26:29 +01:00
ThomasV
62868ab29a Register loaded wallets in daemon, to prevent a wallet from being opened twice.
Simplify the wizard logic.
2016-01-06 00:58:43 +01:00
Neil Booth
9ed987c2da Use a real dummy address
Fixes #1599
2016-01-04 17:54:23 +09:00
ThomasV
6210c61eb6 fix #1597 2016-01-03 17:47:02 +01:00
Neil Booth
0c80ca8457 Get rid of timer_actions hook
Nothing uses it.  In the unlikely event we need it back, we
should call it qt_timer_actions instead as it is QT-only and
runs in the QT GUI thread.
2016-01-03 20:56:13 +09:00
Neil Booth
1ffc14df76 Force OK button to be default
Until we work out the right way to use the stacked dialogs.
2016-01-03 20:09:05 +09:00
Neil Booth
87363c8301 Trezor: Implement resetting a device 2016-01-03 13:34:03 +09:00
Neil Booth
13154d4ce7 Fix import in main_window.py 2016-01-03 11:20:22 +09:00
Neil Booth
40ae744c1e Fix show_error inheritance issue 2016-01-03 11:18:20 +09:00
Neil Booth
6e660f562f Change inheritance order in installwizard.py
Also put back set_layout.  This is causing two things:

a) on MacOSX the next / cancel buttons vanish if in one position
b) on all O/Ses the Next button is not the default

We're obviously abusing StackedLayout in an unintended way.
2016-01-03 10:39:44 +09:00
Neil Booth
a7028176cd Trezor: Add wipe device functionality
Also add a chicken box for PIN removal.
2016-01-03 10:26:34 +09:00
Neil Booth
9aae66a9d2 Move set_layout call
This code is identical to before, but for some reason the positioning
of this affects whether Next is the default action or not!

And it didn't have that effect with the old install wizard.  Odd.
2016-01-03 09:32:41 +09:00
Neil Booth
f3e6bf0280 Passphrase-related fixes
Move normalize code to one place on the wallet
Passphrases don't have password strength meter
2016-01-03 09:03:07 +09:00
Neil Booth
3422d855c9 A few small fixes 2016-01-02 23:06:53 +09:00
Neil Booth
21bf5a8a84 Better support for USB devices
Benefits of this rewrite include:

- support of disconnecting / reconnecting a device without having
  to close the wallet, even in a different USB socket
- support of multiple keepkey / trezor devices, both during wallet
  creation and general use
- wallet is watching-only dynamically according to whether the
  associated device is currently plugged in or not
2016-01-02 20:39:29 +09:00
Neil Booth
12f62212ba Move wallet_kinds to the base class
This logic isn't gui-dependent so belongs in wizard.py
2016-01-02 00:35:09 +09:00
Neil Booth
11d135b32d Better install wizard
Break out the workflow logic of the install wizard
into a base class.  This means reimplementing with
full support in a new GUI is now easy; you just provide
ways to request passwords, show messages etc.  The API
is fully documented in the base class.

There are a couple of minor outstanding issues, including that
the old messages shown when recovering a wallet are missing.
I will come back to that.  Ledger wallet might be broken.

Other improvements:

The install wizard code is now easy to follow and understand.
Hardware wallets can now be restored without any need for their
accompanying libraries.
Various bits of trustedcoin were broken and have been fixed.
Many plugin hooks can be removed.  I have only started on this.
2016-01-01 16:48:18 +09:00
Neil Booth
441b695815 Break out logic into a function 2015-12-31 12:16:32 +09:00
Neil Booth
3df8d11f1a Pass the gui object to the install wizard 2015-12-31 12:09:23 +09:00
Neil Booth
bcabfaeccb Move install wizard invocations to one place
Fixes bugs whereby install wizard invoked from the GUI was missing
various things, such as updating recently used list, setting up
timers, etc.
2015-12-31 12:02:16 +09:00
Neil Booth
93d05e8cfe Have close_wallet hook take a wallet. 2015-12-31 10:31:49 +09:00
Neil Booth
1d51335827 Remove need for self.wallet for h/w wallets 2015-12-30 17:03:26 +09:00
Neil Booth
e0aab69e67 Better handling of watching only
Avoid unnecessary message at startup.
It can now be dynamic and menus, title bar update properly.
2015-12-28 22:51:50 +09:00
Neil Booth
8f91af28a5 More cleanup of WaitingDialog
Simplify its interface
2015-12-26 11:18:32 +09:00
Neil Booth
a58c19d7c0 Clean up and fix account adding
As per BIP44, 20 addresses are checked for transactions, not just the
first one.
Show the last account only if used or named.
If all accounts are used, prompt for password to create new one.

Fixes #1128
2015-12-25 23:34:04 +09:00
Neil Booth
ffd081ac21 Clean up WaitingDialog
Prevent GC so callers don't have to.
2015-12-23 22:10:11 +09:00
Neil Booth
37a49752eb Fix greenaddress modality and centring issues 2015-12-23 20:13:17 +09:00
Neil Booth
0ecf2565ce MessageBoxMixin-related cleanup 2015-12-23 20:05:09 +09:00
Neil Booth
6f4d4b9a1e Modality and centring fixes for QR codes 2015-12-23 18:42:01 +09:00
Neil Booth
9484b6371f More modality fixes and cleanups 2015-12-23 18:31:36 +09:00
Neil Booth
37b474716b Window modality fixes + improved password dialog 2015-12-23 17:32:08 +09:00
Neil Booth
62201b37f5 MacOSX fix
If these lines are the other way round, the buttons don't appear
on MacOSX!
2015-12-23 15:23:35 +09:00
Neil Booth
15e9991e2a Move message box logic to a mixin 2015-12-23 15:10:15 +09:00
Neil Booth
72fdf0cd21 Better error when opening a non-wallet file
Also window modality fixes for __init__.py
2015-12-23 13:54:43 +09:00
Neil Booth
1afb644203 Fix call to get_wallet_folder 2015-12-23 13:42:35 +09:00
Neil Booth
21e4a30371 Modality fixes for critical errors 2015-12-23 13:39:20 +09:00
Neil Booth
57d4b27696 Fix a bunch more modality issues for message boxes 2015-12-23 13:21:13 +09:00
Neil Booth
0a3a0f12cc Make more dialogs window-modal
Also remove some unnecessary imports
2015-12-23 12:20:19 +09:00
Neil Booth
0f431b23eb Make more dialogs window-modal 2015-12-23 11:52:36 +09:00
Neil Booth
4c36987845 Change password QT dialog window modal 2015-12-22 23:09:09 +09:00
Neil Booth
7437746cd2 Network dialog -> window modal
Clean up imports
2015-12-22 22:23:51 +09:00
Neil Booth
5c1828e03d Install wizard -> window-modal, fix missing import 2015-12-22 22:18:59 +09:00
Neil Booth
68da937e89 Address history dialog -> window modal 2015-12-22 22:11:37 +09:00
Neil Booth
d98451f114 Make more dialogs window modal 2015-12-22 22:05:27 +09:00
Neil Booth
6442dd59ad Make two more dialogs window-modal 2015-12-22 08:02:01 +09:00
Neil Booth
44a436e964 Make line_dialog, text_dialog window modal
Move new_wallet and get_wallet_folder from qt/__init__.py
to qt/main_window.py for correct centring and window modality.
2015-12-22 07:55:33 +09:00
Neil Booth
8598f9ef9c Permit sweep of private keys for watch-only wallet
Fixes #1585
Warn user if watching-only.
Introduce new helper class WindowModalDialog and use it in a couple
of places.  This is better than process-modal dialogs for our
multi-window daemon setup.
2015-12-21 23:52:48 +09:00
ThomasV
5f0a7db598 kivy: password dialog and wizard fixes 2015-12-20 17:37:07 +01:00
Neil Booth
2226667437 QT: Stop timer cleanly to avoid exceptions on exit 2015-12-20 16:15:33 +09:00
Neil Booth
e1c0298fc2 Write the wallet less often
This should speed up synchronization / restoration of large wallets.
Wallets are written only when they switch to up_to_date state, or
when stop_threads() is called when closing the daemon, or when
a command line command finishes.
2015-12-20 15:47:46 +09:00
ThomasV
ee4ccd9b1b kivy: move wallets dialog 2015-12-18 15:03:38 +01:00
ThomasV
e46b00bb39 move methods related to amount dialog 2015-12-18 13:04:19 +01:00
ThomasV
f7a3b53c3f kivy: add status dialog 2015-12-18 11:29:56 +01:00
ThomasV
9efaf73336 kivy cleanup 2015-12-18 11:05:10 +01:00
ThomasV
ff163e34d8 kivy: wallets and settings menus 2015-12-18 10:53:50 +01:00
ThomasV
f8f124ad84 kivy: add delay to ActionButtons 2015-12-16 12:40:30 +01:00
ThomasV
b3ef2249b5 add more features to settings dialog 2015-12-16 11:53:37 +01:00
ThomasV
30ace570d3 kivy: choice_dialog and load_wallet_by_name 2015-12-16 08:57:47 +01:00
ThomasV
9d3162b1a1 simplify get_label 2015-12-15 12:52:30 +01:00
ThomasV
2990b1e865 fix: follow up to ba26996367 2015-12-15 12:33:36 +01:00
ThomasV
ba26996367 fix exchange_rate in kivy 2015-12-15 12:29:48 +01:00
ThomasV
3568c325ea kivy: use Clock to improve button responsiveness 2015-12-14 21:34:25 +01:00
ThomasV
0b1561f447 kivy: fix qr code 2015-12-14 21:32:57 +01:00
ThomasV
b5b3679404 kivy: recreate context menu everytime an item is selected 2015-12-14 15:02:57 +01:00
ThomasV
5e5f3202b1 kivy: move amount dialog 2015-12-14 14:27:39 +01:00
ThomasV
c55a253f6d kivy: improve layout 2015-12-14 13:37:19 +01:00
ThomasV
8977493a62 kivy: label dialogs 2015-12-14 12:08:11 +01:00
ThomasV
98d4384641 kivy: fix set amount 2015-12-13 17:54:17 +01:00
ThomasV
9b44635e3c kivy: make tabs one third of screen width and fix tabs scrolling 2015-12-13 17:36:23 +01:00
ThomasV
f7ffdfc2b1 kivy: fix qrcodewidget (only update from gui thread) 2015-12-13 16:21:50 +01:00
ThomasV
a190d1dbe6 kivy: fixes 2015-12-13 15:26:08 +01:00
ThomasV
9caf174d7f kivy: add status icons, improve requests layout 2015-12-13 10:42:48 +01:00
ThomasV
cd0ab62cae kivy: various small fixes 2015-12-13 06:41:22 +01:00
ThomasV
eef62112a8 kivy: invoices and requests handlers 2015-12-12 23:23:58 +01:00
ThomasV
6bd37723d3 kivy: add context menus 2015-12-12 16:54:32 +01:00
Neil Booth
e9d0dd578a Put coin selection combo at bottom 2015-12-12 18:26:58 +09:00
Neil Booth
1524fa29af Raise dialog width slightly. 2015-12-12 18:20:49 +09:00
Neil Booth
36aaad392d Fix docstring display. 2015-12-12 18:11:07 +09:00
Neil Booth
34955bd0f5 Show value if available 2015-12-12 17:52:19 +09:00
Neil Booth
f3a7d3f2bf Show amount of inputs too. 2015-12-12 09:41:31 +09:00
ThomasV
680c9c888a kivy: add save_request button 2015-12-11 15:48:56 +01:00
ThomasV
c71b8d7328 kivy: reorganize tabs 2015-12-11 15:32:48 +01:00
ThomasV
0cef063ee2 add payment requests to kivy 2015-12-11 15:21:21 +01:00
ThomasV
4195001aed kivy: fix animate_to_center 2015-12-10 15:26:38 +01:00
ThomasV
1b0e29d385 kivy: add screens for invoices and requests, disable contacts 2015-12-10 11:33:58 +01:00
ThomasV
8e7c5a180f kivy: handle absence of fiat exchange rate 2015-12-10 11:33:30 +01:00
Neil Booth
75b3ecee49 Add coin chooser to try and minimize loss of privacy. 2015-12-09 22:20:23 +09:00
ThomasV
de964f4033 plugins: on_close method 2015-12-09 09:41:24 +01:00
ThomasV
add9665584 cleanup 2015-12-07 18:41:58 +01:00
ThomasV
346307d249 kivy: tweaks 2015-12-07 16:43:18 +01:00
ThomasV
1c7f3c65e2 kivy: fix settings layout 2015-12-07 15:59:59 +01:00
ThomasV
37e93928ab kivy: improve settings and password dialogs 2015-12-07 14:33:35 +01:00
ThomasV
0d5114b6c2 kivy: improve amount and password dialogs 2015-12-07 10:40:10 +01:00
ThomasV
3c4801b8de kivy: layout 2015-12-06 13:34:28 +01:00
ThomasV
b171b8eb4d kivy: fix 2015-12-06 11:11:57 +01:00
ThomasV
44037ba381 kivy: minor fix 2015-12-06 10:45:57 +01:00
ThomasV
9edd778204 kivy: use switches for plugins 2015-12-06 10:41:44 +01:00
ThomasV
2f13910bf1 kivy: add context button for tx details 2015-12-06 10:29:20 +01:00
ThomasV
9b2885e697 kivy: updates 2015-12-05 18:14:17 +01:00
ThomasV
84b18e0949 qt: save last active window, not last opened window 2015-12-05 16:53:56 +01:00
ThomasV
b6242a453b kivy: minor fix 2015-12-04 12:57:17 +01:00
ThomasV
011ccc6e54 kivy: sanitize inputs 2015-12-04 12:01:13 +01:00
ThomasV
df02269bcf kivy: rework send and receive screens 2015-12-04 11:47:46 +01:00
ThomasV
e9ee851bb2 fix: set auto_connect in installwizard 2015-12-03 23:50:50 +01:00
ThomasV
b700340ff9 kivy: use exchange rates in amount dialog 2015-12-03 22:43:43 +01:00
ThomasV
f651742f86 kivy: layout 2015-12-02 19:25:07 +01:00
ThomasV
58acb6c759 whitelist csv 2015-12-02 18:41:59 +01:00
ThomasV
fb641b5bf1 kivy updates 2015-12-02 18:02:11 +01:00
ThomasV
d60be8e19c kivy: use exclude_dirs instead of blacklist 2015-12-02 16:16:21 +01:00
ThomasV
1126555f14 kivy updates 2015-12-02 15:27:23 +01:00
ThomasV
6ec610c359 kivy updates 2015-12-02 12:11:28 +01:00
ThomasV
95bf92b683 update kivy blacklist 2015-12-01 18:56:39 +01:00
ThomasV
deefd74c37 labels sync for kivy 2015-12-01 17:29:24 +01:00
ThomasV
0215aee047 kivy: plugins layout 2015-12-01 16:54:16 +01:00
ThomasV
20cf074a8f fix plugin name 2015-12-01 16:51:14 +01:00
ThomasV
409557bca5 fix typo 2015-12-01 13:50:47 +01:00
ThomasV
4682d95a76 merge jsonrpc gui and daemon 2015-11-30 10:09:54 +01:00
Neil Booth
e190024f73 Only pass a fixed fee if it was user-specified.
Otherwise we inadvertently fix the fee at the prior calculated one,
which isn't what we want
2015-11-29 23:14:40 +09:00
ThomasV
19533dda15 load wallet in ElectrumWindow constructor 2015-11-24 12:10:43 +01:00
ThomasV
f09d80459d fix #1564 2015-11-24 11:13:48 +01:00
ThomasV
ba2c737a21 finish separation between plugins and GUIs 2015-11-24 09:36:42 +01:00
ThomasV
2c0489c809 plugins: separate GUIs using child classes 2015-11-23 14:15:25 +01:00
ThomasV
175fdbcac6 Disentangle plugins and window management; use Qt signals 2015-11-23 09:05:34 +01:00
ThomasV
47e5bd653a add a color pair for qr code 2015-11-15 17:53:02 +01:00
ThomasV
88c238dda7 fix Settings dialog in text gui 2015-11-15 13:29:31 +01:00
Neil Booth
53f6fb9876 Add a GC debugger
Add commented-out GC debugging step
2015-11-14 10:47:44 +09:00
Neil Booth
50755d7db3 Use weakref for tabs in QShortCut lambdas
Unfortunately we have no way to directly destroy or remove the
lambdas embedded in the QShortcut objects, so this is the
only solution to avoid leaking references.  As the QShortcut
objects have the window as parent, they are destroyed with the
window so dangling refs to the destroyed window can't happen.

This and 91349d109e fix #1549.
2015-11-14 10:35:29 +09:00
Neil Booth
91349d109e Add explanatory comment. 2015-11-13 23:42:46 +09:00
Neil Booth
ae4cfc9f0b Unregister network callbacks from QT gui
Rework the callback system in QT to make this easy, and avoid
leaking window references that prevent the window from being
GC-ed on close
2015-11-13 23:36:29 +09:00
Neil Booth
51ebdc5ce8 Remove another non-existent callback 2015-11-12 15:33:58 +09:00
Neil Booth
afb5013272 Remove non-existent callbacks and handlers 2015-11-12 15:32:24 +09:00
ThomasV
55fafc35c1 fix json_encode with python console 2015-11-09 16:09:57 +01:00
Neil Booth
7b40b63a3d Refresh all amount edits when units change.
Improved version of prior commit.
2015-11-09 20:06:36 +09:00
ThomasV
386319b015 clear send fields if unit setting is changed 2015-11-08 00:00:11 +01:00
ThomasV
798664e299 remove minimum window size 2015-11-06 17:13:11 +01:00
ThomasV
3ae3dbd80c add qrcode to text gui 2015-11-06 16:31:24 +01:00
Juraj Variny
812399f51d Fix 'need more than 2 values to unpack' error. 2015-11-04 19:07:50 +01:00
ThomasV
55494e4224 save window geometry in wallet file, since the GUI can open several windows 2015-11-02 15:53:31 +01:00
ThomasV
4a7c7a6616 installwizard: do not start in offline mode when disconnected (fix #1531) 2015-11-02 12:58:47 +01:00
ThomasV
2d6c67bd55 kivy window input_mode 2015-11-01 09:32:40 +01:00
ThomasV
3613e4ebf0 kivy: fix formatting in get_max_amount 2015-10-31 15:25:22 +01:00
ThomasV
b8b2840d18 kivy: sign and send in a thread 2015-10-31 15:12:34 +01:00
ThomasV
77d6ee74f9 revert PR #1492. clear clipboard instead 2015-10-31 11:48:37 +01:00
ThomasV
dae9352c18 add warning against printers to seed dialog 2015-10-31 11:03:49 +01:00
ThomasV
b1ab49a282 Merge pull request #1492 from ctrlcctrlv/uncopyable-seed
Make seed uncopyable
2015-10-31 10:59:19 +01:00
ThomasV
6bb6169541 kivy: pass show_max as parameter 2015-10-30 15:48:17 +01:00
ThomasV
c19c314c0f Merge branch 'master' of git://github.com/spesmilo/electrum 2015-10-30 15:45:23 +01:00
akshayaurora
6e45f42b19 amount dialog: use show_max bool to decide wheather max_button is displayed 2015-10-30 19:41:54 +05:30
ThomasV
728ef1f76c remove redundant label 2015-10-30 14:44:36 +01:00
ThomasV
7b87a7f707 Merge pull request #1529 from akshayaurora/overflow_action
fix overflow_icon and use template for `ActionOvrButton`
2015-10-30 14:38:52 +01:00
akshayaurora
b3b94f1c52 fix overflow_icon and use template for ActionOvrButton 2015-10-30 19:05:17 +05:30
ThomasV
d44aa250fa redo max amount button with smaller footprint 2015-10-30 14:34:15 +01:00
ThomasV
2a3c97813d wallet.get_max_amount method, used by qt and kivy 2015-10-30 14:10:41 +01:00
ThomasV
525e08af54 kivy: fix amount edit 2015-10-30 13:26:37 +01:00
ThomasV
bb7b0884e3 Various fixes for command line. Make 'payto' command require network (fixes #1525) 2015-10-29 11:06:09 +01:00
ThomasV
079cb311ec call wallet.wait_until_synchronized before commands 2015-10-29 05:01:06 +01:00
ThomasV
b70f8c888a kivy: better layout for tx window 2015-10-29 04:58:32 +01:00
ThomasV
db0a5f9b31 fix: missing import 2015-10-28 12:10:43 +01:00
ThomasV
5f09ba661a sanitize inputs in network dialog 2015-10-28 12:07:45 +01:00
ThomasV
052d8b236e fix #1494 2015-10-28 10:36:44 +01:00
Neil Booth
41820eec29 Get correct domain in address_dialog
Fixes #1509
Also clean up imports.
2015-10-28 10:55:04 +09:00
ThomasV
26682491b2 generic restore from command line 2015-10-27 14:33:41 +01:00
Neil Booth
97568bedf5 Default to unused address for privkey sweeps
Fixes #1506

- New function wallet.get_unused_addresses
- Have wallet.get_unused_address use it
- Use it for the sweep key dialog
2015-10-26 20:33:35 +09:00
Fredrick Brennan
939ed8fe40 Merge branch 'master' of https://github.com/spesmilo/electrum into uncopyable-seed 2015-10-19 13:29:15 +08:00
Fredrick Brennan
7685758360 Make it so uncopyable seed only affects wizard
Previously it also affected the menu item Wallet->Seed, which is not the
expected or desired behavior.
2015-10-19 13:27:15 +08:00
ThomasV
f8e51e3323 remove themes, check python3 in setup.py 2015-10-18 12:43:20 +02:00
Fredrick Brennan
88ca99c624 Fix context menu when paranoid=False 2015-10-18 16:00:28 +08:00
Fredrick Brennan
b14b5d3dd4 Make seed uncopyable
Other wallets, such as Mycelium, do not allow the user to simply copy
and paste the seed. This is very useful to assure users follow
directions on the next screen, because previously it was easily possible
to just copy the seed and paste it on the next screen. The user's wallet
would work well for a while like this, but without having the seed
written down it's more of a ticking time bomb than a wallet.

I recommend pulling this patch as I have read many cases where users do
not write the seed down, and I believe that the main cause is lack of
friction forcing them to do so.

This patch was inspired by reading this Reddit conversation:

https://www.reddit.com/r/Bitcoin/comments/3p4bq1/electrum_v25/cw380kg

But I'm not a participant in that convo.
2015-10-18 15:42:11 +08:00
ThomasV
de92f1c98f fix #1488: add formerly deleted method 2015-10-17 20:53:33 +02:00
ThomasV
7a060e86b2 minor fix FX plugin 2015-10-17 12:46:05 +02:00
ThomasV
da79f02fc3 rm version_getter 2015-10-17 12:10:28 +02:00
ThomasV
302ce7c15b simplify exchange_rate hooks 2015-10-17 06:26:37 +02:00
ThomasV
46249f74d3 remove ununsed classes, use popup to show tx details 2015-10-17 06:11:23 +02:00
ThomasV
6e9c58783e kivy: improve amount dialog 2015-10-16 14:59:26 +02:00
ThomasV
274dc256b5 kivy: show receive address as Label 2015-10-16 12:33:55 +02:00
ThomasV
4eff85957d kivy: fix amount 2015-10-16 12:25:49 +02:00
ThomasV
3b49b5adca kivy: dim qr code on touch 2015-10-16 11:51:28 +02:00
ThomasV
aa83f5fdca add base_unit to amount fields 2015-10-16 11:18:24 +02:00
ThomasV
6bd191966e kivy: add server chooser to network dialog 2015-10-15 11:57:07 +02:00
ThomasV
59948d725c kivy: button that rotates base_unit 2015-10-15 11:35:32 +02:00
ThomasV
069a6455c7 kivy: base_unit setting 2015-10-15 11:18:10 +02:00
ThomasV
d70948f74f kivy: gui tweaks 2015-10-14 18:45:26 +02:00
ThomasV
d25ee6d576 kivy: gui fixes 2015-10-14 18:03:02 +02:00
ThomasV
0024980e2f kivy: improve send and receive layouts 2015-10-14 16:52:10 +02:00
ThomasV
3f473e6915 kivy: improve send tab 2015-10-14 15:13:47 +02:00
ThomasV
c478122cb1 kivy: connect do_clear button, fixes 2015-10-14 14:18:15 +02:00
ThomasV
4a0fceca90 kivy: use custom keyboard in send tab 2015-10-14 13:03:13 +02:00
ThomasV
2f543d2ad8 add amount keyboard 2015-10-14 11:44:01 +02:00
ThomasV
3e8cbdfba2 kivy: improve layouts 2015-10-13 22:44:43 +02:00
ThomasV
a199061462 add password_dialog 2015-10-13 19:09:12 +02:00
ThomasV
2e8801fdda kivy buildozer: comment out android.branch 2015-10-13 16:03:25 +02:00
ThomasV
23341e59ec Revert "use pip install -t in make_packages to aggregate packages."
This reverts commit 29b66e1279.
2015-10-13 16:01:25 +02:00
ThomasV
cb6ebcf7d1 kivy: fix create_restore dialog 2015-10-13 15:58:34 +02:00
ThomasV
778ba23fbe Merge branch 'master' of https://github.com/akshayaurora/electrum into akshayaurora-master
Conflicts:
	gui/kivy/tools/buildozer.spec
2015-10-13 12:24:27 +02:00
ThomasV
7f4f32663b kivy: comment out call to create_quote_text 2015-10-13 12:21:04 +02:00
ThomasV
a5e94ef0e8 kivy: use plugins 2015-10-13 12:12:49 +02:00
ThomasV
c803a8ecab wallet selector 2015-10-07 13:48:58 +02:00
ThomasV
f8ccf3cd37 kivy: fix datetime, cleanup 2015-10-07 13:06:28 +02:00
ThomasV
913e957f4a hide scroll bar in tabbed panel 2015-10-07 12:04:42 +02:00
ThomasV
92e5218d5d kivy: simplify dropdown menu, cleanup 2015-10-07 11:05:50 +02:00
ThomasV
4b8c2e5f87 kivy buildozer: comment out android.branch 2015-10-07 10:14:43 +02:00
ThomasV
03ab2dfefe kivy: initial network dialog 2015-10-07 10:13:40 +02:00
akshayaurora
29b66e1279 use pip install -t in make_packages to aggregate packages. 2015-10-07 13:14:07 +05:30
ThomasV
e2237de739 kivy: remove loading_image in qrcodewidget (too slow) 2015-10-06 17:42:19 +02:00
ThomasV
f0b236b317 kivy: more cleanup, load qr code 2015-10-06 14:30:44 +02:00
ThomasV
28ffe32718 kivy:cleanup 2015-10-06 10:43:37 +02:00
ThomasV
65ecbf990d kivy: split mainscreen.kv into dynamically loaded .kv files 2015-10-06 09:59:29 +02:00
ThomasV
1f6bdbda05 kivy: restore back key, cleanup dead code, add profiler 2015-09-30 17:22:10 +02:00
ThomasV
dd679ccb27 bug report guidelines 2015-09-30 10:35:22 +02:00
ThomasV
242ee61ef4 restore previously deleted winpos-qt 2015-09-29 11:08:16 +02:00
Neil Booth
5071d75912 Clean up install wizard a little
Also fixes #1462
2015-09-26 17:19:42 +09:00
Neil Booth
cf44e65ba8 Rework resizing of send and receive tabs
Should fix #1458
They now function in essentially the same way.
2015-09-26 12:14:35 +09:00
ThomasV
f63bc61ec4 fix #1461 2015-09-25 17:23:54 +02:00
Joel Stanner
82a75f3949 Remove redundant "in"
For example, this avoids displaying "Request expires in [ in about 24 hours]"
2015-09-23 19:59:42 -07:00
Joel Stanner
cdbee6f4c9 Expiration value typo bug 2015-09-23 19:56:20 -07:00
fireduck64
978dddad80 Make verbage from requests a little more clear 2015-09-22 12:53:50 -07:00
ThomasV
6cec75150c fix docs link 2015-09-19 18:49:12 +02:00
ThomasV
6117c58a59 update documentation hard link 2015-09-18 13:18:29 +02:00
ThomasV
7f7d73a4a9 helper function without decorator: sign_tx_with_password 2015-09-11 17:38:01 +02:00
ThomasV
483cf2286f format_amount_and_units: general method to display amounts and fiat values. fixes #1078 2015-09-11 16:46:37 +02:00
ThomasV
7c4b749340 single dialog for confirmation and password 2015-09-11 16:22:16 +02:00
Neil Booth
c64e8b9885 Only write wallet if necessary 2015-09-10 17:57:50 +09:00
ThomasV
084a352456 kivy: fix wizard; remove multisig creation code 2015-09-10 10:03:22 +02:00
ThomasV
62643cbc18 kivy: comment out reload 2015-09-09 16:13:40 +02:00
ThomasV
745d258439 kivy: remove dead code 2015-09-09 16:02:06 +02:00
ThomasV
ec9eccd0dd use packages dir instead of requirements 2015-09-09 13:01:30 +02:00
ThomasV
985d54197a cleanup, and make send_tx work 2015-09-09 12:09:16 +02:00
ThomasV
4d60380325 kivy Makefile: don't move, copy 2015-09-09 12:08:09 +02:00
Neil Booth
886192aba7 Make trustedcoin.py multi-window compatible 2015-09-09 17:27:58 +09:00
Neil Booth
0371a3dc32 Don't refresh whilst editing!
It's long been a pet peeve of mine that whilst editing a label,
something would cause Electrum to refresh the widget, such as
an incoming tx or a new block, and you'd lose your edits.
This changes MyTreeWidget so that, if editing, updates are
deferred until editing finishes.
2015-09-09 09:36:35 +09:00
Neil Booth
544b829f6e Rework MyTreeWidget editing
Gets rid of need for EditableItem class.
New callback on_permit_edit to permit widgets to refuse editing.
Restores popup menu on activating a non-editable column behaviour.
2015-09-09 07:38:54 +09:00
ThomasV
c481e61417 don't download aes in Makefile 2015-09-08 16:52:58 +02:00
ThomasV
584cc5d31f use zxing to scan qr codes 2015-09-08 16:19:02 +02:00
ThomasV
533cdde366 right align numerical values in history widget 2015-09-08 12:09:22 +02:00
ThomasV
88077808d9 update kivy's blacklist 2015-09-08 10:52:32 +02:00
ThomasV
f3b0d83782 rename 'gui' console variable to 'window' 2015-09-08 09:37:12 +02:00
ThomasV
95e27a0141 add info to kivy Readme 2015-09-07 14:25:28 +02:00
ThomasV
92780aaf24 add pem extension to buildozer.spec 2015-09-07 13:24:37 +02:00
Neil Booth
39615333c0 Attribute more diagnostic messages 2015-09-06 22:04:44 +09:00
Neil Booth
9b50d1e7bc Fix history headers on plugin load / unload 2015-09-06 21:14:36 +09:00
Neil Booth
93b964f11d Two fixes for main_window.py
- initialize r when getting status text
- fix so settings widgets appear and are enabled
  appropriately
2015-09-06 19:38:44 +09:00
Neil Booth
1d35954541 Fix status bar FX balance display 2015-09-06 14:16:54 +09:00
Neil Booth
34ce6d1821 Updates for exchange_rate plugin
Have AmountEdit return an int if is_int, otherwise a Decimal
Set the tray tooltip unconditionally.
More verbose logging for exchage_rate plugin.
Get rate_float from Coindesk as rate can have commas.
Plugin tracks windows itself, and doesn't create its own
members in the window objects.
Clean up the edit handling.
2015-09-06 13:42:40 +09:00
Neil Booth
9e0e54157e More improvements to exchange_rate plugin
Everything should now update correctly on incoming data from
the exchange server.
2015-09-05 22:47:01 +09:00
ThomasV
24cd18e193 cleanup unneeded array in history widget 2015-09-05 10:09:01 +02:00
ThomasV
1f215ae673 cleanup 2015-09-05 09:35:09 +02:00
ThomasV
015e274dab rework exchange_rate hooks 2015-09-05 09:11:48 +02:00
ThomasV
0ef7320d7d remove forgotten file from lite gui 2015-09-05 08:41:04 +02:00
Neil Booth
9da22000b6 More improvements to exchange_rate plugin
- better historical rate handling, including caching
- grabbing and scanning wallet transactions no longer needed
- fix autosize of fiat column
- more efficient
2015-09-05 14:05:37 +09:00
ThomasV
fb79f50366 Merge branch 'master' of git://github.com/spesmilo/electrum 2015-09-04 15:26:31 +02:00
Neil Booth
317582e9a7 Permit menu editing of address list
Fixes recent addition to #1435
2015-09-04 22:02:22 +09:00
Neil Booth
46067da42f Fix thinko
Fixes #1441
2015-09-04 21:52:36 +09:00
ThomasV
2f8574f7d7 kivy/buildozer: read version number from file 2015-09-04 14:40:00 +02:00
ThomasV
7cf276c10b kivy: workaround locale issue and fix set_qr_data 2015-09-04 13:01:50 +02:00
ThomasV
4fd43882c4 fix typo 2015-09-04 12:23:37 +02:00
ThomasV
8b9cff638f kivy: fix tx dialog 2015-09-04 12:19:24 +02:00
Neil Booth
835bc4e4aa More cleanup now self.window is gone
No need for self.main_window in gui object.
No need for hooks "init_qt" and "close_main_window".
2015-09-04 18:29:52 +09:00
Neil Booth
bbd50ba83c Remove all self.window references from plugins 2015-09-04 18:23:18 +09:00
ThomasV
31a4f38db4 kivy: cleanup update_status 2015-09-04 10:23:56 +02:00
ThomasV
76c93b2b61 kivy: rm console, update callbacks 2015-09-04 09:52:52 +02:00
ThomasV
2d713e8b46 kivy: remove update_completions 2015-09-04 09:48:43 +02:00
Neil Booth
8e7bcfeeb9 Update email plugin for multiple windows. 2015-09-04 13:29:33 +09:00
Neil Booth
392335487b Add plugins variable to console 2015-09-04 10:27:28 +09:00
Neil Booth
77a029082a Improved new_window handling.
Remove new_window hook.
Plugin informed of all windows via events when first loaded.
init_qt no longer needed for exchange_rate plugin.
2015-09-04 10:20:52 +09:00
Neil Booth
fcc452d7b0 Fix window closing
Only closing via the menu did it properly.  Closing a window via
the window manager didn't shut the window down at all, because
the code wasn't in the closeEvent handler.
2015-09-04 10:10:44 +09:00
Neil Booth
8ce2a95695 Have plugins object track the window set
No need for self.gui nor init_qt hook any more.  This makes
plugins more independent of window and gui types.
2015-09-04 09:26:35 +09:00
ThomasV
ac4adbb298 kivy: fix update_contacts 2015-09-03 16:53:11 +02:00
ThomasV
897a5d34ed share contacts and invoices objects between windows 2015-09-03 16:52:40 +02:00
ThomasV
da91a395b1 Merge branch 'master' of git://github.com/spesmilo/electrum 2015-09-03 15:12:41 +02:00
ThomasV
04b9d8fffa Update kivy GUI in order to merge with master 2015-09-03 15:09:45 +02:00
ThomasV
eca24ec396 fix light.atlas 2015-09-03 14:24:31 +02:00
akshayaurora
cd4f8a074c include NFC changes required for transferring data 2015-09-03 14:23:45 +02:00
akshayaurora
f2fc18fe32 changes to make kivy branch with master 2015-09-03 14:23:12 +02:00
akshayaurora
f442cc31e4 Abstract and enable qrscanner dialog for send screen. 2015-09-03 14:22:51 +02:00
akshayaurora
33c89b47d8 revert dynamic loading of screens and fix qrscanning 2015-09-03 14:22:25 +02:00
Andy Weidenbaum
802b32d51f package info 2015-09-03 14:21:40 +02:00
akshayaurora
c121c1aa4e reorganize files and bring code inline with current master
Conflicts:
	lib/simple_config.py
2015-09-03 14:20:37 +02:00
qua-non
9938316400 merge dashboard back into ui 2015-09-03 14:18:37 +02:00
qua-non
1179a4cf9e manage exchange plugins, make sure ui doesn't stall while saving seed
and numerous other small fixes.
2015-09-03 14:18:22 +02:00
qua-non
1bbb211671 rebase to master and add resources, numerous other small fixes 2015-09-03 14:17:58 +02:00
qua-non
a1681eeeba handle app start, background wallet interfacing. UX to be merged next. 2015-09-03 14:17:22 +02:00
qua-non
f33fbefce0 wizzard: ensure ensure on_wizard_complete is called 2015-09-03 14:16:56 +02:00
qua-non
23fe2062a1 some further updates to the installation wizzard 2015-09-03 14:16:25 +02:00
qua-non
f185906950 the rest of the installation wizard +numerous small fixes 2015-09-03 14:15:53 +02:00
qua-non
30126c544b new combined tablet&mobile design on top of 1.9.x branch WIP 2015-09-03 14:14:51 +02:00
Roman Zeyde
a1586b2bb3 main_window: fix typo at do_process_from_text() 2015-09-03 12:36:23 +03:00
ThomasV
2a889d318b fix: make uri optional in new_window 2015-09-03 11:27:33 +02:00
ThomasV
3cc7c1454b move back URI rewriting to main electrum script 2015-09-03 11:18:35 +02:00
Neil Booth
87cff8e380 Check URI in "electrum" because of ambiguity 2015-09-03 18:07:15 +09:00
Neil Booth
27917af2bf Get URIs working properly for multiple windows 2015-09-03 17:52:41 +09:00
Neil Booth
14cc260092 Remove redundant config argument.
Also don't default path for clarity.
2015-09-03 16:40:48 +09:00
ThomasV
5df03951e5 move window initialization hook inside class 2015-09-03 08:24:05 +02:00
Neil Booth
49797c3094 Create a Plugins class
Encapsulates plugin logic and removes global variable ugliness.
2015-09-03 12:02:03 +09:00
Neil Booth
f2fb856f1c Exchange rate plugin fixes for multiple windows
This should be enough to keep everything working that was working
before.  The plugin itself needs a lot more work to fix existing
bugs and be sane.
2015-09-02 20:40:55 +09:00
ThomasV
992c70a688 detect available hardware wallets before listing them in wizard 2015-09-02 13:08:06 +02:00
ThomasV
280b5c79d2 minor fix 2015-09-02 12:11:52 +02:00
ThomasV
bdb4d3ecb8 move methods calling installwizard to main gui class 2015-09-02 12:05:33 +02:00
ThomasV
4e458b5639 minor fix 2015-09-02 10:09:48 +02:00
ThomasV
0cb8c21130 use wallet path instead of config 2015-09-02 10:06:45 +02:00
Neil Booth
3ac99af7c6 Remove unused variable 2015-09-02 17:00:33 +09:00
ThomasV
93c468504e use the parent config instance when daemon starts a window 2015-09-02 09:55:45 +02:00
ThomasV
3e4d332a4c strip spaces from txid dialog output 2015-09-02 09:15:34 +02:00
Neil Booth
90316d0459 Clean up imports, 2nd attempt 2015-09-02 12:06:11 +09:00
Neil Booth
0fa48b926c Fix system tray icon for multiple wallets
QT doesn't permit dynamic menus for QSystemTrayIcon for some reason
so we need to rebuild it each time the window set changes.
Add a close and hide/show submenu for each wallet.
Double click hides / shows all the wallets.
2015-09-02 11:48:03 +09:00
ThomasV
c33b223cbe Merge branch 'master' of git://github.com/spesmilo/electrum 2015-09-01 12:16:16 +02:00
ThomasV
ce06d92100 open each wallet in a separate window 2015-09-01 12:16:07 +02:00
Neil Booth
2b7a555f0f Unminimize and raise an existing window
if its wallet is requested.
2015-09-01 19:14:25 +09:00
Neil Booth
0fa38074de Fix menu editing 2015-09-01 17:08:12 +09:00
ThomasV
bbe64621ca close wallet when window is closed 2015-09-01 09:35:32 +02:00
ThomasV
f84d873f62 rm unneeded import 2015-09-01 09:01:02 +02:00
ThomasV
d4bba181c2 fix: show tabs in load_wallet 2015-09-01 01:18:02 +02:00
Neil Booth
2d05e7d891 Merge the network and network_proxy 2015-08-31 12:00:38 +09:00
ThomasV
c7f5e3c2d5 deprecate lite gui (unmaintained) 2015-08-30 12:04:23 +02:00
ThomasV
92e0744470 Refactoring of daemon:
* gui and daemon are in the same process
 * commands that require network are sent to the daemon
 * open only one gui window per wallet
2015-08-30 11:31:51 +02:00
Neil Booth
f68c04e251 Only pass user edits to item_edited()
It was picking up changes made when the history tab updates when
a transaction changes confirmation state
2015-08-30 18:19:27 +09:00
Neil Booth
32c1b9cd59 Handle openalias properly in contacts tab
- Filter out of block explorer URLs
- Make them uneditable
2015-08-29 21:55:17 +09:00
Neil Booth
62fe37a863 Permit multiselect in contacts tab
You can select multiple contacts, and still do all the actions
you could do on a single contact.  In particular, paying to them
all and removing them all.

This covers the first two bullet points of #1372.

Finally, make the new contact dialog box have a sensible width
that can display a full address without scrolling
2015-08-29 21:36:42 +09:00
Neil Booth
607664e663 Fix contact editing.
This fixes some bugs in contact editing:

- a changed address is now checked for validity. Shows
  error if invalid and restores prior value
- the changes are saved, before they were dropped
- adding a new contact switches to the contacts tab,
  it used to switch to the address tab

As an enhancement, the contact name, as well as its address,
can be edited and updated.

Finally, the platform edit key can also be used to edit,
in adition to double-clicking.  This is typically the F2 key.
2015-08-29 21:22:08 +09:00
Neil Booth
851db130ea Cleaner column editing in MyTreeWidget
Also enables arbitrary columns to be edited, but nothing
uses that yet.
2015-08-29 20:58:08 +09:00
Neil Booth
f32cb71ed5 Clean up MyTreeWidget item editing 2015-08-28 22:55:25 +09:00
ThomasV
b7555240ef message reformatting 2015-08-27 08:24:49 +02:00
Neil Booth
68e57bbaa7 Don't let the "send from list" sort itself
Order matters for correspondence of display position to internal list.
Fixes #1420.
2015-08-27 11:01:49 +09:00
kizmc
77ebea15d0 Fixed GroupBox layout in installwizard 2015-08-26 18:35:21 +02:00
Roman Zeyde
fea97454b1 typo fix: rename pay_from_URI() -> pay_to_URI() 2015-08-25 17:29:52 +03:00
ThomasV
aedfbd3855 start wizard from main_window. fixes #1250 2015-08-22 13:43:10 +02:00
ThomasV
d895e5d132 load_wallet: don't hide and show gui unless we start the wizard 2015-08-22 09:27:33 +02:00
ThomasV
679f2fe2b1 add safety warning for watching only wallets 2015-08-21 07:58:50 +02:00
ThomasV
53b1ce2c50 restore 'save' menu. fixes #1407 2015-08-19 19:25:05 +02:00
ThomasV
b2e2218556 fix: remove deprecated parameter 2015-08-19 18:33:49 +02:00
ThomasV
df206719b7 should fix #1403 2015-08-19 13:33:00 +02:00
ThomasV
2ffd419e66 possibly fix #1403 2015-08-19 09:12:46 +02:00
ThomasV
dfb3d7b119 show number of inputs/outputs 2015-08-18 18:35:52 +02:00
ThomasV
bba9da91de rm debugging statement 2015-08-18 17:16:15 +02:00
ThomasV
b7b86481c1 android fixes 2015-08-18 16:34:10 +02:00
ThomasV
e9523f231b fix account renaming issues #1158 #1299 2015-08-17 12:49:04 +02:00
ThomasV
1b3f450267 fix #1401 2015-08-16 11:43:59 +02:00
ThomasV
bfae04e6f0 Improved in network callbacks:
* Pass arguments
 * Don't redraw history when a tx is verified.
 * Fix new tx notifications.
2015-08-16 11:36:23 +02:00
ThomasV
c5ee6bf57c emit signal for fiat_amount update 2015-08-15 13:39:11 +02:00
ThomasV
717a8a5ca7 perform fee computation as a timer action 2015-08-15 13:32:59 +02:00
ThomasV
9893057554 unicode conversion 2015-08-15 12:17:43 +02:00
ThomasV
8a3e5032b1 Merge pull request #1389 from romanz/master
remove unused code
2015-08-14 16:48:23 +02:00
ThomasV
1a9e768e31 fix dynamic fee slider behaviour in OSX 2015-08-13 15:19:34 +02:00
Roman Zeyde
a3a01be8ce remove unused code 2015-08-09 19:02:04 +03:00
ThomasV
4b9a149987 recently visited wallets: increase shortcut index 2015-08-09 13:17:04 +02:00
ThomasV
d0e2f0a5db tooltips 2015-08-07 19:44:50 +02:00
ThomasV
743d2721db fix: recently_open 2015-08-07 19:28:05 +02:00
ThomasV
464a89ddf5 improve recently_open menu 2015-08-07 19:24:43 +02:00
ThomasV
b40f3571e8 tx window: do not always set prompt_if_unsaved 2015-08-07 18:59:50 +02:00
ThomasV
c844d22a19 synchronous_get: return -> raise exception 2015-08-07 12:22:47 +02:00
ThomasV
77d7aa772d fix typo 2015-08-07 08:59:00 +02:00
ThomasV
714445aba8 fix: wallet.is_used 2015-08-06 19:19:25 +02:00
ThomasV
ef83328042 fix insert parameter order 2015-08-06 16:57:57 +02:00
ThomasV
385110653b gui tweaks 2015-08-06 16:56:20 +02:00
ThomasV
eef49a328a add recently open files to menu. fixes #1273 2015-08-06 16:27:49 +02:00
ThomasV
2515fc9b6a use blue color to denote auto-filled values (fee, exchange rates plugin) 2015-08-06 12:56:48 +02:00
ThomasV
e18ddd0096 do not show plugins that register a custom wallet type in the plugins toggle dialog 2015-08-06 11:12:15 +02:00
ThomasV
a9e74da11c check SSL certificate in config dialog 2015-08-05 20:49:45 +02:00
ThomasV
7b3e1dafd4 replace wallet.set_fee calls 2015-08-05 18:35:36 +02:00
ThomasV
252c73a06a fix issue #1387 2015-08-05 18:01:56 +02:00
ThomasV
43880d452e dynamic fees 2015-08-05 15:45:28 +02:00
ThomasV
959620db46 fix fee estimate bug; follow up to aa6de86 2015-08-05 15:20:29 +02:00
ThomasV
6ca9f148d4 fix config var names for ssl preferences 2015-08-04 18:48:38 +02:00
ThomasV
2ba07377da pr error: clear after showing error 2015-08-04 17:29:17 +02:00
ThomasV
0dc99a7a1f fix: reset payment_request in do_clear 2015-07-25 17:22:45 +02:00
ThomasV
508b5373ac minor fixes 2015-07-22 15:33:50 +02:00
ThomasV
acbd434f76 cleanup request signing 2015-07-22 09:06:03 +02:00
ThomasV
878e3f80ad fix expiration date display 2015-07-21 16:35:16 +02:00
ThomasV
e4ea07c168 better help msg 2015-07-21 13:23:16 +02:00
ThomasV
01d4118221 rm useless warning 2015-07-21 13:09:34 +02:00
ThomasV
a6c65b8997 change internal format of requests 2015-07-21 12:26:37 +02:00
ThomasV
2c1fb1e37c do not raise exception if uri has an unknown key 2015-07-21 11:54:45 +02:00
ThomasV
e77f0c98e7 extend bitcoin: URI with signature data, instead of serialized format 2015-07-21 11:40:55 +02:00
ThomasV
1e668209dc improve signed URI window 2015-07-19 10:54:45 +02:00
ThomasV
9c30ad3dd5 extend bitcoin URIs with signed payment requests passed directly 2015-07-18 18:42:56 +02:00
ThomasV
47d86d12be add ssl_cert path to preferences 2015-07-18 11:45:29 +02:00
ThomasV
e444ff3519 catch invalid password exception 2015-07-16 10:03:07 +02:00
ThomasV
17948fb781 fix 1360 2015-07-15 13:54:29 +02:00
ThomasV
471cab6089 do not base64encode signatures in requests 2015-07-14 16:37:04 +02:00
ThomasV
7588519e8e improve payreq signing message 2015-07-14 16:03:42 +02:00
ThomasV
5c4717b53c use signal disconnect instead of boolean 2015-07-13 22:59:02 +02:00
ThomasV
eb3442ab47 use date_str in invoices list 2015-07-13 21:31:12 +02:00
ThomasV
6fa7f57f10 express expiration dates in natural language 2015-07-13 20:47:11 +02:00
ThomasV
0fad7cd5e1 do not show openalias field in red if no alias is defined 2015-07-13 19:35:27 +02:00
Neil Booth
3fbd81f8ab Improved dialog centring
Password requests from the tx dialog box are now centred on the
tx dialog.  Similarly for error messages if misentering the password.
Also, "Signing transaction..." and "Broadcasting transaction..." are
centred on the appropriate tx dialog.
Finally restore the old "Sign" button enabling / disabling, as we
can now tell if the user cancelled the password request.
2015-07-13 21:32:50 +09:00
Neil Booth
b0ca9afc1e Improved password wrapper.
Doesn't require any particular argument order of the wrapped
function.
Caller can tell if the user cancelled the request or not.
Optionally handles parent window hints.
2015-07-13 21:31:39 +09:00
Neil Booth
9f665c9994 Use wrapper to drop an unwanted framework argument
QPushButton.clicked passes a "checked" argument to the action
callback.  We don't use or care for it, use a wrapper to drop it
and provide a uniform function signature for menu actions and button
actions.
2015-07-13 21:27:34 +09:00
ThomasV
60afddd595 gui tweaks 2015-07-12 15:06:57 +02:00
ThomasV
3722aeca45 rename method 2015-07-12 11:26:10 +02:00
ThomasV
546c0cc57b tweak settings dialog 2015-07-12 09:01:44 +02:00
ThomasV
b3cd334046 show requestor as tooltip 2015-07-12 08:47:58 +02:00
ThomasV
dff8f6b338 rework paymentrequest methods 2015-07-11 20:26:30 +02:00
ThomasV
35aba0c14b show alias satus in gui after fetch 2015-07-11 18:14:00 +02:00
ThomasV
2e6aa9067f email: better workflow 2015-07-11 13:57:15 +02:00
ThomasV
eadca9f998 add info about alias providers 2015-07-11 13:05:38 +02:00
ThomasV
5562239c5e use daemon thread to fetch alias 2015-07-11 12:43:06 +02:00
ThomasV
a95c4c6711 fetch alias on gui startup 2015-07-11 12:26:17 +02:00
ThomasV
37aef8332b add more help messages 2015-07-11 12:13:56 +02:00
ThomasV
411209d2af improve settings dialog 2015-07-11 11:57:10 +02:00
ThomasV
cb2bc54f96 store and display signatures of own requests 2015-07-09 14:15:30 +02:00
ThomasV
b9d270d438 add alias field to settings 2015-07-07 14:15:11 +02:00
ThomasV
f3c4a55e77 add dnssec verification to payment requests 2015-07-07 08:59:03 +02:00
ThomasV
d3104a17b7 Revert "Improved dialog centring"
This reverts commit d41dfa394b.
2015-07-05 20:37:57 +02:00
ThomasV
bad9030554 Revert "Improved password wrapper."
This reverts commit c33175c312.
2015-07-05 17:56:55 +02:00
ThomasV
383f8924d7 revert txdialog to QDialog 2015-07-05 16:55:18 +02:00
ThomasV
5c2235e54b make tx.deserialize preserve existing inputs 2015-07-04 17:33:18 +02:00
Neil Booth
d41dfa394b Improved dialog centring
Password requests from the tx dialog box are now centred on the
tx dialog.  Similarly for error messages if misentering the password.
Also, "Signing transaction..." and "Broadcasting transaction..." are
centred on the appropriate tx dialog.
Finally restore the old "Sign" button enabling / disabling, as we
can now tell if the user cancelled the password request.
2015-07-04 18:25:44 +09:00
Neil Booth
c33175c312 Improved password wrapper.
Doesn't require any particular argument order of the wrapped
function.
Caller can tell if the user cancelled the request or not.
Optionally handles parent window hints.
2015-07-04 18:15:26 +09:00
Neil Booth
15632adb40 Rename send_tx() to sign_tx()
Because it signs, and it doesn't send.
2015-07-04 16:45:08 +09:00
Neil Booth
b2bfd5af1f Show the broadcast button even if broadcast.
It may not actually be broadcast or relayed for various reasons.
2015-07-04 16:37:01 +09:00
Neil Booth
3446e1fd56 Prevent garbage collection of TxDialogs
The transaction dialogs have a habit of randomly disappearing,
because of garbage collection.  This was particularly common
if you viewed the details of a tx in your history immediately
after electrum startup, or after pressing Broadcast.

Other tweaks:

- Distinguish saved and broadcast.
- When signed, consider unsaved and prompt to save if not
  subsequently saved or broadcast.
- Hide broadcast button after broadcast.
- Hook into the closeEvent so closing the window with the mouse
  has the same effect as pressing the close button.
2015-07-04 12:31:31 +09:00
Neil Booth
aa6de86c27 Once a user inputs a fee, retain it.
It has long been a minor annoyance that this isn't the
default behaviour.  Semantics are as follows:

- Fees are calculated automatically, as usual, and shown
  in black
- If the user inputs a fee, it is retained, and shown in
  blue to indicate it is user-overridden
- The user can switch back to automatic fee calculation mode
  in two ways: press Clear, or blank out the fee field
- User fees are also cleared by do_clear(), for instance when
  the payment is sent

I have checked all usage combinations I could think of, including
the ! case, and all work in a sensible and natural fashion.

This also fixes issue #995.
2015-07-03 20:14:12 +09:00
ThomasV
616becd9a8 move openalias from plugins to core 2015-07-02 12:44:53 +02:00
Roman Zeyde
a0c891d73f transaction_dialog: allow plugins manipulate transaction sharing buttons 2015-06-29 17:00:31 +03:00
Neil Booth
a23247634c Remove some unused vars. 2015-06-29 10:44:27 +09:00
ThomasV
9dfe8ff847 tx window: keep a single close message, and raise window after signing 2015-06-28 10:37:08 +02:00
ThomasV
1919d5d63c fix wizard: remove vbox0, improve text 2015-06-28 08:52:16 +02:00
Michael Wozniak
4338944e3a remove unnecessary lines 2015-06-27 18:49:21 -04:00
Michael Wozniak
b7ea10609c add seed scroll for multisig wallets 2015-06-27 18:47:25 -04:00
Michael Wozniak
523aa7c380 update restore multisig to add type 2015-06-27 16:12:15 -04:00
ThomasV
6afb7b21d0 Merge pull request #1320 from kyuupichan/button_split
Split tx dialog buttons
2015-06-27 16:09:15 +02:00
ThomasV
3a9bf8430e fix send button 2015-06-27 15:53:59 +02:00
ThomasV
56b3c98332 generic m of n multisig 2015-06-27 12:43:29 +02:00
Neil Booth
c35485c1c2 Split tx dialog buttons
The "actions" (sign, broadcast, send to cosigner, verify GA instant)
go on the RHS next to the "Cancel" button.

Copy, QR code and save go on the left.
2015-06-27 11:48:27 +09:00
Neil Booth
547886d6f1 Input tx index looks better left-aligned after all 2015-06-27 11:01:42 +09:00
Neil Booth
6c25f637b9 Wrapper func to create and show a TxDialog
Add prompt_if_unsaved as explicit argument.
Tested with cosigner pool plugin.
2015-06-27 10:56:01 +09:00
Neil Booth
3d48a2d842 More tx dialog improvements
- Show Close if no action to perform, otherwise Cancel
- Add some strings for translation
- Make input hash/index constant width; previously a
  3-digit index bumped the address a whole tabstop over
  compared to the 1-digit indices
2015-06-26 20:15:51 +09:00
ThomasV
0a8e8ec906 Merge pull request #1316 from kyuupichan/tx_dialog3
Distinguish receiving and change addrs in TxDialog
2015-06-26 10:48:52 +02:00
Neil Booth
7e36555ed8 Save the description to the wallet on broadcasting
Resolves a long-standing bug with view-before-broadcast
2015-06-26 15:40:41 +09:00
Neil Booth
820f435a9a Distinguish receiving and change addrs in TxDialog
Show change in yellow, receiving in lightgreen (as now).
Numbers are more readable with whitespace.
2015-06-26 11:55:20 +09:00
Neil Booth
56488daf04 Have show-before-broadcast defer password request
Show-before-send currently asks for the password
and creates a signed tx before showing anything.

This is a little unnerving as you can't see what
you're being asked to sign.

This patch does a few things:

- Adds a description label to the TX dialog
- You see the tx before being asked for password;
  that is only requested on pressing Sign
- in show-before-broadcast mode, the Send button
  text is instead "Show...".  Hook up this button
  text change to the prefs dialog too.
- Remove many redundant imports.  In particular
  PyQ4 is checked in main_window.py so no need
  in tx_dialog too.

Note I had to remove disabling of the Sign button,
because if the user presses "cancel" nothing will
re-enable it.
2015-06-25 15:58:40 +09:00
ThomasV
7e0a80b697 Merge pull request #1275 from kyuupichan/tx_dialog_send_tx
Have transaction_dialog use send_tx()
2015-06-24 11:15:30 +02:00
Neil Booth
175081d9fc View contact address on block explorer menu item
Resolves issue #1304
2015-06-21 09:57:38 +09:00
ThomasV
444082f90f Merge pull request #1291 from kyuupichan/server_height_zero
Show Synchronizing... when server height is zero
2015-06-12 10:32:43 +02:00
Neil Booth
304f7f273b Show Synchronizing... when server height is zero 2015-06-12 17:23:32 +09:00
ThomasV
21f505a62c fix #1290 2015-06-12 05:06:23 +02:00
Maran
9ef1f300f3 Fix Wizard on first run 2015-06-11 15:08:15 +02:00
ThomasV
2b769b10da bip70 export fixes 2015-06-11 12:38:17 +02:00
ThomasV
179e98b303 restore: call constructor to load plugin 2015-06-11 09:56:38 +02:00
ThomasV
5ffd26402e separate load_wallet hook for installwizard 2015-06-11 09:36:19 +02:00
ThomasV
bcde416331 version_getter: catch all exceptions 2015-06-10 17:50:02 +02:00
ThomasV
060e3aa23e plugins: call load_wallet in install wizard 2015-06-10 12:40:08 +02:00
ThomasV
8bccf7b2db replace httplib with requests 2015-06-10 08:29:50 +02:00
ThomasV
f70a996619 fix trezor initialiation hook (pass window in load_wallet) 2015-06-09 09:58:40 +02:00
ThomasV
8995cdbf14 rename fields: 'time' -> 'timestamp', payment_requests 2015-06-08 13:36:35 +02:00
ThomasV
9bd94e5062 refactor payment requests 2015-06-08 12:51:45 +02:00
ThomasV
572a463806 reason->memo 2015-06-08 08:06:38 +02:00
Neil Booth
4b092628df Have transaction_dialog use send_tx()
This is working towards showing transactions before asking for passwords.
I think it also means the transaction dialog now interacts properly with
plugins, whereas it didn't before.

send_tx now takes a callback instead of a label, and does not decide
on whether to broadast itself; that is left to its caller.

broadcast_transaction() takes care of adding the description of the
successfully broadcast transaction to the wallet.  Previously labels
could be added to the wallet even if the broadcast was cancelled by
the user or unsuccessful, which doesn't seem right.

Lengthen the dialog messages a little, as some window managers lose the
"Please Wait" title bar owing to window decorations if the message
is too short.
2015-06-08 07:38:08 +09:00
ThomasV
22ddbc7fef fix jsonrpc 2015-06-07 22:06:44 +02:00
ThomasV
bf755f8ac0 jsonrpc interface 2015-06-07 19:11:54 +02:00
ThomasV
48e53498db improve requests 2015-06-07 18:44:33 +02:00
ThomasV
5a4a9f5369 make txdialog a nonmodal widget 2015-06-07 16:51:27 +02:00
Maran
de535be5fc Cast ByteArray to string. Fixes #1259 2015-06-03 16:09:07 +02:00
ThomasV
3e4cb396b3 don't disable broadcast button if we are online but not connected 2015-06-03 14:23:11 +02:00
ThomasV
088d8e8415 show request status 2015-06-02 11:36:06 +02:00
ThomasV
d41785c783 save payment requests in requests_dir 2015-06-02 09:18:39 +02:00
ThomasV
0938299e9b move payment requests logic to wallet, add basic commands 2015-06-01 13:02:09 +02:00
Neil Booth
03e53a5e01 Create a constant for 100000000 and use it
Use same name as is in bitcoind.
Note that one of the constants in text.py had the wrong number
of zeroes previously...
2015-06-01 14:53:36 +09:00
ThomasV
bb7437e534 encapsulate variable in openalias plugin 2015-05-31 14:33:26 +02:00
ThomasV
ee5f499fc1 use contacts in command line 2015-05-31 14:10:52 +02:00
ThomasV
5cd3bfedb6 always pass coins to wallet.make_unsigned_transactions. fix \! shortcut in commands 2015-05-31 11:31:41 +02:00
Neil Booth
320f9a3790 get_spendable_coins and frozen addrs
Two callers of get_spendable_coins were removing frozen addrs
before calling.  Put that functionality in the function.
We shouldn't be able to send_from a frozen address.  This was
possible in the current release because logic assumed a two-element
tuple was returned when it is now three-element.  Fix that too.

Command line options listunspent and createrawtransaction currently
ignore frozen addresses.  I'm not sure that's right but I've preserved
that behaviour.

With this patch only the wallet class refers to self.frozen_addresses;
other clients use is_frozen() now.
2015-05-31 14:07:50 +09:00
Neil Booth
0f29984f07 Speed up freezing and unfreezing of many addresses
Speedup mainly from writing to storage only once.
Make frozen_addresses a set in memory, as sets give cleaner
code and are more efficient.

Minor change in behaviour: command line freezing used to return
False if the address isn't in the wallet OR the address was already
frozen.  Now it returns more like a success code: it returns False
only if the address isn't in the wallet regardless of frozen state.
Similarly for unfreezing.
2015-05-31 11:54:21 +09:00
ThomasV
a1a4fe8e92 fix Commands constructor 2015-05-30 18:55:32 +02:00
ThomasV
a36ab7c814 Merge branch 'master' of git://github.com/spesmilo/electrum 2015-05-29 19:27:16 +02:00
ThomasV
2e67ca43e8 use csv instead of mkmanytx 2015-05-29 19:26:06 +02:00
Neil Booth
d30955a7fa Two more fixes
Put fee_per_kb to zero rather than None when edit is blank
Changing the set of frozen addresses should update the fee
2015-05-29 17:38:05 +09:00
Neil Booth
05cb9975cb Fix calls to update_fee
Fees should be recalculated when send_from changes.
Fees should be recalculated when editing fee preference, but
only save to storage when leaving the fee per kb widget.
No need to emit a textEdited signal; the widget does that already
(with the effect that we used to call update_fee() twice).
2015-05-28 15:52:31 +09:00
ThomasV
2f7503c635 Merge pull request #1253 from kyuupichan/fast_qr_draw
Speed up painting of qr codes.
2015-05-27 10:27:28 +02:00
ThomasV
d0d1b41d63 fix #1251 2015-05-27 10:25:17 +02:00
Neil Booth
e5d243e08c Fix nasty bug in amount editors
str() can convert amounts to scientific notation
2015-05-27 17:14:40 +09:00
Neil Booth
85952a2dea Speed up painting of qr codes.
Probably speeds it up by about a factor of two.
Unfortunately it needs to be another 5x faster
for sluggishness to disappear in the GUI when
typing a description in the receive tab.

Note the old code was off-by-one.
2015-05-27 11:44:28 +09:00
Neil Booth
39fe24b4d3 Rename auto_cycle to auto_connect in config
User config is updated if appropriate.
Add tests behaviour is as expected.
Just the one rename-it reference to auto_cycle remains.
2015-05-25 16:18:52 +09:00
ThomasV
d5f6651237 follow up e20dfcd3eb 2015-05-25 08:47:25 +02:00
Neil Booth
4f6d2f3d32 Put getting of auto_cycle into one place.
Default to False consistently; this may change the behaviour of
network.py's get_parameters().
2015-05-25 14:09:43 +09:00
ThomasV
778297697a lazy plugin constructor 2015-05-24 20:37:05 +02:00
Neil Booth
01d8f79a75 Clean up pick_random_server() and filter_protocol() and their
call sites.

Remove unused imports and redundant random pick of server
2015-05-24 21:07:35 +09:00
ThomasV
48ad7c36a8 show plugin dependencies 2015-05-24 10:06:53 +02:00
ThomasV
8f98ea4aca make plugins available without the GUI 2015-05-23 10:38:19 +02:00
ThomasV
cc17bb0090 close: use signal to close from gui thread 2015-05-20 09:15:52 +02:00
ThomasV
18032fc4f6 treewidget: keep default label when editing 2015-05-17 12:48:17 +02:00
ThomasV
9bb44e4db3 change mouse cursor over qr code 2015-05-17 09:55:41 +02:00
ThomasV
5160f46ca1 fix proxy value in text gui 2015-05-11 08:19:19 +02:00