if ( isNotex( shaderName ) ) {
return;
}
- if ( isNotex( texture ) ) {
- return;
- }
}
if ( texture != shaderName ) {
m_rmbSelected( false ),
m_searchedTags( false ),
m_tags( false ),
+ m_move_started( false ),
m_uniformTextureSize( 160 ),
m_uniformTextureMinSize( 48 ),
- m_hideNonShadersInCommon( true ),
- m_move_started( false ){
+ m_hideNonShadersInCommon( true ){
}
};
if ( isNotex( shader->getName() ) ) {
return false;
}
- if ( isNotex( shader->getTexture()->name ) ) {
- return false;
- }
}
if ( g_TextureBrowser_currentDirectory == "Untagged" ) {
};
void TextureBrowser_ShowDirectory( TextureBrowser& textureBrowser, const char* directory ){
+ textureBrowser.m_searchedTags = false;
if ( TextureBrowser_showWads() ) {
g_TextureBrowser_currentDirectory = directory;
TextureBrowser_heightChanged( textureBrowser );
By mouse click
==============
*/
-void SelectTexture( TextureBrowser& textureBrowser, int mx, int my, guint32 flags ){
+void SelectTexture( TextureBrowser& textureBrowser, int mx, int my, guint32 flags, bool texturizeSelection ){
if ( ( flags & GDK_SHIFT_MASK ) == 0 ) {
IShader* shader = Texture_At( textureBrowser, mx, my );
if ( shader != 0 ) {
TextureBrowser_SetSelectedShader( textureBrowser, shader->getName() );
TextureBrowser_textureSelected( shader->getName() );
- if ( !FindTextureDialog_isOpen() && !textureBrowser.m_rmbSelected ) {
- UndoableCommand undo( "textureNameSetSelected" );
- Select_SetShader( shader->getName() );
+ if ( !FindTextureDialog_isOpen() && !textureBrowser.m_rmbSelected && !texturizeSelection ) {
+ Select_SetShader_Undo( shader->getName() );
}
}
}
textureBrowser.m_freezePointer.freeze_pointer( textureBrowser.m_gl_widget, TextureBrowser_trackingDelta, &textureBrowser );
}
-void TextureBrowser_Selection_MouseDown( TextureBrowser& textureBrowser, guint32 flags, int pointx, int pointy ){
- SelectTexture( textureBrowser, pointx, textureBrowser.height - 1 - pointy, flags );
+void TextureBrowser_Selection_MouseDown( TextureBrowser& textureBrowser, guint32 flags, int pointx, int pointy, bool texturizeSelection ){
+ SelectTexture( textureBrowser, pointx, textureBrowser.height - 1 - pointy, flags, texturizeSelection );
}
void TextureBrowser_Selection_MouseUp( TextureBrowser& textureBrowser, guint32 flags, int pointx, int pointy ){
gboolean TextureBrowser_button_press( ui::Widget widget, GdkEventButton* event, TextureBrowser* textureBrowser ){
if ( event->type == GDK_BUTTON_PRESS ) {
+ gtk_widget_grab_focus( widget );
if ( event->button == 3 ) {
if ( textureBrowser->m_tags ) {
textureBrowser->m_rmbSelected = true;
- TextureBrowser_Selection_MouseDown( *textureBrowser, event->state, static_cast<int>( event->x ), static_cast<int>( event->y ) );
+ TextureBrowser_Selection_MouseDown( *textureBrowser, event->state, static_cast<int>( event->x ), static_cast<int>( event->y ), false );
BuildStoreAssignedTags( textureBrowser->m_assigned_store, textureBrowser->shader.c_str(), textureBrowser );
BuildStoreAvailableTags( textureBrowser->m_available_store, textureBrowser->m_assigned_store, textureBrowser->m_all_tags, textureBrowser );
TextureBrowser_Tracking_MouseDown( *textureBrowser );
}
}
- else if ( event->button == 1 ) {
- TextureBrowser_Selection_MouseDown( *textureBrowser, event->state, static_cast<int>( event->x ), static_cast<int>( event->y ) );
+ else if ( event->button == 1 || event->button == 2 ) {
+ TextureBrowser_Selection_MouseDown( *textureBrowser, event->state, static_cast<int>( event->x ), static_cast<int>( event->y ), event->button == 2 );
if ( textureBrowser->m_tags ) {
textureBrowser->m_rmbSelected = false;
#define GARUX_DISABLE_2BUTTON
#ifndef GARUX_DISABLE_2BUTTON
CopiedString texName = textureBrowser->shader;
- //const char* sh = texName.c_str();
char* sh = const_cast<char*>( texName.c_str() );
char* dir = strrchr( sh, '/' );
if( dir != NULL ){
}
gboolean TextureBrowser_scroll( ui::Widget widget, GdkEventScroll* event, TextureBrowser* textureBrowser ){
+ gtk_widget_grab_focus( widget );
+ if( !gtk_window_is_active( textureBrowser->m_parent ) )
+ gtk_window_present( textureBrowser->m_parent );
+
if ( event->direction == GDK_SCROLL_UP ) {
TextureBrowser_MouseWheel( *textureBrowser, true );
}
}
create_check_menu_item_with_mnemonic( menu, "Hide _Unused", "ShowInUse" );
+ create_menu_item_with_mnemonic( menu, "Show All", "ShowAllTextures" );
+
if ( string_empty( g_pGameDescription->getKeyValue( "show_wads" ) ) ) {
create_check_menu_item_with_mnemonic( menu, "Hide Image Missing", "FilterMissing" );
}
TextureDirectory_loadTexture( path.c_str(), name.c_str() );
}
}
+ TextureBrowser_SetHideUnused( textureBrowser, false );
textureBrowser.m_searchedTags = true;
g_TextureBrowser_currentDirectory = tags_searched;
Textures_setModeChangedNotify( Callback<void()>() );
}
-ui::Widget TextureBrowser_getGLWidget(){
- return GlobalTextureBrowser().m_gl_widget;
-}
-
#if WORKAROUND_WINDOWS_GTK2_GLWIDGET
ui::GLArea TextureBrowser_getGLWidget(){
return GlobalTextureBrowser().m_gl_widget;