Q3map2:
* -brightness 0..alot, def 1: mimics q3map_lightmapBrightness, but globally + affects vertexlight * -contrast -255..255, def 0: lighting contrast * packer improvements Radiant: binds... * entity inspector: Tab enters Key field, toggles between key/value fields; Del deletes keys; Esc quits misc... * improved mwheel 2d zoom by Neumond * +makeRoom: like hollow, but extrudes faces outwards; for making rooms * deactivating tex dirs tree after loading dir, so SPACE and ENTER aren't broken for 2D after that * Regular, RegularLeft layouts: smaller console, bigger tex browser * Rotate, Scale dialogs: values aren't erased on Enter, OK, Apply (are on cancel, esc) * Rotate dialog: fix: new value in focused field wasn't taking in account on Enter * +updating texture directories list on 'flush and reload shaders' (reloading shaderlist aswell) * NumLock perspective window fix * ctrl+k(ConnectEntities): friendlier to complex connections, takes in account existing keys (priority: target > targetname > none) * +'all Supported formats' default option in open dialogs * defaulted show light radii * camera fov: 90->110 * cubic clip: off by default; bigger def dist; fixed button's shortcut tip * prefs: Min & Max texture thumbnail size + dependant on scale; def = *scale .5, min 48, max 160 (makes range 96-320 visually differentiated)
This commit is contained in:
@@ -1170,6 +1170,23 @@ void EntityInspector_clearKeyValue(){
|
||||
}
|
||||
}
|
||||
|
||||
static gint EntityInspector_clearKeyValueKB( GtkEntry* widget, GdkEventKey* event, gpointer data ){
|
||||
if ( event->keyval == GDK_Delete ) {
|
||||
// Get current selection text
|
||||
StringOutputStream key( 64 );
|
||||
key << gtk_entry_get_text( g_entityKeyEntry );
|
||||
|
||||
if ( strcmp( key.c_str(), "classname" ) != 0 ) {
|
||||
StringOutputStream command;
|
||||
command << "entityDeleteKey -key " << key.c_str();
|
||||
UndoableCommand undo( command.c_str() );
|
||||
Scene_EntitySetKeyValue_Selected( key.c_str(), "" );
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void EntityInspector_clearAllKeyValues(){
|
||||
UndoableCommand undo( "entityClear" );
|
||||
|
||||
@@ -1285,8 +1302,19 @@ static gint EntityEntry_keypress( GtkEntry* widget, GdkEventKey* event, gpointer
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
if ( event->keyval == GDK_Tab ) {
|
||||
if ( widget == g_entityKeyEntry ) {
|
||||
gtk_window_set_focus( GTK_WINDOW( gtk_widget_get_toplevel( GTK_WIDGET( widget ) ) ), GTK_WIDGET( g_entityValueEntry ) );
|
||||
}
|
||||
else
|
||||
{
|
||||
gtk_window_set_focus( GTK_WINDOW( gtk_widget_get_toplevel( GTK_WIDGET( widget ) ) ), GTK_WIDGET( g_entityKeyEntry ) );
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
if ( event->keyval == GDK_Escape ) {
|
||||
gtk_window_set_focus( GTK_WINDOW( gtk_widget_get_toplevel( GTK_WIDGET( widget ) ) ), NULL );
|
||||
//gtk_window_set_focus( GTK_WINDOW( gtk_widget_get_toplevel( GTK_WIDGET( widget ) ) ), NULL );
|
||||
GroupDialog_showPage( g_page_entity );
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@@ -1301,11 +1329,26 @@ void EntityInspector_destroyWindow( GtkWidget* widget, gpointer data ){
|
||||
GlobalEntityAttributes_clear();
|
||||
}
|
||||
|
||||
static gint EntityInspector_destroyWindowKB( GtkWidget* widget, GdkEventKey* event, gpointer data ){
|
||||
//if ( event->keyval == GDK_Escape && GTK_WIDGET_VISIBLE( GTK_WIDGET( widget ) ) ) {
|
||||
if ( event->keyval == GDK_Escape ) {
|
||||
//globalErrorStream() << "Doom3Light_getBounds: failed to parse default light radius\n";
|
||||
GroupDialog_showPage( g_page_entity );
|
||||
return TRUE;
|
||||
}
|
||||
if ( event->keyval == GDK_Tab ) {
|
||||
gtk_window_set_focus( GTK_WINDOW( gtk_widget_get_toplevel( GTK_WIDGET( widget ) ) ), GTK_WIDGET( g_entityKeyEntry ) );
|
||||
return TRUE;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
GtkWidget* EntityInspector_constructWindow( GtkWindow* toplevel ){
|
||||
GtkWidget* vbox = gtk_vbox_new( FALSE, 2 );
|
||||
gtk_widget_show( vbox );
|
||||
gtk_container_set_border_width( GTK_CONTAINER( vbox ), 2 );
|
||||
|
||||
g_signal_connect( G_OBJECT( toplevel ), "key_press_event", G_CALLBACK( EntityInspector_destroyWindowKB ), 0 );
|
||||
g_signal_connect( G_OBJECT( vbox ), "destroy", G_CALLBACK( EntityInspector_destroyWindow ), 0 );
|
||||
|
||||
{
|
||||
@@ -1420,6 +1463,7 @@ GtkWidget* EntityInspector_constructWindow( GtkWindow* toplevel ){
|
||||
GtkWidget* view = gtk_tree_view_new_with_model( GTK_TREE_MODEL( store ) );
|
||||
gtk_tree_view_set_enable_search( GTK_TREE_VIEW( view ), FALSE );
|
||||
gtk_tree_view_set_headers_visible( GTK_TREE_VIEW( view ), FALSE );
|
||||
g_signal_connect( G_OBJECT( view ), "key_press_event", G_CALLBACK( EntityInspector_clearKeyValueKB ), 0 );
|
||||
|
||||
{
|
||||
GtkCellRenderer* renderer = gtk_cell_renderer_text_new();
|
||||
|
||||
Reference in New Issue
Block a user