#include "tdemid_part.h" #include #include #include #include #include #include #include #include "tdemidclient.h" #include #include K_EXPORT_COMPONENT_FACTORY( libtdemidpart, KMidFactory ) /** * We need one static instance of the factory for our C 'main' * function */ TDEInstance *KMidFactory::s_instance = 0L; KMidFactory::KMidFactory() { s_instance=0L; } KMidFactory::~KMidFactory() { if (s_instance) { delete s_instance->aboutData(); delete s_instance; } s_instance = 0; } KParts::Part *KMidFactory::createPartObject(TQWidget *parentWidget, const char *widgetName, TQObject *parent, const char *name, const char*, const TQStringList& ) { KParts::Part *obj = new KMidPart(parentWidget, widgetName, parent, name); return obj; } TDEAboutData *KMidFactory::aboutData() { TDEAboutData *aboutdata = new TDEAboutData("tdemid", "TDEMid", "2.0", I18N_NOOP("MIDI/Karaoke file player"), TDEAboutData::License_GPL, I18N_NOOP("(c) 1997,98,99,2000, Antonio Larrosa Jimenez"),"", "http://perso.wanadoo.es/antlarr/tdemid.html"); aboutdata->addAuthor("Antonio Larrosa Jimenez", I18N_NOOP("Original Developer/Maintainer"),"larrosa@kde.org", "http://perso.wanadoo.es/antlarr/index.html"); return aboutdata; } TDEInstance *KMidFactory::instance() { if ( !s_instance ) s_instance = new TDEInstance( aboutData() ); return s_instance; } KMidPart::KMidPart(TQWidget *parentWidget, const char *widgetName, TQObject *parent, const char *name) : KParts::ReadOnlyPart(parent, name) { setInstance(KMidFactory::instance()); widget = new tdemidClient(parentWidget, actionCollection()); widget->show(); widget->setFocusPolicy(TQ_ClickFocus); setWidget(widget); // create and connect our actions (void)new TDEAction(i18n("Play"), "media-playback-start", 0, this, TQT_SLOT(slotPlay()), actionCollection(), "play"); (void)new TDEAction(i18n("Stop"), "media-playback-stop", 0, this, TQT_SLOT(slotStop()), actionCollection(), "stop"); (void)new TDEAction(i18n("Backward"), "2leftarrow", 0, this, TQT_SLOT(slotBackward()), actionCollection(), "backward"); (void)new TDEAction(i18n("Forward"), "2rightarrow", 0, this, TQT_SLOT(slotForward()), actionCollection(), "forward"); m_extension = new KMidBrowserExtension(this); setXMLFile("tdemid_partui.rc"); } KMidPart::~KMidPart() { } bool KMidPart::openFile() { widget->openURL(m_file); widget->stop(); widget->show(); TQTimer::singleShot(2000, this, TQT_SLOT(slotPlay())); return true; } bool KMidPart::closeURL() { slotStop(); return true; } void KMidPart::slotPlay() { widget->stop(); widget->play(); } void KMidPart::slotStop() { widget->stop(); } KMidBrowserExtension::KMidBrowserExtension(KMidPart *parent) : KParts::BrowserExtension(parent, "KMidBrowserExtension") { } KMidBrowserExtension::~KMidBrowserExtension() { } #include "tdemid_part.moc"