Review Request 109907: Use platform native file dialogs
Yue Liu
yue.liu at mail.com
Mon Sep 23 03:04:15 BST 2013
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/109907/
-----------------------------------------------------------
(Updated Sept. 23, 2013, 2:04 a.m.)
Review request for Calligra.
Changes
-------
Re-designed KoOpenPane, open dialog in application modal, save/import/export dialog in window modal, support save recent file dialog directory in config file.
TODO:
add logic for special mimefilters (directory, flat xml)
put document encryption feature in File menu (currently as special mimefilter, won't work for native dialogs because same extension name)
apply QFileDialog or KoFileDialogHelper to minor file dialogs in various applications (export pdf, import resources files).
all Kexi stuff (KexiFileWidget -> native file dialogs)`
Summary (updated)
-----------------
Use platform native file dialogs
Description
-------
Currently kfiledialog and kofiledialog is widely used, this results in non-native file dialog on Mac/Windows/Gnome. However, qfiledialog static methods does not support modal sheet in Mac, so a KoModalFileDialog is created for window-modal file dialog, such as save as or import, while other file dialog such as open will use qfiledialog static methods.
This is a very first version which blocks save as encrypted since encrypted odf has same suffix as normal odf while when using native dialog you have to use suffix to distinguish different format. My idea is to create another menu item "Save As Encrypted..." where encrypted odf will be saved.
There are still many file dialogs not touched yet, and for places where kfilewidget is used, such as startup file open widget, kexi file widget, export to pdf widget, it is impossible to use native dialog. My idea is redesign those widget and split the configure part and file chooser part into two separate dialogs, then use native file dialogs.
Diffs (updated)
-----
sheets/dialogs/CSVDialog.cpp 4d6a19d
sheets/dialogs/CSVDialog.h 0763538
plan/workpackage/application.cpp b3642d6
libs/main/KoOpenPaneBase.ui 0b2f2cf
libs/main/KoOpenPane.cpp a1a7411
libs/main/KoOpenPane.h 46c291d
libs/main/KoMainWindow.cpp d5fbde0
libs/main/KoFileDialogHelper.cpp PRE-CREATION
libs/main/KoFileDialogHelper.h PRE-CREATION
libs/main/KoFileDialog.cpp c5a7fc2
libs/main/KoFileDialog.h da94281
libs/main/KoExistingDocumentPane.cpp 2ea6746
libs/main/KoExistingDocumentPane.h fd7b4fd
libs/main/KoDetailsPaneBase.ui d692a00
libs/main/CMakeLists.txt 3a9110c
krita/plugins/extensions/bigbrother/bigbrother.cc 5ba4ac5
Diff: http://git.reviewboard.kde.org/r/109907/diff/
Testing
-------
Works fine on OS X 10.8
File Attachments
----------------
save as dialog
http://git.reviewboard.kde.org/media/uploaded/files/2013/04/08/Screen_Shot_2013-04-07_at_11.54.47_PM.png
Thanks,
Yue Liu
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/calligra-devel/attachments/20130923/21b649e5/attachment.htm>
More information about the calligra-devel
mailing list