diff options
author | Tim Jenssen <tim.jenssen@nokia.com> | 2011-10-07 12:23:35 +0200 |
---|---|---|
committer | Tim Jenssen <tim.jenssen@nokia.com> | 2011-10-10 15:33:27 +0200 |
commit | a08dac50678df623e6defa99041951301ba5bfaf (patch) | |
tree | 89d2d2dd68bc4c47f34b977e6bcd7b53abe9e049 | |
parent | df6600d5ef05a3ffc2188cf207626df26812bbfb (diff) |
removed some unneeded ui elements from kdtools
- kdupdaterupdatesdialog
- kdupdaterpackagesview
- addupdatesourcedialog
Change-Id: If524c7daad56d683ec96ebc98dca0762b8062103
Reviewed-on: http://codereview.qt-project.org/6260
Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Tim Jenssen <tim.jenssen@nokia.com>
11 files changed, 0 insertions, 1447 deletions
diff --git a/installerbuilder/libinstaller/3rdparty/kdtools/KDUpdater/KDUpdater b/installerbuilder/libinstaller/3rdparty/kdtools/KDUpdater/KDUpdater index a327ece5b..3de5e736c 100644 --- a/installerbuilder/libinstaller/3rdparty/kdtools/KDUpdater/KDUpdater +++ b/installerbuilder/libinstaller/3rdparty/kdtools/KDUpdater/KDUpdater @@ -4,7 +4,6 @@ #include "kdupdaterfiledownloader.h" #include "kdupdaterfiledownloaderfactory.h" #include "kdupdaterpackagesinfo.h" -#include "kdupdaterpackagesview.h" #include "kdupdatersignatureverificationresult.h" #include "kdupdatersignatureverificationrunnable.h" #include "kdupdatersignatureverifier.h" @@ -15,6 +14,4 @@ #include "kdupdaterupdateoperation.h" #include "kdupdaterupdateoperationfactory.h" #include "kdupdaterupdateoperations.h" -#include "kdupdaterupdatesdialog.h" #include "kdupdaterupdatesourcesinfo.h" -#include "kdupdaterupdatesourcesview.h" diff --git a/installerbuilder/libinstaller/3rdparty/kdtools/KDUpdater/KDUpdater.pri b/installerbuilder/libinstaller/3rdparty/kdtools/KDUpdater/KDUpdater.pri index 3df7ca5c8..72a59e482 100644 --- a/installerbuilder/libinstaller/3rdparty/kdtools/KDUpdater/KDUpdater.pri +++ b/installerbuilder/libinstaller/3rdparty/kdtools/KDUpdater/KDUpdater.pri @@ -12,7 +12,6 @@ HEADERS += $$PWD/kdupdater.h \ $$PWD/kdupdaterfiledownloader_p.h \ $$PWD/kdupdaterfiledownloaderfactory.h \ $$PWD/kdupdaterpackagesinfo.h \ - $$PWD/kdupdaterpackagesview.h \ $$PWD/kdupdatersignatureverificationresult.h \ $$PWD/kdupdatersignatureverifier.h \ $$PWD/kdupdaterupdate.h \ @@ -26,8 +25,6 @@ HEADERS += $$PWD/kdupdater.h \ $$PWD/kdupdaterupdatesinfo_p.h \ $$PWD/kdupdaterupdateinstaller.h \ $$PWD/kdupdaterufuncompressor_p.h \ - $$PWD/kdupdaterupdatesdialog.h \ - $$PWD/kdupdaterupdatesourcesview.h \ $$PWD/kdupdaterufcompresscommon_p.h \ $$PWD/environment.h @@ -36,7 +33,6 @@ SOURCES += $$PWD/kdupdaterapplication.cpp \ $$PWD/kdupdaterfiledownloader.cpp \ $$PWD/kdupdaterfiledownloaderfactory.cpp \ $$PWD/kdupdaterpackagesinfo.cpp \ - $$PWD/kdupdaterpackagesview.cpp \ $$PWD/kdupdatersignatureverificationresult.cpp \ $$PWD/kdupdatersignatureverifier.cpp \ $$PWD/kdupdaterupdate.cpp \ @@ -50,18 +46,9 @@ SOURCES += $$PWD/kdupdaterapplication.cpp \ $$PWD/kdupdaterupdatesinfo.cpp \ $$PWD/kdupdaterupdateinstaller.cpp \ $$PWD/kdupdaterufuncompressor.cpp \ - $$PWD/kdupdaterupdatesdialog.cpp \ - $$PWD/kdupdaterupdatesourcesview.cpp \ $$PWD/kdupdaterufcompresscommon.cpp \ $$PWD/environment.cpp - - -FORMS += $$PWD/updatesdialog.ui \ - $$PWD/addupdatesourcedialog.ui - -DEFINES += KDUPDATERGUITEXTBROWSER \ - KDUPDATERVIEW=QTextBrowser QT += gui TRY_INCLUDEPATHS = /include /usr/include /usr/local/include $$QMAKE_INCDIR $$INCLUDEPATH diff --git a/installerbuilder/libinstaller/3rdparty/kdtools/KDUpdater/UpdatesDialog b/installerbuilder/libinstaller/3rdparty/kdtools/KDUpdater/UpdatesDialog deleted file mode 100644 index b1fbb7803..000000000 --- a/installerbuilder/libinstaller/3rdparty/kdtools/KDUpdater/UpdatesDialog +++ /dev/null @@ -1 +0,0 @@ -#include "kdupdaterupdatesdialog.h" diff --git a/installerbuilder/libinstaller/3rdparty/kdtools/KDUpdater/addupdatesourcedialog.ui b/installerbuilder/libinstaller/3rdparty/kdtools/KDUpdater/addupdatesourcedialog.ui deleted file mode 100644 index c0de05109..000000000 --- a/installerbuilder/libinstaller/3rdparty/kdtools/KDUpdater/addupdatesourcedialog.ui +++ /dev/null @@ -1,193 +0,0 @@ -<ui version="4.0" > - <class>AddUpdateSourceDialog</class> - <widget class="QDialog" name="AddUpdateSourceDialog" > - <property name="geometry" > - <rect> - <x>0</x> - <y>0</y> - <width>400</width> - <height>239</height> - </rect> - </property> - <property name="windowTitle" > - <string>Add Update Source</string> - </property> - <layout class="QVBoxLayout" > - <item> - <layout class="QGridLayout" > - <item row="0" column="0" > - <widget class="QLabel" name="label" > - <property name="text" > - <string>&Name</string> - </property> - <property name="buddy" > - <cstring>txtName</cstring> - </property> - </widget> - </item> - <item row="0" column="1" > - <widget class="QLineEdit" name="txtName" > - <property name="font" > - <font> - <pointsize>10</pointsize> - <weight>75</weight> - <bold>true</bold> - </font> - </property> - </widget> - </item> - <item row="1" column="0" > - <widget class="QLabel" name="label_2" > - <property name="text" > - <string>&Title</string> - </property> - <property name="buddy" > - <cstring>txtTitle</cstring> - </property> - </widget> - </item> - <item row="1" column="1" > - <widget class="QLineEdit" name="txtTitle" > - <property name="font" > - <font> - <pointsize>9</pointsize> - <italic>false</italic> - </font> - </property> - </widget> - </item> - <item row="2" column="0" > - <widget class="QLabel" name="label_3" > - <property name="text" > - <string>&Description</string> - </property> - <property name="alignment" > - <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set> - </property> - <property name="buddy" > - <cstring>txtDescription</cstring> - </property> - </widget> - </item> - <item row="2" column="1" > - <widget class="QTextEdit" name="txtDescription" /> - </item> - <item row="3" column="0" > - <widget class="QLabel" name="label_4" > - <property name="text" > - <string>&URL</string> - </property> - <property name="buddy" > - <cstring>txtUrl</cstring> - </property> - </widget> - </item> - <item row="3" column="1" > - <widget class="QLineEdit" name="txtUrl" > - <property name="palette" > - <palette> - <active> - <colorrole role="Text" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>0</red> - <green>45</green> - <blue>195</blue> - </color> - </brush> - </colorrole> - </active> - <inactive> - <colorrole role="Text" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>0</red> - <green>45</green> - <blue>195</blue> - </color> - </brush> - </colorrole> - </inactive> - <disabled> - <colorrole role="Text" > - <brush brushstyle="SolidPattern" > - <color alpha="255" > - <red>106</red> - <green>104</green> - <blue>100</blue> - </color> - </brush> - </colorrole> - </disabled> - </palette> - </property> - <property name="font" > - <font> - <underline>true</underline> - </font> - </property> - </widget> - </item> - </layout> - </item> - <item> - <spacer> - <property name="orientation" > - <enum>Qt::Vertical</enum> - </property> - <property name="sizeHint" > - <size> - <width>20</width> - <height>40</height> - </size> - </property> - </spacer> - </item> - <item> - <widget class="QDialogButtonBox" name="buttonBox" > - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - <property name="standardButtons" > - <set>QDialogButtonBox::Cancel|QDialogButtonBox::NoButton|QDialogButtonBox::Ok</set> - </property> - </widget> - </item> - </layout> - </widget> - <resources/> - <connections> - <connection> - <sender>buttonBox</sender> - <signal>accepted()</signal> - <receiver>AddUpdateSourceDialog</receiver> - <slot>accept()</slot> - <hints> - <hint type="sourcelabel" > - <x>257</x> - <y>229</y> - </hint> - <hint type="destinationlabel" > - <x>157</x> - <y>274</y> - </hint> - </hints> - </connection> - <connection> - <sender>buttonBox</sender> - <signal>rejected()</signal> - <receiver>AddUpdateSourceDialog</receiver> - <slot>reject()</slot> - <hints> - <hint type="sourcelabel" > - <x>325</x> - <y>229</y> - </hint> - <hint type="destinationlabel" > - <x>286</x> - <y>274</y> - </hint> - </hints> - </connection> - </connections> -</ui> diff --git a/installerbuilder/libinstaller/3rdparty/kdtools/KDUpdater/kdupdaterpackagesview.cpp b/installerbuilder/libinstaller/3rdparty/kdtools/KDUpdater/kdupdaterpackagesview.cpp deleted file mode 100644 index 4943c7b72..000000000 --- a/installerbuilder/libinstaller/3rdparty/kdtools/KDUpdater/kdupdaterpackagesview.cpp +++ /dev/null @@ -1,134 +0,0 @@ -/**************************************************************************** -** Copyright (C) 2001-2010 Klaralvdalens Datakonsult AB. All rights reserved. -** -** This file is part of the KD Tools library. -** -** Licensees holding valid commercial KD Tools licenses may use this file in -** accordance with the KD Tools Commercial License Agreement provided with -** the Software. -** -** -** This file may be distributed and/or modified under the terms of the -** GNU Lesser General Public License version 2 and version 3 as published by the -** Free Software Foundation and appearing in the file LICENSE.LGPL included. -** -** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE -** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. -** -** Contact info@kdab.com if any conditions of this licensing are not -** clear to you. -** -**********************************************************************/ - -#include "kdupdaterpackagesview.h" -#include "kdupdaterpackagesinfo.h" - -/*! - \ingroup kdupdater - \class KDUpdater::PackagesView kdupdaterpackagesview.h KDUpdaterPackagesView - \brief A widget that can show packages contained in \ref KDUpdater::PackagesInfo - - \ref KDUpdater::PackagesInfo, associated with \ref KDUpdater::Application, contains - information about all the packages installed in the application. This widget helps view the packages - in a list. - - \image html packagesview.jpg - - To use this widget, just create an instance and pass to \ref setPackageInfo() a pointer to - \ref KDUpdater::PackagesInfo whose information you want this widget to show. -*/ - -struct KDUpdater::PackagesView::PackagesViewData -{ - PackagesViewData( PackagesView* qq ) : - q( qq ), - packagesInfo(0) - {} - - PackagesView* q; - PackagesInfo* packagesInfo; -}; - -/*! - Constructor. -*/ -KDUpdater::PackagesView::PackagesView(QWidget* parent) - : QTreeWidget(parent), - d ( new PackagesViewData( this ) ) -{ - - setColumnCount(5); - setHeaderLabels( QStringList() << tr("Name") << tr("Title") - << tr("Description") << tr("Version") - << tr("Last Updated") ); - setRootIsDecorated(false); -} - -/*! - Destructor -*/ -KDUpdater::PackagesView::~PackagesView() -{ - delete d; -} - -/*! - Sets the package info whose information this widget should show. - - \code - KDUpdater::Application application; - - KDUpdater::PackagesView packageView; - packageView.setPackageInfo( application.packagesInfo() ); - packageView.show(); - \endcode - -*/ -void KDUpdater::PackagesView::setPackageInfo(KDUpdater::PackagesInfo* packagesInfo) -{ - if( d->packagesInfo == packagesInfo ) - return; - - if(d->packagesInfo) - disconnect(d->packagesInfo, 0, this, 0); - - d->packagesInfo = packagesInfo; - if(d->packagesInfo) - connect(d->packagesInfo, SIGNAL(reset()), this, SLOT(refresh())); - - refresh(); -} - -/*! - Returns a pointer to the package info whose information this widget is showing. -*/ -KDUpdater::PackagesInfo* KDUpdater::PackagesView::packagesInfo() const -{ - return d->packagesInfo; -} - -/*! - This slot reloads package information from the \ref KDUpdater::PackagesInfo associated - with this widget. - - \note By default, this slot is connected to the \ref KDUpdater::PackagesInfo::reset() - signal in \ref setPackageInfo() -*/ -void KDUpdater::PackagesView::refresh() -{ - this->clear(); - if( !d->packagesInfo ) - return; - - Q_FOREACH(const KDUpdater::PackageInfo& info, d->packagesInfo->packageInfos()) - { - QTreeWidgetItem* item = new QTreeWidgetItem(this); - item->setText(0, info.name); - item->setText(1, info.title); - item->setText(2, info.description); - item->setText(3, info.version); - item->setText(4, info.lastUpdateDate.toString()); - } - - resizeColumnToContents(0); -} diff --git a/installerbuilder/libinstaller/3rdparty/kdtools/KDUpdater/kdupdaterpackagesview.h b/installerbuilder/libinstaller/3rdparty/kdtools/KDUpdater/kdupdaterpackagesview.h deleted file mode 100644 index 8f42b1e19..000000000 --- a/installerbuilder/libinstaller/3rdparty/kdtools/KDUpdater/kdupdaterpackagesview.h +++ /dev/null @@ -1,53 +0,0 @@ -/**************************************************************************** -** Copyright (C) 2001-2010 Klaralvdalens Datakonsult AB. All rights reserved. -** -** This file is part of the KD Tools library. -** -** Licensees holding valid commercial KD Tools licenses may use this file in -** accordance with the KD Tools Commercial License Agreement provided with -** the Software. -** -** -** This file may be distributed and/or modified under the terms of the -** GNU Lesser General Public License version 2 and version 3 as published by the -** Free Software Foundation and appearing in the file LICENSE.LGPL included. -** -** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE -** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. -** -** Contact info@kdab.com if any conditions of this licensing are not -** clear to you. -** -**********************************************************************/ - -#ifndef KD_UPDATER_PACKAGES_VIEW_H -#define KD_UPDATER_PACKAGES_VIEW_H - -#include "kdupdater.h" -#include <QTreeWidget> - -namespace KDUpdater -{ - class PackagesInfo; - - class KDTOOLS_UPDATER_EXPORT PackagesView : public QTreeWidget - { - Q_OBJECT - - public: - explicit PackagesView(QWidget* parent=0); - ~PackagesView(); - - void setPackageInfo(PackagesInfo* packageInfo); - PackagesInfo* packagesInfo() const; - - public Q_SLOTS: - void refresh(); - - private: - struct PackagesViewData; - PackagesViewData* d; - }; -} - -#endif diff --git a/installerbuilder/libinstaller/3rdparty/kdtools/KDUpdater/kdupdaterupdatesdialog.cpp b/installerbuilder/libinstaller/3rdparty/kdtools/KDUpdater/kdupdaterupdatesdialog.cpp deleted file mode 100644 index 2b8d54a6b..000000000 --- a/installerbuilder/libinstaller/3rdparty/kdtools/KDUpdater/kdupdaterupdatesdialog.cpp +++ /dev/null @@ -1,305 +0,0 @@ -/**************************************************************************** -** Copyright (C) 2001-2010 Klaralvdalens Datakonsult AB. All rights reserved. -** -** This file is part of the KD Tools library. -** -** Licensees holding valid commercial KD Tools licenses may use this file in -** accordance with the KD Tools Commercial License Agreement provided with -** the Software. -** -** -** This file may be distributed and/or modified under the terms of the -** GNU Lesser General Public License version 2 and version 3 as published by the -** Free Software Foundation and appearing in the file LICENSE.LGPL included. -** -** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE -** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. -** -** Contact info@kdab.com if any conditions of this licensing are not -** clear to you. -** -**********************************************************************/ - -#include "kdupdaterupdatesdialog.h" -#include "kdupdaterpackagesinfo.h" -#include "kdupdaterupdate.h" -#include "kdupdaterapplication.h" - -#include <QtCore/QCoreApplication> -#include <QtCore/QDir> -#include <QtCore/QHash> -#include <QtCore/QSet> - -#if defined( KDUPDATERGUIWEBVIEW ) -#include <QtWebKit/QWebView> -#elif defined( KDUPDATERGUITEXTBROWSER ) -#include <QtGui/QTextBrowser> -#endif - -#include "ui_updatesdialog.h" - -/*! - \ingroup kdupdater - \class KDUpdater::UpdatesDialog kdupdaterupdatesdialog.h KDUpdaterUpdatesDialog - \brief A dialog that let the user chooses which updates he wants to install - - After \ref KDUpdater::UpdateFinder class finds all updates available for an application, - this dialog can be used to help the user select which update he wants to install. - - Usage: - \code - QList<KDUpdater::Update*> updates = updateFinder.updates(); - - KDUpdater::UpdatesDialog updatesDialog(this); - updatesDialog.setUpdates(updates); - - if( updatesDialog.exec() != QDialog::Accepted ) - { - qDeleteAll(updates); - updates.clear(); - return; - } - - QList<KDUpdater::Update*> reqUpdates; - for(int i=0; i<updates.count(); i++) - { - if( !updatesDialog.isUpdateAllowed(updates[i]) ) - continue; - reqUpdates.append(updates[i]); - } - \endcode -*/ - -class KDUpdater::UpdatesDialog::Private -{ - Q_DECLARE_TR_FUNCTIONS(KDUpdater::Private) - -public: - explicit Private( UpdatesDialog* qq ) : - q( qq ) - {} - - UpdatesDialog* q; - - Ui::UpdatesDialog ui; - - int currentUpdate; - QList<Update*> updates; - QSet<const Update*> status; - - void setCurrentUpdate(int index); - - QString packageDescription( Update* update ); - QString compatDescription( Update* update ); - void slotStateChanged(); - void slotPreviousClicked(); - void slotNextClicked(); -}; - -/*! - Constructor. -*/ -KDUpdater::UpdatesDialog::UpdatesDialog(QWidget *parent) - : QDialog(parent), - d( new Private( this ) ) -{ - d->ui.setupUi(this); - d->currentUpdate = -1; - - connect(d->ui.packageUpdateCheckBox, SIGNAL(stateChanged(int)), - this, SLOT(slotStateChanged())); - connect(d->ui.nextPackageButton, SIGNAL(clicked()), - this, SLOT(slotNextClicked())); - connect(d->ui.previousPackageButton, SIGNAL(clicked()), - this, SLOT(slotPreviousClicked())); -} - - -/*! - Destructor. -*/ -KDUpdater::UpdatesDialog::~UpdatesDialog() -{ - delete d; -} - - -/*! - Sets the list of updates available to the user. -*/ -void KDUpdater::UpdatesDialog::setUpdates(const QList<Update*> &updates) -{ - d->updates = updates; - d->status.clear(); - - d->ui.packageSwitchBar->setVisible( d->updates.size()>1 ); - - if (d->updates.isEmpty()) { - d->ui.descriptionLabel->setText(tr("<b>No update available...</b>")); - d->ui.descriptionLabel->setFixedSize(d->ui.descriptionLabel->sizeHint()); - d->ui.releaseNotesGroup->hide(); - d->ui.pixmapLabel->hide(); - } else if (d->updates.size()==1) { - //Only one update, so pre-accept it. - //OK/Cancel will do from the user POV - d->status.insert( d->updates.front() ); - } - - d->ui.totalPackageLabel->setText(QString::number(d->updates.size())); - d->setCurrentUpdate(0); -} - - -/*! - returns the list of updates available to the user. -*/ -QList<KDUpdater::Update*> KDUpdater::UpdatesDialog::updates() const -{ - return d->updates; -} - - -/*! - Returns true if the update needs to be installed. -*/ -bool KDUpdater::UpdatesDialog::isUpdateAllowed(const KDUpdater::Update *update) const -{ - return d->status.contains( update ); -} - -void KDUpdater::UpdatesDialog::Private::slotStateChanged() -{ - if (currentUpdate<0 || currentUpdate>=updates.size()) { - return; - } - - if ( ui.packageUpdateCheckBox->isChecked() ) - status.insert( updates[currentUpdate] ); - else - status.remove( updates[currentUpdate] ); -} - -void KDUpdater::UpdatesDialog::Private::slotPreviousClicked() -{ - setCurrentUpdate(currentUpdate-1); -} - -void KDUpdater::UpdatesDialog::Private::slotNextClicked() -{ - setCurrentUpdate(currentUpdate+1); -} - -void KDUpdater::UpdatesDialog::Private::setCurrentUpdate(int index) -{ - if (updates.isEmpty()) { - if (currentUpdate == -1) - return; - - currentUpdate = -1; - return; - } - - if (index<0 || index>=updates.size()) { - return; - } - - currentUpdate = index; - - KDUpdater::Update *update = updates.at( index ); - - QString description; - - switch ( update->type() ) { - case PackageUpdate: - case NewPackage: - description = packageDescription( update ); - break; - case CompatUpdate: - description = compatDescription( update ); - break; - default: - description = tr( "<unkown>" ); - } - - ui.descriptionLabel->setText(description); - ui.descriptionLabel->setMinimumHeight(ui.descriptionLabel->heightForWidth(400)); - - ui.packageUpdateCheckBox->setChecked( status.contains( update ) ); - - ui.currentPackageLabel->setText(QString::number(index+1)); - ui.nextPackageButton->setEnabled( index!=(updates.size()-1) ); - ui.previousPackageButton->setEnabled( index!=0 ); - - QDir appdir(update->application()->applicationDirectory()); - if (update->data( QLatin1String( "ReleaseNotes" ) ).isValid()) { - ui.releaseNotesGroup->show(); -#if defined( KDUPDATERGUIWEBVIEW ) - ui.releaseNotesView->setUrl( update->data( QLatin1String( "ReleaseNotes" ) ).toUrl() ); -#elif defined( KDUPDATERGUITEXTBROWSER ) - ui.releaseNotesView->setSource( update->data( QLatin1String( "ReleaseNotes" ) ).toUrl()); -#endif - } - else { - ui.releaseNotesGroup->hide(); - } -} - - -QString KDUpdater::UpdatesDialog::Private::packageDescription( KDUpdater::Update* update ) -{ - KDUpdater::PackagesInfo *packages = update->application()->packagesInfo(); - KDUpdater::PackageInfo info = packages->packageInfo( - packages->findPackageInfo(update->data( QLatin1String( "Name" ) ).toString())); - - QDir appdir(update->application()->applicationDirectory()); - QPixmap pixmap(appdir.filePath(info.pixmap)); - if (!pixmap.isNull()) { - ui.pixmapLabel->setPixmap(pixmap.scaled(96, 96)); - } - - - QString description = tr("<b>A new package update is available for %1!</b><br/><br/>" - "The package %2 %3 is now available -- you have version %4") - .arg(packages->applicationName(), - update->data( QLatin1String( "Name" ) ).toString(), - update->data( QLatin1String( "Version" ) ).toString(), - info.version); - - if (!info.title.isEmpty() || !info.description.isEmpty() ) { - description += QLatin1String( "<br/><br/>" ); - description += tr("<b>Package Details:</b>" ); - if ( !info.title.isEmpty() ) { - description += tr( "<br/><i>Title:</i> %1" ).arg( info.title ); - } - if ( !info.description.isEmpty() ) { - description += tr( "<br/><i>Description:</i> %1" ).arg( info.description ); - } - } - - if ( update->data( QLatin1String( "Description" ) ).isValid() ) { - description += QLatin1String( "<br/><br/>" ); - description += tr( "<b>Update description:</b><br/>%1" ) - .arg( update->data( QLatin1String( "Description" ) ).toString() ); - } - return description; -} - -QString KDUpdater::UpdatesDialog::Private::compatDescription( Update* update ) -{ - KDUpdater::PackagesInfo *packages = update->application()->packagesInfo(); - - QString description = tr("<b>A new compatibility update is available for %1!</b><br/><br/>" - "The compatibility level %2 is now available -- you have level %3") - .arg(packages->applicationName(), - QString::number(update->data( QLatin1String( "CompatLevel" ) ).toInt()), - QString::number(packages->compatLevel())); - - if ( update->data( QLatin1String( "Description" ) ).isValid() ) { - description += QLatin1String( "<br/><br/>" ); - description += tr( "<b>Update description:</b> %1" ) - .arg( update->data( QLatin1String( "Description" ) ).toString() ); - } - return description; -} - -#include "moc_kdupdaterupdatesdialog.cpp" diff --git a/installerbuilder/libinstaller/3rdparty/kdtools/KDUpdater/kdupdaterupdatesdialog.h b/installerbuilder/libinstaller/3rdparty/kdtools/KDUpdater/kdupdaterupdatesdialog.h deleted file mode 100644 index 85a90a595..000000000 --- a/installerbuilder/libinstaller/3rdparty/kdtools/KDUpdater/kdupdaterupdatesdialog.h +++ /dev/null @@ -1,57 +0,0 @@ -/**************************************************************************** -** Copyright (C) 2001-2010 Klaralvdalens Datakonsult AB. All rights reserved. -** -** This file is part of the KD Tools library. -** -** Licensees holding valid commercial KD Tools licenses may use this file in -** accordance with the KD Tools Commercial License Agreement provided with -** the Software. -** -** -** This file may be distributed and/or modified under the terms of the -** GNU Lesser General Public License version 2 and version 3 as published by the -** Free Software Foundation and appearing in the file LICENSE.LGPL included. -** -** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE -** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. -** -** Contact info@kdab.com if any conditions of this licensing are not -** clear to you. -** -**********************************************************************/ - -#ifndef KD_UPDATER_UPDATES_DIALOG_H -#define KD_UPDATER_UPDATES_DIALOG_H - -#include "kdupdater.h" -#include <QtCore/QList> -#include <QtGui/QDialog> - -namespace KDUpdater -{ - class Update; - - class KDTOOLS_UPDATER_EXPORT UpdatesDialog : public QDialog - { - Q_OBJECT - - public: - explicit UpdatesDialog(QWidget *parent = 0); - ~UpdatesDialog(); - - void setUpdates(const QList<Update*> &updates); - QList<Update*> updates() const; - - bool isUpdateAllowed( const Update * update ) const; - - private: - class Private; - Private * const d; - - Q_PRIVATE_SLOT( d, void slotStateChanged() ) - Q_PRIVATE_SLOT( d, void slotPreviousClicked() ) - Q_PRIVATE_SLOT( d, void slotNextClicked() ) - }; -} - -#endif diff --git a/installerbuilder/libinstaller/3rdparty/kdtools/KDUpdater/kdupdaterupdatesourcesview.cpp b/installerbuilder/libinstaller/3rdparty/kdtools/KDUpdater/kdupdaterupdatesourcesview.cpp deleted file mode 100644 index aec942614..000000000 --- a/installerbuilder/libinstaller/3rdparty/kdtools/KDUpdater/kdupdaterupdatesourcesview.cpp +++ /dev/null @@ -1,375 +0,0 @@ -/**************************************************************************** -** Copyright (C) 2001-2010 Klaralvdalens Datakonsult AB. All rights reserved. -** -** This file is part of the KD Tools library. -** -** Licensees holding valid commercial KD Tools licenses may use this file in -** accordance with the KD Tools Commercial License Agreement provided with -** the Software. -** -** -** This file may be distributed and/or modified under the terms of the -** GNU Lesser General Public License version 2 and version 3 as published by the -** Free Software Foundation and appearing in the file LICENSE.LGPL included. -** -** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE -** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. -** -** Contact info@kdab.com if any conditions of this licensing are not -** clear to you. -** -**********************************************************************/ - -#include "kdupdaterupdatesourcesview.h" -#include "kdupdaterupdatesourcesinfo.h" -#include "ui_addupdatesourcedialog.h" - -#include <QMessageBox> -#include <QContextMenuEvent> -#include <QAction> -#include <QMenu> - -/*! - \ingroup kdupdater - \class KDUpdater::UpdateSourcesView kdupdaterupdatesourcesview.h KDUpdaterUpdateSourcesView - \brief A widget that helps view and/or edit \ref KDUpdater::UpdateSourcesInfo - - \ref KDUpdater::UpdateSourcesInfo, associated with \ref KDUpdater::Application, contains information - about all the update sources from which the application can download and install updates. - This widget helps view and edit update sources information. - - \image html updatesourcesview.jpg - - The widget provides the following slots for editing update sources information - \ref addNewSource() - \ref editCurrentSource() - \ref removeCurrentSource() - - You can include this widget within another form or dialog and connect to these slots which make - use of an inbuilt dialog box to add/edit update sources. Shown below is a screenshot of the - inbuilt dialog box. - - \image html editupdatesource.jpg - - Alternatively you can also use your own dialog box and directly update \ref KDUpdater::UpdateSourcesInfo. - This widget connects to \ref KDUpdater::UpdateSourcesInfo signals and ensures that the data it displays - is always kept updated. - - The widget provides a context menu using which you can add/remove/edit update sources. Shown below is a - screenshot of the context menu. - - \image html updatesourcesview_contextmenu.jpg -*/ - -struct KDUpdater::UpdateSourcesView::UpdateSourcesViewData -{ - UpdateSourcesViewData( UpdateSourcesView* qq ) : - q( qq ), - updateSourcesInfo(0) - {} - - UpdateSourcesView* q; - UpdateSourcesInfo* updateSourcesInfo; -}; - -/*! - Constructor -*/ -KDUpdater::UpdateSourcesView::UpdateSourcesView(QWidget* parent) - : QTreeWidget(parent), - d(new KDUpdater::UpdateSourcesView::UpdateSourcesViewData( this ) ) -{ - setColumnCount(3); - setHeaderLabels( QStringList() << tr("Name") << tr("Title") << tr("URL") ); - setRootIsDecorated(false); - - connect(this, SIGNAL(itemDoubleClicked(QTreeWidgetItem*,int)), this, SLOT(editCurrentSource())); -} - -/*! - Destructor -*/ -KDUpdater::UpdateSourcesView::~UpdateSourcesView() -{ - delete d; -} - -/*! - Sets the \ref KDUpdater::UpdateSourcesInfo object whose information this widget should show. - - \code - KDUpdater::Application application; - - KDUpdater::UpdateSourcesView updatesView; - updatesView.setUpdateSourcesInfo( application.updateSourcesInfo() ); - updatesView.show(); - \endcode -*/ -void KDUpdater::UpdateSourcesView::setUpdateSourcesInfo(KDUpdater::UpdateSourcesInfo* info) -{ - if( d->updateSourcesInfo == info ) - return; - - if(d->updateSourcesInfo) - disconnect(d->updateSourcesInfo, 0, this, 0); - - d->updateSourcesInfo = info; - if(d->updateSourcesInfo) - { - connect(d->updateSourcesInfo, SIGNAL(reset()), this, SLOT(refresh())); - connect(d->updateSourcesInfo, SIGNAL(updateSourceInfoAdded(UpdateSourceInfo)), - this, SLOT(slotUpdateSourceInfoAdded(UpdateSourceInfo))); - connect(d->updateSourcesInfo, SIGNAL(updateSourceInfoRemoved(UpdateSourceInfo)), - this, SLOT(slotUpdateSourceInfoRemoved(UpdateSourceInfo))); - connect(d->updateSourcesInfo, SIGNAL(updateSourceInfoChanged(UpdateSourceInfo,UpdateSourceInfo)), - this, SLOT(slotUpdateSourceInfoChanged(UpdateSourceInfo,UpdateSourceInfo))); - } - - refresh(); -} - -/*! - Returns a pointer to the \ref KDUpdater::UpdateSourcesInfo object whose information this - widget is showing. -*/ -KDUpdater::UpdateSourcesInfo* KDUpdater::UpdateSourcesView::updateSourcesInfo() const -{ - return d->updateSourcesInfo; -} - -/*! - Returns the index of the currently selected update source in the widget. You can use this - index along with \ref KDUpdater::UpdateSourcesInfo::updateSourceInfo() method to get hold - of the update source info. -*/ -int KDUpdater::UpdateSourcesView::currentUpdateSourceInfoIndex() const -{ - if( !d->updateSourcesInfo ) - return -1; - - QTreeWidgetItem* item = this->currentItem(); - if( !item ) - return -1; - - int index = this->indexOfTopLevelItem(item); - if( index < 0 ) - return -1; - - return index; -} - -/*! - Call this slot to reload the updates information. By default this slot is connected to - \ref KDUpdater::UpdateSourcesInfo::reset() signal in \ref setUpdateSourcesInfo(). -*/ -void KDUpdater::UpdateSourcesView::refresh() -{ - this->clear(); - - if( !d->updateSourcesInfo ) - return; - - for(int i=0; i<d->updateSourcesInfo->updateSourceInfoCount(); i++) - { - KDUpdater::UpdateSourceInfo info = d->updateSourcesInfo->updateSourceInfo(i); - QTreeWidgetItem* item = new QTreeWidgetItem(this); - item->setText(0, info.name); - item->setText(1, info.title); - item->setText(2, info.url.toString()); - item->setData(0, Qt::UserRole, qVariantFromValue<KDUpdater::UpdateSourceInfo>(info)); - } - - resizeColumnToContents(0); -} - -/*! - Call this slot to make use of the in-built dialog box to add a new update source. Shown - below is a screenshot of the in-built dialog box. - - \image html addupdatesource.jpg -*/ -void KDUpdater::UpdateSourcesView::addNewSource() -{ - if( !d->updateSourcesInfo ) - return; - - QDialog dialog(this); - Ui::AddUpdateSourceDialog ui; - ui.setupUi(&dialog); - - while(1) - { - if( dialog.exec() == QDialog::Rejected ) - return; - - if(ui.txtName->text().isEmpty() || ui.txtUrl->text().isEmpty()) - { - QMessageBox::information(this, tr("Invalid Update Source Info"), - tr("A valid update source name and url has to be provided")); - continue; - } - - break; - } - - KDUpdater::UpdateSourceInfo newInfo; - newInfo.name = ui.txtName->text(); - newInfo.title = ui.txtTitle->text(); - newInfo.description = ui.txtDescription->toPlainText(); // FIXME: This should perhaps be toHtml - newInfo.url = QUrl(ui.txtUrl->text()); - - d->updateSourcesInfo->addUpdateSourceInfo(newInfo); -} - -/*! - Call this slot to delete the currently selected update source. -*/ -void KDUpdater::UpdateSourcesView::removeCurrentSource() -{ - if( !d->updateSourcesInfo ) - return; - - QTreeWidgetItem* item = this->currentItem(); - if( !item ) - return; - - int index = this->indexOfTopLevelItem(item); - if( index < 0 ) - return; - - d->updateSourcesInfo->removeUpdateSourceInfoAt(index); -} - -/*! - Call this slot to edit the currently selected update source, using the in-built edit - update source dialog box. Shown below is a screenshot of the edit update source dialog - box. - - \image html editupdatesource.jpg -*/ -void KDUpdater::UpdateSourcesView::editCurrentSource() -{ - if( !d->updateSourcesInfo ) - return; - - QTreeWidgetItem* item = this->currentItem(); - if( !item ) - return; - - int index = this->indexOfTopLevelItem(item); - if( index < 0 ) - return; - - KDUpdater::UpdateSourceInfo info = item->data(0, Qt::UserRole).value<KDUpdater::UpdateSourceInfo>(); - - QDialog dialog(this); - Ui::AddUpdateSourceDialog ui; - ui.setupUi(&dialog); - ui.txtName->setText(info.name); - ui.txtTitle->setText(info.title); - ui.txtDescription->setPlainText(info.description); // FIXME: This should perhaps be setHtml - ui.txtUrl->setText(info.url.toString()); - dialog.setWindowTitle(tr("Edit Update Source")); - - if( dialog.exec() == QDialog::Rejected ) - return; - - KDUpdater::UpdateSourceInfo newInfo; - newInfo.name = ui.txtName->text(); - newInfo.title = ui.txtTitle->text(); - newInfo.description = ui.txtDescription->toPlainText(); // FIXME: This should perhaps be setHtml - newInfo.url = QUrl(ui.txtUrl->text()); - - d->updateSourcesInfo->setUpdateSourceInfoAt(index, newInfo); -} - -/*! - \internal -*/ -void KDUpdater::UpdateSourcesView::slotUpdateSourceInfoAdded(const KDUpdater::UpdateSourceInfo &info) -{ - if( !d->updateSourcesInfo ) - return; - - QTreeWidgetItem* item = new QTreeWidgetItem(this); - item->setText(0, info.name); - item->setText(1, info.title); - item->setText(2, info.url.toString()); - item->setData(0, Qt::UserRole, qVariantFromValue<KDUpdater::UpdateSourceInfo>(info)); -} - -/*! - \internal -*/ -void KDUpdater::UpdateSourcesView::slotUpdateSourceInfoRemoved(const KDUpdater::UpdateSourceInfo &info) -{ - if( !d->updateSourcesInfo ) - return; - - QTreeWidgetItem* item = 0; - for(int i=0; i<topLevelItemCount(); i++) - { - item = topLevelItem(i); - KDUpdater::UpdateSourceInfo itemInfo = item->data(0, Qt::UserRole).value<KDUpdater::UpdateSourceInfo>(); - if(itemInfo == info) - break; - item = 0; - } - - if( !item ) - return; - - delete item; -} - -/*! - \internal -*/ -void KDUpdater::UpdateSourcesView::slotUpdateSourceInfoChanged (const KDUpdater::UpdateSourceInfo &newInfo, - const KDUpdater::UpdateSourceInfo &oldInfo) -{ - if( !d->updateSourcesInfo ) - return; - - QTreeWidgetItem* item = 0; - for(int i=0; i<topLevelItemCount(); i++) - { - item = topLevelItem(i); - KDUpdater::UpdateSourceInfo itemInfo = item->data(0, Qt::UserRole).value<KDUpdater::UpdateSourceInfo>(); - if(itemInfo == oldInfo) - break; - item = 0; - } - - if( !item ) - return; - - item->setText(0, newInfo.name); - item->setText(1, newInfo.title); - item->setText(2, newInfo.url.toString()); - item->setData(0, Qt::UserRole, qVariantFromValue<KDUpdater::UpdateSourceInfo>(newInfo)); -} - -/*! - \internal -*/ -void KDUpdater::UpdateSourcesView::contextMenuEvent(QContextMenuEvent* e) -{ - QTreeWidgetItem* item = this->itemAt( e->pos() ); - - QMenu menu; - QAction* addAction = menu.addAction(tr("&Add Source")); - QAction* editAction = item ? menu.addAction(tr("&Edit Source")) : 0; - QAction* remAction = item ? menu.addAction(tr("&Remove Source")) : 0; - - QAction* result = menu.exec( QCursor::pos() ); - if( !result ) - return; - - if( result == addAction ) - this->addNewSource(); - else if( result == remAction ) - this->removeCurrentSource(); - else if( result == editAction ) - this->editCurrentSource(); -} diff --git a/installerbuilder/libinstaller/3rdparty/kdtools/KDUpdater/kdupdaterupdatesourcesview.h b/installerbuilder/libinstaller/3rdparty/kdtools/KDUpdater/kdupdaterupdatesourcesview.h deleted file mode 100644 index c2c840d72..000000000 --- a/installerbuilder/libinstaller/3rdparty/kdtools/KDUpdater/kdupdaterupdatesourcesview.h +++ /dev/null @@ -1,68 +0,0 @@ -/**************************************************************************** -** Copyright (C) 2001-2010 Klaralvdalens Datakonsult AB. All rights reserved. -** -** This file is part of the KD Tools library. -** -** Licensees holding valid commercial KD Tools licenses may use this file in -** accordance with the KD Tools Commercial License Agreement provided with -** the Software. -** -** -** This file may be distributed and/or modified under the terms of the -** GNU Lesser General Public License version 2 and version 3 as published by the -** Free Software Foundation and appearing in the file LICENSE.LGPL included. -** -** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE -** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. -** -** Contact info@kdab.com if any conditions of this licensing are not -** clear to you. -** -**********************************************************************/ - -#ifndef KD_UPDATER_UPDATE_SOURCES_VIEW_H -#define KD_UPDATER_UPDATE_SOURCES_VIEW_H - -#include "kdupdater.h" -#include <QTreeWidget> - -namespace KDUpdater -{ - struct UpdateSourceInfo; - class UpdateSourcesInfo; - - class KDTOOLS_UPDATER_EXPORT UpdateSourcesView : public QTreeWidget - { - Q_OBJECT - - public: - explicit UpdateSourcesView(QWidget* parent=0); - ~UpdateSourcesView(); - - void setUpdateSourcesInfo(UpdateSourcesInfo* info); - UpdateSourcesInfo* updateSourcesInfo() const; - - int currentUpdateSourceInfoIndex() const; - - public Q_SLOTS: - void refresh(); - void addNewSource(); - void removeCurrentSource(); - void editCurrentSource(); - - protected: - void contextMenuEvent(QContextMenuEvent* e); - - private Q_SLOTS: - void slotUpdateSourceInfoAdded(const UpdateSourceInfo &info); - void slotUpdateSourceInfoRemoved(const UpdateSourceInfo &info); - void slotUpdateSourceInfoChanged(const UpdateSourceInfo &newInfo, - const UpdateSourceInfo &oldInfo); - - private: - struct UpdateSourcesViewData; - UpdateSourcesViewData* d; - }; -}; - -#endif diff --git a/installerbuilder/libinstaller/3rdparty/kdtools/KDUpdater/updatesdialog.ui b/installerbuilder/libinstaller/3rdparty/kdtools/KDUpdater/updatesdialog.ui deleted file mode 100644 index 52162109e..000000000 --- a/installerbuilder/libinstaller/3rdparty/kdtools/KDUpdater/updatesdialog.ui +++ /dev/null @@ -1,245 +0,0 @@ -<ui version="4.0" > - <class>UpdatesDialog</class> - <widget class="QDialog" name="UpdatesDialog" > - <property name="geometry" > - <rect> - <x>0</x> - <y>0</y> - <width>555</width> - <height>478</height> - </rect> - </property> - <property name="windowTitle" > - <string>Update</string> - </property> - <layout class="QGridLayout" name="gridLayout" > - <property name="sizeConstraint" > - <enum>QLayout::SetMinAndMaxSize</enum> - </property> - <item row="0" column="0" > - <widget class="QLabel" name="pixmapLabel" > - <property name="sizePolicy" > - <sizepolicy vsizetype="Minimum" hsizetype="Minimum" > - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="minimumSize" > - <size> - <width>96</width> - <height>96</height> - </size> - </property> - <property name="text" > - <string/> - </property> - <property name="alignment" > - <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set> - </property> - </widget> - </item> - <item row="0" column="2" colspan="2" > - <widget class="QLabel" name="descriptionLabel" > - <property name="minimumSize" > - <size> - <width>400</width> - <height>96</height> - </size> - </property> - <property name="text" > - <string/> - </property> - <property name="textFormat" > - <enum>Qt::RichText</enum> - </property> - <property name="alignment" > - <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set> - </property> - <property name="wordWrap" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="1" column="2" colspan="2" > - <layout class="QVBoxLayout" name="verticalLayout_2" > - <item> - <widget class="QWidget" native="1" name="releaseNotesGroup" > - <layout class="QVBoxLayout" name="verticalLayout" > - <property name="leftMargin" > - <number>0</number> - </property> - <property name="rightMargin" > - <number>0</number> - </property> - <item> - <widget class="QLabel" name="label" > - <property name="text" > - <string><b>Release Notes:</b></string> - </property> - <property name="textFormat" > - <enum>Qt::RichText</enum> - </property> - </widget> - </item> - <item> - <widget class="KDUPDATERVIEW" native="1" name="releaseNotesView" > - <property name="minimumSize" > - <size> - <width>400</width> - <height>200</height> - </size> - </property> - </widget> - </item> - </layout> - </widget> - </item> - <item> - <widget class="QWidget" native="1" name="packageSwitchBar" > - <layout class="QHBoxLayout" name="horizontalLayout" > - <property name="spacing" > - <number>0</number> - </property> - <property name="margin" > - <number>0</number> - </property> - <item> - <widget class="QCheckBox" name="packageUpdateCheckBox" > - <property name="text" > - <string>Update the current package</string> - </property> - </widget> - </item> - <item> - <spacer name="horizontalSpacer" > - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" stdset="0" > - <size> - <width>296</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - <item> - <widget class="QToolButton" name="previousPackageButton" > - <property name="text" > - <string/> - </property> - <property name="iconSize" > - <size> - <width>8</width> - <height>8</height> - </size> - </property> - <property name="autoRaise" > - <bool>true</bool> - </property> - <property name="arrowType" > - <enum>Qt::LeftArrow</enum> - </property> - </widget> - </item> - <item> - <widget class="QLabel" name="currentPackageLabel" > - <property name="text" > - <string>N</string> - </property> - </widget> - </item> - <item> - <widget class="QLabel" name="label_2" > - <property name="text" > - <string>/</string> - </property> - </widget> - </item> - <item> - <widget class="QLabel" name="totalPackageLabel" > - <property name="text" > - <string>M</string> - </property> - </widget> - </item> - <item> - <widget class="QToolButton" name="nextPackageButton" > - <property name="text" > - <string/> - </property> - <property name="iconSize" > - <size> - <width>8</width> - <height>8</height> - </size> - </property> - <property name="autoRaise" > - <bool>true</bool> - </property> - <property name="arrowType" > - <enum>Qt::RightArrow</enum> - </property> - </widget> - </item> - </layout> - </widget> - </item> - </layout> - </item> - <item row="2" column="3" > - <widget class="QDialogButtonBox" name="buttonBox" > - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - <property name="standardButtons" > - <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set> - </property> - </widget> - </item> - </layout> - </widget> - <customwidgets> - <customwidget> - <class>KDUPDATERVIEW</class> - <extends>QWidget</extends> - <header>qwidget.h</header> - <container>1</container> - </customwidget> - </customwidgets> - <resources/> - <connections> - <connection> - <sender>buttonBox</sender> - <signal>accepted()</signal> - <receiver>UpdatesDialog</receiver> - <slot>accept()</slot> - <hints> - <hint type="sourcelabel" > - <x>248</x> - <y>254</y> - </hint> - <hint type="destinationlabel" > - <x>157</x> - <y>274</y> - </hint> - </hints> - </connection> - <connection> - <sender>buttonBox</sender> - <signal>rejected()</signal> - <receiver>UpdatesDialog</receiver> - <slot>reject()</slot> - <hints> - <hint type="sourcelabel" > - <x>316</x> - <y>260</y> - </hint> - <hint type="destinationlabel" > - <x>286</x> - <y>274</y> - </hint> - </hints> - </connection> - </connections> -</ui> |