QWidget* TaskContextItemDelegate::createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const { QLineEdit *editor = new QLineEdit(parent);//qobject_cast<QLineEdit*>(QItemDelegate::createEditor(parent, option, index)); editor->setFrame(true); QCompleter *completer = new QCompleter(vcontextModel); completer->setModel(vcontextModel); completer->setCaseSensitivity(Qt::CaseInsensitive); completer->setCompletionMode(QCompleter::InlineCompletion); completer->setCompletionColumn(1); completer->setWrapAround(false); editor->setCompleter(completer); return editor; }
void ProjectReader::readScripts(QString &path, QString &name, bool open) { Q_ASSERT(xml.isStartElement() && xml.name() == QLatin1String("Script")); QString n; Highlighter *h; QCompleter *c; CodeEditor *editor = new CodeEditor(name, 0, h); if (open) { editor = 0; mMw->addCodeEditor(path + "/" + name); } else { editor->setUndoRedoEnabled(true); editor->setTabStopWidth(29); #ifdef Q_WS_MAC int size = 12; QFont font("Monaco", size); #endif #ifdef Q_OS_WIN int size = 10; QFont font("Consolas", size); #endif #ifdef Q_OS_LINUX int size = 10; QFont font("Inconsolata-g", size); #endif editor->setFont(font); h = new Highlighter(editor->document()); c = new QCompleter(); c->setModel(mDocumentManager->modelFromFile(":/wordlist.txt")); c->setModelSorting(QCompleter::CaseInsensitivelySortedModel); c->setCaseSensitivity(Qt::CaseInsensitive); c->setWrapAround(false); c->popup()->setStyleSheet("color: #848484; background-color: #2E2E2E; selection-background-color: #424242;"); editor->setCompleter(c); n = path + "/" + name; //qDebug() << "look a script" << n; editor->openFile(path + "/" + name); mMw->addCodeEditor(editor, open); } xml.skipCurrentElement(); }
void TextImportDialog::setupUi() { // Setup directory completors for the file and script boxen QCompleter *completer = new QCompleter(this); QDirModel *dirModel = new QDirModel(completer); completer->setModel(dirModel); completer->setCompletionMode(QCompleter::PopupCompletion); completer->setCaseSensitivity(Qt::CaseInsensitive); completer->setWrapAround(true); m_ui->filename->setCompleter(completer); completer = new QCompleter(this); dirModel = new QDirModel(completer); completer->setModel(dirModel); completer->setCompletionMode(QCompleter::PopupCompletion); completer->setCaseSensitivity(Qt::CaseInsensitive); completer->setWrapAround(true); m_ui->scriptFile->setCompleter(completer); completer = new QCompleter(this); dirModel = new QDirModel(completer); completer->setModel(dirModel); completer->setCompletionMode(QCompleter::PopupCompletion); completer->setCaseSensitivity(Qt::CaseInsensitive); completer->setWrapAround(true); m_ui->preprocFile->setCompleter(completer); // Remember the last format selected bool isPlainText = QSettings().value("textimport/plaintext",true).toBool(); m_ui->fmtPlain->setChecked(isPlainText); m_ui->fmtFields->setChecked(!isPlainText); // Find the template QSettings settings; int templateId = settings.value("textimport/template-id",0).toInt(); if(templateId > 0) m_template = SlideTemplateManager::instance()->findTemplate(SlideTemplateManager::Generic,templateId); // Setup the template selector widget TemplateSelectorWidget *tmplWidget = new TemplateSelectorWidget(SlideTemplateManager::Generic,"Template:",this); if(m_template) tmplWidget->setSelectedGroup(m_template); else m_template = tmplWidget->selectedGroup(); // Add template editor to UI //QVBoxLayout *vbox = new QVBoxLayout(m_ui->templateBox); //vbox->addWidget(tmplWidget); m_ui->templateBox->layout()->addWidget(tmplWidget); connect(tmplWidget, SIGNAL(currentGroupChanged(SlideGroup*)), this, SLOT(templateChanged(SlideGroup*))); // Connect slots connect(m_ui->buttonBox, SIGNAL(accepted()), this, SLOT(doImport())); connect(m_ui->browse, SIGNAL(clicked()), this, SLOT(browseBtn())); connect(m_ui->scriptBrowse, SIGNAL(clicked()), this, SLOT(scriptBrowseBtn())); connect(m_ui->preprocBrowse, SIGNAL(clicked()), this, SLOT(preprocBrowseBtn())); m_ui->filename->setText(AppSettings::previousPath("textimport")); m_ui->scriptFile->setText(AppSettings::previousPath("script")); m_ui->preprocFile->setText(AppSettings::previousPath("preproc")); }