bool EvaScriptManager::qt_invoke( int _id, QUObject* _o ) { switch ( _id - staticMetaObject()->slotOffset() ) { case 0: slotCurrentChanged((QListViewItem*)static_QUType_ptr.get(_o+1)); break; case 1: static_QUType_bool.set(_o,slotInstallScript()); break; case 2: static_QUType_bool.set(_o,slotInstallScript((const QString&)static_QUType_QString.get(_o+1))); break; case 3: slotUninstallScript(); break; case 4: static_QUType_bool.set(_o,slotRunScript()); break; case 5: static_QUType_bool.set(_o,slotRunScript((bool)static_QUType_bool.get(_o+1))); break; case 6: slotStopScript(); break; case 7: slotConfigureScript(); break; case 8: slotAboutScript(); break; case 9: slotShowContextMenu((QListViewItem*)static_QUType_ptr.get(_o+1),(const QPoint&)*((const QPoint*)static_QUType_ptr.get(_o+2))); break; case 10: slotReceivedStdout((KProcess*)static_QUType_ptr.get(_o+1),(char*)static_QUType_charstar.get(_o+2),(int)static_QUType_int.get(_o+3)); break; case 11: slotReceivedStderr((KProcess*)static_QUType_ptr.get(_o+1),(char*)static_QUType_charstar.get(_o+2),(int)static_QUType_int.get(_o+3)); break; case 12: scriptFinished((KProcess*)static_QUType_ptr.get(_o+1)); break; default: return KDialogBase::qt_invoke( _id, _o ); } return TRUE; }
ScriptManager::ScriptManager( QWidget *parent, const char *name ) : KDialogBase( parent, name, false, QString::null, Close, Close, true ) , EngineObserver( EngineController::instance() ) , m_gui( new ScriptManagerBase( this ) ) { DEBUG_BLOCK s_instance = this; kapp->setTopWidget( this ); setCaption( kapp->makeStdCaption( i18n( "Script Manager" ) ) ); // Gives the window a small title bar, and skips a taskbar entry KWin::setType( winId(), NET::Utility ); KWin::setState( winId(), NET::SkipTaskbar ); setMainWidget( m_gui ); m_gui->listView->setRootIsDecorated( true ); m_gui->listView->setFullWidth( true ); m_gui->listView->setShowSortIndicator( true ); /// Category items m_generalCategory = new KListViewItem( m_gui->listView, i18n( "General" ) ); m_lyricsCategory = new KListViewItem( m_gui->listView, i18n( "Lyrics" ) ); m_scoreCategory = new KListViewItem( m_gui->listView, i18n( "Score" ) ); m_transcodeCategory = new KListViewItem( m_gui->listView, i18n( "Transcoding" ) ); m_generalCategory ->setSelectable( false ); m_lyricsCategory ->setSelectable( false ); m_scoreCategory ->setSelectable( false ); m_transcodeCategory->setSelectable( false ); m_generalCategory ->setPixmap( 0, SmallIcon( amaroK::icon( "files" ) ) ); m_lyricsCategory ->setPixmap( 0, SmallIcon( amaroK::icon( "files" ) ) ); m_scoreCategory ->setPixmap( 0, SmallIcon( amaroK::icon( "files" ) ) ); m_transcodeCategory->setPixmap( 0, SmallIcon( amaroK::icon( "files" ) ) ); connect( m_gui->listView, SIGNAL( currentChanged( QListViewItem* ) ), SLOT( slotCurrentChanged( QListViewItem* ) ) ); connect( m_gui->listView, SIGNAL( doubleClicked ( QListViewItem*, const QPoint&, int ) ), SLOT( slotRunScript() ) ); connect( m_gui->listView, SIGNAL( rightButtonPressed ( QListViewItem*, const QPoint&, int ) ), SLOT( slotShowContextMenu( QListViewItem*, const QPoint& ) ) ); connect( m_gui->installButton, SIGNAL( clicked() ), SLOT( slotInstallScript() ) ); connect( m_gui->retrieveButton, SIGNAL( clicked() ), SLOT( slotRetrieveScript() ) ); connect( m_gui->uninstallButton, SIGNAL( clicked() ), SLOT( slotUninstallScript() ) ); connect( m_gui->runButton, SIGNAL( clicked() ), SLOT( slotRunScript() ) ); connect( m_gui->stopButton, SIGNAL( clicked() ), SLOT( slotStopScript() ) ); connect( m_gui->configureButton, SIGNAL( clicked() ), SLOT( slotConfigureScript() ) ); connect( m_gui->aboutButton, SIGNAL( clicked() ), SLOT( slotAboutScript() ) ); m_gui->installButton ->setIconSet( SmallIconSet( amaroK::icon( "files" ) ) ); m_gui->retrieveButton ->setIconSet( SmallIconSet( amaroK::icon( "download" ) ) ); m_gui->uninstallButton->setIconSet( SmallIconSet( amaroK::icon( "remove" ) ) ); m_gui->runButton ->setIconSet( SmallIconSet( amaroK::icon( "play" ) ) ); m_gui->stopButton ->setIconSet( SmallIconSet( amaroK::icon( "stop" ) ) ); m_gui->configureButton->setIconSet( SmallIconSet( amaroK::icon( "configure" ) ) ); m_gui->aboutButton ->setIconSet( SmallIconSet( amaroK::icon( "info" ) ) ); QSize sz = sizeHint(); setMinimumSize( kMax( 350, sz.width() ), kMax( 250, sz.height() ) ); resize( sizeHint() ); connect( this, SIGNAL(lyricsScriptChanged()), ContextBrowser::instance(), SLOT( lyricsScriptChanged() ) ); // Delay this call via eventloop, because it's a bit slow and would block QTimer::singleShot( 0, this, SLOT( findScripts() ) ); }