示例#1
0
文件: k3bmixeddoc.cpp 项目: KDE/k3b
bool K3b::MixedDoc::saveDocumentData( QDomElement* docElem )
{
    QDomDocument doc = docElem->ownerDocument();
    saveGeneralDocumentData( docElem );

    QDomElement audioElem = doc.createElement( "audio" );
    m_audioDoc->saveDocumentData( &audioElem );
    docElem->appendChild( audioElem );

    QDomElement dataElem = doc.createElement( "data" );
    m_dataDoc->saveDocumentData( &dataElem );
    docElem->appendChild( dataElem );

    QDomElement mixedElem = doc.createElement( "mixed" );
    docElem->appendChild( mixedElem );

    QDomElement bufferFilesElem = doc.createElement( "remove_buffer_files" );
    bufferFilesElem.appendChild( doc.createTextNode( removeImages() ? "yes" : "no" ) );
    mixedElem.appendChild( bufferFilesElem );

    QDomElement imagePathElem = doc.createElement( "image_path" );
    imagePathElem.appendChild( doc.createTextNode( tempDir() ) );
    mixedElem.appendChild( imagePathElem );

    QDomElement mixedTypeElem = doc.createElement( "mixed_type" );
    switch( mixedType() ) {
    case DATA_FIRST_TRACK:
        mixedTypeElem.appendChild( doc.createTextNode( "first_track" ) );
        break;
    case DATA_LAST_TRACK:
        mixedTypeElem.appendChild( doc.createTextNode( "last_track" ) );
        break;
    case DATA_SECOND_SESSION:
        mixedTypeElem.appendChild( doc.createTextNode( "second_session" ) );
        break;
    }
    mixedElem.appendChild( mixedTypeElem );

    setModified( false );

    return true;
}
示例#2
0
void TimeLapseWidget::stopPressed() {

    stopShooting();

    // Only ask about the movie if there are any pictures to make into a movie
    if (numPics>0) {
        QMessageBox msgBox;
        msgBox.setText(tr("%1 images were taken before \"Stop\" was pressed.\n").arg(numPics));
        msgBox.setInformativeText(tr("Do you want to make a movie with these images?"));

        // msgBox.setStandardButtons(QMessageBox::Yes | QMessageBox::No);
        QPushButton *yesButton = msgBox.addButton(QMessageBox::Yes);
        msgBox.addButton(QMessageBox::No);
        QPushButton *noAndDeleteButton = msgBox.addButton(tr("No, and delete images"), QMessageBox::ActionRole);

        msgBox.exec();

        if (msgBox.clickedButton() == yesButton) {
            makeMovie();
        } else if (msgBox.clickedButton() == noAndDeleteButton) {
            removeImages();
        }
    }
}
示例#3
0
bool JabberClient::send(Message *msg, void *_data)
{
    if ((getState() != Connected) || (_data == NULL))
        return false;
    JabberUserData *data = (JabberUserData*)_data;
    switch (msg->type()){
    case MessageAuthRefused:{
            string grp;
            Group *group = NULL;
            Contact *contact = getContacts()->contact(msg->contact());
            if (contact && contact->getGroup())
                group = getContacts()->group(contact->getGroup());
            if (group)
                grp = group->getName().utf8();
            listRequest(data, data->Name, grp.c_str(), false);
            if (data->Subscribe & SUBSCRIBE_FROM){
                m_socket->writeBuffer.packetStart();
                m_socket->writeBuffer
                << "<presence to=\""
                << data->ID;
                m_socket->writeBuffer
                << "\" type=\"unsubscribed\"><status>"
                << (const char*)(quoteString(msg->getPlainText(), false).utf8())
                << "</status></presence>";
                sendPacket();
                if ((msg->getFlags() & MESSAGE_NOHISTORY) == 0){
                    msg->setClient(dataName(data).c_str());
                    Event e(EventSent, msg);
                    e.process();
                }
                Event e(EventMessageSent, msg);
                e.process();
                delete msg;
                return true;
            }
        }
    case MessageGeneric:{
            Contact *contact = getContacts()->contact(msg->contact());
            if ((contact == NULL) || (data == NULL))
                return false;
            m_socket->writeBuffer.packetStart();
            m_socket->writeBuffer
            << "<message type=\"chat\" to=\""
            << data->ID;
            m_socket->writeBuffer
            << "\"><body>"
            << (const char*)msg->getPlainText().utf8()
            << "</body>";
			if (data->richText){
				char bgColor[8];
				sprintf(bgColor, "%06X", msg->getBackground() & 0xFFFFFF);
				m_socket->writeBuffer
					<< "<html xmlns='http://jabber.org/protocol/xhtml-im'>"
					<< "<body bgcolor=\"#" << bgColor << "\">"
					<< removeImages(msg->getRichText()).utf8()
					<< "</body></html>";
			}
            m_socket->writeBuffer
			<< "</message>";
            sendPacket();
            if ((msg->getFlags() & MESSAGE_NOHISTORY) == 0){
                msg->setClient(dataName(data).c_str());
                Event e(EventSent, msg);
                e.process();
            }
            Event e(EventMessageSent, msg);
            e.process();
            delete msg;
            return true;
        }
    case MessageAuthRequest:{
            m_socket->writeBuffer.packetStart();
            m_socket->writeBuffer
            << "<presence to=\""
            << data->ID;
            m_socket->writeBuffer
            << "\" type=\"subscribe\"><status>"
            << (const char*)(quoteString(msg->getPlainText(), false).utf8())
            << "</status></presence>";
            sendPacket();
            if ((msg->getFlags() & MESSAGE_NOHISTORY) == 0){
                msg->setClient(dataName(data).c_str());
                Event e(EventSent, msg);
                e.process();
            }
            Event e(EventMessageSent, msg);
            e.process();
            delete msg;
            return true;
        }
    case MessageAuthGranted:{
            m_socket->writeBuffer.packetStart();
            m_socket->writeBuffer
            << "<presence to=\""
            << data->ID;
            m_socket->writeBuffer
            << "\" type=\"subscribed\"></presence>";
            sendPacket();
            if ((msg->getFlags() & MESSAGE_NOHISTORY) == 0){
                msg->setClient(dataName(data).c_str());
                Event e(EventSent, msg);
                e.process();
            }
            Event e(EventMessageSent, msg);
            e.process();
            delete msg;
            return true;
        }
    case MessageJabberOnline:
        if (isAgent(data->ID) && (data->Status == STATUS_OFFLINE)){
            m_socket->writeBuffer.packetStart();
            m_socket->writeBuffer
            << "<presence to=\""
            << data->ID
            << "\"></presence>";
            sendPacket();
            delete msg;
            return true;
        }
        break;
    case MessageJabberOffline:
        if (isAgent(data->ID) && (data->Status != STATUS_OFFLINE)){
            m_socket->writeBuffer.packetStart();
            m_socket->writeBuffer
            << "<presence to=\""
            << data->ID
            << "\" type=\"unavailable\"></presence>";
            sendPacket();
            delete msg;
            return true;
        }
        break;
    case MessageTypingStart:
        if (getTyping()){
            data->composeId = ++m_msg_id;
            string msg_id = "msg";
            msg_id += number(data->composeId);
            m_socket->writeBuffer.packetStart();
            m_socket->writeBuffer
            << "<message to=\""
            << data->ID
            << "\"><x xmlns='jabber:x:event'><composing/><id>"
            << msg_id.c_str()
            << "</id></x></message>";
            sendPacket();
            delete msg;
            return true;
        }
        break;
    case MessageTypingStop:
        if (getTyping()){
            if (data->composeId == 0)
                return false;
            string msg_id = "msg";
            msg_id += number(data->composeId);
            m_socket->writeBuffer.packetStart();
            m_socket->writeBuffer
            << "<message to=\""
            << data->ID
            << "\"><x xmlns='jabber:x:event'><id>"
            << msg_id.c_str()
            << "</id></x></message>";
            sendPacket();
            delete msg;
            return true;
        }
        break;
    }
    return false;
}
void SamaelMainWindow::createWidgets()
{
  QObject::connect(m_computationManager, SIGNAL(getClassNames(std::vector<std::string>&)), m_imageDataBase, SLOT(getClassNames(std::vector<std::string>&)));
  QObject::connect(m_computationManager, SIGNAL(getTrainingImages(std::map<std::string, std::vector<SamaelImage*>>&)), m_imageDataBase, SLOT(getTrainingImages(std::map<std::string, std::vector<SamaelImage*>>&)));
  QObject::connect(m_computationManager, SIGNAL(getClassifyImages(std::map<std::string, std::vector<SamaelImage*>>&)), m_imageDataBase, SLOT(getClassifyImages(std::map<std::string, std::vector<SamaelImage*>>&)));

  // Central Widget
  m_CentralWidget = new CentralWidget(this);

  // Viewer Widget
  this->setCentralWidget(m_CentralWidget);
  QObject::connect(m_computationManager, SIGNAL(displayMatrix(cv::Mat)), m_CentralWidget->getDataViewerWidget(), SLOT(displayMatrix(cv::Mat)));
  QObject::connect(m_computationManager, SIGNAL(setConfusionMatrixHeaderData(std::vector<std::string>&)), m_CentralWidget->getDataViewerWidget(), SLOT(setConfusionMatrixHeaderData(std::vector<std::string>&)));

  // Terminal Widget
  m_TerminalWidget->setParent(this);
  this->addDockWidget(Qt::BottomDockWidgetArea, m_TerminalWidget);

  // Tree Widget
  m_TreeWidget = new TreeWidget(this);
  this->addDockWidget(Qt::LeftDockWidgetArea, m_TreeWidget);
  QObject::connect(m_TreeWidget, SIGNAL(addImageToDatabase(std::string, SamaelImage*)), m_imageDataBase, SLOT(addImage(std::string, SamaelImage*)));
  QObject::connect(m_TreeWidget, SIGNAL(removeClassFromDatabase(std::string)), m_imageDataBase, SLOT(removeImages(std::string)));

  // Toolbox Widget
  m_ToolBox = new ToolBox(this);
  this->addDockWidget(Qt::RightDockWidgetArea, m_ToolBox);
  QObject::connect(m_ToolBox, SIGNAL(doClassification()), m_computationManager, SLOT(doClassification()));
}