diff options
author | DeepBlueV7.X <nicolas.werner@hotmail.de> | 2020-02-13 17:34:28 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-02-13 17:34:28 +0100 |
commit | 3c54d60eae98cdb77989636925506af4988e8411 (patch) | |
tree | 92ed9b38c28987919c34ee6ca7fc1409ac3a6272 | |
parent | Improve styling of emote messages (diff) | |
parent | show image dialog fullscreen instead of resizing to the size of the first des... (diff) | |
download | nheko-3c54d60eae98cdb77989636925506af4988e8411.tar.xz |
Merge pull request #114 from adasauce/image-overlay-fix
Fix image overlay appearing on the wrong screen. thanks adasauce!
-rw-r--r-- | src/dialogs/ImageOverlay.cpp | 18 | ||||
-rw-r--r-- | src/dialogs/ImageOverlay.h | 1 | ||||
-rw-r--r-- | src/timeline/TimelineViewManager.cpp | 2 |
3 files changed, 7 insertions, 14 deletions
diff --git a/src/dialogs/ImageOverlay.cpp b/src/dialogs/ImageOverlay.cpp index a98c39c2..e075fb67 100644 --- a/src/dialogs/ImageOverlay.cpp +++ b/src/dialogs/ImageOverlay.cpp @@ -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_); diff --git a/src/dialogs/ImageOverlay.h b/src/dialogs/ImageOverlay.h index 26257fc1..bf566ce4 100644 --- a/src/dialogs/ImageOverlay.h +++ b/src/dialogs/ImageOverlay.h @@ -44,6 +44,5 @@ private: QRect content_; QRect close_button_; QRect save_button_; - QRect screen_; }; } // dialogs diff --git a/src/timeline/TimelineViewManager.cpp b/src/timeline/TimelineViewManager.cpp index 37c56217..2426d810 100644 --- a/src/timeline/TimelineViewManager.cpp +++ b/src/timeline/TimelineViewManager.cpp @@ -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); }); |