void IngredientListView::load( int limit, int offset ) { ElementList ingredientList; database->loadIngredients( &ingredientList, limit, offset ); setTotalItems(ingredientList.count()); for ( ElementList::const_iterator ing_it = ingredientList.constBegin(); ing_it != ingredientList.constEnd(); ++ing_it ) createIngredient( *ing_it ); }
BndsTicketView::BndsTicketView(BndsTicket *ticket) : BndsListUi() { m_ticket = ticket; /// Establece el numero de items a mostrar en la lista. setTotalItems( m_ticket->ticketLines().size() ); list<BndsTicketLine*> listaTicketLines = m_ticket->ticketLines(); if (listaTicketLines.size() > 0) { m_currentLine = 1; } // end if }
BndsArticlesView::BndsArticlesView(int category) : BndsListUi() { list<BndsCategoryArticle*> listaCateg = g_db->categoryArticleList(); /// Recorremos todas las categorias hasta encontrar la seleccionada. int contador = 0; for (list<BndsCategoryArticle*>::iterator itCateg = listaCateg.begin(); itCateg != listaCateg.end(); itCateg++) { if (contador == category) { /// Ya tenemos el puntero a la lista de articulos de la categoria seleccionada. m_categoryArticle = *itCateg; m_listaArtic = (*itCateg)->articleList(); break; } // end if contador++; } // end for /// Establece el numero de items a mostrar en la lista. setTotalItems( m_listaArtic.size() ); }
void DuplicatesFinder::slotDuplicatesSearchTotalAmount(int amount) { setTotalItems(amount); }
void ThumbsGenerator::slotStart() { MaintenanceTool::slotStart(); QApplication::setOverrideCursor(Qt::WaitCursor); if (d->albumList.isEmpty()) { d->albumList = AlbumManager::instance()->allPAlbums(); } for (AlbumList::const_iterator it = d->albumList.constBegin(); !canceled() && (it != d->albumList.constEnd()); ++it) { if (!(*it)) { continue; } if ((*it)->type() == Album::PHYSICAL) { d->allPicturesPath += CoreDbAccess().db()->getItemURLsInAlbum((*it)->id()); } else if ((*it)->type() == Album::TAG) { d->allPicturesPath += CoreDbAccess().db()->getItemURLsInTag((*it)->id()); } } if (!d->rebuildAll) { QHash<QString, int> filePaths = ThumbsDbAccess().db()->getFilePathsWithThumbnail(); QStringList::iterator it = d->allPicturesPath.begin(); while (it != d->allPicturesPath.end()) { if (filePaths.contains(*it)) { it = d->allPicturesPath.erase(it); } else { ++it; } } } // remove non-image or video files from the list QStringList::iterator it = d->allPicturesPath.begin(); while (it != d->allPicturesPath.end()) { ItemInfo info = ItemInfo::fromLocalFile(*it); if (info.category() != DatabaseItem::Image && info.category() != DatabaseItem::Video && info.category() != DatabaseItem::Audio) { it = d->allPicturesPath.erase(it); } else { ++it; } } QApplication::restoreOverrideCursor(); if (d->allPicturesPath.isEmpty()) { slotDone(); return; } setTotalItems(d->allPicturesPath.count()); d->thread->generateThumbs(d->allPicturesPath); d->thread->start(); }
int BndsTicketView::exec() { string t; char str [50]; int res; BndsTicketsListView *btlv; /// Muestra la pantalla. show(); while(1) { swiWaitForVBlank(); scanKeys(); /// Procesa los eventos de la pantalla tactil. int itemSelected = g_video->eventTemplateListB(); if (keysDown() & KEY_LEFT) { previousPage(); } else if (keysDown() & KEY_RIGHT) { nextPage(); } else if (keysDown() & KEY_L) { /// Vuelta a la pantalla anterior. g_video->resetBgSub(); break; } else if (keysDown() & KEY_R) { /// Seleccionar mesa y enviar. itemSelected = -10; } else if (keysDown() & KEY_UP) { itemSelected = -6; } else if (keysDown() & KEY_DOWN) { itemSelected = -7; } // end if switch (itemSelected) { case -1: /// Necesita repintarse. show(); break; case -2: if (m_currentLine == 0) break; /// Boton - cantidad. m_currentTicketLine->setQuantityArticle(m_currentTicketLine->quantityArticle() - 1); /// Si la cantidad es <= 0 entonces se borra la linea de ticket. if (m_currentTicketLine->quantityArticle() <= 0) { m_ticket->removeTicketLine( m_currentTicketLine ); /// Establece el numero de items a mostrar en la lista. setTotalItems( m_ticket->ticketLines().size() ); } // end if m_ticket->recalculeTotal(); show(); break; case -3: if (m_currentLine == 0) break; /// Boton + cantidad. m_currentTicketLine->setQuantityArticle(m_currentTicketLine->quantityArticle() + 1); m_ticket->recalculeTotal(); show(); break; case -4: if (m_currentLine == 0) break; /// Boton borrar linea m_ticket->removeTicketLine( m_currentTicketLine ); /// Establece el numero de items a mostrar en la lista. setTotalItems( m_ticket->ticketLines().size() ); m_ticket->recalculeTotal(); show(); break; case -5: /// Boton anterior. /// Vuelta a la pantalla anterior. g_video->resetBgSub(); return 0; break; case -6: /// Dibuja boton 'Sube linea'. lineUp(); break; case -7: /// Dibuja boton 'Baja linea'. lineDown(); break; case -10: /// Seleccionar mesa y enviar. g_video->resetBgMain(); g_video->resetBgSub(); /// Primero cambiar el nombre al ticket. Despues enviar los datos. /// TODO: Provisionalmente genera 40 mesas (40 nombres de tickets). /// luego comprueba que el nombre no exista en la base de datos (se esta usando). /// muestra la lista completa, pero solo deja elegir los que esten disponibles. btlv = new BndsTicketsListView(); res = btlv->exec(); delete btlv; /// TODO: manera nada adecuada de conseguir el nombre del ticket seleccionado. sprintf(str,"%i", res); t = string("MESA ") + string(str); m_ticket->setNomTicket(t); /// TODO: tecla provisional. Enviar ticket. g_db->saveTicket(); m_ticket->clearTicket(); setTotalItems( m_ticket->ticketLines().size() ); m_ticket->setNomTicket(m_ticket->defaultTicketName()); return 0; break; case 2: break; } // end switch } // end while return 0; }