void ScCodeEditor::insertFromMimeData ( const QMimeData * data ) { if (data->hasUrls()) { QTextCursor cursor = textCursor(); QList<QUrl> urls = data->urls(); bool multiple = urls.size() > 1; if (multiple) { cursor.insertText("["); cursor.insertBlock(); } for (int i = 0; i < urls.size(); ++ i) { QUrl url = urls[i]; cursor.insertText("\""); if ( QURL_IS_LOCAL_FILE(url) ) cursor.insertText(url.toLocalFile()); else cursor.insertText(url.toString()); cursor.insertText("\""); if (i < urls.size() - 1) { cursor.insertText(","); cursor.insertBlock(); } } if (multiple) { cursor.insertBlock(); cursor.insertText("]"); } } else QPlainTextEdit::insertFromMimeData(data); }
void HelpBrowser::onLinkClicked( const QUrl & url ) { qDebug() << "link clicked:" << url; static const QStringList nonHelpFileExtensions = QStringList() << ".sc" << ".scd" << ".schelp" << ".txt" << ".rtf"; static const QString fileScheme("file"); QString urlString = url.toString(); foreach ( const QString & extension, nonHelpFileExtensions ) { if (urlString.endsWith( extension )) { if ( QURL_IS_LOCAL_FILE(url) ) { Main::documentManager()->open(url.toLocalFile()); return; } break; } } sendRequest( QString("HelpBrowser.goTo(\"%1\")").arg( urlString ) ); }