remembers Im/Export directorys

Database errors are written through CERR makro
This commit is contained in:
chris 2002-10-17 17:13:20 +00:00
parent 9d5da8bea7
commit c09ed5ea68
6 changed files with 50 additions and 11 deletions

View File

@ -84,7 +84,7 @@ MainWindow::MainWindow(QWidget *parent, const char *name )
#endif
try {
dbenv = new DbEnv(0);
//dbenv->set_errcall(&MainWindow::dberr);
dbenv->set_errcall(&MainWindow::dberr);
dbenv->open(baseDir.latin1(), DB_RECOVER | DB_INIT_TXN | DB_INIT_MPOOL | DB_INIT_LOG | DB_INIT_LOCK | DB_CREATE , 0600 );
MARK
}
@ -306,7 +306,21 @@ void MainWindow::crashApp()
nullpointer->getDescription();
}
void dberr(const char *errpfx, char *msg)
void MainWindow::dberr(const char *errpfx, char *msg)
{
// CERR(errpfx << " " << msg);
CERR(errpfx << " " << msg);
}
void MainWindow::setPath(QFileDialog *dlg)
{
string wd = settings->getString("workingdir");
if (!wd.empty()) {
dlg->setDir(QString(wd.c_str()));
}
}
void MainWindow::newPath(QFileDialog *dlg)
{
string wd = dlg->dirPath().latin1();
settings->putString("workingdir", wd);
}

View File

@ -196,6 +196,8 @@ class MainWindow: public MainWindow_UI
void setTemplate();
void genCrl();
void crashApp();
void setPath(QFileDialog *dlg);
void newPath(QFileDialog *dlg);
signals:
void keyDone(QString name);
};

View File

@ -197,8 +197,11 @@ void MainWindow::loadKey()
dlg->setCaption("Import key");
dlg->setFilters(filt);
dlg->setMode( QFileDialog::ExistingFiles );
if (dlg->exec())
setPath(dlg);
if (dlg->exec()) {
slist = dlg->selectedFiles();
newPath(dlg);
}
delete dlg;
for ( QStringList::Iterator it = slist.begin(); it != slist.end(); ++it ) {
s = *it;
@ -261,10 +264,12 @@ void MainWindow::writeKey()
ExportKey *dlg = new ExportKey((targetKey->getDescription() + ".pem").c_str(),
targetKey->isPubKey(), this);
dlg->image->setPixmap(*keyImg);
//setPath(dlg);
if (!dlg->exec()) {
delete dlg;
return;
}
//newPath(dlg);
string fname = dlg->filename->text().latin1();
if (fname == "") {
delete dlg;

View File

@ -466,8 +466,11 @@ void MainWindow::loadCert()
dlg->setCaption(tr("Certificate import"));
dlg->setFilters(filt);
dlg->setMode( QFileDialog::ExistingFiles );
if (dlg->exec())
setPath(dlg);
if (dlg->exec()) {
slist = dlg->selectedFiles();
newPath(dlg);
}
delete dlg;
for ( QStringList::Iterator it = slist.begin(); it != slist.end(); ++it ) {
@ -499,8 +502,11 @@ void MainWindow::loadPKCS12()
dlg->setCaption(tr("Certificate import"));
dlg->setFilters(filt);
dlg->setMode( QFileDialog::ExistingFiles );
if (dlg->exec())
setPath(dlg);
if (dlg->exec()) {
slist = dlg->selectedFiles();
newPath(dlg);
}
delete dlg;
for ( QStringList::Iterator it = slist.begin(); it != slist.end(); ++it ) {
s = *it;
@ -582,8 +588,11 @@ void MainWindow::writeCert()
dlg->setFilters(filt);
dlg->setMode( QFileDialog::AnyFile );
dlg->setSelection( (cert->getDescription() + ".crt").c_str() );
if (dlg->exec())
setPath(dlg);
if (dlg->exec()) {
s = dlg->selectedFile();
newPath(dlg);
}
delete dlg;
if (s.isEmpty()) return;
s = QDir::convertSeparators(s);
@ -617,8 +626,11 @@ void MainWindow::writePKCS12()
dlg->setFilters(filt);
dlg->setMode( QFileDialog::AnyFile );
dlg->setSelection( (cert->getDescription() + ".p12").c_str() );
if (dlg->exec())
setPath(dlg);
if (dlg->exec()) {
s = dlg->selectedFile();
newPath(dlg);
}
delete dlg;
if (s.isEmpty()) return;
s=QDir::convertSeparators(s);

View File

@ -173,8 +173,11 @@ void MainWindow::loadReq()
dlg->setCaption(tr("Import Certificate signing request"));
dlg->setFilters(filt);
dlg->setMode( QFileDialog::ExistingFiles );
if (dlg->exec())
setPath(dlg);
if (dlg->exec()) {
slist = dlg->selectedFiles();
newPath(dlg);
}
delete dlg;
for ( QStringList::Iterator it = slist.begin(); it != slist.end(); ++it ) {
s = *it;
@ -213,8 +216,11 @@ void MainWindow::writeReq()
dlg->setFilters(filt);
dlg->setMode( QFileDialog::AnyFile );
dlg->setSelection( (req->getDescription() + ".pem").c_str() );
if (dlg->exec())
setPath(dlg);
if (dlg->exec()) {
s = dlg->selectedFile();
newPath(dlg);
}
delete dlg;
if (s.isEmpty()) return;
s=QDir::convertSeparators(s);

2
README
View File

@ -19,7 +19,7 @@ QT-2.2.4 from http://www.troll.no
BercleyDB-3.3 from http://www.sleepycat.com
OpenSSl-0.9.6 from http://www.openssl.org
GNU C++ compiler 2.9.5
GNU C++ compiler 2.95
GNU make