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