Exemplo n.º 1
0
void MenuBook::logic() {
	if (book_name == "") return;
	else {
		loadBook();
		visible = true;
	}

	if (!visible)
		return;

	tablist.logic();

	if (closeButton->checkClick() || (inpt->pressing[ACCEPT] && !inpt->lock[ACCEPT])) {
		if (inpt->pressing[ACCEPT]) inpt->lock[ACCEPT] = true;

		clearBook();

		snd->play(sfx_close);

		visible = false;
		book_name = "";
		last_book_name = "";
		book_loaded = false;
	}
}
Exemplo n.º 2
0
bool ModelBackendOneFile::loadMetaInfo( const QString& path )
{
    qDebug() << Q_FUNC_INFO;

    QFile file(path + QDir::separator() + BOOK_DATA_FILE);
    if (!file.open(QFile::ReadOnly))
    {
        if (!file.open(QFile::ReadOnly))
        {
            qDebug() << Q_FUNC_INFO << "Cannot open newly created model file";
            return true;
		}
    }

    QXmlStreamReader xml(&file);

    xml.readNext(); //Skip first tag
    xml.readNext();

    if(xml.hasError()){
        qWarning() << Q_FUNC_INFO << "XML error before loading";
        file.copy(file.fileName() + ".backup");
        file.remove();
        return true;
    }

    if(xml.name() == "books")
    {
        m_fileModelVersion = xml.attributes().value("model_version").toString().toUInt();
        qDebug() << Q_FUNC_INFO << "model version" << m_fileModelVersion;

        while (!xml.atEnd() && !xml.hasError())
        {
            xml.readNext();
            if(xml.name() == "collections")
            {
                while (!xml.atEnd() && !xml.hasError())
                {
                    xml.readNext();
                    if(xml.isEndElement())
                    {
                        if(xml.name() == "collections")
                            break;
                    }
                    if (xml.name() == "collection" && xml.isStartElement())
                    {
                        addCollection(xml.readElementText());
                    }
                }
            }

            if (xml.name() == "book" && xml.isStartElement())
            {
                BookInfo* info = loadBook(xml);
                m_infos.insert(info->path, info);
            }
        }
    }

    file.close();

    if(xml.hasError())
    {
        qWarning() << Q_FUNC_INFO << "XML with errors. Books loaded until errors:" << m_infos.size();
        file.copy(file.fileName() + ".backup");
        qWarning() << Q_FUNC_INFO << "file to remove:" << file.remove();
    }

    return true;
}
main()
{
	int selection = 0;
	int entryNum = 0;
	entry *phoneBook;
	
	phoneBook = (entry*)malloc(sizeof(entry));
	do
	{
		
		printf("\n---------------------------------------------");
		printf("\nPhone Book\n[1]\tAdd Friend\n[2]\tDelete Friend\n[3]\tShow Phone Book\n[4]\tSearch Phone Book\n[5]\tRandom Entry\n[6]\tAlphebetical Phone Book\n[7]\tClear Phone Book\n[8]\tSave Phone Book\n[9]\tLoad Phone Book\n[0]\tExit\n:");
		scanf("%d",&selection);		
		switch(selection)
		{
		case 1:
			{
			 printf("\nYou have selected \"Add Friend\".");
			 
			 addFriend(phoneBook,&entryNum);
			 			 
			 break;
			}
		case 2:
			{
			 printf("\nYou have selected \"Delete Friend\".");
			 
			 delFriend(phoneBook,&entryNum);
			 break;
			}
		case 3:
			{
			 printf("\nYou have selected \"Show Phone Book\".");
			 showBook(phoneBook,&entryNum);
			 
			 break;
			}
		case 4:
			{
			 printf("\nYou have selected \"Search Phone Book\".");
			 findFriend(phoneBook,&entryNum);
			 
			 break;
			}
		case 5:
			{
			 printf("\nYou have selected \"Random Entry\".");
			 randEntry(phoneBook,&entryNum);
			 
			 break;
			}
		case 6:
			{
			 printf("\nYou have selected \"Alphabetical Phone Book\".");
			 alphaBook(phoneBook,&entryNum);
			 
			 break;
				
			}	
		case 7:
			{
			 printf("\nYou have selected \"Clear Phone Book\".");
			 clearBook(phoneBook,&entryNum);
			 
			 break;
				
			}
		case 8:
			{
			 printf("\nYou have selected \"Save Phone Book\".");
			 saveBook(phoneBook,&entryNum);
				
			 break;	
			}
		case 9:
			{
			 printf("\nYou have selected \"Load Phone Book\".");
			 phoneBook=loadBook(phoneBook,&entryNum);
				
			 break;	
			}
		case 0:
			{
			 printf("\nYou have selected \"Exit\".");
			 printf("\nHave a nice day!");
			 free(phoneBook);
			 break;
			}
		default:
			{
				printf("\nINVALID OPTION!");
				break;
			}
		
		}
		
		
	}while (selection!=0);
}