Merge remote-tracking branch 'origin/5.6' into 5.7
Conflicts: src/corelib/json/qjsonparser.cpp src/gui/opengl/qopengl.cpp Change-Id: Ib4d3208398399691839e6c6eaeb9006f99e3a62b
This commit is contained in:
commit
e918605f42
@ -1,230 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!DOCTYPE xbel>
|
|
||||||
<xbel version="1.0">
|
|
||||||
<folder folded="yes">
|
|
||||||
<title>Literate Programming</title>
|
|
||||||
<bookmark href="http://www.vivtek.com/litprog.html">
|
|
||||||
<title>Synopsis of Literate Programming</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://vasc.ri.cmu.edu/old_help/Programming/Literate/literate.html">
|
|
||||||
<title>Literate Programming: Propaganda and Tools</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.isy.liu.se/%7Eturbell/litprog/">
|
|
||||||
<title>Literate Programming by Henrik Turbell</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.desy.de/user/projects/LitProg.html">
|
|
||||||
<title>Literate Programming Library</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.loria.fr/services/tex/english/litte.html">
|
|
||||||
<title>Literate Programming Basics</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://ei.cs.vt.edu/%7Ecs5014/courseNotes/4.LiterateProgramming/literate_prog.html">
|
|
||||||
<title>Literate Programming Overview</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.perl.com/pub/a/tchrist/litprog.html">
|
|
||||||
<title>POD is not Literate Programming</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.cornellcollege.edu/%7Eltabak/publications/articles/swsafety.html">
|
|
||||||
<title>Computers That We Can Count On</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.cs.auc.dk/%7Enormark/litpro/issues-and-problems.html">
|
|
||||||
<title>Literate Programming - Issues and Problems</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://c2.com/cgi/wiki?LiterateProgramming">
|
|
||||||
<title>Literate Programming - Wiki Pages</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://developers.slashdot.org/developers/02/05/19/2216233.shtml">
|
|
||||||
<title>What is well-commented code?</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://liinwww.ira.uka.de/bibliography/SE/litprog.html">
|
|
||||||
<title>Bibliography on literate programming - A searchable bibliography</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www2.umassd.edu/SWPI/ProcessBibliography/bib-codereading.html">
|
|
||||||
<title>Program comprehension and code reading bibliography</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.cs.auc.dk/%7Enormark/elucidative-programming/">
|
|
||||||
<title>Elucidative Programming</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.msu.edu/%7Epfaffben/avl/index.html">
|
|
||||||
<title>AVL Trees (TexiWeb)</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://literate-programming.wikiverse.org/">
|
|
||||||
<title>Literate Programming on Wikiverse</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.pbrt.org/">
|
|
||||||
<title>Physically Based Rendering: From Theory to Implementation</title>
|
|
||||||
</bookmark>
|
|
||||||
</folder>
|
|
||||||
<folder folded="no">
|
|
||||||
<title>Useful C++ Links</title>
|
|
||||||
<folder folded="no">
|
|
||||||
<title>STL</title>
|
|
||||||
<bookmark href="http://www.sgi.com/tech/stl/table_of_contents.html">
|
|
||||||
<title>STL Reference Documentation</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.yrl.co.uk/~phil/stl/stl.htmlx">
|
|
||||||
<title>STL Tutorial</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.cppreference.com/cpp_stl.html">
|
|
||||||
<title>STL Reference</title>
|
|
||||||
</bookmark>
|
|
||||||
</folder>
|
|
||||||
<folder folded="no">
|
|
||||||
<title>Qt</title>
|
|
||||||
<bookmark href="http://doc.qt.digia.com/2.3/">
|
|
||||||
<title>Qt 2.3 Reference</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://doc.qt.digia.com/3.3/">
|
|
||||||
<title>Qt 3.3 Reference</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://doc.qt.digia.com/4.0/">
|
|
||||||
<title>Qt 4.0 Reference</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://qt-project.org/">
|
|
||||||
<title>Qt Home Page</title>
|
|
||||||
</bookmark>
|
|
||||||
</folder>
|
|
||||||
<folder folded="yes">
|
|
||||||
<title>IOStreams</title>
|
|
||||||
<bookmark href="http://www.cplusplus.com/ref/iostream/index.html">
|
|
||||||
<title>IO Stream Library</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://courses.cs.vt.edu/~cs2604/fall01/binio.html">
|
|
||||||
<title>Binary I/O</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.parashift.com/c++-faq-lite/input-output.html">
|
|
||||||
<title>I/O Stream FAQ</title>
|
|
||||||
</bookmark>
|
|
||||||
</folder>
|
|
||||||
<folder folded="yes">
|
|
||||||
<title>gdb</title>
|
|
||||||
<bookmark href="http://www.cs.princeton.edu/~benjasik/gdb/gdbtut.html">
|
|
||||||
<title>GDB Tutorial</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.gnu.org/manual/gdb-4.17/html_mono/gdb.html">
|
|
||||||
<title>Debugging with GDB</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.cs.washington.edu/orgs/acm/tutorials/dev-in-unix/gdb-refcard.pdf">
|
|
||||||
<title>GDB Quick Reference Page (PDF) (Handy)</title>
|
|
||||||
</bookmark>
|
|
||||||
</folder>
|
|
||||||
<folder folded="yes">
|
|
||||||
<title>Classes and Constructors</title>
|
|
||||||
<bookmark href="http://www.parashift.com/c++-faq-lite/ctors.html">
|
|
||||||
<title>Constructor FAQ</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.juicystudio.com/tutorial/cpp/index.html">
|
|
||||||
<title>Organizing Classes</title>
|
|
||||||
</bookmark>
|
|
||||||
</folder>
|
|
||||||
</folder>
|
|
||||||
<folder folded="yes">
|
|
||||||
<title>Software Documentation or System Documentation</title>
|
|
||||||
<bookmark href="http://www.martinfowler.com/distributedComputing/thud.html">
|
|
||||||
<title>The Almighty Thud</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://msdn.microsoft.com/library/techart/cfr.htm">
|
|
||||||
<title>Microsoft Coding Techniques and Programming Practices</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.bearcave.com/software/prog_docs.html">
|
|
||||||
<title>Software and Documentation</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://c2.com/cgi/wiki?TheSourceCodeIsTheDesign">
|
|
||||||
<title>The Source Code is the Design</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.bleading-edge.com/Publications/C++Journal/Cpjour2.htm">
|
|
||||||
<title>What is Software Design?</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.mindprod.com/unmain.html">
|
|
||||||
<title>How To Write Unmaintainable Code</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.idinews.com/selfDoc.html">
|
|
||||||
<title>Self Documenting Program Code Remains a Distant Goal</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.sdmagazine.com/documents/s=730/sdm0106m/0106m.htm">
|
|
||||||
<title>Place Tab A in Slot B</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.holub.com/class/uml/uml.html">
|
|
||||||
<title>UML Reference Card</title>
|
|
||||||
</bookmark>
|
|
||||||
</folder>
|
|
||||||
<folder folded="yes">
|
|
||||||
<title>TeX Resources</title>
|
|
||||||
<bookmark href="http://www.tug.org/">
|
|
||||||
<title>The TeX User's Group</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.miktex.org/">
|
|
||||||
<title>MikTeX website</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://cm.bell-labs.com/who/hobby/MetaPost.html">
|
|
||||||
<title>MetaPost website</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://pauillac.inria.fr/%7Emaranget/hevea/">
|
|
||||||
<title>HEVEA is a quite complete and fast LATEX to HTML translator</title>
|
|
||||||
</bookmark>
|
|
||||||
</folder>
|
|
||||||
<folder folded="no">
|
|
||||||
<title>Portable Document Format (PDF)</title>
|
|
||||||
<bookmark href="http://www.adobe.com/">
|
|
||||||
<title>Adobe - The postscript and PDF standards</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://partners.adobe.com/asn/developer/technotes/acrobatpdf.html">
|
|
||||||
<title>Reference Manual Portable Document Format</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://partners.adobe.com/asn/developer/acrosdk/main.html">
|
|
||||||
<title>Adobe Acrobat Software Development Kit</title>
|
|
||||||
</bookmark>
|
|
||||||
</folder>
|
|
||||||
<folder folded="yes">
|
|
||||||
<title>Literature Sites</title>
|
|
||||||
<bookmark href="http://www.cc.columbia.edu/cu/libraries/subjects/speccol.html">
|
|
||||||
<title>Guide to Special Collections (Columbia University)</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.ipl.org/ref/litcrit/">
|
|
||||||
<title>Literary Criticism on the Web from the Internet Public Library</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.victorianweb.org/">
|
|
||||||
<title>Victorian Web.</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://vos.ucsb.edu/">
|
|
||||||
<title>Voice of the Shuttle.</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.modjourn.brown.edu/">
|
|
||||||
<title>Modernist Journals Project</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.poetspath.com">
|
|
||||||
<title>Museum of American Poetics</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.english.uiuc.edu/maps/">
|
|
||||||
<title>Modern American Poetry</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.findarticles.com/">
|
|
||||||
<title>FindArticles.com</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.literaryhistory.com">
|
|
||||||
<title>Literary History</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.litencyc.com/LitEncycFrame.htm">
|
|
||||||
<title>Literary Encyclopedia</title>
|
|
||||||
</bookmark>
|
|
||||||
<separator/>
|
|
||||||
<bookmark href="http://texts.cdlib.org/ucpress/">
|
|
||||||
<title>The University of California Press</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.letrs.indiana.edu/web/w/wright2/">
|
|
||||||
<title>Wright American Fiction, 1851-1875</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://docsouth.unc.edu/">
|
|
||||||
<title>Documenting the American South: Beginnings to 1920</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://etext.lib.virginia.edu/eng-on.html">
|
|
||||||
<title>Electronic Text Center at the University of Virginia</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://digital.nypl.org/schomburg/writers_aa19/">
|
|
||||||
<title>The Schomburg Center for Research in Black Culture</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.infomotions.com/alex2/">
|
|
||||||
<title>Alex Catalogue of Electronic Texts.</title>
|
|
||||||
</bookmark>
|
|
||||||
</folder>
|
|
||||||
</xbel>
|
|
@ -3,60 +3,42 @@
|
|||||||
<xbel version="1.0">
|
<xbel version="1.0">
|
||||||
<folder folded="no">
|
<folder folded="no">
|
||||||
<title>Qt Resources</title>
|
<title>Qt Resources</title>
|
||||||
<folder folded="yes">
|
<bookmark href="http://qt.io/">
|
||||||
|
<title>Qt home page</title>
|
||||||
|
</bookmark>
|
||||||
|
<bookmark href="https://www.qt.io/partners/">
|
||||||
<title>Qt Partners</title>
|
<title>Qt Partners</title>
|
||||||
<bookmark href="http://partners.trolltech.com/partners/training.html">
|
</bookmark>
|
||||||
<title>Training Partners</title>
|
<bookmark href="https://www.qt.io/qt-training/">
|
||||||
</bookmark>
|
<title>Training</title>
|
||||||
<bookmark href="http://partners.trolltech.com/partners/service.html">
|
</bookmark>
|
||||||
<title>Consultants and System Integrators</title>
|
<bookmark href="http://doc.qt.io/">
|
||||||
</bookmark>
|
<title>Qt 5 documentation</title>
|
||||||
<bookmark href="http://partners.trolltech.com/partners/tech.html">
|
</bookmark>
|
||||||
<title>Technology Partners</title>
|
<bookmark href="http://qt-project.org/faq/">
|
||||||
</bookmark>
|
<title>Frequently Asked Questions</title>
|
||||||
<bookmark href="http://partners.trolltech.com/partners/resellers.html">
|
</bookmark>
|
||||||
<title>Value Added Resellers (VARs)</title>
|
|
||||||
</bookmark>
|
|
||||||
</folder>
|
|
||||||
<folder folded="yes">
|
<folder folded="yes">
|
||||||
<title>Community Resources</title>
|
<title>Community Resources</title>
|
||||||
|
<bookmark href="http://www.qtcentre.org/content/">
|
||||||
|
<title>Qt Centre</title>
|
||||||
|
</bookmark>
|
||||||
<bookmark href="http://www.qtforum.org/">
|
<bookmark href="http://www.qtforum.org/">
|
||||||
<title>QtForum.org</title>
|
<title>QtForum.org</title>
|
||||||
</bookmark>
|
</bookmark>
|
||||||
<bookmark href="http://www.digitalfanatics.org/projects/qt_tutorial/">
|
<bookmark href="http://digitalfanatics.org/projects/qt_tutorial/">
|
||||||
<title>The Independent Qt Tutorial</title>
|
<title>The Independent Qt Tutorial</title>
|
||||||
</bookmark>
|
</bookmark>
|
||||||
<bookmark href="http://prog.qt.free.fr/">
|
|
||||||
<title>French PROG.Qt</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.qtforum.de/">
|
<bookmark href="http://www.qtforum.de/">
|
||||||
<title>German Qt Forum</title>
|
<title>German Qt Forum</title>
|
||||||
</bookmark>
|
</bookmark>
|
||||||
<bookmark href="http://www.korone.net/">
|
<bookmark href="http://www.korone.net/">
|
||||||
<title>Korean Qt Community Site</title>
|
<title>Korean Qt Community Site</title>
|
||||||
</bookmark>
|
</bookmark>
|
||||||
<bookmark href="http://prog.org.ru/forum/forum_14.html">
|
<bookmark href="http://prog.org.ru/">
|
||||||
<title>Russian Qt Forum</title>
|
<title>Russian Qt Forum</title>
|
||||||
</bookmark>
|
</bookmark>
|
||||||
<bookmark href="http://qt4.digitalfanatics.org/">
|
|
||||||
<title>Digitalfanatics: The QT 4 Resource Center</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.qtquestions.org/">
|
|
||||||
<title>QtQuestions</title>
|
|
||||||
</bookmark>
|
|
||||||
</folder>
|
</folder>
|
||||||
<bookmark href="http://doc.qt.digia.com/qq/">
|
|
||||||
<title>Qt Quarterly</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://qt-project.org/">
|
|
||||||
<title>Qt home page</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://doc.qt.digia.com/4.0/">
|
|
||||||
<title>Qt 4.0 documentation</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://qt-project.org/faq/">
|
|
||||||
<title>Frequently Asked Questions</title>
|
|
||||||
</bookmark>
|
|
||||||
</folder>
|
</folder>
|
||||||
<folder folded="no">
|
<folder folded="no">
|
||||||
<title>Online Dictionaries</title>
|
<title>Online Dictionaries</title>
|
||||||
@ -73,9 +55,6 @@
|
|||||||
<title>OneLook Dictionary Search</title>
|
<title>OneLook Dictionary Search</title>
|
||||||
</bookmark>
|
</bookmark>
|
||||||
<separator/>
|
<separator/>
|
||||||
<bookmark href="www.iee.et.tu-dresden.de/">
|
|
||||||
<title>The New English-German Dictionary</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://dict.tu-chemnitz.de/">
|
<bookmark href="http://dict.tu-chemnitz.de/">
|
||||||
<title>TU Chemnitz German-English Dictionary</title>
|
<title>TU Chemnitz German-English Dictionary</title>
|
||||||
</bookmark>
|
</bookmark>
|
||||||
@ -86,8 +65,5 @@
|
|||||||
<bookmark href="http://dictionnaires.atilf.fr/dictionnaires/ACADEMIE/">
|
<bookmark href="http://dictionnaires.atilf.fr/dictionnaires/ACADEMIE/">
|
||||||
<title>Dictionnaire de l'Académie Française</title>
|
<title>Dictionnaire de l'Académie Française</title>
|
||||||
</bookmark>
|
</bookmark>
|
||||||
<bookmark href="http://elsap1.unicaen.fr/cgi-bin/cherches.cgi">
|
|
||||||
<title>Dictionnaire des synonymes</title>
|
|
||||||
</bookmark>
|
|
||||||
</folder>
|
</folder>
|
||||||
</xbel>
|
</xbel>
|
||||||
|
@ -1,230 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!DOCTYPE xbel>
|
|
||||||
<xbel version="1.0">
|
|
||||||
<folder folded="yes">
|
|
||||||
<title>Literate Programming</title>
|
|
||||||
<bookmark href="http://www.vivtek.com/litprog.html">
|
|
||||||
<title>Synopsis of Literate Programming</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://vasc.ri.cmu.edu/old_help/Programming/Literate/literate.html">
|
|
||||||
<title>Literate Programming: Propaganda and Tools</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.isy.liu.se/%7Eturbell/litprog/">
|
|
||||||
<title>Literate Programming by Henrik Turbell</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.desy.de/user/projects/LitProg.html">
|
|
||||||
<title>Literate Programming Library</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.loria.fr/services/tex/english/litte.html">
|
|
||||||
<title>Literate Programming Basics</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://ei.cs.vt.edu/%7Ecs5014/courseNotes/4.LiterateProgramming/literate_prog.html">
|
|
||||||
<title>Literate Programming Overview</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.perl.com/pub/a/tchrist/litprog.html">
|
|
||||||
<title>POD is not Literate Programming</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.cornellcollege.edu/%7Eltabak/publications/articles/swsafety.html">
|
|
||||||
<title>Computers That We Can Count On</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.cs.auc.dk/%7Enormark/litpro/issues-and-problems.html">
|
|
||||||
<title>Literate Programming - Issues and Problems</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://c2.com/cgi/wiki?LiterateProgramming">
|
|
||||||
<title>Literate Programming - Wiki Pages</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://developers.slashdot.org/developers/02/05/19/2216233.shtml">
|
|
||||||
<title>What is well-commented code?</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://liinwww.ira.uka.de/bibliography/SE/litprog.html">
|
|
||||||
<title>Bibliography on literate programming - A searchable bibliography</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www2.umassd.edu/SWPI/ProcessBibliography/bib-codereading.html">
|
|
||||||
<title>Program comprehension and code reading bibliography</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.cs.auc.dk/%7Enormark/elucidative-programming/">
|
|
||||||
<title>Elucidative Programming</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.msu.edu/%7Epfaffben/avl/index.html">
|
|
||||||
<title>AVL Trees (TexiWeb)</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://literate-programming.wikiverse.org/">
|
|
||||||
<title>Literate Programming on Wikiverse</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.pbrt.org/">
|
|
||||||
<title>Physically Based Rendering: From Theory to Implementation</title>
|
|
||||||
</bookmark>
|
|
||||||
</folder>
|
|
||||||
<folder folded="no">
|
|
||||||
<title>Useful C++ Links</title>
|
|
||||||
<folder folded="no">
|
|
||||||
<title>STL</title>
|
|
||||||
<bookmark href="http://www.sgi.com/tech/stl/table_of_contents.html">
|
|
||||||
<title>STL Reference Documentation</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.yrl.co.uk/~phil/stl/stl.htmlx">
|
|
||||||
<title>STL Tutorial</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.cppreference.com/cpp_stl.html">
|
|
||||||
<title>STL Reference</title>
|
|
||||||
</bookmark>
|
|
||||||
</folder>
|
|
||||||
<folder folded="no">
|
|
||||||
<title>Qt</title>
|
|
||||||
<bookmark href="http://doc.qt.digia.com/2.3/">
|
|
||||||
<title>Qt 2.3 Reference</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://doc.qt.digia.com/3.3/">
|
|
||||||
<title>Qt 3.3 Reference</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://doc.qt.digia.com/4.0/">
|
|
||||||
<title>Qt 4.0 Reference</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://qt-project.org/">
|
|
||||||
<title>Qt Home Page</title>
|
|
||||||
</bookmark>
|
|
||||||
</folder>
|
|
||||||
<folder folded="yes">
|
|
||||||
<title>IOStreams</title>
|
|
||||||
<bookmark href="http://www.cplusplus.com/ref/iostream/index.html">
|
|
||||||
<title>IO Stream Library</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://courses.cs.vt.edu/~cs2604/fall01/binio.html">
|
|
||||||
<title>Binary I/O</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.parashift.com/c++-faq-lite/input-output.html">
|
|
||||||
<title>I/O Stream FAQ</title>
|
|
||||||
</bookmark>
|
|
||||||
</folder>
|
|
||||||
<folder folded="yes">
|
|
||||||
<title>gdb</title>
|
|
||||||
<bookmark href="http://www.cs.princeton.edu/~benjasik/gdb/gdbtut.html">
|
|
||||||
<title>GDB Tutorial</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.gnu.org/manual/gdb-4.17/html_mono/gdb.html">
|
|
||||||
<title>Debugging with GDB</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.cs.washington.edu/orgs/acm/tutorials/dev-in-unix/gdb-refcard.pdf">
|
|
||||||
<title>GDB Quick Reference Page (PDF) (Handy)</title>
|
|
||||||
</bookmark>
|
|
||||||
</folder>
|
|
||||||
<folder folded="yes">
|
|
||||||
<title>Classes and Constructors</title>
|
|
||||||
<bookmark href="http://www.parashift.com/c++-faq-lite/ctors.html">
|
|
||||||
<title>Constructor FAQ</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.juicystudio.com/tutorial/cpp/index.html">
|
|
||||||
<title>Organizing Classes</title>
|
|
||||||
</bookmark>
|
|
||||||
</folder>
|
|
||||||
</folder>
|
|
||||||
<folder folded="yes">
|
|
||||||
<title>Software Documentation or System Documentation</title>
|
|
||||||
<bookmark href="http://www.martinfowler.com/distributedComputing/thud.html">
|
|
||||||
<title>The Almighty Thud</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://msdn.microsoft.com/library/techart/cfr.htm">
|
|
||||||
<title>Microsoft Coding Techniques and Programming Practices</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.bearcave.com/software/prog_docs.html">
|
|
||||||
<title>Software and Documentation</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://c2.com/cgi/wiki?TheSourceCodeIsTheDesign">
|
|
||||||
<title>The Source Code is the Design</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.bleading-edge.com/Publications/C++Journal/Cpjour2.htm">
|
|
||||||
<title>What is Software Design?</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.mindprod.com/unmain.html">
|
|
||||||
<title>How To Write Unmaintainable Code</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.idinews.com/selfDoc.html">
|
|
||||||
<title>Self Documenting Program Code Remains a Distant Goal</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.sdmagazine.com/documents/s=730/sdm0106m/0106m.htm">
|
|
||||||
<title>Place Tab A in Slot B</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.holub.com/class/uml/uml.html">
|
|
||||||
<title>UML Reference Card</title>
|
|
||||||
</bookmark>
|
|
||||||
</folder>
|
|
||||||
<folder folded="yes">
|
|
||||||
<title>TeX Resources</title>
|
|
||||||
<bookmark href="http://www.tug.org/">
|
|
||||||
<title>The TeX User's Group</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.miktex.org/">
|
|
||||||
<title>MikTeX website</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://cm.bell-labs.com/who/hobby/MetaPost.html">
|
|
||||||
<title>MetaPost website</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://pauillac.inria.fr/%7Emaranget/hevea/">
|
|
||||||
<title>HEVEA is a quite complete and fast LATEX to HTML translator</title>
|
|
||||||
</bookmark>
|
|
||||||
</folder>
|
|
||||||
<folder folded="no">
|
|
||||||
<title>Portable Document Format (PDF)</title>
|
|
||||||
<bookmark href="http://www.adobe.com/">
|
|
||||||
<title>Adobe - The postscript and PDF standards</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://partners.adobe.com/asn/developer/technotes/acrobatpdf.html">
|
|
||||||
<title>Reference Manual Portable Document Format</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://partners.adobe.com/asn/developer/acrosdk/main.html">
|
|
||||||
<title>Adobe Acrobat Software Development Kit</title>
|
|
||||||
</bookmark>
|
|
||||||
</folder>
|
|
||||||
<folder folded="yes">
|
|
||||||
<title>Literature Sites</title>
|
|
||||||
<bookmark href="http://www.cc.columbia.edu/cu/libraries/subjects/speccol.html">
|
|
||||||
<title>Guide to Special Collections (Columbia University)</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.ipl.org/ref/litcrit/">
|
|
||||||
<title>Literary Criticism on the Web from the Internet Public Library</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.victorianweb.org/">
|
|
||||||
<title>Victorian Web.</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://vos.ucsb.edu/">
|
|
||||||
<title>Voice of the Shuttle.</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.modjourn.brown.edu/">
|
|
||||||
<title>Modernist Journals Project</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.poetspath.com">
|
|
||||||
<title>Museum of American Poetics</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.english.uiuc.edu/maps/">
|
|
||||||
<title>Modern American Poetry</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.findarticles.com/">
|
|
||||||
<title>FindArticles.com</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.literaryhistory.com">
|
|
||||||
<title>Literary History</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.litencyc.com/LitEncycFrame.htm">
|
|
||||||
<title>Literary Encyclopedia</title>
|
|
||||||
</bookmark>
|
|
||||||
<separator/>
|
|
||||||
<bookmark href="http://texts.cdlib.org/ucpress/">
|
|
||||||
<title>The University of California Press</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.letrs.indiana.edu/web/w/wright2/">
|
|
||||||
<title>Wright American Fiction, 1851-1875</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://docsouth.unc.edu/">
|
|
||||||
<title>Documenting the American South: Beginnings to 1920</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://etext.lib.virginia.edu/eng-on.html">
|
|
||||||
<title>Electronic Text Center at the University of Virginia</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://digital.nypl.org/schomburg/writers_aa19/">
|
|
||||||
<title>The Schomburg Center for Research in Black Culture</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.infomotions.com/alex2/">
|
|
||||||
<title>Alex Catalogue of Electronic Texts.</title>
|
|
||||||
</bookmark>
|
|
||||||
</folder>
|
|
||||||
</xbel>
|
|
@ -3,60 +3,42 @@
|
|||||||
<xbel version="1.0">
|
<xbel version="1.0">
|
||||||
<folder folded="no">
|
<folder folded="no">
|
||||||
<title>Qt Resources</title>
|
<title>Qt Resources</title>
|
||||||
<folder folded="yes">
|
<bookmark href="http://qt.io/">
|
||||||
|
<title>Qt home page</title>
|
||||||
|
</bookmark>
|
||||||
|
<bookmark href="https://www.qt.io/partners/">
|
||||||
<title>Qt Partners</title>
|
<title>Qt Partners</title>
|
||||||
<bookmark href="http://partners.trolltech.com/partners/training.html">
|
</bookmark>
|
||||||
<title>Training Partners</title>
|
<bookmark href="https://www.qt.io/qt-training/">
|
||||||
</bookmark>
|
<title>Training</title>
|
||||||
<bookmark href="http://partners.trolltech.com/partners/service.html">
|
</bookmark>
|
||||||
<title>Consultants and System Integrators</title>
|
<bookmark href="http://doc.qt.io/">
|
||||||
</bookmark>
|
<title>Qt 5 documentation</title>
|
||||||
<bookmark href="http://partners.trolltech.com/partners/tech.html">
|
</bookmark>
|
||||||
<title>Technology Partners</title>
|
<bookmark href="http://qt-project.org/faq/">
|
||||||
</bookmark>
|
<title>Frequently Asked Questions</title>
|
||||||
<bookmark href="http://partners.trolltech.com/partners/resellers.html">
|
</bookmark>
|
||||||
<title>Value Added Resellers (VARs)</title>
|
|
||||||
</bookmark>
|
|
||||||
</folder>
|
|
||||||
<folder folded="yes">
|
<folder folded="yes">
|
||||||
<title>Community Resources</title>
|
<title>Community Resources</title>
|
||||||
|
<bookmark href="http://www.qtcentre.org/content/">
|
||||||
|
<title>Qt Centre</title>
|
||||||
|
</bookmark>
|
||||||
<bookmark href="http://www.qtforum.org/">
|
<bookmark href="http://www.qtforum.org/">
|
||||||
<title>QtForum.org</title>
|
<title>QtForum.org</title>
|
||||||
</bookmark>
|
</bookmark>
|
||||||
<bookmark href="http://www.digitalfanatics.org/projects/qt_tutorial/">
|
<bookmark href="http://digitalfanatics.org/projects/qt_tutorial/">
|
||||||
<title>The Independent Qt Tutorial</title>
|
<title>The Independent Qt Tutorial</title>
|
||||||
</bookmark>
|
</bookmark>
|
||||||
<bookmark href="http://prog.qt.free.fr/">
|
|
||||||
<title>French PROG.Qt</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.qtforum.de/">
|
<bookmark href="http://www.qtforum.de/">
|
||||||
<title>German Qt Forum</title>
|
<title>German Qt Forum</title>
|
||||||
</bookmark>
|
</bookmark>
|
||||||
<bookmark href="http://www.korone.net/">
|
<bookmark href="http://www.korone.net/">
|
||||||
<title>Korean Qt Community Site</title>
|
<title>Korean Qt Community Site</title>
|
||||||
</bookmark>
|
</bookmark>
|
||||||
<bookmark href="http://prog.org.ru/forum/forum_14.html">
|
<bookmark href="http://prog.org.ru/">
|
||||||
<title>Russian Qt Forum</title>
|
<title>Russian Qt Forum</title>
|
||||||
</bookmark>
|
</bookmark>
|
||||||
<bookmark href="http://qt4.digitalfanatics.org/">
|
|
||||||
<title>Digitalfanatics: The QT 4 Resource Center</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.qtquestions.org/">
|
|
||||||
<title>QtQuestions</title>
|
|
||||||
</bookmark>
|
|
||||||
</folder>
|
</folder>
|
||||||
<bookmark href="http://doc.qt.digia.com/qq/">
|
|
||||||
<title>Qt Quarterly</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://qt-project.org/">
|
|
||||||
<title>qt home page</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://doc.qt.digia.com/4.0/">
|
|
||||||
<title>Qt 4.0 documentation</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://qt-project.org/faq/">
|
|
||||||
<title>Frequently Asked Questions</title>
|
|
||||||
</bookmark>
|
|
||||||
</folder>
|
</folder>
|
||||||
<folder folded="no">
|
<folder folded="no">
|
||||||
<title>Online Dictionaries</title>
|
<title>Online Dictionaries</title>
|
||||||
@ -73,9 +55,6 @@
|
|||||||
<title>OneLook Dictionary Search</title>
|
<title>OneLook Dictionary Search</title>
|
||||||
</bookmark>
|
</bookmark>
|
||||||
<separator/>
|
<separator/>
|
||||||
<bookmark href="www.iee.et.tu-dresden.de/">
|
|
||||||
<title>The New English-German Dictionary</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://dict.tu-chemnitz.de/">
|
<bookmark href="http://dict.tu-chemnitz.de/">
|
||||||
<title>TU Chemnitz German-English Dictionary</title>
|
<title>TU Chemnitz German-English Dictionary</title>
|
||||||
</bookmark>
|
</bookmark>
|
||||||
@ -86,8 +65,5 @@
|
|||||||
<bookmark href="http://dictionnaires.atilf.fr/dictionnaires/ACADEMIE/">
|
<bookmark href="http://dictionnaires.atilf.fr/dictionnaires/ACADEMIE/">
|
||||||
<title>Dictionnaire de l'Académie Française</title>
|
<title>Dictionnaire de l'Académie Française</title>
|
||||||
</bookmark>
|
</bookmark>
|
||||||
<bookmark href="http://elsap1.unicaen.fr/cgi-bin/cherches.cgi">
|
|
||||||
<title>Dictionnaire des synonymes</title>
|
|
||||||
</bookmark>
|
|
||||||
</folder>
|
</folder>
|
||||||
</xbel>
|
</xbel>
|
||||||
|
@ -1,230 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!DOCTYPE xbel>
|
|
||||||
<xbel version="1.0">
|
|
||||||
<folder folded="yes">
|
|
||||||
<title>Literate Programming</title>
|
|
||||||
<bookmark href="http://www.vivtek.com/litprog.html">
|
|
||||||
<title>Synopsis of Literate Programming</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://vasc.ri.cmu.edu/old_help/Programming/Literate/literate.html">
|
|
||||||
<title>Literate Programming: Propaganda and Tools</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.isy.liu.se/%7Eturbell/litprog/">
|
|
||||||
<title>Literate Programming by Henrik Turbell</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.desy.de/user/projects/LitProg.html">
|
|
||||||
<title>Literate Programming Library</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.loria.fr/services/tex/english/litte.html">
|
|
||||||
<title>Literate Programming Basics</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://ei.cs.vt.edu/%7Ecs5014/courseNotes/4.LiterateProgramming/literate_prog.html">
|
|
||||||
<title>Literate Programming Overview</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.perl.com/pub/a/tchrist/litprog.html">
|
|
||||||
<title>POD is not Literate Programming</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.cornellcollege.edu/%7Eltabak/publications/articles/swsafety.html">
|
|
||||||
<title>Computers That We Can Count On</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.cs.auc.dk/%7Enormark/litpro/issues-and-problems.html">
|
|
||||||
<title>Literate Programming - Issues and Problems</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://c2.com/cgi/wiki?LiterateProgramming">
|
|
||||||
<title>Literate Programming - Wiki Pages</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://developers.slashdot.org/developers/02/05/19/2216233.shtml">
|
|
||||||
<title>What is well-commented code?</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://liinwww.ira.uka.de/bibliography/SE/litprog.html">
|
|
||||||
<title>Bibliography on literate programming - A searchable bibliography</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www2.umassd.edu/SWPI/ProcessBibliography/bib-codereading.html">
|
|
||||||
<title>Program comprehension and code reading bibliography</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.cs.auc.dk/%7Enormark/elucidative-programming/">
|
|
||||||
<title>Elucidative Programming</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.msu.edu/%7Epfaffben/avl/index.html">
|
|
||||||
<title>AVL Trees (TexiWeb)</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://literate-programming.wikiverse.org/">
|
|
||||||
<title>Literate Programming on Wikiverse</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.pbrt.org/">
|
|
||||||
<title>Physically Based Rendering: From Theory to Implementation</title>
|
|
||||||
</bookmark>
|
|
||||||
</folder>
|
|
||||||
<folder folded="no">
|
|
||||||
<title>Useful C++ Links</title>
|
|
||||||
<folder folded="no">
|
|
||||||
<title>STL</title>
|
|
||||||
<bookmark href="http://www.sgi.com/tech/stl/table_of_contents.html">
|
|
||||||
<title>STL Reference Documentation</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.yrl.co.uk/~phil/stl/stl.htmlx">
|
|
||||||
<title>STL Tutorial</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.cppreference.com/cpp_stl.html">
|
|
||||||
<title>STL Reference</title>
|
|
||||||
</bookmark>
|
|
||||||
</folder>
|
|
||||||
<folder folded="no">
|
|
||||||
<title>Qt</title>
|
|
||||||
<bookmark href="http://doc.qt.digia.com/2.3/">
|
|
||||||
<title>Qt 2.3 Reference</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://doc.qt.digia.com/3.3/">
|
|
||||||
<title>Qt 3.3 Reference</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://doc.qt.digia.com/4.0/">
|
|
||||||
<title>Qt 4.0 Reference</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://qt-project.org/">
|
|
||||||
<title>Qt Home Page</title>
|
|
||||||
</bookmark>
|
|
||||||
</folder>
|
|
||||||
<folder folded="yes">
|
|
||||||
<title>IOStreams</title>
|
|
||||||
<bookmark href="http://www.cplusplus.com/ref/iostream/index.html">
|
|
||||||
<title>IO Stream Library</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://courses.cs.vt.edu/~cs2604/fall01/binio.html">
|
|
||||||
<title>Binary I/O</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.parashift.com/c++-faq-lite/input-output.html">
|
|
||||||
<title>I/O Stream FAQ</title>
|
|
||||||
</bookmark>
|
|
||||||
</folder>
|
|
||||||
<folder folded="yes">
|
|
||||||
<title>gdb</title>
|
|
||||||
<bookmark href="http://www.cs.princeton.edu/~benjasik/gdb/gdbtut.html">
|
|
||||||
<title>GDB Tutorial</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.gnu.org/manual/gdb-4.17/html_mono/gdb.html">
|
|
||||||
<title>Debugging with GDB</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.cs.washington.edu/orgs/acm/tutorials/dev-in-unix/gdb-refcard.pdf">
|
|
||||||
<title>GDB Quick Reference Page (PDF) (Handy)</title>
|
|
||||||
</bookmark>
|
|
||||||
</folder>
|
|
||||||
<folder folded="yes">
|
|
||||||
<title>Classes and Constructors</title>
|
|
||||||
<bookmark href="http://www.parashift.com/c++-faq-lite/ctors.html">
|
|
||||||
<title>Constructor FAQ</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.juicystudio.com/tutorial/cpp/index.html">
|
|
||||||
<title>Organizing Classes</title>
|
|
||||||
</bookmark>
|
|
||||||
</folder>
|
|
||||||
</folder>
|
|
||||||
<folder folded="yes">
|
|
||||||
<title>Software Documentation or System Documentation</title>
|
|
||||||
<bookmark href="http://www.martinfowler.com/distributedComputing/thud.html">
|
|
||||||
<title>The Almighty Thud</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://msdn.microsoft.com/library/techart/cfr.htm">
|
|
||||||
<title>Microsoft Coding Techniques and Programming Practices</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.bearcave.com/software/prog_docs.html">
|
|
||||||
<title>Software and Documentation</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://c2.com/cgi/wiki?TheSourceCodeIsTheDesign">
|
|
||||||
<title>The Source Code is the Design</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.bleading-edge.com/Publications/C++Journal/Cpjour2.htm">
|
|
||||||
<title>What is Software Design?</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.mindprod.com/unmain.html">
|
|
||||||
<title>How To Write Unmaintainable Code</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.idinews.com/selfDoc.html">
|
|
||||||
<title>Self Documenting Program Code Remains a Distant Goal</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.sdmagazine.com/documents/s=730/sdm0106m/0106m.htm">
|
|
||||||
<title>Place Tab A in Slot B</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.holub.com/class/uml/uml.html">
|
|
||||||
<title>UML Reference Card</title>
|
|
||||||
</bookmark>
|
|
||||||
</folder>
|
|
||||||
<folder folded="yes">
|
|
||||||
<title>TeX Resources</title>
|
|
||||||
<bookmark href="http://www.tug.org/">
|
|
||||||
<title>The TeX User's Group</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.miktex.org/">
|
|
||||||
<title>MikTeX website</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://cm.bell-labs.com/who/hobby/MetaPost.html">
|
|
||||||
<title>MetaPost website</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://pauillac.inria.fr/%7Emaranget/hevea/">
|
|
||||||
<title>HEVEA is a quite complete and fast LATEX to HTML translator</title>
|
|
||||||
</bookmark>
|
|
||||||
</folder>
|
|
||||||
<folder folded="no">
|
|
||||||
<title>Portable Document Format (PDF)</title>
|
|
||||||
<bookmark href="http://www.adobe.com/">
|
|
||||||
<title>Adobe - The postscript and PDF standards</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://partners.adobe.com/asn/developer/technotes/acrobatpdf.html">
|
|
||||||
<title>Reference Manual Portable Document Format</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://partners.adobe.com/asn/developer/acrosdk/main.html">
|
|
||||||
<title>Adobe Acrobat Software Development Kit</title>
|
|
||||||
</bookmark>
|
|
||||||
</folder>
|
|
||||||
<folder folded="yes">
|
|
||||||
<title>Literature Sites</title>
|
|
||||||
<bookmark href="http://www.cc.columbia.edu/cu/libraries/subjects/speccol.html">
|
|
||||||
<title>Guide to Special Collections (Columbia University)</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.ipl.org/ref/litcrit/">
|
|
||||||
<title>Literary Criticism on the Web from the Internet Public Library</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.victorianweb.org/">
|
|
||||||
<title>Victorian Web.</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://vos.ucsb.edu/">
|
|
||||||
<title>Voice of the Shuttle.</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.modjourn.brown.edu/">
|
|
||||||
<title>Modernist Journals Project</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.poetspath.com">
|
|
||||||
<title>Museum of American Poetics</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.english.uiuc.edu/maps/">
|
|
||||||
<title>Modern American Poetry</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.findarticles.com/">
|
|
||||||
<title>FindArticles.com</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.literaryhistory.com">
|
|
||||||
<title>Literary History</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.litencyc.com/LitEncycFrame.htm">
|
|
||||||
<title>Literary Encyclopedia</title>
|
|
||||||
</bookmark>
|
|
||||||
<separator/>
|
|
||||||
<bookmark href="http://texts.cdlib.org/ucpress/">
|
|
||||||
<title>The University of California Press</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.letrs.indiana.edu/web/w/wright2/">
|
|
||||||
<title>Wright American Fiction, 1851-1875</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://docsouth.unc.edu/">
|
|
||||||
<title>Documenting the American South: Beginnings to 1920</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://etext.lib.virginia.edu/eng-on.html">
|
|
||||||
<title>Electronic Text Center at the University of Virginia</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://digital.nypl.org/schomburg/writers_aa19/">
|
|
||||||
<title>The Schomburg Center for Research in Black Culture</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.infomotions.com/alex2/">
|
|
||||||
<title>Alex Catalogue of Electronic Texts.</title>
|
|
||||||
</bookmark>
|
|
||||||
</folder>
|
|
||||||
</xbel>
|
|
@ -3,60 +3,42 @@
|
|||||||
<xbel version="1.0">
|
<xbel version="1.0">
|
||||||
<folder folded="no">
|
<folder folded="no">
|
||||||
<title>Qt Resources</title>
|
<title>Qt Resources</title>
|
||||||
<folder folded="yes">
|
<bookmark href="http://qt.io/">
|
||||||
|
<title>Qt home page</title>
|
||||||
|
</bookmark>
|
||||||
|
<bookmark href="https://www.qt.io/partners/">
|
||||||
<title>Qt Partners</title>
|
<title>Qt Partners</title>
|
||||||
<bookmark href="http://partners.trolltech.com/partners/training.html">
|
</bookmark>
|
||||||
<title>Training Partners</title>
|
<bookmark href="https://www.qt.io/qt-training/">
|
||||||
</bookmark>
|
<title>Training</title>
|
||||||
<bookmark href="http://partners.trolltech.com/partners/service.html">
|
</bookmark>
|
||||||
<title>Consultants and System Integrators</title>
|
<bookmark href="http://doc.qt.io/">
|
||||||
</bookmark>
|
<title>Qt 5 documentation</title>
|
||||||
<bookmark href="http://partners.trolltech.com/partners/tech.html">
|
</bookmark>
|
||||||
<title>Technology Partners</title>
|
<bookmark href="http://qt-project.org/faq/">
|
||||||
</bookmark>
|
<title>Frequently Asked Questions</title>
|
||||||
<bookmark href="http://partners.trolltech.com/partners/resellers.html">
|
</bookmark>
|
||||||
<title>Value Added Resellers (VARs)</title>
|
|
||||||
</bookmark>
|
|
||||||
</folder>
|
|
||||||
<folder folded="yes">
|
<folder folded="yes">
|
||||||
<title>Community Resources</title>
|
<title>Community Resources</title>
|
||||||
|
<bookmark href="http://www.qtcentre.org/content/">
|
||||||
|
<title>Qt Centre</title>
|
||||||
|
</bookmark>
|
||||||
<bookmark href="http://www.qtforum.org/">
|
<bookmark href="http://www.qtforum.org/">
|
||||||
<title>QtForum.org</title>
|
<title>QtForum.org</title>
|
||||||
</bookmark>
|
</bookmark>
|
||||||
<bookmark href="http://www.digitalfanatics.org/projects/qt_tutorial/">
|
<bookmark href="http://digitalfanatics.org/projects/qt_tutorial/">
|
||||||
<title>The Independent Qt Tutorial</title>
|
<title>The Independent Qt Tutorial</title>
|
||||||
</bookmark>
|
</bookmark>
|
||||||
<bookmark href="http://prog.qt.free.fr/">
|
|
||||||
<title>French PROG.Qt</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.qtforum.de/">
|
<bookmark href="http://www.qtforum.de/">
|
||||||
<title>German Qt Forum</title>
|
<title>German Qt Forum</title>
|
||||||
</bookmark>
|
</bookmark>
|
||||||
<bookmark href="http://www.korone.net/">
|
<bookmark href="http://www.korone.net/">
|
||||||
<title>Korean Qt Community Site</title>
|
<title>Korean Qt Community Site</title>
|
||||||
</bookmark>
|
</bookmark>
|
||||||
<bookmark href="http://prog.org.ru/forum/forum_14.html">
|
<bookmark href="http://prog.org.ru/">
|
||||||
<title>Russian Qt Forum</title>
|
<title>Russian Qt Forum</title>
|
||||||
</bookmark>
|
</bookmark>
|
||||||
<bookmark href="http://qt4.digitalfanatics.org/">
|
|
||||||
<title>Digitalfanatics: The QT 4 Resource Center</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://www.qtquestions.org/">
|
|
||||||
<title>QtQuestions</title>
|
|
||||||
</bookmark>
|
|
||||||
</folder>
|
</folder>
|
||||||
<bookmark href="http://doc.qt.digia.com/qq/">
|
|
||||||
<title>Qt Quarterly</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://qt-project.org/">
|
|
||||||
<title>Qt home page</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://doc.qt.digia.com/4.0/">
|
|
||||||
<title>Qt 4.0 documentation</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://qt-project.org/faq/">
|
|
||||||
<title>Frequently Asked Questions</title>
|
|
||||||
</bookmark>
|
|
||||||
</folder>
|
</folder>
|
||||||
<folder folded="no">
|
<folder folded="no">
|
||||||
<title>Online Dictionaries</title>
|
<title>Online Dictionaries</title>
|
||||||
@ -73,9 +55,6 @@
|
|||||||
<title>OneLook Dictionary Search</title>
|
<title>OneLook Dictionary Search</title>
|
||||||
</bookmark>
|
</bookmark>
|
||||||
<separator/>
|
<separator/>
|
||||||
<bookmark href="www.iee.et.tu-dresden.de/">
|
|
||||||
<title>The New English-German Dictionary</title>
|
|
||||||
</bookmark>
|
|
||||||
<bookmark href="http://dict.tu-chemnitz.de/">
|
<bookmark href="http://dict.tu-chemnitz.de/">
|
||||||
<title>TU Chemnitz German-English Dictionary</title>
|
<title>TU Chemnitz German-English Dictionary</title>
|
||||||
</bookmark>
|
</bookmark>
|
||||||
@ -86,8 +65,5 @@
|
|||||||
<bookmark href="http://dictionnaires.atilf.fr/dictionnaires/ACADEMIE/">
|
<bookmark href="http://dictionnaires.atilf.fr/dictionnaires/ACADEMIE/">
|
||||||
<title>Dictionnaire de l'Académie Française</title>
|
<title>Dictionnaire de l'Académie Française</title>
|
||||||
</bookmark>
|
</bookmark>
|
||||||
<bookmark href="http://elsap1.unicaen.fr/cgi-bin/cherches.cgi">
|
|
||||||
<title>Dictionnaire des synonymes</title>
|
|
||||||
</bookmark>
|
|
||||||
</folder>
|
</folder>
|
||||||
</xbel>
|
</xbel>
|
||||||
|
@ -5,6 +5,7 @@
|
|||||||
{
|
{
|
||||||
lex.name = Lex ${QMAKE_FILE_IN}
|
lex.name = Lex ${QMAKE_FILE_IN}
|
||||||
lex.input = LEXSOURCES
|
lex.input = LEXSOURCES
|
||||||
|
lex.dependency_type = TYPE_C
|
||||||
lex_included {
|
lex_included {
|
||||||
lex.CONFIG += no_link
|
lex.CONFIG += no_link
|
||||||
} else {
|
} else {
|
||||||
|
@ -35,6 +35,7 @@
|
|||||||
yacc_impl.name = source for ${QMAKE_FILE_IN}
|
yacc_impl.name = source for ${QMAKE_FILE_IN}
|
||||||
yacc_impl.input = YACCSOURCES
|
yacc_impl.input = YACCSOURCES
|
||||||
yacc_impl.variable_out = GENERATED_SOURCES
|
yacc_impl.variable_out = GENERATED_SOURCES
|
||||||
|
yacc_impl.dependency_type = TYPE_C
|
||||||
yacc_impl.commands = $$escape_expand(\\n) # We don't want any commands where, but if command is empty no rules are created
|
yacc_impl.commands = $$escape_expand(\\n) # We don't want any commands where, but if command is empty no rules are created
|
||||||
yacc_impl.depends += $${QMAKE_CPP_MOD_MOC}${QMAKE_FILE_BASE}$${QMAKE_MOD_YACC}$${first(QMAKE_EXT_H)} # Make sure we depend on the step above
|
yacc_impl.depends += $${QMAKE_CPP_MOD_MOC}${QMAKE_FILE_BASE}$${QMAKE_MOD_YACC}$${first(QMAKE_EXT_H)} # Make sure we depend on the step above
|
||||||
yacc_impl.output = $${QMAKE_CPP_MOD_MOC}${QMAKE_FILE_BASE}$${QMAKE_MOD_YACC}$${first(QMAKE_EXT_CPP)} # Faked output from this step, output really created in step above
|
yacc_impl.output = $${QMAKE_CPP_MOD_MOC}${QMAKE_FILE_BASE}$${QMAKE_MOD_YACC}$${first(QMAKE_EXT_CPP)} # Faked output from this step, output really created in step above
|
||||||
|
@ -222,7 +222,7 @@ bool QFileSystemEngine::fillMetaData(int fd, QFileSystemMetaData &data)
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(QT_EXT_QNX_READDIR_R)
|
#if defined(_DEXTRA_FIRST)
|
||||||
static void fillStat64fromStat32(struct stat64 *statBuf64, const struct stat &statBuf32)
|
static void fillStat64fromStat32(struct stat64 *statBuf64, const struct stat &statBuf32)
|
||||||
{
|
{
|
||||||
statBuf64->st_mode = statBuf32.st_mode;
|
statBuf64->st_mode = statBuf32.st_mode;
|
||||||
@ -287,7 +287,7 @@ void QFileSystemMetaData::fillFromStatBuf(const QT_STATBUF &statBuffer)
|
|||||||
|
|
||||||
void QFileSystemMetaData::fillFromDirEnt(const QT_DIRENT &entry)
|
void QFileSystemMetaData::fillFromDirEnt(const QT_DIRENT &entry)
|
||||||
{
|
{
|
||||||
#if defined(QT_EXT_QNX_READDIR_R)
|
#if defined(_DEXTRA_FIRST)
|
||||||
knownFlagsMask = 0;
|
knownFlagsMask = 0;
|
||||||
entryFlags = 0;
|
entryFlags = 0;
|
||||||
for (dirent_extra *extra = _DEXTRA_FIRST(&entry); _DEXTRA_VALID(extra, &entry);
|
for (dirent_extra *extra = _DEXTRA_FIRST(&entry); _DEXTRA_VALID(extra, &entry);
|
||||||
|
@ -93,14 +93,6 @@ private:
|
|||||||
#else
|
#else
|
||||||
QT_DIR *dir;
|
QT_DIR *dir;
|
||||||
QT_DIRENT *dirEntry;
|
QT_DIRENT *dirEntry;
|
||||||
#if defined(_POSIX_THREAD_SAFE_FUNCTIONS) && !defined(Q_OS_CYGWIN) || defined(QT_EXT_QNX_READDIR_R)
|
|
||||||
// for readdir_r
|
|
||||||
QScopedPointer<QT_DIRENT, QScopedPointerPodDeleter> mt_file;
|
|
||||||
#if defined(QT_EXT_QNX_READDIR_R)
|
|
||||||
// for _readdir_r
|
|
||||||
size_t direntSize;
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
int lastError;
|
int lastError;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -52,9 +52,6 @@ QFileSystemIterator::QFileSystemIterator(const QFileSystemEntry &entry, QDir::Fi
|
|||||||
: nativePath(entry.nativeFilePath())
|
: nativePath(entry.nativeFilePath())
|
||||||
, dir(0)
|
, dir(0)
|
||||||
, dirEntry(0)
|
, dirEntry(0)
|
||||||
#if defined(Q_OS_QNX) && defined(__EXT_QNX__READDIR_R)
|
|
||||||
, direntSize(0)
|
|
||||||
#endif
|
|
||||||
, lastError(0)
|
, lastError(0)
|
||||||
{
|
{
|
||||||
Q_UNUSED(filters)
|
Q_UNUSED(filters)
|
||||||
@ -64,32 +61,8 @@ QFileSystemIterator::QFileSystemIterator(const QFileSystemEntry &entry, QDir::Fi
|
|||||||
if ((dir = QT_OPENDIR(nativePath.constData())) == 0) {
|
if ((dir = QT_OPENDIR(nativePath.constData())) == 0) {
|
||||||
lastError = errno;
|
lastError = errno;
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
if (!nativePath.endsWith('/'))
|
if (!nativePath.endsWith('/'))
|
||||||
nativePath.append('/');
|
nativePath.append('/');
|
||||||
|
|
||||||
#if defined(_POSIX_THREAD_SAFE_FUNCTIONS) && !defined(Q_OS_CYGWIN) || defined(QT_EXT_QNX_READDIR_R)
|
|
||||||
// ### Race condition; we should use fpathconf and dirfd().
|
|
||||||
size_t maxPathName = ::pathconf(nativePath.constData(), _PC_NAME_MAX);
|
|
||||||
if (maxPathName == size_t(-1))
|
|
||||||
maxPathName = FILENAME_MAX;
|
|
||||||
maxPathName += sizeof(QT_DIRENT) + 1;
|
|
||||||
|
|
||||||
QT_DIRENT *p = reinterpret_cast<QT_DIRENT*>(::malloc(maxPathName));
|
|
||||||
Q_CHECK_PTR(p);
|
|
||||||
|
|
||||||
mt_file.reset(p);
|
|
||||||
#if defined(QT_EXT_QNX_READDIR_R)
|
|
||||||
direntSize = maxPathName;
|
|
||||||
|
|
||||||
// Include extra stat information in the readdir() call (d_stat member of
|
|
||||||
// dirent_extra_stat). This is used in QFileSystemMetaData::fillFromDirEnt() to
|
|
||||||
// avoid extra stat() calls when iterating over directories
|
|
||||||
int flags = dircntl(dir, D_GETFLAG) | D_FLAG_STAT | D_FLAG_FILTER;
|
|
||||||
if (dircntl(dir, D_SETFLAG, flags) == -1)
|
|
||||||
lastError = errno;
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -104,18 +77,7 @@ bool QFileSystemIterator::advance(QFileSystemEntry &fileEntry, QFileSystemMetaDa
|
|||||||
if (!dir)
|
if (!dir)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
#if defined(QT_EXT_QNX_READDIR_R)
|
|
||||||
lastError = QT_EXT_QNX_READDIR_R(dir, mt_file.data(), &dirEntry, direntSize);
|
|
||||||
if (lastError)
|
|
||||||
return false;
|
|
||||||
#elif defined(_POSIX_THREAD_SAFE_FUNCTIONS) && !defined(Q_OS_CYGWIN)
|
|
||||||
lastError = QT_READDIR_R(dir, mt_file.data(), &dirEntry);
|
|
||||||
if (lastError)
|
|
||||||
return false;
|
|
||||||
#else
|
|
||||||
// ### add local lock to prevent breaking reentrancy
|
|
||||||
dirEntry = QT_READDIR(dir);
|
dirEntry = QT_READDIR(dir);
|
||||||
#endif // _POSIX_THREAD_SAFE_FUNCTIONS
|
|
||||||
|
|
||||||
if (dirEntry) {
|
if (dirEntry) {
|
||||||
fileEntry = QFileSystemEntry(nativePath + QByteArray(dirEntry->d_name), QFileSystemEntry::FromNativePath());
|
fileEntry = QFileSystemEntry(nativePath + QByteArray(dirEntry->d_name), QFileSystemEntry::FromNativePath());
|
||||||
|
@ -391,6 +391,8 @@ bool Parser::parseObject()
|
|||||||
}
|
}
|
||||||
|
|
||||||
int objectOffset = reserveSpace(sizeof(QJsonPrivate::Object));
|
int objectOffset = reserveSpace(sizeof(QJsonPrivate::Object));
|
||||||
|
if (objectOffset < 0)
|
||||||
|
return false;
|
||||||
BEGIN << "parseObject pos=" << objectOffset << current << json;
|
BEGIN << "parseObject pos=" << objectOffset << current << json;
|
||||||
|
|
||||||
ParsedObject parsedObject(this, objectOffset);
|
ParsedObject parsedObject(this, objectOffset);
|
||||||
@ -423,6 +425,9 @@ bool Parser::parseObject()
|
|||||||
if (parsedObject.offsets.size()) {
|
if (parsedObject.offsets.size()) {
|
||||||
int tableSize = parsedObject.offsets.size()*sizeof(uint);
|
int tableSize = parsedObject.offsets.size()*sizeof(uint);
|
||||||
table = reserveSpace(tableSize);
|
table = reserveSpace(tableSize);
|
||||||
|
if (table < 0)
|
||||||
|
return false;
|
||||||
|
|
||||||
#if Q_BYTE_ORDER == Q_LITTLE_ENDIAN
|
#if Q_BYTE_ORDER == Q_LITTLE_ENDIAN
|
||||||
memcpy(data + table, parsedObject.offsets.constData(), tableSize);
|
memcpy(data + table, parsedObject.offsets.constData(), tableSize);
|
||||||
#else
|
#else
|
||||||
@ -452,6 +457,8 @@ bool Parser::parseObject()
|
|||||||
bool Parser::parseMember(int baseOffset)
|
bool Parser::parseMember(int baseOffset)
|
||||||
{
|
{
|
||||||
int entryOffset = reserveSpace(sizeof(QJsonPrivate::Entry));
|
int entryOffset = reserveSpace(sizeof(QJsonPrivate::Entry));
|
||||||
|
if (entryOffset < 0)
|
||||||
|
return false;
|
||||||
BEGIN << "parseMember pos=" << entryOffset;
|
BEGIN << "parseMember pos=" << entryOffset;
|
||||||
|
|
||||||
bool latin1;
|
bool latin1;
|
||||||
@ -475,6 +482,42 @@ bool Parser::parseMember(int baseOffset)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
namespace {
|
||||||
|
struct ValueArray {
|
||||||
|
static const int prealloc = 128;
|
||||||
|
ValueArray() : data(stackValues), alloc(prealloc), size(0) {}
|
||||||
|
~ValueArray() { if (data != stackValues) free(data); }
|
||||||
|
|
||||||
|
inline bool grow() {
|
||||||
|
alloc *= 2;
|
||||||
|
if (data == stackValues) {
|
||||||
|
QJsonPrivate::Value *newValues = static_cast<QJsonPrivate::Value *>(malloc(alloc*sizeof(QJsonPrivate::Value)));
|
||||||
|
if (!newValues)
|
||||||
|
return false;
|
||||||
|
memcpy(newValues, data, size*sizeof(QJsonPrivate::Value));
|
||||||
|
data = newValues;
|
||||||
|
} else {
|
||||||
|
data = static_cast<QJsonPrivate::Value *>(realloc(data, alloc*sizeof(QJsonPrivate::Value)));
|
||||||
|
if (!data)
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
bool append(const QJsonPrivate::Value &v) {
|
||||||
|
if (alloc == size && !grow())
|
||||||
|
return false;
|
||||||
|
data[size] = v;
|
||||||
|
++size;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
QJsonPrivate::Value stackValues[prealloc];
|
||||||
|
QJsonPrivate::Value *data;
|
||||||
|
int alloc;
|
||||||
|
int size;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
array = begin-array [ value *( value-separator value ) ] end-array
|
array = begin-array [ value *( value-separator value ) ] end-array
|
||||||
*/
|
*/
|
||||||
@ -488,8 +531,10 @@ bool Parser::parseArray()
|
|||||||
}
|
}
|
||||||
|
|
||||||
int arrayOffset = reserveSpace(sizeof(QJsonPrivate::Array));
|
int arrayOffset = reserveSpace(sizeof(QJsonPrivate::Array));
|
||||||
|
if (arrayOffset < 0)
|
||||||
|
return false;
|
||||||
|
|
||||||
QVarLengthArray<QJsonPrivate::Value, 64> values;
|
ValueArray values;
|
||||||
|
|
||||||
if (!eatSpace()) {
|
if (!eatSpace()) {
|
||||||
lastError = QJsonParseError::UnterminatedArray;
|
lastError = QJsonParseError::UnterminatedArray;
|
||||||
@ -502,7 +547,10 @@ bool Parser::parseArray()
|
|||||||
QJsonPrivate::Value val;
|
QJsonPrivate::Value val;
|
||||||
if (!parseValue(&val, arrayOffset))
|
if (!parseValue(&val, arrayOffset))
|
||||||
return false;
|
return false;
|
||||||
values.append(val);
|
if (!values.append(val)) {
|
||||||
|
lastError = QJsonParseError::DocumentTooLarge;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
char token = nextToken();
|
char token = nextToken();
|
||||||
if (token == EndArray)
|
if (token == EndArray)
|
||||||
break;
|
break;
|
||||||
@ -516,20 +564,22 @@ bool Parser::parseArray()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
DEBUG << "size =" << values.size();
|
DEBUG << "size =" << values.size;
|
||||||
int table = arrayOffset;
|
int table = arrayOffset;
|
||||||
// finalize the object
|
// finalize the object
|
||||||
if (values.size()) {
|
if (values.size) {
|
||||||
int tableSize = values.size()*sizeof(QJsonPrivate::Value);
|
int tableSize = values.size*sizeof(QJsonPrivate::Value);
|
||||||
table = reserveSpace(tableSize);
|
table = reserveSpace(tableSize);
|
||||||
memcpy(data + table, values.constData(), tableSize);
|
if (table < 0)
|
||||||
|
return false;
|
||||||
|
memcpy(data + table, values.data, tableSize);
|
||||||
}
|
}
|
||||||
|
|
||||||
QJsonPrivate::Array *a = (QJsonPrivate::Array *)(data + arrayOffset);
|
QJsonPrivate::Array *a = (QJsonPrivate::Array *)(data + arrayOffset);
|
||||||
a->tableOffset = table - arrayOffset;
|
a->tableOffset = table - arrayOffset;
|
||||||
a->size = current - arrayOffset;
|
a->size = current - arrayOffset;
|
||||||
a->is_object = false;
|
a->is_object = false;
|
||||||
a->length = values.size();
|
a->length = values.size;
|
||||||
|
|
||||||
DEBUG << "current=" << current;
|
DEBUG << "current=" << current;
|
||||||
END;
|
END;
|
||||||
@ -738,6 +788,8 @@ bool Parser::parseNumber(QJsonPrivate::Value *val, int baseOffset)
|
|||||||
}
|
}
|
||||||
|
|
||||||
int pos = reserveSpace(sizeof(double));
|
int pos = reserveSpace(sizeof(double));
|
||||||
|
if (pos < 0)
|
||||||
|
return false;
|
||||||
qToLittleEndian(ui, data + pos);
|
qToLittleEndian(ui, data + pos);
|
||||||
if (current - baseOffset >= Value::MaxSize) {
|
if (current - baseOffset >= Value::MaxSize) {
|
||||||
lastError = QJsonParseError::DocumentTooLarge;
|
lastError = QJsonParseError::DocumentTooLarge;
|
||||||
@ -856,6 +908,9 @@ bool Parser::parseString(bool *latin1)
|
|||||||
// try to write out a latin1 string
|
// try to write out a latin1 string
|
||||||
|
|
||||||
int stringPos = reserveSpace(2);
|
int stringPos = reserveSpace(2);
|
||||||
|
if (stringPos < 0)
|
||||||
|
return false;
|
||||||
|
|
||||||
BEGIN << "parse string stringPos=" << stringPos << json;
|
BEGIN << "parse string stringPos=" << stringPos << json;
|
||||||
while (json < end) {
|
while (json < end) {
|
||||||
uint ch = 0;
|
uint ch = 0;
|
||||||
@ -878,6 +933,8 @@ bool Parser::parseString(bool *latin1)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
int pos = reserveSpace(1);
|
int pos = reserveSpace(1);
|
||||||
|
if (pos < 0)
|
||||||
|
return false;
|
||||||
DEBUG << " " << ch << (char)ch;
|
DEBUG << " " << ch << (char)ch;
|
||||||
data[pos] = (uchar)ch;
|
data[pos] = (uchar)ch;
|
||||||
}
|
}
|
||||||
@ -893,6 +950,8 @@ bool Parser::parseString(bool *latin1)
|
|||||||
// write string length
|
// write string length
|
||||||
*(QJsonPrivate::qle_ushort *)(data + stringPos) = ushort(current - outStart - sizeof(ushort));
|
*(QJsonPrivate::qle_ushort *)(data + stringPos) = ushort(current - outStart - sizeof(ushort));
|
||||||
int pos = reserveSpace((4 - current) & 3);
|
int pos = reserveSpace((4 - current) & 3);
|
||||||
|
if (pos < 0)
|
||||||
|
return false;
|
||||||
while (pos & 3)
|
while (pos & 3)
|
||||||
data[pos++] = 0;
|
data[pos++] = 0;
|
||||||
END;
|
END;
|
||||||
@ -922,10 +981,14 @@ bool Parser::parseString(bool *latin1)
|
|||||||
}
|
}
|
||||||
if (QChar::requiresSurrogates(ch)) {
|
if (QChar::requiresSurrogates(ch)) {
|
||||||
int pos = reserveSpace(4);
|
int pos = reserveSpace(4);
|
||||||
|
if (pos < 0)
|
||||||
|
return false;
|
||||||
*(QJsonPrivate::qle_ushort *)(data + pos) = QChar::highSurrogate(ch);
|
*(QJsonPrivate::qle_ushort *)(data + pos) = QChar::highSurrogate(ch);
|
||||||
*(QJsonPrivate::qle_ushort *)(data + pos + 2) = QChar::lowSurrogate(ch);
|
*(QJsonPrivate::qle_ushort *)(data + pos + 2) = QChar::lowSurrogate(ch);
|
||||||
} else {
|
} else {
|
||||||
int pos = reserveSpace(2);
|
int pos = reserveSpace(2);
|
||||||
|
if (pos < 0)
|
||||||
|
return false;
|
||||||
*(QJsonPrivate::qle_ushort *)(data + pos) = (ushort)ch;
|
*(QJsonPrivate::qle_ushort *)(data + pos) = (ushort)ch;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -939,6 +1002,8 @@ bool Parser::parseString(bool *latin1)
|
|||||||
// write string length
|
// write string length
|
||||||
*(QJsonPrivate::qle_int *)(data + stringPos) = (current - outStart - sizeof(int))/2;
|
*(QJsonPrivate::qle_int *)(data + stringPos) = (current - outStart - sizeof(int))/2;
|
||||||
int pos = reserveSpace((4 - current) & 3);
|
int pos = reserveSpace((4 - current) & 3);
|
||||||
|
if (pos < 0)
|
||||||
|
return false;
|
||||||
while (pos & 3)
|
while (pos & 3)
|
||||||
data[pos++] = 0;
|
data[pos++] = 0;
|
||||||
END;
|
END;
|
||||||
|
@ -108,6 +108,10 @@ private:
|
|||||||
if (current + space >= dataLength) {
|
if (current + space >= dataLength) {
|
||||||
dataLength = 2*dataLength + space;
|
dataLength = 2*dataLength + space;
|
||||||
data = (char *)realloc(data, dataLength);
|
data = (char *)realloc(data, dataLength);
|
||||||
|
if (!data) {
|
||||||
|
lastError = QJsonParseError::DocumentTooLarge;
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
int pos = current;
|
int pos = current;
|
||||||
current += space;
|
current += space;
|
||||||
|
@ -187,10 +187,12 @@ void QFactoryLoader::update()
|
|||||||
++keyUsageCount;
|
++keyUsageCount;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (keyUsageCount || keys.isEmpty())
|
if (keyUsageCount || keys.isEmpty()) {
|
||||||
|
library->setLoadHints(QLibrary::PreventUnloadHint); // once loaded, don't unload
|
||||||
d->libraryList += library;
|
d->libraryList += library;
|
||||||
else
|
} else {
|
||||||
library->release();
|
library->release();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
|
@ -154,6 +154,7 @@ QPluginLoader::QPluginLoader(const QString &fileName, QObject *parent)
|
|||||||
: QObject(parent), d(0), did_load(false)
|
: QObject(parent), d(0), did_load(false)
|
||||||
{
|
{
|
||||||
setFileName(fileName);
|
setFileName(fileName);
|
||||||
|
setLoadHints(QLibrary::PreventUnloadHint);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
@ -348,7 +349,7 @@ static QString locatePlugin(const QString& fileName)
|
|||||||
void QPluginLoader::setFileName(const QString &fileName)
|
void QPluginLoader::setFileName(const QString &fileName)
|
||||||
{
|
{
|
||||||
#if defined(QT_SHARED)
|
#if defined(QT_SHARED)
|
||||||
QLibrary::LoadHints lh;
|
QLibrary::LoadHints lh = QLibrary::PreventUnloadHint;
|
||||||
if (d) {
|
if (d) {
|
||||||
lh = d->loadHints();
|
lh = d->loadHints();
|
||||||
d->release();
|
d->release();
|
||||||
@ -394,7 +395,7 @@ QString QPluginLoader::errorString() const
|
|||||||
\brief Give the load() function some hints on how it should behave.
|
\brief Give the load() function some hints on how it should behave.
|
||||||
|
|
||||||
You can give hints on how the symbols in the plugin are
|
You can give hints on how the symbols in the plugin are
|
||||||
resolved. By default, none of the hints are set.
|
resolved. By default since Qt 5.7, QLibrary::PreventUnloadHint is set.
|
||||||
|
|
||||||
See the documentation of QLibrary::loadHints for a complete
|
See the documentation of QLibrary::loadHints for a complete
|
||||||
description of how this property works.
|
description of how this property works.
|
||||||
|
@ -42,6 +42,10 @@
|
|||||||
|
|
||||||
#include <QtCore/qglobal.h>
|
#include <QtCore/qglobal.h>
|
||||||
|
|
||||||
|
#if defined(Q_CC_MSVC) && _MSC_VER > 1500
|
||||||
|
#include <intrin.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
QT_BEGIN_NAMESPACE
|
QT_BEGIN_NAMESPACE
|
||||||
QT_WARNING_PUSH
|
QT_WARNING_PUSH
|
||||||
QT_WARNING_DISABLE_GCC("-Wdeprecated-declarations")
|
QT_WARNING_DISABLE_GCC("-Wdeprecated-declarations")
|
||||||
|
@ -4848,6 +4848,39 @@ QString QString::fromUtf16(const ushort *unicode, int size)
|
|||||||
return QUtf16::convertToUnicode((const char *)unicode, size*2, 0);
|
return QUtf16::convertToUnicode((const char *)unicode, size*2, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\fn QString QString::fromUtf16(const char16_t *str, int size)
|
||||||
|
\since 5.3
|
||||||
|
|
||||||
|
Returns a QString initialized with the first \a size characters
|
||||||
|
of the Unicode string \a str (ISO-10646-UTF-16 encoded).
|
||||||
|
|
||||||
|
If \a size is -1 (default), \a str must be terminated
|
||||||
|
with a 0.
|
||||||
|
|
||||||
|
This function checks for a Byte Order Mark (BOM). If it is missing,
|
||||||
|
host byte order is assumed.
|
||||||
|
|
||||||
|
This function is slow compared to the other Unicode conversions.
|
||||||
|
Use QString(const QChar *, int) or QString(const QChar *) if possible.
|
||||||
|
|
||||||
|
QString makes a deep copy of the Unicode data.
|
||||||
|
|
||||||
|
\sa utf16(), setUtf16(), fromStdU16String()
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\fn QString QString::fromUcs4(const char32_t *str, int size)
|
||||||
|
\since 5.3
|
||||||
|
|
||||||
|
Returns a QString initialized with the first \a size characters
|
||||||
|
of the Unicode string \a str (ISO-10646-UCS-4 encoded).
|
||||||
|
|
||||||
|
If \a size is -1 (default), \a str must be terminated
|
||||||
|
with a 0.
|
||||||
|
|
||||||
|
\sa toUcs4(), fromUtf16(), utf16(), setUtf16(), fromWCharArray(), fromStdU32String()
|
||||||
|
*/
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\since 4.2
|
\since 4.2
|
||||||
|
@ -303,7 +303,7 @@ QPixmap QPixmapIconEngine::pixmap(const QSize &size, QIcon::Mode mode, QIcon::St
|
|||||||
|
|
||||||
QString key = QLatin1String("qt_")
|
QString key = QLatin1String("qt_")
|
||||||
% HexString<quint64>(pm.cacheKey())
|
% HexString<quint64>(pm.cacheKey())
|
||||||
% HexString<uint>(pe->mode)
|
% HexString<uint>(pe ? pe->mode : QIcon::Normal)
|
||||||
% HexString<quint64>(QGuiApplication::palette().cacheKey())
|
% HexString<quint64>(QGuiApplication::palette().cacheKey())
|
||||||
% HexString<uint>(actualSize.width())
|
% HexString<uint>(actualSize.width())
|
||||||
% HexString<uint>(actualSize.height());
|
% HexString<uint>(actualSize.height());
|
||||||
|
@ -135,9 +135,6 @@ QDebug operator<<(QDebug d, const QOpenGLConfig::Gpu &g)
|
|||||||
return d;
|
return d;
|
||||||
}
|
}
|
||||||
|
|
||||||
enum Operator { NotEqual, LessThan, LessEqualThan, Equals, GreaterThan, GreaterEqualThan };
|
|
||||||
static const char operators[][3] = {"!=", "<", "<=", "=", ">", ">="};
|
|
||||||
|
|
||||||
typedef QJsonArray::ConstIterator JsonArrayConstIt;
|
typedef QJsonArray::ConstIterator JsonArrayConstIt;
|
||||||
|
|
||||||
static inline bool contains(const QJsonArray &haystack, unsigned needle)
|
static inline bool contains(const QJsonArray &haystack, unsigned needle)
|
||||||
@ -159,6 +156,9 @@ static inline bool contains(const QJsonArray &haystack, const QString &needle)
|
|||||||
}
|
}
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
|
enum Operator { NotEqual, LessThan, LessEqualThan, Equals, GreaterThan, GreaterEqualThan };
|
||||||
|
static const char operators[][3] = {"!=", "<", "<=", "=", ">", ">="};
|
||||||
|
|
||||||
// VersionTerm describing a version term consisting of number and operator
|
// VersionTerm describing a version term consisting of number and operator
|
||||||
// found in os.version and driver_version.
|
// found in os.version and driver_version.
|
||||||
struct VersionTerm {
|
struct VersionTerm {
|
||||||
|
@ -4508,8 +4508,10 @@ static void blend_tiled_argb(int count, const QSpan *spans, void *userData)
|
|||||||
uint *dest = ((uint *)data->rasterBuffer->scanLine(spans->y)) + x;
|
uint *dest = ((uint *)data->rasterBuffer->scanLine(spans->y)) + x;
|
||||||
op.func(dest, src, l, coverage);
|
op.func(dest, src, l, coverage);
|
||||||
x += l;
|
x += l;
|
||||||
|
sx += l;
|
||||||
length -= l;
|
length -= l;
|
||||||
sx = 0;
|
if (sx >= image_width)
|
||||||
|
sx = 0;
|
||||||
}
|
}
|
||||||
++spans;
|
++spans;
|
||||||
}
|
}
|
||||||
@ -4567,7 +4569,9 @@ static void blend_tiled_rgb565(int count, const QSpan *spans, void *userData)
|
|||||||
memcpy(dest, src, l * sizeof(quint16));
|
memcpy(dest, src, l * sizeof(quint16));
|
||||||
length -= l;
|
length -= l;
|
||||||
tx += l;
|
tx += l;
|
||||||
sx = 0;
|
sx += l;
|
||||||
|
if (sx >= image_width)
|
||||||
|
sx = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Now use the rasterBuffer as the source of the texture,
|
// Now use the rasterBuffer as the source of the texture,
|
||||||
@ -4600,8 +4604,10 @@ static void blend_tiled_rgb565(int count, const QSpan *spans, void *userData)
|
|||||||
const quint16 *src = (const quint16 *)data->texture.scanLine(sy) + sx;
|
const quint16 *src = (const quint16 *)data->texture.scanLine(sy) + sx;
|
||||||
blend_sourceOver_rgb16_rgb16(dest, src, l, alpha, ialpha);
|
blend_sourceOver_rgb16_rgb16(dest, src, l, alpha, ialpha);
|
||||||
x += l;
|
x += l;
|
||||||
|
sx += l;
|
||||||
length -= l;
|
length -= l;
|
||||||
sx = 0;
|
if (sx >= image_width)
|
||||||
|
sx = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -648,7 +648,7 @@ qint64 QNativeSocketEngine::readDatagram(char *data, qint64 maxlen, QIpPacketHea
|
|||||||
QByteArray readOrigin;
|
QByteArray readOrigin;
|
||||||
// Do not read the whole datagram. Put the rest of it back into the "queue"
|
// Do not read the whole datagram. Put the rest of it back into the "queue"
|
||||||
if (maxlen < datagram.data.length()) {
|
if (maxlen < datagram.data.length()) {
|
||||||
QByteArray readOrigin = datagram.data.left(maxlen);
|
readOrigin = datagram.data.left(maxlen);
|
||||||
datagram.data = datagram.data.remove(0, maxlen);
|
datagram.data = datagram.data.remove(0, maxlen);
|
||||||
d->pendingDatagrams.prepend(datagram);
|
d->pendingDatagrams.prepend(datagram);
|
||||||
} else {
|
} else {
|
||||||
|
@ -326,7 +326,7 @@ void QMainWindowPrivate::init()
|
|||||||
direction.
|
direction.
|
||||||
|
|
||||||
Two dock widgets may also be stacked on top of each other. A
|
Two dock widgets may also be stacked on top of each other. A
|
||||||
QTabBar is then used to select which of the widgets that should be
|
QTabBar is then used to select which of the widgets should be
|
||||||
displayed.
|
displayed.
|
||||||
|
|
||||||
We give an example of how to create and add dock widgets to a
|
We give an example of how to create and add dock widgets to a
|
||||||
|
@ -184,9 +184,12 @@ Qt::Corner QSizeGripPrivate::corner() const
|
|||||||
Put this widget anywhere in a widget tree and the user can use it
|
Put this widget anywhere in a widget tree and the user can use it
|
||||||
to resize the top-level window or any widget with the Qt::SubWindow
|
to resize the top-level window or any widget with the Qt::SubWindow
|
||||||
flag set. Generally, this should be in the lower right-hand corner.
|
flag set. Generally, this should be in the lower right-hand corner.
|
||||||
|
|
||||||
Note that QStatusBar already uses this widget, so if you have a
|
Note that QStatusBar already uses this widget, so if you have a
|
||||||
status bar (e.g., you are using QMainWindow), then you don't need
|
status bar (e.g., you are using QMainWindow), then you don't need
|
||||||
to use this widget explicitly.
|
to use this widget explicitly. The same goes for QDialog, for which
|
||||||
|
you can just call \l {QDialog::setSizeGripEnabled()}
|
||||||
|
{QDialog::setSizeGripEnabled()}.
|
||||||
|
|
||||||
On some platforms the size grip automatically hides itself when the
|
On some platforms the size grip automatically hides itself when the
|
||||||
window is shown full screen or maximised.
|
window is shown full screen or maximised.
|
||||||
|
Loading…
Reference in New Issue
Block a user