Added event processing if the process has finished its work

Signed-off-by: ormorph <roma251078@mail.ru>
pull/7/head
ormorph 6 months ago
parent 4296e05e28
commit 5e3f6f6968

@ -241,12 +241,23 @@ void KStreamRipper::ripButtonClicked()
ProcItem->getProcessController()->startRip(m_destEdit->text(), m_timeEdit->text(), m_CheckUnicode->isChecked());
m_ripButton->setEnabled( false );
m_stopRipButton->setEnabled( true );
connect(ProcItem->getProcessController(), TQT_SIGNAL(stopRipSignal(ProcessController*)), this, TQT_SLOT(ripStoped(ProcessController*)));
} else {
KMessageBox::error(this, "The streamripper executable wasn't found. Make sure "
"it's in your path.", "streamripper not found");
}
}
void KStreamRipper::ripStoped(ProcessController * curProc)
{
ProcessController * proc = ((ProcessListViewItem*)m_streamsListView->currentItem())->getProcessController();
if (curProc == proc)
{
m_ripButton->setEnabled( true );
m_stopRipButton->setEnabled( false );
}
}
void KStreamRipper::stopRipButtonClicked()
{
ProcessListViewItem * ProcItem = (ProcessListViewItem*)m_streamsListView->currentItem();

@ -24,6 +24,7 @@
#include <tdeversion.h>
#include "kstreamripperbase.h"
#include "editstreamimpl.h"
#include "processcontroller.h"
#if KDE_IS_VERSION(3,3,90)
#include <dnssd/servicebrowser.h>
#include <dnssd/remoteservice.h>
@ -59,6 +60,7 @@ protected slots:
void deleteStreamButtonClicked();
void tuneInButtonClicked();
void ripButtonClicked();
void ripStoped(ProcessController*);
void stopRipButtonClicked();
void browseButtonClicked();
void helpButtonClicked();

@ -27,6 +27,7 @@ ProcessController::ProcessController(ProcessListViewItem * parent)
{
myUniEnabled = false;
connect (myProcess, TQT_SIGNAL( readyReadStdout() ), (ProcessController *) this, TQT_SLOT( readStdout()) );
connect (myProcess, TQT_SIGNAL(processExited() ), (ProcessController *) this, TQT_SLOT( processStoped()) );
// connect (myProcess, TQT_SIGNAL( destroyed() ), myProcess, TQT_SLOT( kill()) );
// this should work, according to http://doc.trolltech.com/3.2/qobject.html#~TQObject but it doesn't
}
@ -75,6 +76,13 @@ void ProcessController::readStdout()
}
}
void ProcessController::processStoped()
{
myStatus = false;
myParent->setText( 1, "" );
myParent->setText( 2, "" );
emit stopRipSignal(this);
}
void ProcessController::startRip(TQString destination, TQString time, bool isUnicode)
{

@ -56,6 +56,7 @@ public:
protected slots:
void readStdout();
void processStoped();
private:
ProcessListViewItem * myParent;
@ -68,6 +69,9 @@ private:
TQProcess * myProcess;
TQString myUrl;
TQString myDescription;
signals:
void stopRipSignal(ProcessController*);
};
#endif

Loading…
Cancel
Save