X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;f=pv%2Fview%2Fdecodesignal.cpp;h=885312088c2ba11db0d6170687c294b837c06553;hb=b6b267bba9d55d23fe5c3537e4785238d4377ad7;hp=89d2c3212774cd229d72666a32cdd73f72e5ae8f;hpb=9cef95672622f4ecdb21edef9d81a10c789daf1e;p=pulseview.git diff --git a/pv/view/decodesignal.cpp b/pv/view/decodesignal.cpp index 89d2c32..8853120 100644 --- a/pv/view/decodesignal.cpp +++ b/pv/view/decodesignal.cpp @@ -24,6 +24,11 @@ extern "C" { #include +#include + +#include +#include + #include "decodesignal.h" #include @@ -57,14 +62,14 @@ DecodeSignal::DecodeSignal(pv::SigSession &session, this, SLOT(on_new_decode_data())); } -void DecodeSignal::init_context_bar_actions(QWidget *parent) +bool DecodeSignal::enabled() const { - (void)parent; + return true; } -bool DecodeSignal::enabled() const +const boost::shared_ptr& DecodeSignal::decoder() const { - return true; + return _decoder; } void DecodeSignal::set_view(pv::view::View *view) @@ -102,16 +107,23 @@ void DecodeSignal::paint_mid(QPainter &p, int left, int right) vector< shared_ptr > annotations(_decoder->annotations()); BOOST_FOREACH(shared_ptr a, annotations) { assert(a); - a->paint(p, _colour, _colour.darker(), get_text_colour(), - _text_size.height(), left, right, samples_per_pixel, - pixels_offset, y); + a->paint(p, get_text_colour(), _text_size.height(), + left, right, samples_per_pixel, pixels_offset, y); } } -const list DecodeSignal::get_context_bar_actions() +QMenu* DecodeSignal::create_context_menu(QWidget *parent) { - list actions; - return actions; + QMenu *const menu = Trace::create_context_menu(parent); + + menu->addSeparator(); + + QAction *const del = new QAction(tr("Delete"), this); + del->setShortcuts(QKeySequence::Delete); + connect(del, SIGNAL(triggered()), this, SLOT(on_delete())); + menu->addAction(del); + + return menu; } void DecodeSignal::on_new_decode_data() @@ -120,5 +132,15 @@ void DecodeSignal::on_new_decode_data() _view->update_viewport(); } +void DecodeSignal::delete_pressed() +{ + on_delete(); +} + +void DecodeSignal::on_delete() +{ + _session.remove_decode_signal(this); +} + } // namespace view } // namespace pv