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()))); } }
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())); }
/** * @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; }