The current contrast of the dark theme is too low. It is exhausting for the eyes in relatively bright rooms to work with MITK. Inactive elements are nearly invisible in such conditions.
Description
Status | Assigned | Task | ||
---|---|---|---|---|
Resolved | kislinsk | T24343 Optimize dark theme colors and contrast | ||
Resolved | kislinsk | T24422 ctk(Double)RangeSlider not visible in dark theme | ||
Invalid | kislinsk | T24556 Context menu checkboxes too small / not styled | ||
Resolved | kislinsk | T24557 Tab titles of Views are squeezed in height sometimes | ||
Resolved | kislinsk | T24558 Borders of Segmentation Utilities tab folder buttons are unstyled | ||
Resolved | kislinsk | T24559 Tree view item text sometimes shown in black |
Event Timeline
This are the luminance values [0..255] (HSL) for the MITK dark theme and the Visual Studio dark theme:
MITK | Visual Studio | |
---|---|---|
Background | 50 (19.6%) | 47 (18.4%) |
Text | 178 (70%) | 241 (95%) |
Inactive elements | 29 (11.4%) | 79 (31%) |
Icons | 178 (70%) | 199 (78%) |
While Visual Studio has a text-to-background contrast of 76.6%, MITK has a text-background contrast of just 50.4%.
Inactive-to-background is 8.2% compared to 12.6%, while inactive elements are darker than the background in MITK but brighter in Visual Studio.
The dark theme is hard to modify as it has hundreds of pseudo color overrides, which very often are not necessary at all. In total, the dark theme is 31 KB in size. I may come up with something more lean...
These are the Qt widgets used by MITK, determined by egrep -ohr --include=\*.{cpp,h,ui} "Q[A-Z][A-Za-z]+" . | sort | uniq. Non-widget classes were removed manually from the list:
- QAbstractButton
- QAbstractItemView
- QAbstractScrollArea
- QAbstractSpinBox
- QButton
- QButtonGroup
- QCheckBox
- QColorDialog
- QComboBox
- QComboBoxItem
- QCommandLinkButton
- QDialog
- QDialogButtonBox
- QDockWidget
- QDoubleSpinBox
- QErrorMessage
- QFileDialog
- QFrame
- QGraphicsDropShadowEffect
- QGraphicsEffect
- QGraphicsView
- QGroupBox
- QHeaderView
- QHelpContentWidget
- QHelpIndexWidget
- QHelpSearchQueryWidget
- QHelpSearchResultWidget
- QLabel
- QLCDNumber
- QLine
- QLineEdit
- QListBox
- QListView
- QListWidget
- QMainWindow
- QMenu
- QMenuBar
- QMessageBox
- QPlainTextEdit
- QProgressBar
- QProgressDialog
- QPushButton
- QRadioButton
- QRubberBand
- QScrollArea
- QScrollBar
- QSlider
- QSpinBox
- QSplashScreen
- QSplitter
- QSplitterHandle
- QStackedWidget
- QStatusBar
- QTabBar
- QTableView
- QTableWidget
- QTabWidget
- QTextBrowser
- QTextEdit
- QToolBar
- QToolBox
- QToolButton
- QToolTip
- QTreeView
- QTreeWidget
- QWebEngineView
- QWidget
There are also a few QStyleOptions used by MITK:
- QStyleOptionButton
- QStyleOptionComboBox
- QStyleOptionMenuItem
- QStyleOptionViewItem
CTK widgets used by MITK (not guaranteed to be complete):
- ctkCollapsibleGroupBox
- ctkColorPickerButton
- ctkDICOMQueryRetrieveWidget
- ctkDICOMTableManager
- ctkDirectoryButton
- ctkDoubleRangeSlider
- ctkDoubleSlider
- ctkDoubleSpinBox
- ctkExpandButton
- ctkPathListButtonsWidget
- ctkPathListWidget
- ctkRangeSlider
- ctkRangeWidget
- ctkSearchBox
- ctkSliderWidget
This will definitely be included in the upcoming release and minor styling issues will be fixed during the alpha phase. As there is more than simple styling, I will merge now and create subtasks for the remaining issues.