src/partdownloader.cpp

changeset 1217
314e12e23c3a
parent 1215
77a0270352a3
child 1222
34def2630300
--- a/src/partdownloader.cpp	Thu Jan 04 19:40:52 2018 +0200
+++ b/src/partdownloader.cpp	Thu Jan 04 19:44:26 2018 +0200
@@ -30,31 +30,31 @@
 #include "glRenderer.h"
 #include "documentmanager.h"
 
-ConfigOption (QString DownloadFilePath)
-ConfigOption (bool GuessDownloadPaths = true)
-ConfigOption (bool AutoCloseDownloadDialog = true)
+ConfigOption(QString DownloadFilePath)
+ConfigOption(bool GuessDownloadPaths = true)
+ConfigOption(bool AutoCloseDownloadDialog = true)
 
 const char* g_unofficialLibraryURL = "http://ldraw.org/library/unofficial/";
 
-PartDownloader::PartDownloader (QWidget* parent) :
-	QDialog (parent),
-	HierarchyElement (parent),
-	ui (*new Ui_PartDownloader),
-	m_source (SourceType (0))
+PartDownloader::PartDownloader(QWidget* parent) :
+	QDialog(parent),
+	HierarchyElement(parent),
+	ui(*new Ui_PartDownloader),
+	m_source(SourceType(0))
 {
-	ui.setupUi (this);
+	ui.setupUi(this);
 
 #ifdef USE_QT5
-	ui.progressTable->horizontalHeader()->setSectionResizeMode (QHeaderView::Stretch);
+	ui.progressTable->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);
 #else
-	ui.progressTable->horizontalHeader()->setResizeMode (PartLabelColumn, QHeaderView::Stretch);
+	ui.progressTable->horizontalHeader()->setResizeMode(PartLabelColumn, QHeaderView::Stretch);
 #endif
 
-	m_downloadButton = new QPushButton (tr ("Download"));
-	ui.buttonBox->addButton (m_downloadButton, QDialogButtonBox::ActionRole);
-	button (Abort)->setEnabled (false);
-	connect (ui.source, SIGNAL (currentIndexChanged (int)), this, SLOT (sourceChanged (int)));
-	connect (ui.buttonBox, SIGNAL (clicked (QAbstractButton*)), this, SLOT (buttonClicked (QAbstractButton*)));
+	m_downloadButton = new QPushButton(tr("Download"));
+	ui.buttonBox->addButton(m_downloadButton, QDialogButtonBox::ActionRole);
+	button(Abort)->setEnabled(false);
+	connect(ui.source, SIGNAL(currentIndexChanged(int)), this, SLOT(sourceChanged(int)));
+	connect(ui.buttonBox, SIGNAL(clicked(QAbstractButton*)), this, SLOT(buttonClicked(QAbstractButton*)));
 }
 
 PartDownloader::~PartDownloader()
@@ -66,15 +66,15 @@
 {
 	QString path = downloadPath();
 
-	if (path.isEmpty() or not QDir (path).exists())
+	if (path.isEmpty() or not QDir(path).exists())
 	{
 		QMessageBox::information(this, "Notice", "Please input a path for files to download.");
-		path = QFileDialog::getExistingDirectory (this, "Path for downloaded files:");
+		path = QFileDialog::getExistingDirectory(this, "Path for downloaded files:");
 
 		if (path.isEmpty())
 			reject();
 		else
-			config.setDownloadFilePath (path);
+			config.setDownloadFilePath(path);
 	}
 }
 
