diff --git a/data.qrc b/data.qrc index 9c654af..e712d32 100644 --- a/data.qrc +++ b/data.qrc @@ -19,5 +19,6 @@ data/images/save_as.png data/images/underline.png data/images/add.png + data/images/font-color.png diff --git a/data/images/font-color.png b/data/images/font-color.png new file mode 100644 index 0000000..9cbbd43 Binary files /dev/null and b/data/images/font-color.png differ diff --git a/mainwindow.cpp b/mainwindow.cpp index b37664a..6eb2ac8 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -6,6 +6,7 @@ #include #include #include +#include MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) @@ -212,3 +213,91 @@ void MainWindow::on_actionEditCut_triggered() } } +void MainWindow::setBold(){ + QWidget *focused = QApplication::focusWidget(); + QTextEdit* textEdit = qobject_cast(focused); + + if (textEdit) { + QTextCursor cursor = textEdit->textCursor(); + if (cursor.hasSelection()) { + QTextCharFormat format; + QFont font = textEdit->currentFont(); + font.setBold(!font.bold()); + format.setFont(font); + cursor.mergeCharFormat(format); + } + } +} + +void MainWindow::on_actionBold_triggered() +{ + this->setBold(); +} + + + +void MainWindow::setItalic(){ + QWidget *focused = QApplication::focusWidget(); + QTextEdit* textEdit = qobject_cast(focused); + + if (textEdit) { + QTextCursor cursor = textEdit->textCursor(); + if (cursor.hasSelection()) { + QTextCharFormat format; + QFont font = textEdit->currentFont(); + font.setItalic(!font.italic()); + format.setFont(font); + cursor.mergeCharFormat(format); + } + } +} + +void MainWindow::on_actionItalic_triggered() +{ + this->setItalic(); +} + + +void MainWindow::setUnderline(){ + QWidget *focused = QApplication::focusWidget(); + QTextEdit* textEdit = qobject_cast(focused); + + if (textEdit) { + QTextCursor cursor = textEdit->textCursor(); + if (cursor.hasSelection()) { + QTextCharFormat format; + QFont font = textEdit->currentFont(); + font.setUnderline(!font.underline()); + format.setFont(font); + cursor.mergeCharFormat(format); + } + } +} + +void MainWindow::on_actionUnderline_triggered() +{ + this->setUnderline(); +} + + + +void MainWindow::setColor(){ + QWidget *focused = QApplication::focusWidget(); + QTextEdit* textEdit = qobject_cast(focused); + + if (textEdit) { + QTextCursor cursor = textEdit->textCursor(); + if (cursor.hasSelection()) { + QTextCharFormat format; + format.setForeground(QBrush(QColor(255,0,0))); + cursor.mergeCharFormat(format); + } + } + +} + +void MainWindow::on_actionColor_triggered() +{ + this->setColor(); +} + diff --git a/mainwindow.h b/mainwindow.h index 7c78516..39d3414 100644 --- a/mainwindow.h +++ b/mainwindow.h @@ -26,6 +26,10 @@ public: void addNewPath(); void addNewStep(); void exportHTMLMap(); + void setBold(); + void setItalic(); + void setUnderline(); + void setColor(); private slots: void on_pushButton_clicked(); @@ -43,6 +47,14 @@ private slots: void on_actionEditCut_triggered(); + void on_actionBold_triggered(); + + void on_actionItalic_triggered(); + + void on_actionUnderline_triggered(); + + void on_actionColor_triggered(); + private: Ui::MainWindow *ui; QString currentFile; diff --git a/mainwindow.ui b/mainwindow.ui index 2f533da..29a3dc8 100644 --- a/mainwindow.ui +++ b/mainwindow.ui @@ -38,9 +38,6 @@ Path information - - Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignTop - @@ -52,10 +49,7 @@ - QFrame::Shape::StyledPanel - - - QFrame::Shadow::Raised + QFrame::NoFrame @@ -279,19 +273,23 @@ Step information - - Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignTop - - QFrame::Shape::StyledPanel - - - QFrame::Shadow::Raised + QFrame::NoFrame + + + + 250 + 100 + 391 + 121 + + + @@ -302,7 +300,7 @@ 0 0 800 - 23 + 21 @@ -344,6 +342,10 @@ + + + + @@ -378,7 +380,7 @@ New File - QAction::MenuRole::NoRole + QAction::NoRole @@ -390,7 +392,7 @@ Save - QAction::MenuRole::NoRole + QAction::NoRole @@ -402,7 +404,7 @@ Save as - QAction::MenuRole::NoRole + QAction::NoRole @@ -414,7 +416,7 @@ Print - QAction::MenuRole::NoRole + QAction::NoRole @@ -426,7 +428,7 @@ Copy - QAction::MenuRole::NoRole + QAction::NoRole @@ -438,7 +440,7 @@ Paste - QAction::MenuRole::NoRole + QAction::NoRole @@ -450,7 +452,7 @@ Cut - QAction::MenuRole::NoRole + QAction::NoRole @@ -462,7 +464,7 @@ Undo - QAction::MenuRole::NoRole + QAction::NoRole @@ -474,7 +476,7 @@ Redo - QAction::MenuRole::NoRole + QAction::NoRole @@ -486,7 +488,43 @@ Open file - QAction::MenuRole::NoRole + QAction::NoRole + + + + + + :/data/images/data/images/bold.png:/data/images/data/images/bold.png + + + Bold + + + + + + :/data/images/data/images/italic.png:/data/images/data/images/italic.png + + + Italic + + + + + + :/data/images/data/images/underline.png:/data/images/data/images/underline.png + + + Underline + + + + + + :/data/images/data/images/font-color.png:/data/images/data/images/font-color.png + + + Color diff --git a/path.cpp b/path.cpp index 7a421f7..26a2558 100644 --- a/path.cpp +++ b/path.cpp @@ -75,7 +75,7 @@ Path::Path(QFile *file){ QJsonArray stepsArray = json["steps"].toArray(); for (const QJsonValue &stepValue : stepsArray) { QJsonObject stepObj = stepValue.toObject(); - //step.append(Step(stepObj)); + step.append(Step(stepObj)); } }