]> sigrok.org Git - pulseview.git/blobdiff - pv/views/trace/tracegroup.cpp
Session: Fix issue #67 by improving error handling
[pulseview.git] / pv / views / trace / tracegroup.cpp
index daf0c6705c9861a5cabf0f02612cac2dce7eb18d..ecc97b6ee80153671c2a1cc4512a0530a99ea9c4 100644 (file)
@@ -39,7 +39,7 @@ namespace trace {
 const int TraceGroup::Padding = 8;
 const int TraceGroup::Width = 12;
 const int TraceGroup::LineThickness = 5;
-const QColor TraceGroup::LineColour(QColor(0x55, 0x57, 0x53));
+const QColor TraceGroup::LineColor(QColor(0x55, 0x57, 0x53));
 
 TraceGroup::~TraceGroup()
 {
@@ -85,8 +85,8 @@ pair<int, int> TraceGroup::v_extents() const
 void TraceGroup::paint_label(QPainter &p, const QRect &rect, bool hover)
 {
        const QRectF r = label_rect(rect).adjusted(
-               LineThickness / 2, LineThickness / 2,
-               -LineThickness / 2, -LineThickness / 2);
+               LineThickness / 2.0, LineThickness / 2.0,
+               -LineThickness / 2.0, -LineThickness / 2.0);
 
        // Paint the label
        const QPointF points[] = {
@@ -104,10 +104,10 @@ void TraceGroup::paint_label(QPainter &p, const QRect &rect, bool hover)
                p.drawPolyline(points, countof(points));
        }
 
-       p.setPen(QPen(QBrush(LineColour.darker()), LineThickness,
+       p.setPen(QPen(QBrush(LineColor.darker()), LineThickness,
                Qt::SolidLine, Qt::SquareCap, Qt::RoundJoin));
        p.drawPolyline(points, countof(points));
-       p.setPen(QPen(QBrush(hover ? LineColour.lighter() : LineColour),
+       p.setPen(QPen(QBrush(hover ? LineColor.lighter() : LineColor),
                LineThickness - 2, Qt::SolidLine, Qt::SquareCap,
                Qt::RoundJoin));
        p.drawPolyline(points, countof(points));
@@ -116,7 +116,7 @@ void TraceGroup::paint_label(QPainter &p, const QRect &rect, bool hover)
 QRectF TraceGroup::label_rect(const QRectF &rect) const
 {
        QRectF child_rect;
-       for (const shared_ptr<ViewItem> r : child_items())
+       for (const shared_ptr<ViewItem>& r : child_items())
                if (r && r->enabled())
                        child_rect = child_rect.united(r->label_rect(rect));
 
@@ -133,12 +133,16 @@ bool TraceGroup::pt_in_label_rect(int left, int right, const QPoint &point)
        return false;
 }
 
-QMenu* TraceGroup::create_context_menu(QWidget *parent)
+QMenu* TraceGroup::create_header_context_menu(QWidget *parent)
 {
        QMenu *const menu = new QMenu(parent);
 
        QAction *const ungroup = new QAction(tr("Ungroup"), this);
+#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
+       ungroup->setShortcut(QKeySequence(Qt::CTRL | Qt::Key_U));
+#else
        ungroup->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_U));
+#endif
        connect(ungroup, SIGNAL(triggered()), this, SLOT(on_ungroup()));
        menu->addAction(ungroup);
 
@@ -166,7 +170,7 @@ void TraceGroup::ungroup()
        const vector<shared_ptr<TraceTreeItem>> items(trace_tree_child_items());
        clear_child_items();
 
-       for (shared_ptr<TraceTreeItem> r : items)
+       for (const shared_ptr<TraceTreeItem>& r : items)
                owner_->add_child_item(r);
 
        owner_->remove_child_item(shared_from_this());