mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-12-22 13:18:28 +00:00
The Spellchecker dialog
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9059 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
06f456e0b4
commit
956313903e
@ -1,3 +1,8 @@
|
||||
2004-10-06 John Spray <spray_john@users.sourceforge.net>
|
||||
|
||||
* The Spellchecker dialog
|
||||
* Dialogs.C, GSpellchecker.C, GSpellchecker.h, Makefile.am
|
||||
|
||||
2004-10-06 John Spray <spray_john@users.sourceforge.net>
|
||||
|
||||
* GView.C (c-tor): get the layout engine working correctly by
|
||||
|
@ -83,7 +83,7 @@
|
||||
#include "FormTabular.h"
|
||||
#include "FormTexinfo.h"
|
||||
#include "FormShowFile.h"
|
||||
#include "FormSpellchecker.h"
|
||||
#include "GSpellchecker.h"
|
||||
#include "GTableCreate.h"
|
||||
#include "GToc.h"
|
||||
#include "GUrl.h"
|
||||
@ -479,8 +479,9 @@ Dialogs::DialogPtr Dialogs::build(string const & name)
|
||||
dialog->setView(new FormSendto(*dialog));
|
||||
dialog->bc().bp(new OkApplyCancelPolicy);
|
||||
} else if (name == "spellchecker") {
|
||||
dialog->bc().view(new GBC(dialog->bc()));
|
||||
dialog->setController(new ControlSpellchecker(*dialog));
|
||||
dialog->setView(new FormSpellchecker(*dialog));
|
||||
dialog->setView(new GSpellchecker(*dialog));
|
||||
dialog->bc().bp(new NoRepeatedApplyReadOnlyPolicy);
|
||||
} else if (name == "tabular") {
|
||||
dialog->setController(new ControlTabular(*dialog));
|
||||
|
184
src/frontends/gtk/GSpellchecker.C
Normal file
184
src/frontends/gtk/GSpellchecker.C
Normal file
@ -0,0 +1,184 @@
|
||||
/**
|
||||
* \file GSpellchecker.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>
|
||||
|
||||
#include "GSpellchecker.h"
|
||||
#include "controllers/ControlSpellchecker.h"
|
||||
|
||||
#include "ghelpers.h"
|
||||
|
||||
#include "support/tostr.h"
|
||||
|
||||
using std::string;
|
||||
|
||||
namespace lyx {
|
||||
namespace frontend {
|
||||
|
||||
GSpellchecker::GSpellchecker(Dialog & parent)
|
||||
: GViewCB<ControlSpellchecker, GViewGladeB>
|
||||
(parent, _("Spell-check document"), false)
|
||||
{}
|
||||
|
||||
|
||||
void GSpellchecker::doBuild()
|
||||
{
|
||||
string const gladeName = findGladeFile("spellcheck");
|
||||
xml_ = Gnome::Glade::Xml::create(gladeName);
|
||||
|
||||
Gtk::Button * button;
|
||||
xml_->get_widget("Close", button);
|
||||
setCancel(button);
|
||||
|
||||
xml_->get_widget("Suggestions", suggestionsview_);
|
||||
xml_->get_widget("Unknown", unknownentry_);
|
||||
xml_->get_widget("Replacement", replacemententry_);
|
||||
xml_->get_widget("Progress", progress_);
|
||||
|
||||
listCols_.add(listCol_);
|
||||
suggestionsstore_ = Gtk::ListStore::create(listCols_);
|
||||
suggestionsview_->set_model(suggestionsstore_);
|
||||
suggestionsview_->append_column("Suggestion", listCol_);
|
||||
suggestionssel_ = suggestionsview_->get_selection();
|
||||
|
||||
// Single click in suggestion list
|
||||
suggestionssel_->signal_changed().connect(
|
||||
sigc::mem_fun(*this, &GSpellchecker::onSuggestionSelection));
|
||||
|
||||
// Double click in suggestion list
|
||||
suggestionsview_->signal_row_activated().connect(
|
||||
sigc::mem_fun(*this, &GSpellchecker::onSuggestionActivate));
|
||||
|
||||
// Because it's like a Replace button when double clicked
|
||||
bcview().addReadOnly(suggestionsview_);
|
||||
|
||||
xml_->get_widget("Replace", button);
|
||||
bcview().addReadOnly(button);
|
||||
button->signal_clicked().connect(
|
||||
sigc::bind<bool>(
|
||||
sigc::mem_fun(*this, &GSpellchecker::onReplace), false));
|
||||
|
||||
xml_->get_widget("ReplaceAll", button);
|
||||
bcview().addReadOnly(button);
|
||||
button->signal_clicked().connect(
|
||||
sigc::bind<bool>(
|
||||
sigc::mem_fun(*this, &GSpellchecker::onReplace), true));
|
||||
|
||||
xml_->get_widget("Ignore", ignorebutton_);
|
||||
ignorebutton_->signal_clicked().connect(
|
||||
sigc::mem_fun(*this, &GSpellchecker::onIgnore));
|
||||
|
||||
xml_->get_widget("IgnoreAll", button);
|
||||
button->signal_clicked().connect(
|
||||
sigc::mem_fun(*this, &GSpellchecker::onIgnoreAll));
|
||||
|
||||
xml_->get_widget("Add", button);
|
||||
button->signal_clicked().connect(
|
||||
sigc::mem_fun(*this, &GSpellchecker::onAdd));
|
||||
}
|
||||
|
||||
|
||||
void GSpellchecker::show()
|
||||
{
|
||||
if (!window()) {
|
||||
build();
|
||||
}
|
||||
bcview().refreshReadOnly();
|
||||
controller().check();
|
||||
if (!controller().getWord().empty())
|
||||
window()->show();
|
||||
}
|
||||
|
||||
void GSpellchecker::partialUpdate(int s)
|
||||
{
|
||||
ControlSpellchecker::State const state =
|
||||
static_cast<ControlSpellchecker::State>(s);
|
||||
|
||||
if (state == ControlSpellchecker::SPELL_FOUND_WORD) {
|
||||
string word = controller().getWord();
|
||||
Glib::ustring utfword = Glib::locale_to_utf8(word);
|
||||
unknownentry_->set_text(utfword);
|
||||
replacemententry_->set_text(utfword);
|
||||
|
||||
// Get the list of suggestions
|
||||
suggestionsstore_->clear();
|
||||
while (!(word = controller().getSuggestion()).empty()) {
|
||||
utfword = Glib::locale_to_utf8(word);
|
||||
(*suggestionsstore_->append())[listCol_] = utfword;
|
||||
}
|
||||
|
||||
if (readOnly())
|
||||
// In readonly docs the user must just be browsing through
|
||||
ignorebutton_->grab_focus();
|
||||
else
|
||||
// In general we expect the user to type their replacement
|
||||
replacemententry_->grab_focus();
|
||||
}
|
||||
|
||||
int const progress = controller().getProgress();
|
||||
if (progress != 0) {
|
||||
progress_->set_fraction(float(progress)/100.0f);
|
||||
progress_->set_text(tostr(progress) + "% " + _("checked"));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void GSpellchecker::onSuggestionActivate(
|
||||
Gtk::TreeModel::Path const & path,
|
||||
Gtk::TreeViewColumn * col)
|
||||
{
|
||||
Glib::ustring const suggestion =
|
||||
(*suggestionsstore_->get_iter(path))[listCol_];
|
||||
|
||||
if (!suggestion.empty())
|
||||
controller().replace(suggestion);
|
||||
}
|
||||
|
||||
|
||||
void GSpellchecker::onSuggestionSelection()
|
||||
{
|
||||
Glib::ustring const suggestion =
|
||||
(*suggestionssel_->get_selected())[listCol_];
|
||||
|
||||
if (!suggestion.empty())
|
||||
replacemententry_->set_text(suggestion);
|
||||
}
|
||||
|
||||
|
||||
void GSpellchecker::onIgnore()
|
||||
{
|
||||
controller().check();
|
||||
}
|
||||
|
||||
|
||||
void GSpellchecker::onIgnoreAll()
|
||||
{
|
||||
controller().ignoreAll();
|
||||
}
|
||||
|
||||
|
||||
void GSpellchecker::onAdd()
|
||||
{
|
||||
controller().insert();
|
||||
}
|
||||
|
||||
|
||||
void GSpellchecker::onReplace(bool const all)
|
||||
{
|
||||
Glib::ustring const replacement = replacemententry_->get_text();
|
||||
if (all)
|
||||
controller().replaceAll(replacement);
|
||||
else
|
||||
controller().replace(replacement);
|
||||
}
|
||||
|
||||
|
||||
} // namespace frontend
|
||||
} // namespace lyx
|
71
src/frontends/gtk/GSpellchecker.h
Normal file
71
src/frontends/gtk/GSpellchecker.h
Normal file
@ -0,0 +1,71 @@
|
||||
// -*- C++ -*-
|
||||
/**
|
||||
* \file GSpellchecker.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 GSPELLCHECKER_H
|
||||
#define GSPELLCHECKER_H
|
||||
|
||||
#include "GViewBase.h"
|
||||
|
||||
namespace lyx {
|
||||
namespace frontend {
|
||||
|
||||
class ControlSpellchecker;
|
||||
|
||||
/** This class provides a GTK+ implementation of the FormSpellchecker Dialog.
|
||||
*/
|
||||
class GSpellchecker
|
||||
: public GViewCB<ControlSpellchecker, GViewGladeB> {
|
||||
public:
|
||||
|
||||
GSpellchecker(Dialog &);
|
||||
private:
|
||||
// not needed.
|
||||
virtual void apply() {}
|
||||
// Build the dialog
|
||||
virtual void doBuild();
|
||||
|
||||
virtual void update() {}
|
||||
|
||||
virtual void show();
|
||||
|
||||
// Fill in unknown word, suggestions, progress from backend
|
||||
virtual void partialUpdate(int);
|
||||
|
||||
Glib::RefPtr<Gtk::ListStore> suggestionsstore_;
|
||||
Glib::RefPtr<Gtk::TreeSelection> suggestionssel_;
|
||||
|
||||
Gtk::TreeModelColumn<Glib::ustring> listCol_;
|
||||
Gtk::TreeModel::ColumnRecord listCols_;
|
||||
|
||||
Gtk::TreeView * suggestionsview_;
|
||||
Gtk::Entry * replacemententry_;
|
||||
Gtk::Entry * unknownentry_;
|
||||
Gtk::ProgressBar * progress_;
|
||||
Gtk::Button * ignorebutton_;
|
||||
|
||||
// Replace button
|
||||
void onReplace(bool const all);
|
||||
// Suggestion list single click
|
||||
void onSuggestionSelection();
|
||||
// Suggestion list double click
|
||||
void onSuggestionActivate(Gtk::TreeModel::Path const & path, Gtk::TreeViewColumn * col);
|
||||
// Ignore button
|
||||
void onIgnore();
|
||||
// Ignore All button
|
||||
void onIgnoreAll();
|
||||
// Add button
|
||||
void onAdd();
|
||||
};
|
||||
|
||||
} // namespace frontend
|
||||
} // namespace lyx
|
||||
|
||||
#endif // GSPELLCHECKER_H
|
@ -48,6 +48,8 @@ libgtk_la_SOURCES = \
|
||||
GScreen.h \
|
||||
GSearch.C \
|
||||
GSearch.h \
|
||||
GSpellchecker.C \
|
||||
GSpellchecker.h \
|
||||
GTableCreate.C \
|
||||
GTableCreate.h \
|
||||
GText.C \
|
||||
@ -120,7 +122,6 @@ xforms_objects = \
|
||||
../xforms/FormSendto.lo \
|
||||
../xforms/forms_gettext.lo \
|
||||
../xforms/FormShowFile.lo \
|
||||
../xforms/FormSpellchecker.lo \
|
||||
../xforms/FormTabular.lo \
|
||||
../xforms/FormTexinfo.lo \
|
||||
../xforms/FormText.lo \
|
||||
@ -135,11 +136,3 @@ xforms_objects = \
|
||||
../xforms/xforms_helpers.lo \
|
||||
../xforms/xformsImage.lo \
|
||||
../xforms/xforms_resize.lo
|
||||
|
||||
# ../xforms/Dialogs.lo
|
||||
# ../xforms/FormFiledialog.lo
|
||||
# ../xforms/FileDialog.lo
|
||||
# ../xforms/FormAboutlyx.lo
|
||||
# ../xforms/FormUrl.lo
|
||||
# ../xforms/FormTabularCreate.lo
|
||||
# ../xforms/FormMathsPanel.lo
|
||||
|
607
src/frontends/gtk/glade/spellcheck.glade
Normal file
607
src/frontends/gtk/glade/spellcheck.glade
Normal file
@ -0,0 +1,607 @@
|
||||
<?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="border_width">6</property>
|
||||
<property name="title" translatable="yes">Spell Check</property>
|
||||
<property name="type">GTK_WINDOW_TOPLEVEL</property>
|
||||
<property name="window_position">GTK_WIN_POS_CENTER_ON_PARENT</property>
|
||||
<property name="modal">True</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="Close">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_default">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="label">gtk-close</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">-7</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="GtkHBox" id="ControlsBox">
|
||||
<property name="visible">True</property>
|
||||
<property name="homogeneous">False</property>
|
||||
<property name="spacing">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="GtkLabel" id="label2">
|
||||
<property name="visible">True</property>
|
||||
<property name="label" translatable="yes">_Unknown word:</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">Unknown</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="padding">5</property>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
</packing>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkEntry" id="Unknown">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="editable">False</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">False</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="padding">0</property>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
</packing>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkHBox" id="hbox2">
|
||||
<property name="visible">True</property>
|
||||
<property name="homogeneous">False</property>
|
||||
<property name="spacing">0</property>
|
||||
|
||||
<child>
|
||||
<widget class="GtkButton" id="Ignore">
|
||||
<property name="visible">True</property>
|
||||
<property name="tooltip" translatable="yes">Ignore unknown word</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="hbox5">
|
||||
<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-cancel</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="label5">
|
||||
<property name="visible">True</property>
|
||||
<property name="label" translatable="yes">_Ignore</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="padding">0</property>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="pack_type">GTK_PACK_END</property>
|
||||
</packing>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkButton" id="IgnoreAll">
|
||||
<property name="visible">True</property>
|
||||
<property name="tooltip" translatable="yes">Accept unknown word as known in this session</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="alignment4">
|
||||
<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="hbox7">
|
||||
<property name="visible">True</property>
|
||||
<property name="homogeneous">False</property>
|
||||
<property name="spacing">2</property>
|
||||
|
||||
<child>
|
||||
<widget class="GtkImage" id="image4">
|
||||
<property name="visible">True</property>
|
||||
<property name="stock">gtk-cancel</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="label7">
|
||||
<property name="visible">True</property>
|
||||
<property name="label" translatable="yes">Ignore _All</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="padding">6</property>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="pack_type">GTK_PACK_END</property>
|
||||
</packing>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkButton" id="Add">
|
||||
<property name="visible">True</property>
|
||||
<property name="tooltip" translatable="yes">Add unknown word to personal dictionary</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="label">gtk-add</property>
|
||||
<property name="use_stock">True</property>
|
||||
<property name="relief">GTK_RELIEF_NORMAL</property>
|
||||
<property name="focus_on_click">True</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="padding">0</property>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="pack_type">GTK_PACK_END</property>
|
||||
</packing>
|
||||
</child>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="padding">6</property>
|
||||
<property name="expand">True</property>
|
||||
<property name="fill">True</property>
|
||||
</packing>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkLabel" id="label3">
|
||||
<property name="visible">True</property>
|
||||
<property name="label" translatable="yes">R_eplace with:</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">Replacement</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="padding">5</property>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
</packing>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkEntry" id="Replacement">
|
||||
<property name="visible">True</property>
|
||||
<property name="tooltip" translatable="yes">Type replacement word or select from list of suggestions</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">False</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="padding">0</property>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
</packing>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkHBox" id="hbox3">
|
||||
<property name="visible">True</property>
|
||||
<property name="homogeneous">False</property>
|
||||
<property name="spacing">0</property>
|
||||
|
||||
<child>
|
||||
<placeholder/>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkButton" id="Replace">
|
||||
<property name="visible">True</property>
|
||||
<property name="tooltip" translatable="yes">Replace unknown word</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="hbox6">
|
||||
<property name="visible">True</property>
|
||||
<property name="homogeneous">False</property>
|
||||
<property name="spacing">2</property>
|
||||
|
||||
<child>
|
||||
<widget class="GtkImage" id="image3">
|
||||
<property name="visible">True</property>
|
||||
<property name="stock">gtk-spell-check</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="label6">
|
||||
<property name="visible">True</property>
|
||||
<property name="label" translatable="yes">_Replace</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="padding">0</property>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="pack_type">GTK_PACK_END</property>
|
||||
</packing>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkButton" id="ReplaceAll">
|
||||
<property name="visible">True</property>
|
||||
<property name="tooltip" translatable="yes">Replace all instances of unknown word</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="alignment5">
|
||||
<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="hbox8">
|
||||
<property name="visible">True</property>
|
||||
<property name="homogeneous">False</property>
|
||||
<property name="spacing">2</property>
|
||||
|
||||
<child>
|
||||
<widget class="GtkImage" id="image5">
|
||||
<property name="visible">True</property>
|
||||
<property name="stock">gtk-spell-check</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="label8">
|
||||
<property name="visible">True</property>
|
||||
<property name="label" translatable="yes">Replace A_ll</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="padding">6</property>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="pack_type">GTK_PACK_END</property>
|
||||
</packing>
|
||||
</child>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="padding">6</property>
|
||||
<property name="expand">True</property>
|
||||
<property name="fill">True</property>
|
||||
</packing>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkProgressBar" id="Progress">
|
||||
<property name="visible">True</property>
|
||||
<property name="tooltip" translatable="yes">Proportion of document checked</property>
|
||||
<property name="orientation">GTK_PROGRESS_LEFT_TO_RIGHT</property>
|
||||
<property name="fraction">0</property>
|
||||
<property name="pulse_step">0.1</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="padding">0</property>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
</packing>
|
||||
</child>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="padding">0</property>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
</packing>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkVSeparator" id="vseparator1">
|
||||
<property name="visible">True</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="padding">5</property>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
</packing>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkVBox" id="vbox1">
|
||||
<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">_Suggested Replacements:</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">Suggestions</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="padding">4</property>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
</packing>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkScrolledWindow" id="scrolledwindow1">
|
||||
<property name="border_width">3</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
|
||||
<property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
|
||||
<property name="shadow_type">GTK_SHADOW_IN</property>
|
||||
<property name="window_placement">GTK_CORNER_TOP_LEFT</property>
|
||||
|
||||
<child>
|
||||
<widget class="GtkTreeView" id="Suggestions">
|
||||
<property name="visible">True</property>
|
||||
<property name="tooltip" translatable="yes">List of replacement suggestions from dictionary</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="headers_visible">False</property>
|
||||
<property name="rules_hint">False</property>
|
||||
<property name="reorderable">False</property>
|
||||
<property name="enable_search">True</property>
|
||||
</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>
|
||||
<packing>
|
||||
<property name="padding">0</property>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
</packing>
|
||||
</child>
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
|
||||
</glade-interface>
|
Loading…
Reference in New Issue
Block a user