Exemple #1
0
void MyWidget::encryptBtnClicked(){
    if(cipherCombo->currentIndex() == 0){

        Caesar temp(noSpace(inputLine->text()).toStdString());
        temp.getkey(keyLine->text().toInt());
        outputLine->setText(toCapital(QString::fromStdString(temp.encrypt())));

    }else if(cipherCombo->currentIndex() == 1){

        Monoalphabetic temp(noSpace(inputLine->text()).toStdString());
        temp.get_key(noSpace(keyLine->text()).toStdString());
        std::cout << noSpace(keyLine->text()).toStdString();
        outputLine->setText(toCapital(QString::fromStdString(temp.encrypt())));

    }else if(cipherCombo->currentIndex() == 2){

        Playfair temp(noSpace(inputLine->text()).toStdString());
        temp.get_key(keyLine->text().toStdString());
        outputLine->setText(toCapital(QString::fromStdString(temp.encrypt())));

    }else if(cipherCombo->currentIndex() == 3){

        Autokey temp(noSpace(inputLine->text()).toStdString());
        temp.get_key(keyLine->text().toStdString());
        outputLine->setText(toCapital(QString::fromStdString(temp.encrypt())));

    }else if(cipherCombo->currentIndex() == 4){

        Transposition temp(noSpace(inputLine->text()).toStdString());
        QStringList sList = keyLine->text().split(" ");
        int *ptr = new int[sList.length()];
        for(int i = 0; i < sList.length(); i++){
            ptr[i] = sList.at(i).toInt();
        }
        temp.get_key(ptr,sList.length());
        outputLine->setText(toCapital(QString::fromStdString(temp.encrypt())));

    }else if(cipherCombo->currentIndex() == 5){

        Product temp(noSpace(inputLine->text()).toStdString());
        QStringList sList = keyLine->text().split(" ");
        int *ptr = new int[sList.length()];
        for(int i = 0; i < sList.length(); i++){
            ptr[i] = sList.at(i).toInt();
        }
        temp.get_key(ptr,sList.length());
        outputLine->setText(toCapital(QString::fromStdString(temp.encrypt())));

    }
}
Exemple #2
0
QString toCapital(QString str){
    QString str1 = noSpace(str);
    QString qstr = "";

    for(int i = 0; i < str1.length(); i++){
        if(i % 5 == 0 && i != 0){
            qstr = qstr + " ";
        }
        qstr = qstr + str1.at(i);
    }

    qstr = qstr.toUpper();

    return qstr;
}
void UltimateLyricsProvider::fetchInfo(int id, const Song &metadata)
{
    #if QT_VERSION < 0x050000
    const QTextCodec *codec = QTextCodec::codecForName(charset.toAscii().constData());
    #else
    const QTextCodec *codec = QTextCodec::codecForName(charset.toLatin1().constData());
    #endif
    if (!codec) {
        emit lyricsReady(id, QString());
        return;
    }

    QString artistFixed=metadata.basicArtist();
    QString urlText(url);

    if (QLatin1String("lyrics.wikia.com")==name) {
        QUrl url(urlText);
        #if QT_VERSION < 0x050000
        QUrl &query=url;
        #else
        QUrlQuery query;
        #endif

        query.addQueryItem(QLatin1String("artist"), artistFixed);
        query.addQueryItem(QLatin1String("song"), metadata.title);
        query.addQueryItem(QLatin1String("func"), QLatin1String("getSong"));
        query.addQueryItem(QLatin1String("fmt"), QLatin1String("xml"));
        #if QT_VERSION >= 0x050000
        url.setQuery(query);
        #endif

        NetworkJob *reply = NetworkAccessManager::self()->get(url);
        requests[reply] = id;
        connect(reply, SIGNAL(finished()), this, SLOT(wikiMediaSearchResponse()));
        return;
    }

    songs.insert(id, metadata);

    // Fill in fields in the URL
    bool urlContainsDetails=urlText.contains(QLatin1Char('{'));
    if (urlContainsDetails) {
        doUrlReplace(constArtistArg, artistFixed, urlText);
        doUrlReplace(constArtistLowerArg, artistFixed.toLower(), urlText);
        doUrlReplace(constArtistLowerNoSpaceArg, noSpace(artistFixed.toLower()), urlText);
        doUrlReplace(constArtistFirstCharArg, firstChar(artistFixed), urlText);
        doUrlReplace(constAlbumArg, metadata.album, urlText);
        doUrlReplace(constAlbumLowerArg, metadata.album.toLower(), urlText);
        doUrlReplace(constAlbumLowerNoSpaceArg, noSpace(metadata.album.toLower()), urlText);
        doUrlReplace(constTitleArg, metadata.title, urlText);
        doUrlReplace(constTitleLowerArg, metadata.title.toLower(), urlText);
        doUrlReplace(constTitleCaseArg, titleCase(metadata.title), urlText);
        doUrlReplace(constYearArg, QString::number(metadata.year), urlText);
        doUrlReplace(constTrackNoArg, QString::number(metadata.track), urlText);
    }

    // For some reason Qt messes up the ? -> %3F and & -> %26 conversions - by placing 25 after the %
    // So, try and revert this...
    QUrl url(urlText);

    if (urlContainsDetails) {
        QByteArray data=url.toEncoded();
        data.replace("%253F", "%3F");
        data.replace("%253f", "%3f");
        data.replace("%2526", "%26");
        url=QUrl::fromEncoded(data, QUrl::StrictMode);
    }

    QNetworkRequest req(url);
    req.setRawHeader("User-Agent", "Mozilla/5.0 (X11; Linux i686; rv:6.0) Gecko/20100101 Firefox/6.0");
    NetworkJob *reply = NetworkAccessManager::self()->get(req);
    requests[reply] = id;
    connect(reply, SIGNAL(finished()), this, SLOT(lyricsFetched()));
}
Exemple #4
0
/**
 * @brief Paste the bytes.
 * @param [in] hDlg Handle to dialog.
 * @return TRUE if paste succeeded, FALSE if failed.
 */
