Horizon
forced_pool_update_dialog.hpp
1 #pragma once
2 #include <gtkmm.h>
3 #include <mutex>
4 #include <list>
5 #include <thread>
6 
7 namespace horizon {
8 enum class PoolUpdateStatus;
9 
10 class ForcedPoolUpdateDialog : public Gtk::Dialog {
11 public:
12  ForcedPoolUpdateDialog(const std::string &bp, Gtk::Window &parent);
14 
15 private:
16  std::string base_path;
17  Glib::Dispatcher dispatcher;
18  std::mutex pool_update_status_queue_mutex;
19  std::list<std::tuple<PoolUpdateStatus, std::string, std::string>> pool_update_status_queue;
20  Gtk::Label *filename_label = nullptr;
21  Gtk::Spinner *spinner = nullptr;
22  void pool_update_thread();
23  std::string pool_update_last_info;
24  std::thread thread;
25 };
26 } // namespace horizon
Definition: forced_pool_update_dialog.hpp:10