MCPcopy Create free account
hub / github.com/KDE/labplot / PresenterWidget

Method PresenterWidget

src/frontend/worksheet/PresenterWidget.cpp:20–50  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

18#include <QScreen>
19
20PresenterWidget::PresenterWidget(Worksheet* worksheet, QScreen* screen, bool interactive, QWidget* parent)
21 : QWidget(parent)
22 , m_worksheet(worksheet)
23 , m_view(new WorksheetView(worksheet)) {
24 setAttribute(Qt::WA_DeleteOnClose);
25 setFocus();
26
27 m_view->setParent(this);
28 m_view->setInteractive(interactive);
29 m_view->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
30 m_view->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
31 m_view->setContextMenuPolicy(Qt::NoContextMenu);
32 m_view->initPlotNavigationActions(); // init the relevant actions so we can also navigate in the plots in the presenter mode
33
34 const QRect& screenSize = screen->geometry();
35 m_view->setGeometry(screenSize); // use the full screen size for the view
36 m_view->show();
37 m_view->setFocus();
38
39 m_panel = new SlidingPanelTop(screenSize, worksheet->name(), this);
40 qApp->installEventFilter(this);
41 connect(m_panel->quitButton(), &QPushButton::clicked, this, [=]() {
42 close();
43 });
44
45 if (interactive) {
46 const auto group = Settings::group(QStringLiteral("PresenterWidget"));
47 const auto fixed = group.readEntry("PresenterWidgetNavigationPanelFixed", false);
48 m_navigationPanel = new SlidingPanelBottom(screenSize, m_view, fixed, this);
49 }
50}
51
52PresenterWidget::~PresenterWidget() {
53 delete m_view;

Callers

nothing calls this directly

Calls 8

groupFunction · 0.85
setInteractiveMethod · 0.80
geometryMethod · 0.80
showMethod · 0.80
quitButtonMethod · 0.80
setFocusMethod · 0.45
nameMethod · 0.45

Tested by

no test coverage detected