@@ -82,12 +82,12 @@
 {
 	QString destination;
 
-	switch (sourceType())
+	switch(sourceType())
 	{
 	case PartsTracker:
 		destination = ui.filename->text();
-		modifyDestination (destination);
-		ui.filename->setText (destination);
+		modifyDestination(destination);
+		ui.filename->setText(destination);
 		return g_unofficialLibraryURL + destination;
 
 	case CustomURL:
@@ -98,7 +98,7 @@
 	return "";
 }
 
-void PartDownloader::modifyDestination (QString& dest) const
+void PartDownloader::modifyDestination(QString& dest) const
 {
 	dest = dest.simplified();
 
@@ -107,29 +107,29 @@
 		return;
 
 	// Ensure .dat extension
-	if (dest.right (4) != ".dat")
+	if (dest.right(4) != ".dat")
 	{
 		// Remove the existing extension, if any. It may be we're here over a
 		// typo in the .dat extension.
-		const int dotpos = dest.lastIndexOf (".");
+		const int dotpos = dest.lastIndexOf(".");
 
-		if ((dotpos != -1) and (dotpos >= dest.length() - 4))
-			dest.chop (dest.length() - dotpos);
+		if ((dotpos != -1) and(dotpos >= dest.length() - 4))
+			dest.chop(dest.length() - dotpos);
 
 		dest += ".dat";
 	}
 
 	// If the part starts with s\ or s/, then use parts/s/. Same goes with
 	// 48\ and p/48/.
-	if (isOneOf (dest.left (2), "s\\", "s/"))
+	if (isOneOf(dest.left(2), "s\\", "s/"))
 	{
-		dest.remove (0, 2);
-		dest.prepend ("parts/s/");
+		dest.remove(0, 2);
+		dest.prepend("parts/s/");
 	}
-	else if (isOneOf (dest.left (3), "48\\", "48/"))
+	else if (isOneOf(dest.left(3), "48\\", "48/"))
 	{
-		dest.remove (0, 3);
-		dest.prepend ("p/48/");
+		dest.remove(0, 3);
+		dest.prepend("p/48/");
 	}
 
 	/* Try determine where to put this part. We have four directories:
@@ -137,12 +137,12 @@
 	   either parts/ or p/, we need to add it automatically. Part files
 	   are numbers wit a possible u prefix for parts with unknown number
 	   which can be followed by any of:
-	   - c** (composites)
-	   - d** (formed stickers)
-	   - p** (patterns)
+	   - c**(composites)
+	   - d**(formed stickers)
+	   - p**(patterns)
 	   - a lowercase alphabetic letter for variants
 
-	   Subfiles (usually) have an s** prefix, in which case we use parts/s/.
+	   Subfiles(usually) have an s** prefix, in which case we use parts/s/.
 	   Note that the regex starts with a '^' so it won't catch already fully
 	   given part file names. */
 	QString partRegex = "^u?[0-9]+(c[0-9][0-9]+)*(d[0-9][0-9]+)*[a-z]?(p[0-9a-z][0-9a-z]+)*";
@@ -151,12 +151,12 @@
 	partRegex += "\\.dat$";
 	subpartRegex += "\\.dat$";
 
-	if (QRegExp (subpartRegex).exactMatch (dest))
-		dest.prepend ("parts/s/");
-	else if (QRegExp (partRegex).exactMatch (dest))
-		dest.prepend ("parts/");
-	else if (not dest.startsWith ("parts/") and not dest.startsWith ("p/"))
-		dest.prepend ("p/");
+	if (QRegExp(subpartRegex).exactMatch(dest))
+		dest.prepend("parts/s/");
+	else if (QRegExp(partRegex).exactMatch(dest))
+		dest.prepend("parts/");
+	else if (not dest.startsWith("parts/") and not dest.startsWith("p/"))
+		dest.prepend("p/");
 }
 
 PartDownloader::SourceType PartDownloader::sourceType() const
@@ -164,86 +164,86 @@
 	return m_source;
 }
 
-void PartDownloader::setSourceType (SourceType src)
+void PartDownloader::setSourceType(SourceType src)
 {
 	m_source = src;
-	ui.source->setCurrentIndex (int (src));
+	ui.source->setCurrentIndex(int(src));
 }
 
-void PartDownloader::sourceChanged (int i)
+void PartDownloader::sourceChanged(int i)
 {
 	if (i == CustomURL)
-		ui.fileNameLabel->setText (tr ("URL:"));
+		ui.fileNameLabel->setText(tr("URL:"));
 	else
-		ui.fileNameLabel->setText (tr ("File name:"));
+		ui.fileNameLabel->setText(tr("File name:"));
 
-	m_source = SourceType (i);
+	m_source = SourceType(i);
 }
 
-void PartDownloader::buttonClicked (QAbstractButton* btn)
+void PartDownloader::buttonClicked(QAbstractButton* btn)
 {
-	if (btn == button (Close))
+	if (btn == button(Close))
 	{
 		reject();
 	}
-	else if (btn == button (Abort))
+	else if (btn == button(Abort))
 	{
 		m_isAborted = true;
 
 		for (PartDownloadRequest* req : m_requests)
 			req->abort();
 	}
-	else if (btn == button (Download))
+	else if (btn == button(Download))
 	{
 		QString dest = ui.filename->text();
-		setPrimaryFile (nullptr);
+		setPrimaryFile(nullptr);
 		m_isAborted = false;
 
 		if (sourceType() == CustomURL)
-			dest = Basename (url());
+			dest = Basename(url());
 
-		modifyDestination (dest);
+		modifyDestination(dest);
 
-		if (QFile::exists (downloadPath() + DIRSLASH + dest))
+		if (QFile::exists(downloadPath() + DIRSLASH + dest))
 		{
-			const QString overwritemsg = format (tr ("%1 already exists in download directory. Overwrite?"), dest);
-			if (not Confirm (tr ("Overwrite?"), overwritemsg))
+			const QString overwritemsg = format(tr("%1 already exists in download directory. Overwrite?"), dest);
+			if (not Confirm(tr("Overwrite?"), overwritemsg))
 				return;
 		}
 
-		downloadFile (dest, url(), true);
+		downloadFile(dest, url(), true);
 	}
 }
 
