InfoPanel::InfoPanel(QGraphicsWidget *parent) : QGraphicsWidget(parent), m_layout(new QGraphicsGridLayout), m_menuTextEdit(new Plasma::TextEdit), m_colorScheme(0) { m_colorScheme = new KColorScheme(QPalette::Active, KColorScheme::View, Plasma::Theme::defaultTheme()->colorScheme()); KTextEdit *c = m_menuTextEdit->nativeWidget(); c->setFrameShape(QFrame::NoFrame); c->setAttribute(Qt::WA_NoSystemBackground); c->viewport()->setAutoFillBackground(false); c->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); // Attention: this causes a crash currently when right-clicking on the edit // http://bugs.kde.org/show_bug.cgi?id=173071 //c->setTextInteractionFlags(Qt::NoTextInteraction); c->setCursor(Qt::ArrowCursor); c->setReadOnly(true); c->setMinimumWidth(350); m_layout->addItem(m_menuTextEdit, 0, 0); setLayout(m_layout); }
int Widgets::textInputBox(QWidget *parent, int width, int height, const QString& title, const QStringList& args, QString &result) { // KTextBox dlg(parent, 0, true, width, height, file); KDialog dlg( parent ); dlg.setCaption( title ); dlg.setButtons( KDialog::Ok ); dlg.setModal( true ); kapp->setTopWidget( &dlg ); KVBox* vbox = new KVBox(&dlg); dlg.setMainWidget(vbox); if( args.count() > 0 ) { QLabel *label = new QLabel(vbox); label->setText(args[0]); } KTextEdit *edit = new KTextEdit( vbox ); edit->setReadOnly(false); edit->setFocus(); if( args.count() > 1 ) edit->insertPlainText( args[1] ); if ( width > 0 && height > 0 ) dlg.setInitialSize( QSize( width, height ) ); handleXGeometry(&dlg); dlg.setCaption(title); const int returnDialogCode = dlg.exec(); result = edit->toPlainText(); return (returnDialogCode == KDialog::Accepted ? 0 : 1); }
void setWidgetReadOnly(QWidget *w, bool isReadOnly) { if (m_singleLineEditText == w) m_singleLineEditText->setReadOnly(isReadOnly); else if (m_multiLineEditText == w) m_multiLineEditText->setReadOnly(isReadOnly); else if (!w->property("isConst").isValid() && !w->property("isConst").toBool()) w->setEnabled(!isReadOnly); }
void ScriptManager::slotShowContextMenu( QListViewItem* item, const QPoint& pos ) { const bool isCategory = item == m_generalCategory || item == m_lyricsCategory || item == m_scoreCategory || item == m_transcodeCategory; if( !item || isCategory ) return; // Look up script entry in our map ScriptMap::Iterator it; ScriptMap::Iterator end( m_scripts.end() ); for( it = m_scripts.begin(); it != end; ++it ) if( it.data().li == item ) break; enum { SHOW_LOG, EDIT }; KPopupMenu menu; menu.insertTitle( i18n( "Debugging" ) ); menu.insertItem( SmallIconSet( amaroK::icon( "clock" ) ), i18n( "Show Output &Log" ), SHOW_LOG ); menu.insertItem( SmallIconSet( amaroK::icon( "edit" ) ), i18n( "&Edit" ), EDIT ); menu.setItemEnabled( SHOW_LOG, it.data().process ); const int id = menu.exec( pos ); switch( id ) { case EDIT: KRun::runCommand( "kwrite " + it.data().url.path() ); break; case SHOW_LOG: QString line; while( it.data().process->readln( line ) != -1 ) it.data().log += line; KTextEdit* editor = new KTextEdit( it.data().log ); kapp->setTopWidget( editor ); editor->setCaption( kapp->makeStdCaption( i18n( "Output Log for %1" ).arg( it.key() ) ) ); editor->setReadOnly( true ); QFont font( "fixed" ); font.setFixedPitch( true ); font.setStyleHint( QFont::TypeWriter ); editor->setFont( font ); editor->setTextFormat( QTextEdit::PlainText ); editor->resize( 500, 380 ); editor->show(); break; } }
void NotifyCollection::displayCollection( QWidget *p ) const { //KMessageBox::information(p,collection(),i18n("Collected Notes")); KDialog *dlg = new KDialog( p ); dlg->setCaption( i18n( "Collected Notes" ) ); dlg->setButtons( KDialog::Close ); dlg->setDefaultButton( KDialog::Close ); dlg->setModal( false ); KTextEdit *text = new KTextEdit( dlg ); text->setReadOnly( true ); text->setText( collection() ); dlg->setMainWidget( text ); dlg->setMinimumWidth( 300 ); dlg->setMinimumHeight( 300 ); dlg->show(); }
void ExpandingWidgetModel::setExpanded(QModelIndex idx_, bool expanded) { QModelIndex idx(firstColumn(idx_)); //kDebug( 13035 ) << "Setting expand-state of row " << idx.row() << " to " << expanded; if( !idx.isValid() ) return; if( isExpandable(idx) ) { if( !expanded && m_expandingWidgets.contains(idx) && m_expandingWidgets[idx] ) { m_expandingWidgets[idx]->hide(); } m_expandState[idx] = expanded ? Expanded : Expandable; if( expanded ) partiallyUnExpand(idx); if( expanded && !m_expandingWidgets.contains(idx) ) { QVariant v = data(idx, CodeCompletionModel::ExpandingWidget); if( v.canConvert<QWidget*>() ) { m_expandingWidgets[idx] = v.value<QWidget*>(); } else if( v.canConvert<QString>() ) { //Create a html widget that shows the given string KTextEdit* edit = new KTextEdit( v.value<QString>() ); edit->setReadOnly(true); edit->resize(200, 50); //Make the widget small so it embeds nicely. m_expandingWidgets[idx] = edit; } else { m_expandingWidgets[idx] = 0; } } //Eventually partially expand the row if( !expanded && firstColumn(treeView()->currentIndex()) == idx && !isPartiallyExpanded(idx) ) rowSelected(idx); //Partially expand the row. emit dataChanged(idx, idx); if(treeView()) treeView()->scrollTo(idx); } }
int Widgets::textBox(QWidget *parent, int width, int height, const QString& title, const QString& file) { // KTextBox dlg(parent, 0, true, width, height, file); KDialog dlg( parent ); dlg.setCaption( title ); dlg.setButtons( KDialog::Ok ); dlg.setModal( true ); kapp->setTopWidget( &dlg ); KVBox* vbox = new KVBox(&dlg); dlg.setMainWidget(vbox); KTextEdit *edit = new KTextEdit( vbox ); edit->setReadOnly(true); QFile f(file); if (!f.open(QIODevice::ReadOnly)) { kError() << i18n("kdialog: could not open file %1", file) << endl; return -1; } QTextStream s(&f); while (!s.atEnd()) edit->append(s.readLine()); edit->setTextCursor(QTextCursor(edit->document())); f.close(); if ( width > 0 && height > 0 ) dlg.setInitialSize( QSize( width, height ) ); handleXGeometry(&dlg); dlg.setCaption(title); return (dlg.exec() == KDialog::Accepted) ? 0 : 1; }