File indexing completed on 2024-05-12 04:19:43
0001 // vim: set tabstop=4 shiftwidth=4 expandtab: 0002 /* 0003 Gwenview: an image viewer 0004 Copyright 2008 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 0022 #include "fitsplugin.h" 0023 0024 #include "fitshandler.h" 0025 0026 #include <QImageIOHandler> 0027 0028 QImageIOPlugin::Capabilities FitsPlugin::capabilities(QIODevice *device, const QByteArray &format) const 0029 { 0030 if (format == "fits" || format == "fit") { 0031 return Capabilities(CanRead); 0032 } 0033 if (!format.isEmpty()) { 0034 return {}; 0035 } 0036 if (!device->isOpen()) { 0037 return {}; 0038 } 0039 0040 Capabilities cap; 0041 0042 if (device->isReadable()) { 0043 Gwenview::FitsHandler handler; 0044 0045 handler.setDevice(device); 0046 handler.setFormat(format); 0047 if (handler.canRead()) { 0048 cap |= CanRead; 0049 } 0050 } 0051 return cap; 0052 } 0053 0054 QImageIOHandler *FitsPlugin::create(QIODevice *device, const QByteArray &format) const 0055 { 0056 QImageIOHandler *handler = new Gwenview::FitsHandler; 0057 0058 handler->setDevice(device); 0059 handler->setFormat(format); 0060 return handler; 0061 } 0062 0063 #include "moc_fitsplugin.cpp"