MCPcopy Create free account
hub / github.com/ElementsProject/elements / createMenuBar

Method createMenuBar

src/qt/bitcoingui.cpp:428–522  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

426}
427
428void BitcoinGUI::createMenuBar()
429{
430#ifdef Q_OS_MAC
431 // Create a decoupled menu bar on Mac which stays even if the window is closed
432 appMenuBar = new QMenuBar();
433#else
434 // Get the main window's menu bar on other platforms
435 appMenuBar = menuBar();
436#endif
437
438 // Configure the menus
439 QMenu *file = appMenuBar->addMenu(tr("&File"));
440 if(walletFrame)
441 {
442 file->addAction(m_create_wallet_action);
443 file->addAction(m_open_wallet_action);
444 file->addAction(m_close_wallet_action);
445 file->addAction(m_close_all_wallets_action);
446 file->addSeparator();
447 file->addAction(backupWalletAction);
448 file->addAction(signMessageAction);
449 file->addAction(verifyMessageAction);
450 file->addAction(m_load_psbt_action);
451 file->addAction(m_load_psbt_clipboard_action);
452 file->addSeparator();
453 }
454 file->addAction(quitAction);
455
456 QMenu *settings = appMenuBar->addMenu(tr("&Settings"));
457 if(walletFrame)
458 {
459 settings->addAction(encryptWalletAction);
460 settings->addAction(changePassphraseAction);
461 settings->addSeparator();
462 settings->addAction(m_mask_values_action);
463 settings->addSeparator();
464 }
465 settings->addAction(optionsAction);
466
467 QMenu* window_menu = appMenuBar->addMenu(tr("&Window"));
468
469 QAction* minimize_action = window_menu->addAction(tr("&Minimize"));
470 minimize_action->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_M));
471 connect(minimize_action, &QAction::triggered, [] {
472 QApplication::activeWindow()->showMinimized();
473 });
474 connect(qApp, &QApplication::focusWindowChanged, this, [minimize_action] (QWindow* window) {
475 minimize_action->setEnabled(window != nullptr && (window->flags() & Qt::Dialog) != Qt::Dialog && window->windowState() != Qt::WindowMinimized);
476 });
477
478#ifdef Q_OS_MAC
479 QAction* zoom_action = window_menu->addAction(tr("Zoom"));
480 connect(zoom_action, &QAction::triggered, [] {
481 QWindow* window = qApp->focusWindow();
482 if (window->windowState() != Qt::WindowMaximized) {
483 window->showMaximized();
484 } else {
485 window->showNormal();

Callers

nothing calls this directly

Calls 7

QKeySequenceClass · 0.85
bringToFrontFunction · 0.85
tabTitleMethod · 0.80
tabShortcutMethod · 0.80
setTabFocusMethod · 0.80
setEnabledMethod · 0.45
flagsMethod · 0.45

Tested by

no test coverage detected