diff --git a/Plugins/org.blueberry.ui.qt/resources/fonts/OpenSans/OpenSans-Bold.ttf b/Plugins/org.blueberry.ui.qt/resources/fonts/OpenSans/OpenSans-Bold.ttf
new file mode 100644
index 0000000000..fd79d43bea
Binary files /dev/null and b/Plugins/org.blueberry.ui.qt/resources/fonts/OpenSans/OpenSans-Bold.ttf differ
diff --git a/Plugins/org.blueberry.ui.qt/resources/fonts/OpenSans/OpenSans-BoldItalic.ttf b/Plugins/org.blueberry.ui.qt/resources/fonts/OpenSans/OpenSans-BoldItalic.ttf
new file mode 100644
index 0000000000..9bc800958a
Binary files /dev/null and b/Plugins/org.blueberry.ui.qt/resources/fonts/OpenSans/OpenSans-BoldItalic.ttf differ
diff --git a/Plugins/org.blueberry.ui.qt/resources/fonts/OpenSans/OpenSans-Italic.ttf b/Plugins/org.blueberry.ui.qt/resources/fonts/OpenSans/OpenSans-Italic.ttf
new file mode 100644
index 0000000000..c90da48ff3
Binary files /dev/null and b/Plugins/org.blueberry.ui.qt/resources/fonts/OpenSans/OpenSans-Italic.ttf differ
diff --git a/Plugins/org.blueberry.ui.qt/resources/fonts/OpenSans/OpenSans-Light.ttf b/Plugins/org.blueberry.ui.qt/resources/fonts/OpenSans/OpenSans-Light.ttf
new file mode 100644
index 0000000000..0d381897da
Binary files /dev/null and b/Plugins/org.blueberry.ui.qt/resources/fonts/OpenSans/OpenSans-Light.ttf differ
diff --git a/Plugins/org.blueberry.ui.qt/resources/fonts/OpenSans/OpenSans-Regular.ttf b/Plugins/org.blueberry.ui.qt/resources/fonts/OpenSans/OpenSans-Regular.ttf
new file mode 100644
index 0000000000..db433349b7
Binary files /dev/null and b/Plugins/org.blueberry.ui.qt/resources/fonts/OpenSans/OpenSans-Regular.ttf differ
diff --git a/Plugins/org.blueberry.ui.qt/resources/org_blueberry_ui_qt.qrc b/Plugins/org.blueberry.ui.qt/resources/org_blueberry_ui_qt.qrc
index 8b9a9bd9e8..2dddd72879 100755
--- a/Plugins/org.blueberry.ui.qt/resources/org_blueberry_ui_qt.qrc
+++ b/Plugins/org.blueberry.ui.qt/resources/org_blueberry_ui_qt.qrc
@@ -1,67 +1,72 @@
cursor_bottom.xpm
cursor_center.xpm
cursor_left.xpm
cursor_offscreen.xpm
cursor_right.xpm
cursor_top.xpm
dialog-error.svg
icon_missing.png
tab_close_icon.png
tab_close_icon-active.png
defaultstyle.qss
defaultstyle-activetab.qss
defaultstyle-tab.qss
dark/up_arrow_disabled.png
dark/Hmovetoolbar.png
dark/stylesheet-branch-end.png
dark/branch_closed-on.png
dark/stylesheet-vline.png
dark/branch_closed.png
dark/branch_open-on.png
dark/transparent.png
dark/right_arrow_disabled.png
dark/sizegrip.png
dark/close.png
dark/close-hover.png
dark/close-pressed.png
dark/down_arrow.png
dark/Vmovetoolbar.png
dark/left_arrow.png
dark/stylesheet-branch-more.png
dark/up_arrow.png
dark/right_arrow.png
dark/left_arrow_disabled.png
dark/Hsepartoolbar.png
dark/branch_open.png
dark/Vsepartoolbar.png
dark/down_arrow_disabled.png
dark/undock.png
dark/checkbox_checked_disabled.png
dark/checkbox_checked_focus.png
dark/checkbox_checked.png
dark/checkbox_indeterminate.png
dark/checkbox_indeterminate_focus.png
dark/checkbox_unchecked_disabled.png
dark/checkbox_unchecked_focus.png
dark/checkbox_unchecked.png
dark/radio_checked_disabled.png
dark/radio_checked_focus.png
dark/radio_checked.png
dark/radio_unchecked_disabled.png
dark/radio_unchecked_focus.png
dark/radio_unchecked.png
darkstyle.qss
darkstyle-tab.qss
darkstyle-activetab.qss
fonts/FiraSans/FiraSans.ttc
fonts/LightFiraSans/LightFiraSans.ttc
fonts/Roboto/Roboto.ttf
+ fonts/OpenSans/OpenSans-Bold.ttf
+ fonts/OpenSans/OpenSans-BoldItalic.ttf
+ fonts/OpenSans/OpenSans-Italic.ttf
+ fonts/OpenSans/OpenSans-Light.ttf
+ fonts/OpenSans/OpenSans-Regular.ttf
fonts/xkcd/xkcd.ttf
diff --git a/Plugins/org.blueberry.ui.qt/src/internal/berryQtStyleManager.cpp b/Plugins/org.blueberry.ui.qt/src/internal/berryQtStyleManager.cpp
index f695ef9495..49cd7eae65 100644
--- a/Plugins/org.blueberry.ui.qt/src/internal/berryQtStyleManager.cpp
+++ b/Plugins/org.blueberry.ui.qt/src/internal/berryQtStyleManager.cpp
@@ -1,392 +1,410 @@
/*===================================================================
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.
===================================================================*/
#include "berryQtStyleManager.h"
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include "berryQtPreferences.h"
#include "berryWorkbenchPlugin.h"
namespace berry
{
QtStyleManager::QtStyleManager()
{
AddDefaultStyle();
AddDefaultFonts();
ReadPreferences();
}
void QtStyleManager::ReadPreferences()
{
IPreferencesService* prefService = WorkbenchPlugin::GetDefault()->GetPreferencesService();
IPreferences::Pointer stylePref = prefService->GetSystemPreferences()->Node(QtPreferences::QT_STYLES_NODE);
QString paths = stylePref->Get(QtPreferences::QT_STYLE_SEARCHPATHS, "");
QStringList pathList = paths.split(";", QString::SkipEmptyParts);
QStringListIterator it(pathList);
while (it.hasNext())
{
AddStyles(it.next());
}
QString styleName = stylePref->Get(QtPreferences::QT_STYLE_NAME, "");
// if a style is contributed via the Qt resource mechanism, it may not be
// registered yet.
if (Contains(styleName))
// do not update the style in the QApplication instance,
// since it might not be created yet
SetStyle(styleName, false);
else
SetDefaultStyle(false);
}
QtStyleManager::~QtStyleManager()
{
for (FileNameToStyleMap::const_iterator i = styles.begin(); i != styles.end(); ++i)
{
delete i.value();
}
}
void QtStyleManager::AddDefaultStyle()
{
#ifndef _APPLE_
AddStyle(":/org.blueberry.ui.qt/defaultstyle.qss", "Default");
AddStyle(":/org.blueberry.ui.qt/darkstyle.qss", "Dark");
defaultStyle = styles[":/org.blueberry.ui.qt/defaultstyle.qss"];
#endif
}
void QtStyleManager::AddDefaultFonts()
{
m_customFontNames.append(QString("<>"));
- AddFont(QString(":/org.blueberry.ui.qt/fonts/FiraSans/FiraSans.ttc"), QString("Fira Sans"));
- AddFont(QString(":/org.blueberry.ui.qt/fonts/LightFiraSans/LightFiraSans.ttc"), QString("Light Fira Sans"));
- AddFont(QString(":/org.blueberry.ui.qt/fonts/Roboto/Roboto.ttf"), QString("Roboto"));
- AddFont(QString(":/org.blueberry.ui.qt/fonts/xkcd/xkcd.ttf"), QString("xkcd"));
+
+ m_customFontNames.append(QString("Fira Sans"));
+ QFontDatabase::addApplicationFont(":/org.blueberry.ui.qt/fonts/FiraSans/FiraSans.ttc");
+
+ m_customFontNames.append(QString("Light Fira Sans"));
+ QFontDatabase::addApplicationFont(":/org.blueberry.ui.qt/fonts/LightFiraSans/LightFiraSans.ttc");
+
+ m_customFontNames.append(QString("Roboto"));
+ QFontDatabase::addApplicationFont(":/org.blueberry.ui.qt/fonts/Roboto/Roboto.ttf");
+
+ m_customFontNames.push_back(QString("Open Sans"));
+ QFontDatabase::addApplicationFont(":/org.blueberry.ui.qt/fonts/OpenSans/OpenSans-Bold.ttf");
+ QFontDatabase::addApplicationFont(":/org.blueberry.ui.qt/fonts/OpenSans/OpenSans-BoldItalic.ttf");
+ QFontDatabase::addApplicationFont(":/org.blueberry.ui.qt/fonts/OpenSans/OpenSans-Italic.ttf");
+ QFontDatabase::addApplicationFont(":/org.blueberry.ui.qt/fonts/OpenSans/OpenSans-Light.ttf");
+ QFontDatabase::addApplicationFont(":/org.blueberry.ui.qt/fonts/OpenSans/OpenSans-Regular.ttf");
+
+ m_customFontNames.push_back(QString("xkcd"));
+ QFontDatabase::addApplicationFont(":/org.blueberry.ui.qt/fonts/xkcd/xkcd.ttf");
}
void QtStyleManager::ClearStyles()
{
for (FileNameToStyleMap::iterator i = styles.begin(); i != styles.end(); )
{
if (!i.value()->fileName.startsWith(':'))
{
delete i.value();
i = styles.erase(i);
}
else ++i;
}
SetDefaultStyle();
}
QtStyleManager::Style QtStyleManager::GetStyle() const
{
return Style(currentStyle->name, currentStyle->fileName);
}
QString QtStyleManager::GetStylesheet() const
{
return currentStyle->stylesheet;
}
QString QtStyleManager::GetActiveTabStylesheet() const
{
return currentStyle->activeTabStylesheet;
}
QString QtStyleManager::GetTabStylesheet() const
{
return currentStyle->tabStylesheet;
}
void QtStyleManager::AddStyle(const QString& styleFileName,
const QString& styleName)
{
auto newStyle = new ExtStyle();
if (styleName.isEmpty())
{
QFileInfo info(styleFileName);
newStyle->name = info.completeBaseName();
}
else
{
newStyle->name = styleName;
}
newStyle->fileName = styleFileName;
styles.insert(newStyle->fileName, newStyle);
}
-void QtStyleManager::AddFont(const QString& fontFilePath,
- const QString& fontName)
-{
- QFontDatabase::addApplicationFont(fontFilePath);
- m_customFontNames.push_back(fontName);
-}
-
void QtStyleManager::GetFonts(QStringList& fontNames) const
{
fontNames = m_customFontNames;
}
QString QtStyleManager::GetFont() const
{
return currentFont;
}
void QtStyleManager::AddStyles(const QString& path)
{
QDirIterator dirIt(path);
while (dirIt.hasNext())
{
QString current = dirIt.next();
QFileInfo info = dirIt.fileInfo();
if (info.isFile() && info.isReadable())
{
QString fileName = info.fileName();
if (fileName.endsWith("-tab.qss") || fileName.endsWith("-activetab.qss"))
continue;
if (fileName.endsWith(".qss"))
AddStyle(current);
}
}
}
void QtStyleManager::ReadStyleData(ExtStyle* style)
{
QString tabStyleFileName(style->fileName);
QString activeTabStyleFileName(style->fileName);
int index = style->fileName.lastIndexOf(".qss");
tabStyleFileName.replace(index, 4, "-tab.qss");
activeTabStyleFileName.replace(index, 4, "-activetab.qss");
QFile styleFile(style->fileName);
if (styleFile.open(QIODevice::ReadOnly))
{
QTextStream in(&styleFile);
style->stylesheet = in.readAll();
}
else
{
BERRY_WARN << "Could not read " << style->fileName.toStdString();
}
QFile tabStyleFile(tabStyleFileName);
if (tabStyleFile.open(QIODevice::ReadOnly))
{
QTextStream in(&tabStyleFile);
style->tabStylesheet = in.readAll();
}
else
{
BERRY_WARN << "Could not read " << tabStyleFileName.toStdString();
}
QFile activeTabStyleFile(activeTabStyleFileName);
if (activeTabStyleFile.open(QIODevice::ReadOnly))
{
QTextStream in(&activeTabStyleFile);
style->activeTabStylesheet = in.readAll();
}
else
{
BERRY_WARN << "Could not read " << activeTabStyleFileName.toStdString();
}
}
void QtStyleManager::RemoveStyle(const QString& styleFileName)
{
if (currentStyle->fileName == styleFileName)
{
SetDefaultStyle();
}
delete styles.take(styleFileName);
}
void QtStyleManager::RemoveStyles(const QString& repo)
{
if (repo.isEmpty())
{
ClearStyles();
return;
}
for (FileNameToStyleMap::iterator i = styles.begin(); i != styles.end();)
{
ExtStyle* style = i.value();
QFileInfo info(style->fileName);
if (info.absolutePath() == repo)
{
if (style->name == currentStyle->name)
{
SetDefaultStyle();
}
i = styles.erase(i);
delete style;
}
else
{
++i;
}
}
}
void QtStyleManager::GetStyles(StyleList& styleNames) const
{
for (FileNameToStyleMap::const_iterator i = styles.begin(); i != styles.end(); ++i)
styleNames.push_back(Style(i.value()->name, i.value()->fileName));
}
void QtStyleManager::GetIconThemes(IconThemeList& iconThemes) const
{
iconThemes.clear();
iconThemes.push_back(IconTheme(QString( "<>" )));
QStringList iconSearchPaths = QIcon::themeSearchPaths();
for(QStringList::Iterator pathIt = iconSearchPaths.begin(); pathIt != iconSearchPaths.end(); ++pathIt)
{
QDirIterator dirIt(*pathIt);
while (dirIt.hasNext())
{
QString current = dirIt.next();
QFileInfo info = dirIt.fileInfo();
if (info.isDir() && info.isReadable())
{
QFileInfo themeFile( info.filePath() + QString("/index.theme") );
if( themeFile.exists() && themeFile.isFile() && themeFile.isReadable() )
{
QString fileName = info.fileName();
iconThemes.push_back( IconTheme(fileName) );
}
}
}
}
}
void QtStyleManager::SetStyle(const QString& fileName)
{
SetStyle(fileName, true);
}
void QtStyleManager::SetStyle(const QString& fileName, bool update)
{
if (fileName.isEmpty())
{
SetDefaultStyle();
return;
}
FileNameToStyleMap::const_iterator i = styles.find(fileName);
ExtStyle* style = nullptr;
if (i == styles.end())
{
BERRY_WARN << "Style " + fileName.toStdString() << " does not exist";
style = defaultStyle;
}
else
{
style = i.value();
}
currentStyle = style;
ReadStyleData(style);
if (update)
{
qApp->setStyleSheet(currentStyle->stylesheet);
PlatformUI::GetWorkbench()->UpdateTheme();
}
}
void QtStyleManager::SetFont(const QString& fontName)
{
if( fontName == QString( "<>" ) || fontName == QString( "" ))
{
qApp->setFont(QFontDatabase::systemFont(QFontDatabase::GeneralFont));
}
else
{
- QFont font(fontName);
+ QFont font;
+ font.setFamily(fontName);
+ font.setPointSize(11);
+ std::cout << "[FONT DEBUG] bold?: " << font.bold() << std::endl;
+
+ QStringList foo = QFontDatabase::applicationFontFamilies(1);
+ for(size_t i = 0; i < foo.size(); ++i)
+ {
+ std::cout << "[FONT DEBUG]applicationFontFamilies?: " << foo[i] << std::endl;
+ }
+
qApp->setFont(font);
}
currentFont = fontName;
qApp->setStyleSheet(currentStyle->stylesheet);
PlatformUI::GetWorkbench()->UpdateTheme();
}
void QtStyleManager::SetIconTheme(const QString& themeName)
{
if( themeName == QString( "<>" ) )
{
SetIconTheme( QString("tango"), true);
}
else
{
SetIconTheme(themeName, true);
}
}
void QtStyleManager::SetIconTheme(const QString& themeName, bool /*update*/)
{
QIcon::setThemeName( themeName );
}
QtStyleManager::Style QtStyleManager::GetDefaultStyle() const
{
return Style(defaultStyle->name, defaultStyle->fileName);
}
void QtStyleManager::SetDefaultStyle()
{
SetDefaultStyle(true);
}
void QtStyleManager::SetDefaultStyle(bool update)
{
SetStyle(defaultStyle->fileName, update);
}
bool QtStyleManager::Contains(const QString& fileName) const
{
return styles.contains(fileName);
}
}
diff --git a/Plugins/org.mitk.gui.qt.pointsetinteraction/src/internal/QmitkPointSetInteractionViewControls.ui b/Plugins/org.mitk.gui.qt.pointsetinteraction/src/internal/QmitkPointSetInteractionViewControls.ui
index ac9bf83f81..9f398951c2 100755
--- a/Plugins/org.mitk.gui.qt.pointsetinteraction/src/internal/QmitkPointSetInteractionViewControls.ui
+++ b/Plugins/org.mitk.gui.qt.pointsetinteraction/src/internal/QmitkPointSetInteractionViewControls.ui
@@ -1,136 +1,179 @@
QmitkPointSetInteractionControls
0
0
376
580
0
0
QmitkPointSetInteractionView
6
-
+
+ 9
+
+
+ 9
+
+
+ 9
+
+
9
-
2
-
+
+ 2
+
+
+ 2
+
+
+ 2
+
+
2
-
Selected point set:
-
none
-
2
-
+
+ 2
+
+
+ 2
+
+
+ 2
+
+
2
-
0
0
Add new point set
-
0
0
+
+
+ 50
+ false
+ false
+
+
Current pointset
2
-
+
+ 2
+
+
+ 2
+
+
+ 2
+
+
2
-
0
0
-
Qt::Vertical
20
40
QmitkPointListWidget
QWidget
mitkDataNode.h
mitkPointSet.h