| 532 | } |
| 533 | |
| 534 | void BitcoinGUI::createMenuBar() |
| 535 | { |
| 536 | appMenuBar = menuBar(); |
| 537 | |
| 538 | // Configure the menus |
| 539 | QMenu *file = appMenuBar->addMenu(tr("&File")); |
| 540 | if(walletFrame) |
| 541 | { |
| 542 | file->addAction(m_create_wallet_action); |
| 543 | file->addAction(m_open_wallet_action); |
| 544 | file->addAction(m_close_wallet_action); |
| 545 | file->addAction(m_close_all_wallets_action); |
| 546 | file->addAction(m_migrate_wallet_action); |
| 547 | file->addSeparator(); |
| 548 | file->addAction(backupWalletAction); |
| 549 | file->addAction(m_restore_wallet_action); |
| 550 | file->addSeparator(); |
| 551 | file->addAction(openAction); |
| 552 | file->addAction(signMessageAction); |
| 553 | file->addAction(verifyMessageAction); |
| 554 | file->addAction(m_load_psbt_action); |
| 555 | file->addAction(m_load_psbt_clipboard_action); |
| 556 | file->addSeparator(); |
| 557 | } |
| 558 | file->addAction(quitAction); |
| 559 | |
| 560 | QMenu *settings = appMenuBar->addMenu(tr("&Settings")); |
| 561 | if(walletFrame) |
| 562 | { |
| 563 | settings->addAction(encryptWalletAction); |
| 564 | settings->addAction(changePassphraseAction); |
| 565 | settings->addSeparator(); |
| 566 | settings->addAction(m_mask_values_action); |
| 567 | settings->addSeparator(); |
| 568 | } |
| 569 | settings->addAction(optionsAction); |
| 570 | |
| 571 | QMenu* window_menu = appMenuBar->addMenu(tr("&Window")); |
| 572 | |
| 573 | QAction* minimize_action = window_menu->addAction(tr("&Minimize")); |
| 574 | minimize_action->setShortcut(QKeySequence(tr("Ctrl+M"))); |
| 575 | connect(minimize_action, &QAction::triggered, [] { |
| 576 | QApplication::activeWindow()->showMinimized(); |
| 577 | }); |
| 578 | connect(qApp, &QApplication::focusWindowChanged, this, [minimize_action] (QWindow* window) { |
| 579 | minimize_action->setEnabled(window != nullptr && (window->flags() & Qt::Dialog) != Qt::Dialog && window->windowState() != Qt::WindowMinimized); |
| 580 | }); |
| 581 | |
| 582 | #ifdef Q_OS_MACOS |
| 583 | QAction* zoom_action = window_menu->addAction(tr("Zoom")); |
| 584 | connect(zoom_action, &QAction::triggered, [] { |
| 585 | QWindow* window = qApp->focusWindow(); |
| 586 | if (window->windowState() != Qt::WindowMaximized) { |
| 587 | window->showMaximized(); |
| 588 | } else { |
| 589 | window->showNormal(); |
| 590 | } |
| 591 | }); |
nothing calls this directly
no test coverage detected