summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorYoann Laissus <yoann.laissus@gmail.com>2012-08-05 18:21:50 +0200
committerAndrea Diamantini <adjam7@gmail.com>2012-08-14 17:47:41 +0200
commit618081a2e0c3eb0320ff22fa6615bc73e19152db (patch)
tree5892a96b569fe266c157c72cef8e9a33eb6f2e9d /src
parentFix the tab preview ratio. We want the web page ratio, not the window ratio. (diff)
downloadrekonq-618081a2e0c3eb0320ff22fa6615bc73e19152db.tar.xz
Use a default size for tab preview.
It will fix disproportionate previews caused by very high ratio.
Diffstat (limited to 'src')
-rw-r--r--src/tabpreviewpopup.cpp23
-rw-r--r--src/tabpreviewpopup.h4
2 files changed, 22 insertions, 5 deletions
diff --git a/src/tabpreviewpopup.cpp b/src/tabpreviewpopup.cpp
index 0490e602..92809abc 100644
--- a/src/tabpreviewpopup.cpp
+++ b/src/tabpreviewpopup.cpp
@@ -29,9 +29,6 @@
#include "tabpreviewpopup.h"
// Rekonq Includes
-#include "application.h"
-#include "mainwindow.h"
-#include "tabbar.h"
#include "webtab.h"
//Qt Includes
@@ -96,10 +93,26 @@ TabPreviewPopup::~TabPreviewPopup()
}
+QSize TabPreviewPopup::thumbnailSize() const
+{
+ return m_thumbnail->pixmap()->size();
+}
+
+
void TabPreviewPopup::setWebTab(WebTab* tab)
{
- int w = (tab->parentWidget()->sizeHint().width() / TabBar::baseWidthDivisor);
- int h = w * tab->size().height() / tab->size().width();
+ // The ratio of the tab
+ double ratio = (double) tab->size().height() / tab->size().width();
+
+ int w = previewBaseSize;
+ int h = previewBaseSize;
+
+ // Apply the ratio to the width or the weight to not exceed previewBaseSize
+ if (ratio < 1)
+ h *= ratio;
+ else if (ratio > 1)
+ w *= (1 / ratio);
+
const QPixmap preview = tab->tabPreview(w, h);
if (!preview.isNull())
diff --git a/src/tabpreviewpopup.h b/src/tabpreviewpopup.h
index 5c62102f..14f6f0ed 100644
--- a/src/tabpreviewpopup.h
+++ b/src/tabpreviewpopup.h
@@ -52,6 +52,10 @@ public:
explicit TabPreviewPopup(WebTab *tab, QWidget *parent = 0);
virtual ~TabPreviewPopup();
+ QSize thumbnailSize() const;
+
+ static const int previewBaseSize = 200;
+
private:
void setWebTab(WebTab *tab = 0);
void setUrl(const QString& text);