BOOL PasteDlg::Apply(HWND hDlg)
{
	bPasteAsText = (IsDlgButtonChecked(hDlg, IDC_PASTE_BINARY) == BST_CHECKED);
	iPasteTimes = GetDlgItemInt(hDlg, IDC_PASTE_TIMES, 0, TRUE);
	if (iPasteTimes <= 0)
	{
		LangString atleastOnce(IDS_PASTE_ATLEAST_ONCE);
		MessageBox(hDlg, atleastOnce, MB_ICONERROR);
		return FALSE;
	}
	iPasteSkip = GetDlgItemInt(hDlg, IDC_PASTE_SKIPBYTES, 0, TRUE);
	HWND hwndEdit1 = GetDlgItem(hDlg, IDC_PASTE_CLIPBOARD);
	int destlen = GetWindowTextLength(hwndEdit1) + 1;
	TCHAR *pcPastestring = new TCHAR[destlen];
	destlen = GetWindowText(hwndEdit1, pcPastestring, destlen);
	if (!bPasteAsText)
	{
		BYTE *pc = 0;
		destlen = create_bc_translation(&pc, pcPastestring,
			_tcslen(pcPastestring), iCharacterSet, iBinaryMode);
		delete [] pcPastestring;
		pcPastestring = (TCHAR *) pc;
	}
	if (destlen == 0)
	{
		LangString zeroLenArray(IDS_PASTE_WAS_EMPTY);
		MessageBox(hDlg, zeroLenArray, MB_ICONERROR);
		delete [] pcPastestring;
		return FALSE;
	}

	// Choose to paste as Unicode text or ansi text regardless of build configuration,
	// TODO: UI not yet implemented.
	// ex) bool bPasteAsUnicode = IsDlgButtonChecked(hDlg, IDC_PASTE_AS_UNICODE))
	bool bPasteAsUnicode = false;
	BYTE *pasteData = (BYTE*) pcPastestring;
	int pasteSize = destlen * sizeof TCHAR;

	if (bPasteAsUnicode)
	{
		pasteData = new BYTE[destlen * sizeof WCHAR];
		pasteSize = WideCharToMultiByte(CP_ACP, 0, pcPastestring, destlen,
				(LPSTR) pasteData, destlen, NULL, NULL);
		if ( pasteSize > 0 ) {
			delete [] pcPastestring;
			pcPastestring = (TCHAR *) pasteData; // delete me later.
		}
	}

	WaitCursor wc1;
	if (bSelected || IsDlgButtonChecked(hDlg, IDC_PASTE_INSERT))
	{
		// Insert at iCurByte. Bytes there will be pushed up.
		if (bSelected)
		{
			iCurByte = iGetStartOfSelection();
			int iEndByte = iGetEndOfSelection();
			m_dataArray.RemoveAt(iCurByte, iEndByte - iCurByte + 1);//Remove extraneous data
			bSelected = false; // Deselect
		}
		int i = iCurByte;
		for (int k = 0 ; k < iPasteTimes ; k++)
		{
			if (!m_dataArray.InsertAtGrow(i, pasteData, 0, destlen))
			{
				LangString noMem(IDS_PASTE_NO_MEM);
				MessageBox(hDlg, noMem, MB_ICONERROR);
				break;
			}
			i += destlen + iPasteSkip;
		}
		iFileChanged = TRUE;
		bFilestatusChanged = true;
		resize_window();
	}
	else
	{
		// Overwrite.
		// Enough space for writing?
		// m_dataArray.GetLength()-iCurByte = number of bytes from including curbyte to end.
		if (m_dataArray.GetLength() - iCurByte < (iPasteSkip + destlen) * iPasteTimes)
		{
			LangString noSpace(IDS_PASTE_NO_SPACE);
			MessageBox(hDlg, noSpace, MB_ICONERROR);
			delete [] pcPastestring;
			return TRUE;
		}
		// Overwrite data.
		for (int k = 0 ; k < iPasteTimes ; k++)
		{
			for (int i = 0 ; i < destlen ; i++)
			{
				m_dataArray[iCurByte + k * (iPasteSkip + destlen) + i] = pasteData[i];
			}
		}
		iFileChanged = TRUE;
		bFilestatusChanged = true;
		repaint();
	}
	delete [] pcPastestring;
	return TRUE;
}