[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    playground/games/kolf-ng
From:       Stefan Majewsky <majewsky () gmx ! net>
Date:       2009-09-22 22:15:42
Message-ID: 1253657742.817451.32234.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 1026945 by majewsky:

Create a new subdirectory utils for BSD-licensed generic miniclasses. Also, introduce \
Utils::SelectionDialog as an abstraction of dialogs which are only needed to select \
some items from some QAbstractItemView.

 M  +1 -1      CMakeLists.txt  
 M  +13 -12    editor/blender-manager.cpp  
 M  +0 -2      editor/blender-manager.h  
 D             editor/blender-texture-adddialog.cpp  
 D             editor/blender-texture-adddialog.h  
 M  +1 -1      elements/utils-heightmap.h  
 D             elements/utils-staticvector.h  
 A             utils (directory)  
 A             utils/selectiondialog.cpp   [License: BSD X11 (BSD like)]
 A             utils/selectiondialog.h   [License: BSD X11 (BSD like)]
 A             utils/staticvector.h   elements/utils-staticvector.h#1026709 [License: \
BSD X11 (BSD like)]


--- trunk/playground/games/kolf-ng/CMakeLists.txt #1026944:1026945
@@ -20,7 +20,6 @@
 	editor/blender-manager.cpp
 	editor/blender-model.cpp
 	editor/blender-texture.cpp
-	editor/blender-texture-adddialog.cpp
 	editor/blender-texturepool.cpp
 	editor/blender-widget.cpp
 	editor/hmcreator-allselectbutton.cpp
@@ -95,6 +94,7 @@
 	interface/newgame-playerwidget.cpp
 	interface/newgamewidget.cpp
 	main.cpp
+	utils/selectiondialog.cpp
 )
 
 kde4_add_executable(kolf-ng ${kolf_SRCS})
--- trunk/playground/games/kolf-ng/editor/blender-manager.cpp #1026944:1026945
@@ -23,9 +23,9 @@
 #include "blender-model.h"
 #include "blender-texture.h"
 #include "blender-texturepool.h"
-#include "blender-texture-adddialog.h"
 #include "hmcreator-drawingboard.h"
 #include "../elements/utils-heightmap.h"
+#include "../utils/selectiondialog.h"
 
 #include <QListView>
 #include <QPointer>
@@ -56,20 +56,21 @@
 }
 
 void Kolf::BlenderManager::addTextures()
-{	
-	QPointer<KDialog> dialog(new Kolf::BlenderAddTextureDialog);
-	connect(dialog, SIGNAL(textureSelectedFromPool(const QModelIndex&)), this, \
                SLOT(addTextureFromPool(const QModelIndex&)));
-	dialog->exec();
+{
+	//create item view
+	QListView* view = new QListView;
+	view->setSelectionMode(QAbstractItemView::SingleSelection);
+	view->setModel(Kolf::BlenderTexturePool::instance());
+	//create dialog
+	QPointer<Utils::SelectionDialog> dialog(new Utils::SelectionDialog(view));
+	dialog->setCaption(i18n("Add texture"));
+	if (dialog->exec())
+		if (dialog) //NOTE: See http://www.kdedevelopers.org/node/3919 for why this check \
is necessary. +			foreach (const QModelIndex& index, dialog->resultIndexes())
+				m_model->addTexture(index.data(Kolf::BlenderTexturePool::ImageRole).value<QImage>());
  delete dialog;
 }
 
-#include <KDebug>
-
-void Kolf::BlenderManager::addTextureFromPool(const QModelIndex& index)
-{
-	m_model->addTexture(index.data(Kolf::BlenderTexturePool::ImageRole).value<QImage>());
                
-}
-
 void Kolf::BlenderManager::delTextures()
 {
 	QModelIndexList indexes = m_view->selectionModel()->selectedIndexes();
--- trunk/playground/games/kolf-ng/editor/blender-manager.h #1026944:1026945
@@ -26,7 +26,6 @@
 #include <QObject>
 
 class QListView;
-class QModelIndex;
 class KAction;
 
 namespace Kolf
@@ -53,7 +52,6 @@
 			void blendingFinished();
 		private Q_SLOTS:
 			void addTextures();
-			void addTextureFromPool(const QModelIndex& index);
 			void delTextures();
 			void startBlending(bool force = false);
 			void processBlending();
--- trunk/playground/games/kolf-ng/elements/utils-heightmap.h #1026944:1026945
@@ -21,7 +21,7 @@
 #define KOLF_UTILS_HEIGHTMAP_H
 
 #include "math-sizef.h"
-#include "utils-staticvector.h"
+#include "../utils/staticvector.h"
 
 #include "ode/common.h"
 #include <QImage>


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic