mirror of
https://github.com/ra3xdh/qucs_s
synced 2025-03-28 21:13:26 +00:00
commit
88a4b113f1
@ -304,7 +304,13 @@ int SpiceLibCompDialog::parseLibFile(const QString &filename)
|
||||
if (line.startsWith("+")) {
|
||||
line.remove(0,1);
|
||||
QStringList pins = line.split(QRegularExpression("[ \\t]"),Qt::SkipEmptyParts);
|
||||
a_subcirPins[last_subcir].append(pins);
|
||||
for (const auto &s1: pins) {
|
||||
if (s1 == "PARAMS:") header_start = false;
|
||||
if (!s1.contains('=') && (s1 != "PARAMS:")) {
|
||||
a_subcirPins[subname].append(s1);
|
||||
}
|
||||
}
|
||||
line.prepend('+'); // put the plus back
|
||||
} else {
|
||||
// end of header
|
||||
header_start = false;
|
||||
|
@ -1793,9 +1793,11 @@ bool QucsApp::saveAs()
|
||||
QucsDoc *Doc = getDoc();
|
||||
|
||||
int n = -1;
|
||||
QString s, Filter;
|
||||
QString s, Filter, selfilter;
|
||||
QStringList Filters;
|
||||
QFileInfo Info;
|
||||
while(true) {
|
||||
QString file_ext;
|
||||
s = Doc->getDocName();
|
||||
Info.setFile(s);
|
||||
if(s.isEmpty()) { // which is default directory ?
|
||||
@ -1804,6 +1806,8 @@ bool QucsApp::saveAs()
|
||||
else s = lastDirOpenSave;
|
||||
}
|
||||
else s = QucsSettings.QucsWorkDir.path();
|
||||
} else {
|
||||
file_ext = QString("*.") + Info.suffix();
|
||||
}
|
||||
|
||||
// list of known file extensions
|
||||
@ -1811,25 +1815,40 @@ bool QucsApp::saveAs()
|
||||
QStringList extlist = ext.split (';');
|
||||
|
||||
if(isTextDocument (w)) {
|
||||
Filter = tr("VHDL Sources")+" (*.vhdl *.vhd);;" +
|
||||
tr("Verilog Sources")+" (*.v);;"+
|
||||
tr("Verilog-A Sources")+" (*.va);;"+
|
||||
tr("Octave Scripts")+" (*.m *.oct);;"+
|
||||
tr("Qucs Netlist")+" (*.net *.qnet);;"+
|
||||
tr("SPICE Netlist")+" (*.ckt *.cir *.sp);;"+
|
||||
tr("Plain Text")+" (*.txt);;"+
|
||||
tr("Any File")+" (*)";
|
||||
Filters << tr("VHDL Sources")+" (*.vhdl *.vhd);;"
|
||||
<< tr("Verilog Sources")+" (*.v);;"
|
||||
<< tr("Verilog-A Sources")+" (*.va);;"
|
||||
<< tr("Octave Scripts")+" (*.m *.oct);;"
|
||||
<< tr("Qucs Netlist")+" (*.net *.qnet);;"
|
||||
<< tr("SPICE Netlist")+" (*.ckt *.cir *.sp);;"
|
||||
<< tr("Plain Text")+" (*.txt);;"
|
||||
<< tr("Any File")+" (*)";
|
||||
Filter = Filters.join("");
|
||||
bool found = false;
|
||||
for (const auto &ss: Filters) {
|
||||
if (ss.contains(file_ext)) {
|
||||
found = true;
|
||||
selfilter = ss;
|
||||
selfilter.chop(2);
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!found) {
|
||||
selfilter = Filters.first();
|
||||
}
|
||||
} else {
|
||||
Schematic *sch = (Schematic *) Doc;
|
||||
if (sch->getIsSymbolOnly()) {
|
||||
Filter = tr("Subcircuit symbol") + "(*.sym)";
|
||||
selfilter = tr("Subcircuit symbol") + "(*.sym)";
|
||||
} else {
|
||||
Filter = QucsFileFilter;
|
||||
selfilter = tr("Schematic") + " (*.sch)";
|
||||
}
|
||||
}
|
||||
|
||||
s = QFileDialog::getSaveFileName(this, tr("Enter a Document Name"),
|
||||
s, Filter);
|
||||
s, Filter, &selfilter);
|
||||
if(s.isEmpty()) return false;
|
||||
Info.setFile(s); // try to guess the best extension ...
|
||||
ext = Info.suffix();
|
||||
|
Loading…
x
Reference in New Issue
Block a user