void CharSelect::slot_insertUserSpecialChar(QChar ch, QString font) { if (!m_Item) return; PageItem_TextFrame *cItem; if (m_doc->appMode == modeEditTable) cItem = m_Item->asTable()->activeCell().textFrame(); else cItem = m_Item->asTextFrame(); if (cItem->HasSel) cItem->deleteSelectedTextFromFrame(); cItem->invalidateLayout(); // //CB: Avox please make text->insertchar(char) so none of this happens in gui code, and item can tell doc its changed so the view and mainwindow slotdocch are not necessary if (ch == QChar(10)) ch = QChar(13); if (ch == QChar(9)) ch = QChar(32); int pot = cItem->itemText.cursorPosition(); cItem->itemText.insertChars(ch, true); CharStyle nstyle = m_Item->itemText.charStyle(pot); nstyle.setFont((*m_doc->AllFonts)[font]); cItem->itemText.applyCharStyle(pot, 1, nstyle); m_doc->view()->DrawNew(); m_doc->changed(); }
void InlinePalette::handlePasteToItem() { PageItem* selItem = currDoc->m_Selection->itemAt(0); PageItem_TextFrame *currItem; if (selItem->isTable()) currItem = selItem->asTable()->activeCell().textFrame(); else currItem = selItem->asTextFrame(); if (currItem->HasSel) currItem->deleteSelectedTextFromFrame(); currItem->itemText.insertObject(actItem); if (selItem->isTable()) selItem->asTable()->update(); else currItem->update(); }
void CharSelect::slot_insertSpecialChar() { emit insertSpecialChar(); if (!m_Item) return; PageItem_TextFrame *cItem; if (m_doc->appMode == modeEditTable) cItem = m_Item->asTable()->activeCell().textFrame(); else cItem = m_Item->asTextFrame(); if (cItem->HasSel) cItem->deleteSelectedTextFromFrame(); cItem->invalidateLayout(); //CB: Avox please make text->insertchar(char) so none of this happens in gui code, and item can tell doc its changed so the view and mainwindow slotdocch are not necessary QChar ch; QString fontName = m_doc->currentStyle.charStyle().font().scName(); if (m_enhanced) fontName = m_enhanced->getUsedFont(); for (int a=0; a<chToIns.length(); ++a) { ch = chToIns.at(a); if (ch == QChar(10)) ch = QChar(13); if (ch == QChar(9)) ch = QChar(32); int pot = cItem->itemText.cursorPosition(); cItem->itemText.insertChars(ch, true); CharStyle nstyle = m_Item->itemText.charStyle(pot); nstyle.setFont((*m_doc->AllFonts)[fontName]); cItem->itemText.applyCharStyle(pot, 1, nstyle); } m_doc->view()->DrawNew(); m_doc->changed(); // delEdit(); }