diff --git a/modules/gui/share/CMakeLists.txt b/modules/gui/share/CMakeLists.txt index db9da9d437fe637435707004f5e5fcf35007247d..c87f561e8eb50e4a7743063d3b70d090280f24e1 100644 --- a/modules/gui/share/CMakeLists.txt +++ b/modules/gui/share/CMakeLists.txt @@ -2,9 +2,11 @@ set(GUI_ICONS icons/add_icon.png icons/close_icon.png + icons/critical_icon.png icons/delete_icon.png icons/distance_icon.png icons/find_icon.png + icons/information_icon.png icons/map_icon.png icons/menubar_icon.png icons/rigid_body_manipulator_icon.png @@ -12,6 +14,7 @@ set(GUI_ICONS icons/show_sidebar_icon.png icons/site_icon.png icons/split_icon.png + icons/warning_icon.png ) set(GUI_IMAGES diff --git a/modules/gui/share/icons/critical_icon.png b/modules/gui/share/icons/critical_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..0e362b6fb3eef525896e6d173c2ceb42c9109f4a Binary files /dev/null and b/modules/gui/share/icons/critical_icon.png differ diff --git a/modules/gui/share/icons/information_icon.png b/modules/gui/share/icons/information_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..7d224adeb079092587a099fe310379a918df6147 Binary files /dev/null and b/modules/gui/share/icons/information_icon.png differ diff --git a/modules/gui/share/icons/warning_icon.png b/modules/gui/share/icons/warning_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..b1a2dc196e0adc0d420ad5304e47d8926bc6637c Binary files /dev/null and b/modules/gui/share/icons/warning_icon.png differ diff --git a/modules/gui/src/messages/message_widget.cc b/modules/gui/src/messages/message_widget.cc index 269f3eec4950ab824382597f5a2e5e46072e5705..5e4363397eb77c423823a45d181b7cb7894fb359 100644 --- a/modules/gui/src/messages/message_widget.cc +++ b/modules/gui/src/messages/message_widget.cc @@ -133,9 +133,28 @@ void MessageWidget::Decrease(QMessageBox::Icon icon){ } QPixmap MessageWidget::GetIcon(QMessageBox::Icon icon, QWidget* widget) { + QDir icon_path(GetSharedDataPath().c_str()); + icon_path.cd("gui"); + icon_path.cd("icons"); + QStyle *style = widget ? widget->style() : QApplication::style(); int icon_size = style->pixelMetric(QStyle::PM_MessageBoxIconSize, 0, widget); QIcon tmp_icon; +#if defined(__APPLE__) + switch (icon) { + case QMessageBox::Information: + tmp_icon = QIcon(icon_path.absolutePath()+QDir::separator()+QString("information_icon.png")); + break; + case QMessageBox::Warning: + tmp_icon = QIcon(icon_path.absolutePath()+QDir::separator()+QString("warning_icon.png")); + break; + case QMessageBox::Critical: + tmp_icon = QIcon(icon_path.absolutePath()+QDir::separator()+QString("critical_icon.png")); + break; + default: + break; + } +#else switch (icon) { case QMessageBox::Information: tmp_icon = style->standardIcon(QStyle::SP_MessageBoxInformation, 0, widget); @@ -151,6 +170,7 @@ QPixmap MessageWidget::GetIcon(QMessageBox::Icon icon, QWidget* widget) { default: break; } +#endif if (!tmp_icon.isNull()) return tmp_icon.pixmap(icon_size, icon_size); return QPixmap();