本文整理汇总了C++中WebTab::setSessionData方法的典型用法代码示例。如果您正苦于以下问题:C++ WebTab::setSessionData方法的具体用法?C++ WebTab::setSessionData怎么用?C++ WebTab::setSessionData使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类WebTab
的用法示例。
在下文中一共展示了WebTab::setSessionData方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: QTreeView
TabTreeView::TabTreeView(BrowserWindow *window, QWidget *parent)
: QTreeView(parent)
, m_window(window)
, m_expandedSessionKey(QSL("VerticalTabs-expanded"))
{
setDragEnabled(true);
setAcceptDrops(true);
setHeaderHidden(true);
setUniformRowHeights(true);
setDropIndicatorShown(true);
setAllColumnsShowFocus(true);
setMouseTracking(true);
setFocusPolicy(Qt::NoFocus);
setFrameShape(QFrame::NoFrame);
setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
setVerticalScrollMode(QAbstractItemView::ScrollPerPixel);
setIndentation(0);
m_delegate = new TabTreeDelegate(this);
setItemDelegate(m_delegate);
// Move scrollbar to the left
setLayoutDirection(isRightToLeft() ? Qt::LeftToRight : Qt::RightToLeft);
// Enable hover to force redrawing close button
viewport()->setAttribute(Qt::WA_Hover);
auto saveExpandedState = [this](const QModelIndex &index, bool expanded) {
if (m_initializing) {
return;
}
WebTab *tab = index.data(TabModel::WebTabRole).value<WebTab*>();
if (tab) {
tab->setSessionData(m_expandedSessionKey, expanded);
}
};
connect(this, &TabTreeView::expanded, this, std::bind(saveExpandedState, std::placeholders::_1, true));
connect(this, &TabTreeView::collapsed, this, std::bind(saveExpandedState, std::placeholders::_1, false));
}