long QTicketsBox::onDelete(FXObject*,FXSelector,void*) { char buf[512]; long id; if (lstTickets->getNumItems()==0) return -1; FXFoldingItem *lastItem = lstTickets->getLastItem(); if (FXMessageBox::question(this,MBOX_YES_NO,_("Confirm"), _("Do you really want to delete all these tickets?")) == MBOX_CLICKED_YES) { for (FXFoldingItem *tktItem = lstTickets->getFirstItem(); ; tktItem = tktItem->getNext()){ id = (long) tktItem->getData(); if (id >0 ){ CCL_member_flags_toggle(id,MEMBER_DELETED,TRUE); sprintf(buf, "delete from tickets where id = %ld", id); #ifdef DEBUG printf("QTicketsBox::onDelete(): %s\n", buf); #endif CCL_member_ticket_del(-1, buf); #ifdef DEBUG printf("QTicketsBox::onDelete(): %s\n", buf); #endif } if (lastItem == tktItem) break; } lstTickets->clearItems(); } return 0; }
long MembersFrame::onApplyChanges(FXObject*,FXSelector,void*) { FXFoldingItem *mitem = memberslist->findItemByData((void*)editedmember); FXString newname = nametf->getText(); FXString newlogin = logintf->getText(); if (mitem) { newname.trim(); newlogin.trim(); CCL_member_tarif_set(editedmember,tarifset); if (!newname.empty() && -1 == CCL_member_find(newname.text())) CCL_member_name_set(editedmember,nametf->getText().text()); CCL_member_email_set(editedmember,emailtf->getText().text()); CCL_member_other_set(editedmember,phonetf->getText().text()); if (newlogin.empty() && CCL_data_key_exists(CCL_DATA_MEMBER,editedmember, "login_name")) CCL_data_key_delete(CCL_DATA_MEMBER,editedmember,"login_name"); else if (-1 == CCL_data_find_by_key_sval(CCL_DATA_MEMBER,"login_name", newlogin.text())) CCL_data_set_string(CCL_DATA_MEMBER,editedmember,"login_name", newlogin.text()); mitem->setText(FXStringVal((FXint)editedmember) + "\t" + CCL_member_name_get(editedmember)); memberslist->updateItem(mitem); } #ifdef DEBUG printf("onApplyChanges(): Apply Changes Button was pressed\n"); #endif return 1; }
long QTicketsBox::printTickets() { char buf[32], num[32], stdate[15], expdate[15]; float faceval, curval; CCL_ticket_entry te; char misc[64]; struct tm tm, *rtm; time_t t = time(NULL); char *notes = ""; int retval = 1; if (lstTickets->getNumItems()>0){ FXFoldingItem *lastItem = lstTickets->getLastItem(); FXString tickettext = "<html><head><title>Mkahawa Tickets</title></head>\n"; int counter = 0; tickettext += "<body>\n"; tickettext += "<table border=1 cellpadding=2 cellspacing=1 frame=void>\n"; for (FXFoldingItem *tktItem = lstTickets->getFirstItem(); ; tktItem = tktItem->getNext()){ if (!(counter % COLS)){ //break up every 4 cells tickettext += "<tr>"; } tickettext += "\n <td>"; sscanf(tktItem->getText().text(), "%s\t%s\t%f\t%f\t%s\t%s", buf,te.name,&faceval,&curval,stdate,expdate); #ifdef DEBUG printf("QTicketsBox::printTickets(): %s=%s=%s\n", tktItem->getText().text(), stdate, expdate); #endif te.stdate = date2time_t(stdate); te.enddate = date2time_t(expdate); te.faceval = faceval * 100; formatTicket(tickettext, notes, te); tickettext += "</td>"; if (lastItem == tktItem){ tickettext += "</tr>\n"; break; } if ((counter % COLS) == COLS-1){ tickettext += "</tr>\n"; } counter++; } tickettext += "</table>"; //printString(tickettext); FXString fname = outputToHTML(tickettext); FXString msg(_("Tickets have been saved in ")); msg += fname; msg += "\n Open the file with any browser and print."; FXMessageBox::information(this,MBOX_OK,_("Ticket Printing"), msg.text()); } return retval; }
FXFoldingItem *FOX16_GuiSortingList::getItem(int index) { FXFoldingItem *ti; int i=index; ti=getFirstItem(); while(ti && i) { ti=ti->getNext(); i--; } return ti; }
long NotpaidFrame::onSelected(FXObject*,FXSelector,void* ptr) { FXFoldingItem* item = (FXFoldingItem*) ptr; long session = (long) item->getData(); cashingframe->setSession(session); mainwin->showCashing(); /* sideshow */ #ifdef DEBUG if (isUnpaid(0, session)) printf ("Unpaid: Session %d\n", session); if (isUnpaid(0, session+1)) printf ("Unpaid: Session %d\n", session+1); #endif return 1; }
long MembersFrame::onSetTarif(FXObject*,FXSelector,void*) { int tarif = tarifset; FXDialogBox dlg(this,_("Tariff")); FXVerticalFrame *vframe = new FXVerticalFrame(&dlg,LAYOUT_FILL_X|LAYOUT_FILL_Y); FXVerticalFrame *tlistframe = new FXVerticalFrame(vframe,FRAME_SUNKEN|LAYOUT_FILL_X|LAYOUT_FILL_Y, 0,0,0,0,0,0,0,0); FXFoldingList *tlist = new FXFoldingList(tlistframe,NULL,0, LAYOUT_FILL_X|LAYOUT_FILL_Y|FOLDINGLIST_SINGLESELECT); new FXButton(vframe,_("Select Tariff"),dbIcon3,&dlg,FXDialogBox::ID_ACCEPT, FRAME_RAISED|FRAME_THICK|LAYOUT_RIGHT); tlist->appendHeader(_("ID"),NULL,40); tlist->appendHeader(_("Name"),NULL,180); dlg.resize(250,200); tlist->appendItem(NULL,_("0\tNo special tariff"),NULL,NULL,(void*)0); for (int i = 0, t; -1 != (t = CCL_tarif_get_nth(i)); i++) { const char *name = NULL; char buf[256]; //name = CCL_data_get_string(CCL_DATA_TARIF,t,"name",NULL); name = CCL_tarif_name_get(t); snprintf(buf,256,"%d\t%s",t,name); CCL_free(name); tlist->appendItem(NULL,buf,NULL,NULL,(void*)(long)t); } FXFoldingItem *ctitem = tlist->findItemByData((void*)(long)tarif); if (ctitem) tlist->selectItem(ctitem); if (dlg.execute()) { FXFoldingItem *sitem = tlist->getCurrentItem(); if (sitem) tarifset = (long)(sitem->getData()); } return 1; }