AS_NAMESPACE_START EditorTabs::EditorTabs(QWidget *parent) : QTabWidget(parent), _finder(nullptr) { _connections << connect(parent, SIGNAL(editCopy()), this, SLOT(onEditCopy())); _connections << connect(parent, SIGNAL(editCut()), this, SLOT(onEditCut())); _connections << connect(parent, SIGNAL(editFind()), this, SLOT(onEditFind())); _connections << connect(parent, SIGNAL(editGoto()), this, SLOT(onEditGoto())); _connections << connect(parent, SIGNAL(editPaste()), this, SLOT(onEditPaste())); _connections << connect(parent, SIGNAL(editRedo()), this, SLOT(onEditRedo())); _connections << connect(parent, SIGNAL(editReplace()), this, SLOT(onEditReplace())); _connections << connect(parent, SIGNAL(editUndo()), this, SLOT(onEditUndo())); _connections << connect(parent, SIGNAL(fileClose()), this, SLOT(onFileClose())); _connections << connect(parent, SIGNAL(fileCloseAll()), this, SLOT(onFileCloseAll())); _connections << connect(parent, SIGNAL(fileOpen(QString)), this, SLOT(onFileOpen(QString))); _connections << connect(parent, SIGNAL(fileSave()), this, SLOT(onFileSave())); _connections << connect(parent, SIGNAL(fileSaveAll()), this, SLOT(onFileSaveAll())); _connections << connect(this, &QTabWidget::tabCloseRequested, this, &EditorTabs::onTabCloseRequested); _connections << connect(tabBar(), &QTabBar::tabMoved, this, &EditorTabs::onTabMoved); _connections << connect(this, &EditorTabs::currentChanged, this, &EditorTabs::onCurrentChanged); _connections << connect(this, SIGNAL(fileChanged(QString)), parent, SLOT(onFileChanged(QString))); _connections << connect(this, SIGNAL(fileSaved(QString)), parent, SLOT(onFileSaved(QString))); setMovable(true); setTabsClosable(true); }
void TikzEditorView::createActions() { m_undoAction = StandardAction::undo(m_tikzEditor, SLOT(undo()), this); m_redoAction = StandardAction::redo(m_tikzEditor, SLOT(redo()), this); m_cutAction = StandardAction::cut(m_tikzEditor, SLOT(cut()), this); m_copyAction = StandardAction::copy(m_tikzEditor, SLOT(copy()), this); m_pasteAction = StandardAction::paste(m_tikzEditor, SLOT(paste()), this); m_selectAllAction = StandardAction::selectAll(m_tikzEditor, SLOT(selectAll()), this); m_undoAction->setStatusTip(tr("Undo the previous action")); m_redoAction->setStatusTip(tr("Redo the previous undone action")); m_cutAction->setStatusTip(tr("Cut the current selection's contents to the clipboard")); m_copyAction->setStatusTip(tr("Copy the current selection's contents to the clipboard")); m_pasteAction->setStatusTip(tr("Paste the clipboard's contents into the current selection")); m_selectAllAction->setStatusTip(tr("Select all the content")); m_undoAction->setWhatsThis(tr("<p>Undo the previous action.</p>")); m_redoAction->setWhatsThis(tr("<p>Redo the previous undone action.</p>")); m_cutAction->setWhatsThis(tr("<p>Cut the current selection's contents to the clipboard.</p>")); m_copyAction->setWhatsThis(tr("<p>Copy the current selection's contents to the clipboard.</p>")); m_pasteAction->setWhatsThis(tr("<p>Paste the clipboard's contents into the current selection.</p>")); m_selectAllAction->setWhatsThis(tr("<p>Select all the content.</p>")); Action *action; action = new Action(Icon("format-indent-more"), tr("&Indent..."), this, "edit_indent"); action->setShortcut(tr("Ctrl+I", "Edit|Indent")); action->setStatusTip(tr("Indent the current line or selection")); action->setWhatsThis(tr("<p>Indent the current line or selection.</p>")); connect(action, SIGNAL(triggered()), this, SLOT(editIndent())); m_editActions.append(action); action = new Action(tr("C&omment"), this, "edit_comment"); action->setShortcut(tr("Ctrl+D", "Edit|Comment")); action->setStatusTip(tr("Comment the current line or selection")); action->setWhatsThis(tr("<p>Comment the current line or selection.</p>")); connect(action, SIGNAL(triggered()), this, SLOT(editComment())); m_editActions.append(action); action = new Action(tr("Unco&mment"), this, "edit_uncomment"); action->setShortcut(tr("Ctrl+Shift+D", "Edit|Uncomment")); action->setStatusTip(tr("Uncomment the current line or selection")); action->setWhatsThis(tr("<p>Uncomment the current line or selection.</p>")); connect(action, SIGNAL(triggered()), this, SLOT(editUncomment())); m_editActions.append(action); action = new Action(this); action->setSeparator(true); m_editActions.append(action); m_editActions.append(StandardAction::find(this, SLOT(editFind()), this)); m_editActions.append(StandardAction::findNext(this, SLOT(editFindNext()), this)); m_editActions.append(StandardAction::findPrev(this, SLOT(editFindPrevious()), this)); m_editActions.append(StandardAction::replace(this, SLOT(editReplace()), this)); m_editActions.append(StandardAction::gotoLine(this, SLOT(editGoToLine()), this)); m_editActions.at(4)->setStatusTip(tr("Look up a piece of text in the document")); m_editActions.at(5)->setStatusTip(tr("Search the next occurrence of a text")); m_editActions.at(6)->setStatusTip(tr("Search the previous occurrence of a text")); m_editActions.at(7)->setStatusTip(tr("Search and replace a piece of text in the document")); m_editActions.at(8)->setStatusTip(tr("Go to a certain line in the document")); m_editActions.at(4)->setWhatsThis(tr("<p>Look up a piece of text in the document.</p>")); m_editActions.at(5)->setWhatsThis(tr("<p>Search the next occurrence of a text.</p>")); m_editActions.at(6)->setWhatsThis(tr("<p>Search the previous occurrence of a text.</p>")); m_editActions.at(7)->setWhatsThis(tr("<p>Search and replace a piece of text in the document.</p>")); m_editActions.at(8)->setWhatsThis(tr("<p>Go to a certain line in the document.</p>")); m_undoAction->setEnabled(false); m_redoAction->setEnabled(false); m_cutAction->setEnabled(false); m_copyAction->setEnabled(false); m_pasteAction->setEnabled(m_tikzEditor->canPaste()); connect(m_tikzEditor, SIGNAL(undoAvailable(bool)), m_undoAction, SLOT(setEnabled(bool))); connect(m_tikzEditor, SIGNAL(redoAvailable(bool)), m_redoAction, SLOT(setEnabled(bool))); connect(m_tikzEditor, SIGNAL(copyAvailable(bool)), m_cutAction, SLOT(setEnabled(bool))); connect(m_tikzEditor, SIGNAL(copyAvailable(bool)), m_copyAction, SLOT(setEnabled(bool))); connect(QApplication::clipboard(), SIGNAL(dataChanged()), this, SLOT(setPasteEnabled())); }