[ 1823588 ] gtk filedlg - droping support for gtk 2.2
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@49649 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -3,11 +3,10 @@
|
||||
|
||||
You have downloaded the GTK+ port of the wxWidgets GUI library.
|
||||
|
||||
It is recommended to use at least GTK+ 2.2.3 to get the
|
||||
most out of wxWidgets and some features are only available
|
||||
when using GTK+ 2.4 or even from GTK+ 2.8. Note that if you
|
||||
It is required to use at least GTK+ 2.4 and some features are
|
||||
only available when using GTK+ 2.8 or higher. Note that if you
|
||||
compile wxWidgets against GTK+ 2.8 your app will still work
|
||||
with older GTK+ version down to version 2.2 as wxWidgets
|
||||
with older GTK+ version down to version 2.4 as wxWidgets
|
||||
tests for the presence of newer features at run-time and it
|
||||
will fall back to a generic implementation if these features
|
||||
are not present in the GTK+ version used.
|
||||
|
@@ -101,10 +101,7 @@ new file dialog</FONT></FONT></P>
|
||||
<P>Previously, wxGTK application made use of a file dialog written in
|
||||
wxWidgets itself, since the default GTK+ file dialog was simplistic
|
||||
to say the least. This has changed with version GTK+ 2.4, where a
|
||||
nice and powerful dialog has been added. We now query the GTK+
|
||||
library, if the new file dialog functions are available and wxGTK
|
||||
applications will show and use them if that is the case, otherwise,
|
||||
they will fall back to the old generic one.</P>
|
||||
nice and powerful dialog has been added. wxGTK is using it now.</P>
|
||||
<P STYLE="margin-top: 0.42cm; page-break-after: avoid"><FONT FACE="Albany, sans-serif"><FONT SIZE=4>File
|
||||
configuration and preferences</FONT></FONT></P>
|
||||
<P>The usual Unix way of saving file configuration and preferences is
|
||||
|
@@ -194,9 +194,6 @@ wxSaveFileSelector(const wxString& what,
|
||||
#include "wx/motif/filedlg.h"
|
||||
#elif defined(__WXGTK24__)
|
||||
#include "wx/gtk/filedlg.h" // GTK+ > 2.4 has native version
|
||||
#elif defined(__WXGTK20__)
|
||||
#define wxHAS_GENERIC_FILEDIALOG
|
||||
#include "wx/generic/filedlgg.h"
|
||||
#elif defined(__WXGTK__)
|
||||
#include "wx/gtk1/filedlg.h"
|
||||
#elif defined(__WXMAC__)
|
||||
|
@@ -9,10 +9,12 @@
|
||||
// Licence: wxWindows licence
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef FILECTRL_H
|
||||
#define FILECTRL_H
|
||||
|
||||
#ifndef _WX_GTK_FILECTRL_H_
|
||||
#define _WX_GTK_FILECTRL_H_
|
||||
|
||||
#include "wx/control.h"
|
||||
#include "wx/filectrl.h"
|
||||
|
||||
extern WXDLLEXPORT_DATA(const wxChar) wxFileSelectorDefaultWildcardStr[];
|
||||
|
||||
@@ -115,5 +117,5 @@ protected:
|
||||
|
||||
#endif // wxUSE_FILECTRL
|
||||
|
||||
#endif // FILECTRL_H
|
||||
#endif // _WX_GTK_FILECTRL_H_
|
||||
|
||||
|
@@ -10,14 +10,13 @@
|
||||
#ifndef __GTKFILEDLGH__
|
||||
#define __GTKFILEDLGH__
|
||||
|
||||
#include "wx/generic/filedlgg.h"
|
||||
#include "wx/gtk/filectrl.h" // for wxGtkFileChooser
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
// wxFileDialog
|
||||
//-------------------------------------------------------------------------
|
||||
|
||||
class WXDLLIMPEXP_CORE wxFileDialog: public wxGenericFileDialog
|
||||
class WXDLLIMPEXP_CORE wxFileDialog: public wxFileDialogBase
|
||||
{
|
||||
public:
|
||||
wxFileDialog() { }
|
||||
|
@@ -369,8 +369,6 @@ bool wxGtkFileCtrl::SetDirectory( const wxString& dir )
|
||||
|
||||
bool wxGtkFileCtrl::SetFilename( const wxString& name )
|
||||
{
|
||||
if ( !gtk_check_version( 2, 4, 0 ) )
|
||||
{
|
||||
if ( HasFlag( wxFC_SAVE ) )
|
||||
{
|
||||
gtk_file_chooser_set_current_name( m_fcWidget, wxGTK_CONV( name ) );
|
||||
@@ -378,9 +376,6 @@ bool wxGtkFileCtrl::SetFilename( const wxString& name )
|
||||
}
|
||||
else
|
||||
return SetPath( wxFileName( GetDirectory(), name ).GetFullPath() );
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
void wxGtkFileCtrl::SetWildcard( const wxString& wildCard )
|
||||
@@ -422,12 +417,8 @@ void wxGtkFileCtrl::GetFilenames( wxArrayString& files ) const
|
||||
|
||||
void wxGtkFileCtrl::ShowHidden(bool show)
|
||||
{
|
||||
#ifdef __WXGTK26__
|
||||
gtk_file_chooser_set_show_hidden(m_fcWidget, show);
|
||||
#else
|
||||
// gtk_file_chooser_set_show_hidden only in 2.6
|
||||
// gtk_file_chooser_set_show_hidden() is new in 2.6
|
||||
g_object_set (G_OBJECT (m_fcWidget), "show-hidden", show, NULL);
|
||||
#endif
|
||||
}
|
||||
|
||||
#endif
|
||||
|
@@ -10,7 +10,7 @@
|
||||
// For compilers that support precompilation, includes "wx.h".
|
||||
#include "wx/wxprec.h"
|
||||
|
||||
#if wxUSE_FILEDLG && defined(__WXGTK24__)
|
||||
#if wxUSE_FILEDLG
|
||||
|
||||
#include "wx/filedlg.h"
|
||||
|
||||
@@ -112,7 +112,6 @@ static void gtk_filedialog_response_callback(GtkWidget *w,
|
||||
static void gtk_filedialog_update_preview_callback(GtkFileChooser *chooser,
|
||||
gpointer user_data)
|
||||
{
|
||||
#if GTK_CHECK_VERSION(2,4,0)
|
||||
GtkWidget *preview = GTK_WIDGET(user_data);
|
||||
|
||||
wxGtkString filename(gtk_file_chooser_get_preview_filename(chooser));
|
||||
@@ -128,10 +127,6 @@ static void gtk_filedialog_update_preview_callback(GtkFileChooser *chooser,
|
||||
g_object_unref (pixbuf);
|
||||
|
||||
gtk_file_chooser_set_preview_widget_active(chooser, have_preview);
|
||||
#else
|
||||
wxUnusedVar(chooser);
|
||||
wxUnusedVar(user_data);
|
||||
#endif // GTK+ 2.4+
|
||||
}
|
||||
|
||||
} // extern "C"
|
||||
@@ -141,9 +136,9 @@ static void gtk_filedialog_update_preview_callback(GtkFileChooser *chooser,
|
||||
// wxFileDialog
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
IMPLEMENT_DYNAMIC_CLASS(wxFileDialog,wxGenericFileDialog)
|
||||
IMPLEMENT_DYNAMIC_CLASS(wxFileDialog,wxFileDialogBase)
|
||||
|
||||
BEGIN_EVENT_TABLE(wxFileDialog,wxGenericFileDialog)
|
||||
BEGIN_EVENT_TABLE(wxFileDialog,wxFileDialogBase)
|
||||
EVT_BUTTON(wxID_OK, wxFileDialog::OnFakeOk)
|
||||
END_EVENT_TABLE()
|
||||
|
||||
@@ -154,18 +149,16 @@ wxFileDialog::wxFileDialog(wxWindow *parent, const wxString& message,
|
||||
long style, const wxPoint& pos,
|
||||
const wxSize& sz,
|
||||
const wxString& name)
|
||||
: wxGenericFileDialog(parent, message, defaultDir, defaultFileName,
|
||||
wildCard, style, pos, sz, name, true )
|
||||
: wxFileDialogBase()
|
||||
{
|
||||
if (gtk_check_version(2,4,0))
|
||||
parent = GetParentForModalDialog(parent);
|
||||
|
||||
if (!wxFileDialogBase::Create(parent, message, defaultDir, defaultFileName,
|
||||
wildCard, style, pos, sz, name))
|
||||
{
|
||||
wxGenericFileDialog::Create( parent, message, defaultDir,
|
||||
defaultFileName, wildCard, style, pos );
|
||||
return;
|
||||
}
|
||||
|
||||
parent = GetParentForModalDialog(parent);
|
||||
|
||||
if (!PreCreation(parent, pos, wxDefaultSize) ||
|
||||
!CreateBase(parent, wxID_ANY, pos, wxDefaultSize, style,
|
||||
wxDefaultValidator, wxT("filedialog")))
|
||||
@@ -271,7 +264,6 @@ wxFileDialog::wxFileDialog(wxWindow *parent, const wxString& message,
|
||||
}
|
||||
}
|
||||
|
||||
#if GTK_CHECK_VERSION(2,4,0)
|
||||
if ( style & wxFD_PREVIEW )
|
||||
{
|
||||
GtkWidget *previewImage = gtk_image_new();
|
||||
@@ -282,162 +274,92 @@ wxFileDialog::wxFileDialog(wxWindow *parent, const wxString& message,
|
||||
G_CALLBACK(gtk_filedialog_update_preview_callback),
|
||||
previewImage);
|
||||
}
|
||||
#endif // GTK+ 2.4+
|
||||
}
|
||||
|
||||
void wxFileDialog::OnFakeOk( wxCommandEvent &event )
|
||||
{
|
||||
if (!gtk_check_version(2,4,0))
|
||||
EndDialog(wxID_OK);
|
||||
else
|
||||
wxGenericFileDialog::OnOk( event );
|
||||
}
|
||||
|
||||
int wxFileDialog::ShowModal()
|
||||
{
|
||||
if (!gtk_check_version(2,4,0))
|
||||
return wxDialog::ShowModal();
|
||||
else
|
||||
return wxGenericFileDialog::ShowModal();
|
||||
}
|
||||
|
||||
bool wxFileDialog::Show( bool show )
|
||||
{
|
||||
if (!gtk_check_version(2,4,0))
|
||||
return wxDialog::Show( show );
|
||||
else
|
||||
return wxGenericFileDialog::Show( show );
|
||||
}
|
||||
|
||||
void wxFileDialog::DoSetSize(int x, int y, int width, int height, int sizeFlags )
|
||||
void wxFileDialog::DoSetSize(int WXUNUSED(x), int WXUNUSED(y),
|
||||
int WXUNUSED(width), int WXUNUSED(height),
|
||||
int WXUNUSED(sizeFlags))
|
||||
{
|
||||
if (!m_wxwindow)
|
||||
return;
|
||||
else
|
||||
wxGenericFileDialog::DoSetSize( x, y, width, height, sizeFlags );
|
||||
}
|
||||
|
||||
wxString wxFileDialog::GetPath() const
|
||||
{
|
||||
if (!gtk_check_version(2,4,0))
|
||||
{
|
||||
return m_fc.GetPath();
|
||||
}
|
||||
|
||||
return wxGenericFileDialog::GetPath();
|
||||
}
|
||||
|
||||
void wxFileDialog::GetFilenames(wxArrayString& files) const
|
||||
{
|
||||
if (!gtk_check_version(2,4,0))
|
||||
{
|
||||
m_fc.GetFilenames( files );
|
||||
}
|
||||
else
|
||||
wxGenericFileDialog::GetFilenames( files );
|
||||
}
|
||||
|
||||
void wxFileDialog::GetPaths(wxArrayString& paths) const
|
||||
{
|
||||
if (!gtk_check_version(2,4,0))
|
||||
{
|
||||
m_fc.GetPaths( paths );
|
||||
}
|
||||
else
|
||||
wxGenericFileDialog::GetPaths( paths );
|
||||
}
|
||||
|
||||
void wxFileDialog::SetMessage(const wxString& message)
|
||||
{
|
||||
if (!gtk_check_version(2,4,0))
|
||||
{
|
||||
m_message = message;
|
||||
SetTitle(message);
|
||||
}
|
||||
else
|
||||
wxGenericFileDialog::SetMessage( message );
|
||||
}
|
||||
|
||||
void wxFileDialog::SetPath(const wxString& path)
|
||||
{
|
||||
if (!gtk_check_version(2,4,0))
|
||||
{
|
||||
m_fc.SetPath( path );
|
||||
}
|
||||
else
|
||||
wxGenericFileDialog::SetPath( path );
|
||||
}
|
||||
|
||||
void wxFileDialog::SetDirectory(const wxString& dir)
|
||||
{
|
||||
if (!gtk_check_version(2,4,0))
|
||||
{
|
||||
m_fc.SetDirectory( dir );
|
||||
}
|
||||
else
|
||||
wxGenericFileDialog::SetDirectory( dir );
|
||||
}
|
||||
|
||||
wxString wxFileDialog::GetDirectory() const
|
||||
{
|
||||
if (!gtk_check_version(2,4,0))
|
||||
{
|
||||
m_fc.GetDirectory();
|
||||
}
|
||||
|
||||
return wxGenericFileDialog::GetDirectory();
|
||||
return m_fc.GetDirectory();
|
||||
}
|
||||
|
||||
void wxFileDialog::SetFilename(const wxString& name)
|
||||
{
|
||||
if (!gtk_check_version(2,4,0))
|
||||
{
|
||||
if (HasFdFlag(wxFD_SAVE))
|
||||
gtk_file_chooser_set_current_name(GTK_FILE_CHOOSER(m_widget), wxGTK_CONV(name));
|
||||
else
|
||||
SetPath(wxFileName(GetDirectory(), name).GetFullPath());
|
||||
}
|
||||
else
|
||||
wxGenericFileDialog::SetFilename( name );
|
||||
}
|
||||
|
||||
wxString wxFileDialog::GetFilename() const
|
||||
{
|
||||
if (!gtk_check_version(2,4,0))
|
||||
return m_fc.GetFilename();
|
||||
else
|
||||
return wxGenericFileDialog::GetFilename();
|
||||
}
|
||||
|
||||
void wxFileDialog::SetWildcard(const wxString& wildCard)
|
||||
{
|
||||
if (!gtk_check_version(2,4,0))
|
||||
{
|
||||
m_fc.SetWildcard( wildCard );
|
||||
}
|
||||
else
|
||||
wxGenericFileDialog::SetWildcard( wildCard );
|
||||
}
|
||||
|
||||
void wxFileDialog::SetFilterIndex(int filterIndex)
|
||||
{
|
||||
|
||||
if (!gtk_check_version(2,4,0))
|
||||
{
|
||||
m_fc.SetFilterIndex( filterIndex);
|
||||
}
|
||||
else
|
||||
wxGenericFileDialog::SetFilterIndex( filterIndex );
|
||||
}
|
||||
|
||||
int wxFileDialog::GetFilterIndex() const
|
||||
{
|
||||
if (!gtk_check_version(2,4,0))
|
||||
{
|
||||
return m_fc.GetFilterIndex();
|
||||
}
|
||||
else
|
||||
return wxGenericFileDialog::GetFilterIndex();
|
||||
}
|
||||
|
||||
#endif // wxUSE_FILEDLG && __WXGTK24__
|
||||
#endif // wxUSE_FILEDLG
|
||||
|
Reference in New Issue
Block a user