RKReadLineDialog::RKReadLineDialog (QWidget *parent, const QString &caption, const QString &prompt, RCommand *command) : KDialogBase (parent, 0, true, caption, KDialogBase::Ok | KDialogBase::Cancel) { RK_TRACE (DIALOGS); RK_ASSERT (command); QVBox *page = makeVBoxMainWidget (); new QLabel (caption, page); int screen_width = qApp->desktop ()->width () - 2*marginHint() - 2*spacingHint (); // TODO is this correct on xinerama? QString context = command->fullOutput (); if (!context.isEmpty ()) { new QLabel (i18n ("Context:"), page); QTextEdit *output = new QTextEdit (page); output->setUndoRedoEnabled (false); output->setTextFormat (QTextEdit::PlainText); output->setCurrentFont (QFont ("Courier")); output->setWordWrap (QTextEdit::NoWrap); output->setText (context); output->setReadOnly (true); int cwidth = output->contentsWidth (); output->setMinimumWidth (screen_width < cwidth ? screen_width : cwidth); output->scrollToBottom (); output->setFocusPolicy (QWidget::NoFocus); } QLabel *promptl = new QLabel (prompt, page); promptl->setAlignment (Qt::WordBreak | promptl->alignment ()); input = new QLineEdit (QString (), page); input->setMinimumWidth (fontMetrics ().maxWidth ()*20); input->setFocus (); }
// ------------------------------------------------------------------------------------------------- void AboutDialog::setupLicenseTab() { QVBox* licenseTab = new QVBox(this); QTextEdit* textEdit = new QTextEdit(licenseTab); textEdit->setReadOnly(true); textEdit->setWordWrap(QTextEdit::FixedColumnWidth); textEdit->setWrapColumnOrWidth(100); QString fileName = qApp->applicationDirPath() + "/../share/tfla-01/COPYING"; if (QFile::exists(fileName)) { QFile file(fileName); if (file.open( IO_ReadOnly )) { QTextStream stream(&file); textEdit->setText("<pre>" + stream.read() + "</pre>"); } } m_tabWidget->addTab(licenseTab, tr("&License")); }
HelixConfigDialogBase::HelixConfigDialogBase( HelixEngine *engine, amaroK::PluginConfig *config, QWidget *p ) : QTabWidget( p ) , m_core(0) , m_plugin(0) , m_codec(0) , m_device(0) , m_engine( engine ) { int row = 0; QString currentPage; QWidget *parent = 0; QGridLayout *grid = 0; QScrollView *sv = 0; QString pageName( i18n("Main") ); addTab( sv = new QScrollView, pageName ); parent = new QWidget( sv->viewport() ); sv->setResizePolicy( QScrollView::AutoOneFit ); sv->setHScrollBarMode( QScrollView::AlwaysOff ); sv->setFrameShape( QFrame::NoFrame ); sv->addChild( parent ); grid = new QGridLayout( parent, /*rows*/20, /*cols*/2, /*margin*/10, /*spacing*/10 ); grid->setColStretch( 0, 1 ); grid->setColStretch( 1, 1 ); if( sv ) sv->setMinimumWidth( grid->sizeHint().width() + 20 ); engine->m_coredir = HelixConfig::coreDirectory(); m_core = new HelixConfigEntry( parent, engine->m_coredir, config, row, i18n("Helix/Realplay core directory"), HelixConfig::coreDirectory().utf8(), i18n("This is the directory where clntcore.so is located")); ++row; engine->m_pluginsdir = HelixConfig::pluginDirectory(); m_plugin = new HelixConfigEntry( parent, engine->m_pluginsdir, config, row, i18n("Helix/Realplay plugins directory"), HelixConfig::pluginDirectory().utf8(), i18n("This is the directory where, for example, vorbisrend.so is located")); ++row; engine->m_codecsdir = HelixConfig::codecsDirectory(); m_codec = new HelixConfigEntry( parent, engine->m_codecsdir, config, row, i18n("Helix/Realplay codecs directory"), HelixConfig::codecsDirectory().utf8(), i18n("This is the directory where, for example, cvt1.so is located")); ++row; grid->addMultiCellWidget( new KSeparator( KSeparator::Horizontal, parent ), row, row, 0, 1 ); ++row; m_device = new HelixSoundDevice( parent, config, row, engine ); // lets find the logo if we can QPixmap *pm = 0; QString logo = HelixConfig::coreDirectory(); if (logo.isEmpty()) logo = HELIX_LIBS "/common"; logo.append("/../share/"); QString tmp = logo; tmp.append("hxplay/logo.png"); if (QFileInfo(tmp).exists()) { logo = tmp; pm = new QPixmap(logo); } else { tmp = logo; tmp.append("realplay/logo.png"); if (QFileInfo(tmp).exists()) { logo = tmp; pm = new QPixmap(logo); } } if (pm) { QLabel *l = new QLabel(parent); l->setPixmap(*pm); grid->addMultiCellWidget( l, 20, 20, 1, 1, Qt::AlignRight ); } entries.setAutoDelete( true ); pageName = i18n("Plugins"); addTab( sv = new QScrollView, pageName ); parent = new QWidget( sv->viewport() ); sv->setResizePolicy( QScrollView::AutoOneFit ); sv->addChild( parent ); QTextEdit *le = new QTextEdit( parent ); if( sv ) sv->setMinimumWidth( le->sizeHint().width() ); grid = new QGridLayout( parent, /*rows*/1, /*cols*/1, /*margin*/2, /*spacing*/1 ); grid->addMultiCellWidget( le, 0, 1, 0, 1, 0 ); le->setWordWrap(QTextEdit::NoWrap); int n = engine->numPlugins(); const char *description, *copyright, *moreinfourl; row = 0; for (int i=0; i<n; i++) { if (!engine->getPluginInfo(i, description, copyright, moreinfourl)) { le->append(QString(description)); le->append(QString(copyright)); le->append(QString(moreinfourl)); le->append(QString(" ")); } } le->setReadOnly(true); le->setContentsPos(0,0); }