diff --git a/SiaDrive/SiaDrive.htm b/SiaDrive/SiaDrive.htm index d7e75c6..a729177 100644 --- a/SiaDrive/SiaDrive.htm +++ b/SiaDrive/SiaDrive.htm @@ -12,9 +12,16 @@ margin: 0; } + label { + margin: 0; + padding: 0; + border: 0; + } + h3 { margin-bottom: 2px; padding: 0; + border: 0; } p { @@ -35,6 +42,24 @@ width: 98%; } + div.popup { + position: fixed; + color: whitesmoke; + background-color: rgb(0, 0, 0); /* Fallback color */ + background-color: rgba(0, 0, 0, 0.7); + margin: 0 auto; + padding-top: 0; + top: 0; + left: 25%; + width: 50%; + padding-right: 15px; + padding-bottom: 30px; + padding-left: 15px; + border: 1px solid #112311; + z-index: 100; + display: table; + } + table { padding: 0; margin: 0; @@ -67,95 +92,151 @@
-
-
-

Sia Information

-
- - - - - - - - - -
Client Version:
Server Version:
-
-
- - - - - - - - - - - - - -
Available:
Pending:
Total:
-
-
- -
- -
- - - - - - - - - - - -
- + +
+ +
+ + + + + + + + + + + + + +
+

Mounting

+

Choose an available drive letter and click 'Mount'

+ + + + +
+ + +
+
+ + + + + + + diff --git a/SiaDrive/SiaDrive.rc b/SiaDrive/SiaDrive.rc index 509a6cc..f9f4732 100644 Binary files a/SiaDrive/SiaDrive.rc and b/SiaDrive/SiaDrive.rc differ diff --git a/SiaDrive/SiaDriveDlg.cpp b/SiaDrive/SiaDriveDlg.cpp index c6ca88d..b2597ff 100644 --- a/SiaDrive/SiaDriveDlg.cpp +++ b/SiaDrive/SiaDriveDlg.cpp @@ -78,12 +78,13 @@ END_MESSAGE_MAP() // CSiaDriveDlg dialog BEGIN_DHTML_EVENT_MAP(CSiaDriveDlg) + DHTML_EVENT_ONCLICK(_T("ID_Renter_Edit"), OnButtonRenterEdit) DHTML_EVENT_ONCLICK(_T("ButtonOK"), OnButtonOK) DHTML_EVENT_ONCLICK(_T("ButtonCancel"), OnButtonCancel) DHTML_EVENT_ONCLICK(_T("CreateWalletButton"), OnButtonCreateWallet) DHTML_EVENT_ONCLICK(_T("ConfirmSeedButton"), OnButtonConfirmSeed) DHTML_EVENT_ONCLICK(_T("UnlockWalletButton"), OnButtonUnlockWallet) - DHTML_EVENT_ONCLICK(_T("MountButton"), OnButtonMount) + DHTML_EVENT_ONCLICK(_T("ID_MountButton"), OnButtonMount) END_DHTML_EVENT_MAP() @@ -242,13 +243,12 @@ BOOL CSiaDriveDlg::CallClientScript(LPCTSTR pStrFuncName, const String& data, CC BOOL CSiaDriveDlg::CallClientScript(LPCTSTR pStrFuncName, const json& json, CComVariant* pOutVarRes) { - String data = CA2W(json.dump().c_str()); + String data = CA2W(json.dump().c_str()).m_psz; return CallClientScript(pStrFuncName, data, pOutVarRes); } BOOL CSiaDriveDlg::CallClientScript(LPCTSTR pStrFuncName, CComVariant* pOutVarRes) { - BOOL bRes = FALSE; CComVariant vaResult; CComPtr pIDoc2; @@ -347,6 +347,17 @@ HRESULT CSiaDriveDlg::OnButtonMount(IHTMLElement* /*pElement*/) return S_OK; } +HRESULT CSiaDriveDlg::OnButtonRenterEdit(IHTMLElement* /*pElement*/) +{ + DisplayPopUp(L"ID_Edit_Renter_Popup"); + return S_FALSE; +} + +void CSiaDriveDlg::DisplayPopUp(const String& name) +{ + CallClientScript(L"displayPopUp", name, nullptr); +} + bool IsRefreshKeyMessage(const MSG *message) { return message @@ -599,6 +610,11 @@ void CSiaDriveDlg::DisplayCreateWallet() SetMainWindow(L"create_wallet"); } +void CSiaDriveDlg::DisplayRenterTab() +{ + SetTabWindow(L"ID_Tab_Renter"); +} + void CSiaDriveDlg::ConfigureWallet() { if (_siaApi.GetWallet()->GetCreated()) @@ -611,13 +627,13 @@ void CSiaDriveDlg::ConfigureWallet() else { CallClientScript(L"setAvailableDrives", json(GetAvailableDrives()), nullptr); - SetMainWindow(L"tab_view"); + SetMainWindow(L"ID_TabWindow"); switch (_siaConfig.GetUI_Main_TabIndex()) { - case WALLET_TAB: + case RENTER_TAB: { - //DisplayWalletTab(); + DisplayRenterTab(); } break; @@ -645,10 +661,10 @@ void CSiaDriveDlg::DisplayUnlockWallet() SetFocusToElement(L"ID_WalletUnlockPwd"); } -void CSiaDriveDlg::SetMainWindow(const String& name) +void CSiaDriveDlg::SetChildWindow(const String& parentName, const String& name) { CComPtr mainNode; - if (SUCCEEDED(GetDomNodeById(L"main_window", mainNode))) + if (SUCCEEDED(GetDomNodeById(parentName, mainNode))) { CComPtr child; if (SUCCEEDED(mainNode->get_firstChild(&child))) @@ -700,6 +716,16 @@ void CSiaDriveDlg::SetMainWindow(const String& name) } } +void CSiaDriveDlg::SetMainWindow(const String& name) +{ + SetChildWindow(L"main_window", name); +} + +void CSiaDriveDlg::SetTabWindow(const String& name) +{ + SetChildWindow(L"ID_ActiveTab", name); +} + HRESULT CSiaDriveDlg::OnButtonCreateWallet(IHTMLElement* pElement) { if (!_seedCreation) diff --git a/SiaDrive/SiaDriveDlg.h b/SiaDrive/SiaDriveDlg.h index df466f8..1467866 100644 --- a/SiaDrive/SiaDriveDlg.h +++ b/SiaDrive/SiaDriveDlg.h @@ -29,6 +29,7 @@ public: HRESULT OnButtonConfirmSeed(IHTMLElement* pElement); HRESULT OnButtonUnlockWallet(IHTMLElement* pElement); HRESULT OnButtonMount(IHTMLElement* pElement); + HRESULT OnButtonRenterEdit(IHTMLElement* pElement); // Implementation protected: @@ -47,7 +48,9 @@ protected: virtual BOOL PreTranslateMessage(MSG* pMsg) override; private: + void DisplayPopUp(const String& name); void DisplayCreateWallet(); + void DisplayRenterTab(); void DisplaySeedCreated(const String& seed); bool UpdateSiaInfo(); void DisplayUnlockWallet(); @@ -55,7 +58,9 @@ private: void RemoveCreateWalletItems(); void RemoveDomNodeById(const String& id); void SetMainWindow(const String& name); + void SetTabWindow(const String& name); bool UpdateUi(const bool& refresh = true); + void SetChildWindow(const String& parentName, const String& name); HRESULT GetDomNodeAndElementById(const String& id, CComPtr& node, CComPtr& elem); HRESULT GetDomNodeById(const String& id, CComPtr& node); BOOL CallClientScript(LPCTSTR pStrFuncName, const json& json, CComVariant* pOutVarRes); @@ -88,5 +93,5 @@ private: bool _seedCreation = false; static const UINT IDT_UPDATE = 1; static const UINT IDT_UI_ACTION_QUEUE = 2; - static const std::uint8_t WALLET_TAB = 0; + static const std::uint8_t RENTER_TAB = 0; }; diff --git a/SiaDrive/res/code.js b/SiaDrive/res/code.js index 81ad3a2..5905431 100644 --- a/SiaDrive/res/code.js +++ b/SiaDrive/res/code.js @@ -1,4 +1,4 @@ - +var popup; function setValue(elementName, data) { var elem = document.getElementById(elementName); @@ -76,3 +76,25 @@ function setAvailableDrives(driveList) { } } +function displayPopUp(id) { + var elem = document.getElementById(id); + if (elem) { + var elem2 = document.getElementById("ID_DisabledOverlay"); + elem2.style.display = "block"; + elem.style.display = "block"; + + popup = id; + } +} + +function closePopUp() { + var elem = document.getElementById(popup); + if (elem) { + elem.style.display = "none"; + + elem = document.getElementById("ID_DisabledOverlay"); + elem.style.display = "none"; + + popup = ""; + } +} \ No newline at end of file