summaryrefslogtreecommitdiffstats
path: root/src/ui/dialog/tracedialog.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/ui/dialog/tracedialog.cpp')
-rw-r--r--src/ui/dialog/tracedialog.cpp102
1 files changed, 66 insertions, 36 deletions
diff --git a/src/ui/dialog/tracedialog.cpp b/src/ui/dialog/tracedialog.cpp
index f6dd6cb28..597c9a217 100644
--- a/src/ui/dialog/tracedialog.cpp
+++ b/src/ui/dialog/tracedialog.cpp
@@ -1,5 +1,6 @@
-/** @file
- * @brief Bitmap tracing settings dialog - implementation
+/**
+ * @file
+ * Bitmap tracing settings dialog - implementation.
*/
/* Authors:
* Bob Jamison <rjamison@titan.com>
@@ -16,10 +17,10 @@
#include <gtkmm/notebook.h>
#include <gtkmm/frame.h>
-#include <gtkmm/spinbutton.h>
+#include "ui/widget/spinbutton.h"
#include <gtkmm/stock.h>
-#include <gtk/gtkdialog.h> //for GTK_RESPONSE* types
+#include <gtk/gtk.h> //for GTK_RESPONSE* types
#include <glibmm/i18n.h>
#include "desktop.h"
@@ -109,7 +110,7 @@ class TraceDialogImpl : public TraceDialog
Gtk::HBox modeBrightnessBox;
Gtk::RadioButton modeBrightnessRadioButton;
Gtk::Label modeBrightnessSpinnerLabel;
- Gtk::SpinButton modeBrightnessSpinner;
+ Inkscape::UI::Widget::SpinButton modeBrightnessSpinner;
//edge detection
Gtk::Frame modeCannyFrame;
Gtk::HBox modeCannyBox;
@@ -117,16 +118,16 @@ class TraceDialogImpl : public TraceDialog
Gtk::RadioButton modeCannyRadioButton;
//Gtk::HSeparator modeCannySeparator;
//Gtk::Label modeCannyLoSpinnerLabel;
- //Gtk::SpinButton modeCannyLoSpinner;
+ //Inkscape::UI::Widget::SpinButton modeCannyLoSpinner;
Gtk::Label modeCannyHiSpinnerLabel;
- Gtk::SpinButton modeCannyHiSpinner;
+ Inkscape::UI::Widget::SpinButton modeCannyHiSpinner;
//quantization
Gtk::Frame modeQuantFrame;
Gtk::HBox modeQuantBox;
Gtk::VBox modeQuantVBox;
Gtk::RadioButton modeQuantRadioButton;
Gtk::Label modeQuantNrColorLabel;
- Gtk::SpinButton modeQuantNrColorSpinner;
+ Inkscape::UI::Widget::SpinButton modeQuantNrColorSpinner;
//params
Gtk::CheckButton modeInvertButton;
Gtk::HBox modeInvertBox;
@@ -137,7 +138,7 @@ class TraceDialogImpl : public TraceDialog
//brightness
Gtk::HBox modeMultiScanHBox1;
Gtk::RadioButton modeMultiScanBrightnessRadioButton;
- Gtk::SpinButton modeMultiScanNrColorSpinner;
+ Inkscape::UI::Widget::SpinButton modeMultiScanNrColorSpinner;
//colors
Gtk::HBox modeMultiScanHBox2;
Gtk::RadioButton modeMultiScanColorRadioButton;
@@ -162,15 +163,15 @@ class TraceDialogImpl : public TraceDialog
Gtk::HBox optionsSpecklesBox;
Gtk::CheckButton optionsSpecklesButton;
Gtk::Label optionsSpecklesSizeLabel;
- Gtk::SpinButton optionsSpecklesSizeSpinner;
+ Inkscape::UI::Widget::SpinButton optionsSpecklesSizeSpinner;
Gtk::HBox optionsCornersBox;
Gtk::CheckButton optionsCornersButton;
Gtk::Label optionsCornersThresholdLabel;
- Gtk::SpinButton optionsCornersThresholdSpinner;
+ Inkscape::UI::Widget::SpinButton optionsCornersThresholdSpinner;
Gtk::HBox optionsOptimBox;
Gtk::CheckButton optionsOptimButton;
Gtk::Label optionsOptimToleranceLabel;
- Gtk::SpinButton optionsOptimToleranceSpinner;
+ Inkscape::UI::Widget::SpinButton optionsOptimToleranceSpinner;
//#### Credits
@@ -403,8 +404,9 @@ TraceDialogImpl::TraceDialogImpl() :
// brightness
- modeBrightnessRadioButton.set_label(_("Brightness cutoff"));
+ modeBrightnessRadioButton.set_label(_("_Brightness cutoff"));
modeGroup = modeBrightnessRadioButton.get_group();
+ modeBrightnessRadioButton.set_use_underline(true);
modeBrightnessBox.pack_start(modeBrightnessRadioButton, false, false, MARGIN);
tips.set_tip(modeBrightnessRadioButton,
_("Trace by a given brightness level"));
@@ -417,7 +419,9 @@ TraceDialogImpl::TraceDialogImpl() :
tips.set_tip(modeBrightnessSpinner,
_("Brightness cutoff for black/white"));
- modeBrightnessSpinnerLabel.set_label(_("Threshold:"));
+ modeBrightnessSpinnerLabel.set_label(_("_Threshold:"));
+ modeBrightnessSpinnerLabel.set_use_underline(true);
+ modeBrightnessSpinnerLabel.set_mnemonic_widget(modeBrightnessSpinner);
modeBrightnessBox.pack_end(modeBrightnessSpinnerLabel, false, false, MARGIN);
modeBrightnessVBox.pack_start(modeBrightnessBox, false, false, MARGIN);
@@ -427,8 +431,9 @@ TraceDialogImpl::TraceDialogImpl() :
// canny edge detection
// TRANSLATORS: "Canny" is the name of the inventor of this edge detection method
- modeCannyRadioButton.set_label(_("Edge detection"));
+ modeCannyRadioButton.set_label(_("_Edge detection"));
modeCannyRadioButton.set_group(modeGroup);
+ modeCannyRadioButton.set_use_underline(true);
modeCannyBox.pack_start(modeCannyRadioButton, false, false, MARGIN);
tips.set_tip(modeCannyRadioButton,
_("Trace with optimal edge detection by J. Canny's algorithm"));
@@ -450,7 +455,9 @@ TraceDialogImpl::TraceDialogImpl() :
tips.set_tip(modeCannyHiSpinner,
_("Brightness cutoff for adjacent pixels (determines edge thickness)"));
- modeCannyHiSpinnerLabel.set_label(_("Threshold:"));
+ modeCannyHiSpinnerLabel.set_label(_("T_hreshold:"));
+ modeCannyHiSpinnerLabel.set_use_underline(true);
+ modeCannyHiSpinnerLabel.set_mnemonic_widget(modeCannyHiSpinner);
modeCannyBox.pack_end(modeCannyHiSpinnerLabel, false, false, MARGIN);
modeBrightnessVBox.pack_start(modeCannyBox, false, false, MARGIN);
@@ -460,8 +467,9 @@ TraceDialogImpl::TraceDialogImpl() :
// of colors in an image by selecting an optimized set of representative
// colors and then re-applying this reduced set to the original image.
- modeQuantRadioButton.set_label(_("Color quantization"));
+ modeQuantRadioButton.set_label(_("Color _quantization"));
modeQuantRadioButton.set_group(modeGroup);
+ modeQuantRadioButton.set_use_underline(true);
modeQuantBox.pack_start(modeQuantRadioButton, false, false, MARGIN);
tips.set_tip(modeQuantRadioButton,
_("Trace along the boundaries of reduced colors"));
@@ -474,14 +482,17 @@ TraceDialogImpl::TraceDialogImpl() :
tips.set_tip(modeQuantNrColorSpinner,
_("The number of reduced colors"));
- modeQuantNrColorLabel.set_label(_("Colors:"));
+ modeQuantNrColorLabel.set_label(_("_Colors:"));
+ modeQuantNrColorLabel.set_mnemonic_widget(modeQuantNrColorSpinner);
+ modeQuantNrColorLabel.set_use_underline(true);
modeQuantBox.pack_end(modeQuantNrColorLabel, false, false, MARGIN);
modeBrightnessVBox.pack_start(modeQuantBox, false, false, MARGIN);
// swap black and white
- modeInvertButton.set_label(_("Invert image"));
+ modeInvertButton.set_label(_("_Invert image"));
modeInvertButton.set_active(false);
+ modeInvertButton.set_use_underline(true);
modeInvertBox.pack_start(modeInvertButton, false, false, MARGIN);
modeBrightnessVBox.pack_start(modeInvertBox, false, false, MARGIN);
tips.set_tip(modeInvertButton,
@@ -494,8 +505,9 @@ TraceDialogImpl::TraceDialogImpl() :
//# begin multiple scan
- modeMultiScanBrightnessRadioButton.set_label(_("Brightness steps"));
+ modeMultiScanBrightnessRadioButton.set_label(_("B_rightness steps"));
modeMultiScanBrightnessRadioButton.set_group(modeGroup);
+ modeMultiScanBrightnessRadioButton.set_use_underline(true);
modeMultiScanHBox1.pack_start(modeMultiScanBrightnessRadioButton, false, false, MARGIN);
tips.set_tip(modeMultiScanBrightnessRadioButton,
_("Trace the given number of brightness levels"));
@@ -505,23 +517,27 @@ TraceDialogImpl::TraceDialogImpl() :
modeMultiScanNrColorSpinner.set_range(2.0, 256.0);
modeMultiScanNrColorSpinner.set_value(8.0);
modeMultiScanHBox1.pack_end(modeMultiScanNrColorSpinner, false, false, MARGIN);
- modeMultiScanNrColorLabel.set_label(_("Scans:"));
+ modeMultiScanNrColorLabel.set_label(_("Sc_ans:"));
+ modeMultiScanNrColorLabel.set_use_underline(true);
+ modeMultiScanNrColorLabel.set_mnemonic_widget(modeMultiScanNrColorSpinner);
modeMultiScanHBox1.pack_end(modeMultiScanNrColorLabel, false, false, MARGIN);
tips.set_tip(modeMultiScanNrColorSpinner,
_("The desired number of scans"));
modeMultiScanVBox.pack_start(modeMultiScanHBox1, false, false, MARGIN);
- modeMultiScanColorRadioButton.set_label(_("Colors"));
+ modeMultiScanColorRadioButton.set_label(_("Co_lors"));
modeMultiScanColorRadioButton.set_group(modeGroup);
+ modeMultiScanColorRadioButton.set_use_underline(true);
modeMultiScanHBox2.pack_start(modeMultiScanColorRadioButton, false, false, MARGIN);
tips.set_tip(modeMultiScanColorRadioButton,
_("Trace the given number of reduced colors"));
modeMultiScanVBox.pack_start(modeMultiScanHBox2, false, false, MARGIN);
- modeMultiScanMonoRadioButton.set_label(_("Grays"));
+ modeMultiScanMonoRadioButton.set_label(_("_Grays"));
modeMultiScanMonoRadioButton.set_group(modeGroup);
+ modeMultiScanMonoRadioButton.set_use_underline(true);
modeMultiScanHBox3.pack_start(modeMultiScanMonoRadioButton, false, false, MARGIN);
tips.set_tip(modeMultiScanMonoRadioButton,
_("Same as Colors, but the result is converted to grayscale"));
@@ -529,20 +545,23 @@ TraceDialogImpl::TraceDialogImpl() :
modeMultiScanVBox.pack_start(modeMultiScanHBox3, false, false, MARGIN);
// TRANSLATORS: "Smooth" is a verb here
- modeMultiScanSmoothButton.set_label(_("Smooth"));
+ modeMultiScanSmoothButton.set_label(_("S_mooth"));
+ modeMultiScanSmoothButton.set_use_underline(true);
modeMultiScanSmoothButton.set_active(true);
modeMultiScanHBox4.pack_start(modeMultiScanSmoothButton, false, false, MARGIN);
tips.set_tip(modeMultiScanSmoothButton,
_("Apply Gaussian blur to the bitmap before tracing"));
// TRANSLATORS: "Stack" is a verb here
- modeMultiScanStackButton.set_label(_("Stack scans"));
+ modeMultiScanStackButton.set_label(_("Stac_k scans"));
+ modeMultiScanStackButton.set_use_underline(true);
modeMultiScanStackButton.set_active(true);
modeMultiScanHBox4.pack_start(modeMultiScanStackButton, false, false, MARGIN);
tips.set_tip(modeMultiScanStackButton, _("Stack scans on top of one another (no gaps) instead of tiling (usually with gaps)"));
- modeMultiScanBackgroundButton.set_label(_("Remove background"));
+ modeMultiScanBackgroundButton.set_label(_("Remo_ve background"));
+ modeMultiScanBackgroundButton.set_use_underline(true);
modeMultiScanBackgroundButton.set_active(false);
modeMultiScanHBox4.pack_start(modeMultiScanBackgroundButton, false, false, MARGIN);
// TRANSLATORS: "Layer" refers to one of the stacked paths in the multiscan
@@ -560,13 +579,14 @@ TraceDialogImpl::TraceDialogImpl() :
//## end mode page
- notebook.append_page(modePageBox, _("Mode"));
+ notebook.append_page(modePageBox, _("_Mode"), true);
//## begin option page
//# potrace parameters
- optionsSpecklesButton.set_label(_("Suppress speckles"));
+ optionsSpecklesButton.set_label(_("Suppress _speckles"));
+ optionsSpecklesButton.set_use_underline(true);
tips.set_tip(optionsSpecklesButton,
_("Ignore small spots (speckles) in the bitmap"));
optionsSpecklesButton.set_active(true);
@@ -578,10 +598,13 @@ TraceDialogImpl::TraceDialogImpl() :
tips.set_tip(optionsSpecklesSizeSpinner,
_("Speckles of up to this many pixels will be suppressed"));
optionsSpecklesBox.pack_end(optionsSpecklesSizeSpinner, false, false, MARGIN);
- optionsSpecklesSizeLabel.set_label(_("Size:"));
+ optionsSpecklesSizeLabel.set_label(_("S_ize:"));
+ optionsSpecklesSizeLabel.set_use_underline(true);
+ optionsSpecklesSizeLabel.set_mnemonic_widget(optionsSpecklesSizeSpinner);
optionsSpecklesBox.pack_end(optionsSpecklesSizeLabel, false, false, MARGIN);
- optionsCornersButton.set_label(_("Smooth corners"));
+ optionsCornersButton.set_label(_("Smooth _corners"));
+ optionsCornersButton.set_use_underline(true);
tips.set_tip(optionsCornersButton,
_("Smooth out sharp corners of the trace"));
optionsCornersButton.set_active(true);
@@ -593,10 +616,13 @@ TraceDialogImpl::TraceDialogImpl() :
optionsCornersBox.pack_end(optionsCornersThresholdSpinner, false, false, MARGIN);
tips.set_tip(optionsCornersThresholdSpinner,
_("Increase this to smooth corners more"));
- optionsCornersThresholdLabel.set_label(_("Threshold:"));
+ optionsCornersThresholdLabel.set_label(_("_Threshold:"));
+ optionsCornersThresholdLabel.set_use_underline(true);
+ optionsCornersThresholdLabel.set_mnemonic_widget(optionsCornersThresholdSpinner);
optionsCornersBox.pack_end(optionsCornersThresholdLabel, false, false, MARGIN);
- optionsOptimButton.set_label(_("Optimize paths"));
+ optionsOptimButton.set_label(_("Optimize p_aths"));
+ optionsOptimButton.set_use_underline(true);
optionsOptimButton.set_active(true);
tips.set_tip(optionsOptimButton,
_("Try to optimize paths by joining adjacent Bezier curve segments"));
@@ -608,7 +634,9 @@ TraceDialogImpl::TraceDialogImpl() :
optionsOptimBox.pack_end(optionsOptimToleranceSpinner, false, false, MARGIN);
tips.set_tip(optionsOptimToleranceSpinner,
_("Increase this to reduce the number of nodes in the trace by more aggressive optimization"));
- optionsOptimToleranceLabel.set_label(_("Tolerance:"));
+ optionsOptimToleranceLabel.set_label(_("To_lerance:"));
+ optionsOptimToleranceLabel.set_use_underline(true);
+ optionsOptimToleranceLabel.set_mnemonic_widget(optionsOptimToleranceSpinner);
optionsOptimBox.pack_end(optionsOptimToleranceLabel, false, false, MARGIN);
optionsVBox.pack_start(optionsSpecklesBox, false, false, MARGIN);
@@ -620,7 +648,7 @@ TraceDialogImpl::TraceDialogImpl() :
//## end option page
- notebook.append_page(optionsPageBox, _("Options"));
+ notebook.append_page(optionsPageBox, _("O_ptions"), true);
//### credits
@@ -641,7 +669,8 @@ TraceDialogImpl::TraceDialogImpl() :
//## SIOX
- sioxButton.set_label(_("SIOX foreground selection"));
+ sioxButton.set_label(_("SIOX _foreground selection"));
+ sioxButton.set_use_underline(true);
sioxBox.pack_start(sioxButton, false, false, MARGIN);
tips.set_tip(sioxButton,
_("Cover the area you want to select as the foreground"));
@@ -649,7 +678,8 @@ TraceDialogImpl::TraceDialogImpl() :
//## preview
- previewButton.set_label(_("Update"));
+ previewButton.set_label(_("_Update"));
+ previewButton.set_use_underline(true);
previewButton.signal_clicked().connect(
sigc::mem_fun(*this, &TraceDialogImpl::previewCallback) );
previewVBox.pack_end(previewButton, false, false, 0);