From 3840c5158da52c18897b3d905d0eb21cdd99b065 Mon Sep 17 00:00:00 2001 From: Thomas Wilshaw Date: Tue, 19 Oct 2021 13:24:27 +0100 Subject: [PATCH] Improve widget resizing --- app/widget/marker/marker.cpp | 17 ++++++++++------- app/widget/timeruler/seekablewidget.cpp | 3 ++- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/app/widget/marker/marker.cpp b/app/widget/marker/marker.cpp index cf9710c5b..7b8db781b 100644 --- a/app/widget/marker/marker.cpp +++ b/app/widget/marker/marker.cpp @@ -20,11 +20,11 @@ #include "marker.h" +#include #include #include "common/qtutils.h" #include "config/config.h" -#include "dialog/text/text.h" #include "ui/colorcoding.h" #include "widget/menu/menu.h" #include "widget/menu/menushared.h" @@ -37,8 +37,8 @@ Marker::Marker(QWidget *parent) : QWidget(parent), active_(false) { - //setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); - setMinimumSize(8, 20); + setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); + resize(7, 14); setContextMenuPolicy(Qt::CustomContextMenu); connect(this, &Marker::customContextMenuRequested, this, &Marker::ShowContextMenu); @@ -101,7 +101,10 @@ void Marker::paintEvent(QPaintEvent *event) p.drawPolygon(points, 6); if (!name_.isEmpty()) { + resize(fm.horizontalAdvance(name_)+10, 14); p.drawText(x + marker_width_, y - half_text_height, name_); + } else { + resize(7, 14); } } @@ -146,10 +149,10 @@ void Marker::ShowContextMenu() { void Marker::Rename() { - TextDialog d(this->name_, this); - if (d.exec() == QDialog::Accepted) { - QString s = d.text(); - emit NameChanged(s); + bool ok; + QString marker_name = QInputDialog::getText(this, tr("Set Marker"), tr("Marker name:"), QLineEdit::Normal, QString(), &ok); + if (ok) { + emit NameChanged(marker_name); } } diff --git a/app/widget/timeruler/seekablewidget.cpp b/app/widget/timeruler/seekablewidget.cpp index 18f8630a8..c2cc7cb2e 100644 --- a/app/widget/timeruler/seekablewidget.cpp +++ b/app/widget/timeruler/seekablewidget.cpp @@ -213,8 +213,9 @@ void SeekableWidget::addMarker(TimelineMarker* marker) connect(marker_widget, &Marker::NameChanged, marker, &TimelineMarker::set_name); connect(marker, &TimelineMarker::NameChanged, marker_widget, &Marker::SetName); - marker_widget->move(TimeToScreen(marker->time().in()), text_height_); + marker_widget->move(TimeToScreen(marker->time().in())-2, text_height_); marker_widget->SetColor(marker->color()); + marker_widget->SetName(marker->name()); marker_widget->show(); } }