src/gui_editactions.cpp

changeset 330
76505a9c7b56
parent 329
76db02dc7f60
child 344
55fcf67230fd
--- a/src/gui_editactions.cpp	Thu Jul 04 18:41:24 2013 +0300
+++ b/src/gui_editactions.cpp	Thu Jul 04 18:56:34 2013 +0300
@@ -32,6 +32,7 @@
 #include "dialogs.h"
 #include "colors.h"
 #include "ui_replcoords.h"
+#include "ui_editraw.h"
 
 vector<str> g_Clipboard;
 
@@ -169,27 +170,38 @@
 // =============================================================================
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 // =============================================================================
-MAKE_ACTION (setContents, "Edit LDraw Code", "set-contents", "Edit the LDraw code of this object.", KEY (F9)) {
-	if (g_win->sel ().size() != 1)
+MAKE_ACTION( setContents, "Edit LDraw Code", "set-contents", "Edit the LDraw code of this object.", KEY( F9 ))
+{
+	if( g_win->sel().size() != 1 )
 		return;
 	
-	LDObject* obj = g_win->sel ()[0];
+	LDObject* obj = g_win->sel()[0];
+	QDialog* dlg = new QDialog;
+	Ui::EditRawUI ui;
+	
+	ui.setupUi( dlg );
+	ui.code->setText( obj->raw() );
 	
-	SetContentsDialog dlg;
-	dlg.setObject (obj);
-	if (!dlg.exec ())
+	if( obj->getType() == LDObject::Gibberish )
+		ui.errorDescription->setText( static_cast<LDGibberish*>( obj )->reason );
+	else
+	{
+		ui.errorDescription->hide();
+		ui.errorIcon->hide();
+	}
+	
+	if( !dlg->exec() )
 		return;
 	
 	LDObject* oldobj = obj;
 	
 	// Reinterpret it from the text of the input field
-	obj = parseLine (dlg.text ());
-	
-	oldobj->replace (obj);
+	obj = parseLine( ui.code->text() );
+	oldobj->replace( obj );
 	
 	// Refresh
-	g_win->R ()->compileObject (obj);
-	g_win->refresh ();
+	g_win->R()->compileObject( obj );
+	g_win->refresh();
 }
 
 // =============================================================================

mercurial