File indexing completed on 2025-01-05 03:57:56
0001 /* ============================================================ 0002 * 0003 * This file is a part of digiKam project 0004 * https://www.digikam.org 0005 * 0006 * Date : 2005-04-02 0007 * Description : showFoto setup dialog. 0008 * 0009 * SPDX-FileCopyrightText: 2005-2024 by Gilles Caulier <caulier dot gilles at gmail dot com> 0010 * 0011 * SPDX-License-Identifier: GPL-2.0-or-later 0012 * 0013 * ============================================================ */ 0014 0015 #ifndef SHOW_FOTO_SETUP_H 0016 #define SHOW_FOTO_SETUP_H 0017 0018 // Local includes 0019 0020 #include "digikam_config.h" 0021 #include "dconfigdlg.h" 0022 0023 using namespace Digikam; 0024 0025 namespace ShowFoto 0026 { 0027 0028 class ShowfotoSetup : public DConfigDlg 0029 { 0030 Q_OBJECT 0031 0032 public: 0033 0034 enum Page 0035 { 0036 LastPageUsed = -1, 0037 0038 EditorPage = 0, 0039 MetadataPage, 0040 ToolTipPage, 0041 RawPage, 0042 IOFilesPage, 0043 ICCPage, 0044 0045 #ifdef HAVE_GEOLOCATION 0046 0047 GeolocationPage, 0048 0049 #endif 0050 0051 PluginsPage, 0052 MiscellaneousPage, 0053 0054 SetupPageEnumLast 0055 }; 0056 0057 public: 0058 0059 explicit ShowfotoSetup(QWidget* const parent = nullptr, Page page = LastPageUsed); 0060 ~ShowfotoSetup() override; 0061 0062 static bool execMetadataFilters(QWidget* const parent, int tab); 0063 static bool execExifTool(QWidget* const parent); 0064 0065 static bool execLocalize(QWidget* const parent); 0066 0067 /** 0068 * Show a setup dialog. Only the specified page will be available. 0069 */ 0070 static bool execSinglePage(Page page); 0071 static bool execSinglePage(QWidget* const parent, Page page); 0072 0073 #ifdef HAVE_GEOLOCATION 0074 0075 static bool execGeolocation(QWidget* const parent, int tab); 0076 0077 #endif 0078 0079 static void onlineVersionCheck(); 0080 0081 private Q_SLOTS: 0082 0083 void slotOkClicked(); 0084 void slotCancelClicked(); 0085 void slotHelp(); 0086 0087 private: 0088 0089 ShowfotoSetup::Page activePageIndex(); 0090 void showPage(ShowfotoSetup::Page page); 0091 0092 private: 0093 0094 class Private; 0095 Private* const d; 0096 }; 0097 0098 } // namespace ShowFoto 0099 0100 #endif // SHOW_FOTO_SETUP_H