summaryrefslogtreecommitdiff
path: root/skins
diff options
context:
space:
mode:
authorAleksander Machniak <alec@alec.pl>2013-12-15 10:01:38 +0100
committerAleksander Machniak <alec@alec.pl>2013-12-15 10:01:38 +0100
commit9a0153324eeb1f0e808cb1a063d1f37d49ad48e2 (patch)
treee8370c629b5b32c689da8362f5be78097572a0a3 /skins
parent4187b3e26ff00b607d05cb9b588e83db18c3cab7 (diff)
Implemented menu actions to copy/move messages, added folder-selector widget (#1484086)
Diffstat (limited to 'skins')
-rw-r--r--skins/classic/common.css51
-rw-r--r--skins/classic/functions.js1
-rw-r--r--skins/classic/includes/messagetoolbar.html5
-rw-r--r--skins/classic/mail.css17
-rw-r--r--skins/classic/templates/message.html4
-rw-r--r--skins/larry/images/listicons.pngbin26546 -> 37369 bytes
-rw-r--r--skins/larry/includes/mailtoolbar.html2
-rw-r--r--skins/larry/mail.css6
-rw-r--r--skins/larry/styles.css32
-rw-r--r--skins/larry/templates/message.html4
-rw-r--r--skins/larry/ui.js5
11 files changed, 96 insertions, 31 deletions
diff --git a/skins/classic/common.css b/skins/classic/common.css
index 186be2485..10bc91c09 100644
--- a/skins/classic/common.css
+++ b/skins/classic/common.css
@@ -965,6 +965,57 @@ ul.toolbarmenu li.separator_above
}
+/*** folder selector ***/
+
+#folder-selector li a
+{
+ padding: 0;
+}
+
+#folder-selector li a span
+{
+ background: url(images/icons/folders.png) no-repeat 6px 0;
+ display: block;
+ height: 15px;
+ min-height: 14px;
+ padding: 2px 4px 2px 28px;
+ overflow: hidden;
+ max-width: 120px;
+ text-overflow: ellipsis;
+}
+
+#folder-selector li a.virtual
+{
+ color: #A0A0A0;
+}
+
+#folder-selector li a.active:hover span
+{
+ color: white;
+}
+
+#folder-selector li a.inbox span
+{
+ background-position: 6px -18px;
+}
+#folder-selector li a.drafts span
+{
+ background-position: 6px -37px;
+}
+#folder-selector li a.sent span
+{
+ background-position: 6px -54px;
+}
+#folder-selector li a.trash span
+{
+ background-position: 6px -91px;
+}
+#folder-selector li a.junk span
+{
+ background-position: 6px -73px;
+}
+
+
/***** tabbed interface elements *****/
div.tabsbar,
diff --git a/skins/classic/functions.js b/skins/classic/functions.js
index 2b7886d38..4312d57bc 100644
--- a/skins/classic/functions.js
+++ b/skins/classic/functions.js
@@ -419,6 +419,7 @@ body_mouseup: function(evt, p)
&& !this.popups[i].toggle
&& (!this.popups[i].editable || !this.target_overlaps(target, this.popups[i].id))
&& (!this.popups[i].sticky || !rcube_mouse_is_over(evt, rcube_find_object(this.popups[i].id)))
+ && !$(target).is('.folder-selector-link') && !$(target).children('.folder-selector-link').length
) {
window.setTimeout('rcmail_ui.show_popup("'+i+'",false);', 50);
}
diff --git a/skins/classic/includes/messagetoolbar.html b/skins/classic/includes/messagetoolbar.html
index 8f8efd291..8d98c7e42 100644
--- a/skins/classic/includes/messagetoolbar.html
+++ b/skins/classic/includes/messagetoolbar.html
@@ -20,9 +20,6 @@
<roundcube:container name="toolbar" id="messagetoolbar" />
<roundcube:button name="markmenulink" id="markmenulink" type="link" class="button markmessage" title="markmessages" onclick="rcmail_ui.show_popup('markmenu');return false" content=" " />
<roundcube:button name="messagemenulink" id="messagemenulink" type="link" class="button messagemenu" title="moreactions" onclick="rcmail_ui.show_popup('messagemenu');return false" content=" " />
-<roundcube:if condition="template:name == 'message'" />
-<roundcube:object name="mailboxlist" type="select" noSelection="moveto" maxlength="25" onchange="rcmail.command('move', this.options[this.selectedIndex].value)" class="mboxlist" folder_filter="mail" />
-<roundcube:endif />
</div>
<div id="forwardmenu" class="popupmenu">
@@ -46,6 +43,8 @@
<li><roundcube:button class="printlink" command="print" label="printmessage" classAct="printlink active" /></li>
<li><roundcube:button class="downloadlink" command="download" label="emlsave" classAct="downloadlink active" /></li>
<li><roundcube:button class="editlink" command="edit" prop="new" label="editasnew" classAct="editlink active" /></li>
+ <li><roundcube:button class="movelink" command="move" label="moveto" classAct="copylink active" innerclass="folder-selector-link" /></li>
+ <li><roundcube:button class="copylink" command="copy" label="copyto" classAct="movelink active" innerclass="folder-selector-link" /></li>
<li class="separator_below"><roundcube:button class="sourcelink" command="viewsource" label="viewsource" classAct="sourcelink active" /></li>
<li><roundcube:button class="openlink" command="open" label="openinextwin" target="_blank" classAct="openlink active" /></li>
<roundcube:container name="messagemenu" id="messagemenu" />
diff --git a/skins/classic/mail.css b/skins/classic/mail.css
index e5d55e05c..c887ab346 100644
--- a/skins/classic/mail.css
+++ b/skins/classic/mail.css
@@ -175,23 +175,6 @@
background-position: -512px 0;
}
-#messagetoolbar select.mboxlist
-{
- position: relative;
- margin: 0 8px;
- top: 7px;
-}
-
-#messagetoolbar select.mboxlist option
-{
- padding-left: 15px;
-}
-
-#messagetoolbar select.mboxlist option[value=""]
-{
- padding-left: 2px;
-}
-
#messagemenu li a.active:hover,
#attachmentmenu li a.active:hover,
#markmessagemenu li a.active:hover
diff --git a/skins/classic/templates/message.html b/skins/classic/templates/message.html
index bd4fbf277..3ab0a2e5e 100644
--- a/skins/classic/templates/message.html
+++ b/skins/classic/templates/message.html
@@ -30,11 +30,13 @@
<div id="mailboxlist-container">
<div id="mailboxlist-title" class="boxtitle"><roundcube:label name="mailboxlist" /></div>
<div class="boxlistcontent">
- <roundcube:object name="mailboxlist" id="mailboxlist" class="treelist" maxlength="25" />
+ <roundcube:object name="mailboxlist" id="mailboxlist" class="treelist" folder_filter="mail" />
</div>
<div class="boxfooter"></div>
</div>
</div>
+<roundcube:else />
+<roundcube:object name="mailboxlist" folder_filter="mail" type="js" />
<roundcube:endif />
<div id="messageframe">
diff --git a/skins/larry/images/listicons.png b/skins/larry/images/listicons.png
index 8a17cc5bd..49342a318 100644
--- a/skins/larry/images/listicons.png
+++ b/skins/larry/images/listicons.png
Binary files differ
diff --git a/skins/larry/includes/mailtoolbar.html b/skins/larry/includes/mailtoolbar.html
index 59f2d581a..5708a94f1 100644
--- a/skins/larry/includes/mailtoolbar.html
+++ b/skins/larry/includes/mailtoolbar.html
@@ -39,6 +39,8 @@
<li><roundcube:button command="download" label="emlsave" class="icon" classAct="icon active" innerclass="icon download" /></li>
<li><roundcube:button command="edit" prop="new" label="editasnew" class="icon" classAct="icon active" innerclass="icon edit" /></li>
<li><roundcube:button command="viewsource" label="viewsource" class="icon" classAct="icon active" innerclass="icon viewsource" /></li>
+ <li><roundcube:button command="move" label="moveto" class="icon" classAct="icon active" innerclass="icon move folder-selector-link" /></li>
+ <li><roundcube:button command="copy" label="copyto" class="icon" classAct="icon active" innerclass="icon copy folder-selector-link" /></li>
<li><roundcube:button command="open" label="openinextwin" target="_blank" class="icon" classAct="icon active" innerclass="icon extwin" /></li>
<roundcube:container name="messagemenu" id="messagemenu" />
</ul>
diff --git a/skins/larry/mail.css b/skins/larry/mail.css
index 8e1634ad7..d3b09c087 100644
--- a/skins/larry/mail.css
+++ b/skins/larry/mail.css
@@ -417,12 +417,6 @@ a.iconbutton.threadmode.selected {
right: 0;
}
-#messagetoolbar .toolbarselect {
- position: absolute;
- bottom: 6px;
- right: 3px;
-}
-
#messagesearchtools {
position: absolute;
right: 0;
diff --git a/skins/larry/styles.css b/skins/larry/styles.css
index 61f35b094..21d93c106 100644
--- a/skins/larry/styles.css
+++ b/skins/larry/styles.css
@@ -2329,6 +2329,38 @@ ul.toolbarmenu li span.conversation {
z-index: 255;
}
+/*** folder selector ***/
+
+#folder-selector li a span {
+ background: url("images/listicons.png") 4px -2021px no-repeat;
+ display: block;
+ height: 17px;
+ min-height: 14px;
+ padding: 4px 4px 1px 28px;
+ overflow: hidden;
+ max-width: 120px;
+ text-overflow: ellipsis;
+}
+
+#folder-selector li a.virtual {
+ opacity: .2;
+}
+
+#folder-selector li a.inbox span {
+ background-position: 4px -2049px;
+}
+#folder-selector li a.drafts span {
+ background-position: 4px -1388px;
+}
+#folder-selector li a.sent span {
+ background-position: 4px -2074px;
+}
+#folder-selector li a.trash span {
+ background-position: 4px -1508px;
+}
+#folder-selector li a.junk span {
+ background-position: 4px -2100px;
+}
/*** attachment list ***/
diff --git a/skins/larry/templates/message.html b/skins/larry/templates/message.html
index e63705f76..df92b7511 100644
--- a/skins/larry/templates/message.html
+++ b/skins/larry/templates/message.html
@@ -16,9 +16,6 @@
<roundcube:button command="list" type="link" class="button back disabled" classAct="button back" classSel="button back pressed" label="back" />
<roundcube:endif />
<roundcube:include file="/includes/mailtoolbar.html" />
- <div class="toolbarselect">
- <roundcube:object name="mailboxlist" type="select" noSelection="moveto" maxlength="25" onchange="rcmail.command('move', this.options[this.selectedIndex].value)" class="mailboxlist decorated" folder_filter="mail" />
- </div>
</div>
<roundcube:if condition="!env:extwin" />
@@ -36,6 +33,7 @@
<div id="mailview-right" class="offset uibox">
<roundcube:else />
+<roundcube:object name="mailboxlist" folder_filter="mail" type="js" />
<div id="mailview-right" class="offset fullwidth uibox">
<roundcube:endif />
diff --git a/skins/larry/ui.js b/skins/larry/ui.js
index d203acf57..d66131075 100644
--- a/skins/larry/ui.js
+++ b/skins/larry/ui.js
@@ -369,8 +369,10 @@ function rcube_mail_ui()
function body_mouseup(e)
{
var config, obj, target = e.target;
+
if (target.className == 'inner')
target = e.target.parentNode;
+
for (var id in popups) {
obj = popups[id];
config = popupconfig[id];
@@ -379,9 +381,10 @@ function rcube_mail_ui()
&& !config.toggle
&& (!config.editable || !target_overlaps(target, obj.get(0)))
&& (!config.sticky || !rcube_mouse_is_over(e, obj.get(0)))
+ && !$(target).is('.folder-selector-link')
) {
var myid = id+'';
- window.setTimeout(function(){ show_popupmenu(myid, false) }, 10);
+ window.setTimeout(function() { show_popupmenu(myid, false); }, 10);
}
}
}