Re: Major API changes about the saving of mime parts
- From: Philip Van Hoof <spam pvanhoof be>
- To: tinymail-devel-list gnome org
- Subject: Re: Major API changes about the saving of mime parts
- Date: Sun, 15 Oct 2006 14:35:32 +0200
ps. I also just renamed TnySaveStrategy to TnyMimePartSaveStrategy
On Sun, 2006-10-15 at 13:57 +0200, Philip Van Hoof wrote:
> Saving the mime part (saving an attachment or a message) isn't
> implemented in the gtk+ default types anymore.
>
> That simply because the ui for saving it is obviously going to be
> specific per E-mail client.
>
> Mine used a popup-menu, but that doesn't mean that for example Modest
> should be forced to also use the same popup or reimplement its own
> message view component.
>
> So I completed the strategy pattern by introducing a client or a
> strategy caller: like the IFlyable and IFlyStrategy of Duck, Plane and
> Bird which would have FlyWithAnimalWingsStrategy, CantFlyStrategy and
> FlyWithMetalWingsStrategy and whatever.
>
> I created that IFlyable type: TnyMimePartSaver
>
> What one could do to create a viewer that can alos save a mime part,
> like what the original TnyGtkMsgView did, would be to (for example)
> inherit the TnyGtkMsgView and implement the TnyMimePartSaver interface.
>
>
> class MyOwnMsgView extends TnyGtkMsgView implements TnyMimePartSaver
> {
> private Button save_button;
> private Tny.SaveStrategy saver;
>
> public MyOwnMsgView ()
> {
> this.save_button = new Button ();
>
> this.save_button.Clicked ... = on_save_button_clicked;
> }
>
> public Tny.SaveStrategy get_save_strategy ()
> {
> if (this.saver == null)
> this.saver = new TnyGtk.SaveStrategy ();
>
> return this.saver;
> }
>
> public void set_save_strategy (Tny.SaveStrategy s)
> {
> this.saver = s;
> }
>
> public void perform_save (Tny.MimePart part)
> {
> this.get_save_strategy ().save (part);
> }
>
>
> public void on_save_button_clicked (object sender, ...)
> {
> this.perform_save (super.get_msg());
> }
> }
>
>
>
--
Philip Van Hoof, software developer at x-tend
home: me at pvanhoof dot be
gnome: pvanhoof at gnome dot org
work: vanhoof at x-tend dot be
http://www.pvanhoof.be - http://www.x-tend.be
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]