summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/unsupported/oipkg/packagemanager.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/noncore/unsupported/oipkg/packagemanager.cpp b/noncore/unsupported/oipkg/packagemanager.cpp
index f3da15d..642eae9 100644
--- a/noncore/unsupported/oipkg/packagemanager.cpp
+++ b/noncore/unsupported/oipkg/packagemanager.cpp
@@ -512,194 +512,194 @@ bool PackageManager::readIpkgConfig(const QString& conffile)
while ( !s.atEnd() ) {
QString l = s.readLine();
QStringList token = QStringList::split(' ', l);
if ( token[0] == "src" || token[0] == "#src" ) {
currentserver=settings->servers->count();
serverurl.insert(settings->servers->count(),new QString(token[2]));
int a = token[0] == "src" ? 1 : 0;
int i = settings->servers->count();
settings->servers->insertItem(token[1]);
settings->servers->setSelected(i,a);
} else if ( token[0] == "dest" ) {
// needs UI
} else if ( token[0] == "option" ) {
// ### somehow need to use the settings from netsetup
// if ( token[1] == "http_proxy" )
// settings->http->setText(token[2]);
// else if ( token[1] == "ftp_proxy" )
// settings->ftp->setText(token[2]);
// else if ( token[1] == "proxy_username" )
// settings->username->setText(token[2]);
// else if ( token[1] == "proxy_password" )
// settings->password->setText(token[2]);
} else {
// Old style?
int eq = l.find('=');
if ( eq >= 0 ) {
QString v = l.mid(eq+1).stripWhiteSpace();
if ( v[0] == '"' || v[0] == '\'' ) {
int cl=v.find(v[0],1);
if ( cl >= 0 )
v = v.mid(1,cl-1);
}
if ( l.left(12) == "IPKG_SOURCE=" ) {
ipkg_old=1;
currentserver=settings->servers->count();
serverurl.insert(settings->servers->count(),new QString(v));
settings->servers->insertItem(v);
} else if ( l.left(13) == "#IPKG_SOURCE=" ) {
serverurl.insert(settings->servers->count(),new QString(v));
settings->servers->insertItem(v);
} else if ( l.left(10) == "IPKG_ROOT=" ) {
// ### no UI
// } else if ( l.left(20) == "IPKG_PROXY_USERNAME=" ) {
// settings->username->setText(v);
// } else if ( l.left(20) == "IPKG_PROXY_PASSWORD=" ) {
// settings->password->setText(v);
// } else if ( l.left(16) == "IPKG_PROXY_HTTP=" ) {
// settings->http->setText(v);
// } else if ( l.left(16) == "IPKG_PROXY_FTP=" ) {
// settings->ftp->setText(v);
}
}
}
}
if ( ipkg_old ) {
settings->servers->setSelectionMode(QListBox::Single);
settings->servers->setSelected(currentserver,TRUE);
}
return TRUE;
} else {
return FALSE;
}
}
/*
* public slot
*/
void PackageManager::doSettings()
{
settings->showMaximized();
if ( settings->exec() ) {
writeSettings();
startRun();
runIpkg("update");
endRun();
updatePackageList();
} else {
readSettings();
}
}
void PackageManager::readSettings()
{
// read from config file(s)
readIpkgConfig("/etc/ipkg.conf");
}
void PackageManager::writeSettings()
{
QFile conf("/etc/ipkg.conf");
if ( conf.open(IO_WriteOnly) ) {
QTextStream s(&conf);
s << "# Written by Qtopia Package Manager\n";
if ( !ipkg_old ) {
for (int i=0; i<(int)settings->servers->count(); i++) {
QString url = serverurl[i] ? *serverurl[i] : QString("???");
- if ( !settings->servers->isSelected(i) )
- s << "#";
+// if ( !settings->servers->isSelected(i) )
+// s << "#";
s << "src " << settings->servers->text(i) << " " << url << "\n";
}
s << "dest root /\n"; // ### need UI
// if ( !settings->username->text().isEmpty() )
// s << "option proxy_username " << settings->username->text() << "\n";
// if ( !settings->password->text().isEmpty() )
// s << "option proxy_password " << settings->password->text() << "\n";
// if ( !settings->http->text().isEmpty() )
// s << "option http_proxy " << settings->http->text() << "\n";
// if ( !settings->ftp->text().isEmpty() )
// s << "option ftp_proxy " << settings->ftp->text() << "\n";
} else {
// Old style
bool src_selected=FALSE;
for (int i=0; i<(int)settings->servers->count(); i++) {
if ( settings->servers->isSelected(i) ) {
src_selected=TRUE;
} else {
s << "#";
}
s << "IPKG_SOURCE=\"" << settings->servers->text(i) << "\"\n";
}
if ( !src_selected )
s << "IPKG_SOURCE=\"" << settings->servers->currentText() << "\"\n";
s << "IPKG_ROOT=/\n"
// << "IPKG_PROXY_USERNAME=\"" << settings->username->text() << "\"\n"
// << "IPKG_PROXY_PASSWORD=\"" << settings->password->text() << "\"\n"
// << "IPKG_PROXY_HTTP=\"" << settings->http->text() << "\"\n"
// << "IPKG_PROXY_FTP=\"" << settings->ftp->text() << "\"\n"
;
}
conf.close();
}
}
/*
* public slot
*/
void PackageManager::doFind()
{
Search s(this, 0, TRUE);
if ( s.exec() ) {
QString p = s.pattern->text();
if ( p.isEmpty() ) {
list->selectAll(FALSE);
} else {
selectPackages(findPackages(p));
doNextDetails();
}
}
}
void PackageManager::selectPackages( const QStringList& l )
{
QDict<void> d;
for (QStringList::ConstIterator it = l.begin(); it != l.end(); ++it)
d.replace(*it,(void*)1);
QListViewItem* i;
for ( i = list->firstChild(); i; i = i->nextSibling() ) {
PackageItem* pit = (PackageItem*)i;
i->setSelected( d[pit->name()] );
}
}
QStringList PackageManager::findPackages( const QRegExp& r )
{
QStringList matches;
QString info = ipkgInfoOutput();
if ( !info.isEmpty() ) {
QStringList lines = QStringList::split('\n',info,TRUE);
QRegExp re = r;
QString description="";
QString name;
for (QStringList::Iterator it = lines.begin(); it!=lines.end(); ++it) {
QString line = *it;
if ( line.length()<=1 ) {
// EOR
if ( re.match(description) >= 0 )
matches.append(name);
description="";
name="";
} else if ( line[0] == ' ' || line[0] == '\t' ) {
// continuation
description.append(" ");
description.append(Qtopia::escapeString(line));
} else {
int sep = line.find(QRegExp(":[\t ]+"));
if ( sep >= 0 ) {
QString tag = line.left(sep);
if ( tag == "Package" )
name = line.mid(sep+2).simplifyWhiteSpace();
if ( !description.isEmpty() )
description.append("<br>");
description.append("<b>");
description.append(Qtopia::escapeString(tag));