mirror of
https://github.com/phpbb/phpbb.git
synced 2025-06-28 22:28:51 +00:00
Merge remote-tracking branch 'prototech/ticket/11241' into develop
* prototech/ticket/11241: [ticket/11241] Retain button gradient when menu is active. [ticket/11241] Fix the disappearing dropdown when responsive changes take effect [ticket/11241] Add border to dropdown menu options. [ticket/11241] Add events & var for extensions to dropdown. [ticket/11241] Fix the dropdown in RTL languages. [ticket/11241] Use DEFINE for the block. [ticket/11241] Consolidate topic actions into "Topic tools" dropdown. [ticket/11241] Add dropdown control button.
This commit is contained in:
commit
71169de823
15 changed files with 193 additions and 37 deletions
|
@ -931,6 +931,14 @@ phpbb.toggleDropdown = function() {
|
|||
return false;
|
||||
};
|
||||
|
||||
/**
|
||||
* Toggle dropdown submenu
|
||||
*/
|
||||
phpbb.toggleSubmenu = function(e) {
|
||||
$(this).siblings('.dropdown-submenu').toggle();
|
||||
e.preventDefault();
|
||||
}
|
||||
|
||||
/**
|
||||
* Register dropdown menu
|
||||
* Shows/hides dropdown, decides which side to open to
|
||||
|
@ -962,6 +970,7 @@ phpbb.registerDropdown = function(toggle, dropdown, options)
|
|||
toggle.data('dropdown-options', ops);
|
||||
|
||||
toggle.click(phpbb.toggleDropdown);
|
||||
$('.dropdown-toggle-submenu', ops.parent).click(phpbb.toggleSubmenu);
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
|
@ -399,3 +399,17 @@ viewtopic_topic_title_prepend
|
|||
+ styles/subsilver2/template/viewtopic_body.html
|
||||
* Since: 3.1.0-a1
|
||||
* Purpose: Add content directly before the topic title link on the View topic screen
|
||||
|
||||
viewtopic_topic_tools_after
|
||||
===
|
||||
* Locations:
|
||||
+ styles/prosilver/template/viewtopic_topic_tools.html
|
||||
* Since: 3.1.0-a3
|
||||
* Purpose: Add a new topic tool after the rest of the existing ones
|
||||
|
||||
viewtopic_topic_tools_before
|
||||
===
|
||||
* Locations:
|
||||
+ styles/prosilver/template/viewtopic_topic_tools.html
|
||||
* Since: 3.1.0-a3
|
||||
* Purpose: Add a new topic tool before the rest of the existing ones
|
||||
|
|
|
@ -1464,6 +1464,8 @@ function phpbb_gen_download_links($param_key, $param_val, $phpbb_root_path, $php
|
|||
}
|
||||
|
||||
$methods = compress::methods();
|
||||
// Sort by preferred type.
|
||||
$methods = array_intersect(array('.zip', '.tar.bz2', '.tar.gz', '.tar'), $methods);
|
||||
$links = array();
|
||||
|
||||
foreach ($methods as $method)
|
||||
|
|
|
@ -104,6 +104,7 @@ $lang = array_merge($lang, array(
|
|||
|
||||
'SUBMIT_VOTE' => 'Submit vote',
|
||||
|
||||
'TOPIC_TOOLS' => 'Topic tools',
|
||||
'TOTAL_VOTES' => 'Total votes',
|
||||
|
||||
'UNLOCK_TOPIC' => 'Unlock topic',
|
||||
|
|
|
@ -12,9 +12,6 @@
|
|||
</li>
|
||||
<!-- IF not S_IS_BOT -->
|
||||
<!-- IF U_WATCH_FORUM_LINK --><li class="small-icon icon-<!-- IF S_WATCHING_FORUM -->unsubscribe<!-- ELSE -->subscribe<!-- ENDIF -->"><a href="{U_WATCH_FORUM_LINK}" title="{S_WATCH_FORUM_TITLE}" data-ajax="toggle_link" data-toggle-class="small-icon icon-<!-- IF not S_WATCHING_FORUM -->unsubscribe<!-- ELSE -->subscribe<!-- ENDIF -->" data-toggle-text="{S_WATCH_FORUM_TOGGLE}" data-toggle-url="{U_WATCH_FORUM_TOGGLE}">{S_WATCH_FORUM_TITLE}</a></li><!-- ENDIF -->
|
||||
<!-- IF U_WATCH_TOPIC --><li class="small-icon icon-<!-- IF S_WATCHING_TOPIC -->unsubscribe<!-- ELSE -->subscribe<!-- ENDIF -->"><a href="{U_WATCH_TOPIC}" title="{S_WATCH_TOPIC_TITLE}" data-ajax="toggle_link" data-toggle-class="small-icon icon-<!-- IF not S_WATCHING_TOPIC -->unsubscribe<!-- ELSE -->subscribe<!-- ENDIF -->" data-toggle-text="{S_WATCH_TOPIC_TOGGLE}" data-toggle-url="{U_WATCH_TOPIC_TOGGLE}">{S_WATCH_TOPIC_TITLE}</a></li><!-- ENDIF -->
|
||||
<!-- IF U_BOOKMARK_TOPIC --><li class="small-icon icon-bookmark"><a href="{U_BOOKMARK_TOPIC}" title="{L_BOOKMARK_TOPIC}" data-ajax="alt_text" data-alt-text="{S_BOOKMARK_TOGGLE}">{S_BOOKMARK_TOPIC}</a></li><!-- ENDIF -->
|
||||
<!-- IF U_BUMP_TOPIC --><li class="small-icon icon-bump"><a href="{U_BUMP_TOPIC}" title="{L_BUMP_TOPIC}" data-ajax="true">{L_BUMP_TOPIC}</a></li><!-- ENDIF -->
|
||||
<!-- ENDIF -->
|
||||
<li class="rightside">{S_TIMEZONE}</li>
|
||||
<!-- IF not S_IS_BOT --><li class="rightside"><a href="{U_DELETE_COOKIES}" data-ajax="true" data-refresh="true">{L_DELETE_COOKIES}</a></li><!-- ENDIF -->
|
||||
|
|
|
@ -33,6 +33,8 @@
|
|||
<!-- ENDIF -->
|
||||
</div>
|
||||
|
||||
<!-- INCLUDE viewtopic_topic_tools.html -->
|
||||
|
||||
<!-- IF S_DISPLAY_SEARCHBOX -->
|
||||
<div class="search-box">
|
||||
<form method="get" id="topic-search" action="{S_SEARCHBOX_ACTION}">
|
||||
|
@ -55,9 +57,8 @@
|
|||
<!-- ENDIF -->
|
||||
</div>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<div class="clear"></div>
|
||||
</div>
|
||||
<div class="clear"></div>
|
||||
|
||||
<!-- IF S_HAS_POLL -->
|
||||
<form method="post" action="{S_POLL_ACTION}" data-ajax="vote_poll" class="topic_poll">
|
||||
|
@ -299,16 +300,7 @@
|
|||
<!-- ENDIF -->
|
||||
</div>
|
||||
|
||||
<!-- IF S_HAS_ATTACHMENTS -->
|
||||
<div class="dl_links">
|
||||
<strong>{L_DOWNLOAD_ALL_ATTACHMENTS}{L_COLON}</strong>
|
||||
<ul>
|
||||
<!-- BEGIN dl_method -->
|
||||
<li>[ <a href="{dl_method.LINK}">{dl_method.TYPE}</a> ]</li>
|
||||
<!-- END dl_method -->
|
||||
</ul>
|
||||
</div>
|
||||
<!-- ENDIF -->
|
||||
<!-- INCLUDE viewtopic_topic_tools.html -->
|
||||
|
||||
<!-- IF .pagination or TOTAL_POSTS -->
|
||||
<div class="pagination">
|
||||
|
@ -320,6 +312,7 @@
|
|||
<!-- ENDIF -->
|
||||
</div>
|
||||
<!-- ENDIF -->
|
||||
<div class="clear"></div>
|
||||
</div>
|
||||
|
||||
<!-- EVENT viewtopic_body_footer_before -->
|
||||
|
|
39
phpBB/styles/prosilver/template/viewtopic_topic_tools.html
Normal file
39
phpBB/styles/prosilver/template/viewtopic_topic_tools.html
Normal file
|
@ -0,0 +1,39 @@
|
|||
<!-- IF not S_IS_BOT and (U_WATCH_TOPIC or U_BOOKMARK_TOPIC or U_BUMP_TOPIC or S_HAS_ATTACHMENTS or S_DISPLAY_TOPIC_TOOLS) -->
|
||||
<div class="dropdown-container dropdown-button-control topic-tools">
|
||||
<span title="{L_TOPIC_TOOLS}" class="dropdown-trigger dropdown-select dropdown-select-icon tools-icon"><span></span></span>
|
||||
<div class="dropdown hidden">
|
||||
<div class="pointer"><div class="pointer-inner"></div></div>
|
||||
<ul class="dropdown-contents">
|
||||
<!-- EVENT viewtopic_topic_tools_before -->
|
||||
<!-- IF U_WATCH_TOPIC -->
|
||||
<li class="small-icon icon-<!-- IF S_WATCHING_TOPIC -->unsubscribe<!-- ELSE -->subscribe<!-- ENDIF -->">
|
||||
<a href="{U_WATCH_TOPIC}" title="{S_WATCH_TOPIC_TITLE}" data-ajax="toggle_link" data-toggle-class="small-icon icon-<!-- IF not S_WATCHING_TOPIC -->unsubscribe<!-- ELSE -->subscribe<!-- ENDIF -->" data-toggle-text="{S_WATCH_TOPIC_TOGGLE}" data-toggle-url="{U_WATCH_TOPIC_TOGGLE}">
|
||||
{S_WATCH_TOPIC_TITLE}
|
||||
</a>
|
||||
</li>
|
||||
<!-- ENDIF -->
|
||||
<!-- IF U_BOOKMARK_TOPIC -->
|
||||
<li class="small-icon icon-bookmark">
|
||||
<a href="{U_BOOKMARK_TOPIC}" title="{L_BOOKMARK_TOPIC}" data-ajax="alt_text" data-alt-text="{S_BOOKMARK_TOGGLE}">
|
||||
{S_BOOKMARK_TOPIC}
|
||||
</a>
|
||||
</li>
|
||||
<!-- ENDIF -->
|
||||
<!-- IF U_BUMP_TOPIC --><li class="small-icon icon-bump"><a href="{U_BUMP_TOPIC}" title="{L_BUMP_TOPIC}" data-ajax="true">{L_BUMP_TOPIC}</a></li><!-- ENDIF -->
|
||||
<!-- IF S_HAS_ATTACHMENTS -->
|
||||
<li class="small-icon icon-download">
|
||||
<a class="dropdown-toggle-submenu" href="{U_DOWNLOAD_ALL_ATTACHMENTS}" title="{L_DOWNLOAD_ALL_ATTACHMENTS}">{L_DOWNLOAD_ALL_ATTACHMENTS}</a>
|
||||
<ul class="dropdown-submenu hidden">
|
||||
<li>
|
||||
<!-- BEGIN dl_method -->
|
||||
<a href="{dl_method.LINK}">{dl_method.TYPE}</a><!-- IF not dl_method.S_LAST_ROW --> • <!-- ENDIF -->
|
||||
<!-- END dl_method -->
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<!-- ENDIF -->
|
||||
<!-- EVENT viewtopic_topic_tools_after -->
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<!-- ENDIF -->
|
|
@ -90,6 +90,21 @@
|
|||
text-align: left;
|
||||
}
|
||||
|
||||
/* Dropdown menu
|
||||
---------------------------------------- */
|
||||
.rtl .dropdown-container.topic-tools {
|
||||
float: right;
|
||||
}
|
||||
|
||||
.rtl .dropdown li {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.rtl .dropdown li li {
|
||||
padding-left: 0;
|
||||
padding-right: 10px;
|
||||
}
|
||||
|
||||
/* Table styles
|
||||
----------------------------------------*/
|
||||
.rtl table.table1 thead th {
|
||||
|
|
|
@ -11,13 +11,13 @@
|
|||
}
|
||||
|
||||
/* Rollover state */
|
||||
.buttons div {
|
||||
.buttons div, .dropdown-select {
|
||||
float: left;
|
||||
margin: 0 5px 0 0;
|
||||
}
|
||||
|
||||
/* Rolloff state */
|
||||
.buttons div a {
|
||||
.buttons div a, .dropdown-select {
|
||||
display: inline-block;
|
||||
line-height: 17.5px;
|
||||
height: 18px;
|
||||
|
@ -38,7 +38,7 @@
|
|||
|
||||
.buttons div span { display: none; }
|
||||
|
||||
.buttons div a:after {
|
||||
.buttons div a:after, .dropdown-select:after {
|
||||
content: '';
|
||||
display: block;
|
||||
position: absolute;
|
||||
|
@ -54,6 +54,35 @@
|
|||
background-position: 0 -20px;
|
||||
}
|
||||
|
||||
.dropdown-select {
|
||||
cursor: pointer;
|
||||
font-family: inherit;
|
||||
font-size: 1em;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
.dropdown-select:after {
|
||||
background-position: -103px 10px;
|
||||
border-left: 1px solid;
|
||||
margin-top: 0;
|
||||
top: 0;
|
||||
right: 0;
|
||||
height: 21px;
|
||||
width: 15px;
|
||||
}
|
||||
|
||||
.dropdown-visible .dropdown-select:after, .nojs .dropdown-container:hover .dropdown-select:after {
|
||||
background-position: -103px -10px;
|
||||
}
|
||||
|
||||
.dropdown-select-icon:before {
|
||||
content: '';
|
||||
display: block;
|
||||
float: left;
|
||||
margin-right: 4px;
|
||||
margin-top: 2px;
|
||||
}
|
||||
|
||||
/* Big button images */
|
||||
.buttons div.reply-icon a:after, .buttons div.pmreply-icon a:after { background-position: -20px 0; }
|
||||
.buttons div.reply-icon a:hover:after, .buttons div.pmreply-icon a:hover:after { background-position: -20px -20px; }
|
||||
|
@ -67,6 +96,11 @@
|
|||
.buttons div.forwardpm-icon a:after { background-position: -40px 0; }
|
||||
.buttons div.forwardpm-icon a:hover:after { background-position: -40px -20px; }
|
||||
|
||||
.dropdown-select.tools-icon:before { background-position: -80px 0; height: 16px; width: 16px; }
|
||||
|
||||
.dropdown-visible .dropdown-select.tools-icon:before,
|
||||
.nojs .dropdown-container:hover .dropdown-select.tools-icon:before { background-position: -80px -20px; }
|
||||
|
||||
/* Sub-header (navigation bar)
|
||||
--------------------------------------------- */
|
||||
a.print, a.sendemail {
|
||||
|
|
|
@ -231,7 +231,6 @@ p.post-notice.reported:before, p.post-notice.error:before {
|
|||
background-image: url("./images/icon_topic_reported.gif");
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
--------------------------------------------------------------
|
||||
Colours and backgrounds for links.css
|
||||
|
@ -655,7 +654,7 @@ a.sendemail {
|
|||
background-image: url("./images/icon_sendemail.gif");
|
||||
}
|
||||
|
||||
.buttons div a {
|
||||
.buttons div a, .dropdown-select {
|
||||
border-color: #C7C3BF;
|
||||
background-color: #FFFFFF;
|
||||
background-image: -moz-linear-gradient(top, #FFFFFF, #E9E9E9);
|
||||
|
@ -668,7 +667,16 @@ a.sendemail {
|
|||
color: #BC2A4D !important;
|
||||
}
|
||||
|
||||
.buttons div a:hover {
|
||||
.dropdown-select {
|
||||
color: #5C6482 !important;
|
||||
}
|
||||
|
||||
.dropdown-select:after {
|
||||
border-color: #DADADA;
|
||||
}
|
||||
|
||||
.buttons div a:hover, .dropdown-select:hover, .dropdown-visible .dropdown-select,
|
||||
.dropdown-visible .dropdown-select:hover, .nojs .dropdown-container:hover .dropdown-select {
|
||||
border-color: #0a8ed0;
|
||||
background-image: -moz-linear-gradient(top, #E9E9E9, #FFFFFF);
|
||||
background-image: -webkit-linear-gradient(top, #E9E9E9, #FFFFFF);
|
||||
|
@ -678,7 +686,16 @@ a.sendemail {
|
|||
text-shadow: 1px 1px 0 #FFFFFF, -1px -1px 0 #FFFFFF, -1px -1px 0 rgba(188, 42, 77, 0.2);
|
||||
}
|
||||
|
||||
.buttons div a:after {
|
||||
.dropdown-select:hover {
|
||||
border-color: #C7C3BF;
|
||||
}
|
||||
|
||||
.dropdown-visible .dropdown-select, .dropdown-visible .dropdown-select:hover, .nojs .dropdown-container:hover .dropdown-select {
|
||||
border-color: #A6B2BA;
|
||||
color: #105289 !important;
|
||||
}
|
||||
|
||||
.buttons div a:after, .dropdown-select-icon:before, .dropdown-select:after {
|
||||
background-image: url("images/buttons.png");
|
||||
}
|
||||
|
||||
|
@ -698,6 +715,7 @@ a.sendemail {
|
|||
.icon-search, .responsive-search a { background-image: url("./images/icon_search.gif"); }
|
||||
.icon-notification { background-image: url("./images/icon_notification.gif"); }
|
||||
.icon-pm { background-image: url("./images/icon_pm.gif"); }
|
||||
.icon-download { background-image: url("./images/icon_download.gif"); }
|
||||
|
||||
/* Profile & navigation icons */
|
||||
.email-icon, .email-icon a { background-image: url("./images/icon_contact_email.gif"); }
|
||||
|
@ -1162,6 +1180,10 @@ ul.linklist li.responsive-menu a.responsive-menu-link:hover:before, ul.linklist
|
|||
box-shadow: 1px 0 5px rgba(0, 0, 0, 0.2);
|
||||
}
|
||||
|
||||
.dropdown li, .dropdown li li {
|
||||
border-color: #DCDCDC;
|
||||
}
|
||||
|
||||
#minitabs .dropdown-contents {
|
||||
background-color: #F1F8FF;
|
||||
}
|
||||
|
|
|
@ -463,6 +463,10 @@ ul.linklist.bulletin li.no-bulletin:before {
|
|||
padding: 9px 0 0;
|
||||
}
|
||||
|
||||
.dropdown-container.topic-tools {
|
||||
float: left;
|
||||
}
|
||||
|
||||
.dropdown-up .dropdown {
|
||||
top: auto;
|
||||
bottom: 1.2em;
|
||||
|
@ -474,6 +478,15 @@ ul.linklist.bulletin li.no-bulletin:before {
|
|||
right: 0;
|
||||
}
|
||||
|
||||
.dropdown-button-control .dropdown {
|
||||
top: 24px;
|
||||
}
|
||||
|
||||
.dropdown-button-control.dropdown-up .dropdown {
|
||||
top: auto;
|
||||
bottom: 24px;
|
||||
}
|
||||
|
||||
.dropdown .pointer, .dropdown .pointer-inner {
|
||||
position: absolute;
|
||||
width: 0;
|
||||
|
@ -535,12 +548,35 @@ ul.linklist.bulletin li.no-bulletin:before {
|
|||
}
|
||||
|
||||
.dropdown li {
|
||||
float: none;
|
||||
border-bottom: 1px dotted transparent;
|
||||
float: none !important;
|
||||
line-height: normal !important;
|
||||
font-size: 1em !important;
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
padding-top: 4px;
|
||||
padding-bottom: 4px;
|
||||
white-space: nowrap;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.dropdown li:last-child, .dropdown li li {
|
||||
border-bottom: 0;
|
||||
}
|
||||
|
||||
.dropdown li li:first-child {
|
||||
margin-top: 4px;
|
||||
}
|
||||
|
||||
.dropdown li li:last-child {
|
||||
padding-bottom: 0;
|
||||
}
|
||||
|
||||
.dropdown li li {
|
||||
border-top: 1px dotted transparent;
|
||||
padding-left: 10px;
|
||||
}
|
||||
|
||||
.wrap .dropdown li, .dropdown.wrap li, #notification_list li {
|
||||
white-space: normal;
|
||||
}
|
||||
|
|
BIN
phpBB/styles/prosilver/theme/images/buttons.png
Normal file → Executable file
BIN
phpBB/styles/prosilver/theme/images/buttons.png
Normal file → Executable file
Binary file not shown.
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 2.9 KiB |
BIN
phpBB/styles/prosilver/theme/images/icon_download.gif
Normal file
BIN
phpBB/styles/prosilver/theme/images/icon_download.gif
Normal file
Binary file not shown.
After Width: | Height: | Size: 198 B |
|
@ -468,10 +468,6 @@ p.rightside {
|
|||
float: none;
|
||||
}
|
||||
|
||||
.topic-actions {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
fieldset.quickmod {
|
||||
width: auto;
|
||||
float: none;
|
||||
|
@ -511,17 +507,14 @@ fieldset.display-actions {
|
|||
margin: 0;
|
||||
}
|
||||
|
||||
.topic-actions > div {
|
||||
float: none;
|
||||
overflow: hidden;
|
||||
clear: both;
|
||||
}
|
||||
|
||||
.topic-actions > .pagination, fieldset.jumpbox {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.topic-actions > .pagination {
|
||||
float: none;
|
||||
overflow: hidden;
|
||||
clear: both;
|
||||
padding-bottom: 1px;
|
||||
}
|
||||
|
||||
|
|
|
@ -1384,16 +1384,17 @@ if (sizeof($attach_list))
|
|||
}
|
||||
}
|
||||
|
||||
$template->assign_vars(array(
|
||||
'S_HAS_ATTACHMENTS' => $topic_data['topic_attachment'],
|
||||
));
|
||||
|
||||
$methods = phpbb_gen_download_links('topic_id', $topic_id, $phpbb_root_path, $phpEx);
|
||||
foreach ($methods as $method)
|
||||
{
|
||||
$template->assign_block_vars('dl_method', $method);
|
||||
}
|
||||
|
||||
$template->assign_vars(array(
|
||||
'S_HAS_ATTACHMENTS' => $topic_data['topic_attachment'],
|
||||
'U_DOWNLOAD_ALL_ATTACHMENTS' => $methods[0]['LINK'],
|
||||
));
|
||||
|
||||
// Instantiate BBCode if need be
|
||||
if ($bbcode_bitfield !== '')
|
||||
{
|
||||
|
|
Loading…
Add table
Reference in a new issue