├── .gitignore ├── LICENCE ├── README.md ├── addressbook.css ├── addressbook.min.css ├── images ├── 1397844060_mail-01.png ├── 1397844063_gear-01.png ├── 1397844066_list-01.png ├── 1397844068_agenda-2-01.png ├── 1397844068_grid-2-01.png ├── 1397844071_user-01.png ├── 1397844080_message-01.png ├── 1398171374_quit.png ├── 1398177268_agenda.png ├── 1408736270_519892-037_ArrowUp.png ├── addcontact.png ├── ajax-loader.gif ├── ajaxloader.gif ├── ajaxloader_dark.gif ├── buttons.gif ├── buttons.png ├── contactgroup.png ├── contactpic.png ├── contactpic_32px.png ├── contactpic_48px.png ├── favicon.ico ├── filedrop.png ├── filetypes.png ├── googiespell │ ├── change_lang.gif │ ├── indicator.gif │ ├── ok.gif │ └── spellc.gif ├── linen.jpg ├── linen_header.jpg ├── linen_login.jpg ├── listicons.png ├── login_shadow.png ├── message-list.png ├── messages.png ├── messages_dark.png ├── overflowshadow.png ├── quota.png ├── roundcube_logo.png ├── selector.png ├── splitter.png └── watermark.jpg ├── includes ├── footer.html ├── header.html ├── links.html ├── mailtoolbar.html ├── rightpanel.html └── settingstabs.html ├── login.css ├── login.min.css ├── mail.css ├── mail.min.css ├── meta.json ├── settings.css ├── settings.min.css ├── styles.css ├── styles.min.css ├── templates ├── addressbook.html ├── compose.html ├── contact.html ├── contactedit.html ├── error.html ├── folderedit.html ├── folders.html ├── identities.html ├── identityedit.html ├── login.html ├── mail.html ├── message.html ├── messageerror.html ├── messagepart.html ├── plugin.html ├── settings.html └── settingsedit.html ├── thumbnail.png ├── ui.js ├── ui.min.js └── watermark.html /.gitignore: -------------------------------------------------------------------------------- 1 | /.settings/ 2 | /.buildpath 3 | /.project 4 | -------------------------------------------------------------------------------- /LICENCE: -------------------------------------------------------------------------------- 1 | GNU GENERAL PUBLIC LICENSE 2 | Version 3, 29 June 2007 3 | 4 | Copyright (C) 2007 Free Software Foundation, Inc. 5 | Everyone is permitted to copy and distribute verbatim copies 6 | of this license document, but changing it is not allowed. 7 | 8 | Preamble 9 | 10 | The GNU General Public License is a free, copyleft license for 11 | software and other kinds of works. 12 | 13 | The licenses for most software and other practical works are designed 14 | to take away your freedom to share and change the works. By contrast, 15 | the GNU General Public License is intended to guarantee your freedom to 16 | share and change all versions of a program--to make sure it remains free 17 | software for all its users. We, the Free Software Foundation, use the 18 | GNU General Public License for most of our software; it applies also to 19 | any other work released this way by its authors. You can apply it to 20 | your programs, too. 21 | 22 | When we speak of free software, we are referring to freedom, not 23 | price. Our General Public Licenses are designed to make sure that you 24 | have the freedom to distribute copies of free software (and charge for 25 | them if you wish), that you receive source code or can get it if you 26 | want it, that you can change the software or use pieces of it in new 27 | free programs, and that you know you can do these things. 28 | 29 | To protect your rights, we need to prevent others from denying you 30 | these rights or asking you to surrender the rights. Therefore, you have 31 | certain responsibilities if you distribute copies of the software, or if 32 | you modify it: responsibilities to respect the freedom of others. 33 | 34 | For example, if you distribute copies of such a program, whether 35 | gratis or for a fee, you must pass on to the recipients the same 36 | freedoms that you received. You must make sure that they, too, receive 37 | or can get the source code. And you must show them these terms so they 38 | know their rights. 39 | 40 | Developers that use the GNU GPL protect your rights with two steps: 41 | (1) assert copyright on the software, and (2) offer you this License 42 | giving you legal permission to copy, distribute and/or modify it. 43 | 44 | For the developers' and authors' protection, the GPL clearly explains 45 | that there is no warranty for this free software. For both users' and 46 | authors' sake, the GPL requires that modified versions be marked as 47 | changed, so that their problems will not be attributed erroneously to 48 | authors of previous versions. 49 | 50 | Some devices are designed to deny users access to install or run 51 | modified versions of the software inside them, although the manufacturer 52 | can do so. This is fundamentally incompatible with the aim of 53 | protecting users' freedom to change the software. The systematic 54 | pattern of such abuse occurs in the area of products for individuals to 55 | use, which is precisely where it is most unacceptable. Therefore, we 56 | have designed this version of the GPL to prohibit the practice for those 57 | products. If such problems arise substantially in other domains, we 58 | stand ready to extend this provision to those domains in future versions 59 | of the GPL, as needed to protect the freedom of users. 60 | 61 | Finally, every program is threatened constantly by software patents. 62 | States should not allow patents to restrict development and use of 63 | software on general-purpose computers, but in those that do, we wish to 64 | avoid the special danger that patents applied to a free program could 65 | make it effectively proprietary. To prevent this, the GPL assures that 66 | patents cannot be used to render the program non-free. 67 | 68 | The precise terms and conditions for copying, distribution and 69 | modification follow. 70 | 71 | TERMS AND CONDITIONS 72 | 73 | 0. Definitions. 74 | 75 | "This License" refers to version 3 of the GNU General Public License. 76 | 77 | "Copyright" also means copyright-like laws that apply to other kinds of 78 | works, such as semiconductor masks. 79 | 80 | "The Program" refers to any copyrightable work licensed under this 81 | License. Each licensee is addressed as "you". "Licensees" and 82 | "recipients" may be individuals or organizations. 83 | 84 | To "modify" a work means to copy from or adapt all or part of the work 85 | in a fashion requiring copyright permission, other than the making of an 86 | exact copy. The resulting work is called a "modified version" of the 87 | earlier work or a work "based on" the earlier work. 88 | 89 | A "covered work" means either the unmodified Program or a work based 90 | on the Program. 91 | 92 | To "propagate" a work means to do anything with it that, without 93 | permission, would make you directly or secondarily liable for 94 | infringement under applicable copyright law, except executing it on a 95 | computer or modifying a private copy. Propagation includes copying, 96 | distribution (with or without modification), making available to the 97 | public, and in some countries other activities as well. 98 | 99 | To "convey" a work means any kind of propagation that enables other 100 | parties to make or receive copies. Mere interaction with a user through 101 | a computer network, with no transfer of a copy, is not conveying. 102 | 103 | An interactive user interface displays "Appropriate Legal Notices" 104 | to the extent that it includes a convenient and prominently visible 105 | feature that (1) displays an appropriate copyright notice, and (2) 106 | tells the user that there is no warranty for the work (except to the 107 | extent that warranties are provided), that licensees may convey the 108 | work under this License, and how to view a copy of this License. If 109 | the interface presents a list of user commands or options, such as a 110 | menu, a prominent item in the list meets this criterion. 111 | 112 | 1. Source Code. 113 | 114 | The "source code" for a work means the preferred form of the work 115 | for making modifications to it. "Object code" means any non-source 116 | form of a work. 117 | 118 | A "Standard Interface" means an interface that either is an official 119 | standard defined by a recognized standards body, or, in the case of 120 | interfaces specified for a particular programming language, one that 121 | is widely used among developers working in that language. 122 | 123 | The "System Libraries" of an executable work include anything, other 124 | than the work as a whole, that (a) is included in the normal form of 125 | packaging a Major Component, but which is not part of that Major 126 | Component, and (b) serves only to enable use of the work with that 127 | Major Component, or to implement a Standard Interface for which an 128 | implementation is available to the public in source code form. A 129 | "Major Component", in this context, means a major essential component 130 | (kernel, window system, and so on) of the specific operating system 131 | (if any) on which the executable work runs, or a compiler used to 132 | produce the work, or an object code interpreter used to run it. 133 | 134 | The "Corresponding Source" for a work in object code form means all 135 | the source code needed to generate, install, and (for an executable 136 | work) run the object code and to modify the work, including scripts to 137 | control those activities. However, it does not include the work's 138 | System Libraries, or general-purpose tools or generally available free 139 | programs which are used unmodified in performing those activities but 140 | which are not part of the work. For example, Corresponding Source 141 | includes interface definition files associated with source files for 142 | the work, and the source code for shared libraries and dynamically 143 | linked subprograms that the work is specifically designed to require, 144 | such as by intimate data communication or control flow between those 145 | subprograms and other parts of the work. 146 | 147 | The Corresponding Source need not include anything that users 148 | can regenerate automatically from other parts of the Corresponding 149 | Source. 150 | 151 | The Corresponding Source for a work in source code form is that 152 | same work. 153 | 154 | 2. Basic Permissions. 155 | 156 | All rights granted under this License are granted for the term of 157 | copyright on the Program, and are irrevocable provided the stated 158 | conditions are met. This License explicitly affirms your unlimited 159 | permission to run the unmodified Program. The output from running a 160 | covered work is covered by this License only if the output, given its 161 | content, constitutes a covered work. This License acknowledges your 162 | rights of fair use or other equivalent, as provided by copyright law. 163 | 164 | You may make, run and propagate covered works that you do not 165 | convey, without conditions so long as your license otherwise remains 166 | in force. You may convey covered works to others for the sole purpose 167 | of having them make modifications exclusively for you, or provide you 168 | with facilities for running those works, provided that you comply with 169 | the terms of this License in conveying all material for which you do 170 | not control copyright. Those thus making or running the covered works 171 | for you must do so exclusively on your behalf, under your direction 172 | and control, on terms that prohibit them from making any copies of 173 | your copyrighted material outside their relationship with you. 174 | 175 | Conveying under any other circumstances is permitted solely under 176 | the conditions stated below. Sublicensing is not allowed; section 10 177 | makes it unnecessary. 178 | 179 | 3. Protecting Users' Legal Rights From Anti-Circumvention Law. 180 | 181 | No covered work shall be deemed part of an effective technological 182 | measure under any applicable law fulfilling obligations under article 183 | 11 of the WIPO copyright treaty adopted on 20 December 1996, or 184 | similar laws prohibiting or restricting circumvention of such 185 | measures. 186 | 187 | When you convey a covered work, you waive any legal power to forbid 188 | circumvention of technological measures to the extent such circumvention 189 | is effected by exercising rights under this License with respect to 190 | the covered work, and you disclaim any intention to limit operation or 191 | modification of the work as a means of enforcing, against the work's 192 | users, your or third parties' legal rights to forbid circumvention of 193 | technological measures. 194 | 195 | 4. Conveying Verbatim Copies. 196 | 197 | You may convey verbatim copies of the Program's source code as you 198 | receive it, in any medium, provided that you conspicuously and 199 | appropriately publish on each copy an appropriate copyright notice; 200 | keep intact all notices stating that this License and any 201 | non-permissive terms added in accord with section 7 apply to the code; 202 | keep intact all notices of the absence of any warranty; and give all 203 | recipients a copy of this License along with the Program. 204 | 205 | You may charge any price or no price for each copy that you convey, 206 | and you may offer support or warranty protection for a fee. 207 | 208 | 5. Conveying Modified Source Versions. 209 | 210 | You may convey a work based on the Program, or the modifications to 211 | produce it from the Program, in the form of source code under the 212 | terms of section 4, provided that you also meet all of these conditions: 213 | 214 | a) The work must carry prominent notices stating that you modified 215 | it, and giving a relevant date. 216 | 217 | b) The work must carry prominent notices stating that it is 218 | released under this License and any conditions added under section 219 | 7. This requirement modifies the requirement in section 4 to 220 | "keep intact all notices". 221 | 222 | c) You must license the entire work, as a whole, under this 223 | License to anyone who comes into possession of a copy. This 224 | License will therefore apply, along with any applicable section 7 225 | additional terms, to the whole of the work, and all its parts, 226 | regardless of how they are packaged. This License gives no 227 | permission to license the work in any other way, but it does not 228 | invalidate such permission if you have separately received it. 229 | 230 | d) If the work has interactive user interfaces, each must display 231 | Appropriate Legal Notices; however, if the Program has interactive 232 | interfaces that do not display Appropriate Legal Notices, your 233 | work need not make them do so. 234 | 235 | A compilation of a covered work with other separate and independent 236 | works, which are not by their nature extensions of the covered work, 237 | and which are not combined with it such as to form a larger program, 238 | in or on a volume of a storage or distribution medium, is called an 239 | "aggregate" if the compilation and its resulting copyright are not 240 | used to limit the access or legal rights of the compilation's users 241 | beyond what the individual works permit. Inclusion of a covered work 242 | in an aggregate does not cause this License to apply to the other 243 | parts of the aggregate. 244 | 245 | 6. Conveying Non-Source Forms. 246 | 247 | You may convey a covered work in object code form under the terms 248 | of sections 4 and 5, provided that you also convey the 249 | machine-readable Corresponding Source under the terms of this License, 250 | in one of these ways: 251 | 252 | a) Convey the object code in, or embodied in, a physical product 253 | (including a physical distribution medium), accompanied by the 254 | Corresponding Source fixed on a durable physical medium 255 | customarily used for software interchange. 256 | 257 | b) Convey the object code in, or embodied in, a physical product 258 | (including a physical distribution medium), accompanied by a 259 | written offer, valid for at least three years and valid for as 260 | long as you offer spare parts or customer support for that product 261 | model, to give anyone who possesses the object code either (1) a 262 | copy of the Corresponding Source for all the software in the 263 | product that is covered by this License, on a durable physical 264 | medium customarily used for software interchange, for a price no 265 | more than your reasonable cost of physically performing this 266 | conveying of source, or (2) access to copy the 267 | Corresponding Source from a network server at no charge. 268 | 269 | c) Convey individual copies of the object code with a copy of the 270 | written offer to provide the Corresponding Source. This 271 | alternative is allowed only occasionally and noncommercially, and 272 | only if you received the object code with such an offer, in accord 273 | with subsection 6b. 274 | 275 | d) Convey the object code by offering access from a designated 276 | place (gratis or for a charge), and offer equivalent access to the 277 | Corresponding Source in the same way through the same place at no 278 | further charge. You need not require recipients to copy the 279 | Corresponding Source along with the object code. If the place to 280 | copy the object code is a network server, the Corresponding Source 281 | may be on a different server (operated by you or a third party) 282 | that supports equivalent copying facilities, provided you maintain 283 | clear directions next to the object code saying where to find the 284 | Corresponding Source. Regardless of what server hosts the 285 | Corresponding Source, you remain obligated to ensure that it is 286 | available for as long as needed to satisfy these requirements. 287 | 288 | e) Convey the object code using peer-to-peer transmission, provided 289 | you inform other peers where the object code and Corresponding 290 | Source of the work are being offered to the general public at no 291 | charge under subsection 6d. 292 | 293 | A separable portion of the object code, whose source code is excluded 294 | from the Corresponding Source as a System Library, need not be 295 | included in conveying the object code work. 296 | 297 | A "User Product" is either (1) a "consumer product", which means any 298 | tangible personal property which is normally used for personal, family, 299 | or household purposes, or (2) anything designed or sold for incorporation 300 | into a dwelling. In determining whether a product is a consumer product, 301 | doubtful cases shall be resolved in favor of coverage. For a particular 302 | product received by a particular user, "normally used" refers to a 303 | typical or common use of that class of product, regardless of the status 304 | of the particular user or of the way in which the particular user 305 | actually uses, or expects or is expected to use, the product. A product 306 | is a consumer product regardless of whether the product has substantial 307 | commercial, industrial or non-consumer uses, unless such uses represent 308 | the only significant mode of use of the product. 309 | 310 | "Installation Information" for a User Product means any methods, 311 | procedures, authorization keys, or other information required to install 312 | and execute modified versions of a covered work in that User Product from 313 | a modified version of its Corresponding Source. The information must 314 | suffice to ensure that the continued functioning of the modified object 315 | code is in no case prevented or interfered with solely because 316 | modification has been made. 317 | 318 | If you convey an object code work under this section in, or with, or 319 | specifically for use in, a User Product, and the conveying occurs as 320 | part of a transaction in which the right of possession and use of the 321 | User Product is transferred to the recipient in perpetuity or for a 322 | fixed term (regardless of how the transaction is characterized), the 323 | Corresponding Source conveyed under this section must be accompanied 324 | by the Installation Information. But this requirement does not apply 325 | if neither you nor any third party retains the ability to install 326 | modified object code on the User Product (for example, the work has 327 | been installed in ROM). 328 | 329 | The requirement to provide Installation Information does not include a 330 | requirement to continue to provide support service, warranty, or updates 331 | for a work that has been modified or installed by the recipient, or for 332 | the User Product in which it has been modified or installed. Access to a 333 | network may be denied when the modification itself materially and 334 | adversely affects the operation of the network or violates the rules and 335 | protocols for communication across the network. 336 | 337 | Corresponding Source conveyed, and Installation Information provided, 338 | in accord with this section must be in a format that is publicly 339 | documented (and with an implementation available to the public in 340 | source code form), and must require no special password or key for 341 | unpacking, reading or copying. 342 | 343 | 7. Additional Terms. 344 | 345 | "Additional permissions" are terms that supplement the terms of this 346 | License by making exceptions from one or more of its conditions. 347 | Additional permissions that are applicable to the entire Program shall 348 | be treated as though they were included in this License, to the extent 349 | that they are valid under applicable law. If additional permissions 350 | apply only to part of the Program, that part may be used separately 351 | under those permissions, but the entire Program remains governed by 352 | this License without regard to the additional permissions. 353 | 354 | When you convey a copy of a covered work, you may at your option 355 | remove any additional permissions from that copy, or from any part of 356 | it. (Additional permissions may be written to require their own 357 | removal in certain cases when you modify the work.) You may place 358 | additional permissions on material, added by you to a covered work, 359 | for which you have or can give appropriate copyright permission. 360 | 361 | Notwithstanding any other provision of this License, for material you 362 | add to a covered work, you may (if authorized by the copyright holders of 363 | that material) supplement the terms of this License with terms: 364 | 365 | a) Disclaiming warranty or limiting liability differently from the 366 | terms of sections 15 and 16 of this License; or 367 | 368 | b) Requiring preservation of specified reasonable legal notices or 369 | author attributions in that material or in the Appropriate Legal 370 | Notices displayed by works containing it; or 371 | 372 | c) Prohibiting misrepresentation of the origin of that material, or 373 | requiring that modified versions of such material be marked in 374 | reasonable ways as different from the original version; or 375 | 376 | d) Limiting the use for publicity purposes of names of licensors or 377 | authors of the material; or 378 | 379 | e) Declining to grant rights under trademark law for use of some 380 | trade names, trademarks, or service marks; or 381 | 382 | f) Requiring indemnification of licensors and authors of that 383 | material by anyone who conveys the material (or modified versions of 384 | it) with contractual assumptions of liability to the recipient, for 385 | any liability that these contractual assumptions directly impose on 386 | those licensors and authors. 387 | 388 | All other non-permissive additional terms are considered "further 389 | restrictions" within the meaning of section 10. If the Program as you 390 | received it, or any part of it, contains a notice stating that it is 391 | governed by this License along with a term that is a further 392 | restriction, you may remove that term. If a license document contains 393 | a further restriction but permits relicensing or conveying under this 394 | License, you may add to a covered work material governed by the terms 395 | of that license document, provided that the further restriction does 396 | not survive such relicensing or conveying. 397 | 398 | If you add terms to a covered work in accord with this section, you 399 | must place, in the relevant source files, a statement of the 400 | additional terms that apply to those files, or a notice indicating 401 | where to find the applicable terms. 402 | 403 | Additional terms, permissive or non-permissive, may be stated in the 404 | form of a separately written license, or stated as exceptions; 405 | the above requirements apply either way. 406 | 407 | 8. Termination. 408 | 409 | You may not propagate or modify a covered work except as expressly 410 | provided under this License. Any attempt otherwise to propagate or 411 | modify it is void, and will automatically terminate your rights under 412 | this License (including any patent licenses granted under the third 413 | paragraph of section 11). 414 | 415 | However, if you cease all violation of this License, then your 416 | license from a particular copyright holder is reinstated (a) 417 | provisionally, unless and until the copyright holder explicitly and 418 | finally terminates your license, and (b) permanently, if the copyright 419 | holder fails to notify you of the violation by some reasonable means 420 | prior to 60 days after the cessation. 421 | 422 | Moreover, your license from a particular copyright holder is 423 | reinstated permanently if the copyright holder notifies you of the 424 | violation by some reasonable means, this is the first time you have 425 | received notice of violation of this License (for any work) from that 426 | copyright holder, and you cure the violation prior to 30 days after 427 | your receipt of the notice. 428 | 429 | Termination of your rights under this section does not terminate the 430 | licenses of parties who have received copies or rights from you under 431 | this License. If your rights have been terminated and not permanently 432 | reinstated, you do not qualify to receive new licenses for the same 433 | material under section 10. 434 | 435 | 9. Acceptance Not Required for Having Copies. 436 | 437 | You are not required to accept this License in order to receive or 438 | run a copy of the Program. Ancillary propagation of a covered work 439 | occurring solely as a consequence of using peer-to-peer transmission 440 | to receive a copy likewise does not require acceptance. However, 441 | nothing other than this License grants you permission to propagate or 442 | modify any covered work. These actions infringe copyright if you do 443 | not accept this License. Therefore, by modifying or propagating a 444 | covered work, you indicate your acceptance of this License to do so. 445 | 446 | 10. Automatic Licensing of Downstream Recipients. 447 | 448 | Each time you convey a covered work, the recipient automatically 449 | receives a license from the original licensors, to run, modify and 450 | propagate that work, subject to this License. You are not responsible 451 | for enforcing compliance by third parties with this License. 452 | 453 | An "entity transaction" is a transaction transferring control of an 454 | organization, or substantially all assets of one, or subdividing an 455 | organization, or merging organizations. If propagation of a covered 456 | work results from an entity transaction, each party to that 457 | transaction who receives a copy of the work also receives whatever 458 | licenses to the work the party's predecessor in interest had or could 459 | give under the previous paragraph, plus a right to possession of the 460 | Corresponding Source of the work from the predecessor in interest, if 461 | the predecessor has it or can get it with reasonable efforts. 462 | 463 | You may not impose any further restrictions on the exercise of the 464 | rights granted or affirmed under this License. For example, you may 465 | not impose a license fee, royalty, or other charge for exercise of 466 | rights granted under this License, and you may not initiate litigation 467 | (including a cross-claim or counterclaim in a lawsuit) alleging that 468 | any patent claim is infringed by making, using, selling, offering for 469 | sale, or importing the Program or any portion of it. 470 | 471 | 11. Patents. 472 | 473 | A "contributor" is a copyright holder who authorizes use under this 474 | License of the Program or a work on which the Program is based. The 475 | work thus licensed is called the contributor's "contributor version". 476 | 477 | A contributor's "essential patent claims" are all patent claims 478 | owned or controlled by the contributor, whether already acquired or 479 | hereafter acquired, that would be infringed by some manner, permitted 480 | by this License, of making, using, or selling its contributor version, 481 | but do not include claims that would be infringed only as a 482 | consequence of further modification of the contributor version. For 483 | purposes of this definition, "control" includes the right to grant 484 | patent sublicenses in a manner consistent with the requirements of 485 | this License. 486 | 487 | Each contributor grants you a non-exclusive, worldwide, royalty-free 488 | patent license under the contributor's essential patent claims, to 489 | make, use, sell, offer for sale, import and otherwise run, modify and 490 | propagate the contents of its contributor version. 491 | 492 | In the following three paragraphs, a "patent license" is any express 493 | agreement or commitment, however denominated, not to enforce a patent 494 | (such as an express permission to practice a patent or covenant not to 495 | sue for patent infringement). To "grant" such a patent license to a 496 | party means to make such an agreement or commitment not to enforce a 497 | patent against the party. 498 | 499 | If you convey a covered work, knowingly relying on a patent license, 500 | and the Corresponding Source of the work is not available for anyone 501 | to copy, free of charge and under the terms of this License, through a 502 | publicly available network server or other readily accessible means, 503 | then you must either (1) cause the Corresponding Source to be so 504 | available, or (2) arrange to deprive yourself of the benefit of the 505 | patent license for this particular work, or (3) arrange, in a manner 506 | consistent with the requirements of this License, to extend the patent 507 | license to downstream recipients. "Knowingly relying" means you have 508 | actual knowledge that, but for the patent license, your conveying the 509 | covered work in a country, or your recipient's use of the covered work 510 | in a country, would infringe one or more identifiable patents in that 511 | country that you have reason to believe are valid. 512 | 513 | If, pursuant to or in connection with a single transaction or 514 | arrangement, you convey, or propagate by procuring conveyance of, a 515 | covered work, and grant a patent license to some of the parties 516 | receiving the covered work authorizing them to use, propagate, modify 517 | or convey a specific copy of the covered work, then the patent license 518 | you grant is automatically extended to all recipients of the covered 519 | work and works based on it. 520 | 521 | A patent license is "discriminatory" if it does not include within 522 | the scope of its coverage, prohibits the exercise of, or is 523 | conditioned on the non-exercise of one or more of the rights that are 524 | specifically granted under this License. You may not convey a covered 525 | work if you are a party to an arrangement with a third party that is 526 | in the business of distributing software, under which you make payment 527 | to the third party based on the extent of your activity of conveying 528 | the work, and under which the third party grants, to any of the 529 | parties who would receive the covered work from you, a discriminatory 530 | patent license (a) in connection with copies of the covered work 531 | conveyed by you (or copies made from those copies), or (b) primarily 532 | for and in connection with specific products or compilations that 533 | contain the covered work, unless you entered into that arrangement, 534 | or that patent license was granted, prior to 28 March 2007. 535 | 536 | Nothing in this License shall be construed as excluding or limiting 537 | any implied license or other defenses to infringement that may 538 | otherwise be available to you under applicable patent law. 539 | 540 | 12. No Surrender of Others' Freedom. 541 | 542 | If conditions are imposed on you (whether by court order, agreement or 543 | otherwise) that contradict the conditions of this License, they do not 544 | excuse you from the conditions of this License. If you cannot convey a 545 | covered work so as to satisfy simultaneously your obligations under this 546 | License and any other pertinent obligations, then as a consequence you may 547 | not convey it at all. For example, if you agree to terms that obligate you 548 | to collect a royalty for further conveying from those to whom you convey 549 | the Program, the only way you could satisfy both those terms and this 550 | License would be to refrain entirely from conveying the Program. 551 | 552 | 13. Use with the GNU Affero General Public License. 553 | 554 | Notwithstanding any other provision of this License, you have 555 | permission to link or combine any covered work with a work licensed 556 | under version 3 of the GNU Affero General Public License into a single 557 | combined work, and to convey the resulting work. The terms of this 558 | License will continue to apply to the part which is the covered work, 559 | but the special requirements of the GNU Affero General Public License, 560 | section 13, concerning interaction through a network will apply to the 561 | combination as such. 562 | 563 | 14. Revised Versions of this License. 564 | 565 | The Free Software Foundation may publish revised and/or new versions of 566 | the GNU General Public License from time to time. Such new versions will 567 | be similar in spirit to the present version, but may differ in detail to 568 | address new problems or concerns. 569 | 570 | Each version is given a distinguishing version number. If the 571 | Program specifies that a certain numbered version of the GNU General 572 | Public License "or any later version" applies to it, you have the 573 | option of following the terms and conditions either of that numbered 574 | version or of any later version published by the Free Software 575 | Foundation. If the Program does not specify a version number of the 576 | GNU General Public License, you may choose any version ever published 577 | by the Free Software Foundation. 578 | 579 | If the Program specifies that a proxy can decide which future 580 | versions of the GNU General Public License can be used, that proxy's 581 | public statement of acceptance of a version permanently authorizes you 582 | to choose that version for the Program. 583 | 584 | Later license versions may give you additional or different 585 | permissions. However, no additional obligations are imposed on any 586 | author or copyright holder as a result of your choosing to follow a 587 | later version. 588 | 589 | 15. Disclaimer of Warranty. 590 | 591 | THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY 592 | APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT 593 | HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY 594 | OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, 595 | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 596 | PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM 597 | IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF 598 | ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 599 | 600 | 16. Limitation of Liability. 601 | 602 | IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING 603 | WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS 604 | THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY 605 | GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE 606 | USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF 607 | DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD 608 | PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), 609 | EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF 610 | SUCH DAMAGES. 611 | 612 | 17. Interpretation of Sections 15 and 16. 613 | 614 | If the disclaimer of warranty and limitation of liability provided 615 | above cannot be given local legal effect according to their terms, 616 | reviewing courts shall apply local law that most closely approximates 617 | an absolute waiver of all civil liability in connection with the 618 | Program, unless a warranty or assumption of liability accompanies a 619 | copy of the Program in return for a fee. 620 | 621 | END OF TERMS AND CONDITIONS 622 | 623 | How to Apply These Terms to Your New Programs 624 | 625 | If you develop a new program, and you want it to be of the greatest 626 | possible use to the public, the best way to achieve this is to make it 627 | free software which everyone can redistribute and change under these terms. 628 | 629 | To do so, attach the following notices to the program. It is safest 630 | to attach them to the start of each source file to most effectively 631 | state the exclusion of warranty; and each file should have at least 632 | the "copyright" line and a pointer to where the full notice is found. 633 | 634 | 635 | Copyright (C) 636 | 637 | This program is free software: you can redistribute it and/or modify 638 | it under the terms of the GNU General Public License as published by 639 | the Free Software Foundation, either version 3 of the License, or 640 | (at your option) any later version. 641 | 642 | This program is distributed in the hope that it will be useful, 643 | but WITHOUT ANY WARRANTY; without even the implied warranty of 644 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 645 | GNU General Public License for more details. 646 | 647 | You should have received a copy of the GNU General Public License 648 | along with this program. If not, see . 649 | 650 | Also add information on how to contact you by electronic and paper mail. 651 | 652 | If the program does terminal interaction, make it output a short 653 | notice like this when it starts in an interactive mode: 654 | 655 | Copyright (C) 656 | This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. 657 | This is free software, and you are welcome to redistribute it 658 | under certain conditions; type `show c' for details. 659 | 660 | The hypothetical commands `show w' and `show c' should show the appropriate 661 | parts of the General Public License. Of course, your program's commands 662 | might be different; for a GUI interface, you would use an "about box". 663 | 664 | You should also get your employer (if you work as a programmer) or school, 665 | if any, to sign a "copyright disclaimer" for the program, if necessary. 666 | For more information on this, and how to apply and follow the GNU GPL, see 667 | . 668 | 669 | The GNU General Public License does not permit incorporating your program 670 | into proprietary programs. If your program is a subroutine library, you 671 | may consider it more useful to permit linking proprietary applications with 672 | the library. If this is what you want to do, use the GNU Lesser General 673 | Public License instead of this License. But first, please read 674 | . 675 | 676 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | Roundcube-Skin-Melanie2-Larry-Mobile 2 | ===================== 3 | 4 | This is the mobile version of melanie2_larry skin for Roundcube 1.3.X 5 | 6 | Presentation 7 | ------------ 8 | 9 | Mobile skin for Roundcube. 10 | It needs the jquery_mobile plugin and the mobile plugin. 11 | Mobile view for mails, contacts and settings. 12 | Infinite scroll, ajax open pages & responsive design 13 | 14 | Version 15 | ------- 16 | 17 | Mobile Melanie2 Skin 0.4.9 18 | 19 | 20 | Author 21 | ------ 22 | 23 | PNE Annuaire et Messagerie/MEDDE 24 | 25 | 26 | Installation 27 | ------------ 28 | 29 | Works on Roundcube 1.3.8 30 | 31 | You need to add mobile v0.4.9 plugin (https://github.com/messagerie-melanie2/roundcube_mobile) and jquery_mobile v1.2 plugin (https://github.com/messagerie-melanie2/roundcube_jquery_mobile) in plugins folder 32 | 33 | Rename the folder to "melanie2_larry_mobile" and add it to your Roundcube instance/skins directory. 34 | Rename "roundcube_jquery_mobile" to "jquery_mobile" 35 | Rename "roundcube_mobile" to "mobile" 36 | 37 | Add "mobile" in the Roundcube config.inc.php file in "plugins", ex: 38 | // List of active plugins (in plugins/ directory) 39 | $config['plugins'] = array( 40 | 'mobile', 41 | ); 42 | 43 | For an installation with plugins manager you can follow the Roundcube Team's how-to : https://roundcubeinbox.wordpress.com/2016/04/26/roundcube-for-mobile-devices/ 44 | 45 | 46 | Attention 47 | --------- 48 | 49 | You should only activate "mobile" plugin in config file, not the "jquery_mobile" plugin or you will have displays trouble in desktop view. jquery_mobile plugin is automatically activated by the mobile plugin when needed. 50 | 51 | Screenshots 52 | ----------- 53 | Messages 54 | 55 | ![capture d ecran 2015-07-17 a 14 34 15](https://cloud.githubusercontent.com/assets/3693239/8747236/57569d74-2c91-11e5-91f0-99b33b3edef7.png) 56 | 57 | Open a message 58 | 59 | ![capture d ecran 2015-07-17 a 14 34 27](https://cloud.githubusercontent.com/assets/3693239/8747241/5fe40cb0-2c91-11e5-9c0d-2f111080e5da.png) 60 | 61 | Compose a message 62 | 63 | ![capture d ecran 2015-07-17 a 14 34 51](https://cloud.githubusercontent.com/assets/3693239/8747255/7cdc4fe4-2c91-11e5-9c26-260680f1f15b.png) 64 | 65 | Select messages on the list 66 | 67 | ![capture d ecran 2015-07-17 a 14 35 12](https://cloud.githubusercontent.com/assets/3693239/8747260/85d17034-2c91-11e5-8e3d-340210754a2a.png) 68 | 69 | Contacts list 70 | 71 | ![capture d ecran 2015-07-17 a 14 35 25](https://cloud.githubusercontent.com/assets/3693239/8747281/a149343c-2c91-11e5-81a2-c48e098e9cfd.png) 72 | 73 | Settings 74 | 75 | ![capture d ecran 2015-07-27 a 18 29 38](https://cloud.githubusercontent.com/assets/3693239/8911422/c17097d4-348c-11e5-906a-456b09872bc1.png) 76 | 77 | 78 | Issues 79 | ------ 80 | 81 | Before opening an issue, make sure to use last releases of plugin (https://github.com/messagerie-melanie2/Roundcube-Plugin-Mobile/releases/latest) and skin (https://github.com/messagerie-melanie2/Roundcube-Skin-Melanie2-Larry-Mobile/releases/latest). Thank you. 82 | -------------------------------------------------------------------------------- /addressbook.css: -------------------------------------------------------------------------------- 1 | @CHARSET "UTF-8"; 2 | 3 | #adressbooksettingsbutton { 4 | float: right; 5 | } 6 | 7 | #directorylist_mobile li.selected > a { 8 | background-color: #2ad; 9 | border-color: #2ad; 10 | color: #fff; 11 | text-shadow: 0 1px 0 #08b; 12 | } 13 | 14 | #directorylist_mobile li.contactgroup a { 15 | padding-left: 62px; 16 | } 17 | 18 | #contacts-table { 19 | width: 100%; 20 | color: #333; 21 | text-shadow: 0px 1px 0px #F3F3F3; 22 | overflow: auto; 23 | } 24 | 25 | #contacts-table td { 26 | border-bottom: 1px solid #DDD; 27 | padding: 20px 0px 20px; 28 | } 29 | 30 | #contacts-table tr:hover { 31 | background-color:#ededed; 32 | cursor: pointer; 33 | } 34 | 35 | #contacts-table tr.selected { 36 | background-color: #ededed; 37 | } 38 | 39 | #contacttabs > fieldset { 40 | margin-bottom: 20px; 41 | } 42 | 43 | #contacttabs fieldset legend { 44 | font-weight: bold; 45 | } 46 | 47 | #headerbuttons { 48 | position: absolute; 49 | top: 48px; 50 | right: 10px; 51 | width: auto; 52 | z-index: 10; 53 | } 54 | 55 | #sourcename { 56 | color: #999; 57 | font-size: 10px; 58 | margin: -5px 0 8px 2px; 59 | } 60 | 61 | #contactphoto { 62 | float: right; 63 | margin: 0 18px 20px 0; 64 | } 65 | 66 | #contactpic img { 67 | max-width: 112px; 68 | visibility: inherit; 69 | } 70 | 71 | #contactpic.droptarget { 72 | background-image: url(images/filedrop.png?v=deab.605); 73 | background-position: center; 74 | background-repeat: no-repeat; 75 | } 76 | 77 | #contactpic.droptarget.hover { 78 | background-color: #d9ecf4; 79 | box-shadow: 0 0 5px 2px rgba(71,135,177, 0.9); 80 | -moz-box-shadow: 0 0 5px 2px rgba(71,135,177, 0.9); 81 | -webkit-box-shadow: 0 0 5px 2px rgba(71,135,177, 0.9); 82 | -o-box-shadow: 0 0 5px 2px rgba(71,135,177, 0.9); 83 | } 84 | 85 | #contactpic.droptarget.active img { 86 | opacity: 0.15; 87 | } 88 | 89 | #contactpic.droptarget.hover img { 90 | opacity: 0.05; 91 | } 92 | 93 | #contacthead { 94 | border: 0; 95 | margin: 0 1em 1em 0; 96 | padding: 0; 97 | font-size: 12px; 98 | float: left; 99 | width: 50%; 100 | overflow: hidden; 101 | } 102 | 103 | form #contacthead { 104 | margin-right: 0; 105 | } 106 | 107 | #contacthead .names span.namefield, 108 | #contacthead .names input { 109 | font-size: 140%; 110 | font-weight: bold; 111 | } 112 | 113 | #contacthead .displayname span.namefield { 114 | font-size: 120%; 115 | font-weight: bold; 116 | } 117 | 118 | #contacthead span.nickname:before, 119 | #contacthead span.nickname:after { 120 | content: '"'; 121 | } 122 | 123 | #contacthead input { 124 | margin-right: 6px; 125 | margin-bottom: 0.2em; 126 | } 127 | 128 | #contacthead .names input, 129 | #contacthead .addnames input { 130 | width: 180px; 131 | } 132 | 133 | #contacthead input.ff_prefix, 134 | #contacthead input.ff_suffix { 135 | width: 90px; 136 | } 137 | 138 | .contactfieldgroup { 139 | border: 0; 140 | border-radius: 5px; 141 | background: #f7f7f7; 142 | background: -moz-linear-gradient(top, #f7f7f7 0%, #eee 100%); 143 | background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f7f7f7), color-stop(100%,#eee)); 144 | background: -o-linear-gradient(top, #f7f7f7 0%, #eee 100%); 145 | background: -ms-linear-gradient(top, #f7f7f7 0%, #eee 100%); 146 | background: linear-gradient(top, #f7f7f7 0%, #eee 100%); 147 | margin: 0 0 12px 0; 148 | padding: 8px; 149 | } 150 | 151 | .contactfieldgroup legend { 152 | display: block; 153 | margin: 5px -8px; 154 | width: 100%; 155 | font-weight: bold; 156 | text-shadow: 0px 1px 1px #fff; 157 | padding: 6px 8px 3px 8px; 158 | border-bottom: 1px solid #cfcfcf; 159 | border-radius: 5px 5px 0 0; 160 | } 161 | 162 | .contactfieldgroup .row { 163 | position: relative; 164 | margin: 0.2em 0; 165 | } 166 | 167 | .contactfieldgroup .contactfieldlabel { 168 | top: 0; 169 | white-space: nowrap; 170 | overflow: hidden; 171 | text-overflow: ellipsis; 172 | color: #666; 173 | } 174 | 175 | .contactfieldgroup .contactfieldlabel select { 176 | width: 100%; 177 | color: #666; 178 | } 179 | 180 | .contactfieldgroup .contactfieldcontent { 181 | min-height: 1em; 182 | line-height: 1.3em; 183 | } 184 | 185 | .contactfieldgroup .contactfield { 186 | line-height: 1.3em; 187 | } 188 | 189 | .contactcontrolleraddress .contactfieldcontent input { 190 | margin-bottom: 0.1em; 191 | } 192 | 193 | .contactfieldcontent.composite { 194 | padding-bottom: 8px; 195 | } 196 | 197 | .contactfieldcontent .contactfieldbutton { 198 | vertical-align: middle; 199 | margin-left: 0.5em; 200 | } 201 | 202 | .contactfield .ff_notes { 203 | width: 99%; 204 | } 205 | 206 | .jqm-addressbook-search-header { 207 | display: none; 208 | } 209 | 210 | .jqm-addressbook-search-header .searchbox { 211 | margin-left: 60px; 212 | margin-right: 10px; 213 | margin-top: -6px; 214 | } 215 | 216 | #jqm-addressbook-newcontact-button { 217 | position: fixed; 218 | right: 20px; 219 | bottom: 10px; 220 | -webkit-transform: translateZ(0); 221 | } 222 | 223 | #jqm-addressbook-newcontact-button > a { 224 | height: 55px; 225 | width: 55px; 226 | border-radius: 28px; 227 | background-color: #fa383e; 228 | } 229 | 230 | #jqm-addressbook-newcontact-button > a::after { 231 | background-color: rgba(0, 0, 0, 0.3); 232 | background-position: center center; 233 | background-repeat: no-repeat; 234 | border-radius: 1em; 235 | } -------------------------------------------------------------------------------- /addressbook.min.css: -------------------------------------------------------------------------------- 1 | #adressbooksettingsbutton{float:right}#directorylist_mobile li.selected>a{background-color:#2ad;border-color:#2ad;color:#fff;text-shadow:0 1px 0 #08b}#contacts-table tr.selected,#contacts-table tr:hover{background-color:#ededed}#directorylist_mobile li.contactgroup a{padding-left:62px}#contacts-table{width:100%;color:#333;text-shadow:0 1px 0 #F3F3F3;overflow:auto}#contacts-table td{border-bottom:1px solid #DDD;padding:20px 0}#contacts-table tr:hover{cursor:pointer}#contacttabs>fieldset{margin-bottom:20px}#contacttabs fieldset legend{font-weight:700}#headerbuttons{position:absolute;top:48px;right:10px;width:auto;z-index:10}#sourcename{color:#999;font-size:10px;margin:-5px 0 8px 2px}#contactphoto{float:right;margin:0 18px 20px 0}#contactpic img{max-width:112px;visibility:inherit}#contactpic.droptarget{background-image:url(images/filedrop.png?v=deab.605);background-position:center;background-repeat:no-repeat}#contactpic.droptarget.hover{background-color:#d9ecf4;box-shadow:0 0 5px 2px rgba(71,135,177,.9);-moz-box-shadow:0 0 5px 2px rgba(71,135,177,.9);-webkit-box-shadow:0 0 5px 2px rgba(71,135,177,.9);-o-box-shadow:0 0 5px 2px rgba(71,135,177,.9)}#contactpic.droptarget.active img{opacity:.15}#contactpic.droptarget.hover img{opacity:.05}#contacthead{border:0;margin:0 1em 1em 0;padding:0;font-size:12px;float:left;width:50%;overflow:hidden}form #contacthead{margin-right:0}#contacthead .names input,#contacthead .names span.namefield{font-size:140%;font-weight:700}#contacthead .displayname span.namefield{font-size:120%;font-weight:700}#contacthead span.nickname:after,#contacthead span.nickname:before{content:'"'}#contacthead input{margin-right:6px;margin-bottom:.2em}#contacthead .addnames input,#contacthead .names input{width:180px}#contacthead input.ff_prefix,#contacthead input.ff_suffix{width:90px}.contactfieldgroup{border:0;border-radius:5px;background:#f7f7f7;background:-moz-linear-gradient(top,#f7f7f7 0,#eee 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#f7f7f7),color-stop(100%,#eee));background:-o-linear-gradient(top,#f7f7f7 0,#eee 100%);background:-ms-linear-gradient(top,#f7f7f7 0,#eee 100%);background:linear-gradient(top,#f7f7f7 0,#eee 100%);margin:0 0 12px;padding:8px}.contactfieldgroup legend{display:block;margin:5px -8px;width:100%;font-weight:700;text-shadow:0 1px 1px #fff;padding:6px 8px 3px;border-bottom:1px solid #cfcfcf;border-radius:5px 5px 0 0}.contactfieldgroup .row{position:relative;margin:.2em 0}.contactfieldgroup .contactfieldlabel{top:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#666}.contactfieldgroup .contactfieldlabel select{width:100%;color:#666}.contactfieldgroup .contactfieldcontent{min-height:1em;line-height:1.3em}.contactfieldgroup .contactfield{line-height:1.3em}.contactcontrolleraddress .contactfieldcontent input{margin-bottom:.1em}.contactfieldcontent.composite{padding-bottom:8px}.contactfieldcontent .contactfieldbutton{vertical-align:middle;margin-left:.5em}.contactfield .ff_notes{width:99%}.jqm-addressbook-search-header{display:none}.jqm-addressbook-search-header .searchbox{margin-left:60px;margin-right:10px;margin-top:-6px}#jqm-addressbook-newcontact-button{position:fixed;right:20px;bottom:10px;-webkit-transform:translateZ(0)}#jqm-addressbook-newcontact-button>a{height:55px;width:55px;border-radius:28px;background-color:#fa383e}#jqm-addressbook-newcontact-button>a::after{background-color:rgba(0,0,0,.3);background-position:center center;background-repeat:no-repeat;border-radius:1em} -------------------------------------------------------------------------------- /images/1397844060_mail-01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/messagerie-melanie2/Roundcube-Skin-Melanie2-Larry-Mobile/ae5242f294208a04076f9492bd7048501d1369a9/images/1397844060_mail-01.png -------------------------------------------------------------------------------- /images/1397844063_gear-01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/messagerie-melanie2/Roundcube-Skin-Melanie2-Larry-Mobile/ae5242f294208a04076f9492bd7048501d1369a9/images/1397844063_gear-01.png -------------------------------------------------------------------------------- /images/1397844066_list-01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/messagerie-melanie2/Roundcube-Skin-Melanie2-Larry-Mobile/ae5242f294208a04076f9492bd7048501d1369a9/images/1397844066_list-01.png -------------------------------------------------------------------------------- /images/1397844068_agenda-2-01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/messagerie-melanie2/Roundcube-Skin-Melanie2-Larry-Mobile/ae5242f294208a04076f9492bd7048501d1369a9/images/1397844068_agenda-2-01.png -------------------------------------------------------------------------------- /images/1397844068_grid-2-01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/messagerie-melanie2/Roundcube-Skin-Melanie2-Larry-Mobile/ae5242f294208a04076f9492bd7048501d1369a9/images/1397844068_grid-2-01.png -------------------------------------------------------------------------------- /images/1397844071_user-01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/messagerie-melanie2/Roundcube-Skin-Melanie2-Larry-Mobile/ae5242f294208a04076f9492bd7048501d1369a9/images/1397844071_user-01.png -------------------------------------------------------------------------------- /images/1397844080_message-01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/messagerie-melanie2/Roundcube-Skin-Melanie2-Larry-Mobile/ae5242f294208a04076f9492bd7048501d1369a9/images/1397844080_message-01.png -------------------------------------------------------------------------------- /images/1398171374_quit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/messagerie-melanie2/Roundcube-Skin-Melanie2-Larry-Mobile/ae5242f294208a04076f9492bd7048501d1369a9/images/1398171374_quit.png -------------------------------------------------------------------------------- /images/1398177268_agenda.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/messagerie-melanie2/Roundcube-Skin-Melanie2-Larry-Mobile/ae5242f294208a04076f9492bd7048501d1369a9/images/1398177268_agenda.png -------------------------------------------------------------------------------- /images/1408736270_519892-037_ArrowUp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/messagerie-melanie2/Roundcube-Skin-Melanie2-Larry-Mobile/ae5242f294208a04076f9492bd7048501d1369a9/images/1408736270_519892-037_ArrowUp.png -------------------------------------------------------------------------------- /images/addcontact.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/messagerie-melanie2/Roundcube-Skin-Melanie2-Larry-Mobile/ae5242f294208a04076f9492bd7048501d1369a9/images/addcontact.png -------------------------------------------------------------------------------- /images/ajax-loader.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/messagerie-melanie2/Roundcube-Skin-Melanie2-Larry-Mobile/ae5242f294208a04076f9492bd7048501d1369a9/images/ajax-loader.gif -------------------------------------------------------------------------------- /images/ajaxloader.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/messagerie-melanie2/Roundcube-Skin-Melanie2-Larry-Mobile/ae5242f294208a04076f9492bd7048501d1369a9/images/ajaxloader.gif -------------------------------------------------------------------------------- /images/ajaxloader_dark.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/messagerie-melanie2/Roundcube-Skin-Melanie2-Larry-Mobile/ae5242f294208a04076f9492bd7048501d1369a9/images/ajaxloader_dark.gif -------------------------------------------------------------------------------- /images/buttons.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/messagerie-melanie2/Roundcube-Skin-Melanie2-Larry-Mobile/ae5242f294208a04076f9492bd7048501d1369a9/images/buttons.gif -------------------------------------------------------------------------------- /images/buttons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/messagerie-melanie2/Roundcube-Skin-Melanie2-Larry-Mobile/ae5242f294208a04076f9492bd7048501d1369a9/images/buttons.png -------------------------------------------------------------------------------- /images/contactgroup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/messagerie-melanie2/Roundcube-Skin-Melanie2-Larry-Mobile/ae5242f294208a04076f9492bd7048501d1369a9/images/contactgroup.png -------------------------------------------------------------------------------- /images/contactpic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/messagerie-melanie2/Roundcube-Skin-Melanie2-Larry-Mobile/ae5242f294208a04076f9492bd7048501d1369a9/images/contactpic.png -------------------------------------------------------------------------------- /images/contactpic_32px.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/messagerie-melanie2/Roundcube-Skin-Melanie2-Larry-Mobile/ae5242f294208a04076f9492bd7048501d1369a9/images/contactpic_32px.png -------------------------------------------------------------------------------- /images/contactpic_48px.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/messagerie-melanie2/Roundcube-Skin-Melanie2-Larry-Mobile/ae5242f294208a04076f9492bd7048501d1369a9/images/contactpic_48px.png -------------------------------------------------------------------------------- /images/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/messagerie-melanie2/Roundcube-Skin-Melanie2-Larry-Mobile/ae5242f294208a04076f9492bd7048501d1369a9/images/favicon.ico -------------------------------------------------------------------------------- /images/filedrop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/messagerie-melanie2/Roundcube-Skin-Melanie2-Larry-Mobile/ae5242f294208a04076f9492bd7048501d1369a9/images/filedrop.png -------------------------------------------------------------------------------- /images/filetypes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/messagerie-melanie2/Roundcube-Skin-Melanie2-Larry-Mobile/ae5242f294208a04076f9492bd7048501d1369a9/images/filetypes.png -------------------------------------------------------------------------------- /images/googiespell/change_lang.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/messagerie-melanie2/Roundcube-Skin-Melanie2-Larry-Mobile/ae5242f294208a04076f9492bd7048501d1369a9/images/googiespell/change_lang.gif -------------------------------------------------------------------------------- /images/googiespell/indicator.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/messagerie-melanie2/Roundcube-Skin-Melanie2-Larry-Mobile/ae5242f294208a04076f9492bd7048501d1369a9/images/googiespell/indicator.gif -------------------------------------------------------------------------------- /images/googiespell/ok.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/messagerie-melanie2/Roundcube-Skin-Melanie2-Larry-Mobile/ae5242f294208a04076f9492bd7048501d1369a9/images/googiespell/ok.gif -------------------------------------------------------------------------------- /images/googiespell/spellc.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/messagerie-melanie2/Roundcube-Skin-Melanie2-Larry-Mobile/ae5242f294208a04076f9492bd7048501d1369a9/images/googiespell/spellc.gif -------------------------------------------------------------------------------- /images/linen.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/messagerie-melanie2/Roundcube-Skin-Melanie2-Larry-Mobile/ae5242f294208a04076f9492bd7048501d1369a9/images/linen.jpg -------------------------------------------------------------------------------- /images/linen_header.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/messagerie-melanie2/Roundcube-Skin-Melanie2-Larry-Mobile/ae5242f294208a04076f9492bd7048501d1369a9/images/linen_header.jpg -------------------------------------------------------------------------------- /images/linen_login.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/messagerie-melanie2/Roundcube-Skin-Melanie2-Larry-Mobile/ae5242f294208a04076f9492bd7048501d1369a9/images/linen_login.jpg -------------------------------------------------------------------------------- /images/listicons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/messagerie-melanie2/Roundcube-Skin-Melanie2-Larry-Mobile/ae5242f294208a04076f9492bd7048501d1369a9/images/listicons.png -------------------------------------------------------------------------------- /images/login_shadow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/messagerie-melanie2/Roundcube-Skin-Melanie2-Larry-Mobile/ae5242f294208a04076f9492bd7048501d1369a9/images/login_shadow.png -------------------------------------------------------------------------------- /images/message-list.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/messagerie-melanie2/Roundcube-Skin-Melanie2-Larry-Mobile/ae5242f294208a04076f9492bd7048501d1369a9/images/message-list.png -------------------------------------------------------------------------------- /images/messages.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/messagerie-melanie2/Roundcube-Skin-Melanie2-Larry-Mobile/ae5242f294208a04076f9492bd7048501d1369a9/images/messages.png -------------------------------------------------------------------------------- /images/messages_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/messagerie-melanie2/Roundcube-Skin-Melanie2-Larry-Mobile/ae5242f294208a04076f9492bd7048501d1369a9/images/messages_dark.png -------------------------------------------------------------------------------- /images/overflowshadow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/messagerie-melanie2/Roundcube-Skin-Melanie2-Larry-Mobile/ae5242f294208a04076f9492bd7048501d1369a9/images/overflowshadow.png -------------------------------------------------------------------------------- /images/quota.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/messagerie-melanie2/Roundcube-Skin-Melanie2-Larry-Mobile/ae5242f294208a04076f9492bd7048501d1369a9/images/quota.png -------------------------------------------------------------------------------- /images/roundcube_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/messagerie-melanie2/Roundcube-Skin-Melanie2-Larry-Mobile/ae5242f294208a04076f9492bd7048501d1369a9/images/roundcube_logo.png -------------------------------------------------------------------------------- /images/selector.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/messagerie-melanie2/Roundcube-Skin-Melanie2-Larry-Mobile/ae5242f294208a04076f9492bd7048501d1369a9/images/selector.png -------------------------------------------------------------------------------- /images/splitter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/messagerie-melanie2/Roundcube-Skin-Melanie2-Larry-Mobile/ae5242f294208a04076f9492bd7048501d1369a9/images/splitter.png -------------------------------------------------------------------------------- /images/watermark.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/messagerie-melanie2/Roundcube-Skin-Melanie2-Larry-Mobile/ae5242f294208a04076f9492bd7048501d1369a9/images/watermark.jpg -------------------------------------------------------------------------------- /includes/footer.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /includes/header.html: -------------------------------------------------------------------------------- 1 | 38 | -------------------------------------------------------------------------------- /includes/links.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | .css" /> 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /includes/mailtoolbar.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 |
    23 |
  • 24 |
  • 25 | 26 |
