Ejemplo n.º 1
0
QUrl Info::makeValidTeXURL(const QUrl &url, QWidget *mainWidget, bool istexfile, bool checkForFileExistence)
{
	QUrl newURL(url);

	//add a .tex extension
	if(!istexfile) {
		newURL = repairExtension(newURL, mainWidget, checkForFileExistence);
	}

	//remove characters TeX does not accept, make sure the newURL does not exists yet
	if(containsInvalidCharacters(newURL)) {
		newURL = repairInvalidCharacters(newURL, mainWidget, checkForFileExistence);
	}

	return newURL;
}
Ejemplo n.º 2
0
KUrl Info::repairInvalidCharacters(const KUrl& url, QWidget* mainWidget, bool checkForFileExistence /* = true */)
{
	KUrl ret(url);
	do {
		bool isOK;
		QString newURL = KInputDialog::getText(
			i18n("Invalid Characters"),
			i18n("The filename contains invalid characters ($~ #).<br>Please provide "
			     "another one, or click \"Cancel\" to save anyway."),
			ret.fileName(),
			&isOK);
		if(!isOK)
			break;
		ret.setFileName(newURL);
	} while(containsInvalidCharacters(ret));

	return (checkForFileExistence ? renameIfExist(ret, mainWidget) : ret);
}
Ejemplo n.º 3
0
QUrl Info::repairInvalidCharacters(const QUrl &url, QWidget* mainWidget, bool checkForFileExistence /* = true */)
{
	QUrl ret(url);
	do {
		bool isOK;
		QString newURL = QInputDialog::getText(
			mainWidget,
			i18n("Invalid Characters"),
			i18n("The filename contains invalid characters ($~ #).<br>Please provide "
			     "another one, or click \"Cancel\" to save anyway."),
			QLineEdit::Normal,
			ret.fileName(),
			&isOK);
		if(!isOK) {
			break;
		}
		ret = ret.adjusted(QUrl::RemoveFilename);
		ret.setPath(ret.path() + newURL);
	} while(containsInvalidCharacters(ret));

	return (checkForFileExistence ? renameIfExist(ret, mainWidget) : ret);
}