Hi,<br><br>I spent few days working on this and have created a configuration dialog in KoView with a virtual method which can be overridden by derived classes (for example, Table's part/View) to add their additional custom pages.<br>
<br>I have attached a patch that adds the common configuration dialog to libs/main/ and a sample in tables/part/view.cpp on how to add custom dialog pages. By compiling and running this, you should see two "Configure Tables" options in calligratables, the new one is the second one. Upon selecting that, you can see a dialog with the common "Open/Save" page from libs/main/dialogs/ and a custom page added from Tables.<br>
<br>Please review the patch and let me know if I missed something anywhere, and when everyone is fine with it, I hope it can be merged. If the correct place for this is reviewboard, let me know and I'll put it there :)<br>
<br>Thanks!<br><br clear="all">-- <br><div><br></div>Shantanu Tushar (UTC +0530)<br><a href="http://www.shantanutushar.com/" target="_blank">http://www.shantanutushar.com</a><br><br><div class="gmail_quote">On Thu, Jan 13, 2011 at 7:23 PM, Shantanu Tushar Jha <span dir="ltr"><<a href="mailto:jhahoneyk@gmail.com">jhahoneyk@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">Hi all,<br><br> We had a discussion on IRC about this (mainly with Boemann and Cyrille) and we reached an agreement that the shared configuration dialogs can be implemented using the same way tables does it using tables/part/dialogs/PreferenceDialog.<br>
<br>So the idea is to have a PreferenceDialog in libs/main/ which is then loaded by a menu entry (corresponding to an action) in KoView. This in effect should add the entry to all apps using KoView and hence we can share common settings like autosave.<br>
<br>An application can add custom pages to this dialog by calling a KoView method with the Page it wishes to add.<br><br>So, I will be implementing as said above, and being a newcomer here, I'd really love to hear suggestions about this. Please reply!<br>
<br>Cheers!<div class="im"><br><br>-- <br><div><br></div>Shantanu Tushar (UTC +0530)<br><a href="http://www.shantanutushar.com/" target="_blank">http://www.shantanutushar.com</a><br><br></div><div><div></div><div class="h5">
<div class="gmail_quote">On Thu, Jan 13, 2011 at 1:32 PM, Cyrille Berger Skott <span dir="ltr"><<a href="mailto:cberger@cberger.net" target="_blank">cberger@cberger.net</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">Hi,<br>
<div><br>
On Thursday 13 January 2011, Shantanu Tushar Jha wrote:<br>
> 1. Is the idea of sharing configuration dialog and common configuration<br>
> pages sane? I don't have much idea about Calligra's (and hence KOffice's)<br>
> history so if this has been already discussed, please point to the ML<br>
> thread.<br>
<br>
</div>We had prior discussion on the subject, see [1]. It is all I could remember.<br>
Which lead to some config dialog to be put in libs/main/config see [2]. While<br>
it allows the widgets to be the same, it still requires editing each<br>
individual application.<br>
<br>
To conclude, yes it is a sane idea and a very wanted project :)<br>
<div><br>
> 2. To implement a shared dialog, where is the best place to add the dialog?<br>
> Being new to the codebase, lots of classes come to my mind (like<br>
> KOApplication, KODocument etc) so I need a little bit of help here.<br>
<br>
</div>I guess all depends how much time you are willing to invest in this. If you<br>
only have time for the autosave configuration, the quickest road is to add a<br>
widget to libs/main/config, and make all application use that. However, if you<br>
want to invest yourself more in the subject, and create a setting dialog that<br>
would allow "calligra-wide" configuration option as well as "application-<br>
specific". I have outlined a possible solution in [3], the use of KCModule [4]<br>
would allow to move the settings to plugins.<br>
<br>
However, while I think it is an ideal solution, an intermediary solution would<br>
be to have a KoSettingsDialog inheriting KPageDialog, with a set of predefined<br>
pages, that can be extended by application for their own settings. The<br>
location of that dialog should be in libs/main, and it should probably be<br>
called from KoView. And I guess application specific pages could be created by<br>
adding a KoView::createPreferencesPage returning a list of KPageWidgetItem*.<br>
<br>
[1] <a href="http://lists.kde.org/?l=koffice-devel&m=124932729205268&w=2" target="_blank">http://lists.kde.org/?l=koffice-devel&m=124932729205268&w=2</a><br>
[2] <a href="http://gitweb.kde.org/calligra.git/tree/HEAD:/libs/main/config" target="_blank">http://gitweb.kde.org/calligra.git/tree/HEAD:/libs/main/config</a><br>
[3] <a href="http://lists.kde.org/?l=koffice-devel&m=124937404927580&w=2" target="_blank">http://lists.kde.org/?l=koffice-devel&m=124937404927580&w=2</a><br>
[4] <a href="http://api.kde.org/4.x-api/kdelibs-apidocs/kdeui/html/classKCModule.html" target="_blank">http://api.kde.org/4.x-api/kdelibs-apidocs/kdeui/html/classKCModule.html</a><br>
--<br>
<font color="#888888">Cyrille Berger Skott<br>
</font><div><div></div><div>_______________________________________________<br>
calligra-devel mailing list<br>
<a href="mailto:calligra-devel@kde.org" target="_blank">calligra-devel@kde.org</a><br>
<a href="https://mail.kde.org/mailman/listinfo/calligra-devel" target="_blank">https://mail.kde.org/mailman/listinfo/calligra-devel</a><br>
</div></div></blockquote></div><br><br clear="all"><br>
</div></div></blockquote></div><br><br>