void MainWindow::SetTheme(const char *name) { gGameStyle->SetStyle(name); fFieldView->StyleChanged(); fCounterView->StyleChanged(); fTimerView->StyleChanged(); switch (fSmileyState) { case FACE_LOSE: { fSmileyButton->SetBitmaps(gGameStyle->LoseUp(),gGameStyle->LoseDown()); break; } case FACE_WIN: { fSmileyButton->SetBitmaps(gGameStyle->WinUp(),gGameStyle->WinDown()); break; } default: { fSmileyButton->SetBitmaps(gGameStyle->SmileyUp(),gGameStyle->SmileyDown()); break; } } ResetLayout(); BMenuItem *item = fMenuBar->FindItem(TranslateWellKnownThemes(gGameStyle->StyleName())); if (item) item->SetMarked(true); }
void MCPrinter::Break(void) { Open(); DoPageBreak(); // We've started a new page, thus make sure we rest the layout. if (m_loop_nesting > 0 && m_loop_status == STATUS_READY) ResetLayout(); // Close and set the result. Close(); }
UserPromptView::UserPromptView(session::Manager::Ptr const& session_manager) : nux::View(NUX_TRACKER_LOCATION) , session_manager_(session_manager) , caps_lock_on_(false) { user_authenticator_.echo_on_requested.connect([this](std::string const& message, PromiseAuthCodePtr const& promise){ AddPrompt(message, /* visible */ true, promise); }); user_authenticator_.echo_off_requested.connect([this](std::string const& message, PromiseAuthCodePtr const& promise){ AddPrompt(message, /* visible */ false, promise); }); user_authenticator_.message_requested.connect([this](std::string const& message){ AddMessage(message, nux::color::White); }); user_authenticator_.error_requested.connect([this](std::string const& message){ AddMessage(message, nux::color::Red); }); user_authenticator_.clear_prompts.connect([this](){ ResetLayout(); }); dash::previews::Style& preview_style = dash::previews::Style::Instance(); warning_ = preview_style.GetWarningIcon(); ResetLayout(); user_authenticator_.AuthenticateStart(session_manager_->UserName(), sigc::mem_fun(this, &UserPromptView::AuthenticationCb)); // When we get to HiDPI changes here, we will need to update this width dash::Style& style = dash::Style::Instance(); spin_icon_width_ = style.GetSearchSpinIcon()->GetWidth(); CheckIfCapsLockOn(); }
UserPromptView::UserPromptView(session::Manager::Ptr const& session_manager) : nux::View(NUX_TRACKER_LOCATION) , scale(1.0) , session_manager_(session_manager) , username_(nullptr) , msg_layout_(nullptr) , prompt_layout_(nullptr) { user_authenticator_.echo_on_requested.connect([this](std::string const& message, PromiseAuthCodePtr const& promise){ AddPrompt(message, /* visible */ true, promise); }); user_authenticator_.echo_off_requested.connect([this](std::string const& message, PromiseAuthCodePtr const& promise){ AddPrompt(message, /* visible */ false, promise); }); user_authenticator_.message_requested.connect([this](std::string const& message){ AddMessage(message, nux::color::White); }); user_authenticator_.error_requested.connect([this](std::string const& message){ AddMessage(message, nux::color::Red); }); user_authenticator_.clear_prompts.connect([this](){ ResetLayout(); }); scale.changed.connect(sigc::hide(sigc::mem_fun(this, &UserPromptView::UpdateSize))); UpdateSize(); ResetLayout(); user_authenticator_.AuthenticateStart(session_manager_->UserName(), sigc::mem_fun(this, &UserPromptView::AuthenticationCb)); }
void UserPromptView::AuthenticationCb(bool authenticated) { ResetLayout(); if (authenticated) { session_manager_->unlock_requested.emit(); } else { AddMessage(_("Invalid password, please try again"), nux::color::Red); user_authenticator_.AuthenticateStart(session_manager_->UserName(), sigc::mem_fun(this, &UserPromptView::AuthenticationCb)); } }
void MCPrinter::Open(bool p_cancelled) { if (m_loop_nesting == 0) { // MW-2007-11-29: [[ Bug 5485 ]] Make sure we can open printing in a cancelled state // (this is used by 'open printing with dialog') if (p_cancelled) SetStatusFromResult(PRINTER_RESULT_CANCEL); else { if (m_loop_status == STATUS_READY) SetStatusFromResult(DoBeginPrint(m_job_name == NULL ? MCdefaultstackptr -> gettitletext() : m_job_name, m_device)); ResetLayout(); m_loop_page = 1; } } m_loop_nesting += 1; SetResult(); }
MainWindow::MainWindow(BRect frame) : BWindow(frame,B_TRANSLATE_SYSTEM_NAME("BeMines"),B_TITLED_WINDOW, B_NOT_RESIZABLE), fSmileyState(FACE_NORMAL) { LoadSettings(); BView *top = new BView(Bounds(),"back",B_FOLLOW_ALL,B_WILL_DRAW); top->SetViewColor(ui_color(B_PANEL_BACKGROUND_COLOR)); AddChild(top); BRect r(Bounds()); r.bottom = 20; fMenuBar = new BMenuBar(r, "menubar"); BMenu *menu = new BMenu(B_TRANSLATE("Game")); menu->AddItem(new BMenuItem(B_TRANSLATE("New"),new BMessage(M_NEW_GAME),'N')); BMenu *submenu = NULL; menu->AddItem(new BMenuItem(B_TRANSLATE("Pause"),new BMessage(M_PAUSE_GAME),'P', B_COMMAND_KEY)); menu->AddSeparatorItem(); menu->AddItem(new BMenuItem(B_TRANSLATE("High scores"),new BMessage(M_SHOW_SCORES))); menu->AddSeparatorItem(); menu->AddItem(new BMenuItem(B_TRANSLATE("Help"),new BMessage(M_SHOW_HELP))); menu->AddItem(new BMenuItem(B_TRANSLATE("About BeMines"),new BMessage(B_ABOUT_REQUESTED))); menu->AddSeparatorItem(); menu->AddItem(new BMenuItem(B_TRANSLATE("Quit"), new BMessage(B_QUIT_REQUESTED), 'Q')); fMenuBar->AddItem(menu); menu = new BMenu(B_TRANSLATE("Settings")); submenu = new BMenu(B_TRANSLATE("Difficulty")); BMessage *menumsg = new BMessage(M_SET_DIFFICULTY); menumsg->AddInt32("level",DIFFICULTY_BEGINNER); submenu->AddItem(new BMenuItem(B_TRANSLATE("Beginner"),menumsg)); menumsg = new BMessage(M_SET_DIFFICULTY); menumsg->AddInt32("level",DIFFICULTY_INTERMEDIATE); submenu->AddItem(new BMenuItem(B_TRANSLATE("Intermediate"),menumsg)); menumsg = new BMessage(M_SET_DIFFICULTY); menumsg->AddInt32("level",DIFFICULTY_EXPERT); submenu->AddItem(new BMenuItem(B_TRANSLATE("Expert"),menumsg)); menumsg = new BMessage(M_SHOW_CUSTOM); submenu->AddItem(new BMenuItem(B_TRANSLATE("Custom" B_UTF8_ELLIPSIS),menumsg)); menu->AddItem(submenu); BMenuItem *item = submenu->ItemAt(gDifficulty); if (item) item->SetMarked(true); submenu = new BMenu(B_TRANSLATE("Theme")); for (int32 i = 0; i < gGameStyle->CountStyles(); i++) { menumsg = new BMessage(M_SET_THEME); menumsg->AddString("name",gGameStyle->StyleAt(i)); submenu->AddItem(new BMenuItem(TranslateWellKnownThemes(gGameStyle->StyleAt(i)),menumsg)); } menu->AddItem(submenu); submenu->SetRadioMode(true); item = submenu->FindItem(TranslateWellKnownThemes(gGameStyle->StyleName())); if (item) item->SetMarked(true); menu->AddSeparatorItem(); item = new BMenuItem(B_TRANSLATE("Sound effects"),new BMessage(M_TOGGLE_SOUNDS)); menu->AddItem(item); item->SetMarked(gPlaySounds); fMenuBar->AddItem(menu); top->AddChild(fMenuBar); fCounterView = new CounterView(); fCounterView->MoveTo(10,fMenuBar->Frame().bottom + 10); top->AddChild(fCounterView); r = gGameStyle->SmileyUp()->Bounds(); fSmileyButton = new BitmapButton(r,"smiley",gGameStyle->SmileyUp(), gGameStyle->SmileyDown(), new BMessage(M_NEW_GAME),false, B_FOLLOW_TOP | B_FOLLOW_H_CENTER); top->AddChild(fSmileyButton); fTimerView = new TimerView(); fTimerView->SetResizingMode(B_FOLLOW_RIGHT | B_FOLLOW_TOP); top->AddChild(fTimerView); fFieldView = new FieldView(gDifficulty); top->AddChild(fFieldView); fFieldView->MakeFocus(true); fCounterView->SetCount(fFieldView->MineCount()); ResetLayout(); AddCommonFilter(new SpaceBarFilter(M_NEW_GAME)); }