Hi,
There has been a patch on the forum for a while to give Roundcube a three column layout. Using the render page hook this can also be done with a plugin. The advantage of this is that it can then be an option, users can pick if they want their preview pane below or on the right of the message list.
This works fine with the default skin but there is one problem doing it with the larry skin. The splitter between the message list and the preview pane is defined in ui.js rather than inline like with default. Attached patch makes it so that plugins can access the splitter in the larry skin and also adds a hook so that plugins can change the properties of the splitter before it is initialised. I'm not sure if it's the best was to change ui.js, if anyone has any better ideas please let me know.
Is changing ui.js like my patch does or some similar way something the devs would consider? If not then I don't think there is any point in a plugin like this, people can just stick to using a patch or a whole different skin.
Why use a patch/plugin rather than a whole different skin? It's only a couple of changes that are needed to move the preview pane. It seems a little over the top to make a whole new skin just to move one div. Using a plugin allows users to have an option about the layout of the screen like in Outlook or Thunderbird.
Thanks,
Phil
--- 8< --- detachments --- 8< --- The following attachments have been detached and are available for viewing. http://detached.gigo.com/rc/lB/FrjDO1No/threecol.zip http://detached.gigo.com/rc/lB/FrjDO1No/larry_ui_js.patch Only click these links if you trust the sender, as well as this message. --- 8< --- detachments --- 8< ---
List info: http://lists.roundcube.net/dev/ BT/aba52c80
Phil Weir wrote:
Hi,
There has been a patch on the forum for a while to give Roundcube a three column layout. Using the render page hook this can also be done with a plugin. The advantage of this is that it can then be an option, users can pick if they want their preview pane below or on the right of the message list.
This works fine with the default skin but there is one problem doing it with the larry skin. The splitter between the message list and the preview pane is defined in ui.js rather than inline like with default. Attached patch makes it so that plugins can access the splitter in the larry skin and also adds a hook so that plugins can change the properties of the splitter before it is initialised. I'm not sure if it's the best was to change ui.js, if anyone has any better ideas please let me know.
I see the point but I'd suggest another approach to this: The rcube_splitter is now robust enough to fail silently if the referenced objects do not exist. For your plugin I suggest to name the containers differently and then initialize your own instance of the splitter. Also the button to show/hide the preview pane should be named other than #mailpreviewtoggle in order to avoid the default behavior of ui.js
Is changing ui.js like my patch does or some similar way something the devs would consider? If not then I don't think there is any point in a plugin like this, people can just stick to using a patch or a whole different skin.
ui.js is currently not meant to be altered or extended but if there are more such requests we'll definitely consider to add more public properties and callbacks.
Why use a patch/plugin rather than a whole different skin? It's only a couple of changes that are needed to move the preview pane. It seems a little over the top to make a whole new skin just to move one div. Using a plugin allows users to have an option about the layout of the screen like in Outlook or Thunderbird.
I definitely agree to this.
~Thomas _______________________________________________ List info: http://lists.roundcube.net/dev/ BT/aba52c80