You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tdeio-apt/src/parsers/filesearch.cpp

53 lines
1.6 KiB

/***************************************************************************
* Copyright (C) 2003 by Sylvain Joyeux *
* sylvain.joyeux@m4x.org *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
***************************************************************************/
#include "parsers.h"
#include "../apt.h"
static QString
html_dpkgs_line_begin("<tr><td class=\"file\">%1</td><td>\n\t"),
html_dpkgs_line_end("\n</td></tr>\n");
namespace Parsers
{
void FileSearch::operator() (AptProtocol* slave, const QString & tag, const QString & value )
{
static QString buffer;
if (tag == "begin")
{
m_result_count = 0;
}
else if (tag == "error")
{
*slave << "<div class=\"error\">" + value + "</div>";
}
else if (tag == "file")
{
if (m_result_count)
*slave << buffer + html_dpkgs_line_end;
*slave << html_dpkgs_line_begin.arg(value);
++m_result_count;
buffer = "";
}
else if (tag == "package")
{
if (!buffer.isEmpty()) buffer = buffer + ", ";
buffer += "<a href=\"apt:/show?" + value + "\">" + value + "</a>";
}
else if (tag == "end")
{
*slave << buffer + html_dpkgs_line_end;
buffer="";
}
}
}