tv_rename/gtk/mainwindow.hpp

91 lines
2.4 KiB
C++
Raw Normal View History

2019-01-23 19:46:03 +00:00
#ifndef GTKMM_MAIN_WINDOW
#define GTKMM_MAIN_WINDOW
2019-07-12 21:10:40 +00:00
#include <gtkmm/box.h>
2019-01-23 19:46:03 +00:00
#include <gtkmm/button.h>
#include <gtkmm/checkbutton.h>
#include <gtkmm/combobox.h>
2019-07-12 21:10:40 +00:00
#include <gtkmm/container.h>
2019-01-23 19:46:03 +00:00
#include <gtkmm/entry.h>
#include <gtkmm/label.h>
2019-02-04 16:39:48 +00:00
#include <gtkmm/layout.h>
2019-07-12 21:10:40 +00:00
#include <gtkmm/menubar.h>
#include <gtkmm/menuitem.h>
2019-01-23 19:46:03 +00:00
#include <gtkmm/window.h>
2020-01-17 13:14:24 +00:00
#include <set>
2019-01-23 19:46:03 +00:00
2020-04-01 14:07:37 +00:00
#include "../network.hpp"
2020-04-01 14:13:39 +00:00
#include "seasonwindow.hpp"
2019-01-23 19:46:03 +00:00
class MainWindow : public Gtk::Window {
public:
2019-02-04 16:39:48 +00:00
MainWindow( const Glib::RefPtr< Gtk::Application > &ptr );
2019-07-12 21:10:40 +00:00
virtual ~MainWindow();
2019-01-23 19:46:03 +00:00
private:
void quit();
void process();
void getNames();
void finishedSelection();
void chooseFile();
void patternHelp();
2019-07-12 21:10:40 +00:00
void dbUpdate();
void dbClean();
void dbRefresh();
void dbAdd();
void dbManage();
void dbPattern();
2019-01-23 19:46:03 +00:00
protected:
2019-07-12 21:10:40 +00:00
Gtk::Button *m_button_rename = new Gtk::Button();
Gtk::Button *m_button_db_add = new Gtk::Button();
Gtk::Label *m_label_possible = new Gtk::Label();
2019-01-23 19:46:03 +00:00
2019-07-12 21:10:40 +00:00
Gtk::CheckButton *m_check_linux = new Gtk::CheckButton();
Gtk::CheckButton *m_check_trust = new Gtk::CheckButton();
2020-01-16 10:12:22 +00:00
Gtk::CheckButton *m_check_dvd = new Gtk::CheckButton();
2019-01-23 19:46:03 +00:00
2019-07-12 21:10:40 +00:00
Gtk::ComboBox *m_combo_language = new Gtk::ComboBox();
Gtk::ComboBox *m_combo_possible = new Gtk::ComboBox();
2019-01-23 19:46:03 +00:00
2019-07-12 21:10:40 +00:00
Gtk::Entry *m_entry_show = new Gtk::Entry();
Gtk::Entry *m_entry_dir = new Gtk::Entry();
Gtk::Entry *m_entry_pattern = new Gtk::Entry();
2019-01-23 19:46:03 +00:00
class LanguageColumns : public Gtk::TreeModel::ColumnRecord {
public:
LanguageColumns() {
2019-02-04 16:39:48 +00:00
add( m_col_code );
add( m_col_language );
2019-01-23 19:46:03 +00:00
}
2019-02-04 16:39:48 +00:00
Gtk::TreeModelColumn< std::string > m_col_code;
Gtk::TreeModelColumn< std::string > m_col_language;
2019-01-23 19:46:03 +00:00
};
2020-01-16 10:12:22 +00:00
class ShowColumns : public Gtk::TreeModel::ColumnRecord {
2019-01-23 19:46:03 +00:00
public:
2020-01-16 10:12:22 +00:00
ShowColumns() {
add( m_col_id );
2019-02-04 16:39:48 +00:00
add( m_col_show );
2019-01-23 19:46:03 +00:00
}
Gtk::TreeModelColumn< std::string > m_col_id;
Gtk::TreeModelColumn< std::string > m_col_show;
2019-01-23 19:46:03 +00:00
};
LanguageColumns m_columns_language;
2020-01-16 10:12:22 +00:00
ShowColumns m_columns_show;
2019-01-23 19:46:03 +00:00
2019-02-04 16:39:48 +00:00
Glib::RefPtr< Gtk::Application > app;
2019-01-23 19:46:03 +00:00
2020-01-17 13:14:24 +00:00
std::unique_ptr< SeasonWindow > sw{ nullptr };
2019-02-04 16:39:48 +00:00
std::vector< int > selected;
2020-01-16 10:12:22 +00:00
std::map< int, std::map< int, string > > files;
2019-01-23 19:46:03 +00:00
std::string path;
std::string language_code;
std::string default_pattern;
std::map< string, string > language_map;
2019-01-23 19:46:03 +00:00
};
2019-02-04 16:39:48 +00:00
#endif // GTKMM_MAIN_WINDOW