diff --git a/src/ClusteringAction.cpp b/src/ClusteringAction.cpp index 742d9a4..d85bd2a 100644 --- a/src/ClusteringAction.cpp +++ b/src/ClusteringAction.cpp @@ -21,7 +21,7 @@ ClusteringAction::ClusteringAction(QObject* parent, const QString& title) : _clusterDatasetWizardAction(this, "Create cluster dataset"), _clusterDatasetAction(this, "Target clusters dataset") { - setIcon(Application::getIconFont("FontAwesome").getIcon("th-large")); + setIconByName("th-large"); setConnectionPermissionsToForceNone(); setConfigurationFlag(WidgetAction::ConfigurationFlag::ForceCollapsedInGroup); setLabelSizingType(LabelSizingType::Auto); @@ -46,7 +46,7 @@ ClusteringAction::ClusteringAction(QObject* parent, const QString& title) : _createClusterDatasetAction.setToolTip("Create new cluster dataset"); _createClusterDatasetAction.setEnabled(false); - _clusterDatasetWizardAction.setIcon(Application::getIconFont("FontAwesome").getIcon("magic")); + _clusterDatasetWizardAction.setIconByName("magic"); _clusterDatasetWizardAction.setToolTip("Create a new cluster dataset"); _clusterDatasetWizardAction.setConfigurationFlag(WidgetAction::ConfigurationFlag::ForceCollapsedInGroup); _clusterDatasetWizardAction.setLabelSizingType(LabelSizingType::Auto); diff --git a/src/ColorSourceModel.cpp b/src/ColorSourceModel.cpp index 8205fb1..3bd0592 100644 --- a/src/ColorSourceModel.cpp +++ b/src/ColorSourceModel.cpp @@ -4,13 +4,14 @@ #include using namespace mv; +using namespace mv::util; QVariant ColorSourceModel::ConstantColorItem::data(int role /*= Qt::UserRole + 1*/) const { switch (role) { case Qt::DecorationRole: - return Application::getIconFont("FontAwesome").getIcon("palette"); + return StyledIcon("palette"); case Qt::DisplayRole: return "Constant"; @@ -27,7 +28,7 @@ QVariant ColorSourceModel::ScatterLayoutItem::data(int role /*= Qt::UserRole + 1 switch (role) { case Qt::DecorationRole: - return Application::getIconFont("FontAwesome").getIcon("palette"); + return StyledIcon("palette"); case Qt::DisplayRole: return "Scatter layout"; @@ -71,7 +72,7 @@ QVariant ColorSourceModel::DatasetItem::data(int role /*= Qt::UserRole + 1*/) co switch (role) { case Qt::DecorationRole: - return _dataset->getIcon(); + return _dataset->icon(); case Qt::DisplayRole: return row() == 2 ? _dataset->text() : (_colorSourceModel->getShowFullPathName() ? _dataset->getLocation() : _dataset->text()); diff --git a/src/ColoringAction.cpp b/src/ColoringAction.cpp index aeb280b..0ade6d0 100644 --- a/src/ColoringAction.cpp +++ b/src/ColoringAction.cpp @@ -20,7 +20,7 @@ ColoringAction::ColoringAction(QObject* parent, const QString& title) : _colorMap1DAction(this, "1D Color map"), _colorMap2DAction(this, "2D Color map") { - setIcon(mv::Application::getIconFont("FontAwesome").getIcon("palette")); + setIconByName("palette"); setLabelSizingType(LabelSizingType::Auto); setConfigurationFlag(WidgetAction::ConfigurationFlag::ForceCollapsedInGroup); diff --git a/src/DatasetsAction.cpp b/src/DatasetsAction.cpp index ebd8b98..3cc6381 100644 --- a/src/DatasetsAction.cpp +++ b/src/DatasetsAction.cpp @@ -16,7 +16,7 @@ DatasetsAction::DatasetsAction(QObject* parent, const QString& title) : _positionDatasetPickerAction(this, "Position"), _colorDatasetPickerAction(this, "Color") { - setIcon(mv::Application::getIconFont("FontAwesome").getIcon("database")); + setIconByName("database"); setToolTip("Manage loaded datasets for position and color"); setConfigurationFlag(WidgetAction::ConfigurationFlag::ForceCollapsedInGroup); setLabelSizingType(LabelSizingType::Auto); diff --git a/src/ExportAction.cpp b/src/ExportAction.cpp index 24d1c83..257530e 100644 --- a/src/ExportAction.cpp +++ b/src/ExportAction.cpp @@ -42,7 +42,7 @@ ExportAction::ExportAction(QObject* parent, const QString& title) : _exportCancelAction(this, "Cancel", { TriggersAction::Trigger("Export", "Export dimensions"), TriggersAction::Trigger("Cancel", "Cancel export") }), _aspectRatio() { - setIcon(mv::Application::getIconFont("FontAwesome").getIcon("camera")); + setIconByName("camera"); setLabelWidthFixed(100); setConnectionPermissionsToForceNone(true); setConfigurationFlag(WidgetAction::ConfigurationFlag::ForceCollapsedInGroup); diff --git a/src/MiscellaneousAction.cpp b/src/MiscellaneousAction.cpp index ed5443f..3222798 100644 --- a/src/MiscellaneousAction.cpp +++ b/src/MiscellaneousAction.cpp @@ -13,7 +13,7 @@ MiscellaneousAction::MiscellaneousAction(QObject* parent, const QString& title) _backgroundColorAction(this, "Background color"), _randomizedDepthAction(this, "Randomized depth", true) { - setIcon(Application::getIconFont("FontAwesome").getIcon("cog")); + setIconByName("cog"); setLabelSizingType(LabelSizingType::Auto); setConfigurationFlag(WidgetAction::ConfigurationFlag::ForceCollapsedInGroup); diff --git a/src/NavigationAction.cpp b/src/NavigationAction.cpp index 53e94dc..3406e5a 100644 --- a/src/NavigationAction.cpp +++ b/src/NavigationAction.cpp @@ -16,17 +16,15 @@ NavigationAction::NavigationAction(QObject* parent, const QString& title) : _zoomDataExtentsAction(this, "Zoom to data extents"), _freezeZoomAction(this, "Freeze zoom") { - setIcon(mv::Application::getIconFont("FontAwesome").getIcon("image")); + setIconByName("image"); setShowLabels(false); addAction(&_zoomRectangleAction); addAction(&_zoomDataExtentsAction); addAction(&_freezeZoomAction); - auto& fontAwesome = Application::getIconFont("FontAwesome"); - _zoomRectangleAction.setToolTip("Extents of the current view"); - _zoomRectangleAction.setIcon(combineIcons(fontAwesome.getIcon("expand"), fontAwesome.getIcon("ellipsis-h"))); + _zoomRectangleAction.setIcon(combineIcons(StyledIcon("expand"), StyledIcon("ellipsis-h"))); _zoomRectangleAction.setIconByName("vector-square"); _zoomRectangleAction.setConfigurationFlag(WidgetAction::ConfigurationFlag::ForceCollapsedInGroup); diff --git a/src/PlotAction.cpp b/src/PlotAction.cpp index c548720..716a78f 100644 --- a/src/PlotAction.cpp +++ b/src/PlotAction.cpp @@ -11,7 +11,7 @@ PlotAction::PlotAction(QObject* parent, const QString& title) : _densityPlotAction(this, "Density") { setToolTip("Plot settings"); - setIcon(mv::Application::getIconFont("FontAwesome").getIcon("paint-brush")); + setIconByName("paint-brush"); setLabelSizingType(LabelSizingType::Auto); addAction(&_pointPlotAction.getSizeAction()); diff --git a/src/PositionAction.cpp b/src/PositionAction.cpp index ba08e47..d4bebef 100644 --- a/src/PositionAction.cpp +++ b/src/PositionAction.cpp @@ -11,7 +11,7 @@ PositionAction::PositionAction(QObject* parent, const QString& title) : _yDimensionPickerAction(this, "Y"), _dontUpdateScatterplot(false) { - setIcon(mv::Application::getIconFont("FontAwesome").getIcon("ruler-combined")); + setIconByName("ruler-combined"); setLabelSizingType(LabelSizingType::Auto); addAction(&_xDimensionPickerAction); diff --git a/src/RenderModeAction.cpp b/src/RenderModeAction.cpp index 53777e4..2b74a7e 100644 --- a/src/RenderModeAction.cpp +++ b/src/RenderModeAction.cpp @@ -11,7 +11,7 @@ RenderModeAction::RenderModeAction(QObject* parent, const QString& title) : _densityPlotAction(this, "Density"), _contourPlotAction(this, "Contour") { - setIcon(mv::Application::getIconFont("FontAwesome").getIcon("image")); + setIconByName("image"); setDefaultWidgetFlags(OptionAction::HorizontalButtons); setEnabled(false); diff --git a/src/ScalarSourceModel.cpp b/src/ScalarSourceModel.cpp index 35c7966..db68e58 100644 --- a/src/ScalarSourceModel.cpp +++ b/src/ScalarSourceModel.cpp @@ -5,10 +5,10 @@ #include using namespace mv; +using namespace mv::util; ScalarSourceModel::ScalarSourceModel(QObject* parent /*= nullptr*/) : QAbstractListModel(parent), - _datasets(), _showFullPathName(true) { } @@ -47,13 +47,13 @@ QVariant ScalarSourceModel::data(const QModelIndex& index, int role) const case Qt::DecorationRole: { if (row == DefaultRow::Constant) - return Application::getIconFont("FontAwesome").getIcon("ruler"); + return StyledIcon("ruler"); if (row == DefaultRow::Selection) - return Application::getIconFont("FontAwesome").getIcon("mouse-pointer"); + return StyledIcon("mouse-pointer"); if (row >= DefaultRow::DatasetStart) - return scalarDataset->getIcon(); + return scalarDataset->icon(); break; } diff --git a/src/ScatterplotPlugin.cpp b/src/ScatterplotPlugin.cpp index 0dad5b7..5fa320b 100644 --- a/src/ScatterplotPlugin.cpp +++ b/src/ScatterplotPlugin.cpp @@ -83,7 +83,7 @@ ScatterplotPlugin::ScatterplotPlugin(const PluginFactory* factory) : auto focusSelectionAction = new ToggleAction(this, "Focus selection"); - focusSelectionAction->setIcon(Application::getIconFont("FontAwesome").getIcon("mouse-pointer")); + focusSelectionAction->setIconByName("mouse-pointer"); connect(focusSelectionAction, &ToggleAction::toggled, this, [this](bool toggled) -> void { _settingsAction.getPlotAction().getPointPlotAction().getFocusSelection().setChecked(toggled); @@ -800,6 +800,8 @@ void ScatterplotPlugin::setYDimension(const std::int32_t& dimensionIndex) ScatterplotPluginFactory::ScatterplotPluginFactory() { + setIconByName("braille"); + getPluginMetadata().setDescription("Scatterplot view"); getPluginMetadata().setSummary("High-performance scatterplot plugin for ManiVault Studio, capable of handling millions of data points."); getPluginMetadata().setCopyrightHolder({ "BioVault (Biomedical Visual Analytics Unit LUMC - TU Delft)" }); @@ -815,11 +817,6 @@ ScatterplotPluginFactory::ScatterplotPluginFactory() getPluginMetadata().setLicenseText("This plugin is distributed under the [LGPL v3.0](https://www.gnu.org/licenses/lgpl-3.0.en.html) license."); } -QIcon ScatterplotPluginFactory::getIcon(const QColor& color /*= Qt::black*/) const -{ - return Application::getIconFont("FontAwesome").getIcon("braille", color); -} - ViewPlugin* ScatterplotPluginFactory::produce() { return new ScatterplotPlugin(this); @@ -836,10 +833,8 @@ PluginTriggerActions ScatterplotPluginFactory::getPluginTriggerActions(const mv: const auto numberOfDatasets = datasets.count(); if (PluginFactory::areAllDatasetsOfTheSameType(datasets, PointType)) { - auto& fontAwesome = Application::getIconFont("FontAwesome"); - if (numberOfDatasets >= 1) { - auto pluginTriggerAction = new PluginTriggerAction(const_cast(this), this, "Scatterplot", "View selected datasets side-by-side in separate scatter plot viewers", fontAwesome.getIcon("braille"), [this, getInstance, datasets](PluginTriggerAction& pluginTriggerAction) -> void { + auto pluginTriggerAction = new PluginTriggerAction(const_cast(this), this, "Scatterplot", "View selected datasets side-by-side in separate scatter plot viewers", StyledIcon("braille"), [this, getInstance, datasets](PluginTriggerAction& pluginTriggerAction) -> void { for (const auto& dataset : datasets) getInstance()->loadData(Datasets({ dataset })); }); diff --git a/src/ScatterplotPlugin.h b/src/ScatterplotPlugin.h index 17f135a..ba10fd8 100644 --- a/src/ScatterplotPlugin.h +++ b/src/ScatterplotPlugin.h @@ -139,13 +139,6 @@ class ScatterplotPluginFactory : public ViewPluginFactory public: ScatterplotPluginFactory(); - /** - * Get plugin icon - * @param color Icon color for flat (font) icons - * @return Icon - */ - QIcon getIcon(const QColor& color = Qt::black) const override; - ViewPlugin* produce() override; /** diff --git a/src/SelectionAction.cpp b/src/SelectionAction.cpp index 95ef2a7..3aca6e6 100644 --- a/src/SelectionAction.cpp +++ b/src/SelectionAction.cpp @@ -19,7 +19,7 @@ SelectionAction::SelectionAction(QObject* parent, const QString& title) : _outlineOpacityAction(this, "Opacity", 0.0f, 100.0f, 100.0f, 1), _outlineHaloEnabledAction(this, "Halo") { - setIcon(mv::Application::getIconFont("FontAwesome").getIcon("mouse-pointer")); + setIconByName("mouse-pointer"); setConfigurationFlag(WidgetAction::ConfigurationFlag::HiddenInActionContextMenu); setConfigurationFlag(WidgetAction::ConfigurationFlag::ForceCollapsedInGroup); diff --git a/src/SubsetAction.cpp b/src/SubsetAction.cpp index 2ef09e7..ed8f0a7 100644 --- a/src/SubsetAction.cpp +++ b/src/SubsetAction.cpp @@ -19,7 +19,7 @@ SubsetAction::SubsetAction(QObject* parent, const QString& title) : _sourceDataAction(this, "Source data"), _createSubsetAction(this, "Create subset") { - setIcon(mv::Application::getIconFont("FontAwesome").getIcon("crop")); + setIconByName("crop"); setConnectionPermissionsToForceNone(true); setConfigurationFlag(WidgetAction::ConfigurationFlag::ForceCollapsedInGroup); setLabelSizingType(LabelSizingType::Auto);