add user list
This commit is contained in:
		
							parent
							
								
									4fc3d964ce
								
							
						
					
					
						commit
						021139d669
					
				| @ -20,7 +20,9 @@ SOURCES += \ | |||||||
|     view_remove.cpp \ |     view_remove.cpp \ | ||||||
|     controller_remove.cpp \ |     controller_remove.cpp \ | ||||||
|     view_info.cpp \ |     view_info.cpp \ | ||||||
|     controller_info.cpp |     controller_info.cpp \ | ||||||
|  |     view_user_info.cpp \ | ||||||
|  |     controller_user_info.cpp | ||||||
| 
 | 
 | ||||||
| HEADERS += \ | HEADERS += \ | ||||||
|     conexion.h \ |     conexion.h \ | ||||||
| @ -35,4 +37,6 @@ HEADERS += \ | |||||||
|     view_remove.h \ |     view_remove.h \ | ||||||
|     controller_remove.h \ |     controller_remove.h \ | ||||||
|     view_info.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"?> | <?xml version="1.0" encoding="UTF-8"?> | ||||||
| <!DOCTYPE QtCreatorProject> | <!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> | <qtcreator> | ||||||
|  <data> |  <data> | ||||||
|   <variable>EnvironmentId</variable> |   <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_inst=new controller_install(&install, sesion.get()); | ||||||
|       this->cont_rem=new controller_remove(&remove, sesion.get()); |       this->cont_rem=new controller_remove(&remove, sesion.get()); | ||||||
|       this->cont_info=new controller_info(&info, 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.reset(); | ||||||
|       this->app=Gtk::Application::create( "org.gtkmm.examples.base"); |       this->app=Gtk::Application::create( "org.gtkmm.examples.base"); | ||||||
|       this->add(this->book); |       this->add(this->book); | ||||||
|       this->book.append_page(install,"build"); |       this->book.append_page(install,"build"); | ||||||
|       this->book.append_page(remove,"remove"); |       this->book.append_page(remove,"remove"); | ||||||
|       this->book.append_page(this->info,"info"); |       this->book.append_page(this->info,"info"); | ||||||
|  |       this->book.append_page(this->uinfo,"users"); | ||||||
|       this->show_all_children(); |       this->show_all_children(); | ||||||
|       this->app->run(*this); |       this->app->run(*this); | ||||||
|     } |     } | ||||||
|  | |||||||
| @ -9,6 +9,8 @@ | |||||||
| #include "controller_remove.h" | #include "controller_remove.h" | ||||||
| #include "view_info.h" | #include "view_info.h" | ||||||
| #include "controller_info.h" | #include "controller_info.h" | ||||||
|  | #include "view_user_info.h" | ||||||
|  | #include "controller_user_info.h" | ||||||
| 
 | 
 | ||||||
| #include <gtkmm/notebook.h> | #include <gtkmm/notebook.h> | ||||||
| #include <memory> | #include <memory> | ||||||
| @ -24,9 +26,11 @@ private: | |||||||
|   view_install install; |   view_install install; | ||||||
|   view_remove remove; |   view_remove remove; | ||||||
|   view_info info; |   view_info info; | ||||||
|  |   view_user_info uinfo; | ||||||
|   controller_install *cont_inst; |   controller_install *cont_inst; | ||||||
|   controller_remove *cont_rem; |   controller_remove *cont_rem; | ||||||
|   controller_info *cont_info; |   controller_info *cont_info; | ||||||
|  |   controller_user_info *con_uinfo; | ||||||
|   Gtk::Notebook book; |   Gtk::Notebook book; | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -1,13 +1,5 @@ | |||||||
| #include "controller_info.h" | #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) | 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_config]=(get_first(data)=="t"); | ||||||
|       row[this->view->m_Columns.r_user]=get_first(data); |       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; |   view_info *view; | ||||||
|   session_manager *sesion; |   session_manager *sesion; | ||||||
|   void load_info(); |   void load_info(); | ||||||
|  |   std::string get_first(std::string &info); | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| #endif // CONTROLLER_INFO_H
 | #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; |   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 install_command(std::string package); | ||||||
|   int remove_command(std::string package); |   int remove_command(std::string package); | ||||||
|   std::list<std::string> get_packages_info(); |   std::list<std::string> get_packages_info(); | ||||||
|  |   std::list<std::string> get_users_info(); | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| #endif // SESSION_MANAGER_H
 | #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…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user