Subversion Repositories OpenInventory

Compare Revisions

Ignore whitespace Rev 199 → Rev 200

/trunk/DBViewer/mainwindow.cpp
93,7 → 93,7
iconDelegate = new IconDelegate(this);
 
 
fileForm.show();
// fileForm.show();
 
}
 
/trunk/DBViewer/mainwindow.h
7,7 → 7,7
#include "mymodel.h"
#include "settingform.h"
#include "delegate.h"
#include "fileform.h"
// #include "fileform.h"
 
#include <QMainWindow>
#include <QStandardItemModel>
62,7 → 62,7
 
private:
Ui::MainWindow *ui;
FileForm fileForm;
//FileForm fileForm;
 
settingForm setFrm;
//ïåðåìåííûå äëÿ ñîåäèíåíèÿ ñ áàçîé
145,7 → 145,10
QStringList getBoolFieldList(QString class_id); // ïîëó÷àåì ñïèñîê âñåõ ïîëåé c òèïîì "bool"
 
 
QStringList getFileFieldList(QString class_id); // ïîëó÷àåì ñïèñîê âñåõ ïîëåé, â êîòîðûõ õðàíÿòüñÿ ôàéëû"
 
 
 
int getIconFieldIndex(QString inctance); // ïîëó÷àåì íîìåð ñòîëáöà ñ èêîíêàìè
 
SpinBoxDelegate spinDelegate;
/trunk/DBViewer/fileform.cpp
61,6 → 61,7
QFile file;
QDataStream out(&Data,QIODevice::ReadOnly);
QString fileName;
if (Data.isEmpty()) return;
out >> fileName;
fileName = QFileDialog::getSaveFileName(this, tr("Save File"),
fileName,
67,11 → 68,9
tr("All Files (*.*);;Image Files (*.png *.jpg *.bmp);;Text files (*.txt);;XML files (*.xml)"));
 
 
int i;
i++;
if (fileName.isEmpty()) return;
if (Data.isEmpty()) return;
 
 
file.setFileName(fileName);
if (!file.open(QIODevice::WriteOnly)) return;
 
/trunk/DBViewer/database.cpp
425,6 → 425,7
QMap <QString, QString> pointersList;
QStringList dateFieldList; // ñïèñîê èìåí ïîëåé ñ òèïîì "DATE"
QStringList boolFieldList; // ñïèñîê èìåí ïîëåé ñ òèïîì "BOOL"
QStringList fileFieldList; // ñïèñîê èìåí ïîëåé, â êîòîðûõ õðàíÿòñÿ ôàéëû
QString pointer_name; // ñïèñîê èìåí ïîëåé
 
if (item_type == tr("object") || item_type == tr("class")){
434,6 → 435,8
static QList<int> colomns_indexes; // ñïèñîê íîìåðîâ ñòîëáöîâ òàáëèöû ñ íåñòàíäàðòíûìè äåëåãàòàìè
static QList<int> date_colomns_indexes; // ñïèñîê íîìåðîâ ñòîëáöîâ òàáëèöû ñ äåëåãàòàìè äëÿ òèïà "DATE"
static QList <int> bool_colomns_indexes; // ñïèñîê íîìåðîâ ñòîëáöîâ òàáëèöû ñ äåëåãàòàìè äëÿ òèïà "BOOL"
static QList <int> file_colomns_indexes; // ñïèñîê íîìåðîâ ñòîëáöîâ òàáëèöû, â êîòîðûõ õðàíÿòüñÿ ôàéëû
 
static QList<SpinBoxDelegate *> spin_delegate_list;// ñïèñîê óêàçàòåëåé íà íåñòàíäàðòíûå äåëåãàòû
static int icon_index = -1; // èíäåêñ ñòîëáöà ñ èêîíêàìè
 
452,8 → 455,17
// ui->tableView->setItemDelegateForColumn(colomns_indexes.at(i), &picture_delegate);
 
}
colomns_indexes.clear(); // î÷èùàåñ ñïèñîê ñòîëáöîâ ñ íåñòàíäàðòíûìè äåëåãàòàìè
colomns_indexes.clear(); // î÷èùàåì ñïèñîê ñòîëáöîâ ñ íåñòàíäàðòíûìè äåëåãàòàìè
 
 
// "Î÷èñòèì" òàáëèöó îò äåëåãàòîâ äëÿ õðàíåíèÿ ôàéëîâ
 
