binaries for Beta 1

Dirk Hohndel dirk at hohndel.org
Mon Oct 3 12:50:27 PDT 2016


So I'm not opposed to adding this... but reading the code I can't help but
feel that this is a bit incomplete...

On Mon, Oct 03, 2016 at 09:31:03PM +0200, Robert Helling wrote:
> 
> diff --git a/desktop-widgets/divelogexportdialog.cpp b/desktop-widgets/divelogexportdialog.cpp
> index 5b58d0c..395c494 100644
> --- a/desktop-widgets/divelogexportdialog.cpp
> +++ b/desktop-widgets/divelogexportdialog.cpp
> @@ -86,6 +86,8 @@ void DiveLogExportDialog::showExplanation()
>  		ui->description->setText(tr("Subsurface native XML format."));
>  	} else if (ui->exportImageDepths->isChecked()) {
>  		ui->description->setText(tr("Write depths of images to file."));
> +	} else if (ui->exportTeX->isChecked()) {
> +		ui->description->setText(tr("Write dive as TeX macros to file."));
>  	}
>  }
>  
> @@ -162,6 +164,10 @@ void DiveLogExportDialog::on_buttonBox_accepted()
>  			filename = QFileDialog::getSaveFileName(this, tr("Save image depths"), lastDir);
>  			if (!filename.isNull() && !filename.isEmpty())
>  				export_depths(filename.toUtf8().data(), ui->exportSelected->isChecked());
> +		} else if (ui->exportTeX->isChecked()) {
> +			filename = QFileDialog::getSaveFileName(this, tr("Export to TeX file"), lastDir, tr("TeX files(*.tex)"));
> +			if (!filename.isNull() && !filename.isEmpty())
> +				export_TeX(filename.toUtf8().data(), ui->exportSelected->isChecked());
>  		}
>  		break;
>  	case 1:

OK, so we add the UI handling

> @@ -223,3 +229,30 @@ void DiveLogExportDialog::export_depths(const char *filename, const bool selecte
>  	}
>  	free_buffer(&buf);
>  }
> +
> +void DiveLogExportDialog::export_TeX(const char *filename, const bool selected_only)
> +{
> +	FILE *f;
> +	struct dive *dive;
> +	depth_t depth;
> +	int i;
> +	const char *unit = NULL;
> +
> +	struct membuffer buf = {};
> +
> +	for_each_dive (i, dive) {
> +		if (selected_only && !dive->selected)
> +			continue;
> +
> +		put_format(&buf, "\\number{%d}\n", dive->number);
> +	}
> +
> +	f = subsurface_fopen(filename, "w+");
> +	if (!f) {
> +		report_error(tr("Can't open file %s").toUtf8().data(), filename);
> +	} else {
> +		flush_buffer(&buf, f); /*check for writing errors? */
> +		fclose(f);
> +	}
> +	free_buffer(&buf);
> +}

We write the dive numbers.

> diff --git a/desktop-widgets/divelogexportdialog.h b/desktop-widgets/divelogexportdialog.h
> index e7cde31..5d5ad14 100644
> --- a/desktop-widgets/divelogexportdialog.h
> +++ b/desktop-widgets/divelogexportdialog.h
> @@ -33,6 +33,7 @@ private:
>  	void showExplanation();
>  	void exportHtmlInit(const QString &filename);
>  	void export_depths(const char *filename, const bool selected_only);
> +	void export_TeX(const char *filename, const bool selected_only);
>  };
>  
>  #endif // DIVELOGEXPORTDIALOG_H
> diff --git a/desktop-widgets/divelogexportdialog.ui b/desktop-widgets/divelogexportdialog.ui
> index 4713bf0..d01f817 100644
> --- a/desktop-widgets/divelogexportdialog.ui
> +++ b/desktop-widgets/divelogexportdialog.ui
> @@ -192,6 +192,16 @@
>             </widget>
>            </item>
>            <item>
> +           <widget class="QRadioButton" name="exportTeX">
> +            <property name="text">
> +             <string>TeX</string>
> +            </property>
> +            <attribute name="buttonGroup">
> +             <string notr="true">exportGroup</string>
> +            </attribute>
> +           </widget>
> +          </item>
> +          <item>
>             <widget class="QRadioButton" name="exportImageDepths">
>              <property name="text">
>               <string>I&mage depths</string>

Add the UI


Ummm. There is more TeX somewhere, right?

/D


More information about the subsurface mailing list