Исправлен порядок в списке ос

pull/18/head
Igor Belitskiy 3 years ago
parent b0593a3293
commit 48c6283efa

File diff suppressed because it is too large Load Diff

@ -26,15 +26,19 @@ void Menu_os::set_builder(Glib::RefPtr<Gtk::Builder>& builder, string path_glade
revealerL1->set_reveal_child(true);
}
void Menu_os::set_map(std::map <string, vector<string>> &map_list_os) {
this->map_list_os = map_list_os;
void Menu_os::set_map(vector<tuple<string, vector<string>>> &vec_list_os) {
this->vec_list_os = vec_list_os;
}
void Menu_os::init() {
revealerL1->set_reveal_child(true);
revealerL2->set_reveal_child(true);
size_t index_l1 = 0;
for (auto& [key, vec_value]: map_list_os) {
string key = "";
for (tuple<string, vector<string>> tuple_os: vec_list_os) {
key = get<0>(tuple_os);
vector<string> vec_value = get<1>(tuple_os);
map_menu_level_1[key] = new struct_menu_level1;
Glib::RefPtr<Gtk::Builder> builder_level_1 = Gtk::Builder::create_from_file(path_glade);
builder_level_1->get_widget("lblRevL1", map_menu_level_1[key]->lblRevL1);
@ -43,7 +47,7 @@ void Menu_os::init() {
map_menu_level_1[key]->btnToL2AndLv3_css = map_menu_level_1[key]->btnToL2AndLv3->get_style_context();
map_menu_level_1[key]->btnToL2AndLv3_css->add_class("noborder");
map_menu_level_1[key]->builder = builder_level_1;
boxLevel1->pack_end(*(map_menu_level_1[key]->boxMenuLevel1));
boxLevel1->pack_start(*(map_menu_level_1[key]->boxMenuLevel1));
map_menu_level_1[key]->name = key;
this->html_last_launched_os(key, map_menu_level_1[key]->lblRevL1);
map_menu_level_1[key]->btnToL2AndLv3->signal_clicked().connect(

@ -11,7 +11,7 @@ class Menu_os
{
private:
Glib::RefPtr<Gtk::Builder> builder;
std::map <string, vector<string>> map_list_os;
vector<tuple<string, vector<string>>> vec_list_os;
Gtk::Popover *popoverMenuOS;
Gtk::Revealer *revealerL1;
@ -50,7 +50,7 @@ private:
public:
Menu_os(/* args */);
void set_builder(Glib::RefPtr<Gtk::Builder>& builder, string path_glade);
void set_map(std::map <string, vector<string>> &map_list_os);
void set_map(vector<tuple<string, vector<string>>> &vec_list_os);
void init();
void show();
void close_revealer();

@ -98,9 +98,9 @@ void MainWindow::settings() {
this->download_local_cfg();
this->download_globl_cfg();
//this->view_add_colums_melody(*treeViewMelody);
std::map<string, vector<string>> map_list_os = format_os_list(os_control_list);
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(map_list_os);
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);
@ -120,8 +120,8 @@ void MainWindow::settings() {
this->event();
}
map<string, vector<string>> MainWindow::format_os_list(vector<string> &os_control_list) {
std::map<string, vector<string>> map_list_os;
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) {
@ -130,7 +130,8 @@ map<string, vector<string>> MainWindow::format_os_list(vector<string> &os_contro
else {
vector<string> vec_os;
//vec_os.push_back(" ");
map_list_os[name_os] = vec_os;
tuple<string, vector<string>> t1(name_os, vec_os);
vec_list_os.push_back(t1);
}
}
set<string>::iterator it = set_key.begin();
@ -146,10 +147,11 @@ map<string, vector<string>> MainWindow::format_os_list(vector<string> &os_contro
}
}
if (flag) {
map_list_os[name_os_buff] = vec_os_values;
tuple<string, vector<string>> t1(name_os_buff, vec_os_values);
vec_list_os.push_back(t1);
}
}
return map_list_os;
return vec_list_os;
}
vector<string> MainWindow::pars_os(vector<string> &os_control_list) {

@ -347,7 +347,7 @@ public:
void synopsis_show();
void set_data_cfg();
void set_data_csv_melody();
std::map<string, vector<string>> format_os_list(vector<string> &os_control_list);
vector<tuple<string, vector<string>>> format_os_list(vector<string> &os_control_list);
void set_active_boot_second();
void get_download_mode(std::map<string, string> &map_temp);
void view_add_cell(Gtk::TreeModel::Row &row, Glib::RefPtr<Gtk::ListStore> list_store_m, std::array<std::vector<std::string>, 5> &arr_view, size_t index);

Loading…
Cancel
Save