#ifndef GTKMM_DATABASE_WINDOW #define GTKMM_DATABASE_WINDOW #include #include #include #include #include #include #include #include #include #include #include #include "network.hpp" #include "seasonwindow.hpp" class DatabaseWindow : public Gtk::Window { public: DatabaseWindow() = delete; DatabaseWindow( bool _linux ); virtual ~DatabaseWindow(); private: void save(); void remove(); void changed( const Gtk::TreeModel::Path &/*UNUSED*/, const Gtk::TreeModel::iterator &row ); std::unordered_set< size_t > changed_rows; protected: Gtk::Button *m_button_save = new Gtk::Button(); Gtk::Button *m_button_remove = new Gtk::Button(); Gtk::TreeView *m_tree_database = new Gtk::TreeView(); Gtk::ScrolledWindow *m_scrolled_window = new Gtk::ScrolledWindow(); class DatabaseColumns : public Gtk::TreeModel::ColumnRecord { public: DatabaseColumns() { add(m_col_id); add(m_col_show); add(m_col_path); add(m_col_lang); add(m_col_show_id); add(m_col_dvd); } Gtk::TreeModelColumn< size_t > m_col_id; Gtk::TreeModelColumn< std::string > m_col_show; Gtk::TreeModelColumn< std::string > m_col_path; Gtk::TreeModelColumn< std::string > m_col_lang; Gtk::TreeModelColumn< std::string > m_col_show_id; Gtk::TreeModelColumn< std::string > m_col_dvd; }; DatabaseColumns m_columns_database; Glib::RefPtr< Gtk::ListStore > m_model; bool linux; }; #endif // GTKMM_MAIN_WINDOW