• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdesdk API Reference
  • KDE Home
  • Contact Us
 

lokalize

  • sources
  • kde-4.14
  • kdesdk
  • lokalize
  • src
xlifftextedit.h
Go to the documentation of this file.
1 /* ****************************************************************************
2  This file is part of Lokalize
3 
4  Copyright (C) 2007-2009 by Nick Shaforostoff <shafff@ukr.net>
5 
6  This program is free software; you can redistribute it and/or
7  modify it under the terms of the GNU General Public License as
8  published by the Free Software Foundation; either version 2 of
9  the License or (at your option) version 3 or any later version
10  accepted by the membership of KDE e.V. (or its successor approved
11  by the membership of KDE e.V.), which shall act as a proxy
12  defined in Section 14 of version 3 of the license.
13 
14  This program is distributed in the hope that it will be useful,
15  but WITHOUT ANY WARRANTY; without even the implied warranty of
16  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17  GNU General Public License for more details.
18 
19  You should have received a copy of the GNU General Public License
20  along with this program. If not, see <http://www.gnu.org/licenses/>.
21 
22 **************************************************************************** */
23 
24 
25 #ifndef XLIFFTEXTEDITOR_H
26 #define XLIFFTEXTEDITOR_H
27 
28 #include "pos.h"
29 #include "catalogstring.h"
30 
31 #include <KTextEdit>
32 class QMouseEvent;
33 class SyntaxHighlighter;//TODO rename
34 class KCompletionBox;
35 class MyCompletionBox;
36 
37 class TranslationUnitTextEdit: public KTextEdit
38 {
39  Q_OBJECT
40 public:
41  TranslationUnitTextEdit(Catalog* catalog, DocPosition::Part part, QWidget* parent=0);
42  //NOTE remove this when Qt is fixed (hack for unbreakable spaces bug #162016)
43  QString toPlainText();
44 
46  CatalogString showPos(DocPosition pos, const CatalogString& refStr=CatalogString(), bool keepCursor=true);
47  DocPosition currentPos()const {return m_currentPos;}
48 
49  void cursorToStart();
50 
51 public slots:
52  void reflectApprovementState();
53  void reflectUntranslatedState();
54 
55  bool removeTargetSubstring(int start=0, int end=-1, bool refresh=true);
56  void insertCatalogString(CatalogString catStr, int start=0, bool refresh=true);
57 
58  void source2target();
59  void tagMenu();
60  void tagImmediate();
61  void insertTag(InlineTag tag);
62  void spellReplace();
63 
64  void emitCursorPositionChanged();//for leds
65 
66  void doExplicitCompletion();
67 
68 protected:
69  void keyPressEvent(QKeyEvent *keyEvent);
70  void keyReleaseEvent(QKeyEvent* e);
71  QMimeData* createMimeDataFromSelection() const;
72  void insertFromMimeData(const QMimeData* source);
73  void mouseReleaseEvent(QMouseEvent* event);
74 
75  void contextMenuEvent(QContextMenuEvent *event);
76  void wheelEvent(QWheelEvent *event);
77  bool event(QEvent *event);
78 
79 private:
81  void setContent(const CatalogString& catStr, const CatalogString& refStr=CatalogString());
82 
83  int strForMicePosIfUnderTag(QPoint mice, CatalogString& str, bool tryHarder=false);
84 
85  void requestToggleApprovement();
86 
87  void doTag(bool immediate);
88 
89  void doCompletion(int pos);
90 
91 private slots:
92  //for Undo/Redo tracking
93  void contentsChanged(int position,int charsRemoved,int charsAdded);
94  void completionActivated(const QString&);
95  void fileLoaded();
96 
97 signals:
98  void toggleApprovementRequested();
99  void undoRequested();
100  void redoRequested();
101  void findRequested();
102  void findNextRequested();
103  void replaceRequested();
104  void gotoFirstRequested();
105  void gotoLastRequested();
106  void gotoPrevRequested();
107  void gotoNextRequested();
108  void gotoPrevFuzzyRequested();
109  void gotoNextFuzzyRequested();
110  void gotoPrevUntranslatedRequested();
111  void gotoNextUntranslatedRequested();
112  void gotoPrevFuzzyUntrRequested();
113  void gotoNextFuzzyUntrRequested();
114  void gotoEntryRequested(const DocPosition&);
115 
116 
117  void tagInsertRequested(const InlineTag& tag);
118 
119  void binaryUnitSelectRequested(const QString&);
120  void tmLookupRequested(DocPosition::Part,const QString&);
121 
122  void contentsModified(const DocPosition&);
123  void approvedEntryDisplayed();
124  void nonApprovedEntryDisplayed();
125  void translatedEntryDisplayed();
126  void untranslatedEntryDisplayed();
127  void cursorPositionChanged(int column);
128 
129 private:
130  int m_currentUnicodeNumber; //alt+NUM thing
131  bool m_langUsesSpaces; //e.g. Chinese doesn't
132 
133  Catalog* m_catalog;
134  DocPosition::Part m_part;
135  DocPosition m_currentPos;
136  SyntaxHighlighter* m_highlighter;
137 
138  MyCompletionBox* m_completionBox;
139 
140  //for undo/redo tracking
141  QString _oldMsgstr;
142  QString _oldMsgstrAscii; //HACK to workaround #218246
143 };
144 
145 
146 void insertContent(QTextCursor& cursor, const CatalogString& catStr, const CatalogString& refStr=CatalogString(), bool insertText=true);
147 
148 
149 #endif
TranslationUnitTextEdit::contextMenuEvent
void contextMenuEvent(QContextMenuEvent *event)
Definition: xlifftextedit.cpp:999
QEvent
QWidget
TranslationUnitTextEdit::reflectApprovementState
void reflectApprovementState()
Definition: xlifftextedit.cpp:201
catalogstring.h
TranslationUnitTextEdit::spellReplace
void spellReplace()
Definition: xlifftextedit.cpp:1104
QTextCursor
TranslationUnitTextEdit::removeTargetSubstring
bool removeTargetSubstring(int start=0, int end=-1, bool refresh=true)
Definition: xlifftextedit.cpp:554
TranslationUnitTextEdit::wheelEvent
void wheelEvent(QWheelEvent *event)
Definition: xlifftextedit.cpp:1069
TranslationUnitTextEdit::toggleApprovementRequested
void toggleApprovementRequested()
DocPosition::Part
Part
Definition: pos.h:40
TranslationUnitTextEdit::gotoNextFuzzyUntrRequested
void gotoNextFuzzyUntrRequested()
pos.h
TranslationUnitTextEdit::keyPressEvent
void keyPressEvent(QKeyEvent *keyEvent)
Definition: xlifftextedit.cpp:738
TranslationUnitTextEdit::gotoLastRequested
void gotoLastRequested()
QWheelEvent
TranslationUnitTextEdit::mouseReleaseEvent
void mouseReleaseEvent(QMouseEvent *event)
Definition: xlifftextedit.cpp:982
TranslationUnitTextEdit::currentPos
DocPosition currentPos() const
Definition: xlifftextedit.h:47
TranslationUnitTextEdit::approvedEntryDisplayed
void approvedEntryDisplayed()
TranslationUnitTextEdit::doExplicitCompletion
void doExplicitCompletion()
Definition: xlifftextedit.cpp:1346
TranslationUnitTextEdit::TranslationUnitTextEdit
TranslationUnitTextEdit(Catalog *catalog, DocPosition::Part part, QWidget *parent=0)
Definition: xlifftextedit.cpp:143
QPoint
QMouseEvent
TranslationUnitTextEdit::cursorPositionChanged
void cursorPositionChanged(int column)
TranslationUnitTextEdit::undoRequested
void undoRequested()
TranslationUnitTextEdit::source2target
void source2target()
Definition: xlifftextedit.cpp:1227
QMimeData
TranslationUnitTextEdit::redoRequested
void redoRequested()
TranslationUnitTextEdit::gotoNextFuzzyRequested
void gotoNextFuzzyRequested()
TranslationUnitTextEdit::replaceRequested
void replaceRequested()
DocPosition
This struct represents a position in a catalog.
Definition: pos.h:38
TranslationUnitTextEdit::findRequested
void findRequested()
TranslationUnitTextEdit::event
bool event(QEvent *event)
Definition: xlifftextedit.cpp:1120
TranslationUnitTextEdit::keyReleaseEvent
void keyReleaseEvent(QKeyEvent *e)
Definition: xlifftextedit.cpp:909
TranslationUnitTextEdit::gotoPrevFuzzyRequested
void gotoPrevFuzzyRequested()
QContextMenuEvent
TranslationUnitTextEdit::contentsModified
void contentsModified(const DocPosition &)
TranslationUnitTextEdit::untranslatedEntryDisplayed
void untranslatedEntryDisplayed()
TranslationUnitTextEdit::cursorToStart
void cursorToStart()
Definition: xlifftextedit.cpp:1306
TranslationUnitTextEdit::gotoPrevFuzzyUntrRequested
void gotoPrevFuzzyUntrRequested()
TranslationUnitTextEdit::translatedEntryDisplayed
void translatedEntryDisplayed()
TranslationUnitTextEdit::tagInsertRequested
void tagInsertRequested(const InlineTag &tag)
QString
TranslationUnitTextEdit::tmLookupRequested
void tmLookupRequested(DocPosition::Part, const QString &)
TranslationUnitTextEdit::emitCursorPositionChanged
void emitCursorPositionChanged()
Definition: xlifftextedit.cpp:936
TranslationUnitTextEdit::gotoNextRequested
void gotoNextRequested()
TranslationUnitTextEdit::gotoPrevRequested
void gotoPrevRequested()
TranslationUnitTextEdit::findNextRequested
void findNextRequested()
TranslationUnitTextEdit::gotoEntryRequested
void gotoEntryRequested(const DocPosition &)
TranslationUnitTextEdit::insertCatalogString
void insertCatalogString(CatalogString catStr, int start=0, bool refresh=true)
Definition: xlifftextedit.cpp:573
TranslationUnitTextEdit::showPos
CatalogString showPos(DocPosition pos, const CatalogString &refStr=CatalogString(), bool keepCursor=true)
makes MsgEdit reflect current entry
Definition: xlifftextedit.cpp:237
QKeyEvent
CatalogString
data structure used to pass info about inline elements a XLIFF tag is represented by a TAGRANGE_IMAGE...
Definition: catalogstring.h:128
TranslationUnitTextEdit
Definition: xlifftextedit.h:37
TranslationUnitTextEdit::tagMenu
void tagMenu()
Definition: xlifftextedit.cpp:1148
TranslationUnitTextEdit::gotoPrevUntranslatedRequested
void gotoPrevUntranslatedRequested()
TranslationUnitTextEdit::insertTag
void insertTag(InlineTag tag)
Definition: xlifftextedit.cpp:941
Catalog
This class represents a catalog It uses CatalogStorage interface to work with catalogs in different f...
Definition: catalog.h:74
TranslationUnitTextEdit::binaryUnitSelectRequested
void binaryUnitSelectRequested(const QString &)
TranslationUnitTextEdit::gotoFirstRequested
void gotoFirstRequested()
SyntaxHighlighter
Definition: syntaxhighlighter.h:37
TranslationUnitTextEdit::reflectUntranslatedState
void reflectUntranslatedState()
Definition: xlifftextedit.cpp:223
TranslationUnitTextEdit::gotoNextUntranslatedRequested
void gotoNextUntranslatedRequested()
TranslationUnitTextEdit::tagImmediate
void tagImmediate()
Definition: xlifftextedit.cpp:1149
TranslationUnitTextEdit::createMimeDataFromSelection
QMimeData * createMimeDataFromSelection() const
Definition: xlifftextedit.cpp:613
insertContent
void insertContent(QTextCursor &cursor, const CatalogString &catStr, const CatalogString &refStr=CatalogString(), bool insertText=true)
Definition: xlifftextedit.cpp:344
InlineTag
data structure used to pass info about inline elements a XLIFF tag is represented by a TAGRANGE_IMAGE...
Definition: catalogstring.h:44
TranslationUnitTextEdit::nonApprovedEntryDisplayed
void nonApprovedEntryDisplayed()
TranslationUnitTextEdit::insertFromMimeData
void insertFromMimeData(const QMimeData *source)
Definition: xlifftextedit.cpp:657
KTextEdit
TranslationUnitTextEdit::toPlainText
QString toPlainText()
Definition: xlifftextedit.cpp:920
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Mon Jun 22 2020 13:40:07 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

lokalize

Skip menu "lokalize"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members

kdesdk API Reference

Skip menu "kdesdk API Reference"
  • kapptemplate
  • kcachegrind
  • kompare
  • lokalize
  • umbrello
  •   umbrello

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal