Добавлены действия в treeview на CheckButton

pull/11/head
Igor Belitskiy 3 years ago
parent 6d22273658
commit 3f24feac67

@ -1,14 +1,14 @@
Option,Description
quiet,Downloading without text messages
splash,Show welcome window
noplymouth,Disable Plymouth
acpi=off,Disable ACPI
noapic,Disable APIC
nolapic,Disable local APIC
single,Single User Mode
nomodeset,Disable kernel selection and loading of video drivers
915.enable_dc=0,Disable GPU power management
ahci.mobile_lpm_policy=1,"Maximum performance, power management"
snd-intel-dspcfg.dsp_driver=1,Forced selection of an Intel sound device driver
intel_idle.max_cstate=1,Prevents the processor from going into a deep sleep state
intel_idle.max_cstate=4,Eliminates flickering laptop display on Ultra Voltage processors
Get,Set=1,Set=0,Option,Description
cmd_get,cmd_true,cmd_false,quiet,Downloading without text messages
cmd_get,cmd_true,cmd_false,splash,Show welcome window
cmd_get,cmd_true,cmd_false,noplymouth,Disable Plymouth
cmd_get,cmd_true,cmd_false,acpi=off,Disable ACPI
cmd_get,cmd_true,cmd_false,noapic,Disable APIC
cmd_get,cmd_true,cmd_false,nolapic,Disable local APIC
cmd_get,cmd_true,cmd_false,single,Single User Mode
cmd_get,cmd_true,cmd_false,nomodeset,Disable kernel selection and loading of video drivers
cmd_get,cmd_true,cmd_false,915.enable_dc=0,Disable GPU power management
cmd_get,cmd_true,cmd_false,ahci.mobile_lpm_policy=1,"Maximum performance, power management"
cmd_get,cmd_true,cmd_false,snd-intel-dspcfg.dsp_driver=1,Forced selection of an Intel sound device driver
cmd_get,cmd_true,cmd_false,intel_idle.max_cstate=1,Prevents the processor from going into a deep sleep state
cmd_get,cmd_true,cmd_false,intel_idle.max_cstate=4,Eliminates flickering laptop display on Ultra Voltage processors

1 Get Set=1 Set=0 Option Description
2 cmd_get cmd_true cmd_false quiet Downloading without text messages
3 cmd_get cmd_true cmd_false splash Show welcome window
4 cmd_get cmd_true cmd_false noplymouth Disable Plymouth
5 cmd_get cmd_true cmd_false acpi=off Disable ACPI
6 cmd_get cmd_true cmd_false noapic Disable APIC
7 cmd_get cmd_true cmd_false nolapic Disable local APIC
8 cmd_get cmd_true cmd_false single Single User Mode
9 cmd_get cmd_true cmd_false nomodeset Disable kernel selection and loading of video drivers
10 cmd_get cmd_true cmd_false 915.enable_dc=0 Disable GPU power management
11 cmd_get cmd_true cmd_false ahci.mobile_lpm_policy=1 Maximum performance, power management
12 cmd_get cmd_true cmd_false snd-intel-dspcfg.dsp_driver=1 Forced selection of an Intel sound device driver
13 cmd_get cmd_true cmd_false intel_idle.max_cstate=1 Prevents the processor from going into a deep sleep state
14 cmd_get cmd_true cmd_false intel_idle.max_cstate=4 Eliminates flickering laptop display on Ultra Voltage processors

@ -1,6 +1,6 @@
Option,Description
console,PC BIOS & EFI console
serial,Serial terminal
ofconsole,Open Firmware Console
at_keyboard,PC AT Keyboard (Coreboot)
usb_keyboard,USB Keyboard (HID Boot protocol)
Get,Set=1,Set=0,Option,Description
cmd_get,cmd_true,cmd_false,console,PC BIOS & EFI console
cmd_get,cmd_true,cmd_false,serial,Serial terminal
cmd_get,cmd_true,cmd_false,ofconsole,Open Firmware Console
cmd_get,cmd_true,cmd_false,at_keyboard,PC AT Keyboard (Coreboot)
cmd_get,cmd_true,cmd_false,usb_keyboard,USB Keyboard (HID Boot protocol)

1 Get Set=1 Set=0 Option Description
2 cmd_get cmd_true cmd_false console PC BIOS & EFI console
3 cmd_get cmd_true cmd_false serial Serial terminal
4 cmd_get cmd_true cmd_false ofconsole Open Firmware Console
5 cmd_get cmd_true cmd_false at_keyboard PC AT Keyboard (Coreboot)
6 cmd_get cmd_true cmd_false usb_keyboard USB Keyboard (HID Boot protocol)

