lib: Create a schedule() function

This lets me clean up some of the code in controls.cpp

Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
This commit is contained in:
Anna Schumaker 2014-09-10 08:17:12 -04:00
parent 1c437c4957
commit df0d1496de
3 changed files with 7 additions and 6 deletions

View File

@ -43,17 +43,12 @@ static bool on_timeout()
return audio_playing(); return audio_playing();
} }
static void enable_timeout()
{
Glib::signal_timeout().connect(sigc::ptr_fun(on_timeout), 500);
}
static void o_play() static void o_play()
{ {
audio :: play(); audio :: play();
o_fix_buttons(); o_fix_buttons();
enable_timeout(); lib :: schedule(on_timeout, 500);
} }
static void o_pause() static void o_pause()

View File

@ -14,6 +14,7 @@ namespace lib
const std::string share_file(const std::string &); const std::string share_file(const std::string &);
Glib::RefPtr<Gtk::Builder> &get_builder(); Glib::RefPtr<Gtk::Builder> &get_builder();
const std::string key_name(GdkEventKey *); const std::string key_name(GdkEventKey *);
void schedule(bool (*)(), unsigned int);
template <class T> template <class T>
static inline T *get_widget(const std::string &name) static inline T *get_widget(const std::string &name)

View File

@ -42,3 +42,8 @@ const std::string lib :: key_name(GdkEventKey *event)
std::string key = gdk_keyval_name(event->keyval); std::string key = gdk_keyval_name(event->keyval);
return key; return key;
} }
void lib :: schedule(bool (*func)(), unsigned int milliseconds)
{
Glib :: signal_timeout().connect(sigc::ptr_fun(func), milliseconds);
}