예제 #1
0
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);
}
예제 #2
0
void ScriptEngine::loadQMLScript(const QString &file){
    DEBUG_BLOCK

    DeclarativeWidget *wgt = ArenaWidgetFactory().create<DeclarativeWidget, QString>(file);
}