• 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
lokalizemainwindow.h
Go to the documentation of this file.
1 /* ****************************************************************************
2  This file is part of Lokalize
3 
4  Copyright (C) 2008 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 #ifndef LOKALIZEMAINWINDOW_H
25 #define LOKALIZEMAINWINDOW_H
26 
27 #include "pos.h"
28 
29 #include <kxmlguiwindow.h>
30 #include <kurl.h>
31 #include <kconfiggroup.h>
32 
33 #include <QPointer>
34 #include <QMap>
35 #include <QDBusObjectPath>
36 
37 
38 class QMdiSubWindow;
39 class QMdiArea;
40 class QActionGroup;
41 class KAction;
42 class KRecentFilesAction;
43 class EditorTab;
44 class MultiEditorAdaptor;
45 class ProjectScriptingPlugin;
46 namespace TM {class TMTab;}
47 class FileSearchTab;
48 
60 class LokalizeMainWindow: public KXmlGuiWindow
61 {
62  Q_OBJECT
63  Q_CLASSINFO("D-Bus Interface", "org.kde.Lokalize.MainWindow")
64  //qdbuscpp2xml -m -s lokalizemainwindow.h -o org.kde.lokalize.MainWindow.xml
65 
66 public:
67  LokalizeMainWindow();
68  ~LokalizeMainWindow();
69 
70 protected:
71  void saveProjectState(KConfigGroup&);
72  void saveProperties(KConfigGroup& stateGroup);
73  bool queryClose();
74  void readProperties(const KConfigGroup& stateGroup);
75  void registerDBusAdaptor();
76  void setupActions();
77 
78 private slots:
79  void slotSubWindowActivated(QMdiSubWindow*);
80  void initLater();
81  void applyToBeActiveSubWindow();
82  void projectLoaded();
83  void projectSettingsChanged();
84  void loadProjectScripts();
85 
86  void editorClosed(QObject* obj);
87  void resetMultiEditorAdaptor();
88 
89  void openProject(const KUrl& url){openProject(url.path());}//convenience overload for recent projects action
90  void openProject(){openProject(QString());}
91 
92 
93 public slots:
98  Q_SCRIPTABLE int openFileInEditor(const QString& path);
99  Q_SCRIPTABLE int openFileInEditorAt(const QString& path, const QString& source, const QString& ctxt);
100  int lookupInTranslationMemory(DocPosition::Part part, const QString& text);
101  Q_SCRIPTABLE int lookupInTranslationMemory(const QString& source, const QString& target);
102  Q_SCRIPTABLE int showTranslationMemory();
103  Q_SCRIPTABLE void showProjectOverview();
104  Q_SCRIPTABLE QObject* projectOverview();
105 
106  Q_SCRIPTABLE bool closeProject();
107  Q_SCRIPTABLE void openProject(QString path);
108  Q_SCRIPTABLE QString currentProject();
109 
111  Q_SCRIPTABLE QObject* activeEditor();
112 
114  Q_SCRIPTABLE QObject* editorForFile(const QString& path);
119  Q_SCRIPTABLE int editorIndexForFile(const QString& path);
120 
122  Q_SCRIPTABLE int pid();
123 
125  Q_SCRIPTABLE QString dbusName();
126 
127  Q_SCRIPTABLE void busyCursor(bool busy);
128  //Q_SCRIPTABLE void processEvents();
129 
130  //returns 0 if error
131  EditorTab* fileOpen(KUrl url=KUrl(),int entry=0, bool setAsActive=true, const QString& mergeFile=QString(), bool silent=false);
132  EditorTab* fileOpen(const KUrl& url, const QString& source, const QString& ctxt);
133  EditorTab* fileOpen(const KUrl& url, DocPosition docPos, int selection);
134  TM::TMTab* showTM();
135  FileSearchTab* showFileSearch(bool activate=true);
136  void fileSearchNext();
137  void addFilesToSearch(const QStringList&);
138 
139  void widgetTextCapture();
140 signals:
141  Q_SCRIPTABLE void editorAdded();
142  Q_SCRIPTABLE void editorActivated();
143 
144 private:
145  QMdiArea* m_mdiArea;
146  QPointer<QMdiSubWindow> m_prevSubWindow;
147  QPointer<QMdiSubWindow> m_projectSubWindow;
148  QPointer<QMdiSubWindow> m_translationMemorySubWindow;
149  QPointer<QMdiSubWindow> m_fileSearchSubWindow;
150  QPointer<QMdiSubWindow> m_toBeActiveSubWindow;//used during session restore
151 
152  QActionGroup* m_editorActions;
153  QActionGroup* m_managerActions;
154  KRecentFilesAction* m_openRecentFileAction;
155  KRecentFilesAction* m_openRecentProjectAction;
156 
157  QByteArray m_lastEditorState;
158 
159  //used for kross API
160  EditorTab* m_spareEditor;
161  MultiEditorAdaptor* m_multiEditorAdaptor;
162  ProjectScriptingPlugin* m_projectScriptingPlugin;
163 
164  //using QPointer switches it.value() to 0 before we get to destroyed() handler
165  //typedef QMap<KUrl, QPointer<QMdiSubWindow> > FileToEditor;
166  typedef QMap<KUrl, QMdiSubWindow*> FileToEditor;
167  FileToEditor m_fileToEditor;
168 };
169 
170 
171 #include <kross/ui/plugin.h>
172 
173 class ProjectScriptingPlugin: public Kross::ScriptingPlugin
174 {
175 Q_OBJECT
176 public:
177  ProjectScriptingPlugin(QObject* lokalize, QObject* editor);
178  ~ProjectScriptingPlugin();
179  void setDOMDocument (const QDomDocument &document, bool merge = false);
180 
181 private slots:
182  void doAutoruns();
183 };
184 
185 
186 class DelayedFileOpener: public QObject
187 {
188 Q_OBJECT
189 public:
190  DelayedFileOpener(const KUrl::List& urls, LokalizeMainWindow* lmw);
191 
192 private slots:
193  void doOpen();
194 
195 private:
196  KUrl::List m_urls;
197  LokalizeMainWindow* m_lmw;
198 };
199 
200 
201 #endif
QActionGroup
QByteArray
DocPosition::Part
Part
Definition: pos.h:40
ProjectScriptingPlugin
Definition: lokalizemainwindow.h:173
pos.h
QMap< KUrl, QMdiSubWindow * >
QPointer< QMdiSubWindow >
LokalizeMainWindow::showProjectOverview
Q_SCRIPTABLE void showProjectOverview()
Definition: lokalizemainwindow.cpp:386
LokalizeMainWindow::editorIndexForFile
Q_SCRIPTABLE int editorIndexForFile(const QString &path)
part of editor DBus path: /ThisIsWhatYouWant/Editor/
Definition: lokalizemainwindow.cpp:970
LokalizeMainWindow::pid
Q_SCRIPTABLE int pid()
Definition: lokalizemainwindow.cpp:981
LokalizeMainWindow::openFileInEditor
Q_SCRIPTABLE int openFileInEditor(const QString &path)
Adds new editor with.
Definition: lokalizemainwindow.cpp:948
LokalizeMainWindow::readProperties
void readProperties(const KConfigGroup &stateGroup)
Definition: lokalizemainwindow.cpp:660
DelayedFileOpener
Definition: lokalizemainwindow.h:186
DocPosition
This struct represents a position in a catalog.
Definition: pos.h:38
LokalizeMainWindow::lookupInTranslationMemory
int lookupInTranslationMemory(DocPosition::Part part, const QString &text)
Definition: lokalizemainwindow.cpp:917
ProjectScriptingPlugin::ProjectScriptingPlugin
ProjectScriptingPlugin(QObject *lokalize, QObject *editor)
Definition: lokalizemainwindow.cpp:789
MultiEditorAdaptor
Hack over QDBusAbstractAdaptor to get kross active-editor-adaptor for free.
Definition: multieditoradaptor.h:37
FileSearchTab
Global file search/repalce tab.
Definition: filesearchtab.h:58
LokalizeMainWindow::dbusName
Q_SCRIPTABLE QString dbusName()
Definition: lokalizemainwindow.cpp:982
KXmlGuiWindow
LokalizeMainWindow::fileSearchNext
void fileSearchNext()
Definition: lokalizemainwindow.cpp:429
QObject
LokalizeMainWindow::registerDBusAdaptor
void registerDBusAdaptor()
Definition: lokalizemainwindow.cpp:871
LokalizeMainWindow::busyCursor
Q_SCRIPTABLE void busyCursor(bool busy)
Definition: lokalizemainwindow.cpp:983
LokalizeMainWindow::showTM
TM::TMTab * showTM()
Definition: lokalizemainwindow.cpp:392
LokalizeMainWindow::editorActivated
Q_SCRIPTABLE void editorActivated()
QString
LokalizeMainWindow::~LokalizeMainWindow
~LokalizeMainWindow()
Definition: lokalizemainwindow.cpp:148
LokalizeMainWindow::saveProjectState
void saveProjectState(KConfigGroup &)
Definition: lokalizemainwindow.cpp:600
LokalizeMainWindow::openFileInEditorAt
Q_SCRIPTABLE int openFileInEditorAt(const QString &path, const QString &source, const QString &ctxt)
Definition: lokalizemainwindow.cpp:941
QStringList
LokalizeMainWindow::editorForFile
Q_SCRIPTABLE QObject * editorForFile(const QString &path)
Definition: lokalizemainwindow.cpp:962
QDomDocument
LokalizeMainWindow::widgetTextCapture
void widgetTextCapture()
Definition: lokalizemainwindow.cpp:755
QMdiArea
LokalizeMainWindow
Lokalize MDI (tabbed) window.
Definition: lokalizemainwindow.h:60
LokalizeMainWindow::LokalizeMainWindow
LokalizeMainWindow()
Definition: lokalizemainwindow.cpp:81
LokalizeMainWindow::activeEditor
Q_SCRIPTABLE QObject * activeEditor()
Definition: lokalizemainwindow.cpp:953
LokalizeMainWindow::closeProject
Q_SCRIPTABLE bool closeProject()
Definition: lokalizemainwindow.cpp:560
ProjectScriptingPlugin::~ProjectScriptingPlugin
~ProjectScriptingPlugin()
Definition: lokalizemainwindow.cpp:841
LokalizeMainWindow::showFileSearch
FileSearchTab * showFileSearch(bool activate=true)
Definition: lokalizemainwindow.cpp:413
LokalizeMainWindow::addFilesToSearch
void addFilesToSearch(const QStringList &)
Definition: lokalizemainwindow.cpp:436
LokalizeMainWindow::projectOverview
Q_SCRIPTABLE QObject * projectOverview()
Definition: lokalizemainwindow.cpp:369
LokalizeMainWindow::queryClose
bool queryClose()
Definition: lokalizemainwindow.cpp:241
EditorTab
Editor tab.
Definition: editortab.h:85
DelayedFileOpener::DelayedFileOpener
DelayedFileOpener(const KUrl::List &urls, LokalizeMainWindow *lmw)
Definition: lokalizemainwindow.cpp:1016
LokalizeMainWindow::editorAdded
Q_SCRIPTABLE void editorAdded()
LokalizeMainWindow::setupActions
void setupActions()
Definition: lokalizemainwindow.cpp:449
LokalizeMainWindow::saveProperties
void saveProperties(KConfigGroup &stateGroup)
Definition: lokalizemainwindow.cpp:595
LokalizeMainWindow::fileOpen
EditorTab * fileOpen(KUrl url=KUrl(), int entry=0, bool setAsActive=true, const QString &mergeFile=QString(), bool silent=false)
Definition: lokalizemainwindow.cpp:264
LokalizeMainWindow::currentProject
Q_SCRIPTABLE QString currentProject()
Definition: lokalizemainwindow.cpp:978
TM::TMTab
Translation Memory tab.
Definition: tmtab.h:56
LokalizeMainWindow::showTranslationMemory
Q_SCRIPTABLE int showTranslationMemory()
Definition: lokalizemainwindow.cpp:933
ProjectScriptingPlugin::setDOMDocument
void setDOMDocument(const QDomDocument &document, bool merge=false)
Definition: lokalizemainwindow.cpp:816
QMdiSubWindow
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