diff options
Diffstat (limited to 'src/lib')
| -rw-r--r-- | src/lib/film.cc | 3 | ||||
| -rw-r--r-- | src/lib/help.cc | 25 | ||||
| -rw-r--r-- | src/lib/help.h | 26 | ||||
| -rw-r--r-- | src/lib/wscript | 1 |
4 files changed, 55 insertions, 0 deletions
diff --git a/src/lib/film.cc b/src/lib/film.cc index 1a9e552fe..e7165c955 100644 --- a/src/lib/film.cc +++ b/src/lib/film.cc @@ -57,6 +57,7 @@ #include "check_content_change_job.h" #include "ffmpeg_subtitle_stream.h" #include "font.h" +#include "help.h" #include <libcxml/cxml.h> #include <dcp/cpl.h> #include <dcp/certificate_chain.h> @@ -1270,6 +1271,8 @@ Film::add_content (shared_ptr<Content> c) _playlist->add (shared_from_this(), c); maybe_set_container_and_resolution (); + + Help::instance()->event (Help::SUCCESSFUL_ADD_CONTENT); } diff --git a/src/lib/help.cc b/src/lib/help.cc new file mode 100644 index 000000000..a7185686d --- /dev/null +++ b/src/lib/help.cc @@ -0,0 +1,25 @@ +#include "help.h" +#include <boost/bind.hpp> +#include <boost/ref.hpp> + + +Help* Help::_instance = 0; + + +Help* +Help::instance () +{ + if (!_instance) { + _instance = new Help (); + } + + return _instance; +} + + +void +Help::event (EventType e) +{ + emit (boost::bind(boost::ref(Event), e)); +} + diff --git a/src/lib/help.h b/src/lib/help.h new file mode 100644 index 000000000..ac36124c2 --- /dev/null +++ b/src/lib/help.h @@ -0,0 +1,26 @@ +#ifndef DCPOMATIC_HELP_H +#define DCPOMATIC_HELP_H + +#include "signaller.h" +#include <boost/signals2.hpp> + +class Help : public Signaller +{ +public: + static Help* instance (); + + enum EventType { + SUCCESSFUL_FILE_NEW, + SUCCESSFUL_ADD_CONTENT, + }; + + void event (EventType e); + + boost::signals2::signal<void (EventType)> Event; + +private: + static Help* _instance; +}; + +#endif + diff --git a/src/lib/wscript b/src/lib/wscript index c2dfb55d8..fae4ab035 100644 --- a/src/lib/wscript +++ b/src/lib/wscript @@ -114,6 +114,7 @@ sources = """ font.cc frame_interval_checker.cc frame_rate_change.cc + help.cc hints.cc internet.cc image.cc |
