void OutlinePalette::slotSelect(QTreeWidgetItem* ite, int col) { if (!m_MainWindow || m_MainWindow->scriptIsRunning()) return; selectionTriggered = true; OutlineTreeItem *item = (OutlineTreeItem*)ite; uint pg = 0; PageItem *pgItem = NULL; switch (item->type) { case 0: emit selectMasterPage(item->PageObject->pageName()); break; case 1: if (!currDoc->masterPageMode()) emit selectMasterPage(item->PageItemObject->OnMasterPage); if (item->PageItemObject->Groups.count() == 0) emit selectElement(-1, item->PageItemObject->ItemNr, false); else { if (item->PageItemObject->isGroupControl) emit selectElement(-1, item->PageItemObject->ItemNr, false); else emit selectElement(-1, item->PageItemObject->ItemNr, true); } break; case 2: pg = item->PageObject->pageNr(); m_MainWindow->closeActiveWindowMasterPageEditor(); emit selectPage(pg); break; case 3: case 4: pgItem = item->PageItemObject; m_MainWindow->closeActiveWindowMasterPageEditor(); if (pgItem->Groups.count() == 0) emit selectElement(pgItem->OwnPage, pgItem->ItemNr, false); else { if (pgItem->isGroupControl) emit selectElement(pgItem->OwnPage, pgItem->ItemNr, false); else emit selectElement(pgItem->OwnPage, pgItem->ItemNr, true); } break; default: break; } selectionTriggered = false; }
void CheckDocument::slotSelect(QTreeWidgetItem* ite) { if (itemMap.contains(ite)) { // #10537 Check item has not been destroyed before requesting its selection if (itemMap[ite].isNull()) return; ScCore->primaryMainWindow()->closeActiveWindowMasterPageEditor(); m_Doc->setActiveLayer(itemMap[ite]->LayerNr); ScCore->primaryMainWindow()->changeLayer(m_Doc->activeLayer()); emit selectElement(itemMap[ite]->OwnPage, itemMap[ite]->ItemNr); return; } if (pageMap.contains(ite)) { // #10537 Get page index from pointer in case user has deleted a page // after preflight has been run int pageIndex = m_Doc->DocPages.indexOf(pageMap[ite]); if (pageIndex < 0) return; ScCore->primaryMainWindow()->closeActiveWindowMasterPageEditor(); emit selectPage(pageIndex); return; } if (masterPageMap.contains(ite)) { // #10537 Get page index from pointer in case user has deleted a page // after preflight has been run int pageIndex = m_Doc->MasterPages.indexOf(masterPageMap[ite]); if (pageIndex < 0) return; emit selectMasterPage(masterPageMap[ite]->pageName()); return; } if (masterPageItemMap.contains(ite)) { // #10537 Check item has not been destroyed before requesting its selection if (masterPageItemMap[ite].isNull()) return; if (!m_Doc->masterPageMode()) emit selectMasterPage(masterPageItemMap[ite]->OnMasterPage); m_Doc->setActiveLayer(masterPageItemMap[ite]->LayerNr); ScCore->primaryMainWindow()->changeLayer(m_Doc->activeLayer()); emit selectElement(-1, masterPageItemMap[ite]->ItemNr); return; } }