]> git.lyx.org Git - features.git/commitdiff
gtk include dialog
authorJohn Spray <spray@lyx.org>
Tue, 7 Dec 2004 00:29:15 +0000 (00:29 +0000)
committerJohn Spray <spray@lyx.org>
Tue, 7 Dec 2004 00:29:15 +0000 (00:29 +0000)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9353 a592a061-630c-0410-9148-cb99ea01b6c8

src/frontends/gtk/ChangeLog
src/frontends/gtk/Dialogs.C
src/frontends/gtk/GInclude.C [new file with mode: 0644]
src/frontends/gtk/GInclude.h [new file with mode: 0644]
src/frontends/gtk/Makefile.am
src/frontends/gtk/glade/include.glade [new file with mode: 0644]

index e5481865021bc32096fcdf055202f48e4a267e32..3fbfbb12872128301f8b24d4c4a8341e8790e85f 100644 (file)
@@ -1,3 +1,8 @@
+2004-12-07  John Spray  <spray_john@users.sourceforge.net>
+
+       * The Include Dialog:
+         Dialogs.C, Makefile.am, GInclude.[Ch], glade/include.glade
+
 2004-12-05  Lars Gullik Bjønnes  <larsbj@lyx.org>
 
        * glade/Makefile.am: clean up a bit
index ffc926049ffc6fea2b76ebedd0439d23526b57e8..0cee5270946e47fc5fb0be5ba387feec7d1e6dff 100644 (file)
@@ -70,7 +70,7 @@
 #include "FormExternal.h"
 #include "GFloat.h"
 #include "GGraphics.h"
-#include "FormInclude.h"
+#include "GInclude.h"
 #include "GLog.h"
 #include "GMathPanel.h"
 #include "FormMathsBitmap.h"
