@ -11,23 +11,20 @@ bool flag_load_global = false;
bool flag_lock_help = false ;
string version_application = " 1.0 " ;
CmdArgParser : : CmdArgParser ( const st d: : st ring& p_name , const st d: : st ring& p_description , const std : : string & p_help )
CmdArgParser : : CmdArgParser ( const st ring& p_name , const st ring& p_description , const string & p_help )
: Glib : : OptionGroup { p_name , p_description , p_help } {
Glib : : OptionEntry socketIDArg ;
socketIDArg . set_long_name ( " socket-id " ) ;
socketIDArg . set_flags ( Glib : : OptionEntry : : FLAG_IN_MAIN ) ;
socketIDArg . set_description ( " Settings manager socket " ) ;
Glib : : OptionEntry socketExtId ;
socketExtId . set_long_name ( " socket-ext-id " ) ;
socketExtId . set_flags ( Glib : : OptionEntry : : FLAG_IN_MAIN ) ;
socketExtId . set_description ( " Settings manager secondary socket " ) ;
Glib : : OptionEntry socketTrdId ;
socketTrdId . set_long_name ( " socket-trd-id " ) ;
socketTrdId . set_flags ( Glib : : OptionEntry : : FLAG_IN_MAIN ) ;
socketTrdId . set_description ( " Settings manager secondary socket " ) ;
add_entry ( socketIDArg , m_socketID ) ;
add_entry ( socketExtId , socket_ext_id_I ) ;
add_entry ( socketTrdId , socket_trd_id_I ) ;
@ -71,9 +68,10 @@ void MainWindow::settings(){
vec_param_names . push_back ( " GRUB_TERMINAL_INPUT " ) ;
vec_param_names . push_back ( " GRUB_TERMINAL_OUTPUT " ) ;
vec_param_names . push_back ( " GRUB_BOOT_SILENT " ) ;
vec_param_names . push_back ( " GRUB_USER " ) ;
vec_param_names . push_back ( " GRUB_PASSWORD " ) ;
vec_param_names . push_back ( " GRUB_DEFAULT " ) ;
vec_param_names . push_back ( " GRUB_PLAY " ) ;
vec_param_names . push_back ( " GRUB_SUPERUSERS " ) ;
this - > get_builder ( ) ;
this - > localization ( ) ;
this - > add_CSS ( ) ;
@ -93,15 +91,20 @@ void MainWindow::settings(){
spbSecond - > set_increments ( 1.0 , 1.0 ) ;
spbSecond - > set_value ( 1 ) ;
this - > fill_in_view ( ) ;
this - > change_password_protecc ( ) ;
this - > change_security_login ( ) ;
this - > set_active_boot_second ( ) ;
this - > str_last_launched_os = this - > pars_last_launched_os ( ) ;
vector < string > os_control_list ;
this - > pars_os ( os_control_list ) ;
this - > write_list_entry_os ( os_control_list ) ;
this - > download_local_cfg ( ) ;
this - > download_globl_cfg ( ) ;
vector < tuple < string , vector < string > > > vec_list_os = format_os_list ( os_control_list ) ;
obj_menu_os . set_builder ( builder , path_glade ) ;
obj_menu_os . set_map ( vec_list_os ) ;
obj_menu_os . set_entry ( entrListOS ) ;
// obj_menu_os.set_last_launched_os(map_global_cmd_selection["GRUB_DEFAULT"]);
obj_menu_os . set_last_launched_os ( this - > str_last_launched_os ) ;
obj_menu_os . init ( ) ;
obj_menu_os . event ( ) ;
}
else {
boxWidgetAll - > set_sensitive ( false ) ;
@ -116,6 +119,39 @@ void MainWindow::settings(){
this - > event ( ) ;
}
vector < tuple < string , vector < string > > > MainWindow : : format_os_list ( vector < string > & os_control_list ) {
vector < tuple < string , vector < string > > > vec_list_os ;
set < string > set_key ;
for ( string & name_os : os_control_list ) {
if ( name_os . find ( " > " ) ! = string : : npos ) {
set_key . insert ( name_os . substr ( 0 , name_os . find ( " > " ) + 1 ) ) ;
}
else {
vector < string > vec_os ;
tuple < string , vector < string > > t1 ( name_os , vec_os ) ;
vec_list_os . push_back ( t1 ) ;
}
}
set < string > : : iterator it = set_key . begin ( ) ;
for ( int index = 1 ; it ! = set_key . end ( ) ; index + + , it + + ) {
bool flag = false ;
string name_os_buff = " " ;
vector < string > vec_os_values ;
for ( string & name_os : os_control_list ) {
if ( name_os . find ( * it ) ! = string : : npos ) {
flag = true ;
vec_os_values . push_back ( name_os . substr ( name_os . find ( " > " ) + 1 , name_os . length ( ) - 1 ) ) ;
name_os_buff = * it ;
}
}
if ( flag ) {
tuple < string , vector < string > > t1 ( name_os_buff , vec_os_values ) ;
vec_list_os . push_back ( t1 ) ;
}
}
return vec_list_os ;
}
vector < string > MainWindow : : pars_os ( vector < string > & os_control_list ) {
string str_list_os = obj_process_call . call_all_sections ( cmd_pars_list_os ) ;
os_control_list = Utils : : split ( str_list_os , ' \n ' ) ;
@ -127,12 +163,6 @@ string MainWindow::pars_last_launched_os() {
return str_list_os ;
}
void MainWindow : : write_list_entry_os ( vector < string > & os_control_list ) {
for ( string & name_os : os_control_list ) {
cmbDefaultDonw - > append ( name_os ) ;
}
}
void MainWindow : : flag_block_gui ( ) {
if ( flag_load_global = = true ) {
btnLoadGlob - > set_sensitive ( false ) ;
@ -163,7 +193,6 @@ void MainWindow::fill_in_view() {
treeViewKernel - > set_model ( list_store_kernel ) ;
treeViewIPT - > set_model ( list_store_IPT ) ;
treeViewOTT - > set_model ( list_store_OTT ) ;
vec_Option_kernel = this - > read_file_and_view ( kernel_csv , row_kernel , list_store_kernel ) ;
vec_Option_IPT = this - > read_file_and_view ( IPT_csv , row_IPT , list_store_IPT ) ;
vec_Option_OTT = this - > read_file_and_view ( OTT_csv , row_OTT , list_store_OTT ) ;
@ -175,13 +204,25 @@ void MainWindow::fill_in_view() {
this - > view_add_colums ( * treeViewOTT ) ;
}
void MainWindow : : view_add_colums_user ( Gtk : : TreeView & treeView ) {
treeView . append_column_editable ( str_administrator , m_columns_user . check_button ) ;
treeView . append_column_editable ( str_user , m_columns_user . name ) ;
treeView . append_column_editable ( str_password , m_columns_user . password ) ;
}
void MainWindow : : view_add_colums_melody ( Gtk : : TreeView & treeView ) {
treeView . append_column_editable ( str_active , m_columns_melody . check_button ) ;
treeView . append_column_editable ( str_option , m_columns_melody . title ) ;
treeView . append_column_editable ( str_melody_code , m_columns_melody . melody_code ) ;
}
void MainWindow : : item_selected_kernel ( const Gtk : : TreeModel : : Path & , const Gtk : : TreeModel : : iterator & ) {
auto selection_IPT = treeViewIPT - > get_selection ( ) ;
auto selection_OTT = treeViewOTT - > get_selection ( ) ;
selection_IPT - > unselect_all ( ) ;
selection_OTT - > unselect_all ( ) ;
treeViewIPT - > get_selection ( ) - > unselect_all ( ) ;
treeViewOTT - > get_selection ( ) - > unselect_all ( ) ;
treeViewUser- > get_selection ( ) - > unselect_all ( ) ;
treeViewMelody- > get_selection ( ) - > unselect_all ( ) ;
if ( flag_blocked_tree_view = = false ) {
string str_flags = template_item_selected ( size_kernel , list_store_kernel ) ;
string str_flags = template_item_selected ( size_kernel , list_store_kernel , " GRUB_CMDLINE_LINUX " );
Utils : : str_replace_all ( str_flags , " \" " , " \" " ) ;
Utils : : str_replace_all ( str_flags , " \" " , " " ) ;
map_cmd_selection [ " GRUB_CMDLINE_LINUX " ] = str_flags ;
@ -191,12 +232,12 @@ void MainWindow::item_selected_kernel(const Gtk::TreeModel::Path&, const Gtk::Tr
}
void MainWindow : : item_selected_OTT ( const Gtk : : TreeModel : : Path & , const Gtk : : TreeModel : : iterator & ) {
auto selection_kernel = treeViewKernel - > get_selection ( ) ;
auto selection_IPT = treeViewIPT - > get_selection ( ) ;
selection_kernel - > unselect_all ( ) ;
selection_IPT - > unselect_all ( ) ;
treeViewIPT - > get_selection ( ) - > unselect_all ( ) ;
treeViewKernel - > get_selection ( ) - > unselect_all ( ) ;
treeViewUser- > get_selection ( ) - > unselect_all ( ) ;
treeViewMelody- > get_selection ( ) - > unselect_all ( ) ;
if ( flag_blocked_tree_view = = false ) {
string str_flags = template_item_selected ( size_OTT , list_store_OTT );
string str_flags = template_item_selected ( size_OTT , list_store_OTT , " GRUB_TERMINAL_OUTPUT " );
Utils : : str_replace_all ( str_flags , " \" " , " \" " ) ;
Utils : : str_replace_all ( str_flags , " \" " , " " ) ;
map_cmd_selection [ " GRUB_TERMINAL_OUTPUT " ] = str_flags ;
@ -204,13 +245,14 @@ void MainWindow::item_selected_OTT(const Gtk::TreeModel::Path&, const Gtk::TreeM
entryOTT - > set_text ( str_flags ) ;
}
}
void MainWindow : : item_selected_IPT ( const Gtk : : TreeModel : : Path & , const Gtk : : TreeModel : : iterator & ) {
auto selection_kernel = treeViewKernel - > get_selection ( ) ;
auto selection_OTT = treeViewOTT - > get_selection ( ) ;
selection_kernel - > unselect_all ( ) ;
selection_OTT - > unselect_all ( ) ;
treeViewKernel - > get_selection ( ) - > unselect_all ( ) ;
treeViewOTT - > get_selection ( ) - > unselect_all ( ) ;
treeViewUser- > get_selection ( ) - > unselect_all ( ) ;
treeViewMelody- > get_selection ( ) - > unselect_all ( ) ;
if ( flag_blocked_tree_view = = false ) {
string str_flags = template_item_selected ( size_IPT , list_store_IPT );
string str_flags = template_item_selected ( size_IPT , list_store_IPT , " GRUB_TERMINAL_INPUT " );
Utils : : str_replace_all ( str_flags , " \" " , " \" " ) ;
Utils : : str_replace_all ( str_flags , " \" " , " " ) ;
map_cmd_selection [ " GRUB_TERMINAL_INPUT " ] = str_flags ;
@ -272,88 +314,26 @@ void MainWindow::set_download_mode() {
map_cmd_selection [ " GRUB_BOOT_SILENT " ] = key ;
}
void MainWindow : : set_security_login ( ) {
bool index = chbSecurityLogin - > get_active ( ) ;
string key = " " ;
if ( index = = false ) {
key = " " ;
}
else if ( index = = true ) {
key = entrySecurityLogin - > get_text ( ) ;
}
map_cmd_selection [ " GRUB_USER " ] = key ;
}
void MainWindow : : get_security_login ( std : : map < string , string > & map_temp ) {
// Todo;
std : : map < string , string > : : iterator iter_map_data ;
iter_map_data = map_temp . find ( " GRUB_USER " ) ;
if ( iter_map_data ! = map_temp . end ( ) ) {
string value = iter_map_data - > second ;
if ( value . length ( ) ! = 0 ) {
Utils : : str_replace_all ( value , " " , " " ) ;
Utils : : str_replace_all ( value , " \" " , " " ) ;
chbSecurityLogin - > set_active ( 1 ) ;
entrySecurityLogin - > set_sensitive ( true ) ;
entrySecurityLogin - > set_text ( value ) ;
}
else {
chbSecurityLogin - > set_active ( 0 ) ;
entrySecurityLogin - > set_text ( " " ) ;
entrySecurityLogin - > set_sensitive ( false ) ;
}
}
else {
chbSecurityLogin - > set_active ( 0 ) ;
entrySecurityLogin - > set_text ( " " ) ;
entrySecurityLogin - > set_sensitive ( false ) ;
}
}
void MainWindow : : set_password_protec ( ) {
bool index = chbPasswordProtecc - > get_active ( ) ;
string key = " " ;
if ( index = = false ) {
key = " " ;
}
else if ( index = = true ) {
key = entryPasswordProtecc - > get_text ( ) ;
}
if ( key ! = " ************ " ) {
map_cmd_selection [ " GRUB_PASSWORD " ] = key ;
}
}
void MainWindow : : get_password_protec ( std : : map < string , string > & map_temp ) {
std : : map < string , string > : : iterator iter_map_data ;
iter_map_data = map_temp . find ( " GRUB_PASSWORD " ) ;
if ( iter_map_data ! = map_temp . end ( ) ) {
string value = iter_map_data - > second ;
if ( value . length ( ) ! = 0 ) {
Utils : : str_replace_all ( value , " \" " , " " ) ;
chbPasswordProtecc - > set_active ( 1 ) ;
entryPasswordProtecc - > set_text ( " ************ " ) ;
entryPasswordProtecc - > set_sensitive ( true ) ;
}
else {
chbPasswordProtecc - > set_active ( 0 ) ;
entryPasswordProtecc - > set_text ( " " ) ;
}
}
else {
chbPasswordProtecc - > set_active ( - 1 ) ;
}
}
string MainWindow : : template_item_selected ( int size , Glib : : RefPtr < Gtk : : ListStore > & list_store ) {
string cmds = " " ;
string MainWindow : : template_item_selected ( int size , Glib : : RefPtr < Gtk : : ListStore > & list_store , string key ) {
string cmds = map_cmd_selection [ key ] ;
Utils : : str_replace_all ( cmds , " \" " , " " ) ;
for ( int index = 0 ; index < size ; index + + ) {
Gtk : : TreeModel : : Row row = list_store - > children ( ) [ index ] ;
if ( row ) {
if ( row [ m_columns . check_button ] = = true ) {
cmds + = row [ m_columns . name ] + " " ;
string param = row [ m_columns . name ] + " " ;
if ( row [ m_columns . check_button ] = = true & & cmds . find ( param ) = = string : : npos ) {
cmds + = " " + param + " " ;
}
if ( row [ m_columns . check_button ] = = false & & cmds . find ( param ) ! = string : : npos ) {
Utils : : str_remove ( cmds , param ) ;
}
}
}
Utils : : str_replace_all ( cmds , " " , " " ) ;
if ( cmds . length ( ) > 0 ) {
if ( cmds [ 0 ] = = ' ' ) {
cmds = cmds . substr ( 1 , cmds . length ( ) - 1 ) ;
}
}
cmds = " \" " + cmds + " \" " ;
return cmds ;
@ -361,8 +341,8 @@ string MainWindow::template_item_selected(int size, Glib::RefPtr<Gtk::ListStore>
vector < string > MainWindow : : read_file_and_view ( string file_name , Gtk : : TreeModel : : Row & row , Glib : : RefPtr < Gtk : : ListStore > list_store_m ) {
std : : array < std : : vector < st d: : st ring> , 5 > arr_view = Utils : : read_csv ( string ( path_resources ) + " / " + file_name ) ;
std : : vector < st d: : st ring> vec_Option = arr_view [ 0 ] ;
std : : array < std : : vector < st ring> , 5 > arr_view = Utils : : read_csv ( string ( path_resources ) + " / " + file_name ) ;
std : : vector < st ring> vec_Option = arr_view [ 0 ] ;
for ( size_t index = 0 ; index < vec_Option . size ( ) ; index + + ) {
this - > view_add_cell ( row , list_store_m , arr_view , index ) ;
@ -376,7 +356,7 @@ void MainWindow::view_add_colums(Gtk::TreeView &treeView) {
treeView . append_column ( str_description , m_columns . description ) ;
}
void MainWindow : : view_add_cell ( Gtk : : TreeModel : : Row & row , Glib : : RefPtr < Gtk : : ListStore > list_store_m , std : : array < std : : vector < st d: : st ring> , 5 > & arr_view , size_t index ) {
void MainWindow : : view_add_cell ( Gtk : : TreeModel : : Row & row , Glib : : RefPtr < Gtk : : ListStore > list_store_m , std : : array < std : : vector < st ring> , 5 > & arr_view , size_t index ) {
row = * ( list_store_m - > append ( ) ) ;
bool flag_chb = false ;
string name = arr_view [ 0 ] [ index ] ;
@ -399,15 +379,12 @@ void MainWindow::get_builder() {
builder - > get_widget ( " lblInfoSeconds " , lblInfoSeconds ) ;
builder - > get_widget ( " lblHeaderName " , lblHeaderName ) ;
builder - > get_widget ( " lblInfoHead " , lblInfoHead ) ;
builder - > get_widget ( " spbSecond " , spbSecond ) ;
builder - > get_widget ( " entryKernel " , entryKernel ) ;
builder - > get_widget ( " entryIPT " , entryIPT ) ;
builder - > get_widget ( " entryOTT " , entryOTT ) ;
builder - > get_widget ( " boxColor " , boxColor ) ;
builder - > get_widget ( " boxWidgetAll " , boxWidgetAll ) ;
builder - > get_widget ( " aboutWindows " , aboutWindows ) ;
builder - > get_widget ( " btnSynopsis " , btnSynopsis ) ;
builder - > get_widget ( " btnAbout " , btnAbout ) ;
@ -432,16 +409,10 @@ void MainWindow::get_builder() {
builder - > get_widget ( " overHead " , overHead ) ;
builder - > get_widget ( " lblDownloadMode " , lblDownloadMode ) ;
builder - > get_widget ( " cmbDownloadMode " , cmbDownloadMode ) ;
builder - > get_widget ( " chbSecurityLogin " , chbSecurityLogin ) ;
builder - > get_widget ( " chbPasswordProtecc " , chbPasswordProtecc ) ;
builder - > get_widget ( " entryPasswordProtecc " , entryPasswordProtecc ) ;
builder - > get_widget ( " entrySecurityLogin " , entrySecurityLogin ) ;
builder - > get_widget ( " cmbDefaultDonw " , cmbDefaultDonw ) ;
# ifdef WEBKIT_FOUND
builder - > get_widget ( " wndWeb " , wndWeb ) ;
# endif
builder - > get_widget ( " lblHeadeWndWeb " , lblHeadeWndWeb ) ;
builder - > get_widget ( " lblwebHeaderName " , lblwebHeaderName ) ;
builder - > get_widget ( " lblhelpText " , lblhelpText ) ;
builder - > get_widget ( " lblhelpHeader " , lblhelpHeader ) ;
@ -449,7 +420,16 @@ void MainWindow::get_builder() {
builder - > get_widget ( " btnReadHelp " , btnReadHelp ) ;
builder - > get_widget ( " btnCancelHelp " , btnCancelHelp ) ;
builder - > get_widget ( " wndShowWeb " , wndShowWeb ) ;
builder - > get_widget ( " btnOpenMenuOS " , btnOpenMenuOS ) ;
builder - > get_widget ( " entrListOS " , entrListOS ) ;
builder - > get_widget ( " treeViewUser " , treeViewUser ) ;
builder - > get_widget ( " treeViewMelody " , treeViewMelody ) ;
builder - > get_widget ( " lblBootMenuUsers " , lblBootMenuUsers ) ;
builder - > get_widget ( " lblRingtoneStartup " , lblRingtoneStartup ) ;
builder - > get_widget ( " btnAddUser " , btnAddUser ) ;
builder - > get_widget ( " btnRemoveUser " , btnRemoveUser ) ;
builder - > get_widget ( " btnAddMusic " , btnAddMusic ) ;
builder - > get_widget ( " btnRemoveMusic " , btnRemoveMusic ) ;
}
void MainWindow : : localization ( ) {
@ -467,6 +447,8 @@ void MainWindow::localization(){
lblHeaderName - > set_text ( name_app ) ;
aboutWindows - > set_comments ( system_boot ) ;
lblHeaderAboutTopic - > set_label ( str_about ) ;
lblBootMenuUsers - > set_text ( str_title_Boot_Menu_Users ) ;
lblRingtoneStartup - > set_text ( str_title_Ringtone_Startup ) ;
aboutWindows - > set_website_label ( project_Home_page ) ;
lblInfoCommand - > set_text ( command_line_parameters ) ;
lblInfoCommand1 - > set_text ( command_line_parameters ) ;
@ -489,18 +471,11 @@ void MainWindow::localization(){
btnLoad - > set_label ( str_load ) ;
this - > set_title ( name_app ) ;
// Todo: check
entrySecurityLogin - > set_tooltip_text ( loading_animation_without ) ;
entryPasswordProtecc - > set_tooltip_text ( user_password_configuration_edit_mode ) ;
chbSecurityLogin - > set_tooltip_text ( loading_animation_without ) ;
chbPasswordProtecc - > set_tooltip_text ( user_password_configuration_edit_mode ) ;
lblDownloadMode - > set_text ( boot_screen_display_mode ) ;
chbSecurityLogin - > set_label ( boot_menu_user_name ) ;
chbPasswordProtecc - > set_label ( boot_menu_user_password ) ;
cmbDownloadMode - > append ( loading_animation_with ) ;
cmbDownloadMode - > append ( loading_animation_without ) ;
cmbDownloadMode - > append ( no_loading_animation ) ;
cmbDownloadMode - > append ( lack_loading_animation ) ;
cmbDefaultDonw - > append ( last_successful_upload ) ;
lblhelpHeader - > set_text ( read_documentation_web ) ;
lblhelpText - > set_text ( _ ( redirected_documentation ) ) ;
@ -527,58 +502,34 @@ vector<string> MainWindow::get_setting_entry_all(string key, std::map <string, s
return vec_params ;
}
bool MainWindow : : focus_out_txt_password ( GdkEventFocus * ) {
if ( entryPasswordProtecc - > get_text ( ) . length ( ) = = 0 ) {
info_status_app ( info_box_error_css ) ;
imgInfo - > set_from_icon_name ( icon_warning , Gtk : : ICON_SIZE_MENU ) ;
lblWarning - > set_text ( enter_password ) ;
boxSave - > set_sensitive ( false ) ;
}
else {
info_status_app ( info_box_ok_css ) ;
imgInfo - > set_from_icon_name ( icon_checked , Gtk : : ICON_SIZE_MENU ) ;
lblWarning - > set_text ( " " ) ;
boxSave - > set_sensitive ( true ) ;
string key = entryPasswordProtecc - > get_text ( ) ;
if ( key ! = " ************ " ) {
map_cmd_selection [ " GRUB_PASSWORD " ] = key ;
void MainWindow : : focus_out_txt_kernel ( ) {
this - > set_entry_to_tree_view ( list_store_kernel , * entryKernel , vec_Option_kernel , size_kernel , " GRUB_CMDLINE_LINUX " ) ;
this - > set_row_all ( map_cmd_selection , list_store_kernel , vec_Option_kernel , size_kernel , " GRUB_CMDLINE_LINUX " ) ;
flag_blocked_tree_view = false ;
}
}
return true ;
}
bool MainWindow : : focus_out_txt_login ( GdkEventFocus * ) {
if ( entrySecurityLogin - > get_text ( ) . length ( ) = = 0 ) {
info_status_app ( info_box_error_css ) ;
imgInfo - > set_from_icon_name ( icon_warning , Gtk : : ICON_SIZE_MENU ) ;
lblWarning - > set_text ( enter_login ) ;
boxSave - > set_sensitive ( false ) ;
}
else {
info_status_app ( info_box_ok_css ) ;
imgInfo - > set_from_icon_name ( icon_checked , Gtk : : ICON_SIZE_MENU ) ;
lblWarning - > set_text ( " " ) ;
map_cmd_selection [ " GRUB_USER " ] = entrySecurityLogin - > get_text ( ) ;
boxSave - > set_sensitive ( true ) ;
}
return true ;
void MainWindow : : focus_out_txt_IPT ( ) {
this - > set_entry_to_tree_view ( list_store_IPT , * entryIPT , vec_Option_IPT , size_IPT , " GRUB_TERMINAL_INPUT " ) ;
this - > set_row_all ( map_cmd_selection , list_store_IPT , vec_Option_IPT , size_IPT , " GRUB_TERMINAL_INPUT " ) ;
flag_blocked_tree_view = false ;
}
bool MainWindow : : focus_out_txt_kernel ( GdkEventFocus * ) {
this - > set_entry_to_tree_view ( list_store_kernel , * entryKernel , vec_Option_kernel , size_kernel ) ;
return true ;
void MainWindow : : focus_out_txt_OTT ( ) {
this - > set_entry_to_tree_view ( list_store_OTT , * entryOTT , vec_Option_OTT , size_OTT , " GRUB_TERMINAL_OUTPUT " ) ;
this - > set_row_all ( map_cmd_selection , list_store_OTT , vec_Option_OTT , size_OTT , " GRUB_TERMINAL_OUTPUT " ) ;
flag_blocked_tree_view = false ;
}
bool MainWindow : : focus_ out_txt_IPT ( GdkEventFocus * ) {
this - > set_entry_to_tree_view ( list_store_IPT , * entryIPT , vec_Option_IPT , size_IPT ) ;
return true ;
}
bool MainWindow : : focus_out_txt_OTT ( GdkEventFocus * ) {
this - > set_entry_to_tree_view ( list_store_OTT , * entryOTT , vec_Option_OTT , size_OTT ) ;
bool MainWindow : : focus_in_txt_entry ( GdkEventFocus * ) {
treeViewKernel - > get_selection ( ) - > unselect_all ( ) ;
treeViewIPT - > get_selection ( ) - > unselect_all ( ) ;
treeViewOTT - > get_selection ( ) - > unselect_all ( ) ;
treeViewUser - > get_selection ( ) - > unselect_all ( ) ;
treeViewMelody - > get_selection ( ) - > unselect_all ( ) ;
return true ;
}
void MainWindow : : set_entry_to_tree_view ( Glib : : RefPtr < Gtk : : ListStore > & list_store , Gtk : : Entry & entry , std : : vector < std : : string > & vec_Option , int size ) {
void MainWindow : : set_entry_to_tree_view ( Glib : : RefPtr < Gtk : : ListStore > & list_store , Gtk : : Entry & entry , std : : vector < std : : string > & vec_Option , int size , string key ) {
flag_blocked_tree_view = true ;
vector < string > vec_params ;
std : : string text = entry . get_text ( ) ;
@ -590,7 +541,16 @@ void MainWindow::set_entry_to_tree_view(Glib::RefPtr<Gtk::ListStore> &list_store
for ( auto & name : vec_params ) {
this - > set_row ( list_store , size , name , true ) ;
}
flag_blocked_tree_view = false ;
Utils : : str_replace_all ( text , " , " , " " ) ;
if ( text . length ( ) > 0 ) {
if ( text [ 0 ] = = ' ' ) {
text = text . substr ( 1 , text . length ( ) - 1 ) ;
}
}
if ( text . find ( " \" " ) = = string : : npos & & text . length ( ) ! = 0 ) {
text = " \" " + text + " \" " ;
}
map_cmd_selection [ key ] = text ;
}
void MainWindow : : get_menu_boot ( std : : map < string , string > & map_temp ) {
@ -629,10 +589,16 @@ void MainWindow::cmd_entry_all(Gtk::Entry &entry, string cmd_settings, string cm
else {
obj_process_system . call ( cmd_remove , " " ) ;
}
}
void MainWindow : : event ( ) {
btnRemoveUser - > signal_clicked ( ) . connect ( [ & ] ( ) { remove_user ( ) ; } ) ;
btnRemoveMusic - > signal_clicked ( ) . connect ( [ & ] ( ) { remove_melody ( ) ; } ) ;
btnAddUser - > signal_clicked ( ) . connect ( [ & ] ( ) { string name = " " , passwd = " " ;
set_add_data_user ( row_user , false , name , passwd ) ; } ) ;
btnAddMusic - > signal_clicked ( ) . connect ( [ & ] ( ) { string code = " " , name = " " ;
set_add_data_melody ( row_melody , false , name , code ) ; } ) ;
btnOpenMenuOS - > signal_clicked ( ) . connect ( [ & ] ( ) { obj_menu_os . show ( ) ; } ) ;
btnCancelHelp - > signal_clicked ( ) . connect ( [ & ] ( ) { wndShowWeb - > hide ( ) ; } ) ;
chkAlwaysOpenHelp - > signal_toggled ( ) . connect ( [ & ] ( ) { flag_open_browser = true ; } ) ;
btnReadHelp - > signal_clicked ( ) . connect ( sigc : : mem_fun ( * this , & MainWindow : : open_browser ) ) ;
@ -643,13 +609,9 @@ void MainWindow::event(){
btnSaveLocalGlob - > signal_activate ( ) . connect ( [ & ] ( ) { wrapper_save_all_cfg ( ) ; } ) ;
btnSaveLocal - > signal_activate ( ) . connect ( [ & ] ( ) { wrapper_save_local_cfg ( ) ; } ) ;
btnSaveGlob - > signal_activate ( ) . connect ( [ & ] ( ) { wrapper_save_global_cfg ( ) ; } ) ;
entryKernel - > signal_focus_out_event ( ) . connect ( sigc : : mem_fun ( * this , & MainWindow : : focus_out_txt_kernel ) ) ;
entryIPT - > signal_focus_out_event ( ) . connect ( sigc : : mem_fun ( * this , & MainWindow : : focus_out_txt_IPT ) ) ;
entryOTT - > signal_focus_out_event ( ) . connect ( sigc : : mem_fun ( * this , & MainWindow : : focus_out_txt_OTT ) ) ;
entrySecurityLogin - > signal_focus_out_event ( ) . connect ( sigc : : mem_fun ( * this , & MainWindow : : focus_out_txt_login ) ) ;
entryPasswordProtecc - > signal_focus_out_event ( ) . connect ( sigc : : mem_fun ( * this , & MainWindow : : focus_out_txt_password ) ) ;
chbPasswordProtecc - > signal_toggled ( ) . connect ( [ & ] ( ) { change_password_protecc ( ) ; } ) ;
chbSecurityLogin - > signal_toggled ( ) . connect ( [ & ] ( ) { change_security_login ( ) ; } ) ;
entryKernel - > signal_changed ( ) . connect ( sigc : : mem_fun ( * this , & MainWindow : : focus_out_txt_kernel ) ) ;
entryIPT - > signal_changed ( ) . connect ( sigc : : mem_fun ( * this , & MainWindow : : focus_out_txt_IPT ) ) ;
entryOTT - > signal_changed ( ) . connect ( sigc : : mem_fun ( * this , & MainWindow : : focus_out_txt_OTT ) ) ;
if ( this - > check_root ( ) = = 0 ) {
Glib : : RefPtr < Gtk : : TreeModel > treeViewKernelModel = treeViewKernel - > get_model ( ) ;
treeViewKernelModel - > signal_row_changed ( ) . connect ( sigc : : mem_fun ( * this , & MainWindow : : item_selected_kernel ) ) ;
@ -657,71 +619,324 @@ void MainWindow::event(){
treeViewIPTModel - > signal_row_changed ( ) . connect ( sigc : : mem_fun ( * this , & MainWindow : : item_selected_IPT ) ) ;
Glib : : RefPtr < Gtk : : TreeModel > treeViewOTTModel = treeViewOTT - > get_model ( ) ;
treeViewOTTModel - > signal_row_changed ( ) . connect ( sigc : : mem_fun ( * this , & MainWindow : : item_selected_OTT ) ) ;
entryKernel - > signal_focus_ out _event( ) . connect ( sigc : : mem_fun ( * this , & MainWindow : : focus_ out_txt_kernel ) ) ;
entryIPT - > signal_focus_ out _event( ) . connect ( sigc : : mem_fun ( * this , & MainWindow : : focus_ out_txt_IPT ) ) ;
entryOTT - > signal_focus_ out _event( ) . connect ( sigc : : mem_fun ( * this , & MainWindow : : focus_ out_txt_OTT ) ) ;
entryKernel - > signal_focus_ in _event( ) . connect ( sigc : : mem_fun ( * this , & MainWindow : : focus_ in_txt_entry ) ) ;
entryIPT - > signal_focus_ in _event( ) . connect ( sigc : : mem_fun ( * this , & MainWindow : : focus_ in_txt_entry ) ) ;
entryOTT - > signal_focus_ in _event( ) . connect ( sigc : : mem_fun ( * this , & MainWindow : : focus_ in_txt_entry ) ) ;
}
this - > signal_delete_event ( ) . connect ( sigc : : mem_fun ( * this , & MainWindow : : gui_exit ) ) ;
chbLoadVariantSelectionTimer - > signal_toggled ( ) . connect ( sigc : : mem_fun ( * this , & MainWindow : : set_active_boot_second ) ) ;
}
bool MainWindow : : gui_exit ( GdkEventAny * ) {
exit ( 1 ) ;
return true ;
void MainWindow : : set_tree_view_user ( ) {
string key = " " ;
string users_root = " " ;
string password = " " ;
bool flag_available = false ;
Glib : : RefPtr < Gtk : : TreeModel > treeViewUser_model = treeViewUser - > get_model ( ) ;
Gtk : : TreeModel : : Children children = treeViewUser_model - > children ( ) ;
for ( Gtk : : TreeModel : : iterator iter = children . begin ( ) ; iter ! = children . end ( ) ; + + iter ) {
Gtk : : TreeModel : : Row row = * iter ;
if ( row ) {
string superuser_name = row [ m_columns_user . name ] + " " ;
if ( row [ m_columns_user . check_button ] & & superuser_name . length ( ) ! = 0 ) {
key = " GRUB_PASSWORD[ " + superuser_name + " ] " ;
password = row [ m_columns_user . password ] + " " ;
if ( password ! = " ************ " ) {
map_cmd_selection [ key ] = password ;
flag_available = false ;
for ( size_t index = 0 ; index < vec_param_names . size ( ) ; index + + ) {
if ( vec_param_names [ index ] = = map_cmd_selection [ key ] ) {
flag_available = true ;
}
}
if ( flag_available = = false ) {
vec_param_names . push_back ( key ) ;
}
void MainWindow : : change_security_login ( ) {
bool index = chbSecurityLogin - > get_active ( ) ;
if ( index = = false ) {
entrySecurityLogin - > set_sensitive ( false ) ;
entrySecurityLogin - > set_text ( " " ) ;
boxSave - > set_sensitive ( true ) ;
info_status_app ( info_box_ok_css ) ;
imgInfo - > set_from_icon_name ( icon_checked , Gtk : : ICON_SIZE_MENU ) ;
lblWarning - > set_text ( " " ) ;
}
else if ( index = = true ) {
entrySecurityLogin - > set_sensitive ( true ) ;
entrySecurityLogin - > set_text ( " " ) ;
boxSave - > set_sensitive ( true ) ;
else {
// map_cmd_selection[key] = "";
}
if ( row [ m_columns_user . check_button ] ) {
if ( users_root . length ( ) ! = 0 ) {
users_root = users_root + " , " + superuser_name ;
}
void MainWindow : : get_default_load ( std : : map < string , string > & map_temp ) {
std : : map < string , string > : : iterator iter_map_data ;
iter_map_data = map_temp . find ( " GRUB_DEFAULT " ) ;
if ( iter_map_data ! = map_temp . end ( ) ) {
string value = iter_map_data - > second ;
else {
users_root = users_root + row [ m_columns_user . name ] ;
}
}
}
}
}
if ( users_root . length ( ) ! = 0 ) {
map_cmd_selection [ " GRUB_SUPERUSERS " ] = users_root ;
}
else {
map_cmd_selection [ " GRUB_SUPERUSERS " ] = " " ;
}
}
void MainWindow : : set_init_data_user ( std : : map < string , string > & map_temp ) {
treeViewUser - > remove_all_columns ( ) ;
list_store_user = Gtk : : ListStore : : create ( m_columns_user ) ;
treeViewUser - > set_model ( list_store_user ) ;
vector < string > vec_users ;
string buf_key = " " ;
string password = " " ;
for ( auto & [ key , value ] : map_temp ) {
if ( key . find ( " GRUB_PASSWORD[ " ) ! = string : : npos ) {
buf_key = key ;
vec_param_names . push_back ( buf_key ) ;
Utils : : str_remove ( buf_key , " GRUB_PASSWORD[ " ) ;
Utils : : str_remove ( buf_key , " ] " ) ;
if ( value . length ( ) ! = 0 ) {
cmbDefaultDonw - > set_active_text ( value ) ;
password = " ************ " ;
this - > set_add_data_user ( row_user , false , buf_key , password ) ;
}
}
}
Glib : : RefPtr < Gtk : : TreeModel > treeViewUserModel = treeViewUser - > get_model ( ) ;
treeViewUserModel - > signal_row_changed ( ) . connect ( sigc : : mem_fun ( * this , & MainWindow : : remove_line_user ) ) ;
this - > view_add_colums_user ( * treeViewUser ) ;
}
void MainWindow : : set_init_data_superuser ( std : : map < string , string > & map_temp ) {
Glib : : RefPtr < Gtk : : TreeModel > treeViewUser_model = treeViewUser - > get_model ( ) ;
string names_superusers = map_temp [ " GRUB_SUPERUSERS " ] ;
vector < string > vec_superusers = Utils : : split ( names_superusers , ' , ' ) ;
Gtk : : TreeModel : : Children children = treeViewUser_model - > children ( ) ;
for ( string & str_superuser : vec_superusers ) {
for ( Gtk : : TreeModel : : iterator iter = children . begin ( ) ; iter ! = children . end ( ) ; + + iter ) {
Gtk : : TreeModel : : Row row = * iter ;
if ( row [ m_columns_user . name ] = = str_superuser ) {
row [ m_columns_user . check_button ] = true ;
}
}
}
}
void MainWindow : : set_data_csv_melody ( ) {
string path_name = " " ;
path_name = path_name + path_resources + " / " + " grub-melodylist.csv " ;
string line ;
string all_melody = " " ;
string all_melody_old = " " ;
string code_melodyes = " " ;
ifstream in ( path_name ) ;
if ( in . is_open ( ) ) {
while ( getline ( in , line ) ) {
all_melody_old + = line + " \n " ;
}
}
Glib : : RefPtr < Gtk : : TreeModel > treeViewMelody_model = treeViewMelody - > get_model ( ) ;
Gtk : : TreeModel : : Children children = treeViewMelody_model - > children ( ) ;
for ( Gtk : : TreeModel : : iterator iter = children . begin ( ) ; iter ! = children . end ( ) ; + + iter ) {
Gtk : : TreeModel : : Row row = * iter ;
code_melodyes = row [ m_columns_melody . melody_code ] + " " ;
if ( code_melodyes . length ( ) ! = 0 & & ( row [ m_columns_melody . title ] + " " ) . length ( ) ! = 0 ) {
all_melody + = row [ m_columns_melody . title ] + " , " + code_melodyes + " \n " ;
if ( row [ m_columns_melody . check_button ] ) {
map_cmd_selection [ " GRUB_PLAY " ] = code_melodyes + " " ;
}
else {
map_cmd_selection [ " GRUB_PLAY " ] = " " ;
}
}
else {
cmbDefaultDonw - > set_active ( 0 ) ;
imgInfo - > set_from_icon_name ( icon_warning , Gtk : : ICON_SIZE_MENU ) ;
info_status_app ( info_box_error_css ) ;
lblWarning - > set_text ( str_null_melody_name ) ;
}
}
if ( all_melody_old ! = all_melody ) {
ofstream fout ( path_name , ios_base : : out | ios_base : : trunc ) ;
if ( fout . is_open ( ) ) {
fout < < all_melody ;
fout . close ( ) ;
}
}
}
void MainWindow : : set_add_data_user ( Gtk : : TreeModel : : Row & row , bool flag , string & name , string & password ) {
row = * ( list_store_user - > append ( ) ) ;
row [ m_columns_user . check_button ] = flag ;
row [ m_columns_user . name ] = name ;
row [ m_columns_user . password ] = password ;
}
void MainWindow : : set_init_data_melody ( std : : map < string , string > & map_temp ) {
treeViewMelody - > remove_all_columns ( ) ;
list_store_melody = Gtk : : ListStore : : create ( m_columns_melody ) ;
treeViewMelody - > set_model ( list_store_melody ) ;
string path_name = " " ;
path_name = path_name + path_resources + " / " + " grub-melodylist.csv " ;
vector < tuple < string , string > > vec_melody = Utils : : read_csv_melody ( path_name ) ;
bool flag = false ;
string cgf_code_melody = map_temp [ " GRUB_PLAY " ] ;
for ( tuple < string , string > & tuple_melody : vec_melody ) {
string name = get < 0 > ( tuple_melody ) ;
string code = get < 1 > ( tuple_melody ) ;
flag = ( cgf_code_melody = = code ) ;
this - > set_add_data_melody ( row_melody , flag , name , code ) ;
}
Glib : : RefPtr < Gtk : : TreeModel > treeViewMelodyModel = treeViewMelody - > get_model ( ) ;
treeViewMelodyModel - > signal_row_changed ( ) . connect ( sigc : : mem_fun ( * this , & MainWindow : : remove_line_melody ) ) ;
this - > view_add_colums_melody ( * treeViewMelody ) ;
}
void MainWindow : : set_add_data_melody ( Gtk : : TreeModel : : Row & row , bool flag , string & name , string & code ) {
row = * ( list_store_melody - > append ( ) ) ;
row [ m_columns_melody . check_button ] = flag ;
row [ m_columns_melody . title ] = name ;
row [ m_columns_melody . melody_code ] = code ;
}
void MainWindow : : remove_user ( ) {
if ( flag_validate_del_user & & list_store_user - > iter_is_valid ( iter_user_del ) ) {
Gtk : : TreeModel : : Row row = * iter_user_del ;
if ( row ) {
string name = row [ m_columns_user . name ] + " " ;
string key = " GRUB_PASSWORD[ " + name + " ] " ;
map_cmd_selection [ key ] = " " ;
}
list_store_user - > erase ( iter_user_del ) ;
flag_validate_del_user = false ;
info_status_app ( info_box_ok_css ) ;
imgInfo - > set_from_icon_name ( icon_checked , Gtk : : ICON_SIZE_MENU ) ;
lblWarning - > set_text ( " " ) ;
}
flag_validate_del_user = false ;
}
void MainWindow : : remove_melody ( ) {
if ( flag_validate_del_melody & & list_store_melody - > iter_is_valid ( iter_melody_del ) ) {
list_store_melody - > erase ( iter_melody_del ) ;
flag_validate_del_melody = false ;
info_status_app ( info_box_ok_css ) ;
imgInfo - > set_from_icon_name ( icon_checked , Gtk : : ICON_SIZE_MENU ) ;
lblWarning - > set_text ( " " ) ;
}
flag_validate_del_melody = false ;
}
void MainWindow : : remove_line_user ( const Gtk : : TreeModel : : Path & , const Gtk : : TreeModel : : iterator & iter ) {
treeViewKernel - > get_selection ( ) - > unselect_all ( ) ;
treeViewOTT - > get_selection ( ) - > unselect_all ( ) ;
treeViewIPT - > get_selection ( ) - > unselect_all ( ) ;
treeViewMelody - > get_selection ( ) - > unselect_all ( ) ;
iter_user_del = iter ;
flag_validate_del_user = true ;
bool flag_error = false ;
string name = " " ;
string password = " " ;
Glib : : RefPtr < Gtk : : TreeModel > treeViewUser_model = treeViewUser - > get_model ( ) ;
Gtk : : TreeModel : : Children children = treeViewUser_model - > children ( ) ;
for ( Gtk : : TreeModel : : iterator iter = children . begin ( ) ; iter ! = children . end ( ) ; + + iter ) {
Gtk : : TreeModel : : Row row = * iter ;
name = row [ m_columns_user . name ] + " " ;
password = row [ m_columns_user . password ] + " " ;
if ( name . length ( ) = = 0 | | password . length ( ) = = 0 ) {
flag_error = true ;
break ;
}
}
if ( flag_error = = true ) {
imgInfo - > set_from_icon_name ( icon_warning , Gtk : : ICON_SIZE_MENU ) ;
info_status_app ( info_box_error_css ) ;
lblWarning - > set_text ( str_null_username ) ;
}
else {
cmbDefaultDonw - > set_active ( - 1 ) ;
info_status_app ( info_box_ok_css ) ;
imgInfo - > set_from_icon_name ( icon_checked , Gtk : : ICON_SIZE_MENU ) ;
lblWarning - > set_text ( " " ) ;
}
}
void MainWindow : : change_password_protecc ( ) {
// Todo;
bool index = chbPasswordProtecc - > get_active ( ) ;
if ( index = = false ) {
entryPasswordProtecc - > set_sensitive ( false ) ;
entryPasswordProtecc - > set_text ( " " ) ;
boxSave - > set_sensitive ( true ) ;
void MainWindow : : remove_line_melody ( const Gtk : : TreeModel : : Path & , const Gtk : : TreeModel : : iterator & iter ) {
treeViewKernel - > get_selection ( ) - > unselect_all ( ) ;
treeViewOTT - > get_selection ( ) - > unselect_all ( ) ;
treeViewIPT - > get_selection ( ) - > unselect_all ( ) ;
treeViewUser - > get_selection ( ) - > unselect_all ( ) ;
iter_melody_del = iter ;
flag_validate_del_melody = true ;
string code_melodyes = " " ;
string melody_title = " " ;
bool flag_error = false ;
Glib : : RefPtr < Gtk : : TreeModel > treeViewMelody_model = treeViewMelody - > get_model ( ) ;
Gtk : : TreeModel : : Children children = treeViewMelody_model - > children ( ) ;
for ( Gtk : : TreeModel : : iterator iter = children . begin ( ) ; iter ! = children . end ( ) ; + + iter ) {
Gtk : : TreeModel : : Row row = * iter ;
code_melodyes = row [ m_columns_melody . melody_code ] + " " ;
melody_title = row [ m_columns_melody . title ] + " " ;
if ( code_melodyes . length ( ) = = 0 | | melody_title . length ( ) = = 0 ) {
flag_error = true ;
break ;
}
}
if ( flag_error = = true ) {
imgInfo - > set_from_icon_name ( icon_warning , Gtk : : ICON_SIZE_MENU ) ;
info_status_app ( info_box_error_css ) ;
lblWarning - > set_text ( str_null_melody_name ) ;
}
else {
info_status_app ( info_box_ok_css ) ;
imgInfo - > set_from_icon_name ( icon_checked , Gtk : : ICON_SIZE_MENU ) ;
lblWarning - > set_text ( " " ) ;
}
else if ( index = = true ) {
entryPasswordProtecc - > set_sensitive ( true ) ;
entryPasswordProtecc - > set_text ( " " ) ;
boxSave - > set_sensitive ( true ) ;
this - > validate_melody ( ) ;
}
void MainWindow : : validate_melody ( ) {
Glib : : RefPtr < Gtk : : TreeModel > treeViewMelody_model = treeViewMelody - > get_model ( ) ;
Gtk : : TreeModel : : Children children = treeViewMelody_model - > children ( ) ;
int count = 0 ;
for ( Gtk : : TreeModel : : iterator iter = children . begin ( ) ; iter ! = children . end ( ) ; + + iter ) {
Gtk : : TreeModel : : Row row = * iter ;
if ( row [ m_columns_melody . check_button ] ) {
count + = 1 ;
}
}
if ( count > 1 ) {
for ( Gtk : : TreeModel : : iterator iter = children . begin ( ) ; iter ! = children . end ( ) ; + + iter ) {
Gtk : : TreeModel : : Row row = * iter ;
if ( row [ m_columns_melody . check_button ] ) {
count - = 1 ;
row [ m_columns_melody . check_button ] = false ;
}
}
}
}
bool MainWindow : : focus_tree_view ( GdkEventFocus * ) {
treeViewKernel - > set_can_focus ( false ) ;
treeViewIPT - > set_can_focus ( false ) ;
treeViewOTT - > set_can_focus ( false ) ;
treeViewKernel - > collapse_all ( ) ;
treeViewIPT - > collapse_all ( ) ;
treeViewOTT - > collapse_all ( ) ;
return true ;
}
bool MainWindow : : gui_exit ( GdkEventAny * ) {
exit ( 1 ) ;
return true ;
}
void MainWindow : : get_default_load ( std : : map < string , string > & map_temp ) {
std : : map < string , string > : : iterator iter_map_data ;
iter_map_data = map_temp . find ( " GRUB_DEFAULT " ) ;
if ( iter_map_data ! = map_temp . end ( ) ) {
string value = iter_map_data - > second ;
if ( value . length ( ) ! = 0 ) {
entrListOS - > set_text ( value ) ;
}
else {
entrListOS - > set_text ( " " ) ;
}
}
else {
boxSave - > set_sensitive ( true ) ;
entrListOS- > set_text ( " " ) ;
}
}
@ -794,7 +1009,6 @@ void MainWindow::wrapper_save_local_cfg() {
map_local_cmd_selection = map_cmd_selection ;
}
void MainWindow : : set_data_cfg ( ) {
string str_flags = entryKernel - > get_text ( ) ;
Utils : : str_remove ( str_flags , " , " ) ;
@ -815,25 +1029,27 @@ void MainWindow::set_data_cfg() {
else {
map_cmd_selection [ " GRUB_TIMEOUT " ] = " " ;
}
int index = cmbDefaultDonw - > get_active_row_number ( ) ;
if ( index ! = 0 & & index ! = - 1 ) {
map_cmd_selection [ " GRUB_DEFAULT " ] = cmbDefaultDonw- > get_active_text ( ) ;
string name_os = entrListOS - > get_text ( ) ;
if ( name_os. length ( ) ! = 0 ) {
map_cmd_selection [ " GRUB_DEFAULT " ] = name_os ;
}
else {
map_cmd_selection [ " GRUB_DEFAULT " ] = " " ;
}
this - > set_download_mode ( ) ;
this - > set_ security_login ( ) ;
this - > set_ password_protec( ) ;
this - > set_ tree_view_user ( ) ;
this - > set_ data_csv_melody( ) ;
}
void MainWindow : : download_globl_cfg ( ) {
str_flag_load = " global " ;
this - > load_template ( & map_global_cmd_selection , global_load ) ;
info_warning_error ( 1 ) ;
map_cmd_selection = map_global_cmd_selection ;
}
void MainWindow : : download_local_cfg ( ) {
str_flag_load = " system " ;
this - > load_template ( & map_local_cmd_selection , system_load ) ;
info_warning_error ( 0 ) ;
map_cmd_selection = map_local_cmd_selection ;
@ -858,18 +1074,19 @@ void MainWindow::load_template(std::map<string, string>* map_temp, string cmd) {
this - > set_row_all ( * map_temp , list_store_IPT , vec_Option_IPT , size_IPT , " GRUB_TERMINAL_INPUT " ) ;
this - > set_row_all ( * map_temp , list_store_OTT , vec_Option_OTT , size_OTT , " GRUB_TERMINAL_OUTPUT " ) ;
this - > get_download_mode ( * map_temp ) ;
this - > get_security_login ( * map_temp ) ;
this - > get_password_protec ( * map_temp ) ;
this - > get_default_load ( * map_temp ) ;
this - > set_entry ( entryKernel , * map_temp , " GRUB_CMDLINE_LINUX " ) ;
this - > set_entry ( entryIPT , * map_temp , " GRUB_TERMINAL_INPUT " ) ;
this - > set_entry ( entryOTT , * map_temp , " GRUB_TERMINAL_OUTPUT " ) ;
string str_last_launched_os_ubconfig = ( * map_temp ) [ " GRUB_DEFAULT " ] ;
this - > set_init_data_user ( * map_temp ) ;
this - > set_init_data_melody ( * map_temp ) ;
this - > set_init_data_superuser ( * map_temp ) ;
if ( str_last_launched_os_ubconfig . length ( ) ! = 0 ) {
cmbDefaultDonw - > set_active_text ( str_last_launched_os_ubconfig ) ;
entrListOS- > set _text( str_last_launched_os_ubconfig ) ;
}
else {
cmbDefaultDonw- > set_active _text( str_last_launched_os ) ;
entrListOS- > set _text( str_last_launched_os ) ;
}
}
@ -884,19 +1101,19 @@ void MainWindow::set_entry(Gtk::Entry* entry , std::map<string, string> &map_tem
else {
entry - > set_text ( " " ) ;
}
}
void MainWindow : : init_dict ( string flag_load ) {
std : : map < st d: : st ring, std : : string > map_cmd_selection_n ;
std : : map < st ring, string > map_cmd_selection_n ;
map_cmd_selection_n [ " GRUB_TIMEOUT " ] = " " ;
map_cmd_selection_n [ " GRUB_CMDLINE_LINUX " ] = " " ;
map_cmd_selection_n [ " GRUB_TERMINAL_INPUT " ] = " " ;
map_cmd_selection_n [ " GRUB_TERMINAL_OUTPUT " ] = " " ;
map_cmd_selection_n [ " GRUB_BOOT_SILENT " ] = " " ;
map_cmd_selection_n [ " GRUB_USER " ] = " " ;
map_cmd_selection_n [ " GRUB_PASSWORD " ] = " " ;
map_cmd_selection_n [ " GRUB_DEFAULT " ] = " " ;
map_cmd_selection_n [ " GRUB_PLAY " ] = " " ;
map_cmd_selection_n [ " GRUB_SUPERUSERS " ] = " " ;
map_cmd_selection = map_cmd_selection_n ;
if ( flag_load = = " global " ) {
map_global_cmd_selection = map_cmd_selection_n ;
@ -918,7 +1135,7 @@ void MainWindow::set_row_all(std::map <string, string> &map_cmd, Glib::RefPtr<Gt
}
}
void MainWindow : : set_row ( Glib : : RefPtr < Gtk : : ListStore > & list_store , int size , st d: : st ring name , bool flag_chbox ) {
void MainWindow : : set_row ( Glib : : RefPtr < Gtk : : ListStore > & list_store , int size , st ring name , bool flag_chbox ) {
for ( int index = 0 ; index < size ; index + + ) {
Gtk : : TreeModel : : Row row = list_store - > children ( ) [ index ] ;
if ( row ) {
@ -957,7 +1174,7 @@ void MainWindow::template_open_browser() {
auto size = static_cast < size_t > ( size_s ) ;
std : : unique_ptr < char [ ] > buf ( new char [ size ] ) ;
std : : snprintf ( buf . get ( ) , size , cmd_execute , response_user . c_str ( ) , cmd . c_str ( ) ) ;
cmd = st d: : st ring( buf . get ( ) , buf . get ( ) + size - 1 ) ;
cmd = st ring( buf . get ( ) , buf . get ( ) + size - 1 ) ;
}
index_error = system ( cmd . c_str ( ) ) ;
}