Ejemplo n.º 1
0
ScreenshotWidget::ScreenshotWidget(QWidget *parent)
        : QWidget(
              parent,
              Qt::CustomizeWindowHint | Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint |
                  Qt::X11BypassWindowManagerHint),
          ShotMode(ShotModeStandard)
{
    setWindowRole("kadu-screenshot");

    setFocusPolicy(Qt::StrongFocus);
#if defined(Q_OS_UNIX)
    // set always-on-top and force taskbar and pager skipping
    Atom win_state = XInternAtom(QX11Info::display(), "_NET_WM_STATE", False);
    Atom win_state_setting[] = {XInternAtom(QX11Info::display(), "_NET_WM_STATE_ABOVE", False),
                                XInternAtom(QX11Info::display(), "_NET_WM_STATE_SKIP_TASKBAR", False),
                                XInternAtom(QX11Info::display(), "_NET_WM_STATE_SKIP_PAGER", False)};
    XChangeProperty(
        QX11Info::display(), window()->winId(), win_state, XA_ATOM, 32, PropModeReplace,
        (unsigned char *)&win_state_setting, 3);
    // prevent compositing suspension on KDE4
    setAttribute(Qt::WA_TranslucentBackground, true);
#endif

    QHBoxLayout *layout = new QHBoxLayout(this);
    layout->setMargin(0);
    layout->setContentsMargins(0, 0, 0, 0);

    CropWidget = new CropImageWidget(this);
    connect(CropWidget, SIGNAL(pixmapCropped(QPixmap)), this, SLOT(pixmapCapturedSlot(QPixmap)));
    connect(CropWidget, SIGNAL(canceled()), this, SLOT(canceledSlot()));
    layout->addWidget(CropWidget);
}
Ejemplo n.º 2
0
ScreenshotWidget::ScreenshotWidget(QWidget *parent) :
		QWidget(parent), ButtonPressed(false), ShotMode(ShotModeStandard)
{
	setWindowRole("kadu-screenshot");

	setWindowFlags(Qt::Tool | Qt::CustomizeWindowHint
			| Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint);

	QHBoxLayout *layout = new QHBoxLayout(this);
	layout->setMargin(0);
	layout->setContentsMargins(0, 0, 0, 0);

	CropWidget = new CropImageWidget(this);
	connect(CropWidget, SIGNAL(pixmapCropped(QPixmap)), this, SLOT(pixmapCapturedSlot(QPixmap)));
	connect(CropWidget, SIGNAL(canceled()), this, SLOT(canceled()));
	layout->addWidget(CropWidget);
}