Parcourir la source

overriding QDialog`s accept method to not close the dialog. Only close if `Close` is clicked

logicp il y a 5 ans
Parent
commit
951279d0a0
4 fichiers modifiés avec 7 ajouts et 4 suppressions
  1. 1 1
      argdialog.ui
  2. 1 1
      headers/util.hpp
  3. 2 0
      include/argdialog.h
  4. 3 2
      src/argdialog.cpp

+ 1 - 1
argdialog.ui

@@ -453,7 +453,7 @@ padding: 4px;</string>
          <enum>Qt::Horizontal</enum>
         </property>
         <property name="standardButtons">
-         <set>QDialogButtonBox::Cancel|QDialogButtonBox::Save</set>
+         <set>QDialogButtonBox::Close|QDialogButtonBox::Save</set>
         </property>
         <property name="centerButtons">
          <bool>true</bool>

+ 1 - 1
headers/util.hpp

@@ -107,7 +107,7 @@ QString configValue(QString s, ConfigJson config) {
 
 bool configBoolValue(QString s, ConfigJson config) {
   if (auto it{config.find(s)}; it != std::end(config)) {
-    return bool{it->second == s};
+    return bool{it->second == "true"};
   }
 }
 

+ 2 - 0
include/argdialog.h

@@ -64,6 +64,8 @@ class ArgDialog : public QDialog {
   explicit ArgDialog(QWidget *parent = nullptr);
   virtual void keyPressEvent(QKeyEvent* e);
   void setFilePath(QString path);
+  virtual void accept() override;
+
   ~ArgDialog();
 
  signals:

+ 3 - 2
src/argdialog.cpp

@@ -17,8 +17,8 @@ ArgDialog::ArgDialog(QWidget *parent)
       m_ig_post(IGPost{}) {
   ui->setupUi(this);
 
-  ui->argCommandButtons->button(QDialogButtonBox::Cancel)
-    ->setStyleSheet(QString("background:%1").arg("#2f535f"));
+  ui->argCommandButtons->button(QDialogButtonBox::Close)
+      ->setStyleSheet(QString("background:%1").arg("#2f535f"));
   QObject::connect(ui->addFile, &QPushButton::clicked, this, [this]() {
     KFileDialog file_dialog{};
     auto file_path = file_dialog.openFileDialog(m_file_path);
@@ -290,3 +290,4 @@ ArgDialog::~ArgDialog()
     delete ui;
 }
 
+void ArgDialog::accept() { qDebug() << "Sending request to schedule a task.."; }