- enhancement: add "delete line"/"duplicate line"/"delete word"/"delete to EOL"/"delete to BOL" in the edit menu
This commit is contained in:
parent
2763ef1c60
commit
6ba2d47c81
1
NEWS.md
1
NEWS.md
|
@ -4,6 +4,7 @@ Version 0.9.2 For Dev-C++ 7 Beta
|
|||
- fix: executor / problem set options not correctly saved
|
||||
- fix: option "Move caret to the first non-space char in the current line when press HOME key" dosen't work fine.
|
||||
- fix: ctrl+left can't correctly move to the beginning of the last word
|
||||
- enhancement: add "delete line"/"duplicate line"/"delete word"/"delete to EOL"/"delete to BOL" in the edit menu
|
||||
|
||||
Version 0.9.1 For Dev-C++ 7 Beta
|
||||
- enhancement: code completion suggestion for "__func__" variable
|
||||
|
|
Binary file not shown.
File diff suppressed because it is too large
Load Diff
|
@ -1593,6 +1593,36 @@ bool Editor::notParsed()
|
|||
return mParser->findFileIncludes(mFilename)==nullptr;
|
||||
}
|
||||
|
||||
void Editor::insertLine()
|
||||
{
|
||||
ExecuteCommand(SynEditorCommand::ecInsertLine,QChar(),nullptr);
|
||||
}
|
||||
|
||||
void Editor::deleteWord()
|
||||
{
|
||||
ExecuteCommand(SynEditorCommand::ecDeleteWord,QChar(),nullptr);
|
||||
}
|
||||
|
||||
void Editor::deleteLine()
|
||||
{
|
||||
ExecuteCommand(SynEditorCommand::ecDeleteLine,QChar(),nullptr);
|
||||
}
|
||||
|
||||
void Editor::duplicateLine()
|
||||
{
|
||||
ExecuteCommand(SynEditorCommand::ecDuplicateLine,QChar(),nullptr);
|
||||
}
|
||||
|
||||
void Editor::deleteToEOL()
|
||||
{
|
||||
ExecuteCommand(SynEditorCommand::ecDeleteEOL,QChar(),nullptr);
|
||||
}
|
||||
|
||||
void Editor::deleteToBOL()
|
||||
{
|
||||
ExecuteCommand(SynEditorCommand::ecDeleteBOL,QChar(),nullptr);
|
||||
}
|
||||
|
||||
QChar Editor::getCurrentChar()
|
||||
{
|
||||
if (lineText().length()<caretX())
|
||||
|
|
|
@ -168,6 +168,12 @@ public:
|
|||
void exportAsHTML(const QString& htmlFilename);
|
||||
void resetBreakpoints();
|
||||
bool notParsed();
|
||||
void insertLine();
|
||||
void deleteWord();
|
||||
void deleteLine();
|
||||
void duplicateLine();
|
||||
void deleteToEOL();
|
||||
void deleteToBOL();
|
||||
|
||||
const PCppParser &parser();
|
||||
|
||||
|
|
|
@ -5695,3 +5695,57 @@ void MainWindow::on_actionProblem_triggered()
|
|||
showHideMessagesTab(ui->tabProblem,state);
|
||||
}
|
||||
|
||||
|
||||
void MainWindow::on_actionInsert_Line_triggered()
|
||||
{
|
||||
Editor *e=mEditorList->getEditor();
|
||||
if (e) {
|
||||
e->insertLine();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void MainWindow::on_actionDelete_Line_triggered()
|
||||
{
|
||||
Editor *e=mEditorList->getEditor();
|
||||
if (e) {
|
||||
e->deleteLine();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void MainWindow::on_actionDuplicate_Line_triggered()
|
||||
{
|
||||
Editor *e=mEditorList->getEditor();
|
||||
if (e) {
|
||||
e->duplicateLine();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void MainWindow::on_actionDelete_Word_triggered()
|
||||
{
|
||||
Editor *e=mEditorList->getEditor();
|
||||
if (e) {
|
||||
e->deleteWord();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void MainWindow::on_actionDelete_to_EOL_triggered()
|
||||
{
|
||||
Editor *e=mEditorList->getEditor();
|
||||
if (e) {
|
||||
e->deleteToEOL();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void MainWindow::on_actionDelete_to_BOL_triggered()
|
||||
{
|
||||
Editor *e=mEditorList->getEditor();
|
||||
if (e) {
|
||||
e->deleteToBOL();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -518,6 +518,18 @@ private slots:
|
|||
|
||||
void on_actionProblem_triggered();
|
||||
|
||||
void on_actionInsert_Line_triggered();
|
||||
|
||||
void on_actionDelete_Line_triggered();
|
||||
|
||||
void on_actionDuplicate_Line_triggered();
|
||||
|
||||
void on_actionDelete_Word_triggered();
|
||||
|
||||
void on_actionDelete_to_EOL_triggered();
|
||||
|
||||
void on_actionDelete_to_BOL_triggered();
|
||||
|
||||
private:
|
||||
Ui::MainWindow *ui;
|
||||
EditorList *mEditorList;
|
||||
|
|
|
@ -1449,6 +1449,12 @@
|
|||
<addaction name="separator"/>
|
||||
<addaction name="actionFoldAll"/>
|
||||
<addaction name="actionUnfoldAll"/>
|
||||
<addaction name="separator"/>
|
||||
<addaction name="actionDelete_Line"/>
|
||||
<addaction name="actionDuplicate_Line"/>
|
||||
<addaction name="actionDelete_Word"/>
|
||||
<addaction name="actionDelete_to_BOL"/>
|
||||
<addaction name="actionDelete_to_EOL"/>
|
||||
</widget>
|
||||
<widget class="QMenu" name="menuSearch">
|
||||
<property name="title">
|
||||
|
@ -2603,6 +2609,31 @@
|
|||
<string>Problem</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionDelete_Line">
|
||||
<property name="text">
|
||||
<string>Delete Line</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionDuplicate_Line">
|
||||
<property name="text">
|
||||
<string>Duplicate Line</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionDelete_Word">
|
||||
<property name="text">
|
||||
<string>Delete Word</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionDelete_to_EOL">
|
||||
<property name="text">
|
||||
<string>Delete to EOL</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionDelete_to_BOL">
|
||||
<property name="text">
|
||||
<string>Delete to BOL</string>
|
||||
</property>
|
||||
</action>
|
||||
</widget>
|
||||
<customwidgets>
|
||||
<customwidget>
|
||||
|
|
|
@ -219,11 +219,13 @@ void SynEditKeyStrokes::resetDefaults()
|
|||
add(SynEditorCommand::ecCut, Qt::Key_X, Qt::ControlModifier);
|
||||
add(SynEditorCommand::ecBlockIndent, Qt::Key_I, Qt::ControlModifier|Qt::ShiftModifier);
|
||||
add(SynEditorCommand::ecBlockUnindent, Qt::Key_U, Qt::ControlModifier|Qt::ShiftModifier);
|
||||
add(SynEditorCommand::ecLineBreak, Qt::Key_M, Qt::ControlModifier);
|
||||
add(SynEditorCommand::ecInsertLine, Qt::Key_N, Qt::ControlModifier);
|
||||
add(SynEditorCommand::ecDeleteWord, Qt::Key_T, Qt::ControlModifier);
|
||||
add(SynEditorCommand::ecDeleteLine, Qt::Key_Y, Qt::ControlModifier);
|
||||
add(SynEditorCommand::ecDeleteEOL, Qt::Key_Y, Qt::ControlModifier|Qt::ShiftModifier);
|
||||
// add(SynEditorCommand::ecLineBreak, Qt::Key_M, Qt::ControlModifier);
|
||||
// add(SynEditorCommand::ecInsertLine, Qt::Key_N, Qt::ControlModifier);
|
||||
// add(SynEditorCommand::ecDeleteWord, Qt::Key_T, Qt::ControlModifier);
|
||||
// add(SynEditorCommand::ecDeleteLine, Qt::Key_Y, Qt::ControlModifier);
|
||||
// add(SynEditorCommand::ecDeleteEOL, Qt::Key_Y, Qt::ControlModifier|Qt::ShiftModifier);
|
||||
// add(SynEditorCommand::ecDuplicateLine, Qt::Key_D, Qt::ControlModifier);
|
||||
|
||||
add(SynEditorCommand::ecUndo, Qt::Key_Z, Qt::ControlModifier);
|
||||
add(SynEditorCommand::ecRedo, Qt::Key_Z, Qt::ControlModifier|Qt::ShiftModifier);
|
||||
add(SynEditorCommand::ecGotoMarker0, Qt::Key_0, Qt::ControlModifier);
|
||||
|
|
|
@ -5436,6 +5436,8 @@ void SynEdit::ExecuteCommand(SynEditorCommand Command, QChar AChar, void *pData)
|
|||
clearAll();
|
||||
break;
|
||||
case SynEditorCommand::ecInsertLine:
|
||||
insertLine(Command == SynEditorCommand::ecInsertLine);
|
||||
break;
|
||||
case SynEditorCommand::ecLineBreak:
|
||||
insertLine(Command == SynEditorCommand::ecLineBreak);
|
||||
break;
|
||||
|
|
Loading…
Reference in New Issue