void SideBarView::slotSideBarDblClicked(const QModelIndex &index){ if (index.column()) return; SideBarItem *item = reinterpret_cast<SideBarItem*>(index.internalPointer()); if (!_model->isRootItem(item) || item->childCount() > 0) return; switch (_model->rootItemRole(item)){ case ArenaWidget::Search: { ArenaWidgetFactory().create<SearchFrame>(); break; } case ArenaWidget::Hub: { QuickConnect qc; qc.exec(); break; } //FIXME: Next code duplicates methods from MainWindow case ArenaWidget::ShareBrowser: { QString file = QFileDialog::getOpenFileName ( this, tr ( "Choose file to open" ), QString::fromStdString ( Util::getPath ( Util::PATH_FILE_LISTS ) ), tr ( "Modern XML Filelists" ) + " (*.xml.bz2);;" + tr ( "Modern XML Filelists uncompressed" ) + " (*.xml);;" + tr ( "All files" ) + " (*)" ); if ( file.isEmpty() ) return; file = QDir::toNativeSeparators ( file ); UserPtr user = dcpp::DirectoryListing::getUserFromFilename ( _tq ( file ) ); if ( user ) ArenaWidgetFactory().create<ShareBrowser, UserPtr, QString, QString> ( user, file, "" ); break; } case ArenaWidget::PrivateMessage: { QString f = QFileDialog::getOpenFileName(this, tr("Open log file"),_q(SETTING(LOG_DIRECTORY)), tr("Log files (*.log);;All files (*.*)")); if ( !f.isEmpty() ) { f = QDir::toNativeSeparators ( f ); if ( f.startsWith ( "/" ) ) f = "file://" + f; else f = "file:///" + f; QDesktopServices::openUrl ( QUrl(f) ); } break; } default: break; } setExpanded(index, true); }
void ScriptEngine::loadQMLScript(const QString &file){ DEBUG_BLOCK DeclarativeWidget *wgt = ArenaWidgetFactory().create<DeclarativeWidget, QString>(file); }