X-Git-Url: https://git.sven.stormbind.net/?a=blobdiff_plain;f=src%2Faboutdialog.cpp;fp=src%2Faboutdialog.cpp;h=b5a188de8807a6f3a7e6b4b1460d2f85f628fcb2;hb=d483bd8e6523c23c6f1d8908a2e0611c2bc9ff4f;hp=0000000000000000000000000000000000000000;hpb=7dfa3fe589d1722d49681f42cdb0bf1e6efb5223;p=sven%2Fvym.git diff --git a/src/aboutdialog.cpp b/src/aboutdialog.cpp new file mode 100644 index 0000000..b5a188d --- /dev/null +++ b/src/aboutdialog.cpp @@ -0,0 +1,514 @@ +#include +#include +#include +#include + +#include "aboutdialog.h" +#include "settings.h" + +extern Settings settings; +extern QString iconPath; // FIXME-4 embed vym logo as ressource? +extern QString vymVersion; +extern QString vymBuildDate; +extern QString vymCodeName; +extern QString vymCodeQuality; + +extern QColor vymBlue; + +AboutDialog::AboutDialog(QWidget *parent) : QDialog(parent) +{ + + mainLayout = new QVBoxLayout(this); + + tabs = new QTabWidget(this); + credits = new AboutTextBrowser(parent); + + QString version = vymVersion; + if (!vymCodeName.isEmpty()) + version += QString(" - \"%1\"").arg(vymCodeName); + + credits->setHtml( + QString( + "" + "
" + "

VYM - View Your Mind

" + "

A tool to put the things you have got in your mind into a map.

" + "

(c) 2004-%1 by Uwe Drechsel (vym@InSilmaril.de)

" + "

Version " + version + "

" + "

Quality: " + vymCodeQuality + "

" + "

Build date: " + vymBuildDate + "

