digiKam
dbsettingswidget_p.h
Go to the documentation of this file.
1 /* ============================================================
2  *
3  * This file is a part of digiKam project
4  * https://www.digikam.org
5  *
6  * Date : 2009-11-14
7  * Description : database settings widget - private container
8  *
9  * Copyright (C) 2009-2010 by Holger Foerster <Hamsi2k at freenet dot de>
10  * Copyright (C) 2010-2022 by Gilles Caulier <caulier dot gilles at gmail dot com>
11  *
12  * This program is free software; you can redistribute it
13  * and/or modify it under the terms of the GNU General
14  * Public License as published by the Free Software Foundation;
15  * either version 2, or (at your option)
16  * any later version.
17  *
18  * This program is distributed in the hope that it will be useful,
19  * but WITHOUT ANY WARRANTY; without even the implied warranty of
20  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21  * GNU General Public License for more details.
22  *
23  * ============================================================ */
24 
25 #ifndef DIGIKAM_DB_SETTINGS_WIDGET_P_H
26 #define DIGIKAM_DB_SETTINGS_WIDGET_P_H
27 
28 #include "dbsettingswidget.h"
29 
30 // Qt includes
31 
32 #include <QApplication>
33 #include <QComboBox>
34 #include <QDir>
35 #include <QFileInfo>
36 #include <QFormLayout>
37 #include <QGridLayout>
38 #include <QGroupBox>
39 #include <QHeaderView>
40 #include <QLabel>
41 #include <QLineEdit>
42 #include <QMessageBox>
43 #include <QSpinBox>
44 #include <QSqlDatabase>
45 #include <QSqlError>
46 #include <QStandardPaths>
47 #include <QString>
48 #include <QStyle>
49 #include <QTabWidget>
50 #include <QTemporaryFile>
51 #include <QTextBrowser>
52 #include <QTimer>
53 #include <QVBoxLayout>
54 
55 // KDE includes
56 
57 #include <klocalizedstring.h>
58 
59 // Local includes
60 
61 #include "digikam_config.h"
62 #include "digikam_debug.h"
63 #include "digikam_globals.h"
64 #include "applicationsettings.h"
65 #include "dfileselector.h"
66 #include "dbengineparameters.h"
67 #include "dbinarysearch.h"
68 #include "dexpanderbox.h"
69 #include "dlayoutbox.h"
70 #include "mysqladminbinary.h"
71 #include "mysqlinitbinary.h"
72 #include "mysqlservbinary.h"
73 #include "albummanager.h"
74 
75 namespace Digikam
76 {
77 
78 class Q_DECL_HIDDEN DatabaseSettingsWidget::Private
79 {
80 
81 public:
82 
83  explicit Private()
84  : mysqlCmdBox (nullptr),
85  dbNameCore (nullptr),
86  dbNameFace (nullptr),
87  dbNameSimilarity (nullptr),
88  hostName (nullptr),
89  connectOpts (nullptr),
90  userName (nullptr),
91  password (nullptr),
92  hostPort (nullptr),
93  dbType (nullptr),
94  dbPathLabel (nullptr),
95  dbThumbsLabel (nullptr),
96  sqlInit (nullptr),
97  expertSettings (nullptr),
98  dbNoticeBox (nullptr),
99  dbDetailsBox (nullptr),
100  tab (nullptr),
101  dbPathEdit (nullptr),
102  dbNameThumbs (nullptr),
103  dbBinariesWidget (nullptr),
104  ignoreDirectoriesBox (nullptr),
105  ignoreDirectoriesEdit (nullptr),
106  ignoreDirectoriesLabel (nullptr)
107  {
108  }
109 
111 
112  QLineEdit* dbNameCore;
113  QLineEdit* dbNameFace;
114  QLineEdit* dbNameSimilarity;
115  QLineEdit* hostName;
116  QLineEdit* connectOpts;
117  QLineEdit* userName;
118  QLineEdit* password;
119 
120  QSpinBox* hostPort;
121 
122  QComboBox* dbType;
123  QLabel* dbPathLabel;
124  QLabel* dbThumbsLabel;
125  QTextBrowser* sqlInit;
126  QGroupBox* expertSettings;
127  QGroupBox* dbNoticeBox;
128  QGroupBox* dbDetailsBox;
129  QTabWidget* tab;
130 
133 
135 
139 
141 
142  QMap<int, int> dbTypeMap;
143 
147 };
148 
149 } // namespace Digikam
150 
151 #endif // DIGIKAM_DB_SETTINGS_WIDGET_P_H
Definition: dbinarysearch.h:45
Definition: dfileselector.h:48
Definition: dlayoutbox.h:75
Definition: dbsettingswidget_p.h:79
MysqlServBinary mysqlServBin
Definition: dbsettingswidget_p.h:138
DbEngineParameters orgPrms
Definition: dbsettingswidget_p.h:140
QLabel * dbThumbsLabel
Definition: dbsettingswidget_p.h:124
QGroupBox * dbNoticeBox
Definition: dbsettingswidget_p.h:127
QLabel * dbPathLabel
Definition: dbsettingswidget_p.h:123
DFileSelector * dbPathEdit
Definition: dbsettingswidget_p.h:131
QLineEdit * ignoreDirectoriesEdit
Definition: dbsettingswidget_p.h:145
QTabWidget * tab
Definition: dbsettingswidget_p.h:129
QLineEdit * dbNameFace
Definition: dbsettingswidget_p.h:113
MysqlAdminBinary mysqlAdminBin
Definition: dbsettingswidget_p.h:137
DFileSelector * dbNameThumbs
Definition: dbsettingswidget_p.h:132
DVBox * mysqlCmdBox
Definition: dbsettingswidget_p.h:110
QGroupBox * dbDetailsBox
Definition: dbsettingswidget_p.h:128
Private()
Definition: dbsettingswidget_p.h:83
QLineEdit * connectOpts
Definition: dbsettingswidget_p.h:116
QTextBrowser * sqlInit
Definition: dbsettingswidget_p.h:125
QLineEdit * hostName
Definition: dbsettingswidget_p.h:115
QGroupBox * expertSettings
Definition: dbsettingswidget_p.h:126
QLineEdit * password
Definition: dbsettingswidget_p.h:118
QComboBox * dbType
Definition: dbsettingswidget_p.h:122
QLineEdit * dbNameCore
Definition: dbsettingswidget_p.h:112
QSpinBox * hostPort
Definition: dbsettingswidget_p.h:120
DBinarySearch * dbBinariesWidget
Definition: dbsettingswidget_p.h:134
QLineEdit * userName
Definition: dbsettingswidget_p.h:117
QLineEdit * dbNameSimilarity
Definition: dbsettingswidget_p.h:114
QMap< int, int > dbTypeMap
Definition: dbsettingswidget_p.h:142
QGroupBox * ignoreDirectoriesBox
Definition: dbsettingswidget_p.h:144
QLabel * ignoreDirectoriesLabel
Definition: dbsettingswidget_p.h:146
MysqlInitBinary mysqlInitBin
Definition: dbsettingswidget_p.h:136
Definition: dbsettingswidget.h:44
Definition: dbengineparameters.h:49
Definition: mysqladminbinary.h:35
Definition: mysqlinitbinary.h:35
Definition: mysqlservbinary.h:35
Definition: datefolderview.cpp:43