feat(cpn): reorganise and refactor Edit Settings (Profile/Application/Simulator/Update) dialog (#7623)
This commit is contained in:
@@ -0,0 +1,81 @@
|
||||
/*
|
||||
* 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;
|
||||
}
|
||||
Reference in New Issue
Block a user