* build menu.customize: show placeholder string in entries for creation of new ones
This commit is contained in:
parent
8dab7339d9
commit
4809f1a27a
|
|
@ -653,6 +653,13 @@ void build_commands_write( const char* filename ){
|
||||||
|
|
||||||
void Build_refreshMenu( GtkMenu* menu );
|
void Build_refreshMenu( GtkMenu* menu );
|
||||||
|
|
||||||
|
#define LAST_ITER_STRING "..."
|
||||||
|
inline void last_iter_append( GtkListStore* store ){
|
||||||
|
GtkTreeIter lastIter;
|
||||||
|
gtk_list_store_append( store, &lastIter );
|
||||||
|
gtk_list_store_set( store, &lastIter, 0, LAST_ITER_STRING, -1 );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void BSPCommandList_Construct( GtkListStore* store, Project& project ){
|
void BSPCommandList_Construct( GtkListStore* store, Project& project ){
|
||||||
gtk_list_store_clear( store );
|
gtk_list_store_clear( store );
|
||||||
|
|
@ -666,8 +673,7 @@ void BSPCommandList_Construct( GtkListStore* store, Project& project ){
|
||||||
gtk_list_store_set( store, &buildIter, 0, const_cast<char*>( buildName ), -1 );
|
gtk_list_store_set( store, &buildIter, 0, const_cast<char*>( buildName ), -1 );
|
||||||
}
|
}
|
||||||
|
|
||||||
GtkTreeIter lastIter;
|
last_iter_append( store );
|
||||||
gtk_list_store_append( store, &lastIter );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
class ProjectList
|
class ProjectList
|
||||||
|
|
@ -704,13 +710,12 @@ gboolean project_cell_edited( GtkCellRendererText* cell, gchar* path_string, gch
|
||||||
gtk_list_store_set( projectList->m_store, &iter, 0, new_text, -1 );
|
gtk_list_store_set( projectList->m_store, &iter, 0, new_text, -1 );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if ( !string_empty( new_text ) ) {
|
else if ( !string_empty( new_text ) && !string_equal( new_text, LAST_ITER_STRING ) ) {
|
||||||
projectList->m_changed = true;
|
projectList->m_changed = true;
|
||||||
project.push_back( Project::value_type( new_text, Build() ) );
|
project.push_back( Project::value_type( new_text, Build() ) );
|
||||||
|
|
||||||
gtk_list_store_set( projectList->m_store, &iter, 0, new_text, -1 );
|
gtk_list_store_set( projectList->m_store, &iter, 0, new_text, -1 );
|
||||||
GtkTreeIter lastIter;
|
last_iter_append( projectList->m_store );
|
||||||
gtk_list_store_append( projectList->m_store, &lastIter );
|
|
||||||
//make command field activatable
|
//make command field activatable
|
||||||
g_signal_emit_by_name( G_OBJECT( gtk_tree_view_get_selection( GTK_TREE_VIEW( projectList->m_buildView ) ) ), "changed" );
|
g_signal_emit_by_name( G_OBJECT( gtk_tree_view_get_selection( GTK_TREE_VIEW( projectList->m_buildView ) ) ), "changed" );
|
||||||
}
|
}
|
||||||
|
|
@ -771,8 +776,7 @@ gboolean project_selection_changed( GtkTreeSelection* selection, GtkListStore* s
|
||||||
gtk_list_store_append( store, &commandIter );
|
gtk_list_store_append( store, &commandIter );
|
||||||
gtk_list_store_set( store, &commandIter, 0, const_cast<char*>( ( *i ).c_str() ), -1 );
|
gtk_list_store_set( store, &commandIter, 0, const_cast<char*>( ( *i ).c_str() ), -1 );
|
||||||
}
|
}
|
||||||
GtkTreeIter lastIter;
|
last_iter_append( store );
|
||||||
gtk_list_store_append( store, &lastIter );
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
@ -807,14 +811,13 @@ gboolean commands_cell_edited( GtkCellRendererText* cell, gchar* path_string, gc
|
||||||
|
|
||||||
gtk_list_store_set( store, &iter, 0, new_text, -1 );
|
gtk_list_store_set( store, &iter, 0, new_text, -1 );
|
||||||
}
|
}
|
||||||
else if ( !string_empty( new_text ) ) {
|
else if ( !string_empty( new_text ) && !string_equal( new_text, LAST_ITER_STRING ) ) {
|
||||||
g_build_changed = true;
|
g_build_changed = true;
|
||||||
build.push_back( Build::value_type( VariableString( new_text ) ) );
|
build.push_back( Build::value_type( VariableString( new_text ) ) );
|
||||||
|
|
||||||
gtk_list_store_set( store, &iter, 0, new_text, -1 );
|
gtk_list_store_set( store, &iter, 0, new_text, -1 );
|
||||||
|
|
||||||
GtkTreeIter lastIter;
|
last_iter_append( store );
|
||||||
gtk_list_store_append( store, &lastIter );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
gtk_tree_path_free( path );
|
gtk_tree_path_free( path );
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user