if(pDockTitleBar) {
setTitleBarWidget(pDockTitleBar);
QMenu* pMenu = new QMenu(tr("Filter"), pDockTitleBar);
QPushButton* pFilter = pDockTitleBar->CreateSmallPushButton(
QIcon::fromTheme("filter"), pDockTitleBar);
pFilter->setToolTip(tr("Filter"));
pFilter->setMenu(pMenu);
QList<QWidget*> lstWidget;
lstWidget << pFilter;
QString szTitle;
uint filter = m_pModel->filter();
filter = set.value("FolderBrowser/Filters", filter).toUInt();
QDir::Filters f = QDir::Filters(filter);
m_pModel->setFilter(f);
if(QDir::Hidden & f)
{
szTitle = tr("Don't show hidden files");
} else {
szTitle = tr("Show hidden files");
}
pMenu->addAction(szTitle, this, [&](){
QAction* p = qobject_cast<QAction*>(sender());
if(!(p && m_pModel)) return;
QDir::Filters f = m_pModel->filter();
if(QDir::Hidden & f)
{
p->setText(tr("Show hidden files"));
m_pModel->setFilter(f & (~QDir::Hidden));
} else {
p->setText(tr("Don't show hidden files"));
m_pModel->setFilter(f | QDir::Hidden);
}
});
m_bDetails = set.value("FolderBrowser/Details", false).toBool();
if(m_bDetails) {
szTitle = tr("Show brief");
ui->treeView->header()->showSection(1);
ui->treeView->header()->showSection(2);
ui->treeView->header()->showSection(3);
} else {
szTitle = tr("Show details");
ui->treeView->header()->hideSection(1);
ui->treeView->header()->hideSection(2);
ui->treeView->header()->hideSection(3);
}
pMenu->addAction(szTitle, this, [&](){
QAction* p = qobject_cast<QAction*>(sender());
if(!(p && m_pModel)) return;
m_bDetails = !m_bDetails;
QString szTitle;
if(m_bDetails) {
szTitle = tr("Show brief");
ui->treeView->header()->showSection(1);
ui->treeView->header()->showSection(2);
ui->treeView->header()->showSection(3);
} else {
szTitle = tr("Show details");
ui->treeView->header()->hideSection(1);
ui->treeView->header()->hideSection(2);
ui->treeView->header()->hideSection(3);
}
p->setText(szTitle);
});
}
The cursom title bar for QWidget, QDockWidget etc.
int AddWidgets(QList< QWidget * > pLstWidget)
Add user-defined buttons.