projects
/
wxWidgets.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
correction to last commit: Korean and Romanian translations will only be in 2.9.1...
[wxWidgets.git]
/
src
/
gtk
/
filectrl.cpp
diff --git
a/src/gtk/filectrl.cpp
b/src/gtk/filectrl.cpp
index 03437535eae76f4e5adc33fb399e788d50171540..8be3759997ada405af3c735be907db78bc9347e6 100644
(file)
--- a/
src/gtk/filectrl.cpp
+++ b/
src/gtk/filectrl.cpp
@@
-16,7
+16,7
@@
#include "wx/filectrl.h"
#include "wx/filectrl.h"
-#if
defined(__WXGTK24__)
&& !defined(__WXUNIVERSAL__)
+#if
wxUSE_FILECTRL
&& !defined(__WXUNIVERSAL__)
#ifndef WX_PRECOMP
# include "wx/sizer.h"
#ifndef WX_PRECOMP
# include "wx/sizer.h"
@@
-45,10
+45,10
@@
wxString wxGtkFileChooser::GetPath() const
{
wxGtkString str( gtk_file_chooser_get_filename( m_widget ) );
{
wxGtkString str( gtk_file_chooser_get_filename( m_widget ) );
- if ( str.c_str() == NULL )
- return wxEmptyString;
-
- return
wxConvFileName->cMB2WX( str )
;
+ wxString string;
+ if (str.c_str() != NULL)
+ string = wxConvFileName->cMB2WX(str);
+ return
string
;
}
void wxGtkFileChooser::GetFilenames( wxArrayString& files ) const
}
void wxGtkFileChooser::GetFilenames( wxArrayString& files ) const
@@
-95,7
+95,7
@@
bool wxGtkFileChooser::SetDirectory( const wxString& dir )
const gboolean b =
gtk_file_chooser_set_current_folder( m_widget,
wxConvFileName->cWX2MB( dir.c_str() ) );
const gboolean b =
gtk_file_chooser_set_current_folder( m_widget,
wxConvFileName->cWX2MB( dir.c_str() ) );
- return b
== TRUE
;
+ return b
!= 0
;
}
wxString wxGtkFileChooser::GetDirectory() const
}
wxString wxGtkFileChooser::GetDirectory() const
@@
-111,6
+111,8
@@
wxString wxGtkFileChooser::GetFilename() const
void wxGtkFileChooser::SetWildcard( const wxString& wildCard )
{
void wxGtkFileChooser::SetWildcard( const wxString& wildCard )
{
+ m_wildcards.Empty();
+
// parse filters
wxArrayString wildDescriptions, wildFilters;
// parse filters
wxArrayString wildDescriptions, wildFilters;
@@
-144,10
+146,16
@@
void wxGtkFileChooser::SetWildcard( const wxString& wildCard )
gtk_file_filter_set_name( filter, wxGTK_CONV_SYS( wildDescriptions[n] ) );
wxStringTokenizer exttok( wildFilters[n], wxT( ";" ) );
gtk_file_filter_set_name( filter, wxGTK_CONV_SYS( wildDescriptions[n] ) );
wxStringTokenizer exttok( wildFilters[n], wxT( ";" ) );
+
+ int n1 = 1;
while ( exttok.HasMoreTokens() )
{
wxString token = exttok.GetNextToken();
gtk_file_filter_add_pattern( filter, wxGTK_CONV_SYS( token ) );
while ( exttok.HasMoreTokens() )
{
wxString token = exttok.GetNextToken();
gtk_file_filter_add_pattern( filter, wxGTK_CONV_SYS( token ) );
+
+ if (n1 == 1)
+ m_wildcards.Add( token ); // Only add first pattern to list, used later when saving
+ n1++;
}
gtk_file_chooser_add_filter( chooser, filter );
}
gtk_file_chooser_add_filter( chooser, filter );
@@
-194,7
+202,7
@@
int wxGtkFileChooser::GetFilterIndex() const
}
else
return index;
}
else
return index;
-}
;
+}
//-----------------------------------------------------------------------------
// end wxGtkFileChooser Implementation
//-----------------------------------------------------------------------------
// end wxGtkFileChooser Implementation
@@
-258,7
+266,6
@@
IMPLEMENT_DYNAMIC_CLASS( wxGtkFileCtrl, wxControl )
void wxGtkFileCtrl::Init()
{
void wxGtkFileCtrl::Init()
{
- m_hasFocus = false;
m_checkNextSelEvent = false;
// ignore the first folder change event which is fired upon startup.
m_checkNextSelEvent = false;
// ignore the first folder change event which is fired upon startup.
@@
-282,19
+289,14
@@
bool wxGtkFileCtrl::Create( wxWindow *parent,
return false;
}
return false;
}
- GtkFileChooserAction gtkAction;
+ GtkFileChooserAction gtkAction
= GTK_FILE_CHOOSER_ACTION_OPEN
;
if ( style & wxFC_SAVE )
if ( style & wxFC_SAVE )
- {
gtkAction = GTK_FILE_CHOOSER_ACTION_SAVE;
gtkAction = GTK_FILE_CHOOSER_ACTION_SAVE;
- }
- else if ( style & wxFC_OPEN )
- {
- gtkAction = GTK_FILE_CHOOSER_ACTION_OPEN;
- }
m_widget = gtk_alignment_new ( 0, 0, 1, 1 );
m_widget = gtk_alignment_new ( 0, 0, 1, 1 );
- m_fcWidget = GTK_FILE_CHOOSER( gtk_file_chooser_widget_new( GTK_FILE_CHOOSER_ACTION_OPEN ) );
+ g_object_ref(m_widget);
+ m_fcWidget = GTK_FILE_CHOOSER( gtk_file_chooser_widget_new(gtkAction) );
gtk_widget_show ( GTK_WIDGET( m_fcWidget ) );
gtk_container_add ( GTK_CONTAINER ( m_widget ), GTK_WIDGET( m_fcWidget ) );
gtk_widget_show ( GTK_WIDGET( m_fcWidget ) );
gtk_container_add ( GTK_CONTAINER ( m_widget ), GTK_WIDGET( m_fcWidget ) );
@@
-375,18
+377,13
@@
bool wxGtkFileCtrl::SetDirectory( const wxString& dir )
bool wxGtkFileCtrl::SetFilename( const wxString& name )
{
bool wxGtkFileCtrl::SetFilename( const wxString& name )
{
- if (
!gtk_check_version( 2, 4, 0
) )
+ if (
HasFlag( wxFC_SAVE
) )
{
{
- if ( HasFlag( wxFC_SAVE ) )
- {
- gtk_file_chooser_set_current_name( m_fcWidget, wxGTK_CONV( name ) );
- return true;
- }
- else
- return SetPath( wxFileName( GetDirectory(), name ).GetFullPath() );
+ gtk_file_chooser_set_current_name( m_fcWidget, wxGTK_CONV( name ) );
+ return true;
}
}
-
-
return false
;
+ else
+
return SetPath( wxFileName( GetDirectory(), name ).GetFullPath() )
;
}
void wxGtkFileCtrl::SetWildcard( const wxString& wildCard )
}
void wxGtkFileCtrl::SetWildcard( const wxString& wildCard )
@@
-426,13
+423,12
@@
void wxGtkFileCtrl::GetFilenames( wxArrayString& files ) const
m_fc.GetFilenames( files );
}
m_fc.GetFilenames( files );
}
-void wxGtkFileCtrl::ShowHidden(
const
bool show)
+void wxGtkFileCtrl::ShowHidden(bool show)
{
{
- gtk_file_chooser_set_show_hidden( m_fcWidget, ( show == true ) ? TRUE : FALSE );
+ // gtk_file_chooser_set_show_hidden() is new in 2.6
+ g_object_set (G_OBJECT (m_fcWidget), "show-hidden", show, NULL);
}
}
-#endif
- // wxUSE_FILECTRL
+#endif // wxUSE_FILECTRL
-#endif
- // if defined(__WXGTK24__) && !defined(__WXUNIVERSAL__)
+#endif // wxUSE_FILECTRL && !defined(__WXUNIVERSAL__)