00001 #include <QMessageBox>
00002 #include <QDebug>
00003
00004 #include "documentchooser.h"
00005 #include "../Models/documentchoosermodel.h"
00006 #include "../Data/datadefinitions.h"
00007
00008 DocumentChooser::DocumentChooser(int documentType, int id, QString name, QDomElement file, DocumentChooserModel *model, QWidget *parent) : QDialog(parent)
00009 {
00010 setupUi(this);
00011
00012 this->id = id;
00013 this->name = name;
00014 this->file = file;
00015
00016 WindowType *type = new WindowType();
00017
00018 DocumentChooserFilterModel *filter = new DocumentChooserFilterModel(this);
00019 filter->setSourceModel(model);
00020 filter->setDynamicSortFilter(true);
00021 filter->setFilterFixedString(type->type(documentType));
00022
00023 documentView->setModel(filter);
00024 documentView->setItemsExpandable(false);
00025 documentView->expandAll();
00026
00027 connect(buttonBox, SIGNAL(accepted()), this, SLOT(retrieveDocument()));
00028 connect(buttonBox, SIGNAL(rejected()), this, SLOT(close()));
00029 }
00030
00031 void DocumentChooser::retrieveDocument()
00032 {
00033 QModelIndex index = documentView->selectionModel()->selectedIndexes().value(0);
00034
00035
00036 DocumentItem item = index.data(32).value<DocumentItem>();
00037
00038 qDebug()<<"CRASH: creat new costcentrefile -- just press enter on the documentchooserdialog -- crash";
00039 if(item.fileid() != -1)
00040 {
00041 emit documentSelected(item, id, name, file);
00042 done(0);
00043 }
00044 else
00045 {
00046 QMessageBox::information(this, tr("Fehler"), tr("Die Auswahl ist kein Dokument!"));
00047 }
00048 }