diff --git a/src/blackgui/editors/aircrafticaoform.cpp b/src/blackgui/editors/aircrafticaoform.cpp
index b2224a91c..bfd4d5529 100644
--- a/src/blackgui/editors/aircrafticaoform.cpp
+++ b/src/blackgui/editors/aircrafticaoform.cpp
@@ -132,9 +132,9 @@ namespace BlackGui
this->ui->le_Family->setReadOnly(readOnly);
this->ui->le_Iata->setReadOnly(readOnly);
- this->ui->cb_Legacy->setCheckable(!readOnly);
- this->ui->cb_Military->setCheckable(!readOnly);
- this->ui->cb_RealWorld->setCheckable(!readOnly);
+ CGuiUtility::checkBoxReadOnly(this->ui->cb_Legacy, readOnly);
+ CGuiUtility::checkBoxReadOnly(this->ui->cb_Military, readOnly);
+ CGuiUtility::checkBoxReadOnly(this->ui->cb_RealWorld, readOnly);
this->ui->cb_Wtc->setEnabled(!readOnly);
this->ui->cb_Rank->setEnabled(!readOnly);
diff --git a/src/blackgui/editors/aircrafticaoform.ui b/src/blackgui/editors/aircrafticaoform.ui
index dde5147a0..3514a4722 100644
--- a/src/blackgui/editors/aircrafticaoform.ui
+++ b/src/blackgui/editors/aircrafticaoform.ui
@@ -198,6 +198,9 @@
-
+
+ Real world aircraft
+
Real
@@ -205,6 +208,9 @@
-
+
+ Legacy aircraft, e.g. Concord, ME109
+
Legacy
@@ -213,7 +219,7 @@
-
- Military
+ Military aircraft
Mil.
diff --git a/src/blackgui/guiutility.cpp b/src/blackgui/guiutility.cpp
index 4a2eaae60..a60592cad 100644
--- a/src/blackgui/guiutility.cpp
+++ b/src/blackgui/guiutility.cpp
@@ -13,6 +13,7 @@
#include "blackmisc/filelogger.h"
#include "blackmisc/logmessage.h"
#include "blackmisc/project.h"
+#include "blackmisc/verify.h"
#include
#include
#include
@@ -200,11 +201,29 @@ namespace BlackGui
return m;
}
+ void CGuiUtility::checkBoxReadOnly(QCheckBox *checkBox, bool readOnly)
+ {
+ static const QCheckBox defaultBox;
+ BLACK_VERIFY_X(checkBox, Q_FUNC_INFO, "no checkbox");
+ if (!checkBox) { return; }
+
+ if (readOnly)
+ {
+ checkBox->setAttribute(Qt::WA_TransparentForMouseEvents);
+ checkBox->setFocusPolicy(Qt::NoFocus);
+ }
+ else
+ {
+ checkBox->setAttribute(Qt::WA_TransparentForMouseEvents, defaultBox.testAttribute(Qt::WA_TransparentForMouseEvents));
+ checkBox->setFocusPolicy(defaultBox.focusPolicy());
+ }
+ }
+
QWidgetList CGuiUtility::topLevelApplicationWidgetsWithName()
{
QWidgetList tlw = QApplication::topLevelWidgets();
QWidgetList rl;
- foreach(QWidget * w, tlw)
+ foreach (QWidget *w, tlw)
{
if (w->objectName().isEmpty()) { continue; }
rl.append(w);
diff --git a/src/blackgui/guiutility.h b/src/blackgui/guiutility.h
index 3716ba9e3..462ad6dc4 100644
--- a/src/blackgui/guiutility.h
+++ b/src/blackgui/guiutility.h
@@ -17,6 +17,7 @@
#include "enableforframelesswindow.h"
#include
#include
+#include
#include
namespace BlackGui
@@ -80,6 +81,9 @@ namespace BlackGui
//! Metatype
static const QString &swiftJsonDragAndDropMimeType();
+ //! Pseudo readonly state for checkbox
+ static void checkBoxReadOnly(QCheckBox *checkBox, bool readOnly);
+
private:
//! Constructor, use static methods only
CGuiUtility() {}