use static boolean TextureBrowser::wads, clean the code

This commit is contained in:
Garux 2018-03-01 14:52:13 +03:00
parent c182b48fee
commit 1d3094de94

View File

@ -89,10 +89,6 @@
#include "shaders.h" #include "shaders.h"
#include "commands.h" #include "commands.h"
bool TextureBrowser_showWads(){
return !string_empty( g_pGameDescription->getKeyValue( "show_wads" ) );
}
void TextureBrowser_queueDraw( TextureBrowser& textureBrowser ); void TextureBrowser_queueDraw( TextureBrowser& textureBrowser );
bool string_equal_start( const char* string, StringRange start ){ bool string_equal_start( const char* string, StringRange start ){
@ -295,6 +291,8 @@ int m_uniformTextureSize;
int m_uniformTextureMinSize; int m_uniformTextureMinSize;
bool m_hideNonShadersInCommon; bool m_hideNonShadersInCommon;
static bool wads;
// Return the display width of a texture in the texture browser // Return the display width of a texture in the texture browser
void getTextureWH( qtexture_t* tex, int &W, int &H ){ void getTextureWH( qtexture_t* tex, int &W, int &H ){
// Don't use uniform size // Don't use uniform size
@ -359,6 +357,7 @@ TextureBrowser() :
m_hideNonShadersInCommon( true ){ m_hideNonShadersInCommon( true ){
} }
}; };
bool TextureBrowser::wads = false;
void ( *TextureBrowser_textureSelected )( const char* shader ); void ( *TextureBrowser_textureSelected )( const char* shader );
@ -663,8 +662,6 @@ Signal0 m_realiseCallbacks;
public: public:
void realise(){ void realise(){
m_realiseCallbacks(); m_realiseCallbacks();
/* texturebrowser tree update on vfs restart */
// TextureBrowser_constructTreeStore();
} }
void unrealise(){ void unrealise(){
} }
@ -825,7 +822,7 @@ void visit( const char* minor, const _QERPlugImageTable& table ) const {
void TextureBrowser_ShowDirectory( TextureBrowser& textureBrowser, const char* directory ){ void TextureBrowser_ShowDirectory( TextureBrowser& textureBrowser, const char* directory ){
textureBrowser.m_searchedTags = false; textureBrowser.m_searchedTags = false;
if ( TextureBrowser_showWads() ) { if ( TextureBrowser::wads ) {
Archive* archive = GlobalFileSystem().getArchive( directory ); Archive* archive = GlobalFileSystem().getArchive( directory );
//ASSERT_NOTNULL( archive ); //ASSERT_NOTNULL( archive );
if( archive ){ if( archive ){
@ -1442,7 +1439,7 @@ gboolean TextureBrowser_button_press( GtkWidget* widget, GdkEventButton* event,
} }
} }
/* loads directory, containing active shader + focuses on it */ /* loads directory, containing active shader + focuses on it */
else if ( event->type == GDK_2BUTTON_PRESS && event->button == 1 && !TextureBrowser_showWads() ) { else if ( event->type == GDK_2BUTTON_PRESS && event->button == 1 && !TextureBrowser::wads ) {
const StringRange range( strchr( textureBrowser->shader.c_str(), '/' ) + 1, strrchr( textureBrowser->shader.c_str(), '/' ) + 1 ); const StringRange range( strchr( textureBrowser->shader.c_str(), '/' ) + 1, strrchr( textureBrowser->shader.c_str(), '/' ) + 1 );
if( range.last - range.first != 0 ){ if( range.last - range.first != 0 ){
const CopiedString dir = range; const CopiedString dir = range;
@ -1549,13 +1546,7 @@ TextureBrowser& GlobalTextureBrowser(){
void TextureBrowser_ToggleHideUnused(){ void TextureBrowser_ToggleHideUnused(){
if ( g_TextureBrowser.m_hideUnused ) { TextureBrowser_SetHideUnused( g_TextureBrowser, !g_TextureBrowser.m_hideUnused );
TextureBrowser_SetHideUnused( g_TextureBrowser, false );
}
else
{
TextureBrowser_SetHideUnused( g_TextureBrowser, true );
}
} }
void TextureGroups_constructTreeModel( TextureGroups groups, GtkTreeStore* store ){ void TextureGroups_constructTreeModel( TextureGroups groups, GtkTreeStore* store ){
@ -1610,10 +1601,8 @@ void TextureGroups_constructTreeModel_childless( TextureGroups groups, GtkTreeSt
} }
} }
TextureGroups TextureGroups_constructTreeView(){ void TextureGroups_constructTreeView( TextureGroups& groups ){
TextureGroups groups; if ( TextureBrowser::wads ) {
if ( TextureBrowser_showWads() ) {
GlobalFileSystem().forEachArchive( TextureGroupsAddWadCaller( groups ) ); GlobalFileSystem().forEachArchive( TextureGroupsAddWadCaller( groups ) );
} }
else else
@ -1625,30 +1614,25 @@ TextureGroups TextureGroups_constructTreeView(){
GlobalShaderSystem().foreachShaderName( TextureGroupsAddShaderCaller( groups ) ); GlobalShaderSystem().foreachShaderName( TextureGroupsAddShaderCaller( groups ) );
} }
return groups;
} }
void TextureBrowser_constructTreeStore(){ void TextureBrowser_constructTreeStore(){
TextureGroups groups = TextureGroups_constructTreeView(); TextureGroups groups;
TextureGroups_constructTreeView( groups );
GtkTreeStore* store = gtk_tree_store_new( 1, G_TYPE_STRING ); GtkTreeStore* store = gtk_tree_store_new( 1, G_TYPE_STRING );
if( !TextureBrowser_showWads() ){ if( !TextureBrowser::wads ){
TextureGroups_constructTreeModel( groups, store ); TextureGroups_constructTreeModel( groups, store );
} }
else{ else{
TextureGroups_constructTreeModel_childless( groups, store ); TextureGroups_constructTreeModel_childless( groups, store );
} }
//std::set<CopiedString>::iterator iter;
GtkTreeModel* model = GTK_TREE_MODEL( store ); gtk_tree_view_set_model( GTK_TREE_VIEW( g_TextureBrowser.m_treeViewTree ), GTK_TREE_MODEL( store ) );
gtk_tree_view_set_model( GTK_TREE_VIEW( g_TextureBrowser.m_treeViewTree ), model );
g_object_unref( G_OBJECT( store ) ); g_object_unref( G_OBJECT( store ) );
} }
void TextureBrowser_constructTreeStoreTags(){ void TextureBrowser_constructTreeStoreTags(){
//TextureGroups groups;
GtkTreeStore* store = gtk_tree_store_new( 1, G_TYPE_STRING ); GtkTreeStore* store = gtk_tree_store_new( 1, G_TYPE_STRING );
GtkTreeModel* model = GTK_TREE_MODEL( g_TextureBrowser.m_all_tags_list ); GtkTreeModel* model = GTK_TREE_MODEL( g_TextureBrowser.m_all_tags_list );
@ -1672,7 +1656,7 @@ void TreeView_onRowActivated( GtkTreeView* treeview, GtkTreePath* path, GtkTreeV
g_TextureBrowser.m_searchedTags = false; g_TextureBrowser.m_searchedTags = false;
if ( !TextureBrowser_showWads() ) { if ( !TextureBrowser::wads ) {
strcat( dirName, "/" ); strcat( dirName, "/" );
} }
@ -1776,7 +1760,7 @@ GtkMenuItem* TextureBrowser_constructViewMenu( GtkMenu* menu ){
// we always want to show shaders but don't want a "Show Shaders" menu for doom3 and .wad file games // we always want to show shaders but don't want a "Show Shaders" menu for doom3 and .wad file games
if ( g_pGameDescription->mGameType == "doom3" || TextureBrowser_showWads() ) { if ( g_pGameDescription->mGameType == "doom3" || TextureBrowser::wads ) {
g_TextureBrowser.m_showShaders = true; g_TextureBrowser.m_showShaders = true;
} }
else else
@ -1789,10 +1773,10 @@ GtkMenuItem* TextureBrowser_constructViewMenu( GtkMenu* menu ){
if ( g_TextureBrowser.m_tags ) { if ( g_TextureBrowser.m_tags ) {
create_menu_item_with_mnemonic( menu, "Show Untagged", "ShowUntagged" ); create_menu_item_with_mnemonic( menu, "Show Untagged", "ShowUntagged" );
} }
if ( g_pGameDescription->mGameType != "doom3" && !TextureBrowser_showWads() ) { if ( g_pGameDescription->mGameType != "doom3" && !TextureBrowser::wads ) {
create_check_menu_item_with_mnemonic( menu, "ShaderList Only", "ToggleShowShaderlistOnly" ); create_check_menu_item_with_mnemonic( menu, "ShaderList Only", "ToggleShowShaderlistOnly" );
} }
if ( !TextureBrowser_showWads() ) { if ( !TextureBrowser::wads ) {
create_check_menu_item_with_mnemonic( menu, "Hide Image Missing", "FilterNotex" ); create_check_menu_item_with_mnemonic( menu, "Hide Image Missing", "FilterNotex" );
menu_separator( menu ); menu_separator( menu );
} }
@ -1800,7 +1784,7 @@ GtkMenuItem* TextureBrowser_constructViewMenu( GtkMenu* menu ){
create_check_menu_item_with_mnemonic( menu, "Fixed Size", "FixedSize" ); create_check_menu_item_with_mnemonic( menu, "Fixed Size", "FixedSize" );
create_check_menu_item_with_mnemonic( menu, "Transparency", "EnableAlpha" ); create_check_menu_item_with_mnemonic( menu, "Transparency", "EnableAlpha" );
if ( !TextureBrowser_showWads() ) { if ( !TextureBrowser::wads ) {
menu_separator( menu ); menu_separator( menu );
g_TextureBrowser.m_shader_info_item = GTK_WIDGET( create_menu_item_with_mnemonic( menu, "Shader Info", "ShaderInfo" ) ); g_TextureBrowser.m_shader_info_item = GTK_WIDGET( create_menu_item_with_mnemonic( menu, "Shader Info", "ShaderInfo" ) );
gtk_widget_set_sensitive( g_TextureBrowser.m_shader_info_item, FALSE ); gtk_widget_set_sensitive( g_TextureBrowser.m_shader_info_item, FALSE );
@ -1812,7 +1796,7 @@ GtkMenuItem* TextureBrowser_constructViewMenu( GtkMenu* menu ){
void Popup_View_Menu( GtkWidget *widget, GtkMenu *menu ){ void Popup_View_Menu( GtkWidget *widget, GtkMenu *menu ){
gtk_menu_popup( menu, NULL, NULL, NULL, NULL, 1, gtk_get_current_event_time() ); gtk_menu_popup( menu, NULL, NULL, NULL, NULL, 1, gtk_get_current_event_time() );
} }
#if 0
GtkMenuItem* TextureBrowser_constructToolsMenu( GtkMenu* menu ){ GtkMenuItem* TextureBrowser_constructToolsMenu( GtkMenu* menu ){
GtkMenuItem* textures_menu_item = new_sub_menu_item_with_mnemonic( "_Tools" ); GtkMenuItem* textures_menu_item = new_sub_menu_item_with_mnemonic( "_Tools" );
@ -1825,7 +1809,7 @@ GtkMenuItem* TextureBrowser_constructToolsMenu( GtkMenu* menu ){
return textures_menu_item; return textures_menu_item;
} }
#endif
GtkMenuItem* TextureBrowser_constructTagsMenu( GtkMenu* menu ){ GtkMenuItem* TextureBrowser_constructTagsMenu( GtkMenu* menu ){
GtkMenuItem* textures_menu_item = new_sub_menu_item_with_mnemonic( "T_ags" ); GtkMenuItem* textures_menu_item = new_sub_menu_item_with_mnemonic( "T_ags" );
@ -2167,21 +2151,14 @@ GtkWidget* TextureBrowser_constructWindow( GtkWindow* toplevel ){
gtk_table_attach( GTK_TABLE( table ), vbox, 0, 1, 0, 3, GTK_FILL, GTK_FILL, 0, 0 ); gtk_table_attach( GTK_TABLE( table ), vbox, 0, 1, 0, 3, GTK_FILL, GTK_FILL, 0, 0 );
gtk_widget_show( vbox ); gtk_widget_show( vbox );
//GtkWidget* menu_bar;
GtkToolbar* toolbar; GtkToolbar* toolbar;
{ // menu bar { // menu bar
//menu_bar = gtk_menu_bar_new();
GtkWidget* menu_view = gtk_menu_new(); GtkWidget* menu_view = gtk_menu_new();
//GtkWidget* view_item = (GtkWidget*)
TextureBrowser_constructViewMenu( GTK_MENU( menu_view ) ); TextureBrowser_constructViewMenu( GTK_MENU( menu_view ) );
gtk_menu_set_title( GTK_MENU( menu_view ), "View" ); gtk_menu_set_title( GTK_MENU( menu_view ), "View" );
//gtk_menu_item_set_submenu( GTK_MENU_ITEM( view_item ), menu_view );
//gtk_menu_bar_append( GTK_MENU_BAR( menu_bar ), view_item );
toolbar = GTK_TOOLBAR( gtk_toolbar_new() ); toolbar = GTK_TOOLBAR( gtk_toolbar_new() );
//gtk_table_attach( GTK_TABLE( table ), GTK_WIDGET( toolbar ), 0, 1, 0, 1, GTK_FILL, GTK_FILL, 0, 0 );
gtk_box_pack_start( GTK_BOX( vbox ), GTK_WIDGET( toolbar ), FALSE, FALSE, 0 ); gtk_box_pack_start( GTK_BOX( vbox ), GTK_WIDGET( toolbar ), FALSE, FALSE, 0 );
//view menu button //view menu button
@ -2195,25 +2172,15 @@ GtkWidget* TextureBrowser_constructWindow( GtkWindow* toplevel ){
gtk_toolbar_append_element( toolbar, GTK_TOOLBAR_CHILD_WIDGET, GTK_WIDGET( button ), "", "View", "", 0, 0, 0 ); gtk_toolbar_append_element( toolbar, GTK_TOOLBAR_CHILD_WIDGET, GTK_WIDGET( button ), "", "View", "", 0, 0, 0 );
g_signal_connect( G_OBJECT( button ), "clicked", G_CALLBACK( Popup_View_Menu ), menu_view ); g_signal_connect( G_OBJECT( button ), "clicked", G_CALLBACK( Popup_View_Menu ), menu_view );
//to show detached menu over floating tex bro //show detached menu over floating tex bro
gtk_menu_attach_to_widget( GTK_MENU( menu_view ), GTK_WIDGET( button ), NULL ); gtk_menu_attach_to_widget( GTK_MENU( menu_view ), GTK_WIDGET( button ), NULL );
button = toolbar_append_button( toolbar, "Find / Replace...", "texbro_gtk-find-and-replace.png", "FindReplaceTextures" ); button = toolbar_append_button( toolbar, "Find / Replace...", "texbro_gtk-find-and-replace.png", "FindReplaceTextures" );
gtk_widget_set_size_request( GTK_WIDGET( button ), 22, 22 ); gtk_widget_set_size_request( GTK_WIDGET( button ), 22, 22 );
button = toolbar_append_button( toolbar, "Flush & Reload Shaders", "texbro_refresh.png", "RefreshShaders" ); button = toolbar_append_button( toolbar, "Flush & Reload Shaders", "texbro_refresh.png", "RefreshShaders" );
gtk_widget_set_size_request( GTK_WIDGET( button ), 22, 22 ); gtk_widget_set_size_request( GTK_WIDGET( button ), 22, 22 );
gtk_widget_show( GTK_WIDGET( toolbar ) ); gtk_widget_show( GTK_WIDGET( toolbar ) );
/*
GtkWidget* menu_tools = gtk_menu_new();
GtkWidget* tools_item = (GtkWidget*)TextureBrowser_constructToolsMenu( GTK_MENU( menu_tools ) );
gtk_menu_item_set_submenu( GTK_MENU_ITEM( tools_item ), menu_tools );
gtk_menu_bar_append( GTK_MENU_BAR( menu_bar ), tools_item );
*/
//gtk_table_attach( GTK_TABLE( table ), menu_bar, 0, 3, 0, 1, GTK_FILL, GTK_SHRINK, 0, 0 );
//gtk_widget_show( menu_bar );
} }
{//filter entry {//filter entry
GtkWidget* entry = gtk_entry_new(); GtkWidget* entry = gtk_entry_new();
@ -2242,12 +2209,12 @@ GtkWidget* TextureBrowser_constructWindow( GtkWindow* toplevel ){
TextureBrowser_createTreeViewTree(); TextureBrowser_createTreeViewTree();
//gtk_scrolled_window_add_with_viewport( GTK_SCROLLED_WINDOW( g_TextureBrowser.m_scr_win_tree ), GTK_WIDGET( g_TextureBrowser.m_treeViewTree ) ); //gtk_scrolled_window_add_with_viewport( GTK_SCROLLED_WINDOW( g_TextureBrowser.m_scr_win_tree ), g_TextureBrowser.m_treeViewTree );
gtk_container_add( GTK_CONTAINER( g_TextureBrowser.m_scr_win_tree ), GTK_WIDGET( g_TextureBrowser.m_treeViewTree ) ); gtk_container_add( GTK_CONTAINER( g_TextureBrowser.m_scr_win_tree ), g_TextureBrowser.m_treeViewTree ); //GtkTreeView has native scrolling support; should not be used with the GtkViewport proxy.
gtk_widget_show( GTK_WIDGET( g_TextureBrowser.m_treeViewTree ) ); gtk_widget_show( GTK_WIDGET( g_TextureBrowser.m_treeViewTree ) );
} }
{ // gl_widget scrollbar { // gl_widget scrollbar
GtkWidget* w = gtk_vscrollbar_new( GTK_ADJUSTMENT( gtk_adjustment_new( 0,0,0,1,1,0 ) ) ); GtkWidget* w = gtk_vscrollbar_new( GTK_ADJUSTMENT( gtk_adjustment_new( 0, 0, 0, 1, 1, 0 ) ) );
gtk_table_attach( GTK_TABLE( table ), w, 2, 3, 1, 2, GTK_SHRINK, GTK_FILL, 0, 0 ); gtk_table_attach( GTK_TABLE( table ), w, 2, 3, 1, 2, GTK_SHRINK, GTK_FILL, 0, 0 );
gtk_widget_show( w ); gtk_widget_show( w );
g_TextureBrowser.m_texture_scroll = w; g_TextureBrowser.m_texture_scroll = w;
@ -2289,16 +2256,13 @@ GtkWidget* TextureBrowser_constructWindow( GtkWindow* toplevel ){
{ // tag menu bar { // tag menu bar
GtkWidget* menu_tags = gtk_menu_new(); GtkWidget* menu_tags = gtk_menu_new();
gtk_menu_set_title( GTK_MENU( menu_tags ), "Tags" ); gtk_menu_set_title( GTK_MENU( menu_tags ), "Tags" );
//GtkWidget* tags_item = (GtkWidget*)
TextureBrowser_constructTagsMenu( GTK_MENU( menu_tags ) ); TextureBrowser_constructTagsMenu( GTK_MENU( menu_tags ) );
//gtk_menu_item_set_submenu( GTK_MENU_ITEM( tags_item ), menu_tags );
//gtk_menu_bar_append( GTK_MENU_BAR( menu_bar ), tags_item );
GtkButton* button = GTK_BUTTON( gtk_button_new() ); GtkButton* button = GTK_BUTTON( gtk_button_new() );
button_set_icon( button, "texbro_tags.png" ); button_set_icon( button, "texbro_tags.png" );
// GtkWidget *label = gtk_label_new (">t"); // GtkWidget *label = gtk_label_new ( ">t" );
// gtk_container_add (GTK_CONTAINER (button), label); // gtk_container_add( GTK_CONTAINER( button ), label );
// gtk_widget_show (label); // gtk_widget_show( label );
gtk_widget_show( GTK_WIDGET( button ) ); gtk_widget_show( GTK_WIDGET( button ) );
gtk_button_set_relief( button, GTK_RELIEF_NONE ); gtk_button_set_relief( button, GTK_RELIEF_NONE );
@ -2308,7 +2272,7 @@ GtkWidget* TextureBrowser_constructWindow( GtkWindow* toplevel ){
gtk_toolbar_append_element( toolbar, GTK_TOOLBAR_CHILD_WIDGET, GTK_WIDGET( button ), "", "Tags", "", 0, 0, 0 ); gtk_toolbar_append_element( toolbar, GTK_TOOLBAR_CHILD_WIDGET, GTK_WIDGET( button ), "", "Tags", "", 0, 0, 0 );
g_signal_connect( G_OBJECT( button ), "clicked", G_CALLBACK( Popup_View_Menu ), menu_tags ); g_signal_connect( G_OBJECT( button ), "clicked", G_CALLBACK( Popup_View_Menu ), menu_tags );
//to show detached menu over floating tex bro and main wnd... //show detached menu over floating tex bro and main wnd...
gtk_menu_attach_to_widget( GTK_MENU( menu_tags ), GTK_WIDGET( button ), NULL ); gtk_menu_attach_to_widget( GTK_MENU( menu_tags ), GTK_WIDGET( button ), NULL );
} }
{ // Tag TreeView { // Tag TreeView
@ -2323,8 +2287,7 @@ GtkWidget* TextureBrowser_constructWindow( GtkWindow* toplevel ){
GtkTreeSelection* selection = gtk_tree_view_get_selection( GTK_TREE_VIEW( g_TextureBrowser.m_treeViewTags ) ); GtkTreeSelection* selection = gtk_tree_view_get_selection( GTK_TREE_VIEW( g_TextureBrowser.m_treeViewTags ) );
gtk_tree_selection_set_mode( selection, GTK_SELECTION_MULTIPLE ); gtk_tree_selection_set_mode( selection, GTK_SELECTION_MULTIPLE );
//gtk_scrolled_window_add_with_viewport( GTK_SCROLLED_WINDOW( g_TextureBrowser.m_scr_win_tags ), GTK_WIDGET( g_TextureBrowser.m_treeViewTags ) ); gtk_container_add( GTK_CONTAINER( g_TextureBrowser.m_scr_win_tags ), g_TextureBrowser.m_treeViewTags );
gtk_container_add( GTK_CONTAINER( g_TextureBrowser.m_scr_win_tags ), GTK_WIDGET( g_TextureBrowser.m_treeViewTags ) );
gtk_widget_show( GTK_WIDGET( g_TextureBrowser.m_treeViewTags ) ); gtk_widget_show( GTK_WIDGET( g_TextureBrowser.m_treeViewTags ) );
} }
{ // Texture/Tag notebook { // Texture/Tag notebook
@ -2373,8 +2336,7 @@ GtkWidget* TextureBrowser_constructWindow( GtkWindow* toplevel ){
gtk_widget_show( g_TextureBrowser.m_assigned_tree ); gtk_widget_show( g_TextureBrowser.m_assigned_tree );
gtk_widget_show( scrolled_win ); gtk_widget_show( scrolled_win );
//gtk_scrolled_window_add_with_viewport( GTK_SCROLLED_WINDOW( scrolled_win ), GTK_WIDGET( g_TextureBrowser.m_assigned_tree ) ); gtk_container_add( GTK_CONTAINER( scrolled_win ), g_TextureBrowser.m_assigned_tree );
gtk_container_add( GTK_CONTAINER( scrolled_win ), GTK_WIDGET( g_TextureBrowser.m_assigned_tree ) );
gtk_table_attach( GTK_TABLE( frame_table ), scrolled_win, 0, 1, 1, 3, GTK_FILL, GTK_FILL, 0, 0 ); gtk_table_attach( GTK_TABLE( frame_table ), scrolled_win, 0, 1, 1, 3, GTK_FILL, GTK_FILL, 0, 0 );
} }
@ -2402,8 +2364,7 @@ GtkWidget* TextureBrowser_constructWindow( GtkWindow* toplevel ){
gtk_widget_show( g_TextureBrowser.m_available_tree ); gtk_widget_show( g_TextureBrowser.m_available_tree );
gtk_widget_show( scrolled_win ); gtk_widget_show( scrolled_win );
//gtk_scrolled_window_add_with_viewport( GTK_SCROLLED_WINDOW( scrolled_win ), GTK_WIDGET( g_TextureBrowser.m_available_tree ) ); gtk_container_add( GTK_CONTAINER( scrolled_win ), g_TextureBrowser.m_available_tree );
gtk_container_add( GTK_CONTAINER( scrolled_win ), GTK_WIDGET( g_TextureBrowser.m_available_tree ) );
gtk_table_attach( GTK_TABLE( frame_table ), scrolled_win, 2, 3, 1, 3, GTK_FILL, GTK_FILL, 0, 0 ); gtk_table_attach( GTK_TABLE( frame_table ), scrolled_win, 2, 3, 1, 3, GTK_FILL, GTK_FILL, 0, 0 );
} }
@ -2445,9 +2406,6 @@ GtkWidget* TextureBrowser_constructWindow( GtkWindow* toplevel ){
gtk_box_pack_start( GTK_BOX( vbox ), g_TextureBrowser.m_scr_win_tree, TRUE, TRUE, 0 ); gtk_box_pack_start( GTK_BOX( vbox ), g_TextureBrowser.m_scr_win_tree, TRUE, TRUE, 0 );
} }
// TODO do we need this?
//gtk_container_set_focus_chain(GTK_CONTAINER(hbox_table), NULL);
//prevent focusing on filter entry or tex dirs treeview after click on tab of floating group dialog (np, if called via hotkey) //prevent focusing on filter entry or tex dirs treeview after click on tab of floating group dialog (np, if called via hotkey)
gtk_container_set_focus_chain( GTK_CONTAINER( table ), NULL ); gtk_container_set_focus_chain( GTK_CONTAINER( table ), NULL );
@ -2657,7 +2615,7 @@ void RefreshShaders(){
gtk_tree_model_get( model, &iter, 0, &buffer, -1 ); gtk_tree_model_get( model, &iter, 0, &buffer, -1 );
strcpy( dirName, buffer ); strcpy( dirName, buffer );
g_free( buffer ); g_free( buffer );
if ( !TextureBrowser_showWads() ) { if ( !TextureBrowser::wads ) {
strcat( dirName, "/" ); strcat( dirName, "/" );
} }
@ -2713,8 +2671,7 @@ void TextureBrowser_showAll(){
g_TextureBrowser_currentDirectory = ""; g_TextureBrowser_currentDirectory = "";
g_TextureBrowser.m_searchedTags = false; g_TextureBrowser.m_searchedTags = false;
// TextureBrowser_SetHideUnused( g_TextureBrowser, false ); // TextureBrowser_SetHideUnused( g_TextureBrowser, false );
TextureBrowser_ToggleHideUnused(); TextureBrowser_ToggleHideUnused(); //toggle to show all used on the first hit and all on the second
//TextureBrowser_heightChanged( g_TextureBrowser );
TextureBrowser_updateTitle(); TextureBrowser_updateTitle();
} }
@ -2938,6 +2895,8 @@ void TextureBrowser_Construct(){
g_TextureBrowser.shader = texdef_name_default(); g_TextureBrowser.shader = texdef_name_default();
TextureBrowser::wads = !string_empty( g_pGameDescription->getKeyValue( "show_wads" ) );
Textures_setModeChangedNotify( ReferenceCaller<TextureBrowser, TextureBrowser_queueDraw>( g_TextureBrowser ) ); Textures_setModeChangedNotify( ReferenceCaller<TextureBrowser, TextureBrowser_queueDraw>( g_TextureBrowser ) );
TextureBrowser_registerPreferencesPage(); TextureBrowser_registerPreferencesPage();