pax_global_header00006660000000000000000000000064121670242100014505gustar00rootroot0000000000000052 comment=7379d3047f1b5abc063fcf85617c906530fdd705 nemo-1.8.4/000077500000000000000000000000001216702421000124555ustar00rootroot00000000000000nemo-1.8.4/.gitignore000066400000000000000000000007301216702421000144450ustar00rootroot00000000000000########################### # Default .gitignore file for Nemo. # By default this ignores the lint from the Eclipse IDE. ################## # Eclipse Output # ################## *.pydevproject .project .metadata bin/** tmp/** tmp/**/* *.tmp *.bak *.swp *~.nib local.properties .classpath .settings/ .loadpath # External tool builders .externalToolBuilders/ # Locally stored "Eclipse launch configurations" *.launch # CDT-specific .cproject # PDT-specific .buildpath nemo-1.8.4/AUTHORS000066400000000000000000000000661216702421000135270ustar00rootroot00000000000000https://github.com/linuxmint/nemo/graphs/contributors nemo-1.8.4/COPYING000066400000000000000000000431161216702421000135150ustar00rootroot00000000000000 GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. , 1 April 1989 Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License. nemo-1.8.4/COPYING-DOCS000066400000000000000000000433001216702421000142360ustar00rootroot00000000000000 GNU Free Documentation License Version 1.1, March 2000 Copyright (C) 2000 Free Software Foundation, Inc. 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. 0. PREAMBLE The purpose of this License is to make a manual, textbook, or other written document "free" in the sense of freedom: to assure everyone the effective freedom to copy and redistribute it, with or without modifying it, either commercially or noncommercially. Secondarily, this License preserves for the author and publisher a way to get credit for their work, while not being considered responsible for modifications made by others. This License is a kind of "copyleft", which means that derivative works of the document must themselves be free in the same sense. It complements the GNU General Public License, which is a copyleft license designed for free software. We have designed this License in order to use it for manuals for free software, because free software needs free documentation: a free program should come with manuals providing the same freedoms that the software does. But this License is not limited to software manuals; it can be used for any textual work, regardless of subject matter or whether it is published as a printed book. We recommend this License principally for works whose purpose is instruction or reference. 1. APPLICABILITY AND DEFINITIONS This License applies to any manual or other work that contains a notice placed by the copyright holder saying it can be distributed under the terms of this License. The "Document", below, refers to any such manual or work. Any member of the public is a licensee, and is addressed as "you". A "Modified Version" of the Document means any work containing the Document or a portion of it, either copied verbatim, or with modifications and/or translated into another language. A "Secondary Section" is a named appendix or a front-matter section of the Document that deals exclusively with the relationship of the publishers or authors of the Document to the Document's overall subject (or to related matters) and contains nothing that could fall directly within that overall subject. (For example, if the Document is in part a textbook of mathematics, a Secondary Section may not explain any mathematics.) The relationship could be a matter of historical connection with the subject or with related matters, or of legal, commercial, philosophical, ethical or political position regarding them. The "Invariant Sections" are certain Secondary Sections whose titles are designated, as being those of Invariant Sections, in the notice that says that the Document is released under this License. The "Cover Texts" are certain short passages of text that are listed, as Front-Cover Texts or Back-Cover Texts, in the notice that says that the Document is released under this License. A "Transparent" copy of the Document means a machine-readable copy, represented in a format whose specification is available to the general public, whose contents can be viewed and edited directly and straightforwardly with generic text editors or (for images composed of pixels) generic paint programs or (for drawings) some widely available drawing editor, and that is suitable for input to text formatters or for automatic translation to a variety of formats suitable for input to text formatters. A copy made in an otherwise Transparent file format whose markup has been designed to thwart or discourage subsequent modification by readers is not Transparent. A copy that is not "Transparent" is called "Opaque". Examples of suitable formats for Transparent copies include plain ASCII without markup, Texinfo input format, LaTeX input format, SGML or XML using a publicly available DTD, and standard-conforming simple HTML designed for human modification. Opaque formats include PostScript, PDF, proprietary formats that can be read and edited only by proprietary word processors, SGML or XML for which the DTD and/or processing tools are not generally available, and the machine-generated HTML produced by some word processors for output purposes only. The "Title Page" means, for a printed book, the title page itself, plus such following pages as are needed to hold, legibly, the material this License requires to appear in the title page. For works in formats which do not have any title page as such, "Title Page" means the text near the most prominent appearance of the work's title, preceding the beginning of the body of the text. 2. VERBATIM COPYING You may copy and distribute the Document in any medium, either commercially or noncommercially, provided that this License, the copyright notices, and the license notice saying this License applies to the Document are reproduced in all copies, and that you add no other conditions whatsoever to those of this License. You may not use technical measures to obstruct or control the reading or further copying of the copies you make or distribute. However, you may accept compensation in exchange for copies. If you distribute a large enough number of copies you must also follow the conditions in section 3. You may also lend copies, under the same conditions stated above, and you may publicly display copies. 3. COPYING IN QUANTITY If you publish printed copies of the Document numbering more than 100, and the Document's license notice requires Cover Texts, you must enclose the copies in covers that carry, clearly and legibly, all these Cover Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on the back cover. Both covers must also clearly and legibly identify you as the publisher of these copies. The front cover must present the full title with all words of the title equally prominent and visible. You may add other material on the covers in addition. Copying with changes limited to the covers, as long as they preserve the title of the Document and satisfy these conditions, can be treated as verbatim copying in other respects. If the required texts for either cover are too voluminous to fit legibly, you should put the first ones listed (as many as fit reasonably) on the actual cover, and continue the rest onto adjacent pages. If you publish or distribute Opaque copies of the Document numbering more than 100, you must either include a machine-readable Transparent copy along with each Opaque copy, or state in or with each Opaque copy a publicly-accessible computer-network location containing a complete Transparent copy of the Document, free of added material, which the general network-using public has access to download anonymously at no charge using public-standard network protocols. If you use the latter option, you must take reasonably prudent steps, when you begin distribution of Opaque copies in quantity, to ensure that this Transparent copy will remain thus accessible at the stated location until at least one year after the last time you distribute an Opaque copy (directly or through your agents or retailers) of that edition to the public. It is requested, but not required, that you contact the authors of the Document well before redistributing any large number of copies, to give them a chance to provide you with an updated version of the Document. 4. MODIFICATIONS You may copy and distribute a Modified Version of the Document under the conditions of sections 2 and 3 above, provided that you release the Modified Version under precisely this License, with the Modified Version filling the role of the Document, thus licensing distribution and modification of the Modified Version to whoever possesses a copy of it. In addition, you must do these things in the Modified Version: A. Use in the Title Page (and on the covers, if any) a title distinct from that of the Document, and from those of previous versions (which should, if there were any, be listed in the History section of the Document). You may use the same title as a previous version if the original publisher of that version gives permission. B. List on the Title Page, as authors, one or more persons or entities responsible for authorship of the modifications in the Modified Version, together with at least five of the principal authors of the Document (all of its principal authors, if it has less than five). C. State on the Title page the name of the publisher of the Modified Version, as the publisher. D. Preserve all the copyright notices of the Document. E. Add an appropriate copyright notice for your modifications adjacent to the other copyright notices. F. Include, immediately after the copyright notices, a license notice giving the public permission to use the Modified Version under the terms of this License, in the form shown in the Addendum below. G. Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in the Document's license notice. H. Include an unaltered copy of this License. I. Preserve the section entitled "History", and its title, and add to it an item stating at least the title, year, new authors, and publisher of the Modified Version as given on the Title Page. If there is no section entitled "History" in the Document, create one stating the title, year, authors, and publisher of the Document as given on its Title Page, then add an item describing the Modified Version as stated in the previous sentence. J. Preserve the network location, if any, given in the Document for public access to a Transparent copy of the Document, and likewise the network locations given in the Document for previous versions it was based on. These may be placed in the "History" section. You may omit a network location for a work that was published at least four years before the Document itself, or if the original publisher of the version it refers to gives permission. K. In any section entitled "Acknowledgements" or "Dedications", preserve the section's title, and preserve in the section all the substance and tone of each of the contributor acknowledgements and/or dedications given therein. L. Preserve all the Invariant Sections of the Document, unaltered in their text and in their titles. Section numbers or the equivalent are not considered part of the section titles. M. Delete any section entitled "Endorsements". Such a section may not be included in the Modified Version. N. Do not retitle any existing section as "Endorsements" or to conflict in title with any Invariant Section. If the Modified Version includes new front-matter sections or appendices that qualify as Secondary Sections and contain no material copied from the Document, you may at your option designate some or all of these sections as invariant. To do this, add their titles to the list of Invariant Sections in the Modified Version's license notice. These titles must be distinct from any other section titles. You may add a section entitled "Endorsements", provided it contains nothing but endorsements of your Modified Version by various parties--for example, statements of peer review or that the text has been approved by an organization as the authoritative definition of a standard. You may add a passage of up to five words as a Front-Cover Text, and a passage of up to 25 words as a Back-Cover Text, to the end of the list of Cover Texts in the Modified Version. Only one passage of Front-Cover Text and one of Back-Cover Text may be added by (or through arrangements made by) any one entity. If the Document already includes a cover text for the same cover, previously added by you or by arrangement made by the same entity you are acting on behalf of, you may not add another; but you may replace the old one, on explicit permission from the previous publisher that added the old one. The author(s) and publisher(s) of the Document do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any Modified Version. 5. COMBINING DOCUMENTS You may combine the Document with other documents released under this License, under the terms defined in section 4 above for modified versions, provided that you include in the combination all of the Invariant Sections of all of the original documents, unmodified, and list them all as Invariant Sections of your combined work in its license notice. The combined work need only contain one copy of this License, and multiple identical Invariant Sections may be replaced with a single copy. If there are multiple Invariant Sections with the same name but different contents, make the title of each such section unique by adding at the end of it, in parentheses, the name of the original author or publisher of that section if known, or else a unique number. Make the same adjustment to the section titles in the list of Invariant Sections in the license notice of the combined work. In the combination, you must combine any sections entitled "History" in the various original documents, forming one section entitled "History"; likewise combine any sections entitled "Acknowledgements", and any sections entitled "Dedications". You must delete all sections entitled "Endorsements." 6. COLLECTIONS OF DOCUMENTS You may make a collection consisting of the Document and other documents released under this License, and replace the individual copies of this License in the various documents with a single copy that is included in the collection, provided that you follow the rules of this License for verbatim copying of each of the documents in all other respects. You may extract a single document from such a collection, and distribute it individually under this License, provided you insert a copy of this License into the extracted document, and follow this License in all other respects regarding verbatim copying of that document. 7. AGGREGATION WITH INDEPENDENT WORKS A compilation of the Document or its derivatives with other separate and independent documents or works, in or on a volume of a storage or distribution medium, does not as a whole count as a Modified Version of the Document, provided no compilation copyright is claimed for the compilation. Such a compilation is called an "aggregate", and this License does not apply to the other self-contained works thus compiled with the Document, on account of their being thus compiled, if they are not themselves derivative works of the Document. If the Cover Text requirement of section 3 is applicable to these copies of the Document, then if the Document is less than one quarter of the entire aggregate, the Document's Cover Texts may be placed on covers that surround only the Document within the aggregate. Otherwise they must appear on covers around the whole aggregate. 8. TRANSLATION Translation is considered a kind of modification, so you may distribute translations of the Document under the terms of section 4. Replacing Invariant Sections with translations requires special permission from their copyright holders, but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections. You may include a translation of this License provided that you also include the original English version of this License. In case of a disagreement between the translation and the original English version of this License, the original English version will prevail. 9. TERMINATION You may not copy, modify, sublicense, or distribute the Document except as expressly provided for under this License. Any other attempt to copy, modify, sublicense or distribute the Document is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 10. FUTURE REVISIONS OF THIS LICENSE The Free Software Foundation may publish new, revised versions of the GNU Free Documentation License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. See http://www.gnu.org/copyleft/. Each version of the License is given a distinguishing version number. If the Document specifies that a particular numbered version of this License "or any later version" applies to it, you have the option of following the terms and conditions either of that specified version or of any later version that has been published (not as a draft) by the Free Software Foundation. If the Document does not specify a version number of this License, you may choose any version ever published (not as a draft) by the Free Software Foundation. ADDENDUM: How to use this License for your documents To use this License in a document you have written, include a copy of the License in the document and put the following copyright and license notices just after the title page: Copyright (c) YEAR YOUR NAME. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with the Invariant Sections being LIST THEIR TITLES, with the Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST. A copy of the license is included in the section entitled "GNU Free Documentation License". If you have no Invariant Sections, write "with no Invariant Sections" instead of saying which ones are invariant. If you have no Front-Cover Texts, write "no Front-Cover Texts" instead of "Front-Cover Texts being LIST"; likewise for Back-Cover Texts. If your document contains nontrivial examples of program code, we recommend releasing these examples in parallel under your choice of free software license, such as the GNU General Public License, to permit their use in free software. nemo-1.8.4/COPYING.EXTENSIONS000066400000000000000000000011271216702421000152070ustar00rootroot00000000000000Nemo extensions link against the libnemo-extenstions library which is is under the LGPL license. However, they also get loaded into the main nemo program which is licensed under the GPL. So, extensions should not be incompatible with the LGPL or GPL. Some extensions are GPL but use some IPC mechanism like dbus to talk to a potentially non-GPL application. This is actually not such a bad design in general if your extension is doing a lot of work, as running as a nemo extension with all its issues (no synchronous i/o, can't control of the context your code runs in, etc) can be kind of a pain. nemo-1.8.4/COPYING.LIB000066400000000000000000000613111216702421000141170ustar00rootroot00000000000000 GNU LIBRARY GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1991 Free Software Foundation, Inc. 51 Franklin Street - Suite 500, Boston, MA 02110-1335, USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. [This is the first released version of the library GPL. It is numbered 2 because it goes with version 2 of the ordinary GPL.] Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public Licenses are intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This license, the Library General Public License, applies to some specially designated Free Software Foundation software, and to any other libraries whose authors decide to use it. You can use it for your libraries, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the library, or if you modify it. For example, if you distribute copies of the library, whether gratis or for a fee, you must give the recipients all the rights that we gave you. You must make sure that they, too, receive or can get the source code. If you link a program with the library, you must provide complete object files to the recipients so that they can relink them with the library, after making changes to the library and recompiling it. And you must show them these terms so they know their rights. Our method of protecting your rights has two steps: (1) copyright the library, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the library. Also, for each distributor's protection, we want to make certain that everyone understands that there is no warranty for this free library. If the library is modified by someone else and passed on, we want its recipients to know that what they have is not the original version, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that companies distributing free software will individually obtain patent licenses, thus in effect transforming the program into proprietary software. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. Most GNU software, including some libraries, is covered by the ordinary GNU General Public License, which was designed for utility programs. This license, the GNU Library General Public License, applies to certain designated libraries. This license is quite different from the ordinary one; be sure to read it in full, and don't assume that anything in it is the same as in the ordinary license. The reason we have a separate public license for some libraries is that they blur the distinction we usually make between modifying or adding to a program and simply using it. Linking a program with a library, without changing the library, is in some sense simply using the library, and is analogous to running a utility program or application program. However, in a textual and legal sense, the linked executable is a combined work, a derivative of the original library, and the ordinary General Public License treats it as such. Because of this blurred distinction, using the ordinary General Public License for libraries did not effectively promote software sharing, because most developers did not use the libraries. We concluded that weaker conditions might promote sharing better. However, unrestricted linking of non-free programs would deprive the users of those programs of all benefit from the free status of the libraries themselves. This Library General Public License is intended to permit developers of non-free programs to use free libraries, while preserving your freedom as a user of such programs to change the free libraries that are incorporated in them. (We have not seen how to achieve this as regards changes in header files, but we have achieved it as regards changes in the actual functions of the Library.) The hope is that this will lead to faster development of free libraries. The precise terms and conditions for copying, distribution and modification follow. Pay close attention to the difference between a "work based on the library" and a "work that uses the library". The former contains code derived from the library, while the latter only works together with the library. Note that it is possible for a library to be covered by the ordinary General Public License rather than by this special one. GNU LIBRARY GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License Agreement applies to any software library which contains a notice placed by the copyright holder or other authorized party saying it may be distributed under the terms of this Library General Public License (also called "this License"). Each licensee is addressed as "you". A "library" means a collection of software functions and/or data prepared so as to be conveniently linked with application programs (which use some of those functions and data) to form executables. The "Library", below, refers to any such software library or work which has been distributed under these terms. A "work based on the Library" means either the Library or any derivative work under copyright law: that is to say, a work containing the Library or a portion of it, either verbatim or with modifications and/or translated straightforwardly into another language. (Hereinafter, translation is included without limitation in the term "modification".) "Source code" for a work means the preferred form of the work for making modifications to it. For a library, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the library. Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running a program using the Library is not restricted, and output from such a program is covered only if its contents constitute a work based on the Library (independent of the use of the Library in a tool for writing it). Whether that is true depends on what the Library does and what the program that uses the Library does. 1. You may copy and distribute verbatim copies of the Library's complete source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and distribute a copy of this License along with the Library. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Library or any portion of it, thus forming a work based on the Library, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) The modified work must itself be a software library. b) You must cause the files modified to carry prominent notices stating that you changed the files and the date of any change. c) You must cause the whole of the work to be licensed at no charge to all third parties under the terms of this License. d) If a facility in the modified Library refers to a function or a table of data to be supplied by an application program that uses the facility, other than as an argument passed when the facility is invoked, then you must make a good faith effort to ensure that, in the event an application does not supply such function or table, the facility still operates, and performs whatever part of its purpose remains meaningful. (For example, a function in a library to compute square roots has a purpose that is entirely well-defined independent of the application. Therefore, Subsection 2d requires that any application-supplied function or table used by this function must be optional: if the application does not supply it, the square root function must still compute square roots.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Library, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Library, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Library. In addition, mere aggregation of another work not based on the Library with the Library (or with a work based on the Library) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may opt to apply the terms of the ordinary GNU General Public License instead of this License to a given copy of the Library. To do this, you must alter all the notices that refer to this License, so that they refer to the ordinary GNU General Public License, version 2, instead of to this License. (If a newer version than version 2 of the ordinary GNU General Public License has appeared, then you can specify that version instead if you wish.) Do not make any other change in these notices. Once this change is made in a given copy, it is irreversible for that copy, so the ordinary GNU General Public License applies to all subsequent copies and derivative works made from that copy. This option is useful when you wish to copy part of the code of the Library into a program that is not a library. 4. You may copy and distribute the Library (or a portion or derivative of it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange. If distribution of object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place satisfies the requirement to distribute the source code, even though third parties are not compelled to copy the source along with the object code. 5. A program that contains no derivative of any portion of the Library, but is designed to work with the Library by being compiled or linked with it, is called a "work that uses the Library". Such a work, in isolation, is not a derivative work of the Library, and therefore falls outside the scope of this License. However, linking a "work that uses the Library" with the Library creates an executable that is a derivative of the Library (because it contains portions of the Library), rather than a "work that uses the library". The executable is therefore covered by this License. Section 6 states terms for distribution of such executables. When a "work that uses the Library" uses material from a header file that is part of the Library, the object code for the work may be a derivative work of the Library even though the source code is not. Whether this is true is especially significant if the work can be linked without the Library, or if the work is itself a library. The threshold for this to be true is not precisely defined by law. If such an object file uses only numerical parameters, data structure layouts and accessors, and small macros and small inline functions (ten lines or less in length), then the use of the object file is unrestricted, regardless of whether it is legally a derivative work. (Executables containing this object code plus portions of the Library will still fall under Section 6.) Otherwise, if the work is a derivative of the Library, you may distribute the object code for the work under the terms of Section 6. Any executables containing that work also fall under Section 6, whether or not they are linked directly with the Library itself. 6. As an exception to the Sections above, you may also compile or link a "work that uses the Library" with the Library to produce a work containing portions of the Library, and distribute that work under terms of your choice, provided that the terms permit modification of the work for the customer's own use and reverse engineering for debugging such modifications. You must give prominent notice with each copy of the work that the Library is used in it and that the Library and its use are covered by this License. You must supply a copy of this License. If the work during execution displays copyright notices, you must include the copyright notice for the Library among them, as well as a reference directing the user to the copy of this License. Also, you must do one of these things: a) Accompany the work with the complete corresponding machine-readable source code for the Library including whatever changes were used in the work (which must be distributed under Sections 1 and 2 above); and, if the work is an executable linked with the Library, with the complete machine-readable "work that uses the Library", as object code and/or source code, so that the user can modify the Library and then relink to produce a modified executable containing the modified Library. (It is understood that the user who changes the contents of definitions files in the Library will not necessarily be able to recompile the application to use the modified definitions.) b) Accompany the work with a written offer, valid for at least three years, to give the same user the materials specified in Subsection 6a, above, for a charge no more than the cost of performing this distribution. c) If distribution of the work is made by offering access to copy from a designated place, offer equivalent access to copy the above specified materials from the same place. d) Verify that the user has already received a copy of these materials or that you have already sent this user a copy. For an executable, the required form of the "work that uses the Library" must include any data and utility programs needed for reproducing the executable from it. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. It may happen that this requirement contradicts the license restrictions of other proprietary libraries that do not normally accompany the operating system. Such a contradiction means you cannot use both them and the Library together in an executable that you distribute. 7. You may place library facilities that are a work based on the Library side-by-side in a single library together with other library facilities not covered by this License, and distribute such a combined library, provided that the separate distribution of the work based on the Library and of the other library facilities is otherwise permitted, and provided that you do these two things: a) Accompany the combined library with a copy of the same work based on the Library, uncombined with any other library facilities. This must be distributed under the terms of the Sections above. b) Give prominent notice with the combined library of the fact that part of it is a work based on the Library, and explaining where to find the accompanying uncombined form of the same work. 8. You may not copy, modify, sublicense, link with, or distribute the Library except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense, link with, or distribute the Library is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 9. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Library or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Library (or any work based on the Library), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Library or works based on it. 10. Each time you redistribute the Library (or any work based on the Library), the recipient automatically receives a license from the original licensor to copy, distribute, link with or modify the Library subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 11. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Library at all. For example, if a patent license would not permit royalty-free redistribution of the Library by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Library. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply, and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 12. If the distribution and/or use of the Library is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Library under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 13. The Free Software Foundation may publish revised and/or new versions of the Library General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Library specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Library does not specify a license version number, you may choose any version ever published by the Free Software Foundation. 14. If you wish to incorporate parts of the Library into other free programs whose distribution conditions are incompatible with these, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS Appendix: How to Apply These Terms to Your New Libraries If you develop a new library, and you want it to be of the greatest possible use to the public, we recommend making it free software that everyone can redistribute and change. You can do so by permitting redistribution under these terms (or, alternatively, under the terms of the ordinary General Public License). To apply these terms, attach the following notices to the library. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street - Suite 500, Boston, MA 02110-1335, USA Also add information on how to contact you by electronic and paper mail. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the library, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the library `Frob' (a library for tweaking knobs) written by James Random Hacker. , 1 April 1990 Ty Coon, President of Vice That's all there is to it! nemo-1.8.4/ChangeLog000066400000000000000000035455261216702421000142530ustar00rootroot00000000000000commit 16763a8b828387930641d69c04451e02d67cadd6 Author: Cosimo Cecchi Date: 2012-05-14 release: prepare for 3.4.2 M NEWS M configure.in commit 0e08c9938a4e3557f9519aa52f2f488a99e28e97 Author: Praveen Illa Date: 2012-05-14 Updated Telugu Translations M po/te.po commit 10a15760f0ba7d1b0a65693caf47a9b080742ed3 Author: Cosimo Cecchi Date: 2012-05-08 window-manage-views: don't call methods on a NULL NemoFile In got_file_info_for_view_selection_callback(), we unconditionally try to fetch information for the parent directory in case the selection is a regular file, but we should avoid doing that when the file has no parent, such as when it's the root of a web server. https://bugzilla.gnome.org/show_bug.cgi?id=675259 M src/nemo-window-manage-views.c commit c92532c8808815a776e377bf208bc194f077b169 Author: Cosimo Cecchi Date: 2012-05-07 x-content-bar: pack the media label in the content area Instead of just packing it into the GtkInfoBar's box, since that will put it after the buttons of the action area. https://bugzilla.gnome.org/show_bug.cgi?id=670129 M src/nemo-x-content-bar.c commit 7e90dabb2f38539173970fb715a53b355fb44e1c Author: Cosimo Cecchi Date: 2012-05-07 places-sidebar: disallow context menus for sidebar headings We already make them non-selectable - there's no point in having a menu for headings here. https://bugzilla.redhat.com/show_bug.cgi?id=819404 M src/nemo-places-sidebar.c commit 4e59e4cfc7bc68534664d9f72d0c7ea680b79db3 Author: Cosimo Cecchi Date: 2012-05-04 places-sidebar: don't double unref GMount objects Fixes a lot of reported crashers with NFS/Samba volumes. https://bugzilla.gnome.org/show_bug.cgi?id=674659 M src/nemo-places-sidebar.c commit c5b336f62e4d5efb330306cf9a905e70e7553171 Author: Kjartan Maraas Date: 2012-04-30 Added Norwegian bokmÃ¥l translation M po/nb.po commit fd7f5be8da08bf18d5d60314940491ff4f7fd99c Author: Ã…smund Skjæveland Date: 2012-04-29 Updated Norwegian Nynorsk translation M po/nn.po commit dad5031da0fc176ec27dcbb3a7057cc41aee399b Author: Sebastien Bacher Date: 2012-04-27 update ZERO_OR_THREE_DIGITS define to work as intended https://bugzilla.gnome.org/show_bug.cgi?id=674924 M libnemo-private/nemo-icon-canvas-item.c commit f5b824abf3f3b9304d7a63fd52d3f96036dc91ff Author: Cosimo Cecchi Date: 2012-04-24 editable-label: fix selection color in backdrop state Don't set the ACTIVE flag if we don't have focus, it just doesn't make sense. M eel/eel-editable-label.c commit dd0223773a818de92c71f119e1b42bae5157bdad Author: Djavan Fagundes Date: 2012-04-23 Fixed a string in Brazilian Portuguese translation M po/pt_BR.po commit 6b692bcaa4577aa811a18ba38ecce0d925e7613d Author: Yuri Myasoedov Date: 2012-04-23 Updated Russian translation M po/ru.po commit 9684ae22e4b4e02d8dc0b944d956ac7f7b8863f4 Author: Charles Kerr Date: 2012-04-18 link: plug a memory leak https://bugzilla.gnome.org/show_bug.cgi?id=674087 M libnemo-private/nemo-link.c commit c016565b17b2a94a1e2c7bbab9b5ae284110e578 Author: Charles Kerr Date: 2012-04-18 desktop-metadata: plug some memory leaks https://bugzilla.gnome.org/show_bug.cgi?id=674086 M libnemo-private/nemo-desktop-metadata.c commit 8118406d63b317c18cf52313a55c0f4b17093af3 Author: Cosimo Cecchi Date: 2012-04-18 list-view: don't treat clicks as on an empty area if the row is selected When the row is selected, and we right click on it, make sure we popup its context menu and not its parent's, since the selection is a stronger indication of intent. https://bugzilla.gnome.org/show_bug.cgi?id=674245 M src/nemo-list-view.c commit 2f2180c7a1e6203b3dfd9d926795aac180869fb3 Author: Christian Kirbach Date: 2012-04-18 Updated German translation (Bug #674093) M po/de.po commit ae6beb8030e3045b8bea3330e7b0507904a22e74 Author: Cosimo Cecchi Date: 2012-04-16 release: prepare for 3.4.1 M NEWS M configure.in commit bc3f1d8ffff2b3ca6336cef2bd5304c3f12b7418 Author: Cosimo Cecchi Date: 2012-04-13 undo: use g_file_info_get_attribute_byte_string for trash::orig-path Since that's what GVfs sets. https://bugzilla.gnome.org/show_bug.cgi?id=673776 M libnemo-private/nemo-file-undo-operations.c commit 17d765a598e85eaeb785938e896d1fd44abc481a Author: Milo Casagrande Date: 2012-04-06 [l10n] Updated Italian translation M po/it.po commit 0531db12b0a929fca139a3fde0846d31b602d922 Author: Abderrahim Kitouni Date: 2012-03-24 file-operations: don't mix character and byte lengths Otherwise untitled files end up with a (possibly) corrupt part of the name appended. https://bugzilla.gnome.org/show_bug.cgi?id=672761 M libnemo-private/nemo-file-operations.c commit ba04ec0e7435b21d492a39e0bafc167ba24e0f49 Author: Ryan Lortie Date: 2012-04-05 NemoFile: keep free space information directly There were previously some tricks in nemo to this effect: - when you call nemo_file_get_volume_free_space() on a NemoFile, the return result is NULL at first and later you get a "changed" signal on the file after the value is filled in - the value is being stored inside the NemoDirectory equivalent for the file that is created when the call is first performed and kept around until after the change signal fires (so that the person receiving the change signal can still get the data). This is done to save space by not expanding NemoFile. The NemoDirectory is then dropped after the change signal is done firing. - the nemo properties window has a 200ms timeout after changes to files being reported before it re-queries the properties The end result is that the NemoDirectory (which holds the information about the free space) is already freed by the time the properties window tries to update the free space display. This results in the directory being recreated and the process starting over again. The end result is that we never get the free space shown in the dialog and instead we have an infinite loop of CPU usage (fortunately repeating only every 200ms, so you get ~5% CPU usage instead of 100%). We can solve the problem by just storing the free space information directly in the NemoFile details structure and dropping the dance with NemoDirectory; nothing in NemoDirectory is actually using that information anyway. https://bugzilla.gnome.org/show_bug.cgi?id=673550 M libnemo-private/nemo-directory-private.h M libnemo-private/nemo-directory.c M libnemo-private/nemo-file-private.h M libnemo-private/nemo-file.c commit 07f22b823cb75fc0da5dc9bc8c3805766d8baa15 Author: Praveen Illa Date: 2012-04-05 Updated Telugu Translation M po/te.po commit ae375b34c28c157950069e8bae8e033f5c12a556 Author: Nelson Benitez Leon Date: 2012-04-03 list-view: don't handle extra mouse buttons events Don't handle extra mouse button events so they can bubble up through GtkTreeview till NemoWindow where they are handled to navigate the view forward and backward. Part of bug 660006 Signed-off-by: Nelson Benitez Leon M src/nemo-list-view.c commit 3deb33d449f293b8e2597ccd7cc3bacec7b40ca2 Author: Nelson Benitez Leon Date: 2012-03-29 eel-canvas: ignore extra mouse button events Ignore button press/release events for mouse buttons greater than 5 so allowing forward and backward mouse buttons to work over icons. Part of bug 660006 Signed-off-by: Nelson Benitez Leon M eel/eel-canvas.c commit 49c753b1e2adaf7803b2fd4f1685f859d979ff74 Author: Cosimo Cecchi Date: 2012-04-02 file-operations: fix off-by-one error in copied files count TransferInfo->num_files counts from zero, so we have to increment it by one when formatting it into a string. https://bugzilla.gnome.org/show_bug.cgi?id=673345 M libnemo-private/nemo-file-operations.c commit 9b762008cf6417f1691bd94dd99c583d4e7a2c26 Author: Cosimo Cecchi Date: 2012-04-01 link: remove unused code nemo_link_local_get_additional_text() is now unused. M libnemo-private/nemo-link.c M libnemo-private/nemo-link.h commit afc9a8196ce9a94b900f532c3b7d433ef9641569 Author: Cosimo Cecchi Date: 2012-04-01 icon-container: don't show comment field for desktop files This fixes a regression introduced in commit 5a47a484e45218e83202c508b421b1a2707af270 https://bugzilla.gnome.org/show_bug.cgi?id=673316 M src/nemo-icon-view-container.c commit 3525ec8ec6b382a04affa0d02bf8ba1a1929f89b Author: Alexander Shopov Date: 2012-04-01 Updated Bulgarian translation M po/bg.po commit c2ab193ea26c67d6031fce7fe389b3832c37cc80 Author: Piotr DrÄ…g Date: 2012-03-31 Updated Polish translation M po/pl.po commit ce15200eb252536bf95c0a37939b883320f851c7 Author: Piotr DrÄ…g Date: 2012-03-29 Added Tibetan translation to LINGUAS M po/LINGUAS commit a08f87e8fe5522dbd58573a73d3e7aac70d80cff Author: tennom YK Date: 2012-03-29 Added Tibetan translation A po/bo.po commit 963ee1bd9ba64d88272bd264d76eff6846e24c7c Author: Daniel Mustieles Date: 2012-03-27 Updated Spanish translation M po/es.po commit 67b2499fc0ea6ba08063adea535a1d3529ff3053 Author: Mantas KriauÄiÅ«nas Date: 2012-03-26 Updated Lithuanian translation M po/lt.po commit b6972a97ab14dc86c2e5130feda39d3bc5c7a355 Author: Cosimo Cecchi Date: 2012-03-26 release: prepare for 3.4.0 M NEWS M configure.in commit c1551dfcfa9c92bf43c57b219535f63a9fecdad4 Author: Cosimo Cecchi Date: 2012-03-26 view: ensure we show "Open with..." entries for folders This is a regression from commit b9c51fd4eb84a9f52ee4be1bf183fc516984130b https://bugzilla.gnome.org/show_bug.cgi?id=672809 M src/nemo-view.c commit d64698322ea64fed050bd82de545e678d557f85c Author: ReÅŸat SABIQ Date: 2012-03-26 Updated Crimean Tatar (Crimean Turkish) translation M po/crh.po commit 440d5bb1693d32a7d4fb8ef16002c130b600eb80 Author: Jiro Matsuzawa Date: 2012-03-25 Updated Japanese translation. M po/ja.po commit 70b70e316cf4930036759581a935ab19475835e3 Author: Praveen Arimbrathodiyil Date: 2012-03-24 Malayalam translation updated by Aslam M po/ml.po commit afe92aa3ea0fdd988dd3bfe5851032843e6d808b Author: Sasi Bhushan Date: 2012-03-24 Updated Telugu translation M po/te.po commit 0d165b3e0b874263e6f52127194b6e9f47ea4a1b Author: Rajesh Ranjan Date: 2012-03-23 hindi translation by Chandan Kumar M po/hi.po commit adb6a12a7b0b08cfd441e4a75857797dc9875a43 Author: Timo Jyrinki Date: 2012-03-23 Updated Finnish translation by Jiri Grönroos M po/fi.po commit 982ce96d810795dd30d50cb2ff8e622fcb9ff4d6 Author: Praveen Illa Date: 2012-03-23 Updated Telugu Translation M po/te.po commit a6cb9e4697d904390cf54fdd19aa556b78bf98c0 Author: Kristjan SCHMIDT Date: 2012-03-22 Updated Esperanto translation M po/eo.po commit a5914993f533ceeef84d2d7000c64160b68d2cfb Author: Ibrahim Saed Date: 2012-03-21 Updated Arabic translation M po/ar.po commit 8d0c374a46fd90f82dea80c7d19fd8800fa67154 Author: Duarte Loreto Date: 2012-03-21 Updated Portuguese translation M po/pt.po commit 040ee44c68efb7120e9a86f56c6e325052d42a8f Author: Automatic Mirroring Date: 2012-03-21 Update Simplified Chinese translation. M po/zh_CN.po commit ef3a663a6e25040e1e96d3225654a0c774b1a823 Author: YunQiang Su Date: 2012-03-21 update Simplified Chinese (zh_CN) translation M po/zh_CN.po commit 4229689853639bce00b4a8dab7f7312aafb7da32 Author: Cosimo Cecchi Date: 2012-03-19 release: prepare for 3.3.92 M NEWS M configure.in commit a60e9887eebb8973c48c0151981a26cce7cc8793 Author: Cosimo Cecchi Date: 2012-03-19 places-sidebar: add support for the "network" volume class identifier If a GVolume has a class identifier of "network", put it (and its mount) in the Network section. This fixes e.g. NFS mounts showing in the wrong section. M src/nemo-places-sidebar.c commit a06988aefdf6cf147936737e48005170410046b2 Author: Cosimo Cecchi Date: 2012-03-19 places-sidebar: focus the first non-heading row on focus-in Instead of giving the focus to the heading, which would end up in getting stuck there, since headings are not supposed to be actionable. https://bugzilla.gnome.org/show_bug.cgi?id=672002 M src/nemo-places-sidebar.c commit 003b8773399de836e11c725f24c8a1f668a29adf Author: Cosimo Cecchi Date: 2012-03-19 places-sidebar: use gtk_tree_view_set_cursor() to move selection This will also move the scrolled window up/down when we navigate the places sidebar with keyboard. M src/nemo-places-sidebar.c commit 429d3548b72b5a29e8c0e31304db3cd51e25fcbf Author: Cosimo Cecchi Date: 2012-03-19 places-sidebar: make find_prev_or_next_row() start from the passed iter This will be useful for the next commits. M src/nemo-places-sidebar.c commit 5d2471aff8033fc319957273cf20d33420c5a6f7 Author: Carles Ferrando Date: 2012-03-19 [l10n]Updated Catalan (Valencian) translation M po/ca@valencia.po commit 3ea1074b29d7d25c7c087eeeece215a057ab3fbd Author: Joan Duran Date: 2012-03-19 [l10n] Updated Catalan translation M po/ca.po commit 63b59332d15139bd43504e0192a169cd5f924bf5 Author: Mario Blättermann Date: 2012-03-18 [l10n] Updated German translation M po/de.po commit f8f4f5a241dd99c04be8f327aed3316c9d87f1b2 Author: Cosimo Cecchi Date: 2012-03-16 icon-container: set a range base selection icon on _set_selection() If the selection we set if just one item (as it is in the case when we're going back/forward in the history), set that item as a base for range selection too, instead of just selecting it. https://bugzilla.gnome.org/show_bug.cgi?id=672127 M libnemo-private/nemo-icon-container.c commit ba281e27b804b1c61c715f4371f352b04e9d76ad Author: Cosimo Cecchi Date: 2012-03-16 eel: delete unused code We don't use EelDPoint/EelIPoint anymore; other functions here are just unused. M eel/eel-art-extensions.c M eel/eel-art-extensions.h M eel/eel-self-checks.c M eel/eel-self-checks.h commit 8e43d841355b6cd82af730bc2357f9ac1ed7c638 Author: Cosimo Cecchi Date: 2012-03-16 icon-container: avoid using EelDPoint It's going away. M libnemo-private/nemo-icon-canvas-item.c M libnemo-private/nemo-icon-canvas-item.h M libnemo-private/nemo-icon-container.c commit 0832acdb4371fc7de957303e220e899c8fdcdf5c Author: Cosimo Cecchi Date: 2012-03-16 icon-view: fix wheel scrolling for compact view If the smooth scroll event we get is an emulated scroll wheel, we have to emulate a right/left scroll, like we do for regular UP/DOWN events. https://bugzilla.gnome.org/show_bug.cgi?id=672185 M src/nemo-icon-view.c commit 8dcf1625bb5e38c865ebe01f53275b579093663c Author: Reinout van Schouwen Date: 2012-03-16 2012-03-16 Reinout van Schouwen - nl.po: Fixed typo M po/nl.po commit 136a20daeef2568776a1c239bac9cb66a1f66efc Author: Reinout van Schouwen Date: 2012-03-16 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ 2012-03-16 Reinout van Schouwen - nl.po: Use ‘Standaard instellen’ instead of ‘Standaard gebruiken’ M po/nl.po commit 9f6d1414dac34fef51616d7642fe52a2353d3c2b Author: Krishnababu Krothapalli Date: 2012-03-16 Translations Updated with FUEL M po/te.po commit 4273aa66a8e73e11cf3ad388bb53350c12b30e83 Author: Krishnababu Krothapalli Date: 2012-03-16 Translations Updated with FUEL M po/te.po commit 258628dbf02a540179488c94d0a6c1100ad12eab Author: Anita Reitere Date: 2012-03-14 Updated Latvian translation. M po/lv.po commit 3d275a971132a41809a3b1e5b8ac683d264d6c35 Author: Stefano Facchini Date: 2012-03-13 view: improve scroll-zooming for smooth scrolling devices Try to emulate a normal scroll event by adding deltas until the total delta reaches +1 or -1. M src/nemo-view.c commit d865bc50459fb1349a761c3c7029bad7f13fc67c Author: Cosimo Cecchi Date: 2012-03-13 pathbar: make dragging from toolbar work again This was a regression from the recent refactorings in NemoPathbar. Since we now have an event window, if we want button events to reach the parent toolbar, we have to select for such events when we realize the event window. M src/nemo-pathbar.c commit f7b54cdba55a0856b201e62818059ac5007fac35 Author: Cosimo Cecchi Date: 2012-03-13 view: threshold the delta information when scroll-zooming We don't want to zoom for every single event, since in case the device supports smooth scrolling, we will get a lot of small events. Pointed out by Stefano Facchini. M src/nemo-view.c commit 45cb82857c9cef34952da4c0488780fd8b19a61b Author: Jonh Wendell Date: 2012-03-13 Updated Brazilian Portuguese translation M po/pt_BR.po commit df6a0a0a1e721142b1be5338fcad2cc0248fdf1e Author: Cosimo Cecchi Date: 2012-03-12 build: remove unused --enable-profiler build option It's unused. https://bugzilla.gnome.org/show_bug.cgi?id=661632 M configure.in commit d9c23d83fdb5e1178f2c2f97a57b937cdab1b251 Author: Cosimo Cecchi Date: 2012-03-12 properties-window: ellipsize the Type field Or the properties window won't shrink when the file type string is long (e.g. with Archive types). https://bugzilla.gnome.org/show_bug.cgi?id=671809 M src/nemo-properties-window.c commit 73588247787b408ec43dba4156cadac97fe2d6d6 Author: Cosimo Cecchi Date: 2012-03-12 pathbar: refresh label size request every time it changes Or we might end up with buttons having the wrong size if a folder on the pathbar changes name. https://bugzilla.gnome.org/show_bug.cgi?id=671865 M src/nemo-pathbar.c commit 389845f1f6e175212554aba7645ce728f0a8f7ec Author: Cosimo Cecchi Date: 2012-03-12 pathbar: don't set use-markup before resetting the label If the label contains markup text, setting use_markup before resetting the text can spawn a warning (and we're resetting the label text right afterwards anyway). M src/nemo-pathbar.c commit 799514c57003d174b466c1fbf262f1229cf9d9df Author: Nilamdyuti Goswami Date: 2012-03-12 Assamese translation completed M po/as.po commit e6a47735728f2e9e40b7c036d94b8c7e7c996ef6 Author: Timo Jyrinki Date: 2012-03-12 Finnish translation update from http://l10n.laxstrom.name/wiki/Gnome_3.4 translation sprint M po/fi.po commit 269abde49580fe4ffa3ec0f31a4efa494860a1d5 Author: Piotr DrÄ…g Date: 2012-03-10 Updated Polish translation M po/pl.po commit 6449cbff18611f8583f98a6ce4e97b66c9667d52 Author: Seong-ho Cho Date: 2012-03-10 Updated Korean translation M po/ko.po commit 376678e92a107703ba19dd34fc4012ef4f04cf8c Author: Kristjan SCHMIDT Date: 2012-03-10 Updated Esperanto translation M po/eo.po commit 878e2a4f7ada26bb7c106e5bbdbd8434acf86c77 Author: Cosimo Cecchi Date: 2012-03-08 view: fix zoom direction for smooth scrolling case M src/nemo-view.c commit 1a76e044a2c9b834d00c4ea30f1e3af3321d8cdd Author: Cosimo Cecchi Date: 2012-03-08 view: handle smooth scroll events for zooming Instead of reaching the g_assert_not_reached() and crash. https://bugzilla.gnome.org/show_bug.cgi?id=671650 M src/nemo-view.c commit 0d46b0620b3b120cde310cb2319c309d8f3e3b82 Author: Cosimo Cecchi Date: 2012-03-07 all: remove eel_g_hash_table_new_free_at_exit() Especially when references can be owned by non-resident modules, this is just too dangerous. https://bugzilla.gnome.org/show_bug.cgi?id=670989 M eel/eel-glib-extensions.c M eel/eel-glib-extensions.h M eel/eel-stock-dialogs.c M eel/eel-string.c M libnemo-private/nemo-directory-async.c M libnemo-private/nemo-directory.c M libnemo-private/nemo-file.c M libnemo-private/nemo-signaller.c M libnemo-private/nemo-thumbnails.c M src/nemo-properties-window.c commit b9c51fd4eb84a9f52ee4be1bf183fc516984130b Author: Cosimo Cecchi Date: 2012-03-07 view: show applications for non launcher desktop files https://bugzilla.gnome.org/show_bug.cgi?id=319981 M src/nemo-mime-actions.c M src/nemo-view.c commit 5a47a484e45218e83202c508b421b1a2707af270 Author: Cosimo Cecchi Date: 2012-03-07 link: fix code to parse additional description for links For some reason, this was ifdeffed out. M libnemo-private/nemo-link.c M src/nemo-icon-view-container.c commit 9ff4e9194215cd955b952b1a82bd6a9d80e666cd Author: Cosimo Cecchi Date: 2012-03-07 link: remove obsolete check for application/x-gnome-app-info We stopped supporting this everywhere else ages ago. M libnemo-private/nemo-link.c commit 0ffe4ea4e0df9e5a186b3096bf1712011230a75b Author: Cosimo Cecchi Date: 2012-03-07 file-dnd: only accept launchers as DnD targets Not random desktop files. M libnemo-private/nemo-file-dnd.c commit b241fd28913e87fe01419e4922259949a11c973f Author: Cosimo Cecchi Date: 2012-03-07 file: don't consider all desktop files nemo links Only those which match application/x-desktop directly. M libnemo-private/nemo-file.c commit 1ef720295bc14630522f2496d194c7c43ccc016a Author: Cosimo Cecchi Date: 2012-03-07 directory-async: remove code that was never executed The ifdef is never defined, so we should just remove this code. M libnemo-private/nemo-directory-async.c commit b4877e5bb19d99936987dc9507fba273a55c3a5a Author: Cosimo Cecchi Date: 2012-03-07 properties-window: fix packing for desktop file properties box Fallout from GtkTable->GtkGrid migration. M src/nemo-properties-window.c commit cc05cdd37fa4e34164081222740c266ae5761508 Author: Bruce Cowan Date: 2012-03-07 Updated British English translation M po/en_GB.po commit aed94bad3ea8eaa6c603f8d85cbfb8cd1fd824fd Author: Arash Mousavi Date: 2012-03-06 Updated Persian Translation M po/fa.po commit 36b1557baf6ecc923e821d417531895640195c4f Author: Bruno Brouard Date: 2012-03-06 Updated French translation M po/fr.po commit 34e74c768d5f39a65056716429a84306c3901992 Author: Matej UrbanÄiÄ Date: 2012-03-06 Updated Slovenian translation M po/sl.po commit b1c3776dd91c29e4e9c1f020c24bb039ef730962 Author: Inaki Larranaga Murgoitio Date: 2012-03-06 Updated Basque language M po/eu.po commit 7fdd100f259046f86500da3eb64cf10bceaba2bd Author: Cosimo Cecchi Date: 2012-03-05 build: bump required GTK version to 3.3.17 I.e. the current git master. M configure.in commit df2cf158aa93e2d395b57ce2a1bf4b89bac20709 Author: Cosimo Cecchi Date: 2012-03-05 release: prepare for 3.3.91 M NEWS M configure.in commit ab5077e0bce77af4cad87a20fec8099e3db0bcc0 Author: Michael Terry Date: 2012-03-05 slot: don't ref the NemoWindowSlot when setting floating bar timeout We cancel the timeout on destruction already, and if a destroy event happens in between the timeout, this would break the assumption in NemoWindowPane that all its slots were removed during its destruction. https://bugzilla.gnome.org/show_bug.cgi?id=670591 M src/nemo-window-slot.c commit 819a5d14a33d95ba5ef25a3becec4ebccb93807b Author: Michael Terry Date: 2012-03-05 file-operations: use the right prototype for empty trash callback When unmounting, we might first prompt whether the trash should be emptied or not on the target volume. If we do so, make sure the callback from the empty trash job has the right prototype, to avoid crashing later trying to interpret a gboolean as a pointer to a data structure. https://bugzilla.gnome.org/show_bug.cgi?id=670595 M libnemo-private/nemo-file-operations.c commit 503443418709c9fb42af52c90c035b3957b0686e Author: Cosimo Cecchi Date: 2012-03-05 pathbar: copy implementation of an event window from the GTK copy In order to listen for scroll events on the whole pathbar area, we need to create an event window in realize(), created with GDK_SCROLL_MASK. Copy the code from GtkPathBar that implements this. M src/nemo-pathbar.c M src/nemo-pathbar.h commit 04116ab2876412445c788091be07d7f7321a4a94 Author: Cosimo Cecchi Date: 2012-03-05 pathbar: sync with GTK master to make scrolling work again M src/nemo-pathbar.c commit 4c83328a0ba2d511fea8cefe1464269fbaa1b35f Author: Cosimo Cecchi Date: 2012-03-05 Revert "Revert "Fix up accidental error in last commit"" Having people randomly commit unapproved controversial changes to the UI during UI freeze is so awesome... This reverts commit 50a174cfbf288f07d2f9bf44f31af41dc1535df8. M src/nemo-view.c commit 29a050d986bd5fd86ef522617966768c8c40beb7 Author: Cosimo Cecchi Date: 2012-03-05 Revert "Revert "Use ctrl-delete as the keyboard shortcut to trash files"" Having people randomly commit unapproved controversial changes to the UI during UI freeze is so awesome... This reverts commit 6c21b39cd9d22de4c92ab214e647e65fbfdfe9ac. M src/nemo-view.c commit 6c66de56871a7201c6b0c13d216a237a2e4a4af3 Author: Hannie Dumoleyn Date: 2012-03-04 Updated Dutch translation M po/nl.po commit 24bbb0d39a285546538961d917a070f1ead27bed Author: Arash Mousavi Date: 2012-03-04 Updated Persian Translations M po/fa.po commit 4a0dcfa280ebf9ade975fbefc470f9d3334b1175 Author: Nguyá»…n Thái Ngá»c Duy Date: 2012-03-04 Updated Vietnamese translation M po/vi.po commit 46ba80571e73335fa2fde48529e73b6f2b3f0453 Author: Nguyá»…n Thái Ngá»c Duy Date: 2012-03-03 po/vi: import from Damned Lies M po/vi.po commit 55660df03074e3759a88fd5cf4a45d0a0ce8830a Author: Gabor Kelemen Date: 2012-03-04 Updated Hungarian translation M po/hu.po commit 2c289a073bd0ff4b779f70885566b0783534a1da Author: Daniel Korostil Date: 2012-03-02 Uploaded Ukranian M po/uk.po commit 202b772a7b6fcd7ac758011935cc0eb4eca8454e Author: Mario Blättermann Date: 2012-02-29 [l10n] Updated German translation M po/de.po commit 6c21b39cd9d22de4c92ab214e647e65fbfdfe9ac Author: Xavier Claessens Date: 2012-02-27 Revert "Use ctrl-delete as the keyboard shortcut to trash files" This reverts commit cce40272e35b20b4aaf5f93109a05b7bb89704d5. M src/nemo-view.c commit 50a174cfbf288f07d2f9bf44f31af41dc1535df8 Author: Xavier Claessens Date: 2012-02-27 Revert "Fix up accidental error in last commit" This reverts commit c6279ac229545d7f64b64212383df2753482e233. M src/nemo-view.c commit f8f2aa2c1caa6c3eb2ad801f9b1644b505ec1e3f Author: Dr.T.Vasudevan Date: 2012-02-26 updated Tamil translation M po/ta.po commit b1de3f789a3271d459815ec6d04ece342ebf8d1c Author: Dr.T.Vasudevan Date: 2012-02-26 updated Tamil translation M po/ta.po commit b4272502dbdb48656502679e364c25ea945e1945 Author: Dr.T.Vasudevan Date: 2012-02-26 updated Tamil translation M po/ta.po commit 9c0bf9befaa286a96b4300d462954de003708340 Author: A S Alam Date: 2012-02-26 update Punjabi Translation M po/pa.po commit 94463615ff55a9217470054084f4af8e819ee9c8 Author: Abderrahim Kitouni Date: 2012-02-23 Updated Arabic translation by Ibrahim Saed and Abderrahim Kitouni M po/ar.po commit 73929f70316bd2b120a67725fdd43bc5a996149b Author: Mattias Põldaru Date: 2012-02-22 [l10n] Updated Estonian translation M po/et.po commit ab0af563ecfd50632cbb8491e634282a0f15ea07 Author: Mattias Põldaru Date: 2012-02-22 [l10n] Updated Estonian translation M po/et.po commit fa8997416110581ed48979fdf873f8fe28fcf87b Author: Ask H. Larsen Date: 2012-02-20 Updated Danish translation M po/da.po commit b05d9fd27463054916f84626f4d1a8daf9543d18 Author: МироÑлав Ðиколић Date: 2012-02-20 Updated Serbian translation M po/sr.po M po/sr@latin.po commit 30f1d93169661d1493ffca3baace20577bed4a3a Author: Cosimo Cecchi Date: 2012-02-20 release: prepare for 3.3.90 M NEWS M configure.in commit 3da42acd7a4da971294708e683394a2292c54c12 Author: Cosimo Cecchi Date: 2012-02-20 build: link eel and libnemo-private to libm M eel/Makefile.am M libnemo-private/Makefile.am commit 6fecf4844d5ae749c83a943af950ee594fc2e73d Author: Cosimo Cecchi Date: 2012-02-20 file: add a default empty implementation of set_metadata methods Otherwise we will segfault for subclasses of NemoFile that don't override the method. https://bugzilla.gnome.org/show_bug.cgi?id=669735 https://bugzilla.gnome.org/show_bug.cgi?id=669711 M libnemo-private/nemo-file.c commit 9fda64f91fdbd470e8a84991427dd1e9cb0b8ebf Author: Ihar Hrachyshka Date: 2012-02-20 Updated Belarusian translation. M po/be.po commit 67c5ba88c073c0a6620f22d7223d2bd3b450f499 Author: Ihar Hrachyshka Date: 2012-02-20 Updated Belarusian translation. M po/be.po commit f6f651bff8f5961ea4577c7aaa81ada8263a74da Author: Kjartan Maraas Date: 2012-02-20 Updated Norwegian bokmÃ¥l translation M po/nb.po commit 448c7991f3c2fb7c2434cd7a2dab8dfae399f609 Author: Adam MatouÅ¡ek Date: 2012-02-20 Updated Czech translation M po/cs.po commit c3f5c2afdd1f740576029544d21e732759e54ba0 Author: Daniel Nylander Date: 2012-02-19 Updated Swedish translation M po/sv.po commit 720b994d93d62f346e0cde181bdfc1817916f13c Author: Yaron Shahrabani Date: 2012-02-18 Updated Hebrew translation. M po/he.po commit 0d4de6246689ab67b40dad1d206114915589d18f Author: Chao-Hsiung Liao Date: 2012-02-18 Updated Traditional Chinese translation(Hong Kong and Taiwan) M po/zh_HK.po M po/zh_TW.po commit ea10e1a45f11ea3771b92f411a0817fd9049fc88 Author: Jiro Matsuzawa Date: 2012-02-17 [l10n] Update Japanese translation M po/ja.po commit d5cc4631ee4366bcf7f33c78bf193eb0e1cbb8b0 Author: Luca Ferretti Date: 2012-02-16 l10n: Updated Italian translation M po/it.po commit 41106223c6124fb8b427810a3e9a5b9d270777fa Author: Fábio Nogueira Date: 2012-02-16 Updated Translator Credits in Brazilian Portuguese Translation M po/pt_BR.po commit 8b21dc1de851f4e49a791cb2d878570e26985975 Author: Alexander Shopov Date: 2012-02-16 Updated Bulgarian translation M po/bg.po commit 570266ce8c0ccd0e2382cd6cf5fdd59339b9a7c1 Author: Yuri Myasoedov Date: 2012-02-15 Updated Russian translation M po/ru.po commit a7843cb0d1bff3deafed93d9c9e2c7d8d6ebf458 Author: Daniel Mustieles Date: 2012-02-15 Updated Spanish translation M po/es.po commit 4421b79de801efd5fbd7d6ef6666e2b0e3b813f9 Author: Fran Diéguez Date: 2012-02-14 Updated Galician translations M po/gl.po commit 2c7b82f2d3712f08dc940828b7a4b4de55164621 Author: Cosimo Cecchi Date: 2012-02-14 undo: add ngettext plural forms for undo operation strings Even if we don't use those strings for singular cases, this is still needed, since some languages might need to use the singular form for e.g. the x1st item. See: https://live.gnome.org/TranslationProject/DevGuidelines/Plurals https://bugzilla.gnome.org/show_bug.cgi?id=669889 M libnemo-private/nemo-file-undo-operations.c commit 01382c267728e2dd00cc8b48cd6024dbae183345 Author: Cosimo Cecchi Date: 2012-02-13 pane: don't make the toolbar for inactive pane insensitive At the same time, we have to listen for events on the toolbar items to set the active pane. M src/nemo-search-bar.c M src/nemo-search-bar.h M src/nemo-window-menus.c M src/nemo-window-pane.c commit 3787143f2bcf576a9b75600b40a324454b25beca Author: Cosimo Cecchi Date: 2012-02-13 pane: set a style class on the inactive window pane to style it Set a "nemo-inactive-pane" style class on the inactive NemoWindowPane; this allows us to theme the inactive pane state way more easily and removes a bunch of setup code. M libnemo-private/nemo-icon-container.c M libnemo-private/nemo-icon-container.h M libnemo-private/nemo-icon-private.h M src/nemo-icon-view.c M src/nemo-list-view.c M src/nemo-view.c M src/nemo-view.h M src/nemo-window-pane.c M src/nemo-window-pane.h M src/nemo-window.c commit 31dad6f9fa05dc64fc1ead54bdad9bbae4bfa713 Author: Cosimo Cecchi Date: 2012-02-13 icon-canvas-item: don't override parent container style flags When drawing the canvas item elements, don't override the parent container style flags, so we don't lose e.g. backdrop information. M libnemo-private/nemo-icon-canvas-item.c commit 457c9ccaf17e34366ea4bacb7d3a1a72094fb8d7 Author: Baurzhan Muftakhidinov Date: 2012-02-12 [l10n] Updated Kazakh translation M po/kk.po commit 47778be25cf65fbcd0151093fc7e2b3aa14b229c Author: Cosimo Cecchi Date: 2012-02-11 floating-bar: add "floating-bar" style class M src/nemo-floating-bar.c commit ef34e92b4c685c25e36d67b8b266ac6bff1489f0 Author: Yuri Myasoedov Date: 2012-02-11 Updated Russian translation M po/ru.po commit 8d064c5e5782e98bb63836b92847ff1260f4b77f Author: Tiffany Antopolski Date: 2012-02-10 po: updated en_CA.po M po/en_CA.po commit cd497dd43fabc6b9aa679fd326bb0f16334dbd59 Author: Cosimo Cecchi Date: 2012-02-08 undo: fix a double free in the Create operation strings func https://bugzilla.gnome.org/show_bug.cgi?id=669691 M libnemo-private/nemo-file-undo-operations.c commit 071f40683bda36eb47df8a2c536da282b9fb04e6 Author: Cosimo Cecchi Date: 2012-02-06 release: prepare for 3.3.5 M NEWS M configure.in commit b7a3fddf60aaeac95f85259b2d83fc3cde81959f Author: Cosimo Cecchi Date: 2012-02-06 places-sidebar: change the way we restore selection on update Instead of checking whether the URI of every item we add is a candidate for selection, cycle through all the added items after inserting. This also fixes a bug where the GtkTreeIter we used for keeping track of the last added item was not up-to-date with the actual cell, since the sort function we apply to the items will modify the position of the item in the tree itself, making the iter invalid. https://bugzilla.gnome.org/show_bug.cgi?id=668212 M src/nemo-places-sidebar.c commit 7e7a21daf15055aab8639ba684ce34a6683073fa Author: Cosimo Cecchi Date: 2012-02-06 places-sidebar: don't use an additional GtkTreeModelFilter We were using it just for GtkTreeDragSourceIface, which we can implement ourselves. M src/nemo-places-sidebar.c commit 7c5ebdbbd3c7778af230fc830b5bc6bd706f1d61 Author: Cosimo Cecchi Date: 2012-02-06 window-manage-views: fix a crash when middle-clicking desktop icons We were hitting an assertion when middle clicking a desktop icon, since we were trying to open it in a tab (same window), and we don't really want to do that on the desktop. https://bugzilla.gnome.org/show_bug.cgi?id=655576 M src/nemo-window-manage-views.c commit 4abf11d07e8d8bc86523e105db9c6c76f29e9643 Author: Cosimo Cecchi Date: 2012-02-06 window: simplify code a bit Don't export nemo_window_update_split_view_actions_sensitivity(), but alwauys call it from nemo_window_update_show_hide_menu_items(), since that's what the code always does. https://bugzilla.gnome.org/show_bug.cgi?id=669189 M src/nemo-window-menus.c M src/nemo-window-private.h M src/nemo-window.c commit 2626eacbd9883161d7d3b14f4e1c56a02e3eb7ce Author: Cosimo Cecchi Date: 2012-02-06 pane: don't forget to update the split view actions when closing a slot In case a slot close is requested, we should still update the split view actions sensitivity/state. https://bugzilla.gnome.org/show_bug.cgi?id=669189 M src/nemo-window-pane.c commit e8c4685f033b11034fa24007c558b8fc347024d3 Author: Cosimo Cecchi Date: 2012-02-06 desktop-background: stop any pending crossfades on widget destruction Internally, GnomeBGCrossfade depends on the GdkWindow we pass on to gnome_bg_crossfade_start() to be available during the whole crossfade. If our widget is destroyed, we have to immediately stop the crossfade, without waiting our finalization step, which happens after the widget is already gone. M libnemo-private/nemo-desktop-background.c commit 91fc1674ae71d356b06b8b549e91782a2b06758a Author: Cosimo Cecchi Date: 2012-02-06 desktop-background: unref the GnomeBG on finalize This also prevents signals being emitted from it after our destruction, as in https://bugzilla.gnome.org/show_bug.cgi?id=665796 M libnemo-private/nemo-desktop-background.c commit 9d0f892656282519059d65f10db7504ad4910b22 Author: Cosimo Cecchi Date: 2012-02-06 pane: don't access invalid memory slot->pane is already cleared in nemo_window_slot_dispose(), which will get called while the slot is destroyed; setting it here can cause an invalid memory access. M src/nemo-window-pane.c commit 1bfe1dd449bdfb80e58f6f149d87c153f13962f2 Author: Piotr DrÄ…g Date: 2012-02-04 Updated Polish translation M po/pl.po commit 6b2e19cb9957f0685eb561a6e22c1be6730e6fee Author: Cosimo Cecchi Date: 2012-01-31 undo: fix logic in the file operation callback This caused some actions not to be scheduled for redo. M libnemo-private/nemo-file-undo-operations.c commit c4099c1a20c0502dd7a12e0d1ffbfe70d4bf527a Author: Cosimo Cecchi Date: 2012-01-30 application: fix an unfortunate typo We were allocating the wrong size for the NemoApplication private structure. M src/nemo-application.c commit d60b724d5ee183b1074a137d9cc24c22b3a2259d Author: Cosimo Cecchi Date: 2012-01-30 undo: fix Redo Trash not updating the trashed mtime When we redo a trash operation, we should make sure our trashed files hash table stores the updated timestamp when we trashed the file again, or we won't be able to trash them again. M libnemo-private/nemo-file-undo-operations.c commit 2a02b02328e20ac66b8cb71140681fdd0ac384ff Author: Cosimo Cecchi Date: 2012-01-30 undo: make sure to correctly clear the undo state on operation finish Don't stack allocate the struct for the file operations return value, and make sure we don't return success for a failed operation. M libnemo-private/nemo-file-undo-operations.c commit 2944be953ef54717bb24968b0eebe468c9705db4 Author: Chao-Hsiung Liao Date: 2012-01-29 Updated Traditional Chinese translation(Hong Kong and Taiwan) M po/zh_HK.po M po/zh_TW.po commit 56a0b14e55239bf5076f1c73b30f534af1dd1a86 Author: Matej UrbanÄiÄ Date: 2012-01-28 Updated Slovenian translation M po/sl.po commit f34c331ca81e4bafd6db4c6c36c7b3625c674278 Author: Matej UrbanÄiÄ Date: 2012-01-28 Updated Slovenian translation M po/sl.po commit 3738ee50a11a2d3997c470cb19a23521c60c256e Author: Yaron Shahrabani Date: 2012-01-28 Updated Hebrew translation. M po/he.po commit 247a27a94b28304dbb0b4aaf2ff783d0d909a73c Author: Timo Jyrinki Date: 2012-01-24 Updated Finnish translation. M po/fi.po commit 9736b263c7830dad6c9de6b42f131395201b993b Author: Cosimo Cecchi Date: 2012-01-23 undo: remove some URI->GFile roundtrips in the trash undo operations We can just store GFiles directly in the hash table and use g_file_hash() and g_file_equal() instead of parsing the URIs ourselves. M libnemo-private/nemo-file-undo-operations.c commit 211d4429171e6d3e307cb175513077f61c86b640 Author: Cosimo Cecchi Date: 2012-01-23 undo: don't provide any free function for trashed hashtable values No need to call g_free() anymore. M libnemo-private/nemo-file-undo-operations.c commit 3c3096371bb8fda0766c59c9467eb8ed24ed67cf Author: Arthur Taylor Date: 2012-01-22 Make rubberband fade obey gtk animation setting. The rubberband fade-out effect should observe the gtk animation setting, intened to make life easier for people running resource contrained setups (like X11 over a network.) Signed-off-by: Arthur Taylor M libnemo-private/nemo-icon-container.c commit 125cc4026585b760071db630ffd6edcce1ad8c93 Author: Kjartan Maraas Date: 2012-01-23 Updated Norwegian bokmÃ¥l translation M po/nb.po commit 7b74cfc6fd6279599753f777620e2537d1f23e61 Author: Daniel Mustieles Date: 2012-01-23 Updated Spanish translation M po/es.po commit 45a2f47e35002b316cb8ccb94073deaa6bb75850 Author: Fran Diéguez Date: 2012-01-22 Updated Galician translations M po/gl.po commit 362fb6464b62d6fed896d1bc53f6fc763f8fa6fb Author: Cosimo Cecchi Date: 2012-01-21 undo: rework undo for the trash operation to be asynchronous Also, make the mtime checks actually useful; we need to check the trash::deletion-date attribute and match it with the time we trashed the file (which we can easily know using g_get_current_time()). M libnemo-private/nemo-file-operations.c M libnemo-private/nemo-file-undo-operations.c M libnemo-private/nemo-file-undo-operations.h commit c063418e66ed0fdc40b4fd48bc5bd29c0cbefa09 Author: Cosimo Cecchi Date: 2012-01-21 undo: fix undo move to trash We were querying the mtime of the trashed file after it was already trashed, and we were also overflowing the guint64 assigning -1 to it. M libnemo-private/nemo-file-operations.c commit bf38d260d1011c08f5e36f3d7d78e10244627e16 Author: Cosimo Cecchi Date: 2012-01-21 undo: always complete the apply action in idle The action might be synchronous. M libnemo-private/nemo-file-undo-operations.c commit 89cc154cee3e64a771499d21f410854ecc5cd8ad Author: Piotr DrÄ…g Date: 2012-01-21 Updated POTFILES.in M po/POTFILES.in commit f8e8507dcfa98e21a1454cb5290b071abec680e4 Author: Daniel Mustieles Date: 2012-01-21 Updated Spanish translation M po/es.po commit 5f338fc07e288dcc2ff6e141edc42aade01da284 Author: Cosimo Cecchi Date: 2012-01-20 undo: remove NemoFileUndoTypes M libnemo-private/Makefile.am D libnemo-private/nemo-file-undo-types.h commit 3f45de05a6a87c8d432e94375f714c3da1f8fc34 Author: Cosimo Cecchi Date: 2012-01-20 view: use NemoFileUndoInfo directly Get the info object from the manager and use that to build menus. M src/nemo-view.c commit aac633c6d66d7dd9753b645e88657a7f6257e8eb Author: Cosimo Cecchi Date: 2012-01-20 file/file-operations: adapt to changes in file undo manager And fix some typos. M libnemo-private/nemo-file-operations.c M libnemo-private/nemo-file-private.h M libnemo-private/nemo-file.c commit 1f758301ee89b5f96bcb650f039696a7049fac44 Author: Cosimo Cecchi Date: 2012-01-20 file-undo-manager: use NemoFileUndoInfo Rework NemoFileUndoManager to use the new NemoFileUndoInfo objects. At the same time, make it use a single item instead of a queue, turning it into a state machine. This has various reasons; from a code perspective, if we keep a stack of operations, we should also keep track and invalidate items in there when something changes on the filesystem, but this can be very expensive. On the other hand in the UI we probably don't want to expose more than one item anyway. M libnemo-private/nemo-file-undo-manager.c M libnemo-private/nemo-file-undo-manager.h commit 69e79e2f9d3c8c2bbae4a0a32e58f42385c662b4 Author: Cosimo Cecchi Date: 2012-01-20 undo: turn NemoFileUndoData into NemoFileUndoInfo Make it a GObject with subclasses for each type of operations. This allows for easy sharing of the base class object with the view as well, for menu information, and provides an async API to the undo manager for the file operation. M libnemo-private/nemo-file-operations.c M libnemo-private/nemo-file-private.h M libnemo-private/nemo-file-undo-operations.c M libnemo-private/nemo-file-undo-operations.h M libnemo-private/nemo-file-undo-types.h M libnemo-private/nemo-file.c commit 44b695b9af6a26fbf2979a19fd638cc3682c89bb Author: Cosimo Cecchi Date: 2012-01-18 file-operations: first pass at passing on success information We want to know if a file operation failed for some reason, so that we don't add it in the redo queue. M libnemo-private/nemo-file-operations.c M libnemo-private/nemo-file-operations.h M libnemo-private/nemo-file-undo-manager.c M libnemo-private/nemo-file-undo-manager.h M libnemo-private/nemo-file-undo-operations.c M libnemo-private/nemo-file-undo-operations.h M libnemo-private/nemo-file-undo-types.h M src/nemo-places-sidebar.c M src/nemo-properties-window.c M src/nemo-tree-sidebar.c M src/nemo-view.c M test/test-copy.c commit f76844a3208033a97532222ce531bd9a04205871 Author: Cosimo Cecchi Date: 2012-01-16 undo: pass in a GtkWindow for undo operations So that dialogs triggered by the file operations can correctly be parented. M libnemo-private/nemo-file-undo-manager.c M libnemo-private/nemo-file-undo-manager.h M libnemo-private/nemo-file-undo-operations.c M libnemo-private/nemo-file-undo-types.h M src/nemo-view.c commit dcf5d6796b5adc13a4b03d36f30d9f15025e9df9 Author: Amos Brocco Date: 2012-01-16 undo: introduce undo support M libnemo-private/Makefile.am M libnemo-private/nemo-debug.c M libnemo-private/nemo-debug.h M libnemo-private/nemo-file-operations.c M libnemo-private/nemo-file-private.h A libnemo-private/nemo-file-undo-manager.c A libnemo-private/nemo-file-undo-manager.h A libnemo-private/nemo-file-undo-operations.c A libnemo-private/nemo-file-undo-operations.h A libnemo-private/nemo-file-undo-types.h M libnemo-private/nemo-file.c M src/nemo-directory-view-ui.xml M src/nemo-shell-ui.xml M src/nemo-view.c M src/nemo-window-menus.c commit 88f18618ba15b952a739e410b910508f244b1fc3 Author: Vincent Untz Date: 2012-01-19 build: Support build against tracker 0.13/0.14 https://bugzilla.gnome.org/show_bug.cgi?id=667853 M configure.in commit b65b13f59e0bb20497751a5c13ea85ccb7ebb2ba Author: Daniel Mustieles Date: 2012-01-17 Updated Spanish translation M po/es.po commit 01a2c0affada3157cf5b7b8147e27d6a0a0151dc Author: Fran Diéguez Date: 2012-01-17 Updated Galician translations M po/gl.po commit 3795ec8883676e367be1d7f9d6314a1a7e781fd7 Author: Cosimo Cecchi Date: 2012-01-16 notebook: use a symbolic icon for the tab close image M src/nemo-notebook.c commit 1a5cc61ae329d3776e8d75fd46b0e9326f0e7654 Author: Kjartan Maraas Date: 2012-01-16 Updated Norwegian bokmÃ¥l translation M po/nb.po commit 8ff0ae7d645b4c076977ab889b46a20392d3da25 Author: Cosimo Cecchi Date: 2012-01-16 release: prepare for 3.3.4 M NEWS M configure.in commit 8c778211e5c826998890d2034b828928c693e4d9 Author: Carlos Garnacho Date: 2012-01-12 eel: Queue resizes on the canvas as elements change visibility Not queueing resizes may play oddly with the size request caches in GTK+, resulting in gtk_widget_get_preferred_width/height returning 0 even after the canvas was populated. https://bugzilla.gnome.org/show_bug.cgi?id=667831 M eel/eel-canvas.c commit f1bb90717ba78533905d3f532940a390371a979c Author: Cosimo Cecchi Date: 2012-01-16 build: add nemo.gresource.xml to EXTRA_DIST Fix distcheck. M src/Makefile.am commit 132bf6802d9e36354e89469f3ef0b5daa1082299 Author: Cosimo Cecchi Date: 2012-01-16 extension: doc cleanups M docs/reference/libnemo-extension/Makefile.am M docs/reference/libnemo-extension/libnemo-extension-docs.xml M docs/reference/libnemo-extension/libnemo-extension-sections.txt commit e79c28b48008ed5e94763417b4a68b86ffcfd919 Author: Cosimo Cecchi Date: 2012-01-16 extension: add some more missing gir annotations M libnemo-extension/nemo-column-provider.c M libnemo-extension/nemo-menu-provider.c M libnemo-extension/nemo-menu.c M libnemo-extension/nemo-property-page-provider.c commit f04f79a424a03127c4d3ab44bd1363ff00ade212 Author: Cosimo Cecchi Date: 2012-01-16 build: update gitignore M data/.gitignore M src/.gitignore commit 607c8a11f41d7f1a49f67421d4b98a6edbcbcee5 Author: Cosimo Cecchi Date: 2012-01-16 module: don't access the GModule if none was returned Before checking if the GModule pulls in ORBit, we should make sure g_module_open() returned a non-NULL GModule. M libnemo-private/nemo-module.c commit 024381aac07aeb7ed161913e601fcefbf4e3f990 Author: Marcus Carlson Date: 2012-01-16 file-operations: show current file counter and total files Change the file operation strings so that both the current file counter and the total number of files are shown in the UI. https://bugzilla.gnome.org/show_bug.cgi?id=606955 M libnemo-private/nemo-file-operations.c commit e0b3e63b6fedb8bd056c80647c43f4f388c3b1ed Author: Cosimo Cecchi Date: 2012-01-16 build: require latest GLib and GTK+ This is needed for the new resources API. M configure.in commit 733c890a5d7e4615b754accc0c7906545b9a0b59 Author: Alexander Larsson Date: 2012-01-12 Move all ui files and icons into resources M icons/Makefile.am M libnemo-private/nemo-file-utilities.c M libnemo-private/nemo-file-utilities.h M libnemo-private/nemo-icon-canvas-item.c M libnemo-private/nemo-thumbnails.c M libnemo-private/nemo-ui-utilities.c M libnemo-private/nemo-ui-utilities.h M src/Makefile.am M src/nemo-bookmarks-window.c M src/nemo-desktop-icon-view.c M src/nemo-file-management-properties.c M src/nemo-icon-view.c M src/nemo-list-view.c M src/nemo-toolbar.c M src/nemo-view.c M src/nemo-window-menus.c A src/nemo.gresource.xml commit d6291d9ae62de65deaafd72cf9f5a5e22e627cf3 Author: Yaron Shahrabani Date: 2012-01-14 Updated Hebrew translation. M po/he.po commit 1df7de8a1ab643ebefe3d8df7ab0343f36687299 Author: Martin Pitt Date: 2012-01-05 Lazily initialize notification service Avoid spawning the notification daemon at startup through querying server caps. Instead, cache the result in server_has_persistence() and initialize it lazily. https://bugzilla.gnome.org/show_bug.cgi?id=667342 M src/nemo-progress-ui-handler.c commit 6010f04793f926d2cc3c3533ce2f8de3f24eccc6 Author: Og B. Maciel Date: 2012-01-12 Fixes wrong translation on warning about long filename. BGO #667495. M po/pt_BR.po commit 69cb7b536c0df4331b7c36aca9f71e67c8b19009 Author: Timo Jyrinki Date: 2012-01-12 Updated Finnish translation. M po/fi.po commit 6003b063ee2af39644d4138e52ae93bd5b513ac1 Author: Cosimo Cecchi Date: 2012-01-09 extension: add some annotations M libnemo-extension/nemo-file-info.c M libnemo-extension/nemo-location-widget-provider.c commit 0d0eb9b50e5fd24a09bc2b9c141950fb75d86db3 Author: Cosimo Cecchi Date: 2012-01-09 window: make nemo_window_prompt_for_location() private M src/nemo-window-menus.c M src/nemo-window.c M src/nemo-window.h commit d01abc43d6bf016b573cbd0d6b6d0dc1bd127873 Author: Cosimo Cecchi Date: 2012-01-09 window: remove unused view-as-changed signal M src/nemo-window.c commit 006e8207d13da318aa912a860930dd79f04fb085 Author: Cosimo Cecchi Date: 2012-01-09 window: remove unused zoom-changed signal M src/nemo-window.c commit d48669776205bf7732601d73d2fddec5b44a53ef Author: Cosimo Cecchi Date: 2012-01-09 pane: remove useless assertion Now that the slots are direct pages of the GtkNotebook, there's no need to ensure the slot is in the pane's list, since we already assert on gtk_notebook_page_num(slot) >= 0. M src/nemo-window-pane.c commit ec391bf3de51ab4ee7f510ab6570fc240a7754c0 Author: Cosimo Cecchi Date: 2012-01-09 slot: make NemoWindowSlot a GtkBox Simplifies management of the slot quite a bit. M src/nemo-notebook.c M src/nemo-window-manage-views.c M src/nemo-window-manage-views.h M src/nemo-window-pane.c M src/nemo-window-pane.h M src/nemo-window-slot.c M src/nemo-window-slot.h commit 283c4903139dc08b7b69afa117870e143cc64137 Author: Cosimo Cecchi Date: 2012-01-09 notebook: remove unused defines M src/nemo-notebook.c commit 115c960e939a1c1fa6db97a105fe92d0b70ecde8 Author: Cosimo Cecchi Date: 2012-01-09 slot: remove unused cases for NemoLocationChangeType M src/nemo-window-manage-views.c M src/nemo-window-slot.h commit 1cb66dfb4c3750a142dfd3130613b52b1d386eff Author: Cosimo Cecchi Date: 2012-01-07 search-bar: remove unused focus-in signal M src/nemo-search-bar.c M src/nemo-search-bar.h commit f49a5b864058cc5bb4b1534ab03e89d1e9fdbc34 Author: Cosimo Cecchi Date: 2012-01-07 window: move nemo_window_update_up_button() to NemoWindow M src/nemo-window-manage-views.c M src/nemo-window-manage-views.h M src/nemo-window-pane.c M src/nemo-window-private.h M src/nemo-window.c commit 2705e8019c6f6b3714b679788827c5c297798cf9 Author: Cosimo Cecchi Date: 2012-01-07 pane: cleanup M src/nemo-properties-window.c M src/nemo-window-manage-views.c M src/nemo-window-menus.c M src/nemo-window-pane.c M src/nemo-window-types.h M src/nemo-window.c M src/nemo-window.h commit 1af49b5dd84e9127785f2c507940574d6f62ecbf Author: Cosimo Cecchi Date: 2012-01-07 window: use g_clear_object M src/nemo-window-manage-views.c M src/nemo-window-menus.c commit 4d22ba9b6100556bf6f81f827b38dc9ad0626ac3 Author: Cosimo Cecchi Date: 2012-01-06 window: nuke unused functions M src/nemo-window-manage-views.c M src/nemo-window-manage-views.h commit ed97a6ec6db1a618bc65705618e5b73748e4cd7e Author: Cosimo Cecchi Date: 2012-01-06 all: use nemo_window_slot_get_window() M src/nemo-window-manage-views.c M src/nemo-window-pane.c M src/nemo-window-slot.c M src/nemo-window.c commit f1f7bf476b3c932d13927e55292e8bd8b77b29d8 Author: Cosimo Cecchi Date: 2012-01-06 application: remove useless assignment M src/nemo-application.c commit e83f6e0990971ea22275bd9cf877541b7824ab14 Author: Cosimo Cecchi Date: 2012-01-06 pane: refactor to make NemoWindow a GObject property M src/nemo-window-pane.c commit 93923f66225434e42ef6bb8588e7d3fbdb3409a4 Author: Cosimo Cecchi Date: 2012-01-06 window: fold nemo_window_allow_up() into its only caller M src/nemo-window-manage-views.c M src/nemo-window.c M src/nemo-window.h commit f5db1b3062a42a649fbc11e4272399cfa70dc772 Author: Cosimo Cecchi Date: 2012-01-06 window: remove unused nemo_window_allow_back/forward M src/nemo-window.c M src/nemo-window.h commit f784b5b57503e58c49a1d55b0c664096951c9018 Author: Cosimo Cecchi Date: 2012-01-06 pane: use nemo_navigation_state_set_boolean() M src/nemo-window-pane.c commit f3eff82082f4ebd88e01d3efbe2631a15989cfa9 Author: Cosimo Cecchi Date: 2012-01-06 navigation-state: add API to sync a boolean value on a tracked action M src/nemo-navigation-state.c M src/nemo-navigation-state.h commit 9384542c1821420c01962237d23e9716bc5a8404 Author: Cosimo Cecchi Date: 2012-01-06 window: add nemo_window_get_navigation_state() M src/nemo-window-menus.c M src/nemo-window-pane.c M src/nemo-window.c M src/nemo-window.h commit f876211d2e318580d1f28c57e7f0182f7c5bfb3a Author: Cosimo Cecchi Date: 2012-01-06 window: add nemo_window_get_main_action_group() M src/nemo-desktop-window.c M src/nemo-window-menus.c M src/nemo-window.c M src/nemo-window.h commit 419d49de7dd714095fbd63dd7093fec5c07a52fb Author: Cosimo Cecchi Date: 2012-01-06 slot: fold function into the only caller Also simplify its code a bit. M src/nemo-window-slot.c commit 7289cc044cfaa3eee69396805d4e6dd8644a9483 Author: Cosimo Cecchi Date: 2012-01-06 slot: cleanup NemoWindowSlot creation M src/nemo-window-pane.c M src/nemo-window-slot.c M src/nemo-window-slot.h commit b09427273f525753b4b792bfdfb333e28c2e0ea9 Author: Cosimo Cecchi Date: 2012-01-06 window: misc cleanups M src/nemo-window-bookmarks.c M src/nemo-window-private.h M src/nemo-window.c commit 33a79d4ca73be9b45b19ff28cd702103a40333c5 Author: Cosimo Cecchi Date: 2012-01-06 window: move nemo_window_open_slot to NemoWindowPane Where it should really belong. M src/nemo-window-manage-views.c M src/nemo-window-pane.c M src/nemo-window-pane.h M src/nemo-window-private.h M src/nemo-window.c commit 0d83fdffed7b3c8987e19f6e5ef6f304f5efdb9d Author: Cosimo Cecchi Date: 2012-01-06 slot: don't include gi18n.h in the header M src/nemo-bookmarks-window.c M src/nemo-progress-ui-handler.c M src/nemo-view-dnd.c M src/nemo-window-pane.c M src/nemo-window-slot.c M src/nemo-window-slot.h commit ac606bd25e13914c28702a5099905ead4e1c1510 Author: Cosimo Cecchi Date: 2012-01-06 all: use nemo_window_get_active_pane() M src/nemo-window-manage-views.c M src/nemo-window-menus.c M src/nemo-window-pane.c M src/nemo-window.c commit 455c8da5981db559d7d47d9f9fcb8dac8297d4ac Author: Cosimo Cecchi Date: 2012-01-06 all: use nemo_window_get_active_slot() M src/nemo-location-bar.c M src/nemo-window-bookmarks.c M src/nemo-window-manage-views.c M src/nemo-window-menus.c M src/nemo-window-pane.c M src/nemo-window-private.h M src/nemo-window-slot.c M src/nemo-window.c commit cc151a40cebda4ba7d4adc40c702f0210614105f Author: Cosimo Cecchi Date: 2012-01-02 window: remove bookmark menu placeholder path from NemoWindowClass It's not used by the only subclass we have now. M src/nemo-window-bookmarks.c M src/nemo-window.c M src/nemo-window.h commit 6c8896cfc1a52b0eec31bec3090ee5661af1931e Author: Cosimo Cecchi Date: 2012-01-02 window: remove nemo_window_get_window_type() It's unused now. M src/nemo-desktop-window.c M src/nemo-window.c M src/nemo-window.h commit f167ba4f3f3d571169c07584528e748391c5a833 Author: Cosimo Cecchi Date: 2012-01-02 view: don't use nemo_window_get_window_type() Just check if the view is a NemoDesktopIconView instead. M src/nemo-view.c commit 6561bf66c37ffcff450c7880300661ee260ec5c7 Author: Cosimo Cecchi Date: 2012-01-02 window: remove unused code M src/nemo-window-private.h M src/nemo-window.c M src/nemo-window.h commit b5316226924feb948de5f372962c7174ff8fa10d Author: Cosimo Cecchi Date: 2012-01-02 window: remove nemo_window_show_window() Fold it into the only caller, and simplify its code. M src/nemo-window.c M src/nemo-window.h commit 1d06cfcff92afc46bcaf5b313a604b93d76cbdd9 Author: Cosimo Cecchi Date: 2012-01-02 window: remove useless assignment M src/nemo-window.c commit d84023681be2f192ccbd4fe5c3b07631c683911f Author: Cosimo Cecchi Date: 2012-01-02 window: simplify code Fold function into the only caller. M src/nemo-window.c commit 00ad5bc605488e15a6877ce94cbd0e4b1f42cdb1 Author: Ihar Hrachyshka Date: 2012-01-10 Updated Belarusian translation. M po/be.po commit 7aff7fb6b0e5b7717e06944c09de734270d85ed8 Author: Diego Escalante Urrelo Date: 2011-12-29 floating-bar: misc indentation fixes M src/nemo-floating-bar.c commit 2cd406307863c268d045487daeedeb36e22a19bf Author: Alexander Shopov Date: 2012-01-08 Updated Bulgarian translation M po/bg.po commit 669ab8445bb33f00dfeb6584fdc431ea942fda79 Author: Nguyá»…n Thái Ngá»c Duy Date: 2012-01-06 Updated Vietnamese translation M po/vi.po commit f4d439875b3a101fa195012fb8a6607542e69b9a Author: Nguyá»…n Thái Ngá»c Duy Date: 2012-01-06 po/vi: import from Damned Lies M po/vi.po commit 02c0d8b671ee9cd61374b28d1627ab8edff7fe41 Author: Mattias Põldaru Date: 2012-01-02 [l10n] Updated Estonian translation M po/et.po commit a9627858a6b49e505b97c210e95f0bafa91e0a90 Author: Jovan Naumovski Date: 2012-01-01 Updated Macedonian translation. M po/mk.po commit 54dd59e149edcc6d744bba5cd7576526e9b52075 Author: Wylmer Wang Date: 2011-12-27 Update Simplified Chinese translation M po/zh_CN.po commit aacde57c44b1259ed476507b6288416d999832f9 Author: Andreas N Date: 2011-12-26 Updated Norwegian Nynorsk translation M po/nn.po commit 1a050ded4c3625c56022a1d50b856cf298d1f2c2 Author: Xandru Armesto Date: 2011-12-22 Updated asturian translation M po/ast.po commit c6510f6b07caeeffacbfa062660e4fca0219d958 Author: Jürg Billeter Date: 2011-12-20 build: Add gmodule as dependency With GLib 2.31.4 and later, linking against GIO no longer drags in gmodule. M configure.in commit 54ae064f753582a8b0745110b45724b99eb913a4 Author: Cosimo Cecchi Date: 2011-12-19 release: prepare for 3.3.3 M NEWS M configure.in commit 2de1c3a4a0294006bbcf950f7473ff962848dc1c Author: Cosimo Cecchi Date: 2011-12-19 fdo-dbus: dist the DBus interface XML file Fixes distcheck M data/Makefile.am commit 642835db7ab148e44733206a09bf55cd14660e5a Author: Cosimo Cecchi Date: 2011-12-19 fdo-dbus: don't dist generated dbus sources Use nodist_nemo_SOURCES, like the generated object manager for org.Nemo.FileOperations M src/Makefile.am commit f35e710d3c31fc2af5ddce9c31a52d408e215276 Author: Cosimo Cecchi Date: 2011-12-19 fdo-dbus: use the right include for nemo-debug.h Fixes distcheck M src/nemo-freedesktop-dbus.c commit 85af4ef2e58b45dcd40f6ba692b12e73c6cf6ffd Author: Pierre Wieser Date: 2011-12-19 Set icons from extensions on the context menu GtkActions This way, if icons are set to display in e.g. menus, extensions one will be properly shown. https://bugzilla.gnome.org/show_bug.cgi?id=665822 M libnemo-private/nemo-ui-utilities.c M libnemo-private/nemo-ui-utilities.h M src/nemo-view.c commit 773fdc3e2ba7fef4bf824c865a0f3aba14fc785a Author: Stefano Teso Date: 2011-12-04 places-sidebar: make Desktop dir bookmarkable if not shown by default See: https://bugzilla.gnome.org/show_bug.cgi?id=663956 M src/nemo-places-sidebar.c commit 2ee1b4060b1d99c67e528d626514968384277af5 Author: Nelson Benitez Leon Date: 2011-12-13 Show background menu when clicking on blank space Fixes bug 94618 M src/nemo-list-view.c commit 73b2f5e9de469f7997c8ab4d12f1aa542a4e7e54 Author: Nelson Benitez Leon Date: 2011-12-14 Fix race condition when right-clicking after rubberbanding Fixes bug 662979 M libnemo-private/nemo-icon-container.c commit 1fbc4002d38f42a5e9536dc3f1b59438d362d94e Author: Petr Kovar Date: 2011-12-15 Fix Czech translation M po/cs.po commit 6ed0cae9df696b816309b6c6d8fdb2660c66b922 Merge: 11fa184 f01e2e9 Author: Federico Mena Quintero Date: 2011-12-14 Merge branch 'freedesktop-dbus' - bgo#636269 This adds an implementation for the DBus interface org.freedesktop.NemoFileManager1. This lets applications call the file manager to show a file within a folder, to show a folder's contents, or to show a file's properties. The main work behind this is by Akshay Gupta , done during the Google Summer of Code 2011. commit f01e2e9b5fa6dcd0514bdf5efe5f76b4312f1fd3 Author: Federico Mena Quintero Date: 2011-12-14 Add an org.freedesktop.NemoFileManager1.service file for DBus Even though this registers a service for a freedesktop name with a Gnome-specific program (Nemo), we'll just do this for now. Later we can discuss in the DBus list how to launch services with generic interfaces, but specific implementations for each desktop environment. Signed-off-by: Federico Mena Quintero M data/Makefile.am A data/org.freedesktop.NemoFileManager1.service.in commit 73e5a35efcd7607d6a3ee5e8bd5e8278a86d6705 Author: Federico Mena Quintero Date: 2011-12-14 Remove superfluous helper function Signed-off-by: Federico Mena Quintero M src/nemo-properties-window.c commit 371e178550587cad04941493c6129e8e454223ab Author: Cosimo Cecchi Date: 2011-12-14 Use a single method to create properties windows Make startup_id a param of nemo_properties_window_present(). M src/nemo-freedesktop-dbus.c M src/nemo-places-sidebar.c M src/nemo-properties-window.c M src/nemo-properties-window.h M src/nemo-tree-sidebar.c M src/nemo-view.c commit 6e02005986b78879f4d3e23342c90accfa241745 Author: Cosimo Cecchi Date: 2011-12-14 properties-window: parent_widget and startup_id are not mutual Even though we don't (yet) use the same code path when building a properties window for a parent widget and for a startup_id (i.e. there's no call that sets both), there's no reason to make them mutually exclusive in code when creating the window. M src/nemo-properties-window.c commit 326f5d86a5650d201c48acacaf77752d544668da Author: Cosimo Cecchi Date: 2011-12-14 fdo-dbus: coding style cleanups M src/nemo-freedesktop-dbus.c commit c0752563fe6f2a0454069b93c9a29dae11a2e833 Author: Cosimo Cecchi Date: 2011-12-14 fdo-dbus: handle g_file_get_parent() failing g_file_get_parent() can return NULL if the file is a root element. Handle that case gracefully in the code. M src/nemo-freedesktop-dbus.c commit 8aa21c333115cec5eab0cd3965684b9b09dc7fa3 Author: Cosimo Cecchi Date: 2011-12-14 application: streamline code for creating selection list M src/nemo-application.c commit 14f7dd8cdbbe04b84c2b8f75134cefd45aaf9c4b Author: Federico Mena Quintero Date: 2011-12-13 Pass the startup_id when creating the properties window This completes the implementation of the DBus interface. Signed-off-by: Federico Mena Quintero M src/nemo-freedesktop-dbus.c commit 625dac4492e7daf7fef46c8dc4990da5d786efad Author: Federico Mena Quintero Date: 2011-12-13 Add nemo_properties_window_present_with_startup_id() This lets us pass a startup_id string instead of a parent_widget; this will be used from the Freedesktop DBus interface. Signed-off-by: Federico Mena Quintero M src/nemo-properties-window.c M src/nemo-properties-window.h commit 9868b796ec9d4761512d0a948bf0d6438be6702c Author: Federico Mena Quintero Date: 2011-12-13 Don't use nested if()s when a single one will do M src/nemo-properties-window.c commit ebc2d0728553cded8dcb5f65d0075e2e7c9d277e Author: Federico Mena Quintero Date: 2011-12-13 Use g_clear_object() instead of verbose code M src/nemo-freedesktop-dbus.c commit 08c2044e7056a9d6113dbf3613ea6303b6f0180d Author: Federico Mena Quintero Date: 2011-12-13 Implement ShowItems() vs. ShowFolders() from the DBus interface We use the new nemo_application_open_location() to do this; now we can distinguish 'open a location and select something inside it', vs. 'show a location'. Signed-off-by: Federico Mena Quintero M src/nemo-freedesktop-dbus.c commit 29ecfd7fb83c57289fc5e46a05cbead958f4b1ef Author: Federico Mena Quintero Date: 2011-12-13 Add nemo_application_open_location() This is a convenience function so that NemoFreedesktopDBus can cause the application to open a location and optionally select an item within that location. Signed-off-by: Federico Mena Quintero M src/nemo-application.c M src/nemo-application.h commit 3a899726ac482ae90f1b8fb52657ee80fef3a7fe Author: Federico Mena Quintero Date: 2011-12-13 Turn NemoFreeDesktopDBus into a GObject internally This is to match NemoDBusManager. Signed-off-by: Federico Mena Quintero M src/nemo-freedesktop-dbus.c commit 11fa1848dca3af78cd0f984f7c84f2214140f023 Author: Rudolfs Mazurs Date: 2011-12-13 Updated Latvian translation M po/lv.po commit 5294105677f371998043dde98a94847a1246c421 Author: Ryan Lortie Date: 2011-12-13 nemo application: use GActionMap g_application_set_action_group() is deprecated for favour of GActionMap, so use that instead. Bump the glib version dependency for GActionMap. M configure.in M src/nemo-application.c commit 33ca9cd5b0be3dcf092b7174591ede34edf2346d Author: Cosimo Cecchi Date: 2011-12-08 eel: remove unused eel_accessibility_set_name/description M eel/eel-accessibility.c M eel/eel-accessibility.h commit f78dee9affd9c88ce410c42cbf9c1118839d33d7 Author: Cosimo Cecchi Date: 2011-12-08 view: use ATK API directly to set accessible name/description M src/nemo-view.c M src/nemo-window-manage-views.c commit c76dc41521c9327a7aa121f35e68e10b6783f740 Author: Cosimo Cecchi Date: 2011-12-07 application: add a compatibility dummy --browser cmdline option External scripts or desktop files from previous might still call nemo with the --browser option, and it's bad to just fail in that case. Add a dummy (and hidden) cmdline option that does nothing for --browser. https://bugzilla.gnome.org/show_bug.cgi?id=665700 M src/nemo-application.c commit 4b497142b1c2361cf38c0804a283b8b419c3b623 Author: Cosimo Cecchi Date: 2011-12-07 man: remove reference to --browser option from the manual The option is not supported anymore since 3.0. https://bugzilla.gnome.org/show_bug.cgi?id=665700 M docs/nemo.1 commit ecf70ad6a66cc1450935e54ebffd95660ebc05a4 Author: Akshay Gupta Date: 2011-12-06 Implement ShowItemProperties() M src/nemo-freedesktop-dbus.c commit f65bd26d6f3691006c291f88e6c3b1add349d985 Author: Federico Mena Quintero Date: 2011-12-06 Allow creating a properties window with a NULL parent widget When the ShowItemProperties() DBus call comes in, it doesn't come from a parent widget. Instead, it has a startup ID. So, we need to be able to pass a NULL parent_widget to the properties window. Signed-off-by: Federico Mena Quintero M src/nemo-properties-window.c commit 5f3b0071d11cc864d135f35b7b85b07a5395f97a Author: Akshay Gupta Date: 2011-12-06 Implement ShowFolders() NemoApplication doesn't make a distinction between showing files and showing folders, so for now we'll use the same implementation. M src/nemo-freedesktop-dbus.c commit 08b590a4c6014d6a91a525b3183d3266788703a4 Author: Akshay Gupta Date: 2011-12-06 Implement ShowItems() Unfortunately g_application_open() and NemoApplication don't actually use the startup_id. We will have to pass this in another fashion later. M src/nemo-freedesktop-dbus.c commit e7dc7a27001dcadb8f7a2cafb26bbb3be724d801 Author: Federico Mena Quintero Date: 2011-12-06 Initialize the freedesktop DBus manager from NemoApplication Signed-off-by: Federico Mena Quintero M src/nemo-application.c commit e1a2bcecf4d4dea845194c943f82c60f8c6c6d36 Author: Federico Mena Quintero Date: 2011-12-06 Pass the NemoApplication to the freedesktop DBus manager Signed-off-by: Federico Mena Quintero M src/nemo-freedesktop-dbus.c M src/nemo-freedesktop-dbus.h commit 456afcbb6042c8f1ab73f240e5be5eabd681e090 Author: Federico Mena Quintero Date: 2011-12-06 DBus boilerplate for handling the org.freedesktop.NemoFileManager1 service Signed-off-by: Federico Mena Quintero M src/Makefile.am A src/nemo-freedesktop-dbus.c A src/nemo-freedesktop-dbus.h commit aa01e30c0d3d585bd808ed1ab53c5ca396371cd1 Author: Federico Mena Quintero Date: 2011-12-06 Generate the org.freedesktop DBus code Signed-off-by: Federico Mena Quintero M src/.gitignore M src/Makefile.am commit a3c387089e3bb9eaafe8b033bd334d151ccebe06 Author: Akshay Gupta Date: 2011-12-06 Add declaration for the org.freedesktop.NemoFileManager1 DBus interface This is not in dbus-interfaces.xml as that one has a different namespace (org.gnome.Nemo), and that makes the generated code from gdbus-codegen really ugly. By keeping a separate file for this interface, we can get pretty generated code. A data/freedesktop-dbus-interfaces.xml commit 40be4b85f51fc7b192ef7421b2ede27954997cc8 Author: Nelson Benitez Leon Date: 2011-12-02 Make 'next row' behaviour work again by making it general According to feedback on a11y list this should not hurt a11y. Fixes bug 660881 M libnemo-private/nemo-icon-container.c commit 2721796f86efd1e7e118c9531657e815bd1e0c60 Author: Cosimo Cecchi Date: 2011-12-05 idle-queue: remove unused NemoIdleQueue M libnemo-private/Makefile.am M libnemo-private/nemo-directory-private.h D libnemo-private/nemo-idle-queue.c D libnemo-private/nemo-idle-queue.h commit 896a9cf4bbadfc19c6d69fa53bd9ea46cb81989c Author: Rui Matos Date: 2011-12-02 icon-container: use a threshold to start scrolling while rubberbanding This allows us to scroll while rubberbanding when the window is maximized and thus the pointer can't possibly leave the widget area. https://bugzilla.gnome.org/show_bug.cgi?id=665383 M libnemo-private/nemo-icon-container.c commit cdf858fbfccdbca7bd8fc27f0f85e815177ee8c6 Author: Stefano Teso Date: 2011-11-30 Avoid deprecate gtk_widget_get_pointer(). M libnemo-private/nemo-icon-container.c commit 0a5838004030f64d9f27c55a3f2f49275b82b79f Author: Cosimo Cecchi Date: 2011-12-02 properties-window: initiate a new row when no sibling is provided This was the original intent of this code. M src/nemo-properties-window.c commit 098aa9334123334d500c166f13dc47f5f110cd8a Author: Cosimo Cecchi Date: 2011-12-02 window: explicitly destroy the sidebar in _destroy() When the nemo window is destroyed, make sure to explicitly destroy the sidebar before the panes. Destroying all the panes can trigger a callback back into the sidebar, which would then try to access the window pane list from the callback. The pane list was already destroyed and cleared at that point though, and we would segfault. https://bugzilla.gnome.org/show_bug.cgi?id=652320 M src/nemo-window.c commit 7e351fd5ead64be1343eea6d357a2edb25f9a721 Author: Dmitry Shachnev Date: 2011-12-01 Don't allow "New tab" (Ctrl+T) shortcut in desktop window Disable the New Tab action on the desktop. https://bugzilla.gnome.org/show_bug.cgi?id=655256 M src/nemo-desktop-window.c commit f1d9644efe457d84b9a18f250e85b5d70cb46620 Author: Praveen Illa Date: 2011-11-30 Updated Telugu Translation M po/te.po commit 780f8e4abf482628677e4f75ed502e1f18cf2411 Author: Daniel Nylander Date: 2011-11-25 Updated Swedish translation M po/sv.po commit cd99b28b903e0c3c69f142dd5c7977bb791d9cf1 Author: Cosimo Cecchi Date: 2011-11-23 places-sidebar: sort the XDG dirs section for the current locale The XDG dirs section should not hardcode an english ordering, but follow the current locale. https://bugzilla.gnome.org/show_bug.cgi?id=664464 M src/nemo-places-sidebar.c commit 786b34ff9abfae433956077a5feb2978d126ecfb Author: Stas Solovey Date: 2011-11-16 Updated Russian translation M po/ru.po commit a76dce8845b9bca8e01e67ad547ae158cff18456 Author: Thura Hlaing Date: 2011-11-14 [l10n]Added Burmese translation M po/LINGUAS A po/my.po commit 3aeff5a3d2114b77126686bd642716b21f4aa014 Author: Fran Diéguez Date: 2011-11-13 Updated Galician translations M po/gl.po commit b81330c62d232af66c5be7186f2badabecd52673 Author: Daniel Mustieles Date: 2011-11-09 Updated Spanish translation M po/es.po commit 12bc05de21fed18ac985470fa55174629de6470f Author: Kristjan SCHMIDT Date: 2011-11-04 Updated Esperanto translation M po/eo.po commit aff2f078ef222f28a8a32408260efdfc7d8be8d9 Author: Gabor Kelemen Date: 2011-10-29 Fix a small mistranslation in the Hungarian po M po/hu.po commit 9208a93c2d3f85bcb10c05c1cfc55b33b545ca46 Author: Yaron Shahrabani Date: 2011-10-27 Updated Hebrew translation. M po/he.po commit f01c138bc3567cfedb476bcc4e2a66da8b3b38ee Author: Kristjan SCHMIDT Date: 2011-10-26 Updated Esperanto translation M po/eo.po commit b3dde943b7628bf32076b3e375256a775786d05b Author: Cosimo Cecchi Date: 2011-10-25 release: bump to 3.3.1.1 3.3.1 was accidentally released with a wrong tarball, bump version and roll a tarball again. M configure.in commit f18eb3a0b04ab8b094012bb5d0d2abb0bf7b7799 Author: Cosimo Cecchi Date: 2011-10-25 build: switch to XZ M configure.in commit 628c0566f7317c25f30991652a6192d7d8f4fbd8 Author: Cosimo Cecchi Date: 2011-10-25 release: prepare for 3.3.1 M NEWS M configure.in commit 45ee835907056a95c4ae9dad5f7913620ed219d7 Author: Cosimo Cecchi Date: 2011-10-25 eel-string: don't segfault in eel_str_replace_substring for NULL strings Just check if the strings are != NULL before calling strlen() on them. M eel/eel-string.c commit 79525a6502316974bd9e28144b82290b1840dac4 Author: Matej UrbanÄiÄ Date: 2011-10-23 Updated Slovenian translation M po/sl.po commit 26a1e55ab5b8ebb8d441569bb790b0c4976c7bf8 Author: Yaron Shahrabani Date: 2011-10-22 Updated Hebrew translation. M po/he.po commit 2ce3696a73d5eda0b6213311f2bfee7a600d9256 Author: Cosimo Cecchi Date: 2011-10-19 places-sidebar: trivial cleanups M src/nemo-places-sidebar.c commit 4764a856c7a6e5a84d4067e7b105c09a93ffdbe4 Author: Cosimo Cecchi Date: 2011-10-19 places-sidebar: return if we fail to compute a drop position Instead of using an invalid GtkTreePath, which could cause a segfault later. https://bugzilla.gnome.org/show_bug.cgi?id=660876 M src/nemo-places-sidebar.c commit cda2c75df4b95a481e8b774081ec1240d47fa45f Author: Cosimo Cecchi Date: 2011-10-19 places-sidebar: don't assert we have a valid selected iter When reordering bookmarks, don't assert we have a selected iter, since it might not always be the case. https://bugzilla.gnome.org/show_bug.cgi?id=660876 M src/nemo-places-sidebar.c commit 7826dfbdc4cb9a5381b6d9845e0ba7459fcd2fe4 Author: Cosimo Cecchi Date: 2011-10-19 places-sidebar: don't call gtk_tree_model_get() with an invalid path If we click on an empty area of the sidebar, we shouldn't pop up any menu at all anyway, which is what this commit changes. Previously, we would have tried to get a GtkTreePath for the currently selected point and an iter for that (invalid) path, which would lead to gtk_tree_model_get() segfaulting on an invalid iter. https://bugzilla.gnome.org/show_bug.cgi?id=662218 M src/nemo-places-sidebar.c commit 67aaaf9f9a95de0beb8a45f97b378144b93ab9d4 Author: Daniel Mustieles Date: 2011-10-19 Updated Spanish translation M po/es.po commit 11da44db624aadcf8b71950acf05b929caa565b6 Author: Muhammet Kara Date: 2011-10-18 Updated Turkish translation M po/tr.po commit 5208c1c1a2da66ece2562c22dde8ed51d550c1cf Author: György Balló Date: 2011-10-18 Autostart only in GNOME and Unity Don't show desktop icons in other DEs, e.g Xfce and KDE uses it's own desktop implementation. https://bugzilla.gnome.org/show_bug.cgi?id=661942 M data/nemo-autostart.desktop.in commit a90444b3651272119d1d4ab65d70b41b95a87616 Author: Stefano Teso Date: 2011-10-18 places-sidebar: show a Properties item for mounts https://bugzilla.gnome.org/show_bug.cgi?id=546189 M src/nemo-places-sidebar.c commit a598148fde3f08ad69115b96c5a9a821ac16983c Author: Timothy Arceri Date: 2011-10-18 file-operations: show needed space as a secondary message When there's not enough space on the disk, show how much additional space is needed for the operation to complete, instead of a more obscure error message. https://bugzilla.gnome.org/show_bug.cgi?id=542960 M libnemo-private/nemo-file-operations.c commit c590280477db495a362339c512d73daade862329 Author: Cosimo Cecchi Date: 2011-10-18 test: don't use deprecated gtk_vbox_new() M test/test-eel-editable-label.c commit a816e00ef769a3be12a053a29e41f3da1b91c492 Author: Cosimo Cecchi Date: 2011-10-18 all: don't use deprecated GDK pointer methods Use the new GdkDevice methods instead. M eel/eel-editable-label.c M libnemo-private/nemo-dnd.c M libnemo-private/nemo-tree-view-drag-dest.c M src/nemo-notebook.c commit 0594aa1636ef960361cf60d00c58ab94c81ee5d4 Author: Cosimo Cecchi Date: 2011-10-18 all: don't use deprecated GMutex/GThread API Also, threads area always enabled, so we can remove the G_THREADS_ENABLED conditionals. Require GLib 2.31 for this. M libnemo-private/nemo-file-changes-queue.c M libnemo-private/nemo-file-operations.c M libnemo-private/nemo-icon-info.c M libnemo-private/nemo-search-engine-simple.c commit 04975e6cbc8f82238e3611a26b474b56c46ec1d3 Author: Cosimo Cecchi Date: 2011-10-18 all: don't call g_thread_init() GLib does that for us now. M configure.in M src/nemo-main.c M test/test-copy.c M test/test-nemo-search-engine.c commit e54ace0a550b47c251634ee833884f5bc6ea4be6 Author: Cosimo Cecchi Date: 2011-10-17 editable-label: use GTK_STYLE_CLASS_ENTRY Because that's what it is actually... M eel/eel-editable-label.c commit b143b95f20755fc8425464aa11df3fa2ac2df2ea Author: Cosimo Cecchi Date: 2011-10-17 editable-label: use gtk_render_frame() instead of hardcoding a stroke This allows the stroke to use rounded corners and border images, among other things. M eel/eel-editable-label.c commit f9383acb378762a80a373f124e059aff5e571f21 Author: Cosimo Cecchi Date: 2011-10-17 editable-label: don't hardcode black for the insertion cursor Use the theme foreground/text color instead. M eel/eel-editable-label.c commit 3f95c46dff1c4f71f67d2733f0487350139775cf Author: Cosimo Cecchi Date: 2011-10-17 editable-label: remove useless code No need to call _set_background() on the editable label widget. M eel/eel-editable-label.c commit 8b87a3e86eb228d4414c3d64cc81b7bb56d27076 Author: Cosimo Cecchi Date: 2011-10-17 editable-label: make sure to size_request the padding set on the label And not the alignment, which is an offset inside the allocated size. M eel/eel-editable-label.c commit 4c74f176542935b8ea8f61f9bb9ae6cdb35466ea Author: Cosimo Cecchi Date: 2011-10-17 icon-container: use gdk_window_move() to position the typeahead popup For some reason, gtk_window_move() doesn't always work reliably, while gdk_window_move() seems to always position the window in the requested coordinates. https://bugzilla.gnome.org/show_bug.cgi?id=660807 https://bugs.launchpad.net/ubuntu/+source/nemo/+bug/857710 M libnemo-private/nemo-icon-container.c commit 9a703cea5067f68ef21b90a42856b229d5edc69d Author: Cosimo Cecchi Date: 2011-10-17 icon-container: don't associate Ctrl+F to typeahead search It won't get triggered anyway, as we bind Ctrl+F to show the search bar in NemoWindow. M libnemo-private/nemo-icon-container.c commit fea4112c35c84bdb124a567c2d84a2f2a8bd172d Author: Cosimo Cecchi Date: 2011-10-17 places-sidebar: don't crash when middle clicking on empty space gtk_tree_view_get_path_at_pos() can fail; handle that case instead of passing an invalid GtkTreePath. https://bugzilla.gnome.org/show_bug.cgi?id=657366 https://bugs.launchpad.net/ubuntu/+source/nemo/+bug/830185 M src/nemo-places-sidebar.c commit 03888c1dde59cb2dd3b243e3c72f35757a4c2e5f Author: Cosimo Cecchi Date: 2011-10-17 tree-sidebar: don't call g_free on a GObject list https://bugzilla.gnome.org/show_bug.cgi?id=660906 https://bugs.launchpad.net/ubuntu/+source/nemo/+bug/845408 M src/nemo-tree-sidebar.c commit 0a5aa2a28d82554afb684d815e8180f307ac1897 Author: Ivan Masár Date: 2011-10-16 Updated Slovak translation M po/sk.po commit 9bdca2a00b3c3f6a5e908964b4f3a2e39eec0145 Author: Jiro Matsuzawa Date: 2011-10-17 Updated Japanese translation M po/ja.po commit 4b470c16d7b7190e973b712d9f29d6bccd7f9e83 Author: Andrej ŽnidarÅ¡iÄ Date: 2011-10-14 Updated Slovenian translation M po/sl.po commit 1f23acbe5f526370db2ffec1dec09fea7e6de219 Author: Yuri Myasoedov Date: 2011-10-14 Fixed Russian translation M po/ru.po commit 04ff2cd9e6500b3f9f1052199e1321e33538225b Author: Michael Biebl Date: 2011-10-11 Fix build failure if tracker FTS is enabled M libnemo-private/nemo-search-engine-tracker.c commit 048115fa9c5c1ffa45a8df5fcb52e75f6c3d2641 Author: krishnababu k Date: 2011-10-10 Updated Telugu Translations M po/te.po commit 0dc5b59e637db6bdcc92a5b2bfce4a6a58c9a6e1 Author: Muhammet Kara Date: 2011-10-10 Updated Turkish translation M po/tr.po commit 428b468e8e6e66270cb434f14e4b1f8d7f5354c9 Author: Cosimo Cecchi Date: 2011-10-05 all: remove offset_x/offset_y parameters from eel_pop_up_context_menu() They're unused now. M eel/eel-gtk-extensions.c M eel/eel-gtk-extensions.h M src/nemo-places-sidebar.c M src/nemo-view.c commit 7b290a2b2fee7028e50c0ecf15d5417a7a7dc59d Author: Federico Mena Quintero Date: 2011-10-05 Remove stale 'offset' in eel_pop_up_context_menu() Also, fix the fallback timestamp for the menu popup. Signed-off-by: Federico Mena Quintero M eel/eel-gtk-extensions.c commit 61699ef56eb3091341c5f5a38189e12a11280e3e Author: Cosimo Cecchi Date: 2011-10-05 eel: remove unused eel_gdk_rgba_is_dark() M eel/eel-gdk-extensions.c M eel/eel-gdk-extensions.h commit bcc62bec90aec23fb1ede56f0ce0181218fdc81a Author: Cosimo Cecchi Date: 2011-10-05 eel-string: remove unused code M eel/eel-string.c M eel/eel-string.h commit 3a02c89ec0329ee6a1b0eab411eb0f95308626aa Author: Cosimo Cecchi Date: 2011-10-05 all: don't use eel_strlen() M src/nemo-location-bar.c M src/nemo-window-slot.c commit fc1479fc3a614b00d0ff69bd1da62d4dee0a9af9 Author: Cosimo Cecchi Date: 2011-10-05 view: use g_str_has_prefix() instead of eel_str_has_prefix() M src/nemo-view.c commit 3daaaf4a9efa2913bbfbadf1492e670b3e83c4a0 Author: Cosimo Cecchi Date: 2011-10-05 all: don't use eel_strcmp() M eel/eel-glib-extensions.c M libnemo-private/nemo-bookmark.c M libnemo-private/nemo-directory.c M libnemo-private/nemo-file.c M libnemo-private/nemo-icon-canvas-item.c M libnemo-private/nemo-progress-info.c M src/nemo-properties-window.c M src/nemo-window-slot.c commit 96254fec43923e7ef5a3e78604cb3b6935117f91 Author: Cosimo Cecchi Date: 2011-10-05 eel: remove unused eel-gtk-macros.h file M eel/Makefile.am D eel/eel-gtk-macros.h M eel/eel.h M libnemo-private/nemo-bookmark.c M libnemo-private/nemo-clipboard-monitor.c M libnemo-private/nemo-desktop-directory.c M libnemo-private/nemo-desktop-link-monitor.c M libnemo-private/nemo-directory.c M libnemo-private/nemo-entry.c M libnemo-private/nemo-file.c M libnemo-private/nemo-icon-canvas-item.c M libnemo-private/nemo-icon-dnd.c M libnemo-private/nemo-merged-directory.c M libnemo-private/nemo-module.c M libnemo-private/nemo-query.c M libnemo-private/nemo-search-engine-simple.c M libnemo-private/nemo-tree-view-drag-dest.c M libnemo-private/nemo-undo-manager.c M libnemo-private/nemo-undo-signal-handlers.c M src/nemo-application.c M src/nemo-icon-view.c M src/nemo-list-view.c M src/nemo-location-bar.c M src/nemo-view.c M src/nemo-window-manage-views.c M src/nemo-window-slot.c commit 68732195bada37da771bab924352ca3864e2bdde Author: Cosimo Cecchi Date: 2011-10-05 view: don't use EEL_ASSIGN/EEL_IMPLEMENT macros for class signals Not that useful since we have full control over all the views. M src/nemo-view.c commit ce34c8c033d09578f7cb17b8531f6afc95555728 Author: Cosimo Cecchi Date: 2011-10-05 view: don't use EEL_INVOKE_METHOD macro M src/nemo-view.c commit 2797c72a906ed6395afd45b9fa7c516d6ef3299f Author: Cosimo Cecchi Date: 2011-10-05 all: don't use EEL_CALL_METHOD* macros M libnemo-private/nemo-directory.c M libnemo-private/nemo-directory.h M libnemo-private/nemo-file.c M src/nemo-view.c M src/nemo-window-slot.c commit 45e3ad0979d79ba017e84a9f99f605ec562c8ae8 Author: Cosimo Cecchi Date: 2011-10-05 icon-view: simplify code by removing pointless method overrides M src/nemo-icon-view.c M src/nemo-icon-view.h commit deb560128734593d9941f4a414e165b3943d61bf Author: Cosimo Cecchi Date: 2011-10-05 all: don't use EEL_CLASS_BOILERPLATE macro M libnemo-private/nemo-vfs-directory.c M libnemo-private/nemo-vfs-file.c commit f0dc94fed68eb5a52d705391053bd642a88ab1d3 Author: Cosimo Cecchi Date: 2011-10-05 all: don't use EEL_CALL_PARENT* macros Replace them with regular calls to the parent class method pointer. M libnemo-private/nemo-desktop-directory.c M libnemo-private/nemo-desktop-link-monitor.c M libnemo-private/nemo-directory.c M libnemo-private/nemo-merged-directory.c M libnemo-private/nemo-module.c M libnemo-private/nemo-query.c M libnemo-private/nemo-search-engine-simple.c M libnemo-private/nemo-search-engine.c M libnemo-private/nemo-tree-view-drag-dest.c M src/nemo-empty-view.c M src/nemo-list-view.c M src/nemo-location-entry.c M src/nemo-view.c commit 785ee926b36165b4849903e5f4828a17aabe534c Author: Cosimo Cecchi Date: 2011-10-04 properties-window: paint the pie backgorund with the notebook color We have to reset the GtkDrawingArea background to the notebook color, in case the theme specifies them to be different. M src/nemo-properties-window.c commit 8b99f1fae29b333c9beeee3dad848099a66e731d Author: Cosimo Cecchi Date: 2011-10-04 properties-window: port the pie chart GtkTable to GtkGrid M src/nemo-properties-window.c commit 0026899cd9f5cd636b4a44ec838e2ec228b210bb Author: Cosimo Cecchi Date: 2011-10-04 properties-window: port GtkTable to GtkGrid Except for the pie chart, which will be ported in a separate commit M src/nemo-properties-window.c commit ac6797687cc3dc77e1fc6752090a7ef037252ade Author: Cosimo Cecchi Date: 2011-10-04 window: port GtkTable to GtkGrid M src/nemo-window-private.h M src/nemo-window.c commit c6903f412d204ce4ab83fa328fe7df3c81781b68 Author: Cosimo Cecchi Date: 2011-10-04 view: port GtkTable to GtkGrid M src/nemo-view.c commit 29dea2e40f6631935a9479c2cf96534308215183 Author: Cosimo Cecchi Date: 2011-10-04 desktop-item-properties: port GtkTable to GtkGrid M src/nemo-desktop-item-properties.c commit 7f3e5ce7786bfdf728169d222ef7584306f2b445 Author: Cosimo Cecchi Date: 2011-10-04 connect-server-dialog: port GtkTable to GtkGrid M src/nemo-connect-server-dialog.c commit 24658f2ba3c9a9dd12416933942370cd6ff6271c Author: Federico Mena Quintero Date: 2011-10-04 Fix confusion in the fallback size for icons Just caught this when reading the code... https://bugzilla.gnome.org/show_bug.cgi?id=660894 M libnemo-private/nemo-icon-info.c commit d8cfe1080a15fd05a306ee3a6adb5767df4fe58f Author: Kristjan SCHMIDT Date: 2011-10-03 Updated Esperanto translation M po/eo.po commit f1aae7bd99efac46a4f7b67beb53205b6cb89f47 Author: Tiffany Antopolski Date: 2011-10-03 Updated Esperanto translation M po/eo.po commit 0c80c23a771da619bfd6858397d10b2446966fa2 Author: Nguyá»…n Thái Ngá»c Duy Date: 2011-10-02 po/vi: better translation of "Go" M po/vi.po commit 530bbec3b5d663ca7e3244446d9bc73f1cf323b0 Author: Cosimo Cecchi Date: 2011-09-29 all: remove initiated_unmount logic from NemoWindow We don't really need this, and it makes the behavior way less convoluted. Now we always try to close the current slot on mount remove, except when it would be the last window at all to be closed. M src/nemo-application.c M src/nemo-places-sidebar.c M src/nemo-view.c M src/nemo-window-slot.c commit 269c6b23cf2b97f74a8c7c2654221be491b60cf4 Author: Cosimo Cecchi Date: 2011-09-29 window: add debug messages for pane closing M src/nemo-window-pane.c M src/nemo-window.c commit 379e0883d06f782fb43d32a1b5031f52c5cfc9b4 Author: Cosimo Cecchi Date: 2011-09-29 window: cleanup nemo_window_close_pane() M src/nemo-window-private.h M src/nemo-window.c commit 3ac3935e9d4a9e40b2e889cb16409cadc30bb8dd Author: Cosimo Cecchi Date: 2011-09-29 window-pane: fix switching to the other pane when closing the last slot We're closing a window slot; when it's the last slot to be closed, we used to call nemo_window_split_view_off() on the wrong pane. Even if we called it on the right pane, it wouldn't have worked anyway, because we could have removed the active pane, and that function always assumes going back to it. Also, we need to ensure that active_slot is set on the new pane, or nemo_window_set_active_slot() won't be called to restore the right window state. https://bugzilla.gnome.org/show_bug.cgi?id=652320 M src/nemo-window-pane.c commit f6bbf0f111f344276472aaa54072bf99ae7be9b2 Author: Cosimo Cecchi Date: 2011-09-29 view: don't assert on window slot signal callback ordering There's no reason to assert on the fact that inactive and active signals will be always emitted in alternate state. If this doesn't happen, just return. https://bugzilla.gnome.org/show_bug.cgi?id=652320 M src/nemo-view.c commit 1c06d97c9663ec5b77f21326490146c9a9d8f9d9 Author: Cosimo Cecchi Date: 2011-09-29 places-sidebar: disconnect volume monitor signals on dispose The GIO volume monitor can survive the sidebar, so we need to disconnect its signals handlers on dispose. https://bugzilla.gnome.org/show_bug.cgi?id=652320 M src/nemo-places-sidebar.c commit 1f61da02d767b2a767d1dc2fd8c6714c6f6a60d0 Author: Cosimo Cecchi Date: 2011-09-28 window-slot: don't go through the back list when checking a mount There's no reason the slot shouldn't be closed if one of the locations in the back history belongs to the mount (what we should do is cleaning up that location from the history, which we don't yet). M src/nemo-window-slot.c commit df47a7e142357ff404dceaf43bf3c7ae492fddcc Author: Cosimo Cecchi Date: 2011-09-28 application: avoid useless checks when removing a mount nemo_window_slot_should_close_with_mount() has the same checks and more. M src/nemo-application.c commit d49f23ae211cb24cc43efa68d46f7867dbe26364 Author: Cosimo Cecchi Date: 2011-09-28 window-pane: turn into a GtkBox, simplify code M src/nemo-window-pane.c M src/nemo-window-pane.h M src/nemo-window.c commit eaa98a76fbc144ff1f14f2df8fb3d6873541465b Author: Cosimo Cecchi Date: 2011-09-28 desktop-link-monitor: plug a memory leak M libnemo-private/nemo-desktop-link-monitor.c commit 0d191f445da18d0bed1c8ca6d3e05dc4ffae4293 Author: Cosimo Cecchi Date: 2011-09-28 window-manage-views: plug a memory leak We have to free the new selection list when we build it ourselves. M src/nemo-window-manage-views.c commit 37386fab28267cdbedd979fff13fe1a9da81014d Author: Cosimo Cecchi Date: 2011-09-28 list-view: don't activate the previewer when there's no selection Or we'll segfault when trying to access the first item of the selection. https://bugzilla.gnome.org/show_bug.cgi?id=654857 M src/nemo-list-view.c commit 3429a6ff153c85a6a65ccb994b4cb4434e4fffcf Author: Cosimo Cecchi Date: 2011-09-28 icon-container: consolidate typeahead entry timeout handling We have crash reports coming from the search entry typeahead code. I can't really reproduce the bug, but there seems to be at least a problem with the typeahead flush timeout returning TRUE and being rescheduled. Refactor the code to better handle the flush timeout, which hopefully solves those crashes as well. https://bugzilla.gnome.org/show_bug.cgi?id=653800 M libnemo-private/nemo-icon-container.c M libnemo-private/nemo-icon-private.h commit 718b8641935b5a8de67e83ec12f9026aecd41e8c Author: Cosimo Cecchi Date: 2011-09-28 window: small code cleanups M src/nemo-window-private.h M src/nemo-window.c commit d3c158d6c9a6ee40fae660ab56b7d8a40074108c Author: Cosimo Cecchi Date: 2011-09-28 window: make sure to disconnect GSettings signals when finalizing The GSettings object survive the window, so handlers connected to its signals should be disconnected when the window is finalized. https://bugzilla.gnome.org/show_bug.cgi?id=655070 M src/nemo-window-menus.c M src/nemo-window-private.h M src/nemo-window.c commit 82a39de7a3c1265ba1a46d1140a084a12b310e32 Author: Cosimo Cecchi Date: 2011-09-28 places-sidebar: don't crash when not finding the eject symbolic icon If a theme doesn't have media-eject-symbolic, icon_info can be NULL, and we would crash trying to load a pixbuf from it anyway. Fix this and show the stock 'missing image' pixbuf when the theme doesn't have the specified icons. https://bugzilla.gnome.org/show_bug.cgi?id=660277 M src/nemo-places-sidebar.c commit 35059bec98b8ede682e582395b889dc149fc7cba Author: МироÑлав Ðиколић Date: 2011-09-28 Updated Serbian translation M po/sr.po M po/sr@latin.po commit f51bad348ab71e3203a7b76c45d307b0fafc5128 Author: Cosimo Cecchi Date: 2011-09-26 release: prepare for 3.2.0 M NEWS M configure.in commit c6299e775ae7770b5b98ede0b70e90ecd04bc742 Author: Cosimo Cecchi Date: 2011-09-26 trivial: fix a critical when opening preferences Just a trivial cleanup for a critical accidentally introduced in commit db72d73b3cd58493b1b8878a52ff8a9f5d350602 M src/nemo-file-management-properties.c M src/nemo-file-management-properties.ui commit 278a92edf777eb3dc623a4284ef4d81af3f77d27 Author: Andrej ŽnidarÅ¡iÄ Date: 2011-09-26 Updated Slovenian translation M po/sl.po commit 34b5833b704e174c82d943b28e59d91e9531fdbc Author: Carles Ferrando Date: 2011-09-26 [l10n]Updated Catalan (Valencian) translation M po/ca@valencia.po commit 2b296a9d0dfba07b62144e96a52368205c447561 Author: Tommi Vainikainen Date: 2011-09-26 Updated Finnish translation M po/fi.po commit 368d49124774c4bf640f617e4fcf86641dd886e7 Author: Seán de Búrca Date: 2011-09-25 Updated Irish translation M po/ga.po commit 544fcac94f70f3f35105bfad3f6dda21197d7378 Author: Andika Triwidada Date: 2011-09-25 Updated Indonesian translation M po/id.po commit dfb8d194bf9ff460b8d6a7a9e3629ab5b343bb46 Author: Lucas Lommer Date: 2011-09-24 Updated Czech translation M po/cs.po commit 5e83b5591ffccef5e9faa8bc384c7ffd59eab05e Author: Lucas Lommer Date: 2011-09-24 Updated Czech translation M po/cs.po commit 55210fff4df1ea8312b9e276f65dd3e22ec406f0 Author: Inaki Larranaga Murgoitio Date: 2011-09-24 Updated Basque language M po/eu.po commit adb9e12825aedee3b71a1bd9bb4589b22f724946 Author: Jiro Matsuzawa Date: 2011-09-23 Updated Japanese translation M po/ja.po commit a2045383fc726c4d11a1ab08837fd97d9d098a3b Author: Claude Paroz Date: 2011-09-22 Cleaned Assamese translation M po/as.po commit f07aa75bf010653bd9e1a5f5519fec8a029763de Author: Cosimo Cecchi Date: 2011-09-22 icon-canvas-item: don't draw pango layouts when renaming Fixes a regression introduced in commit 95910c94fd46f368b66f02e1961dc5f273b38c82 that causes unwanted text to be drawn while renaming a file in icon view. https://bugzilla.gnome.org/show_bug.cgi?id=659831 M libnemo-private/nemo-icon-canvas-item.c commit 2b9b06cfa8bb431f21af74a5f630646df494eb00 Author: Changwoo Ryu Date: 2011-09-23 Updated Korean translation M po/ko.po commit 9023264e0660b50253a9bf7bffe977e0b3a6fd4c Author: Joe Hansen Date: 2011-09-22 Updated Danish translation M po/da.po commit f985fe035500e57bbede9f0dfb252fc0f2569377 Author: Sweta Kothari Date: 2011-09-22 Updated Gujarati Translations M po/gu.po commit b8238d4a89de55a2e93af7f2aee15cf4148625a6 Author: Gabor Kelemen Date: 2011-09-19 Updated Hungarian translation M po/hu.po commit 2cb91c05718dc5463a52eadf24e6036adfe6e10e Author: Cosimo Cecchi Date: 2011-09-19 icon-canvas-item: don't forget to clip the embedded text rectangle When drawing the embedded text, the pango layout should be clipped to the computed rectangle. https://bugzilla.gnome.org/show_bug.cgi?id=659518 M libnemo-private/nemo-icon-canvas-item.c commit bf1f6bde79f5226388551780dcd7f148c8f55734 Author: Cosimo Cecchi Date: 2011-09-19 release: prepare for 3.1.92 M NEWS M configure.in commit 0a32dd8da8b2a9d10189ef6c8865bb4ec2ca345f Author: Cosimo Cecchi Date: 2011-09-19 users-group-cache: nuke this, as it appears to be unused M libnemo-private/Makefile.am M libnemo-private/nemo-file.c D libnemo-private/nemo-users-groups-cache.c D libnemo-private/nemo-users-groups-cache.h commit b11c8a69479b5307d946dbc5742baf5cca75ae06 Author: Mike Gorse Date: 2011-09-16 Fix accessibility for gtk 3.2, and send object:state-changed:selected The code to derive the EelCanvasAccessible class no longer works as of gtk+ 3.1.9. Currently the recommended behavior is to derive from GtkAccessible. Also, canvas items should send object:state-changed:selected events when selected and unselected; otherwise AT-SPI will not update its cache. https://bugzilla.gnome.org/show_bug.cgi?id=650897 M eel/eel-canvas.c M eel/eel-canvas.h M libnemo-private/nemo-icon-canvas-item.c commit f83324a05375ba1aa97d3e6ea91f4af323f2bd2c Author: Aurimas ÄŒernius Date: 2011-09-18 Updated Lithuanian translation M po/lt.po commit 5d549140c95ebb9e7c5cdf5d7d639cca36a22021 Author: Lê Hoàng Phương Date: 2011-09-18 po/vi.po: changed Bookmark translation from "Liên kết lưu" to "Äánh dấu" M po/vi.po commit 0d1300c2c0790ea510a9253314e0c1f92e241843 Author: Nguyá»…n VÅ© Hưng Date: 2011-09-18 Updated Vietnamese translation M po/vi.po commit 4016176dc43e4c502714d7544000dbed64c95dfe Author: Theppitak Karoonboonyanan Date: 2011-09-18 Updated Thai translation. M po/th.po commit 92e3aded0c213d33e6bbe39f4a9258f4a50a0f7c Author: Ville-Pekka Vainio Date: 2011-09-17 Updated reduced Finnish translation M po/fi.po commit c408390df407fa4b90d4d8bf49a26401ec908512 Author: Ihar Hrachyshka Date: 2011-09-17 Updated Belarusian translation (some fixes after manual testing). M po/be.po commit 8fc72b1b9122cd3dec7c40c2d8f3b24a5038ae46 Author: Alexander Shopov Date: 2011-09-17 Updated Bulgarian translation M po/bg.po commit c0f1c0988790e458351a3e6f6a9bdc494efc0797 Author: Antonio Fernandes C. Neto Date: 2011-09-17 Updated Brazilian Portuguese translation M po/pt_BR.po commit 4fde92db8333dfdb708f57e9b69d3fa74f511663 Author: Joan Duran Date: 2011-09-17 [l10n]Updated Catalan translation M po/ca.po commit 3956b5c163d1b6beda14ab3d47bf78653208c106 Author: Jiro Matsuzawa Date: 2011-09-17 Updated Japanese translation M po/ja.po commit d477edb640c0aa58550e43992fb788f54b2ec700 Author: Mario Blättermann Date: 2011-09-16 [l10n] Updated German translation M po/de.po commit c97c17c4970cb9ae9c38685005995abe2a880921 Author: Daniel Korostil Date: 2011-09-16 Uploaded Ukranian M po/uk.po commit a046d86cd13431eef4bae743c0ca505dffaecca0 Author: dmustieles Date: 2011-09-14 Updated Spanish translation M po/es.po commit cb9d902fccbc462253d60d9a39fa5ee2cce1af7d Author: Yinghua Wang Date: 2011-09-13 update Simplified Chinese (zh_CN) translation M po/zh_CN.po commit 67743ffbc62abeb2bb3511901c95fb57d4ee9d93 Author: Yinghua Wang Date: 2011-09-13 update Simplified Chinese (zh_CN) translation M po/zh_CN.po commit 78be87bc843f71670b41011b645f983bab6ba81d Author: Cosimo Cecchi Date: 2011-09-12 desktop: ensure the desktop metadata is up to date when setting as ready As part of the I/O machinery cycle internal to call_when_ready nemo_file_clear_info() can be called and clear the metadata we previously set during _init. Move the desktop metadata initialization before returning the file as ready, so it's always up to date when the view reads the settings. https://bugzilla.gnome.org/show_bug.cgi?id=655561 M libnemo-private/nemo-desktop-directory-file.c commit 6775e582bcd332eaed925f41555fe4e5c0a3dd71 Author: Cosimo Cecchi Date: 2011-09-12 file: read the emblem icon names from metadata Support for the metadata::emblems got lost during the 3.0 development, re-add support for it. M libnemo-private/nemo-file.c commit 97802bc3f6cfbd464eae6e4375cc8f7d71a218af Author: Cosimo Cecchi Date: 2011-09-12 window-manage-views: scroll to the selected location when opening an URI When opening nemo with a preselected URI, scroll the window to that location in addition to selecting the view element. https://bugzilla.gnome.org/show_bug.cgi?id=658843 M src/nemo-window-manage-views.c commit 3add5865157f6eb66ddf5729ffdf3102c020cc10 Author: Dr.T.Vasudevan Date: 2011-09-12 updated Tamil translation M po/ta.po commit d82cd5965c246173c3f8e3ce39fdde740592259e Author: Rudolfs Mazurs Date: 2011-09-11 Updated Latvian translation. M po/lv.po commit e7c643cea5a4455d34954edfad24ca62dd585156 Author: Jorge González Date: 2011-09-11 Updated Spanish translation M po/es.po commit 7fe6d3d2a4fe48d58afba8c0ee8e40fe60c5d63b Author: Cosimo Cecchi Date: 2011-09-10 tree-sidebar: don't block the parent handler when popping up a menu Otherwise the treeview will not select the row where the event happened. https://bugzilla.gnome.org/show_bug.cgi?id=601725 M src/nemo-tree-sidebar.c commit bc236c95df0b3362b4e51a404bd89e13062afa49 Author: Arash Mousavi Date: 2011-09-10 Updated Persian translation M po/fa.po commit 8873abff5de2fd8039ba52e60a835444527f7349 Author: Duarte Loreto Date: 2011-09-10 Updated Portuguese translation M po/pt.po commit a465c3b91dfadbfb590adc42fee18aaa1b61d9fc Author: Jiro Matsuzawa Date: 2011-09-10 Updated Japanese translation M po/ja.po commit 8d5e8502862f93a188a848ca79779db09e4abf85 Author: A S Alam Date: 2011-09-10 update PunjabiTranslation M po/pa.po commit d56fd8f591b3909ef58d7e191afb400de7a8f75f Author: Kristjan SCHMIDT Date: 2011-09-09 Updated Esperanto translation M po/eo.po commit 99ad534b7b2fae3fdfa15345cbeae01da5dda803 Author: Javier Jardón Date: 2011-09-09 Make maintiner mode enabled by default See http://blogs.gnome.org/desrt/2011/09/08/am_maintainer_mode-is-not-cool/ M configure.in commit a64ac652e217cfd9809f669453da6577a198ae37 Author: Yaron Shahrabani Date: 2011-09-09 Updated Hebrew translation. M po/he.po commit 2f064e560cf949b1e1bc4448eaa277f8e05180d8 Author: David Liang Date: 2011-09-09 icon-container: invalidate the layout cache on style-updated This way label sizes will be recomputed if e.g. DPI settings change. https://bugzilla.gnome.org/show_bug.cgi?id=578468 M libnemo-private/nemo-icon-container.c commit c0e6ac365cd4d4d4add0db1edf6f7506bd85e57f Author: Matthias Clasen Date: 2011-09-09 file-operations: ignore ALREADY_MOUNTED errors when mounting Don't spawn an error dialog in this case. https://bugzilla.gnome.org/show_bug.cgi?id=579645 M libnemo-private/nemo-file-operations.c commit a78d885027d6a49d712b5589fd79c822edf4e17d Author: Cosimo Cecchi Date: 2011-09-08 search-directory: stop the engine when there are no active monitors My understanding of this code suggests the engine should be stopped as soon as the active monitors reach zero. This fixes the Stop button not working while searching anyway, and doesn't seem to cause any collateral damage. https://bugzilla.gnome.org/show_bug.cgi?id=563163 M libnemo-private/nemo-search-directory.c commit fdf0036ca9fbb17b97aefabd95f994190cdc0bac Author: Piotr DrÄ…g Date: 2011-09-08 Updated Polish translation M po/pl.po commit 226595c7ed30e21247d07a063dd7d1f9221306ed Author: Luca Ferretti Date: 2011-09-08 l10n: Updated Italian translation M po/it.po commit 920aa3d94be890f241d3be415540dbde6a81df0a Author: Cosimo Cecchi Date: 2011-09-08 tracker: always reset the cancellable when starting a query Otherwise we can start a query with a cancelled object already, making it fail immediately. M libnemo-private/nemo-search-engine-tracker.c commit ee73c255d75165607c7f04defd5e8edfa3524914 Author: Cosimo Cecchi Date: 2011-09-08 window: make sure not to unref NULL GFiles The GFile pointed by parent here can be NULL after the cycle, so fold the unref in the != NULL block. M src/nemo-window-manage-views.c commit 88b08d691c17b9686938a0b20a37a19ac99cacc3 Author: Cosimo Cecchi Date: 2011-09-08 all: remove is_indexed property on NemoSearchDirectory It doesn't really make sense to artificially change the query target if we're indexed. M libnemo-private/nemo-search-directory.c M libnemo-private/nemo-search-directory.h M libnemo-private/nemo-search-engine-simple.c M libnemo-private/nemo-search-engine-tracker.c M libnemo-private/nemo-search-engine.c M libnemo-private/nemo-search-engine.h M src/nemo-query-editor.c M src/nemo-query-editor.h M src/nemo-window-pane.c M src/nemo-window-slot.c commit aef4bf26ed8b48f6519fec9531bb530783193447 Author: Cosimo Cecchi Date: 2011-09-08 tracker: respect the location URI when searching with tracker M libnemo-private/nemo-search-engine-tracker.c commit a65eb16241ea0e64e5bf2547ffdaebcaa4547574 Author: Claude Paroz Date: 2011-09-08 Updated French translation M po/fr.po commit 6f4d215dd9df1b3b0c7fb4714fda88bc2ef39590 Author: Bruce Cowan Date: 2011-09-08 Updated British English translation M po/en_GB.po commit 92e40dd094a812db6bcc3e60c0830d20b3f07b15 Author: Cosimo Cecchi Date: 2011-09-08 window: steal all accelerators/mnemonics keybindings when renaming If we're renaming, we really want to ignore all the accelerators and mnemonics coming from NemoWindow and NemoView, as they might conflict with the regular bindings expected in an editable widget, such as an editable GtkCellRendererText or EelEditableLabel. This should fix all the recent keybinding-related regressions, such as https://bugzilla.gnome.org/show_bug.cgi?id=658105 https://bugzilla.gnome.org/show_bug.cgi?id=651574 M src/nemo-window.c commit a67212a39bbcd342f0a503d693ebd80fab48ac9c Author: Cosimo Cecchi Date: 2011-09-08 view: add an is_renaming property to NemoView And keep it in sync with the renaming widget. This will be useful to forward events to the view if it's renaming. M libnemo-private/nemo-icon-container.c M libnemo-private/nemo-icon-container.h M src/nemo-icon-view.c M src/nemo-list-view.c M src/nemo-view.c M src/nemo-view.h commit 88b535828ddacd7ec2313d52a21f164aee535fa3 Author: Cosimo Cecchi Date: 2011-09-08 Revert "window: reverse the order of key-press event processing" This reverts commit f76c50a0e46aa7786820f76b3f71b57b44b8d7fb. M libnemo-private/nemo-icon-container.c M src/nemo-list-view.c M src/nemo-window.c commit c55fa6b75ba623b327975fdaa37d5a8e6669e7ac Author: Cosimo Cecchi Date: 2011-09-08 build: fix optional dependency check on libtracker-sparql Commit ffc7c7f98901e8a319b91716d05e521a798dbe43 didn't really work in the case where no tracker was found on the system, really forcing a build dependency. Fix this. https://bugzilla.gnome.org/show_bug.cgi?id=658545 M configure.in commit 8d8979f53cea0e8e48faa9ffba82950013e18ad0 Author: Cosimo Cecchi Date: 2011-09-07 icon-dnd: remove hardcoded highlight frame The call to gtk_render_frame() should be enough; the problem is with Adwaita which does not define a CSS style for the "dnd" class. M libnemo-private/nemo-icon-dnd.c commit 7732a6b35369c1cef56351cc491358c2f6623c5e Author: Cosimo Cecchi Date: 2011-09-07 icon-canvas-item: render the additional text with gtk_render_layout() And add a style class for it. M libnemo-private/nemo-icon-canvas-item.c commit ffc7c7f98901e8a319b91716d05e521a798dbe43 Author: Cosimo Cecchi Date: 2011-09-07 tracker: make the tracker-sparql dependency optional This way it's still possible to specify --enable-tracker=no from the configure line if you want to avoid the tracker dependency. M configure.in M libnemo-private/Makefile.am M libnemo-private/nemo-search-engine.c commit b3da52fefdbf5dc6f8f95fe381181dc47e54d5c3 Author: Stefano Teso Date: 2011-09-07 file: make sure not to use a 0 width/height when scaling the image The problem is that for extreme height-to-width ratio images, gdk_pixbuf_scale_simple () is called with either width or height = 0 (printing a critical warning to the terminal). https://bugzilla.gnome.org/show_bug.cgi?id=329010 M libnemo-private/nemo-file.c commit f1dd42ec1c86e78fa894c07ee6b0c8df60d45acb Author: Cosimo Cecchi Date: 2011-09-07 tracker: use libtracker-sparql directly It's not a problem for nemo to depend on libtracker-sparql here instead of using g_module_open() M configure.in M libnemo-private/nemo-search-engine-tracker.c commit 402b281790c1bca3fc10010008cb1ac6fb997b59 Author: Pavlos Touboulidis Date: 2011-04-11 list-view: Fix default sort order. Removed the extra "uri" element from the sort order mapping array because the settings enum values were being mapped to the wrong strings. https://bugzilla.gnome.org/show_bug.cgi?id=647491 M src/nemo-list-view.c commit ad5b834df34d6a8f3919909b63ce97cc2bda53d4 Author: mads@kiilerich.com Date: 2011-09-07 nemo-autorun-software: handle mime type x-content/unix-software only This is a consequence of the fix for https://bugs.freedesktop.org/show_bug.cgi?id=20562 . This undoes the part of cffb9cf7025 that hardcodes that media with x-content/win32-software are silently ignored, and thus improves on the fix for #524270. Wine or something could now provide a handler for win32-software. https://bugzilla.gnome.org/show_bug.cgi?id=632510 M data/nemo-autorun-software.desktop.in.in M src/nemo-autorun-software.c commit 8978c6375bbe0cd26fffded25bc4606cab2c88e6 Author: Phillip Berndt Date: 2011-02-16 nemo-autorun-software: Use /bin/sh for autorun.sh execution If the autorun file is called autorun.sh it is clearly meant for execution through a sh processor. The benefit of using /bin/sh as the executable is that autorun will also work on FAT formatted media (which does not allow autorun.sh to have +x permission set) https://bugzilla.gnome.org/show_bug.cgi?id=642511 M src/nemo-autorun-software.c commit d1bc9311392e243aa5c9af4b80a373b6dd69d741 Author: Sandro Mani Date: 2011-09-07 mime-actions: don't spawn a warning if we have only one application Don't show a confirmation dialog when we're opening a number of files with the same application. https://bugzilla.gnome.org/show_bug.cgi?id=649811 M src/nemo-mime-actions.c commit 571a6ef755a6190d442739589b686401d75ff40b Author: Tomas Bzatek Date: 2011-04-15 connect-server-dialog: Respect password save setting The "Remember this password" checkbox was not respected when password was specified and connection succeeded for the first time. https://bugzilla.gnome.org/show_bug.cgi?id=641376 M src/nemo-connect-server-dialog.c commit 0ae354ce50394d18be01ca670fdf190d63c1591e Author: Cosimo Cecchi Date: 2011-09-07 search-bar: use gtk_entry_set_icon_from_icon_name() Now that we have an image style class for entry icons, we can style the symbolic color from the theme instead of rendering this manually. This also has the side effect of fixing bugs like https://bugzilla.gnome.org/show_bug.cgi?id=651209 M src/nemo-search-bar.c commit 37e379a5a484b604bd25f0b4cb3269f6e4c942ba Author: Michael Terry Date: 2011-06-29 Look at XDG_CURRENT_DESKTOP to decide if a link is foreign https://bugzilla.gnome.org/show_bug.cgi?id=653660 M libnemo-private/nemo-link.c commit 637289f74536ed2f31e05604401203a9360c439f Author: Michael Terry Date: 2011-06-29 Add Unity to OnlyShowIn https://bugzilla.gnome.org/show_bug.cgi?id=653657 M data/nemo.desktop.in.in commit cbadf49a82c70bb6ef90d63fdc4b43f4cb108598 Author: Cosimo Cecchi Date: 2011-09-07 css: remove custom CSS stylesheet Our custom CSS stylesheet is actually very tied to Adwaita. We don't want to force this style to other GTK+ themes, so the theming information has been moved to Adwaita itself. M data/Makefile.am D data/nemo.css M src/nemo-application.c commit ca7f81e2e9adf325effa11fc55aace4a087ab61b Author: Cosimo Cecchi Date: 2011-09-07 icon-container: use the "rubberband" style class for the selection item Instead of using a custom style property. M data/nemo.css M libnemo-private/nemo-icon-container.c commit 8b676a68b698b705a6008c89d53fded1cf635981 Author: Cosimo Cecchi Date: 2011-09-07 desktop: add a nemo-desktop style class to the desktop canvas So that themes can tweak the color/background of desktop canvas items separately. M libnemo-private/nemo-icon-container.c commit 22707fdc469dfc7548adc8020e3aaf63b20ae1bf Author: Cosimo Cecchi Date: 2011-09-07 eel: remove unused eel_cairo_draw_layout_with_drop_shadows() M eel/eel-gdk-extensions.c M eel/eel-gdk-extensions.h commit 77eecef417b91bb0c48588513de473f11a5c9896 Author: Cosimo Cecchi Date: 2011-09-07 icon-container: remove unused code caching canvas item colors Caching colors in NemoIconContainer to use them in the canvas item is not needed anymore, as gtk_render_* fetches the right values directly from the style context. M libnemo-private/nemo-icon-container.c M libnemo-private/nemo-icon-private.h commit 95910c94fd46f368b66f02e1961dc5f273b38c82 Author: Cosimo Cecchi Date: 2011-09-07 icon-canvas-item: use gtk_render_* methods instead of direct cairo Instead of hardcoding colors and using direct cairo calls to draw the canvas items frame/background/labels, use gtk_render_* methods directly. This has the advantage of making them more friendly with GTK+ themes (by adding a nemo-canvas-item style class to the canvas context when drawing) and removes a ton of convoluted cairo drawing code. M libnemo-private/nemo-icon-canvas-item.c commit 483f13c18f55e489bc15ad266d5612edf96ad95a Author: Matej UrbanÄiÄ Date: 2011-09-07 Updated Slovenian translation M po/sl.po commit 5b09cedf434b53a975074b346d511335fc735cba Author: Rui Matos Date: 2011-08-08 list-view: explicitly set cursor on file name cell renderer on rename The file name column has two cell renderers, one for the icon and another for the name string. Thus, gtk_tree_view_set_cursor() isn't enough to reliably start editing the file name cell since it will try to edit whatever is the currently focused cell in the column. https://bugzilla.gnome.org/show_bug.cgi?id=656128 M src/nemo-list-view.c commit b20d9570c840f696eae5216652d93540bcfdc6db Author: Cosimo Cecchi Date: 2011-09-07 floating-bar: remove some unused code M src/nemo-floating-bar.c commit 00b108c687408db87ebb617186aa8fa62f35c7de Author: Luke Symes Date: 2011-07-16 Don't hide the floating-bar on hover if it is interactive If there are actions set on the floating bar, avoid escaping the pointer. https://bugzilla.gnome.org/show_bug.cgi?id=654558 M src/nemo-floating-bar.c M src/nemo-window-manage-views.c commit 3f892611ab497180fae677abd6520e4cd387877f Author: Stas Solovey Date: 2011-09-07 Updated Russian translation M po/ru.po commit a21d27b66fa307adaf87918f5feb2be44d52fdca Author: Cosimo Cecchi Date: 2011-09-07 places-sidebar: don't manually highlight the symbolic eject icon Set the right style class and state when rendering the icon, so the theming engine can fetch the right color from the theme and color the symbolic icon automatically. M src/nemo-places-sidebar.c commit 1eaae29320deb8dc6f218c13584aac5bbb66acd1 Author: Ihar Hrachyshka Date: 2011-09-07 Updated Belarusian translation. M po/be.po commit 407e426fcd2413a5a27e8bbc9f455da9e3fbbe59 Author: Kjartan Maraas Date: 2011-09-06 Updated Norwegian bokmÃ¥l translation M po/nb.po commit 62bb5efc592a1241bfb0ca5c3773eb8ad899cbcc Author: Chao-Hsiung Liao Date: 2011-09-06 Updated Traditional Chinese translation(Hong Kong and Taiwan) M po/zh_HK.po M po/zh_TW.po commit fa72a893c4e8558d94c22cb9ed3ed6c417eb265f Author: Daniel Nylander Date: 2011-09-05 Updated Swedish translation M po/sv.po commit 2d66b738054eb27a0f624be5a4a76d038c907b4d Author: Jorge González Date: 2011-09-05 Updated Spanish translation M po/es.po commit 8478047a09576891e30d87232d332da244c8a518 Author: Fran Dieguez Date: 2011-09-05 Updated galician translations M po/gl.po commit 4060b9ee98bb080383e4d973c7ae5be1a515f785 Author: Shaun McCance Date: 2011-09-02 Update help targets and add more useful entries to help menu M src/nemo-bookmarks-window.c M src/nemo-connect-server-dialog.c M src/nemo-file-management-properties.c M src/nemo-properties-window.c M src/nemo-shell-ui.xml M src/nemo-view.c M src/nemo-window-menus.c commit 156f61454a06dddadb82990bfd4d287729352ece Author: Ihar Hrachyshka Date: 2011-09-04 Updated Belarusian translation. M po/be.po commit 80d2046dd0df5719daa6ce9b702f0c0265eb7044 Author: André Gondim Date: 2011-09-03 Updated Brazilian Portuguese translation, reviewed by Antonio Fernandes C. Neto . M po/pt_BR.po commit c687d66e473f7094c6af552a69d14d81ae4c3baf Author: Aurimas ÄŒernius Date: 2011-09-03 Updated Lithuanian translation M po/lt.po commit af0022fc388a587726f1186bbe131c666e4d50a3 Author: Tomas Bzatek Date: 2011-09-02 previewer: Fix leaked GError M src/nemo-previewer.c commit e75ff65bc233eaaff108329376ff04b007422668 Author: Stas Solovey Date: 2011-08-31 Updated Russian translation M po/ru.po commit db72d73b3cd58493b1b8878a52ff8a9f5d350602 Author: Vincent Untz Date: 2011-08-30 all: Remove preferences about sound previewing The code was removed, so no need to keep the preference. https://bugzilla.gnome.org/show_bug.cgi?id=657718 M libnemo-private/nemo-global-preferences.h M libnemo-private/nemo.convert M libnemo-private/org.gnome.nemo.gschema.xml.in M src/nemo-file-management-properties.c M src/nemo-file-management-properties.ui commit 3c5cc30d554e641d6013ef196b1a2d7c9424fa41 Author: Cosimo Cecchi Date: 2011-08-29 release: prepare for 3.1.90 M NEWS M configure.in commit 3d44be7ced5267143b3eb2ffcf7118c4fec3a199 Author: Andika Triwidada Date: 2011-08-18 Updated Indonesian translation M po/id.po commit 2d3ba922514b5b5aa5db01214b0dd183a2fdb8e2 Author: A S Alam Date: 2011-08-18 update translation for Punjabi M po/pa.po commit cfb84e3f7e44b0d752541ece747cec0066f0cea9 Author: Theppitak Karoonboonyanan Date: 2011-08-14 Updated Thai translation. M po/th.po commit 945f5bfaf3abbeaf963675ffd5d476cbefde8d74 Author: Piotr DrÄ…g Date: 2011-08-12 Updated Polish translation M po/pl.po commit 7f580504c1fc5904636b9314feab5d5f881a0ea5 Author: Alexander Shopov Date: 2011-08-10 Updated Bulgarian translation M po/bg.po commit a1830fad48e6f5769aab40917f44ebc8447501d4 Author: Kjartan Maraas Date: 2011-08-10 Updated Norwegian bokmÃ¥l translation M po/nb.po commit 484117c8383a655e0c33e1206c6eb09a35692ead Author: Hendrik Knackstedt Date: 2011-08-05 [l10n] Updated German translation M po/de.po commit 99d7f0867eacde30502c5e7d4a074bed5d046dd6 Author: Nguyá»…n Thái Ngá»c Duy Date: 2011-08-03 po/vi.po: fix "free space" translation M po/vi.po commit c997bbe8b8bfb423d03f3475088a983e59bd9168 Author: Cosimo Cecchi Date: 2011-07-31 all: remove the built-in hover audio previewer This is not really useful anymore now that we have Sushi, which is way more powerful. M icons/Makefile.am D icons/audio.svg M libnemo-private/nemo-icon-canvas-item.c M libnemo-private/nemo-icon-container.c M libnemo-private/nemo-icon-private.h M src/Makefile.am D src/nemo-audio-mime-types.h M src/nemo-icon-view.c commit 065cecec33baf0f8e181da25313cb8030db4da18 Author: Cosimo Cecchi Date: 2011-08-01 application: call Close() on the previewer when there are no windows When the last window is removed from the application object, close the previewer too. M src/nemo-application.c commit f05eaaad2ef96338622c035696148be852c4aca0 Author: Cosimo Cecchi Date: 2011-08-01 previewer: add a wrapper for the Close() remote method M src/nemo-previewer.c M src/nemo-previewer.h commit 60a31b50c2231f9e9f0d624f2ee9cff4800655db Author: Cosimo Cecchi Date: 2011-08-01 previewer: call methods directly on the GDBusConnection Initialize the DBus connection in the constructor and call methods directly on it, instead of keeping the proxy around. M src/nemo-previewer.c commit d0573ec843e73b2832ccc64c08b21c6083526fd9 Author: Lê Trưá»ng An Date: 2011-07-24 Updated Vietnamese translation M po/vi.po commit 2b684e6ea35682ab6e636ca8723fb5d4f5104307 Author: Bruno Brouard Date: 2011-07-31 Updated French translation M po/fr.po commit a1949a8980d0d932ef8effebf44d10e4727cbeb2 Author: Djavan Fagundes Date: 2011-07-28 Fixed a string in Brazilian Portuguese translation M po/pt_BR.po commit f486646784ab6cf519fc9168629b40ca8259655a Author: Henrique P. Machado Date: 2011-07-27 Fixed a string in Brazilian Portuguese translation M po/pt_BR.po commit a000844b5a6039375b0e4176dd4c0f7083b46cb7 Author: Cosimo Cecchi Date: 2011-07-27 thumbnails: make sure to cache all mime types from gdk-pixbuf G_N_ELEMENTS() does not work for heap-allocated arrays, and always returns 1, so we were not actually caching all the supported mime types for a specific pixbuf loader after the first. This should also fix nemo not thumbnailing e.g. compressed SVG images, as reported in [1]. [1] https://bugzilla.gnome.org/show_bug.cgi?id=655406 M libnemo-private/nemo-thumbnails.c commit 0ee113dc1c5affda3eabf73b4c70c77456509d20 Author: Cosimo Cecchi Date: 2011-07-25 release: prepare for 3.1.4 M NEWS M configure.in commit 475ed89d6e6ac99f46700babd16671f88bd1386c Author: Didier Roche Date: 2011-07-25 Remove "Create Launcher" entry option "Create launcher" entry from nemo seems weird as nemo doesn't draw the desktop for GNOME Shell, and this rely on a gnome-panel binary. This brings inconsistency between the two sessions. https://bugzilla.gnome.org/show_bug.cgi?id=654848 https://bugs.launchpad.net/bugs/723861 M src/nemo-actions.h M src/nemo-desktop-icon-view-ui.xml M src/nemo-desktop-icon-view.c M src/nemo-directory-view-ui.xml M src/nemo-view.c M src/nemo-view.h commit 3caf41765453c3c4cf9a73aae87b185d099598f9 Author: Antoine Jacoutot Date: 2011-06-20 Turn nemo_window_close() into a virtual method. nemo_window_close() is now a virtual method that will behaves according to NemoWindowClass: it won't do anything if the window is a NemoDesktopWindow (i.e. it won't close it) which would prevent desktop icons from disappearing. nemo_application_close_all_windows() will now skip hiding windows but close them right away. https://bugzilla.gnome.org/show_bug.cgi?id=652724 M src/nemo-application.c M src/nemo-desktop-window.c M src/nemo-window.c M src/nemo-window.h commit 2bbbc01dc6429e948aed0bbf077e1b77880352ee Author: Antoine Jacoutot Date: 2011-07-15 Move the 'File System' shortcut down the list in the sidebar. Users access more often the XDG dirs than the root filesystem, so it makes sense to move it below. https://bugzilla.gnome.org/show_bug.cgi?id=654681 M src/nemo-places-sidebar.c commit 8686479b2be23735caec35c401d24db499cb2f2c Author: Cosimo Cecchi Date: 2011-07-21 icon-names: use 'drive-harddisk-system' as File System icon Now that it has been added to gnome-icon-theme-extras. https://bugzilla.gnome.org/show_bug.cgi?id=620085 M libnemo-private/nemo-icon-names.h commit 3f42d04301d9a8fcf43f176d1e601356489eb84f Author: Cosimo Cecchi Date: 2011-07-21 window: remove 'Clear History' from the 'Go' menu This is a leftover from the past, when we used to have a global history list. Now that Nemo is not persistent and we don't have that anymore, it doesn't really make sense to keep this menu item. https://bugzilla.gnome.org/show_bug.cgi?id=654422 M src/nemo-shell-ui.xml M src/nemo-window-menus.c M src/nemo-window.c M src/nemo-window.h commit 75960497c6c8e657f010aef7d2bbbf1fda19c4ad Author: Cosimo Cecchi Date: 2011-07-21 location-bar: don't pack an useless box in the bar The bar is an horizontal box already, no need to pack another hbox in it. This also fixes content not expanding in the available width, as noted in https://bugzilla.gnome.org/show_bug.cgi?id=654389. M src/nemo-location-bar.c commit 283e9b32cae61b5501ece85d1dacb1e1c29c4b85 Author: Cosimo Cecchi Date: 2011-07-21 file: use g_format_size_full instead of printf-ing the long string Now that GLib has g_format_size_full(), we can easily format the long string (e.g. 45MB (45,123,456 bytes)) using it, instead of our custom printf function. M libnemo-private/nemo-file.c commit 3e69fb702393cf42486321c88cede4668329b4c8 Author: Ryan Lortie Date: 2011-07-20 all: switch to g_format_size() g_format_size_for_display() has been deprecated in GLib and replaced with g_format_size(). Follow that change. https://bugzilla.gnome.org/show_bug.cgi?id=654995 M configure.in M libnemo-private/nemo-file-operations.c M libnemo-private/nemo-file.c M src/nemo-properties-window.c M src/nemo-view.c commit 2160de69245ad15826f6aed1a5ef15455d7851d0 Author: Cosimo Cecchi Date: 2011-07-14 a11y: remove some unused code M eel/eel-accessibility.c M eel/eel-accessibility.h commit a7bd0741e0772f3b143e5c1d77860cce8f3d9872 Author: Ihar Hrachyshka Date: 2011-07-14 Updated Belarusian translation. M po/be.po commit 227ccadc10af524ad1104d36c1343f26be55cf67 Author: Rudolfs Mazurs Date: 2011-07-13 Updated Latvian translation. M po/lv.po commit 613f7180ca741b201e5933d1ebf41fe811a722b4 Author: Abduxukur Abdurixit Date: 2011-07-07 Added UG translation M po/ug.po commit 4d68a3bbab0e6157f83c90288b58bdfebace63c2 Author: Muhammet Kara Date: 2011-07-06 Updated Turkish translation M po/tr.po commit fb45c737e0f7080bd0f51c532311b942a20e38a1 Author: Muhammet Kara Date: 2011-07-06 Fixed a few funny errors in Turkish translation M po/tr.po commit 614b7d3b2b7d09dc4bf19a51ae56a2a087212c99 Author: Muhammet Kara Date: 2011-07-03 Updated Turkish translation M po/tr.po commit 391d537f224204803ef8b50344892166cd9808fa Author: Kjartan Maraas Date: 2011-07-02 Updated Norwegian bokmÃ¥l translation M po/nb.po commit 5817e7ad138f053c80d9257693dbacccb88eecbf Author: Cosimo Cecchi Date: 2011-07-01 release: prepare for 3.1.3 M NEWS M configure.in commit 34bbbc57864e454bdddcc59f322bf06b56254ef6 Author: Cosimo Cecchi Date: 2011-07-01 all: remove some unneeded includes M eel/eel-gtk-extensions.c M libnemo-private/.gitignore M libnemo-private/nemo-directory-async.c M libnemo-private/nemo-tree-view-drag-dest.c M src/.gitignore commit 5c6950277332ca53fceb27d58fa3f06101737726 Author: Cosimo Cecchi Date: 2011-07-01 all: use g_cclosure_marshal_generic() instead of generating marshallers M eel/Makefile.am M eel/eel-canvas.c M eel/eel-editable-label.c M libnemo-private/Makefile.am M libnemo-private/nemo-directory-async.c M libnemo-private/nemo-icon-container.c M libnemo-private/nemo-tree-view-drag-dest.c M src/Makefile.am M src/nemo-query-editor.c M src/nemo-view.c M src/nemo-window.c commit 922307d634a0401c8cc29bee70c6335b2eb9a17c Author: Cosimo Cecchi Date: 2011-06-28 build: bump GTK+ dep to 3.1.6 We need it for GtkOverlay. M configure.in commit eb8ba09e82cbf7045d75a638ef69318e65a8a75f Author: Ihar Hrachyshka Date: 2011-06-28 Updated Belarusian translation. M po/be.po commit 49db9b14ed4e08887e4dc3e5e4cd4c184f48d4ad Author: Ihar Hrachyshka Date: 2011-06-26 Updated Belarusian translation. M po/be.po commit ff6b4f64ab2499e149d2d75e812b2e6e40d68156 Author: МироÑлав Ðиколић Date: 2011-06-25 Updated Serbian translation M po/sr.po M po/sr@latin.po commit 6ac24b5381c7a26f85b8c72662c9ac4a54269e26 Author: Cosimo Cecchi Date: 2011-06-21 application: make sure --no-default-window works when used with an URI M src/nemo-application.c commit ffd2125b13ac591428cf73ac3c0021849d36058a Author: Daniel Nylander Date: 2011-06-20 Updated Swedish translation M po/sv.po commit ea4609ff6123798edf93b0e54b8b03a2fda94fce Author: Gabor Kelemen Date: 2011-06-19 Fix an inconsistency and a too long button M po/hu.po commit 95d45f1994795942774b039ba0de6933d9ffa5c7 Author: Paolo Borelli Date: 2011-06-18 Fix gobject warning about nonexisting property NemoDesktopWindow does not have an "app" propety anymore. M src/nemo-application.c M src/nemo-desktop-window.c M src/nemo-desktop-window.h commit 4c37f5a1c1c7861b45359e36a5efd868cf3f3bb0 Author: Cosimo Cecchi Date: 2011-06-16 all: don't return a reference when getting the application singleton This simplifies the code a bit. Also, remove the useless "app" property on NemoWindow while we're at it. M src/nemo-application.c M src/nemo-application.h M src/nemo-bookmarks-window.c M src/nemo-connect-server-dialog-nonmain.c M src/nemo-location-bar.c M src/nemo-main.c M src/nemo-places-sidebar.c M src/nemo-progress-ui-handler.c M src/nemo-window-manage-views.c M src/nemo-window-menus.c M src/nemo-window-private.h M src/nemo-window.c M src/nemo-window.h commit 2b9ebd30e880733d3f40430d1d022ae2f8a4bf77 Author: krishnababu k Date: 2011-06-15 Corrections in Telugu file M po/te.po commit 296ef2be9726185ee08552d3e8bb17d2a98a40b7 Author: Paolo Borelli Date: 2011-06-05 Add "Add Bookmark" to the sidepane context menu https://bugzilla.gnome.org/show_bug.cgi?id=651931 M src/nemo-places-sidebar.c commit 67482b37c8b6581262da28798b6b4e36419b4852 Author: krishnababu k Date: 2011-06-15 Updated Telugu Translations M po/te.po commit aa3eff54fcab36a1fab561ec8527608e12a1496b Author: Cosimo Cecchi Date: 2011-06-13 overlay: remove unused gedit-overlay-child D src/gedit-overlay-child.c D src/gedit-overlay-child.h commit 17b2ff9b002498b8e6ce28c7bf846b0daf3ce206 Author: Cosimo Cecchi Date: 2011-06-13 release: update for 3.1.2 M NEWS M configure.in commit 63e37acc17900e81605b994e8d4e6dd59f1769da Author: Cosimo Cecchi Date: 2011-06-13 floating-bar: fix background/frame rendering M src/nemo-floating-bar.c commit 752ab2718ba4f7e968678facfd8dd0ea6b0e4b26 Author: Cosimo Cecchi Date: 2011-06-13 css: cleanup the CSS file a bit M data/nemo.css commit a28a89ab8112a5207d5413e5f767f191d1d13339 Author: Cosimo Cecchi Date: 2011-06-13 floating-bar: port to GtkOverlay M src/Makefile.am D src/gedit-overlay.c D src/gedit-overlay.h M src/nemo-floating-bar.c M src/nemo-floating-bar.h M src/nemo-icon-view.c M src/nemo-list-view.c M src/nemo-window-slot.c M src/nemo-window-slot.h commit 6260482af6804adda242d7a8582ccdd155beb9e0 Author: Cosimo Cecchi Date: 2011-06-13 all: don't use Gtk[H/V]Box in UI files M src/nemo-bookmarks-window.ui M src/nemo-file-management-properties.ui commit d6de7f5f0ff90775445c3dc353328301c66f0de1 Author: Cosimo Cecchi Date: 2011-06-13 all: don't use deprecated Gtk[H/V]Box M libnemo-private/nemo-column-chooser.c M libnemo-private/nemo-column-chooser.h M libnemo-private/nemo-file-conflict-dialog.c M libnemo-private/nemo-icon-container.c M libnemo-private/nemo-mime-application-chooser.h M src/nemo-connect-server-dialog.c M src/nemo-desktop-item-properties.c M src/nemo-image-properties-page.c M src/nemo-image-properties-page.h M src/nemo-location-bar.c M src/nemo-location-bar.h M src/nemo-notebook.c M src/nemo-pathbar.c M src/nemo-progress-info-widget.c M src/nemo-progress-ui-handler.c M src/nemo-properties-window.c M src/nemo-query-editor.c M src/nemo-view.c M src/nemo-window-pane.c M src/nemo-window-slot.c M src/nemo-window.c commit 2c37855719d90413705bd102ef5a29aac33f598a Author: Teliute Date: 2011-06-12 Update Simplified Chinese translation. M po/zh_CN.po commit e46d446be937d0e43ffea1bbc41381388706cf42 Author: Matej UrbanÄiÄ Date: 2011-06-10 Updated Slovenian translation M po/sl.po commit f657a12a9f1da481e7a580335b682749ac4b01cf Author: Javier Jardón Date: 2011-06-09 libnemo-private: Use 'const' instead G_CONST_RETURN M libnemo-private/nemo-icon-canvas-item.c M libnemo-private/nemo-icon-info.c M libnemo-private/nemo-icon-info.h commit a8443f64b6554b640f9bd39b3470284127b7bc3f Author: Javier Jardón Date: 2011-06-09 eel: Use 'const' instead G_CONST_RETURN M eel/eel-editable-label.c M eel/eel-editable-label.h commit 253e72f88a85759fe0630aecfb9cea4011e74e5a Author: Kjartan Maraas Date: 2011-06-07 Updated Norwegian bokmÃ¥l translation M po/nb.po commit 64d608f8cc2d6e266900e5a33402249b20dfec1e Author: Fran Diéguez Date: 2011-06-06 Updated Galician translations M po/gl.po commit 12541f6a1ab1fbf30b032dc628aca147d6de2ad0 Author: Yaron Shahrabani Date: 2011-06-04 Updated Hebrew translation. M po/he.po commit e36c6f5871f6f16833361ce57a4845d46e73f3f1 Author: Yaron Shahrabani Date: 2011-06-04 Updated Hebrew translation. M po/he.po commit 092ba8f674341769579bc515389e7bb67035824d Author: Daniel Mustieles Date: 2011-06-04 Updated Spanish translation M po/es.po commit f83bdf0081bfb5d6b8caad8848a267fecb95b85b Author: Cosimo Cecchi Date: 2011-06-03 connect-server: handle closing of the dialog while connecting If we start a connect operation, but close the dialog before providing the credential details, cancel the operation and hide the dialog, instead of segfaulting. The dialog will eventually be destroyed when the the mount operation terminates (with error). M src/nemo-connect-server-dialog.c M src/nemo-connect-server-operation.c commit e3f055c886e9db0c105de59e80573a9715c41060 Author: Cosimo Cecchi Date: 2011-06-03 eel-string: don't use deprecated gatomic API M eel/eel-string.c commit a0d9614d204d0494d329e04c1d7652e451c2573f Author: Cosimo Cecchi Date: 2011-06-03 toolbar: disconnect the GSettings callback on dispose M src/nemo-toolbar.c commit b62ab1413cca6694b9b09fc9d241bbf3581a56e6 Author: Djavan Fagundes Date: 2011-06-03 Updated Brazilian Portuguese translation M po/pt_BR.po commit a5a4bddf12ff29205757858af81fd3665a68c3f2 Author: Cosimo Cecchi Date: 2011-05-31 application: pass in the array length while looping over it M src/nemo-application.c commit d0240a4319561551adc5e0cdb94bb5486d3f3308 Author: Carles Ferrando Date: 2011-05-29 [l10n]Updated Catalan (Valencian) translation M po/ca@valencia.po commit 1f01e04e135c77722cd3d06065f4ceed20d19219 Author: Jorge González Date: 2011-05-29 Updated Spanish translation M po/es.po commit ea223de6187778ce0a0a70356009f1c24c084c57 Author: Jorge González Date: 2011-05-29 Updated Spanish translation M po/es.po commit 178bae2b656b2cae7ad39f81076fca7c65adf429 Author: Yuri Myasoedov Date: 2011-05-28 Updated Russian translation M po/ru.po commit 362696f86bce90dcfa599bf6f4e17ffd0a679860 Author: Cosimo Cecchi Date: 2011-05-25 metadata: add a metadata::custom-icon-name metadata key It's similar to metadata::custom-icon, only that it works on icon names instead of URIs. https://bugzilla.gnome.org/show_bug.cgi?id=626338 M libnemo-private/nemo-file.c M libnemo-private/nemo-metadata.c M libnemo-private/nemo-metadata.h commit fc3d9af1dff85ef27ff44ea4e71b269a2b700e7d Author: Cosimo Cecchi Date: 2011-05-24 autostart: add an autostart desktop file It will autostart nemo automatically based on the GSettings key org.gnome.desktop.background show-desktop-icons. https://bugzilla.gnome.org/show_bug.cgi?id=647267 M data/Makefile.am A data/nemo-autostart.desktop.in commit 636c06bdc3397b1c6bad78afe2094c149c59f6fb Author: Cosimo Cecchi Date: 2011-05-24 css: update for new GtkCssParser M data/nemo.css commit e239f2a150f34b7f7b4730772fae5a372a7924d1 Author: Cosimo Cecchi Date: 2011-05-23 floating-bar: copy code from Epiphany to hide the floating bar on hover This doesn't currently work perfectly if the overlay child is a GtkTreeView - more investigation is needed. In the meanwhile, it's still better than not hiding the bar ever, so here it is. https://bugzilla.gnome.org/show_bug.cgi?id=648740 M src/nemo-floating-bar.c commit f0649b5bb808aa71fcab52c3e61f5e6419928432 Author: Cosimo Cecchi Date: 2011-05-23 gedit-overlay: update from upstream M src/gedit-overlay-child.c M src/gedit-overlay.c commit 5c949fffcb0de62fd5375f546fa94dd50ec7f86f Author: Cosimo Cecchi Date: 2011-05-24 application: rewrite GApplication command line handling Do the command line parsing in local_command_line for the set of options we're interested in parsing there (e.g. directories to open, self checks and --quit); move the rest of initialization in nemo_application_startup() and use g_application_open() and a custom "quit" action to forward the requests to the main application. This also fixes these two bugs. https://bugzilla.gnome.org/show_bug.cgi?id=649336 https://bugzilla.gnome.org/show_bug.cgi?id=637157 M src/nemo-application.c M src/nemo-application.h M src/nemo-connect-server-dialog-nonmain.c M src/nemo-location-bar.c M src/nemo-places-sidebar.c M src/nemo-window-manage-views.c M src/nemo-window-menus.c commit b9272618934a4c177166e5f7771e6ab6cabcc31b Author: Nguyá»…n Thái Ngá»c Duy Date: 2011-05-24 po/vi.po: updated UI to match nemo-preview.page M po/vi.po commit e738e686af858c38ca7c0b32426b3a1dfea0d9a2 Author: Nguyá»…n Thái Ngá»c Duy Date: 2011-05-24 po/vi.po: fix up UI to match nemo-views.page M po/vi.po commit f76c50a0e46aa7786820f76b3f71b57b44b8d7fb Author: Cosimo Cecchi Date: 2011-05-23 window: reverse the order of key-press event processing Usually the default GtkWindow handler for key-press events processes them in the following order: - calls gtk_window_activate_key() to process mnemonics/accelerators for the toplevel window - calls gtk_window_propagate_key_event() to propagate the events to the focus widget - chains up to parent if both fail We want gtk_window_propagate_key_event() to be called before gtk_window_activate_key(), as when we're focusing an editable widget (e.g. renaming a file), we want all keybindings to apply to that, e.g. Delete, Ctrl+Delete (or Ctrl+W if we're e.g. using an emacs-mode GTK+ binding set). This interferes a bit with the type-ahead search windows that NemoIconContainer and GtkTreeView pop up; we can control the former, but not the latter, so we need a bit of a hack in NemoListView to prevent the search window to steal the pasted URI, and still not handle the event. https://bugzilla.gnome.org/show_bug.cgi?id=314431 M libnemo-private/nemo-icon-container.c M src/nemo-list-view.c M src/nemo-window.c commit fae5d9242e2edf0881a382ed8cb19599c27cdc49 Author: Cosimo Cecchi Date: 2011-05-23 query-editor: add a border around the query editor widgets https://bugzilla.gnome.org/show_bug.cgi?id=647737 M src/nemo-query-editor.c commit f5e967f964b88ad7e4cc81818e9c0092d842e0a8 Author: Stefano Teso Date: 2011-05-23 connect-server: strip the scheme if it matches the chosen method If e.g. ftp://ftp.example.com is specified as an address, and the FTP method is chosen, we should strip "ftp://" automatically from the address before connecting. https://bugzilla.gnome.org/show_bug.cgi?id=643608 M src/nemo-connect-server-dialog.c commit c17d7bec375b1a8838d6132ccced89da6b092316 Author: Cosimo Cecchi Date: 2011-05-23 location-entry: use symbolic icons for the secondary action hint https://bugzilla.gnome.org/show_bug.cgi?id=647685 M src/nemo-location-entry.c commit b30bda3e1f341b107fbe4f73f1d7b769504d23cd Author: Cosimo Cecchi Date: 2011-05-23 view: add the "view" style class to the icon container Not to the NemoView scrolled windows. M src/nemo-icon-view-container.c M src/nemo-view.c commit c78c3022f07aa790a1f21c48e4ebf62712c6b70f Author: Cosimo Cecchi Date: 2011-05-09 dbus: don't generate the docbook file M libnemo-private/Makefile.am commit 2cf6e53496967b1e00cc026e33c7b63c587c78b4 Author: Cosimo Cecchi Date: 2011-05-09 release: prepare for 3.1.1 M NEWS M configure.in commit ab6436cfa60a7f5088dd92f3d6dec74e0527b086 Author: Cosimo Cecchi Date: 2011-05-09 previewer: avoid creating the dbus proxy more than once M src/nemo-previewer.c commit 16b76b5f97dda14e2c3397345965a07ecc1cd377 Author: Cosimo Cecchi Date: 2011-05-09 previewer: don't warn out if the bus name is not owned by anybody M src/nemo-previewer.c commit a8f2c97e5f67fa1c309cf694f8ca00f5dc38abb9 Author: Cosimo Cecchi Date: 2011-05-01 previewer: don't return a new ref to the singleton It's easier to use this way, and we don't have to create a new DBus proxy every time. M src/nemo-previewer.c M src/nemo-previewer.h M src/nemo-view.c commit 71b8a7a8d66f0c927be9b7c12199d1472043ed66 Author: Alexander Larsson Date: 2011-04-29 Add close_if_already_visible argument to nemo_previewer_call_show_file As per the changes in sushi M src/nemo-previewer.c M src/nemo-previewer.h M src/nemo-view.c commit f087da3353074f7476a563ab62d5ac7cf0d65e41 Author: Cosimo Cecchi Date: 2011-04-27 previewer: drop the x/y coordinates arguments M src/nemo-previewer.c M src/nemo-previewer.h M src/nemo-view.c commit 703c5004a7b05959e3dd554974f28b46df3f0609 Author: Cosimo Cecchi Date: 2011-04-25 previewer: lazily create the DBus proxy M src/nemo-previewer.c M src/nemo-view.c commit e5bf6ef0ec8ca50990aff4afd08a4139d4a75798 Author: Cosimo Cecchi Date: 2011-04-25 debug: add a debug flag for the previewer M libnemo-private/nemo-debug.c M libnemo-private/nemo-debug.h commit 034eeb090458443b97fbe9b601a045defb5435f9 Author: Cosimo Cecchi Date: 2011-04-25 list-view: hook up the previewer in list view No support for icon locations yet, but it's not implemented in the previewer either. M src/nemo-list-view.c commit ccfd4e1c1d9166c78badac8d83958270cf7aef9e Author: Cosimo Cecchi Date: 2011-04-21 all: hook up the previewer with NemoIconView M libnemo-private/nemo-icon-container.c M libnemo-private/nemo-icon-container.h M src/nemo-icon-view.c M src/nemo-view.c M src/nemo-view.h commit 4241ccfd39b6013d2ddd7fbd58aabf5ef1a2302d Author: Cosimo Cecchi Date: 2011-04-21 previewer: add a NemoPreviewer DBus wrapper class M src/Makefile.am A src/nemo-previewer.c A src/nemo-previewer.h commit 9669b91d70ec1cf59933df53f9c22ed16670bb90 Author: Alexander Larsson Date: 2011-05-04 Update all .gitignore files M .gitignore M data/.gitignore M eel/.gitignore M libnemo-private/.gitignore M src/.gitignore commit 7c27c4ce158d09be188b529882ecd5c6b0c17db7 Author: Alexander Larsson Date: 2011-05-04 Convert the nemo dbus support to use gdbus-codegen This required latest glib code to work. M data/Makefile.am A data/dbus-interfaces.xml M libnemo-private/Makefile.am M libnemo-private/nemo-dbus-manager.c commit fa6e44717818d7f9239558f81b90c32dceddf58a Author: Alexander Larsson Date: 2011-05-04 Add size_request to IconContainer to work around unncecessary relayouting The GtkScrolledWindow uses the widget prefered size as a guess as to whether scrollbars are needed or not in the automatic scrollbars case. If we don't report anything for them we typically get it wrong and cause two size allocate calls on the child each time, with different sizes. This (the two sizes speicifically) will cause unnecessary relayouts of the window. So, we just report the current size of the layed out icons as the prefered size. This is somewhat wrong as its depending on previous size_allocation calls rather than the "ideal" size of the widget, but since the ideal size is ignored anyway and just used for this it works well. M libnemo-private/nemo-icon-container.c commit 0cad983521edd476ece360236b6e71e4048bfc70 Author: Alexander Larsson Date: 2011-05-04 Remove old special-cased "select source folder" We now do this generically, so no need to special case it in the "go up" case. M src/nemo-window-slot.c commit b15f61369e3618f4dc2cd3cef5af3698c45706a0 Author: Alexander Larsson Date: 2011-05-04 Always select the folder you "came from" when navigating upwards We used to special case this for the up button, but that now only exists as a keyboard shortcut. This more generic approach gets the same feature also for pathbar navigation and back/forward history navigation. M src/nemo-window-manage-views.c commit e9a7007284b9520855cdbb16fa4724ca0f1739d9 Author: Alexander Larsson Date: 2011-05-04 Really open in new window on the pathbar contect menu item Turns out that we didn't pass the NEW_WINDOW flag in the handler for the LocationOpenAlternate action. This is used when right-clicking on the location label or the pathbar. M src/nemo-view.c commit 41c7cb2ae8fb98fab2cd9b0cfb59cf6dee4d476c Author: Alexander Larsson Date: 2011-05-03 icon-view: Only resort during relayout if necessary We don't need to resort unless e.g. a file changed or was added. Additionally, for weird reason this makes the keyboard focus handling work when deleting a file (file after deleted gets focus). This was broken due to a relayout happening due to a size_allocate due to a style set due to a focus change when going to/from the "are you sure" dialog. M libnemo-private/nemo-icon-container.c M libnemo-private/nemo-icon-private.h commit 31546b509d351e89d8bc0ee23074e8e0ecddbca2 Author: Cosimo Cecchi Date: 2011-05-02 application: don't look at DESKTOP_AUTOSTART_ID anymore Now that we don't support being a session component anymore, it doesn't make sense to special case the session autostart. This also breaks opening new windows when nemo is added to ~/.config/autostart, which is now the supported way of having desktop icons automatically, as we end up reading the env variable every time when parsing the command line (as the original process will always have that set) and refuse to show a window. https://bugzilla.gnome.org/show_bug.cgi?id=649063 M src/nemo-application.c commit e251214df28bc7c0b749d1ba0be1ab2048ecd06c Author: Abduxukur Abdurixit Date: 2011-05-02 Added UG translation M po/ug.po commit a9ea2becdf91c417a64083ecdad5f80fb97e6e51 Author: Daniel Korostil Date: 2011-05-02 Uploaded Ukranian M po/uk.po commit 495cb46d54f0b551756c71fb6d5ba60e67f08d61 Author: Cosimo Cecchi Date: 2011-05-01 places-sidebar: disconnect from bookmark list changed signal on dispose This should hopefully fix this crash https://bugzilla.redhat.com/show_bug.cgi?id=699184 M src/nemo-places-sidebar.c commit ac70a95ecc44ba259b684f737bb108f1458fa9dc Author: Cosimo Cecchi Date: 2011-05-01 mime-actions: don't free the activation parameters early This fixes a segfault when clicking on the "Select Application" button when opening a file with no default applications, like in https://bugzilla.redhat.com/show_bug.cgi?id=699850 M src/nemo-mime-actions.c commit 3676b08856c4d6cc0a827e9de8f708edefdf2e44 Author: Cheng-Chia Tseng Date: 2011-05-01 Updated Traditional Chinese translation(Hong Kong and Taiwan) M po/zh_HK.po M po/zh_TW.po commit 61502a06524dd9dffac9d2ae97e9a57037343b28 Author: Daniel Nylander Date: 2011-05-01 Updated Swedish translation M po/sv.po commit 902b0cd4cc1848b44fb2445ebcc0f8157cdc092f Author: Matej UrbanÄiÄ Date: 2011-04-28 Updated Slovenian translation M po/sl.po commit 254ad76a6f861b4846cb53907dd580fb81a96b05 Author: Cosimo Cecchi Date: 2011-04-28 progress-ui-handler: don't add progress infos to the window twice We were adding them twice in case there was already one operation running. https://bugzilla.gnome.org/show_bug.cgi?id=648857 M src/nemo-progress-ui-handler.c commit 8e8f0ed6edd3c5d4f9cca0e07a5624a3d5e2ec29 Author: Cosimo Cecchi Date: 2011-04-28 places-sidebar: make sure to return if we click inside empty space https://bugzilla.gnome.org/show_bug.cgi?id=648872 M src/nemo-places-sidebar.c commit f850fcc0eee61014472e698e6bdd36093ff9dfe2 Author: Andrej ŽnidarÅ¡iÄ Date: 2011-04-27 Updated Slovenian translation M po/sl.po commit a21e3e21940b84f93e0e82320ccfbb6e9a9f2cc3 Author: Cosimo Cecchi Date: 2011-04-27 places-sidebar: use per-side border widths for the sidebar frames This adds a border to the sidebar. M data/nemo.css M src/nemo-places-sidebar.c commit f6dc5f319fb79203bd7645e49420d2a4b57c0373 Author: Cosimo Cecchi Date: 2011-04-25 toolbar: set the icon size to SMALL_TOOLBAR So that the Search button icon is drawn with a smaller size. M src/nemo-toolbar.c commit 3cf09dc4e47ca0db181dd34af22977b8e91cf0f9 Author: Ask H. Larsen Date: 2011-04-25 Updated Danish translation M po/da.po commit 7a8f54b3bbff53b17d46dc6306636852636d1609 Author: Stefano Teso Date: 2011-04-25 places-sidebar: fix opening of selected items by pressing Enter Don't use get_cursor() to open the current item in the sidebar, and use the tree selection instead, as we modify the selection manually when evaluating up/down keypresses. https://bugzilla.gnome.org/show_bug.cgi?id=648555 M src/nemo-places-sidebar.c commit 83a7d27b36120d1ae54a2f5aa4af30f04d470bf2 Author: Cosimo Cecchi Date: 2011-04-25 icon-container: don't chain up style-updated for the desktop container Chaining up resets the background to the default color, which is not what we want for the desktop container. https://bugzilla.gnome.org/show_bug.cgi?id=648137 M libnemo-private/nemo-icon-container.c commit f0d52a7a29ca0b503ed160bd21e4f1a3354f6394 Author: Abduxukur Abdurixit Date: 2011-04-24 Added UG translation M po/ug.po commit e218bff9a4f790f0915f342d764559ee399fa8ee Author: Jiro Matsuzawa Date: 2011-04-25 Updated Japanese translation M po/ja.po commit 7288e91d77f63f4014fa5247bd8a59849f302871 Author: Arash Mousavi Date: 2011-04-23 Updated Persian translation M po/fa.po commit 2f070016690ec488b1ac46d6ab2faf860e0c59b6 Author: Bruce Cowan Date: 2011-04-20 Updated British English translation M po/en_GB.po commit 630fb578c1d86d4c14118025e9c33c8959d6ecf2 Author: YunQiang Su Date: 2011-04-17 fix a mistake of Chinese(Simplified) translation M po/zh_CN.po commit 4a69d60ecf5c6b48492e7dafda7a77e719f9f060 Author: Nguyá»…n Thái Ngá»c Duy Date: 2011-04-14 Updated Vietnamese translation M po/vi.po commit 679486ff6db16138027aa85c2aadbb9d272bc984 Author: Cosimo Cecchi Date: 2011-04-12 places-sidebar: make sure the eject icon is rendered 16x16 https://bugzilla.gnome.org/show_bug.cgi?id=647570 M src/nemo-places-sidebar.c commit fde63a6c6f0484f7284fd57ff26abe9d41c93196 Author: Daniel Mustieles Date: 2011-04-11 Updated Spanish translation M po/es.po commit 902aac532bac0da871591bbe481673d2c2d83907 Author: Ã…smund Skjæveland Date: 2011-04-11 Updated Norwegian Nynorsk translation M po/nn.po commit 6c7bd69033676d2e3f5c25b4308bd59e9d540bda Author: Ã…smund Skjæveland Date: 2011-04-11 Updated Norwegian Nynorsk translation M po/nn.po commit fdbca53ae2e7c387d05136656fd9c75fd982c863 Author: Alexander Shopov Date: 2011-04-10 Updated Bulgarian translation M po/bg.po commit a96761350ad422ec084c12f649562f9a2a83963d Author: Cosimo Cecchi Date: 2011-04-08 window: treat regular files as selection when opening a location This allows to call `nemo uri:///path/to/file` from the command line to open uri:///path/to with file pre-selected. https://bugzilla.gnome.org/show_bug.cgi?id=632427 M src/nemo-window-manage-views.c commit 3751310f941ed5df4a2a027ab594df015b3f815c Author: Yaron Shahrabani Date: 2011-04-08 Updated Hebrew translation. M po/he.po commit 07a6fb24fda755288346f11afb670cb3c05028fe Author: Cosimo Cecchi Date: 2011-04-07 icon-container: clear the drag state before popping up context menu Otherwise, a fake drag state will leak into the next motion-notify event when the menu has been dismissed, causing a segfault. https://bugzilla.gnome.org/show_bug.cgi?id=550253 M libnemo-private/nemo-icon-container.c commit d8b632765ca1b70d909d4e206f40590ee379a305 Author: Cosimo Cecchi Date: 2011-04-07 search-bar: set redraw_on_allocate(), like GtkInfoBar does This fixes artifacts while resizing. A similar patch was committed to GtkInfoBar in https://bugzilla.gnome.org/show_bug.cgi?id=587716. https://bugzilla.gnome.org/show_bug.cgi?id=647013 M src/nemo-search-bar.c commit e6dc21ba3b908ed93e08e39731733c871a91e171 Author: Paul Seidler Date: 2011-04-07 libnotify: need at least 0.7.0 https://bugzilla.gnome.org/show_bug.cgi?id=647088 M configure.in commit a8539a688bf83e1ab79167e257df308d1424a103 Author: Cosimo Cecchi Date: 2011-04-07 icon-container: reset the double click counter after a double click If we don't do this, we ignore any other double click event that happen during the next 'gtk-double-click-time' interval after the first double click. Thanks to Tanyel A. Nimeu for the initial patch. https://bugzilla.gnome.org/show_bug.cgi?id=647062 M libnemo-private/nemo-icon-container.c commit f200bfbe8332c0df74335f608f68350609e435d7 Author: Cosimo Cecchi Date: 2011-04-07 preferences: use g_settings_bind_with_mapping() for radiobuttons This also fixes radiobuttons preferences not being applied when opening the properties dialog. https://bugzilla.gnome.org/show_bug.cgi?id=644478 M src/nemo-file-management-properties.c commit 392359db6d6496b325044d809d96b034a2298514 Author: Cosimo Cecchi Date: 2011-04-07 conflict-dialog: make the rename entry expand the whole width M libnemo-private/nemo-file-conflict-dialog.c commit 1457f53c27f6d2f84d0c9eb76c1c8cffd1177e95 Author: Cosimo Cecchi Date: 2011-04-07 conflict-dialog: don't force a size request on the labels This is not required anymore in GTK+ 3 M libnemo-private/nemo-file-conflict-dialog.c commit b8077a7ad65f54e397dd3fa1b32f97b838ba590e Author: Cosimo Cecchi Date: 2011-04-07 conflict-dialog: don't forget to show the primary label Reported in https://bugzilla.redhat.com/show_bug.cgi?id=693922 M libnemo-private/nemo-file-conflict-dialog.c commit f100883058fac79a913d93d1d1157498c87d7912 Author: Fran Diéguez Date: 2011-04-07 Updated Galician translations M po/gl.po commit f49b62649a092a56e2cf6203db0fef08d2ed7618 Author: Cosimo Cecchi Date: 2011-04-06 pathbar: use a NemoFile instead of a GFile as a drag target The NemoFile tracks changes in the file name, so it solves the bug reported in https://bugzilla.gnome.org/show_bug.cgi?id=581748 M src/nemo-pathbar.c M src/nemo-window-slot-dnd.c M src/nemo-window-slot-dnd.h commit 8905b1f91253cfe36fa2c42e179831097b3c9aec Author: Wouter Bolsterlee Date: 2011-04-06 Updated Dutch translation by Wouter Bolsterlee M po/nl.po commit 13793fdc3f5fd884ff5f92093244157b751bd185 Author: Cosimo Cecchi Date: 2011-04-06 window: don't avoid same-uri reloads for the desktop Otherwise it will not reload when toggling desktop-is-home-dir. M src/nemo-window-manage-views.c commit 90b2084cf3f6be689b250ddfd318e33f19f8420d Author: Cosimo Cecchi Date: 2011-04-06 desktop-window: always reset is_loaded when setting the real directory M src/nemo-desktop-window.c commit 25aa3e7f391c905236397a38cf052b0b12bc792a Author: Cosimo Cecchi Date: 2011-04-06 desktop-window: disconnect the gsettings handler on dispose M src/nemo-desktop-window.c commit 8ade659212745eb91631e00d8e878e919a13858a Author: Cosimo Cecchi Date: 2011-04-06 icon-container: don't setup the regular background on the desktop M libnemo-private/nemo-icon-container.c commit ec447586d5f7a5f60f21436a868cfe28d315f1f1 Author: Cosimo Cecchi Date: 2011-04-06 places-sidebar: always add Home as a built-in place M src/nemo-places-sidebar.c commit f9bd05d254555e70ee5295fe08919a8c9d94ca79 Author: Cosimo Cecchi Date: 2011-04-06 places-sidebar: fix a typo in the GSettings key we listen to M src/nemo-places-sidebar.c commit 19d420a28b47723d8e7deb7561cc714be336e655 Author: Cosimo Cecchi Date: 2011-04-06 window-menus: use U+2013 EN DASH in the author copyright string https://bugzilla.gnome.org/show_bug.cgi?id=646735 M src/nemo-window-menus.c commit 6dbb7d159cfc277815d990dd157e2020608698a5 Author: Marvin Schmidt Date: 2011-04-05 configure: Fix libexif check https://bugzilla.gnome.org/show_bug.cgi?id=646849 M configure.in commit 77ba57813e5eaa1fc8260f6e56ef7645093be690 Author: Rodrigo Padula de Oliveira Date: 2011-04-05 Updated Brazilian Portuguese translation M po/pt_BR.po commit 9db9888bea1f0084055bf653cfb46e7b000647c9 Author: Bruno Brouard Date: 2011-04-05 Updated French translation M po/fr.po commit 319ded082ce47f384db3bfc9d7cab2fbe80e1a85 Author: Amitakhya Phukan Date: 2011-04-05 Updated Assamese translations M po/as.po commit 5f190c65784ff9b2b72e36cd0018dfbfab524b98 Author: Daniel Nylander Date: 2011-04-05 Updated Swedish translation M po/sv.po commit aaaee6de758f70005ffdd343a4b7354e3664f471 Author: Cosimo Cecchi Date: 2011-04-04 icon-container: rework the colors used for additional text labels We now use the insensitive color for the normal state, and make them follow the filename color for selected states. This also fixes https://bugzilla.gnome.org/show_bug.cgi?id=319982, tested with the HighContrast theme. M data/nemo.css M libnemo-private/nemo-icon-container.c commit ced6d22409c3a849b86b75bb867f267a3cdad800 Author: Cosimo Cecchi Date: 2011-04-04 window-menus: don't hardcode year values in the translatable string https://bugzilla.gnome.org/show_bug.cgi?id=646735 M src/nemo-window-menus.c commit bb6578da85fff3d28e6a71f9933b1bd34e7c27bc Author: Chao-Hsiung Liao Date: 2011-04-05 Updated Traditional Chinese translation(Hong Kong and Taiwan) M po/zh_HK.po M po/zh_TW.po commit edd3c43beb5efbc13f55d73e8c9818966a031ad1 Author: Cosimo Cecchi Date: 2011-04-04 dnd: rework handling of _NETSCAPE_URL dnd links Previously we used to to the following: * default to always "ask", unless the copy was explicit * when dropped, we did not actually ask anything but we would trigger an async mimetype query_info and: - trigger a file asking whether to download or to link for text files - silently link for HTML files - silently download for every other mimetype * if the query_info was not completed within one second, we would download by default This is somewhat broken, as the DnD icon is not what you would expect; also downloading is not usually done with DnD from the browser, and it's also expensive, so it should never be the default, but an explicit choice. It also makes it impossible to create links for anything else than text or HTML. Change the policy to always link by default, unless the user explicitly requests the copy. M libnemo-private/nemo-dnd.c M src/nemo-view-dnd.c commit 2afe78a92cc402207e7f3a0189eca95311651076 Author: Cosimo Cecchi Date: 2011-04-04 file: use a GIcon to store the custom icon of desktop files Instead of a filename string. This also has the side-effect of fixing https://bugzilla.gnome.org/show_bug.cgi?id=615509 M libnemo-private/nemo-directory-async.c M libnemo-private/nemo-file-private.h M libnemo-private/nemo-file.c M libnemo-private/nemo-link.c M libnemo-private/nemo-link.h commit e68c6e071915fe680ed44e824ccafdb1470a39bb Author: Jordi Serratosa Date: 2011-04-04 [l10n]Fixes on Catalan translation M po/ca.po commit 3f17316c34335a9ea8a82d8940506759d88c6fcd Author: Joan Duran Date: 2011-04-04 [l10n]Updated Catalan translation M po/ca.po commit 07c70ab3a65f1d67293a467b742dda729b85156b Author: Jamil Ahmed Date: 2011-04-05 Updated Bengali translation M po/bn.po commit 35311e217ac8f11e97628316c35d6093589507b0 Author: Cosimo Cecchi Date: 2011-04-04 thumbnails: remove unused struct definition M libnemo-private/nemo-thumbnails.c commit 93a0d7fd735c1670c0787c3daa7f84003994da5d Author: Cosimo Cecchi Date: 2011-04-04 thumbnails: remove obsolete check for GLib < 2.14 compatibility M libnemo-private/nemo-thumbnails.c commit f9c6ca979f753339b91c125c363a927fceb64283 Author: Cosimo Cecchi Date: 2011-04-04 thumbnails: remove code unused for years M libnemo-private/nemo-thumbnails.c commit 088d0968f837364374bdea20eda0fa4534338202 Author: Daniel Mustieles Date: 2011-04-04 Updated Spanish translation M po/es.po commit 367572b907d1cd970135e546b3237522b9720c7d Author: Cosimo Cecchi Date: 2011-04-03 application: don't redirect windows on computer:// when unmounting It's confusing now that we don't have a desktop. Redirect to the user home instead. This also has the side effect of fixing https://bugzilla.gnome.org/show_bug.cgi?id=615963 M src/nemo-application.c commit b37f08ef618b6418711a7c70ff7485961bc9058d Author: Cosimo Cecchi Date: 2011-03-31 places-sidebar: don't return TRUE in button-release when we eject Otherwise the GtkTreeView default handler won't run cleaning up what it set up in button-press-event and the next motion-event will trigger the DnD to begin. https://bugzilla.gnome.org/show_bug.cgi?id=646302 M src/nemo-places-sidebar.c commit 2644c6ef4e7839e976d4861d6c86e16e34d46a13 Author: Cosimo Cecchi Date: 2011-03-31 icon-canvas-item: make sure to reset the default cursor ond destruction We might be destroyed while hovering while in single-click mode, so make sure the default cursor is always cleared when finalizing, if we didn't get a leave event. https://bugzilla.gnome.org/show_bug.cgi?id=315023 M libnemo-private/nemo-icon-canvas-item.c commit a47b2efd9b265f92e306e855ede0af3f19881f0c Author: Cosimo Cecchi Date: 2011-04-04 build: bump version to 3.1.0 on master M configure.in commit 7c3ba0e86f5b6ba4859457c1fd57f6f443601cab Author: Yuri Myasoedov Date: 2011-04-04 Updated Russian translation M po/ru.po commit 60ecc80a6057ebb5605f1ef1eb51e6cf8785a1e1 Author: Piotr DrÄ…g Date: 2011-04-04 Updated Polish translation M po/pl.po commit 2641de616d77df714d743a58a52228a6632a1df1 Author: Wolfgang Stöggl Date: 2011-04-04 [l10n] Updated German translation M po/de.po commit 635d472128e9687daa3b466f43765ee116921712 Author: Lukas Lommer Date: 2011-04-04 Updated Czech translation M po/cs.po commit 6efe6113d1a2ee61eaf2feed818689f25023e687 Author: Cosimo Cecchi Date: 2011-04-04 release: release 3.0.0 The future is now. M NEWS M configure.in commit acce5e1c70e10ef550cfed888a852e5048dc4b3d Author: Cosimo Cecchi Date: 2011-04-04 release: update AUTHORS M AUTHORS M src/nemo-window-menus.c commit 681e24ae18f5f4cf6275171154383fb0aeaf1d1a Author: Cosimo Cecchi Date: 2011-04-04 release: require the latest stable versions of our dependencies M configure.in commit 278425bbcd806571f7d5369e53a15d5f22e51551 Author: Cosimo Cecchi Date: 2011-04-03 window: make sure we always force opening in new windows on the desktop https://bugzilla.gnome.org/show_bug.cgi?id=646548 M src/nemo-window-manage-views.c commit 68b57af6e476253b36d8652a681bade6facbd259 Author: Cosimo Cecchi Date: 2011-04-03 places-sidebar: disconnect the gsettings handler callback in _dispose() The GSettings object is a global singleton, so it will always survive the sidebar; we should make sure to disconnect all the settings signal when destroying the sidebar. https://bugzilla.gnome.org/show_bug.cgi?id=646664 M src/nemo-places-sidebar.c commit d4cce11671471427f1b62fc658e05d4f6637b3e9 Author: Chao-Hsiung Liao Date: 2011-04-04 Updated Traditional Chinese translation(Hong Kong and Taiwan) M po/zh_HK.po M po/zh_TW.po commit 42d58b3db4b639521c0346ec8d9afc3f60c30603 Author: Inaki Larranaga Murgoitio Date: 2011-04-04 Updated Basque language M po/eu.po commit 4611ba0cd09b1c63c67930f72c90edb2e4f3b83e Author: Wolfgang Stöggl Date: 2011-04-03 [l10n] Updated German translation, umlauts fixed M po/de.po commit b35740dd52162a87a19ef8ed6a56a6736e5736ec Author: Nguyá»…n Thái Ngá»c Duy Date: 2011-04-03 Updated Vietnamese translation M po/vi.po commit b67ee41bc6601fc26bea2457dc8865e0df5e5f98 Author: Piotr DrÄ…g Date: 2011-04-02 Updated Polish translation M po/pl.po commit ce1f95f6f8ee17cb7613564295566ffd99d8e930 Author: Shankar Prasad Date: 2011-04-02 Updated kn translations M po/kn.po commit c6fc0d81c87f6c3bdfb457a98fbb386dfa36683e Author: Shankar Prasad Date: 2011-04-02 Updated kn translations M po/kn.po commit 333ce240832b66f46d8b9bfdfa4b294c1bf26fbd Author: Shankar Prasad Date: 2011-04-02 Updated kn translations M po/kn.po commit 7ddc0b3bb207fe0b9243b90f1c73b0bcf76490d4 Author: Nguyá»…n Thái Ngá»c Duy Date: 2011-04-02 Updated Vietnamese translation M po/vi.po commit 6fc1a0b5cedba6dc28dc995eb7a0688869239c71 Author: Nguyá»…n Thái Ngá»c Duy Date: 2011-04-02 po/vi.po: import from Damned Lies M po/vi.po commit 0a10d4355e2e144d6731fa12a981841e1ea7b9b9 Author: Gabor Kelemen Date: 2011-04-01 Updated Hungarian translation M po/hu.po commit c6279ac229545d7f64b64212383df2753482e233 Author: Giorgio F. Gilestro Date: 2011-04-01 Fix up accidental error in last commit The accelerator ended up as stock id instead. M src/nemo-view.c commit cce40272e35b20b4aaf5f93109a05b7bb89704d5 Author: Giorgio F. Gilestro Date: 2011-04-01 Use ctrl-delete as the keyboard shortcut to trash files This change was made to make it harder to accidentally trigger a file delete. We still support the trash that will let you get a trashed file back, and we will get undo support to make this even easier. However, that only works if you know you deleted the wrong file, not if you accidentally hit delete while the nemo window was focused. M src/nemo-view.c commit 803783c2479258aad8f2278dde95101b9e4b90ca Author: Shankar Prasad Date: 2011-04-01 Updated kn translations M po/kn.po commit e72093c2b0490b481a6b894bf84dd46075b7ef21 Author: Jiro Matsuzawa Date: 2011-03-31 Updated Japanese translation. M po/ja.po commit 952269914060f48f941053120e6035440c8cfc6f Author: Милош Поповић Date: 2011-03-31 Added Serbian translation M po/sr.po M po/sr@latin.po commit 7421f629c9493344846890a46e475667b9aae0b1 Author: Dr.T.Vasudevan Date: 2011-03-31 Updated Tamil translation M po/ta.po commit d011084103db0ace13a7011d53f68cf9a3489464 Author: Dr.T.Vasudevan Date: 2010-12-03 Updated Tamil translation M po/ta.po commit 80fab3f7a7447efbd4323cf372f846d4d59141a5 Author: Cosimo Cecchi Date: 2011-03-30 release: update for 2.91.94 M NEWS M configure.in commit f294a4e80626793624d76d6002b094d1c0809de4 Author: Alexander Larsson Date: 2011-03-30 Fix up eject button hover in places sidebar We were calling gtk_tree_view_column_cell_get_position() without properly loading the cell attribute for the right row before. We fix this by calling gtk_tree_view_column_cell_set_cell_data(). With this in place we can also use the x_offset for the position and avoid the whole summing of widths. Due to a bug in Gtk which expands the eject icon cell renderer we have to right align it so that it lines up properly. https://bugzilla.gnome.org/show_bug.cgi?id=640741 M src/nemo-places-sidebar.c commit b57c42f7fbe7fd90cdc6ff59b2f7c160dd3198af Author: Chao-Hsiung Liao Date: 2011-03-30 Updated Traditional Chinese translation(Hong Kong and Taiwan) M po/zh_HK.po M po/zh_TW.po commit 3fd5eda0fc01f56ce9ae9b68b744651d73342259 Author: Ask H. Larsen Date: 2011-03-30 Updated Danish translation M po/da.po commit cf21e9aa47c67861422ada02c7fa327340d63140 Author: Cosimo Cecchi Date: 2011-03-29 pathbar: keep a ref to the GFile while updating the path When desktop-is-home-dir changes, we force a re-layout of all the buttons, which in turn unrefs the passed-in GFile, as the ref would belong to an old button. Fix this by assuming a ref while calling nemo_path_bar_update_path(). https://bugzilla.gnome.org/show_bug.cgi?id=551543 M src/nemo-pathbar.c commit aed2cce6c36543457f5f1ad8f8c05f2fa147b1f2 Author: Matej UrbanÄiÄ Date: 2011-03-29 Updated Slovenian translation M po/sl.po commit e7d80384ab00d52149452e77cd566ee381474b36 Author: Gintautas Miliauskas Date: 2011-03-29 Updated Lithuanian translation. M po/lt.po commit 85ae5ae7e3174c05199ff6557c1cc905ad1d1075 Author: Sandeep Shedmake Date: 2011-03-29 Updated Marathi Translations M po/mr.po commit 08665d5c7ae146c45f5f9855b3ea60c22b1372ad Author: Lukas Lommer Date: 2011-03-29 Updated Czech translation M po/cs.po commit d01f3377a2724bb6582f13c48f7cd1b97b1b869b Author: Lukas Lommer Date: 2011-03-29 Updated Czech translation M po/cs.po commit c7c860a264db211a0a68ee963ce29c7fcb2ad334 Author: Alexander Larsson Date: 2011-03-28 Make sure we free custom accessibility objects Custom accessibility objects, such as NemoIconContainerAccessible need to be freed when their corresponding widget/object dies, right now we're not unreferencing the accessible, so its always leaked. M eel/eel-accessibility.c commit 69a3e83971e2f0963d0c68f4b3e84612ff4032e8 Author: Shaun McCance Date: 2011-03-27 Fixing help buttons to go to new gnome-help pages M src/nemo-bookmarks-window.c M src/nemo-connect-server-dialog.c M src/nemo-file-management-properties.c M src/nemo-properties-window.c M src/nemo-view.c M src/nemo-window-menus.c commit ac6ec79231cf3d0cbd076ea5a76b154c9930df68 Author: Henrique P. Machado Date: 2011-03-27 Updated Brazilian Portuguese translation. M po/pt_BR.po commit fed40498e77eb037826391eabdf5f359ad72ba78 Author: Abduxukur Abdurixit Date: 2011-03-27 Added UG translation M po/ug.po commit ca8392d39f57dcbc17d2de84c90fb4e4d473f074 Author: Ivan Masár Date: 2011-03-27 Updated Slovak translation M po/sk.po commit 0889c0e56d13329a835324cf20160a69591a6757 Author: Yuri Myasoedov Date: 2011-03-27 Updated Russian translation M po/ru.po commit 5c34337057c96621d2d43690b262eab98c287a1a Author: Kjartan Maraas Date: 2011-03-26 Updated Norwegian bokmÃ¥l translation M po/nb.po commit 4e75a3b805b007c863ad2eb4b3be62a97249c33d Author: Cosimo Cecchi Date: 2011-03-25 icon-view: clear the icon view when destroying it This ensures all NemoFiles are properly unreffed when destroying the view, and fixes a leak. M src/nemo-icon-view.c commit 199e5adb8a51c9cd54a644de60b01d9c0cd2170d Author: Cosimo Cecchi Date: 2011-03-25 release: update for 2.91.93 M NEWS M configure.in commit 7268e3f449a7ae762dcc5b72cb8a36d7ed3362e2 Author: Alexander Larsson Date: 2011-03-25 Don't leak sidebar widgets Sidebar widgets are normal widgets these days and should be standard floating stuff owned by the container they end up with. So, we should no longer ref_sink them. M src/nemo-places-sidebar.c M src/nemo-tree-sidebar.c commit d781d414e40840422c201dd61637135358c75ab3 Author: Alexander Larsson Date: 2011-03-25 Don't leak NemoFile for bookmarks in places sidebar M src/nemo-places-sidebar.c commit 695efe7cb3f9a96e7c870c36d30e2759d800d2d5 Author: Alexander Larsson Date: 2011-03-25 Better debugging for NemoDirectory leaks M libnemo-private/nemo-directory.c commit 1d48f02ea1bf274d8fb0d70b61bed337bbda06c2 Author: Alexander Larsson Date: 2011-03-25 Add custom foreach to eel_g_hash_table_new_free_at_exit This can be used to get some sort of printout for leaks in non-string hashtables. M eel/eel-glib-extensions.c M eel/eel-glib-extensions.h M eel/eel-stock-dialogs.c M eel/eel-string.c M libnemo-private/nemo-directory-async.c M libnemo-private/nemo-directory.c M libnemo-private/nemo-file.c M src/nemo-properties-window.c commit 1a8aadd2d02554a308c33a2b88b95c6d7ef5be7f Author: Lukas Lommer Date: 2011-03-24 Updated Czech translation M po/cs.po commit 101796d8b02133f238a757e4d754915e1d276095 Author: Kjartan Maraas Date: 2011-03-22 Updated Norwegian bokmÃ¥l translation M po/nb.po commit f45510bbb82d6ffa23bf8a54b8596fb5f34ae5e3 Author: Mattias Põldaru Date: 2011-03-22 [l10n] Updated Estonian translation M po/et.po commit 41fd10dafd7fe0240dc13bf33140e8aa22d87333 Author: Cosimo Cecchi Date: 2011-03-21 Update for 2.91.92 M NEWS M configure.in commit 2cf698346aca25a48a11edeccc34530e15843a6a Author: Cosimo Cecchi Date: 2011-03-21 file-operations: update the test to the new duplicate string behavior The test was in some cases checking for what we don't actually want to happen. Change it to match current behavior. M libnemo-private/nemo-file-operations.c commit 40947ed576b14777eb3106a3b0350b471455905d Author: Cosimo Cecchi Date: 2011-03-21 file-operations: make sure to handle correctly hidden files extensions This is a fixup of c250b5702329e71c61f6e7f4e26227925c5b1e90 M libnemo-private/nemo-file-operations.c commit 1f31ab18d932a778aa409dd3cadffb34d5f4ae54 Author: Cosimo Cecchi Date: 2011-03-21 css: apply a soft gradient to the floating bar. M data/nemo.css commit 9dc263518f71a2a06ec808be79c2bc0a9fe17129 Author: Cosimo Cecchi Date: 2011-03-21 window: make sure to never show the floating bar on the Desktop https://bugzilla.gnome.org/show_bug.cgi?id=644172 M src/nemo-desktop-icon-view.c M src/nemo-window-manage-views.c M src/nemo-window-slot.c M src/nemo-window.c commit c250b5702329e71c61f6e7f4e26227925c5b1e90 Author: Cosimo Cecchi Date: 2011-03-21 Properly strip extensions when placing the duplication string We use a similar matching filter to the one we use when renaming. It's not ideal (mimetypes are hardcoded, and probably some are missing), but at least we're consistent. https://bugzilla.gnome.org/show_bug.cgi?id=351290 M eel/eel-vfs-extensions.c M eel/eel-vfs-extensions.h M libnemo-private/nemo-file-operations.c commit e0726b71cbbe3ddd9548546991a30951ecc1f21e Author: Cosimo Cecchi Date: 2011-03-21 slot: don't ref the view returned by _get_current_view() https://bugzilla.gnome.org/show_bug.cgi?id=643968 M src/nemo-window-slot-dnd.c M src/nemo-window-slot.c commit 2d71f734864647c23aa3e35374da9058beb0dc2e Author: Kristjan SCHMIDT Date: 2011-03-21 Updated Esperanto translation M po/eo.po commit ddc303bc2b23704911299ba28aab3f0e74fb88ee Author: Kristjan SCHMIDT Date: 2011-03-21 Updated Esperanto translation M po/eo.po commit 1ac3b5dd7100e75d8d579e7dc4c6fabb192a2dee Author: Kristjan SCHMIDT Date: 2011-03-21 Updated Esperanto translation M po/eo.po commit 76e10b322b5e0689c16881f10a3854e207a44c09 Author: Cosimo Cecchi Date: 2011-03-21 places: hide "Open in new Tab/Window" when using separate windows M src/nemo-places-sidebar.c commit 2cd9c4b84059f3e00ed6222ab43c34a974e2c550 Author: Cosimo Cecchi Date: 2011-03-21 view: cleanup "Open in new Tab/Window" items when using separate windows We were displaying a lot of useless entries in the menus in such case. M src/nemo-actions.h M src/nemo-directory-view-ui.xml M src/nemo-view.c commit 572ded742f9146a6bca8f5000804f291338db9b8 Author: Stefano Teso Date: 2011-03-21 view: set the right open flags when opening in a new window https://bugzilla.gnome.org/show_bug.cgi?id=644675 M src/nemo-view.c commit 58e544c260349a01242f40769e61e9b7098069fd Author: Cosimo Cecchi Date: 2011-03-21 window-pane: toggle the search button when showing a saved search https://bugzilla.gnome.org/show_bug.cgi?id=645027 M src/nemo-window-pane.c M src/nemo-window-slot.c commit 111be78c86bc824b291d9b402a2ff897b2fa2dc7 Author: Cosimo Cecchi Date: 2011-03-21 query-editor: make all the labels' appearance consistent M src/nemo-query-editor.c commit c863defffa222ec60eff29c5f31ab73131799912 Author: Cosimo Cecchi Date: 2011-03-21 query-editor: theme the query editor like the other cluebars M data/nemo.css M src/nemo-query-editor.c M src/nemo-query-editor.h commit 1469c27280be10a92aa92195023eb1bbf4a5d10c Author: Cosimo Cecchi Date: 2011-03-21 file-utilities: return "Home" as a title for the home directory Make it consistent with the rest of the UI. https://bugzilla.gnome.org/show_bug.cgi?id=645136 M libnemo-private/nemo-file-utilities.c commit dac5908d505542362cc51c5c21e0b9220715395a Author: Cosimo Cecchi Date: 2011-03-21 pathbar: don't unconditionally iterate over buttons when scrolling This should fix https://bugzilla.gnome.org/show_bug.cgi?id=645198 M src/nemo-pathbar.c commit a2d928754e9b65ce9c7ac93127b61abdd7cbb2f4 Author: Dirgita Date: 2011-03-20 Updated Indonesian translation M po/id.po commit 8129f1c78ac57aa96588228489860c315ef265c2 Author: Rudolfs Mazurs Date: 2011-03-19 Updated Latvian translation. M po/lv.po commit 71548f90dfe368b2ce3396bef6d2099e3b800bdf Author: Wouter Bolsterlee Date: 2011-03-19 Updated Dutch translation by Wouter Bolsterlee M po/nl.po commit 83587589effec5b76a6dd7032f374db4135fae12 Author: Gabor Kelemen Date: 2011-03-19 Updated Hungarian translation M po/hu.po commit 8094cacbdf5914f2a50c1a17cb93701890aafec3 Author: Lucian Adrian Grijincu Date: 2011-03-17 Updated Romanian translation M po/ro.po commit 9d27856f2e62479eca0adae87f1cf6f1bf6cf92c Author: Lucian Adrian Grijincu Date: 2011-03-17 Updated Romanian translation M po/ro.po commit e2bfbbd6d8ae577bb16cd215a2d106dcc31f6d8a Author: Cosimo Cecchi Date: 2011-03-17 view: use GTK_STYLE_CLASS_VIEW for NemoView So that NemoIconContainer also inherits the proper style class. M src/nemo-view.c commit 9c65f3b6675fb927a96a7dd52d6fec4eb700adce Author: Cosimo Cecchi Date: 2011-03-17 window: use GTK_STYLE_CLASS_SIDEBAR for the nemo sidebar M configure.in M data/nemo.css M src/nemo-window.c commit 32fdd13a6e92f9e36dc8476043c4b93f61a6eca9 Author: Gintautas Miliauskas Date: 2011-03-17 Updated Lithuanian translation. M po/lt.po commit f70c2c981adb794bf996b077f2dcfa299d689e61 Author: Mario Blättermann Date: 2011-03-17 [l10n] Updated German translation M po/de.po commit 99d84db2ccc8b7cd998a6704cc34b83cbcac4760 Author: Cosimo Cecchi Date: 2011-03-15 window-pane: use _split_view_off() to close the active pane with Ctrl+W This makes nemo' behavior consistent with what happens when F3 is pressed. M src/nemo-window-pane.c commit 633929a88b8941a4b817bd34b27ce5d8fbe3a804 Author: Cosimo Cecchi Date: 2011-03-15 css: theme the search bar and the cluebar with the proper colors M data/nemo.css commit 515610602463758c08d4ce5514219a83c3e05bfe Author: Cosimo Cecchi Date: 2011-03-15 search-bar: rework to make it more similar to the 3.0 mockups This involves rendering a background over the box, using symbolic icons and other goodness. M src/nemo-search-bar.c M src/nemo-toolbar.c commit 319cda6e9430b4aa74e052ee41086d82fc5bb530 Author: Cosimo Cecchi Date: 2011-03-15 window-slot: cleanup packing of extra widgets Don't pack them in a frame+eventbox, but just use the GtkBox. M src/nemo-window-slot.c M src/nemo-window-slot.h commit d73ded51a677700ad76201851af255f5ba6192d3 Author: Cosimo Cecchi Date: 2011-03-15 x-content-bar: make NemoXContentBar a GtkInfoBar M src/nemo-x-content-bar.c M src/nemo-x-content-bar.h commit 3b3fe092c77b685516495ae8239d6b5aa7c37072 Author: Cosimo Cecchi Date: 2011-03-15 trash-bar: make NemoTrashBar a GtkInfoBar M src/nemo-trash-bar.c M src/nemo-trash-bar.h commit a2df8af91ed91934c16a0a959c1e178b2849c46e Author: Fran Diéguez Date: 2011-03-15 Updated Galician translations M po/gl.po commit 45945cd45776a020b1f8ce5e61c0db7faa1895f4 Author: Cosimo Cecchi Date: 2011-03-15 window: add back the resize grip At the same time, add a bit more padding to the floating bar label, so that it won't be covered by the grip. Remove some margin at the bottom of the window too. M data/nemo.css M src/nemo-floating-bar.c M src/nemo-window.c commit ad8dd8389670d85e8afacb58dc7971cc2b81b9eb Author: Cosimo Cecchi Date: 2011-03-15 window-slot: let the "Loading" floating bar appear only after a timeout It will appear only if loading takes more than 500ms. M src/nemo-window-manage-views.c M src/nemo-window-slot.c M src/nemo-window-slot.h commit 275744644c95cc039efae7029a94814b47274ff7 Author: Cosimo Cecchi Date: 2011-03-15 floating-bar: don't use a yellow color for the floating bar Make it also a bit shorter. M data/nemo.css M src/nemo-floating-bar.c commit 00a9b3ae50db1cd609ee3eb4a556c851fc046906 Author: Duarte Loreto Date: 2011-03-13 Updated Portuguese translation M po/pt.po commit df4e4aa5d62e2ef23fdbf0a3ca09107e89d89ff6 Author: Ã…smund Skjæveland Date: 2011-03-13 Updated Norwegian Nynorsk translation. M po/nn.po commit 55585048b94c492fa32a60359a14472da8a4f7c4 Author: Claude Paroz Date: 2011-03-12 Updated French translation Contributed by Gérard Baylard, Bruno Brouard and Claude Paroz. M po/fr.po commit a3a69db247c58066fcd7ae9b3c6e596fa7f21060 Author: Bruce Cowan Date: 2011-03-12 Updated British English translation M po/en_GB.po commit 7536e18ed8fdf50274625837c022ce5ee843c340 Author: Tomas Bzatek Date: 2011-03-11 Bengali translation: Fix malformed format string Originally reported as https://bugzilla.redhat.com/show_bug.cgi?id=578086 Related to commits a1a8f97c9dcd9fdbbbfdddcec7f7d8da85a68dfb and 5b31e211ff20645c548949bd8d012b7bcaa39bf2 M po/bn.po commit b47b01d95f332f6a50157cb2d4940bd920455518 Author: Piotr DrÄ…g Date: 2011-03-11 Updated Polish translation M po/pl.po commit 9cf0a0a1bde02fababd047cced3c36ffa6f9543e Author: Khaled Hosny Date: 2011-03-11 Updated Arabic translation M po/ar.po commit c25ae0f18ca87c561178bd57b191fd13ec3edc38 Author: Manoj Kumar Giri Date: 2011-03-10 Updated Oriya Translation M po/or.po commit 86bd3f63bcdf7cdfdc0ebb12104856f7d085510b Author: Andrej ŽnidarÅ¡iÄ Date: 2011-03-09 Updated Slovenian translation M po/sl.po commit 85e624e496ddcbea78826545308aac09541bbfde Author: Andrej ŽnidarÅ¡iÄ Date: 2011-03-09 Updated Slovenian translation M po/sl.po commit 3800f7c7957ac155d96b0b8605197fd7de8cd943 Author: Cosimo Cecchi Date: 2011-03-08 css: make the backgorund of the floating bar button transparent M data/nemo.css commit e021dd0f9c73c4cbf6e8e00f1ca6863c99a7056c Author: Cosimo Cecchi Date: 2011-03-08 toolbar: use a raised button for Search M src/nemo-toolbar.c commit eb340743b260def298ed64a45d2b6112f7c71589 Author: Joan Duran Date: 2011-03-08 Updated Catalan translation M po/ca.po commit 30fca4b7b9afad5edb884ef7e6b8370fc88951ec Author: Kjartan Maraas Date: 2011-03-08 Updated Norwegian bokmÃ¥l translation M po/nb.po commit 5b6d156f57ad630646c2c3e779d094b98766d529 Author: Cosimo Cecchi Date: 2011-03-07 Release 2.91.91 M NEWS M configure.in commit 9465370aad15fe7b20923ad1009a5d3314edc621 Author: Cosimo Cecchi Date: 2011-03-07 places: use iters to cycle items in the sidebar M src/nemo-places-sidebar.c commit ede178516796568e5d0b596cc720a3cb56dfaaf5 Author: Cosimo Cecchi Date: 2011-03-07 toolbar: set the primary-toolbar style class on the toolbar M src/nemo-toolbar.c commit 896138b17cf6bb8be87bfac3394af641972a364b Author: Luca Ferretti Date: 2011-03-07 Fixed a typo M po/it.po commit 894fe97a070004ad3317fa59fa8cb20851c9ab81 Author: Changwoo Ryu Date: 2011-03-06 Updated Korean translation M po/ko.po commit 96e53868862fb43b54b8e3f5cf9258615bc26fad Author: Andrej ŽnidarÅ¡iÄ Date: 2011-03-05 Updated Slovenian translation M po/sl.po commit 7af7225fce4ede640cf9eca3a2e11115bf542ff7 Author: Nguyá»…n Thái Ngá»c Duy Date: 2011-03-05 Updated Vietnamese translation M po/vi.po commit 0e20049361db4a0d8926e98702501392e98efdcd Author: Nguyá»…n Thái Ngá»c Duy Date: 2011-03-05 po/vi.po: import from Damned Lies M po/vi.po commit 4359343f94d255929621fb4fa1f08b67ded4bf96 Author: Cosimo Cecchi Date: 2011-03-03 list-view: fix expand/fill visibility of the column editor dialog M src/nemo-list-view.c commit ab4fb0cdee781120d35f041a2198f203da2678cd Author: Daniel Korostil Date: 2011-03-02 Uploaded Ukranian M po/uk.po commit 7035f1c2d444b066e079abc50a8664bccf69fe05 Author: Daniel Nylander Date: 2011-03-01 Updated Swedish translation M po/sv.po commit 2ed8c3b4c3ac88996b6bbd961f9bc3fee6c14789 Author: Daniel Korostil Date: 2011-03-01 Uploaded Ukranian M po/uk.po commit 9b4ce4d88d5bc8374d218534f5ee616fdd64ef79 Author: Daniel Korostil Date: 2011-02-28 Uploaded Ukranian M po/uk.po commit f84f6578c5068fe3216387240420f41b2d00db41 Author: Cosimo Cecchi Date: 2011-02-28 css: don't put toolbar style here It's in gnome-themes-standard until we found a more generic way of expressing it. M data/nemo.css commit ba262758489a726afbfcbfe60f1f0c79f20d179a Author: Rudolfs Mazurs Date: 2011-02-27 Updated Latvian translation. M po/lv.po commit d12544d94d11cfe403f0a4f2f82b0ff569a623d6 Author: Gabor Kelemen Date: 2011-02-27 Updated Hungarian translation M po/hu.po commit 789d71e7edbc3f60668c305adb4da9bbdd94b4d6 Author: Stefano Teso Date: 2011-02-26 places-sidebar: skip section headers on keynav https://bugzilla.gnome.org/show_bug.cgi?id=643137 M src/nemo-places-sidebar.c commit 089315b56f78113bd26d18bb40d0132b84954ebe Author: Stefano Teso Date: 2011-02-26 typeahead-find: make sure the search widget is on-screen when maximized https://bugzilla.gnome.org/show_bug.cgi?id=642953 M libnemo-private/nemo-icon-container.c commit a5d4e41129e00461426312cdffa392b59ac30118 Author: Stefano Teso Date: 2011-02-26 bookmarks: bookmarked saved searches should use the saved-search icon https://bugzilla.gnome.org/show_bug.cgi?id=643057 M libnemo-private/nemo-bookmark.c M libnemo-private/nemo-icon-names.h commit 02446f2cdb990fabebdefaed339227d6f52a495e Author: Cosimo Cecchi Date: 2011-02-25 icon-view: doesn't make sense to use g_timeout_add_seconds for preview https://bugzilla.gnome.org/show_bug.cgi?id=574033 M src/nemo-icon-view.c commit 5e2edee2e8dc6b4eababdff993176d591cc2a6e6 Author: Cosimo Cecchi Date: 2011-02-25 list-view: make sure not to select the extension on rename Delay calling gtk_editable_select_region() until after gtk_tree_view_set_cursor() https://bugzilla.gnome.org/show_bug.cgi?id=627110 M src/nemo-list-view.c commit a9515134c3bce4df1d1563340394b796ae40d183 Author: Stefano Teso Date: 2011-02-25 list-view: create folders in subdirectories when possible Don't always choose the tree root as parent when creating a new folder, but look at the current selection's directory. https://bugzilla.gnome.org/show_bug.cgi?id=330644 M src/nemo-list-view.c M src/nemo-view.c M src/nemo-view.h commit 97b1ff2fa3b4d706969ab40d4bf17adad281e42f Author: Cosimo Cecchi Date: 2011-02-25 list-view: unfreeze updates on focus out It's not really right, as GtkTreeView should always emit editing-canceled on the right renderer for us, but if you click away from the entry, it doesn't, so this is just a workaround until the GTK+ bug is fixed. M src/nemo-list-view.c commit 3645b11f392c649455472bc1b3a8c8f581c37c74 Author: Cosimo Cecchi Date: 2011-02-25 file: make sure not to pass g_utf8_collate() NULL strings M libnemo-private/nemo-file.c commit e939b36481815dbdf4053dba070f17d02a1efc38 Author: Cosimo Cecchi Date: 2011-02-25 desktop-file: remove obsolete x-directory/* mimetypes They got deprecated. https://bugzilla.gnome.org/show_bug.cgi?id=612694 M data/nemo.desktop.in.in commit 50ee32a1b46f0e0dea68b57c72070247bad9b7f7 Author: Cosimo Cecchi Date: 2011-02-25 window-slot: use the actual view as relative-widget Instead of special-casing the scrolled window in the overlay code, we directly set the actual view as relative-widget from the slot. M src/nemo-window-slot.c commit 23aa30fec0da95b58a9336da58115a3a04a21eb4 Author: Cosimo Cecchi Date: 2011-02-25 overlay: sync with gedit upstream As one of my patches got rejected. M src/gedit-overlay.c commit a2093ba1340334fa2733aa3ba2c00e7d1cfb683e Author: Cosimo Cecchi Date: 2011-02-25 view: remove nemo_view_get_widget() Having a function just to call a cast seems a bit weird... M src/nemo-view.c M src/nemo-view.h M src/nemo-window-manage-views.c M src/nemo-window-slot.c commit 2632e266fbc794de5e912ac1f37dfaa8f4ed0904 Author: Rodrigo Moya Date: 2011-02-25 Plug memory leak M libnemo-private/nemo-icon-info.c commit f45d398de73c1eee924e55aadba96254d8091932 Author: Rodrigo Moya Date: 2011-02-24 Guard against filename being NULL on nemo_icon_info_lookup M libnemo-private/nemo-icon-info.c commit 6c9cfec6cca8fc51049eac6c7677516b5d241677 Author: Cosimo Cecchi Date: 2011-02-24 places-sidebar: use the widget type directly instead of defining a class M data/nemo.css M src/nemo-places-sidebar.c commit 5df17020848a51d1211451274ae6816562d53503 Author: Cosimo Cecchi Date: 2011-02-24 all: remove shadows from scrolled windows and add a bottom margin To better match the mockups M src/nemo-places-sidebar.c M src/nemo-view.c M src/nemo-window.c commit c024477bd59761cfa683117dafe47cd08fda3f52 Author: Cosimo Cecchi Date: 2011-02-24 window-slot: adapt to overlay API changes M src/nemo-window-slot.c commit 2aa5c4844b3f4fe6b26c72d74ccfc9352a11f3f4 Author: Cosimo Cecchi Date: 2011-02-24 overlay: sync with upstream, and add a case for scrolled windows M src/gedit-overlay-child.c M src/gedit-overlay.c M src/gedit-overlay.h commit b220d722a0748763ebe1370a49831c24d734f7f8 Author: Cosimo Cecchi Date: 2011-02-24 all: move the floating bar to NemoWindowSlot M src/nemo-floating-bar.h M src/nemo-icon-view.c M src/nemo-list-view.c M src/nemo-view.c M src/nemo-view.h M src/nemo-window-manage-views.c M src/nemo-window-slot.c M src/nemo-window-slot.h commit d0706a08eefb73aa515cb445e57c0360637cce12 Author: Cosimo Cecchi Date: 2011-02-24 places-sidebar: don't activate 'Rename' shortcut for non-bookmarks M src/nemo-places-sidebar.c commit d2c34101172415c63fe3c89e62ea1bf8bca15d9d Author: Cosimo Cecchi Date: 2011-02-24 editable-label: only clear the selection if we change to insensitive This is borrowed from GtkEntry, and should properly fix https://bugzilla.gnome.org/show_bug.cgi?id=642766 M eel/eel-editable-label.c commit 8d9cb34aec31955874b59d7d90ca4a57c6ddbcf4 Author: Kjartan Maraas Date: 2011-02-24 Updated Norwegian bokmÃ¥l translation. M po/nb.po commit d6f2b28ea999a2d36d023c80dfd9fb4d7ffd83d6 Author: Aron Xu Date: 2011-02-24 Update Simplified Chinese translation. M po/zh_CN.po commit 18b496bc28a59987d161b5272244a808f5c06e2c Author: Cosimo Cecchi Date: 2011-02-23 places-sidebar: discard special dirs if they are assigned to the home https://bugzilla.gnome.org/show_bug.cgi?id=643121 M src/nemo-places-sidebar.c commit 24e447ed71d986f8806dfcc75a7d2c32cb47dbd0 Author: Cosimo Cecchi Date: 2011-02-23 tree-sidebar: cope with being shown in separate windows Use the same strategy as in NemoPlacesSidebar to decide where new window should be opened. M src/nemo-tree-sidebar.c commit 187604bc871c9b09be29794713c5db211d075d48 Author: Cosimo Cecchi Date: 2011-02-23 window: make sure to disconnect the sidebar changed id signal When the window is finalized. M src/nemo-window.c commit 5ae01f04d69f9e1d24cda75e9046aea4b4e96cd1 Author: Cosimo Cecchi Date: 2011-02-23 places-sidebar: respect middle-click for separate windows mode Make it consistent with the rest, i.e. close behind. This also fixes a crasher. M src/nemo-places-sidebar.c commit 0e6d9d7da5e2deac33d14261fbe9a22bbc7de192 Author: Cosimo Cecchi Date: 2011-02-23 window-pane: don't open another window when toggling off the search When 'Open new windows in separate folders' is toggled. This is not yet complete, but fixes at least one case. M src/nemo-window-pane.c commit 29e8f4564400640cc19e0fd7753ea8b2bac9d555 Author: Cosimo Cecchi Date: 2011-02-23 properties-window: add a border around the notebook This makes it visually consistent with other nemo notebooks, and with e.g. the GNOME3 control-center. M src/nemo-properties-window.c commit 4b6ba5bbccb934b9c595003ea1218913dd33d0c9 Author: Cosimo Cecchi Date: 2011-02-23 view: disconnect the statusbar visibility signal handler on finalize M src/nemo-view.c commit b6c86952f816dc698fed3ebb91231cc9e1ea5745 Author: Matej UrbanÄiÄ Date: 2011-02-23 Updated Slovenian translation M po/sl.po commit 75b7885bcd6e77bf16f7fa9d6bee44ac0c53ce94 Author: Matej UrbanÄiÄ Date: 2011-02-23 Updated Slovenian translation M po/sl.po commit 20be3147adefe2a8e2f7d03ccebe791f09fd5060 Author: Matej UrbanÄiÄ Date: 2011-02-23 Updated Slovenian translation M po/sl.po commit 3f9cc6132af4fb06b7b1467e9544c8853843183c Author: Alexander Shopov Date: 2011-02-23 Updated Bulgarian translation M po/bg.po commit 415aef2af3e8a7491ee0605f5082a696640680f8 Author: Cosimo Cecchi Date: 2011-02-22 dbus-manager: install a DBus service file M data/Makefile.am A data/org.gnome.Nemo.service.in commit b76e3c666d1da08cc70bd09a293c2ed319861bcd Author: Cosimo Cecchi Date: 2011-02-22 dbus-manager: hold the GApplication for 5 seconds upon startup This is needed so that nemo can be started as a DBus service with --no-default-window and be able to handle incoming method calls without quitting before receiving them. M libnemo-private/nemo-dbus-manager.c M libnemo-private/nemo-dbus-manager.h M src/nemo-application.c commit 25e74f522cd49af07b2be6b92cc3a7421a57f5fc Author: Cosimo Cecchi Date: 2011-02-22 Fix distcheck M po/POTFILES.in commit 32f4f370a37eced91270202ed7ff02cd4db46d8d Author: Cosimo Cecchi Date: 2011-02-22 Release 2.91.90.1 M NEWS M configure.in commit a0569367b029140ca15cdd5d0d78a3577c3d6d83 Author: Cosimo Cecchi Date: 2011-02-22 module: make modules for extension that pull in ORBit resident ORBit installs atexit() handlers, which would get unloaded together with the module now that the main process doesn't depend on GConf anymore, causing nemo to sefgault at exit. If we detect that an extension would pull in ORBit, we make the module resident to prevent that. M libnemo-private/nemo-module.c commit 8ff66dc5aeb7c573ef3deb6100fa151e9f9349e9 Author: Ivar Smolin Date: 2011-02-22 [l10n] Updated Estonian translation M po/et.po commit c40521ffbc4e990e4633be41e730b28eec26f1f5 Author: Cosimo Cecchi Date: 2011-02-21 icon-info: remove unused code M libnemo-private/nemo-icon-info.c M libnemo-private/nemo-icon-info.h commit 150b95ca0c668568e0e5d04701048d6f1fc1636b Author: Cosimo Cecchi Date: 2011-02-21 zoom-control: remove unused NemoZoomControl M src/Makefile.am M src/nemo-window.c D src/nemo-zoom-control.c D src/nemo-zoom-control.h commit ee701773633e2b5f2a70988ca16ace47d002e382 Author: Luca Ferretti Date: 2011-02-21 Updated Italian translation M po/it.po commit 50647b100ddb52f61c50f973d89f883d346442bb Author: Cosimo Cecchi Date: 2011-02-21 Release 2.91.90 M NEWS M configure.in commit aea7f1f49601c34398f8b62b3650f7c3db8d1171 Author: Cosimo Cecchi Date: 2011-02-21 all: fix some includes M src/nemo-toolbar.c M src/nemo-window-pane.c commit b89a352e0d37193d00de7085ad4ef18f6f2d36a2 Author: Cosimo Cecchi Date: 2011-02-21 configure: depend on stable GTK+/GLib versions M configure.in commit ead6bf5b5d80a0d4937d7b8f84dd2cdc53db73e4 Author: Luca Ferretti Date: 2011-02-21 Updated Italian translation M po/it.po commit 1cfe6c78c610c616873314e2fa76cb085116cf96 Author: Cosimo Cecchi Date: 2011-02-21 tracker-engine: update to 0.10, using libtracker-sparql https://bugzilla.gnome.org/show_bug.cgi?id=642770 M libnemo-private/nemo-search-engine-tracker.c commit a8a5b8d8eae041e7ae10a553d0990fc7ee5dc3cd Author: Stefano Teso Date: 2011-02-21 icon-container: fix setting the selection when renaming Closes: bgo #642766 M libnemo-private/nemo-icon-container.c commit 6dd4e0aed74bb7da6fc471ff6f032884f93643b5 Author: Cosimo Cecchi Date: 2011-02-21 application: remove the ConsoleKit listener I just moved it to the gnome-settings-daemon plugin where it should belong. M src/nemo-application.c commit a3f2a8814453860b1fb8d4c1aa9637011b46f7fb Author: Stefano Teso Date: 2011-02-21 nemo-view: Ignore scripts directory if it's a broken symlink Closes: bgo#633683 M src/nemo-view.c commit 585e46b63b691ccc4a618ddc01b686954da287a3 Author: Yaron Shahrabani Date: 2011-02-21 Updated Hebrew translation. M po/he.po commit 527aa458d57036cb74c3f855cd1eb724da1e3ad6 Author: Cosimo Cecchi Date: 2011-02-21 window: remove another couple of unused defines M src/nemo-window-private.h commit 8ec1999f09ff40b6a1a8b511efbf36b692144503 Author: Cosimo Cecchi Date: 2011-02-21 window: remove useless defines M src/nemo-window-private.h commit 9531e7cb106f161d8a43da7ca161fac8becd3de6 Author: Cosimo Cecchi Date: 2011-02-21 window: plug a leak Don't leak the GtkSizeGroup after we add widgets to it. Also, move it to the pane, where it should belong now. M src/nemo-window-pane.c M src/nemo-window-private.h M src/nemo-window.c commit 243a3f883f7b2969c11ddac8c6d46521ffa5ef4d Author: A S Alam Date: 2011-02-21 update Punjabi Translation by A S Alam M po/pa.po commit 945ff33b72928e13b2206ccb869f63420cd9de94 Author: Cosimo Cecchi Date: 2011-02-20 window-menus: fix indentation M src/nemo-window-menus.c commit 322a3d0094082a32d357d0358174025c296a46dd Author: Cosimo Cecchi Date: 2011-02-20 window: fix behavior of the Search action Make the toolbar button active state consistent with the menu, and simplify the code handling it a bunch. M src/nemo-shell-ui.xml M src/nemo-window-menus.c M src/nemo-window-pane.c M src/nemo-window-pane.h M src/nemo-window.c M src/nemo-window.h commit eb9a291ad09d77cd01131209f68beaa04ef45626 Author: Cosimo Cecchi Date: 2011-02-20 navigation-state: bind "active" for toggle actions So that we can use this objet for "Search" M src/nemo-navigation-state.c commit 808332169bb8000c57d55e267d4abf4dcad3a481 Author: Jorge González Date: 2011-02-20 Added Spanish translation M po/es.po commit 7a3360c812ac30858ca7281c3d34fd132c454f63 Author: Matej UrbanÄiÄ Date: 2011-02-20 Updated Slovenian translation M po/sl.po commit 763109bb17cd326195ff44951977243a6e6712d1 Author: Cosimo Cecchi Date: 2011-02-19 file-operations: make sure not to show the dialog before calling _run() This had no noticeable effect before, but with gnome-shell's modal dialog animation, it causes the dialog flickering before being picked by the WM. M libnemo-private/nemo-file-operations.c commit 01c61be847dbb30f7392794ad0fec6228e82904d Author: Cosimo Cecchi Date: 2011-02-19 all: plug some memory leaks M src/gedit-overlay.c M src/nemo-floating-bar.c commit bdb71b79540e5a7265ff08bf4353dd580c32411a Author: Cosimo Cecchi Date: 2011-02-19 overlay-child: make sure to intialize required fields M src/gedit-overlay-child.c commit 89b84688b36a769478bd4593cceace6e2636c86c Author: Kjartan Maraas Date: 2011-02-19 Fix this after the window and spatial cleanups M po/POTFILES.in commit e68968479783e0ff3e4f7c8b7391471d06597306 Author: Kjartan Maraas Date: 2011-02-19 Updated Norwegian bokmÃ¥l translation. M po/nb.po commit ddd59a578e403e815f76006477bf5eaea5b20c1e Author: Cosimo Cecchi Date: 2011-02-18 window: accumulate saving the sidebar width in GSettings We don't want to hammer DConf with writes. M src/nemo-window-private.h M src/nemo-window.c commit 56b249cc804bcea81d0308afe45ac2e5084dc6d7 Author: Cosimo Cecchi Date: 2011-02-18 floating-bar: ellipsize the description label Until we have a better way to truncate it at the right point when there's not enough space. M src/nemo-floating-bar.c commit 695d067571292c6475761e1ae4c453615f611a00 Author: Cosimo Cecchi Date: 2011-02-18 overlay: fixup allocation in the overlay Give the children the right size they request, and make sure they don't get more space allocated than the width of their parent. M src/gedit-overlay-child.c M src/gedit-overlay.c commit 1fd64c8188a513ec0321e2ff70225f9a7c52b3ad Author: Cosimo Cecchi Date: 2011-02-18 pathbar: cleanups M src/nemo-pathbar.c commit 7545af6c31ff45998167d008f3320a69d5531f7c Author: Cosimo Cecchi Date: 2011-02-18 pathbar: clean up forward declarations and unused properties No real code change here. M src/nemo-pathbar.c commit 369eaac5796263e49dd0502aedc6d9137d160132 Author: Cosimo Cecchi Date: 2011-02-18 pathbar: remove unused code M src/nemo-pathbar.c M src/nemo-pathbar.h commit 36a47b4a7ea52c860818e0e8a4f795a365ba2e2c Author: Daniel Korostil Date: 2011-02-18 Uploaded Ukranian M po/uk.po commit 2fde89de52f465051dbc85e3d00f57941275e4a7 Author: Daniel Korostil Date: 2011-02-18 Uploaded Ukranian M po/uk.po commit 6a11ecdde028a4972559491a3c0ec7799cc8c882 Author: Cosimo Cecchi Date: 2011-02-18 icon-canvas-item: make the icon frame transparent when not prelit This fixes icons on the desktop appearing weird. M libnemo-private/nemo-icon-canvas-item.c commit 1d3d4a1e954fcc15f2a9c7d933e7bc65c5330cc3 Author: Cosimo Cecchi Date: 2011-02-18 all: remove 'Tighter Layout' option It's just broken, and we already have icon view if we want something tighter. M libnemo-private/nemo-global-preferences.h M libnemo-private/nemo-icon-canvas-item.c M libnemo-private/nemo-icon-container.c M libnemo-private/nemo-icon-container.h M libnemo-private/nemo-metadata.c M libnemo-private/nemo-metadata.h M libnemo-private/nemo.convert M libnemo-private/org.gnome.nemo.gschema.xml.in M src/nemo-actions.h M src/nemo-convert-metadata.c M src/nemo-file-management-properties.c M src/nemo-file-management-properties.ui M src/nemo-icon-view-ui.xml M src/nemo-icon-view.c M src/nemo-icon-view.h commit 822b99ee1de297fbe78548a1a7fa96d1be737f72 Author: Cosimo Cecchi Date: 2011-02-18 list-view: make sure not to activate items while chaining up The event activation is done entirely in our signal handler, and row-activated should only be used for the typeahead search box. M src/nemo-list-view.c commit 1988c7bc5feff1a2630b2603d558d1c376b12c9f Author: Cosimo Cecchi Date: 2011-02-18 views: fix alternate locaiton opening somewhat It was broken after the last changes. Also, add some comments to clarify how things work. M src/nemo-icon-view.c M src/nemo-list-view.c M src/nemo-window-manage-views.c commit 491948284e453440798f14e29ba65737f44c5d46 Author: Cosimo Cecchi Date: 2011-02-18 debug: add a debug flag for the icon view M libnemo-private/nemo-debug.c M libnemo-private/nemo-debug.h commit 765d81d0b68e3b2d430b9ca0716a3f67607440df Author: Alexander Larsson Date: 2011-02-18 Change compact-view all-columns-have-same-width default to false This particular option is what makes the lables-on-the side part of compact view useful (and compact) over the normal icon view. Having it off by default is just weird. M libnemo-private/org.gnome.nemo.gschema.xml.in commit 2d904c778ce5b30649c4789f35fcd3ea44e7fa59 Author: Alexander Larsson Date: 2011-02-18 Remove debug spew from previous commit M src/nemo-window-manage-views.c commit e5f4a1f0fe63b324cc62e94a46599b2e187b1121 Author: Cosimo Cecchi Date: 2011-02-17 window-manage-views: initialize a variable M src/nemo-window-manage-views.c commit bdc7f2172f9e8b1c58d3f8a8d90ae157702dde3e Author: Cosimo Cecchi Date: 2011-02-17 window-manage-views: fix an oversight in previous commit M src/nemo-window-manage-views.c commit a58eb87e294c02ec61668ef6d02d701626ef8b98 Author: Cosimo Cecchi Date: 2011-02-17 window-manage-views: don't create two windows when opening in new win We were creating two windows at startup if the 'Open in different windows' option was toggled on. M src/nemo-window-manage-views.c commit 936a1749bb79217decc47ec2e12c7f3c40823f97 Author: Cosimo Cecchi Date: 2011-02-17 window: fix some missing signal handlers/overrides M src/nemo-window.c commit cff594aeba0cb62f3316eb8a14114091ca4c6d11 Author: Cosimo Cecchi Date: 2011-02-17 window: cleanup header M src/nemo-window-private.h M src/nemo-window.c M src/nemo-window.h commit f57a958039400b38897bf7ad5cc2f2e686921624 Author: Cosimo Cecchi Date: 2011-02-17 location-dialog: remove NemoLocationDialog The only user was NemoSpatialWindow M src/Makefile.am D src/nemo-location-dialog.c D src/nemo-location-dialog.h commit b1589b8c22baa2d9508aabe96fc8bafd99bcdb71 Author: Cosimo Cecchi Date: 2011-02-17 all: fix the desktop window without spatial mode Basically disable all the window chrome for the desktop window. M src/nemo-desktop-window.c M src/nemo-window-pane.c M src/nemo-window-private.h M src/nemo-window.c M src/nemo-window.h commit 4bf81e0d4883b9b6a6dfab120b096bea26a46a0a Author: Cosimo Cecchi Date: 2011-02-17 window: merge the navigation window XML into the shell XML There's no such distinction anymore. M src/Makefile.am D src/nemo-navigation-window-ui.xml M src/nemo-shell-ui.xml M src/nemo-window-menus.c commit df516e1f09ded17bea6a4fc4fd8b974f61e799b4 Author: Cosimo Cecchi Date: 2011-02-17 all: merge NemoNavigationWindow into NemoWindow M src/Makefile.am M src/nemo-application.c M src/nemo-application.h M src/nemo-bookmarks-window.c M src/nemo-connect-server-dialog-nonmain.c M src/nemo-desktop-window.c M src/nemo-desktop-window.h M src/nemo-icon-view.c M src/nemo-location-bar.c M src/nemo-location-bar.h M src/nemo-mime-actions.c M src/nemo-navigation-action.c D src/nemo-navigation-window-menus.c D src/nemo-navigation-window.c D src/nemo-navigation-window.h M src/nemo-notebook.c M src/nemo-places-sidebar.c M src/nemo-view.c M src/nemo-window-manage-views.c M src/nemo-window-manage-views.h M src/nemo-window-menus.c M src/nemo-window-pane.c M src/nemo-window-private.h M src/nemo-window.c M src/nemo-window.h commit 4cf05a8c91bda94aac6d403947cbb402a68019d2 Author: Cosimo Cecchi Date: 2011-02-17 window: fix class casting madness M src/nemo-window.c commit 9af483dbbea8fc6fc41f4bc726522d7583ccf677 Author: Cosimo Cecchi Date: 2011-02-17 all: merge NemoNavigationWindowSlot into NemoWindowSlot M src/Makefile.am M src/nemo-application.c M src/nemo-navigation-action.c D src/nemo-navigation-window-slot.c D src/nemo-navigation-window-slot.h M src/nemo-navigation-window.c M src/nemo-window-manage-views.c M src/nemo-window-pane.c M src/nemo-window-slot.c M src/nemo-window-slot.h M src/nemo-window.c commit 238bc1452138e1aae44dcc95121b749ab4d805d0 Author: Cosimo Cecchi Date: 2011-02-17 window-pane: remove useless class vfuncs M src/nemo-window-pane.h commit 67384aa0d21e90816d5ee084b56bb43b1e94af60 Author: Cosimo Cecchi Date: 2011-02-17 all: merge NemoNavigationWindowPane into NemoWindowPane M src/Makefile.am M src/nemo-location-bar.c M src/nemo-location-bar.h M src/nemo-navigation-window-menus.c D src/nemo-navigation-window-pane.c D src/nemo-navigation-window-pane.h M src/nemo-navigation-window-slot.c M src/nemo-navigation-window.c M src/nemo-notebook.c M src/nemo-toolbar.h M src/nemo-window-manage-views.c M src/nemo-window-pane.c M src/nemo-window-pane.h M src/nemo-window.c commit 0e73140437c97c23b480f137ce8c88113900a336 Author: Cosimo Cecchi Date: 2011-02-17 all: assume all windows are navigation windows M src/nemo-application.c M src/nemo-bookmarks-window.c M src/nemo-window-manage-views.c M src/nemo-window-pane.c M src/nemo-window.c commit b6b63e35792fd50cbe71bf87e44d5233cd879b3d Author: Cosimo Cecchi Date: 2011-02-17 all: remove NemoSpatialWindow M src/Makefile.am M src/nemo-bookmarks-window.c M src/nemo-desktop-window.h M src/nemo-location-dialog.c D src/nemo-spatial-window-ui.xml D src/nemo-spatial-window.c D src/nemo-spatial-window.h M src/nemo-window-manage-views.c M src/nemo-window-pane.c M src/nemo-window-private.h M src/nemo-window.c commit 9d70e3e2a0b8af6eef1a10749a985896ba449e37 Author: Cosimo Cecchi Date: 2011-02-17 desktop-window: make NemoDesktopWindow a navigation window We still have to fix sidebar/toolbar visibility though. M src/nemo-desktop-window.c M src/nemo-desktop-window.h commit 073e1f9454d52523837a3a2073d710206c90a808 Author: Cosimo Cecchi Date: 2011-02-17 all: remove spatial windows methods from NemoApplication M src/nemo-application.c M src/nemo-application.h M src/nemo-bookmarks-window.c M src/nemo-connect-server-dialog-nonmain.c M src/nemo-navigation-window-menus.c M src/nemo-navigation-window-ui.xml M src/nemo-navigation-window.c M src/nemo-spatial-window.c commit edc5310062e8617727423e7508951de1abe0b1b9 Author: Cosimo Cecchi Date: 2011-02-17 all: remove NemoWindowOpenMode enumeration The mode is now always decided by the GSettings preference. M src/nemo-icon-view.c M src/nemo-list-view.c M src/nemo-mime-actions.c M src/nemo-mime-actions.h M src/nemo-navigation-window-pane.c M src/nemo-places-sidebar.c M src/nemo-spatial-window.c M src/nemo-tree-sidebar.c M src/nemo-view.c M src/nemo-view.h M src/nemo-window-manage-views.c M src/nemo-window-slot.c M src/nemo-window-slot.h M src/nemo-window-types.h commit e94fe49ef856a4658fd3fcbb228b78bb0d7b0657 Author: Alexander Larsson Date: 2011-02-17 Don't show a desktop target in copy/move to if desktop is not shown M src/nemo-view.c commit e74376ee27a232e559a3ef98918f0742d6fa376a Author: Alexander Larsson Date: 2011-02-17 Don't show desktop in sidebar if desktop is not visible or if home is desktop By default there is no more desktop anymore, so its kinda weird to have it highly visible in the ui, as there should be nothing there. M src/nemo-places-sidebar.c commit 4298e522e25ea5075090822a5497164051373a4b Author: Alexander Larsson Date: 2011-02-17 Disable the status bar by default in new windows M libnemo-private/org.gnome.nemo.gschema.xml.in commit 055b16f45c4d3c7b5b543df5b8457702f2d3164e Author: Cosimo Cecchi Date: 2011-02-17 window-bookmarks: make sure we get an icon for bookmarks in the menu M src/nemo-window-bookmarks.c commit e978429c15a5a6d99c0dfeecb2ce889d1a6d0529 Author: Cosimo Cecchi Date: 2011-02-17 search-bar: make the search bar a regular GtkBox M src/nemo-search-bar.c M src/nemo-search-bar.h commit c4060407ef76d2566d02cd6dacf06381585ace17 Author: Cosimo Cecchi Date: 2011-02-16 all: set some junctions to better fit the mockup M src/nemo-places-sidebar.c M src/nemo-view.c commit d9640b96ef746cbfe5de6ddd21ae06052aa33fa8 Author: Cosimo Cecchi Date: 2011-02-16 navigation-window: fix text setting/unsetting on Search button M src/nemo-navigation-window.c commit 46b297a523d7f679891299d2a6a4ccac03927ed1 Author: Cosimo Cecchi Date: 2011-02-16 eel: remove unused method M eel/eel-gtk-extensions.c M eel/eel-gtk-extensions.h commit 6acaf5d7ede7054a258f555331358054e1835813 Author: Cosimo Cecchi Date: 2011-02-16 window-menus: remove sneaky code for middle-click toolbar actions We support it directly where we already care now. M src/nemo-window-menus.c commit 6fa4065d55ffa792105576fd2b99ead5913b36f0 Author: Cosimo Cecchi Date: 2011-02-16 navigation-window: don't create custom actions for the menu items We can use normal actions for those, and use the custom actions in the toolbar, as we already do. M src/nemo-navigation-window-menus.c commit b644be6ed4f7da02a700a2f74401c4f5273dca46 Author: Cosimo Cecchi Date: 2011-02-16 navigation-window: remvoe useless Search action from the nav group M src/nemo-navigation-window-menus.c commit 0e168f61a0012127ee0c40ef642b0818471212b7 Author: Cosimo Cecchi Date: 2011-02-16 all: remove NemoViewAsAction The rationale being the same as for NemoZoomAction M src/Makefile.am M src/nemo-navigation-window-menus.c D src/nemo-view-as-action.c D src/nemo-view-as-action.h commit 38dea32b3da5610990348be37c3f9454cec54773 Author: Cosimo Cecchi Date: 2011-02-16 all: remove NemoZoomAction Now that we don't use it on the toolbar anymore, it's useless to keep around. M src/Makefile.am M src/nemo-navigation-window-menus.c M src/nemo-window-manage-views.c M src/nemo-window-menus.c M src/nemo-window-private.h M src/nemo-window.c D src/nemo-zoom-action.c D src/nemo-zoom-action.h commit d83173021f5adc99b5eec468e0c4d5ddfeed4218 Author: Cosimo Cecchi Date: 2011-02-16 window: just use nemo_view_set_is_active() Don't roundtrip through NemoWindowSlot, as that's what it would do anyway. M src/nemo-window-pane.c M src/nemo-window-slot.c M src/nemo-window-slot.h M src/nemo-window.c commit a08625badd19790faca002f1fd6c7049f2d680ba Author: Cosimo Cecchi Date: 2011-02-16 window: active_pane might be NULL if we're destroying the window M src/nemo-window.c commit a74eac5f4446928cfa00ead53f972f7de678b914 Author: Cosimo Cecchi Date: 2011-02-16 navigation-window-pane: don't bother always setting the active pane The toolbar is insensitive when not active anyway, so this is useless. M src/nemo-navigation-window-pane.c commit 40bfe945c48bc368c11be4341a6c3f27b5543960 Author: Cosimo Cecchi Date: 2011-02-16 navigation-window-pane: cleanup the class a bit M src/nemo-navigation-window-pane.c M src/nemo-navigation-window.c commit de4b00057e06fdc675d640c65c9a459f9fdb2725 Author: Cosimo Cecchi Date: 2011-02-16 navigation-window: integrate the back/forward actions with the state So that the current back.forward state propagates to menus. M src/nemo-navigation-window-menus.c M src/nemo-navigation-window-pane.c M src/nemo-navigation-window-pane.h M src/nemo-navigation-window.c M src/nemo-window-private.h commit d6df8a9d7bc4b902de76c22504f2fa63557d7985 Author: Cosimo Cecchi Date: 2011-02-16 navigation-state: add NemoNavigationState M src/Makefile.am A src/nemo-navigation-state.c A src/nemo-navigation-state.h commit 0c60fd28a1852a101caef1e4cd783b26012cd7fc Author: Cosimo Cecchi Date: 2011-02-16 toolbar: make sure to hold a ref to the action group M src/nemo-toolbar.c commit 698f109a70c063d47b4ff4adeec78724f674fe6d Author: Cosimo Cecchi Date: 2011-02-16 navigation-window: little cleanup M src/nemo-navigation-window-menus.c M src/nemo-navigation-window-pane.h commit e18dddb0f6ff0a91e25929b667687b87c8d20ee5 Author: Cosimo Cecchi Date: 2011-02-16 window-pane: make sure we set another pane as active when closing M src/nemo-window-pane.c commit 3634db080bcf57534b47860908370da5d5cdfad9 Author: Cosimo Cecchi Date: 2011-02-16 window-slot: move window_slot_close() to nemo-window-slot.c Why on earth should it be somewhere else? M src/nemo-application.c M src/nemo-navigation-window-pane.c M src/nemo-window-manage-views.c M src/nemo-window-menus.c M src/nemo-window-slot.h M src/nemo-window.c commit 610b14e6c85d16d519a0c9665ada09b289d21de7 Author: Cosimo Cecchi Date: 2011-02-16 window-pane: move code around Makes things more readable. M src/nemo-window-pane.c M src/nemo-window-pane.h commit a0e572e833c0e27c147d99094dc5655297a38be5 Author: Cosimo Cecchi Date: 2011-02-16 location-bar: remove manual API for setting insensitive widgets It's not needed anymore M src/nemo-location-bar.c M src/nemo-location-bar.h commit dd6b7f734252fb9a3813be9856e6c8a44c9bc01a Author: Cosimo Cecchi Date: 2011-02-16 pathbar: remove hackish API M src/nemo-pathbar.c M src/nemo-pathbar.h commit 79c27eb5fbe998a0ed2f79541b4487db5f575958 Author: Cosimo Cecchi Date: 2011-02-16 navigation-window-pane: make the whole toolbar insensitive when inactive M src/nemo-navigation-window-pane.c commit d2c02297befb39526408d938b46cd8269d9d8549 Author: Cosimo Cecchi Date: 2011-02-15 window: remove some other useless code M src/nemo-spatial-window.c M src/nemo-window-private.h M src/nemo-window.c commit 63d5316f6bf85e41bc5be76d551a19c55ab07957 Author: Cosimo Cecchi Date: 2011-02-15 window: remove unused code M src/nemo-window.c M src/nemo-window.h commit 476d462bce0bce5fdc367daea3e14be8603f5c3d Author: Cosimo Cecchi Date: 2011-02-15 all: remove the concept of global history list It's not that useful now that nemo is not a long running application anymore. M src/nemo-navigation-window-menus.c M src/nemo-navigation-window.c M src/nemo-window-manage-views.c M src/nemo-window-private.h M src/nemo-window-slot.c M src/nemo-window-slot.h M src/nemo-window.c commit 8974c917ecb202a0dad4871c79dc8d7306e28feb Author: Cosimo Cecchi Date: 2011-02-15 window-menus: move bookmark-related menu code where it belongs M src/nemo-window-bookmarks.c M src/nemo-window-menus.c commit 7309d5576f28de33e9a5e5653037264110893490 Author: Cosimo Cecchi Date: 2011-02-15 ui-utilities: centralize a helper function M libnemo-private/nemo-ui-utilities.c M libnemo-private/nemo-ui-utilities.h M src/nemo-navigation-window-menus.c M src/nemo-window-menus.c commit 1755d56bdfefabf0b764aa3531e93f8fb18d73b0 Author: Cosimo Cecchi Date: 2011-02-15 window-pane: remove active_slots madness We can't have more than one active slot at the same time anyway. M src/nemo-window-pane.c M src/nemo-window-pane.h M src/nemo-window.c commit 3a27963142a0ef942631f88f2576f8bc29076898 Author: Cosimo Cecchi Date: 2011-02-15 navigation-window-pane: cleanup header M src/nemo-navigation-window-pane.c M src/nemo-navigation-window-pane.h commit c4d48d522dccb915041c9521789a47d2bea0e1e4 Author: Cosimo Cecchi Date: 2011-02-15 window: cleanup window_pane_zoom madness M src/nemo-window-pane.c M src/nemo-window-pane.h M src/nemo-window.c commit 75f4f95bed048d955cabd7e521b6cc78182a0903 Author: Cosimo Cecchi Date: 2011-02-15 search-bar: simplify boilerplate code M src/nemo-search-bar.c commit 28afe6fde1d12083b915f0040c84157ebd461df7 Author: Cosimo Cecchi Date: 2011-02-15 navigation-window: set/unset text on 'Search' according to split mode M src/nemo-navigation-window.c commit 3e0fa2ef6166160131f4d0051e3ac0c065be52e0 Author: Cosimo Cecchi Date: 2011-02-15 view: use the right label if we're searching M src/nemo-view.c commit 600352c410a57214cc8fbb9789cf6b43dde55388 Author: Cosimo Cecchi Date: 2011-02-15 navigation-window: use g_settings_bind() a little more M src/nemo-navigation-window-menus.c M src/nemo-navigation-window.c M src/nemo-navigation-window.h commit d05c85a0808c48b987dbc438538530f8506d9dfd Author: Cosimo Cecchi Date: 2011-02-15 style: add some junction properties M src/nemo-toolbar.c M src/nemo-view.c commit 193f850cd11d909a0af9e95ec0dea7ad91c62160 Author: Cosimo Cecchi Date: 2011-02-15 ui-utlities: remove unused function M libnemo-private/nemo-ui-utilities.c M libnemo-private/nemo-ui-utilities.h commit 6ebdfd9b5477178c9ab28c19e270b9dc4a53d6df Author: Cosimo Cecchi Date: 2011-02-15 window: don't care looking for toolbar extension items As we removed them. M src/Makefile.am M src/nemo-navigation-window-slot.c M src/nemo-window-manage-views.c D src/nemo-window-toolbars.c commit d3cee086e7be525046c8a16a08b15bfa996871fa Author: Cosimo Cecchi Date: 2011-02-15 libnemo-extension: remove the ability to add toolbar items We want to fully control our toolbar now. M configure.in M libnemo-extension/nemo-menu-provider.c M libnemo-extension/nemo-menu-provider.h commit 417bb5c31758a3b321fbac0d53402bed1034c6db Author: Cosimo Cecchi Date: 2011-02-15 navigation-window: use g_settings_bind() for statusbar visibility M src/nemo-navigation-window-menus.c M src/nemo-navigation-window.c M src/nemo-navigation-window.h commit 1373f01db2180f080e1d7b02e1655fecb33c21f2 Author: Cosimo Cecchi Date: 2011-02-15 toolbar: fix toolbar with split pane The way we used to instantiate the toolbar, from the navigation window UIManager, did not work fine in the new UI design, as we have a toolbar for each pane now; so we must instantiate a new UIManager for each pane, and add to it the navigation action group to fetch actions from. M src/Makefile.am M src/nemo-location-bar.c M src/nemo-location-bar.h M src/nemo-navigation-window-pane.c M src/nemo-navigation-window-ui.xml A src/nemo-toolbar-ui.xml M src/nemo-toolbar.c M src/nemo-toolbar.h commit 7131487c8bebbbad075b238ec03934a78cf233d9 Author: Cosimo Cecchi Date: 2011-02-15 places-sidebar: use a symbolic icon for eject M src/nemo-places-sidebar.c commit a572b7355b12a99083b7489bf991a8f929b1a80a Author: Cosimo Cecchi Date: 2011-02-15 view: accumulate floating bar status setting in a timeout We use half of the double-click-time as a good heuristic. M src/nemo-view.c commit 5a21e22cb0603a77d0a8bf89f6197c799df7ba4d Author: Cosimo Cecchi Date: 2011-02-14 css: theme things a bit more M data/nemo.css commit caf3233bfc9e7a6e4cd4ed41245ca5d02fdd46e0 Author: Cosimo Cecchi Date: 2011-02-14 window: hide resize grip M src/nemo-window.c commit acd688037d2a8ccf675526a46ee1d8180301cedd Author: Cosimo Cecchi Date: 2011-02-14 view: use the floating bar as a temporary statusbar if it's off We use a slightly different status message in this case, where we don't care about free space on the volume. M src/nemo-view.c commit dc80c71c1a742e0134401e765652672a71e46809 Author: Cosimo Cecchi Date: 2011-02-14 view: always create the floating bar in _init() And show/hide it and its components according to what we're currently doing. M src/nemo-view.c commit b30c9ad791961a6cbf5622c1e3c34b8a088c0439 Author: Cosimo Cecchi Date: 2011-02-14 floating-bar: add _cleanup_actions() M src/nemo-floating-bar.c M src/nemo-floating-bar.h commit b75521b56f24bffa320ad7bb5bc61be6fa12cb96 Author: Cosimo Cecchi Date: 2011-02-14 floating-bar: add a bit more whitespace around the label M src/nemo-floating-bar.c commit b86054a34b9933180d9e847048a26d712505b04a Author: Cosimo Cecchi Date: 2011-02-14 sq iintegrate with view M src/nemo-view.c commit da3905c073456129874867df1572c8586a9a1f00 Author: Cosimo Cecchi Date: 2011-02-14 sq look like M data/nemo.css M src/nemo-floating-bar.c commit d44378ee0adf944bb13a987e4aa79abf1b15693e Author: Cosimo Cecchi Date: 2011-02-14 icon-view: cleanup of supports_* properties M src/nemo-desktop-icon-view.c M src/nemo-icon-view.c M src/nemo-icon-view.h commit 621106fd68a9e2d86f5e62876fd3e2844c2d85ac Author: Cosimo Cecchi Date: 2011-02-14 view: refactor supports_zooming into a property M src/nemo-desktop-icon-view.c M src/nemo-view.c M src/nemo-view.h commit 8544bdb09511cff7edc0382009e6ca0d1f607cd6 Author: Cosimo Cecchi Date: 2011-02-14 desktop-icon-view: adapt the desktop icon view to recent changes M src/nemo-desktop-icon-view.c M src/nemo-icon-view.c M src/nemo-icon-view.h commit 246d7177acf8fa2ddec512e96310f5e31889cfd5 Author: Cosimo Cecchi Date: 2011-02-14 view: add a 'show-floating-bar' property for classes to override So we can disable it on the Desktop. Also, cleanup the _class_init() code a bit while we're here. M src/nemo-view.c commit fec9449efc444e1dc25eeebf474a59f3aa16b75d Author: Cosimo Cecchi Date: 2011-02-14 view: hook up the overlay in the view M src/nemo-icon-view.c M src/nemo-list-view.c M src/nemo-view.c M src/nemo-view.h commit db0c274ffaa2d4d95329716cad8b5af319fa9936 Author: Cosimo Cecchi Date: 2011-02-14 floating-bar: make it more similar to the mockups M data/nemo.css M src/nemo-floating-bar.c commit 8728a440f1fb9e661d5553b30e60f57f5460007d Author: Cosimo Cecchi Date: 2011-02-14 floating-bar: make the class more flexible - add dialog-like actions - add show/hide spinner M src/nemo-floating-bar.c M src/nemo-floating-bar.h commit bcec4c4ecf1b77d7e803f4e84689c6e3b1413fcf Author: Cosimo Cecchi Date: 2011-02-14 floating-bar: add NemoFloatingBar M src/Makefile.am A src/nemo-floating-bar.c A src/nemo-floating-bar.h commit 43f310d0c2ffa2c99c21b332650a9a86b9adc0ab Author: Cosimo Cecchi Date: 2011-02-14 squash overlay M src/gedit-overlay.c commit 5ca133a198326a5aac65c3ef3ddca9af2424bdf5 Author: Cosimo Cecchi Date: 2011-02-14 overlay: update GeditOverlay from upstream M src/gedit-overlay.c commit c16127a438ff9654cbd63dbbc3859dc9916d0160 Author: Cosimo Cecchi Date: 2011-02-11 overlay: borrow GeditOverlay implementation from gedit M src/Makefile.am A src/gedit-overlay-child.c A src/gedit-overlay-child.h A src/gedit-overlay.c A src/gedit-overlay.h commit f5e17ca2b9e27437963155c459f0584eccc45deb Author: Cosimo Cecchi Date: 2011-02-11 icon-view-container: remove useless dispose impl M src/nemo-icon-view-container.c commit f718677e60eafcb4214ef8d4a9831fd2e597e5d0 Author: Cosimo Cecchi Date: 2011-02-11 view: don't emit the clear signal M src/nemo-view.c commit 24f1f12a7092312af689c49b9f57d888ce9b6b8c Author: Cosimo Cecchi Date: 2011-02-11 selection-canvas-item: add getter for 'width-pixels' M libnemo-private/nemo-selection-canvas-item.c commit 79c9f9e854284c35fc8485efed4850787799a1cf Author: Cosimo Cecchi Date: 2011-02-11 css: style the floating bar according to the mockups M data/nemo.css commit c27b221329aedbe9b18c6bf02a49193475390a2d Author: Cosimo Cecchi Date: 2011-02-11 navigation-window: use a symbolic icon for the search button M src/nemo-navigation-window-menus.c commit b4f5d1a9eb4d1389a1c198bb16a28ca35bdf5f60 Author: Cosimo Cecchi Date: 2011-02-11 navigation-window: remove spinner code M src/nemo-navigation-window.c M src/nemo-window-toolbars.c commit 42f53017794f288a7c8709b297f0f6de1c368e94 Author: Cosimo Cecchi Date: 2011-02-11 selection-canvas-item: make fade-out time configurable M libnemo-private/nemo-icon-container.c M libnemo-private/nemo-selection-canvas-item.c M libnemo-private/nemo-selection-canvas-item.h commit 5b3208302e2bb5a3d8f2f68ac785a4aa64e8b8a6 Author: Cosimo Cecchi Date: 2011-02-11 selection-canvas-item: make sure the item is destroyed after fading out M libnemo-private/nemo-selection-canvas-item.c commit e16f5d44fa67e2222f3a3ba30842e5697d76078f Author: Cosimo Cecchi Date: 2011-02-11 icon-container: only use icon elements to calculate layout bounds Canvas items like e.g. a NemoFloatingBarItem do not add up to the layout bounds calculation. M libnemo-private/nemo-icon-container.c commit 3c749cf9da882043cc5a5cb938f8831831dec768 Author: Cosimo Cecchi Date: 2011-02-11 selection-canvas-item: remove useless Xrandr code which does nothing This code doesn't seem to actually do anything M configure.in M libnemo-private/nemo-selection-canvas-item.c commit 854d310d34de8c45a43d7b94755fde45de2540fa Author: Cosimo Cecchi Date: 2011-02-10 navigation-window: cleanup cast madness M src/nemo-navigation-window.c commit f84f5bb0379b0eea4a9e4e1df72f3038587269eb Author: Cosimo Cecchi Date: 2011-02-10 navigation-window: ensure toolbar search button toggles as expected M src/nemo-navigation-window-pane.c M src/nemo-navigation-window.c commit d02d193409f53d11bb68ea97683ddc2dc83a088a Author: Cosimo Cecchi Date: 2011-02-10 window-menus: set is-important to 'Search' M src/nemo-navigation-window-menus.c commit ec87bd5216871dc2cc8c539b51f45be4096bcd2f Author: Cosimo Cecchi Date: 2011-02-10 navigation-window: remove commented out code M src/nemo-navigation-window.c commit f269eb0f1ff68c1f2ede2c8533a3764cafa11cf8 Author: Cosimo Cecchi Date: 2011-02-10 window-menus: remove is-important from back/forward nav actions M src/nemo-navigation-window-menus.c commit 67946b38ce482201e0da7dbf6e955e06038fa2c9 Author: Cosimo Cecchi Date: 2011-02-10 toolbar: build the toolbar and the location bar with a GtkUIManager M src/nemo-location-bar.c M src/nemo-location-bar.h M src/nemo-navigation-window-pane.c M src/nemo-navigation-window-ui.xml M src/nemo-toolbar.c M src/nemo-toolbar.h commit ba531b1184310455127fa06691f3722052a2eb6c Author: Cosimo Cecchi Date: 2011-02-10 window-menus: merge the UI from XML while initializing actions Because we need it to be ready when setting up the window pane M src/nemo-navigation-window-menus.c commit 80ea58e844365d0bb097436ed8c0359e07cfd793 Author: Cosimo Cecchi Date: 2011-02-10 navigation-window: initialize actions before setting up the pane This is needed so that the pane can use those actions to build the toolbar. We also have to remove the code that updates split view actions from _initialize_actions(), as it requires the pane is realized. It should not be much of an issue, as that code is called when loading an URI anyway (and so it is called afterwards when loading the window). M src/nemo-navigation-window-menus.c M src/nemo-navigation-window.c commit 5756ac82bab3a63708544aeef47ee5b0e9b508da Author: Cosimo Cecchi Date: 2011-02-10 navigation-action: do not use a GtkMenuToolButton As it always has dropdown arrows, which we don't want to see. Make it a Firefox-like button instead, where you can either right click or keep the mouse button pressed for an amount of time to activate the context menu. M src/nemo-navigation-action.c commit 7363013201ec2950958db529ea96c0f2442b3c53 Author: Cosimo Cecchi Date: 2011-02-09 all: remove unused GSettings keys M libnemo-private/nemo-global-preferences.h M src/nemo-file-management-properties.c commit 66c46dd6d2cdbaeae38e9b42b083c17ebf3ed65d Author: Cosimo Cecchi Date: 2011-02-09 location-bar: use dash and not underscore in signal name M src/nemo-location-bar.c commit 0ea4ca0709c361a4e2adf5e061108abf5c7017e3 Author: Cosimo Cecchi Date: 2011-02-09 navigation-window-menus: use g_settings_bind() for toolbar visibility This also reduces the code complexity by a fair bit M src/nemo-navigation-window-menus.c commit 47958798846c8bbf85f2e28abc9b66d8266e890f Author: Cosimo Cecchi Date: 2011-02-09 navigation-window: comment out old toolbar code for now M src/nemo-navigation-window-ui.xml M src/nemo-navigation-window.c commit 211dda1ded746708019b11dd497dde21adfb8c4d Author: Cosimo Cecchi Date: 2011-02-09 navigation-window: cope with NemoNavigationWindowPane changes M src/nemo-navigation-window.c commit 1a95b0117e095885fc6ec4c3903c909c4f48f377 Author: Cosimo Cecchi Date: 2011-02-09 slot: remove NemoBarMode M src/nemo-navigation-window-slot.h commit ff264ed954842d933c9fa5dcd6d8b48366ce60c6 Author: Cosimo Cecchi Date: 2011-02-09 navigation-window-pane: rework to make use of NemoToolbar M src/nemo-navigation-window-pane.c M src/nemo-navigation-window-pane.h commit 36e9be912735ce02929aaace8fb618e31bb91b59 Author: Cosimo Cecchi Date: 2011-02-09 navigation-window: don't use search_bar_is_showing() NemoToolbar is smart enough to take care of visibility alone. M src/nemo-navigation-window.c commit 865556e2e2073c41f687a4752571bfdf593deeb3 Author: Cosimo Cecchi Date: 2011-02-09 navigation-window: don't tirgger toolbar visibility with GSettings It's done internally by NemoToolbar M src/nemo-navigation-window.c commit b34fb9648fcd58f17e09590e2dc9e0dae8af3757 Author: Cosimo Cecchi Date: 2011-02-09 navigation-window: remove methods to toggle toolbar visibility This will be done automatically by NemoToolbar and inside the methods to trigger temporary visibility. M src/nemo-navigation-window.c M src/nemo-navigation-window.h commit a56b468038964ba6ceea5efae74b1520d8e2429a Author: Cosimo Cecchi Date: 2011-02-09 window-toolbars: clean up includes M src/nemo-window-toolbars.c commit bd36e2d04baeeeeafc2fcf2f00383fbc367de735 Author: Cosimo Cecchi Date: 2011-02-09 toolbar: add NemoToolbar M src/Makefile.am A src/nemo-toolbar.c A src/nemo-toolbar.h commit ca1fa0c2b05edd8e76bb6314a7cb7c1adc4f3319 Author: Cosimo Cecchi Date: 2011-02-08 navigation-bar: remove useless abstract class Merge the useful pieces into NemoLocationBar itself, which is the only implementor anyway. M src/Makefile.am M src/nemo-location-bar.c M src/nemo-location-bar.h D src/nemo-navigation-bar.c D src/nemo-navigation-bar.h M src/nemo-navigation-window-pane.c M src/nemo-navigation-window.c commit 6f0a2036197cf03095b0a775c35983bc42885fb1 Author: Kjartan Maraas Date: 2011-02-17 Updated Norwegian bokmÃ¥l translation. M po/nb.po commit dde08b0914b1ec42ecfbbbee47673e8fe3975319 Author: Sweta Kothari Date: 2011-02-17 Updated Gujarati Translations M po/gu.po commit f8bea223f63eb0ed62ddf22062c94d1c76fea234 Author: Alexander Shopov Date: 2011-02-17 Updated Bulgarian translation M po/bg.po commit 8f9dda634d5143dda92a8bf987ca083225ab174c Author: Mario Blättermann Date: 2011-02-13 [l10n] Updated German translation M po/de.po commit ae6122fb8212e56f2c5a3afad5b84d532ed3ffc1 Author: Changwoo Ryu Date: 2011-02-13 Updated Korean translation M po/ko.po commit 17323012e2ebc3b65be673a7524e021f84434810 Author: Yaron Shahrabani Date: 2011-02-12 Updated Hebrew translation. M po/he.po commit b0760d0c50aea36ab95a81794f35b739c3ab08f5 Author: Chao-Hsiung Liao Date: 2011-02-11 Updated Traditional Chinese translation(Hong Kong and Taiwan) M po/zh_HK.po M po/zh_TW.po commit 06e1c2822bc543566eb71ea6f6208a3c82da67fe Author: Mahyar Moghimi Date: 2011-02-10 Updating Persian Translation M po/fa.po commit a425e4ed04d0323e1770ca4889affc4564c66a05 Author: Mahyar Moghimi Date: 2011-02-10 Updating Persian Translation M po/fa.po commit 20df7410f143960c206efce19e0f404df3265c93 Author: Mahyar Moghimi Date: 2011-02-10 Updating Persian Translation M po/fa.po commit 917a3e2097f52d2e8223011b672dffadc6674472 Author: Cosimo Cecchi Date: 2011-02-08 gsettings: rename our gschema path to /org/gnome/nemo M libnemo-private/org.gnome.nemo.gschema.xml.in commit fbabd8e4f13fb7312f3921f3a1633b586a4b048c Author: Cosimo Cecchi Date: 2011-02-08 editable-label: chain up in style_updated() M eel/eel-editable-label.c commit 4e47a409e990418f541ec9c5f5b5e1567eb04297 Author: Alexander Larsson Date: 2011-02-07 Avoid spew in the common case of non-existing desktop metadata file M libnemo-private/nemo-desktop-metadata.c commit 98feec44b9d93fc029e95b682ec29eb104c60320 Author: Craig Keogh Date: 2011-02-06 Remove configure.in ACLOCAL_FLAGS, now in Makefile.am (GNOME bug 641629) M configure.in commit 43573325a03536a93869f0a080dc0b2257e7e258 Author: Craig Keogh Date: 2011-02-06 Honor aclocal flags (GNOME bug 641629) M Makefile.am commit 01e5b514d9155e73448365d5f994a967da2d58f2 Author: Cosimo Cecchi Date: 2011-02-07 pathbar: use "Home" for the home button, instead of the username M src/nemo-pathbar.c commit df482adbbdb62f422f9c3eabb5aa1ac7a638e700 Author: Kjartan Maraas Date: 2011-02-06 Updated Norwegian bokmÃ¥l translation. M po/nb.po commit ed109037524dec6dbf11b4a840eb9b4ea82c9e2f Author: Fran Diéguez Date: 2011-02-06 Updated Galician translations M po/gl.po commit c926b072165b822af8dfd6f5d8a413809bb6b541 Author: Cosimo Cecchi Date: 2011-02-05 bookmark: apply name and custom-name during construction M libnemo-private/nemo-bookmark.c commit 8233aadcdd5dcf57d66c7c70df4e507ed32020ed Author: Ivar Smolin Date: 2011-02-05 [l10n] Updated Estonian translation M po/et.po commit 52d148c29a931ffaee715f714e7fd507901f7054 Author: Daniel Mustieles Date: 2011-02-05 Updated Spanish translation M po/es.po commit 21527ca0cdfc3bb4fa2bba86363ffd2b8a795fd1 Author: Daniel Mustieles Date: 2011-02-05 Updated Spanish translation M po/es.po commit eb69bfd91cca98f40f1c60f1198224c6b0e9ac61 Author: Ivar Smolin Date: 2011-02-05 [l10n] Updated Estonian translation M po/et.po commit 842a639da7450449877a31f1b0a52188c737b6c6 Author: Cosimo Cecchi Date: 2011-02-04 i18n: fix POTFILES.in M po/POTFILES.in commit 9e5a32831826ad609f8ad5315e5b6f72bda5c51f Author: Cosimo Cecchi Date: 2011-02-04 Release 2.91.9 M NEWS M configure.in commit 82fb99a34a6c27f6881e0a049d9882756b615f42 Author: Stefano Teso Date: 2011-02-04 location-entry: fix auto-complete for non-local URIs https://bugzilla.gnome.org/show_bug.cgi?id=635333 M src/nemo-location-entry.c commit 1212e12456347da601a77de013082fd1beac8463 Author: Stefano Teso Date: 2011-02-04 query: don't crash with empty .savedSearch files Be more robust against empty .savedSearch files. https://bugzilla.gnome.org/show_bug.cgi?id=601205 M libnemo-private/nemo-query.c commit 8f5d29b21b2ab82250bf516f9263aa473dfd64f1 Author: Stefano Teso Date: 2011-02-04 bookmark: don't make the name/custom-name props construct-only This was probably a typo from the refactoring of the object. https://bugzilla.gnome.org/show_bug.cgi?id=641484 M libnemo-private/nemo-bookmark.c commit 59d7af27e1d62e01108058088c5f9faf980832b3 Author: Khaled Hosny Date: 2011-02-04 Updated Arabic translation M po/ar.po commit 41de4e52b43c8ed5c9118860dac7caa303ebbc5b Author: Cosimo Cecchi Date: 2011-02-04 list-view: add a FIXME comment M src/nemo-list-view.c commit 4f17fb7db7b8736ebb4fe82ddb1c279777847730 Author: Cosimo Cecchi Date: 2011-02-04 list-view: workaround a GtkTreeView regression See https://bugzilla.gnome.org/show_bug.cgi?id=641518 for details M src/nemo-list-view.c commit f324265d1795a7d23af3ece0e48ce9479e1e5bb5 Author: Luca Ferretti Date: 2011-02-04 Updated Italian translation M po/it.po commit c2bcaeb0da84d5759571e365a3a5e71e48d70952 Author: Luca Ferretti Date: 2011-02-03 connect-server-dialog: add missing mnemonics and use proper capitalization M src/nemo-connect-server-dialog.c commit 5c89e3157752fa9311f0ca5e2310885187270ac8 Author: Yaron Shahrabani Date: 2011-02-04 Updated Hebrew translation. M po/he.po commit 11cc68cbcc154f7e84975861b26c177ae92547aa Author: Cosimo Cecchi Date: 2011-02-03 progress-ui: add a notification when all transfer complete M src/nemo-progress-ui-handler.c commit 046927432a01f7a4bb7a4dc9c96005548950ca79 Author: Cosimo Cecchi Date: 2011-02-03 progress-ui: add a "Show Details" action to the notification M src/nemo-progress-ui-handler.c commit 8536b7134f75f23c044772d583402bbe1ebf6174 Author: Cosimo Cecchi Date: 2011-02-03 progress-ui: first cut implemneting file ops progress with notifications M configure.in M src/nemo-application.c M src/nemo-progress-ui-handler.c commit b9fe2ecb4894895e063c4cbda5f62b7ad54b7449 Author: Cosimo Cecchi Date: 2011-02-02 progress-info: split UI of NemoProgressInfo into its own object M libnemo-private/nemo-progress-info.c M src/Makefile.am A src/nemo-progress-info-widget.c A src/nemo-progress-info-widget.h M src/nemo-progress-ui-handler.c commit adab8f5fe5681dcb06be4d6fbaa674624b49b6b5 Author: Cosimo Cecchi Date: 2011-02-02 progress-info: add NemoProgressUIHandler It will take care of the various states of file operation progress' user interface. M src/Makefile.am M src/nemo-application.c A src/nemo-progress-ui-handler.c A src/nemo-progress-ui-handler.h commit a0f89473830575ae39a568608bc58f3f92c6f4a4 Author: Cosimo Cecchi Date: 2011-02-01 progress-info: split progress information notify into a new manager M libnemo-private/Makefile.am A libnemo-private/nemo-progress-info-manager.c A libnemo-private/nemo-progress-info-manager.h M libnemo-private/nemo-progress-info.c M libnemo-private/nemo-ui-utilities.c M libnemo-private/nemo-ui-utilities.h M src/nemo-application.c M src/nemo-application.h M test/test-copy.c commit 2a86f1c60ba847951145ea3570bcf4e7a26a18f1 Author: Fran Diéguez Date: 2011-02-03 Updated Galician translations M po/gl.po commit bfece2283aacd609ce3466b6f27539b03f215e8e Author: Mattias Põldaru Date: 2011-02-03 [l10n] Updated Estonian translation M po/et.po commit 52b59769ea4944eaebdef26c271b8c1c45aa0493 Author: Daniel Nylander Date: 2011-02-02 Updated Swedish translation M po/sv.po commit eb6a4a8eaea16b6fa4d377b759e306016073d2fe Author: William Jon McCann Date: 2011-02-02 Use Files as launcher name https://bugzilla.gnome.org/show_bug.cgi?id=641256 M data/nemo.desktop.in.in commit a293b96241714a8d07e2b8aecd34ce61aff117ad Author: Cosimo Cecchi Date: 2011-02-01 eel: remove unused eel-canvas-util M eel/Makefile.am D eel/eel-canvas-util.c D eel/eel-canvas-util.h M libnemo-private/nemo-icon-canvas-item.c commit 2870f8f8ef38350451ddf36dfc704b2a0e66c616 Author: Cosimo Cecchi Date: 2011-02-01 selection-canvas-item: fix copyright header I copied it from the wrong file. M libnemo-private/nemo-selection-canvas-item.c M libnemo-private/nemo-selection-canvas-item.h commit 6b03a56dbd932de2b274bf61f78ae12f4ed7da0b Author: Cosimo Cecchi Date: 2011-02-01 icon-container: use the fade out effect for rubberbanding M libnemo-private/nemo-icon-container.c commit bd30e3d0670e437c55e82b544565a539331154d5 Author: Cosimo Cecchi Date: 2011-02-01 selection-canvas-item: implement a fade out effect M libnemo-private/nemo-selection-canvas-item.c M libnemo-private/nemo-selection-canvas-item.h commit b13969228d4d96c3ff677090e888f2aa9d026083 Author: Cosimo Cecchi Date: 2011-02-01 selection-canvas-item: simplify GObject properties M libnemo-private/nemo-selection-canvas-item.c M libnemo-private/nemo-selection-canvas-item.h commit 8853b7bf92271ff093803ccdfb3079512d12149d Author: Cosimo Cecchi Date: 2011-02-01 Move EelRectCanvasItem to its own object in libnemo-private/ eel-canvas-rect-ellipse has quite some unused code that make it hard to modify. M eel/Makefile.am D eel/eel-canvas-rect-ellipse.c D eel/eel-canvas-rect-ellipse.h M libnemo-private/Makefile.am M libnemo-private/nemo-icon-container.c M libnemo-private/nemo-icon-dnd.c A libnemo-private/nemo-selection-canvas-item.c A libnemo-private/nemo-selection-canvas-item.h commit 67687dd50433d620ddd931d983462ca131dd48bb Author: Cosimo Cecchi Date: 2011-02-01 desktop-metadata: initialize a variable M libnemo-private/nemo-desktop-metadata.c commit 513e94c31e22d340888b139c50c43b6f2d037703 Author: Cosimo Cecchi Date: 2011-02-01 desktop-metadata: append a terminator for single-length strv values This is needed so that we can differentiate between single-length strv and regular string values when reading them back from the keyfile, which does not store the type of its values. This way, we make sure that we always respect the actual metadata type in GFileInfo. M libnemo-private/nemo-desktop-metadata.c commit 25754a54bb0889187d9b5cb45e6c32ae9321f038 Author: Cosimo Cecchi Date: 2011-02-01 desktop-metadata: group multiple desktop metadata saving calls M libnemo-private/nemo-desktop-metadata.c commit aa552113606e24d331c6c62de0f5406351600d7f Author: Cosimo Cecchi Date: 2011-01-31 Release 2.91.8 M NEWS M configure.in commit 3f55f369c00044a3d93c6bb10aa9e7c025548d5d Author: Cosimo Cecchi Date: 2011-01-31 build: remove GConf dependency altogether M configure.in commit 4227f0b1708d36d464ffce207c75b429bec1917b Author: Cosimo Cecchi Date: 2011-01-31 convert-metadata: don't migrate the desktop metadata to GConf M src/nemo-convert-metadata.c commit 389789e8f102f794780a2842e9506dc23ddd6a08 Author: Cosimo Cecchi Date: 2011-01-31 preferences: don't use GConfClient anymore M libnemo-private/nemo-global-preferences.c M libnemo-private/nemo-global-preferences.h commit 632bf39a23e5457d76540063eff69b36e36459d0 Author: Cosimo Cecchi Date: 2011-01-31 desktop-metadata: use a keyfile instead of GConf to store it M libnemo-private/Makefile.am M libnemo-private/nemo-desktop-directory-file.c M libnemo-private/nemo-desktop-directory-file.h M libnemo-private/nemo-desktop-icon-file.c A libnemo-private/nemo-desktop-metadata.c A libnemo-private/nemo-desktop-metadata.h M libnemo-private/nemo-metadata.h commit c62a8ff91596da4d14b56a52400baa52e05c2ccc Author: Cosimo Cecchi Date: 2011-01-31 desktop-directory-file: don't use eel boilerplate M libnemo-private/nemo-desktop-directory-file.c commit 3d0dc4d6d763c70630e82f5a5c69a6745af70866 Author: Gabor Kelemen Date: 2011-01-31 Fix a mistranslation M po/hu.po commit 678c5216ebe3987b7b268d27fc0af78f09e58d94 Author: Cosimo Cecchi Date: 2011-01-30 sort-order: resync sort order property with NemoFileSortType This makes the sorting preference reliably work again. M libnemo-private/nemo-file.c M libnemo-private/nemo-file.h M libnemo-private/org.gnome.nemo.gschema.xml.in M src/nemo-file-management-properties.c M src/nemo-file-management-properties.ui commit 6a6c18d4d62adc14cfc41769ab5ce37793d51c16 Author: Cosimo Cecchi Date: 2011-01-30 icon-view: save sort metadata only when the user explicitly changes it M src/nemo-icon-view.c commit c1fa2a49e02552a2fb334f7cb766a32f0c201ad1 Author: Cosimo Cecchi Date: 2011-01-30 eel: remove eel_g_settings_add_auto_* functions M eel/eel-glib-extensions.c M eel/eel-glib-extensions.h commit 253345f0841a38fcf02023bc2acd8bdc26842160 Author: Cosimo Cecchi Date: 2011-01-30 all: don't use eel_g_settings_add_auto_* methods It makes no sense to use caching now with GSettings, as lookup operations are fast enough. M libnemo-private/nemo-file.c M libnemo-private/nemo-icon-canvas-item.c M libnemo-private/nemo-thumbnails.c M src/nemo-desktop-icon-view.c M src/nemo-icon-view.c M src/nemo-list-view.c commit e14351baf9f252a57395f2982e05ccecc504d646 Author: Cosimo Cecchi Date: 2011-01-30 icon-view: move desktop view's get_view_id to a proper implementation Instead of hardcoding IS_DESKTOP_ICON_VIEW() checks in the parent class. M src/nemo-desktop-icon-view.c M src/nemo-icon-view.c commit fdf30fd8c54c25e952ecc313af6d5325cf062452 Author: A S Alam Date: 2011-01-29 update Punjabi Translation by A S Alam M po/pa.po commit b97ee5da0bb1ab6ad4cc0f2a1d795ee7f64b5ec5 Author: Cosimo Cecchi Date: 2011-01-28 Update MAINTAINERS and DOAP files M MAINTAINERS M nemo.doap commit 454b2caf1ba89a62321486db10c87e63217031b8 Author: Cosimo Cecchi Date: 2011-01-28 application: don't call mount_removed_callback() on pre-unmount The unmount process follows this flow: - pre-unmount is emitted - GIO performs checks to see whether the volume is safe to unmount, and spawns GtkMountOperation dialogues accordingly - if everything is fine, the unmount signal is emitted So, it's wrong to close or redirect windows from pre-unmount, as the mount could actually not be unmounted after that. M src/nemo-application.c commit 35bf6c86b53b68a61389f270aa0ce1ff2715ff7c Author: Cosimo Cecchi Date: 2011-01-27 Clean up our desktop file (#640687) - remove the 'System' category - remove autostart interactions with gnome-session M data/nemo.desktop.in.in commit e7b6fd0e59ec49fbe6216c157eea2a92b384d39e Author: Tomas Bzatek Date: 2011-01-27 Clarify the reason for recent nemo_file_peek_display_name() workaround M libnemo-private/nemo-file.c commit 8f6245a80cfd571274813fe4d5d950769d02bfba Author: Tomas Bzatek Date: 2011-01-27 Prevent a crash in nemo_file_peek_display_name() on invalid NemoFile This is more a workaround only, expect assert failures at other places when something bad happens. There's a race condition somewhere, this patch only prevents immediate crash. Patch by Marcus Husar https://bugzilla.gnome.org/show_bug.cgi?id=602500 M libnemo-private/nemo-file.c commit fd03c910a73ba18459e68baaf15e8dd295acd5c1 Author: Stefano Teso Date: 2011-01-26 places-sidebar: allow keyboard navigation with Enter/Space (#637768) M src/nemo-places-sidebar.c commit 4f4c07b1f9964d437f70c89d94e9585429a69f91 Author: Fran Diéguez Date: 2011-01-27 Get Galician translations back from wrong commit M po/gl.po commit dace8ba5c2068e80bb9d99a1370f0c1a989fb72a Author: Fran Diéguez Date: 2011-01-27 QA of Galician translations M po/gl.po commit 17793d3bb90dbde51c95f73867bf75d6546cf88f Author: Fran Diéguez Date: 2011-01-27 QA of Galician translations M po/gl.po commit a63aaa68f14bec6507d36e856a4ed79d969b1be3 Author: Cosimo Cecchi Date: 2011-01-25 desktop-background: make sure to hold a ref in the 'changed' idle Otherwise we might end up accessing object fields after it was destroyed. https://bugzilla.gnome.org/show_bug.cgi?id=640420 M libnemo-private/nemo-desktop-background.c commit 6d079cc40ab1dfab5b7d60cac44b655d4d243f3d Author: Cosimo Cecchi Date: 2011-01-24 editable-label: fix some drawing regressions Also, remove the copy/pasted gtkpango code again, as we can have a better rendering without it. M eel/eel-editable-label.c commit d4230de8667764e02dbb966b5d806ff78ced2fd5 Author: Cosimo Cecchi Date: 2011-01-24 all: silence new warnings from GCC 4.6 GCC 4.6 introduced a new warning about variables declared and initialized, but not really used in the function body. Remove all of these occurrences to build cleanly. M eel/eel-canvas-rect-ellipse.c M eel/eel-canvas.c M libnemo-private/nemo-clipboard.c M libnemo-private/nemo-desktop-icon-file.c M libnemo-private/nemo-directory-async.c M libnemo-private/nemo-directory.c M libnemo-private/nemo-entry.c M libnemo-private/nemo-file-conflict-dialog.c M libnemo-private/nemo-file-operations.c M libnemo-private/nemo-icon-canvas-item.c M libnemo-private/nemo-icon-container.c M libnemo-private/nemo-icon-dnd.c M libnemo-private/nemo-saved-search-file.c M libnemo-private/nemo-search-directory-file.c M libnemo-private/nemo-vfs-directory.c M libnemo-private/nemo-vfs-file.c M nemo-sendto-extension/nemo-nste.c M src/nemo-application.c M src/nemo-connect-server-dialog-nonmain.c M src/nemo-connect-server-dialog.c M src/nemo-icon-view.c M src/nemo-list-view.c M src/nemo-main.c M src/nemo-navigation-window-slot.c M src/nemo-navigation-window.c M src/nemo-pathbar.c M src/nemo-places-sidebar.c M src/nemo-properties-window.c M src/nemo-query-editor.c M src/nemo-tree-sidebar-model.c M src/nemo-tree-sidebar.c M src/nemo-view.c M src/nemo-window-manage-views.c M src/nemo-window.c commit 155cc03271fd7db1da4af7d60dcedfe8acdc2900 Author: Funda Wang Date: 2011-01-23 Updated zh_CN translation. M po/zh_CN.po commit 7e47ccdee2c8be8b16fad0da3320141f27596bfa Author: Piotr Eljasiak Date: 2011-01-22 Fix typo (G_TYPE_INSTANCE_CHECK_TYPE -> G_TYPE_CHECK_INSTANCE_TYPE) M libnemo-private/nemo-mime-application-chooser.h M libnemo-private/nemo-module.c M libnemo-private/nemo-tree-view-drag-dest.h M src/nemo-connect-server-dialog.h M src/nemo-connect-server-operation.h M src/nemo-location-dialog.h commit 0b4bb326cae5d8df888192f4c763211dff9e7f97 Author: Kristjan SCHMIDT Date: 2011-01-22 Updated Esperanto translation M po/eo.po commit 9f539e6fa5d2832b9b4788c338bbce66f81971f9 Author: Alexander Shopov Date: 2011-01-21 Updated Bulgarian translation M po/bg.po commit 187dc50c76da193f46aa7cb856a4ce1ea964b023 Author: Chao-Hsiung Liao Date: 2011-01-20 Updated Traditional Chinese translation(Hong Kong and Taiwan) M po/zh_HK.po M po/zh_TW.po commit 484c9a1bacd254795703c014a170b5801a1f3104 Author: Cosimo Cecchi Date: 2011-01-20 eel: remove eel-gdk-pixbuf-extensions M eel/Makefile.am D eel/eel-gdk-pixbuf-extensions.c D eel/eel-gdk-pixbuf-extensions.h commit 129d90ebcd83efd7d7f2ebc75c77922bd9771b9d Author: Cosimo Cecchi Date: 2011-01-20 all: remove unused includes of eel-gdk-pixbuf-extensions M eel/eel-gtk-extensions.c M eel/eel.h M libnemo-private/nemo-bookmark.c M libnemo-private/nemo-icon-canvas-item.c M libnemo-private/nemo-icon-container.c M libnemo-private/nemo-icon-dnd.c M libnemo-private/nemo-thumbnails.c M src/nemo-properties-window.c commit 83a83e3a2200127889c9979240049124b7e9a182 Author: Cosimo Cecchi Date: 2011-01-20 icon-info: use gdk_pixbuf_new_from_stream_at_scale() M libnemo-private/nemo-icon-info.c commit 2103a49026fd1c406f2607ef7d070b3081835982 Author: Cosimo Cecchi Date: 2011-01-20 icon-canvas-item: simplify the code a bit M libnemo-private/nemo-icon-canvas-item.c commit f58a70a92a83f8979f43ed84fd79d9b764e6d7c6 Author: Cosimo Cecchi Date: 2011-01-20 eel: remove unused eel_pixbuf_render() M eel/eel-gdk-pixbuf-extensions.c M eel/eel-gdk-pixbuf-extensions.h commit 8b13a044cc226cf1347831ef566938a24aa5f9a1 Author: Cosimo Cecchi Date: 2011-01-20 general: use eel_create_spotlight_pixbuf() M src/nemo-list-model.c M src/nemo-places-sidebar.c M src/nemo-tree-sidebar-model.c commit 09f0b79d854b00469410e2466897df6db5b4d51d Author: Cosimo Cecchi Date: 2011-01-20 icon-canvas-item: remove an useless snippet of drawing code M libnemo-private/nemo-icon-canvas-item.c commit a083fa0d0bbd99f1b74d28af305efeb71859e775 Author: Cosimo Cecchi Date: 2011-01-20 icon-container: hook to style_updated instead of style_set M libnemo-private/nemo-icon-container.c commit e652eb079514451313a67408c1cc3c8188ae0161 Author: Cosimo Cecchi Date: 2011-01-20 icon-container: remove unused style properties M libnemo-private/nemo-icon-container.c M libnemo-private/nemo-icon-private.h commit a1fa4eaa03493d6b69c5e79db296a83532974f63 Author: Cosimo Cecchi Date: 2011-01-20 icon-canvas-item: use eel_create_spotlight_pixbuf() Instead of passing eel_pixbuf_render() always the same values M libnemo-private/nemo-icon-canvas-item.c commit 207a2499a3f19b194acb93925084bbd7800fe0bc Author: Cosimo Cecchi Date: 2011-01-20 css: move the style properties from adwaita here M data/nemo.css commit 2a1fbaf839fc7eaae505e3534acd317e9dd47b1b Author: Cosimo Cecchi Date: 2011-01-19 canvas: fix an ACTIVE -> NORMAL typo from GtkStyleContext conversion M eel/eel-canvas.c commit d0d90599476e4f21d3e07fd670b6c18b6ba06794 Author: Cosimo Cecchi Date: 2011-01-19 icon-container: fix a couple of ACTIVE -> NORMAL typos M libnemo-private/nemo-icon-container.c commit e2ca42cac78cb0287a1bbb73030e7bba8b171970 Author: Cosimo Cecchi Date: 2011-01-19 icon-container: remove useless theming properties M libnemo-private/nemo-icon-canvas-item.c M libnemo-private/nemo-icon-container.c commit 5bfc3e50c91c4c6fc129e9383e3f2f20a87be0cf Author: Cosimo Cecchi Date: 2011-01-19 views: use proper background color for inactive panes M libnemo-private/nemo-icon-container.c M src/nemo-list-view.c commit d55ca5df614a56f3d9750df1fbcfcca155dce0b4 Author: Marios Zindilis Date: 2011-01-19 Updated Greek translation M po/el.po commit bd179dad12aa8175ed7e02f9421c0d1ed125bd2a Author: Maxim V. Dziumanenko Date: 2011-01-18 Updated Ukrainian translation M po/uk.po commit 9eee9ff6ca3e93d5d363725282d8ba393a1e6d01 Author: Markus T. Vartiainen Date: 2011-01-18 list-view: jump to parent with left key on collapsed rows (#639688) M src/nemo-list-view.c commit c6fa6b2062a1adf3e4945824048b3771edb35ebe Author: Cosimo Cecchi Date: 2011-01-18 places-sidebar: plug a leak and cleanup code a bit M src/nemo-places-sidebar.c commit f394ce8c052dd65c8343106964ba4431d97d261c Author: Cosimo Cecchi Date: 2011-01-18 icon-container: plug a memory leak M libnemo-private/nemo-icon-container.c commit 8f15b28dd7afdd1a5c5b9c0d54c05d978a10461a Author: Cosimo Cecchi Date: 2011-01-18 eel: plug some leaks in gsettings helpers M eel/eel-glib-extensions.c commit 04d3aa67294f300f3b0bd927be5f45666260c5d3 Author: Nicolò Chieffo <84yelo3@gmail.com> Date: 2011-01-17 progress-info: use a symbolic icon for the notification area (#596568) M libnemo-private/nemo-progress-info.c commit 12c3841911b47e1496d8c8fea2429cf3ca4bf8d0 Author: Ivar Smolin Date: 2011-01-17 [l10n] Updated Estonian translation M po/et.po commit 9e016ee923a2625ebd4d66cf18f3a6d2c903e6c8 Author: Cosimo Cecchi Date: 2011-01-17 progress-info: tie the application life to the whole file operation And not to the progress widget only, as that - starts hidden for the first seconds - is not destroyed when the operation finishes, but only hidden Using g_application_hold/release with the progress operation lifetime seems like a better way to deal with the app lifecycle. M libnemo-private/nemo-progress-info.c commit a11b54d5752d9792f9af05942901396330688cf7 Author: Ivar Smolin Date: 2011-01-16 [l10n] Updated Estonian translation M po/et.po commit 7cbc6f2ee4f85f6923bf56b4891f91c04edaae31 Author: Daniel Mustieles Date: 2011-01-16 Updated Spanish translation M po/es.po commit 8efb55bc266f8b471059b9bc83de19f4085fef48 Author: Xan Lopez Date: 2011-01-16 places-sidebar: remove unused variable It was being freed uninitialized, which caused a warning (and a build failure with -Werror). M src/nemo-places-sidebar.c commit fcd8981ef68dd351910539302965476a66f0218f Author: Ivar Smolin Date: 2011-01-14 [l10n] Updated Estonian translation M po/et.po commit bf5d259288868a70258e63960ddc0eabe96bf9c8 Author: Cosimo Cecchi Date: 2011-01-14 application: don't quit if there are pending file operations Now that we're a single-window application, this has become much more relevant. M libnemo-private/nemo-progress-info.c M libnemo-private/nemo-ui-utilities.c M libnemo-private/nemo-ui-utilities.h M src/nemo-application.c commit f4637ff4481ee6d7d1e0453a5bd3ec4ac9dca17d Author: Cosimo Cecchi Date: 2011-01-14 bookmark: don't call into nemo_file methods unconditionally As NemoBookmark's file might be NULL in some cases. M libnemo-private/nemo-bookmark.c commit c55ddd80f16e56a366fe9e746c3632521d10f042 Author: Cosimo Cecchi Date: 2011-01-14 bookmark-list: avoid setting the bookmark icon by hand When creating a bookmark from the GTK+ list, otherwise we end up overriding NemoBookmark's special casing when reloading the list M src/nemo-bookmark-list.c commit c637811c268abdecae3a3720b1f77fc7fe5bcd6a Author: Cosimo Cecchi Date: 2011-01-14 bookmark: add debug messages M libnemo-private/nemo-bookmark.c M libnemo-private/nemo-debug.c M libnemo-private/nemo-debug.h commit ce44fecb484ff1d6ae069446e3296f223b247c87 Author: Fran Diéguez Date: 2011-01-14 Updated Galician translations M po/gl.po commit 35a9e17696c0ff126a327f61046ab9e662a1738d Author: Ivar Smolin Date: 2011-01-13 [l10n] Updated Estonian translation M po/et.po commit ae1e300376b3479e14045892caa720dd3903a89c Author: Cosimo Cecchi Date: 2011-01-12 window-manage-views: re-add an accidentally removed snipped of code M src/nemo-window-manage-views.c commit d4df96c1e5c6bde62fd55dab1cbaae8a57f2b92e Author: Cosimo Cecchi Date: 2011-01-12 all: use new NemoBookmark API M src/nemo-bookmark-list.c M src/nemo-bookmark-list.h M src/nemo-bookmarks-window.c M src/nemo-places-sidebar.c M src/nemo-window-bookmarks.c M src/nemo-window-manage-views.c M src/nemo-window-menus.c M src/nemo-window-slot.c commit 3aa0396da2014b35f0ef21dffd29e4953667ceb2 Author: Cosimo Cecchi Date: 2011-01-12 all: use nemo_bookmark_get_gicon() M libnemo-private/nemo-ui-utilities.c M src/nemo-bookmarks-window.c M src/nemo-window-menus.c commit f6850158283858aae24ed3f1982341bc1b587d28 Author: Cosimo Cecchi Date: 2011-01-12 file-utilities: make compute_title_for_location() return the basename As a last-resort fallback. M libnemo-private/nemo-file-utilities.c commit 7cbd07aa15a3c099dfd69ab7cdcfd3dcbea38b51 Author: Cosimo Cecchi Date: 2011-01-12 file: remove unused code M libnemo-private/nemo-file.c M libnemo-private/nemo-file.h M src/nemo-pathbar.c commit f1c782c13dd675bafffb2a4d85900da52be88f3f Author: Cosimo Cecchi Date: 2011-01-12 file: make nemo_file_get_gicon() return custom icons too M libnemo-private/nemo-file.c commit ef5ebfe5db767a2f703e1f5cc57f6ab829d5499a Author: Cosimo Cecchi Date: 2011-01-12 bookmark: refactor the object - add properties for location, name, custom name and icon - make the code less convoluted, removing the appearance-changed signal - remove _get_pixbuf(), _get_icon() should be used instead M libnemo-private/nemo-bookmark.c M libnemo-private/nemo-bookmark.h commit 8057f745fe1e741c8f2a3756efebc7c7e15cbf68 Author: Khaled Hosny Date: 2011-01-12 Updated Arabic translation M po/ar.po commit 906cea0bc4b2deac177e417551109b8319ee78cd Author: Yaron Shahrabani Date: 2011-01-11 Updated Hebrew translation. M po/he.po commit 31461f9f4782b0df89a14812c252addaa7d6e983 Author: Cosimo Cecchi Date: 2011-01-11 mime-actions: update the filtered out desktop files for folders M src/nemo-mime-actions.c commit a22f2501c8c00f16150d1de98d7039063a4e002a Author: Cosimo Cecchi Date: 2011-01-11 desktop-files: cleanup desktop files installed by nemo In the 3.0 world, nemo doesn't have to install a hundred of desktop files, as it's just a regular application. Tweak the default desktop file to make it suitable for being the only one, and remove the others. M configure.in M data/Makefile.am D data/nemo-browser.desktop.in.in D data/nemo-computer.desktop.in.in D data/nemo-folder-handler.desktop.in.in D data/nemo-home.desktop.in.in M data/nemo.desktop.in.in M po/POTFILES.in M src/Makefile.am D src/network-scheme.desktop.in commit f2533adf30822d3839b67c5f81e410b5e212f7a7 Author: Maciej Piechotka Date: 2011-01-11 Fix handling of AM_CONDITIONAL M configure.in commit 395ba0fd8f679e6e2674eb0ce5976638edb9d979 Author: Cosimo Cecchi Date: 2011-01-11 window: remove unused and confusing code M src/nemo-window-slot.c M src/nemo-window-slot.h M src/nemo-window.c M src/nemo-window.h commit 48ac967bff48e7e4a38c96859ebfd2f522179fa3 Author: Cosimo Cecchi Date: 2011-01-11 desktop-window: implement the right method for setting window title https://bugzilla.gnome.org/show_bug.cgi?id=555425 M src/nemo-desktop-window.c commit f9cb9e158b365ef3d1ed27cfa0ae138f367bd42a Author: Cosimo Cecchi Date: 2011-01-11 i18n: update POTFILES.in M po/POTFILES.in commit 9367d11d3a00d5192174f744eeea9e395fcd501a Merge: 6430fd4 b13efe1 Author: Cosimo Cecchi Date: 2011-01-11 Merge branch 'refactor' commit b13efe1653ea1932bba8c3f3555729d34a21412c Author: Cosimo Cecchi Date: 2011-01-11 empty-view: fix it to make it work again with current architecture M src/Makefile.am M src/nemo-application.c M src/nemo-empty-view.c M src/nemo-empty-view.h commit d5c9bae1381cb1f322d5ee3e0efbb27e06154574 Author: Cosimo Cecchi Date: 2011-01-11 Move other files away from src/file-manager M configure.in M src/Makefile.am D src/file-manager/Makefile.am R100 src/file-manager/nemo-desktop-icon-view-ui.xml src/nemo-desktop-icon-view-ui.xml R100 src/file-manager/nemo-directory-view-ui.xml src/nemo-directory-view-ui.xml R100 src/file-manager/fm-empty-view.c src/nemo-empty-view.c R100 src/file-manager/fm-empty-view.h src/nemo-empty-view.h R100 src/file-manager/nemo-icon-view-ui.xml src/nemo-icon-view-ui.xml R100 src/file-manager/nemo-list-view-ui.xml src/nemo-list-view-ui.xml commit 70b1acf6b0d4ef68903445d4198e78c5ea4807e5 Author: Cosimo Cecchi Date: 2011-01-11 Finish renaming fm_* -> nemo_* M src/nemo-actions.h M src/nemo-desktop-icon-view.c M src/nemo-desktop-item-properties.c M src/nemo-desktop-item-properties.h M src/nemo-error-reporting.c M src/nemo-error-reporting.h M src/nemo-icon-view.c M src/nemo-list-view.c M src/nemo-properties-window.c M src/nemo-view.c commit e0538b42e65601d9ebee5beffaefebb3e425672e Author: Cosimo Cecchi Date: 2011-01-11 properties-window: move FMPropertiesWindow to NemoPropertiesWindow M src/Makefile.am M src/file-manager/Makefile.am D src/file-manager/fm-properties-window.h R099 src/file-manager/fm-ditem-page.c src/nemo-desktop-item-properties.c R100 src/file-manager/fm-ditem-page.h src/nemo-desktop-item-properties.h R093 src/file-manager/fm-properties-window.c src/nemo-properties-window.c A src/nemo-properties-window.h M src/nemo-tree-sidebar.c M src/nemo-view.c commit 690909b8eb0b346d76b28da03c9228494e700db6 Author: Cosimo Cecchi Date: 2011-01-11 Rename FMListModel/View -> NemoListModel/View And move them outside of src/file-manager M src/Makefile.am M src/file-manager/Makefile.am D src/file-manager/fm-list-model.h M src/nemo-application.c R072 src/file-manager/fm-list-model.c src/nemo-list-model.c A src/nemo-list-model.h R100 src/file-manager/fm-list-view-private.h src/nemo-list-view-private.h R080 src/file-manager/fm-list-view.c src/nemo-list-view.c R052 src/file-manager/fm-list-view.h src/nemo-list-view.h M src/nemo-view.c commit 757a5acffc9e4ac7bdbd0dcfb5eaa1f64da8a471 Author: Cosimo Cecchi Date: 2011-01-11 icon-view-container: rename FMIconContainer -> NemoIconViewContainer M src/nemo-desktop-icon-view.c M src/nemo-icon-view-container.c M src/nemo-icon-view-container.h M src/nemo-icon-view.c commit ba4c8ef658f4f3e9e46d6cae12d84f06cf0a14b2 Author: Cosimo Cecchi Date: 2011-01-11 desktop-icon-view: rename FMDesktopIconView -> NemoDesktopIconView M src/nemo-application.c M src/nemo-desktop-icon-view.c M src/nemo-desktop-icon-view.h M src/nemo-icon-view.c M src/nemo-view-dnd.c M src/nemo-view.c commit bb124418d4c131b03772acc64be3acf91903e9fb Author: Cosimo Cecchi Date: 2011-01-11 icon-view: rename FMIconView -> NemoIconView M src/nemo-application.c M src/nemo-desktop-icon-view.c M src/nemo-desktop-icon-view.h M src/nemo-icon-view-container.c M src/nemo-icon-view-container.h M src/nemo-icon-view.c M src/nemo-icon-view.h commit b20ff7a5cd1d9304c5716433de1958faedccefde Author: Cosimo Cecchi Date: 2011-01-11 Move icon views outside of src/file-manager Part of the final step towards removing src/file-manager completely; only code shuffling around, not any real code change. M src/Makefile.am M src/file-manager/Makefile.am D src/file-manager/fm-actions.h M src/file-manager/fm-list-view.c M src/file-manager/fm-properties-window.c M src/nemo-actions.h M src/nemo-application.c R100 src/file-manager/nemo-audio-mime-types.h src/nemo-audio-mime-types.h R099 src/file-manager/fm-desktop-icon-view.c src/nemo-desktop-icon-view.c R098 src/file-manager/fm-desktop-icon-view.h src/nemo-desktop-icon-view.h R099 src/file-manager/fm-error-reporting.c src/nemo-error-reporting.c R100 src/file-manager/fm-error-reporting.h src/nemo-error-reporting.h R099 src/file-manager/fm-icon-container.c src/nemo-icon-view-container.c R098 src/file-manager/fm-icon-container.h src/nemo-icon-view-container.h R099 src/file-manager/fm-icon-view.c src/nemo-icon-view.c R100 src/file-manager/fm-icon-view.h src/nemo-icon-view.h M src/nemo-view-dnd.c M src/nemo-view.c commit e1ca0591f0588d114249361c624f467126b323c9 Author: Cosimo Cecchi Date: 2011-01-11 view: drop FMDirectoryView name Big code rename/indent fix, no actual code change here. M src/file-manager/fm-desktop-icon-view.c M src/file-manager/fm-icon-container.c M src/file-manager/fm-icon-view.c M src/file-manager/fm-icon-view.h M src/file-manager/fm-list-view.c M src/file-manager/fm-list-view.h M src/nemo-view-dnd.c M src/nemo-view.c M src/nemo-view.h commit 00578e62066c1c5dadf4a0080dcb56c215334619 Author: Cosimo Cecchi Date: 2011-01-01 view: remove useless virtual method M src/nemo-view.c M src/nemo-view.h commit 8d726bab91c50d42edcb7e9a0e4107b6b0277ade Author: Cosimo Cecchi Date: 2011-01-01 view: move icon-view-only preferences to FMIconView Instead of using virtual methods M src/file-manager/fm-icon-view.c M src/nemo-view.c M src/nemo-view.h commit 9ab314c1dd30dc2d30fc46a62e2d31059c4c340a Author: Cosimo Cecchi Date: 2010-12-31 view: remove emblems_changed code This hack should not be required anymore now that we don't have user emblems. Other emblems should be taken care of by the normal NemoFile's changed signal. M src/file-manager/fm-icon-view.c M src/file-manager/fm-list-view.c M src/nemo-view.c M src/nemo-view.h commit d7de8e23fbe75e4a6ecbaf729affc9cbab9e08a3 Author: Cosimo Cecchi Date: 2010-12-31 signaller: remove unused emblems-changed signal M libnemo-private/nemo-signaller.c commit 5e57025a405e4ccbdd7a4ff51fa48d7eb4fb3671 Author: Cosimo Cecchi Date: 2010-12-31 view: remove useless virtual methods No need for some internal methods to be virtual if they're never overridden. Also, some of this code does nothing. M src/file-manager/fm-icon-container.c M src/nemo-view.c M src/nemo-view.h commit 9b29835c04fcaae84760a328a6cc70705c214506 Author: Cosimo Cecchi Date: 2010-12-31 places-sidebar: remove "Format..." action code M src/nemo-places-sidebar.c commit e4975471d233f1217bca48fae17519a285336645 Author: Cosimo Cecchi Date: 2010-12-31 view: remove commented out "Format..." action code M src/file-manager/fm-actions.h M src/file-manager/nemo-directory-view-ui.xml M src/nemo-view.c commit d0985e6d5ed7f6732bb4ee4b836192852adface2 Author: Cosimo Cecchi Date: 2010-12-31 view: remove unused flush_added_files signal M src/file-manager/fm-icon-view.c M src/nemo-view.c M src/nemo-view.h commit 7a4af383a2cb0e0257213e0e21f62e6cc82a7e58 Author: Cosimo Cecchi Date: 2010-12-31 view: don't check for allow_moves in the view superclass The property is only used by the icon view, so it's better to move the check there. M src/file-manager/fm-icon-view.c M src/nemo-view.c M src/nemo-view.h commit be2d9bba9864f2834a57b608d47140f1e20eca66 Author: Cosimo Cecchi Date: 2010-12-29 view: make nemo_view_load_location() consistent with its name M src/nemo-view.c M src/nemo-view.h M src/nemo-window-manage-views.c commit 69c2c9f8c5855a7993f23998cff3ce3eab87fd45 Author: Cosimo Cecchi Date: 2010-12-29 view: use NemoFile objects for the view selection Use them in a consistent way, so to cleanup the previous GFile/NemoFile confusion. M src/file-manager/fm-desktop-icon-view.c M src/file-manager/fm-icon-view.c M src/file-manager/fm-list-view.c M src/nemo-spatial-window.c M src/nemo-trash-bar.c M src/nemo-view.c M src/nemo-view.h M src/nemo-window-manage-views.c M src/nemo-window-slot.c M src/nemo-window-slot.h commit eb178062ec31bf6a877e5bc61f697f85a3f927fe Author: Cosimo Cecchi Date: 2010-12-29 spatial-window: don't unref the main loop we're about to destroy M src/nemo-spatial-window.c commit ac1fbbba66c61d61c4469949b925862fa3c6600b Author: Cosimo Cecchi Date: 2010-12-29 window: remove unused code M src/nemo-window-slot.h M src/nemo-window.c M src/nemo-window.h commit 57c8b0416135ee3b5c1315b3419269d20ced233c Author: Cosimo Cecchi Date: 2010-12-29 view: split DnD code into its own module And use new method names in other classes M src/Makefile.am M src/file-manager/fm-icon-view.c M src/file-manager/fm-list-view.c A src/nemo-view-dnd.c A src/nemo-view-dnd.h M src/nemo-view.c M src/nemo-view.h M src/nemo-window-slot-dnd.c commit 1f734cce8b243e2c1c1fd40491ab4e38c0eb65cd Author: Cosimo Cecchi Date: 2010-12-29 view: reduce visibility of some methods No need for them to stay public. Remove some useless prototypes and reorder virtual methods, while we're at it. M src/file-manager/fm-icon-view.c M src/nemo-view.c M src/nemo-view.h commit 4c20fa07d8a587ebe8de820a0206aa8a75edc5d8 Author: Cosimo Cecchi Date: 2010-12-29 window: remove nemo_window_get_selection[_count] No need to duplicate selection handling between view and window. M src/nemo-trash-bar.c M src/nemo-trash-bar.h M src/nemo-view.c M src/nemo-view.h M src/nemo-window-manage-views.c M src/nemo-window.c M src/nemo-window.h commit dedd9e11ec6ff499b82bdb7a9b9bde7927066560 Author: Cosimo Cecchi Date: 2010-12-29 Rework architecture of NemoView/FMDirectoryView As a second step after ff5c759b3784db2d0cd71e1cde613dda007c3985, this removes the NemoView/FMDirectoryView interface split, changing FMDirectoryView to be NemoView directly. Left to do: complete renaming the public fm_directory_view methods to nemo_view, and get rid of src/file-manager entirely. M libnemo-private/Makefile.am M libnemo-private/nemo-dnd.c D libnemo-private/nemo-view.c D libnemo-private/nemo-view.h M src/Makefile.am M src/file-manager/Makefile.am M src/file-manager/fm-desktop-icon-view.c M src/file-manager/fm-icon-view.c M src/file-manager/fm-icon-view.h M src/file-manager/fm-list-view.c M src/file-manager/fm-list-view.h M src/nemo-trash-bar.c M src/nemo-view-factory.h R098 src/file-manager/fm-directory-view.c src/nemo-view.c R087 src/file-manager/fm-directory-view.h src/nemo-view.h M src/nemo-window-manage-views.c M src/nemo-window-pane.h M src/nemo-window-slot.c M src/nemo-window-slot.h A src/nemo-window-types.h M src/nemo-window.h M src/nemo-x-content-bar.c commit 10998fbf14029163d3669f1e2a9f1676b02e7d09 Author: Cosimo Cecchi Date: 2010-12-28 main: remove unneeded code M src/nemo-main.c commit 79ef5be141a55ccce67daf42b73aa0a4affa7a13 Author: Cosimo Cecchi Date: 2010-12-28 window-slot: trivial cleanups M src/nemo-window-manage-views.c M src/nemo-window-slot.c commit acf3e032099dc2f7a156e755edb23a3dd8305fc8 Author: Cosimo Cecchi Date: 2010-12-28 window-slot: rename get_current_location -> get_current_uri M src/file-manager/fm-directory-view.c M src/nemo-places-sidebar.c M src/nemo-tree-sidebar.c M src/nemo-window-slot-dnd.c M src/nemo-window-slot.c M src/nemo-window-slot.h commit 977fc6383dc74a320ce951d4d0b2f81f31e9cdcf Author: Cosimo Cecchi Date: 2010-12-27 window: cleanup nemo_window_reload() M src/nemo-window-manage-views.c M src/nemo-window-menus.c M src/nemo-window.c M src/nemo-window.h commit ab75e5447ca5a5a5d7054c907d008816ad911c20 Author: Cosimo Cecchi Date: 2010-12-26 navigation-action: cleanup M src/nemo-navigation-action.c commit 2807b8884acab27de359a4ab51b9b57e8fb86a0f Author: Cosimo Cecchi Date: 2010-12-26 window: remove useless snippets M src/nemo-navigation-window.c commit b1011eced7e561b05dca2aa6345d3c5b3225610e Author: Cosimo Cecchi Date: 2010-12-23 window: remove useless method calls nemo_window_slot_set_content_view_widget() is called afterwards, which in turn calls again _disconnect_view() M src/nemo-window-manage-views.c commit d166f04b8886687df6f03d0e03ec16c887f9842b Author: Cosimo Cecchi Date: 2010-12-23 window: remove non existent function declaration M src/nemo-window.h commit 6ff03b33b724d882cfabb67b1f1fb4e8287e932f Author: Cosimo Cecchi Date: 2010-12-22 window: cleanup nemo_window_allow_reload() M src/nemo-window.c M src/nemo-window.h commit 553edbfbaf7e4fc171453634aa41006d49533da2 Author: Cosimo Cecchi Date: 2010-12-21 window: cleanup nemo_window_go_up() M src/nemo-window-manage-views.c M src/nemo-window-menus.c M src/nemo-window-slot.h M src/nemo-window.c M src/nemo-window.h commit 558e394a8dfba5f1c92423ac45c6462461720199 Author: Cosimo Cecchi Date: 2010-12-21 window: cleanup nemo_window_go_home() M src/nemo-navigation-window-menus.c M src/nemo-window.c M src/nemo-window.h commit d9ce97b0501cb3006013080ed688aa25649a31f6 Author: Cosimo Cecchi Date: 2010-12-21 window-slot: remove commented out code M src/nemo-window-manage-views.c M src/nemo-window-slot.h commit a8d0c04c154ee8458fd5fd24091de1a8c92a6da4 Author: Cosimo Cecchi Date: 2010-12-21 window-slot: cleanup connect/disconnect_view() M src/nemo-window-manage-views.c M src/nemo-window-slot.c M src/nemo-window-slot.h M src/nemo-window.c commit 307e0edbe7457a70f4a61acdfecb1ae38d8c243b Author: Cosimo Cecchi Date: 2010-12-21 window-slot: cleanup of window_slot_open_location() functions M src/file-manager/fm-directory-view.c M src/nemo-mime-actions.c M src/nemo-navigation-window-pane.c M src/nemo-places-sidebar.c M src/nemo-spatial-window.c M src/nemo-tree-sidebar.c M src/nemo-window-manage-views.c M src/nemo-window-slot.h M src/nemo-window.c commit cfdf80763ef3f7f3f88239fdba27ce01b642ab32 Author: Cosimo Cecchi Date: 2010-12-21 window-slot: remove nemo_window_slot_open_location() It's unused. M src/nemo-window-manage-views.c M src/nemo-window-slot.h commit ad0d377ac236392a9ccaeae789e07e1af4a796e5 Author: Cosimo Cecchi Date: 2010-12-21 Rework architecture of NemoWindow/NemoWindowSlotInfo In the past, nemo was designed keeping in mind the concept that it might not just be a file browser, but a sort of platform to embed various kind of views in it. - libnemo-private: general lowlevel items, such as the icon container, NemoFile, I/O and so on - src: general widgets and UI items - src/file-manager: file manager views, agnostic of what's in src/, for the sake of being pluggable enough This is really not applicable anymore, as nemo won't go in any direction other than being a file manager; at the same time, this complicates code and architecture quite a lot. In this commit, as a first step towards a more clean codebase, we remove the NemoWindowInfo and NemoWindowSlotInfo interfaces, using NemoWindow and NemoWindowSlot directly. Note that there should be no actual code changes, only moving of pieces around. M libnemo-private/Makefile.am M libnemo-private/nemo-dnd.c M libnemo-private/nemo-dnd.h D libnemo-private/nemo-window-info.c D libnemo-private/nemo-window-info.h D libnemo-private/nemo-window-slot-info.c D libnemo-private/nemo-window-slot-info.h M src/Makefile.am M src/file-manager/fm-desktop-icon-view.c M src/file-manager/fm-directory-view.c M src/file-manager/fm-directory-view.h M src/file-manager/fm-icon-view.c M src/file-manager/fm-list-view.c M src/nemo-application.h M src/nemo-bookmarks-window.c M src/nemo-connect-server-dialog-main.c M src/nemo-connect-server-dialog-nonmain.c M src/nemo-connect-server-dialog.c M src/nemo-connect-server-dialog.h M src/nemo-location-bar.c M src/nemo-mime-actions.c M src/nemo-mime-actions.h M src/nemo-navigation-window-menus.c M src/nemo-navigation-window-pane.c M src/nemo-navigation-window-slot.c M src/nemo-navigation-window.c M src/nemo-places-sidebar.c M src/nemo-places-sidebar.h M src/nemo-query-editor.h M src/nemo-spatial-window.c M src/nemo-trash-bar.c M src/nemo-tree-sidebar.c M src/nemo-tree-sidebar.h M src/nemo-view-as-action.c R098 libnemo-private/nemo-view-factory.c src/nemo-view-factory.c R094 libnemo-private/nemo-view-factory.h src/nemo-view-factory.h M src/nemo-window-manage-views.c M src/nemo-window-manage-views.h M src/nemo-window-menus.c M src/nemo-window-private.h M src/nemo-window-slot-dnd.c M src/nemo-window-slot.c M src/nemo-window-slot.h M src/nemo-window.c M src/nemo-window.h commit 4c031a4794126af08cea1774dd7ec3904d0ad25e Author: Cosimo Cecchi Date: 2010-12-21 mime-actions: move nemo-mime-actions to src/ M libnemo-private/Makefile.am M libnemo-private/nemo-program-choosing.c M src/Makefile.am M src/file-manager/Makefile.am M src/file-manager/fm-directory-view.c M src/file-manager/fm-properties-window.c R099 libnemo-private/nemo-mime-actions.c src/nemo-mime-actions.c R100 libnemo-private/nemo-mime-actions.h src/nemo-mime-actions.h M src/nemo-navigation-window.c M src/nemo-spatial-window.c M src/nemo-window-manage-views.c M src/nemo-window.c commit 97e67f49279ad87737541249ef09b99c4bc1d9fe Author: Cosimo Cecchi Date: 2010-12-21 dnd: move DnD slot proxying code to src/ M libnemo-private/nemo-dnd.c M libnemo-private/nemo-dnd.h M src/Makefile.am M src/nemo-notebook.c M src/nemo-pathbar.c A src/nemo-window-slot-dnd.c A src/nemo-window-slot-dnd.h commit 6430fd4a7435336a61000e2255621fb0023252d1 Author: Ivar Smolin Date: 2011-01-11 [l10n] Updated Estonian translation M po/et.po commit 63724239779c6f5f4dcb76ebde7f66f691a75786 Author: Andika Triwidada Date: 2011-01-11 Updated Indonesian translation M po/id.po commit 9022942dce517bc0fe52fdb769f6950c0aa5c444 Author: Ivar Smolin Date: 2011-01-10 [l10n] Updated Estonian translation M po/et.po commit cd976fa26099fb8c1f2084a6bae7ac0b05f5e29e Author: Cosimo Cecchi Date: 2011-01-10 Release 2.91.7 M NEWS M configure.in M po/POTFILES.in commit f6d4eed031e94570151cb4599e93d92b4612d53b Author: Cosimo Cecchi Date: 2011-01-10 debug: fix build without debugging support (#639107) M configure.in M libnemo-private/nemo-debug.c M libnemo-private/nemo-debug.h M src/nemo-main.c commit ac168820fbb4db7fbdf243a0d6b118ce445cdf37 Author: Cosimo Cecchi Date: 2011-01-10 file-operations: make Create Document/Folder use the right template Make Create Document/Folder use "Untitled Document/Template/Folder %d" filename format. Based on a patch by Marcus Husar . M libnemo-private/nemo-file-operations.c commit 5846b33c5cd26ec3fe50255c628954d129c8ffc0 Author: Marcus Husar Date: 2011-01-10 Clean context menu and "File" menu (#618469) Also use "Create New Folder/Document". Part of https://bugzilla.gnome.org/show_bug.cgi?id=618469 M src/file-manager/fm-actions.h M src/file-manager/fm-directory-view.c M src/file-manager/nemo-directory-view-ui.xml M src/nemo-tree-sidebar.c commit 0ff4fdb4c8228a358d3a0bc87b63b02751624716 Author: Fran Diéguez Date: 2011-01-10 Updated Galician translations M po/gl.po commit 8f9bb67e39a9d32be051416a474c3142539f7c3f Author: Sjoerd Simons Date: 2010-12-05 Add base libraries so building with --as-needed works M nemo-sendto-extension/Makefile.am commit 179b688c5938ba12e101a0231ba46199d2de4a5e Author: Cosimo Cecchi Date: 2011-01-10 window: remove unused code M src/nemo-window-private.h M src/nemo-window.c commit b12aeed547664d44b0b552db06a5ec7b6d9b200b Author: Cosimo Cecchi Date: 2011-01-10 bookmark: compare URIs before names M libnemo-private/nemo-bookmark.c commit 120797cec00929dac58ac4ac838719dc67e9cae0 Author: Cosimo Cecchi Date: 2011-01-10 Use a consistent name for the Home folder (#341894) Based on a patchset by Marcus Husar M libnemo-private/nemo-bookmark.c M libnemo-private/nemo-desktop-link.c M src/file-manager/fm-directory-view.c M src/nemo-places-sidebar.c M src/nemo-tree-sidebar.c M src/nemo-window-menus.c M src/nemo-window-slot.c commit 50e0c03f67072e374f8202ba7a25221fa7f88b99 Author: Fran Diéguez Date: 2011-01-09 Updated Galician translations M po/gl.po commit 598ede33ab781b46120d2149c37f47fcb7615ca2 Author: Yuri Myasoedov Date: 2011-01-09 Updated Russian translation M po/ru.po commit cd2a6e35c5757c7ca817aeef415873d2d4d8baee Author: Matej UrbanÄiÄ Date: 2011-01-07 Updated Slovenian translation M po/sl.po commit d51bc0c99b0ca6e8bc402b7ae5848e9ced2dab46 Author: Ivar Smolin Date: 2011-01-06 [l10n] Updated Estonian translation M po/et.po commit 3ff059dcc1b76a7cde6d7111b9620d373c18b9a8 Author: Yaron Shahrabani Date: 2011-01-04 Updated Hebrew translation. M po/he.po commit f8f87d8cca0a9aa54d5a1290576eb0855098ffda Author: Ivar Smolin Date: 2011-01-02 [l10n] Updated Estonian translation M po/et.po commit 61476e9e0a776e1db74f73db1b3fa9291d997a83 Author: Daniel Nylander Date: 2010-12-29 Updated Swedish translation M po/sv.po commit 09cb61a5cc2b9e5f7b85ae619d2cc2d06bf5ef06 Author: Daniel Mustieles Date: 2010-12-29 Updated Spanish translation M po/es.po commit 811f49d1e0981f7414a57004a7fd0df95f64dfd8 Author: A S Alam Date: 2010-12-29 update Punjabi Translation M po/pa.po commit ddd507228a8a7a89c0398411f44d30e6ee9d73ed Author: Cosimo Cecchi Date: 2010-12-28 pathbar: remove buttons only if the gone file is below the current This should fix once and for all the crashers when ejecting devices. M src/nemo-pathbar.c commit 70df8fad8b1ddf470e8600f6e8e9bc953853b419 Author: Cosimo Cecchi Date: 2010-12-26 desktop-icon-view: don't use deprecated GDK grab API M src/file-manager/fm-desktop-icon-view.c commit bd151c8174796c1c5b0b6466ef8a0e3a0e214054 Author: Cosimo Cecchi Date: 2010-12-26 general: don't use deprecated gdk_app_launch_context_new() M eel/eel-gnome-extensions.c M eel/eel-gnome-extensions.h M libnemo-private/nemo-program-choosing.c M src/nemo-connect-server-dialog-main.c commit 2ff006dd583f58ff2dd687f538e59757a8bd70c4 Author: Cosimo Cecchi Date: 2010-12-26 canvas: don't use deprecated GDK grab API M eel/eel-canvas.c M eel/eel-canvas.h commit 7fa4d2202358940ef5a0dd70eb88996ac371cffd Author: Gheyret T.Kenji Date: 2010-12-23 Added UG translation M po/ug.po commit aac9a486cb310c62d1167cfe37118a70d772d41e Author: Erdal Ronahi Date: 2010-12-23 Updated Kurdish translations M po/ku.po commit 318a9bd653fb02a7c94e42139377cef5ed254dd2 Author: Cosimo Cecchi Date: 2010-12-22 Release 2.91.6 M NEWS M configure.in commit b569d2cfa31951f67229e3aab00cd7f33c1ff3db Author: Cosimo Cecchi Date: 2010-12-22 general: use nemo_launch_application instead of gdk_spawn API M libnemo-private/nemo-mime-actions.c M src/file-manager/fm-desktop-icon-view.c M src/file-manager/fm-directory-view.c M src/nemo-tree-sidebar.c M src/nemo-window-menus.c commit 77ecdd69b023a16fc4d6d2895dd470c628679168 Author: Cosimo Cecchi Date: 2010-12-22 program-choosing: don't use gdk_spawn_ API M libnemo-private/nemo-program-choosing.c M libnemo-private/nemo-program-choosing.h commit 13b6a5a50db8dd35dbcbbf1d318ba747609dfb70 Author: Cosimo Cecchi Date: 2010-12-22 eel: don't use gdk_spawn_ API M eel/eel-gnome-extensions.c commit 74a8f78e2a5b06485c7daf830372a5f7b15a87b8 Author: Cosimo Cecchi Date: 2010-12-22 general: don't use gdk_cursor_unref() M eel/eel-editable-label.c M libnemo-private/nemo-icon-canvas-item.c M libnemo-private/nemo-icon-container.c M src/file-manager/fm-list-view.c M src/file-manager/fm-properties-window.c M src/nemo-window.c commit 2737d431e44e3e4dc12e9098b6e17881ca28c1f7 Author: Wouter Bolsterlee Date: 2010-12-22 Updated Dutch translation by Wouter Bolsterlee M po/nl.po commit 08462d0f0235274f1b6c2b12df47e27932b343ee Author: Cosimo Cecchi Date: 2010-12-20 Release 2.91.5 M NEWS M configure.in commit f42d5aa97de09de7052fa80abda62fabe17dfb13 Author: Cosimo Cecchi Date: 2010-12-20 smclient: remove XSMP support EggSmClient is not well-maintained, and it doesn't seem like it will ever hit GTK+, and the overall implementation seems to be poorly tested and buggy. Moreover, moving to 3.0 with nemo being an application, it makes less sense to have it save opened windows state, as it might not be always running at all. M cut-n-paste-code/libegg/Makefile.am D cut-n-paste-code/libegg/eggdesktopfile.c D cut-n-paste-code/libegg/eggdesktopfile.h D cut-n-paste-code/libegg/eggsmclient-private.h D cut-n-paste-code/libegg/eggsmclient-xsmp.c D cut-n-paste-code/libegg/eggsmclient.c D cut-n-paste-code/libegg/eggsmclient.h M po/POTFILES.in M src/Makefile.am D src/nemo-application-smclient.c D src/nemo-application-smclient.h M src/nemo-application.c M src/nemo-application.h M src/nemo-main.c commit ee06a67a632476b9758cc00eaa573e12cc3cfc91 Author: Cosimo Cecchi Date: 2010-12-20 mime-app-chooser: use g_app_info_set_as_last_used_for_content_type() Instead of add_supports_for_content_type(), which does not save the order in which custom apps have been used. M configure.in M libnemo-private/nemo-mime-application-chooser.c commit b31222dae4c63479e0fe226a761f9c78bf08b6df Author: Cosimo Cecchi Date: 2010-12-20 mime: remove some useless code As GtkAppChooserDialog already takes care of calling g_app_info_set_as_last_used_for_content_type() M libnemo-private/nemo-mime-actions.c M src/file-manager/fm-directory-view.c commit 2c279a4a6b3480bfd3581a3a35c53eac3e996653 Author: Ivar Smolin Date: 2010-12-20 [l10n] Updated Estonian translation M po/et.po commit 3fa0ed2ca3e35719422fbc526337b52393d860d2 Author: Kjartan Maraas Date: 2010-12-19 Updated Norwegian bokmÃ¥l translation M po/nb.po commit 9dc65e44c9f8e6c41079c0dc01220fe87fdfcecc Author: Nguyá»…n Thái Ngá»c Duy Date: 2010-12-19 po/vi.po: import some translations from Ubuntu/Maverick M po/vi.po commit dd4cecdf8071552f80ba08fdb613a88090719e59 Author: Yaron Shahrabani Date: 2010-12-19 Updated Hebrew translation. M po/he.po commit fcfe53d5bd2121e4707e70345f18faa244c2dd75 Author: Cosimo Cecchi Date: 2010-12-18 Remove reference to a non-existing old trademark notice file. https://bugzilla.gnome.org/show_bug.cgi?id=463173 M COPYING commit 196c8390fcc671ef8399c00936ac7242b118de08 Author: Jorge González Date: 2010-12-18 Updated Spanish translation M po/es.po commit 83aeec725d0d3829a54cd700329864a2cab7a21b Author: Marcus Carlson Date: 2009-10-11 Handle G_IO_ERROR_FILENAME_TOO_LONG errors nicely when renaming files https://bugzilla.gnome.org/show_bug.cgi?id=548844 M src/file-manager/fm-error-reporting.c commit 9403df1b54b442737ed96739aeacf6b6c9b58889 Author: Colin Walters Date: 2010-12-17 Fix cairo-gobject.h include $ pkg-config --cflags cairo-gobject -pthread -I/src/build/jhbuild/include/cairo $ ls /src/build/jhbuild/include/cairo/cairo-gobject.h /src/build/jhbuild/include/cairo/cairo-gobject.h M eel/eel-canvas.c commit b2d4ac40205e22e63e598ab742b56283acbc8901 Author: Colin Walters Date: 2010-12-17 nemo.desktop: Remove NoDisplay=true For GNOME 3, File Manager is moving towards being an application, and therefore, we want it to show up in the appliactions list. M data/nemo.desktop.in.in commit 67d0cbaf0ed7a8f25b3a47abbbaf0feba990e404 Author: Cosimo Cecchi Date: 2010-12-17 location-entry: don't treat '~' as a relative path Based on a patch by Reed Lipman https://bugzilla.gnome.org/show_bug.cgi?id=628802 M src/nemo-location-entry.c commit 184096f912b119edde1f538e8cdd5ea593d753ca Author: Cosimo Cecchi Date: 2010-12-17 icon-canvas-item: attempt to fix up a11y for NemoIconCanvasItem Based on an initial patch by Alban Browaeys . https://bugzilla.gnome.org/show_bug.cgi?id=637425 M libnemo-private/nemo-icon-canvas-item.c M libnemo-private/nemo-icon-container.c commit 42865d5e82160ccb60fd9a890a22019dcb832527 Author: Alban Browaeys Date: 2010-10-27 icon-container: remove spurious call to gtk_adjustment_changed() https://bugzilla.gnome.org/show_bug.cgi?id=637424 M libnemo-private/nemo-icon-container.c commit bc5b8bde3070a4fe6071c9a428d38fa93be19314 Author: Jorge González Date: 2010-12-15 Updated Spanish translation M po/es.po commit 1746a53cbbd450822ff857c3e1eadf5358b22cfa Author: Cosimo Cecchi Date: 2010-12-15 application: fix a copy-paste typo M src/nemo-application.c commit 08f71aa76cd5f250613f4a2833b43a72831974fc Author: Cosimo Cecchi Date: 2010-12-15 theming: cleanup previous manually parsed CSS It's not required anymore, now that we have a proper stylesheet. M src/nemo-notebook.c M src/nemo-window.c commit 786ba61680bfaee136b4b72a53f220edb96a7db9 Author: Cosimo Cecchi Date: 2010-12-15 sidebar: set the NemoSidebar class on the sidebar treeviews So they can get the proper background. M src/nemo-places-sidebar.c M src/nemo-tree-sidebar.c commit dad5d12770817aa739ab9980faa66972144008a7 Author: Cosimo Cecchi Date: 2010-12-15 theming: add a CSS file for nemo, and initialize it at startup M data/Makefile.am A data/nemo.css M src/nemo-application.c commit 1c79bf9809b208a57661aaccadd9eb7e78874bcc Author: Cosimo Cecchi Date: 2010-12-15 connect-server-dialog: properly align labels and entries https://bugzilla.gnome.org/show_bug.cgi?id=637326 M src/nemo-connect-server-dialog.c commit 0a43cee107e20d07667fc2eabf8321898ce80fb7 Author: Luca Ferretti Date: 2010-12-15 application: fix a typo in user message M src/nemo-application.c commit 4c026bf53253715251abf076badc4c979cc073c3 Author: Cosimo Cecchi Date: 2010-12-15 icon-container: don't malloc() GdkRGBA colors manually As GdkRGBA might or might not use internally a different allocator, like g_slice. This should fix some memory corruption issues, thanks to Alban Browaeys for tracking down the bug. M libnemo-private/nemo-icon-container.c commit c1d9376601223e5dcca0a4ee47e95a8b93841d68 Author: Cosimo Cecchi Date: 2010-12-14 spatial-window: don't hook to unrealize for saving geometry M src/nemo-spatial-window.c commit e4750d78c6be4f935625a3511dbb9c3bc532aa0d Author: Cosimo Cecchi Date: 2010-12-14 desktop-icon-view: call the gnome-c-c executable to change background gnome-appearance-properties does not exist anymore. M src/file-manager/fm-desktop-icon-view.c commit 5d811bb37ef4a05edd7fa4c5868a9b68f717e056 Author: Cosimo Cecchi Date: 2010-12-14 icon-dnd: set the right style class, and use GdkRGBA M libnemo-private/nemo-icon-dnd.c commit 18e3369f02c4ff6a3eb01048e623fff8eb9aded4 Author: Cosimo Cecchi Date: 2010-12-14 tree-drag-dest: set the right style class M libnemo-private/nemo-tree-view-drag-dest.c commit 066896047e8d53076913994f9975ee1cb22fbd9d Author: Cosimo Cecchi Date: 2010-12-14 icon-canvas-item: set the right style class M libnemo-private/nemo-icon-canvas-item.c commit ef8544bec8437502f2f58c7a9e07bc9e1ecf91a4 Author: Cosimo Cecchi Date: 2010-12-13 editable-label: use gtk_style_context_get() to query standard props Also, fix a leak. M eel/eel-editable-label.c commit dccf76a36441332e96c40305373876ca32a1b110 Author: Cosimo Cecchi Date: 2010-12-13 preferences: remove exit-with-last-window preference entirely It makes no sense now that nemo doesn't do session services, such as autorun, anymore. M libnemo-private/nemo-global-preferences.h M libnemo-private/nemo.convert M libnemo-private/org.gnome.nemo.gschema.xml.in commit 9ef4ac9ee428e7f7952efe33d0784d547ca7bdc6 Author: Cosimo Cecchi Date: 2010-12-13 application: remove 'exit-with-last-window' preference It makes no sense now that nemo doesn't do session services such as autorun anymore. M src/nemo-application.c commit 00e0ae826765aeca4c203b77a5caec4ce2be2fd7 Author: Cosimo Cecchi Date: 2010-12-13 application: destroy all the widgets when quitting Instead of calling _release(). M src/nemo-application.c commit caa55b7e757a49fb323450152e6a37e1d63eb9fb Author: Cosimo Cecchi Date: 2010-12-13 editable-label: rename copy/pasted fill renderer to 'eel' prefix To avoid library clashes with the GTK+ internal one. M eel/eel-editable-label.c commit f27c50fb25fee58b9eee6c9edfd26101684eec52 Author: Jorge González Date: 2010-12-11 Updated Spanish translation M po/es.po commit f5acdfefc39b235fd1eb9b3bdd3a724cdaa1a7fe Author: Fran Diéguez Date: 2010-12-11 Updated Galician translations M po/gl.po commit c0645b53892c1f65b9258e5cc63b701dbcbacfe7 Author: Fran Diéguez Date: 2010-12-10 Updated Galician translations M po/gl.po commit eea53d2f740ac25a13eea13baa83ecb493fa24cc Author: Cosimo Cecchi Date: 2010-12-07 file: initialize variables to stop complaints from compilers (#636643) M libnemo-private/nemo-file.c commit def31cd34118e4a3daf53819f81a5d7325b8efcb Author: Cosimo Cecchi Date: 2010-12-07 Release 2.91.4 M NEWS M configure.in commit bb68641adf3306675f3b259d0197ef74ecc9ccc0 Author: Cosimo Cecchi Date: 2010-12-07 dbus-manager: plug a leak M libnemo-private/nemo-dbus-manager.c commit 7686ba98e4283383f4e0b0146cbc693d041c5697 Author: Cosimo Cecchi Date: 2010-12-07 icon-container: plug a leak M src/file-manager/fm-icon-container.c commit 705d8144e5509d7926adec8af3d638b2e88fd837 Author: Cosimo Cecchi Date: 2010-12-07 icon-info: plug a leak M libnemo-private/nemo-icon-info.c commit 55869c3c65217f1c4386cf489f391eeb519e797d Author: Yaron Shahrabani Date: 2010-12-07 Updated Hebrew translation. M po/he.po commit ee0c6327eeaeaa0a924007cf3b56d2cd63dbe36b Author: Daniel Șerbănescu Date: 2010-12-06 Updated Romanian translation M po/ro.po commit 68a3a22297875118797eacb03ff5278024642366 Author: Daniel Șerbănescu Date: 2010-12-06 Updated Romanian translation M po/ro.po commit cb70787275e2e44cc2f3b394d1065313998fd1a3 Author: Cosimo Cecchi Date: 2010-12-06 file-operations: remove duplicate code Probably a leftover from NemoFileConflictDialog branch. M libnemo-private/nemo-file-operations.c commit c739fd781c355e47e4ef3f59e9e4008c230e83ad Author: Cosimo Cecchi Date: 2010-12-06 dbus-manager: add a 'CopyFile' remote method The interface mimics the nemo_file_operations_copy_file() I just committed. M libnemo-private/nemo-dbus-manager.c commit 4be5d548a438b2b3c02f3e7e7e0265f4c8b641fe Author: Cosimo Cecchi Date: 2010-12-06 file-operations: add nemo_file_operations_copy_file Copies a single file to a target directory, allowing to specify a custom target display name, and a custom source display name, which will be shown in the FileOperations dialog instead of the actual file name. M libnemo-private/nemo-file-operations.c M libnemo-private/nemo-file-operations.h commit 52b8185908725ba9842f3d2ce8c29d7b7e3d520f Author: Cosimo Cecchi Date: 2010-12-06 file-conflict-dialog: don't use override_font Set the PangoAttributeList on the GtkLabel instead. M libnemo-private/nemo-file-conflict-dialog.c commit e3feaf8d6848a92e3d077d04177e7a637b6e628b Author: Cosimo Cecchi Date: 2010-12-06 editable-label: make the rename rectangle look a bit better Still not perfect, but still... M eel/eel-editable-label.c commit 2e5f7a23350016c67bb9e9cca86a9fb2360d79e2 Author: Cosimo Cecchi Date: 2010-12-06 icon-container: fix rendering of text on the desktop M libnemo-private/nemo-icon-canvas-item.c M libnemo-private/nemo-icon-container.c commit ca9f8d8906b85a4f806d713030d02efc34fd7170 Author: Cosimo Cecchi Date: 2010-12-06 editable-label: copy-paste code from GTK+ to sync drawing with GtkLabel M eel/eel-editable-label.c commit 465f576edaf1c8b952ec152884d55db985f10778 Author: Cosimo Cecchi Date: 2010-12-06 window: pkug a leak M src/nemo-window.c commit 1ee7fc84fe8232bfc57ba832642185b2829dcc8e Merge: 1c31b7a b5302eb Author: Cosimo Cecchi Date: 2010-12-06 Merge branch 'style-context' commit b5302ebfc104aec7cc480931ede752efe9cc4325 Author: Cosimo Cecchi Date: 2010-12-06 eel: remove unused code M eel/eel-gdk-extensions.c M eel/eel-gdk-extensions.h M eel/eel-gtk-extensions.c M eel/eel-lib-self-check-functions.h commit 1d3dd9693de26d91d60ed7a11f6f14df8478f6a6 Author: Cosimo Cecchi Date: 2010-12-06 eel-gdk-extensions: port to GtkStyleContext M eel/eel-gdk-extensions.c M eel/eel-gdk-extensions.h commit 076886e9a45e8dce101f1d98eb5c4168c8ded311 Author: Cosimo Cecchi Date: 2010-12-06 window: port to GtkStyleContext M src/nemo-window.c commit 507b56e3a527e28117b259dbf0dce48f1656dd7d Author: Cosimo Cecchi Date: 2010-12-06 spatial-window: port to GtkStyleContext M src/nemo-spatial-window.c commit bc5d2904fd3338455579c77781c357fe85a86913 Author: Cosimo Cecchi Date: 2010-12-06 notebook: port to GtkStyleContext M src/nemo-notebook.c commit 5fc40adf98a384f4638401d7b7ced79da6ce2b87 Author: Cosimo Cecchi Date: 2010-12-06 location-bar: port to GtkStyleContext M src/nemo-location-bar.c commit 8e5689b5ff9fb1fedf2a1102f429f4f67e811e09 Author: Cosimo Cecchi Date: 2010-12-06 properties-window: port to GtkStyleContext M src/file-manager/fm-properties-window.c commit d7c576dbc1116139a29b7d263070283c47726ba2 Author: Cosimo Cecchi Date: 2010-12-06 list-view: port to GtkStyleContext Setting inactive pane doesn't work here yet, probably due to a bug in GTK+. M src/file-manager/fm-list-view.c commit f8bdf9c68ae156506d04f198e054e9488845c173 Author: Cosimo Cecchi Date: 2010-12-06 tree-view-drag-dest: port to GtkStyleContext M libnemo-private/nemo-tree-view-drag-dest.c commit 4f23a0a89b14757dc86459c399ff6a9719bb4e01 Author: Cosimo Cecchi Date: 2010-12-06 icon-container: port to GtkStyleContext M libnemo-private/nemo-icon-container.c M libnemo-private/nemo-icon-dnd.c M libnemo-private/nemo-icon-private.h commit fc74332e3bbcc20094ab58631666b477640e2aeb Author: Cosimo Cecchi Date: 2010-12-06 icon-canvas-item: port to GtkStyleContext M libnemo-private/nemo-icon-canvas-item.c commit 5da941e338b159c42a4b4f2581573635e3d68b11 Author: Cosimo Cecchi Date: 2010-12-06 file-conflict-dialog: port to GtkStyleContext M libnemo-private/nemo-file-conflict-dialog.c commit 020adaf997cc63a2b78ccb21c34b7f7f5244008e Author: Cosimo Cecchi Date: 2010-12-06 eel-gdk-pixbuf: use GdkRGBA everywhere M eel/eel-gdk-pixbuf-extensions.c M eel/eel-gdk-pixbuf-extensions.h M eel/eel-graphic-effects.c M eel/eel-graphic-effects.h commit d6e07c7803b3d70968e7a37bcf1ef730b8ca4bac Author: Cosimo Cecchi Date: 2010-12-06 editable-label: port to GtkStyleContext There are still some rendering artifacts, but we will fix them later. M eel/eel-editable-label.c commit 5cf60d2aa1e8fd9856aed886cce6bd746f4a8074 Author: Cosimo Cecchi Date: 2010-12-06 eel-canvas: build fix for gdk_window_get_geometry API change M eel/eel-canvas.c commit 0a3aff84fececf1cfce0969ac173a736d2014130 Author: Cosimo Cecchi Date: 2010-12-06 eel-canvas: port to GtkStyleContext M eel/eel-canvas.c M eel/eel-canvas.h commit f0691e71c58bba402d896f0a236e4bd10b6e5760 Author: Cosimo Cecchi Date: 2010-12-06 eel-canvas-re: use RGBA colors only M eel/eel-canvas-rect-ellipse.c M eel/eel-canvas-rect-ellipse.h commit 1c31b7ab0d8ed7122f385395f6844006aa4a41e2 Author: Andre Klapper Date: 2010-12-06 Fix POTFILES.in to make intltool-update work again M po/POTFILES.in commit a68bf9c76a9073db3247e8dd1e92c0c1b3b98727 Author: Fran Diéguez Date: 2010-12-05 Updated Galician translations M po/gl.po commit 59670a59c9b53a59ef587767c3e7be247b0f11cf Author: Cosimo Cecchi Date: 2010-12-04 icon-container: apply emblems from FmIconContainer This simplifies the code a bit, and also fixes emblem sizes for thumbnails. M libnemo-private/nemo-icon-container.c M libnemo-private/nemo-icon-container.h M src/file-manager/fm-icon-container.c commit 1004a7df4357fb2772ad4289b997b16ef799fc34 Author: Cosimo Cecchi Date: 2010-12-04 file: add some debug messages for getting icons M libnemo-private/nemo-file.c commit 55098c48a050a226fdb7168440fdbeb1a1fd5da0 Author: Cosimo Cecchi Date: 2010-12-04 debug: add a flag for NemoFile M libnemo-private/nemo-debug.c M libnemo-private/nemo-debug.h commit b97bad42e62d7d13d257a7785fa1b91943a0758f Author: Cosimo Cecchi Date: 2010-12-04 file-management-properties: open only one preferences window (#442263) M src/nemo-file-management-properties.c M src/nemo-file-management-properties.h M src/nemo-window-menus.c commit 1c5794a5a520ea9bdfa3865b9db702f484cabfe0 Author: Cosimo Cecchi Date: 2010-12-04 settings: remove notes and history sidebar from GSettings schemas M libnemo-private/org.gnome.nemo.gschema.xml.in commit 69e432cf94d31f07cf1d193e1fd25a693cfdc173 Author: Cosimo Cecchi Date: 2010-12-03 navigation-window: plug a leak M src/nemo-navigation-window.c commit 1eac9e307787d773ac1598d79df965d5be684f38 Merge: 2a20b38 7bce748 Author: Cosimo Cecchi Date: 2010-12-03 Merge branch 'ui-polish' commit 7bce7484e9cf5389582fd70c509abd2541ac04e5 Author: Cosimo Cecchi Date: 2010-12-03 tree-sidebar: rename and move to src/ M src/Makefile.am M src/file-manager/Makefile.am M src/nemo-navigation-window.c R099 src/file-manager/fm-tree-model.c src/nemo-tree-sidebar-model.c R100 src/file-manager/fm-tree-model.h src/nemo-tree-sidebar-model.h R099 src/file-manager/fm-tree-view.c src/nemo-tree-sidebar.c R100 src/file-manager/fm-tree-view.h src/nemo-tree-sidebar.h commit b37e7b126e70b623e86b09c69f3f7839368e0604 Author: Cosimo Cecchi Date: 2010-12-03 notes-sidebar: remove NemoNotesViewer An ancient almost-hidden feature that just doesn't fit with the current design. M po/POTFILES.in M src/Makefile.am D src/nemo-notes-viewer.c D src/nemo-notes-viewer.h commit 8bba34a56ca1fd9ae70b7821ed7b7be48d6cc8f1 Author: Cosimo Cecchi Date: 2010-12-03 side-pane: remove NemoSidePane It's an useless container now that we changed our sidebar handling. M po/POTFILES.in M src/Makefile.am D src/nemo-side-pane.c D src/nemo-side-pane.h commit 369f2490308b615d3d9b2c86b428f18d721dff33 Author: Cosimo Cecchi Date: 2010-12-03 window: update for the removal of sidebar interfaces The window now just creates one of the two sidebars, and listens to GSettings changes for toggling between the two. M src/nemo-navigation-window-menus.c M src/nemo-navigation-window-ui.xml M src/nemo-navigation-window.c M src/nemo-navigation-window.h M src/nemo-window-private.h M src/nemo-window.h commit 24ba7de3289225145faf2f85f05faef67370d447 Author: Cosimo Cecchi Date: 2010-12-03 places-sidebar: don't implement NemoSidebar/Provider anymore M src/nemo-places-sidebar.c M src/nemo-places-sidebar.h commit 1fe934a9955579103b72cd86c5ba83b9c7b4966a Author: Cosimo Cecchi Date: 2010-12-03 tree-sidebar: don't implement NemoSidebar/Provider anymore M src/file-manager/fm-tree-view.c M src/file-manager/fm-tree-view.h commit 3905444bd00e45cfbbe897c1da9de7f2d2c393e2 Author: Cosimo Cecchi Date: 2010-12-03 sidebar: remove NemoSidebar and NemoSidebarProvider We'll hardcode two sidebars (Places and Tree) from now on, so there's no need for these generic interfaces now. M libnemo-private/Makefile.am D libnemo-private/nemo-sidebar-provider.c D libnemo-private/nemo-sidebar-provider.h D libnemo-private/nemo-sidebar.c D libnemo-private/nemo-sidebar.h commit bc8c0f2fb18365f84045d0bfd6107d8541fbba59 Author: Cosimo Cecchi Date: 2010-12-03 application: don't register sidebars anymore M src/nemo-application.c commit 0bfd0a8d7d69058d486ab30580e2623166a5a555 Author: Cosimo Cecchi Date: 2010-12-03 sidebar: remove NemoHistorySidebar This is part of the 3.0 redesign plans. M po/POTFILES.in M src/Makefile.am M src/nemo-application.c D src/nemo-history-sidebar.c D src/nemo-history-sidebar.h commit 2a20b38c4dc870d8f3a85dae222c125a77f40229 Author: Michael Terry Date: 2010-11-26 Add --print-uri option M src/nemo-connect-server-dialog-main.c commit 7e794ed30195f15e78b6d96a9064681a128e41d6 Author: Cosimo Cecchi Date: 2010-12-03 search-engine: remove Beagle support M libnemo-private/Makefile.am D libnemo-private/nemo-search-engine-beagle.c D libnemo-private/nemo-search-engine-beagle.h M libnemo-private/nemo-search-engine.c commit fdae502d65f3c40dee4d418bd9d21270940aa93d Author: Cosimo Cecchi Date: 2010-12-03 libnemo-extension: use a different directory for 3.0 So that old extensions do not pull in GTK+2 code. https://bugzilla.gnome.org/show_bug.cgi?id=624244 M configure.in M libnemo-extension/Makefile.am M libnemo-extension/libnemo-extension-uninstalled.pc.in M libnemo-extension/libnemo-extension.pc.in M libnemo-private/Makefile.am M nemo-sendto-extension/Makefile.am commit d9331ae959593cd81f59b39d61597278162ac7eb Author: Matthias Clasen Date: 2010-12-02 Fix the build with latest GTK+ Various GdkDrawable APIs have been replaced by GdkWindow ones, and GtkFunction is no more, use GSourceFunc instead. M libnemo-private/nemo-icon-container.c M libnemo-private/nemo-tree-view-drag-dest.c M src/nemo-desktop-window.c commit 8ee6c67b5fe1b12999c2e2f4c7f42d85a497c233 Author: Cosimo Cecchi Date: 2010-12-02 dbus-manager: add DEBUG messages for NemoDBusManager M libnemo-private/nemo-dbus-manager.c M libnemo-private/nemo-debug.c M libnemo-private/nemo-debug.h commit 5433f57cec515bce9bddecc8a569aa02b597a75e Author: Cosimo Cecchi Date: 2010-12-02 debug: fix a stupid typo M libnemo-private/nemo-debug.c commit 46d6bbb1208c409b8507dc31ef6aaf895b55ba92 Author: Cosimo Cecchi Date: 2010-12-02 debug: check for flags in DEBUG_FILES M libnemo-private/nemo-debug.c commit a440c05ceebdbfc21c8e585087574c7827e5f1f2 Author: Cosimo Cecchi Date: 2010-12-02 eel-debug: remove unused code M eel/eel-debug.c M eel/eel-debug.h commit 2f90dc16bc0a9b9fb5e862ad5759aed04b98872c Author: Cosimo Cecchi Date: 2010-12-02 debug-log: nuke nemo-debug-log M libnemo-private/Makefile.am D libnemo-private/nemo-debug-log.c D libnemo-private/nemo-debug-log.h commit 2c9da31ce8252d32eae502b584379d53631f1a91 Author: Cosimo Cecchi Date: 2010-12-02 main: don't hook up with nemo-debug-log M src/nemo-main.c commit 218670bd1f1f9d8f980460c9f2ed721ff57c04a7 Author: Cosimo Cecchi Date: 2010-12-02 general: use new DEBUG macros instead of nemo_debug_log M libnemo-private/nemo-file-operations.c M libnemo-private/nemo-icon-container.c M libnemo-private/nemo-icon-dnd.c M libnemo-private/nemo-mime-actions.c M libnemo-private/nemo-tree-view-drag-dest.c M src/file-manager/fm-directory-view.c M src/file-manager/fm-error-reporting.c M src/file-manager/fm-list-view.c M src/file-manager/fm-tree-view.c M src/nemo-application-smclient.c M src/nemo-application.c M src/nemo-places-sidebar.c M src/nemo-window-manage-views.c commit 695b2d933406b039fb46592b90b5f844d381490c Author: Cosimo Cecchi Date: 2010-12-02 debug: add a new, simpler nemo-debug module, based on Empathy's We lose dumping the log to a file automatically, but we gain a lot in flexibility. M configure.in A libnemo-private/nemo-debug.c A libnemo-private/nemo-debug.h commit b2edace4164fbec353bba497ebb34914864bcd1a Author: Cosimo Cecchi Date: 2010-12-02 dbus-manager: add an EmptyTrash operation M libnemo-private/nemo-dbus-manager.c commit 2e210578261c9060111efba1a705c78ff2c369b9 Author: Cosimo Cecchi Date: 2010-12-02 dbus-manager: implement the CopyURIs method M libnemo-private/nemo-dbus-manager.c M libnemo-private/nemo-dbus-manager.h commit 5c9f1adb43052b19499f6ff1ad403f2222f0e091 Author: Cosimo Cecchi Date: 2010-12-02 application: make the application-id not clash with the dbus interface M src/nemo-application.c commit b238be002e446e102e056b8484666f21feb6b6f2 Author: Cosimo Cecchi Date: 2010-12-01 dbus-manager: add a skeleton of NemoDBusManager M libnemo-private/Makefile.am A libnemo-private/nemo-dbus-manager.c A libnemo-private/nemo-dbus-manager.h M src/nemo-application.c commit 41b91ea64d9731a48ffab621e293f7ff05d88acd Author: Cosimo Cecchi Date: 2010-12-01 icon-canvas-item: tweak the resize bounding box color according to style M libnemo-private/nemo-icon-canvas-item.c commit 7bd06fab98c2c61a170535b6ebd94da1a4db7466 Author: Cosimo Cecchi Date: 2010-12-01 icon-dnd: fix DnD highlighting regression M libnemo-private/nemo-icon-dnd.c commit 8cb07ccf2ddcf0cb8557c763f8905558d67736de Author: Benjamin Otte Date: 2010-12-01 eel: Use future-safe macro to query the X display M eel/eel-canvas-rect-ellipse.c commit c2c4076ceb2216ff5e696b4e78aeb63e0f86c437 Author: Benjamin Otte Date: 2010-12-01 Remove unnecessary drawable cast M libnemo-private/nemo-icon-dnd.c commit 1cfc56563e6cf867af5e3a98cfb9c87281b5f4c2 Author: Cosimo Cecchi Date: 2010-12-01 build: bump required GTK+ version M configure.in commit de8cb567358f658c167b9413a077b681123ab056 Author: Cosimo Cecchi Date: 2010-12-01 mime-application-chooser: plug a leak M libnemo-private/nemo-mime-application-chooser.c commit 466fe29b2d1790b8f61d854b0294205a9f437fd2 Author: Cosimo Cecchi Date: 2010-12-01 mime-actions: remove unused code M libnemo-private/nemo-mime-actions.c M libnemo-private/nemo-mime-actions.h commit fe8ffd8635abfcf280e06c9385bfae4dd01621a4 Author: Cosimo Cecchi Date: 2010-12-01 program-choosing: remove commented out code M libnemo-private/nemo-program-choosing.c commit c0b34d1f07b2b1b1f11f1dbab75f8b3303543078 Author: Cosimo Cecchi Date: 2010-12-01 i18n: update POTFILES.in M po/POTFILES.in commit c745b5c50ea9e103861cafb4ce210b375034dd8d Author: Cosimo Cecchi Date: 2010-12-01 mime-application-chooser: add a 'Show other applications' button Similar to GtkAppChooserDialog; the 'Add' button now adds the currently selected application, and it becomes insensitive when necessary. M libnemo-private/nemo-mime-application-chooser.c commit 677c52173a1f5ba1a8e3db8c70cd96f27fb90200 Author: Cosimo Cecchi Date: 2010-11-30 mime-application-chooser: tweak buttons ordering M libnemo-private/nemo-mime-application-chooser.c commit 2d58f04289c31c4a7de9318327e3edd111d8735d Author: Cosimo Cecchi Date: 2010-11-30 mime-application-chooser: use populate-popup for removing apps Instead of having yet another button. M libnemo-private/nemo-mime-application-chooser.c commit 3e5dcec59709514b2998963b539ec77ed9d5c46f Author: Cosimo Cecchi Date: 2010-11-23 open-with-dialog: remove NemoOpenWithDialog It's useless now that we ported everything to GtkAppChooser. M libnemo-private/Makefile.am D libnemo-private/nemo-open-with-dialog.c D libnemo-private/nemo-open-with-dialog.h commit f83be2507361b337fb7eaf59a50cdca7f49ca53c Author: Cosimo Cecchi Date: 2010-11-23 properties-window: use new NemoMimeApplicationChooser API M src/file-manager/fm-properties-window.c commit e86ded0eb9842eb9d4a0ac6c83333e9ce3ffcd0e Author: Cosimo Cecchi Date: 2010-11-23 mime-application-chooser: rewrite to make it use GtkAppChooserWidget M libnemo-private/nemo-mime-application-chooser.c M libnemo-private/nemo-mime-application-chooser.h commit 7734204774ab87e07ddec50acbb62e3f9acd1120 Author: Cosimo Cecchi Date: 2010-11-23 mime-actions: port to GtkAppChooserDialog M libnemo-private/nemo-mime-actions.c commit 34a18d5b19df317bf19e4fdc67ea0c4007ed0375 Author: Cosimo Cecchi Date: 2010-11-23 directory-view: port to GtkAppChooserDialog M libnemo-private/nemo-mime-actions.c M src/file-manager/fm-directory-view.c commit d7acbb0c1d58205f5c97d7c80fde034088feef9f Author: Jorge González Date: 2010-11-30 Updated Spanish translation M po/es.po commit 20c94e66a20a9d2d4643ce58b2696bbf5e5334b8 Author: Cosimo Cecchi Date: 2010-11-30 build: remove old X_LIBS variable M eel/Makefile.am commit fd03f393a55ea377583b821f578951b3ace237a5 Author: Cosimo Cecchi Date: 2010-11-30 docs: remove manual for nemo-file-management-properties The binary is not installed anymore. M docs/Makefile.am D docs/nemo-file-management-properties.1 commit 41059f897c33f981ce03c1dd62bcbbd20a53c52d Author: Cosimo Cecchi Date: 2010-11-29 Release 2.91.3 M NEWS M configure.in commit b83c479d40b86d8a4e537a1c30d2375a1277898c Author: Cosimo Cecchi Date: 2010-11-29 i18n: update POTFILES.in M po/POTFILES.in commit b088cc0bcf36bcbf4551de2e972b44423c92fb4f Author: Cosimo Cecchi Date: 2010-11-29 gsettings: remove org.gnome.media-handling gschemas from nemo They don't belong here anymore now that the media preferences have been moved elsewhere. M libnemo-private/Makefile.am M libnemo-private/nemo.convert D libnemo-private/org.gnome.media-handling.gschema.xml.in commit 6cb06b98d4c492ec774b9335565994190857c82d Author: Daniel Nylander Date: 2010-11-28 Updated Swedish translation M po/sv.po commit 92706c7ce3bd9dd703d7ad118e6bb95723e6cdd8 Author: Victor Osadci Date: 2010-11-27 query-editor: identify ogg/vorbis files as music (#365095) M src/nemo-query-editor.c commit aa9b6675d8a92329a7cba69c9bdb53fa30f87858 Author: Cosimo Cecchi Date: 2010-11-26 connect-dialog: use the correct string for gvfs (#635431) M src/nemo-connect-server-dialog.c commit 9d2d96fd2968e8f8a9b1f3a46660f27d6377f145 Author: Cosimo Cecchi Date: 2010-11-25 autorun: remove nemo-autorun.[ch] M libnemo-private/Makefile.am D libnemo-private/nemo-autorun.c D libnemo-private/nemo-autorun.h M po/POTFILES.in commit 912320008beae418d71a74361c1a0d9bcdae6f60 Author: Cosimo Cecchi Date: 2010-11-25 autorun: move get_x_content_types_for_mount () to file-utilities So that we can remove nemo-autorun.[ch] M libnemo-private/nemo-file-utilities.c M libnemo-private/nemo-file-utilities.h M src/file-manager/fm-directory-view.c M src/nemo-window-manage-views.c commit 9281506c5b264e81a4610a4f6a20f2a42eab207b Author: Cosimo Cecchi Date: 2010-11-25 autorun: move nemo_launch_application_for_mount () Also add the parent window parameter to it, so that we get startup notification. M libnemo-private/nemo-autorun.c M libnemo-private/nemo-autorun.h M libnemo-private/nemo-program-choosing.c M libnemo-private/nemo-program-choosing.h M src/nemo-x-content-bar.c commit 7c71b7f383ece8ad9be39fcb28b9377364a35cb3 Author: Tomas Bzatek Date: 2010-11-23 Prevent showing asserts when GFile is no longer valid after unmount M src/nemo-application.c commit 36965ee18ed890f6899588df730345986213d7d1 Author: Tomas Bzatek Date: 2010-11-23 Includes cleanup M libnemo-private/nemo-autorun.c M libnemo-private/nemo-autorun.h commit e4fb850f0fb43a08ebca016c31fece6211073cb7 Author: Tomas Bzatek Date: 2010-11-23 Remove media preferences GSettings stuff M libnemo-private/nemo-global-preferences.c M libnemo-private/nemo-global-preferences.h commit 33df383a2692dd8d8aba802710da28a6063f3bbc Author: Tomas Bzatek Date: 2010-11-23 Remove unused autorun code M libnemo-private/nemo-autorun.c M libnemo-private/nemo-autorun.h commit 9729357aa457bbc78e6e2370015b6ccb3e73cbf6 Author: Tomas Bzatek Date: 2010-11-23 Don't autorun on nemo_file_operations_mount_volume() M libnemo-private/nemo-file-operations.c M libnemo-private/nemo-file-operations.h M src/nemo-places-sidebar.c commit ab7d5069f1658edbf6516f441801d0d2599f658b Author: Tomas Bzatek Date: 2010-11-23 Drop obsolete eject-button signal watch M src/nemo-application.c commit 045224ee72d896499fc0b04ced7dccb3e135e177 Author: Tomas Bzatek Date: 2010-11-23 Includes cleanup M libnemo-private/nemo-mime-actions.c M libnemo-private/nemo-vfs-file.c M src/nemo-file-management-properties.c M src/nemo-places-sidebar.c commit 8e0a51410a116ce875d04d205d3e89398bfae970 Author: Tomas Bzatek Date: 2010-11-23 Remove autorun after mount This way we lose ability to focus already open windows after mount. Since gnome-settings-daemon uses default folder handler to show freshly mounted folder, there's little we can do. M src/nemo-application.c commit cdae5fea2a466bf09ef236499e9c442888516cb1 Author: Tomas Bzatek Date: 2010-11-23 Don't automount volumes on nemo startup M src/nemo-application.c M src/nemo-application.h commit 36831040af2e262ee8e66768152d2057139af8b8 Author: Cosimo Cecchi Date: 2010-11-15 file-management-properties: remove the properties binary We are moving the Media preferences to a separate control-center panel, as they're desktop-wide settings. The actual autorun/automount will be handled by gnome-settings-daemon. The result is that we don't need to install our old gnome-control-center capplet anymore, so we can remove all this code. M configure.in M data/Makefile.am D data/nemo-file-management-properties.desktop.in.in M src/Makefile.am D src/nemo-file-management-properties-main.c M src/nemo-file-management-properties.c M src/nemo-file-management-properties.ui commit a6f4e065a66eeb5d74322bfb5cfd4320135a61d1 Author: Kjartan Maraas Date: 2010-11-20 Updated Norwegian bokmÃ¥l translation M po/nb.po commit b28340da1b97026938035fdb8544c4b8722ecdc9 Author: Gheyret T.Kenji Date: 2010-11-20 Added UG translation M po/ug.po commit df382f58d0ec2a1b779cf80048ad70944c8859df Author: Tomas Bzatek Date: 2010-11-16 Use G_SETTINGS_BIND_INVERT_BOOLEAN where appropriate M src/nemo-file-management-properties.c commit a5caa0e98c844a23656cafaa9b6f985dada7bc51 Author: Javier Jardón Date: 2010-11-16 Use GSourceFunc instead GtkFunction M libnemo-private/nemo-dnd.c M libnemo-private/nemo-dnd.h M libnemo-private/nemo-icon-container.c commit 812fcf2fbf4da7c97a6fc9eca1c64f9c9c225c90 Author: Daniel Șerbănescu Date: 2010-11-14 Updated Romanian translation M po/ro.po commit d9d2ed6cde69ce2ffb2fdd6028e36a0e760672a8 Author: Lucian Adrian Grijincu Date: 2010-11-14 Updated Romanian translation M po/ro.po commit e7d2c7468f0b04e6ee87981c291d6f2ed1aa87bb Author: Theppitak Karoonboonyanan Date: 2010-11-14 Updated Thai translation. M po/th.po commit f7b5d4b653317f080547c7b18649fd45531772a4 Author: Gheyret T.Kenji Date: 2010-11-13 Added UG translation M po/ug.po commit 5afa93854e2bde4f89910cff3a98546a66d880d2 Author: Baptiste Mille-Mathias Date: 2010-11-12 libgnome-desktop build fixes More porting from libgnome* to libgnome-desktop to fix build breakage M eel/eel-gnome-extensions.c M libnemo-private/nemo-thumbnails.c M src/file-manager/fm-properties-window.c commit 7c042f64ee59d9f149252f7e78e11ca6ad7d9dbe Author: Cosimo Cecchi Date: 2010-11-12 application: fix interaction with the session manager The porting to GApplication broke the session management code that took care of saving and loading existing windows if the session saving is active. We now fix it by changing a bit our startup process, so that the EggSMClient object is actually created at the right time. M src/nemo-application-smclient.c M src/nemo-application-smclient.h M src/nemo-application.c M src/nemo-application.h commit fb574c106185e773449a6d92bd54512b2074dd01 Author: Florian Müllner Date: 2010-11-11 desktop-background: Fix include The file gnome-bg.h was moved from libgnomeui to libgnome-desktop. M configure.in M libnemo-private/nemo-desktop-background.c commit a2eb813e14be86168173e4f95385934feddf2937 Author: Javier Jardón Date: 2010-11-11 Use gtk_separator_new() instead gtk_[h|v]separator_new() M libnemo-private/nemo-column-chooser.c M src/file-manager/fm-properties-window.c commit 3b586c5e61ce80a527f2abdc6d3e45189fee6985 Author: Tomas Bzatek Date: 2010-11-10 Bump gnome-desktop requirement for new gnome-bg M configure.in commit 87d8e557c13f3d51098cfe03cf2727102e8a8937 Author: Cosimo Cecchi Date: 2010-11-10 Release 2.91.2 M NEWS M configure.in commit 7b1c3ddd655977e3a26365942d21d83abed1f75d Author: Cosimo Cecchi Date: 2010-11-09 file: remove nemo_file_get_emblem_pixbufs() It's not used anymore. M libnemo-private/nemo-file.c M libnemo-private/nemo-file.h commit 6a276d59af54413c59188ffb0143ffa6e1fe94a1 Author: Cosimo Cecchi Date: 2010-11-09 icon-container: don't care about the emblem size Use only GIcons for emblems, not pixbufs. We used to rely on pixbufs to get emblems at a specific size, but that's not important anymore now that GTK+ takes care of it internally. M libnemo-private/nemo-icon-container.c M libnemo-private/nemo-icon-container.h M src/file-manager/fm-icon-container.c commit b118093fbc2b5a236a4502ac6e053ab9e64a9db1 Author: Tomas Bzatek Date: 2010-11-09 Port desktop background handling to GSettings See bug 626018 for details. M libnemo-private/nemo-desktop-background.c commit 36f64c7f85e305939ec9d5ddb7bb7a6a121c0c08 Author: Matej UrbanÄiÄ Date: 2010-11-06 Updated Slovenian translation M po/sl.po commit 8fd2694ee06fbbfc0cc9452b6ce5cc0a27ff160b Author: Cosimo Cecchi Date: 2010-11-05 icon-canvas-item: remove the emblem layouting code We can directly use GTK+ for this now. M libnemo-private/nemo-icon-canvas-item.c commit 79a9c6a36256d430459b4d2a7bc37e0d691c8e5a Author: Cosimo Cecchi Date: 2010-11-05 sq M libnemo-private/nemo-icon-container.c commit a728e7b830ebeccfba6d851a5b005033ba07189b Author: Cosimo Cecchi Date: 2010-11-05 icon-container: apply emblems directly on the pixbuf Do that before setting the pixbuf to the NemoIconCanvasItem, so the logic in there can be removed. M libnemo-private/nemo-icon-container.c commit e72391a9cecd0fe11458a6633edde3e800a797aa Author: Cosimo Cecchi Date: 2010-11-05 general: use GdkPixbuf/GIcon interface to set emblems in treeviews So that emblems get composited for us also on pixbufs such as thumbnails. M configure.in M src/file-manager/fm-list-model.c M src/file-manager/fm-tree-model.c commit 4882f2ac24dfcf33e06e5e9a06dd2cd0368069ec Author: Cosimo Cecchi Date: 2010-11-04 application: fix some bad interactions with GApplication M src/nemo-application.c M src/nemo-application.h commit e038864cdaf728b1a8407dfb8e5949cf467b72b7 Author: Ivar Smolin Date: 2010-11-03 [l10n] Updated Estonian translation M po/et.po commit 72b34f160a49edc40dccfb435330e30cd14feb9c Author: Yaron Shahrabani Date: 2010-11-03 Updated Hebrew translation. M po/he.po commit a0c3d8e339625eb1f84b769a4f81fd73785556bc Author: Takayuki KUSANO Date: 2010-11-03 Updated Japanese translation M po/ja.po commit 805a147bac55d38464f97ce933b33b8e7e42432d Author: Fran Diéguez Date: 2010-11-03 Updated Galician translations M po/gl.po commit 373683da693e6f4a768c7eb6f1fc793315c23db7 Author: Cosimo Cecchi Date: 2010-11-02 pathbar: fix crasher when unmounting volumes (#627901) M src/nemo-pathbar.c commit 57f92209189de791904b014f49b8a383ca1a5bd2 Author: Cosimo Cecchi Date: 2010-11-02 build: use X11 pkg-config files instead of homebrew checks M configure.in commit 64640897a2357e6fc442e14372ca3950e4b54090 Author: Ahmed Noor Kader Mustajir Md Eusoff Date: 2010-11-02 Partial update of Malay translation M po/ms.po commit efe7e4727d56bc8872557674aa90037b255229d5 Author: Jorge González Date: 2010-11-01 Updated Spanish translation M po/es.po commit d61097230c3b77931b7fc6212f70104f1fcdab04 Author: Cosimo Cecchi Date: 2010-11-01 Release 2.91.1 M NEWS M configure.in M po/POTFILES.in commit 2b99456d621c08bd097b87726704e671c76be1a1 Author: Cosimo Cecchi Date: 2010-11-01 [eel] remove eel_gtk_adjustment* functions They should not be needed now. M eel/eel-gtk-extensions.c M eel/eel-gtk-extensions.h commit 8b4271f5ad62d00b76d7e34a594c9b1819eb495e Author: Cosimo Cecchi Date: 2010-11-01 desktop-icon-view: don't use eel helper to set adjustment values M src/file-manager/fm-desktop-icon-view.c commit 3a9c6cd783507cc2fbd0a838cd6710f74e7f17dd Author: Cosimo Cecchi Date: 2010-11-01 icon-container: don't use eel helper to set adjustment values M libnemo-private/nemo-icon-container.c commit 7029d317446f26f829a794884abe07d6ce980a5f Author: Cosimo Cecchi Date: 2010-11-01 canvas: remove commented out code M eel/eel-canvas.c commit 27f14a83ca6b656c20f6f7851b11dee12bfd4540 Author: Holger Berndt Date: 2010-10-05 Add possibility to register an external bulk rename tool If the new setting "bulk-rename-tool" in org.gnome.nemo.preferences is set to a non-empty string, it is treated as a bulk renamer and gets invoked on a Rename action if multiple files are selected. Nemo appends a space separated list of URIs of all selected files to the command string. https://bugzilla.gnome.org/show_bug.cgi?id=306489 M libnemo-private/nemo-global-preferences.h M libnemo-private/org.gnome.nemo.gschema.xml.in M src/file-manager/fm-directory-view.c commit b4aa3c083ab7616f321df4ade75e4d850142eff6 Author: Bastien Nocera Date: 2010-10-29 Move nemo-sendto extension to nemo And add a check for the presence of nemo-sendto to the initialisation of the object. Building the extension is optional, though on by default. https://bugzilla.gnome.org/show_bug.cgi?id=633485 M Makefile.am M configure.in A nemo-sendto-extension/Makefile.am A nemo-sendto-extension/nemo-nste.c A nemo-sendto-extension/nemo-nste.h A nemo-sendto-extension/nemo-sendto-module.c commit 0609431a5cb3803d0b98bd333f90e3c7796f86b7 Author: Paolo Borelli Date: 2010-11-01 Use gtk_paned_new instead gtk_[h|v]paned_new M src/nemo-navigation-window.c commit 059d9a384aedcc6dcc1e249a9979922278a90f60 Author: Yaron Shahrabani Date: 2010-11-01 Updated Hebrew translation. M po/he.po commit 802e1967cdf301a50b8403cfe820097561c60033 Author: Cosimo Cecchi Date: 2010-11-01 [eel] remove unused eel_gradient code M eel/eel-gdk-extensions.c M eel/eel-gdk-extensions.h commit 7dee3226ad6b3aa1c782cc3d2969e32c5eeae3f3 Author: Cosimo Cecchi Date: 2010-11-01 [eel] remove eel_gdk_pixbuf_list_ref() M eel/eel-gdk-pixbuf-extensions.c M eel/eel-gdk-pixbuf-extensions.h M libnemo-private/nemo-icon-canvas-item.c commit 00c0b9daa2053a110e17c64fb79ce4884290dc76 Author: Cosimo Cecchi Date: 2010-11-01 [eel] remove unused eel_get_filename_charset() M eel/eel-glib-extensions.c M eel/eel-glib-extensions.h commit 31dfbdc19075ddf92b4f04a2f84e3111c3fb429b Author: Cosimo Cecchi Date: 2010-11-01 [eel] remove eel_gtk_widget_set_shown() It's not used anymore. M eel/eel-gtk-extensions.c M eel/eel-gtk-extensions.h commit bb145a018a9d66b748971e40be4e09a7f843b2be Author: Cosimo Cecchi Date: 2010-11-01 places-sidebar: use gtk_widget_set_visible() instead of the eel helper M src/nemo-places-sidebar.c commit 654b8f8a52d2343293c03eec304d20b7904867a1 Author: Jorge González Date: 2010-10-31 Updated Spanish translation M po/es.po commit 5e669515fd7f760382e6b7aa1449734a35a2d7f4 Author: Cosimo Cecchi Date: 2010-10-31 general: use g_list_free_full() instead of eel functions M configure.in M eel/eel-gdk-pixbuf-extensions.c M eel/eel-gdk-pixbuf-extensions.h M eel/eel-glib-extensions.c M eel/eel-glib-extensions.h M libnemo-private/nemo-autorun.c M libnemo-private/nemo-clipboard.c M libnemo-private/nemo-debug-log.c M libnemo-private/nemo-directory-async.c M libnemo-private/nemo-directory.c M libnemo-private/nemo-dnd.c M libnemo-private/nemo-file-changes-queue.c M libnemo-private/nemo-file-operations.c M libnemo-private/nemo-file-utilities.c M libnemo-private/nemo-file.c M libnemo-private/nemo-icon-canvas-item.c M libnemo-private/nemo-icon-container.c M libnemo-private/nemo-merged-directory.c M libnemo-private/nemo-mime-actions.c M libnemo-private/nemo-mime-application-chooser.c M libnemo-private/nemo-open-with-dialog.c M libnemo-private/nemo-program-choosing.c M libnemo-private/nemo-query.c M libnemo-private/nemo-search-engine-beagle.c M libnemo-private/nemo-search-engine-simple.c M libnemo-private/nemo-search-engine-tracker.c M src/file-manager/fm-directory-view.c M src/file-manager/fm-list-model.c M src/file-manager/fm-list-view.c M src/file-manager/fm-properties-window.c M src/file-manager/fm-tree-model.c M src/file-manager/fm-tree-view.c M src/nemo-application.c M src/nemo-bookmark-list.c M src/nemo-history-sidebar.c M src/nemo-navigation-window-slot.c M src/nemo-pathbar.c M src/nemo-places-sidebar.c M src/nemo-query-editor.c M src/nemo-spatial-window.c M src/nemo-trash-bar.c M src/nemo-window-manage-views.c M src/nemo-window-slot.c M src/nemo-window.c commit 7d05f8804f044ef13b4f89a49a1a7b7730f3a279 Author: Cosimo Cecchi Date: 2010-10-30 build: bump GLib and GTK+ requirements M configure.in commit d8ad1ab61cdb9929a8cb4f7d393e8b501e054289 Author: Cosimo Cecchi Date: 2010-10-30 application: use prettier format strings M src/nemo-application.c commit f48796637854ca784f7458a387e3607917ef5990 Author: Cosimo Cecchi Date: 2010-10-30 application: fix interaction with SMCLient Use late-initialization, otherwise we and up locked while reading session information. Also, don't try to use that information more than once in the app lifetime. M src/nemo-application-smclient.c M src/nemo-application.c M src/nemo-application.h commit d09b45c72bb1c3573b8f1c0bc83f1d8448ba5309 Author: Cosimo Cecchi Date: 2010-10-30 smclient: backport and tweak a patch for late SMClient initialization This is a tweak of a patch bt Vincent Untz, see libegg commit dc8db697dfaf8e57fbc9fe5251675a27e8c54f44 M cut-n-paste-code/libegg/eggsmclient.c commit 2260005986d8c620669e56c4b9f2fba12e8e0625 Author: Cosimo Cecchi Date: 2010-10-30 canvas: use GTK_LAYOUT casts instead of going through the parent struct That's just confusing. M eel/eel-canvas.c commit ebee13eef39824ebe536d0e42a35337097a33942 Author: Cosimo Cecchi Date: 2010-10-30 desktop-icon-view: don't unconditionally unref the desktop background M src/file-manager/fm-desktop-icon-view.c commit e383af25948a9b93915b1c39ae379bf0eace06ac Author: Cosimo Cecchi Date: 2010-10-30 application: close desktop windows on quit M src/nemo-application.c commit 12c7a03bfe3c49078cb5b44ff2651eb9ce1edce4 Author: Matthias Clasen Date: 2010-10-28 editable-label: don't use deprecated size_request vfunc M eel/eel-editable-label.c commit b532d0d9290d1731203d971e7c679979265f0a43 Author: Cosimo Cecchi Date: 2010-10-28 window: don't use deprecated size_request vfunc Also, cleanup the size_request code a bit. M src/nemo-window.c commit 1cdd0b41bf9de69a93cb166636d7eccff9f5355f Author: Cosimo Cecchi Date: 2010-10-28 icon-container: remove size_request vfunc impl It doesn't seem to do anything useful. M libnemo-private/nemo-icon-container.c commit 22cb1accd98c1ae10938eac10cc6beda8fb6b145 Author: Cosimo Cecchi Date: 2010-10-28 pathbar: don't use deprecated size_request vfunc M src/nemo-pathbar.c commit 305d1b05896e39a5e3181247d9d4e837b4c35067 Author: Cosimo Cecchi Date: 2010-10-27 image-properties-page: don't special-case old EXIF/XMP APIs M src/nemo-image-properties-page.c commit 393df7a83c0a779784095a993db238867daeaa7a Author: Cosimo Cecchi Date: 2010-10-27 build: simplify configure script Also, don't support old exif/exempi APIs anymore. D acconfig.h M check-headers-in-Makefile.pl M configure.in M cut-n-paste-code/libegg/Makefile.am M docs/reference/libnemo-extension/Makefile.am M eel/Makefile.am M libnemo-extension/Makefile.am M libnemo-private/Makefile.am M src/Makefile.am M src/file-manager/Makefile.am M test/Makefile.am commit 8d9d6128b69e641c2b77322e8832be8ae0b9bf93 Author: Cosimo Cecchi Date: 2010-10-27 application: properly handle --no-default-window M src/nemo-application.c M src/nemo-main.c commit 13630f0b4d58e3b2be6781f3049d13c1095b0dca Author: Cosimo Cecchi Date: 2010-10-27 application: perform checks in NemoApplication if requested so M src/nemo-application.c M src/nemo-main.c commit 48f17e3726bc0e37d35714d5f18ce56498508d79 Author: Cosimo Cecchi Date: 2010-10-27 application: respect the 'exit-with-last-window' setting. If it's set, we quit immediately. M src/nemo-application.c commit df8bdf21cffc1b2370b34173487219ee3568d040 Author: Cosimo Cecchi Date: 2010-10-27 application: cleanup M src/nemo-application.c commit e0f68583d47d23738afd7695f6137e2d2552b45d Author: Cosimo Cecchi Date: 2010-10-27 application: don't unref unconditionally As we're building the NemoUndoManager in _startup() now, which might not have been called if the application is remote. M src/nemo-application.c commit e297d4108760e701b3cd276e9d4612b1933efee0 Author: Cosimo Cecchi Date: 2010-10-27 application: add the desktop windows to the application window list So that we don't quit immediately when we close the browser window. M src/nemo-application.c commit 248339e40908fc58a5edad462c77b667d5cb8315 Author: Cosimo Cecchi Date: 2010-10-27 application: remove get_n_windows() M src/nemo-application.c M src/nemo-application.h M src/nemo-window-manage-views.c commit 56dd8bb3d5594d9caffda23400f7bd64c94e5a4c Author: Cosimo Cecchi Date: 2010-10-27 application: move other init/cleanup functions in the app class Instead of mixing them between nemo-main and nemo-application M src/nemo-application.c M src/nemo-application.h M src/nemo-main.c commit 2d702e1eeb7f9a8ad1286db39f5088bf39f1229c Author: Cosimo Cecchi Date: 2010-10-27 application: make sure to initialize GTK+ during _startup() M src/nemo-application.c commit 0712652a5f3730d10bca4040b68f3dda1e98c0bf Author: Cosimo Cecchi Date: 2010-10-27 desktop-window: monitor the desktop dir key from NemoDesktopWindow Remove that code from NemoApplication, it doesn't belong there. M src/nemo-desktop-window.c commit 7500dd445df5a0cf082464f099169666727f6ec2 Author: Cosimo Cecchi Date: 2010-10-27 [src] use new GtkApplication API to handle windows Instead of old nemo-main/NemoApplication functions to register windows within the mainloop. M src/nemo-application-smclient.c M src/nemo-navigation-window-menus.c M src/nemo-window-manage-views.c M src/nemo-window.c commit a8481ee4bd8d34e792d63598fa5efb47736f9de4 Author: Cosimo Cecchi Date: 2010-10-27 main: adapt to GtkApplication changes This code should be much easier now that window lifecycle is handled by GtkApplication itself. M src/Makefile.am M src/nemo-application-smclient.c M src/nemo-application.c M src/nemo-main.c D src/nemo-main.h M src/nemo-navigation-window.c M src/nemo-spatial-window.c M src/nemo-window-manage-views.c M src/nemo-window.c commit b03b081e91d376140e4fc94fd885bf7d13fc57c5 Author: Cosimo Cecchi Date: 2010-10-27 application: make NemoApplication a GtkApplication subclass M src/nemo-application.c M src/nemo-application.h commit bb52a77678b732626693869e315bb78c77635a0b Author: Cosimo Cecchi Date: 2010-10-26 application: replace custom GIcon custom load/save code with GIO one M src/nemo-application-smclient.c commit dc0b129436d5c9eb712a80852768387fc2b8cd7c Author: Cosimo Cecchi Date: 2010-10-26 application: split SmClient code in its own module. M src/Makefile.am A src/nemo-application-smclient.c A src/nemo-application-smclient.h M src/nemo-application.c commit d811553a4e74106efdf8bf6c91c6d29944ed6df7 Author: Cosimo Cecchi Date: 2010-10-22 general: use new GtkScrollable interface M eel/eel-canvas.c M libnemo-private/nemo-icon-container.c M libnemo-private/nemo-icon-dnd.c M libnemo-private/nemo-tree-view-drag-dest.c M src/file-manager/fm-desktop-icon-view.c commit f9aa5d9442ae918bb1e583d1543b8da0b51fb959 Author: Cosimo Cecchi Date: 2010-10-22 application: go back to libunique for now While GApplication API settles. Also, porting to the new GApplication would require quite some refactoring. M configure.in M src/nemo-application.c M src/nemo-application.h M src/nemo-main.c commit 0e755165bc561b2c61628519c090cd826f7609c6 Author: Cosimo Cecchi Date: 2010-10-22 build: bump GTK+ required version M configure.in commit 6669f155734c320617bcf79f3b5d8f315f4886f9 Author: Cosimo Cecchi Date: 2010-10-22 preferences: cleanup expand/fill flags Probably a change in GTK+ requires fixing this flags, so that the dialog doesn't look odd. M src/nemo-file-management-properties.ui commit 18fc6dd2516f9091570902640032e68b263cfddf Author: Cosimo Cecchi Date: 2010-10-22 preferences: use GtkComboBoxText in the GtkBuilder file M src/nemo-file-management-properties.ui commit f123f99bee1005cd279783f9d441f538fcf85542 Author: Cosimo Cecchi Date: 2010-10-21 [src] don't use GtkComboBox text APIs (#632651) They got replaced by GtkComboBoxText. Thanks to Mathias Clasen and Flo Gravo. M src/file-manager/fm-properties-window.c M src/nemo-file-management-properties.c M src/nemo-query-editor.c M src/nemo-view-as-action.c commit d5ad28bff6c1ebcd6e1560d2036655ffa9562e8b Author: Andrej ŽnidarÅ¡iÄ Date: 2010-10-30 Updated Slovenian translation M po/sl.po commit 9c97179025ca98641737b44bf0a6409757ee2f18 Author: Carles Ferrando Date: 2010-10-29 Updated Catalan (Valencian) translation M po/ca@valencia.po commit 716ad3f41eae1773cc260427ccf87c959a2bc3a3 Author: Jorge González Date: 2010-10-28 Updated Spanish translation M po/es.po commit 4d1464f859439b12b8c79bac919da333caea28a3 Author: Mattias Põldaru Date: 2010-10-28 [l10n] Updated Estonian translation M po/et.po commit bbd7d86fc4ef27f4df3537844fc5998e4c29949e Author: Yaron Shahrabani Date: 2010-10-26 Updated Hebrew translation. M po/he.po commit 540dc54229fee2e5e5d53453c61d4dd48537545c Author: Aron Xu Date: 2010-10-25 Update Simplified Chinese translation. M po/zh_CN.po commit 87ccfbf66ebed490eb8c921a712d8cb94e4ad817 Author: Gheyret T.Kenji Date: 2010-10-21 Added UG translation M po/ug.po commit c30f0785727ebad08f3891d594831596d16598e0 Author: Fran Diéguez Date: 2010-10-20 Updated Galician translations M po/gl.po commit 18e74876421fd38584c9dd105914d7a626aed3b7 Author: Mario Blättermann Date: 2010-10-19 [i18n] Updated German translation M po/de.po commit 1f135b5da410b7a0052d22322d740037036b39b0 Author: Tomas Bzatek Date: 2010-10-19 Use gnome global 'show-desktop-icons' settings See bug 632225 for details. M libnemo-private/nemo-global-preferences.c M libnemo-private/nemo-global-preferences.h M libnemo-private/nemo.convert M libnemo-private/org.gnome.nemo.gschema.xml.in M src/nemo-application.c commit c0e91e6a53dc3d920a25be1cf836c28730e193d8 Author: Милош Поповић Date: 2010-10-18 Updated Serbian Translation M po/sr.po M po/sr@latin.po commit 2c04203ef9c3be3fd209589e8ec7007889323991 Author: Mattias Põldaru Date: 2010-10-16 [l10n] Updated Estonian translation M po/et.po commit d3ab8e137ae957e5afef54bf0ec1e275b96caab5 Author: Marcus Carlson Date: 2010-07-23 image-properties-page: call gdk_pixbuf_loader_close() earlier (#558267) This helps smaller images (>8192 bytes) to signal size_prepared before reading image geometry. M src/nemo-image-properties-page.c commit 49ff3247d17e57afc3612de2f709997c8bb92408 Author: Jorge González Date: 2010-10-14 Updated Spanish translation M po/es.po commit 1cb6ea5dcb0cd384f49aac063e56d24203683602 Author: Cosimo Cecchi Date: 2010-10-14 icon-container: use the right signature for the 'preedit-changed' cb This should fix bug #629159. Thanks to Fumihito YOSHIDA to notice this. M libnemo-private/nemo-icon-container.c commit 5e383c3377ef2c2333f97102826880e86fdddef2 Author: Yaron Shahrabani Date: 2010-10-14 Updated Hebrew translation. M po/he.po commit 0f8dcf2ac394121c488afdf0fecc2b7afeb673b6 Author: Cosimo Cecchi Date: 2010-10-13 column-utilities: fix a TODO about a missing description string M libnemo-private/nemo-column-utilities.c commit b0550951f461c2033f4d1aaa4404078c7a70f220 Author: Antoine Jacoutot Date: 2010-10-13 column-utilities: disable SELinux column if !HAVE_SELINUX (#631093) M libnemo-private/nemo-column-utilities.c commit ebcbb167876f8b4491af0bc86bc29015c211b3af Author: Olivier Tilloy Date: 2010-08-17 icon-view: if possible, use the local path for the preview (#624841) This solves issues where the audio previewer is not capable of understanding some GVfs URIs. M src/file-manager/fm-icon-view.c commit 01f39f471005e788281c18da30563c0184434fff Author: Cosimo Cecchi Date: 2010-10-13 background: make the fading effect optional (#623174) This is implemented with a GSettings key. Thanks to Brian Cameron for the initial patch. M libnemo-private/nemo-desktop-background.c M libnemo-private/nemo-global-preferences.h M libnemo-private/org.gnome.nemo.gschema.xml.in commit 4cd72a64d67cdfd1d9351c52b2cf8463efd0c141 Author: Cosimo Cecchi Date: 2010-10-13 background: fix the indentation modeline M libnemo-private/nemo-desktop-background.c commit e676a40dcef267c312e27c4191adc0d22eaf1554 Author: Cosimo Cecchi Date: 2010-10-13 preferences: remove obsolete background preferences M libnemo-private/nemo-global-preferences.h M libnemo-private/nemo.convert M libnemo-private/org.gnome.nemo.gschema.xml.in commit d26ae7b60c07057c6fbf926a3a805c29a5cfc3b2 Author: A S Alam Date: 2010-10-13 update typo in translation: Punjabi M po/pa.po commit 1620bd8a4e4ab1760c5c518dd954a4471645ce87 Author: Cosimo Cecchi Date: 2010-10-12 horizontal-splitter: remove, and use a regular GtkPaned instead The feature it was bringing in (shrink when the paned handle is double-clicked) is even confusing. M libnemo-private/Makefile.am D libnemo-private/nemo-horizontal-splitter.c D libnemo-private/nemo-horizontal-splitter.h M src/nemo-navigation-window.c M src/nemo-spatial-window.c M src/nemo-window.c commit c05e2d7cdf8a5da4b9a353529ed214e7b36de8ca Author: Mattias Põldaru Date: 2010-10-11 [l10n] Updated Estonian translation M po/et.po commit 62690ab70e62ae108d1a03c0d19510c58dd882c0 Author: Jorge González Date: 2010-10-10 Updated Spanish translation M po/es.po commit 5653060d93db2686997faa8f6a10b87659d09c0a Author: Cosimo Cecchi Date: 2010-10-10 background: assume the widget is an IconContainer M libnemo-private/nemo-desktop-background.c M libnemo-private/nemo-desktop-background.h M libnemo-private/nemo-icon-dnd.c M src/file-manager/fm-desktop-icon-view.c commit 7e7691f0332a9b708217432a692cdf27e536cbcc Author: Cosimo Cecchi Date: 2010-10-10 icon-dnd: use new background API M libnemo-private/nemo-icon-dnd.c commit 843e6a9b9331a3e7a318df03b4074deb1163e386 Author: Cosimo Cecchi Date: 2010-10-10 background: make NemoDesktopBackground a singleton This avoids the need of using g_object_set_data() hacks to get the background from the desktop icon container. M libnemo-private/nemo-desktop-background.c M libnemo-private/nemo-desktop-background.h commit d4342547ebc2e26547cf8f1449bfd2e8fe4c443f Merge: eda5d36 66cd22c Author: Cosimo Cecchi Date: 2010-10-09 Merge branch 'background-untangling' commit eda5d36cadf299cf62429c1e29763b5dd3d53c40 Author: Jorge González Date: 2010-10-09 Updated Spanish translation M po/es.po commit 66cd22c908cc73954fad3e261d28ae6a05ea1bc2 Author: Cosimo Cecchi Date: 2010-10-09 background: refactor code into NemoDesktopBackground Remove the DirectoryBackground->EelBackground->GnomeBG abstraction and add a new object, NemoDesktopBackground, which is a thin wrapper around GnomeBG, which takes care of handling background changes. M eel/Makefile.am D eel/eel-background.c D eel/eel-background.h M eel/eel-lib-self-check-functions.h M eel/eel.h M libnemo-private/Makefile.am M libnemo-private/nemo-autorun.h A libnemo-private/nemo-desktop-background.c A libnemo-private/nemo-desktop-background.h D libnemo-private/nemo-directory-background.c D libnemo-private/nemo-directory-background.h M libnemo-private/nemo-icon-dnd.c M src/file-manager/fm-desktop-icon-view.c M src/file-manager/fm-directory-view.c M src/file-manager/fm-directory-view.h M src/file-manager/fm-list-view.c M test/Makefile.am M test/test.c commit 3bcd8464bcc9bdc44086275df8f6d1d29829bd8d Author: Cosimo Cecchi Date: 2010-10-08 icon-dnd: adapt to EelBackground changes. M libnemo-private/nemo-icon-dnd.c commit b6b2d222a4fc5150370589fd70811707139d3bbd Author: Cosimo Cecchi Date: 2010-10-08 directory-background: update to simplified EelBackground API EelBackground doesn't have any signals anymore, so don't try to connect to them. M libnemo-private/nemo-directory-background.c commit b137867bfaf9d1175b883d31baf18ae7e21d8549 Author: Cosimo Cecchi Date: 2010-10-08 eel-background: cleanup code not related to desktop background Remove all the EelBackground code that's not related to desktop background handling. M eel/eel-background.c M eel/eel-background.h commit c185321ed28d8aba69734039211946c739d32467 Author: Cosimo Cecchi Date: 2010-10-07 views: don't use EelBackground to set sensitive/insensitive bg Use an implementation for each view, don't relying on EelBackground. M src/file-manager/fm-empty-view.c M src/file-manager/fm-icon-view.c M src/file-manager/fm-list-view.c commit c31c5e360b0726788af93f6e404e1686d46b1f61 Author: Cosimo Cecchi Date: 2010-10-07 directory-view: call set_active() on subclasses to set insensitive bg Don't have a default implementation relying on EelBackground here. M src/file-manager/fm-directory-view.c M src/file-manager/fm-directory-view.h commit ef74d171892ed7189b4a52695ae8de575d2dac1a Author: Cosimo Cecchi Date: 2010-10-07 icon-container: add set_active() This internally replaces EelBackground usage to set the non-sensitive background on non-active panes. M libnemo-private/nemo-icon-container.c M libnemo-private/nemo-icon-container.h M libnemo-private/nemo-icon-private.h commit 42e726853157e561dc99d61180cae036f751fef8 Author: Cosimo Cecchi Date: 2010-10-07 eel-gdk-extensions: add eel_make_color_inactive() to public API M eel/eel-gdk-extensions.c M eel/eel-gdk-extensions.h commit 11c0ce912f2c6d5c933968780a53f5261f125fec Author: A S Alam Date: 2010-10-09 updating translation for Punjabi M po/pa.po commit 9e35d0ca6f10650f4d86963a3b5e986e3ec17681 Author: Changwoo Ryu Date: 2010-09-24 Updated Korean translation M po/ko.po commit 407666719856127547f5c2f3f03f6a050858239a Author: Cosimo Cecchi Date: 2010-10-06 editable-label: fix cairo drawing regressions M eel/eel-editable-label.c commit 75e101268198ce92e8165c7adda55cac69d1f93a Author: Fran Diéguez Date: 2010-10-07 Updated galician translations M po/gl.po commit a0c3ff8742e2f877b73678cff6d1a2950296e0ba Author: Yaron Shahrabani Date: 2010-10-06 Updated Hebrew translation. M po/he.po commit 31fac990215a99a034b62e626fb86e02ad751a31 Author: Cosimo Cecchi Date: 2010-10-05 Release 2.91.0.1 M NEWS M configure.in commit 33c9b6d24a60079fe6c4c1be281c76f43def6fee Author: Cosimo Cecchi Date: 2010-10-05 cell-renderer-text-ellipsized: use new GtkSizeRequest vfunctions This fixes the 'Name' column being too thin in list view. M libnemo-private/nemo-cell-renderer-text-ellipsized.c commit 61906b05ec90d5d4759ae7ff7fc7aca40fb18f15 Author: Cosimo Cecchi Date: 2010-10-05 window-toolbars: show/hide the spinner in the right order Apparently calling them in the wrong order makes new GTK+ crash. M src/nemo-window-toolbars.c commit ca6e8b6d59caa79e1095d02f107df1779107a565 Author: Cosimo Cecchi Date: 2010-10-04 Release 2.91.0 M NEWS M configure.in commit 74a0311e65f2c9fc2d03967b0607633dcb652f88 Author: Cosimo Cecchi Date: 2010-10-04 build: fix distcheck M eel/Makefile.am M src/Makefile.am commit 2053c267a79231aeb82a24adfe8f4e7da442cdb7 Author: Cosimo Cecchi Date: 2010-10-04 build: depend on 2.91.0 GTK+ and gnome-desktop M configure.in commit 64819695a13eb636df535e08e0eed6e896a8821c Author: Cosimo Cecchi Date: 2010-10-04 properties-window: split some long lines M src/file-manager/fm-properties-window.c commit 5ece5d67163e30a91e600d2f2bcf0d657d365dc4 Author: Cosimo Cecchi Date: 2010-10-04 properties-window: don't use expose-event to draw the pie chart Use GtkWidget::draw instead M src/file-manager/fm-properties-window.c commit d72087b74c871ef82b1f6a13bb5bb72b38670a52 Author: Cosimo Cecchi Date: 2010-10-04 window-toolbars: show/hide the spinner when changing its state M src/nemo-window-toolbars.c commit 3745195087a21bb46ed42925ff1d877562dbf36e Author: Cosimo Cecchi Date: 2010-09-30 build: bump GTK+ and gnome-desktop required versions M configure.in commit 098057414b38aeeddd3fcd81942324336628d341 Author: Cosimo Cecchi Date: 2010-09-30 icon-dnd: cleanup useless code M libnemo-private/nemo-icon-dnd.c commit f38bad2536faf497fe56c9a491ab852cb00514c0 Author: Cosimo Cecchi Date: 2010-09-30 icon-dnd: use negative device offsets to set the drag surface M libnemo-private/nemo-icon-dnd.c commit a136af0a01c160cdfb513c531b910b49a4a62973 Author: Cosimo Cecchi Date: 2010-09-30 icon-canvas-item: use cairo directly instead of gdk_pixbuf_composite() M libnemo-private/nemo-icon-canvas-item.c commit c6860491c432e311d585a6d92443ef821afd46d2 Author: Cosimo Cecchi Date: 2010-09-30 icon-canvas-item: set transparent background for highlight M libnemo-private/nemo-icon-canvas-item.c commit 426079ef07d5f902911f30b0a9d7de95f3020374 Author: Benjamin Otte Date: 2010-09-29 background: cope with renamings of gnome-bg APIs M eel/eel-background.c commit b1aac113ef867846fb39ee4187378c6f1a13f33e Author: Cosimo Cecchi Date: 2010-09-29 desktop-icon-view: don't use gdk_drawable_get_screen M src/file-manager/fm-desktop-icon-view.c commit 0b664aae4090704fa2e44d42f213da2cea8bd828 Author: Cosimo Cecchi Date: 2010-09-29 background: port to rendering-cleanup Based on patches from Benjamin Otte and Christian Persch. M eel/eel-background.c commit c47d18f566fa9518ca7750922da7da66d3211f3e Author: Cosimo Cecchi Date: 2010-09-29 [src] use gtk_widget_get_preferred_size() M src/nemo-pathbar.c M src/nemo-side-pane.c M src/nemo-spatial-window.c M src/nemo-zoom-control.c commit e56241830bfd2ca470ec2b1da53313c2230bc2b9 Author: Cosimo Cecchi Date: 2010-09-29 icon-container: use gtk_widget_get_preferred_size() M libnemo-private/nemo-icon-container.c commit f5192b6990cd9240d126974dd587b7b7525ae714 Author: Cosimo Cecchi Date: 2010-09-29 [libnemo-private] use eel_canvas_item_destroy Instead of gtk_object_destroy() M libnemo-private/nemo-icon-container.c M libnemo-private/nemo-icon-dnd.c commit 910191ea13e5647e1b8c793e7585530c6ae4c9b1 Author: Christian Persch Date: 2010-09-16 [libnemo-private] Port to rendering-cleanup-next M libnemo-private/nemo-icon-canvas-item.c M libnemo-private/nemo-icon-canvas-item.h M libnemo-private/nemo-icon-container.c M libnemo-private/nemo-icon-dnd.c M libnemo-private/nemo-tree-view-drag-dest.c commit 44171abea01a0c110aa029dddfb5d5afe018d086 Author: Christian Persch Date: 2010-09-16 [libnemo-private] Use gtk_widget_get_preferred_size() ... instead of the deprecated gtk_widget_get_child_requisition(). M libnemo-private/nemo-horizontal-splitter.c commit 2b7659ac4fcaa8b93ad8f409e1560aaa60dcdc12 Author: Christian Persch Date: 2010-09-16 [eel] Port EelEditableLabel to rendering-cleanup-next M eel/eel-editable-label.c commit 4963a3c9e5526ffd139b1b0b5bff18b6ea91a717 Author: Cosimo Cecchi Date: 2010-09-29 editable-label: use gtk_widget_get_preferred_size() M eel/eel-editable-label.c commit 58832e54b6a4e596693527d577e4f8fa2f3e4ccf Author: Christian Persch Date: 2010-09-16 [eel] Port the eel canvas to rendering-cleanup-next M eel/eel-canvas-rect-ellipse.c M eel/eel-canvas.c M eel/eel-canvas.h commit d2f141f4a5435b10b43abea0822e3d0569b67886 Author: Christian Persch Date: 2010-09-16 [eel] Add eel_cairo_draw_layout_with_drop_shadow Renamed from eel_gdk_draw_layout_with_drop_shadow. M eel/eel-gdk-extensions.c M eel/eel-gdk-extensions.h commit 93e1cdfd387c47f73e51eeff924f8e2c9fad2bda Author: Cosimo Cecchi Date: 2010-09-29 undo-transaction: remove obsolete commented code M libnemo-private/nemo-undo-transaction.c M src/nemo-bookmarks-window.c commit f616fee30fb153c9f71d79b2568d2e0e5a23fd39 Author: Cosimo Cecchi Date: 2010-09-29 undo-signal-handlers: remove commented out obsolete code M libnemo-private/nemo-undo-signal-handlers.c M libnemo-private/nemo-undo-signal-handlers.h commit c5eba3314c99059aa1fff13aedcb1004966fdd55 Author: Cosimo Cecchi Date: 2010-09-29 icon-dnd: remove commented out obsolete code M libnemo-private/nemo-icon-dnd.c commit cc6cb51e827c0b15d4ef09f12d37b9f331ddcef8 Author: Cosimo Cecchi Date: 2010-09-29 [src] don't use GtkObject M src/file-manager/fm-desktop-icon-view.c M src/file-manager/fm-directory-view.c M src/file-manager/fm-icon-view.c M src/file-manager/fm-properties-window.c M src/nemo-application.c M src/nemo-bookmarks-window.c M src/nemo-location-bar.c M src/nemo-location-dialog.c M src/nemo-location-entry.c M src/nemo-main.c M src/nemo-main.h M src/nemo-navigation-bar.c M src/nemo-navigation-window-menus.c M src/nemo-navigation-window.c M src/nemo-pathbar.c M src/nemo-window-bookmarks.c M src/nemo-window-manage-views.c M src/nemo-window.c commit aef4cfcf93ef34a0b2d4c87b40fcec2b7a66dd06 Author: Cosimo Cecchi Date: 2010-09-29 [libnemo-private] don't use GtkObject M libnemo-private/nemo-autorun.c M libnemo-private/nemo-clipboard.c M libnemo-private/nemo-entry.c M libnemo-private/nemo-icon-container.c M libnemo-private/nemo-mime-actions.c M libnemo-private/nemo-mime-application-chooser.c M libnemo-private/nemo-open-with-dialog.c M libnemo-private/nemo-program-choosing.c M libnemo-private/nemo-undo-transaction.c commit b5f9acb9029c015558ab678e01fc2c8dcc8c6c82 Author: Cosimo Cecchi Date: 2010-09-29 editable-label: don't use GtkObject M eel/eel-editable-label.c commit 1f615321613751a5dbc84d5ef7f20edd104b8dc4 Author: Cosimo Cecchi Date: 2010-09-29 canvas: don't use GtkObject This implies adding a 'destroy' signal to EelCanvasItem, with similar semantics to gtk_object_destroy() M eel/eel-canvas-rect-ellipse.c M eel/eel-canvas.c M eel/eel-canvas.h commit 5edcd42e503623c11bf55c6afba437b3013c7f45 Author: Cosimo Cecchi Date: 2010-09-29 stock-dialogs: don't use GtkObject M eel/eel-stock-dialogs.c commit 510d5fba10058535b8d8a3bb05f564122b798abd Author: Cosimo Cecchi Date: 2010-09-30 window-menus: fix a typo in the about dialog (#630624). M src/nemo-window-menus.c commit 2e59a60800a9bc837af9132b0ac234d9d14668c6 Author: Cosimo Cecchi Date: 2010-09-29 background: remove leftover GtkObject M eel/eel-background.h commit 87eb53a0701252607b494f34c677b6506f82278c Author: Cosimo Cecchi Date: 2010-09-29 background: cleanup unused code M eel/eel-background.c M eel/eel-background.h commit fbb6b024128e3c35aeb1d74f8e287e8870c9999f Author: Cosimo Cecchi Date: 2010-09-29 directory-background: don't user the 'destroy' signal of EelBackground M libnemo-private/nemo-directory-background.c commit 60044f8ef457036560fb94ad6b20cdf7bedb4f77 Author: Cosimo Cecchi Date: 2010-09-29 background: don't use GtkObject M eel/eel-background.c commit ab1229476f949fef5cd51545088c91c649be2ef1 Author: Cosimo Cecchi Date: 2010-09-28 icon-dnd: don't set 'Set as Background' sensitive outside the desktop M libnemo-private/nemo-icon-dnd.c commit 895830af57277c7fd542f3fd21f71c4cde1ea231 Author: Cosimo Cecchi Date: 2010-09-28 dnd: remove support for property/bgimage as DND type. That was used for tiled backgrounds in the 'Backgrounds and Emblems' dialog. M libnemo-private/nemo-dnd.c M libnemo-private/nemo-dnd.h M libnemo-private/nemo-file-dnd.c M libnemo-private/nemo-icon-dnd.c commit c9be35b3ee6c468a9a102b317b82b8b639637d0f Author: Cosimo Cecchi Date: 2010-09-28 directory-background: remove code for setting non-desktop window backgrounds Remove all the code that sets non-desktop window backgrounds, as we don't do that anymore. This includes avoid listening to metadata and GSettings changes. M libnemo-private/nemo-directory-background.c M libnemo-private/nemo-directory-background.h commit ab0616de55f6f817a745caac26fd2b38ae41b71b Author: Cosimo Cecchi Date: 2010-09-28 icon-view: move background setting code to FMDesktopIconView So that we avoid setting backgrounds on regular nemo windows. M src/file-manager/fm-desktop-icon-view.c M src/file-manager/fm-icon-view.c commit ecc583092aa333081205470c7cca7fb1aa68cb81 Author: Petr Kovar Date: 2010-09-29 Update Czech translation by Marek Cernocky M po/cs.po commit d2a41707084726ebdf882c8c6ec82ef46e29dcb0 Author: Damyan Ivanov Date: 2010-09-27 Updated Bulgarian translation M po/bg.po commit c0b28726fc05c7eac004ebaf4f81bb5e753285aa Author: Joan Duran Date: 2010-09-26 Updated Catalan translation M po/ca.po commit 1839f9abf3fa7ce88574649d531c88c9e3ac4bf7 Author: Mattias Põldaru Date: 2010-09-24 [l10n] Updated Estonian translation M po/et.po commit 74630527a03b3492913d0611b221ebdc5e1e76ba Author: Takayuki KUSANO Date: 2010-09-24 Updated Japanese translation M po/ja.po commit be665613c0e9233042e6e1f97b8cdb8708fdd782 Author: Khaled Hosny Date: 2010-09-23 Updated Arabic translation M po/ar.po commit f3bbee79b915276068e0a0d6ed9590c212e11a0a Author: Cosimo Cecchi Date: 2010-09-20 connect-dialog: add a missing gtk_widget_show() M src/nemo-connect-server-dialog.c commit 24100d075f747e8fc9ca3cc43a32489177f35459 Author: Cosimo Cecchi Date: 2010-09-20 connect-dialog: make the code more readable Move bits around and rename methods; no actual code change. M src/nemo-connect-server-dialog.c commit 1b79a8666fee56cdb704e8757f28acf486f7dc54 Author: Cosimo Cecchi Date: 2010-09-20 connect-dialog: display a fatal error if GVfs doesn't have methods I.e. when GVfs is not installed. M src/nemo-connect-server-dialog.c commit 1c826ed78bde5f34fd4a0f72d788b8d0824d6099 Author: Cosimo Cecchi Date: 2010-09-11 connect-dialog: fixes for the handling of iconized entries M src/nemo-connect-server-dialog.c commit 7d004452f333b7b8b804d87de49c858e8743a115 Author: Cosimo Cecchi Date: 2010-09-01 connect-dialog: integrate password handling Also, use the info bar to display warnings/errors, and tweak the UI details. M src/nemo-connect-server-dialog-main.c M src/nemo-connect-server-dialog-nonmain.c M src/nemo-connect-server-dialog.c M src/nemo-connect-server-dialog.h commit c1bebe3a29bc2dc3b01ad2277a9802d9d0bc25cd Author: Cosimo Cecchi Date: 2010-08-31 connect-operation: add NemoConnectServerOperation This is a GtkMountOperation subclass to handle password/username/domain requests directly from inside of the 'Connect to Server' dialog. M src/Makefile.am A src/nemo-connect-server-operation.c A src/nemo-connect-server-operation.h commit 156615f8d9f8b99dea3459cdd76392d01b9d80df Author: Cosimo Cecchi Date: 2010-09-20 window-menus: use new connect dialog API M src/nemo-window-menus.c commit 7848e74d812c22299962a8ae22b01dbd403929c0 Author: Cosimo Cecchi Date: 2010-09-20 connect-dialog: redesign the dialog According to Allan Day's mockups. M src/nemo-connect-server-dialog-main.c M src/nemo-connect-server-dialog.c M src/nemo-connect-server-dialog.h commit d5350003ac927bd683d4e18f7c0513b94f9220d7 Author: Cosimo Cecchi Date: 2010-08-31 navigation-window-menus: use new NemoApplication API M src/nemo-navigation-window-menus.c commit a3ce22ec6e8fcb39dafb35e04e445f4a94b8c394 Author: Cosimo Cecchi Date: 2010-08-31 bk-window: use new NemoApplication API M src/nemo-bookmarks-window.c commit adedf859ec47296106f0f0d938e70b32f0120f7c Author: Cosimo Cecchi Date: 2010-08-31 window: call the callback during the location change M src/nemo-window-manage-views.c M src/nemo-window-slot.h commit d070d631545aac9114bc271481da603587c07c7c Author: Cosimo Cecchi Date: 2010-08-31 application: change the way spatial windows are created Use a _get() function + the standard nemo_window_go_to() instead of using _present(). The new functions in nemo-window-manage-views are smart enough to take care of re-using an existent window. M src/nemo-application.c M src/nemo-application.h commit 1936e668c73b932f8cb018e278f8b7f46442fda2 Author: Cosimo Cecchi Date: 2010-08-31 spatial-window: remove affect_location_on_next_change hack M src/nemo-spatial-window.c M src/nemo-spatial-window.h commit f95927360079b1c05efb9cea0de62457eea307ab Author: Cosimo Cecchi Date: 2010-08-31 desktop-window: add a 'loaded' flag M src/nemo-desktop-window.c M src/nemo-desktop-window.h commit 54e0a1f21513babc89f980b5b02af2bf7a6ebe85 Author: Cosimo Cecchi Date: 2010-08-31 window: rewrite window-opening policies The code there was very hackish and convoluted. Rewrite it to make it at least cleaner. This will allow further cleanup later. M src/nemo-window-manage-views.c commit 24515b87a91afd32885e07e32e2b4080584673a4 Author: Cosimo Cecchi Date: 2010-08-31 window: add _full() versions of _go_to and _open() methods These also have a callback to get the result of the operation. M libnemo-private/nemo-window-info.h M libnemo-private/nemo-window-slot-info.c M libnemo-private/nemo-window-slot-info.h M src/nemo-window-manage-views.c M src/nemo-window-slot.h M src/nemo-window.c M src/nemo-window.h commit 42cc7bd181d2f57dbc008bea54a40f02be40ce39 Author: Cosimo Cecchi Date: 2010-08-31 window-info: move include to nemo-window-private M libnemo-private/nemo-window-info.h M src/nemo-window-private.h commit 8d07a73b28767b7c866fe403e9ac706b8affb8a2 Author: Cosimo Cecchi Date: 2010-09-01 build: don't include marshals we don't own M libnemo-private/nemo-directory.c M libnemo-private/nemo-icon-container.c M src/file-manager/fm-directory-view.c M src/nemo-pathbar.c M src/nemo-window.c M src/nemo-zoom-control.c commit 6d3398968d9f2520a4b6f4a08e0f4ae65e2207ab Author: Cosimo Cecchi Date: 2010-09-20 list-view: check for model != NULL before unsetting the highlight The model could be NULL there as a result of the view being previously disposed. M src/file-manager/fm-list-view.c commit 7723f508ca8c9bd837a531cb018de16d627f8bd9 Author: Cosimo Cecchi Date: 2010-09-20 Revert "Clear the list model in _finalize() instead of _dispose()" This reverts commit bfe278cbf84a441a951d48dc528f20226127e1f3. M src/file-manager/fm-list-view.c commit 2e32fc01537bb2c86d9d9bbb6cc5ab2713bd723e Author: Timo Jyrinki Date: 2010-09-20 Updated Finnish translation. M po/fi.po commit 8deeb8471034b90b83ecb0e4bde0cf852e275d24 Author: Cosimo Cecchi Date: 2010-09-19 build: require GLib 2.27.0 Due to GApplication, which has been removed from 2.25.x M configure.in commit a4f454825861c1fb65e8d52979a67a81c5133974 Author: Cosimo Cecchi Date: 2010-09-19 desktop-icon-view: initialize allocation before setting it This probably fixes a number of stack-corruption crashes on 2.31.x M src/file-manager/fm-desktop-icon-view.c commit 00df45be2c133f849267f1ae485d95f672744690 Author: Cosimo Cecchi Date: 2010-09-19 build: require GTK+ 2.90.7 for GDK_KEY names M configure.in commit 78e37ae9a18925d75cf90424d92c8d3ba502848a Author: Cosimo Cecchi Date: 2010-09-19 [ui] remove 'has_separator' properties from Glade files M src/nemo-bookmarks-window.ui M src/nemo-file-management-properties.ui commit 71fa1a50145a6f06da3b805a29e75c1295fd546b Author: Cosimo Cecchi Date: 2010-09-19 [src] convert to new GDK_KEY prefix M src/file-manager/fm-directory-view.c M src/file-manager/fm-list-view.c M src/file-manager/fm-properties-window.c M src/nemo-bookmarks-window.c M src/nemo-location-entry.c M src/nemo-navigation-bar.c M src/nemo-places-sidebar.c M src/nemo-query-editor.c M src/nemo-search-bar.c M src/nemo-side-pane.c M src/nemo-spatial-window.c M src/nemo-window.c M src/nemo-zoom-control.c commit 8ee5d37f2b4776730247af75a6ce4cebcba4c550 Author: Cosimo Cecchi Date: 2010-09-19 thumbnails: don't use GDK_THREADS_* macros M libnemo-private/nemo-thumbnails.c commit 8dd87483bd187bfac80a606233b769c230343980 Author: Cosimo Cecchi Date: 2010-09-19 autorun: use gdk_error_trap_pop_ignored() M libnemo-private/nemo-autorun.c commit aeb53075ed55dc2a2ef3228917ded1b8029bfdff Author: Cosimo Cecchi Date: 2010-09-19 entry: rename GtkEditableClass->GtkEditableInterface M libnemo-private/nemo-entry.c commit 64dcbea2a005e4ed8bb4945d06a943058b8c7ba8 Author: Cosimo Cecchi Date: 2010-09-19 [ln-p] convert to new GDK_KEY prefix M libnemo-private/nemo-autorun.c M libnemo-private/nemo-entry.c M libnemo-private/nemo-icon-container.c commit 499c54a20b64051e427ff5746fc7c8dd1a1885c2 Author: Cosimo Cecchi Date: 2010-09-19 [eel] convert to new GDK_KEY prefix M eel/eel-editable-label.c commit a58bbde4ca6b11eeb1bca5fa4e62e60c0b26271b Author: Cosimo Cecchi Date: 2010-09-19 editable-label: rename GtkEditableClass->GtkEditableInterface M eel/eel-editable-label.c commit 73e2941f9b837d5d0326e6e88caa7a1e3fdcabeb Author: Cosimo Cecchi Date: 2010-09-19 Don't use gtk_dialog_set_has_separator() M libnemo-private/nemo-autorun.c M libnemo-private/nemo-file-conflict-dialog.c M libnemo-private/nemo-open-with-dialog.c M src/file-manager/fm-directory-view.c M src/file-manager/fm-properties-window.c M src/nemo-connect-server-dialog.c M src/nemo-location-dialog.c M src/nemo-query-editor.c commit b66ce0fd23500f9727c1aac93366430285575697 Author: Cosimo Cecchi Date: 2010-09-19 Don't use GDK_DISPLAY () M libnemo-private/nemo-autorun.c M src/file-manager/fm-desktop-icon-view.c commit 36836b7dc517a588b34117e05a45bc4026e77f71 Author: Cosimo Cecchi Date: 2010-09-19 Use gtk_size_request_get_size() M eel/eel-editable-label.c M libnemo-private/nemo-horizontal-splitter.c M libnemo-private/nemo-icon-container.c M src/nemo-pathbar.c M src/nemo-side-pane.c M src/nemo-spatial-window.c M src/nemo-zoom-control.c commit 93022eda89f650a82f8a17e332973ab88b2318a8 Author: Žygimantas BeruÄka Date: 2010-09-18 Updated Lithuanian translation M po/lt.po commit cfada2b36dd274b2d2835753fc87c69affbbba58 Author: Cosimo Cecchi Date: 2010-09-17 pathbar: use another way to remove buttons (#627901) This fixes a crasher in _size_allocate() where the list of buttons did not contain valid data anymore. M src/nemo-pathbar.c commit 476d45bfd1dd71595e7d38f4d18c761fe2a85b78 Author: Cosimo Cecchi Date: 2010-09-17 Don't check for the eject button if the row doesn't have it (#628347) This sometimes caused false positives in the click-on-eject-button detection method. M src/nemo-places-sidebar.c commit bfe278cbf84a441a951d48dc528f20226127e1f3 Author: Cosimo Cecchi Date: 2010-09-17 Clear the list model in _finalize() instead of _dispose() We have the only reference to the model anyway. This fixes a crash when _end_loading() is called for a windiow before it finished loading. M src/file-manager/fm-list-view.c commit 46544c9885b7064c216f1a9401d42bdb9816bdd2 Author: Cosimo Cecchi Date: 2010-09-17 preferences: use right link for the 'Media' help page (#564866). M src/nemo-file-management-properties.c commit 31ebe40c4a68db4a1fc57e1c942b2d94efce5a42 Author: Kenneth Nielsen Date: 2010-09-16 Updated Danish translation M po/da.po commit f9a85779d9ac73f280358bd96417ea69f2694361 Author: Ivar Smolin Date: 2010-09-14 [l10n] Updated Estonian translation M po/et.po commit 72a4af08ca5139d5ad6511667dbe5631e5962ae7 Author: Ivar Smolin Date: 2010-09-13 [l10n] Updated Estonian translation M po/et.po commit 2c5a174abaeb3ce79bde382617289e358a59b102 Author: Takayuki KUSANO Date: 2010-09-13 Updated Japanese translation. M po/ja.po commit a3213bb051bb1843e7a0c1a2d47d865219b47dcd Author: Luca Ferretti Date: 2010-09-12 Updated Italian translation M po/it.po commit 802146d70642abf27a4f7dde398f775545da3794 Author: Duarte Loreto Date: 2010-09-12 Updated Portuguese translation M po/pt.po commit 4dd8de5b24c7c9774b62207cbc067b715af6942d Author: Mario Blättermann Date: 2010-09-12 [i18n] Updated German translation M po/de.po commit 8962e6db60a335e72046e2444d9c02e7d3e1182f Author: Wouter Bolsterlee Date: 2010-09-12 Updated Dutch translation by Wouter Bolsterlee M po/nl.po commit 60af1701491afbf686d1610ef7aad253f2904432 Author: Wouter Bolsterlee Date: 2010-09-12 Updated Dutch translation by Hannie Dumoleyn M po/nl.po commit f9ccf920434ba6795e4e62f3c95f927532f023c6 Author: Christian Kirbach Date: 2010-09-12 [i18n] Updated German translation M po/de.po commit e20fd8287c710dd5fcd15ed6a46efe3e5dea1b8a Author: Bruce Cowan Date: 2010-09-11 Updated British English translation M po/en_GB.po commit 1dc64c6c1ebba6a5434be80babc78e40c9dacdd7 Author: Fran Diéguez Date: 2010-09-11 Updated Galician translations M po/gl.po commit d37b72c14326182e51e797fc3af5ab9d5f310fb8 Author: Ask H. Larsen Date: 2010-09-11 Updated Danish translation M po/da.po commit adba30e6655ddf85edb179fff6626aec43520894 Author: Cosimo Cecchi Date: 2010-09-11 list-view: properly setup the editable widget (#627076) M src/file-manager/fm-list-view.c commit 265e669b9380eb11ef8ac928cce597d05dd70c7b Author: Cosimo Cecchi Date: 2010-09-10 Make file conflict strings i18n-friendly Thanks to Wouter Bolsterlee for the initial patch. M libnemo-private/nemo-file-conflict-dialog.c commit af61c416ffc291032bb2e199a03b7b071f0a77eb Author: Jorge González Date: 2010-09-09 Updated Spanish translation M po/es.po commit 2cab30a8acdca5d63937d129bdff12118a8b5cb3 Author: Jorge González Date: 2010-09-09 Updated Spanish translation M po/es.po commit fa28706c9878e0123fa4ce5576d4e4f37a91f23a Author: Takayuki KUSANO Date: 2010-09-10 Updated Japanese translation. M po/ja.po commit 94275d4a786eba1dd51d020912fa74d9b19d91ad Author: Piotr DrÄ…g Date: 2010-09-07 Updated Polish translation M po/pl.po commit 51f313e623c282d4540728e0adedbb7b0e6a21ec Author: Daniel Nylander Date: 2010-09-05 Updated Swedish translation M po/sv.po commit e3519b6a8a22d9d9b6e7b421ec5ead1654f456db Author: Matej UrbanÄiÄ Date: 2010-09-04 Updated Slovenian translation M po/sl.po commit 459216c23d064f7e2f194251a787f8f6365c29e2 Author: drtv Date: 2010-09-03 Updated Tamil translation M po/ta.po commit 9d98055c4547b0e2e7cb8920d5d1436178277a16 Author: drtv Date: 2010-09-03 Updated Tamil translation M po/ta.po commit 5a74a9e3ebab733a25afb7f73940757c698ed850 Author: Wouter Bolsterlee Date: 2010-09-02 Fix small error in Dutch translation M po/nl.po commit 430980aca7f1231df970c980e03847c02485ed34 Author: Michael Kotsarinis Date: 2010-08-31 l10n: Updated Greek translation M po/el.po commit 4f579bcdf37b188853ec1076954680bc91e175f6 Author: Bruce Cowan Date: 2010-08-31 Updated British English translation M po/en_GB.po commit 1989b4be7d56d120c8fc57e40cba6155dcbae905 Author: Mattias Põldaru Date: 2010-08-31 [l10n] Updated Estonian translation M po/et.po commit d0086feb65c640926066dcc9d263153227e1a3c1 Author: Gabor Kelemen Date: 2010-08-30 Updated Hungarian translation M po/hu.po commit da6cdb1d2e2ddea2b46a78a4ea57f496bca6a995 Author: Gabor Kelemen Date: 2010-08-29 Updated Hungarian translation M po/hu.po commit 67c01533ab809e751ec2ceb3a81fd50c9c85ef2b Author: Ivar Smolin Date: 2010-08-29 [l10n] Updated Estonian translation M po/et.po commit ff83456b73cd2f6340fd0da57788f3c7c48b455b Author: Dirgita Date: 2010-08-29 Updated Indonesian translation M po/id.po commit e3c8b309386f4040b4c8853d78b8709e12fb4de8 Author: Mattias Põldaru Date: 2010-08-27 [l10n] Updated Estonian translation M po/et.po commit e6feba5047dc17decbda673d8df2de0dbb089140 Author: Bruno Brouard Date: 2010-08-26 Updated French translation M po/fr.po commit f233f2aeb78e5fd14c0b18f7a3c5e80b5e7c84c5 Author: Cosimo Cecchi Date: 2010-08-26 connect-dialog: don't use EEL boilerplate M src/nemo-connect-server-dialog.c commit 0f70ac4bb782b3c3fb0f5e8a24032cb344fdb2cc Author: Cosimo Cecchi Date: 2010-08-26 sidebar: don't try to add non-existing special dirs M src/nemo-places-sidebar.c commit 8277ddc798fc78793364b54444fa53e9a287b5cc Author: Cosimo Cecchi Date: 2010-08-26 sidebar: don't allow selecting headers M src/nemo-places-sidebar.c commit 0f7e56b5e0ae5134ed1d8caeadcb3c684ae7f661 Author: Cosimo Cecchi Date: 2010-08-26 sidebar: add myself to the authors M src/nemo-places-sidebar.c commit 1fdfa522da3e7c672fe4202c591a928c8796bb06 Author: Cosimo Cecchi Date: 2010-08-26 sidebar: fix bookmark renaming Regression of the new sidebar. M src/nemo-places-sidebar.c commit 2f847f37f429062d58df3927d10bc52c67a4524f Author: Cosimo Cecchi Date: 2010-08-26 icon-names: fix a typo M libnemo-private/nemo-icon-names.h commit 0dc6f5ddf472ba2033cdee0ba41cf78696e4017f Merge: ce419d9 a59e586 Author: Cosimo Cecchi Date: 2010-08-25 Merge branch 'sidebar_revamp' commit a59e586adf32eea64c9c4ae08a5482d2a9c37fb1 Author: Cosimo Cecchi Date: 2010-08-25 sidebar: redesign the Places sidebar According to http://live.gnome.org/Nemo/UIRoadmap/Places M src/nemo-places-sidebar.c commit 2d9d47254908533d1eb20e16e091f91310052e93 Author: Cosimo Cecchi Date: 2010-08-25 sidebar: fix eject button highlighting M src/nemo-places-sidebar.c commit 1df83c6586560a8ae5efc96037e673e52b4b119b Author: Cosimo Cecchi Date: 2010-08-25 icon-info: add a method to fetch GIcons for user special dirs M libnemo-private/nemo-icon-info.c M libnemo-private/nemo-icon-info.h M libnemo-private/nemo-icon-names.h commit ce419d9bc7536af2e5e4f0c6122b79070cadddca Author: Aurimas ÄŒernius Date: 2010-08-23 Updated Lithuanian translation M po/lt.po commit 1346a15744ce3aa7f8f52aade250d6a303b33bf2 Author: Aron Xu Date: 2010-08-23 Update Simplified Chinese translation. M po/zh_CN.po commit fd75e8f5e8b160eaba22ca4ed7efc852dba612a0 Author: Cosimo Cecchi Date: 2010-08-22 pathbar: release the highlight path on dispose M src/nemo-places-sidebar.c commit 6f5777b81958ce6f3dbc6bac3323d423d3dcc20b Author: Cosimo Cecchi Date: 2010-08-22 sidebar: don't update the icon if it's not visible This greatly reduces the number of times we have to create a pixbuf (only once-per-highlight now). M src/nemo-places-sidebar.c commit a43bc7def3976947b9624113d18167211e76f9b8 Author: Cosimo Cecchi Date: 2010-08-22 pathbar: make sure |path| is always valid and memory released M src/nemo-places-sidebar.c commit f4ae07c8741d2e8cc6b96450c8bb86e532b59137 Author: Cosimo Cecchi Date: 2010-08-22 sidebar: use _icon_info_lookup_from_name () M src/nemo-places-sidebar.c commit 63b2cac301970847f76f7bdbd12835117958d9be Author: Marcus Carlson Date: 2010-08-06 Add highlight to eject icon in places sidebar (#544103) M src/nemo-places-sidebar.c commit 3abe144501fcff60a65ebd621a51b45ffa5d113d Author: Cosimo Cecchi Date: 2010-08-22 Release 2.90.1 M NEWS M po/POTFILES.in commit 1f64e4b0dd9729976a16d2cf14a6b7c6691ded1e Author: Cosimo Cecchi Date: 2010-08-21 [ln-p] remove unused NemoKeepLastVerticalBox M libnemo-private/Makefile.am D libnemo-private/nemo-keep-last-vertical-box.c D libnemo-private/nemo-keep-last-vertical-box.h commit ad5e896e1ce04485a115ee684a695b42ea0378a5 Author: Cosimo Cecchi Date: 2010-08-21 [eel] reorganize Makefile.am M eel/Makefile.am commit 7e8d1dfa6a17fe9189bf2489b735cd6462f03571 Author: Cosimo Cecchi Date: 2010-08-21 [eel] remove eel_gdk_window_focus M eel/eel-gdk-extensions.c M eel/eel-gdk-extensions.h commit 6b06e0e27ca1cf29afd4fac716c58e15928a8ff8 Author: Cosimo Cecchi Date: 2010-08-21 icon-container: use gdk_window_focus M libnemo-private/nemo-icon-container.c commit fe94a33657d55a2463fa066e09a8ecbfc637c4bd Author: Cosimo Cecchi Date: 2010-08-21 [eel] remove EelAlertDialog This is unused now. M eel/Makefile.am D eel/eel-alert-dialog.c D eel/eel-alert-dialog.h commit 82c5b6c0d82ebd8a705d542fcc9aa58e6e9b0da4 Author: Cosimo Cecchi Date: 2010-08-21 [eel] use GtkMessageDialog for stock dialogs Instead of EelAlertDialog, which is going away. M eel/eel-stock-dialogs.c commit 930af7f3058eed256a42c0c1558c7307bb93f411 Author: Cosimo Cecchi Date: 2010-08-21 tree-view: don't include eel-alert-dialog.h M src/file-manager/fm-tree-view.c commit 7a3dcdd4bf667aac271be74988770e18575a7df2 Author: Cosimo Cecchi Date: 2010-08-21 mime-actions: use GtkMessageDialog Instead of EelAlertDialog, which is going away. M libnemo-private/nemo-mime-actions.c commit 51ec5861ca0697e802e8c003053211ac12f2fd54 Author: Cosimo Cecchi Date: 2010-08-21 file-operations: use GtkMessageDialog Instead of EelAlertDialog, which is going away. M libnemo-private/nemo-file-operations.c commit a2b4de80a94b4e049f1d2a7ef00a174865b5c9ec Author: Cosimo Cecchi Date: 2010-08-21 [eel] add an utility to pack details into a message dialog So that we can remove EelAlertDialog. M eel/eel-gtk-extensions.c M eel/eel-gtk-extensions.h commit 394cb741c3e59df66f924771d4ef68866e602faa Author: Cosimo Cecchi Date: 2010-08-21 [eel] remove eel_gtk_signal* utilities These are unused now. M eel/eel-gtk-extensions.c M eel/eel-gtk-extensions.h commit 57b66862a53298468755e12ca3712569274f0a32 Author: Cosimo Cecchi Date: 2010-08-21 [eel] remove functions to set widget backgrounds These are unused now. M eel/eel-gtk-extensions.c M eel/eel-gtk-extensions.h commit 472f3e1433ecb3d5e1a7fc8707975f45dd8d0469 Author: Cosimo Cecchi Date: 2010-08-21 [eel] remove functions to handle accelerators These are unused now. M eel/eel-gtk-extensions.c M eel/eel-gtk-extensions.h commit cab696f7d760f5ee63f0a623b13d27b76d2f2d00 Author: Cosimo Cecchi Date: 2010-08-21 bk-window: don't use _event_is_close_accelerator() M src/nemo-bookmarks-window.c commit f4432dfba1e8f545d3aeeed5989bd30bba52d160 Author: Cosimo Cecchi Date: 2010-08-21 slot: cleanup previous commit There was an unused variable left M src/nemo-window-slot.c M src/nemo-window-slot.h commit 712cf85b9c44fc93b8f506bfb03ea06cb58eb5e6 Author: Cosimo Cecchi Date: 2010-08-21 Add a border around info bars (#621366). M src/file-manager/fm-directory-view.c M src/nemo-window-slot.c M src/nemo-window-slot.h commit 93798c75a1ae3cbd3a85a4ce79b5521b562a7074 Author: Cosimo Cecchi Date: 2010-08-21 spatial-window: cleanups - Don't do anything else than checking/scheduling a source in the conifigure-event callback - Avoid useless roundtrips through GFile - Avoid some casts, so we don't do useless type-checking in a row on the same object M src/nemo-spatial-window.c commit 5973bc50618d1fe69247e3e2ec6eb8cf3213000b Author: Cosimo Cecchi Date: 2010-08-21 window: remove dead prototypes M src/nemo-window-private.h M src/nemo-window.h commit ef13366e667f848adc6b96509612e3321554d188 Author: Cosimo Cecchi Date: 2010-08-21 desktop-window: cleanups M src/nemo-desktop-window.c commit eb88f44bd27e11607cb5466c943b9caad0202110 Author: Cosimo Cecchi Date: 2010-08-21 window: remove dead function M src/nemo-window.c M src/nemo-window.h commit cf152f9ec75714af2b14be2750f9ea84daab361a Author: Cosimo Cecchi Date: 2010-08-21 undo-manager: remove dead code M libnemo-private/nemo-undo-manager.c M libnemo-private/nemo-undo-manager.h commit 90eb723490ab0338d3d2f1acd02ae5af5fdea819 Author: Cosimo Cecchi Date: 2010-08-20 about: add some authors and update year M src/nemo-window-menus.c commit 21e75511d2466bd814a31031472323d3cd8ae6c1 Author: Cosimo Cecchi Date: 2010-08-20 [file-manager] autogenerate marshallers M src/file-manager/Makefile.am M src/file-manager/fm-directory-view.c commit 608918449f548b0d3ea3e7916c944b077ac43e87 Author: Cosimo Cecchi Date: 2010-08-20 [src] autogenerate marshallers M src/Makefile.am M src/nemo-query-editor.c M src/nemo-window.c commit 6509c91b48f52c72c868f2ca7a9b47c46b9e0bc6 Author: Cosimo Cecchi Date: 2010-08-20 [ln-p] autogenerate marshallers M libnemo-private/Makefile.am M libnemo-private/nemo-icon-container.c D libnemo-private/nemo-marshal.c D libnemo-private/nemo-marshal.list commit 75a03a440ebff23ccbf8674ca4a0e9f6475ebbb8 Author: Cosimo Cecchi Date: 2010-08-20 [eel] simplify build system We don't need the enumtypes anymore, and the marshallers can easily be autogenerated. M eel/Makefile.am M eel/eel-background.c D eel/eel-types.c D eel/eel-types.h M eel/eel.h D eel/eelmarshal.list D eel/makeenums.pl D eel/maketypes.awk D eel/update-from-egg.sh commit 52a37d6e46fc34cef6061bc91aa02847652f3c9d Author: Cosimo Cecchi Date: 2010-08-20 [ln-p] remove unused nemo-iso9660.h M libnemo-private/Makefile.am D libnemo-private/nemo-iso9660.h commit 1d660252b408f3628a2d3d5943abcf6bfdd9091b Author: Cosimo Cecchi Date: 2010-08-20 tree-model: only display the first emblem Only display the first emblem we can render. M src/file-manager/fm-tree-model.c commit 5c08250adf30f2e24b4455fd3c08e81dc3ff4987 Author: Cosimo Cecchi Date: 2010-08-20 list-model: display only the first emblem Only display the first emblem we can render. M src/file-manager/fm-list-model.c commit 110a0e8f2b9ec96b34e4b76390e3f78adc9cda30 Author: Cosimo Cecchi Date: 2010-08-20 icon-info: add nemo_icon_theme_can_render() M libnemo-private/nemo-icon-info.c M libnemo-private/nemo-icon-info.h commit 25b48e9d1f4c847e2fc95b9b9893e63ba7081658 Author: Cosimo Cecchi Date: 2010-08-19 [ln-p] remove NemoCellRendererPixbufEmblem It's useless now. M libnemo-private/Makefile.am D libnemo-private/nemo-cell-renderer-pixbuf-emblem.c D libnemo-private/nemo-cell-renderer-pixbuf-emblem.h commit d2cbf993766d7b63f50431ab483035d01c267cdb Author: Cosimo Cecchi Date: 2010-08-19 tree-view: don't use NemoCellRendererPixbufEmblem M src/file-manager/fm-tree-view.c commit 1694d7141bbe4a29e54cff77def697a6c9b4e118 Author: Cosimo Cecchi Date: 2010-08-19 tree-model: use GEmblemedIcon Use GEmblemedIcon instead of a separate column to render emblems. M src/file-manager/fm-tree-model.c M src/file-manager/fm-tree-model.h commit 69740a3c7fd3a2e1cea99c0dc61b3c735993e4bb Author: Cosimo Cecchi Date: 2010-08-19 list-view: don't use NemoCellRendererPixbufEmblem M src/file-manager/fm-list-view.c commit a187f8a4cdcc46f56c0cb03c31b9b7c92c747a88 Author: Cosimo Cecchi Date: 2010-08-19 list-model: use GEmblemedIcon Use GEmblemedIcon instead of other columns to render emblems. M src/file-manager/fm-list-model.c M src/file-manager/fm-list-model.h commit e42ddad5109f193bf8a5b3c0c6cd7cf4b1408300 Author: Cosimo Cecchi Date: 2010-08-19 [eel] remove eel-pango-extensions M eel/Makefile.am M eel/eel-lib-self-check-functions.h D eel/eel-pango-extensions.c D eel/eel-pango-extensions.h M eel/eel.h commit f080b86daeb571def4c092e1524e9adfc7700699 Author: Cosimo Cecchi Date: 2010-08-19 Don't include eel-pango-extensions.h M eel/eel-gtk-extensions.c M libnemo-private/nemo-file-operations.c M libnemo-private/nemo-icon-canvas-item.c commit 931644a649175b1886dce5cc8e50c21380f8b8b0 Author: Cosimo Cecchi Date: 2010-08-19 [test] remove test-eel-image-scrolled It only increases compilation time M test/Makefile.am D test/test-eel-image-scrolled.c commit 2f202206fee4e1917494e3f4652e22648097c765 Author: Cosimo Cecchi Date: 2010-08-19 [eel] cleanup eel-vfs-extensions M eel/eel-vfs-extensions.c M eel/eel-vfs-extensions.h commit 230581b5d58650c1f50f7d9fda9ab3a1f211361a Author: Cosimo Cecchi Date: 2010-08-19 [eel] cleanup eel-glib-extensions M eel/eel-glib-extensions.c M eel/eel-glib-extensions.h commit fbccd9bfaa9c983dccc60d040b63b86521306788 Author: Cosimo Cecchi Date: 2010-08-19 [eel] cleanup eel-gnome-extensions M eel/eel-gnome-extensions.c M eel/eel-gnome-extensions.h commit 48c6012e89fb1362e418d4bf56c05614f1515eab Author: Cosimo Cecchi Date: 2010-08-19 [eel] remove unused eel_make_semitransparent() M eel/eel-graphic-effects.c M eel/eel-graphic-effects.h commit 9c9c619ae2d4e9dbdc9be175679abad3a174ca32 Author: Cosimo Cecchi Date: 2010-08-19 [test] remove eel-pixbuf-scale test M test/Makefile.am D test/test-eel-pixbuf-scale.c commit 7ed8e2d7b90489f41ad674aa4758728dce62fa77 Author: Cosimo Cecchi Date: 2010-08-19 [eel] remove unused code from eel-gdk-pixbuf-extensions M eel/eel-gdk-pixbuf-extensions.c M eel/eel-gdk-pixbuf-extensions.h M eel/eel-lib-self-check-functions.h commit 6b2a053985b8c37aa1038e7a01ab05d7dd15aa2e Author: Cosimo Cecchi Date: 2010-08-19 [eel] remove unused code from eel-gdk-extensions M eel/eel-gdk-extensions.c M eel/eel-gdk-extensions.h commit d2fb7d661a639633473c9339ea2004f18ad3fcf2 Author: Cosimo Cecchi Date: 2010-08-19 [eel] remove eel-art-gtk-extensions M eel/Makefile.am D eel/eel-art-gtk-extensions.c D eel/eel-art-gtk-extensions.h M eel/eel.h commit 2bfd4e3694e2f726592bae5341d7e4c7464ec415 Author: Cosimo Cecchi Date: 2010-08-19 [eel] don't include eel-art-gtk-extensions.h M eel/eel-gdk-pixbuf-extensions.c commit 940dddbb6ce26138a5325f8a1352b6be6dc6b4ff Author: Cosimo Cecchi Date: 2010-08-19 [eel] remove eel-debug-drawing M eel/Makefile.am D eel/eel-debug-drawing.c D eel/eel-debug-drawing.h commit 8447fd3670021530b6340829f27f1d689b633d3a Author: Cosimo Cecchi Date: 2010-08-19 [eel] use glib's i18n API instead of eel's M eel/eel-alert-dialog.c M eel/eel-canvas.c M eel/eel-editable-label.c M eel/eel-glib-extensions.c M eel/eel-gnome-extensions.c M eel/eel-stock-dialogs.c M eel/eel-vfs-extensions.c commit 742b9fb1550ceec9284f581c3741c0a864ca82fd Author: Cosimo Cecchi Date: 2010-08-19 [eel] remove eel-i18n.[ch] M eel/Makefile.am D eel/eel-i18n.c D eel/eel-i18n.h commit 296efa481c76046e60481eec119da749fad15ba8 Author: Cosimo Cecchi Date: 2010-08-19 [eel] remove EelGtkContainer M eel/Makefile.am D eel/eel-gtk-container.c D eel/eel-gtk-container.h M eel/eel.h commit 3f68e342205f4446a99c1c18d34f23e33e11cae2 Author: Cosimo Cecchi Date: 2010-08-18 Revert "Add a border around info bars (#621366)." This reverts commit 48c0e19e60eee88f38a6e9c7a51211376a4c90f9. M src/file-manager/fm-directory-view.c M src/nemo-window-slot.c M src/nemo-window-slot.h commit f5e2ed4c8a54340d26097c08eebd0b4d5f7c7cb7 Author: Baurzhan Muftakhidinov Date: 2010-08-18 l10n: Added Kazakh translation for nemo A po/kk.po commit e3b6eaf2a5c251014e9df40ff5d880ce92647db5 Author: Baurzhan Muftakhidinov Date: 2010-08-18 l10n: Added Kazakh (kk) to po/LINGUAS M po/LINGUAS commit 7397d9967125b8ef5ac39d8ad331ed22498d53cd Author: Милош Поповић Date: 2010-08-16 Updated Serbian translation M po/sr.po M po/sr@latin.po commit d433ee1280fd7fa821de5941db1c972124633c29 Author: Cosimo Cecchi Date: 2010-08-14 pathbar: walk the buttons in the right order When a file is gone, walk the button items in the right order, i.e. the reversed one, otherwise we end up removing the entire pathbar. M src/nemo-pathbar.c commit d8cfb36f697bdf9130e36cdb60c375a9b363fbbe Author: Cosimo Cecchi Date: 2010-08-14 pathbar: use g_list_free_1 where appropriate M src/nemo-pathbar.c commit 76ab7b6266b3fd050c11f6365981d21f8c22b364 Author: Cosimo Cecchi Date: 2010-08-14 pathbar: add missing modeline M src/nemo-pathbar.c commit aa43821e73d60804a3f0f2ebafb66aab53b440e1 Author: Cosimo Cecchi Date: 2010-08-13 [ln-p] use the 'outline-stippling' property on DnD M libnemo-private/nemo-icon-dnd.c commit b453aaacb0b17392eacacd8a9e378b7227da6413 Author: Cosimo Cecchi Date: 2010-08-13 [eel] add an 'outline-stippling' property to the rect item M eel/eel-canvas-rect-ellipse.c M eel/eel-canvas-rect-ellipse.h commit b10d8c00395026719dc0840e9d82e682c7c4e436 Author: Cosimo Cecchi Date: 2010-08-13 [ln-p] properly dash the icon when resizing it M libnemo-private/nemo-icon-canvas-item.c commit 29d7b86087f6ab86f6abd6c3c08c4e1d94b92b36 Author: Cosimo Cecchi Date: 2010-08-13 [ln-p] make drawing of resize knobs work again M libnemo-private/nemo-icon-canvas-item.c commit cbdf5829637093c0a5c0a4ff4d303ad184847627 Author: Benjamin Otte Date: 2010-08-13 [ln-p] port nemo-icon-private to cairo drawing M libnemo-private/nemo-icon-private.h commit 34a376c97717cb05187b3d880e991c2d23511109 Author: Benjamin Otte Date: 2010-08-13 [ln-p] port nemo-icon-dnd to cairo drawing M libnemo-private/nemo-icon-dnd.c M libnemo-private/nemo-icon-dnd.h commit 8eab39c06628da7cf919be77d922024198105f0a Author: Benjamin Otte Date: 2010-08-13 [ln-p] port NemoIconContainer to cairo drawing M libnemo-private/nemo-icon-container.c commit 89bd44de6bb11450b88d9d160593b65d62467579 Author: Benjamin Otte Date: 2010-08-13 [ln-p] port NemoIconCanvasItem to cairo drawing M libnemo-private/nemo-icon-canvas-item.c commit 6c691075c09ec23620484da00ffd43d3dfe0b75b Author: Benjamin Otte Date: 2010-08-13 [ln-p] port NemoDirectoryBackground to cairo drawing M libnemo-private/nemo-directory-background.c commit dfbf8b9b5636dceb3d6291c980d2c349afc849d7 Author: Benjamin Otte Date: 2010-08-13 [ln-p] port NemoCellRendererPixbufEmblem to cairo drawing M libnemo-private/nemo-cell-renderer-pixbuf-emblem.c commit a904f4acd546151ab37ee03bcce87869a805c323 Author: Cosimo Cecchi Date: 2010-08-13 [eel] remove dead code from eel-gtk-extensions M eel/eel-gtk-extensions.c M eel/eel-gtk-extensions.h commit 172af77cfbdc4910034a100a99aa1ec2cb843495 Author: Benjamin Otte Date: 2010-08-13 [eel] port eel-gdk-pixbuf-extensions to cairo drawing M eel/eel-gdk-pixbuf-extensions.c M eel/eel-gdk-pixbuf-extensions.h commit 917a27a6f69509720fadd0d50e40dbc87ae9f5d2 Author: Benjamin Otte Date: 2010-08-13 [eel] port eel-gdk-extensions to cairo drawing M eel/eel-gdk-extensions.c M eel/eel-gdk-extensions.h commit 6cb78fb15c89e53e60ee54dc8b773db6ca0def73 Author: Benjamin Otte Date: 2010-08-13 [eel] port EelEditableLabel to cairo drawing M eel/eel-editable-label.c M eel/eel-editable-label.h commit e716f82eea847e5298d773e2689642813db3d36e Author: Benjamin Otte Date: 2010-08-13 [eel] port eel-debug-drawing to cairo drawing M eel/eel-debug-drawing.c commit 759f3401bee333caf6d0ae6ae9820cdadda440e4 Author: Benjamin Otte Date: 2010-08-13 [eel] port EelCanvas to cairo drawing M eel/eel-canvas.c M eel/eel-canvas.h commit 820d4088a4d1768cf7e16de3c8ec0d7ff383f473 Author: Benjamin Otte Date: 2010-08-13 [eel] port EelCanvasRE to cairo drawing M eel/eel-canvas-rect-ellipse.c M eel/eel-canvas-rect-ellipse.h commit 28b6813b77c4776b789231d3c64be3be01748608 Author: Benjamin Otte Date: 2010-08-13 [eel] port EelBackground to cairo drawing M eel/eel-background.c commit a9fece4d5cc759ee5d7c1f1761bbebc597a3d912 Author: Cosimo Cecchi Date: 2010-08-12 Actually check for gsettings-desktop-schemas M configure.in commit 7aca581c68aa1174f635cb79f24ba394f5ae1d3a Author: Cosimo Cecchi Date: 2010-08-12 Bump to 2.90.1 on master. M configure.in commit 8973b8b20308ae6bb24881385597294e1209a2b0 Author: Fran Diéguez Date: 2010-08-11 Updated galician translations M po/gl.po commit c938ed5839ddba4654818dacf437633d168865eb Author: Gheyret T.Kenji Date: 2010-08-11 Added UG translation M po/LINGUAS A po/ug.po commit 8ceed8e258c83975c1a7d4de71884505d64bb572 Author: Daniel Nylander Date: 2010-08-10 Updated Swedish translation M po/sv.po commit d24a302fbaad263c207cd2fded2719cf17753699 Author: Yaron Shahrabani Date: 2010-08-10 Updated Hebrew translation. M po/he.po commit 9db6cf3ed43eebf0ded2aacaaed883eface75e92 Author: Marcus Carlson Date: 2010-08-04 Better (shorter) text when emptying trash (#304336) M libnemo-private/nemo-file-operations.c commit 8598d769993843e1e6529a661fea034785ca0091 Author: Marcus Carlson Date: 2010-08-02 Adds option to open new tab in tab bar context menu (#590714) M src/nemo-navigation-window-menus.c M src/nemo-navigation-window-pane.c M src/nemo-window.c M src/nemo-window.h commit 489a146546100d6429fb1705c99a23e959838b2c Author: Marcus Carlson Date: 2010-08-09 Removes doublespacing strings (#577535) M libnemo-private/nemo-program-choosing.c commit 69c7b1850cf7125a3289c9a57c8335eb29a7053d Author: Marcus Carlson Date: 2010-08-04 Adds "Free space: " to the end of the current status string (#588641) M src/file-manager/fm-directory-view.c commit 19dc1d9dbf2c1be17d7ad502ba0710e76f5de9ff Author: Marcus Carlson Date: 2010-08-09 Open current folder properties on Alt+Enter and Ctrl+I (#569694) M src/file-manager/fm-actions.h M src/file-manager/fm-directory-view.c M src/file-manager/nemo-directory-view-ui.xml commit 2b107d37a85ff03f84ecb63bb0b356dac43261f0 Author: Marcus Carlson Date: 2010-08-09 Enable scaling of icons on desktop only (#589295) M src/file-manager/fm-desktop-icon-view.c M src/file-manager/fm-icon-view.c M src/file-manager/fm-icon-view.h commit 5319feba3457213b656575893eeb973bde37a722 Author: Marcus Carlson Date: 2010-07-31 Hide all windows before closing when closing all windows (#441095) M src/nemo-application.c commit 59799e3e26476382ddd45d311e22db164474bbb2 Author: Marcus Carlson Date: 2010-07-05 Ellipseze bookmarks editing window renderer (#319159) M src/nemo-bookmarks-window.c commit 4bd09dd6ac7771579dc9e5af8779371c569a54ae Author: Andika Triwidada Date: 2010-08-10 Updated Indonesian translation M po/id.po commit 3988f758f0086a3b0cc149a9b7f4ebdc4bb9ef69 Author: Yaron Shahrabani Date: 2010-08-09 Updated Hebrew translation. M po/he.po commit aa27b362af03f198d5e49dbba85d662348d8ae8b Author: Nils-Christoph Fiedler Date: 2010-08-08 Updated LowGerman translation M po/nds.po commit 51ad44b586793dcc040001ae4d4d5c622c0102bb Author: Kjartan Maraas Date: 2010-08-07 Updated Norwegian bokmÃ¥l translation M po/nb.po commit ec99a1028efd2914a7ebaa5c85417168e956f4ef Author: drtv Date: 2010-08-07 Updated Tamil translation M po/ta.po commit 023076ad6a8cc79e8fcb11dfc769c801cbddc5d6 Author: drtv Date: 2010-08-07 Updated Tamil translation M po/ta.po commit 516733dba0f33edab1944649693bba271263daf4 Author: drtv Date: 2010-08-06 Updated Tamil translation M po/ta.po commit 803071c151adb67daaa669cbaa2614181157b82f Author: Fran Diéguez Date: 2010-08-05 Updated Galician translations M po/gl.po commit a9592caff33f54555d71715593879f09cfd6022a Author: Claude Paroz Date: 2010-08-05 Update POTFILES.in M po/POTFILES.in commit 0d33233e110922f614b7378f0ae9f8b94321dd06 Author: Reuben Potts Date: 2010-08-05 Added Manx translation M po/LINGUAS A po/gv.po commit 36add5d8c8107a0c2ed97a64f2a644c2362566a4 Author: Tomas Bzatek Date: 2010-08-05 Remove lockdown from monitored GConf paths M libnemo-private/nemo-global-preferences.c commit 9e219b3750a2cf60897bcd6213957cb9635dc05f Author: Tomas Bzatek Date: 2010-08-05 Require gsettings-desktop-schemas M configure.in commit 3c8b43bf6c10e83d0bd8fd97e0dae7032339ba72 Author: Tomas Bzatek Date: 2010-08-05 Convert disable-command-line lockdown to gsettings M libnemo-private/nemo-global-preferences.c M libnemo-private/nemo-global-preferences.h M src/file-manager/fm-desktop-icon-view.c M src/file-manager/fm-directory-view.c commit f871519fb28449c370448d8032294971ead1f162 Author: Tomas Bzatek Date: 2010-08-05 Remove unused gsettings schema keys M libnemo-private/org.gnome.nemo.gschema.xml.in commit 0c0d34f9cf2448303249122cd3baae6d1e32b93d Author: Tomas Bzatek Date: 2010-08-05 Re-enable commented-out keys in gsettings conversion file Please see bug 626106 for full story. Let's hope data mapping will work one day, for now it makes no issues. M libnemo-private/nemo.convert commit 224ea80bceb93e01cd9676c14e24c27eb556b813 Author: Sense Hofstede Date: 2010-08-04 Updated Frisian translations M po/fy.po commit 60ce7af080842792df21af6ff7fadf4a6674cf60 Author: Dirgita Date: 2010-08-04 Updated Indonesian translation M po/id.po commit 6c71e95a995db6fa15fd97fb314152481676b23a Author: Cosimo Cecchi Date: 2010-08-03 Remove useless code for handling color drops M libnemo-private/nemo-dnd.h M libnemo-private/nemo-file-dnd.c M libnemo-private/nemo-icon-dnd.c commit 5ce852673cc5d5ae45bd042f9ab07916358f349a Author: Cosimo Cecchi Date: 2010-08-03 Use the actual action for GDK_ACTION_ASK drops M libnemo-private/nemo-icon-dnd.c commit 2a980bb67b95c9d6c8218181e8c492869beb126a Author: Tomas Bzatek Date: 2010-07-30 Add GSettings migration file M libnemo-private/Makefile.am A libnemo-private/nemo.convert commit 3ea4de522ddba6ad9313dc3fdf2d6936b130913c Author: Marcus Carlson Date: 2010-08-02 Only show "Organize Desktop by Name" on Desktop (#530136) M src/file-manager/fm-icon-view.c commit f985fe76918ef299e3b580fef8922045c9a4cfed Author: Cosimo Cecchi Date: 2010-08-03 Don't unref the DBus proxy if it's NULL M libnemo-private/nemo-mime-actions.c commit 6d91cfb1d053a433cc5e17336c2e22c4e1d71673 Author: Cosimo Cecchi Date: 2010-08-01 Correctly show the multiple files warning Only show it when we're actually opening files, not folders. M libnemo-private/nemo-mime-actions.c commit 5b31e211ff20645c548949bd8d012b7bcaa39bf2 Author: Ankit Patel Date: 2010-07-27 Updated Gujarati Translations to correct dynamic variables mistakes M po/gu.po commit a1a8f97c9dcd9fdbbbfdddcec7f7d8da85a68dfb Author: Runa Bhattacharjee Date: 2010-07-27 Updated Bengali India Translation M po/bn_IN.po commit 52cf8ee6614dc311412ccecd8ea229d7b8c2a091 Author: Marcus Carlson Date: 2010-07-25 Enter key when combo box has focus validates new media dialog (#589436) M libnemo-private/nemo-autorun.c commit 915e5523947fe049e06f9bd8574760f6765e8ad7 Merge: 84b89c5 e50565b Author: Cosimo Cecchi Date: 2010-07-26 Merge branch 'remove-emblems-splitted' commit e50565bae0943c3bfe7025fc1f9728b07ef6ebd4 Author: Cosimo Cecchi Date: 2010-07-26 Remove sort by emblems in the UI file. M src/nemo-file-management-properties.ui commit 786dfd9d98dd7d313fa9cc33a7ebb500f100262c Author: Cosimo Cecchi Date: 2010-07-26 Remove emblem references from the GSettings schema. M libnemo-private/org.gnome.nemo.gschema.xml.in commit 326e6b14fbb7c106b35993ad3db8f243e38b3e44 Author: Cosimo Cecchi Date: 2010-07-26 Remove useless struct. M libnemo-private/nemo-file-private.h commit edfa318f2624bccba7b002c4176a839bf36136bd Author: Cosimo Cecchi Date: 2010-07-26 Remove useless defines. M libnemo-private/nemo-icon-names.h commit 09778cd3845fd3b6cf890d8263575e1a188fcdb2 Author: Cosimo Cecchi Date: 2010-07-26 Remove useless defines. M libnemo-private/nemo-file.h commit 23c1dbcac260018428949bb954dff65dd774ee11 Author: Cosimo Cecchi Date: 2010-07-26 Readd code to read emblems provided by extensions. M libnemo-private/nemo-file.c M libnemo-private/nemo-file.h commit 84b89c5e4c1e7185d053c59fb6b14f72c1670e88 Author: Daniel Nylander Date: 2010-07-25 Updated Swedish translation M po/sv.po commit 2f21906e0f8d54df736a13e38f7b84013f8afb33 Author: Cosimo Cecchi Date: 2010-07-25 [data] remove other unused icons M icons/Makefile.am D icons/backgrounds.png D icons/chit_frame.png D icons/colors.png D icons/emblems.png D icons/erase.png commit 87469500d98babc7d74a74d2e6a88535a1b5ad95 Author: Cosimo Cecchi Date: 2010-07-25 [data] remove patterns M configure.in M data/Makefile.am D data/patterns/Makefile.am D data/patterns/blue_gray_rough.png D data/patterns/blue_ridge.png D data/patterns/blue_type.png D data/patterns/brushed_metal.png D data/patterns/burlap.jpg D data/patterns/camouflage.png D data/patterns/chalk.jpg D data/patterns/cork.png D data/patterns/countertop.png D data/patterns/dark-gnome.jpg D data/patterns/dots.png D data/patterns/fibers.png D data/patterns/fleur_de_lis.png D data/patterns/floral.png D data/patterns/fossil.png D data/patterns/gnome.jpg D data/patterns/green_weave.png D data/patterns/ice.png D data/patterns/manila_paper.png D data/patterns/moss_ridge.png D data/patterns/numbers.png D data/patterns/ocean_stripes.png D data/patterns/purple_marble.png D data/patterns/reset.png D data/patterns/ridged_paper.png D data/patterns/rough_paper.png D data/patterns/sky_ridge.png D data/patterns/snow_ridge.png D data/patterns/stucco.jpg D data/patterns/terracotta.png D data/patterns/wavy_white.png commit b5dd2515600f6dca2543aed45ae5455d9626ae92 Author: Cosimo Cecchi Date: 2010-07-25 [data] remove useless browser file M data/Makefile.am D data/browser.xml commit 1abbbd936663d91c8d4b854a0beed41f64d85f73 Author: Cosimo Cecchi Date: 2010-07-25 [src] remove useless nemo-emblem-utils M libnemo-private/Makefile.am D libnemo-private/nemo-emblem-utils.c D libnemo-private/nemo-emblem-utils.h M src/file-manager/fm-properties-window.c commit f9be00dfbf7e6baa1ee66e3ed0d392b26d23b665 Author: Cosimo Cecchi Date: 2010-07-25 [src] remove unused sort option M src/nemo-file-management-properties.c commit a147dffbf4ffbb11063f820a26537484bc67b558 Author: Cosimo Cecchi Date: 2010-07-25 [src] remove useless variables. M src/file-manager/fm-properties-window.c commit 48df65532da4646db7250452e7cfb731f5773566 Author: Cosimo Cecchi Date: 2010-07-25 Remove [_set/_get]_keywords API from NemoFile. M libnemo-private/nemo-file.c M libnemo-private/nemo-file.h commit 988e0ef8c5048ed7add4441f2325a5eb725b728e Author: Cosimo Cecchi Date: 2010-07-25 Remove 'Sort by Emblems' from the views. M src/file-manager/fm-icon-view.c M src/file-manager/fm-list-view.c M src/file-manager/nemo-icon-view-ui.xml commit 4c465f5590f3e908b98197faeb63767193bb6e79 Author: Cosimo Cecchi Date: 2010-07-25 Remove dead code from the properties window. M src/file-manager/fm-properties-window.c commit d58d42c261db94bf0d538698939698f2aeb63d1d Author: Cosimo Cecchi Date: 2010-07-25 Remove code to handle emblems in DnD. M libnemo-private/nemo-dnd.h M libnemo-private/nemo-file-dnd.c M libnemo-private/nemo-file-dnd.h M libnemo-private/nemo-icon-dnd.c M libnemo-private/nemo-tree-view-drag-dest.c commit 3e1347c1100095b38deb2431a434ad56e543aafa Author: Cosimo Cecchi Date: 2010-07-25 Remove code for handling reset backgorund in DnD. M libnemo-private/nemo-dnd.h M libnemo-private/nemo-file-dnd.c M libnemo-private/nemo-icon-dnd.c M src/file-manager/fm-properties-window.c commit 82bfad0af3902dd22e764a3cae9ad82735aac591 Author: Cosimo Cecchi Date: 2010-07-25 [src] remove unused NemoSidebarTitle M src/Makefile.am D src/nemo-sidebar-title.c D src/nemo-sidebar-title.h commit 41b7e9fe4d944dc9adabd62c35b053bc8099c393 Author: Cosimo Cecchi Date: 2010-07-25 [eel] remove unused eel-xml-extensions. M eel/Makefile.am D eel/eel-xml-extensions.c D eel/eel-xml-extensions.h M eel/eel.h M src/nemo-navigation-window-menus.c M test/test-eel-pixbuf-scale.c commit cc4cbfcde75280055d78c61f867009820efb1749 Author: Cosimo Cecchi Date: 2010-07-25 [ln-p] remove unused NemoCustomizationData M libnemo-private/Makefile.am D libnemo-private/nemo-customization-data.c D libnemo-private/nemo-customization-data.h M src/file-manager/fm-properties-window.c commit 4ba7cefdd56ac289bb157d5d7d99034378efdebe Author: Cosimo Cecchi Date: 2010-07-25 [eel] remove unused EelWrapTable M eel/Makefile.am D eel/eel-wrap-table.c D eel/eel-wrap-table.h M eel/eel.h M src/file-manager/fm-properties-window.c commit 1ad357964e6d4e33a3fa4301245318e6e080385f Author: Cosimo Cecchi Date: 2010-07-25 [eel] remove unused EelLabeledImage M eel/Makefile.am D eel/eel-labeled-image.c D eel/eel-labeled-image.h M eel/eel.h M src/file-manager/fm-properties-window.c M test/Makefile.am D test/test-eel-labeled-image.c D test/test-nemo-wrap-table.c commit 6feed0a28d927a98aa5b09bc6622de1fc146387b Author: Cosimo Cecchi Date: 2010-07-25 [eel] remove unused EelImageTable M eel/Makefile.am D eel/eel-image-table.c D eel/eel-image-table.h M eel/eel.h M test/Makefile.am D test/test-eel-image-table.c commit 28fbb49494879666928a23aa37d36ca0e819d176 Author: Cosimo Cecchi Date: 2010-07-25 [eel] remove unused EelBackgroundBox M eel/Makefile.am D eel/eel-background-box.c D eel/eel-background-box.h commit 83af9319fe2ad9eb8af559dc1934a0fc48ed98ba Author: Cosimo Cecchi Date: 2010-07-25 [src] remove NemoInformationPanel It's old, basically unused, and unmaintained. M src/Makefile.am M src/nemo-application.c D src/nemo-information-panel.c D src/nemo-information-panel.h M src/nemo-navigation-window.h M src/nemo-window.c M src/nemo-window.h commit dc0517bb3462c3da5d7fd2afb31470cc58fac903 Author: Cosimo Cecchi Date: 2010-07-25 [src] remove emblems from the properties window. M src/file-manager/fm-properties-window.c commit b2eb619da772af14f2e4127988a4431eedf212b6 Author: Cosimo Cecchi Date: 2010-07-25 [src] remove NemoEmblemSidebar M src/Makefile.am M src/nemo-application.c D src/nemo-emblem-sidebar.c D src/nemo-emblem-sidebar.h commit c1a69337f031d0fce79fb6f0be52c44670145668 Author: Cosimo Cecchi Date: 2010-07-25 [src] remove NemoPropertyBrowser This is part of a complete removal of the backgrounds/emblems feature. M src/Makefile.am M src/nemo-navigation-window-menus.c D src/nemo-property-browser.c D src/nemo-property-browser.h M src/nemo-shell-ui.xml M src/nemo-window-menus.c commit 92d8c11fb694aaf44b13184c704f7ec792796922 Author: Daniel Nylander Date: 2010-07-25 Updated Swedish translation M po/sv.po commit 6fe90302d79742b7a17449569c47de9b04e83c35 Author: Aron Xu Date: 2010-07-24 Update Simplified Chinese translation. M po/zh_CN.po commit 8497f4011e7c42010b9db669b31a09cae7f57844 Author: Alexander Larsson Date: 2010-07-23 Remove gconf schemas M configure.in M libnemo-private/Makefile.am D libnemo-private/apps_nemo_preferences.schemas.in commit f58f80d4414daa520bd7287999c36b783103b70f Author: Alexander Larsson Date: 2010-07-23 Bump glib requirements for g_settings_reset M configure.in commit 31833fee708e23bb6ed16af045fa59b711076ecf Author: Alexander Larsson Date: 2010-07-23 Remove eel-enumeration, eel-gconf-extensions and eel-preferences M eel/Makefile.am D eel/eel-enumeration.c D eel/eel-enumeration.h D eel/eel-gconf-extensions.c D eel/eel-gconf-extensions.h M eel/eel-lib-self-check-functions.h D eel/eel-preferences-builder.c D eel/eel-preferences.c D eel/eel-preferences.h M eel/eel.h commit ca1c74b6df8a67e305c73adc1893e3552b763835 Author: Alexander Larsson Date: 2010-07-23 Remove last users of eel_preferences and eel_gconf M libnemo-private/nemo-desktop-link-monitor.c M libnemo-private/nemo-directory-background.c M libnemo-private/nemo-global-preferences.c M libnemo-private/nemo-global-preferences.h M libnemo-private/nemo-icon-container.c M libnemo-private/nemo-program-choosing.c M src/file-manager/fm-tree-view.c M src/nemo-connect-server-dialog-main.c M src/nemo-file-management-properties-main.c M src/nemo-file-management-properties.c M src/nemo-history-sidebar.c M src/nemo-navigation-window-pane.c M src/nemo-pathbar.c M src/nemo-places-sidebar.c M src/nemo-window-menus.c D test/test-nemo-preferences-display.c M test/test.c commit e85f7b768edd103a48dc18993edd431fd880f5d4 Author: Alexander Larsson Date: 2010-07-23 Convert last eel_preference users to raw gconf This is moslty the lockdown stuff, but we also access the background setting. This should be converted to use the new gsettings when they land. M libnemo-private/nemo-global-preferences.c M libnemo-private/nemo-global-preferences.h M src/file-manager/fm-desktop-icon-view.c M src/file-manager/fm-directory-view.c M src/nemo-connect-server-dialog-main.c commit 02bb707335bbee09bb033f69c87baab65f8c8051 Author: Alexander Larsson Date: 2010-07-23 Initialize gsettings in nemo-connect-server M src/nemo-connect-server-dialog-main.c commit f202dab6902b28fdf1deaad7e4d259c50ef6b575 Author: Alexander Larsson Date: 2010-07-23 Remove remnants of old file-limit preference M libnemo-private/nemo-directory-async.c M libnemo-private/nemo-directory.c M libnemo-private/nemo-directory.h M src/file-manager/fm-directory-view.c M src/file-manager/fm-directory-view.h commit 97bbb3cd5029157fe044ad1949620ed6ee4f2278 Author: Alexander Larsson Date: 2010-07-23 Fix conversion of enable-delete M src/file-manager/fm-directory-view.c commit f495063f73e4949959678280186f99bb801f804b Author: Alexander Larsson Date: 2010-07-23 Move desktop-font preference to desktop settings M libnemo-private/nemo-global-preferences.h M libnemo-private/org.gnome.nemo.gschema.xml.in M src/file-manager/fm-desktop-icon-view.c commit 36c238331d19b9a33f13fcbaf49928f35b78ff8c Author: Alexander Larsson Date: 2010-07-23 Convert list-view preferences to gsettings Also removes unused default-use-manual-layout setting, and joins the sort order preferences of the list view and the icon view. M libnemo-private/nemo-global-preferences.c M libnemo-private/nemo-global-preferences.h M src/file-manager/fm-icon-view.c M src/file-manager/fm-list-view.c M src/nemo-file-management-properties.c commit 000b73a429932d9816aaf5e69cd521675b39b548 Author: Alexander Larsson Date: 2010-07-23 Move the sort order prefs from view-specific to common prefs We already only have one UI setting that controls both, so it makes no sense to have two settings. M libnemo-private/org.gnome.nemo.gschema.xml.in commit 77207d5ff5bade458446d5783fe6a99fc38ac6de Author: Alexander Larsson Date: 2010-07-23 Add eel_g_settings_add_auto_strv M eel/eel-glib-extensions.c M eel/eel-glib-extensions.h commit 1f2e9750da78aab404f4bda66889c9c5dc6adc94 Author: Alexander Larsson Date: 2010-07-22 Remove unused NEWS side pane prefs M libnemo-private/nemo-global-preferences.h commit 80a26e69ad2383d3aca093ed993e7ff3f8a1bc5b Author: Alexander Larsson Date: 2010-07-22 Convert compact view prefs to gsettings M libnemo-private/nemo-global-preferences.c M libnemo-private/nemo-global-preferences.h M src/file-manager/fm-icon-view.c M src/nemo-file-management-properties.c commit 706efc521fec6035d644600b18afdfe20ac9d472 Author: Alexander Larsson Date: 2010-07-22 Convert tree sidebar prefs to gsettings M libnemo-private/nemo-global-preferences.c M libnemo-private/nemo-global-preferences.h M src/file-manager/fm-tree-view.c M src/nemo-file-management-properties.c commit f6697ac99280f4fd9b8920d52bcc7407fd09c15c Author: Alexander Larsson Date: 2010-07-22 Convert desktop preferences to gsettings M libnemo-private/nemo-desktop-link-monitor.c M libnemo-private/nemo-desktop-link.c M libnemo-private/nemo-global-preferences.c M libnemo-private/nemo-global-preferences.h M libnemo-private/nemo-icon-container.c M libnemo-private/org.gnome.nemo.gschema.xml.in M src/nemo-file-management-properties.c M src/nemo-file-management-properties.ui commit 43652872e6b5644c831a9041c9d2e3e22a8ef773 Author: Alexander Larsson Date: 2010-07-22 Fix up desktop-is-home-dir gsettings conversion M libnemo-private/nemo-file-utilities.c commit 831787a7460655ebbac3499d399d72d45b1cdc60 Author: Alexander Larsson Date: 2010-07-22 Fix desktop-font gsettings conversion M src/file-manager/fm-desktop-icon-view.c commit df9c8ce6b162f37fe9372ee8b9e5c4798c9033e0 Author: Alexander Larsson Date: 2010-07-22 Convert icon-view preferences to gsettings M libnemo-private/nemo-file.c M libnemo-private/nemo-global-preferences.c M libnemo-private/nemo-global-preferences.h M libnemo-private/nemo-icon-container.c M libnemo-private/nemo-thumbnails.c M src/file-manager/fm-desktop-icon-view.c M src/file-manager/fm-directory-view.c M src/file-manager/fm-icon-container.c M src/file-manager/fm-icon-view.c M src/nemo-file-management-properties.c commit 467af3b7e13fcc51ad1ecafd05bbfd4a4f7d9541 Author: Alexander Larsson Date: 2010-07-22 Add some more g_settings auto helpers to eel-glib-extensions M eel/eel-glib-extensions.c M eel/eel-glib-extensions.h commit 75ade49a17470a86354eb8b591212d512c2ab08b Author: Alexander Larsson Date: 2010-07-22 Convert preview settings to gsettings M libnemo-private/nemo-file.c M libnemo-private/nemo-global-preferences.c M libnemo-private/nemo-global-preferences.h M src/file-manager/fm-directory-view.c M src/file-manager/fm-icon-view.c M src/nemo-file-management-properties.c commit bcf929af833a83aba7ab58b7ae85697a288d006d Author: Alexander Larsson Date: 2010-07-22 Convert show-directory-item-counts to gsettings M libnemo-private/nemo-directory.c M libnemo-private/nemo-file.c M libnemo-private/nemo-global-preferences.c M libnemo-private/nemo-global-preferences.h M src/nemo-file-management-properties.c M src/nemo-sidebar-title.c commit 4b5a2c833296abfb2ea28c0cca45d1a748d8a0d1 Author: Alexander Larsson Date: 2010-07-22 Convert show-text-in-icons to gsettings M libnemo-private/nemo-directory.c M libnemo-private/nemo-file.c M libnemo-private/nemo-global-preferences.c M libnemo-private/nemo-global-preferences.h M src/nemo-file-management-properties.c commit 184d31a6773358c1d081c82e508cd4c369e6a711 Author: Alexander Larsson Date: 2010-07-22 Remove unused search-bar-type setting M libnemo-private/nemo-global-preferences.c M libnemo-private/nemo-global-preferences.h commit 3f87495987c2db24002e48da344e96243a5c70e2 Author: Alexander Larsson Date: 2010-07-22 Convert default-folder-view to gsettings M libnemo-private/nemo-global-preferences.c M libnemo-private/nemo-global-preferences.h M src/nemo-file-management-properties.c commit 87aa83c53183b02ca78fedf3c39b4ff15ad09e11 Author: Alexander Larsson Date: 2010-07-22 Convert sort-directories-first to gsettings M libnemo-private/nemo-global-preferences.c M libnemo-private/nemo-global-preferences.h M src/file-manager/fm-directory-view.c M src/nemo-file-management-properties.c commit c6a6fb894cf9bd12fbd12977ab5ccd9e58540ae1 Author: Alexander Larsson Date: 2010-07-22 Conver window-state to gsettings M libnemo-private/nemo-global-preferences.c M libnemo-private/nemo-global-preferences.h M src/nemo-application.c M src/nemo-navigation-window-pane.c M src/nemo-navigation-window.c commit adee5018f3a4985cf8d538a998f32ed9bb6a6ffd Author: Alexander Larsson Date: 2010-07-22 Convert install-mime-activation to gsettings M libnemo-private/nemo-global-preferences.c M libnemo-private/nemo-global-preferences.h M libnemo-private/nemo-mime-actions.c commit a7163bb6c91c40a8dea2e3b6c34623a0449053a4 Author: Alexander Larsson Date: 2010-07-22 convert exit with last window to gsettings M libnemo-private/nemo-global-preferences.c M libnemo-private/nemo-global-preferences.h M src/nemo-main.c commit e167d6f663fc2c420d939f5cbb24c6463b03e8c2 Author: Alexander Larsson Date: 2010-07-22 Convert new tab position to gsettings M libnemo-private/nemo-global-preferences.c M libnemo-private/nemo-global-preferences.h M libnemo-private/nemo-mime-actions.c M src/nemo-navigation-window-menus.c M src/nemo-window-manage-views.c commit 42e9d22c84a3f54dfaa6da39243dd07c18a7cb9c Author: Alexander Larsson Date: 2010-07-22 Convert always-use-browser to gsettings M libnemo-private/nemo-global-preferences.c M libnemo-private/nemo-global-preferences.h M src/file-manager/fm-directory-view.c M src/nemo-application.c M src/nemo-bookmarks-window.c M src/nemo-connect-server-dialog-nonmain.c M src/nemo-file-management-properties.c M src/nemo-navigation-window-menus.c M src/nemo-navigation-window.c M src/nemo-window-manage-views.c commit 97d62a1d402853f2dd328a53cb7e94581b8e2498 Author: Alexander Larsson Date: 2010-07-22 Convert click-policy to GSettings M libnemo-private/nemo-global-preferences.c M libnemo-private/nemo-global-preferences.h M libnemo-private/nemo-icon-canvas-item.c M src/file-manager/fm-directory-view.c M src/file-manager/fm-icon-view.c M src/file-manager/fm-list-view.c M src/nemo-file-management-properties.c M src/nemo-history-sidebar.c commit cf4f7f10baa305cc3cbacb0b3c27c1eb45ae65f4 Author: Alexander Larsson Date: 2010-07-22 Convert executable-text-activation to GSettings M libnemo-private/nemo-global-preferences.c M libnemo-private/nemo-global-preferences.h M libnemo-private/nemo-mime-actions.c M src/nemo-file-management-properties.c commit e3777c0e025815fd40908ea826f0091ecfe84fb0 Author: Alexander Larsson Date: 2010-07-22 Convert mouse prefs to gsettings M libnemo-private/nemo-global-preferences.c M libnemo-private/nemo-global-preferences.h M src/nemo-navigation-window.c commit 202b69146a1fb42e147d1ca6f8694b27d8ada28b Author: Alexander Larsson Date: 2010-07-22 Convert date-format to gsettings M libnemo-private/nemo-directory.c M libnemo-private/nemo-file.c M libnemo-private/nemo-global-preferences.c M libnemo-private/nemo-global-preferences.h M src/nemo-file-management-properties.c commit 4c3067f86f9dfb848ab941ea8a2fb8aeb2c34944 Author: Alexander Larsson Date: 2010-07-22 Add eel_g_settings_add_auto_enum M eel/eel-glib-extensions.c M eel/eel-glib-extensions.h commit 7abbb99a0e16be6050d61719a6b69197746ed7e4 Author: Alexander Larsson Date: 2010-07-22 Convert show-advanced-persmissions to gsettings M libnemo-private/nemo-global-preferences.c M libnemo-private/nemo-global-preferences.h M src/file-manager/fm-properties-window.c commit 9318df841a5a0ccd0723e2d5dbce8d2ddfd89b1d Author: Alexander Larsson Date: 2010-07-21 Convert show-hidden-files to gsettings and merge it with show-backup-files M libnemo-private/nemo-desktop-directory-file.c M libnemo-private/nemo-desktop-directory.c M libnemo-private/nemo-desktop-icon-file.c M libnemo-private/nemo-directory-async.c M libnemo-private/nemo-directory-private.h M libnemo-private/nemo-directory.c M libnemo-private/nemo-directory.h M libnemo-private/nemo-file-private.h M libnemo-private/nemo-file.c M libnemo-private/nemo-file.h M libnemo-private/nemo-global-preferences.c M libnemo-private/nemo-global-preferences.h M libnemo-private/nemo-merged-directory.c M libnemo-private/nemo-search-directory.c M libnemo-private/nemo-vfs-directory.c M libnemo-private/nemo-vfs-file.c M src/file-manager/fm-directory-view.c M src/file-manager/fm-tree-model.c M src/file-manager/fm-tree-view.c M src/nemo-file-management-properties.c M src/nemo-window-menus.c M test/test-nemo-directory-async.c commit 036ae8def6b46048b8d3db36ae944f3d6c6523de Author: Alexander Larsson Date: 2010-07-21 Initialize global preferences in nemo-file-management-properties M src/nemo-file-management-properties-main.c commit f5b77ef6fb16d0378916a0b9e99161694480a0b3 Author: Alexander Larsson Date: 2010-07-21 Remove declaration of nonexisting functions M libnemo-private/nemo-file-utilities.h commit 8c13219e9a44e90e1e74ea20a440dc763b5892ed Author: Alexander Larsson Date: 2010-07-21 Convert desktop preferences to gsettings M libnemo-private/nemo-desktop-directory.c M libnemo-private/nemo-file-utilities.c M libnemo-private/nemo-global-preferences.c M libnemo-private/nemo-global-preferences.h M src/file-manager/fm-desktop-icon-view.c M src/nemo-application.c M src/nemo-main.c M src/nemo-pathbar.c M src/nemo-places-sidebar.c commit 77f7a0378921b98f9b9bd0347acc25aabaa954dd Author: Alexander Larsson Date: 2010-07-21 Convert enable-delete to gsettings M libnemo-private/nemo-global-preferences.c M libnemo-private/nemo-global-preferences.h M src/file-manager/fm-directory-view.c M src/file-manager/fm-tree-view.c M src/nemo-file-management-properties.c commit 85cd2e45893a561ebd739c9bca595a1ef9a4f136 Author: Alexander Larsson Date: 2010-07-21 Convert confirm-trash preference to gsettings M libnemo-private/nemo-file-operations.c M libnemo-private/nemo-global-preferences.c M libnemo-private/nemo-global-preferences.h M src/file-manager/fm-directory-view.c M src/nemo-file-management-properties.c commit 924e9ee3ad889d9a8abc63c79c79c1cb25aaf0cf Author: Alexander Larsson Date: 2010-07-21 Convert media handling preferences to gsettings M libnemo-private/nemo-autorun.c M libnemo-private/nemo-global-preferences.c M libnemo-private/nemo-global-preferences.h M src/nemo-application.c M src/nemo-file-management-properties.c commit d6ab21e01e525f7c18b6c592802cc4f3b8764665 Author: Alexander Larsson Date: 2010-07-21 Convert side pane width to gsettings M libnemo-private/nemo-global-preferences.c M libnemo-private/nemo-global-preferences.h M src/nemo-navigation-window.c commit df4dcf7dc10b40af61e2922dbfd728ffdb575e76 Author: Alexander Larsson Date: 2010-07-21 Convert side pane background to gsettings M libnemo-private/nemo-global-preferences.h M src/nemo-information-panel.c commit 352e84790d3738a8d1e965ccd0f911c290dfef5d Author: Alexander Larsson Date: 2010-07-21 Convert background prefs to GSettings M libnemo-private/nemo-directory-background.c M libnemo-private/nemo-global-preferences.h commit 096b906da1e22b9ece5e568f195961ac40cae542 Author: Alexander Larsson Date: 2010-07-21 Create the global nemo_preferences GSettings object M libnemo-private/nemo-global-preferences.c M libnemo-private/nemo-global-preferences.h commit c70466a133e6ca670e998af11bdc39aa2aec4825 Author: Alexander Larsson Date: 2010-07-21 Remove deprecated prefs for nemo theme M libnemo-private/nemo-directory-background.c M libnemo-private/nemo-global-preferences.c M libnemo-private/nemo-global-preferences.h M libnemo-private/nemo-icon-container.c M src/nemo-property-browser.c commit a31e758e00b714a6897ebc6adf11c1599455b7f6 Author: Alexander Larsson Date: 2010-07-21 Rename sidebar ids as per the new gsettings pref names M src/file-manager/fm-tree-view.h M src/nemo-emblem-sidebar.h M src/nemo-history-sidebar.h M src/nemo-information-panel.h M src/nemo-notes-viewer.h M src/nemo-places-sidebar.h commit b33acb0abea58b2e980876ccde9fdc3bfce5c589 Author: Alexander Larsson Date: 2010-07-21 Add GSettings schemas for nemo M configure.in M libnemo-private/Makefile.am A libnemo-private/org.gnome.media-handling.gschema.xml.in A libnemo-private/org.gnome.nemo.gschema.xml.in commit ac038a0d90a4d59b564803be2698bc883672ab84 Author: Tomas Bzatek Date: 2010-07-21 Set default value for the navigation_window_saved_maximized gconf key And avoid gconftool messages like WARNING: Failed to parse default value `' for schema (/schemas/apps/nemo/preferences/navigation_window_saved_maximized) M libnemo-private/apps_nemo_preferences.schemas.in commit d992764b81b8b77efd0a68629372b569fb09dd11 Author: Fran Diéguez Date: 2010-07-21 Updated Galician translations M po/gl.po commit fed4221b81043420447bc45502314a4c1b6b12d6 Author: Chao-Hsiung Liao Date: 2010-07-20 Updated Traditional Chinese translation(Hong Kong and Taiwan) M po/zh_HK.po M po/zh_TW.po commit bed28df1062042de23e939aeda409a9fc35d8eac Author: Mario Blättermann Date: 2010-07-18 [i18n] Updated German translation M po/de.po commit c7aae474dd404a015beb7413bab7d6d517ff2951 Author: Jorge González Date: 2010-07-18 Updated Spanish translation M po/es.po commit ab1ddd9e2bb2401a32cc0ebc587401b815504bd5 Author: Yaron Shahrabani Date: 2010-07-18 Updated Hebrew translation. M po/he.po commit faf1c74e479a6fb44fc1b51ee8e3319ee646cb81 Author: Sense Hofstede Date: 2010-07-18 Updated Frisian translations and added the language to LINGUAS M po/LINGUAS A po/fy.po commit b8f5d27f7deadb985d7574bc0547f2c616d8e9b9 Author: Cosimo Cecchi Date: 2010-07-17 Don't set a NULL argv for GApplication (#624508) M src/nemo-application.c commit 521e3c8481fcf2af398d2ed62692d415448386cd Author: Cosimo Cecchi Date: 2010-07-17 Refer to 3.0 instead of 2.32 in a string (#624286) M src/nemo-application.c commit b145c20c58e465114d372590e460a98c40a770dc Author: Diego Escalante Urrelo Date: 2010-07-15 nemo-recent: gtk_recent_manager_set_limit is deprecated Views are expected to filter results on their own, not the model. Bug #624506 M libnemo-private/nemo-recent.c commit 24bfbbb615a507b005d3b8d4bdea9efd69387ea0 Author: Mario Blättermann Date: 2010-07-16 [i18n] Updated German translation M po/de.po commit 837ed1bf4741550b9c41f041ee418af1912ee320 Author: Yaron Shahrabani Date: 2010-07-16 Updated Hebrew translation. M po/he.po commit 397f9a3b66edfde3974256c7c4ac3e031ef99328 Author: Diego Escalante Urrelo Date: 2010-07-13 Update GtkNotebook callbacks to gtk+ master GtkNotebookPage is gone in switch-page, it's just a GtkWidget now. Bug #624295 M src/nemo-navigation-window-pane.c M src/nemo-side-pane.c commit e3b7cebba5c6be648286905fe116e744eb532f16 Author: du baodao Date: 2010-07-15 Update Simplified Chinese translation. M po/zh_CN.po commit fe2322d56aace170295ba51221d0ad0cc66a1c17 Author: Paolo Borelli Date: 2010-07-15 Remove leftover comments. These eel functions do not exist anymore. M eel/eel-gdk-extensions.c commit 5fab3e456c7bf05bb2b080ef97b7aa1470390806 Author: Lucian Adrian Grijincu Date: 2010-07-15 po: Updated Romanian translation completed translation M po/ro.po commit a13a4faf32ab442734a11bf2d3855007231f8b6a Author: Lucian Adrian Grijincu Date: 2010-07-15 po: Updated Romanian translation media & trash consistency. M po/ro.po commit cde01839725762691f663d6d7cfec710024781b1 Author: Lucian Adrian Grijincu Date: 2010-07-14 po: Updated Romanian translation Signed-off-by: Lucian Adrian Grijincu M po/ro.po commit aea71b38892a2a0932472521d0414f8ad4ce9939 Author: Kjartan Maraas Date: 2010-07-13 Updated Norwegian bokmÃ¥l translation M po/nb.po commit 683c15d3400988e5458ad91036b000c47859dec5 Author: Fran Diéguez Date: 2010-07-13 Updated Galician translations M po/gl.po commit 92076643ef6b11b9ffe5c9624ad50dccc2b6269e Author: Cosimo Cecchi Date: 2010-07-12 Release 2.31.5. M NEWS M configure.in commit 8ef7a9a1a1bdd02926b8b1fe59a6e97cf6c69574 Author: Marcus Carlson Date: 2010-07-10 Adds key binding for expanding and collapsing folders in list view https://bugzilla.gnome.org/show_bug.cgi?id=504869 M src/file-manager/fm-list-view.c commit 525b54d9a2385efdae21fd0b0da3631ba0071ce1 Author: Marcus Carlson Date: 2010-07-11 Ask for confirmation before opening more than 5 files (#596577) M libnemo-private/nemo-mime-actions.c commit b6fa38579dae68afd5b6ac71c98f7868e0a1731a Author: Marcus Carlson Date: 2010-07-10 Remove unnecessary include and remove a FIXME (#544211) Include of nemo-desktop-window.h in nemo-window.c is not needed anymore M src/nemo-window.c commit f12805d978c576e5f93f48815565f6e02fdd38ff Author: Marcus Carlson Date: 2010-07-10 Eat Control + v to not enable type ahead (#350819) M libnemo-private/nemo-icon-container.c M src/file-manager/fm-list-view.c commit 0a1cf043c9ec90b7b3da7e454eb860c5e2347866 Author: Marcus Carlson Date: 2010-07-11 Also change filename on disk when renaming a .desktop file (#145125) M libnemo-private/nemo-file.c commit 0fb0e54f06ec1090a0e3267a48bc66cc50603e82 Author: Marcus Carlson Date: 2010-07-10 Fixed typo (#624055) M src/nemo-file-management-properties.ui commit 34936ae8336e32359b3cc36b1bb2ba850313f4f5 Author: Marcus Carlson Date: 2010-07-10 Change clicked signal to toggled to not get into bad state (#440435) M src/nemo-property-browser.c commit a0bd71abc1d664d2ae3b949a3181041cdc162f2c Author: Cosimo Cecchi Date: 2010-07-10 Compile cleanly with GCC 4.5. M libnemo-private/nemo-directory-background.c M libnemo-private/nemo-icon-dnd.c M src/nemo-information-panel.c commit cd447610e3a8b32ec85d32cac7a12efcc33238ee Author: Fran Diéguez Date: 2010-07-07 Updated Galician translations M po/gl.po commit 8c033772f9ddf816103a21a6689e8a18831090fa Author: Marcus Carlson Date: 2010-07-05 Remove "Browse Folder" on Desktop when browsing is set to default (#563829) M src/file-manager/fm-directory-view.c commit 1f6f65c9547b430eb1414758a50d2aeea142869e Author: Marcus Carlson Date: 2010-07-05 Don't eat Alt+Right/Left in icon container So they do not interfere with history browsing https://bugzilla.gnome.org/show_bug.cgi?id=411664 M libnemo-private/nemo-icon-container.c commit e23140e8aea753ebb4195f1cfe728c62367fbdeb Author: Jorge González Date: 2010-07-04 Updated Spanish translation M po/es.po commit aca606ed03617ed15dc87ad34c1e0b72eda72928 Author: A. Walton Date: 2010-07-04 Use the correct icon for autorunning Open Folder According to the HIG, this icon should be 'folder-open'. This closes GNOME bug #608060. M libnemo-private/nemo-autorun.c commit c71ac3d1e00c3013a6736ac6dcf3ad074380b8a3 Author: YunQiang Su Date: 2010-07-04 Updated zh_CN translation. M po/ChangeLog M po/zh_CN.po commit 6b65b65f773e2ad27a23d40194b64fa911ae888c Author: Luca Ferretti Date: 2010-03-06 Fix mnemonics and capitalization for extra pane menu entries https://bugzilla.gnome.org/show_bug.cgi?id=612021 M src/file-manager/fm-directory-view.c M src/nemo-navigation-window-menus.c commit bb1ecb90fea17606c0eec2e36be7f60f47bb43ff Author: Ray Strode Date: 2010-07-04 Support overriding .gnome2 directory. The env var GNOME22_USER_DIR should be used for that. https://bugzilla.gnome.org/show_bug.cgi?id=614030 M libnemo-private/nemo-file-utilities.c M src/file-manager/fm-directory-view.c commit 5d86a47524e86980ec0ac21728ec76911d6bface Author: A. Walton Date: 2010-07-04 Set accessible name for the desktop. See https://bugzilla.gnome.org/show_bug.cgi?id=555425 M src/nemo-desktop-window.c commit 3094265abbfd3b70b39bb1dbd9625a81faf0fbca Author: Tomeu Vizoso Date: 2010-02-04 Use G_PASSWORD_SAVE_FOR_SESSION by default. When mounting volumes that require a password, present by default the option G_PASSWORD_SAVE_FOR_SESSION. https://bugzilla.gnome.org/show_bug.cgi?id=587909 M libnemo-private/nemo-file-operations.c M libnemo-private/nemo-mime-actions.c M src/file-manager/fm-directory-view.c M src/nemo-connect-server-dialog-main.c M src/nemo-window-manage-views.c commit cfc72ae3ea86b63660e1bf153a9e33844e5b2281 Author: Thomas Karpiniec Date: 2010-06-08 Use correct logic for delaying updates while loading See http://mail.gnome.org/archives/nemo-list/2010-June/msg00023.html and https://bugzilla.gnome.org/show_bug.cgi?id=599680 for details. M src/file-manager/fm-directory-view.c commit ae1e7474830fb98eea93e1f4aadbf6e2b6caefc2 Author: Marcus Carlson Date: 2010-07-03 Properly handle G_IO_ERROR_FAILED_HANDLED (#601096). This avoid showing an useless message dialog when the user did not give authorization for mounting a device. M src/nemo-window-manage-views.c commit 41526834650640aa961d026ce5dea6025f668900 Author: Marcus Carlson Date: 2010-07-02 Change 'Close all Windows' shortcut to Ctrl+Q. Fixes bug #615808. M src/nemo-navigation-window-menus.c commit 1db7342c3fdc18ddea42266ae25ba3a6585c04b7 Author: Jorge González Date: 2010-07-01 Updated Spanish translation M po/es.po commit ab4a1d8234a63ce5c4ac96b89b624a1b216bd289 Author: Ted M Lin Date: 2009-09-02 Cleanup non-existant folders on pathbar (bug #310205). M src/nemo-pathbar.c commit 41e9a662b329c3438ee0c4c029cd4cf8d22d9574 Author: Cosimo Cecchi Date: 2010-07-01 Require GTK+ 2.90.5. So that we can drag in the right cairo dependency. M configure.in commit 375b1f4335666f9ba8d7e4f8003baecc1b9ec033 Author: Cosimo Cecchi Date: 2010-07-01 Add missing modeline. M eel/eel-canvas-rect-ellipse.c commit 3b671558f1d8ac1ee72e8af13d4ede6ab549a400 Author: Cosimo Cecchi Date: 2010-07-01 Fix build with GTK+3 master, use cairo_region_t. M eel/eel-canvas-rect-ellipse.c M eel/eel-canvas.c M eel/eel-editable-label.c commit d1446086855ec1a673b144befff5b707244b998c Author: Cosimo Cecchi Date: 2010-07-01 Don't set has_custom_name for current location bookmark. So that renaming the relevant location can trigger updates in the listeners. M src/nemo-window-manage-views.c commit 7f6f20fd30dd989b85dbf132fd06e7e3e850d82c Author: Cosimo Cecchi Date: 2010-07-01 Remove dead code. M src/nemo-window-slot.c commit 90ebd95a7dbc3f7bef21e39c14fe04d4849fef37 Author: Marcus Carlson Date: 2010-06-30 Change "Clean Up by Name" to "Organize Desktop by Name" (#530136) M src/file-manager/fm-icon-view.c commit 83944789404d745e71f4b4a2f29c384cd44eba00 Author: Marcus Carlson Date: 2010-07-01 Ignore > 2 clicks in the icon container (#621098). M libnemo-private/nemo-icon-container.c commit 7faea402e1e37d88e5532dea712566312c981f92 Author: Kristjan Schmidt Date: 2010-06-29 Updated Esperanto translation M po/eo.po commit 9c903fd8a5b8daaa265a8d2c05603dbed9447d60 Author: Cosimo Cecchi Date: 2010-06-29 Release 2.31.4. M NEWS M configure.in commit a4e6c93d22394b086055ce92d0e06576958f969b Author: Mattias Põldaru Date: 2010-06-27 [l10n] Updated Estonian translation M po/et.po commit aaaf14437c04bd7ee8c53554e93ea47e615ae2d9 Author: Ivar Smolin Date: 2010-06-27 [l10n] Updated Estonian translation M po/et.po commit 0187296a18d2e30f5f30fab4528e42de42f7692a Author: Bastien Nocera Date: 2010-06-23 Update pkg-config files for GTK+ 3.x M libnemo-extension/libnemo-extension-uninstalled.pc.in M libnemo-extension/libnemo-extension.pc.in commit 3031b7d81721c2f54ce5412779e53ff6ebdf1fe2 Author: Bruno Brouard Date: 2010-06-23 Updated French translation M po/fr.po commit 48f2f2b3bb2abe397e799b74fd9a7140f52e307d Author: Matthias Clasen Date: 2010-06-21 Depend on the right gtk gir file We need Gtk-3.0.gir now. M libnemo-extension/Makefile.am commit 8f77b22b6091f87986abbd42d7637edf17e473a6 Author: Frédéric Péters Date: 2010-06-20 [build] link against gail-3.0 (GNOME bug 622155) M configure.in commit dc0ad00d37a68c009f555300cef427c4fb38d82c Author: Fran Diéguez Date: 2010-06-20 Updated Galician translations M po/gl.po commit f2e87dbcdb5535724a59ab9c69afe038b124b2bf Author: Matthias Clasen Date: 2010-06-19 Use the right datatype in the schema GConf calls it a bool, not a boolean. M libnemo-private/apps_nemo_preferences.schemas.in commit 45c9eb9bcbdddc91b4f53ecbd5731fc7eec88ac3 Author: Cosimo Cecchi Date: 2010-06-18 Move some variables around. M src/nemo-application.c commit e5d50bfd152e3d248519160a82908470973a539f Author: Cosimo Cecchi Date: 2010-06-18 Port to GApplication. Drop the libunique dependency. M src/nemo-application.c M src/nemo-application.h M src/nemo-main.c commit f75a6809f97033c75bf89cb6239415540953e9bb Author: Claudio Saavedra Date: 2010-06-18 Build against GTK+ 3.0 (#621938). M configure.in commit 89456b131830476d48234cd0ef32faf287496afb Author: Cosimo Cecchi Date: 2010-06-18 Use gtk_widget_get_child_requisition for the pathbar. Basically backport this GTK+ commit to make the pathbar work properly with width-for-height. http://git.gnome.org/browse/gtk+/commit/?id=0b92348077489047af98f360fd9bb3d59ee6d04a M src/nemo-pathbar.c commit c9e20bc18f5590b9377cab3b4ab5fc72108f7413 Author: Cosimo Cecchi Date: 2010-06-18 Don't fix relative paths for URIs. M src/nemo-location-entry.c commit 48c0e19e60eee88f38a6e9c7a51211376a4c90f9 Author: Cosimo Cecchi Date: 2010-06-17 Add a border around info bars (#621366). M src/file-manager/fm-directory-view.c M src/nemo-window-slot.c M src/nemo-window-slot.h commit eae04584d51b9e058c6dcaea488880d8a43409bf Author: Cosimo Cecchi Date: 2010-06-17 Update for GLib 2.25.9 API changes (#621879). M configure.in M libnemo-private/nemo-mime-actions.c M src/nemo-application.c M src/nemo-application.h commit 5a53ae7e699edb480b76b72df99fdf1dd68eb8f8 Author: A S Alam Date: 2010-06-15 Updating Punjabi Translation by A S Alam M po/pa.po commit 877f57375a200daceafc9f5b96b9802cfc21e500 Author: A S Alam Date: 2010-06-15 Updating Punjabi Translation by A S Alam M po/pa.po commit af984bc991757eeda233c6e335cc3f35e6329a97 Author: Fran Diéguez Date: 2010-06-13 Updated Galician translations M po/gl.po commit aefc1fc8d2a49e123c4c647cfa01499d4649ef6a Author: Andrej ŽnidarÅ¡iÄ Date: 2010-06-11 Updated Slovenian translation M po/sl.po commit ca0dbef16103f523b3dfb86e795447998f060b53 Author: Cosimo Cecchi Date: 2010-06-11 [src] remove a debug printf. M src/nemo-sidebar-title.c commit d667293d865797665b50de2b972297ae61881eb6 Author: Cosimo Cecchi Date: 2010-06-11 [build] bump GTK+ required version to 2.21.2. M configure.in commit d9f80b3f407b65f559c0ca47cddac41175ac353d Author: Cosimo Cecchi Date: 2010-06-11 [test] GSEAL test-eel-image-table. M test/test-eel-image-table.c commit 78287a76d6be97428d166f781385b86e18c9b6b8 Author: Cosimo Cecchi Date: 2010-06-11 [src] GSEAL nemo-zoom-control. M src/nemo-zoom-control.c commit bbeb350ef219f6e94d9eba6e78d0ebbdb2201a08 Author: Cosimo Cecchi Date: 2010-06-11 [src] GSEAL nemo-window. M src/nemo-window.c commit 44af78c3c205f88801a8bdfa3cb0a02f7cd87d3f Author: Cosimo Cecchi Date: 2010-06-11 [src] GSEAL nemo-window-manage-views. M src/nemo-window-manage-views.c commit b5407396039035e6f4e78c2d9d03891d76dd93bd Author: Cosimo Cecchi Date: 2010-06-11 [src] GSEAL nemo-window-bookmarks. M src/nemo-window-bookmarks.c commit 2675ebc0873e71af0a5f8cc3463313525bfeebac Author: Cosimo Cecchi Date: 2010-06-11 [src] GSEAL nemo-spatial-window. M src/nemo-spatial-window.c commit 11736c1fcbe581eab9c4a86619cfff0e71bbef38 Author: Cosimo Cecchi Date: 2010-06-11 [src] GSEAL nemo-sidebar-title. M src/nemo-sidebar-title.c commit 24b94447cb798ee03c9d21973f2d650c4cec2ad9 Author: Cosimo Cecchi Date: 2010-06-11 [src] GSEAL nemo-side-pane. M src/nemo-side-pane.c commit 2aa9bed8a98cbf68fec53b88e7d05f86f158bd07 Author: Cosimo Cecchi Date: 2010-06-11 [src] GSEAL nemo-query-editor. M src/nemo-query-editor.c commit 075446f3751566ec1187d6cdb3751456c9c50867 Author: Cosimo Cecchi Date: 2010-06-11 [src] GSEAL nemo-property-browser. M src/nemo-property-browser.c commit 06a2e40ccc45d82692997ee29e56314a45ea373f Author: Cosimo Cecchi Date: 2010-06-11 [src] GSEAL nemo-places-sidebar. M src/nemo-places-sidebar.c commit 61006bd18b748c50bde01efe4abcb038a710ee11 Author: Cosimo Cecchi Date: 2010-06-11 [src] GSEAL nemo-pathbar. M src/nemo-pathbar.c commit 791e4c7cf2f0ee3c5f8bd55b1867daea6d891000 Author: Cosimo Cecchi Date: 2010-06-11 [src] GSEAL nemo-notebook. M src/nemo-notebook.c commit 2b200c5bcaee4018a9fcf82a7b1e0076f2568588 Author: Cosimo Cecchi Date: 2010-06-11 [src] GSEAL nemo-navigation-window. M src/nemo-navigation-window.c commit cb1e2694bdaa8c8fbad8b2541f0efe354d81b1c0 Author: Cosimo Cecchi Date: 2010-06-11 [src] GSEAL nemo-navigation-window-menus. M src/nemo-navigation-window-menus.c commit a0d1ca75e37fd26135fe9c85d8d86dc75e831d86 Author: Cosimo Cecchi Date: 2010-06-11 [src] GSEAL nemo-location-dialog. M src/nemo-location-dialog.c commit 4bba151bdacd27a193c100cf771144b7d2501548 Author: Cosimo Cecchi Date: 2010-06-11 [src] GSEAL nemo-location-bar. M src/nemo-location-bar.c commit eab92fb34f344fcadaaaf17beb7609a1f2cab0fa Author: Cosimo Cecchi Date: 2010-06-11 [src] GSEAL nemo-information-panel. M src/nemo-information-panel.c commit 26f5fcc5efe27ca7f63b45d04a773caae6a0becd Author: Cosimo Cecchi Date: 2010-06-11 [src] GSEAL nemo-emblem-sidebar. M src/nemo-emblem-sidebar.c commit 45fc9cc4fae20e69e12ca14b767277d190978c71 Author: Cosimo Cecchi Date: 2010-06-11 [src] GSEAL nemo-desktop-window. M src/nemo-desktop-window.c commit ac4547b030a3b0b9ed60ff9bb2f783ac10a7d62b Author: Cosimo Cecchi Date: 2010-06-11 [src] GSEAL nemo-connect-server-dialog. M src/nemo-connect-server-dialog.c commit b43e268e738e8754eaa3d0e38a0cb5859f254241 Author: Cosimo Cecchi Date: 2010-06-11 [src] GSEAL nemo-application. M src/nemo-application.c commit c76136d88c314c17dbabca9ddd8808d297ceaee0 Author: Cosimo Cecchi Date: 2010-06-11 [file-manager] GSEAL fm-tree-view. M src/file-manager/fm-tree-view.c commit c764e246da912817929ae33075a3683a22bb3bf6 Author: Cosimo Cecchi Date: 2010-06-11 [file-manager] GSEAL fm-properties-window. M src/file-manager/fm-properties-window.c commit 0fe90a931acbef48d8b50b380ee05362ecdf0058 Author: Cosimo Cecchi Date: 2010-06-11 [file-manager] GSEAL fm-list-view. M src/file-manager/fm-list-view.c commit 8f9b6e75eb8eb5f9ece32963e53a69381fd65336 Author: Cosimo Cecchi Date: 2010-06-11 [file-manager] GSEAL fm-list-model. M src/file-manager/fm-list-model.c commit df190cef8cb35e0f5a717d8bd28b810ab8304137 Author: Cosimo Cecchi Date: 2010-06-11 [file-manager] GSEAL fm-icon-view. M src/file-manager/fm-icon-view.c commit eea532e7f0cf729c6e9e78744add5c8cde304ba4 Author: Cosimo Cecchi Date: 2010-06-11 [file-manager] GSEAL fm-ditem-page. M src/file-manager/fm-ditem-page.c commit 197a0101f756111b4f8712433586761c356051d3 Author: Cosimo Cecchi Date: 2010-06-11 [file-manager] GSEAL fm-directory-view. M src/file-manager/fm-directory-view.c commit 8ba99b676c20b359c7b46b9ae4e8432fbbf4ae8f Author: Cosimo Cecchi Date: 2010-06-11 [file-manager] GSEAL fm-desktop-icon-view. M src/file-manager/fm-desktop-icon-view.c commit 0405cc8c808247eff6672a1ae69fd35c6bda841b Author: Cosimo Cecchi Date: 2010-06-11 [ln-p] GSEAL nemo-undo. M libnemo-private/nemo-undo.c commit 8ce136d19d72559a7eeb0665b61607646ecf36d6 Author: Cosimo Cecchi Date: 2010-06-11 [ln-p] GSEAL nemo-tree-view-drag-dest. M libnemo-private/nemo-tree-view-drag-dest.c commit 8ad542cf15a6a7749c672def06a5198f93a40e12 Author: Cosimo Cecchi Date: 2010-06-11 [ln-p] GSEAL nemo-progress-info. M libnemo-private/nemo-progress-info.c commit a0d555cf31a6568038fb67c004c1085bec6de8cf Author: Cosimo Cecchi Date: 2010-06-11 [ln-p] GSEAL nemo-open-with-dialog. M libnemo-private/nemo-open-with-dialog.c commit 44f222288b33de74464567a1578fbf7ea69725d7 Author: Cosimo Cecchi Date: 2010-06-11 [ln-p] GSEAL nemo-keep-last-vertical-box. M libnemo-private/nemo-keep-last-vertical-box.c commit 3711a0db65ad8ca432d0359eb11b4cd31f799df6 Author: Cosimo Cecchi Date: 2010-06-11 [ln-p] GSEAL nemo-icon-dnd. M libnemo-private/nemo-icon-dnd.c commit e57bd6003efc33bfb97fd7aa46166eba105cc2a8 Author: Cosimo Cecchi Date: 2010-06-11 [ln-p] GSEAL nemo-icon-container. M libnemo-private/nemo-icon-container.c M libnemo-private/nemo-icon-container.h commit 028a80a630e17df3ba23a6778459122b2e18da0b Author: Bastien Nocera Date: 2010-06-11 [ln-p] GSEAL nemo-icon-canvas-item. M libnemo-private/nemo-icon-canvas-item.c commit 92d8c2a24dbf5a1a902efef0da86dd23e43208db Author: Bastien Nocera Date: 2010-06-11 [ln-p] GSEAL nemo-horizontal-splitter. M libnemo-private/nemo-horizontal-splitter.c commit 2206f6c82c5a49769ccdede84d74bf595a0a57c1 Author: Bastien Nocera Date: 2010-06-11 [ln-p] GSEAL nemo-file-operations. M libnemo-private/nemo-file-operations.c commit dddf609f373f472bca41070296a54be7e67b7adf Author: Bastien Nocera Date: 2010-06-11 [ln-p] GSEAL nemo-file-conflict-dialog. M libnemo-private/nemo-file-conflict-dialog.c commit 0ea1e03d74713bcac0ad90a03092d8ed6d7d2528 Author: Bastien Nocera Date: 2010-06-11 [ln-p] GSEAL nemo-entry. M libnemo-private/nemo-entry.c commit a22a367740abe58100e8137ad750176ed79f5325 Author: Bastien Nocera Date: 2010-06-11 [ln-p] GSEAL nemo-dnd. M libnemo-private/nemo-dnd.c commit 3cd134fde66949514eb86b60795394f1aa7a2db6 Author: Bastien Nocera Date: 2010-06-11 [ln-p] GSEAL nemo-clipboard. M libnemo-private/nemo-clipboard.c commit fd6f9364d040814346b9995570a558c1d6cb081c Author: Bastien Nocera Date: 2010-06-11 [ln-p] GSEAL nemo-clipboard-monitor. M libnemo-private/nemo-clipboard-monitor.c commit 392e079433aed213889b972c906d8d0b1b4290d9 Author: Bastien Nocera Date: 2010-06-11 [ln-p] GSEAL nemo-cell-renderer-pixbuf-emblem. M libnemo-private/nemo-cell-renderer-pixbuf-emblem.c commit 3709f641bde70d96fb1feb0288521ced6dba7719 Author: Bastien Nocera Date: 2010-06-11 [ln-p] GSEAL nemo-bookmark. M libnemo-private/nemo-bookmark.c commit 756beaef00e01c686b061ea77d56c7aa6768d32e Author: Bastien Nocera Date: 2010-06-11 [ln-p] GSEAL nemo-autorun. M libnemo-private/nemo-autorun.c commit 47947617e14e9e3b676b0f8614bbe294f86dde86 Author: Bastien Nocera Date: 2010-06-11 [eel] GSEAL eel-wrap-table. M eel/eel-wrap-table.c commit 1db88082b3dddef066f718a44dd750a18b201dbd Author: Bastien Nocera Date: 2010-06-11 [eel] GSEAL eel-labeled-image. M eel/eel-labeled-image.c commit 963d2dbd1cca1b92bc35f6421ae8789d1b3f4f9d Author: Bastien Nocera Date: 2010-06-11 [eel] GSEAL eel-image-table. M eel/eel-image-table.c commit 6a2110eb0cda5f3c7d47f196b73336ec0227505b Author: Bastien Nocera Date: 2010-06-11 [eel] GSEAL eel-gtk-extensions. M eel/eel-gtk-extensions.c commit 239c62774c44ef6e192301379db19ad53c382742 Author: Bastien Nocera Date: 2010-06-11 [eel] GSEAL eel-gtk-container. M eel/eel-gtk-container.c commit f9273be48cb62cd39aa145fa715547ec077c1670 Author: Bastien Nocera Date: 2010-06-11 [eel] GSEAL eel-editable-label. M eel/eel-editable-label.c commit 3e8a76045a33c778f423befc1c16a5e26929d00e Author: Bastien Nocera Date: 2010-06-11 [eel] GSEAL eel-debug-drawing. M eel/eel-debug-drawing.c commit e07b688a3b8ec257a14087b696b3a02090f289ab Author: Bastien Nocera Date: 2010-06-11 [eel] GSEAL eel-canvas. M eel/eel-canvas.c M eel/eel-canvas.h commit 191f491c9f0877c1e2c174e435898ba1e717c352 Author: Bastien Nocera Date: 2010-06-11 [eel] GSEAL eel-canvas-rect-ellipse. M eel/eel-canvas-rect-ellipse.c commit a63c3afa5c19083558c365fe6374ab5d85db3c98 Author: Bastien Nocera Date: 2010-06-11 [eel] GSEAL eel-background-box. M eel/eel-background.c commit 24cff3dc16b71105d1c096451357e6df6347b9d1 Author: Bastien Nocera Date: 2010-06-11 [eel] GSEAL eel-background-box. M eel/eel-background-box.c commit c357d232dd5cbfd7fdb3014dfff4034d01f8e66e Author: Bastien Nocera Date: 2010-06-11 [eel] GSEAL eel-art-gtk-extensions. M eel/eel-art-gtk-extensions.c commit dae50fa5b6aeb4f811fb0d8e35da999138653cd9 Author: Bastien Nocera Date: 2010-06-11 [eel] GSEAL eel-alert-dialog. M eel/eel-alert-dialog.c commit d104160104f50a3b2fd5e311578314e927ea73ca Author: Bastien Nocera Date: 2010-06-11 [eel] GSEAL eel-accessibility. M eel/eel-accessibility.c commit 0596f0121e6f931bfcd704cb9bcdc8ec0afdf024 Author: Cosimo Cecchi Date: 2010-06-08 Don't use 'File Browser' in the window title for browser mode (#614848). We still use it if spatial mode is the default though. Thanks to Marcus Carlson for the initial patch. M src/nemo-navigation-window.c commit c8c1dd8061d04fc002fa19cd643a95243a4a1468 Author: Cosimo Cecchi Date: 2010-06-07 Release 2.31.3. M NEWS M configure.in commit 54b044b9eaa3614498bf4a56ea915ff3a46f5e6d Author: Cosimo Cecchi Date: 2010-06-07 Update the location bar and dialog to the new API. This also fixes bug #346422. Thanks to Amos Brocco for the initial patch. M src/nemo-location-bar.c M src/nemo-location-dialog.c commit 376f9ba0bdd25794a6bd2a57caa760b8d2cbb32d Author: Cosimo Cecchi Date: 2010-06-07 Support relative paths in NemoLocationEntry. This also adds a custom 'activate' implementation which converts a relative path (if present) to an absolute one. M src/nemo-location-entry.c M src/nemo-location-entry.h commit 613b6a8292296b097660f92566de81fa71d7a878 Author: Cosimo Cecchi Date: 2010-06-07 Use the new API to order files in the list view. This also closes bug #590077. Thanks to Holger Berndt for the initial patch. M src/file-manager/fm-list-view.c commit 1459a109750d0e740fe1327cc029e342c02ce2d3 Author: Cosimo Cecchi Date: 2010-06-07 Use the new API to order files in the icon view. M src/file-manager/fm-icon-view.c commit b04bafc862ef092c1090851e6c87aabfed1eea50 Author: Cosimo Cecchi Date: 2010-06-07 Add methods to get per-file default sort type/attribute. M libnemo-private/nemo-file.c M libnemo-private/nemo-file.h commit e847f4196c5aabb65a1ac43688bcd1b79443b261 Author: Cosimo Cecchi Date: 2010-06-07 Add nemo_file_is_user_special_directory(). M libnemo-private/nemo-file.c M libnemo-private/nemo-file.h commit 0d36142a4eaa799034a25e37e95f6d66ca14f0ee Author: Theppitak Karoonboonyanan Date: 2010-06-06 Updated Thai translation. M po/th.po commit 0c8ea8597ae0616696fb52ae4396082990a85be0 Author: Sira Nokyoongtong Date: 2010-06-06 Updated Thai translation. M po/th.po commit 6cb3dae5f89887a15fa180a52e4f1362c079b1a0 Author: Cosimo Cecchi Date: 2010-06-02 Use single GTK+ header includes. M libnemo-private/nemo-file-conflict-dialog.c M libnemo-private/nemo-file-conflict-dialog.h commit 02f961d5c892e34f88a680a7662f655b6676400b Author: Kjartan Maraas Date: 2010-06-01 Updated Norwegian bokmÃ¥l translation M po/nb.po commit 4edc5f843a4cb0d89c21fd957dc7d6fa955cf012 Author: Alexander Larsson Date: 2010-06-01 Don't use deprecated Gtk+ api (GtkBoxChild) M libnemo-private/nemo-keep-last-vertical-box.c commit 4cebf7e4582788229f3fde7685ef44148b5cb99d Author: Ivar Smolin Date: 2010-05-31 Estonian translation updated M po/et.po commit 345e520752b627bf0d085ab6f5d480476b1dba89 Author: Cosimo Cecchi Date: 2010-05-30 Specify the expected variant type instead of using G_VARIANT_TYPE_TUPLE. Thanks to Christian Persch. M libnemo-private/nemo-file-utilities.c M src/nemo-application.c commit f1c08dcb6ff93dcdea9dfeacded9d70f7e725167 Author: Cosimo Cecchi Date: 2010-05-30 Bump required GLib version. M configure.in commit ce766ea529017649b72ea844e73c46e1d73c79b6 Author: Cosimo Cecchi Date: 2010-05-30 Use g_bus_watch_proxy() to call PackageKit methods. M libnemo-private/nemo-mime-actions.c commit 73ae91e0664b62e7b066cf5a23f6e37ea145a818 Author: Cosimo Cecchi Date: 2010-05-30 Use g_bus_watch_proxy() to initialize ConsoleKit. M src/nemo-application.c M src/nemo-application.h commit 1eb13e5686f14b006dd0f11a92219b7fe826b50e Author: Cosimo Cecchi Date: 2010-05-30 Re-use the same connection to Inhibit/Unhinibit power manager. M libnemo-private/nemo-file-utilities.c commit 8a58f4e298e844c18928e5a0681fa8ac2b9f2ee1 Author: Christian Persch Date: 2010-05-17 Port to GDBus Bug #618910. M configure.in M libnemo-private/nemo-file-utilities.c M libnemo-private/nemo-mime-actions.c M src/nemo-application.c M src/nemo-application.h commit 6cba2c2bcae95e7eca687561359b4d85c89694df Author: Alan Monfort Date: 2010-05-29 Updated Breton translation M po/br.po commit 460c57e9ad8bb725076ae90e2eb8287a90330663 Author: Alan Monfort Date: 2010-05-29 Updated Breton translation M po/br.po commit 8bc39ced44598fb0be61ffdf799c50a81d6dd272 Author: Yaron Shahrabani Date: 2010-05-29 Updated Hebrew translation. M po/he.po commit 68a877ab0fe8fef87841e06e84312eea9068794e Author: Jorge González Date: 2010-05-25 Updated Spanish translation M po/es.po commit 9708b257484931185f458ce343f1e4f88a82c6ab Author: Cosimo Cecchi Date: 2010-05-24 Release 2.31.2. M NEWS M configure.in commit 81e15c0accfe2147e0520fc8fba91fc2d97d0d2a Author: Cosimo Cecchi Date: 2010-05-24 Fix a compiler warning. M cut-n-paste-code/libegg/eggdesktopfile.c commit b0d808de8c8d1be6b8a4403fc587cc032612027a Author: Alexander Larsson Date: 2010-05-24 Change default thumbnail size from 96 to 64 Still not the same as icons (48) but makes for less jaring layouts, and lets you see more of the thumbnail content than 48 would. M libnemo-private/apps_nemo_preferences.schemas.in commit 7b75f714980293b12c2548126ba30c8af7dacecf Author: Paul Seyfert Date: 2010-05-24 Updated German translation M po/de.po commit d320b181dc169cb2720b38e65ef743803ad524ea Author: Thomas Thurman Date: 2010-05-20 Updated Shavian translation M po/en@shaw.po commit ddb325fe0c420edcae32e65ebc0b6958fa0a84e2 Author: Fran Diéguez Date: 2010-05-20 Updated Galician translations M po/gl.po commit 86d41c14159741c6803940a83a42e40a89d061d7 Author: Cosimo Cecchi Date: 2010-05-20 Split WARNING_CFLAGS into its own variable. So that we can use e.g. LIBNEMO_EXTENSIONS_CFLAGS when compiling the gir information. M configure.in M eel/Makefile.am M libnemo-extension/Makefile.am M libnemo-private/Makefile.am M src/Makefile.am M src/file-manager/Makefile.am M test/Makefile.am commit 2617e16aa55367ba3d73a33dc27376cf518d4676 Author: Cosimo Cecchi Date: 2010-05-20 Implement transparent icons for cut files in tree view. M src/file-manager/fm-tree-model.c M src/file-manager/fm-tree-model.h M src/file-manager/fm-tree-view.c commit 5b213054823f64c8125effe56f0288c54aefa625 Author: Cosimo Cecchi Date: 2010-05-20 Use the new NemoFile API in the list model. M src/file-manager/fm-list-model.c commit df11a77d4b08e170b63da4c4b67ea9730634268c Author: Cosimo Cecchi Date: 2010-05-20 Move the clipboard callbacks to NemoClipboardMonitor. M libnemo-private/nemo-clipboard-monitor.c M libnemo-private/nemo-clipboard-monitor.h M src/file-manager/fm-directory-view.c commit bbc6c3d83e51af4da3a093ef95cb17d188f162f2 Author: Cosimo Cecchi Date: 2010-05-20 Add an utility function to compare file locations. M libnemo-private/nemo-file.c M libnemo-private/nemo-file.h commit 044952f0a5683e37545cd30d2a5296213abf70bd Author: Cosimo Cecchi Date: 2010-05-15 Implement transparent icons for cut files in list view. M src/file-manager/fm-list-model.c M src/file-manager/fm-list-model.h M src/file-manager/fm-list-view.c commit 07f768de905f42857c01434f2550c43d79eb4ed6 Author: Cosimo Cecchi Date: 2010-05-15 Implement transparent icons for cut files in icon view. M src/file-manager/fm-icon-view.c commit 03ff6b4d60473db94f351b9b3b2c0ee9490556cc Author: Cosimo Cecchi Date: 2010-05-15 Move clipboard information to NemoClipboardMonitor. So that we can use that information from more than one view at the same time. M libnemo-private/nemo-clipboard-monitor.c M libnemo-private/nemo-clipboard-monitor.h M src/file-manager/fm-directory-view.c commit 226e7ba044f15cb22e8f9c3966625c496913f3df Author: Cosimo Cecchi Date: 2010-05-15 Add an "highlighted-for-clipboard" property to the item. M libnemo-private/nemo-icon-canvas-item.c M libnemo-private/nemo-icon-container.c M libnemo-private/nemo-icon-container.h commit 76ae23877a3e022d1d47526f1b74e5559faeb756 Author: Cosimo Cecchi Date: 2010-05-15 Move pixbuf render code to libeel. So that we'll be able to use it from outside of NemoIconCanvasItem. M eel/eel-gdk-pixbuf-extensions.c M eel/eel-gdk-pixbuf-extensions.h M libnemo-private/nemo-icon-canvas-item.c commit 97d736a0861a81f825698451249564e42d002d4b Author: Cosimo Cecchi Date: 2010-05-19 Add another missing GConf schema. M libnemo-private/apps_nemo_preferences.schemas.in commit 4309418a12b43e87a4de1f44d0641a6c902a64ce Author: Gregory J. Horvath Date: 2010-05-19 Add a missing GConf schema. M libnemo-private/apps_nemo_preferences.schemas.in commit f1148c5878e8b68c95dad8dec50aa30c6ee9b2d3 Author: Rodrigo Moya Date: 2010-05-19 Add introspection support for libnemo-extension M libnemo-extension/Makefile.am commit 8d366402ca6120e6f75051596d8ae33589ef3591 Author: Rodrigo Moya Date: 2010-05-13 Added introspection to libnemo-extension M configure.in M libnemo-extension/Makefile.am commit 1c88c7186ed298fbdd67e31cb3b8c613093c3411 Author: Adrian Bunk Date: 2010-03-29 autogen.sh: automake 1.9 is required (see configure.in) M autogen.sh commit 38986e1c0773299a7efa9f7333d5d0c513a8b66c Author: Thomas Thurman Date: 2010-05-16 Updated Shavian translation M po/en@shaw.po commit 649b0f65182f370792e00e227923a251e19ace17 Author: Fran Diéguez Date: 2010-05-16 Updated Galician translations M po/gl.po commit 0a8ec392070d9927df450ceffc4333b0a25c281c Author: Fran Diéguez Date: 2010-05-14 Updated Galician translations M po/gl.po commit 0eead029b0725cb70d9817467f820ac53b14eb60 Author: Jorge González Date: 2010-05-13 Updated Spanish translation M po/es.po commit b521530ac4cba5327ea37af7b488355f1d87399c Author: Cosimo Cecchi Date: 2010-05-13 Hide the 'Arrange by Trash Time' option if we're not in the trash. M src/file-manager/fm-actions.h M src/file-manager/fm-icon-view.c commit eab6722face64b510b8bbf330761d5b5ae7e807f Author: Cosimo Cecchi Date: 2010-05-13 Don't rely on updated metadata when resetting columns to default. M src/file-manager/fm-list-view.c commit 96da10025c3bd00ed5d748d0b91447a0137b5ef9 Author: Cosimo Cecchi Date: 2010-05-12 Define different defaults for the columns in trash. These defaults are hardcoded, but I think it's fine, as they're limited to the trash. The rest of nemo will follow the usual defaults. M src/file-manager/fm-list-view.c commit 19bbf8a1ae54cc11d51935f94209074fb2659e90 Author: Cosimo Cecchi Date: 2010-05-12 Use the new API in the preferences. M src/nemo-file-management-properties.c commit 4b3038b4ea85ce309d6fb128675611d3c912739e Author: Cosimo Cecchi Date: 2010-05-12 Use the new methods in the column chooser. The chooser becomes file-oriented as well. It will fetch the common columns if we don't provide any file, and try to fetch the specialized list if we pass a file. M libnemo-private/nemo-column-chooser.c M libnemo-private/nemo-column-chooser.h commit 14dc307c7e76f144d9fbbd091777123867b1efe4 Author: Cosimo Cecchi Date: 2010-05-12 Split the special columns. Add utility functions which return a list of columns depending on the location, separate from the 'common' set which is useful for every directory. M libnemo-private/nemo-column-utilities.c M libnemo-private/nemo-column-utilities.h commit f62cad9bae1b742b41c088449b2278eb7b6fd093 Author: Marcus Carlson Date: 2009-10-11 Adds Trashed On and Original Location as columns in List View And also an 'Arrange by Trash Time' option in Icon View. https://bugzilla.gnome.org/show_bug.cgi?id=89706 M libnemo-private/nemo-column-utilities.c M libnemo-private/nemo-file-private.h M libnemo-private/nemo-file.c M libnemo-private/nemo-file.h M libnemo-private/nemo-vfs-file.c M src/file-manager/fm-icon-view.c M src/file-manager/nemo-icon-view-ui.xml commit eafead25cabb9ec580c21f105f053be10dac9d5d Author: Thomas Thurman Date: 2010-05-12 Updated Shavian transliteration M po/en@shaw.po commit 6519089b3597d158618dab8d752b2d4e09494e87 Author: Khaled Hosny Date: 2010-05-12 Cleanup file header M po/ar.po commit 000092092d86c5b39b6d3a4638c860ce50d32961 Author: Khaled Hosny Date: 2010-05-12 Updated Arabic translation M po/ar.po commit 3aa7864fd2fd0459073abe0eb75b9f73fdb91653 Author: Kjartan Maraas Date: 2010-05-11 Updated Norwegian bokmÃ¥l translation M po/nb.po commit a9c3fff8710dfaae0615e48b3f6447d4b5576146 Author: Manoj Kumar Giri Date: 2010-05-11 Updated Oriya Translation M po/or.po commit 5f6b4e6f3b8ca2c27eacf5977121618fb3fb12c1 Author: Bruno Brouard Date: 2010-05-10 Updated French translation M po/fr.po commit 601c42c06e4d40de99c38eb795f20375dd2e7242 Author: Cosimo Cecchi Date: 2010-05-09 Don't add the emblem if it's equal to the icon. M libnemo-private/nemo-file.c commit 414810d3e294eaf3565127cce26fc760f147f6bf Author: Cosimo Cecchi Date: 2010-05-08 Use the mount icon as an emblem in the information sidebar. M src/nemo-sidebar-title.c commit 88781dae75003996accbf521a2d3e405d7d4fd14 Author: Cosimo Cecchi Date: 2010-05-08 Use the mount icon as an emblem in the views. M src/file-manager/fm-icon-container.c M src/file-manager/fm-list-model.c commit 7bfc3c6a7d22e1091f7985377dabd8581e1dfeac Author: Cosimo Cecchi Date: 2010-05-03 Prefer mount icons as window icons (#613733). M src/nemo-navigation-window.c M src/nemo-spatial-window.c commit 38c5b7ee06b4f8d90689dfd8fa5e010066a0b233 Author: Cosimo Cecchi Date: 2010-05-08 Add new icon flags to use mount icons. This will allow us to be more consistent with mount icons around and refactor some code as well. M libnemo-private/nemo-file.c M libnemo-private/nemo-file.h commit 17f50da7dfbb7efdc3db74deed0cd341711ddb6e Author: Mario Blättermann Date: 2010-05-08 Updated German translation M po/de.po commit ca10b4b89df5c8123c08ad1de80139e1a52a4932 Author: Cosimo Cecchi Date: 2010-05-06 Never update icons for remote bookmarks. M libnemo-private/nemo-bookmark.c commit 108a23dc0e0be534530028612d72302c7d2a1e53 Author: Cosimo Cecchi Date: 2010-05-06 Trigger the eject button on release. M src/nemo-places-sidebar.c commit 729ce7cf7feead42d16a5b8793cd7948286c00f8 Author: Cosimo Cecchi Date: 2010-05-06 Use the new API in the places sidebar. M src/nemo-places-sidebar.c commit 6bbe1bd9ed2d9eea934ced04952b3ab4a8d74252 Author: Cosimo Cecchi Date: 2010-05-06 Set a 'folder-remote' icon for remote bookmarks. M src/nemo-connect-server-dialog.c commit 89fa909f3d406dd2e47006eeaaee051bef2b77d5 Author: Cosimo Cecchi Date: 2010-05-06 Set a 'folder-remote' icon if the URI is not native. Also, port to the new API. M src/nemo-bookmark-list.c commit e6d70ef8a41bd0c6e6685f07e85e266e3227c61c Author: Cosimo Cecchi Date: 2010-05-06 Update to the new API. M src/nemo-bookmarks-window.c M src/nemo-window-manage-views.c M src/nemo-window.c commit 856177d1dc13802e6473923d331f8f1ba91f8e51 Author: Cosimo Cecchi Date: 2010-05-06 Change NemoBookmark API. Remove _set_has_custom_name() method and use just one _new() constructor. Also, emit the CONTENTS_CHANGED signal when we're setting a new name, as that will trigger a save/reload of .gtk-bookmarks due to saving a new label. Finally, don't use gnome-fs-bookmark* icon names anymore, as they're deprecated. We now use 'folder' as a default icon, and add a 'warning' emblem when the URI does not exist. M libnemo-private/nemo-bookmark.c M libnemo-private/nemo-bookmark.h commit 1756fb0b77aebae201ffb1ee1641a9118ca941d9 Author: Cosimo Cecchi Date: 2010-05-06 Remove a pile of hacks used to initialize bookmarks. - Make nemo_window_constructed a real GObject implementation and move bookmark initialization code there. - Don't replicate a singleton logic in nemo-window-bookmarks now that NemoBookmarkList is a real singleton - Remove get_bookmark_list() method from NemoWindowInfo, as it's not any useful anymore. M libnemo-private/nemo-window-info.c M libnemo-private/nemo-window-info.h M src/nemo-application.c M src/nemo-window-bookmarks.c M src/nemo-window-bookmarks.h M src/nemo-window-menus.c M src/nemo-window-private.h M src/nemo-window.c commit 03c5612730d4de29d8cb80352b1bfc42bab59742 Author: Cosimo Cecchi Date: 2010-05-06 Make NemoBookmarkList a singleton. M src/nemo-bookmark-list.c commit 00035932b2948140d95f27a473be380f189caf21 Author: Fran Diéguez Date: 2010-05-04 Updated Galician translation M po/gl.po commit 997028e6669062537b2f8ec2ce0fad2854f114b3 Author: Jorge González Date: 2010-05-04 Updated Spanish translation M po/es.po commit e6a7039162d4eb37afe329cc4d8378f9edb446c7 Author: Cosimo Cecchi Date: 2010-05-04 Release 2.31.1. M NEWS M po/POTFILES.in commit c0f8096150ea98af40248a55d6dbb77a35c0a771 Author: Jorge González Date: 2010-05-03 Updated Spanish translation M po/es.po commit abade38f2477bc807246d5b4acf8b7a753ea369e Author: Jorge González Date: 2010-05-03 Updated Spanish translation M po/es.po commit 64524ff2724bb6f0cc72fea34cb7ca3d5253cec7 Author: Cosimo Cecchi Date: 2010-05-03 Use header capitalization for "Open With" menu items (#596778). As the HIG says so. M src/file-manager/fm-directory-view.c M src/nemo-information-panel.c commit 79e155aba54ee7cfeac9363548d6b1cee221ae2f Author: Cosimo Cecchi Date: 2010-05-03 Don't give input focus to the selectable label (#591902). M src/nemo-image-properties-page.c commit e0f463562e894a2f394279d00fdf027343d2efad Author: Cosimo Cecchi Date: 2010-05-03 Change "Stretch Icon" to "Resize Icon" (#459900). M src/file-manager/fm-icon-view.c commit 5348820067ab62dd3fcac78f0acc0fef869cc2a1 Author: Cosimo Cecchi Date: 2010-05-02 Use "Cancel" as default response when activating a broken link (#341595) M libnemo-private/nemo-mime-actions.c commit fe817911c538f1018d73945af9d637e01943378b Author: Cosimo Cecchi Date: 2010-05-02 Don't force a default response. M eel/eel-stock-dialogs.c commit 846dd7c0e50b0f2db288285e615698932cf81e41 Author: Kjartan Maraas Date: 2010-05-02 Updated Norwegian bokmÃ¥l translation M po/nb.po commit 1eac7a19cd7c4f543408809d0c0875bec849a494 Author: Fran Diéguez Date: 2010-05-01 Updated Galician translation M po/gl.po commit 777a404b76c0bcb3c3504fa9ff986c256777be8d Author: Torstein Adolf Winterseth Date: 2010-05-01 Updated Norwegian Nynorsk translation M po/nn.po commit 2a87565bcb810597dca323a943c616075ee7c6ab Author: Cosimo Cecchi Date: 2010-04-29 Let the sidebar header fill the whole width (#463111). The code for this is borrowed from Evince's sidebar implementation. M src/nemo-side-pane.c commit b281985fff427982420b7d037dff609383b3ea74 Author: Cosimo Cecchi Date: 2010-04-29 Don't let the sidebar shrink more than its requisition (#311732). This also makes us consistent with the other GNOME apps that use a sidebar widget. M src/nemo-navigation-window.c commit 842c94dbdd20bff3e9dcc1811b6e900d8d27d775 Author: Jorge González Date: 2010-04-29 Updated Spanish translation M po/es.po commit 90b32ff314a141417c2b8e3691766910420ca25e Author: Cosimo Cecchi Date: 2010-04-28 Don't ignore the return value of write() (#617092). M src/nemo-application.c commit 3683288f8a86cd714623cca3d6921315c67ec7f1 Author: Cosimo Cecchi Date: 2010-04-28 Add a 'Restore Selected Items' button in the trashbar. This makes the restore function more visible in the UI (#616304). M src/nemo-trash-bar.c M src/nemo-trash-bar.h M src/nemo-window-manage-views.c commit b87911c0caf3d957fc4e9575fd905493829f787c Author: Cosimo Cecchi Date: 2010-04-28 Move restore_from_trash() in nemo-file-utilities. This is needed so we will be able to use the function from the trash bar later. M libnemo-private/nemo-file-utilities.c M libnemo-private/nemo-file-utilities.h M src/file-manager/fm-directory-view.c commit a7792d030df5f2139043f7228cb0f30bf1cdf5c1 Author: Jorge González Date: 2010-04-27 Updated Spanish translation M po/es.po commit 02ef15eabeef5cdbcb479adad90632ff12d2b791 Author: Cosimo Cecchi Date: 2010-04-27 Properly update icons as we load the thumbnails. M libnemo-private/nemo-file-conflict-dialog.c commit 9ecdac9b1a4adb3db9ac32606ff36023a3d6909e Author: Cosimo Cecchi Date: 2010-04-27 Fix size requests and wrap modes for labels. M libnemo-private/nemo-file-conflict-dialog.c commit 430d554f55632475dac94a7a9d6009c0f189b178 Author: Cosimo Cecchi Date: 2010-04-27 Initialize variables to NULL. M src/nemo-places-sidebar.c commit 47ad2649dc83faf1b3931d93d5060729344de955 Author: Cosimo Cecchi Date: 2010-04-27 Use a new icon for audio preview (#614907). Thanks to Hylke Bons for the icon. M icons/audio.svg M libnemo-private/nemo-icon-canvas-item.c commit 96a7a6bb7aa680d98f0bb05d77aa6101c25fb491 Author: Jorge González Date: 2010-04-27 Updated Spanish translation M po/es.po commit 46124f684e5db4bd05bc9575eef2b16527d58b66 Author: Cosimo Cecchi Date: 2010-04-27 Bump libnemo-extension API version (#610356). M configure.in commit 4b680e163e41a26c8ace47d43efdc72be9ede93a Author: Cosimo Cecchi Date: 2010-04-27 Don't use C++ keywords in NemoMenu (#616657). M libnemo-extension/nemo-menu.c M libnemo-extension/nemo-menu.h commit eee505e416678ce7f51999b6a4acd385a0ae99c7 Author: Cosimo Cecchi Date: 2010-04-27 Bump version to 2.31.1 on master. M configure.in commit add025f7d1502d97062a9fdce8eff85fcd27205e Author: Martin Pitt Date: 2010-03-30 Do not show Unmount when showing Eject/Safe removal Having three menu entries (unmount/eject/safe removal) in a volume/drive menu entry is too confusing. Unmount only really makes sense for internal drives, for external ones it is pretty much a "geek" option. Geeks can use palimpsest or "unmount /media/foo" from the CLI if they really want to, for everyone else it is just an unintuitive and hard to to explain menu entry. Bug: https://bugzilla.gnome.org/show_bug.cgi?id=598690 Bug-Ubuntu: https://launchpad.net/bugs/453072 (cherry picked from commit 0a5cc4c4e5b01eb8aa38dfae926502ce920efc94) M src/file-manager/fm-directory-view.c M src/nemo-places-sidebar.c commit cee1ced8e45dc9570308ba447f8e3c0edfd986ba Author: Cosimo Cecchi Date: 2010-04-15 Use display names for applications (#611378). Instead of using the simple GAppInfo name property. M libnemo-private/nemo-autorun.c M libnemo-private/nemo-mime-actions.c M libnemo-private/nemo-mime-application-chooser.c M libnemo-private/nemo-open-with-dialog.c M libnemo-private/nemo-program-choosing.c M src/file-manager/fm-directory-view.c M src/nemo-information-panel.c M src/nemo-x-content-bar.c commit 9192dd8faffd788acf54a3b98de48cd1252dd9a6 Author: Cosimo Cecchi Date: 2010-04-15 Properly set the application as default (#605814). When the checkbox is enabled in the Open With dialog, set that application as default; it the checkbox is not enabled, add the application to the supported list. M libnemo-private/nemo-open-with-dialog.c commit 3d82f47ee91f5e0ca3284aef55911bace0736243 Author: Cosimo Cecchi Date: 2010-04-26 Don't mark the regex for translation. M src/file-manager/fm-directory-view.c commit 4dd3fc4731a313803c776ee096478a6f60ef5a72 Author: Marcus Carlson Date: 2009-10-05 Adds legend to "Select Items Matching" dialog https://bugzilla.gnome.org/show_bug.cgi?id=301690 M src/file-manager/fm-directory-view.c commit a7336c72c6f6cc0b0340e218fd123bcdddb144b9 Author: Cosimo Cecchi Date: 2010-04-26 Always set the parent window in dialogs (#573788). M eel/eel-stock-dialogs.c M libnemo-private/nemo-mime-actions.c commit d63623cee6ac5cbbb74f6f31a7afa660d2037cbe Author: Cosimo Cecchi Date: 2010-04-09 Focus and sensitivity fixes. M libnemo-private/nemo-file-conflict-dialog.c commit 7e9ec46e34c899cae0eb92aabe9c826ea2abc5c6 Author: Cosimo Cecchi Date: 2010-04-09 Focus the entry after clicking on 'Reset'. M libnemo-private/nemo-file-conflict-dialog.c commit 5423c9f36cea27fac78d2fa7fee75c20a0a44d3e Author: Cosimo Cecchi Date: 2010-04-09 Tweak UI according to usability suggestions. This includes the addition of a reset button, use a single Replace/Rename button and some smaller UI candies. M libnemo-private/nemo-file-conflict-dialog.c commit e1d7563733075cd0302951db45b645bee9f71cdb Author: Cosimo Cecchi Date: 2010-04-09 Reverse broken logic. M libnemo-private/nemo-file-conflict-dialog.c commit 33da32efab246804efb745c0f9c63d88574cf5d0 Author: Cosimo Cecchi Date: 2010-04-08 Remove manual markup. Now that we use Pango to make the string bold, this is useless. M libnemo-private/nemo-file-conflict-dialog.c commit b9640f4cb9b24b567e44f7f87b75f59bddf2f073 Author: Cosimo Cecchi Date: 2010-04-08 Make the primary label bold. For that, use the same code from GtkMessageDialog. M libnemo-private/nemo-file-conflict-dialog.c commit e1a6a08cbff7884635b2e6478171c85ce555b999 Author: Cosimo Cecchi Date: 2010-04-08 Specify which file is older. That's valuable information, so display it clearly in the secondary label of the conflict dialog. M libnemo-private/nemo-file-conflict-dialog.c commit 067619c9c6fa155ff5dfff2b94f5f70e1a52dc4c Author: Cosimo Cecchi Date: 2010-04-08 Make sure NemoFiles are ready. M libnemo-private/nemo-file-conflict-dialog.c commit e84883bde6919d8bcbbc93713c80f3d537131d4e Author: Cosimo Cecchi Date: 2010-04-08 Show the file type only if it's different. Also, don't hardcode markup in strings marked for translations, as i18n don't usually like it. :) M libnemo-private/nemo-file-conflict-dialog.c commit 148dfd2b8d5492b7c9b4824133537d812782ea62 Author: Cosimo Cecchi Date: 2010-04-08 Fix indentation. M libnemo-private/nemo-file-conflict-dialog.c M libnemo-private/nemo-file-conflict-dialog.h M libnemo-private/nemo-file-operations.c commit 8734e4268b74935aaa5418ee567340fdfd2b953f Author: Cosimo Cecchi Date: 2010-04-08 Fix a conflict after rebase. M libnemo-private/nemo-file-operations.c commit 5d5166d2cdc68ccee3cacd9d0c266de0f0bee3f5 Author: Cosimo Cecchi Date: 2009-04-22 Swap the order of files in the dialog The dialog had the source and destination files wrongly ordered, swap them. M libnemo-private/nemo-file-conflict-dialog.c commit d8a11018692ec20a8ec6a3dcb1f2d942dcb72a90 Author: Cosimo Cecchi Date: 2008-04-23 Use NemoFile machinery instead of is_dir Use the NemoFile cached data to find out whether a file is a directory instead of using GIO. M libnemo-private/nemo-file-conflict-dialog.c commit 7e44bab4b8910bb26a91fc09a8e3b0cd12455bf8 Author: Cosimo Cecchi Date: 2009-04-22 Implement support for rename in the operations code Act accordingly to a rename response from the conflict dialog. M libnemo-private/nemo-file-operations.c commit 95016daa49bdd8b951dd0fa500b9634e12e91856 Author: Cosimo Cecchi Date: 2009-04-22 Adapt the file operations code to use the new dialog Cut out of the file operations module, the code used to display conflict dialogs. Use the new dialog instead. Rename is not working yet. M libnemo-private/nemo-file-conflict-dialog.c M libnemo-private/nemo-file-operations.c commit dc21af1dc03759661fea147a8b98a8772749b29e Author: Cosimo Cecchi Date: 2008-04-03 Implement responses from the dialog back to the file operation. Add some API to get the response type from the conflict dialog back to the file operations code. Start using that API during the operations accordingly. M libnemo-private/nemo-file-conflict-dialog.c M libnemo-private/nemo-file-conflict-dialog.h M libnemo-private/nemo-file-operations.c commit bf607e6e3045dff76128894e87cd42affb68a44c Author: Cosimo Cecchi Date: 2008-04-03 HIG fixes Make sure the UI doesn't suck too much. M libnemo-private/nemo-file-conflict-dialog.c commit 2048c2d61db6ec557b6b572fb635a0f5a11bab09 Author: Cosimo Cecchi Date: 2008-04-02 Finish implement icon boxes in the dialog. Finish implement icon boxes in the conflict dialog. Add a main thread runner from inside the file operations, as the operation itself is done in an I/O worker thread. M libnemo-private/nemo-file-conflict-dialog.c M libnemo-private/nemo-file-operations.c commit fee8b5095521fb6db98f866f6e0d53e8cf381783 Author: Cosimo Cecchi Date: 2008-04-02 UI and HIG fixes Use the correct markup strings in the dialog, and take care of some layouting issues. M libnemo-private/nemo-file-conflict-dialog.c commit 6f0dc097348f7c2d0ede26daf5e76634a6625db3 Author: Cosimo Cecchi Date: 2008-04-02 Use a GtkDialog. Use a GtkDialog instead of a GtkMessageDialog. Take care of some HIG fixes, and try to use icons from NemoFile. M libnemo-private/nemo-file-conflict-dialog.c M libnemo-private/nemo-file-conflict-dialog.h commit 68ac5db7bcb762bcea612239c4a9d6408924a7b2 Author: Cosimo Cecchi Date: 2008-04-02 First implementation of NemoFileConflictDialog Basic UI implementation of NemoFileConflictDialog. Add it to Makefile.am. Also, hook the dialog inside the relevant file operations and load it at the right place when doing a file operation. M libnemo-private/Makefile.am A libnemo-private/nemo-file-conflict-dialog.c A libnemo-private/nemo-file-conflict-dialog.h M libnemo-private/nemo-file-operations.c commit ce66d5d2bf1b3c028f08d1f3ed3fa6d4c7c633f1 Author: Cosimo Cecchi Date: 2010-04-12 Don't use Backspace to delete bookmarks. In the places sidebar, don't assign Backspace to deleting bookmarks, as that's confusing (and we already have Delete for it). Fix bug #340934. M src/nemo-places-sidebar.c commit a051ce374f38b1dc13663f7a099337f39302c5b2 Author: Cosimo Cecchi Date: 2010-04-12 Always return TRUE from drop-motion. Fixes the displaying of a black line when DnD-ing something in the sidebar which is not supported (#432529). M src/nemo-places-sidebar.c commit b80bfe38ac1cc4fd3561961d7f6f8b43ec786f20 Author: Cosimo Cecchi Date: 2010-04-12 Refactor the load/save code for the list. Don't use sync i/o anymore. This should also fix bug #532911. M src/nemo-bookmark-list.c M src/nemo-bookmark-list.h commit 721f9999bcac87f28780d0b6938dac66b04970f2 Author: Cosimo Cecchi Date: 2010-04-12 Bring the object to 2010. M libnemo-private/nemo-bookmark.c M libnemo-private/nemo-bookmark.h M src/nemo-bookmark-list.c M src/nemo-bookmark-list.h commit 5d84350777a40f53ae3970f2acbafb5846cb1c94 Author: Cosimo Cecchi Date: 2010-04-12 Set rate limit to the file monitor. M src/nemo-bookmark-list.c commit 2d64615521d9d6a090ef9a296e7783a73edc1f68 Author: Cosimo Cecchi Date: 2010-04-11 Remove dead code. M src/nemo-places-sidebar.c commit 006f5164b7ce1bf54fed170800ed145eb625826e Author: Cosimo Cecchi Date: 2010-04-11 Use the new NemoBookmarksList API. M src/nemo-places-sidebar.c commit 5b80a0e60516518f359596b5d6285b241d7c6cad Author: Cosimo Cecchi Date: 2010-04-11 Add a method to move bookmarks in the list. So that moving a bookmark in the list doesn't trigger two 'contents-changed' signals in a row. M src/nemo-bookmark-list.c M src/nemo-bookmark-list.h commit c87d0252bbd028ef80c3460be737c4e8ae07aa62 Author: Cosimo Cecchi Date: 2010-04-26 Preserve last selection while updating places. M src/nemo-places-sidebar.c commit 6b768ef18298bd8048f13e50094f5777b2b7e07b Author: Cosimo Cecchi Date: 2010-04-11 Use 'button-release-event' to activate bookmarks. Instead of using the 'row-activated' signal. This allows us to only open the bookmark after DnD (#606097). M src/nemo-places-sidebar.c commit 60b27c11e0dd3416eee13bdea45b280ec2562a36 Author: Cosimo Cecchi Date: 2010-04-13 Migrate confguration to XDG_CONFIG. https://bugzilla.gnome.org/show_bug.cgi?id=601476 M src/nemo-application.c commit 3c98314f94086dd241ca48bedee112d83733c183 Author: Cosimo Cecchi Date: 2010-04-13 Don't use ~/.nemo anymore (#601476). But use XDG_CONFIG to save configuration files. Patch by jarryson. M libnemo-private/nemo-file-utilities.c commit a09d41702b771fb0041fa0c4270afaa678413a2d Author: Cosimo Cecchi Date: 2010-04-13 Remove deprecated GTK+ symbols (#565038). M eel/eel-background.c M eel/eel-canvas.c M eel/eel-debug-drawing.c M eel/eel-editable-label.c M eel/eel-gtk-container.c M eel/eel-gtk-extensions.c M eel/eel-image-table.c M eel/eel-labeled-image.c M eel/eel-wrap-table.c commit 2e79c499851757bf6da55c735268e36fcc4f2552 Author: Alexander Larsson Date: 2010-04-26 Update NEWS for release M NEWS commit 7411a0f07a6505ca5205a819b2539fe95bb1a1c0 Author: Andy Owen Date: 2010-04-26 Update split view menu item sensitivity when closing extra pane M src/nemo-navigation-window.c commit 39547f935a4f766eece11513eee175fffcbad2c1 Author: Andy Owen Date: 2010-04-26 Don't crash if there is no next_pane This happened due to menu sensitivity being wrongs (bug 616179) M src/nemo-navigation-window-menus.c commit bae7b352ae02233e5f3368818bf4daa864ad9a2e Author: Mattias Põldaru Date: 2010-04-26 Estonian translation updated M po/et.po commit dae9a5f81eec0ea5ededecb4375ca76c8f3ed9d1 Author: Maxim V. Dziumanenko Date: 2010-04-24 Updated Ukrainian translation M po/uk.po commit bf052548334dc7eae0b01131a4771c9fc34301f6 Author: Maxim V. Dziumanenko Date: 2010-04-22 Updated Ukrainian translation M po/uk.po commit 3c336f6968ed198c89eaeeae8d44a71312b5682b Author: Carles Ferrando Date: 2010-04-21 Updated Catalan (Valencian) translation M po/ca@valencia.po commit 17e388240fd5947cf21081c1d3971b2c9a66eeb1 Author: Shankar Prasad Date: 2010-04-21 Updated the kn translations M po/kn.po commit 2514148ef1a3d8a22caeb2f80989d29441e816e0 Author: Jorge González Date: 2010-04-17 Updated Spanish translation M po/es.po commit 32327339b335e71f661f5f51c6f66ddb95cbd099 Author: Paolo Borelli Date: 2010-04-17 Do not use "if (spatial) ..." in window superclass Delegate behavior specific to the window type to an appopriate subclass method. M src/nemo-application.c M src/nemo-navigation-window.c M src/nemo-spatial-window.c M src/nemo-window-private.h M src/nemo-window.c M src/nemo-window.h commit 90c1b707ce4ab0a96dc4200537ef9fae17e45e60 Author: Andika Triwidada Date: 2010-04-17 Updated Indonesian translation due bug #569491 M po/id.po commit fc18d0bfc4f6001be311be63993a90129f02520a Author: Holger Berndt Date: 2010-04-06 Let w close the extra pane The keybinding w closes the active slot until no slot is remaining, in which case it closes the window. This commit includes the extra pane layer in this chain. Fixes bug 615593 M src/nemo-window-pane.c M src/nemo-window.c commit 719c524c571fc0742382bff1c04174bb585326b8 Author: Manoj Kumar Giri Date: 2010-04-16 Updated Oriya Translation M po/or.po commit 85c0047c370b06473026b2920dc53428bd3c30ae Author: Holger Berndt Date: 2010-03-22 Fix sensitivity of "{Copy|Move} to other pane after enable/disable of extra pane" Add an "update_menus" signal to the NemoView interface, so that external events can trigger a menu sensitivity update. Fixes bug 613257. M libnemo-private/nemo-view.c M libnemo-private/nemo-view.h M src/file-manager/fm-directory-view.c M src/nemo-navigation-window-menus.c commit 543d3ddd5131546fbbb2e3e2a504d9800c4f0d62 Author: Peteris Krisjanis Date: 2010-04-15 Updated Latvian translation. M po/lv.po commit 1ec432f114b357822256349b85c7401d1ade4cf5 Author: Runa Bhattacharjee Date: 2010-04-15 Updated Bengali India Translation M po/bn_IN.po commit 183b65d95d7c6418ba74104e6c718572ae518af3 Author: Andika Triwidada Date: 2010-04-15 Updated Indonesian translation M po/id.po commit 00de9e84618738f2f41c5ac5e01e7bddc953423b Author: ReÅŸat SABIQ Date: 2010-04-14 Minor update for Crimean Tatar/Turkish translation M po/crh.po commit 9a45cd408e177c49bfbd7bced2f117c2b5f87e75 Author: Yannig Marchegay Date: 2010-04-14 Updated Occitan translation M po/oc.po commit 7fb83086b3c39aa6555b3fe2b0c3a59449cab5f2 Author: Yannig Marchegay Date: 2010-04-14 Updated Occitan translation M po/oc.po commit 73fc9b35508b3be5d959c568e92ae6870817dee2 Author: Yannig Marchegay Date: 2010-04-14 Updated Occitan translation M po/oc.po commit 27850a638a0075fb35b49c0621363bcb9ffd50d3 Author: Ani Peter Date: 2010-04-14 Updated Malayalam Translation M po/ml.po commit d88eca5a81988d62fbcbcc60037abbaae124b407 Author: Sandeep Shedmake Date: 2010-04-14 Updated Marathi Translations M po/mr.po commit 95b2c6e322a9bd15320fd6cdb37394e645b85ef4 Author: Yannig Marchegay Date: 2010-04-13 Occitan translation update M po/oc.po commit 89953c7140b285cc27a0dc4f8a771a58bee21e20 Author: Yannig Marchegay Date: 2010-04-13 Occitan translation update M po/oc.po commit 36586cd1ad3f0c12c707f052964b3c188343e78a Author: Francisco Diéguez Date: 2010-04-09 Updated Galician translations M po/gl.po commit cb4097700ddfc5992544528cc4e412ec345131aa Author: Tomas Bzatek Date: 2010-04-09 Tracker: Fix filtering by location, code cleanup This also involves code cleanup to maintain consistency with gtksearchenginetracker.c Related: bug 612725 M libnemo-private/nemo-search-engine-tracker.c commit 31b4b4adda7a9da23b611966176c7f7b7ae552cd Author: Cosimo Cecchi Date: 2010-04-09 Don't use LDFLAGS for the eel library. libeel is a convenience library now, so it should pull its dependecies using LIBADD, not LDFLAGS. Patch by Josselin Mouette (#604575). M eel/Makefile.am commit 496d3f15de295482e158194e1fe1dae3569f4524 Author: Cosimo Cecchi Date: 2010-04-09 Use gtk_widget_get_state() (#612423). Instead of the deprecated GTK_WIDGET_STATE macro. Patch by Dominique Leuenberger. M eel/eel-editable-label.c M eel/eel-gtk-extensions.c M eel/eel-labeled-image.c commit 305cf9768bd716ba9bbcd3e773511536243a9cc5 Author: Marcus Carlson Date: 2010-04-07 Fix emblem scaling with zoom >= 150% Emblem handling did not properly take zoom into account (#343540) M libnemo-private/nemo-icon-canvas-item.c commit 263051df98aace0b59fb2bd1772711dceba8e404 Author: Marcus Carlson Date: 2010-04-07 Fix crash when middle click on an invalid network share in Places https://bugzilla.gnome.org/show_bug.cgi?id=579627 M src/nemo-window-manage-views.c commit 1698377dcad6762bc0b32c4efa75d7e2c4b3fb67 Author: Tomas Bzatek Date: 2010-04-06 Support for tracker 0.8 stable release M libnemo-private/nemo-search-engine-tracker.c commit 323124d88ba4bf2d39466ee11c3f166ffebb0a01 Author: Sweta Kothari Date: 2010-04-06 Updated Gujarati Translations M po/gu.po commit ae2b3bffcb1bb5f333bc6654af3c0a3719d50b70 Author: Jordi Serratosa Date: 2010-04-02 Fixes to Catalan translation M po/ca.po commit 1b252c84a9f1efaab652679f2511d5d5a63593f4 Author: Wouter Bolsterlee Date: 2010-03-30 Dutch translation updated by Wouter Bolsterlee M po/nl.po commit 09b695b4cab81b239a3934e6c53222299fc61137 Author: Jordi Serratosa Date: 2010-03-29 Fixes to Catalan translation M po/ca.po commit 3bdca4a2c5720e239a8947348b8390da0ac7b998 Author: Alexander Larsson Date: 2010-03-29 Post release version bump M configure.in commit e414801ab9c3baba23ce82df02f59ec7fdf2f7d8 Author: Alexander Larsson Date: 2010-03-29 Bump version to 2.30.0 M configure.in commit 8174126cad82d54b25b40b883aa05d0a13abdc44 Author: Alexander Larsson Date: 2010-03-29 Require stable versions of glib/gtk+ M configure.in commit 8972aad5f0fc3f6346000845770239d39c0fd63b Author: Alexander Larsson Date: 2010-03-29 Update for release M NEWS commit 6364bbbbea855bcd5f507d08e4270956aed4083a Author: Runa Bhattacharjee Date: 2010-03-29 Typo correction and updation M po/bn_IN.po commit 313ee0e2b19d5850bbc62dae73fe315b4c450277 Author: Jamil Ahmed Date: 2010-03-27 Updated Bengali translation M po/bn.po commit be4461243fdf084bd1a2c466fd3b196e134439d7 Author: Maxim V. Dziumanenko Date: 2010-03-26 Updated Ukrainian translation M po/uk.po commit 94127c6f6c553849c033ce06e0eb3fa8a837d994 Author: Timo Jyrinki Date: 2010-03-26 Separate ejecting from safely removing and link to the relevant bug report. M po/fi.po commit 0fe43b73226164ac381d48e167c15035161f7e19 Author: Gabor Kelemen Date: 2010-03-26 Updated Hungarian translation M po/hu.po commit f9f46d46040e97f802e530706248d39a2daf99cc Author: Simos Xenitellis Date: 2010-03-25 Updated Greek translation for nemo M po/el.po commit de23258a5b70b7237cf972b4689731763eb19ebf Author: Cosimo Cecchi Date: 2010-03-25 Use a better thumbnail frame for image previews. Thanks to Hylke Bons for working on this. Closes bug #613858. M icons/thumbnail_frame.png M libnemo-private/nemo-thumbnails.h commit acb01f0fe637a64f92c1ff2188879b7c470ed0e0 Author: Tomas Bzatek Date: 2010-03-24 Unref local query object when turning search off M src/nemo-navigation-window-menus.c commit a92a7bfcb2c7bb9f171724bc97b1c163f52c0fd7 Author: Tomas Bzatek Date: 2010-03-24 Don't crash when hiding search bar with no text Happens in browser mode and only when search results pane is displayed M src/nemo-navigation-window-menus.c commit 4702bc8e74248de734c2fbcddd57191ba2fc1bd1 Author: Fran Diéguez Date: 2010-03-24 Updated Galician translation M po/gl.po commit 4297995df518bc17f5b3de9889c655c35eb05fbf Author: Inaki Larranaga Murgoitio Date: 2010-03-24 Updated Basque language M po/eu.po commit 9b458e52b43a87c0b5ff13a0634c18dc6328de8a Author: A S Alam Date: 2010-03-24 update for Punjabi by A S Alam M po/pa.po commit ffadc713c20db01c3678f947f510565affcd4887 Author: Anders Jenbo Date: 2010-03-23 Updated Danish translation M po/da.po commit 81709b3bba3630fdee8577453820a353b4757aed Author: Simos Xenitellis Date: 2010-03-23 Updated Greek translation for nemo M po/el.po commit 14b652632c63b586bf32ae6a7a0599da459fcc4a Author: Nikos Bakaoukas Date: 2010-03-23 Updated Greek translation for nemo M po/el.po commit 5bbd6545ac0114e2a6962079fdbcaae5bbe84b78 Author: Tommi Vainikainen Date: 2010-03-22 Updated Finnish translation M po/fi.po commit c18f16106fe0cf6b9c139c61728f6f5233ca0737 Author: Luke Symes Date: 2010-03-14 Don't display a border around the desktop frame. Fixes bug 605704. M src/file-manager/fm-desktop-icon-view.c commit 0a53599124a8d57b5d6ccdb8694da10bea8313d7 Author: ReÅŸat SABIQ Date: 2010-03-18 Updated Crimean Tatar (Crimean Turkish) translation M po/crh.po commit e0b4fd622a4eb31a3d9af56bb0b2d5c1fd7e3d06 Author: Bastien Nocera Date: 2010-03-17 Add AIFF as a supported audio type for preview M src/file-manager/nemo-audio-mime-types.h commit ba6a7c6e1098c5cb88fb7468e98bf9f58ff6b543 Author: Alexander Larsson Date: 2010-03-17 Set exit_with_last_window to false by default This fixes problems with show_desktop=false causing nemo to exit and gnome-session restarting nemo in a loop (#571417). This means nemo will keep running, so that it can handle automount and stuff. If you only run nemo rarely you need to set this to true. In the future we will move the automount handling to gnome-settings-daemon and then we will probably change this back. M libnemo-private/apps_nemo_preferences.schemas.in commit dfa7758c96580e06261756b6f49433befec677c4 Author: Inaki Larranaga Murgoitio Date: 2010-03-16 Updated Basque language M po/eu.po commit 1ab3721437d8371301079023c10dfa14c0eb5b5d Author: Inaki Larranaga Murgoitio Date: 2010-03-15 Updated Basque language M po/eu.po commit e61a5c23dce6af7861628ace3fb049d9a0d4c8e8 Author: Petr Kovar Date: 2010-03-15 Update Czech translation by Lucas Lommer M po/cs.po commit 863a13e1dbbcee2d7405f17b3eef6db93df437df Author: Ivar Smolin Date: 2010-03-14 Estonian translation updated M po/et.po commit e3ea8ba00461ccd43716c1360215d4d44e4fa872 Author: Fran Diéguez Date: 2010-03-13 Updtae Galician translation M po/gl.po commit 68dbac28c64ea365a09b7cbc58fba0434fad8a34 Author: Luca Ferretti Date: 2010-03-12 Updated Italian translation M po/it.po commit 797cacb28b78fede43b713dbd1fba2479bdbe943 Author: Holger Berndt Date: 2010-03-11 Remove grab_focus from list view The grab_focus interface function is now implemented in the directory view. There's no need for special handling of list views anymore. M src/file-manager/fm-list-view.c commit c78da8903804267ef7399d92753c5f5b2e811585 Author: Holger Berndt Date: 2010-03-11 Fix focus handling Move the focus to a new window's first slot. The extra pane doesn't get focus initially, which fixes bug 612203. To make this work for all views, the focus_grab interface function was implemented for the directory view class. M src/file-manager/fm-directory-view.c M src/nemo-window-pane.c M src/nemo-window-pane.h M src/nemo-window.c commit 34807782c143f99f0ab94dd4a1804239a5710d1a Author: Holger Berndt Date: 2010-03-11 Bring back "Don't grab focus on realize" This brings back commit 4efd42312584b46f248e2839582a87776a7baebe that was reverted in 95ae539e8d042b04ee9c6817bcc41f551ab207fc The focus issues that this introduces will be taken care of in a followup commit. M libnemo-private/nemo-icon-container.c commit dde8fff965302b2d73f3aed81d19e6f93a7c6334 Author: Padraig O'Briain Date: 2010-03-11 Don't use inline keyword Its unnecessary and breaks on e.g. sun compilers. M src/nemo-navigation-window.c M src/nemo-navigation-window.h commit c25488049229c725dde566d9c37e90c0122a6dd2 Author: Gabor Kelemen Date: 2010-03-11 Updated Hungarian translation M po/hu.po commit 44ea265c75a6cf54145002d9323b8bec52f76e3d Author: Tomas Bzatek Date: 2010-03-10 Update for 2.29.92.1 M NEWS M configure.in commit 8c8cf192d861a1a6c202624ee0b4c0ff43077080 Author: Tomas Bzatek Date: 2010-03-10 Fix compilation due to deprecated GTK_WIDGET_STATE symbol Also see https://bugzilla.gnome.org/show_bug.cgi?id=69872#c87 M libnemo-private/nemo-tree-view-drag-dest.c commit fab5d01888eb08e3721db7331011534e40afe24e Author: Duarte Loreto Date: 2010-03-10 Updated Portuguese translation M po/pt.po commit 2d40fbadb053bc7ad0d988050e58a81bfc3ea08b Author: Tomas Bzatek Date: 2010-03-09 Fix libm linking Nemo was underlinked, found by recently introduced change in Fedora: https://fedoraproject.org/wiki/Features/ChangeInImplicitDSOLinking /usr/bin/ld: ../libnemo-private/.libs/libnemo-private.a(eel-canvas.o): undefined reference to symbol 'floor@@GLIBC_2.0' /usr/bin/ld: note: 'floor@@GLIBC_2.0' is defined in DSO /lib/libm.so.6 so try adding it to the linker command line /lib/libm.so.6: could not read symbols: Invalid operation M configure.in commit 4df08e047b42ae4d11cd1edbbb7e99f95ae1b326 Author: Tomas Bzatek Date: 2010-03-08 Remove obsolete defines M configure.in commit 02afb2f5f2b95185c42ecac87af089a8ca8488ab Author: Alexander Larsson Date: 2010-03-08 Bump version to 2.29.92 M configure.in commit 7d79c4ad6db9a39ca6d37bb7eadd95ff84ac2af5 Author: Alexander Larsson Date: 2010-03-08 Update NEWS for release M NEWS commit b6958cb2d9e699c3a81ab39b9aa7766f6070a832 Author: Alexander Larsson Date: 2010-03-08 Don't close the window you initiated an unmount in. Based on patch from Luke Symes M src/nemo-application.c M src/nemo-navigation-window-slot.c commit 80dd8fb8ff0df3aa32314c633b04173517da3a36 Author: Alexander Larsson Date: 2010-03-08 Set initiated_unmount on windows while unmounting M src/file-manager/fm-directory-view.c M src/file-manager/fm-directory-view.h M src/nemo-places-sidebar.c commit 5e7f95842228f289b2940f23e63a2dd3b2cca842 Author: Alexander Larsson Date: 2010-03-08 Always call back from nemo_file_unmount/eject, even on success M libnemo-private/nemo-file.c commit 7fb5d7f6e4c32ab391eb9f3a61c0cab59c585874 Author: Alexander Larsson Date: 2010-03-08 Add nemo_file_operations_unmount_mount_full with a callback M libnemo-private/nemo-file-operations.c M libnemo-private/nemo-file-operations.h commit 43f080c97369796043e45719933f536e0b29582f Author: Luke Symes Date: 2010-03-08 Implement the initiated_unmount property for NemoWindow. Windows will have this set to TRUE when one of their slots initiates an unmount. https://bugzilla.gnome.org/show_bug.cgi?id=611569 M libnemo-private/nemo-window-info.c M libnemo-private/nemo-window-info.h M src/nemo-window-private.h M src/nemo-window.c commit e1e1fe0d505bdb9b53d7204bba0abeee52f73bca Author: Tomas Bzatek Date: 2010-03-08 Load tracker/beagle at runtime Dynamically load tracker (preferred) and beagle client libraries on demand if available. This allows more flexibility for packagers and users. See bug 589345 for details. M configure.in M libnemo-private/Makefile.am M libnemo-private/nemo-search-engine-beagle.c M libnemo-private/nemo-search-engine-tracker.c M libnemo-private/nemo-search-engine.c commit bbe632e641df6f184de338b8215e390139adc573 Author: MiloÅ¡ Popović Date: 2010-03-07 Fixed typo in Serbian translation M po/sr.po M po/sr@latin.po commit e9e1dbc188983bac428bade85becbfea079306a0 Author: MiloÅ¡ Popović Date: 2010-03-07 Updated Serbian translations M po/sr.po M po/sr@latin.po commit 8217aa1931ed6f275d3651003fe3e599baaf8245 Author: Christian Kirbach Date: 2010-03-06 Updated German translation M po/de.po commit a6715be7e462109020f8450fe9781ea70e5ca128 Author: Holger Berndt Date: 2010-03-05 Bring back + for tab changing Make the first 10 tabs of every pane changable via keyboard shortcuts +1, +2 etc. This brings back non-GUI functionality that was removed together with the tab menus in e156e39e07276a4de8414bfdb82340f8762060b4 Fixes bug 609924 M src/nemo-navigation-window-menus.c commit 97ef4d40e6c743620e0629ee768b6df0effa61df Author: Kjartan Maraas Date: 2010-03-04 Updated Norwegian bokmÃ¥l translation M po/nb.po commit 4f870048b8d6754e29dd5ed0c4104f453caf7d3b Author: Rodrigo Moya Date: 2010-03-04 Replace deprecated GTK_WIDGET_* macros and depend on newer GTK+ M configure.in M libnemo-private/nemo-clipboard.c M libnemo-private/nemo-horizontal-splitter.c M libnemo-private/nemo-icon-canvas-item.c M libnemo-private/nemo-icon-container.c M libnemo-private/nemo-progress-info.c M libnemo-private/nemo-tree-view-drag-dest.c M src/file-manager/fm-list-view.c M src/file-manager/fm-properties-window.c M src/file-manager/fm-tree-view.c M src/nemo-application.c M src/nemo-bookmarks-window.c M src/nemo-navigation-window-pane.c M src/nemo-navigation-window.c M src/nemo-notebook.c M src/nemo-pathbar.c M src/nemo-side-pane.c M src/nemo-spatial-window.c M src/nemo-window-manage-views.c M src/nemo-window.c M src/nemo-zoom-control.c commit af9305deb5a699fa430599685f25ad363d280808 Author: Leonid Kanter Date: 2010-03-04 Update Russian translation by Yury Kozlov M po/ru.po commit 4d742c83498df29d6f4b853dca946c0b4c4b13a3 Author: Alexander Larsson Date: 2010-03-03 Revert "Put tabs at the bottom" This reverts commit c6ee7553fd029239eff50d32dbcb57223ffa185e. We have gotten feedback that this experiment was not liked by users, so reverting. M src/nemo-notebook.c commit 7aad24446ce11d8508853cc0541590d3c8e0f99d Author: Umarzuki bin Mochlis Moktar Date: 2010-03-03 Update Malaj translation. Fixes bug 610519. M po/ms.po commit 95ae539e8d042b04ee9c6817bcc41f551ab207fc Author: Alexander Larsson Date: 2010-03-03 Revert "Don't grab focus on realize" This reverts commit 4efd42312584b46f248e2839582a87776a7baebe. We now don't store the extra view visible status, so the problem this change fixed is gone. And this change caused other focus issues, as per bug 607060. M libnemo-private/nemo-icon-container.c commit c8ded383147e0f860f9a206e9f45606bf16effe9 Author: Holger Berndt Date: 2010-02-25 Don't remember status of extra pane in a gconf key The focus for Nemo' split view mode are occasional, temporary switches to a split view mode for heavy-duty filebrowsing, not to be a permanent double pane filemanager. Therefore, neither split-view toggle status nor splitter position of a window are supposed to affect subsequently opened windows. See comments at bug 608431. M libnemo-private/apps_nemo_preferences.schemas.in M libnemo-private/nemo-global-preferences.c M libnemo-private/nemo-global-preferences.h M src/nemo-navigation-window.c commit 0b6dd131e0d4d4ce7694b824e9925c1d021d9754 Author: Changwoo Ryu Date: 2010-03-01 Updated Korean translation M po/ko.po commit 82018666fb492bb423f4bcaccfa9bd50d868974d Author: Daniel Nylander Date: 2010-02-28 Updated Swedish translation M po/sv.po commit 582c1021a4b2f9039296a67bb45f8c3d51c327d5 Author: Piotr DrÄ…g Date: 2010-02-28 Updated Polish translation M po/pl.po commit 78ed12260a72967f7e1d135c4ffe7d51c44e3021 Author: Mario Blättermann Date: 2010-02-27 Updated German translation M po/de.po commit 1688fbbbcd1a55c7a731f65fdef31b9d7c90ed60 Author: Joan Duran Date: 2010-02-27 Updated Catalan translation M po/ca.po commit 533c274c00f1d6ab27b56e58363acd164e15d268 Author: Torstein Adolf Winterseth Date: 2010-02-27 Updated Norwegian Nynorsk translation M po/nn.po commit c7e51ada91e966af89b14c46f6fd20a4da0f5e3c Author: Bruce Cowan Date: 2010-02-24 Updated British English translation M po/en_GB.po commit 5dc02f0410a14b17bcdf74404b79c6b97a47c6e2 Author: Gintautas Miliauskas Date: 2010-02-23 Updated Lithuanian translation. M po/lt.po commit 64c484ae80012d120c3420f9fdd09915aaed32f4 Author: Alexander Shopov Date: 2010-02-23 Updated Bulgarian translation M po/bg.po commit 5f1d9d7b17a9b21d934d05e9c3e724a3ff3318a8 Author: Alexander Larsson Date: 2010-02-22 Require latest gnome-desktop for spanning bg M configure.in commit dd7f350e54b99c6644632062f44165e29a2fd8e6 Author: Alexander Larsson Date: 2010-02-22 Remove src/nemo-throbber.c from POTFILES.in M po/POTFILES.in commit 6b445d8c23b82327083ccd7a0254ccd5d001cfbc Author: Alexander Larsson Date: 2010-02-22 Update NEWS for release M NEWS commit d27a9a4260f76602a0c5e88706c1641e06515971 Author: Alexander Larsson Date: 2010-02-22 Use GtkSpinner instead of custom widget Forgot this part of the commit... M configure.in M src/Makefile.am M src/nemo-navigation-window.c M src/nemo-notebook.c M src/nemo-window-private.h M src/nemo-window-toolbars.c commit 07a6c14e4008e6ea131e5740485e8bd66547db3e Author: A. Walton Date: 2010-02-22 Use GtkSpinner instead of custom widget D src/ephy-spinner.c D src/ephy-spinner.h D src/nemo-throbber.c D src/nemo-throbber.h commit 472d7b454862e5a18a4e04f50162b1cfe41beb30 Author: Luke Symes Date: 2010-02-16 Go to computer:/// on unmount M src/nemo-application.c commit a3f5dde5051737beceeb6bc825758d0ecce1e3fd Author: Luke Symes Date: 2010-02-17 Fix location check in should_close_with_mount https://bugzilla.gnome.org/show_bug.cgi?id=318094 M src/nemo-navigation-window-slot.c commit 45f7cbb0bf331f6e99fc5cbb8dcc84f3b26455fa Author: vasudeven Date: 2010-02-21 updated Tamil translation M po/ta.po commit 8df9b4a10a31532c52f5fbc36f8dee60fa04948d Author: Alexandre Franke Date: 2010-02-20 Update French translation to show real last translator M po/fr.po commit e8099533621bdb3a24178ea05d5a88586259e319 Author: Alexandre Franke Date: 2010-02-20 Fixed French translation (closes bug 610365) M po/fr.po commit 47eaabdecb657c284366c1832206595e470242c6 Author: Khaled Hosny Date: 2010-02-19 Updated Arabic translation M po/ar.po commit 3de6a780cb9dde0c54537139a81ab8186b81ccde Author: Matthias Clasen Date: 2010-02-18 Make it possible to have backgrounds spanning multiple monitors. gnome-desktop added a new 'spanned' picture_option for this. This fixes bug 610396. M eel/eel-background.c M eel/eel-background.h M libnemo-private/nemo-directory-background.c commit 402f79e82c91b5129fa8fb11840d390a8527e2fb Author: vasudeven Date: 2010-02-18 updated Tamil translation M po/ta.po commit e570e2f6fd6ed73aa472d85409be2e01107caa5c Author: Rene Pärts Date: 2010-02-17 Estonian translation updated M po/et.po commit 5de7ed5ee5c9857615c2da8c6424fa99e365dc26 Author: Fran Diéguez Date: 2010-02-15 Updated Galician Translation M po/gl.po commit ecdea68af78c46fbf9b7ecfb77cc8f71f4cfb687 Author: vasudeven Date: 2010-02-15 updated Tamil translation M po/ta.po commit 6549e2e1ef18e20bd6023d645092ae7b3b735d2f Author: Ask H. Larsen Date: 2010-02-14 Updated Danish translation M po/da.po commit 467e375bc52d1ceb400534c5d9d2995de1b40789 Author: Claude Paroz Date: 2010-02-13 Updated French translation Contributed by Claude Paroz and Bruno Brouard M po/fr.po commit 8d7e2a397fe4a70707c9fb92a98c1dfe2b621e2e Author: Lucian Adrian Grijincu Date: 2010-02-13 Update Romanian translation M po/ro.po commit 662e19941905cf80a9131e56cefc4eab69f6e5da Author: Fran Diéguez Date: 2010-02-12 Updated Galician Translation M po/gl.po commit bbb9d918761c07e0711c058e7b8295b3d7079ff3 Author: Matej UrbanÄiÄ Date: 2010-02-11 Updated Slovenian translation M po/sl.po commit 862ba955f5f918eca3853faef00de67f1066c5c7 Author: Chao-Hsiung Liao Date: 2010-02-10 Updated Traditional Chinese translation(Hong Kong and Taiwan) M po/zh_HK.po M po/zh_TW.po commit ef76f4421331a8575f43db2c4cd5b26a2f5952a2 Author: Tomas Bzatek Date: 2010-02-09 Post release version bump M configure.in commit 574b9a27bcb631dfa616e856f9f11131ddd1e150 Author: Tomas Bzatek Date: 2010-02-09 Update for 2.29.90 M NEWS M configure.in commit e302cf74e2374f3e3850b4341c3456199d520726 Author: Gabor Kelemen Date: 2010-02-08 Hungarian translation updated M po/hu.po commit 09c0a7dfeb8530dcf8cc871b7377d27e4c41c2bd Author: Theppitak Karoonboonyanan Date: 2010-02-08 Updated Thai translation. M po/th.po commit a38cc9eb354fb48f48c38501ccf649a9e3f412d5 Author: Henrique P. Machado Date: 2010-02-06 Updated Brazilian Portuguese translation M po/pt_BR.po commit 80ce7ee481d292fae620b878b1c83dd65d71dfbe Author: Jorge González Date: 2010-02-06 Updated Spanish translation M po/es.po commit ebca4f18692c06e8af724317a82328a84514e6b0 Author: Claude Paroz Date: 2010-02-06 Fix copy-pasted tooltip string M src/file-manager/fm-directory-view.c commit cd49c551d46a41d803d8bb76c7bef6d395e14369 Author: Jennie Petoumenou Date: 2010-01-31 Updated Greek translation M po/el.po commit fde78a67b016d7c59b86145ac31d6b46462ee1b0 Author: Mattias Põldaru Date: 2010-01-29 Updating Estonian translation M po/et.po commit cf6477ac9b5576ab0f28077d817388fc3b77637f Author: Jamil Ahmed Date: 2010-01-29 Updated Bengali translation M po/bn.po commit e7f8fdf47e421122a7d13703fd3ff6cb6cd14b82 Author: Alexander Shopov Date: 2010-01-26 Updated Bulgarian translation M po/bg.po commit 4474a1d606c486486eb88e5043da500dd5885e1d Author: Alexander Larsson Date: 2010-01-25 Post release version bump M configure.in commit 49967fd917d0ae5f3e5d63858199fd41e1cd0811 Author: Alexander Larsson Date: 2010-01-25 Update NEWS for release M NEWS commit 1b07696835481a911e44c5964eeb545537242cff Author: Khaled Hosny Date: 2010-01-23 Updated Arabic translation M po/ar.po commit e156e39e07276a4de8414bfdb82340f8762060b4 Author: Alexander Larsson Date: 2010-01-22 Remove tabs menu I don't think this menu is much use, and it clutters up the menus even for users who don't use tabs, which is against our policy of having the more advanced features affect users not using them as little as possible. Also, remove the setting to disable tabs althoughter, as with the menu removed the tabs feature is very minimal when not in use. M libnemo-private/apps_nemo_preferences.schemas.in M libnemo-private/nemo-global-preferences.c M libnemo-private/nemo-global-preferences.h M libnemo-private/nemo-mime-actions.c M src/file-manager/fm-directory-view.c M src/file-manager/fm-icon-view.c M src/file-manager/fm-list-view.c M src/file-manager/fm-tree-view.c M src/nemo-actions.h M src/nemo-navigation-window-menus.c M src/nemo-navigation-window-pane.c M src/nemo-navigation-window-pane.h M src/nemo-navigation-window-ui.xml M src/nemo-navigation-window.c M src/nemo-places-sidebar.c M src/nemo-window-private.h commit c9d59901003f635221299ca90887b830f3c0a3fa Author: Kjartan Maraas Date: 2010-01-22 Updated Norwegian bokmÃ¥l translation M po/nb.po commit ec8b9a8b58ddd9d6bf08ac9e0b875581009255b3 Author: Thomas Hindoe Paaboel Andersen Date: 2010-01-18 Replace deprecated GTK_OBJECT_TYPE with G_OBJECT_TYPE GNOME bug 565038 M eel/eel-canvas.c commit 6146cd17e4340ca3af43050e405c7ef64efd6e5d Author: Benjamin Berg Date: 2010-01-19 Use test instead of fg for eel-editable-label test Since we use base for the background we should use text for the foreground. (#548295) M eel/eel-editable-label.c commit 46af408406ace29ad8e52e26cdfb43c50c5b96ca Author: Jorge González Date: 2010-01-16 Updated Spanish translation M po/es.po commit fb138478020738917f0fe408e5c4e2fafd3c2bb8 Author: Nelson Benítez León Date: 2010-01-06 Update glib required version M configure.in commit 7fcd79f3d404a734095b4e42cfa36b45aad95c4d Author: dumol Date: 2010-01-10 Updated Romanian translation M po/ro.po commit e050b4134983ea14115d276ee41ba3e877952e52 Author: Lucian Adrian Grijincu Date: 2010-01-10 Updated Romanian translation M po/ro.po commit 344f80b837341e114f5a4f7473ad7d7cfa3c6efc Author: Daniel Nylander Date: 2010-01-09 Updated Swedish translation M po/sv.po commit c444f6d555df95ea2767992c0af6a7cdce3f0d53 Author: Maxim V. Dziumanenko Date: 2010-01-06 Update Ukrainian translation M po/uk.po commit dd151d503dbe6c12dca868b69a8bcddf8fc798b4 Author: Timo Jyrinki Date: 2010-01-06 A few fixes by me from Launchpad. M po/fi.po commit 8769220d5c95057470d58c7591732afc126b58a1 Author: Mattias Põldaru Date: 2010-01-05 Updating Estonian translation M po/et.po commit a12dd191b5b0286a975e8dbfb435ddc09ec1f930 Author: Matej UrbanÄiÄ Date: 2010-01-02 Updated Slovenian translation M po/sl.po commit 331e69edcb178fe157a2990ea9beab0cd128a6be Author: Khaled Hosny Date: 2009-12-25 Updated Arabic translation M po/ar.po commit 972d4f7a4c04f1fffe1a6ad7aa8c4fc9b5bead49 Author: Jorge González Date: 2009-12-19 Updated Spanish translation M po/es.po commit 89c29e1beb04b7f0cc751976bff052af26faf8cd Author: Alexander Larsson Date: 2009-12-17 Move the navigation bar size group to be a cross window header size group This way we can make sure we align the headers of the sidebar too. M src/nemo-navigation-window-pane.c M src/nemo-navigation-window-pane.h M src/nemo-navigation-window.c M src/nemo-side-pane.c M src/nemo-window-private.h commit 595150f7a94664fb247cef5b0af714fd7f1c0e6b Author: Alexander Larsson Date: 2009-12-17 Add nemo_side_pane_get_title M src/nemo-side-pane.c M src/nemo-side-pane.h commit f8447895dbb680a7abbb483a80d1db05e07ee730 Author: Alexander Larsson Date: 2009-12-17 Post release version bump M configure.in commit 0c33ea773fa27da99187c3bd7ddfcbb42ed6d90d Author: Alexander Larsson Date: 2009-12-17 Fix up include M src/nemo-location-bar.h commit 056ac6c3deaad63f70b61c68743cd03baa0db726 Author: Alexander Larsson Date: 2009-12-17 Dist nemo-extension-private.h M libnemo-extension/Makefile.am commit 2622cc470fa482f8b766bd9a37afc1f0597b8e08 Author: Alexander Larsson Date: 2009-12-17 Remove the rest of shave M Makefile.am M configure.in D m4/Makefile.am commit 21b1aa0144389f7f0a9645d0a734fe5881223844 Author: Alexander Larsson Date: 2009-12-17 Update NEWS for release M NEWS commit e2363ba468bca0662a7f139386432a677478f722 Author: Alexander Larsson Date: 2009-12-17 Change "enable browser" prefs to "enable spatial" Since browser is now the default we want to change the description and default state of the prefs UI for this to follow this change. M src/nemo-file-management-properties.c M src/nemo-file-management-properties.ui commit 70f2f7c8e36898553ba0c6593aee1e8ee52bd7a7 Author: Alexander Larsson Date: 2009-12-17 Add eel_preferences_builder_connect_inverted_bool M eel/eel-preferences-builder.c M eel/eel-preferences.h commit 07c0bf9cb422d38fb4c38faed7af261c5411378c Author: Alexander Larsson Date: 2009-12-17 Enable browser mode by default As discussed on the list we're moving to browser mode with the switch to gnome-shell. Gnome-shell is not quite ready yet, but we want to move towards that as early as possible so we can iron out all the details in the new behaviour. M libnemo-private/apps_nemo_preferences.schemas.in M libnemo-private/nemo-global-preferences.c commit c69f3a2ba2d0bd23de5a218b8ce13d256481213a Author: Alexander Larsson Date: 2009-12-17 When showing a window for the first time, focus the active slots view M src/nemo-window.c commit cf1e32162affc91b5b3a2ca934c0dee45e3f1a2e Author: Alexander Larsson Date: 2009-12-17 Set right slot in active pane state for new views M src/nemo-window.c commit 4efd42312584b46f248e2839582a87776a7baebe Author: Alexander Larsson Date: 2009-12-17 Don't grab focus on realize This causes problems when opening up an extra view as it forces it to become focused which is not what we want. M libnemo-private/nemo-icon-container.c commit d9abc4bf2ff65009ab1521c31f0877b0e312c8a6 Author: Alexander Larsson Date: 2009-12-17 Move "go to same location as other pane" in the menus We don'r want separators around this single item, put it with the navigation stuff instead (not ideal, but ok). M src/nemo-navigation-window-menus.c M src/nemo-navigation-window-ui.xml commit ea28580ac582c6df66215b39743e3914c422f236 Author: Alexander Larsson Date: 2009-12-17 Fix typo M src/nemo-navigation-window-ui.xml commit 3fb63af8aed0f350f4eabf65085d80a4442a34b5 Author: Alexander Larsson Date: 2009-12-17 Remove switch to other pane menu item and make F6 do this instead This is a very useless menu item, its sole reason for existance is to bind a keyboard combo to it. Instead we should just choose one. Some research indicate that F6 is standard for this. In Gtk+ F6 is used for split view navigation in general, so it will toggle between the sidebar and the two views. However, you can reach the sidebar in other ways using keynav, and the more important thing is the pane toggling, so we override this and make F6 be pane switching only. M src/nemo-navigation-window-menus.c M src/nemo-navigation-window-ui.xml commit b4f413314de5857867ef152384741c49f2613737 Author: Alexander Larsson Date: 2009-12-17 Replace shave with AM_SILENT_RULES M configure.in M eel/Makefile.am M libnemo-private/Makefile.am D m4/shave-libtool.in D m4/shave.in D m4/shave.m4 commit 8f3e5b8d65d5c67ce6b762c8c33efc42ee13f6c3 Author: Alexander Larsson Date: 2009-12-17 Don't focus the search entry when we're activating a pane with search This is not the right behaviour, and additionally it caused problems to do this from the focus in signal handler for the icon view, since the recursion of the focus changes caused HAS_FOCUS state to be mixed up. M src/nemo-navigation-window-menus.c M src/nemo-navigation-window.c commit a9384103fe8822a351aa5256c21e00058bfef310 Author: Alexander Larsson Date: 2009-12-17 Set active pane when its search bar gets focus M src/nemo-navigation-window-pane.c commit e5806d3a65f0b6dda23d4c4c12d53a5d09cc1f52 Author: Alexander Larsson Date: 2009-12-17 Add event for search bar getting focus M src/nemo-search-bar.c M src/nemo-search-bar.h commit aecc6b6abf1e1c313d2d4473902a2b9eb0e11827 Author: Alexander Larsson Date: 2009-12-17 Minor whitespace cleanups M src/nemo-window.c commit adc968f34c1085ce4e5378fba92655082052f13d Author: Alexander Larsson Date: 2009-12-17 Move nemo_navigation_window_pane_set_active into a vfunc Now nemo_window_pane_set_active works for both navigational and spatial panes. M src/nemo-navigation-window-pane.c M src/nemo-navigation-window-pane.h M src/nemo-window-pane.c M src/nemo-window-pane.h M src/nemo-window.c commit 36ba547921917daa970bd2d8510e3cd1bef894bf Author: Alexander Larsson Date: 2009-12-16 Move active background color handling to the view This stuff references view implementations and should not be in the generic code. M libnemo-private/nemo-view.c M libnemo-private/nemo-view.h M src/file-manager/fm-directory-view.c M src/file-manager/fm-directory-view.h M src/file-manager/fm-list-view.c M src/nemo-window-slot.c commit 096453c004a2538b816046b0388d6cfb60b618b2 Author: Alexander Larsson Date: 2009-12-16 Remove unnecessary check M src/nemo-window-manage-views.c commit d40b44e5f54a16bdf91ebf2d291732941717fdc6 Author: Alexander Larsson Date: 2009-12-16 Clean up sync_location_widgets by using vtable calls instead of type checks M src/nemo-navigation-window-pane.c M src/nemo-navigation-window-pane.h M src/nemo-window-pane.c M src/nemo-window-pane.h commit 7c66c6c020edf40383681a6e691c1451ff90b9f7 Author: Alexander Larsson Date: 2009-12-16 Only update toolbar items when active pane changes M src/nemo-window-manage-views.c commit cc3241aa713b99c72f30b01be9179f9b7a4635fc Author: Alexander Larsson Date: 2009-12-16 Fix indentation M src/nemo-window-slot.c commit 3a9fae22b64e4c4c3fa66520314285b4a8b836bb Author: Alexander Larsson Date: 2009-12-16 Move sync_search_widgets from window to pane Since the search widgets are per pane we need only update them for the pane, never for all the window. M src/nemo-navigation-window-pane.c M src/nemo-navigation-window.c M src/nemo-navigation-window.h M src/nemo-window-manage-views.c M src/nemo-window-pane.c M src/nemo-window-pane.h M src/nemo-window-slot.c M src/nemo-window.c M src/nemo-window.h commit a6b53ce4d5b811c854ef8987d1bf6af7ab355b68 Author: Alexander Larsson Date: 2009-12-16 On view selection failure, reload the right window M src/nemo-window-manage-views.c commit 1d62423f6518be0a063e93cc160a0ffdae26ff6d Author: Alexander Larsson Date: 2009-12-16 Remove nemo_window_sync_location_widgets Not used anymore M src/nemo-window-manage-views.c M src/nemo-window-private.h commit 8a0ca66f2c2d69cc50cdbcc319f80529b1b30d00 Author: Alexander Larsson Date: 2009-12-16 Only sync the location bar on the affected pane M src/nemo-window-manage-views.c M src/nemo-window-slot.c commit bc87c744f84fe3c787fd504d811db4ba5c50de79 Author: Alexander Larsson Date: 2009-12-16 Fix window slot close crash On window close via nemo_window_close when the viewed file closed there was a ref on the slot living past the window. This caused crashes when disposing the slot as it referenced the window. We fix this by running the dispose handler when closing a slot and by making the dispose handler able to run multiple times. M src/nemo-window.c commit 9d8f34fa253c9c2812cfc7a738e4751fff18c1dd Author: Alexander Larsson Date: 2009-12-16 Remove fm_directory_view_move_copy_items_between_views not used anymore M src/file-manager/fm-directory-view.c commit ce2e90c30506cbce28addf3258938824a1a61494 Author: Alexander Larsson Date: 2009-12-16 Revert "Pass the window instead of the view to action callbacks." This reverts commit f3390c4f9a277ffd95bc5f3c6e475d9dad7d8935. It makes no sense to pass the window for all view specific callbacks. If anything needs to access the window that is easily doable from the view reference. Conflicts: src/file-manager/fm-directory-view.c M src/file-manager/fm-directory-view.c commit 0a6c249015c7ab1cfa62e64428652970d397f57b Author: Alexander Larsson Date: 2009-12-16 Rearrange copy/move to menus and add home + desktop items M src/file-manager/fm-actions.h M src/file-manager/fm-directory-view.c M src/file-manager/nemo-directory-view-ui.xml commit 3bd562283262314fc8dd9840a3c1b5d390ab1860 Author: Alexander Larsson Date: 2009-12-16 Don't disable next pane ops if tabs are disabled M src/file-manager/fm-directory-view.c commit ef9b76bc41992a0bd9bb870e64ee0749bfe74d8b Author: Alexander Larsson Date: 2009-12-16 Remove unnecessary includes M src/nemo-window.c commit dc26bef3e209d654c8f952ff4837beb34c0fa8ae Author: Alexander Larsson Date: 2009-12-16 Remove next_pane functions from NemoWindowInfo No need for these, and they put FMDirectoryView at the wrong place. M libnemo-private/nemo-window-info.c M libnemo-private/nemo-window-info.h M src/nemo-window.c commit 0ea5a1bfe0815f71fcacec151852bada86b477f2 Author: Alexander Larsson Date: 2009-12-16 Remove use of nemo_window_info_copy_move_selection_to_next_pane Doing this via the window is unnecessary. Also, we simplify the copy operation by not using cut+paste. M src/file-manager/fm-directory-view.c commit e0a6c302d23fde1e4781671f70d501fdeffb7c8f Author: Alexander Larsson Date: 2009-12-16 Don't use nemo_window_info_next_pane_is_writable Instead we can use get_extra_slot and other existing functions, thus avoiding referencing fm-directory-view from the main code. M src/file-manager/fm-directory-view.c commit 1545e04eaf41068c3add34792815b2df84b7fd5d Author: Alexander Larsson Date: 2009-12-16 Use window_get_extra_slot instead of get_directory_view_of_next_pane We want to remove get_directory_view_of_next_pane as the main code should not reference FMDirectoryView. M src/file-manager/fm-directory-view.c commit 6a71f0f996e7c946a10e263951a906dd9795c4dc Author: Alexander Larsson Date: 2009-12-16 Add nemo_window_info_get_extra_slot M libnemo-private/nemo-window-info.c M libnemo-private/nemo-window-info.h M src/nemo-window-private.h M src/nemo-window.c commit 7545b45b7c1c1f849b01814304b24af5238dba7e Author: Alexander Larsson Date: 2009-12-16 Remove unnecessary includes M src/nemo-navigation-window.c commit fa563623570eeb6a0ab8d90aae386ecbbd740721 Author: Emilio Pozuelo Monfort Date: 2009-12-15 Bug 604574 - Fix NAME section in nemo-connect-server.1 M docs/nemo-connect-server.1 commit 9c7c2c9d2cc0a8648abf2dbc851e9efec3e3df1c Author: Alexander Larsson Date: 2009-12-15 Make trash keybindings only work if the action is sensitive This fixes https://bugzilla.gnome.org/show_bug.cgi?id=603413 in a way not causing regressions. M src/file-manager/fm-directory-view.c commit d87cf7e75c37d139631807bc22c07ba879f8218f Author: Alexander Larsson Date: 2009-12-15 Use right signal handler for delete signal action This is not actually called atm, since an action overrides it, but we should do it right anyway. M src/file-manager/fm-directory-view.c commit d5d94cdf05a8f775494e5445e0c899a4548d2690 Author: Alexander Larsson Date: 2009-12-15 Revert "Disable Trash/Delete key bindings when appropriate" This reverts commit e7c171acb8060436969139210060874f3a43d835. It causes regressions (see bug 603413) Conflicts: src/file-manager/fm-directory-view.c M src/file-manager/fm-actions.h M src/file-manager/fm-directory-view.c M src/file-manager/nemo-directory-view-ui.xml commit 75bcfea177c837215ea46c970bfea24ec04a3dae Author: Alexander Larsson Date: 2009-12-14 Don't access uninitialized variable gdk_property_get doesn't set prop_text if it fails. M libnemo-private/nemo-icon-dnd.c M libnemo-private/nemo-tree-view-drag-dest.c commit fb39afae9bf1027cf405f7309685327abd67f1bf Author: Alexander Larsson Date: 2009-12-14 Better tab size This removes the minimum size of tabs, since that causes problems when there are little availible horizontal size (such as in split view), as it caused ellipsizion to only work for strings larger than the minimum set size. However, doing *just* this causes the tabs by default to be only 3 chars wide, which is obviously also bad. So we enable tab-expansio to solve this. The new situation is not ideal either, but its the best we can do before this gtk bug is fixed: https://bugzilla.gnome.org/show_bug.cgi?id=125250 M src/nemo-notebook.c commit 7fb432ba6b6816076e9eb5cd6f586df2e90ed33a Author: Alexander Larsson Date: 2009-12-14 Better split view size allocation Ensure that the views always get *some* size so that we can at least always see the scrollbars, etc. Also make the toplevel size of a pane be a fixed size, thus guaranteeing the two panes in a split view return the same size request, thereby guaranteeing a default (if unset by user) position of 50%. Without this we could get e.g. a size request from the tabs or the location bar size change causing a change in the view splitter position. M src/nemo-navigation-window-pane.c M src/nemo-navigation-window.c commit 50fece012964a9bea091a21bb51d65bf877a1ff4 Author: Alexander Larsson Date: 2009-12-14 Don't allow the right part of the sidebar split be shrunk Views at 0x0 pixels make no sense. M libnemo-private/nemo-horizontal-splitter.c commit ee66bca8b74b1530e29414ef226e12157e92d9b7 Author: Alexander Larsson Date: 2009-12-14 Make slot label/icon update work right We move the update calls to a bit later when all the slot-internal state (like slot->location, etc) has been updated. M src/nemo-window-manage-views.c commit 53ae0522ab2ee458eb8235beaf6c8e3afefe49b6 Author: Alexander Larsson Date: 2009-12-14 Minor cleanup Use temporary variable to avoid casts. M src/nemo-navigation-window.c commit 451aafee60cd171650993c5b7640116319eebc9e Author: Alexander Larsson Date: 2009-12-11 Require latest gnome-desktop for gnome-bg changes M configure.in commit 04c26296fb78b6de1a5bf933e543734ce18bd062 Author: Alexander Larsson Date: 2009-12-11 Move status bar to under view in navigational view This means the status bar moves closer to what it shows the status of. Additionally it gives more space for the sidebar, which is not needed for the normally small status messages we have. M src/nemo-navigation-window.c M src/nemo-spatial-window.c M src/nemo-window.c commit 7c1207aa1317e95762b9773f7a2ca72a96177942 Author: Alexander Larsson Date: 2009-12-11 If starting with split view, create extra slot durin construction M src/nemo-navigation-window.c commit 1a6db1b3ff79971f75ad309c22d60c14b2af2857 Author: Alexander Larsson Date: 2009-12-11 Don't show the window until all views in it are visible For the dual-pane at startup case we want to delay window change until all views are loaded. Also when switching to split view we want to delay showing until the view is loaded. M libnemo-private/nemo-window-info.c M libnemo-private/nemo-window-info.h M src/file-manager/fm-directory-view.c M src/nemo-navigation-window-pane.c M src/nemo-window-pane.c M src/nemo-window-pane.h M src/nemo-window-slot.h M src/nemo-window.c M src/nemo-window.h commit 84631cacd1909000ebd43b7267b7cacb8115d857 Author: Alexander Larsson Date: 2009-12-11 When loading a location in a slot also load in other non-loaded panes This makes sure that if a window is created with more than one pane we'll load something in each of them. M src/nemo-window-manage-views.c commit fbbf8701595d4b6ad3cef93cc83e861d35b34859 Author: Alexander Larsson Date: 2009-12-11 Fix up indentation M src/nemo-window.c commit fb87db4e78a494623921a1ad844b86448965a924 Author: Alexander Larsson Date: 2009-12-11 Update location for all active slots When the location changes for a slot we should update it if its the active slot in its pane (since each pane has a location bar), not only if its in the active pane. M src/nemo-window-manage-views.c commit 605cdcc062c77c3badcb03eb0c8f97385b4739a4 Author: Alexander Larsson Date: 2009-12-11 Remove nemo_window_get_pane_from_slot This is useless, just look at slot->pane M src/nemo-window-private.h M src/nemo-window.c commit 877da7dab374c4ae66ee57b7e5c10e672058b523 Author: Alexander Larsson Date: 2009-12-11 Only sync tab name in menu for the active pane M src/nemo-navigation-window.c commit 55f1438bf898c819504dae540a7540ec30508f1e Author: Alexander Larsson Date: 2009-12-11 Don't rewrite bookmarks file when file appearance changes We no longer write the icon to the bookmarks file so this is just unnecessary. Also this means we don't rewrite the bookmark file on each startup. M src/nemo-bookmark-list.c commit 3fab1d20298552000369480a694186fd7354f586 Author: Alexander Larsson Date: 2009-12-11 Fix up background setting for non-desktop windows M eel/eel-background.c commit c68a696dcb8884ded4571c375e368f3f3375d068 Author: Alexander Larsson Date: 2009-12-10 Only fade the desktop background, not normal windows All this flashing is just in the way, especially when the color changes as part of a pane going inactive. M eel/eel-background.c commit 6e5323188fc6af5d8920a01c3e34496df3320760 Author: Alexander Larsson Date: 2009-12-10 Remove border width on notebook This makes the view line up with the sidebar, etc. M src/nemo-navigation-window-pane.c commit 09efd40fbb2cd924bfee6650bea50e2ffb21a349 Author: Alexander Larsson Date: 2009-12-10 Remove border on statusbar https://bugzilla.gnome.org/show_bug.cgi?id=499361 M src/nemo-window.c commit 9bc68d825f3e928e736caf213b84371607a6bd41 Author: Baptiste Mille-Mathias Date: 2009-12-10 Put border around file views https://bugzilla.gnome.org/show_bug.cgi?id=499361 M src/file-manager/fm-directory-view.c commit c6ee7553fd029239eff50d32dbcb57223ffa185e Author: Alexander Larsson Date: 2009-12-10 Put tabs at the bottom There is way to much visual clutter at the top already, with the location bars and toolbars. M src/nemo-notebook.c commit 4b49aab5aa6a9ef9ab288ff2ce463affca1eacf2 Author: Alexander Larsson Date: 2009-12-10 Remove location button This takes a lot of space for something thats not commonly used. Especially with two of it visible in split view mode. Maybe we should make a preference for it, but its not interesting in the main UI. M src/nemo-navigation-window-pane.c M src/nemo-navigation-window-pane.h commit df7048157403efefb560c5d1075f04088af3048b Author: Holger Berndt Date: 2009-12-05 Improve search button handling in split view mode This commit fixes issues that were introduced in merge commit e92c336df90df012746d08d9af8121edc38b0f3c Now the escape key during temporary search toggles the search key off again, as does changing active pane during temporary searches. M src/nemo-navigation-window-pane.c M src/nemo-navigation-window.c M src/nemo-navigation-window.h commit 8bafe8109f2151ee1febfc4a00255b92053c2ef8 Author: Holger Berndt Date: 2009-06-25 Fix View -> Location Bar in dual pane mode. Although each pane has a separate location bar, the show/hide location bar setting is window-global instead of applying to individual panes: Either both panes have a location bar, or neither one does. Inconsistencies with remembered show/hide location bar gconf setting were also fixed. M src/nemo-navigation-window-menus.c M src/nemo-navigation-window.c commit ee3c49268205cd6fd99694706a4b2b7e3aca8086 Author: Alexander Larsson Date: 2009-12-10 Remember extra pane status access windows. The status of the extra pane display is remembered in a gconf key, analog to show/hide statusbar and other window display properties. As the extra-pane action implementation does a lot of widget and action re-ordering, this can only be done when a windows is set up completely, and is thus delayed in an idle-callback. If splitting the view is to be done on startup, the showing of the window is delayed to avoid ugly visible reordering. M libnemo-private/apps_nemo_preferences.schemas.in M libnemo-private/nemo-global-preferences.c M libnemo-private/nemo-global-preferences.h M src/nemo-actions.h M src/nemo-navigation-window-menus.c M src/nemo-navigation-window.c M src/nemo-navigation-window.h M src/nemo-window-slot.c M src/nemo-window.c commit 5d236a20aadd291196e6ead3a2220e9c0258b126 Author: Holger Berndt Date: 2009-06-13 Make it possible for Nemo Scripts to access the other pane. This is accomplished by placing additional variables into the environment of the script, analoguous to the single-pane ones: - NEMO_SCRIPT_NEXT_PANE_SELECTED_FILE_PATHS - NEMO_SCRIPT_NEXT_PANE_SELECTED_URIS - NEMO_SCRIPT_NEXT_PANE_CURRENT_URI If there is no second pane in the window, these are set to empty strings. M libnemo-private/nemo-window-info.c M libnemo-private/nemo-window-info.h M src/file-manager/fm-directory-view.c M src/nemo-window.c commit 09359fd13b52c5f5cebe55a9efae21c0290fe86f Author: Holger Berndt Date: 2009-06-13 Implement "Go to same location as other pane" menu item. M src/nemo-navigation-window-menus.c M src/nemo-navigation-window-ui.xml commit a0bd4bc51d556a44ada296b3d3ec22e6c19f04f4 Author: Holger Berndt Date: 2009-06-13 Implement "Switch to other pane" menu item. M src/nemo-navigation-window-menus.c M src/nemo-navigation-window-ui.xml M src/nemo-window-pane.c M src/nemo-window-pane.h M src/nemo-window-private.h commit 0a5d182ac274a0b11a39daa41285fbf1d39b1e70 Author: Holger Berndt Date: 2009-07-20 Also draw background of inactive pane in insensitive color when in list view M src/nemo-window-slot.c commit 2f843f0ed243a1c1f184c69e166c9da710fe1618 Author: Holger Berndt Date: 2009-06-13 Draw background of inactive panes in INSENSITIVE color. In order to make it easier to visually distinguish active and inactive panes, the background of inactive panes is drawn in the theme's INSENSITIVE color. Like the inactive location bar widgets, this is only a visual marker, and does not mean that that pane is insensitive. It's still clickable, and in fact a click makes the corresponding pane active. M eel/eel-background.c M eel/eel-background.h M src/nemo-window-pane.c M src/nemo-window-slot.c M src/nemo-window-slot.h commit 4cc909a668692551db92a67bcb36b7cdeb473579 Author: Holger Berndt Date: 2009-06-11 Implement "{copy,move} to other pane" menus. M libnemo-private/nemo-window-info.c M libnemo-private/nemo-window-info.h M src/file-manager/fm-actions.h M src/file-manager/fm-directory-view.c M src/file-manager/fm-directory-view.h M src/file-manager/nemo-directory-view-ui.xml M src/nemo-shell-ui.xml M src/nemo-window-private.h M src/nemo-window.c commit 7191f6fa4f3013481463c1181b51b705d5c48d9a Author: Holger Berndt Date: 2009-06-11 Fix tab menus in split view mode. Only the menu of the active pane is inserted. M src/nemo-navigation-window-menus.c M src/nemo-navigation-window-pane.c M src/nemo-navigation-window.c M src/nemo-window.c commit c3da9152ce3efadbeaf92340ca832af6dbfc6266 Author: Holger Berndt Date: 2009-06-11 Make location bar more reactive, part 2: navigation bar Followup to the last commit: The location bar of the inactive pane now has an insensitive apprearance, but is in fact clickable/focusable. A click makes the corresponding pane active via the focus-in event of the entry widget. M src/nemo-location-bar.c M src/nemo-location-bar.h M src/nemo-navigation-window-pane.c commit 689fd8e7ac943f1bed48dc0f6aad4b0e418e1005 Author: Holger Berndt Date: 2009-06-11 Make location bar more reactive: path bar, toggle button and zoom control The buttons in the directory button bar are made inactive when the corresponding pane is inactive. This means that the buttons have an insensitive appearance, but are in fact clickable. Clicking on them will make the corresponding pane active while changing into the respective directory. This required the pathbar to export the button widget, done with the new function nemo_path_bar_get_button_from_button_list_entry(). M src/nemo-navigation-window-pane.c M src/nemo-pathbar.c M src/nemo-pathbar.h M src/nemo-zoom-control.c M src/nemo-zoom-control.h commit 531ff030ef016b118f174252b1ac9aee0e385c63 Author: Holger Berndt Date: 2009-06-07 Don't use a function to get the active slot. M src/nemo-window-slot.c commit f3390c4f9a277ffd95bc5f3c6e475d9dad7d8935 Author: Holger Berndt Date: 2009-06-07 Pass the window instead of the view to action callbacks. With dual pane, actions may work on more than one view. Thus it makes sense to pass the window instead of the view to the callbacks. If the callbacks want the old behaviour, they first need to get the active view of the window, and work with that. M src/file-manager/fm-directory-view.c commit 3cb24525f5e3681592900a3db49f2862debf084d Author: Holger Berndt Date: 2009-06-07 Also active/deactive panes based on focus-in-event for list views M src/file-manager/fm-list-view.c commit 02529b86015195128ebcbe3702888445727d5679 Author: Holger Berndt Date: 2009-06-06 Propagate activation in slot-info interface M libnemo-private/nemo-window-slot-info.c M libnemo-private/nemo-window-slot-info.h M src/file-manager/fm-icon-view.c M src/nemo-window-slot.c commit 01e94440638904b0bc546b1ef1081a88e92d3e8e Author: Holger Berndt Date: 2009-05-27 Start implementation of "add extra pane" menu item callback Upon activating that menu item, create new pane and pack into the split view hpane. On deactivation, delete non-active pane. M src/file-manager/fm-list-view.c M src/file-manager/fm-list-view.h M src/nemo-navigation-window-pane.c M src/nemo-navigation-window.c commit 8babbe1095134861e4e57f482557587ee9b78576 Author: Holger Berndt Date: 2009-05-25 Add skeleton for split view. Add a new menu item "View -> Extra pane", and corresponding skeleton callback functions and UI containers. M src/nemo-navigation-window-menus.c M src/nemo-navigation-window-pane.h M src/nemo-navigation-window-ui.xml M src/nemo-navigation-window.c M src/nemo-navigation-window.h M src/nemo-window-private.h commit 6fc12915c7e3b8e92696630117afb5d5f5aaf60c Author: Alexander Larsson Date: 2009-12-10 Move location from toolbar to pane widget M src/nemo-navigation-window-menus.c M src/nemo-navigation-window-pane.c M src/nemo-navigation-window-pane.h M src/nemo-navigation-window-slot.c M src/nemo-navigation-window.c M src/nemo-window-manage-views.c M src/nemo-window-pane.c M src/nemo-window-pane.h M src/nemo-window.c commit e1fe45ddde92aece9aafdeb2febcfe76178e48b1 Author: Holger Berndt Date: 2009-05-24 Move notebook from window into pane This is another refactorisation commit. A notebook is also pane specific, not window specific. In particular, the following function logic has been moved: notebook_popup_menu_move_left_cb notebook_popup_menu_move_right_cb notebook_popup_menu_close_cb notebook_popup_menu_show notebook_tab_close_requested notebook_button_press_cb notebook_popup_menu_cb notebook_switch_page_cb nemo_navigation_window_pane_setup_notebook The following functions have been renamed: nemo_navigation_window_initialize_tabs_menu to nemo_navigation_window_pane_initialize_tabs_menu (also made public) nemo_window_get_slot_for_content_box to nemo_window_pane_get_slot_for_content_box M src/nemo-navigation-window-menus.c M src/nemo-navigation-window-pane.c M src/nemo-navigation-window-pane.h M src/nemo-navigation-window-slot.c M src/nemo-navigation-window.c M src/nemo-navigation-window.h M src/nemo-notebook.c M src/nemo-window-pane.c M src/nemo-window-pane.h M src/nemo-window-private.h M src/nemo-window.c commit f14e7d47456867899016889756f32120dda847fb Author: Alexander Larsson Date: 2009-12-09 Move location bar entries to pane Location bar entries are pane-specific, not window specific. Therefore, it is neccessary to move significant parts of the logic around, mainly from NemoWindow to NemoWindowPane, and NemoNavigationWindow to NautilisNavigationWindowPane. In particular, the following functions have been moved into the pane: bookmark_list_get_uri_index restore_focus_widget search_bar_activate_callback search_bar_cancel_callback navigation_bar_cancel_callback navigation_bar_location_changed_callback location_button_should_be_active location_button_toggled_cb path_bar_location_changed_callback path_bar_button_pressed_callback path_bar_button_released_callback path_bar_button_drag_begin_callback path_bar_path_set_callback nemo_navigation_window_show_location_bar_temporarily nemo_navigation_window_show_navigation_bar_temporarily nemo_navigation_window_path_bar_showing nemo_navigation_window_set_bar_mode nemo_navigation_window_search_bar_showing nemo_navigation_window_hide_location_bar nemo_navigation_window_show_location_bar nemo_navigation_window_location_bar_showing nemo_window_zoom_{in,out,to_level,to_default} The location bar setup parts of nemo_navigation_window_init() have been moved to nemo_navigation_window_pane_setup_location_bar. The following fuctions have been made public: hide_temporary_bars load_view_as_menu unset_focus_widget update_up_button Much logic of the following functions has been moved to the pane, but the functions themselves have been left in the window as triggers: nemo_navigation_window_hide_temporary_bars nemo_window_sync_location_widgets M src/nemo-application.c M src/nemo-location-bar.c M src/nemo-location-bar.h M src/nemo-navigation-window-menus.c M src/nemo-navigation-window-pane.c M src/nemo-navigation-window-pane.h M src/nemo-navigation-window-slot.c M src/nemo-navigation-window.c M src/nemo-navigation-window.h M src/nemo-window-manage-views.c M src/nemo-window-manage-views.h M src/nemo-window-pane.c M src/nemo-window-pane.h M src/nemo-window-private.h M src/nemo-window.c commit 014b488d184fafe59f29810d372eccebd3c66876 Author: Holger Berndt Date: 2009-05-18 Use the new NemoNavigationWindowPane class in NemoNavigationWindow's M src/nemo-navigation-window.c commit 651053fec975b95536b7e967c7e8b81732b1f740 Author: Holger Berndt Date: 2009-05-18 Add new class NemoNavigationWindowPane, derived from NemoWindowPane NemoWindowPane is the base class for window panes, while NemoNavigationWindowPane will add some functionality spefic to panes in a Nemo navigation window. M po/POTFILES.in M src/Makefile.am A src/nemo-navigation-window-pane.c A src/nemo-navigation-window-pane.h commit e1db3d61f6510a8f6cc063ba84b5fa26bebf6189 Author: Alexander Larsson Date: 2009-12-07 Associate basic slot functions to panes instead of windows. M src/nemo-application.c M src/nemo-navigation-window-menus.c M src/nemo-navigation-window.c M src/nemo-spatial-window.c M src/nemo-window-manage-views.c M src/nemo-window-manage-views.h M src/nemo-window-pane.h M src/nemo-window-private.h M src/nemo-window.c M src/nemo-window.h commit e7f2144e38c02f6aeba7b563e8bc1fb195616477 Author: Alexander Larsson Date: 2009-12-07 Move slots from NemoWindow to NemoWindowPane A window does not hold lists of slots anymore, but lists of panes, which in turn hold lists of slots, making a slot effectively a layer between a window and a slot. Much of the remaining part of the patch is simply replacing "window->details->active_slot" with "window->details->active_pane->active_slot" and similar changes. Commits to move corresponding parts of the logic out of the window into the pane are to follow. M src/nemo-application.c M src/nemo-location-bar.c M src/nemo-location-dialog.c M src/nemo-navigation-action.c M src/nemo-navigation-window-menus.c M src/nemo-navigation-window-slot.c M src/nemo-navigation-window.c M src/nemo-spatial-window.c M src/nemo-window-bookmarks.c M src/nemo-window-manage-views.c M src/nemo-window-pane.c M src/nemo-window-pane.h M src/nemo-window-private.h M src/nemo-window-slot.c M src/nemo-window-toolbars.c M src/nemo-window.c commit d3ee81d3021204786c3c51bf9f651fffbd10ff0b Author: Holger Berndt Date: 2009-01-31 Associate a slot to a pane instead of a window NemoWindowSlot->window is removed and NemoWindowSlot->pane is added. All references to window is then replaces with ->pane->window. M src/nemo-application.c M src/nemo-navigation-window-menus.c M src/nemo-navigation-window-slot.c M src/nemo-navigation-window.c M src/nemo-spatial-window.c M src/nemo-window-manage-views.c M src/nemo-window-slot.c M src/nemo-window-slot.h M src/nemo-window.c commit adc0b289f6f92751bd40a6005375eae2a79439c3 Author: Alexander Larsson Date: 2009-12-07 Add a NemoWindowPane to all windows M src/nemo-navigation-window.c M src/nemo-spatial-window.c M src/nemo-window-private.h M src/nemo-window.c commit daa113b66fbf4193cdb049c11bd3df9f98f4ba0a Author: Holger Berndt Date: 2009-01-30 Introduce concept of a NemoWindowPane A pane is another layer around a slot. For spatial windows, a pane will contain a single slot. For navigation windows, a pane will contain a list of slots, as well as a corresponding toolbar items. M src/Makefile.am A src/nemo-window-pane.c A src/nemo-window-pane.h M src/nemo-window-private.h M src/nemo-window.c commit 8e69e90733dcb1bd65d2fdcc2a026cb458c25ed2 Author: Alexander Larsson Date: 2009-12-09 Remove all traces of old view-as and zoom widgets M src/nemo-navigation-window.c M src/nemo-navigation-window.h M src/nemo-window.c M src/nemo-window.h commit 14def79a4e1cd7d78d0dd155fa5b643f440859e7 Author: Alexander Larsson Date: 2009-12-09 Add a view as toolbar item using the view-as action M src/nemo-navigation-window-menus.c M src/nemo-navigation-window-ui.xml commit c7aeb63442007fbdac9feff66cc4541972162738 Author: Alexander Larsson Date: 2009-12-09 Add NemoViewAsAction This is an action that makes it easy to create a view as toolbar item. M src/Makefile.am A src/nemo-view-as-action.c A src/nemo-view-as-action.h commit bff56af563ee232815c6bd0502869fac7eb97476 Author: Alexander Larsson Date: 2009-12-09 Add NemoWindow::view-as-changed M src/nemo-window.c commit 946f377fc531b47ba71f85b8d57a4f2f20c9c432 Author: Alexander Larsson Date: 2009-12-09 Use NemoZoomAction to put zoom item in toolbar M src/nemo-navigation-window-menus.c M src/nemo-navigation-window-ui.xml commit da25dfdc1e94aae68bb9ff35497e7c2481449389 Author: Alexander Larsson Date: 2009-12-09 Add NemoZoomAction This is an action that can be used to easily put zoom items in toolbars. M src/Makefile.am A src/nemo-zoom-action.c A src/nemo-zoom-action.h commit 70298f3dfc04c6c7cc995c94af7b67d97d60a66a Author: Alexander Larsson Date: 2009-12-09 Add NemoWindow::zoom-changed signal M src/nemo-window.c commit 27b7859f2aa6d61b0b4cf5ae48333dc089ddf56f Author: Alexander Larsson Date: 2009-12-09 Add VOID:INT,BOOLEAN,BOOLEAN,BOOLEAN,BOOLEAN marshaller Needed for zoom-changed signal M libnemo-private/nemo-marshal.list commit 3add7e368af3ea9f37e2f5f386543cf228b0b74f Author: Baptiste Mille-Mathias Date: 2009-12-10 Add border on sidebar (remove on header) https://bugzilla.gnome.org/show_bug.cgi?id=499361 M src/file-manager/fm-tree-view.c M src/nemo-emblem-sidebar.c M src/nemo-history-sidebar.c M src/nemo-places-sidebar.c M src/nemo-side-pane.c commit 49193a40792ba8df413a3b361940f977dc009aef Author: Alexander Larsson Date: 2009-12-10 Add shadow_type arg to eel_scrolled_wrap_table_new M eel/eel-wrap-table.c M eel/eel-wrap-table.h M src/file-manager/fm-properties-window.c M src/nemo-emblem-sidebar.c commit 60dd20355079003afe3ba342e6233834afeffd39 Author: William Jon McCann Date: 2009-12-03 Fixes to enable per-monitor backgrounds https://bugzilla.gnome.org/show_bug.cgi?id=147808 M eel/eel-background.c commit 90b8c56e64caa7fd2435cdb619c8ed83971b9519 Author: Aron Xu Date: 2009-12-09 Update Simplified Chinese translation, M po/zh_CN.po commit 2d61fcdf4987802441b7d9dab5364a28fb2dbd7c Author: Alexander Larsson Date: 2009-12-08 Don't leak NemoDirectory M libnemo-private/nemo-file.c commit ac9f08eb1f74b32c432b0a4904fb57e982202a4c Author: Alexander Larsson Date: 2009-12-08 Don't leak NemoDirectory M src/nemo-navigation-window.c commit 8c3e5abb396bb67274d9e3d769295ece33b52091 Author: Alexander Larsson Date: 2009-12-08 Use nemo_directory_unref to unref directories Its nice to have nemo_directory_ref/unref paired for help when debugging. M src/file-manager/fm-tree-model.c commit 18763611ef08a6915b4bfd03a3c0bc287ba142ca Author: Alexander Larsson Date: 2009-12-07 Forgot to add nemo-extension-private.h in last commit A libnemo-extension/nemo-extension-private.h commit 09877bd2c4da7282f3d341297af75eda197f3e33 Author: Kjartan Maraas Date: 2009-12-05 Updated Norwegian bokmÃ¥l translation. M po/nb.po commit 881f208b876c6e4386d54a0db3fca26aaa34ff71 Author: Alexander Larsson Date: 2009-12-04 Add lookup and creator functions for NemoFileInfo objects This has been requested by many extension developers. M libnemo-extension/nemo-file-info.c M libnemo-extension/nemo-file-info.h M libnemo-private/nemo-file.c commit 002bea81792cdfe6f4e45da95a59708040566171 Author: Alexander Larsson Date: 2009-12-04 Don't change background on the initial style_set call This results in queueing an unnecessary background change which causes the EelBackground to be unrealized wrongly. This fixes https://bugzilla.gnome.org/show_bug.cgi?id=578136 M eel/eel-background.c commit fd2e7311edd0d673adc21efdd7d4c6585723c730 Author: Alexander Larsson Date: 2009-12-04 Revert commit 7b86b78e2ff6a0f1b45ac8f8a9c30cf3d0c6ae96 This is not the right solution M eel/eel-background.c commit d876890dfdbcd7c6255f14f9b910255598fcf84b Author: Khaled Hosny Date: 2009-12-04 Fix typo M po/ar.po commit 7ad4b090a3d90f9333d2efdd52f2019a1cab1292 Author: Ivar Smolin Date: 2009-12-01 Updating Estonian translation M po/et.po commit e7c171acb8060436969139210060874f3a43d835 Author: Michael Terry Date: 2009-12-01 Disable Trash/Delete key bindings when appropriate This makes trash/delete key binding be enabled/disabled just like the menu items are. M src/file-manager/fm-actions.h M src/file-manager/fm-directory-view.c M src/file-manager/nemo-directory-view-ui.xml commit 523a87744cdf86123da2de4e42a650aa0e891259 Author: Daniel Nylander Date: 2009-11-30 Updated Swedish translation M po/sv.po commit 2fb27dad4661dfce14a1ac5c7bc23e68fec7ee5c Author: Yaron Shahrabani Date: 2009-11-30 Update Hebrew translation M po/he.po commit 529ebf07a31e3a460f0ebde97833235136e50cf4 Author: Ivar Smolin Date: 2009-11-29 Updating Estonian translation M po/et.po commit 519ec1ef646f5edeff75801e592ab8f9e7423f82 Author: Alexander Larsson Date: 2009-11-27 Don't free uninitilized errors test_dir_is_parent doesn't set error, so no need to free it. M libnemo-private/nemo-file-operations.c commit 58e8653a8b0eb885f73c65eebc5926539eef9687 Author: Gabor Kelemen Date: 2009-11-27 Updated Hungarian translation M po/hu.po commit c125ec694bb7f7159cb72a3eb15f5845fc2c10ef Author: Alexander Larsson Date: 2009-11-27 Go to default location (not root) when clicking on mount in sidebar M src/nemo-places-sidebar.c commit ce39f704ff3494893a1198697cc2ae7b12f0d7ee Author: Alexander Larsson Date: 2009-11-27 Use mount default location for desktop links M libnemo-private/nemo-desktop-link.c commit 817803aaeefd9ebf6ee1df4053f8f986943d91f5 Author: Alexander Larsson Date: 2009-11-27 Handle GMount default_location in pathbar as fake root M src/nemo-pathbar.c commit d9d860a8e2fa5d41ff941ce5dc8e80672c05d5b8 Author: Alexander Larsson Date: 2009-11-27 Clean up fake-root handling M src/nemo-pathbar.c commit 5b1159927b98b569fcb22f05986a140a7c42ba0a Author: Alexander Larsson Date: 2009-11-26 Ensure show-hidden-files UI is uptodate When we read the per-location show-hidden-files setting, also update the UI. Fixes bug #568089. M src/nemo-window-manage-views.c commit 09f24d05eae830fd0ec696267f85e02debdc95a7 Author: Jorge González Date: 2009-11-27 Updated Spanish translation M po/es.po commit 5e86595f45d8470732dee1bd820512f5229bf160 Author: Matej UrbanÄiÄ Date: 2009-11-26 Updated Slovenian translation M po/sl.po commit 04c84927339a18aac3c8ee2fa3b2f6edc88e969f Author: Nils-Christoph Fiedler Date: 2009-11-25 Updated LowGerman translation M po/nds.po commit 6f0c44a70f62395e6281604601075994fa921afc Author: Alexander Larsson Date: 2009-11-25 Add entry icon to search bar This way you can activate a search using the mouse. (Bug #598256) M src/nemo-search-bar.c commit eee73c5eb6d83955a7b7a1af9a86f8294eea218a Author: Nikos Verschore Date: 2009-11-25 Make search button a toggle button Make the search button on the toolbar toggle between search and normal mode. See: https://bugzilla.gnome.org/show_bug.cgi?id=332078 M src/nemo-navigation-window-menus.c M src/nemo-navigation-window-ui.xml M src/nemo-navigation-window.c M src/nemo-navigation-window.h M src/nemo-query-editor.c commit 6ff1e3881e070a0a235208cc10dfdc53e8faa0aa Author: Alexander Larsson Date: 2009-11-25 Avoid deprecated gtk_button_pressed/released We replace these with direct use of deprecated signals, which is not ideal either. However, it makes us not reference depcrecated symbols and makes it works. I don't know how else to solve this. M src/nemo-navigation-action.c M src/nemo-window-menus.c commit 6161343d9d3eaa4fa044613085c00415852f8b55 Author: Pierre Wieser Date: 2009-11-25 Allow absolute pathnames for plugin menu/toolbar item icons. M libnemo-private/nemo-ui-utilities.c M src/file-manager/fm-directory-view.c commit 36d83807cc0744e131e3532714849a7d1bbbf65d Author: Pierre Wieser Date: 2009-11-25 Add nemo_icon_info_lookup_from_path() M libnemo-private/nemo-icon-info.c M libnemo-private/nemo-icon-info.h commit 4ea889ee82a66fb929920589322eb0565984f31d Author: Tao Wei Date: 2009-11-24 Updated Simplified Chinese translation. M po/zh_CN.po commit 2c50a8dea92273286404ba1e87f892354fb9b777 Author: Jorge González Date: 2009-11-19 Updated Spanish translation M po/es.po commit 7a890c3f5adb8eb35e208958b293e03c691c7830 Author: Alexander Larsson Date: 2009-11-19 Ensure range checking works below zero We add an int to an unsigned and then check for underflow, but this check will never trigger for unsigned variables like an enum. We fix this by using a signed value for the addition result. M src/file-manager/fm-list-view.c commit 1f8f54f4777343dda87043e444a24c3f86e90439 Author: Alexander Larsson Date: 2009-11-19 Ensure ABS calls work on difference of unsigned values guint64 - guint64 is of type guint64, so ABS doesn't work on it. Cast to gint64 to make sure this works. M libnemo-private/nemo-file-operations.c commit 3c0cc87da5eccab0c022d5bfee6191af4a3f4ea9 Author: Matej UrbanÄiÄ Date: 2009-11-18 Updated Slovenian translation M po/sl.po commit a76fe6975c0e3a31aa8d8ab4ddf3b7afbafbe274 Author: James Dietrich Date: 2009-10-27 Complete XDS support https://bugzilla.gnome.org/show_bug.cgi?id=585790 M libnemo-private/nemo-dnd.h M libnemo-private/nemo-file-dnd.c M libnemo-private/nemo-file-operations.c M libnemo-private/nemo-file-operations.h M libnemo-private/nemo-icon-container.c M libnemo-private/nemo-icon-container.h M libnemo-private/nemo-icon-dnd.c M libnemo-private/nemo-marshal.list M libnemo-private/nemo-tree-view-drag-dest.c M libnemo-private/nemo-tree-view-drag-dest.h M src/file-manager/fm-directory-view.c M src/file-manager/fm-directory-view.h M src/file-manager/fm-icon-view.c M src/file-manager/fm-list-view.c commit f146e054849fef9300e9fc8786c11e2d9b7c91d7 Author: Marcus Carlson Date: 2009-10-12 Changed the "event-after" signal to "changed" to update the "Location" / "Go to" label Change the secondary icon in the location to a "Go" (play) icon when the label is "Go to" otherwise a clear icon https://bugzilla.gnome.org/show_bug.cgi?id=163245 M src/nemo-location-bar.c M src/nemo-location-entry.c M src/nemo-location-entry.h commit 3ee90909fa92feaf3df0964eed2b95c5d968ba98 Author: Tomas Bzatek Date: 2009-11-10 Unfreeze updates in directory list view after rename cancellation We successfully cancelled rename operation but the directory view was left in frozen state, containing pseudo items with NULL elements. Fixes bug 590591. M src/file-manager/fm-list-view.c commit e487552287e5970dbbb39199b55026f2788bb42b Author: Alexander Larsson Date: 2009-11-17 Correctly update the request counters The request counters weren't updated by nemo_directory_add_file_monitors and nemo_directory_remove_file_monitors. This can cause a number of weird problems, including those described in bug #598931. This checkin fixes this, and fixes bug #598931. M libnemo-private/nemo-directory-async.c commit f60a28846a32543849a4916d032efdf71e167548 Author: Alexander Larsson Date: 2009-11-17 Add debug code for tracking down errors in request counters nemo_directory_verify_request_counts can be uncommented and called in various places to catch when the request counters are not properly updated. M libnemo-private/nemo-directory-async.c commit 0f638d6505b3adbd2d73fa1bd5894d62d40a2844 Author: Kjartan Maraas Date: 2009-11-15 Updated Norwegian bokmÃ¥l translation. M po/nb.po commit f829c8fe28f221a153f9bedb5f7c86073f082550 Author: Aron Xu Date: 2009-11-14 Updated Simplified Chinese translation. M po/zh_CN.po commit 50836f6b37714516a7fb561475b3fe36666b1749 Author: Alexander Shopov Date: 2009-11-13 Updated Bulgarian translation M po/bg.po commit e5247083a16425171858e2a61ec54efee8191eac Author: Thomas Thurman Date: 2009-11-11 Further Shavian translation M po/en@shaw.po commit 97d98d9c7aeef53378bd07dfac78bf9ea770383e Author: Mario Blättermann Date: 2009-11-10 Added nds to LINGUAS M po/LINGUAS commit a0216f02be4793f8d0a19a3cdff5ae1619748472 Author: Nils-Christoph Fiedler Date: 2009-11-10 Added Low German translation A po/nds.po commit 13f4560aeeedd3f1626556d688e008aaf9b97f20 Author: Thomas Thurman Date: 2009-11-10 Shavian translation M po/LINGUAS A po/en@shaw.po commit 2bad8fcd7c67439826b7174bad4d2bfa5dee36c9 Author: Kjartan Maraas Date: 2009-11-09 Single gtk/gdk includes. M eel/eel-canvas.h commit c0d618993a79f655f474532ed8d1d0118d479a68 Author: Jovan Naumovski Date: 2009-11-06 Minor fix in Macedonian translation. M po/mk.po commit 0458c87d2f5561d03eb1bae593a867135c3c14a5 Author: Matej UrbanÄiÄ Date: 2009-11-06 Updated Slovenian translation M po/sl.po commit 6613262f4e6d40d153299d7fd4726210268a2a53 Author: Cosimo Cecchi Date: 2009-11-02 Don't get drag data in list mode if we don't support the target. This fixes bug #600183. M libnemo-private/nemo-tree-view-drag-dest.c commit 71e7b576751c1192fe0c05529619f4c0aba674c0 Author: Cosimo Cecchi Date: 2009-11-02 Emit the selection-changed signal when inverting. Do emit the selection-changed signal in NemoIconContainer when we invert the selection, so that the views can update the UI items accordingly (#600308). M libnemo-private/nemo-icon-container.c commit 51150a7fb834a7e6e64511e7f7cf7070328222c8 Author: Kostas Papadimas Date: 2009-11-01 Updated Greek translation M po/el.po commit a16d73fa256e7bcf15f36136dea2bec7b37aefaf Author: Gintautas Miliauskas Date: 2009-10-30 Updated Lithuanian translation. M po/lt.po commit d727babc5ebbc7d282d80fbace69a7401eb3795e Author: Gintautas Miliauskas Date: 2009-10-25 Updated Lithuanian translation. M po/lt.po commit bf8571a78f1f8c73ea449e56fa413abb3f40b91c Author: Cosimo Cecchi Date: 2009-10-25 Move functions outside of #ifdefs (#599290) This unbreaks the build if you compile without EXIF/EXEMPI. M src/nemo-image-properties-page.c commit ec8b2f666d175860b36a29870160a41446e0c160 Author: drtvasudevan Date: 2009-10-23 Updated Tamil translation M po/ta.po commit 04025fea82e720c6704da76c5e4d786775a7fb00 Author: Tomas Bzatek Date: 2009-10-20 Handle failed connection to tracker daemon 0.7 series Also, consolidate string memory management, to be consistent and clear on a first sight. Related to changes in bug 596082. M libnemo-private/nemo-search-engine-tracker.c commit 9be1fc059a2f7ce429592be5a6e2a56e7a36a8d7 Author: Jorge González Date: 2009-10-20 Updated Spanish translation M po/es.po commit fe2d7c35cc4f35c2dfd3e9345e354bd388fceca8 Author: ReÅŸat SABIQ Date: 2009-10-20 Another minor update for Crimean Tatar (Crimean Turkish) translation M po/crh.po commit ed199bbd9762a248d9b5036b7130d8965d13dfb9 Author: ReÅŸat SABIQ Date: 2009-10-19 Update for Crimean Tatar (Crimean Turkish) translation M po/crh.po commit 7f3453af4c59331e77dc09f07fdd9b24d533620a Author: Cosimo Cecchi Date: 2009-10-18 Use separate labels for attributes (#598545). This is useful so that we can easily select the text for each attribute. M src/nemo-image-properties-page.c commit 67d827e10e34186b4d3c1410817a5f7aac507b14 Author: Kjartan Maraas Date: 2009-10-17 Updated Norwegian nynorsk translation and fixed a typo. Closes bug #598607 reported by Torstein A. W. M po/nn.po commit f2ab25b7705e4f320e0fdb33a8ad8f302cb1cf0d Author: Sveinn í Felli Date: 2009-10-16 Updated Icelandic translation M po/is.po commit 006abaefbb5d30718678a212cd595a8a7d436d58 Author: Anna Jonna Ãrmannsdóttir Date: 2009-10-02 Updated Icelandic translation M po/is.po commit d1f92784496217f82c4f38b64f51b6820efc6fba Author: Nguyá»…n Thái Ngá»c Duy Date: 2009-10-13 po/vi.po: update translation of "Places" M po/vi.po commit 16226ab944780b9b5a65fe2a38e02f4bcf470254 Author: Jorge González Date: 2009-10-11 Updated Spanish translation M po/es.po commit 3b96ca69946453a4744a58f997289b86f7d41d5d Author: drtvasudevan Date: 2009-10-10 Updated Tamil translation M po/ta.po commit 23278532505862816bd5c8c0ab7d17f7a07b4790 Author: Cosimo Cecchi Date: 2009-10-09 Always check if the drag dest supports the source. In the "drag-motion" callback, make sure we check for target != GDK_NONE before getting non-existent data for it. M libnemo-private/nemo-dnd.c M src/nemo-places-sidebar.c commit 8ef1a18f81a588525fe2cf069ecc9f58a8b6b6ba Author: Ivar Smolin Date: 2009-10-10 Updating Estonian translation M po/et.po commit a2e04a10329f5391b968f82b6110112de0dc2fad Author: Stephen Cook Date: 2009-10-07 Remove very old unnecessary FIXMEs. Closes bug #41245. M libnemo-private/nemo-global-preferences.c M src/nemo-navigation-window.c M src/nemo-window.c commit af9f607c258270cd08e3b994017bc1ca134099fc Author: A. Walton Date: 2009-10-07 Bug 589375 - Crashes with empty location in edit bookmarks Check that the length of the text in the entry is non-NULL. M src/nemo-bookmarks-window.c commit 488a462382bd43a0ad04e274441537d508669c8a Author: Matthias Clasen Date: 2009-10-07 Remove an ugly hack to detect KDE desktop (#564208). M src/nemo-application.c commit f28404dd6af7e95c8038e9f73a31f19398b148c2 Author: Xu Li Date: 2009-07-17 correct the value of GtkRecentData.app_exec in nemo_recent_add_file() M libnemo-private/nemo-recent.c commit 1dd60a63b0048e093da2e2f710bca6a922e4029e Author: Frédéric Péters Date: 2009-08-22 Remove deprecated Encoding key from desktop files M data/nemo-autorun-software.desktop.in.in M data/nemo-browser.desktop.in.in M data/nemo-computer.desktop.in.in M data/nemo-file-management-properties.desktop.in.in M data/nemo-folder-handler.desktop.in.in M data/nemo-home.desktop.in.in M data/nemo.desktop.in.in M src/network-scheme.desktop.in commit cbec5342514b7f52bf654fff418f10bea3aac7ca Author: Nelson Benítez León Date: 2009-05-01 Avoid crash when holding space bar on focused navigation buttons Fixes bgo#580926 M src/nemo-navigation-window-menus.c M src/nemo-window-menus.c commit 370ebf572e4e8d401f65fa7b575899e82fc9dfa7 Author: Cosimo Cecchi Date: 2009-10-07 Use the right GConf key for the disable_tabs setting (#580220). M libnemo-private/nemo-global-preferences.h commit 3ef9873b86ec14ccd33680acb232fa0df0eb11ce Author: Cosimo Cecchi Date: 2009-10-07 Chain up to the parent handler if we click outside any row. By doing so, the tree view widget will gain focus anyway. Fix bug #589088. M src/file-manager/fm-list-view.c commit f29571245545750e26ae84b3b383ab7619ea10bc Author: Marcus Carlson Date: 2009-10-06 Show tooltips in places sidebar https://bugzilla.gnome.org/show_bug.cgi?id=595616 M src/nemo-places-sidebar.c commit 3966879080237672d41e2aab0499a5852ef00ea9 Author: Marcus Carlson Date: 2009-10-03 Make changing visible columns instant. Wasn't like always like this before because nemo-vfs-file.c saved metadata async. https://bugzilla.gnome.org/show_bug.cgi?id=597227 M src/file-manager/fm-list-view.c commit 143fd025cc20423cc9eb8b3a255b4a102a58efce Author: Marcus Carlson Date: 2009-10-03 Adds a "Copy Anyway" option when copying files and disk space is not enough https://bugzilla.gnome.org/show_bug.cgi?id=324361 M libnemo-private/nemo-file-operations.c commit c7bfedfbf8883ddeacfdd0818d7c1af9530c4f52 Author: Marcus Carlson Date: 2009-10-06 Select all on F2 in rename mode This is a another quick way to switch from not selecting extension to selecting everything (in addition to the existing shift-F2 combo). M libnemo-private/nemo-icon-container.c M src/file-manager/fm-list-view.c commit 56f33af7601fb8a1ce28a953ae7516eb7e46c7a5 Author: Jochen Skulj Date: 2009-10-05 Updated German translation M po/de.po commit 7bff0191b0c94c6570c5ffd3d34e8b1cf30da408 Author: Denis ARNAUD Date: 2009-10-05 Updated breton translation M po/br.po commit 58a073303977708516d3a1ff4528a7ef7ace7f26 Author: Marcus Carlson Date: 2009-09-29 Adds an option to select the application to open an unkown file type upon error opening the file. https://bugzilla.gnome.org/show_bug.cgi?id=92497 M libnemo-private/nemo-mime-actions.c commit d013bf32daa0db99693bc86b6930b56c3d59b42a Author: Kostas Papadimas Date: 2009-09-29 Updated Greek translation. M po/el.po commit 3dd2ddccb759b41762026de8c3f82b0257a73ff8 Author: Jennie Petoumenou Date: 2009-09-29 Updated Greek translation M po/el.po commit 8fe1a569690abd8a472041886b883b55852d445f Author: Marcus Carlson Date: 2009-09-29 Add multiselect capability to list view Use Ctrl+shift to do multiple range selects (#410497) M src/file-manager/fm-list-view.c commit 0b8af64dc9ca5994215362f163e2c09a2d79e9bd Author: Jorge González Date: 2009-09-28 Updated Spanish translation M po/es.po commit 6abf7ba3b026306493ee40f8164e7f632f5c5265 Author: Marcus Carlson Date: 2009-09-28 Add checkbox for not associating a filetype on open with https://bugzilla.gnome.org/show_bug.cgi?id=92497 M libnemo-private/nemo-open-with-dialog.c commit b6112210f2b4c26951c4104a5d46d5b54ec58e2b Author: Alexander Larsson Date: 2009-09-28 Bump version to 2.29.1 on master M configure.in commit 80e87af1b4956e0c1dcb252564a71cf51286ab3f Author: A Date: 2009-09-28 Fix Bug 593523 - Typo in nemo volume mgmt. M src/file-manager/fm-directory-view.c commit 08e6114dbdf4553b4bcc12a38b0955da153c8efe Author: Jürg Billeter Date: 2009-09-23 Update tracker support for version 0.7 Fixes bug 596082. M configure.in M libnemo-private/nemo-search-engine-tracker.c commit a2a7f3a2a7909824c7a2643d9251c0e74f17b548 Author: Timo Jyrinki Date: 2009-09-25 Update Finnish translation (transition from â€taltio†to â€asemaâ€) M po/fi.po commit 541c225fea1d616d01862d0f6b0ff9086317540a Author: Tomas Bzatek Date: 2009-09-24 Don't rely on activation_uri when detecting mounts We test for the activation_uri (i.e. G_FILE_ATTRIBUTE_STANDARD_TARGET_URI) which is usually not exposed from computer:// items until the item is mounted (and that's up to particular gvfs volume monitor). Simply don't test for activation_uri, file type of G_FILE_TYPE_MOUNTABLE should be enough. This fixes https://bugzilla.redhat.com/show_bug.cgi?id=518570 M libnemo-private/nemo-directory-async.c commit e15707648d6d92abe455107718a1e0a440c7fe1f Author: Christian Neumair Date: 2009-09-24 Correctly position icons for text, netscape URI and URI list drops When dropping text, a netscape URI or a URI list to the desktop, remember the position where the drop happened and position the created icon accordingly. Fixes #350022. M src/file-manager/fm-directory-view.c commit 069494e971bba9bfad5cd6997ecf9138677a9bc0 Author: Takayuki KUSANO Date: 2009-09-23 Fix Japanese translation M po/ja.po commit 6fec4348ef56f1df6f7609f9632a5bf4c6512e4d Author: Takayuki KUSANO Date: 2009-09-23 Updated Japanese translation M po/ja.po commit 1055993807fe882a3588f59fe0d93b0b0bb063d8 Author: Alexander Larsson Date: 2009-09-21 Post release version bump M configure.in commit c3b8ec1d6927ccc743e57c315cc2a3ba007ec769 Author: Alexander Larsson Date: 2009-09-21 Update for 2.28.0 release M NEWS M configure.in commit 9fc52ea33822f02e2b5ab876f7ae3ddbcea67523 Author: Shankar Prasad Date: 2009-09-21 Updated Kannada(kn) translation M po/kn.po commit 0cdc94d5345c17e2e929dbd18290ad3e933eb3e5 Author: Petr Kovar Date: 2009-09-20 Updated Czech translation by Lucas Lommer Thanks goes to Tomas Bzatek. M po/cs.po commit cd62ad01e18c0b3b0932af4a9262da1906f2f63a Author: Amitakhya Phukan Date: 2009-09-20 Updating Assamese translations M po/as.po commit 40df45a49785a31c2bdbafef3c8a99766333c5a1 Author: A S Alam Date: 2009-09-19 Updating Translation for Punjabi by A S Alam M po/pa.po commit 8823a3815e0dfcdf92059140d72556ab3acd3b8e Author: Theppitak Karoonboonyanan Date: 2009-09-19 Updated Thai translation. M po/th.po commit 0f075e8e97ad070796584d086678c0e1ad539188 Author: Takayuki KUSANO Date: 2009-09-19 Updated Japanese translation M po/ja.po commit 752e68860bd37941c5fdef3ae29113d12f8dc195 Author: Manoj Kumar Giri Date: 2009-09-18 Upadated Oriya Translation M po/or.po commit 7242f95d083cebfff768d693d2ebf4282154d508 Author: Matej UrbanÄiÄ Date: 2009-09-18 Updated Slovenian translation M po/sl.po commit a728376835fdd39fa505acb84584f7d2600801f2 Author: Luca Ferretti Date: 2009-09-18 Updated Italian translation M po/it.po commit a8097e57788ad735227489e6c51d06bedc796889 Author: Alexander Larsson Date: 2009-09-18 Don't load files for thumbnailing that we can't thumbnail anyway When zooming out we read the real image and use that as the thumbnail. However, we should only do this for files gdk-pixbuf can read as other things can't be read anyway and may potentially be very large (such as videos) since the thumbnail size limit only applies for images. M libnemo-private/nemo-file.c M libnemo-private/nemo-thumbnails.c M libnemo-private/nemo-thumbnails.h commit 4a88ecde61a52ac058999d95388ade9f668482d4 Author: Maxim V. Dziumanenko Date: 2009-09-17 Added Ukrainian translation M po/uk.po commit 51a2a0abd0bd3f6f36737b5afef3ff49a7fa602c Author: Denis ARNAUD Date: 2009-09-17 Updated breton translation M po/br.po commit 5d641153c201f4cbc4d62ac10eb2437a8be5fb78 Author: Mohammad Anwari Date: 2009-09-16 Updated Indonesian translation by Andika Triwidada M po/id.po commit adc53a499c5c143612d7e9b22340efc38240da1d Author: Ilkka Tuohela Date: 2009-09-15 Updated Finnish translation M po/fi.po commit b5af4e6c9c6af492210514af922aa0ed4029dce6 Author: Ilkka Tuohela Date: 2009-09-15 Updated Finnish translation M po/fi.po commit 8da7fdac2375f5b5d0354926b6c130ced602aaaa Author: Rajesh Ranjan Date: 2009-09-15 hindi update by Rajesh Ranjan M po/hi.po commit ba75188ad883fc3be36ebad0740512b03a6e373c Author: Sweta Kothari Date: 2009-09-15 Updated Gujarati Translations M po/gu.po commit 43275654dc3b762841339f2771137d8013f0fe43 Author: Astur Date: 2009-09-14 Updated Asturian translation M po/ast.po commit bd87d7555759021a012691d59d8707c4118a17c7 Author: Gil Forcada Date: 2009-09-14 Minor fix to Catalan translation M po/ca.po commit 96781b9d29259e175f73b87a30eaadf1e12c7490 Author: Carles Ferrando Date: 2009-09-14 Updated Catalan (Valencian) translation M po/ca@valencia.po commit d6b8cb28c7208e0776bb483cde464472249c73ba Author: Alexander Larsson Date: 2009-09-14 Avoid refing NULL icons M src/file-manager/fm-directory-view.c commit eb05225a794de9c7b9326d1e1c56f54902bb6bb5 Author: Kjartan Maraas Date: 2009-09-14 Update Norwegian bokmÃ¥l translation. M po/nb.po commit 58a9e227e519369bca5c7c9897e386110bdda242 Author: Ani Date: 2009-09-14 Updaeted Malayalam Translations M po/ml.po commit 4fb28a5541e564adff7f3a03582c2cb7ed4e294f Author: Lucian Adrian Grijincu Date: 2009-09-14 Updated Romanian translation M po/ro.po commit 979be859028ba20384eee4f907fc647a060cb9fc Author: Ilkka Tuohela Date: 2009-09-13 Updated Finnish translation M po/fi.po commit 78244d5d698786a98d00ef1513e8294825b8813c Author: Bruce Cowan Date: 2009-09-12 Updated British English translation M po/en_GB.po commit e8610aaf1e276993a9942697decc4dc81a5c0168 Author: Ask H. Larsen Date: 2009-09-12 Updated Danish translation M po/da.po commit da24fa0b829c31c4417fed03374b4ad4f63392e8 Author: Reinout van Schouwen Date: 2009-09-12 * 2009-09-12 Reinout van Schouwen - po/nl.po: Updated Dutch translation M po/nl.po commit 48744242700d5dc9de21ef6c33df8eedb757b715 Author: MiloÅ¡ Popović Date: 2009-09-11 Fixes in Serbian translation M po/sr.po M po/sr@latin.po commit 02ea89fd4f92faade026de9463aca4171f4c04d1 Author: Gabor Kelemen Date: 2009-09-11 Updated Hungarian translation M po/hu.po commit 8c636df9374993990ba8a23bbcb986e572508510 Author: Žygimantas BeruÄka Date: 2009-09-10 Updated Lithuanian translation M po/lt.po commit 46aefc46372624957509f971a325e06fe8249c21 Author: Alexander Larsson Date: 2009-09-10 Make the desktop window native so the backing pixmap is drawn by X Without this X draws the toplevel window background and then the real background is drawn from exposes, which doesn't look nice. Fixes bug #593658 M libnemo-private/nemo-icon-container.c commit 594f76e9231eeadfc7972560cf162e921d66aac6 Author: Denis ARNAUD Date: 2009-09-09 Updated breton translation M po/br.po commit d67e3e2377229e19128a2405b70580448fc5e487 Author: Sweta Kothari Date: 2009-09-09 Updated Gujarati Translations M po/gu.po commit b6e45ba165064f508aedad4212759700f0b99f7d Author: A S Alam Date: 2009-09-09 Updaitng for Punjabi M po/pa.po commit 714e8534c90addab5b795cc39c98142ddea17242 Author: Piotr DrÄ…g Date: 2009-09-09 Updated Polish translation M po/pl.po commit e6e10b6facdd8a7058fa5c283462c9f4777a1079 Author: Sandeep Shedmake Date: 2009-09-08 Updated Marathi Translations M po/mr.po commit 21e5e7d3898764a8d493dede40606a9b9e6aa7aa Author: Alexander Larsson Date: 2009-09-08 Free get_types_table internal hashtable on exit M libnemo-private/nemo-thumbnails.c commit 5b075cfa665d07ee6c57e68f6f67aaca76a3b308 Author: Alexander Larsson Date: 2009-09-08 Fix minor leak M src/nemo-application.c commit d442315c303db2def885a00d0abed257156185ce Author: Alexander Larsson Date: 2009-09-08 Free return value from nemo_file_get_metadata_list M src/file-manager/fm-list-view.c commit 75298a3ded74e42b047f95f0746ea3dca8e0a6b7 Author: Alexander Larsson Date: 2009-09-08 Print leaked unique eel_ref_str:s at exit M eel/eel-string.c commit b698cf1932da077f07d99966a4c61568a1ae081e Author: Alexander Larsson Date: 2009-09-08 Fix threadsafety issue in eel_ref_str_unref Its not safe to just decrement count if we didn't read a 1, as we could race with another decrement. M eel/eel-string.c commit 26714114eefe841c4b3eaa5a3a93b50ec69f76a8 Author: Alexander Larsson Date: 2009-09-08 Don't leak list of gconf entries M libnemo-private/nemo-desktop-directory-file.c commit 2434bd43cd43eb8ba97b1a956e4b3cd734cf2a91 Author: Alexander Larsson Date: 2009-09-07 Fix usage of sink, fixing many recently introduced leaks. The conversion away from gtk_object_sink was done wrongly causing lots of leaks. fix this. M eel/eel-background.c M eel/eel-gtk-extensions.c M libnemo-private/nemo-dnd.c M src/file-manager/fm-list-view.c M src/file-manager/fm-tree-view.c M src/nemo-emblem-sidebar.c M src/nemo-history-sidebar.c M src/nemo-information-panel.c M src/nemo-notes-viewer.c M src/nemo-places-sidebar.c M src/nemo-spatial-window.c commit b4cd0d66db105822bfa5531a146428b548aff369 Author: Alexander Larsson Date: 2009-09-07 Update to latest foocanvas This has some cleanups and fixes a memory leak that was introduced in the eel copy by removing gtk_object_sink. M eel/eel-canvas-rect-ellipse.c M eel/eel-canvas-rect-ellipse.h M eel/eel-canvas-util.c M eel/eel-canvas.c M eel/eel-canvas.h commit b17f8f7995aa1ba2b62d8272436d761bc1600bb1 Author: Alexander Larsson Date: 2009-09-07 Don't leak file metadata M libnemo-private/nemo-file.c commit 7c2c5f904d183d510e9fb4f4ac07fe7660274692 Author: Alexander Larsson Date: 2009-09-07 Free "remaining" returned from GOption M src/nemo-main.c commit 26a91c8e225f01363976485c782840135d50e6d8 Author: Alexander Larsson Date: 2009-09-07 Centralize extra view ref and sink if required Doing this in only one place makes sense as its clearer. Previously we ref:ed one extra time for the window->view ref but left the floating ref to be taked when adding the widget to a parent. This breaks when we free the view before adding it to a parent, so we need to properly sink it. M libnemo-private/nemo-view-factory.c M src/file-manager/fm-desktop-icon-view.c M src/file-manager/fm-empty-view.c M src/file-manager/fm-icon-view.c M src/file-manager/fm-list-view.c commit c302620c144c7968c7ae35b45ab55a3124fd2923 Author: Alexander Larsson Date: 2009-09-07 post release version bump M configure.in commit d0a6955e983ba112a65140ce3b55a7dd953fd8e8 Author: Alexander Larsson Date: 2009-09-07 Update NEWS M NEWS commit bd108f3700594e5c859d89287a59733a5585e4d9 Author: Padraig O'Briain Date: 2009-09-07 Don't crash on NULL gconf value This fixes bug #589520 M libnemo-private/nemo-desktop-directory-file.c commit 02a7a84229063f329731d3db61184207a91bf12e Author: Chao-Hsiung Liao Date: 2009-09-06 Updated Traditional Chinese translation(Hong Kong and Taiwan) M po/zh_HK.po M po/zh_TW.po commit 3af7944871692b9e0c0754ed5351ac24d2a6f9ff Author: Khaled Hosny Date: 2009-09-05 Updated Arabic translation M po/ar.po commit 41a15a48a2d452078ae7845374ad9577b30e8155 Author: Ivar Smolin Date: 2009-09-05 Updating Estonian translation M po/et.po commit 7553bdccaddb56be2b156dfcd1e409ea30b870a7 Author: Mario Blättermann Date: 2009-09-04 Updated German translation M po/de.po commit 13ecc3e0eef4d9267f9919cd79180c0ed4ce4bbf Author: Duarte Loreto Date: 2009-09-04 Updated Portuguese translation M po/pt.po commit 2a562f03810a31a0cd2be36faff5059dab2b8fe2 Author: MiloÅ¡ Popović Date: 2009-09-01 Updated Serbian translation M po/sr.po M po/sr@latin.po commit 3901a97853dad9bf2d586e401a2542aa86703e65 Author: Kjartan Maraas Date: 2009-09-01 Update Norwegian bokmÃ¥l translation. M po/nb.po commit 40164f40de5bcfec618da3f200eff5d2371f4bde Author: Shankar Prasad Date: 2009-09-01 Updated Kannada(kn) translation M po/kn.po commit e9b017891f7ab2586b92f4111637b2d02b0f4a51 Author: krishnababu k Date: 2009-08-31 Updated Telugu Translations M po/te.po commit 2cf936c4105f88a953f91c8bdf37d65553681684 Author: Joan Duran Date: 2009-08-30 Updated Catalan translation M po/ca.po commit 4d9e7a5bf3d180ae47b789b90ee56fc2cbde24c3 Author: Baris Cicek Date: 2009-08-30 Updated Turkish translation. M po/tr.po commit cf32d3a9429a08fa5fd9557c57e896d85064e9da Author: Inaki Larranaga Murgoitio Date: 2009-08-29 Updated Basque language M po/eu.po commit bd4180156f506861b335a71a4d6e54886a237527 Author: Bruno Brouard Date: 2009-08-28 Updated French translation M po/fr.po commit 04e3be13647469de3fe97c15b2fab28eb1cdd81c Author: Inaki Larranaga Murgoitio Date: 2009-08-27 Updated Basque language M po/eu.po commit 542f56ecb2af09c78dd7507d6e9f10b96d4d2e34 Author: Runa Bhattacharjee Date: 2009-08-27 Updated Bengali India Translations M po/bn_IN.po commit e6ef2d96f6adc507425123716961aa48281af83d Author: A Date: 2009-08-27 Fix test in uninhibit code M libnemo-private/nemo-file-utilities.c commit bf6bfde36bcadf43a39fb095650b7fc78741d62a Author: Matthias Clasen Date: 2009-08-26 Fix a duplicate id in a .ui file This caused nemo-file-management-properties to crash. M src/nemo-file-management-properties.ui commit 064086ef68a0692ac9050b7a0d3ded4a836c8180 Author: Marcus Carlson Date: 2009-08-26 Always show app icon for open-with in the popup menu as in the normal menu Fixes bug #591663. M src/file-manager/fm-directory-view.c commit 3bd3f5f4d7a8ef10c6133c5957025df1560e9185 Author: ifelix Date: 2009-08-26 Updated Tamil Translations M po/ta.po commit b151573894ee19b4c13f3d35ac5cac7660caee63 Author: Henrique P Machado Date: 2009-08-24 Updated Brazilian Portuguese translation. M po/pt_BR.po commit 324e267fc916d5f16e505c2f57a69c271c1388ee Author: Alexander Larsson Date: 2009-08-24 Post release version bump M configure.in commit c685eae6206409ca4bbcec4c74367e5295f40461 Author: Alexander Larsson Date: 2009-08-24 Update NEWS M NEWS commit c1755706945092334af274f3a88049976baa4763 Author: Alexander Larsson Date: 2009-08-24 Bump version to 2.27.91 M configure.in commit d8337a4b7969b43bf5712cd5e85dc5f936ed5044 Author: Ryan Lortie Date: 2009-08-22 Cancel audio preview when deleting the file Fixes #137500. M src/file-manager/fm-icon-view.c commit b9cd9a5810e044c9351d2408186fb135f4452635 Author: Jamil Ahmed Date: 2009-08-24 Updated Bengali translation M po/bn.po commit 8ddb1d53eaa01f4c076c4d96e8da1a9a812e303b Author: Changwoo Ryu Date: 2009-08-23 Update Korean translation M po/ko.po commit da36928ac4d0989d2b6c3d54f7dc522fca7491ab Author: Seán de Búrca Date: 2009-08-22 Updated Irish translation M po/ga.po commit 97915f97bcbd047de2a5fd4b6bf25b01436085d3 Author: Alexander Shopov Date: 2009-08-22 Updated Bulgarian translation M po/bg.po commit 4a7af52ab6f964b9174b59e3f71252447158ffa4 Author: Antón Méixome Date: 2009-08-19 Updated Galician Translation M po/gl.po commit 72f65592a84cb8e9ad2ccaa6bbfd7fe4fbe7371b Author: Alexander Larsson Date: 2009-08-18 Migrate old nemo metadata to gvfs on startup If ~/.nemo/metadata/migrated-to-gvfs doesn't exist, migrate and create it. M src/Makefile.am M src/nemo-application.c commit 1d14824dc8ab6f1f8573b07c11ce437ae22dc77b Author: Alexander Larsson Date: 2009-08-17 Add nemo-convert-metadata tool This can be used to convert old-style nemo metafiles to gvfs metadata. M src/Makefile.am A src/nemo-convert-metadata.c commit a557cf30fe1f3761901a7248106840add2c1d105 Author: Alexander Larsson Date: 2009-08-18 Move NEMO_DESKTOP_METADATA_GCONF_PATH to nemo-metadata.h Need this in the metadata conversion code M libnemo-private/nemo-desktop-directory-file.c M libnemo-private/nemo-metadata.h commit 7c316ae074658c8927e48ea00f4305767ea9f7dd Author: A. Walton Date: 2009-08-13 Bug 587316 – Truncate file names when deleting Files with extremely long file names could cause the dialog box to become wider than the screen. Based on a patch contributed by Marcus Carlson. M libnemo-private/nemo-file-operations.c commit ce36628b3d615204eebd60a9df67b88857321965 Author: Yaron Shahrabani Date: 2009-08-14 Updated Hebrew translation M po/he.po commit e0446d33be8ce22d1925c60db6a9b26c232020a8 Author: Jochen Skulj Date: 2009-08-13 Updated German translation M po/de.po commit 39b18f636baddcc3de5866ef3dbb6d66dc344a37 Author: Rajesh Ranjan Date: 2009-08-13 Updated Hindi Translations M po/hi.po commit bbdb3b31455d462c18afa3764293f06fb81df54b Author: Daniel Nylander Date: 2009-08-13 Updated Swedish translation M po/sv.po commit 477fdafe22aa0e3cb78ab73c7ec4e205468c0a75 Author: Matthias Clasen Date: 2009-08-12 Fix a typo M libnemo-private/apps_nemo_preferences.schemas.in commit e8f0c90ab9444511311f300f6b0596df01c38f1e Author: Seán de Búrca Date: 2009-08-11 Updated Irish translation M po/ga.po commit 13b85463fb7b9af0faac01b30e8459545e87b6f0 Author: Mattias Põldaru Date: 2009-08-11 Updating Estonian translation M po/et.po commit fdb2ccedb2bfd3b2d6dfd5759913875b8d93834a Author: A. Walton Date: 2009-08-10 Fix unintiallized GError in power management M libnemo-private/nemo-file-utilities.c commit f77c52ec952f25170338e6e896af035b4ef55cfe Author: Jorge González Date: 2009-08-10 Updated Spanish translation M po/es.po commit 37e7ceca45aea48129cf55ea2583f23330d26b91 Author: A. Walton Date: 2009-08-10 Bug 334806 – Inhibit power-manager when copying files Introduces code to inhibit GNOME power manager whenever a file operation which may not complete quickly is running. M libnemo-private/nemo-file-operations.c M libnemo-private/nemo-file-utilities.c M libnemo-private/nemo-file-utilities.h commit 4dd0fdef1d77cb6b9be83348ff5c00293e14a991 Author: Ivar Smolin Date: 2009-08-10 Updating Estonian translation M po/et.po commit fa1d8989b1b3e4d18c3f4c097d57c76ff86a7387 Author: Luca Ferretti Date: 2009-08-09 Remove unused variable to fix the build M src/nemo-navigation-window-menus.c commit 3c5be2ea6403ad071da5e350332e2890d9d53994 Author: Khaled Hosny Date: 2009-08-08 Updated Arabic translation M po/ar.po commit eb585679b6e4fad7d252a7458177c4e0a8468298 Author: Matthias Clasen Date: 2009-08-08 Always show icons in places menu in spatial mode. Part of bug #590647. M src/nemo-spatial-window.c commit 826d5237d2ea179006b62def4db376544e74d764 Author: Marcus Carlson Date: 2009-08-08 Always show icons in the history and go menu. Part of bug #590647. M src/nemo-navigation-window-menus.c M src/nemo-window-menus.c commit 9cba51e5cb8827997eb4203c6eed4614efa34aaa Author: Marcus Carlson Date: 2009-08-08 Always show application icons in popup menus. Part of bug #590647. M src/file-manager/fm-directory-view.c commit 1604ee0ceb8026aff744981b893d8fc8da25ec6c Author: Seán de Búrca Date: 2009-08-06 Updated Irish translation M po/ga.po commit 339017547f1aa41d90cf31a6b985588f3ff64e4a Author: Antón Méixome Date: 2009-08-06 Updated Galician Translation M po/gl.po commit 47af29868f527a93acb1822b6bdb2537253a387e Author: Kjartan Maraas Date: 2009-08-06 Updated Norwegian bokmÃ¥l translation. M po/nb.po commit a0b11f325a221c7ca46811ada00bad1035e4857a Author: Khaled Hosny Date: 2009-08-06 Misc. fixes to Arabic translation M po/ar.po commit 85bb10a2b4f7230e7a0aa5b9945d155c1a21b2b4 Author: Khaled Hosny Date: 2009-08-05 Updated Arabic translation M po/ar.po commit f8f6a95bc05353b4a68c07fc710742b9bcdc7d0d Author: A. Walton Date: 2009-08-03 Fix crash in connect server dialog Under custom locations, entering no URI will crash. M src/nemo-connect-server-dialog.c commit cfa61d576da08590bec118ce1ed03e7189a974b2 Author: A. Walton Date: 2009-08-03 Reorder assignments in mime application chooser Writing over toggle_renderer with the wrong cell renderer. M libnemo-private/nemo-mime-application-chooser.c commit a8ca44f54aea29ccb2eb0163f8ffe670fd6761b1 Author: A. Walton Date: 2009-08-03 Reverse back/forward mouse button sense. Be consistent with Firefox, etc. M libnemo-private/apps_nemo_preferences.schemas.in M libnemo-private/nemo-global-preferences.c M src/nemo-navigation-window.c commit aa5dbe04bc2d92e2603b34d44f486fd2bae95169 Author: Seán de Búrca Date: 2009-07-31 Updated Irish translation M po/ga.po commit 6d648632b8978590befcd867bd2c9920b6aa49ff Author: Alan Monfort Date: 2009-07-31 Updated breton translation M po/br.po commit 838d31d11e3fed0d98642397c9d986ddd5bea390 Author: Denis Arnaud Date: 2009-07-30 Updated breton translation M po/br.po commit e7d2f70203673d9a294460df164aec295db17234 Author: Denis Arnaud Date: 2009-07-30 Updated breton translation M po/br.po commit 97d348f792a2659fbb88de17d25e83c93b14414c Author: Vincent Untz Date: 2009-07-28 Respect /desktop/gnome/lockdown/disable_command_line We need to show/hide the "New Launcher" menu item in the context menu, depending on this gconf key. M libnemo-private/nemo-global-preferences.c M libnemo-private/nemo-global-preferences.h M src/file-manager/fm-actions.h M src/file-manager/fm-desktop-icon-view.c M src/file-manager/fm-directory-view.c commit 359fa218a1a890bb87fb331acc30d62b57bc7c61 Author: Ivar Smolin Date: 2009-07-27 Updating Estonian translation M po/et.po commit aac26f4c0fce20e7cac87ca51c0629458e804ee8 Author: Mattias Põldaru Date: 2009-07-22 Updating Estonian translation M po/et.po commit 44c05bbc866fb4430a16b169aa3854bab1af6555 Author: drtvasudevan Date: 2009-07-21 Updated Tamil translation M po/ta.po commit c0c9bbc96228a8864eda9d0b7f4c82c7d1c0dba4 Author: Ivar Smolin Date: 2009-07-20 Updating Estonian translation M po/et.po commit 2a94803b44010e3c47a9f7b94894fab8d6062abc Author: Jaap A. Haitsma Date: 2009-07-18 Fix handling of small images/icons Small images with an alpha plane don't get a frame Use different scaling strategy for small images. Small images/icons won't get up scaled in default zoom view. They are shown in their actual Fixes bug #585186 M libnemo-private/nemo-file.c commit a8f82a8a00f672a3111d97070c3a6f34e2b46c90 Author: Chao-Hsiung Liao Date: 2009-07-18 Updated Traditional Chinese translation(Hong Kong and Taiwan) M po/zh_HK.po M po/zh_TW.po commit bd6db659cb232d8b8f81a9ada748025aa1d16fff Author: Alexander Larsson Date: 2009-07-14 Clean up metadata key names now that they are public Prefix all internal keys with "nemo-". Use dash, not underscore as delimitor (this is what gio file attrs use) Rename "keyword" to "emblems" Rename "default_component" to "nemo-default-view" M libnemo-private/nemo-file.c M libnemo-private/nemo-metadata.c M libnemo-private/nemo-metadata.h M src/nemo-window-manage-views.c commit c2951134aac83f4e8194e7cb71a92b5f9d273100 Author: Sweta Kothari Date: 2009-07-14 Updated Gujarati Translations M po/gu.po commit 53bcaac5fd2cf03f686f19dbdc9d889480cd8709 Author: Cosimo Cecchi Date: 2009-07-14 Post-release version bump M configure.in commit 608b7f5c2ab1c6e9c0d011e3fef3b506afa5f8ba Author: Cosimo Cecchi Date: 2009-07-14 Update for 2.27.4 M NEWS M configure.in commit e4b5573bec0215006201b9a0dda60888a32debe6 Author: Cosimo Cecchi Date: 2009-07-14 Comment out the metadata tests for now M libnemo-private/nemo-directory.c commit 91cec6f5e6bbc672d2cebef162ea797eb5e9d55d Author: Sweta Kothari Date: 2009-07-13 Updated Gujarati Translations M po/gu.po commit 9ca82f0443f49bb80beb050f1d1bb3ef2a338698 Author: Maxim V. Dziumanenko Date: 2009-07-09 Updated Ukrainian translation M po/uk.po commit 3bd36d1a3b6f576e124a41800d7138cbfa34782f Author: Maxim V. Dziumanenko Date: 2009-07-09 Updated Ukrainian translation M po/uk.po commit fd9df908248be20bc5f79def1dd96a45bb9f56c8 Author: Cosimo Cecchi Date: 2009-07-09 Don't force no horizontal scrollbar in the note viewer This causes issues with long words in the notes viewer, as the window will grow bigger along with the word. Patch by Luke Symes, fix bug #399018. M src/nemo-notes-viewer.c commit c1b58565da21a6d9e95dc920afd632da6e906fc9 Author: drtvasudevan Date: 2009-07-09 Updated Tamil translation M po/ta.po commit 560e736891e9268c73171ef3afbbc5c2bde819b9 Author: Jorge González Date: 2009-07-08 Updated Spanish translation M po/es.po commit 72a17d86468291eb64fdc549753836e76e3add6a Author: Daniel Nylander Date: 2009-07-08 Updated Swedish translation M po/sv.po commit 2eb7e673837b32fe8c7d9b4431fd76213a908a3a Author: Wang Yan Date: 2009-07-04 Don't display the timeout dialog with broken launchers Don't display the timed wait dialog if we're already reporting a broken link to the user. Fix bug #579165. Signed-off-by: Wang Yan M libnemo-private/nemo-mime-actions.c commit 45c928d3cf112f22d69b25299898301c54d9e961 Author: Cosimo Cecchi Date: 2009-07-08 Use application icons in the context menu If it's possibile, use the application icons in the open with submenu. This also removes quotation marks and useless duplicate "Open With" strings from the submenu. Patch by Marcus Carlson, fixes bug #587533 and #546916. M src/file-manager/fm-directory-view.c commit 4b434c4f73b56a92ff4bf50435487357719eebaf Author: Cosimo Cecchi Date: 2009-07-08 [build] bump up the required version of GLib M configure.in commit cf5538067776605cb031a58ce2f77271375db498 Author: David Zeuthen Date: 2009-06-30 Bug 587486 – Pass GMountOperation to unmount/eject/stop ops - Port everything to use _with_operation() variants of unmount/eject methods - This includes changing the NemoFile a bit; see the patch for details - Add support for g_drive_can_start_degraded() so we offer to start (degraded) drives even when g_drive_can_start() returns FALSE - Also add support for new mountable::* attributes so we can have "Detect Media" items in the context menu when right-clicking mounts/volumes/drives in computer:/// and on the desktop M libnemo-private/nemo-desktop-icon-file.c M libnemo-private/nemo-file-operations.c M libnemo-private/nemo-file-private.h M libnemo-private/nemo-file.c M libnemo-private/nemo-file.h M libnemo-private/nemo-vfs-file.c M src/file-manager/fm-actions.h M src/file-manager/fm-directory-view.c M src/file-manager/nemo-directory-view-ui.xml M src/nemo-application.c M src/nemo-places-sidebar.c commit 8b7599a8897e5f5314b8637e7523f35285db118c Author: Daniel Nylander Date: 2009-07-07 Updated Swedish translation M po/sv.po commit 547fa8e9f8fe654b92d5b8b0f2dcc074a7ad91d8 Author: Claude Paroz Date: 2009-07-07 Updated French translation Contributed by Laurent Coudeur and Claude Paroz M po/fr.po commit 9da3dacb61a5f70b0b5a62c57f3278169fdea56a Author: Jorge González Date: 2009-07-07 Updated Spanish translation M po/es.po commit f24c7689e1efb27dd2953bdee7de8c02f183d9be Author: Alexander Larsson Date: 2009-06-30 Properly escape names used as gconf keys M libnemo-private/nemo-desktop-directory-file.c commit b8995fce159472dac07666dfb4d7e3ff1412403a Author: Alexander Larsson Date: 2009-06-29 Support metadata for the virtual desktop icons M libnemo-private/nemo-desktop-directory-file.c M libnemo-private/nemo-desktop-directory-file.h M libnemo-private/nemo-desktop-icon-file.c M libnemo-private/nemo-global-preferences.c commit 02f908f3d864f1f3bf0729158907f312e0306c05 Author: Alexander Larsson Date: 2009-06-29 Move metadata setting to a NemoFile vfunc This allows non-vfs backends to implement metadata M libnemo-private/nemo-file-private.h M libnemo-private/nemo-file.c M libnemo-private/nemo-file.h M libnemo-private/nemo-vfs-file.c commit 28d5e790dbe7752de156e01610c3e5c354064192 Author: Mattias Põldaru Date: 2009-06-26 Updating Estonian translation M po/et.po commit 65425491f90194e3034b5b49e0e333b5717d1776 Author: Alexander Larsson Date: 2009-06-26 Forgot to remove some references to removed symbols M libnemo-private/nemo-file-changes-queue.c commit 7874f2d9422618107edabd7056b7167844c389ca Author: Alexander Larsson Date: 2009-06-25 Support unsetting metadata M libnemo-private/nemo-file.c commit 99b68670ad94bfb5db1b162ae0d84e27f226d18f Author: Mattias Põldaru Date: 2009-06-25 Updating Estonian translation M po/et.po commit 22a457fd40d09139e5d7bbe6404006d0e091bc15 Author: drtvasudevan Date: 2009-06-24 Updated Tamil translation M po/ta.po commit 37be3809bc0d25d28298b38bc0b893a6fd3a665f Author: Alexander Larsson Date: 2009-06-23 Remove all traces of former nemo metadata code M libnemo-private/Makefile.am M libnemo-private/nemo-directory-async.c M libnemo-private/nemo-directory-background.c D libnemo-private/nemo-directory-metafile.c D libnemo-private/nemo-directory-metafile.h M libnemo-private/nemo-directory-private.h M libnemo-private/nemo-directory.c M libnemo-private/nemo-file-attributes.h M libnemo-private/nemo-file-changes-queue.c M libnemo-private/nemo-file-changes-queue.h M libnemo-private/nemo-file-operations.c M libnemo-private/nemo-file-utilities.c M libnemo-private/nemo-file.c M libnemo-private/nemo-file.h M libnemo-private/nemo-link.c D libnemo-private/nemo-metafile.c D libnemo-private/nemo-metafile.h M libnemo-private/nemo-mime-actions.c M src/file-manager/fm-directory-view.c M src/file-manager/fm-properties-window.c M src/nemo-main.c M src/nemo-notes-viewer.c M src/nemo-sidebar-title.c M src/nemo-window-manage-views.c M test/test-nemo-directory-async.c commit fc4e74e6763000bac2a459e83811cf01e6cb7720 Author: Alexander Larsson Date: 2009-06-23 Use gvfs based metadata M libnemo-private/Makefile.am M libnemo-private/nemo-file-private.h M libnemo-private/nemo-file.c M libnemo-private/nemo-file.h A libnemo-private/nemo-metadata.c M libnemo-private/nemo-metadata.h M src/file-manager/fm-list-view.c commit c7b6875c98ecd25dc26853b783e1a4ffe96fab36 Author: Alexander Larsson Date: 2009-06-23 Add eel_g_strv_equal M eel/eel-glib-extensions.c M eel/eel-glib-extensions.h commit ffc93d52d4650e63e01b488ef582983919c89de3 Author: A. Walton Date: 2009-06-22 Another missed FreeBSD build fix. M libnemo-private/nemo-metafile.c commit 08144422c582077664b878fecc9878fc785b94df Author: Petr Kovar Date: 2009-06-21 Fixed Czech translation by Lucas Lommer Thanks goes to Vladimir Burian. M po/cs.po commit 22c5e7beacd28a64b4ff82ad20df0c954128ba46 Author: Jorge Gonzalez Date: 2009-06-21 Updated Spanish translation M po/es.po commit 104557839d2cfb375e5729e17c3fba3810f538e7 Author: Ivar Smolin Date: 2009-06-19 Updating Estonian translation M po/et.po commit dec816b65de82e832e29c0cea1a8c330ffa5954a Author: A. Walton Date: 2009-06-19 Fix the build. self_start_stop_type uninitialized in fm-directory-view.c M src/file-manager/fm-directory-view.c commit bcf5f921cda6f582230d3d0707f93172c3fa65e6 Author: A. Walton Date: 2009-06-19 Bug 586346 – Build failure on FreeBSD Wasn't the wrong number of arguments, it was the wrong type of argument (time_t, not long). So we add a cast to make it more explicit to the compiler there. M libnemo-private/nemo-file.c commit 0fe78fa2ae3d1a1e46996cc27c66421965bce57c Author: A. Walton Date: 2009-06-19 Bug 586346 – Build failure on FreeBSD Use g_snprint() instead of snprintf(). M libnemo-private/nemo-file.c commit 66b53e82aa5d45cec89c99ab74e86caf2c49df00 Author: David Zeuthen Date: 2009-06-17 Bug 585591 – Starting/stopping drives This is the Nemo user for the new GIO API for starting/stopping drives. See http://bugzilla.gnome.org/show_bug.cgi?id=585591 for details. M libnemo-private/nemo-file-private.h M libnemo-private/nemo-file.c M libnemo-private/nemo-file.h M libnemo-private/nemo-mime-actions.c M libnemo-private/nemo-vfs-file.c M src/file-manager/fm-actions.h M src/file-manager/fm-directory-view.c M src/file-manager/nemo-directory-view-ui.xml M src/nemo-places-sidebar.c commit 3af5d8c5bf61bdf206b9c79df0c27c0152b46496 Author: Mattias Põldaru Date: 2009-06-18 Updating Estonian translation M po/et.po commit 9ff24d6790da178fb8cba9c3c150a04ff4afea74 Author: Ivar Smolin Date: 2009-06-17 Updating Estonian translation M po/et.po commit 06e4eb732621b01c624b0e2665de523396e99f2f Author: Vincent Untz Date: 2009-06-17 Use gtk_cell_layout_get_cells instead of deprecated API M src/nemo-places-sidebar.c commit a2c338278cb82c4a2d8c4175d1db9ca7d7985d43 Author: A. Walton Date: 2009-06-17 Revert last commit as discussion in #gnome-hackers Turns out, g_app_info_should_show() is really broken, as this hides some apps we shouldn't be hiding. Wondering how we can unbreak this.. M libnemo-private/nemo-open-with-dialog.c commit e9d7b28a49d2afa5d67a34ef568a9e390df9a052 Author: A. Walton Date: 2009-06-17 Bug 586040 – "Open With" dialog duplicates Turns out, Nemo was showing GAppInfo's which shouldn't be shown in the UI. M libnemo-private/nemo-open-with-dialog.c commit b800160b430c17ddae5621a9af8b498d9092883d Author: A. Walton Date: 2009-06-16 Bug 563906 – Grammatical Error in String Fixes this bug. M src/nemo-window-manage-views.c commit 41975360a57115b5223e3466517df66b45c3fb63 Author: Alexander Larsson Date: 2009-06-15 Call g_reload_user_special_dirs_cache() when xdg-user-dirs change This means we will get the new special file icon for the changed files. Also, invalidate the file when we change it ourself so that the icon change is picked up. M libnemo-private/nemo-file-utilities.c commit a1ea86bd6c3d1123463e377e362dfffd047ef6a5 Author: Alexander Larsson Date: 2009-06-15 Post release version bump M configure.in commit e524b867b2653f6f92c8fb44f4b347b5fbc23c2c Author: Alexander Larsson Date: 2009-06-15 Update NEWS for 1.3.1 M NEWS commit b3f20601fe476d0af7b1175b14d9cb6729b96795 Author: Daniel Nylander Date: 2009-06-13 Updated sv translation (Daniel Nylander) M po/sv.po commit 5abcdbd43ef07460970ff2080dae121d908a0432 Author: A. Walton Date: 2009-06-12 Bug 547749 – "Open with" Applications not sorted. Use a sort model and add a sortable column to sort the application by name. M libnemo-private/nemo-open-with-dialog.c commit 932fa70aade6c12b1ef7a0158c0247e79546452c Author: Jorge Gonzalez Date: 2009-06-11 Updated Spanish translation M po/es.po commit 7ef11edc4d1819fe40b9c238e4d4ed31c07a9f0e Author: Manoj Kumar Giri Date: 2009-06-10 Added entries for Hindi Translation updated by Rajesh Ranjan M po/ChangeLog commit c0a359c656280dc504ea138b9e52763852ea202a Author: Manoj Kumar Giri Date: 2009-06-10 Updated Hindi Translation on behalf of Rajesh Ranjan M po/hi.po commit 4cf7e22dc55b37e5678ff69ac02d4acc5ac989fa Author: Kjartan Maraas Date: 2009-06-10 Updated Norwegian bokmÃ¥l translation. M po/nb.po commit 2316b80240b7b3c4e9627f31779b31d31cb1418d Author: Ivar Smolin Date: 2009-06-09 Updating Estonian translation M po/et.po commit 8db758307d49bf94c6e379b4439bb1fc61b7e28a Author: Cosimo Cecchi Date: 2009-06-08 Use a better string for schemas (#585134) M libnemo-private/apps_nemo_preferences.schemas.in commit 73443aae586eb99e6ca4406a03d91544def77968 Author: Runa Bhattacharjee Date: 2009-06-08 Updated Bengali India Translation M po/bn_IN.po commit 03e8e436fe57369ee1d28cfef77791dc258e8f22 Author: Mattias Põldaru Date: 2009-06-08 Updating Estonian translation M po/et.po commit 26d6ec74a5ebac6fb64e6ce0484ed96eefa7a78f Author: Petr Kovar Date: 2009-06-07 Fixed Czech translation by Lucas Lommer Thanks goes to Kamil Paral. M po/cs.po commit 437b01afc7ee7325ec8ba65bea05a13ef072063a Author: A. Walton Date: 2009-06-05 Bug 583214 – Nemo aborts when giving an empty dest. Follow up commit which fixes the code formatting and ensures the 'Open' button is insensitive when the entry is empty. M src/nemo-location-dialog.c commit 7b7a40130eb556fc7f32fb21a73c6437b29b0c73 Author: Christian Persch Date: 2009-06-04 Correct "srdcir" typo to "srcdir" M Makefile.am commit aa1afee5cc5b96161b6bb7c1639a180a39850653 Author: Theppitak Karoonboonyanan Date: 2009-06-04 Updated Thai translation. M po/th.po commit c0aa87793104abbea45fb1791a1a1cbb771f8b99 Author: Ask H. Larsen Date: 2009-05-30 Updated Danish translation M po/da.po commit 5bff677a0dc3ab5d5c68a2ef107cdbb34f133b34 Author: Cosimo Cecchi Date: 2009-05-28 Remove useless statfs/statvfs checks Those checks are now obsoletes. This also fixes bug #583264. M configure.in M src/file-manager/fm-properties-window.c commit 0133e979531cd41ca7f1d76ff5adf66ddfa7d67a Author: Cosimo Cecchi Date: 2009-05-28 Clear text in the location entry Add a clear text icon in the location entry, now that the icon entry is available in GTK+ 2.16 (#145732). M src/nemo-connect-server-dialog.c M src/nemo-location-entry.c commit 7b86b78e2ff6a0f1b45ac8f8a9c30cf3d0c6ae96 Author: Cosimo Cecchi Date: 2009-05-28 Emit APPEARANCE_CHANGED when setting the bg color Emit the APPEARANCE_CHANGED signal when we're setting the color, as we're ignoring the pending changes after the backgorund is realized, and thus we're not getting color updates (#578136). M eel/eel-background.c commit 518a1ae6ba0a3e09236f944ee655334087d5ddee Author: Cosimo Cecchi Date: 2009-05-28 Display information about the selected object Display information about the selected object in the "Information" sidebar, using thumbnails if possible. Also, remove the "Open with" buttons there for directories. Fix bug #122045, thanks to Amos Brocco. M src/nemo-information-panel.c M src/nemo-sidebar-title.c commit 4bb61206b7dd4a3510ab15e8df0288e670f816d6 Author: Alexander Larsson Date: 2009-05-27 Dist COPYING.EXTENSIONS M Makefile.am commit 7d9b6812d006d9aeecfb33d072cb382184fb901b Author: Alexander Larsson Date: 2009-05-27 Add COPYING.EXTENSIONS clarifying some extension license issues A COPYING.EXTENSIONS commit 74782b711adccfb85273ac38484e4adac8e010b4 Author: Jorge Gonzalez Date: 2009-05-26 Updated Spanish translation M po/es.po commit 152b56a058dfd0c57cdc267a63fb3099c0c74e0c Author: Yaron Shahrabani Date: 2009-05-25 Updated Hebrew translation M po/he.po commit 5fc840a5f089c627b4e38e2cf99f907ad8abb1a6 Author: drtvasudevan Date: 2009-05-25 Updated Tamil translation M po/ta.po commit 3d8011ca8c095be884b603ccea261b955fa6518b Author: JF Ding Date: 2009-05-25 Support daemon mode (exit_with_last_window preference) This can be used if you want to run nemo just to handle volume monitoring, etc. M libnemo-private/apps_nemo_preferences.schemas.in M libnemo-private/nemo-global-preferences.c M libnemo-private/nemo-global-preferences.h M src/nemo-main.c commit b49db4e5c9a3d21d3bc20c075e76b98b9977eedf Author: drtvasudevan Date: 2009-05-23 Updated Tamil translation M po/ta.po commit 7ea93ff768efdbc106407719b96a46fc34227273 Author: Ivar Smolin Date: 2009-05-19 Updating Estonian translation M po/et.po commit 2a005bc2c308e3960e723ed5cc8748f168acda17 Author: A. Walton Date: 2009-05-19 Bug 583214 – Nemo aborts when giving an empty dest. Fixes crash caused by passing a null path. M src/nemo-location-dialog.c commit 2eb9e588f954f8700d143fdb9d6d1e33318d9a33 Author: Alexander Shopov Date: 2009-05-19 Updated Bulgarian translation M po/bg.po commit d850d4742f41957506500c290c2756193c2a776f Author: Jorge Gonzalez Date: 2009-05-17 Updated Spanish translation M po/es.po commit 9af920dc7ab772c134ecd754be89b5d2b1aab5e0 Author: Petr Kovar Date: 2009-05-17 Fixed Czech translation by Lucas Lommer Phase two. M po/cs.po commit 173731a6dae993b5f15e334f1ebfa4756302efb8 Author: Petr Kovar Date: 2009-05-17 Updated Czech translation by Lucas Lommer M po/cs.po commit de14cf64ec9179a32617b1b26ce28d47aea2d8d9 Author: Matej Urban Date: 2009-05-15 Updated Slovenian translation M po/sl.po commit 1aba1feef00ad87da6e6e775568d3d8fea371576 Author: Matej Urban Date: 2009-05-15 Updated Slovenian translation M po/sl.po commit 776823f11bc40d78d17db36a303d69de0363d090 Author: Matej Urban Date: 2009-05-15 Updated Slovenian translation M po/sl.po commit 5fde2c7156b5bb8c0411bdbe649dd08172853d3a Author: Alexander Larsson Date: 2009-05-13 Don't crash if parent button_press_event is NULL (#582457) This fixes a crash when you press on the empty area of the toolbars. M src/nemo-navigation-window.c commit 24d9d3715194ff1145550a7fe3e9b8414ca568d2 Author: Holger Berndt Date: 2009-04-29 Allow users to define shortcuts for extension menu items M src/nemo-window-menus.c commit a2ab15477e2e2d13642567316788e12b5ace8504 Author: Tomas Bzatek Date: 2009-05-11 Properly include m4 macros fixes error messages like: ./configure: line 19939: syntax error near unexpected token `m4,' ./configure: line 19939: `SHAVE_INIT(m4, enable)' M Makefile.am commit e595852237c70e56c9d56688e2729eb59f6268fb Author: A. Walton Date: 2009-05-11 Bug 549437 – ctrl + dnd file duplication in list view Fixes bug #549437. Patch provided by "logari81". M libnemo-private/nemo-tree-view-drag-dest.c commit 9d618732420d6d2ae9f666bbb78ee486746c7940 Author: A. Walton Date: 2009-05-10 Update About dialog for 2009. M src/nemo-window-menus.c commit bf1fe66266c96139138908c1f1e1b1cc48f2bd4a Author: Marios Zindilis Date: 2009-05-10 Updated Greek translation M po/el.po commit aeda70b4fa90990a538d37122d88f0a82d0578f5 Author: Simos Xenitellis Date: 2009-05-09 Updated Greek translation M po/el.po commit f7d425f9045dae6d1d79328e66019c3ce18b1f19 Author: Simos Xenitellis Date: 2009-05-09 Updated Greek translation M po/el.po commit 35be2bdcd58e20422d2c8f0cf61b6d2a027dfd93 Author: Marios Zindilis Date: 2009-05-09 Updated Greek translation M po/el.po commit a9d7dfc3efb948a88cb5acfce3db8891e3297499 Author: Christian Kirbach Date: 2009-05-06 Updated German translation. M po/de.po commit 8d3525a3c3d414fe67f8f8b3c183c95e1282bce1 Author: Cosimo Cecchi Date: 2009-05-05 Post release version bump to 2.27.2 M configure.in commit 956bf2c75079003c91774a675091f7133cc8be35 Author: Cosimo Cecchi Date: 2009-05-05 Prepare for 2.27.1 release M NEWS M configure.in commit ec4ce1431bda72fc66ace675d860e7c2bb3bc3e6 Author: Cosimo Cecchi Date: 2009-05-05 Fix distcheck M Makefile.am M data/Makefile.am M src/nemo-main.c commit 057dabdd59a24d863d8b10dca336a3ca2bf8609f Author: Shankar Prasad Date: 2009-05-04 Updated the Kannda translations M po/kn.po commit 0a6012a48bd71c20d7cd32c05e1976f1127ce230 Author: Jorge Gonzalez Date: 2009-05-03 Updated Spanish translation M po/es.po commit a6f87ffe8133a4f9205dd1ab1d441fa06c40b497 Author: Ivar Smolin Date: 2009-05-02 Updating Estonian translation M po/et.po commit 86cacc2fd60dbed4397567edd08021513c1a60ae Author: Jorge Gonzalez Date: 2009-05-01 Updated Spanish translation M po/es.po commit bcbbc3f7853ab1a3a0f2b226312a41d5987e1d5a Author: Vladimir Melo Date: 2009-05-01 Updated Brazilian Portuguese translation. M po/pt_BR.po commit d6fa64ab439ac900a92a0467f39cdf72afa5870f Author: Cosimo Cecchi Date: 2009-05-01 Add building tips link Mention http://live.gnome.org/Nemo/Development/Nemo in the README file. M README commit 1a8adc87b49603cf14ce139e66bde0fe7bddec8e Author: Cosimo Cecchi Date: 2009-05-01 Remove a reference to SVN Also, update the GIT info page link. M HACKING commit 7e17224a1e68bb755bd281d46e0533b1dcff52d8 Author: Claude Paroz Date: 2009-04-30 Updated French translation M po/fr.po commit c51ac9926e012267d305711b949a937d917f075b Author: Gabor Kelemen Date: 2009-04-30 Mark strings as translatable, fix bug #579769 M src/nemo-file-management-properties.ui commit 23ff2a21d2925945dde6e04a47190ebfa27ae8c7 Author: Gabor Kelemen Date: 2009-04-30 Update POTFILES.*, close bug #580784 M po/POTFILES.in M po/POTFILES.skip commit a1a501224999d7abda06e9a2f7eb6da64c17d089 Author: Shankar Prasad Date: 2009-04-30 Updated Kannada translation M po/kn.po commit 90e5e1720d09188f3eabb67e502272a549c63dec Author: Maxim V. Dziumanenko Date: 2009-04-28 Updated Ukrainian translation M po/uk.po commit 48ed43f32668e5615ac64a3de55ec7ab2f254ef7 Author: Cosimo Cecchi Date: 2009-04-27 Reverse the order for folder icons overrides Use the correct order for folder icons overrides, so that we can keep track of things like "folder-visiting" or "folder-drag-accept". Patch by Krzysztof KosiÅ„ski (#567254). M libnemo-private/nemo-file.c commit 43c9802d618bcb0d035b4fb0dea4807367d893ea Author: Cosimo Cecchi Date: 2009-04-27 Don't display accelerators in Tabs menu Set use_underline == FALSE for items in the "Tabs" menu, so that folders with underscores in their names will be displayed properly in the menu items (#580392). M src/nemo-navigation-window-menus.c commit 9c0dddfbaddfe251814ff473d9f0a734c385d931 Author: Cosimo Cecchi Date: 2009-04-27 Display the application icon in the popup menu If available, display the application icon next to the "Open with" item in the file manager window menus (#546916). M src/file-manager/fm-directory-view.c commit fe4ca76584061215547edb55b8a0bab4cdb8e034 Author: Cosimo Cecchi Date: 2009-04-27 Fix DOAP file Add "mailto:" prefixes to email addresses in the DOAP file. M nemo.doap commit 7f404a39f63ceb8d906809c2092cecca7b785574 Author: Ivar Smolin Date: 2009-04-25 Updating Estonian translation M po/et.po commit cffb9cf70254086a3737b37e8fad786a6e6de414 Author: Cosimo Cecchi Date: 2009-04-23 Don't show autorun hints for Win32 software media Now that shared-mime-info supports "x-content/win32-software" vs "x-content/unix-software", use this distinction to inhibit autorun prompts/hints for media containing Win32 software (#524270). M libnemo-private/nemo-autorun.c M src/nemo-window-manage-views.c commit 7f74d06e270d89b6de1a3f23fe3388830f2c25ab Author: Olav Vitters Date: 2009-04-23 doap: Add desktop category M nemo.doap commit 9f1c7d03c45298701320f5503e8ba1afec9fb523 Author: Cosimo Cecchi Date: 2009-04-23 Add shave to the autotools setup Use shave to have some more meaningful build messages. It can be turned off by using 'make V=1'. M Makefile.am M configure.in A m4/Makefile.am A m4/shave-libtool.in A m4/shave.in A m4/shave.m4 commit 06dda37076c6e5b222f868a46fe84c070a04d680 Author: Cosimo Cecchi Date: 2009-04-23 Move desktop files into data/ Move desktop files into data/ subdirectory, so that they not clutter the top source dir. M Makefile.am M configure.in M data/Makefile.am R100 nemo-autorun-software.desktop.in.in data/nemo-autorun-software.desktop.in.in R100 nemo-browser.desktop.in.in data/nemo-browser.desktop.in.in R100 nemo-computer.desktop.in.in data/nemo-computer.desktop.in.in R100 nemo-file-management-properties.desktop.in.in data/nemo-file-management-properties.desktop.in.in R100 nemo-folder-handler.desktop.in.in data/nemo-folder-handler.desktop.in.in R100 nemo-home.desktop.in.in data/nemo-home.desktop.in.in R100 nemo.desktop.in.in data/nemo.desktop.in.in commit dd10aa3618b195a127014ba033eb522f907077a1 Author: Cosimo Cecchi Date: 2009-04-23 Fix typo in ChangeLog generation script Set the right name for the start tag in the ChangeLog generation script. M Makefile.am commit c0b27cce8d33ea8220434cf59b1e504fc9d2bcea Author: Matej Urban Date: 2009-04-22 Updated Slovenian translation M po/sl.po commit 9826f177cb72fc9f595356b773f51059bef6cd1e Author: Andrew Walton Date: 2009-04-22 Let forward/back mouse buttons work Install a handler to link forward/back mouse buttons to forward/back actions in NemoNavigationWindow, with a preference to set the right X button number in GConf. Signed-off-by: Cosimo Cecchi M libnemo-private/apps_nemo_preferences.schemas.in M libnemo-private/nemo-global-preferences.c M libnemo-private/nemo-global-preferences.h M src/nemo-navigation-window.c commit b02ef0a7ec2d0de3064d322f5da103a8dfd492d3 Author: Cosimo Cecchi Date: 2009-04-22 Remove useless function Remove nemo_has_valid_failed_thumbnail(), as that's not used anymore after the last commit. M libnemo-private/nemo-thumbnails.c M libnemo-private/nemo-thumbnails.h commit 20f4389f7cd22bd001ebf17c0c3c459cca5483ad Author: Matthias Clasen Date: 2009-04-22 Avoid duplicate function call Don't call nemo_has_valid_failed_thumbnail, as nemo_can_thumbnail will eventually call the same gnome_desktop function (#574205). Signed-off-by: Cosimo Cecchi M libnemo-private/nemo-file.c commit 3ffebcdbf5b5ba7e6b018f542fdc39522a42d1b2 Author: Cosimo Cecchi Date: 2009-04-22 Remove some more GTK+ deprecated macros Remove some other bits (hopefully the last) of deprecated GTK+ macros. M src/nemo-history-sidebar.c commit c308f7f3e96094c4d5077655960a0910dbaa605c Author: Cosimo Cecchi Date: 2009-04-22 Remove other deprecated GTK+ symbols There were still some references to deprecated GTK+ symbols in some files, or in some comments. Let's drop them all. M eel/eel-editable-label.c M eel/eel-gdk-pixbuf-extensions.c M libnemo-private/nemo-cell-renderer-text-ellipsized.h M libnemo-private/nemo-directory.h M libnemo-private/nemo-file.h M libnemo-private/nemo-saved-search-file.h M libnemo-private/nemo-undo-signal-handlers.c M src/file-manager/fm-empty-view.c M src/file-manager/fm-empty-view.h M test/test-eel-background.c commit 4485d32d41f1519313ad49d43914bbd0b78d104b Author: Jorge Gonzalez Date: 2009-04-21 Updated Spanish translation M po/es.po commit 7da1601ba6288e48dc6ed3023de03fff04d20b2d Author: Cosimo Cecchi Date: 2009-04-21 Check for NULL when sorting columns Check for a NULL value of the order array when sorting the columns. This might help when dealing with strange GConf setup issues (#524341). M libnemo-private/nemo-column-utilities.c commit 3b5af96a5f41640d447f7215a758d4de4c0220fb Author: Cosimo Cecchi Date: 2009-04-21 Update EggSMClient from libegg Re-apply the reverted string freeze break commit now that we branched. Don't check if the desktop file exists ourselves, as the Egg code will take care of that itself. Thanks to Christian Persch (#576619). M cut-n-paste-code/libegg/eggsmclient.c M src/nemo-main.c commit 60e58366e06f42b03072e06a19f8adeece0ded6a Author: Nelson Benitez Date: 2009-04-21 Use g_timeout_add_seconds where appropriate Use g_timeout_add_seconds instead of g_timeout_add where appropriate. Fix bug #574033. Signed-off-by: Cosimo Cecchi M libnemo-private/nemo-icon-container.c M libnemo-private/nemo-thumbnails.c M libnemo-private/nemo-tree-view-drag-dest.c M libnemo-private/nemo-users-groups-cache.c M src/file-manager/fm-desktop-icon-view.c M src/file-manager/fm-icon-view.c M src/file-manager/fm-list-view.c M src/nemo-notes-viewer.c M src/nemo-spatial-window.c commit 99e66a93605e056c80cebb4c3ac9b6b58167ad1c Author: Matthias Clasen Date: 2009-04-21 Avoid delays in background switching Don't delay background switching, so that users will immediately see it changing when browsing the background list (#330168). Signed-off-by: Cosimo Cecchi M libnemo-private/nemo-directory-background.c commit 979d877c1803034be8a3ff69437974a1cfdbff30 Author: Cosimo Cecchi Date: 2009-04-21 Enforce {GDK,GTK}_DISABLE_DEPRECATED cflags Now that we build cleanly without deprecated symbols, widen the deprecated check policy to GDK/GTK+. M configure.in commit b695c970182bbf19f2c38bf7405db506e7c23bb0 Author: Cosimo Cecchi Date: 2009-04-21 Remove deprecated GDK/GTK+ symbols Remove all uses of deprecated GDK and GTK+ symbols, replacing them with the currently supported equivalents. Based on a patch from Tal Benavidor (#565038). M eel/eel-background-box.h M eel/eel-background.c M eel/eel-background.h M eel/eel-canvas-rect-ellipse.h M eel/eel-canvas.c M eel/eel-canvas.h M eel/eel-debug-drawing.c M eel/eel-editable-label.c M eel/eel-editable-label.h M eel/eel-gtk-extensions.c M eel/eel-gtk-extensions.h M eel/eel-gtk-macros.h M eel/eel-image-table.c M eel/eel-image-table.h M eel/eel-labeled-image.h M eel/eel-stock-dialogs.c M eel/eel-types.c M eel/eel-wrap-table.c M eel/eel-wrap-table.h M libnemo-private/nemo-autorun.c M libnemo-private/nemo-bookmark.h M libnemo-private/nemo-cell-renderer-pixbuf-emblem.h M libnemo-private/nemo-clipboard-monitor.h M libnemo-private/nemo-column-chooser.h M libnemo-private/nemo-desktop-directory-file.h M libnemo-private/nemo-desktop-directory.h M libnemo-private/nemo-desktop-icon-file.h M libnemo-private/nemo-desktop-link-monitor.h M libnemo-private/nemo-desktop-link.h M libnemo-private/nemo-directory.h M libnemo-private/nemo-dnd.c M libnemo-private/nemo-entry.h M libnemo-private/nemo-file.h M libnemo-private/nemo-horizontal-splitter.h M libnemo-private/nemo-icon-canvas-item.h M libnemo-private/nemo-icon-container.h M libnemo-private/nemo-keep-last-vertical-box.h M libnemo-private/nemo-merged-directory.h M libnemo-private/nemo-metafile.h M libnemo-private/nemo-open-with-dialog.c M libnemo-private/nemo-progress-info.c M libnemo-private/nemo-search-directory-file.h M libnemo-private/nemo-search-directory.h M libnemo-private/nemo-trash-monitor.h M libnemo-private/nemo-undo-manager.h M libnemo-private/nemo-undo-transaction.h M libnemo-private/nemo-vfs-directory.h M libnemo-private/nemo-vfs-file.h M src/file-manager/fm-desktop-icon-view.c M src/file-manager/fm-desktop-icon-view.h M src/file-manager/fm-directory-view.c M src/file-manager/fm-directory-view.h M src/file-manager/fm-icon-container.h M src/file-manager/fm-icon-view.c M src/file-manager/fm-icon-view.h M src/file-manager/fm-list-model.h M src/file-manager/fm-list-view.c M src/file-manager/fm-list-view.h M src/file-manager/fm-properties-window.c M src/file-manager/fm-properties-window.h M src/file-manager/fm-tree-model.h M src/file-manager/fm-tree-view.c M src/file-manager/fm-tree-view.h M src/nemo-application.h M src/nemo-bookmark-list.h M src/nemo-desktop-window.h M src/nemo-emblem-sidebar.c M src/nemo-emblem-sidebar.h M src/nemo-history-sidebar.c M src/nemo-history-sidebar.h M src/nemo-image-properties-page.h M src/nemo-information-panel.c M src/nemo-information-panel.h M src/nemo-location-bar.h M src/nemo-location-entry.h M src/nemo-navigation-bar.h M src/nemo-navigation-window.h M src/nemo-notes-viewer.c M src/nemo-notes-viewer.h M src/nemo-places-sidebar.c M src/nemo-places-sidebar.h M src/nemo-property-browser.h M src/nemo-query-editor.h M src/nemo-search-bar.c M src/nemo-search-bar.h M src/nemo-side-pane.h M src/nemo-sidebar-title.h M src/nemo-spatial-window.c M src/nemo-spatial-window.h M src/nemo-throbber.h M src/nemo-window-menus.c M src/nemo-window.h M src/nemo-zoom-control.h M test/test-nemo-directory-async.c M test/test.c commit e2f711533e1008b62c9db70fb3bcf877191866d4 Author: Alexander Larsson Date: 2009-04-20 Fix broken pofile Lots of duplicated strings that makes msgfmt -c check fail. M po/ha.po commit 42bea16f00e93441a601f3279702d1bd60f07592 Author: Alexander Larsson Date: 2009-04-20 Comment out invalid pofile strings msgfmt -c bs.po said: bs.po:3783: number of format specifications in 'msgid' and 'msgstr[0]' does not match msgfmt: found 1 fatal error which meant branching was impossible M po/bs.po commit f9585e4f4825ab1114cd4185ec8cdca9360da3c9 Author: Jonathon Jongsma Date: 2009-04-20 Allow shift+return during typeahead find Allow shift+rename to close parent + open when typeahead find window is active. (#579551) M libnemo-private/nemo-icon-container.c commit 1f9ed9598a3324278eaef2153b95f22962dd2558 Author: Khaled Hosny Date: 2009-04-17 Updated Arabic translation M po/ar.po commit 9c4c0254d4788ac1d7e10df30fc74cc2d64c5d09 Author: Alexander Larsson Date: 2009-04-17 Preload /desktop/gnome/background from gconf We'll be reading a lot of background settings, so we want to preload (and thus also add_dir) the gconf directory. (Fixes #578993) M libnemo-private/nemo-global-preferences.c commit e61a17f3445be7c77f092b717f1e64a1231e01c0 Author: Cosimo Cecchi Date: 2009-04-17 Fix a copy/paste typo. M README.commits commit bad7749c6cc88009ba5e0f9f96f9ab418a1f7193 Author: Alexander Larsson Date: 2009-04-17 Add .gitignore files A .gitignore A data/.gitignore A docs/reference/.gitignore A docs/reference/libnemo-extension/.gitignore A docs/reference/libnemo-extension/libnemo-extension-overrides.txt A docs/reference/libnemo-extension/libnemo-extension-sections.txt A eel/.gitignore A libnemo-private/.gitignore A po/.gitignore A src/.gitignore commit 8acf8338c97387af3b93793760a3b1d64e752a2c Author: Alexander Larsson Date: 2009-04-17 Add makefile rules to generate ChangeLog M Makefile.am commit 3f4a5c97a23acbca33836d14edb2b5c8798a6dc5 Author: Alexander Larsson Date: 2009-04-17 Add doap file with name, description and developer info A nemo.doap commit a867c35e835128647396ad5b2df498c189944ca4 Author: Alexander Larsson Date: 2009-04-17 Add README.commits, update HACKING for git M HACKING M Makefile.am A README.commits commit 4a78eabc71df08bdf3d71877c3b3cb62d1b80bff Author: Alexander Larsson Date: 2009-04-17 Move ChangeLog to ChangeLog-20090417 With the switch to git we're moving to an autogenerated ChangeLog. R099 ChangeLog ChangeLog-20090417 M Makefile.am commit 6a8673c7806ad7a014feb9bc780e0dfcadb5d71c Author: Alexander Larsson Date: 2009-04-16 Reversed check in last commit, fixed. 2009-04-16 Alexander Larsson * configure.in: Reversed check in last commit, fixed. svn path=/trunk/; revision=15188 M ChangeLog M configure.in commit ab550c223368c4d0bb9b7133e477430a38fe96d6 Author: Alexander Larsson Date: 2009-04-16 Bug 578983 – set_more_warnings check of WARNING_CFLAGS doesn't work 2009-04-16 Alexander Larsson Bug 578983 – set_more_warnings check of WARNING_CFLAGS doesn't work * configure.in: Actually check the options. svn path=/trunk/; revision=15187 M ChangeLog M configure.in commit 9870d42d6709fea0fd3c50d00f5a491902be27e5 Author: Alexander Larsson Date: 2009-04-16 Set typeahead column to the name column. 2009-04-16 Alexander Larsson * src/nemo-places-sidebar.c (nemo_places_sidebar_init): Set typeahead column to the name column. svn path=/trunk/; revision=15186 M ChangeLog M src/nemo-places-sidebar.c commit 3125825a1cb10f38779b926050d4030f45a6003a Author: Alexander Larsson Date: 2009-04-16 Bug 578468 – Change of font DPI setting does not effect desktop icons 2009-04-16 Alexander Larsson Bug 578468 – Change of font DPI setting does not effect desktop icons * libnemo-private/nemo-icon-canvas-item.c: (nemo_icon_canvas_item_invalidate_label_size): Invalidate pango layouts since the context could have changed For instance the font DPI. svn path=/trunk/; revision=15185 M ChangeLog M libnemo-private/nemo-icon-canvas-item.c commit 4323f9b47229312a60093587724e1aa102a8c926 Author: Alexander Larsson Date: 2009-04-16 Bug 579086 – Excessive white-space on right-hand side in icon view 2009-04-16 Alexander Larsson Bug 579086 – Excessive white-space on right-hand side in icon view * libnemo-private/nemo-icon-container.c: (nemo_icon_container_update_scroll_region): When using at allocation->width, take zoom into account svn path=/trunk/; revision=15184 M ChangeLog M libnemo-private/nemo-icon-container.c commit 649c39c7d8f6b3162e6f9142f3201eb254f26c8f Author: Alexander Larsson Date: 2009-04-13 Post release version bump 2009-04-13 Alexander Larsson * configure.in: Post release version bump === nemo 2.26.2 === svn path=/trunk/; revision=15183 M ChangeLog M configure.in M eel/ChangeLog M po/ChangeLog nemo-1.8.4/INSTALL000066400000000000000000000366001216702421000135130ustar00rootroot00000000000000Installation Instructions ************************* Copyright (C) 1994-1996, 1999-2002, 2004-2011 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. This file is offered as-is, without warranty of any kind. Basic Installation ================== Briefly, the shell commands `./configure; make; make install' should configure, build, and install this package. The following more-detailed instructions are generic; see the `README' file for instructions specific to this package. Some packages provide this `INSTALL' file but do not implement all of the features documented below. The lack of an optional feature in a given package is not necessarily a bug. More recommendations for GNU packages can be found in *note Makefile Conventions: (standards)Makefile Conventions. The `configure' shell script attempts to guess correct values for various system-dependent variables used during compilation. It uses those values to create a `Makefile' in each directory of the package. It may also create one or more `.h' files containing system-dependent definitions. Finally, it creates a shell script `config.status' that you can run in the future to recreate the current configuration, and a file `config.log' containing compiler output (useful mainly for debugging `configure'). It can also use an optional file (typically called `config.cache' and enabled with `--cache-file=config.cache' or simply `-C') that saves the results of its tests to speed up reconfiguring. Caching is disabled by default to prevent problems with accidental use of stale cache files. If you need to do unusual things to compile the package, please try to figure out how `configure' could check whether to do them, and mail diffs or instructions to the address given in the `README' so they can be considered for the next release. If you are using the cache, and at some point `config.cache' contains results you don't want to keep, you may remove or edit it. The file `configure.ac' (or `configure.in') is used to create `configure' by a program called `autoconf'. You need `configure.ac' if you want to change it or regenerate `configure' using a newer version of `autoconf'. The simplest way to compile this package is: 1. `cd' to the directory containing the package's source code and type `./configure' to configure the package for your system. Running `configure' might take a while. While running, it prints some messages telling which features it is checking for. 2. Type `make' to compile the package. 3. Optionally, type `make check' to run any self-tests that come with the package, generally using the just-built uninstalled binaries. 4. Type `make install' to install the programs and any data files and documentation. When installing into a prefix owned by root, it is recommended that the package be configured and built as a regular user, and only the `make install' phase executed with root privileges. 5. Optionally, type `make installcheck' to repeat any self-tests, but this time using the binaries in their final installed location. This target does not install anything. Running this target as a regular user, particularly if the prior `make install' required root privileges, verifies that the installation completed correctly. 6. You can remove the program binaries and object files from the source code directory by typing `make clean'. To also remove the files that `configure' created (so you can compile the package for a different kind of computer), type `make distclean'. There is also a `make maintainer-clean' target, but that is intended mainly for the package's developers. If you use it, you may have to get all sorts of other programs in order to regenerate files that came with the distribution. 7. Often, you can also type `make uninstall' to remove the installed files again. In practice, not all packages have tested that uninstallation works correctly, even though it is required by the GNU Coding Standards. 8. Some packages, particularly those that use Automake, provide `make distcheck', which can by used by developers to test that all other targets like `make install' and `make uninstall' work correctly. This target is generally not run by end users. Compilers and Options ===================== Some systems require unusual options for compilation or linking that the `configure' script does not know about. Run `./configure --help' for details on some of the pertinent environment variables. You can give `configure' initial values for configuration parameters by setting variables in the command line or in the environment. Here is an example: ./configure CC=c99 CFLAGS=-g LIBS=-lposix *Note Defining Variables::, for more details. Compiling For Multiple Architectures ==================================== You can compile the package for more than one kind of computer at the same time, by placing the object files for each architecture in their own directory. To do this, you can use GNU `make'. `cd' to the directory where you want the object files and executables to go and run the `configure' script. `configure' automatically checks for the source code in the directory that `configure' is in and in `..'. This is known as a "VPATH" build. With a non-GNU `make', it is safer to compile the package for one architecture at a time in the source code directory. After you have installed the package for one architecture, use `make distclean' before reconfiguring for another architecture. On MacOS X 10.5 and later systems, you can create libraries and executables that work on multiple system types--known as "fat" or "universal" binaries--by specifying multiple `-arch' options to the compiler but only a single `-arch' option to the preprocessor. Like this: ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ CPP="gcc -E" CXXCPP="g++ -E" This is not guaranteed to produce working output in all cases, you may have to build one architecture at a time and combine the results using the `lipo' tool if you have problems. Installation Names ================== By default, `make install' installs the package's commands under `/usr/local/bin', include files under `/usr/local/include', etc. You can specify an installation prefix other than `/usr/local' by giving `configure' the option `--prefix=PREFIX', where PREFIX must be an absolute file name. You can specify separate installation prefixes for architecture-specific files and architecture-independent files. If you pass the option `--exec-prefix=PREFIX' to `configure', the package uses PREFIX as the prefix for installing programs and libraries. Documentation and other data files still use the regular prefix. In addition, if you use an unusual directory layout you can give options like `--bindir=DIR' to specify different values for particular kinds of files. Run `configure --help' for a list of the directories you can set and what kinds of files go in them. In general, the default for these options is expressed in terms of `${prefix}', so that specifying just `--prefix' will affect all of the other directory specifications that were not explicitly provided. The most portable way to affect installation locations is to pass the correct locations to `configure'; however, many packages provide one or both of the following shortcuts of passing variable assignments to the `make install' command line to change installation locations without having to reconfigure or recompile. The first method involves providing an override variable for each affected directory. For example, `make install prefix=/alternate/directory' will choose an alternate location for all directory configuration variables that were expressed in terms of `${prefix}'. Any directories that were specified during `configure', but not in terms of `${prefix}', must each be overridden at install time for the entire installation to be relocated. The approach of makefile variable overrides for each directory variable is required by the GNU Coding Standards, and ideally causes no recompilation. However, some platforms have known limitations with the semantics of shared libraries that end up requiring recompilation when using this method, particularly noticeable in packages that use GNU Libtool. The second method involves providing the `DESTDIR' variable. For example, `make install DESTDIR=/alternate/directory' will prepend `/alternate/directory' before all installation names. The approach of `DESTDIR' overrides is not required by the GNU Coding Standards, and does not work on platforms that have drive letters. On the other hand, it does better at avoiding recompilation issues, and works well even when some directory options were not specified in terms of `${prefix}' at `configure' time. Optional Features ================= If the package supports it, you can cause programs to be installed with an extra prefix or suffix on their names by giving `configure' the option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. Some packages pay attention to `--enable-FEATURE' options to `configure', where FEATURE indicates an optional part of the package. They may also pay attention to `--with-PACKAGE' options, where PACKAGE is something like `gnu-as' or `x' (for the X Window System). The `README' should mention any `--enable-' and `--with-' options that the package recognizes. For packages that use the X Window System, `configure' can usually find the X include and library files automatically, but if it doesn't, you can use the `configure' options `--x-includes=DIR' and `--x-libraries=DIR' to specify their locations. Some packages offer the ability to configure how verbose the execution of `make' will be. For these packages, running `./configure --enable-silent-rules' sets the default to minimal output, which can be overridden with `make V=1'; while running `./configure --disable-silent-rules' sets the default to verbose, which can be overridden with `make V=0'. Particular systems ================== On HP-UX, the default C compiler is not ANSI C compatible. If GNU CC is not installed, it is recommended to use the following options in order to use an ANSI C compiler: ./configure CC="cc -Ae -D_XOPEN_SOURCE=500" and if that doesn't work, install pre-built binaries of GCC for HP-UX. HP-UX `make' updates targets which have the same time stamps as their prerequisites, which makes it generally unusable when shipped generated files such as `configure' are involved. Use GNU `make' instead. On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot parse its `' header file. The option `-nodtk' can be used as a workaround. If GNU CC is not installed, it is therefore recommended to try ./configure CC="cc" and if that doesn't work, try ./configure CC="cc -nodtk" On Solaris, don't put `/usr/ucb' early in your `PATH'. This directory contains several dysfunctional programs; working variants of these programs are available in `/usr/bin'. So, if you need `/usr/ucb' in your `PATH', put it _after_ `/usr/bin'. On Haiku, software installed for all users goes in `/boot/common', not `/usr/local'. It is recommended to use the following options: ./configure --prefix=/boot/common Specifying the System Type ========================== There may be some features `configure' cannot figure out automatically, but needs to determine by the type of machine the package will run on. Usually, assuming the package is built to be run on the _same_ architectures, `configure' can figure that out, but if it prints a message saying it cannot guess the machine type, give it the `--build=TYPE' option. TYPE can either be a short name for the system type, such as `sun4', or a canonical name which has the form: CPU-COMPANY-SYSTEM where SYSTEM can have one of these forms: OS KERNEL-OS See the file `config.sub' for the possible values of each field. If `config.sub' isn't included in this package, then this package doesn't need to know the machine type. If you are _building_ compiler tools for cross-compiling, you should use the option `--target=TYPE' to select the type of system they will produce code for. If you want to _use_ a cross compiler, that generates code for a platform different from the build platform, you should specify the "host" platform (i.e., that on which the generated programs will eventually be run) with `--host=TYPE'. Sharing Defaults ================ If you want to set default values for `configure' scripts to share, you can create a site shell script called `config.site' that gives default values for variables like `CC', `cache_file', and `prefix'. `configure' looks for `PREFIX/share/config.site' if it exists, then `PREFIX/etc/config.site' if it exists. Or, you can set the `CONFIG_SITE' environment variable to the location of the site script. A warning: not all `configure' scripts look for a site script. Defining Variables ================== Variables not defined in a site shell script can be set in the environment passed to `configure'. However, some packages may run configure again during the build, and the customized values of these variables may be lost. In order to avoid this problem, you should set them in the `configure' command line, using `VAR=value'. For example: ./configure CC=/usr/local2/bin/gcc causes the specified `gcc' to be used as the C compiler (unless it is overridden in the site shell script). Unfortunately, this technique does not work for `CONFIG_SHELL' due to an Autoconf bug. Until the bug is fixed you can use this workaround: CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash `configure' Invocation ====================== `configure' recognizes the following options to control how it operates. `--help' `-h' Print a summary of all of the options to `configure', and exit. `--help=short' `--help=recursive' Print a summary of the options unique to this package's `configure', and exit. The `short' variant lists options used only in the top level, while the `recursive' variant lists options also present in any nested packages. `--version' `-V' Print the version of Autoconf used to generate the `configure' script, and exit. `--cache-file=FILE' Enable the cache: use and save the results of the tests in FILE, traditionally `config.cache'. FILE defaults to `/dev/null' to disable caching. `--config-cache' `-C' Alias for `--cache-file=config.cache'. `--quiet' `--silent' `-q' Do not print messages saying which checks are being made. To suppress all normal output, redirect it to `/dev/null' (any error messages will still be shown). `--srcdir=DIR' Look for the package's source code in directory DIR. Usually `configure' can determine that directory automatically. `--prefix=DIR' Use DIR as the installation prefix. *note Installation Names:: for more details, including other options available for fine-tuning the installation locations. `--no-create' `-n' Run the configure checks, but stop before creating any output files. `configure' also accepts some other, not widely useful, options. Run `configure --help' for more details. nemo-1.8.4/Makefile.am000066400000000000000000000031151216702421000145110ustar00rootroot00000000000000include $(top_srcdir)/Makefile.shared DIRS = \ eel \ libnemo-extension \ cut-n-paste-code \ libnemo-private \ src \ test \ po \ data \ icons \ docs \ files \ $(NULL) DIST_SUBDIRS = $(DIRS) SUBDIRS = $(DIRS) EXTRA_DIST= \ COPYING.LIB \ COPYING.EXTENSIONS \ COPYING-DOCS \ HACKING \ MAINTAINERS \ README.commits \ ChangeLog-20000414 \ ChangeLog-20000625 \ ChangeLog-20000831 \ ChangeLog-20001018 \ ChangeLog-20010201 \ ChangeLog-20010420 \ ChangeLog-20041029 \ ChangeLog-20090417 \ intltool-extract.in \ intltool-merge.in \ intltool-update.in \ Makefile.shared \ add-include-prefix \ $(NULL) DISTCLEANFILES = \ intltool-extract \ intltool-merge \ intltool-update DISTCHECK_CONFIGURE_FLAGS = --disable-update-mimedb --enable-gtk-doc ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS} distclean-local: if test "$(srcdir)" = "."; then :; else \ rm -f ChangeLog; \ fi ChangeLog: @echo Creating $@ @if test -d "$(srcdir)/.git"; then \ (GIT_DIR=$(top_srcdir)/.git ./missing --run git log NEMO_2_26_2.. --stat -M -C --name-status --date=short --no-color) | fmt --split-only > $@.tmp \ && mv -f $@.tmp $@ \ || ($(RM) $@.tmp; \ echo Failed to generate ChangeLog, your ChangeLog may be outdated >&2; \ (test -f $@ || echo git-log is required to generate this file >> $@)); \ else \ test -f $@ || \ (echo A git checkout and git-log is required to generate ChangeLog >&2 && \ echo A git checkout and git-log is required to generate this file >> $@); \ fi .PHONY: ChangeLog nemo-1.8.4/Makefile.shared000066400000000000000000000000071216702421000153570ustar00rootroot00000000000000NULL = nemo-1.8.4/NEWS000066400000000000000000000011151216702421000131520ustar00rootroot00000000000000Development: 1/22/2013: - Breadcrumbs: Stylable by themes, see src/nemo-styles-fallback.css for default style information. Border radius, color, background color, and text color can be customized through that. - Sidebar Disk Indicators: Stylable by themes, again, see src/nemo-styles-fallback.css for default style information - you can customize the two colors (fore- and background), the thickness of the bar, the corner radius, the maximum length of the bar, and an amount of extra padding from the bottom of the cell.nemo-1.8.4/README000066400000000000000000000000001216702421000133230ustar00rootroot00000000000000nemo-1.8.4/README.md000066400000000000000000000001451216702421000137340ustar00rootroot00000000000000Nemo ==== File Manager for Cinnamon Nemo is the file manager for the Cinnamon desktop environment. nemo-1.8.4/THANKS000066400000000000000000000001101216702421000133600ustar00rootroot00000000000000Nemo started as a fork of Nautilus 3.4: https://live.gnome.org/Nautilus nemo-1.8.4/add-include-prefix000077500000000000000000000000761216702421000160520ustar00rootroot00000000000000sed -e 's/^/ /' -e 's/ */ /g' -e 's/ / -I /g' -e 's/ -I $//' nemo-1.8.4/autogen.sh000077500000000000000000000004521216702421000144570ustar00rootroot00000000000000#!/bin/sh srcdir=`dirname $0` test -z "$srcdir" && srcdir=. PKG_NAME="nemo" which gnome-autogen.sh || { echo "You need to install gnome-common from GNOME Git (or from" echo "your OS vendor's package manager)." exit 1 } USE_GNOME2_MACROS=1 USE_COMMON_DOC_BUILD=yes . gnome-autogen.sh nemo-1.8.4/config.h.in000066400000000000000000000076371216702421000145150ustar00rootroot00000000000000/* config.h.in. Generated from configure.in by autoheader. */ /* Define if building universal (internal helper macro) */ #undef AC_APPLE_UNIVERSAL_BUILD /* Enable debug code */ #undef ENABLE_DEBUG /* define to enable the empty view that is used for performance measurement */ #undef ENABLE_EMPTY_VIEW /* always defined to indicate that i18n is enabled */ #undef ENABLE_NLS /* define to enable PackageKit mimetype installer */ #undef ENABLE_PACKAGEKIT /* Define to enable Tracker support */ #undef ENABLE_TRACKER /* the gettext translation domain */ #undef GETTEXT_PACKAGE /* Define the location where the catalogs will be installed */ #undef GNOMELOCALEDIR /* Define to 1 if you have the `bind_textdomain_codeset' function. */ #undef HAVE_BIND_TEXTDOMAIN_CODESET /* Define to 1 if you have the `dcgettext' function. */ #undef HAVE_DCGETTEXT /* Define to 1 if you have the header file. */ #undef HAVE_DLFCN_H /* Define to enable xmp support */ #undef HAVE_EXEMPI /* Define to enable EXIF support */ #undef HAVE_EXIF /* Define if the GNU gettext() function is already present or preinstalled. */ #undef HAVE_GETTEXT /* Define to 1 if you have the header file. */ #undef HAVE_INTTYPES_H /* Define if your file defines LC_MESSAGES. */ #undef HAVE_LC_MESSAGES /* Define to 1 if you have the `m' library (-lm). */ #undef HAVE_LIBM /* Define to 1 if you have the header file. */ #undef HAVE_LOCALE_H /* Define to 1 if you have the header file. */ #undef HAVE_MALLOC_H /* Define to 1 if you have the `mallopt' function. */ #undef HAVE_MALLOPT /* Define to 1 if you have the header file. */ #undef HAVE_MEMORY_H /* Define to 1 if libselinux is available */ #undef HAVE_SELINUX /* Define to 1 if you have the header file. */ #undef HAVE_SELINUX_SELINUX_H /* Define to 1 if you have the header file. */ #undef HAVE_STDINT_H /* Define to 1 if you have the header file. */ #undef HAVE_STDLIB_H /* Define if strftime supports %E and %O modifiers. */ #undef HAVE_STRFTIME_EXTENSION /* Define to 1 if you have the header file. */ #undef HAVE_STRINGS_H /* Define to 1 if you have the header file. */ #undef HAVE_STRING_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_MOUNT_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_PARAM_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_STAT_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_TYPES_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_VFS_H /* Define to 1 if you have the header file. */ #undef HAVE_UNISTD_H /* Define to 1 if you have the header file. */ #undef HAVE_X11_XF86KEYSYM_H /* Define to the sub-directory in which libtool stores uninstalled libraries. */ #undef LT_OBJDIR /* Name of package */ #undef PACKAGE /* Define to the address where bug reports for this package should be sent. */ #undef PACKAGE_BUGREPORT /* Define to the full name of this package. */ #undef PACKAGE_NAME /* Define to the full name and version of this package. */ #undef PACKAGE_STRING /* Define to the one symbol short name of this package. */ #undef PACKAGE_TARNAME /* Define to the home page for this package. */ #undef PACKAGE_URL /* Define to the version of this package. */ #undef PACKAGE_VERSION /* Define to 1 if you have the ANSI C header files. */ #undef STDC_HEADERS /* Version number of package */ #undef VERSION /* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most significant byte first (like Motorola and SPARC, unlike Intel). */ #if defined AC_APPLE_UNIVERSAL_BUILD # if defined __BIG_ENDIAN__ # define WORDS_BIGENDIAN 1 # endif #else # ifndef WORDS_BIGENDIAN # undef WORDS_BIGENDIAN # endif #endif /* Define to empty if `const' does not conform to ANSI C. */ #undef const nemo-1.8.4/configure.in000066400000000000000000000242141216702421000147710ustar00rootroot00000000000000AC_PREREQ(2.54) dnl =========================================================================== m4_define(glib_minver, 2.31.9) m4_define(gnome_desktop_minver, 3.0.0) m4_define(pango_minver, 1.28.3) m4_define(gtk_minver, 3.3.17) m4_define(xml_minver, 2.7.8) m4_define(exif_minver, 0.6.20) m4_define(exempi_minver, 2.1.0) m4_define(notify_minver, 0.7.0) dnl 1. If the library code has changed at all since last release, then increment revision. dnl 2. If any interfaces have been added, then increment current and set revision to 0. dnl Interface break is not allowed. m4_define(nemo_extension_current, 5) m4_define(nemo_extension_revision, 0) AC_INIT(nemo, 1.8.4, http://bugzilla.gnome.org/enter_bug.cgi?product=nemo) dnl =========================================================================== AC_CONFIG_SRCDIR(src) AC_CONFIG_HEADERS(config.h) AC_CONFIG_MACRO_DIR([m4]) AM_INIT_AUTOMAKE([1.11 dist-xz no-dist-gzip tar-ustar]) m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) AM_MAINTAINER_MODE([enable]) dnl We need to decrement current by one in the calculation of the age because dnl the library was started with version "1:0:0" instead of "0:0:0" AC_SUBST(NEMO_EXTENSION_VERSION_INFO, [nemo_extension_current]:[nemo_extension_revision]:`expr [nemo_extension_current] - 1`) AC_C_BIGENDIAN AC_C_CONST AC_PROG_CC AC_PROG_CPP AC_PROG_INSTALL AC_PROG_LN_S AC_PROG_MAKE_SET AM_DISABLE_STATIC AC_LIBTOOL_WIN32_DLL AM_PROG_LIBTOOL AC_PATH_PROG(PKG_CONFIG, pkg-config, no) AC_CHECK_LIB(m, floor) dnl ========================================================================== GETTEXT_PACKAGE=nemo AC_SUBST(GETTEXT_PACKAGE) AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE", [the gettext translation domain]) AM_GLIB_GNU_GETTEXT GLIB_DEFINE_LOCALEDIR(GNOMELOCALEDIR) GLIB_GSETTINGS IT_PROG_INTLTOOL([0.40.1]) dnl ========================================================================== GTK_DOC_CHECK([1.4]) dnl ========================================================================== AC_ARG_ENABLE(debug, AC_HELP_STRING([--disable-debug],[Disable debugging code]), [ case "${enableval}" in yes|no) enable_debug="${enableval}" ;; *) AC_MSG_ERROR(bad value ${enableval} for --enable-debug) ;; esac ], [enable_debug=yes]) if test "$enable_debug" = yes; then AC_DEFINE(ENABLE_DEBUG, [], [Enable debug code]) else enable_debug=no fi dnl ========================================================================== AC_CHECK_PROGS(PERL, perl5 perl) AC_PATH_PROG(GLIB_GENMARSHAL, glib-genmarshal) dnl ========================================================================== AC_CHECK_HEADERS(sys/mount.h sys/vfs.h sys/param.h malloc.h) AC_CHECK_FUNCS(mallopt) dnl ========================================================================== dnl libexif checking AM_CONDITIONAL(HAVE_EXIF, false) AC_ARG_ENABLE(libexif, AC_HELP_STRING([--disable-libexif], [build without libexif support])) msg_libexif=no if test "x$enable_libexif" != "xno"; then PKG_CHECK_MODULES(EXIF, libexif >= exif_minver, [ AM_CONDITIONAL(HAVE_EXIF, true) AC_DEFINE(HAVE_EXIF, 1, [Define to enable EXIF support]) ] msg_libexif=yes, [AM_CONDITIONAL(HAVE_EXIF, false)]) AC_SUBST(EXIF_CFLAGS) AC_SUBST(EXIF_LIBS) fi dnl ========================================================================== dnl exempi checking AM_CONDITIONAL(HAVE_EXEMPI, false) AC_ARG_ENABLE(xmp, AC_HELP_STRING([--disable-xmp], [build without xmp support])) msg_xmp=no if test "x$enable_xmp" != "xno"; then PKG_CHECK_MODULES(EXEMPI, exempi-2.0 >= exempi_minver, [ AM_CONDITIONAL(HAVE_EXEMPI, true) AC_DEFINE(HAVE_EXEMPI, 1, [Define to enable xmp support]) ] msg_xmp=yes, [AM_CONDITIONAL(HAVE_EXEMPI, false)]) AC_SUBST(EXEMPI_CFLAGS) AC_SUBST(EXEMPI_LIBS) fi dnl ========================================================================== dnl **************************** dnl *** Check for libselinux *** dnl **************************** SELINUX_LIBS= msg_selinux=no AC_CHECK_LIB(selinux, is_selinux_enabled, [AC_CHECK_HEADERS(selinux/selinux.h, [AC_SEARCH_LIBS(selinux_raw_to_trans_context, selinux, [AC_DEFINE(HAVE_SELINUX, 1, [Define to 1 if libselinux is available]) SELINUX_LIBS="-lselinux" msg_selinux=yes]) ]) ]) AC_SUBST(SELINUX_LIBS) AC_ARG_ENABLE(empty_view, AC_HELP_STRING([--enable-empty-view], [Enable empty view]), [ENABLE_EMPTY_VIEW=1 AC_DEFINE(ENABLE_EMPTY_VIEW, 1, [define to enable the empty view that is used for performance measurement])]) AC_SUBST(ENABLE_EMPTY_VIEW) AM_CONDITIONAL(ENABLE_EMPTY_VIEW, test "x$ENABLE_EMPTY_VIEW" = "x1") dnl ========================================================================== AC_ARG_ENABLE(packagekit, AC_HELP_STRING([--disable-packagekit], [build without PackageKit support])) msg_packagekit=no if test "x$enable_packagekit" != "xno"; then msg_packagekit=yes AC_DEFINE(ENABLE_PACKAGEKIT, 1, [define to enable PackageKit mimetype installer]) fi dnl ========================================================================== dnl Turn on the additional warnings last, so -Werror doesn't affect other tests. WARNING_CFLAGS="" AC_ARG_ENABLE(more-warnings, AC_HELP_STRING([--enable-more-warnings], [Maximum compiler warnings]), set_more_warnings="$enableval",[ if test -f $srcdir/CVSVERSION; then is_cvs_version=true set_more_warnings=yes else set_more_warnings=no fi ]) AC_MSG_CHECKING(for more warnings, including -Werror) if test "$GCC" = "yes" -a "$set_more_warnings" != "no"; then AC_MSG_RESULT(yes) WARNING_CFLAGS="\ -Wall \ -Wmissing-declarations -Wmissing-prototypes \ -Wnested-externs -Wpointer-arith \ -Wcast-align \ -Werror" for option in -Wstrict-aliasing=0 -Wno-pointer-sign; do SAVE_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS $option" AC_MSG_CHECKING([whether gcc understands $option]) AC_TRY_COMPILE([], [], has_option=yes, has_option=no,) if test $has_option = yes; then WARNING_CFLAGS="$WARNING_CFLAGS $option" fi AC_MSG_RESULT($has_option) CFLAGS="$SAVE_CFLAGS" unset has_option unset SAVE_CFLAGS done unset option else AC_MSG_RESULT(no) fi AC_SUBST(WARNING_CFLAGS) dnl =========================================================================== dnl strftime checks AC_TRY_RUN([#include int main () { char buf[100]; struct tm tm = {0}; tm.tm_year = 99; if (strftime(buf, 100, "%EY", &tm) == 4 && strcmp (buf, "1999")==0) return 0; return 1; } ], AC_DEFINE(HAVE_STRFTIME_EXTENSION, 1, [Define if strftime supports %E and %O modifiers.]) ) dnl =========================================================================== dnl Check for Tracker dnl =========================================================================== AC_ARG_ENABLE(tracker, [AS_HELP_STRING([--enable-tracker=@<:@yes/no/auto@:>@], [build Tracker builtin support [default=auto]])], [enable_tracker="$enableval"], [enable_tracker=auto]) build_tracker=no if test "x$enable_tracker" != "xno"; then PKG_CHECK_MODULES(TRACKER, tracker-sparql-0.14, [build_tracker=yes], [PKG_CHECK_MODULES(TRACKER, tracker-sparql-0.12, [build_tracker=yes], [build_tracker=no])]) if test "x$build_tracker" = "xyes"; then AC_DEFINE(ENABLE_TRACKER, 1, [Define to enable Tracker support]) fi fi AM_CONDITIONAL(ENABLE_TRACKER, test "x$build_tracker" = "xyes") dnl ========================================================================== dnl base libs PKG_CHECK_MODULES(BASE, [ gtk+-3.0 >= gtk_minver glib-2.0 >= glib_minver ]) AC_SUBST(BASE_CFLAGS) AC_SUBST(BASE_LIBS) dnl common libs (eel, nemo) PKG_CHECK_MODULES(COMMON, [ gail-3.0 gnome-desktop-3.0 >= gnome_desktop_minver libxml-2.0 >= xml_minver x11 ]) AC_SUBST(COMMON_CFLAGS) AC_SUBST(COMMON_LIBS) dnl additional nemo libs PKG_CHECK_MODULES(NEMO, [ gthread-2.0 >= glib_minver gmodule-no-export-2.0 >= glib_minver gio-2.0 >= glib_minver gio-unix-2.0 >= glib_minver gsettings-desktop-schemas libnotify >= notify_minver ]) AC_SUBST(NEMO_CFLAGS) AC_SUBST(NEMO_LIBS) DISABLE_DEPRECATED_CFLAGS="-DG_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED -DGDK_DISABLE_DEPRECATED -DGDK_PIXBUF_DISABLE_DEPRECATED" AC_SUBST(DISABLE_DEPRECATED_CFLAGS) dnl Multimedia keys AC_CHECK_HEADERS([X11/XF86keysym.h]) ################################################## # Check for introspection ################################################## GOBJECT_INTROSPECTION_CHECK([0.6.4]) dnl ========================================================================== AC_PATH_PROG(UPDATE_MIME_DATABASE, update-mime-database, no) AC_ARG_ENABLE(update-mimedb, AC_HELP_STRING([--disable-update-mimedb], [disable the update-mime-database after install [default=no]]),, enable_update_mimedb=yes) AM_CONDITIONAL(ENABLE_UPDATE_MIMEDB, test x$enable_update_mimedb = xyes) AC_CONFIG_FILES([ Makefile cut-n-paste-code/Makefile cut-n-paste-code/libegg/Makefile data/Makefile data/icons/Makefile data/nemo.desktop.in data/nemo-autorun-software.desktop.in docs/Makefile docs/reference/Makefile docs/reference/libnemo-extension/Makefile docs/reference/libnemo-extension/version.xml eel/Makefile icons/Makefile libnemo-private/Makefile libnemo-extension/Makefile libnemo-extension/libnemo-extension.pc libnemo-extension/libnemo-extension-uninstalled.pc po/Makefile.in src/Makefile files/Makefile test/Makefile ]) AC_OUTPUT dnl ========================================================================== echo " nemo-$VERSION: prefix: ${prefix} source code location: ${srcdir} compiler: ${CC} libexif support: $msg_libexif libexempi support: $msg_xmp PackageKit support: $msg_packagekit Tracker support: $build_tracker debugging support: ${enable_debug} nemo-extension documentation: ${enable_gtk_doc} nemo-extension introspection: ${found_introspection} " nemo-1.8.4/cut-n-paste-code/000077500000000000000000000000001216702421000155255ustar00rootroot00000000000000nemo-1.8.4/cut-n-paste-code/Makefile.am000066400000000000000000000000221216702421000175530ustar00rootroot00000000000000SUBDIRS = libegg nemo-1.8.4/cut-n-paste-code/README000066400000000000000000000011711216702421000164050ustar00rootroot00000000000000README for nemo/cut-n-paste-code The code in this directory hierarchy was cut-n-pasted from somewhere else. In the soon to come, Star Trek future, this code will be available as part of standard libraries. For example, the code in libegg will be one day available as part of Gtk+. Until that happens, DON'T HACK the code, unless you are updating from the original cut-n-paste source. Instead of hacking the code in cut-n-paste-code, create subclasses and put them in libnemo-extensions. If you have any specific questions, comments or complaints about this setup, send mail to the nemo mailing list at: nemo-list@gnome.org nemo-1.8.4/cut-n-paste-code/libegg/000077500000000000000000000000001216702421000167565ustar00rootroot00000000000000nemo-1.8.4/cut-n-paste-code/libegg/Makefile.am000066400000000000000000000010651216702421000210140ustar00rootroot00000000000000NULL= noinst_LTLIBRARIES = libegg.la INCLUDES = $(BASE_CFLAGS) EGG_TREE_DND_FILES = \ eggtreemultidnd.c \ eggtreemultidnd.h \ $(NULL) libegg_la_SOURCES = \ $(EGG_TREE_DND_FILES) \ $(NULL) libegg_la_CFLAGS = \ $(BASE_CFLAGS) \ $(WARNING_CFLAGS) \ $(DISABLE_DEPRECATED) libegg_la_LIBADD = \ $(BASE_LIBS) EXTRA_DIST = \ update-from-egg.sh \ $(NULL) EGG_TREE_DND_DIR = $(srcdir)/../../../libegg/libegg/treeviewutils regenerate-built-sources: EGGFILES="$(EGG_TREE_DND_FILES)" EGGDIR="$(EGG_TREE_DND_DIR)" $(srcdir)/update-from-egg.sh nemo-1.8.4/cut-n-paste-code/libegg/eggtreemultidnd.c000066400000000000000000000266261216702421000223210ustar00rootroot00000000000000/* eggtreemultidnd.c * Copyright (C) 2001 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street - Suite 500, * Boston, MA 02110-1335, USA. */ #ifdef HAVE_CONFIG_H #include #endif #include #include #include "eggtreemultidnd.h" #define EGG_TREE_MULTI_DND_STRING "EggTreeMultiDndString" typedef struct { guint pressed_button; gint x; gint y; guint motion_notify_handler; guint button_release_handler; guint drag_data_get_handler; GSList *event_list; } EggTreeMultiDndData; /* CUT-N-PASTE from gtktreeview.c */ typedef struct _TreeViewDragInfo TreeViewDragInfo; struct _TreeViewDragInfo { GdkModifierType start_button_mask; GtkTargetList *source_target_list; GdkDragAction source_actions; GtkTargetList *dest_target_list; guint source_set : 1; guint dest_set : 1; }; GType egg_tree_multi_drag_source_get_type (void) { static GType our_type = 0; if (!our_type) { const GTypeInfo our_info = { sizeof (EggTreeMultiDragSourceIface), /* class_size */ NULL, /* base_init */ NULL, /* base_finalize */ NULL, NULL, /* class_finalize */ NULL, /* class_data */ 0, 0, /* n_preallocs */ NULL }; our_type = g_type_register_static (G_TYPE_INTERFACE, "EggTreeMultiDragSource", &our_info, 0); } return our_type; } /** * egg_tree_multi_drag_source_row_draggable: * @drag_source: a #EggTreeMultiDragSource * @path: row on which user is initiating a drag * * Asks the #EggTreeMultiDragSource whether a particular row can be used as * the source of a DND operation. If the source doesn't implement * this interface, the row is assumed draggable. * * Return value: %TRUE if the row can be dragged **/ gboolean egg_tree_multi_drag_source_row_draggable (EggTreeMultiDragSource *drag_source, GList *path_list) { EggTreeMultiDragSourceIface *iface = EGG_TREE_MULTI_DRAG_SOURCE_GET_IFACE (drag_source); g_return_val_if_fail (EGG_IS_TREE_MULTI_DRAG_SOURCE (drag_source), FALSE); g_return_val_if_fail (iface->row_draggable != NULL, FALSE); g_return_val_if_fail (path_list != NULL, FALSE); if (iface->row_draggable) return (* iface->row_draggable) (drag_source, path_list); else return TRUE; } /** * egg_tree_multi_drag_source_drag_data_delete: * @drag_source: a #EggTreeMultiDragSource * @path: row that was being dragged * * Asks the #EggTreeMultiDragSource to delete the row at @path, because * it was moved somewhere else via drag-and-drop. Returns %FALSE * if the deletion fails because @path no longer exists, or for * some model-specific reason. Should robustly handle a @path no * longer found in the model! * * Return value: %TRUE if the row was successfully deleted **/ gboolean egg_tree_multi_drag_source_drag_data_delete (EggTreeMultiDragSource *drag_source, GList *path_list) { EggTreeMultiDragSourceIface *iface = EGG_TREE_MULTI_DRAG_SOURCE_GET_IFACE (drag_source); g_return_val_if_fail (EGG_IS_TREE_MULTI_DRAG_SOURCE (drag_source), FALSE); g_return_val_if_fail (iface->drag_data_delete != NULL, FALSE); g_return_val_if_fail (path_list != NULL, FALSE); return (* iface->drag_data_delete) (drag_source, path_list); } /** * egg_tree_multi_drag_source_drag_data_get: * @drag_source: a #EggTreeMultiDragSource * @path: row that was dragged * @selection_data: a #EggSelectionData to fill with data from the dragged row * * Asks the #EggTreeMultiDragSource to fill in @selection_data with a * representation of the row at @path. @selection_data->target gives * the required type of the data. Should robustly handle a @path no * longer found in the model! * * Return value: %TRUE if data of the required type was provided **/ gboolean egg_tree_multi_drag_source_drag_data_get (EggTreeMultiDragSource *drag_source, GList *path_list, GtkSelectionData *selection_data) { EggTreeMultiDragSourceIface *iface = EGG_TREE_MULTI_DRAG_SOURCE_GET_IFACE (drag_source); g_return_val_if_fail (EGG_IS_TREE_MULTI_DRAG_SOURCE (drag_source), FALSE); g_return_val_if_fail (iface->drag_data_get != NULL, FALSE); g_return_val_if_fail (path_list != NULL, FALSE); g_return_val_if_fail (selection_data != NULL, FALSE); return (* iface->drag_data_get) (drag_source, path_list, selection_data); } static void stop_drag_check (GtkWidget *widget) { EggTreeMultiDndData *priv_data; GSList *l; priv_data = g_object_get_data (G_OBJECT (widget), EGG_TREE_MULTI_DND_STRING); for (l = priv_data->event_list; l != NULL; l = l->next) gdk_event_free (l->data); g_slist_free (priv_data->event_list); priv_data->event_list = NULL; g_signal_handler_disconnect (widget, priv_data->motion_notify_handler); g_signal_handler_disconnect (widget, priv_data->button_release_handler); } static gboolean egg_tree_multi_drag_button_release_event (GtkWidget *widget, GdkEventButton *event, gpointer data) { EggTreeMultiDndData *priv_data; GSList *l; priv_data = g_object_get_data (G_OBJECT (widget), EGG_TREE_MULTI_DND_STRING); for (l = priv_data->event_list; l != NULL; l = l->next) gtk_propagate_event (widget, l->data); stop_drag_check (widget); return FALSE; } static void selection_foreach (GtkTreeModel *model, GtkTreePath *path, GtkTreeIter *iter, gpointer data) { GList **list_ptr; list_ptr = (GList **) data; *list_ptr = g_list_prepend (*list_ptr, gtk_tree_row_reference_new (model, path)); } static void path_list_free (GList *path_list) { g_list_foreach (path_list, (GFunc) gtk_tree_row_reference_free, NULL); g_list_free (path_list); } static void set_context_data (GdkDragContext *context, GList *path_list) { g_object_set_data_full (G_OBJECT (context), "egg-tree-view-multi-source-row", path_list, (GDestroyNotify) path_list_free); } static GList * get_context_data (GdkDragContext *context) { return g_object_get_data (G_OBJECT (context), "egg-tree-view-multi-source-row"); } /* CUT-N-PASTE from gtktreeview.c */ static TreeViewDragInfo* get_info (GtkTreeView *tree_view) { return g_object_get_data (G_OBJECT (tree_view), "gtk-tree-view-drag-info"); } static void egg_tree_multi_drag_drag_data_get (GtkWidget *widget, GdkDragContext *context, GtkSelectionData *selection_data, guint info, guint time) { GtkTreeView *tree_view; GtkTreeModel *model; TreeViewDragInfo *di; GList *path_list; tree_view = GTK_TREE_VIEW (widget); model = gtk_tree_view_get_model (tree_view); if (model == NULL) return; di = get_info (GTK_TREE_VIEW (widget)); if (di == NULL) return; path_list = get_context_data (context); if (path_list == NULL) return; /* We can implement the GTK_TREE_MODEL_ROW target generically for * any model; for DragSource models there are some other targets * we also support. */ if (EGG_IS_TREE_MULTI_DRAG_SOURCE (model)) { egg_tree_multi_drag_source_drag_data_get (EGG_TREE_MULTI_DRAG_SOURCE (model), path_list, selection_data); } } static gboolean egg_tree_multi_drag_motion_event (GtkWidget *widget, GdkEventMotion *event, gpointer data) { EggTreeMultiDndData *priv_data; priv_data = g_object_get_data (G_OBJECT (widget), EGG_TREE_MULTI_DND_STRING); if (gtk_drag_check_threshold (widget, priv_data->x, priv_data->y, event->x, event->y)) { GList *path_list = NULL; GtkTreeSelection *selection; GtkTreeModel *model; GdkDragContext *context; TreeViewDragInfo *di; di = get_info (GTK_TREE_VIEW (widget)); if (di == NULL) return FALSE; selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (widget)); stop_drag_check (widget); gtk_tree_selection_selected_foreach (selection, selection_foreach, &path_list); path_list = g_list_reverse (path_list); model = gtk_tree_view_get_model (GTK_TREE_VIEW (widget)); if (egg_tree_multi_drag_source_row_draggable (EGG_TREE_MULTI_DRAG_SOURCE (model), path_list)) { context = gtk_drag_begin (widget, gtk_drag_source_get_target_list (widget), di->source_actions, priv_data->pressed_button, (GdkEvent*)event); set_context_data (context, path_list); gtk_drag_set_icon_default (context); } else { path_list_free (path_list); } } return TRUE; } static gboolean egg_tree_multi_drag_button_press_event (GtkWidget *widget, GdkEventButton *event, gpointer data) { GtkTreeView *tree_view; GtkTreePath *path = NULL; GtkTreeViewColumn *column = NULL; gint cell_x, cell_y; GtkTreeSelection *selection; EggTreeMultiDndData *priv_data; tree_view = GTK_TREE_VIEW (widget); priv_data = g_object_get_data (G_OBJECT (tree_view), EGG_TREE_MULTI_DND_STRING); if (priv_data == NULL) { priv_data = g_new0 (EggTreeMultiDndData, 1); g_object_set_data (G_OBJECT (tree_view), EGG_TREE_MULTI_DND_STRING, priv_data); } if (g_slist_find (priv_data->event_list, event)) return FALSE; if (priv_data->event_list) { /* save the event to be propagated in order */ priv_data->event_list = g_slist_append (priv_data->event_list, gdk_event_copy ((GdkEvent*)event)); return TRUE; } if (event->type == GDK_2BUTTON_PRESS) return FALSE; gtk_tree_view_get_path_at_pos (tree_view, event->x, event->y, &path, &column, &cell_x, &cell_y); selection = gtk_tree_view_get_selection (tree_view); if (path && gtk_tree_selection_path_is_selected (selection, path)) { priv_data->pressed_button = event->button; priv_data->x = event->x; priv_data->y = event->y; priv_data->event_list = g_slist_append (priv_data->event_list, gdk_event_copy ((GdkEvent*)event)); priv_data->motion_notify_handler = g_signal_connect (G_OBJECT (tree_view), "motion_notify_event", G_CALLBACK (egg_tree_multi_drag_motion_event), NULL); priv_data->button_release_handler = g_signal_connect (G_OBJECT (tree_view), "button_release_event", G_CALLBACK (egg_tree_multi_drag_button_release_event), NULL); if (priv_data->drag_data_get_handler == 0) { priv_data->drag_data_get_handler = g_signal_connect (G_OBJECT (tree_view), "drag_data_get", G_CALLBACK (egg_tree_multi_drag_drag_data_get), NULL); } gtk_tree_path_free (path); return TRUE; } if (path) { gtk_tree_path_free (path); } return FALSE; } void egg_tree_multi_drag_add_drag_support (GtkTreeView *tree_view) { g_return_if_fail (GTK_IS_TREE_VIEW (tree_view)); g_signal_connect (G_OBJECT (tree_view), "button_press_event", G_CALLBACK (egg_tree_multi_drag_button_press_event), NULL); } nemo-1.8.4/cut-n-paste-code/libegg/eggtreemultidnd.h000066400000000000000000000061451216702421000223200ustar00rootroot00000000000000/* eggtreednd.h * Copyright (C) 2001 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street - Suite 500, * Boston, MA 02110-1335, USA. */ #ifndef __EGG_TREE_MULTI_DND_H__ #define __EGG_TREE_MULTI_DND_H__ #include G_BEGIN_DECLS #define EGG_TYPE_TREE_MULTI_DRAG_SOURCE (egg_tree_multi_drag_source_get_type ()) #define EGG_TREE_MULTI_DRAG_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EGG_TYPE_TREE_MULTI_DRAG_SOURCE, EggTreeMultiDragSource)) #define EGG_IS_TREE_MULTI_DRAG_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EGG_TYPE_TREE_MULTI_DRAG_SOURCE)) #define EGG_TREE_MULTI_DRAG_SOURCE_GET_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), EGG_TYPE_TREE_MULTI_DRAG_SOURCE, EggTreeMultiDragSourceIface)) typedef struct _EggTreeMultiDragSource EggTreeMultiDragSource; /* Dummy typedef */ typedef struct _EggTreeMultiDragSourceIface EggTreeMultiDragSourceIface; struct _EggTreeMultiDragSourceIface { GTypeInterface g_iface; /* VTable - not signals */ gboolean (* row_draggable) (EggTreeMultiDragSource *drag_source, GList *path_list); gboolean (* drag_data_get) (EggTreeMultiDragSource *drag_source, GList *path_list, GtkSelectionData *selection_data); gboolean (* drag_data_delete) (EggTreeMultiDragSource *drag_source, GList *path_list); }; GType egg_tree_multi_drag_source_get_type (void) G_GNUC_CONST; /* Returns whether the given row can be dragged */ gboolean egg_tree_multi_drag_source_row_draggable (EggTreeMultiDragSource *drag_source, GList *path_list); /* Deletes the given row, or returns FALSE if it can't */ gboolean egg_tree_multi_drag_source_drag_data_delete (EggTreeMultiDragSource *drag_source, GList *path_list); /* Fills in selection_data with type selection_data->target based on the row * denoted by path, returns TRUE if it does anything */ gboolean egg_tree_multi_drag_source_drag_data_get (EggTreeMultiDragSource *drag_source, GList *path_list, GtkSelectionData *selection_data); void egg_tree_multi_drag_add_drag_support (GtkTreeView *tree_view); G_END_DECLS #endif /* __EGG_TREE_MULTI_DND_H__ */ nemo-1.8.4/cut-n-paste-code/libegg/update-from-egg.sh000077500000000000000000000006261216702421000223040ustar00rootroot00000000000000#!/bin/sh function die() { echo $* exit 1 } if test -z "$EGGDIR"; then echo "Must set EGGDIR" exit 1 fi if test -z "$EGGFILES"; then echo "Must set EGGFILES" exit 1 fi for FILE in $EGGFILES; do if cmp -s $EGGDIR/$FILE $FILE; then echo "File $FILE is unchanged" else cp $EGGDIR/$FILE $FILE || die "Could not move $EGGDIR/$FILE to $FILE" echo "Updated $FILE" fi done nemo-1.8.4/data/000077500000000000000000000000001216702421000133665ustar00rootroot00000000000000nemo-1.8.4/data/Makefile.am000066400000000000000000000031641216702421000154260ustar00rootroot00000000000000NULL= xml_in_files = nemo.xml.in xml_files = $(xml_in_files:.xml.in=.xml) @INTLTOOL_XML_RULE@ desktopdir = $(datadir)/applications desktop_DATA = $(desktop_in_files:.desktop.in=.desktop) desktop_in_files = \ nemo.desktop.in \ nemo-autorun-software.desktop.in autostartdir = $(sysconfdir)/xdg/autostart autostart_in_files = nemo-autostart.desktop.in autostart_DATA = $(autostart_in_files:.desktop.in=.desktop) @INTLTOOL_DESKTOP_RULE@ mimedir = $(datadir)/mime/packages mime_DATA = $(xml_files) servicedir = $(datadir)/dbus-1/services service_DATA = $(service_in_files:.service.in=.service) service_in_files = \ org.freedesktop.NemoFileManager1.service.in \ org.Nemo.service.in org.Nemo.service: org.Nemo.service.in Makefile $(AM_V_GEN) sed -e "s|\@bindir\@|$(bindir)|" $< > $@ org.freedesktop.NemoFileManager1.service: org.freedesktop.NemoFileManager1.service.in Makefile $(AM_V_GEN) sed -e "s|\@bindir\@|$(bindir)|" $< > $@ nemodatadir = $(datadir)/nemo nemodata_DATA = \ nemo-extras.placeholder \ nemo-suggested.placeholder \ $(NULL) EXTRA_DIST = $(nemodata_DATA) \ nemo.desktop \ nemo.desktop.in \ dbus-interfaces.xml \ freedesktop-dbus-interfaces.xml \ $(xml_in_files) \ $(desktop_in_files) \ $(service_in_files) \ $(autostart_in_files) \ $(NULL) CLEANFILES = $(xml_files) \ $(desktop_DATA) \ $(service_DATA) \ $(autostart_DATA) \ $(NULL) SUBDIRS = \ icons \ $(NULL) install-data-hook: if ENABLE_UPDATE_MIMEDB $(UPDATE_MIME_DATABASE) "$(DESTDIR)$(datadir)/mime" endif uninstall-hook: if ENABLE_UPDATE_MIMEDB $(UPDATE_MIME_DATABASE) "$(DESTDIR)$(datadir)/mime" endif nemo-1.8.4/data/dbus-interfaces.xml000066400000000000000000000031041216702421000171640ustar00rootroot00000000000000 " nemo-1.8.4/data/freedesktop-dbus-interfaces.xml000066400000000000000000000026721216702421000215060ustar00rootroot00000000000000 nemo-1.8.4/data/icons/000077500000000000000000000000001216702421000145015ustar00rootroot00000000000000nemo-1.8.4/data/icons/Makefile.am000066400000000000000000000055721216702421000165460ustar00rootroot00000000000000NULL = public_icons_themes = \ hicolor \ $(NULL) public_icons = \ hicolor_apps_16x16_nemo.png \ hicolor_apps_22x22_nemo.png \ hicolor_apps_24x24_nemo.png \ hicolor_apps_32x32_nemo.png \ hicolor_apps_scalable_nemo.svg \ hicolor_actions_16x16_nemo-eject.png \ hicolor_actions_scalable_view-compact-symbolic.svg \ hicolor_actions_scalable_location-symbolic.svg \ hicolor_actions_scalable_sidebar-hide-symbolic.svg \ hicolor_actions_scalable_sidebar-show-symbolic.svg \ hicolor_actions_scalable_sidebar-tree-symbolic.svg \ hicolor_actions_scalable_sidebar-places-symbolic.svg \ $(NULL) private_icons = \ hicolor_emblems_16x16_emblem-note.png \ hicolor_emblems_24x24_emblem-note.png \ hicolor_emblems_48x48_emblem-note.png \ $(NULL) noinst_DATA = \ hicolor_apps_16x16_nemo.svg \ hicolor_apps_22x22_nemo.svg \ hicolor_apps_32x32_nemo.svg \ $(NULL) EXTRA_DIST = \ $(public_icons) \ $(private_icons) \ $(noinst_DATA) \ $(NULL) ############################################################################### gtk_update_icon_cache = gtk-update-icon-cache -f -t update-icon-cache: @-if test -z "$(DESTDIR)"; then \ echo "Updating Gtk icon cache."; \ for theme in $(public_icons_themes); do \ $(gtk_update_icon_cache) $(datadir)/icons/$$theme; \ done; \ else \ echo "*** Icon cache not updated. After (un)install, run this:"; \ for theme in $(public_icons_themes); do \ echo "*** $(gtk_update_icon_cache) $(datadir)/icons/$$theme"; \ done; \ fi install-icons: for icon in $(public_icons); do \ THEME=`echo $$icon | cut -d_ -f1`; \ CONTEXT=`echo $$icon | cut -d_ -f2`; \ SIZE=`echo $$icon | cut -d_ -f3`; \ ICONFILE=`echo $$icon | cut -d_ -f4`; \ mkdir -p $(DESTDIR)$(datadir)/icons/$$THEME/$$SIZE/$$CONTEXT; \ $(INSTALL_DATA) $(srcdir)/$$icon $(DESTDIR)$(datadir)/icons/$$THEME/$$SIZE/$$CONTEXT/$$ICONFILE; \ done; \ for icon in $(private_icons); do \ THEME=`echo $$icon | cut -d_ -f1`; \ CONTEXT=`echo $$icon | cut -d_ -f2`; \ SIZE=`echo $$icon | cut -d_ -f3`; \ ICONFILE=`echo $$icon | cut -d_ -f4`; \ mkdir -p $(DESTDIR)$(pkgdatadir)/icons/$$THEME/$$SIZE/$$CONTEXT; \ $(INSTALL_DATA) $(srcdir)/$$icon $(DESTDIR)$(pkgdatadir)/icons/$$THEME/$$SIZE/$$CONTEXT/$$ICONFILE; \ done uninstall-icons: -for icon in $(public_icons); do \ THEME=`echo $$icon | cut -d_ -f1`; \ CONTEXT=`echo $$icon | cut -d_ -f2`; \ SIZE=`echo $$icon | cut -d_ -f3`; \ ICONFILE=`echo $$icon | cut -d_ -f4`; \ rm -f $(DESTDIR)$(datadir)/icons/$$THEME/$$SIZE/$$CONTEXT/$$ICONFILE; \ done; \ for icon in $(private_icons); do \ THEME=`echo $$icon | cut -d_ -f1`; \ CONTEXT=`echo $$icon | cut -d_ -f2`; \ SIZE=`echo $$icon | cut -d_ -f3`; \ ICONFILE=`echo $$icon | cut -d_ -f4`; \ rm -f $(DESTDIR)$(pkgdatadir)/icons/$$THEME/$$SIZE/$$CONTEXT/$$ICONFILE; \ done install-data-local: install-icons update-icon-cache uninstall-local: uninstall-icons update-icon-cache nemo-1.8.4/data/icons/hicolor_actions_16x16_nemo-eject.png000066400000000000000000000012041216702421000233360ustar00rootroot00000000000000‰PNG  IHDRóÿabKGDÿÿÿ ½§“ pHYs|4k¡tIMEÜ 8¶œtrIDAT8Ë…S½jbA=×I v-¹^‰,Ä2El$¸`š<ÁbîsËÙ"ø !b …4*ÑB SY¬¢2s¿Ù"{]“÷À9ßßÌù4¼C"‘@2™„Ïçƒ×ëL&ŒF#”J%T*ìc ¹\³ÙÌÃ9¿åœ?qÎWùÄ9¿Ífž\.ÆØ6N³‚kµ‚ÁàµRê'ûþ2Xišöc0Ü]\\À4M0Èd2ˆF£×Dô‹ˆŽ‰Ÿð˜ˆ®œNçÔívwªÕ*´X,†B¡àaŒ ÞW€ápø¡Ó4ƒ©Tjj‹ÇãPJ¥¥”v)%,ZÁV¢Ý;)¥])•ŽÇã°†)åå®  }> ½Orilº®Cq*„€ápŸ!ÃÒ !Nu]ÇÑf³”r+j·Ûp8{,—Ë7ÚÍfƒ£^¯‡³³³g8??Ç!4›MëøÜëõ`ë÷ûRÞ[³ý;opßï÷¡œœ ›Ízìvûà€>|ãjµ ¦Óé)›ÏçRþŽD"œˆ®˜hKÓ4oŠÅâC£Ñxub·Û…ßïï¸\®©RêÛ7®LÓ¼iµZwù|þu‡¬žêõ:Öëu'c‚ˆ¾ÑW"’DÔ%¢âb±ø^.— …”Rÿ–i^¯Ñh†a@×uÀËË Æã11™LÞèÿi|€Ú•IEND®B`‚nemo-1.8.4/data/icons/hicolor_actions_scalable_location-symbolic.svg000066400000000000000000000016371216702421000257450ustar00rootroot00000000000000 nemo-1.8.4/data/icons/hicolor_actions_scalable_sidebar-hide-symbolic.svg000066400000000000000000000014621216702421000264510ustar00rootroot00000000000000 nemo-1.8.4/data/icons/hicolor_actions_scalable_sidebar-places-symbolic.svg000066400000000000000000000010331216702421000270010ustar00rootroot00000000000000 nemo-1.8.4/data/icons/hicolor_actions_scalable_sidebar-show-symbolic.svg000066400000000000000000000015461216702421000265230ustar00rootroot00000000000000 nemo-1.8.4/data/icons/hicolor_actions_scalable_sidebar-tree-symbolic.svg000066400000000000000000000011431216702421000264730ustar00rootroot00000000000000 nemo-1.8.4/data/icons/hicolor_actions_scalable_view-compact-symbolic.svg000066400000000000000000000005651216702421000265320ustar00rootroot00000000000000 nemo-1.8.4/data/icons/hicolor_apps_16x16_nemo.png000066400000000000000000000010021216702421000215450ustar00rootroot00000000000000‰PNG  IHDRóÿasRGB®ÎébKGDÿÿÿ ½§“ pHYs × ×B(›xtIMEÜ 6R?ÀH‚IDAT8Ë¥“¿nA‡¿Éº„„„ÄCðÔ)Ü厖àxJ*Dá?²ÒYT¼F¤ÔD‰ÅÄæì»ÛŠ8Ÿ}‰"±ÕîÎü¾™™…ÿ\0™LNÝý-à-£È¼ßï¿y0N…Þçy~$IË85I’«]‘»ŸçyþND\†Ãaèõzi–e{ôõzªîÝÏf³< šdYÆço¨êòIï6ÓÔÜŠO_Ž.Ó&ZU0è}ì.ÒÝNZ–ÃÇ__§Û>ªÊïùI@šƒ»a®àFQÞÞWÌ"1Öû)oDfŠc¸+æJQüñtKOÔHˆ0ÌnÔ· mîÍ”åz+µHˆ«òuÅ,b®D èF„;HkTîËbΪ\0_žß\q÷Î:t®¬ª%ËÅhwAvàĨëD:‚µÕ‚îé¶KÔH*ÙÍ´QŠ4ó ੈ\ŽF£ÉÁá³ãŸßåÉßÐÝAÎî/Wí'=º"p\ÿ2wãÑ4óÀ³IEND®B`‚nemo-1.8.4/data/icons/hicolor_apps_16x16_nemo.svg000066400000000000000000000053551216702421000215770ustar00rootroot00000000000000 nemo-1.8.4/data/icons/hicolor_apps_22x22_nemo.png000066400000000000000000000014501216702421000215460ustar00rootroot00000000000000‰PNG  IHDRÄ´l;sRGB®ÎébKGDÿÿÿ ½§“ pHYs × ×B(›xtIMEÜ  ((»¨IDAT8ËÕ•½n$E…¿[ÓH°?é+"b§#˳ÍIÈyRÃðH<‡‘ ìБÚ€W ˜õzlOOwÝ?‚ê­Ñ+oDI­–®ª¾>uî©.ø¿ ÈL9==}wNY–RžÌçóÛ×wGGG²¿¿ÿøàà`礳³³·Tõ}àõÁ'''?¹ûG"bîÞíšTJ)îþëñññ¿±*ðñáááϪ~8ŸÏ)¥tî¾sÅÞÞÞÛÿ¥ðüü¼_­VO€vwqw2“¯¾ùs}h¿>¾ÿüë§ µÙ¹;p„óÉÓϘ• "™dF›“AFàéíA„³–,nž³¸¾ä·Ë?ßí"3£”2%`Æ//.(¥c6Õ2ÇÝ07< wÅÌp7ª¨ŽT¨:r×/¥sw"š€"B)…n6kÊKÁÝH 3"sC½ÔFFQêÀݰÌÎÌÄÝÛÖH&[p2ŒC­¢6Nê*ê“Â:Pmd¬kªŽ uͪ_JlÀ‰…2èšÒ|!³ùi6R­¢6 :2N0«¨UÌu%£%kÛ<áný’õxÇÍj$IBž­AñŠÏæÚ¼žêA†“’HÒ¶ WËßY·ÜöW)ˆx%±mâ½gS G²ý(¶VÐìE½RuD¤Em"o£áȧt4õæ61„L²33Ì ¡P0WÆ:PD@dÓÏ{ªwÁ7#3°ÎÝ·`ÓJÕA¶µl+Úáø|Ó{à"ÚEÄ6n"u¥ÖaR+÷lUgüóÁÎ$sRÜzÇubVžIEND®B`‚nemo-1.8.4/data/icons/hicolor_apps_22x22_nemo.svg000066400000000000000000000073531216702421000215710ustar00rootroot00000000000000 nemo-1.8.4/data/icons/hicolor_apps_24x24_nemo.png000066400000000000000000000015321216702421000215530ustar00rootroot00000000000000‰PNG  IHDRàw=øsRGB®ÎébKGDÿÿÿ ½§“ pHYs × ×B(›xtIMEÜ  \ +ßÚIDATHÇÕ•Ïj$UƧ»& Ä'Üù­àVðܺÌÆ½àd#Ì2†$.BnWJÆÅš˜ÉdÒªîý¾ã¢ª«;š ÎÌÆÛ4·«¾¯¾ß¹ç4üßWdfœžžžKzüÐÓéôéööö‡¯å²¿¿?=::ʇ–¤<>>.¯£Ý?“ôx2™TIÍ}7e&™‡‡‡ùo‚ÓéôÙîîî#¢ƒƒƒÜÙÙykÌONN8;;›îíí ‘„$¾üæloæò>úüëhË캱$2>ýø3bq‘³âÒ8=`3ÎÄÍlyÍÍü‚ëÙ%ç¿üúÞ†† ¿]?eADÐûšt"‹L!gŸÜi,¡–)n)µ¥ªc±œE# ÛØ‚&@B1™™Èƒ ‰3IáÕ…ª‚T(ꨵPÕQU˜/nÈÆ3Òã¢?=kT»•ªµX­kƒR;ª:æí-M­u0Idã08±{þ²Ê(,—ñmK-­Ðôû’hË2Ƕ©îÝ—Ý-ýÇ UäB©-²(*¨äÞÜZ]5€š¡SC®Ì7´Ý-¯æ/0†ì‹¯tb¼¾Ú}j_ {^ýžI9Yׯ.Xt3fËë;½c7{H´6Ùׯž-2r]äZ 1™ŒE ‚U+ôuΡî1ÉDZ'‹„ÆvJж[ðhº5-V³6W)r5“Ö˜F³‚×G^ª£bÙÎyÔlQj7$øçÀcÕ&›fk<½„FD˲ i¶èjK­Ý=u)‡QáLè' @ml§mº²¤iJm)¥ãN„\‘º‹éï5¹óB$”1Álñ._>§¬Ä*÷ƒ ƒøC«GËFR½ººšþüüGŠgüþâ|m0ÆÈÿ<±UE—MÛ¶_}ÿÓ/~úóÛ-€‹Ë?Þæþw›¤ßÞ¶ÞP´fÀà/Þý÷M àIEND®B`‚nemo-1.8.4/data/icons/hicolor_apps_32x32_nemo.png000066400000000000000000000020601216702421000215460ustar00rootroot00000000000000‰PNG  IHDR szzôsRGB®ÎébKGDÿÿÿ ½§“ pHYs × ×B(›xtIMEÜ "Qþ%t°IDATXÃíWËnd5=åÛâØ $Ä:½JYBšàKXð³âWØe•]Ä6!!„4“Nw__WÕaa_Ûô00 ‰qdÙ¾}»ëÔ9ÇexÝ^·ÿ{“~qqqñµ»¯DòcÁóæËåò«³³³Oÿ.€E¿p÷Õùùù ¿DWWWŸ¼ ]ö߇€å iÁ0 vyyÉCìü{!†.NNN>Ú@ò½ÓÓSüSÈW«Õâe2&)×××>`@Dpssóï˜ðóÇžøàUü ÓAwÌóÒìæŽ òÓ—_\¾»:Þôñg8Z¼ „aÀ  aÀúÃFƒ»ÂÜ`žÚh ÉÔ&¨%$`1iDÒµˆ¤e"¾ûæÇwª œà<þåÙB " ³z%+ÂÝàn°:jMaœšÂ]¡®°y®ùó¤É55“¹!Bˆ DD2un‚ðÜiðÒ ó\s÷ÖÍó3£B5A5M0§7©iÉVJu’2#DPõ# ôˆT df>3P‚ù¡ž0i„yÜu xTS NÈz»„ Á™×…ëúLs¥{leÝuõSER…ªŽ€Óã”F„e6” ‘½:Mô&´ˆÂÌjPóµ.°ÍžHy^Ø‚ 1 ¦»qÚâ( H>åÀ"p¶_þsÏ»g]i0ëw…–ÝPt·fPÒ@zNÅÙVæi;Æ ÂòÉÆê‚<°îop–Á«ž5{oÌäÏ­.»ÇYæùûl:ÝíâË7)EHZ’IÁìæ@6$»õÌŒƒ¶wÛûwæg``jw›ñGQu›_A ÊP¹`ˤ¯vî]ÀbÖÜðú®”» àéö·§ÏÖ¿âè-©ˆ”m¸ïÄ Œlc©¹@y—ù=Þu#_WâXOi„§æÀRÍØeôšî×ù™>`£˜˜£ÝÆ4×l…È|®Ë¡µžÙðÃ@HB/Ò:Aãm; ([ÑSŠ!ïÑFÿ=ª 3 ³'rf­`±—¤<››9V¨¾ÛŤã¸;"YXÏ ÜS Àè˜)ï˜è”¬ûfÉÚ"#Ç”ÔbŒ]öò°Ÿ}•„Ý®àÁÀsÓä®ÎVŠÍ0McÄnŒÈÞ{D@»µq’ù´|p Û_§dpEÀO6e³þyúËw¼—ºB|´oï§·ð6€á¾€5ýOügô;å5²üà_ÁªIEND®B`‚nemo-1.8.4/data/icons/hicolor_apps_32x32_nemo.svg000066400000000000000000000076261216702421000215760ustar00rootroot00000000000000 nemo-1.8.4/data/icons/hicolor_apps_scalable_nemo.svg000066400000000000000000000074751216702421000225650ustar00rootroot00000000000000 nemo-1.8.4/data/icons/hicolor_emblems_16x16_emblem-note.png000066400000000000000000000010261216702421000235020ustar00rootroot00000000000000‰PNG  IHDR‘h6 pHYs  ÒÝ~ütIMEÓ : èDÇ>tEXtCommentCreated with The GIMP (c) 2003 Jakub 'jimmac' Steiner'3ïXkIDATxÚ’=K\A…Ïsæ‚ZDBüÀ"M°J)’@¶6B¥U¾ ó4VVY„6©£AÙM ›]A‹ F×p×\‹{ïîu‹€žbfžóžÃ0Ò5…¤æñîÿ¡ÛÃâŸS­½;ƒ³[Qzô£úlçkÁÖøäëöÑt¼Ó÷¬Ôä,(§mÛºBÿšŠwúŸo4߬ïu !)j›(£ÿ~tþyàéÆïµ÷_¶7$EÅ„t*O.Ÿí?<« /¾=,•+õêR«Õ.V :Ø’TûöøÅ‡z©\i|}€®$é{Ës3#÷Ÿ¬HÊiR23Ø&‰°H*:ªW—èHÈîzT;xÙÙ£¼R„! Àù¦¨ÞJ€ò{ P§]ÃÐÝùí 7ñ1ú%¥™Ÿf†åÕ§ùéÿ0’,ÔyÖ±Ñ[y°°³XV$ NÎu]ÜtEXtCommentCreated with The GIMP (c) 2003 Jakub 'jimmac' Steiner'3ïXÔIDATxÚÝ–ÉkQ‡¿ª×Ét›™ Îh4<˜‹"‚ ®AÁ«… 'EðˆâöOhDTTTT$.7/^¼¸ƒA0*¸o‰Cœ%3Óýƒ@ðëRdT±˜ªEQYƒˆeþ²ƒä­ w/A×å¯ôôõsêÈfRÉDuyÀS>9ä§ð’oxõ|{¯ÐÓ×Ïé£[˜•M2·%#J@ßÔo²*Dépµ ÎX°¼›Mëg³°ó §n!›i¢­µ×k/§jž3­b-åŠÀÕ›Cœ8ÔICƒ!›™A[kšl¦‰JL9·^À€úÑêÄl0Vò¹~aÃÃ9Œ1¤ÓsZRd3Mx®C¾Pžž€Z‰‹ j5$Ùl’™Í.©”G²ÉÅu°Â¥2‡–ö­ø•"JP {R¹4LcÊ'‘|ž›¦±ÑÁÄíCOs¿¸uó0Ÿ¿ S™hº{#(ЍDÕ/µ}ùg­³]i®‚G^uŽFÇØ*(#X+|-þ³ÎbÀ›*˜ù?ÅêZš"†Æ©ªû7GU³ý?þ$~R²ûšÕ®´IEND®B`‚nemo-1.8.4/data/icons/hicolor_emblems_48x48_emblem-note.png000066400000000000000000000046261216702421000235250ustar00rootroot00000000000000‰PNG  IHDR00Wù‡bKGDÿÿÿ ½§“ pHYs  ÒÝ~ütIMEÓ "4Ü9rl #IDATxÚí™kpTåÇï{ÎÞ“ÍîæNHDn^Zp¬ZLm?رíX­½M§_ìtúE?ØŽµýÐŽÓN;~pÔ2Õ©(TTŠJ½´U!Ü $å’Ëæ¶ÙÍž=÷~ÈY\"ÐDÀú!ÏÌ;;³gÏÙÿÿyþÏó¼Ï{`Æ>73.˜‰À ‰ûBIiFN3v9¤$®>Ïgî•` ¯øj`Kiiéfà>@ñþGù"'Ÿð@Þ¹lqÅÖÍoýáã÷ßyþÀœÚØZ`=ð „Ä• ÷äkâRÈ P_Qyàå~óÕë—ÄÃföRÂHJK>¹z×é ›õ÷%3ÿþX€í=Ë-x¦{¹Ü< øµÀi 8\ðpp-píïÿéüÆ[/šÁÈEJR"…@HB°yÛ±¡¦æÓgþüìî­ÀÀNŒã­i“¹ßn\ûă˖ß=¸Gnû®Ã>r<(„°›÷R±"¥¢,|&Qlžüå¯Y<§&2 ×$7Ú‚”!& E")¤1qýõ·ÚFš÷w·¯yµcp,mn‘—ŸÜ3Ô×â ád‡Ô4n«ñœ©{ùrN$.F â­`6ð\8äó=ùûÄ]÷ÜWéóÕtr¹T'RD T~Ф˜D2/%¤À±,“¸¶N´²±Oø[UéÍÛß2@® z ^„€åÝ ½ÀgUß™ˆ.8¹Nµt‡Ùõ÷-[N.}‚ôàv\$¸àâ×u&J¾®tÀ•\\Wx&®»¸ŒgÆI ¦(*.Fo º§ª KËcŒx0'ËèbP¼›ƒÀæHØ9´óçq)(×4“\NÇ4,LÃfÎ’Ÿ • (Cë#ÓÿÁ9R‘rb×"'I)ŸK½Cè¹q• ÈjE£eÑј1r€PÉ,¢ 9ÜåU©1À(”ÑÅ"àxQxéáŸÝtæ±_?z‡ëEÏ!ààªw¢Úì\ƒ®[(Š`ÞÒû)©ûVö$ùÒêNö¼ã‚$û†Ðr9\gŒPÉ ]ÏºÅ¡áØØ‰MÄæÞƒ5Þ‘ßîø'uð)I(oá#]Ci!Cc¾È5Q| { ÜH¡¢( ë.ª¢`š]íÏáÚ6u·RTRK´öG8f?ƒ'Þ%•Ê d2YM#° |%7ë•"4ÙžwHÌ¿‡Ì©MW.üŸŒ˜Âþæ6à©îÖ_,¡kDªuW-ÂNû-½mx ®ëb&–ecY6¶m“ÓM\ÇÁ0lLË&5–#PÂE PUˆüñF#¤˜„}ý~;¹•ؼï2žl¥ìª[hß³¡å+?ܾçåá¨'!g*ÊÛÀÕ| ×uèùhs žEI¢œc„«~,]3©Ê¡wAeIlKð ,ÛF“.AGð…&d„ƒë8„ƒ jì6C±²„Ô~¿1°…ØÜ»I쥼n%-M¯µ¯¼·y!ð´—¼öùšÙT|° ­ð¨™w;Rqé9Þ„èõ—U^…¨5Mw•ögÃæÈ{èz?Š¢àXŸ –e´–=Q‰ÅEWÓ{,”Ý~3ÕMbÞ]Œö6S5çFö6½ÒñµU-1àoÀ[€VИjÊK(ìî?þ׆DÕ-èÚ™ÑãD¢µøü~’§w“ËTÌ^†?'=ÈJÒ>'½Å§gŽbY6Ží`B¸¸Žƒæûf:*;‹ÍÌ)0Ç(©YAz …ª«oeߎW;n»¿%¼éíú€¤W>Õ”) <XvôhWOEèHEyõ¢P¼b)¶m“r˜“­Dc _(Qdd…e) Z$\äÖ TEà•£ûÓ1ÙVlŽŸ!ôŽÏGi§¬n%ûw½–ÿ<ð¾|ØkbºþSµ~*ƒÊ‡Gº’‘7´gŽùë'¢E%sÔDõõX†ÁH+ÑÒÊf]K.}œdOª°e¢´Ô¯FиnL„—Ú†ÊÆÔΨ>Ü/XL(:] ^µŒ¶=ó²ù'ðAø±Ir§C Ä  ­µ½Ç]ýâ^; ùbþãxY½¯ºS×M¶‰-"QÙ€®õÒwºS ¼ª&.®õùµæ`ºk=Áø‚‘ã#G)­^Æþ]ov4®j)¶¼¦5¤ À;çÛ*Óœ\àc ùÃ]æê5»#ÂS¾xù5VÑ€ešŒ&Û)Š×“¨¬ÇµRôÜG(’`üðã„*—(ªE$Q½”–ov4Nx~°î<àÍɺŸn ;³í=к€mÛw}d¬~aglvyV™ _)‰êå˜Fš±áN"ñzUK#gÅ%›I-›Ë¾¦7:Wµæe³aºà§CÀ- `y /±Ž[ß~¯ƒ5¯ì.-‹å¬º²áˆôW¨¼SÏK#Õù9Ó¤¤²a2øMŸüt#ÀEHÀá¬f¼÷öÚä ëw–—Ç ­®|´H TQ\þeTÕŵ(J,doÓë«Zã— þ³œ·‹‚OÅ[~¯W„" ê­ÊJ‹o|cí#‰úWEKI·=Ä¡FüóÀ®K9N‡ït"ä >•ÀÕÞL}3p7°~ÑÂÙ=ÍÏ oéK­ÞéÆÓÀíÀrï÷ ïêt*. NÞÔ D¤ø>°xH{5~äR=/.cD& ‰xV¼üÉz *ã7.Tç?ïwNâ<òò{dòC‰í%~îBcâá¥Ùd"jÁá®[PÉìK?c36c3öÿ·ÿÿ1õü‰-9IEND®B`‚nemo-1.8.4/data/nemo-autorun-software.desktop.in.in000066400000000000000000000131571216702421000222630ustar00rootroot00000000000000[Desktop Entry] Name=Autorun Prompt Name[af]=Autorun Prompt Name[am]=Autorun Prompt Name[ar]=محث التنÙيذ التلقائي Name[as]=অটোৰান সংকà§à§°à¦¾à¦¨à§à¦¤ পà§à§°à¦®à¦ªà§à¦Ÿ Name[ast]=Programa d'autoexecución Name[az]=Autorun Prompt Name[az_IR]=Autorun Prompt Name[be]=ПацвÑрджÑнне аўтаматычнага запуÑку Name[be@latin]=Zapyt aÅ­tamatyÄnaha Å­ruchamleÅ„nia Name[bg]=Питане за автоматично Ñтартиране Name[bg_BG]=Питане за автоматично Ñтартиране Name[bn]=অটোরান সংকà§à¦°à¦¾à¦¨à§à¦¤ পà§à¦°à§‹à¦®à¦ªà§à¦Ÿ Name[bn_IN]=অটোরান সংকà§à¦°à¦¾à¦¨à§à¦¤ পà§à¦°à¦®à¦ªà§à¦Ÿ Name[bo]=རང་འགུལ་གྱིས་འà½à½¼à½¢à¼‹à½¦à¾à¾±à½¼à½‘་ལ་གསལ་འདེབས་ Name[br]=Pedadenn emerounit Name[ca]=Pregunta d'execució automàtica Name[ca@valencia]=Pregunta d'execució automàtica Name[crh]=KendiliÄŸinden Çalışma Sorusu Name[cs]=Výzva automatického spuÅ¡tÄ›ní Name[da]=Autokørselsforespørgsel Name[de]=Autostart-Nachfrage Name[de_CH]=Autostart-Nachfrage Name[de_DE]=Autostart-Nachfrage Name[dz]=Autorun Prompt Name[el]=Ειδοποίηση αυτόματης εκτέλεσης Name[en@shaw]=Autorun Prompt Name[en_AU]=Autorun Prompt Name[en_CA]=Autorun Prompt Name[en_GB]=Autorun Prompt Name[eo]=AÅ­tomata lanĉinvito Name[es]=Pregunta de autoejecución Name[es_AR]=Pregunta de autoejecución Name[es_CL]=Pregunta de autoejecución Name[es_CO]=Pregunta de autoejecución Name[es_CR]=Pregunta de autoejecución Name[es_DO]=Pregunta de autoejecución Name[es_EC]=Pregunta de autoejecución Name[es_ES]=Pregunta de autoejecución Name[es_GT]=Pregunta de autoejecución Name[es_HN]=Pregunta de autoejecución Name[es_MX]=Pregunta de autoejecución Name[es_NI]=Pregunta de autoejecución Name[es_PA]=Pregunta de autoejecución Name[es_PE]=Pregunta de autoejecución Name[es_PR]=Pregunta de autoejecución Name[es_SV]=Pregunta de autoejecución Name[es_UY]=Pregunta de autoejecución Name[es_VE]=Pregunta de autoejecución Name[et]=Automaatkäivituse küsimus Name[et_EE]=Automaatkäivituse küsimus Name[eu]=Autoexekuzioaren galdera Name[fa]=اعلان اجرای خودکار Name[fa_IR]=اعلان اجرای خودکار Name[fi]=Automaattisuorituksen kehote Name[fr]=Invite d'exécution automatique Name[fur]=Autorun Prompt Name[fy]=Autorun Prompt Name[ga]=Autorun Prompt Name[gl]=Preguntar polo autoarrinque Name[gu]=પà«àª°à«‹àª®à«àªªà«àªŸàª¨à«‡ આપમેળે ચલાવો Name[gv]=Roie choonee hene Name[ha]=Autorun Prompt Name[he]=בקשה להפעלה ×וטומטית Name[hi]=सà¥à¤µà¤¤à¤ƒ चलाà¤à¤ पà¥à¤°à¤¾à¤‚पà¥à¤Ÿ Name[hr]=Autorun Prompt Name[hu]=Automatikus futtatás Name[hy]=Autorun Prompt Name[id]=Sapaan Jalan Otomatis Name[ig]=Autorun Prompt Name[io]=Autorun Prompt Name[is]=Sjálfkeyrslukvaðning Name[it]=Conferma esecuzione automatica Name[it_IT]=Conferma esecuzione automatica Name[ja]=オートランã®å•ã„åˆã‚ã› Name[ka]=áƒáƒ•ტáƒ-გáƒáƒ¨áƒ•ების შემáƒáƒ—áƒáƒ•áƒáƒ–ებრName[kk]=Autorun Prompt Name[km]=Autorun Prompt Name[kn]=ತಾನಾಗಿಯೆ ಚಲಾಯಿಸà³à²µ ಪà³à²°à²¾à²ªà³à²Ÿà³ Name[ko]=ìžë™ì‹œìž‘ í™•ì¸ Name[ku]=Autorun Prompt Name[li]=Autorun Prompt Name[lt]=Automatinio paleidimo raginimas Name[lv]=AutomÄtiskÄs palaiÅ¡anas uzvedne Name[mai]=Autorun Prompt Name[mg]=Autorun Prompt Name[mi]=Autorun Prompt Name[mk]=ÐвтоматÑко извршување Name[ml]=Autorun Prompt Name[mn]=Autorun Prompt Name[mr]=पà¥à¤°à¥‰à¤®à¤ªà¥à¤Ÿ आपोआप चालवा Name[ms]=Desakan Lari auto Name[ms_MY]=Desakan Lari auto Name[my]=Autorun Prompt Name[my_MM]=Autorun Prompt Name[nb]=Dialog for automatisk kjøring Name[nds]=Autorun Avfrage Name[ne]=Autorun Prompt Name[nl]=Autorun dialoogvenster Name[nl_NL]=Autorun dialoogvenster Name[nso]=Autorun Prompt Name[oc]=Demanda d'execucion automatica Name[or]=ସà­à­±à­Ÿà¬‚ଚାଳନ ପà­à¬°à­‹à¬®à­à¬ªà¬Ÿ Name[pa]=ਆਟੋ-ਰਨ ਸਵਾਲ Name[pl]=Pytanie o automatyczne uruchamianie Name[ps]=Autorun Prompt Name[pt]=Questão de Execução Automática Name[pt_BR]=Pergunta de execução automática Name[pt_PT]=Questão de Execução Automática Name[ro]=Solicitare pornire automată Name[ru]=Предложение автозапуÑка Name[si]=Autorun Prompt Name[sk]=Výzva automatického spustenia Name[sl]=Poziv samodejnega zagona Name[sr]=ÐутоматÑко покретање Name[sr@Latn]=Automatsko pokretanje Name[sr@ije]=ÐутоматÑко покретање Name[sr@latin]=Automatsko pokretanje Name[sv]=Automatisk körning Name[ta]=தானியஙà¯à®•ி தூணà¯à®Ÿà®¿ Name[ta_LK]=தானியஙà¯à®•ி தூணà¯à®Ÿà®¿ Name[te]=à°¸à±à°µà°¯à°‚చాలకంగా à°…à°¡à±à°—à± Name[th]=คำถาม Autorun Name[tk]=Autorun Prompt Name[tr]=KendiliÄŸinden Çalışma Sorusu Name[ug]=ئۆزلۈكىدىن ئىجرا ئەسكەرتىشى Name[uk]=ÐŸÑ€Ð¾Ð¿Ð¾Ð·Ð¸Ñ†Ñ–Ñ Ð°Ð²Ñ‚Ð¾Ð·Ð°Ð¿ÑƒÑку Name[uz]=Autorun Prompt Name[uz@cyrillic]=Autorun Prompt Name[vi]=Há»i tá»± động chạy Name[wa]=Autorun Prompt Name[yi]=Autorun Prompt Name[yo]=Autorun Prompt Name[zh]=自动è¿è¡Œæç¤º Name[zh_CN]=自动è¿è¡Œæç¤º Name[zh_HK]=自動執行æç¤º Name[zh_TW]=自動執行æç¤º Name[zu]=Autorun Prompt TryExec=nemo-autorun-software Exec=nemo-autorun-software %u Icon=application-x-executable NoDisplay=true Terminal=false StartupNotify=false Type=Application MimeType=x-content/unix-software; X-GNOME-Bugzilla-Bugzilla=GNOME X-GNOME-Bugzilla-Product=nemo X-GNOME-Bugzilla-Component=general X-GNOME-Bugzilla-Version=@VERSION@ nemo-1.8.4/data/nemo-autostart.desktop.in000066400000000000000000000003051216702421000203460ustar00rootroot00000000000000[Desktop Entry] Type=Application Name=Nemo Comment=Start Nemo desktop at log in Exec=nemo -n OnlyShowIn=GNOME;Unity; AutostartCondition=GSettings org.nemo.desktop show-desktop-icons NoDisplay=true nemo-1.8.4/data/nemo-extras.placeholder000066400000000000000000000000741216702421000200350ustar00rootroot00000000000000This file is a placeholder for the nemo extras meta-package nemo-1.8.4/data/nemo-suggested.placeholder000066400000000000000000000001001216702421000205070ustar00rootroot00000000000000This file is a placeholder for the nemo suggested meta-package nemo-1.8.4/data/nemo.desktop.in.in000066400000000000000000000237741216702421000167460ustar00rootroot00000000000000[Desktop Entry] Name=Files Name[af]=Files Name[am]=Files Name[ar]=Ø§Ù„Ù…Ù„ÙØ§Øª Name[as]=নথিপতà§à§°à¦¸à¦®à§‚হ Name[ast]=Ficheros Name[az]=Files Name[az_IR]=Files Name[be]=Файлы Name[be@latin]=Файлы Name[bg]=Файлове Name[bg_BG]=Файлове Name[bn]=ফাইল Name[bn_IN]=ফাইল Name[bo]=Files Name[br]=Files Name[ca]=Fitxers Name[ca@valencia]=Fitxers Name[crh]=Dosyeler Name[cs]=Soubory Name[da]=Filer Name[de]=Dateien Name[de_CH]=Dateien Name[de_DE]=Dateien Name[dz]=Files Name[el]=Files Name[en@shaw]=Files Name[en_AU]=Files Name[en_CA]=Files Name[en_GB]=Files Name[eo]=Dosieroj Name[es]=Archivos Name[es_AR]=Archivos Name[es_CL]=Archivos Name[es_CO]=Archivos Name[es_CR]=Archivos Name[es_DO]=Archivos Name[es_EC]=Archivos Name[es_ES]=Archivos Name[es_GT]=Archivos Name[es_HN]=Archivos Name[es_MX]=Archivos Name[es_NI]=Archivos Name[es_PA]=Archivos Name[es_PE]=Archivos Name[es_PR]=Archivos Name[es_SV]=Archivos Name[es_UY]=Archivos Name[es_VE]=Archivos Name[et]=Failid Name[et_EE]=Failid Name[eu]=Fitxategiak Name[fa]=پرونده‌ها Name[fa_IR]=پرونده‌ها Name[fi]=Tiedostot Name[fr]=Fichiers Name[fur]=Files Name[fy]=Files Name[ga]=Comhaid Name[gl]=Ficheiros Name[gu]=ફાઇલો Name[gv]=Files Name[ha]=Files Name[he]=×§×‘×¦×™× Name[hi]=फ़ाइल Name[hr]=Files Name[hu]=Fájlok Name[hy]=Files Name[id]=Berkas Name[ig]=Files Name[io]=Files Name[is]=Files Name[it]=File Name[it_IT]=File Name[ja]=ファイル Name[ka]=Files Name[kk]=Files Name[km]=Files Name[kn]=ಕಡತಗಳೠName[ko]=íŒŒì¼ Name[ku]=Files Name[li]=Files Name[lt]=Failai Name[lv]=Faili Name[mai]=Files Name[mg]=Files Name[mi]=Files Name[mk]=Датотеки Name[ml]=ഫയലàµà´•à´³àµâ€ Name[mn]=Files Name[mr]=फाइलà¥à¤¸à¥ Name[ms]=Files Name[ms_MY]=Files Name[my]=Files Name[my_MM]=Files Name[nb]=Filer Name[nds]=Files Name[ne]=Files Name[nl]=Bestanden Name[nl_NL]=Bestanden Name[nso]=Files Name[oc]=Files Name[or]=ଫାଇଲଗà­à¬¡à¬¿à¬• Name[pa]=ਫਾਇਲਾਂ Name[pl]=Pliki Name[ps]=Files Name[pt]=Ficheiros Name[pt_BR]=Arquivos Name[pt_PT]=Ficheiros Name[ro]=FiÈ™iere Name[ru]=Nautilus Name[si]=Files Name[sk]=Súbory Name[sl]=Datoteke Name[sr]=Датотеке Name[sr@Latn]=Datoteke Name[sr@ije]=Датотеке Name[sr@latin]=Datoteke Name[sv]=Filer Name[ta]=கோபà¯à®ªà¯à®•ள௠Name[ta_LK]=கோபà¯à®ªà¯à®•ள௠Name[te]=ఫైళà±à°³à± Name[th]=à¹à¸Ÿà¹‰à¸¡ Name[tk]=Files Name[tr]=Dosyalar Name[ug]=ھۆججەتلەر Name[uk]=Файли Name[uz]=Files Name[uz@cyrillic]=Files Name[vi]=Tập tin Name[wa]=Files Name[yi]=Files Name[yo]=Files Name[zh]=文件 Name[zh_CN]=文件 Name[zh_HK]=檔案 Name[zh_TW]=檔案 Name[zu]=Files Comment=Access and organize files Comment[af]=Access and organize files Comment[am]=Access and organize files Comment[ar]=نظم Ø§Ù„Ù…Ù„ÙØ§Øª وصÙÙ„ إليها Comment[as]=পà§à§°à¦¬à§‡à¦¶à¦¾à¦§à¦¿à¦•াৰ লওক আৰৠনথিপতà§à§°à¦¸à¦®à§‚হ আয়োজিত কৰক Comment[ast]=Acceder a los ficheros y organizalos Comment[az]=Access and organize files Comment[az_IR]=Access and organize files Comment[be]=ДоÑтуп Ñ– кіраванне файламі Comment[be@latin]=ДоÑтуп Ñ– кіраванне файламі Comment[bg]=ДоÑтъп и управление на файлове Comment[bg_BG]=ДоÑтъп и управление на файлове Comment[bn]=ফাইলে বà§à¦¯à¦¬à¦¾à¦¹à¦° à¦à¦¬à¦‚ সাজানো Comment[bn_IN]=ফাইলে বà§à¦¯à¦¬à¦¾à¦¹à¦° à¦à¦¬à¦‚ সাজানো Comment[bo]=Access and organize files Comment[br]=Access and organize files Comment[ca]=Organitzeu i accediu a fitxers Comment[ca@valencia]=Organitzeu i accediu a fitxers Comment[crh]=Dosyelerge iriÅŸ ve olarnı tertiple Comment[cs]=Přístup a organizace souborů Comment[da]=TilgÃ¥ og organisér filer Comment[de]=Auf Dateien zugreifen und diese organisieren Comment[de_CH]=Auf Dateien zugreifen und diese organisieren Comment[de_DE]=Auf Dateien zugreifen und diese organisieren Comment[dz]=Access and organize files Comment[el]=Access and organize files Comment[en@shaw]=Access and organize files Comment[en_AU]=Access and organise files Comment[en_CA]=Access and organize files Comment[en_GB]=Access and organise files Comment[eo]=Atingi kaj organizi dosierojn Comment[es]=Acceder a los archivos y organizarlos Comment[es_AR]=Acceder a los archivos y organizarlos Comment[es_CL]=Acceder a los archivos y organizarlos Comment[es_CO]=Acceder a los archivos y organizarlos Comment[es_CR]=Acceder a los archivos y organizarlos Comment[es_DO]=Acceder a los archivos y organizarlos Comment[es_EC]=Acceder a los archivos y organizarlos Comment[es_ES]=Acceder a los archivos y organizarlos Comment[es_GT]=Acceder a los archivos y organizarlos Comment[es_HN]=Acceder a los archivos y organizarlos Comment[es_MX]=Acceder a los archivos y organizarlos Comment[es_NI]=Acceder a los archivos y organizarlos Comment[es_PA]=Acceder a los archivos y organizarlos Comment[es_PE]=Acceder a los archivos y organizarlos Comment[es_PR]=Acceder a los archivos y organizarlos Comment[es_SV]=Acceder a los archivos y organizarlos Comment[es_UY]=Acceder a los archivos y organizarlos Comment[es_VE]=Acceder a los archivos y organizarlos Comment[et]=Ligipääs failidele ning failipuu korrastamine Comment[et_EE]=Ligipääs failidele ning failipuu korrastamine Comment[eu]=Atzitu eta antolatu fitxategiak Comment[fa]=دسترسی Ùˆ سازماندهی پرونده‌ها Comment[fa_IR]=دسترسی Ùˆ سازماندهی پرونده‌ها Comment[fi]=Avaa ja järjestä tiedostoja Comment[fr]=Accéder aux fichiers et les organiser Comment[fur]=Access and organize files Comment[fy]=Access and organize files Comment[ga]=Access and organize files Comment[gl]=Acceda e organice ficheiros Comment[gu]=ફાઇલોને વાપરો અને સંચાલિત કરો Comment[gv]=Access and organize files Comment[ha]=Access and organize files Comment[he]=גישה ×œ×§×‘×¦×™× ×•××¨×’×•× × Comment[hi]=फ़ाइलों को वà¥à¤¯à¤µà¤¸à¥à¤¥à¤¿à¤¤ और पहà¥à¤à¤š पà¥à¤°à¤¾à¤ªà¥à¤¤ करें Comment[hr]=Access and organize files Comment[hu]=Fájlok elérése és rendszerezése Comment[hy]=Access and organize files Comment[id]=Mengakses dan mengelola berkas Comment[ig]=Access and organize files Comment[io]=Access and organize files Comment[is]=Access and organize files Comment[it]=Accede ai file e li organizza Comment[it_IT]=Accede ai file e li organizza Comment[ja]=ãƒ•ã‚¡ã‚¤ãƒ«ã®æ“作や整ç†ã‚’ã—ã¾ã™ Comment[ka]=Access and organize files Comment[kk]=Access and organize files Comment[km]=Access and organize files Comment[kn]=ಕಡತಗಳನà³à²¨à³ ನಿಲà³à²•ಿಸಿಕೊಳà³à²³à²¿ ಹಾಗೠವà³à²¯à²µà²¸à³à²¥à²¿à²¤à²µà²¾à²—ಿ ಜೋಡಿಸಿ Comment[ko]=íŒŒì¼ ì ‘ê·¼ ë° ì •ë¦¬ Comment[ku]=Access and organize files Comment[li]=Access and organize files Comment[lt]= Comment[lv]=Piekļūt un organizÄ“t failus Comment[mai]=Access and organize files Comment[mg]=Access and organize files Comment[mi]=Access and organize files Comment[mk]=ПриÑтапувајте и организирајте датотеки Comment[ml]=Access and organize files Comment[mn]=Access and organize files Comment[mr]=फाइलà¥à¤¸à¥à¤²à¤¾ पà¥à¤°à¤µà¥‡à¤¶ दà¥à¤µà¤¯à¤¾ व संघटित करा Comment[ms]=Access and organize files Comment[ms_MY]=Access and organize files Comment[my]=Access and organize files Comment[my_MM]=Access and organize files Comment[nb]=Aksesser og organiser filer Comment[nds]=Access and organize files Comment[ne]=Access and organize files Comment[nl]=Bestanden gebruiken en organiseren Comment[nl_NL]=Bestanden gebruiken en organiseren Comment[nso]=Access and organize files Comment[oc]=Access and organize files Comment[or]=ଫାଇଲମାନଙà­à¬•ୠଅଭିଗମ କରନà­à¬¤à­ à¬à¬¬à¬‚ ସଙà­à¬—ଠନ କରନà­à¬¤à­ Comment[pa]=ਫਾਇਲਾਂ ਦੀ ਵਰਤੋਂ ਤੇ ਪਰਬੰਧ Comment[pl]=Organizowanie plików Comment[ps]=Access and organize files Comment[pt]=Aceder e organizar ficheiros Comment[pt_BR]=Acessar e organizar arquivos Comment[pt_PT]=Aceder e organizar ficheiros Comment[ro]=AccesaÈ›i È™i organizaÈ›i fiÈ™iere Comment[ru]=Управление и доÑтуп к файлам Comment[si]=Access and organize files Comment[sk]=Prístup a organizácia súborov Comment[sl]=Dostop in razvrÅ¡Äanje datotek Comment[sr]=ПриÑтупите и организујте датотеке Comment[sr@Latn]=Pristupite i organizujte datoteke Comment[sr@ije]=ПриÑтупите и организујте датотеке Comment[sr@latin]=Pristupite i organizujte datoteke Comment[sv]=Kom Ã¥t och organisera filer Comment[ta]=கோபà¯à®ªà¯à®•ளை அணà¯à®•௠மறà¯à®±à¯à®®à¯ à®’à®´à¯à®™à¯à®•௠படà¯à®¤à¯à®¤à¯ Comment[ta_LK]=கோபà¯à®ªà¯à®•ளை அணà¯à®•௠மறà¯à®±à¯à®®à¯ à®’à®´à¯à®™à¯à®•௠படà¯à®¤à¯à®¤à¯ Comment[te]=ఫైళà±à°³à°¨à± నిరà±à°µà°¹à°¿à°‚చౠమరియౠవాడà±à°•ొనౠComment[th]=เข้าถึงà¹à¸¥à¸°à¸ˆà¸±à¸”ระเบียบà¹à¸Ÿà¹‰à¸¡ Comment[tk]=Access and organize files Comment[tr]=Dosyalara eriÅŸin ve düzenleyin Comment[ug]=ھۆججەتلەرنى تەشكىللەش Û‹Û• زىيارەت Comment[uk]=ДоÑтуп до файлів Comment[uz]=Access and organize files Comment[uz@cyrillic]=Access and organize files Comment[vi]=Truy cập và tổ chức tập tin Comment[wa]=Access and organize files Comment[yi]=Access and organize files Comment[yo]=Access and organize files Comment[zh]=访问和组织文件 Comment[zh_CN]=访问和组织文件 Comment[zh_HK]=å­˜å–與組織檔案 Comment[zh_TW]=å­˜å–與組織檔案 Comment[zu]=Access and organize files Exec=nemo %U Icon=folder Terminal=false Type=Application StartupNotify=false OnlyShowIn=GNOME;Unity; Categories=GNOME;GTK;Utility;Core; MimeType=inode/directory;application/x-gnome-saved-search; X-GNOME-Bugzilla-Bugzilla=GNOME X-GNOME-Bugzilla-Product=nemo X-GNOME-Bugzilla-Component=general X-GNOME-Bugzilla-Version=@VERSION@ nemo-1.8.4/data/nemo.xml.in000066400000000000000000000010451216702421000154530ustar00rootroot00000000000000 <_comment>Saved search <_comment>A Nemo action definition file nemo-1.8.4/data/org.Nemo.service.in000066400000000000000000000001041216702421000170340ustar00rootroot00000000000000[D-BUS Service] Name=org.Nemo Exec=@bindir@/nemo --no-default-windownemo-1.8.4/data/org.freedesktop.NemoFileManager1.service.in000066400000000000000000000001351216702421000235260ustar00rootroot00000000000000[D-BUS Service] Name=org.freedesktop.NemoFileManager1 Exec=@bindir@/nemo --no-default-window nemo-1.8.4/debian/000077500000000000000000000000001216702421000136775ustar00rootroot00000000000000nemo-1.8.4/debian/changelog000066400000000000000000000055621216702421000155610ustar00rootroot00000000000000nemo (1.8.4) olivia; urgency=low * 1.8.4 -- Clement Lefebvre Tue, 09 Jul 2013 17:12:40 +0200 nemo (1.8.3) olivia; urgency=low * 1.8.3 -- Clement Lefebvre Sat, 01 Jun 2013 12:55:17 +0100 nemo (1.8.2) olivia; urgency=low * 1.8.2 -- Clement Lefebvre Sun, 19 May 2013 21:08:35 +0100 nemo (1.8.1) olivia; urgency=low * 1.8.1 -- Clement Lefebvre Thu, 09 May 2013 13:29:40 +0100 nemo (1.8.0) olivia; urgency=low * 1.8.0 -- Clement Lefebvre Sun, 05 May 2013 13:21:54 +0100 nemo (1.7.6) olivia; urgency=low * 1.7.6 -- Clement Lefebvre Fri, 03 May 2013 17:07:54 +0100 nemo (1.7.5) olivia; urgency=low * 1.7.5 -- Clement Lefebvre Tue, 30 Apr 2013 16:45:52 +0100 nemo (1.7.4) olivia; urgency=low * 1.7.4 -- Clement Lefebvre Sat, 27 Apr 2013 20:03:25 +0100 nemo (1.7.3) olivia; urgency=low * 1.7.3 -- Clement Lefebvre Mon, 15 Apr 2013 14:56:37 +0100 nemo (1.7.2) olivia; urgency=low * 1.7.2 -- Clement Lefebvre Fri, 22 Mar 2013 14:07:10 +0000 nemo (1.7.1) olivia; urgency=low * 1.7.1 -- Clement Lefebvre Tue, 19 Feb 2013 16:29:56 +0000 nemo (1.1.2) nadia; urgency=low * 1.1.2 -- Clement Lefebvre Wed, 14 Nov 2012 12:02:03 +0000 nemo (1.1.1) nadia; urgency=low * 1.1.1 -- Clement Lefebvre Tue, 06 Nov 2012 16:37:43 +0000 nemo (1.1.0) nadia; urgency=low * 1.1.0 -- Clement Lefebvre Mon, 05 Nov 2012 18:47:31 +0000 nemo (1.0.9) nadia; urgency=low * 1.0.9 -- Clement Lefebvre Fri, 02 Nov 2012 20:50:56 +0000 nemo (1.0.8) nadia; urgency=low * 1.0.8 -- Clement Lefebvre Thu, 01 Nov 2012 12:55:13 +0000 nemo (1.0.7) nadia; urgency=low * 1.0.7 -- Clement Lefebvre Sun, 28 Oct 2012 16:25:12 +0000 nemo (1.0.6) nadia; urgency=low * 1.0.6 -- Clement Lefebvre Tue, 23 Oct 2012 15:33:14 +0100 nemo (1.0.5) nadia; urgency=low * nadia -- Clement Lefebvre Sat, 20 Oct 2012 12:23:47 +0100 nemo (1.0.4) nadia; urgency=low * 1.0.4 -- Clement Lefebvre Thu, 18 Oct 2012 13:43:14 +0100 nemo (1.0.3) maya; urgency=low * 1.0.3 -- Clement Lefebvre Mon, 01 Oct 2012 15:22:23 +0100 nemo (1.0.2) maya; urgency=low * 1.0.2 -- Clement Lefebvre Thu, 27 Sep 2012 14:27:20 +0100 nemo (1.0.1) maya; urgency=low * 1.0.1 -- Clement Lefebvre Wed, 19 Sep 2012 10:32:29 +0100 nemo (1.0.0) maya; urgency=low * Initial version, based on nautilus 3.4.2-0ubuntu3 -- Clement Lefebvre Wed, 18 Jul 2012 18:43:00 +0000 nemo-1.8.4/debian/compat000066400000000000000000000000021216702421000150750ustar00rootroot000000000000008 nemo-1.8.4/debian/control000066400000000000000000000107561216702421000153130ustar00rootroot00000000000000Source: nemo Section: gnome Priority: optional Maintainer: Linux Mint Build-Depends: debhelper (>= 8), dh-autoreconf, gnome-pkg-tools (>= 0.13), libglib2.0-dev (>= 2.31.9), libatk1.0-dev (>= 1.32.0), libgtk-3-dev (>= 3.3.18), libgail-3-dev, libgnome-desktop-3-dev (>= 3.0.0), libxml2-dev (>= 2.7.8), libexif-dev (>= 0.6.20), libexempi-dev (>= 2.1.0), libnotify-dev (>= 0.7.0), intltool (>= 0.40.1), gtk-doc-tools (>= 1.4), libxt-dev, libx11-dev, libxrender-dev, libxext-dev, x11proto-core-dev, shared-mime-info (>= 0.50), gobject-introspection (>= 0.9.12-4~), libgirepository1.0-dev (>= 0.9.12), libglib2.0-doc, libgtk-3-doc Homepage: http://www.github.com/linuxmint/nemo/ Standards-Version: 3.9.2 Package: nemo Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, nemo-data (= ${binary:Version}), shared-mime-info (>= 0.50), desktop-file-utils (>= 0.7), gvfs (>= 1.3.2), libglib2.0-data, gsettings-desktop-schemas, cinnamon Recommends: eject, librsvg2-common, gvfs-backends, nemo-fileroller Suggests: eog, evince | pdf-viewer, totem | mp3-decoder, xdg-user-dirs Breaks: gnome-volume-manager (<< 2.24), rhythmbox (<< 0.12), gnome-session (<< 2.28), gnome-bluetooth (<< 3.0) Description: file manager and graphical shell for Cinnamon Nemo is the official file manager for the Cinnamon desktop. It allows to browse directories, preview files and launch applications associated with them. It is also responsible for handling the icons on the Cinnamon desktop. It works on local and remote filesystems. . Several icon themes and components for viewing different kinds of files are available in separate packages. Package: nemo-dbg Section: debug Architecture: any Priority: extra Depends: nemo (= ${binary:Version}), ${misc:Depends} Replaces: libnemo-extension1-dbg Description: file manager and graphical shell for Cinnamon - debugging version Nemo is the official file manager for the Cinnamon desktop. It allows to browse directories, preview files and launch applications associated with them. It is also responsible for handling the icons on the Cinnamon desktop. It works on local and remote filesystems. . Several icon themes and components for viewing different kinds of files are available in separate packages. . This development package contains unstripped binaries compiled with debugging symbols needed by gdb. Package: libnemo-extension1 Architecture: any Section: libs Depends: ${misc:Depends}, ${shlibs:Depends} Provides: libnemo-extension1a Replaces: libnemo-extension1a breaks: libnemo-extension1a Description: libraries for nemo components - runtime version Nemo is the official file manager and graphical shell for the Cinnamon desktop. . This package contains a few runtime libraries needed by nemo' extensions. Package: libnemo-extension-dev Architecture: any Section: libdevel Depends: libnemo-extension1 (= ${binary:Version}), gir1.2-nemo-3.0 (= ${binary:Version}), libglib2.0-dev (>= 2.31.9), libgtk-3-dev (>= 3.3.18), ${shlibs:Depends}, ${misc:Depends} Description: libraries for nemo components - development version Nemo is the official file manager and graphical shell for the Cinnamon desktop. . This package provides the necessary development libraries and include files to develop and compile Nemo extensions. Package: gir1.2-nemo-3.0 Architecture: any Section: libdevel Depends: ${gir:Depends}, ${shlibs:Depends}, ${misc:Depends} Conflicts: gir1.0-nemo-3.0 Replaces: gir1.0-nemo-3.0 Description: libraries for nemo components - gir bindings Nemo is the official file manager and graphical shell for the Cinnamon desktop. . This package can be used by other packages using the GIRepository format to generate dynamic bindings. Package: nemo-data Architecture: all Depends: ${misc:Depends} Suggests: nemo Description: data files for nemo Nemo is the official file manager and graphical shell for the Cinnamon desktop. . This package contains pictures, localization files and other data needed by nemo. nemo-1.8.4/debian/copyright000066400000000000000000000041701216702421000156340ustar00rootroot00000000000000This package was debianized by Takuo KITAME on Fri, 19 May 2000 14:10:24 +0900. It was downloaded from ftp://ftp.gnome.org/pub/GNOME/sources/nemo Copyright Holders and Upstream Authors: Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald Copyright (C) 1997-2000, 2008 Free Software Foundation, Inc. Copyright (C) 1999, 2000, 2001 Eazel, Inc. Copyright (C) 1999, 2000, 2003, 2004 Red Hat, Inc. Copyright (C) 2001, 2002 Anders Carlsson Copyright (C) 2001 Maciej Stachowiak Copyright (C) 2002, 2004 James Willcox Copyright (C) 2002 Bent Spoon Software Copyright (C) 2002 Christophe Fergeau Copyright (C) 2002 Darin Adler Copyright (C) 2002 Jan Arne Petersen Copyright (C) 2002 Sun Microsystems, Inc. Copyright (C) 2003, 2004, 2005 Christian Persch Copyright (C) 2003, 2004 Marco Pesenti Gritti Copyright (C) 2005 Jamie McCracken Copyright (C) 2005 Raffaele Sandrini Copyright (C) 2005 Roberto Majadas Copyright (C) 2005 Vincent Untz Copyright (C) 2006 Paolo Borelli Copyright (C) 2006 Zbigniew Chyla Copyright (C) 2007 Collabora Ltd. Copyright (C) 2007 Martin Wehner Copyright (C) 2007 Nokia Corporation Copyright (C) 2008-2010 Cosimo Cecchi Copyright (C) 2009 Alexander Larsson Copyright (C) 2011 Ignacio Casal Quinteiro License: This package is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This package is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this package; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA On Debian systems, the complete text of the GNU General Public License can be found in `/usr/share/common-licenses/GPL'. nemo-1.8.4/debian/gir1.2-nemo-3.0.install000066400000000000000000000000521216702421000175200ustar00rootroot00000000000000usr/lib/girepository-1.0/Nemo-3.0.typelib nemo-1.8.4/debian/libnemo-extension-dev.install000066400000000000000000000001551216702421000215030ustar00rootroot00000000000000usr/lib/libnemo-extension*.so usr/include usr/lib/pkgconfig usr/share/gir-1.0/Nemo-3.0.gir usr/share/gtk-doc nemo-1.8.4/debian/libnemo-extension1.install000066400000000000000000000000401216702421000210010ustar00rootroot00000000000000usr/lib/libnemo-extension*.so.* nemo-1.8.4/debian/menu000066400000000000000000000002161216702421000145650ustar00rootroot00000000000000?package(nemo):needs="X11" section="Applications/File Management" \ title="Nemo" command="/usr/bin/nemo" icon="/usr/share/pixmaps/nemo.xpm" nemo-1.8.4/debian/nemo-data.install000066400000000000000000000004521216702421000171350ustar00rootroot00000000000000usr/share/icons/hicolor usr/share/nemo usr/share/mime/packages/nemo.xml usr/share/GConf usr/share/glib-2.0/schemas/org.nemo.gschema.xml usr/share/locale usr/share/gtksourceview-2.0 usr/share/gtksourceview-3.0 debian/nemo.xpm /usr/share/pixmaps debian/source_nemo.py /usr/share/apport/package-hooks nemo-1.8.4/debian/nemo-folder-handler.desktop000066400000000000000000000112251216702421000211150ustar00rootroot00000000000000[Desktop Entry] Name=Files Name[ar]=Ø§Ù„Ù…Ù„ÙØ§Øª Name[as]=নথিপতà§à§°à¦¸à¦®à§‚হ Name[be]=Файлы Name[bg]=Файлове Name[bn]=ফাইল Name[ca]=Fitxers Name[ca@valencia]=Fitxers Name[cs]=Soubory Name[da]=Filer Name[de]=Dateien Name[en_GB]=Files Name[eo]=Dosieroj Name[es]=Archivos Name[et]=Failid Name[eu]=Fitxategiak Name[fa]=پرونده‌ها Name[fi]=Tiedostot Name[fr]=Fichiers Name[ga]=Comhaid Name[gl]=Ficheiros Name[gu]=ફાઇલો Name[he]=×§×‘×¦×™× Name[hu]=Fájlok Name[id]=Berkas Name[it]=File Name[ja]=ファイル Name[kn]=ಕಡತಗಳೠName[ko]=íŒŒì¼ Name[lt]=Failai Name[lv]=Faili Name[mr]=फाइलà¥à¤¸à¥ Name[nb]=Filer Name[nl]=Bestanden Name[nn]=Filer Name[or]=ଫାଇଲଗà­à¬¡à¬¿à¬• Name[pa]=ਫਾਇਲਾਂ Name[pl]=Pliki Name[pt]=Ficheiros Name[pt_BR]=Arquivos Name[ro]=FiÈ™iere Name[ru]=Файлы Name[sk]=Súbory Name[sl]=Datoteke Name[sr]=Датотеке Name[sr@latin]=Datoteke Name[sv]=Filer Name[ta]=கோபà¯à®ªà¯à®•ள௠Name[te]=ఫైళà±à°³à± Name[th]=à¹à¸Ÿà¹‰à¸¡ Name[tr]=Dosyalar Name[ug]=ھۆججەتلەر Name[uk]=Файли Name[vi]=Tập tin Name[zh_CN]=文件 Name[zh_HK]=檔案 Name[zh_TW]=檔案 Comment=Access and organize files Comment[ar]=نظم Ø§Ù„Ù…Ù„ÙØ§Øª Ùˆ صÙÙ„ إليها Comment[as]=পà§à§°à¦¬à§‡à¦¶à¦¾à¦§à¦¿à¦•াৰ লওক আৰৠনথিপতà§à§°à¦¸à¦®à§‚হ আয়োজিত কৰক Comment[be]=ДоÑтуп Ñ– кіраванне файламі Comment[bg]=ДоÑтъп и управление на файлове Comment[bn]=ফাইলে বà§à¦¯à¦¬à¦¾à¦¹à¦° à¦à¦¬à¦‚ সাজানো Comment[ca]=Organitzeu i accediu a fitxers Comment[ca@valencia]=Organitzeu i accediu a fitxers Comment[cs]=Přístup a organizace souborů Comment[da]=TilgÃ¥ og organisér filer Comment[de]=Auf Dateien zugreifen und diese organisieren Comment[en_GB]=Access and organise files Comment[es]=Acceder a los archivos y organizarlos Comment[et]=Ligipääs failidele ning failipuu korrastamine Comment[eu]=Atzitu eta antolatu fitxategiak Comment[fa]=دسترسی Ùˆ سازماندهی پرونده‌ها Comment[fi]=Avaa ja järjestä tiedostoja Comment[fr]=Accéder aux fichiers et les organiser Comment[gl]=Acceda e organice ficheiros Comment[gu]=ફાઇલોને વાપરો અને સંચાલિત કરો Comment[he]=גישה ×œ×§×‘×¦×™× ×•××¨×’×•× × Comment[hu]=Fájlok elérése és rendszerezése Comment[id]=Mengakses dan mengelola berkas Comment[it]=Accede ai file e li organizza Comment[ja]=ãƒ•ã‚¡ã‚¤ãƒ«ã®æ“作や整ç†ã‚’ã—ã¾ã™ Comment[kn]=ಕಡತಗಳನà³à²¨à³ ನಿಲà³à²•ಿಸಿಕೊಳà³à²³à²¿ ಹಾಗೠವà³à²¯à²µà²¸à³à²¥à²¿à²¤à²µà²¾à²—ಿ ಜೋಡಿಸಿ Comment[ko]=íŒŒì¼ ì ‘ê·¼ ë° ì •ë¦¬ Comment[lt]= Comment[lv]=Piekļūt un organizÄ“t failus Comment[mr]=फाइलà¥à¤¸à¥à¤²à¤¾ पà¥à¤°à¤µà¥‡à¤¶ दà¥à¤µà¤¯à¤¾ व संघटित करा Comment[nb]=Aksesser og organiser filer Comment[nl]=Bestanden gebruiken en organiseren Comment[nn]=Aksesser og organiser filer Comment[or]=ଫାଇଲମାନଙà­à¬•ୠଅଭିଗମ କରନà­à¬¤à­ à¬à¬¬à¬‚ ସଙà­à¬—ଠନ କରନà­à¬¤à­ Comment[pa]=ਫਾਇਲਾਂ ਦੀ ਵਰਤੋਂ ਤੇ ਪਰਬੰਧ Comment[pl]=Organizowanie plików Comment[pt]=Aceder e organizar ficheiros Comment[pt_BR]=Acessar e organizar arquivos Comment[ro]=AccesaÈ›i È™i organizaÈ›i fiÈ™iere Comment[ru]=Управление и доÑтуп к файлам Comment[sk]=Prístup a organizácia súborov Comment[sl]=Dostop in razvrÅ¡Äanje datotek Comment[sr]=ПриÑтупите и организујте датотеке Comment[sr@latin]=Pristupite i organizujte datoteke Comment[sv]=Kom Ã¥t och organisera filer Comment[ta]=கோபà¯à®ªà¯à®•ளை அணà¯à®•௠மறà¯à®±à¯à®®à¯ à®’à®´à¯à®™à¯à®•௠படà¯à®¤à¯à®¤à¯ Comment[te]=ఫైళà±à°³à°¨à± నిరà±à°µà°¹à°¿à°‚చౠమరియౠవాడà±à°•ొనౠComment[th]=เข้าถึงà¹à¸¥à¸°à¸ˆà¸±à¸”ระเบียบà¹à¸Ÿà¹‰à¸¡ Comment[tr]=Dosyalara eriÅŸin ve düzenleyin Comment[ug]=ھۆججەتلەرنى تەشكىللەش Û‹Û• زىيارەت Comment[uk]=ДоÑтуп до файлів Comment[vi]=Truy cập và tổ chức tập tin Comment[zh_CN]=访问和组织文件 Comment[zh_HK]=å­˜å–與組織檔案 Comment[zh_TW]=å­˜å–與組織檔案 Exec=nemo %U Icon=system-file-manager Terminal=false NoDisplay=true Type=Application StartupNotify=false OnlyShowIn=GNOME;Unity; Categories=GNOME;GTK;Utility;Core; MimeType=inode/directory;application/x-gnome-saved-search; X-GNOME-Bugzilla-Bugzilla=GNOME X-GNOME-Bugzilla-Product=nemo X-GNOME-Bugzilla-Component=general X-GNOME-Bugzilla-Version=3.2.1 nemo-1.8.4/debian/nemo-home.desktop000066400000000000000000000006741216702421000171650ustar00rootroot00000000000000[Desktop Entry] Name=Home Folder Comment=Open your personal folder Exec=nemo %U Icon=folder Terminal=false StartupNotify=false Type=Application OnlyShowIn=GNOME;Unity; Categories=GNOME;GTK;Core; X-GNOME-Bugzilla-Bugzilla=GNOME X-GNOME-Bugzilla-Product=nemo X-GNOME-Bugzilla-Component=general X-GNOME-Bugzilla-Version=3.0.0 X-Ubuntu-Gettext-Domain=nemo Actions=Window; [Desktop Action Window] Name=Open a New Window Exec=nemo OnlyShowIn=Unity; nemo-1.8.4/debian/nemo-mount-archive.desktop000066400000000000000000000004661216702421000210150ustar00rootroot00000000000000[Desktop Entry] Encoding=UTF-8 Name=Archive Mounter Exec=/usr/lib/gvfs/gvfsd-archive file=%u MimeType=application/x-cd-image;application/x-bzip-compressed-tar;application/x-compressed-tar;application/x-tar;application/x-cpio;application/zip; Terminal=false StartupNotify=false Type=Application NoDisplay=true nemo-1.8.4/debian/nemo.gsettings-override000066400000000000000000000001671216702421000204070ustar00rootroot00000000000000[org.nemo.desktop] home-icon-visible=false computer-icon-visible=false trash-icon-visible=false volumes-visible=false nemo-1.8.4/debian/nemo.install000066400000000000000000000004261216702421000162270ustar00rootroot00000000000000debian/nemo-home.desktop usr/share/applications debian/nemo-mount-archive.desktop usr/share/applications debian/nemo-folder-handler.desktop usr/share/applications usr/bin usr/lib/nemo/nemo-convert-metadata usr/share/applications usr/share/dbus-1 usr/share/man etc/xdg/autostart nemo-1.8.4/debian/nemo.postrm000066400000000000000000000005771216702421000161140ustar00rootroot00000000000000#!/bin/sh -e if [ "$1" = "purge" ] ; then if [ -d /etc/X11/starthere ]; then rmdir --ignore-fail-on-non-empty /etc/X11/starthere fi if [ -d /etc/X11/sysconfig ]; then rmdir --ignore-fail-on-non-empty /etc/X11/sysconfig fi if [ -d /etc/X11/serverconfig ]; then rmdir --ignore-fail-on-non-empty /etc/X11/serverconfig fi fi #DEBHELPER# nemo-1.8.4/debian/nemo.xpm000066400000000000000000000115201216702421000153620ustar00rootroot00000000000000/* XPM */ static char * nemo_xpm[] = { "32 23 208 2", " c None", ". c #F7E8E1", "+ c #F3DDD2", "@ c #E7BBA4", "# c #DFA174", "$ c #E3A77E", "% c #E5AA7A", "& c #E3AB84", "* c #E3AC8C", "= c #E3AD91", "- c #F0D7CA", "; c #FAF2ED", "> c #EBC8B7", ", c #E49E6C", "' c #E69E5C", ") c #ECA552", "! c #EEAE53", "~ c #F2B75A", "{ c #F4C361", "] c #F1C273", "^ c #E9A665", "/ c #E8BCA3", "( c #EED1C1", "_ c #FEFEFE", ": c #DB9A6A", "< c #E28F51", "[ c #E69442", "} c #E79A47", "| c #EBA34C", "1 c #F2BD62", "2 c #F5CA6E", "3 c #EEA33F", "4 c #E7923D", "5 c #ECB976", "6 c #E5B38C", "7 c #FCF8F6", "8 c #D79977", "9 c #DD8D53", "0 c #DA7E46", "a c #D37B40", "b c #D2753A", "c c #CA7836", "d c #D68336", "e c #DE7726", "f c #EDA242", "g c #E9B986", "h c #EED0BF", "i c #CF9174", "j c #C67144", "k c #C87140", "l c #C46D3C", "m c #BA6536", "n c #BB5D35", "o c #B34F2B", "p c #B3552C", "q c #BB692D", "r c #CD752F", "s c #DE782E", "t c #E48C34", "u c #EA9D3E", "v c #D97431", "w c #D36528", "x c #E6A973", "y c #B76745", "z c #B35C37", "A c #AC5738", "B c #A14E28", "C c #A5462B", "D c #AB4328", "E c #B45B2C", "F c #E3863A", "G c #C85825", "H c #E79846", "I c #F0D5C7", "J c #C9896C", "K c #9B4A31", "L c #8D3F28", "M c #933E25", "N c #9D4A2C", "O c #A9482F", "P c #C27335", "Q c #CF7733", "R c #DA7C33", "S c #CA612D", "T c #EFB869", "U c #F4E1D8", "V c #965A46", "W c #7D3925", "X c #853C25", "Y c #AF5437", "Z c #B24F32", "` c #B5693B", " . c #B46B41", ".. c #AC633E", "+. c #A15339", "@. c #A54D26", "#. c #AF4823", "$. c #D66C2F", "%. c #EFB25B", "&. c #E7BEAA", "*. c #AE725A", "=. c #753624", "-. c #904028", ";. c #A34E31", ">. c #B75E3C", ",. c #C77E54", "'. c #B67556", "). c #BC7B5D", "!. c #AD654D", "~. c #8D422C", "{. c #7C331E", "]. c #C96734", "^. c #F5F3F3", "/. c #DFB4A0", "(. c #995D47", "_. c #793A28", ":. c #A65D43", "<. c #AE6D4D", "[. c #BC8366", "}. c #C28167", "|. c #A55336", "1. c #B4643B", "2. c #C26B42", "3. c #D16B34", "4. c #E17F30", "5. c #A88C7E", "6. c #D49D82", "7. c #874434", "8. c #AF714E", "9. c #AC6846", "0. c #A5623F", "a. c #A56445", "b. c #D4996C", "c. c #D47E4B", "d. c #E9A56C", "e. c #8E6953", "f. c #77382A", "g. c #B26A49", "h. c #BE7545", "i. c #C47842", "j. c #96502D", "k. c #9D573F", "l. c #D38E61", "m. c #D8864C", "n. c #E29452", "o. c #EA9E58", "p. c #C58A70", "q. c #8E5442", "r. c #6E3829", "s. c #CD824B", "t. c #C97A4A", "u. c #8C4D30", "v. c #AE7855", "w. c #EBE8E6", "x. c #B29281", "y. c #A77962", "z. c #A1735D", "A. c #AA5C36", "B. c #A56D56", "C. c #C3835C", "D. c #E5A068", "E. c #85624F", "F. c #575858", "G. c #574136", "H. c #A95F3A", "I. c #854225", "J. c #6E3823", "K. c #DC843F", "L. c #745749", "M. c #090706", "N. c #946954", "O. c #733925", "P. c #4D281E", "Q. c #724A3C", "R. c #95604A", "S. c #74432C", "T. c #DFA068", "U. c #D98344", "V. c #5C4539", "W. c #B4714C", "X. c #64311F", "Y. c #522B21", "Z. c #4B2A23", "`. c #775846", " + c #BE8554", ".+ c #A9542F", "++ c #C19176", "@+ c #A9AAAA", "#+ c #4D3A30", "$+ c #50281E", "%+ c #673527", "&+ c #9F735C", "*+ c #59291F", "=+ c #56271B", "-+ c #E09B64", ";+ c #AA9184", ">+ c #9A583A", ",+ c #99512C", "'+ c #C86F3C", ")+ c #D18956", "!+ c #AC7B5E", "~+ c #ECEBEB", "{+ c #72594D", "]+ c #984928", "^+ c #88634C", "/+ c #CB7E54", "(+ c #684D3F", "_+ c #DCDCDC", " . + @ # $ % % % & * = - ; ", " ; > = , ' ) ) ! ~ { ] ] ^ $ / ( _ ", " ( = : < [ [ } | ) ~ 1 2 2 3 4 5 6 ( 7 ", "_ ( 8 9 0 0 0 a b c d 4 | ! ~ 4 e f g g h _ ", "> i j k l m n n o p q r s t u v w e ~ { x h 7 ", "i y z A B C C C D o E q r d F v G w 4 u H 5 I ", "J K K L L M N O D o m m P c Q R S G s t t T * U ", "8 V W X X L N Y Z n k ` ...+.B @.#.S $.s %.5 / 7 ", "&.*.=.=.W -.;.A >.y y ,.'.).!.~.{.M ].w $.) ! * ^. ", "7 /.(.=._.~.K ;.K +.:.<.[.}.,.!.|.1.2.3.0 F 4.x 5. ", " + 6.(.X X ~.-.7.L V !.8.9.0.a.b., 2.c.0 w v d.e. ", " + = *.7._._.f.7.g.j h.i.` j.k.: l.m.3.3.n.o.e. ", " 7 > p.q.r.r.:.` ` i.s.t.9.u.v.d.c.m.d.n.< e. ", " w.x.y.z.(.g.A.j.` ).B.C.8.8.D.n., n.R n.E. ", " F. G.y.H.I.J.(.<.z.'.l.l.m.9 K.K., d.L. ", " M.N.9.O.P.Q.R.S.` T.m.m.m.U., d.8 V. ", " E.W.X.Y.Z.`.v. +W..+m c.m.U.9 ++ ", " @+ #+).J.$+P.P.%+O.X q m m ].a 8 `. ", " &+B.*+Y.P.=+O.I.N ` t.m.-+z. ", " ;+8 >+X.%+O.{.,+.+m '+)+!+ ", " ~+{+[.W.]+]+]+@.1.t.l.^+ ", " ^+C.,.,./+C.!+(+ ", " _+ "}; nemo-1.8.4/debian/rules000077500000000000000000000011301216702421000147520ustar00rootroot00000000000000#!/usr/bin/make -f CONFIGURE_EXTRA_FLAGS = --libexecdir=/usr/lib/nemo \ --disable-update-mimedb \ --enable-gtk-doc export LDFLAGS+=-Wl,-z,defs -Wl,-O1 -Wl,--as-needed %: dh $@ --parallel --with autoreconf override_dh_autoreconf: NOCONFIGURE=yes dh_autoreconf --as-needed -- ./autogen.sh override_dh_auto_configure: dh_auto_configure -- $(CONFIGURE_EXTRA_FLAGS) override_dh_auto_test: override_dh_strip: dh_strip --dbg-package=nemo-dbg override_dh_makeshlibs: dh_makeshlibs -Xusr/lib/nemo/extensions-3.0/ override_dh_installmime: dh_installmime -pnemo-data nemo-1.8.4/debian/source/000077500000000000000000000000001216702421000151775ustar00rootroot00000000000000nemo-1.8.4/debian/source/format000066400000000000000000000000151216702421000164060ustar00rootroot000000000000003.0 (native) nemo-1.8.4/debian/source_nemo.py000066400000000000000000000014771216702421000166000ustar00rootroot00000000000000import os, apport.packaging from apport.hookutils import * def add_info(report): # the crash is not in nemo code so reassign if report.has_key("Stacktrace") and "/usr/lib/nemo" in report["Stacktrace"]: for words in report["Stacktrace"].split(): if words.startswith("/usr/lib/nemo"): report.add_package_info(apport.packaging.get_file_package(words)) return # collect informations on the /usr/lib/nemo components plugin_packages = set() for dirpath, dirnames, filenames in os.walk("/usr/lib/nemo"): for filename in filenames: path = os.path.join(dirpath, filename) package = apport.packaging.get_file_package(path) if package == 'nemo': continue plugin_packages.add(package) report["usr_lib_nemo"] = package_versions(*sorted(plugin_packages)) attach_gsettings_package(report, 'nemo-data') nemo-1.8.4/docs/000077500000000000000000000000001216702421000134055ustar00rootroot00000000000000nemo-1.8.4/docs/Makefile.am000066400000000000000000000003341216702421000154410ustar00rootroot00000000000000NULL = SUBDIRS = reference man_MANS = \ nemo.1 \ nemo-connect-server.1 \ $(NULL) EXTRA_DIST = \ $(man_MANS) \ dnd.txt \ nemo-io.txt \ load-states.dia \ style-guide.html \ key_mouse_navigation.txt \ $(NULL) nemo-1.8.4/docs/dnd.txt000066400000000000000000000061201216702421000147120ustar00rootroot00000000000000 Nemo dnd code. ------------------ Nemo dnd code is pretty compilcated, it has a lot of entry points and exit points. Trying to clarify this now. You have to implement: If you are a source: drag_begin drag_end drag_get_data If you are a destination: drag_motion drag_data_received drag_drop drag_leave 1) Source --------- if you are a source, you have to start a drag trough gtk_drag_begin. This will call drag_begin signal in the source. Then, when the destination calls gtk_drag_finish, drag_end will be called in the source. drag_get_data will be called in the source when the destination calls gtk_drag_get_data So, the source is very easy to write: it just needs to implement those 3 signals and it should not have any memory management issue. 2) Destination -------------- Things get a little bit complicated. when the dragging cursor gets in your window, you will get drag_motion events. In nemo, we do many things in this function: - we start auto-scrolling if it is necessary. - we call nemo_*_ensure_data - we prelight what is under the cursor if it can accept the drag. - we try to expand what is under you if it can accept the drop (tree view) nemo_*_ensure_data is vital. It calls gtk_drag_get_data to get the data from the source. this allows the destination to store it in advance and use it to know if what is under the cursor can accept the drag. Then, when the drop occurs, drag_drop is called on the destination. drag_drop calls gtk_drag_get_data to get the data from the source to do its drop. Then, drag_data_received is called when the data is received. There, we can do the actual operation involved by the drop. Also, just before the drag_drop event, a drag_leave event is triggered. If no drop occurs, a drag_leave occurs. So, drag_data_received does 2 things: it is called to get the data when we are in motion and store it. It is also called to do the actual drop operation when a drop happened. So, drag_data_received usually does 2 tests: it tests if the data was received. If it was received, it stores it. Then it tests if the drop occured just before. If so, it does the operation. This schema involves careful memory management: 1) 2 exit points in destination. (drag_leave and drag_data_received) 2) a lot of things are done in the callbacks so you have to take into account all the possible code paths. To solve 1), we should use ONE destroy function which cleans up the drag data. To solve 2), we have to be very careful where we call this fution from. This function has to clean up: - the list of expanded nodes (tree view). - the autoscroll code. - the prelighting code. It also has to set drag_info->need_to_destroy to TRUE so that during the next drag in this widget, the rest of the drag data is destroyed before begening the actual new drag. When we receive a drag_motion, we first test for need_to_destroy and destroy the rest of the data left from the previous drag. This code has to destroy/reset: - the drag data. - the boolean vars used to store the state of the drag. nemo-1.8.4/docs/key_mouse_navigation.txt000066400000000000000000000075321216702421000203740ustar00rootroot00000000000000This document describes the keyboard and mouse navigation model used in the default Nemo views in detail. This is useful as a a guide for people implementing a Nemo view or something else that wants to have a feel that is compatible with Nemo. *********** Icon view ******************** Keyboard: ========= Navigation and selection: When the focus is on the icon view you can move the currently selected icon by using: Arrow Keys - moves one step in the direction Tab - moves to the "next" icon in order (i.e. at the end of one row, go to the first icon the next row) Shift Tab - moves to the "previous" icon in order Home - moves to the first icon End - moves to the last icon In order to allow multiple selection the above navigation keys can be combined with the Control key to move the keyboard focus without affecting the current selection. If you use normal movement (not using control) all the previously selected icons will be deselected. If several icons are selected and there is no keyboard focus you press up or left will start navigating from the topmost leftmost icon, while pressing down or right will start from the bottommost rightmost icon. This works the same way if you hold down Control. To select or deselect an icon position the keyboard focus on it and press ctlr-space. ctrl-space with no keyboard focus produces a keyboard focus at the first selected icon, or the first one if none are selected. In manual layout (and especially, on the desktop) the keyboard arrow keys work in a slightly different way. To allow all icons to be reached the closest icon in the quadrant of the direction selected will be used as the "next" icon when navigating. Other keyboard shortcuts: Return, Keypad Return - Activate the selected objects Space (without control) - Activate the selected objects Escape - Undo icon stretching if in progress Alt Left - go back Alt Right - go forward Alt Up - go up a directory Alt Down - enter directory / activate selection Shift-F10 bring up context menu for selection, or the directory context menu if nothing is selected Ctrl-F10 bring up context menu for directory Other key presses are used for typeahead search In rename mode: Escape - Cancel rename Return, Keypad Return - Finish rename Mouse: ====== In double click mode: Clicking on an icon selects it and deselects all others on BUTTON_PRESS. Dragging does the default dnd file operation. Clicking on blank space deselect all selected icons. Doesn't allow dragging. Double clicking (both clicks on the same icon) with no modifiers activates the clicked file. (And deselects the others due to the first click.) Clicking when Control (Shift can also be used, which is not written out below) is held down can be used to do multiple selections. Control-click on empty space does nothing. Control-click on unselected icon selects it on BUTTON_PRESS Control-click on selected icon de-selects it on BUTTON_RELEASE Control-double click does nothing Control can be held down while starting a drag While doing a drag modifers affect the operation the drag causes: Control - Copy the files Shift - Move the files Alt - Open a menu with the available alternatives All the basic clicks are typically done with the left button, but can be done with the other buttons to. [Do we want this?] However some of the buttons also have special operations: Right-click on a selected icon opens the context menu for the selected icons. Right-click on empty space opens the context menu for the directory. Middle-button drag always opens the menu with possible operations on drop. In single click mode: Single click mode work just like double click mode except single clicks on icons activate the icon on button release if you didn't drag, didn't hold down for 1.5 secs or clicked twice within the double-click time. *********** List view ******************** [TODO: Add stuff here] nemo-1.8.4/docs/load-states.dia000066400000000000000000000037521216702421000163130ustar00rootroot00000000000000‹í\ÛnÛF}×WÊ+½Ú+/Qì ) @ÑM/%®%¶)´÷¡ßÞÙ•|‘D*2—«¸) ؉èÕÎzgΙ١޼ý¼L[Y”Iž] Â÷Wƒ7q½†ïy-•êÕåpQU«×£Ñz½Fé]UyÒä•rôO”¦Ñ†WÇy:AU‘º¶½UU‘Lo*édÑR^§Ñì¯y‘ßdñp3j;n–§yáÜFéåðÕµþŽ¶ÓŒvæ92÷*ZÉbÚå*/RÝ­†4Ì£~>³U l~õêµ¹¥í…ǹên´¤ZFÅ<Éq ¥›… ( ÷«ð|€©m€Ô6@a )'«¼¨Š(©A¦yžÊ(ÛàTÅlS΢¶Ê1CÈ ³o.?léF÷Ø\ÚóG—Fw²ØÞÔûGOtn“2™¦rkç˧ÊYµuži¾ž-¢¢r.œ÷ùçác ÁC'‰/‡?á]ïÛ_˜ ¼Ü÷¿UždÕfòu/(E^kÒ´"M(Óé>HvDÙ<•÷@ÂÛù< Æ#&„ç^…¼-²Lår2Ë‹ì0Ætl£FZ'qµ8´ó~Kq˜Ÿyó/d2_TͰvíf/ùzRÃ_ö¼ç ¬¢8Þõº½ûÇH´›¹’Ÿ–eŸiöÆ4­„æq{tó1Kª$JeU²yŽÄ£Üë<«êPÕõíïò›"<2Á9ØBµ†À d7¤Ô¹œBàs !ˆœ–*u€O5 Ö_f@@ól)ëÿR2»YÖPÇ1jª£&}5zŒþí逘ÒG¾B¬$…vù¨F¢kBàˆù¶ 0¶LXy #„Hpb“À€žl3 Wkˆ4¿ýòÑI²ë¼g…v¬î ´ƒ='tÄ Ÿ ¦ÆQ%üd²†¨)'Üs¹Rêv9ÁGkÕ;d›$p¥IkB˜åY6‘Y¬íieeã66!ÈN夬îR¹K[Š·ä,žDE‘¯›g&†3OR™ÍñÞN,iñf=AmØeàå]ÜÿÆY€©l|¦ÊuZí<þÖ‹l‡š7“í›Éî›éþ}ÜÑsµßÏ…Œå5ì þ›ÏdYÖ¸=3u{*T¦:…L1bÑï 2s Å1@A cáb̪ìÆÊS´ @Ct³ZàØ'ä% Âë4YMy‘ü 'J¢\Gii.Q%3{ 'ˆ[ØRB°—¯p¿‡[ 6¬èÕm;uK¤dªkb¯W·çQ·Ü”æTÝêº1¨;œDs„!îo¡Žcê!¡y7´&Ÿ“%n³©Öx±×¢ÆZtONÏ‘¢l÷½¸)úÄ)ë«ÂØ'u/8<ô=›þˆˆÐ8!àŒI;Ýõ/0å6%§¹u§ÈMÉ´ÍÂ#X!^²Ò<%ÃþÒuS”÷Ì‹ò˜z AJD9·è Á– ª\€«ò ¥ÜU `Ù%º°ð§ðáV3°¾o;Uù!bç6‘ë>Mi{4K\‚xÈCÖ')çIR|Sx88Áv ðò5L¸­¾ƒþgª4×V¨œœš4X7Цê©OJºNJžW {oî:+iðÂÀ8-ÁˆøÜ%™bÑ CÈÓ¹J½=L{(PÈWZŸ^%h°òH€€S’¶uÎÞÍÝÑë®F ºöÆ_•ð;ôÆÐüXš¹X°Y% ê`Xíq2BÇøzœ*dõš„/_11&£ÙB«æ×ߤl&öEsífëe³ÕnFãîv†8åˬ36 øH—NTPÝî¶+']XxJå$@8ðißÛþß.ž|½¢ºàxÙ\:KY–ѼïroÍ Ü ¸Ëç}5ålÕBÌ¥#QUmËœà¨J›f„1¢·Ê9R¸Zû·¯wôÙ[×ÙÛ3» ±vÃ'^ø®˜Õ9¡q[±ÒH„‚GxâÕ AšøÜ†B‚W÷ãÙ¯¦4Xy¤îÜÖMq+'qR‚ý3yLlQŸ…ÂÞÉj_ úz¥YlP ÚE¸óæå†Tϸ]ÙCóWµ6§Y¥ulÀQU8 0¿ǘÚÌõº0ñ”\äñm>µÆès½s=µ6—­¤ÚC‰\ªÜIó(î3¾vŸ"éPx.¡ð/û”ïL)7?A÷usŸåœ/@!Ëྈ¹Ú+…­™á'èuÙÁF,Òë4c¶w î=+éc¶Ÿ1ki¢ƒ‡Iµ† tÑÁ곤A°R%ù1ltšKÅÓeZ&ö7óêg”±;Xƒ\ƒ ½0k-ÌhÀ€ÖB]Œï…YǬ¡‹ƒxäíBuòÐöÃ, Uç åÛ6ެ_¿ü8ñ£\;¿C·Ñßj¤°ÞÈѰÝú(a5}ó;h½ÄBרì÷BD]]ÑÃ:D¶¡"¬ço a:#}Ù'p­¸‡$LX>ykò&óFf†|¡jÖTït›¬Kf¹úõa9¾÷ÐË ·àÁ©š =ÚÌLúg ¾êë®›Ù;Ói¸q7³ªO0ÌÙX¦8 5_UB.ˆjZ ÇÌGç3—RDIÈl{d“Ç?®@жÏmž|$΄÷GâßbD…˜F”ÍkýIàWƒ ¿ü GQÀ@ `nemo-1.8.4/docs/nemo-connect-server.1000066400000000000000000000034011216702421000173560ustar00rootroot00000000000000.\" Hey, EMACS: -*- nroff -*- .\" First parameter, NAME, should be all caps .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection .\" other parameters are allowed: see man(7), man(1) .TH nemo-connect-server 1 "05 Jan 2008" .\" Please adjust this date whenever revising the manpage. .\" .\" Some roff macros, for reference: .\" .nh disable hyphenation .\" .hy enable hyphenation .\" .ad l left justify .\" .ad b justify to both left and right margins .\" .nf disable filling .\" .fi enable filling .\" .br insert line break .\" .sp insert n+1 empty lines .\" for manpage-specific macros, see man(7) .SH NAME nemo-connect-server \- To Access a remote server .SH SYNOPSIS .B nemo-connect-server .RI [ options ] .RI [ URI ] .SH DESCRIPTION This manual page documents briefly the .B nemo-connect-server command. .PP Nemo Connect Server is the connection manager for the GNOME desktop. .PP You can use the file manager to access a remote server, be it an FTP site, a Windows share, a WebDav server or an SSH server. .SH OPTIONS Nemo follows the usual GNU command line syntax, with long options starting with two dashes (`-'). A summary of options is included below. .TP .B \-\-help Show a summary of options. .TP .B \-\-version Show version. .TP Other standard GNOME options not listed here are also supported. .SH SEE ALSO Nemo Connect Server documentation can be found from the "Help" menu, or by pressing the F1 key. Nemo also has a website at http://www.gnome.org/projects/nemo/ .SH AUTHOR This manual page was written by Julian Andres Klode for the Debian GNU/Linux system (but may be used by others), based on a manpage by Fernando Ribeiro . nemo-1.8.4/docs/nemo-io.txt000066400000000000000000000305151216702421000155150ustar00rootroot00000000000000Nemo I/O Primer draft ("Better Than Nothing") 2001-08-23 Darin Adler The Nemo shell, and the file manager inside it, does a lot of I/O. Because of this, there are some special disciplines required when writing Nemo code. No I/O on the main thread To be able to respond to the user quickly, Nemo needs to be designed so that the main user input thread does not block. The basic approach is to never do any disk I/O on the main thread. In practice, Nemo code does assume that some disk I/O is fast, in some cases intentionally and in other cases due to programmer sloppiness. The typical assumption is that reading files from the user's home directory and the installed files in the Nemo datadir are very fast, effectively instantaneous. So the general approach is to allow I/O for files that have file system paths, assuming that the access to these files is fast, and to prohibit I/O for files that have arbitrary URIs, assuming that access to these could be arbitrarily slow. Although this works pretty well, it is based on an incorrect assumption, because with NFS and other kinds of abstract file systems, there can be arbitrarily slow parts of the file system that have file system paths. For historical reasons, threading in Nemo is done through the gnome-vfs asynchronous I/O abstraction rather than using threads directly. This means that all the threads are created by gnome-vfs, and Nemo code runs on the main thread only. Thus, the rule of thumb is that synchronous gnome-vfs operations like the ones in are illegal in most Nemo code. Similarly, it's illegal to ask for a piece of information, say a file size, and then wait until it arrives. The program's main thread must be allowed to get back to the main loop and start asking for user input again. How NemoFile is used to do this The NemoFile class presents an API for scheduling this asynchronous I/O and dealing with the uncertainty of when the information will be available. (It also does a few other things, but that's the main service it provides.) When you want information about a particular file or directory, you get the NemoFile object for that item using nemo_file_get. This operation, like most NemoFile operations, is not allowed to do any disk I/O. Once you have a NemoFile object, you can ask it questions like "What is your file type?" by calling functions like nemo_file_get_file_type. However, for a newly created NemoFile object the answer is almost certainly "I don't know." Each function defines a default, which is the answer given for "I don't know." For example, nemo_file_get_type will return GNOME_VFS_FILE_TYPE_UNKNOWN if it doesn't yet know the type. It's worth taking a side trip to discuss the nature of the NemoFile API. Since these classes are a private part of the Nemo implementation, we make no effort to have the API be "complete" in an abstract sense. Instead we add operations as necessary and give them the semantics that are most handy for our purposes. For example, we could have a nemo_file_get_size that returns a special distinguishable value to mean "I don't know" or a separate boolean instead of returning 0 for files where the size is unknown. This is entirely motivated by pragmatic concerns. The intent is that we tweak these calls as needed if the semantics aren't good enough. Back to the newly created NemoFile object. If you actually need to get the type, you need to arrange for that information to be fetched from the file system. There are two ways to make this request. If you are planning to display the type on an ongoing basis then you want to tell the NemoFile that you'll be monitoring the file's type and want to know about changes to it. If you just need one-time information about the type then you'll want to be informed when the type is discovered. The calls used for this are nemo_file_monitor_add and nemo_file_call_when_ready respectively. Both of these calls take a list of information needed about a file. If all you need is the file type, for example, you would pass a list containing just NEMO_FILE_ATTRIBUTE_FILE_TYPE (the attributes are defined in nemo-file-attributes.h). Not every call has a corresponding file attribute type. We add new ones as needed. If you do a nemo_file_monitor_add, you also typically connect to the NemoFile object's changed signal. Each time any monitored attribute changes, a changed signal is emitted. The caller typically caches the value of the attribute that was last seen (for example, what's displayed on screen) and does a quick check to see if the attribute it cares about has changed. If you do a nemo_file_call_when_ready, you don't typically need to connect to the changed signal, because your callback function will be called when and if the requested information is ready. Both a monitor and a callback can be cancelled. For ease of use, neither requires that you store an ID for canceling. Instead, the monitor function uses an arbitrary client pointer, which can be any kind of pointer that's known to not conflict with other monitorers. Usually, this is a pointer to the monitoring object, but it can also be, for example, a pointer to a global variable. The call_when_ready function uses the callback function and callback data to identify the particular callback to cancel. One advantage of the monitor API is that it also lets the NemoFile framework know that the file should be monitored for changes made outside Nemo. This is how we know when to ask FAM to monitor a file or directory for us. Lets review a few of the concepts: 1) Nearly all NemoFile operations, like nemo_file_get_type, are not allowed to do any disk I/O. 2) To cause the actual I/O to be done, callers need to use set up either a monitor or a callback. 3) The actual I/O is done by asynchronous gnome-vfs calls, so the work is done on another thread. To work with an entire directory of files at once, you use a NemoDirectory object. With the NemoDirectory object you can monitor a whole set of NemoFile objects at once, and you can connect to a single "files_changed" signal that gets emitted whenever files within the directory are modified. That way you don't have to connect separately to each file you want to monitor. These calls are also the mechanism for finding out which files are in a directory. In most other respects, they are like the NemoFile calls. Caching, the good and the bad Another feature of the NemoFile class is the caching. If you keep around a NemoFile object, it keeps around information about the last known state of that file. Thus, if you call nemo_file_get_type, you might well get file type of the file found at this location the last time you looked, rather than the information about what the file type is now, or "unknown". There are some problems with this, though. The first problem is that if wrong information is cached, you need some way to "goose" the NemoFile object and get it to grab new information. This is trickier than it might sound, because we don't want to constantly distrust information we received just moments before. To handle this, we have the nemo_file_invalidate_attributes and nemo_file_invalidate_all_attributes calls, as well as the nemo_directory_force_reload call. If some code in Nemo makes a change to a file that's known to affect the cached information, it can call one of these to inform the NemoFile framework. Changes that are made through the framework itself are automatically understood, so usually these calls aren't necessary. The second problem is that it's hard to predict when information will and won't be cached. The current rule that's implemented is that no information is cached if no one retains a reference to the NemoFile object. This means that someone else holding a NemoFile object can subtly affect the semantics of whether you have new data or not. Calling nemo_file_call_when_ready or nemo_file_monitor_add will not invalidate the cache, but rather will return you the already cached information. These problems are less pronounced when FAM is in use. With FAM, any monitored file is highly likely to have accurate information, because changes to the file will be noticed by FAM, and that in turn will trigger new I/O to determine what the new status of the file is. Operations that change the file You'll note that up until this point, I've only discussed getting information about the file, not making changes to it. NemoFile also contains some APIs for making changes. There are two kinds of these. The calls that change metadata are examples of the first kind. These calls make changes to the internal state right away and schedule I/O to write the changes out to the file system. There's no way to detect if the I/O succeeds or fails, and as far as the client code is concerned the change takes place right away. The calls that make other kinds of file system change are examples of of the second kind. These calls take a NemoFileOperationCallback. They are all cancellable, and they give a callback when the operation completes, whether it succeeds or fails. Files that move When a file is moved, and the NemoFile framework knows it, then the NemoFile and NemoDirectory objects follow the file rather than staying stuck to the path. This has a direct influence on the user interface of Nemo -- if you move a directory, already-open windows and property windows will follow the directory around. This means that keeping around a NemoFile object and keeping around a URI for a file have different semantics, and there are cases where one is the better choice and cases where the other is. Icons The current implementation of the Nemo icon factory uses synchronous I/O to get the icons and ignores these guidelines. The only reason this doesn't ruin the Nemo user experience is that it also refuses to even try to fetch icons from URIs that don't correspond to file system paths, which for most cases means it limits itself to reading from the high-speed local disk. Don't ask me what the repercussions of this are for NFS; do the research and tell me instead! Slowness caused by asynchronous operations One danger in all this asynchronous I/O is that you might end up doing repeated drawing and updating. If you go to display a file right after asking for information about it, you might immediately show an "unknown file type" icon. Then, milliseconds later, you may complete the I/O and discover more information about the file, including the appropriate icon. So you end up drawing the icon twice. There are a number of strategies for preventing this problem. One of them is to allow a bit of hysteresis and wait some fixed amount of time after requesting the I/O before displaying the "unknown" state. One strategy that's used in Nemo is to wait until some basic information is available until displaying anything. This might make the program overall be faster, but it might make it seem slower, because you don't see things right away. [What other strategies are used in Nemo now for this?] How to make Nemo slow If you add I/O to the functions in NemoFile that are used simply to fetch cached file information, you can make Nemo incredibly I/O intensive. On the other hand, the NemoFile API does not provide a way to do arbitrary file reads, for example. So it can be tricky to add features to Nemo, since you first have to educate NemoFile about how to do the I/O asynchronously and cache it, then request the information and have some way to deal with the time when it's not yet known. Adding new kinds of I/O usually involves working on the Nemo I/O state machine in nemo-directory-async.c. If we changed Nemo to use threading instead of using gnome-vfs asychronous operations, I'm pretty sure that most of the changes would be here in this file. That's because the external API used for NemoFile wouldn't really have a reason to change. In either case, you'd want to schedule work to be done, and get called back when the work is complete. [We probably need more about nemo-directory-async.c here.] Future direction Some have suggested that by using threading directly in Nemo rather than using it indirectly through the gnome-vfs async. calls, we could simplify the I/O code in Nemo. It's possible this would make a big improvement, but it's also possible that this would primarily affect the internals and implementation details of NemoFile and still leave the rest of the Nemo code the same. That's all for now This is a very rough early draft of this document. Let me know about other topics that would be useful to be covered in here. -- Darin nemo-1.8.4/docs/nemo.1000066400000000000000000000034301216702421000144250ustar00rootroot00000000000000.\" Hey, EMACS: -*- nroff -*- .\" First parameter, NAME, should be all caps .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection .\" other parameters are allowed: see man(7), man(1) .TH Nemo 1 "October 2012" .\" Please adjust this date whenever revising the manpage. .\" .\" Some roff macros, for reference: .\" .nh disable hyphenation .\" .hy enable hyphenation .\" .ad l left justify .\" .ad b justify to both left and right margins .\" .nf disable filling .\" .fi enable filling .\" .br insert line break .\" .sp insert n+1 empty lines .\" for manpage-specific macros, see man(7) .SH NAME nemo \- the Cinnamon File Manager .SH SYNOPSIS .B nemo .RI [ options ] " URIs" ... .br .SH DESCRIPTION This manual page documents briefly the .B nemo command. .PP Nemo is the file manager for the Cinnamon desktop. .br .SH OPTIONS Nemo follows the usual GNU command line syntax, with long options starting with two dashes (`-'). A summary of options is included below. .TP .B \-c .TP .B \-\-check Perform a quick set of self-check tests. .TP .B \-g .TP .B \-\-geometry=\fIGEOMETRY\fR Create the initial window with the given geometry. .TP .B \-n .TP .B \-\-no-default-window Only create windows for explicitly specified URIs. .TP .B \-\-no-desktop Do not manage the desktop \(em ignore the preference set in the preferences dialog. .TP .B \-q .TP .B \-\-quit Quit Nemo. .TP .B \-\-help Show a summary of options. .TP .B \-\-version Show Nemo' version. .TP Other standard GNOME options not listed here are also supported. .SH AUTHOR This manual page was originally written for Nautilus by Takuo KITAME and Dafydd Harries for the Debian GNU/Linux system (but may be used by others). nemo-1.8.4/docs/reference/000077500000000000000000000000001216702421000153435ustar00rootroot00000000000000nemo-1.8.4/docs/reference/Makefile.am000066400000000000000000000000341216702421000173740ustar00rootroot00000000000000SUBDIRS = libnemo-extension nemo-1.8.4/docs/reference/libnemo-extension/000077500000000000000000000000001216702421000210025ustar00rootroot00000000000000nemo-1.8.4/docs/reference/libnemo-extension/Makefile.am000066400000000000000000000051621216702421000230420ustar00rootroot00000000000000## Process this file with automake to produce Makefile.in # We require automake 1.6 at least. AUTOMAKE_OPTIONS = 1.6 # The name of the module, e.g. 'glib'. DOC_MODULE=libnemo-extension # The top-level SGML file. DOC_MAIN_SGML_FILE=$(DOC_MODULE)-docs.xml # The directory containing the source code. Relative to $(srcdir). # gtk-doc will search all .c & .h files beneath here for inline comments # documenting the functions and macros. # e.g. DOC_SOURCE_DIR=../../../libnemo-extension DOC_SOURCE_DIR=$(top_srcdir)/libnemo-extension # Extra options to pass to gtkdoc-scangobj. Not normally needed. SCANGOBJ_OPTIONS=--type-init-func="g_type_init()" # Extra options to supply to gtkdoc-scan. # e.g. SCAN_OPTIONS=--deprecated-guards="GTK_DISABLE_DEPRECATED" SCAN_OPTIONS=--deprecated-guards="G_DISABLE_DEPRECATED" # Extra options to supply to gtkdoc-mkdb. MKDB_OPTIONS=--sgml-mode --output-format=xml # Extra options to supply to gtkdoc-mktmpl # e.g. MKTMPL_OPTIONS=--only-section-tmpl MKTMPL_OPTIONS= # Extra options to supply to gtkdoc-fixref. Not normally needed. # e.g. FIXXREF_OPTIONS=--extra-dir=../gdk-pixbuf/html --extra-dir=../gdk/html FIXXREF_OPTIONS= # Used for dependencies. The docs will be rebuilt if any of these change. HFILE_GLOB=$(top_srcdir)/libnemo-extension/*.h CFILE_GLOB=$(top_srcdir)/libnemo-extension/*.c # Header files to ignore when scanning. IGNORE_HFILES = \ config.h \ $(NULL) # Images to copy into HTML directory HTML_IMAGES = content_files = \ version.xml \ $(NULL) # SGML files where gtk-doc abbrevations (#GtkWidget) are expanded # These files must be listed here *and* in content_files # e.g. expand_content_files=running.sgml expand_content_files= \ $(NULL) # CFLAGS and LDFLAGS for compiling gtkdoc-scangobj with your library. # Only needed if you are using gtkdoc-scangobj to dynamically query widget # signals and properties. # e.g. INCLUDES=-I$(top_srcdir) -I$(top_builddir) $(GTK_DEBUG_FLAGS) # e.g. GTKDOC_LIBS=$(top_builddir)/gtk/$(gtktargetlib) GTKDOC_CFLAGS = \ $(GTK_DEBUG_FLAGS) \ -I$(srcdir) \ -I$(top_srcdir) \ -I$(top_srcdir)/libnemo-extension \ -I$(top_builddir) \ -I$(top_builddir)/libnemo-extension \ $(BASE_CFLAGS) \ $(NULL) GTKDOC_LIBS = \ $(top_builddir)/libnemo-extension/libnemo-extension.la \ $(BASE_LIBS) \ $(NULL) # This includes the standard gtk-doc make rules, copied by gtkdocize. include $(top_srcdir)/gtk-doc.make # Other files to distribute # e.g. EXTRA_DIST += version.xml.in EXTRA_DIST += version.xml.in nemo-1.8.4/docs/reference/libnemo-extension/libnemo-extension-docs.xml000066400000000000000000000022021216702421000261050ustar00rootroot00000000000000 ]> Nemo Extension Reference Manual For Nemo-Extension &version; API Reference Extension Interfaces Index nemo-1.8.4/docs/reference/libnemo-extension/libnemo-extension-overrides.txt000066400000000000000000000000001216702421000271700ustar00rootroot00000000000000nemo-1.8.4/docs/reference/libnemo-extension/libnemo-extension-sections.txt000066400000000000000000000101241216702421000270250ustar00rootroot00000000000000
nemo-location-widget-provider NemoLocationWidgetProvider NemoLocationWidgetProviderIface nemo_location_widget_provider_get_widget NEMO_LOCATION_WIDGET_PROVIDER NEMO_IS_LOCATION_WIDGET_PROVIDER NEMO_TYPE_LOCATION_WIDGET_PROVIDER nemo_location_widget_provider_get_type NEMO_LOCATION_WIDGET_PROVIDER_GET_IFACE
nemo-menu-provider NemoMenuProvider NemoMenuProviderIface nemo_menu_provider_get_file_items nemo_menu_provider_get_background_items nemo_menu_provider_emit_items_updated_signal NEMO_MENU_PROVIDER NEMO_IS_MENU_PROVIDER NEMO_TYPE_MENU_PROVIDER nemo_menu_provider_get_type NEMO_MENU_PROVIDER_GET_IFACE
nemo-menu NEMO_TYPE_MENU_ITEM NEMO_MENU_ITEM NEMO_MENU_ITEM_CLASS NEMO_MENU_IS_ITEM NEMO_MENU_IS_ITEM_CLASS NEMO_MENU_ITEM_GET_CLASS NemoMenuPrivate NemoMenuItemDetails NemoMenu NemoMenu NemoMenuItem NemoMenuItem nemo_menu_new nemo_menu_append_item nemo_menu_get_items nemo_menu_item_list_free nemo_menu_item_get_type nemo_menu_item_new nemo_menu_item_activate nemo_menu_item_set_submenu NEMO_MENU NEMO_IS_MENU NEMO_TYPE_MENU nemo_menu_get_type NEMO_MENU_CLASS NEMO_IS_MENU_CLASS NEMO_MENU_GET_CLASS
nemo-column-provider NemoColumnProvider NemoColumnProviderIface nemo_column_provider_get_columns NEMO_COLUMN_PROVIDER NEMO_IS_COLUMN_PROVIDER NEMO_TYPE_COLUMN_PROVIDER nemo_column_provider_get_type NEMO_COLUMN_PROVIDER_GET_IFACE
nemo-property-page-provider NemoPropertyPageProvider NemoPropertyPageProviderIface nemo_property_page_provider_get_pages NEMO_PROPERTY_PAGE_PROVIDER NEMO_IS_PROPERTY_PAGE_PROVIDER NEMO_TYPE_PROPERTY_PAGE_PROVIDER nemo_property_page_provider_get_type NEMO_PROPERTY_PAGE_PROVIDER_GET_IFACE
nemo-file-info NEMO_FILE_DEFINED NemoFile NemoFileInfo NemoFileInfoIface nemo_file_info_create nemo_file_info_create_for_uri nemo_file_info_getter nemo_file_info_lookup nemo_file_info_lookup_for_uri nemo_file_info_list_copy nemo_file_info_list_free nemo_file_info_is_gone nemo_file_info_get_file_type nemo_file_info_get_location nemo_file_info_get_name nemo_file_info_get_uri nemo_file_info_get_activation_uri nemo_file_info_get_parent_location nemo_file_info_get_parent_uri nemo_file_info_get_mount nemo_file_info_get_uri_scheme nemo_file_info_get_parent_info nemo_file_info_get_mime_type nemo_file_info_is_mime_type nemo_file_info_is_directory nemo_file_info_can_write nemo_file_info_add_emblem nemo_file_info_get_string_attribute nemo_file_info_add_string_attribute nemo_file_info_invalidate_extension_info NEMO_FILE_INFO NEMO_IS_FILE_INFO NEMO_TYPE_FILE_INFO nemo_file_info_get_type NEMO_FILE_INFO_GET_IFACE
nemo-column NemoColumnDetails NemoColumn NemoColumn nemo_column_new NEMO_COLUMN NEMO_INFO_IS_COLUMN NEMO_TYPE_COLUMN nemo_column_get_type NEMO_COLUMN_CLASS NEMO_INFO_IS_COLUMN_CLASS NEMO_COLUMN_GET_CLASS
nemo-info-provider NemoInfoProvider NemoInfoProviderIface NemoInfoProviderUpdateComplete nemo_info_provider_update_file_info nemo_info_provider_cancel_update nemo_info_provider_update_complete_invoke NEMO_INFO_PROVIDER NEMO_IS_INFO_PROVIDER NEMO_TYPE_INFO_PROVIDER nemo_info_provider_get_type NEMO_INFO_PROVIDER_GET_IFACE
nemo-property-page NemoPropertyPageDetails NemoPropertyPage NemoPropertyPage nemo_property_page_new NEMO_PROPERTY_PAGE NEMO_IS_PROPERTY_PAGE NEMO_TYPE_PROPERTY_PAGE nemo_property_page_get_type NEMO_PROPERTY_PAGE_CLASS NEMO_IS_PROPERTY_PAGE_CLASS NEMO_PROPERTY_PAGE_GET_CLASS
nemo-extension-types NEMO_TYPE_OPERATION_RESULT NemoOperationHandle NemoOperationResult nemo_operation_result_get_type nemo_module_initialize nemo_module_shutdown nemo_module_list_types
nemo-menu-item
nemo-1.8.4/docs/reference/libnemo-extension/libnemo-extension.types000066400000000000000000000004651216702421000255340ustar00rootroot00000000000000nemo_property_page_provider_get_type nemo_location_widget_provider_get_type nemo_operation_result_get_type nemo_file_info_get_type nemo_property_page_get_type nemo_info_provider_get_type nemo_column_get_type nemo_column_provider_get_type nemo_menu_provider_get_type nemo_menu_get_type nemo_menu_item_get_type nemo-1.8.4/docs/reference/libnemo-extension/tmpl/000077500000000000000000000000001216702421000217565ustar00rootroot00000000000000nemo-1.8.4/docs/reference/libnemo-extension/tmpl/libnemo-extension-unused.sgml000066400000000000000000000000001216702421000275700ustar00rootroot00000000000000nemo-1.8.4/docs/reference/libnemo-extension/tmpl/nemo-column-provider.sgml000066400000000000000000000010761216702421000267270ustar00rootroot00000000000000 nemo-column-provider @g_iface: @get_columns: @provider: @Returns: nemo-1.8.4/docs/reference/libnemo-extension/tmpl/nemo-column.sgml000066400000000000000000000016161216702421000250770ustar00rootroot00000000000000 NemoColumn @name: @attribute: @label: @description: @Returns: nemo-1.8.4/docs/reference/libnemo-extension/tmpl/nemo-extension-types.sgml000066400000000000000000000016621216702421000267610ustar00rootroot00000000000000 nemo-extension-types @NEMO_OPERATION_COMPLETE: @NEMO_OPERATION_FAILED: @NEMO_OPERATION_IN_PROGRESS: @void: @Returns: @module: @void: @types: @num_types: nemo-1.8.4/docs/reference/libnemo-extension/tmpl/nemo-file-info.sgml000066400000000000000000000065731216702421000254610ustar00rootroot00000000000000 nemo-file-info @g_iface: @is_gone: @get_name: @get_uri: @get_parent_uri: @get_uri_scheme: @get_mime_type: @is_mime_type: @is_directory: @add_emblem: @get_string_attribute: @add_string_attribute: @invalidate_extension_info: @get_activation_uri: @get_file_type: @get_location: @get_parent_location: @get_parent_info: @get_mount: @can_write: @location: @Returns: @uri: @Returns: @location: @create: @Returns: @location: @Returns: @uri: @Returns: @files: @Returns: @files: @file: @Returns: @file: @Returns: @file: @Returns: @file: @Returns: @file: @Returns: @file: @Returns: @file: @Returns: @file: @Returns: @file: @Returns: @file: @Returns: @file: @Returns: @file: @Returns: @file: @mime_type: @Returns: @file: @Returns: @file: @Returns: @file: @emblem_name: @file: @attribute_name: @Returns: @file: @attribute_name: @value: @file: nemo-1.8.4/docs/reference/libnemo-extension/tmpl/nemo-info-provider.sgml000066400000000000000000000017561216702421000263720ustar00rootroot00000000000000 nemo-info-provider @g_iface: @update_file_info: @cancel_update: @provider: @handle: @result: @user_data: @provider: @file: @update_complete: @handle: @Returns: @provider: @handle: @update_complete: @provider: @handle: @result: nemo-1.8.4/docs/reference/libnemo-extension/tmpl/nemo-location-widget-provider.sgml000066400000000000000000000011571216702421000305230ustar00rootroot00000000000000 nemo-location-widget-provider @g_iface: @get_widget: @provider: @uri: @window: @Returns: nemo-1.8.4/docs/reference/libnemo-extension/tmpl/nemo-menu-item.sgml000066400000000000000000000004561216702421000255030ustar00rootroot00000000000000 nemo-menu-item nemo-1.8.4/docs/reference/libnemo-extension/tmpl/nemo-menu-provider.sgml000066400000000000000000000017441216702421000264000ustar00rootroot00000000000000 nemo-menu-provider @nemomenuprovider: the object which received the signal. @g_iface: @get_file_items: @get_background_items: @provider: @window: @files: @Returns: @provider: @window: @current_folder: @Returns: @provider: nemo-1.8.4/docs/reference/libnemo-extension/tmpl/nemo-menu.sgml000066400000000000000000000043131216702421000245430ustar00rootroot00000000000000 NemoMenuItem @obj: @klass: @obj: @klass: @obj: @nemomenuitem: the object which received the signal. @void: @Returns: @menu: @item: @menu: @Returns: @item_list: @void: @Returns: @name: @label: @tip: @icon: @Returns: @item: @item: @menu: nemo-1.8.4/docs/reference/libnemo-extension/tmpl/nemo-property-page-provider.sgml000066400000000000000000000011351216702421000302240ustar00rootroot00000000000000 nemo-property-page-provider @g_iface: @get_pages: @provider: @files: @Returns: nemo-1.8.4/docs/reference/libnemo-extension/tmpl/nemo-property-page.sgml000066400000000000000000000013421216702421000263740ustar00rootroot00000000000000 NemoPropertyPage @name: @label: @page: @Returns: nemo-1.8.4/docs/reference/libnemo-extension/version.xml.in000066400000000000000000000000361216702421000236150ustar00rootroot00000000000000@NEMO_EXTENSION_VERSION_INFO@ nemo-1.8.4/docs/style-guide.html000066400000000000000000000120621216702421000165270ustar00rootroot00000000000000 Nemo Coding Style Guide

To make code written for Nemo look and act in a predictable way, we follow a set of guidelines that specify some details of how we write code. To start, we follow all the guidelines outlined in the GNOME Programming Guidelines.

This document covers both things that are not mentioned in the GNOME Programming Guidelines and things that are mentioned there but need to be re-emphasized because people don't follow them often enough.

I'm just getting started on this document. Feedback is welcome. Eventually I'd like better organization and tons of examples.

- Darin


We use the most-recommended coding style from the GNOME Programming Guidelines. This means that we use the Linux kernel brace style with 8-character tabs (not the GNU brace style), we put spaces before the parentheses that introduce function argument lists, we put the braces that open the block for an if statement on the same line as the if statement (part of Linux kernel brace style).

We prefer to use words rather than acronyms or abbreviations. This means that we name classes with a prefix like Nemo, not Ntl, for example. And we use variables named result rather than retval or rv.

We strive to have a minimum number of local variables. This makes it easier to move pieces of code around. For more on this, read Refactoring.

We use type casts as little as possible. There are many places in GTK programming where you have to cast to make the program work, but we do whatever we can to avoid this. Also, we prefer to cast data pointers, rather than casting function pointers, since there's so much more to get wrong with function pointer casts.

We use typedefs from <glib.h> for things like guint, guchar and gpointer, but not gint, gchar, or gdouble. Using these gives a false sense of portability. In all three cases, using system calls like printf requires knowing that these are the "real" int, char, and double, so there's no reason to use a typedef that's non-standard unless it's a shorter name or clearer in some way.

We avoid in-band signaling. This means that we avoid using special values to indicate errors, for example. This can lead to subtle bugs when a valid result is misinterpreted as an error, and can make it hard to tell if the code handles errors or not.

We code for clarity first. Other concerns like efficiency are secondary. Sometimes they become more important than clarity, but only once they are proven to be a problem.

We use for loops when they make the code easier to read. The alternative is usually to use a while loop. It's true that "easy to read" is a subjective thing.

We declare local variables at the beginning of a block. C99 allows you to declare variables anywhere in a function, but a lot of compilers still do not support C99.

We do not initialize local variables in their declarations. C allows you to initialize a local variable when declaring it. But no other code can run before this, because the other statements in a function must be after all the declarations. If there are lines of code initializing the variables in the declarations, it can be harder to change the function around, since code must move down from the declaration if other code needs to run after it. To avoid this, we just don't use the ability to initialize the variable when it's declared.

We always use braces, even for one-statement "blocks". Our consensus is to do things like this:

if (list != NULL) {
        g_warning ("the list isn't empty");
}

Instead of this:

if (list != NULL)
        g_warning ("the list isn't empty");

This applies to all control structures: if, while, for, do.

We make each header "stand alone". Our concept with C header files is that each one must be written so it can be included without including another file first. To test that the header files we develop have this property, we always include the corresponding header file first in each C source file. The only exception is the include of <config.h>, which goes first. Here's an example:

/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*-
 *
 * nemo-icon-factory.c: Class for obtaining icons for files and other objects.
 *
 * Copyright (C) 1999, 2000 Red Hat Inc.
 * Copyright (C) 1999, 2000 Eazel, Inc.
 *
 * License agreement goes here.
 *
 * Author: John Sullivan <sullivan@eazel.com>
 */

#include <config.h>
#include "nemo-icon-factory.h"

#include <string.h>
#include <stdio.h>
Include statements for other header files go here.

Other declarations and code go here.

nemo-1.8.4/eel/000077500000000000000000000000001216702421000132225ustar00rootroot00000000000000nemo-1.8.4/eel/ChangeLog000066400000000000000000011403521216702421000150020ustar00rootroot00000000000000=== nemo 2.26.2 === === nemo 2.26.1 === 2009-03-24 Alexander Larsson * eel-background.c: Ensure that we correctly free root pixmaps that are never set as desktop background, so that they are not leaked. 2009-03-16 Cosimo Cecchi * Makefile.am: remove -version-info LDFLAG from eel, as this is not a private library anymore. === nemo 2.26.0 === === nemo 2.25.93 === 2009-03-09 Alexander Larsson * eel-editable-label.c: (eel_editable_label_move_forward_word): Don't move past end of string (#569165). 2009-03-09 Alexander Larsson * eel-editable-label.c: (eel_editable_label_move_cursor): Revert wrong cursor move change. 2009-02-24 Alexander Larsson * eel-background.c (eel_background_get_image_uri): Don't spew warning if there is no uri. 2009-02-17 Alexander Larsson * eel-background.c (eel_background_ensure_realized): Ignore pending background changes when we've realized the background to avoid an unnecessary re-set of the pixmap. === nemo 2.25.91 === === nemo 2.25.4 === 2009-01-28 Cosimo Cecchi * eel-editable-label.c: (eel_editable_label_move_cursor): make sure we take care about UTF-8/byte conversion when we move around the cursor (#569165). 2009-01-22 A. Walton * eel-debug-drawing.c (eel_debug_show_pixbuf_in_external_viewer): Use g_mkstemp() instead of mkstemp(). Pointed out by Paolo Borelli. 2009-01-21 A. Walton * eel-debug-drawing.c (eel_debug_show_pixbuf_in_external_viewer): Really fix bug #568630, replace mktemp() with mkstemp(). 2009-01-21 A. Walton * eel-debug-drawing.c (eel_debug_show_pixbuf_in_external_viewer): Last commit is wrong; mkstemp is not a drop in replacement for mktemp. 2009-01-21 A. Walton * eel-debug-drawing.c (eel_debug_show_pixbuf_in_external_viewer): Bug 568630 eel should use mkstemp() instead of mktemp() mktemp() is deprecated and should not be used. Patch by Jasper Lievisse Adriaanse. 2009-01-20 Cosimo Cecchi * eel-background.c: (on_bg_changed), (on_bg_transitioned), (eel_background_init), (free_fade), (eel_background_finalize), (set_root_pixmap), (fade_to_pixmap), (eel_background_set_up_widget), (on_background_changed), (init_fade), (eel_widget_queue_background_change), (widget_style_set_cb), (widget_realized_setup), (on_widget_destroyed), (eel_get_widget_background): Support fading between backgrounds. Bug #552859, patch by Ray Strode. === nemo 2.25.2 === 2008-12-15 Alexander Larsson * Makefile.am: Don't install headers 2008-12-10 Alexander Larsson * eel/eel-enumeration.[ch]: * eel/eel-preferences-builder.c: * eel/eel-preferences.[ch]: Make enums uint (so we can use larger values for thumbnail limit). 2008-12-08 Cosimo Cecchi * test/test.h: Flip include orders to fix the build (#563731). 2008-12-07 Cosimo Cecchi * eel/eel-background.c: * test/test.h: Remove more useless includes. Thanks to Luis Menina (#563569). 2008-12-07 Cosimo Cecchi * eel/check-program.c: * eel/eel-gdk-pixbuf-extensions.c: * test/test-eel-background.c: * test/test-eel-image-table.c: Use single gdk-pixbuf and GTK+ headers includes. 2008-12-01 Alexander Larsson * configure.in: Post release version bump ==================== 2.25.1 ==================== 2008-12-01 Alexander Larsson * NEWS: Update for release 2008-11-18 Cosimo Cecchi * eel/eel-preferences.c: (eel_preferences_add_auto_string_array_as_quarks): Plug a leak. 2008-10-09 Alexander Larsson * eel/eel-gdk-extensions.[ch]: Remove old now unused function eel_gdk_color_parse() 2008-10-07 Alexander Larsson * configure.in: * eel-2.0-uninstalled.pc.in: * eel-2.0.pc.in: Remove deps on startup-notify, libgnome* and libglade * eel/eel-gnome-extensions.[ch]: Remove GnomeIconSelector functions. Remove glade functions * eel/eel-preferences-glade.c: Removed. * eel/eel-preferences-builder.c: Added. * eel/eel-preferences-glade.h: Removed * eel/eel-preferences.h: Move eel-preferences-glade.c to eel-preferences-builder.c and use GtkBuilder instead of Glade. Remove eel-preferences-glade.h and move GtkBuilder functions into eel-preferences.h * eel/Makefile.am: Update for file renamed/deletions * eel/check-program.c: * eel/eel-stock-dialogs.c: Don't include libgnome headers. 2008-10-07 Alexander Larsson * eel/eel-gnome-extensions.[ch]: Remove gnome_icon_selector code 2008-10-06 Alexander Larsson * eel/check-program.c: * test/test-eel-widgets.c: * test/test.c: Don't use GnomeProgram 2008-10-06 Alexander Larsson * eel/eel-stock-dialogs.c (timed_wait_callback): Don't call gnome_authentication_manager_dialog_is_visible() anymore, not needed with no gnome-vfs. 2008-10-06 Alexander Larsson * eel/eel-debug-drawing.c (eel_debug_show_pixbuf_in_external_viewer): Better ignoring of system return value. Fixes build (#555264) 2008-10-06 Alexander Larsson * eel/Makefile.am: * eel/eel-mount-operation.[ch]: Remove EelMountOperation 2008-10-01 Alexander Larsson * configure.in: Bump version to 2.25.1. Stable version lives on the gnome-2-24 branch. 2008-09-22 Christian Neumair * configure.in: post-release bump to 2.24.1 ==================== 2.24.0 ==================== 2008-09-22 Christian Neumair * NEWS: Update for release. 2008-09-15 Christian Neumair * eel/eel-mount-operation.c (ask_password): Do not make password dialog modal. Fixes #539966. 2008-09-13 Cosimo Cecchi * eel/eel-preferences.c: (update_auto_string_array_as_quarks): Fix a warning for an uninitialized variable. Patch by Christian Kirbach (#552135). 2008-09-10 Christian Neumair * eel/eel-preferences.c (update_auto_string_array_as_quarks), (preferences_entry_update_auto_storage), (preferences_entry_remove_auto_storage), (eel_preferences_add_auto_string_array_as_quarks): * eel/eel-preferences.h: Add eel_preferences_add_auto_string_array_as_quarks(), which maps a string array to a quark array. No remove function yet, since up to now it is not needed. Parly fixes #551576. 2008-09-08 Christian Neumair * configure.in: post-release bump to 2.40.0 ==================== 2.23.92 ==================== 2008-09-08 Christian Neumair * NEWS: Update for release. 2008-09-08 Christian Neumair * eel/Makefile.am: * eel/eel-app-launch-context.c: * eel/eel-app-launch-context.h: Remove in favor of GdkAppLaunchContext. 2008-09-06 Christian Neumair * eel/eel-gdk-pixbuf-extensions.c (pixbuf_loader_size_prepared): Explicitly cast to float when determining aspect ratio. Fixes #550997. 2008-09-02 Cosimo Cecchi * eel/*.[ch]: use single headers GTK/GDK/Pango includes. 2008-09-01 Christian Neumair * configure.in: post-release bump to 2.23.92. ==================== 2.23.91 ==================== 2008-09-01 Christian Neumair * NEWS: Update for release. 2008-09-01 Christian Neumair * eel/eel-vfs-extensions.c (eel_filename_strip_extension), (eel_filename_get_rename_region): * eel/eel-vfs-extensions.h: Add eel_filename_strip_extension(), and use it in eel_filename_get_rename_region(). Part of #309510. Thanks to Paolo Borelli and Jared Moore . 2008-09-01 Christian Neumair * eel/eel-gdk-pixbuf-extensions.c (eel_gdk_pixbuf_load_from_stream), (pixbuf_loader_size_prepared), (eel_gdk_pixbuf_load_from_stream_at_size): * eel/eel-gdk-pixbuf-extensions.h: Add eel_gdk_pixbuf_load_from_stream_at_size(), which sets the size of the pixbuf loader when loading. Part of #529371. 2008-08-03 Christian Neumair * configure.in: post-release bump to 2.23.91. ==================== 2.23.90 ==================== 2008-08-03 Christian Neumair * configure.in: post-release bump to 2.23.90. ==================== 2.23.6 ==================== 2008-07-21 Christian Neumair * configure.in: post-release bump to 2.23.6. ==================== 2.23.5 ==================== 2008-06-16 Christian Neumair * configure.in: post-release bump to 2.23.5. ==================== 2.23.4 ==================== 2008-06-16 Christian Neumair * configure.in: actually pre-release bump to 2.23.4. 2008-06-16 Christian Neumair * NEWS: Update for release. * configure.in: pre-release bump to 2.23.4. 2008-06-10 Christian Neumair * eel/eel-editable-label.c (eel_editable_label_get_block_cursor_location), (eel_editable_label_draw_cursor), (eel_editable_label_toggle_overwrite): Use block cursor in insert mode. Fixes #511617. Thanks to Arthur Taylor. 2008-06-03 Vincent Untz * configure.in: post-release bump to 2.23.3 ==================== 2.23.2 ==================== 2008-06-03 Christian Neumair * NEWS: * configure.in: Require libgnome 2.23.0. 2008-06-03 Christian Neumair * NEWS: Update for release. Sun Jun 1 21:04:04 2008 Søren Sandmann * eel/eel-background.c (struct EelBackgroundDetails): Remove unused image_mtime Sun Jun 1 21:02:00 2008 Søren Sandmann * eel/eel-background.c: Don't store the image_uri - instead rely on getting it from GnomeBG. Sun Jun 1 20:39:03 2008 Søren Sandmann * eel/eel-background.c: Don't monitor the file anymore; this is done by GnomeBG. Sun Jun 1 20:24:12 2008 Søren Sandmann * eel/eel-background.c (struct EelBackgroundDetails): Don't store an EelBackgroundPlacement; instead compute it from the GnomeBG. Sun Jun 1 19:30:16 2008 Søren Sandmann * eel/eel-background.c (eel_background_save_to_gconf): New function. Sat May 31 02:23:16 2008 Søren Sandmann * eel/eel-background.c (eel_background_reload_image): Deal with the case where image_uri is NULL. Sat May 31 00:39:25 2008 Søren Sandmann * eel/eel-background.c (eel_background_reload_image): Use gnome_bg_set_filename(). * configure.in: Require new gnome-desktop Fri May 30 23:23:53 2008 Søren Sandmann * Revert last commit, since we still need to deal with file uris. Fri May 30 22:13:51 2008 Søren Sandmann * eel/eel-background.[ch]: Rename eel_background_set/get_image_uri() to set/get_image_filename() to reflect the fact that only local files works. Fri May 30 21:31:09 2008 Søren Sandmann * eel/eel-background.h: Remove unused eel_background_set_image_uri_sync() function. 2008-04-21 Christian Neumair * configure.in: post release version bump === eel 2.23.1 === 2008-04-21 Christian Neumair * NEWS: Update for release. 2008-03-29 Christian Neumair * configure.in: Use a slightly cleaner method of detecting libstartup-notification, using macros instead of manually calling pkg-config (#507811). Thanks to Loïc Minier . 2008-03-29 Christian Neumair * eel/eel-debug-drawing.c (eel_debug_show_pixbuf_in_external_viewer): Cast system() call result to void, to avoid complier warnings (#502579). 2008-03-28 Alexander Larsson * configure.in: Bump version to 2.23.1 Gnome 2.22 work continues on gnome-2-22 branch 2008-03-28 Christian Neumair * eel/eel-accessibility.h: * eel/eel-background.c (eel_background_set_image_uri_helper), (eel_background_is_set): * eel/eel-canvas-rect-ellipse.c (eel_canvas_re_destroy), (eel_canvas_re_set_property), (eel_canvas_re_get_property): * eel/eel-canvas.c (eel_canvas_item_set_property), (eel_canvas_item_get_property), (eel_canvas_item_dispose), (eel_canvas_item_invoke_update), (eel_canvas_group_set_property), (eel_canvas_group_get_property), (eel_canvas_group_destroy), (group_remove), (eel_canvas_accessible_get_n_children), (eel_canvas_accessible_ref_child), (eel_canvas_accessible_create), (eel_canvas_accessible_factory_create_accessible), (eel_canvas_destroy), (eel_canvas_map), (eel_canvas_unmap), (eel_canvas_realize), (eel_canvas_unrealize), (eel_canvas_size_allocate), (eel_canvas_button), (eel_canvas_motion), (eel_canvas_key), (eel_canvas_crossing), (eel_canvas_expose), (do_update), (eel_canvas_item_accessible_get_extents), (eel_canvas_item_accessible_get_mdi_zorder), (eel_canvas_item_accessible_component_interface_init), (eel_canvas_item_accessible_create), (eel_canvas_item_accessible_factory_create_accessible): * eel/eel-debug-drawing.c (debug_pixbuf_viewer_size_request), (debug_pixbuf_viewer_expose_event), (debug_pixbuf_viewer_set_pixbuf): * eel/eel-editable-label.c (add_move_binding), (eel_editable_label_finalize), (eel_editable_label_size_request), (eel_editable_label_style_set), (_eel_draw_insertion_cursor), (eel_editable_label_expose), (eel_editable_label_select_region_index), (popup_position_func), (atk_text_interface_init), (atk_editable_text_interface_init), (eel_editable_label_accessible_get_name): * eel/eel-enumeration.c (eel_enumeration_new), (eel_enumeration_new_from_entries): * eel/eel-gconf-extensions.c (simple_value_is_equal): * eel/eel-gdk-extensions.c (eel_gradient_new), (eel_gradient_set_edge_color), (eel_gradient_set_left_color_spec), (eel_gradient_set_top_color_spec), (eel_gradient_set_right_color_spec), (eel_gradient_set_bottom_color_spec), (eel_gdk_color_parse_with_white_default): * eel/eel-gdk-pixbuf-extensions.c (pixbuf_destroy_callback): * eel/eel-graphic-effects.c (create_new_pixbuf), (create_new_pixbuf_with_alpha): * eel/eel-gtk-extensions.c (while_realized_disconnecter): * eel/eel-image-table.c (eel_image_table_realize), (eel_image_table_unrealize), (eel_image_table_remove), (image_table_emit_signal), (image_table_handle_motion), (ancestor_enter_notify_event), (ancestor_leave_notify_event), (ancestor_motion_notify_event), (ancestor_button_press_event), (ancestor_button_release_event): * eel/eel-labeled-image.c (eel_labeled_image_set_property), (eel_labeled_image_get_property), (eel_labeled_image_size_request), (eel_labeled_image_size_allocate), (eel_labeled_image_expose_event), (eel_labeled_image_map), (eel_labeled_image_unmap), (eel_labeled_image_add), (eel_labeled_image_remove), (eel_labeled_image_forall), (labeled_image_get_image_dimensions), (labeled_image_get_label_dimensions), (labeled_image_get_image_bounds_fill), (labeled_image_get_label_bounds_fill), (labeled_image_update_alignments), (labeled_image_get_content_dimensions), (labeled_image_get_content_bounds), (labeled_image_ensure_label), (labeled_image_ensure_image), (labeled_image_show_image), (labeled_image_show_label), (eel_labled_set_mnemonic_widget), (button_leave_callback), (button_focus_out_event_callback): * eel/eel-preferences.c (preferences_gconf_value_get_int), (preferences_gconf_value_get_bool), (preferences_gconf_value_get_string), (preferences_gconf_value_get_string_array), (preferences_peek_storage_path), (preferences_set_storage_path), (preferences_get_value), (preferences_preference_is_gconf_key), (preferences_key_make), (preferences_get_default_value), (eel_preferences_get_is_invisible), (string_array_is_valid), (preferences_callback_entry_invoke_function), (preferences_entry_invoke_callbacks), (update_auto_string), (update_auto_string_array), (update_auto_integer_or_boolean), (preferences_something_changed_notice), (preferences_entry_ensure_gconf_connection), (preferences_entry_add_callback), (preferences_entry_add_auto_storage), (preferences_entry_remove_callback), (preferences_entry_remove_auto_storage), (preferences_callback_entry_free), (preferences_callback_entry_free_func), (preferences_entry_free), (preferences_global_table_lookup), (preferences_global_table_insert), (preferences_global_table_lookup_or_insert), (preferences_set_emergency_fallback_stealing_value): * eel/eel-wrap-table.c (eel_wrap_table_set_property), (eel_wrap_table_get_property), (eel_wrap_table_size_request), (eel_wrap_table_size_allocate), (eel_wrap_table_expose_event), (eel_wrap_table_map), (eel_wrap_table_unmap), (eel_wrap_table_realize), (eel_wrap_table_add), (eel_wrap_table_remove), (eel_wrap_table_forall), (wrap_table_get_num_fitting), (wrap_table_layout), (wrap_table_irect_max_dimensions), (wrap_table_get_max_child_dimensions), (wrap_table_get_content_dimensions), (wrap_table_get_content_bounds), (wrap_table_child_focus_in): g_assert() in static functions instead of using g_return(_val)_if_fail() (#320246). Thanks to Aaditya Sood. 2008-03-28 Alexander Larsson * configure.in: Post release version bump === eel 2.22.1 === 2008-03-28 Alexander Larsson * NEWS: Update for release. 2008-03-24 Christian Neumair * eel/eel-string.c (skip_argv), (custom1_skip), (custom2_skip): Fix compiler warnings about unused value by casting va_arg calls with unused return values to void (#523899). 2008-03-11 Christian Neumair * eel/eel-background.c: (background_image_file_changed), (eel_background_update_file_monitor), (eel_background_set_image_uri_helper): Update EelBackground if the image file changes. Fixes #106613. 2008-03-11 Alexander Larsson * eel/eel-mount-operation.c: (ask_question): Don't pass in NULL as primary if there is no newline in the message. 2008-03-10 Alexander Larsson * configure.in (LIBGLADE_REQUIRED): Post release version bump === eel 2.22.0 === 2008-03-10 Alexander Larsson * NEWS: Update for release * configure.in (LIBGLADE_REQUIRED): Bump version to 2.22.0 2008-02-25 Alexander Larsson * configure.in: Post release version bump === eel 2.21.92 === 2008-02-25 Alexander Larsson * NEWS: Update for release 2008-02-22 Carlos Garcia Campos * eel/eel-mount-operation.c: (ask_question): Use the first line of the question message as primary text for the dialog so that it's formatted. 2008-02-21 Cosimo Cecchi * eel/eel-background.c: (eel_background_ensure_realized): Better fix for bug #517681. 2008-02-21 Cosimo Cecchi * eel/eel-background.c: (eel_background_ensure_realized): Fix compilation warning. (#517681) Patch from Rodrigo Moya. 2008-02-21 Cosimo Cecchi * eel-2.0-uninstalled.pc.in: * eel-2.0.pc.in: Update dependencies (#505831). 2008-02-18 Alexander Larsson * eel/eel-mount-operation.c: Handle the save-password flags (#516997) Patch from Carlos Garcia Campos 2008-02-13 Christian Persch * eel/eel-editable-label.c: (eel_editable_label_select_region_index): Update text targets list. Bug #516230. 2008-02-13 Christian Persch * configure.in: * eel/eel-string.c: (eel_strdup_vprintf_with_custom): Use G_VA_COPY. Bug #516232. 2008-02-13 Alexander Larsson * configure.in: Check for va_copy and define a replacement if not availible (#513199) Patch from Jens Granseuer 2008-02-11 Alexander Larsson * configure.in: Post release version bump === eel 2.21.91 === 2008-02-11 Alexander Larsson * NEWS: Update for release 2008-01-28 Alexander Larsson * configure.in: Post release version bump === eel 2.21.90 === 2008-01-28 Alexander Larsson * NEWS: Update for release * configure.in: Bump version to 2.21.90 2008-01-28 Alexander Larsson * test/test-eel-image-table.c: Use G_STRFUNC instead of deprecated G_GNUC_FUNCTION Fri Jan 25 14:08:11 2008 Søren Sandmann * eel/eel-background.c: Add #define GNOME_DESKTOP_USE_UNSTABLE_API before including gnome-bg.h * eel/eel-background.c: Delete eel_background_set_is_constant_size(). 2008-01-22 Alexander Larsson * eel/eel-string.c: (eel_ref_str_unref): Fix leak and tighten up a possible race condition when a unique string is ressurected. 2008-01-14 Alexander Larsson * configure.in (LIBGLADE_REQUIRED): Post release version bump === eel 2.21.5 === 2008-01-14 Alexander Larsson * configure.in (LIBGLADE_REQUIRED): Bump version to 2.21.5 * NEWS: Updated for release 2008-01-09 Alexander Larsson * eel/eel-mount-operation.c: Update for gio API changes 2007-12-20 Alexander Larsson * configure.in: Post release version bump === eel 2.21.1 === 2007-12-20 Alexander Larsson * NEWS: Update for release * configure.in: Require glib 2.15.0 2007-12-20 Alexander Larsson * eel/eel-app-launch-context.c: Update to new file attribute names 2007-12-14 Alexander Larsson * eel/eel-mount-operation.c: Update to new flag enum names and values 2007-12-14 Alexander Larsson * eel/eel-app-launch-context.c: * eel/eel-app-launch-context.h: * eel/eel-background.c: * eel/eel-gdk-pixbuf-extensions.c: * eel/eel-gdk-pixbuf-extensions.h: * eel/eel-mount-operation.h: * eel/eel-vfs-extensions.c: Only use include 2007-12-13 Alexander Larsson * eel/eel-mount-operation.c: (ask_password): G_PASSWORD_FLAGS_ANON_SUPPORTED -> G_PASSWORD_FLAGS_ANONYMOUS_SUPPORTED 2007-12-10 Alexander Larsson * eel/eel-app-launch-context.c (add_startup_timeout): Correct set_data name 2007-11-30 Alexander Larsson * configure.in (LIBGLADE_REQUIRED): Bump version to 2.21.1 Remove extraversion 2007-11-29 Alexander Larsson * eel/eel-app-launch-context.c: * eel/eel-vfs-extensions.c: Update code to handle glib version of gio 2007-11-22 Alexander Larsson * eel/eel-string.c (handlers): Make handlers static 2007-11-22 Alexander Larsson * eel/eel-string.[ch]: Added eel_strdup_vprintf_with_custom and eel_strdup_printf_with_custom 2007-11-06 Alexander Larsson * eel/eel-mount-operation.c: Fix build for new gio 2007-11-06 Alexander Larsson * configure.in: Look for libstartupnotify * eel/Makefile.am: * eel/eel-app-launch-context.[ch]: Add EelAppLaunchContext 2007-11-02 Paolo Borelli * eel/eel-string.c: * eel/eel-string.h: Remove two functions that were just used in eel-string-list. 2007-11-02 Paolo Borelli * eel/eel-preferences-glade.c: * eel/eel-gconf-extensions.c: * eel/eel-preferences.c: * eel/eel-preferences.h: Introduce eel_preference_[get|set]_string_array and remove all uses of eel-string-list. * eel/eel-enumerations.c: * eel/eel-enumerations.h: Simplify implementation and API and avoid use of eel-string-list. * eel/eel-string-list.c: * eel/eel-string-list.h: * eel/Makefile.am: Remove eel-string-list.c 2007-11-02 Alexander Larsson * eel/eel-string.c (eel_str_middle_truncate): Fix off by one bug 2007-11-01 Alexander Larsson * eel/eel-string.c: Make eel_str_middle_truncate handle utf8 strings correctly. 2007-10-24 Alexander Larsson * eel/eel-mount-operation.[ch]: Add active_changed signal 2007-10-24 Alexander Larsson * eel/Makefile.am: * eel/eel-mount-operation.[ch]: Add GMountOperation version with gtk+ dialogs 2007-10-24 Alexander Larsson * eel/eel-gdk-pixbuf-extensions.[ch]: * eel/eel-background.c: Convert gnome_vfs use to gio * configure.in: * eel/check-program.c: * test/test-eel-background.c: * test/test.[ch]: Remove dependencies on gnome-vfs, libgnomedesktop, etc 2007-10-24 Alexander Larsson * eel/eel-art-extensions.[ch]: * eel/eel-enumeration.c: * eel/eel-gdk-extensions.[ch]: * eel/eel-glib-extensions.c: * eel/eel-gtk-extensions.[ch]: * eel/eel-pango-extensions.[ch]: * eel/eel-self-checks.c: * eel/eel-string-list.[ch]: * eel/eel-string.[ch]: Remove even more unused functions 2007-10-24 Alexander Larsson * eel/eel-editable-label.c: * eel/eelmarshal.list: Remove unused marshallers 2007-10-24 Alexander Larsson * eel/eel-art-extensions.[ch]: * eel/eel-debug-drawing.c: * eel/eel-gdk-extensions.[ch]: * eel/eel-gdk-pixbuf-extensions.[ch]: * eel/eel-glib-extensions.[ch]: * eel/eel-lib-self-check-functions.h: * test/Makefile.am: * test/test-eel-gtk-style.c: Removed. * test/test-eel-pixbuf-tile.c: Removed. * test/test.c: Remove unused functions 2007-10-23 Alexander Larsson * configure.in: * eel/eel-art-extensions.[ch]: * eel/eel-art-gtk-extensions.[ch]: * eel/eel-background.c: * eel/eel-debug-drawing.[ch]: * eel/eel-gdk-pixbuf-extensions.[ch]: * eel/eel-gnome-extensions.c: * eel/eel-graphic-effects.c: * eel/eel-gtk-container.[ch]: * eel/eel-image-table.c: * eel/eel-labeled-image.[ch]: * eel/eel-self-checks.[ch]: * eel/eel-wrap-table.c: * test/test-eel-gtk-style.c: * test/test-eel-pixbuf-tile.c: * test/test.c: Lift in the small amount of code and typedefs we need from libart. Remove libart dependency. 2007-10-23 Alexander Larsson * eel/Makefile.am: * eel/eel-dateedit-extensions.[ch]: Removed. * eel/eel-gnome-extensions.[ch]: * eel/eel.h: Remove unneeded eel functions 2007-10-23 Alexander Larsson * eel/eel-lib-self-check-functions.h: * eel/eel-vfs-extensions.[ch]: Remove a bunch of unnecessary gnome-vfs functions 2007-10-11 Alexander Larsson * eel/eel-gdk-pixbuf-extensions.[ch]: Added eel_gdk_pixbuf_load_from_stream 2007-10-01 Alexander Larsson * eel/Makefile.am: * eel/eel-mime-application-chooser.[ch]: * eel/eel-open-with-dialog.[ch]: Move these to nemo 2007-10-01 Alexander Larsson * eel/eel-mime-application-chooser.c: * eel/eel-open-with-dialog.c: Port more stuff to gio mimetype code * eel/Makefile.am: * eel/eel-mime-extensions.[ch]: Remove unused code 2007-10-01 Alexander Larsson * configure.in: Pull in gio when linking * eel/eel-open-with-dialog.[ch]: Update to use GAppInfo and gio APIs. 2007-09-26 Alexander Larsson * eel/eel-string.h: Fix up macro definition. It can't have a space before the param list 2007-09-26 Alexander Larsson * eel/eel-string.[ch]; Add eel_ref_str, a set of refcounted and optionally uniquified string functions. 2007-09-26 Alexander Larsson * eel/eel-vfs-extensions.[ch]: Remove more unused code 2007-09-26 Alexander Larsson * eel/eel-vfs-extensions.c: Remove code not used by nemo anymore 2007-11-28 Soren Sandmann * configure.in: Require libgnomedesktop 2.21.3 * eel/eel-background.[ch]: Make EelBackground a thin wrapper around GnomeBG from libgnomedesktop. 2007-10-12 Christian Kirbach * eel/eel-debug-drawing.c: * eel/eel-debug-drawing.h: (eel_debug_show_pixbuf): unconstify parameter 1 to unbreak the build on gcc 4.2 2007-09-18 Alexander Larsson * configure.in: Add gio as extraversion * eel/eel-gdk-pixbuf-extensions.c: * eel/eel-vfs-extensions.[ch]: Use goffset instead of GnomeVFSFileSize === gio-branch starts here === 2007-09-18 Alexander Larsson * configure.in: Post release version bump === eel 2.20.0 === 2007-09-18 Alexander Larsson * NEWS: * configure.in: Bump version to 2.20.0 2007-08-14 Martin Wehner * configure.in: Post release version bump === eel 2.19.90 === 2007-08-14 Martin Wehner * NEWS: Update for release 2007-07-31 Martin Wehner * configure.in: Post release version bump === eel 2.19.6 === 2007-07-31 Martin Wehner * NEWS: Update for release 2007-07-28 Martin Wehner * eel/eel-open-with-dialog.c: (get_all_applications_from_dir): Don't crash if a menu entry has no exec. Fixes #455949. Patch from Pascal Terjan 2007-07-10 Martin Wehner * configure.in: Post release version bump === eel 2.19.5 === 2007-07-10 Martin Wehner * NEWS: Update for release 2007-07-10 Martin Wehner * configure.in: Remove AC_ISC_POSIX: It would have to be called after AC_PROG_CC, but Interactive Unix is obsolete. Replace obsolete AC_STDC_HEADERS with AC_HEADER_STDC. Remove AM_SANITY_CHECK: It's an internal macro that is called by AM_INIT_AUTOMAKE anyway. Remove unused AC_C_BIGENDIAN. Remove redundant AC_PROG_AWK call. 2007-06-23 Martin Wehner * eel/eel-glib-extensions.c: (eel_self_check_glib_extensions): Set LC_TIME="C" before testing the output of eel_strdup_strftime instead of having the translators to provide the expected results. Fixes 'make check' when LC_TIME != LC_MESSAGES. (#348191) 2007-06-21 Martin Wehner * configure.in: Don't set both -Wsign-compare and -Wno-sign-compare. Don't set -Wchar-subscripts as it's included in -Wall. 2007-06-20 Martin Wehner * configure.in: Don't set extra warning flags in the user environment CFLAGS. Fixes 'make distcheck'. 2007-06-19 Martin Wehner * configure.in: Post release version bump === eel 2.19.4 === 2006-06-18 Martin Wehner * NEWS: Update for release 2007-06-12 Martin Wehner * eel/eel-mime-application-chooser.c: (set_uri_and_mime_type): Clarify message by replacing "others" with "other files" in the application chooser dialog. (#150559) Patch from Björn Lindqvist 2006-06-05 Martin Wehner * configure.in: Post release version bump === eel 2.19.3 === 2006-06-05 Martin Wehner * NEWS: Update for release 2007-06-01 Christian Neumair * eel/eel-open-with-dialog.c: (eel_open_with_search_equal_func): Match application display name and binary path/base path. Fixes #359912. === eel 2.19.2 === 2007-05-14 Alexander Larsson * configure.in: * NEWS: Update for 2.19.2 2007-04-10 Alexander Larsson * eel/eel-gconf-extensions.c: (eel_gconf_monitor_add): (eel_gconf_monitor_remove): (eel_gconf_preload_cache): Avoid leaked refcounts on default gconf client. (#235657) Patch from Matthias Clasen 2007-03-19 Alexander Larsson * configure.in: Bump version to 2.19.1 Gnome 2.18 work continues on gnome-2-18 branch 2007-03-12 Alexander Larsson * NEWS: Update for release * eel/eel-gtk-extensions.c (eel_gtk_window_set_initial_geometry): Fix crasher due to bug sparse cleanup. 2007-03-12 Alexander Larsson * configure.in: Post release version bump === eel 2.18.0 === 2007-03-12 Alexander Larsson * NEWS: Update for release * configure.in: Bump version to 2.18.0 2007-03-02 Alexander Larsson * eel/eel-background.c: * eel/eel-canvas.c: * eel/eel-enumeration.c: * eel/eel-gtk-extensions.c: * eel/eel-image-table.c: * eel/eel-labeled-image.c: Sparse cleanups from kjartan 2007-02-20 Christian Persch * eel/eel.h: Remove eel-ellipsizing-label.h inclusion. 2007-02-20 Christian Persch * eel/Makefile.am: R eel/eel-ellipsizing-label.c: R eel/eel-ellipsizing-label.h: * test/Makefile.am: R test/test-eel-ellipsizing.c: Remove EelEllipsisingLabel. Bug #409272. 2007-02-20 Christian Persch * eel/Makefile.am: * eel/eel-editable-label.c: (eel_editable_label_select_region_index): * eel/eel-ellipsizing-label.c: * eel/eel-ellipsizing-label.h: * eel/eel-string.c: (eel_self_check_string), (main): * test/Makefile.am: * test/test-eel-ellipsizing.c: 2007-01-22 Alexander Larsson * configure.in: Post release version bump === eel 2.17.90 === 2007-01-22 Alexander Larsson * NEWS: * configure.in: Bump to 2.17.90 2007-01-18 Christian Persch * eel/eel-accessibility.c: (eel_accessibility_add_simple_text), (eel_accessible_text_get_type): * eel/eel-alert-dialog.c: (eel_alert_dialog_get_type): * eel/eel-canvas.c: (eel_canvas_item_get_type), (eel_canvas_group_get_type), (eel_canvas_get_type), (eel_canvas_accessible_factory_get_type), (eel_canvas_item_accessible_get_type), (eel_canvas_item_accessible_factory_get_type): * eel/eel-editable-label.c: (eel_editable_label_get_type), (eel_editable_label_get_accessible): * eel/eel-labeled-image.c: (eel_labeled_image_get_accessible): * eel/eel-mime-application-chooser.c: (eel_mime_application_chooser_get_type): * eel/eel-open-with-dialog.c: (eel_open_with_dialog_get_type): No need to make GTypeInfo and GInterfaceInfo static. Bug #362031. 2006-12-18 Alexander Larsson * configure.in: post release version bump === eel 2.17.1 === 2006-12-18 Alexander Larsson * NEWS: Update for release 2006-12-08 Alexander Larsson * eel/eel-gdk-pixbuf-extensions.c: (eel_gdk_pixbuf_intersect): * eel/eel-gdk-pixbuf-extensions.h: * eel/eel-gtk-extensions.c: (eel_gtk_get_system_font): * eel/eel-gtk-extensions.h: * eel/eel-pango-extensions.c: * eel/eel-pango-extensions.h: Remove all traces of pangoft2 use, as we don't need this any more. (#377711) 2006-11-23 Alexander Larsson * eel/eel-open-with-dialog.c: (get_all_applications_from_dir): Only list appliations that accept file arguments (#345521) Patch from Tom Parker 2006-11-23 Alexander Larsson * configure.in: Bump version to 2.17.1 Gnome 2.16 work continues on gnome-2-16 branch 2006-11-20 Alexander Larsson * configure.in: Post release version bump === eel 2.16.3 === 2006-11-20 Alexander Larsson * configure.in: Call it 2.16.3 to match nemo release * NEWS: Update for release. 2006-11-07 Alexander Larsson * configure.in: post release version bump === eel 2.16.1 === 2006-11-07 Alexander Larsson * configure.in: * NEWS: Update for release. 2006-10-19 Christian Neumair * eel/eel-preferences.c: (preferences_callback_entry_compare), (preferences_entry_add_callback), (preferences_entry_add_auto_storage), (preferences_entry_remove_callback), (preferences_uninitialize), (preferences_global_table_get_global), (preferences_while_alive_disconnector): Bail when trying to add or remove an entry twice, skip entry removal on object destroy disconnection after eel shutdown. === eel 2.16.0 === 2006-09-04 Alexander Larsson * configure.in: Bump version to 2.16.0 * NEWS: Update for release 2006-09-01 Alexander Larsson * eel/eel-editable-label.c: (eel_editable_label_enter_text): Don't reset im context when commiting text. 2006-08-25 Alexander Larsson * eel/check-program.c: (main): Fix build with EEL_OMIT_SELF_CHECK. 2006-08-23 Alexander Larsson * eel/eel-vfs-extensions.c: (eel_vfs_has_capability): Fix crash that happened on DnD from firefox in nemo. 2006-08-21 Alexander Larsson * configure.in: Post release version bump === eel 2.15.92 === 2006-08-21 Alexander Larsson * NEWS: Update for release 2006-08-15 Kjartan Maraas * configure.in: Fix intltool req. 2006-08-08 Alexander Larsson * configure.in: Post release version bump. === eel 2.15.91 === 2006-08-08 Alexander Larsson * NEWS: Update for release 2006-08-08 Kjartan Maraas * configure.in: Really depend on a newer libgnome-menu. * eel/eel-string-list.c: (eel_self_check_string_list): * test/test-eel-gtk-style.c: (style_get_color), (style_get_gc), (color_box_expose_event), (gc_box_expose_event), (pixmap_box_expose_event): * test/test-eel-image-table.c: (image_table_child_enter_callback), (image_table_child_leave_callback): * test/test-eel-pixbuf-tile.c: Remove and #if 0 out some dead code. 2006-08-08 Alexander Larsson * eel/eel-background.c: Fix crash in previous fix. 2006-08-08 Alexander Larsson * eel/eel-background.c: Check mtime for background uri changes. (#349962) Patch from Matthias Clasen 2006-07-25 Martin Wehner * configure.in: Post-release version bump === eel 2.15.90 === 2006-07-25 Martin Wehner * NEWS: Update for release 2006-07-24 Martin Wehner * eel/eel-mime-application-chooser.c: (refresh_model), (set_uri_and_mime_type): * eel/eel-open-with-dialog.c: (set_uri_and_mime_type): Fix build with gcc 2.95 (#347552) Patch from Jens Granseuer 2006-07-11 Martin Wehner * configure.in: Post-release version bump === eel 2.15.4 === 2006-07-11 Martin Wehner * NEWS: Update for release * configure.in: Bump version to 2.15.4 2006-07-11 Martin Wehner * eel/eel-open-with-dialog.c: (compare_applications), (eel_open_with_dialog_add_items_idle): Handle entry name == NULL without crashing. (#339904) Based on a patch from Miguel Quiros 2006-07-11 Martin Wehner * eel/eel-accessibility.c: (eel_accessibility_set_up_label_widget_relation): Set up the atk widget/label relationship correctly. (#341420) Patch from Willie Walker 2006-06-19 Alexander Larsson * configure.in: Require new gtk+ * eel/eel-mime-application-chooser.c: word+char wrap label to avoid wide dialogs on large filenames. Fixes bug #344958 2006-06-12 Alexander Larsson * configure.in: post release version bump === eel 2.15.2 === 2006-06-12 Alexander Larsson * NEWS: Update for release 2006-05-24 Paolo Borelli * eel/eel-gtk-extensions.[ch]: remove eel_gtk_signal_connect_free_data and eel_gtk_signal_connect_free_data_custom, since there is g_signal_connect_data. 2006-05-24 Alexander Larsson * eel/Makefile.am: * eel/eel-cell-renderer-pixbuf-list.[ch]: Remove 2006-05-24 Paolo Borelli * eel/eel-vfs-extensions.[ch]: remove eel_make_uri_from_input, eel_make_uri_from_input_with_trailing_ws, eel_make_uri_from_shell_arg, eel_uris_match, eel_uri_get_scheme, eel_uri_make_full_from_relative. They have been moved into gnome-vfs itself for a long time and they are not used anymore in nemo. (bug #342237) 2006-05-16 Martin Wehner * configure.in: Post-release version bump. === eel 2.15.1 === 2006-05-16 Martin Wehner * NEWS: Update for release 2006-05-07 Martin Wehner * eel/eel-glib-extensions.c: * eel/eel-glib-extensions.h: Remove obsolete eel_setenv and eel_unsetenv functions. * eel/eel-gtk-extensions.c: (eel_gtk_widget_set_shown): * eel/eel-gtk-extensions.h: Remove unused and obsolete eel_gtk_button_* functions (#170126) 2006-05-07 Martin Wehner * eel/eel-mime-extensions.c: (eel_mime_get_available_mime_types): * eel/eel-mime-extensions.h: Fix typo in function name: s/availible/available/ (#326053) Patch from Josep Puigdemont 2006-05-01 Martin Wehner * eel/eel-mime-application-chooser.c: (refresh_model), (set_uri_and_mime_type): * eel/eel-open-with-dialog.c: (set_uri_and_mime_type): Don't include surrounding markup in translateable messages. Fixes #150555. Patch from Ruben Vermeersch 2006-04-28 Martin Wehner * configure.in: * po/LINGUAS: Update po/LINGUAS support to new guidelines. (#338017) Patch from Przemyslaw Grzegorczyk 2006-04-25 Alexander Larsson * configure.in: Bump version to 2.15.1 2.14 development continues on gnome-2-14 branch. 2006-04-15 Martin Wehner * po/LINGUAS: Remove newlines to fix build with CVS intltool. (#338423) 2006-04-11 Martin Wehner * configure.in: Post-release version bump. === eel 2.14.1 === 2006-04-11 Martin Wehner * NEWS: Update for release 2006-04-10 Martin Wehner * Makefile.am: Add intltool artefacts. * po/LINGUAS: New file listing all supported languages. * configure.in: Require intltool and use po/LINGUAS instead of including all languages directly in this file. See the wiki for more information: http://live.gnome.org/GnomeGoals/PoLinguas Patch from Przemyslaw Grzegorczyk 2006-04-08 Martin Wehner * configure.in: Don't check for *env functions anymore. * eel/eel-glib-extensions.c: (eel_setenv), (eel_unsetenv): Just call g_setenv and g_unsetenv. Fixes build on Darwin (#166880). Patch from Tony Arnold 2006-03-26 Sebastien Bacher * configure.in: popt is not used by eel no need to require it 2006-03-22 Tommi Vainikainen * configure.in (ALL_LINGUAS): Added Dzongkha (dz). 2006-03-22 Paolo Borelli * eel/eel-enumeration.c: remove inefficient use of glist. Fixes bug #335349. 2006-03-20 Christian Neumair * configure.in: Depend on libgnome-menu 2.13.5. * eel/eel-open-with-dialog.c: (get_all_applications): Also request desktop items which have NoDisplay set to TRUE. 2006-03-13 Alexander Larsson * configure.in: Post release version bump === eel 2.14.0 === 2006-03-13 Alexander Larsson * configure.in: Bump version to 2.14.0 * NEWS: Update for release 2006-03-01 Vladimer SIchinava * configure.in: Added ka (Georgian) to ALL_LINGUAS 2006-02-28 Bill Haneman * eel/eel-labeled-image.c: (eel_labeled_image_accessible_get_name): Fixed segv due to use of labeled_image struct without NULL check. bug #330995. 2006-02-27 Alexander Larsson * configure.in: Post release version bump === eel 2.13.92 === 2006-02-27 Alexander Larsson * NEWS: Update for release 2006-02-19 Erdal Ronahi * configure.in: Added ku (Kurdish) to ALL_LINGUAS 2006-02-16 Martin Wehner * eel/eel-editable-label.c: Include config.h to fix i18n of the context menu. Fixes bug #331377. Patch from Takao Fujiwara 2006-02-16 Martin Wehner * test/test.c: (test_window_set_title_with_pid): Add a cast to fix build on Solaris. (#117825) Patch from Fredrik Jonsson 2006-02-13 Alexander Larsson * configure.in: Post release version bump === eel 2.13.91 === 2006-02-13 Alexander Larsson * NEWS: Update for release. 2006-02-07 Alexander Larsson * eel/eel-mime-extensions.c (eel_mime_add_application): Add %f to exec line when creating open-with desktop files. Patch from Christian Persch Bug #169202 2006-01-31 Martin Wehner * configure.in: Post release version bump. === eel 2.13.90 === 2006-01-31 Martin Wehner * NEWS: Update for release. * configure.in: Bump version to 2.13.90 2006-01-21 Luca Ferretti * .cvsignore: Added missing files to ignore. * eel/.cvsignore: Ditto. 2006-01-16 Alexander Larsson * configure.in: Post release version bump. === eel 2.13.4 === 2006-01-16 Alexander Larsson * NEWS: Update for release. 2006-01-12 Alexander Larsson * eel/eel-background.[ch]: Add EEL_BACKGROUND_ZOOM * eel/eel-gdk-pixbuf-extensions.[ch]: Add eel_gdk_scale_to_min_factor and eel_gdk_pixbuf_scale_to_min Patch by Alan Swanson (#320830) 2005-12-28 Abel Cheung * configure.in: Added "zh_HK" to ALL_LINGUAS. 2005-12-20 Alexander Larsson * configure.in: Actuallu bump version. 2005-12-20 Alexander Larsson * eel/eel-mime-extensions.[ch]: Add eel_mime_get_availible_mime_types 2005-12-17 Dennis Cranston * eel/eel-alert-dialog.c: Hide dialog from taskbar, so it does not display "untitled window". 2005-12-13 Dennis Cranston * eel/eel-open-with-dialog.c: (eel_open_with_dialog_instance_init): HIG fixes. 2005-12-12 Alexander Larsson * configure.in: Post release version bump. === eel 2.13.3 === 2005-12-12 Alexander Larsson * NEWS: Update for release 2005-12-09 Alexander Larsson * eel/eel-alert-dialog.[ch]: * eel/eel-gconf-extensions.c: * eel/eel-gnome-extensions.c: * eel/eel-open-with-dialog.c: * eel/eel-stock-dialogs.[ch]: Remove title from alerts. (#323134) Patch from jaap@haitsma.org 2005-12-08 Alexander Larsson * eel/eel-preferences-glade.[ch]: Use GtkComboBox, not GtkOptionMenu Patch from jaap@haitsma.org 2005-11-14 Alexander Larsson * configure.in: Post release version bump. === eel 2.13.2 === 2005-11-14 Alexander Larsson * NEWS: Update for release. 2005-11-14 Alexander Larsson * eel/eel-alert-dialog.c: Include config.h so we get translations. Patch from Yang Hong 2005-10-28 Simos Xenitellis * configure.in: Added ky (Kirghiz) to ALL_LINGUAS. 2005-10-27 Kjartan Maraas * eel/eel-art-gtk-extensions.c: (eel_gdk_window_clip_dirty_area_to_screen): * eel/eel-background.c: (eel_background_class_init): * eel/eel-canvas.c: (item_post_create_setup), (eel_canvas_group_get_property), (pick_current_item): * eel/eel-editable-label.c: (eel_editable_label_ensure_layout), (eel_editable_label_size_allocate), (eel_editable_label_map), (eel_editable_label_unmap), (window_to_layout_coords), (eel_editable_label_button_release), (eel_editable_label_move_line), (eel_editable_label_move_backward_word): * eel/eel-ellipsizing-label.c: (real_expose_event): * eel/eel-gconf-extensions.c: (simple_value_is_equal): * eel/eel-gdk-pixbuf-extensions.c: (eel_gdk_pixbuf_average_value): * eel/eel-image-table.c: (eel_image_table_realize), (image_table_emit_signal): * eel/eel-mime-application-chooser.c: (eel_mime_application_chooser_destroy): * eel/eel-open-with-dialog.c: (eel_open_with_dialog_destroy): * eel/eel-pango-extensions.c: (eel_pango_layout_set_text_ellipsized): * eel/eel-stock-dialogs.c: (timed_wait_free): Large amounts of cleanups. Mostly removal of unused code and some compiler warnings. 2005-10-24 Alexander Larsson * configure.in: Post release version bump. === eel 2.13.1 === 2005-10-24 Alexander Larsson * NEWS: Update for release 2005-10-19 Christian Neumair * eel/eel-mime-application-chooser.c: (create_tree_view): Sort applications by display name, filed as part of #310038. 2005-10-03 Alexander Larsson * configure.in: Bump version to 2.13.1. Further 2.12.x work is on gnome-2-12 branch. 2005-10-03 Alexander Larsson * configure.in: Post release version bump. === eel 2.12.1 === 2005-10-03 Alexander Larsson * NEWS: Update for 2.12.1. 2005-10-03 Alexander Larsson * eel/eel-accessibility.c: (eel_accessibility_set_up_label_widget_relation): Slight cleanup. Patch from Christian Neumair. 2005-09-05 Alexander Larsson * configure.in: Post release version bump === eel 2.12.0 === 2005-09-05 Alexander Larsson * NEWS: Update for release. 2005-08-23 Martin Wehner * configure.in: Post release version bump. === eel 2.11.92 === 2005-08-23 Martin Wehner * NEWS: Update for release. 2005-08-09 Martin Wehner * configure.in: Post release version bump. === eel 2.11.91 === 2005-08-09 Martin Wehner * NEWS: Update for release. 2005-08-05 Christian Neumair * src/eel-wrap-table.c: Get rid of broken scrolled window viewport code. Fixes #308996. 2005-08-01 Christian Persch * eel/eel-debug.c: (eel_make_warnings_and_criticals_stop_in_debugger): Use g_log_set_default_handler instead of adding handlers for tons of domains (#312268). 2005-07-25 Martin Wehner * configure.in: Post release version bump. === eel 2.11.90 === 2005-07-25 Martin Wehner * configure.in: Bump version to 2.11.90 * NEWS: Update for release. 2005-07-20 Mikael Hallendal * eel/eel-vfs-extensions.[ch] (eel_uri_is_search): Add x-nemo-search URI. 2005-07-19 Alexander Larsson * eel/eel-mime-application-chooser.c: (set_uri_and_mime_type): * eel/eel-open-with-dialog.c: (set_uri_and_mime_type): Add comments for translators. (#150558) Patch from Brent Smith 2005-07-13 Alexander Larsson * eel/eel-wrap-table.c: Take border width into account when wrapping (#155642) Patch from Christian Neumair. 2005-07-11 Alexander Larsson * configure.in: Post release version bump === eel 2.11.4 === 2005-07-11 Alexander Larsson * NEWS: Update for release. 2005-07-06 Kjartan Maraas * eel/eel-open-with-dialog.c: (add_or_find_application): Fix a small leak. 2005-07-01 Alexander Larsson * configure.in: Post release version bump === eel 2.11.3 === 2005-07-01 Alexander Larsson * NEWS: Update for release. 2005-06-11 Kjartan Maraas * eel/eel-mime-application-chooser.c: (remove_clicked_cb): Remove const qualifier now that we free the application id. 2005-06-11 Kjartan Maraas * eel/eel-mime-application-chooser.c: (eel_mime_application_chooser_finalize), (remove_clicked_cb): Plug some leaks. * eel/eel-open-with-dialog.c: (check_application): Here too. Closes bug #307268 and bug #307280 2005-06-10 Martin Wehner * eel/eel-labeled-image.c: (labeled_image_get_image_bounds_fill), (eel_labeled_image_get_image_bounds), (labeled_image_get_label_bounds_fill), (eel_labeled_image_get_label_bounds): Add default cases with asserts. * eel/eel-mime-extensions.c: (open_temp_cache_file): Initialize filename in error case. * eel/eel-open-with-dialog.c: (eel_open_with_dialog_add_icon_idle): * eel/eel-preferences.c: (preferences_entry_remove_auto_storage): Use NULL instead of 0. * configure.in: Add --Wno-pointer-sign Fix gcc4 compilation (#300646). Based on patches from Kjartan Maraas and James M. Cape 2005-06-08 Alexander Larsson * configure.in (LIBGLADE_REQUIRED): Post release version bump. === eel 2.11.2 === 2005-06-08 Alexander Larsson * eel/eel-open-with-dialog.c: Fix const warning. * NEWS: Update for release. 2005-06-07 Kjartan Maraas * eel/eel-open-with-dialog.c: (program_list_selection_changed): Plug a couple of leaks. Closes bug #306767. 2005-05-22 Sebastien Bacher * configure.in: Update of glib and gtk requirements to 2.6.0 (Closes: #304875). 2005-05-17 Alexander Larsson * configure.in: Post release version bump. === eel 2.11.1 === 2005-05-17 Alexander Larsson * NEWS: Update for 2.11.1 release 2005-04-12 Alexander Larsson * eel-2.0.pc.in: * eel-2.0-uninstalled.pc.in: Use gmodule-no-export-2.0 instead of gmodule-2.0 to avoid using --export-dynamic. 2005-04-11 Mark McLoughlin * eel/Makefile.am, eel/eel-open-with-dialog.c: update for libgnome-menu API renaming. 2005-04-11 Abduxukur Abdurixit * configure.in: Added 'ug' to ALL_LINGUAS. 2005-04-08 Sebastien Bacher * configure.in: Update gnomevfs requirement to 2.9.1. 2005-04-06 Mark McLoughlin * eel/eel-open-with-dialog.c: (get_all_applications): Update for slight change in menu_tree_lookup() API. 2005-03-31 Steve Murphy * configure.in: Added "rw" to ALL_LINGUAS. 2005-03-28 Martin Wehner * eel/eel-accessibility.c: (get_simple_text): Return NULL if the gobject is no longer valid. Fixes bug #168161. Patch from Muktha 2005-03-27 Martin Wehner * configure.in: Require libgnome-menu 2.11.1 for the new API. * eel/eel-open-with-dialog.c: (get_all_applications_from_dir), (get_all_applications), (eel_open_with_dialog_add_items_idle): Update to the new libgnome-menu API. Patch from Christian Neumair 2005-03-24 Adi Attar * configure.in: Added 'xh' to ALL_LINGUAS. 2005-03-22 Alexander Larsson * configure.in: Bump version to 2.11.1 Gnome 2.10 versions are now on the gnome-2-10 branch. 2005-03-16 Alexander Larsson * eel/eel-background.[ch]: Move desktop background setting here to be able to share pixmap with root window. (#169347) Patch from Nickolay V. Shmyrev 2005-03-07 Alexander Larsson * eel/eel-mime-extensions.c: (eel_mime_add_application): Make sure user added desktop files don't conflict with global ones. Patch from Christian Persch 2005-03-07 Alexander Larsson * configure.in: Post release version bump === eel 2.10.0 === 2005-03-07 Alexander Larsson * NEWS: * configure.in: Update for 2.10 release 2005-03-01 Alexander Larsson * configure.in (LIBGLADE_REQUIRED): Post release version bump === eel 2.9.92 === 2005-03-01 Alexander Larsson * NEWS: Update for release 2005-03-01 James Henstridge Fixes bug #164796 (approved by Alex) * autogen.sh: request Automake >= 1.7. * eel/eel-gdk-extensions.h (EEL_RGBA_COLOR_PACK): add casts to guint32. Fixes test failures on 64-bit systems. 2005-02-24 Alexander Larsson * eel/eel-vfs-extensions.c (eel_read_entire_file): Just use gnome_vfs_read_entire_file(). We should remove this function eventually. 2005-02-11 Alexander Larsson * eel/eel-mime-application-chooser.c (refresh_model): Handle the case with no existing applications better. 2005-02-10 Alexander Larsson * configure.in (LIBGLADE_REQUIRED): Post release version bump. === eel 2.9.91 === 2005-02-10 Alexander Larsson * NEWS: Update for release. 2005-01-26 Alexander Larsson * eel/eel-open-with-dialog.c (eel_open_with_dialog_finalize): Remove idle handlers when closing window. (#165208) 2005-01-25 Alexander Larsson * configure.in: Post release version bump === eel 2.9.90 === 2005-01-25 Alexander Larsson * NEWS: Update for release * configure.in: Bump version to 2.9.90 2005-01-25 Alexander Larsson * eel/eel-open-with-dialog.c (eel_open_with_dialog_add_icon_idle): Don't crash if no icon . 2005-01-24 Kjartan Maraas * eel/eel-accessibility.c: (eel_accessible_text_get_type): * eel/eel-editable-label.c: (eel_editable_label_accessible_get_selection): * eel/eel-gdk-extensions.c: (eel_stipple_bitmap): * eel/eel-gtk-extensions.c: (eel_gtk_tree_view_set_activate_on_single_click): * eel/eel-preferences.c: (preferences_get_value), (eel_preferences_get), (eel_preferences_get_string_list): * eel/eel-stock-dialogs.c: (eel_show_yes_no_dialog): * eel/eel-string-list.c: (eel_string_list_find_by_function): * eel/eel-wrap-table.c: Fix a bunch of warnings from sparse. 2005-01-24 Alexander Larsson * eel/eel-open-with-dialog.c: (eel_open_with_dialog_instance_init): Mark string for translation. Patch from Yang Hong 2005-01-23 Martin Wehner * eel/eel-mime-application-chooser.c: (create_tree_view), (refresh_model): Show application icon in the selector. Patch from Fernando Herrera 2005-01-21 Alexander Larsson * configure.in: * eel/Makefile.am: require libgnome-desktop and libgnome-menu * eel/eel-mime-extensions.[ch]: (eel_mime_add_custom_mime_type_for_desktop_file), (eel_mime_check_for_desktop_duplicates): New function to check for duplicate desktop files handling a mimetype and to add custom mime types for desktop files. * eel/eel-open-with-dialog.c: Show know applications from .desktop files and move the entry to an expander to specify a custom app/command line. Patch from Fernando Herrera 2005-01-13 Alexander Larsson * eel/eel-alert-dialog.c (eel_alert_dialog_set_primary_label): Escape the text put in the markup string. 2005-01-11 Alexander Larsson * configure.in: Post release version bump. === eel 2.9.2 === 2005-01-11 Alexander Larsson * NEWS: Update for release. 2004-11-25 Marco Pesenti Gritti reviewed by: Alexander Larsson * eel/eel-mime-application-chooser.c: (refresh_model): * eel/eel-mime-extensions.c: (eel_mime_add_application), (eel_mime_check_for_duplicates): Replcae usage of deprecate mime apis 2004-11-24 Alexander Larsson * configure.in: Post release bump === eel 2.9.1 === 2004-11-24 Alexander Larsson * NEWS: Update for release 2004-11-19 Alexander Larsson * eel/eelmarshal.list: Add some new needed marshallers. 2004-10-29 Alexander Larsson * configure.in: Update version to 2.9.1. Gnome 2.8 versions are now on the gnome-2-8 branch. ==== gnome-2-8 branched from here === 2004-10-28 Alexander Larsson * configure.in: Post release bump === eel 2.8.2 === 2004-10-28 Alexander Larsson * NEWS: Update for release 2004-10-28 Alexander Larsson * eel/eel-glib-extensions.[ch]: New function, eel_get_filename_charset. * eel/eel-vfs-extensions.c: Use eel_get_filename_charset to handle filename charset. 2004-10-21 Alexander Larsson * eel/eel-canvas.c: (eel_canvas_group_draw), (eel_canvas_expose): Update to latest foocanvas, fix expose returning TRUE. 2004-10-15 Alexander Larsson * eel/eel-mime-extensions.c: (eel_mime_add_application), (eel_mime_check_for_duplicates): Handle null mimetypes (required for property page if file has no extension). 2004-10-11 Alexander Larsson * configure.in: Post release version bump === eel 2.8.1 === 2004-10-11 Alexander Larsson * NEWS: Update for 2.8.1 2004-09-28 Gora Mohanty * configure.in: Added 'or' to ALL_LINGUAS. 2004-09-13 Alexander Larsson * configure.in: Post release version bump. === eel 2.8.0 === 2004-09-13 Alexander Larsson * NEWS: * configure.in: Update for 2.8.0 2004-09-11 Abel Cheung * configure.in: Added "ang" to ALL_LINGUAS. 2004-09-06 Alexander Larsson * eel/eel-mime-extensions.c: (eel_mime_set_default_application): Create ~/.local/share/applications as needed. 2004-08-31 Alexander Larsson * eel/eel-mime-application-chooser.c: (mime_monitor_data_changed_cb): Refresh model when mime db changes * eel/eel-mime-extensions.c: (mime_update_program_done): Remove spew 2004-08-30 Alexander Larsson * configure.in: Post release version bump === eel 2.7.92 === 2004-08-30 Alexander Larsson * NEWS: Update for 2.7.92 * configure.in: Require new libgnomeui 2004-08-25 Alexander Larsson * eel/eel-stock-dialogs.c (timed_wait_callback): Don't pop up cancel dialog if password dialog is visible. 2004-08-16 Kjartan Maraas * configure.in: Added nb to ALL_LINGUAS. 2004-08-16 Alexander Larsson * configure.in: Post release bump to 2.7.92 === eel 2.7.4 === 2004-08-16 Alexander Larsson * NEWS: Update for 2.7.4 * eel/eel-canvas.c: Update from foocanvas. * configure.in: Require new gnome-vfs (for default application file type change). 2004-08-12 Alexander Larsson * eel/eel-canvas-rect-ellipse.c: * eel/eel-canvas.c: (eel_canvas_key): Update to latest foocanvas. 2004-08-12 Alexander Larsson * eel/eel-mime-extensions.c (eel_mime_set_default_application): Use new name for default.list toplevel section. 2004-08-09 Ray Strode * eel/eel-mime-extensions.c (eel_mime_add_application), (eel_mime_set_default_application): free strings when done with them (Spotted by Kjartan Maraas, bug 149718). 2004-07-23 Christian Neumair * eel/eel-mime-application-chooser.c: * eel/eel-open-with-dialog.c: Include gi18n-lib.h instead of gi18n.h. 2004-07-23 Christian Neumair * configure.in: Require GNOME-VFS 2.7.5 (HEAD). 2004-07-23 Tomasz Kłoczko * configure.in: better looking PKG_CHECK_MODULES() output. 2004-07-22 Dave Camp * configure.in: Post-release version bump === eel 2.7.3 === 2004-07-22 Dave Camp * configure.in: * NEWS: 2.7.3 2004-07-21 Dave Camp * Merged the eel-new-mime branch. 2004-07-21 Dave Camp * configure.in: * eel/Makefile.am: * eel/eel-mime-extensions.c: (write_desktop_file), (mime_update_program_done), (eel_mime_add_glob_type), (open_temp_cache_file), (line_is_for_mime_type), (eel_mime_set_default_application), (eel_mime_application_is_user_owned), (eel_mime_application_remove): * eel/eel-mime-extensions.h: * eel/eel-mime-application-chooser.c: * eel/eel-mime-application-chooser.h: * eel/eel-open-with-dialog.c: (eel_open_with_dialog_instance_init), (eel_open_with_dialog_new), (eel_add_application_dialog_new): * eel/eel-open-with-dialog.h: Add the eel-mime-application-chooser dialog. Wed Jul 21 18:30:25 2004 Jonathan Blandford * eel/eel-mime-extensions.c: (arg_is_exec_param), (eel_mime_check_for_duplicates): Make fit eel coding guidelines. * eel/eel-open-with-dialog.c (get_run_dialog_image): Get the image from stock. (eel_open_with_dialog_instance_init): Use the panel gnome-run stock image. Wed Jul 21 02:54:32 2004 Jonathan Blandford * eel/eel-mime-extensions.h: New public function: eel_mime_check_for_duplicates() * eel/eel-mime-extensions.c: (mime_update_program_done), (run_update_command), (eel_mime_add_application), (eel_mime_add_glob_type), (arg_is_exec_param), (eel_mime_check_for_duplicates): New function that will check a command line to see if another application with that name already exists. Also, the post-mime-update stuff has been modified slightly. * eel/eel-open-with-dialog.c: (eel_open_with_dialog_finalize), (eel_open_with_dialog_destroy), (check_application), (get_app_name), (add_or_find_application), (response_cb), (eel_open_with_dialog_class_init), (chooser_response_cb), (browse_clicked_cb), (entry_changed_cb), (eel_open_with_dialog_instance_init), (get_extension), (set_uri_and_mime_type), (eel_open_with_dialog_get_type): Some whitespace 'cleanups'. Dialog packing cleanup and behavior changes. Better error handling is included as well. Mon Jul 19 22:10:59 2004 Jonathan Blandford * eel/eel-open-with-dialog.c (eel_open_with_dialog_new): make function have no return value. 2004-07-19 Dave Camp * eel/Makefile.am: * eel/eel-mime-extensions.c: (recursive_mkdir), (get_user_dir), (ensure_mime_dir), (ensure_application_dir), (write_desktop_file), (update_application_database), (eel_mime_add_application), (get_override_filename), (get_override), (write_override), (create_type_node), (get_type_node), (get_comment_node), (add_glob_node), (update_mime_database), (eel_mime_add_glob_type): * eel/eel-mime-extensions.h: * eel/eel-open-with-dialog.c: (eel_open_with_dialog_finalize), (eel_open_with_dialog_destroy), (check_application), (get_app_name), (add_application), (emit_application_selected), (response_cb), (entry_activate_cb), (eel_open_with_dialog_class_init), (chooser_response_cb), (browse_clicked_cb), (eel_open_with_dialog_instance_init), (get_extension), (set_uri_and_mime_type), (eel_open_with_dialog_new), (eel_open_with_dialog_get_type): * eel/eel-open-with-dialog.h: * eel/eel-preferences.c: (eel_preferences_remove_callback): Add an Open With dialog that adds mime types and application mappings. 2004-07-05 Alexander Larsson * NEWS: Update for 2.7.2 2004-06-01 Alexander Larsson * configure.in: Post release bump === eel 2.7.1 === * NEWS: Update for 2.7.1 2004-05-14 Alexander Larsson * configure.in (LIBGLADE_REQUIRED): Bump to 2.7.1 on HEAD, 2.6.3 is on gnome-2-6 branch 2004-05-13 Dave Camp * configure.in: Post-release version bump. === eel 2.6.2 === 2004-05-13 Dave Camp * NEWS: Updated for 2.6.2. 2004-04-19 Alexander Larsson * configure.in: Post release version bump === eel 2.6.1 === 2004-04-19 Alexander Larsson * NEWS: Updates for 2.6.1 2004-04-09 Guntupalli Karunakar * configure.in: Added "gu" (Gujarati) to ALL_LINGUAS. 2004-03-22 Alexander Larsson * configure.in: Bump version to 2.6.1 === eel 2.6.0 === 2004-03-22 Alexander Larsson * configure.in: Update to 2.6.0 2004-03-20 Guntupalli Karunakar * configure.in: Added "pa" (Punjabi) to ALL_LINGUAS. === eel 2.5.91.1 === 2004-03-16 Alexander Larsson * NEWS: * configure.in: Update to 2.5.91.1 * eel/eel-editable-label.c (eel_editable_label_retrieve_surrounding_cb): Use correct index in gtk_im_context_set_surrounding. (#133464) Patch from Theppitak Karoonboonyanan === eel 2.5.91 === 2004-03-15 Alexander Larsson * NEWS: * configure.in: Update to 2.5.91 === eel 2.5.90 === 2004-03-08 Alexander Larsson * NEWS: * configure.in: Update to 2.5.90 2004-03-02 Alexander Larsson * eel/eel-gnome-extensions.c (eel_gnome_shell_execute_on_screen): * eel/Makefile.am: * eel/egg-screen-exec.[c]: Remove egg-screen-exec. Use gdk_spawn instead. 2004-03-02 Carlos Garnacho Parro * eel/eel-gnome-extensions.c: (eel_gnome_icon_selector_new) made it to use the new GtkFileChooser 2004-03-02 Alexander Larsson * eel/eel-canvas.h: * eel/eel-cell-renderer-pixbuf-list.c: * eel/eel-editable-label.c: (eel_editable_label_key_press), (popup_position_func): * eel/eel-gdk-extensions.h: * eel/eel-glib-extensions.c: (eel_unsetenv): * eel/eel-labeled-image.c: * eel/eel-wrap-table.c: * eel/eel-wrap-table.h: * test/test-eel-image-table.c: (image_table_child_enter_callback), (image_table_child_leave_callback), (image_table_size_allocate): * test/test.c: (test_quit): * test/test.h: Portability fixes. Patch from bugzilla-gnome@thewrittenword.com. Fixes #131647. 2004-03-01 Alexander Larsson Patches from sun. * test/test-eel-image-table.c: (labeled_image_new): Fix forte compiler issue * Makefile.am: * configure.in: * eel-2.0-uninstalled.pc.in: Add uninstalled pkg-config file. === eel 2.5.8 === 2004-02-23 Alexander Larsson * NEWS: * configure.in: Bump to 2.5.8 2004-02-21 Christian Rose * configure.in: Added "en_CA" to ALL_LINGUAS. === eel 2.5.7 === 2004-02-11 Alexander Larsson * NEWS: * configure.in: Bump to 2.5.7 2004-02-06 Alexander Larsson * eel/eel-glib-extensions.c (eel_strdup_strftime): Fix check 2004-02-06 Alexander Larsson * configure.in: * eel/eel-glib-extensions.c (eel_strdup_strftime): Check for and support SUS modifiers. 2004-02-05 Padraig O'Briain * eel/eel-alert-dialog.c (eel_alert_dialog_new): Set role of AtkObject to ATK_ROLE_ALERT. Fixes bug #133273. 2004-02-05 Tomasz Kӯczko * eel/Makefile.am: * test/Makefile.am: trivaial fix errors for automake 1.8.x - blank line following trailing backslash. Fixes are backward compatible with older automake. === eel 2.5.6=== 2004-01-30 Alexander Larsson * NEWS: * configure.in: Bump to 2.5.6 2004-01-27 Alexander Larsson * eel/eel-canvas-util.c: (eel_canvas_get_miter_points): * eel/eel-canvas.c: (emit_event): Update from foocanvas. May fix nemo event crash. 2004-01-19 Narayana Pattipati * eel/eel-editable-label.c (eel_editable_label_style_set), (eel_editable_label_expose): Change the background, foreground, cursor and outer rectangle colors according to the theme selected. Fixes bugzilla bug#123207 === eel 2.5.5 === 2004-01-12 Dave Camp * NEWS: * configure.in: 2.5.5 2004-01-11 Dave Camp * eel/eel-glib-extensions.h: * eel/eel-glib-extensions.c: (eel_g_str_list_index): New function. * eel/eel-gconf-extensions.h: * eel/eel-gconf-extensions.c: (eel_gconf_unset): New function. * eel/eel-preferences.h: * eel/eel-preferences.c: (eel_preferences_unset): New functions. (eel_preferences_get_string_glist), (eel_preferences_set_string_glist) (update_auto_string_glist), (preferences_entry_update_auto_storage), (eel_preferences_add_auto_string_glist): Added a GList * interface to string list properties. * eel/eel-string-list.h: * eel/eel-string-list.c: (eel_string_list_as_g_slist): Implemented differently. (eel_string_list_as_g_list): New function. 2004-01-03 Anders Carlsson * eel/eel-input-event-box.c: * eel/eel-input-event-box.h: Remove these too. 2004-01-03 Anders Carlsson * test/Makefile.am: Remove test-eel-image-chooser.c * eel/eel.h: Remove references to removed headers. * eel/Makefile.am: * eel/eel-caption.c: * eel/eel-caption.h: * eel/eel-generous-bin.c: * eel/eel-generous-bin.h: * eel/eel-image-chooser.c: * eel/eel-image-chooser.h: * eel/eel-radio-button-group.c: * eel/eel-radio-button-group.h: * eel/eel-string-picker.c: * eel/eel-string-picker.h: * test/Makefile.am: Remove unused eel stuff. 2004-01-02 Robert Sedak * configure.in: Added "hr" in ALL_LINGUAS. === eel 2.5.4 === 2003-12-29 Alexander Larsson * NEWS: * configure.in: 2.5.4 2003-12-11 Alexander Larsson * eel/eel-stock-dialogs.c (show_message_dialog): Connect to response in the right place 2003-12-11 Alexander Larsson * configure.in: Require gtk+ 2.3.0 * eel/Makefile.am: * eel/eel-alert-dialog.[ch]: New hig suporting dialog * eel/eel-stock-dialogs.[ch]: Use new dialog, split up message in primary and secondary string. * eel/eel-gconf-extensions.c: * eel/eel-gnome-extensions.c: * test/test-eel-widgets.c: Use new API Patch from dennis_cranston@yahoo.com (with some changes) === eel 2.5.3 === 2003-12-08 Alexander Larsson * NEWS: * configure.in: 2.5.3 2003-11-25 Padraig O'Briain eel/eel-accessibility.c (eel_accessibility_set_up_label_widget_relation): Call g_object_unref on AtkRelationSet to avoid memory leak. Fixes bug #127899. === eel 2.5.2 === 2003-11-24 Alexander Larsson * NEWS: * configure.in: Bump to 2.5.2 2003-11-21 Alexander Larsson * eel/eel-editable-label.c: Accessibility support, and better support for GtkEditable signals. Patch by padraig o'briain === eel 2.5.1 === 2003-11-10 Alexander Larsson * NEWS: * configure.in: 2.5.1 2003-10-27 Gregory Merchan * eel/eel-gdk-extensions.c (eel_gdk_window_focus): Use RevertToParent as specified in the ICCCM. (eel_gdk_window_set_wm_hints_input): Guard against changes to C booleans. * eel/eel-gnome-extensions.c (eel_gnome_icon_selector_new) * eel/eel-stock-dialogs.c (timed_wait_callback) * eel/eel-stock-dialogs.c (eel_run_simple_dialog) * eel/eel-stock-dialogs.c (create_message_dialog) Don't set WM_CLASS. It should match the application. * eel/eel-gtk-extensions.c: Remove comment and unused #define from bad old algorithm. (eel_gtk_window_event_is_close_accelerator): Remove Escape from close accelerators; it's not HIG compliant. This reverts change from 2001-04-30. 2003-10-22 Alexander Larsson * eel/Makefile.am: * test/Makefile.am: Disable GNOME_DISABLE_DEPRECATED for now 2003-10-21 Alexander Larsson * eel/eel-preferences.c: Fix leaks. Patch from Martin Wehner === eel 2.5.0 === 2003-10-20 Alexander Larsson * NEWS: * configure.in: Bump to 2.5.0 2003-10-15 Alexander Larsson * eel/Makefile.am: * test/Makefile.am: Disable GTK_DISABLE_DEPRECATED for now, since gtk 2.4 deprecated various widgets. 2003-10-06 Christian Rose * configure.in: Added "mr" to ALL_LINGUAS. 2003-10-02 Padraig O'Briain Merge from foo-canvas.c: * eel/eeel-canvas.c (eel_canvas_item_accessible_ref_state_set): Do not refer to item->canvas if item can be NULL. (bug #123179) (eel_canvas_set_pixels_per_unit) : round when mapping back to integer coordinates to guard against inadverent decrement due to lack of precision. eg zoom of 0.85 == 0.849999999 would lose a pixel Fix from Jody Goldberg (do_update): Loop do_update if picking caused need_update to be set again. (Thanks to George for noticing this) Fix from Alexander Larsson 2003-09-24 Dave Camp * eel/eelmarshal.list: Added VOID:STRING,LONG,LONG,POINTER. 2003-09-19 Christian Rose * configure.in: Added "br" to ALL_LINGUAS. === eel 2.4.0 === 2003-09-08 Alexander Larsson * NEWS: * configure.in: 2.4.0 2003-09-04 Alexander Larsson * eel/eel-gdk-extensions.c (eel_gdk_window_focus): Don't use RevertToNone === eel 2.3.90 === 2003-09-02 Alexander Larsson * NEWS: * configure.in: 2.3.90 2003-08-28 Christian Rose * configure.in: Added "ne" to ALL_LINGUAS. === eel 2.3.9 === 2003-08-25 Alexander Larsson * NEWS: * configure.in: 2.3.9 === eel 2.3.8 === 2003-08-08 Alexander Larsson * configure.in: 2.3.8 Tue Jul 22 16:18:26 2003 George Lebl * eel/eel-gconf-extensions.[ch]: add eel_gconf_key_is_writable, which calls gconf_client_key_is_writable * eel/eel-preferences.[ch]: add eel_preferences_key_is_writable, which in turn calls eel_gconf_key_is_writable on the full key * eel/eel-preferences-glade.c: When the key is not writable on setup, then make the widget insensitive and then monitor the state to make sure it can't be ever made sensitive (since it can't be ever written) 2003-07-21 Dave Camp * NEWS: * configure.in: Bumped to 2.3.7. 2003-07-08 Balamurali Viswanathan * configure.in: Checking for X Development libraries explicitly. * eel/Makefile.am: Added X_LIBS to libeel_2_la_LDFLAGS 2003-07-07 Alexander Larsson * eel/eel-canvas-rect-ellipse.c (render_rect_alpha): Update from foocanvas, fixes #116752 === eel 2.3.6 === 2003-06-27 Dave Camp * NEWS: * configure.in: Bump version to 2.3.6. === eel 2.3.5 === 2003-06-23 Dave Camp * NEWS: * configure.in: Bump version to 2.3.5. 2003-06-15 Frederic Crozat * configure.in: Remove -Wsign-promo and add -Wno-strict-aliasing to the list of options to test for. Fixes the gcc 3.3 aliasing warnings. 2003-06-13 Alexander Larsson * eel/eel-canvas-rect-ellipse.c: (get_color_value), (set_colors_and_stipples), (eel_canvas_re_update_shared), (eel_canvas_re_realize), (eel_canvas_ellipse_update): * eel/eel-canvas.c: (eel_canvas_item_dispose), (eel_canvas_item_unrealize), (eel_canvas_item_invoke_update), (eel_canvas_item_ungrab), (eel_canvas_item_request_update), (eel_canvas_group_unrealize), (eel_canvas_group_map), (eel_canvas_init), (shutdown_transients), (eel_canvas_expose), (do_update): * eel/eel-canvas.h: Update to latest foo-canvas. === eel 2.3.4 === 2003-06-10 Dave Camp * NEWS: * configure.in: Bump version to 2.3.4. 2003-06-05 Kenneth Rohde Christiansen * configure.in: Added li to ALL_LINGUAS. 2003-06-04 Alexander Larsson * NEWS: * configure.in: Bump version to 2.3.3. 2003-05-26 Anders Carlsson * eel/Makefile.am: * eel/eel-caption-table.c: * eel/eel-caption-table.h: * eel/eel-password-dialog.c: * eel/eel-password-dialog.h: * eel/eel.h: * test/Makefile.am: * test/test-eel-password-dialog.c: * test/test-eel-widgets.c: (main), (test_radio_changed_callback): Remove EelCaptionTable and EelPasswordDialog since they're not used anymore. === eel 2.3.2 === 2003-05-19 Alexander Larsson * NEWS: * configure.in: Bump to 2.3.2. 2003-05-15 Alexander Larsson * eel/eel-vfs-extensions.[ch]: New define EEL_DESKTOP_URI and function eel_uri_is_desktop. === eel 2.3.1 === 2003-05-05 Telsa Gwynne * configure.in: Added cy to ALL_LINGUAS * po/cy.po: Added 2003-05-05 Alexander Larsson * NEWS: Update * configure.in: Bump version 2003-05-04 Christian Rose * configure.in: Added sr and sr@Latn to ALL_LINGUAS. 2003-04-23 Masahiro Sakai * configure.in: call AC_LIBTOOL_WIN32_DLL. * eel/Makefile.am (libeel_2_la_LDFLAGS): add -no-undefined. These are necessary for building DLL on win32 platform. 2003-04-07 Alexander Larsson * eel/eel-canvas.c: Update foocanvas. === eel 2.2.3 === 2003-03-31 Alexander Larsson * NEWS: * configure.in: Bump to 2.2.3 2003-03-27 Alexander Larsson * eel/eel-vfs-extensions.[ch] (eel_filename_get_rename_region): New function to get the rename region for a filename. 2003-03-19 Alexander Larsson * eel/eel-accessibility.c (eel_accessibility_set_atk_object_return): Fix warning. 2003-03-19 Padraig O'Briain * eel/eel-accessibility.c (eel_accessibility_destroy): Change function name from eel_accessibility_weak_unref. Remove call to g_object_unref(). (eel_accessibility_set_atk_object_return): Use call to call to g_object_qdata_full() instead of g_object_weak_ref(). This fixes bug #107725. 2003-03-18 Alexander Larsson * eel/eel-canvas.c (eel_canvas_set_pixels_per_unit): Update from foocanvas. Now less tearing when changing zoom level. 2003-03-17 Alexander Larsson * eel/eel-preferences-glade.[ch]: Add eel_preferences_glade_connect_string_enum_option_menu_slave and eel_preferences_glade_connect_bool_slave. 2003-03-17 Alexander Larsson * eel/eel-editable-label.c (eel_editable_label_expose): Draw frame even if text is "". 2003-03-13 Christian Rose * configure.in: Added "ml" to ALL_LINGUAS. 2003-03-12 Balamurali Viswanathan *eel/eel-stock-dialogs.c connect the "response" signal of the trash dialog === eel 2.2.2 === 2003-03-10 Alexander Larsson * NEWS: * configure.in: Bump version to 2.2.2. 2003-03-04 Alexander Larsson * eel/Makefile.am: * eel/eel-input-event-box.[ch]: New widget. Basically GtkEventBox with a INPUT_ONLY window. 2003-03-04 Alexander Larsson * eel/eel-canvas.c: Update foocanvas. Fix a11y crash. 2003-03-04 Alexander Larsson * eel/eel-accessibility.[ch]: Publicaly export some utility functions. Patch from padraig.obriain@sun.com 2003-03-04 Alexander Larsson * eel/eel-canvas.c: Update foocanvas. Gets a11y support from padraig. 2003-03-03 Alexander Larsson * eel/eel-canvas.c: Update from foo-canvas. Fixes group movement, removes silly warning. 2003-02-28 Alexander Larsson * eel/eel-editable-label.[ch]: Add eel_editable_label_get_font_description and eel_editable_label_set_font_description. 2003-02-27 Taneem Ahmed * configur.in: Added "bn" to ALL_LINGUAS 2003-02-25 Samúel Jón Gunnarsson * configur.in: Added is to ALL_LINGUAS 2003-02-21 Paisa Seeluangsawat * configure.in (ALL_LINGUAS): Added "th". 2003-02-18 Christian Rose * configure.in: Added "ga" to ALL_LINGUAS. 2003-02-14 Alexander Larsson * eel/eel-glib-extensions.c (eel_unsetenv): Fix bug. Patch from hidetoshi.tajima@sun.com. === eel 2.2.1 === 2003-02-11 Alexander Larsson * NEWS: * configure.in: Bump version to 2.2.1 2003-02-09 Christian Rose * configure.in: Added "kn" to ALL_LINGUAS. 2003-02-07 Abel Cheung * configure.in: Removed "ga" from ALL_LINGUAS. Empty translation file. 2003-02-06 Christian Rose * configure.in: Added "id" to ALL_LINGUAS. 2003-02-05 James M. Cape * eel/eel-background.c, eel/eel-canvas-rect-ellipse.c, eel/eel-canvas.c, eel/eel-cell-renderer-pixbuf-list.c, eel/eel-editable-label.c, eel/eel-gdk-pixbuf-extensions.c, eel/eel-gnome-extensions.c, eel/eel-stock-dialogs.c, test/test-eel-image-table.c: Replace gtk+ functions deprecated in 2.3. === eel 2.2.0.2 === 2003-01-27 Dave Camp * NEWS: * configure.in: 2.2.0.2 === eel 2.2.0.1 === 2003-01-22 Dave Camp * NEWS: * configure.in: 2.2.0.1 2003-01-21 Christian Rose * configure.in: Added "mn" to ALL_LINGUAS. === eel 2.2.0 === 2003-01-20 Dave Camp * NEWS: * configure.in: 2.2.0. 2003-01-17 Alexander Larsson * eel/eel-preferences-glade.c: Correct previous fix. 2003-01-17 Alexander Larsson * eel/eel-preferences-glade.c: Fix a bug in the handling of the hashtable for int enums. === eel 2.1.91 === 2003-01-13 Alexander Larsson * NEWS: * configure.in: Bump to 2.1.91. 2003-01-13 Alexander Larsson * eel/eel-background.c: Hack in eel_background_set_up_widget to always get the right size for desktop window pixmaps. This is needed since bonoboplug children gets realized at the wrong size first and then the correct size. This hack allows us to not load the background image twice and to not flicker. Don't draw the background for canvases. This is not needed since we set up the correct window background. 2003-01-12 Pablo Saratxaga * configure.in: Added Amharic (am) and Farsi (fa) to ALL_LINGUAS === eel 2.1.6 === 2003-01-06 Dave Camp * NEWS: * configure.in: 2.1.6. 2002-12-17 Alexander Larsson * configure.in: * eel/Makefile.am: * test/Makefile.am: -pthread build fixes === eel 2.1.5 === 2002-12-16 Alexander Larsson * NEWS: * configure.in: Bump to 2.1.5 2002-12-13 Alex Duggan * configure.in: * eel-2.0.pc.in: * eel.spec.in: remove libgnomecanvas deps === eel 2.1.4 === 2002-12-09 Alexander Larsson * configure.in: * NEWS: Bump to 2.1.4 2002-12-05 Dave Camp * eel/eel-gnome-extensions.c: (list_icon_selected_callback): Free the return value of gnome_icon_selection_get_icon(). Patch from Jörgen Viksell Wed Dec 4 12:50:35 2002 HideToshi Tajima * eel/eel-editable-label.c (eel_editable_label_ensure_layout): Fix bugzilla.gnome.org #95429 - set input method text to pango layout. === eel 2.1.3 === 2002-11-25 Alexander Larsson * eel/eel-vfs-extensions.c: Fix checks so we distcheck. 2002-11-25 Alexander Larsson * configure.in: * NEWS: Bump to 2.1.3. 2002-11-21 Alexander Larsson * eel/eel-background.[ch]: (eel_background_set_up_widget): Set the background pixmap/color on the right window for canvas widgets. (eel_background_get_suggested_pixmap_size): New function. Based on patch from Brian.Cameron@sun.com 2002-11-19 Alexander Larsson * eel/eel-editable-label.[ch]: Don't use private gtk functions. 2002-11-05 Dave Camp * test/Makefile.am: * test/test-eel-widgets.c: (main), (string_picker_changed_callback): * test/test.c: * test/test.h: Took out the tests of removed code. 2002-11-05 Diego Gonzalez * po/POTFILES.in: remove eel/eel-preferencs-box.c * eel/Makefile.am: remove eel-font-picker.[c-h], eel-preferences-box.[c-h], eel-preferences-group.[c-h], eel-preferences-item.[c-h], eel-preferences-pane.[c-h], eel-text-caption.[c-h] from the build, these files aren't used anymore * eel/eel.h: remove those headers from here. 2002-11-04 Diego González * eel/eel-gnome-extensions.h: * eel/eel-gnome-extensions.c: (get_set_value_imethod), (do_nothing_cb), (eel_bonobo_pbclient_set_value_async): remove these functions since they are now in libbonobo 2002-11-04 Alexander Larsson * eel/eel-gdk-pixbuf-extensions.c: (file_read_callback): Fix bug with failed reads. * eel/eel-wrap-table.c: (eel_wrap_table_class_init), (eel_wrap_table_init), (eel_wrap_table_realize), (wrap_table_get_num_fitting), (wrap_table_layout), (wrap_table_get_max_child_dimensions): Correct size request. Patch from Jan Arne Petersen 2002-11-03 Dmitry G. Mastrukov * configure.in: Added Belarusian to ALL_LINGUAS === eel 2.1.2 === 2002-10-31 Dave Camp * MAINTAINERS: Updated. * configure.in: * NEWS: 2.1.2 2002-10-31 Dave Camp * eel/eel-background.c: (eel_background_class_init), (eel_background_set_image_placement), (eel_background_set_color), (eel_background_set_image_uri_helper), (set_image_and_color_image_loading_done_callback), (eel_background_set_image_uri_and_color), (eel_background_receive_dropped_background_image), (eel_background_receive_dropped_color): * eel/eel-background.h: Take a GdkDragAction argument to the receive_dropped_* functions, and pass it on in the changed signal. 2002-10-31 Dave Camp * eel/Makefile.am: * eel/eel-preferences-glade.c: * eel/eel-preferences-glade.h: New files to connect glade widgets to preferences. Patch from Jan Arne Petersen . 2002-10-25 Dave Camp * eel/Makefile.am: Oops. Removed extra \ at the end of a commented out line. 2002-10-19 Dave Camp * eel/Makefile.am: Take out -DBONOBO_DISABLE_DEPRECATED while the make_registration_id() api is being worked out. === eel 2.1.1 === 2002-10-14 Alexander Larsson * NEWS: Added news items * configure.in: Bump version to 2.1.1 2002-10-02 Mark McLoughlin * acconfig.h: define HAVE_GTK_MULTIHEAD for egg-screen-exec.c. * configure.in: require gtk 2.1.0 and remove HAVE_GTK_MULTIHEAD define. * eel/eel-gnome-extensions.c, eel/eel-gtk-extensions.c, eel/eel-gdk-extensions.c: don't conditionally build multihead support, gtk HEAD is required. 2002-10-02 Mark McLoughlin * eel/eel-gdk-extensions.c: (eel_stipple_bitmap_for_screen): use gdk_screen_get_display instead of assuming the default display. * eel/eel-gnome-extensions.c: (eel_gnome_shell_execute_on_screen): use the default screen if screen == NULL. 2002-10-02 Mark McLoughlin * eel/eel-gnome-extensions.[ch]: (eel_gnome_shell_execute_on_screen): rename from eel_gnome_screen_shell_execute. (eel_gnome_shell_execute): update. (eel_gnome_open_terminal_on_screen): rename from eel_gnome_screen_open_terminal. (eel_gnome_open_terminal): update. 2002-10-02 Mark McLoughlin * eel/eel-gtk-extensions.c: (eel_gtk_window_set_initial_geometry): fix build without HAVE_GTK_MULTIHEAD. * eel/egg-screen-exec.c: sync with libegg. 2002-10-02 Mark McLoughlin * configure.in: add check for gtk with multihead support. * eel/Makefile.am: add egg-screen-exec.[ch] to the build. * eel/eel-gdk-extensions.[ch]: (eel_stipple_bitmap_for_screen): implement per screen stipple bitmaps. (eel_stipple_bitmap): use eel_stipple_bitmap_for_screen. * eel/eel-gnome-extensions.[ch]: (eel_gnome_screen_shell_execute): implement. (eel_gnome_screen_open_terminal): implement. (eel_gnome_open_terminal): * eel/eel-gtk-extensions.c: (eel_gtk_window_set_initial_geometry): use gdk_screen_get_(width|height). 2002-10-01 Alexander Larsson * eel/eel-editable-label.[ch]: Added eel_editable_label_set_line_wrap_mode. 2002-09-30 Alexander Larsson * eel/eel-editable-label.c: Implement GtkEditable 2002-09-30 Alexander Larsson * eel/eel-editable-label.c: Finish cut/paste and other stuff. === eel 2.1.0 === 2002-09-27 Dave Camp * NEWS: Updated. 2002-09-27 Alexander Larsson * configure.in: Bump version to 2.1.0. 2002-09-26 Alexander Larsson * eel/eel-editable-label.c: Remove leftover debug spew. 2002-09-26 Alexander Larsson * test/Makefile.am: * test/test-eel-canvas-items.c: Remove canvas item test. 2002-09-26 Alexander Larsson * eel/Makefile.am: Add new files, remove old files. * eel/README.canvas: * eel/eel-canvas.[ch]: * eel/eel-canvas-util.[ch]: * eel/eel-canvas-rect-ellipse.[ch]: Import gtk+ only canvas from foocanvas. * eel/eel-canvas-rect.[ch]: Remove old rect object not longer needed. * eel/eel-gnome-extensions.[ch]: Remove old canvas extensions no longer needed. * eel/eel-background.[ch]: Update to the new canvas. * eel/eel-editable-label.[ch]: New editable label for rename mode. * eel/eel-lib-self-check-functions.h: Remove old tests. * eel/eelmarshal.list: New marshallers. * test/Makefile.am: * test/test-eel-editable-label.c: Small test for EelEditableLabel 2002-09-15 Dave Camp * eel/eel-preferences-item.h: * eel/eel-preferences-item.c: (eel_preferences_item_set_description), (eel_preferences_item_set_accessible_description), (eel_preferences_item_set_accessible_description_array): Allow users to set accessible descriptions of preferences items. * eel/eel-preferences-box.c: (preferences_box_populate_pane): * eel/eel-preferences-box.h: Allow the user to specify accessible descriptions for the controls. * eel/eel-radio-button-group.c: (eel_radio_button_group_set_entry_accessible_description), * eel/eel-radio-button-group.h: Allow the user to specify accessible descriptions for the radio buttons. 2002-09-10 jacob berkman * eel/eel-types.c: define EEL_COMPILATION * eel/Makefile.am (INCLUDES): don't define EEL_COMPILATION this fixes actual build problems on OS X, but wasn't correct anywhere. 2002-09-10 Dave Camp * eel/eel-background.c: (eel_background_ensure_realized), (eel_background_set_color_no_emit), (eel_background_set_use_base): If requested, use base as the fallback color instead of bg. 2002-09-04 Christian Rose * configure.in: Added "he" to ALL_LINGUAS. 2002-09-03 Michael Meeks * eel/eel-background.c (eel_background_load_image_callback): disable, until the nemo side is re-thunk. 2002-09-03 Michael Meeks * eel/eel-background.c (set_image_and_color_image_loading_done_callback): don't double emit apperance_changed occasionaly. (eel_background_class_init): add determine_image_placement. (eel_background_load_image_callback): call signal. [ based on Thomas Meeks' prototype ] * eel/eelmarshal.list: add enum:int,int 2002-08-30 Alexander Larsson branched of gnome 2.0.x development to gnome-2-0 branch. === eel 2.0.6 === 2002-08-28 Alexander Larsson * NEWS: * configure.in: Bumped to 2.0.6. === eel 2.0.5 === 2002-08-23 Alexander Larsson * NEWS: * configure.in: Version bumped to 2.0.5. === eel 2.0.4 === 2002-08-14 Alexander Larsson * configure.in: Version bumped to 2.0.4 2002-08-12 Dave Camp * eel/eel-string-picker.c: (eel_string_picker_set_string_list): Use eel_string_list_peek_nth() instead of eel_string_list_nth(). Fixes a small leak. === eel 2.0.3 === 2002-08-05 Dave Camp * NEWS: Updated. * configure.in: 2.0.3. 2002-07-28 Christian Rose * configure.in: Added "sq" to ALL_LINGUAS. 2002-07-27 Dave Camp * eel/eel-background.c: (widget_realize_cb), (eel_get_widget_background): Set up the widget background on realize. 2002-07-27 Dave Camp * eel/eel-background.c: (widget_style_set_cb), (eel_get_widget_background): Put back the style_set handler. === eel 2.0.2 === 2002-07-25 Dave Camp * NEWS: Add a list of changes. * configure.in: Bump version to 2.0.2. 2002-07-25 Pablo Saratxaga * configure.in: Added Bosnian (bs) to ALL_LINGUAS 2002-07-24 Dave Camp * eel/Makefile.am: Build eel-background-box.[ch], don't build eel-background-style.[ch]. * eel/eel-background-style.[ch]: Removed. * eel/eel-background-box.[ch]: New widget that handles background drawing itself. * eel/eel-background.c: (eel_background_init), (eel_get_widget_background): Removed the style setting and font updating code. This is now the responsibility of the widget using the EelBackground. (eel_background_expose): Helper function for widgets using EelBackground. (eel_background_set_up_widget): New function. (eel_widget_background_changed): Call eel_background_set_up_widget(). === eel 2.0.1 === 2002-07-22 Alexander Larsson * NEWS: * configure.in: Bump version to 2.0.01. Add list of changes. 2002-07-18 Federico Mena Quintero Fixes the eel part of #46238; see Nemo for the rest of the fix. * eel/eel-background.c (eel_background_ensure_realized): If we fail to parse the color spec, don't default to white. Instead use the background color from the widget's style. (widget_style_set_cb): New callback for the widget's "style_set" signal. We regenerate the background and its style when the theme changes. (eel_background_set_widget_style): We need a little hack here to unset the GTK_USER_STYLE flag because otherwise we will not be notified of theme changes through the "style_set" signal. The real solution is not to use a style of our own, but rather paint the widget by hand when needed. (eel_background_init): Start with is_solid_color = TRUE. 2002-07-17 Frank Worsley * eel/eel-gtk-extensions.c: * eel/eel-gtk-extensions.h: (eel_gtk_window_set_initial_geometry_from_string): add an ignore_position parameter 2002-07-12 Damon Chaplin * eel/eel-gtk-extensions.c (eel_gtk_button_new_with_stock_icon): new function to create a button with a mnemonic label and a stock icon. GTK+ doesn't make this easy. Needed for bug #85666. 2002-07-10 Dave Camp * eel/eel-gtk-extensions.c: (tree_view_button_press_callback), (eel_gtk_tree_view_set_activate_on_single_click): New functions to make a GtkTreeView activate a row on a single click. * eel/eel-gtk-extensions.h: Prototype for eel_gtk_tree_view_set_activate_on_single_click. * eel/eel-image-chooser.c: (eel_image_chooser_row_activated), (eel_image_chooser_finalize), (eel_image_chooser_instance_init), (eel_image_chooser_get_selected_path), (eel_image_chooser_set_selected_row): Only send a changed event when the user activates the row. 2002-07-10 Michael Meeks * eel/eel-gdk-pixbuf-extensions.c (eel_gdk_pixbuf_average_value): unsigned dividend, width, height. split out loop invariant and simplify, killing umpteen multiplies for non-alpha case. 2002-07-09 Michael Meeks * eel/eel-gdk-pixbuf-extensions.c (destroy_global_buffer), (eel_gdk_pixbuf_get_global_buffer): move these into the only place that uses them, and hide. * test/test-eel-pixbuf-tile.c: here (pixbuf_drawing_area_expose_event): upd. 2002-07-09 Damon Chaplin * eel/eel-preferences-box.c (eel_preferences_box_new): added a 'Cat_egories' label and mnemonic accel above the list. Fixes part of bug #85673. * eel/eel-preferences-group.c (eel_preferences_group_new): set the border width of the second column of prefs to match the first. 2002-07-08 Michael Meeks * eel/eel-labeled-image.c (eel_labeled_image_get_accessible): cope better with the no a11y scenario. 2002-07-08 Michael Meeks * eel/eel-labeled-image.c (eel_labeled_image_radio_button_get_type): impl. (eel_labeled_image_radio_button_new_from_file_name), (eel_labeled_image_radio_button_new): impl. 2002-07-02 Michael Meeks * configure.in: use libglade. * eel-2.0.pc.in (Requires): upd. * eel/eel-labeled-image.c (eel_labeled_image_set_text): set text with mnemonic. (eel_labled_set_mnemonic_widget): impl. (eel_labeled_*_button_new): set the mnemonic widget. * eel/eel-gnome-extensions.c (eel_glade_get_file): impl. 2002-06-28 Marco Pesenti Gritti * eel/eel-gtk-extensions.c (eel_popup_menu_position_func): Remove context menus custom positioning code to be consistent with other gnome applications. 2002-06-27 Frank Worsley * eel/eel-vfs-extensions.c: (eel_vfs_has_capability_uri): * eel/eel-vfs-extensions.h: implemented EEL_VFS_CAPABILITY_SAFE_TO_EXECUTE 2002-06-25 Dave Camp * eel/eel-vfs-extensions.c (eel_vfs_has_capability_uri): Moved here from eel_vfs_test_capabilities(). (eel_vfs_has_capability): New function, takes a string uri. * eel/eel-vfs-extensions.h: Changed EelVfsTest to EelVfsCapability, and EEL_VFS_TEST_* to EEL_VFS_CAPABILITY_*. 2002-06-25 Frederic Crozat * acconfig.h: * configure.in: * eel/Makefile.am: * eel/check-program.c: (main): * eel/eel-enumeration.c: * eel/eel-gconf-extensions.c: * eel/eel-glib-extensions.c: * eel/eel-gnome-extensions.c: * eel/eel-i18n.c: (_eel_gettext): * eel/eel-i18n.h: * eel/eel-password-dialog.c: * eel/eel-preferences-box.c: * eel/eel-stock-dialogs.c: * eel/eel-vfs-extensions.c: * eel/eel-xml-extensions.c: Use our own _() macro to ensure bind_textdomain_codeset is set (when available) 2002-06-14 Satyajit Kanungo * eel/eel-preferences-box.c : Added a call to get the active pane for eel preference dialog box. (Applied by Damon Chaplin.) 2002-06-13 Dave Camp * eel/eel-stock-dialogs.c: (eel_run_simple_dialog): Don't try to connect to the delete_event signal of the dialog, and handle gtk_dialog_run() returning GTK_RESPONSE_DELETE_EVENT. Fixes #78948. 2002-06-12 Damon Chaplin * eel/eel-gnome-extensions.c (icon_selected): hide the dialog at the start of the function and set the dismissed flag to indicate we're acting on it, so if we do get called again we just return. Fixes bug #84134. 2002-06-10 Alexander Larsson * eel/eel-preferences-box.c: change treeview shadow type to GTK_SHADOW_IN and add some spacing for consistency with the rest of gnome. Patch from Jorn Baayen 2002-06-10 Alexander Larsson * NEWS: Update version nr. * configure.in: Update requirements to latest versions of everything. 2002-06-10 Naba Kumar * configure.in: Added hi in ALL_LINGUAS. 2002-06-09 Abel Cheung * eel/eel-glib-extension.c: Clarify the comment about strftime check. 2002-06-07 Damon Chaplin * test/Makefile.am (INCLUDES): * eel/Makefile.am (INCLUDES): use $(prefix)/${DATADIRNAME}/locale instead of $(datadir)/locale so it works on Solaris. 2002-06-06 Michael Meeks * eel/eel-vfs-extensions.c (eel_vfs_test_capabilities): impl. 2002-06-06 Michael Meeks * Version 2.0.0 2002-06-06 Jacob Berkman * eel/eel-gdk-extensions.c: pangoxft.h is not present on all systems, i think it's safe to just include pango/pango.h 2002-06-04 Yanko Kaneti * configure.in: (ALL_LINGUAS) Added Bulgarian (bg). === eel 1.1.17 === 2002-06-03 Alex Larsson * NEWS: Add some actual changes. 2002-06-03 Alexander Larsson * NEWS: * configure.in: Bump version to 1.1.17 2002-05-31 Alex Larsson * eel/eel-gdk-extensions.[ch] (eel_gdk_draw_layout_with_drop_shadow): Add new function. 2002-05-28 Havoc Pennington * eel/eel-gdk-pixbuf-extensions.c: remove bogus #include , we no longer use libpng 2002-05-27 Michael Meeks * eel/eel-vfs-extensions.c (eel_make_valid_utf8): copy from nemo (eel_format_uri_for_display_internal): use it for awkward (invalid) cases, that we still need to display in an error dialog. === eel 1.1.16 === 2002-05-27 Alexander Larsson * NEWS: * configure.in: Bump version to 1.1.16 2002-05-23 Michael Meeks * eel/eel-vfs-extensions.c (eel_format_uri_for_display_internal): move the utf8 validation assert down to after we've handled 'locale_encoded filenames' as best we can. 2002-05-22 Michael Meeks * eel/eel-vfs-extensions.c (eel_is_valid_uri): impl. 2002-05-21 Damon Chaplin * eel/eel-gnome-extensions.c (eel_gnome_icon_selector_new): store the dialog pointer before calling eel_remove_weak_pointer(), as that will set it to NULL. We want to return it. * eel/eel-gdk-pixbuf-extensions.c (eel_gdk_pixbuf_load): close the pixbuf loader if we get a vfs error. It complains if we unref it without closing it. === eel 1.1.15 === 2002-05-20 Alex Larsson * NEWS: * configure.in: Bump version to 1.15. 2002-05-18 Kjartan Maraas * configure.in: Added "mk" to ALL_LINGUAS. 2002-05-16 Michael Meeks * eel/eel-background-style.c (eel_background_style_draw_flat_box): unref the pixmap instead of leaking it if not changes_with_size. 2002-05-16 Mark McLoughlin * eel/eel-pango-extensions.c: (measure_string_width), (compute_character_widths), (eel_string_ellipsize_start), (eel_string_ellipsize_end), (eel_string_ellipsize_middle), (eel_self_check_ellipsize): don't create redundant layouts when doing calculations. Just use the one we've already created. 2002-05-14 Federico Mena Quintero * eel/eel-text-caption.c (entry_key_press_callback): Event handlers should return a gboolean! Fixes #75229. === eel 1.1.14 === 2002-05-13 Alex Larsson * NEWS: * configure.in: Update to 1.1.14 2002-05-12 Anders Carlsson * eel/eel-pango-extensions.c (eel_pango_layout_fit_to_dimensions): Fix this utterly broken function by rewriting parts of it. Fixes #81183, reported by Owen Taylor. 2002-05-11 Alexander Larsson * eel/eel-background.c: (eel_background_start_loading_image), (eel_background_set_style_font_from_default), (eel_background_set_widget_style), (eel_widget_font_changed), (eel_get_widget_background): Hacks to update the style when the default font changes. 2002-05-08 Damon Chaplin * eel/eel-gnome-extensions.c (eel_gnome_icon_selector_new): connect the dialog signals up before calling gnome_icon_selection_show_icons() and also add a weak pointer to the dialog. We need to do this as GnomeIconSelection reenters the main loop while loading icons, so it can be closed or a button can be clicked before returning. Fixes bug #75387. === eel 1.1.13 === 2002-05-04 David Emory Watson This is needed to fix bug 46582. * configure.in: * NEWS: Bump version to 1.1.13. * eel/eel-vfs-extensions.c: * eel/eel-vfs-extensions.h: (eel_make_uri_from_input_internal): Optionally strip trailing whitespace since it could be part of a valid uri. (eel_make_uri_from_input): Update. (eel_make_uri_from_input_with_trailing_ws): New. 2002-04-30 Alexander Larsson * eel/eel-preferences-item.c (enumeration_menu_changed_callback), (enumeration_list_changed_callback): Don't use the translated string when looking up the enumeration position. Fixes #64696 2002-04-29 Pablo Saratxaga * configure.in: Added Vietnamese (vi) to ALL_LINGUAS * configure.in: Added Walloon (wa) to ALL_LINGUAS * configure.in: Added Basque (eu) to ALL_LINGUAS === eel 1.1.12 === 2002-04-28 Alexander Larsson * configure.in: * NEWS: Bump version to 1.1.12. 2002-04-28 Alexander Larsson * configure.in: Removed -Wcast-align. This broke the build for Alpha on RH 7.1, even in header files! And it's not that useful. See bug #79860. 2002-04-27 Murray Cumming * eel/eel-stock-dialogs.c (eel_show_yes_no_dialog): Bug #80072: Use eel_create_question_dialog instead() of show_message_dialog() so that the custom button titles can be used. 2002-04-26 Gustavo Giráldez * eel/eel-ellipsizing-label.c (real_finalize): chain call to parent class' finalize. 2002-04-22 Anders Carlsson * eel/eel-image-chooser.c: (eel_scrolled_image_chooser_new): Set shadow type to GTK_SHADOW_IN. Fixes #73389. === eel 1.1.11 === 2002-04-21 Alexander Larsson * configure.in: * NEWS: Bump version to 1.1.11. 2002-04-21 Alexander Larsson * eel/eel-background.c (eel_background_ensure_image_scaled): Work around the fact that scaling large pixbufs to 1x1 crashes while allocating several gigs of memory. 2002-04-21 Anders Carlsson * eel/eel-gtk-extensions.c: (eel_gtk_label_set_scale), (get_layout_location), (eel_gtk_label_expose_event), (eel_gtk_label_size_request), (set_up_label), (eel_gtk_label_set_drop_shadow_color), (eel_gtk_label_set_drop_shadow_offset): * eel/eel-gtk-extensions.h: Add eel_gtk_label_set_drop_shadow_color and eel_gtk_label_set_drop_shadow_offset functions. 2002-04-18 Michael Meeks * eel/eel-gnome-extensions.c (do_nothing_cb, get_set_value_imethod), (eel_bonobo_pbclient_set_value_async): impl. async property setter to cut throbber latency. 2002-04-17 Anders Carlsson * eel/eel-background.c: (eel_background_start_loading_image): If we load the pixbuf sync, unref it so that we won't leak it. * eel/eel-image-chooser.c: (eel_image_chooser_cell_data_func): Free strings. * eel/eel-labeled-image.c: (eel_labeled_image_class_init), (eel_labeled_image_destroy), (eel_labeled_image_forall): Add a ::destroy handler that destroys the image and label. * eel/eel-preferences-box.c: (preferences_box_category_list_recreate): Free the GtkTreeIter. * eel/eel-preferences-item.c: (preferences_item_update_editable_integer): Free the caption. 2002-04-17 Anders Carlsson * eel/eel-background.c (eel_background_finalize): Free details after using it, not before. * eel/eel-preferences.c: (eel_preferences_get_enum): Free enums. * eel/eel-string-list.c: (eel_string_list_peek_nth): * eel/eel-string-list.h: Add eel_string_list_peek_nth which does not strdup the string returned. === eel 1.1.10 === 2002-04-14 Alexander Larsson * NEWS: * configure.in: Bump version to 1.1.10 2002-04-14 Alexander Larsson * eel/eel-gnome-extensions.c (eel_gnome_canvas_set_scroll_region): Don't request_update all item unless the top left corner of the scroll region changed. 2002-04-13 Alexander Larsson * eel/eel-gnome-extensions.c (eel_gnome_shell_execute): Print a warning on failure. For debugging purposes. 2002-04-12 Jody Goldberg * eel/eel-gnome-extensions.c (eel_gnome_shell_execute) : no one uses the return type anyway, remove it and make this a wrapper around g_spawn_command_line_async. Fixes lots of problems. 2002-04-12 Padraig O'Briain * configure.in: Update required GAIL version to 0.13 * eel/eel-accessibility.h: gailtextutil.h has moved from util directory to libgail-util * eel/eel-accessibility.c: Update calls to gail_text_util_get_substring as start_pos and end_pos arguments have been changed from gint* to gint 2002-04-07 Alexander Larsson * eel/eel-preferences-item.[ch]: Add EEL_PREFERENCE_ITEM_ENUMERATION_MENU_INTEGER type that stores the integer value of the enum. This is needed for the Nemo thumbnail size limit. 2002-04-04 Dave Camp * eel/eel-preferences-item.c (eel_preferences_item_set_description): set text with mnemonics. * eel/eel-labeled-image.c (eel_labeled_image_set_selected), (eel_labeled_image_get_selected): impl. * eel/eel-gtk-extensions.c (eel_pop_up_context_menu): tolerate a NULL event. 2002-04-04 Michael Meeks * eel/eel-accessibility.c (eel_accessibility_set_description), (eel_accessibility_set_name): impl. 2002-04-03 Michael Meeks * eel/eel-accessibility.c (get_quark_gobject), (get_quark_accessible): share quark id's with gobject-accessible. (eel_accessibility_set_atk_object_return): only hook up weak refs etc. for non GObjectAccessible derived types - otherwise we double unref the accessible. 2002-04-02 Michael Meeks * eel/eel-accessibility.c (eel_accessible_text_get_type): impl. (eel_accessibility_for_object): impl. * eel-2.0.pc.in (Requires): add gail. 2002-04-01 Michael Meeks * eel/eel-accessibility.c (eel_accessibility_add_simple_text): impl. (eel_accessibility_set_text_util): impl. (get_simple_text): * configure.in: require gail >= 0.11 for accessibility. 2002-03-30 Alexander Larsson * test/test-eel-pixbuf-scale.c: Don't double define DEST_WIDTH and DEST_HEIGHT. 2002-03-29 Havoc Pennington * eel/eel-gconf-extensions.c (eel_gconf_value_is_equal): don't use private gconf fields, and fix a bug in comparison of equality of list values (if (a != NULL || b != NULL) return FALSE) 2002-03-28 Michael Meeks * eel/eel-labeled-image.c (eel_labeled_image_toggle_button_new_from_file_name), (eel_labeled_image_check_button_new_from_file_name), (eel_labeled_image_button_new_from_file_name), (eel_labeled_image_toggle_button_new), (eel_labeled_image_check_button_new), (eel_labeled_image_button_new): use the new button types so we can update accessibility support there. (eel_labeled_image_button_class_init): use to override all button's get_accessibles. (eel_labeled_image_toggle_button_get_type), (eel_labeled_image_check_button_get_type), (eel_labeled_image_button_get_type): impl. (eel_labeled_image_get_accessible): handle all button and plain label accessibility setup. (get_image): impl. (eel_labeled_image_accessible_image_get_size): impl. (eel_labeled_image_accessible_get_name): impl. (eel_labeled_image_accessible_image_interface_init), (eel_labeled_image_accessible_class_init), (eel_labeled_image_button_class_init), (eel_labeled_image_get_accessible): impl. etc. 2002-03-28 Alex Larsson * eel/eel-gdk-pixbuf-extensions.[ch]: Added new function eel_gdk_pixbuf_scale_down() that does fast downscaling. Speeds up thumbnailing. Use it in eel_gdk_pixbuf_scale_down_to_fit(). * test/Makefile.am: * test/test-eel-pixbuf-scale.c: Tests for pixmap scaling. 2002-03-28 Michael Meeks * eel/eel-gtk-extensions.c (eel_gtk_button_set_padding): many buttons (eg. stock ones) do not have a GTK_MISC as a child, don't do daft things to them. * test/test-eel-labeled-image.c (labeled_image_button_window_new): add a plain labeled image. 2002-03-28 Dave Camp * eel/eel-labeled-image.c (eel_labeled_image_set_can_focus): impl. (eel_labeled_image_class_init): add activate signal & bindings. (eel_labeled_image_expose_event): render selection and focus. 2002-03-28 Michael Meeks * test/test-eel-widgets.c (create_pixbuf): use DATADIR instead of a hard coded path. (test_ok_dialog): impl. (main): upd. Add window titles to elucidate function. * TODO: clean & add a11y bits. * test/test-eel-image-chooser.c: ditto. * eel/eel-caption-table.c (eel_caption_table_set_row_info): set role on invisible entries' accessibles to 'password'. 2002-03-27 Michael Meeks * eel/eel-accessibility.h (EEL_ACCESSIBLE_FACTORY): don't auto-generate the type name. * eel/eel-accessibility.c (eel_accessibility_weak_unref): notify defunct. 2002-03-26 Michael Meeks * eel/eel-accessibility.c [ cut & paste helpers from bonobo until gail is stable ]: (eel_accessibility_set_atk_object_return), (eel_accessibility_get_atk_object): impl. (eel_a11_weak_unref, get_quark_accessible): impl. (eel_accessibility_create_derived_type): impl. (eel_accessibility_get_atk_object): impl. * eel/eel-accessibility.h (EEL_ACCESSIBLE_FACTORY, EEL_WIDGET_SET_FACTORY): copy from gail - we need them. === eel 1.1.9 === 2002-03-24 Alexander Larsson * configure.in: Bump version to 1.1.9 * NEWS: bump version. 2002-03-22 Dave Camp * eel/eel-gtk-extensions.c: (eel_gtk_viewport_get_visible_rect), (eel_gtk_viewport_scroll_to_rect): New functions. * eel/eel-gtk-extensions.h: Prototypes for the eel_gtk_viewport functions. * eel/eel-wrap-table.c: (eel_scrolled_wrap_table_new): New function to create a wrap table inside of a scrolled window. (eel_wrap_table_add), (eel_wrap_table_remove): If the wrap table is scrolled, connect to focus_in_event. (wrap_table_child_focus_in): New function, scrolls to the focused item in the viewport. * eel/eel-wrap-table.h: Prototype for eel_scrolled_wrap_table_new. 2002-03-18 Anders Carlsson * eel/eel-string.c: Only include eel-lib-self-check-functions.h if EEL_OMIT_SELF_CHECK isn't defined. * eel/eel-pango-extensions.c: Only include eel-lib-self-check-functions.h if EEL_OMIT_SELF_CHECK isn't defined. * eel/Makefile.am: * eel/eel-accessibility.c: (eel_accessibility_set_up_label_widget_relation): * eel/eel-accessibility.h: * eel/eel-caption-table.c: (eel_caption_table_resize): * eel/eel-caption.c: (eel_caption_set_child): Add new accessibility utility functions and have our label-widget composite widgets use them. * test/test-eel-widgets.c: (create_pixbuf): Update path due to e-h changes. 2002-03-17 Darin Adler * configure.in: Bump required versions. === eel 1.1.8 === 2002-03-17 Alexander Larsson * configure.in: Bump version to 1.1.8 * NEWS: Bump version. * eel/eel-vfs-extensions.c: (eel_format_uri_for_display_internal), (eel_escape_high_chars), (eel_make_uri_from_input_internal), (eel_format_uri_for_display), (eel_make_uri_from_input), (eel_self_check_vfs_extensions): Handle utf8 and G_BORKEN_FILENAMES better. 2002-03-13 Gregory Leblanc * eel.spec.in: New one, from Chris Chabot 2002-03-11 Michael Meeks * eel/eel-gnome-extensions.c (eel_bonobo_make_registration_id): impl. 2002-03-11 Anders Carlsson * eel/eel-gdk-extensions.c: * eel/eel-gdk-extensions.h: Remove the now unneeded eel_set_mini_icon function. === eel 1.1.7 === 2002-03-10 Darin Adler * NEWS: Bump version. 2002-03-09 Alexander Larsson * eel/eel-image-table.c: (image_table_emit_signal), (image_table_handle_motion), (ancestor_button_press_event), (ancestor_button_release_event): * eel/eel-image-table.h (EelImageTableEvent): Add the original GdkEvent to the EelImageTableEvent. You may need e.g. the time from the event. (Needed to fix stuck grab in nemo.) 2002-03-08 Darin Adler * eel/eel-preferences.c: (eel_preferences_set_emergency_fallback_string_list): Add a g_slist_reverse so that emergency fallback string lists are in the proper order. * eel/eel-background.c: Tweak formatting. 2002-03-07 Anders Carlsson * configure.in: Bump version to 1.1.7 * eel/eel-preferences-item.c: (preferences_item_update_editable_string), (preferences_item_create_editable_string), (eel_preferences_item_new), (preferences_item_update_displayed_value), (eel_preferences_item_set_description): * eel/eel-preferences-item.h: Add EEL_PREFERENCES_ITEM_EDITABLE_PASSWORD_STRING type. * eel/eel-text-caption.c: (eel_text_caption_set_expand_tilde), (eel_text_caption_set_visibility): * eel/eel-text-caption.h: Add eel_text_caption_set_visibility which controls the visibility of the GtkEntry. 2002-03-06 Darin Adler * eel/eel-preferences-box.c: (eel_preferences_dialog_new): Make the button say "Close" instead of "OK". 2002-03-06 Darin Adler * eel/eel-cell-renderer-pixbuf-list.c: (eel_cell_renderer_pixbuf_list_class_init): * eel/eel-labeled-image.c: (eel_labeled_image_class_init): Remove strings we really don't need; lets not waste time translating these since no one ever sees them. * eel/eel-password-dialog.c: (eel_password_dialog_new): Tweak comment. * eel/eel-preferences-box.c: Add gnome-i18n.h include. Not sure why this wasn't needed before. * eel/eel-preferences.c: Remove unneeded gnome-i18n.h include. 2002-03-06 Darin Adler * eel/eel-preferences-box.c: (eel_preferences_box_new): * eel/eel-wrap-table.c: (eel_wrap_table_class_init): Take out some strings that we don't really need to translate. 2002-03-06 Michael Meeks * eel/eel-preferences-item.c (preferences_item_update_enumeration_radio), (preferences_item_update_enumeration_menu), (enumeration_radio_changed_callback), (enumeration_menu_changed_callback): upd. for enums * eel/eel-preferences.c (eel_preferences_add_auto_enum): impl. (preferences_entry_update_auto_storage): upd. for enums. 2002-03-05 Michael Meeks * eel/eel-preferences.c (eel_preferences_get_enum, eel_preferences_set_enum): impl. * eel/eel-enumeration.c (eel_enumeration_get_sub_name), (eel_enumeration_get_sub_value): impl. === eel 1.1.6 === 2002-03-04 Darin Adler * eel/eel-stock-dialogs.c: (show_message_dialog): Put additional button to the left of the other buttons. Doing it this way is pretty nasty, but I don't know any better way to match what the HI folks want. 2002-03-03 Alexander Larsson * NEWS: * configure.in: Bump version. * eel/eel-background.h: Add eel_background_set_is_constant_size() and eel_background_get_pixmap_and_color() Remove eel_background_is_too_complex_for_gtk_style(). * eel/eel-background.c: (eel_background_init), (eel_background_finalize), (get_pixmap_size), (eel_background_unrealize), (eel_background_ensure_realized), (eel_background_get_pixmap_and_color), (draw_background_callback), (eel_widget_background_changed): Add bitmap generation and caching capability. (eel_background_set_is_constant_size): set if windows don't change size, used by the nemo desktop window. (eel_background_is_too_complex_for_gtk_style); Remve. Not used anymore. (eel_background_receive_dropped_background_image): Remove old reset.png hack. * eel/eel-background-style.c: (eel_background_style_finalize): unref background (eel_background_style_draw_flat_box), (eel_background_style_set_background): Use cached pixmaps from EelBackground. (eel_background_style_new): Set the background. No need to mess with the base style. (eel_background_style_clone): Need to clone the background too. (eel_background_style_class_init): add clone and set_background virtual methods 2002-03-03 Anders Carlsson * eel/eel-preferences-item.c: (preferences_item_create_enumeration_list), (preferences_item_create_enumeration_menu): * eel/eel-string-picker.c: (eel_string_picker_set_string_list), (eel_string_picker_insert_separator): * eel/eel-string-picker.h: Create the string list first and then insert it into the string picker, instead of rebuilding the option menu on every insert. 2002-03-01 Darin Adler * eel/eel-glib-extensions.h: * eel/eel-glib-extensions.c: (eel_g_object_list_ref), (eel_g_object_list_unref), (eel_g_object_list_free), (eel_g_object_list_copy), (eel_add_weak_pointer), (eel_remove_weak_pointer): New names for old functions from eel-gtk-extensions.c. * eel/eel-gtk-extensions.h: * eel/eel-gtk-extensions.c: Remove old functions. 2002-02-28 Darin Adler * eel/eel-image-chooser.c: (eel_image_chooser_set_selected_row): Handle -1 by deselecting all rows. 2002-02-28 Darin Adler * eel/eel-gnome-extensions.c: (icon_selected): Since this is no longer a callback, get rid of the widget parameter. (icon_cancel_pressed): Get rid of the widget parameter. (entry_activated_callback): Check result of stat. (eel_gnome_icon_selector_new): Store a pointer to the dialog that we can use later to close it. 2002-02-27 Anders Carlsson * eel/eel-password-dialog.c: (dialog_show_callback), (eel_password_dialog_set_readonly_username): If the username is readonly, focus the password entry. Otherwise focus the username entry. Fixes #72801. 2002-02-27 Darin Adler * eel/eel-gdk-extensions.h: * eel/eel-gdk-extensions.c: (eel_gdk_rectangle_contains_rectangle): New. * eel/eel-gtk-extensions.h: * eel/eel-gtk-extensions.c: (eel_gtk_tree_view_cell_is_completely_visible): New. * eel/eel-gdk-pixbuf-extensions.c: (eel_cancel_gdk_pixbuf_load): We need to close the loader even if we are just dropping it on the floor. Not sure that's good design, but I want to make gdk-pixbuf happy. * eel/eel-image-chooser.c: (eel_scrolled_image_chooser_show_selected_row): Only scroll if row isn't already completely visible. === eel 1.1.5 === 2002-02-25 Anders Carlsson * eel/eel-pango-extensions.c: (eel_pango_font_description_get_largest_fitting_font_size): * eel/eel-pango-extensions.h: Implement eel_pango_font_description_get_largest_fitting_font_size. 2002-02-22 Darin Adler * eel/Makefile.am: * eel/eel.h: * eel/eel-generous-bin.c: Re-add. * eel/eel-generous-bin.h: Re-add. 2002-02-21 Michael Meeks * eel/eel-pango-extensions.c (eel_pango_layout_fit_to_dimensions): impl. * eel/eel-gdk-pixbuf-extensions.c (eel_gdk_pixbuf_draw_layout_clipped): document. 2002-02-22 Darin Adler * eel/Makefile.am: * eel/eel.h: * eel/eel-generous-bin.c: Remove. * eel/eel-generous-bin.h: Remove. * eel/eel-region.c: Remove. * eel/eel-region.h: Remove. * eel/eel-image-table.c: Remove include "eel-region.h". 2002-02-22 Darin Adler * eel/eel-glib-extensions.h: * eel/eel-glib-extensions.c: Remove unused eel_g_ptr_array_* functions. * eel/eel-gnome-extensions.h: * eel/eel-gnome-extensions.c: Remove unused eel_gnome_canvas_world_to_window_rectangle. (eel_gnome_canvas_world_to_widget_rectangle), (eel_gnome_canvas_widget_to_world), (eel_gnome_canvas_world_to_widget): Rename to reflect a clearer conception of these. They map to the widget coordinate system. Clearer than trying to talk about widget->window vs. layout->bin_window . * eel/eel-gtk-extensions.h: * eel/eel-gtk-extensions.c: Remove unused eel_gtk_style_shade, eel_get_window_list_ordered_front_to_back, eel_gtk_widget_standard_realize, eel_gtk_bin_standard_size_allocate, eel_gtk_bin_standard_size_request. (eel_gtk_widget_get_button_event_location): New. (eel_gtk_widget_get_motion_event_location): New. * test/Makefile.am: * test/dumb-box.c: Remove. * test/dumb-box.h: Remove. * test/test-eel-gtk-style.c: Just keep this compiling. Not clear if it still is useful. * RENAMING: at_exit -> at_shutdown 2002-02-21 Darin Adler * AUTHORS: * MAINTAINERS: Add some people. * eel/eel-gdk-pixbuf-extensions.c: (eel_gdk_pixbuf_draw_layout_clipped): Draw nothing if the rectangle is empty or "less than empty" rather than asserting. 2002-02-20 David Emory Watson eel/eel-preferences-box.c: (eel_preferences_box_init): Remove connect. (user_level_changed_callback): Removed. 2002-02-20 Michael Meeks * eel/eel-gdk-pixbuf-extensions.c (eel_gdk_pixbuf_draw_layout): split out into (eel_gdk_pixbuf_draw_layout_clipped): here, new method. 2002-02-20 Michael Meeks * eel/eel-wrap-table.c (eel_wrap_table_class_init): do an eel_type_init. * eel/eel-types.c (eel_type_init): protect vs. double init. 2002-02-19 jacob berkman * eel/eel-gnome-extensions.c (get_terminal_command_prefix): gnome-terminal 2 does not accept --login or --start-factory-server * eel/eel-gtk-extensions.[ch] (eel_gtk_selection_data_*_deep): remove as these are fixed in GTK 2.0 (fixes a double free crash) 2002-02-19 Michael Meeks * eel/eel-preferences-box.c (category_list_row_activated_callback): rename to (category_list_selection_changed): this & use the selection's changed signal instead. (eel_preferences_box_new): upd. (preferences_box_category_list_recreate): upd. 2002-02-18 Gediminas Paulauskas * configure.in: remove GNOME_COMMON_INIT, GNOME_PLATFORM_GNOME_2 2002-02-16 Alexander Larsson * eel/eel-gdk-pixbuf-extensions.c (eel_gdk_pixbuf_draw_to_pixbuf_alpha): Add G_OBJECT() casts for g_object_ref/unref so we don't give warnings due to pixbuf being const. 2002-02-16 David Emory Watson * NEWS: Bump version. * configure.in: Bump version. * eel/eel-gdk-extensions.h: * eel/eel-gdk-extensions.c: (eel_gdk_color_parse): New. (eel_gdk_color_parse_with_white_default): call eel_gdk_color_parse (). 2002-02-15 Michael Meeks * eel/Makefile.am: add deprecated flags permanantly. * eel/eel-gdk-extensions.c (eel_gdk_choose_foreground_color), (eel_gdk_gc_choose_foreground_color): prune, unused, and funky color handling. * test/test-eel-pixbuf-tile.c: update image paths to include the prefix. * eel/eel-debug-drawing.c (eel_debug_draw_rectangle_and_cross): make sure we allocate the color. 2002-02-13 Michael Meeks * eel/eel-image-table.c (image_table_peek_clear_gc): upd. color handling. (eel_image_table_set_smooth_background_color), (eel_image_table_set_is_smooth): kill, unused. (eel_image_table_expose_event): kill. (image_table_foreach_child_subtract_content), (image_table_peek_clear_gc): remove * eel/eel-gdk-pixbuf-extensions.c (pixbuf_destroy_callback), (eel_gdk_pixbuf_list_ref, eel_gdk_pixbuf_list_free): use g_object_ref/unref instead of gdk_pixbuf_~ * eel/eel-gdk-extensions.c (eel_fill_rectangle_with_color): remove, color handling not pleasant, and not used. (eel_gdk_gc_choose_foreground_color): upd. * eel/eel-debug-drawing.c (eel_debug_draw_rectangle_and_cross): upd. color handling. 2002-02-12 Michael Meeks * eel/eel-stock-dialogs.h (eel_create_info_dialog): fix header comment. 2002-02-12 Darin Adler * eel/eel-wrap-table.c: (eel_wrap_table_class_init): Register enums in here. This gets rid of the last place we had GNOME2_CONVERSION_COMPLETE. * eel/maketypes.awk: Fix to make EEL_TYPE_X instead of EEL_TYPE_EEL_X. 2002-02-12 Tõivo Leedjärv * configure.in: Added et to ALL_LINGUAS. 2002-02-12 Michael Meeks * eel/eel-preferences-box.c (eel_preferences_box_new): create a tree view & list model (category_list_select_row_callback): rename to (category_list_row_activated_callback): this & re-write.. (preferences_box_find_row): re-write. (preferences_model_foreach_find): impl. (eel_preferences_box_rename_pane): re-write. (eel_preferences_box_finalize): unref the category model. (eel_preferences_dialog_new): show after populating with panes, so we don't get re-sizing jerkiness on the list. (preferences_box_select_pane): tolerate setting the name with the existing string. * eel/eel-text-caption.c: remove unused TEXT_CAPTION_INVALID * eel/eel-password-dialog.c: remove unused DIALOG_OK_BUTTON 2002-02-12 Anders Carlsson * eel/eel-canvas-rect.c (eel_canvas_rect_realize): Surround variable declarations with HAVE_RENDER. 2002-02-10 Darin Adler * configure.in: Require newer libxml where location of xml memory calls has moved. * eel/eel-xml-extensions.c: Remove unneeded include of xmlmemory.h. ==== eel 1.1.4 ==== 2002-02-09 Darin Adler * NEWS: Bump version. * configure.in: Bump version. * eel/eel-debug.c: (eel_make_warnings_and_criticals_stop_in_debugger): Add gnome-vfs-modules to list of domains. 2002-02-08 Anders Carlsson * eel/eel-canvas-rect.c: (eel_canvas_rect_realize), (eel_canvas_rect_unrealize): Chain to parent implementations. 2002-02-06 Darin Adler * eel/Makefile.am: Turn on GNOME_DISABLE_DEPRECATED and EEL_COMPILATION. Get rid of eel-gobject-extensions.[ch]. * eel/eel-art-gtk-extensions.h: * eel/eel-art-gtk-extensions.c: (eel_gdk_window_get_bounds), (eel_gdk_window_get_screen_relative_bounds), (eel_gtk_widget_get_bounds), (eel_gtk_widget_get_dimensions), (eel_gtk_widget_get_preferred_dimensions), (eel_gdk_window_clip_dirty_area_to_screen), (eel_gdk_window_get_dimensions), (eel_gdk_get_pointer_position): Eliminate misguided use of const. Fix a few deprecated things. * eel/eel-background-style.c: (eel_gdk_window_update_sizes): Use gdk_drawable_get_size instead of gdk_window_get_size. * eel/eel-background.c: (draw_background_callback): Use g_object_unref instead of gdk_gc_unref. (eel_get_widget_background): Use g_signal_connect_object instead of eel_signal_connect_object_while_alive. * eel/eel-debug-drawing.c: (eel_debug_draw_rectangle_and_cross): Use g_object_unref instead of gdk_gc_unref. * eel/eel-debug.c: Turn this back on. * eel/eel-gnome-extensions.c: (eel_gnome_icon_selector_new): Get rid of a misguided use of eel_signal_connect_while_alive -- plain old g_signal_connect works fine. * eel/eel-gobject-extensions.c: Remove. * eel/eel-gobject-extensions.h: Remove. * eel/eel-image-table.c: (eel_image_table_unrealize): Use g_object_unref instead of gdk_gc_unref. * eel/eel-labeled-image.c: (eel_labeled_image_check_button_new): Get rid of some misguided use of eel_signal_connect_while alive -- plain old g_signal_connect works fine. * eel/eel-password-dialog.c: (eel_password_dialog_new): Get rid of some misguided use of eel_signal_connect_while alive -- plain old g_signal_connect works fine. * eel/maketypes.awk: Grab a new copy from gtk+. Is there a way to do this without copied and pasted code? * eel/eel-types.c: (eel_type_init): Change name to EEL_TYPE_N_BUILTINS. * test/Makefile.am: Turn on G_DISABLE_DEPRECATED, GDK_DISABLE_DEPRECATED, GTK_DISABLE_DEPRECATED, GNOME_DISABLE_DEPRECATED. * test/test-eel-background.c: (main): Turn of GtkCTree code that was already half-disabled. * test/test-eel-canvas-items.c: (item_event), (setup_item), (create_canvas_items), (create_canvas): gtk_signal_connect -> g_signal_connect. Remove some colormap stuff. gtk_widget_set_usize -> gtk_widget_set_size_request. gtk_window_set_policy -> gtk_window_set_resizable. * test/test-eel-gtk-style.c: (color_box_expose_event): gdk_gc_unref -> g_object_unref. (pixmap_box_expose_event): gdk_window_get_size -> gdk_drawable_get_size. * test/test.c: (test_window_new): gtk_window_set_policy -> gtk_window_set_resizable 2002-02-06 Michael Meeks * eel/eel-wrap-table.c (eel_wrap_table_class_init), (eel_wrap_table_set_property), (eel_wrap_table_get_property): ditto * eel/makeenums.pl (parse_entries): output GEnumValue not GtkEnumValue - this should use glib-mkenums though. * eel/eel-gtk-extensions.c (eel_gtk_signal_connect_full_while_alive), (eel_gtk_signal_connect_free_data_custom): port deprecated bits. (eel_gtk_class_name_make_like_existing_type): remove - unused & not portable. * eel/eel-gnome-extensions.c (eel_gnome_icon_selector_new): remove all deprecated bits. * eel/eel-dateedit-extensions.c (eel_gnome_date_edit_get_date_as_string): ditto. * eel/eel-labeled-image.c (eel_labeled_image_class_init), (eel_labeled_image_set_property), (eel_labeled_image_get_property), (eel_labeled_image_check_button_new): ditto. * eel/eel-preferences-item.c (preferences_item_update_displayed_value), (preferences_item_update_displayed_value): ditto. * eel/eel-stock-dialogs.c (timed_wait_callback): ditto. 2002-02-05 Michael Meeks * eel/eel-dateedit-extensions.c (eel_gnome_date_edit_get_date_as_string): add deprecated comment. * eel/eel-background.c (eel_background_reset), (eel_background_set_color), (eel_get_widget_background), (eel_background_set_image_placement), (eel_background_load_image_callback), (eel_background_cancel_loading_image), (eel_background_set_image_uri_helper), (set_image_and_color_image_loading_done_callback), (eel_background_class_init): build with deprecated things disabled. * eel/eel-radio-button-group.c (eel_radio_button_group_class_init): ditto. * eel/eel-preferences-item.c (preferences_item_update_custom), (eel_preferences_item_set_description): ditto. * eel/eel-caption-table.c (eel_caption_table_class_init, entry_activate), (eel_caption_table_resize): ditto. * eel/eel-password-dialog.c (eel_password_dialog_new): ditto. * eel/eel-gtk-extensions.c (handle_standard_close_accelerator), (eel_gtk_menu_set_item_visibility), (alive_disconnecter), (eel_gtk_signal_connect_while_realized): ditto. * eel/eel-gnome-extensions.c (try_terminal_command), (eel_gnome_icon_selector_new): ditto. * eel/eel-ellipsizing-label.c (eel_ellipsizing_label_new): ditto. * eel/eel-text-caption.c (eel_text_caption_class_init), (eel_text_caption_set_editable), (eel_text_caption_init, eel_text_caption_init): ditto. * eel/eel-string-picker.c (eel_string_picker_class_init): ditto. * eel/eel-stock-dialogs.c (timed_wait_delayed_close_timeout_callback), (eel_show_info_dialog_with_details), (delete_event_callback): ditto. 2002-02-05 Darin Adler * eel/eel-clist.c: Remove. * eel/eel-clist.h: Remove. * eel/eel-ctree.c: Remove. * eel/eel-ctree.h: Remove. * eel/eel-dnd.c: Move back into Nemo. * eel/eel-dnd.h: Move back into Nemo. * eel/eel-list-column-title.c: Remove. * eel/eel-list-column-title.h: Remove. * eel/eel-list.c: Remove. * eel/eel-list.h: Remove. * eel/eel.h: Housekeeping. * eel/Makefile.am: Housekeeping. ==== eel 1.1.3 ==== 2002-02-04 Darin Adler * NEWS: Update for 1.1.3. * .cvsignore: Don't ignore the tarballs. * eel/eel-pango-extensions.c: (eel_string_ellipsize_middle): * eel/eel-wrap-table.c: (wrap_table_layout): Fixes to make things compile with gcc 3.0.2, based on a patch contributed by Anush . 2002-02-04 Laszlo Peter * COPYING: change to LGPL * eel/eel-background-style.c eel/eel-background-style.h eel/eel-background.c eel/eel-background.h eel/eel-dateedit-extensions.c eel/eel-dateedit-extensions.h eel/eel-debug-drawing.c eel/eel-debug-drawing.h eel/eel-debug.c eel/eel-debug.h eel/eel-enumeration.c eel/eel-enumeration.h eel/eel-graphic-effects.h eel/eel-gtk-macros.h eel/eel-lib-self-check-functions.c eel/eel-lib-self-check-functions.h eel/eel-list-column-title.c eel/eel-list-column-title.h eel/eel-region.c eel/eel-region.h eel/eel-self-checks.c eel/eel-self-checks.h eel/eel-string-list.c eel/eel-string-list.h: correct licensing information in the headers by permission of the Copyright holders. Mon Feb 4 11:24:21 2002 Owen Taylor * eel/eel-gnome-extensions.c (dialog_response_callback): Labels need a statement after them. (Fixes -Werror problem with recent GCC.) 2002-01-30 Darin Adler * eel/eel-preferences-item.h: * eel/eel-preferences-item.c: (preferences_item_update_font), (font_changed_callback), (preferences_item_create_font), (eel_preferences_item_new), (preferences_item_update_displayed_value), (eel_preferences_item_set_description): Make EEL_PREFERENCE_ITEM_FONT use the Eel font picker, and get rid of all support for EEL_PREFERENCE_ITEM_SMOOTH_FONT. 2002-01-30 Darin Adler * configure.in: Bump to 1.1.3 since we have an API change. * eel/eel-dnd.h: start_x and start_y are in window coordinates, not world coordinates. * eel/eel-gnome-extensions.h: * eel/eel-gnome-extensions.c: (eel_gnome_canvas_world_to_canvas_window_rectangle): New. (eel_gnome_canvas_canvas_window_to_world): New. (eel_gnome_canvas_world_to_canvas_window): New. ==== eel 1.1.2 ==== 2002-01-29 Darin Adler * eel/eel-pango-extensions.c: (eel_self_check_ellipsize), (eel_self_check_pango_extensions): Turn off ellipsizing self-checks because they are failing for me. 2002-01-29 Darin Adler * NEWS: Update for 1.1.2 release. 2002-01-28 Gediminas Paulauskas * eel/eel-glib-extensions.c, eel/eel-glib-extensions.h: (eel_g_list_copy): remove, it was moved into glib. * eel/eel-gtk-extensions.c, eel/eel-gtk-extensions.h: (eel_gtk_window_present): remove, it was moved into gtk+. 2002-01-28 Darin Adler * eel/Makefile.am: Use LC_ALL instead of LC_COLLATE. * eel/eel-gnome-extensions.c: (eel_gnome_canvas_item_send_behind): Oops, it was sending things in front. 2002-01-27 Anders Carlsson * eel/eel-stock-dialogs.c (eel_run_simple_dialog): Start with a response id that is 0. 2002-01-27 Darin Adler * eel/eel-gnome-extensions.h: * eel/eel-gnome-extensions.c: (eel_gnome_canvas_item_send_behind): New. 2002-01-27 Alexander Larsson * acconfig.h: Add HAVE_RENDER * configure.in: Add checks for Xrender * eel/Makefile.am: Add RENDER_LIBS and eel-canvas-rect.[ch] * eel/eel-canvas-rect.[ch]: New type EelCanvasRect. Implemented for the Nemo selection rectangle. * eel/eel-lib-self-check-functions.h: Add eel_self_check_canvas_rect to list of tests * test/test-eel-canvas-items.c: Add a test of the eel canvas items. * test/Makefile.am: Build test-eel-canvas-items 2002-01-24 Darin Adler * eel/eel-pango-extensions.h: * eel/eel-pango-extensions.c: (eel_pango_ft2_get_context): New. * eel/eel-gtk-extensions.c: (create_pango_ft2_context): Use the new eel_pango_ft2_get_context. 2002-01-23 Peteris Krisjanis * eel/configure.in: added lv to ALL_LINGUAS 2002-01-22 Darin Adler * eel/eel-font-picker.c: (font_picker_get_index_for_font): Handle NULL family_name. 2002-01-21 Darin Adler * eel/eel-font-picker.h: * eel/eel-font-picker.c: * test/test-eel-font-picker.c: Rewrite to use Pango -- first cut, not done yet. * eel/eel-preferences-item.c: (preferences_item_create_smooth_font): Pass NULL for the PangoContext. 2002-01-19 Gediminas Paulauskas * eel/eel-glib-extensions.c: (eel_strdup_strftime): Convert format string into locale encoding at start, and convert back into utf-8 the result. 2002-01-19 Darin Adler * test/test-eel-gtk-style.c: (style_get_color), (style_get_gc): Fix mistake in that last change that didn't compile. 2002-01-19 Darin Adler * test/test-eel-gtk-style.c: (style_get_color), (style_get_gc): Tweak code so gcc 3.x doesn't give warnings. 2002-01-18 Darin Adler * TODO: Remove some already-done items. * eel/check-program.c: (main): Use the new eel_debug_shut_down. * eel/eel-debug.h: * eel/eel-debug.c: (eel_debug_shut_down), (eel_debug_call_at_shutdown), (eel_debug_call_at_shutdown_with_data): New. * eel/eel-debug-drawing.c: (eel_debug_show_pixbuf): * eel/eel-enumeration.c: (enumeration_table_get): * eel/eel-font-picker.c: (global_font_list_get): * eel/eel-gconf-extensions.c: (eel_gconf_client_get_global): * eel/eel-gdk-pixbuf-extensions.c: (eel_gdk_pixbuf_get_global_buffer): * eel/eel-glib-extensions.c: (eel_g_hash_table_new_free_at_exit): * eel/eel-preferences.c: (preferences_global_table_get_global): Switch from g_atexit to eel_debug_call_at_shutdown. * eel/eel-image-table.h: * eel/eel-image-table.c: (eel_image_table_class_init), (eel_image_table_init), (eel_image_table_new): Get rid of set_is_smooth signal, eel_image_table_set_is_smooth, and use of eel_smooth_widget calls. * eel/eel-image-with-background.c: Remove. * eel/eel-image-with-background.h: Remove. * eel/eel-image.c: Remove. * eel/eel-image.h: Remove. * eel/eel-smooth-widget.c: Remove. * eel/eel-smooth-widget.h: Remove. * eel/eel-viewport.c: Remove. * eel/eel-viewport.h: Remove. * eel/Makefile.am: Kill eel-image-with-background.[ch], eel-image.[ch], eel-smooth-widget.[ch], eel-viewport.[ch]. * eel/eel.h: Ditto. * eel/eel-labeled-image.c: (eel_labeled_image_get_arg), (eel_labeled_image_add), (eel_labeled_image_remove), (labeled_image_ensure_image), (eel_labeled_image_set_pixbuf), (eel_labeled_image_set_pixbuf_from_file_name): Port from EelImage to GtkImage. * eel/eel-radio-button-group.c: (eel_radio_button_group_set_entry_pixbuf): Port from EelImage to GtkImage. * test/test-eel-image-table.c: (image_table_new_scrolled): Port from EelViewport to GtkViewport. * THANKS: Fix typo. * eel/eel-wrap-table.c: Fix comment format. * test/test-eel-image-background.c: Remove. * test/test-eel-image-simple.c: Remove. * test/test-eel-viewport-constraint.c: Remove. * test/.cvsignore: Remove obsolete tests. * test/Makefile.am: Remove obsolete tests. * test/test-eel-image-chooser.c: (main): Remove eel_smooth_widget call. * test/test.c: Remove EelImage code. 2002-01-17 Darin Adler * eel/eel-pango-extensions.c: (eel_pango_layout_set_text_ellipsized): Soften an assert to a g_return. 2002-01-17 Darin Adler * eel/Makefile.am: Fix parallel builds by getting rid of an ill-advised use of a full path to the library. * eel/eel-pango-extensions.c: (eel_string_ellipsize_start), (eel_string_ellipsize_end): These were reversed. * test/.cvsignore: test-eel-ellipsizing 2002-01-17 Anders Carlsson * eel/eel-cell-renderer-pixbuf-list.h: Fix warning. * eel/Makefile.am: Add eel-cell-renderer-pixbuf-list.[ch] * eel/eel-background-style.c: (eel_background_style_draw_flat_box): Special case GtkTreeView. * eel/eel-cell-renderer-pixbuf-list.c: * eel/eel-cell-renderer-pixbuf-list.h: Add these. * eel/eel-stock-dialogs.c: (show_ok_dialog): Set default response to GTK_RESPONSE_OK. 2002-01-16 Darin Adler * configure.in: Bump version to 1.1.2. 2002-01-16 Darin Adler * eel/eel-gdk-pixbuf-extensions.c: (eel_gdk_pixbuf_draw_layout): Fix case where clipped height or width turns out to be 0. * eel/eel-gtk-macros.h: Remove some unused macros, deprecate others. * eel/eel-pango-extensions.c: Remove extra include. * eel/eel-preferences-box.c: (eel_preferences_dialog_new): Don't try to eel_gtk_window_set_up_close_accelerator, since it's a dialog that already has a close accelerator. 2002-01-11 Havoc Pennington * eel/eel.h: add eel-pango-extensions.h * eel/eel-pango-extensions.c (eel_pango_layout_set_text_ellipsized): put ellipsize code back in here and port to Pango * eel/eel-ellipsizing-label.c: re-enable ellipsization in the widget, change bad hack implementation to different bad hack implementation to avoid queueing a resize in size_allocate (real_style_set): remove style_set handler because it results in a queue_resize anyway (real_size_allocate): auto-select ellipsize mode based on label alignment ==== eel 1.1.1 ==== 2002-01-15 Darin Adler * NEWS: Get ready for eel 1.1.1 release. * eel/Makefile.am: Fix makeenums.pl stuff so it works when srcdir != destdir. 2002-01-15 Darin Adler * eel/eel-gtk-extensions.c: (create_pango_ft2_context): Tiny tweak to the code -- makes it more readable, I think. 2002-01-09 Alexander Larsson * eel/eel-gtk-extensions.c (create_pango_ft2_context): Copy the font description from the base_context. Thu Jan 10 10:53:52 2002 Owen Taylor * eel/eel-gnome-extensions.c (eel_gnome_canvas_world_to_window_rectangle): Remove unused variable so things compile. 2002-01-09 Darin Adler * eel/eel-gnome-extensions.h: * eel/eel-gnome-extensions.c: Remove gnome_win_hints_*. * eel/eel-list.c: (eel_list_destroy): Something I missed in the last change -- forgot to NULL out details. 2002-01-09 Darin Adler * eel/eel-list.c: (eel_list_destroy), (unschedule_keyboard_row_reveal): Protect against double destroys, but do it in an inelegant way, which shouldn't matter, since we plan to remove this class. 2002-01-09 Darin Adler * eel/eel-gdk-font-extensions.c: Remove. * eel/eel-gdk-font-extensions.h: Remove. 2002-01-08 Darin Adler * eel/Makefile.am: * eel/eel-ctree.c: * eel/eel-ellipsizing-label.c: * eel/eel-lib-self-check-functions.h: * eel/eel-list.c: * eel/eel.h: Remove eel-gdk-font-extensions.[ch] * eel/eel-clist.h: Fix some overzealous global replace. * eel/eel-gobject-extensions.c: (eel_signal_connect_object_while_alive), (eel_signal_connect_while_alive): Add some more g_return_if_fail. * eel/eel-gtk-extensions.h: * eel/eel-gtk-extensions.c: (eel_gtk_label_set_scale): New. (eel_gtk_widget_set_foreground_color): Set text color too. * eel/eel-image-table.c: * eel/eel-image.c: * eel/eel-labeled-image.c: Add includes needed now that eel-gtk-extensions doesn't include gtkclist.h or gtkpixmap.h any more. * eel/eel-pango-extensions.h: * eel/eel-pango-extensions.c: (eel_pango_attr_list_copy_or_create), (eel_pango_attr_list_apply_global_attribute): New helper functions used by the eel_gtk_label_set_scale and the other code in here. (apply_global_attribute): New name for an old function. (eel_pango_layout_set_weight): New. * eel/eel-wrap-table.c: (eel_wrap_table_class_init): Don't add the enums, since we just get lots of complaints and we don't really use them right now. 2002-01-05 Christian Rose * configure.in: Added "ms" to ALL_LINGUAS. 2002-01-04 Havoc Pennington * eel/eel-gconf-extensions.c (eel_gconf_monitor_add): don't do the recursive preload here, too much stuff in /apps/nemo it seems like. Rely on explicit preloads in other code. * eel/eel-font-picker.c (font_picker_get_selected_style_entry): add FIXME and GNOME2_CONVERSION_COMPLETE for similar option_menu->menu_item issue * eel/eel-string-picker.c (eel_string_picker_get_selected_string): use gtk_option_menu_get_history() instead of setting item index as object data - option_menu->menu_item is no longer non-NULL apparently, when we want it to be. * eel/eel-gconf-extensions.c (eel_gconf_value_get_eel_string_list): add a function to get an EelStringList * eel/eel-preferences-item.c (preferences_item_create_enumeration_list): use emergency fallback instead of default for deciding on number of string pickers * eel/eel-graphic-effects.c: don't include art_config.h, it ended up being included twice and has no include guards * eel/eel-preferences.c: remove user levels, remove concept of installing defaults here, never "fix" invalid values in gconf database (as we did when a list of enum values was invalid), don't bother to cache values since GConfClient does already, remove callbacks_blocked which incorrectly relied on synchronicity/non-reentrancy of gconf, don't store the default value, remove all suggest_sync (eel_preferences_set_emergency_fallback): new function to replace setting defaults (eel_preferences_get_emergency_fallback): getter * eel/eel-gconf-extensions.c (eel_gconf_preload_cache): New function to allow us to get a bunch of GConf data in a single round trip (eel_gconf_get_default_value): new function to get the default from the schema 2002-01-04 Darin Adler * HACKING: Update. * NEWS: Update. * README: Update. * TODO: Update. * MAINTAINERS: Update. * Makefile.shared: Remove. * configure.in: Clean up. Update requirements. * eel-2.0.pc.in: Remove bogus bonobo-activation dependency. * eel.spec.in: Remove bogus oaf dependency. * eel/Makefile.am: Do CFLAGS and LIBS a new better way. * test/Makefile.am: Change name of CFLAGS. * eel/eel-graphic-effects.c: Get rid of extra include. 2002-01-04 Anders Carlsson * eel/eel-gdk-extensions.c (eel_gdk_rgb_to_color): Fix up color conversion routines, as suggested by Darin. (eel_self_check_gdk_rgb_to_color): Add debug function. (eel_gdk_color_as_hex_string): Print all 48 bits of the color. (eel_self_check_gdk_extensions): Add some tests for eel_gdk_rgb_to_color. 2002-01-03 Darin Adler * test/Makefile.am: * test/test-eel-font-picker.c: (main): Loose ends from removing EelFontManager. 2002-01-03 Darin Adler * eel/eel-gnome-extensions.c: (get_terminal_command_prefix): Port to use libgnome to get terminal choice from GConf. * eel/Makefile.am: * eel/eel-font-manager.c: Remove. * eel/eel-font-manager.h: Remove. * eel/eel-font-picker.c: * eel/eel-lib-self-check-functions.h: * eel/eel.h: * test/.cvsignore: * test/Makefile.am: * test/test-eel-font-manager.c: Remove. * test/test-eel-font-picker.c: (main): Remove EelFontManager. 2002-01-03 Darin Adler * RENAMING: Lets take those "-extensions" off the names of all the header files, since "eel" already contains the concept that it's "extensions". I'll probably do this soon since I have the access to do the CVS magic now. * eel/eel-gnome-extensions.c: (eel_gnome_stock_set_icon_or_register): Remove. * eel/eel-gtk-extensions.c: (eel_gtk_window_is_on_current_workspace_and_area) Remove. * eel/eel-gdk-font-extensions.c: (xlfd_string_get_nth_as_int): * eel/eel-preferences-item.c: (update_integer_settings_at_idle): * eel/eel-string.c: (eel_eat_str_to_int) (eel_self_check_string): * eel/eel-string.h: * test/test.c: (test_text_caption_get_text_as_int): Death to eel_eat_str_to_int. I basically can't face Owen in public when I know that I have an interface like that in code that I wrote. 2002-01-03 Anders Carlsson * eel/eel-pango-extensions.c * eel/eel-pango-extensions.h (eel_pango_layout_set_font_desc): Remove this function since pango_layout_set_font_description does the same thing and better. 2002-01-03 Darin Adler * eel/Makefile.am: * eel/eel-canvas-rect.c: Removed. * eel/eel-canvas-rect.h: Removed. * eel/eel-lib-self-check-functions.h: Bye for now to EelCanvasRect. If we do this optimization, it should be in libgnomecanvas itself. * eel/eel-font-picker.c: (font_picker_populate), (global_font_list_free), (global_font_list_get), (font_picker_find_entries_for_font): Hack to get rid of asserts about empty font list. This is a short term solution. Long term we have to decide what we are going to offer for choosing fonts. 2002-01-03 Darin Adler * eel/eel-graphic-effects.c: Fix the include. It's not legal to include art_config.h directly. I added an art_misc.h include so that things will work with older libart and people won't get confused. * data/.cvsignore: * data/fonts/.cvsignore: * data/fonts/urw/.cvsignore: Re-remove these. Michael added them back in rather than deleting the obsolete files. * test/.cvsignore: Re-remove the obsolete entries in here. Again, Michael added these back in rather than deleting the obsolete files in his directory. 2002-01-03 Michael Meeks * eel/eel-gdk-pixbuf-extensions.c (eel_gdk_pixbuf_save_to_file): use gdk-pixbuf's save code. * eel/eel-graphic-effects.c: add art_config.h include. * eel/eel-font-manager.c: use DATADIR not EEL_DATADIR. 2002-01-03 Anders Carlsson * eel/eel-pango-extensions.h: * eel/eel-pango-extensions.c: Use the API Darin suggested instead since that makes more sense. 2002-01-02 Darin Adler * configure.in: Remove unused libpng code. * eel.spec.in: Remove libpng, fonts, and librsvg. 2002-01-02 Darin Adler * Makefile.am: * configure.in: * data/: Remove all of the data, since it was fonts that are not needed any more. * configure.in: * eel-2.0.pc.in: Remove dependency on librsvg. * eel/Makefile.am: * eel/eel-font-picker.h: * eel/eel-glyph.c: Removed. * eel/eel-glyph.h: Removed. * eel/eel-label.c: Removed. * eel/eel-label.h: Removed. * eel/eel-lib-self-check-functions.h: * eel/eel-scalable-font-private.h: Removed. * eel/eel-scalable-font.c: Removed. * eel/eel-scalable-font.h: Removed. * eel/eel-smooth-text-layout.c: Removed. * eel/eel-smooth-text-layout.h: Removed. * eel/eel.h: * test/test-eel-font-manager.c: * test/test-eel-font-picker.c: (update_font), (font_changed_update_label_callback), (use_defalt_font_callback), (use_defalt_bold_font_callback), (main): * test/test-eel-gtk-style.c: * test/test-eel-image-scrolled.c: (toggle_smooth_callback), (label_window_new), (label_window_new_scrolled): Remove eel-glyph, eel-label, eel-scalable-font, eel-smooth-text-layout. * eel/eel-graphic-effects.c: Remove incorrect art_config.h include. * eel/eel-labeled-image.c: (eel_labeled_image_add), (eel_labeled_image_remove), (labeled_image_ensure_label), (eel_labeled_image_set_text), (eel_labeled_image_get_text): * test/test-eel-viewport-constraint.c: (summary_view_item_label_new): Port to GtkLabel from EelLabel. * test/.cvsignore: * test/Makefile.am: * test/test-eel-font-simple.c: Remove. * test/test-eel-font.c: Remove. * test/test-eel-glyph-simple.c: Remove. * test/test-eel-glyph.c: Remove. * test/test-eel-label-flavorful.c: Remove. * test/test-eel-label-offset.c: Remove. * test/test-eel-label-scrolled.c: Remove. * test/test-eel-label-simple.c: Remove. * test/test-eel-label-wrapped.c: Remove. * test/test-eel-label.c: Remove. * test/test-eel-smooth-text-layout.c: Remove. Remove test-eel-font*, test-eel-glyph*, test-eel-label*. * test/test.h: * test/test-eel-pixbuf-tile.c: Change test includes around a tiny bit. 2002-01-02 Darin Adler * eel/Makefile.am: * eel/eel-clickable-image.c: * eel/eel-clickable-image.h: * eel/eel-label-with-background.c: * eel/eel-label-with-background.h: * eel/eel-lib-self-check-functions.h: * eel/eel-smooth-text-layout-cache.c: * eel/eel-smooth-text-layout-cache.h: * eel/eel.h: * test/test-eel-clickable-image.c: * test/test-eel-label-background.c: * test/Makefile.am: * test/test.c: Delete some unused classes and files. More to come. * eel/eel-ellipsizing-label.c: (real_finalize), (eel_ellipsizing_label_class_init): Use finalize instead of destroy. * eel/eel-labeled-image.c: * eel/eel-labeled-image.h: * test/test-eel-image-table.c: (labeled_image_new): Remove some unused functions that are hard to implement with GtkLabel (instead of EelLabel). 2002-01-02 Darin Adler * eel/eel-gdk-pixbuf-extensions.c: (eel_gdk_pixbuf_draw_layout): Clip the ink_rect to what will fit in the buffer. This prevents problems with gdk_pixbuf_composite, which doesn't help us with clipping at all. 2002-01-02 Darin Adler * eel/eel-gnome-extensions.c: (eel_gnome_canvas_get_pango_context): * eel/eel-gtk-extensions.h: * eel/eel-gtk-extensions.c: (create_pango_ft2_context), (eel_gtk_widget_get_pango_ft2_context): Add new function to get a freetype2 context for drawing on the client side. Code moved from the canvas-specific function that was in here before. 2002-01-02 Frederic Crozat * eel/eel-background.c: (eel_background_ensure_image_scaled), (eel_background_start_loading_image), (eel_background_set_image_uri_helper), (eel_background_set_image_uri), (eel_background_set_image_uri_sync), (eel_background_set_image_uri_and_color): * eel/eel-background.h: Add support for synchronous loading of image (needed to fix flash when starting Nemo desktop) 2002-01-02 Anders Carlsson * eel/eel-image-chooser.c: Use gtk_tree_model_get instead of gtk_tree_model_get_value; this simplifies a lot since we don't need to fool around with GValues. 2002-01-01 Anders Carlsson * test/test-eel-image-chooser.c: Update picture paths. * eel/eel-pango-extensions.h: New file. * eel/eel-pango-extensions.c: New file. * eel/eel-vfs-extensions.c (eel_read_file_async): Fix the argument order. * eel/eel-text-caption.c (eel_text_caption_init): Call gtk_entry_set_activates_default. * eel/eel-radio-button-group.c (eel_radio_button_group_insert): Enable mnemonic support. * eel/eel-image-chooser.c: Rewrite to use GtkTreeView. * eel/eel-image-chooser.h: Inherit from GtkTreeView and remove an unused and unneeded API call. * eel/eel-caption.c (eel_caption_set_title_label): Use gtk_label_set_text_with_mnemonic instead. (eel_caption_set_child): Use gtk_label_set_mnemonic_widget. 2001-12-20 Darin Adler * eel/eel-gdk-pixbuf-extensions.c: (eel_gdk_pixbuf_draw_layout): Use ink_rect now that the pango bug that was plaguing me is fixed. * eel/eel-gnome-extensions.c: (create_pango_context_for_aa_canvas): Remove some unneeded casts. 2001-12-21 Duarte Loreto * configure.in: Added new pt translation to ALL_LINGUAS 2001-12-18 Michael Meeks * eel/eel-gconf-extensions.c (eel_gconf_monitor_add): recursively cache the GConf keys to reduce CORBA traffic. 2001-12-17 Darin Adler * eel/eel-gdk-pixbuf-extensions.c: (eel_gdk_pixbuf_draw_layout): Use the logical_rect to determine the left side. * eel/eel-debug.c: (eel_make_warnings_and_criticals_stop_in_debugger): Add GdkPixbuf. 2001-12-17 Darin Adler * eel/eel-gdk-pixbuf-extensions.h: * eel/eel-gdk-pixbuf-extensions.c: (eel_gdk_pixbuf_draw_layout): Simplified parameters. * eel/eel-debug.c: (eel_make_warnings_and_criticals_stop_in_debugger): Turn this back on. Michael turned it off by accident. 2001-12-13 Darin Adler * eel/eel-gdk-pixbuf-extensions.h: * eel/eel-gdk-pixbuf-extensions.c: (eel_draw_layout_to_pixbuf): New function for drawing with Pango. Seems to be agonizingly slow due to lack of cache, but I'm not sure if that's the problem. * eel/eel-gnome-extensions.h: * eel/eel-gnome-extensions.c: (create_pango_context_for_aa_canvas), (eel_gnome_canvas_get_pango_context): Helper function for getting the appropriate context when drawing to an anti-aliased GnomeCanvas. * eel/eel-gtk-extensions.c: Add an include that's needed now that I removed excess includes from eel-gnome-extensions.h. 2001-12-12 Michael Meeks * eel/eel-list-column-title.c (eel_list_column_title_paint): remove erroneous style unref. 2001-12-11 Laszlo Peter * eel/Makefile.am: add dependencies to fix building with make -j 2001-12-09 Anders Carlsson * eel/eel-caption-table.c: (eel_caption_table_resize), (eel_caption_table_set_row_info): Use gtk+ mnemonics. * eel/eel-gnome-extensions.c: (icon_selected_callback), (icon_cancel_pressed), (dialog_response_callback), (entry_activated), (eel_gnome_icon_selector_new): * eel/eel-gnome-extensions.h: Bring back the eel icon selector and remove the eel_dialog_get_button_by_index function. * eel/eel-password-dialog.c: (caption_table_activate_callback): Use gtk_window_activate_default instead of calling gtk_button_clicked on the ok button. (eel_password_dialog_new): Use mnemonics in the Username and Password labels. 2001-12-08 Michael Meeks * eel/eel-list.c: populate from stable & port * eel/eel-list-column-title.c: build it * eel/eel-clist.[ch]: cross port changes to Gtk+2.0's version of GtkCList. * eel/eel-ctree.[ch]: cross port changes to Gtk+2.0's version of GtkCTree. * eel/eelmarshal.list: add lots of marshallers. 2001-12-07 Darin Adler * eel/eel-art-extensions.c: (eel_art_irect_union): Add missing return. 2001-12-07 Laszlo Peter * eel/eel-art-extensions.c, eel/eel-debug-drawing.c: replace illegal uses of the ternary operator with if-else. * test/test-eel-clickable-image.c, test/test-eel-image-table.c: s/__FUNCTION__/G_GNUC_FUNCTION/ 2001-12-06 Darin Adler * lots of files Get rid of unneeded casts in calls to g_object_ref/unref. 2001-12-06 Darin Adler * eel/eel-debug.c: (log_handler): Remove the code that adds the program name and pid to each message. glib now has that built in if you set the G_MESSAGES_PREFIXED environment variable. * eel/eel-debug.h: * eel/eel-debug.c: (eel_make_warnings_and_criticals_stop_in_debugger), New strategy for the call that makes warnings and criticals stop in the debugger. We just use a hard-coded list of domains here in Eel, rather than asking the caller to pass in the list of domains. Forward looking to the day when we can do this without explicitly doing it for each domain. * eel/check-program.c: (main): * test/test.c: (test_init): Fix callers that no longer need to list the domains. 2001-11-30 Darin Adler * eel/Makefile.am: * eel/eel-background-style.c: * eel/eel-background-style.h: Create EelBackgroundStyle subclass for GtkStyle that implements gradients. This is a better version of a hack we used for Gtk 1.X. * eel/eel-background.c: (eel_background_set_widget_style): Use EelBackgroundStyle. (eel_self_check_background): Fix an unref/sink thing. * eel/eel-background.c: (eel_background_receive_dropped_color): * test/test-eel-image-background.c: (window_new_with_eel_background_gradient), (window_new_with_gtk_background_hacked): * test/test-eel-label-background.c: (window_new_with_eel_background_gradient), (window_new_with_gtk_background_hacked): * test/test-eel-label.c: (red_background_color_value_changed_callback), (green_background_color_value_changed_callback), (blue_background_color_value_changed_callback), (create_background_frame): * test/test-eel-viewport-constraint.c: (create_row): Change all rgb:RRRR/GGGG/BBBB to use #RRGGBB format instead. * eel/eel-gdk-extensions.h: Fix typo in name of unimplemented function. I should probably just delete it. * eel/eel-gdk-extensions.c: (eel_gdk_color_parse_with_white_default): Add placeholder for rgb: code, in case we need it. (eel_parse_rgb_with_white_default): Call eel_gdk_color_parse_with_white_default so we share code. (eel_gdk_rgb_to_color_spec): Create #RRGGBB format. (eel_gdk_color_as_hex_string): Create #RRGGBB format. (eel_self_check_gdk_extensions): Use #RRGGBB format. Tue Nov 20 20:26:25 2001 Owen Taylor * configure.in: Add [quoting] around AC_CHECK_HEADER needed by some autoconf versions. Mon Nov 19 17:34:16 2001 Jonathan Blandford * eel/eel-stock-dialogs.c (eel_run_simple_dialog): remove uneeded GTK_OBJECT_DESTROYED check. Patch from Gediminas Paulauskas * eel/check-program.c, eel/eel-debug.c, test/test.c: replace g_log_domain_glib with "Glib" * eel/eel-gobject-extensions.h: replace #include with glib-object.h 2001-11-09 Darin Adler * eel/eel-stock-dialogs.c: (show_ok_dialog), (eel_create_info_dialog), (eel_show_info_dialog), (details_dialog_response_callback): Destroy dialogs when the button is pushed. We still need to refine this further. 2001-11-08 Darin Adler * Tons of files. Removed many unneeded G_OBJECT casts. 2001-11-08 Darin Adler * eel/eel-stock-dialogs.h: * eel/eel-stock-dialogs.c: A cut at porting this all to GtkDialog. 2001-11-08 jacob berkman * configure.in: call ourselves eel rather than eel2, and use eel-2.0 for the gettext package name * acconfig.h: add GETTEXT_PACKAGE 2001-11-06 Darin Adler * eel/Makefile.am: * eel/eel-gobject-extensions.h: * eel/eel-gobject-extensions.c: (eel_signal_connect_object_while_alive), (eel_signal_connect_while_alive): Add new eel-gobject-extensions.[ch]. * Many of files. More Gtk->G changes. 2001-11-06 Darin Adler * Lots of files. More GtkObject -> GObject. 2001-11-06 Michael Meeks * eel/eel-gdk-pixbuf-extensions.c (free_pixbuf_load_handle): do a g_object_unref not an unref. 2001-11-03 Darin Adler * Tons of files: A bit more GtkObject -> GObject conversion. 2001-11-03 Darin Adler * eel/eel-gtk-macros.h: Ref the parent class instead of just peeking at it. 2001-11-03 Darin Adler * eel/eel-preferences.c: (preferences_while_alive_disconnector), (eel_preferences_add_callback_while_alive): * eel/eel-preferences.h: Change eel_preferences_add_callback_while_alive to work with any GObject, not just a GtkObject. * eel/eel-preferences-box.c: (eel_preferences_box_init): * eel/eel-preferences-item.c: (preferences_item_set_main_child): * eel/eel-preferences-pane.c: (eel_preferences_pane_init), (eel_preferences_pane_add_control_preference): Update callers. 2001-11-03 Darin Adler * eel/eel-gtk-macros.h: Another update to the boilerplate macros. I also decided to do a name change to take out the word "DEFINE". * Many files. Update for name change. 2001-11-01 Havoc Pennington * eel/eel-gtk-extensions.c (eel_gtk_window_get_geometry_string): new function to replace gnome_geometry_string 2001-11-01 Darin Adler * eel/eel-gtk-macros.h: When I fixed the comma in my copy, I made some formatting changes. 2001-11-01 Havoc Pennington * eel/eel-gtk-macros.h (EEL_DEFINE_BONOBO_BOILERPLATE): add missing comma * test/test-eel-label-simple.c (use_system_font_callback): adapt to not use eel_widget_set_font(), and add note about how the use of eel_gtk_get_system_font() here is broken and is only for testing purposes and no one should copy it. * eel/eel-gtk-extensions.c (eel_gtk_window_present): that one was easy (eel_gtk_widget_set_font_by_name): port to GTK 2 (eel_gtk_label_make_bold): port to GTK 2 (eel_gtk_label_make_larger): port and note in docs that it's broken (eel_gtk_label_make_smaller): port and note in docs that it's broken (eel_gtk_widget_set_background_color): do this properly (eel_gtk_widget_set_foreground_color): ditto (eel_get_current_event_time): remove, just use gtk_get_current_event_time() (eel_drag_set_icon_pixbuf): remove, just use gtk_drag_set_icon_pixbuf() (eel_gtk_widget_standard_draw): delete, there is no draw method anymore (eel_gtk_pixmap_new_empty): make this less lame (eel_nullify_when_destroyed): work on GObject, use g_object_add_weak_pointer() (eel_nullify_cancel): corresponding change (eel_gtk_widget_set_font): remove, just use gtk_widget_modify_font() (eel_gtk_style_set_font): delete, this was totally broken; I don't know what it's for but we have to do it a different way (eel_gtk_menu_insert_separator): use GtkSeparatorMenuItem! woo-hoo! also, remove setting it insensitive, this will be fixed before 2.0 so it isn't required (EEL_STANDARD_BUTTON_PADDING): remove, should fix in GTK if we are going to fix it (eel_gtk_button_auto_click): remove, use gtk_widget_activate() (eel_gtk_button_set_standard_padding): remove, should not be used (activate_button_on_double_click): use gtk_widget_activate() instead of eel_gtk_button_auto_click() (eel_gtk_window_set_initial_geometry): use gtk_window_move() instead of gtk_widget_set_uposition() (eel_gtk_window_set_up_close_accelerator): make it whine if you use it on GtkDialog, since that breaks the standard GtkDialog close accelerators (eel_popup_menu_position_func): remove obsolete FIXME about GdkPoint using gint16 * eel/eel-gdk-extensions.c (eel_gdk_window_set_invisible_cursor): port to GTK 2 (not sure why it used Xlib before) * eel/eel-dnd.c (eel_drag_drop_action_ask): port to GTK 2 2001-11-01 Darin Adler * eel/eel-gtk-macros.h: Oops, need to pass init and fini functions in to bonobo_type_unique. 2001-11-01 Darin Adler * configure.in: Remove some unused stuff. * eel/eel-gtk-macros.h: Fix boilerplate to work with GObject, not just GtkObject. Share code with the BonoboObject case too. 2001-10-29 Darin Adler * eel-2.0.pc.in: Add some Requires. 2001-10-29 Darin Adler * eel/Makefile.am: Fix typo. 2001-10-28 Darin Adler * configure.in: Fix comment, remove unnecessary direct pkgconfig macro since GNOME_PLATFORM_GNOME_2 takes care of htat. * many files: Since everyone else calls them class_init and init, renamed our initialize_class and initialize to match existing practice. * eel/eel-gtk-macros.h: Added EEL_DEFINE_BONOBO_BOILERPLATE. * eel/eel-xml-extensions.h: * eel/eel-xml-extensions.c: (eel_xml_remove_node): Remove this since xmlUnlinkNode is now implemented. 2001-10-27 jacob berkman * eel/eel-background.c (eel_background_start_loading_image): update to new vfs priority macro name 2001-10-22 Darin Adler * eel/eel-gdk-extensions.c: (eel_gdk_window_set_wm_protocols): * eel/eel-gdk-font-extensions.c: (eel_gdk_font_get_name): Fix for GdkAtom/XAtom change in gtk. 2001-10-20 Anders Carlsson * eel/eel-background.c: (eel_background_start_loading_image): * eel/eel-gdk-pixbuf-extensions.c: (eel_gdk_pixbuf_load_async): * eel/eel-gdk-pixbuf-extensions.h: * eel/eel-vfs-extensions.c: (eel_read_file_async), (eel_read_entire_file_async): * eel/eel-vfs-extensions.h: Update async eel functions using gnome-vfs to take a priority argument because of the recent priority changes in gnome-vfs. 2001-10-11 Ramiro Estrugo * eel/eel-clickable-image.c: (eel_clickable_image_new_solid): * eel/eel-image-chooser.c: (eel_image_chooser_insert_row): * eel/eel-image.c: (eel_image_initialize_class), (eel_image_initialize), (eel_image_finalize), (eel_image_set_arg), (eel_image_get_arg), (eel_image_size_request), (eel_image_expose_event), (eel_image_new_solid): * eel/eel-image.h: * eel/eel-label.c: (eel_label_initialize_class), (eel_label_initialize), (eel_label_finalize), (eel_label_set_arg), (eel_label_get_arg), (eel_label_size_request), (label_paint), (paint_label_smooth), (paint_label_smooth_cached), (eel_label_expose_event), (label_can_cache_contents), (eel_label_new_solid): * eel/eel-label.h: * eel/eel-labeled-image.c: (eel_labeled_image_make_smaller): * eel/eel-labeled-image.h: * eel/eel-smooth-widget.c: (eel_smooth_widget_paint), (eel_smooth_widget_get_preferred_dimensions): * eel/eel-smooth-widget.h: * test/.cvsignore: * test/Makefile.am: * test/test-eel-image-background.c: (window_new_with_eel_background_image), (window_new_with_eel_background_gradient), (window_new_with_gtk_background), (window_new_with_gtk_background_hacked), (window_new_with_solid_background): * test/test-eel-image-simple.c: (image_window_new), (main): * test/test-eel-image-tile.c: * test/test-eel-image.c: * test/test-eel-label-background.c: (window_new_with_eel_background_image), (window_new_with_eel_background_gradient), (window_new_with_gtk_background), (window_new_with_gtk_background_hacked), (window_new_with_solid_background): * test/test-eel-label-scrolled.c: (label_window_new), (label_window_new_scrolled), (label_window_new_table): * test/test-eel-labeled-image.c: (main): * test/test-eel-viewport-constraint.c: (create_eel_label): * test/test.c: (test_image_new), (test_label_new): * test/test.h: Lose the "tile" feature of EelImage and EelLabel. The short story is that this code is unnecessary. Losing it makes the widgets simpler and should make the transition to using GtkImage from Gtk+ 2.0 a little easier. Blame 70% Arlo 30% Ramiro for this "feature." 2001-10-10 Darin Adler * eel/eel-debug-drawing.c: * eel/eel-label.c: * eel/eel-smooth-text-layout.c: Mark functions static for proper namespace hygiene. 2001-10-02 Darin Adler * eel/eel-canvas-rect.c: (test_diff_rects): Change call to g_string_printfa to use g_string_append_printf. 2001-10-02 Darin Adler * .cvsignore: * Makefile.am: * configure.in: Remove use of xml-i18n-tools, since we don't have anything that we use it to localize. 2001-10-02 Darin Adler * eel/eel-background.c: (eel_background_is_dark): Remove extra factor of two that was making every background seem dark. 2001-10-01 Darin Adler Now that we are setting the translation domain properly to make _() use eel translations, we must use explicit gettext calls when we want application translations. * eel/eel-dnd.c: (eel_drag_drop_action_ask): Switch into the eel domain when calling gnome_popup_menu_new so we get the eel translations of the menu items. * eel/eel-enumeration.c: (eel_enumeration_get_nth_description_translated): * eel/eel-preferences-box.c: (preferences_box_populate_pane), (eel_preferences_box_populate): * eel/eel-xml-extensions.c: (eel_xml_get_property_translated): Use gettext, not _(), to translate strings passed from elsewhere. * eel/eel-preferences.c: (eel_preferences_get_user_level_name_for_display): Use _(), not gettext, to translate strings in this code. * eel/eel-gdk-font-extensions.c: Remove gnome-i18n.h include where it's not used. * configure.in: Remove unused @REBUILD@ stuff. * eel/eel-glib-extensions.c: Whitespace tweaks. 2001-09-28 Darin Adler * eel/eel-font-manager.c: (eel_self_check_font_manager): Cleaned up tests a bit. * eel/eel-string-list.c: (eel_self_check_string_list): Changed test results back now that g_strsplit behavior has been changed in glib. * configure.in: Bump required glib version to 1.3.9. 2001-09-28 Darin Adler Port from destroy to finalize. * eel/eel-background.c: (eel_background_initialize_class), (eel_background_finalize): * eel/eel-canvas-rect.c: (rect_finalize), (eel_canvas_rect_initialize_class): * eel/eel-caption-table.c: (eel_caption_table_initialize_class), (caption_table_finalize): * eel/eel-caption.c: (eel_caption_initialize_class), (eel_caption_finalize): * eel/eel-clickable-image.c: (eel_clickable_image_initialize_class), (eel_clickable_image_finalize): * eel/eel-debug-drawing.c: (debug_pixbuf_viewer_initialize_class), (debug_pixbuf_viewer_finalize): * eel/eel-font-picker.c: (eel_font_picker_initialize_class), (eel_font_picker_finalize): * eel/eel-gtk-extensions.c: (eel_gtk_style_set_font), (eel_gtk_widget_set_font), (eel_gtk_get_system_font): * eel/eel-gtk-extensions.h: * eel/eel-image-chooser.c: (eel_image_chooser_initialize_class), (eel_image_chooser_finalize), (eel_image_chooser_destroy): * eel/eel-image-table.c: (eel_image_table_initialize_class), (eel_image_table_finalize): * eel/eel-image.c: (eel_image_initialize_class), (eel_image_finalize): * eel/eel-label.c: (eel_label_initialize_class), (eel_label_finalize): * eel/eel-labeled-image.c: (eel_labeled_image_initialize_class), (eel_labeled_image_finalize): * eel/eel-list-column-title.c: (eel_list_column_title_initialize_class), (eel_list_column_title_finalize): * eel/eel-password-dialog.c: (eel_password_dialog_initialize_class), (eel_password_dialog_initialize), (eel_password_dialog_finalize), (eel_password_dialog_new): * eel/eel-preferences-box.c: (eel_preferences_box_initialize_class), (eel_preferences_box_finalize): * eel/eel-preferences-group.c: (eel_preferences_group_initialize_class), (eel_preferences_group_finalize): * eel/eel-preferences-item.c: (eel_preferences_item_initialize_class), (preferences_item_finalize): * eel/eel-preferences-pane.c: (eel_preferences_pane_initialize_class), (eel_preferences_pane_finalize): * eel/eel-radio-button-group.c: (eel_radio_button_group_initialize_class), (eel_radio_button_group_finalize): * eel/eel-scalable-font.c: (eel_scalable_font_initialize_class), (eel_scalable_font_finalize): * eel/eel-smooth-text-layout-cache.c: (eel_smooth_text_layout_cache_initialize_class), (eel_smooth_text_layout_cache_finalize): * eel/eel-smooth-text-layout.c: (eel_smooth_text_layout_initialize_class), (eel_smooth_text_layout_finalize): * eel/eel-string-picker.c: (eel_string_picker_initialize_class), (eel_string_picker_finalize): * eel/eel-text-caption.c: (eel_text_caption_initialize_class), (eel_text_caption_finalize): * eel/eel-viewport.c: (eel_viewport_initialize_class), (eel_viewport_finalize): * eel/eel-wrap-table.c: (eel_wrap_table_initialize_class), (eel_wrap_table_finalize): Replace destroy default handlers with finalize ones in most cases. In a few cases, divide an existing destroy handler into two pieces. * test/test-eel-label-flavorful.c: (decreasing_label_window_new): * test/test-eel-label-simple.c: (use_system_font_callback): Re-enable some test code. 2001-09-27 Darin Adler * test/test-eel-label-flavorful.c: (label_set_label_to_font_name): Oops. One more thing to fix in here. Use pango call. 2001-09-26 Darin Adler * eel/Makefile.am: Another pass. The last one was too simplistic. 2001-09-26 Darin Adler * configure.in: Get the path of glib-genmarshal. * eel/.cvsignore: * eel/Makefile.am: Fix up generated file build to be simpler. Most importantly, add the feature where it won't recompile everything every time any header changes. * eel/eel-gtk-extensions.h: * eel/eel-gtk-extensions.c: (eel_gtk_get_system_font): Wrote Pango version of this function. * test/test-eel-label-flavorful.c: (label_set_label_to_font_name): Reenabled some ifdef'd out code. 2001-09-19 Marius Andreiana * configure.in: Added ro (Romanian) to ALL_LINGUAS 2001-09-18 Darin Adler * eel/eel-gtk-extensions.h: * eel/eel-ellipsizing-label.c: (recompute_ellipsized_text): * eel/eel-gdk-pixbuf-extensions.c: (check_average_value): * eel/eel-gtk-extensions.c: (eel_gtk_widget_set_font_by_name), (eel_gtk_label_make_bold), (eel_gtk_label_make_larger), (eel_gtk_label_make_smaller): * test/test-eel-label-flavorful.c: (label_set_label_to_font_name): * test/test-eel-label-simple.c: (use_system_font_callback): Turned off a lot of GdkFont stuff so we can still compile. This highlights more of the gnome 2 conversion work that will be needed. 2001-09-17 Darin Adler * eel/eel-background.c: (eel_background_is_dark): Make this work with background images that are transparent or partly-transparent. It turns out this was another part of the problem with the default Nemo theme's text color. * eel/eel-gdk-pixbuf-extensions.h: * eel/eel-gdk-pixbuf-extensions.c: (eel_gdk_pixbuf_average_value): Fix bug that caused incorrect average values in pixbufs with more than about 66000 pixels. Alex Larsson found the problem and provided a fix that I used as a starting point. Also change algorithm so that it handles the alpha channel. Also made it use 64-bit arithmetic for simplicity -- hope that doesn't make it too slow. Also changed it to use an argb value instead of a GdkColor. (eel_gdk_pixbuf_intersect): Get rid of special case for eel_gdk_pixbuf_whole_pixbuf by making just using a wide-open rectangle instead. (check_average_value), (eel_self_check_gdk_pixbuf_extensions): Added some test cases for eel_gdk_pixbuf_average_value. 2001-09-08 Wang Jian * configure.in(ALL_LINGUAS): Added zh_CN for Simplified Chinese. 2001-09-07 Darin Adler * eel/eel-gdk-font-extensions.h: * eel/eel-gdk-font-extensions.c: (eel_gdk_font_get_italic), (eel_gdk_font_get_bold), (eel_gdk_font_get_larger), (eel_gdk_font_get_largest_fitting), (font_get_bold), (font_get_size_in_pixels): Call the new eel_gdk_font_get_name. (eel_gdk_font_get_name): Public version of font_get_name. Code stolen from gal used to get name from X. * test/test-eel-label-flavorful.c: (label_set_label_to_font_name): Call eel_gdk_font_get_name, remove font_get_name. 2001-09-07 Darin Adler * configure.in: Got rid of dependency on libgnomesupport. * eel/eel-gdk-font-extensions.c: (font_get_name): * test/test-eel-label-flavorful.c: (font_get_name): Disabled these until we can figure out what to do about them. 2001-09-03 Darin Adler * eel/check-program.c: (main): * test/test-eel-password-dialog.c: (main): * test/test-eel-widgets.c: (main): * test/test.c: (test_init): Use libgnomeui_module_info_get () instead of libgnomeui_module_info. 2001-09-01 Darin Adler * eel/eel-gtk-extensions.c: Remove include. 2001-09-01 Darin Adler * eel/eel-dnd.c: (is_path_that_gnome_uri_list_extract_filenames_can_parse): * eel/eel-font-manager.c: (font_description_table_add), (next_token): * eel/eel-glib-extensions.c: (eel_strdup_strftime): * eel/eel-string.c: (eel_istr_has_prefix), (eel_istr_has_suffix), (eel_str_to_int), (eel_str_capitalize): Oops! How did I miss all of these places that needed to use the new g_ascii_* calls? 2001-08-31 Darin Adler * eel/eel-background.c: * eel/eel-dnd.c: * eel/eel-font-manager.c: * eel/eel-glib-extensions.c: * eel/eel-list.c: * eel/eel-string.c: * eel/eel-vfs-extensions.c: (is_valid_scheme_character), (eel_make_uri_canonical): Get rid of all includes of and use non-locale-specific g_ascii_* calls from glib instead. 2001-08-31 Darin Adler Rolled change from stable eel-1-0 branch: * eel/eel-gtk-extensions.c: (eel_gtk_class_name_make_like_existing_type), (eel_gtk_get_system_font): Fix storage leaks by using gtk_object_sink to get rid of temporary widgets that are never parented instead of using gtk_object_destroy. 2001-08-31 Darin Adler * eel/eel-gtk-extensions.c: (eel_gtk_window_present): Get things compiling again by getting rid of code that uses gnome_win_hints (for now). 2001-08-31 Abel Cheung * configure.in (ALL_LINGUAS): zh_TW.Big5 -> zh_TW 2001-08-27 Darin Adler Rolled change from stable eel-1-0 branch: 2001-08-27 Alex Larsson * eel/eel-list-column-title.c (truncate_string): Fix elipsis truncation on multibyte locales. 2001-08-27 Anders Carlsson * eel/eel-font-manager.c (eel_self_check_font_manager): Remove unused original_current_dir variable. * eel/eel-canvas-rect.c (rect_update): Free our fill_svp if it exists. * eel/eel-gdk-font-extensions.c (xlfd_string_get_nth_as_int): Free strings returned by xlfd_string_get_nth. 2001-08-24 Darin Adler * configure.in: Require librsvg 1.1, not 1.1.0. * eel/eel-glyph.c: Use header from libart, not librsvg. 2001-08-22 Ramiro Estrugo Change from the stable eel-1-0 branch. * eel/eel-gconf-extensions.c: (eel_gconf_value_set_string_list): Fix leaks introduced in last checkin. 2001-08-22 Ramiro Estrugo Change from the stable eel-1-0 branch. * eel/eel-gconf-extensions.h: * eel/eel-gconf-extensions.c: (eel_gconf_is_default): Use value free cover that does its own not NULL checking. (eel_gconf_value_get_string_list), (eel_gconf_value_set_string_list): New function to deal with GConfValue lists of GNONF_VALUE_STRING type. * eel/eel-preferences.c: (preferences_gconf_value_get_int), (preferences_gconf_value_get_bool), (preferences_gconf_value_get_string), (preferences_gconf_value_get_string_list), (preferences_get_value), (preferences_preference_is_gconf_key), (preferences_key_make), (preferences_find_first_non_null_default_value), (eel_preferences_get_visible_user_level), (eel_preferences_set_visible_user_level), (eel_preferences_set_is_invisible), (eel_preferences_set_boolean), (eel_preferences_get_boolean), (eel_preferences_set_integer), (eel_preferences_get_integer), (eel_preferences_set), (eel_preferences_get), (eel_preferences_set_string_list), (eel_preferences_get_string_list), (eel_preferences_default_set_integer), (eel_preferences_default_get_integer), (eel_preferences_default_set_boolean), (eel_preferences_default_get_boolean), (eel_preferences_default_set_string), (eel_preferences_default_get_string), (eel_preferences_default_set_string_list), (eel_preferences_default_get_string_list), (preferences_entry_invoke_callbacks_if_needed), (preferences_entry_update_cached_value), (preferences_entry_ensure_gconf_connection), (preferences_entry_free), (preferences_global_table_free), (eel_preferences_add_callback), (eel_preferences_add_auto_string), (eel_preferences_add_auto_string_list), (eel_preferences_add_auto_integer), (eel_preferences_add_auto_boolean), (eel_preferences_remove_auto_string), (eel_preferences_remove_auto_string_list), (eel_preferences_remove_auto_integer), (eel_preferences_remove_auto_boolean), (preferences_while_alive_disconnector), (eel_preferences_add_callback_while_alive), (eel_preferences_remove_callback), (eel_preferences_set_description), (eel_preferences_set_enumeration_id), (eel_preferences_visible_in_current_user_level), (eel_preferences_initialize): Cleanup whacky system where preference visibilities and default values were stored using gconf. Instead, store the visibilities and defaults values in the already existing table of preferences. The changes make this code a bit simpler. In particular, the code to create the right keys is now gone. Add some covers for getting values out of GConfValue safely and with some extra checking the the types are right. 2001-08-21 Maciej Stachowiak Merge from stable branch: 2001-08-20 Maciej Stachowiak * eel/eel-clist.c: (eel_clist_set_column_justification, size_allocate_title_buttons): Try to remove some sources of crashing when EelList is used as a drop-in replacement for GtkCList. (Using EelCList directly still crashes). * eel/eel-list-column-title.c: (eel_list_column_title_paint): More potential crash reduction. * test/Makefile.am: Speed up the build a bit by removing some redundant libraries. * eel/Makefile.am: Likewise. 2001-08-21 Maciej Stachowiak * eel/eel-font-manager.c (collect_fonts_from_directory): Adjust to recent removal of filtering from gnome-vfs. 2001-08-21 Maciej Stachowiak Merge from eel-1-0 branch: 2001-07-20 Maciej Stachowiak * eel/eel-ctree.c: (draw_row): Fix bugzilla.eazel.com bug 8387 (Dragging elements to a folder entry should make it hilighted) by making the text of the drop target row bold in addition to making the icon darker. I think this looks a lot better. 2001-08-17 Darin Adler * eel/eel-gtk-extensions.c: Remove include of obsolete header. 2001-08-17 Ramiro Estrugo Change from the stable eel-1-0 branch. Make these widgets more useful outside Nemo by providing functions to change ui elements (such as titles and descriptions) as well iterators. These changes do not affect either binary or source compatibility for Nemo. * eel/eel-preferences-box.h: * eel/eel-preferences-box.c: (preferences_box_populate_pane), (eel_preferences_dialog_new), (eel_preferences_dialog_get_box), Add accessor for the preferences box of a dialog. (eel_preferences_dialog_populate), Separate the populate function out on its own. (eel_preferences_box_for_each_pane), New function for iterating panes. (eel_preferences_box_rename_pane), New function to rename a pane. (eel_preferences_box_get_pane_name): New function to find the name of a pane. * eel/eel-preferences-group.h: * eel/eel-preferences-group.c: (eel_preferences_group_set_title_label), New function for changing the title label of a group. (eel_preferences_group_for_each_item): New function for iterating items. * eel/eel-preferences-pane.h: * eel/eel-preferences-pane.c: (eel_preferences_pane_initialize), (eel_preferences_pane_destroy), (eel_preferences_pane_new), (eel_preferences_pane_add_group), (preferences_pane_get_max_caption_width), (eel_preferences_pane_update), (eel_preferences_pane_add_control_preference), Use more consistent paramter names. (eel_preferences_pane_for_each_group): New function for iterating groups. * eel/eel-preferences-item.h: * eel/eel-preferences-item.c: * eel/eelmarshal.list: (eel_preferences_item_initialize_class), (preferences_item_update_custom), (preferences_item_set_main_child), (preferences_item_create_enumeration_list), (preferences_item_create_boolean), (preferences_item_create_editable_string), (preferences_item_create_editable_integer), (preferences_item_create_enumeration_menu), (preferences_item_create_font), (preferences_item_create_smooth_font), (eel_preferences_item_get_name), (update_text_settings_at_idle), (preferences_item_update_text_settings_at_idle), (update_integer_settings_at_idle), (preferences_item_update_editable_integer_settings_at_idle), (preferences_item_update_description), (eel_preferences_item_set_control_preference), (eel_preferences_item_set_control_action), (preferences_item_get_control_showing), (eel_preferences_item_enumeration_list_set_unique_exceptions), (eel_preferences_item_set_description): Add new functions for changing the descriptions of items. Factor out the code to set descriptions into its own function and make that public. Use more consistent parameter names. Add signal for notifying custom items about description changes. 2001-08-15 Darin Adler Remove some glib extensions that are obviated by additions to glib 2.0. * eel/eel-glib-extensions.h: Remove EEL_N_ELEMENTS (G_N_ELEMENTS), eel_g_list_safe_for_each (g_list_foreach), eel_g_list_sort_custom (g_list_sort_with_data), eel_g_string_append_len (g_string_append_len), eel_g_hash_table_remove_deep_custom, eel_g_hash_table_remove_deep, eel_g_hash_table_destroy_deep_custom, eel_g_hash_table_destroy_deep (use g_hash_table_new_full instead), eel_g_ptr_array_sort (g_ptr_array_sort_with_data), eel_shell_quote (g_shell_quote). . * eel/eel-glib-extensions.c: (eel_strdup_strftime): Use g_string_append_len instead of eel_g_string_append_len. (eel_dumb_down_for_multi_byte_locale_hack): Use G_N_ELEMENTS instead of EEL_N_ELEMENTS. (eel_self_check_glib_extensions): Test g_shell_quote instead of eel_shell_quote. * eel/eel-gnome-extensions.c: (try_terminal_command), (try_terminal_command_argv), (get_terminal_command_prefix), (eel_gnome_make_terminal_command): Use g_shell_quote instead of eel_shell_quote. * eel/eel-gtk-extensions.c: (eel_gtk_object_list_unref): Use g_list_foreach instead of eel_g_list_safe_for_each. * eel/eel-scalable-font.c: (free_global_font_handle_table), (initialize_global_stuff_if_needed): Use g_hash_table_new_full instead of eel_g_hash_table_destroy_deep_custom. * eel/eel-debug.c: (eel_make_warnings_and_criticals_stop_in_debugger): * eel/eel-font-manager.c: (font_directory_is_ignored), (font_foundry_is_ignored), (font_family_is_ignored), (eel_font_manager_get_default_font), (eel_font_manager_get_default_bold_font): * eel/eel-font-picker.c: (font_make_style_name): * eel/eel-list.c: (eel_list_initialize_dnd), (get_data_on_first_target_we_support): * test/test-eel-gtk-style.c: * test/test-eel-image-chooser.c: (populate_image_chooser_callback), (populate_button_group_callback): * test/test-eel-image-table.c: (labeled_image_new), (image_table_new_scrolled): * test/test-eel-image.c: (main): Use G_N_ELEMENTS instead of EEL_N_ELEMENTS. Wed Aug 15 16:32:56 2001 Jonathan Blandford * eel/eel-dnd.c (eel_drag_default_drop_action_for_icons): make the trash directory. 2001-08-15 Darin Adler * eel/eel-gdk-pixbuf-extensions.c: Use a 64K buffer instead of a 4K one. 2001-08-14 Darin Adler * eel/eel-font-manager.c: (eel_font_manager_get_bold): Remove another ill-advised call to eel_font_manager_file_is_scalable_font. Even if we do want to test the file's type, we definitely don't want to do it inside g_return_if_fail. 2001-08-14 Alex Larsson * eel/eel-scalable-font.c (eel_scalable_font_new): Don't test eel_font_manager_file_is_scalable_font (), it does slow I/O. (eel_scalable_font_get_default_font, eel_scalable_font_get_default_bold_font): Don't keep recreating new EelScalableFonts for the default font. 2001-08-13 Darin Adler * eel/eel-background.c: (eel_background_load_image_callback), (draw_background_callback), (render_background_callback), (eel_background_set_up_canvas): Replace the old EelBackgroundCanvasGroup hack with code that uses the new draw_background and render_background signals in GnomeCanvas. * eel/Makefile.am: * eel/eel-background-canvas-group.c: * eel/eel-background-canvas-group.h: Remove the old EelBackgroundCanvasGroup class. 2001-08-09 Ramiro Estrugo Change from the eel-1-0 branch. * eel/eel-art-extensions.h: * eel/eel-art-extensions.c: (eel_art_point_assign), (eel_art_point_clamp), (eel_art_point_offset_by): Add ArtPoint version of some functions. 2001-08-08 Darin Adler * autogen.sh: No need for hack-macros any more. * configure.in: No need to check for freetype, since we don't depend on it directly. We use it via librsvg. * eel.spec.in: No need to check for freetype. 2001-08-06 Darin Adler * autogen.sh: No need to gettextize, xml-i18n-toolize, and libtoolize twice. * configure.in: Switch from lots of GNOME_PKGCONFIG_CHECK_MODULES calls to a lot fewer PKG_CHECK_MODULES calls. More oaf -> bonobo-activation renaming. No need to build intl directory. * Makefile.am: No need to build intl directory. * test/Makefile.am: No need to use -I to include this directory. * eel/check-program.c: * test/test-eel-password-dialog.c: * test/test-eel-widgets.c: -> . 2001-07-26 Darin Adler * configure.in: Fix option checking code. Before it was setting VFS_CFLAGS, which was wrong. * eel/Makefile.am: Add -DG_DISABLE_DEPRECATED. * eel/eel-background.c: (eel_widget_background_changed): Use gtk_widget_queue_draw instead of gtk_widget_queue_clear. * eel/eel-canvas-rect.c: (test_diff_rects): Use g_string_printfa instead of g_string_sprintfa. * eel/eel-caption.c: (eel_caption_get_title_label): Use gtk_label_get_text instead of gtk_label_get. * eel/eel-clickable-image.c: (eel_clickable_image_initialize_class): Use g_signal_new instead of gtk_signal_new. (label_enter), (label_leave), (label_handle_button_release): Use g_signal_emit instead of gtk_signal_emit. * eel/eel-debug-drawing.c: (eel_debug_show_pixbuf): Use gtk_window_set_resizable instead of gtk_window_set_policy. * eel/eel-font-picker.c: (font_picker_populate): Use gtk_radio_menu_item_get_group instead of gtk_radio_menu_item_group. * eel/eel-gdk-extensions.c: (eel_fill_rectangle_with_color), (eel_gdk_gc_choose_foreground_color): Get rid of unneeded calls to gdk_rgb_init. * eel/eel-glib-extensions.c: (eel_test_predicate): Use g_ascii_strcasecmp instead of g_strcasecmp. * eel/eel-gtk-extensions.h: Add ifdefs so we can compile this header with GTK_DISABLE_DEPRECATED on -- helps us notice what we should get rid of. * eel/eel-image-chooser.c: (eel_image_chooser_initialize_class): Use G_STRUCT_OFFSET instead of GTK_SIGNAL_OFFSET. (eel_image_chooser_set_selected_row): Use g_signal_emit instead of gtk_signal_emit. * eel/eel-image-table.c: (eel_image_table_initialize_class), (image_table_emit_signal): Use g_signal_emit instead of gtk_signal_emit. * eel/eel-image.c: (eel_image_initialize_class): Use G_STRUCT_OFFSET instead of GTK_SIGNAL_OFFSET. * eel/eel-label.c: (eel_label_initialize_class): Use G_STRUCT_OFFSET instead of GTK_SIGNAL_OFFSET. * eel/eel-preferences-box.c: (eel_preferences_dialog_new): Use gtk_window_set_resizable instead of gtk_window_set_policy. * eel/eel-preferences-item.c: (preferences_item_create_editable_string): Use g_ascii_strcasecmp instead of g_strcasecmp. * eel/eel-radio-button-group.c: (eel_radio_button_group_insert): Use gtk_radio_button_get_group instead of gtk_radio_button_group. * eel/eel-stock-dialogs.c: (find_message_label): Use gtk_label_get_text instead of gtk_label_get. * eel/eel-string.c: (eel_strcasecmp): Use g_ascii_strcasecmp instead of g_strcasecmp. * eel/eel-gdk-font-extensions.h: Fix typo in comment. 2001-07-26 Ramiro Estrugo * configure.in: * eel/.cvsignore: * eel/Makefile.am: * eel/eel-features.c: * eel/eel-features.h.in: * eel/eel.h: Add eel-features.[ch] so that the version of the library can be checked at runtime. 2001-07-26 Ramiro Estrugo Change from the the eel-1-0 branch: * eel/eel-image.h: * eel/eel-image.c: (eel_image_initialize_class), (eel_image_initialize), (eel_image_set_arg), (eel_image_get_arg), (eel_image_expose_event), (eel_image_get_pixbuf_opacity), (eel_image_set_pixbuf_insensitive_opacity), (eel_image_get_pixbuf_insensitive_opacity): Add support for rendering the image pixbuf at a lower opacity when the widget state is insensitive. 2001-07-25 Ramiro Estrugo * eel/Makefile.am: Add missing eelmarshal.list to EXTRA_DIST and use a sophisticated alphabetized order on the list. 2001-07-25 Ramiro Estrugo * eel-2.0.pc.in: Change link flags to '-leel-2' instead of '-leel' 2001-07-25 Ramiro Estrugo * configure.in: Add defines for Eel library major, minor and micro version numbers so that we can use these to properly set the shared library version info. Make the includedir be eel-2/eel' instead of 'eel' so that we can have GNOME1 and GNOME2 installations of Eel cohabiting in the same $prefix. Change the PACKAGE name to eel2. * data/fonts/urw/Makefile.am: Data dir is now 'share/eel-2/eel' instead of 'share/eel' * eel-2.0.pc.in: Include dir is now include/eel-2/eel' instead of 'include/eel' * eel.spec.in: Update for includedir and datadir changes. Add missing .mo file rule. Cleanup some. * eel/Makefile.am: Set the shared library version info. Change libary name to libeel-2 so that we can install it in the same prefix as libeel (GNOME1 and GNOME2 cohabitation) Install headers in the new 'eel-2/eel' includedir. Update EEL_DATADIR for new 'eel-2/eel' data location so that fallback fonts can be found in the right place. * test/Makefile.am: Update for includedir and datadir changes. * test/dumb-box.c: (eel_dumb_box_expose): More sythetic exposure fixes. 2001-07-24 Ramiro Estrugo * eel/eel-image-chooser.c: (image_chooser_expose_event): * eel/eel-viewport.c: (eel_viewport_expose_event): * eel/eel-wrap-table.c: (eel_wrap_table_expose_event): More sythetic expose event fixes. 2001-07-24 Ramiro Estrugo * eel/eel-gtk-container.c: (eel_gtk_container_child_expose_event): Fix the way that expose events are synthesized for children of containers. In Gtk+ 2.0 there is a standard and convenient way of doing this, so we use that instead of doing it "by hand". 2001-07-24 Ramiro Estrugo * eel/eel-clickable-image.c: (eel_clickable_image_initialize_class): * eel/eel-clickable-image.h: * eel/eel-font-picker.c: (eel_font_picker_initialize_class): * eel/eel-font-picker.h: * eel/eel-image-chooser.c: (eel_image_chooser_initialize_class): * eel/eel-image-chooser.h: * eel/eel-image-table.c: (eel_image_table_initialize_class): * eel/eel-image-table.h: * eel/eel-image.c: (eel_image_initialize_class): * eel/eel-label.c: (eel_label_initialize_class): * eel/eel-preferences-item.c: (eel_preferences_item_initialize_class): * eel/eel-preferences-item.h: * eel/eel-radio-button-group.c: (eel_radio_button_group_initialize_class): * eel/eel-radio-button-group.h: * eel/eel-string-picker.c: (eel_string_picker_initialize_class): * eel/eel-string-picker.h: * eel/eel-text-caption.c: (eel_text_caption_initialize_class): * eel/eel-text-caption.h: Changes to make the GTK+ 2.0 signal system happier. Make sure that all signals are declared in the class structure and that the offset argument to gtk_signal_new () points to a valid method offset. 2001-07-24 Ramiro Estrugo * eel/eel-gdk-pixbuf-extensions.c: * eel/eel-gdk-pixbuf-extensions.h: * eel/eel-smooth-widget.c: (smooth_widget_get_gtk_background): Remove the use of a "safe" (and very hacky) drawable to pixbuf function, since the problems we were working around have been fixed in GTK+ 2.0. With this change, "smooth" widgets work again. * test/test.c: (test_init): Comment out the gnome_program_init() thing for now. Currently the gnome_program_init() function makes the test programs hang for me. Using just the gtk_init () works for most tests, so I am using just that until the gnome_program_init () function is fixed or we learn how to use it properly. 2001-07-24 Ramiro Estrugo Change from the the eel-1-0 branch: * eel/eel-string-list.h: * eel/eel-string-list.c: (eel_string_list_prepend): New function to prepend a string to the collection. (eel_string_list_append_string_list): Rename from eel_string_list_append () which was a confusing name. This API change doesnt affect Nemo or Eel since neither used this function. 2001-07-18 Darin Adler * acconfig.h: Also need to add GNOME_EXPLICIT_TRANSLATION_DOMAIN here for autoheader. 2001-07-17 Darin Adler * configure.in: Add GNOME_EXPLICIT_TRANSLATION_DOMAIN so messages withing eel get translated properly. 2001-07-17 Darin Adler * eel/eel-gdk-font-extensions.c: (eel_gdk_font_get_largest_fitting): Add FIXME about incorrect assumption that the longest string is the widest. (xlfd_string_get_nth): Check for extra characters before the "-", and don't allow n == 0. (xlfd_string_replace_nth), Check for extra characters before the "-", don't allow n == 0, and use return_if_fail to check for bad values of n rather than just returning NULL. (xlfd_string_get_nth_as_int): Use return_if_fail to check for bad values of n rather than just returning XFLD_INVALID_VALUE. Remove extra check for NULL. (eel_self_check_gdk_font_extensions): Add lots of new self-checks and change rule so that we don't allow an extra trailing "-" character. * eel/check-program.c: (main): Use gnome_program_init correctly. * test/test-eel-password-dialog.c: (main): Use gnome_program_init correctly. * test/test-eel-widgets.c: (main): Use gnome_program_init correctly. 2001-07-16 Darin Adler * eel/eel-self-checks.c: (eel_check_string_list_result): Fix place where I called the wrong function. 2001-07-15 Darin Adler * eel/check-program.c: (main): Fix up init calls. I am still quite confused about how to use gnome_program_init properly. * eel/eel-preferences-item.h: * eel/eel-preferences-item.c: * eel/eel-self-checks.h: * eel/eel-string-list.h: * eel/eel-string.h: Corrected spelling error: "delimeter" -> "delimiter". * eel/eel-self-checks.c: (eel_check_string_list_result): Changed string list check to be simpler and distinguish lists with empty strings in them from empty lists. 2001-07-13 Darin Adler * eel/check-program.c: * eel/eel-xml-extensions.c: * eel/eel-xml-extensions.h: Fix gnome-xml includes to use . Before it was just picking up the wrong headers on my machine, which is why it worked. 2001-07-13 Darin Adler Now things link, and the test programs compile too. * configure.in: * eel/check-program.c: (main): * eel/eel-list-column-title.c: * eel/eel-list.c: * eel/eel-smooth-widget.c: (smooth_widget_get_gtk_background): * test/dumb-box.h: * test/test-eel-image-chooser.c: (populate_image_chooser_callback): * test/test-eel-image.c: (pixbuf_new_from_name): * test/test-eel-label-flavorful.c: (font_get_name): * test/test-eel-label-offset.c: * test/test-eel-label.c: (main): * test/test-eel-password-dialog.c: (main): * test/test-eel-pixbuf-tile.c: (pixbuf_drawing_area_expose_event), (drawable_drawing_area_expose_event): * test/test-eel-viewport-constraint.c: (main): * test/test-eel-widgets.c: (create_pixbuf), (main): * test/test.c: (test_pixbuf_new_named), (eel_pixmap_file): * test/test.h: 2001-07-13 Darin Adler Enough to make everything compile. The eel self-check program doesn't link yet. * eel/check-program.c: (main): * eel/eel-password-dialog.c: (caption_table_activate_callback), (eel_password_dialog_new), (eel_password_dialog_run_and_block): * eel/eel-preferences-box.c: (eel_preferences_dialog_new): * eel/eel-stock-dialogs.c: (timed_wait_callback), (eel_run_simple_dialog), (create_message_dialog), (show_message_box), (show_ok_box), (eel_create_info_dialog), (details_dialog_clicked_callback), (eel_show_info_dialog_with_details), (eel_show_error_dialog_with_details), (eel_show_yes_no_dialog), (eel_create_question_dialog): * eel/eel-types.c: (eel_type_init): 2001-07-13 Darin Adler A cut at making things compile with GNOME 2. Some things are inside #ifdef GNOME2_CONVERSION_COMPLETE. 90% of the way to compiling everything. * eel/.cvsignore: * eel/Makefile.am: * eel/check-program.c: (main): * eel/eel-background-canvas-group.c: (eel_background_canvas_group_supplant_root_class): * eel/eel-background.c: (eel_background_initialize_class), (eel_background_draw), (eel_background_draw_flat_box), (eel_background_set_widget_style), (eel_get_widget_background), (eel_background_receive_dropped_color): * eel/eel-canvas-rect.c: (rect_update): * eel/eel-canvas-rect.h: * eel/eel-caption-table.c: (eel_caption_table_initialize_class), (eel_caption_table_get_entry_text): * eel/eel-clickable-image.c: (eel_clickable_image_initialize_class): * eel/eel-clist.c: * eel/eel-ctree.c: (eel_ctree_class_init): * eel/eel-dnd.c: (eel_drag_drop_action_ask): * eel/eel-enumeration.c: * eel/eel-font-manager.c: (file_as_string), (font_description_table_new), (collect_fonts_from_directory), (directory_contains_file), (try_using_font_server), (ensure_local_font_table), (eel_font_manager_get_default_font), (eel_font_manager_get_default_bold_font), (eel_self_check_font_manager): * eel/eel-font-picker.c: (eel_font_picker_initialize_class), (font_picker_add_item), (font_picker_populate): * eel/eel-gdk-extensions.c: (eel_gdk_window_set_invisible_cursor): * eel/eel-gdk-font-extensions.c: (font_get_name): * eel/eel-gdk-pixbuf-extensions.c: (eel_gdk_pixbuf_load), (file_read_callback), (load_done), (eel_gdk_pixbuf_get_from_window_safe): * eel/eel-gdk-pixbuf-extensions.h: * eel/eel-glib-extensions.c: * eel/eel-gnome-extensions.c: (eel_dialog_get_button_by_index), (get_terminal_command_prefix), (eel_gnome_icon_selector_new), (eel_gnome_stock_set_icon_or_register): * eel/eel-gnome-extensions.h: * eel/eel-gtk-extensions.c: (send_delete_event), (handle_standard_close_accelerator), (eel_popup_menu_position_func), (eel_gtk_menu_insert_separator), (eel_gtk_signal_connect_full_while_alive), (eel_gtk_signal_connect_while_realized), (eel_nullify_when_destroyed), (eel_nullify_cancel), (event_get_time): * eel/eel-gtk-extensions.h: * eel/eel-gtk-macros.h: * eel/eel-image-chooser.c: (eel_image_chooser_initialize_class): * eel/eel-image-table.c: (eel_image_table_initialize_class): * eel/eel-image.c: (eel_image_initialize_class), (eel_image_set_pixbuf_from_file_name), (eel_image_set_tile_pixbuf_from_file_name): * eel/eel-label.c: (eel_label_initialize_class), (eel_label_set_is_smooth), (eel_label_set_tile_pixbuf_from_file_name), (eel_label_set_never_smooth): * eel/eel-list-column-title.c: (eel_list_column_title_initialize_class), (eel_list_column_title_destroy), (eel_list_column_title_finalize), (eel_list_column_title_request), (eel_list_column_title_paint): * eel/eel-list.c: (eel_list_initialize_class), (eel_list_initialize), (eel_list_clear_keyboard_focus), (eel_list_set_keyboard_focus), (eel_list_size_request), (new_column_width), (draw_rows), (eel_list_draw), (eel_list_expose), (eel_list_row_at): * eel/eel-password-dialog.c: (caption_table_activate_callback), (eel_password_dialog_new), (eel_password_dialog_run_and_block): * eel/eel-password-dialog.h: * eel/eel-preferences-box.c: (preferences_box_select_pane), (eel_preferences_dialog_new): * eel/eel-preferences-box.h: * eel/eel-preferences-group.c: (eel_preferences_group_get_title_label): * eel/eel-preferences-item.c: (eel_preferences_item_initialize_class): * eel/eel-preferences-pane.h: * eel/eel-preferences.c: * eel/eel-radio-button-group.c: (eel_radio_button_group_initialize_class): * eel/eel-region.c: (gdk_region_new_from_irect), (eel_region_add_rectangle), (eel_region_subtract_rectangle): * eel/eel-scalable-font.c: * eel/eel-smooth-widget.h: * eel/eel-stock-dialogs.c: (add_label_to_dialog), (timed_wait_delayed_close_timeout_callback), (timed_wait_free), (timed_wait_dialog_destroy_callback), (timed_wait_callback), (delete_event_callback), (eel_run_simple_dialog), (create_message_dialog), (show_message_box), (show_ok_box), (eel_create_info_dialog), (eel_show_info_dialog), (details_dialog_clicked_callback), (eel_show_info_dialog_with_details), (eel_show_warning_dialog), (eel_show_error_dialog), (eel_show_error_dialog_with_details), (eel_show_yes_no_dialog), (eel_create_question_dialog): * eel/eel-stock-dialogs.h: * eel/eel-string-picker.c: (eel_string_picker_initialize_class), (eel_string_picker_set_string_list): * eel/eel-text-caption.c: (eel_text_caption_initialize_class): * eel/eel-types.c: (eel_type_init): * eel/eel-viewport.c: (eel_viewport_initialize_class), (eel_viewport_draw), (eel_viewport_size_allocate): * eel/eel-xml-extensions.c: 2001-07-11 Darin Adler * eel/eel-font-manager.c: (collect_fonts_from_directory): Fix code that can segfault due to unknown MIME type. * eel/eel-scalable-font.c: (initialize_global_stuff_if_needed): Tell librsvg our datadir so we don't have to be in the same prefix as librsvg. There's this bad thing where we install fonts that the librsvg library has to find. Lets hope we can obsolete this completely soon. 2001-07-09 Ramiro Estrugo * .cvsignore: * Makefile.am: * autogen.sh: * configure.in: * eel-2.0.pc.in: * eel-config.in: * eel.spec.in: * eel/eel-art-extensions.h: * eel/eel-art-gtk-extensions.h: * eel/eel-background-canvas-group.c: * eel/eel-background-canvas-group.h: * eel/eel-background.h: * eel/eel-canvas-rect.h: * eel/eel-caption-table.h: * eel/eel-caption.h: * eel/eel-clickable-image.h: * eel/eel-font-manager.h: * eel/eel-font-picker.h: * eel/eel-gconf-extensions.h: * eel/eel-glyph.h: * eel/eel-image-chooser.h: * eel/eel-image-table.h: * eel/eel-image-with-background.h: * eel/eel-image.h: * eel/eel-label-with-background.h: * eel/eel-label.h: * eel/eel-labeled-image.h: * eel/eel-list.h: * eel/eel-password-dialog.h: * eel/eel-preferences-box.h: * eel/eel-preferences-group.h: * eel/eel-preferences-item.h: * eel/eel-preferences-pane.h: * eel/eel-preferences.h: * eel/eel-radio-button-group.h: * eel/eel-region.h: * eel/eel-scalable-font-private.h: * eel/eel-scalable-font.h: * eel/eel-smooth-text-layout-cache.h: * eel/eel-smooth-text-layout.h: * eel/eel-smooth-widget.h: * eel/eel-string-picker.h: * eel/eel-text-caption.h: * eel/eel-vfs-extensions.h: * eel/eel-viewport.h: * eel/eel-wrap-table.h: * eelConf.sh.in: Begin port to GNOME2, part 1. Make configure work in the GNOME2 universe and also a few simple s/BEGIN_GNOME_DECLS/G_BEGIN_DECLS/ 2001-07-09 Ramiro Estrugo * eel/eel-art-extensions.h: * eel/eel-art-extensions.c: (eel_art_drect_get_width), (eel_art_drect_get_height), (eel_art_irect_assign_end_points), (eel_art_drect_assign_end_points), (eel_art_ipoint_offset_by), (eel_art_point_equal): More ArtDRect versions of point/rectangle stuff. ==== eel 1.0.1 ==== 2001-07-05 Darin Adler * configure.in: Bumped version to 1.0.1 * NEWS: Some notes about recent changes. 2001-06-26 Alexander Larsson * eel/eel-font-manager.c (eel_font_manager_get_default_font, eel_font_manager_get_default_bold_font): Don't keep looking for the files after we found them the first time. 2001-06-26 Ramiro Estrugo * eel/eel-art-extensions.h: * eel/eel-art-extensions.c: (eel_art_irect_is_empty): New function. (eel_art_ipoint_offset_by): New function. 2001-06-25 Ramiro Estrugo * eel/eel-art-extensions.h: * eel/eel-art-extensions.c: (eel_dimensions_clamp), (test_dimensions_clamp), (eel_self_check_art_extensions): New constant points. New function to clamp dimensions . * eel/eel-string-list.h: * eel/eel-string-list.c: (eel_string_list_insert_string_list): New function to insert a string list into another. 2001-06-06 Ramiro Estrugo Patch from Frederic Devernay (tweaked by me to | bits instead of +) to make the Eel Font Manager follow links when determining the mime type of fonts. * eel/eel-font-manager.c: (collect_fonts_from_directory), (eel_font_manager_file_is_scalable_font): 2001-06-06 Darin Adler Integrated a revised version of a patch by Eungkyu Song to make the font manager code accept either a tab or a space as the separator. * eel/eel-font-manager.c: (font_description_table_add): Use strpbrk instead of strstr. 2001-06-06 Alex Larsson * eel/eel-background.[ch] (eel_background_draw): This function now takes both the src and dest coordinates. (eel_background_draw_to_drawable): Update to the new eel_background_draw API. * eel/eel-background-canvas-group.c (eel_background_canvas_group_draw): Update to the new eel_background_draw API. 2001-06-05 Ramiro Estrugo * eel/eel-gtk-container.c: (eel_gtk_container_child_size_allocate): Move the critical after the child check for NULL since we allow a NULL child to be given. 2001-06-05 Ramiro Estrugo * eel/eel-art-extensions.c: (eel_art_ipoint_clamp), (test_irect_intersect), (test_irect_union), (test_ipoint_clamp), (eel_self_check_art_extensions): * eel/eel-art-extensions.h: New function to clamp a point plus checks for that. 2001-06-04 Ramiro Estrugo * eel/eel-debug-drawing.h: * eel/eel-debug-drawing.c: (eel_debug_show_pixbuf_in_external_viewer): Replace the hard coded eog viewer to one that can accept any external viewer. I ran into the problem that the Eog binary changed names from "eog" to "eog-shell" so I decided to make this debug feature more generic. * eel/Makefile.am: * eel/eel.h: * eel/eel-gtk-container.h: * eel/eel-gtk-container.c: (eel_gtk_container_child_expose_event), (eel_gtk_container_child_map), (eel_gtk_container_child_unmap), (eel_gtk_container_child_add), (eel_gtk_container_child_remove), (eel_gtk_container_child_size_allocate): New files. Functions to simplify the implementations of GtkContainer widgets. * eel/eel-gtk-extensions.c: (eel_gtk_widget_standard_realize): Dont hardcode the event mask. Use gtk_widget_get_events() instead. Also document this fact so that users are aware that they need to set the event mask using gtk_widget_set_events () - which is the right Gtk+ way anyway. * eel/eel-image-chooser.c: (eel_image_chooser_initialize): Call gtk_widget_set_events() with the right event mask for the image chooser. * eel/eel-labeled-image.c: (eel_labeled_image_size_allocate), (eel_labeled_image_expose_event), (eel_labeled_image_map), (eel_labeled_image_unmap), (eel_labeled_image_add), (eel_labeled_image_remove): Simplify the implementations of GtkContainer methods by using the functions in eel-gtk-container.[ch]. Theres probably other widgets in Eel and Nemo that could benefit from this simplification/code sharing as well. * eel/eel-self-checks.c: (eel_check_double_result): * eel/eel-self-checks.h: New checks for double values. * eel/eel-string-list.h: * eel/eel-string-list.c: (eel_string_list_new_from_string_array): New function to allocate a EelStringList from a regular C string array. (eel_string_list_assign_from_string_array): New function to assign a regular C string array to a EelStringList. (eel_string_list_reverse): New function to reverse a string list. (test_string_list_reverse), (test_new_from_string_array), (eel_self_check_string_list): Self checks for the above new functions. * test/dumb-box.c: (eel_dumb_box_initialize_class), (eel_dumb_box_expose): Some dumb cleanup of old comment cruft. * test/test-eel-font-simple.c: (main): * test/test-eel-font.c: (main): * test/test-eel-glyph-simple.c: (main): * test/test-eel-glyph.c: (main): * test/test-eel-smooth-text-layout.c: (main): Update for changes in debug function to view pixbufs in external viewers. 2001-06-04 Darin Adler * eel/eel-font-manager.c: (collect_fonts_from_directory), (eel_font_manager_file_is_scalable_font): * test/test-eel-background.c: (main): * test/test-eel-label.c: (widget_set_eel_background_image): * test/test.c: (test_gtk_widget_set_background_image): Fix all code that prepends "file://" to try to make a URI from a path. Use gnome_vfs_get_uri_from_local_path instead. 2001-06-01 Alex Larsson * eel/eel-background.c (eel_background_draw_flat_box): Only render area if we get passed an area. (eel_background_draw): Do correct translation of coordinates for destination drawable. 2001-06-01 Darin Adler * configure.in: Bump version number to 1.0.0.1 * NEWS: Mention the plans to release 1.0.1 2001-06-01 Darin Adler * eel/eel-list.c: (eel_list_button_release): Fixed code that was passing x twice instead of x and y that prevented single-click from working in the Nemo list view. Also did some other cleanups to behavior when multiple buttons are pressed at once. 2001-05-22 John Harper Fallout from fixing bug 8220 (Having Ctrl as default "modifier key used for default WM shortcuts" breaks everything...): * eel/eel-list.c (eel_list_keyboard_move_to, eel_list_keyboard_space): changed to use Control modifier instead of Alt 2001-05-20 Darin Adler Checked in change for Miguel Rodríguez Pérez . * eel/eel-preferences-item.c (preferences_item_update_editable_string): (preferences_item_update_editable_integer): Only update text if it changed. 2001-05-19 George Lebl * configure.in, po/cs.po: Add czech translations 2001-05-17 Darin Adler * eel/eel-gtk-extensions.c: (eel_gtk_signal_connect_full_while_alive): Weakened a too-strong g_return_if_fail. 2001-05-09 Ramiro Estrugo * eel/eel-self-checks.h: * eel/eel-self-checks.c: Make eel_after_check() and eel_report_check_failure() public so that third party projects can use them to construct their own checks and still be able to use the same check failure reporting machinery. 2001-05-08 Darin Adler * RENAMING: Refine the renaming ideas. ==== eel 1.0 ==== 2001-05-04 Robin * Slomkowski * configure.in: fixed lirsvg test for 1.0.x 2001-05-04 Robin * Slomkowski * configure.in: upped version to 1.0 and changed upped dependance too librsvg 1.0.0 2001-05-04 Robin * Slomkowski * configure.in: upped version to 0.1 2001-05-04 Ramiro Estrugo * eel/eel-preferences-item.c: (preferences_item_create_editable_string): Restore a silly hack for the sake of Nemo. Id like to properly fix this, but not so close to a release. 2001-05-04 Ramiro Estrugo * configure.in: Add GConf and OAF dependency. * eel.spec.in: Add GConf and OAF dependency. Also add missing BuildRequires entries. * eel/Makefile.am: Need to set librsvg cflags directly here, since librsvg does not appear in any public eel headers and thus not exported in eel-config --cflags. * eel/eel-dateedit-extensions.c: * eel/eel-dateedit-extensions.h: * eel/eel-gconf-extensions.c: * eel/eel-gconf-extensions.h: * eel/eel-generous-bin.c: * eel/eel-generous-bin.h: * eel/eel-lib-self-check-functions.h: * eel/eel-preferences-box.c: * eel/eel-preferences-box.h: * eel/eel-preferences-group.c: * eel/eel-preferences-group.h: * eel/eel-preferences-item.c: * eel/eel-preferences-item.h: * eel/eel-preferences-pane.c: * eel/eel-preferences-pane.h: * eel/eel-preferences.c: * eel/eel-preferences.h: * eel/eel.h: Move over some more stuff over from Nemo. 2001-05-03 Darin Adler * RENAMING: Some renaming ideas. 2001-05-03 Darin Adler * eel/eel-vfs-extensions.h: * eel/eel-vfs-extensions.c: (eel_make_uri_from_half_baked_uri), (eel_self_check_vfs_extensions): Add new call to make a canonical URI from the kind of half-baked URIs that are used in gmc URL files and in drag and drop. The definition of a half-baked URI is that it starts with "file:" and then has a normal path, without URI escaping. * Makefile.am: Fixed a typo. 2001-05-03 Ramiro Estrugo * eel/eel-gdk-extensions.h: Add an opaque version of the color packing macro. * eel/eel-gdk-extensions.c: (eel_self_check_gdk_extensions): Add checks for color packing macros. * eel/eel-art-extensions.h: * eel/eel-art-extensions.c: (eel_art_irect_intersect), (eel_art_irect_union), (eel_dimensions_assign), (eel_dimensions_equal), (eel_art_ipoint_assign), (eel_art_ipoint_equal), (test_intersect), (test_union), (eel_self_check_art_extensions): Some more art extensions. Currently unused in Eel or Nemo. * eel/eel-self-checks.h: * eel/eel-self-checks.c: Add self check machinery for EelArtIPoints. * eel/eel-gdk-pixbuf-extensions.h: Dumb spacing tweak. 2001-05-02 Darin Adler Fixed bug 8219 (crash under libefence): * eel/eel-scalable-font.c: (eel_scalable_font_new), (free_global_font_handle_table): Dup the font names before using them as keys, since the underlying freetype font can last longer than the EelScalableFont. 2001-05-02 Ramiro Estrugo * eel/eel-debug-drawing.c: (eel_debug_show_pixbuf_in_eog): Update for EOG name change. eog got renamed to eog-shell. 2001-05-02 Ramiro Estrugo * configure.in: Lots of improvement. Make dealing with dependency libs/cflags simpler. * eel/Makefile.am: * test/Makefile.am: Eliminate cut-n-paste disease by using dependency macros defined in configure.in. 2001-05-02 Ramiro Estrugo * autogen.sh: Detect whether the invocation of configure failed and print a message accordingly. We used to always assume that configure was successful and print misleading "now type make to build $PROJECT" messages. 2001-05-01 Ramiro Estrugo * configure.in: Simplify the freetype2 detection insanity by using autoconf macro technology. The new test should work with both FreeType2 RPMS as well as freetype built from source in any prefix. 2001-05-01 Ramiro Estrugo * eel/eel-gdk-pixbuf-extensions.c: * eel/eel-gdk-pixbuf-extensions.h: * eel/eel-glyph.c: * eel/eel-glyph.h: * eel/eel-label.c: * eel/eel-scalable-font.c: * eel/eel-scalable-font.h: * eel/eel-smooth-text-layout.c: * eel/eel-smooth-widget.c: * test/test-eel-font-simple.c: * test/test-eel-font.c: * test/test-eel-glyph-simple.c: * test/test-eel-glyph.c: * test/test-eel-smooth-text-layout.c: More work on changing parameters for functions that accept and return ArtIRect, EelArtIPoint, ArtDRect, EelDimensions to pass by value instead of by pointer. 2001-05-01 Ramiro Estrugo * test/Makefile.am: Add include flag for test directory. 2001-05-01 Ramiro Estrugo * eel/eel-image-chooser.c: Respect the GtkStyle. * test/.cvsignore: * test/Makefile.am: * test/dumb-box.h: * test/dumb-box.c: * test-eel-gtk-style.c: Add a GtkStyle debugging tool * test/test-eel-image-chooser.c: Update for style respect changes. 2001-04-30 Ramiro Estrugo * eel/Makefile.am: Remove some garbage that apparently satan tried to sneak in. 2001-04-30 Darin Adler reviewed by: John Sullivan Fixed bug 8198 ("New Terminal" does not use GNOME default applications). This involved changing the API, so it requires changes to Nemo too. * eel/eel-glib-extensions.c: (eel_shell_quote): Make it smarter so it doesn't quote simple things with no fancy characters in them. (eel_self_check_glib_extensions): Update test. * eel/eel-gnome-extensions.h: * eel/eel-gnome-extensions.c: (try_terminal_command), (try_terminal_command_argv), (get_terminal_command_prefix): New functions, used to implement eel_gnome_open_terminal. These look at the gnome-config setting that controls which terminal program is used. (eel_gnome_make_terminal_command): New public function. We've now eliminated the concept of just getting the name of a terminal program. (eel_gnome_open_terminal): Use eel_gnome_make_terminal_command to do the hard part. 2001-04-30 John Sullivan Fixed bug 6234 (Escape should close Properties window) Fixed bug 6271 (Close dialogs with Escape to match GNOME standard) * eel/eel-gtk-extensions.c: (eel_gtk_window_event_is_close_accelerator): Close dialogs with Escape as well as Control-W. (non-GnomeDialogs can either call eel_gtk_window_set_up_close_accelerator to arrange this, or can call this querying function directly). 2001-04-30 Ramiro Estrugo * eel/eel-art-extensions.c: * eel/eel-art-extensions.h: * eel/eel-art-gtk-extensions.c: * eel/eel-art-gtk-extensions.h: * eel/eel-clickable-image.c: * eel/eel-debug-drawing.c: * eel/eel-debug-drawing.h: * eel/eel-gdk-pixbuf-extensions.c: * eel/eel-gdk-pixbuf-extensions.h: * eel/eel-glyph.c: * eel/eel-glyph.h: * eel/eel-gnome-extensions.c: * eel/eel-gnome-extensions.h: * eel/eel-image-chooser.c: * eel/eel-image-table.c: * eel/eel-image-with-background.c: * eel/eel-image.c: * eel/eel-label.c: * eel/eel-labeled-image.c: * eel/eel-region.h: * eel/eel-smooth-text-layout.c: * eel/eel-smooth-text-layout.h: * eel/eel-smooth-widget.c: * eel/eel-smooth-widget.h: * eel/eel-wrap-table.c: * test/test-eel-font.c: * test/test-eel-glyph-simple.c: * test/test-eel-glyph.c: * test/test-eel-pixbuf-tile.c: * test/test-eel-smooth-text-layout.c: * test/test.c: Change parameters for functions that accept and return ArtIRect, EelArtIPoint, ArtDRect, EelDimensions to pass by value instead of by pointer. 2001-04-29 Ramiro Estrugo * eel/eel-enumeration.c: (eel_self_check_enumeration): Add one more check. * eel/eel-string-picker.h: * eel/eel-string-picker.c: (eel_string_picker_set_string_list), (eel_string_picker_insert_string), (eel_string_picker_insert_separator): Add support for separators. 2001-04-26 Ramiro Estrugo * eel/eel-art-extensions.h: * eel/eel-art-extensions.c: (eel_art_irect_align), (eel_dimensions_are_empty), (eel_art_irect_assign_dimensions), (eel_self_check_art_extensions): Change constants to be lower case. Also declare them as "extern const" and not just "extern." * eel/eel-art-gtk-extensions.c: (eel_gdk_rectangle_to_art_irect), (eel_gdk_window_get_bounds), (eel_gdk_window_get_screen_relative_bounds), (eel_gtk_widget_get_bounds), (eel_gtk_widget_get_dimensions), (eel_gtk_widget_get_preferred_dimensions), (eel_gdk_window_clip_dirty_area_to_screen), (eel_gdk_window_get_dimensions): * eel/eel-debug-drawing.c: (debug_pixbuf_viewer_size_request): * eel/eel-gdk-pixbuf-extensions.c: (eel_gdk_pixbuf_get_dimensions), (eel_gdk_pixbuf_intersect): * eel/eel-glyph.c: (eel_glyph_get_dimensions), (eel_glyph_intersect): * eel/eel-image-chooser.c: (image_chooser_get_partial_dimensions): * eel/eel-image.c: (image_get_pixbuf_dimensions), (image_get_pixbuf_bounds), (image_get_tile_dimensions): * eel/eel-label.c: (label_composite_text_callback_cached), (label_get_text_dimensions), (label_get_text_bounds), (label_get_content_dimensions), (label_get_content_bounds), (label_get_tile_dimensions): * eel/eel-labeled-image.c: (labeled_image_get_image_dimensions), (labeled_image_get_label_dimensions), (labeled_image_get_image_bounds_fill), (eel_labeled_image_get_image_bounds), (labeled_image_get_label_bounds_fill), (eel_labeled_image_get_label_bounds), (labeled_image_get_content_dimensions), (labeled_image_get_content_bounds): * eel/eel-scalable-font.c: (eel_scalable_font_measure_text): * eel/eel-smooth-text-layout.c: (eel_smooth_text_layout_get_dimensions): * eel/eel-smooth-widget.c: (smooth_widget_get_tile_origin_point), (eel_smooth_widget_get_tile_bounds), (eel_smooth_widget_get_preferred_dimensions): * eel/eel-viewport.c: (eel_viewport_get_scroll_offset): * eel/eel-wrap-table.c: (wrap_table_art_irect_max_dimensions), (wrap_table_get_max_child_dimensions), (wrap_table_get_content_dimensions), (wrap_table_get_content_bounds), (wrap_table_get_scroll_offset): Update for art extensions constants renaming. 2001-04-26 Ramiro Estrugo * eel/eel-image-chooser.c: (image_chooser_motion_notify_event), (image_chooser_button_press_event), (image_chooser_button_release_event): Use pointer grab technology to prevent the list from getting events from unrelated widgets. 2001-04-26 John Sullivan * eel/eel-list.c: (eel_list_get_cell_hit_rectangle), (draw_cell): Made drawing and hit-testing code immune to NULL text. This was spewing out tons of complaints before in search results view (from the fancy date-squeezing code). 2001-04-26 John Sullivan Merged from nemo-1 branch: 2001-03-30 Ramiro Estrugo reviewed by: John Harper * eel/eel-stock-dialogs.c: (create_message_box): Make sure the label is not NULL before changing its line wrap. This works around the crashing problem. Why the label is NULL is still a mystery. 2001-04-26 Darin Adler * eel/eel-debug.h: * eel/eel-debug.c: (call_default_log_handler_with_better_message): Add comment about handling cases where we're out of memory. Removed unneeded NULL-handling code. (eel_assert_computed_str), (eel_str_equal_with_free): Removed an old unused feature. * eel/eel-gnome-extensions.c: Formatting tweaks. 2001-04-26 Ramiro Estrugo * eel/eel-enumeration.h: * eel/eel-enumeration.c: (eel_enumeration_get_nth_description_translated), (eel_enumeration_id_get_nth_description), (eel_enumeration_id_get_nth_description_translated): New functions to fetch translated descriptions. 2001-04-26 Ramiro Estrugo * eel/Makefile.am: Build the image chooser widget. * eel/eel-art-gtk-extensions.h: * eel/eel-art-gtk-extensions.c: (eel_gdk_get_pointer_position): New function to obtain the pointer position as a point. * eel/eel-caption.h: * eel/eel-caption.c: (eel_caption_initialize_class), (eel_caption_destroy), (caption_show_all), (eel_caption_set_show_title): Fix some rotten comments and other minor style tweaks. Remove unused defines. Fix wrongly named show_all method, a cut-n-paste mistake. * eel/eel-gdk-extensions.h: * eel/eel-gdk-extensions.c: (eel_gdk_rgb_to_color): Return the resulting color as a structure instead of a pointer. * eel/eel-gtk-extensions.h: * eel/eel-gtk-extensions.c: (eel_gtk_widget_standard_realize), (eel_gtk_widget_standard_draw), (eel_gtk_bin_standard_size_allocate), (eel_gtk_bin_standard_size_request): Implementations of some standard gtk widget methods. * eel/eel-label.c: (eel_label_set_solid_background_color), (eel_label_set_text_color): Fix a bug where the label wouldnt properly update when some color attributes changed because of a stale solid pixbuf cache. * eel/eel-radio-button-group.h: * eel/eel-radio-button-group.c: (eel_radio_button_group_clear): New function to clear out all the items in the group. (eel_radio_button_group_initialize_class): (eel_radio_button_group_initialize), (eel_radio_button_group_destroy), (button_toggled), (eel_radio_button_group_insert): Nemo style tweaks. Remove unused constant. Change signal signature to be simpler. Remove the signal data nastiness and let the caller find out the active item by using the getter methods instead. (eel_radio_button_group_get_active_index), (eel_radio_button_group_set_active_index): Use signed integers for the active index. * eel/eel-string-list.h: * eel/eel-string-list.c: (eel_string_list_append): New function to append one string list to another. * eel/eel-viewport.h: * eel/eel-viewport.c: (eel_gtk_scrolled_window_add_with_viewport): New convenience function to create scrolled windows with an EelViewport as the child. * eel/eel.h: Add eel-image-chooser.h * test/.cvsignore: * test/Makefile.am: Build the image chooser test. * test/test.h: Include eel.h instead of the individual headers. 2001-04-26 Ramiro Estrugo * eel/eel-image-chooser.h: * eel/eel-image-chooser.c: New widget to choose an image from a list. * test/test-eel-image-chooser.c: Test program for the new widget. 2001-04-24 Darin Adler reviewed by: Ramiro Estrugo * eel/eel-debug.c: (eel_make_warnings_and_criticals_stop_in_debugger): Add more log domains, most importantly "". 2001-04-20 John Harper reviewed by: Darin Adler * eel/eel-gnome-extensions.h, eel/eel-gnome-extensions.c (eel_gnome_win_hints_get_area, eel_gnome_win_hints_get_current_area, eel_gnome_win_hints_set_area, eel_gnome_win_hints_set_current_area): new functions * eel/eel-gtk-extensions.c (eel_gtk_window_present): changed to use the above new functions * eel/eel-gtk-extensions.h, eel/eel-gtk-extensions.c (eel_gtk_window_is_on_current_workspace_and_area): new function 2001-04-20 jacob berkman * eel/eel-gtk-extensions.c (eel_gtk_window_present): make sure the window is also on the current viewport/area. sawfish needs to be updated to listen to _WIN_AREA changes though. 2001-04-20 Ramiro Estrugo * eel/eel-font-manager.c: (try_using_font_server): Remove printf left in by accident. 2001-04-20 Ramiro Estrugo Fix for 8084 - Not all fonts are added to the font list in preferences dialog. * eel/eel-font-manager.c: (try_using_font_server), (ensure_local_font_table): Try more than just one know location for the font server configuation file. If different systems (like different Linux distributions) put this in other places, then we'll have to update this code as we know more. Seems lame, but I guess if distributors and "users" have a choice where to put config files, then we have no choice but comply. 2001-04-20 Ramiro Estrugo * eel/eel-glib-extensions.h: * eel/eel-glib-extensions.c: (eel_get_operating_system_name), (eel_self_check_glib_extensions): New function to find out the system name. 2001-04-20 Ramiro Estrugo * configure.in: Use /usr/X instead of /usr/openwin which is the new way on solaris. 2001-04-20 Ramiro Estrugo Fix for bug 7847 - SOLARIS: When Smoother Graphics turned on - cannot change Fonts. * acconfig.h: * configure.in: * eel/eel-font-manager.c: (ensure_local_font_table): Add support for reaping fonts even when the system is not using the font server. * eel/eel-string-list.c: (eel_self_check_string_list): Add a few more checks for string tokenizing. 2001-04-19 Ramiro Estrugo * eel/Makefile.am: Add a log domain define for Eel. * eel/eel-debug.c: (eel_make_warnings_and_criticals_stop_in_debugger): Remove G_LOG_DOMAIN item as it will be the same as Eel for this module. Add Gdk-Pixbuf to the list of standard log domains. 2001-04-19 Ramiro Estrugo * eel/eel-debug.c: (eel_make_warnings_and_criticals_stop_in_debugger): Add a list of "standard" domains for which this debugging feature is always turned on. 2001-04-19 Darin Adler reviewed by: Ramiro Estrugo * eel/eel-debug.c: (get_process_name), (call_default_log_handler_with_better_message), (log_handler), (set_log_handler), (eel_make_warnings_and_criticals_stop_in_debugger): Add the process name and number prefix to all lines. Also fix the use of getuid where we meant to use getpid. Also tweak the names of things a bit to make it nicer. 2001-04-19 Ramiro Estrugo reviewed by: Darin Adler * eel/eel-debug.c: (get_process_command_line): A function to try and obtain the command line used to invoke the process. (eel_stop_after_default_log_handler): Print out the process id and possible command line to make the warning/critical more useful. 2001-04-18 Darin Adler * eel/eel-canvas-rect.c: (canvas_item_update_svp_no_repaint), (canvas_item_update_svp_clip_no_repaint), (rect_update): Renamed the internal functions to make it more clear what they do. (eel_canvas_rect_initialize_class): Improved comment. (rects_intersect): Changed name. (diff_rects): Update for new name of rects_intersect. (test_rects_intersect), (eel_self_check_canvas_rect): Added tests for rects_intersect. 2001-04-18 Darin Adler * eel/eel-canvas-rect.c: (rect_update): Removed a bunch of code that's not needed since we decided to optimize only the case where the canvas is an anti-aliased one. 2001-04-18 Darin Adler * eel/eel-canvas-rect.c: (rect_update): Fixed backwards logic that made it never draw the outline. 2001-04-18 Darin Adler * eel/eel-canvas-rect.c: (make_drect): New function. (make_empty_drect): New function. (make_rect_vpath): Changed to take ArtDRect. (eel_canvas_item_update_svp), (eel_canvas_item_update_svp_clip): Stole functions from GnomeCanvas code, because we need versions that don't do a request_update. (canvas_request_update_rect): New function. (rect_update): Changed to do smart calculation about what to update using the diff_rects function. (diff_rects_guts), (diff_rects): New implementation that doesn't use macros. Also changed to leave out empty rectangles. (eel_self_check_canvas_rect): Updated tests that involve empty rectangles and added some new ones. 2001-04-18 Christopher James Lahey * eel/eel-canvas-rect.c (intersect_rectangles): Fixed the intersect_rectangles function to have rectangles that are tangent return as not intersecting. (eel_self_check_canvas_rect): Fixed the tests. 2001-04-18 Darin Adler * eel/eel-canvas-rect.c: (rect_update): Call diff_rectangles so we don't get an unused function warning. (diff_rectangles): Took out of #if 0 and made it compile without warnings. (test_diff_rectangles): Test function that uses string for result. (eel_self_check_canvas_rect): Added two self-tests. The one that currently fails is commented out. 2001-04-18 Darin Adler * eel/eel-canvas-rect.h: * eel/eel-canvas-rect.c: (set_gc_foreground), (set_stipple), (set_outline_gc_width), (re_update_shared), (re_get_bounds), (make_rect_vpath), (rect_update): Copied the update function and everything it needs in here, so we can prepare to modify it. 2001-04-18 Christopher James Lahey * eel/eel-canvas-rect.c: Added some tests #ifdefed out. Wrote the diff and intersection functions. 2001-04-18 Darin Adler * eel/eel-canvas-rect.c: (eel_self_check_canvas_rect): * eel/eel-lib-self-check-functions.h: Added a self-check function for EelCanvasRect. * eel/eel-self-checks.c: (eel_exit_if_self_checks_failed): Formatting tweak. 2001-04-18 Darin Adler * eel/Makefile.am: * eel/eel-canvas-rect.c: * eel/eel-canvas-rect.h: Added new class that Chris Lahey and I are working on should make the selection rectangle in Nemo much faster. 2001-04-18 Ramiro Estrugo * eel/Makefile.am: Add the generated files to the CLEANFILES so that 'make clean' gets rid of them properly. 2001-04-18 Ramiro Estrugo * eel/eel-enumeration.h: * eel/eel-enumeration.c: (eel_enumeration_contains_name), (eel_enumeration_id_contains_name), (eel_self_check_enumeration): New functions to check whether an enumeration contains a specific name. * eel/eel-string-picker.h: * eel/eel-string-picker.c: (eel_string_picker_initialize), (eel_string_picker_destroy), (option_menu_activate_callback), (menu_item_set_sensitivity_callback), (menu_item_update_sensitivity), (string_picker_update_menu_sensitivities), (eel_string_picker_set_insensitive_list): Add support for installing a list of insensitive choices. (eel_string_picker_set_string_list): Make sure the list is different before actually doing any work. (eel_string_picker_get_string_list), (eel_string_picker_get_selected_string), (eel_string_picker_set_selected_string), (eel_string_picker_set_selected_string_index), (eel_string_picker_insert_string), (eel_string_picker_contains), (eel_string_picker_get_index_for_string), (eel_string_picker_clear): Some minor tweaking to conform with Nemo style some more. 2001-04-17 Darin Adler * eel/Makefile.am: * eel/eel.h: Take eel-dnd.h out. This should go back to Nemo at some point, I think. * eel/eel-dnd.h: * eel/eel-dnd.c: (is_path_that_gnome_uri_list_extract_filenames_can_parse), (add_one_compatible_uri), (eel_drag_drag_data_get): Another cut at making the kind of "URL" that is compatible with bad old URL-parsing code. 2001-04-17 Ramiro Estrugo * eel/eel-string-list.h: * eel/eel-string-list.c: (eel_string_list_copy): Better name for this function. Dont need case_sensitive parameter since it can be fetched from the string_list we are about to copy. (eel_string_list_as_g_slist): Change list variable name to make things a tiny bit clearer. (eel_string_list_as_string): Better name for this function. Add a num_strings parameter that can be used to limit the number of strings from the list used to make the new concatenated string. (eel_self_check_string_list): Update for _as_string changes. * eel/eel-enumeration.c: (eel_enumeration_copy), (eel_enumeration_get_names): Update for _copy changes. * eel/eel-gdk-font-extensions.c: (xlfd_string_replace_nth): Update for _as_string changes. * eel/eel-self-checks.c: (eel_check_string_list_result): Update for _as_string changes. * eel/eel-string-picker.c: (eel_string_picker_get_string_list), (eel_string_picker_insert_string): Update for _copy changes. 2001-04-17 Darin Adler * eel/eel-dnd.c: (add_one_path_with_file_prefix): Coddle existing drag and drop recipients who use the gnome-libs helper functions. For them, we must provide a "URL" (quotes intentional) that is just a full path with "file:" stuck on the beginning. 2001-04-17 Ramiro Estrugo * eel/eel-string-list.h: * eel/eel-string-list.c: (eel_string_list_new_from_g_slist): New function to create string lists from GLists. (eel_string_list_new_from_g_list), (eel_string_list_as_g_slist): Better names for the GLlist and GSList functions. (eel_string_list_as_concatenated_string): Return an empty string ("") if the input string list is NULL. (eel_string_list_for_each): Make the for_each iterator a little more type safe. (eel_self_check_string_list): New checks for GSList functions. New function to create string lists from GLists. Better names for the GLlist and GSList functions. 2001-04-17 Ramiro Estrugo * eel/eel-string-list.h: * eel/eel-string-list.c: (eel_string_list_new_from_slist), (eel_string_list_as_slist), (eel_self_check_string_list): New function to create string lists from slists. 2001-04-17 Ramiro Estrugo * eel/eel-string-list.h: * eel/eel-string-list.c: (eel_string_list_new), (eel_string_list_new_from_string), (eel_string_list_new_from_string_list), (eel_string_list_new_from_tokens), (eel_string_list_assign_from_string_list), (eel_string_list_insert), (eel_string_list_nth), (eel_string_list_nth_as_integer), (eel_string_list_modify_nth), (eel_string_list_remove_nth), (eel_string_list_contains), (eel_string_list_find_by_function), (eel_string_list_get_length), (eel_string_list_clear), (eel_string_list_equals), (eel_string_list_as_g_slist), (eel_string_list_get_index_for_string), (eel_string_list_as_concatenated_string), (eel_string_list_sort), (eel_string_list_sort_by_function), (eel_string_list_remove_duplicates), (eel_string_list_for_each), (eel_string_list_get_longest_string), (eel_string_list_get_longest_string_length), (str_is_equal), (eel_self_check_string_list): Change implementation of string list to use a GSList instead of a GList. A few changes to match the nemo style more. 2001-04-16 Ramiro Estrugo * eel/Makefile.am: Use RSVG_CFLAGS not RSVG_LIBS. * eel/eel-self-checks.c: (eel_check_string_list_result): * eel/eel-self-checks.h: Add support for EelStringList checks. * eel/eel-string-list.h: * eel/eel-string-list.c: (eel_string_list_is_case_sensitive): New function that returns whether the string list is case sensitive or not. 2001-04-16 Ramiro Estrugo * eel/Makefile.am: Make the self checks header private and dont install it. Remove some unused include flags and a debug printf. * eel/eel.h: Dont include the self checks header since its now private. * test/Makefile.am: Remove some unused include flags. 2001-04-16 Maciej Stachowiak * eel/Makefile.am: Fix `make distcheck'. 2001-04-16 Darin Adler * eel/Makefile.am: Remove stray reference to eel-boxed.defs that was making the Tinderbox unhappy. 2001-04-16 Maciej Stachowiak * configure.in, eel/.cvsignore, eel/Makefile.am, eel/eel-types.c, eel/eel-types.h, eel/eel.h, eel/makeenums.pl, eel/maketypes.awk: Automatically generate GtkTypes for the various enumerations in eel like gtk+ and gnome do. This is needed for language bindings. 2001-04-13 Pavel Cisler * eel/eel-list.c: (get_cell_text), (eel_list_get_cell_hit_rectangle), (eel_list_item_hit), (eel_list_button_press), (eel_list_button_release): Add proper hit testing to the list view -- items now only get hit when you click on text or an icon, clicking in empty space deselects. * eel/eel-list.c:(eel_list_setup_style_colors): Tweak divider line colors to match Arlo's original spec. * eel/eel-list.c: (draw_cell), (eel_list_get_initial_drag_offset): Some small tweaks. 2001-04-13 Ramiro Estrugo * eel/eel-gdk-font-extensions.c: (eel_gdk_font_get_fixed): Dont use the translated font anymore, thats the old broken way. Try to load just a font (not a fontset) if the first try fails. 2001-04-12 Ramiro Estrugo * eel/check-program.c: (main): * eel/eel-glib-extensions.c: (eel_g_hash_table_new_free_at_exit): Use NEMO_DEBUG, not EEL_DEBUG for now. * eel/eel-font-manager.c: (ensure_local_font_table): Use ~/.nemo instead of ~/.eel for compatibility. 2001-04-09 Pavel Cisler reviewed by: Mike Engber * eel/eel-ellipsizing-label.c: (recompute_ellipsized_text): * eel/eel-gdk-font-extensions.c: (eel_string_ellipsize), (eel_self_check_ellipsize): * eel/eel-gdk-font-extensions.h: Tweak the API of the ellipsizing functions to make it a little more convenient to use. 2001-04-09 John Sullivan reviewed by: Pavel Cisler * eel/eel-list-column-title.h: * eel/eel-list-column-title.c: (eel_list_column_title_queue_draw): New public function. * eel/eel-list.h: * eel/eel-list.c: (eel_list_set_sort_column), (eel_list_set_sort_type): New functions that call eel_clist versions and also make the column titles redraw. 2001-04-08 Ramiro Estrugo * eel/eel-enumeration.h: * eel/eel-enumeration.c: (eel_enumeration_new), (eel_enumeration_copy), (eel_enumeration_free), (eel_enumeration_insert), (eel_enumeration_get_id), (eel_enumeration_get_nth_name), (eel_enumeration_get_nth_description), (eel_enumeration_get_nth_value), (eel_enumeration_get_length), (eel_enumeration_new_from_tokens), (eel_enumeration_get_name_position), (eel_enumeration_get_description_position), (eel_enumeration_get_value_position), (eel_enumeration_get_names), (eel_enumeration_insert_entries), (enumeration_table_free_one_node), (enumeration_table_free), (enumeration_table_get), (enumeration_table_lookup), (enumeration_register), (eel_enumeration_register), (eel_enumeration_lookup), (eel_enumeration_id_get_nth_name), (eel_enumeration_id_get_nth_description), (eel_enumeration_id_get_nth_value), (eel_enumeration_id_get_length), (eel_enumeration_id_get_name_position), (eel_enumeration_id_get_description_position), (eel_enumeration_id_get_value_position), (eel_self_check_enumeration): Add a way to register and query a global preference table using string ids. Makes it easier to deal with enumerations. Perhaps we can even lost the non id based functions. 2001-04-05 Andy Hertzfeld * eel/eel-gtk-extensions.c: (eel_gtk_marshal_POINTER__POINTER_INT): * eel/eel-gtk-extensions.h: added marshalling function needed for my post-1_0 branch 2001-04-05 Pavel Cisler reviewed by: John Harper Code needed to support nice list view column resizing. * eel/eel-gtk-extensions.c: (eel_gtk_marshal_POINTER__INT_INT_POINTER_POINTER): * eel/eel-gtk-extensions.h: Add a marshalling function. * eel/eel-list.c: (eel_list_initialize_class), (get_cell_text), (draw_cell): * eel/eel-list.h: Use a signal to get the cell text, formatted for the right width. 2001-04-05 Pavel Cisler * eel/Makefile.am: More fixes to not pick up libraries from /usr/lib first. Checking in for Ramiro. 2001-04-05 Ramiro Estrugo * eel/Makefile.am: Put freettype and png libs at end of link line to prevent /usr/lib conflict. 2001-04-05 Ramiro Estrugo * eel/eel-dnd.h: * eel/eel-dnd.c: (eel_drag_init), (eel_drag_selection_item_new), (drag_selection_item_destroy), (eel_drag_build_selection_list), (eel_drag_items_local), (eel_drag_items_in_trash), (eel_drag_default_drop_action_for_icons): Make some constant private as they were not used anywhere else. Make sure all public structures have an Eel namespace. * eel/eel-clist.c: * eel/eel-clist.h: * eel/eel-list.c: * eel/eel-list.h: Indentation. * Makefile.am: * eel/eel-string-map.h: * eel/eel-string-map.c: * eel/eel-lib-self-check-functions.h: Retire unused code. * eel/eel-vfs-extensions.h: * eel/eel-vfs-extensions.c: Fix the authors blurb. 2001-04-04 Ramiro Estrugo * eel/Makefile.am: * eel/eel-clist.c: * eel/eel-clist.h: * eel/eel-ctree.c: * eel/eel-ctree.h: * eel/eel-dnd.c: * eel/eel-dnd.h: * eel/eel-list-column-title.c: * eel/eel-list-column-title.h: * eel/eel-list.c: * eel/eel-list.h: Move clist, ctree, and list widgets over from Nemo. 2001-04-04 Ramiro Estrugo * eel.spec.in: Fix a dumb mistake in how the date was specified. 2001-04-04 Ramiro Estrugo * eel/Makefile.am: * eel/eel-lib-self-check-functions.h: * eel/eel-vfs-extensions.h: * eel/eel-vfs-extensions.c: (eel_read_entire_file), (read_file_close_callback), (read_file_close), (read_file_succeeded), (read_file_failed), (read_file_read_callback), (read_file_read_chunk), (read_file_open_callback), (pthread_eel_read_file_callback_idle_binder), (pthread_eel_read_file_callback_common), (pthread_eel_read_file_synchronous_callback), (pthread_eel_read_file_asynchronous_callback), (pthread_eel_read_file_thread_entry), (pthread_eel_read_file_async), (pthread_eel_read_file_async_cancel), (eel_read_file_async), (eel_read_entire_file_async), (eel_read_file_cancel), (eel_uri_is_trash), (eel_uri_is_trash_folder), (eel_uri_is_in_trash), (eel_format_uri_for_display), (is_valid_scheme_character), (has_valid_scheme), (eel_make_uri_from_input), (file_uri_from_local_relative_path), (eel_make_uri_from_shell_arg), (eel_uri_get_basename), (eel_uri_get_scheme), (is_uri_partial), (remove_internal_relative_components), (eel_uri_make_full_from_relative), (eel_uri_is_local_scheme), (eel_handle_trailing_slashes), (eel_make_uri_canonical), (eel_make_uri_canonical_strip_fragment), (uris_match), (eel_uris_match), (eel_uris_match_ignore_fragments), (eel_is_remote_uri), (eel_make_directory_and_parents), (eel_copy_uri_simple), (eel_self_check_vfs_extensions): Move gnome-vfs extensions over from nemo/nemo-file-utilities.[ch] 2001-04-04 Ramiro Estrugo * HACKING: * README: * RENAMING: * THANKS: Updated to be Eel specific. Removed crufy leftover from Nemo move. * configure.in: * eel.spec.in: Remove unused popt and imlib depenencies. 2001-04-04 Ramiro Estrugo * eel/check-program.c: (main): Cleanup a lot of leftover cruft. * eel/eel-art-extensions.h: * eel/eel-art-gtk-extensions.h: * eel/eel-background-canvas-group.c: * eel/eel-background.c: * eel/eel-background.h: * eel/eel-caption-table.c: * eel/eel-caption-table.h: * eel/eel-caption.c: * eel/eel-caption.h: * eel/eel-clickable-image.c: * eel/eel-clickable-image.h: * eel/eel-debug-drawing.c: * eel/eel-debug-drawing.h: * eel/eel-debug.h: * eel/eel-ellipsizing-label.c: * eel/eel-ellipsizing-label.h: * eel/eel-enumeration.h: * eel/eel-font-manager.c: * eel/eel-font-manager.h: * eel/eel-font-picker.c: * eel/eel-font-picker.h: * eel/eel-gdk-extensions.h: * eel/eel-gdk-font-extensions.c: * eel/eel-gdk-font-extensions.h: * eel/eel-gdk-pixbuf-extensions.c: * eel/eel-gdk-pixbuf-extensions.h: * eel/eel-glib-extensions.h: * eel/eel-glyph.c: * eel/eel-glyph.h: * eel/eel-gnome-extensions.h: * eel/eel-graphic-effects.h: * eel/eel-gtk-extensions.h: * eel/eel-image-table.c: * eel/eel-image-table.h: * eel/eel-image.c: * eel/eel-image.h: * eel/eel-label.c: * eel/eel-label.h: * eel/eel-labeled-image.c: * eel/eel-labeled-image.h: * eel/eel-password-dialog.c: * eel/eel-password-dialog.h: * eel/eel-radio-button-group.c: * eel/eel-radio-button-group.h: * eel/eel-region.h: * eel/eel-scalable-font.c: * eel/eel-scalable-font.h: * eel/eel-self-checks.h: * eel/eel-smooth-text-layout-cache.c: * eel/eel-smooth-text-layout-cache.h: * eel/eel-smooth-text-layout.c: * eel/eel-smooth-text-layout.h: * eel/eel-smooth-widget.c: * eel/eel-smooth-widget.h: * eel/eel-stock-dialogs.h: * eel/eel-string-list.c: * eel/eel-string-list.h: * eel/eel-string-map.c: * eel/eel-string-map.h: * eel/eel-string-picker.c: * eel/eel-string-picker.h: * eel/eel-string.h: * eel/eel-text-caption.c: * eel/eel-text-caption.h: * eel/eel-viewport.c: * eel/eel-viewport.h: * eel/eel-wrap-table.c: * eel/eel-wrap-table.h: * eel/eel-xml-extensions.h: Many style and indention changes. 2001-04-03 Darin Adler reviewed by: Ramiro * eel/Makefile.am: Make a eel-background-canvas-group.h private. Remove duplicate FREETYPE2_LIBS. * eel/eel-glib-extensions.h: Get rid of EEL_MACRO_BEGIN and EEL_MACRO_END (too close to G_STMT_START/END). 2001-04-03 Ramiro Estrugo * eel/eel-ellipsizing-label.c: (recompute_ellipsized_text): Synchronize with Nemo (for the last time hopefully). 2001-04-02 Ramiro Estrugo * test/test-eel-label.c: * test/test.h: Remove rogue unused #includes. 2001-04-02 Ramiro Estrugo * configure.in: Stuff that goes in eelConf.sh was missing. 2001-04-02 Ramiro Estrugo * eel-config.in: * eelConf.sh.in: Eelify. 2001-04-02 Ramiro Estrugo * eel/check-eel: Run checks with --sm-disable so that the session manager will not hang and show dialogs. 2001-04-02 Ramiro Estrugo * eel/eel-background-canvas-group.c: (eel_background_canvas_group_initialize_common): * eel/eel-font-manager.c: (eel_font_manager_get_default_font): * eel/eel-gdk-font-extensions.c: * eel/eel-stock-dialogs.c: (timed_wait_delayed_close_timeout_callback), (timed_wait_free): * eel/eel-text-caption.c: Synchronize with Nemo. 2001-04-02 Ramiro Estrugo * acconfig.h: * configure.in: * eel.spec.in: * eel/Makefile.am: * eel/eel-art-extensions.h: * eel/eel-art-gtk-extensions.h: * eel/eel-background-canvas-group.c: (eel_background_canvas_group_initialize_common): * eel/eel-background.c: (eel_background_destroy): * eel/eel-background.h: * eel/eel-caption-table.h: * eel/eel-caption.c: (eel_caption_set_child), (eel_caption_set_extra_spacing): * eel/eel-caption.h: * eel/eel-clickable-image.h: * eel/eel-debug-drawing.c: (eel_debug_show_pixbuf_in_eog): * eel/eel-debug-drawing.h: * eel/eel-debug.h: * eel/eel-ellipsizing-label.h: * eel/eel-entry.c: (emacs_shortcuts_preference_changed_callback), (eel_entry_initialize), (eel_entry_destroy): * eel/eel-entry.h: * eel/eel-enumeration.c: (eel_enumeration_new_from_tokens), (eel_enumeration_get_entry_position), (eel_enumeration_get_value_position), (eel_enumeration_get_entries), (eel_self_check_enumeration): * eel/eel-enumeration.h: * eel/eel-file-utilities.h: * eel/eel-font-factory.c: (eel_font_factory_get_font_from_preferences): * eel/eel-font-factory.h: * eel/eel-font-manager.c: (font_description_table_add), (font_description_table_new), (directory_contains_file), (ensure_local_font_table), (eel_font_manager_get_default_font), (eel_font_manager_get_default_bold_font), (eel_self_check_font_manager): * eel/eel-font-manager.h: * eel/eel-font-picker.h: * eel/eel-gdk-extensions.h: * eel/eel-gdk-font-extensions.c: (eel_string_ellipsize_start), (eel_string_ellipsize_end), (eel_string_ellipsize_middle), (eel_self_check_ellipsize), (eel_self_check_ellipsize_start), (eel_self_check_ellipsize_middle), (eel_self_check_ellipsize_end), (eel_self_check_gdk_font_extensions): * eel/eel-gdk-font-extensions.h: * eel/eel-gdk-pixbuf-extensions.h: * eel/eel-glib-extensions.h: * eel/eel-glyph.h: * eel/eel-gnome-extensions.h: * eel/eel-graphic-effects.h: * eel/eel-gtk-extensions.h: * eel/eel-image-table.h: * eel/eel-image.h: * eel/eel-label.c: (eel_label_set_text): * eel/eel-label.h: * eel/eel-labeled-image.h: * eel/eel-lib-self-check-functions.h: * eel/eel-password-dialog.h: * eel/eel-radio-button-group.h: * eel/eel-region.h: * eel/eel-scalable-font.h: * eel/eel-self-checks.h: * eel/eel-smooth-text-layout-cache.h: * eel/eel-smooth-text-layout.h: * eel/eel-smooth-widget.c: (eel_smooth_widget_global_set_is_smooth), (eel_smooth_widget_register): * eel/eel-smooth-widget.h: * eel/eel-stock-dialogs.h: * eel/eel-string-list.h: * eel/eel-string-map.h: * eel/eel-string-picker.h: * eel/eel-string.h: * eel/eel-text-caption.h: * eel/eel-viewport.h: * eel/eel-wrap-table.h: * eel/eel-xml-extensions.h: * test/Makefile.am: * test/test.c: (eel_pixmap_file): * test/test.h: Synchronize with nemo. 2001-03-28 Ramiro Estrugo * eel.spec.in: First pass at making the spec file valid. 2001-03-28 Ramiro Estrugo * Makefile.am: * acconfig.h: * configure.in: Remove more Nemo cruft. Make distcheck now passes. 2001-03-28 Ramiro Estrugo Change 'nemo' namespace to 'eel' everywhere. * eel/Makefile.am: * eel/check-program.c: (main): * eel/eel-art-extensions.c: (eel_art_irect_contains_irect), (eel_art_irect_contains_point), (eel_art_irect_hits_irect), (eel_art_irect_equal), (eel_art_drect_equal), (eel_art_irect_is_valid), (eel_art_irect_assign), (eel_art_irect_get_width), (eel_art_irect_get_height), (eel_art_irect_align), (eel_dimensions_empty), (eel_art_irect_assign_dimensions), (eel_art_irect_offset_by), (eel_art_irect_offset_to), (eel_art_irect_scale_by), (eel_art_irect_inset), (eel_art_drect_offset_by), (eel_art_drect_offset_to), (eel_art_irect_offset_by_point), (eel_art_irect_offset_to_point), (eel_art_drect_scale_by), (eel_art_drect_inset), (eel_self_check_art_extensions): * eel/eel-art-extensions.h: * eel/eel-art-gtk-extensions.c: (eel_gdk_rectangle_to_art_irect), (eel_screen_get_dimensions), (eel_gdk_window_get_bounds), (eel_gdk_window_get_screen_relative_bounds), (eel_gtk_widget_get_bounds), (eel_gtk_widget_get_dimensions), (eel_gtk_widget_get_preferred_dimensions), (eel_gdk_window_clip_dirty_area_to_screen), (eel_art_irect_to_gdk_rectangle), (eel_gdk_window_get_dimensions): * eel/eel-art-gtk-extensions.h: * eel/eel-background-canvas-group.c: (eel_background_canvas_group_initialize_class), (eel_background_canvas_group_initialize_common), (eel_background_canvas_group_initialize), (eel_background_canvas_group_supplant_root_class), (eel_background_canvas_group_update), (eel_background_canvas_group_draw), (eel_background_canvas_group_render): * eel/eel-background-canvas-group.h: * eel/eel-background.c: (eel_background_initialize_class), (eel_background_initialize), (eel_background_remove_current_image), (eel_background_destroy), (eel_background_get_combine_mode), (eel_background_set_combine_mode), (eel_background_get_image_placement), (eel_background_set_image_placement_no_emit), (eel_background_set_image_placement), (eel_background_new), (reset_cached_color_info), (eel_background_ensure_gradient_buffered), (fill_canvas_from_gradient_buffer), (eel_background_image_totally_obscures), (eel_background_ensure_image_scaled), (eel_background_pre_draw), (eel_background_draw), (eel_background_draw_to_drawable), (eel_background_draw_to_pixbuf), (draw_pixbuf_tiled_aa), (eel_background_draw_aa), (eel_background_draw_to_canvas), (eel_background_get_color), (eel_background_get_image_uri), (eel_background_set_color_no_emit), (eel_background_set_color), (eel_background_load_image_callback), (eel_background_is_image_load_in_progress), (eel_background_cancel_loading_image), (eel_background_start_loading_image), (eel_background_set_image_uri_helper), (eel_background_set_image_uri), (set_image_and_color_image_loading_done_callback), (eel_background_set_image_uri_and_color), (eel_background_receive_dropped_background_image), (eel_gtk_style_get_default_class), (eel_gdk_window_update_sizes), (eel_background_draw_flat_box), (eel_background_get_gtk_style_class), (eel_background_set_widget_style), (eel_background_is_set), (eel_background_is_loaded), (eel_background_reset), (eel_background_set_up_canvas), (eel_widget_background_changed), (eel_get_widget_background), (eel_widget_has_attached_background), (eel_gtk_widget_find_background_ancestor), (eel_background_is_too_complex_for_gtk_style), (eel_background_is_dark), (eel_background_receive_dropped_color), (eel_self_check_background): * eel/eel-background.h: * eel/eel-caption-table.c: (eel_caption_table_initialize_class), (eel_caption_table_initialize), (caption_table_destroy), (eel_caption_table_resize), (caption_table_index_of_entry), (caption_table_find_next_sensitive_entry), (entry_activate), (eel_caption_table_new), (eel_caption_table_set_row_info), (eel_caption_table_set_entry_text), (eel_caption_table_set_entry_readonly), (eel_caption_table_entry_grab_focus), (eel_caption_table_get_entry_text), (eel_caption_table_get_num_rows): * eel/eel-caption-table.h: * eel/eel-caption.c: (eel_caption_initialize_class), (eel_caption_initialize), (eel_caption_destroy), (eel_font_picker_show_all), (update_title), (eel_caption_new), (eel_caption_set_title_label), (eel_caption_set_show_title), (eel_caption_get_title_label), (eel_caption_get_title_label_width), (eel_caption_set_child), (eel_caption_set_spacing): * eel/eel-caption.h: * eel/eel-clickable-image.c: (eel_clickable_image_initialize_class), (eel_clickable_image_initialize), (eel_clickable_image_destroy), (eel_clickable_image_get_arg), (eel_clickable_image_realize), (label_enter), (label_leave), (label_handle_motion), (label_handle_button_press), (label_handle_button_release), (ancestor_enter_notify_event), (ancestor_leave_notify_event), (ancestor_motion_notify_event), (ancestor_button_press_event), (ancestor_button_release_event), (eel_clickable_image_expose_event), (eel_clickable_image_set_up_pixbufs), (eel_clickable_image_new), (eel_clickable_image_new_from_file_name), (eel_clickable_image_new_solid), (eel_clickable_image_set_prelight): * eel/eel-clickable-image.h: * eel/eel-debug-drawing.c: (debug_pixbuf_viewer_destroy), (debug_pixbuf_viewer_size_request), (debug_pixbuf_viewer_expose_event), (debug_pixbuf_viewer_set_pixbuf), (eel_debug_draw_rectangle_and_cross), (eel_debug_show_pixbuf_in_eog), (eel_debug_show_pixbuf), (eel_debug_pixbuf_draw_point), (eel_debug_pixbuf_draw_rectangle), (eel_debug_pixbuf_draw_rectangle_inset): * eel/eel-debug-drawing.h: * eel/eel-debug.c: (eel_stop_in_debugger), (eel_stop_after_default_log_handler), (eel_set_stop_after_default_log_handler), (eel_make_warnings_and_criticals_stop_in_debugger), (eel_get_available_file_descriptor_count), (eel_str_equal_with_free): * eel/eel-debug.h: * eel/eel-ellipsizing-label.c: (eel_ellipsizing_label_initialize_class), (eel_ellipsizing_label_initialize), (real_destroy), (eel_ellipsizing_label_new), (recompute_ellipsized_text), (eel_ellipsizing_label_set_text), (real_size_request), (real_size_allocate), (real_style_set): * eel/eel-ellipsizing-label.h: * eel/eel-entry.c: (eel_entry_initialize), (eel_entry_new), (eel_entry_new_with_max_length), (eel_entry_destroy), (obscure_cursor), (eel_entry_key_press), (eel_entry_motion_notify), (eel_entry_select_all), (select_all_at_idle), (eel_entry_select_all_at_idle), (eel_entry_set_text), (eel_entry_set_selection), (eel_entry_button_press), (eel_entry_button_release), (eel_entry_insert_text), (eel_entry_delete_text), (eel_entry_selection_clear), (eel_entry_initialize_class): * eel/eel-entry.h: * eel/eel-enumeration.c: (eel_enumeration_new), (eel_enumeration_free), (eel_enumeration_insert), (eel_enumeration_get_nth_entry), (eel_enumeration_get_nth_description), (eel_enumeration_get_nth_value), (eel_enumeration_get_num_entries), (eel_self_check_enumeration): * eel/eel-enumeration.h: * eel/eel-file-utilities.c: (eel_format_uri_for_display), (eel_make_uri_from_input), (file_uri_from_local_relative_path), (eel_make_uri_from_shell_arg), (eel_uri_get_basename), (eel_uri_get_scheme), (eel_uri_make_full_from_relative), (eel_uri_is_trash), (eel_uri_is_trash_folder), (eel_uri_is_in_trash), (eel_uri_is_local_scheme), (eel_handle_trailing_slashes), (eel_make_uri_canonical), (eel_make_uri_canonical_strip_fragment), (uris_match), (eel_uris_match), (eel_uris_match_ignore_fragments), (eel_file_name_matches_hidden_pattern), (eel_file_name_matches_backup_pattern), (eel_make_path), (eel_get_user_directory), (eel_get_desktop_directory), (eel_user_main_directory_exists), (eel_get_pixmap_directory), (eel_is_remote_uri), (eel_pixmap_file), (eel_read_entire_file), (read_file_close), (read_file_succeeded), (read_file_failed), (read_file_read_callback), (read_file_read_chunk), (read_file_open_callback), (pthread_eel_read_file_callback_idle_binder), (pthread_eel_read_file_callback_common), (pthread_eel_read_file_synchronous_callback), (pthread_eel_read_file_asynchronous_callback), (pthread_eel_read_file_thread_entry), (pthread_eel_read_file_async), (pthread_eel_read_file_async_cancel), (eel_read_file_async), (eel_read_entire_file_async), (eel_read_file_cancel), (eel_make_directory_and_parents), (eel_copy_uri_simple), (eel_unique_temporary_file_name), (eel_get_build_time_stamp), (eel_get_build_message), (eel_self_check_file_utilities): * eel/eel-file-utilities.h: * eel/eel-font-factory.c: (eel_get_current_font_factory), (eel_font_factory_get), (eel_font_factory_initialize), (eel_font_factory_initialize_class), (destroy), (font_hash_node_lookup), (font_hash_node_lookup_with_insertion), (eel_font_factory_get_font_by_family), (eel_font_factory_get_font_from_preferences): * eel/eel-font-factory.h: * eel/eel-font-manager.c: (font_description_new), (font_description_table_add), (font_get_font_type), (font_description_table_find), (font_description_table_for_each), (font_description_table_new), (directory_contains_file), (font_directory_is_ignored), (font_foundry_is_ignored), (font_family_is_ignored), (font_manager_collect_font_tables), (ensure_local_font_table), (eel_font_manager_for_each_font), (eel_font_manager_get_default_font), (eel_font_manager_get_default_bold_font), (eel_font_manager_file_is_scalable_font), (font_list_find_bold_callback), (eel_font_manager_get_bold), (eel_font_manager_weight_is_bold), (get_test_font_dir), (eel_self_check_font_manager): * eel/eel-font-manager.h: * eel/eel-font-picker.c: (eel_font_picker_initialize_class), (option_menu_button_press_event), (menu_deactivate), (eel_font_picker_initialize), (eel_font_picker_destroy), (font_list_find), (style_menu_item_activate_callback), (style_menu_item_button_release_event), (font_picker_add_item), (font_picker_populate), (font_find_style), (font_make_style_name), (font_slant_string_to_enum), (font_set_width_string_to_enum), (font_style_entry_new), (font_list_count_families), (compare_font_entry), (global_font_list_get), (compare_style), (global_font_list_populate_callback), (eel_gtk_menu_shell_get_num_items), (font_picker_get_selected_style_entry), (font_picker_find_entries_for_font), (font_picker_get_index_for_entry), (eel_font_picker_new), (eel_font_picker_get_selected_font), (eel_font_picker_set_selected_font): * eel/eel-font-picker.h: * eel/eel-gdk-extensions.c: (eel_fill_rectangle), (eel_fill_rectangle_with_color), (eel_rectangle_contains), (eel_rectangle_inset), (eel_interpolate_color), (eel_gradient_new), (eel_gradient_is_gradient), (eel_gradient_is_horizontal), (eel_gradient_strip_trailing_direction_if_any), (eel_gradient_parse_one_color_spec), (eel_gradient_get_start_color_spec), (eel_gradient_get_end_color_spec), (eel_gradient_set_edge_color), (eel_gradient_set_left_color_spec), (eel_gradient_set_top_color_spec), (eel_gradient_set_right_color_spec), (eel_gradient_set_bottom_color_spec), (eel_gdk_color_parse_with_white_default), (eel_parse_rgb_with_white_default), (eel_rgb16_to_rgb), (eel_rgb8_to_rgb), (eel_gdk_color_to_rgb), (eel_gdk_rgb_to_color), (eel_gdk_rgb_to_color_spec), (eel_shift_color_component), (eel_rgb_shift_color), (eel_gdk_color_is_dark), (eel_gdk_choose_foreground_color), (eel_gdk_gc_choose_foreground_color), (eel_stipple_bitmap), (eel_gdk_window_bring_to_front), (eel_gdk_window_focus), (eel_gdk_window_set_wm_protocols), (eel_set_mini_icon), (eel_gdk_window_set_wm_hints_input), (eel_gdk_window_set_invisible_cursor), (eel_gdk_parse_geometry), (eel_gdk_color_as_hex_string), (eel_self_check_parse), (eel_self_check_gdk_extensions): * eel/eel-gdk-extensions.h: * eel/eel-gdk-font-extensions.c: (eel_gdk_font_get_italic), (eel_gdk_font_get_bold), (font_bitmap_get_by_size), (eel_gdk_font_get_larger), (eel_gdk_font_get_smaller), (eel_gdk_font_equal), (eel_gdk_font_get_largest_fitting), (eel_string_ellipsize_start), (font_get_bold), (font_list_fonts), (font_list_table_free_one_node), (font_list_fonts_cached), (eel_gdk_font_get_fixed), (xlfd_string_get_nth), (xlfd_string_replace_nth), (xlfd_string_get_nth_as_int), (xlfd_string_could_be_scalable_non_bitmap), (eel_gdk_font_xlfd_string_new), (font_entry_has_bold_weight_test), (font_entry_has_italic_slant_test), (font_entry_is_scalable_non_bitmap_test), (eel_self_check_ellipsize_start), (eel_self_check_gdk_font_extensions): * eel/eel-gdk-font-extensions.h: * eel/eel-gdk-pixbuf-extensions.c: (eel_gdk_pixbuf_list_ref), (eel_gdk_pixbuf_list_free), (eel_gdk_pixbuf_load), (eel_gdk_pixbuf_load_async), (file_opened_callback), (file_read_callback), (free_pixbuf_load_handle), (load_done), (eel_cancel_gdk_pixbuf_load), (eel_gdk_pixbuf_average_value), (eel_gdk_scale_to_fit_factor), (eel_gdk_pixbuf_scale_to_fit), (eel_gdk_pixbuf_scale_down_to_fit), (eel_gdk_pixbuf_is_valid), (eel_gdk_pixbuf_get_dimensions), (eel_gdk_pixbuf_fill_rectangle_with_color), (eel_gdk_pixbuf_save_to_file), (eel_gdk_pixbuf_ref_if_not_null), (eel_gdk_pixbuf_unref_if_not_null), (eel_gdk_pixbuf_draw_to_drawable), (eel_gdk_pixbuf_draw_to_pixbuf), (eel_gdk_pixbuf_draw_to_pixbuf_alpha), (eel_gdk_pixbuf_new_from_pixbuf_sub_area), (eel_gdk_pixbuf_new_from_existing_buffer), (pixbuf_draw_tiled), (draw_tile_to_pixbuf_callback), (draw_tile_to_drawable_callback), (eel_gdk_pixbuf_draw_to_pixbuf_tiled), (eel_gdk_pixbuf_draw_to_drawable_tiled), (eel_gdk_pixbuf_get_global_buffer), (eel_gdk_pixbuf_get_from_window_safe), (eel_gdk_pixbuf_intersect), (eel_self_check_gdk_pixbuf_extensions): * eel/eel-gdk-pixbuf-extensions.h: * eel/eel-glib-extensions.c: (eel_setenv), (eel_unsetenv), (eel_g_date_new_tm), (eel_strdup_strftime), (eel_g_list_exactly_one_item), (eel_g_list_more_than_one_item), (eel_g_list_equal), (eel_g_list_copy), (eel_g_str_list_equal), (eel_g_str_list_copy), (eel_g_str_list_alphabetize), (eel_g_list_free_deep_custom), (eel_g_list_free_deep), (eel_g_slist_free_deep_custom), (eel_g_slist_free_deep), (eel_g_strv_find), (eel_g_list_safe_for_each), (eel_g_list_sort_merge), (eel_g_list_is_already_sorted), (eel_g_list_sort_custom), (eel_g_lists_sort_and_check_for_intersection), (eel_g_list_partition), (eel_g_ptr_array_new_from_list), (eel_g_ptr_array_sort), (eel_g_ptr_array_search), (eel_get_system_time), (eel_g_hash_table_new_free_at_exit), (eel_g_hash_table_safe_for_each), (eel_g_hash_table_remove_deep_custom), (eel_g_hash_table_remove_deep), (eel_g_hash_table_destroy_deep_custom), (eel_g_hash_table_destroy_deep), (eel_g_string_append_len), (eel_shell_quote), (eel_round), (eel_g_list_from_g_slist), (eel_g_slist_from_g_list), (eel_dumb_down_for_multi_byte_locale_hack), (eel_compare_integer), (check_tm_to_g_date), (eel_test_predicate), (test_strftime), (eel_self_check_glib_extensions): * eel/eel-glib-extensions.h: * eel/eel-glyph.c: (eel_glyph_new), (eel_glyph_free), (glyph_get_width_space_safe), (glyph_get_height_space_safe), (eel_glyph_get_width), (eel_glyph_get_height), (eel_glyph_get_dimensions), (eel_glyph_get_underline_rectangle), (glyph_is_valid), (eel_glyph_draw_to_pixbuf), (eel_glyph_intersect), (eel_glyph_compare): * eel/eel-glyph.h: * eel/eel-gnome-extensions.c: (eel_gnome_canvas_world_to_window_rectangle), (eel_gnome_canvas_world_to_canvas_rectangle), (eel_gnome_canvas_item_get_current_canvas_bounds), (eel_gnome_canvas_item_request_redraw), (eel_gnome_canvas_request_redraw_rectangle), (eel_gnome_canvas_item_get_world_bounds), (eel_gnome_canvas_item_get_canvas_bounds), (eel_gnome_canvas_draw_pixbuf_helper), (eel_gnome_canvas_draw_pixbuf_helper_alpha), (eel_gnome_canvas_draw_pixbuf), (eel_gnome_canvas_fill_rgb), (eel_gnome_dialog_get_button_by_index), (eel_gnome_canvas_item_request_update_deep), (eel_gnome_canvas_request_update_all), (eel_gnome_canvas_set_scroll_region), (eel_gnome_canvas_set_scroll_region_left_justify), (eel_gnome_canvas_set_scroll_region_include_visible_area), (eel_gnome_shell_execute), (eel_gnome_get_terminal_path), (eel_gnome_open_terminal), (icon_selected_callback), (eel_gnome_icon_selector_new), (eel_gnome_stock_set_icon_or_register): * eel/eel-gnome-extensions.h: * eel/eel-graphic-effects.c: (eel_create_spotlight_pixbuf), (eel_create_darkened_pixbuf), (eel_create_colorized_pixbuf), (eel_stretch_frame_image), (eel_embed_image_in_frame), (eel_make_semi_transparent): * eel/eel-graphic-effects.h: * eel/eel-gtk-extensions.c: (finish_button_activation), (eel_gtk_button_auto_click), (eel_gtk_button_set_padding), (eel_gtk_button_set_standard_padding), (eel_gtk_clist_get_first_selected_row), (eel_gtk_clist_get_last_selected_row), (activate_button_on_double_click), (eel_gtk_clist_set_double_click_button), (eel_gtk_signal_connect_free_data_custom), (eel_gtk_signal_connect_free_data), (eel_gtk_window_present), (handle_standard_close_accelerator), (eel_gtk_window_event_is_close_accelerator), (eel_gtk_window_set_up_close_accelerator), (eel_gtk_window_set_initial_geometry), (eel_gtk_window_set_initial_geometry_from_string), (eel_gtk_selection_data_copy_deep), (eel_gtk_selection_data_free_deep), (eel_popup_menu_position_func), (eel_truncate_text_for_menu_item), (eel_pop_up_context_menu), (eel_gtk_menu_append_separator), (eel_gtk_menu_insert_separator), (eel_gtk_menu_set_item_visibility), (eel_gtk_marshal_NONE__POINTER_INT_INT_DOUBLE), (eel_gtk_marshal_NONE__INT_INT_INT), (eel_gtk_marshal_NONE__POINTER_INT_INT_INT), (eel_gtk_marshal_NONE__POINTER_INT_POINTER_POINTER), (eel_gtk_marshal_NONE__POINTER_POINTER_INT_INT_INT), (eel_gtk_marshal_BOOL__INT_POINTER_INT_INT_UINT), (eel_gtk_marshal_NONE__INT_POINTER_INT_INT_UINT), (eel_gtk_marshal_NONE__POINTER_POINTER_POINTER_INT_INT_INT), (eel_gtk_marshal_NONE__POINTER_POINTER_POINTER_POINTER_INT_INT_UINT ), (eel_gtk_marshal_NONE__POINTER_INT_INT_DOUBLE_DOUBLE), (eel_gtk_marshal_NONE__DOUBLE), (eel_gtk_marshal_NONE__DOUBLE_DOUBLE_DOUBLE), (eel_gtk_marshal_POINTER__NONE), (eel_gtk_marshal_INT__NONE), (eel_gtk_marshal_POINTER__INT), (eel_gtk_marshal_POINTER__POINTER), (eel_gtk_marshal_INT__POINTER_POINTER), (eel_gtk_marshal_INT__POINTER_INT), (eel_gtk_marshal_POINTER__POINTER_POINTER), (eel_gtk_marshal_POINTER__POINTER_POINTER_POINTER), (eel_gtk_marshal_NONE__POINTER_POINTER_POINTER_POINTER), (eel_gtk_marshal_POINTER__POINTER_INT_INT_POINTER_POINTER), (eel_gtk_marshal_NONE__POINTER_POINTER_POINTER_POINTER_POINTER_POIN TER), (eel_point_in_allocation), (eel_point_in_widget), (eel_gtk_object_list_ref), (eel_gtk_object_list_unref), (eel_gtk_object_list_free), (eel_gtk_object_list_copy), (eel_gtk_style_set_font), (eel_gtk_widget_set_font), (eel_gtk_widget_set_shown), (eel_gtk_widget_set_font_by_name), (eel_gtk_signal_connect_full_while_alive), (eel_gtk_signal_connect_while_realized), (eel_nullify_when_destroyed), (eel_nullify_cancel), (eel_gtk_container_get_first_child), (eel_gtk_container_foreach_deep), (eel_gtk_pixmap_new_empty), (eel_gtk_adjustment_set_value), (eel_gtk_adjustment_clamp_value), (eel_gtk_label_make_bold), (eel_gtk_label_make_larger), (eel_gtk_label_make_smaller), (eel_gtk_widget_set_background_color), (eel_gtk_widget_set_foreground_color), (eel_gtk_widget_find_windowed_ancestor), (eel_gtk_style_shade), (eel_gtk_class_name_make_like_existing_type), (eel_get_window_list_ordered_front_to_back), (eel_gtk_get_system_font), (eel_get_current_event_time), (eel_drag_set_icon_pixbuf): * eel/eel-gtk-extensions.h: * eel/eel-gtk-macros.h: * eel/eel-image-table.c: (eel_image_table_initialize_class), (eel_image_table_initialize), (eel_image_table_destroy), (eel_image_table_expose_event), (eel_image_table_realize), (eel_image_table_unrealize), (eel_image_table_remove), (eel_image_table_child_type), (eel_image_table_set_is_smooth_signal), (image_table_foreach_child_subtract_content), (image_table_clear_dirty_areas), (image_table_peek_clear_gc), (image_table_emit_signal), (image_table_handle_motion), (ancestor_enter_notify_event), (ancestor_leave_notify_event), (ancestor_motion_notify_event), (ancestor_button_press_event), (ancestor_button_release_event), (eel_image_table_new), (eel_image_table_set_is_smooth), (eel_image_table_set_smooth_background_color), (eel_image_table_add_empty_image): * eel/eel-image-table.h: * eel/eel-image-with-background.c: (draw_background_callback), (eel_image_new_with_background): * eel/eel-image-with-background.h: * eel/eel-image.c: (eel_image_initialize_class), (eel_image_initialize), (eel_image_destroy), (eel_image_set_arg), (eel_image_get_arg), (eel_image_size_request), (image_paint_pixbuf_callback), (image_composite_pixbuf_callback), (eel_image_expose_event), (eel_image_set_is_smooth_signal), (image_get_pixbuf_dimensions), (image_get_pixbuf_bounds), (image_get_tile_dimensions), (image_is_smooth), (eel_image_new), (eel_image_set_is_smooth), (eel_image_get_is_smooth), (eel_image_set_tile_pixbuf), (eel_image_get_tile_pixbuf), (eel_image_set_pixbuf), (eel_image_set_pixbuf_from_file_name), (eel_image_get_pixbuf), (eel_image_set_pixbuf_opacity), (eel_image_get_pixbuf_opacity), (eel_image_set_tile_opacity), (eel_image_get_tile_opacity), (eel_image_set_tile_width), (eel_image_get_tile_width), (eel_image_set_tile_height), (eel_image_get_tile_height), (eel_image_set_tile_mode_vertical), (eel_image_get_tile_mode_vertical), (eel_image_set_tile_mode_horizontal), (eel_image_get_tile_mode_horizontal), (eel_image_set_tile_pixbuf_from_file_name), (eel_image_set_background_mode), (eel_image_get_background_mode), (eel_image_set_solid_background_color), (eel_image_get_solid_background_color), (eel_image_new_solid), (eel_image_set_never_smooth): * eel/eel-image.h: * eel/eel-label-with-background.c: (draw_background_callback), (eel_label_new_with_background): * eel/eel-label-with-background.h: * eel/eel-label.c: (eel_label_initialize_class), (eel_label_initialize), (eel_label_destroy), (eel_label_set_arg), (eel_label_get_arg), (eel_label_size_request), (eel_label_size_allocate), (label_paint_pixbuf_callback), (label_composite_text_callback_cached), (label_composite_text_callback), (label_composite_text_and_shadow_callback), (label_paint), (paint_label_smooth), (paint_label_smooth_cached), (eel_label_expose_event), (eel_label_set_is_smooth_signal), (label_get_default_line_wrap_width), (label_get_text_dimensions), (label_get_text_bounds), (label_get_content_dimensions), (label_get_content_bounds), (label_get_tile_dimensions), (label_solid_cache_pixbuf_clear), (label_can_cache_contents), (label_peek_text), (label_smooth_text_ensure), (label_smooth_text_clear), (label_is_smooth), (eel_label_new), (eel_label_set_smooth_font), (eel_label_get_smooth_font), (eel_label_set_smooth_font_size), (eel_label_get_smooth_font_size), (label_force_cached_requisition_flush), (eel_label_set_is_smooth), (eel_label_get_is_smooth), (eel_label_set_tile_pixbuf), (eel_label_get_tile_pixbuf), (eel_label_set_text_opacity), (eel_label_get_text_opacity), (eel_label_set_tile_opacity), (eel_label_get_tile_opacity), (eel_label_set_tile_width), (eel_label_get_tile_width), (eel_label_set_tile_height), (eel_label_get_tile_height), (eel_label_set_tile_mode_vertical), (eel_label_get_tile_mode_vertical), (eel_label_set_tile_mode_horizontal), (eel_label_get_tile_mode_horizontal), (eel_label_set_tile_pixbuf_from_file_name), (eel_label_set_background_mode), (eel_label_get_background_mode), (eel_label_set_solid_background_color), (eel_label_get_solid_background_color), (eel_label_set_smooth_line_wrap_width), (eel_label_get_smooth_line_wrap_width), (eel_label_set_text_color), (eel_label_get_text_color), (eel_label_set_smooth_drop_shadow_offset), (eel_label_get_smooth_drop_shadow_offset), (eel_label_set_smooth_drop_shadow_color), (eel_label_get_smooth_drop_shadow_color), (eel_label_set_justify), (eel_label_get_text_justify), (eel_label_set_text), (eel_label_get_text), (eel_label_set_wrap), (eel_label_get_wrap), (eel_label_new_solid), (eel_label_make_bold), (eel_label_make_larger), (eel_label_make_smaller), (eel_label_set_never_smooth), (eel_label_set_adjust_wrap_on_resize), (eel_label_get_adjust_wrap_on_resize): * eel/eel-label.h: * eel/eel-labeled-image.c: (eel_labeled_image_initialize_class), (eel_labeled_image_initialize), (eel_labeled_image_destroy), (eel_labeled_image_set_arg), (eel_labeled_image_get_arg), (eel_labeled_image_size_request), (eel_labeled_image_size_allocate), (eel_labeled_image_expose_event), (eel_labeled_image_map), (eel_labeled_image_unmap), (eel_labeled_image_add), (eel_labeled_image_remove), (eel_labeled_image_forall), (is_fixed_height), (labeled_image_get_image_dimensions), (labeled_image_get_label_dimensions), (labeled_image_get_image_bounds_fill), (eel_labeled_image_get_image_bounds), (labeled_image_get_label_bounds_fill), (eel_labeled_image_get_label_bounds), (labeled_image_update_alignments), (labeled_image_get_content_dimensions), (labeled_image_get_content_bounds), (labeled_image_ensure_label), (labeled_image_ensure_image), (labeled_image_show_image), (labeled_image_show_label), (eel_labeled_image_new), (eel_labeled_image_new_from_file_name), (eel_labeled_image_set_label_position), (eel_labeled_image_get_label_position), (eel_labeled_image_set_show_label), (eel_labeled_image_get_show_label), (eel_labeled_image_set_show_image), (eel_labeled_image_get_show_image), (eel_labeled_image_set_fixed_image_height), (eel_labeled_image_set_spacing), (eel_labeled_image_get_spacing), (eel_labeled_image_set_x_padding), (eel_labeled_image_get_x_padding), (eel_labeled_image_set_y_padding), (eel_labeled_image_get_y_padding), (eel_labeled_image_set_x_alignment), (eel_labeled_image_get_x_alignment), (eel_labeled_image_set_y_alignment), (eel_labeled_image_get_y_alignment), (eel_labeled_image_set_fill), (eel_labeled_image_get_fill), (eel_labeled_image_button_new), (eel_labeled_image_button_new_from_file_name), (eel_labeled_image_toggle_button_new), (eel_labeled_image_toggle_button_new_from_file_name), (button_leave_callback), (eel_labeled_image_check_button_new), (eel_labeled_image_check_button_new_from_file_name), (eel_labeled_image_set_pixbuf), (eel_labeled_image_set_pixbuf_from_file_name), (eel_labeled_image_set_tile_pixbuf), (eel_labeled_image_set_tile_pixbuf_from_file_name), (eel_labeled_image_get_pixbuf), (eel_labeled_image_set_text), (eel_labeled_image_get_text), (eel_labeled_image_make_bold), (eel_labeled_image_make_larger), (eel_labeled_image_make_smaller), (eel_labeled_image_set_tile_width), (eel_labeled_image_set_tile_height), (eel_labeled_image_set_background_mode), (eel_labeled_image_set_solid_background_color), (eel_labeled_image_set_smooth_drop_shadow_offset), (eel_labeled_image_set_smooth_drop_shadow_color), (eel_labeled_image_set_text_color), (eel_labeled_image_set_label_never_smooth): * eel/eel-labeled-image.h: * eel/eel-lib-self-check-functions.c: (eel_run_lib_self_checks): * eel/eel-lib-self-check-functions.h: * eel/eel-password-dialog.c: (eel_password_dialog_initialize_class), (eel_password_dialog_initialize), (eel_password_dialog_destroy), (dialog_show_callback), (dialog_close_callback), (caption_table_activate_callback), (eel_password_dialog_new), (eel_password_dialog_run_and_block), (eel_password_dialog_set_username), (eel_password_dialog_set_password), (eel_password_dialog_set_readonly_username), (eel_password_dialog_get_username), (eel_password_dialog_get_password), (eel_password_dialog_get_remember), (eel_password_dialog_set_remember), (eel_password_dialog_set_remember_label_text): * eel/eel-password-dialog.h: * eel/eel-radio-button-group.c: (eel_radio_button_group_initialize_class), (eel_radio_button_group_initialize), (eel_radio_button_group_destroy), (radio_button_group_emit_changed_signal), (radio_button_group_free_button_group), (button_toggled), (eel_radio_button_group_new), (eel_radio_button_group_insert), (eel_radio_button_group_get_active_index), (eel_radio_button_group_set_active_index), (eel_radio_button_group_set_entry_pixbuf), (eel_radio_button_group_set_entry_description_text): * eel/eel-radio-button-group.h: * eel/eel-region.c: (eel_region_new), (eel_region_free), (gdk_region_new_from_irect), (eel_region_add_rectangle), (eel_region_subtract_rectangle), (eel_region_set_gc_clip_region): * eel/eel-region.h: * eel/eel-scalable-font-private.h: * eel/eel-scalable-font.c: (eel_scalable_font_initialize_class), (eel_scalable_font_initialize), (eel_scalable_font_destroy), (eel_scalable_font_new), (eel_scalable_font_make_bold), (eel_scalable_font_measure_text), (eel_scalable_font_text_width), (eel_scalable_font_draw_text), (eel_scalable_font_largest_fitting_font_size), (eel_scalable_font_get_default_font), (eel_scalable_font_get_default_bold_font), (eel_scalable_font_get_rsvg_handle), (eel_scalable_font_get_rsvg_context), (eel_self_check_scalable_font): * eel/eel-scalable-font.h: * eel/eel-self-checks.c: (eel_exit_if_self_checks_failed), (eel_report_check_failure), (eel_strdup_boolean), (eel_before_check), (eel_after_check), (eel_check_boolean_result), (eel_check_rectangle_result), (eel_check_dimensions_result), (eel_check_integer_result), (eel_check_string_result), (eel_before_check_function), (eel_after_check_function): * eel/eel-self-checks.h: * eel/eel-smooth-text-layout-cache.c: (cache_index_new), (cache_insert), (cache_remove), (cache_enter), (cache_evict), (cache_lookup), (cache_trim), (eel_smooth_text_layout_cache_render), (eel_smooth_text_layout_cache_new), (eel_smooth_text_layout_cache_initialize_class), (eel_smooth_text_layout_cache_initialize), (free_one_cache_entry), (eel_smooth_text_layout_cache_destroy), (check_one), (eel_self_check_smooth_text_layout_cache): * eel/eel-smooth-text-layout-cache.h: * eel/eel-smooth-text-layout.c: (eel_smooth_text_layout_initialize_class), (eel_smooth_text_layout_initialize), (eel_smooth_text_layout_destroy), (smooth_text_layout_clear_lines), (smooth_text_layout_ensure_lines), (smooth_text_layout_line_list_new), (smooth_text_layout_line_list_free), (smooth_text_layout_line_list_draw_to_pixbuf), (smooth_text_layout_line_list_new_wrapped), (smooth_text_layout_get_empty_line_height), (smooth_text_layout_get_num_empty_lines), (smooth_text_layout_get_max_line_width), (smooth_text_layout_get_total_line_height), (smooth_text_layout_get_line_wrap_width), (eel_smooth_text_layout_new), (eel_smooth_text_layout_draw_to_pixbuf), (eel_smooth_text_layout_draw_to_pixbuf_shadow), (eel_smooth_text_layout_get_dimensions), (eel_smooth_text_layout_get_width), (eel_smooth_text_layout_get_height), (eel_smooth_text_layout_set_wrap), (eel_smooth_text_layout_get_wrap), (eel_smooth_text_layout_set_font), (eel_smooth_text_layout_get_font), (eel_smooth_text_layout_set_font_size), (eel_smooth_text_layout_get_font_size), (eel_smooth_text_layout_set_line_spacing), (eel_smooth_text_layout_get_line_spacing), (eel_smooth_text_layout_set_empty_line_height), (eel_smooth_text_layout_get_empty_line_height), (smooth_text_layout_set_text), (eel_smooth_text_layout_set_line_break_characters), (eel_smooth_text_layout_get_line_break_characters), (eel_smooth_text_layout_set_line_wrap_width), (text_layout_free_row), (eel_text_layout_free), (eel_text_layout_new), (eel_smooth_text_layout_compare): * eel/eel-smooth-text-layout.h: * eel/eel-smooth-widget.c: (preferences_get_is_smooth), (eel_smooth_widget_register), (smooth_widget_get_tile_origin_point), (smooth_widget_get_gtk_background), (smooth_widget_get_background), (smooth_widget_paint_tile_opaque), (smooth_widget_paint_tile_transparent), (smooth_widget_paint_content_opaque), (smooth_widget_paint_content_transparent), (smooth_widget_paint_tile_and_content_transparent), (eel_smooth_widget_paint), (eel_smooth_widget_get_tile_bounds), (eel_smooth_widget_get_preferred_dimensions), (eel_smooth_widget_register_type): * eel/eel-smooth-widget.h: * eel/eel-stock-dialogs.c: (timed_wait_free), (timed_wait_dialog_destroy_callback), (timed_wait_callback), (eel_timed_wait_start_with_duration), (eel_timed_wait_start), (eel_timed_wait_stop), (eel_run_simple_dialog), (find_message_label), (create_message_box), (eel_create_info_dialog), (eel_show_info_dialog), (details_dialog_clicked_callback), (eel_show_info_dialog_with_details), (eel_show_warning_dialog), (eel_show_error_dialog), (eel_show_error_dialog_with_details), (eel_show_yes_no_dialog), (eel_create_question_dialog): * eel/eel-stock-dialogs.h: * eel/eel-string-list.c: (eel_string_list_new), (eel_string_list_new_from_string), (eel_string_list_new_from_string_list), (eel_string_list_new_from_tokens), (eel_string_list_assign_from_string_list), (eel_string_list_free), (eel_string_list_insert), (eel_string_list_nth), (eel_string_list_nth_as_integer), (eel_string_list_modify_nth), (eel_string_list_remove_nth), (eel_string_list_contains), (eel_string_list_find_by_function), (eel_string_list_get_length), (eel_string_list_clear), (eel_string_list_equals), (eel_string_list_as_g_list), (eel_string_list_get_index_for_string), (eel_string_list_as_concatenated_string), (eel_string_list_sort), (eel_string_list_sort_by_function), (eel_string_list_remove_duplicates), (eel_string_list_for_each), (eel_string_list_get_longest_string), (eel_string_list_get_longest_string_length), (str_is_equal), (test_dog), (test_data), (test_true), (test_false), (compare_number), (eel_self_check_string_list): * eel/eel-string-list.h: * eel/eel-string-map.c: (eel_string_map_new), (eel_string_map_free), (eel_string_map_clear), (eel_string_map_lookup), (eel_string_map_add), (map_entry_new), (map_entry_free), (map_entry_list_lookup), (str_is_equal), (eel_self_check_string_map): * eel/eel-string-map.h: * eel/eel-string-picker.c: (eel_string_picker_initialize_class), (eel_string_picker_initialize), (eel_string_picker_destroy), (option_menu_activate_callback), (eel_string_picker_new), (eel_string_picker_set_string_list), (eel_string_picker_get_string_list), (eel_string_picker_get_selected_string), (eel_string_picker_set_selected_string), (eel_string_picker_set_selected_string_index), (eel_string_picker_insert_string), (eel_string_picker_contains), (eel_string_picker_get_index_for_string), (eel_string_picker_clear): * eel/eel-string-picker.h: * eel/eel-string.c: (eel_strlen), (eel_strchr), (eel_strcmp), (eel_strcasecmp), (eel_strcmp_case_breaks_ties), (eel_strcoll), (eel_str_is_empty), (eel_str_is_equal), (eel_istr_is_equal), (eel_strcmp_compare_func), (eel_strcoll_compare_func), (eel_strcasecmp_compare_func), (eel_str_has_prefix), (eel_str_has_suffix), (eel_istr_has_prefix), (eel_istr_has_suffix), (eel_str_get_prefix), (eel_str_get_after_prefix), (eel_str_to_int), (eel_str_strip_chr), (eel_str_strip_trailing_chr), (eel_str_strip_trailing_str), (eel_eat_str_to_int), (eel_str_double_underscores), (eel_str_capitalize), (eel_str_middle_truncate), (eel_str_count_characters), (eel_str_strip_substring_and_after), (eel_str_replace_substring), (eel_str_remove_bracketed_text), (call_str_to_int), (call_eat_str_to_int), (eel_self_check_string): * eel/eel-string.h: * eel/eel-text-caption.c: (eel_text_caption_initialize_class), (eel_text_caption_initialize), (eel_text_caption_destroy), (entry_changed_callback), (entry_key_press_callback), (eel_text_caption_new), (eel_text_caption_get_text), (eel_text_caption_set_text), (eel_text_caption_set_editable), (eel_text_caption_set_expand_tilde): * eel/eel-text-caption.h: * eel/eel-viewport.c: (eel_viewport_initialize_class), (eel_viewport_initialize), (eel_viewport_destroy), (eel_viewport_draw), (eel_viewport_size_allocate), (eel_viewport_expose_event), (eel_viewport_realize), (eel_viewport_paint), (eel_viewport_set_is_smooth_signal), (eel_viewport_new), (eel_viewport_set_is_smooth), (eel_viewport_get_is_smooth), (eel_viewport_set_constrain_width), (eel_viewport_get_constrain_width), (eel_viewport_set_constrain_height), (eel_viewport_get_constrain_height), (eel_viewport_set_never_smooth), (eel_viewport_get_scroll_offset): * eel/eel-viewport.h: * eel/eel-wrap-table.c: (eel_wrap_table_initialize_class), (eel_wrap_table_initialize), (eel_wrap_table_destroy), (eel_wrap_table_set_arg), (eel_wrap_table_get_arg), (eel_wrap_table_size_request), (eel_wrap_table_size_allocate), (eel_wrap_table_expose_event), (eel_wrap_table_map), (eel_wrap_table_unmap), (eel_wrap_table_add), (eel_wrap_table_remove), (eel_wrap_table_forall), (eel_wrap_table_child_type), (wrap_table_layout), (wrap_table_art_irect_max_dimensions), (wrap_table_get_max_child_dimensions), (wrap_table_get_content_dimensions), (wrap_table_get_content_bounds), (wrap_table_get_scroll_offset), (wrap_table_find_child_at_point), (eel_wrap_table_new), (eel_wrap_table_set_x_spacing), (eel_wrap_table_get_x_spacing), (eel_wrap_table_set_y_spacing), (eel_wrap_table_get_y_spacing), (eel_wrap_table_find_child_at_event_point), (eel_wrap_table_set_x_justification), (eel_wrap_table_get_x_justification), (eel_wrap_table_set_y_justification), (eel_wrap_table_get_y_justification), (eel_wrap_table_set_homogeneous), (eel_wrap_table_get_homogeneous), (eel_wrap_table_reorder_child), (eel_wrap_table_get_num_children): * eel/eel-wrap-table.h: * eel/eel-xml-extensions.c: (eel_xml_get_children), (eel_xml_get_root_children), (eel_xml_get_child_by_name_and_property), (eel_xml_get_child_by_name), (eel_xml_get_root_child_by_name_and_property), (eel_xml_get_property_for_children), (eel_xml_get_property_translated), (eel_xml_remove_node): * eel/eel-xml-extensions.h: * test/Makefile.am: * test/test-eel-background.c: (main): * test/test-eel-clickable-image.c: (clicked_callback), (enter_callback), (leave_callback), (clickable_image_new): * test/test-eel-font-manager.c: (font_type_to_string), (font_iterator_callback), (main): * test/test-eel-font-picker.c: (update_font), (font_changed_update_label_callback), (font_changed_update_file_name_callback), (use_defalt_font_callback), (use_defalt_bold_font_callback), (use_defalt_font_update_picker_callback), (use_defalt_bold_font_update_picker_callback), (print_selected_font_callback), (main): * test/test-eel-font-simple.c: (main): * test/test-eel-font.c: (main): * test/test-eel-glyph-simple.c: (glyph_new), (main): * test/test-eel-glyph.c: (glyph_new), (main): * test/test-eel-image-background.c: (window_new_with_eel_background_image), (window_new_with_eel_background_gradient), (window_new_with_solid_background), (main): * test/test-eel-image-scrolled.c: (toggle_smooth_callback), (label_window_new), (label_window_new_scrolled): * test/test-eel-image-simple.c: (toggle_smooth_callback), (image_window_new), (main): * test/test-eel-image-table.c: (labeled_image_new), (image_table_child_enter_callback), (image_table_child_leave_callback), (image_table_child_pressed_callback), (image_table_child_released_callback), (image_table_child_clicked_callback), (image_table_size_allocate), (image_table_new_scrolled): * test/test-eel-image-tile.c: (window_new_with_eel_background_image), (window_new_with_eel_background_gradient), (window_four_new), (main): * test/test-eel-image.c: (icon_get_path), (label_new), (label_enter_event), (label_leave_event), (label_free_data), (image_new), (image_new_from_name), (label_add_prelighting), (header_new), (main): * test/test-eel-label-background.c: (window_new_with_eel_background_image), (window_new_with_eel_background_gradient), (window_new_with_solid_background), (main): * test/test-eel-label-flavorful.c: (increasing_label_window_new), (decreasing_label_window_new), (main): * test/test-eel-label-offset.c: (main): * test/test-eel-label-scrolled.c: (label_window_new), (label_window_new_scrolled), (label_window_new_table): * test/test-eel-label-simple.c: (use_system_font_callback), (use_system_font_bold_callback), (main): * test/test-eel-label-wrapped.c: (create_eel_label), (create_gtk_label_window), (create_eel_label_window), (main): * test/test-eel-label.c: (red_label_color_value_changed_callback), (green_label_color_value_changed_callback), (blue_label_color_value_changed_callback), (alpha_label_color_value_changed_callback), (red_background_color_value_changed_callback), (green_background_color_value_changed_callback), (blue_background_color_value_changed_callback), (alpha_background_color_value_changed_callback), (text_caption_changed_callback), (create_value_scale), (create_color_picker_frame), (create_text_caption_frame), (widget_set_eel_background_image), (widget_set_eel_background_color), (widget_get_eel_background_color), (widget_set_background_reset), (background_changed_callback), (justification_changed_callback), (drop_shadow_offset_changed_callback), (create_background_frame), (create_justification_frame), (create_drop_shadow_offset_frame), (main): * test/test-eel-labeled-image.c: (labeled_image_new), (labeled_image_window_new), (labeled_image_button_window_new), (main): * test/test-eel-password-dialog.c: (authenticate_boink_callback): * test/test-eel-pixbuf-tile.c: (pixbuf_drawing_area_expose_event), (drawable_drawing_area_expose_event): * test/test-eel-smooth-text-layout.c: (main): * test/test-eel-viewport-constraint.c: (widget_set_eel_background_color), (create_eel_label), (summary_view_item_label_new), (create_row), (main): * test/test-eel-widgets.c: (create_pixbuf), (radio_group_load_it_up), (test_radio_group), (test_radio_group_horizontal), (test_caption_table), (test_string_picker), (test_text_caption), (string_picker_changed_callback), (text_caption_changed_callback), (test_radio_changed_callback): * test/test.c: (test_init), (test_gtk_widget_set_background_image), (test_gtk_widget_set_background_color), (test_pixbuf_new_named), (test_image_new), (test_label_new), (test_text_caption_get_text_as_int), (test_pixbuf_draw_rectangle_tiled): * test/test.h: 2001-03-28 Ramiro Estrugo Started ChangeLog # Local Variables: # coding: utf-8 # End: nemo-1.8.4/eel/Makefile.am000066400000000000000000000032061216702421000152570ustar00rootroot00000000000000NULL= noinst_LTLIBRARIES=libeel-2.la INCLUDES = \ -DG_LOG_DOMAIN=\"Eel\" \ -I$(top_srcdir) \ -I$(top_builddir) \ $(BASE_CFLAGS) \ $(COMMON_CFLAGS) \ $(WARNING_CFLAGS) \ $(DISABLE_DEPRECATED_CFLAGS) \ -DDATADIR=\""$(datadir)"\" \ -DSOURCE_DATADIR=\""$(top_srcdir)/data"\" \ -DGNOMELOCALEDIR=\""$(prefix)/${DATADIRNAME}/locale"\" \ $(NULL) libeel_2_la_LDFLAGS = \ -no-undefined \ $(NULL) libeel_2_la_LIBADD = \ $(BASE_LIBS) \ $(COMMON_LIBS) \ $(RENDER_LIBS) \ -lm \ $(NULL) eel_headers = \ eel-accessibility.h \ eel-art-extensions.h \ eel-canvas.h \ eel-debug.h \ eel-editable-label.h \ eel-gdk-extensions.h \ eel-glib-extensions.h \ eel-gnome-extensions.h \ eel-graphic-effects.h \ eel-gtk-extensions.h \ eel-self-checks.h \ eel-stock-dialogs.h \ eel-string.h \ eel-vfs-extensions.h \ eel.h \ $(NULL) libeel_2_la_SOURCES = \ eel-accessibility.c \ eel-art-extensions.c \ eel-canvas.c \ eel-debug.c \ eel-editable-label.c \ eel-gdk-extensions.c \ eel-glib-extensions.c \ eel-gnome-extensions.c \ eel-graphic-effects.c \ eel-gtk-extensions.c \ eel-lib-self-check-functions.c \ eel-self-checks.c \ eel-stock-dialogs.c \ eel-string.c \ eel-vfs-extensions.c \ eel-lib-self-check-functions.h \ $(eel_headers) \ $(NULL) noinst_PROGRAMS = check-program check_program_SOURCES = check-program.c check_program_DEPENDENCIES = libeel-2.la check_program_LDADD = $(EEL_LIBS) check_program_LDFLAGS = $(check_program_DEPENDENCIES) -lm TESTS = check-eel EXTRA_DIST = \ check-eel \ $(NULL) nemo-1.8.4/eel/README000066400000000000000000000000351216702421000141000ustar00rootroot00000000000000README for eel/eel Writeme nemo-1.8.4/eel/check-eel000077500000000000000000000000731216702421000147700ustar00rootroot00000000000000#!/bin/sh ./check-program --g-fatal-warnings --sm-disable nemo-1.8.4/eel/check-program.c000066400000000000000000000032321216702421000161100ustar00rootroot00000000000000/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */ /* check-program.c: A simple driver for eel self checks. Copyright (C) 2000 Eazel, Inc. The Gnome Library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. The Gnome Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with the Gnome Library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 51 Franklin Street - Suite 500, Boston, MA 02110-1335, USA. Authors: Ramiro Estrugo */ #include #include #include #include #include #include #include #include #include int main (int argc, char *argv[]) { #if !defined (EEL_OMIT_SELF_CHECK) eel_make_warnings_and_criticals_stop_in_debugger (); LIBXML_TEST_VERSION gtk_init (&argc, &argv); /* Run the checks for eel twice. */ eel_run_lib_self_checks (); eel_exit_if_self_checks_failed (); eel_run_lib_self_checks (); eel_exit_if_self_checks_failed (); eel_debug_shut_down (); #endif /* !EEL_OMIT_SELF_CHECK */ return EXIT_SUCCESS; } nemo-1.8.4/eel/eel-accessibility.c000066400000000000000000000221021216702421000167550ustar00rootroot00000000000000/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */ /* eel-accessibility.h - Utility functions for accessibility Copyright (C) 2002 Anders Carlsson, Sun Microsystems, Inc. The Eel Library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. The Eel Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with the Eel Library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 51 Franklin Street - Suite 500, Boston, MA 02110-1335, USA. Authors: Anders Carlsson Michael Meeks */ #include #include #include #include void eel_accessibility_set_up_label_widget_relation (GtkWidget *label, GtkWidget *widget) { AtkObject *atk_widget, *atk_label; atk_label = gtk_widget_get_accessible (label); atk_widget = gtk_widget_get_accessible (widget); /* Create the label -> widget relation */ atk_object_add_relationship (atk_label, ATK_RELATION_LABEL_FOR, atk_widget); /* Create the widget -> label relation */ atk_object_add_relationship (atk_widget, ATK_RELATION_LABELLED_BY, atk_label); } /* * Hacks to make re-using gail somewhat easier. */ /** * eel_accessibility_create_derived_type: * @type_name: the name for the new accessible type eg. NemoIconCanvasItemAccessible * @existing_gobject_with_proxy: the GType of an object that has a registered factory that * manufactures the type we want to inherit from. ie. to inherit from a GailCanvasItem * we need to pass GNOME_TYPE_CANVAS_ITEM - since GailCanvasItem is registered against * that type. * @opt_gail_parent_class: the name of the Gail class to derive from eg. GailCanvasItem * @class_init: the init function to run for this class * * This should be run to register the type, it can subsequently be run with * the same name and will not re-register it, but simply return it. * * NB. to do instance init, you prolly want to override AtkObject::initialize * * Return value: the registered type, or 0 on failure. **/ GType eel_accessibility_create_derived_type (const char *type_name, GType existing_gobject_with_proxy, EelAccessibilityClassInitFn class_init) { GType type; GType parent_atk_type; GTypeInfo tinfo = { 0 }; GTypeQuery query; AtkObjectFactory *factory; if ((type = g_type_from_name (type_name))) { return type; } factory = atk_registry_get_factory (atk_get_default_registry (), existing_gobject_with_proxy); if (!factory) { return G_TYPE_INVALID; } parent_atk_type = atk_object_factory_get_accessible_type (factory); if (!parent_atk_type) { return G_TYPE_INVALID; } /* * Figure out the size of the class and instance * we are deriving from */ g_type_query (parent_atk_type, &query); if (class_init) { tinfo.class_init = (GClassInitFunc) class_init; } tinfo.class_size = query.class_size; tinfo.instance_size = query.instance_size; /* Register the type */ type = g_type_register_static ( parent_atk_type, type_name, &tinfo, 0); return type; } static GQuark get_quark_accessible (void) { static GQuark quark_accessible_object = 0; if (!quark_accessible_object) { quark_accessible_object = g_quark_from_static_string ("accessible-object"); } return quark_accessible_object; } static GQuark get_quark_gobject (void) { static GQuark quark_accessible_gobject = 0; if (!quark_accessible_gobject) { quark_accessible_gobject = g_quark_from_static_string ("object-for-accessible"); } return quark_accessible_gobject; } /** * eel_accessibility_get_atk_object: * @object: a GObject of some sort * * gets an AtkObject associated with a GObject * * Return value: the associated accessible if one exists or NULL **/ AtkObject * eel_accessibility_get_atk_object (gpointer object) { return g_object_get_qdata (object, get_quark_accessible ()); } /** * eel_accessibilty_for_object: * @object: a GObject of some sort * * gets an AtkObject associated with a GObject and if it doesn't * exist creates a suitable accessible object. * * Return value: an associated accessible. **/ AtkObject * eel_accessibility_for_object (gpointer object) { if (GTK_IS_WIDGET (object)) return gtk_widget_get_accessible (object); return atk_gobject_accessible_for_object (object); } /** * eel_accessibility_get_gobject: * @object: an AtkObject * * gets the GObject associated with the AtkObject, for which * @object provides accessibility support. * * Return value: the accessible's associated GObject **/ gpointer eel_accessibility_get_gobject (AtkObject *object) { return g_object_get_qdata (G_OBJECT (object), get_quark_gobject ()); } static void eel_accessibility_destroy (gpointer data, GObject *where_the_object_was) { g_object_set_qdata (G_OBJECT (data), get_quark_gobject (), NULL); atk_object_notify_state_change (ATK_OBJECT (data), ATK_STATE_DEFUNCT, TRUE); g_object_unref (data); } /** * eel_accessibility_set_atk_object_return: * @object: a GObject * @atk_object: it's AtkObject * * used to register and return a new accessible object for something * * Return value: @atk_object. **/ AtkObject * eel_accessibility_set_atk_object_return (gpointer object, AtkObject *atk_object) { atk_object_initialize (atk_object, object); if (!ATK_IS_GOBJECT_ACCESSIBLE (atk_object)) { g_object_set_qdata_full (object, get_quark_accessible (), atk_object, (GDestroyNotify)eel_accessibility_destroy); g_object_set_qdata (G_OBJECT (atk_object), get_quark_gobject (), object); } return atk_object; } static GailTextUtil * get_simple_text (gpointer object) { GObject *gobject; EelAccessibleTextIface *aif; if (GTK_IS_ACCESSIBLE (object)) { gobject = G_OBJECT (gtk_accessible_get_widget (GTK_ACCESSIBLE (object))); } else { gobject = eel_accessibility_get_gobject (object); } if (!gobject) { return NULL; } aif = EEL_ACCESSIBLE_TEXT_GET_IFACE (gobject); if (!aif) { g_warning ("No accessible text inferface on '%s'", g_type_name_from_instance ((gpointer) gobject)); } else if (aif->get_text) { return aif->get_text (gobject); } return NULL; } char * eel_accessibility_text_get_text (AtkText *text, gint start_pos, gint end_pos) { GailTextUtil *util = get_simple_text (text); g_return_val_if_fail (util != NULL, NULL); return gail_text_util_get_substring (util, start_pos, end_pos); } gunichar eel_accessibility_text_get_character_at_offset (AtkText *text, gint offset) { char *txt, *index; gint sucks1 = 0, sucks2 = -1; gunichar c; GailTextUtil *util = get_simple_text (text); g_return_val_if_fail (util != NULL, 0); txt = gail_text_util_get_substring (util, sucks1, sucks2); index = g_utf8_offset_to_pointer (txt, offset); c = g_utf8_get_char (index); g_free (txt); return c; } char * eel_accessibility_text_get_text_before_offset (AtkText *text, gint offset, AtkTextBoundary boundary_type, gint *start_offset, gint *end_offset) { GailTextUtil *util = get_simple_text (text); g_return_val_if_fail (util != NULL, NULL); return gail_text_util_get_text ( util, NULL, GAIL_BEFORE_OFFSET, boundary_type, offset, start_offset, end_offset); } char * eel_accessibility_text_get_text_at_offset (AtkText *text, gint offset, AtkTextBoundary boundary_type, gint *start_offset, gint *end_offset) { GailTextUtil *util = get_simple_text (text); g_return_val_if_fail (util != NULL, NULL); return gail_text_util_get_text ( util, NULL, GAIL_AT_OFFSET, boundary_type, offset, start_offset, end_offset); } gchar* eel_accessibility_text_get_text_after_offset (AtkText *text, gint offset, AtkTextBoundary boundary_type, gint *start_offset, gint *end_offset) { GailTextUtil *util = get_simple_text (text); g_return_val_if_fail (util != NULL, NULL); return gail_text_util_get_text ( util, NULL, GAIL_AFTER_OFFSET, boundary_type, offset, start_offset, end_offset); } gint eel_accessibility_text_get_character_count (AtkText *text) { GailTextUtil *util = get_simple_text (text); g_return_val_if_fail (util != NULL, -1); return gtk_text_buffer_get_char_count (util->buffer); } GType eel_accessible_text_get_type (void) { static GType type = 0; if (!type) { const GTypeInfo tinfo = { sizeof (AtkTextIface), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) NULL, (GClassFinalizeFunc) NULL }; type = g_type_register_static ( G_TYPE_INTERFACE, "EelAccessibleText", &tinfo, 0); } return type; } nemo-1.8.4/eel/eel-accessibility.h000066400000000000000000000115261216702421000167720ustar00rootroot00000000000000/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */ /* eel-accessibility.h - Utility functions for accessibility Copyright (C) 2002 Anders Carlsson The Eel Library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. The Eel Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with the Eel Library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 51 Franklin Street - Suite 500, Boston, MA 02110-1335, USA. Authors: Anders Carlsson */ #ifndef EEL_ACCESSIBILITY_H #define EEL_ACCESSIBILITY_H #include #include #include #include #include #include void eel_accessibility_set_up_label_widget_relation (GtkWidget *label, GtkWidget *widget); typedef void (*EelAccessibilityClassInitFn) (AtkObjectClass *klass); AtkObject *eel_accessibility_get_atk_object (gpointer object); AtkObject *eel_accessibility_for_object (gpointer object); gpointer eel_accessibility_get_gobject (AtkObject *object); AtkObject *eel_accessibility_set_atk_object_return (gpointer object, AtkObject *atk_object); GType eel_accessibility_create_derived_type (const char *type_name, GType existing_gobject_with_proxy, EelAccessibilityClassInitFn class_init); char* eel_accessibility_text_get_text (AtkText *text, gint start_pos, gint end_pos); gunichar eel_accessibility_text_get_character_at_offset (AtkText *text, gint offset); char* eel_accessibility_text_get_text_before_offset (AtkText *text, gint offset, AtkTextBoundary boundary_type, gint *start_offset, gint *end_offset); char* eel_accessibility_text_get_text_at_offset (AtkText *text, gint offset, AtkTextBoundary boundary_type, gint *start_offset, gint *end_offset); char* eel_accessibility_text_get_text_after_offset (AtkText *text, gint offset, AtkTextBoundary boundary_type, gint *start_offset, gint *end_offset); gint eel_accessibility_text_get_character_count (AtkText *text); #define EEL_TYPE_ACCESSIBLE_TEXT (eel_accessible_text_get_type ()) #define EEL_IS_ACCESSIBLE_TEXT(obj) G_TYPE_CHECK_INSTANCE_TYPE ((obj), EEL_TYPE_ACCESSIBLE_TEXT) #define EEL_ACCESSIBLE_TEXT(obj) G_TYPE_CHECK_INSTANCE_CAST ((obj), EEL_TYPE_ACCESSIBLE_TEXT, EelAccessibleText) #define EEL_ACCESSIBLE_TEXT_GET_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), EEL_TYPE_ACCESSIBLE_TEXT, EelAccessibleTextIface)) /* Instead of implementing the AtkText interface, implement this */ typedef struct _EelAccessibleText EelAccessibleText; typedef struct { GTypeInterface parent; GailTextUtil *(*get_text) (GObject *text); PangoLayout *(*get_layout) (GObject *text); } EelAccessibleTextIface; GType eel_accessible_text_get_type (void); #endif /* EEL_ACCESSIBILITY_H */ nemo-1.8.4/eel/eel-art-extensions.c000066400000000000000000000106201216702421000171130ustar00rootroot00000000000000/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */ /* eel-art-extensions.c - implementation of libart extension functions. Copyright (C) 2000 Eazel, Inc. The Gnome Library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. The Gnome Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with the Gnome Library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 51 Franklin Street - Suite 500, Boston, MA 02110-1335, USA. Authors: Darin Adler Ramiro Estrugo */ #include #include "eel-art-extensions.h" #include "eel-lib-self-check-functions.h" #include const EelDRect eel_drect_empty = { 0.0, 0.0, 0.0, 0.0 }; const EelIRect eel_irect_empty = { 0, 0, 0, 0 }; void eel_irect_copy (EelIRect *dest, const EelIRect *src) { dest->x0 = src->x0; dest->y0 = src->y0; dest->x1 = src->x1; dest->y1 = src->y1; } void eel_irect_union (EelIRect *dest, const EelIRect *src1, const EelIRect *src2) { if (eel_irect_is_empty (src1)) { eel_irect_copy (dest, src2); } else if (eel_irect_is_empty (src2)) { eel_irect_copy (dest, src1); } else { dest->x0 = MIN (src1->x0, src2->x0); dest->y0 = MIN (src1->y0, src2->y0); dest->x1 = MAX (src1->x1, src2->x1); dest->y1 = MAX (src1->y1, src2->y1); } } void eel_irect_intersect (EelIRect *dest, const EelIRect *src1, const EelIRect *src2) { dest->x0 = MAX (src1->x0, src2->x0); dest->y0 = MAX (src1->y0, src2->y0); dest->x1 = MIN (src1->x1, src2->x1); dest->y1 = MIN (src1->y1, src2->y1); } gboolean eel_irect_is_empty (const EelIRect *src) { return (src->x1 <= src->x0 || src->y1 <= src->y0); } /** * eel_irect_get_width: * * @rectangle: An EelIRect. * * Returns: The width of the rectangle. * */ int eel_irect_get_width (EelIRect rectangle) { return rectangle.x1 - rectangle.x0; } /** * eel_irect_get_height: * * @rectangle: An EelIRect. * * Returns: The height of the rectangle. * */ int eel_irect_get_height (EelIRect rectangle) { return rectangle.y1 - rectangle.y0; } static void eel_drect_copy (EelDRect *dest, const EelDRect *src) { dest->x0 = src->x0; dest->y0 = src->y0; dest->x1 = src->x1; dest->y1 = src->y1; } static gboolean eel_drect_is_empty (const EelDRect *src) { return (src->x1 <= src->x0 || src->y1 <= src->y0); } void eel_drect_union (EelDRect *dest, const EelDRect *src1, const EelDRect *src2) { if (eel_drect_is_empty (src1)) { eel_drect_copy (dest, src2); } else if (eel_drect_is_empty (src2)) { eel_drect_copy (dest, src1); } else { dest->x0 = MIN (src1->x0, src2->x0); dest->y0 = MIN (src1->y0, src2->y0); dest->x1 = MAX (src1->x1, src2->x1); dest->y1 = MAX (src1->y1, src2->y1); } } /** * eel_irect_contains_point: * * @rectangle: An EelIRect. * @x: X coordinate to test. * @y: Y coordinate to test. * * Returns: A boolean value indicating whether the rectangle * contains the x,y coordinate. * */ gboolean eel_irect_contains_point (EelIRect rectangle, int x, int y) { return x >= rectangle.x0 && x <= rectangle.x1 && y >= rectangle.y0 && y <= rectangle.y1; } gboolean eel_irect_hits_irect (EelIRect rectangle_a, EelIRect rectangle_b) { EelIRect intersection; eel_irect_intersect (&intersection, &rectangle_a, &rectangle_b); return !eel_irect_is_empty (&intersection); } gboolean eel_irect_equal (EelIRect rectangle_a, EelIRect rectangle_b) { return rectangle_a.x0 == rectangle_b.x0 && rectangle_a.y0 == rectangle_b.y0 && rectangle_a.x1 == rectangle_b.x1 && rectangle_a.y1 == rectangle_b.y1; } EelIRect eel_irect_offset_by (EelIRect rectangle, int x, int y) { rectangle.x0 += x; rectangle.x1 += x; rectangle.y0 += y; rectangle.y1 += y; return rectangle; } EelIRect eel_irect_scale_by (EelIRect rectangle, double scale) { rectangle.x0 *= scale; rectangle.x1 *= scale; rectangle.y0 *= scale; rectangle.y1 *= scale; return rectangle; } nemo-1.8.4/eel/eel-art-extensions.h000066400000000000000000000050661216702421000171300ustar00rootroot00000000000000/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */ /* eel-art-extensions.h - interface of libart extension functions. Copyright (C) 2000 Eazel, Inc. The Gnome Library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. The Gnome Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with the Gnome Library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 51 Franklin Street - Suite 500, Boston, MA 02110-1335, USA. Authors: Darin Adler Ramiro Estrugo */ #ifndef EEL_ART_EXTENSIONS_H #define EEL_ART_EXTENSIONS_H #include G_BEGIN_DECLS typedef struct { double x0, y0, x1, y1; } EelDRect; typedef struct { /*< public >*/ int x0, y0, x1, y1; } EelIRect; extern const EelDRect eel_drect_empty; extern const EelIRect eel_irect_empty; void eel_irect_copy (EelIRect *dest, const EelIRect *src); void eel_irect_union (EelIRect *dest, const EelIRect *src1, const EelIRect *src2); void eel_irect_intersect (EelIRect *dest, const EelIRect *src1, const EelIRect *src2); gboolean eel_irect_equal (EelIRect rectangle_a, EelIRect rectangle_b); gboolean eel_irect_hits_irect (EelIRect rectangle_a, EelIRect rectangle_b); EelIRect eel_irect_offset_by (EelIRect rectangle, int x, int y); EelIRect eel_irect_scale_by (EelIRect rectangle, double scale); gboolean eel_irect_is_empty (const EelIRect *rectangle); gboolean eel_irect_contains_point (EelIRect outer_rectangle, int x, int y); int eel_irect_get_width (EelIRect rectangle); int eel_irect_get_height (EelIRect rectangle); void eel_drect_union (EelDRect *dest, const EelDRect *src1, const EelDRect *src2); G_END_DECLS #endif /* EEL_ART_EXTENSIONS_H */ nemo-1.8.4/eel/eel-canvas.c000066400000000000000000003425001216702421000154100ustar00rootroot00000000000000/* -*- Mode: C; tab-width: 8; indent-tabs-mode: 8; c-basic-offset: 8 -*- */ /* * Copyright (C) 1997, 1998, 1999, 2000 Free Software Foundation * All rights reserved. * * This file is part of the Gnome Library. * * The Gnome Library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public License as * published by the Free Software Foundation; either version 2 of the * License, or (at your option) any later version. * * The Gnome Library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with the Gnome Library; see the file COPYING.LIB. If not, * write to the Free Software Foundation, Inc., 51 Franklin Street - Suite 500, * Boston, MA 02110-1335, USA. */ /* @NOTATION@ */ /* * EelCanvas widget - Tk-like canvas widget for Gnome * * EelCanvas is basically a port of the Tk toolkit's most excellent canvas widget. Tk is * copyrighted by the Regents of the University of California, Sun Microsystems, and other parties. * * * Authors: Federico Mena * Raph Levien */ /* * TO-DO list for the canvas: * * - Allow to specify whether EelCanvasImage sizes are in units or pixels (scale or don't scale). * * - Implement a flag for eel_canvas_item_reparent() that tells the function to keep the item * visually in the same place, that is, to keep it in the same place with respect to the canvas * origin. * * - GC put functions for items. * * - Widget item (finish it). * * - GList *eel_canvas_gimme_all_items_contained_in_this_area (EelCanvas *canvas, Rectangle area); * * - Retrofit all the primitive items with microtile support. * * - Curve support for line item. * * - Arc item (Havoc has it; to be integrated in EelCanvasEllipse). * * - Sane font handling API. * * - Get_arg methods for items: * - How to fetch the outline width and know whether it is in pixels or units? */ #include #include #include #include #include #include #include #include #include "eel-canvas.h" static void eel_canvas_request_update (EelCanvas *canvas); static void group_add (EelCanvasGroup *group, EelCanvasItem *item); static void group_remove (EelCanvasGroup *group, EelCanvasItem *item); static void redraw_and_repick_if_mapped (EelCanvasItem *item); /*** EelCanvasItem ***/ /* Some convenience stuff */ #define GCI_UPDATE_MASK (EEL_CANVAS_UPDATE_REQUESTED | EEL_CANVAS_UPDATE_DEEP) #define GCI_EPSILON 1e-18 enum { ITEM_PROP_0, ITEM_PROP_PARENT, ITEM_PROP_VISIBLE }; enum { ITEM_DESTROY, ITEM_EVENT, ITEM_LAST_SIGNAL }; static void eel_canvas_item_class_init (EelCanvasItemClass *klass); static void eel_canvas_item_init (EelCanvasItem *item); static int emit_event (EelCanvas *canvas, GdkEvent *event); static guint item_signals[ITEM_LAST_SIGNAL]; static GObjectClass *item_parent_class; static gpointer accessible_item_parent_class; static gpointer accessible_parent_class; /** * eel_canvas_item_get_type: * * Registers the &EelCanvasItem class if necessary, and returns the type ID * associated to it. * * Return value: The type ID of the &EelCanvasItem class. **/ GType eel_canvas_item_get_type (void) { static GType canvas_item_type = 0; if (!canvas_item_type) { static const GTypeInfo canvas_item_info = { sizeof (EelCanvasItemClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) eel_canvas_item_class_init, NULL, /* class_finalize */ NULL, /* class_data */ sizeof (EelCanvasItem), 0, /* n_preallocs */ (GInstanceInitFunc) eel_canvas_item_init }; canvas_item_type = g_type_register_static (G_TYPE_INITIALLY_UNOWNED, "EelCanvasItem", &canvas_item_info, 0); } return canvas_item_type; } /* Object initialization function for EelCanvasItem */ static void eel_canvas_item_init (EelCanvasItem *item) { item->flags |= EEL_CANVAS_ITEM_VISIBLE; } /** * eel_canvas_item_new: * @parent: The parent group for the new item. * @type: The object type of the item. * @first_arg_name: A list of object argument name/value pairs, NULL-terminated, * used to configure the item. For example, "fill_color", "black", * "width_units", 5.0, NULL. * @Varargs: * * Creates a new canvas item with @parent as its parent group. The item is * created at the top of its parent's stack, and starts up as visible. The item * is of the specified @type, for example, it can be * eel_canvas_rect_get_type(). The list of object arguments/value pairs is * used to configure the item. * * Return value: The newly-created item. **/ EelCanvasItem * eel_canvas_item_new (EelCanvasGroup *parent, GType type, const gchar *first_arg_name, ...) { EelCanvasItem *item; va_list args; g_return_val_if_fail (EEL_IS_CANVAS_GROUP (parent), NULL); g_return_val_if_fail (g_type_is_a (type, eel_canvas_item_get_type ()), NULL); item = EEL_CANVAS_ITEM (g_object_new (type, NULL)); va_start (args, first_arg_name); eel_canvas_item_construct (item, parent, first_arg_name, args); va_end (args); return item; } /* Performs post-creation operations on a canvas item (adding it to its parent * group, etc.) */ static void item_post_create_setup (EelCanvasItem *item) { group_add (EEL_CANVAS_GROUP (item->parent), item); redraw_and_repick_if_mapped (item); } /* Set_property handler for canvas items */ static void eel_canvas_item_set_property (GObject *gobject, guint param_id, const GValue *value, GParamSpec *pspec) { EelCanvasItem *item; g_return_if_fail (EEL_IS_CANVAS_ITEM (gobject)); item = EEL_CANVAS_ITEM (gobject); switch (param_id) { case ITEM_PROP_PARENT: if (item->parent != NULL) { g_warning ("Cannot set `parent' argument after item has " "already been constructed."); } else if (g_value_get_object (value)) { item->parent = EEL_CANVAS_ITEM (g_value_get_object (value)); item->canvas = item->parent->canvas; item_post_create_setup (item); } break; case ITEM_PROP_VISIBLE: if (g_value_get_boolean (value)) { eel_canvas_item_show (item); } else { eel_canvas_item_hide (item); } break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, param_id, pspec); break; } } /* Get_property handler for canvas items */ static void eel_canvas_item_get_property (GObject *gobject, guint param_id, GValue *value, GParamSpec *pspec) { EelCanvasItem *item; g_return_if_fail (EEL_IS_CANVAS_ITEM (gobject)); item = EEL_CANVAS_ITEM (gobject); switch (param_id) { case ITEM_PROP_VISIBLE: g_value_set_boolean (value, item->flags & EEL_CANVAS_ITEM_VISIBLE); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, param_id, pspec); break; } } /** * eel_canvas_item_construct: * @item: An unconstructed canvas item. * @parent: The parent group for the item. * @first_arg_name: The name of the first argument for configuring the item. * @args: The list of arguments used to configure the item. * * Constructs a canvas item; meant for use only by item implementations. **/ void eel_canvas_item_construct (EelCanvasItem *item, EelCanvasGroup *parent, const gchar *first_arg_name, va_list args) { g_return_if_fail (EEL_IS_CANVAS_GROUP (parent)); g_return_if_fail (EEL_IS_CANVAS_ITEM (item)); item->parent = EEL_CANVAS_ITEM (parent); item->canvas = item->parent->canvas; g_object_set_valist (G_OBJECT (item), first_arg_name, args); item_post_create_setup (item); } static void redraw_and_repick_if_mapped (EelCanvasItem *item) { if (item->flags & EEL_CANVAS_ITEM_MAPPED) { eel_canvas_item_request_redraw (item); item->canvas->need_repick = TRUE; } } /* Dispose handler for canvas items */ static void eel_canvas_item_dispose (GObject *object) { EelCanvasItem *item; g_return_if_fail (EEL_IS_CANVAS_ITEM (object)); item = EEL_CANVAS_ITEM (object); if (item->canvas) { eel_canvas_item_request_redraw (item); /* Make the canvas forget about us */ if (item == item->canvas->current_item) { item->canvas->current_item = NULL; item->canvas->need_repick = TRUE; } if (item == item->canvas->new_current_item) { item->canvas->new_current_item = NULL; item->canvas->need_repick = TRUE; } eel_canvas_item_ungrab (item, GDK_CURRENT_TIME); if (item == item->canvas->focused_item) item->canvas->focused_item = NULL; /* Normal destroy stuff */ if (item->flags & EEL_CANVAS_ITEM_MAPPED) (* EEL_CANVAS_ITEM_GET_CLASS (item)->unmap) (item); if (item->flags & EEL_CANVAS_ITEM_REALIZED) (* EEL_CANVAS_ITEM_GET_CLASS (item)->unrealize) (item); if (item->parent) group_remove (EEL_CANVAS_GROUP (item->parent), item); item->canvas = NULL; } g_object_set_data (object, "in-destruction", GINT_TO_POINTER (1)); g_signal_emit (object, item_signals[ITEM_DESTROY], 0); g_object_set_data (object, "in-destruction", NULL); G_OBJECT_CLASS (item_parent_class)->dispose (object); } void eel_canvas_item_destroy (EelCanvasItem *item) { if (g_object_get_data (G_OBJECT (item), "in-destruction") == NULL) { g_object_run_dispose (G_OBJECT (item)); } } /* Realize handler for canvas items */ static void eel_canvas_item_realize (EelCanvasItem *item) { if (item->parent && !(item->parent->flags & EEL_CANVAS_ITEM_REALIZED)) (* EEL_CANVAS_ITEM_GET_CLASS (item->parent)->realize) (item->parent); if (item->parent == NULL && !gtk_widget_get_realized (GTK_WIDGET (item->canvas))) gtk_widget_realize (GTK_WIDGET (item->canvas)); item->flags |= EEL_CANVAS_ITEM_REALIZED; eel_canvas_item_request_update (item); } /* Unrealize handler for canvas items */ static void eel_canvas_item_unrealize (EelCanvasItem *item) { if (item->flags & EEL_CANVAS_ITEM_MAPPED) (* EEL_CANVAS_ITEM_GET_CLASS (item)->unmap) (item); item->flags &= ~(EEL_CANVAS_ITEM_REALIZED); } /* Map handler for canvas items */ static void eel_canvas_item_map (EelCanvasItem *item) { item->flags |= EEL_CANVAS_ITEM_MAPPED; } /* Unmap handler for canvas items */ static void eel_canvas_item_unmap (EelCanvasItem *item) { item->flags &= ~(EEL_CANVAS_ITEM_MAPPED); } /* Update handler for canvas items */ static void eel_canvas_item_update (EelCanvasItem *item, double i2w_dx, double i2w_dy, int flags) { item->flags &= ~(EEL_CANVAS_ITEM_NEED_UPDATE); item->flags &= ~(EEL_CANVAS_ITEM_NEED_DEEP_UPDATE); } /* * This routine invokes the update method of the item * Please notice, that we take parent to canvas pixel matrix as argument * unlike virtual method ::update, whose argument is item 2 canvas pixel * matrix * * I will try to force somewhat meaningful naming for affines (Lauris) * General naming rule is FROM2TO, where FROM and TO are abbreviations * So p2cpx is Parent2CanvasPixel and i2cpx is Item2CanvasPixel * I hope that this helps to keep track of what really happens * */ static void eel_canvas_item_invoke_update (EelCanvasItem *item, double i2w_dx, double i2w_dy, int flags) { int child_flags; child_flags = flags; /* apply object flags to child flags */ child_flags &= ~EEL_CANVAS_UPDATE_REQUESTED; if (item->flags & EEL_CANVAS_ITEM_NEED_UPDATE) child_flags |= EEL_CANVAS_UPDATE_REQUESTED; if (item->flags & EEL_CANVAS_ITEM_NEED_DEEP_UPDATE) child_flags |= EEL_CANVAS_UPDATE_DEEP; if (child_flags & GCI_UPDATE_MASK) { if (EEL_CANVAS_ITEM_GET_CLASS (item)->update) EEL_CANVAS_ITEM_GET_CLASS (item)->update (item, i2w_dx, i2w_dy, child_flags); } /* If this fail you probably forgot to chain up to * EelCanvasItem::update from a derived class */ g_return_if_fail (!(item->flags & EEL_CANVAS_ITEM_NEED_UPDATE)); } /* * This routine invokes the point method of the item. * The arguments x, y should be in the parent item local coordinates. */ static double eel_canvas_item_invoke_point (EelCanvasItem *item, double x, double y, int cx, int cy, EelCanvasItem **actual_item) { /* Calculate x & y in item local coordinates */ if (EEL_CANVAS_ITEM_GET_CLASS (item)->point) return EEL_CANVAS_ITEM_GET_CLASS (item)->point (item, x, y, cx, cy, actual_item); return 1e18; } /** * eel_canvas_item_set: * @item: A canvas item. * @first_arg_name: The list of object argument name/value pairs used to configure the item. * @Varargs: * * Configures a canvas item. The arguments in the item are set to the specified * values, and the item is repainted as appropriate. **/ void eel_canvas_item_set (EelCanvasItem *item, const gchar *first_arg_name, ...) { va_list args; va_start (args, first_arg_name); eel_canvas_item_set_valist (item, first_arg_name, args); va_end (args); } /** * eel_canvas_item_set_valist: * @item: A canvas item. * @first_arg_name: The name of the first argument used to configure the item. * @args: The list of object argument name/value pairs used to configure the item. * * Configures a canvas item. The arguments in the item are set to the specified * values, and the item is repainted as appropriate. **/ void eel_canvas_item_set_valist (EelCanvasItem *item, const gchar *first_arg_name, va_list args) { g_return_if_fail (EEL_IS_CANVAS_ITEM (item)); g_object_set_valist (G_OBJECT (item), first_arg_name, args); item->canvas->need_repick = TRUE; } /** * eel_canvas_item_move: * @item: A canvas item. * @dx: Horizontal offset. * @dy: Vertical offset. * * Moves a canvas item by creating an affine transformation matrix for * translation by using the specified values. This happens in item * local coordinate system, so if you have nontrivial transform, it * most probably does not do, what you want. **/ void eel_canvas_item_move (EelCanvasItem *item, double dx, double dy) { g_return_if_fail (item != NULL); g_return_if_fail (EEL_IS_CANVAS_ITEM (item)); if (!EEL_CANVAS_ITEM_GET_CLASS (item)->translate) { g_warning ("Item type %s does not implement translate method.\n", g_type_name (G_OBJECT_TYPE (item))); return; } (* EEL_CANVAS_ITEM_GET_CLASS (item)->translate) (item, dx, dy); if (item->flags & EEL_CANVAS_ITEM_MAPPED) item->canvas->need_repick = TRUE; if (!(item->flags & EEL_CANVAS_ITEM_NEED_DEEP_UPDATE)) { item->flags |= EEL_CANVAS_ITEM_NEED_DEEP_UPDATE; if (item->parent != NULL) eel_canvas_item_request_update (item->parent); else eel_canvas_request_update (item->canvas); } } static void eel_canvas_queue_resize (EelCanvas *canvas) { if (gtk_widget_is_drawable (GTK_WIDGET (canvas))) gtk_widget_queue_resize (GTK_WIDGET (canvas)); } /* Convenience function to reorder items in a group's child list. This puts the * specified link after the "before" link. Returns TRUE if the list was changed. */ static gboolean put_item_after (GList *link, GList *before) { EelCanvasGroup *parent; if (link == before) return FALSE; parent = EEL_CANVAS_GROUP (EEL_CANVAS_ITEM (link->data)->parent); if (before == NULL) { if (link == parent->item_list) return FALSE; link->prev->next = link->next; if (link->next) link->next->prev = link->prev; else parent->item_list_end = link->prev; link->prev = before; link->next = parent->item_list; link->next->prev = link; parent->item_list = link; } else { if ((link == parent->item_list_end) && (before == parent->item_list_end->prev)) return FALSE; if (link->next) link->next->prev = link->prev; if (link->prev) link->prev->next = link->next; else { parent->item_list = link->next; parent->item_list->prev = NULL; } link->prev = before; link->next = before->next; link->prev->next = link; if (link->next) link->next->prev = link; else parent->item_list_end = link; } return TRUE; } /** * eel_canvas_item_raise: * @item: A canvas item. * @positions: Number of steps to raise the item. * * Raises the item in its parent's stack by the specified number of positions. * If the number of positions is greater than the distance to the top of the * stack, then the item is put at the top. **/ void eel_canvas_item_raise (EelCanvasItem *item, int positions) { GList *link, *before; EelCanvasGroup *parent; g_return_if_fail (EEL_IS_CANVAS_ITEM (item)); g_return_if_fail (positions >= 0); if (!item->parent || positions == 0) return; parent = EEL_CANVAS_GROUP (item->parent); link = g_list_find (parent->item_list, item); g_assert (link != NULL); for (before = link; positions && before; positions--) before = before->next; if (!before) before = parent->item_list_end; if (put_item_after (link, before)) { redraw_and_repick_if_mapped (item); } } /** * eel_canvas_item_lower: * @item: A canvas item. * @positions: Number of steps to lower the item. * * Lowers the item in its parent's stack by the specified number of positions. * If the number of positions is greater than the distance to the bottom of the * stack, then the item is put at the bottom. **/ void eel_canvas_item_lower (EelCanvasItem *item, int positions) { GList *link, *before; EelCanvasGroup *parent; g_return_if_fail (EEL_IS_CANVAS_ITEM (item)); g_return_if_fail (positions >= 1); if (!item->parent || positions == 0) return; parent = EEL_CANVAS_GROUP (item->parent); link = g_list_find (parent->item_list, item); g_assert (link != NULL); if (link->prev) for (before = link->prev; positions && before; positions--) before = before->prev; else before = NULL; if (put_item_after (link, before)) { redraw_and_repick_if_mapped (item); } } /** * eel_canvas_item_raise_to_top: * @item: A canvas item. * * Raises an item to the top of its parent's stack. **/ void eel_canvas_item_raise_to_top (EelCanvasItem *item) { GList *link; EelCanvasGroup *parent; g_return_if_fail (EEL_IS_CANVAS_ITEM (item)); if (!item->parent) return; parent = EEL_CANVAS_GROUP (item->parent); link = g_list_find (parent->item_list, item); g_assert (link != NULL); if (put_item_after (link, parent->item_list_end)) { redraw_and_repick_if_mapped (item); } } /** * eel_canvas_item_lower_to_bottom: * @item: A canvas item. * * Lowers an item to the bottom of its parent's stack. **/ void eel_canvas_item_lower_to_bottom (EelCanvasItem *item) { GList *link; EelCanvasGroup *parent; g_return_if_fail (EEL_IS_CANVAS_ITEM (item)); if (!item->parent) return; parent = EEL_CANVAS_GROUP (item->parent); link = g_list_find (parent->item_list, item); g_assert (link != NULL); if (put_item_after (link, NULL)) { redraw_and_repick_if_mapped (item); } } /** * eel_canvas_item_send_behind: * @item: A canvas item. * @behind_item: The canvas item to put item behind, or NULL * * Moves item to a in the position in the stacking order so that * it is placed immediately below behind_item, or at the top if * behind_item is NULL. **/ void eel_canvas_item_send_behind (EelCanvasItem *item, EelCanvasItem *behind_item) { GList *item_list; int item_position, behind_position; g_return_if_fail (EEL_IS_CANVAS_ITEM (item)); if (behind_item == NULL) { eel_canvas_item_raise_to_top (item); return; } g_return_if_fail (EEL_IS_CANVAS_ITEM (behind_item)); g_return_if_fail (item->parent == behind_item->parent); item_list = EEL_CANVAS_GROUP (item->parent)->item_list; item_position = g_list_index (item_list, item); g_assert (item_position != -1); behind_position = g_list_index (item_list, behind_item); g_assert (behind_position != -1); g_assert (item_position != behind_position); if (item_position == behind_position - 1) { return; } if (item_position < behind_position) { eel_canvas_item_raise (item, (behind_position - 1) - item_position); } else { eel_canvas_item_lower (item, item_position - behind_position); } } /** * eel_canvas_item_show: * @item: A canvas item. * * Shows a canvas item. If the item was already shown, then no action is taken. **/ void eel_canvas_item_show (EelCanvasItem *item) { g_return_if_fail (EEL_IS_CANVAS_ITEM (item)); if (!(item->flags & EEL_CANVAS_ITEM_VISIBLE)) { item->flags |= EEL_CANVAS_ITEM_VISIBLE; if (!(item->flags & EEL_CANVAS_ITEM_REALIZED)) (* EEL_CANVAS_ITEM_GET_CLASS (item)->realize) (item); if (item->parent != NULL) { if (!(item->flags & EEL_CANVAS_ITEM_MAPPED) && item->parent->flags & EEL_CANVAS_ITEM_MAPPED) (* EEL_CANVAS_ITEM_GET_CLASS (item)->map) (item); } else { if (!(item->flags & EEL_CANVAS_ITEM_MAPPED) && gtk_widget_get_mapped (GTK_WIDGET (item->canvas))) (* EEL_CANVAS_ITEM_GET_CLASS (item)->map) (item); } redraw_and_repick_if_mapped (item); eel_canvas_queue_resize (item->canvas); } } /** * eel_canvas_item_hide: * @item: A canvas item. * * Hides a canvas item. If the item was already hidden, then no action is * taken. **/ void eel_canvas_item_hide (EelCanvasItem *item) { g_return_if_fail (EEL_IS_CANVAS_ITEM (item)); if (item->flags & EEL_CANVAS_ITEM_VISIBLE) { item->flags &= ~EEL_CANVAS_ITEM_VISIBLE; redraw_and_repick_if_mapped (item); if (item->flags & EEL_CANVAS_ITEM_MAPPED) (* EEL_CANVAS_ITEM_GET_CLASS (item)->unmap) (item); eel_canvas_queue_resize (item->canvas); /* No need to unrealize when we just want to hide */ } } /** * eel_canvas_item_grab: * @item: A canvas item. * @event_mask: Mask of events that will be sent to this item. * @cursor: If non-NULL, the cursor that will be used while the grab is active. * @etime: The timestamp required for grabbing the mouse, or GDK_CURRENT_TIME. * * Specifies that all events that match the specified event mask should be sent * to the specified item, and also grabs the mouse by calling * gdk_pointer_grab(). The event mask is also used when grabbing the pointer. * If @cursor is not NULL, then that cursor is used while the grab is active. * The @etime parameter is the timestamp required for grabbing the mouse. * * Return value: If an item was already grabbed, it returns %GDK_GRAB_ALREADY_GRABBED. If * the specified item was hidden by calling eel_canvas_item_hide(), then it * returns %GDK_GRAB_NOT_VIEWABLE. Else, it returns the result of calling * gdk_pointer_grab(). **/ GdkGrabStatus eel_canvas_item_grab (EelCanvasItem *item, GdkEventMask event_mask, GdkCursor *cursor, guint32 timestamp) { GdkGrabStatus retval; GdkDisplay *display; GdkDeviceManager *manager; GdkDevice *device; g_return_val_if_fail (EEL_IS_CANVAS_ITEM (item), GDK_GRAB_NOT_VIEWABLE); g_return_val_if_fail (gtk_widget_get_mapped (GTK_WIDGET (item->canvas)), GDK_GRAB_NOT_VIEWABLE); if (item->canvas->grabbed_item) return GDK_GRAB_ALREADY_GRABBED; if (!(item->flags & EEL_CANVAS_ITEM_MAPPED)) return GDK_GRAB_NOT_VIEWABLE; display = gtk_widget_get_display (GTK_WIDGET (item->canvas)); manager = gdk_display_get_device_manager (display); device = gdk_device_manager_get_client_pointer (manager); retval = gdk_device_grab (device, gtk_layout_get_bin_window (GTK_LAYOUT (item->canvas)), GDK_OWNERSHIP_NONE, FALSE, event_mask, cursor, timestamp); if (retval != GDK_GRAB_SUCCESS) return retval; item->canvas->grabbed_item = item; item->canvas->grabbed_event_mask = event_mask; item->canvas->current_item = item; /* So that events go to the grabbed item */ return retval; } /** * eel_canvas_item_ungrab: * @item: A canvas item that holds a grab. * @etime: The timestamp for ungrabbing the mouse. * * Ungrabs the item, which must have been grabbed in the canvas, and ungrabs the * mouse. **/ void eel_canvas_item_ungrab (EelCanvasItem *item, guint32 etime) { GdkDisplay *display; GdkDeviceManager *manager; GdkDevice *device; g_return_if_fail (EEL_IS_CANVAS_ITEM (item)); if (item->canvas->grabbed_item != item) return; display = gtk_widget_get_display (GTK_WIDGET (item->canvas)); manager = gdk_display_get_device_manager (display); device = gdk_device_manager_get_client_pointer (manager); item->canvas->grabbed_item = NULL; gdk_device_ungrab (device, etime); } /** * eel_canvas_item_w2i: * @item: A canvas item. * @x: X coordinate to convert (input/output value). * @y: Y coordinate to convert (input/output value). * * Converts a coordinate pair from world coordinates to item-relative * coordinates. **/ void eel_canvas_item_w2i (EelCanvasItem *item, double *x, double *y) { g_return_if_fail (EEL_IS_CANVAS_ITEM (item)); g_return_if_fail (x != NULL); g_return_if_fail (y != NULL); item = item->parent; while (item) { if (EEL_IS_CANVAS_GROUP (item)) { *x -= EEL_CANVAS_GROUP (item)->xpos; *y -= EEL_CANVAS_GROUP (item)->ypos; } item = item->parent; } } /** * eel_canvas_item_i2w: * @item: A canvas item. * @x: X coordinate to convert (input/output value). * @y: Y coordinate to convert (input/output value). * * Converts a coordinate pair from item-relative coordinates to world * coordinates. **/ void eel_canvas_item_i2w (EelCanvasItem *item, double *x, double *y) { g_return_if_fail (EEL_IS_CANVAS_ITEM (item)); g_return_if_fail (x != NULL); g_return_if_fail (y != NULL); item = item->parent; while (item) { if (EEL_IS_CANVAS_GROUP (item)) { *x += EEL_CANVAS_GROUP (item)->xpos; *y += EEL_CANVAS_GROUP (item)->ypos; } item = item->parent; } } /* Returns whether the item is an inferior of or is equal to the parent. */ static int is_descendant (EelCanvasItem *item, EelCanvasItem *parent) { for (; item; item = item->parent) if (item == parent) return TRUE; return FALSE; } /** * eel_canvas_item_reparent: * @item: A canvas item. * @new_group: A canvas group. * * Changes the parent of the specified item to be the new group. The item keeps * its group-relative coordinates as for its old parent, so the item may change * its absolute position within the canvas. **/ void eel_canvas_item_reparent (EelCanvasItem *item, EelCanvasGroup *new_group) { g_return_if_fail (EEL_IS_CANVAS_ITEM (item)); g_return_if_fail (EEL_IS_CANVAS_GROUP (new_group)); /* Both items need to be in the same canvas */ g_return_if_fail (item->canvas == EEL_CANVAS_ITEM (new_group)->canvas); /* The group cannot be an inferior of the item or be the item itself -- * this also takes care of the case where the item is the root item of * the canvas. */ g_return_if_fail (!is_descendant (EEL_CANVAS_ITEM (new_group), item)); /* Everything is ok, now actually reparent the item */ g_object_ref (G_OBJECT (item)); /* protect it from the unref in group_remove */ eel_canvas_item_request_redraw (item); group_remove (EEL_CANVAS_GROUP (item->parent), item); item->parent = EEL_CANVAS_ITEM (new_group); /* item->canvas is unchanged. */ group_add (new_group, item); /* Redraw and repick */ redraw_and_repick_if_mapped (item); g_object_unref (G_OBJECT (item)); } /** * eel_canvas_item_grab_focus: * @item: A canvas item. * * Makes the specified item take the keyboard focus, so all keyboard events will * be sent to it. If the canvas widget itself did not have the focus, it grabs * it as well. **/ void eel_canvas_item_grab_focus (EelCanvasItem *item) { EelCanvasItem *focused_item; GdkEvent ev; g_return_if_fail (EEL_IS_CANVAS_ITEM (item)); g_return_if_fail (gtk_widget_get_can_focus (GTK_WIDGET (item->canvas))); focused_item = item->canvas->focused_item; if (focused_item) { ev.focus_change.type = GDK_FOCUS_CHANGE; ev.focus_change.window = gtk_layout_get_bin_window (GTK_LAYOUT (item->canvas)); ev.focus_change.send_event = FALSE; ev.focus_change.in = FALSE; emit_event (item->canvas, &ev); } item->canvas->focused_item = item; gtk_widget_grab_focus (GTK_WIDGET (item->canvas)); if (focused_item) { ev.focus_change.type = GDK_FOCUS_CHANGE; ev.focus_change.window = gtk_layout_get_bin_window (GTK_LAYOUT (item->canvas)); ev.focus_change.send_event = FALSE; ev.focus_change.in = TRUE; emit_event (item->canvas, &ev); } } /** * eel_canvas_item_get_bounds: * @item: A canvas item. * @x1: Leftmost edge of the bounding box (return value). * @y1: Upper edge of the bounding box (return value). * @x2: Rightmost edge of the bounding box (return value). * @y2: Lower edge of the bounding box (return value). * * Queries the bounding box of a canvas item. The bounds are returned in the * coordinate system of the item's parent. **/ void eel_canvas_item_get_bounds (EelCanvasItem *item, double *x1, double *y1, double *x2, double *y2) { double tx1, ty1, tx2, ty2; g_return_if_fail (EEL_IS_CANVAS_ITEM (item)); tx1 = ty1 = tx2 = ty2 = 0.0; /* Get the item's bounds in its coordinate system */ if (EEL_CANVAS_ITEM_GET_CLASS (item)->bounds) (* EEL_CANVAS_ITEM_GET_CLASS (item)->bounds) (item, &tx1, &ty1, &tx2, &ty2); /* Return the values */ if (x1) *x1 = tx1; if (y1) *y1 = ty1; if (x2) *x2 = tx2; if (y2) *y2 = ty2; } /** * eel_canvas_item_request_update * @item: A canvas item. * * To be used only by item implementations. Requests that the canvas queue an * update for the specified item. **/ void eel_canvas_item_request_update (EelCanvasItem *item) { if (NULL == item->canvas) return; g_return_if_fail (!item->canvas->doing_update); if (item->flags & EEL_CANVAS_ITEM_NEED_UPDATE) return; item->flags |= EEL_CANVAS_ITEM_NEED_UPDATE; if (item->parent != NULL) { /* Recurse up the tree */ eel_canvas_item_request_update (item->parent); } else { /* Have reached the top of the tree, make sure the update call gets scheduled. */ eel_canvas_request_update (item->canvas); } } /** * eel_canvas_item_request_update * @item: A canvas item. * * Convenience function that informs a canvas that the specified item needs * to be repainted. To be used by item implementations **/ void eel_canvas_item_request_redraw (EelCanvasItem *item) { if (item->flags & EEL_CANVAS_ITEM_MAPPED) eel_canvas_request_redraw (item->canvas, item->x1, item->y1, item->x2 + 1, item->y2 + 1); } /*** EelCanvasGroup ***/ enum { GROUP_PROP_0, GROUP_PROP_X, GROUP_PROP_Y }; static void eel_canvas_group_class_init (EelCanvasGroupClass *klass); static void eel_canvas_group_init (EelCanvasGroup *group); static void eel_canvas_group_set_property(GObject *object, guint param_id, const GValue *value, GParamSpec *pspec); static void eel_canvas_group_get_property(GObject *object, guint param_id, GValue *value, GParamSpec *pspec); static void eel_canvas_group_destroy (EelCanvasItem *object); static void eel_canvas_group_update (EelCanvasItem *item, double i2w_dx, double i2w_dy, int flags); static void eel_canvas_group_unrealize (EelCanvasItem *item); static void eel_canvas_group_map (EelCanvasItem *item); static void eel_canvas_group_unmap (EelCanvasItem *item); static void eel_canvas_group_draw (EelCanvasItem *item, cairo_t *cr, cairo_region_t *region); static double eel_canvas_group_point (EelCanvasItem *item, double x, double y, int cx, int cy, EelCanvasItem **actual_item); static void eel_canvas_group_translate (EelCanvasItem *item, double dx, double dy); static void eel_canvas_group_bounds (EelCanvasItem *item, double *x1, double *y1, double *x2, double *y2); static EelCanvasItemClass *group_parent_class; /** * eel_canvas_group_get_type: * * Registers the &EelCanvasGroup class if necessary, and returns the type ID * associated to it. * * Return value: The type ID of the &EelCanvasGroup class. **/ GType eel_canvas_group_get_type (void) { static GType group_type = 0; if (!group_type) { static const GTypeInfo group_info = { sizeof (EelCanvasGroupClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) eel_canvas_group_class_init, NULL, /* class_finalize */ NULL, /* class_data */ sizeof (EelCanvasGroup), 0, /* n_preallocs */ (GInstanceInitFunc) eel_canvas_group_init }; group_type = g_type_register_static (eel_canvas_item_get_type (), "EelCanvasGroup", &group_info, 0); } return group_type; } /* Class initialization function for EelCanvasGroupClass */ static void eel_canvas_group_class_init (EelCanvasGroupClass *klass) { GObjectClass *gobject_class; EelCanvasItemClass *item_class; gobject_class = (GObjectClass *) klass; item_class = (EelCanvasItemClass *) klass; group_parent_class = g_type_class_peek_parent (klass); gobject_class->set_property = eel_canvas_group_set_property; gobject_class->get_property = eel_canvas_group_get_property; g_object_class_install_property (gobject_class, GROUP_PROP_X, g_param_spec_double ("x", _("X"), _("X"), -G_MAXDOUBLE, G_MAXDOUBLE, 0.0, G_PARAM_READWRITE)); g_object_class_install_property (gobject_class, GROUP_PROP_Y, g_param_spec_double ("y", _("Y"), _("Y"), -G_MAXDOUBLE, G_MAXDOUBLE, 0.0, G_PARAM_READWRITE)); item_class->destroy = eel_canvas_group_destroy; item_class->update = eel_canvas_group_update; item_class->unrealize = eel_canvas_group_unrealize; item_class->map = eel_canvas_group_map; item_class->unmap = eel_canvas_group_unmap; item_class->draw = eel_canvas_group_draw; item_class->point = eel_canvas_group_point; item_class->translate = eel_canvas_group_translate; item_class->bounds = eel_canvas_group_bounds; } /* Object initialization function for EelCanvasGroup */ static void eel_canvas_group_init (EelCanvasGroup *group) { group->xpos = 0.0; group->ypos = 0.0; } /* Set_property handler for canvas groups */ static void eel_canvas_group_set_property (GObject *gobject, guint param_id, const GValue *value, GParamSpec *pspec) { EelCanvasItem *item; EelCanvasGroup *group; double old; gboolean moved; g_return_if_fail (EEL_IS_CANVAS_GROUP (gobject)); item = EEL_CANVAS_ITEM (gobject); group = EEL_CANVAS_GROUP (gobject); moved = FALSE; switch (param_id) { case GROUP_PROP_X: old = group->xpos; group->xpos = g_value_get_double (value); if (old != group->xpos) moved = TRUE; break; case GROUP_PROP_Y: old = group->ypos; group->ypos = g_value_get_double (value); if (old != group->ypos) moved = TRUE; break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, param_id, pspec); break; } if (moved) { item->flags |= EEL_CANVAS_ITEM_NEED_DEEP_UPDATE; if (item->parent != NULL) eel_canvas_item_request_update (item->parent); else eel_canvas_request_update (item->canvas); } } /* Get_property handler for canvas groups */ static void eel_canvas_group_get_property (GObject *gobject, guint param_id, GValue *value, GParamSpec *pspec) { EelCanvasGroup *group; g_return_if_fail (EEL_IS_CANVAS_GROUP (gobject)); group = EEL_CANVAS_GROUP (gobject); switch (param_id) { case GROUP_PROP_X: g_value_set_double (value, group->xpos); break; case GROUP_PROP_Y: g_value_set_double (value, group->ypos); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, param_id, pspec); break; } } /* Destroy handler for canvas groups */ static void eel_canvas_group_destroy (EelCanvasItem *object) { EelCanvasGroup *group; EelCanvasItem *child; GList *list; g_return_if_fail (EEL_IS_CANVAS_GROUP (object)); group = EEL_CANVAS_GROUP (object); list = group->item_list; while (list) { child = list->data; list = list->next; eel_canvas_item_destroy (child); } if (EEL_CANVAS_ITEM_CLASS (group_parent_class)->destroy) (* EEL_CANVAS_ITEM_CLASS (group_parent_class)->destroy) (object); } /* Update handler for canvas groups */ static void eel_canvas_group_update (EelCanvasItem *item, double i2w_dx, double i2w_dy, int flags) { EelCanvasGroup *group; GList *list; EelCanvasItem *i; double bbox_x0, bbox_y0, bbox_x1, bbox_y1; gboolean first = TRUE; group = EEL_CANVAS_GROUP (item); (* group_parent_class->update) (item, i2w_dx, i2w_dy, flags); bbox_x0 = 0; bbox_y0 = 0; bbox_x1 = 0; bbox_y1 = 0; for (list = group->item_list; list; list = list->next) { i = list->data; eel_canvas_item_invoke_update (i, i2w_dx + group->xpos, i2w_dy + group->ypos, flags); if (first) { first = FALSE; bbox_x0 = i->x1; bbox_y0 = i->y1; bbox_x1 = i->x2; bbox_y1 = i->y2; } else { bbox_x0 = MIN (bbox_x0, i->x1); bbox_y0 = MIN (bbox_y0, i->y1); bbox_x1 = MAX (bbox_x1, i->x2); bbox_y1 = MAX (bbox_y1, i->y2); } } item->x1 = bbox_x0; item->y1 = bbox_y0; item->x2 = bbox_x1; item->y2 = bbox_y1; } /* Unrealize handler for canvas groups */ static void eel_canvas_group_unrealize (EelCanvasItem *item) { EelCanvasGroup *group; GList *list; EelCanvasItem *i; group = EEL_CANVAS_GROUP (item); /* Unmap group before children to avoid flash */ if (item->flags & EEL_CANVAS_ITEM_MAPPED) (* EEL_CANVAS_ITEM_GET_CLASS (item)->unmap) (item); for (list = group->item_list; list; list = list->next) { i = list->data; if (i->flags & EEL_CANVAS_ITEM_REALIZED) (* EEL_CANVAS_ITEM_GET_CLASS (i)->unrealize) (i); } (* group_parent_class->unrealize) (item); } /* Map handler for canvas groups */ static void eel_canvas_group_map (EelCanvasItem *item) { EelCanvasGroup *group; GList *list; EelCanvasItem *i; group = EEL_CANVAS_GROUP (item); for (list = group->item_list; list; list = list->next) { i = list->data; if (i->flags & EEL_CANVAS_ITEM_VISIBLE && !(i->flags & EEL_CANVAS_ITEM_MAPPED)) { if (!(i->flags & EEL_CANVAS_ITEM_REALIZED)) (* EEL_CANVAS_ITEM_GET_CLASS (i)->realize) (i); (* EEL_CANVAS_ITEM_GET_CLASS (i)->map) (i); } } (* group_parent_class->map) (item); } /* Unmap handler for canvas groups */ static void eel_canvas_group_unmap (EelCanvasItem *item) { EelCanvasGroup *group; GList *list; EelCanvasItem *i; group = EEL_CANVAS_GROUP (item); for (list = group->item_list; list; list = list->next) { i = list->data; if (i->flags & EEL_CANVAS_ITEM_MAPPED) (* EEL_CANVAS_ITEM_GET_CLASS (i)->unmap) (i); } (* group_parent_class->unmap) (item); } /* Draw handler for canvas groups */ static void eel_canvas_group_draw (EelCanvasItem *item, cairo_t *cr, cairo_region_t *region) { EelCanvasGroup *group; GList *list; EelCanvasItem *child = NULL; group = EEL_CANVAS_GROUP (item); for (list = group->item_list; list; list = list->next) { child = list->data; if ((child->flags & EEL_CANVAS_ITEM_MAPPED) && (EEL_CANVAS_ITEM_GET_CLASS (child)->draw)) { GdkRectangle child_rect; child_rect.x = child->x1; child_rect.y = child->y1; child_rect.width = child->x2 - child->x1 + 1; child_rect.height = child->y2 - child->y1 + 1; if (cairo_region_contains_rectangle (region, &child_rect) != CAIRO_REGION_OVERLAP_OUT) EEL_CANVAS_ITEM_GET_CLASS (child)->draw (child, cr, region); } } } /* Point handler for canvas groups */ static double eel_canvas_group_point (EelCanvasItem *item, double x, double y, int cx, int cy, EelCanvasItem **actual_item) { EelCanvasGroup *group; GList *list; EelCanvasItem *child, *point_item; int x1, y1, x2, y2; double gx, gy; double dist, best; int has_point; group = EEL_CANVAS_GROUP (item); x1 = cx - item->canvas->close_enough; y1 = cy - item->canvas->close_enough; x2 = cx + item->canvas->close_enough; y2 = cy + item->canvas->close_enough; best = 0.0; *actual_item = NULL; gx = x - group->xpos; gy = y - group->ypos; dist = 0.0; /* keep gcc happy */ for (list = group->item_list; list; list = list->next) { child = list->data; if ((child->x1 > x2) || (child->y1 > y2) || (child->x2 < x1) || (child->y2 < y1)) continue; point_item = NULL; /* cater for incomplete item implementations */ if ((child->flags & EEL_CANVAS_ITEM_MAPPED) && EEL_CANVAS_ITEM_GET_CLASS (child)->point) { dist = eel_canvas_item_invoke_point (child, gx, gy, cx, cy, &point_item); has_point = TRUE; } else has_point = FALSE; if (has_point && point_item && ((int) (dist * item->canvas->pixels_per_unit + 0.5) <= item->canvas->close_enough)) { best = dist; *actual_item = point_item; } } return best; } void eel_canvas_group_translate (EelCanvasItem *item, double dx, double dy) { EelCanvasGroup *group; group = EEL_CANVAS_GROUP (item); group->xpos += dx; group->ypos += dy; } /* Bounds handler for canvas groups */ static void eel_canvas_group_bounds (EelCanvasItem *item, double *x1, double *y1, double *x2, double *y2) { EelCanvasGroup *group; EelCanvasItem *child; GList *list; double tx1, ty1, tx2, ty2; double minx, miny, maxx, maxy; int set; group = EEL_CANVAS_GROUP (item); /* Get the bounds of the first visible item */ child = NULL; /* Unnecessary but eliminates a warning. */ set = FALSE; for (list = group->item_list; list; list = list->next) { child = list->data; if (child->flags & EEL_CANVAS_ITEM_MAPPED) { set = TRUE; eel_canvas_item_get_bounds (child, &minx, &miny, &maxx, &maxy); break; } } /* If there were no visible items, return an empty bounding box */ if (!set) { *x1 = *y1 = *x2 = *y2 = 0.0; return; } /* Now we can grow the bounds using the rest of the items */ list = list->next; for (; list; list = list->next) { child = list->data; if (!(child->flags & EEL_CANVAS_ITEM_MAPPED)) continue; eel_canvas_item_get_bounds (child, &tx1, &ty1, &tx2, &ty2); if (tx1 < minx) minx = tx1; if (ty1 < miny) miny = ty1; if (tx2 > maxx) maxx = tx2; if (ty2 > maxy) maxy = ty2; } /* Make the bounds be relative to our parent's coordinate system */ if (item->parent) { minx += group->xpos; miny += group->ypos; maxx += group->xpos; maxy += group->ypos; } *x1 = minx; *y1 = miny; *x2 = maxx; *y2 = maxy; } /* Adds an item to a group */ static void group_add (EelCanvasGroup *group, EelCanvasItem *item) { g_object_ref_sink (item); if (!group->item_list) { group->item_list = g_list_append (group->item_list, item); group->item_list_end = group->item_list; } else group->item_list_end = g_list_append (group->item_list_end, item)->next; if (item->flags & EEL_CANVAS_ITEM_VISIBLE && group->item.flags & EEL_CANVAS_ITEM_MAPPED) { if (!(item->flags & EEL_CANVAS_ITEM_REALIZED)) (* EEL_CANVAS_ITEM_GET_CLASS (item)->realize) (item); if (!(item->flags & EEL_CANVAS_ITEM_MAPPED)) (* EEL_CANVAS_ITEM_GET_CLASS (item)->map) (item); } if (item->flags & EEL_CANVAS_ITEM_VISIBLE) eel_canvas_queue_resize (EEL_CANVAS_ITEM (group)->canvas); } /* Removes an item from a group */ static void group_remove (EelCanvasGroup *group, EelCanvasItem *item) { GList *children; g_return_if_fail (EEL_IS_CANVAS_GROUP (group)); g_return_if_fail (EEL_IS_CANVAS_ITEM (item)); for (children = group->item_list; children; children = children->next) if (children->data == item) { if (item->flags & EEL_CANVAS_ITEM_MAPPED) { (* EEL_CANVAS_ITEM_GET_CLASS (item)->unmap) (item); } if (item->flags & EEL_CANVAS_ITEM_REALIZED) (* EEL_CANVAS_ITEM_GET_CLASS (item)->unrealize) (item); if (item->flags & EEL_CANVAS_ITEM_VISIBLE) eel_canvas_queue_resize (item->canvas); /* Unparent the child */ item->parent = NULL; /* item->canvas = NULL; */ g_object_unref (G_OBJECT (item)); /* Remove it from the list */ if (children == group->item_list_end) group->item_list_end = children->prev; group->item_list = g_list_remove_link (group->item_list, children); g_list_free (children); break; } } /*** EelCanvas ***/ enum { DRAW_BACKGROUND, LAST_SIGNAL }; static void eel_canvas_class_init (EelCanvasClass *klass); static void eel_canvas_init (EelCanvas *canvas); static void eel_canvas_destroy (GtkWidget *object); static void eel_canvas_map (GtkWidget *widget); static void eel_canvas_unmap (GtkWidget *widget); static void eel_canvas_realize (GtkWidget *widget); static void eel_canvas_unrealize (GtkWidget *widget); static void eel_canvas_size_allocate (GtkWidget *widget, GtkAllocation *allocation); static gint eel_canvas_button (GtkWidget *widget, GdkEventButton *event); static gint eel_canvas_motion (GtkWidget *widget, GdkEventMotion *event); static gint eel_canvas_draw (GtkWidget *widget, cairo_t *cr); static gint eel_canvas_key (GtkWidget *widget, GdkEventKey *event); static gint eel_canvas_crossing (GtkWidget *widget, GdkEventCrossing *event); static gint eel_canvas_focus_in (GtkWidget *widget, GdkEventFocus *event); static gint eel_canvas_focus_out (GtkWidget *widget, GdkEventFocus *event); static void eel_canvas_request_update_real (EelCanvas *canvas); static void eel_canvas_draw_background (EelCanvas *canvas, cairo_t *cr); static AtkObject *eel_canvas_get_accessible (GtkWidget *widget); static GtkLayoutClass *canvas_parent_class; static guint canvas_signals[LAST_SIGNAL]; /** * eel_canvas_get_type: * * Registers the &EelCanvas class if necessary, and returns the type ID * associated to it. * * Return value: The type ID of the &EelCanvas class. **/ GType eel_canvas_get_type (void) { static GType canvas_type = 0; if (!canvas_type) { static const GTypeInfo canvas_info = { sizeof (EelCanvasClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) eel_canvas_class_init, NULL, /* class_finalize */ NULL, /* class_data */ sizeof (EelCanvas), 0, /* n_preallocs */ (GInstanceInitFunc) eel_canvas_init }; canvas_type = g_type_register_static (gtk_layout_get_type (), "EelCanvas", &canvas_info, 0); } return canvas_type; } static void eel_canvas_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { switch (prop_id) { default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; } } static void eel_canvas_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { switch (prop_id) { default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; } } static void eel_canvas_accessible_adjustment_changed (GtkAdjustment *adjustment, gpointer data) { AtkObject *atk_obj; /* The scrollbars have changed */ atk_obj = ATK_OBJECT (data); g_signal_emit_by_name (atk_obj, "visible_data_changed"); } static void accessible_destroy_cb (GtkWidget *widget, GtkAccessible *accessible) { gtk_accessible_set_widget (accessible, NULL); atk_object_notify_state_change (ATK_OBJECT (accessible), ATK_STATE_DEFUNCT, TRUE); } static gboolean accessible_focus_cb (GtkWidget *widget, GdkEventFocus *event) { AtkObject* accessible = gtk_widget_get_accessible (widget); atk_object_notify_state_change (accessible, ATK_STATE_FOCUSED, event->in); return FALSE; } static void accessible_notify_cb (GObject *obj, GParamSpec *pspec) { GtkWidget* widget = GTK_WIDGET (obj); AtkObject* atk_obj = gtk_widget_get_accessible (widget); AtkState state; gboolean value; if (strcmp (pspec->name, "visible") == 0) { state = ATK_STATE_VISIBLE; value = gtk_widget_get_visible (widget); } else if (strcmp (pspec->name, "sensitive") == 0) { state = ATK_STATE_SENSITIVE; value = gtk_widget_get_sensitive (widget); atk_object_notify_state_change (atk_obj, ATK_STATE_ENABLED, value); } else { g_assert_not_reached (); } atk_object_notify_state_change (atk_obj, state, value); } /* Translate GtkWidget::size-allocate to AtkComponent::bounds-changed */ static void accessible_size_allocate_cb (GtkWidget *widget, GtkAllocation *allocation) { AtkObject* accessible = gtk_widget_get_accessible (widget); AtkRectangle rect; rect.x = allocation->x; rect.y = allocation->y; rect.width = allocation->width; rect.height = allocation->height; g_signal_emit_by_name (accessible, "bounds_changed", &rect); } /* Translate GtkWidget mapped state into AtkObject showing */ static void accessible_map_cb (GtkWidget *widget) { AtkObject *accessible = gtk_widget_get_accessible (widget); atk_object_notify_state_change (accessible, ATK_STATE_SHOWING, gtk_widget_get_mapped (widget)); } static void eel_canvas_accessible_initialize (AtkObject *obj, gpointer data) { EelCanvas *canvas = data; if (ATK_OBJECT_CLASS (accessible_parent_class)->initialize != NULL) { ATK_OBJECT_CLASS (accessible_parent_class)->initialize (obj, data); } gtk_accessible_set_widget (GTK_ACCESSIBLE (obj), GTK_WIDGET (data)); g_signal_connect (gtk_scrollable_get_hadjustment (GTK_SCROLLABLE (canvas)), "value_changed", G_CALLBACK (eel_canvas_accessible_adjustment_changed), obj); g_signal_connect (gtk_scrollable_get_vadjustment (GTK_SCROLLABLE (canvas)), "value_changed", G_CALLBACK (eel_canvas_accessible_adjustment_changed), obj); obj->role = ATK_ROLE_LAYERED_PANE; /* below adapted from gtkwidgetaccessible.c */ g_signal_connect_after (canvas, "destroy", G_CALLBACK (accessible_destroy_cb), obj); g_signal_connect_after (canvas, "focus-in-event", G_CALLBACK (accessible_focus_cb), NULL); g_signal_connect_after (canvas, "focus-out-event", G_CALLBACK (accessible_focus_cb), NULL); g_signal_connect (canvas, "notify::visible", G_CALLBACK (accessible_notify_cb), NULL); g_signal_connect (canvas, "notify::sensitive", G_CALLBACK (accessible_notify_cb), NULL); g_signal_connect (canvas, "size-allocate", G_CALLBACK (accessible_size_allocate_cb), NULL); g_signal_connect (canvas, "map", G_CALLBACK (accessible_map_cb), NULL); g_signal_connect (canvas, "unmap", G_CALLBACK (accessible_map_cb), NULL); } static gint eel_canvas_accessible_get_n_children (AtkObject* obj) { GtkAccessible *accessible; GtkWidget *widget; EelCanvas *canvas; EelCanvasGroup *root_group; accessible = GTK_ACCESSIBLE (obj); widget = gtk_accessible_get_widget (accessible); if (widget == NULL) { return 0; } g_return_val_if_fail (EEL_IS_CANVAS (widget), 0); canvas = EEL_CANVAS (widget); root_group = eel_canvas_root (canvas); g_return_val_if_fail (root_group, 0); return 1; } static AtkObject* eel_canvas_accessible_ref_child (AtkObject *obj, gint i) { GtkAccessible *accessible; GtkWidget *widget; EelCanvas *canvas; EelCanvasGroup *root_group; AtkObject *atk_object; /* Canvas only has one child, so return NULL if index is non zero */ if (i != 0) { return NULL; } accessible = GTK_ACCESSIBLE (obj); widget = gtk_accessible_get_widget (accessible); if (widget == NULL) { return NULL; } canvas = EEL_CANVAS (widget); root_group = eel_canvas_root (canvas); g_return_val_if_fail (root_group, NULL); atk_object = atk_gobject_accessible_for_object (G_OBJECT (root_group)); return g_object_ref (atk_object); } static gboolean eel_canvas_accessible_all_parents_visible (GtkWidget *widget) { GtkWidget *iter_parent = NULL; gboolean result = TRUE; for (iter_parent = gtk_widget_get_parent (widget); iter_parent != NULL; iter_parent = gtk_widget_get_parent (iter_parent)) { if (!gtk_widget_get_visible (iter_parent)) { result = FALSE; break; } } return result; } static gboolean eel_canvas_accessible_on_screen (GtkWidget *widget) { GtkAllocation allocation; GtkWidget *viewport; gboolean return_value = TRUE; gtk_widget_get_allocation (widget, &allocation); viewport = gtk_widget_get_ancestor (widget, GTK_TYPE_VIEWPORT); if (viewport) { GtkAllocation viewport_allocation; GtkAdjustment *adjustment; GdkRectangle visible_rect; gtk_widget_get_allocation (viewport, &viewport_allocation); adjustment = gtk_scrollable_get_vadjustment (GTK_SCROLLABLE (viewport)); visible_rect.y = gtk_adjustment_get_value (adjustment); adjustment = gtk_scrollable_get_hadjustment (GTK_SCROLLABLE (viewport)); visible_rect.x = gtk_adjustment_get_value (adjustment); visible_rect.width = viewport_allocation.width; visible_rect.height = viewport_allocation.height; if (((allocation.x + allocation.width) < visible_rect.x) || ((allocation.y + allocation.height) < visible_rect.y) || (allocation.x > (visible_rect.x + visible_rect.width)) || (allocation.y > (visible_rect.y + visible_rect.height))) { return_value = FALSE; } } else { /* Check whether the widget has been placed off the screen. * The widget may be MAPPED as when toolbar items do not * fit on the toolbar. */ if (allocation.x + allocation.width <= 0 && allocation.y + allocation.height <= 0) { return_value = FALSE; } } return return_value; } static AtkStateSet * eel_canvas_accessible_ref_state_set (AtkObject *accessible) { GtkWidget *widget; AtkStateSet *state_set; widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (accessible)); state_set = ATK_OBJECT_CLASS (accessible_parent_class)->ref_state_set (accessible); if (widget == NULL) { atk_state_set_add_state (state_set, ATK_STATE_DEFUNCT); } else { if (gtk_widget_is_sensitive (widget)) { atk_state_set_add_state (state_set, ATK_STATE_SENSITIVE); atk_state_set_add_state (state_set, ATK_STATE_ENABLED); } if (gtk_widget_get_can_focus (widget)) { atk_state_set_add_state (state_set, ATK_STATE_FOCUSABLE); } /* * We do not currently generate notifications when an ATK object * corresponding to a GtkWidget changes visibility by being scrolled * on or off the screen. The testcase for this is the main window * of the testgtk application in which a set of buttons in a GtkVBox * is in a scrolled window with a viewport. * * To generate the notifications we would need to do the following: * 1) Find the GtkViewport among the ancestors of the objects * 2) Create an accessible for the viewport * 3) Connect to the value-changed signal on the viewport * 4) When the signal is received we need to traverse the children * of the viewport and check whether the children are visible or not * visible; we may want to restrict this to the widgets for which * accessible objects have been created. * 5) We probably need to store a variable on_screen in the * GtkWidgetAccessible data structure so we can determine whether * the value has changed. */ if (gtk_widget_get_visible (widget)) { atk_state_set_add_state (state_set, ATK_STATE_VISIBLE); if (eel_canvas_accessible_on_screen (widget) && gtk_widget_get_mapped (widget) && eel_canvas_accessible_all_parents_visible (widget)) { atk_state_set_add_state (state_set, ATK_STATE_SHOWING); } } if (gtk_widget_has_focus (widget)) { AtkObject *focus_obj; focus_obj = g_object_get_data (G_OBJECT (accessible), "gail-focus-object"); if (focus_obj == NULL) { atk_state_set_add_state (state_set, ATK_STATE_FOCUSED); } } if (gtk_widget_has_default (widget)) { atk_state_set_add_state (state_set, ATK_STATE_DEFAULT); } } return state_set; } static void eel_canvas_accessible_class_init (EelCanvasAccessibleClass *klass) { AtkObjectClass *atk_class = ATK_OBJECT_CLASS (klass); accessible_parent_class = g_type_class_peek_parent (klass); atk_class->initialize = eel_canvas_accessible_initialize; atk_class->get_n_children = eel_canvas_accessible_get_n_children; atk_class->ref_child = eel_canvas_accessible_ref_child; /* below adapted from gtkwidgetaccessible.c */ atk_class->ref_state_set = eel_canvas_accessible_ref_state_set; } static void eel_canvas_accessible_get_extents (AtkComponent *component, gint *x, gint *y, gint *width, gint *height, AtkCoordType coord_type) { GdkWindow *window; gint x_window, y_window; gint x_toplevel, y_toplevel; GtkWidget *widget; GtkAllocation allocation; widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (component)); if (widget == NULL) { return; } gtk_widget_get_allocation (widget, &allocation); *width = allocation.width; *height = allocation.height; if (!eel_canvas_accessible_on_screen (widget) || !gtk_widget_is_drawable (widget)) { *x = G_MININT; *y = G_MININT; return; } if (gtk_widget_get_parent (widget)) { *x = allocation.x; *y = allocation.y; window = gtk_widget_get_parent_window (widget); } else { *x = 0; *y = 0; window = gtk_widget_get_window (widget); } gdk_window_get_origin (window, &x_window, &y_window); *x += x_window; *y += y_window; if (coord_type == ATK_XY_WINDOW) { window = gdk_window_get_toplevel (gtk_widget_get_window (widget)); gdk_window_get_origin (window, &x_toplevel, &y_toplevel); *x -= x_toplevel; *y -= y_toplevel; } } static void eel_canvas_accessible_get_size (AtkComponent *component, gint *width, gint *height) { GtkWidget *widget; widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (component)); if (widget == NULL) { return; } *width = gtk_widget_get_allocated_width (widget); *height = gtk_widget_get_allocated_height (widget); } static void eel_canvas_accessible_component_init(gpointer iface, gpointer data) { AtkComponentIface *component; g_assert (G_TYPE_FROM_INTERFACE(iface) == ATK_TYPE_COMPONENT); component = iface; component->get_extents = eel_canvas_accessible_get_extents; component->get_size = eel_canvas_accessible_get_size; } static void eel_canvas_accessible_init (EelCanvasAccessible *accessible) { } G_DEFINE_TYPE_WITH_CODE (EelCanvasAccessible, eel_canvas_accessible, GTK_TYPE_ACCESSIBLE, G_IMPLEMENT_INTERFACE (ATK_TYPE_COMPONENT, eel_canvas_accessible_component_init)) static AtkObject * eel_canvas_accessible_create (GObject *for_object) { GType type; AtkObject *accessible; EelCanvas *canvas; canvas = EEL_CANVAS (for_object); g_return_val_if_fail (canvas != NULL, NULL); type = eel_canvas_accessible_get_type (); if (type == G_TYPE_INVALID) { return atk_no_op_object_new (for_object); } accessible = g_object_new (type, NULL); atk_object_initialize (accessible, for_object); return accessible; } static GType eel_canvas_accessible_factory_get_accessible_type (void) { return eel_canvas_accessible_get_type (); } static AtkObject* eel_canvas_accessible_factory_create_accessible (GObject *obj) { AtkObject *accessible; g_return_val_if_fail (G_IS_OBJECT (obj), NULL); accessible = eel_canvas_accessible_create (obj); return accessible; } static void eel_canvas_accessible_factory_class_init (AtkObjectFactoryClass *klass) { klass->create_accessible = eel_canvas_accessible_factory_create_accessible; klass->get_accessible_type = eel_canvas_accessible_factory_get_accessible_type; } static GType eel_canvas_accessible_factory_get_type (void) { static GType type = 0; if (!type) { static const GTypeInfo tinfo = { sizeof (AtkObjectFactoryClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) eel_canvas_accessible_factory_class_init, NULL, /* class_finalize */ NULL, /* class_data */ sizeof (AtkObjectFactory), 0, /* n_preallocs */ NULL }; type = g_type_register_static (ATK_TYPE_OBJECT_FACTORY, "EelCanvasAccessibilityFactory", &tinfo, 0); } return type; } /* Class initialization function for EelCanvasClass */ static void eel_canvas_class_init (EelCanvasClass *klass) { GObjectClass *gobject_class; GtkWidgetClass *widget_class; gobject_class = (GObjectClass *)klass; widget_class = (GtkWidgetClass *) klass; canvas_parent_class = g_type_class_peek_parent (klass); gobject_class->set_property = eel_canvas_set_property; gobject_class->get_property = eel_canvas_get_property; widget_class->destroy = eel_canvas_destroy; widget_class->map = eel_canvas_map; widget_class->unmap = eel_canvas_unmap; widget_class->realize = eel_canvas_realize; widget_class->unrealize = eel_canvas_unrealize; widget_class->size_allocate = eel_canvas_size_allocate; widget_class->button_press_event = eel_canvas_button; widget_class->button_release_event = eel_canvas_button; widget_class->motion_notify_event = eel_canvas_motion; widget_class->draw = eel_canvas_draw; widget_class->key_press_event = eel_canvas_key; widget_class->key_release_event = eel_canvas_key; widget_class->enter_notify_event = eel_canvas_crossing; widget_class->leave_notify_event = eel_canvas_crossing; widget_class->focus_in_event = eel_canvas_focus_in; widget_class->focus_out_event = eel_canvas_focus_out; widget_class->get_accessible = eel_canvas_get_accessible; klass->draw_background = eel_canvas_draw_background; klass->request_update = eel_canvas_request_update_real; canvas_signals[DRAW_BACKGROUND] = g_signal_new ("draw_background", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (EelCanvasClass, draw_background), NULL, NULL, g_cclosure_marshal_VOID__BOXED, G_TYPE_NONE, 1, CAIRO_GOBJECT_TYPE_CONTEXT); atk_registry_set_factory_type (atk_get_default_registry (), EEL_TYPE_CANVAS, eel_canvas_accessible_factory_get_type ()); } /* Callback used when the root item of a canvas is destroyed. The user should * never ever do this, so we panic if this happens. */ static void panic_root_destroyed (GtkWidget *object, gpointer data) { g_error ("Eeeek, root item %p of canvas %p was destroyed!", object, data); } /* Object initialization function for EelCanvas */ static void eel_canvas_init (EelCanvas *canvas) { guint width, height; gtk_widget_set_can_focus (GTK_WIDGET (canvas), TRUE); gtk_widget_set_redraw_on_allocate (GTK_WIDGET (canvas), FALSE); canvas->scroll_x1 = 0.0; canvas->scroll_y1 = 0.0; gtk_layout_get_size (GTK_LAYOUT (canvas), &width, &height); canvas->scroll_x2 = width; canvas->scroll_y2 = height; canvas->pixels_per_unit = 1.0; canvas->pick_event.type = GDK_LEAVE_NOTIFY; canvas->pick_event.crossing.x = 0; canvas->pick_event.crossing.y = 0; gtk_scrollable_set_hadjustment (GTK_SCROLLABLE (canvas), NULL); gtk_scrollable_set_vadjustment (GTK_SCROLLABLE (canvas), NULL); /* Create the root item as a special case */ canvas->root = EEL_CANVAS_ITEM (g_object_new (eel_canvas_group_get_type (), NULL)); canvas->root->canvas = canvas; g_object_ref_sink (canvas->root); canvas->root_destroy_id = g_signal_connect (G_OBJECT (canvas->root), "destroy", G_CALLBACK (panic_root_destroyed), canvas); canvas->need_repick = TRUE; canvas->doing_update = FALSE; } /* Convenience function to remove the idle handler of a canvas */ static void remove_idle (EelCanvas *canvas) { if (canvas->idle_id == 0) return; g_source_remove (canvas->idle_id); canvas->idle_id = 0; } /* Removes the transient state of the canvas (idle handler, grabs). */ static void shutdown_transients (EelCanvas *canvas) { /* We turn off the need_redraw flag, since if the canvas is mapped again * it will request a redraw anyways. We do not turn off the need_update * flag, though, because updates are not queued when the canvas remaps * itself. */ if (canvas->need_redraw) { canvas->need_redraw = FALSE; } if (canvas->grabbed_item) { eel_canvas_item_ungrab (canvas->grabbed_item, GDK_CURRENT_TIME); } remove_idle (canvas); } /* Destroy handler for EelCanvas */ static void eel_canvas_destroy (GtkWidget *object) { EelCanvas *canvas; g_return_if_fail (EEL_IS_CANVAS (object)); /* remember, destroy can be run multiple times! */ canvas = EEL_CANVAS (object); if (canvas->root_destroy_id) { g_signal_handler_disconnect (G_OBJECT (canvas->root), canvas->root_destroy_id); canvas->root_destroy_id = 0; } if (canvas->root) { EelCanvasItem *root = canvas->root; canvas->root = NULL; eel_canvas_item_destroy (root); g_object_unref (root); } shutdown_transients (canvas); if (GTK_WIDGET_CLASS (canvas_parent_class)->destroy) (* GTK_WIDGET_CLASS (canvas_parent_class)->destroy) (object); } /** * eel_canvas_new: * @void: * * Creates a new empty canvas. If you wish to use the * &EelCanvasImage item inside this canvas, then you must push the gdk_imlib * visual and colormap before calling this function, and they can be popped * afterwards. * * Return value: A newly-created canvas. **/ GtkWidget * eel_canvas_new (void) { return GTK_WIDGET (g_object_new (eel_canvas_get_type (), NULL)); } /* Map handler for the canvas */ static void eel_canvas_map (GtkWidget *widget) { EelCanvas *canvas; g_return_if_fail (EEL_IS_CANVAS (widget)); /* Normal widget mapping stuff */ if (GTK_WIDGET_CLASS (canvas_parent_class)->map) (* GTK_WIDGET_CLASS (canvas_parent_class)->map) (widget); canvas = EEL_CANVAS (widget); /* Map items */ if (canvas->root->flags & EEL_CANVAS_ITEM_VISIBLE && !(canvas->root->flags & EEL_CANVAS_ITEM_MAPPED) && EEL_CANVAS_ITEM_GET_CLASS (canvas->root)->map) (* EEL_CANVAS_ITEM_GET_CLASS (canvas->root)->map) (canvas->root); } /* Unmap handler for the canvas */ static void eel_canvas_unmap (GtkWidget *widget) { EelCanvas *canvas; g_return_if_fail (EEL_IS_CANVAS (widget)); canvas = EEL_CANVAS (widget); shutdown_transients (canvas); /* Unmap items */ if (EEL_CANVAS_ITEM_GET_CLASS (canvas->root)->unmap) (* EEL_CANVAS_ITEM_GET_CLASS (canvas->root)->unmap) (canvas->root); /* Normal widget unmapping stuff */ if (GTK_WIDGET_CLASS (canvas_parent_class)->unmap) (* GTK_WIDGET_CLASS (canvas_parent_class)->unmap) (widget); } /* Realize handler for the canvas */ static void eel_canvas_realize (GtkWidget *widget) { EelCanvas *canvas; g_return_if_fail (EEL_IS_CANVAS (widget)); /* Normal widget realization stuff */ if (GTK_WIDGET_CLASS (canvas_parent_class)->realize) (* GTK_WIDGET_CLASS (canvas_parent_class)->realize) (widget); canvas = EEL_CANVAS (widget); gdk_window_set_events (gtk_layout_get_bin_window (GTK_LAYOUT (canvas)), (gdk_window_get_events (gtk_layout_get_bin_window (GTK_LAYOUT (canvas))) | GDK_EXPOSURE_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_POINTER_MOTION_MASK | GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK | GDK_ENTER_NOTIFY_MASK | GDK_LEAVE_NOTIFY_MASK | GDK_FOCUS_CHANGE_MASK)); /* Create our own temporary pixmap gc and realize all the items */ (* EEL_CANVAS_ITEM_GET_CLASS (canvas->root)->realize) (canvas->root); } /* Unrealize handler for the canvas */ static void eel_canvas_unrealize (GtkWidget *widget) { EelCanvas *canvas; g_return_if_fail (EEL_IS_CANVAS (widget)); canvas = EEL_CANVAS (widget); shutdown_transients (canvas); /* Unrealize items and parent widget */ (* EEL_CANVAS_ITEM_GET_CLASS (canvas->root)->unrealize) (canvas->root); if (GTK_WIDGET_CLASS (canvas_parent_class)->unrealize) (* GTK_WIDGET_CLASS (canvas_parent_class)->unrealize) (widget); } /* Handles scrolling of the canvas. Adjusts the scrolling and zooming offset to * keep as much as possible of the canvas scrolling region in view. */ static void scroll_to (EelCanvas *canvas, int cx, int cy) { int scroll_width, scroll_height; int right_limit, bottom_limit; int old_zoom_xofs, old_zoom_yofs; int changed_x = FALSE, changed_y = FALSE; int canvas_width, canvas_height; GtkAllocation allocation; GtkAdjustment *vadjustment, *hadjustment; guint width, height; gtk_widget_get_allocation (GTK_WIDGET (canvas), &allocation); canvas_width = allocation.width; canvas_height = allocation.height; scroll_width = floor ((canvas->scroll_x2 - canvas->scroll_x1) * canvas->pixels_per_unit + 0.5); scroll_height = floor ((canvas->scroll_y2 - canvas->scroll_y1) * canvas->pixels_per_unit + 0.5); right_limit = scroll_width - canvas_width; bottom_limit = scroll_height - canvas_height; old_zoom_xofs = canvas->zoom_xofs; old_zoom_yofs = canvas->zoom_yofs; if (right_limit < 0) { cx = 0; if (canvas->center_scroll_region) { canvas->zoom_xofs = (canvas_width - scroll_width) / 2; scroll_width = canvas_width; } else { canvas->zoom_xofs = 0; } } else if (cx < 0) { cx = 0; canvas->zoom_xofs = 0; } else if (cx > right_limit) { cx = right_limit; canvas->zoom_xofs = 0; } else canvas->zoom_xofs = 0; if (bottom_limit < 0) { cy = 0; if (canvas->center_scroll_region) { canvas->zoom_yofs = (canvas_height - scroll_height) / 2; scroll_height = canvas_height; } else { canvas->zoom_yofs = 0; } } else if (cy < 0) { cy = 0; canvas->zoom_yofs = 0; } else if (cy > bottom_limit) { cy = bottom_limit; canvas->zoom_yofs = 0; } else canvas->zoom_yofs = 0; if ((canvas->zoom_xofs != old_zoom_xofs) || (canvas->zoom_yofs != old_zoom_yofs)) { /* This can only occur, if either canvas size or widget size changes */ /* So I think we can request full redraw here */ /* More stuff - we have to mark root as needing fresh affine (Lauris) */ if (!(canvas->root->flags & EEL_CANVAS_ITEM_NEED_DEEP_UPDATE)) { canvas->root->flags |= EEL_CANVAS_ITEM_NEED_DEEP_UPDATE; eel_canvas_request_update (canvas); } gtk_widget_queue_draw (GTK_WIDGET (canvas)); } hadjustment = gtk_scrollable_get_hadjustment (GTK_SCROLLABLE (canvas)); vadjustment = gtk_scrollable_get_vadjustment (GTK_SCROLLABLE (canvas)); if (((int) gtk_adjustment_get_value (hadjustment)) != cx) { gtk_adjustment_set_value (hadjustment, cx); changed_x = TRUE; } if (((int) gtk_adjustment_get_value (vadjustment)) != cy) { gtk_adjustment_set_value (vadjustment, cy); changed_y = TRUE; } gtk_layout_get_size (&canvas->layout, &width, &height); if ((scroll_width != (int) width )|| (scroll_height != (int) height)) { gtk_layout_set_size (GTK_LAYOUT (canvas), scroll_width, scroll_height); } /* Signal GtkLayout that it should do a redraw. */ if (changed_x) g_signal_emit_by_name (hadjustment, "value_changed"); if (changed_y) g_signal_emit_by_name (vadjustment, "value_changed"); } /* Size allocation handler for the canvas */ static void eel_canvas_size_allocate (GtkWidget *widget, GtkAllocation *allocation) { EelCanvas *canvas; GtkAdjustment *vadjustment, *hadjustment; g_return_if_fail (EEL_IS_CANVAS (widget)); g_return_if_fail (allocation != NULL); if (GTK_WIDGET_CLASS (canvas_parent_class)->size_allocate) (* GTK_WIDGET_CLASS (canvas_parent_class)->size_allocate) (widget, allocation); canvas = EEL_CANVAS (widget); /* Recenter the view, if appropriate */ hadjustment = gtk_scrollable_get_hadjustment (GTK_SCROLLABLE (canvas)); vadjustment = gtk_scrollable_get_vadjustment (GTK_SCROLLABLE (canvas)); gtk_adjustment_set_page_size (hadjustment, allocation->width); gtk_adjustment_set_page_increment (hadjustment, allocation->width / 2); gtk_adjustment_set_page_size (vadjustment, allocation->height); gtk_adjustment_set_page_increment (vadjustment, allocation->height / 2); scroll_to (canvas, gtk_adjustment_get_value (hadjustment), gtk_adjustment_get_value (vadjustment)); g_signal_emit_by_name (hadjustment, "changed"); g_signal_emit_by_name (vadjustment, "changed"); } /* Emits an event for an item in the canvas, be it the current item, grabbed * item, or focused item, as appropriate. */ static int emit_event (EelCanvas *canvas, GdkEvent *event) { GdkEvent ev; gint finished; EelCanvasItem *item; EelCanvasItem *parent; guint mask; /* Could be an old pick event */ if (!gtk_widget_get_realized (GTK_WIDGET (canvas))) { return FALSE; } /* Perform checks for grabbed items */ if (canvas->grabbed_item && !is_descendant (canvas->current_item, canvas->grabbed_item)) { return FALSE; } if (canvas->grabbed_item) { switch (event->type) { case GDK_ENTER_NOTIFY: mask = GDK_ENTER_NOTIFY_MASK; break; case GDK_LEAVE_NOTIFY: mask = GDK_LEAVE_NOTIFY_MASK; break; case GDK_MOTION_NOTIFY: mask = GDK_POINTER_MOTION_MASK; break; case GDK_BUTTON_PRESS: case GDK_2BUTTON_PRESS: case GDK_3BUTTON_PRESS: mask = GDK_BUTTON_PRESS_MASK; break; case GDK_BUTTON_RELEASE: mask = GDK_BUTTON_RELEASE_MASK; break; case GDK_KEY_PRESS: mask = GDK_KEY_PRESS_MASK; break; case GDK_KEY_RELEASE: mask = GDK_KEY_RELEASE_MASK; break; default: mask = 0; break; } if (!(mask & canvas->grabbed_event_mask)) return FALSE; } /* Convert to world coordinates -- we have two cases because of diferent * offsets of the fields in the event structures. */ ev = *event; switch (ev.type) { case GDK_ENTER_NOTIFY: case GDK_LEAVE_NOTIFY: eel_canvas_window_to_world (canvas, ev.crossing.x, ev.crossing.y, &ev.crossing.x, &ev.crossing.y); break; case GDK_MOTION_NOTIFY: eel_canvas_window_to_world (canvas, ev.motion.x, ev.motion.y, &ev.motion.x, &ev.motion.y); break; case GDK_BUTTON_PRESS: case GDK_2BUTTON_PRESS: case GDK_3BUTTON_PRESS: eel_canvas_window_to_world (canvas, ev.motion.x, ev.motion.y, &ev.motion.x, &ev.motion.y); break; case GDK_BUTTON_RELEASE: eel_canvas_window_to_world (canvas, ev.motion.x, ev.motion.y, &ev.motion.x, &ev.motion.y); break; default: break; } /* Choose where we send the event */ item = canvas->current_item; if (canvas->focused_item && ((event->type == GDK_KEY_PRESS) || (event->type == GDK_KEY_RELEASE) || (event->type == GDK_FOCUS_CHANGE))) item = canvas->focused_item; /* The event is propagated up the hierarchy (for if someone connected to * a group instead of a leaf event), and emission is stopped if a * handler returns TRUE, just like for GtkWidget events. */ finished = FALSE; while (item && !finished) { g_object_ref (item); g_signal_emit ( G_OBJECT (item), item_signals[ITEM_EVENT], 0, &ev, &finished); parent = item->parent; g_object_unref (item); item = parent; } return finished; } /* Re-picks the current item in the canvas, based on the event's coordinates. * Also emits enter/leave events for items as appropriate. */ static int pick_current_item (EelCanvas *canvas, GdkEvent *event) { int button_down; double x, y; int cx, cy; int retval; retval = FALSE; /* If a button is down, we'll perform enter and leave events on the * current item, but not enter on any other item. This is more or less * like X pointer grabbing for canvas items. */ button_down = canvas->state & (GDK_BUTTON1_MASK | GDK_BUTTON2_MASK | GDK_BUTTON3_MASK | GDK_BUTTON4_MASK | GDK_BUTTON5_MASK); if (!button_down) canvas->left_grabbed_item = FALSE; /* Save the event in the canvas. This is used to synthesize enter and * leave events in case the current item changes. It is also used to * re-pick the current item if the current one gets deleted. Also, * synthesize an enter event. */ if (event != &canvas->pick_event) { if ((event->type == GDK_MOTION_NOTIFY) || (event->type == GDK_BUTTON_RELEASE)) { /* these fields have the same offsets in both types of events */ canvas->pick_event.crossing.type = GDK_ENTER_NOTIFY; canvas->pick_event.crossing.window = event->motion.window; canvas->pick_event.crossing.send_event = event->motion.send_event; canvas->pick_event.crossing.subwindow = NULL; canvas->pick_event.crossing.x = event->motion.x; canvas->pick_event.crossing.y = event->motion.y; canvas->pick_event.crossing.mode = GDK_CROSSING_NORMAL; canvas->pick_event.crossing.detail = GDK_NOTIFY_NONLINEAR; canvas->pick_event.crossing.focus = FALSE; canvas->pick_event.crossing.state = event->motion.state; /* these fields don't have the same offsets in both types of events */ if (event->type == GDK_MOTION_NOTIFY) { canvas->pick_event.crossing.x_root = event->motion.x_root; canvas->pick_event.crossing.y_root = event->motion.y_root; } else { canvas->pick_event.crossing.x_root = event->button.x_root; canvas->pick_event.crossing.y_root = event->button.y_root; } } else canvas->pick_event = *event; } /* Don't do anything else if this is a recursive call */ if (canvas->in_repick) return retval; /* LeaveNotify means that there is no current item, so we don't look for one */ if (canvas->pick_event.type != GDK_LEAVE_NOTIFY) { /* these fields don't have the same offsets in both types of events */ if (canvas->pick_event.type == GDK_ENTER_NOTIFY) { x = canvas->pick_event.crossing.x; y = canvas->pick_event.crossing.y; } else { x = canvas->pick_event.motion.x; y = canvas->pick_event.motion.y; } /* canvas pixel coords */ cx = (int) (x + 0.5); cy = (int) (y + 0.5); /* world coords */ eel_canvas_c2w (canvas, cx, cy, &x, &y); /* find the closest item */ if (canvas->root->flags & EEL_CANVAS_ITEM_MAPPED) eel_canvas_item_invoke_point (canvas->root, x, y, cx, cy, &canvas->new_current_item); else canvas->new_current_item = NULL; } else canvas->new_current_item = NULL; if ((canvas->new_current_item == canvas->current_item) && !canvas->left_grabbed_item) return retval; /* current item did not change */ /* Synthesize events for old and new current items */ if ((canvas->new_current_item != canvas->current_item) && (canvas->current_item != NULL) && !canvas->left_grabbed_item) { GdkEvent new_event; new_event = canvas->pick_event; new_event.type = GDK_LEAVE_NOTIFY; new_event.crossing.detail = GDK_NOTIFY_ANCESTOR; new_event.crossing.subwindow = NULL; canvas->in_repick = TRUE; retval = emit_event (canvas, &new_event); canvas->in_repick = FALSE; } /* new_current_item may have been set to NULL during the call to emit_event() above */ if ((canvas->new_current_item != canvas->current_item) && button_down) { canvas->left_grabbed_item = TRUE; return retval; } /* Handle the rest of cases */ canvas->left_grabbed_item = FALSE; canvas->current_item = canvas->new_current_item; if (canvas->current_item != NULL) { GdkEvent new_event; new_event = canvas->pick_event; new_event.type = GDK_ENTER_NOTIFY; new_event.crossing.detail = GDK_NOTIFY_ANCESTOR; new_event.crossing.subwindow = NULL; retval = emit_event (canvas, &new_event); } return retval; } /* Button event handler for the canvas */ static gint eel_canvas_button (GtkWidget *widget, GdkEventButton *event) { EelCanvas *canvas; int mask; int retval; g_return_val_if_fail (EEL_IS_CANVAS (widget), FALSE); g_return_val_if_fail (event != NULL, FALSE); retval = FALSE; canvas = EEL_CANVAS (widget); /* Don't handle extra mouse button events */ if (event->button > 5) return FALSE; /* * dispatch normally regardless of the event's window if an item has * has a pointer grab in effect */ if (!canvas->grabbed_item && event->window != gtk_layout_get_bin_window (GTK_LAYOUT (canvas))) return retval; switch (event->button) { case 1: mask = GDK_BUTTON1_MASK; break; case 2: mask = GDK_BUTTON2_MASK; break; case 3: mask = GDK_BUTTON3_MASK; break; case 4: mask = GDK_BUTTON4_MASK; break; case 5: mask = GDK_BUTTON5_MASK; break; default: mask = 0; } switch (event->type) { case GDK_BUTTON_PRESS: case GDK_2BUTTON_PRESS: case GDK_3BUTTON_PRESS: /* Pick the current item as if the button were not pressed, and * then process the event. */ canvas->state = event->state; pick_current_item (canvas, (GdkEvent *) event); canvas->state ^= mask; retval = emit_event (canvas, (GdkEvent *) event); break; case GDK_BUTTON_RELEASE: /* Process the event as if the button were pressed, then repick * after the button has been released */ canvas->state = event->state; retval = emit_event (canvas, (GdkEvent *) event); event->state ^= mask; canvas->state = event->state; pick_current_item (canvas, (GdkEvent *) event); event->state ^= mask; break; default: g_assert_not_reached (); } return retval; } /* Motion event handler for the canvas */ static gint eel_canvas_motion (GtkWidget *widget, GdkEventMotion *event) { EelCanvas *canvas; g_return_val_if_fail (EEL_IS_CANVAS (widget), FALSE); g_return_val_if_fail (event != NULL, FALSE); canvas = EEL_CANVAS (widget); if (event->window != gtk_layout_get_bin_window (GTK_LAYOUT (canvas))) return FALSE; canvas->state = event->state; pick_current_item (canvas, (GdkEvent *) event); return emit_event (canvas, (GdkEvent *) event); } /* Key event handler for the canvas */ static gint eel_canvas_key (GtkWidget *widget, GdkEventKey *event) { EelCanvas *canvas; g_return_val_if_fail (EEL_IS_CANVAS (widget), FALSE); g_return_val_if_fail (event != NULL, FALSE); canvas = EEL_CANVAS (widget); if (emit_event (canvas, (GdkEvent *) event)) return TRUE; if (event->type == GDK_KEY_RELEASE) return GTK_WIDGET_CLASS (canvas_parent_class)->key_release_event (widget, event); else return GTK_WIDGET_CLASS (canvas_parent_class)->key_press_event (widget, event); } /* Crossing event handler for the canvas */ static gint eel_canvas_crossing (GtkWidget *widget, GdkEventCrossing *event) { EelCanvas *canvas; g_return_val_if_fail (EEL_IS_CANVAS (widget), FALSE); g_return_val_if_fail (event != NULL, FALSE); canvas = EEL_CANVAS (widget); if (event->window != gtk_layout_get_bin_window (GTK_LAYOUT (canvas))) return FALSE; canvas->state = event->state; return pick_current_item (canvas, (GdkEvent *) event); } /* Focus in handler for the canvas */ static gint eel_canvas_focus_in (GtkWidget *widget, GdkEventFocus *event) { EelCanvas *canvas; canvas = EEL_CANVAS (widget); if (canvas->focused_item) return emit_event (canvas, (GdkEvent *) event); else return FALSE; } static AtkObject * eel_canvas_get_accessible (GtkWidget *widget) { return atk_gobject_accessible_for_object (G_OBJECT (widget)); } /* Focus out handler for the canvas */ static gint eel_canvas_focus_out (GtkWidget *widget, GdkEventFocus *event) { EelCanvas *canvas; canvas = EEL_CANVAS (widget); if (canvas->focused_item) return emit_event (canvas, (GdkEvent *) event); else return FALSE; } static cairo_region_t * eel_cairo_get_clip_region (cairo_t *cr) { cairo_rectangle_list_t *list; cairo_region_t *region; int i; list = cairo_copy_clip_rectangle_list (cr); if (list->status == CAIRO_STATUS_CLIP_NOT_REPRESENTABLE) { cairo_rectangle_int_t clip_rect; cairo_rectangle_list_destroy (list); if (!gdk_cairo_get_clip_rectangle (cr, &clip_rect)) return NULL; return cairo_region_create_rectangle (&clip_rect); } region = cairo_region_create (); for (i = list->num_rectangles - 1; i >= 0; --i) { cairo_rectangle_t *rect = &list->rectangles[i]; cairo_rectangle_int_t clip_rect; clip_rect.x = floor (rect->x); clip_rect.y = floor (rect->y); clip_rect.width = ceil (rect->x + rect->width) - clip_rect.x; clip_rect.height = ceil (rect->y + rect->height) - clip_rect.y; if (cairo_region_union_rectangle (region, &clip_rect) != CAIRO_STATUS_SUCCESS) { cairo_region_destroy (region); region = NULL; break; } } cairo_rectangle_list_destroy (list); return region; } /* Expose handler for the canvas */ static gboolean eel_canvas_draw (GtkWidget *widget, cairo_t *cr) { EelCanvas *canvas = EEL_CANVAS (widget); GdkWindow *bin_window; cairo_region_t *region; if (!gdk_cairo_get_clip_rectangle (cr, NULL)) return FALSE; bin_window = gtk_layout_get_bin_window (GTK_LAYOUT (widget)); gtk_cairo_transform_to_window (cr, widget, bin_window); region = eel_cairo_get_clip_region (cr); if (region == NULL) return FALSE; #ifdef VERBOSE g_print ("Draw\n"); #endif /* If there are any outstanding items that need updating, do them now */ if (canvas->idle_id) { g_source_remove (canvas->idle_id); canvas->idle_id = 0; } if (canvas->need_update) { g_return_val_if_fail (!canvas->doing_update, FALSE); canvas->doing_update = TRUE; eel_canvas_item_invoke_update (canvas->root, 0, 0, 0); g_return_val_if_fail (canvas->doing_update, FALSE); canvas->doing_update = FALSE; canvas->need_update = FALSE; } /* Hmmm. Would like to queue antiexposes if the update marked anything that is gonna get redrawn as invalid */ g_signal_emit (G_OBJECT (canvas), canvas_signals[DRAW_BACKGROUND], 0, cr); if (canvas->root->flags & EEL_CANVAS_ITEM_MAPPED) EEL_CANVAS_ITEM_GET_CLASS (canvas->root)->draw (canvas->root, cr, region); /* Chain up to get exposes on child widgets */ if (GTK_WIDGET_CLASS (canvas_parent_class)->draw) GTK_WIDGET_CLASS (canvas_parent_class)->draw (widget, cr); cairo_region_destroy (region); return FALSE; } static void eel_canvas_draw_background (EelCanvas *canvas, cairo_t *cr) { cairo_rectangle_int_t rect; GtkStyleContext *style_context; GdkRGBA color; if (!gdk_cairo_get_clip_rectangle (cr, &rect)) return; cairo_save (cr); /* By default, we use the style background. */ style_context = gtk_widget_get_style_context (GTK_WIDGET (canvas)); gtk_style_context_get_background_color (style_context, GTK_STATE_FLAG_NORMAL, &color); gdk_cairo_set_source_rgba (cr, &color); gdk_cairo_rectangle (cr, &rect); cairo_fill (cr); cairo_restore (cr); } static void do_update (EelCanvas *canvas) { /* Cause the update if necessary */ update_again: if (canvas->need_update) { g_return_if_fail (!canvas->doing_update); canvas->doing_update = TRUE; eel_canvas_item_invoke_update (canvas->root, 0, 0, 0); g_return_if_fail (canvas->doing_update); canvas->doing_update = FALSE; canvas->need_update = FALSE; } /* Pick new current item */ while (canvas->need_repick) { canvas->need_repick = FALSE; pick_current_item (canvas, &canvas->pick_event); } /* it is possible that during picking we emitted an event in which the user then called some function which then requested update of something. Without this we'd be left in a state where need_update would have been left TRUE and the canvas would have been left unpainted. */ if (canvas->need_update) { goto update_again; } } /* Idle handler for the canvas. It deals with pending updates and redraws. */ static gint idle_handler (gpointer data) { EelCanvas *canvas; GDK_THREADS_ENTER (); canvas = EEL_CANVAS (data); do_update (canvas); /* Reset idle id */ canvas->idle_id = 0; GDK_THREADS_LEAVE (); return FALSE; } /* Convenience function to add an idle handler to a canvas */ static void add_idle (EelCanvas *canvas) { if (!canvas->idle_id) { /* We let the update idle handler have higher priority * than the redraw idle handler so the canvas state * will be updated during the expose event. canvas in * expose_event. */ canvas->idle_id = g_idle_add_full (GDK_PRIORITY_REDRAW - 20, idle_handler, canvas, NULL); } } /** * eel_canvas_root: * @canvas: A canvas. * * Queries the root group of a canvas. * * Return value: The root group of the specified canvas. **/ EelCanvasGroup * eel_canvas_root (EelCanvas *canvas) { g_return_val_if_fail (EEL_IS_CANVAS (canvas), NULL); return EEL_CANVAS_GROUP (canvas->root); } /** * eel_canvas_set_scroll_region: * @canvas: A canvas. * @x1: Leftmost limit of the scrolling region. * @y1: Upper limit of the scrolling region. * @x2: Rightmost limit of the scrolling region. * @y2: Lower limit of the scrolling region. * * Sets the scrolling region of a canvas to the specified rectangle. The canvas * will then be able to scroll only within this region. The view of the canvas * is adjusted as appropriate to display as much of the new region as possible. **/ void eel_canvas_set_scroll_region (EelCanvas *canvas, double x1, double y1, double x2, double y2) { double wxofs, wyofs; int xofs, yofs; GtkAdjustment *vadjustment, *hadjustment; g_return_if_fail (EEL_IS_CANVAS (canvas)); if ((canvas->scroll_x1 == x1) && (canvas->scroll_y1 == y1) && (canvas->scroll_x2 == x2) && (canvas->scroll_y2 == y2)) { return; } /* * Set the new scrolling region. If possible, do not move the visible contents of the * canvas. */ hadjustment = gtk_scrollable_get_hadjustment (GTK_SCROLLABLE (canvas)); vadjustment = gtk_scrollable_get_vadjustment (GTK_SCROLLABLE (canvas)); eel_canvas_c2w (canvas, gtk_adjustment_get_value (hadjustment) + canvas->zoom_xofs, gtk_adjustment_get_value (vadjustment) + canvas->zoom_yofs, /*canvas->zoom_xofs, canvas->zoom_yofs,*/ &wxofs, &wyofs); canvas->scroll_x1 = x1; canvas->scroll_y1 = y1; canvas->scroll_x2 = x2; canvas->scroll_y2 = y2; eel_canvas_w2c (canvas, wxofs, wyofs, &xofs, &yofs); scroll_to (canvas, xofs, yofs); canvas->need_repick = TRUE; if (!(canvas->root->flags & EEL_CANVAS_ITEM_NEED_DEEP_UPDATE)) { canvas->root->flags |= EEL_CANVAS_ITEM_NEED_DEEP_UPDATE; eel_canvas_request_update (canvas); } } /** * eel_canvas_get_scroll_region: * @canvas: A canvas. * @x1: Leftmost limit of the scrolling region (return value). * @y1: Upper limit of the scrolling region (return value). * @x2: Rightmost limit of the scrolling region (return value). * @y2: Lower limit of the scrolling region (return value). * * Queries the scrolling region of a canvas. **/ void eel_canvas_get_scroll_region (EelCanvas *canvas, double *x1, double *y1, double *x2, double *y2) { g_return_if_fail (EEL_IS_CANVAS (canvas)); if (x1) *x1 = canvas->scroll_x1; if (y1) *y1 = canvas->scroll_y1; if (x2) *x2 = canvas->scroll_x2; if (y2) *y2 = canvas->scroll_y2; } void eel_canvas_set_center_scroll_region (EelCanvas *canvas, gboolean center_scroll_region) { GtkAdjustment *vadjustment, *hadjustment; g_return_if_fail (EEL_IS_CANVAS (canvas)); canvas->center_scroll_region = center_scroll_region != 0; hadjustment = gtk_scrollable_get_hadjustment (GTK_SCROLLABLE (&canvas->layout)); vadjustment = gtk_scrollable_get_vadjustment (GTK_SCROLLABLE (&canvas->layout)); scroll_to (canvas, gtk_adjustment_get_value (hadjustment), gtk_adjustment_get_value (vadjustment)); } /** * eel_canvas_set_pixels_per_unit: * @canvas: A canvas. * @n: The number of pixels that correspond to one canvas unit. * * Sets the zooming factor of a canvas by specifying the number of pixels that * correspond to one canvas unit. **/ void eel_canvas_set_pixels_per_unit (EelCanvas *canvas, double n) { GtkWidget *widget; double cx, cy; int x1, y1; int center_x, center_y; GdkWindow *window; GdkWindowAttr attributes; gint attributes_mask; GtkAllocation allocation; GtkAdjustment *vadjustment, *hadjustment; g_return_if_fail (EEL_IS_CANVAS (canvas)); g_return_if_fail (n > EEL_CANVAS_EPSILON); widget = GTK_WIDGET (canvas); gtk_widget_get_allocation (widget, &allocation); center_x = allocation.width / 2; center_y = allocation.height / 2; /* Find the coordinates of the screen center in units. */ hadjustment = gtk_scrollable_get_hadjustment (GTK_SCROLLABLE (canvas)); vadjustment = gtk_scrollable_get_vadjustment (GTK_SCROLLABLE (canvas)); cx = (gtk_adjustment_get_value (hadjustment) + center_x) / canvas->pixels_per_unit + canvas->scroll_x1 + canvas->zoom_xofs; cy = (gtk_adjustment_get_value (vadjustment) + center_y) / canvas->pixels_per_unit + canvas->scroll_y1 + canvas->zoom_yofs; /* Now calculate the new offset of the upper left corner. (round not truncate) */ x1 = ((cx - canvas->scroll_x1) * n) - center_x + .5; y1 = ((cy - canvas->scroll_y1) * n) - center_y + .5; canvas->pixels_per_unit = n; if (!(canvas->root->flags & EEL_CANVAS_ITEM_NEED_DEEP_UPDATE)) { canvas->root->flags |= EEL_CANVAS_ITEM_NEED_DEEP_UPDATE; eel_canvas_request_update (canvas); } /* Map a background None window over the bin_window to avoid * scrolling the window scroll causing exposes. */ window = NULL; if (gtk_widget_get_mapped (widget)) { GtkAllocation allocation; attributes.window_type = GDK_WINDOW_CHILD; gtk_widget_get_allocation (widget, &allocation); attributes.x = allocation.x; attributes.y = allocation.y; attributes.width = allocation.width; attributes.height = allocation.height; attributes.wclass = GDK_INPUT_OUTPUT; attributes.visual = gtk_widget_get_visual (widget); attributes.event_mask = GDK_VISIBILITY_NOTIFY_MASK; attributes_mask = GDK_WA_X | GDK_WA_Y | GDK_WA_VISUAL; window = gdk_window_new (gtk_widget_get_parent_window (widget), &attributes, attributes_mask); gdk_window_set_user_data (window, widget); gdk_window_show (window); } scroll_to (canvas, x1, y1); /* If we created a an overlapping background None window, remove it how. * * TODO: We would like to temporarily set the bin_window background to * None to avoid clearing the bin_window to the background, but gdk doesn't * expose enought to let us do this, so we get a flash-effect here. At least * it looks better than scroll + expose. */ if (window != NULL) { gdk_window_hide (window); gdk_window_set_user_data (window, NULL); gdk_window_destroy (window); } canvas->need_repick = TRUE; } /** * eel_canvas_scroll_to: * @canvas: A canvas. * @cx: Horizontal scrolling offset in canvas pixel units. * @cy: Vertical scrolling offset in canvas pixel units. * * Makes a canvas scroll to the specified offsets, given in canvas pixel units. * The canvas will adjust the view so that it is not outside the scrolling * region. This function is typically not used, as it is better to hook * scrollbars to the canvas layout's scrolling adjusments. **/ void eel_canvas_scroll_to (EelCanvas *canvas, int cx, int cy) { g_return_if_fail (EEL_IS_CANVAS (canvas)); scroll_to (canvas, cx, cy); } /** * eel_canvas_get_scroll_offsets: * @canvas: A canvas. * @cx: Horizontal scrolling offset (return value). * @cy: Vertical scrolling offset (return value). * * Queries the scrolling offsets of a canvas. The values are returned in canvas * pixel units. **/ void eel_canvas_get_scroll_offsets (EelCanvas *canvas, int *cx, int *cy) { GtkAdjustment *vadjustment, *hadjustment; g_return_if_fail (EEL_IS_CANVAS (canvas)); hadjustment = gtk_scrollable_get_hadjustment (GTK_SCROLLABLE (canvas)); vadjustment = gtk_scrollable_get_vadjustment (GTK_SCROLLABLE (canvas)); if (cx) *cx = gtk_adjustment_get_value (hadjustment); if (cy) *cy = gtk_adjustment_get_value (vadjustment); } /** * eel_canvas_update_now: * @canvas: A canvas. * * Forces an immediate update and redraw of a canvas. If the canvas does not * have any pending update or redraw requests, then no action is taken. This is * typically only used by applications that need explicit control of when the * display is updated, like games. It is not needed by normal applications. */ void eel_canvas_update_now (EelCanvas *canvas) { g_return_if_fail (EEL_IS_CANVAS (canvas)); if (!(canvas->need_update || canvas->need_redraw)) return; remove_idle (canvas); do_update (canvas); } /** * eel_canvas_get_item_at: * @canvas: A canvas. * @x: X position in world coordinates. * @y: Y position in world coordinates. * * Looks for the item that is under the specified position, which must be * specified in world coordinates. * * Return value: The sought item, or NULL if no item is at the specified * coordinates. **/ EelCanvasItem * eel_canvas_get_item_at (EelCanvas *canvas, double x, double y) { EelCanvasItem *item; double dist; int cx, cy; g_return_val_if_fail (EEL_IS_CANVAS (canvas), NULL); eel_canvas_w2c (canvas, x, y, &cx, &cy); dist = eel_canvas_item_invoke_point (canvas->root, x, y, cx, cy, &item); if ((int) (dist * canvas->pixels_per_unit + 0.5) <= canvas->close_enough) return item; else return NULL; } /* Queues an update of the canvas */ static void eel_canvas_request_update (EelCanvas *canvas) { EEL_CANVAS_GET_CLASS (canvas)->request_update (canvas); } static void eel_canvas_request_update_real (EelCanvas *canvas) { canvas->need_update = TRUE; add_idle (canvas); } /** * eel_canvas_request_redraw: * @canvas: A canvas. * @x1: Leftmost coordinate of the rectangle to be redrawn. * @y1: Upper coordinate of the rectangle to be redrawn. * @x2: Rightmost coordinate of the rectangle to be redrawn, plus 1. * @y2: Lower coordinate of the rectangle to be redrawn, plus 1. * * Convenience function that informs a canvas that the specified rectangle needs * to be repainted. The rectangle includes @x1 and @y1, but not @x2 and @y2. * To be used only by item implementations. **/ void eel_canvas_request_redraw (EelCanvas *canvas, int x1, int y1, int x2, int y2) { GdkRectangle bbox; g_return_if_fail (EEL_IS_CANVAS (canvas)); if (!gtk_widget_is_drawable (GTK_WIDGET (canvas)) || (x1 >= x2) || (y1 >= y2)) return; bbox.x = x1; bbox.y = y1; bbox.width = x2 - x1; bbox.height = y2 - y1; gdk_window_invalidate_rect (gtk_layout_get_bin_window (GTK_LAYOUT (canvas)), &bbox, FALSE); } /** * eel_canvas_w2c: * @canvas: A canvas. * @wx: World X coordinate. * @wy: World Y coordinate. * @cx: X pixel coordinate (return value). * @cy: Y pixel coordinate (return value). * * Converts world coordinates into canvas pixel coordinates. **/ void eel_canvas_w2c (EelCanvas *canvas, double wx, double wy, int *cx, int *cy) { double zoom; g_return_if_fail (EEL_IS_CANVAS (canvas)); zoom = canvas->pixels_per_unit; if (cx) *cx = floor ((wx - canvas->scroll_x1)*zoom + canvas->zoom_xofs + 0.5); if (cy) *cy = floor ((wy - canvas->scroll_y1)*zoom + canvas->zoom_yofs + 0.5); } /** * eel_canvas_w2c: * @canvas: A canvas. * @world: rectangle in world coordinates. * @canvas: rectangle in canvase coordinates. * * Converts rectangles in world coordinates into canvas pixel coordinates. **/ void eel_canvas_w2c_rect_d (EelCanvas *canvas, double *x1, double *y1, double *x2, double *y2) { eel_canvas_w2c_d (canvas, *x1, *y1, x1, y1); eel_canvas_w2c_d (canvas, *x2, *y2, x2, y2); } /** * eel_canvas_w2c_d: * @canvas: A canvas. * @wx: World X coordinate. * @wy: World Y coordinate. * @cx: X pixel coordinate (return value). * @cy: Y pixel coordinate (return value). * * Converts world coordinates into canvas pixel coordinates. This version * produces coordinates in floating point coordinates, for greater precision. **/ void eel_canvas_w2c_d (EelCanvas *canvas, double wx, double wy, double *cx, double *cy) { double zoom; g_return_if_fail (EEL_IS_CANVAS (canvas)); zoom = canvas->pixels_per_unit; if (cx) *cx = (wx - canvas->scroll_x1)*zoom + canvas->zoom_xofs; if (cy) *cy = (wy - canvas->scroll_y1)*zoom + canvas->zoom_yofs; } /** * eel_canvas_c2w: * @canvas: A canvas. * @cx: Canvas pixel X coordinate. * @cy: Canvas pixel Y coordinate. * @wx: X world coordinate (return value). * @wy: Y world coordinate (return value). * * Converts canvas pixel coordinates to world coordinates. **/ void eel_canvas_c2w (EelCanvas *canvas, int cx, int cy, double *wx, double *wy) { double zoom; g_return_if_fail (EEL_IS_CANVAS (canvas)); zoom = canvas->pixels_per_unit; if (wx) *wx = (cx - canvas->zoom_xofs)/zoom + canvas->scroll_x1; if (wy) *wy = (cy - canvas->zoom_yofs)/zoom + canvas->scroll_y1; } /** * eel_canvas_window_to_world: * @canvas: A canvas. * @winx: Window-relative X coordinate. * @winy: Window-relative Y coordinate. * @worldx: X world coordinate (return value). * @worldy: Y world coordinate (return value). * * Converts window-relative coordinates into world coordinates. You can use * this when you need to convert mouse coordinates into world coordinates, for * example. * Window coordinates are really the same as canvas coordinates now, but this * function is here for backwards compatibility reasons. **/ void eel_canvas_window_to_world (EelCanvas *canvas, double winx, double winy, double *worldx, double *worldy) { g_return_if_fail (EEL_IS_CANVAS (canvas)); if (worldx) *worldx = canvas->scroll_x1 + ((winx - canvas->zoom_xofs) / canvas->pixels_per_unit); if (worldy) *worldy = canvas->scroll_y1 + ((winy - canvas->zoom_yofs) / canvas->pixels_per_unit); } /** * eel_canvas_world_to_window: * @canvas: A canvas. * @worldx: World X coordinate. * @worldy: World Y coordinate. * @winx: X window-relative coordinate. * @winy: Y window-relative coordinate. * * Converts world coordinates into window-relative coordinates. * Window coordinates are really the same as canvas coordinates now, but this * function is here for backwards compatibility reasons. **/ void eel_canvas_world_to_window (EelCanvas *canvas, double worldx, double worldy, double *winx, double *winy) { g_return_if_fail (EEL_IS_CANVAS (canvas)); if (winx) *winx = (canvas->pixels_per_unit)*(worldx - canvas->scroll_x1) + canvas->zoom_xofs; if (winy) *winy = (canvas->pixels_per_unit)*(worldy - canvas->scroll_y1) + canvas->zoom_yofs; } static gboolean boolean_handled_accumulator (GSignalInvocationHint *ihint, GValue *return_accu, const GValue *handler_return, gpointer dummy) { gboolean continue_emission; gboolean signal_handled; signal_handled = g_value_get_boolean (handler_return); g_value_set_boolean (return_accu, signal_handled); continue_emission = !signal_handled; return continue_emission; } static guint eel_canvas_item_accessible_add_focus_handler (AtkComponent *component, AtkFocusHandler handler) { GSignalMatchType match_type; guint signal_id; match_type = G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC; signal_id = g_signal_lookup ("focus-event", ATK_TYPE_OBJECT); if (!g_signal_handler_find (component, match_type, signal_id, 0, NULL, (gpointer) handler, NULL)) { return g_signal_connect_closure_by_id (component, signal_id, 0, g_cclosure_new ( G_CALLBACK (handler), NULL, (GClosureNotify) NULL), FALSE); } return 0; } static void eel_canvas_item_accessible_get_item_extents (EelCanvasItem *item, GdkRectangle *rect) { double bx1, bx2, by1, by2; gint scroll_x, scroll_y; gint x1, x2, y1, y2; eel_canvas_item_get_bounds (item, &bx1, &by1, &bx2, &by2); eel_canvas_w2c_rect_d (item->canvas, &bx1, &by1, &bx2, &by2); eel_canvas_get_scroll_offsets (item->canvas, &scroll_x, &scroll_y); x1 = floor (bx1 + .5); y1 = floor (by1 + .5); x2 = floor (bx2 + .5); y2 = floor (by2 + .5); rect->x = x1 - scroll_x; rect->y = y1 - scroll_y; rect->width = x2 - x1; rect->height = y2 - y1; } static gboolean eel_canvas_item_accessible_is_item_in_window (EelCanvasItem *item, GdkRectangle *rect) { GtkWidget *widget; gboolean retval; widget = GTK_WIDGET (item->canvas); if (gtk_widget_get_window (widget)) { int window_width, window_height; gdk_window_get_geometry (gtk_widget_get_window (widget), NULL, NULL, &window_width, &window_height); /* * Check whether rectangles intersect */ if (rect->x + rect->width < 0 || rect->y + rect->height < 0 || rect->x > window_width || rect->y > window_height) { retval = FALSE; } else { retval = TRUE; } } else { retval = FALSE; } return retval; } static void eel_canvas_item_accessible_get_extents (AtkComponent *component, gint *x, gint *y, gint *width, gint *height, AtkCoordType coord_type) { AtkGObjectAccessible *atk_gobj; GObject *obj; EelCanvasItem *item; gint window_x, window_y; gint toplevel_x, toplevel_y; GdkRectangle rect; GdkWindow *window; GtkWidget *canvas; atk_gobj = ATK_GOBJECT_ACCESSIBLE (component); obj = atk_gobject_accessible_get_object (atk_gobj); if (obj == NULL) { /* item is defunct */ return; } /* Get the CanvasItem */ item = EEL_CANVAS_ITEM (obj); /* If this item has no parent canvas, something's broken */ g_return_if_fail (GTK_IS_WIDGET (item->canvas)); eel_canvas_item_accessible_get_item_extents (item, &rect); *width = rect.width; *height = rect.height; if (!eel_canvas_item_accessible_is_item_in_window (item, &rect)) { *x = G_MININT; *y = G_MININT; return; } canvas = GTK_WIDGET (item->canvas); window = gtk_widget_get_parent_window (canvas); gdk_window_get_origin (window, &window_x, &window_y); *x = rect.x + window_x; *y = rect.y + window_y; if (coord_type == ATK_XY_WINDOW) { window = gdk_window_get_toplevel (gtk_widget_get_window (canvas)); gdk_window_get_origin (window, &toplevel_x, &toplevel_y); *x -= toplevel_x; *y -= toplevel_y; } return; } static gint eel_canvas_item_accessible_get_mdi_zorder (AtkComponent *component) { AtkGObjectAccessible *atk_gobj; GObject *g_obj; EelCanvasItem *item; atk_gobj = ATK_GOBJECT_ACCESSIBLE (component); g_obj = atk_gobject_accessible_get_object (atk_gobj); if (g_obj == NULL) { /* Object is defunct */ return -1; } item = EEL_CANVAS_ITEM (g_obj); if (item->parent) { return g_list_index (EEL_CANVAS_GROUP (item->parent)->item_list, item); } else { g_return_val_if_fail (item->canvas->root == item, -1); return 0; } } static gboolean eel_canvas_item_accessible_grab_focus (AtkComponent *component) { AtkGObjectAccessible *atk_gobj; GObject *obj; EelCanvasItem *item; GtkWidget *toplevel; atk_gobj = ATK_GOBJECT_ACCESSIBLE (component); obj = atk_gobject_accessible_get_object (atk_gobj); item = EEL_CANVAS_ITEM (obj); if (item == NULL) { /* item is defunct */ return FALSE; } eel_canvas_item_grab_focus (item); toplevel = gtk_widget_get_toplevel (GTK_WIDGET (item->canvas)); if (gtk_widget_is_toplevel (toplevel)) { gtk_window_present (GTK_WINDOW (toplevel)); } return TRUE; } static void eel_canvas_item_accessible_remove_focus_handler (AtkComponent *component, guint handler_id) { g_signal_handler_disconnect (component, handler_id); } static void eel_canvas_item_accessible_component_interface_init (AtkComponentIface *iface) { g_return_if_fail (iface != NULL); iface->add_focus_handler = eel_canvas_item_accessible_add_focus_handler; iface->get_extents = eel_canvas_item_accessible_get_extents; iface->get_mdi_zorder = eel_canvas_item_accessible_get_mdi_zorder; iface->grab_focus = eel_canvas_item_accessible_grab_focus; iface->remove_focus_handler = eel_canvas_item_accessible_remove_focus_handler; } static gboolean eel_canvas_item_accessible_is_item_on_screen (EelCanvasItem *item) { GdkRectangle rect; eel_canvas_item_accessible_get_item_extents (item, &rect); return eel_canvas_item_accessible_is_item_in_window (item, &rect); } static void eel_canvas_item_accessible_initialize (AtkObject *obj, gpointer data) { if (ATK_OBJECT_CLASS (accessible_item_parent_class)->initialize != NULL) ATK_OBJECT_CLASS (accessible_item_parent_class)->initialize (obj, data); g_object_set_data (G_OBJECT (obj), "atk-component-layer", GINT_TO_POINTER (ATK_LAYER_MDI)); } static AtkStateSet* eel_canvas_item_accessible_ref_state_set (AtkObject *accessible) { AtkGObjectAccessible *atk_gobj; GObject *obj; EelCanvasItem *item; AtkStateSet *state_set; state_set = ATK_OBJECT_CLASS (accessible_item_parent_class)->ref_state_set (accessible); atk_gobj = ATK_GOBJECT_ACCESSIBLE (accessible); obj = atk_gobject_accessible_get_object (atk_gobj); item = EEL_CANVAS_ITEM (obj); if (item == NULL) { atk_state_set_add_state (state_set, ATK_STATE_DEFUNCT); } else { if (item->flags & EEL_CANVAS_ITEM_VISIBLE) { atk_state_set_add_state (state_set, ATK_STATE_VISIBLE); if (eel_canvas_item_accessible_is_item_on_screen (item)) { atk_state_set_add_state (state_set, ATK_STATE_SHOWING); } } if (gtk_widget_get_can_focus (GTK_WIDGET (item->canvas))) { atk_state_set_add_state (state_set, ATK_STATE_FOCUSABLE); if (item->canvas->focused_item == item) { atk_state_set_add_state (state_set, ATK_STATE_FOCUSED); } } } return state_set; } static void eel_canvas_item_accessible_class_init (AtkObjectClass *klass) { accessible_item_parent_class = g_type_class_peek_parent (klass); klass->initialize = eel_canvas_item_accessible_initialize; klass->ref_state_set = eel_canvas_item_accessible_ref_state_set; } static GType eel_canvas_item_accessible_get_type (void) { static GType type = 0; if (!type) { static const GInterfaceInfo atk_component_info = { (GInterfaceInitFunc) eel_canvas_item_accessible_component_interface_init, (GInterfaceFinalizeFunc) NULL, NULL }; AtkObjectFactory *factory; GType parent_atk_type; GTypeQuery query; GTypeInfo tinfo = { 0 }; factory = atk_registry_get_factory (atk_get_default_registry(), G_TYPE_INITIALLY_UNOWNED); if (!factory) { return G_TYPE_INVALID; } parent_atk_type = atk_object_factory_get_accessible_type (factory); if (!parent_atk_type) { return G_TYPE_INVALID; } g_type_query (parent_atk_type, &query); tinfo.class_init = (GClassInitFunc) eel_canvas_item_accessible_class_init; tinfo.class_size = query.class_size; tinfo.instance_size = query.instance_size; type = g_type_register_static (parent_atk_type, "EelCanvasItemAccessibility", &tinfo, 0); g_type_add_interface_static (type, ATK_TYPE_COMPONENT, &atk_component_info); } return type; } static AtkObject * eel_canvas_item_accessible_create (GObject *for_object) { GType type; AtkObject *accessible; EelCanvasItem *item; item = EEL_CANVAS_ITEM (for_object); g_return_val_if_fail (item != NULL, NULL); type = eel_canvas_item_accessible_get_type (); if (type == G_TYPE_INVALID) { return atk_no_op_object_new (for_object); } accessible = g_object_new (type, NULL); atk_object_initialize (accessible, for_object); return accessible; } static GType eel_canvas_item_accessible_factory_get_accessible_type (void) { return eel_canvas_item_accessible_get_type (); } static AtkObject* eel_canvas_item_accessible_factory_create_accessible (GObject *obj) { AtkObject *accessible; g_return_val_if_fail (G_IS_OBJECT (obj), NULL); accessible = eel_canvas_item_accessible_create (obj); return accessible; } static void eel_canvas_item_accessible_factory_class_init (AtkObjectFactoryClass *klass) { klass->create_accessible = eel_canvas_item_accessible_factory_create_accessible; klass->get_accessible_type = eel_canvas_item_accessible_factory_get_accessible_type; } static GType eel_canvas_item_accessible_factory_get_type (void) { static GType type = 0; if (!type) { static const GTypeInfo tinfo = { sizeof (AtkObjectFactoryClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) eel_canvas_item_accessible_factory_class_init, NULL, /* class_finalize */ NULL, /* class_data */ sizeof (AtkObjectFactory), 0, /* n_preallocs */ NULL }; type = g_type_register_static (ATK_TYPE_OBJECT_FACTORY, "EelCanvasItemAccessibilityFactory", &tinfo, 0); } return type; } /* Class initialization function for EelCanvasItemClass */ static void eel_canvas_item_class_init (EelCanvasItemClass *klass) { GObjectClass *gobject_class = (GObjectClass *) klass; item_parent_class = g_type_class_peek_parent (klass); gobject_class->set_property = eel_canvas_item_set_property; gobject_class->get_property = eel_canvas_item_get_property; gobject_class->dispose = eel_canvas_item_dispose; g_object_class_install_property (gobject_class, ITEM_PROP_PARENT, g_param_spec_object ("parent", NULL, NULL, EEL_TYPE_CANVAS_ITEM, G_PARAM_READWRITE)); g_object_class_install_property (gobject_class, ITEM_PROP_VISIBLE, g_param_spec_boolean ("visible", NULL, NULL, TRUE, G_PARAM_READWRITE)); item_signals[ITEM_EVENT] = g_signal_new ("event", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (EelCanvasItemClass, event), boolean_handled_accumulator, NULL, g_cclosure_marshal_generic, G_TYPE_BOOLEAN, 1, GDK_TYPE_EVENT | G_SIGNAL_TYPE_STATIC_SCOPE); item_signals[ITEM_DESTROY] = g_signal_new ("destroy", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_CLEANUP | G_SIGNAL_NO_RECURSE | G_SIGNAL_NO_HOOKS, G_STRUCT_OFFSET (EelCanvasItemClass, destroy), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); klass->realize = eel_canvas_item_realize; klass->unrealize = eel_canvas_item_unrealize; klass->map = eel_canvas_item_map; klass->unmap = eel_canvas_item_unmap; klass->update = eel_canvas_item_update; atk_registry_set_factory_type (atk_get_default_registry (), EEL_TYPE_CANVAS_ITEM, eel_canvas_item_accessible_factory_get_type ()); } nemo-1.8.4/eel/eel-canvas.h000066400000000000000000000453351216702421000154230ustar00rootroot00000000000000/* -*- Mode: C; tab-width: 8; indent-tabs-mode: 8; c-basic-offset: 8 -*- */ /* * Copyright (C) 1997, 1998, 1999, 2000 Free Software Foundation * All rights reserved. * * This file is part of the Gnome Library. * * The Gnome Library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public License as * published by the Free Software Foundation; either version 2 of the * License, or (at your option) any later version. * * The Gnome Library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with the Gnome Library; see the file COPYING.LIB. If not, * write to the Free Software Foundation, Inc., 51 Franklin Street - Suite 500, * Boston, MA 02110-1335, USA. */ /* @NOTATION@ */ /* EelCanvas widget - Tk-like canvas widget for Gnome * * EelCanvas is basically a port of the Tk toolkit's most excellent canvas * widget. Tk is copyrighted by the Regents of the University of California, * Sun Microsystems, and other parties. * * * Authors: Federico Mena * Raph Levien */ #ifndef EEL_CANVAS_H #define EEL_CANVAS_H #include #include #include G_BEGIN_DECLS /* "Small" value used by canvas stuff */ #define EEL_CANVAS_EPSILON 1e-10 /* Macros for building colors that fit in a 32-bit integer. The values are in * [0, 255]. */ #define EEL_CANVAS_COLOR(r, g, b) ((((int) (r) & 0xff) << 24) \ | (((int) (g) & 0xff) << 16) \ | (((int) (b) & 0xff) << 8) \ | 0xff) #define EEL_CANVAS_COLOR_A(r, g, b, a) ((((int) (r) & 0xff) << 24) \ | (((int) (g) & 0xff) << 16) \ | (((int) (b) & 0xff) << 8) \ | ((int) (a) & 0xff)) typedef struct _EelCanvas EelCanvas; typedef struct _EelCanvasClass EelCanvasClass; typedef struct _EelCanvasItem EelCanvasItem; typedef struct _EelCanvasItemClass EelCanvasItemClass; typedef struct _EelCanvasGroup EelCanvasGroup; typedef struct _EelCanvasGroupClass EelCanvasGroupClass; /* EelCanvasItem - base item class for canvas items * * All canvas items are derived from EelCanvasItem. The only information a * EelCanvasItem contains is its parent canvas, its parent canvas item group, * and its bounding box in world coordinates. * * Items inside a canvas are organized in a tree of EelCanvasItemGroup nodes * and EelCanvasItem leaves. Each canvas has a single root group, which can * be obtained with the eel_canvas_get_root() function. * * The abstract EelCanvasItem class does not have any configurable or * queryable attributes. */ /* Object flags for items */ enum { EEL_CANVAS_ITEM_REALIZED = 1 << 4, EEL_CANVAS_ITEM_MAPPED = 1 << 5, EEL_CANVAS_ITEM_ALWAYS_REDRAW = 1 << 6, EEL_CANVAS_ITEM_VISIBLE = 1 << 7, EEL_CANVAS_ITEM_NEED_UPDATE = 1 << 8, EEL_CANVAS_ITEM_NEED_DEEP_UPDATE = 1 << 9 }; /* Update flags for items */ enum { EEL_CANVAS_UPDATE_REQUESTED = 1 << 0, EEL_CANVAS_UPDATE_DEEP = 1 << 1 }; #define EEL_TYPE_CANVAS_ITEM (eel_canvas_item_get_type ()) #define EEL_CANVAS_ITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EEL_TYPE_CANVAS_ITEM, EelCanvasItem)) #define EEL_CANVAS_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EEL_TYPE_CANVAS_ITEM, EelCanvasItemClass)) #define EEL_IS_CANVAS_ITEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EEL_TYPE_CANVAS_ITEM)) #define EEL_IS_CANVAS_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EEL_TYPE_CANVAS_ITEM)) #define EEL_CANVAS_ITEM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EEL_TYPE_CANVAS_ITEM, EelCanvasItemClass)) struct _EelCanvasItem { GInitiallyUnowned object; /* Parent canvas for this item */ EelCanvas *canvas; /* Parent canvas group for this item (a EelCanvasGroup) */ EelCanvasItem *parent; /* Bounding box for this item (in canvas coordinates) */ double x1, y1, x2, y2; /* Object flags */ guint flags; }; struct _EelCanvasItemClass { GInitiallyUnownedClass parent_class; void (* destroy) (EelCanvasItem *item); /* Tell the item to update itself. The flags are from the update flags * defined above. The item should update its internal state from its * queued state, and recompute and request its repaint area. The * update method also recomputes the bounding box of the item. */ void (* update) (EelCanvasItem *item, double i2w_dx, double i2w_dy, int flags); /* Realize an item -- create GCs, etc. */ void (* realize) (EelCanvasItem *item); /* Unrealize an item */ void (* unrealize) (EelCanvasItem *item); /* Map an item - normally only need by items with their own GdkWindows */ void (* map) (EelCanvasItem *item); /* Unmap an item */ void (* unmap) (EelCanvasItem *item); /* Draw an item of this type. (x, y) are the upper-left canvas pixel * coordinates of the drawable, a temporary pixmap, where things get * drawn. (width, height) are the dimensions of the drawable. */ void (* draw) (EelCanvasItem *item, cairo_t *cr, cairo_region_t *region); /* Calculate the distance from an item to the specified point. It also * returns a canvas item which is the item itself in the case of the * object being an actual leaf item, or a child in case of the object * being a canvas group. (cx, cy) are the canvas pixel coordinates that * correspond to the item-relative coordinates (x, y). */ double (* point) (EelCanvasItem *item, double x, double y, int cx, int cy, EelCanvasItem **actual_item); void (* translate) (EelCanvasItem *item, double dx, double dy); /* Fetch the item's bounding box (need not be exactly tight). This * should be in item-relative coordinates. */ void (* bounds) (EelCanvasItem *item, double *x1, double *y1, double *x2, double *y2); /* Signal: an event ocurred for an item of this type. The (x, y) * coordinates are in the canvas world coordinate system. */ gboolean (* event) (EelCanvasItem *item, GdkEvent *event); /* Reserved for future expansion */ gpointer spare_vmethods [4]; }; /* Standard Gtk function */ GType eel_canvas_item_get_type (void) G_GNUC_CONST; /* Create a canvas item using the standard Gtk argument mechanism. The item is * automatically inserted at the top of the specified canvas group. The last * argument must be a NULL pointer. */ EelCanvasItem *eel_canvas_item_new (EelCanvasGroup *parent, GType type, const gchar *first_arg_name, ...); void eel_canvas_item_destroy (EelCanvasItem *item); /* Constructors for use in derived classes and language wrappers */ void eel_canvas_item_construct (EelCanvasItem *item, EelCanvasGroup *parent, const gchar *first_arg_name, va_list args); /* Configure an item using the standard Gtk argument mechanism. The last * argument must be a NULL pointer. */ void eel_canvas_item_set (EelCanvasItem *item, const gchar *first_arg_name, ...); /* Used only for language wrappers and the like */ void eel_canvas_item_set_valist (EelCanvasItem *item, const gchar *first_arg_name, va_list args); /* Move an item by the specified amount */ void eel_canvas_item_move (EelCanvasItem *item, double dx, double dy); /* Raise an item in the z-order of its parent group by the specified number of * positions. */ void eel_canvas_item_raise (EelCanvasItem *item, int positions); /* Lower an item in the z-order of its parent group by the specified number of * positions. */ void eel_canvas_item_lower (EelCanvasItem *item, int positions); /* Raise an item to the top of its parent group's z-order. */ void eel_canvas_item_raise_to_top (EelCanvasItem *item); /* Lower an item to the bottom of its parent group's z-order */ void eel_canvas_item_lower_to_bottom (EelCanvasItem *item); /* Send an item behind another item */ void eel_canvas_item_send_behind (EelCanvasItem *item, EelCanvasItem *behind_item); /* Show an item (make it visible). If the item is already shown, it has no * effect. */ void eel_canvas_item_show (EelCanvasItem *item); /* Hide an item (make it invisible). If the item is already invisible, it has * no effect. */ void eel_canvas_item_hide (EelCanvasItem *item); /* Grab the mouse for the specified item. Only the events in event_mask will be * reported. If cursor is non-NULL, it will be used during the duration of the * grab. Time is a proper X event time parameter. Returns the same values as * XGrabPointer(). */ GdkGrabStatus eel_canvas_item_grab (EelCanvasItem *item, GdkEventMask event_mask, GdkCursor *cursor, guint32 etime); /* Ungrabs the mouse -- the specified item must be the same that was passed to * eel_canvas_item_grab(). Time is a proper X event time parameter. */ void eel_canvas_item_ungrab (EelCanvasItem *item, guint32 etime); /* These functions convert from a coordinate system to another. "w" is world * coordinates and "i" is item coordinates. */ void eel_canvas_item_w2i (EelCanvasItem *item, double *x, double *y); void eel_canvas_item_i2w (EelCanvasItem *item, double *x, double *y); /* Remove the item from its parent group and make the new group its parent. The * item will be put on top of all the items in the new group. The item's * coordinates relative to its new parent to *not* change -- this means that the * item could potentially move on the screen. * * The item and the group must be in the same canvas. An item cannot be * reparented to a group that is the item itself or that is an inferior of the * item. */ void eel_canvas_item_reparent (EelCanvasItem *item, EelCanvasGroup *new_group); /* Used to send all of the keystroke events to a specific item as well as * GDK_FOCUS_CHANGE events. */ void eel_canvas_item_grab_focus (EelCanvasItem *item); /* Fetch the bounding box of the item. The bounding box may not be exactly * tight, but the canvas items will do the best they can. The returned bounding * box is in the coordinate system of the item's parent. */ void eel_canvas_item_get_bounds (EelCanvasItem *item, double *x1, double *y1, double *x2, double *y2); /* Request that the update method eventually get called. This should be used * only by item implementations. */ void eel_canvas_item_request_update (EelCanvasItem *item); /* Request a redraw of the bounding box of the canvas item */ void eel_canvas_item_request_redraw (EelCanvasItem *item); /* EelCanvasGroup - a group of canvas items * * A group is a node in the hierarchical tree of groups/items inside a canvas. * Groups serve to give a logical structure to the items. * * Consider a circuit editor application that uses the canvas for its schematic * display. Hierarchically, there would be canvas groups that contain all the * components needed for an "adder", for example -- this includes some logic * gates as well as wires. You can move stuff around in a convenient way by * doing a eel_canvas_item_move() of the hierarchical groups -- to move an * adder, simply move the group that represents the adder. * * The following arguments are available: * * name type read/write description * -------------------------------------------------------------------------------- * x double RW X coordinate of group's origin * y double RW Y coordinate of group's origin */ #define EEL_TYPE_CANVAS_GROUP (eel_canvas_group_get_type ()) #define EEL_CANVAS_GROUP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EEL_TYPE_CANVAS_GROUP, EelCanvasGroup)) #define EEL_CANVAS_GROUP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EEL_TYPE_CANVAS_GROUP, EelCanvasGroupClass)) #define EEL_IS_CANVAS_GROUP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EEL_TYPE_CANVAS_GROUP)) #define EEL_IS_CANVAS_GROUP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EEL_TYPE_CANVAS_GROUP)) #define EEL_CANVAS_GROUP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EEL_TYPE_CANVAS_GROUP, EelCanvasGroupClass)) struct _EelCanvasGroup { EelCanvasItem item; double xpos, ypos; /* Children of the group */ GList *item_list; GList *item_list_end; }; struct _EelCanvasGroupClass { EelCanvasItemClass parent_class; }; /* Standard Gtk function */ GType eel_canvas_group_get_type (void) G_GNUC_CONST; /*** EelCanvas ***/ #define EEL_TYPE_CANVAS (eel_canvas_get_type ()) #define EEL_CANVAS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EEL_TYPE_CANVAS, EelCanvas)) #define EEL_CANVAS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EEL_TYPE_CANVAS, EelCanvasClass)) #define EEL_IS_CANVAS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EEL_TYPE_CANVAS)) #define EEL_IS_CANVAS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EEL_TYPE_CANVAS)) #define EEL_CANVAS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EEL_TYPE_CANVAS, EelCanvasClass)) struct _EelCanvas { GtkLayout layout; /* Root canvas group */ EelCanvasItem *root; /* The item containing the mouse pointer, or NULL if none */ EelCanvasItem *current_item; /* Item that is about to become current (used to track deletions and such) */ EelCanvasItem *new_current_item; /* Item that holds a pointer grab, or NULL if none */ EelCanvasItem *grabbed_item; /* If non-NULL, the currently focused item */ EelCanvasItem *focused_item; /* Event on which selection of current item is based */ GdkEvent pick_event; /* Scrolling region */ double scroll_x1, scroll_y1; double scroll_x2, scroll_y2; /* Scaling factor to be used for display */ double pixels_per_unit; /* Idle handler ID */ guint idle_id; /* Signal handler ID for destruction of the root item */ guint root_destroy_id; /* Internal pixel offsets when zoomed out */ int zoom_xofs, zoom_yofs; /* Last known modifier state, for deferred repick when a button is down */ int state; /* Event mask specified when grabbing an item */ guint grabbed_event_mask; /* Tolerance distance for picking items */ int close_enough; /* Whether the canvas should center the canvas in the middle of * the window if the scroll region is smaller than the window */ unsigned int center_scroll_region : 1; /* Whether items need update at next idle loop iteration */ unsigned int need_update : 1; /* Are we in the midst of an update */ unsigned int doing_update : 1; /* Whether the canvas needs redrawing at the next idle loop iteration */ unsigned int need_redraw : 1; /* Whether current item will be repicked at next idle loop iteration */ unsigned int need_repick : 1; /* For use by internal pick_current_item() function */ unsigned int left_grabbed_item : 1; /* For use by internal pick_current_item() function */ unsigned int in_repick : 1; }; struct _EelCanvasClass { GtkLayoutClass parent_class; /* Draw the background for the area given. */ void (* draw_background) (EelCanvas *canvas, cairo_t *cr); /* Private Virtual methods for groping the canvas inside bonobo */ void (* request_update) (EelCanvas *canvas); /* Reserved for future expansion */ gpointer spare_vmethods [4]; }; /* Standard Gtk function */ GType eel_canvas_get_type (void) G_GNUC_CONST; /* Creates a new canvas. You should check that the canvas is created with the * proper visual and colormap. Any visual will do unless you intend to insert * gdk_imlib images into it, in which case you should use the gdk_imlib visual. * * You should call eel_canvas_set_scroll_region() soon after calling this * function to set the desired scrolling limits for the canvas. */ GtkWidget *eel_canvas_new (void); /* Returns the root canvas item group of the canvas */ EelCanvasGroup *eel_canvas_root (EelCanvas *canvas); /* Sets the limits of the scrolling region, in world coordinates */ void eel_canvas_set_scroll_region (EelCanvas *canvas, double x1, double y1, double x2, double y2); /* Gets the limits of the scrolling region, in world coordinates */ void eel_canvas_get_scroll_region (EelCanvas *canvas, double *x1, double *y1, double *x2, double *y2); /* Sets the number of pixels that correspond to one unit in world coordinates */ void eel_canvas_set_pixels_per_unit (EelCanvas *canvas, double n); /* Wether the canvas centers the scroll region if it is smaller than the window */ void eel_canvas_set_center_scroll_region (EelCanvas *canvas, gboolean center_scroll_region); /* Scrolls the canvas to the specified offsets, given in canvas pixel coordinates */ void eel_canvas_scroll_to (EelCanvas *canvas, int cx, int cy); /* Returns the scroll offsets of the canvas in canvas pixel coordinates. You * can specify NULL for any of the values, in which case that value will not be * queried. */ void eel_canvas_get_scroll_offsets (EelCanvas *canvas, int *cx, int *cy); /* Requests that the canvas be repainted immediately instead of in the idle * loop. */ void eel_canvas_update_now (EelCanvas *canvas); /* Returns the item that is at the specified position in world coordinates, or * NULL if no item is there. */ EelCanvasItem *eel_canvas_get_item_at (EelCanvas *canvas, double x, double y); /* For use only by item type implementations. Request that the canvas * eventually redraw the specified region, specified in canvas pixel * coordinates. The region contains (x1, y1) but not (x2, y2). */ void eel_canvas_request_redraw (EelCanvas *canvas, int x1, int y1, int x2, int y2); /* These functions convert from a coordinate system to another. "w" is world * coordinates, "c" is canvas pixel coordinates (pixel coordinates that are * (0,0) for the upper-left scrolling limit and something else for the * lower-left scrolling limit). */ void eel_canvas_w2c_rect_d (EelCanvas *canvas, double *x1, double *y1, double *x2, double *y2); void eel_canvas_w2c (EelCanvas *canvas, double wx, double wy, int *cx, int *cy); void eel_canvas_w2c_d (EelCanvas *canvas, double wx, double wy, double *cx, double *cy); void eel_canvas_c2w (EelCanvas *canvas, int cx, int cy, double *wx, double *wy); /* This function takes in coordinates relative to the GTK_LAYOUT * (canvas)->bin_window and converts them to world coordinates. * These days canvas coordinates and window coordinates are the same, but * these are left for backwards compat reasons. */ void eel_canvas_window_to_world (EelCanvas *canvas, double winx, double winy, double *worldx, double *worldy); /* This is the inverse of eel_canvas_window_to_world() */ void eel_canvas_world_to_window (EelCanvas *canvas, double worldx, double worldy, double *winx, double *winy); /* Accessible implementation */ GType eel_canvas_accessible_get_type(void); typedef struct _EelCanvasAccessible EelCanvasAccessible; struct _EelCanvasAccessible { GtkAccessible parent; }; typedef struct _EelCanvasAccessibleClass EelCanvasAccessibleClass; struct _EelCanvasAccessibleClass { GtkAccessibleClass parent_class; }; G_END_DECLS #endif nemo-1.8.4/eel/eel-debug.c000066400000000000000000000052161216702421000152230ustar00rootroot00000000000000/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- eel-debug.c: Eel debugging aids. Copyright (C) 2000, 2001 Eazel, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street - Suite 500, Boston, MA 02110-1335, USA. Author: Darin Adler */ #include #include "eel-debug.h" #include #include #include typedef struct { gpointer data; GFreeFunc function; } ShutdownFunction; static GList *shutdown_functions; /* Raise a SIGINT signal to get the attention of the debugger. * When not running under the debugger, we don't want to stop, * so we ignore the signal for just the moment that we raise it. */ static void eel_stop_in_debugger (void) { void (* saved_handler) (int); saved_handler = signal (SIGINT, SIG_IGN); raise (SIGINT); signal (SIGINT, saved_handler); } /* Stop in the debugger after running the default log handler. * This makes certain kinds of messages stop in the debugger * without making them fatal (you can continue). */ static void log_handler (const char *domain, GLogLevelFlags level, const char *message, gpointer data) { g_log_default_handler (domain, level, message, data); if ((level & (G_LOG_LEVEL_CRITICAL | G_LOG_LEVEL_WARNING)) != 0) { eel_stop_in_debugger (); } } void eel_make_warnings_and_criticals_stop_in_debugger (void) { g_log_set_default_handler (log_handler, NULL); } void eel_debug_shut_down (void) { ShutdownFunction *f; while (shutdown_functions != NULL) { f = shutdown_functions->data; shutdown_functions = g_list_remove (shutdown_functions, f); f->function (f->data); g_free (f); } } void eel_debug_call_at_shutdown (EelFunction function) { eel_debug_call_at_shutdown_with_data ((GFreeFunc) function, NULL); } void eel_debug_call_at_shutdown_with_data (GFreeFunc function, gpointer data) { ShutdownFunction *f; f = g_new (ShutdownFunction, 1); f->data = data; f->function = function; shutdown_functions = g_list_prepend (shutdown_functions, f); } nemo-1.8.4/eel/eel-debug.h000066400000000000000000000027501216702421000152300ustar00rootroot00000000000000/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- eel-debug.h: Eel debugging aids. Copyright (C) 2000, 2001 Eazel, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street - Suite 500, Boston, MA 02110-1335, USA. Author: Darin Adler */ #ifndef EEL_DEBUG_H #define EEL_DEBUG_H #include G_BEGIN_DECLS typedef void (* EelFunction) (void); void eel_make_warnings_and_criticals_stop_in_debugger (void); /* A way to do cleanup at exit for compatibility with shutdown tools * like the ones in Bonobo. */ void eel_debug_shut_down (void); void eel_debug_call_at_shutdown (EelFunction function); void eel_debug_call_at_shutdown_with_data (GFreeFunc function, gpointer data); G_END_DECLS #endif /* EEL_DEBUG_H */ nemo-1.8.4/eel/eel-editable-label.c000066400000000000000000003672541216702421000170000ustar00rootroot00000000000000/* GTK - The GIMP Toolkit * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ /* * Modified by the GTK+ Team and others 1997-2000. See the AUTHORS * file for a list of people on the GTK+ Team. See the ChangeLog * files for a list of changes. These files are distributed with * GTK+ at ftp://ftp.gtk.org/pub/gtk/. */ #include #include #include #include "eel-editable-label.h" #include "eel-accessibility.h" #include #include #include #include #include enum { MOVE_CURSOR, POPULATE_POPUP, DELETE_FROM_CURSOR, CUT_CLIPBOARD, COPY_CLIPBOARD, PASTE_CLIPBOARD, TOGGLE_OVERWRITE, LAST_SIGNAL }; enum { PROP_0, PROP_TEXT, PROP_JUSTIFY, PROP_WRAP, PROP_CURSOR_POSITION, PROP_SELECTION_BOUND }; static guint signals[LAST_SIGNAL] = { 0 }; static void eel_editable_label_editable_init (GtkEditableInterface *iface); static void eel_editable_label_class_init (EelEditableLabelClass *klass); static void eel_editable_label_init (EelEditableLabel *label); static void eel_editable_label_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec); static void eel_editable_label_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec); static void eel_editable_label_finalize (GObject *object); static void eel_editable_label_get_preferred_width (GtkWidget *widget, gint *minimum, gint *natural); static void eel_editable_label_get_preferred_height (GtkWidget *widget, gint *minimum, gint *natural); static void eel_editable_label_size_allocate (GtkWidget *widget, GtkAllocation *allocation); static void eel_editable_label_state_changed (GtkWidget *widget, GtkStateType state); static void eel_editable_label_style_updated (GtkWidget *widget); static void eel_editable_label_direction_changed (GtkWidget *widget, GtkTextDirection previous_dir); static gint eel_editable_label_draw (GtkWidget *widget, cairo_t *cr); static void eel_editable_label_realize (GtkWidget *widget); static void eel_editable_label_unrealize (GtkWidget *widget); static void eel_editable_label_map (GtkWidget *widget); static void eel_editable_label_unmap (GtkWidget *widget); static gint eel_editable_label_button_press (GtkWidget *widget, GdkEventButton *event); static gint eel_editable_label_button_release (GtkWidget *widget, GdkEventButton *event); static gint eel_editable_label_motion (GtkWidget *widget, GdkEventMotion *event); static gint eel_editable_label_key_press (GtkWidget *widget, GdkEventKey *event); static gint eel_editable_label_key_release (GtkWidget *widget, GdkEventKey *event); static gint eel_editable_label_focus_in (GtkWidget *widget, GdkEventFocus *event); static gint eel_editable_label_focus_out (GtkWidget *widget, GdkEventFocus *event); static AtkObject *eel_editable_label_get_accessible (GtkWidget *widget); static void eel_editable_label_commit_cb (GtkIMContext *context, const gchar *str, EelEditableLabel *label); static void eel_editable_label_preedit_changed_cb (GtkIMContext *context, EelEditableLabel *label); static gboolean eel_editable_label_retrieve_surrounding_cb (GtkIMContext *context, EelEditableLabel *label); static gboolean eel_editable_label_delete_surrounding_cb (GtkIMContext *slave, gint offset, gint n_chars, EelEditableLabel *label); static void eel_editable_label_clear_layout (EelEditableLabel *label); static void eel_editable_label_recompute (EelEditableLabel *label); static void eel_editable_label_ensure_layout (EelEditableLabel *label, gboolean include_preedit); static void eel_editable_label_select_region_index (EelEditableLabel *label, gint anchor_index, gint end_index); static gboolean eel_editable_label_focus (GtkWidget *widget, GtkDirectionType direction); static void eel_editable_label_move_cursor (EelEditableLabel *label, GtkMovementStep step, gint count, gboolean extend_selection); static void eel_editable_label_delete_from_cursor (EelEditableLabel *label, GtkDeleteType type, gint count); static void eel_editable_label_copy_clipboard (EelEditableLabel *label); static void eel_editable_label_cut_clipboard (EelEditableLabel *label); static void eel_editable_label_paste (EelEditableLabel *label, GdkAtom selection); static void eel_editable_label_paste_clipboard (EelEditableLabel *label); static void eel_editable_label_select_all (EelEditableLabel *label); static void eel_editable_label_do_popup (EelEditableLabel *label, GdkEventButton *event); static void eel_editable_label_toggle_overwrite (EelEditableLabel *label); static gint eel_editable_label_move_forward_word (EelEditableLabel *label, gint start); static gint eel_editable_label_move_backward_word (EelEditableLabel *label, gint start); static void eel_editable_label_reset_im_context (EelEditableLabel *label); static void eel_editable_label_check_cursor_blink (EelEditableLabel *label); static void eel_editable_label_pend_cursor_blink (EelEditableLabel *label); /* Editable implementation: */ static void editable_insert_text_emit (GtkEditable *editable, const gchar *new_text, gint new_text_length, gint *position); static void editable_delete_text_emit (GtkEditable *editable, gint start_pos, gint end_pos); static void editable_insert_text (GtkEditable *editable, const gchar *new_text, gint new_text_length, gint *position); static void editable_delete_text (GtkEditable *editable, gint start_pos, gint end_pos); static gchar * editable_get_chars (GtkEditable *editable, gint start_pos, gint end_pos); static void editable_set_selection_bounds (GtkEditable *editable, gint start, gint end); static gboolean editable_get_selection_bounds (GtkEditable *editable, gint *start, gint *end); static void editable_real_set_position (GtkEditable *editable, gint position); static gint editable_get_position (GtkEditable *editable); G_DEFINE_TYPE_WITH_CODE (EelEditableLabel, eel_editable_label, GTK_TYPE_MISC, G_IMPLEMENT_INTERFACE (GTK_TYPE_EDITABLE, eel_editable_label_editable_init)); static void add_move_binding (GtkBindingSet *binding_set, guint keyval, guint modmask, GtkMovementStep step, gint count) { g_assert ((modmask & GDK_SHIFT_MASK) == 0); gtk_binding_entry_add_signal (binding_set, keyval, modmask, "move_cursor", 3, G_TYPE_ENUM, step, G_TYPE_INT, count, G_TYPE_BOOLEAN, FALSE); /* Selection-extending version */ gtk_binding_entry_add_signal (binding_set, keyval, modmask | GDK_SHIFT_MASK, "move_cursor", 3, G_TYPE_ENUM, step, G_TYPE_INT, count, G_TYPE_BOOLEAN, TRUE); } static void eel_editable_label_class_init (EelEditableLabelClass *class) { GObjectClass *gobject_class = G_OBJECT_CLASS (class); GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (class); GtkBindingSet *binding_set; gobject_class->set_property = eel_editable_label_set_property; gobject_class->get_property = eel_editable_label_get_property; gobject_class->finalize = eel_editable_label_finalize; widget_class->get_preferred_width = eel_editable_label_get_preferred_width; widget_class->get_preferred_height = eel_editable_label_get_preferred_height; widget_class->size_allocate = eel_editable_label_size_allocate; widget_class->state_changed = eel_editable_label_state_changed; widget_class->style_updated = eel_editable_label_style_updated; widget_class->direction_changed = eel_editable_label_direction_changed; widget_class->draw = eel_editable_label_draw; widget_class->realize = eel_editable_label_realize; widget_class->unrealize = eel_editable_label_unrealize; widget_class->map = eel_editable_label_map; widget_class->unmap = eel_editable_label_unmap; widget_class->button_press_event = eel_editable_label_button_press; widget_class->button_release_event = eel_editable_label_button_release; widget_class->motion_notify_event = eel_editable_label_motion; widget_class->focus = eel_editable_label_focus; widget_class->key_press_event = eel_editable_label_key_press; widget_class->key_release_event = eel_editable_label_key_release; widget_class->focus_in_event = eel_editable_label_focus_in; widget_class->focus_out_event = eel_editable_label_focus_out; widget_class->get_accessible = eel_editable_label_get_accessible; class->move_cursor = eel_editable_label_move_cursor; class->delete_from_cursor = eel_editable_label_delete_from_cursor; class->copy_clipboard = eel_editable_label_copy_clipboard; class->cut_clipboard = eel_editable_label_cut_clipboard; class->paste_clipboard = eel_editable_label_paste_clipboard; class->toggle_overwrite = eel_editable_label_toggle_overwrite; signals[MOVE_CURSOR] = g_signal_new ("move_cursor", G_TYPE_FROM_CLASS (class), G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION, G_STRUCT_OFFSET (EelEditableLabelClass, move_cursor), NULL, NULL, g_cclosure_marshal_generic, G_TYPE_NONE, 3, GTK_TYPE_MOVEMENT_STEP, G_TYPE_INT, G_TYPE_BOOLEAN); signals[COPY_CLIPBOARD] = g_signal_new ("copy_clipboard", G_TYPE_FROM_CLASS (class), G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION, G_STRUCT_OFFSET (EelEditableLabelClass, copy_clipboard), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); signals[POPULATE_POPUP] = g_signal_new ("populate_popup", G_TYPE_FROM_CLASS (class), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (EelEditableLabelClass, populate_popup), NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, GTK_TYPE_MENU); signals[DELETE_FROM_CURSOR] = g_signal_new ("delete_from_cursor", G_TYPE_FROM_CLASS (class), G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION, G_STRUCT_OFFSET (EelEditableLabelClass, delete_from_cursor), NULL, NULL, g_cclosure_marshal_generic, G_TYPE_NONE, 2, GTK_TYPE_DELETE_TYPE, G_TYPE_INT); signals[CUT_CLIPBOARD] = g_signal_new ("cut_clipboard", G_TYPE_FROM_CLASS (class), G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION, G_STRUCT_OFFSET (EelEditableLabelClass, cut_clipboard), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); signals[PASTE_CLIPBOARD] = g_signal_new ("paste_clipboard", G_TYPE_FROM_CLASS (class), G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION, G_STRUCT_OFFSET (EelEditableLabelClass, paste_clipboard), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); signals[TOGGLE_OVERWRITE] = g_signal_new ("toggle_overwrite", G_TYPE_FROM_CLASS (class), G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION, G_STRUCT_OFFSET (EelEditableLabelClass, toggle_overwrite), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); g_object_class_install_property (gobject_class, PROP_TEXT, g_param_spec_string ("text", _("Text"), _("The text of the label."), NULL, G_PARAM_READWRITE)); g_object_class_install_property (gobject_class, PROP_JUSTIFY, g_param_spec_enum ("justify", _("Justification"), _("The alignment of the lines in the text of the label relative to each other. This does NOT affect the alignment of the label within its allocation. See GtkMisc::xalign for that."), GTK_TYPE_JUSTIFICATION, GTK_JUSTIFY_LEFT, G_PARAM_READWRITE)); g_object_class_install_property (gobject_class, PROP_WRAP, g_param_spec_boolean ("wrap", _("Line wrap"), _("If set, wrap lines if the text becomes too wide."), FALSE, G_PARAM_READWRITE)); g_object_class_install_property (gobject_class, PROP_CURSOR_POSITION, g_param_spec_int ("cursor_position", _("Cursor Position"), _("The current position of the insertion cursor in chars."), 0, G_MAXINT, 0, G_PARAM_READABLE)); g_object_class_install_property (gobject_class, PROP_SELECTION_BOUND, g_param_spec_int ("selection_bound", _("Selection Bound"), _("The position of the opposite end of the selection from the cursor in chars."), 0, G_MAXINT, 0, G_PARAM_READABLE)); /* * Key bindings */ binding_set = gtk_binding_set_by_class (class); /* Moving the insertion point */ add_move_binding (binding_set, GDK_KEY_Right, 0, GTK_MOVEMENT_VISUAL_POSITIONS, 1); add_move_binding (binding_set, GDK_KEY_Left, 0, GTK_MOVEMENT_VISUAL_POSITIONS, -1); add_move_binding (binding_set, GDK_KEY_KP_Right, 0, GTK_MOVEMENT_VISUAL_POSITIONS, 1); add_move_binding (binding_set, GDK_KEY_KP_Left, 0, GTK_MOVEMENT_VISUAL_POSITIONS, -1); add_move_binding (binding_set, GDK_KEY_f, GDK_CONTROL_MASK, GTK_MOVEMENT_LOGICAL_POSITIONS, 1); add_move_binding (binding_set, GDK_KEY_b, GDK_CONTROL_MASK, GTK_MOVEMENT_LOGICAL_POSITIONS, -1); add_move_binding (binding_set, GDK_KEY_Right, GDK_CONTROL_MASK, GTK_MOVEMENT_WORDS, 1); add_move_binding (binding_set, GDK_KEY_Left, GDK_CONTROL_MASK, GTK_MOVEMENT_WORDS, -1); add_move_binding (binding_set, GDK_KEY_KP_Right, GDK_CONTROL_MASK, GTK_MOVEMENT_WORDS, 1); add_move_binding (binding_set, GDK_KEY_KP_Left, GDK_CONTROL_MASK, GTK_MOVEMENT_WORDS, -1); add_move_binding (binding_set, GDK_KEY_a, GDK_CONTROL_MASK, GTK_MOVEMENT_PARAGRAPH_ENDS, -1); add_move_binding (binding_set, GDK_KEY_e, GDK_CONTROL_MASK, GTK_MOVEMENT_PARAGRAPH_ENDS, 1); add_move_binding (binding_set, GDK_KEY_f, GDK_MOD1_MASK, GTK_MOVEMENT_WORDS, 1); add_move_binding (binding_set, GDK_KEY_b, GDK_MOD1_MASK, GTK_MOVEMENT_WORDS, -1); add_move_binding (binding_set, GDK_KEY_Home, 0, GTK_MOVEMENT_DISPLAY_LINE_ENDS, -1); add_move_binding (binding_set, GDK_KEY_End, 0, GTK_MOVEMENT_DISPLAY_LINE_ENDS, 1); add_move_binding (binding_set, GDK_KEY_KP_Home, 0, GTK_MOVEMENT_DISPLAY_LINE_ENDS, -1); add_move_binding (binding_set, GDK_KEY_KP_End, 0, GTK_MOVEMENT_DISPLAY_LINE_ENDS, 1); add_move_binding (binding_set, GDK_KEY_Home, GDK_CONTROL_MASK, GTK_MOVEMENT_BUFFER_ENDS, -1); add_move_binding (binding_set, GDK_KEY_End, GDK_CONTROL_MASK, GTK_MOVEMENT_BUFFER_ENDS, 1); add_move_binding (binding_set, GDK_KEY_KP_Home, GDK_CONTROL_MASK, GTK_MOVEMENT_BUFFER_ENDS, -1); add_move_binding (binding_set, GDK_KEY_KP_End, GDK_CONTROL_MASK, GTK_MOVEMENT_BUFFER_ENDS, 1); add_move_binding (binding_set, GDK_KEY_Up, 0, GTK_MOVEMENT_DISPLAY_LINES, -1); add_move_binding (binding_set, GDK_KEY_KP_Up, 0, GTK_MOVEMENT_DISPLAY_LINES, -1); add_move_binding (binding_set, GDK_KEY_Down, 0, GTK_MOVEMENT_DISPLAY_LINES, 1); add_move_binding (binding_set, GDK_KEY_KP_Down, 0, GTK_MOVEMENT_DISPLAY_LINES, 1); /* Select all */ gtk_binding_entry_add_signal (binding_set, GDK_KEY_a, GDK_CONTROL_MASK, "move_cursor", 3, GTK_TYPE_MOVEMENT_STEP, GTK_MOVEMENT_BUFFER_ENDS, G_TYPE_INT, -1, G_TYPE_BOOLEAN, FALSE); gtk_binding_entry_add_signal (binding_set, GDK_KEY_a, GDK_CONTROL_MASK, "move_cursor", 3, GTK_TYPE_MOVEMENT_STEP, GTK_MOVEMENT_BUFFER_ENDS, G_TYPE_INT, 1, G_TYPE_BOOLEAN, TRUE); /* Deleting text */ gtk_binding_entry_add_signal (binding_set, GDK_KEY_Delete, 0, "delete_from_cursor", 2, G_TYPE_ENUM, GTK_DELETE_CHARS, G_TYPE_INT, 1); gtk_binding_entry_add_signal (binding_set, GDK_KEY_KP_Delete, 0, "delete_from_cursor", 2, G_TYPE_ENUM, GTK_DELETE_CHARS, G_TYPE_INT, 1); gtk_binding_entry_add_signal (binding_set, GDK_KEY_BackSpace, 0, "delete_from_cursor", 2, G_TYPE_ENUM, GTK_DELETE_CHARS, G_TYPE_INT, -1); /* Make this do the same as Backspace, to help with mis-typing */ gtk_binding_entry_add_signal (binding_set, GDK_KEY_BackSpace, GDK_SHIFT_MASK, "delete_from_cursor", 2, G_TYPE_ENUM, GTK_DELETE_CHARS, G_TYPE_INT, -1); gtk_binding_entry_add_signal (binding_set, GDK_KEY_Delete, GDK_CONTROL_MASK, "delete_from_cursor", 2, G_TYPE_ENUM, GTK_DELETE_WORD_ENDS, G_TYPE_INT, 1); gtk_binding_entry_add_signal (binding_set, GDK_KEY_KP_Delete, GDK_CONTROL_MASK, "delete_from_cursor", 2, G_TYPE_ENUM, GTK_DELETE_WORD_ENDS, G_TYPE_INT, 1); gtk_binding_entry_add_signal (binding_set, GDK_KEY_BackSpace, GDK_CONTROL_MASK, "delete_from_cursor", 2, G_TYPE_ENUM, GTK_DELETE_WORD_ENDS, G_TYPE_INT, -1); /* Cut/copy/paste */ gtk_binding_entry_add_signal (binding_set, GDK_KEY_x, GDK_CONTROL_MASK, "cut_clipboard", 0); gtk_binding_entry_add_signal (binding_set, GDK_KEY_c, GDK_CONTROL_MASK, "copy_clipboard", 0); gtk_binding_entry_add_signal (binding_set, GDK_KEY_v, GDK_CONTROL_MASK, "paste_clipboard", 0); gtk_binding_entry_add_signal (binding_set, GDK_KEY_Delete, GDK_SHIFT_MASK, "cut_clipboard", 0); gtk_binding_entry_add_signal (binding_set, GDK_KEY_Insert, GDK_CONTROL_MASK, "copy_clipboard", 0); gtk_binding_entry_add_signal (binding_set, GDK_KEY_Insert, GDK_SHIFT_MASK, "paste_clipboard", 0); /* Overwrite */ gtk_binding_entry_add_signal (binding_set, GDK_KEY_Insert, 0, "toggle_overwrite", 0); gtk_binding_entry_add_signal (binding_set, GDK_KEY_KP_Insert, 0, "toggle_overwrite", 0); } static void eel_editable_label_editable_init (GtkEditableInterface *iface) { iface->do_insert_text = editable_insert_text_emit; iface->do_delete_text = editable_delete_text_emit; iface->insert_text = editable_insert_text; iface->delete_text = editable_delete_text; iface->get_chars = editable_get_chars; iface->set_selection_bounds = editable_set_selection_bounds; iface->get_selection_bounds = editable_get_selection_bounds; iface->set_position = editable_real_set_position; iface->get_position = editable_get_position; } static void eel_editable_label_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { EelEditableLabel *label; label = EEL_EDITABLE_LABEL (object); switch (prop_id) { case PROP_TEXT: eel_editable_label_set_text (label, g_value_get_string (value)); break; case PROP_JUSTIFY: eel_editable_label_set_justify (label, g_value_get_enum (value)); break; case PROP_WRAP: eel_editable_label_set_line_wrap (label, g_value_get_boolean (value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; } } static void eel_editable_label_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { EelEditableLabel *label; gint offset; label = EEL_EDITABLE_LABEL (object); switch (prop_id) { case PROP_TEXT: g_value_set_string (value, label->text); break; case PROP_JUSTIFY: g_value_set_enum (value, label->jtype); break; case PROP_WRAP: g_value_set_boolean (value, label->wrap); break; case PROP_CURSOR_POSITION: offset = g_utf8_pointer_to_offset (label->text, label->text + label->selection_end); g_value_set_int (value, offset); break; case PROP_SELECTION_BOUND: offset = g_utf8_pointer_to_offset (label->text, label->text + label->selection_anchor); g_value_set_int (value, offset); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; } } static void eel_editable_label_init (EelEditableLabel *label) { label->jtype = GTK_JUSTIFY_LEFT; label->wrap = FALSE; label->wrap_mode = PANGO_WRAP_WORD; label->layout = NULL; label->text_size = 1; label->text = g_malloc (label->text_size); label->text[0] = '\0'; label->n_bytes = 0; gtk_widget_set_can_focus (GTK_WIDGET (label), TRUE); gtk_style_context_add_class (gtk_widget_get_style_context (GTK_WIDGET (label)), GTK_STYLE_CLASS_ENTRY); /* This object is completely private. No external entity can gain a reference * to it; so we create it here and destroy it in finalize(). */ label->im_context = gtk_im_multicontext_new (); g_signal_connect (G_OBJECT (label->im_context), "commit", G_CALLBACK (eel_editable_label_commit_cb), label); g_signal_connect (G_OBJECT (label->im_context), "preedit_changed", G_CALLBACK (eel_editable_label_preedit_changed_cb), label); g_signal_connect (G_OBJECT (label->im_context), "retrieve_surrounding", G_CALLBACK (eel_editable_label_retrieve_surrounding_cb), label); g_signal_connect (G_OBJECT (label->im_context), "delete_surrounding", G_CALLBACK (eel_editable_label_delete_surrounding_cb), label); } /** * eel_editable_label_new: * @str: The text of the label * * Creates a new label with the given text inside it. You can * pass %NULL to get an empty label widget. * * Return value: the new #EelEditableLabel **/ GtkWidget* eel_editable_label_new (const gchar *str) { EelEditableLabel *label; label = g_object_new (EEL_TYPE_EDITABLE_LABEL, NULL); if (str && *str) eel_editable_label_set_text (label, str); return GTK_WIDGET (label); } /** * eel_editable_label_set_text: * @label: a #EelEditableLabel * @str: The text you want to set. * * Sets the text within the #EelEditableLabel widget. It overwrites any text that * was there before. * * This will also clear any previously set mnemonic accelerators. **/ void eel_editable_label_set_text (EelEditableLabel *label, const gchar *str) { GtkEditable *editable; int tmp_pos; g_return_if_fail (EEL_IS_EDITABLE_LABEL (label)); g_return_if_fail (str != NULL); if (strcmp (label->text, str) == 0) return; editable = GTK_EDITABLE (label); gtk_editable_delete_text (editable, 0, -1); tmp_pos = 0; gtk_editable_insert_text (editable, str, strlen (str), &tmp_pos); } /** * eel_editable_label_get_text: * @label: a #EelEditableLabel * * Fetches the text from a label widget, as displayed on the * screen. This does not include any embedded underlines * indicating mnemonics or Pango markup. (See eel_editable_label_get_label()) * * Return value: the text in the label widget. This is the internal * string used by the label, and must not be modified. **/ const gchar * eel_editable_label_get_text (EelEditableLabel *label) { g_return_val_if_fail (EEL_IS_EDITABLE_LABEL (label), NULL); return label->text; } /** * eel_editable_label_set_justify: * @label: a #EelEditableLabel * @jtype: a #GtkJustification * * Sets the alignment of the lines in the text of the label relative to * each other. %GTK_JUSTIFY_LEFT is the default value when the * widget is first created with eel_editable_label_new(). If you instead want * to set the alignment of the label as a whole, use * gtk_misc_set_alignment() instead. eel_editable_label_set_justify() has no * effect on labels containing only a single line. **/ void eel_editable_label_set_justify (EelEditableLabel *label, GtkJustification jtype) { g_return_if_fail (EEL_IS_EDITABLE_LABEL (label)); g_return_if_fail (jtype >= GTK_JUSTIFY_LEFT && jtype <= GTK_JUSTIFY_FILL); if ((GtkJustification) label->jtype != jtype) { label->jtype = jtype; /* No real need to be this drastic, but easier than duplicating the code */ eel_editable_label_recompute (label); g_object_notify (G_OBJECT (label), "justify"); gtk_widget_queue_resize (GTK_WIDGET (label)); } } /** * eel_editable_label_get_justify: * @label: a #EelEditableLabel * * Returns the justification of the label. See eel_editable_label_set_justify (). * * Return value: #GtkJustification **/ GtkJustification eel_editable_label_get_justify (EelEditableLabel *label) { g_return_val_if_fail (EEL_IS_EDITABLE_LABEL (label), 0); return label->jtype; } void eel_editable_label_set_draw_outline (EelEditableLabel *label, gboolean draw_outline) { draw_outline = draw_outline != FALSE; if (label->draw_outline != draw_outline) { label->draw_outline = draw_outline; gtk_widget_queue_draw (GTK_WIDGET (label)); } } /** * eel_editable_label_set_line_wrap: * @label: a #EelEditableLabel * @wrap: the setting * * Toggles line wrapping within the #EelEditableLabel widget. %TRUE makes it break * lines if text exceeds the widget's size. %FALSE lets the text get cut off * by the edge of the widget if it exceeds the widget size. **/ void eel_editable_label_set_line_wrap (EelEditableLabel *label, gboolean wrap) { g_return_if_fail (EEL_IS_EDITABLE_LABEL (label)); wrap = wrap != FALSE; if (label->wrap != wrap) { label->wrap = wrap; g_object_notify (G_OBJECT (label), "wrap"); gtk_widget_queue_resize (GTK_WIDGET (label)); } } void eel_editable_label_set_line_wrap_mode (EelEditableLabel *label, PangoWrapMode mode) { g_return_if_fail (EEL_IS_EDITABLE_LABEL (label)); if (label->wrap_mode != mode) { label->wrap_mode = mode; gtk_widget_queue_resize (GTK_WIDGET (label)); } } /** * eel_editable_label_get_line_wrap: * @label: a #EelEditableLabel * * Returns whether lines in the label are automatically wrapped. See eel_editable_label_set_line_wrap (). * * Return value: %TRUE if the lines of the label are automatically wrapped. */ gboolean eel_editable_label_get_line_wrap (EelEditableLabel *label) { g_return_val_if_fail (EEL_IS_EDITABLE_LABEL (label), FALSE); return label->wrap; } PangoFontDescription * eel_editable_label_get_font_description (EelEditableLabel *label) { if (label->font_desc) return pango_font_description_copy (label->font_desc); return NULL; } void eel_editable_label_set_font_description (EelEditableLabel *label, const PangoFontDescription *desc) { if (label->font_desc) pango_font_description_free (label->font_desc); if (desc) label->font_desc = pango_font_description_copy (desc); else label->font_desc = NULL; eel_editable_label_clear_layout (label); } static void eel_editable_label_finalize (GObject *object) { EelEditableLabel *label; g_assert (EEL_IS_EDITABLE_LABEL (object)); label = EEL_EDITABLE_LABEL (object); if (label->font_desc) { pango_font_description_free (label->font_desc); label->font_desc = NULL; } g_object_unref (G_OBJECT (label->im_context)); label->im_context = NULL; g_free (label->text); label->text = NULL; if (label->layout) { g_object_unref (G_OBJECT (label->layout)); label->layout = NULL; } G_OBJECT_CLASS (eel_editable_label_parent_class)->finalize (object); } static void eel_editable_label_clear_layout (EelEditableLabel *label) { if (label->layout) { g_object_unref (G_OBJECT (label->layout)); label->layout = NULL; } } static void eel_editable_label_recompute (EelEditableLabel *label) { eel_editable_label_clear_layout (label); eel_editable_label_check_cursor_blink (label); } typedef struct _LabelWrapWidth LabelWrapWidth; struct _LabelWrapWidth { gint width; PangoFontDescription *font_desc; }; static void label_wrap_width_free (gpointer data) { LabelWrapWidth *wrap_width = data; pango_font_description_free (wrap_width->font_desc); g_free (wrap_width); } static gint get_label_wrap_width (EelEditableLabel *label) { PangoLayout *layout; GtkStyleContext *style = gtk_widget_get_style_context (GTK_WIDGET (label)); PangoFontDescription *desc; LabelWrapWidth *wrap_width = g_object_get_data (G_OBJECT (style), "gtk-label-wrap-width"); if (!wrap_width) { wrap_width = g_new0 (LabelWrapWidth, 1); g_object_set_data_full (G_OBJECT (style), "gtk-label-wrap-width", wrap_width, label_wrap_width_free); } gtk_style_context_get (style, gtk_widget_get_state_flags (GTK_WIDGET (label)), GTK_STYLE_PROPERTY_FONT, &desc, NULL); if (wrap_width->font_desc && pango_font_description_equal (wrap_width->font_desc, desc)) goto out; if (wrap_width->font_desc) pango_font_description_free (wrap_width->font_desc); wrap_width->font_desc = pango_font_description_copy (desc); layout = gtk_widget_create_pango_layout (GTK_WIDGET (label), "This long string gives a good enough length for any line to have."); pango_layout_get_size (layout, &wrap_width->width, NULL); g_object_unref (layout); out: pango_font_description_free (desc); return wrap_width->width; } static void eel_editable_label_ensure_layout (EelEditableLabel *label, gboolean include_preedit) { GtkWidget *widget; PangoRectangle logical_rect; /* Normalize for comparisons */ include_preedit = include_preedit != 0; if (label->preedit_length > 0 && include_preedit != label->layout_includes_preedit) eel_editable_label_clear_layout (label); widget = GTK_WIDGET (label); if (label->layout == NULL) { gchar *preedit_string = NULL; gint preedit_length = 0; PangoAttrList *preedit_attrs = NULL; PangoAlignment align = PANGO_ALIGN_LEFT; /* Quiet gcc */ PangoAttrList *tmp_attrs = pango_attr_list_new (); if (include_preedit) { gtk_im_context_get_preedit_string (label->im_context, &preedit_string, &preedit_attrs, NULL); preedit_length = label->preedit_length; } if (preedit_length) { GString *tmp_string = g_string_new (NULL); g_string_prepend_len (tmp_string, label->text, label->n_bytes); g_string_insert (tmp_string, label->selection_anchor, preedit_string); label->layout = gtk_widget_create_pango_layout (widget, tmp_string->str); pango_attr_list_splice (tmp_attrs, preedit_attrs, label->selection_anchor, preedit_length); g_string_free (tmp_string, TRUE); } else { label->layout = gtk_widget_create_pango_layout (widget, label->text); } label->layout_includes_preedit = include_preedit; if (label->font_desc != NULL) pango_layout_set_font_description (label->layout, label->font_desc); pango_layout_set_attributes (label->layout, tmp_attrs); if (preedit_string) g_free (preedit_string); if (preedit_attrs) pango_attr_list_unref (preedit_attrs); pango_attr_list_unref (tmp_attrs); switch (label->jtype) { case GTK_JUSTIFY_LEFT: align = PANGO_ALIGN_LEFT; break; case GTK_JUSTIFY_RIGHT: align = PANGO_ALIGN_RIGHT; break; case GTK_JUSTIFY_CENTER: align = PANGO_ALIGN_CENTER; break; case GTK_JUSTIFY_FILL: /* FIXME: This just doesn't work to do this */ align = PANGO_ALIGN_LEFT; pango_layout_set_justify (label->layout, TRUE); break; default: g_assert_not_reached(); } pango_layout_set_alignment (label->layout, align); if (label->wrap) { gint longest_paragraph; gint width, height; gint set_width; gtk_widget_get_size_request (widget, &set_width, NULL); if (set_width > 0) pango_layout_set_width (label->layout, set_width * PANGO_SCALE); else { gint wrap_width; pango_layout_set_width (label->layout, -1); pango_layout_get_extents (label->layout, NULL, &logical_rect); width = logical_rect.width; /* Try to guess a reasonable maximum width */ longest_paragraph = width; wrap_width = get_label_wrap_width (label); width = MIN (width, wrap_width); width = MIN (width, PANGO_SCALE * (gdk_screen_width () + 1) / 2); pango_layout_set_width (label->layout, width); pango_layout_get_extents (label->layout, NULL, &logical_rect); width = logical_rect.width; height = logical_rect.height; /* Unfortunately, the above may leave us with a very unbalanced looking paragraph, * so we try short search for a narrower width that leaves us with the same height */ if (longest_paragraph > 0) { gint nlines, perfect_width; nlines = pango_layout_get_line_count (label->layout); perfect_width = (longest_paragraph + nlines - 1) / nlines; if (perfect_width < width) { pango_layout_set_width (label->layout, perfect_width); pango_layout_get_extents (label->layout, NULL, &logical_rect); if (logical_rect.height <= height) width = logical_rect.width; else { gint mid_width = (perfect_width + width) / 2; if (mid_width > perfect_width) { pango_layout_set_width (label->layout, mid_width); pango_layout_get_extents (label->layout, NULL, &logical_rect); if (logical_rect.height <= height) width = logical_rect.width; } } } } pango_layout_set_width (label->layout, width); } pango_layout_set_wrap (label->layout, label->wrap_mode); } else /* !label->wrap */ pango_layout_set_width (label->layout, -1); } } static void eel_editable_label_size_request (GtkWidget *widget, GtkRequisition *requisition) { EelEditableLabel *label; gint width, height; PangoRectangle logical_rect; gint set_width; gint xpad, ypad; g_assert (EEL_IS_EDITABLE_LABEL (widget)); g_assert (requisition != NULL); label = EEL_EDITABLE_LABEL (widget); /* * If word wrapping is on, then the height requisition can depend * on: * * - Any width set on the widget via gtk_widget_set_size_request(). * - The padding of the widget (xpad, set by gtk_misc_set_padding) * * Instead of trying to detect changes to these quantities, if we * are wrapping, we just rewrap for each size request. Since * size requisitions are cached by the GTK+ core, this is not * expensive. */ if (label->wrap) eel_editable_label_recompute (label); eel_editable_label_ensure_layout (label, TRUE); gtk_misc_get_padding (&label->misc, &xpad, &ypad); width = xpad * 2; height = ypad * 2; pango_layout_get_extents (label->layout, NULL, &logical_rect); gtk_widget_get_size_request (widget, &set_width, NULL); if (label->wrap && set_width > 0) width += set_width; else width += PANGO_PIXELS (logical_rect.width); height += PANGO_PIXELS (logical_rect.height); requisition->width = width; requisition->height = height; } static void eel_editable_label_get_preferred_width (GtkWidget *widget, gint *minimum, gint *natural) { GtkRequisition requisition; eel_editable_label_size_request (widget, &requisition); *minimum = *natural = requisition.width; } static void eel_editable_label_get_preferred_height (GtkWidget *widget, gint *minimum, gint *natural) { GtkRequisition requisition; eel_editable_label_size_request (widget, &requisition); *minimum = *natural = requisition.height; } static void eel_editable_label_size_allocate (GtkWidget *widget, GtkAllocation *allocation) { (* GTK_WIDGET_CLASS (eel_editable_label_parent_class)->size_allocate) (widget, allocation); } static void eel_editable_label_state_changed (GtkWidget *widget, GtkStateType prev_state) { EelEditableLabel *label; label = EEL_EDITABLE_LABEL (widget); /* clear any selection if we're insensitive */ if (!gtk_widget_is_sensitive (widget)) eel_editable_label_select_region (label, 0, 0); if (GTK_WIDGET_CLASS (eel_editable_label_parent_class)->state_changed) GTK_WIDGET_CLASS (eel_editable_label_parent_class)->state_changed (widget, prev_state); } static void eel_editable_label_style_updated (GtkWidget *widget) { EelEditableLabel *label; g_assert (EEL_IS_EDITABLE_LABEL (widget)); label = EEL_EDITABLE_LABEL (widget); GTK_WIDGET_CLASS (eel_editable_label_parent_class)->style_updated (widget); /* We have to clear the layout, fonts etc. may have changed */ eel_editable_label_recompute (label); } static void eel_editable_label_direction_changed (GtkWidget *widget, GtkTextDirection previous_dir) { EelEditableLabel *label = EEL_EDITABLE_LABEL (widget); if (label->layout) pango_layout_context_changed (label->layout); GTK_WIDGET_CLASS (eel_editable_label_parent_class)->direction_changed (widget, previous_dir); } static void get_layout_location (EelEditableLabel *label, gint *xp, gint *yp) { GtkMisc *misc; GtkWidget *widget; gfloat xalign, yalign; GtkRequisition req; gint x, y, xpad, ypad; GtkAllocation allocation; misc = GTK_MISC (label); widget = GTK_WIDGET (label); gtk_misc_get_alignment (misc, &xalign, &yalign); if (gtk_widget_get_direction (widget) != GTK_TEXT_DIR_LTR) xalign = 1.0 - xalign; gtk_widget_get_preferred_size (widget, &req, NULL); gtk_misc_get_padding (misc, &xpad, &ypad); gtk_widget_get_allocation (widget, &allocation); x = floor (xpad + ((allocation.width - req.width) * xalign) + 0.5); y = floor (ypad + ((allocation.height - req.height) * yalign) + 0.5); if (xp) *xp = x; if (yp) *yp = y; } static void eel_editable_label_get_cursor_pos (EelEditableLabel *label, PangoRectangle *strong_pos, PangoRectangle *weak_pos) { const gchar *text; const gchar *preedit_text; gint index; eel_editable_label_ensure_layout (label, TRUE); text = pango_layout_get_text (label->layout); preedit_text = text + label->selection_anchor; index = label->selection_anchor + g_utf8_offset_to_pointer (preedit_text, label->preedit_cursor) - preedit_text; pango_layout_get_cursor_pos (label->layout, index, strong_pos, weak_pos); } /* Copied from gtkutil private function */ static gboolean eel_editable_label_get_block_cursor_location (EelEditableLabel *label, gint *index, PangoRectangle *pos, gboolean *at_line_end) { const gchar *text; const gchar *preedit_text; PangoLayoutLine *layout_line; PangoRectangle strong_pos, weak_pos; gint line_no; gboolean rtl; PangoContext *context; PangoFontMetrics *metrics; const PangoFontDescription *font_desc; eel_editable_label_ensure_layout (label, TRUE); text = pango_layout_get_text (label->layout); preedit_text = text + label->selection_anchor; text = g_utf8_offset_to_pointer (preedit_text, label->preedit_cursor); index[0] = label->selection_anchor + text - preedit_text; pango_layout_index_to_pos (label->layout, index[0], pos); index[1] = label->selection_anchor + g_utf8_next_char (text) - preedit_text; if (pos->width != 0) { if (at_line_end) *at_line_end = FALSE; if (pos->width < 0) /* RTL char, shift x value back to top left of rect */ { pos->x += pos->width; pos->width = -pos->width; } return TRUE; } pango_layout_index_to_line_x (label->layout, index[0], FALSE, &line_no, NULL); layout_line = pango_layout_get_line_readonly (label->layout, line_no); if (layout_line == NULL) return FALSE; text = pango_layout_get_text (label->layout); if (index[0] < layout_line->start_index + layout_line->length) { /* this may be a zero-width character in the middle of the line, * or it could be a character where line is wrapped, we do want * block cursor in latter case */ if (g_utf8_next_char (text + index[0]) - text != layout_line->start_index + layout_line->length) { /* zero-width character in the middle of the line, do not * bother with block cursor */ return FALSE; } } /* Cursor is at the line end. It may be an empty line, or it could * be on the left or on the right depending on text direction, or it * even could be in the middle of visual layout in bidi text. */ pango_layout_get_cursor_pos (label->layout, index[0], &strong_pos, &weak_pos); if (strong_pos.x != weak_pos.x) { /* do not show block cursor in this case, since the character typed * in may or may not appear at the cursor position */ return FALSE; } context = pango_layout_get_context (label->layout); /* In case when index points to the end of line, pos->x is always most right * pixel of the layout line, so we need to correct it for RTL text. */ if (layout_line->length) { if (layout_line->resolved_dir == PANGO_DIRECTION_RTL) { PangoLayoutIter *iter; PangoRectangle line_rect; gint i; gint left, right; const gchar *p; p = g_utf8_prev_char (text + index[0]); pango_layout_line_index_to_x (layout_line, p - text, FALSE, &left); pango_layout_line_index_to_x (layout_line, p - text, TRUE, &right); pos->x = MIN (left, right); iter = pango_layout_get_iter (label->layout); for (i = 0; i < line_no; i++) pango_layout_iter_next_line (iter); pango_layout_iter_get_line_extents (iter, NULL, &line_rect); pango_layout_iter_free (iter); rtl = TRUE; pos->x += line_rect.x; } else rtl = FALSE; } else { rtl = pango_context_get_base_dir (context) == PANGO_DIRECTION_RTL; } font_desc = pango_layout_get_font_description (label->layout); if (!font_desc) font_desc = pango_context_get_font_description (context); metrics = pango_context_get_metrics (context, font_desc, NULL); pos->width = pango_font_metrics_get_approximate_char_width (metrics); pango_font_metrics_unref (metrics); if (rtl) pos->x -= pos->width - 1; if (at_line_end) *at_line_end = TRUE; return pos->width != 0; } /* These functions are copies from gtk+, as they are not exported from gtk+ */ static void eel_editable_label_draw_cursor (EelEditableLabel *label, cairo_t *cr, gint xoffset, gint yoffset) { if (gtk_widget_is_drawable (GTK_WIDGET (label))) { GtkWidget *widget = GTK_WIDGET (label); GtkTextDirection keymap_direction; GtkTextDirection widget_direction; gboolean split_cursor; gboolean block; gboolean block_at_line_end; gint range[2]; PangoRectangle strong_pos, weak_pos; PangoRectangle *cursor1 = NULL; PangoRectangle *cursor2 = NULL; GdkRectangle cursor_location; GtkTextDirection dir1 = GTK_TEXT_DIR_NONE; GtkTextDirection dir2 = GTK_TEXT_DIR_NONE; keymap_direction = (gdk_keymap_get_direction (gdk_keymap_get_default ()) == PANGO_DIRECTION_LTR) ? GTK_TEXT_DIR_LTR : GTK_TEXT_DIR_RTL; widget_direction = gtk_widget_get_direction (widget); if (label->overwrite_mode && eel_editable_label_get_block_cursor_location (label, range, &strong_pos, &block_at_line_end)) block = TRUE; else block = FALSE; if (!block) { eel_editable_label_get_cursor_pos (label, &strong_pos, &weak_pos); g_object_get (gtk_widget_get_settings (widget), "gtk-split-cursor", &split_cursor, NULL); dir1 = widget_direction; if (split_cursor) { cursor1 = &strong_pos; if (strong_pos.x != weak_pos.x || strong_pos.y != weak_pos.y) { dir2 = (widget_direction == GTK_TEXT_DIR_LTR) ? GTK_TEXT_DIR_RTL : GTK_TEXT_DIR_LTR; cursor2 = &weak_pos; } } else { if (keymap_direction == widget_direction) cursor1 = &strong_pos; else cursor1 = &weak_pos; } cursor_location.x = xoffset + PANGO_PIXELS (cursor1->x); cursor_location.y = yoffset + PANGO_PIXELS (cursor1->y); cursor_location.width = 0; cursor_location.height = PANGO_PIXELS (cursor1->height); gtk_draw_insertion_cursor (widget, cr, &cursor_location, TRUE, dir1, dir2 != GTK_TEXT_DIR_NONE); if (dir2 != GTK_TEXT_DIR_NONE) { cursor_location.x = xoffset + PANGO_PIXELS (cursor2->x); cursor_location.y = yoffset + PANGO_PIXELS (cursor2->y); cursor_location.width = 0; cursor_location.height = PANGO_PIXELS (cursor2->height); gtk_draw_insertion_cursor (widget, cr, &cursor_location, FALSE, dir2, TRUE); } } else /* Block cursor */ { GdkRGBA fg_color; GtkStyleContext *style; cairo_region_t *clip; style = gtk_widget_get_style_context (widget); gtk_style_context_get_color (style, GTK_STATE_FLAG_NORMAL, &fg_color); cairo_save (cr); gdk_cairo_set_source_rgba (cr, &fg_color); cairo_rectangle (cr, xoffset + PANGO_PIXELS (strong_pos.x), yoffset + PANGO_PIXELS (strong_pos.y), PANGO_PIXELS (strong_pos.width), PANGO_PIXELS (strong_pos.height)); cairo_fill (cr); if (!block_at_line_end) { GdkRGBA color; clip = gdk_pango_layout_get_clip_region (label->layout, xoffset, yoffset, range, 1); gdk_cairo_region (cr, clip); cairo_clip (cr); gtk_style_context_get_background_color (style, GTK_STATE_FLAG_FOCUSED, &color); gdk_cairo_set_source_rgba (cr, &color); cairo_move_to (cr, xoffset, yoffset); pango_cairo_show_layout (cr, label->layout); cairo_region_destroy (clip); } cairo_restore (cr); } } } static gint eel_editable_label_draw (GtkWidget *widget, cairo_t *cr) { EelEditableLabel *label; GtkStyleContext *style; gint x, y; g_assert (EEL_IS_EDITABLE_LABEL (widget)); label = EEL_EDITABLE_LABEL (widget); style = gtk_widget_get_style_context (widget); eel_editable_label_ensure_layout (label, TRUE); if (gtk_widget_get_visible (widget) && gtk_widget_get_mapped (widget) && label->text) { get_layout_location (label, &x, &y); gtk_render_layout (style, cr, x, y, label->layout); if (label->selection_anchor != label->selection_end) { gint range[2]; const char *text; cairo_region_t *clip; GtkStateType state; GdkRGBA background_color; range[0] = label->selection_anchor; range[1] = label->selection_end; /* Handle possible preedit string */ if (label->preedit_length > 0 && range[1] > label->selection_anchor) { text = pango_layout_get_text (label->layout) + label->selection_anchor; range[1] += g_utf8_offset_to_pointer (text, label->preedit_length) - text; } if (range[0] > range[1]) { gint tmp = range[0]; range[0] = range[1]; range[1] = tmp; } clip = gdk_pango_layout_get_clip_region (label->layout, x, y, range, 1); cairo_save (cr); gdk_cairo_region (cr, clip); cairo_clip (cr); state = gtk_widget_get_state_flags (widget); state |= GTK_STATE_FLAG_SELECTED; gtk_style_context_get_background_color (style, state, &background_color); gdk_cairo_set_source_rgba (cr, &background_color); cairo_paint (cr); gtk_style_context_save (style); gtk_style_context_set_state (style, state); gtk_render_layout (style, cr, x, y, label->layout); gtk_style_context_restore (style); cairo_restore (cr); cairo_region_destroy (clip); } else if (gtk_widget_has_focus (widget)) eel_editable_label_draw_cursor (label, cr, x, y); if (label->draw_outline) { gtk_style_context_save (style); gtk_style_context_set_state (style, gtk_widget_get_state_flags (widget)); gtk_render_frame (style, cr, 0, 0, gtk_widget_get_allocated_width (widget), gtk_widget_get_allocated_height (widget)); gtk_style_context_restore (style); } } return FALSE; } static void eel_editable_label_realize (GtkWidget *widget) { EelEditableLabel *label; GdkWindowAttr attributes; gint attributes_mask; GtkAllocation allocation; GdkWindow *window; GtkStyleContext *style; gtk_widget_set_realized (widget, TRUE); label = EEL_EDITABLE_LABEL (widget); gtk_widget_get_allocation (widget, &allocation); attributes.wclass = GDK_INPUT_OUTPUT; attributes.window_type = GDK_WINDOW_CHILD; attributes.x = allocation.x; attributes.y = allocation.y; attributes.width = allocation.width; attributes.height = allocation.height; attributes.visual = gtk_widget_get_visual (widget); attributes.cursor = gdk_cursor_new (GDK_XTERM); attributes.event_mask = gtk_widget_get_events (widget) | (GDK_EXPOSURE_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_BUTTON1_MOTION_MASK | GDK_BUTTON3_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_POINTER_MOTION_MASK | GDK_ENTER_NOTIFY_MASK | GDK_LEAVE_NOTIFY_MASK); attributes_mask = GDK_WA_X | GDK_WA_Y | GDK_WA_VISUAL | GDK_WA_CURSOR; window = gdk_window_new (gtk_widget_get_parent_window (widget), &attributes, attributes_mask); gtk_widget_set_window (widget, window); gdk_window_set_user_data (window, widget); g_object_unref (attributes.cursor); style = gtk_widget_get_style_context (widget); gtk_style_context_set_background (style, gtk_widget_get_window (widget)); gtk_im_context_set_client_window (label->im_context, gtk_widget_get_window (widget)); } static void eel_editable_label_unrealize (GtkWidget *widget) { EelEditableLabel *label; label = EEL_EDITABLE_LABEL (widget); /* Strange. Copied from GtkEntry, should be NULL? */ gtk_im_context_set_client_window (label->im_context, NULL); (* GTK_WIDGET_CLASS (eel_editable_label_parent_class)->unrealize) (widget); } static void eel_editable_label_map (GtkWidget *widget) { (* GTK_WIDGET_CLASS (eel_editable_label_parent_class)->map) (widget); } static void eel_editable_label_unmap (GtkWidget *widget) { (* GTK_WIDGET_CLASS (eel_editable_label_parent_class)->unmap) (widget); } static void window_to_layout_coords (EelEditableLabel *label, gint *x, gint *y) { gint lx, ly; /* get layout location in gtk_widget_get_window (widget) coords */ get_layout_location (label, &lx, &ly); if (x) *x -= lx; /* go to layout */ if (y) *y -= ly; /* go to layout */ } static void get_layout_index (EelEditableLabel *label, gint x, gint y, gint *index) { gint trailing = 0; const gchar *cluster; const gchar *cluster_end; *index = 0; eel_editable_label_ensure_layout (label, TRUE); window_to_layout_coords (label, &x, &y); x *= PANGO_SCALE; y *= PANGO_SCALE; pango_layout_xy_to_index (label->layout, x, y, index, &trailing); if (*index >= label->selection_anchor && label->preedit_length) { if (*index >= label->selection_anchor + label->preedit_length) *index -= label->preedit_length; else { *index = label->selection_anchor; trailing = 0; } } cluster = label->text + *index; cluster_end = cluster; while (trailing) { cluster_end = g_utf8_next_char (cluster_end); --trailing; } *index += (cluster_end - cluster); } static void eel_editable_label_select_word (EelEditableLabel *label) { gint min, max; gint start_index = eel_editable_label_move_backward_word (label, label->selection_end); gint end_index = eel_editable_label_move_forward_word (label, label->selection_end); min = MIN (label->selection_anchor, label->selection_end); max = MAX (label->selection_anchor, label->selection_end); min = MIN (min, start_index); max = MAX (max, end_index); eel_editable_label_select_region_index (label, min, max); } static gint eel_editable_label_button_press (GtkWidget *widget, GdkEventButton *event) { EelEditableLabel *label; gint index = 0; label = EEL_EDITABLE_LABEL (widget); if (event->button == 1) { if (!gtk_widget_has_focus (widget)) gtk_widget_grab_focus (widget); if (event->type == GDK_3BUTTON_PRESS) { eel_editable_label_select_region_index (label, 0, strlen (label->text)); return TRUE; } if (event->type == GDK_2BUTTON_PRESS) { eel_editable_label_select_word (label); return TRUE; } get_layout_index (label, event->x, event->y, &index); if ((label->selection_anchor != label->selection_end) && (event->state & GDK_SHIFT_MASK)) { gint min, max; /* extend (same as motion) */ min = MIN (label->selection_anchor, label->selection_end); max = MAX (label->selection_anchor, label->selection_end); min = MIN (min, index); max = MAX (max, index); /* ensure the anchor is opposite index */ if (index == min) { gint tmp = min; min = max; max = tmp; } eel_editable_label_select_region_index (label, min, max); } else { if (event->type == GDK_3BUTTON_PRESS) eel_editable_label_select_region_index (label, 0, strlen (label->text)); else if (event->type == GDK_2BUTTON_PRESS) eel_editable_label_select_word (label); else /* start a replacement */ eel_editable_label_select_region_index (label, index, index); } return TRUE; } else if (event->button == 2 && event->type == GDK_BUTTON_PRESS) { get_layout_index (label, event->x, event->y, &index); eel_editable_label_select_region_index (label, index, index); eel_editable_label_paste (label, GDK_SELECTION_PRIMARY); return TRUE; } else if (event->button == 3 && event->type == GDK_BUTTON_PRESS) { eel_editable_label_do_popup (label, event); return TRUE; } return FALSE; } static gint eel_editable_label_button_release (GtkWidget *widget, GdkEventButton *event) { if (event->button != 1) return FALSE; /* The goal here is to return TRUE iff we ate the * button press to start selecting. */ return TRUE; } static gint eel_editable_label_motion (GtkWidget *widget, GdkEventMotion *event) { EelEditableLabel *label; gint index; gint x, y; label = EEL_EDITABLE_LABEL (widget); if ((event->state & GDK_BUTTON1_MASK) == 0) return FALSE; gdk_window_get_device_position (gtk_widget_get_window (widget), event->device, &x, &y, NULL); get_layout_index (label, x, y, &index); eel_editable_label_select_region_index (label, label->selection_anchor, index); return TRUE; } static void get_text_callback (GtkClipboard *clipboard, GtkSelectionData *selection_data, guint info, gpointer user_data_or_owner) { EelEditableLabel *label; label = EEL_EDITABLE_LABEL (user_data_or_owner); if ((label->selection_anchor != label->selection_end) && label->text) { gint start, end; gint len; start = MIN (label->selection_anchor, label->selection_end); end = MAX (label->selection_anchor, label->selection_end); len = strlen (label->text); if (end > len) end = len; if (start > len) start = len; gtk_selection_data_set_text (selection_data, label->text + start, end - start); } } static void clear_text_callback (GtkClipboard *clipboard, gpointer user_data_or_owner) { EelEditableLabel *label; label = EEL_EDITABLE_LABEL (user_data_or_owner); label->selection_anchor = label->selection_end; gtk_widget_queue_draw (GTK_WIDGET (label)); } static void eel_editable_label_select_region_index (EelEditableLabel *label, gint anchor_index, gint end_index) { GtkClipboard *clipboard; g_assert (EEL_IS_EDITABLE_LABEL (label)); if (label->selection_anchor == anchor_index && label->selection_end == end_index) return; eel_editable_label_reset_im_context (label); label->selection_anchor = anchor_index; label->selection_end = end_index; clipboard = gtk_clipboard_get (GDK_SELECTION_PRIMARY); if (anchor_index != end_index) { GtkTargetList *list; GtkTargetEntry *targets; guint n_targets; list = gtk_target_list_new (NULL, 0); gtk_target_list_add_text_targets (list, 0); targets = gtk_target_table_new_from_list (list, &n_targets); gtk_clipboard_set_with_owner (clipboard, targets, n_targets, get_text_callback, clear_text_callback, G_OBJECT (label)); gtk_clipboard_set_can_store (clipboard, NULL, 0); gtk_target_table_free (targets, n_targets); gtk_target_list_unref (list); } else { if (gtk_clipboard_get_owner (clipboard) == G_OBJECT (label)) gtk_clipboard_clear (clipboard); } gtk_widget_queue_draw (GTK_WIDGET (label)); g_object_freeze_notify (G_OBJECT (label)); g_object_notify (G_OBJECT (label), "cursor_position"); g_object_notify (G_OBJECT (label), "selection_bound"); g_object_thaw_notify (G_OBJECT (label)); } /** * eel_editable_label_select_region: * @label: a #EelEditableLabel * @start_offset: start offset (in characters not bytes) * @end_offset: end offset (in characters not bytes) * * Selects a range of characters in the label, if the label is selectable. * See eel_editable_label_set_selectable(). If the label is not selectable, * this function has no effect. If @start_offset or * @end_offset are -1, then the end of the label will be substituted. * **/ void eel_editable_label_select_region (EelEditableLabel *label, gint start_offset, gint end_offset) { g_return_if_fail (EEL_IS_EDITABLE_LABEL (label)); if (label->text) { if (start_offset < 0) start_offset = g_utf8_strlen (label->text, -1); if (end_offset < 0) end_offset = g_utf8_strlen (label->text, -1); eel_editable_label_select_region_index (label, g_utf8_offset_to_pointer (label->text, start_offset) - label->text, g_utf8_offset_to_pointer (label->text, end_offset) - label->text); } } /** * eel_editable_label_get_selection_bounds: * @label: a #EelEditableLabel * @start: return location for start of selection, as a character offset * @end: return location for end of selection, as a character offset * * Gets the selected range of characters in the label, returning %TRUE * if there's a selection. * * Return value: %TRUE if selection is non-empty **/ gboolean eel_editable_label_get_selection_bounds (EelEditableLabel *label, gint *start, gint *end) { gint start_index, end_index; gint start_offset, end_offset; gint len; g_return_val_if_fail (EEL_IS_EDITABLE_LABEL (label), FALSE); start_index = MIN (label->selection_anchor, label->selection_end); end_index = MAX (label->selection_anchor, label->selection_end); len = strlen (label->text); if (end_index > len) end_index = len; if (start_index > len) start_index = len; start_offset = g_utf8_strlen (label->text, start_index); end_offset = g_utf8_strlen (label->text, end_index); if (start_offset > end_offset) { gint tmp = start_offset; start_offset = end_offset; end_offset = tmp; } if (start) *start = start_offset; if (end) *end = end_offset; return start_offset != end_offset; } /** * eel_editable_label_get_layout: * @label: a #EelEditableLabel * * Gets the #PangoLayout used to display the label. * The layout is useful to e.g. convert text positions to * pixel positions, in combination with eel_editable_label_get_layout_offsets(). * The returned layout is owned by the label so need not be * freed by the caller. * * Return value: the #PangoLayout for this label **/ PangoLayout* eel_editable_label_get_layout (EelEditableLabel *label) { g_return_val_if_fail (EEL_IS_EDITABLE_LABEL (label), NULL); eel_editable_label_ensure_layout (label, TRUE); return label->layout; } /** * eel_editable_label_get_layout_offsets: * @label: a #EelEditableLabel * @x: location to store X offset of layout, or %NULL * @y: location to store Y offset of layout, or %NULL * * Obtains the coordinates where the label will draw the #PangoLayout * representing the text in the label; useful to convert mouse events * into coordinates inside the #PangoLayout, e.g. to take some action * if some part of the label is clicked. Of course you will need to * create a #GtkEventBox to receive the events, and pack the label * inside it, since labels are a #GTK_NO_WINDOW widget. Remember * when using the #PangoLayout functions you need to convert to * and from pixels using PANGO_PIXELS() or #PANGO_SCALE. * **/ void eel_editable_label_get_layout_offsets (EelEditableLabel *label, gint *x, gint *y) { g_return_if_fail (EEL_IS_EDITABLE_LABEL (label)); get_layout_location (label, x, y); } static void eel_editable_label_pend_cursor_blink (EelEditableLabel *label) { /* TODO */ } static void eel_editable_label_check_cursor_blink (EelEditableLabel *label) { /* TODO */ } static gint eel_editable_label_key_press (GtkWidget *widget, GdkEventKey *event) { EelEditableLabel *label = EEL_EDITABLE_LABEL (widget); eel_editable_label_pend_cursor_blink (label); if (gtk_im_context_filter_keypress (label->im_context, event)) { /*TODO eel_editable_label_obscure_mouse_cursor (label);*/ label->need_im_reset = TRUE; return TRUE; } if (GTK_WIDGET_CLASS (eel_editable_label_parent_class)->key_press_event (widget, event)) /* Activate key bindings */ return TRUE; return FALSE; } static gint eel_editable_label_key_release (GtkWidget *widget, GdkEventKey *event) { EelEditableLabel *label = EEL_EDITABLE_LABEL (widget); if (gtk_im_context_filter_keypress (label->im_context, event)) { label->need_im_reset = TRUE; return TRUE; } return GTK_WIDGET_CLASS (eel_editable_label_parent_class)->key_release_event (widget, event); } static void eel_editable_label_keymap_direction_changed (GdkKeymap *keymap, EelEditableLabel *label) { gtk_widget_queue_draw (GTK_WIDGET (label)); } static gint eel_editable_label_focus_in (GtkWidget *widget, GdkEventFocus *event) { EelEditableLabel *label = EEL_EDITABLE_LABEL (widget); gtk_widget_queue_draw (widget); label->need_im_reset = TRUE; gtk_im_context_focus_in (label->im_context); g_signal_connect (gdk_keymap_get_default (), "direction_changed", G_CALLBACK (eel_editable_label_keymap_direction_changed), label); eel_editable_label_check_cursor_blink (label); return FALSE; } static gint eel_editable_label_focus_out (GtkWidget *widget, GdkEventFocus *event) { EelEditableLabel *label = EEL_EDITABLE_LABEL (widget); gtk_widget_queue_draw (widget); label->need_im_reset = TRUE; gtk_im_context_focus_out (label->im_context); eel_editable_label_check_cursor_blink (label); g_signal_handlers_disconnect_by_func (gdk_keymap_get_default (), (gpointer) eel_editable_label_keymap_direction_changed, label); return FALSE; } static void eel_editable_label_delete_text (EelEditableLabel *label, int start_pos, int end_pos) { int anchor, end; if (start_pos < 0) start_pos = 0; if (end_pos < 0 || end_pos > label->n_bytes) end_pos = label->n_bytes; if (start_pos < end_pos) { g_memmove (label->text + start_pos, label->text + end_pos, label->n_bytes + 1 - end_pos); label->n_bytes -= (end_pos - start_pos); anchor = label->selection_anchor; if (anchor > start_pos) anchor -= MIN (anchor, end_pos) - start_pos; end = label->selection_end; if (end > start_pos) end -= MIN (end, end_pos) - start_pos; /* We might have changed the selection */ eel_editable_label_select_region_index (label, anchor, end); eel_editable_label_recompute (label); gtk_widget_queue_resize (GTK_WIDGET (label)); g_object_notify (G_OBJECT (label), "text"); g_signal_emit_by_name (GTK_EDITABLE (label), "changed"); } } static void eel_editable_label_insert_text (EelEditableLabel *label, const gchar *new_text, gint new_text_length, gint *index) { if (new_text_length + label->n_bytes + 1 > label->text_size) { while (new_text_length + label->n_bytes + 1 > label->text_size) { if (label->text_size == 0) label->text_size = 16; else label->text_size *= 2; } label->text = g_realloc (label->text, label->text_size); } g_object_freeze_notify (G_OBJECT (label)); g_memmove (label->text + *index + new_text_length, label->text + *index, label->n_bytes - *index); memcpy (label->text + *index, new_text, new_text_length); label->n_bytes += new_text_length; /* NUL terminate for safety and convenience */ label->text[label->n_bytes] = '\0'; g_object_notify (G_OBJECT (label), "text"); if (label->selection_anchor > *index) { g_object_notify (G_OBJECT (label), "cursor_position"); g_object_notify (G_OBJECT (label), "selection_bound"); label->selection_anchor += new_text_length; } if (label->selection_end > *index) { label->selection_end += new_text_length; g_object_notify (G_OBJECT (label), "selection_bound"); } *index += new_text_length; eel_editable_label_recompute (label); gtk_widget_queue_resize (GTK_WIDGET (label)); g_object_thaw_notify (G_OBJECT (label)); g_signal_emit_by_name (GTK_EDITABLE (label), "changed"); } /* Used for im_commit_cb and inserting Unicode chars */ static void eel_editable_label_enter_text (EelEditableLabel *label, const gchar *str) { GtkEditable *editable = GTK_EDITABLE (label); gint tmp_pos; gboolean old_need_im_reset; /* Never reset the im while commiting, as that resets possible im state */ old_need_im_reset = label->need_im_reset; label->need_im_reset = FALSE; if (label->selection_end != label->selection_anchor) gtk_editable_delete_selection (editable); else { if (label->overwrite_mode) eel_editable_label_delete_from_cursor (label, GTK_DELETE_CHARS, 1); } tmp_pos = g_utf8_pointer_to_offset (label->text, label->text + label->selection_anchor); gtk_editable_insert_text (GTK_EDITABLE (label), str, strlen (str), &tmp_pos); tmp_pos = g_utf8_offset_to_pointer (label->text, tmp_pos) - label->text; eel_editable_label_select_region_index (label, tmp_pos, tmp_pos); label->need_im_reset = old_need_im_reset; } /* IM Context Callbacks */ static void eel_editable_label_commit_cb (GtkIMContext *context, const gchar *str, EelEditableLabel *label) { eel_editable_label_enter_text (label, str); } static void eel_editable_label_preedit_changed_cb (GtkIMContext *context, EelEditableLabel *label) { gchar *preedit_string; gint cursor_pos; gtk_im_context_get_preedit_string (label->im_context, &preedit_string, NULL, &cursor_pos); label->preedit_length = strlen (preedit_string); cursor_pos = CLAMP (cursor_pos, 0, g_utf8_strlen (preedit_string, -1)); label->preedit_cursor = cursor_pos; g_free (preedit_string); eel_editable_label_recompute (label); gtk_widget_queue_resize (GTK_WIDGET (label)); } static gboolean eel_editable_label_retrieve_surrounding_cb (GtkIMContext *context, EelEditableLabel *label) { gtk_im_context_set_surrounding (context, label->text, strlen (label->text) + 1, label->selection_end); return TRUE; } static gboolean eel_editable_label_delete_surrounding_cb (GtkIMContext *slave, gint offset, gint n_chars, EelEditableLabel *label) { gint current_pos; current_pos = g_utf8_pointer_to_offset (label->text, label->text + label->selection_anchor); gtk_editable_delete_text (GTK_EDITABLE (label), current_pos + offset, current_pos + offset + n_chars); return TRUE; } static gboolean eel_editable_label_focus (GtkWidget *widget, GtkDirectionType direction) { /* We never want to be in the tab chain */ return FALSE; } /* Compute the X position for an offset that corresponds to the "more important * cursor position for that offset. We use this when trying to guess to which * end of the selection we should go to when the user hits the left or * right arrow key. */ static void get_better_cursor (EelEditableLabel *label, gint index, gint *x, gint *y) { GtkTextDirection keymap_direction = (gdk_keymap_get_direction (gdk_keymap_get_default ()) == PANGO_DIRECTION_LTR) ? GTK_TEXT_DIR_LTR : GTK_TEXT_DIR_RTL; GtkTextDirection widget_direction = gtk_widget_get_direction (GTK_WIDGET (label)); gboolean split_cursor; PangoRectangle strong_pos, weak_pos; g_object_get (gtk_widget_get_settings (GTK_WIDGET (label)), "gtk-split-cursor", &split_cursor, NULL); eel_editable_label_get_cursor_pos (label, &strong_pos, &weak_pos); if (split_cursor) { *x = strong_pos.x / PANGO_SCALE; *y = strong_pos.y / PANGO_SCALE; } else { if (keymap_direction == widget_direction) { *x = strong_pos.x / PANGO_SCALE; *y = strong_pos.y / PANGO_SCALE; } else { *x = weak_pos.x / PANGO_SCALE; *y = weak_pos.y / PANGO_SCALE; } } } static gint eel_editable_label_move_logically (EelEditableLabel *label, gint start, gint count) { gint offset = g_utf8_pointer_to_offset (label->text, label->text + start); if (label->text) { PangoLogAttr *log_attrs; gint n_attrs; gint length; eel_editable_label_ensure_layout (label, FALSE); length = g_utf8_strlen (label->text, -1); pango_layout_get_log_attrs (label->layout, &log_attrs, &n_attrs); while (count > 0 && offset < length) { do offset++; while (offset < length && !log_attrs[offset].is_cursor_position); count--; } while (count < 0 && offset > 0) { do offset--; while (offset > 0 && !log_attrs[offset].is_cursor_position); count++; } g_free (log_attrs); } return g_utf8_offset_to_pointer (label->text, offset) - label->text; } static gint eel_editable_label_move_visually (EelEditableLabel *label, gint start, gint count) { gint index; index = start; while (count != 0) { int new_index, new_trailing; gboolean split_cursor; gboolean strong; eel_editable_label_ensure_layout (label, FALSE); g_object_get (gtk_widget_get_settings (GTK_WIDGET (label)), "gtk-split-cursor", &split_cursor, NULL); if (split_cursor) strong = TRUE; else { GtkTextDirection keymap_direction = (gdk_keymap_get_direction (gdk_keymap_get_default ()) == PANGO_DIRECTION_LTR) ? GTK_TEXT_DIR_LTR : GTK_TEXT_DIR_RTL; strong = keymap_direction == gtk_widget_get_direction (GTK_WIDGET (label)); } if (count > 0) { pango_layout_move_cursor_visually (label->layout, strong, index, 0, 1, &new_index, &new_trailing); count--; } else { pango_layout_move_cursor_visually (label->layout, strong, index, 0, -1, &new_index, &new_trailing); count++; } if (new_index < 0 || new_index == G_MAXINT) break; index = new_index; while (new_trailing--) index = g_utf8_next_char (label->text + new_index) - label->text; } return index; } static gint eel_editable_label_move_line (EelEditableLabel *label, gint start, gint count) { int n_lines, i; int x; PangoLayoutLine *line; int index; eel_editable_label_ensure_layout (label, FALSE); n_lines = pango_layout_get_line_count (label->layout); for (i = 0; i < n_lines; i++) { line = pango_layout_get_line (label->layout, i); if (start >= line->start_index && start <= line->start_index + line->length) { pango_layout_line_index_to_x (line, start, FALSE, &x); break; } } if (i == n_lines) i = n_lines - 1; i += count; i = CLAMP (i, 0, n_lines - 1); line = pango_layout_get_line (label->layout, i); if (pango_layout_line_x_to_index (line, x, &index, NULL)) return index; else { if (i == n_lines - 1) return line->start_index + line->length; else return line->start_index + line->length - 1; } } static gint eel_editable_label_move_forward_word (EelEditableLabel *label, gint start) { gint new_pos = g_utf8_pointer_to_offset (label->text, label->text + start); gint length; length = g_utf8_strlen (label->text, -1); if (new_pos < length) { PangoLogAttr *log_attrs; gint n_attrs; eel_editable_label_ensure_layout (label, FALSE); pango_layout_get_log_attrs (label->layout, &log_attrs, &n_attrs); /* Find the next word end, (remember, n_attrs is one more than the number of of chars) */ new_pos++; while (new_pos < (n_attrs - 1) && !log_attrs[new_pos].is_word_end) new_pos++; g_free (log_attrs); } return g_utf8_offset_to_pointer (label->text, new_pos) - label->text; } static gint eel_editable_label_move_backward_word (EelEditableLabel *label, gint start) { gint new_pos = g_utf8_pointer_to_offset (label->text, label->text + start); if (new_pos > 0) { PangoLogAttr *log_attrs; gint n_attrs; eel_editable_label_ensure_layout (label, FALSE); pango_layout_get_log_attrs (label->layout, &log_attrs, &n_attrs); new_pos -= 1; /* Find the previous word beginning */ while (new_pos > 0 && !log_attrs[new_pos].is_word_start) new_pos--; g_free (log_attrs); } return g_utf8_offset_to_pointer (label->text, new_pos) - label->text; } static void eel_editable_label_move_cursor (EelEditableLabel *label, GtkMovementStep step, gint count, gboolean extend_selection) { gint new_pos; new_pos = label->selection_end; if (label->selection_end != label->selection_anchor && !extend_selection) { /* If we have a current selection and aren't extending it, move to the * start/or end of the selection as appropriate */ switch (step) { case GTK_MOVEMENT_DISPLAY_LINES: case GTK_MOVEMENT_VISUAL_POSITIONS: { gint end_x, end_y; gint anchor_x, anchor_y; gboolean end_is_left; get_better_cursor (label, label->selection_end, &end_x, &end_y); get_better_cursor (label, label->selection_anchor, &anchor_x, &anchor_y); end_is_left = (end_y < anchor_y) || (end_y == anchor_y && end_x < anchor_x); if (count < 0) new_pos = end_is_left ? label->selection_end : label->selection_anchor; else new_pos = !end_is_left ? label->selection_end : label->selection_anchor; break; } case GTK_MOVEMENT_LOGICAL_POSITIONS: case GTK_MOVEMENT_WORDS: if (count < 0) new_pos = MIN (label->selection_end, label->selection_anchor); else new_pos = MAX (label->selection_end, label->selection_anchor); break; case GTK_MOVEMENT_DISPLAY_LINE_ENDS: case GTK_MOVEMENT_PARAGRAPH_ENDS: case GTK_MOVEMENT_BUFFER_ENDS: /* FIXME: Can do better here */ new_pos = count < 0 ? 0 : strlen (label->text); break; case GTK_MOVEMENT_PARAGRAPHS: case GTK_MOVEMENT_PAGES: break; default: g_assert_not_reached (); break; } } else { switch (step) { case GTK_MOVEMENT_LOGICAL_POSITIONS: new_pos = eel_editable_label_move_logically (label, new_pos, count); break; case GTK_MOVEMENT_VISUAL_POSITIONS: new_pos = eel_editable_label_move_visually (label, new_pos, count); break; case GTK_MOVEMENT_WORDS: while (count > 0) { new_pos = eel_editable_label_move_forward_word (label, new_pos); count--; } while (count < 0) { new_pos = eel_editable_label_move_backward_word (label, new_pos); count++; } break; case GTK_MOVEMENT_DISPLAY_LINE_ENDS: case GTK_MOVEMENT_PARAGRAPH_ENDS: case GTK_MOVEMENT_BUFFER_ENDS: /* FIXME: Can do better here */ new_pos = count < 0 ? 0 : strlen (label->text); break; case GTK_MOVEMENT_DISPLAY_LINES: new_pos = eel_editable_label_move_line (label, new_pos, count); break; break; case GTK_MOVEMENT_PARAGRAPHS: case GTK_MOVEMENT_PAGES: break; default: g_assert_not_reached (); break; } } if (extend_selection) eel_editable_label_select_region_index (label, label->selection_anchor, new_pos); else eel_editable_label_select_region_index (label, new_pos, new_pos); } static void eel_editable_label_reset_im_context (EelEditableLabel *label) { if (label->need_im_reset) { label->need_im_reset = 0; gtk_im_context_reset (label->im_context); } } static void eel_editable_label_delete_from_cursor (EelEditableLabel *label, GtkDeleteType type, gint count) { GtkEditable *editable = GTK_EDITABLE (label); gint start_pos = label->selection_anchor; gint end_pos = label->selection_anchor; eel_editable_label_reset_im_context (label); if (label->selection_anchor != label->selection_end) { gtk_editable_delete_selection (editable); return; } switch (type) { case GTK_DELETE_CHARS: end_pos = eel_editable_label_move_logically (label, start_pos, count); start_pos = g_utf8_pointer_to_offset (label->text, label->text + start_pos); end_pos = g_utf8_pointer_to_offset (label->text, label->text + end_pos); gtk_editable_delete_text (GTK_EDITABLE (label), MIN (start_pos, end_pos), MAX (start_pos, end_pos)); break; case GTK_DELETE_WORDS: if (count < 0) { /* Move to end of current word, or if not on a word, end of previous word */ end_pos = eel_editable_label_move_backward_word (label, end_pos); end_pos = eel_editable_label_move_forward_word (label, end_pos); } else if (count > 0) { /* Move to beginning of current word, or if not on a word, begining of next word */ start_pos = eel_editable_label_move_forward_word (label, start_pos); start_pos = eel_editable_label_move_backward_word (label, start_pos); } /* Fall through */ case GTK_DELETE_WORD_ENDS: while (count < 0) { start_pos = eel_editable_label_move_backward_word (label, start_pos); count++; } while (count > 0) { end_pos = eel_editable_label_move_forward_word (label, end_pos); count--; } start_pos = g_utf8_pointer_to_offset (label->text, label->text + start_pos); end_pos = g_utf8_pointer_to_offset (label->text, label->text + end_pos); gtk_editable_delete_text (GTK_EDITABLE (label), start_pos, end_pos); break; case GTK_DELETE_DISPLAY_LINE_ENDS: case GTK_DELETE_PARAGRAPH_ENDS: end_pos = g_utf8_pointer_to_offset (label->text, label->text + label->selection_anchor); if (count < 0) gtk_editable_delete_text (GTK_EDITABLE (label), 0, end_pos); else gtk_editable_delete_text (GTK_EDITABLE (label), end_pos, -1); break; case GTK_DELETE_DISPLAY_LINES: case GTK_DELETE_PARAGRAPHS: gtk_editable_delete_text (GTK_EDITABLE (label), 0, -1); break; case GTK_DELETE_WHITESPACE: /* TODO eel_editable_label_delete_whitespace (label); */ break; } eel_editable_label_pend_cursor_blink (label); } static void eel_editable_label_copy_clipboard (EelEditableLabel *label) { if (label->text) { gint start, end; gint len; start = MIN (label->selection_anchor, label->selection_end); end = MAX (label->selection_anchor, label->selection_end); len = strlen (label->text); if (end > len) end = len; if (start > len) start = len; if (start != end) gtk_clipboard_set_text (gtk_clipboard_get (GDK_SELECTION_CLIPBOARD), label->text + start, end - start); } } static void eel_editable_label_cut_clipboard (EelEditableLabel *label) { if (label->text) { gint start, end; gint len; start = MIN (label->selection_anchor, label->selection_end); end = MAX (label->selection_anchor, label->selection_end); len = strlen (label->text); if (end > len) end = len; if (start > len) start = len; if (start != end) { gtk_clipboard_set_text (gtk_clipboard_get (GDK_SELECTION_CLIPBOARD), label->text + start, end - start); start = g_utf8_pointer_to_offset (label->text, label->text + start); end = g_utf8_pointer_to_offset (label->text, label->text + end); gtk_editable_delete_text (GTK_EDITABLE (label), start, end); } } } static void paste_received (GtkClipboard *clipboard, const gchar *text, gpointer data) { EelEditableLabel *label = EEL_EDITABLE_LABEL (data); GtkEditable *editable = GTK_EDITABLE (label); gint tmp_pos; if (text) { if (label->selection_end != label->selection_anchor) gtk_editable_delete_selection (editable); tmp_pos = g_utf8_pointer_to_offset (label->text, label->text + label->selection_anchor); gtk_editable_insert_text (GTK_EDITABLE (label), text, strlen (text), &tmp_pos); tmp_pos = g_utf8_offset_to_pointer (label->text, tmp_pos) - label->text; eel_editable_label_select_region_index (label, tmp_pos, tmp_pos); } g_object_unref (G_OBJECT (label)); } static void eel_editable_label_paste (EelEditableLabel *label, GdkAtom selection) { g_object_ref (G_OBJECT (label)); gtk_clipboard_request_text (gtk_widget_get_clipboard (GTK_WIDGET (label), selection), paste_received, label); } static void eel_editable_label_paste_clipboard (EelEditableLabel *label) { eel_editable_label_paste (label, GDK_NONE); } static void eel_editable_label_select_all (EelEditableLabel *label) { eel_editable_label_select_region_index (label, 0, strlen (label->text)); } /* Quick hack of a popup menu */ static void activate_cb (GtkWidget *menuitem, EelEditableLabel *label) { const gchar *signal = g_object_get_data (G_OBJECT (menuitem), "gtk-signal"); g_signal_emit_by_name (label, signal); } static void append_action_signal (EelEditableLabel *label, GtkWidget *menu, const gchar *stock_id, const gchar *signal, gboolean sensitive) { GtkWidget *menuitem = gtk_image_menu_item_new_from_stock (stock_id, NULL); g_object_set_data (G_OBJECT (menuitem), "gtk-signal", (char *)signal); g_signal_connect (menuitem, "activate", G_CALLBACK (activate_cb), label); gtk_widget_set_sensitive (menuitem, sensitive); gtk_widget_show (menuitem); gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem); } static void popup_menu_detach (GtkWidget *attach_widget, GtkMenu *menu) { EelEditableLabel *label; label = EEL_EDITABLE_LABEL (attach_widget); label->popup_menu = NULL; } static void popup_position_func (GtkMenu *menu, gint *x, gint *y, gboolean *push_in, gpointer user_data) { EelEditableLabel *label; GtkWidget *widget; GtkRequisition req; GtkAllocation allocation; label = EEL_EDITABLE_LABEL (user_data); widget = GTK_WIDGET (label); g_assert (gtk_widget_get_realized (widget)); gdk_window_get_origin (gtk_widget_get_window (widget), x, y); /*gtk_widget_size_request (label->popup_menu, &req);*/ gtk_widget_get_requisition (widget, &req); gtk_widget_get_allocation (widget, &allocation); *x += allocation.width / 2; *y += allocation.height; *x = CLAMP (*x, 0, MAX (0, gdk_screen_width () - req.width)); *y = CLAMP (*y, 0, MAX (0, gdk_screen_height () - req.height)); } static void eel_editable_label_toggle_overwrite (EelEditableLabel *label) { label->overwrite_mode = !label->overwrite_mode; gtk_widget_queue_draw (GTK_WIDGET (label)); } typedef struct { EelEditableLabel *label; gint button; guint time; } PopupInfo; static void popup_targets_received (GtkClipboard *clipboard, GtkSelectionData *data, gpointer user_data) { GtkWidget *menuitem, *submenu; gboolean have_selection; gboolean clipboard_contains_text; PopupInfo *info; EelEditableLabel *label; info = user_data; label = info->label; if (gtk_widget_get_realized (GTK_WIDGET (label))) { if (label->popup_menu) gtk_widget_destroy (label->popup_menu); label->popup_menu = gtk_menu_new (); gtk_menu_attach_to_widget (GTK_MENU (label->popup_menu), GTK_WIDGET (label), popup_menu_detach); have_selection = label->selection_anchor != label->selection_end; clipboard_contains_text = gtk_selection_data_targets_include_text (data); append_action_signal (label, label->popup_menu, GTK_STOCK_CUT, "cut_clipboard", have_selection); append_action_signal (label, label->popup_menu, GTK_STOCK_COPY, "copy_clipboard", have_selection); append_action_signal (label, label->popup_menu, GTK_STOCK_PASTE, "paste_clipboard", clipboard_contains_text); menuitem = gtk_menu_item_new_with_label (_("Select All")); g_signal_connect_object (menuitem, "activate", G_CALLBACK (eel_editable_label_select_all), label, G_CONNECT_SWAPPED); gtk_widget_show (menuitem); gtk_menu_shell_append (GTK_MENU_SHELL (label->popup_menu), menuitem); menuitem = gtk_separator_menu_item_new (); gtk_widget_show (menuitem); gtk_menu_shell_append (GTK_MENU_SHELL (label->popup_menu), menuitem); menuitem = gtk_menu_item_new_with_label (_("Input Methods")); gtk_widget_show (menuitem); submenu = gtk_menu_new (); gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem), submenu); gtk_menu_shell_append (GTK_MENU_SHELL (label->popup_menu), menuitem); gtk_im_multicontext_append_menuitems (GTK_IM_MULTICONTEXT (label->im_context), GTK_MENU_SHELL (submenu)); g_signal_emit (label, signals[POPULATE_POPUP], 0, label->popup_menu); if (info->button) gtk_menu_popup (GTK_MENU (label->popup_menu), NULL, NULL, NULL, NULL, info->button, info->time); else { gtk_menu_popup (GTK_MENU (label->popup_menu), NULL, NULL, popup_position_func, label, info->button, info->time); gtk_menu_shell_select_first (GTK_MENU_SHELL (label->popup_menu), FALSE); } } g_object_unref (label); g_free (info); } static void eel_editable_label_do_popup (EelEditableLabel *label, GdkEventButton *event) { PopupInfo *info = g_new (PopupInfo, 1); /* In order to know what entries we should make sensitive, we * ask for the current targets of the clipboard, and when * we get them, then we actually pop up the menu. */ info->label = g_object_ref (label); if (event) { info->button = event->button; info->time = event->time; } else { info->button = 0; info->time = gtk_get_current_event_time (); } gtk_clipboard_request_contents (gtk_widget_get_clipboard (GTK_WIDGET (label), GDK_SELECTION_CLIPBOARD), gdk_atom_intern ("TARGETS", FALSE), popup_targets_received, info); } /************ Editable implementation ****************/ static void editable_insert_text_emit (GtkEditable *editable, const gchar *new_text, gint new_text_length, gint *position) { EelEditableLabel *label = EEL_EDITABLE_LABEL (editable); gchar buf[64]; gchar *text; int text_length; text_length = g_utf8_strlen (label->text, -1); if (*position < 0 || *position > text_length) *position = text_length; g_object_ref (G_OBJECT (editable)); if (new_text_length <= 63) text = buf; else text = g_new (gchar, new_text_length + 1); text[new_text_length] = '\0'; strncpy (text, new_text, new_text_length); g_signal_emit_by_name (editable, "insert_text", text, new_text_length, position); if (new_text_length > 63) g_free (text); g_object_unref (G_OBJECT (editable)); } static void editable_delete_text_emit (GtkEditable *editable, gint start_pos, gint end_pos) { EelEditableLabel *label = EEL_EDITABLE_LABEL (editable); int text_length; text_length = g_utf8_strlen (label->text, -1); if (end_pos < 0 || end_pos > text_length) end_pos = text_length; if (start_pos < 0) start_pos = 0; if (start_pos > end_pos) start_pos = end_pos; g_object_ref (G_OBJECT (editable)); g_signal_emit_by_name (editable, "delete_text", start_pos, end_pos); g_object_unref (G_OBJECT (editable)); } static void editable_insert_text (GtkEditable *editable, const gchar *new_text, gint new_text_length, gint *position) { EelEditableLabel *label = EEL_EDITABLE_LABEL (editable); gint index; if (new_text_length < 0) new_text_length = strlen (new_text); index = g_utf8_offset_to_pointer (label->text, *position) - label->text; eel_editable_label_insert_text (label, new_text, new_text_length, &index); *position = g_utf8_pointer_to_offset (label->text, label->text + index); } static void editable_delete_text (GtkEditable *editable, gint start_pos, gint end_pos) { EelEditableLabel *label = EEL_EDITABLE_LABEL (editable); int text_length; gint start_index, end_index; text_length = g_utf8_strlen (label->text, -1); if (end_pos < 0 || end_pos > text_length) end_pos = text_length; if (start_pos < 0) start_pos = 0; if (start_pos > end_pos) start_pos = end_pos; start_index = g_utf8_offset_to_pointer (label->text, start_pos) - label->text; end_index = g_utf8_offset_to_pointer (label->text, end_pos) - label->text; eel_editable_label_delete_text (label, start_index, end_index); } static gchar * editable_get_chars (GtkEditable *editable, gint start_pos, gint end_pos) { EelEditableLabel *label = EEL_EDITABLE_LABEL (editable); int text_length; gint start_index, end_index; text_length = g_utf8_strlen (label->text, -1); if (end_pos < 0 || end_pos > text_length) end_pos = text_length; if (start_pos < 0) start_pos = 0; if (start_pos > end_pos) start_pos = end_pos; start_index = g_utf8_offset_to_pointer (label->text, start_pos) - label->text; end_index = g_utf8_offset_to_pointer (label->text, end_pos) - label->text; return g_strndup (label->text + start_index, end_index - start_index); } static void editable_set_selection_bounds (GtkEditable *editable, gint start, gint end) { EelEditableLabel *label = EEL_EDITABLE_LABEL (editable); int text_length; gint start_index, end_index; text_length = g_utf8_strlen (label->text, -1); if (end < 0 || end > text_length) end = text_length; if (start < 0) start = text_length; if (start > text_length) start = text_length; eel_editable_label_reset_im_context (label); start_index = g_utf8_offset_to_pointer (label->text, start) - label->text; end_index = g_utf8_offset_to_pointer (label->text, end) - label->text; eel_editable_label_select_region_index (label, start_index, end_index); } static gboolean editable_get_selection_bounds (GtkEditable *editable, gint *start, gint *end) { EelEditableLabel *label = EEL_EDITABLE_LABEL (editable); *start = g_utf8_pointer_to_offset (label->text, label->text + label->selection_anchor); *end = g_utf8_pointer_to_offset (label->text, label->text + label->selection_end); return (label->selection_anchor != label->selection_end); } static void editable_real_set_position (GtkEditable *editable, gint position) { EelEditableLabel *label = EEL_EDITABLE_LABEL (editable); int text_length; int index; text_length = g_utf8_strlen (label->text, -1); if (position < 0 || position > text_length) position = text_length; index = g_utf8_offset_to_pointer (label->text, position) - label->text; if (index != label->selection_anchor || index != label->selection_end) { eel_editable_label_select_region_index (label, index, index); } } static gint editable_get_position (GtkEditable *editable) { EelEditableLabel *label = EEL_EDITABLE_LABEL (editable); return g_utf8_pointer_to_offset (label->text, label->text + label->selection_anchor); } static AtkObjectClass *a11y_parent_class = NULL; static const char* eel_editable_label_accessible_data = "eel-editable-label-accessible-data"; /************ Accessible implementation ****************/ typedef struct { GailTextUtil *textutil; gint selection_anchor; gint selection_end; gchar *signal_name; gint position; gint length; } EelEditableLabelAccessiblePrivate; typedef struct { EelEditableLabel* label; gint position; } EelEditableLabelAccessiblePaste; static gchar* eel_editable_label_accessible_get_text (AtkText *text, gint start_pos, gint end_pos) { GtkWidget *widget; EelEditableLabelAccessiblePrivate *priv; widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text)); if (widget == NULL) /* State is defunct */ return NULL; priv = g_object_get_data (G_OBJECT (text), eel_editable_label_accessible_data); return gail_text_util_get_substring (priv->textutil, start_pos, end_pos); } static gunichar eel_editable_label_accessible_get_character_at_offset (AtkText *text, gint offset) { GtkWidget *widget; EelEditableLabelAccessiblePrivate *priv; gchar *string; gchar *index; gunichar unichar; widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text)); if (widget == NULL) /* State is defunct */ return '\0'; priv = g_object_get_data (G_OBJECT (text), eel_editable_label_accessible_data); string = gail_text_util_get_substring (priv->textutil, 0, -1); if (offset >= g_utf8_strlen (string, -1)) { unichar = '\0'; } else { index = g_utf8_offset_to_pointer (string, offset); unichar = g_utf8_get_char(index); } g_free(string); return unichar; } static gchar* eel_editable_label_accessible_get_text_before_offset (AtkText *text, gint offset, AtkTextBoundary boundary_type, gint *start_offset, gint *end_offset) { GtkWidget *widget; EelEditableLabel *label; EelEditableLabelAccessiblePrivate *priv; widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text)); if (widget == NULL) /* State is defunct */ return NULL; label = EEL_EDITABLE_LABEL (widget); priv = g_object_get_data (G_OBJECT (text), eel_editable_label_accessible_data); return gail_text_util_get_text (priv->textutil, eel_editable_label_get_layout (label), GAIL_BEFORE_OFFSET, boundary_type, offset, start_offset, end_offset); } static gchar* eel_editable_label_accessible_get_text_at_offset (AtkText *text, gint offset, AtkTextBoundary boundary_type, gint *start_offset, gint *end_offset) { GtkWidget *widget; EelEditableLabel *label; EelEditableLabelAccessiblePrivate *priv; widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text)); if (widget == NULL) /* State is defunct */ return NULL; label = EEL_EDITABLE_LABEL (widget); priv = g_object_get_data (G_OBJECT (text), eel_editable_label_accessible_data); return gail_text_util_get_text (priv->textutil, eel_editable_label_get_layout (label), GAIL_AT_OFFSET, boundary_type, offset, start_offset, end_offset); } static gchar* eel_editable_label_accessible_get_text_after_offset (AtkText *text, gint offset, AtkTextBoundary boundary_type, gint *start_offset, gint *end_offset) { GtkWidget *widget; EelEditableLabel *label; EelEditableLabelAccessiblePrivate *priv; widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text)); if (widget == NULL) /* State is defunct */ return NULL; label = EEL_EDITABLE_LABEL (widget); priv = g_object_get_data (G_OBJECT (text), eel_editable_label_accessible_data); return gail_text_util_get_text (priv->textutil, eel_editable_label_get_layout (label), GAIL_AFTER_OFFSET, boundary_type, offset, start_offset, end_offset); } static gint eel_editable_label_accessible_get_caret_offset (AtkText *text) { GtkWidget *widget; widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text)); if (widget == NULL) /* State is defunct */ return 0; return gtk_editable_get_position (GTK_EDITABLE (widget)); } static gboolean eel_editable_label_accessible_set_caret_offset (AtkText *text, gint offset) { GtkWidget *widget; widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text)); if (widget == NULL) /* State is defunct */ return FALSE; gtk_editable_set_position (GTK_EDITABLE (widget), offset); return TRUE; } static gint eel_editable_label_accessible_get_character_count (AtkText *text) { GtkWidget *widget; EelEditableLabel *label; widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text)); if (widget == NULL) /* State is defunct */ return 0; label = EEL_EDITABLE_LABEL (widget); return g_utf8_strlen (eel_editable_label_get_text (label), -1); } static gint eel_editable_label_accessible_get_n_selections (AtkText *text) { GtkWidget *widget; EelEditableLabel *label; gint select_start, select_end; widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text)); if (widget == NULL) /* State is defunct */ return -1; label = EEL_EDITABLE_LABEL (widget); gtk_editable_get_selection_bounds (GTK_EDITABLE (label), &select_start, &select_end); if (select_start != select_end) return 1; else return 0; } static gchar* eel_editable_label_accessible_get_selection (AtkText *text, gint selection_num, gint *start_pos, gint *end_pos) { GtkWidget *widget; EelEditableLabel *label; widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text)); if (widget == NULL) /* State is defunct */ return NULL; /* Only let the user get the selection if one is set, and if the * selection_num is 0. */ if (selection_num != 0) return NULL; label = EEL_EDITABLE_LABEL (widget); gtk_editable_get_selection_bounds (GTK_EDITABLE (label), start_pos, end_pos); if (*start_pos != *end_pos) return gtk_editable_get_chars (GTK_EDITABLE (label), *start_pos, *end_pos); else return NULL; } static gboolean eel_editable_label_accessible_add_selection (AtkText *text, gint start_pos, gint end_pos) { GtkWidget *widget; EelEditableLabel *label; gint select_start, select_end; widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text)); if (widget == NULL) /* State is defunct */ return FALSE; label = EEL_EDITABLE_LABEL (widget); gtk_editable_get_selection_bounds (GTK_EDITABLE (label), &select_start, &select_end); /* If there is already a selection, then don't allow another to be added, * since EelEditableLabel only supports one selected region. */ if (select_start == select_end) { gtk_editable_select_region (GTK_EDITABLE (label), start_pos, end_pos); return TRUE; } else return FALSE; } static gboolean eel_editable_label_accessible_remove_selection (AtkText *text, gint selection_num) { GtkWidget *widget; EelEditableLabel *label; gint select_start, select_end, caret_pos; widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text)); if (widget == NULL) /* State is defunct */ return FALSE; if (selection_num != 0) return FALSE; label = EEL_EDITABLE_LABEL (widget); gtk_editable_get_selection_bounds (GTK_EDITABLE (label), &select_start, &select_end); if (select_start != select_end) { /* Setting the start & end of the selected region to the caret position * turns off the selection. */ caret_pos = gtk_editable_get_position (GTK_EDITABLE (label)); gtk_editable_select_region (GTK_EDITABLE (label), caret_pos, caret_pos); return TRUE; } else return FALSE; } static gboolean eel_editable_label_accessible_set_selection (AtkText *text, gint selection_num, gint start_pos, gint end_pos) { GtkWidget *widget; EelEditableLabel *label; gint select_start, select_end; widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text)); if (widget == NULL) /* State is defunct */ return FALSE; /* Only let the user move the selection if one is set, and if the * selection_num is 0 */ if (selection_num != 0) return FALSE; label = EEL_EDITABLE_LABEL (widget); gtk_editable_get_selection_bounds (GTK_EDITABLE (label), &select_start, &select_end); if (select_start != select_end) { gtk_editable_select_region (GTK_EDITABLE (label), start_pos, end_pos); return TRUE; } else return FALSE; } static AtkAttributeSet* eel_editable_label_accessible_get_run_attributes (AtkText *text, gint offset, gint *start_offset, gint *end_offset) { GtkWidget *widget; EelEditableLabel *label; AtkAttributeSet *at_set = NULL; GtkTextDirection dir; widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text)); if (widget == NULL) /* State is defunct */ return NULL; label = EEL_EDITABLE_LABEL (widget); dir = gtk_widget_get_direction (widget); if (dir == GTK_TEXT_DIR_RTL) { at_set = gail_misc_add_attribute (at_set, ATK_TEXT_ATTR_DIRECTION, g_strdup (atk_text_attribute_get_value (ATK_TEXT_ATTR_DIRECTION, dir))); } at_set = gail_misc_layout_get_run_attributes (at_set, eel_editable_label_get_layout (label), label->text, offset, start_offset, end_offset); return at_set; } static AtkAttributeSet* eel_editable_label_accessible_get_default_attributes (AtkText *text) { GtkWidget *widget; EelEditableLabel *label; AtkAttributeSet *at_set = NULL; widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text)); if (widget == NULL) /* State is defunct */ return NULL; label = EEL_EDITABLE_LABEL (widget); at_set = gail_misc_get_default_attributes (at_set, eel_editable_label_get_layout (label), widget); return at_set; } static void eel_editable_label_accessible_get_character_extents (AtkText *text, gint offset, gint *x, gint *y, gint *width, gint *height, AtkCoordType coords) { GtkWidget *widget; EelEditableLabel *label; PangoRectangle char_rect; gint index, cursor_index, x_layout, y_layout; widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text)); if (widget == NULL) /* State is defunct */ return; label = EEL_EDITABLE_LABEL (widget); eel_editable_label_get_layout_offsets (label, &x_layout, &y_layout); index = g_utf8_offset_to_pointer (label->text, offset) - label->text; cursor_index = label->selection_anchor; if (index > cursor_index) index += label->preedit_length; pango_layout_index_to_pos (eel_editable_label_get_layout(label), index, &char_rect); gail_misc_get_extents_from_pango_rectangle (widget, &char_rect, x_layout, y_layout, x, y, width, height, coords); } static gint eel_editable_label_accessible_get_offset_at_point (AtkText *text, gint x, gint y, AtkCoordType coords) { GtkWidget *widget; EelEditableLabel *label; gint index, cursor_index, x_layout, y_layout; widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text)); if (widget == NULL) /* State is defunct */ return -1; label = EEL_EDITABLE_LABEL (widget); eel_editable_label_get_layout_offsets (label, &x_layout, &y_layout); index = gail_misc_get_index_at_point_in_layout (widget, eel_editable_label_get_layout(label), x_layout, y_layout, x, y, coords); if (index == -1) { if (coords == ATK_XY_SCREEN || coords == ATK_XY_WINDOW) return g_utf8_strlen (label->text, -1); return index; } else { cursor_index = label->selection_anchor; if (index >= cursor_index && label->preedit_length) { if (index >= cursor_index + label->preedit_length) index -= label->preedit_length; else index = cursor_index; } return g_utf8_pointer_to_offset (label->text, label->text + index); } } static void atk_text_interface_init (AtkTextIface *iface) { g_assert (iface != NULL); iface->get_text = eel_editable_label_accessible_get_text; iface->get_character_at_offset = eel_editable_label_accessible_get_character_at_offset; iface->get_text_before_offset = eel_editable_label_accessible_get_text_before_offset; iface->get_text_at_offset = eel_editable_label_accessible_get_text_at_offset; iface->get_text_after_offset = eel_editable_label_accessible_get_text_after_offset; iface->get_caret_offset = eel_editable_label_accessible_get_caret_offset; iface->set_caret_offset = eel_editable_label_accessible_set_caret_offset; iface->get_character_count = eel_editable_label_accessible_get_character_count; iface->get_n_selections = eel_editable_label_accessible_get_n_selections; iface->get_selection = eel_editable_label_accessible_get_selection; iface->add_selection = eel_editable_label_accessible_add_selection; iface->remove_selection = eel_editable_label_accessible_remove_selection; iface->set_selection = eel_editable_label_accessible_set_selection; iface->get_run_attributes = eel_editable_label_accessible_get_run_attributes; iface->get_default_attributes = eel_editable_label_accessible_get_default_attributes; iface->get_character_extents = eel_editable_label_accessible_get_character_extents; iface->get_offset_at_point = eel_editable_label_accessible_get_offset_at_point; } static void eel_editable_label_accessible_set_text_contents (AtkEditableText *text, const gchar *string) { GtkWidget *widget; EelEditableLabel *label; widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text)); if (widget == NULL) /* State is defunct */ return; label = EEL_EDITABLE_LABEL (widget); eel_editable_label_set_text (label, string); } static void eel_editable_label_accessible_insert_text (AtkEditableText *text, const gchar *string, gint length, gint *position) { GtkWidget *widget; EelEditableLabel *label; GtkEditable *editable; widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text)); if (widget == NULL) /* State is defunct */ return; label = EEL_EDITABLE_LABEL (widget); editable = GTK_EDITABLE (label); gtk_editable_insert_text (editable, string, length, position); } static void eel_editable_label_accessible_copy_text (AtkEditableText *text, gint start_pos, gint end_pos) { GtkWidget *widget; EelEditableLabel *label; GtkEditable *editable; gchar *str; widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text)); if (widget == NULL) /* State is defunct */ return; label = EEL_EDITABLE_LABEL (widget); editable = GTK_EDITABLE (label); str = gtk_editable_get_chars (editable, start_pos, end_pos); gtk_clipboard_set_text (gtk_clipboard_get (GDK_NONE), str, -1); } static void eel_editable_label_accessible_cut_text (AtkEditableText *text, gint start_pos, gint end_pos) { GtkWidget *widget; EelEditableLabel *label; GtkEditable *editable; gchar *str; widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text)); if (widget == NULL) /* State is defunct */ return; label = EEL_EDITABLE_LABEL (widget); editable = GTK_EDITABLE (label); str = gtk_editable_get_chars (editable, start_pos, end_pos); gtk_clipboard_set_text (gtk_clipboard_get (GDK_NONE), str, -1); gtk_editable_delete_text (editable, start_pos, end_pos); } static void eel_editable_label_accessible_delete_text (AtkEditableText *text, gint start_pos, gint end_pos) { GtkWidget *widget; EelEditableLabel *label; GtkEditable *editable; widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text)); if (widget == NULL) /* State is defunct */ return; label = EEL_EDITABLE_LABEL (widget); editable = GTK_EDITABLE (label); gtk_editable_delete_text (editable, start_pos, end_pos); } static void eel_editable_label_accessible_paste_received (GtkClipboard *clipboard, const gchar *text, gpointer data) { EelEditableLabelAccessiblePaste* paste_struct = (EelEditableLabelAccessiblePaste *)data; if (text) gtk_editable_insert_text (GTK_EDITABLE (paste_struct->label), text, -1, &(paste_struct->position)); g_object_unref (paste_struct->label); } static void eel_editable_label_accessible_paste_text (AtkEditableText *text, gint position) { GtkWidget *widget; GtkEditable *editable; EelEditableLabelAccessiblePaste paste_struct; widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text)); if (widget == NULL) /* State is defunct */ return; editable = GTK_EDITABLE (widget); if (!gtk_editable_get_editable (editable)) return; paste_struct.label = EEL_EDITABLE_LABEL (widget); paste_struct.position = position; g_object_ref (paste_struct.label); gtk_clipboard_request_text (gtk_clipboard_get (GDK_NONE), eel_editable_label_accessible_paste_received, &paste_struct); } static void atk_editable_text_interface_init (AtkEditableTextIface *iface) { g_assert (iface != NULL); iface->set_text_contents = eel_editable_label_accessible_set_text_contents; iface->insert_text = eel_editable_label_accessible_insert_text; iface->copy_text = eel_editable_label_accessible_copy_text; iface->cut_text = eel_editable_label_accessible_cut_text; iface->delete_text = eel_editable_label_accessible_delete_text; iface->paste_text = eel_editable_label_accessible_paste_text; } static void eel_editable_label_accessible_notify_insert (AtkObject *accessible) { EelEditableLabelAccessiblePrivate *priv; priv = g_object_get_data (G_OBJECT (accessible), eel_editable_label_accessible_data); if (priv->signal_name) { g_signal_emit_by_name (accessible, priv->signal_name, priv->position, priv->length); priv->signal_name = NULL; } } static gboolean eel_editable_label_accessible_idle_notify_insert (gpointer data) { eel_editable_label_accessible_notify_insert (data); return FALSE; } /* Note arg1 returns the character at the start of the insert. * arg2 returns the number of characters inserted. */ static void eel_editable_label_accessible_insert_text_cb (EelEditableLabel *label, gchar *arg1, gint arg2, gpointer arg3) { AtkObject *accessible; EelEditableLabelAccessiblePrivate *priv; gint *position = (gint *) arg3; accessible = gtk_widget_get_accessible (GTK_WIDGET (label)); priv = g_object_get_data (G_OBJECT (accessible), eel_editable_label_accessible_data); if (!priv->signal_name) { priv->signal_name = "text_changed::insert"; priv->position = *position; priv->length = arg2; } /* * The signal will be emitted when the cursor position is updated. * or in an idle handler if it not updated. */ g_idle_add (eel_editable_label_accessible_idle_notify_insert, accessible); } /* Note arg1 returns the start of the delete range, arg2 returns the * end of the delete range if multiple characters are deleted. */ static void eel_editable_label_accessible_delete_text_cb (EelEditableLabel *label, gint arg1, gint arg2) { AtkObject *accessible; accessible = gtk_widget_get_accessible (GTK_WIDGET (label)); /* * Zero length text deleted so ignore */ if (arg2 - arg1 == 0) return; g_signal_emit_by_name (accessible, "text_changed::delete", arg1, arg2 - arg1); } static void eel_editable_label_accessible_changed_cb (EelEditableLabel *label) { AtkObject *accessible; EelEditableLabelAccessiblePrivate *priv; accessible = gtk_widget_get_accessible (GTK_WIDGET (label)); priv = g_object_get_data (G_OBJECT (accessible), eel_editable_label_accessible_data); gail_text_util_text_setup (priv->textutil, eel_editable_label_get_text (label)); } static gboolean check_for_selection_change (AtkObject *accessible, GtkWidget *widget) { EelEditableLabelAccessiblePrivate *priv; EelEditableLabel *label; gboolean ret_val = FALSE; priv = g_object_get_data (G_OBJECT (accessible), eel_editable_label_accessible_data); label = EEL_EDITABLE_LABEL (widget); if (label->selection_anchor != label->selection_end) { if (label->selection_anchor != priv->selection_anchor || label->selection_end != priv->selection_end) /* * This check is here as this function can be called * for notification of selection_end and selection_anchor. * The values of selection_anchor and selection_end may be the same * for both notifications and we only want to generate one * text_selection_changed signal. */ ret_val = TRUE; } else { /* We had a selection */ ret_val = (priv->selection_anchor != priv->selection_end); } priv->selection_anchor = label->selection_anchor; priv->selection_end = label->selection_end; return ret_val; } static void eel_editable_label_accessible_notify_gtk (GObject *obj, GParamSpec *pspec) { GtkWidget *widget; AtkObject *accessible; EelEditableLabel *label; widget = GTK_WIDGET (obj); label = EEL_EDITABLE_LABEL (widget); accessible = gtk_widget_get_accessible (widget); if (strcmp (pspec->name, "cursor-position") == 0) { eel_editable_label_accessible_notify_insert (accessible); if (check_for_selection_change (accessible, widget)) g_signal_emit_by_name (accessible, "text_selection_changed"); /* * The label cursor position has moved so generate the signal. */ g_signal_emit_by_name (accessible, "text_caret_moved", g_utf8_pointer_to_offset (label->text, label->text + label->selection_anchor)); } else if (strcmp (pspec->name, "selection-bound") == 0) { eel_editable_label_accessible_notify_insert (accessible); if (check_for_selection_change (accessible, widget)) g_signal_emit_by_name (accessible, "text_selection_changed"); } } static void eel_editable_label_accessible_initialize (AtkObject *accessible, gpointer widget) { EelEditableLabelAccessiblePrivate *priv; EelEditableLabel *label; a11y_parent_class->initialize (accessible, widget); label = EEL_EDITABLE_LABEL (widget); priv = g_new0 (EelEditableLabelAccessiblePrivate, 1); priv->textutil = gail_text_util_new (); gail_text_util_text_setup (priv->textutil, eel_editable_label_get_text (EEL_EDITABLE_LABEL (widget))); priv->selection_anchor = label->selection_anchor; priv->selection_end = label->selection_end; g_object_set_data (G_OBJECT (accessible), eel_editable_label_accessible_data, priv); g_signal_connect (widget, "insert-text", G_CALLBACK (eel_editable_label_accessible_insert_text_cb), NULL); g_signal_connect (widget, "delete-text", G_CALLBACK (eel_editable_label_accessible_delete_text_cb), NULL); g_signal_connect (widget, "changed", G_CALLBACK (eel_editable_label_accessible_changed_cb), NULL); g_signal_connect (widget, "notify", G_CALLBACK (eel_editable_label_accessible_notify_gtk), NULL); atk_object_set_role (accessible, ATK_ROLE_TEXT); } static const gchar* eel_editable_label_accessible_get_name (AtkObject *accessible) { if (accessible->name != NULL) return accessible->name; else { GtkWidget *widget; widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (accessible)); if (widget == NULL) /* State is defunct */ return NULL; g_assert (EEL_IS_EDITABLE_LABEL (widget)); return eel_editable_label_get_text (EEL_EDITABLE_LABEL (widget)); } } static AtkStateSet* eel_editable_label_accessible_ref_state_set (AtkObject *accessible) { AtkStateSet *state_set; GtkWidget *widget; state_set = a11y_parent_class->ref_state_set (accessible); widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (accessible)); if (widget == NULL) return state_set; atk_state_set_add_state (state_set, ATK_STATE_EDITABLE); atk_state_set_add_state (state_set, ATK_STATE_MULTI_LINE); return state_set; } static void eel_editable_label_accessible_finalize (GObject *object) { EelEditableLabelAccessiblePrivate *priv; priv = g_object_get_data (object, eel_editable_label_accessible_data); g_object_unref (priv->textutil); g_free (priv); G_OBJECT_CLASS (a11y_parent_class)->finalize (object); } static void eel_editable_label_accessible_class_init (AtkObjectClass *klass) { GObjectClass *gobject_class = G_OBJECT_CLASS (klass); a11y_parent_class = g_type_class_peek_parent (klass); klass->initialize = eel_editable_label_accessible_initialize; klass->get_name = eel_editable_label_accessible_get_name; klass->ref_state_set = eel_editable_label_accessible_ref_state_set; gobject_class->finalize = eel_editable_label_accessible_finalize; } static AtkObject * eel_editable_label_get_accessible (GtkWidget *widget) { static GType type = 0; AtkObject *accessible; if ((accessible = eel_accessibility_get_atk_object (widget))) return accessible; if (!type) { const GInterfaceInfo atk_editable_text_info = { (GInterfaceInitFunc) atk_editable_text_interface_init, (GInterfaceFinalizeFunc) NULL, NULL }; const GInterfaceInfo atk_text_info = { (GInterfaceInitFunc) atk_text_interface_init, (GInterfaceFinalizeFunc) NULL, NULL }; type = eel_accessibility_create_derived_type ("EelEditableLabelAccessible", G_TYPE_FROM_INSTANCE (widget), eel_editable_label_accessible_class_init); if (!type) return NULL; g_type_add_interface_static (type, ATK_TYPE_EDITABLE_TEXT, &atk_editable_text_info); g_type_add_interface_static (type, ATK_TYPE_TEXT, &atk_text_info); } accessible = g_object_new (type, NULL); return eel_accessibility_set_atk_object_return (widget, accessible); } nemo-1.8.4/eel/eel-editable-label.h000066400000000000000000000130771216702421000167740ustar00rootroot00000000000000/* GTK - The GIMP Toolkit * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ /* * Modified by the GTK+ Team and others 1997-2000. See the AUTHORS * file for a list of people on the GTK+ Team. See the ChangeLog * files for a list of changes. These files are distributed with * GTK+ at ftp://ftp.gtk.org/pub/gtk/. */ #ifndef __EEL_EDITABLE_LABEL_H__ #define __EEL_EDITABLE_LABEL_H__ #include #include #ifdef __cplusplus extern "C" { #endif /* __cplusplus */ #define EEL_TYPE_EDITABLE_LABEL eel_editable_label_get_type() #define EEL_EDITABLE_LABEL(obj) \ (G_TYPE_CHECK_INSTANCE_CAST ((obj), EEL_TYPE_EDITABLE_LABEL, EelEditableLabel)) #define EEL_EDITABLE_LABEL_CLASS(klass) \ (G_TYPE_CHECK_CLASS_CAST ((klass), EEL_TYPE_EDITABLE_LABEL, EelEditableLabelClass)) #define EEL_IS_EDITABLE_LABEL(obj) \ (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EEL_TYPE_EDITABLE_LABEL)) #define EEL_IS_EDITABLE_LABEL_CLASS(klass) \ (G_TYPE_CHECK_CLASS_TYPE ((klass), EEL_TYPE_EDITABLE_LABEL)) #define EEL_EDITABLE_LABEL_GET_CLASS(obj) \ (G_TYPE_INSTANCE_GET_CLASS ((obj), EEL_TYPE_EDITABLE_LABEL, EelEditableLabelClass)) typedef struct _EelEditableLabel EelEditableLabel; typedef struct _EelEditableLabelClass EelEditableLabelClass; typedef struct _EelEditableLabelSelectionInfo EelEditableLabelSelectionInfo; struct _EelEditableLabel { GtkMisc misc; /*< private >*/ guint jtype : 2; guint wrap : 1; guint overwrite_mode : 1; guint draw_outline : 1; PangoWrapMode wrap_mode; gchar *text; int text_size; /* allocated size, in bytes */ int n_bytes; /* length in use (not including terminating zero), in bytes */ PangoLayout *layout; guint layout_includes_preedit : 1; int selection_anchor; /* cursor pos, byte index */ int selection_end; /* byte index */ GtkWidget *popup_menu; GtkIMContext *im_context; gboolean need_im_reset; int preedit_length; /* length of preedit string, in bytes */ int preedit_cursor; /* offset of cursor within preedit string, in chars */ PangoFontDescription *font_desc; }; struct _EelEditableLabelClass { GtkMiscClass parent_class; void (* move_cursor) (EelEditableLabel *label, GtkMovementStep step, gint count, gboolean extend_selection); void (* insert_at_cursor) (EelEditableLabel *label, const gchar *str); void (* delete_from_cursor) (EelEditableLabel *label, GtkDeleteType type, gint count); void (* cut_clipboard) (EelEditableLabel *label); void (* copy_clipboard) (EelEditableLabel *label); void (* paste_clipboard) (EelEditableLabel *label); void (* toggle_overwrite) (EelEditableLabel *label); /* Hook to customize right-click popup for selectable labels */ void (* populate_popup) (EelEditableLabel *label, GtkMenu *menu); }; GType eel_editable_label_get_type (void) G_GNUC_CONST; GtkWidget* eel_editable_label_new (const char *str); void eel_editable_label_set_text (EelEditableLabel *label, const char *str); const gchar* eel_editable_label_get_text (EelEditableLabel *label); void eel_editable_label_set_justify (EelEditableLabel *label, GtkJustification jtype); GtkJustification eel_editable_label_get_justify (EelEditableLabel *label); void eel_editable_label_set_line_wrap (EelEditableLabel *label, gboolean wrap); void eel_editable_label_set_line_wrap_mode (EelEditableLabel *label, PangoWrapMode mode); gboolean eel_editable_label_get_line_wrap (EelEditableLabel *label); void eel_editable_label_set_draw_outline (EelEditableLabel *label, gboolean wrap); void eel_editable_label_select_region (EelEditableLabel *label, gint start_offset, gint end_offset); gboolean eel_editable_label_get_selection_bounds (EelEditableLabel *label, gint *start, gint *end); PangoLayout * eel_editable_label_get_layout (EelEditableLabel *label); void eel_editable_label_get_layout_offsets (EelEditableLabel *label, gint *x, gint *y); PangoFontDescription *eel_editable_label_get_font_description (EelEditableLabel *label); void eel_editable_label_set_font_description (EelEditableLabel *label, const PangoFontDescription *desc); #ifdef __cplusplus } #endif /* __cplusplus */ #endif /* __EEL_EDITABLE_LABEL_H__ */ nemo-1.8.4/eel/eel-gdk-extensions.c000066400000000000000000000060671216702421000171040ustar00rootroot00000000000000/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */ /* eel-gdk-extensions.c: Graphics routines to augment what's in gdk. Copyright (C) 1999, 2000 Eazel, Inc. The Gnome Library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. The Gnome Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with the Gnome Library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 51 Franklin Street - Suite 500, Boston, MA 02110-1335, USA. Authors: Darin Adler , Pavel Cisler , Ramiro Estrugo */ #include #include "eel-gdk-extensions.h" #include "eel-glib-extensions.h" #include "eel-string.h" #include #include #include #include #include EelGdkGeometryFlags eel_gdk_parse_geometry (const char *string, int *x_return, int *y_return, guint *width_return, guint *height_return) { int x11_flags; EelGdkGeometryFlags gdk_flags; g_return_val_if_fail (string != NULL, EEL_GDK_NO_VALUE); g_return_val_if_fail (x_return != NULL, EEL_GDK_NO_VALUE); g_return_val_if_fail (y_return != NULL, EEL_GDK_NO_VALUE); g_return_val_if_fail (width_return != NULL, EEL_GDK_NO_VALUE); g_return_val_if_fail (height_return != NULL, EEL_GDK_NO_VALUE); x11_flags = XParseGeometry (string, x_return, y_return, width_return, height_return); gdk_flags = EEL_GDK_NO_VALUE; if (x11_flags & XValue) { gdk_flags |= EEL_GDK_X_VALUE; } if (x11_flags & YValue) { gdk_flags |= EEL_GDK_Y_VALUE; } if (x11_flags & WidthValue) { gdk_flags |= EEL_GDK_WIDTH_VALUE; } if (x11_flags & HeightValue) { gdk_flags |= EEL_GDK_HEIGHT_VALUE; } if (x11_flags & XNegative) { gdk_flags |= EEL_GDK_X_NEGATIVE; } if (x11_flags & YNegative) { gdk_flags |= EEL_GDK_Y_NEGATIVE; } return gdk_flags; } #define CLAMP_COLOR(v) (t = (v), CLAMP (t, 0, 1)) #define SATURATE(v) ((1.0 - saturation) * intensity + saturation * (v)) void eel_make_color_inactive (GdkRGBA *color) { double intensity, saturation; gdouble t; saturation = 0.7; intensity = color->red * 0.30 + color->green * 0.59 + color->blue * 0.11; color->red = SATURATE (color->red); color->green = SATURATE (color->green); color->blue = SATURATE (color->blue); if (intensity > 0.5) { color->red *= 0.9; color->green *= 0.9; color->blue *= 0.9; } else { color->red *= 1.25; color->green *= 1.25; color->blue *= 1.25; } color->red = CLAMP_COLOR (color->red); color->green = CLAMP_COLOR (color->green); color->blue = CLAMP_COLOR (color->blue); } nemo-1.8.4/eel/eel-gdk-extensions.h000066400000000000000000000035501216702421000171030ustar00rootroot00000000000000// /* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */ /* eel-gdk-extensions.h: Graphics routines to augment what's in gdk. Copyright (C) 1999, 2000 Eazel, Inc. The Gnome Library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. The Gnome Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with the Gnome Library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 51 Franklin Street - Suite 500, Boston, MA 02110-1335, USA. Authors: Darin Adler , Ramiro Estrugo */ #ifndef EEL_GDK_EXTENSIONS_H #define EEL_GDK_EXTENSIONS_H #include /* Bits returned by eel_gdk_parse_geometry */ typedef enum { EEL_GDK_NO_VALUE = 0x00, EEL_GDK_X_VALUE = 0x01, EEL_GDK_Y_VALUE = 0x02, EEL_GDK_WIDTH_VALUE = 0x04, EEL_GDK_HEIGHT_VALUE = 0x08, EEL_GDK_ALL_VALUES = 0x0f, EEL_GDK_X_NEGATIVE = 0x10, EEL_GDK_Y_NEGATIVE = 0x20 } EelGdkGeometryFlags; /* Wrapper for XParseGeometry */ EelGdkGeometryFlags eel_gdk_parse_geometry (const char *string, int *x_return, int *y_return, guint *width_return, guint *height_return); void eel_make_color_inactive (GdkRGBA *color); #endif /* EEL_GDK_EXTENSIONS_H */ nemo-1.8.4/eel/eel-glib-extensions.c000066400000000000000000000541261216702421000172530ustar00rootroot00000000000000/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */ /* eel-glib-extensions.c - implementation of new functions that conceptually belong in glib. Perhaps some of these will be actually rolled into glib someday. Copyright (C) 2000 Eazel, Inc. The Gnome Library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. The Gnome Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with the Gnome Library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 51 Franklin Street - Suite 500, Boston, MA 02110-1335, USA. Authors: John Sullivan */ #include #include "eel-glib-extensions.h" #include "eel-debug.h" #include "eel-lib-self-check-functions.h" #include "eel-string.h" #include #include #include #include #include #include #include /* Legal conversion specifiers, as specified in the C standard. */ #define C_STANDARD_STRFTIME_CHARACTERS "aAbBcdHIjmMpSUwWxXyYZ" #define C_STANDARD_NUMERIC_STRFTIME_CHARACTERS "dHIjmMSUwWyY" #define SUS_EXTENDED_STRFTIME_MODIFIERS "EO" #define SAFE_SHELL_CHARACTERS "-_0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" /** * eel_g_date_new_tm: * * Get a new GDate * for the date represented by a tm struct. * The caller is responsible for g_free-ing the result. * @time_pieces: Pointer to a tm struct representing the date to be converted. * * Returns: Newly allocated date. * **/ GDate * eel_g_date_new_tm (struct tm *time_pieces) { /* tm uses 0-based months; GDate uses 1-based months. * tm_year needs 1900 added to get the full year. */ return g_date_new_dmy (time_pieces->tm_mday, time_pieces->tm_mon + 1, time_pieces->tm_year + 1900); } /** * eel_strdup_strftime: * * Cover for standard date-and-time-formatting routine strftime that returns * a newly-allocated string of the correct size. The caller is responsible * for g_free-ing the returned string. * * Besides the buffer management, there are two differences between this * and the library strftime: * * 1) The modifiers "-" and "_" between a "%" and a numeric directive * are defined as for the GNU version of strftime. "-" means "do not * pad the field" and "_" means "pad with spaces instead of zeroes". * 2) Non-ANSI extensions to strftime are flagged at runtime with a * warning, so it's easy to notice use of the extensions without * testing with multiple versions of the library. * * @format: format string to pass to strftime. See strftime documentation * for details. * @time_pieces: date/time, in struct format. * * Return value: Newly allocated string containing the formatted time. **/ char * eel_strdup_strftime (const char *format, struct tm *time_pieces) { GString *string; const char *remainder, *percent; char code[4], buffer[512]; char *piece, *result, *converted; size_t string_length; gboolean strip_leading_zeros, turn_leading_zeros_to_spaces; char modifier; int i; /* Format could be translated, and contain UTF-8 chars, * so convert to locale encoding which strftime uses */ converted = g_locale_from_utf8 (format, -1, NULL, NULL, NULL); g_return_val_if_fail (converted != NULL, NULL); string = g_string_new (""); remainder = converted; /* Walk from % character to % character. */ for (;;) { percent = strchr (remainder, '%'); if (percent == NULL) { g_string_append (string, remainder); break; } g_string_append_len (string, remainder, percent - remainder); /* Handle the "%" character. */ remainder = percent + 1; switch (*remainder) { case '-': strip_leading_zeros = TRUE; turn_leading_zeros_to_spaces = FALSE; remainder++; break; case '_': strip_leading_zeros = FALSE; turn_leading_zeros_to_spaces = TRUE; remainder++; break; case '%': g_string_append_c (string, '%'); remainder++; continue; case '\0': g_warning ("Trailing %% passed to eel_strdup_strftime"); g_string_append_c (string, '%'); continue; default: strip_leading_zeros = FALSE; turn_leading_zeros_to_spaces = FALSE; break; } modifier = 0; if (strchr (SUS_EXTENDED_STRFTIME_MODIFIERS, *remainder) != NULL) { modifier = *remainder; remainder++; if (*remainder == 0) { g_warning ("Unfinished %%%c modifier passed to eel_strdup_strftime", modifier); break; } } if (strchr (C_STANDARD_STRFTIME_CHARACTERS, *remainder) == NULL) { g_warning ("eel_strdup_strftime does not support " "non-standard escape code %%%c", *remainder); } /* Convert code to strftime format. We have a fixed * limit here that each code can expand to a maximum * of 512 bytes, which is probably OK. There's no * limit on the total size of the result string. */ i = 0; code[i++] = '%'; if (modifier != 0) { #ifdef HAVE_STRFTIME_EXTENSION code[i++] = modifier; #endif } code[i++] = *remainder; code[i++] = '\0'; string_length = strftime (buffer, sizeof (buffer), code, time_pieces); if (string_length == 0) { /* We could put a warning here, but there's no * way to tell a successful conversion to * empty string from a failure. */ buffer[0] = '\0'; } /* Strip leading zeros if requested. */ piece = buffer; if (strip_leading_zeros || turn_leading_zeros_to_spaces) { if (strchr (C_STANDARD_NUMERIC_STRFTIME_CHARACTERS, *remainder) == NULL) { g_warning ("eel_strdup_strftime does not support " "modifier for non-numeric escape code %%%c%c", remainder[-1], *remainder); } if (*piece == '0') { do { piece++; } while (*piece == '0'); if (!g_ascii_isdigit (*piece)) { piece--; } } if (turn_leading_zeros_to_spaces) { memset (buffer, ' ', piece - buffer); piece = buffer; } } remainder++; /* Add this piece. */ g_string_append (string, piece); } /* Convert the string back into utf-8. */ result = g_locale_to_utf8 (string->str, -1, NULL, NULL, NULL); g_string_free (string, TRUE); g_free (converted); return result; } /** * eel_g_list_exactly_one_item * * Like g_list_length (list) == 1, only O(1) instead of O(n). * @list: List. * * Return value: TRUE if the list has exactly one item. **/ gboolean eel_g_list_exactly_one_item (GList *list) { return list != NULL && list->next == NULL; } /** * eel_g_list_more_than_one_item * * Like g_list_length (list) > 1, only O(1) instead of O(n). * @list: List. * * Return value: TRUE if the list has more than one item. **/ gboolean eel_g_list_more_than_one_item (GList *list) { return list != NULL && list->next != NULL; } /** * eel_g_list_equal * * Compares two lists to see if they are equal. * @list_a: First list. * @list_b: Second list. * * Return value: TRUE if the lists are the same length with the same elements. **/ gboolean eel_g_list_equal (GList *list_a, GList *list_b) { GList *p, *q; for (p = list_a, q = list_b; p != NULL && q != NULL; p = p->next, q = q->next) { if (p->data != q->data) { return FALSE; } } return p == NULL && q == NULL; } /** * eel_g_str_list_equal * * Compares two lists of C strings to see if they are equal. * @list_a: First list. * @list_b: Second list. * * Return value: TRUE if the lists contain the same strings. **/ gboolean eel_g_str_list_equal (GList *list_a, GList *list_b) { GList *p, *q; for (p = list_a, q = list_b; p != NULL && q != NULL; p = p->next, q = q->next) { if (g_strcmp0 (p->data, q->data) != 0) { return FALSE; } } return p == NULL && q == NULL; } /** * eel_g_str_list_copy * * @list: List of strings and/or NULLs to copy. * Return value: Deep copy of @list. **/ GList * eel_g_str_list_copy (GList *list) { GList *node, *result; result = NULL; for (node = g_list_last (list); node != NULL; node = node->prev) { result = g_list_prepend (result, g_strdup (node->data)); } return result; } /** * eel_g_str_list_alphabetize * * Sort a list of strings using locale-sensitive rules. * * @list: List of strings and/or NULLs. * * Return value: @list, sorted. **/ GList * eel_g_str_list_alphabetize (GList *list) { return g_list_sort (list, (GCompareFunc) g_utf8_collate); } int eel_g_str_list_index (GList *str_list, const char *str) { int i; GList *l; for (i = 0, l = str_list; l != NULL; l = l->next, i++) { if (!strcmp (str, (const char*)l->data)) { return i; } } return -1; } /** * eel_g_strv_find * * Get index of string in array of strings. * * @strv: NULL-terminated array of strings. * @find_me: string to search for. * * Return value: index of array entry in @strv that * matches @find_me, or -1 if no matching entry. */ int eel_g_strv_find (char **strv, const char *find_me) { int index; g_return_val_if_fail (find_me != NULL, -1); for (index = 0; strv[index] != NULL; ++index) { if (strcmp (strv[index], find_me) == 0) { return index; } } return -1; } gboolean eel_g_strv_equal (char **a, char **b) { int i; if (g_strv_length (a) != g_strv_length (b)) { return FALSE; } for (i = 0; a[i] != NULL; i++) { if (strcmp (a[i], b[i]) != 0) { return FALSE; } } return TRUE; } static int compare_pointers (gconstpointer pointer_1, gconstpointer pointer_2) { if ((const char *) pointer_1 < (const char *) pointer_2) { return -1; } if ((const char *) pointer_1 > (const char *) pointer_2) { return +1; } return 0; } gboolean eel_g_lists_sort_and_check_for_intersection (GList **list_1, GList **list_2) { GList *node_1, *node_2; int compare_result; *list_1 = g_list_sort (*list_1, compare_pointers); *list_2 = g_list_sort (*list_2, compare_pointers); node_1 = *list_1; node_2 = *list_2; while (node_1 != NULL && node_2 != NULL) { compare_result = compare_pointers (node_1->data, node_2->data); if (compare_result == 0) { return TRUE; } if (compare_result <= 0) { node_1 = node_1->next; } if (compare_result >= 0) { node_2 = node_2->next; } } return FALSE; } /** * eel_g_list_partition * * Parition a list into two parts depending on whether the data * elements satisfy a provided predicate. Order is preserved in both * of the resulting lists, and the original list is consumed. A list * of the items that satisfy the predicate is returned, and the list * of items not satisfying the predicate is returned via the failed * out argument. * * @list: List to partition. * @predicate: Function to call on each element. * @user_data: Data to pass to function. * @failed: The GList * variable pointed to by this argument will be * set to the list of elements for which the predicate returned * false. */ GList * eel_g_list_partition (GList *list, EelPredicateFunction predicate, gpointer user_data, GList **failed) { GList *predicate_true; GList *predicate_false; GList *reverse; GList *p; GList *next; predicate_true = NULL; predicate_false = NULL; reverse = g_list_reverse (list); for (p = reverse; p != NULL; p = next) { next = p->next; if (next != NULL) { next->prev = NULL; } if (predicate (p->data, user_data)) { p->next = predicate_true; if (predicate_true != NULL) { predicate_true->prev = p; } predicate_true = p; } else { p->next = predicate_false; if (predicate_false != NULL) { predicate_false->prev = p; } predicate_false = p; } } *failed = predicate_false; return predicate_true; } /** * eel_get_system_time * * Return value: number of microseconds since the machine was turned on */ gint64 eel_get_system_time (void) { struct timeval tmp; gettimeofday (&tmp, NULL); return (gint64)tmp.tv_usec + (gint64)tmp.tv_sec * G_GINT64_CONSTANT (1000000); } typedef struct { GList *keys; GList *values; } FlattenedHashTable; static void flatten_hash_table_element (gpointer key, gpointer value, gpointer callback_data) { FlattenedHashTable *flattened_table; flattened_table = callback_data; flattened_table->keys = g_list_prepend (flattened_table->keys, key); flattened_table->values = g_list_prepend (flattened_table->values, value); } void eel_g_hash_table_safe_for_each (GHashTable *hash_table, GHFunc callback, gpointer callback_data) { FlattenedHashTable flattened; GList *p, *q; flattened.keys = NULL; flattened.values = NULL; g_hash_table_foreach (hash_table, flatten_hash_table_element, &flattened); for (p = flattened.keys, q = flattened.values; p != NULL; p = p->next, q = q->next) { (* callback) (p->data, q->data, callback_data); } g_list_free (flattened.keys); g_list_free (flattened.values); } int eel_round (double d) { double val; val = floor (d + .5); /* The tests are needed because the result of floating-point to integral * conversion is undefined if the floating point value is not representable * in the new type. E.g. the magnititude is too large or a negative * floating-point value being converted to an unsigned. */ g_return_val_if_fail (val <= INT_MAX, INT_MAX); g_return_val_if_fail (val >= INT_MIN, INT_MIN); return val; } /** * eel_g_object_list_ref * * Ref all the objects in a list. * @list: GList of objects. **/ GList * eel_g_object_list_ref (GList *list) { g_list_foreach (list, (GFunc) g_object_ref, NULL); return list; } /** * eel_g_object_list_copy * * Copy the list of objects, ref'ing each one. * @list: GList of objects. **/ GList * eel_g_object_list_copy (GList *list) { return g_list_copy (eel_g_object_list_ref (list)); } /** * eel_add_weak_pointer * * Nulls out a saved reference to an object when the object gets destroyed. * * @pointer_location: Address of the saved pointer. **/ void eel_add_weak_pointer (gpointer pointer_location) { gpointer *object_location; g_return_if_fail (pointer_location != NULL); object_location = (gpointer *) pointer_location; if (*object_location == NULL) { /* The reference is NULL, nothing to do. */ return; } g_return_if_fail (G_IS_OBJECT (*object_location)); g_object_add_weak_pointer (G_OBJECT (*object_location), object_location); } /** * eel_remove_weak_pointer * * Removes the weak pointer that was added by eel_add_weak_pointer. * Also nulls out the pointer. * * @pointer_location: Pointer that was passed to eel_add_weak_pointer. **/ void eel_remove_weak_pointer (gpointer pointer_location) { gpointer *object_location; g_return_if_fail (pointer_location != NULL); object_location = (gpointer *) pointer_location; if (*object_location == NULL) { /* The object was already destroyed and the reference * nulled out, nothing to do. */ return; } g_return_if_fail (G_IS_OBJECT (*object_location)); g_object_remove_weak_pointer (G_OBJECT (*object_location), object_location); *object_location = NULL; } static void update_auto_strv_as_quarks (GSettings *settings, const gchar *key, gpointer user_data) { GQuark **storage = user_data; int i = 0; char **value; value = g_settings_get_strv (settings, key); g_free (*storage); *storage = g_new (GQuark, g_strv_length (value) + 1); for (i = 0; value[i] != NULL; ++i) { (*storage)[i] = g_quark_from_string (value[i]); } (*storage)[i] = 0; g_strfreev (value); } void eel_g_settings_add_auto_strv_as_quarks (GSettings *settings, const char *key, GQuark **storage) { char *signal; *storage = NULL; update_auto_strv_as_quarks (settings, key, storage); signal = g_strconcat ("changed::", key, NULL); g_signal_connect (settings, signal, G_CALLBACK(update_auto_strv_as_quarks), storage); g_free (signal); } #if !defined (EEL_OMIT_SELF_CHECK) static void check_tm_to_g_date (time_t time) { struct tm *before_conversion; struct tm after_conversion; GDate *date; before_conversion = localtime (&time); date = eel_g_date_new_tm (before_conversion); g_date_to_struct_tm (date, &after_conversion); g_date_free (date); EEL_CHECK_INTEGER_RESULT (after_conversion.tm_mday, before_conversion->tm_mday); EEL_CHECK_INTEGER_RESULT (after_conversion.tm_mon, before_conversion->tm_mon); EEL_CHECK_INTEGER_RESULT (after_conversion.tm_year, before_conversion->tm_year); } static gboolean eel_test_predicate (gpointer data, gpointer callback_data) { return g_ascii_strcasecmp (data, callback_data) <= 0; } static char * test_strftime (const char *format, int year, int month, int day, int hour, int minute, int second) { struct tm time_pieces; time_pieces.tm_sec = second; time_pieces.tm_min = minute; time_pieces.tm_hour = hour; time_pieces.tm_mday = day; time_pieces.tm_mon = month - 1; time_pieces.tm_year = year - 1900; time_pieces.tm_isdst = -1; mktime (&time_pieces); return eel_strdup_strftime (format, &time_pieces); } void eel_self_check_glib_extensions (void) { char **strv; GList *compare_list_1; GList *compare_list_2; GList *compare_list_3; GList *compare_list_4; GList *compare_list_5; gint64 time1, time2; GList *list_to_partition; GList *expected_passed; GList *expected_failed; GList *actual_passed; GList *actual_failed; char *huge_string; check_tm_to_g_date (0); /* lower limit */ check_tm_to_g_date ((time_t) -1); /* upper limit */ check_tm_to_g_date (time (NULL)); /* current time */ strv = g_strsplit ("zero|one|two|three|four", "|", 0); EEL_CHECK_INTEGER_RESULT (eel_g_strv_find (strv, "zero"), 0); EEL_CHECK_INTEGER_RESULT (eel_g_strv_find (strv, "one"), 1); EEL_CHECK_INTEGER_RESULT (eel_g_strv_find (strv, "four"), 4); EEL_CHECK_INTEGER_RESULT (eel_g_strv_find (strv, "five"), -1); EEL_CHECK_INTEGER_RESULT (eel_g_strv_find (strv, ""), -1); EEL_CHECK_INTEGER_RESULT (eel_g_strv_find (strv, "o"), -1); g_strfreev (strv); /* eel_get_system_time */ time1 = eel_get_system_time (); time2 = eel_get_system_time (); EEL_CHECK_BOOLEAN_RESULT (time1 - time2 > -1000, TRUE); EEL_CHECK_BOOLEAN_RESULT (time1 - time2 <= 0, TRUE); /* eel_g_str_list_equal */ /* We g_strdup because identical string constants can be shared. */ compare_list_1 = NULL; compare_list_1 = g_list_append (compare_list_1, g_strdup ("Apple")); compare_list_1 = g_list_append (compare_list_1, g_strdup ("zebra")); compare_list_1 = g_list_append (compare_list_1, g_strdup ("!@#!@$#@$!")); compare_list_2 = NULL; compare_list_2 = g_list_append (compare_list_2, g_strdup ("Apple")); compare_list_2 = g_list_append (compare_list_2, g_strdup ("zebra")); compare_list_2 = g_list_append (compare_list_2, g_strdup ("!@#!@$#@$!")); compare_list_3 = NULL; compare_list_3 = g_list_append (compare_list_3, g_strdup ("Apple")); compare_list_3 = g_list_append (compare_list_3, g_strdup ("zebra")); compare_list_4 = NULL; compare_list_4 = g_list_append (compare_list_4, g_strdup ("Apple")); compare_list_4 = g_list_append (compare_list_4, g_strdup ("zebra")); compare_list_4 = g_list_append (compare_list_4, g_strdup ("!@#!@$#@$!")); compare_list_4 = g_list_append (compare_list_4, g_strdup ("foobar")); compare_list_5 = NULL; compare_list_5 = g_list_append (compare_list_5, g_strdup ("Apple")); compare_list_5 = g_list_append (compare_list_5, g_strdup ("zzzzzebraaaaaa")); compare_list_5 = g_list_append (compare_list_5, g_strdup ("!@#!@$#@$!")); EEL_CHECK_BOOLEAN_RESULT (eel_g_str_list_equal (compare_list_1, compare_list_2), TRUE); EEL_CHECK_BOOLEAN_RESULT (eel_g_str_list_equal (compare_list_1, compare_list_3), FALSE); EEL_CHECK_BOOLEAN_RESULT (eel_g_str_list_equal (compare_list_1, compare_list_4), FALSE); EEL_CHECK_BOOLEAN_RESULT (eel_g_str_list_equal (compare_list_1, compare_list_5), FALSE); g_list_free_full (compare_list_1, g_free); g_list_free_full (compare_list_2, g_free); g_list_free_full (compare_list_3, g_free); g_list_free_full (compare_list_4, g_free); g_list_free_full (compare_list_5, g_free); /* eel_g_list_partition */ list_to_partition = NULL; list_to_partition = g_list_append (list_to_partition, "Cadillac"); list_to_partition = g_list_append (list_to_partition, "Pontiac"); list_to_partition = g_list_append (list_to_partition, "Ford"); list_to_partition = g_list_append (list_to_partition, "Range Rover"); expected_passed = NULL; expected_passed = g_list_append (expected_passed, "Cadillac"); expected_passed = g_list_append (expected_passed, "Ford"); expected_failed = NULL; expected_failed = g_list_append (expected_failed, "Pontiac"); expected_failed = g_list_append (expected_failed, "Range Rover"); actual_passed = eel_g_list_partition (list_to_partition, eel_test_predicate, "m", &actual_failed); EEL_CHECK_BOOLEAN_RESULT (eel_g_str_list_equal (expected_passed, actual_passed), TRUE); EEL_CHECK_BOOLEAN_RESULT (eel_g_str_list_equal (expected_failed, actual_failed), TRUE); /* Don't free "list_to_partition", since it is consumed * by eel_g_list_partition. */ g_list_free (expected_passed); g_list_free (actual_passed); g_list_free (expected_failed); g_list_free (actual_failed); /* eel_strdup_strftime */ huge_string = g_new (char, 10000+1); memset (huge_string, 'a', 10000); huge_string[10000] = '\0'; setlocale (LC_TIME, "C"); EEL_CHECK_STRING_RESULT (test_strftime ("", 2000, 1, 1, 0, 0, 0), ""); EEL_CHECK_STRING_RESULT (test_strftime (huge_string, 2000, 1, 1, 0, 0, 0), huge_string); EEL_CHECK_STRING_RESULT (test_strftime ("%%", 2000, 1, 1, 1, 0, 0), "%"); EEL_CHECK_STRING_RESULT (test_strftime ("%%%%", 2000, 1, 1, 1, 0, 0), "%%"); EEL_CHECK_STRING_RESULT (test_strftime ("%m/%d/%y, %I:%M %p", 2000, 1, 1, 1, 0, 0), "01/01/00, 01:00 AM"); EEL_CHECK_STRING_RESULT (test_strftime ("%-m/%-d/%y, %-I:%M %p", 2000, 1, 1, 1, 0, 0), "1/1/00, 1:00 AM"); EEL_CHECK_STRING_RESULT (test_strftime ("%_m/%_d/%y, %_I:%M %p", 2000, 1, 1, 1, 0, 0), " 1/ 1/00, 1:00 AM"); setlocale (LC_TIME, ""); g_free (huge_string); } #endif /* !EEL_OMIT_SELF_CHECK */ nemo-1.8.4/eel/eel-glib-extensions.h000066400000000000000000000101561216702421000172530ustar00rootroot00000000000000/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */ /* eel-glib-extensions.h - interface for new functions that conceptually belong in glib. Perhaps some of these will be actually rolled into glib someday. Copyright (C) 2000 Eazel, Inc. The Gnome Library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. The Gnome Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with the Gnome Library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 51 Franklin Street - Suite 500, Boston, MA 02110-1335, USA. Authors: John Sullivan */ #ifndef EEL_GLIB_EXTENSIONS_H #define EEL_GLIB_EXTENSIONS_H #include #include /* A gboolean variant for bit fields. */ typedef guint eel_boolean_bit; /* Predicate. */ typedef gboolean (* EelPredicateFunction) (gpointer data, gpointer callback_data); /* Date & time functions. */ GDate * eel_g_date_new_tm (struct tm *time_pieces); char * eel_strdup_strftime (const char *format, struct tm *time_pieces); /* GList functions. */ gboolean eel_g_list_exactly_one_item (GList *list); gboolean eel_g_list_more_than_one_item (GList *list); gboolean eel_g_list_equal (GList *list_a, GList *list_b); gboolean eel_g_lists_sort_and_check_for_intersection (GList **list_a, GList **list_b); GList * eel_g_list_partition (GList *list, EelPredicateFunction predicate, gpointer user_data, GList **removed); /* List functions for lists of C strings. */ gboolean eel_g_str_list_equal (GList *str_list_a, GList *str_list_b); GList * eel_g_str_list_copy (GList *str_list); GList * eel_g_str_list_alphabetize (GList *str_list); int eel_g_str_list_index (GList *str_list, const char *str); /* List functions for lists of objects */ GList * eel_g_object_list_ref (GList *list); GList * eel_g_object_list_copy (GList *list); /* GHashTable functions */ void eel_g_hash_table_safe_for_each (GHashTable *hash_table, GHFunc callback, gpointer callback_data); /* NULL terminated string arrays (strv). */ int eel_g_strv_find (char **strv, const char *find_me); gboolean eel_g_strv_equal (char **a, char **b); /* return the time in microseconds since the machine was started */ gint64 eel_get_system_time (void); /* math */ int eel_round (double d); /* Better weak pointer functions */ void eel_add_weak_pointer (gpointer pointer_location); void eel_remove_weak_pointer (gpointer pointer_location); void eel_g_settings_add_auto_strv_as_quarks (GSettings *settings, const char *key, GQuark **storage); #endif /* EEL_GLIB_EXTENSIONS_H */ nemo-1.8.4/eel/eel-gnome-extensions.c000066400000000000000000000040151216702421000174330ustar00rootroot00000000000000/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */ /* eel-gnome-extensions.c - implementation of new functions that operate on gnome classes. Perhaps some of these should be rolled into gnome someday. Copyright (C) 1999, 2000, 2001 Eazel, Inc. The Gnome Library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. The Gnome Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with the Gnome Library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 51 Franklin Street - Suite 500, Boston, MA 02110-1335, USA. Authors: Darin Adler */ #include #define GNOME_DESKTOP_USE_UNSTABLE_API #include "eel-gnome-extensions.h" #include /* Return a command string containing the path to a terminal on this system. */ void eel_gnome_open_terminal_on_screen (const char *command, GdkScreen *screen) { GAppInfo *app; GdkAppLaunchContext *ctx; GError *error = NULL; GdkDisplay *display; app = g_app_info_create_from_commandline (command, NULL, G_APP_INFO_CREATE_NEEDS_TERMINAL, &error); if (app != NULL && screen != NULL) { display = gdk_screen_get_display (screen); ctx = gdk_display_get_app_launch_context (display); gdk_app_launch_context_set_screen (ctx, screen); g_app_info_launch (app, NULL, G_APP_LAUNCH_CONTEXT (ctx), &error); g_object_unref (app); g_object_unref (ctx); } if (error != NULL) { g_message ("Could not start application on terminal: %s", error->message); g_error_free (error); } } nemo-1.8.4/eel/eel-gnome-extensions.h000066400000000000000000000027431216702421000174460ustar00rootroot00000000000000/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */ /* eel-gnome-extensions.h - interface for new functions that operate on gnome classes. Perhaps some of these should be rolled into gnome someday. Copyright (C) 1999, 2000, 2001 Eazel, Inc. The Gnome Library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. The Gnome Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with the Gnome Library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 51 Franklin Street - Suite 500, Boston, MA 02110-1335, USA. Authors: Darin Adler */ #ifndef EEL_GNOME_EXTENSIONS_H #define EEL_GNOME_EXTENSIONS_H #include /* Open up a new terminal, optionally passing in a command to execute */ void eel_gnome_open_terminal_on_screen (const char *command, GdkScreen *screen); #endif /* EEL_GNOME_EXTENSIONS_H */ nemo-1.8.4/eel/eel-graphic-effects.c000066400000000000000000000267261216702421000172000ustar00rootroot00000000000000/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */ /* Eel - pixbuf manipulation routines for graphical effects. * * Copyright (C) 2000 Eazel, Inc * * Author: Andy Hertzfeld * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street - Suite 500, * Boston, MA 02110-1335, USA. */ /* This file contains pixbuf manipulation routines used for graphical effects like pre-lighting and selection hilighting */ #include #include "eel-graphic-effects.h" #include "eel-glib-extensions.h" #include /* shared utility to create a new pixbuf from the passed-in one */ static GdkPixbuf * create_new_pixbuf (GdkPixbuf *src) { g_assert (gdk_pixbuf_get_colorspace (src) == GDK_COLORSPACE_RGB); g_assert ((!gdk_pixbuf_get_has_alpha (src) && gdk_pixbuf_get_n_channels (src) == 3) || (gdk_pixbuf_get_has_alpha (src) && gdk_pixbuf_get_n_channels (src) == 4)); return gdk_pixbuf_new (gdk_pixbuf_get_colorspace (src), gdk_pixbuf_get_has_alpha (src), gdk_pixbuf_get_bits_per_sample (src), gdk_pixbuf_get_width (src), gdk_pixbuf_get_height (src)); } /* utility routine to bump the level of a color component with pinning */ static guchar lighten_component (guchar cur_value) { int new_value = cur_value; new_value += 24 + (new_value >> 3); if (new_value > 255) { new_value = 255; } return (guchar) new_value; } GdkPixbuf * eel_create_spotlight_pixbuf (GdkPixbuf* src) { GdkPixbuf *dest; int i, j; int width, height, has_alpha, src_row_stride, dst_row_stride; guchar *target_pixels, *original_pixels; guchar *pixsrc, *pixdest; g_return_val_if_fail (gdk_pixbuf_get_colorspace (src) == GDK_COLORSPACE_RGB, NULL); g_return_val_if_fail ((!gdk_pixbuf_get_has_alpha (src) && gdk_pixbuf_get_n_channels (src) == 3) || (gdk_pixbuf_get_has_alpha (src) && gdk_pixbuf_get_n_channels (src) == 4), NULL); g_return_val_if_fail (gdk_pixbuf_get_bits_per_sample (src) == 8, NULL); dest = create_new_pixbuf (src); has_alpha = gdk_pixbuf_get_has_alpha (src); width = gdk_pixbuf_get_width (src); height = gdk_pixbuf_get_height (src); dst_row_stride = gdk_pixbuf_get_rowstride (dest); src_row_stride = gdk_pixbuf_get_rowstride (src); target_pixels = gdk_pixbuf_get_pixels (dest); original_pixels = gdk_pixbuf_get_pixels (src); for (i = 0; i < height; i++) { pixdest = target_pixels + i * dst_row_stride; pixsrc = original_pixels + i * src_row_stride; for (j = 0; j < width; j++) { *pixdest++ = lighten_component (*pixsrc++); *pixdest++ = lighten_component (*pixsrc++); *pixdest++ = lighten_component (*pixsrc++); if (has_alpha) { *pixdest++ = *pixsrc++; } } } return dest; } /* the following routine was stolen from the panel to darken a pixbuf, by manipulating the saturation */ /* saturation is 0-255, darken is 0-255 */ GdkPixbuf * eel_create_darkened_pixbuf (GdkPixbuf *src, int saturation, int darken) { gint i, j; gint width, height, src_row_stride, dest_row_stride; gboolean has_alpha; guchar *target_pixels, *original_pixels; guchar *pixsrc, *pixdest; guchar intensity; guchar alpha; guchar negalpha; guchar r, g, b; GdkPixbuf *dest; g_return_val_if_fail (gdk_pixbuf_get_colorspace (src) == GDK_COLORSPACE_RGB, NULL); g_return_val_if_fail ((!gdk_pixbuf_get_has_alpha (src) && gdk_pixbuf_get_n_channels (src) == 3) || (gdk_pixbuf_get_has_alpha (src) && gdk_pixbuf_get_n_channels (src) == 4), NULL); g_return_val_if_fail (gdk_pixbuf_get_bits_per_sample (src) == 8, NULL); dest = create_new_pixbuf (src); has_alpha = gdk_pixbuf_get_has_alpha (src); width = gdk_pixbuf_get_width (src); height = gdk_pixbuf_get_height (src); dest_row_stride = gdk_pixbuf_get_rowstride (dest); src_row_stride = gdk_pixbuf_get_rowstride (src); target_pixels = gdk_pixbuf_get_pixels (dest); original_pixels = gdk_pixbuf_get_pixels (src); for (i = 0; i < height; i++) { pixdest = target_pixels + i * dest_row_stride; pixsrc = original_pixels + i * src_row_stride; for (j = 0; j < width; j++) { r = *pixsrc++; g = *pixsrc++; b = *pixsrc++; intensity = (r * 77 + g * 150 + b * 28) >> 8; negalpha = ((255 - saturation) * darken) >> 8; alpha = (saturation * darken) >> 8; *pixdest++ = (negalpha * intensity + alpha * r) >> 8; *pixdest++ = (negalpha * intensity + alpha * g) >> 8; *pixdest++ = (negalpha * intensity + alpha * b) >> 8; if (has_alpha) { *pixdest++ = *pixsrc++; } } } return dest; } /* this routine colorizes the passed-in pixbuf by multiplying each pixel with the passed in color */ GdkPixbuf * eel_create_colorized_pixbuf (GdkPixbuf *src, GdkRGBA *color) { int i, j; int width, height, has_alpha, src_row_stride, dst_row_stride; guchar *target_pixels; guchar *original_pixels; guchar *pixsrc; guchar *pixdest; GdkPixbuf *dest; gint red_value, green_value, blue_value; g_return_val_if_fail (gdk_pixbuf_get_colorspace (src) == GDK_COLORSPACE_RGB, NULL); g_return_val_if_fail ((!gdk_pixbuf_get_has_alpha (src) && gdk_pixbuf_get_n_channels (src) == 3) || (gdk_pixbuf_get_has_alpha (src) && gdk_pixbuf_get_n_channels (src) == 4), NULL); g_return_val_if_fail (gdk_pixbuf_get_bits_per_sample (src) == 8, NULL); red_value = eel_round (color->red * 255); green_value = eel_round (color->green * 255); blue_value = eel_round (color->blue * 255); dest = create_new_pixbuf (src); has_alpha = gdk_pixbuf_get_has_alpha (src); width = gdk_pixbuf_get_width (src); height = gdk_pixbuf_get_height (src); src_row_stride = gdk_pixbuf_get_rowstride (src); dst_row_stride = gdk_pixbuf_get_rowstride (dest); target_pixels = gdk_pixbuf_get_pixels (dest); original_pixels = gdk_pixbuf_get_pixels (src); for (i = 0; i < height; i++) { pixdest = target_pixels + i*dst_row_stride; pixsrc = original_pixels + i*src_row_stride; for (j = 0; j < width; j++) { *pixdest++ = (*pixsrc++ * red_value) >> 8; *pixdest++ = (*pixsrc++ * green_value) >> 8; *pixdest++ = (*pixsrc++ * blue_value) >> 8; if (has_alpha) { *pixdest++ = *pixsrc++; } } } return dest; } /* utility to stretch a frame to the desired size */ static void draw_frame_row (GdkPixbuf *frame_image, int target_width, int source_width, int source_v_position, int dest_v_position, GdkPixbuf *result_pixbuf, int left_offset, int height) { int remaining_width, h_offset, slab_width; remaining_width = target_width; h_offset = 0; while (remaining_width > 0) { slab_width = remaining_width > source_width ? source_width : remaining_width; gdk_pixbuf_copy_area (frame_image, left_offset, source_v_position, slab_width, height, result_pixbuf, left_offset + h_offset, dest_v_position); remaining_width -= slab_width; h_offset += slab_width; } } /* utility to draw the middle section of the frame in a loop */ static void draw_frame_column (GdkPixbuf *frame_image, int target_height, int source_height, int source_h_position, int dest_h_position, GdkPixbuf *result_pixbuf, int top_offset, int width) { int remaining_height, v_offset, slab_height; remaining_height = target_height; v_offset = 0; while (remaining_height > 0) { slab_height = remaining_height > source_height ? source_height : remaining_height; gdk_pixbuf_copy_area (frame_image, source_h_position, top_offset, width, slab_height, result_pixbuf, dest_h_position, top_offset + v_offset); remaining_height -= slab_height; v_offset += slab_height; } } GdkPixbuf * eel_stretch_frame_image (GdkPixbuf *frame_image, int left_offset, int top_offset, int right_offset, int bottom_offset, int dest_width, int dest_height, gboolean fill_flag) { GdkPixbuf *result_pixbuf; guchar *pixels_ptr; int frame_width, frame_height; int y, row_stride; int target_width, target_frame_width; int target_height, target_frame_height; frame_width = gdk_pixbuf_get_width (frame_image); frame_height = gdk_pixbuf_get_height (frame_image ); if (fill_flag) { result_pixbuf = gdk_pixbuf_scale_simple (frame_image, dest_width, dest_height, GDK_INTERP_NEAREST); } else { result_pixbuf = gdk_pixbuf_new (GDK_COLORSPACE_RGB, TRUE, 8, dest_width, dest_height); } row_stride = gdk_pixbuf_get_rowstride (result_pixbuf); pixels_ptr = gdk_pixbuf_get_pixels (result_pixbuf); /* clear the new pixbuf */ if (!fill_flag) { for (y = 0; y < dest_height; y++) { memset (pixels_ptr, 255, row_stride); pixels_ptr += row_stride; } } target_width = dest_width - left_offset - right_offset; target_frame_width = frame_width - left_offset - right_offset; target_height = dest_height - top_offset - bottom_offset; target_frame_height = frame_height - top_offset - bottom_offset; /* draw the left top corner and top row */ gdk_pixbuf_copy_area (frame_image, 0, 0, left_offset, top_offset, result_pixbuf, 0, 0); draw_frame_row (frame_image, target_width, target_frame_width, 0, 0, result_pixbuf, left_offset, top_offset); /* draw the right top corner and left column */ gdk_pixbuf_copy_area (frame_image, frame_width - right_offset, 0, right_offset, top_offset, result_pixbuf, dest_width - right_offset, 0); draw_frame_column (frame_image, target_height, target_frame_height, 0, 0, result_pixbuf, top_offset, left_offset); /* draw the bottom right corner and bottom row */ gdk_pixbuf_copy_area (frame_image, frame_width - right_offset, frame_height - bottom_offset, right_offset, bottom_offset, result_pixbuf, dest_width - right_offset, dest_height - bottom_offset); draw_frame_row (frame_image, target_width, target_frame_width, frame_height - bottom_offset, dest_height - bottom_offset, result_pixbuf, left_offset, bottom_offset); /* draw the bottom left corner and the right column */ gdk_pixbuf_copy_area (frame_image, 0, frame_height - bottom_offset, left_offset, bottom_offset, result_pixbuf, 0, dest_height - bottom_offset); draw_frame_column (frame_image, target_height, target_frame_height, frame_width - right_offset, dest_width - right_offset, result_pixbuf, top_offset, right_offset); return result_pixbuf; } /* draw an arbitrary frame around an image, with the result passed back in a newly allocated pixbuf */ GdkPixbuf * eel_embed_image_in_frame (GdkPixbuf *source_image, GdkPixbuf *frame_image, int left_offset, int top_offset, int right_offset, int bottom_offset) { GdkPixbuf *result_pixbuf; int source_width, source_height; int dest_width, dest_height; source_width = gdk_pixbuf_get_width (source_image); source_height = gdk_pixbuf_get_height (source_image); dest_width = source_width + left_offset + right_offset; dest_height = source_height + top_offset + bottom_offset; result_pixbuf = eel_stretch_frame_image (frame_image, left_offset, top_offset, right_offset, bottom_offset, dest_width, dest_height, FALSE); /* Finally, copy the source image into the framed area */ gdk_pixbuf_copy_area (source_image, 0, 0, source_width, source_height, result_pixbuf, left_offset, top_offset); return result_pixbuf; } nemo-1.8.4/eel/eel-graphic-effects.h000066400000000000000000000041251216702421000171720ustar00rootroot00000000000000/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- eel-graphic-effects.h: Pixmap manipulation routines for graphical effects. Copyright (C) 2000 Eazel, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street - Suite 500, Boston, MA 02110-1335, USA. Authors: Andy Hertzfeld */ #ifndef EEL_GRAPHIC_EFFECTS_H #define EEL_GRAPHIC_EFFECTS_H #include #include /* return a lightened pixbuf for pre-lighting */ GdkPixbuf *eel_create_spotlight_pixbuf (GdkPixbuf *source_pixbuf); /* return a darkened pixbuf for selection hiliting */ GdkPixbuf *eel_create_darkened_pixbuf (GdkPixbuf *source_pixbuf, int saturation, int darken); /* return a pixbuf colorized with the color specified by the parameters */ GdkPixbuf* eel_create_colorized_pixbuf (GdkPixbuf *source_pixbuf, GdkRGBA *color); /* stretch a image frame */ GdkPixbuf *eel_stretch_frame_image (GdkPixbuf *frame_image, int left_offset, int top_offset, int right_offset, int bottom_offset, int dest_width, int dest_height, gboolean fill_flag); /* embed in image in a frame */ GdkPixbuf *eel_embed_image_in_frame (GdkPixbuf *source_image, GdkPixbuf *frame_image, int left_offset, int top_offset, int right_offset, int bottom_offset); #endif /* EEL_GRAPHIC_EFFECTS_H */ nemo-1.8.4/eel/eel-gtk-extensions.c000066400000000000000000000313371216702421000171220ustar00rootroot00000000000000/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */ /* eel-gtk-extensions.c - implementation of new functions that operate on gtk classes. Perhaps some of these should be rolled into gtk someday. Copyright (C) 1999, 2000, 2001 Eazel, Inc. The Gnome Library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. The Gnome Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with the Gnome Library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 51 Franklin Street - Suite 500, Boston, MA 02110-1335, USA. Authors: John Sullivan Ramiro Estrugo Darin Adler */ #include #include "eel-gtk-extensions.h" #include "eel-glib-extensions.h" #include "eel-gnome-extensions.h" #include "eel-string.h" #include #include #include #include #include #include #include #include /* This number is fairly arbitrary. Long enough to show a pretty long * menu title, but not so long to make a menu grotesquely wide. */ #define MAXIMUM_MENU_TITLE_LENGTH 48 /* Used for window position & size sanity-checking. The sizes are big enough to prevent * at least normal-sized gnome panels from obscuring the window at the screen edges. */ #define MINIMUM_ON_SCREEN_WIDTH 100 #define MINIMUM_ON_SCREEN_HEIGHT 100 /** * eel_gtk_window_get_geometry_string: * @window: a #GtkWindow * * Obtains the geometry string for this window, suitable for * set_geometry_string(); assumes the window has NorthWest gravity * * Return value: geometry string, must be freed **/ char* eel_gtk_window_get_geometry_string (GtkWindow *window) { char *str; int w, h, x, y; g_return_val_if_fail (GTK_IS_WINDOW (window), NULL); g_return_val_if_fail (gtk_window_get_gravity (window) == GDK_GRAVITY_NORTH_WEST, NULL); gtk_window_get_position (window, &x, &y); gtk_window_get_size (window, &w, &h); str = g_strdup_printf ("%dx%d+%d+%d", w, h, x, y); return str; } static void sanity_check_window_position (int *left, int *top) { g_assert (left != NULL); g_assert (top != NULL); /* Make sure the top of the window is on screen, for * draggability (might not be necessary with all window managers, * but seems reasonable anyway). Make sure the top of the window * isn't off the bottom of the screen, or so close to the bottom * that it might be obscured by the panel. */ *top = CLAMP (*top, 0, gdk_screen_height() - MINIMUM_ON_SCREEN_HEIGHT); /* FIXME bugzilla.eazel.com 669: * If window has negative left coordinate, set_uposition sends it * somewhere else entirely. Not sure what level contains this bug (XWindows?). * Hacked around by pinning the left edge to zero, which just means you * can't set a window to be partly off the left of the screen using * this routine. */ /* Make sure the left edge of the window isn't off the right edge of * the screen, or so close to the right edge that it might be * obscured by the panel. */ *left = CLAMP (*left, 0, gdk_screen_width() - MINIMUM_ON_SCREEN_WIDTH); } static void sanity_check_window_dimensions (guint *width, guint *height) { g_assert (width != NULL); g_assert (height != NULL); /* Pin the size of the window to the screen, so we don't end up in * a state where the window is so big essential parts of it can't * be reached (might not be necessary with all window managers, * but seems reasonable anyway). */ *width = MIN (*width, gdk_screen_width()); *height = MIN (*height, gdk_screen_height()); } /** * eel_gtk_window_set_initial_geometry: * * Sets the position and size of a GtkWindow before the * GtkWindow is shown. It is an error to call this on a window that * is already on-screen. Takes into account screen size, and does * some sanity-checking on the passed-in values. * * @window: A non-visible GtkWindow * @geometry_flags: A EelGdkGeometryFlags value defining which of * the following parameters have defined values * @left: pixel coordinate for left of window * @top: pixel coordinate for top of window * @width: width of window in pixels * @height: height of window in pixels */ void eel_gtk_window_set_initial_geometry (GtkWindow *window, EelGdkGeometryFlags geometry_flags, int left, int top, guint width, guint height) { GdkScreen *screen; int real_left, real_top; int screen_width, screen_height; g_return_if_fail (GTK_IS_WINDOW (window)); /* Setting the default size doesn't work when the window is already showing. * Someday we could make this move an already-showing window, but we don't * need that functionality yet. */ g_return_if_fail (!gtk_widget_get_visible (GTK_WIDGET (window))); if ((geometry_flags & EEL_GDK_X_VALUE) && (geometry_flags & EEL_GDK_Y_VALUE)) { real_left = left; real_top = top; screen = gtk_window_get_screen (window); screen_width = gdk_screen_get_width (screen); screen_height = gdk_screen_get_height (screen); /* This is sub-optimal. GDK doesn't allow us to set win_gravity * to South/East types, which should be done if using negative * positions (so that the right or bottom edge of the window * appears at the specified position, not the left or top). * However it does seem to be consistent with other GNOME apps. */ if (geometry_flags & EEL_GDK_X_NEGATIVE) { real_left = screen_width - real_left; } if (geometry_flags & EEL_GDK_Y_NEGATIVE) { real_top = screen_height - real_top; } sanity_check_window_position (&real_left, &real_top); gtk_window_move (window, real_left, real_top); } if ((geometry_flags & EEL_GDK_WIDTH_VALUE) && (geometry_flags & EEL_GDK_HEIGHT_VALUE)) { sanity_check_window_dimensions (&width, &height); gtk_window_set_default_size (GTK_WINDOW (window), (int)width, (int)height); } } /** * eel_gtk_window_set_initial_geometry_from_string: * * Sets the position and size of a GtkWindow before the * GtkWindow is shown. The geometry is passed in as a string. * It is an error to call this on a window that * is already on-screen. Takes into account screen size, and does * some sanity-checking on the passed-in values. * * @window: A non-visible GtkWindow * @geometry_string: A string suitable for use with eel_gdk_parse_geometry * @minimum_width: If the width from the string is smaller than this, * use this for the width. * @minimum_height: If the height from the string is smaller than this, * use this for the height. * @ignore_position: If true position data from string will be ignored. */ void eel_gtk_window_set_initial_geometry_from_string (GtkWindow *window, const char *geometry_string, guint minimum_width, guint minimum_height, gboolean ignore_position) { int left, top; guint width, height; EelGdkGeometryFlags geometry_flags; g_return_if_fail (GTK_IS_WINDOW (window)); g_return_if_fail (geometry_string != NULL); /* Setting the default size doesn't work when the window is already showing. * Someday we could make this move an already-showing window, but we don't * need that functionality yet. */ g_return_if_fail (!gtk_widget_get_visible (GTK_WIDGET (window))); geometry_flags = eel_gdk_parse_geometry (geometry_string, &left, &top, &width, &height); /* Make sure the window isn't smaller than makes sense for this window. * Other sanity checks are performed in set_initial_geometry. */ if (geometry_flags & EEL_GDK_WIDTH_VALUE) { width = MAX (width, minimum_width); } if (geometry_flags & EEL_GDK_HEIGHT_VALUE) { height = MAX (height, minimum_height); } /* Ignore saved window position if requested. */ if (ignore_position) { geometry_flags &= ~(EEL_GDK_X_VALUE | EEL_GDK_Y_VALUE); } eel_gtk_window_set_initial_geometry (window, geometry_flags, left, top, width, height); } /** * eel_pop_up_context_menu: * * Pop up a context menu under the mouse. * The menu is sunk after use, so it will be destroyed unless the * caller first ref'ed it. * * This function is more of a helper function than a gtk extension, * so perhaps it belongs in a different file. * * @menu: The menu to pop up under the mouse. * @offset_x: Ignored. * @offset_y: Ignored. * @event: The event that invoked this popup menu, or #NULL if there * is no event available. This is used to get the timestamp for the menu's popup. * In case no event is provided, gtk_get_current_event_time() will be used automatically. **/ void eel_pop_up_context_menu (GtkMenu *menu, GdkEventButton *event) { int button; g_return_if_fail (GTK_IS_MENU (menu)); /* The event button needs to be 0 if we're popping up this menu from * a button release, else a 2nd click outside the menu with any button * other than the one that invoked the menu will be ignored (instead * of dismissing the menu). This is a subtle fragility of the GTK menu code. */ if (event) { button = event->type == GDK_BUTTON_RELEASE ? 0 : event->button; } else { button = 0; } gtk_menu_popup (menu, /* menu */ NULL, /* parent_menu_shell */ NULL, /* parent_menu_item */ NULL, /* popup_position_func */ NULL, /* popup_position_data */ button, /* button */ event ? event->time : gtk_get_current_event_time ()); /* activate_time */ g_object_ref_sink (menu); g_object_unref (menu); } GtkMenuItem * eel_gtk_menu_append_separator (GtkMenu *menu) { return eel_gtk_menu_insert_separator (menu, -1); } GtkMenuItem * eel_gtk_menu_insert_separator (GtkMenu *menu, int index) { GtkWidget *menu_item; menu_item = gtk_separator_menu_item_new (); gtk_widget_show (menu_item); gtk_menu_shell_insert (GTK_MENU_SHELL (menu), menu_item, index); return GTK_MENU_ITEM (menu_item); } /** * eel_gtk_label_make_bold. * * Switches the font of label to a bold equivalent. * @label: The label. **/ void eel_gtk_label_make_bold (GtkLabel *label) { PangoFontDescription *font_desc; font_desc = pango_font_description_new (); pango_font_description_set_weight (font_desc, PANGO_WEIGHT_BOLD); /* This will only affect the weight of the font, the rest is * from the current state of the widget, which comes from the * theme or user prefs, since the font desc only has the * weight flag turned on. */ gtk_widget_override_font (GTK_WIDGET (label), font_desc); pango_font_description_free (font_desc); } static gboolean tree_view_button_press_callback (GtkWidget *tree_view, GdkEventButton *event, gpointer data) { GtkTreePath *path; GtkTreeViewColumn *column; if (event->button == 1 && event->type == GDK_BUTTON_PRESS) { if (gtk_tree_view_get_path_at_pos (GTK_TREE_VIEW (tree_view), event->x, event->y, &path, &column, NULL, NULL)) { gtk_tree_view_row_activated (GTK_TREE_VIEW (tree_view), path, column); gtk_tree_path_free (path); } } return FALSE; } void eel_gtk_tree_view_set_activate_on_single_click (GtkTreeView *tree_view, gboolean should_activate) { guint button_press_id; button_press_id = GPOINTER_TO_UINT (g_object_get_data (G_OBJECT (tree_view), "eel-tree-view-activate")); if (button_press_id && !should_activate) { g_signal_handler_disconnect (tree_view, button_press_id); g_object_set_data (G_OBJECT (tree_view), "eel-tree-view-activate", NULL); } else if (!button_press_id && should_activate) { button_press_id = g_signal_connect (tree_view, "button_press_event", G_CALLBACK (tree_view_button_press_callback), NULL); g_object_set_data (G_OBJECT (tree_view), "eel-tree-view-activate", GUINT_TO_POINTER (button_press_id)); } } void eel_gtk_message_dialog_set_details_label (GtkMessageDialog *dialog, const gchar *details_text) { GtkWidget *content_area, *expander, *label; content_area = gtk_message_dialog_get_message_area (dialog); expander = gtk_expander_new_with_mnemonic (_("Show more _details")); gtk_expander_set_spacing (GTK_EXPANDER (expander), 6); label = gtk_label_new (details_text); gtk_label_set_line_wrap (GTK_LABEL (label), TRUE); gtk_label_set_selectable (GTK_LABEL (label), TRUE); gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); gtk_container_add (GTK_CONTAINER (expander), label); gtk_box_pack_start (GTK_BOX (content_area), expander, FALSE, FALSE, 0); gtk_widget_show (label); gtk_widget_show (expander); } nemo-1.8.4/eel/eel-gtk-extensions.h000066400000000000000000000060031216702421000171170ustar00rootroot00000000000000/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */ /* eel-gtk-extensions.h - interface for new functions that operate on gtk classes. Perhaps some of these should be rolled into gtk someday. Copyright (C) 1999, 2000, 2001 Eazel, Inc. The Gnome Library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. The Gnome Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with the Gnome Library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 51 Franklin Street - Suite 500, Boston, MA 02110-1335, USA. Authors: John Sullivan Ramiro Estrugo */ #ifndef EEL_GTK_EXTENSIONS_H #define EEL_GTK_EXTENSIONS_H #include #include #include #define EEL_STANDARD_CLOSE_WINDOW_CONTROL_KEY 'w' /* GtkWindow */ void eel_gtk_window_set_initial_geometry (GtkWindow *window, EelGdkGeometryFlags geometry_flags, int left, int top, guint width, guint height); void eel_gtk_window_set_initial_geometry_from_string (GtkWindow *window, const char *geometry_string, guint minimum_width, guint minimum_height, gboolean ignore_position); char * eel_gtk_window_get_geometry_string (GtkWindow *window); /* GtkMenu and GtkMenuItem */ void eel_pop_up_context_menu (GtkMenu *menu, GdkEventButton *event); GtkMenuItem * eel_gtk_menu_append_separator (GtkMenu *menu); GtkMenuItem * eel_gtk_menu_insert_separator (GtkMenu *menu, int index); /* GtkLabel */ void eel_gtk_label_make_bold (GtkLabel *label); /* GtkTreeView */ void eel_gtk_tree_view_set_activate_on_single_click (GtkTreeView *tree_view, gboolean should_activate); /* GtkMessageDialog */ void eel_gtk_message_dialog_set_details_label (GtkMessageDialog *dialog, const gchar *details_text); #endif /* EEL_GTK_EXTENSIONS_H */ nemo-1.8.4/eel/eel-lib-self-check-functions.c000066400000000000000000000023341216702421000207110ustar00rootroot00000000000000/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- eel-lib-self-check-functions.c: Wrapper for all self check functions in Eel proper. Copyright (C) 2000 Eazel, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street - Suite 500, Boston, MA 02110-1335, USA. Author: Darin Adler */ #include #if ! defined (EEL_OMIT_SELF_CHECK) #include "eel-lib-self-check-functions.h" void eel_run_lib_self_checks (void) { EEL_LIB_FOR_EACH_SELF_CHECK_FUNCTION (EEL_CALL_SELF_CHECK_FUNCTION) } #endif /* ! EEL_OMIT_SELF_CHECK */ nemo-1.8.4/eel/eel-lib-self-check-functions.h000066400000000000000000000034231216702421000207160ustar00rootroot00000000000000/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- eel-lib-self-check-functions.h: Wrapper and prototypes for all self-check functions in libeel. Copyright (C) 2000 Eazel, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street - Suite 500, Boston, MA 02110-1335, USA. Author: Darin Adler */ #include "eel-self-checks.h" void eel_run_lib_self_checks (void); /* Putting the prototypes for these self-check functions in each header file for the files they are defined in would make compiling the self-check framework take way too long (since one file would have to include everything). So we put the list of functions here instead. Instead of just putting prototypes here, we put this macro that can be used to do operations on the whole list of functions. */ #define EEL_LIB_FOR_EACH_SELF_CHECK_FUNCTION(macro) \ macro (eel_self_check_glib_extensions) \ macro (eel_self_check_string) \ /* Add new self-check functions to the list above this line. */ /* Generate prototypes for all the functions. */ EEL_LIB_FOR_EACH_SELF_CHECK_FUNCTION (EEL_SELF_CHECK_FUNCTION_PROTOTYPE) nemo-1.8.4/eel/eel-self-checks.c000066400000000000000000000102071216702421000163200ustar00rootroot00000000000000/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- eel-self-checks.c: The self-check framework. Copyright (C) 1999 Eazel, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street - Suite 500, Boston, MA 02110-1335, USA. Author: Darin Adler */ #include #if ! defined (EEL_OMIT_SELF_CHECK) #include "eel-self-checks.h" #include #include #include static gboolean failed; static const char *current_expression; static const char *current_file_name; static int current_line_number; void eel_exit_if_self_checks_failed (void) { if (!failed) { return; } printf ("\n"); exit (EXIT_FAILURE); } void eel_report_check_failure (char *result, char *expected) { if (!failed) { fprintf (stderr, "\n"); } fprintf (stderr, "FAIL: check failed in %s, line %d\n", current_file_name, current_line_number); fprintf (stderr, " evaluated: %s\n", current_expression); fprintf (stderr, " expected: %s\n", expected == NULL ? "NULL" : expected); fprintf (stderr, " got: %s\n", result == NULL ? "NULL" : result); failed = TRUE; g_free (result); g_free (expected); } static char * eel_strdup_boolean (gboolean boolean) { if (boolean == FALSE) { return g_strdup ("FALSE"); } if (boolean == TRUE) { return g_strdup ("TRUE"); } return g_strdup_printf ("gboolean(%d)", boolean); } void eel_before_check (const char *expression, const char *file_name, int line_number) { current_expression = expression; current_file_name = file_name; current_line_number = line_number; } void eel_after_check (void) { /* It would be good to check here if there was a memory leak. */ } void eel_check_boolean_result (gboolean result, gboolean expected) { if (result != expected) { eel_report_check_failure (eel_strdup_boolean (result), eel_strdup_boolean (expected)); } eel_after_check (); } void eel_check_rectangle_result (EelIRect result, int expected_x0, int expected_y0, int expected_x1, int expected_y1) { if (result.x0 != expected_x0 || result.y0 != expected_y0 || result.x1 != expected_x1 || result.y1 != expected_y1) { eel_report_check_failure (g_strdup_printf ("x0=%d, y0=%d, x1=%d, y1=%d", result.x0, result.y0, result.x1, result.y1), g_strdup_printf ("x0=%d, y0=%d, x1=%d, y1=%d", expected_x0, expected_y0, expected_x1, expected_y1)); } eel_after_check (); } void eel_check_integer_result (long result, long expected) { if (result != expected) { eel_report_check_failure (g_strdup_printf ("%ld", result), g_strdup_printf ("%ld", expected)); } eel_after_check (); } void eel_check_double_result (double result, double expected) { if (result != expected) { eel_report_check_failure (g_strdup_printf ("%f", result), g_strdup_printf ("%f", expected)); } eel_after_check (); } void eel_check_string_result (char *result, const char *expected) { gboolean match; /* Stricter than eel_strcmp. * NULL does not match "" in this test. */ if (expected == NULL) { match = result == NULL; } else { match = result != NULL && strcmp (result, expected) == 0; } if (!match) { eel_report_check_failure (result, g_strdup (expected)); } else { g_free (result); } eel_after_check (); } void eel_before_check_function (const char *name) { fprintf (stderr, "running %s\n", name); } void eel_after_check_function (void) { } #endif /* ! EEL_OMIT_SELF_CHECK */ nemo-1.8.4/eel/eel-self-checks.h000066400000000000000000000064431216702421000163340ustar00rootroot00000000000000/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- eel-self-checks.h: The self-check framework. Copyright (C) 1999 Eazel, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street - Suite 500, Boston, MA 02110-1335, USA. Author: Darin Adler */ #ifndef EEL_SELF_CHECKS_H #define EEL_SELF_CHECKS_H #include #include #define EEL_CHECK_RESULT(type, expression, expected_value) \ G_STMT_START { \ eel_before_check (#expression, __FILE__, __LINE__); \ eel_check_##type##_result (expression, expected_value); \ } G_STMT_END #define EEL_CHECK_BOOLEAN_RESULT(expression, expected_value) \ EEL_CHECK_RESULT(boolean, expression, expected_value) #define EEL_CHECK_INTEGER_RESULT(expression, expected_value) \ EEL_CHECK_RESULT(integer, expression, expected_value) #define EEL_CHECK_DOUBLE_RESULT(expression, expected_value) \ EEL_CHECK_RESULT(double, expression, expected_value) #define EEL_CHECK_STRING_RESULT(expression, expected_value) \ EEL_CHECK_RESULT(string, expression, expected_value) #define EEL_CHECK_RECTANGLE_RESULT(expression, expected_x0, expected_y0, expected_x1, expected_y1) \ G_STMT_START { \ eel_before_check (#expression, __FILE__, __LINE__); \ eel_check_rectangle_result (expression, expected_x0, expected_y0, expected_x1, expected_y1); \ } G_STMT_END void eel_exit_if_self_checks_failed (void); void eel_before_check_function (const char *name); void eel_after_check_function (void); void eel_before_check (const char *expression, const char *file_name, int line_number); void eel_after_check (void); /* Both 'result' and 'expected' get freed with g_free */ void eel_report_check_failure (char *result, char *expected); void eel_check_boolean_result (gboolean result, gboolean expected_value); void eel_check_integer_result (long result, long expected_value); void eel_check_double_result (double result, double expected_value); void eel_check_rectangle_result (EelIRect result, int expected_x0, int expected_y0, int expected_x1, int expected_y1); void eel_check_string_result (char *result, const char *expected_value); #define EEL_SELF_CHECK_FUNCTION_PROTOTYPE(function) \ void function (void); #define EEL_CALL_SELF_CHECK_FUNCTION(function) \ eel_before_check_function (#function); \ function (); \ eel_after_check_function (); #endif /* EEL_SELF_CHECKS_H */ nemo-1.8.4/eel/eel-stock-dialogs.c000066400000000000000000000367641216702421000167140ustar00rootroot00000000000000/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */ /* eel-stock-dialogs.c: Various standard dialogs for Eel. Copyright (C) 2000 Eazel, Inc. The Gnome Library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. The Gnome Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with the Gnome Library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 51 Franklin Street - Suite 500, Boston, MA 02110-1335, USA. Authors: Darin Adler */ #include #include "eel-stock-dialogs.h" #include "eel-glib-extensions.h" #include "eel-gtk-extensions.h" #include #include #define TIMED_WAIT_STANDARD_DURATION 2000 #define TIMED_WAIT_MIN_TIME_UP 3000 #define TIMED_WAIT_MINIMUM_DIALOG_WIDTH 300 #define RESPONSE_DETAILS 1000 typedef struct { EelCancelCallback cancel_callback; gpointer callback_data; /* Parameters for creation of the window. */ char *wait_message; GtkWindow *parent_window; /* Timer to determine when we need to create the window. */ guint timeout_handler_id; /* Window, once it's created. */ GtkDialog *dialog; /* system time (microseconds) when dialog was created */ gint64 dialog_creation_time; } TimedWait; static GHashTable *timed_wait_hash_table; static void timed_wait_dialog_destroy_callback (GtkWidget *object, gpointer callback_data); static guint timed_wait_hash (gconstpointer value) { const TimedWait *wait; wait = value; return GPOINTER_TO_UINT (wait->cancel_callback) ^ GPOINTER_TO_UINT (wait->callback_data); } static gboolean timed_wait_hash_equal (gconstpointer value1, gconstpointer value2) { const TimedWait *wait1, *wait2; wait1 = value1; wait2 = value2; return wait1->cancel_callback == wait2->cancel_callback && wait1->callback_data == wait2->callback_data; } static void timed_wait_delayed_close_destroy_dialog_callback (GtkWidget *object, gpointer callback_data) { g_source_remove (GPOINTER_TO_UINT (callback_data)); } static gboolean timed_wait_delayed_close_timeout_callback (gpointer callback_data) { guint handler_id; handler_id = GPOINTER_TO_UINT (g_object_get_data (G_OBJECT (callback_data), "eel-stock-dialogs/delayed_close_handler_timeout_id")); g_signal_handlers_disconnect_by_func (G_OBJECT (callback_data), G_CALLBACK (timed_wait_delayed_close_destroy_dialog_callback), GUINT_TO_POINTER (handler_id)); gtk_widget_destroy (GTK_WIDGET (callback_data)); return FALSE; } static void timed_wait_free (TimedWait *wait) { guint delayed_close_handler_id; guint64 time_up; g_assert (g_hash_table_lookup (timed_wait_hash_table, wait) != NULL); g_hash_table_remove (timed_wait_hash_table, wait); g_free (wait->wait_message); if (wait->parent_window != NULL) { g_object_unref (wait->parent_window); } if (wait->timeout_handler_id != 0) { g_source_remove (wait->timeout_handler_id); } if (wait->dialog != NULL) { /* Make sure to detach from the "destroy" signal, or we'll * double-free. */ g_signal_handlers_disconnect_by_func (G_OBJECT (wait->dialog), G_CALLBACK (timed_wait_dialog_destroy_callback), wait); /* compute time up in milliseconds */ time_up = (eel_get_system_time () - wait->dialog_creation_time) / 1000; if (time_up < TIMED_WAIT_MIN_TIME_UP) { delayed_close_handler_id = g_timeout_add (TIMED_WAIT_MIN_TIME_UP - time_up, timed_wait_delayed_close_timeout_callback, wait->dialog); g_object_set_data (G_OBJECT (wait->dialog), "eel-stock-dialogs/delayed_close_handler_timeout_id", GUINT_TO_POINTER (delayed_close_handler_id)); g_signal_connect (wait->dialog, "destroy", G_CALLBACK (timed_wait_delayed_close_destroy_dialog_callback), GUINT_TO_POINTER (delayed_close_handler_id)); } else { gtk_widget_destroy (GTK_WIDGET (wait->dialog)); } } /* And the wait object itself. */ g_free (wait); } static void timed_wait_dialog_destroy_callback (GtkWidget *object, gpointer callback_data) { TimedWait *wait; wait = callback_data; g_assert (GTK_DIALOG (object) == wait->dialog); wait->dialog = NULL; /* When there's no cancel_callback, the originator will/must * call eel_timed_wait_stop which will call timed_wait_free. */ if (wait->cancel_callback != NULL) { (* wait->cancel_callback) (wait->callback_data); timed_wait_free (wait); } } static void trash_dialog_response_callback (GtkDialog *dialog, int response_id, TimedWait *wait) { gtk_widget_destroy (GTK_WIDGET (dialog)); } static gboolean timed_wait_callback (gpointer callback_data) { TimedWait *wait; GtkDialog *dialog; const char *button; wait = callback_data; /* Put up the timed wait window. */ button = wait->cancel_callback != NULL ? GTK_STOCK_CANCEL : GTK_STOCK_OK; dialog = GTK_DIALOG (gtk_message_dialog_new (wait->parent_window, 0, GTK_MESSAGE_INFO, GTK_BUTTONS_NONE, NULL)); g_object_set (dialog, "text", wait->wait_message, "secondary-text", _("You can stop this operation by clicking cancel."), NULL); gtk_dialog_add_button (GTK_DIALOG (dialog), button, GTK_RESPONSE_OK); gtk_dialog_set_default_response (GTK_DIALOG (dialog), GTK_RESPONSE_OK); /* The contents are often very small, causing tiny little * dialogs with their titles clipped if you just let gtk * sizing do its thing. This enforces a minimum width to * make it more likely that the title won't be clipped. */ gtk_window_set_default_size (GTK_WINDOW (dialog), TIMED_WAIT_MINIMUM_DIALOG_WIDTH, -1); wait->dialog_creation_time = eel_get_system_time (); gtk_widget_show (GTK_WIDGET (dialog)); /* FIXME bugzilla.eazel.com 2441: * Could parent here, but it's complicated because we * don't want this window to go away just because the parent * would go away first. */ /* Make the dialog cancel the timed wait when it goes away. * Connect to "destroy" instead of "response" since we want * to be called no matter how the dialog goes away. */ g_signal_connect (dialog, "destroy", G_CALLBACK (timed_wait_dialog_destroy_callback), wait); g_signal_connect (dialog, "response", G_CALLBACK (trash_dialog_response_callback), wait); wait->timeout_handler_id = 0; wait->dialog = dialog; return FALSE; } void eel_timed_wait_start_with_duration (int duration, EelCancelCallback cancel_callback, gpointer callback_data, const char *wait_message, GtkWindow *parent_window) { TimedWait *wait; g_return_if_fail (callback_data != NULL); g_return_if_fail (wait_message != NULL); g_return_if_fail (parent_window == NULL || GTK_IS_WINDOW (parent_window)); /* Create the timed wait record. */ wait = g_new0 (TimedWait, 1); wait->wait_message = g_strdup (wait_message); wait->cancel_callback = cancel_callback; wait->callback_data = callback_data; wait->parent_window = parent_window; if (parent_window != NULL) { g_object_ref (parent_window); } /* Start the timer. */ wait->timeout_handler_id = g_timeout_add (duration, timed_wait_callback, wait); /* Put in the hash table so we can find it later. */ if (timed_wait_hash_table == NULL) { timed_wait_hash_table = g_hash_table_new (timed_wait_hash, timed_wait_hash_equal); } g_assert (g_hash_table_lookup (timed_wait_hash_table, wait) == NULL); g_hash_table_insert (timed_wait_hash_table, wait, wait); g_assert (g_hash_table_lookup (timed_wait_hash_table, wait) == wait); } void eel_timed_wait_start (EelCancelCallback cancel_callback, gpointer callback_data, const char *wait_message, GtkWindow *parent_window) { eel_timed_wait_start_with_duration (TIMED_WAIT_STANDARD_DURATION, cancel_callback, callback_data, wait_message, parent_window); } void eel_timed_wait_stop (EelCancelCallback cancel_callback, gpointer callback_data) { TimedWait key; TimedWait *wait; g_return_if_fail (callback_data != NULL); key.cancel_callback = cancel_callback; key.callback_data = callback_data; wait = g_hash_table_lookup (timed_wait_hash_table, &key); g_return_if_fail (wait != NULL); timed_wait_free (wait); } int eel_run_simple_dialog (GtkWidget *parent, gboolean ignore_close_box, GtkMessageType message_type, const char *primary_text, const char *secondary_text, ...) { va_list button_title_args; const char *button_title; GtkWidget *dialog; GtkWidget *top_widget, *chosen_parent; int result; int response_id; /* Parent it if asked to. */ chosen_parent = NULL; if (parent != NULL) { top_widget = gtk_widget_get_toplevel (parent); if (GTK_IS_WINDOW (top_widget)) { chosen_parent = top_widget; } } /* Create the dialog. */ dialog = gtk_message_dialog_new (GTK_WINDOW (chosen_parent), 0, message_type, GTK_BUTTONS_NONE, NULL); g_object_set (dialog, "text", primary_text, "secondary-text", secondary_text, NULL); va_start (button_title_args, secondary_text); response_id = 0; while (1) { button_title = va_arg (button_title_args, const char *); if (button_title == NULL) { break; } gtk_dialog_add_button (GTK_DIALOG (dialog), button_title, response_id); gtk_dialog_set_default_response (GTK_DIALOG (dialog), response_id); response_id++; } va_end (button_title_args); /* Run it. */ gtk_widget_show (dialog); result = gtk_dialog_run (GTK_DIALOG (dialog)); while ((result == GTK_RESPONSE_NONE || result == GTK_RESPONSE_DELETE_EVENT) && ignore_close_box) { gtk_widget_show (GTK_WIDGET (dialog)); result = gtk_dialog_run (GTK_DIALOG (dialog)); } gtk_widget_destroy (dialog); return result; } static GtkDialog * create_message_dialog (const char *primary_text, const char *secondary_text, GtkMessageType type, GtkButtonsType buttons_type, GtkWindow *parent) { GtkWidget *dialog; dialog = gtk_message_dialog_new (parent, 0, type, buttons_type, NULL); g_object_set (dialog, "text", primary_text, "secondary-text", secondary_text, NULL); return GTK_DIALOG (dialog); } static GtkDialog * show_message_dialog (const char *primary_text, const char *secondary_text, GtkMessageType type, GtkButtonsType buttons_type, const char *details_text, GtkWindow *parent) { GtkDialog *dialog; dialog = create_message_dialog (primary_text, secondary_text, type, buttons_type, parent); if (details_text != NULL) { eel_gtk_message_dialog_set_details_label (GTK_MESSAGE_DIALOG (dialog), details_text); } gtk_widget_show (GTK_WIDGET (dialog)); g_signal_connect (dialog, "response", G_CALLBACK (gtk_widget_destroy), NULL); return dialog; } static GtkDialog * show_ok_dialog (const char *primary_text, const char *secondary_text, GtkMessageType type, GtkWindow *parent) { GtkDialog *dialog; dialog = show_message_dialog (primary_text, secondary_text, type, GTK_BUTTONS_OK, NULL, parent); gtk_dialog_set_default_response (GTK_DIALOG (dialog), GTK_RESPONSE_OK); return dialog; } GtkDialog * eel_create_info_dialog (const char *primary_text, const char *secondary_text, GtkWindow *parent) { return create_message_dialog (primary_text, secondary_text, GTK_MESSAGE_INFO, GTK_BUTTONS_OK, parent); } GtkDialog * eel_show_info_dialog (const char *primary_text, const char *secondary_text, GtkWindow *parent) { return show_ok_dialog (primary_text, secondary_text, GTK_MESSAGE_INFO, parent); } GtkDialog * eel_show_info_dialog_with_details (const char *primary_text, const char *secondary_text, const char *detailed_info, GtkWindow *parent) { GtkDialog *dialog; if (detailed_info == NULL || strcmp (primary_text, detailed_info) == 0) { return eel_show_info_dialog (primary_text, secondary_text, parent); } dialog = show_message_dialog (primary_text, secondary_text, GTK_MESSAGE_INFO, GTK_BUTTONS_OK, detailed_info, parent); return dialog; } GtkDialog * eel_show_warning_dialog (const char *primary_text, const char *secondary_text, GtkWindow *parent) { return show_ok_dialog (primary_text, secondary_text, GTK_MESSAGE_WARNING, parent); } GtkDialog * eel_show_error_dialog (const char *primary_text, const char *secondary_text, GtkWindow *parent) { return show_ok_dialog (primary_text, secondary_text, GTK_MESSAGE_ERROR, parent); } GtkDialog * eel_show_error_dialog_with_details (const char *primary_text, const char *secondary_text, const char *detailed_error_message, GtkWindow *parent) { GtkDialog *dialog; g_return_val_if_fail (primary_text != NULL, NULL); g_return_val_if_fail (parent == NULL || GTK_IS_WINDOW (parent), NULL); if (detailed_error_message == NULL || strcmp (primary_text, detailed_error_message) == 0) { return eel_show_error_dialog (primary_text, secondary_text, parent); } dialog = show_message_dialog (primary_text, secondary_text, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, detailed_error_message, parent); return dialog; } /** * eel_show_yes_no_dialog: * * Create and show a dialog asking a question with two choices. * The caller needs to set up any necessary callbacks * for the buttons. Use eel_create_question_dialog instead * if any visual changes need to be made, to avoid flashiness. * @question: The text of the question. * @yes_label: The label of the "yes" button. * @no_label: The label of the "no" button. * @parent: The parent window for this dialog. */ GtkDialog * eel_show_yes_no_dialog (const char *primary_text, const char *secondary_text, const char *yes_label, const char *no_label, GtkWindow *parent) { GtkDialog *dialog = NULL; dialog = eel_create_question_dialog (primary_text, secondary_text, no_label, GTK_RESPONSE_CANCEL, yes_label, GTK_RESPONSE_YES, GTK_WINDOW (parent)); gtk_widget_show (GTK_WIDGET (dialog)); return dialog; } /** * eel_create_question_dialog: * * Create a dialog asking a question with at least two choices. * The caller needs to set up any necessary callbacks * for the buttons. The dialog is not yet shown, so that the * caller can add additional buttons or make other visual changes * without causing flashiness. * @question: The text of the question. * @answer_0: The label of the leftmost button (index 0) * @answer_1: The label of the 2nd-to-leftmost button (index 1) * @parent: The parent window for this dialog. */ GtkDialog * eel_create_question_dialog (const char *primary_text, const char *secondary_text, const char *answer_1, int response_1, const char *answer_2, int response_2, GtkWindow *parent) { GtkDialog *dialog; dialog = create_message_dialog (primary_text, secondary_text, GTK_MESSAGE_QUESTION, GTK_BUTTONS_NONE, parent); gtk_dialog_add_buttons (dialog, answer_1, response_1, answer_2, response_2, NULL); return dialog; } nemo-1.8.4/eel/eel-stock-dialogs.h000066400000000000000000000100621216702421000167000ustar00rootroot00000000000000/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */ /* eel-stock-dialogs.h: Various standard dialogs for Eel. Copyright (C) 2000 Eazel, Inc. The Gnome Library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. The Gnome Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with the Gnome Library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 51 Franklin Street - Suite 500, Boston, MA 02110-1335, USA. Authors: Darin Adler */ #ifndef EEL_STOCK_DIALOGS_H #define EEL_STOCK_DIALOGS_H #include typedef void (* EelCancelCallback) (gpointer callback_data); /* Dialog for cancelling something that normally is fast enough not to need a dialog. */ void eel_timed_wait_start (EelCancelCallback cancel_callback, gpointer callback_data, const char *wait_message, GtkWindow *parent_window); void eel_timed_wait_start_with_duration (int duration, EelCancelCallback cancel_callback, gpointer callback_data, const char *wait_message, GtkWindow *parent_window); void eel_timed_wait_stop (EelCancelCallback cancel_callback, gpointer callback_data); /* Basic dialog with buttons. */ int eel_run_simple_dialog (GtkWidget *parent, gboolean ignore_close_box, GtkMessageType message_type, const char *primary_text, const char *secondary_text, ...); /* Variations on gnome stock dialogs; these do line wrapping, we don't * bother with non-parented versions, we allow setting the title, * primary, and secondary messages, and we return GtkDialog pointers * instead of GtkWidget pointers. */ GtkDialog *eel_show_info_dialog (const char *primary_text, const char *secondary_text, GtkWindow *parent); GtkDialog *eel_show_info_dialog_with_details (const char *primary_text, const char *secondary_text, const char *detailed_informative_message, GtkWindow *parent); GtkDialog *eel_show_warning_dialog (const char *primary_text, const char *secondary_text, GtkWindow *parent); GtkDialog *eel_show_error_dialog (const char *primary_text, const char *secondary_text, GtkWindow *parent); GtkDialog *eel_show_error_dialog_with_details (const char *primary_text, const char *secondary_text, const char *detailed_error_message, GtkWindow *parent); GtkDialog *eel_show_yes_no_dialog (const char *primary_text, const char *secondary_text, const char *yes_label, const char *no_label, GtkWindow *parent); GtkDialog *eel_create_question_dialog (const char *primary_text, const char *secondary_text, const char *answer_one, int response_one, const char *answer_two, int response_two, GtkWindow *parent); GtkDialog *eel_create_info_dialog (const char *primary_text, const char *secondary_text, GtkWindow *parent); #endif /* EEL_STOCK_DIALOGS_H */ nemo-1.8.4/eel/eel-string.c000066400000000000000000000512341216702421000154440ustar00rootroot00000000000000/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- eel-string.c: String routines to augment . Copyright (C) 2000 Eazel, Inc. The Gnome Library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. The Gnome Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with the Gnome Library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 51 Franklin Street - Suite 500, Boston, MA 02110-1335, USA. Authors: Darin Adler */ #include #include "eel-string.h" #include #include #include #include #include #if !defined (EEL_OMIT_SELF_CHECK) #include "eel-lib-self-check-functions.h" #endif gboolean eel_str_is_empty (const char *string_or_null) { return g_strcmp0 (string_or_null, NULL) == 0; } gboolean eel_istr_has_prefix (const char *haystack, const char *needle) { const char *h, *n; char hc, nc; /* Eat one character at a time. */ h = haystack == NULL ? "" : haystack; n = needle == NULL ? "" : needle; do { if (*n == '\0') { return TRUE; } if (*h == '\0') { return FALSE; } hc = *h++; nc = *n++; hc = g_ascii_tolower (hc); nc = g_ascii_tolower (nc); } while (hc == nc); return FALSE; } char * eel_str_double_underscores (const char *string) { int underscores; const char *p; char *q; char *escaped; if (string == NULL) { return NULL; } underscores = 0; for (p = string; *p != '\0'; p++) { underscores += (*p == '_'); } if (underscores == 0) { return g_strdup (string); } escaped = g_new (char, strlen (string) + underscores + 1); for (p = string, q = escaped; *p != '\0'; p++, q++) { /* Add an extra underscore. */ if (*p == '_') { *q++ = '_'; } *q = *p; } *q = '\0'; return escaped; } char * eel_str_capitalize (const char *string) { char *capitalized; if (string == NULL) { return NULL; } capitalized = g_strdup (string); capitalized[0] = g_ascii_toupper (capitalized[0]); return capitalized; } /* Note: eel_string_ellipsize_* that use a length in pixels * rather than characters can be found in eel_gdk_extensions.h * * FIXME bugzilla.eazel.com 5089: * we should coordinate the names of eel_string_ellipsize_* * and eel_str_*_truncate so that they match better and reflect * their different behavior. */ char * eel_str_middle_truncate (const char *string, guint truncate_length) { char *truncated; guint length; guint num_left_chars; guint num_right_chars; const char delimter[] = "..."; const guint delimter_length = strlen (delimter); const guint min_truncate_length = delimter_length + 2; if (string == NULL) { return NULL; } /* It doesnt make sense to truncate strings to less than * the size of the delimiter plus 2 characters (one on each * side) */ if (truncate_length < min_truncate_length) { return g_strdup (string); } length = g_utf8_strlen (string, -1); /* Make sure the string is not already small enough. */ if (length <= truncate_length) { return g_strdup (string); } /* Find the 'middle' where the truncation will occur. */ num_left_chars = (truncate_length - delimter_length) / 2; num_right_chars = truncate_length - num_left_chars - delimter_length; truncated = g_new (char, strlen (string) + 1); g_utf8_strncpy (truncated, string, num_left_chars); strcat (truncated, delimter); strcat (truncated, g_utf8_offset_to_pointer (string, length - num_right_chars)); return truncated; } char * eel_str_strip_substring_and_after (const char *string, const char *substring) { const char *substring_position; g_return_val_if_fail (substring != NULL, g_strdup (string)); g_return_val_if_fail (substring[0] != '\0', g_strdup (string)); if (string == NULL) { return NULL; } substring_position = strstr (string, substring); if (substring_position == NULL) { return g_strdup (string); } return g_strndup (string, substring_position - string); } char * eel_str_replace_substring (const char *string, const char *substring, const char *replacement) { int substring_length, replacement_length, result_length, remaining_length; const char *p, *substring_position; char *result, *result_position; g_return_val_if_fail (substring != NULL, g_strdup (string)); g_return_val_if_fail (substring[0] != '\0', g_strdup (string)); if (string == NULL) { return NULL; } substring_length = substring ? strlen (substring) : 0; replacement_length = replacement ? strlen (replacement) : 0; result_length = strlen (string); for (p = string; ; p = substring_position + substring_length) { substring_position = strstr (p, substring); if (substring_position == NULL) { break; } result_length += replacement_length - substring_length; } result = g_malloc (result_length + 1); result_position = result; for (p = string; ; p = substring_position + substring_length) { substring_position = strstr (p, substring); if (substring_position == NULL) { remaining_length = strlen (p); memcpy (result_position, p, remaining_length); result_position += remaining_length; break; } memcpy (result_position, p, substring_position - p); result_position += substring_position - p; memcpy (result_position, replacement, replacement_length); result_position += replacement_length; } g_assert (result_position - result == result_length); result_position[0] = '\0'; return result; } /**************** Custom printf ***********/ typedef struct { const char *start; const char *end; GString *format; int arg_pos; int width_pos; int width_format_index; int precision_pos; int precision_format_index; } ConversionInfo; enum { ARG_TYPE_INVALID, ARG_TYPE_INT, ARG_TYPE_LONG, ARG_TYPE_LONG_LONG, ARG_TYPE_SIZE, ARG_TYPE_LONG_DOUBLE, ARG_TYPE_DOUBLE, ARG_TYPE_POINTER }; typedef int ArgType; /* An int, because custom are < 0 */ static const char * get_position (const char *format, int *i) { const char *p; p = format; if (g_ascii_isdigit (*p)) { p++; while (g_ascii_isdigit (*p)) { p++; } if (*p == '$') { if (i != NULL) { *i = atoi (format) - 1; } return p + 1; } } return format; } static gboolean is_flag (char c) { return strchr ("#0- +'I", c) != NULL; } static gboolean is_length_modifier (char c) { return strchr ("hlLjzt", c) != NULL; } static ArgType get_arg_type_from_format (EelPrintfHandler *custom_handlers, const char *format, int len) { int i; char c; c = format[len-1]; if (custom_handlers != NULL) { for (i = 0; custom_handlers[i].character != 0; i++) { if (custom_handlers[i].character == c) { return -(i + 1); } } } switch (c) { case 'd': case 'i': case 'o': case 'u': case 'x': case 'X': if (g_str_has_prefix (format, "ll")) { return ARG_TYPE_LONG_LONG; } if (g_str_has_prefix (format, "l")) { return ARG_TYPE_LONG; } if (g_str_has_prefix (format, "l")) { return ARG_TYPE_LONG; } if (g_str_has_prefix (format, "z")) { return ARG_TYPE_SIZE; } return ARG_TYPE_INT; case 'e': case 'E': case 'f': case 'F': case 'g': case 'G': case 'a': case 'A': if (g_str_has_prefix (format, "L")) { return ARG_TYPE_LONG_DOUBLE; } return ARG_TYPE_DOUBLE; case 'c': return ARG_TYPE_INT; case 's': case 'p': case 'n': return ARG_TYPE_POINTER; } return ARG_TYPE_INVALID; } static void skip_argv (va_list *va, ArgType type, EelPrintfHandler *custom_handlers) { if (type < 0) { custom_handlers[-type - 1].skip (va); return; } switch (type) { default: case ARG_TYPE_INVALID: return; case ARG_TYPE_INT: (void) va_arg (*va, int); break; case ARG_TYPE_LONG: (void) va_arg (*va, long int); break; case ARG_TYPE_LONG_LONG: (void) va_arg (*va, long long int); break; case ARG_TYPE_SIZE: (void) va_arg (*va, gsize); break; case ARG_TYPE_LONG_DOUBLE: (void) va_arg (*va, long double); break; case ARG_TYPE_DOUBLE: (void) va_arg (*va, double); break; case ARG_TYPE_POINTER: (void) va_arg (*va, void *); break; } } static void skip_to_arg (va_list *va, ArgType *types, EelPrintfHandler *custom_handlers, int n) { int i; for (i = 0; i < n; i++) { skip_argv (va, types[i], custom_handlers); } } char * eel_strdup_vprintf_with_custom (EelPrintfHandler *custom, const char *format, va_list va_orig) { va_list va; const char *p; int num_args, i, j; ArgType *args; ArgType type; ConversionInfo *conversions; GString *f, *str; const char *flags, *width, *prec, *mod, *pos; char *s; num_args = 0; for (p = format; *p != 0; p++) { if (*p == '%') { p++; if (*p != '%') { num_args++; } } } args = g_new0 (ArgType, num_args * 3 + 1); conversions = g_new0 (ConversionInfo, num_args); /* i indexes conversions, j indexes args */ i = 0; j = 0; p = format; while (*p != 0) { if (*p != '%') { p++; continue; } p++; if (*p == '%') { p++; continue; } /* We got a real conversion: */ f = g_string_new ("%"); conversions[i].start = p - 1; /* First comes the positional arg */ pos = p; p = get_position (p, NULL); /* Then flags */ flags = p; while (is_flag (*p)) { p++; } g_string_append_len (f, flags, p - flags); /* Field width */ if (*p == '*') { p++; p = get_position (p, &j); args[j] = ARG_TYPE_INT; conversions[i].width_pos = j++; conversions[i].width_format_index = f->len; } else { conversions[i].width_pos = -1; conversions[i].width_format_index = -1; width = p; while (g_ascii_isdigit (*p)) { p++; } g_string_append_len (f, width, p - width); } /* Precision */ conversions[i].precision_pos = -1; conversions[i].precision_format_index = -1; if (*p == '.') { g_string_append_c (f, '.'); p++; if (*p == '*') { p++; p = get_position (p, &j); args[j] = ARG_TYPE_INT; conversions[i].precision_pos = j++; conversions[i].precision_format_index = f->len; } else { prec = p; while (g_ascii_isdigit (*p) || *p == '-') { p++; } g_string_append_len (f, prec, p - prec); } } /* length modifier */ mod = p; while (is_length_modifier (*p)) { p++; } /* conversion specifier */ if (*p != 0) p++; g_string_append_len (f, mod, p - mod); get_position (pos, &j); args[j] = get_arg_type_from_format (custom, mod, p - mod); conversions[i].arg_pos = j++; conversions[i].format = f; conversions[i].end = p; i++; } g_assert (i == num_args); str = g_string_new (""); p = format; for (i = 0; i < num_args; i++) { g_string_append_len (str, p, conversions[i].start - p); p = conversions[i].end; if (conversions[i].precision_pos != -1) { char *val; G_VA_COPY(va, va_orig); skip_to_arg (&va, args, custom, conversions[i].precision_pos); val = g_strdup_vprintf ("%d", va); va_end (va); g_string_insert (conversions[i].format, conversions[i].precision_format_index, val); g_free (val); } if (conversions[i].width_pos != -1) { char *val; G_VA_COPY(va, va_orig); skip_to_arg (&va, args, custom, conversions[i].width_pos); val = g_strdup_vprintf ("%d", va); va_end (va); g_string_insert (conversions[i].format, conversions[i].width_format_index, val); g_free (val); } G_VA_COPY(va, va_orig); skip_to_arg (&va, args, custom, conversions[i].arg_pos); type = args[conversions[i].arg_pos]; if (type < 0) { s = custom[-type - 1].to_string (conversions[i].format->str, va); g_string_append (str, s); g_free (s); } else{ g_string_append_vprintf (str, conversions[i].format->str, va); } va_end (va); g_string_free (conversions[i].format, TRUE); } g_string_append (str, p); g_free (args); g_free (conversions); return g_string_free (str, FALSE); } char * eel_strdup_printf_with_custom (EelPrintfHandler *handlers, const char *format, ...) { va_list va; char *res; va_start (va, format); res = eel_strdup_vprintf_with_custom (handlers, format, va); va_end (va); return res; } /*********** refcounted strings ****************/ G_LOCK_DEFINE_STATIC (unique_ref_strs); static GHashTable *unique_ref_strs = NULL; static eel_ref_str eel_ref_str_new_internal (const char *string, int start_count) { char *res; volatile gint *count; gsize len; len = strlen (string); res = g_malloc (sizeof (gint) + len + 1); count = (volatile gint *)res; *count = start_count; res += sizeof(gint); memcpy (res, string, len + 1); return res; } eel_ref_str eel_ref_str_new (const char *string) { if (string == NULL) { return NULL; } return eel_ref_str_new_internal (string, 1); } eel_ref_str eel_ref_str_get_unique (const char *string) { eel_ref_str res; if (string == NULL) { return NULL; } G_LOCK (unique_ref_strs); if (unique_ref_strs == NULL) { unique_ref_strs = g_hash_table_new (g_str_hash, g_str_equal); } res = g_hash_table_lookup (unique_ref_strs, string); if (res != NULL) { eel_ref_str_ref (res); } else { res = eel_ref_str_new_internal (string, 0x80000001); g_hash_table_insert (unique_ref_strs, res, res); } G_UNLOCK (unique_ref_strs); return res; } eel_ref_str eel_ref_str_ref (eel_ref_str str) { volatile gint *count; count = (volatile gint *)((char *)str - sizeof (gint)); g_atomic_int_add (count, 1); return str; } void eel_ref_str_unref (eel_ref_str str) { volatile gint *count; gint old_ref; if (str == NULL) return; count = (volatile gint *)((char *)str - sizeof (gint)); retry_atomic_decrement: old_ref = g_atomic_int_get (count); if (old_ref == 1) { g_free ((char *)count); } else if (old_ref == 0x80000001) { G_LOCK (unique_ref_strs); /* Need to recheck after taking lock to avoid races with _get_unique() */ if (g_atomic_int_add (count, -1) == 0x80000001) { g_hash_table_remove (unique_ref_strs, (char *)str); g_free ((char *)count); } G_UNLOCK (unique_ref_strs); } else if (!g_atomic_int_compare_and_exchange (count, old_ref, old_ref - 1)) { goto retry_atomic_decrement; } } #if !defined (EEL_OMIT_SELF_CHECK) static void verify_printf (const char *format, ...) { va_list va; char *orig, *new; va_start (va, format); orig = g_strdup_vprintf (format, va); va_end (va); va_start (va, format); new = eel_strdup_vprintf_with_custom (NULL, format, va); va_end (va); EEL_CHECK_STRING_RESULT (new, orig); g_free (orig); } static char * custom1_to_string (char *format, va_list va) { int i; i = va_arg (va, int); return g_strdup_printf ("c1-%d-", i); } static void custom1_skip (va_list *va) { (void) va_arg (*va, int); } static char * custom2_to_string (char *format, va_list va) { char *s; s = va_arg (va, char *); return g_strdup_printf ("c2-%s-", s); } static void custom2_skip (va_list *va) { (void) va_arg (*va, char *); } static EelPrintfHandler handlers[] = { { 'N', custom1_to_string, custom1_skip }, { 'Y', custom2_to_string, custom2_skip }, { 0 } }; static void verify_custom (const char *orig, const char *format, ...) { char *new; va_list va; va_start (va, format); new = eel_strdup_vprintf_with_custom (handlers, format, va); va_end (va); EEL_CHECK_STRING_RESULT (new, orig); } void eel_self_check_string (void) { EEL_CHECK_STRING_RESULT (eel_str_double_underscores (NULL), NULL); EEL_CHECK_STRING_RESULT (eel_str_double_underscores (""), ""); EEL_CHECK_STRING_RESULT (eel_str_double_underscores ("_"), "__"); EEL_CHECK_STRING_RESULT (eel_str_double_underscores ("foo"), "foo"); EEL_CHECK_STRING_RESULT (eel_str_double_underscores ("foo_bar"), "foo__bar"); EEL_CHECK_STRING_RESULT (eel_str_double_underscores ("foo_bar_2"), "foo__bar__2"); EEL_CHECK_STRING_RESULT (eel_str_double_underscores ("_foo"), "__foo"); EEL_CHECK_STRING_RESULT (eel_str_double_underscores ("foo_"), "foo__"); EEL_CHECK_STRING_RESULT (eel_str_capitalize (NULL), NULL); EEL_CHECK_STRING_RESULT (eel_str_capitalize (""), ""); EEL_CHECK_STRING_RESULT (eel_str_capitalize ("foo"), "Foo"); EEL_CHECK_STRING_RESULT (eel_str_capitalize ("Foo"), "Foo"); EEL_CHECK_STRING_RESULT (eel_str_middle_truncate ("foo", 0), "foo"); EEL_CHECK_STRING_RESULT (eel_str_middle_truncate ("foo", 1), "foo"); EEL_CHECK_STRING_RESULT (eel_str_middle_truncate ("foo", 3), "foo"); EEL_CHECK_STRING_RESULT (eel_str_middle_truncate ("foo", 4), "foo"); EEL_CHECK_STRING_RESULT (eel_str_middle_truncate ("foo", 5), "foo"); EEL_CHECK_STRING_RESULT (eel_str_middle_truncate ("foo", 6), "foo"); EEL_CHECK_STRING_RESULT (eel_str_middle_truncate ("foo", 7), "foo"); EEL_CHECK_STRING_RESULT (eel_str_middle_truncate ("a_much_longer_foo", 0), "a_much_longer_foo"); EEL_CHECK_STRING_RESULT (eel_str_middle_truncate ("a_much_longer_foo", 1), "a_much_longer_foo"); EEL_CHECK_STRING_RESULT (eel_str_middle_truncate ("a_much_longer_foo", 2), "a_much_longer_foo"); EEL_CHECK_STRING_RESULT (eel_str_middle_truncate ("a_much_longer_foo", 3), "a_much_longer_foo"); EEL_CHECK_STRING_RESULT (eel_str_middle_truncate ("a_much_longer_foo", 4), "a_much_longer_foo"); EEL_CHECK_STRING_RESULT (eel_str_middle_truncate ("a_much_longer_foo", 5), "a...o"); EEL_CHECK_STRING_RESULT (eel_str_middle_truncate ("a_much_longer_foo", 6), "a...oo"); EEL_CHECK_STRING_RESULT (eel_str_middle_truncate ("a_much_longer_foo", 7), "a_...oo"); EEL_CHECK_STRING_RESULT (eel_str_middle_truncate ("a_much_longer_foo", 8), "a_...foo"); EEL_CHECK_STRING_RESULT (eel_str_middle_truncate ("a_much_longer_foo", 9), "a_m...foo"); EEL_CHECK_STRING_RESULT (eel_str_middle_truncate ("something_even", 8), "so...ven"); EEL_CHECK_STRING_RESULT (eel_str_middle_truncate ("something_odd", 8), "so...odd"); EEL_CHECK_STRING_RESULT (eel_str_middle_truncate ("something_even", 9), "som...ven"); EEL_CHECK_STRING_RESULT (eel_str_middle_truncate ("something_odd", 9), "som...odd"); EEL_CHECK_STRING_RESULT (eel_str_middle_truncate ("something_even", 10), "som...even"); EEL_CHECK_STRING_RESULT (eel_str_middle_truncate ("something_odd", 10), "som..._odd"); EEL_CHECK_STRING_RESULT (eel_str_middle_truncate ("something_even", 11), "some...even"); EEL_CHECK_STRING_RESULT (eel_str_middle_truncate ("something_odd", 11), "some..._odd"); EEL_CHECK_STRING_RESULT (eel_str_middle_truncate ("something_even", 12), "some..._even"); EEL_CHECK_STRING_RESULT (eel_str_middle_truncate ("something_odd", 12), "some...g_odd"); EEL_CHECK_STRING_RESULT (eel_str_middle_truncate ("something_even", 13), "somet..._even"); EEL_CHECK_STRING_RESULT (eel_str_middle_truncate ("something_odd", 13), "something_odd"); EEL_CHECK_STRING_RESULT (eel_str_middle_truncate ("something_even", 14), "something_even"); EEL_CHECK_STRING_RESULT (eel_str_middle_truncate ("something_odd", 13), "something_odd"); EEL_CHECK_STRING_RESULT (eel_str_strip_substring_and_after (NULL, "bar"), NULL); EEL_CHECK_STRING_RESULT (eel_str_strip_substring_and_after ("", "bar"), ""); EEL_CHECK_STRING_RESULT (eel_str_strip_substring_and_after ("foo", "bar"), "foo"); EEL_CHECK_STRING_RESULT (eel_str_strip_substring_and_after ("foo bar", "bar"), "foo "); EEL_CHECK_STRING_RESULT (eel_str_strip_substring_and_after ("foo bar xxx", "bar"), "foo "); EEL_CHECK_STRING_RESULT (eel_str_strip_substring_and_after ("bar", "bar"), ""); EEL_CHECK_STRING_RESULT (eel_str_replace_substring (NULL, "foo", NULL), NULL); EEL_CHECK_STRING_RESULT (eel_str_replace_substring (NULL, "foo", "bar"), NULL); EEL_CHECK_STRING_RESULT (eel_str_replace_substring ("bar", "foo", NULL), "bar"); EEL_CHECK_STRING_RESULT (eel_str_replace_substring ("", "foo", ""), ""); EEL_CHECK_STRING_RESULT (eel_str_replace_substring ("", "foo", "bar"), ""); EEL_CHECK_STRING_RESULT (eel_str_replace_substring ("bar", "foo", ""), "bar"); EEL_CHECK_STRING_RESULT (eel_str_replace_substring ("xxx", "x", "foo"), "foofoofoo"); EEL_CHECK_STRING_RESULT (eel_str_replace_substring ("fff", "f", "foo"), "foofoofoo"); EEL_CHECK_STRING_RESULT (eel_str_replace_substring ("foofoofoo", "foo", "f"), "fff"); EEL_CHECK_STRING_RESULT (eel_str_replace_substring ("foofoofoo", "f", ""), "oooooo"); verify_printf ("%.*s", 2, "foo"); verify_printf ("%*.*s", 2, 4, "foo"); verify_printf ("before %5$*1$.*2$s between %6$*3$.*4$d after", 4, 5, 6, 7, "foo", G_PI); verify_custom ("c1-42- c2-foo-","%N %Y", 42 ,"foo"); verify_custom ("c1-42- bar c2-foo-","%N %s %Y", 42, "bar" ,"foo"); verify_custom ("c1-42- bar c2-foo-","%3$N %2$s %1$Y","foo", "bar", 42); } #endif /* !EEL_OMIT_SELF_CHECK */ nemo-1.8.4/eel/eel-string.h000066400000000000000000000061571216702421000154550ustar00rootroot00000000000000/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- eel-string.h: String routines to augment . Copyright (C) 2000 Eazel, Inc. The Gnome Library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. The Gnome Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with the Gnome Library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 51 Franklin Street - Suite 500, Boston, MA 02110-1335, USA. Authors: Darin Adler */ #ifndef EEL_STRING_H #define EEL_STRING_H #include #include #include /* We use the "str" abbrevation to mean char * string, since * "string" usually means g_string instead. We use the "istr" * abbreviation to mean a case-insensitive char *. */ /* NULL is allowed for all the str parameters to these functions. */ /* Other basic string operations. */ gboolean eel_str_is_empty (const char *str_or_null); gboolean eel_str_is_equal (const char *str_a, const char *str_b); gboolean eel_istr_has_prefix (const char *target, const char *prefix); /* Escape function for '_' character. */ char * eel_str_double_underscores (const char *str); /* Capitalize a string */ char * eel_str_capitalize (const char *str); /* Middle truncate a string to a maximum of truncate_length characters. * The resulting string will be truncated in the middle with a "..." * delimiter. */ char * eel_str_middle_truncate (const char *str, guint truncate_length); /* Remove all characters after the passed-in substring. */ char * eel_str_strip_substring_and_after (const char *str, const char *substring); /* Replace all occurrences of substring with replacement. */ char * eel_str_replace_substring (const char *str, const char *substring, const char *replacement); typedef char * eel_ref_str; eel_ref_str eel_ref_str_new (const char *string); eel_ref_str eel_ref_str_get_unique (const char *string); eel_ref_str eel_ref_str_ref (eel_ref_str str); void eel_ref_str_unref (eel_ref_str str); #define eel_ref_str_peek(__str) ((const char *)(__str)) typedef struct { char character; char *(*to_string) (char *format, va_list va); void (*skip) (va_list *va); } EelPrintfHandler; char *eel_strdup_printf_with_custom (EelPrintfHandler *handlers, const char *format, ...); char *eel_strdup_vprintf_with_custom (EelPrintfHandler *custom, const char *format, va_list va); #endif /* EEL_STRING_H */ nemo-1.8.4/eel/eel-vfs-extensions.c000066400000000000000000000075051216702421000171330ustar00rootroot00000000000000/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */ /* eel-vfs-extensions.c - gnome-vfs extensions. Its likely some of these will be part of gnome-vfs in the future. Copyright (C) 1999, 2000 Eazel, Inc. The Gnome Library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. The Gnome Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with the Gnome Library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 51 Franklin Street - Suite 500, Boston, MA 02110-1335, USA. Authors: Darin Adler Pavel Cisler Mike Fleming John Sullivan */ #include #include "eel-vfs-extensions.h" #include "eel-glib-extensions.h" #include "eel-lib-self-check-functions.h" #include #include #include #include "eel-string.h" #include #include gboolean eel_uri_is_trash (const char *uri) { return eel_istr_has_prefix (uri, "trash:"); } gboolean eel_uri_is_search (const char *uri) { return eel_istr_has_prefix (uri, EEL_SEARCH_URI); } gboolean eel_uri_is_desktop (const char *uri) { return eel_istr_has_prefix (uri, EEL_DESKTOP_URI); } char * eel_make_valid_utf8 (const char *name) { GString *string; const char *remainder, *invalid; int remaining_bytes, valid_bytes; string = NULL; remainder = name; remaining_bytes = strlen (name); while (remaining_bytes != 0) { if (g_utf8_validate (remainder, remaining_bytes, &invalid)) { break; } valid_bytes = invalid - remainder; if (string == NULL) { string = g_string_sized_new (remaining_bytes); } g_string_append_len (string, remainder, valid_bytes); g_string_append_c (string, '?'); remaining_bytes -= valid_bytes + 1; remainder = invalid + 1; } if (string == NULL) { return g_strdup (name); } g_string_append (string, remainder); g_string_append (string, _(" (invalid Unicode)")); g_assert (g_utf8_validate (string->str, -1, NULL)); return g_string_free (string, FALSE); } char * eel_filename_get_extension_offset (const char *filename) { char *end, *end2; end = strrchr (filename, '.'); if (end && end != filename) { if (strcmp (end, ".gz") == 0 || strcmp (end, ".bz2") == 0 || strcmp (end, ".sit") == 0 || strcmp (end, ".Z") == 0) { end2 = end - 1; while (end2 > filename && *end2 != '.') { end2--; } if (end2 != filename) { end = end2; } } } return end; } char * eel_filename_strip_extension (const char * filename_with_extension) { char *filename, *end; if (filename_with_extension == NULL) { return NULL; } filename = g_strdup (filename_with_extension); end = eel_filename_get_extension_offset (filename); if (end && end != filename) { *end = '\0'; } return filename; } void eel_filename_get_rename_region (const char *filename, int *start_offset, int *end_offset) { char *filename_without_extension; g_return_if_fail (start_offset != NULL); g_return_if_fail (end_offset != NULL); *start_offset = 0; *end_offset = 0; g_return_if_fail (filename != NULL); filename_without_extension = eel_filename_strip_extension (filename); *end_offset = g_utf8_strlen (filename_without_extension, -1); g_free (filename_without_extension); } nemo-1.8.4/eel/eel-vfs-extensions.h000066400000000000000000000044541216702421000171400ustar00rootroot00000000000000/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */ /* eel-vfs-extensions.h - gnome-vfs extensions. Its likely some of these will be part of gnome-vfs in the future. Copyright (C) 1999, 2000 Eazel, Inc. The Gnome Library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. The Gnome Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with the Gnome Library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 51 Franklin Street - Suite 500, Boston, MA 02110-1335, USA. Authors: Darin Adler Pavel Cisler Mike Fleming John Sullivan */ #ifndef EEL_VFS_EXTENSIONS_H #define EEL_VFS_EXTENSIONS_H #include G_BEGIN_DECLS #define EEL_TRASH_URI "trash:" #define EEL_DESKTOP_URI "x-nemo-desktop:" #define EEL_SEARCH_URI "x-nemo-search:" gboolean eel_uri_is_trash (const char *uri); gboolean eel_uri_is_trash_folder (const char *uri); gboolean eel_uri_is_in_trash (const char *uri); gboolean eel_uri_is_desktop (const char *uri); gboolean eel_uri_is_search (const char *uri); char * eel_make_valid_utf8 (const char *name); char * eel_filename_strip_extension (const char *filename); void eel_filename_get_rename_region (const char *filename, int *start_offset, int *end_offset); char * eel_filename_get_extension_offset (const char *filename); G_END_DECLS #endif /* EEL_VFS_EXTENSIONS_H */ nemo-1.8.4/eel/eel.h000066400000000000000000000025141216702421000141420ustar00rootroot00000000000000/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */ /* eel.h Copyright (C) 2001 Eazel, Inc. The Gnome Library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. The Gnome Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with the Gnome Library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 51 Franklin Street - Suite 500, Boston, MA 02110-1335, USA. Authors: Maciej Stachowiak */ #ifndef EEL_H #define EEL_H #include #include #include #include #include #include #include #include #include #include #endif /* EEL_H */ nemo-1.8.4/files/000077500000000000000000000000001216702421000135575ustar00rootroot00000000000000nemo-1.8.4/files/Makefile.in000066400000000000000000000002471216702421000156270ustar00rootroot00000000000000all: clean: distclean: install: find -mindepth 1 -maxdepth 1 -type d -exec cp -R {} $(DESTDIR)/ \; uninstall: find -mindepth 1 -type f -exec rm $(DESTDIR)/{} \; nemo-1.8.4/files/usr/000077500000000000000000000000001216702421000143705ustar00rootroot00000000000000nemo-1.8.4/files/usr/share/000077500000000000000000000000001216702421000154725ustar00rootroot00000000000000nemo-1.8.4/files/usr/share/gtksourceview-2.0/000077500000000000000000000000001216702421000206705ustar00rootroot00000000000000nemo-1.8.4/files/usr/share/gtksourceview-2.0/language-specs/000077500000000000000000000000001216702421000235665ustar00rootroot00000000000000nemo-1.8.4/files/usr/share/gtksourceview-2.0/language-specs/nemo_action.lang000066400000000000000000000075651216702421000267410ustar00rootroot00000000000000 application/nemo-action *.nemo_action #