diff options
author | Mavridis Philippe <[email protected]> | 2021-01-13 20:11:53 +0200 |
---|---|---|
committer | Mavridis Philippe <[email protected]> | 2021-01-13 20:11:53 +0200 |
commit | 8ce8d981f0c75dc0d85b413cf03c171f5d2be2cc (patch) | |
tree | e0d8e63ec91c45a5c3283f3467e2ee0c87c1d38f /src/arkollon/uninstallwizard.cpp | |
parent | 3a5cf419862f470b278c70ba390af614106b608a (diff) | |
download | klamav-8ce8d981f0c75dc0d85b413cf03c171f5d2be2cc.tar.gz klamav-8ce8d981f0c75dc0d85b413cf03c171f5d2be2cc.zip |
Removed KlamArkollon and related legacy build script.
Signed-off-by: Mavridis Philippe <[email protected]>
Diffstat (limited to 'src/arkollon/uninstallwizard.cpp')
-rw-r--r-- | src/arkollon/uninstallwizard.cpp | 322 |
1 files changed, 0 insertions, 322 deletions
diff --git a/src/arkollon/uninstallwizard.cpp b/src/arkollon/uninstallwizard.cpp deleted file mode 100644 index 0833117..0000000 --- a/src/arkollon/uninstallwizard.cpp +++ /dev/null @@ -1,322 +0,0 @@ -/*************************************************************************** - * Copyright (C) 2004 by David Sansome * - * [email protected] * - * * - * 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. * - * * - * This program is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * GNU General Public License for more details. * - * * - * You should have received a copy of the GNU General Public License * - * along with this program; if not, write to the * - * Free Software Foundation, Inc., * - * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * - ***************************************************************************/ - - -#include "uninstallwizard.h" -#include "headerlistitem.h" -#include "data.h" - -#include <tqregexp.h> -#include <tqwidgetstack.h> -#include <tqfile.h> -#include <tqtextstream.h> -#include <tqheader.h> -#include <tqlistbox.h> -#include <tqmessagebox.h> -#include <tqpushbutton.h> -#include <tqlineedit.h> -#include <tqtextedit.h> -#include <tqlabel.h> - -AppListItem::AppListItem(TQString nN, TQString n, TQListView* parent) - : TQCheckListItem(parent, "", TQCheckListItem::CheckBox) -{ - niceName = nN; - name = n; - section = 2; - - setText(0, niceName); -} - -int AppListItem::compare(TQListViewItem* i, int col, bool ascending) const -{ - switch (i->rtti()) - { - case 1003: // App - { - AppListItem* item = (AppListItem*) i; - if (section < item->section) - return -1; - if (section > item->section) - return 1; - return TQListViewItem::compare(i, col, ascending); - } - break; - - case 1002: // Header - { - HeaderListItem* item = (HeaderListItem*) i; - if (section < item->section) - return -1; - return 1; - } - break; - } - return 0; -} - - -UninstallWizard::UninstallWizard(TQWidget* parent, const char* name, bool modal, WFlags fl) -: WizardBase(parent,name, modal,fl) -{ - mainStack->raiseWidget(1); - setCaption("Uninstall Software"); - titleLabel->setText("<b>Uninstall Software</b>"); - componentInfo->setMaximumSize(32767,70); - - logDialog = new LogDialog(this); - logDialog->hide(); - appList->header()->hide(); - - globalHeader = NULL; - - icon.convertFromImage(qembed_findImage("misc")); - - externalProcess = new TQProcess(this); - connect(externalProcess, SIGNAL(processExited()), SLOT(processExited())); - connect(externalProcess, SIGNAL(readyReadStdout()), SLOT(readyReadStdout())); - connect(externalProcess, SIGNAL(readyReadStderr()), SLOT(readyReadStderr())); - - TQFile uninstallScript("/tmp/arkollon-uninstall.sh"); - if (uninstallScript.exists()) - uninstallScript.remove(); - uninstallScript.open(IO_WriteOnly); - TQDataStream stream(&uninstallScript); - stream.writeRawBytes((const char*)uninstaller_sh_data, uninstaller_sh_len); - uninstallScript.close(); - - currentStage = ListingPackages; - externalProcess->addArgument("/bin/sh"); - externalProcess->addArgument("/tmp/arkollon-uninstall.sh"); - externalProcess->addArgument("--list"); - externalProcess->start(); -} - -UninstallWizard::~UninstallWizard() -{ - TQFile uninstallScript("/tmp/arkollon-uninstall.sh"); - if (uninstallScript.exists()) - uninstallScript.remove(); -} - -void UninstallWizard::logPressed() -{ - logDialog->show(); -} - -void UninstallWizard::cancelPressed() -{ - reject(); -} - -void UninstallWizard::previousPressed() -{ - int currentId = uninstallStack->id(uninstallStack->visibleWidget()); - if (currentId == 0) - return; - - uninstallStack->raiseWidget(--currentId); - - if (currentId == 0) - previousButton->setEnabled(false); - nextButton->setEnabled(true); -} - -void UninstallWizard::nextPressed() -{ - int currentId = uninstallStack->id(uninstallStack->visibleWidget()); - if (currentId == 2) - { - accept(); - return; - } - - if (currentId == 0) - { - bool checked = false; - TQStringList argList; - argList.append("/bin/sh"); - argList.append("/tmp/arkollon-uninstall.sh"); - for ( TQListViewItem * myChild = appList->firstChild() ; myChild != NULL ; myChild = myChild->nextSibling()) - { - if (myChild->rtti() != 1003) - continue; - AppListItem* app = (AppListItem*) myChild; - if (!app->isOn()) - continue; - argList.append("--files"); - argList.append(app->name); - checked = true; - } - if (!checked) - { - TQMessageBox::warning(this, "Error", "You need to select at least one package to remove", TQMessageBox::Ok, TQMessageBox::NoButton, TQMessageBox::NoButton); - return; - } - fileList->clear(); - currentStage = ListingFiles; - externalProcess->setArguments(argList); - externalProcess->start(); - nextButton->setEnabled(false); // Set true again when the process is done - } - - uninstallStack->raiseWidget(++currentId); - - if (currentId == 2) - removeUserPackages(); - else - previousButton->setEnabled(true); -} - -void UninstallWizard::processExited() -{ - switch (currentStage) - { - case ListingPackages: - if (appList->childCount() <= 0) - { - TQMessageBox::warning(NULL, "Warning", "There are no packages installed", TQMessageBox::Ok, TQMessageBox::NoButton, TQMessageBox::NoButton); - reject(); - return; - } - show(); - break; - case ListingFiles: - nextButton->setEnabled(true); - fileList->sort(); - break; - case RemovingGlobal: - finished(); - break; - } -} - -void UninstallWizard::readyReadStdout() -{ - switch (currentStage) - { - case ListingPackages: - { - while (externalProcess->canReadLineStdout()) - { - TQString line = externalProcess->readLineStdout(); - if (line.isEmpty()) - continue; - - // See if it already exists - bool exists = false; - - for ( TQListViewItem * myChild = appList->firstChild() ; myChild != NULL ; myChild = myChild->nextSibling()) - { - if (myChild->rtti() != 1003) - continue; - AppListItem* app = (AppListItem*) myChild; - if (app->name.lower() == line.lower()) - { - exists = true; - break; - } - } - if (exists) - continue; - - TQString niceName = line.left(line.findRev(':')); - niceName = niceName.left(1).upper() + niceName.right(niceName.length()-1); - new AppListItem(niceName, line, appList); - - if (globalHeader == NULL) - { - globalHeader = new HeaderListItem(appList); - globalHeader->setText(0, "Applications available to all users"); - globalHeader->section = 1; - } - } - break; - } - case ListingFiles: - { - while (externalProcess->canReadLineStdout()) - { - TQString line = externalProcess->readLineStdout(); - if (line.isEmpty()) - continue; - fileList->insertItem(icon, line.left(line.find(" "))); - } - break; - } - case RemovingGlobal: - while (externalProcess->canReadLineStdout()) - { - TQString line = externalProcess->readLineStdout(); - if (line.isEmpty()) - continue; - line.replace(TQRegExp("\\033[^m]*m"), ""); - logDialog->logBox->append(line); - } - break; - } -} - -void UninstallWizard::readyReadStderr() -{ - while (externalProcess->canReadLineStdout()) - { - TQString line = externalProcess->readLineStdout(); - if (line.isEmpty()) - continue; - line.replace(TQRegExp("\\033[^m]*m"), ""); - logDialog->logBox->append(line); - } -} - -void UninstallWizard::removeUserPackages() -{ - nextButton->setEnabled(false); // Set true again when the process is done - previousButton->setEnabled(false); - - // Find out which packages belong to the user, and uninstall them - TQStringList argList; - argList.append("/bin/sh"); - argList.append("/tmp/arkollon-uninstall.sh"); - for ( TQListViewItem * myChild = appList->firstChild() ; myChild != NULL ; myChild = myChild->nextSibling()) - { - if (myChild->rtti() != 1003) - continue; - AppListItem* app = (AppListItem*) myChild; - if (!app->isOn()) - continue; - - argList.append("--remove"); - argList.append(app->name); - } - currentStage = RemovingGlobal; - externalProcess->setArguments(argList); - externalProcess->start(); -} - -void UninstallWizard::finished() -{ - pleaseWaitLabel2->setText("Removal of packages complete!"); - nextButton->setText("Finish"); - nextButton->setEnabled(true); -} - -#include "uninstallwizard.moc" - |