From aef9f58242101a9d7da181b767d123c9494ec973 Mon Sep 17 00:00:00 2001 From: dfighter1985 Date: Sat, 26 Jul 2014 02:24:32 +0200 Subject: [PATCH] Implemented tile image replace. --- .../tile_editor/tile_editor_main_window.cpp | 25 +++++++++++++++++++ .../tile_editor/tile_editor_main_window.h | 1 + 2 files changed, 26 insertions(+) diff --git a/code/studio/src/plugins/tile_editor/tile_editor_main_window.cpp b/code/studio/src/plugins/tile_editor/tile_editor_main_window.cpp index a941de6d7..e272faeee 100644 --- a/code/studio/src/plugins/tile_editor/tile_editor_main_window.cpp +++ b/code/studio/src/plugins/tile_editor/tile_editor_main_window.cpp @@ -220,6 +220,7 @@ void TileEditorMainWindow::onActionDeleteTile(bool triggered) void TileEditorMainWindow::onActionReplaceImage(bool triggered) { + onActionReplaceImage(m_ui->tileViewTabWidget->currentIndex()); } void TileEditorMainWindow::onActionDeleteImage(bool triggered) @@ -619,6 +620,30 @@ void TileEditorMainWindow::onActionDeleteImage( int tabId ) n->setTileFilename( TileModel::TileDiffuse, "" ); } +void TileEditorMainWindow::onActionReplaceImage( int tabId ) +{ + QListView *lv = getListViewByTab( tabId ); + + QModelIndex idx = lv->currentIndex(); + if( !idx.isValid() ) + { + QMessageBox::information( this, + tr( "Replacing tile image" ), + tr( "No tile selected!" ) ); + return; + } + + QString fileName = QFileDialog::getOpenFileName( this, + tr( "Select tile image" ), + "", + tr( "PNG files (*.png)" ) ); + if( fileName.isEmpty() ) + return; + + TileItemNode *n = reinterpret_cast< TileItemNode* >( idx.internalPointer() ); + n->setTileFilename( TileModel::TileDiffuse, fileName ); +} + TileModel* TileEditorMainWindow::createTileModel() { QStringList headers; diff --git a/code/studio/src/plugins/tile_editor/tile_editor_main_window.h b/code/studio/src/plugins/tile_editor/tile_editor_main_window.h index 117315c25..14cb7cf75 100644 --- a/code/studio/src/plugins/tile_editor/tile_editor_main_window.h +++ b/code/studio/src/plugins/tile_editor/tile_editor_main_window.h @@ -71,6 +71,7 @@ private: void onActionAddTile(int tabId); void onActionDeleteTile(int tabId); void onActionDeleteImage(int tabId); + void onActionReplaceImage(int tabId); TileModel* createTileModel();