From 47d455dd55be855e4cc691c32f687f723d9247ee Mon Sep 17 00:00:00 2001 From: toma Date: Wed, 25 Nov 2009 17:56:58 +0000 Subject: Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. BUG:215923 git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdegraphics@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da --- kview/modules/scanner/kviewscanner.cpp | 96 ++++++++++++++++++++++++++++++++++ 1 file changed, 96 insertions(+) create mode 100644 kview/modules/scanner/kviewscanner.cpp (limited to 'kview/modules/scanner/kviewscanner.cpp') diff --git a/kview/modules/scanner/kviewscanner.cpp b/kview/modules/scanner/kviewscanner.cpp new file mode 100644 index 00000000..d1f96e5f --- /dev/null +++ b/kview/modules/scanner/kviewscanner.cpp @@ -0,0 +1,96 @@ +/* This file is part of the KDE project + Copyright (C) 2002 Matthias Kretz + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License version 2 + as published by the Free Software Foundation. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + +*/ + +// $Id$ + +#include "kviewscanner.h" + +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include + +typedef KGenericFactory KViewScannerFactory; +K_EXPORT_COMPONENT_FACTORY( kview_scannerplugin, KViewScannerFactory( "kviewscannerplugin" ) ) + +KViewScanner::KViewScanner( QObject* parent, const char* name, + const QStringList & ) + : Plugin( parent, name ), + m_pScandlg( 0 ), + m_pViewer( 0 ) +{ + QObjectList * viewerList = parent->queryList( 0, "KImageViewer Part", false, false ); + m_pViewer = static_cast( viewerList->getFirst() ); + delete viewerList; + if( m_pViewer ) + { + (void) new KAction( i18n( "&Scan Image..." ), "scanner", 0, + this, SLOT( slotScan() ), + actionCollection(), "plugin_scan" ); + } + else + kdWarning( 4630 ) << "no KImageViewer interface found - the scanner plugin won't work" << endl; +} + +KViewScanner::~KViewScanner() +{ +} + +void KViewScanner::slotScan() +{ + if( ! m_pScandlg ) + { + m_pScandlg = KScanDialog::getScanDialog(); + if( m_pScandlg ) + { + m_pScandlg->setMinimumSize( 300, 300 ); + + connect( m_pScandlg, SIGNAL( finalImage( const QImage &, int ) ), + this, SLOT( slotImgScanned( const QImage & ) ) ); + } + else + { + KMessageBox::sorry( 0L, + i18n( "You do not appear to have SANE support, or your scanner " + "is not attached properly. Please check these items before " + "scanning again." ), + i18n( "No Scan-Service Available" ) ); + kdDebug( 4630 ) << "*** No Scan-service available, aborting!" << endl; + return; + } + } + + if( m_pScandlg->setup() ) + m_pScandlg->show(); +} + +void KViewScanner::slotImgScanned( const QImage & img ) +{ + kdDebug( 4630 ) << "received an image from the scanner" << endl; + m_pViewer->newImage( img ); +} + +// vim:sw=4:ts=4:cindent +#include "kviewscanner.moc" -- cgit v1.2.3