1
0
mirror of https://bitbucket.org/librepilot/librepilot.git synced 2024-12-01 09:24:10 +01:00

Fixed layouts in the setup wizard and made the wizard resizeable.

This commit is contained in:
Fredrik Arvidsson 2012-10-10 00:36:29 +02:00
parent fc69eaa205
commit befa5da671
16 changed files with 262 additions and 90 deletions

View File

@ -31,5 +31,5 @@ AbstractWizardPage::AbstractWizardPage(SetupWizard* wizard, QWidget *parent) :
QWizardPage(parent)
{
m_wizard = wizard;
setFixedSize(600, 400);
//setFixedSize(600, 400);
}

View File

@ -10,6 +10,18 @@
<height>400</height>
</rect>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>400</width>
<height>400</height>
</size>
</property>
<property name="windowTitle">
<string>WizardPage</string>
</property>
@ -44,46 +56,92 @@ p, li { white-space: pre-wrap; }
</widget>
</item>
<item>
<layout class="QFormLayout" name="formLayout">
<item row="1" column="0">
<widget class="QLabel" name="label_2">
<property name="font">
<font>
<pointsize>10</pointsize>
<weight>50</weight>
<bold>false</bold>
</font>
</property>
<property name="text">
<string>Connection device:</string>
</property>
</widget>
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
<item>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<widget class="QLabel" name="label_2">
<property name="minimumSize">
<size>
<width>150</width>
<height>0</height>
</size>
</property>
<property name="font">
<font>
<pointsize>10</pointsize>
<weight>50</weight>
<bold>false</bold>
</font>
</property>
<property name="text">
<string>Connection device:</string>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="deviceCombo">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
</widget>
</item>
</layout>
</item>
<item row="1" column="1">
<widget class="QComboBox" name="deviceCombo"/>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_3">
<item>
<widget class="QLabel" name="label_3">
<property name="minimumSize">
<size>
<width>150</width>
<height>0</height>
</size>
</property>
<property name="font">
<font>
<pointsize>10</pointsize>
<weight>50</weight>
<bold>false</bold>
</font>
</property>
<property name="text">
<string>Detected board type:</string>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="boardTypeCombo">
<property name="enabled">
<bool>false</bool>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
</widget>
</item>
</layout>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_3">
<property name="font">
<font>
<pointsize>10</pointsize>
<weight>50</weight>
<bold>false</bold>
</font>
</property>
<property name="text">
<string>Detected board type:</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QComboBox" name="boardTypeCombo">
<property name="enabled">
<bool>false</bool>
</property>
</widget>
</item>
<item row="3" column="1">
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<spacer name="horizontalSpacer">
@ -102,7 +160,7 @@ p, li { white-space: pre-wrap; }
<widget class="QPushButton" name="connectButton">
<property name="maximumSize">
<size>
<width>100</width>
<width>120</width>
<height>16777215</height>
</size>
</property>

View File

@ -38,6 +38,19 @@ p, li { white-space: pre-wrap; }
</property>
</widget>
</item>
<item>
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>

View File

@ -35,6 +35,19 @@ p, li { white-space: pre-wrap; }
</property>
</widget>
</item>
<item>
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
@ -96,19 +109,6 @@ QProgressBar::chunk {
</item>
</layout>
</item>
<item>
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
<resources>

View File

@ -37,10 +37,10 @@ MultiPage::MultiPage(SetupWizard *wizard, QWidget *parent) :
QSvgRenderer *renderer = new QSvgRenderer();
renderer->load(QString(":/configgadget/images/multirotor-shapes.svg"));
multiPic = new QGraphicsSvgItem();
multiPic->setSharedRenderer(renderer);
m_multiPic = new QGraphicsSvgItem();
m_multiPic->setSharedRenderer(renderer);
QGraphicsScene *scene = new QGraphicsScene(this);
scene->addItem(multiPic);
scene->addItem(m_multiPic);
ui->typeGraphicsView->setScene(scene);
setupMultiTypesCombo();
@ -48,8 +48,8 @@ MultiPage::MultiPage(SetupWizard *wizard, QWidget *parent) :
// Default to Quad X since it is the most common setup
ui->typeCombo->setCurrentIndex(1);
connect(ui->typeCombo, SIGNAL(currentIndexChanged(int)), this, SLOT(updateImageAndDescription()));
ui->typeGraphicsView->setSceneRect(multiPic->boundingRect());
ui->typeGraphicsView->fitInView(multiPic, Qt::KeepAspectRatio);
ui->typeGraphicsView->setSceneRect(m_multiPic->boundingRect());
ui->typeGraphicsView->fitInView(m_multiPic, Qt::KeepAspectRatio);
}
MultiPage::~MultiPage()
@ -70,6 +70,15 @@ bool MultiPage::validatePage()
return true;
}
void MultiPage::resizeEvent(QResizeEvent *event)
{
Q_UNUSED(event);
if(m_multiPic) {
ui->typeGraphicsView->setSceneRect(m_multiPic->boundingRect());
ui->typeGraphicsView->fitInView(m_multiPic, Qt::KeepAspectRatio);
}
}
void MultiPage::setupMultiTypesCombo()
{
ui->typeCombo->addItem(tr("Tricopter"), SetupWizard::MULTI_ROTOR_TRI_Y);
@ -165,9 +174,9 @@ void MultiPage::updateImageAndDescription()
elementId = "";
break;
}
multiPic->setElementId(elementId);
ui->typeGraphicsView->setSceneRect(multiPic->boundingRect());
ui->typeGraphicsView->fitInView(multiPic, Qt::KeepAspectRatio);
m_multiPic->setElementId(elementId);
ui->typeGraphicsView->setSceneRect(m_multiPic->boundingRect());
ui->typeGraphicsView->fitInView(m_multiPic, Qt::KeepAspectRatio);
ui->typeDescription->setText(description);
}

