fixed some bugs, added links for official repositories and AUR

This commit is contained in:
Martchus 2015-11-15 18:46:42 +01:00
parent 5f95fd790a
commit 6e36370716
6 changed files with 61 additions and 5 deletions

11
alpm/packagefinder.cpp Normal file
View File

@ -0,0 +1,11 @@
#include "packagefinder.h"
namespace RepoIndex {
PackageFinder::PackageFinder(QObject *parent) : QObject(parent)
{
}
} // namespace RepoIndex

20
alpm/packagefinder.h Normal file
View File

@ -0,0 +1,20 @@
#ifndef REPOINDEX_PACKAGEFINDER_H
#define REPOINDEX_PACKAGEFINDER_H
namespace RepoIndex {
class PackageFinder : public QObject
{
Q_OBJECT
public:
explicit PackageFinder(QObject *parent = 0);
signals:
public slots:
};
} // namespace RepoIndex
#endif // REPOINDEX_PACKAGEFINDER_H

View File

@ -128,7 +128,7 @@
</colgroup>
<thead>
<tr>
<th>Arch</th><th>Repo</th><th>Name</th><th>Version</th><th>Description</th><th>Build date</th><th>Flag date</th>
<th>Arch</th><th>Repo</th><th>Name</th><th>Version</th><th>Description</th><th>Build date</th><th>Flag</th>
</tr>
</thead>
<tbody id="packages" class="table-list table-list-clickable"></tbody>

View File

@ -404,7 +404,15 @@
var pkgMgr = repoindex.pageManager.packageManager;
for(var i2 = 0; i2 < suggestions.length; ++i2) {
var packageName = suggestions[i2];
if(!pkgMgr.entryByName(packageName)) {
var entryExists = false;
for(var i = 0, len = pkgMgr.entries.length; i < len; ++i) {
var pkgEntry = pkgMgr.entries[i];
if(pkgEntry.name === packageName && pkgEntry.repoName === repoName) {
entryExists = true;
break;
}
}
if(!entryExists) {
var packageInfo = this.getPackageInfo(repoName, packageName);
pkgMgr.addEntry(repoEntry, packageName, packageInfo);
}

View File

@ -101,7 +101,7 @@
return entry.info.repo === repo && entry.info.name === name;
});
if(res.length > 0) {
repoindex.pageManager.packageManager.showPackageInfoForIndex(res[0].info.index);
repoindex.pageManager.packageManager.showPackageInfoForIndex(res[0].index);
} else {
repoindex.pageManager.packageManager.showPackageNotFound(repo, name);
}
@ -127,7 +127,21 @@
var tb = document.getElementById("pkg_tbody");
tb.wipeChildren();
repoindex.addPackageNames(tb, "Name", [entry.name]);
repoindex.addField(tb, "Repository", repoindex.makeStr(entry.info.repo));
switch(entry.info.repo) {
case "AUR":
repoindex.setLink(repoindex.addField(tb, "Repository"), "AUR", "https://aur.archlinux.org/packages/" + encodeURIComponent(entry.name), window.open, "open AUR page");
break;
case "core":
case "extra":
case "multilib":
case "community":
if(basics.arch) {
repoindex.setLink(repoindex.addField(tb, "Repository"), entry.info.repo, "https://www.archlinux.org/packages/" + entry.info.repo + "/" + basics.arch + "/" + encodeURIComponent(entry.name), window.open, "open Arch Linux page");
break;
}
default:
repoindex.addField(tb, "Repository", repoindex.makeStr(entry.info.repo));
}
repoindex.addField(tb, "Version", repoindex.makeStr(basics.ver));
repoindex.addField(tb, "Description", repoindex.makeStr(basics.desc));
if(basics.arch) {

View File

@ -71,11 +71,14 @@
}
};
repoindex.setLink = function(id, text, href, action) {
repoindex.setLink = function(id, text, href, action, tooltip) {
var element = typeof id === "string" ? document.getElementById(id) : id;
element.wipeChildren();
var linkElement = document.createElement("a");
linkElement.href = href;
if(tooltip) {
linkElement.title = tooltip;
}
if(action) {
linkElement.onclick = function() {
action(this.href);