diff --git a/Modules/IGTUI/Qmitk/QmitkFiducialRegistrationWidget.ui b/Modules/IGTUI/Qmitk/QmitkFiducialRegistrationWidget.ui
index 61dee043e6..843344e01c 100755
--- a/Modules/IGTUI/Qmitk/QmitkFiducialRegistrationWidget.ui
+++ b/Modules/IGTUI/Qmitk/QmitkFiducialRegistrationWidget.ui
@@ -1,361 +1,279 @@
QmitkFiducialRegistrationWidget
0
0
- 568
- 388
+ 569
+ 402
0
0
Form
-
+
-
Fiducial Registration method
-
true
Static
true
-
true
Hybrid Continuous
false
- -
+
-
+
+
-
+
+
+ Move Image Points
+
+
+
+ -
+
+
+
+ 0
+ 40
+
+
+
+ <html><head/><body><p>Find fiducial correspondences (needs 6+ fiducial pairs)</p></body></html>
+
+
+
+ Find fiducial
+ correspondences
+
+
+
+
+
+
+ -
0
0
0
40
Register (object is moved)
- -
+
-
-
-
+
0
0
Image / object / moving fiducials
-
-
- 6
-
-
- 6
-
-
- 6
-
-
- 6
-
-
-
+
+
-
-
+
0
0
- -
-
-
-
- 0
- 0
-
-
+
-
+
0
- 37
+ 55
-
-
- 16777215
- 37
-
-
-
-
+
+ QFrame::NoFrame
-
- Qt::AlignCenter
+
+ QFrame::Raised
-
- false
-
-
-
- 0
-
-
- 0
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
+
+
-
0
0
0
35
Add image fiducial
-
-
+
0
0
Tracker / fixed fiducials
-
-
- 6
-
-
- 6
-
-
- 6
-
-
- 6
-
-
-
+
+
-
-
+
0
0
- -
-
-
-
- 0
- 0
-
-
+
-
+
0
- 37
-
-
-
-
- 16777215
- 37
+ 55
-
-
-
-
- Qt::AlignCenter
+
+ QFrame::NoFrame
-
- false
+
+ QFrame::Raised
-
-
- 0
-
-
- 0
-
-
- 0
-
-
- 0
-
-
- 0
-
+
-
0
0
0
35
&Add current
-instrument position
+ instrument position
- -
+
-
-
0
0
Status:
Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop
-
Qt::AlignCenter
- -
-
-
-
-
-
- Move Image Points
-
-
-
- -
-
-
-
- 0
- 40
-
-
-
- <html><head/><body><p>Find fiducial correspondences (needs 6+ fiducial pairs)</p></body></html>
-
-
- Find fiducial
- correspondences
-
-
-
-
-
m_RegisterFiducialsBtn
m_gbFiducialRegistration
QmitkPointListWidget
QListWidget
diff --git a/Modules/QtWidgetsExt/include/QmitkPointListWidget.h b/Modules/QtWidgetsExt/include/QmitkPointListWidget.h
index f8884e2e29..c667dcad51 100644
--- a/Modules/QtWidgetsExt/include/QmitkPointListWidget.h
+++ b/Modules/QtWidgetsExt/include/QmitkPointListWidget.h
@@ -1,154 +1,155 @@
/*===================================================================
The Medical Imaging Interaction Toolkit (MITK)
Copyright (c) German Cancer Research Center,
Division of Medical and Biological Informatics.
All rights reserved.
This software is distributed WITHOUT ANY WARRANTY; without
even the implied warranty of MERCHANTABILITY or FITNESS FOR
A PARTICULAR PURPOSE.
See LICENSE.txt or http://www.mitk.org for details.
===================================================================*/
#ifndef QmitkPointListWidget_H
#define QmitkPointListWidget_H
#include "MitkQtWidgetsExtExports.h"
#include
#include
#include
#include
#include
#include
#include
+#include
/*!
* \brief Widget for regular operations on point sets
*
* Displays a list of point coordinates and a couple of
* buttons which
*
* \li enable point set interaction
* \li clear all points from a set
* \li load points from file
* \li save points to file
*
* The user/application module of this widget needs to
* assign a mitk::PointSet object to this widget. The user
* also has to decide whether it wants to put the point set
* into (a) DataStorage. This widget will not add/remove
* point sets to DataStorage.
*
* If the render window crosshair should be moved to the
* currently selected point, the widget user has to provide
* a QmitkStdMultiWidget object.
*/
class MITKQTWIDGETSEXT_EXPORT QmitkPointListWidget : public QWidget
{
Q_OBJECT
public:
QmitkPointListWidget(QWidget *parent = 0, int orientation = 0);
~QmitkPointListWidget() override;
void SetupConnections();
/**
* @brief Add a mitk::SliceNavigationController instance.
* @param snc The mitk::SliceNavigationController instance.
*
* This method adds \c snc to the set of slice navigation controllers which are
* used to navigate to the selected point.
*/
void AddSliceNavigationController(mitk::SliceNavigationController *snc);
/**
* @brief Remove a mitk::SliceNavigationController instance.
* @param snc The mitk::SliceNavigationController instance.
*
* This method removes \c snc from the set of slice navigation controllers which are
* used to navigate to the selected point.
*/
void RemoveSliceNavigationController(mitk::SliceNavigationController *snc);
/** @brief assign a point set (contained in a node of DataStorage) for observation */
void SetPointSet(mitk::PointSet *newPs);
mitk::PointSet *GetPointSet();
/** @brief assign a point set (contained in a node of DataStorage) for observation */
void SetPointSetNode(mitk::DataNode *newNode);
mitk::DataNode *GetPointSetNode();
/** @brief assign a QmitkStdMultiWidget for updating render window crosshair */
void SetMultiWidget(QmitkStdMultiWidget *multiWidget);
/** @brief itk observer for node "delete" events */
void OnNodeDeleted(const itk::EventObject &e);
/** @brief Unselects the edit button if it is selected. */
void UnselectEditButton();
public slots:
void DeactivateInteractor(bool deactivate);
void EnableEditButton(bool enabled);
signals:
/** @brief signal to inform about the state of the EditPointSetButton, whether an interactor for setting points is
* active or not */
void EditPointSets(bool active);
/// signal to inform that the selection of a point in the pointset has changed
void PointSelectionChanged();
/// signal to inform about cleared or loaded point sets
void PointListChanged();
protected slots:
void OnBtnSavePoints();
void OnBtnLoadPoints();
void RemoveSelectedPoint();
void MoveSelectedPointDown();
void MoveSelectedPointUp();
void OnBtnAddPoint(bool checked);
void OnBtnAddPointManually();
/*!
\brief pass through signal from PointListView that point selection has changed
*/
void OnPointSelectionChanged();
void OnListDoubleClick();
protected:
void SetupUi();
- void updateTimeSlotStatus();
+ void updateTimeStepStatus();
void ObserveNewNode(mitk::DataNode *node);
QmitkPointListView *m_PointListView;
mitk::DataNode::Pointer m_PointSetNode;
int m_Orientation;
QPushButton *m_MovePointUpBtn;
QPushButton *m_MovePointDownBtn;
QPushButton *m_RemovePointBtn;
QPushButton *m_SavePointsBtn;
QPushButton *m_LoadPointsBtn;
QPushButton *m_ToggleAddPoint;
QPushButton *m_AddPoint;
- QLabel *m_TimeSlotDisplay;
+ QLabel *m_TimeStepDisplay;
mitk::DataInteractor::Pointer m_DataInteractor;
int m_TimeStep;
bool m_EditAllowed;
unsigned long m_NodeObserverTag;
QmitkPointListModel *m_PointListModel;
};
#endif
diff --git a/Modules/QtWidgetsExt/src/QmitkPointListWidget.cpp b/Modules/QtWidgetsExt/src/QmitkPointListWidget.cpp
index 61636268a7..d97c49f65e 100644
--- a/Modules/QtWidgetsExt/src/QmitkPointListWidget.cpp
+++ b/Modules/QtWidgetsExt/src/QmitkPointListWidget.cpp
@@ -1,493 +1,494 @@
/*===================================================================
The Medical Imaging Interaction Toolkit (MITK)
Copyright (c) German Cancer Research Center,
Division of Medical and Biological Informatics.
All rights reserved.
This software is distributed WITHOUT ANY WARRANTY; without
even the implied warranty of MERCHANTABILITY or FITNESS FOR
A PARTICULAR PURPOSE.
See LICENSE.txt or http://www.mitk.org for details.
===================================================================*/
#include "QmitkPointListWidget.h"
#include "QmitkPointListView.h"
#include "QmitkPointListModel.h"
#include
#include
#include
#include
#include
+
#include
#include
#include
QmitkPointListWidget::QmitkPointListWidget(QWidget *parent, int orientation)
: QWidget(parent),
m_PointListView(nullptr),
m_PointSetNode(nullptr),
m_Orientation(0),
m_MovePointUpBtn(nullptr),
m_MovePointDownBtn(nullptr),
m_RemovePointBtn(nullptr),
m_SavePointsBtn(nullptr),
m_LoadPointsBtn(nullptr),
m_ToggleAddPoint(nullptr),
m_AddPoint(nullptr),
m_DataInteractor(nullptr),
m_TimeStep(0),
m_EditAllowed(true),
m_NodeObserverTag(0),
- m_TimeSlotDisplay(nullptr)
+ m_TimeStepDisplay(nullptr)
{
m_PointListView = new QmitkPointListView();
if (orientation != 0)
m_Orientation = orientation;
SetupUi();
SetupConnections();
ObserveNewNode(nullptr);
}
QmitkPointListWidget::~QmitkPointListWidget()
{
m_DataInteractor = nullptr;
if (m_PointSetNode && m_NodeObserverTag)
{
m_PointSetNode->RemoveObserver(m_NodeObserverTag);
m_NodeObserverTag = 0;
}
delete m_PointListView;
}
void QmitkPointListWidget::SetupConnections()
{
connect(this->m_LoadPointsBtn, SIGNAL(clicked()), this, SLOT(OnBtnLoadPoints()));
connect(this->m_SavePointsBtn, SIGNAL(clicked()), this, SLOT(OnBtnSavePoints()));
connect(this->m_MovePointUpBtn, SIGNAL(clicked()), this, SLOT(MoveSelectedPointUp()));
connect(this->m_MovePointDownBtn, SIGNAL(clicked()), this, SLOT(MoveSelectedPointDown()));
connect(this->m_RemovePointBtn, SIGNAL(clicked()), this, SLOT(RemoveSelectedPoint()));
connect(this->m_ToggleAddPoint, SIGNAL(toggled(bool)), this, SLOT(OnBtnAddPoint(bool)));
connect(this->m_AddPoint, SIGNAL(clicked()), this, SLOT(OnBtnAddPointManually()));
connect(this->m_PointListView, SIGNAL(doubleClicked(QModelIndex)), this, SLOT(OnListDoubleClick()));
connect(this->m_PointListView, SIGNAL(SignalPointSelectionChanged()), this, SLOT(OnPointSelectionChanged()));
- connect(this->m_PointListView->m_TimeStepFaderLabel, SIGNAL(m_PointListView->wheelEvent(QWheelEvent)), this, SLOT(updateTimeSlotStatus()));
+ connect(this->m_PointListView->m_TimeStepFaderLabel, SIGNAL(m_PointListView->wheelEvent(QWheelEvent)), this, SLOT(updateTimeStepStatus()));
}
void QmitkPointListWidget::SetupUi()
{
// Setup the buttons
m_ToggleAddPoint = new QPushButton();
m_ToggleAddPoint->setMaximumSize(25, 25);
m_ToggleAddPoint->setCheckable(true);
m_ToggleAddPoint->setToolTip("Toggle point editing (use SHIFT + Left Mouse Button to add Points)");
QIcon iconAdd(":/QtWidgetsExt/btnSetPoints.xpm");
m_ToggleAddPoint->setIcon(iconAdd);
m_AddPoint = new QPushButton();
m_AddPoint->setMaximumSize(25, 25);
m_AddPoint->setToolTip("Manually add point");
QIcon iconAddManually(":/QtWidgetsExt/btnSetPointsManually.xpm");
m_AddPoint->setIcon(iconAddManually);
m_RemovePointBtn = new QPushButton();
m_RemovePointBtn->setMaximumSize(25, 25);
const QIcon iconDel(":/QtWidgetsExt/btnClear.xpm");
m_RemovePointBtn->setIcon(iconDel);
m_RemovePointBtn->setToolTip("Erase one point from list (Hotkey: DEL)");
m_MovePointUpBtn = new QPushButton();
m_MovePointUpBtn->setMaximumSize(25, 25);
const QIcon iconUp(":/QtWidgetsExt/btnUp.xpm");
m_MovePointUpBtn->setIcon(iconUp);
m_MovePointUpBtn->setToolTip("Swap selected point upwards (Hotkey: F2)");
m_MovePointDownBtn = new QPushButton();
m_MovePointDownBtn->setMaximumSize(25, 25);
const QIcon iconDown(":/QtWidgetsExt/btnDown.xpm");
m_MovePointDownBtn->setIcon(iconDown);
m_MovePointDownBtn->setToolTip("Swap selected point downwards (Hotkey: F3)");
m_SavePointsBtn = new QPushButton();
m_SavePointsBtn->setMaximumSize(25, 25);
QIcon iconSave(":/QtWidgetsExt/btnSave.xpm");
m_SavePointsBtn->setIcon(iconSave);
m_SavePointsBtn->setToolTip("Save points to file");
m_LoadPointsBtn = new QPushButton();
m_LoadPointsBtn->setMaximumSize(25, 25);
QIcon iconLoad(":/QtWidgetsExt/btnLoad.xpm");
m_LoadPointsBtn->setIcon(iconLoad);
m_LoadPointsBtn->setToolTip("Load list of points from file (REPLACES current content)");
int i;
QBoxLayout *lay1;
QBoxLayout *lay2;
QBoxLayout *lay3;
switch (m_Orientation)
{
case 0:
lay1 = new QVBoxLayout(this);
lay2 = new QHBoxLayout();
i = 0;
break;
case 1:
lay1 = new QHBoxLayout(this);
lay2 = new QVBoxLayout();
i = -1;
break;
case 2:
lay1 = new QHBoxLayout(this);
lay2 = new QVBoxLayout();
i = 0;
break;
default:
lay1 = new QVBoxLayout(this);
lay2 = new QHBoxLayout();
i = -1;
break;
}
// setup Layouts
this->setLayout(lay1);
lay2->stretch(true);
lay2->addWidget(m_ToggleAddPoint);
lay2->addWidget(m_AddPoint);
lay2->addWidget(m_RemovePointBtn);
lay2->addWidget(m_MovePointUpBtn);
lay2->addWidget(m_MovePointDownBtn);
lay2->addWidget(m_SavePointsBtn);
lay2->addWidget(m_LoadPointsBtn);
// setup Labels
- m_TimeSlotDisplay = new QLabel();
+ m_TimeStepDisplay = new QLabel();
lay3 = new QHBoxLayout();
- m_TimeSlotDisplay->setMaximumSize(50, 15);
+ m_TimeStepDisplay->setMaximumSize(50, 15);
m_PointListView->m_TimeStepFaderLabel->setMaximumSize(10, 15);
lay3->stretch(true);
lay3->setAlignment(Qt::AlignLeft);
- lay3->addWidget(m_TimeSlotDisplay);
+ lay3->addWidget(m_TimeStepDisplay);
lay3->addWidget(m_PointListView->m_TimeStepFaderLabel);
- m_TimeSlotDisplay->setText("Time Step: ");
+ m_TimeStepDisplay->setText("Time Step: ");
m_PointListModel = new QmitkPointListModel;
m_PointListView->m_TimeStepFaderLabel->setText(QString("%1").arg((this->m_PointListModel)->GetTimeStep()));
//Add Layouts
lay1->insertWidget(i, m_PointListView);
this->setLayout(lay1);
lay1->addLayout(lay2);
lay1->addLayout(lay3);
}
-void QmitkPointListWidget::updateTimeSlotStatus()
+void QmitkPointListWidget::updateTimeStepStatus()
{
m_PointListView->m_TimeStepFaderLabel = new QLabel(this);
m_PointListView->m_TimeStepFaderLabel->setVisible(true);
}
void QmitkPointListWidget::SetPointSet(mitk::PointSet *newPs)
{
if (newPs == nullptr)
return;
this->m_PointSetNode->SetData(newPs);
dynamic_cast(this->m_PointListView->model())->SetPointSetNode(m_PointSetNode);
ObserveNewNode(m_PointSetNode);
}
void QmitkPointListWidget::SetPointSetNode(mitk::DataNode *newNode)
{
if (m_DataInteractor.IsNotNull())
m_DataInteractor->SetDataNode(newNode);
ObserveNewNode(newNode);
dynamic_cast(this->m_PointListView->model())->SetPointSetNode(newNode);
}
void QmitkPointListWidget::OnBtnSavePoints()
{
if ((dynamic_cast(m_PointSetNode->GetData())) == nullptr)
return; // don't write empty point sets. If application logic requires something else then do something else.
if ((dynamic_cast(m_PointSetNode->GetData()))->GetSize() == 0)
return;
// take the previously defined name of node as proposal for filename
std::string nodeName = m_PointSetNode->GetName();
nodeName = "/" + nodeName + ".mps";
QString fileNameProposal = QString();
fileNameProposal.append(nodeName.c_str());
QString aFilename = QFileDialog::getSaveFileName(
nullptr, "Save point set", QDir::currentPath() + fileNameProposal, "MITK Pointset (*.mps)");
if (aFilename.isEmpty())
return;
try
{
mitk::IOUtil::Save(m_PointSetNode->GetData(), aFilename.toStdString());
}
catch (...)
{
QMessageBox::warning(this,
"Save point set",
QString("File writer reported problems writing %1\n\n"
"PLEASE CHECK output file!")
.arg(aFilename));
}
}
void QmitkPointListWidget::OnBtnLoadPoints()
{
// get the name of the file to load
QString filename = QFileDialog::getOpenFileName(nullptr, "Open MITK Pointset", "", "MITK Point Sets (*.mps)");
if (filename.isEmpty())
return;
// attempt to load file
try
{
mitk::PointSet::Pointer pointSet = dynamic_cast(mitk::IOUtil::Load(filename.toStdString())[0].GetPointer());
if (pointSet.IsNull())
{
QMessageBox::warning(this, "Load point set", QString("File reader could not read %1").arg(filename));
return;
}
// loading successful
this->SetPointSet(pointSet);
}
catch (...)
{
QMessageBox::warning(this, "Load point set", QString("File reader collapsed while reading %1").arg(filename));
}
emit PointListChanged();
mitk::RenderingManager::GetInstance()->RequestUpdateAll();
}
mitk::PointSet *QmitkPointListWidget::GetPointSet()
{
return dynamic_cast(m_PointSetNode->GetData());
}
mitk::DataNode *QmitkPointListWidget::GetPointSetNode()
{
return m_PointSetNode;
}
void QmitkPointListWidget::SetMultiWidget(QmitkStdMultiWidget *multiWidget)
{
m_PointListView->SetMultiWidget(multiWidget);
}
void QmitkPointListWidget::RemoveSelectedPoint()
{
if (!m_PointSetNode)
return;
mitk::PointSet *pointSet = dynamic_cast(m_PointSetNode->GetData());
if (!pointSet)
return;
if (pointSet->GetSize() == 0)
return;
QmitkPointListModel *pointListModel = dynamic_cast(m_PointListView->model());
pointListModel->RemoveSelectedPoint();
emit PointListChanged();
}
void QmitkPointListWidget::MoveSelectedPointDown()
{
if (!m_PointSetNode)
return;
mitk::PointSet *pointSet = dynamic_cast(m_PointSetNode->GetData());
if (!pointSet)
return;
if (pointSet->GetSize() == 0)
return;
QmitkPointListModel *pointListModel = dynamic_cast(m_PointListView->model());
pointListModel->MoveSelectedPointDown();
emit PointListChanged();
}
void QmitkPointListWidget::MoveSelectedPointUp()
{
if (!m_PointSetNode)
return;
mitk::PointSet *pointSet = dynamic_cast(m_PointSetNode->GetData());
if (!pointSet)
return;
if (pointSet->GetSize() == 0)
return;
QmitkPointListModel *pointListModel = dynamic_cast(m_PointListView->model());
pointListModel->MoveSelectedPointUp();
emit PointListChanged();
}
void QmitkPointListWidget::OnBtnAddPoint(bool checked)
{
if (m_PointSetNode.IsNotNull())
{
if (checked)
{
m_DataInteractor = m_PointSetNode->GetDataInteractor();
// If no data Interactor is present create a new one
if (m_DataInteractor.IsNull())
{
// Create PointSetData Interactor
m_DataInteractor = mitk::PointSetDataInteractor::New();
// Load the according state machine for regular point set interaction
m_DataInteractor->LoadStateMachine("PointSet.xml");
// Set the configuration file that defines the triggers for the transitions
m_DataInteractor->SetEventConfig("PointSetConfig.xml");
// set the DataNode (which already is added to the DataStorage
m_DataInteractor->SetDataNode(m_PointSetNode);
}
}
else
{
m_PointSetNode->SetDataInteractor(nullptr);
m_DataInteractor = nullptr;
}
emit EditPointSets(checked);
}
}
void QmitkPointListWidget::OnBtnAddPointManually()
{
mitk::PointSet *pointSet = this->GetPointSet();
QmitkEditPointDialog editPointDialog(this);
if (this->GetPointSet()->IsEmpty())
{
editPointDialog.SetPoint(pointSet, 0, m_TimeStep);
}
else
{
mitk::PointSet::PointsIterator maxIt = pointSet->GetMaxId();
mitk::PointSet::PointIdentifier maxId = maxIt->Index();
editPointDialog.SetPoint(pointSet, maxId + 1, m_TimeStep);
}
editPointDialog.exec();
}
void QmitkPointListWidget::OnListDoubleClick()
{
}
void QmitkPointListWidget::OnPointSelectionChanged()
{
emit this->PointSelectionChanged();
}
void QmitkPointListWidget::DeactivateInteractor(bool)
{
}
void QmitkPointListWidget::EnableEditButton(bool enabled)
{
m_EditAllowed = enabled;
if (enabled == false)
m_ToggleAddPoint->setEnabled(false);
else
m_ToggleAddPoint->setEnabled(true);
OnBtnAddPoint(enabled);
}
void QmitkPointListWidget::ObserveNewNode(mitk::DataNode *node)
{
if (m_DataInteractor.IsNotNull())
m_DataInteractor->SetDataNode(node);
// remove old observer
if (m_PointSetNode)
{
if (m_DataInteractor)
{
m_DataInteractor = nullptr;
m_ToggleAddPoint->setChecked(false);
}
m_PointSetNode->RemoveObserver(m_NodeObserverTag);
m_NodeObserverTag = 0;
}
m_PointSetNode = node;
// add new observer if necessary
if (m_PointSetNode)
{
itk::ReceptorMemberCommand::Pointer command =
itk::ReceptorMemberCommand::New();
command->SetCallbackFunction(this, &QmitkPointListWidget::OnNodeDeleted);
m_NodeObserverTag = m_PointSetNode->AddObserver(itk::DeleteEvent(), command);
}
else
{
m_NodeObserverTag = 0;
}
if (m_EditAllowed == true)
m_ToggleAddPoint->setEnabled(m_PointSetNode);
else
m_ToggleAddPoint->setEnabled(false);
m_RemovePointBtn->setEnabled(m_PointSetNode);
m_LoadPointsBtn->setEnabled(m_PointSetNode);
m_SavePointsBtn->setEnabled(m_PointSetNode);
m_AddPoint->setEnabled(m_PointSetNode);
}
void QmitkPointListWidget::OnNodeDeleted(const itk::EventObject &)
{
if (m_PointSetNode.IsNotNull() && !m_NodeObserverTag)
m_PointSetNode->RemoveObserver(m_NodeObserverTag);
m_NodeObserverTag = 0;
m_PointSetNode = nullptr;
m_PointListView->SetPointSetNode(nullptr);
m_ToggleAddPoint->setEnabled(false);
m_RemovePointBtn->setEnabled(false);
m_LoadPointsBtn->setEnabled(false);
m_SavePointsBtn->setEnabled(false);
m_AddPoint->setEnabled(false);
}
void QmitkPointListWidget::AddSliceNavigationController(mitk::SliceNavigationController *snc)
{
m_PointListView->AddSliceNavigationController(snc);
}
void QmitkPointListWidget::RemoveSliceNavigationController(mitk::SliceNavigationController *snc)
{
m_PointListView->RemoveSliceNavigationController(snc);
}
void QmitkPointListWidget::UnselectEditButton()
{
m_ToggleAddPoint->setChecked(false);
}
diff --git a/Plugins/org.blueberry.ui.qt/resources/darkstyle.qss b/Plugins/org.blueberry.ui.qt/resources/darkstyle.qss
index 21790818a2..7f45a09348 100644
--- a/Plugins/org.blueberry.ui.qt/resources/darkstyle.qss
+++ b/Plugins/org.blueberry.ui.qt/resources/darkstyle.qss
@@ -1,1475 +1,1475 @@
/*===================================================================
BlueBerry Platform
Copyright (c) German Cancer Research Center,
Division of Medical and Biological Informatics.
All rights reserved.
This software is distributed WITHOUT ANY WARRANTY; without
even the implied warranty of MERCHANTABILITY or FITNESS FOR
A PARTICULAR PURPOSE.
See LICENSE.txt or http://www.mitk.org for details.
===================================================================*/
/*
* The MIT License (MIT)
*
* Copyright (c) <2013-2014>
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
/*
foregroundColor = #adb1b6
iconColor = #adb1b6 <- This line is parsed by MITK
iconAccentColor = #db7039 <- This line is parsed by MITK
backgroundColor = #323231
inactiveColor = #1d1d1c
highlightColor = #3399cc
popupColor = #027c90
warningColor = #ffb400
borderColor = #1d1d1c
*/
QToolTip
{
border: 1px solid #1d1d1c;
background-color: #323231;
color: #adb1b6;
padding: 3px;
opacity: 200;
}
QWidget
{
color: #adb1b6;
background-color: #323231;
selection-background-color: #3399cc;
selection-color: #1d1d1c;
background-clip: border;
border-image: none;
border: 0px transparent #1d1d1c;
outline: 0;
}
QWidget:item:hover
{
background-color: #3399cc;
color: #adb1b6;
}
QWidget:item:selected
{
background-color: #3399cc;
}
QCheckBox
{
spacing: 5px;
outline: none;
color: #adb1b6;
margin-bottom: 2px;
}
QCheckBox:disabled
{
color: #1d1d1c;
}
QCheckBox::indicator,
QGroupBox::indicator
{
width: 18px;
height: 30px;
}
QGroupBox::indicator
{
margin-left: 0px;
}
QCheckBox::indicator:unchecked
{
image: url(:/org.blueberry.ui.qt/dark/checkbox_unchecked.png);
}
QCheckBox::indicator:unchecked:hover,
QCheckBox::indicator:unchecked:focus,
QCheckBox::indicator:unchecked:pressed,
QGroupBox::indicator:unchecked:hover,
QGroupBox::indicator:unchecked:focus,
QGroupBox::indicator:unchecked:pressed
{
border: none;
image: url(:/org.blueberry.ui.qt/dark/checkbox_unchecked_focus.png);
}
QCheckBox::indicator:checked
{
image: url(:/org.blueberry.ui.qt/dark/checkbox_checked.png);
}
QCheckBox::indicator:checked:hover,
QCheckBox::indicator:checked:focus,
QCheckBox::indicator:checked:pressed,
QGroupBox::indicator:checked:hover,
QGroupBox::indicator:checked:focus,
QGroupBox::indicator:checked:pressed
{
border: none;
image: url(:/org.blueberry.ui.qt/dark/checkbox_checked_focus.png);
}
QCheckBox::indicator:indeterminate
{
image: url(:/org.blueberry.ui.qt/dark/checkbox_indeterminate.png);
}
QCheckBox::indicator:indeterminate:focus,
QCheckBox::indicator:indeterminate:hover,
QCheckBox::indicator:indeterminate:pressed
{
image: url(:/org.blueberry.ui.qt/dark/checkbox_indeterminate_focus.png);
}
QCheckBox::indicator:checked:disabled,
QGroupBox::indicator:checked:disabled
{
image: url(:/org.blueberry.ui.qt/dark/checkbox_checked_disabled.png);
}
QCheckBox::indicator:unchecked:disabled,
QGroupBox::indicator:unchecked:disabled
{
image: url(:/org.blueberry.ui.qt/dark/checkbox_unchecked_disabled.png);
}
QRadioButton
{
spacing: 5px;
outline: none;
color: #adb1b6;
margin-bottom: 2px;
}
QRadioButton:disabled
{
color: #1d1d1c;
}
QRadioButton::indicator
{
width: 21px;
height: 21px;
}
QRadioButton::indicator:unchecked
{
image: url(:/org.blueberry.ui.qt/dark/radio_unchecked.png);
}
QRadioButton::indicator:unchecked:hover,
QRadioButton::indicator:unchecked:focus,
QRadioButton::indicator:unchecked:pressed
{
border: none;
outline: none;
image: url(:/org.blueberry.ui.qt/dark/radio_unchecked_focus.png);
}
QRadioButton::indicator:checked
{
border: none;
outline: none;
image: url(:/org.blueberry.ui.qt/dark/radio_checked.png);
}
QRadioButton::indicator:checked:hover,
QRadioButton::indicator:checked:focus,
QRadioButton::indicator:checked:pressed
{
border: none;
outline: none;
image: url(:/org.blueberry.ui.qt/dark/radio_checked_focus.png);
}
QRadioButton::indicator:checked:disabled
{
outline: none;
image: url(:/org.blueberry.ui.qt/dark/radio_checked_disabled.png);
}
QRadioButton::indicator:unchecked:disabled
{
image: url(:/org.blueberry.ui.qt/dark/radio_unchecked_disabled.png);
}
QMenuBar
{
background-color: #323231;
color: #adb1b6;
}
QMenuBar::item
{
background: transparent;
}
QMenuBar::item:selected
{
background: transparent;
border: 1px solid #1d1d1c;
}
QMenuBar::item:pressed
{
border: 1px solid #1d1d1c;
background-color: #3399cc;
color: #adb1b6;
margin-bottom:-1px;
padding-bottom:1px;
}
QMenu
{
border: 1px solid #1d1d1c;
color: #adb1b6;
margin: 2px;
}
QMenu::icon
{
margin: 5px;
}
QMenu::item
{
padding: 5px 30px 5px 30px;
margin-left: 5px;
border: 1px solid transparent; /* leave some space for selection border */
}
QMenu::item:selected
{
color: #adb1b6;
}
QMenu::separator
{
height: 2px;
background: #3399cc;
margin-left: 10px;
margin-right: 5px;
}
QMenu::indicator
{
width: 18px;
height: 18px;
}
/* non-exclusive indicator = check box style indicator
(see QActionGroup::setExclusive) */
QMenu::indicator:non-exclusive:unchecked
{
image: url(:/org.blueberry.ui.qt/dark/checkbox_unchecked.png);
}
QMenu::indicator:non-exclusive:unchecked:selected
{
image: url(:/org.blueberry.ui.qt/dark/checkbox_unchecked_disabled.png);
}
QMenu::indicator:non-exclusive:checked
{
image: url(:/org.blueberry.ui.qt/dark/checkbox_checked.png);
}
QMenu::indicator:non-exclusive:checked:selected
{
image: url(:/org.blueberry.ui.qt/dark/checkbox_checked_disabled.png);
}
/* exclusive indicator = radio button style indicator (see QActionGroup::setExclusive) */
QMenu::indicator:exclusive:unchecked {
image: url(:/org.blueberry.ui.qt/dark/radio_unchecked.png);
}
QMenu::indicator:exclusive:unchecked:selected {
image: url(:/org.blueberry.ui.qt/dark/radio_unchecked_disabled.png);
}
QMenu::indicator:exclusive:checked
{
image: url(:/org.blueberry.ui.qt/dark/radio_checked.png);
}
QMenu::indicator:exclusive:checked:selected
{
image: url(:/org.blueberry.ui.qt/dark/radio_checked_disabled.png);
}
QMenu::right-arrow
{
margin: 5px;
image: url(:/org.blueberry.ui.qt/dark/right_arrow.png)
}
QWidget:disabled
{
color: #1d1d1c;
background-color: #323231;
}
QAbstractItemView
{
alternate-background-color: #323231;
color: #adb1b6;
border: 1px solid 3A3939;
border-radius: 0px;
}
QWidget:focus,
QMenuBar:focus
{
border: 1px solid #3399cc;
}
QTabWidget:focus,
QCheckBox:focus,
QRadioButton:focus,
QSlider:focus
{
border: none;
}
QLineEdit
{
background-color: #1d1d1c;
padding: 2px;
border-style: solid;
border: 1px solid #1d1d1c;
border-radius: 0px;
color: #adb1b6;
}
QGroupBox
{
border:1px solid #323231;
border-radius: 0px;
padding-top: 1px;
font-weight: bold;
}
QGroupBox::title
{
border:1px solid #323231;
border-right:0px;
border-bottom:0px;
subcontrol-position: top left;
subcontrol-origin: margin;
padding: 1px;
}
QAbstractScrollArea
{
border-radius: 0px;
border: 1px solid #1d1d1c;
background-color: #323231;
}
QScrollBar:horizontal
{
height: 15px;
margin: 3px 15px 3px 15px;
border: 1px transparent #1d1d1c;
border-radius: 0px;
background-color: #1d1d1c;
}
QScrollBar::handle:horizontal
{
background-color: #323231;
border: 2px solid #1d1d1c;
min-width: 5px;
border-radius: 0px;
}
QScrollBar::add-line:horizontal
{
margin: 0px 3px 0px 3px;
border-image: url(:/org.blueberry.ui.qt/dark/right_arrow_disabled.png);
width: 10px;
height: 10px;
subcontrol-position: right;
subcontrol-origin: margin;
}
QScrollBar::sub-line:horizontal
{
margin: 0px 3px 0px 3px;
border-image: url(:/org.blueberry.ui.qt/dark/left_arrow_disabled.png);
height: 10px;
width: 10px;
subcontrol-position: left;
subcontrol-origin: margin;
}
QScrollBar::add-line:horizontal:hover,
QScrollBar::add-line:horizontal:on
{
border-image: url(:/org.blueberry.ui.qt/dark/right_arrow.png);
height: 10px;
width: 10px;
subcontrol-position: right;
subcontrol-origin: margin;
}
QScrollBar::sub-line:horizontal:hover,
QScrollBar::sub-line:horizontal:on
{
border-image: url(:/org.blueberry.ui.qt/dark/left_arrow.png);
height: 10px;
width: 10px;
subcontrol-position: left;
subcontrol-origin: margin;
}
QScrollBar::up-arrow:horizontal,
QScrollBar::down-arrow:horizontal
{
background: none;
}
QScrollBar::add-page:horizontal,
QScrollBar::sub-page:horizontal
{
background: none;
}
QScrollBar:vertical
{
background-color: #1d1d1c;
width: 15px;
margin: 15px 2px 15px 2px;
border: 1px transparent #1d1d1c;
border-radius: 0px;
}
QScrollBar::handle:vertical
{
background-color: #323231;
border: 2px solid #1d1d1c;
min-height: 5px;
border-radius: 0px;
}
QScrollBar::sub-line:vertical
{
margin: 3px 0px 3px 0px;
border-image: url(:/org.blueberry.ui.qt/dark/up_arrow_disabled.png);
height: 10px;
width: 10px;
subcontrol-position: top;
subcontrol-origin: margin;
}
QScrollBar::add-line:vertical
{
margin: 3px 0px 3px 0px;
border-image: url(:/org.blueberry.ui.qt/dark/down_arrow_disabled.png);
height: 10px;
width: 10px;
subcontrol-position: bottom;
subcontrol-origin: margin;
}
QScrollBar::sub-line:vertical:hover,
QScrollBar::sub-line:vertical:on
{
border-image: url(:/org.blueberry.ui.qt/dark/up_arrow.png);
height: 10px;
width: 10px;
subcontrol-position: top;
subcontrol-origin: margin;
}
QScrollBar::add-line:vertical:hover,
QScrollBar::add-line:vertical:on
{
border-image: url(:/org.blueberry.ui.qt/dark/down_arrow.png);
height: 10px;
width: 10px;
subcontrol-position: bottom;
subcontrol-origin: margin;
}
QScrollBar::up-arrow:vertical,
QScrollBar::down-arrow:vertical
{
background: none;
}
QScrollBar::add-page:vertical,
QScrollBar::sub-page:vertical
{
background: none;
}
QTextEdit
{
background-color: #1d1d1c;
color: #adb1b6;
border: 1px solid #1d1d1c;
}
QPlainTextEdit
{
background-color: #1d1d1c;;
color: #adb1b6;
border-radius: 0px;
border: 1px solid #1d1d1c;
}
QHeaderView::section
{
background-color: #1d1d1c;
color: #adb1b6;
padding: 5px;
border: 1px solid #1d1d1c;
}
QSizeGrip
{
image: url(:/org.blueberry.ui.qt/dark/sizegrip.png);
width: 12px;
height: 12px;
}
QMainWindow::separator
{
background-color: #323231;
color: #adb1b6;
padding-left: 4px;
spacing: 2px;
border: 1px dashed #1d1d1c;
}
QMainWindow::separator:hover
{
background-color: #adb1b6;
color: #adb1b6;
padding-left: 4px;
border: 1px solid #1d1d1c;
spacing: 2px;
}
QMenu::separator
{
height: 1px;
background-color: #1d1d1c;
color: #adb1b6;
padding-left: 4px;
margin-left: 10px;
margin-right: 5px;
}
QFrame
{
border-radius: 0px;
border: 1px solid #1d1d1c;
}
QFrame[frameShape="0"]
{
border-radius: 0px;
border: 1px transparent #1d1d1c;
}
QStackedWidget
{
border: 1px transparent #1d1d1c;
}
QToolBar
{
border: 1px transparent #393838;
background: 1px solid #323231;
font-weight: bold;
}
/* this fixes the size of the plugin icons in the toolbar */
QToolBar QToolButton
{
background-color: #323231;
border: 1px solid #323231;
border-radius: 0px;
min-width: 30px;
min-height: 30px;
margin: 0px;
padding: 0px;
}
QToolBar::handle:horizontal
{
image: url(:/org.blueberry.ui.qt/dark/Hmovetoolbar.png);
}
QToolBar::handle:vertical
{
image: url(:/org.blueberry.ui.qt/dark/Vmovetoolbar.png);
}
QToolBar::separator:horizontal
{
image: url(:/org.blueberry.ui.qt/dark/Hsepartoolbar.png);
}
QToolBar::separator:vertical
{
image: url(:/org.blueberry.ui.qt/dark/Vsepartoolbar.png);
}
QToolButton
{
background-color: #323231;
border: 1px solid #323231;
border-radius: 0px;
min-width: 12px;
min-height: 12px;
margin: 0px;
padding: 0px;
}
/* only for MenuButtonPopup */
QToolButton[popupMode="1"]
{
border: 0px solid #1d1d1c;
}
/* only for InstantPopup */
QToolButton[popupMode="2"]
{
border: 0px solid #1d1d1c;
}
/* this fixes the size of the standard icons in the toolbar */
QToolButton:hover,
QToolButton::menu-button:hover
{
background-color: #3399cc;
border: 1px solid #3399cc;
min-width: 30px;
min-height: 30px;
margin: 0px;
padding: 0px;
}
QToolButton#qt_toolbar_ext_button,
QToolBarExtension
{
qproperty-icon: url(:/org.blueberry.ui.qt/dark/right_arrows.svg);
min-width: 10px;
}
QPushButton
{
color: #adb1b6;
background-color: #323231;
- min-width: 68px;
+
border-width: 1px;
border-color: #1d1d1c;
border-style: solid;
padding: 3px;
border-radius: 0px;
outline: none;
}
QPushButton:disabled
{
background-color: #1d1d1c;
color: #323231;
}
QPushButton:focus
{
color: #3399cc;
border-color: #3399cc;
border-style: solid;
border-width: 1px;
}
QPushButton:pressed
{
background-color: #3399cc;
color: #1d1d1c;
padding-top: -15px;
padding-bottom: -17px;
border-width: 1px;
border-color: #1d1d1c;
}
QComboBox
{
selection-background-color: #3399cc;
selection-color: #1d1d1c;
border: 1px solid #1d1d1c;
border-radius: 0px;
padding: 3px;
min-width: 75px;
}
QPushButton:checked{
background-color: #1d1d1c;
border-color: #adb1b6;
}
QComboBox:hover,
QAbstractSpinBox:hover,
QLineEdit:hover,
QTextEdit:hover,
QPlainTextEdit:hover,
QAbstractView:hover
{
border: 1px solid #3399cc;
color: #adb1b6;
}
QPushButton:hover,QTreeView:hover
{
border: 1px solid #1d1d1c;
color: #3399cc;
}
QComboBox QAbstractItemView
{
background-color: #323231;
border-radius: 0px;
border: 1px solid #1d1d1c;
selection-background-color: #3399cc;
selection-color: #adb1b6;
}
QComboBox:on
{
padding-top: 3px;
padding-left: 3px;
selection-background-color: #3399cc;
color: #adb1b6;
selection-color: #adb1b6;
}
QComboBox::drop-down
{
subcontrol-origin: padding;
subcontrol-position: top right;
min-width: 15px;
border-top-right-radius: 0px;
border-bottom-right-radius: 0px;
}
QComboBox::down-arrow
{
image: url(:/org.blueberry.ui.qt/dark/down_arrow_disabled.png);
}
QComboBox::down-arrow:on,
QComboBox::down-arrow:hover,
QComboBox::down-arrow:focus
{
image: url(:/org.blueberry.ui.qt/dark/down_arrow.png);
}
QAbstractSpinBox
{
border: 1px solid #1d1d1c;
background-color: #1d1d1c;
padding-top: 1px;
padding-bottom: 1px;
color: #adb1b6;
border-radius: 0px;
min-width: 50px;
}
QAbstractSpinBox:up-button
{
border: 2px transparent #1d1d1c;
background-color: #323231;
subcontrol-origin: border;
subcontrol-position: top right;
padding-top: 1px;
margin-bottom: 1px;
margin-top: 2px;
margin-right: 2px;
margin-left: 2px;
}
QAbstractSpinBox:down-button
{
border: 2px transparent #1d1d1c;
background-color: #323231;
subcontrol-origin: border;
subcontrol-position: bottom right;
padding-bottom: 0px;
margin-bottom: 2px;
margin-top: 1px;
margin-right: 2px;
margin-left: 2px;
}
QAbstractSpinBox::up-arrow,QAbstractSpinBox::up-arrow:disabled,QAbstractSpinBox::up-arrow:off
{
image: url(:/org.blueberry.ui.qt/dark/up_arrow_disabled.png);
width: 10px;
height: 10px;
}
QAbstractSpinBox::up-arrow:hover
{
image: url(:/org.blueberry.ui.qt/dark/up_arrow.png);
}
QAbstractSpinBox::down-arrow,QAbstractSpinBox::down-arrow:disabled,QAbstractSpinBox::down-arrow:off
{
image: url(:/org.blueberry.ui.qt/dark/down_arrow_disabled.png);
width: 10px;
height: 10px;
}
QAbstractSpinBox::down-arrow:hover
{
image: url(:/org.blueberry.ui.qt/dark/down_arrow.png);
}
QLabel
{
border: 0px solid #1d1d1c;
}
QTabWidget{
border: 1px transparent #1d1d1c;
}
QTabWidget::pane
{
border: 1px solid #1d1d1c;
padding: 2px;
margin: 0px;
}
/* TABS IN GENERAL */
QTabBar
{
qproperty-drawBase: 0;
left: 0px;
border-radius: 0px;
border: 1px trasparent #1d1d1c;
}
QTabBar:focus
{
border: 1px solid #1d1d1c;
}
QTabBar::close-button
{
image: url(:/org.blueberry.ui.qt/dark/tab_close_grey.svg);
background: transparent;
}
QTabBar::close-button:hover
{
image: url(:/org.blueberry.ui.qt/dark/tab_close_grey.svg);
background: transparent;
}
QTabBar::close-button:pressed {
image: url(:/org.blueberry.ui.qt/dark/tab_close_grey.svg);
background: transparent;
}
QTabBar::tab:right:!selected:hover
{
color: #3399cc;
}
QTabBar QToolButton::right-arrow:enabled
{
image: url(:/org.blueberry.ui.qt/dark/right_arrow.png);
}
QTabBar QToolButton::left-arrow:enabled
{
image: url(:/org.blueberry.ui.qt/dark/left_arrow.png);
}
QTabBar QToolButton::right-arrow:disabled
{
image: url(:/org.blueberry.ui.qt/dark/right_arrow_disabled.png);
}
QTabBar QToolButton::left-arrow:disabled
{
image: url(:/org.blueberry.ui.qt/dark/left_arrow_disabled.png);
}
QTabBar::scroller
{
margin: 0px;
padding: 0px;
}
/* TOP TABS */
QTabBar::tab:top
{
font-weight: bold;
color:#ffffff;
border: 0px solid #1d1d1c;
background: #7c7c7a;
padding: 2px;
min-width: 150px;
border-top-left-radius: 0px;
border-top-right-radius: 0px;
}
QTabBar::tab:top:!selected
{
color: #adb1b6;
font-weight: normal;
background-color: #323231;
border: 0px solid #1d1d1c;
border-top-left-radius: 0px;
border-top-right-radius: 0px;
}
QTabBar::tab:top:!selected:hover
{
color: #3399cc;
}
/* BOTTOM TABS */
QTabBar::tab:bottom
{
font-weight: bold;
color: #ffffff ;
border: 0px solid #1d1d1c;
background-color: #1d1d1c;
padding: 5px;
border-bottom-left-radius: 0px;
border-bottom-right-radius: 0px;
min-width: 50px;
}
QTabBar::tab:bottom:!selected
{
color: #adb1b6;
font-weight: normal;
background-color: #323231;
border: 0px solid #1d1d1c;
border-bottom-left-radius: 0px;
border-bottom-right-radius: 0px;
}
QTabBar::tab:bottom:!selected:hover
{
color: #3399cc;
}
/* LEFT TABS */
QTabBar::tab:left
{
color: #adb1b6;
font-weight: bold;
border: 0px solid #1d1d1c;
background-color: #1d1d1c;
padding: 5px;
border-top-right-radius: 0px;
border-bottom-right-radius: 0px;
min-height: 50px;
}
QTabBar::tab:left:!selected
{
color: #adb1b6;
font-weight: normal;
background-color: #323231;
border: 0px solid #1d1d1c;
border-top-right-radius: 0px;
border-bottom-right-radius: 0px;
}
QTabBar::tab:left:!selected:hover
{
color: #3399cc;
}
/* RIGHT TABS */
QTabBar::tab:right
{
color: #adb1b6;
font-weight: bold;
border: 0px solid #1d1d1c;
background-color: #1d1d1c;
padding: 5px;
border-top-left-radius: 0px;
border-bottom-left-radius: 0px;
min-height: 50px;
}
QTabBar::tab:right:!selected
{
color: #adb1b6;
font-weight: normal;
background-color: #323231;
border: 0px solid #1d1d1c;
border-top-left-radius: 0px;
border-bottom-left-radius: 0px;
}
/* TODO check if #403F3F is nice */
QDockWidget
{
background: #323231;
border: 1px solid #403F3F;
titlebar-close-icon: url(:/org.blueberry.ui.qt/dark/tab_close_grey.svg);
titlebar-normal-icon: url(:/org.blueberry.ui.qt/dark/undock.png);
}
QDockWidget::close-button, QDockWidget::float-button
{
border: 1px solid transparent;
border-radius: 0px;
background: transparent;
}
/* TODO check if rgba(255, 255, 255, 10) is nice */
QDockWidget::close-button:hover,
QDockWidget::float-button:hover
{
background: rgba(255, 255, 255, 10);
}
QDockWidget::close-button:pressed,
QDockWidget::float-button:pressed
{
padding: 1px -1px -1px 1px;
background: rgba(255, 255, 255, 10);
}
QTreeView, QListView
{
border: 1px solid #1d1d1c;
background-color: #1d1d1c;
}
QTreeView::indicator:unchecked
{
image: url(:/org.blueberry.ui.qt/dark/checkbox_big_unchecked.png);
}
QTreeView::indicator:checked,
QTreeView::indicator:indeterminate
{
image: url(:/org.blueberry.ui.qt/dark/checkbox_big_checked.png);
}
QTreeView::indicator:unchecked:selected
{
image: url(:/org.blueberry.ui.qt/dark/checkbox_big_unchecked_disabled.png);
}
QTreeView::indicator:indeterminate:selected,
QTreeView::indicator:checked:selected
{
image: url(:/org.blueberry.ui.qt/dark/checkbox_big_checked_disabled.png);
}
QTreeView:branch:selected,
QTreeView:branch:hover
{
background: url(:/org.blueberry.ui.qt/dark/transparent.png);
}
QTreeView::branch:has-siblings:!adjoins-item
{
border-image: url(:/org.blueberry.ui.qt/dark/transparent.png);
}
QTreeView::branch:has-siblings:adjoins-item
{
border-image: url(:/org.blueberry.ui.qt/dark/transparent.png);
}
QTreeView::branch:!has-children:!has-siblings:adjoins-item
{
border-image: url(:/org.blueberry.ui.qt/dark/transparent.png);
}
QTreeView::branch:has-children:!has-siblings:closed,
QTreeView::branch:closed:has-children:has-siblings
{
image: url(:/org.blueberry.ui.qt/dark/branch_closed.png);
}
QTreeView::branch:open:has-children:!has-siblings,
QTreeView::branch:open:has-children:has-siblings
{
image: url(:/org.blueberry.ui.qt/dark/branch_open.png);
}
QTreeView::branch:has-children:!has-siblings:closed:hover,
QTreeView::branch:closed:has-children:has-siblings:hover
{
image: url(:/org.blueberry.ui.qt/dark/branch_closed-on.png);
}
QTreeView::branch:open:has-children:!has-siblings:hover,
QTreeView::branch:open:has-children:has-siblings:hover
{
image: url(:/org.blueberry.ui.qt/dark/branch_open-on.png);
}
QListView::item:!selected:hover,
QTreeView::item:!selected:hover
{
background: #323231;
outline: 0;
color: #adb1b6
}
QListView::item:selected:hover,
QTreeView::item:selected:hover
{
background: #3399cc;
color: #adb1b6;
}
QSlider::groove:horizontal
{
border: 1px solid #1d1d1c;
height: 3px;
background: #1d1d1c;
margin: 0px;
border-radius: 0px;
}
QSlider::handle:horizontal
{
background: #adb1b6;
border: 1px solid #1d1d1c;
width: 7px;
height: 16px;
margin: -8px 0;
border-radius: 0px;
}
QSlider::groove:vertical
{
border: 1px solid #1d1d1c;
width: 3px;
background: #1d1d1c;
margin: 0px;
border-radius: 0px;
}
QSlider::handle:vertical
{
background: #adb1b6;
border: 1px solid #1d1d1c;
width: 16px;
height: 7px;
margin: 0 -8px;
border-radius: 0px;
}
QmitkRenderWindowMenu
{
background-color: transparent;
}
/* this fixes the size of the icons in the stdMultiWidget */
QmitkRenderWindowMenu QToolButton,
QmitkRenderWindowMenu QToolButton::menu-button {
background-color: transparent;
border: 0px solid #1d1d1c;
border-radius: 0px;
width: 15px;
height: 15px;
margin: 1px;
padding: 0px;
}
QmitkRenderWindowMenu QToolButton:hover,
QmitkRenderWindowMenu QToolButton::menu-button:hover
{
background-color: #adb1b6;
border: 0px solid #3399cc;
width: 15px;
height: 15px;
margin: 1px;
padding: 0px;
}
QToolButton:checked,
QToolButton:pressed,
QToolButton::menu-button:pressed
{
color: #3399cc;
border: 1px solid #3399cc;
padding: 0px;
}
/* the subcontrol below is used only in the InstantPopup or DelayedPopup mode */
QToolButton::menu-indicator
{
image: url(:/org.blueberry.ui.qt/dark/down_arrow.png);
top: -7px; left: -2px; /* shift it a bit */
}
/* the subcontrols below are used only in the MenuButtonPopup mode */
QToolButton::menu-button
{
border: 1px transparent #1d1d1c;
border-top-right-radius: 0px;
border-bottom-right-radius: 0px;
/* 16px width + 4px for border = 20px allocated above */
width: 16px;
outline: none;
}
QToolButton::menu-arrow
{
image: url(:/org.blueberry.ui.qt/dark/down_arrow.png);
}
QToolButton::menu-arrow:open
{
border: 1px solid #1d1d1c;
}
QPushButton::menu-indicator
{
subcontrol-origin: padding;
subcontrol-position: bottom right;
left: 8px;
}
QTableView
{
border: 1px solid #1d1d1c;
gridline-color: #323231;
background-color: #1d1d1c;
}
QTableView, QHeaderView
{
border-radius: 0px;
}
QTableView::item:pressed, QListView::item:pressed, QTreeView::item:pressed
{
background: #3399cc;
color: #1d1d1c;
}
QTableView::item:selected:active, QTreeView::item:selected:active, QListView::item:selected:active
{
background: #3399cc;
color: #1d1d1c;
}
QHeaderView
{
background-color: #323231;
border: 1px transparent;
border-radius: 0px;
margin: 0px;
padding: 0px;
}
QHeaderView::section
{
background-color: #323231;
color: #adb1b6;
padding: 5px;
border: 1px solid #1d1d1c;
border-radius: 0px;
text-align: left;
}
QHeaderView::section::vertical::first, QHeaderView::section::vertical::only-one
{
border-top: 1px solid #1d1d1c;
}
QHeaderView::section::vertical
{
border-top: transparent;
}
QHeaderView::section::horizontal::first, QHeaderView::section::horizontal::only-one
{
border-left: 1px solid #1d1d1c;
}
QHeaderView::section::horizontal
{
border-left: transparent;
}
QHeaderView::section:checked
{
color: #adb1b6;
background-color: #323231;
}
/* sort indicator */
QHeaderView::down-arrow
{
image: url(:/org.blueberry.ui.qt/dark/down_arrow.png);
}
QHeaderView::up-arrow
{
image: url(:/org.blueberry.ui.qt/dark/up_arrow.png);
}
QTableCornerButton::section
{
background-color: #323231;
border: 1px transparent #1d1d1c;
border-radius: 0px;
}
QToolBox
{
color: #adb1b6;
background-color: #323231;
padding: 5px;
border: 1px transparent #1d1d1c;
}
QToolBox::tab
{
color: #ffffff;
background-color: #323231;
border: 1px solid #1d1d1c;
border-bottom: 1px solid #1d1d1c;
border-top-left-radius: 0px;
border-top-right-radius: 0px;
}
QToolBox::tab:selected
{
font-weight: bold;
background-color: #7c7c7a;
}
QStatusBar::item
{
border: 0px transparent #1d1d1c;
}
QSplitter::handle
{
border: 1px dashed #1d1d1c;
}
QSplitter::handle:hover
{
background-color: #adb1b6;
border: 1px solid #1d1d1c;
}
QSplitter::handle:horizontal
{
width: 1px;
}
QSplitter::handle:vertical
{
height: 1px;
}
QProgressBar
{
border: 1px solid #1d1d1c;
border-radius: 0px;
text-align: center;
}
QProgressBar::chunk
{
background-color: #3399cc;
}
QDateEdit
{
selection-background-color: #3399cc;
selection-color: #1d1d1c;
border: 1px solid #1d1d1c;
border-radius: 0px;
padding: 1px;
min-width: 75px;
}
QDateEdit:on
{
padding-top: 3px;
padding-left: 4px;
}
QDateEdit QAbstractItemView
{
background-color: #1d1d1c;
border-radius: 0px;
border: 1px solid #1d1d1c;
selection-background-color: #3399cc;
selection-color: #1d1d1c;
}
QDateEdit::drop-down
{
subcontrol-origin: padding;
subcontrol-position: top right;
width: 15px;
border-left-width: 0px;
border-left-color: darkgray;
border-left-style: solid;
border-top-right-radius: 0px;
border-bottom-right-radius: 0px;
}
QDateEdit::down-arrow
{
image: url(:/org.blueberry.ui.qt/dark/down_arrow_disabled.png);
}
QDateEdit::down-arrow:on, QDateEdit::down-arrow:hover,
QDateEdit::down-arrow:focus
{
image: url(:/org.blueberry.ui.qt/dark/down_arrow.png);
}