Files
edgetx-gx12/companion/src/prefsedit/prefs_panel.cpp
T

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;
}