X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=videolink.cpp;h=ef30510149905c0ce7a4f277cbbe68a9c57be934;hb=801ab856156749cab907fb209e81c082c3c990c4;hp=4e9fa6b3c27057a7f64f9ae3b0061f274e3da2c7;hpb=4d7a55ea4a24ea85d168d639c6f95c0f2dd23dc5;p=videolink.git diff --git a/videolink.cpp b/videolink.cpp index 4e9fa6b..ef30510 100644 --- a/videolink.cpp +++ b/videolink.cpp @@ -15,6 +15,7 @@ #include +#include #include #include #include @@ -159,7 +160,8 @@ namespace add(browser_widget_); browser_widget_.show(); - Glib::signal_idle().connect(SigC::slot(*this, &base_window::on_idle)); + Glib::signal_idle().connect( + sigc::mem_fun(this, &base_window::on_idle)); } bool base_window::on_idle() @@ -176,6 +178,7 @@ namespace private: virtual void do_late_initialisation(); + bool on_key_press(GdkEventKey *); std::string main_page_uri_; }; @@ -185,13 +188,30 @@ namespace : base_window(frame_params), main_page_uri_(main_page_uri) { + signal_key_press_event().connect( + sigc::mem_fun(this, &preview_window::on_key_press)); } void preview_window::do_late_initialisation() { browser_widget_.load_uri(main_page_uri_); } - + + bool preview_window::on_key_press(GdkEventKey * event) + { + switch (event->keyval) + { + case GDK_t: // = top menu + browser_widget_.load_uri(main_page_uri_); + return true; + case GDK_q: // = quit + Gtk::Main::quit(); + return true; + default: + return false; + } + } + class conversion_window : public base_window { public: @@ -258,7 +278,7 @@ namespace finished_(false) { browser_widget_.signal_net_state().connect( - SigC::slot(*this, &conversion_window::on_net_state_change)); + sigc::mem_fun(this, &conversion_window::on_net_state_change)); add_menu(main_page_uri); } @@ -945,7 +965,7 @@ int main(int argc, char ** argv) { preview_window window(frame_params, menu_url); window.show(); - window.signal_hide().connect(SigC::slot(&Gtk::Main::quit)); + window.signal_hide().connect(sigc::ptr_fun(Gtk::Main::quit)); Gtk::Main::run(); return EXIT_SUCCESS; } @@ -953,7 +973,7 @@ int main(int argc, char ** argv) { conversion_window window(frame_params, menu_url, output_dir, encoder); window.show(); - window.signal_hide().connect(SigC::slot(&Gtk::Main::quit)); + window.signal_hide().connect(sigc::ptr_fun(Gtk::Main::quit)); Gtk::Main::run(); return window.is_finished() ? EXIT_SUCCESS : EXIT_FAILURE; }