-void PartDownloader::downloadFile (QString dest, QString url, bool primary)
+void PartDownloader::downloadFile(QString dest, QString url, bool primary)
 {
 	int row = ui.progressTable->rowCount();
 
 	// Don't download files repeadetly.
-	if (m_filesToDownload.indexOf (dest) != -1)
+	if (m_filesToDownload.indexOf(dest) != -1)
 		return;
 
-	print ("Downloading %1 from %2\n", dest, url);
-	modifyDestination (dest);
-	PartDownloadRequest* req = new PartDownloadRequest (url, dest, primary, this);
+	print("Downloading %1 from %2\n", dest, url);
+	modifyDestination(dest);
+	PartDownloadRequest* req = new PartDownloadRequest(url, dest, primary, this);
 	m_filesToDownload << dest;
 	m_requests << req;
-	ui.progressTable->insertRow (row);
-	req->setTableRow (row);
+	ui.progressTable->insertRow(row);
+	req->setTableRow(row);
 	req->updateToTable();
-	m_downloadButton->setEnabled (false);
-	ui.progressTable->setEnabled (true);
-	ui.filename->setEnabled (false);
-	ui.source->setEnabled (false);
-	button (Close)->setEnabled (false);
-	button (Abort)->setEnabled (true);
-	button (Download)->setEnabled (false);
+	m_downloadButton->setEnabled(false);
+	ui.progressTable->setEnabled(true);
+	ui.filename->setEnabled(false);
+	ui.source->setEnabled(false);
+	button(Close)->setEnabled(false);
+	button(Abort)->setEnabled(true);
+	button(Download)->setEnabled(false);
 }
 
-void PartDownloader::downloadFromPartsTracker (QString file)
+void PartDownloader::downloadFromPartsTracker(QString file)
 {
-	modifyDestination (file);
-	downloadFile (file, g_unofficialLibraryURL + file, false);
+	modifyDestination(file);
+	downloadFile(file, g_unofficialLibraryURL + file, false);
 }
 
 void PartDownloader::checkIfFinished()
@@ -279,29 +279,29 @@
 	else
 	{
 		// Allow the prompt be closed now.
-		button (Abort)->setEnabled (false);
-		button (Close)->setEnabled (true);
+		button(Abort)->setEnabled(false);
+		button(Close)->setEnabled(true);
 	}
 }
 
-QPushButton* PartDownloader::button (PartDownloader::Button i)
+QPushButton* PartDownloader::button(PartDownloader::Button i)
 {
-	switch (i)
+	switch(i)
 	{
 		case Download:
 			return m_downloadButton;
 
 		case Abort:
-			return qobject_cast<QPushButton*> (ui.buttonBox->button (QDialogButtonBox::Abort));
+			return qobject_cast<QPushButton*>(ui.buttonBox->button(QDialogButtonBox::Abort));
 
 		case Close:
-			return qobject_cast<QPushButton*> (ui.buttonBox->button (QDialogButtonBox::Close));
+			return qobject_cast<QPushButton*>(ui.buttonBox->button(QDialogButtonBox::Close));
 	}
 
 	return nullptr;
 }
 
-void PartDownloader::addFile (LDDocument* f)
+void PartDownloader::addFile(LDDocument* f)
 {
 	m_files << f;
 }
@@ -316,7 +316,7 @@
 	return m_primaryFile;
 }
 
-void PartDownloader::setPrimaryFile (LDDocument* document)
+void PartDownloader::setPrimaryFile(LDDocument* document)
 {
 	m_primaryFile = document;
 }
@@ -326,7 +326,7 @@
 	QString path = config.downloadFilePath();
 
 	if (DIRSLASH[0] != '/')
-		path.replace (DIRSLASH, "/");
+		path.replace(DIRSLASH, "/");
 
 	return path;
 }

mercurial