void Mailbox::readSettings(QSettings *config) { _name = config->value("name").toString(); oldName = config->value("oldname").toString(); delimiter = config->value("delimiter").toString(); uid = config->value("uid").toString(); exists = config->value("exists", 0).toInt(); byUser = config->value("byuser").toBool(); deleted = config->value("deleted").toBool(); QString delItems(config->value("queuedelete").toString().trimmed()); if (!delItems.isEmpty()) delList = delItems.split( "," ); _localCopy = config->value("localcopy", false ).toBool(); _syncSetting = config->value("syncsettings", Sync_AllMessages).toInt(); serverUidList.clear(); QString str; for (int x = 1; x < (exists + 1); x++) { int theUid = config->value( QString::number(x) ).toInt(); str = QString::number(theUid); if ( !str.isEmpty() ) serverUidList.append( str ); } search->setFromFolder( pathName() ); if(_account && _account->accountType() == QMailAccount::IMAP) _displayName = decodeModUTF7(baseName()); else _displayName = _name; }
void QMplayer::scan() { showScreen(QMplayer::ScreenScan); delItems(lw); abort = false; progress->setMinimum(0); progress->setMaximum(0x7fffffff); scan_files: #ifdef Q_WS_WIN scanDir("c:\\", 0, maxScanLevel, 0, 0x1fffffff, false); #else // For the first time scan /home/root/Documents and dont scan other dirs if // something found there. if(maxScanLevel > 0 || !scanDir(QDir::homePath() + "/" + "Documents", 0, 2, 0, 0x1fffffff, true) || !scanDir("/media/card/Documents", 0, 2, 0, 0x2fffffff, true)) { scanDir("/", 0, 0, 0, 0x1fffffff, true); scanDir("/mnt", 0, maxScanLevel + 1, 0, 0x2fffffff, false); scanDir("/media", 0, maxScanLevel + 1, 0, 0x3fffffff, false); scanDir(QDir::homePath(), 0, maxScanLevel, 0, 0x4fffffff, true); scanDir(QDir::homePath() + "/" + "Documents", 0, 2, 0, 0x5fffffff, true); scanDir("/media/card/Documents", 0, 2, 0, 0x5fffffff, true); scanDir("/root", 0, maxScanLevel, 0, 0x6fffffff, true); } #endif maxScanLevel++; scanItem->setText(tr("Scan more")); if(lw->count() <= NUM_MENU_ITEMS && !abort && QMessageBox::question(this, "qmplayer", tr("No media files found, scan more?"), QMessageBox::Yes | QMessageBox::No) == QMessageBox::Yes) { goto scan_files; } showScreen(QMplayer::ScreenInit); }
bool QMplayer::runClient() { if(tcpServer != NULL) { QMessageBox::critical(this, tr("qmplayer"), tr("Point your web browser to http://localhost:7654 (replace localhost with this computer IP address)")); return true; } if(screen != QMplayer::ScreenConnect) { lineEdit->setText("192.168.0.200:7654"); showScreen(QMplayer::ScreenConnect); return true; } showScreen(QMplayer::ScreenInit); QString host = lineEdit->text(); int port = 80; int colonIndex = host.indexOf(':'); if(colonIndex > 0) { port = host.right(host.length() - colonIndex - 1).toInt(0, 10); host = host.remove(colonIndex, host.length() - colonIndex); } QTcpSocket sock(this); sock.connectToHost(host, port); if(!sock.waitForConnected(5000)) { QMessageBox::critical(this, tr("qmplayer"), sock.errorString()); return true; } QByteArray req("GET / HTTP/1.1\r\nHost: "); req.append(host); req.append(':'); req.append(QByteArray::number(port)); req.append("\r\n"); sock.write(req); sock.flush(); sock.waitForBytesWritten(); QByteArray res; while(sock.waitForReadyRead(5000)) { res += sock.readAll(); } sock.close(); if(res.length() == 0) { QMessageBox::critical(this, tr("qmplayer"), tr("No response from ") + host); return true; } delItems(lw); QTextStream buf(&res); buf.setCodec(QTextCodec::codecForName("utf8")); QString line; QString dir; for(;;) { line = buf.readLine(); if(line.isNull()) { break; } if(line.indexOf("<a href=\"http://") == 0) { int urlEnd = line.indexOf('"', 17); if(urlEnd < 0) { continue; } QString url = line.mid(9, urlEnd - 9); int start = url.lastIndexOf('/'); if(start < 0) { continue; } for(int i = start - 1; i >= 0; i--) { if(dir.length() <= i || dir.at(i) != url.at(i)) { dir = url.left(start); lw->addItem(getDirItem(lw, dir)); break; } } int fileStart = line.indexOf('>', 17) + 1; int fileEnd = line.indexOf('<', 17); if(fileStart <= 17 || fileEnd <= 17 || fileEnd < fileStart) { continue; } QString file = line.mid(fileStart, fileEnd - fileStart); lw->addItem(file); } } return true; }