82 lines
1.9 KiB
C++
82 lines
1.9 KiB
C++
/*
|
|
* Copyright (C) EdgeTX
|
|
*
|
|
* Based on code named
|
|
* opentx - https://github.com/opentx/opentx
|
|
* th9x - http://code.google.com/p/th9x
|
|
* er9x - http://code.google.com/p/er9x
|
|
* gruvin9x - http://code.google.com/p/gruvin9x
|
|
*
|
|
* License GPLv2: http://www.gnu.org/licenses/gpl-2.0.html
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License version 2 as
|
|
* published by the Free Software Foundation.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*/
|
|
|
|
#include "prefs_panel.h"
|
|
|
|
PrefsPanel::PrefsPanel(QWidget * parent, Firmware * firmware, Board::Type & board, Profile & profile):
|
|
AbstractPanel(parent),
|
|
firmware(firmware),
|
|
board(board),
|
|
profile(profile),
|
|
row(0),
|
|
col(0)
|
|
{
|
|
}
|
|
|
|
PrefsPanel::~PrefsPanel()
|
|
{
|
|
}
|
|
|
|
AutoLineEdit * PrefsPanel::newPathWidget(QWidget * parent)
|
|
{
|
|
AutoLineEditPath *wgt = new AutoLineEditPath(parent, true);
|
|
setPathWidget(wgt);
|
|
return wgt;
|
|
}
|
|
|
|
void PrefsPanel::setPathWidget(AutoLineEdit * wgt)
|
|
{
|
|
wgt->setMinimumWidth(PATH_MIN_WIDTH);
|
|
wgt->setSizePolicy(PATH_SIZE_POLICY);
|
|
wgt->setEditSignal(true);
|
|
wgt->setClearButtonEnabled(true);
|
|
}
|
|
|
|
void PrefsPanel::onRadioChanged(Firmware * firmware, bool deferUpdate)
|
|
{
|
|
this->firmware = firmware;
|
|
board = this->firmware->getBoard();
|
|
|
|
if (!deferUpdate)
|
|
update();
|
|
}
|
|
|
|
/*
|
|
PrefsScrollArea
|
|
*/
|
|
|
|
PrefsScrollArea::PrefsScrollArea(QWidget * parent, PrefsPanel * panel):
|
|
QScrollArea(parent),
|
|
panel(panel)
|
|
{
|
|
setWidgetResizable(true);
|
|
setWidget(panel);
|
|
panel->installEventFilter(this);
|
|
}
|
|
|
|
bool PrefsScrollArea::eventFilter(QObject * o, QEvent * e)
|
|
{
|
|
if (o == panel && e->type() == QEvent::Resize)
|
|
setMinimumWidth(panel->minimumSizeHint().width());
|
|
|
|
return false;
|
|
}
|