Добавлена загрузка и удаление в TreeView "мелодия"

pull/18/head
Igor Belitskiy 3 years ago
parent d13a6046fb
commit b735c42c23

@ -126,6 +126,7 @@ install: check uninstall
@install -Dm644 -t /usr/share/${PKGNAME}/ cmdline-linux.csv
@install -Dm644 -t /usr/share/${PKGNAME}/ grub-terminal-input.csv
@install -Dm644 -t /usr/share/${PKGNAME}/ grub-terminal-output.csv
@install -Dm644 -t /usr/share/${PKGNAME}/ grub-music.csv
@if [ -z ${DESTDIR} ]; then \
[ -d "${DESTDIR}${PREFIX}/share/icons/hicolor/" ] && gtk-update-icon-cache -fiq "${DESTDIR}${PREFIX}/share/icons/hicolor/" &>/dev/null || true; \
update-desktop-database --quiet &>/dev/null || true; \

@ -0,0 +1,3 @@
ubbeep,1 22 333 4444 5555
acdc,23 233 444
kipelov,23 66 333
1 ubbeep 1 22 333 4444 5555
2 acdc 23 233 444
3 kipelov 23 66 333

@ -93,6 +93,7 @@ void MainWindow::settings(){
spbSecond->set_increments(1.0, 1.0);
spbSecond->set_value(1);
this->fill_in_view();
this->set_init_data_music();
this->change_password_protecc();
this->change_security_login();
this->set_active_boot_second();
@ -110,6 +111,7 @@ void MainWindow::settings(){
obj_menu_os.init();
obj_menu_os.event();
}
else{
boxWidgetAll->set_sensitive(false);
@ -196,12 +198,11 @@ void MainWindow::fill_in_view() {
list_store_IPT = Gtk::ListStore::create(m_columns);
list_store_OTT = Gtk::ListStore::create(m_columns);
list_store_user = Gtk::ListStore::create(m_columns_user);
list_store_music = Gtk::ListStore::create(m_columns_music);
treeViewKernel->set_model(list_store_kernel);
treeViewIPT->set_model(list_store_IPT);
treeViewOTT->set_model(list_store_OTT);
treeViewUser->set_model(list_store_user);
treeViewMusic->set_model(list_store_music);
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);
@ -213,7 +214,6 @@ void MainWindow::fill_in_view() {
this->view_add_colums(*treeViewIPT);
this->view_add_colums(*treeViewOTT);
this->view_add_colums_user(*treeViewUser);
this->view_add_colums_music(*treeViewMusic);
}
void MainWindow::view_add_colums_user(Gtk::TreeView &treeView) {
@ -837,35 +837,61 @@ void get_tree_view_user() {
}
map_cmd_selection["GRUB_SUPERUSERS"] = users_root
}
*/
void get_tree_view_music() {
}
*/
void MainWindow::set_init_data_music() {
list_store_music = Gtk::ListStore::create(m_columns_music);
treeViewMusic->set_model(list_store_music);
string path_name = "";
path_name = path_name + path_resources + "/" + "grub-music.csv";
vector<tuple<string, string>> vec_music = Utils::read_csv_music(path_name);
bool flag = false;
string cgf_code_music = map_cmd_selection["GRUB_PLAY"];
for (tuple<string, string>& tuple_music: vec_music) {
string name = get<0>(tuple_music);
string code = get<1>(tuple_music);
flag = (cgf_code_music == code);
this->set_add_data_music(row_music, flag, name, code);
}
this->view_add_colums_music(*treeViewMusic);
}
void MainWindow::set_add_data_music(Gtk::TreeModel::Row &row, bool flag, string &name, string &code) {
row = *(list_store_music->append());
row[m_columns_music.check_button] = flag;
row[m_columns_music.title] = name;
row[m_columns_music.melody_code] = code;
}
void MainWindow::remove_user() {
if (flag_valide_del_user) {
if (flag_validate_del_user && list_store_user->iter_is_valid(iter_user_del)) {
list_store_user->erase(iter_user_del);
flag_valide_del_user = false;
flag_validate_del_user = false;
}
flag_valide_del_user = false;
flag_validate_del_user = false;
}
void MainWindow::remove_music() {
if (flag_valide_del_music) {
list_store_user->erase(iter_music_del);
flag_valide_del_music = false;
if (flag_validate_del_music && list_store_music->iter_is_valid(iter_music_del)) {
list_store_music->erase(iter_music_del);
flag_validate_del_music = false;
}
flag_valide_del_music = false;
flag_validate_del_music = false;
}
void MainWindow::remove_line_user(const Gtk::TreeModel::Path&, const Gtk::TreeModel::iterator& iter) {
iter_user_del = iter;
flag_valide_del_user = true;
flag_validate_del_user = true;
}
void MainWindow::remove_line_music(const Gtk::TreeModel::Path&, const Gtk::TreeModel::iterator& iter) {
iter_music_del = iter;
flag_valide_del_music = true;
flag_validate_del_music = true;
}
bool MainWindow::focus_tree_view(GdkEventFocus*) {
@ -1113,6 +1139,7 @@ void MainWindow::init_dict(string flag_load) {
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 = map_cmd_selection_n;
if (flag_load == "global") {
map_global_cmd_selection = map_cmd_selection_n;

@ -288,8 +288,8 @@ public:
std::map<string, string> map_local_cmd_selection;
Gtk::TreeModel::iterator iter_user_del;
Gtk::TreeModel::iterator iter_music_del;
bool flag_valide_del_user = false;
bool flag_valide_del_music = false;
bool flag_validate_del_user = false;
bool flag_validate_del_music = false;
Gtk::Label *lblDownloadMode;
Lib_save::Save obj_save = Lib_save::Save();
@ -397,6 +397,8 @@ public:
string template_item_selected(int size, Glib::RefPtr<Gtk::ListStore> &list_store, string key);
void view_add_line_user(Gtk::TreeModel::Row &row, Glib::RefPtr<Gtk::ListStore> list_store_m);
void view_add_line_music(Gtk::TreeModel::Row &row, Glib::RefPtr<Gtk::ListStore> list_store_m);
void set_add_data_music(Gtk::TreeModel::Row &row, bool flag, string &name, string &code);
void set_init_data_music();
};
class SettingsPlug : public Gtk::Plug

@ -50,6 +50,23 @@ array<vector<string>, 5> read_csv(const string& filename) {
return array_vectors;
}
vector<tuple<string, string>> read_csv_music(const string& filename) {
vector<tuple<string, string>> vec_music;
ifstream file(filename);
string line;
char delimiter = ',';
while (getline(file, line)) {
stringstream stream(line);
string name;
string code;
getline(stream, name, delimiter);
getline(stream, code, delimiter);
tuple<string, string> tuple_music(name, code);
vec_music.push_back(tuple_music);
}
return vec_music;
}
string call(string cmd) {
FILE *fp;
int status;

@ -1,6 +1,7 @@
#ifndef UTIL_H
#define UTIL_H
#include <stdio.h>
#include <tuple>
#include <iostream>
#include <sstream>
#include <fstream>
@ -44,5 +45,6 @@ vector<int> find_all(string &str_ntp, string substr);
void str_remove(std::string& source, std::string to_remove);
void str_replace_all(string &str_base, string str_find, string str_replace);
std::vector<std::string> split(std::string text, char delim);
vector<tuple<string, string>> read_csv_music(const string& filename);
}
#endif
Loading…
Cancel
Save