Version filtering and general related code sanitization.

Version list dialog has alternating row background set.
Nostalgia versions, based on OneSix.
This commit is contained in:
Petr Mrázek
2013-08-11 18:58:24 +02:00
parent e5dc113bfc
commit 7e78a422e8
24 changed files with 254 additions and 431 deletions

View File

@ -534,7 +534,7 @@ void MainWindow::on_actionChangeInstMCVersion_triggered()
VersionSelectDialog vselect(inst->versionList(), this);
if (vselect.exec() && vselect.selectedVersion())
{
inst->setIntendedVersionId(vselect.selectedVersion()->descriptor());
inst->setIntendedVersionId(vselect.selectedVersion()->descriptor);
}
}

View File

@ -37,8 +37,6 @@ NewInstanceDialog::NewInstanceDialog(QWidget *parent) :
QDialog(parent),
ui(new Ui::NewInstanceDialog)
{
m_selectedVersion = NULL;
ui->setupUi(this);
resize(minimumSizeHint());
layout()->setSizeConstraint(QLayout::SetFixedSize);
@ -64,17 +62,16 @@ NewInstanceDialog::~NewInstanceDialog()
void NewInstanceDialog::updateDialogState()
{
ui->buttonBox->button(QDialogButtonBox::Ok)->setEnabled(
!instName().isEmpty() && m_selectedVersion);
ui->buttonBox->button(QDialogButtonBox::Ok)->setEnabled(!instName().isEmpty() && m_selectedVersion);
}
void NewInstanceDialog::setSelectedVersion(const InstVersion *version)
void NewInstanceDialog::setSelectedVersion(InstVersionPtr version)
{
m_selectedVersion = version;
if (m_selectedVersion)
{
ui->versionTextBox->setText(version->name());
ui->versionTextBox->setText(version->name);
}
else
{
@ -94,7 +91,7 @@ QString NewInstanceDialog::iconKey() const
return InstIconKey;
}
const InstVersion *NewInstanceDialog::selectedVersion() const
InstVersionPtr NewInstanceDialog::selectedVersion() const
{
return m_selectedVersion;
}
@ -105,7 +102,7 @@ void NewInstanceDialog::on_btnChangeVersion_clicked()
vselect.exec();
if (vselect.result() == QDialog::Accepted)
{
const InstVersion *version = vselect.selectedVersion();
InstVersionPtr version = vselect.selectedVersion();
if (version)
setSelectedVersion(version);
}

View File

@ -17,9 +17,7 @@
#define NEWINSTANCEDIALOG_H
#include <QDialog>
class InstanceTypeInterface;
class InstVersion;
#include "InstanceVersion.h"
namespace Ui {
class NewInstanceDialog;
@ -35,13 +33,13 @@ public:
void updateDialogState();
void setSelectedVersion(const InstVersion *version);
void setSelectedVersion(InstVersionPtr version);
void loadVersionList();
QString instName() const;
QString iconKey() const;
const InstVersion *selectedVersion() const;
InstVersionPtr selectedVersion() const;
private slots:
void on_btnChangeVersion_clicked();
@ -51,7 +49,7 @@ private slots:
private:
Ui::NewInstanceDialog *ui;
const InstVersion *m_selectedVersion;
InstVersionPtr m_selectedVersion;
QString InstIconKey;
};

View File

@ -68,13 +68,11 @@ void VersionSelectDialog::loadList()
taskDlg->exec(loadTask);
}
const InstVersion *VersionSelectDialog::selectedVersion() const
InstVersionPtr VersionSelectDialog::selectedVersion() const
{
const InstVersion *versionPtr = (const InstVersion *)
m_proxyModel->data(ui->listView->selectionModel()->currentIndex(),
InstVersionList::VersionPointerRole).value<void *>();
return versionPtr;
auto currentIndex = ui->listView->selectionModel()->currentIndex();
auto variant = m_proxyModel->data(currentIndex, InstVersionList::VersionPointerRole);
return variant.value<InstVersionPtr>();
}
void VersionSelectDialog::on_refreshButton_clicked()

View File

@ -19,9 +19,9 @@
#include <QDialog>
#include <QSortFilterProxyModel>
#include <InstanceVersion.h>
class InstVersionList;
class InstVersion;
namespace Ui
{
@ -41,7 +41,7 @@ public:
//! Starts a task that loads the list.
void loadList();
const InstVersion *selectedVersion() const;
InstVersionPtr selectedVersion() const;
private slots:
void on_refreshButton_clicked();

View File

@ -19,6 +19,9 @@
<property name="horizontalScrollBarPolicy">
<enum>Qt::ScrollBarAlwaysOff</enum>
</property>
<property name="alternatingRowColors">
<bool>true</bool>
</property>
<property name="rootIsDecorated">
<bool>false</bool>
</property>