@ -1,6 +1,6 @@
Option,Description
console,PC BIOS & EFI console
serial,Serial terminal
ofconsole,Open Firmware Console
gfxterm,Output in graphical mode
vga_text,VGA text output (Coreboot)
Get,Set=1,Set=0,Option,Description
cmd_get,cmd_true,cmd_false,console,PC BIOS & EFI console
cmd_get,cmd_true,cmd_false,serial,Serial terminal
cmd_get,cmd_true,cmd_false,ofconsole,Open Firmware Console
cmd_get,cmd_true,cmd_false,gfxterm,Output in graphical mode
cmd_get,cmd_true,cmd_false,vga_text,VGA text output (Coreboot)

1 Get Set=1 Set=0 Option Description
2 cmd_get cmd_true cmd_false console PC BIOS & EFI console
3 cmd_get cmd_true cmd_false serial Serial terminal
4 cmd_get cmd_true cmd_false ofconsole Open Firmware Console
5 cmd_get cmd_true cmd_false gfxterm Output in graphical mode
6 cmd_get cmd_true cmd_false vga_text VGA text output (Coreboot)

@ -70,13 +70,12 @@ void MainWindow::settings(){
this->get_builder();
this->localization();
this->add_CSS();
this->event();
btnBoxAboutDialog->set_visible(false);
ubl_make_plugs(boxSave,boxButton, socket_ext_id_I, socket_trd_id_I);
if (this->check_root() == 0) {
this->fill_in_view();
this->event();
}
else{
@ -90,57 +89,76 @@ void MainWindow::settings(){
}
void MainWindow::fill_in_view() {
list_store_kernel = Gtk::ListStore::create(columns_kernel);
list_store_IPT = Gtk::ListStore::create(columns_IPT);
list_store_OTT = Gtk::ListStore::create(columns_OTT);
list_store_kernel = Gtk::ListStore::create(m_columns);
list_store_IPT = Gtk::ListStore::create(m_columns);
list_store_OTT = Gtk::ListStore::create(m_columns);
treeViewKernel->set_model(list_store_kernel);
treeViewIPT->set_model(list_store_IPT);
treeViewOTT->set_model(list_store_OTT);
Gtk::TreeModel::Row row_kernel = *(list_store_kernel->append());
Gtk::TreeModel::Row row_IPT = *(list_store_IPT->append());
Gtk::TreeModel::Row row_OTT = *(list_store_OTT->append());
this->read_file_and_view("boot-options.csv",row_kernel, list_store_kernel , columns_kernel);
this->read_file_and_view("input-options.csv",row_IPT, list_store_IPT , columns_IPT);
this->read_file_and_view("output-options.csv", row_OTT, list_store_OTT , columns_OTT);
this->view_add_colums(*treeViewKernel, columns_kernel);
this->view_add_colums(*treeViewIPT, columns_IPT);
this->view_add_colums(*treeViewOTT, columns_OTT);
this->read_file_and_view("boot-options.csv", row_kernel, list_store_kernel);
this->read_file_and_view("input-options.csv", row_IPT, list_store_IPT);
this->read_file_and_view("output-options.csv", row_OTT, list_store_OTT);
this->view_add_colums(*treeViewKernel);
this->view_add_colums(*treeViewIPT);
this->view_add_colums(*treeViewOTT);
}
void MainWindow::read_file_and_view(string file_name ,Gtk::TreeModel::Row &row, Glib::RefPtr<Gtk::ListStore> list_store_m , ModelColumns &m_colum) {
count_append_cell = 0;
std::array<std::vector<std::string>, 2> arr_view = read_csv(path_resources + "/" + file_name);
std::vector<std::string> vec_Option = arr_view[0];
std::vector<std::string> vec_Description = arr_view[1];
void MainWindow::item_selected(const Gtk::TreeModel::Path& path, const Gtk::TreeModel::iterator&)
{
const auto iter = list_store_kernel->get_iter(path);
if(iter) {
const auto row = *iter;
Glib::ustring cmd;
bool check_btn = row[m_columns.check_button];
if (check_btn) {
cmd = row[m_columns.cmd_set_true];
}
else {
cmd = row[m_columns.cmd_set_false];
}
Glib::ustring name = row[m_columns.name];
cout << cmd << " " << name << endl;
cmd_selection_global[name] = cmd;
}
}
void MainWindow::item_selected_row_changed(const Gtk::TreeModel::Path &, const Gtk::TreeModel::iterator &) {
cout << "item selected" << endl;
}
void MainWindow::read_file_and_view(string file_name ,Gtk::TreeModel::Row &row, Glib::RefPtr<Gtk::ListStore> list_store_m) {
std::array<std::vector<std::string>, 5> arr_view = read_csv(path_resources + "/" + file_name);
std::vector<std::string> vec_Option = arr_view[3];
std::vector<std::string> vec_Description = arr_view[4];
for (size_t index = 0; index < vec_Option.size(); index++) {
string str_option = _(vec_Option[index].c_str());
string str_description = _(vec_Description[index].c_str());
this->view_add_cell(row, list_store_m , m_colum, true, str_option, str_description);
this->view_add_cell(row, list_store_m , arr_view, index);
}
}
void MainWindow::view_add_colums(Gtk::TreeView &treeView, ModelColumns &m_columns) {
treeView.append_column(_("Active"), m_columns.check_button);
void MainWindow::view_add_colums(Gtk::TreeView &treeView) {
treeView.append_column_editable(_("Active"), m_columns.check_button);
treeView.append_column(_("Option"), m_columns.name);
treeView.append_column(_("Description"), m_columns.description);
}
void MainWindow::view_add_cell(Gtk::TreeModel::Row &row, Glib::RefPtr<Gtk::ListStore> list_store_m , ModelColumns &m_colum, bool flag_chk_btn, string name, string desc) {
;
if (count_append_cell != 0) {
row = *(list_store_m->append());
}
row[m_colum.check_button] = flag_chk_btn;
row[m_colum.name] = name;
row[m_colum.description] = desc;
void MainWindow::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) {
row = *(list_store_m->append());
bool flag_chb = true;
row[m_columns.cmd_get] = arr_view[0][index];
row[m_columns.cmd_set_true] = arr_view[1][index];
row[m_columns.cmd_set_false] = arr_view[2][index];
row[m_columns.check_button] = flag_chb;
row[m_columns.name] = _(arr_view[3][index].c_str());
row[m_columns.description] = _(arr_view[4][index].c_str());
count_append_cell += 1;
}
@ -245,6 +263,11 @@ void MainWindow::event(){
btnSaveLocalGlob->signal_activate().connect([&]() {save_global_local_cfg();});
btnSaveLocal->signal_activate().connect([&]() {save_local_cfg();});
btnSaveGlob->signal_activate().connect([&]() {save_global_cfg();});
//TreeView_TreeSelection = treeViewKernel->get_selection();
//TreeView_TreeSelection->signal_changed().connect(sigc::mem_fun(treeViewKernel, &MainWindow::item_selected) );
Glib::RefPtr<Gtk::TreeModel> treeViewKernelModel = treeViewKernel->get_model();
treeViewKernelModel->signal_row_changed().connect(sigc::mem_fun(*this, &MainWindow::item_selected));
}
void MainWindow::save_global_local_cfg(){

@ -10,6 +10,7 @@
#include <locale.h>
#include <libintl.h>
#include <glibmm/i18n.h>
#include <map>
#include "ubl-util-standard.c"
#include "util.h"
using namespace std;
@ -36,15 +37,16 @@ class MainWindow : public Gtk::ApplicationWindow {
public:
class ModelColumns : public Gtk::TreeModel::ColumnRecord {
public:
ModelColumns() {add(check_button), add(name); add(description); }
ModelColumns() {add(cmd_get),add(cmd_set_true),add(cmd_set_false),add(check_button), add(name); add(description); }
//Gtk::TreeModelColumn<Gtk::CheckButton> check_button;
Gtk::TreeModelColumn<Glib::ustring> cmd_get;
Gtk::TreeModelColumn<Glib::ustring> cmd_set_true;
Gtk::TreeModelColumn<Glib::ustring> cmd_set_false;
Gtk::TreeModelColumn<bool> check_button;
Gtk::TreeModelColumn<Glib::ustring> name;
Gtk::TreeModelColumn<Glib::ustring> description;
};
ModelColumns columns_kernel;
ModelColumns columns_IPT;
ModelColumns columns_OTT;
ModelColumns m_columns;
Glib::RefPtr<Gtk::Builder> builder;
Gtk::SpinButton *spbSecond;
Gtk::Label *lblInfoSeconds;
@ -88,17 +90,17 @@ class MainWindow : public Gtk::ApplicationWindow {
Gtk::TreeView *treeViewIPT;
Gtk::TreeView *treeViewOTT;
Gtk::TreeModel::Row row_kernel;
Gtk::TreeModel::Row row_IPT;
Gtk::TreeModel::Row row_OT;
Glib::RefPtr<Gtk::ListStore> list_store_kernel;
Glib::RefPtr<Gtk::ListStore> list_store_IPT;
Glib::RefPtr<Gtk::ListStore> list_store_OTT;
Gtk::TreeModel::Row row_kernel;
Gtk::TreeModel::Row row_IPT;
Gtk::TreeModel::Row row_OTT;
std::map <string, string> cmd_selection_global;
int width;
int heigh;
int screen_width;
int screen_hight;
int count_append_cell = 0;
string version_application = "1.0";
int index_error = 0;
string str_cmd_error = "";
@ -120,21 +122,23 @@ class MainWindow : public Gtk::ApplicationWindow {
void fn_event_intelMax4();
void get_monitor_size();
void synopsis_show();
void view_add_cell(Gtk::TreeModel::Row &row, Glib::RefPtr<Gtk::ListStore> list_store_m , ModelColumns &m_colum, bool flag_chk_btn, string name, string desc);
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);
void wrapper_system(string cmd, string thread_str);
struct Result<string> wrapper_call(string cmd);
void log_mess_error(string &cmd);
void save_global_local_cfg();
void save_local_cfg();
void view_add_colums(Gtk::TreeView &treeView, ModelColumns &m_columns);
void view_add_colums(Gtk::TreeView &treeView);
void save_global_cfg();
void read_file_and_view(string file_name ,Gtk::TreeModel::Row &row, Glib::RefPtr<Gtk::ListStore> list_store_m , ModelColumns &m_colum);
void read_file_and_view(string file_name ,Gtk::TreeModel::Row &row, Glib::RefPtr<Gtk::ListStore> list_store_m);
void download_local_cfg();
void download_globl_cfg();
void info_status_app(string stule);
void info_warning_error(int mess);
int check_root();
void fill_in_view();
void item_selected(const Gtk::TreeModel::Path& path, const Gtk::TreeModel::iterator&);
void item_selected_row_changed(const Gtk::TreeModel::Path &, const Gtk::TreeModel::iterator &);
};

@ -1,7 +1,10 @@
#include "util.h"
std::array<std::vector<std::string>, 2> read_csv(const std::string& filename) {
std::array<std::vector<std::string>, 2> array_vectors;
std::array<std::vector<std::string>, 5> read_csv(const std::string& filename) {
std::array<std::vector<std::string>, 5> array_vectors;
std::vector<std::string> vec_cmd_get;
std::vector<std::string> vec_cmd_set_true;
std::vector<std::string> vec_cmd_set_false;
std::vector<std::string> vec_option;
std::vector<std::string> vec_opcision;
std::ifstream file(filename);
@ -10,15 +13,27 @@ std::array<std::vector<std::string>, 2> read_csv(const std::string& filename) {
getline(file, line);
while (std::getline(file, line)) {
std::stringstream stream(line);
std::string cmd_get;
std::string cmd_set_true;
std::string cmd_set_false;
std::string option;
std::string opcision;
getline(stream, cmd_get, delimiter);
getline(stream, cmd_set_true, delimiter);
getline(stream, cmd_set_false, delimiter);
getline(stream, option, delimiter);
getline(stream, opcision, delimiter);
vec_cmd_get.push_back(cmd_get);
vec_cmd_set_true.push_back(cmd_set_true);
vec_cmd_set_false.push_back(cmd_set_false);
vec_option.push_back(option);
vec_opcision.push_back(opcision);
}
array_vectors[0] = vec_option;
array_vectors[1] = vec_opcision;
array_vectors[0] = vec_cmd_get;
array_vectors[1] = vec_cmd_set_true;
array_vectors[2] = vec_cmd_set_false;
array_vectors[3] = vec_option;
array_vectors[4] = vec_opcision;
return array_vectors;
}

@ -9,5 +9,5 @@
std::array<std::vector<std::string>, 2> read_csv(const std::string& filename);
std::array<std::vector<std::string>, 5> read_csv(const std::string& filename);
std::string call(std::string cmd);
Loading…
Cancel
Save