The m_fileName and m_dir variables, managed by the base class, were out
of sync when the dialog wasn't shown yet, because the wxGTK
implementation didn't always set them. GetFilename() following
SetFilename(x) could return something other than x. Fixed by calling the
base class version.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72948 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This signal has been removed from GTK3. Instead have wxPizza keep track of child
size, and use gtk_widget_set_size_request() for wxWindows in native containers.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71465 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
When building wxGTK under MSW, always use UTF-8 as file name encoding because
GTK+ doesn't use G_FILENAME_ENCODING there.
Add a helper wxGTK_CONV_FN() macro to hide the difference between the
platforms.
Closes#14035.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71154 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Simply move the code from non-default constructor to Create(). This allows to
create the dialogs using 2-step creation if necessary.
Closes#14069.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70898 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
wxGenericFileButton calls wxFileDialog::SetPath() with empty path if no
initial path is explicitly specified and this clearly shouldn't do anything --
but it did, as it set the file dialog path to the initial directory (cwd by
default), and so opened it in the parent of that directory which was
completely unexpected and not useful at all.
Simply don't do anything when SetPath("") is called.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70752 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Use the initial dialog directory to build the absolute path required by GTK+
in wxFileDialog instead of the current working directory. This makes more
sense and makes specifying the default directory and (just) the default file
name work correctly and avoids GTK+ warnings like
Gtk-CRITICAL **: gtk_file_folder_unix_get_info: assertion `strcmp (dirname, folder_unix->filename) == 0' failed
(and in some older versions of GTK+ -- 2.10? -- this even results in a crash).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70731 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Calling wxFileDialogBase::SetWildcard() ensures that GetWildcard() returns the
correct value after wxFileDialog::SetWildcard() was called.
The new code will also work correctly if we change SetWildcard() to handle
empty wildcard as the default one (see #12079).
Closes#12080.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64381 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
GetParentForModalDialog() was called from the ctor initialized list before
m_windowStyle could be initialized by the base class ctor in several different
places, meaning that the check for wxDIALOG_NO_PARENT in this function was
using uninitialized variable.
Fix this by passing the style parameter explicitly to this function to allow
using it from derived class ctors. Still keep an overload which uses the
actual window parent and flags which is simpler to use for later calls to this
function.
Thanks valgrind for finding this one.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64019 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Strings returned and accepted by GTK+ functions always use UTF-8 independently
of the current locale and of the file name encoding we use. So use UTF-8
instead of wxConvFileName everywhere where we deal with GTK+ directly.
Closes#11743.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63549 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Remove the assert added in r62101 (see #10917), it was wrong as the other
ports do not assert in this case. Instead, just ensure that the path we use
with the GTK+ native chooser is absolute.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62769 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Appending the extension after the dialog was hidden is a bad idea as it
misleads the user by using a different file name from the one shown in the
dialog. It is also dangerous as it bypassed wxFD_OVERWRITE_PROMPT check.
So just append the default extension to the initial file name if it doesn't
have any but don't modify the file name once it was accepted by user.
Closes#11256.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62351 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is huge but there are no non-white-space changes in it.
Some files containing third-party sources (src/msw/wince/time.cpp,
src/x11/pango*.cpp) were left unchanged.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61724 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2. use HandleWindowEvent() everywhere as more obvious and convenient shortcut for GetEventHandler()->ProcessEvent(); also for consistency with wxGTK where it's required
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50329 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
defaultFileName (the other ports don't do it)
2. don't duplicate gtk_file_chooser_set_current_folder() calls for
save and open dialogs unnecessarily
3. reformated a couple of comments to fit in 80 columns
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@43863 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Add HasFdFlag()
Use it for all tests in all variants of
wxFileDialogs. That way it will be easier
to change again centrally, if required.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42399 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
suggested filename) - it takes a UTF-8 per gtk+ documentation and common sense, so use wxGTK_CONV instead.
Fixes wxFileDialog save mode default filename with non-utf8 G_FILENAME_ENCODING (bug #1497800). Thanks to
Konstantin Anory for pointing this out.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@40388 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775