mirror of
https://bitbucket.org/smil3y/kde-playground.git
synced 2025-02-23 10:22:50 +00:00
knetpkg: link "required by" information to packages
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
This commit is contained in:
parent
4018c9d886
commit
c73a5eef40
3 changed files with 44 additions and 29 deletions
|
@ -25,6 +25,11 @@
|
|||
|
||||
#include "knetpkg.h"
|
||||
|
||||
static QByteArray pkgLink(const QByteArray &netpkg)
|
||||
{
|
||||
return QString::fromLatin1("<a href=\"%1\">%1</a>").arg(netpkg.constData()).toLatin1();
|
||||
}
|
||||
|
||||
KNetPkg::KNetPkg(QWidget *parent)
|
||||
: KMainWindow(parent)
|
||||
{
|
||||
|
@ -46,10 +51,10 @@ KNetPkg::KNetPkg(QWidget *parent)
|
|||
const QList<QByteArray> requiredbylist = knetpkginfo.requiredby.split('\n');
|
||||
for (int i = 0; i < requiredbylist.size(); i++) {
|
||||
if (i == 0) {
|
||||
knetpkginfo.requiredby = requiredbylist.at(i);
|
||||
knetpkginfo.requiredby = pkgLink(requiredbylist.at(i));
|
||||
} else {
|
||||
knetpkginfo.requiredby.append(", ");
|
||||
knetpkginfo.requiredby.append(requiredbylist.at(i));
|
||||
knetpkginfo.requiredby.append(pkgLink(requiredbylist.at(i)));
|
||||
}
|
||||
}
|
||||
} else {
|
||||
|
@ -69,18 +74,25 @@ KNetPkg::KNetPkg(QWidget *parent)
|
|||
}
|
||||
|
||||
m_ui.klistwidgetsearchline->setListWidget(m_ui.klistwidget);
|
||||
connect(m_ui.klistwidget, SIGNAL(itemActivated(QListWidgetItem*)), this, SLOT(slotItemChanged(QListWidgetItem*)));
|
||||
connect(
|
||||
m_ui.klistwidget, SIGNAL(currentTextChanged(QString)),
|
||||
this, SLOT(slotCurrentTextChanged(QString))
|
||||
);
|
||||
connect(
|
||||
m_ui.requiredbylabel, SIGNAL(linkActivated(QString)),
|
||||
this, SLOT(slotLinkActivated(QString))
|
||||
);
|
||||
}
|
||||
|
||||
KNetPkg::~KNetPkg()
|
||||
{
|
||||
}
|
||||
|
||||
void KNetPkg::slotItemChanged(QListWidgetItem *knetpkgitem)
|
||||
void KNetPkg::slotCurrentTextChanged(const QString &netpkg)
|
||||
{
|
||||
// qDebug() << Q_FUNC_INFO << knetpkgitem->text();
|
||||
// qDebug() << Q_FUNC_INFO << netpkg;
|
||||
foreach (const KNetPkgInfo &knetpkginfo, m_packages) {
|
||||
if (knetpkginfo.name == knetpkgitem->text()) {
|
||||
if (knetpkginfo.name == netpkg) {
|
||||
m_ui.requiredbylabel->setText(knetpkginfo.requiredby);
|
||||
m_ui.sizelabel->setText(KGlobal::locale()->formatByteSize(knetpkginfo.size.toDouble(), 1));
|
||||
m_ui.descriptionwidget->setText(knetpkginfo.description);
|
||||
|
@ -90,6 +102,17 @@ void KNetPkg::slotItemChanged(QListWidgetItem *knetpkgitem)
|
|||
Q_ASSERT(false);
|
||||
}
|
||||
|
||||
void KNetPkg::slotLinkActivated(const QString &link)
|
||||
{
|
||||
// qDebug() << Q_FUNC_INFO << link;
|
||||
for (int i = 0; i < m_ui.klistwidget->count(); i++) {
|
||||
if (m_ui.klistwidget->item(i)->text() == link) {
|
||||
m_ui.klistwidget->setCurrentRow(i);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
KAboutData aboutData("knetpkg", 0, ki18n("KNetPkg"),
|
||||
|
|
|
@ -38,7 +38,8 @@ public:
|
|||
~KNetPkg();
|
||||
|
||||
public Q_SLOTS:
|
||||
void slotItemChanged(QListWidgetItem *knetpkgitem);
|
||||
void slotCurrentTextChanged(const QString &netpkg);
|
||||
void slotLinkActivated(const QString &link);
|
||||
|
||||
private:
|
||||
Ui_KNetPkgWindow m_ui;
|
||||
|
|
|
@ -20,10 +20,17 @@
|
|||
</property>
|
||||
<widget class="QWidget" name="centralwidget">
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="0" column="1" colspan="2">
|
||||
<widget class="KListWidgetSearchLine" name="klistwidgetsearchline"/>
|
||||
<item row="1" column="0" colspan="2">
|
||||
<widget class="KListWidget" name="klistwidget">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Expanding">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="2">
|
||||
<item row="0" column="2" rowspan="2">
|
||||
<widget class="QGroupBox" name="groupBox">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Preferred">
|
||||
|
@ -97,26 +104,10 @@
|
|||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="label">
|
||||
<item row="0" column="0" colspan="2">
|
||||
<widget class="KListWidgetSearchLine" name="klistwidgetsearchline">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Fixed" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Search:</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0" colspan="2">
|
||||
<widget class="KListWidget" name="klistwidget">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Fixed" vsizetype="Expanding">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
|
|
Loading…
Add table
Reference in a new issue