2026-09-10 13:42:19 -05:00 | | | //+------------------------------------------------------------------+
|
2026-03-27 17:56:28 -05:00 | | | //| Decrypter.mqh |
|
| | | //| Copyright 2026, Niquel Mendoza. |
|
| | | //| https://www.mql5.com/es/users/nique_372 |
|
| | | //+------------------------------------------------------------------+
|
| | | #property copyright "Copyright 2026, Niquel Mendoza."
|
| | | #property link "https://www.mql5.com/es/users/nique_372"
|
| | | #property strict
|
| | |
|
| | | #ifndef AIDATATASKRUNER_UI_TABUTIL_DECRYPTHER_MQH
|
| | | #define AIDATATASKRUNER_UI_TABUTIL_DECRYPTHER_MQH
|
| | |
|
| | | //+------------------------------------------------------------------+
|
| | | //| Include |
|
| | | //+------------------------------------------------------------------+
|
| | | #include "Encrypter.mqh"
|
| | |
|
| | | //+------------------------------------------------------------------+
|
| | | //| |
|
| | | //+------------------------------------------------------------------+
|
| | | class CTabUtilsDecrypther : public CGuiBaseComponent<CLoggerBase>
|
| | | {
|
| | | private:
|
| | | //---
|
| | | CTabUtilsGeneral* m_general;
|
2026-06-03 22:07:50 -05:00 | | | TSN::CJsonParser* m_json_parser;
|
2026-03-27 17:56:28 -05:00 | | |
|
| | | //--- General
|
| | | Xoshiro256 m_random; // Generador de keys
|
2026-06-03 22:07:50 -05:00 | | | TSN::CFolderOpsEncrypt m_folder_decryptor;
|
2026-03-27 17:56:28 -05:00 | | |
|
| | | //--- Fronted
|
| | | //- Encriptacion
|
| | | CTextLabel m_label_tit_enc;
|
| | |
|
| | | // Tipo de decryptacion
|
| | | CComboBox m_combox_decrypt_type;
|
| | |
|
2026-03-28 07:07:21 -05:00 | | | CSeparateLine m_sep_start_config_dec;
|
2026-03-27 17:56:28 -05:00 | | | // Arhicvo de configuracion
|
| | | // Tambien se ubican las exntension a limpiar y archivos que se deberan de explcuir
|
| | | CTextLabel m_label_file_config_decrypt;
|
| | | CTextLabel m_label_file_config_decrypt_val;
|
| | | CButton m_btn_browse_file_config_decrypt;
|
| | | CButton m_btn_browse_file_config_decrypt_template; // Boton para selecionar el archivo template
|
| | |
|
| | | // Prefijo para el archivo decryptado de salida
|
| | | CTextEdit m_edit_decrypt_prefix;
|
| | |
|
| | | // Edit de decryptacion (key)
|
| | | CTextEdit m_edit_decrypt_key;
|
| | | CButton m_btn_decrypt_key_show_hide; // Ver o ocultar dicha clave
|
| | |
|
| | | // Ejecutar la limpieza
|
| | | CButton m_btn_decrypt_run;
|
| | |
|
| | | //---
|
| | | void OnRunDecrypt();
|
| | |
|
| | | public:
|
| | | CTabUtilsDecrypther(void);
|
| | | ~CTabUtilsDecrypther(void) {}
|
| | |
|
| | | //---
|
| | | bool Create(CWndCreate* p, CWindow& main_window, int top_gap, int left_gap, int right_gap, int bottom_gap);
|
| | |
|
2026-03-27 22:30:19 -05:00 | | | //---
|
2026-06-03 22:07:50 -05:00 | | | void SetGeneral(CTabUtilsGeneral* general, TSN::CJsonParser* parser) { m_general = general; m_json_parser=parser;}
|
2026-03-27 22:30:19 -05:00 | | |
|
2026-03-27 17:56:28 -05:00 | | | //---
|
| | | bool OnClickButtom(const long lparam);
|
| | | void OnLenguajeChange() override final;
|
| | | };
|
| | |
|
| | | //+------------------------------------------------------------------+
|
| | | //| |
|
| | | //+------------------------------------------------------------------+
|
| | | CTabUtilsDecrypther::CTabUtilsDecrypther(void)
|
| | | : CGuiBaseComponent<CLoggerBase>("CTabUtilsDecrypther")
|
| | | {
|
2026-03-28 07:59:20 -05:00 | | | m_folder_decryptor.AddLogFlags(LOG_ALL);
|
2026-03-27 17:56:28 -05:00 | | | m_folder_decryptor.Encryptor(&g_mqlarticles_encryptor);
|
| | | m_folder_decryptor.RandomForEncryptor(&m_random); // por siacaso
|
| | | }
|
| | |
|
| | | //+------------------------------------------------------------------+
|
| | | //| |
|
| | | //+------------------------------------------------------------------+
|
| | | bool CTabUtilsDecrypther::Create(CWndCreate* p, CWindow& main_window, int top_gap, int left_gap, int right_gap, int bottom_gap)
|
| | | {
|
| | | //---
|
| | | int x = left_gap + 5;
|
| | | int y = top_gap + 10;
|
| | | const int inital_x = x;
|
| | |
|
| | | //--- Titulo Encrypt
|
| | | m_label_tit_enc.FontSize(14);
|
| | | m_label_tit_enc.Font("Arial");
|
| | | m_label_tit_enc.LabelColor(AIDATATASKRUNER_COLOR_TEXT_PRIMARY);
|
| | | m_label_tit_enc.BackColor(AIDATATASKRUNER_COLOR_FONDO_SUBTAB_PRESSED);
|
| | | if(!p.CreateTextLabel(m_label_tit_enc, m_language[GUIBASE_COMPONENT_NAME(m_label_tit_enc)],
|
| | | main_window, 0, m_base_tab, m_base_tab_idx, x, y, 200))
|
| | | {
|
| | | GUIBASE_ERROR_CREATION(m_label_tit_enc);
|
| | | return false;
|
| | | }
|
| | | y += m_label_tit_enc.YSize() + 10;
|
| | |
|
| | | //--- ComboBox tipo de decryptacion
|
| | | m_combox_decrypt_type.FontSize(10);
|
| | | m_combox_decrypt_type.LabelColor(AIDATATASKRUNER_COLOR_TEXT_SECONDARY);
|
| | | m_combox_decrypt_type.BackColor(AIDATATASKRUNER_COLOR_FONDO_SUBTAB_PRESSED);
|
| | | m_combox_decrypt_type.GetListViewPointer().BackColor(AIDATATASKRUNER_COLOR_EDIT_BACK);
|
| | | m_combox_decrypt_type.GetListViewPointer().BorderColor(AIDATATASKRUNER_COLOR_EDIT_BORDER);
|
| | | m_combox_decrypt_type.GetListViewPointer().LabelColor(AIDATATASKRUNER_COLOR_TEXT_SECONDARY);
|
| | | m_combox_decrypt_type.GetButtonPointer().LabelColor(AIDATATASKRUNER_COLOR_TEXT_SECONDARY);
|
| | | m_combox_decrypt_type.GetButtonPointer().BackColor(AIDATATASKRUNER_COLOR_EDIT_BACK);
|
| | | m_combox_decrypt_type.GetButtonPointer().BorderColor(AIDATATASKRUNER_COLOR_EDIT_BORDER);
|
| | | m_combox_decrypt_type.Tooltip(m_language.Tooltip(GUIBASE_COMPONENT_NAME(m_combox_decrypt_type)));
|
| | | if(!p.CreateCombobox(m_combox_decrypt_type, m_language[GUIBASE_COMPONENT_NAME(m_combox_decrypt_type)],
|
2026-03-27 22:30:19 -05:00 | | | main_window, 0, m_base_tab, m_base_tab_idx, false, x, y, 50 + 10 + 130, 130,
|
2026-03-27 17:56:28 -05:00 | | | g_tabuils_arr_type_encrypt, 150))
|
| | | {
|
| | | GUIBASE_ERROR_CREATION(m_combox_decrypt_type);
|
| | | return false;
|
| | | }
|
| | | m_combox_decrypt_type.m_button.IconFile(RESOURCE_DOWN_THIN_WHITE);
|
| | | m_combox_decrypt_type.m_button.IconFileLocked(RESOURCE_DOWN_THIN_WHITE);
|
| | | m_combox_decrypt_type.m_button.CElement::IconFilePressed(RESOURCE_UP_THIN_WHITE);
|
| | | m_combox_decrypt_type.m_button.CElement::IconFilePressedLocked(RESOURCE_UP_THIN_WHITE);
|
| | | y += m_combox_decrypt_type.YSize() + 10;
|
| | |
|
2026-03-28 07:07:21 -05:00 | | | //---
|
| | | m_base_tab.AddToElementsArray(m_base_tab_idx, m_sep_start_config_dec);
|
| | | const int xsize = main_window.X2() - inital_x - inital_x;
|
| | | if(!p.CreateSepLine(m_sep_start_config_dec, main_window, 0, inital_x, y, xsize, (9 + 25 + 25 + 8 + 7), AIDATATASKRUNER_COLOR_BTN_BORDER, AIDATATASKRUNER_COLOR_BTN_BORDER, H_SEP_LINE))
|
| | | {
|
| | | GUIBASE_ERROR_CREATION(m_sep_start_config_dec);
|
| | | return false;
|
| | | }
|
| | | y += 2 + 7;
|
| | |
|
2026-03-27 17:56:28 -05:00 | | | //--- Label config decrypt
|
| | | m_label_file_config_decrypt.FontSize(10);
|
| | | m_label_file_config_decrypt.Font("Arial");
|
| | | m_label_file_config_decrypt.LabelColor(AIDATATASKRUNER_COLOR_TEXT_SECONDARY);
|
| | | m_label_file_config_decrypt.BackColor(AIDATATASKRUNER_COLOR_FONDO_SUBTAB_PRESSED);
|
| | | if(!p.CreateTextLabel(m_label_file_config_decrypt, m_language[GUIBASE_COMPONENT_NAME(m_label_file_config_decrypt)],
|
2026-03-27 22:30:19 -05:00 | | | main_window, 0, m_base_tab, m_base_tab_idx, x, y, 125, 25))
|
2026-03-27 17:56:28 -05:00 | | | {
|
| | | GUIBASE_ERROR_CREATION(m_label_file_config_decrypt);
|
| | | return false;
|
| | | }
|
| | | x += m_label_file_config_decrypt.XSize() + 5;
|
| | |
|
| | | //--- Label val
|
| | | m_label_file_config_decrypt_val.FontSize(10);
|
| | | m_label_file_config_decrypt_val.Font("Arial");
|
| | | m_label_file_config_decrypt_val.LabelColor(AIDATATASKRUNER_COLOR_TEXT_PRIMARY);
|
| | | m_label_file_config_decrypt_val.BackColor(AIDATATASKRUNER_COLOR_EDIT_BACK);
|
| | | m_label_file_config_decrypt_val.LabelXGap(5);
|
| | | m_label_file_config_decrypt_val.LabelYGap(3);
|
| | | m_label_file_config_decrypt_val.Tooltip(m_language.Tooltip(GUIBASE_COMPONENT_NAME(m_label_file_config_decrypt_val)));
|
| | | if(!p.CreateTextLabel(m_label_file_config_decrypt_val, "",
|
2026-03-28 07:07:21 -05:00 | | | main_window, 0, m_base_tab, m_base_tab_idx, x, y, 400, 25))
|
2026-03-27 17:56:28 -05:00 | | | {
|
| | | GUIBASE_ERROR_CREATION(m_label_file_config_decrypt_val);
|
| | | return false;
|
| | | }
|
| | | x = inital_x;
|
| | | y += m_label_file_config_decrypt_val.YSize() + 8;
|
| | |
|
| | | //--- Browse
|
2026-03-29 11:06:50 -05:00 | | | m_btn_browse_file_config_decrypt.AddImagesGroup(5, 2, g_eafmod_ic_arr_folderw10_image);
|
2026-03-27 22:30:19 -05:00 | | | m_btn_browse_file_config_decrypt.ChangeImage(0, 0);
|
2026-03-28 07:07:21 -05:00 | | | m_btn_browse_file_config_decrypt.LabelXGap(22);
|
2026-03-27 17:56:28 -05:00 | | | m_btn_browse_file_config_decrypt.FontSize(10);
|
| | | m_btn_browse_file_config_decrypt.Font("Arial");
|
| | | m_btn_browse_file_config_decrypt.BackColor(AIDATATASKRUNER_COLOR_BTN_BACK);
|
| | | m_btn_browse_file_config_decrypt.LabelColor(AIDATATASKRUNER_COLOR_TEXT_SECONDARY);
|
| | | m_btn_browse_file_config_decrypt.BorderColor(AIDATATASKRUNER_COLOR_BTN_BORDER);
|
| | | m_btn_browse_file_config_decrypt.Tooltip(m_language.Tooltip(GUIBASE_COMPONENT_NAME(m_btn_browse_file_config_decrypt)));
|
| | | if(!p.CreateButton(m_btn_browse_file_config_decrypt, m_language[GUIBASE_COMPONENT_NAME(m_btn_browse_file_config_decrypt)],
|
2026-03-27 22:30:19 -05:00 | | | main_window, 0, m_base_tab, m_base_tab_idx, x, y, 100))
|
2026-03-27 17:56:28 -05:00 | | | {
|
| | | GUIBASE_ERROR_CREATION(m_btn_browse_file_config_decrypt);
|
| | | return false;
|
| | | }
|
| | | x += m_btn_browse_file_config_decrypt.XSize() + 5;
|
| | |
|
| | | //--- Template "?"
|
2026-03-29 11:06:50 -05:00 | | | m_btn_browse_file_config_decrypt_template.AddImagesGroup(5, 2, g_eafmod_ic_arr_help_image);
|
2026-03-27 22:30:19 -05:00 | | | m_btn_browse_file_config_decrypt_template.ChangeImage(0, 0);
|
2026-03-27 17:56:28 -05:00 | | | m_btn_browse_file_config_decrypt_template.FontSize(10);
|
| | | m_btn_browse_file_config_decrypt_template.Font("Arial");
|
2026-03-27 22:30:19 -05:00 | | | m_btn_browse_file_config_decrypt_template.BackColor(AIDATATASKRUNER_COLOR_FONDO_SUBTAB_PRESSED);
|
2026-03-27 17:56:28 -05:00 | | | m_btn_browse_file_config_decrypt_template.LabelColor(AIDATATASKRUNER_COLOR_TEXT_SECONDARY);
|
2026-03-27 22:30:19 -05:00 | | | m_btn_browse_file_config_decrypt_template.BorderColor(AIDATATASKRUNER_COLOR_FONDO_SUBTAB_PRESSED);
|
2026-03-27 17:56:28 -05:00 | | | m_btn_browse_file_config_decrypt_template.Tooltip(m_language.Tooltip(GUIBASE_COMPONENT_NAME(m_btn_browse_file_config_decrypt_template)));
|
2026-03-27 22:30:19 -05:00 | | | if(!p.CreateButton(m_btn_browse_file_config_decrypt_template, "",
|
2026-03-27 17:56:28 -05:00 | | | main_window, 0, m_base_tab, m_base_tab_idx, x, y, 30))
|
| | | {
|
| | | GUIBASE_ERROR_CREATION(m_btn_browse_file_config_decrypt_template);
|
| | | return false;
|
| | | }
|
| | | x = inital_x;
|
2026-03-28 07:07:21 -05:00 | | | y += m_btn_browse_file_config_decrypt_template.YSize() + 18;
|
2026-03-27 17:56:28 -05:00 | | |
|
| | | //--- Edit prefix
|
| | | string texto = m_language[GUIBASE_COMPONENT_NAME(m_edit_decrypt_prefix)];
|
| | | m_edit_decrypt_prefix.FontSize(10);
|
2026-03-27 22:30:19 -05:00 | | | m_edit_decrypt_prefix.Font("Arial");
|
2026-03-27 17:56:28 -05:00 | | | m_edit_decrypt_prefix.CanvasFontSet();
|
| | | int width = m_edit_decrypt_prefix.m_canvas.TextWidth(texto);
|
| | | m_edit_decrypt_prefix.LabelColor(AIDATATASKRUNER_COLOR_TEXT_SECONDARY);
|
| | | m_edit_decrypt_prefix.BackColor(AIDATATASKRUNER_COLOR_FONDO_SUBTAB_PRESSED);
|
| | | m_edit_decrypt_prefix.GetTextBoxPointer().BackColor(AIDATATASKRUNER_COLOR_EDIT_BACK);
|
| | | m_edit_decrypt_prefix.GetTextBoxPointer().BorderColor(AIDATATASKRUNER_COLOR_EDIT_BORDER);
|
| | | m_edit_decrypt_prefix.GetTextBoxPointer().DefaultTextColor(AIDATATASKRUNER_COLOR_EDIT_TEXT_NORMAL);
|
| | | m_edit_decrypt_prefix.GetTextBoxPointer().LabelColor(AIDATATASKRUNER_COLOR_EDIT_TEXT_NORMAL);
|
| | | m_edit_decrypt_prefix.GetTextBoxPointer().SelectedBackColor(AIDATATASKRUNER_COLOR_EDIT_TEXT_SELECTED);
|
| | | m_edit_decrypt_prefix.GetTextBoxPointer().SelectedTextColor(AIDATATASKRUNER_COLOR_EDIT_TEXT_HIGHLIGHT);
|
| | | m_edit_decrypt_prefix.Tooltip(m_language.Tooltip(GUIBASE_COMPONENT_NAME(m_edit_decrypt_prefix)));
|
| | | if(!p.CreateTextEdit(m_edit_decrypt_prefix, texto,
|
| | | main_window, 0, m_base_tab, m_base_tab_idx, false, x, y,
|
2026-03-27 22:30:19 -05:00 | | | width + 10 + 150, 150, ""))
|
2026-03-27 17:56:28 -05:00 | | | {
|
| | | GUIBASE_ERROR_CREATION(m_edit_decrypt_prefix);
|
| | | return false;
|
| | | }
|
| | | y += m_edit_decrypt_prefix.YSize() + 10;
|
| | |
|
| | | //--- Edit key
|
| | | texto = m_language[GUIBASE_COMPONENT_NAME(m_edit_decrypt_key)];
|
| | | m_edit_decrypt_key.FontSize(10);
|
| | | m_edit_decrypt_key.Font("Arial");
|
| | | m_edit_decrypt_key.CanvasFontSet();
|
| | | width = m_edit_decrypt_key.m_canvas.TextWidth(texto);
|
| | | m_edit_decrypt_key.LabelColor(AIDATATASKRUNER_COLOR_TEXT_SECONDARY);
|
| | | m_edit_decrypt_key.BackColor(AIDATATASKRUNER_COLOR_FONDO_SUBTAB_PRESSED);
|
| | | m_edit_decrypt_key.GetTextBoxPointer().BackColor(AIDATATASKRUNER_COLOR_EDIT_BACK);
|
| | | m_edit_decrypt_key.GetTextBoxPointer().BorderColor(AIDATATASKRUNER_COLOR_EDIT_BORDER);
|
| | | m_edit_decrypt_key.GetTextBoxPointer().DefaultTextColor(AIDATATASKRUNER_COLOR_EDIT_TEXT_NORMAL);
|
| | | m_edit_decrypt_key.GetTextBoxPointer().LabelColor(AIDATATASKRUNER_COLOR_EDIT_TEXT_NORMAL);
|
| | | m_edit_decrypt_key.GetTextBoxPointer().SelectedBackColor(AIDATATASKRUNER_COLOR_EDIT_TEXT_SELECTED);
|
| | | m_edit_decrypt_key.GetTextBoxPointer().SelectedTextColor(AIDATATASKRUNER_COLOR_EDIT_TEXT_HIGHLIGHT);
|
| | | m_edit_decrypt_key.Tooltip(m_language.Tooltip(GUIBASE_COMPONENT_NAME(m_edit_decrypt_key)));
|
| | | if(!p.CreateTextEdit(m_edit_decrypt_key, texto,
|
| | | main_window, 0, m_base_tab, m_base_tab_idx, false, x, y,
|
| | | width + 10 + 250, 250, ""))
|
| | | {
|
| | | GUIBASE_ERROR_CREATION(m_edit_decrypt_key);
|
| | | return false;
|
| | | }
|
| | | m_edit_decrypt_key.GetTextBoxPointer().Font(EAFMOD_KEY_FONT);
|
| | |
|
| | | const int edit_key_y = m_edit_decrypt_key.YSize();
|
| | |
|
| | | //--- Btn show/hide (va despues del aleatorio, con imagen)
|
| | | m_btn_decrypt_key_show_hide.AddImagesGroup(1, 1, g_llmagetn_tab_images_vis_path);
|
| | | m_btn_decrypt_key_show_hide.ChangeImage(0, EAFMOD_FORKEYS_IMAGES_VIS_CLOSED);
|
| | | m_btn_decrypt_key_show_hide.XSize(edit_key_y);
|
| | | m_btn_decrypt_key_show_hide.YSize(edit_key_y);
|
| | | m_btn_decrypt_key_show_hide.LabelColor(AIDATATASKRUNER_COLOR_TEXT_SECONDARY);
|
| | | m_btn_decrypt_key_show_hide.BackColor(AIDATATASKRUNER_COLOR_BTN_BACK);
|
| | | m_btn_decrypt_key_show_hide.BorderColor(AIDATATASKRUNER_COLOR_BTN_BORDER);
|
| | | m_btn_decrypt_key_show_hide.Tooltip(m_language.Tooltip(GUIBASE_COMPONENT_NAME(m_btn_decrypt_key_show_hide)));
|
| | | if(!p.CreateButton(m_btn_decrypt_key_show_hide, "",
|
| | | main_window, 0, m_base_tab, m_base_tab_idx,
|
2026-03-27 22:30:19 -05:00 | | | x + m_edit_decrypt_key.XSize() + 5, y, edit_key_y))
|
2026-03-27 17:56:28 -05:00 | | | {
|
| | | GUIBASE_ERROR_CREATION(m_btn_decrypt_key_show_hide);
|
| | | return false;
|
| | | }
|
| | | x = inital_x;
|
| | | y += edit_key_y + 10;
|
| | |
|
| | | //--- Btn Run
|
| | | m_btn_decrypt_run.FontSize(10);
|
| | | m_btn_decrypt_run.Font("Arial");
|
| | | m_btn_decrypt_run.BackColor(AIDATATASKRUNER_COLOR_BTN_BACK);
|
| | | m_btn_decrypt_run.LabelColor(AIDATATASKRUNER_COLOR_TEXT_SECONDARY);
|
| | | m_btn_decrypt_run.BorderColor(AIDATATASKRUNER_COLOR_BTN_BORDER);
|
| | | m_btn_decrypt_run.Tooltip(m_language.Tooltip(GUIBASE_COMPONENT_NAME(m_btn_decrypt_run)));
|
| | | if(!p.CreateButton(m_btn_decrypt_run, m_language[GUIBASE_COMPONENT_NAME(m_btn_decrypt_run)],
|
| | | main_window, 0, m_base_tab, m_base_tab_idx, x, y, 120))
|
| | | {
|
| | | GUIBASE_ERROR_CREATION(m_btn_decrypt_run);
|
| | | return false;
|
| | | }
|
| | | x = inital_x;
|
| | | y += m_btn_decrypt_run.YSize() + 20;
|
| | |
|
| | | //---
|
| | | return true;
|
| | | }
|
| | |
|
| | |
|
| | |
|
| | | //+------------------------------------------------------------------+
|
| | | //| |
|
| | | //+------------------------------------------------------------------+
|
| | | void CTabUtilsDecrypther::OnLenguajeChange(void)
|
| | | {
|
2026-03-27 22:30:19 -05:00 | | | //---
|
| | | UpdateTBasic(m_label_tit_enc, GUIBASE_COMPONENT_NAME(m_label_tit_enc), false);
|
| | | ResizeTElement(m_combox_decrypt_type, GUIBASE_COMPONENT_NAME(m_combox_decrypt_type), 130, 10);
|
| | |
|
| | | //---
|
| | | // Label
|
| | | UpdateTBasic(m_label_file_config_decrypt, GUIBASE_COMPONENT_NAME(m_label_file_config_decrypt), false);
|
| | | // Val
|
| | | m_label_file_config_decrypt_val.Tooltip(m_language.Tooltip(GUIBASE_COMPONENT_NAME(m_label_file_config_decrypt_val)));
|
| | | // Browse
|
| | | UpdateTBasic(m_btn_browse_file_config_decrypt, GUIBASE_COMPONENT_NAME(m_btn_browse_file_config_decrypt), true);
|
| | | // Temaplte
|
| | | m_btn_browse_file_config_decrypt_template.Tooltip(m_language.Tooltip(GUIBASE_COMPONENT_NAME(m_btn_browse_file_config_decrypt_template)));
|
| | |
|
| | | //--- Prefix
|
| | | ResizeTElement(m_edit_decrypt_prefix, GUIBASE_COMPONENT_NAME(m_edit_decrypt_prefix), 150, 10);
|
| | |
|
| | | //---
|
| | | // Key
|
| | | ResizeTElement(m_edit_decrypt_key, GUIBASE_COMPONENT_NAME(m_edit_decrypt_key), 250, 10);
|
| | |
|
| | | // ShowHide
|
| | | m_btn_decrypt_key_show_hide.Tooltip(m_language.Tooltip(GUIBASE_COMPONENT_NAME(m_btn_decrypt_key_show_hide)));
|
| | |
|
| | | //--- Run
|
| | | UpdateTBasic(m_btn_decrypt_run, GUIBASE_COMPONENT_NAME(m_btn_decrypt_run), false);
|
2026-03-27 17:56:28 -05:00 | | | }
|
| | |
|
| | |
|
| | | //+------------------------------------------------------------------+
|
| | | //| |
|
| | | //+------------------------------------------------------------------+
|
| | | bool CTabUtilsDecrypther::OnClickButtom(const long lparam)
|
| | | {
|
| | | //--- Encrypt
|
| | | // Valor (browse)
|
| | | if(m_btn_browse_file_config_decrypt.Id() == lparam)
|
| | | {
|
| | | //---
|
| | | string arr[];
|
2026-03-28 07:07:21 -05:00 | | | if(FileSelectDialog(GUIBASE_MSG("flselect_config_decrypt"), NULL, "JSON Files (*.json)|*.json", (m_general.ComonFlagVal() ? FSD_COMMON_FOLDER : 0),
|
2026-03-27 17:56:28 -05:00 | | | arr, NULL) != 1)
|
| | | {
|
| | | MessageBox(GUIBASE_MSG("error_select_file"), GUIBASE_COMMON("error"), MB_ICONERROR | MB_OK);
|
| | | return true;
|
| | | }
|
| | | //---
|
| | | m_label_file_config_decrypt_val.LabelText(arr[0]); // ruta completa aqui
|
| | | m_label_file_config_decrypt_val.Update(true);
|
| | | //---
|
2026-06-03 22:07:50 -05:00 | | | if(!m_folder_decryptor.Load(arr[0], m_general.ComonFlagVal(), *m_json_parser))
|
2026-03-27 17:56:28 -05:00 | | | {
|
| | | MessageBox(GUIBASE_MSG("error_loadjson_enc"), GUIBASE_COMMON("error"), MB_ICONERROR | MB_OK);
|
| | | }
|
| | | return true;
|
| | | }
|
| | |
|
| | | // Template
|
| | | if(m_btn_browse_file_config_decrypt_template.Id() == lparam)
|
| | | {
|
| | | //---
|
| | | string arr[];
|
2026-03-27 22:30:19 -05:00 | | | if(FileSelectDialog(GUIBASE_MSG("flselect_config_decrypt"), AIDATATASKRUNER_PATH_TEMPLATES, "JSON Files (*.json)|*.json", AIDATATASK_RUNNER_FSD_COMON_FLAG,
|
2026-03-27 17:56:28 -05:00 | | | arr, AIDATATASKRUNER_FILENAME_TEMPLATES_FILEINCLUEXCLU_ENC) != 1)
|
| | | {
|
| | | MessageBox(GUIBASE_MSG("error_select_file"), GUIBASE_COMMON("error"), MB_ICONERROR | MB_OK);
|
| | | return true;
|
| | | }
|
| | | //---
|
| | | m_label_file_config_decrypt_val.LabelText(arr[0]); // ruta completa aqui
|
| | | m_label_file_config_decrypt_val.Update(true);
|
| | | //---
|
2026-06-03 22:07:50 -05:00 | | | if(!m_folder_decryptor.Load(arr[0], AIDATATASK_RUNNER_COMON_FLAG_VAL, *m_json_parser))
|
2026-03-27 17:56:28 -05:00 | | | {
|
| | | MessageBox(GUIBASE_MSG("error_loadjson_enc"), GUIBASE_COMMON("error"), MB_ICONERROR | MB_OK);
|
| | | }
|
| | | return true;
|
| | | }
|
| | |
|
| | | // Run
|
| | | if(m_btn_decrypt_run.Id() == lparam)
|
| | | {
|
| | | m_btn_decrypt_run.LabelText(m_language[GUIBASE_COMPONENT_NAME(m_btn_decrypt_run) + "_onrun"]);
|
| | | m_btn_decrypt_run.Update(true);
|
| | | OnRunDecrypt();
|
| | | m_btn_decrypt_run.LabelText(m_language[GUIBASE_COMPONENT_NAME(m_btn_decrypt_run)]);
|
| | | m_btn_decrypt_run.Update(true);
|
| | | return true;
|
| | | }
|
| | |
|
| | | //------ Botones 2
|
| | | if(m_btn_decrypt_key_show_hide.Id() == lparam)
|
| | | {
|
| | | // Edit
|
| | | CTextBox* tb = m_edit_decrypt_key.GetTextBoxPointer();
|
| | | const bool is_hidden = tb.Font() == EAFMOD_KEY_FONT;
|
| | | tb.ChangeFont(is_hidden ? "Arial" : EAFMOD_KEY_FONT, 10);
|
| | | // Boton
|
| | | m_btn_decrypt_key_show_hide.SetImage(0, 0, g_llmagetn_tab_images_vis_path[is_hidden ? EAFMOD_FORKEYS_IMAGES_VIS_OPEN : EAFMOD_FORKEYS_IMAGES_VIS_CLOSED]);
|
| | | m_btn_decrypt_key_show_hide.Update(true);
|
| | | }
|
| | |
|
| | | //---
|
| | | return false;
|
| | | }
|
| | |
|
| | | //+------------------------------------------------------------------+
|
| | | //| |
|
| | | //+------------------------------------------------------------------+
|
| | | void CTabUtilsDecrypther::OnRunDecrypt(void)
|
| | | {
|
| | | //--- Check
|
| | | const string main_folder = m_general.MainFolder();
|
| | | if(main_folder.Length() < 1)
|
| | | {
|
| | | MessageBox(GUIBASE_MSG("err_invalid_mfolder"), GUIBASE_COMMON("error"), MB_ICONERROR | MB_OK);
|
| | | return;
|
| | | }
|
| | |
|
| | | //--- Vals
|
2026-03-28 08:24:29 -05:00 | | | const string key = m_edit_decrypt_key.GetValue();
|
2026-03-27 17:56:28 -05:00 | | |
|
| | | //--- Pregunamos si desea eliminar los archivos previos (esto es util solo si se espcifico una extension para la decryptacion)
|
| | | const int res = MessageBox(GUIBASE_MSG("desea_eliminar_prev_folders"), GUIBASE_COMMON("info"), MB_ICONQUESTION | MB_YESNO);
|
| | |
|
| | | //--- Si falla le decimos mensaje que revise logs
|
2026-03-28 07:59:20 -05:00 | | | m_folder_decryptor.SetInitialPass();
|
2026-03-28 08:24:29 -05:00 | | | if(!m_folder_decryptor.DecryptFolder(main_folder, m_general.ComonFlagVal(), key, method, (res == IDYES), m_edit_decrypt_prefix.GetValue()))
|
2026-03-27 17:56:28 -05:00 | | | {
|
| | | MessageBox(GUIBASE_MSG("err_decrypt_folder"), GUIBASE_COMMON("error"), MB_ICONQUESTION | MB_YESNO);
|
| | | }
|
| | | }
|
| | |
|
| | |
|
| | | #endif // AIDATATASKRUNER_UI_TABUTIL_DECRYPTHER_MQH
|