File indexing completed on 2024-05-05 16:13:12

0001 /*
0002     This file is part of the KDE libraries
0003     SPDX-FileCopyrightText: 2013 David Faure <faure@kde.org>
0004     SPDX-FileCopyrightText: 2022 Harald Sitter <sitter@kde.org>
0005 
0006     SPDX-License-Identifier: LGPL-2.0-or-later
0007 */
0008 
0009 #include <jobuidelegatefactory.h>
0010 
0011 using namespace KIO;
0012 
0013 JobUiDelegateFactory::JobUiDelegateFactory()
0014     : d(nullptr)
0015 {
0016 }
0017 
0018 JobUiDelegateFactory::~JobUiDelegateFactory() = default;
0019 
0020 static JobUiDelegateFactory *s_factory = nullptr;
0021 static JobUiDelegateFactoryV2 *s_factoryV2 = nullptr;
0022 
0023 KJobUiDelegate *KIO::createDefaultJobUiDelegate()
0024 {
0025     return s_factory ? s_factory->createDelegate() : nullptr;
0026 }
0027 
0028 KJobUiDelegate *KIO::createDefaultJobUiDelegate(KJobUiDelegate::Flags flags, QWidget *window)
0029 {
0030     return s_factoryV2 ? s_factoryV2->createDelegate(flags, window) : nullptr;
0031 }
0032 
0033 #if KIOCORE_ENABLE_DEPRECATED_SINCE(5, 98)
0034 JobUiDelegateFactory *KIO::defaultJobUiDelegateFactory()
0035 {
0036     return s_factory;
0037 }
0038 #endif
0039 
0040 JobUiDelegateFactoryV2 *KIO::defaultJobUiDelegateFactoryV2()
0041 {
0042     return s_factoryV2;
0043 }
0044 
0045 #if KIOCORE_ENABLE_DEPRECATED_SINCE(5, 98)
0046 void KIO::setDefaultJobUiDelegateFactory(JobUiDelegateFactory *factory)
0047 {
0048     s_factory = factory;
0049 }
0050 #endif
0051 
0052 void KIO::setDefaultJobUiDelegateFactoryV2(JobUiDelegateFactoryV2 *factory)
0053 {
0054     s_factoryV2 = factory;
0055     s_factory = factory;
0056 }