]> de.git.xonotic.org Git - xonotic/netradiant.git/blobdiff - radiant/build.cpp
Merge commit '6134b25a1b87ad94c5a082915064a33ea66b07d7' into master-merge
[xonotic/netradiant.git] / radiant / build.cpp
index 179ae632342194b3148c7c78b90930845afb7e67..5e71e821496cbaba0b3fe77b827e9fe49a08ffc1 100644 (file)
@@ -923,6 +923,9 @@ ui::Window BuildMenuDialog_construct( ModalDialog& modal, ProjectList& projectLi
 
                                        auto renderer = ui::CellRendererText(ui::New);
                                        object_set_boolean_property( G_OBJECT( renderer ), "editable", TRUE );
+                                       g_object_set( G_OBJECT( renderer ), "wrap-mode", PANGO_WRAP_WORD, NULL );
+                                       //g_object_set( G_OBJECT( renderer ), "ellipsize", PANGO_ELLIPSIZE_MIDDLE, NULL );
+                                       object_set_int_property( G_OBJECT( renderer ), "wrap-width", 640 );
                                        renderer.connect( "edited", G_CALLBACK( commands_cell_edited ), store );
 
                                        auto column = ui::TreeViewColumn( "", renderer, {{"text", 0}} );
@@ -954,6 +957,7 @@ ui::Window BuildMenuDialog_construct( ModalDialog& modal, ProjectList& projectLi
 namespace
 {
 CopiedString g_buildMenu;
+CopiedString g_lastExecutedBuild;
 }
 
 void LoadBuildMenu();
@@ -994,6 +998,7 @@ BuildMenuItem( const char* name, ui::MenuItem item )
        : m_name( name ), m_item( item ){
 }
 void run(){
+       g_lastExecutedBuild = m_name;
        RunBSP( m_name );
 }
 typedef MemberCaller<BuildMenuItem, void(), &BuildMenuItem::run> RunCaller;
@@ -1067,3 +1072,13 @@ void BuildMenu_Construct(){
 void BuildMenu_Destroy(){
        SaveBuildMenu();
 }
+
+
+void Build_runRecentExecutedBuild(){
+       if( g_lastExecutedBuild.empty() ){
+               g_BuildMenuItems.begin()->run();
+       }
+       else{
+               RunBSP( g_lastExecutedBuild.c_str() );
+       }
+}