mirror of
https://github.com/ciphervance/supercell-wx.git
synced 2025-11-01 03:00:05 +00:00
Radar site filtering, banded rows
This commit is contained in:
parent
2acd8be063
commit
43bf29d35f
2 changed files with 57 additions and 12 deletions
|
|
@ -19,32 +19,40 @@ static const auto logger_ = scwx::util::Logger::Create(logPrefix_);
|
||||||
class RadarSiteDialogImpl
|
class RadarSiteDialogImpl
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
explicit RadarSiteDialogImpl() :
|
explicit RadarSiteDialogImpl(RadarSiteDialog* self) :
|
||||||
radarSiteModel_ {nullptr}, proxyModel_ {nullptr}
|
self_ {self},
|
||||||
|
radarSiteModel_ {new model::RadarSiteModel(self_)},
|
||||||
|
proxyModel_ {new QSortFilterProxyModel(self_)}
|
||||||
{
|
{
|
||||||
|
proxyModel_->setSourceModel(radarSiteModel_);
|
||||||
|
proxyModel_->setFilterCaseSensitivity(Qt::CaseInsensitive);
|
||||||
|
proxyModel_->setFilterKeyColumn(-1);
|
||||||
}
|
}
|
||||||
~RadarSiteDialogImpl() = default;
|
~RadarSiteDialogImpl() = default;
|
||||||
|
|
||||||
|
RadarSiteDialog* self_;
|
||||||
model::RadarSiteModel* radarSiteModel_;
|
model::RadarSiteModel* radarSiteModel_;
|
||||||
QSortFilterProxyModel* proxyModel_;
|
QSortFilterProxyModel* proxyModel_;
|
||||||
};
|
};
|
||||||
|
|
||||||
RadarSiteDialog::RadarSiteDialog(QWidget* parent) :
|
RadarSiteDialog::RadarSiteDialog(QWidget* parent) :
|
||||||
QDialog(parent),
|
QDialog(parent),
|
||||||
p(std::make_unique<RadarSiteDialogImpl>()),
|
p(std::make_unique<RadarSiteDialogImpl>(this)),
|
||||||
ui(new Ui::RadarSiteDialog)
|
ui(new Ui::RadarSiteDialog)
|
||||||
{
|
{
|
||||||
ui->setupUi(this);
|
ui->setupUi(this);
|
||||||
|
|
||||||
p->radarSiteModel_ = new model::RadarSiteModel(this);
|
// Radar Site View
|
||||||
p->proxyModel_ = new QSortFilterProxyModel(this);
|
|
||||||
p->proxyModel_->setSourceModel(p->radarSiteModel_);
|
|
||||||
ui->radarSiteView->setModel(p->proxyModel_);
|
ui->radarSiteView->setModel(p->proxyModel_);
|
||||||
|
|
||||||
for (int column = 0; column < p->radarSiteModel_->columnCount(); column++)
|
for (int column = 0; column < p->radarSiteModel_->columnCount(); column++)
|
||||||
{
|
{
|
||||||
ui->radarSiteView->resizeColumnToContents(column);
|
ui->radarSiteView->resizeColumnToContents(column);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
connect(ui->radarSiteFilter,
|
||||||
|
&QLineEdit::textChanged,
|
||||||
|
p->proxyModel_,
|
||||||
|
&QSortFilterProxyModel::setFilterWildcard);
|
||||||
}
|
}
|
||||||
|
|
||||||
RadarSiteDialog::~RadarSiteDialog()
|
RadarSiteDialog::~RadarSiteDialog()
|
||||||
|
|
|
||||||
|
|
@ -16,6 +16,9 @@
|
||||||
<layout class="QVBoxLayout" name="verticalLayout">
|
<layout class="QVBoxLayout" name="verticalLayout">
|
||||||
<item>
|
<item>
|
||||||
<widget class="QTreeView" name="radarSiteView">
|
<widget class="QTreeView" name="radarSiteView">
|
||||||
|
<property name="alternatingRowColors">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
<property name="indentation">
|
<property name="indentation">
|
||||||
<number>0</number>
|
<number>0</number>
|
||||||
</property>
|
</property>
|
||||||
|
|
@ -24,6 +27,37 @@
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QFrame" name="frame">
|
||||||
|
<property name="frameShape">
|
||||||
|
<enum>QFrame::StyledPanel</enum>
|
||||||
|
</property>
|
||||||
|
<property name="frameShadow">
|
||||||
|
<enum>QFrame::Raised</enum>
|
||||||
|
</property>
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||||
|
<property name="leftMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="topMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="rightMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="bottomMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<item>
|
||||||
|
<widget class="QLineEdit" name="radarSiteFilter">
|
||||||
|
<property name="placeholderText">
|
||||||
|
<string>Filter</string>
|
||||||
|
</property>
|
||||||
|
<property name="clearButtonEnabled">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QDialogButtonBox" name="buttonBox">
|
<widget class="QDialogButtonBox" name="buttonBox">
|
||||||
<property name="orientation">
|
<property name="orientation">
|
||||||
|
|
@ -36,6 +70,9 @@
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
<resources/>
|
<resources/>
|
||||||
<connections>
|
<connections>
|
||||||
<connection>
|
<connection>
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue