Added Unicode support

Signed-off-by: ormorph <roma251078@mail.ru>
pull/7/head
ormorph 5 months ago
parent 7084457de0
commit 38365fac88

@ -68,6 +68,7 @@ KStreamRipper::KStreamRipper( TQWidget* parent, const char* name )
m_timeEdit->setText( appConfig->readEntry( "Riptime", "0" ));
m_tuneInEdit->setText( appConfig->readEntry( "Command", "xmms <url>" ));
m_id3Checkbox->setChecked( appConfig->readBoolEntry( "Id3Tag", 1 ));
m_CheckUnicode->setChecked( appConfig->readBoolEntry( "Unicode", 1 ));
//listview entrys
TQStringList nameList,urlList,descList;
@ -130,6 +131,7 @@ void KStreamRipper::closeEvent( TQCloseEvent *e )
appConfig->writeEntry( "Riptime", m_timeEdit->text());
appConfig->writeEntry( "Command", m_tuneInEdit->text());
appConfig->writeEntry( "Id3Tag", m_id3Checkbox->isChecked());
appConfig->writeEntry( "Unicode", m_CheckUnicode->isChecked());
//save the listview entrys
@ -220,7 +222,7 @@ void KStreamRipper::ripButtonClicked()
{
if (!(TDEStandardDirs::findExe("streamripper").isEmpty())) {
ProcessListViewItem * ProcItem = (ProcessListViewItem*)m_streamsListView->currentItem();
ProcItem->getProcessController()->startRip(m_destEdit->text(), m_timeEdit->text());
ProcItem->getProcessController()->startRip(m_destEdit->text(), m_timeEdit->text(), m_CheckUnicode->isChecked());
m_ripButton->setEnabled( false );
m_stopRipButton->setEnabled( true );
} else {

@ -25,6 +25,7 @@
ProcessController::ProcessController(ProcessListViewItem * parent)
: TQObject((TQObject *)parent), myParent(parent), myStatus(false), myAutomatic(false), myProcess(new TQProcess(this))
{
myUniEnabled = false;
connect (myProcess, TQT_SIGNAL( readyReadStdout() ), (ProcessController *) this, TQT_SLOT( readStdout()) );
// 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
@ -37,7 +38,13 @@ ProcessController::~ProcessController()
void ProcessController::readStdout()
{
TQString tempOutput = myProcess->readStdout();
TQString tempOutput;
if(myUniEnabled)
tempOutput = TQString::fromUtf8(myProcess->readStdout());
else
tempOutput = TQString::fromLatin1(myProcess->readStdout());
if( tempOutput.contains( "ripping..." ))
if( tempOutput.contains( "ripping..." ))
{
@ -69,14 +76,20 @@ void ProcessController::readStdout()
}
void ProcessController::startRip(TQString destination, TQString time)
void ProcessController::startRip(TQString destination, TQString time, bool isUnicode)
{
myUniEnabled = isUnicode;
myStatus = true;
myParent->setText( 1, "Ripping" );
myProcess->clearArguments();
myProcess->addArgument( "streamripper" );
myProcess->addArgument( myUrl );
if( isUnicode )
{
myProcess->addArgument( "--codeset-filesys=UTF-8 " );
myProcess->addArgument( "--codeset-metadata=UTF-8 " );
}
myProcess->addArgument( "-d " );
myProcess->addArgument( destination );
if( time.toInt() )

@ -51,7 +51,7 @@ public:
void setDescription(TQString Description);
TQString getUrl();
TQString getDescription();
void startRip(TQString destination, TQString time);
void startRip(TQString destination, TQString time, bool isUnicode);
void stopRip();
protected slots:
@ -61,6 +61,7 @@ private:
ProcessListViewItem * myParent;
bool myStatus;
bool myAutomatic;
bool myUniEnabled;
#if KDE_IS_VERSION(3,3,90)
DNSSD::RemoteService::Ptr myService;
#endif

Loading…
Cancel
Save