File indexing completed on 2025-01-19 03:53:49
0001 /* ============================================================ 0002 * 0003 * This file is a part of digiKam project 0004 * https://www.digikam.org 0005 * 0006 * Date : 2009-11-14 0007 * Description : database settings widget - private container 0008 * 0009 * SPDX-FileCopyrightText: 2009-2010 by Holger Foerster <Hamsi2k at freenet dot de> 0010 * SPDX-FileCopyrightText: 2010-2024 by Gilles Caulier <caulier dot gilles at gmail dot com> 0011 * 0012 * SPDX-License-Identifier: GPL-2.0-or-later 0013 * 0014 * ============================================================ */ 0015 0016 #ifndef DIGIKAM_DB_SETTINGS_WIDGET_P_H 0017 #define DIGIKAM_DB_SETTINGS_WIDGET_P_H 0018 0019 #include "dbsettingswidget.h" 0020 0021 // Qt includes 0022 0023 #include <QApplication> 0024 #include <QCheckBox> 0025 #include <QComboBox> 0026 #include <QDir> 0027 #include <QFileInfo> 0028 #include <QFormLayout> 0029 #include <QGridLayout> 0030 #include <QGroupBox> 0031 #include <QHeaderView> 0032 #include <QLabel> 0033 #include <QLineEdit> 0034 #include <QMessageBox> 0035 #include <QSpinBox> 0036 #include <QSqlDatabase> 0037 #include <QSqlError> 0038 #include <QStandardPaths> 0039 #include <QString> 0040 #include <QStyle> 0041 #include <QTabWidget> 0042 #include <QTemporaryFile> 0043 #include <QTextBrowser> 0044 #include <QTimer> 0045 #include <QVBoxLayout> 0046 0047 // KDE includes 0048 0049 #include <klocalizedstring.h> 0050 0051 // Local includes 0052 0053 #include "digikam_config.h" 0054 #include "digikam_debug.h" 0055 #include "digikam_globals.h" 0056 #include "applicationsettings.h" 0057 #include "dfileselector.h" 0058 #include "dbengineparameters.h" 0059 #include "dbinarysearch.h" 0060 #include "dexpanderbox.h" 0061 #include "dlayoutbox.h" 0062 #include "mysqlupgradebinary.h" 0063 #include "mysqlserverbinary.h" 0064 #include "mysqladminbinary.h" 0065 #include "mysqlinitbinary.h" 0066 #include "albummanager.h" 0067 0068 namespace Digikam 0069 { 0070 0071 class Q_DECL_HIDDEN DatabaseSettingsWidget::Private 0072 { 0073 0074 public: 0075 0076 explicit Private() 0077 : mysqlCmdBox (nullptr), 0078 dbNameCore (nullptr), 0079 dbNameFace (nullptr), 0080 dbNameSimilarity (nullptr), 0081 hostName (nullptr), 0082 connectOpts (nullptr), 0083 userName (nullptr), 0084 password (nullptr), 0085 hostPort (nullptr), 0086 dbType (nullptr), 0087 dbPathLabel (nullptr), 0088 dbThumbsLabel (nullptr), 0089 walLabel (nullptr), 0090 sqlInit (nullptr), 0091 expertSettings (nullptr), 0092 dbNoticeBox (nullptr), 0093 dbDetailsBox (nullptr), 0094 tab (nullptr), 0095 dbPathEdit (nullptr), 0096 dbNameThumbs (nullptr), 0097 walModeCheck (nullptr), 0098 dbBinariesWidget (nullptr), 0099 ignoreDirectoriesBox (nullptr), 0100 ignoreDirectoriesEdit (nullptr), 0101 ignoreDirectoriesLabel (nullptr) 0102 { 0103 } 0104 0105 DVBox* mysqlCmdBox; 0106 0107 QLineEdit* dbNameCore; 0108 QLineEdit* dbNameFace; 0109 QLineEdit* dbNameSimilarity; 0110 QLineEdit* hostName; 0111 QLineEdit* connectOpts; 0112 QLineEdit* userName; 0113 QLineEdit* password; 0114 0115 QSpinBox* hostPort; 0116 0117 QComboBox* dbType; 0118 QLabel* dbPathLabel; 0119 QLabel* dbThumbsLabel; 0120 QLabel* walLabel; 0121 QTextBrowser* sqlInit; 0122 QGroupBox* expertSettings; 0123 QGroupBox* dbNoticeBox; 0124 QGroupBox* dbDetailsBox; 0125 QTabWidget* tab; 0126 0127 DFileSelector* dbPathEdit; 0128 DFileSelector* dbNameThumbs; 0129 0130 QCheckBox* walModeCheck; 0131 0132 DBinarySearch* dbBinariesWidget; 0133 0134 MysqlUpgradeBinary mysqlUpgradeBin; 0135 MysqlServerBinary mysqlServerBin; 0136 MysqlAdminBinary mysqlAdminBin; 0137 MysqlInitBinary mysqlInitBin; 0138 0139 DbEngineParameters orgPrms; 0140 0141 QMap<int, int> dbTypeMap; 0142 0143 QGroupBox* ignoreDirectoriesBox; 0144 QLineEdit* ignoreDirectoriesEdit; 0145 QLabel* ignoreDirectoriesLabel; 0146 }; 0147 0148 } // namespace Digikam 0149 0150 #endif // DIGIKAM_DB_SETTINGS_WIDGET_P_H