add user list
This commit is contained in:
parent
4fc3d964ce
commit
021139d669
@ -20,7 +20,9 @@ SOURCES += \
|
||||
view_remove.cpp \
|
||||
controller_remove.cpp \
|
||||
view_info.cpp \
|
||||
controller_info.cpp
|
||||
controller_info.cpp \
|
||||
view_user_info.cpp \
|
||||
controller_user_info.cpp
|
||||
|
||||
HEADERS += \
|
||||
conexion.h \
|
||||
@ -35,4 +37,6 @@ HEADERS += \
|
||||
view_remove.h \
|
||||
controller_remove.h \
|
||||
view_info.h \
|
||||
controller_info.h
|
||||
controller_info.h \
|
||||
view_user_info.h \
|
||||
controller_user_info.h
|
||||
|
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE QtCreatorProject>
|
||||
<!-- Written by QtCreator 4.8.2, 2020-05-18T00:49:30. -->
|
||||
<!-- Written by QtCreator 4.8.2, 2020-05-20T00:08:38. -->
|
||||
<qtcreator>
|
||||
<data>
|
||||
<variable>EnvironmentId</variable>
|
||||
|
@ -9,12 +9,14 @@ container_window::container_window(conexion *con, Glib::RefPtr< Gtk::Application
|
||||
this->cont_inst=new controller_install(&install, sesion.get());
|
||||
this->cont_rem=new controller_remove(&remove, sesion.get());
|
||||
this->cont_info=new controller_info(&info, sesion.get());
|
||||
this->con_uinfo=new controller_user_info(&uinfo, sesion.get());
|
||||
this->app.reset();
|
||||
this->app=Gtk::Application::create( "org.gtkmm.examples.base");
|
||||
this->add(this->book);
|
||||
this->book.append_page(install,"build");
|
||||
this->book.append_page(remove,"remove");
|
||||
this->book.append_page(this->info,"info");
|
||||
this->book.append_page(this->uinfo,"users");
|
||||
this->show_all_children();
|
||||
this->app->run(*this);
|
||||
}
|
||||
|
@ -9,6 +9,8 @@
|
||||
#include "controller_remove.h"
|
||||
#include "view_info.h"
|
||||
#include "controller_info.h"
|
||||
#include "view_user_info.h"
|
||||
#include "controller_user_info.h"
|
||||
|
||||
#include <gtkmm/notebook.h>
|
||||
#include <memory>
|
||||
@ -24,9 +26,11 @@ private:
|
||||
view_install install;
|
||||
view_remove remove;
|
||||
view_info info;
|
||||
view_user_info uinfo;
|
||||
controller_install *cont_inst;
|
||||
controller_remove *cont_rem;
|
||||
controller_info *cont_info;
|
||||
controller_user_info *con_uinfo;
|
||||
Gtk::Notebook book;
|
||||
};
|
||||
|
||||
|
@ -1,13 +1,5 @@
|
||||
#include "controller_info.h"
|
||||
|
||||
#include <iostream>
|
||||
|
||||
std::string get_first(std::string &info){
|
||||
int pos = info.find(":");
|
||||
std::string ret = info.substr(0, pos);
|
||||
info=info.substr(pos+1, info.size()+1);
|
||||
return ret;
|
||||
}
|
||||
|
||||
controller_info::controller_info(view_info *view, session_manager *sesion)
|
||||
{
|
||||
@ -25,9 +17,11 @@ void controller_info::load_info(){
|
||||
row[this->view->m_Columns.r_config]=(get_first(data)=="t");
|
||||
row[this->view->m_Columns.r_user]=get_first(data);
|
||||
}
|
||||
/*row[this->view->m_Columns.r_name] = "firefox";
|
||||
row[this->view->m_Columns.r_date] = "2020-10-2";
|
||||
row[this->view->m_Columns.r_config] = true;
|
||||
row[this->view->m_Columns.r_user] = "pepe";*/
|
||||
}
|
||||
|
||||
std::string controller_info::get_first(std::string &info){
|
||||
int pos = info.find(":");
|
||||
std::string ret = info.substr(0, pos);
|
||||
info=info.substr(pos+1, info.size()+1);
|
||||
return ret;
|
||||
}
|
||||
|
@ -12,6 +12,7 @@ private:
|
||||
view_info *view;
|
||||
session_manager *sesion;
|
||||
void load_info();
|
||||
std::string get_first(std::string &info);
|
||||
};
|
||||
|
||||
#endif // CONTROLLER_INFO_H
|
||||
|
25
controller_user_info.cpp
Normal file
25
controller_user_info.cpp
Normal file
@ -0,0 +1,25 @@
|
||||
#include "controller_user_info.h"
|
||||
|
||||
|
||||
controller_user_info::controller_user_info(view_user_info *view, session_manager *sesion)
|
||||
{
|
||||
this->view=view;
|
||||
this->sesion=sesion;
|
||||
this->load_info();
|
||||
}
|
||||
|
||||
void controller_user_info::load_info(){
|
||||
std::list<std::string> list=this->sesion->get_users_info();
|
||||
for(std::string data:list){
|
||||
Gtk::TreeModel::Row row = *(this->view->m_refTreeModel->append());
|
||||
row[this->view->m_Columns.r_user]=get_first(data);
|
||||
row[this->view->m_Columns.r_admin]=(get_first(data)=="t");
|
||||
}
|
||||
}
|
||||
|
||||
std::string controller_user_info::get_first(std::string &info){
|
||||
int pos = info.find(":");
|
||||
std::string ret = info.substr(0, pos);
|
||||
info=info.substr(pos+1, info.size()+1);
|
||||
return ret;
|
||||
}
|
18
controller_user_info.h
Normal file
18
controller_user_info.h
Normal file
@ -0,0 +1,18 @@
|
||||
#ifndef CONTROLLER_USER_INFO_H
|
||||
#define CONTROLLER_USER_INFO_H
|
||||
|
||||
#include "view_user_info.h"
|
||||
#include "session_manager.h"
|
||||
|
||||
class controller_user_info
|
||||
{
|
||||
public:
|
||||
controller_user_info(view_user_info *view, session_manager *session);
|
||||
private:
|
||||
view_user_info *view;
|
||||
session_manager *sesion;
|
||||
void load_info();
|
||||
std::string get_first(std::string &info);
|
||||
};
|
||||
|
||||
#endif // CONTROLLER_USER_INFO_H
|
@ -46,3 +46,17 @@ std::list<std::string> session_manager::get_packages_info(){
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
std::list<std::string> session_manager::get_users_info(){
|
||||
std::list<std::string> ret;
|
||||
std::string read;
|
||||
this->con->write_string("uinf");
|
||||
while(true){
|
||||
this->con->read_string(read,256);
|
||||
if(read=="end:info"){
|
||||
break;
|
||||
}
|
||||
ret.push_back(read);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
@ -15,6 +15,7 @@ public:
|
||||
int install_command(std::string package);
|
||||
int remove_command(std::string package);
|
||||
std::list<std::string> get_packages_info();
|
||||
std::list<std::string> get_users_info();
|
||||
};
|
||||
|
||||
#endif // SESSION_MANAGER_H
|
||||
|
11
view_user_info.cpp
Normal file
11
view_user_info.cpp
Normal file
@ -0,0 +1,11 @@
|
||||
#include "view_user_info.h"
|
||||
|
||||
view_user_info::view_user_info()
|
||||
{
|
||||
this->m_refTreeModel = Gtk::ListStore::create(this->m_Columns);
|
||||
this->tree.set_model(this->m_refTreeModel);
|
||||
|
||||
tree.append_column("user", m_Columns.r_user);
|
||||
tree.append_column("config", m_Columns.r_admin);
|
||||
this->add(this->tree);
|
||||
}
|
26
view_user_info.h
Normal file
26
view_user_info.h
Normal file
@ -0,0 +1,26 @@
|
||||
#ifndef VIEW_USER_INFO_H
|
||||
#define VIEW_USER_INFO_H
|
||||
|
||||
#include <gtkmm/box.h>
|
||||
#include <gtkmm/treeview.h>
|
||||
#include <gtkmm/liststore.h>
|
||||
|
||||
class view_user_info: public Gtk::Box
|
||||
{
|
||||
public:
|
||||
view_user_info();
|
||||
Gtk::TreeView tree;
|
||||
class ModelColumns : public Gtk::TreeModel::ColumnRecord
|
||||
{
|
||||
public:
|
||||
ModelColumns()
|
||||
{ add(r_user); add(r_admin); }
|
||||
Gtk::TreeModelColumn<std::string> r_user;
|
||||
Gtk::TreeModelColumn<bool> r_admin;
|
||||
};
|
||||
|
||||
ModelColumns m_Columns;
|
||||
Glib::RefPtr<Gtk::ListStore> m_refTreeModel;
|
||||
};
|
||||
|
||||
#endif // VIEW_USER_INFO_H
|
Loading…
Reference in New Issue
Block a user