void Moto::initGui() { ui.statusbar->showMessage( "Press F1 for help" ); ui.speed_msr->setLabel( "x100" ); ui.software->setEnabled( false ); slotClosed(); lockConfig(); loadSettings(); connect( this, SIGNAL(sigSpeed()), this, SLOT(slotSpeed()) ); connect( this, SIGNAL(sigStatus()), this, SLOT(slotStatus()) ); connect( this, SIGNAL(sigConfig()), this, SLOT(slotConfig()) ); connect( this, SIGNAL(sigOpened()), this, SLOT(slotOpened()) ); connect( this, SIGNAL(sigClosed()), this, SLOT(slotClosed()) ); // Binding GUI controls. connect( ui.throttle, SIGNAL(valueChanged(int)), this, SLOT(slotThrottleChanged(int)) ); connect( ui.speed, SIGNAL(valueChanged(int)), this, SLOT(slotSpeedChanged(int)) ); connect( ui.direction, SIGNAL(currentIndexChanged(int)), this, SLOT(slotDirectionChanged(int)) ); connect( ui.unlock, SIGNAL(clicked()), this, SLOT(slotUnlock()) ); connect( ui.apply, SIGNAL(clicked()), this, SLOT(slotApply()) ); connect( ui.help, SIGNAL(triggered()), this, SLOT(slotHelp()) ); m_speedTimer = new QTimer(); m_statusTimer = new QTimer(); connect( m_speedTimer, SIGNAL(timeout()), this, SLOT(slotSpeedTimeout()) ); connect( m_statusTimer, SIGNAL(timeout()), this, SLOT(slotStatusTimeout()) ); m_speedTimer->setInterval( 100 ); m_statusTimer->setInterval( 1000 ); m_speedTimer->start(); m_statusTimer->start(); }
LuaMachine::LuaMachine( QXmppPeer * parent, TInit init ) : QObject( parent ) { pd = new PD( this, init ); pd->client = parent; connect( this, SIGNAL(sigPrint(QString)), this, SLOT(slotPrint(QString)), Qt::QueuedConnection ); connect( this, SIGNAL(sigStatus(QString, QString)), this, SLOT(slotStatus(QString, QString)), Qt::QueuedConnection ); connect( this, SIGNAL(sigProcess(QString)), this, SLOT(slotProcess(QString)), Qt::QueuedConnection ); connect( pd->client, SIGNAL(textmsg(QString)), this, SLOT(qxmppMessageReceived(QString)), Qt::QueuedConnection ); }
void DebuggerManager::slotNewProjectLoaded(const QString &projectname, const KURL &, const KURL &) { if(m_client) { disconnect(m_client, SIGNAL(updateStatus(DebuggerUI::DebuggerStatus)), m_debuggerui, SLOT(slotStatus(DebuggerUI::DebuggerStatus))); delete m_client; m_client = NULL; } enableAction("*", false); // Remove all breakpoints m_breakpointList->clear(); if(m_debuggerui) { delete m_debuggerui; m_debuggerui = NULL; } //kdDebug(24002) << "DebuggerManager::slotNewProjectLoaded " << projectname << ", " << Project::ref()->debuggerClient << endl; // Load new client if(!projectname.isEmpty()) { KTrader::OfferList offers = KTrader::self()->query("Quanta/Debugger"); KTrader::OfferList::ConstIterator iterDbg; for(iterDbg = offers.begin(); iterDbg != offers.end(); ++iterDbg) { KService::Ptr service = *iterDbg; if(Project::ref()->debuggerClient() == service->name()) { int errCode = 0; //Workaround for dynamic_cast not working correctly on SUSE 10, gcc 4.0.2 //The correct way should be a simple: // m_client = KParts::ComponentFactory::createInstanceFromService<DebuggerClient>(service, this, 0, QStringList(), &errCode); QObject* obj = KParts::ComponentFactory::createInstanceFromService<QObject>(service, this, 0, QStringList(), &errCode); if (obj && obj->inherits("DebuggerClient")) m_client = static_cast<DebuggerClient *>(obj); //kdDebug(24002) << service->name() << " (" << m_client << ")" << endl; if(!m_client) { emit hideSplash(); KMessageBox::error(NULL, i18n("<qt>Unable to load the debugger plugin, error code %1 was returned: <b>%2</b>.</qt>").arg(errCode).arg(KLibLoader::self()->lastErrorMessage()), i18n("Debugger Error")); } break; } } } // Tell client to load its settings if (m_client) { QDomNode nodeThisDbg; QDomDocument *dom = Project::ref()->sessionDom(); QDomNode projectNode = dom->firstChild().firstChild(); QDomNode nodeDbg = projectNode.namedItem("debuggers"); if(nodeDbg.isNull()) { nodeDbg = dom->createElement("debuggers"); projectNode.appendChild(nodeDbg); } // Load this project's mapped paths m_pathmapper->readConfig(); // Load this projects debugger's settings nodeThisDbg = nodeDbg.namedItem(m_client->getName()); if(nodeThisDbg.isNull()) { nodeThisDbg = dom->createElement(m_client->getName()); nodeDbg.appendChild(nodeThisDbg); } m_client->readConfig(nodeThisDbg); // recreate UI m_debuggerui = new DebuggerUI(this, "debuggerui"); connect(m_client, SIGNAL(updateStatus(DebuggerUI::DebuggerStatus)), m_debuggerui, SLOT(slotStatus(DebuggerUI::DebuggerStatus))); // Load saved breakpoints if(Project::ref()->debuggerPersistentBreakpoints()) { QDomNode nodeBreakpoints = nodeDbg.namedItem("breakpoints"); if(!nodeBreakpoints.isNull()) { QDomNode child = nodeBreakpoints.firstChild(); while(!child.isNull()) { DebuggerBreakpoint* bp = new DebuggerBreakpoint(); bp->setFilePath( child.attributes().namedItem("filepath").nodeValue()); bp->setClass( child.attributes().namedItem("class").nodeValue()); bp->setFunction( child.attributes().namedItem("function").nodeValue()); bp->setCondition( child.attributes().namedItem("condition").nodeValue()); bp->setLine( child.attributes().namedItem("line").nodeValue().toLong()); if(child.attributes().namedItem("type").nodeValue() == "true") bp->setType(DebuggerBreakpoint::ConditionalTrue); else if(child.attributes().namedItem("type").nodeValue() == "change") bp->setType(DebuggerBreakpoint::ConditionalChange); else bp->setType(DebuggerBreakpoint::LineBreakpoint); // Update client and ui m_client->addBreakpoint(bp); m_breakpointList->add(bp); // loop child = child.nextSibling(); } } } // Load saved Watches if(Project::ref()->debuggerPersistentWatches()) { QDomNode nodeWatches = nodeDbg.namedItem("watches"); if(!nodeWatches.isNull()) { QDomNode child = nodeWatches.firstChild(); while(!child.isNull()) { QString watch = child.attributes().namedItem("name").nodeValue(); DebuggerVariable *var = new DebuggerVariable(watch, "", DebuggerVariableTypes::Undefined); m_debuggerui->addVariable(var); m_client->addWatch(watch); child = child.nextSibling(); } } } } initClientActions(); // Disable all debugactions that need a session (ie not breakpoints, etc) slotDebugStartSession(); }
DebuggerManager::~DebuggerManager() { delete m_breakpointList; m_breakpointList = 0L; if(m_client) { disconnect(m_client, SIGNAL(updateStatus(DebuggerUI::DebuggerStatus)), m_debuggerui, SLOT(slotStatus(DebuggerUI::DebuggerStatus))); delete m_client; m_client = 0L; } delete m_debuggerui; m_debuggerui = 0L; delete m_interface; m_interface = 0L; delete m_pathmapper; m_pathmapper = 0L; }
MainWnd::MainWnd( QWidget * parent ) : QMainWindow( parent ) { ui.setupUi( this ); connect( this, SIGNAL(sigLog(const QString &)), this, SLOT(slotLog(const QString &)), Qt::QueuedConnection ); connect( ui.console, SIGNAL(line_validate(const QString &)), this, SLOT(slotSend(const QString &)), Qt::QueuedConnection ); QObject::connect( ui.clearLog, SIGNAL(triggered()), this, SLOT(slotClearLog()) ); QObject::connect( ui.dontSleep, SIGNAL(triggered()), this, SLOT(slotDontSleep()) ); QObject::connect( ui.showFullLog, SIGNAL(triggered()), this, SLOT(slotShowFullLog()) ); QObject::connect( ui.queryStatus, SIGNAL(triggered()), this, SLOT(slotStatus()) ); QObject::connect( ui.queryOsc, SIGNAL(triggered()), this, SLOT(slotOsc()) ); QObject::connect( ui.shutdown, SIGNAL(triggered()), this, SLOT(slotShutdown()) ); QObject::connect( ui.setupPipe, SIGNAL(triggered()), this, SLOT(slotSetupPipe()) ); QObject::connect( ui.lightBtn, SIGNAL(clicked()), this, SLOT(slotLight()) ); QObject::connect( ui.motoEnBtn, SIGNAL(clicked()), this, SLOT(slotMotoEn()) ); QObject::connect( ui.fwdBtn, SIGNAL(pressed()), this, SLOT(slotForward()) ); QObject::connect( ui.bwdBtn, SIGNAL(pressed()), this, SLOT(slotBackward()) ); QObject::connect( ui.leftBtn, SIGNAL(pressed()), this, SLOT(slotLeft()) ); QObject::connect( ui.rightBtn, SIGNAL(pressed()), this, SLOT(slotRight()) ); QObject::connect( ui.fwdBtn, SIGNAL(released()), this, SLOT(slotStop()) ); QObject::connect( ui.bwdBtn, SIGNAL(released()), this, SLOT(slotStop()) ); QObject::connect( ui.leftBtn, SIGNAL(released()), this, SLOT(slotStop()) ); QObject::connect( ui.rightBtn, SIGNAL(released()), this, SLOT(slotStop()) ); QObject::connect( ui.showFullLog, SIGNAL(triggered()), this, SLOT(slotShowFullLog()) ); m_peer = new QXmppPeer( this ); QObject::connect( m_peer, SIGNAL(connected()), this, SLOT(slotConnected()) ); QObject::connect( m_peer, SIGNAL(disconnected()), this, SLOT(slotDisconnected()) ); QObject::connect( m_peer, SIGNAL(textmsg(QString)), this, SLOT(qxmppMessageReceived(QString)) ); m_video = new QXmppVideo( m_peer ); // It also connects frameReady() signal to an appropriate slot. ui.view->setVideo( m_video ); this->setCentralWidget( ui.view ); QSettings ini( CONFIG_FILE, QSettings::IniFormat ); ini.beginGroup( "main" ); QString selfJid = ini.value( "selfJid", "client@xmpp" ).toString(); QString destJid = ini.value( "destJid", "host@xmpp" ).toString(); QString password = ini.value( "password", "12345" ).toString(); QString host = ini.value( "host", QString() ).toString(); int port = ini.value( "port", -1 ).toInt(); bool tls = ini.value( "tls", true ).toBool(); bool updateDest = ini.value( "updateDest", true ).toBool(); m_peer->setTarget( destJid, updateDest ); m_video->setTarget( destJid ); m_peer->connect( selfJid, password, host, port, tls ); m_jidDest = destJid; m_pipe = new QXmppMsgPipe( m_peer, 1 ); m_pipe->setOutPipe( m_jidDest, 1234, 22, "localhost" ); m_dontSleepTimer = new QTimer( this ); m_dontSleepTimer->setInterval( 15000 ); QObject::connect( m_dontSleepTimer, SIGNAL(timeout()), this, SLOT(slotDontSleepTimeout()) ); }