コード例 #1
0
ファイル: docengine.cpp プロジェクト: aadityakalsi/notepadqq
void docengine::documentChanged(QString fileName)
{
    removeDocument(fileName);
    QTabWidgetqq *tabWidget = MainWindow::instance()->container->focusQTabWidgetqq();
    int x = isDocumentOpen(fileName);

    //Don't bother continuing if we can't find the document in one of the open tabs.... though this should never happen
    if(x == -1) {
        removeDocument(fileName);
        return;
    }

    QFile file(fileName);
    bool  fileExisted = file.exists();

    QMessageBox msgBox;
    msgBox.setWindowTitle(MainWindow::instance()->windowTitle());
    msgBox.setIcon(QMessageBox::Critical);
    if(fileExisted) {
        msgBox.setText(tr("The file \"%1\" has been changed outside of the editor.  Would you like to reload it?").arg(fileName));
    }else {
        msgBox.setText(tr("The file \"%1\" has been removed from the file system.  Would you like to save it now?").arg(fileName));
    }
    msgBox.setStandardButtons(QMessageBox::Yes | QMessageBox::No | QMessageBox::Close);
    msgBox.setDefaultButton(QMessageBox::Yes);

    int ret = msgBox.exec();
    if(ret == QMessageBox::No) {
        return;
    }else if(ret == QMessageBox::Close) {

        if(x != -1) {
            MainWindow::instance()->kindlyTabClose(tabWidget->QSciScintillaqqAt(x));
        }
        return;
    }

    //If the file exists, we try to reload it, otherwise save it back to disk.
    if(fileExisted) {
        loadDocuments(QStringList(fileName),MainWindow::instance()->container->focusQTabWidgetqq(),true);
    }else {
        saveDocument(tabWidget->QSciScintillaqqAt(x),fileName);
    }
    addDocument(fileName);
}
コード例 #2
0
ファイル: streewidget.cpp プロジェクト: sergey4475/SProject
void sTreeWidget::loadTree(XMLProc *xml,int mdc){
    p_xml = xml;
    if (mdc == mdc_metadata){
    // Загрузка метаданных
    md = p_xml->find(mdc_metadata);
    if (!md.isNull()){

        // Справочники
        p_xItem = p_xml->find(md,md_spravochniki,0);

        if(p_xItem.isNull()){
            p_xml->insert(md,md_spravochniki,QString::null,-1);
        }
        sTreeWidgetItem *el = new sTreeWidgetItem(QObject::tr("Справочники"),p_xItem);
        addTopLevelItem(el);
        loadSpravichniki(p_xItem,el);

        // Документы
        p_xItem = p_xml->find(md,md_documents,0);

        if(p_xItem.isNull()){
            p_xml->insert(md,md_documents,QString::null,-1);
            p_xItem = p_xml->find(md,md_documents,0);
        }
        sTreeWidgetItem *docs = new sTreeWidgetItem(QObject::tr("Документы"),p_xItem);
        addTopLevelItem(docs);
        loadDocuments(p_xItem,docs);

        //Регистры
        p_xItem = p_xml->find(md,md_registers,0);
        if(p_xItem.isNull()){
            p_xml->insert(md,md_registers,QString::null,-1);
            p_xItem = p_xml->find(md,md_registers,0);
        }
        addTopLevelItem(new sTreeWidgetItem(QObject::tr("Регистры"),p_xItem));
    }
    }

    if (mdc == mdc_interface){
    // Загрузка дерева интерфейса
    iface = p_xml->find(mdc_interface);
    if (!iface.isNull()){
        QString name, type, title, image;
        xmlItem ifTabs  = p_xml->findChild(iface,md_tabs);
        xmlItem tabItem;
        // обходим разделы tabs
        while (!ifTabs.isNull()){
            sTreeWidgetItem *grIface = new sTreeWidgetItem(QObject::tr("Разделы меню"),ifTabs);
            addTopLevelItem(grIface);
            tabItem = p_xml->find(ifTabs,md_tab);
            // обходим все вкладки (tab)
            while(!tabItem.isNull()){
                name = p_xml->attr(tabItem,mda_name);
                type = p_xml->attr(tabItem,mda_type);
                title = p_xml->attr(tabItem,mda_title);
                image = p_xml->attr(tabItem,mda_image);
                sTreeWidgetItem *tab = new sTreeWidgetItem(title,ifTabs);
                grIface->addChild(tab);
                // Группы меню
                xmlItem lMenu = p_xml->findChild(tabItem,md_left_menu);
                xmlItem grMenu= p_xml->findChild(lMenu,md_group);
                while (!grMenu.isNull()){
                    title = p_xml->attr(grMenu,mda_title);
                    sTreeWidgetItem *grM = new sTreeWidgetItem(title,grMenu);
                    tab->addChild(grM);
                    grMenu = p_xml->nextSibling(grMenu);
                }
                tabItem = p_xml->nextSibling(tabItem);
            }
            ifTabs = p_xml->nextSibling(ifTabs);
        }
    }
    }
}