Projects
Kolab:16
roundcubemail-plugin-contextmenu
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 10
View file
roundcubemail-plugin-contextmenu.spec
Changed
@@ -14,7 +14,7 @@ Name: roundcubemail-plugin-contextmenu Version: %{rc_version} -Release: 2%{?dot_rel_suffix}%{?dist} +Release: 5%{?dot_rel_suffix}%{?dist} Summary: Contextmenu plugin for Roundcube Webmail Group: Applications/Internet @@ -144,6 +144,9 @@ %{datadir}/public_html/assets/plugins/contextmenu/ %changelog +* Tue May 7 2019 Jeroen van Meeuwen (Kolab Systems) <vanmeeuwen@kolabsys.com> - 3.0-5.beta1 +- Rebuild against core updates with fixes + * Sat Jan 19 2019 Jeroen van Meeuwen (Kolab Systems) <vanmeeuwen@kolabsys.com> - 3.0-4.beta1 - Rebuild against core updates
View file
debian.changelog
Changed
@@ -1,3 +1,9 @@ +roundcubemail-plugin-contextmenu (3.0-0~kolab7) unstable; urgency=low + + * Rebuild against core updates with fixes + + -- Jeroen van Meeuwen (Kolab Systems) <vanmeeuwen@kolabsys.com> Tue, 7 May 2019 18:41:13 +0200 + roundcubemail-plugin-contextmenu (3.0-0~kolab6) unstable; urgency=low * Rebuild against core updates
View file
roundcubemail-plugin-contextmenu-3.0-beta1.tar.gz/README.md
Changed
@@ -30,6 +30,12 @@ directory called contextmenu and place the files in there, ignoring the root directory in the downloaded archive. +Contextmenu manual +------------------ +The MANUAL.md file shipped with this plugin contains information for plugin and +skin developers. The Contextmenu plugin can be extended by other plugins; new +menus can be created and existing menus manipulated. + [rcplugrepo]: https://plugins.roundcube.net/packages/johndoh/contextmenu [releases]: https://github.com/johndoh/roundcube-contextmenu/releases [gpl]: https://www.gnu.org/licenses/gpl.html \ No newline at end of file
View file
roundcubemail-plugin-contextmenu-3.0-beta1.tar.gz/contextmenu.js
Changed
@@ -344,7 +344,7 @@ }, events)); $(el).on('contextmenu', function(e) { - var source = $(this).find('a:first'); + var source = $(this).find('a').first(); source.blur(); // remove focus (and keyboard nav highlighting) from source element if (props.menu_name == 'settingslist') { @@ -643,10 +643,10 @@ } } else if ($(src_elem).is('span') && $(src_elem).children().length == 2) { - elem = $(src_elem).children(':first').clone(); + elem = $(src_elem).children().first().clone(); - if ($(src_elem).children(':last').attr(rcmail.contextmenu.settings.popup_attrib).match(rcmail.contextmenu.settings.popup_pattern)) { - $(elem).attr(rcmail.contextmenu.settings.popup_attrib, $(src_elem).children(':last').attr(rcmail.contextmenu.settings.popup_attrib)); + if ($(src_elem).children().last().attr(rcmail.contextmenu.settings.popup_attrib).match(rcmail.contextmenu.settings.popup_pattern)) { + $(elem).attr(rcmail.contextmenu.settings.popup_attrib, $(src_elem).children().last().attr(rcmail.contextmenu.settings.popup_attrib)); $(elem).addClass('rcm-uidropdown'); } } @@ -823,7 +823,8 @@ var callback = this.parent_menu.triggerEvent('beforeactivate', {ref: this, source: obj, originalEvent: e}); if (!callback || !callback.abort) { - if (obj) { + // don't add source class when selected row is part of current selection, current selection is styled already (#113) + if (obj && !(this.list_object && rcmail[this.list_object].in_selection(rcmail.env.context_menu_source_id))) { $(obj).addClass(this.classes.source); }
View file
roundcubemail-plugin-contextmenu-3.0-beta1.tar.gz/skins/elastic/contextmenu.less
Changed
@@ -8,6 +8,7 @@ @contextmenu-placeholder-icon: "\00a0"; .contextmenu-source-highlight(@background-color) { + .listing:not(.treelist) li.context-source:not(.selected), // e.g. Settings actions list .listing tbody tr.context-source:not(.selected) > td { background-color: darken(@background-color, 2.5%); } @@ -27,29 +28,19 @@ } // default content set here to prevent overriding Elastic icons -.toolbar a.rcmbutton::before { +.toolbarmenu a.rcmbutton::before { content: @contextmenu-placeholder-icon; } -div.contextmenu ul.toolbar { +div.contextmenu ul.menu { > li { - display: block; - border-bottom: 1px solid @color-list-border; - > a { outline: 0; cursor: default !important; - padding: 0 0.5em; - font-size: 0.875rem; } > a.button { - height: @listing-line-height; - line-height: @listing-line-height; - width: 100%; min-width: 160px; - max-width: none; - text-align: left; display: flex; } } @@ -59,12 +50,6 @@ } a.rcmbutton { - &::before { - line-height: inherit; - margin: 0 0.25rem 0 0; - width: 1.18em; - } - &::after { .font-icon-class; content: @contextmenu-placeholder-icon; @@ -84,7 +69,6 @@ > span.icon { flex-grow: 1; - font-size: 0.875rem; } } } @@ -114,26 +98,21 @@ // replace :hover with :active on phones to prevent missleading highlighting of menu items html.layout-phone { div.contextmenu { - .toolbarmenu.listing li:hover a.active { + .menu.listing li:hover a.active { color: @color-list; background-color: transparent; } - .toolbarmenu.listing li:active a.active { - color: @color-toolbarmenu-hover; - background-color: @color-toolbarmenu-hover-background; + .menu.listing li:active a.active { + color: @color-menu-hover; + background-color: @color-menu-hover-background; } } } html.touch { div.contextmenu { - ul.toolbar { - > li > a { - height: @listing-touch-line-height; - line-height: @listing-touch-line-height; - } - + ul.menu { a.rcmbutton { &::before, &::after { @@ -142,7 +121,6 @@ > span.icon { .overflow-ellipsis; - font-size: 1.2rem; } } } @@ -167,9 +145,5 @@ &.cmd_plugin-contextmenu-openinline::before { .font-icon-regular(@fa-var-folder-open); } - - &.cmd_search-delete::before { - content: @fa-var-trash-alt !important; - } } } \ No newline at end of file
View file
roundcubemail-plugin-contextmenu-3.0-beta1.tar.gz/skins/elastic/contextmenu.min.css
Changed
@@ -1,1 +1,1 @@ -.listing tbody tr.context-source:not(.selected)>td{background-color:#f9f9f9}ul.treelist li.context-source:not(.selected)>div>a,ul.treelist li.context-source:not(.selected)>a{background-color:#f9f9f9}body>#layout>div.sidebar .listing tbody tr.context-source:not(.selected)>td{background-color:#f9f9f9}body>#layout>div.sidebar ul.treelist li.context-source:not(.selected)>div>a,body>#layout>div.sidebar ul.treelist li.context-source:not(.selected)>a{background-color:#f9f9f9}.toolbar a.rcmbutton::before{content:"\00a0"}div.contextmenu ul.toolbar>li{display:block;border-bottom:1px solid #f1f3f4}div.contextmenu ul.toolbar>li>a{outline:0;cursor:default !important;padding:0 .5em;font-size:.875rem}div.contextmenu ul.toolbar>li>a.button{height:2.5rem;line-height:2.5rem;width:100%;min-width:160px;max-width:none;text-align:left;display:flex}div.contextmenu ul.toolbar>li:last-child{border-bottom:none}div.contextmenu ul.toolbar a.rcmbutton::before{line-height:inherit;margin:0 .25rem 0 0;width:1.18em}div.contextmenu ul.toolbar a.rcmbutton::after{font-size:1.25em;display:block;float:left;margin:0 .25rem 0 0;width:1.18em;height:1em;font-family:'Icons';font-style:normal;font-weight:900;text-decoration:inherit;text-align:center;speak:none;font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;content:"\00a0";padding:0 .5em;font-size:100%}div.contextmenu ul.toolbar a.rcmbutton.rcmsubbutton.disabled{pointer-events:auto}div.contextmenu ul.toolbar a.rcmbutton.rcmsubbutton::after{content:"\f105"}div.contextmenu ul.toolbar a.rcmbutton>span.icon{flex-grow:1;font-size:.875rem}.contextmenu_content{display:block !important;flex:0 !important;min-width:0 !important;width:0}.contextmenu_content #toolbar-menu{display:block !important}html.layout-small div.contextmenu,html.layout-phone div.contextmenu{top:0 !important}html.layout-small div.contextmenu a.rcmsubbutton:not(.rcm-uidropdown)::after,html.layout-phone div.contextmenu a.rcmsubbutton:not(.rcm-uidropdown)::after{display:none}html.layout-phone div.contextmenu .toolbarmenu.listing li:hover a.active{color:#2c363a;background-color:transparent}html.layout-phone div.contextmenu .toolbarmenu.listing li:active a.active{color:#fff;background-color:#37beff}html.touch div.contextmenu ul.toolbar>li>a{height:3.4rem;line-height:3.4rem}html.touch div.contextmenu ul.toolbar a.rcmbutton::before,html.touch div.contextmenu ul.toolbar a.rcmbutton::after{margin-right:.5rem}html.touch div.contextmenu ul.toolbar a.rcmbutton>span.icon{overflow:hidden;text-overflow:ellipsis;font-size:1.2rem}div.contextmenu a.cmd_plugin-contextmenu-collapseall::before{content:"\f146";font-weight:400}div.contextmenu a.cmd_plugin-contextmenu-expandall::before{content:"\f0fe";font-weight:400}div.contextmenu a.cmd_plugin-contextmenu-openextwin::before{content:"\f360"}div.contextmenu a.cmd_plugin-contextmenu-openinline::before{content:"\f07c";font-weight:400}div.contextmenu a.cmd_search-delete::before{content:"\f2ed" !important} \ No newline at end of file +.listing tbody tr.context-source:not(.selected)>td{background-color:#f9f9f9}ul.treelist li.context-source:not(.selected)>div>a,ul.treelist li.context-source:not(.selected)>a{background-color:#f9f9f9}body>#layout>div.sidebar .listing tbody tr.context-source:not(.selected)>td{background-color:#f9f9f9}body>#layout>div.sidebar ul.treelist li.context-source:not(.selected)>div>a,body>#layout>div.sidebar ul.treelist li.context-source:not(.selected)>a{background-color:#f9f9f9}.toolbarmenu a.rcmbutton::before{content:"\00a0"}div.contextmenu ul.toolbarmenu>li>a{outline:0;cursor:default !important}div.contextmenu ul.toolbarmenu>li>a.button{min-width:160px;display:flex}div.contextmenu ul.toolbarmenu>li:last-child{border-bottom:none}div.contextmenu ul.toolbarmenu a.rcmbutton::after{font-size:1.25em;display:block;float:left;margin:0 .25rem 0 0;width:1.18em;height:1em;font-family:'Icons';font-style:normal;font-weight:900;text-decoration:inherit;text-align:center;speak:none;font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;content:"\00a0";padding:0 .5em;font-size:100%}div.contextmenu ul.toolbarmenu a.rcmbutton.rcmsubbutton.disabled{pointer-events:auto}div.contextmenu ul.toolbarmenu a.rcmbutton.rcmsubbutton::after{content:"\f105"}div.contextmenu ul.toolbarmenu a.rcmbutton>span.icon{flex-grow:1}.contextmenu_content{display:block !important;flex:0 !important;min-width:0 !important;width:0}.contextmenu_content #toolbar-menu{display:block !important}html.layout-small div.contextmenu,html.layout-phone div.contextmenu{top:0 !important}html.layout-small div.contextmenu a.rcmsubbutton:not(.rcm-uidropdown)::after,html.layout-phone div.contextmenu a.rcmsubbutton:not(.rcm-uidropdown)::after{display:none}html.layout-phone div.contextmenu .toolbarmenu.listing li:hover a.active{color:#2c363a;background-color:transparent}html.layout-phone div.contextmenu .toolbarmenu.listing li:active a.active{color:#fff;background-color:#37beff}html.touch div.contextmenu ul.toolbarmenu a.rcmbutton::before,html.touch div.contextmenu ul.toolbarmenu a.rcmbutton::after{margin-right:.5rem}html.touch div.contextmenu ul.toolbarmenu a.rcmbutton>span.icon{overflow:hidden;text-overflow:ellipsis}div.contextmenu a.cmd_plugin-contextmenu-collapseall::before{content:"\f146";font-weight:400}div.contextmenu a.cmd_plugin-contextmenu-expandall::before{content:"\f0fe";font-weight:400}div.contextmenu a.cmd_plugin-contextmenu-openextwin::before{content:"\f360"}div.contextmenu a.cmd_plugin-contextmenu-openinline::before{content:"\f07c";font-weight:400} \ No newline at end of file
View file
roundcubemail-plugin-contextmenu-3.0-beta1.tar.gz/skins/elastic/functions.js
Changed
@@ -25,7 +25,7 @@ menu_defaults: { modal: true, classes: { - ul: 'toolbarmenu toolbar listing', + ul: 'menu listing', a: 'button rcmbutton', sub_button_a: 'rcmsubbutton', sub_button_span: null @@ -41,7 +41,7 @@ var header = $('<h3>').addClass('popover-header') .append($('<a>').attr('class', class_name).text(title)) .on('click', function(e) { - rcmail.contextmenu.hide_all(e, $('div.contextmenu:visible').length >= 1); + rcmail.contextmenu.hide_all(e, $('div.contextmenu').filter(':visible').length >= 1); }); $(p.ref.container).addClass('popover').prepend(header).children('ul').wrap($('<div>').addClass('popover-body')); @@ -58,14 +58,14 @@ }, '+beforeactivate': function(p) { // force toolbar display on small screens while the contextmenu renders - if (!$('#layout > .content').is(':visible')) - $('#layout > .content').addClass('contextmenu_content'); + if (!$('#layout-content').is(':visible')) + $('#layout-content').addClass('contextmenu_content'); // do not show submenus on mouseover for small screens p.ref.mouseover_timeout = $('html').is('.layout-small,.layout-phone') ? -1 : rcmail.env.contextmenu_mouseover_timeout; }, '+afteractivate': function() { - $('#layout > .content').removeClass('contextmenu_content'); + $('#layout-content').removeClass('contextmenu_content'); }, 'submenu_toggle': function(p) { var matches; @@ -103,6 +103,12 @@ // Remove any tooltips added to menu elements by Elastic UI JS rcmail.addEventListener('enable-command', function() { $('div.contextmenu').find('a.rcmbutton').removeAttr('title'); }); + // Hack to fix menu hiding when switching between BS popovers and JQUI dialogs (#114) + // TODO: find a more general solution + rcmail.addEventListener('afterqrcode', function(p) { + rcmail.contextmenu.hide_all(p.originalEvent, false, true); + }); + if (rcmail.env.task == 'mail' && rcmail.env.action == '') { rcmail.addEventListener('insertrow', function(props) { rcmail.contextmenu.init_list(props.row.id, {'menu_name': 'messagelist', 'menu_source': '#toolbar-menu > li'}); } ); rcmail.add_onload("rcmail.contextmenu.init_folder('#mailboxlist li', {'menu_source': ['#rcmfolder-menu > ul', '#mailboxoptions-menu > ul > li']})");
View file
roundcubemail-plugin-contextmenu-3.0-beta1.tar.gz/skins/elastic/includes/mail.html
Changed
@@ -1,10 +1,10 @@ <roundcube:if condition="env:action == ''" /> <div id="rcmfolder-menu" class="popupmenu"> <h3 id="aria-label-rcmfolder-menu" class="voice"><roundcube:label name="arialabelmailboxmenu" /></h3> - <ul class="toolbarmenu listing" role="menu" aria-labelledby="aria-label-rcmfolder-menu"> - <roundcube:button type="link-menuitem" command="plugin.contextmenu.collapseall" label="contextmenu.collapseall" class="collapseall" classAct="collapseall active" /> - <roundcube:button type="link-menuitem" command="plugin.contextmenu.expandall" label="contextmenu.expandall" class="expandall" classAct="expandall active" /> - <roundcube:button type="link-menuitem" command="plugin.contextmenu.openextwin" label="openinextwin" class="openextwin rcm-active" classAct="openextwin rcm_active active" /> + <ul class="menu listing" role="menu" aria-labelledby="aria-label-rcmfolder-menu"> + <roundcube:button type="link-menuitem" command="plugin.contextmenu.collapseall" label="contextmenu.collapseall" class="collapseall disabled" classAct="collapseall active" /> + <roundcube:button type="link-menuitem" command="plugin.contextmenu.expandall" label="contextmenu.expandall" class="expandall disabled" classAct="expandall active" /> + <roundcube:button type="link-menuitem" command="plugin.contextmenu.openextwin" label="openinextwin" class="openextwin rcm-active disabled" classAct="openextwin rcm_active active" /> </ul> </div> <roundcube:endif /> \ No newline at end of file
View file
roundcubemail-plugin-contextmenu-3.0-beta1.tar.gz/skins/elastic/includes/settings.html
Changed
@@ -1,7 +1,7 @@ <div id="rcmsettings-menu" class="popupmenu"> <h3 id="aria-label-rcmsettings-menu" class="voice"><roundcube:label name="arialabellistselectmenu" /></h3> - <ul class="toolbarmenu listing" role="menu" aria-labelledby="aria-label-rcmsettings-menu"> - <roundcube:button type="link-menuitem" command="plugin.contextmenu.openinline" label="open" class="openinline rcm-active" classAct="openinline rcm-active active" /> - <roundcube:button type="link-menuitem" command="plugin.contextmenu.openextwin" label="openinextwin" class="openextwin rcm-active" classAct="openextwin rcm-active active" /> + <ul class="menu listing" role="menu" aria-labelledby="aria-label-rcmsettings-menu"> + <roundcube:button type="link-menuitem" command="plugin.contextmenu.openinline" label="open" class="openinline rcm-active disabled" classAct="openinline rcm-active active" /> + <roundcube:button type="link-menuitem" command="plugin.contextmenu.openextwin" label="openinextwin" class="openextwin rcm-active disabled" classAct="openextwin rcm-active active" /> </ul> </div> \ No newline at end of file
View file
roundcubemail-plugin-contextmenu-3.0-beta1.tar.gz/skins/larry/functions.js
Changed
@@ -24,7 +24,7 @@ rcube_webmail.prototype.contextmenu.skin_funcs.reorder_contact_menu = function(p) { // put export and more submenus last - var ul = p.ref.container.find('ul:first'); + var ul = p.ref.container.find('ul').first(); p.ref.container.find('a.export').parent('li').appendTo(ul); p.ref.container.find('a.more').parent('li').appendTo(ul); };
View file
roundcubemail-plugin-contextmenu.dsc
Changed
@@ -2,7 +2,7 @@ Source: roundcubemail-plugin-contextmenu Binary: roundcubemail-plugin-contextmenu Architecture: all -Version: 3.0-0~kolab6 +Version: 3.0-0~kolab7 Maintainer: Jeroen van Meeuwen (Kolab Systems) <vanmeeuwen@kolabsys.com> Uploaders: Jeroen van Meeuwen (Kolab Systems) <vanmeeuwen@kolabsys.com> Standards-Version: 3.9.3
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.