void QQmlNetwork::setUrls(const QStringList &urls) { if(m_urls == urls) return; m_urls = urls; emit urlsChanged(); }
void BookmarkManager::getBookmarks_finished() { BookmarkTask* t = static_cast<BookmarkTask*>(sender()); if (t->success()) { bool urlsWereChanged = urls_ != t->urls(); bool conferencesWereChanged = conferences_ != t->conferences(); urls_ = t->urls(); conferences_ = t->conferences(); if (urlsWereChanged) emit urlsChanged(urls_); if (conferencesWereChanged) emit conferencesChanged(conferences_); setIsAvailable(true); } else { setIsAvailable(false); } }
FileDlg::FileDlg(KGetMetalink::File *file, const QStringList ¤tFileNames, QSortFilterProxyModel *countrySort, QSortFilterProxyModel *languageSort, QWidget *parent, bool edit) : KGetSaveSizeDialog("FileDlg", parent), m_file(file), m_initialFileName(m_file->name), m_currentFileNames(currentFileNames), m_edit(edit) { //remove the initial name, to see later if the chosen name is still free m_currentFileNames.removeAll(m_initialFileName); QWidget *widget = new QWidget(this); ui.setupUi(widget); setMainWidget(widget); m_urlWidget = new UrlWidget(this); m_urlWidget->init(&m_file->resources, countrySort); ui.urlLayout->addWidget(m_urlWidget->widget()); connect(m_urlWidget, SIGNAL(urlsChanged()), this, SLOT(slotUpdateOkButton())); QWidget *data = new QWidget(this); uiData.setupUi(data); ui.dataLayout->addWidget(data); ui.infoWidget->setCloseButtonVisible(false); ui.infoWidget->setMessageType(KMessageWidget::Information); //set the file data ui.name->setText(m_file->name); uiData.identity->setText(m_file->data.identity); uiData.version->setText(m_file->data.version); uiData.description->setText(m_file->data.description); uiData.logo->setUrl(m_file->data.logo); if (m_file->data.oses.count()) { uiData.os->setText(m_file->data.oses.join(i18nc("comma, to seperate members of a list", ","))); } uiData.copyright->setText(m_file->data.copyright); uiData.pub_name->setText(m_file->data.publisher.name); uiData.pub_url->setUrl(m_file->data.publisher.url); if (m_file->size) { ui.size->setText(QString::number(m_file->size)); } //create the language selection uiData.language->setModel(languageSort); if (m_file->data.languages.count()) {//TODO 4.5 support multiple languages const int index = uiData.language->findData(m_file->data.languages.first()); uiData.language->setCurrentIndex(index); } else { //Do not select a language of a file if none was defined. uiData.language->setCurrentIndex(-1); } //create the verification stuff m_verificationModel = new VerificationModel(this); QHash<QString, QString>::const_iterator it; QHash<QString, QString>::const_iterator itEnd = m_file->verification.hashes.constEnd(); for (it = m_file->verification.hashes.constBegin(); it != itEnd; ++it) { m_verificationModel->addChecksum(it.key(), it.value()); } ui.add_hash->setGuiItem(KStandardGuiItem::add()); ui.remove_hash->setGuiItem(KStandardGuiItem::remove()); m_verificationProxy = new QSortFilterProxyModel(this); m_verificationProxy->setSourceModel(m_verificationModel); ui.used_hashes->setSortingEnabled(true); ui.used_hashes->hideColumn(VerificationModel::Verified); ui.used_hashes->setModel(m_verificationProxy); ui.used_hashes->setItemDelegate(new VerificationDelegate(this)); slotUpdateVerificationButtons(); connect(m_verificationModel, SIGNAL(dataChanged(QModelIndex,QModelIndex)), this, SLOT(slotUpdateVerificationButtons())); connect(m_verificationModel, SIGNAL(rowsRemoved(QModelIndex,int,int)), this, SLOT(slotUpdateVerificationButtons())); connect(ui.used_hashes, SIGNAL(clicked(QModelIndex)), this, SLOT(slotUpdateVerificationButtons())); connect(ui.add_hash, SIGNAL(clicked()), this, SLOT(slotAddHash())); connect(ui.remove_hash, SIGNAL(clicked()), this, SLOT(slotRemoveHash())); connect(ui.name, SIGNAL(textEdited(QString)), this, SLOT(slotUpdateOkButton())); connect(this, SIGNAL(okClicked()), this, SLOT(slotOkClicked())); slotUpdateOkButton(); setCaption(i18n("File Properties")); }
UrlWidget::UrlWidget(QObject *parent) : QObject(parent), m_resources(0), m_countrySort(0), m_widget(0) { m_widget = new QWidget;//TODO inherit from qWidget and set this widget as mainwidget? ui.setupUi(m_widget); m_mirrorModel = new MirrorModel(this); m_proxy = new MirrorProxyModel(this); m_proxy->setSourceModel(m_mirrorModel); ui.used_mirrors->setModel(m_proxy); ui.used_mirrors->sortByColumn(MirrorItem::Priority, Qt::DescendingOrder); ui.used_mirrors->resizeColumnToContents(MirrorItem::Priority); ui.used_mirrors->hideColumn(MirrorItem::Used); ui.used_mirrors->hideColumn(MirrorItem::Connections); ui.add_mirror->setGuiItem(KStandardGuiItem::add()); ui.remove_mirror->setGuiItem(KStandardGuiItem::remove()); ui.remove_mirror->setEnabled(false); connect(ui.used_mirrors->selectionModel(), SIGNAL(selectionChanged(QItemSelection,QItemSelection)), this, SLOT(slotUrlClicked())); connect(ui.add_mirror, SIGNAL(clicked(bool)), this, SLOT(slotAddMirror())); connect(ui.remove_mirror, SIGNAL(clicked(bool)), this, SLOT(slotRemoveMirror())); connect(m_mirrorModel, SIGNAL(dataChanged(QModelIndex,QModelIndex)), this, SIGNAL(urlsChanged())); connect(m_mirrorModel, SIGNAL(rowsInserted(QModelIndex,int,int)), this, SIGNAL(urlsChanged())); connect(m_mirrorModel, SIGNAL(rowsRemoved(QModelIndex,int,int)), this, SIGNAL(urlsChanged())); }