diff --git a/Building/Icons/Full-100.png b/Building/Icons/Full-100.png
index 5a12508e..55ef65e9 100644
Binary files a/Building/Icons/Full-100.png and b/Building/Icons/Full-100.png differ
diff --git a/Building/Icons/Full-1024.png b/Building/Icons/Full-1024.png
index 8955db9e..62af5837 100644
Binary files a/Building/Icons/Full-1024.png and b/Building/Icons/Full-1024.png differ
diff --git a/Building/Icons/Full-128.png b/Building/Icons/Full-128.png
index 03e5a53b..083de88d 100644
Binary files a/Building/Icons/Full-128.png and b/Building/Icons/Full-128.png differ
diff --git a/Building/Icons/Full-256.png b/Building/Icons/Full-256.png
index 530e5e8e..62ba1571 100644
Binary files a/Building/Icons/Full-256.png and b/Building/Icons/Full-256.png differ
diff --git a/Building/Icons/Full-32.png b/Building/Icons/Full-32.png
index 8ba710e9..048459dc 100644
Binary files a/Building/Icons/Full-32.png and b/Building/Icons/Full-32.png differ
diff --git a/Building/Icons/Full-48.png b/Building/Icons/Full-48.png
index 54c5ae79..bfed76ca 100644
Binary files a/Building/Icons/Full-48.png and b/Building/Icons/Full-48.png differ
diff --git a/Building/Icons/Full-512.png b/Building/Icons/Full-512.png
index 0b9b2e3f..782eb880 100644
Binary files a/Building/Icons/Full-512.png and b/Building/Icons/Full-512.png differ
diff --git a/Building/Icons/Full-64.png b/Building/Icons/Full-64.png
index 2e614e1f..be16761d 100644
Binary files a/Building/Icons/Full-64.png and b/Building/Icons/Full-64.png differ
diff --git a/Building/Icons/OSCAR.icns b/Building/Icons/OSCAR.icns
index bc54a692..551d01cc 100644
Binary files a/Building/Icons/OSCAR.icns and b/Building/Icons/OSCAR.icns differ
diff --git a/Building/Icons/Photoshop Notes.xlsm b/Building/Icons/Photoshop Notes.xlsm
new file mode 100644
index 00000000..927feb78
Binary files /dev/null and b/Building/Icons/Photoshop Notes.xlsm differ
diff --git a/Building/Icons/README b/Building/Icons/README
index 668a74ab..5ab38993 100644
--- a/Building/Icons/README
+++ b/Building/Icons/README
@@ -1,7 +1,13 @@
+All icon and other PNG files are derived from a Photoshop file. The Photoshop
+file has multiple layers, which need to be enabled or disabled when producing
+the various PNG files. A full description of which layers need to be adjusted
+is in Photshop Notes.xlsm, an Excel worksheet.
+Smaller icons require manual editing for best appearance.
-
-Windows .ico file should contain 16x16, 32x32, 48x48, and 256x256 images.
+Windows .ico file should contain 16x16, 32x32, 48x48, and 256x256 images. We
+also include 24x24 for Windows XP compatibility.
+A .ico file can be built at the website icoconvert.com.
MacOS .icns file should contain:
@@ -10,4 +16,6 @@ MacOS .icns file should contain:
256px × 256px (256pt × 256pt @1x) 512px × 512px (256pt × 256pt @2x)
128px × 128px (128pt × 128pt @1x) 256px × 256px (128pt × 128pt @2x)
32px × 32px (32pt × 32pt @1x) 64px × 64px (32pt × 32pt @2x)
- 16px × 16px (16pt × 16pt @1x) 32px × 32px (16pt × 16pt @2x)
\ No newline at end of file
+ 16px × 16px (16pt × 16pt @1x) 32px × 32px (16pt × 16pt @2x)
+
+The .icns file can be edited on Windows using the Greenfish Icon Editor.
\ No newline at end of file
diff --git a/Building/Icons/Wave-16.png b/Building/Icons/Wave-16.png
index 54435f84..e2c35f49 100644
Binary files a/Building/Icons/Wave-16.png and b/Building/Icons/Wave-16.png differ
diff --git a/Building/Icons/Wave-24.png b/Building/Icons/Wave-24.png
index 44a214ac..0d315668 100644
Binary files a/Building/Icons/Wave-24.png and b/Building/Icons/Wave-24.png differ
diff --git a/Building/Icons/Wave-32.png b/Building/Icons/Wave-32.png
index fbfc8905..3a8a6950 100644
Binary files a/Building/Icons/Wave-32.png and b/Building/Icons/Wave-32.png differ
diff --git a/Building/Icons/final w white glow-v2.psd b/Building/Icons/final w white glow-v2.psd
index 72406f7e..1971f17e 100644
Binary files a/Building/Icons/final w white glow-v2.psd and b/Building/Icons/final w white glow-v2.psd differ
diff --git a/Building/Icons/logo.ico b/Building/Icons/logo.ico
index fc8d314a..583fa8ef 100644
Binary files a/Building/Icons/logo.ico and b/Building/Icons/logo.ico differ
diff --git a/Building/MacOS/Info.plist.in b/Building/MacOS/Info.plist.in
new file mode 100644
index 00000000..2d2b4a72
--- /dev/null
+++ b/Building/MacOS/Info.plist.in
@@ -0,0 +1,26 @@
+
+
+
+
+ CFBundleExecutable
+ OSCAR
+ CFBundleGetInfoString
+ Created by Qt/QMake
+ CFBundleIconFile
+ ${ASSETCATALOG_COMPILER_APPICON_NAME}
+ CFBundleIdentifier
+ ${PRODUCT_BUNDLE_IDENTIFIER}
+ CFBundlePackageType
+ APPL
+ CFBundleSignature
+ ????
+ LSMinimumSystemVersion
+ ${MACOSX_DEPLOYMENT_TARGET}
+ NSPrincipalClass
+ NSApplication
+ NSSupportsAutomaticGraphicsSwitching
+
+ NSRequiresAquaSystemAppearance
+
+
+
diff --git a/OSCAR_QT.pro b/OSCAR_QT.pro
index df4e72bb..6a8c3dbb 100644
--- a/OSCAR_QT.pro
+++ b/OSCAR_QT.pro
@@ -10,3 +10,7 @@ TEMPLATE = subdirs
SUBDIRS += oscar
CONFIG += ordered
+
+macx: {
+ QMAKE_INFO_PLIST = Building/MacOS/Info.plist.in
+}
diff --git a/oscar/icons/OSCAR.icns b/oscar/icons/OSCAR.icns
index bc54a692..947fc46d 100644
Binary files a/oscar/icons/OSCAR.icns and b/oscar/icons/OSCAR.icns differ
diff --git a/oscar/icons/logo-lm.png b/oscar/icons/logo-lm.png
index 5a12508e..55ef65e9 100644
Binary files a/oscar/icons/logo-lm.png and b/oscar/icons/logo-lm.png differ
diff --git a/oscar/icons/logo-md.png b/oscar/icons/logo-md.png
index 2e614e1f..be16761d 100644
Binary files a/oscar/icons/logo-md.png and b/oscar/icons/logo-md.png differ
diff --git a/oscar/icons/logo-sm.png b/oscar/icons/logo-sm.png
index 44a214ac..0d315668 100644
Binary files a/oscar/icons/logo-sm.png and b/oscar/icons/logo-sm.png differ
diff --git a/oscar/icons/logo.ico b/oscar/icons/logo.ico
index fc8d314a..2d464294 100644
Binary files a/oscar/icons/logo.ico and b/oscar/icons/logo.ico differ
diff --git a/oscar/mainwindow.cpp b/oscar/mainwindow.cpp
index 21039aed..5171873f 100644
--- a/oscar/mainwindow.cpp
+++ b/oscar/mainwindow.cpp
@@ -117,10 +117,9 @@ void MainWindow::SetupGUI()
setWindowTitle(STR_TR_OSCAR + QString(" %1").arg(version));
#ifdef Q_OS_MAC
-
ui->action_About->setMenuRole(QAction::ApplicationSpecificRole);
ui->action_Preferences->setMenuRole(QAction::ApplicationSpecificRole);
- ui->action_Exit->setMenuRole(QAction::ApplicationSpecificRole);
+ ui->action_Preferences->setShortcuts(QKeySequence::Preferences);
#endif
ui->actionToggle_Line_Cursor->setChecked(AppSetting->lineCursorMode());
@@ -1346,37 +1345,25 @@ void MainWindow::on_actionCheck_for_Updates_triggered()
bool toolbox_visible = false;
void MainWindow::on_action_Screenshot_triggered()
{
- daily->hideSpaceHogs();
+ if (daily)
+ daily->hideSpaceHogs();
toolbox_visible = ui->toolBox->isVisible();
ui->toolBox->hide();
QTimer::singleShot(250, this, SLOT(DelayedScreenshot()));
}
+
void MainWindow::DelayedScreenshot()
{
// Make sure to scale for high resolution displays (like Retina)
// qreal pr = devicePixelRatio();
-
- QScreen * screen = QApplication::primaryScreen();
-
-
- int titleBarHeight = -QApplication::style()->pixelMetric(QStyle::PM_TitleBarHeight);
-#ifdef Q_OS_WIN
- titleBarHeight += 6;
-#endif
-
- QPixmap pixmap = screen->grabWindow(winId(),0,titleBarHeight);
-
-/*#if defined(Q_OS_WIN) || defined(Q_OS_LINUX) || defined(Q_OS_HAIKU)
- // grab the whole screen
- grab()
- QPixmap desktop = QPixmap::grabWindow(QApplication::desktop()->winId());
-
- QPixmap pixmap = desktop.copy(x() * pr, y() * pr, (width()+6) * pr, (height()+22) * pr);
-
-#elif defined(Q_OS_MAC)
- QPixmap pixmap = QPixmap::grabWindow(this->winId(), x(), y(), width() / pr, (height() / pr) + 10);
-#endif */
+ auto screenshotRect = geometry();
+ auto titleBarHeight = QApplication::style()->pixelMetric(QStyle::PM_TitleBarHeight);
+ auto pixmap = QApplication::primaryScreen()->grabWindow(QDesktopWidget().winId(),
+ screenshotRect.left(),
+ screenshotRect.top() - titleBarHeight,
+ screenshotRect.width(),
+ screenshotRect.height() + titleBarHeight);
QString a = p_pref->Get("{home}/Screenshots");
QDir dir(a);
@@ -1394,7 +1381,8 @@ void MainWindow::DelayedScreenshot()
} else {
Notify(tr("Screenshot saved to file \"%1\"").arg(QDir::toNativeSeparators(a)));
}
- daily->showSpaceHogs();
+ if (daily)
+ daily->showSpaceHogs();
ui->toolBox->setVisible(toolbox_visible);
}
diff --git a/oscar/preferencesdialog.ui b/oscar/preferencesdialog.ui
index bef986f3..12fd5570 100644
--- a/oscar/preferencesdialog.ui
+++ b/oscar/preferencesdialog.ui
@@ -797,7 +797,7 @@ If you use a few different masks, pick average values instead. It should still b
Your masks vent rate at 20 cmH2O pressure
- 400
+ 300
550
@@ -853,7 +853,7 @@ If you use a few different masks, pick average values instead. It should still b
Your masks vent rate at 4 cmH2O pressure
- 170
+ 120
240