[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    branches/KDE/4.5/kdenetwork/krdc
From:       Jakub Stachowski <qbast () go2 ! pl>
Date:       2010-09-05 10:46:16
Message-ID: 20100905104616.7826BAC884 () svn ! kde ! org
[Download RAW message or body]

SVN commit 1171824 by qbast:

Backport of bugfix for 205992

Use grabWindow to obtain screenshot of embedded rdesktop window
CCBUG: 205992



 M  +5 -0      core/remoteview.cpp  
 M  +5 -0      core/remoteview.h  
 M  +1 -1      mainwindow.cpp  
 M  +5 -0      rdp/rdpview.cpp  
 M  +2 -0      rdp/rdpview.h  


--- branches/KDE/4.5/kdenetwork/krdc/core/remoteview.cpp #1171823:1171824
@@ -157,6 +157,11 @@
     }
 }
 
+QPixmap RemoteView::takeScreenshot() 
+{
+    return QPixmap::grabWidget(this);
+}
+
 void RemoteView::showDotCursor(DotCursorState state)
 {
     m_dotCursorState = state;
--- branches/KDE/4.5/kdenetwork/krdc/core/remoteview.h #1171823:1171824
@@ -244,6 +244,11 @@
      */
     virtual void updateConfiguration();
     
+    /**
+     * @return screenshot of the view
+     */
+    virtual QPixmap takeScreenshot();
+    
 #ifndef QTONLY
     /**
      * Returns the current host preferences of this view.
--- branches/KDE/4.5/kdenetwork/krdc/mainwindow.cpp #1171823:1171824
@@ -461,7 +461,7 @@
 
 void MainWindow::takeScreenshot()
 {
-    const QPixmap snapshot = QPixmap::grabWidget(m_remoteViewList.at(m_currentRemoteView));
+    const QPixmap snapshot = m_remoteViewList.at(m_currentRemoteView)->takeScreenshot();
 
     QApplication::clipboard()->setPixmap(snapshot);
 }
--- branches/KDE/4.5/kdenetwork/krdc/rdp/rdpview.cpp #1171823:1171824
@@ -232,6 +232,11 @@
     setFocus();
 }
 
+QPixmap RdpView::takeScreenshot()
+{
+    return QPixmap::grabWindow(m_container->clientWinId());
+}
+
 void RdpView::connectionClosed()
 {
     emit disconnected();
--- branches/KDE/4.5/kdenetwork/krdc/rdp/rdpview.h #1171823:1171824
@@ -64,6 +64,8 @@
     
     HostPreferences* hostPreferences();
 
+    virtual QPixmap takeScreenshot();
+
 public slots:
     virtual void switchFullscreen(bool on);
 
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic