18 const QString & CreateDir )
20 StatusBar ( nullptr ),
21 DirToCreate ( CreateDir ),
22 CreateToInclude ( Include )
26 connect ( SchemaButton, SIGNAL ( clicked() ),
this, SLOT (
DefineSchema() ),
27 Qt::UniqueConnection );
29 Qt::UniqueConnection );
33 connect ( CreateDatabaseButton, SIGNAL ( clicked() ),
this,
35 Qt::UniqueConnection );
36 connect ( CreateNoLoadDatabaseButton, SIGNAL ( clicked() ),
this,
41 connect ( CreateDatabaseButton, SIGNAL ( clicked() ),
this,
43 CreateDatabaseButton->setText (
"Create Database File" );
44 CreateNoLoadDatabaseButton->hide();
47 StatusBar =
new QStatusBar ( StatusFrame );
49 StatusFrame->setFrameStyle ( QFrame::NoFrame );
52 StatusBar->setAutoFillBackground (
true );
53 StatusBar->showMessage (
"Select schema files and define new database file!" );
54 CreateDatabaseButton->setDisabled (
true );
55 CreateNoLoadDatabaseButton->setDisabled (
true );
57 DatabaseName->setReadOnly (
true );
62 auto fd =
new QFileDialog (
this, tr (
"Select Schema File" ),
63 DirToCreate.append(
"./"),
64 tr (
"XML schema files (*.schema.xml)" ) );
65 fd->setFileMode ( QFileDialog::ExistingFile );
66 fd->setViewMode ( QFileDialog::Detail );
67 fd->setAcceptMode ( QFileDialog::AcceptOpen );
69 if (!(fd->exec() == QDialog::Accepted)) {
72 auto files = fd->selectedFiles();
73 for (
auto file: files) {
74 QFileInfo SchemaFile = QFileInfo (file);
75 if ( !SchemaFile.isFile() ) {
77 StatusBar->showMessage ( QString (
"The file is not accessible. Check before usage" ) );
80 if (SchemaFile.fileName().contains(
"schema")) {
85 StatusBar->showMessage (
86 QString (
"The file %1 is not a schema file" ).arg ( SchemaFile.absoluteFilePath() ) );
91 if (schema_list->count()>0 && !DatabaseName->text().isEmpty()) {
92 CreateDatabaseButton->setEnabled (
true );
93 CreateNoLoadDatabaseButton->setEnabled (
true );
101 if ( DirToCreate.isEmpty() )
103 Dir = QString (
"./NewDatabaseFile.data.xml" );
107 Dir = DirToCreate.append (
"/NewDatabaseFile.data.xml" );
110 auto fd =
new QFileDialog (
this, tr(
"Select new DB File"),
112 tr(
"XML data files (*.data.xml)"));
113 fd->setFileMode ( QFileDialog::AnyFile );
114 fd->setViewMode ( QFileDialog::Detail );
115 fd->setAcceptMode ( QFileDialog::AcceptSave );
117 if (!(fd->exec() == QDialog::Accepted)) {
120 auto files = fd->selectedFiles();
122 DatabaseFile = QFileInfo (files.at(0));
124 DatabaseName->setText ( DatabaseFile.absoluteFilePath() );
126 if (schema_list->count()>0) {
127 CreateDatabaseButton->setEnabled (
true );
128 CreateNoLoadDatabaseButton->setEnabled (
true );