" + "
    " + "
  • Contact
  • " + "" + "
  • Credits " + "
      " + "
    • Documentation" + "
        " + "
      • Peter Adams: documentation proofreading and polishing
      • " + "
      " + "
    • " + "
    • Translations" + "
        " + "
      • Brasilian: Amadeu Júnior
      • " + "
      • Chinese (simplified): Moligaloo
      • " + "
      • Chinese (traditional): Wei-Lun Chao
      • " + "
      • Croatian: Damir BraÅ¡nić
      • " + "
      • Czech: Vít Pelčák, Pavel Fric
      • " + "
      • French: Marc Sert, Philippe Caillaud and Claude
      • " + "
      • Greek: Yannis Kaskamanidis
      • " + "
      • Interlingua: Giovanni Sora
      • " + "
      • Italian: Albano Battistella, Giovanni Sora, Seyed Puria Nafisi Azizi
      • " + "
      • Japanese: Tsuren Tsuchiya
      • " + "
      • Russian: Anton Olenev
      • " + "
      • Spanish: " + " ACLibre (Academia y Conocimiento Libre) and " + "David Amian
      • " + "
      " + "
    • " + "
    • Patches" + "
        " + "
      • Edward Wang: adding close tab buttons
      • " + "
      • p0llox (Pierre): various patches for Debian packaging
      • " + "
      " + "
    • " + "
    • Patches in previous vym versions" + "
        " + "
      • Łukasz Pietrzak, Scott Dillman and Patrick Spendrin, " + "Andrew Ng, " + "Juha Ruotsalainen and Thomas Kriener: windows patches
      • " + "
      • Thomas Schraitle for the stylesheet" + " formerly used for XHTML-export and help with XML " + "processing in general
      • " + "
      • Matt from www.satbp.com: " + " Taskjuggler " + "export
      • " + "
      • Darren Lissimore: Windows compiler patch
      • " + "
      • Konstantin Goudkov: sort branches
      • " + "
      • Jakob Hilmer: image drag and drop in 1.8.1, "About " + "vym" window patch
      • " + "
      " + "
    • " + "
    • Icons" + "

      A number of icons were copied from the KDE project, especially" + " from the Oxygen icon theme. Some of these have been heavily " + " reworked by Uwe Drechsel - Thanks to the KDE team!

    • " + "
    • Packaging" + "
    • " + "
        " + "
      • Jon Ciesla: Sourceforge file releases
      • " + "
      • Xavier Oswald, Christoph Thielecke, Pierre, and Steffen " + "Joeris: Debian packaging
      • " + "
      " + "
    • General" + "
        " + "
      • Initial CMake setup by Daniel Rossberg, Costantino Giuliodori and Patrick " + "Spendrin
      • " + "
      • All the guys at Trolltech (now Qt) for starting Qt
      • " + "
      • All the guys at SUSE Linux for openSUSE Linux and support," + " e.g. to get Linux running on PowerPC and also " + "Macbooks
      • " + "
      " + "
    • " + "
    " + "
  • ") + .arg(QDate::currentDate().year())); + ; + credits->setFrameStyle(QFrame::Panel | QFrame::Plain); + tabs->addTab(credits, tr("Credits", "Help->About vym dialog")); + + license = new AboutTextBrowser(parent); + license->setText( + QString( + "
    " + "

    VYM - View Your Mind

    " + "

    Copyright (C) 2004-%1 Uwe Drechsel

    " + "
    " + + "

    This program is free software; you can redistribute it and/or " + "modify it under the terms of the GNU General Public License " + "version 2 as published by the Free Software Foundation.

    " + + "

    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 below for more details.

    " + + "

    In addition, as a special exception, Uwe Drechsel gives " + "permission to link the code of this program with the QT libraries " + "from trolltech.com (or with modified versions of QT that use the " + "same license as QT), and distribute linked combinations including " + "the two. You must obey the GNU General Public License in all " + "respects for all of the code used other than QT. If you modify " + "this file, you may extend this exception to your version of the " + "file, but you are not obligated to do so. If you do not wish to " + "do so, delete this exception statement from your version.

    " + + "

    Uwe Drechsel can be contacted at vym@insilmaril.de

    " + + "
    " + + "

    GNU GENERAL PUBLIC LICENSE
    " + "Version 2, June 1991

    " + + "

    Copyright (C) 1989, 1991 Free Software " + "Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA " + "02111-1307 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:" + "

      " + "
    1. You must cause the modified files to carry prominent notices " + "stating that you changed the files and the date of any " + "change.
    2. " + + "
    3. 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.
    4. " + + "
    5. 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.)
    6. " + "
    " + "

    " + + "

    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:" + "

      " + + "
    1. 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,
    2. " + + "
    3. 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,
    4. " + + "
    5. 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.)
    6. " + "

    " + + "

    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

    ") + .arg(QDate::currentDate().year())); + + credits->setFrameStyle(QFrame::Panel | QFrame::Plain); + tabs->addTab(license, tr("License", "Help->About vym dialog")); + + mainLayout->addWidget(tabs); + + okbutton = new QPushButton(this); + okbutton->setText(tr("Ok", "Ok Button")); + okbutton->setMaximumSize(QSize(50, 30)); + okbutton->setAutoDefault(true); + mainLayout->addWidget(okbutton); + + connect(okbutton, SIGNAL(clicked()), this, SLOT(accept())); +} + +AboutTextBrowser::AboutTextBrowser(QWidget *parent) : QTextBrowser(parent) {} + +void AboutTextBrowser::setSource(const QUrl &url) +{ + QProcess *proc = new QProcess(); + proc->start(settings.value("/system/readerURL").toString(), + QStringList() << url.toString()); + // if (!proc->waitForStarted() &&mainWindow->settingsURL() ) setSource(url); + if (!proc->waitForStarted()) + QMessageBox::warning( + 0, tr("Warning", "About window"), + tr("Couldn't find a viewer to open %1.\n", "About window") + .arg(url.toString()) + + tr("Please use Settings->") + + tr("Set application to open an URL...")); +}