MCPcopy Create free account
hub / github.com/KangLin/RabbitRemoteControl / SetFilterHeader

Method SetFilterHeader

Src/FrmManagePlugins.cpp:245–300  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

243}
244
245int CFrmManagePlugins::SetFilterHeader()
246{
247 if(!m_pModelFilter) return -1;
248 auto pWhitelist = new QStandardItem(tr("Whitelist"));
249 pWhitelist->setToolTip(pWhitelist->text());
250 pWhitelist->setCheckable(true);
251 m_pModelFilter->setHorizontalHeaderItem(ColumnNo::Whitelist, pWhitelist);
252 auto pBlacklist = new QStandardItem(tr("Blacklist"));
253 pBlacklist->setToolTip(pBlacklist->text());
254 pBlacklist->setCheckable(true);
255 m_pModelFilter->setHorizontalHeaderItem(ColumnNo::Blacklist, pBlacklist);
256 m_pModelFilter->setHorizontalHeaderItem(ColumnNo::Name, new QStandardItem(tr("Name")));
257 m_pModelFilter->setHorizontalHeaderItem(ColumnNo::Type, new QStandardItem(tr("Type")));
258 m_pModelFilter->setHorizontalHeaderItem(ColumnNo::File, new QStandardItem(tr("File")));
259
260 if(qobject_cast<CCheckBoxHeader*>(ui->tvFilter->horizontalHeader()))
261 return 0;
262
263 auto pHeader = new CCheckBoxHeader(Qt::Horizontal, ui->tvFilter);
264 if(pHeader) {
265 ui->tvFilter->setHorizontalHeader(pHeader);
266 bool check = false;
267 check = connect(pHeader, &CCheckBoxHeader::sigCheckStateChanged,
268 this, [this](int index, Qt::CheckState state) {
269 qDebug(log) << "CCheckBoxHeader::sigCheckStateChanged";
270 for(int row = 0; row < m_pModelFilter->rowCount(); row++) {
271 auto item = m_pModelFilter->item(row, index);
272 switch(state)
273 {
274 case Qt::PartiallyChecked: {
275 QString szPath = m_pModelFilter->item(row, ColumnNo::File)->text();
276 if(ColumnNo::Whitelist == index) {
277 if(m_pPara->m_WhiteList.contains(szPath))
278 item->setCheckState(Qt::Checked);
279 else
280 item->setCheckState(Qt::Unchecked);
281 }
282 if(ColumnNo::Blacklist == index) {
283 if(m_pPara->m_BlackList.contains(szPath))
284 item->setCheckState(Qt::Checked);
285 else
286 item->setCheckState(Qt::Unchecked);
287 }
288 break;
289 }
290 default:
291 item->setCheckState(state);
292 break;
293 }
294 }
295 });
296 Q_ASSERT(check);
297 }
298
299 return 0;
300}
301
302void CFrmManagePlugins::slotFilterItemChanged(QStandardItem *item)

Callers

nothing calls this directly

Calls 2

rowCountMethod · 0.45
containsMethod · 0.45

Tested by

no test coverage detected