MCPcopy Create free account
hub / github.com/ckaiser/Lightscreen / PreviewDialog

Method PreviewDialog

dialogs/previewdialog.cpp:44–116  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

42#include <QUrl>
43
44PreviewDialog::PreviewDialog(QWidget *parent) :
45 QDialog(parent), mAutoclose(0), mAutocloseAction(0), mAutocloseReset(0), mPosition(0), mSize(0)
46{
47 setWindowFlags(Qt::Tool | Qt::WindowStaysOnTopHint);
48 setWindowTitle(tr("Screenshot Preview"));
49 setContextMenuPolicy(Qt::CustomContextMenu);
50
51 auto settings = ScreenshotManager::instance()->settings();
52
53 mSize = settings->value("options/previewSize", 300).toInt();
54 mPosition = settings->value("options/previewPosition", 3).toInt();
55
56 if (settings->value("options/previewAutoclose", false).toBool()) {
57 mAutoclose = settings->value("options/previewAutocloseTime").toInt();
58 mAutocloseReset = mAutoclose;
59 mAutocloseAction = settings->value("options/previewAutocloseAction").toInt();
60 }
61
62 auto layout = new QHBoxLayout;
63 mStack = new QStackedLayout;
64 connect(mStack, &QStackedLayout::currentChanged, this, &PreviewDialog::indexChanged);
65
66 mPrevButton = new QPushButton(os::icon("arrow-left"), "", this);
67 connect(mPrevButton, &QPushButton::clicked, this, &PreviewDialog::previous);
68
69 mNextButton = new QPushButton(os::icon("arrow-right"), "", this);
70 connect(mNextButton, &QPushButton::clicked, this, &PreviewDialog::next);
71
72 mPrevButton->setCursor(Qt::PointingHandCursor);
73 mPrevButton->setFlat(true);
74 mPrevButton->setGraphicsEffect(os::shadow(Qt::white));
75 mPrevButton->setIconSize(QSize(24, 24));
76 mPrevButton->setVisible(false);
77
78 mNextButton->setCursor(Qt::PointingHandCursor);
79 mNextButton->setFlat(true);
80 mNextButton->setGraphicsEffect(os::shadow(Qt::white));
81 mNextButton->setIconSize(QSize(24, 24));
82 mNextButton->setVisible(false);
83
84 layout->addWidget(mPrevButton);
85 layout->addLayout(mStack);
86 layout->addWidget(mNextButton);
87
88 layout->setMargin(0);
89 layout->setContentsMargins(6, 6, 6, 6);
90
91 mStack->setMargin(0);
92
93 setMaximumHeight(mSize);
94 setLayout(layout);
95
96 if (mAutoclose) {
97 startTimer(1000);
98 }
99
100 auto contextMenu = new QMenu(this);
101

Callers

nothing calls this directly

Calls 1

settingsMethod · 0.45

Tested by

no test coverage detected