X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/2701ec1c25dfaa25852fffeaf79eef1185cd5c42..233a08164f79d9909693c5de438f856467ad5b76:/src/settings/servicessettingspage.cpp diff --git a/src/settings/servicessettingspage.cpp b/src/settings/servicessettingspage.cpp index a58df2096..9088366a8 100644 --- a/src/settings/servicessettingspage.cpp +++ b/src/settings/servicessettingspage.cpp @@ -24,6 +24,7 @@ #include #include #include +#include #include #include #include @@ -31,6 +32,7 @@ #include #include #include +#include #include ServicesSettingsPage::ServicesSettingsPage(QWidget* parent) : @@ -43,6 +45,7 @@ ServicesSettingsPage::ServicesSettingsPage(QWidget* parent) : QLabel* label = new QLabel(i18nc("@label:textbox", "Configure which services should " "be shown in the context menu."), this); + label->setWordWrap(true); m_servicesList = new QListWidget(this); m_servicesList->setSortingEnabled(true); @@ -50,8 +53,13 @@ ServicesSettingsPage::ServicesSettingsPage(QWidget* parent) : connect(m_servicesList, SIGNAL(itemClicked(QListWidgetItem*)), this, SIGNAL(changed())); + QPushButton* downloadButton = new QPushButton(i18nc("@action:button", "Download New Services...")); + downloadButton->setIcon(KIcon("get-hot-new-stuff")); + connect(downloadButton, SIGNAL(clicked()), this, SLOT(downloadNewServices())); + topLayout->addWidget(label); topLayout->addWidget(m_servicesList); + topLayout->addWidget(downloadButton); } ServicesSettingsPage::~ServicesSettingsPage() @@ -121,6 +129,14 @@ void ServicesSettingsPage::loadServices() } } +void ServicesSettingsPage::downloadNewServices() +{ + KNS::Engine khns(this); + khns.init("servicemenu.knsrc"); + khns.downloadDialogModal(this); + loadServices(); +} + bool ServicesSettingsPage::isInServicesList(const QString& service) const { const int count = m_servicesList->count();