Prefs_Hyphenator::Prefs_Hyphenator(QWidget* parent, ScribusDoc* doc) : Prefs_Pane(parent) { setupUi(this); QStringList languageList; LanguageManager::instance()->fillInstalledHyphStringList(&languageList); languageList.sort(); hyphLanguageComboBox->addItems( languageList ); exceptionAddButton->setIcon(QIcon(loadIcon("16/list-add.png"))); exceptionEditButton->setEnabled(false); exceptionRemoveButton->setIcon(QIcon(loadIcon("16/list-remove.png"))); exceptionRemoveButton->setEnabled(false); ignoreAddButton->setIcon(QIcon(loadIcon("16/list-add.png"))); ignoreEditButton->setEnabled(false); ignoreRemoveButton->setIcon(QIcon(loadIcon("16/list-remove.png"))); ignoreRemoveButton->setEnabled(false); connect(ignoreAddButton, SIGNAL(clicked()), this, SLOT(addToIgnoreList())); connect(ignoreEditButton, SIGNAL(clicked()), this, SLOT(editIgnoreListEntry())); connect(ignoreRemoveButton, SIGNAL(clicked()), this, SLOT(removeIgnoreListEntry())); connect(ignoreListWidget, SIGNAL(itemSelectionChanged()), this, SLOT(enableIgnoreButtons())); connect(exceptionAddButton, SIGNAL(clicked()), this, SLOT(addToExceptList())); connect(exceptionEditButton, SIGNAL(clicked()), this, SLOT(editExceptListEntry())); connect(exceptionRemoveButton, SIGNAL(clicked()), this, SLOT(removeExceptListEntry())); connect(exceptionListWidget, SIGNAL(itemSelectionChanged()), this, SLOT(enableExceptButtons())); }
QMenu * SimpleRichTextEdit::createContextMenu(const QPoint &mouseGlobalPos) { Qt::TextInteractionFlags interactionFlags = this->textInteractionFlags(); QTextDocument *document = this->document(); QTextCursor cursor = textCursor(); const bool showTextSelectionActions = (Qt::TextEditable | Qt::TextSelectableByKeyboard | Qt::TextSelectableByMouse) & interactionFlags; QMenu *menu = new QMenu(this); if(interactionFlags & Qt::TextEditable) { m_actions[Undo]->setEnabled(document->isUndoAvailable()); menu->addAction(m_actions[Undo]); m_actions[Redo]->setEnabled(document->isRedoAvailable()); menu->addAction(m_actions[Redo]); menu->addSeparator(); m_actions[Cut]->setEnabled(cursor.hasSelection()); menu->addAction(m_actions[Cut]); } if(showTextSelectionActions) { m_actions[Copy]->setEnabled(cursor.hasSelection()); menu->addAction(m_actions[Copy]); } if(interactionFlags & Qt::TextEditable) { #if !defined(QT_NO_CLIPBOARD) m_actions[Paste]->setEnabled(canPaste()); menu->addAction(m_actions[Paste]); #endif m_actions[Delete]->setEnabled(cursor.hasSelection()); menu->addAction(m_actions[Delete]); m_actions[Clear]->setEnabled(!document->isEmpty()); menu->addAction(m_actions[Clear]); if(m_insertUnicodeControlCharMenu && interactionFlags & Qt::TextEditable) { menu->addSeparator(); menu->addMenu(m_insertUnicodeControlCharMenu); } } if(showTextSelectionActions) { menu->addSeparator(); m_actions[SelectAll]->setEnabled(!document->isEmpty()); menu->addAction(m_actions[SelectAll]); } if(interactionFlags & Qt::TextEditable) { menu->addSeparator(); m_actions[ToggleBold]->setCheckable(true); m_actions[ToggleBold]->setChecked(fontBold()); menu->addAction(m_actions[ToggleBold]); m_actions[ToggleItalic]->setCheckable(true); m_actions[ToggleItalic]->setChecked(fontItalic()); menu->addAction(m_actions[ToggleItalic]); m_actions[ToggleUnderline]->setCheckable(true); m_actions[ToggleUnderline]->setChecked(fontUnderline()); menu->addAction(m_actions[ToggleUnderline]); m_actions[ToggleStrikeOut]->setCheckable(true); m_actions[ToggleStrikeOut]->setChecked(fontStrikeOut()); menu->addAction(m_actions[ToggleStrikeOut]); menu->addAction(m_actions[ChangeTextColor]); menu->addSeparator(); m_actions[CheckSpelling]->setEnabled(!document->isEmpty()); menu->addAction(m_actions[CheckSpelling]); m_actions[ToggleAutoSpellChecking]->setChecked(checkSpellingEnabled()); menu->addAction(m_actions[ToggleAutoSpellChecking]); if(checkSpellingEnabled()) { setupWordUnderPositionCursor(mouseGlobalPos); QString selectedWord = m_selectedWordCursor.selectedText(); if(!selectedWord.isEmpty() && highlighter() && highlighter()->isWordMisspelled(selectedWord)) { QMenu *suggestionsMenu = menu->addMenu(i18n("Suggestions")); suggestionsMenu->addAction(i18n("Ignore"), this, SLOT(addToIgnoreList())); suggestionsMenu->addAction(i18n("Add to Dictionary"), this, SLOT(addToDictionary())); suggestionsMenu->addSeparator(); QStringList suggestions = highlighter()->suggestionsForWord(m_selectedWordCursor.selectedText()); if(suggestions.empty()) suggestionsMenu->addAction(i18n("No suggestions"))->setEnabled(false); else { for(QStringList::ConstIterator it = suggestions.begin(), end = suggestions.end(); it != end; ++it) suggestionsMenu->addAction(*it, this, SLOT(replaceWithSuggestion())); } } } menu->addSeparator(); m_actions[AllowTabulations]->setCheckable(true); m_actions[AllowTabulations]->setChecked(!tabChangesFocus()); menu->addAction(m_actions[AllowTabulations]); } return menu; }