- 'threads' column made movable
| | |
| | | |
| | | this.message_list = new rcube_list_widget(this.gui_objects.messagelist, { |
| | | multiselect:true, multiexpand:true, draggable:true, keyboard:true, |
| | | column_movable:this.env.col_movable, column_fixed:0, dblclick_time:this.dblclick_time |
| | | column_movable:this.env.col_movable, dblclick_time:this.dblclick_time |
| | | }); |
| | | this.message_list.row_init = function(o){ p.init_message_row(o); }; |
| | | this.message_list.addEventListener('dblclick', function(o){ p.msglist_dbl_click(o); }); |
| | |
| | | |
| | | tree += icon ? '<img id="msgicn'+uid+'" src="'+icon+'" alt="" class="msgicon" />' : ''; |
| | | |
| | | // first col is always there |
| | | col.className = 'threads'; |
| | | col.innerHTML = expando; |
| | | row.appendChild(col); |
| | | |
| | | // build subject link |
| | | if (!bw.ie && cols.subject) { |
| | | var action = flags.mbox == this.env.drafts_mailbox ? 'compose' : 'show'; |
| | |
| | | else if(!flags.flagged && this.env.unflaggedicon) |
| | | html = '<img id="flaggedicn'+uid+'" src="'+this.env.unflaggedicon+'" class="flagicon" alt="" />'; |
| | | } |
| | | else if (c == 'threads') |
| | | html = expando; |
| | | else if (c == 'attachment') |
| | | html = flags.attachment && this.env.attachmenticon ? '<img src="'+this.env.attachmenticon+'" alt="" />' : ' '; |
| | | else if (c == 'subject') |
| | |
| | | newcols[newcols.length] = name; |
| | | delete cols[idx]; |
| | | } |
| | | else if (name == 'threads') { |
| | | delete oldcols[i]; |
| | | } |
| | | } |
| | | for (i=0; i<cols.length; i++) |
| | | if (cols[i]) |
| | | newcols[newcols.length] = cols[i]; |
| | | |
| | | if (newcols.join() != this.env.coltypes.join()) { |
| | | if (newcols.join() != oldcols.join()) { |
| | | update = 1; |
| | | add_url += '&_cols=' + newcols.join(','); |
| | | } |
| | |
| | | var cell, col, n; |
| | | for (n=0; thead && n<this.env.coltypes.length; n++) { |
| | | col = this.env.coltypes[n]; |
| | | if ((cell = thead.rows[0].cells[n+1]) && (col=='from' || col=='to')) { |
| | | if ((cell = thead.rows[0].cells[n]) && (col=='from' || col=='to')) { |
| | | // if we have links for sorting, it's a bit more complicated... |
| | | if (cell.firstChild && cell.firstChild.tagName.toLowerCase()=='a') { |
| | | cell.firstChild.innerHTML = this.get_label(this.env.coltypes[n]); |
| | |
| | | if ((found = $.inArray('subject', this.env.coltypes)) >= 0) { |
| | | this.set_env('subject_col', found); |
| | | if (this.message_list) |
| | | this.message_list.subject_col = found+1; |
| | | this.message_list.subject_col = found; |
| | | } |
| | | if ((found = $.inArray('flag', this.env.coltypes)) >= 0) |
| | | this.set_env('flagged_col', found); |
| | |
| | | && (($f = array_search('from', $a_show_cols)) !== false) && array_search('to', $a_show_cols) === false) |
| | | $a_show_cols[$f] = 'to'; |
| | | |
| | | // make sure 'threads' column is present |
| | | if (!in_array('threads', $a_show_cols)) |
| | | array_unshift($a_show_cols, 'threads'); |
| | | |
| | | $skin_path = $_SESSION['skin_path'] = $CONFIG['skin_path']; |
| | | |
| | | // set client env |
| | |
| | | && (($f = array_search('from', $a_show_cols)) !== false) && array_search('to', $a_show_cols) === false) |
| | | $a_show_cols[$f] = 'to'; |
| | | |
| | | // make sure 'threads' column is present |
| | | if (!in_array('threads', $a_show_cols)) |
| | | array_unshift($a_show_cols, 'threads'); |
| | | |
| | | $thead = $head_replace ? rcmail_message_list_head($_SESSION['list_attrib'], $a_show_cols) : NULL; |
| | | |
| | | $OUTPUT->command('set_message_coltypes', $a_show_cols, $thead); |
| | |
| | | if (empty($a_headers)) |
| | | return; |
| | | |
| | | // remove 'attachment' and 'flag' columns, we don't need them here |
| | | if(($key = array_search('attachment', $a_show_cols)) !== FALSE) |
| | | // remove 'threads', 'attachment', 'flag' columns, we don't need them here |
| | | if (($key = array_search('attachment', $a_show_cols)) !== FALSE) |
| | | unset($a_show_cols[$key]); |
| | | if(($key = array_search('flag', $a_show_cols)) !== FALSE) |
| | | if (($key = array_search('flag', $a_show_cols)) !== FALSE) |
| | | unset($a_show_cols[$key]); |
| | | if (($key = array_search('threads', $a_show_cols)) !== FALSE) |
| | | unset($a_show_cols[$key]); |
| | | |
| | | // loop through message headers |
| | |
| | | else |
| | | $list_menu = ''; |
| | | |
| | | $cells = array(array('className' => 'threads', 'html' => $list_menu)); |
| | | $cells = array(); |
| | | |
| | | foreach ($a_show_cols as $col) { |
| | | // get column name |
| | |
| | | case 'attachment': |
| | | $col_name = sprintf($image_tag, $skin_path, $attrib['attachmenticon'], ''); |
| | | break; |
| | | case 'threads': |
| | | $col_name = $list_menu; |
| | | break; |
| | | default: |
| | | $col_name = Q(rcube_label($col)); |
| | | } |
| | |
| | | { |
| | | if (typeof show == 'undefined') |
| | | show = obj.is(':visible') ? false : true; |
| | | |
| | | |
| | | var ref = rcube_find_object(refname); |
| | | if (show && ref) { |
| | | var pos = $(ref).offset(); |
| | |
| | | |
| | | var ref = rcube_find_object('listmenulink'); |
| | | if (show && ref) { |
| | | var pos = $(ref).offset(); |
| | | var pos = $(ref).offset(), |
| | | menuwidth = this.listmenu.width(), |
| | | pagewidth = $(document).width(); |
| | | |
| | | if (pagewidth - pos.left < menuwidth && pos.left > menuwidth) |
| | | pos.left = pos.left - menuwidth; |
| | | |
| | | this.listmenu.css({ left:pos.left, top:(pos.top + ref.offsetHeight + 2)}); |
| | | // set form values |
| | | $('input[name="sort_col"][value="'+rcmail.env.sort_col+'"]').attr('checked', 1); |
| | |
| | | #messagelist tr td.attachment, |
| | | #messagelist tr td.flag |
| | | { |
| | | width: 20px; |
| | | padding: 0px 1px 1px 1px; |
| | | width: 18px; |
| | | padding: 0px 1px 1px 3px; |
| | | } |
| | | |
| | | #messagelist tbody td span.branch, |
| | |
| | | |
| | | #messagelist tbody td img.msgicon |
| | | { |
| | | margin-right: 2px; |
| | | margin: 0 2px; |
| | | } |
| | | |
| | | #messagelist tr td div.collapsed, |
| | |
| | | |
| | | #messagelist tr td div.collapsed |
| | | { |
| | | background: url(images/messageactions.png) 1px -91px no-repeat; |
| | | background: url(images/messageactions.png) -1px -91px no-repeat; |
| | | } |
| | | |
| | | #messagelist tr td div.expanded |
| | | { |
| | | background: url(images/messageactions.png) 1px -109px no-repeat; |
| | | background: url(images/messageactions.png) -1px -109px no-repeat; |
| | | } |
| | | |
| | | #messagelist tbody tr td.flag img:hover, |