From 2f6b7d44d8611e139751f4ec953c952748c7c185 Mon Sep 17 00:00:00 2001 From: Giovanni JOSSERAND Date: Fri, 20 Jun 2025 23:10:11 +0200 Subject: [PATCH] add of fontSize and font functions --- data.qrc | 1 + data/images/font-size.png | Bin 0 -> 10964 bytes mainwindow.cpp | 49 ++++++++++++++++++++++++++++++++++++++ mainwindow.h | 6 +++++ mainwindow.ui | 20 ++++++++++++++++ 5 files changed, 76 insertions(+) create mode 100644 data/images/font-size.png diff --git a/data.qrc b/data.qrc index 9a9c3b4..0eeacf3 100644 --- a/data.qrc +++ b/data.qrc @@ -21,5 +21,6 @@ data/images/add.png data/images/font-color.png data/images/overline.png + data/images/font-size.png diff --git a/data/images/font-size.png b/data/images/font-size.png new file mode 100644 index 0000000000000000000000000000000000000000..b38bc84789839c1805ca0a312ac72546d3a4921d GIT binary patch literal 10964 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 literal 0 HcmV?d00001 diff --git a/mainwindow.cpp b/mainwindow.cpp index 8e15730..83b7574 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -9,6 +9,8 @@ #include #include #include +#include +#include MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) @@ -325,3 +327,50 @@ void MainWindow::on_actionOverline_triggered() this->setOverline(); } +void MainWindow::setSize(){ + QWidget *focused = QApplication::focusWidget(); + QPlainTextEdit* plainTextEdit = qobject_cast(focused); + + if (plainTextEdit) { + QTextCursor cursor = plainTextEdit->textCursor(); + if (cursor.hasSelection()) { + bool ok; + int size = QInputDialog::getInt(this, "Taille de la police", "Entrez la taille de la police:", cursor.charFormat().font().pointSize(), 1, 100, 1, &ok); + + if (ok) { + QTextCharFormat format; + QFont font = cursor.charFormat().font(); + font.setPointSize(size); + format.setFont(font); + cursor.mergeCharFormat(format); + } + } + } +} +void MainWindow::on_actionSize_triggered() +{ + this->setSize(); +} + +void MainWindow::setFont(){ + QWidget *focused = QApplication::focusWidget(); + QPlainTextEdit* plainTextEdit = qobject_cast(focused); + + if (plainTextEdit) { + QTextCursor cursor = plainTextEdit->textCursor(); + if (cursor.hasSelection()) { + bool ok; + QFont font = QFontDialog::getFont(&ok, cursor.charFormat().font(), this, "Choisir une police"); + if (ok) { + QTextCharFormat format; + format.setFont(font); + cursor.mergeCharFormat(format); + } + } + } +} +void MainWindow::on_actionFont_triggered() +{ + this->setFont(); +} + diff --git a/mainwindow.h b/mainwindow.h index a3e7c94..ce4d9ac 100644 --- a/mainwindow.h +++ b/mainwindow.h @@ -31,6 +31,8 @@ public: void setUnderline(); void setColor(); void setOverline(); + void setSize(); + void setFont(); private slots: void on_pushButton_clicked(); @@ -58,6 +60,10 @@ private slots: void on_actionOverline_triggered(); + void on_actionSize_triggered(); + + void on_actionFont_triggered(); + private: Ui::MainWindow *ui; QString currentFile; diff --git a/mainwindow.ui b/mainwindow.ui index 56a0bdf..769efb3 100644 --- a/mainwindow.ui +++ b/mainwindow.ui @@ -343,6 +343,8 @@ + + @@ -537,6 +539,24 @@ Overline + + + + :/data/images/data/images/font.png:/data/images/data/images/font.png + + + Font + + + + + + :/data/images/data/images/font-size.png:/data/images/data/images/font-size.png + + + Size + +