aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsaturneric <[email protected]>2024-01-08 07:39:58 +0000
committersaturneric <[email protected]>2024-01-08 07:39:58 +0000
commitd4eb21eae9b26ceb5d915b53650964d6e129e8cf (patch)
treee7cc3ee1ec9289c669d9523389a45af3da5a3424
parentfeat: select a directory before entering into the File Browser (diff)
downloadGpgFrontend-d4eb21eae9b26ceb5d915b53650964d6e129e8cf.tar.gz
GpgFrontend-d4eb21eae9b26ceb5d915b53650964d6e129e8cf.zip
fix: slove issue #123 "Append fingerprint to editor" crashes if there is no editor open
-rw-r--r--src/ui/main_window/MainWindowSlotFunction.cpp22
-rw-r--r--src/ui/main_window/MainWindowSlotUI.cpp13
-rw-r--r--src/ui/widgets/TextEdit.cpp5
-rw-r--r--src/ui/widgets/TextEdit.h7
4 files changed, 20 insertions, 27 deletions
diff --git a/src/ui/main_window/MainWindowSlotFunction.cpp b/src/ui/main_window/MainWindowSlotFunction.cpp
index 40c0dcb3..3f29d281 100644
--- a/src/ui/main_window/MainWindowSlotFunction.cpp
+++ b/src/ui/main_window/MainWindowSlotFunction.cpp
@@ -65,10 +65,6 @@ void MainWindow::slot_find() {
* Append the selected (not checked!) Key(s) To Textedit
*/
void MainWindow::slot_append_selected_keys() {
- if (edit_->TabCount() == 0 || edit_->SlotCurPageTextEdit() == nullptr) {
- return;
- }
-
auto exported = GpgFrontend::SecureCreateSharedObject<ByteArray>();
auto key_ids = m_key_list_->GetSelected();
@@ -81,15 +77,11 @@ void MainWindow::slot_append_selected_keys() {
QMessageBox::critical(this, _("Error"), _("Key Export Operation Failed."));
return;
}
- edit_->CurTextPage()->GetTextPage()->appendPlainText(
- QString::fromStdString(*exported));
+
+ edit_->SlotAppendText2CurTextPage(QString::fromStdString(*exported));
}
void MainWindow::slot_append_keys_create_datetime() {
- if (edit_->TabCount() == 0 || edit_->SlotCurPageTextEdit() == nullptr) {
- return;
- }
-
auto key_ids = m_key_list_->GetSelected();
if (key_ids->empty()) {
@@ -107,15 +99,11 @@ void MainWindow::slot_append_keys_create_datetime() {
boost::posix_time::to_iso_extended_string(key.GetCreateTime()) +
" (UTC) " + "\n";
- edit_->CurTextPage()->GetTextPage()->appendPlainText(
+ edit_->SlotAppendText2CurTextPage(
QString::fromStdString(create_datetime_format_str));
}
void MainWindow::slot_append_keys_expire_datetime() {
- if (edit_->TabCount() == 0 || edit_->SlotCurPageTextEdit() == nullptr) {
- return;
- }
-
auto key_ids = m_key_list_->GetSelected();
if (key_ids->empty()) {
@@ -133,7 +121,7 @@ void MainWindow::slot_append_keys_expire_datetime() {
boost::posix_time::to_iso_extended_string(key.GetCreateTime()) +
" (UTC) " + "\n";
- edit_->CurTextPage()->GetTextPage()->appendPlainText(
+ edit_->SlotAppendText2CurTextPage(
QString::fromStdString(create_datetime_format_str));
}
@@ -150,7 +138,7 @@ void MainWindow::slot_append_keys_fingerprint() {
auto fingerprint_format_str =
BeautifyFingerprint(key.GetFingerprint()) + "\n";
- edit_->CurTextPage()->GetTextPage()->appendPlainText(
+ edit_->SlotAppendText2CurTextPage(
QString::fromStdString(fingerprint_format_str));
}
diff --git a/src/ui/main_window/MainWindowSlotUI.cpp b/src/ui/main_window/MainWindowSlotUI.cpp
index 54b4e413..430271ea 100644
--- a/src/ui/main_window/MainWindowSlotUI.cpp
+++ b/src/ui/main_window/MainWindowSlotUI.cpp
@@ -28,9 +28,6 @@
#include "MainWindow.h"
#include "core/GpgConstants.h"
-#include "core/function/CoreSignalStation.h"
-#include "core/function/GlobalSettingStation.h"
-#include "ui/UISignalStation.h"
#include "ui/UserInterfaceUtils.h"
#include "ui/dialog/Wizard.h"
#include "ui/function/RaisePinentry.h"
@@ -66,10 +63,7 @@ void MainWindow::slot_open_file_tab() { edit_->SlotNewFileTab(); }
void MainWindow::slot_disable_tab_actions(int number) {
bool disable;
- if (number == -1)
- disable = true;
- else
- disable = false;
+ disable = number == -1;
if (edit_->CurFilePage() != nullptr) {
disable = true;
@@ -98,7 +92,6 @@ void MainWindow::slot_disable_tab_actions(int number) {
zoom_in_act_->setDisabled(disable);
clean_double_line_breaks_act_->setDisabled(disable);
quote_act_->setDisabled(disable);
- append_selected_keys_act_->setDisabled(disable);
import_key_from_edit_act_->setDisabled(disable);
cut_pgp_header_act_->setDisabled(disable);
@@ -111,8 +104,8 @@ void MainWindow::slot_open_settings_dialog() {
connect(dialog, &SettingsDialog::finished, this, [&]() -> void {
SettingsObject general_settings_state("general_settings_state");
- int width = general_settings_state.Check("icon_size").Check("width", 24),
- height = general_settings_state.Check("icon_size").Check("height", 24);
+ int width = general_settings_state.Check("icon_size").Check("width", 24);
+ int height = general_settings_state.Check("icon_size").Check("height", 24);
GF_UI_LOG_DEBUG("icon_size: {} {}", width, height);
general_settings_state.Check("info_font_size", 10);
diff --git a/src/ui/widgets/TextEdit.cpp b/src/ui/widgets/TextEdit.cpp
index 2bc25376..76bede8c 100644
--- a/src/ui/widgets/TextEdit.cpp
+++ b/src/ui/widgets/TextEdit.cpp
@@ -396,6 +396,11 @@ PlainTextEditorPage* TextEdit::CurTextPage() const {
return qobject_cast<PlainTextEditorPage*>(tab_widget_->currentWidget());
}
+void TextEdit::SlotAppendText2CurTextPage(const QString& text) {
+ if (CurTextPage() == nullptr) SlotNewTab();
+ CurTextPage()->GetTextPage()->appendPlainText(text);
+}
+
FilePage* TextEdit::CurFilePage() const {
auto* curFilePage = qobject_cast<FilePage*>(tab_widget_->currentWidget());
if (curFilePage != nullptr) {
diff --git a/src/ui/widgets/TextEdit.h b/src/ui/widgets/TextEdit.h
index 4eb1d537..842cb406 100644
--- a/src/ui/widgets/TextEdit.h
+++ b/src/ui/widgets/TextEdit.h
@@ -282,6 +282,13 @@ class TextEdit : public QWidget {
*/
void SlotSelectAll() const;
+ /**
+ * @brief
+ *
+ * @param text
+ */
+ void SlotAppendText2CurTextPage(const QString& text);
+
protected:
/**
* @brief Saves the content of currentTab to the file filename