More UI stuff
This commit is contained in:
@@ -138,6 +138,7 @@ SiaApiError CSiaApi::_CSiaWallet::GetConfirmedBalance(SiaCurrency& balance) cons
|
||||
if (API_SUCCESS(SiaCurlError, cerror))
|
||||
{
|
||||
balance = HastingsStringToSiaCurrency(String(CA2W(result["confirmedsiacoinbalance"].get<std::string>().c_str())));
|
||||
ret = SiaApiError::Success;
|
||||
}
|
||||
|
||||
return ret;
|
||||
@@ -153,6 +154,7 @@ SiaApiError CSiaApi::_CSiaWallet::GetUnonfirmedBalance(SiaCurrency& balance) con
|
||||
if (API_SUCCESS(SiaCurlError, cerror))
|
||||
{
|
||||
balance = HastingsStringToSiaCurrency(String(CA2W(result["unconfirmedincomingsiacoins"].get<std::string>().c_str())));
|
||||
ret = SiaApiError::Success;
|
||||
}
|
||||
|
||||
return ret;
|
||||
|
@@ -6,6 +6,7 @@
|
||||
#include "SiaDriveApp.h"
|
||||
#include "SiaDriveDlg.h"
|
||||
#include "afxdialogex.h"
|
||||
#include <stdbool.h>
|
||||
|
||||
#ifdef _DEBUG
|
||||
#define new DEBUG_NEW
|
||||
@@ -58,11 +59,6 @@ CSiaDriveDlg::CSiaDriveDlg(CWnd* pParent /*=NULL*/)
|
||||
_siaApi({L"localhost", 9980, L"1.1.0"})
|
||||
{
|
||||
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
|
||||
_serverVersion = L"x.x.x";
|
||||
_clientVersion = L"1.0.0";
|
||||
_walletBalanceConfirmed = L"0";
|
||||
_walletBalanceUnconfirmed = L"0";
|
||||
_walletBalanceTotal = L"0";
|
||||
}
|
||||
|
||||
void CSiaDriveDlg::DoDataExchange(CDataExchange* pDX)
|
||||
@@ -176,10 +172,43 @@ HRESULT CSiaDriveDlg::OnButtonCancel(IHTMLElement* /*pElement*/)
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
BOOL CSiaDriveDlg::PreTranslateMessage(MSG* pMsg)
|
||||
{
|
||||
//TODO: Implement copy/paste context menu
|
||||
if ((pMsg->message == WM_RBUTTONDOWN) || (pMsg->message == WM_RBUTTONDBLCLK))
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
return CDHtmlDialog::PreTranslateMessage(pMsg);
|
||||
}
|
||||
|
||||
bool IsRefreshKeyMessage(const MSG *message)
|
||||
{
|
||||
return message
|
||||
&& (message->message == WM_KEYUP)
|
||||
&& (message->wParam == VK_F5);
|
||||
}
|
||||
|
||||
HRESULT CSiaDriveDlg::TranslateAccelerator(MSG *message, const GUID *, DWORD)
|
||||
{
|
||||
return IsRefreshKeyMessage(message) ? E_FAIL : S_OK;
|
||||
}
|
||||
|
||||
void CSiaDriveDlg::OnDocumentComplete(LPDISPATCH, LPCTSTR)
|
||||
{
|
||||
UpdateUi();
|
||||
KillTimer(IDT_UPDATE);
|
||||
|
||||
_serverVersion = L"x.x.x";
|
||||
_clientVersion = L"1.0.0";
|
||||
_walletBalanceConfirmed = L"";
|
||||
_walletBalanceUnconfirmed = L"";
|
||||
_walletBalanceTotal = L"";
|
||||
|
||||
UpdateData(FALSE);
|
||||
|
||||
if ((_connected = UpdateUi(false)))
|
||||
{
|
||||
switch (_siaConfig.GetUI_Main_TabIndex())
|
||||
{
|
||||
case WALLET_TAB:
|
||||
@@ -188,8 +217,9 @@ void CSiaDriveDlg::OnDocumentComplete(LPDISPATCH, LPCTSTR)
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
SetTimer(IDT_UPDATE, 1000, nullptr);
|
||||
SetTimer(IDT_UPDATE, 2000, nullptr);
|
||||
}
|
||||
|
||||
void CSiaDriveDlg::OnTimer(UINT_PTR nIDEvent)
|
||||
@@ -204,27 +234,57 @@ void CSiaDriveDlg::OnTimer(UINT_PTR nIDEvent)
|
||||
}
|
||||
}
|
||||
|
||||
void CSiaDriveDlg::SetWalletInfo()
|
||||
bool CSiaDriveDlg::DisplaySiaInfo()
|
||||
{
|
||||
_serverVersion = _siaApi.GetServerVersion().c_str();
|
||||
if (_serverVersion)
|
||||
{
|
||||
SiaCurrency confirmed;
|
||||
_siaApi.GetWallet()->GetConfirmedBalance(confirmed);
|
||||
|
||||
if (API_SUCCESS(SiaApiError, _siaApi.GetWallet()->GetConfirmedBalance(confirmed)))
|
||||
{
|
||||
SiaCurrency unconfirmed;
|
||||
_siaApi.GetWallet()->GetUnonfirmedBalance(unconfirmed);
|
||||
|
||||
if (API_SUCCESS(SiaApiError, _siaApi.GetWallet()->GetUnonfirmedBalance(unconfirmed)))
|
||||
{
|
||||
SiaCurrency total = confirmed + unconfirmed;
|
||||
|
||||
_walletBalanceConfirmed = SiaCurrencyToString(confirmed).c_str();
|
||||
_walletBalanceUnconfirmed = SiaCurrencyToString(unconfirmed).c_str();
|
||||
_walletBalanceTotal = SiaCurrencyToString(total).c_str();
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
_serverVersion = L"x.x.x";
|
||||
_walletBalanceConfirmed = _walletBalanceUnconfirmed = _walletBalanceTotal = L"";
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
void CSiaDriveDlg::UpdateUi()
|
||||
bool CSiaDriveDlg::UpdateUi(const bool& refresh)
|
||||
{
|
||||
_serverVersion = _siaApi.GetServerVersion().c_str();
|
||||
SetWalletInfo();
|
||||
|
||||
bool ret = DisplaySiaInfo();
|
||||
if (ret)
|
||||
{
|
||||
if (_connected)
|
||||
{
|
||||
UpdateData(FALSE);
|
||||
}
|
||||
else
|
||||
{
|
||||
KillTimer(IDT_UPDATE);
|
||||
this->Navigate(this->m_strCurrentUrl);
|
||||
}
|
||||
}
|
||||
else if (refresh)
|
||||
{
|
||||
_connected = false;
|
||||
KillTimer(IDT_UPDATE);
|
||||
this->Navigate(this->m_strCurrentUrl);
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
HRESULT CSiaDriveDlg::GetDomElementById(const CString& id, CComPtr<IHTMLDOMNode>& node)
|
||||
@@ -278,6 +338,7 @@ void CSiaDriveDlg::DisplayWalletTab()
|
||||
{
|
||||
if (_siaApi.GetWallet()->GetCreated())
|
||||
{
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@@ -32,7 +32,6 @@ protected:
|
||||
// Generated message map functions
|
||||
virtual BOOL OnInitDialog();
|
||||
virtual void OnDocumentComplete(LPDISPATCH pDisp, LPCTSTR szUrl);
|
||||
|
||||
afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
|
||||
afx_msg void OnPaint();
|
||||
afx_msg HCURSOR OnQueryDragIcon();
|
||||
@@ -40,11 +39,14 @@ protected:
|
||||
DECLARE_MESSAGE_MAP()
|
||||
DECLARE_DHTML_EVENT_MAP()
|
||||
|
||||
virtual HRESULT TranslateAccelerator(MSG *message, const GUID *, DWORD) override;
|
||||
virtual BOOL PreTranslateMessage(MSG* pMsg) override;
|
||||
|
||||
private:
|
||||
void DisplayCreateWallet();
|
||||
void DisplayWalletTab();
|
||||
void SetWalletInfo();
|
||||
void UpdateUi();
|
||||
bool DisplaySiaInfo();
|
||||
bool UpdateUi(const bool& refresh = true);
|
||||
HRESULT GetDomElementById(const CString& id, CComPtr<IHTMLDOMNode>& node);
|
||||
HRESULT GetDomElementAndNodeById(const CString& id, CComPtr<IHTMLDOMNode>& node, CComPtr<IHTMLElement>& elem);
|
||||
|
||||
@@ -56,6 +58,7 @@ private:
|
||||
CString _walletBalanceTotal;
|
||||
CString _walletBalanceConfirmed;
|
||||
CString _walletBalanceUnconfirmed;
|
||||
bool _connected = false;
|
||||
static const UINT IDT_UPDATE = 1;
|
||||
static const std::uint8_t WALLET_TAB = 0;
|
||||
};
|
||||
|
Reference in New Issue
Block a user