File indexing completed on 2024-04-28 04:18:54
0001 // vim: set tabstop=4 shiftwidth=4 expandtab: 0002 /* 0003 Gwenview: an image viewer 0004 Copyright 2007 Aurélien Gâteau <agateau@kde.org> 0005 0006 This program is free software; you can redistribute it and/or 0007 modify it under the terms of the GNU General Public License 0008 as published by the Free Software Foundation; either version 2 0009 of the License, or (at your option) any later version. 0010 0011 This program is distributed in the hope that it will be useful, 0012 but WITHOUT ANY WARRANTY; without even the implied warranty of 0013 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 0014 GNU General Public License for more details. 0015 0016 You should have received a copy of the GNU General Public License 0017 along with this program; if not, write to the Free Software 0018 Foundation, Inc., 51 Franklin Street, Fifth Floor, Cambridge, MA 02110-1301, USA. 0019 0020 */ 0021 // Self 0022 #include "gvbrowserextension.h" 0023 0024 // Qt 0025 0026 // KF 0027 #include <KIconLoader> 0028 #include <KParts/ReadOnlyPart> 0029 0030 // Local 0031 #include "../lib/document/documentfactory.h" 0032 #include "../lib/print/printhelper.h" 0033 0034 namespace Gwenview 0035 { 0036 struct GVBrowserExtensionPrivate { 0037 KParts::ReadOnlyPart *mPart = nullptr; 0038 }; 0039 0040 GVBrowserExtension::GVBrowserExtension(KParts::ReadOnlyPart *part) 0041 : KParts::NavigationExtension(part) 0042 , d(new GVBrowserExtensionPrivate) 0043 { 0044 d->mPart = part; 0045 Q_EMIT enableAction("print", true); 0046 const QString iconPath = KIconLoader::global()->iconPath(QStringLiteral("image-x-generic"), KIconLoader::SizeSmall); 0047 Q_EMIT setIconUrl(QUrl::fromLocalFile(iconPath)); 0048 } 0049 0050 GVBrowserExtension::~GVBrowserExtension() 0051 { 0052 delete d; 0053 } 0054 0055 void GVBrowserExtension::print() 0056 { 0057 Document::Ptr doc = DocumentFactory::instance()->load(d->mPart->url()); 0058 PrintHelper printHelper(d->mPart->widget()); 0059 printHelper.print(doc); 0060 } 0061 0062 } // namespace 0063 0064 #include "moc_gvbrowserextension.cpp"