27 |
28 | 29 |
30 |
    31 |
  • 32 |
  • 33 | 34 |
35 |
36 | 37 |
38 |
    39 |
  • 40 |
  • 41 |
  • 42 |
  • 43 |
  • 44 |
  • 45 |
  • 46 | 47 |
48 |
49 | 50 |
51 |
    52 |
  • 53 |
  • 54 |
  • 55 |
  • 56 | 57 |
58 |
59 | -------------------------------------------------------------------------------- /includes/rightpanel.html: -------------------------------------------------------------------------------- 1 |
2 | Close 3 | 4 | 5 | 6 | 7 | 8 |
-------------------------------------------------------------------------------- /includes/settingstabs.html: -------------------------------------------------------------------------------- 1 |
2 |

3 |
4 | 5 | 6 |
7 |
8 | -------------------------------------------------------------------------------- /login.css: -------------------------------------------------------------------------------- 1 | body { 2 | font-family: "Lucida Grande", Verdana, Arial, Helvetica, sans-serif; 3 | font-size: 13px; 4 | color: #333; 5 | background-color: #E9E9E9; /* New design */ 6 | margin: 0; 7 | } 8 | label { 9 | } 10 | #logo { 11 | margin-bottom: 1em; 12 | } 13 | #login-form { 14 | width: 250px; 15 | margin: 50px auto; 16 | padding: 25px; 17 | background-color: rgba(250,250,250,0.5); 18 | border-radius: 5px; 19 | box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.2), 20 | inset 0px 1px 0px 0px rgba(250, 250, 250, 0.5); 21 | border: 1px solid rgba(0, 0, 0, 0.3); 22 | } 23 | #login-form input[type=password], 24 | #login-form input[type=text] { 25 | width: 240px; 26 | padding: 5px; 27 | border: 1px solid rgba(0, 0, 0, 0.3); 28 | border-radius: 3px; 29 | box-shadow: inset 0px 1px 3px 0px rgba(0, 0, 0, 0.1), 30 | 0px 1px 0px 0px rgba(250, 250, 250, 0.5) ; 31 | } 32 | #login-form input[type=submit] { 33 | border: 1px solid rgba(0, 0, 0, 0.3); 34 | background: #64c8ef; /* Old browsers */ 35 | background: -moz-linear-gradient(top, #64c8ef 0%, #00a2e2 100%); /* FF3.6+ */ 36 | background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#64c8ef), color-stop(100%,#00a2e2)); /* Chrome,Safari4+ */ 37 | background: -webkit-linear-gradient(top, #64c8ef 0%,#00a2e2 100%); /* Chrome10+,Safari5.1+ */ 38 | background: -o-linear-gradient(top, #64c8ef 0%,#00a2e2 100%); /* Opera 11.10+ */ 39 | background: -ms-linear-gradient(top, #64c8ef 0%,#00a2e2 100%); /* IE10+ */ 40 | background: linear-gradient(to bottom, #64c8ef 0%,#00a2e2 100%); /* W3C */ 41 | filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#64c8ef', endColorstr='#00a2e2',GradientType=0 ); /* IE6-9 */ 42 | color: #fff; 43 | padding: 5px 15px; 44 | margin-right: 0; 45 | margin-top: 15px; 46 | border-radius: 3px; 47 | text-shadow: 1px 1px 0px rgba(0, 0, 0, 0.3); 48 | } 49 | 50 | #login-form table { 51 | width: 200px; 52 | } 53 | 54 | #login-form table .title { 55 | width: 50px; 56 | } 57 | 58 | #login-form table .input { 59 | width: 175px; 60 | } 61 | 62 | #login-form table .input input, 63 | #login-form table .input select { 64 | width: 175px; 65 | } -------------------------------------------------------------------------------- /login.min.css: -------------------------------------------------------------------------------- 1 | body{font-family:"Lucida Grande",Verdana,Arial,Helvetica,sans-serif;font-size:13px;color:#333;background-color:#E9E9E9;margin:0}#logo{margin-bottom:1em}#login-form{width:250px;margin:50px auto;padding:25px;background-color:rgba(250,250,250,.5);border-radius:5px;box-shadow:0 0 5px 0 rgba(0,0,0,.2),inset 0 1px 0 0 rgba(250,250,250,.5);border:1px solid rgba(0,0,0,.3)}#login-form input[type=password],#login-form input[type=text]{width:240px;padding:5px;border:1px solid rgba(0,0,0,.3);border-radius:3px;box-shadow:inset 0 1px 3px 0 rgba(0,0,0,.1),0 1px 0 0 rgba(250,250,250,.5)}#login-form input[type=submit]{border:1px solid rgba(0,0,0,.3);background:#64c8ef;background:-moz-linear-gradient(top,#64c8ef 0,#00a2e2 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#64c8ef),color-stop(100%,#00a2e2));background:-webkit-linear-gradient(top,#64c8ef 0,#00a2e2 100%);background:-o-linear-gradient(top,#64c8ef 0,#00a2e2 100%);background:-ms-linear-gradient(top,#64c8ef 0,#00a2e2 100%);background:linear-gradient(to bottom,#64c8ef 0,#00a2e2 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#64c8ef', endColorstr='#00a2e2', GradientType=0);color:#fff;padding:5px 15px;margin-right:0;margin-top:15px;border-radius:3px;text-shadow:1px 1px 0 rgba(0,0,0,.3)}#login-form table{width:200px}#login-form table .title{width:50px}#login-form table .input,#login-form table .input input,#login-form table .input select{width:175px} -------------------------------------------------------------------------------- /mail.css: -------------------------------------------------------------------------------- 1 | #messagelist li span.from span span { 2 | text-overflow: ellipsis; 3 | overflow: hidden; 4 | white-space: nowrap; 5 | display: block; 6 | margin-right: 20px; 7 | margin-top: 0px; 8 | font-size: 14px; 9 | line-height: 1.3em; 10 | color: #000; 11 | margin-left: 45px; 12 | } 13 | 14 | #messagelist li span.subject { 15 | display: block; 16 | margin-bottom: 5px; 17 | margin-top: 5px; 18 | text-overflow: ellipsis; 19 | overflow: hidden; 20 | white-space: nowrap; 21 | margin-right: 20px; 22 | font-size: 12px; 23 | line-height: 1.2em; 24 | color: #666D74; 25 | margin-left: 45px; 26 | } 27 | 28 | #messagelist li span.date { 29 | position: absolute; 30 | top: 2px; 31 | right: 5px; 32 | font-size: 12px; 33 | color: #666D74; 34 | line-height: 1.2em; 35 | } 36 | 37 | #messagelist li span.mobile_text { 38 | display: table-cell; 39 | background-color: #BDBDBD; 40 | color: #FFF; 41 | text-shadow: none; 42 | font-weight: bold; 43 | height: 40px; 44 | width: 40px; 45 | font-size: 90%; 46 | vertical-align: middle; 47 | text-align: center; 48 | position: relative; 49 | top: -47px; 50 | border-radius: 20px; 51 | } 52 | 53 | #messagelist li span.mobile_text img { 54 | height: 40px; 55 | width: 40px; 56 | border-radius: 20px; 57 | margin-bottom: -4px; 58 | border: 1px solid #585858; 59 | } 60 | #messagelist li span.mobile_text.notext { 61 | text-indent: -9999px; 62 | white-space: nowrap !important; 63 | } 64 | 65 | #messagelist li span.mobile_text.green { 66 | background-color: #40C365; 67 | color: #FFF; 68 | text-shadow: none; 69 | } 70 | #messagelist li span.mobile_text.grey { 71 | background-color: #BDBDBD; 72 | color: #FFF; 73 | text-shadow: none; 74 | } 75 | #messagelist li span.mobile_text.blue { 76 | background-color: #1B98F8; 77 | color: #FFF; 78 | text-shadow: none; 79 | } 80 | #messagelist li span.mobile_text.yellow { 81 | background-color: #FFC94C; 82 | color: #FFF; 83 | text-shadow: none; 84 | } 85 | #messagelist li span.mobile_text.red { 86 | background-color: #FA383E; 87 | color: #FFF; 88 | text-shadow: none; 89 | } 90 | #messagelist li span.mobile_text.orange { 91 | background-color: #FF9216; 92 | color: #FFF; 93 | text-shadow: none; 94 | } 95 | #messagelist li span.mobile_text.brown { 96 | background-color: #3B170B; 97 | color: #FFF; 98 | text-shadow: none; 99 | } 100 | #messagelist li span.mobile_text.purple { 101 | background-color: #4C0B5F; 102 | color: #FFF; 103 | text-shadow: none; 104 | } 105 | 106 | #messagelist li span.mobile_class { 107 | display: none; 108 | } 109 | 110 | #messagelist li span.labels { 111 | font-size: 90%; 112 | position: relative; 113 | top: -110px; 114 | } 115 | 116 | #messagelist li span.attachment { 117 | position: absolute; 118 | top: 22px; 119 | right: 3px; 120 | } 121 | 122 | #messagelist li span.threads { 123 | display: none; 124 | } 125 | 126 | #messagelist li span.flag { 127 | position: absolute; 128 | top: 22px; 129 | right: 5px; 130 | } 131 | 132 | #messagelist { 133 | color: #333; 134 | text-shadow: 0px 1px 0px #F3F3F3; 135 | overflow: hidden; 136 | } 137 | 138 | #messagelist li { 139 | border-top: 1px solid #DDD; 140 | padding: 20px 5px 5px; 141 | cursor: pointer; 142 | height: 50px; 143 | min-width: 250px; 144 | } 145 | 146 | #messagelist li.unread { 147 | border-left: 3px solid #1B98F8; 148 | } 149 | 150 | #messagelist li.selected { 151 | background-color: #E0F2F7; 152 | } 153 | 154 | #messagelist li span { 155 | cursor: pointer; 156 | } 157 | 158 | #messagelist li:hover { 159 | background-color: #E0F2F7; 160 | cursor: pointer; 161 | } 162 | 163 | #messagelist li.selected span.mobile_text { 164 | text-indent: -9999px; 165 | background-color: #000; 166 | background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20style%3D%22fill%3A%23FFFFFF%3B%22%20points%3D%2214%2C4%2011%2C1%205.003%2C6.997%203%2C5%200%2C8%204.966%2C13%204.983%2C12.982%205%2C13%20%22%2F%3E%3C%2Fsvg%3E"); 167 | background-repeat: no-repeat; 168 | background-position: center; 169 | } 170 | 171 | #messagelist li a, 172 | #messagelist li a span { 173 | text-decoration: none; 174 | color: #333; 175 | font-weight: normal; 176 | } 177 | 178 | #messagelist li span.attachment, 179 | #messagelist li span.threads, 180 | #messagelist li span.flag, 181 | #messagelist li span.priority { 182 | width: 20px; 183 | padding: 2px 3px; 184 | } 185 | 186 | #messagelist li.unread a, 187 | #messagelist li.unread span.from span span, 188 | #messagelist li.unread a span { 189 | font-weight: bold; 190 | color: #000; 191 | } 192 | 193 | #messagelist li span.status span.unread { 194 | display: none; 195 | } 196 | 197 | #messagelist li span div.collapsed, 198 | #messagelist li span div.expanded, 199 | #messagelist li span.subject span.msgicon, 200 | #messagelist li span.subject span.deleted, 201 | #messagelist li span.subject span.unread, 202 | #messagelist li span.subject span.replied, 203 | #messagelist li span.subject span.forwarded, 204 | #messagelist li span.attachment, 205 | #messagelist li span.flag, 206 | #messagelist li span.subject span.unreadchildren { 207 | display: inline-block; 208 | vertical-align: middle; 209 | height: 18px; 210 | width: 20px; 211 | padding: 0; 212 | background: url(images/listicons.png?v=017c.29530) -100px 0 no-repeat; 213 | } 214 | 215 | #messagelist li span.status span.status, 216 | #messagelist li span.flag span.flagged, 217 | #messagelist li span.flag span.unflagged, 218 | #messagelist li span.flag span.unflagged:hover { 219 | display: inline-block; 220 | vertical-align: middle; 221 | height: 18px; 222 | width: 20px; 223 | padding: 0; 224 | background: url(images/message-list.png?v=02) -100px 0 no-repeat; 225 | } 226 | 227 | #messagelist li span.fromto, 228 | #messagelist li span.size { 229 | display: none; 230 | } 231 | 232 | #messagelist li span.attachment span.attachment { 233 | background-position: 0 -996px; 234 | } 235 | 236 | #messagelist li span.attachment span.attachment { 237 | background-position: 0px -996px; 238 | } 239 | 240 | #messagelist li span.attachment span.report { 241 | background-position: -24px -1116px; 242 | } 243 | 244 | #messagelist li span.priority span.priority { 245 | background-position: -24px -1845px; 246 | } 247 | 248 | #messagelist li span.priority span.prio5 { 249 | background-position: 0 -1905px; 250 | } 251 | 252 | #messagelist li span.priority span.prio4 { 253 | background-position: 0 -1885px; 254 | } 255 | 256 | #messagelist li span.priority span.prio2 { 257 | background-position: 0 -1865px; 258 | } 259 | 260 | #messagelist li span.priority span.prio1 { 261 | background-position: 0 -1845px; 262 | } 263 | 264 | #messagelist li span.flag span.flagged { 265 | background-position: center -80px; 266 | } 267 | 268 | #messagelist li span.status span.msgicon { 269 | background-position: center 1px; 270 | } 271 | 272 | #messagelist li span.flag span.unflagged { 273 | background-position: center -96px; 274 | } 275 | 276 | #messagelist li span.subject span.msgicon, 277 | #messagelist li span.subject span.unreadchildren { 278 | background-position: 0 -1056px; 279 | margin: 0 1px 0 0; 280 | width: 24px; 281 | } 282 | 283 | #messagelist li span.subject span.replied { 284 | background-position: 0 -1076px; 285 | } 286 | 287 | #messagelist li span.subject span.forwarded { 288 | background-position: 0 -1096px; 289 | } 290 | 291 | #messagelist li span.subject span.replied.forwarded { 292 | background-position: 0 -1116px; 293 | } 294 | 295 | #messagelist li span.status span.unreadchildren { 296 | background-position: 0 1056px; /* no icon */ 297 | } 298 | /* 299 | #messagelist li span.status span.msgicon:hover { 300 | background-position: 0 -272px; 301 | } 302 | */ 303 | #messagelist li span.status span.deleted, 304 | #messagelist li span.status span.deleted:hover, 305 | #messagelist li span.subject span.deleted { 306 | background-position: -22px -1096px; 307 | } 308 | 309 | #messagelist li span.status span.unread { 310 | background-position: center -15px; 311 | } 312 | 313 | #messagelist li span.status span.status { 314 | background-position: 0px -1016px; 315 | } 316 | 317 | #messagelist li span div.collapsed { 318 | background-position: 0 -1137px; 319 | cursor: pointer; 320 | } 321 | 322 | #messagelist li span div.expanded { 323 | background-position: 0 -1157px; 324 | cursor: pointer; 325 | } 326 | 327 | 328 | #messagelist li span.status span { 329 | position: absolute; 330 | top: 5px; 331 | left: 5px; 332 | } 333 | 334 | #mailboxlist li.selected > a { 335 | background-color: #2ad; 336 | border-color: #2ad; 337 | color: #fff; 338 | text-shadow: 0 1px 0 #08b; 339 | } 340 | 341 | #mailboxlist li.mailbox ul li a { 342 | padding-left: 42px; /* 36 + 1 x 16 */ 343 | } 344 | 345 | #mailboxlist li.mailbox ul ul li.mailbox a { 346 | padding-left: 58px; /* 2x */ 347 | } 348 | 349 | #mailboxlist li.mailbox ul ul ul li.mailbox a { 350 | padding-left: 74px; /* 3x */ 351 | } 352 | 353 | #mailboxlist li.mailbox ul ul ul ul li.mailbox a { 354 | padding-left: 90px; /* 4x */ 355 | } 356 | 357 | #mailboxlist li.mailbox ul ul ul ul ul li { 358 | padding-left: 16px; 359 | } 360 | 361 | #messagebody p.image-attachment { 362 | position: relative; 363 | padding: 1em; 364 | border-top: 1px solid #ccc; 365 | } 366 | 367 | #messagebody p.image-attachment a.image-link { 368 | float: left; 369 | display: block; 370 | margin-right: 2em; 371 | min-width: 160px; 372 | min-height: 60px; 373 | text-align: center; 374 | } 375 | 376 | #messagebody p.image-attachment .image-filename { 377 | display: block; 378 | font-weight: bold; 379 | line-height: 1.6em; 380 | } 381 | 382 | #messagebody p.image-attachment .image-filesize { 383 | padding-right: 1em; 384 | } 385 | 386 | #messagebody p.image-attachment .attachment-links a { 387 | margin-right: 0.6em; 388 | } 389 | 390 | .pagenav { 391 | font-size: 1em; 392 | min-height: 1.1em; 393 | text-align: left; 394 | display: block; 395 | padding: 0.7em 0px; 396 | outline: 0px none !important; 397 | } 398 | 399 | #mailsettingsbutton { 400 | float: right; 401 | } 402 | 403 | #compose-cc, #compose-bcc, #compose-replyto, #compose-followupto { 404 | display: none; 405 | } 406 | 407 | .jqm-message .ui-content, 408 | .jqm-compose .ui-content { 409 | padding: 0px; 410 | } 411 | 412 | #compose-content { 413 | min-height: 487px; 414 | } 415 | 416 | #composeheaders { 417 | margin-top: -5px; 418 | } 419 | 420 | #composeheaders .compose-object { 421 | padding: 0px 5px; 422 | border-top: 1px solid #DDD; 423 | } 424 | 425 | #composeheaders #_from-button { 426 | font-size: 90%; 427 | } 428 | 429 | #composeheaders a { 430 | font-size: 90%; 431 | padding: 5px; 432 | } 433 | 434 | #composeheaders #compose-cc, 435 | #composeheaders #compose-bcc, 436 | #composeheaders #compose-subject, 437 | #composeheaders #compose-to { 438 | background-color: #fff; 439 | } 440 | 441 | #composeheaders #compose-cc label, 442 | #composeheaders #compose-bcc label, 443 | #composeheaders #compose-subject label, 444 | #composeheaders #compose-to label { 445 | display: inline-block; 446 | vertical-align: middle; 447 | font-size: 90%; 448 | margin: 0; 449 | color: #045FB4; 450 | } 451 | 452 | #composeheaders #compose-cc textarea, 453 | #composeheaders #compose-bcc textarea, 454 | #composeheaders #compose-to textarea { 455 | border-radius: 0px; 456 | display: inline-block; 457 | vertical-align:middle; 458 | width: 85%; 459 | border-style: none; 460 | border-color: Transparent; 461 | overflow: auto; 462 | box-shadow: none; 463 | margin: 0; 464 | } 465 | 466 | #composeheaders #compose-subject input { 467 | border-radius: 0px; 468 | display: inline-block; 469 | vertical-align:middle; 470 | border-style: none; 471 | border-color: Transparent; 472 | overflow: auto; 473 | box-shadow: none; 474 | margin: 0; 475 | } 476 | 477 | #composeheaders #compose-subject .ui-input-text { 478 | margin: 0; 479 | } 480 | 481 | #composeheaders #compose-subject .ui-focus { 482 | box-shadow: none; 483 | } 484 | 485 | 486 | #composeview-bottom { 487 | position: relative; 488 | left: 0; 489 | right: 0; 490 | min-height: 200px; 491 | } 492 | 493 | #composeview-bottom label { 494 | margin-left: 5px; 495 | font-size: 90%; 496 | color: #045FB4; 497 | } 498 | 499 | #composeview-bottom #composebodycontainer { 500 | position: absolute; 501 | top: 0; 502 | bottom: 0; 503 | left: 0; 504 | right: 0; 505 | } 506 | 507 | #composeview-bottom textarea { 508 | border-radius: 0px; 509 | margin-top: 0px; 510 | } 511 | 512 | #composeoptions { 513 | display: none; 514 | padding: 2px 0 0 8px; 515 | white-space: normal; 516 | border-top: 1px solid #dfdfdf; 517 | box-shadow: inset 0 1px 0 0 #fff; 518 | -o-box-shadow: inset 0 1px 0 0 #fff; 519 | -webkit-box-shadow: inset 0 1px 0 0 #fff; 520 | -moz-box-shadow: inset 0 1px 0 0 #fff; 521 | } 522 | 523 | .composeoption { 524 | color: #666; 525 | padding-right: 22px; 526 | white-space: nowrap; 527 | } 528 | 529 | #composeoptions .composeoption { 530 | display: inline-block; 531 | padding: 4px 22px 4px 0; 532 | } 533 | 534 | #composeoptions .composeoption:last-child { 535 | padding-right: 4px; 536 | } 537 | 538 | #messageheader { 539 | position: relative; 540 | padding: 3px 0; 541 | background: #f9f9f9; 542 | border-bottom: 1px solid #dfdfdf; 543 | } 544 | 545 | #messageheader { 546 | border-radius: 4px 4px 0 0; 547 | padding-left: 10px; 548 | /* avoid headers eating up all the vertical space */ 549 | max-height: 50%; 550 | overflow: hidden; 551 | } 552 | 553 | #messagecontent .rightcol, 554 | #messagepreview .rightcol { 555 | background: #f0f0f0; 556 | padding: 8px; 557 | border-radius: 4px; 558 | } 559 | 560 | #message-objects div.notice { 561 | display: block; 562 | color: #960; 563 | border: 1px solid #FFDF0E; 564 | background-color: #FEF893; 565 | background-position: 5px -83px; 566 | padding: 6px 12px 6px 30px; 567 | white-space: normal; 568 | } 569 | 570 | #formatcontrols { 571 | display: none; 572 | } 573 | 574 | #messagecontent pre { 575 | white-space: pre-wrap; 576 | } 577 | 578 | #messagebody { 579 | overflow-x: auto; 580 | } 581 | 582 | .unreadcount { 583 | right: 0.8em; 584 | background-color: #2a2a2a; 585 | border-color: #1d1d1d; 586 | color: #fff; 587 | text-shadow: 0 1px 0 #111; 588 | position: absolute; 589 | font-size: 12.5px; 590 | font-weight: 700; 591 | text-align: center; 592 | border-width: 1px; 593 | border-style: solid; 594 | padding: 0 .48em; 595 | line-height: 1.6em; 596 | min-height: 1.6em; 597 | min-width: .64em; 598 | top: 50%; 599 | margin-top: -.88em; 600 | border-radius: 4px; 601 | } 602 | 603 | #pull_to_refresh { 604 | background-color: #fff; 605 | border-color: #ddd; 606 | color: grey; 607 | font-size: 14px; 608 | margin: -16px -16px 25px -16px; 609 | padding: 45px 25px 15px 25px; 610 | background-image: url("images/1408736270_519892-037_ArrowUp.png"); 611 | background-repeat: no-repeat; 612 | background-position: 5px; 613 | position: absolute; 614 | width: 100%; 615 | top: -79px; 616 | } 617 | 618 | #pull_to_refresh span { 619 | margin-left: auto; 620 | margin-right: auto; 621 | padding-left: 35px; 622 | } 623 | 624 | .mailiframebox { 625 | height: 100%; 626 | } 627 | 628 | #mail-list-left-panel { 629 | overflow-y: auto; 630 | border-right: 1px solid grey; 631 | } 632 | 633 | #mail-list-left-panel #messagelist { 634 | overflow: auto; 635 | overflow-x: hidden; 636 | background-color: #f9f9f9; 637 | } 638 | 639 | .message-content { 640 | overflow-y: scroll; 641 | overflow-x: hidden; 642 | border-width: 0; 643 | padding: 0.5em; 644 | background: none repeat scroll 0% 0% #F0F0F0; 645 | } 646 | 647 | #messagecontent { 648 | padding: 0.5em; 649 | background: none repeat scroll 0% 0% #FFF; 650 | } 651 | 652 | #messageheader .subject { 653 | margin-left: 85px; 654 | } 655 | 656 | #messageheader #contactphoto { 657 | width: 70px; 658 | height: 70px; 659 | overflow: hidden; 660 | border-radius: 35px; 661 | border: 1px solid #585858; 662 | background: #FFF url("images/contactpic_48px.png?v=1bc4.353") no-repeat scroll center center; 663 | position: absolute; 664 | top: 5px; 665 | left: 5px; 666 | } 667 | 668 | #messageheader #contactphoto img { 669 | width: 75px; 670 | height: 75px; 671 | border-radius: 4px; 672 | } 673 | 674 | #slide-message { 675 | display: none; 676 | position: fixed; 677 | width: 100%; 678 | top: 42px; 679 | } 680 | 681 | .jqm-mail-buttons-header, 682 | .jqm-mail-search-header { 683 | display: none; 684 | height: 45px; 685 | } 686 | 687 | .jqm-mail-search-header .searchbox { 688 | margin-left: 60px; 689 | margin-right: 10px; 690 | margin-top: -6px; 691 | } 692 | 693 | #jqm-mail-newmessage-button { 694 | position: fixed; 695 | right: 20px; 696 | bottom: 40px; 697 | -webkit-transform: translateZ(0); 698 | } 699 | 700 | #jqm-mail-newmessage-button > a { 701 | height: 55px; 702 | width: 55px; 703 | border-radius: 28px; 704 | background-color: #fa383e; 705 | } 706 | 707 | #jqm-mail-newmessage-button > a::after { 708 | background-color: rgba(0, 0, 0, 0.3); 709 | background-position: center center; 710 | background-repeat: no-repeat; 711 | border-radius: 1em; 712 | } 713 | 714 | div.slide_to_delete { 715 | position: absolute; 716 | top: 0px; 717 | background-color: #FA5858; 718 | color: white; 719 | padding: 28px 10px; 720 | text-overflow: ellipsis; 721 | overflow: hidden; 722 | white-space: nowrap; 723 | } 724 | 725 | div.slide_to_mark { 726 | position: absolute; 727 | top: 0px; 728 | background-color: #2ad; 729 | color: white; 730 | padding: 28px 10px; 731 | text-overflow: ellipsis; 732 | overflow: hidden; 733 | white-space: nowrap; 734 | } 735 | 736 | #folder-selector { 737 | background-color: #333; 738 | border-color: #1f1f1f; 739 | color: #fff; 740 | text-shadow: 0 1px 0 #111; 741 | 742 | top: 50px; 743 | left: 30px; 744 | 745 | font-size: 16px; 746 | margin: .5em 0; 747 | padding: 1em .7em; 748 | text-align: left; 749 | width: auto; 750 | 751 | position: fixed; 752 | } 753 | -------------------------------------------------------------------------------- /mail.min.css: -------------------------------------------------------------------------------- 1 | #messagelist li span.from span span,#messagelist li span.subject{display:block;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}#messagelist li span.from span span{margin-right:20px;margin-top:0;font-size:14px;line-height:1.3em;color:#000;margin-left:45px}#messagelist li span.subject{font-size:12px;line-height:1.2em;color:#666D74;margin:5px 20px 5px 45px}#messagelist li span.date{position:absolute;top:2px;right:5px;font-size:12px;color:#666D74;line-height:1.2em}#messagelist li span.mobile_text{display:table-cell;background-color:#BDBDBD;color:#FFF;text-shadow:none;font-weight:700;height:40px;width:40px;font-size:90%;vertical-align:middle;text-align:center;position:relative;top:-47px;border-radius:20px}#messagelist li span.mobile_class,#messagelist li span.status span.unread,#messagelist li span.threads{display:none}#messagelist li span.mobile_text img{height:40px;width:40px;border-radius:20px;margin-bottom:-4px;border:1px solid #585858}#messagelist li span.mobile_text.notext{text-indent:-9999px;white-space:nowrap!important}#messagelist li span.mobile_text.green{background-color:#40C365;color:#FFF;text-shadow:none}#messagelist li span.mobile_text.grey{background-color:#BDBDBD;color:#FFF;text-shadow:none}#messagelist li span.mobile_text.blue{background-color:#1B98F8;color:#FFF;text-shadow:none}#messagelist li span.mobile_text.yellow{background-color:#FFC94C;color:#FFF;text-shadow:none}#messagelist li span.mobile_text.red{background-color:#FA383E;color:#FFF;text-shadow:none}#messagelist li span.mobile_text.orange{background-color:#FF9216;color:#FFF;text-shadow:none}#messagelist li span.mobile_text.brown{background-color:#3B170B;color:#FFF;text-shadow:none}#messagelist li span.mobile_text.purple{background-color:#4C0B5F;color:#FFF;text-shadow:none}#messagelist li.selected,#messagelist li:hover{background-color:#E0F2F7}#messagelist li span.labels{font-size:90%;position:relative;top:-110px}#messagelist li span.attachment{position:absolute;top:22px;right:3px}#messagelist li span.flag{position:absolute;top:22px;right:5px}#messagelist{color:#333;text-shadow:0 1px 0 #F3F3F3;overflow:hidden}#messagelist li{border-top:1px solid #DDD;padding:20px 5px 5px;cursor:pointer;height:50px;min-width:250px}#messagelist li.unread{border-left:3px solid #1B98F8}#messagelist li span,#messagelist li:hover{cursor:pointer}#messagelist li.selected span.mobile_text{text-indent:-9999px;background-color:#000;background-image:url(data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20style%3D%22fill%3A%23FFFFFF%3B%22%20points%3D%2214%2C4%2011%2C1%205.003%2C6.997%203%2C5%200%2C8%204.966%2C13%204.983%2C12.982%205%2C13%20%22%2F%3E%3C%2Fsvg%3E);background-repeat:no-repeat;background-position:center}#messagelist li a,#messagelist li a span{text-decoration:none;color:#333;font-weight:400}#messagelist li span.attachment,#messagelist li span.flag,#messagelist li span.priority,#messagelist li span.threads{width:20px;padding:2px 3px}#messagelist li.unread a,#messagelist li.unread a span,#messagelist li.unread span.from span span{font-weight:700;color:#000}#messagelist li span div.collapsed,#messagelist li span div.expanded,#messagelist li span.attachment,#messagelist li span.flag,#messagelist li span.subject span.deleted,#messagelist li span.subject span.forwarded,#messagelist li span.subject span.msgicon,#messagelist li span.subject span.replied,#messagelist li span.subject span.unread,#messagelist li span.subject span.unreadchildren{display:inline-block;vertical-align:middle;height:18px;width:20px;padding:0;background:url(images/listicons.png?v=017c.29530) -100px 0 no-repeat}#messagelist li span.flag span.flagged,#messagelist li span.flag span.unflagged,#messagelist li span.flag span.unflagged:hover,#messagelist li span.status span.status{display:inline-block;vertical-align:middle;height:18px;width:20px;padding:0;background:url(images/message-list.png?v=02) -100px 0 no-repeat}#messagelist li span.fromto,#messagelist li span.size{display:none}#messagelist li span.attachment span.attachment{background-position:0 -996px}#messagelist li span.attachment span.report{background-position:-24px -1116px}#messagelist li span.priority span.priority{background-position:-24px -1845px}#messagelist li span.priority span.prio5{background-position:0 -1905px}#messagelist li span.priority span.prio4{background-position:0 -1885px}#messagelist li span.priority span.prio2{background-position:0 -1865px}#messagelist li span.priority span.prio1{background-position:0 -1845px}#messagelist li span.flag span.flagged{background-position:center -80px}#messagelist li span.status span.msgicon{background-position:center 1px}#messagelist li span.flag span.unflagged{background-position:center -96px}#messagelist li span.subject span.msgicon,#messagelist li span.subject span.unreadchildren{background-position:0 -1056px;margin:0 1px 0 0;width:24px}#messagelist li span.subject span.replied{background-position:0 -1076px}#messagelist li span.subject span.forwarded{background-position:0 -1096px}#messagelist li span.subject span.replied.forwarded{background-position:0 -1116px}#messagelist li span.status span.unreadchildren{background-position:0 1056px}#messagelist li span.status span.deleted,#messagelist li span.status span.deleted:hover,#messagelist li span.subject span.deleted{background-position:-22px -1096px}#messagelist li span.status span.unread{background-position:center -15px}#messagelist li span.status span.status{background-position:0 -1016px}#messagelist li span div.collapsed{background-position:0 -1137px;cursor:pointer}#messagelist li span div.expanded{background-position:0 -1157px;cursor:pointer}#messagelist li span.status span{position:absolute;top:5px;left:5px}#mailboxlist li.selected>a{background-color:#2ad;border-color:#2ad;color:#fff;text-shadow:0 1px 0 #08b}#mailboxlist li.mailbox ul li a{padding-left:42px}#mailboxlist li.mailbox ul ul li.mailbox a{padding-left:58px}#mailboxlist li.mailbox ul ul ul li.mailbox a{padding-left:74px}#mailboxlist li.mailbox ul ul ul ul li.mailbox a{padding-left:90px}#mailboxlist li.mailbox ul ul ul ul ul li{padding-left:16px}#messagebody p.image-attachment{position:relative;padding:1em;border-top:1px solid #ccc}#messagebody p.image-attachment a.image-link{float:left;display:block;margin-right:2em;min-width:160px;min-height:60px;text-align:center}#messagebody p.image-attachment .image-filename{display:block;font-weight:700;line-height:1.6em}#messagebody p.image-attachment .image-filesize{padding-right:1em}#messagebody p.image-attachment .attachment-links a{margin-right:.6em}.pagenav{font-size:1em;min-height:1.1em;text-align:left;display:block;padding:.7em 0;outline:0!important}#mailsettingsbutton{float:right}#compose-bcc,#compose-cc,#compose-followupto,#compose-replyto{display:none}.jqm-compose .ui-content,.jqm-message .ui-content{padding:0}#compose-content{min-height:487px}#composeheaders{margin-top:-5px}#composeheaders .compose-object{padding:0 5px;border-top:1px solid #DDD}#composeheaders #compose-bcc textarea,#composeheaders #compose-cc textarea,#composeheaders #compose-subject input,#composeheaders #compose-to textarea{display:inline-block;vertical-align:middle;border-style:none;border-color:Transparent;margin:0;box-shadow:none;border-radius:0;overflow:auto}#composeheaders #_from-button{font-size:90%}#composeheaders a{font-size:90%;padding:5px}#composeheaders #compose-bcc,#composeheaders #compose-cc,#composeheaders #compose-subject,#composeheaders #compose-to{background-color:#fff}#composeheaders #compose-bcc label,#composeheaders #compose-cc label,#composeheaders #compose-subject label,#composeheaders #compose-to label{display:inline-block;vertical-align:middle;font-size:90%;margin:0;color:#045FB4}#composeheaders #compose-bcc textarea,#composeheaders #compose-cc textarea,#composeheaders #compose-to textarea{width:85%}#composeheaders #compose-subject .ui-input-text{margin:0}#composeheaders #compose-subject .ui-focus{box-shadow:none}#composeview-bottom{position:relative;left:0;right:0;min-height:200px}#composeview-bottom label{margin-left:5px;font-size:90%;color:#045FB4}#composeview-bottom #composebodycontainer{position:absolute;top:0;bottom:0;left:0;right:0}#composeview-bottom textarea{border-radius:0;margin-top:0}#composeoptions{display:none;padding:2px 0 0 8px;white-space:normal;border-top:1px solid #dfdfdf;box-shadow:inset 0 1px 0 0 #fff;-o-box-shadow:inset 0 1px 0 0 #fff;-webkit-box-shadow:inset 0 1px 0 0 #fff;-moz-box-shadow:inset 0 1px 0 0 #fff}.composeoption{color:#666;padding-right:22px;white-space:nowrap}#composeoptions .composeoption{display:inline-block;padding:4px 22px 4px 0}#composeoptions .composeoption:last-child{padding-right:4px}#messageheader{position:relative;padding:3px 0 3px 10px;background:#f9f9f9;border-bottom:1px solid #dfdfdf;border-radius:4px 4px 0 0;max-height:50%;overflow:hidden}#messagecontent .rightcol,#messagepreview .rightcol{background:#f0f0f0;padding:8px;border-radius:4px}#message-objects div.notice{display:block;color:#960;border:1px solid #FFDF0E;background-color:#FEF893;background-position:5px -83px;padding:6px 12px 6px 30px;white-space:normal}#formatcontrols{display:none}#messagecontent pre{white-space:pre-wrap}#messagebody{overflow-x:auto}.unreadcount{right:.8em;background-color:#2a2a2a;border-color:#1d1d1d;color:#fff;text-shadow:0 1px 0 #111;position:absolute;font-size:12.5px;font-weight:700;text-align:center;border-width:1px;border-style:solid;padding:0 .48em;line-height:1.6em;min-height:1.6em;min-width:.64em;top:50%;margin-top:-.88em;border-radius:4px}#pull_to_refresh{background-color:#fff;border-color:#ddd;color:grey;font-size:14px;margin:-16px -16px 25px;padding:45px 25px 15px;background-image:url(images/1408736270_519892-037_ArrowUp.png);background-repeat:no-repeat;background-position:5px;position:absolute;width:100%;top:-79px}#pull_to_refresh span{margin-left:auto;margin-right:auto;padding-left:35px}.mailiframebox{height:100%}#mail-list-left-panel{overflow-y:auto;border-right:1px solid grey}#mail-list-left-panel #messagelist{overflow:auto;overflow-x:hidden;background-color:#f9f9f9}.message-content{overflow-y:scroll;overflow-x:hidden;border-width:0;padding:.5em;background:#F0F0F0}#messagecontent{padding:.5em;background:#FFF}#messageheader .subject{margin-left:85px}#messageheader #contactphoto{width:70px;height:70px;overflow:hidden;border-radius:35px;border:1px solid #585858;background:url(images/contactpic_48px.png?v=1bc4.353) center center no-repeat #FFF;position:absolute;top:5px;left:5px}#messageheader #contactphoto img{width:75px;height:75px;border-radius:4px}#slide-message{display:none;position:fixed;width:100%;top:42px}.jqm-mail-buttons-header,.jqm-mail-search-header{display:none;height:45px}.jqm-mail-search-header .searchbox{margin-left:60px;margin-right:10px;margin-top:-6px}#jqm-mail-newmessage-button{position:fixed;right:20px;bottom:40px;-webkit-transform:translateZ(0)}div.slide_to_delete,div.slide_to_mark{position:absolute;top:0;padding:28px 10px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;color:#fff}#jqm-mail-newmessage-button>a{height:55px;width:55px;border-radius:28px;background-color:#fa383e}#jqm-mail-newmessage-button>a::after{background-color:rgba(0,0,0,.3);background-position:center center;background-repeat:no-repeat;border-radius:1em}div.slide_to_delete{background-color:#FA5858}div.slide_to_mark{background-color:#2ad}#folder-selector{background-color:#333;border-color:#1f1f1f;color:#fff;text-shadow:0 1px 0 #111;top:50px;left:30px;font-size:16px;margin:.5em 0;padding:1em .7em;text-align:left;width:auto;position:fixed} -------------------------------------------------------------------------------- /meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Mélanie2 Larry mobile", 3 | "author": "PNE Annuaire et Messagerie basée sur la skin Larry by FLINT et JQuery Mobile", 4 | "license": "Creative Commons Attribution-ShareAlike", 5 | "license-url": "http://creativecommons.org/licenses/by-sa/3.0/" 6 | } 7 | -------------------------------------------------------------------------------- /settings.css: -------------------------------------------------------------------------------- 1 | @CHARSET "UTF-8"; 2 | 3 | #settingslist_mobile #settingstabresponses { 4 | display: none; 5 | } 6 | 7 | #settingslist_mobile li.selected > a { 8 | background-color: #2ad; 9 | border-color: #2ad; 10 | color: #fff; 11 | text-shadow: 0 1px 0 #08b; 12 | } 13 | 14 | #keys-table, 15 | #identities-table, 16 | #sections-table { 17 | width: 100%; 18 | color: #333; 19 | text-shadow: 0px 1px 0px #F3F3F3; 20 | overflow: auto; 21 | } 22 | 23 | #keys-table td, 24 | #identities-table td, 25 | #sections-table td { 26 | border-bottom: 1px solid #DDD; 27 | padding: 20px 0px 20px; 28 | } 29 | 30 | #keys-table tr:hover, 31 | #identities-table tr:hover, 32 | #sections-table tr:hover { 33 | background-color:#ededed; 34 | cursor: pointer; 35 | } 36 | 37 | #keys-table tr.selected, 38 | #identities-table tr.selected, 39 | #sections-table tr.selected { 40 | background-color: #ededed; 41 | } 42 | 43 | #filterslist { 44 | width: 100%; 45 | color: #333; 46 | text-shadow: 0px 1px 0px #F3F3F3; 47 | overflow: auto; 48 | } 49 | 50 | #filterslist td { 51 | border-bottom: 1px solid #DDD; 52 | padding: 20px 0px 20px; 53 | } 54 | 55 | #filterslist tr:hover { 56 | background-color:#ededed; 57 | cursor: pointer; 58 | } 59 | 60 | #filterslist tr.selected { 61 | background-color: #ededed; 62 | } 63 | 64 | #preferences-details legend { 65 | font-weight: bold; 66 | } 67 | 68 | #subscription-table .ui-listview { 69 | margin: 0; 70 | } 71 | 72 | #subscription-table .root { 73 | display: none; 74 | } 75 | 76 | #subscription-table li.selected > a { 77 | background-color: #2ad; 78 | border-color: #2ad; 79 | color: #fff; 80 | text-shadow: 0 1px 0 #08b; 81 | } 82 | 83 | #subscription-table li.mailbox ul li a { 84 | padding-left: 42px; /* 36 + 1 x 16 */ 85 | } 86 | 87 | #subscription-table li.mailbox ul ul li.mailbox a { 88 | padding-left: 58px; /* 2x */ 89 | } 90 | 91 | #subscription-table li.mailbox ul ul ul li.mailbox a { 92 | padding-left: 74px; /* 3x */ 93 | } 94 | 95 | #subscription-table li.mailbox ul ul ul ul li.mailbox a { 96 | padding-left: 90px; /* 4x */ 97 | } 98 | 99 | #subscription-table li.mailbox ul ul ul ul ul li { 100 | padding-left: 16px; 101 | } 102 | 103 | #subscription-table .ui-checkbox { 104 | margin: 0; 105 | position: relative; 106 | top: 23px; 107 | } 108 | 109 | #subscription-table li a { 110 | padding-left: 30px; 111 | } 112 | 113 | #preferences-details table.propform tr, 114 | #preferences-details table.propform td, 115 | #preferences-details table.propform { 116 | width: 100%; 117 | overflow: hidden; 118 | display: block; 119 | } 120 | 121 | #preferences-details table.propform .ui-select { 122 | max-width: 100%; 123 | max-width: 99%; 124 | overflow: hidden; 125 | } 126 | 127 | #sections-table #rcmrowenigma .section { 128 | background: none !important; 129 | } -------------------------------------------------------------------------------- /settings.min.css: -------------------------------------------------------------------------------- 1 | #settingslist_mobile #settingstabresponses,#subscription-table .root{display:none}#settingslist_mobile li.selected>a{background-color:#2ad;border-color:#2ad;color:#fff;text-shadow:0 1px 0 #08b}#filterslist tr.selected,#filterslist tr:hover,#identities-table tr.selected,#keys-table tr.selected,#sections-table tr.selected{background-color:#ededed}#filterslist td,#identities-table td,#keys-table td,#sections-table td{border-bottom:1px solid #DDD;padding:20px 0}#filterslist,#identities-table,#keys-table,#sections-table{color:#333;text-shadow:0 1px 0 #F3F3F3;overflow:auto;width:100%}#identities-table tr:hover,#keys-table tr:hover,#sections-table tr:hover{background-color:#ededed;cursor:pointer}#filterslist tr:hover{cursor:pointer}#preferences-details legend{font-weight:700}#subscription-table .ui-listview{margin:0}#subscription-table li.selected>a{background-color:#2ad;border-color:#2ad;color:#fff;text-shadow:0 1px 0 #08b}#subscription-table li.mailbox ul li a{padding-left:42px}#subscription-table li.mailbox ul ul li.mailbox a{padding-left:58px}#subscription-table li.mailbox ul ul ul li.mailbox a{padding-left:74px}#subscription-table li.mailbox ul ul ul ul li.mailbox a{padding-left:90px}#subscription-table li.mailbox ul ul ul ul ul li{padding-left:16px}#subscription-table .ui-checkbox{margin:0;position:relative;top:23px}#subscription-table li a{padding-left:30px}#preferences-details table.propform,#preferences-details table.propform td,#preferences-details table.propform tr{width:100%;overflow:hidden;display:block}#preferences-details table.propform .ui-select{max-width:100%;max-width:99%;overflow:hidden}#sections-table #rcmrowenigma .section{background:0 0!important} -------------------------------------------------------------------------------- /styles.css: -------------------------------------------------------------------------------- 1 | body.noscroll { 2 | /* also avoids bounce effect in Chrome and Safari */ 3 | overflow: hidden; 4 | } 5 | 6 | .popupmenu, 7 | #rcmKSearchpane { 8 | display: none; 9 | position: fixed; 10 | top: 32px; 11 | left: 90px; 12 | width: 90%; 13 | max-height: 70%; 14 | overflow: -moz-scrollbars-vertical; 15 | overflow-y: auto; 16 | background: #2A2A2A; 17 | border: 1px solid #999; 18 | border-radius: 4px; 19 | z-index: 240; 20 | box-shadow: 0 2px 6px 0 #333; 21 | -moz-box-shadow: 0 2px 6px 0 #333; 22 | -webkit-box-shadow: 0 2px 6px 0 #333; 23 | -o-box-shadow: 0 2px 6px 0 #333; 24 | } 25 | 26 | ul.toolbarmenu, 27 | #rcmKSearchpane ul { 28 | margin: 0; 29 | padding: 0; 30 | list-style: none; 31 | } 32 | 33 | ul.toolbarmenu li, 34 | #rcmKSearchpane ul li { 35 | color: #fff; 36 | white-space: nowrap; 37 | min-width: 130px; 38 | margin: 0; 39 | border-top: 1px solid #5a5a5a; 40 | border-bottom: 1px solid #1F1F1F; 41 | } 42 | 43 | #rcmKSearchpane ul li.selected { 44 | background-color:#373737; 45 | } 46 | 47 | #rcmKSearchpane { 48 | border-radius: 0 0 4px 4px; 49 | border-top: 0; 50 | } 51 | 52 | #rcmKSearchpane ul li { 53 | text-shadow: 0px 1px 1px #333; 54 | text-decoration: none; 55 | min-height: 14px; 56 | padding: 6px 10px 6px 10px; 57 | border: 0; 58 | cursor: default; 59 | } 60 | 61 | .googie_list tr:first-child td, 62 | ul.toolbarmenu > li:first-child, 63 | select.decorated option:first-child { 64 | border-top: 0; 65 | } 66 | 67 | .googie_list tr:last-child td, 68 | ul.toolbarmenu > li:last-child, 69 | select.decorated option:last-child { 70 | border-bottom: 0; 71 | } 72 | 73 | .googie_list td span, 74 | ul.toolbarmenu li a { 75 | display: block; 76 | color: #fff; 77 | text-shadow: 0px 1px 0px #111; 78 | text-decoration: none; 79 | min-height: 14px; 80 | padding: 6px 16px 6px 10px; 81 | } 82 | 83 | .googie_list td span { 84 | padding: 3px 10px; 85 | } 86 | 87 | .googie_list td span, 88 | ul.toolbarmenu li a.active { 89 | color: #fff; 90 | cursor: default; 91 | } 92 | 93 | .googie_list td.googie_list_onhover, 94 | ul.toolbarmenu li a.active:hover, 95 | #rcmKSearchpane ul li.selected, 96 | select.decorated option:hover, 97 | select.decorated option[selected='selected'] { 98 | background-color:#373737; 99 | } 100 | 101 | ul.toolbarmenu.iconized li a, 102 | ul.toolbarmenu.selectable li a { 103 | padding-left: 30px; 104 | } 105 | 106 | ul.toolbarmenu.selectable li a.selected { 107 | background: url(images/messages.png?v=01ee.1736) 4px -27px no-repeat; 108 | } 109 | 110 | ul.toolbarmenu li label { 111 | display: block; 112 | color: #fff; 113 | padding: 4px 8px; 114 | text-shadow: 0px 1px 1px #333; 115 | } 116 | 117 | ul.toolbarmenu li.separator label { 118 | color: #bbb; 119 | font-style: italic; 120 | } 121 | 122 | ul.toolbarmenu li a.icon { 123 | color: #eee; 124 | padding: 2px 6px; 125 | font-size: 1.2em; 126 | } 127 | 128 | ul.toolbarmenu li span.icon { 129 | display: block; 130 | min-height: 14px; 131 | padding: 4px 4px 1px 24px; 132 | height: 24px; 133 | background-image: url(images/listicons.png?v=017c.29530); 134 | background-position: -100px 0; 135 | background-repeat: no-repeat; 136 | opacity: 0.2; 137 | filter: alpha(opacity=20); 138 | } 139 | 140 | ul.toolbarmenu li a.active span.icon { 141 | opacity: 0.99; 142 | filter: alpha(opacity=100); 143 | } 144 | 145 | ul.toolbarmenu li span.read { 146 | background-position: 0 -1220px; 147 | } 148 | 149 | ul.toolbarmenu li span.unread { 150 | background-position: 0 -1196px; 151 | } 152 | 153 | ul.toolbarmenu li span.flagged { 154 | background-position: 0 -1244px; 155 | } 156 | 157 | ul.toolbarmenu li span.unflagged { 158 | background-position: 0 -1268px; 159 | } 160 | 161 | ul.toolbarmenu li span.mail { 162 | background-position: 0 -1293px; 163 | } 164 | 165 | ul.toolbarmenu li span.list { 166 | background-position: 0 -1317px; 167 | } 168 | 169 | ul.toolbarmenu li span.invert { 170 | background-position: 0 -1340px; 171 | } 172 | 173 | ul.toolbarmenu li span.cross { 174 | background-position: 0 -1365px; 175 | } 176 | 177 | ul.toolbarmenu li span.print { 178 | background-position: 0 -1436px; 179 | } 180 | 181 | ul.toolbarmenu li span.download { 182 | background-position: 0 -1412px; 183 | } 184 | 185 | ul.toolbarmenu li span.edit { 186 | background-position: 0 -1388px; 187 | } 188 | 189 | ul.toolbarmenu li span.viewsource { 190 | background-position: 0 -1460px; 191 | } 192 | 193 | ul.toolbarmenu li span.extwin { 194 | background-position: 0 -1484px; 195 | } 196 | 197 | ul.toolbarmenu li span.conversation { 198 | background-position: 0 -1532px; 199 | } 200 | 201 | ul.toolbarmenu li span.move { 202 | background-position: 0 -2126px; 203 | } 204 | 205 | ul.toolbarmenu li span.copy { 206 | background-position: 0 -2150px; 207 | } 208 | 209 | /*** attachment list ***/ 210 | 211 | .attachmentslist { 212 | list-style: none; 213 | margin: 0; 214 | padding: 0; 215 | overflow: hidden; 216 | text-overflow: ellipsis; 217 | } 218 | 219 | .attachmentslist li { 220 | display: block; 221 | position: relative; 222 | background: url(images/filetypes.png?v=a710.9018) 0 0 no-repeat; 223 | margin-bottom: 1px; 224 | } 225 | 226 | .attachmentslist li.pdf { 227 | background-position: 0 -26px; 228 | } 229 | 230 | .attachmentslist li.doc, 231 | .attachmentslist li.docx, 232 | .attachmentslist li.msword { 233 | background-position: 0 -52px; 234 | } 235 | 236 | .attachmentslist li.odt { 237 | background-position: 0 -78px; 238 | } 239 | 240 | .attachmentslist li.xls, 241 | .attachmentslist li.xlsx, 242 | .attachmentslist li.msexcel { 243 | background-position: 0 -104px; 244 | } 245 | 246 | .attachmentslist li.ods { 247 | background-position: 0 -130px; 248 | } 249 | 250 | .attachmentslist li.zip, 251 | .attachmentslist li.gz { 252 | background-position: 0 -156px; 253 | } 254 | 255 | .attachmentslist li.rar { 256 | background-position: 0 -182px; 257 | } 258 | 259 | .attachmentslist li.image { 260 | background-position: 0 -208px; 261 | } 262 | 263 | .attachmentslist li.jpg, 264 | .attachmentslist li.jpeg { 265 | background-position: 0 -234px; 266 | } 267 | 268 | .attachmentslist li.png { 269 | background-position: 0 -260px; 270 | } 271 | 272 | .attachmentslist li.m4p { 273 | background-position: 0 -286px; 274 | } 275 | 276 | .attachmentslist li.mp3, 277 | .attachmentslist li.audio { 278 | background-position: 0 -312px; 279 | } 280 | 281 | .attachmentslist li.video { 282 | background-position: 0 -338px; 283 | } 284 | 285 | .attachmentslist li.txt, 286 | .attachmentslist li.text { 287 | background-position: 0 -416px; 288 | } 289 | 290 | .attachmentslist li.ics, 291 | .attachmentslist li.calendar { 292 | background-position: 0 -364px; 293 | } 294 | 295 | .attachmentslist li.vcard { 296 | background-position: 0 -390px; 297 | } 298 | 299 | .attachmentslist li.sig, 300 | .attachmentslist li.pgp-signature, 301 | .attachmentslist li.pkcs7-signature { 302 | background-position: 0 -442px; 303 | } 304 | 305 | .attachmentslist li.html { 306 | background-position: 0 -468px; 307 | } 308 | 309 | .attachmentslist li.eml, 310 | .attachmentslist li.rfc822 { 311 | background-position: 0 -494px; 312 | } 313 | 314 | .attachmentslist li.ppt, 315 | .attachmentslist li.pptx, 316 | .attachmentslist li.ppsx, 317 | .attachmentslist li.vnd.mspowerpoint { 318 | background-position: 0 -520px; 319 | } 320 | 321 | .attachmentslist li.odp, 322 | .attachmentslist li.otp { 323 | background-position: 0 -546px; 324 | } 325 | 326 | .attachmentslist li a, 327 | #compose-attachments ul li { 328 | display: block; 329 | color: #333; 330 | font-weight: bold; 331 | padding: 3px 15px 3px 30px; 332 | text-shadow: 0px 1px 1px #fff; 333 | text-decoration: none; 334 | white-space: nowrap; 335 | overflow: hidden; 336 | text-overflow: ellipsis; 337 | line-height: 20px; 338 | } 339 | 340 | .attachmentslist li a.drop { 341 | background: url(images/buttons.png?v=3e15.39327) no-repeat scroll center -1570px; 342 | width: 14px; 343 | height: 20px; 344 | cursor: pointer; 345 | position: absolute; 346 | right: 0; 347 | top: 0; 348 | padding: 0; 349 | } 350 | 351 | #compose-attachments ul li { 352 | padding-right: 28px; 353 | } 354 | 355 | .attachmentslist li a:hover { 356 | text-decoration: underline; 357 | } 358 | 359 | .attachmentslist li.uploading { 360 | background: url(images/ajaxloader.gif?v=c252.1434) 2px 6px no-repeat; 361 | } 362 | 363 | .attachmentslist li a.delete, 364 | .attachmentslist li a.cancelupload { 365 | position: absolute; 366 | top: 4px; 367 | right: 0; 368 | width: 20px; 369 | height: 18px; 370 | padding: 0; 371 | text-decoration: none; 372 | text-indent: -5000px; 373 | background: url(images/buttons.png?v=3e15.39327) -7px -337px no-repeat; 374 | } 375 | 376 | .attachmentslist li a.cancelupload { 377 | background-position: -7px -377px; 378 | } 379 | 380 | /*** folder selector ***/ 381 | 382 | #folder-selector { 383 | z-index: 10000; 384 | } 385 | 386 | #folder-selector li a span { 387 | background: url(images/listicons.png?v=017c.29530) 4px -2021px no-repeat; 388 | display: block; 389 | height: 24px; 390 | min-height: 14px; 391 | padding: 4px 4px 1px 28px; 392 | overflow: hidden; 393 | max-width: 250px; 394 | text-overflow: ellipsis; 395 | } 396 | 397 | #folder-selector li a.virtual { 398 | opacity: .2; 399 | } 400 | 401 | #folder-selector li a.inbox span { 402 | background-position: 4px -2046px; 403 | } 404 | #folder-selector li a.drafts span { 405 | background-position: 4px -1385px; 406 | } 407 | #folder-selector li a.sent span { 408 | background-position: 4px -2071px; 409 | } 410 | #folder-selector li a.trash span { 411 | background-position: 4px -1505px; 412 | } 413 | #folder-selector li a.junk span { 414 | background-position: 4px -2097px; 415 | } 416 | 417 | #messagestack { 418 | position: fixed; 419 | bottom: 0px; 420 | left: 0px; 421 | right: 0px; 422 | z-index: 50000; 423 | width: auto; 424 | height: auto; 425 | max-height: 85%; 426 | overflow-y: auto; 427 | padding: 2px; 428 | -webkit-transform: translateZ(0); 429 | } 430 | 431 | #messagestack div { 432 | display: block; 433 | position: relative; 434 | width: auto; 435 | height: auto; 436 | min-height: 20px; 437 | padding: 8px 10px 7px 30px; 438 | cursor: default; 439 | font-size: 14px; 440 | font-weight: bold; 441 | border: 1px solid #444; 442 | color: #ebebeb; 443 | text-shadow: 0 1px 1px #000; 444 | 445 | background: rgba(64,64,64,0.85); 446 | background: -moz-linear-gradient(top, rgba(64,64,64,0.85) 0%, rgba(48,48,48,0.9) 100%); 447 | background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(64,64,64,0.85)), color-stop(100%,rgba(48,48,48,0.9))); 448 | background: -webkit-linear-gradient(top, rgba(64,64,64,0.85) 0%, rgba(48,48,48,0.85) 100%); 449 | background: -o-linear-gradient(top, rgba(64,64,64,0.85) 0%, rgba(48,48,48,0.85) 100%); 450 | background: -ms-linear-gradient(top, rgba(64,64,64,0.85) 0%, rgba(48,48,48,0.85) 100%); 451 | background: linear-gradient(to bottom, rgba(64,64,64,0.85) 0%, rgba(48,48,48,0.85) 100%); 452 | 453 | -moz-box-shadow: 0 1px 4px 0 rgba(50,50,50,0.8), inset 0px 1px 0 0px #888; 454 | -webkit-box-shadow: 0 1px 4px 0 rgba(50,50,50,0.8), inset 0px 1px 0 0px #888; 455 | -o-box-shadow: 0 1px 4px 0 rgba(50,50,50,0.8), inset 0px 1px 0 0px #888; 456 | box-shadow: 0 1px 4px 0 rgba(50,50,50,0.8), inset 0px 1px 0 0px #888; 457 | } 458 | 459 | #messagestack div:after { 460 | content: ""; 461 | position: absolute; 462 | display: block; 463 | top: 0; 464 | left: 4px; 465 | width: 20px; 466 | height: 24px; 467 | background: url(images/messages_dark.png?v=2e3f.1779) 0 7px no-repeat; 468 | } 469 | 470 | #messagestack div.error { 471 | color: #ff615d; 472 | } 473 | 474 | #messagestack div.error:after { 475 | background-position: 0 -55px; 476 | } 477 | 478 | #messagestack div.warning { 479 | color: #f4bf0e; 480 | } 481 | 482 | #messagestack div.warning:after { 483 | background-position: 0 -84px; 484 | } 485 | 486 | #messagestack div.confirmation { 487 | color: #00e05a; 488 | } 489 | 490 | #messagestack div.confirmation:after { 491 | background-position: 0 -25px; 492 | } 493 | 494 | #messagestack div.loading { 495 | color: #ddd; 496 | } 497 | 498 | #messagestack div.loading:after { 499 | top: 4px; 500 | left: 6px; 501 | background: url(images/ajaxloader_dark.gif?v=cf1b.1849) 0 4px no-repeat; 502 | } 503 | 504 | #messagestack div a { 505 | color: #94c0da; 506 | } 507 | 508 | #messagestack div a:hover { 509 | text-decoration: underline; 510 | cursor: pointer; 511 | } 512 | 513 | @media ( min-width: 55em ) { 514 | #messagestack { 515 | left: 17em; 516 | } 517 | } 518 | 519 | .iframebox { 520 | position: absolute; 521 | top: 43px; 522 | left: 0px; 523 | right: 0px; 524 | bottom: 4px; 525 | } 526 | 527 | .scroller { 528 | overflow: auto; 529 | } 530 | 531 | -------------------------------------------------------------------------------- /styles.min.css: -------------------------------------------------------------------------------- 1 | body.noscroll{overflow:hidden}#rcmKSearchpane,.popupmenu{display:none;position:fixed;top:32px;left:90px;width:90%;max-height:70%;overflow:-moz-scrollbars-vertical;overflow-y:auto;background:#2A2A2A;border:1px solid #999;border-radius:4px;z-index:240;box-shadow:0 2px 6px 0 #333;-moz-box-shadow:0 2px 6px 0 #333;-webkit-box-shadow:0 2px 6px 0 #333;-o-box-shadow:0 2px 6px 0 #333}#rcmKSearchpane ul,ul.toolbarmenu{margin:0;padding:0;list-style:none}#rcmKSearchpane ul li,ul.toolbarmenu li{color:#fff;white-space:nowrap;min-width:130px;margin:0;border-top:1px solid #5a5a5a;border-bottom:1px solid #1F1F1F}#rcmKSearchpane{border-radius:0 0 4px 4px;border-top:0}#rcmKSearchpane ul li{text-shadow:0 1px 1px #333;text-decoration:none;min-height:14px;padding:6px 10px;border:0;cursor:default}.googie_list tr:first-child td,select.decorated option:first-child,ul.toolbarmenu>li:first-child{border-top:0}.googie_list tr:last-child td,select.decorated option:last-child,ul.toolbarmenu>li:last-child{border-bottom:0}.googie_list td span,ul.toolbarmenu li a{display:block;color:#fff;text-shadow:0 1px 0 #111;text-decoration:none;min-height:14px;padding:6px 16px 6px 10px}.googie_list td span{padding:3px 10px}.googie_list td span,ul.toolbarmenu li a.active{color:#fff;cursor:default}#rcmKSearchpane ul li.selected,.googie_list td.googie_list_onhover,select.decorated option:hover,select.decorated option[selected=selected],ul.toolbarmenu li a.active:hover{background-color:#373737}ul.toolbarmenu.iconized li a,ul.toolbarmenu.selectable li a{padding-left:30px}ul.toolbarmenu.selectable li a.selected{background:url(images/messages.png?v=01ee.1736) 4px -27px no-repeat}ul.toolbarmenu li label{display:block;color:#fff;padding:4px 8px;text-shadow:0 1px 1px #333}ul.toolbarmenu li.separator label{color:#bbb;font-style:italic}ul.toolbarmenu li a.icon{color:#eee;padding:2px 6px;font-size:1.2em}ul.toolbarmenu li span.icon{display:block;min-height:14px;padding:4px 4px 1px 24px;height:24px;background-image:url(images/listicons.png?v=017c.29530);background-position:-100px 0;background-repeat:no-repeat;opacity:.2;filter:alpha(opacity=20)}ul.toolbarmenu li a.active span.icon{opacity:.99;filter:alpha(opacity=100)}ul.toolbarmenu li span.read{background-position:0 -1220px}ul.toolbarmenu li span.unread{background-position:0 -1196px}ul.toolbarmenu li span.flagged{background-position:0 -1244px}ul.toolbarmenu li span.unflagged{background-position:0 -1268px}ul.toolbarmenu li span.mail{background-position:0 -1293px}ul.toolbarmenu li span.list{background-position:0 -1317px}ul.toolbarmenu li span.invert{background-position:0 -1340px}ul.toolbarmenu li span.cross{background-position:0 -1365px}ul.toolbarmenu li span.print{background-position:0 -1436px}ul.toolbarmenu li span.download{background-position:0 -1412px}ul.toolbarmenu li span.edit{background-position:0 -1388px}ul.toolbarmenu li span.viewsource{background-position:0 -1460px}ul.toolbarmenu li span.extwin{background-position:0 -1484px}ul.toolbarmenu li span.conversation{background-position:0 -1532px}ul.toolbarmenu li span.move{background-position:0 -2126px}ul.toolbarmenu li span.copy{background-position:0 -2150px}.attachmentslist{list-style:none;margin:0;padding:0;overflow:hidden;text-overflow:ellipsis}.attachmentslist li{display:block;position:relative;background:url(images/filetypes.png?v=a710.9018) no-repeat;margin-bottom:1px}.attachmentslist li.pdf{background-position:0 -26px}.attachmentslist li.doc,.attachmentslist li.docx,.attachmentslist li.msword{background-position:0 -52px}.attachmentslist li.odt{background-position:0 -78px}.attachmentslist li.msexcel,.attachmentslist li.xls,.attachmentslist li.xlsx{background-position:0 -104px}.attachmentslist li.ods{background-position:0 -130px}.attachmentslist li.gz,.attachmentslist li.zip{background-position:0 -156px}.attachmentslist li.rar{background-position:0 -182px}.attachmentslist li.image{background-position:0 -208px}.attachmentslist li.jpeg,.attachmentslist li.jpg{background-position:0 -234px}.attachmentslist li.png{background-position:0 -260px}.attachmentslist li.m4p{background-position:0 -286px}.attachmentslist li.audio,.attachmentslist li.mp3{background-position:0 -312px}.attachmentslist li.video{background-position:0 -338px}.attachmentslist li.text,.attachmentslist li.txt{background-position:0 -416px}.attachmentslist li.calendar,.attachmentslist li.ics{background-position:0 -364px}.attachmentslist li.vcard{background-position:0 -390px}.attachmentslist li.pgp-signature,.attachmentslist li.pkcs7-signature,.attachmentslist li.sig{background-position:0 -442px}.attachmentslist li.html{background-position:0 -468px}.attachmentslist li.eml,.attachmentslist li.rfc822{background-position:0 -494px}.attachmentslist li.ppsx,.attachmentslist li.ppt,.attachmentslist li.pptx,.attachmentslist li.vnd.mspowerpoint{background-position:0 -520px}.attachmentslist li.odp,.attachmentslist li.otp{background-position:0 -546px}#compose-attachments ul li,.attachmentslist li a{display:block;color:#333;font-weight:700;padding:3px 15px 3px 30px;text-shadow:0 1px 1px #fff;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:20px}.attachmentslist li a.drop{background:url(images/buttons.png?v=3e15.39327) center -1570px no-repeat;width:14px;height:20px;cursor:pointer;position:absolute;right:0;top:0;padding:0}#compose-attachments ul li{padding-right:28px}.attachmentslist li a:hover{text-decoration:underline}.attachmentslist li.uploading{background:url(images/ajaxloader.gif?v=c252.1434) 2px 6px no-repeat}.attachmentslist li a.cancelupload,.attachmentslist li a.delete{position:absolute;top:4px;right:0;width:20px;height:18px;padding:0;text-decoration:none;text-indent:-5000px;background:url(images/buttons.png?v=3e15.39327) -7px -337px no-repeat}.attachmentslist li a.cancelupload{background-position:-7px -377px}#folder-selector{z-index:10000}#folder-selector li a span{background:url(images/listicons.png?v=017c.29530) 4px -2021px no-repeat;display:block;height:24px;min-height:14px;padding:4px 4px 1px 28px;overflow:hidden;max-width:250px;text-overflow:ellipsis}#folder-selector li a.virtual{opacity:.2}#folder-selector li a.inbox span{background-position:4px -2046px}#folder-selector li a.drafts span{background-position:4px -1385px}#folder-selector li a.sent span{background-position:4px -2071px}#folder-selector li a.trash span{background-position:4px -1505px}#folder-selector li a.junk span{background-position:4px -2097px}#messagestack{position:fixed;bottom:0;left:0;right:0;z-index:50000;width:auto;height:auto;max-height:85%;overflow-y:auto;padding:2px;-webkit-transform:translateZ(0)}#messagestack div{display:block;position:relative;width:auto;height:auto;min-height:20px;padding:8px 10px 7px 30px;cursor:default;font-size:14px;font-weight:700;border:1px solid #444;color:#ebebeb;text-shadow:0 1px 1px #000;background:rgba(64,64,64,.85);background:-moz-linear-gradient(top,rgba(64,64,64,.85) 0,rgba(48,48,48,.9) 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,rgba(64,64,64,.85)),color-stop(100%,rgba(48,48,48,.9)));background:-webkit-linear-gradient(top,rgba(64,64,64,.85) 0,rgba(48,48,48,.85) 100%);background:-o-linear-gradient(top,rgba(64,64,64,.85) 0,rgba(48,48,48,.85) 100%);background:-ms-linear-gradient(top,rgba(64,64,64,.85) 0,rgba(48,48,48,.85) 100%);background:linear-gradient(to bottom,rgba(64,64,64,.85) 0,rgba(48,48,48,.85) 100%);-moz-box-shadow:0 1px 4px 0 rgba(50,50,50,.8),inset 0 1px 0 0 #888;-webkit-box-shadow:0 1px 4px 0 rgba(50,50,50,.8),inset 0 1px 0 0 #888;-o-box-shadow:0 1px 4px 0 rgba(50,50,50,.8),inset 0 1px 0 0 #888;box-shadow:0 1px 4px 0 rgba(50,50,50,.8),inset 0 1px 0 0 #888}#messagestack div:after{content:"";position:absolute;display:block;top:0;left:4px;width:20px;height:24px;background:url(images/messages_dark.png?v=2e3f.1779) 0 7px no-repeat}#messagestack div.error{color:#ff615d}#messagestack div.error:after{background-position:0 -55px}#messagestack div.warning{color:#f4bf0e}#messagestack div.warning:after{background-position:0 -84px}#messagestack div.confirmation{color:#00e05a}#messagestack div.confirmation:after{background-position:0 -25px}#messagestack div.loading{color:#ddd}#messagestack div.loading:after{top:4px;left:6px;background:url(images/ajaxloader_dark.gif?v=cf1b.1849) 0 4px no-repeat}#messagestack div a{color:#94c0da}#messagestack div a:hover{text-decoration:underline;cursor:pointer}@media (min-width:55em){#messagestack{left:17em}}.iframebox{position:absolute;top:43px;left:0;right:0;bottom:4px}.scroller{overflow:auto} -------------------------------------------------------------------------------- /templates/addressbook.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | <roundcube:object name="pagetitle" /> 5 | 6 | 7 | 8 |
9 |
10 | 13 |

Contacts

14 |
15 | Search 16 | Apps 17 |
18 |
19 | 20 |
21 | 24 | 27 |
28 | 29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 | 41 | 42 |
43 |
44 |
45 | 46 |


47 |
48 | 49 | 50 | 51 |
52 | 53 |
54 | 55 |
56 |
57 |
58 | 59 | 60 | 61 | 62 | 63 | -------------------------------------------------------------------------------- /templates/compose.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | <roundcube:object name="pagetitle" /> 5 | 6 | 7 | 8 | 9 |
10 | 11 |
13 |
14 | 17 | < /> 20 | 21 | 24 | 25 |
26 |

27 | 28 |

29 |
30 | "> 33 | 34 | 35 | 38 | 41 |
42 |
43 | 44 |
45 | 47 | 48 | 49 |
50 |
51 | 52 |
53 |
54 | 55 | 56 |
57 |
58 | 59 | 61 |
62 |
63 | 64 | 66 |
67 |
68 | 72 | 76 |
77 |
78 | 80 | 82 |
83 |
84 | 86 |
87 |
88 | 89 |
90 |
91 | 93 | 95 |
96 |
97 | 98 | 99 |
101 | Close 103 | 105 |
106 | 109 |
110 |
111 |
112 |
113 | 114 | 115 | 116 | 117 | 118 | -------------------------------------------------------------------------------- /templates/contact.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | <roundcube:object name="pagetitle" /> 5 | 6 | 7 | 8 |
9 |
10 | 13 | 14 |

15 |
16 | 17 | 18 |
19 |
20 | 21 |
22 |
23 | 24 |
:
25 | 26 | 27 |
28 | 29 |
30 | 31 |
32 | 33 |
34 | 35 |
36 | 37 |
38 |
39 | 40 | 41 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /templates/contactedit.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | <roundcube:object name="pagetitle" /> 5 | 6 | 7 | 8 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | -------------------------------------------------------------------------------- /templates/error.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | <roundcube:object name="pagetitle" /> 5 | 6 | 7 | 8 | 9 |
10 |
11 | 12 |

13 |
14 | 15 |
16 |

17 |
18 | $__page_content 19 |
20 |
21 |
22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /templates/folderedit.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | <roundcube:object name="pagetitle" /> 5 | 6 | 7 | 8 |
9 |
10 |
11 | Back 12 |
13 |

14 |
15 | 16 | 17 |
18 |
19 | 20 |
21 |
22 | 23 |
24 |
25 |
26 | 27 | 28 | 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /templates/folders.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | <roundcube:object name="pagetitle" /> 5 | 6 | 7 | 8 |
9 |
10 | 13 |

14 |
15 | 16 | Apps 17 |
18 |
19 | 20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 | 30 | 32 |
33 |
34 |
    35 | 36 |
37 | 38 |
39 |
40 | 41 | 42 | 43 |
44 | 45 |
46 |
47 | 48 | 49 | 50 | 51 | 52 | -------------------------------------------------------------------------------- /templates/identities.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | <roundcube:object name="pagetitle" /> 5 | 6 | 7 | 8 |
9 |
10 | 13 |

14 |
15 | Apps 16 |
17 |
18 | 19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
    31 | 32 |
33 | 34 |
35 |
36 | 37 | 38 | 39 |
40 | 41 |
42 |
43 | 44 | 45 | 46 | 47 | -------------------------------------------------------------------------------- /templates/identityedit.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | <roundcube:object name="pagetitle" /> 5 | 6 | 7 | 8 |
9 |
10 |
11 | Back 12 |
13 |

14 |
15 | 16 |
17 |
18 | 19 |
20 |
21 | 22 |
23 |
24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /templates/login.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | <roundcube:object name="pagetitle" /> 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 |
13 |
20 | 21 |
22 | 23 | 26 |
27 | 28 |
29 | 30 | 31 |  ●  32 | 33 | 34 |
35 |
36 | 37 | 38 | 39 | 53 | 54 | 55 | 56 | -------------------------------------------------------------------------------- /templates/mail.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | <roundcube:object name="pagetitle" /> 5 | 6 | 7 | 8 |
10 |
12 |
14 | Menu 17 | Fullscreen 20 |
21 |

Mail

22 |
24 | Search 26 | Apps 29 |
30 |
31 | 32 |
34 | Cancel 36 |
37 | 38 | 39 | 40 | 41 | 42 | Show more 43 |
44 |
45 | 46 |
48 |
49 | 50 | 51 | 52 | 53 | 54 | 55 |
56 |
57 | 58 |
60 |
62 | Cancel 64 |
65 | 68 |
69 | 70 |
72 | 73 |
75 | 76 |
77 |
78 | 79 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 | 90 |
91 |
92 |
93 |
94 | 97 |
98 |
99 | 100 | 102 |
103 | 106 |

107 |

114 | 115 |

116 |
117 |
118 |
119 |
120 | 121 | 122 | 123 | 124 |
125 | 127 |
128 |
129 |
130 | 133 |
134 |
135 | 136 |
137 | Close 139 |
    140 |
  • 142 |
  • 144 | 145 |
  • 148 |
  • 151 | 152 |
  • 155 |
  • 158 | 159 |
160 |
161 | 162 |
163 | 164 | 165 | 166 |
167 | 168 | 169 | 170 | -------------------------------------------------------------------------------- /templates/message.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | <roundcube:object name="pagetitle" /> 5 | 6 | 7 | 8 |
9 |
10 | 15 |
16 | 17 | 18 | 19 |
20 |

21 | 27 |
28 |
29 | Close 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 |
41 | 42 |
43 |
44 |

45 |
46 | 47 |
48 | 49 | 50 | 51 | 56 | 57 | 62 | 63 | 64 | 65 |
66 |
67 | 68 |
69 |
70 | 71 |
72 |
73 | 74 | 75 |
76 |
77 | 78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |

87 | 88 | 89 | 90 | 91 | 95 | 96 | 97 | 98 | 99 | 100 | 101 |
92 | 93 | 94 |
102 |
103 | 104 |
105 |
106 |
107 |
108 |
109 | 110 | 111 | 112 | 113 | 114 | -------------------------------------------------------------------------------- /templates/messageerror.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | <roundcube:object name="pagetitle" /> 5 | 6 | 7 | 8 | 9 |
10 |
11 | 12 |

13 |
14 |
15 |
16 |
17 |
18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /templates/messagepart.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | <roundcube:object name="pagetitle" /> 5 | 6 | 7 | 8 | 9 | 10 | .css" /> 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 |
22 | 23 | 24 |
25 | 26 |
27 |

28 |
29 | 30 |
31 |
32 | 33 |
34 |
35 | 36 |
37 |
38 | 39 |
40 | 41 | 42 | 43 | 44 | 45 | -------------------------------------------------------------------------------- /templates/plugin.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | <roundcube:object name="pagetitle" /> 5 | 6 | 7 | 8 | 9 |
10 |
11 |
12 | Back 13 |
14 |

15 |
16 | 17 |
18 |
19 | 20 |
21 | 22 |
23 |
24 | 25 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /templates/settings.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | <roundcube:object name="pagetitle" /> 5 | 6 | 7 | 8 |
9 |
10 | 13 |

14 |
15 | Apps 16 |
17 |
18 | 19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
    31 | 32 |
33 | 34 |
35 |
36 | 37 | 38 | 39 |
40 | 41 |
42 |
43 | 44 | 45 | 46 | 47 | 48 | -------------------------------------------------------------------------------- /templates/settingsedit.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | <roundcube:object name="pagetitle" /> 5 | 6 | 7 | 8 |
9 |
10 | Back 11 |

12 | 13 |
14 | 15 |
16 |
17 | 18 |
19 |
20 |
21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /thumbnail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/messagerie-melanie2/Roundcube-Skin-Melanie2-Larry-Mobile/ae5242f294208a04076f9492bd7048501d1369a9/thumbnail.png -------------------------------------------------------------------------------- /ui.min.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Roundcube functions for default skin interface 3 | * 4 | * Copyright (c) 2013, 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 | // Fixed for work with jQuery 3. 12 | 13 | function rcube_mail_ui(){function e(e){if(N||(N=window.localStorage?rcmail.local_storage_get_item("prefs.larry",{}):{}),null==N[e]){var t=rcmail.get_cookie(e);null!=t&&(N[e]=t,window.localStorage&&(rcmail.local_storage_set_item("prefs.larry",N),rcmail.set_cookie(e,t,new Date)))}return N[e]}function t(e,t){if(N[e]=t,window.localStorage)rcmail.local_storage_set_item("prefs.larry",N);else{var i=new Date;i.setYear(i.getFullYear()+1),rcmail.set_cookie(e,t,i)}}function s(e){var t,i,s=e.target;"inner"==s.className&&(s=e.target.parentNode);for(var a in j)if(i=j[a],t=q[a],i.is(":visible")&&s.id!=a+"link"&&s!=i.get(0)&&!t.toggle&&(!t.editable||!v(s,i.get(0)))&&(!t.sticky||!rcube_mouse_is_over(e,i.get(0)))&&!$(s).is(".folder-selector-link")){var o=a+"";window.setTimeout(function(){f(o,!1)},10)}}function a(e){var t=e?10:0;rcmail.resize_timeout&&window.clearTimeout(rcmail.resize_timeout),rcmail.resize_timeout=window.setTimeout(function(){"mail"==rcmail.env.task&&("show"==rcmail.env.action||"preview"==rcmail.env.action?n():"compose"==rcmail.env.action&&d()),$("body.iframe .footerleft").each(function(){var e=$(this),t=$(document.body),i=e.hasClass("floating"),s=t.outerHeight(!0)>$(window).height();if(s!=i){var a=s?"addClass":"removeClass";e[a]("floating"),t[a]("floatingbuttons")}})},t)}function o(e){var t=$(e.object).siblings("div");if(t.length&&$(e.object).insertBefore(t.first()),"error"==e.type&&"login"!=rcmail.env.task){rcmail.hide_message(e.object),A.message_timer&&window.clearTimeout(A.message_timer),A.messagedialog||(A.messagedialog=$("
").addClass("popupdialog").hide());var i=e.message,s=function(){A.messagedialog.is(":visible")&&A.messagedialog.dialog("destroy").hide()};A.messagedialog.is(":visible")&&(i=A.messagedialog.html()+"

"+e.message+"

"),A.messagedialog.html(i).dialog({resizable:!1,closeOnEscape:!0,dialogClass:"popupmessage "+e.type,title:W.errortitle,close:s,position:["center","center"],hide:{effect:"fadeOut"},width:420,minHeight:90}).show(),e.timeout>0&&(A.message_timer=window.setTimeout(s,e.timeout))}}function n(){$("#messagecontent").css("top",$("#messageheader").outerHeight()+1+"px"),$("#message-objects div a").addClass("button"),$("#attachment-list li").length||($("div.rightcol").hide(),$("div.leftcol").css("margin-right","0"))}function l(e){}function r(e){}function c(e){if("TEXTAREA"==e.nodeName){var t=$(e),i=e.scrollHeight,s=e.value.length>80&&i>21?2:1;t.css("height",14*s+"px"),d()}}function d(){var e,t,i,s=$("#composebody"),a=$("#compose-content"),o=$("#composeview-bottom");i=300-(a.height()-o.position().top),a.css("overflow",i>0?"auto":"hidden"),e=s.parent().width()-5,t=s.parent().height()-16,s.width(e).height(t),$("#composebody_tbl").width(e+8+"px").height("").css("margin-top","1px"),$("#composebody_ifr").width(e+8+"px").height(t-40+"px"),$("#googie_edit_layer").height(t+"px")}function p(e){var t=e.total?24*Math.ceil(e.percent/100*20):0;e.total&&480==t&&e.percent<100&&(t-=24),$("#quotadisplay").css("background-position","0 -"+t+"px")}function h(e){if("reply-list"==e.command&&1==rcmail.env.reply_all_mode){var t=rcmail.gettext(e.status?"replylist":"replyall");"preview"==rcmail.env.action?$("a.button.replyall").attr("title",t):$("a.button.reply-all").text(t).attr("title",t)}}function m(e,t){var i=j[e]=$("#"+e);i.appendTo(document.body),i.length&&(q[e]=$.extend(q[e]||{},t||{}))}function u(e,t,i){!i&&q[e]||m(e,i);var s=f(e,t);"function"==typeof(i=q[e]).callback&&i.callback(s)}function f(e,t){var i=j[e],s=q[e],a=$(s.link?s.link:"#"+e+"link");s.above;if(i||(i=j[e]=$("#"+e)).appendTo(document.body),!i||!i.length)return!1;if(void 0===t?t=!i.is(":visible"):s.toggle&&t&&i.is(":visible")&&(t=!1),t&&a.length){var o=$(document).width()-80,n=40;o>300&&(o=300,n=($(document).width()-o)/2),i.css({left:n,top:50,width:o,height:$(document).height()-100})}return i[t?"show":"hide"](),bw.ie6&&s.overlap&&($("select").css("visibility",t?"hidden":"inherit"),$("select",i).css("visibility","inherit")),t}function v(e,t){for(;e.parentNode;){if(e.parentNode==t)return!0;e=e.parentNode}return!1}function g(t){var i,s=$(t.target),a=$("#mailpreviewframe"),o=!a.is(":visible");S.pos||parseInt(e("mailviewsplitter")||320);a.toggle(),s.removeClass().addClass(o?"enabled":"closed"),o?($("#mailview-top").removeClass("fullheight").css({bottom:"auto"}),$("#mailview-bottom").css({height:"auto"}).show(),rcmail.env.contentframe="messagecontframe",(i=rcmail.message_list.get_single_selection())&&rcmail.show_message(i,!1,!0),S.handle?(S.handle.show(),S.resize()):S.init()):(rcmail.env.contentframe=null,rcmail.show_contentframe(!1),$("#mailview-top").addClass("fullheight").css({height:"auto",bottom:"0px"}),$("#mailview-bottom").css({top:"auto",height:"0px"}).hide(),S.handle&&S.handle.hide()),rcmail.message_list&&(o&&i&&rcmail.message_list.scrollto(i),rcmail.message_list.resize()),rcmail.command("save-pref",{name:"preview_pane",value:o?1:0})}function w(){$("#preview-shortheaders").toggle();var e=$("#preview-allheaders").toggle(),i=$("a#previewheaderstoggle");e.is(":visible")?i.attr("href","#hide").removeClass("add").addClass("remove"):i.attr("href","#details").removeClass("remove").addClass("add"),t("previewheaders",e.is(":visible")?"1":"0")}function b(e){rcmail.env.threading!=("thread"==e)&&rcmail.set_list_options(null,void 0,void 0,"thread"==e?1:0),$("#maillistmode, #mailthreadmode").removeClass("selected"),$("#mail"+e+"mode").addClass("selected")}function _(e){e&&e.props&&"attachmentmenu"==e.props.menu?f("attachmentmenu"):y()}function k(e){z()}function x(e){var t=e.parentNode.id.replace(/^attach/,"");$("#attachmenuopen").unbind("click").attr("onclick","").click(function(e){return rcmail.command("open-attachment",t,this)}),$("#attachmenudownload").unbind("click").attr("onclick","").click(function(){rcmail.command("download-attachment",t,this)}),q.attachmentmenu.link=e,rcmail.command("menu-open",{menu:"attachmentmenu",id:t})}function y(){var e=$("#listoptions");e.is(":visible")?e.dialog("close"):($('input[name="sort_col"][value="'+rcmail.env.sort_col+'"]').prop("checked",!0),$('input[name="sort_ord"][value="DESC"]').prop("checked","DESC"==rcmail.env.sort_order),$('input[name="sort_ord"][value="ASC"]').prop("checked","DESC"!=rcmail.env.sort_order),$('input[name="list_col[]"]').each(function(){$(this).prop("checked",-1!=$.inArray(this.value,rcmail.env.coltypes))}),e.dialog({modal:!0,resizable:!1,closeOnEscape:!0,title:null,close:function(){e.dialog("destroy").hide()},minWidth:500,width:e.width()+25}).show())}function z(){$("#listoptions").dialog("close");var e=$('input[name="sort_col"]:checked').val(),t=$('input[name="sort_ord"]:checked').val(),i=$('input[name="list_col[]"]:checked').map(function(){return this.value}).get();rcmail.set_list_options(i,e,t,rcmail.env.threading)}function C(e){var t=$("#contacts-table"),i=t.parent().css("overflow","hidden");t.clone().css({position:"absolute",top:"0",left:"0",width:t.width()+"px","z-index":10}).appendTo(i).animate({left:-(t.width()+5)+"px"},300,"swing",function(){$(this).remove(),i.css("overflow","auto")})}function T(e){var t=$("#contacts-table"),i=t.parent().css("overflow","hidden"),s=t.clone().appendTo(i);t.css({position:"absolute",top:"0",left:-(t.width()+5)+"px",width:t.width()+"px",height:t.height()+"px","z-index":10}).animate({left:"0"},300,"linear",function(){s.remove(),$(this).css({position:"relative",left:"0",width:"100%",height:"auto","z-index":1}),i.css("overflow","auto")})}function E(){var e=$("#upload-dialog");e.is(":visible")?e.dialog("close"):("compose"!=rcmail.env.action||e.data("extended")||($("").addClass("iconlink add").attr("href","#add").html("Add").appendTo($('input[type="file"]',e).parent()).click(L),e.data("extended",!0)),e.dialog({modal:!0,resizable:!1,closeOnEscape:!0,title:e.attr("title"),close:function(){try{$("#upload-dialog form").get(0).reset()}catch(e){}e.dialog("destroy").hide(),$("div.addline",e).remove()},width:480}).show(),document.all||$("input[type=file]",e).first().click())}function L(e){var t=$(this).parent(),i=t.clone().addClass("addline").insertAfter(t);i.children(".iconlink").click(L),i.children("input").val(""),document.all||$("input[type=file]",i).click()}function I(e,t){var i=$("#compose-"+e);if(!i.is(":visible"))return D[e]&&!t&&$("#_"+e).val(D[e]),i.show(),$("#"+e+"-link").hide(),d(),!1}function H(e,t){var i=$(e),s=i.get(0).id,a=i.children("fieldset");if(a.length){s||(s="rcmtabcontainer",i.attr("id",s)),t=t||0,a.each(function(e){e!=t&&$(this).hide()});var o=$("
").addClass("tabsbar").prependTo(i);a.each(function(e){var i,a,n=$(this),l=n.children("legend");a=$("").text(l.text()).attr("href","#"),i=$("").attr({id:"tab"+e,class:"tablink"}).click(function(){return M(s,e),!1}),l.remove(),n.addClass("tab"),e==t&&i.addClass("selected"),i.append(a).appendTo(o)})}}function M(e,t){$("#"+e).children("fieldset").each(function(e){$(this)[t==e?"show":"hide"](),$("#tab"+e).toggleClass("selected",e==t)}),a()}var S,N,W={},j={},q={forwardmenu:{editable:1},searchmenu:{editable:1,callback:function(e){if(e&&rcmail.env.search_mods){var t,i,s=j.searchmenu,a=$('input:checkbox[name="s_mods[]"]',s),o=rcmail.env.mailbox,n=rcmail.env.search_mods;if("mail"==rcmail.env.task?(n=n[o]?n[o]:n["*"],i="text"):i="*",n[i])a.map(function(){this.checked=!0,this.disabled=this.value!=i});else{a.prop("disabled",!1).prop("checked",!1);for(t in n)$("#s_mod_"+t).prop("checked",!0)}}}},attachmentmenu:{},listoptions:{editable:1},dragmenu:{sticky:1},groupmenu:{above:1},mailboxmenu:{above:1},spellmenu:{callback:function(e){var t,s=rcmail.spellcheck_lang(),a=j.spellmenu,o=$("ul",a);if(!o.length){o=$('
    ');for(i in rcmail.env.spell_langs)t=$("
  • "),$('').text(rcmail.env.spell_langs[i]).addClass("active").data("lang",i).click(function(){rcmail.spellcheck_lang_set($(this).data("lang"))}).appendTo(t),t.appendTo(o);o.appendTo(a)}$("li",o).each(function(){var e=$("a",this);e.data("lang")==s?e.addClass("selected"):e.hasClass("selected")&&e.removeClass("selected")})}},"attachment-form":{editable:1,above:1,toggle:!bw.ie&&!bw.linux},"upload-form":{editable:1,toggle:!bw.ie&&!bw.linux}},A=this,D={};if(this.set=function(e,t){W[e]=t},this.init=function(){if(rcmail.addEventListener("message",o),$("#taskbar a").each(function(e,t){$(t).append(''+$(".button-inner",this).html()+"")}),$("#taskbar .minmodetoggle").click(function(e){t("minimalmode",$(document.body).toggleClass("minimal").hasClass("minimal")?1:0),$(window).resize()}),"mail"==rcmail.env.task){if(rcmail.addEventListener("menu-open",_).addEventListener("menu-save",k).addEventListener("responseafterlist",function(e){b(rcmail.env.threading?"thread":"list")}),(L=$("#dragmessagemenu")).length&&(rcmail.gui_object("dragmenu","dragmessagemenu"),j.dragmenu=L),"show"==rcmail.env.action||"preview"==rcmail.env.action)rcmail.addEventListener("enable-command",h).addEventListener("aftershow-headers",function(){n()}).addEventListener("afterhide-headers",function(){n()}),$("#previewheaderstoggle").click(function(e){return w(),!1}),$("#attachment-list > li").each(function(){$(this).append($('').click(function(){x(this)}))}),"1"==e("previewheaders")&&w();else if("compose"==rcmail.env.action){rcmail.addEventListener("aftersend-attachment",E).addEventListener("add-recipient",function(e){I(e.field,!0)}).addEventListener("aftertoggle-editor",function(e){window.setTimeout(function(){d()},200),e&&e.mode&&$("select[name='editorSelector']").val(e.mode)});var i,m,f,v=["cc","bcc","replyto","followupto"];for(i=0;i0?"identities":rcmail.env.action.replace(/\./g,""))),$(e).addClass("selected").children().first().removeAttr("onclick").click(function(){return!1})}),"folders"==rcmail.env.action?(new rcube_splitter({id:"folderviewsplitter",p1:"#folderslist",p2:"#folder-details",orientation:"v",relative:!0,start:266,min:180,size:12}).init(),new rcube_scroller("#folderslist-content","#folderslist-header","#folderslist-footer"),rcmail.addEventListener("setquota",p)):"identities"==rcmail.env.action?new rcube_splitter({id:"identviewsplitter",p1:"#identitieslist",p2:"#identity-details",orientation:"v",relative:!0,start:266,min:180,size:12}).init():"responses"==rcmail.env.action?new rcube_splitter({id:"responseviewsplitter",p1:"#identitieslist",p2:"#identity-details",orientation:"v",relative:!0,start:266,min:180,size:12}).init():"preferences"!=rcmail.env.action&&rcmail.env.action?"edit-prefs"==rcmail.env.action&&($('').addClass("advanced-toggle").appendTo("#preferences-details fieldset.advanced legend"),$("#preferences-details fieldset.advanced legend").click(function(e){var t=$(this).hasClass("collapsed");$(".advanced-toggle",this).html(t?"▲":"▼"),$(this).toggleClass("collapsed").closest("fieldset").children(".propform").toggle()}).addClass("collapsed")):new rcube_splitter({id:"prefviewsplitter",p1:"#sectionslist",p2:"#preferences-box",orientation:"v",relative:!0,start:266,min:180,size:12}).init();else if("addressbook"==rcmail.env.task){rcmail.addEventListener("afterupload-photo",E).addEventListener("beforepushgroup",C).addEventListener("beforepopgroup",T),""==rcmail.env.action&&(new rcube_splitter({id:"addressviewsplitterd",p1:"#addressview-left",p2:"#addressview-right",orientation:"v",relative:!0,start:226,min:150,size:12,render:r}).init(),new rcube_splitter({id:"addressviewsplitter",p1:"#addresslist",p2:"#contacts-box",orientation:"v",relative:!0,start:286,min:270,size:12}).init());var L=$("#dragcontactmenu");L.length&&(rcmail.gui_object("dragmenu","dragcontactmenu"),j.dragmenu=L)}$(".tabbed").each(function(e,t){H(t)});var M=$("body > div.minwidth");M.length&&M.css("min-width",$(".toolbar").width()+$("#quicksearchbar").width()+$("#searchfilter").width()+30),$(document.body).bind("mouseup",s).bind("keyup",function(e){if(27==e.keyCode)for(var t in j)j[t].is(":visible")&&u(t,!1)}),$("iframe").on("load",function(e){try{var t=this.contentDocument?this.contentDocument:this.contentWindow?this.contentWindow.document:null;$(t).mouseup(s)}catch(e){}}).contents().mouseup(s),window.onresize=a,a()},this.init_tabs=H,this.show_about=function(e){var t=$("