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