Donate them to someone making a patch for importing private keys into the wallet.
|
|
|
You don't need to use bitcoin://address. bitcoin:address works fine in firefox and you can use the URI scheme from https://en.bitcoin.it/wiki/URI_Scheme (used by js-remote) There should be a format just to add someone's address info, and one for actually triggering the send coin dialog (like suggested above, it prefills the fields with suggested values, but doesn't actually try to send any amount unless the client is set to do so (might be usefull for some people i guess) )
js-remote always pre-fills fields and offers to send when both amount and address is set. Feel free to try out the demo to see how it works.
|
|
|
I've made a small patch to remove the from/message fields from SendDialog as it seems to confuse users. This doesn't update uiproject.fbp as wxformbuilder decided to change the entire structure of the file so it can't be patched easily (file is about 900kb). I don't have a wx build environment so I don't even know if this patch compiles. Can someone verify (and fix) this patch? diff --git a/ui.cpp b/ui.cpp index 17ad630..fe70536 100644 --- a/ui.cpp +++ b/ui.cpp @@ -1862,44 +1862,12 @@ CSendDialog::CSendDialog(wxWindow* parent, const wxString& strAddress) : CSendDi iconSend.CopyFromBitmap(wxBitmap(send16noshadow_xpm)); SetIcon(iconSend); - wxCommandEvent event; - OnTextAddress(event); - // Fixup the tab order m_buttonPaste->MoveAfterInTabOrder(m_buttonCancel); m_buttonAddress->MoveAfterInTabOrder(m_buttonPaste); this->Layout(); } -void CSendDialog::OnTextAddress(wxCommandEvent& event) -{ - // Check mark - event.Skip(); - bool fBitcoinAddress = IsValidBitcoinAddress(m_textCtrlAddress->GetValue()); - m_bitmapCheckMark->Show(fBitcoinAddress); - - // Grey out message if bitcoin address - bool fEnable = !fBitcoinAddress; - m_staticTextFrom->Enable(fEnable); - m_textCtrlFrom->Enable(fEnable); - m_staticTextMessage->Enable(fEnable); - m_textCtrlMessage->Enable(fEnable); - m_textCtrlMessage->SetBackgroundColour(wxSystemSettings::GetColour(fEnable ? wxSYS_COLOUR_WINDOW : wxSYS_COLOUR_BTNFACE)); - if (!fEnable && fEnabledPrev) - { - strFromSave = m_textCtrlFrom->GetValue(); - strMessageSave = m_textCtrlMessage->GetValue(); - m_textCtrlFrom->SetValue(_("n/a")); - m_textCtrlMessage->SetValue(_("Can't include a message when sending to a Bitcoin address")); - } - else if (fEnable && !fEnabledPrev) - { - m_textCtrlFrom->SetValue(strFromSave); - m_textCtrlMessage->SetValue(strMessageSave); - } - fEnabledPrev = fEnable; -} - void CSendDialog::OnKillFocusAmount(wxFocusEvent& event) { // Reformat the amount @@ -1993,8 +1961,6 @@ void CSendDialog::OnButtonSend(wxCommandEvent& event) // Message wtx.mapValue["to"] = strAddress; - wtx.mapValue["from"] = m_textCtrlFrom->GetValue(); - wtx.mapValue["message"] = m_textCtrlMessage->GetValue(); // Send to IP address CSendingDialog* pdialog = new CSendingDialog(this, addr, nValue, wtx); diff --git a/uibase.cpp b/uibase.cpp index a421e77..5c7ada4 100644 --- a/uibase.cpp +++ b/uibase.cpp @@ -606,7 +606,7 @@ CSendDialogBase::CSendDialogBase( wxWindow* parent, wxWindowID id, const wxStrin fgSizer1->Add( 0, 0, 0, wxEXPAND, 5 ); - m_staticTextInstructions = new wxStaticText( this, wxID_ANY, _("Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJED9L) or IP address (e.g. 123.45.6.7)"), wxDefaultPosition, wxDefaultSize, 0 ); + m_staticTextInstructions = new wxStaticText( this, wxID_ANY, _("Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)"), wxDefaultPosition, wxDefaultSize, 0 ); m_staticTextInstructions->Wrap( -1 ); fgSizer1->Add( m_staticTextInstructions, 0, wxTOP|wxRIGHT|wxLEFT, 5 ); @@ -677,40 +677,6 @@ CSendDialogBase::CSendDialogBase( wxWindow* parent, wxWindowID id, const wxStrin bSizer21->Add( fgSizer1, 0, wxEXPAND|wxLEFT, 5 ); - wxBoxSizer* bSizer672; - bSizer672 = new wxBoxSizer( wxHORIZONTAL ); - - wxBoxSizer* bSizer681; - bSizer681 = new wxBoxSizer( wxVERTICAL ); - - m_staticTextFrom = new wxStaticText( this, wxID_ANY, _("&From:"), wxDefaultPosition, wxDefaultSize, 0 ); - m_staticTextFrom->Wrap( -1 ); - bSizer681->Add( m_staticTextFrom, 0, wxBOTTOM|wxLEFT, 5 ); - - m_textCtrlFrom = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( -1,-1 ), 0 ); - bSizer681->Add( m_textCtrlFrom, 0, wxLEFT|wxEXPAND, 5 ); - - bSizer672->Add( bSizer681, 1, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 ); - - bSizer21->Add( bSizer672, 0, wxEXPAND, 5 ); - - wxBoxSizer* bSizer67; - bSizer67 = new wxBoxSizer( wxHORIZONTAL ); - - wxBoxSizer* bSizer68; - bSizer68 = new wxBoxSizer( wxVERTICAL ); - - m_staticTextMessage = new wxStaticText( this, wxID_ANY, _("&Message:"), wxDefaultPosition, wxDefaultSize, 0 ); - m_staticTextMessage->Wrap( -1 ); - bSizer68->Add( m_staticTextMessage, 0, wxTOP|wxBOTTOM|wxLEFT, 5 ); - - m_textCtrlMessage = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_MULTILINE ); - bSizer68->Add( m_textCtrlMessage, 1, wxEXPAND|wxLEFT, 5 ); - - bSizer67->Add( bSizer68, 1, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 ); - - bSizer21->Add( bSizer67, 1, wxEXPAND, 5 ); - wxBoxSizer* bSizer23; bSizer23 = new wxBoxSizer( wxHORIZONTAL ); @@ -732,13 +698,10 @@ CSendDialogBase::CSendDialogBase( wxWindow* parent, wxWindowID id, const wxStrin // Connect Events m_textCtrlAddress->Connect( wxEVT_KEY_DOWN, wxKeyEventHandler( CSendDialogBase::OnKeyDown ), NULL, this ); - m_textCtrlAddress->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( CSendDialogBase::OnTextAddress ), NULL, this ); m_buttonPaste->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( CSendDialogBase::OnButtonPaste ), NULL, this ); m_buttonAddress->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( CSendDialogBase::OnButtonAddressBook ), NULL, this ); m_textCtrlAmount->Connect( wxEVT_KEY_DOWN, wxKeyEventHandler( CSendDialogBase::OnKeyDown ), NULL, this ); m_textCtrlAmount->Connect( wxEVT_KILL_FOCUS, wxFocusEventHandler( CSendDialogBase::OnKillFocusAmount ), NULL, this ); - m_textCtrlFrom->Connect( wxEVT_KEY_DOWN, wxKeyEventHandler( CSendDialogBase::OnKeyDown ), NULL, this ); - m_textCtrlMessage->Connect( wxEVT_KEY_DOWN, wxKeyEventHandler( CSendDialogBase::OnKeyDown ), NULL, this ); m_buttonSend->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( CSendDialogBase::OnButtonSend ), NULL, this ); m_buttonCancel->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( CSendDialogBase::OnButtonCancel ), NULL, this ); } @@ -747,13 +710,10 @@ CSendDialogBase::~CSendDialogBase() { // Disconnect Events m_textCtrlAddress->Disconnect( wxEVT_KEY_DOWN, wxKeyEventHandler( CSendDialogBase::OnKeyDown ), NULL, this ); - m_textCtrlAddress->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( CSendDialogBase::OnTextAddress ), NULL, this ); m_buttonPaste->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( CSendDialogBase::OnButtonPaste ), NULL, this ); m_buttonAddress->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( CSendDialogBase::OnButtonAddressBook ), NULL, this ); m_textCtrlAmount->Disconnect( wxEVT_KEY_DOWN, wxKeyEventHandler( CSendDialogBase::OnKeyDown ), NULL, this ); m_textCtrlAmount->Disconnect( wxEVT_KILL_FOCUS, wxFocusEventHandler( CSendDialogBase::OnKillFocusAmount ), NULL, this ); - m_textCtrlFrom->Disconnect( wxEVT_KEY_DOWN, wxKeyEventHandler( CSendDialogBase::OnKeyDown ), NULL, this ); - m_textCtrlMessage->Disconnect( wxEVT_KEY_DOWN, wxKeyEventHandler( CSendDialogBase::OnKeyDown ), NULL, this ); m_buttonSend->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( CSendDialogBase::OnButtonSend ), NULL, this ); m_buttonCancel->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( CSendDialogBase::OnButtonCancel ), NULL, this ); }
|
|
|
Actually I'd rather like a wallet service (js-remote will work with something that uses a bitcoin RPC interface) so we can't loose data on phones.
|
|
|
Best OC settings vary greatly. For 5970 it is usually around 800 MHz.
|
|
|
Fixed Sirius' picture:
|
|
|
This miner checks *all* solutions and doesn't throw away nonces like poclbm and DiabloMiner do to save bandwidth.
Could you explain this to a layman? What is significant about this? Thank you. poclbm and DiabloMiner only check some of the returned results form GPU hoping that the GPU will not find too many possible solutions. They improved that in recent versions, though. So my miner is a little bit (about 0.015%) faster. It also features a special pool mode because of this, which is much more efficient when using a pool.
|
|
|
update: miner now measures effective hashrate by inspecting actual results returned by GPU (instead of counting kernel runs). Returned hashrate is reliable after approx. 30 min runtime
|
|
|
I'd like to see a separate forum for mining. Lately mining posts are filling the Development and Technical Discussion forum.
That's a good idea.
|
|
|
I really enjoyed seeing some of my customers on the top.
Maybe us GPU miners should make a hall of fame, too? My miners found a total of 1184 blocks and I guess ArtForz's found even more; not to mention all those CPU miners running a year ago.
|
|
|
I added version tags (0.3.20 and 0.3.21 for now) to some issues and will try to keep them up to date so we'll always know what's blocking a release.
|
|
|
Added poolmode (-m). Submits all H==0 results instead of only the best one.
|
|
|
Does not work with pools. Added poolmode (-m). Works best on 5870/5970 and SDK 2.1. Early development state. Patches welcome 552 Mhash/s on 5970 @ 725 MHz https://github.com/tcatm/oclminerThis miner checks *all* solutions and doesn't throw away nonces like poclbm and DiabloMiner do to save bandwidth.
|
|
|
There was a problem with updating trade history data from bitcoin-central.net. I fixed it with help from davout.
|
|
|
I'm working on a RPC GUI using either pygtk or wx (haven't decided yet). It will be similar to js-remote.
|
|
|
Offtopic: For easy to remember and secure passwords https://www.pwdhash.com/ works pretty good. There are browser extensions for most browsers.
|
|
|
Do you know a good source I could poll for Gold / USD price and a source for Gold price history?
|
|
|
|