diff options
| author | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2011-06-26 00:41:16 +0000 |
|---|---|---|
| committer | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2011-06-26 00:41:16 +0000 |
| commit | 698569f8428ca088f764d704034a1330517b98c0 (patch) | |
| tree | bf45be6946ebbbee9cce5a5bcf838f4c952d87e6 /chalk/plugins/viewplugins/screenshot/screenshot.cpp | |
| parent | 2785103a6bd4de55bd26d79e34d0fdd4b329a73a (diff) | |
| download | koffice-698569f8428ca088f764d704034a1330517b98c0.tar.gz koffice-698569f8428ca088f764d704034a1330517b98c0.zip | |
Finish rebranding of Krita as Chalk
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/applications/koffice@1238363 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'chalk/plugins/viewplugins/screenshot/screenshot.cpp')
| -rw-r--r-- | chalk/plugins/viewplugins/screenshot/screenshot.cpp | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/chalk/plugins/viewplugins/screenshot/screenshot.cpp b/chalk/plugins/viewplugins/screenshot/screenshot.cpp new file mode 100644 index 000000000..ff7629253 --- /dev/null +++ b/chalk/plugins/viewplugins/screenshot/screenshot.cpp @@ -0,0 +1,78 @@ +/* + * This file is part of the KDE project + * + * This file was copied from ksnapshot + * + * Copyright (C) 2001 Nikolas Zimmermann <wildfox@kde.org> + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library 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 + * Library 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. + */ + +#include <klocale.h> +#include <kiconloader.h> +#include <kinstance.h> +#include <kmessagebox.h> +#include <kstandarddirs.h> +#include <ktempfile.h> +#include <kdebug.h> +#include <KoView.h> +#include <KoDocument.h> +#include <kgenericfactory.h> +#include <klocale.h> + +#include "ksnapshot.h" +#include <kimageio.h> +#include <kis_view.h> +#include <kis_image.h> +#include "screenshot.moc" + + +K_EXPORT_COMPONENT_FACTORY( chalkscreenshot, KGenericFactory<Screenshot>( "chalk" ) ) + +Screenshot::Screenshot(TQObject *tqparent, const char *name, const TQStringList &) + : KParts::Plugin(tqparent, name) +{ + KGlobal::locale()->insertCatalogue("kscreenshot_plugin"); + setInstance(KGenericFactory<Screenshot>::instance()); + setXMLFile(locate("data","chalkplugins/screenshot-chalk.rc"), true); + KImageIO::registerFormats(); + + snapshot = new KSnapshot(); + Q_CHECK_PTR(snapshot); + connect( snapshot, TQT_SIGNAL( screenGrabbed() ), TQT_SLOT( slotScreenGrabbed() ) ); + + (void) new KAction(i18n("&Screenshot..."), SmallIcon("tool_screenshot"), 0, this, TQT_SLOT(slotScreenshot()), actionCollection(), "screenshot"); + +} + +Screenshot::~Screenshot() +{ + delete snapshot; +} + +void Screenshot::slotScreenshot() +{ + snapshot->show(); +} + +void Screenshot::slotScreenGrabbed() +{ + KTempFile temp(locateLocal("tmp", "screenshot"), ".png"); + snapshot->save(temp.name()); + + KisView *view = dynamic_cast<KisView *>(tqparent()); + if(view) + view->importImage(temp.name()); +} |