View File

@ -49,11 +49,13 @@ public:
void initializePage();
bool validatePage();
protected:
void resizeEvent(QResizeEvent *event);
private:
Ui::MultiPage *ui;
void setupMultiTypesCombo();
QGraphicsSvgItem *multiPic;
QGraphicsSvgItem *m_multiPic;
void updateAvailableTypes();
QList<QString> m_descriptions;

View File

@ -37,12 +37,24 @@ p, li { white-space: pre-wrap; }
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<property name="topMargin">
<number>4</number>
</property>
<item>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<property name="rightMargin">
<number>4</number>
</property>
<item>
<widget class="QLabel" name="label_2">
<property name="minimumSize">
<size>
<width>125</width>
<height>36</height>
</size>
</property>
<property name="font">
<font>
<pointsize>10</pointsize>
@ -56,12 +68,25 @@ p, li { white-space: pre-wrap; }
</widget>
</item>
<item>
<widget class="QComboBox" name="typeCombo"/>
<widget class="QComboBox" name="typeCombo">
<property name="minimumSize">
<size>
<width>125</width>
<height>20</height>
</size>
</property>
</widget>
</item>
</layout>
</item>
<item>
<widget class="QTextEdit" name="typeDescription">
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="verticalScrollBarPolicy">
<enum>Qt::ScrollBarAlwaysOn</enum>
</property>
@ -78,7 +103,7 @@ p, li { white-space: pre-wrap; }
<item>
<widget class="QGraphicsView" name="typeGraphicsView">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>

View File

@ -16,10 +16,10 @@
<widget class="QLabel" name="label_2">
<property name="geometry">
<rect>
<x>50</x>
<y>190</y>
<width>501</width>
<height>31</height>
<x>20</x>
<y>170</y>
<width>551</width>
<height>51</height>
</rect>
</property>
<property name="text">

View File

@ -228,6 +228,15 @@ void OutputCalibrationPage::showEvent(QShowEvent *event)
}
}
void OutputCalibrationPage::resizeEvent(QResizeEvent *event)
{
Q_UNUSED(event);
if(m_vehicleBoundsItem) {
ui->vehicleView->setSceneRect(m_vehicleBoundsItem->boundingRect());
ui->vehicleView->fitInView(m_vehicleBoundsItem, Qt::KeepAspectRatio);
}
}
void OutputCalibrationPage::customBackClicked()
{
if(m_currentWizardIndex > 0)

View File

@ -52,6 +52,7 @@ public:
protected:
void showEvent(QShowEvent *event);
void resizeEvent(QResizeEvent *event);
public slots:
void customBackClicked();

View File

@ -37,6 +37,19 @@ p, li { white-space: pre-wrap; }
</property>
</widget>
</item>
<item>
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>

View File

@ -40,6 +40,19 @@ p, li { white-space: pre-wrap; }
</property>
</widget>
</item>
<item>
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>

View File

@ -6,13 +6,19 @@
<rect>
<x>0</x>
<y>0</y>
<width>640</width>
<width>600</width>
<height>400</height>
</rect>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>640</width>
<width>400</width>
<height>400</height>
</size>
</property>
@ -22,6 +28,12 @@
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QLabel" name="label_2">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;

View File

@ -40,6 +40,27 @@ p, li { white-space: pre-wrap; }
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<property name="topMargin">
<number>4</number>
</property>
<item>
<widget class="QTextEdit" name="configurationSummary">
<property name="font">
<font>
<pointsize>10</pointsize>
</font>
</property>
<property name="verticalScrollBarPolicy">
<enum>Qt::ScrollBarAlwaysOn</enum>
</property>
<property name="horizontalScrollBarPolicy">
<enum>Qt::ScrollBarAlwaysOff</enum>
</property>
<property name="textInteractionFlags">
<set>Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
</property>
</widget>
</item>
<item>
<widget class="QToolButton" name="illustrationButton">
<property name="toolTip">
@ -76,24 +97,6 @@ p, li { white-space: pre-wrap; }
</property>
</widget>
</item>
<item>
<widget class="QTextEdit" name="configurationSummary">
<property name="font">
<font>
<pointsize>10</pointsize>
</font>
</property>
<property name="verticalScrollBarPolicy">
<enum>Qt::ScrollBarAlwaysOn</enum>
</property>
<property name="horizontalScrollBarPolicy">
<enum>Qt::ScrollBarAlwaysOff</enum>
</property>
<property name="textInteractionFlags">
<set>Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
</property>
</widget>
</item>
</layout>
</item>
</layout>

View File

@ -37,6 +37,19 @@ p, li { white-space: pre-wrap; }
</property>
</widget>
</item>
<item>
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>

View File

@ -57,9 +57,10 @@ SetupWizard::SetupWizard(QWidget *parent) : QWizard(parent), VehicleConfiguratio
{
m_actuatorSettings << actuatorChannelSettings();
}
createPages();
setWizardStyle(QWizard::ModernStyle);
setFixedSize(640, 530);
setMinimumSize(600, 450);
resize(600, 450);
createPages();
}
int SetupWizard::nextId() const