mirror of
https://github.com/Nheko-Reborn/nheko.git
synced 2024-11-24 03:58:49 +03:00
Merge pull request #114 from adasauce/image-overlay-fix
Fix image overlay appearing on the wrong screen. thanks adasauce!
This commit is contained in:
commit
3c54d60eae
3 changed files with 7 additions and 14 deletions
|
@ -41,11 +41,6 @@ ImageOverlay::ImageOverlay(QPixmap image, QWidget *parent)
|
|||
setAttribute(Qt::WA_DeleteOnClose, true);
|
||||
setWindowState(Qt::WindowFullScreen);
|
||||
|
||||
screen_ = QGuiApplication::primaryScreen()->availableGeometry();
|
||||
|
||||
move(QApplication::desktop()->mapToGlobal(screen_.topLeft()));
|
||||
resize(screen_.size());
|
||||
|
||||
connect(this, SIGNAL(closing()), this, SLOT(close()));
|
||||
|
||||
raise();
|
||||
|
@ -60,15 +55,15 @@ ImageOverlay::paintEvent(QPaintEvent *event)
|
|||
painter.setRenderHint(QPainter::Antialiasing);
|
||||
|
||||
// Full screen overlay.
|
||||
painter.fillRect(QRect(0, 0, screen_.width(), screen_.height()), QColor(55, 55, 55, 170));
|
||||
painter.fillRect(QRect(0, 0, width(), height()), QColor(55, 55, 55, 170));
|
||||
|
||||
// Left and Right margins
|
||||
int outer_margin = screen_.width() * 0.12;
|
||||
int outer_margin = width() * 0.12;
|
||||
int buttonSize = 36;
|
||||
int margin = outer_margin * 0.1;
|
||||
|
||||
int max_width = screen_.width() - 2 * outer_margin;
|
||||
int max_height = screen_.height();
|
||||
int max_width = width() - 2 * outer_margin;
|
||||
int max_height = height();
|
||||
|
||||
image_ = utils::scaleDown(max_width, max_height, originalImage_);
|
||||
|
||||
|
@ -76,10 +71,9 @@ ImageOverlay::paintEvent(QPaintEvent *event)
|
|||
int diff_y = max_height - image_.height();
|
||||
|
||||
content_ = QRect(outer_margin + diff_x / 2, diff_y / 2, image_.width(), image_.height());
|
||||
close_button_ =
|
||||
QRect(screen_.width() - margin - buttonSize, margin, buttonSize, buttonSize);
|
||||
close_button_ = QRect(width() - margin - buttonSize, margin, buttonSize, buttonSize);
|
||||
save_button_ =
|
||||
QRect(screen_.width() - (2 * margin) - (2 * buttonSize), margin, buttonSize, buttonSize);
|
||||
QRect(width() - (2 * margin) - (2 * buttonSize), margin, buttonSize, buttonSize);
|
||||
|
||||
// Draw main content_.
|
||||
painter.drawPixmap(content_, image_);
|
||||
|
|
|
@ -44,6 +44,5 @@ private:
|
|||
QRect content_;
|
||||
QRect close_button_;
|
||||
QRect save_button_;
|
||||
QRect screen_;
|
||||
};
|
||||
} // dialogs
|
||||
|
|
|
@ -158,7 +158,7 @@ TimelineViewManager::openImageOverlay(QString mxcUrl, QString eventId) const
|
|||
auto pixmap = QPixmap::fromImage(imgResponse->textureFactory()->image());
|
||||
|
||||
auto imgDialog = new dialogs::ImageOverlay(pixmap);
|
||||
imgDialog->show();
|
||||
imgDialog->showFullScreen();
|
||||
connect(imgDialog, &dialogs::ImageOverlay::saving, timeline_, [this, eventId]() {
|
||||
timeline_->saveMedia(eventId);
|
||||
});
|
||||
|
|
Loading…
Reference in a new issue