@@ -252,8 +252,9 @@ Dialogs::DialogPtr Dialogs::build(string const & name)
                dialog->setView(new GGraphics(*dialog));
                dialog->bc().bp(new NoRepeatedApplyReadOnlyPolicy);
        } else if (name == "include") {
+               dialog->bc().view(new GBC(dialog->bc()));
                dialog->setController(new ControlInclude(*dialog));
-               dialog->setView(new FormInclude(*dialog));
+               dialog->setView(new GInclude(*dialog));
                dialog->bc().bp(new OkApplyCancelReadOnlyPolicy);
        } else if (name == "index") {
                dialog->bc().view(new GBC(dialog->bc()));
diff --git a/src/frontends/gtk/GInclude.C b/src/frontends/gtk/GInclude.C
new file mode 100644 (file)
index 0000000..95c8959
--- /dev/null
@@ -0,0 +1,162 @@
+/**
+ * \file GInclude.C
+ * This file is part of LyX, the document processor.
+ * Licence details can be found in the file COPYING.
+ *
+ * \author John Spray
+ *
+ * Full author contact details are available in file CREDITS.
+ */
+
+#include <config.h>
+
+// Too hard to make concept checks work with this file
+#ifdef _GLIBCPP_CONCEPT_CHECKS
+#undef _GLIBCPP_CONCEPT_CHECKS
+#endif
+
+#include "GInclude.h"
+#include "ControlInclude.h"
+#include "ghelpers.h"
+
+#include <libglademm.h>
+
+using std::string;
+using std::vector;
+
+namespace lyx {
+namespace frontend {
+
+GInclude::GInclude(Dialog & parent)
+       : GViewCB<ControlInclude, GViewGladeB>(parent, _("Child Document"), false)
+{}
+
+
+void GInclude::doBuild()
+{
+       string const gladeName = findGladeFile("include");
+       xml_ = Gnome::Glade::Xml::create(gladeName);
+
+       Gtk::Button * button;
+       xml_->get_widget("Cancel", button);
+       setCancel(button);
+       xml_->get_widget("Ok", button);
+       setOK(button);
+
+       xml_->get_widget("Browse", button);
+       button->signal_clicked().connect(
+               sigc::mem_fun(*this, &GInclude::onBrowseClicked));
+
+       xml_->get_widget("Open", openbutton_);
+       openbutton_->signal_clicked().connect(
+               sigc::mem_fun(*this, &GInclude::onOpenClicked));
+
+       xml_->get_widget("Include", includeradio_);
+       xml_->get_widget("Input", inputradio_);
+       xml_->get_widget("Verbatim", verbatimradio_);
+       xml_->get_widget("File", fileentry_);
+       xml_->get_widget("MarkSpaces", markspacescheck_);
+       xml_->get_widget("Preview", previewcheck_);
+
+       inputradio_->signal_toggled().connect(
+               sigc::mem_fun(*this, &GInclude::onTypeToggled));
+       includeradio_->signal_toggled().connect(
+               sigc::mem_fun(*this, &GInclude::onTypeToggled));
+       verbatimradio_->signal_toggled().connect(
+               sigc::mem_fun(*this, &GInclude::onTypeToggled));
+}
+
+
+void GInclude::update()
+{
+       string const filename = controller().params().getContents();
+       fileentry_->set_text(filename);
+
+       string const cmdname = controller().params().getCmdName();
+
+       bool const inputCommand = (cmdname == "input" || cmdname.empty());
+       bool const includeCommand = cmdname == "include";
+       bool const verbatimStarCommand = cmdname == "verbatiminput*";
+       bool const verbatimCommand = cmdname == "verbatiminput";
+
+       bool const preview = static_cast<bool>((controller().params().preview()));
+
+       previewcheck_->set_sensitive(inputCommand);
+       previewcheck_->set_active(inputCommand ? preview : false);
+
+       if (inputCommand)
+               inputradio_->set_active(true);
+
+       if (includeCommand)
+               includeradio_->set_active(true);
+
+       if (verbatimCommand || verbatimStarCommand) {
+               verbatimradio_->set_active(true);
+               markspacescheck_->set_active(verbatimStarCommand);
+               markspacescheck_->set_sensitive(true);
+               openbutton_->set_sensitive(false);
+       } else {
+               markspacescheck_->set_active(false);
+               markspacescheck_->set_sensitive(false);
+               openbutton_->set_sensitive(true);
+       }
+
+       bc().valid();
+}
+
+
+void GInclude::apply()
+{
+       InsetCommandParams params = controller().params();
+
+       params.preview(previewcheck_->get_active());
+       params.setContents(fileentry_->get_text());
+
+       if (includeradio_->get_active())
+               params.setCmdName("include");
+       else if (inputradio_->get_active())
+               params.setCmdName("input");
+       else
+               if (markspacescheck_->get_active())
+                       params.setCmdName("verbatiminput*");
+               else
+                       params.setCmdName("verbatiminput");
+
+       controller().setParams(params);
+}
+
+
+void GInclude::onTypeToggled()
+{
+       previewcheck_->set_sensitive(inputradio_->get_active());
+       markspacescheck_->set_sensitive(verbatimradio_->get_active());
+       openbutton_->set_sensitive(!verbatimradio_->get_active());
+}
+
+
+void GInclude::onBrowseClicked()
+{
+       ControlInclude::Type type;
+       if (includeradio_->get_active())
+               type = ControlInclude::INCLUDE;
+       else if (inputradio_->get_active())
+               type = ControlInclude::INPUT;
+       else
+               type = ControlInclude::VERBATIM;
+
+       fileentry_->set_text(controller().browse(fileentry_->get_text(), type));
+}
+
+
+void GInclude::onOpenClicked()
+{
+       string const in_name = fileentry_->get_text();
+       if (!in_name.empty() && controller().fileExists(in_name)) {
+               dialog().OKButton();
+               controller().load(in_name);
+       }
+}
+
+
+} // namespace frontend
+} // namespace lyx
diff --git a/src/frontends/gtk/GInclude.h b/src/frontends/gtk/GInclude.h
new file mode 100644 (file)
index 0000000..0c75191
--- /dev/null
@@ -0,0 +1,48 @@
+// -*- C++ -*-
+/**
+ * \file GInclude.h
+ * This file is part of LyX, the document processor.
+ * Licence details can be found in the file COPYING.
+ *
+ * \author John Spray
+ *
+ * Full author contact details are available in file CREDITS.
+ */
+
+#ifndef GINCLUDE_H
+#define GINCLUDE_H
+
+#include "GViewBase.h"
+
+namespace lyx {
+namespace frontend {
+
+class ControlInclude;
+
+/** This class provides a GTK+ implementation of the Include Dialog.
+ */
+class GInclude : public GViewCB<ControlInclude, GViewGladeB> {
+public:
+       GInclude(Dialog & parent);
+private:
+       virtual void apply();
+       virtual void doBuild();
+       virtual void update();
+
+       Gtk::RadioButton * includeradio_;
+       Gtk::RadioButton * inputradio_;
+       Gtk::RadioButton * verbatimradio_;
+       Gtk::Entry * fileentry_;
+       Gtk::Button * openbutton_;
+       Gtk::CheckButton * markspacescheck_;
+       Gtk::CheckButton * previewcheck_;
+
+       void onBrowseClicked();
+       void onOpenClicked();
+       void onTypeToggled();
+};
+
+} // namespace frontend
+} // namespace lyx
+
+#endif // GINCLUDE_H
index 5c4b676b251ffe16277398e2036bbbd1c12f3373..8a088141f85501385f659ff6e1bd6d95b1305f6f 100644 (file)
@@ -39,6 +39,8 @@ libgtk_la_SOURCES = \
        GERT.h \
        GFloat.C \
        GFloat.h \
+       GInclude.C \
+       GInclude.h \
        GGraphics.C \
        GGraphics.h \
        GLog.C \
@@ -130,7 +132,6 @@ xforms_objects = \
        ../xforms/FormDialogView.lo \
        ../xforms/FormDocument.lo \
        ../xforms/FormExternal.lo \
-       ../xforms/FormInclude.lo \
        ../xforms/FormMathsBitmap.lo \
        ../xforms/FormMathsDelim.lo \
        ../xforms/FormMathsSpace.lo \
diff --git a/src/frontends/gtk/glade/include.glade b/src/frontends/gtk/glade/include.glade
new file mode 100644 (file)
index 0000000..35e3317
--- /dev/null
@@ -0,0 +1,537 @@
+<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
+<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd">
+
+<glade-interface>
+
+<widget class="GtkDialog" id="dialog">
+  <property name="visible">True</property>
+  <property name="title" translatable="yes">dialog1</property>
+  <property name="type">GTK_WINDOW_TOPLEVEL</property>
+  <property name="window_position">GTK_WIN_POS_NONE</property>
+  <property name="modal">False</property>
+  <property name="resizable">False</property>
+  <property name="destroy_with_parent">False</property>
+  <property name="decorated">True</property>
+  <property name="skip_taskbar_hint">False</property>
+  <property name="skip_pager_hint">False</property>
+  <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
+  <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
+  <property name="has_separator">False</property>
+
+  <child internal-child="vbox">
+    <widget class="GtkVBox" id="dialog-vbox1">
+      <property name="visible">True</property>
+      <property name="homogeneous">False</property>
+      <property name="spacing">0</property>
+
+      <child internal-child="action_area">
+       <widget class="GtkHButtonBox" id="dialog-action_area1">
+         <property name="visible">True</property>
+         <property name="layout_style">GTK_BUTTONBOX_END</property>
+
+         <child>
+           <widget class="GtkButton" id="Cancel">
+             <property name="visible">True</property>
+             <property name="can_default">True</property>
+             <property name="can_focus">True</property>
+             <property name="label">gtk-cancel</property>
+             <property name="use_stock">True</property>
+             <property name="relief">GTK_RELIEF_NORMAL</property>
+             <property name="focus_on_click">True</property>
+             <property name="response_id">-6</property>
+             <accelerator key="Escape" modifiers="0" signal="clicked"/>
+           </widget>
+         </child>
+
+         <child>
+           <widget class="GtkButton" id="Ok">
+             <property name="visible">True</property>
+             <property name="can_default">True</property>
+             <property name="has_default">True</property>
+             <property name="can_focus">True</property>
+             <property name="label">gtk-ok</property>
+             <property name="use_stock">True</property>
+             <property name="relief">GTK_RELIEF_NORMAL</property>
+             <property name="focus_on_click">True</property>
+             <property name="response_id">-5</property>
+           </widget>
+         </child>
+       </widget>
+       <packing>
+         <property name="padding">0</property>
+         <property name="expand">False</property>
+         <property name="fill">True</property>
+         <property name="pack_type">GTK_PACK_END</property>
+       </packing>
+      </child>
+
+      <child>
+       <widget class="GtkVBox" id="vbox1">
+         <property name="border_width">12</property>
+         <property name="visible">True</property>
+         <property name="homogeneous">False</property>
+         <property name="spacing">0</property>
+
+         <child>
+           <widget class="GtkLabel" id="label1">
+             <property name="visible">True</property>
+             <property name="label" translatable="yes">&lt;b&gt;File&lt;/b&gt;</property>
+             <property name="use_underline">False</property>
+             <property name="use_markup">True</property>
+             <property name="justify">GTK_JUSTIFY_LEFT</property>
+             <property name="wrap">False</property>
+             <property name="selectable">False</property>
+             <property name="xalign">0</property>
+             <property name="yalign">0.5</property>
+             <property name="xpad">0</property>
+             <property name="ypad">0</property>
+           </widget>
+           <packing>
+             <property name="padding">0</property>
+             <property name="expand">False</property>
+             <property name="fill">False</property>
+           </packing>
+         </child>
+
+         <child>
+           <widget class="GtkAlignment" id="alignment1">
+             <property name="visible">True</property>
+             <property name="xalign">0.5</property>
+             <property name="yalign">0.5</property>
+             <property name="xscale">1</property>
+             <property name="yscale">1</property>
+             <property name="top_padding">6</property>
+             <property name="bottom_padding">12</property>
+             <property name="left_padding">12</property>
+             <property name="right_padding">0</property>
+
+             <child>
+               <widget class="GtkTable" id="table1">
+                 <property name="visible">True</property>
+                 <property name="n_rows">2</property>
+                 <property name="n_columns">3</property>
+                 <property name="homogeneous">False</property>
+                 <property name="row_spacing">6</property>
+                 <property name="column_spacing">5</property>
+
+                 <child>
+                   <widget class="GtkLabel" id="label2">
+                     <property name="visible">True</property>
+                     <property name="label" translatable="yes">_Filename:</property>
+                     <property name="use_underline">True</property>
+                     <property name="use_markup">False</property>
+                     <property name="justify">GTK_JUSTIFY_LEFT</property>
+                     <property name="wrap">False</property>
+                     <property name="selectable">False</property>
+                     <property name="xalign">0</property>
+                     <property name="yalign">0.5</property>
+                     <property name="xpad">0</property>
+                     <property name="ypad">0</property>
+                     <property name="mnemonic_widget">File</property>
+                   </widget>
+                   <packing>
+                     <property name="left_attach">0</property>
+                     <property name="right_attach">1</property>
+                     <property name="top_attach">0</property>
+                     <property name="bottom_attach">1</property>
+                     <property name="x_options">fill</property>
+                     <property name="y_options"></property>
+                   </packing>
+                 </child>
+
+                 <child>
+                   <widget class="GtkEntry" id="File">
+                     <property name="visible">True</property>
+                     <property name="tooltip" translatable="yes">File name to include</property>
+                     <property name="can_focus">True</property>
+                     <property name="editable">True</property>
+                     <property name="visibility">True</property>
+                     <property name="max_length">0</property>
+                     <property name="text" translatable="yes"></property>
+                     <property name="has_frame">True</property>
+                     <property name="invisible_char" translatable="yes">*</property>
+                     <property name="activates_default">True</property>
+                   </widget>
+                   <packing>
+                     <property name="left_attach">1</property>
+                     <property name="right_attach">2</property>
+                     <property name="top_attach">0</property>
+                     <property name="bottom_attach">1</property>
+                     <property name="y_options"></property>
+                   </packing>
+                 </child>
+
+                 <child>
+                   <widget class="GtkButton" id="Browse">
+                     <property name="visible">True</property>
+                     <property name="tooltip" translatable="yes">Browse directories for file name</property>
+                     <property name="can_focus">True</property>
+                     <property name="relief">GTK_RELIEF_NORMAL</property>
+                     <property name="focus_on_click">True</property>
+
+                     <child>
+                       <widget class="GtkAlignment" id="alignment2">
+                         <property name="visible">True</property>
+                         <property name="xalign">0.5</property>
+                         <property name="yalign">0.5</property>
+                         <property name="xscale">0</property>
+                         <property name="yscale">0</property>
+                         <property name="top_padding">0</property>
+                         <property name="bottom_padding">0</property>
+                         <property name="left_padding">0</property>
+                         <property name="right_padding">0</property>
+
+                         <child>
+                           <widget class="GtkHBox" id="hbox1">
+                             <property name="visible">True</property>
+                             <property name="homogeneous">False</property>
+                             <property name="spacing">2</property>
+
+                             <child>
+                               <widget class="GtkImage" id="image1">
+                                 <property name="visible">True</property>
+                                 <property name="stock">gtk-open</property>
+                                 <property name="icon_size">4</property>
+                                 <property name="xalign">0.5</property>
+                                 <property name="yalign">0.5</property>
+                                 <property name="xpad">0</property>
+                                 <property name="ypad">0</property>
+                               </widget>
+                               <packing>
+                                 <property name="padding">0</property>
+                                 <property name="expand">False</property>
+                                 <property name="fill">False</property>
+                               </packing>
+                             </child>
+
+                             <child>
+                               <widget class="GtkLabel" id="label3">
+                                 <property name="visible">True</property>
+                                 <property name="label" translatable="yes">_Browse</property>
+                                 <property name="use_underline">True</property>
+                                 <property name="use_markup">False</property>
+                                 <property name="justify">GTK_JUSTIFY_LEFT</property>
+                                 <property name="wrap">False</property>
+                                 <property name="selectable">False</property>
+                                 <property name="xalign">0.5</property>
+                                 <property name="yalign">0.5</property>
+                                 <property name="xpad">0</property>
+                                 <property name="ypad">0</property>
+                               </widget>
+                               <packing>
+                                 <property name="padding">0</property>
+                                 <property name="expand">False</property>
+                                 <property name="fill">False</property>
+                               </packing>
+                             </child>
+                           </widget>
+                         </child>
+                       </widget>
+                     </child>
+                   </widget>
+                   <packing>
+                     <property name="left_attach">2</property>
+                     <property name="right_attach">3</property>
+                     <property name="top_attach">0</property>
+                     <property name="bottom_attach">1</property>
+                     <property name="x_options">fill</property>
+                     <property name="y_options"></property>
+                   </packing>
+                 </child>
+
+                 <child>
+                   <widget class="GtkButton" id="Open">
+                     <property name="visible">True</property>
+                     <property name="tooltip" translatable="yes">Open the file</property>
+                     <property name="can_focus">True</property>
+                     <property name="relief">GTK_RELIEF_NORMAL</property>
+                     <property name="focus_on_click">True</property>
+
+                     <child>
+                       <widget class="GtkAlignment" id="alignment3">
+                         <property name="visible">True</property>
+                         <property name="xalign">0.5</property>
+                         <property name="yalign">0.5</property>
+                         <property name="xscale">0</property>
+                         <property name="yscale">0</property>
+                         <property name="top_padding">0</property>
+                         <property name="bottom_padding">0</property>
+                         <property name="left_padding">0</property>
+                         <property name="right_padding">0</property>
+
+                         <child>
+                           <widget class="GtkHBox" id="hbox2">
+                             <property name="visible">True</property>
+                             <property name="homogeneous">False</property>
+                             <property name="spacing">2</property>
+
+                             <child>
+                               <widget class="GtkImage" id="image2">
+                                 <property name="visible">True</property>
+                                 <property name="stock">gtk-execute</property>
+                                 <property name="icon_size">4</property>
+                                 <property name="xalign">0.5</property>
+                                 <property name="yalign">0.5</property>
+                                 <property name="xpad">0</property>
+                                 <property name="ypad">0</property>
+                               </widget>
+                               <packing>
+                                 <property name="padding">0</property>
+                                 <property name="expand">False</property>
+                                 <property name="fill">False</property>
+                               </packing>
+                             </child>
+
+                             <child>
+                               <widget class="GtkLabel" id="label4">
+                                 <property name="visible">True</property>
+                                 <property name="label" translatable="yes">O_pen</property>
+                                 <property name="use_underline">True</property>
+                                 <property name="use_markup">False</property>
+                                 <property name="justify">GTK_JUSTIFY_LEFT</property>
+                                 <property name="wrap">False</property>
+                                 <property name="selectable">False</property>
+                                 <property name="xalign">0.5</property>
+                                 <property name="yalign">0.5</property>
+                                 <property name="xpad">0</property>
+                                 <property name="ypad">0</property>
+                               </widget>
+                               <packing>
+                                 <property name="padding">0</property>
+                                 <property name="expand">False</property>
+                                 <property name="fill">False</property>
+                               </packing>
+                             </child>
+                           </widget>
+                         </child>
+                       </widget>
+                     </child>
+                   </widget>
+                   <packing>
+                     <property name="left_attach">2</property>
+                     <property name="right_attach">3</property>
+                     <property name="top_attach">1</property>
+                     <property name="bottom_attach">2</property>
+                     <property name="x_options">fill</property>
+                     <property name="y_options"></property>
+                   </packing>
+                 </child>
+               </widget>
+             </child>
+           </widget>
+           <packing>
+             <property name="padding">0</property>
+             <property name="expand">True</property>
+             <property name="fill">True</property>
+           </packing>
+         </child>
+
+         <child>
+           <widget class="GtkLabel" id="label7">
+             <property name="visible">True</property>
+             <property name="label" translatable="yes">&lt;b&gt;Include Type&lt;/b&gt;</property>
+             <property name="use_underline">False</property>
+             <property name="use_markup">True</property>
+             <property name="justify">GTK_JUSTIFY_LEFT</property>
+             <property name="wrap">False</property>
+             <property name="selectable">False</property>
+             <property name="xalign">0</property>
+             <property name="yalign">0.5</property>
+             <property name="xpad">0</property>
+             <property name="ypad">0</property>
+           </widget>
+           <packing>
+             <property name="padding">0</property>
+             <property name="expand">False</property>
+             <property name="fill">False</property>
+           </packing>
+         </child>
+
+         <child>
+           <widget class="GtkAlignment" id="alignment5">
+             <property name="visible">True</property>
+             <property name="xalign">0.5</property>
+             <property name="yalign">0.5</property>
+             <property name="xscale">1</property>
+             <property name="yscale">1</property>
+             <property name="top_padding">6</property>
+             <property name="bottom_padding">12</property>
+             <property name="left_padding">12</property>
+             <property name="right_padding">0</property>
+
+             <child>
+               <widget class="GtkVBox" id="vbox3">
+                 <property name="visible">True</property>
+                 <property name="homogeneous">False</property>
+                 <property name="spacing">0</property>
+
+                 <child>
+                   <widget class="GtkRadioButton" id="Input">
+                     <property name="visible">True</property>
+                     <property name="tooltip" translatable="yes">Use LaTeX \input</property>
+                     <property name="can_focus">True</property>
+                     <property name="label" translatable="yes">_Input</property>
+                     <property name="use_underline">True</property>
+                     <property name="relief">GTK_RELIEF_NORMAL</property>
+                     <property name="focus_on_click">True</property>
+                     <property name="active">False</property>
+                     <property name="inconsistent">False</property>
+                     <property name="draw_indicator">True</property>
+                   </widget>
+                   <packing>
+                     <property name="padding">0</property>
+                     <property name="expand">False</property>
+                     <property name="fill">False</property>
+                   </packing>
+                 </child>
+
+                 <child>
+                   <widget class="GtkRadioButton" id="Include">
+                     <property name="visible">True</property>
+                     <property name="tooltip" translatable="yes">Use LaTeX \include</property>
+                     <property name="can_focus">True</property>
+                     <property name="label" translatable="yes">I_nclude</property>
+                     <property name="use_underline">True</property>
+                     <property name="relief">GTK_RELIEF_NORMAL</property>
+                     <property name="focus_on_click">True</property>
+                     <property name="active">False</property>
+                     <property name="inconsistent">False</property>
+                     <property name="draw_indicator">True</property>
+                     <property name="group">Input</property>
+                   </widget>
+                   <packing>
+                     <property name="padding">0</property>
+                     <property name="expand">False</property>
+                     <property name="fill">False</property>
+                   </packing>
+                 </child>
+
+                 <child>
+                   <widget class="GtkRadioButton" id="Verbatim">
+                     <property name="visible">True</property>
+                     <property name="tooltip" translatable="yes">Use LaTeX \verbatiminput</property>
+                     <property name="can_focus">True</property>
+                     <property name="label" translatable="yes">_Verbatim</property>
+                     <property name="use_underline">True</property>
+                     <property name="relief">GTK_RELIEF_NORMAL</property>
+                     <property name="focus_on_click">True</property>
+                     <property name="active">False</property>
+                     <property name="inconsistent">False</property>
+                     <property name="draw_indicator">True</property>
+                     <property name="group">Input</property>
+                   </widget>
+                   <packing>
+                     <property name="padding">0</property>
+                     <property name="expand">False</property>
+                     <property name="fill">False</property>
+                   </packing>
+                 </child>
+               </widget>
+             </child>
+           </widget>
+           <packing>
+             <property name="padding">0</property>
+             <property name="expand">True</property>
+             <property name="fill">True</property>
+           </packing>
+         </child>
+
+         <child>
+           <widget class="GtkLabel" id="label5">
+             <property name="visible">True</property>
+             <property name="label" translatable="yes">&lt;b&gt;Options&lt;/b&gt;</property>
+             <property name="use_underline">False</property>
+             <property name="use_markup">True</property>
+             <property name="justify">GTK_JUSTIFY_LEFT</property>
+             <property name="wrap">False</property>
+             <property name="selectable">False</property>
+             <property name="xalign">0</property>
+             <property name="yalign">0.5</property>
+             <property name="xpad">0</property>
+             <property name="ypad">0</property>
+           </widget>
+           <packing>
+             <property name="padding">0</property>
+             <property name="expand">False</property>
+             <property name="fill">False</property>
+           </packing>
+         </child>
+
+         <child>
+           <widget class="GtkAlignment" id="alignment4">
+             <property name="visible">True</property>
+             <property name="xalign">0.5</property>
+             <property name="yalign">0.5</property>
+             <property name="xscale">1</property>
+             <property name="yscale">1</property>
+             <property name="top_padding">6</property>
+             <property name="bottom_padding">12</property>
+             <property name="left_padding">12</property>
+             <property name="right_padding">0</property>
+
+             <child>
+               <widget class="GtkVBox" id="vbox2">
+                 <property name="visible">True</property>
+                 <property name="homogeneous">False</property>
+                 <property name="spacing">0</property>
+
+                 <child>
+                   <widget class="GtkCheckButton" id="MarkSpaces">
+                     <property name="visible">True</property>
+                     <property name="tooltip" translatable="yes">Underline spaces in generated output</property>
+                     <property name="can_focus">True</property>
+                     <property name="label" translatable="yes">_Mark spaces in output</property>
+                     <property name="use_underline">True</property>
+                     <property name="relief">GTK_RELIEF_NORMAL</property>
+                     <property name="focus_on_click">True</property>
+                     <property name="active">False</property>
+                     <property name="inconsistent">False</property>
+                     <property name="draw_indicator">True</property>
+                   </widget>
+                   <packing>
+                     <property name="padding">0</property>
+                     <property name="expand">False</property>
+                     <property name="fill">False</property>
+                   </packing>
+                 </child>
+
+                 <child>
+                   <widget class="GtkCheckButton" id="Preview">
+                     <property name="visible">True</property>
+                     <property name="tooltip" translatable="yes">Show LaTeX preview</property>
+                     <property name="can_focus">True</property>
+                     <property name="label" translatable="yes">_Display preview</property>
+                     <property name="use_underline">True</property>
+                     <property name="relief">GTK_RELIEF_NORMAL</property>
+                     <property name="focus_on_click">True</property>
+                     <property name="active">False</property>
+                     <property name="inconsistent">False</property>
+                     <property name="draw_indicator">True</property>
+                   </widget>
+                   <packing>
+                     <property name="padding">0</property>
+                     <property name="expand">False</property>
+                     <property name="fill">False</property>
+                   </packing>
+                 </child>
+               </widget>
+             </child>
+           </widget>
+           <packing>
+             <property name="padding">0</property>
+             <property name="expand">True</property>
+             <property name="fill">True</property>
+           </packing>
+         </child>
+       </widget>
+       <packing>
+         <property name="padding">0</property>
+         <property name="expand">True</property>
+         <property name="fill">True</property>
+       </packing>
+      </child>
+    </widget>
+  </child>
+</widget>
+
+</glade-interface>