summary refs log tree commit diff
diff options
context:
space:
mode:
authorDeepBlueV7.X <nicolas.werner@hotmail.de>2020-02-13 17:34:28 +0100
committerGitHub <noreply@github.com>2020-02-13 17:34:28 +0100
commit3c54d60eae98cdb77989636925506af4988e8411 (patch)
tree92ed9b38c28987919c34ee6ca7fc1409ac3a6272
parentImprove styling of emote messages (diff)
parentshow image dialog fullscreen instead of resizing to the size of the first des... (diff)
downloadnheko-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.cpp18
-rw-r--r--src/dialogs/ImageOverlay.h1
-rw-r--r--src/timeline/TimelineViewManager.cpp2
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);
                 });