DialogBox *DialogBox::create(World *world) { DialogBox *ret = new(std::nothrow) DialogBox(world); if (ret && ret->init()) { ret->autorelease(); } else { CC_SAFE_DELETE(ret); } return ret; }
MythSchemaUpgrade SchemaUpgradeWizard::GuiPrompt(const QString &message, bool upgradable, bool expert) { DialogBox * dlg; MythMainWindow * win = GetMythMainWindow(); if (!win) return MYTH_SCHEMA_ERROR; dlg = new DialogBox(win, message); dlg->AddButton(tr("Exit")); if (upgradable) dlg->AddButton(tr("Upgrade")); if (expert) // Not translated. This string can't appear in released builds. dlg->AddButton("Use current schema"); DialogCode selected = dlg->exec(); dlg->deleteLater(); switch (selected) { case kDialogCodeRejected: case kDialogCodeButton0: return MYTH_SCHEMA_EXIT; case kDialogCodeButton1: return upgradable ? MYTH_SCHEMA_UPGRADE: MYTH_SCHEMA_USE_EXISTING; case kDialogCodeButton2: return MYTH_SCHEMA_USE_EXISTING; default: return MYTH_SCHEMA_ERROR; } }
DatabaseBox::DatabaseBox(MythMainWindow *parent, const QString dev, const QString &window_name, const QString &theme_filename, const char *name) : MythThemedDialog(parent, window_name, theme_filename, name) { m_CDdevice = dev; active_playlist = NULL; if (!gMusicData->all_music) { LOG(VB_GENERAL, LOG_ERR, "We are not going to get very far with a null " "pointer to metadata"); // TODO: is this OK? exit(0); } // Do we check the CD? cd_checking_flag = false; cd_checking_flag = gCoreContext->GetNumSetting("AutoLookupCD"); QString treelev = gCoreContext->GetSetting("TreeLevels", "artist album title"); QStringList treelevels = treelev.toLower().split(" ", QString::SkipEmptyParts); active_popup = NULL; active_pl_edit = NULL; playlist_popup = NULL; cditem = NULL; holding_track = false; tree = getUIListTreeType("musictree"); if (!tree) { DialogBox *dlg = new DialogBox( GetMythMainWindow(), QObject::tr( "The theme you are using does not contain the " "%1 element. Please contact the theme creator " "and ask if they could please update it.<br><br>" "The next screen will be empty. " "Escape out of it to return to the menu.") .arg("'musictree'")); dlg->AddButton(tr("OK")); dlg->exec(); dlg->deleteLater(); return; } UITextType *line = NULL; for (int i = 1; i <= 6; i++) { QString linename = QString("line%1").arg(i); if ((line = getUITextType(linename))) m_lines.push_back(line); } if (m_lines.size() < 6) { DialogBox *dlg = new DialogBox( GetMythMainWindow(), tr("The theme you are using does not contain enough info " "lines in the music element. Please contact the theme " "creator and ask if they could please update it.")); dlg->AddButton(tr("OK")); dlg->exec(); dlg->deleteLater(); } connect(tree, SIGNAL(itemEntered(UIListTreeType *, UIListGenericTree *)), this, SLOT(entered(UIListTreeType *, UIListGenericTree *))); // Make the first few nodes in the tree that everything else hangs off // as children rootNode = new UIListGenericTree(NULL, "Root Music Node"); allmusic = new TreeCheckItem(rootNode, tr("All My Music"), "genre", 0); if (cd_checking_flag) cditem = new CDCheckItem(rootNode, tr("Blechy Blech Blah"), "cd", 0); alllists = new TreeCheckItem(rootNode, tr("All My Playlists"), "genre", 0); allcurrent = new PlaylistTitle(rootNode, tr("Active Play Queue")); tree->SetTree(rootNode); cd_reader_thread = NULL; if (cd_checking_flag) { // Start the CD checking thread, and set up a timer to make it check // occasionally cd_reader_thread = new ReadCDThread(m_CDdevice); // filling initialy before thread running fillCD(); cd_reader_thread->start(); cd_watcher = new QTimer(this); connect(cd_watcher, SIGNAL(timeout()), this, SLOT(occasionallyCheckCD())); cd_watcher->start(1000); // Every second? } // Set a timer to keep redoing the fillList stuff until the metadata and // playlist loading threads are done wait_counter = 0; numb_wait_dots = 0; fill_list_timer = new QTimer(this); connect(fill_list_timer, SIGNAL(timeout()), this, SLOT(keepFilling())); fill_list_timer->start(20); }
void Ripper::ScanFinished() { delete m_scanThread; m_scanThread = NULL; m_tracks->clear(); bool isCompilation = false; bool newTune = true; if (m_decoder) { QString label; Metadata *metadata; m_artistName.clear(); m_albumName.clear(); m_genreName.clear(); m_year.clear(); bool yesToAll = false; bool noToAll = false; for (int trackno = 0; trackno < m_decoder->getNumTracks(); trackno++) { RipTrack *ripTrack = new RipTrack; metadata = m_decoder->getMetadata(trackno + 1); if (metadata) { ripTrack->metadata = metadata; ripTrack->length = metadata->Length(); ripTrack->active = true; if (metadata->Compilation()) { isCompilation = true; m_artistName = metadata->CompilationArtist(); } else if (m_artistName.isEmpty()) { m_artistName = metadata->Artist(); } if (m_albumName.isEmpty()) m_albumName = metadata->Album(); if (m_genreName.isEmpty() && !metadata->Genre().isEmpty()) m_genreName = metadata->Genre(); if (m_year.isEmpty() && metadata->Year() > 0) m_year = QString::number(metadata->Year()); QString title = metadata->Title(); newTune = Ripper::isNewTune(m_artistName, m_albumName, title); if (newTune) { m_tracks->push_back(ripTrack); } else { if (yesToAll) { deleteTrack(m_artistName, m_albumName, title); m_tracks->push_back(ripTrack); } else if (noToAll) { delete ripTrack; delete metadata; continue; } else { DialogBox *dlg = new DialogBox( GetMythMainWindow(), tr("Artist: %1\n" "Album: %2\n" "Track: %3\n\n" "This track is already in the database. \n" "Do you want to remove the existing track?") .arg(m_artistName).arg(m_albumName).arg(title)); dlg->AddButton("No"); dlg->AddButton("No To All"); dlg->AddButton("Yes"); dlg->AddButton("Yes To All"); DialogCode res = dlg->exec(); dlg->deleteLater(); dlg = NULL; if (kDialogCodeButton0 == res) { delete ripTrack; delete metadata; } else if (kDialogCodeButton1 == res) { noToAll = true; delete ripTrack; delete metadata; } else if (kDialogCodeButton2 == res) { deleteTrack(m_artistName, m_albumName, title); m_tracks->push_back(ripTrack); } else if (kDialogCodeButton3 == res) { yesToAll = true; deleteTrack(m_artistName, m_albumName, title); m_tracks->push_back(ripTrack); } else // treat cancel as no { delete ripTrack; delete metadata; } } } } else delete ripTrack; } m_artistEdit->SetText(m_artistName); m_albumEdit->SetText(m_albumName); m_genreEdit->SetText(m_genreName); m_yearEdit->SetText(m_year); m_compilationCheck->SetCheckState(isCompilation); if (!isCompilation) m_switchTitleArtist->SetVisible(false); else m_switchTitleArtist->SetVisible(true); } BuildFocusList(); updateTrackList(); CloseBusyPopup(); }
void IconView::HandleImport(void) { QFileInfo path; QDir importdir; #if 0 DialogBox *importDlg = new DialogBox(GetMythMainWindow(), tr("Import pictures?")); importDlg->AddButton(tr("No")); importDlg->AddButton(tr("Yes")); DialogCode code = importDlg->exec(); importDlg->deleteLater(); if (kDialogCodeButton1 != code) return; #endif // Makes import directory samba/windows friendly (no colon) QString idirname = m_currDir + "/" + MythDate::current().toString("yyyy-MM-dd_hh-mm-ss"); importdir.mkdir(idirname); importdir.setPath(idirname); for (QStringList::const_iterator it = m_paths.begin(); it != m_paths.end(); ++it) { path.setFile(*it); if (path.isDir() && path.isReadable()) { ImportFromDir(*it, importdir.absolutePath()); } #if 0 else if (path.isFile() && path.isExecutable()) { // TODO this should not be enabled by default!!! QString cmd = *it + " " + importdir.absolutePath(); LOG(VB_GENERAL, LOG_INFO, LOC + QString("Executing %1").arg(cmd)); myth_system(cmd); } #endif else { LOG(VB_GENERAL, LOG_ERR, LOC + QString("Could not read or execute %1").arg(*it)); } } importdir.refresh(); if (importdir.count() == 0) { #if 0 DialogBox *nopicsDlg = new DialogBox(GetMythMainWindow(), tr("Nothing found to import")); nopicsDlg->AddButton(tr("OK")); nopicsDlg->exec(); nopicsDlg->deleteLater(); #endif return; } LoadDirectory(m_currDir); }
void MyFrame::OnTecla(wxKeyEvent& event) { int ascii = event.GetKeyCode(); /*wxBitmap adrixdown("/opt/extras.ubuntu.com/azpazeta/media/Adrix.png", wxBITMAP_TYPE_PNG); wxBitmap adrixup("/opt/extras.ubuntu.com/azpazeta/media/AdrixUp.png", wxBITMAP_TYPE_PNG); wxBitmap adrixleft("/opt/extras.ubuntu.com/azpazeta/media/AdrixLeft.png", wxBITMAP_TYPE_PNG); wxBitmap adrixright("/opt/extras.ubuntu.com/azpazeta/media/AdrixRight.png", wxBITMAP_TYPE_PNG);*/ wxClientDC dc(dcpanel); switch(city){ case 1:{ switch(ascii) { //El primer edificio está a 26 pix-------333pix y 27 piy--------------330 piy case WXK_LEFT: //Left if(adry< 390 && adrx<330){}else{ adrx-=5; RenderLeft(dc); if(adrx<=1 && mision>=6){Stage2();} } break; case WXK_UP: //UP if(adry< 390 && adrx<330){}else{ adry-=5; RenderUp(dc);} break; case WXK_RIGHT: //Right //if(){}else{ adrx+=5; RenderRight(dc); break; case WXK_DOWN: //Down //if(/*adry< 330 && adrx<334*/){}else{ adry+=5; RenderDown(dc); break; case WXK_RETURN: if(adry<=400 && adrx<180) {if(adrx>=140){ switch(mision){ case 0:{ RenderUp(dc); dc.DrawText("Quien eres?\nNo te conozco.\nEres el nuevo?\nPresiona ENTER", wxPoint(625, 470)); mision++; break;} case 1: RenderUp(dc); dc.DrawText("Bueno, me presento\nSoy Alfredo\nEl alcalde de Azpazeta\nPresiona ENTER",wxPoint(625,470)); mision++; break; case 2:{ RenderUp(dc); wxString completo=wxT("Como te llamas?\n")+newname+wxT("\nBonito nombre\nPresiona ENTER"); dc.DrawText(completo,wxPoint(625,470)); mision++; break;} case 3: RenderUp(dc); dc.DrawText("Te has perdido?\nSupongo que querras casa\nPero no va ser gratis\nPresiona ENTER",wxPoint(625,470)); mision++; break; case 4: RenderUp(dc); dc.DrawText("Necesitaras un trabajo\nNo se de que\nEso lo dejo a tu eleccion\nPresiona ENTER",wxPoint(625,470)); mision++; break; case 5: RenderUp(dc); dc.DrawText("[Objetivo anadido:\nEncontrar trabajo]\nPista: El pueblo esta a la izquierda",wxPoint(625,470)); mision++; break; }}} break; case WXK_ESCAPE: if(aux==1){SaveDialog* savedlg;savedlg=new SaveDialog();savedlg->ShowModal();savedlg->Destroy();Adrix->Destroy();Load();} break; case WXK_TAB: wxMessageBox(wxT("TAB")); break; case WXK_SHIFT:{ wxString cheat=wxGetTextFromUser(wxT("Introduce el Cheat Code"), wxT("Debug Mode"),wxT("")); if(cheat==wxT("2")){Stage1();Stage2();}} break; case WXK_ALT: SetMenuBar(menuBar); break; }break;} case 2: switch(ascii) { //El primer edificio está a 26 pix-------333pix y 27 piy--------------330 piy case WXK_LEFT: if(adry< 470){}else{ adrx-=5; RenderLeft(dc); if(adrx<=1 && mision==15){Stage3();} } break; case WXK_UP: if(adry< 470){}else{ adry-=5; RenderUp(dc);} break; case WXK_RIGHT: //if(){}else{ adrx+=5; RenderRight(dc);//} break; case WXK_DOWN: //if(/*adry< 330 && adrx<334*/){}else{ adry+=5; RenderDown(dc); //} break; case WXK_RETURN: if(adry<=480) {if(adrx>=108 && adrx<=170){ switch(mision){ case 6: RenderUp(dc); dc.DrawText("\"El INEM\nSeguro que aqui habra trabajo\nVoy a ver\"\nPresiona ENTER",wxPoint(625,470)); mision++; break; case 7: RenderUp(dc); dc.DrawText("Siguiente...\n-Venia a por trabajo\n-Tenemos en la panificadora\nPresiona ENTER",wxPoint(625,470)); mision++; break; case 8: RenderUp(dc); dc.DrawText("-Creo que me valdra\n-Siguiente...\n\nPresiona ENTER",wxPoint(625,470)); mision++; break; case 9: RenderUp(dc); dc.DrawText("[Objetivo anadido:\nIr a la panificadora]",wxPoint(625,470)); mision++; break; default: RenderUp(dc); dc.DrawText("Otra vez tu\nAnda vete para fuera\n",wxPoint(625,470)); }} if(adrx>=474 && adrx<=542){ switch(mision){ case 10: RenderUp(dc); dc.DrawText("(Ruidos)\nPUES SI, IMPORTA\nAnda, vete a...\nPresiona ENTER",wxPoint(625,470)); mision++; break; case 11: RenderUp(dc); dc.DrawText("-Y tu quien eres?\n-Vengo por el puesto\n-Ah, sí.\nPresiona ENTER",wxPoint(625,470)); mision++; break; case 12: RenderUp(dc); dc.DrawText("Trabajaras de comerciante\nambulante.\nIras por los pueblos\nPresiona ENTER",wxPoint(625,470)); mision++; break; case 13: RenderUp(dc); dc.DrawText("Vamos a ver como lo haces\nVe a la plaza de Gorguez\nLleva estos panes\nPresiona ENTER",wxPoint(625,470)); mision++; break; case 14: RenderUp(dc); dc.DrawText("[Objetivo anadido:\nVender los panes en Gorguez]\nPista: La estacion de tren\ntiene trenes locales",wxPoint(625,470)); mision++; break; default: RenderUp(dc); dc.DrawText("(Esta cerrado)",wxPoint(625,470)); break; }}} break; case WXK_ESCAPE: if(aux==1){SaveDialog* savedlg;savedlg=new SaveDialog();savedlg->ShowModal();savedlg->Destroy();Load();} break; case WXK_TAB: SetMenuBar(menuBar); break; case WXK_SHIFT:{ wxString cheat=wxGetTextFromUser(wxT("Introduce el Cheat Code"), wxT("Debug Mode"),wxT("")); if(cheat==wxT("2")){Stage1();Stage2();}} break; case WXK_ALT: SetMenuBar(menuBar); break; }break; case 3: switch(ascii) { //El primer edificio está a 26 pix-------333pix y 27 piy--------------330 piy case WXK_LEFT: if((adry<156 && adrx<307) || ((adry<383 && adry>200) && adrx<307) || (adry<383 && adrx>503)){if(adrx==504){adrx--; RenderLeft(dc); }}else{ if(adrx<=1){Stage4();}else{ GOLEFT} //if(adrx==1 && mision>=6){Stage2();} } break; case WXK_UP: if((adry<156 && adrx<307) || ((adry<383 && adry>200) && adrx<307) || (adry<383 && adrx>503)){printf("Valor X=%d Y=%d",adrx, adry);if(adry==199){adry--; RenderUp(dc);}}else{ if(adry<=5){Stage7();} GOUP} break; case WXK_RIGHT: if((adry<156 && adrx<307) || ((adry<383 && adry>200) && adrx<307) || (adry<383 && adrx>503)){if(adrx==306){adrx++; RenderRight(dc); }}else{ if(adrx>=746){Stage2();} GORIGHT} break; case WXK_DOWN: if((adry<156 && adrx<307) || ((adry<383 && adry>200) && adrx<307) || (adry<383 && adrx>503)){if(adry==382 || adry==155){adry++; RenderDown(dc);}}else{ GODOWN} break; case WXK_RETURN: //Trenes if(adry<=427 && (adrx>=633 && adrx<=670)){ switch(mision){ case 15: RenderUp(dc); dc.DrawText("-Supongo que es la estacion\nVamos a ver como es\nGorguez\nPresiona ENTER",wxPoint(625,470)); mision++; break; default: wxPrintf("Cargando..."); TrenDialog* trendlg=new TrenDialog(); wxPrintf("Mostrando..."); trendlg->ShowModal(); trendlg->Destroy(); Load(); break; }} //Piso franco if(adry<=196 && (adrx>=156 && adrx<=182)){ SaveDialog* savedlg; savedlg=new SaveDialog(); savedlg->ShowModal(); savedlg->Destroy(); Load(); } break; case WXK_ESCAPE: if(aux==1){SaveDialog* savedlg;savedlg=new SaveDialog();savedlg->ShowModal();savedlg->Destroy();Load();} break; case WXK_TAB: wxMessageBox(wxT("TAB")); break; case WXK_SHIFT: break; case WXK_ALT: SetMenuBar(menuBar); break; }break; case 4: switch(ascii) { //366-222 case WXK_LEFT: if(adrx<=283){}else{ GOLEFT} break; case WXK_UP: if(adry<=204 && adrx>=474){}else{ if(adry<=10){Stage5();} GOUP} break; case WXK_RIGHT: if((adry<=204 && adrx>=475) || (adry>=366 && adrx>=474)){}else{ if(adrx>=746){Stage3();} GORIGHT} break; case WXK_DOWN: if(adry>=366 && adrx>=474){}else{ GODOWN} break; case WXK_RETURN: if((adrx>=616 || adrx<=688) && adry>=360){ DivelKey* keydlg=new DivelKey(); keydlg->ShowModal(); keydlg->Destroy();} break; case WXK_ESCAPE: if(aux==1){SaveDialog* savedlg;savedlg=new SaveDialog();savedlg->ShowModal();savedlg->Destroy();Load();} break; case WXK_TAB: break; case WXK_SHIFT: break; case WXK_ALT: SetMenuBar(menuBar); break; }break; case 5: switch(ascii) { //366-222 case WXK_LEFT: if(adrx<=362 && (adry<=226 || adry>=399)){}else{ GOLEFT } break; case WXK_UP: if(adrx<=362 && adry<=226){}else{ if(adry<=5){Stage6();} GOUP } //226-362 break; case WXK_RIGHT: if(adrx>=545){}else{ GORIGHT } break; case WXK_DOWN: if(adrx<=362 && adry>=399){}else{ if(adry>=540){Stage4();} GODOWN }//399-362 break; case WXK_RETURN: if((adrx>=154 && adrx<=222) && adry<=230){ switch(mision){ default: Police* poldlg=new Police(); poldlg->ShowModal(); poldlg->Destroy(); } } break; case WXK_ESCAPE: if(aux==1){SaveDialog* savedlg;savedlg=new SaveDialog();savedlg->ShowModal();savedlg->Destroy();Load();} break; case WXK_TAB: break; case WXK_SHIFT: break; case WXK_ALT: SetMenuBar(menuBar); break; }break; case 6: switch(ascii) { //366-222 case WXK_LEFT: GOLEFT break; case WXK_UP: if(adry<=300){}else{ GOUP } break; case WXK_RIGHT: GORIGHT break; case WXK_DOWN: if(adry>=540){ Stage5();} GODOWN break; case WXK_RETURN: //Entrar en Hipermercado if(adry<=320 && (adrx>=407 && adrx<=470)){Hiper* hiperdlg; hiperdlg=new Hiper(); hiperdlg->ShowModal();hiperdlg->Destroy();} break; case WXK_ESCAPE: if(aux==1){SaveDialog* savedlg;savedlg=new SaveDialog();savedlg->ShowModal();savedlg->Destroy();Load();} break; case WXK_TAB: break; case WXK_SHIFT: break; case WXK_ALT: SetMenuBar(menuBar); break; }break; case 7: switch(ascii) { //366-222 case WXK_LEFT: GOLEFT break; case WXK_UP: if(adry<=300){}else{ GOUP } break; case WXK_RIGHT: GORIGHT break; case WXK_DOWN: if(adry>=540){Stage3();} GODOWN break; case WXK_RETURN: if(adry<=302 && (adrx>=382 && adrx<=440)){Golf* golfdlg; golfdlg=new Golf();golfdlg->ShowModal();golfdlg->Destroy();} break; case WXK_ESCAPE: if(aux==1){SaveDialog* savedlg;savedlg=new SaveDialog();savedlg->ShowModal();savedlg->Destroy();Load();} break; case WXK_TAB: break; case WXK_SHIFT: break; case WXK_ALT: SetMenuBar(menuBar); break; }break; case 11: switch(ascii) { //366-222 case WXK_LEFT: if((adrx<=405 && adry>=405) || (adrx<=150 && adry<=130)){}else{ GOLEFT } break; case WXK_UP: if((adrx<=150 && adry<=130) || (adrx>=555 && adry<=340)){}else{ GOUP } break; case WXK_RIGHT: if(adrx>=555 && (adry<=340 || adry>=505)){}else{ GORIGHT } break; case WXK_DOWN: if((adrx<=405 && adry>=405) || (adrx>=555 && adry>=505)){}else{ GODOWN } break; case WXK_RETURN: //Bread&Pan if(adrx<=102 && adry<=152){ DialogBox* dlgbox; dlgbox=new DialogBox(); dlgbox->ShowModal(); dlgbox->Destroy(); } //Mercado if((adrx>=665 && adrx<=732) && adry<=358){ Mercado* merdlg; merdlg=new Mercado(); merdlg->ShowModal(); merdlg->Destroy(); } //Estacion de Tren if((adrx>=665 && adrx<=732) && adry>=498){ int iraazpazeta=wxMessageBox("Deseas ir a Azpazeta por 50 $?","Train Station",wxYES_NO|wxICON_QUESTION); if(iraazpazeta==wxYES){ money-=50; city=3; Load(); } } break; case WXK_ESCAPE: if(aux==1){SaveDialog* savedlg;savedlg=new SaveDialog();savedlg->ShowModal();savedlg->Destroy();Load();} break; case WXK_TAB: break; case WXK_SHIFT: break; case WXK_ALT: SetMenuBar(menuBar); break; }break; } }