You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
134 lines
3.8 KiB
134 lines
3.8 KiB
|
|
#include "soundkonverterapp.h"
|
|
#include "soundkonverter.h"
|
|
|
|
#include <tqstringlist.h>
|
|
#include <tqfile.h>
|
|
#include <tqmovie.h>
|
|
|
|
#include <kglobal.h>
|
|
#include <kstartupinfo.h>
|
|
#include <kcmdlineargs.h>
|
|
#include <dcopclient.h>
|
|
#include <ksystemtray.h>
|
|
#include <kstandarddirs.h>
|
|
|
|
soundKonverterApp::soundKonverterApp()
|
|
: KUniqueApplication()
|
|
{}
|
|
|
|
soundKonverterApp::~soundKonverterApp()
|
|
{}
|
|
|
|
int soundKonverterApp::newInstance()
|
|
{
|
|
// register ourselves as a dcop client
|
|
if( !dcopClient()->isRegistered() )
|
|
dcopClient()->registerAs( name(), false );
|
|
|
|
// see if we are starting with session management
|
|
if( restoringSession() )
|
|
{
|
|
RESTORE( soundKonverter );
|
|
}
|
|
else
|
|
{
|
|
// no session.. just start up normally
|
|
TDECmdLineArgs *args = TDECmdLineArgs::parsedArgs();
|
|
|
|
if( !mainWidget() )
|
|
{
|
|
soundKonverter *widget = new soundKonverter();
|
|
setMainWidget(widget);
|
|
//widget->show();
|
|
}
|
|
else
|
|
KStartupInfo::setNewStartupId( mainWidget(), kapp->startupId());
|
|
|
|
soundKonverter *widget = ::tqqt_cast<soundKonverter*>( mainWidget() );
|
|
|
|
widget->increaseInstances();
|
|
|
|
TQCString notify = args->getOption( "command" );
|
|
if( !notify.isNull() ) {
|
|
widget->setNotify( notify );
|
|
}
|
|
|
|
TQCString profile = args->getOption( "profile" );
|
|
if( !profile.isNull() ) {
|
|
widget->profile = profile;
|
|
}
|
|
|
|
TQCString format = args->getOption( "format" );
|
|
if( !format.isNull() ) {
|
|
widget->format = format;
|
|
}
|
|
|
|
TQCString directory = args->getOption( "output" );
|
|
if( !directory.isNull() ) {
|
|
widget->directory = directory;
|
|
}
|
|
|
|
TQCString device = args->getOption( "rip" );
|
|
if( !device.isNull() ) {
|
|
if( !args->isSet( "invisible" ) ) {
|
|
widget->visible = true;
|
|
widget->show();
|
|
widget->systemTray->hide();
|
|
widget->systemTray->setPixmap( 0 );
|
|
}
|
|
widget->device = device;
|
|
widget->showCdDialog( false );
|
|
}
|
|
|
|
widget->autoclose = args->isSet( "autoclose" );
|
|
|
|
if( args->isSet( "invisible" ) ) {
|
|
widget->visible = false;
|
|
widget->autoclose = true;
|
|
widget->hide();
|
|
widget->systemTray->show();
|
|
KStandardDirs* stdDirs = new KStandardDirs();
|
|
widget->systemTray->setMovie( TQMovie(stdDirs->findResource("data","soundkonverter/pics/systray.mng")) );
|
|
delete stdDirs;
|
|
}
|
|
else {
|
|
widget->visible = true;
|
|
widget->show();
|
|
widget->systemTray->hide();
|
|
widget->systemTray->setPixmap( 0 );
|
|
}
|
|
|
|
// add the files to the file lists depending on the used switch
|
|
if( args->isSet( "replaygain" ) ) {
|
|
TQStringList replayGainFiles;
|
|
for( int i = 0; i < args->count(); i++ ) {
|
|
replayGainFiles.append(KURL::encode_string(args->arg(i)));
|
|
}
|
|
if(!replayGainFiles.isEmpty())
|
|
widget->openArgReplayGainFiles(replayGainFiles);
|
|
}
|
|
// else if( args->isSet( "repair" ) ) {
|
|
// TQStringList repairFiles;
|
|
// for( int i = 0; i < args->count(); i++ ) {
|
|
// repairFiles.append(TQFile::decodeName(args->arg(i)));
|
|
// }
|
|
// if(!repairFiles.isEmpty())
|
|
// widget->openArgRepairFiles(repairFiles);
|
|
// }
|
|
else {
|
|
TQStringList files;
|
|
for( int i = 0; i < args->count(); i++ )
|
|
{
|
|
files.append(KURL::encode_string(args->arg(i)));
|
|
}
|
|
if(!files.isEmpty())
|
|
widget->openArgFiles(files);
|
|
}
|
|
|
|
args->clear();
|
|
}
|
|
return 0;
|
|
}
|
|
|