X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;ds=inline;f=src%2Fwx%2Fjob_view.h;h=74518c9babc639722cbeca7a441a7f8c380dc44c;hb=e0eecce56d975d9819f902cbb51c886b16e8ebf7;hp=8c0214d9dc9438ad7e80a66ad68dbfc1559976ba;hpb=f5bc071ddac2355da1d116404cc37f4485e97699;p=dcpomatic.git diff --git a/src/wx/job_view.h b/src/wx/job_view.h index 8c0214d9d..74518c9ba 100644 --- a/src/wx/job_view.h +++ b/src/wx/job_view.h @@ -18,30 +18,36 @@ */ + #ifndef DCPOMATIC_JOB_VIEW_H #define DCPOMATIC_JOB_VIEW_H -#include -#include + #include + +class CheckBox; class Job; -class wxScrolledWindow; -class wxWindow; -class wxFlexGridSizer; -class wxCommandEvent; class wxBoxSizer; -class wxGauge; -class wxStaticText; class wxButton; +class wxCommandEvent; +class wxFlexGridSizer; +class wxGauge; +class wxScrolledWindow; class wxSizer; +class wxStaticText; +class wxWindow; + -class JobView : public boost::noncopyable +class JobView { public: - JobView (boost::shared_ptr job, wxWindow* parent, wxWindow* container, wxFlexGridSizer* table); + JobView (std::shared_ptr job, wxWindow* parent, wxWindow* container, wxFlexGridSizer* table); virtual ~JobView () {} + JobView (JobView const&) = delete; + JobView& operator= (JobView const&) = delete; + virtual int insert_position () const = 0; virtual void job_list_changed () {} @@ -50,16 +56,18 @@ public: void insert (int pos); void detach (); - boost::shared_ptr job () const { + std::shared_ptr job () const { return _job; } protected: virtual void finished (); - boost::shared_ptr _job; + std::shared_ptr _job; wxFlexGridSizer* _table; + /** sizer for buttons (cancel, details, pause etc.) */ wxBoxSizer* _buttons; + /** sizer for the gauge and the message underneath it */ wxBoxSizer* _gauge_message; private: @@ -69,6 +77,7 @@ private: void progress (); void details_clicked (wxCommandEvent &); void cancel_clicked (wxCommandEvent &); + void notify_clicked (); wxWindow* _parent; wxWindow* _container; @@ -76,10 +85,14 @@ private: wxStaticText* _message; wxButton* _cancel; wxButton* _details; + CheckBox* _notify; + /** sizer for all right-hand-size controls */ + wxBoxSizer* _controls; std::string _last_message; boost::signals2::scoped_connection _progress_connection; boost::signals2::scoped_connection _finished_connection; }; + #endif