Исправил замечание #15

pull/17/head
Igor Belitskiy 3 years ago
parent d91b5ada6d
commit 728d996b67

@ -189,7 +189,7 @@ void MainWindow::event() {
btnFilemaneg->signal_clicked().connect(sigc::mem_fun(*this, &MainWindow::open_filemaneg));
btnListApp->signal_clicked().connect(sigc::mem_fun(*this, &MainWindow::open_list_app));
btnStart->signal_clicked().connect(sigc::mem_fun(*this, &MainWindow::entry_app));
chbTerminal->signal_toggled().connect([&]() {cmbTerminal->set_sensitive(chbTerminal->get_active());this->denamic_cmd();});
chbTerminal->signal_toggled().connect([&]() {cmbTerminal->set_sensitive(chbTerminal->get_active());denamic_cmd();});
chbAnotherUser->signal_toggled().connect(sigc::mem_fun(*this, &MainWindow::activ_or_block_other_user));
spinPriority->signal_value_changed().connect(sigc::mem_fun(*this, &MainWindow::change_scale_priority));
scalePriority->signal_value_changed().connect(sigc::mem_fun(*this, &MainWindow::change_spin_priority));
@ -212,13 +212,14 @@ void MainWindow::event() {
iconSystem->signal_selection_changed().connect(sigc::mem_fun(*this,&MainWindow::select_System));
btnSynopsis->signal_activate().connect(sigc::mem_fun(*this, &MainWindow::synopsis_show));
btnAbout->signal_activate().connect([&]() {aboutWindows->show();});
cmbUser->signal_changed().connect([&]() {changed_user();denamic_cmd();});
cmbUser->signal_changed().connect([&]() {changed_user();this->denamic_cmd();});
rbSudo->signal_toggled().connect(sigc::mem_fun(*this, &MainWindow::sudo_nice));
txtCmd->signal_focus_out_event().connect(sigc::mem_fun(*this, &MainWindow::focus_out_txt_cmd));
txtCmd->signal_focus_in_event().connect(sigc::mem_fun(*this, &MainWindow::focus_in_txt_cmd));
txtCmd->signal_delete_text().connect(sigc::mem_fun(*this, &MainWindow::delete_cmd));
rbSu->signal_toggled().connect(sigc::mem_fun(*this, &MainWindow::sudo_nice));
rbPkexec->signal_toggled().connect(sigc::mem_fun(*this, &MainWindow::sudo_nice));
cmbTerminal->signal_changed().connect([&]() {this->denamic_cmd();});
}
@ -612,12 +613,16 @@ string MainWindow::start_cmd(string user_cmd) {
return "";
}
if (chbTerminal->get_active() == true) {
string name_terminal_arr = "";
string name_terminal = cmbTerminal->get_active_text();
if (name_terminal.length() != 0) {
int len_termunal_cmd = sizeof(termunal_cmd)/sizeof(*termunal_cmd);
for (int index = 0; index<len_termunal_cmd; ++index) {
if (name_terminal == termunal_bin[index]) {
str_cmd_terminal = termunal_bin[index] + termunal_cmd[index];
for (int index = 0; index<len_termunal_cmd; index++) {
name_terminal_arr = termunal_cmd[index];
str_remove(name_terminal_arr, " -e ");
str_remove(name_terminal_arr, " -x ");
if (name_terminal == name_terminal_arr) {
str_cmd_terminal = termunal_cmd[index];
}
}
}
@ -685,6 +690,7 @@ void MainWindow::denamic_cmd() {
else if (name_app.length() != 0) {
txtCmd->set_text(this->start_cmd(user_cmd));
}
}
}
@ -772,12 +778,17 @@ void MainWindow::pars_dir_terminal() {
namespace fs = std::filesystem;
std::string path = "/bin";
string file_name = "";
string name_terminal = "";
for (const auto & entry: fs::directory_iterator(path)) {
file_name = entry.path().filename().string();
for (const auto &str_teminal: termunal_bin) {
if (str_teminal == file_name) {
cmbTerminal->append(str_teminal);
cmbTerminal->set_active_text(str_teminal);
int len_termunal_cmd = sizeof(termunal_cmd)/sizeof(*termunal_cmd);
for (int index = 0; index < len_termunal_cmd; ++index) {
name_terminal = termunal_cmd[index];
str_remove(name_terminal, " -e ");
str_remove(name_terminal, " -x ");
if (name_terminal == file_name) {
cmbTerminal->append(name_terminal);
cmbTerminal->set_active_text(name_terminal);
}
}
}
@ -865,7 +876,7 @@ vector<std::string> MainWindow::split(const std::string &s, char delim) {
return elems;
}
void MainWindow::str_remove(std::string& source, std::string & to_remove) {
void MainWindow::str_remove(std::string& source, std::string to_remove) {
string::size_type n = to_remove.length();
for (string::size_type i = source.find(to_remove);
i != string::npos;

@ -95,7 +95,7 @@ public:
void unselect_icon(Gtk::IconView *icon_entry);
void pars_dir_terminal();
unsigned short read_uid_min_max(string filename, string search);
void str_remove(std::string& source, std::string & to_remove);
void str_remove(std::string& source, std::string to_remove);
string call(string cmd);
vector<std::string> split(const std::string &s, char delim);
public:
@ -200,9 +200,8 @@ public:
Glib::RefPtr<Gtk::ListStore> list_System;
Gtk::Widget *boxAbout;
public:
string termunal_bin[3] = {"konsole", "xfce4-terminal", "xterm"};
string termunal_cmd[3] = {" -e ", " -x ", " -e "};
string version_application = "1.0";
string termunal_cmd[3] = {"konsole -e ", "xfce4-terminal -x ", "xterm -e "};
string version_application = "1.2";
string cmd_old = "";
string user_exec_app = "";
string user_cmd = "";

Loading…
Cancel
Save