better naming for menu tabs (Fs -> Files, Apps, App -> Store)
fixes #30
This commit is contained in:
@@ -14,6 +14,8 @@ enum class UpdateState {
|
|||||||
None,
|
None,
|
||||||
// update available!
|
// update available!
|
||||||
Update,
|
Update,
|
||||||
|
// there was an error whilst checking for updates.
|
||||||
|
Error,
|
||||||
};
|
};
|
||||||
|
|
||||||
// this holds 2 menus and allows for switching between them
|
// this holds 2 menus and allows for switching between them
|
||||||
|
|||||||
@@ -147,7 +147,13 @@ auto InstallUpdate(ProgressBox* pbox, const std::string url, const std::string v
|
|||||||
|
|
||||||
MainMenu::MainMenu() {
|
MainMenu::MainMenu() {
|
||||||
DownloadMemoryAsync("https://api.github.com/repos/ITotalJustice/sphaira/releases/latest", "", [this](std::vector<u8>& data, bool success){
|
DownloadMemoryAsync("https://api.github.com/repos/ITotalJustice/sphaira/releases/latest", "", [this](std::vector<u8>& data, bool success){
|
||||||
m_update_state = UpdateState::None;
|
m_update_state = UpdateState::Error;
|
||||||
|
ON_SCOPE_EXIT( log_write("update status: %u\n", (u8)m_update_state) );
|
||||||
|
|
||||||
|
if (!success) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
auto json = yyjson_read((const char*)data.data(), data.size(), 0);
|
auto json = yyjson_read((const char*)data.data(), data.size(), 0);
|
||||||
R_UNLESS(json, false);
|
R_UNLESS(json, false);
|
||||||
ON_SCOPE_EXIT(yyjson_doc_free(json));
|
ON_SCOPE_EXIT(yyjson_doc_free(json));
|
||||||
@@ -160,7 +166,10 @@ MainMenu::MainMenu() {
|
|||||||
|
|
||||||
const auto version = yyjson_get_str(tag_key);
|
const auto version = yyjson_get_str(tag_key);
|
||||||
R_UNLESS(version, false);
|
R_UNLESS(version, false);
|
||||||
R_UNLESS(std::strcmp(APP_VERSION, version) < 0, false);
|
if (std::strcmp(APP_VERSION, version) >= 0) {
|
||||||
|
m_update_state = UpdateState::None;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
auto assets = yyjson_obj_get(root, "assets");
|
auto assets = yyjson_obj_get(root, "assets");
|
||||||
R_UNLESS(assets, false);
|
R_UNLESS(assets, false);
|
||||||
@@ -320,8 +329,15 @@ void MainMenu::OnLRPress(std::shared_ptr<MenuBase> menu, Button b) {
|
|||||||
if (m_current_menu == m_homebrew_menu) {
|
if (m_current_menu == m_homebrew_menu) {
|
||||||
m_current_menu = menu;
|
m_current_menu = menu;
|
||||||
RemoveAction(b);
|
RemoveAction(b);
|
||||||
|
if (b == Button::L) {
|
||||||
|
AddOnRPress();
|
||||||
|
} else {
|
||||||
|
AddOnLPress();
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
m_current_menu = m_homebrew_menu;
|
m_current_menu = m_homebrew_menu;
|
||||||
|
AddOnRPress();
|
||||||
|
AddOnLPress();
|
||||||
}
|
}
|
||||||
|
|
||||||
m_current_menu->OnFocusGained();
|
m_current_menu->OnFocusGained();
|
||||||
@@ -329,22 +345,18 @@ void MainMenu::OnLRPress(std::shared_ptr<MenuBase> menu, Button b) {
|
|||||||
for (auto [button, action] : m_actions) {
|
for (auto [button, action] : m_actions) {
|
||||||
m_current_menu->SetAction(button, action);
|
m_current_menu->SetAction(button, action);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (b == Button::L) {
|
|
||||||
AddOnRPress();
|
|
||||||
} else {
|
|
||||||
AddOnLPress();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainMenu::AddOnLPress() {
|
void MainMenu::AddOnLPress() {
|
||||||
SetAction(Button::L, Action{"Fs"_i18n, [this]{
|
const auto label = m_current_menu == m_homebrew_menu ? "Files" : "Apps";
|
||||||
|
SetAction(Button::L, Action{i18n::get(label), [this]{
|
||||||
OnLRPress(m_filebrowser_menu, Button::L);
|
OnLRPress(m_filebrowser_menu, Button::L);
|
||||||
}});
|
}});
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainMenu::AddOnRPress() {
|
void MainMenu::AddOnRPress() {
|
||||||
SetAction(Button::R, Action{"App"_i18n, [this]{
|
const auto label = m_current_menu == m_homebrew_menu ? "Store" : "Apps";
|
||||||
|
SetAction(Button::R, Action{i18n::get(label), [this]{
|
||||||
OnLRPress(m_app_store_menu, Button::R);
|
OnLRPress(m_app_store_menu, Button::R);
|
||||||
}});
|
}});
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user