some improve UI in ADeditor

This commit is contained in:
2010-09-09 14:30:48 +04:00
parent 38f2cec867
commit 97c8725091
11 changed files with 1309 additions and 1281 deletions

View File

@@ -3,26 +3,32 @@
#include <QMessageBox>
#include <QFileDialog>
#include <QSettings>
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
ui->pbSave->setIcon(QIcon::fromTheme("filesave"));
ui->pbReload->setIcon(QIcon::fromTheme("edit-undo"));
ui->pbAlAdd->setIcon(QIcon::fromTheme("add"));
ui->pbAlDel->setIcon(QIcon::fromTheme("remove"));
ui->pbTrigAdd->setIcon(QIcon::fromTheme("add"));
ui->pbTrigDel->setIcon(QIcon::fromTheme("remove"));
ui->pbTwAdd->setIcon(QIcon::fromTheme("add"));
ui->pbTwDel->setIcon(QIcon::fromTheme("remove"));
ui->pbMapAdd->setIcon(QIcon::fromTheme("add"));
ui->pbMapDelete->setIcon(QIcon::fromTheme("remove"));
ui->pbSplAdd->setIcon(QIcon::fromTheme("add"));
ui->pbSlpDel->setIcon(QIcon::fromTheme("remove"));
ui->pbTwSplashEdit->setIcon(QIcon::fromTheme("forward"));
ui->pbMapEdit->setIcon(QIcon::fromTheme("forward"));
ui->pbSave->setIcon(/*QIcon::fromTheme("documment-save",*/
QIcon(":/icons/icons/documment-save.png"));
ui->pbReload->setIcon(QIcon::fromTheme("edit-undo", QIcon(":/icons/icons/edit-undo.png")));
ui->pbAlAdd->setIcon(QIcon::fromTheme("list-add", QIcon(":/icons/icons/list-add.png")));
ui->pbAlDel->setIcon(QIcon::fromTheme("list-remove", QIcon(":/icons/icons/list-remove.png")));
ui->pbTrigAdd->setIcon(QIcon::fromTheme("list-add", QIcon(":/icons/icons/list-add.png")));
ui->pbTrigDel->setIcon(QIcon::fromTheme("list-remove", QIcon(":/icons/icons/list-remove.png")));
ui->pbTwAdd->setIcon(QIcon::fromTheme("list-add", QIcon(":/icons/icons/list-add.png")));
ui->pbTwDel->setIcon(QIcon::fromTheme("list-remove", QIcon(":/icons/icons/list-remove.png")));
ui->pbMapAdd->setIcon(QIcon::fromTheme("list-add", QIcon(":/icons/icons/list-add.png")));
ui->pbMapDelete->setIcon(QIcon::fromTheme("list-remove", QIcon(":/icons/icons/list-remove.png")));
ui->pbSplAdd->setIcon(QIcon::fromTheme("list-add", QIcon(":/icons/icons/list-add.png")));
ui->pbSlpDel->setIcon(QIcon::fromTheme("list-remove", QIcon(":/icons/icons/list-remove.png")));
ui->pbAnimAdd->setIcon(QIcon::fromTheme("list-add", QIcon(":/icons/icons/list-add.png")));
ui->pbAnimDel->setIcon(QIcon::fromTheme("list-remove", QIcon(":/icons/icons/list-remove.png")));
ui->pbImgAdd->setIcon(QIcon::fromTheme("list-add", QIcon(":/icons/icons/list-add.png")));
ui->pbImgDel->setIcon(QIcon::fromTheme("list-remove", QIcon(":/icons/icons/list-remove.png")));
ui->pbTwSplashEdit->setIcon(QIcon::fromTheme("edit", QIcon(":/icons/icons/edit.png")));
ui->pbMapEdit->setIcon(QIcon::fromTheme("edit", QIcon(":/icons/icons/edit.png")));
adloader = new Loader(this);
adloader->load("data2.xml");
@@ -42,17 +48,20 @@ MainWindow::MainWindow(QWidget *parent) :
alModel = new AlienModel(adloader->aliens.values());
ui->lvAliens->setModel((QAbstractItemModel * )alModel);
ui->cbAlImage->setModel((QAbstractItemModel * )animModel);
connect(ui->lvAliens->selectionModel(),SIGNAL(currentChanged(QModelIndex, QModelIndex)),this,SLOT(lvAliens_select(QModelIndex, QModelIndex)));
ui->lvAliens->selectionModel()->setCurrentIndex(ui->lvAliens->model()->index(0,0),QItemSelectionModel::ClearAndSelect);
splModel = new SplashModel(adloader->splashes.values());
ui->lvSplashes->setModel((QAbstractItemModel * )splModel);
ui->cbSplImage->setModel((QAbstractItemModel * )animModel);
connect(ui->lvSplashes->selectionModel(),SIGNAL(currentChanged(QModelIndex, QModelIndex)),this,SLOT(lvSplashes_select(QModelIndex, QModelIndex)));
ui->lvSplashes->selectionModel()->setCurrentIndex(ui->lvSplashes->model()->index(0,0),QItemSelectionModel::ClearAndSelect);
twModel = new TowerModel(adloader->towers.values());
ui->lvTowers->setModel((QAbstractItemModel * )twModel);
ui->cbTwSplash->setModel((QAbstractItemModel * )splModel);
ui->cbTwImage->setModel((QAbstractItemModel * )animModel);
connect(ui->lvTowers->selectionModel(),SIGNAL(currentChanged(QModelIndex, QModelIndex)),this,SLOT(lvTowers_select(QModelIndex, QModelIndex)));
ui->lvTowers->selectionModel()->setCurrentIndex(ui->lvTowers->model()->index(0,0),QItemSelectionModel::ClearAndSelect);
@@ -68,6 +77,16 @@ MainWindow::MainWindow(QWidget *parent) :
ui->cbTrigType->addItem(tr("on alien in radius"),QVariant(srcTriggerType::onAlienInRadius));
ui->cbTrigType->addItem(tr("on timer"),QVariant(srcTriggerType::onTimer));
isSaved = true;
QSettings sett("Alien_Defender","aliendefender");
this->restoreGeometry(sett.value("session/geometry").toByteArray());
this->restoreState(sett.value("session/mainwindow").toByteArray());
ui->splitter->restoreState(sett.value("session/split1").toByteArray());
ui->splitter_2->restoreState(sett.value("session/split2").toByteArray());
ui->splitter_3->restoreState(sett.value("session/split3").toByteArray());
ui->splitter_4->restoreState(sett.value("session/split4").toByteArray());
ui->splitter_5->restoreState(sett.value("session/split5").toByteArray());
ui->splitter_6->restoreState(sett.value("session/split6").toByteArray());
ui->tabWidget->setCurrentIndex(sett.value("session/tab").toInt());
}
@@ -172,7 +191,7 @@ void MainWindow::lvMaps_select(QModelIndex index, QModelIndex)
mapScene->addPixmap(pix);
ui->gvMap->centerOn(0,0);
//ui->gvMap->resetCachedContent();
ui->pbMapEdit->setIcon(QIcon(pix));
//ui->pbMapEdit->setIcon(QIcon(pix));
}
}
@@ -294,6 +313,16 @@ void MainWindow::lvTriggers_select(QModelIndex index, QModelIndex)
void MainWindow::closeEvent(QCloseEvent *event)
{
QSettings sett("Alien_Defender","aliendefender");
sett.setValue("session/geometry",this->saveGeometry());
sett.setValue("session/mainwindow",this->saveState());
sett.setValue("session/split1",ui->splitter->saveState());
sett.setValue("session/split2",ui->splitter_2->saveState());
sett.setValue("session/split3",ui->splitter_3->saveState());
sett.setValue("session/split4",ui->splitter_4->saveState());
sett.setValue("session/split5",ui->splitter_5->saveState());
sett.setValue("session/split6",ui->splitter_6->saveState());
sett.setValue("session/tab",ui->tabWidget->currentIndex());
if (!isSaved)
{
QMessageBox msgBox;
@@ -343,6 +372,14 @@ void MainWindow::on_pbReload_clicked()
twModel->refresh(adloader->towers.values());
splModel->refresh(adloader->splashes.values());
trigModel->refresh(adloader->triggers.values());
animModel->refresh(adloader->animations.values());
mapModel->refresh(adloader->maps.values());
ui->lvAnimations->setModel((QAbstractItemModel * )animModel);
ui->lvAnimations->reset();
ui->lvAnimations->selectionModel()->setCurrentIndex(ui->lvAnimations->model()->index(0,0),QItemSelectionModel::ClearAndSelect);
ui->lvMaps->setModel((QAbstractItemModel * )mapModel);
ui->lvMaps->reset();
ui->lvMaps->selectionModel()->setCurrentIndex(ui->lvMaps->model()->index(0,0),QItemSelectionModel::ClearAndSelect);
ui->lvAliens->setModel(alModel);
ui->lvAliens->reset();
ui->lvAliens->selectionModel()->setCurrentIndex(ui->lvAliens->model()->index(0,0),QItemSelectionModel::ClearAndSelect);