MCPcopy Create free account
hub / github.com/FreesmTeam/FreesmLauncher / PageContainer

Method PageContainer

launcher/ui/widgets/PageContainer.cpp:77–110  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

75};
76
77PageContainer::PageContainer(BasePageProvider* pageProvider, QString defaultId, QWidget* parent) : QWidget(parent)
78{
79 createUI();
80 m_model = new PageModel(this);
81 m_proxyModel = new PageEntryFilterModel(this);
82 int counter = 0;
83 auto pages = pageProvider->getPages();
84 for (auto page : pages) {
85 auto widget = dynamic_cast<QWidget*>(page);
86 widget->setParent(this);
87 page->stackIndex = m_pageStack->addWidget(widget);
88 page->listIndex = counter;
89 page->setParentContainer(this);
90 counter++;
91 page->updateExtraInfo = [this](QString id, QString info) {
92 if (m_currentPage && id == m_currentPage->id())
93 m_header->setText(m_currentPage->displayName() + info);
94 };
95 }
96 m_model->setPages(pages);
97
98 m_proxyModel->setSourceModel(m_model);
99 m_proxyModel->setFilterCaseSensitivity(Qt::CaseInsensitive);
100
101 m_pageList->setIconSize(QSize(pageIconSize, pageIconSize));
102 m_pageList->setSelectionMode(QAbstractItemView::SingleSelection);
103 m_pageList->setVerticalScrollMode(QAbstractItemView::ScrollPerPixel);
104 m_pageList->setSizeAdjustPolicy(QAbstractScrollArea::AdjustToContents);
105 m_pageList->setModel(m_proxyModel);
106 connect(m_pageList->selectionModel(), SIGNAL(currentRowChanged(QModelIndex, QModelIndex)), this, SLOT(currentChanged(QModelIndex)));
107 m_pageStack->setStackingMode(QStackedLayout::StackOne);
108 m_pageList->setFocus();
109 selectPage(defaultId);
110}
111
112bool PageContainer::selectPage(QString pageId)
113{

Callers

nothing calls this directly

Calls 8

setPagesMethod · 0.80
getPagesMethod · 0.45
setParentContainerMethod · 0.45
idMethod · 0.45
setTextMethod · 0.45
displayNameMethod · 0.45
setSourceModelMethod · 0.45
setModelMethod · 0.45

Tested by

no test coverage detected