From a4af2942e60fd51f077afd5ca3e4095ab574aeb7 Mon Sep 17 00:00:00 2001 From: Joachim LF Date: Thu, 9 Apr 2020 13:52:28 +0200 Subject: [PATCH] [Fix] Conflicts --- apps/code/base.de.i18n | 1 + apps/code/base.en.i18n | 1 + apps/code/base.es.i18n | 1 + apps/code/base.fr.i18n | 1 + apps/code/base.hu.i18n | 1 + apps/code/base.pt.i18n | 1 + apps/code/script_parameter_controller.cpp | 47 ++++++++++++++++++++--- apps/code/script_parameter_controller.h | 5 ++- 8 files changed, 52 insertions(+), 6 deletions(-) diff --git a/apps/code/base.de.i18n b/apps/code/base.de.i18n index 5c4014a14..39dc0ee0a 100644 --- a/apps/code/base.de.i18n +++ b/apps/code/base.de.i18n @@ -7,3 +7,4 @@ DeleteScript = "Skript löschen" DuplicateScript = "Skript duplizieren" FunctionsAndVariables = "Funktionen und Variablen" AllowedCharactersaz09 = "Erlaubte Zeichen: a-z, 0-9, _" +ScriptSize = "Skriptgrösse" diff --git a/apps/code/base.en.i18n b/apps/code/base.en.i18n index d9886d3fd..b584cc613 100644 --- a/apps/code/base.en.i18n +++ b/apps/code/base.en.i18n @@ -7,3 +7,4 @@ DeleteScript = "Delete script" DuplicateScript = "Duplicate script" FunctionsAndVariables = "Functions and variables" AllowedCharactersaz09 = "Allowed characters: a-z, 0-9, _" +ScriptSize = "Script size" diff --git a/apps/code/base.es.i18n b/apps/code/base.es.i18n index 3038a29f5..05d69dc6e 100644 --- a/apps/code/base.es.i18n +++ b/apps/code/base.es.i18n @@ -7,3 +7,4 @@ DeleteScript = "Eliminar el archivo" DuplicateScript = "Duplicar el guión" FunctionsAndVariables = "Funciones y variables" AllowedCharactersaz09 = "Caracteres permitidos : a-z, 0-9, _" +ScriptSize = "tamano del script" diff --git a/apps/code/base.fr.i18n b/apps/code/base.fr.i18n index 48b12d6d7..812996a30 100644 --- a/apps/code/base.fr.i18n +++ b/apps/code/base.fr.i18n @@ -7,3 +7,4 @@ DeleteScript = "Supprimer le script" DuplicateScript = "Dupliquer le script" FunctionsAndVariables = "Fonctions et variables" AllowedCharactersaz09 = "Caractères autorisés : a-z, 0-9, _" +ScriptSize = "Taille du script" diff --git a/apps/code/base.hu.i18n b/apps/code/base.hu.i18n index 91437ca29..5fe61be8b 100644 --- a/apps/code/base.hu.i18n +++ b/apps/code/base.hu.i18n @@ -7,3 +7,4 @@ DeleteScript = "Script törlése" DuplicateScript = "Script másolása" FunctionsAndVariables = "Függvények és változók" AllowedCharactersaz09 = "Engedélyezett karakterek: a-z, 0-9, _" +ScriptSize = "Script size" diff --git a/apps/code/base.pt.i18n b/apps/code/base.pt.i18n index 0fdbd1490..8ae7025f3 100644 --- a/apps/code/base.pt.i18n +++ b/apps/code/base.pt.i18n @@ -7,3 +7,4 @@ DeleteScript = "Eliminar o script" DuplicateScript = "Duplicar o script" FunctionsAndVariables = "Funções e variáveis" AllowedCharactersaz09 = "Caracteres permitidos : a-z, 0-9, _" +ScriptSize = "tamanho do script" diff --git a/apps/code/script_parameter_controller.cpp b/apps/code/script_parameter_controller.cpp index 83bdc5f5c..806699302 100644 --- a/apps/code/script_parameter_controller.cpp +++ b/apps/code/script_parameter_controller.cpp @@ -1,5 +1,6 @@ #include "script_parameter_controller.h" #include "menu_controller.h" +#include namespace Code { @@ -11,6 +12,7 @@ ScriptParameterController::ScriptParameterController(Responder * parentResponder m_autoImportScript(I18n::Message::AutoImportScript), m_deleteScript(I18n::Message::DeleteScript), m_duplicateScript(I18n::Message::DuplicateScript), + m_size(I18n::Message::ScriptSize), m_selectableTableView(this), m_script(Ion::Storage::Record()), m_menuController(menuController) @@ -48,16 +50,22 @@ bool ScriptParameterController::handleEvent(Ion::Events::Event event) { m_menuController->reloadConsole(); Container::activeApp()->setFirstResponder(&m_selectableTableView); return true; - case 3: - dismissScriptParameterController(); - m_menuController->deleteScript(s); - m_menuController->reloadConsole(); + case 3:{ + MessageTableCellWithBuffer * myCell = (MessageTableCellWithBuffer *)m_selectableTableView.selectedCell(); + m_sizedisplaypercent = !m_sizedisplaypercent; + GetScriptSize(myCell); return true; + } case 4: dismissScriptParameterController(); m_menuController->duplicateScript(s); m_menuController->reloadConsole(); return true; + case 5: + dismissScriptParameterController(); + m_menuController->deleteScript(s); + m_menuController->reloadConsole(); + return true; default: assert(false); return false; @@ -80,7 +88,7 @@ void ScriptParameterController::didBecomeFirstResponder() { HighlightCell * ScriptParameterController::reusableCell(int index) { assert(index >= 0); assert(index < k_totalNumberOfCell); - HighlightCell * cells[] = {&m_executeScript, &m_renameScript, &m_autoImportScript, &m_deleteScript, &m_duplicateScript}; + HighlightCell * cells[] = {&m_executeScript, &m_renameScript, &m_autoImportScript, &m_size, &m_duplicateScript, &m_deleteScript}; return cells[index]; } @@ -88,6 +96,35 @@ void ScriptParameterController::willDisplayCellForIndex(HighlightCell * cell, in if (cell == &m_autoImportScript) { SwitchView * switchView = (SwitchView *)m_autoImportScript.accessoryView(); switchView->setState(m_script.importationStatus()); + } else if (cell == &m_size) { + MessageTableCellWithBuffer * myCell = (MessageTableCellWithBuffer *)cell; + GetScriptSize(myCell); + myCell->setAccessoryFont(KDFont::SmallFont); + myCell->setAccessoryTextColor(Palette::GreyDark); + } +} + +void ScriptParameterController::GetScriptSize(MessageTableCellWithBuffer* myCell){ + if(m_sizedisplaypercent){ + char size[18]; + int sizelen = Poincare::Integer((int)m_script.value().size).serialize(size, 6); + size[sizelen] = ' '; + size[sizelen+1] = 'o'; + size[sizelen+2] = ' '; + size[sizelen+3] = '/'; + size[sizelen+4] = ' '; + int sizelen2 = Poincare::Integer((int)Ion::Storage::k_storageSize).serialize(size+sizelen+5, 6) + sizelen + 5; + size[sizelen2] = ' '; + size[sizelen2+1] = 'o'; + size[sizelen2+2] = '\0'; + myCell->setAccessoryText(size); + }else{ + char size[18]; + int sizelen = Poincare::Integer((int)(((float)((int)m_script.value().size)/((int)Ion::Storage::k_storageSize)) * 100.f)).serialize(size, 3); + size[sizelen] = ' '; + size[sizelen+1] = '%'; + size[sizelen+2] = '\0'; + myCell->setAccessoryText(size); } } diff --git a/apps/code/script_parameter_controller.h b/apps/code/script_parameter_controller.h index 049049de8..e7065e733 100644 --- a/apps/code/script_parameter_controller.h +++ b/apps/code/script_parameter_controller.h @@ -31,7 +31,7 @@ public: void willDisplayCellForIndex(HighlightCell * cell, int index) override; private: - constexpr static int k_totalNumberOfCell = 5; + constexpr static int k_totalNumberOfCell = 6; StackViewController * stackViewController(); I18n::Message m_pageTitle; MessageTableCell m_executeScript; @@ -39,9 +39,12 @@ private: MessageTableCellWithSwitch m_autoImportScript; MessageTableCell m_deleteScript; MessageTableCell m_duplicateScript; + MessageTableCellWithBuffer m_size; + void GetScriptSize(MessageTableCellWithBuffer* myCell); SelectableTableView m_selectableTableView; Script m_script; MenuController * m_menuController; + bool m_sizedisplaypercent = false; }; }