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() );
}
Beispiel #4
0
void DuplicatesFinder::slotDuplicatesSearchTotalAmount(int amount)
{
    setTotalItems(amount);
}
Beispiel #5
0
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;
}