void GuiBibtex::selUpdated()
{
selectionManager->update();
+ editPB->setEnabled(deletePB->isEnabled());
changed();
}
}
+void GuiBibtex::on_editPB_clicked()
+{
+ QModelIndexList selIdx =
+ selectedLV->selectionModel()->selectedIndexes();
+ if (selIdx.isEmpty())
+ return;
+ QModelIndex idx = selIdx.first();
+ QString sel = idx.data().toString();
+ FuncRequest fr(LFUN_INSET_EDIT, fromqstr(sel));
+ dispatch(fr);
+}
+
+
void GuiBibtex::rescanClicked()
{
rescanBibStyles();
"encoding than specified below, set it here"));
selectedLV->setIndexWidget(selected_model_.index(i, 1), cb);
}
+ editPB->setEnabled(deletePB->isEnabled());
}
biblatexOptsLE->setText(toqstr(params_["biblatexopts"]));
setFileEncodings(getVectorFromString(params_["file_encodings"], from_ascii("\t")));
+ editPB->setEnabled(deletePB->isEnabled());
}
{
docstring dbs;
- unsigned int maxCount = selected_bibs_.count();
- for (unsigned int i = 0; i < maxCount; i++) {
+ int maxCount = selected_bibs_.count();
+ for (int i = 0; i < maxCount; i++) {
if (i != 0)
dbs += ',';
QString item = selected_bibs_.at(i);
void on_buttonBox_accepted();
void browseBstPressed();
void browseBibPressed();
+ void on_editPB_clicked();
void databaseChanged();
void rescanClicked();
void selUpdated();
<x>0</x>
<y>0</y>
<width>523</width>
- <height>576</height>
+ <height>617</height>
</rect>
</property>
<property name="windowTitle">
</property>
</widget>
</item>
+ <item>
+ <spacer name="verticalSpacer_2">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>40</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QPushButton" name="editPB">
+ <property name="toolTip">
+ <string>Edit selected database externally</string>
+ </property>
+ <property name="text">
+ <string>&Edit...</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>.</normaloff>.</iconset>
+ </property>
+ </widget>
+ </item>
<item>
<spacer name="verticalSpacer">
<property name="orientation">
switch (cmd.action()) {
case LFUN_INSET_EDIT:
- editDatabases();
+ editDatabases(cmd.argument());
break;
case LFUN_INSET_MODIFY: {
}
-void InsetBibtex::editDatabases() const
+void InsetBibtex::editDatabases(docstring const db) const
{
vector<docstring> bibfilelist = getVectorFromString(getParam("bibfiles"));
return;
size_t nr_databases = bibfilelist.size();
- if (nr_databases > 1) {
+ if (nr_databases > 1 && db.empty()) {
docstring const engine = usingBiblatex() ? _("Biblatex") : _("BibTeX");
docstring message = bformat(_("The %1$s[[BibTeX/Biblatex]] inset includes %2$s databases.\n"
"If you proceed, all of them will be opened."),
vector<docstring>::const_iterator it = bibfilelist.begin();
vector<docstring>::const_iterator en = bibfilelist.end();
for (; it != en; ++it) {
+ if (!db.empty() && db != *it)
+ continue;
FileName const bibfile = buffer().getBibfilePath(*it);
theFormats().edit(buffer(), bibfile,
theFormats().getFormatFromFile(bibfile));
private:
///
- void editDatabases() const;
+ void editDatabases(docstring const db = docstring()) const;
///
void parseBibTeXFiles(support::FileNameList &) const;
///