Add manager for Symbian SDKs.

This commit is contained in:
con
2009-05-26 15:31:29 +02:00
parent 3a851daf2c
commit c427858b7e
10 changed files with 548 additions and 4 deletions

View File

@@ -0,0 +1,89 @@
#include "s60devicespreferencepane.h"
#include "ui_s60devicespreferencepane.h"
#include <qt4projectmanager/qt4projectmanagerconstants.h>
#include <QtDebug>
using namespace Qt4ProjectManager;
using namespace Qt4ProjectManager::Internal;
S60DevicesWidget::S60DevicesWidget(QWidget *parent, S60Devices *devices) :
QWidget(parent),
m_ui(new Ui::S60DevicesPreferencePane),
m_devices(devices)
{
m_ui->setupUi(this);
connect(m_ui->refreshButton, SIGNAL(clicked()), this, SLOT(updateDevices()));
updateDevicesList();
}
S60DevicesWidget::~S60DevicesWidget()
{
delete m_ui;
}
void S60DevicesWidget::updateDevices()
{
m_devices->read();
Q_ASSERT(m_devices->detectQtForDevices());
updateDevicesList();
}
void S60DevicesWidget::updateDevicesList()
{
QList<S60Devices::Device> devices = m_devices->devices();
m_ui->list->clear();
foreach (const S60Devices::Device &device, devices) {
m_ui->list->addTopLevelItem(new QTreeWidgetItem(QStringList() << device.epocRoot
<< (device.qt.isEmpty()?tr("No Qt installed"):device.qt)));
}
}
S60DevicesPreferencePane::S60DevicesPreferencePane(S60Devices *devices, QObject *parent)
: Core::IOptionsPage(parent),
m_widget(0),
m_devices(devices)
{
m_devices->read();
}
S60DevicesPreferencePane::~S60DevicesPreferencePane()
{
}
QString S60DevicesPreferencePane::id() const
{
return QLatin1String("S60 SDKs");
}
QString S60DevicesPreferencePane::trName() const
{
return tr("S60 SDKs");
}
QString S60DevicesPreferencePane::category() const
{
return Constants::QT_CATEGORY;
}
QString S60DevicesPreferencePane::trCategory() const
{
return tr(Constants::QT_CATEGORY);
}
QWidget *S60DevicesPreferencePane::createPage(QWidget *parent)
{
if (m_widget)
delete m_widget;
m_widget = new S60DevicesWidget(parent, m_devices);
return m_widget;
}
void S60DevicesPreferencePane::apply()
{
}
void S60DevicesPreferencePane::finish()
{
}