summaryrefslogtreecommitdiffstats
path: root/extractordialog.cpp
diff options
context:
space:
mode:
authorArno <am@disconnect.de>2010-05-14 14:52:56 +0200
committerArno <am@disconnect.de>2010-05-14 14:52:56 +0200
commit8557681bb922613603eae641e88746eaa16914a4 (patch)
tree2b025d0d67a8c262991cc6d9f081b840ae8b0b7c /extractordialog.cpp
parent8a324c06caff00947b7d9a8b0b0b977073500c80 (diff)
downloadSheMov-8557681bb922613603eae641e88746eaa16914a4.tar.gz
SheMov-8557681bb922613603eae641e88746eaa16914a4.tar.bz2
SheMov-8557681bb922613603eae641e88746eaa16914a4.zip
Cleanup archive extraction
Removed the code for archive extraction. Never used it, never liked it and really never worked properly.
Diffstat (limited to 'extractordialog.cpp')
-rw-r--r--extractordialog.cpp101
1 files changed, 0 insertions, 101 deletions
diff --git a/extractordialog.cpp b/extractordialog.cpp
deleted file mode 100644
index 984c1d8..0000000
--- a/extractordialog.cpp
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- This program is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License
- as published by the Free Software Foundation; either version
- 2 of the License, or (at your option) any later version.
-*/
-
-#include <QTextEdit>
-#include <QProcess>
-#include <QPushButton>
-#include <QVBoxLayout>
-#include <QSettings>
-#include <QFileInfo>
-#include <QByteArray>
-#include <QFont>
-#include <QRegExp>
-#include <QApplication>
-
-#include "extractordialog.h"
-
-ExtractorDialog::ExtractorDialog(const QString &archive, const QString &extractTo, QWidget *parent, Qt::WindowFlags f) : QDialog(parent, f), mArchive(archive), mExtractTo(extractTo){
- QVBoxLayout *mainLayout = new QVBoxLayout;
- mOutput = new QTextEdit;
- mOutput->setReadOnly(true);
- mOutput->setFont(QFont("Courier new", 10));
- mCancelClose = new QPushButton(tr("Close"));
- connect(mCancelClose, SIGNAL(clicked()), this, SLOT(accept()));
- mainLayout->addWidget(mOutput);
- mainLayout->addWidget(mCancelClose);
- setLayout(mainLayout);
-
- mExtractor = new QProcess(this);
-
- QString wTitle = QString(tr("%1 - extracting from %2")).arg(qApp->applicationName()).arg(archive);
- setWindowTitle(wTitle);
- setMinimumWidth(500);
-
- start();
-}
-
-void ExtractorDialog::extractionFinished(){
- mCancelClose->disconnect(SIGNAL(clicked()));
- connect(mCancelClose, SIGNAL(clicked()), this, SLOT(accept()));
- mCancelClose->setText(tr("Close"));
- setWindowTitle(tr("Extraction finished"));
- mOutput->append(tr("\nFinished.\n"));
-}
-
-void ExtractorDialog::killProcess(){
- mExtractor->kill();
- setClose();
-}
-
-void ExtractorDialog::writeOutput(){
- if(mExtractor->canReadLine()){
- mOutput->append(mExtractor->readLine());
- }
-}
-
-void ExtractorDialog::start(){
- QSettings s;
- QString exe = s.value("paths/archiver").toString();
- if(exe.isEmpty()){
- mOutput->append(tr("No archive program configured!"));
- return;
- }
- QFileInfo info(exe);
- if(!info.exists() || !info.isExecutable()){
- QString msg = QString(tr("Unable to call %1")).arg(exe);
- mOutput->append(msg);
- return;
- }
- QStringList args = s.value("paths/archiverargs").toStringList();
- args << mArchive;
- mExtractor = new QProcess(this);
- mExtractor->setWorkingDirectory(mExtractTo);
- mExtractor->setReadChannel(QProcess::StandardOutput);
- QString startmessage = QString("Starting %1 %2\n").arg(exe).arg(args.join(" "));
- mOutput->append(startmessage);
- mExtractor->start(exe, args);
- if(!mExtractor->waitForStarted()){
- mOutput->append(tr("Failed to start extraction!\n"));
- return;
- }
- connect(mExtractor, SIGNAL(readyRead()), this, SLOT(writeOutput()));
- connect(mExtractor, SIGNAL(finished(int, QProcess::ExitStatus)), this, SLOT(extractionFinished()));
- setCancel();
-}
-
-void ExtractorDialog::setClose(){
- mCancelClose->disconnect(SIGNAL(clicked()));
- connect(mCancelClose, SIGNAL(clicked()), this, SLOT(accept()));
- mCancelClose->setText(tr("Close"));
-}
-
-void ExtractorDialog::setCancel(){
- mCancelClose->disconnect(SIGNAL(clicked()));
- connect(mCancelClose, SIGNAL(clicked()), this, SLOT(killProcess()));
- mCancelClose->setText(tr("Cancel"));
-}
-