for (i=0; i < file_colomns_indexes.size(); i++){ // äëÿ âñåõ ïîëåé-óêàçàòåëåé:
ui->tableView->setItemDelegateForColumn(file_colomns_indexes.at(i), &standart_delegate ); // è ïðèñâàèâàåì ñòàíäàðòíûé äåëåãàò
}
file_colomns_indexes.clear();
 
 
// "Î÷èñòèì" òàáëèöó îò äåëåãàòîâ äëÿ òèïà "DATE"
for (i=0; i < date_colomns_indexes.size(); i++){ // äëÿ âñåõ ïîëåé-óêàçàòåëåé:
ui->tableView->setItemDelegateForColumn(date_colomns_indexes.at(i), &standart_delegate ); // è ïðèñâàèâàåì ñòàíäàðòíûé äåëåãàò
544,6 → 556,8
pointersList = getPointersList(class_id); // ïîëó÷àåì ñïèñîê ïîëåé-óêàçàòåëåé
dateFieldList = getDataFieldList(class_id); // ïîëó÷àåì ñïèñîê ïîëåé c òèïîì "DATE"
boolFieldList = getBoolFieldList(class_id); // ïîëó÷àåì ñïèñîê ïîëåé c òèïîì "BOOL"
fileFieldList = getFileFieldList(class_id); // ïîëó÷àåì ñïèñîê ïîëåé, â êîòîðûõ õðàíÿòüñÿ ôàéëû
 
icon_index = getIconFieldIndex(inctance); //
if (icon_index != -1) ui->tableView->setItemDelegateForColumn(icon_index, iconDelegate);
sql_mogel->setIconIndex(icon_index);
934,6 → 948,46
}
 
 
QStringList MainWindow::getFileFieldList(QString class_id){ // ïîëó÷àåì ñïèñîê âñåõ ïîëåé, â êîòîðûõ õðàíÿòüñÿ ôàéëû
QStringList result_str;
QSqlQuery q;
QString sql_str;
bool ok;
int field_name, field_default_value;
sql_str = tr("select * "
" from `DescriptionOfClasses` where `DescriptionOfClasses`.`Comment` = 'file' and `DescriptionOfClasses`.`ClassIdentifer` = " //íàõîäèì âñå îáúåêòû êëàññà â òàáëèöå - õðàíèëèùå îáúåêòîâ êëàññà
);
sql_str.append(tr("'"));
sql_str.append(class_id);
sql_str.append(tr("' "));
q.prepare(sql_str);
 
ok = q.exec();
if (!ok) {
QMessageBox::critical( // Äèàëîã ñ ñîîáùåíèåì îá îøèáêå.
this, // Ðîäèòåëüñêèé âèäæåò.
QObject::tr("Database Error"), // Çàãîëîâîê.
q.lastError().text()); // Òåêñò ñîîáùåíèÿ.
return result_str;
}
 
field_name = q.record().indexOf(tr("FieldName"));
// field_default_value = q.record().indexOf(tr("DefaultValue"));
while(q.next()){
QString FileFieldName;
 
FileFieldName = q.value(field_name).toString();
result_str.append(FileFieldName);
 
 
}
 
return result_str;
 
}
 
 
 
QStringList MainWindow::getBoolFieldList(QString class_id){ // ïîëó÷àåì ñïèñîê âñåõ ïîëåé c òèïîì "bool"
 
QStringList result_str;