Browse Source

Changes go UASQuickView handles resizing better, and doesn't "clip" text when the window is too small.

QGC4.4
Michael Carpenter 12 years ago
parent
commit
d39f344d39
  1. 26
      src/ui/uas/UASQuickView.cc
  2. 6
      src/ui/uas/UASQuickView.ui
  3. 22
      src/ui/uas/UASQuickViewTextItem.cc
  4. 2
      src/ui/uas/UASQuickViewTextItem.h

26
src/ui/uas/UASQuickView.cc

@ -210,32 +210,6 @@ void UASQuickView::setActiveUAS(UASInterface* uas) @@ -210,32 +210,6 @@ void UASQuickView::setActiveUAS(UASInterface* uas)
}
this->uas = uas;
connect(uas,SIGNAL(valueChanged(int,QString,QString,QVariant,quint64)),this,SLOT(valueChanged(int,QString,QString,QVariant,quint64)));
qDebug() << "UASInfoWidget property count:" << uas->metaObject()->propertyCount();
for (int i=0;i<uas->metaObject()->propertyCount();i++)
{
if (uas->metaObject()->property(i).hasNotifySignal())
{
qDebug() << "Property:" << i << uas->metaObject()->property(i).name();
uasPropertyValueMap[uas->metaObject()->property(i).name()] = 0;
if (!uasPropertyToLabelMap.contains(uas->metaObject()->property(i).name()))
{
QAction *action = new QAction(QString(uas->metaObject()->property(i).name()),this);
action->setCheckable(true);
connect(action,SIGNAL(toggled(bool)),this,SLOT(actionTriggered(bool)));
this->addAction(action);
}
qDebug() << "Signature:" << uas->metaObject()->property(i).notifySignal().signature();
int val = this->metaObject()->indexOfMethod("valChanged(double,QString)");
if (val != -1)
{
if (!connect(uas,uas->metaObject()->property(i).notifySignal(),this,this->metaObject()->method(val)))
{
qDebug() << "Error connecting signal";
}
}
}
}
//connect(uas,SIGNAL())
}
void UASQuickView::addSource(MAVLinkDecoder *decoder)

6
src/ui/uas/UASQuickView.ui

@ -21,7 +21,11 @@ @@ -21,7 +21,11 @@
</property>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<layout class="QVBoxLayout" name="verticalLayout"/>
<layout class="QVBoxLayout" name="verticalLayout">
<property name="spacing">
<number>0</number>
</property>
</layout>
</item>
</layout>
</widget>

22
src/ui/uas/UASQuickViewTextItem.cc

@ -4,21 +4,39 @@ UASQuickViewTextItem::UASQuickViewTextItem(QWidget *parent) : UASQuickViewItem(p @@ -4,21 +4,39 @@ UASQuickViewTextItem::UASQuickViewTextItem(QWidget *parent) : UASQuickViewItem(p
{
QVBoxLayout *layout = new QVBoxLayout();
this->setLayout(layout);
layout->setSpacing(0);
layout->setMargin(0);
titleLabel = new QLabel(this);
titleLabel->setAlignment(Qt::AlignHCenter);
this->layout()->addWidget(titleLabel);
valueLabel = new QLabel(this);
valueLabel->setAlignment(Qt::AlignHCenter);
valueLabel->setText("<h1>0.00</h1>");
valueLabel->setText("0.00");
this->layout()->addWidget(valueLabel);
layout->addSpacerItem(new QSpacerItem(20, 40, QSizePolicy::Minimum, QSizePolicy::Expanding));
QFont valuefont = valueLabel->font();
QFont titlefont = titleLabel->font();
valuefont.setPixelSize(this->height() / 2.0);
titlefont.setPixelSize(this->height() / 4.0);
valueLabel->setFont(valuefont);
titleLabel->setFont(titlefont);
}
void UASQuickViewTextItem::setValue(double value)
{
valueLabel->setText("<h1>" + QString::number(value,'f',4) + "</h1>");
valueLabel->setText(QString::number(value,'f',4));
}
void UASQuickViewTextItem::setTitle(QString title)
{
titleLabel->setText(title);
}
void UASQuickViewTextItem::resizeEvent(QResizeEvent *event)
{
QFont valuefont = valueLabel->font();
QFont titlefont = titleLabel->font();
valuefont.setPixelSize(this->height() / 2.0);
titlefont.setPixelSize(this->height() / 4.0);
valueLabel->setFont(valuefont);
titleLabel->setFont(titlefont);
update();
}

2
src/ui/uas/UASQuickViewTextItem.h

@ -9,6 +9,8 @@ public: @@ -9,6 +9,8 @@ public:
UASQuickViewTextItem(QWidget *parent=0);
void setValue(double value);
void setTitle(QString title);
protected:
void resizeEvent(QResizeEvent *event);
private:
QLabel *titleLabel;
QLabel *valueLabel;

Loading…
Cancel
Save