A simple Qt based browser with no bullshit that supports PKCS#11 tokens (such as the SuisseID).
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

66 lines
1.6 KiB

/*! @file
@id $Id$
*/
// 1 2 3 4 5 6 7 8
// 45678901234567890123456789012345678901234567890123456789012345678901234567890
#ifndef __TEMPORARYFILE_HXX__
#define __TEMPORARYFILE_HXX__
#include <QtCore/QTemporaryFile>
#include <QtCore/QRegExp>
#include <QtCore/QDebug>
class TemporaryFile: public QFile {
Q_OBJECT;
public:
TemporaryFile(QString filename): _autoRemove(false) {
if (exists(filename)) {
QString prefix(filename);
QString suffix(filename);
prefix.remove(QRegExp("\\.[^.]*$"));
suffix.remove(QRegExp("^.*\\."));
qDebug()<<"filename"<<filename
<<"prefix"<<prefix
<<"suffix"<<suffix;
if (prefix==suffix) suffix.clear();
for (unsigned long i(0); i<10000; ++i)
if (!exists(filename =
QString("%1_%2.%3")
.arg(prefix)
.arg(i, 4, 10, QChar('0'))
.arg(suffix))) break;
}
qDebug()<<"filename"<<filename;
setFileName(filename);
}
bool open() {
return QFile::open(QIODevice::ReadWrite);
}
void setAutoRemove(bool flag) {
_autoRemove = flag;
}
~TemporaryFile() {
qDebug()<<"_autoRemove"<<_autoRemove
<<"exists()"<<exists();
if (_autoRemove && exists()) {
qDebug()<<"Remove: "<<fileName();
remove();
} else {
qDebug()<<"Don't remove: "<<fileName();
}
}
private:
bool _autoRemove;
};
#endif