void KoResourceItemChooser::slotButtonClicked( int button ) { if (button == Button_Import ) { QString extensions = d->model->extensions(); QString filter = QString("%1 (%2)") .arg(d->model->serverType()) .arg(extensions.replace(QString(":"), QString(" "))); KoFileDialog dialog(0, KoFileDialog::OpenFile, "OpenDocument"); dialog.setNameFilter(filter); dialog.setCaption(i18nc("@title:window", "Choose File to Add")); QString filename = dialog.url(); d->model->importResourceFile(filename); } else if( button == Button_Remove ) { QModelIndex index = d->view->currentIndex(); int row = index.row(); int column = index.column(); if( index.isValid() ) { KoResource * resource = resourceFromModelIndex(index); if( resource ) { d->model->removeResource(resource); } } if (column == 0) { int rowMin = --row; row = qBound(0, rowMin, row); } int columnMin = --column; column = qBound(0, columnMin, column); setCurrentItem(row, column); activated(d->model->index(row, column)); } #ifdef GHNS else if (button == Button_GhnsDownload) { KNS3::DownloadDialog dialog(d->knsrcFile, this); dialog.exec(); foreach (const KNS3::Entry& e, dialog.changedEntries()) { foreach(const QString &file, e.installedFiles()) { QFileInfo fi(file); d->model->importResourceFile( fi.absolutePath()+'/'+fi.fileName() , false ); } foreach(const QString &file, e.uninstalledFiles()) { QFileInfo fi(file); d->model->removeResourceFile(fi.absolutePath()+'/'+fi.fileName()); } } }
void KoResourceItemChooser::slotButtonClicked( int button ) { if ( button == Button_Import ) { QString extensions = d->model->resourceServerAdapter()->extensions(); QString filter = extensions.replace(QString(":"), QString(" ")); QString filename = KFileDialog::getOpenFileName( KUrl(), filter, 0, i18n( "Choose File to Add" ) ); d->model->resourceServerAdapter()->importResourceFile(filename); } else if ( button == Button_Remove ) { QModelIndex index = d->view->currentIndex(); int row = index.row(); int column = index.column(); if ( index.isValid() ) { KoResource * resource = resourceFromModelIndex(index); if ( resource ) { d->model->resourceServerAdapter()->removeResource(resource); } } if (column == 0) { int rowMin = --row; row = qBound(0, rowMin, row); } int columnMin = --column; column = qBound(0, columnMin, column); setCurrentItem(row, column); activated(d->model->index(row, column)); } #ifdef GHNS else if (button == Button_GhnsDownload) { QPointer<KNS3::DownloadDialog> dialog = new KNS3::DownloadDialog(this); dialog->exec(); if (dialog) { foreach (const KNS3::Entry& e, dialog->changedEntries()) { qDebug() << "Changed Entry: " << e.name() << e.installedFiles(); } } delete dialog; }