public:
Project& m_project;
ui::ListStore m_store{ui::null};
+GtkWidget* m_buildView;
bool m_changed;
ProjectList( Project& project ) : m_project( project ), m_changed( false ){
}
gtk_list_store_set( projectList->m_store, &iter, 0, new_text, -1 );
projectList->m_store.append();
+ //make command field activatable
+ g_signal_emit_by_name( G_OBJECT( gtk_tree_view_get_selection( GTK_TREE_VIEW( projectList->m_buildView ) ) ), "changed" );
}
gtk_tree_path_free( path );
view.show();
+ projectList.m_buildView = buildView;
projectList.m_store = store;
scr.add(view);
namespace
{
CopiedString g_buildMenu;
+CopiedString g_lastExecutedBuild;
}
void LoadBuildMenu();
: m_name( name ), m_item( item ){
}
void run(){
+ g_lastExecutedBuild = m_name;
RunBSP( m_name );
}
typedef MemberCaller<BuildMenuItem, void(), &BuildMenuItem::run> RunCaller;
void BuildMenu_Destroy(){
SaveBuildMenu();
}
+
+
+void Build_runRecentExecutedBuild(){
+ if( g_lastExecutedBuild.empty() ){
+ g_BuildMenuItems.begin()->run();
+ }
+ else{
+ RunBSP( g_lastExecutedBuild.c_str() );
+ }
+}