X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/cc681534ede3ac66dc37f5ebece648514ad88359..f029f1d15b04dd70522008cdf105be87140fabc6:/src/gtk/filectrl.cpp diff --git a/src/gtk/filectrl.cpp b/src/gtk/filectrl.cpp index 03437535ea..8bc3a2d0c9 100644 --- a/src/gtk/filectrl.cpp +++ b/src/gtk/filectrl.cpp @@ -16,7 +16,7 @@ #include "wx/filectrl.h" -#if defined(__WXGTK24__) && !defined(__WXUNIVERSAL__) +#if wxUSE_FILECTRL && !defined(__WXUNIVERSAL__) #ifndef WX_PRECOMP # include "wx/sizer.h" @@ -45,10 +45,10 @@ wxString wxGtkFileChooser::GetPath() const { 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 @@ -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() ) ); - return b == TRUE; + return b != 0; } wxString wxGtkFileChooser::GetDirectory() const @@ -194,7 +194,7 @@ int wxGtkFileChooser::GetFilterIndex() const } else return index; -}; +} //----------------------------------------------------------------------------- // end wxGtkFileChooser Implementation @@ -282,19 +282,13 @@ bool wxGtkFileCtrl::Create( wxWindow *parent, return false; } - GtkFileChooserAction gtkAction; + GtkFileChooserAction gtkAction = GTK_FILE_CHOOSER_ACTION_OPEN; if ( style & wxFC_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_fcWidget = GTK_FILE_CHOOSER( gtk_file_chooser_widget_new( GTK_FILE_CHOOSER_ACTION_OPEN ) ); + 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 ) ); @@ -375,18 +369,13 @@ bool wxGtkFileCtrl::SetDirectory( const wxString& dir ) 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 ) @@ -426,13 +415,12 @@ void wxGtkFileCtrl::GetFilenames( wxArrayString& files ) const 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__)