Added information about packages installed
This commit is contained in:
		
							parent
							
								
									9eb45f329a
								
							
						
					
					
						commit
						4fc3d964ce
					
				| @ -16,7 +16,11 @@ SOURCES += \ | |||||||
|     session_manager.cpp \ |     session_manager.cpp \ | ||||||
|     container_window.cpp \ |     container_window.cpp \ | ||||||
|     view_install.cpp \ |     view_install.cpp \ | ||||||
|     controller_install.cpp |     controller_install.cpp \ | ||||||
|  |     view_remove.cpp \ | ||||||
|  |     controller_remove.cpp \ | ||||||
|  |     view_info.cpp \ | ||||||
|  |     controller_info.cpp | ||||||
| 
 | 
 | ||||||
| HEADERS += \ | HEADERS += \ | ||||||
|     conexion.h \ |     conexion.h \ | ||||||
| @ -27,4 +31,8 @@ HEADERS += \ | |||||||
|     session_manager.h \ |     session_manager.h \ | ||||||
|     container_window.h \ |     container_window.h \ | ||||||
|     view_install.h \ |     view_install.h \ | ||||||
|     controller_install.h |     controller_install.h \ | ||||||
|  |     view_remove.h \ | ||||||
|  |     controller_remove.h \ | ||||||
|  |     view_info.h \ | ||||||
|  |     controller_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-16T01:41:19. --> | <!-- Written by QtCreator 4.8.2, 2020-05-18T00:49:30. --> | ||||||
| <qtcreator> | <qtcreator> | ||||||
|  <data> |  <data> | ||||||
|   <variable>EnvironmentId</variable> |   <variable>EnvironmentId</variable> | ||||||
|  | |||||||
| @ -6,11 +6,15 @@ container_window::container_window(conexion *con, Glib::RefPtr< Gtk::Application | |||||||
|   this->app=app; |   this->app=app; | ||||||
|   this->app->run(loggin); |   this->app->run(loggin); | ||||||
|   if(this->loggin.login){ |   if(this->loggin.login){ | ||||||
|       this->cont=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_info=new controller_info(&info, 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.add(install); |       this->book.append_page(install,"build"); | ||||||
|  |       this->book.append_page(remove,"remove"); | ||||||
|  |       this->book.append_page(this->info,"info"); | ||||||
|       this->show_all_children(); |       this->show_all_children(); | ||||||
|       this->app->run(*this); |       this->app->run(*this); | ||||||
|     } |     } | ||||||
|  | |||||||
| @ -5,6 +5,10 @@ | |||||||
| #include "controller_install.h" | #include "controller_install.h" | ||||||
| #include "conexion.h" | #include "conexion.h" | ||||||
| #include "session_manager.h" | #include "session_manager.h" | ||||||
|  | #include "view_remove.h" | ||||||
|  | #include "controller_remove.h" | ||||||
|  | #include "view_info.h" | ||||||
|  | #include "controller_info.h" | ||||||
| 
 | 
 | ||||||
| #include <gtkmm/notebook.h> | #include <gtkmm/notebook.h> | ||||||
| #include <memory> | #include <memory> | ||||||
| @ -18,7 +22,11 @@ private: | |||||||
|   std::unique_ptr<session_manager> sesion; |   std::unique_ptr<session_manager> sesion; | ||||||
|   view_loggin loggin; |   view_loggin loggin; | ||||||
|   view_install install; |   view_install install; | ||||||
|   controller_install *cont; |   view_remove remove; | ||||||
|  |   view_info info; | ||||||
|  |   controller_install *cont_inst; | ||||||
|  |   controller_remove *cont_rem; | ||||||
|  |   controller_info *cont_info; | ||||||
|   Gtk::Notebook book; |   Gtk::Notebook book; | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
|  | |||||||
							
								
								
									
										33
									
								
								controller_info.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								controller_info.cpp
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,33 @@ | |||||||
|  | #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) | ||||||
|  | { | ||||||
|  |   this->view=view; | ||||||
|  |   this->sesion=sesion; | ||||||
|  |   this->load_info(); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | void controller_info::load_info(){ | ||||||
|  |   std::list<std::string> list=this->sesion->get_packages_info(); | ||||||
|  |   for(std::string data:list){ | ||||||
|  |       Gtk::TreeModel::Row row = *(this->view->m_refTreeModel->append()); | ||||||
|  |       row[this->view->m_Columns.r_name]=get_first(data); | ||||||
|  |       row[this->view->m_Columns.r_date]=get_first(data); | ||||||
|  |       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";*/ | ||||||
|  | } | ||||||
|  | 
 | ||||||
							
								
								
									
										17
									
								
								controller_info.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								controller_info.h
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,17 @@ | |||||||
|  | #ifndef CONTROLLER_INFO_H | ||||||
|  | #define CONTROLLER_INFO_H | ||||||
|  | 
 | ||||||
|  | #include "session_manager.h" | ||||||
|  | #include "view_info.h" | ||||||
|  | 
 | ||||||
|  | class controller_info | ||||||
|  | { | ||||||
|  | public: | ||||||
|  |   controller_info(view_info *view, session_manager *sesion); | ||||||
|  | private: | ||||||
|  |   view_info *view; | ||||||
|  |   session_manager *sesion; | ||||||
|  |   void load_info(); | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | #endif // CONTROLLER_INFO_H
 | ||||||
| @ -1,7 +1,5 @@ | |||||||
| #include "controller_install.h" | #include "controller_install.h" | ||||||
| 
 | 
 | ||||||
| #include <iostream> |  | ||||||
| 
 |  | ||||||
| controller_install::controller_install(view_install *vis, session_manager *sesi) | controller_install::controller_install(view_install *vis, session_manager *sesi) | ||||||
| { | { | ||||||
|   this->vis=vis; |   this->vis=vis; | ||||||
|  | |||||||
							
								
								
									
										17
									
								
								controller_remove.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								controller_remove.cpp
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,17 @@ | |||||||
|  | #include "controller_remove.h" | ||||||
|  | 
 | ||||||
|  | controller_remove::controller_remove(view_remove *vis, session_manager *sesi) | ||||||
|  | { | ||||||
|  |   this->view=vis; | ||||||
|  |   this->session=sesi; | ||||||
|  |   this->add_controlers(); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | void controller_remove::add_controlers(){ | ||||||
|  |   this->view->m_button.signal_clicked().connect(sigc::mem_fun(this, | ||||||
|  |                 &controller_remove::on_button_clicked)); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | void controller_remove::on_button_clicked(){ | ||||||
|  |   this->session->remove_command(this->view->entry.get_text()); | ||||||
|  | } | ||||||
							
								
								
									
										18
									
								
								controller_remove.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								controller_remove.h
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,18 @@ | |||||||
|  | #ifndef CONTROLLER_REMOVE_H | ||||||
|  | #define CONTROLLER_REMOVE_H | ||||||
|  | 
 | ||||||
|  | #include "view_remove.h" | ||||||
|  | #include "session_manager.h" | ||||||
|  | 
 | ||||||
|  | class controller_remove | ||||||
|  | { | ||||||
|  | public: | ||||||
|  |   controller_remove(view_remove *view, session_manager *session); | ||||||
|  | private: | ||||||
|  |   view_remove *view; | ||||||
|  |   session_manager *session; | ||||||
|  |   void add_controlers(); | ||||||
|  |   void on_button_clicked(); | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | #endif // CONTROLLER_REMOVE_H
 | ||||||
| @ -32,3 +32,17 @@ int session_manager::remove_command(std::string package){ | |||||||
|   this->con->read_string(buffer,2); |   this->con->read_string(buffer,2); | ||||||
|   return atoi(buffer.data()); |   return atoi(buffer.data()); | ||||||
| } | } | ||||||
|  | 
 | ||||||
|  | std::list<std::string> session_manager::get_packages_info(){ | ||||||
|  |   std::list<std::string> ret; | ||||||
|  |   std::string read; | ||||||
|  |   this->con->write_string("info"); | ||||||
|  |   while(true){ | ||||||
|  |       this->con->read_string(read,256); | ||||||
|  |       if(read=="end:info"){ | ||||||
|  |           break; | ||||||
|  |         } | ||||||
|  |       ret.push_back(read); | ||||||
|  |     } | ||||||
|  |   return ret; | ||||||
|  | } | ||||||
|  | |||||||
| @ -4,6 +4,7 @@ | |||||||
| #include "conexion.h" | #include "conexion.h" | ||||||
| 
 | 
 | ||||||
| #include <string> | #include <string> | ||||||
|  | #include <list> | ||||||
| 
 | 
 | ||||||
| class session_manager | class session_manager | ||||||
| { | { | ||||||
| @ -13,6 +14,7 @@ public: | |||||||
|   bool loggin(std::string username, std::string passwd); |   bool loggin(std::string username, std::string passwd); | ||||||
|   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(); | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| #endif // SESSION_MANAGER_H
 | #endif // SESSION_MANAGER_H
 | ||||||
|  | |||||||
							
								
								
									
										13
									
								
								view_info.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								view_info.cpp
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,13 @@ | |||||||
|  | #include "view_info.h" | ||||||
|  | 
 | ||||||
|  | view_info::view_info() | ||||||
|  | { | ||||||
|  |   this->m_refTreeModel = Gtk::ListStore::create(this->m_Columns); | ||||||
|  |   this->tree.set_model(this->m_refTreeModel); | ||||||
|  | 
 | ||||||
|  |   tree.append_column("name", m_Columns.r_name); | ||||||
|  |   tree.append_column("date", m_Columns.r_date); | ||||||
|  |   tree.append_column("config", m_Columns.r_config); | ||||||
|  |   tree.append_column("user", m_Columns.r_user); | ||||||
|  |   this->add(this->tree); | ||||||
|  | } | ||||||
							
								
								
									
										29
									
								
								view_info.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								view_info.h
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,29 @@ | |||||||
|  | #ifndef VIEW_INFO_H | ||||||
|  | #define VIEW_INFO_H | ||||||
|  | 
 | ||||||
|  | #include <gtkmm/box.h> | ||||||
|  | #include <gtkmm/treeview.h> | ||||||
|  | #include <gtkmm/liststore.h> | ||||||
|  | 
 | ||||||
|  | class view_info: public Gtk::Box | ||||||
|  | { | ||||||
|  | public: | ||||||
|  |   view_info(); | ||||||
|  |   Gtk::TreeView tree; | ||||||
|  |   class ModelColumns : public Gtk::TreeModel::ColumnRecord | ||||||
|  |     { | ||||||
|  |     public: | ||||||
|  |       ModelColumns() | ||||||
|  |       { add(r_name); add(r_date); add(r_user); add(r_config); } | ||||||
|  | 
 | ||||||
|  |       Gtk::TreeModelColumn<std::string> r_name; | ||||||
|  |       Gtk::TreeModelColumn<std::string> r_date; | ||||||
|  |       Gtk::TreeModelColumn<std::string> r_user; | ||||||
|  |       Gtk::TreeModelColumn<bool> r_config; | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|  |     ModelColumns m_Columns; | ||||||
|  |   Glib::RefPtr<Gtk::ListStore> m_refTreeModel; | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | #endif // VIEW_INFO_H
 | ||||||
| @ -1,7 +1,7 @@ | |||||||
| #include "view_install.h" | #include "view_install.h" | ||||||
| #include <iostream> | #include <iostream> | ||||||
| 
 | 
 | ||||||
| view_install::view_install():m_button("send"),m_VBox(Gtk::ORIENTATION_VERTICAL) | view_install::view_install():m_button("build"),m_VBox(Gtk::ORIENTATION_VERTICAL) | ||||||
| { | { | ||||||
|   set_border_width(5); |   set_border_width(5); | ||||||
| 
 | 
 | ||||||
| @ -18,18 +18,8 @@ view_install::view_install():m_button("send"),m_VBox(Gtk::ORIENTATION_VERTICAL) | |||||||
|   m_ButtonBox.set_spacing(5); |   m_ButtonBox.set_spacing(5); | ||||||
|   m_ButtonBox.set_layout(Gtk::BUTTONBOX_END); |   m_ButtonBox.set_layout(Gtk::BUTTONBOX_END); | ||||||
| 
 | 
 | ||||||
|   // When the button receives the "clicked" signal, it will call the
 |  | ||||||
|   // on_button_clicked() method defined below.
 |  | ||||||
|   /*m_button.signal_clicked().connect(sigc::mem_fun(*this,
 |  | ||||||
|                 &vista::on_button_clicked));*/ |  | ||||||
| 
 |  | ||||||
|   m_refTextBuffer1 = Gtk::TextBuffer::create(); |   m_refTextBuffer1 = Gtk::TextBuffer::create(); | ||||||
|   //m_refTextBuffer1->set_text("This is the text from TextBuffer #1.");
 |   //m_refTextBuffer1->set_text("This is the text from TextBuffer #1.");
 | ||||||
|   m_TextView.set_buffer(m_refTextBuffer1); |   m_TextView.set_buffer(m_refTextBuffer1); | ||||||
|   show_all_children(); |   show_all_children(); | ||||||
| } | } | ||||||
| 
 |  | ||||||
| /*void vista::on_button_clicked(){
 |  | ||||||
|   std::string salida = m_refTextBuffer1->get_text(); |  | ||||||
|   std::cout << salida << std::endl; |  | ||||||
| }*/ |  | ||||||
|  | |||||||
| @ -1,7 +1,6 @@ | |||||||
| #ifndef VISTA_H | #ifndef VISTA_H | ||||||
| #define VISTA_H | #define VISTA_H | ||||||
| #include <gtkmm/button.h> | #include <gtkmm/button.h> | ||||||
| #include <gtkmm/window.h> |  | ||||||
| #include <gtkmm/textview.h> | #include <gtkmm/textview.h> | ||||||
| #include <gtkmm/buttonbox.h> | #include <gtkmm/buttonbox.h> | ||||||
| #include <gtkmm/scrolledwindow.h> | #include <gtkmm/scrolledwindow.h> | ||||||
|  | |||||||
							
								
								
									
										14
									
								
								view_remove.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								view_remove.cpp
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,14 @@ | |||||||
|  | #include "view_remove.h" | ||||||
|  | 
 | ||||||
|  | view_remove::view_remove():m_button("remove"),m_VBox(Gtk::ORIENTATION_VERTICAL) | ||||||
|  | { | ||||||
|  |   set_border_width(5); | ||||||
|  |   add(m_VBox); | ||||||
|  |   m_VBox.pack_start(this->entry); | ||||||
|  |   //Add buttons:
 | ||||||
|  |   m_VBox.pack_start(m_ButtonBox, Gtk::PACK_SHRINK); | ||||||
|  |   m_ButtonBox.pack_start(m_button, Gtk::PACK_SHRINK); | ||||||
|  |   m_ButtonBox.set_border_width(5); | ||||||
|  |   m_ButtonBox.set_spacing(5); | ||||||
|  |   m_ButtonBox.set_layout(Gtk::BUTTONBOX_END); | ||||||
|  | } | ||||||
							
								
								
									
										18
									
								
								view_remove.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								view_remove.h
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,18 @@ | |||||||
|  | #ifndef VIEW_REMOVE_H | ||||||
|  | #define VIEW_REMOVE_H | ||||||
|  | #include <gtkmm/button.h> | ||||||
|  | #include <gtkmm/buttonbox.h> | ||||||
|  | #include <gtkmm/box.h> | ||||||
|  | #include <gtkmm/entry.h> | ||||||
|  | 
 | ||||||
|  | class view_remove :public Gtk::Box | ||||||
|  | { | ||||||
|  | public: | ||||||
|  |   view_remove(); | ||||||
|  |   Gtk::Button m_button; | ||||||
|  |   Gtk::Box m_VBox; | ||||||
|  |   Gtk::ButtonBox m_ButtonBox; | ||||||
|  |   Gtk::Entry entry; | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | #endif // VIEW_REMOVE_H
 | ||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user