Exemple #1
0
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;
    }