Review Request 109907: Use platform native file dialogs

Yue Liu yue.liu at mail.com
Tue Oct 1 23:38:32 BST 2013


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/109907/
-----------------------------------------------------------

(Updated Oct. 1, 2013, 10:38 p.m.)


Review request for Calligra.


Changes
-------

Todo:
apply KoFileDialogHelper to minor dialogs which load/save custom config/resource files
all Kexi stuff (KexiFileWidget -> native file dialogs)

Testing Done:
old features still work on mac.
I don't have QCA on mac, so didn't test whether it actually save as encrypted, but the createStore part is not modified so it should work as it used to be.

Known Issues:
when saving to directory it cannot create new dir but save to current dir selected in file dialog
menu entries sometimes lost in Flow but that is another issue


Repository: calligra


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)
-----

  flow/part/flow.rc f6fa60a 
  krita/plugins/extensions/bigbrother/bigbrother.cc 5ba4ac5 
  libs/main/CMakeLists.txt 3a9110c 
  libs/main/KoDetailsPaneBase.ui d692a00 
  libs/main/KoExistingDocumentPane.h fd7b4fd 
  libs/main/KoExistingDocumentPane.cpp 2ea6746 
  libs/main/KoFileDialog.h da94281 
  libs/main/KoFileDialog.cpp c5a7fc2 
  libs/main/KoFileDialogHelper.h PRE-CREATION 
  libs/main/KoFileDialogHelper.cpp PRE-CREATION 
  libs/main/KoMainWindow.h 1b3503f 
  libs/main/KoMainWindow.cpp 10cef0e 
  libs/main/KoOpenPane.h 4e9ac13 
  libs/main/KoOpenPane.cpp 53d4b48 
  libs/main/KoOpenPaneBase.ui 0b2f2cf 
  plan/workpackage/application.cpp b3642d6 
  sheets/dialogs/CSVDialog.h 0763538 
  sheets/dialogs/CSVDialog.cpp 4d6a19d 
  sheets/sheets.rc 76439c0 
  stage/part/stage.rc 2dba463 
  stage/stage.rc d0b912f 
  stage/stage_only.rc 73c743b 
  words/part/author/author.rc b5567f5 
  words/part/words.rc 31cabbd 

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/20131001/fa67ca06/attachment.htm>


More information about the calligra-devel mailing list