Changeset 5624 in subversion


Ignore:
Timestamp:
Dec 16, 2011 2:23:04 PM (17 months ago)
Author:
thomasb
Message:

Setup dialogs (using jquery UI) and compose form for Larry

Location:
trunk
Files:
20 added
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/plugins/jqueryui/config.inc.php.dist

    r4715 r5624  
    66// map Roundcube skins with jquery-ui themes here 
    77$rcmail_config['jquery_ui_skin_map'] = array( 
     8  'larry' => 'larry', 
    89  'groupvice4' => 'redmond', 
    910); 
  • trunk/roundcubemail/program/js/app.js

    r5623 r5624  
    33613361      if (this.env.cancelicon) 
    33623362        content = '<a title="'+this.get_label('cancel')+'" onclick="return rcmail.cancel_attachment_upload(\''+ts+'\', \''+frame_name+'\');" href="#cancelupload" class="cancelupload"><img src="'+this.env.cancelicon+'" alt="" /></a>'+content; 
    3363       this.add2attachment_list(ts, { name:'', html:content, complete:false }); 
     3363      this.add2attachment_list(ts, { name:'', html:content, classname:'uploading', complete:false }); 
    33643364 
    33653365      // upload progress support 
  • trunk/roundcubemail/skins/larry/mail.css

    r5619 r5624  
    303303 
    304304.boxlistcontent thead tr td { 
    305         font-size: 11px; 
    306305        font-weight: bold; 
    307306        background: #d6eaf3; 
     
    314313} 
    315314 
    316 .boxlistcontent thead tr td a { 
     315.boxlistcontent thead tr td a, 
     316.boxlistcontent thead tr td span { 
    317317        display: block; 
    318318        padding: 8px 7px; 
     
    322322 
    323323.boxlistcontent tbody tr td { 
    324         font-size: 11px; 
    325324        padding: 4px 7px; 
    326325        border-bottom: 1px solid #ddd; 
     
    495494        height: 18px; 
    496495        width: 20px; 
     496        padding: 0; 
    497497        background: url(images/listicons.png) -100px 0 no-repeat; 
    498498} 
     
    628628} 
    629629 
     630#listoptions ul.proplist { 
     631        min-width: 16em; 
     632} 
    630633 
    631634/**** message view ****/ 
     
    656659 
    657660#messageheader, 
    658 #partheader { 
     661#partheader, 
     662#composeheaders { 
    659663        position: relative; 
    660664        padding: 3px 0; 
     
    688692        color: #666; 
    689693        padding: 2px 8px; 
    690         font-size: 11px; 
    691694} 
    692695 
     
    797800#message-objects div a.button, 
    798801#messagebody span.part-notice a.button { 
    799         font-size: 11px; 
    800802        margin-left: 10px; 
    801803        border: 1px solid #ccc; 
     
    873875#attachment-list li { 
    874876        display: block; 
     877        position: relative; 
    875878        background: url(images/filetypes.png) 0 0 no-repeat; 
    876879        margin-bottom: 1px; 
     
    908911} 
    909912 
    910  
    911 #attachment-list li a { 
     913#attachment-list li a, 
     914#compose-attachments ul li { 
    912915        display: block; 
    913916        color: #333; 
    914         font-size: 11px; 
    915917        font-weight: bold; 
    916918        padding: 8px 4px 3px 30px; 
    917         text-shadow: 1px 1px 1px #fff; 
     919        text-shadow: 0px 1px 1px #fff; 
    918920        text-decoration: none; 
    919921        white-space: nowrap; 
     
    932934} 
    933935 
    934  
    935936#messagepartframe { 
    936937        border: 0; 
    937938} 
     939 
     940 
     941/*** message composition ***/ 
     942 
     943#composeview-left { 
     944        position: absolute; 
     945        top: 0; 
     946        left: 0; 
     947        width: 250px; 
     948        bottom: 0; 
     949} 
     950 
     951#composeview-right { 
     952        position: absolute; 
     953        top: 0; 
     954        left: 262px; 
     955        right: 0; 
     956        bottom: 0; 
     957} 
     958 
     959#compose-content { 
     960        position: absolute; 
     961        top: 42px; 
     962        left: 0; 
     963        width: 100%; 
     964        bottom: 28px; 
     965        border-bottom-left-radius: 0; 
     966        border-bottom-right-radius: 0; 
     967        overflow: hidden; 
     968} 
     969 
     970#composeheaders { 
     971        border-radius: 4px 4px 0 0; 
     972        -webkit-box-shadow: 0 2px 3px 0 #999; 
     973        -moz-box-shadow: 0 2px 3px 0 #999; 
     974        box-shadow: 0 2px 3px 0 #999; 
     975} 
     976 
     977#composebuttons { 
     978        position: absolute; 
     979        top: 8px; 
     980        right: 8px; 
     981        width: auto; 
     982        white-space: nowrap; 
     983        z-index: 100; 
     984} 
     985 
     986.compose-headers { 
     987        width: 99%; 
     988        margin: 4px 0; 
     989} 
     990 
     991.compose-headers td { 
     992        padding: 4px 4px 4px 8px; 
     993} 
     994 
     995.compose-headers td.title { 
     996        width: 11%; 
     997        white-space: nowrap; 
     998} 
     999 
     1000.compose-headers td.title label { 
     1001        float: left; 
     1002} 
     1003 
     1004.compose-headers td.title a.iconbutton { 
     1005        float: right; 
     1006        position: relative; 
     1007        top: -2px; 
     1008        width: 15px; 
     1009} 
     1010 
     1011.compose-headers td.editfield { 
     1012        width: 90%; 
     1013        padding-left: 4px; 
     1014} 
     1015 
     1016.compose-headers td.editfield a.iconlink { 
     1017        margin-left: 0.5em; 
     1018} 
     1019 
     1020.compose-headers td.formlinks { 
     1021        padding: 0 4px; 
     1022} 
     1023 
     1024.compose-headers td.top { 
     1025        vertical-align: top; 
     1026        padding-top: 10px; 
     1027} 
     1028 
     1029.compose-headers td textarea, 
     1030.compose-headers td input { 
     1031        width: 100%; 
     1032        resize: none; 
     1033} 
     1034 
     1035#compose-cc, #compose-bcc, #compose-replyto, #compose-followupto { 
     1036        display: none; 
     1037} 
     1038 
     1039#composeoptionsbox { 
     1040        padding: 4px 8px 0 8px; 
     1041        background: #d2d2d2; 
     1042        border-bottom: 1px solid #e8e8e8; 
     1043        -webkit-box-shadow: 0 2px 3px 0 #999; 
     1044        -moz-box-shadow: 0 2px 3px 0 #999; 
     1045        box-shadow: 0 2px 3px 0 #999; 
     1046        white-space: nowrap; 
     1047} 
     1048 
     1049#composeoptions { 
     1050        display: none; 
     1051        padding: 2px 0; 
     1052        white-space: normal; 
     1053} 
     1054 
     1055.composeoption { 
     1056        padding-right: 22px; 
     1057        white-space: nowrap; 
     1058} 
     1059 
     1060#composeoptions .composeoption { 
     1061        display: inline-block; 
     1062        padding: 4px 28px 4px 0; 
     1063} 
     1064 
     1065#composeoptions .composeoption:last-child { 
     1066        padding-right: 4px; 
     1067} 
     1068 
     1069#composeoptionstoggle { 
     1070        display: inline-block; 
     1071        position: relative; 
     1072        top: -1px; 
     1073        left: 6px; 
     1074        width: 20px; 
     1075        height: 18px; 
     1076        background: url(images/buttons.png) -3px -418px no-repeat; 
     1077        text-decoration: none; 
     1078} 
     1079 
     1080#composeoptionstoggle.enabled { 
     1081        background-position: -28px -418px; 
     1082} 
     1083 
     1084#composeview-bottom { 
     1085        position: relative; 
     1086        width: 100%; 
     1087        height: 200px; 
     1088} 
     1089 
     1090#composebodycontainer { 
     1091        position: absolute; 
     1092        top: 0; 
     1093        left: 0; 
     1094        right: 260px; 
     1095        bottom: 0; 
     1096} 
     1097 
     1098#composebody { 
     1099        position: absolute; 
     1100        top: 24px; 
     1101        left: 0; 
     1102        bottom: 0; 
     1103        width: 99%; 
     1104        border: 0; 
     1105        padding: 8px 0 8px 8px; 
     1106        box-shadow: none; 
     1107        resize: none; 
     1108        font-family: monospace; 
     1109        font-size: 9pt; 
     1110} 
     1111 
     1112#compose-attachments { 
     1113        position: absolute; 
     1114        right: 0; 
     1115        top: 0; 
     1116        bottom: 0; 
     1117        width: 240px; 
     1118        background: #f0f0f0; 
     1119        padding: 8px; 
     1120        overflow: auto; 
     1121} 
     1122 
     1123#attachment-list li.uploading { 
     1124        background: url(images/ajaxloader.gif) 2px 6px no-repeat; 
     1125} 
     1126 
     1127#attachment-list li a.delete, 
     1128#attachment-list li a.cancelupload { 
     1129        position: absolute; 
     1130        top: 6px; 
     1131        right: 0; 
     1132        width: 24px; 
     1133        height: 18px; 
     1134        padding: 0; 
     1135        text-decoration: none; 
     1136        text-indent: -1000px; 
     1137        background: url(images/buttons.png) -7px -337px no-repeat; 
     1138} 
     1139 
     1140#attachment-list li a.cancelupload { 
     1141        background-position: -7px -377px; 
     1142} 
     1143 
     1144#spellcheck-control { 
     1145        margin: 6px 8px; 
     1146        text-align: right; 
     1147} 
     1148 
     1149 
  • trunk/roundcubemail/skins/larry/styles.css

    r5620 r5624  
    1515body { 
    1616        font-family: "Lucida Grande", Verdana, Arial, Helvetica, sans-serif; 
    17         font-size: 12px; 
     17        font-size: 11px; 
    1818        color: #333; 
    1919        background: url(images/linen.jpg) repeat #d1d5d8; 
     
    6767        display: inline-block; 
    6868        margin: 0 2px; 
    69         padding: 4px 6px; 
     69        padding: 3px 5px; 
    7070        color: #525252; 
    71         text-shadow: 1px 1px 1px #fff; 
     71        text-shadow: 0px 1px 1px #fff; 
    7272        border: 1px solid #c0c0c0; 
    7373        border-radius: 4px; 
     
    8888        color: #ddd; 
    8989        font-size: 110%; 
    90         text-shadow: 1px 1px 1px #333; 
     90        text-shadow: 0px 1px 1px #333; 
    9191        padding: 4px 12px; 
    9292        border-color: #465864; 
     
    9898        background: -ms-linear-gradient(top, rgba(123,123,123,1) 0%,rgba(96,96,96,1) 100%); /* IE10+ */ 
    9999        background: linear-gradient(top, rgba(123,123,123,1) 0%,rgba(96,96,96,1) 100%); /* W3C */ 
     100        box-shadow: 0 1px 1px 0 #ccc, inset 0 1px 0 0 #888; 
     101        -o-box-shadow: 0 1px 1px 0 #ccc, inset 0 1px 0 0 #888; 
     102        -webkit-box-shadow: 0 1px 1px 0 #ccc, inset 0 1px 0 0 #888; 
     103        -moz-box-shadow: 0 1px 1px 0 #ccc, inset 0 1px 0 0 #888; 
    100104} 
    101105 
    102106.formbuttons input.button:hover { 
    103107        color: #f2f2f2; 
    104         box-shadow: 0 0 5px 2px rgba(71,135,177, 0.6); 
    105         -moz-box-shadow: 0 0 5px 2px rgba(71,135,177, 0.6); 
    106         -webkit-box-shadow: 0 0 5px 2px rgba(71,135,177, 0.6); 
    107         -o-box-shadow: 0 0 5px 2px rgba(71,135,177, 0.6); 
     108        box-shadow: 0 0 5px 2px rgba(71,135,177, 0.6), inset 0 1px 0 0 #888; 
     109        -moz-box-shadow: 0 0 5px 2px rgba(71,135,177, 0.6), inset 0 1px 0 0 #888; 
     110        -webkit-box-shadow: 0 0 5px 2px rgba(71,135,177, 0.6), inset 0 1px 0 0 #888; 
     111        -o-box-shadow: 0 0 5px 2px rgba(71,135,177, 0.6), inset 0 1px 0 0 #888; 
    108112} 
    109113 
     
    130134input.button.mainaction:active { 
    131135        color: #fff; 
    132         background: rgba(42,46,49,1); 
    133         background: -moz-linear-gradient(top, rgba(42,46,49,1) 0%, rgba(80,80,80,1) 100%); 
    134         background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(42,46,49,1)), color-stop(100%,rgba(80,80,80,1))); 
    135         background: -o-linear-gradient(top, rgba(42,46,49,1) 0%,rgba(80,80,80,1) 100%); 
    136         background: -ms-linear-gradient(top, rgba(42,46,49,1) 0%,rgba(80,80,80,1) 100%); 
    137         background: linear-gradient(top, rgba(42,46,49,1) 0%,rgba(80,80,80,1) 100%); 
     136        background: #515151; 
     137        background: -moz-linear-gradient(top, #515151 0%, #2c2c2c 100%); 
     138        background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#515151), color-stop(100%,#2c2c2c)); 
     139        background: -o-linear-gradient(top, #515151 0%, #2c2c2c 100%); 
     140        background: -ms-linear-gradient(top, #515151 0%, #2c2c2c 100%); 
     141        background: linear-gradient(top, #515151 0%, #2c2c2c 100%); 
    138142} 
    139143 
     
    155159        padding: 2px 5px; 
    156160        color: #525252; 
    157         text-shadow: 1px 1px 1px #fff; 
     161        text-shadow: 0px 1px 1px #fff; 
    158162        border: 1px solid #c6c6c6; 
    159163        border-radius: 4px; 
     
    171175} 
    172176 
     177label.disabled, 
    173178a.button.disabled { 
    174179        color: #999; 
     
    258263        display: inline-block; 
    259264        padding:0 0.5em; 
    260         font-size: 11px; 
    261         text-shadow: 1px 1px 1px #fff; 
     265        text-shadow: 0px 1px 1px #fff; 
    262266        min-width: 20em; 
    263267} 
     
    278282 
    279283a.iconbutton.searchoptions { 
    280         background-position: -2px -337px; 
     284        background-position: -2px -317px; 
    281285} 
    282286 
    283287a.iconbutton.reset { 
    284         background-position: -25px -337px; 
    285 } 
    286  
     288        background-position: -25px -317px; 
     289} 
     290 
     291a.iconbutton.cancel { 
     292        background-position: -7px -377px; 
     293} 
     294 
     295a.iconlink { 
     296        display: inline-block; 
     297        color: #888; 
     298        text-decoration: none; 
     299        padding: 2px 8px 2px 20px; 
     300        background: url(images/buttons.png) -1000px 0 no-repeat; 
     301} 
     302 
     303a.iconlink:hover { 
     304        text-decoration: underline; 
     305} 
     306 
     307a.iconlink.add { 
     308        background-position: -7px -357px; 
     309} 
     310 
     311a.iconlink.edit { 
     312        background-position: -7px -397px; 
     313} 
    287314 
    288315/*** message bar ***/ 
     
    350377        border-bottom: 1px solid #4f4f4f; 
    351378        padding: 2px 0 2px 10px; 
    352         font-size: 11px; 
    353379        color: #aaa; 
    354380} 
     
    424450        font-size: 110%; 
    425451        font-weight: normal; 
    426         text-shadow: 1px 1px 1px black; 
     452        text-shadow: 0px 1px 1px black; 
    427453        padding: 5px 0 0 34px; 
    428454        height: 19px; 
     
    544570        padding: 10px 8px 8px 8px; 
    545571        margin: 0; 
    546         text-shadow: 1px 1px 1px #fff; 
     572        text-shadow: 0px 1px 1px #fff; 
    547573        border-bottom: 1px solid #bbd3da; 
    548574        white-space: nowrap; 
     
    561587.listing li { 
    562588        display: block; 
    563         font-size: 11px; 
    564589        border-top: 1px solid #fff; 
    565590        border-bottom: 1px solid #bbd3da; 
     
    574599        display: block; 
    575600        color: #376572; 
    576         text-shadow: 1px 1px 1px #fff; 
     601        text-shadow: 0px 1px 1px #fff; 
    577602        text-decoration: none; 
    578603        cursor: default; 
     
    609634} 
    610635 
    611 table.listing { 
     636table.listing, 
     637table.layout { 
     638        border: 0; 
    612639        width: 100%; 
    613640        border-spacing: 0; 
     641} 
     642 
     643table.layout td { 
     644        vertical-align: top; 
    614645} 
    615646 
     
    735766} 
    736767 
     768fieldset.floating { 
     769        float: left; 
     770        margin-right: 10px; 
     771        margin-bottom: 10px; 
     772} 
     773 
    737774table.propform { 
    738775        width: 100%; 
     
    741778} 
    742779 
     780ul.proplist li, 
    743781table.propform td { 
    744782        width: 80%; 
     
    758796        padding: 0; 
    759797        border-bottom: 0; 
     798} 
     799 
     800ul.proplist { 
     801        list-style: none; 
     802        margin: 0; 
     803        padding: 0; 
     804} 
     805 
     806ul.proplist li { 
     807        width: auto; 
    760808} 
    761809 
     
    800848#login-form input.button { 
    801849        color: #444; 
    802         text-shadow: 1px 1px 1px #fff; 
     850        text-shadow: 0px 1px 1px #fff; 
    803851        border-color: #f9f9f9; 
    804852        background: #f9f9f9; 
     
    821869#login-form td.title { 
    822870        color: #cecece; 
    823         text-shadow: 1px 1px 1px black; 
     871        text-shadow: 0px 1px 1px black; 
    824872        text-align: right; 
    825873        padding-right: 1em; 
     
    894942        white-space: nowrap; 
    895943        padding: 28px 2px 2px 2px; 
    896         text-shadow: 1px 1px 1px #eee; 
     944        text-shadow: 0px 1px 1px #eee; 
    897945        box-shadow: none; 
    898946        -moz-box-shadow: none; 
     
    9721020} 
    9731021 
     1022.toolbar a.button.attach { 
     1023        background-position: center -890px; 
     1024} 
     1025 
     1026.toolbar a.button.spellcheck { 
     1027        background-position: center -930px; 
     1028} 
     1029 
     1030 
    9741031/*** popup menus ***/ 
    9751032 
    976 .popupmenu { 
     1033.popupmenu, 
     1034#rcmKSearchpane { 
    9771035        display: none; 
    9781036        position: absolute; 
     
    9901048} 
    9911049 
    992 ul.toolbarmenu { 
     1050ul.toolbarmenu, 
     1051#rcmKSearchpane ul { 
    9931052        margin: 0; 
    9941053        padding: 0; 
     
    9961055} 
    9971056 
    998 ul.toolbarmenu li { 
     1057.googie_list td, 
     1058ul.toolbarmenu li, 
     1059#rcmKSearchpane ul li { 
    9991060        color: #fff; 
    1000         font-size: 11px; 
    10011061        white-space: nowrap; 
    10021062        min-width: 130px; 
     
    10061066} 
    10071067 
     1068.googie_list tr:first-child td, 
    10081069ul.toolbarmenu li:first-child { 
    10091070        border-top: 0; 
    10101071} 
    10111072 
     1073.googie_list tr:last-child td, 
    10121074ul.toolbarmenu li:last-child { 
    10131075        border-bottom: 0; 
    10141076} 
    10151077 
     1078.googie_list td span, 
    10161079ul.toolbarmenu li a { 
    10171080        display: block; 
    10181081        color: #666; 
    1019         text-shadow: 1px 1px 1px #333; 
     1082        text-shadow: 0px 1px 1px #333; 
    10201083        text-decoration: none; 
    10211084        min-height: 14px; 
     
    10231086} 
    10241087 
     1088.googie_list td span, 
    10251089ul.toolbarmenu li a.active { 
    10261090        color: #fff; 
    1027 } 
    1028  
    1029 ul.toolbarmenu li a.active:hover { 
     1091        cursor: default; 
     1092} 
     1093 
     1094.googie_list td.googie_list_onhover, 
     1095ul.toolbarmenu li a.active:hover, 
     1096#rcmKSearchpane ul li.selected { 
    10301097        background-color: #00aad6; 
    10311098        background: -moz-linear-gradient(top, #00aad6 0%, #008fc9 100%); 
     
    10441111        color: #fff; 
    10451112        padding: 4px 8px; 
    1046         text-shadow: 1px 1px 1px #333; 
     1113        text-shadow: 0px 1px 1px #333; 
     1114} 
     1115 
     1116#rcmKSearchpane { 
     1117        border-radius: 0 0 4px 4px; 
     1118        border-top: 0; 
     1119} 
     1120 
     1121#rcmKSearchpane ul li { 
     1122        text-shadow: 0px 1px 1px #333; 
     1123        text-decoration: none; 
     1124        min-height: 14px; 
     1125        padding: 6px 10px 6px 10px; 
     1126        border: 0; 
     1127} 
     1128 
     1129.popupdialog { 
     1130        display: none; 
     1131        padding: 10px; 
     1132} 
     1133 
     1134.popupdialog .formbuttons { 
     1135        margin: 20px 0 4px 0; 
     1136} 
     1137 
     1138.hint { 
     1139        margin: 4px 0; 
     1140        color: #999; 
     1141        text-shadow: 0px 1px 1px #fff; 
    10471142} 
    10481143 
     
    10851180        z-index: 250; 
    10861181        color: #ccc; 
    1087         font-size: 11px; 
    10881182        white-space: nowrap; 
    10891183        opacity: 0.92; 
    1090         text-shadow: 1px 1px 1px #333; 
     1184        text-shadow: 0px 1px 1px #333; 
    10911185} 
    10921186 
  • trunk/roundcubemail/skins/larry/templates/mail.html

    r5619 r5624  
    128128</div> 
    129129 
    130  
    131 <div id="listoptions" class="popupdialog"> 
    132          
     130<div id="listoptions" class="propform popupdialog"> 
     131<roundcube:if condition="!in_array('list_cols', (array)config:dont_override)" /> 
     132        <fieldset class="floating"> 
     133                <legend><roundcube:label name="listcolumns" /></legend> 
     134                <ul class="proplist"> 
     135                        <li><label class="disabled"><input type="checkbox" name="list_col[]" value="threads" checked="checked" disabled="disabled" /> <roundcube:label name="threads" /></label></li> 
     136                        <li><label class="disabled"><input type="checkbox" name="list_col[]" value="subject" checked="checked" disabled="disabled" /> <roundcube:label name="subject" /></label></li> 
     137                        <li><label><input type="checkbox" name="list_col[]" value="from" /> <roundcube:label name="fromto" /></label></li> 
     138                        <li><label><input type="checkbox" name="list_col[]" value="replyto" /> <roundcube:label name="replyto" /></label></li> 
     139                        <li><label><input type="checkbox" name="list_col[]" value="cc" /> <roundcube:label name="cc" /></label></li> 
     140                        <li><label><input type="checkbox" name="list_col[]" value="date" /> <roundcube:label name="date" /></label></li> 
     141                        <li><label><input type="checkbox" name="list_col[]" value="size" /> <roundcube:label name="size" /></label></li> 
     142                        <li><label><input type="checkbox" name="list_col[]" value="status" /> <roundcube:label name="readstatus" /></label></li> 
     143                        <li><label><input type="checkbox" name="list_col[]" value="attachment" /> <roundcube:label name="attachment" /></label></li> 
     144                        <li><label><input type="checkbox" name="list_col[]" value="flag" /> <roundcube:label name="flag" /></label></li> 
     145                        <li><label><input type="checkbox" name="list_col[]" value="priority" /> <roundcube:label name="priority" /></label></li> 
     146                </ul> 
     147        </fieldset> 
     148        <roundcube:endif /> 
     149        <roundcube:if condition="!in_array('message_sort_col', (array)config:dont_override)" /> 
     150        <fieldset class="floating"> 
     151                <legend><roundcube:label name="listsorting" /></legend> 
     152                <ul class="proplist"> 
     153                        <li><label><input type="radio" name="sort_col" value="" /> <roundcube:label name="nonesort" /></label></li> 
     154                        <li><label><input type="radio" name="sort_col" value="arrival" /> <roundcube:label name="arrival" /></label></li> 
     155                        <li><label><input type="radio" name="sort_col" value="date" /> <roundcube:label name="sentdate" /></label></li> 
     156                        <li><label><input type="radio" name="sort_col" value="subject" /> <roundcube:label name="subject" /></label></li> 
     157                        <li><label><input type="radio" name="sort_col" value="from" /> <roundcube:label name="fromto" /></label></li> 
     158                        <li><label><input type="radio" name="sort_col" value="cc" /> <roundcube:label name="cc" /></label></li> 
     159                        <li><label><input type="radio" name="sort_col" value="size" /> <roundcube:label name="size" /></label></li> 
     160                </ul> 
     161        </fieldset> 
     162        <roundcube:endif /> 
     163        <roundcube:if condition="!in_array('message_sort_order', (array)config:dont_override)" /> 
     164        <fieldset class="floating"> 
     165                <legend><roundcube:label name="listorder" /></legend> 
     166                <ul class="proplist"> 
     167                        <li><label><input type="radio" name="sort_ord" value="ASC" /> <roundcube:label name="asc" /></label></li> 
     168                        <li><label><input type="radio" name="sort_ord" value="DESC" /> <roundcube:label name="desc" /></label></li> 
     169                </ul> 
     170        </fieldset> 
     171        <roundcube:endif /> 
     172        <br style="clear:both" /> 
     173        <div class="formbuttons"> 
     174                <roundcube:button command="menu-save" id="listmenusave" type="input" class="button mainaction" label="save" /> 
     175                <roundcube:button command="menu-open" id="listmenucancel" type="input" class="button" label="cancel" /> 
     176        </div> 
    133177</div> 
    134178 
  • trunk/roundcubemail/skins/larry/ui.js

    r5619 r5624  
    11/** 
    22 * Roundcube functions for default skin interface 
     3 * 
     4 * Copyright (c) 2011, The Roundcube Dev Team 
     5 * 
     6 * The contents are subject to the Creative Commons Attribution-ShareAlike 
     7 * License. It is allowed to copy, distribute, transmit and to adapt the work 
     8 * by keeping credits to the original autors in the README file. 
     9 * See http://creativecommons.org/licenses/by-sa/3.0/ for details. 
     10 * 
     11 * $Id$ 
    312 */ 
    413 
     
    2231  var me = this; 
    2332  var mailviewsplit; 
     33  var compose_headers = {}; 
    2434 
    2535  // export public methods 
     
    2737  this.show_popup = show_popup; 
    2838  this.set_searchmod = set_searchmod; 
     39  this.show_uploadform = show_uploadform; 
     40  this.show_header_row = show_header_row; 
     41  this.hide_header_row = hide_header_row; 
    2942 
    3043  /** 
     
    3447  { 
    3548    if (rcmail.env.task == 'mail') { 
    36       rcmail.gui_object('message_dragmenu', 'dragmessagemenu'); 
    37       rcmail.addEventListener('menu-open', function(){ show_popup('listoptions'); }); 
     49      rcmail.addEventListener('menu-open', show_listoptions); 
    3850      rcmail.addEventListener('menu-save', save_listoptions); 
    39 //      rcmail.addEventListener('aftersend-attachment', 'uploadmenu', rcmail_ui); 
    40 //      rcmail.addEventListener('aftertoggle-editor', 'resize_compose_body_ev', rcmail_ui); 
     51      rcmail.addEventListener('aftersend-attachment', show_uploadform); 
     52      rcmail.addEventListener('aftertoggle-editor', function(){ window.setTimeout(function(){ layout_composeview() }, 100); }); 
     53 
     54      var dragmenu = $('#dragmessagemenu'); 
     55      if (dragmenu.length) { 
     56        rcmail.gui_object('message_dragmenu', 'dragmessagemenu'); 
     57        popups.dragmessagemenu = dragmenu; 
     58      } 
    4159 
    4260      var previewframe = $('#mailpreviewframe').is(':visible'); 
     
    4765      if (rcmail.env.action == 'show' || rcmail.env.action == 'preview') { 
    4866        layout_messageview(); 
     67      } 
     68      else if (rcmail.env.action == 'compose') { 
     69        layout_composeview(); 
     70 
     71        $('#composeoptionstoggle').click(function(){ 
     72          $(this).toggleClass('enabled'); 
     73          $('#composeoptions').toggle(); 
     74          layout_composeview(); 
     75          return false; 
     76        }); 
     77 
     78        new rcube_splitter({ id:'composesplitterv', p1:'#composeview-left', p2:'#composeview-right', 
     79          orientation:'v', relative:true, start:248, min:150, size:12 }).init(); 
    4980      } 
    5081      else if (rcmail.env.action == 'list' || !rcmail.env.action) { 
     
    114145      layout_messageview(); 
    115146    } 
     147    if (rcmail.env.task == 'mail' && rcmail.env.action == 'compose') { 
     148      layout_composeview(); 
     149    } 
    116150  } 
    117151 
     
    140174    if (splitter) 
    141175      $('#quicksearchbar input').css('width', (splitter.pos - 70) + 'px'); 
     176  } 
     177 
     178 
     179  function layout_composeview() 
     180  { 
     181    var body = $('#composebody'), 
     182      bottom = $('#composeview-bottom'), 
     183      w, h; 
     184 
     185    bottom.css('height', (bottom.parent().height() - bottom.position().top) + 'px'); 
     186 
     187    w = body.parent().width() - 8; 
     188    h = body.parent().height() - 36; 
     189    body.width(w).height(h); 
     190 
     191    if (window.tinyMCE && tinyMCE.get('composebody')) { 
     192      $('#composebody_tbl').width((w+6)+'px').height(''); 
     193      $('#composebody_ifr').width((w+6)+'px').height((h-54)+'px'); 
     194    } 
     195    else { 
     196      $('#googie_edit_layer').height(h+'px'); 
     197    } 
    142198  } 
    143199 
     
    321377   * 
    322378   */ 
     379  function show_listoptions() 
     380  { 
     381    var $dialog = $('#listoptions'); 
     382 
     383    // close the dialog 
     384    if ($dialog.is(':visible')) { 
     385      $dialog.dialog('close'); 
     386      return; 
     387    } 
     388 
     389    // set form values 
     390    $('input[name="sort_col"][value="'+rcmail.env.sort_col+'"]').prop('checked', true); 
     391    $('input[name="sort_ord"][value="DESC"]').prop('checked', rcmail.env.sort_order == 'DESC'); 
     392    $('input[name="sort_ord"][value="ASC"]').prop('checked', rcmail.env.sort_order != 'DESC'); 
     393    $('input[name="view"][value="thread"]').prop('checked', rcmail.env.threading ? true : false); 
     394    $('input[name="view"][value="list"]').prop('checked', rcmail.env.threading ? false : true); 
     395 
     396    // list columns 
     397    var found, cols = $('input[name="list_col[]"]'); 
     398    for (var i=0; i < cols.length; i++) { 
     399      if (cols[i].value != 'from') { 
     400        found = $.inArray(cols[i].value, rcmail.env.coltypes) != -1; 
     401      } 
     402      else { 
     403        found = ($.inArray('from', rcmail.env.coltypes) != -1 
     404          || $.inArray('to', rcmail.env.coltypes) != -1); 
     405      } 
     406      $(cols[i]).prop('checked', found); 
     407    } 
     408 
     409    $dialog.dialog({ 
     410      modal: true, 
     411      resizable: false, 
     412      closeOnEscape: true, 
     413      title: null, 
     414      close: function() { 
     415        $dialog.dialog('destroy').hide(); 
     416      }, 
     417      width: 650 
     418    }).show(); 
     419  } 
     420 
     421 
     422  /** 
     423   * 
     424   */ 
    323425  function save_listoptions() 
    324426  { 
    325     show_popupmenu('listoptions', false); 
     427    $('#listoptions').dialog('close'); 
    326428 
    327429    var sort = $('input[name="sort_col"]:checked').val(), 
     
    381483      } 
    382484    }); 
     485  } 
     486 
     487 
     488  function show_uploadform() 
     489  { 
     490    var $dialog = $('#upload-dialog'); 
     491 
     492    // close the dialog 
     493    if ($dialog.is(':visible')) { 
     494      $dialog.dialog('close'); 
     495      return; 
     496    } 
     497 
     498    $dialog.dialog({ 
     499      modal: true, 
     500      resizable: false, 
     501      closeOnEscape: true, 
     502      title: $dialog.attr('title'), 
     503      close: function() { 
     504        try { $('#upload-dialog form').get(0).reset(); } 
     505        catch(e){ }  // ignore errors 
     506 
     507        $dialog.dialog('destroy').hide(); 
     508      }, 
     509      width: 480 
     510    }).show(); 
     511 
     512    if (!document.all) 
     513      $('input[type=file]', $dialog).click(); 
     514  } 
     515 
     516  /** 
     517   * 
     518   */ 
     519  function show_header_row(which) 
     520  { 
     521    if (compose_headers[which]) 
     522      $('#_' + which).val(compose_headers[which]); 
     523    $('#compose-' + which).show(); 
     524    $('#' + which + '-link').hide(); 
     525    this.resize_compose_body(); 
     526    return false; 
     527  } 
     528 
     529  /** 
     530   * 
     531   */ 
     532  function hide_header_row(which) 
     533  { 
     534    // copy and clear field value 
     535    var field = $('#_' + which); 
     536    compose_headers[which] = field.val(); 
     537    field.val(''); 
     538 
     539    $('#compose-' + which).hide(); 
     540    $('#' + which + '-link').show(); 
     541    this.resize_compose_body(); 
    383542  } 
    384543} 
Note: See TracChangeset for help on using the changeset viewer.