1
0

UI changes

This commit is contained in:
Scott E. Graves
2017-03-20 00:28:59 -05:00
parent a324e546a2
commit 6940b35939
5 changed files with 59 additions and 9 deletions

View File

@@ -6,7 +6,7 @@
<link rel="stylesheet" type="text/css" href="css/general.css"> <link rel="stylesheet" type="text/css" href="css/general.css">
<link rel="stylesheet" type="text/css" href="css/sidenav.css"> <link rel="stylesheet" type="text/css" href="css/sidenav.css">
<link rel="stylesheet" type="text/css" href="css/tab_page.css"> <link rel="stylesheet" type="text/css" href="css/tab_page.css">
<script src="js/external_actions.js"></script> <script src="js/actions.js"></script>
<script src="js/index.js"></script> <script src="js/index.js"></script>
</head> </head>
<body> <body>

View File

@@ -23,11 +23,18 @@
const UiActions = (() => { const UiActions = (() => {
function _unlockWallet(pwd, cb) { function _unlockWallet(pwd, cb) {
console.log('Unlock wallet');
return window.uiActions.unlockWallet(pwd, cb); return window.uiActions.unlockWallet(pwd, cb);
} }
function _createWallet(cb) {
console.log('Create wallet');
return window.uiActions.createWallet(cb);
}
return { return {
unlockWallet: _unlockWallet unlockWallet: _unlockWallet,
createWallet: _createWallet
}; };
})(); })();
@@ -67,8 +74,7 @@
if (success) { if (success) {
setMainWindow('app_window'); setMainWindow('app_window');
} else { } else {
location.reload(); displayErrorPopup('Error', reason, ()=> {
displayErrorPopup('Failed to unlock wallet', reason, ()=> {
location.reload(); location.reload();
}); });
} }
@@ -81,6 +87,18 @@
} }
} else { } else {
setMainWindow('create_window'); setMainWindow('create_window');
const createButton = document.getElementById('ID_CreateWalletButton');
createButton.onclick = () => {
UiActions.createWallet((success, reasonOrSeed) => {
if (success) {
setMainWindow('display_seed_window');
} else {
displayErrorPopup('Error', reasonOrSeed, ()=> {
location.reload();
});
}
});
};
} }
} else { } else {
setMainWindow('offline_window'); setMainWindow('offline_window');

View File

@@ -30,7 +30,7 @@ int APIENTRY wWinMain(HINSTANCE hInstance,
CefSettings settings; CefSettings settings;
settings.no_sandbox = true; settings.no_sandbox = true;
settings.remote_debugging_port = 8080; settings.remote_debugging_port = 8080;
settings.single_process = false; settings.single_process = true;
CefInitialize(mainArgs, settings, app, nullptr); CefInitialize(mainArgs, settings, app, nullptr);
CefRunMessageLoop(); CefRunMessageLoop();

View File

@@ -2,12 +2,13 @@
#include <include/views/cef_browser_view.h> #include <include/views/cef_browser_view.h>
#include <include/views/cef_window.h> #include <include/views/cef_window.h>
#include <include/wrapper/cef_helpers.h> #include <include/wrapper/cef_helpers.h>
#include <include/wrapper/cef_closure_task.h>
#include <autothread.h> #include <autothread.h>
#include <siaapi.h> #include <siaapi.h>
#include <siacurl.h> #include <siacurl.h>
#include <siadriveconfig.h> #include <siadriveconfig.h>
#include "siadrivehandler.h" #include "siadrivehandler.h"
#include <include/wrapper/cef_closure_task.h>
using namespace Sia; using namespace Sia;
using namespace Sia::Api; using namespace Sia::Api;
@@ -24,12 +25,33 @@ private:
const CSiaApi& _siaApi; const CSiaApi& _siaApi;
private: private:
void UnlockCallback(CefRefPtr<CefV8Context> context, CefRefPtr<CefV8Value> cb, const SString& password) void UnlockCallback(CefRefPtr<CefV8Context> context, CefRefPtr<CefV8Value> cb, const SString& password) const
{ {
SiaApiError error = _siaApi.GetWallet()->Unlock(password); SiaApiError error = _siaApi.GetWallet()->Unlock(password);
CefV8ValueList args; CefV8ValueList args;
args.push_back(CefV8Value::CreateBool(false)); args.push_back(CefV8Value::CreateBool(ApiSuccess(error)));
args.push_back(CefV8Value::CreateString("Invalid password entered")); if (!args[0]->GetBoolValue())
{
args.push_back(CefV8Value::CreateString("Failed to unlock wallet"));
}
cb->ExecuteFunctionWithContext(context, nullptr, args);
}
//wetsuit inline reorder agreed jabbed gnaw fever adjust object incur cousin jogger sack fading syllabus tufts stellar rays woes october nagged nasty warped sifting fountain gorilla mohawk yoyo afield
void CreateWalletCallback(CefRefPtr<CefV8Context> context, CefRefPtr<CefV8Value> cb) const
{
SString seed;
SiaApiError error = _siaApi.GetWallet()->Create(SiaSeedLanguage::English, seed);
CefV8ValueList args;
args.push_back(CefV8Value::CreateBool(ApiSuccess(error)));
if (args[0]->GetBoolValue())
{
args.push_back(CefV8Value::CreateString(seed.str()));
}
else
{
args.push_back(CefV8Value::CreateString("Failed to create new wallet"));
}
cb->ExecuteFunctionWithContext(context, nullptr, args); cb->ExecuteFunctionWithContext(context, nullptr, args);
} }
@@ -50,6 +72,15 @@ public:
CefPostTask(TID_RENDERER, base::Bind(&FunctionHandler::UnlockCallback, this, context, cb, password)); CefPostTask(TID_RENDERER, base::Bind(&FunctionHandler::UnlockCallback, this, context, cb, password));
return true; return true;
} }
else if (name == "createWallet")
{
retval = CefV8Value::CreateBool(true);
CefRefPtr<CefV8Value> cb = arguments[0];
CefRefPtr<CefV8Context> context = CefV8Context::GetCurrentContext();
CefPostTask(TID_RENDERER, base::Bind(&FunctionHandler::CreateWalletCallback, this, context, cb));
return true;
}
// Function does not exist. // Function does not exist.
return false; return false;
@@ -127,6 +158,7 @@ void CSiaDriveApp::OnContextCreated(
CefRefPtr<FunctionHandler> handler(new FunctionHandler(*_siaApi)); CefRefPtr<FunctionHandler> handler(new FunctionHandler(*_siaApi));
obj = CefV8Value::CreateObject(nullptr, nullptr); obj = CefV8Value::CreateObject(nullptr, nullptr);
obj->SetValue("unlockWallet", CefV8Value::CreateFunction("unlockWallet", handler), V8_PROPERTY_ATTRIBUTE_NONE); obj->SetValue("unlockWallet", CefV8Value::CreateFunction("unlockWallet", handler), V8_PROPERTY_ATTRIBUTE_NONE);
obj->SetValue("createWallet", CefV8Value::CreateFunction("createWallet", handler), V8_PROPERTY_ATTRIBUTE_NONE);
global->SetValue("uiActions", obj, V8_PROPERTY_ATTRIBUTE_NONE); global->SetValue("uiActions", obj, V8_PROPERTY_ATTRIBUTE_NONE);
_refreshThread.reset(new CAutoThread(*_siaCurl, _siaDriveConfig.get(), [this, context](const CSiaCurl& siaCurl, CSiaDriveConfig* siaDriveConfig) _refreshThread.reset(new CAutoThread(*_siaCurl, _siaDriveConfig.get(), [this, context](const CSiaCurl& siaCurl, CSiaDriveConfig* siaDriveConfig)