[SCM] WebKit Debian packaging branch, webkit-1.3, updated. upstream/1.3.7-4207-g178b198

zoltan at webkit.org zoltan at webkit.org
Mon Feb 21 00:26:18 UTC 2011


The following commit has been merged in the webkit-1.3 branch:
commit a98455bc176533aa74f2183e4fa394e1074e197e
Author: zoltan at webkit.org <zoltan at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Mon Jan 31 15:39:43 2011 +0000

    [Qt] Add Take Screen Shot action to MiniBrowser
    https://bugs.webkit.org/show_bug.cgi?id=53422
    
    Reviewed by Andreas Kling.
    
    Add Take Screen Shot action to MiniBrowser's view menu.
    
    * MiniBrowser/qt/BrowserWindow.cpp:
    (BrowserWindow::BrowserWindow):
    (BrowserWindow::screenshot):
    * MiniBrowser/qt/BrowserWindow.h:
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@77130 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/Tools/ChangeLog b/Tools/ChangeLog
index becfeda..35e3d09 100644
--- a/Tools/ChangeLog
+++ b/Tools/ChangeLog
@@ -1,3 +1,17 @@
+2011-01-31  Zoltan Horvath  <zoltan at webkit.org>
+
+        Reviewed by Andreas Kling.
+
+        [Qt] Add Take Screen Shot action to MiniBrowser
+        https://bugs.webkit.org/show_bug.cgi?id=53422
+
+        Add Take Screen Shot action to MiniBrowser's view menu.
+
+        * MiniBrowser/qt/BrowserWindow.cpp:
+        (BrowserWindow::BrowserWindow):
+        (BrowserWindow::screenshot):
+        * MiniBrowser/qt/BrowserWindow.h:
+
 2011-01-31  Gustavo Noronha Silva  <gustavo.noronha at collabora.co.uk>
 
         Reviewed by Xan Lopez.
diff --git a/Tools/MiniBrowser/qt/BrowserWindow.cpp b/Tools/MiniBrowser/qt/BrowserWindow.cpp
index 0097a30..0d2826d 100644
--- a/Tools/MiniBrowser/qt/BrowserWindow.cpp
+++ b/Tools/MiniBrowser/qt/BrowserWindow.cpp
@@ -68,6 +68,8 @@ BrowserWindow::BrowserWindow(QWKContext* context)
     QAction* zoomText = viewMenu->addAction("Zoom Text Only", this, SLOT(toggleZoomTextOnly(bool)));
     zoomText->setCheckable(true);
     zoomText->setChecked(false);
+    viewMenu->addSeparator();
+    viewMenu->addAction("Take Screen Shot...", this, SLOT(screenshot()));
 
     zoomIn->setShortcut(QKeySequence(Qt::CTRL | Qt::Key_Plus));
     zoomOut->setShortcut(QKeySequence(Qt::CTRL | Qt::Key_Minus));
@@ -179,6 +181,35 @@ void BrowserWindow::openFile()
 #endif
 }
 
+void BrowserWindow::screenshot()
+{
+    QPixmap pixmap = QPixmap::grabWidget(m_browser);
+    QLabel* label = 0;
+#if !defined(Q_OS_SYMBIAN)
+    label = new QLabel;
+    label->setAttribute(Qt::WA_DeleteOnClose);
+    label->setWindowTitle("Screenshot - Preview");
+    label->setPixmap(pixmap);
+    label->show();
+#endif
+
+#ifndef QT_NO_FILEDIALOG
+    QString fileName = QFileDialog::getSaveFileName(label, "Screenshot", QString(), QString("PNG File (.png)"));
+    if (!fileName.isEmpty()) {
+        QRegExp rx("*.png");
+        rx.setCaseSensitivity(Qt::CaseInsensitive);
+        rx.setPatternSyntax(QRegExp::Wildcard);
+
+        if (!rx.exactMatch(fileName))
+            fileName += ".png";
+
+        pixmap.save(fileName, "png");
+        if (label)
+            label->setWindowTitle(QString("Screenshot - Saved at %1").arg(fileName));
+    }
+#endif
+}
+
 void BrowserWindow::zoomIn()
 {
     if (m_isZoomTextOnly)
diff --git a/Tools/MiniBrowser/qt/BrowserWindow.h b/Tools/MiniBrowser/qt/BrowserWindow.h
index 24b6e24..596a335 100644
--- a/Tools/MiniBrowser/qt/BrowserWindow.h
+++ b/Tools/MiniBrowser/qt/BrowserWindow.h
@@ -61,6 +61,7 @@ protected slots:
     void zoomOut();
     void resetZoom();
     void toggleZoomTextOnly(bool on);
+    void screenshot();
 
     void showUserAgentDialog();
 

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list