[Search engine] Show the version of search engines

This commit is contained in:
ngosang 2015-04-07 22:18:52 +02:00
parent baa586a6f7
commit d783787ceb
2 changed files with 19 additions and 8 deletions

View file

@ -6,8 +6,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>541</width>
<height>254</height>
<width>600</width>
<height>300</height>
</rect>
</property>
<property name="acceptDrops">
@ -50,6 +50,11 @@
<string>Name</string>
</property>
</column>
<column>
<property name="text">
<string>Version</string>
</property>
</column>
<column>
<property name="text">
<string>Url</string>

View file

@ -46,14 +46,16 @@
#include <QTemporaryFile>
#include <QMimeData>
enum EngineColumns {ENGINE_NAME, ENGINE_URL, ENGINE_STATE, ENGINE_ID};
enum EngineColumns {ENGINE_NAME, ENGINE_VERSION, ENGINE_URL, ENGINE_STATE, ENGINE_ID};
const QString UPDATE_URL = QString("https://raw.github.com/qbittorrent/qBittorrent/master/src/searchengine/") + (misc::pythonVersion() >= 3 ? "nova3" : "nova") + "/engines/";
engineSelectDlg::engineSelectDlg(QWidget *parent, SupportedEngines *supported_engines) : QDialog(parent), supported_engines(supported_engines) {
setupUi(this);
setAttribute(Qt::WA_DeleteOnClose);
pluginsTree->header()->resizeSection(0, 170);
pluginsTree->header()->resizeSection(1, 220);
pluginsTree->setRootIsDecorated(false);
pluginsTree->header()->resizeSection(0, 160);
pluginsTree->header()->resizeSection(1, 80);
pluginsTree->header()->resizeSection(2, 200);
pluginsTree->hideColumn(ENGINE_ID);
actionUninstall->setIcon(IconProvider::instance()->getIcon("list-remove"));
connect(actionEnable, SIGNAL(toggled(bool)), this, SLOT(enableSelection(bool)));
@ -270,11 +272,12 @@ void engineSelectDlg::installPlugin(QString path, QString plugin_name) {
return;
}
}
// Install was successful, remove backup
// Install was successful, remove backup and update plugin version
if (update) {
fsutils::forceRemove(dest_path+".bak");
}
if (update) {
qreal version = SearchEngine::getPluginVersion(fsutils::searchEngineLocation() + "/engines/" + plugin_name + ".py");
QTreeWidgetItem *item = findItemWithID(plugin_name);
item->setText(ENGINE_VERSION, QString::number(version, 'f', 2));
QMessageBox::information(this, tr("Search plugin install")+" -- "+tr("qBittorrent"), tr("%1 search engine plugin was successfully updated.", "%1 is the name of the search engine").arg(plugin_name));
return;
} else {
@ -318,6 +321,9 @@ void engineSelectDlg::addNewEngine(QString engine_name) {
downloader->downloadUrl(engine->getUrl()+"/favicon.ico");
}
}
// Load version
qreal version = SearchEngine::getPluginVersion(fsutils::searchEngineLocation() + "/engines/" + engine->getName() + ".py");
item->setText(ENGINE_VERSION, QString::number(version, 'f', 2));
}
void engineSelectDlg::on_installButton_clicked() {