summaryrefslogtreecommitdiffstats
path: root/src/editormanager.cpp
diff options
context:
space:
mode:
authorSlávek Banko <[email protected]>2013-10-07 23:28:24 +0200
committerSlávek Banko <[email protected]>2013-10-08 05:14:51 +0200
commit3af5832abe7c802a384cd58d34f7cc4433595ced (patch)
treecc300d6fae4cb5798f0cf5db3ece63026f34379a /src/editormanager.cpp
downloadkscope-3af5832abe7c802a384cd58d34f7cc4433595ced.tar.gz
kscope-3af5832abe7c802a384cd58d34f7cc4433595ced.zip
Initial import of kscope 1.6.2
Diffstat (limited to 'src/editormanager.cpp')
-rw-r--r--src/editormanager.cpp89
1 files changed, 89 insertions, 0 deletions
diff --git a/src/editormanager.cpp b/src/editormanager.cpp
new file mode 100644
index 0000000..253bf6c
--- /dev/null
+++ b/src/editormanager.cpp
@@ -0,0 +1,89 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2005 Elad Lahav ([email protected])
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ ***************************************************************************/
+
+#include <ktexteditor/editorchooser.h>
+#include <kate/document.h>
+#include "editormanager.h"
+#include "kscopeconfig.h"
+
+/**
+ * Class constructor.
+ * @param pParent The parent widget
+ * @param szName The widget's name
+ */
+EditorManager::EditorManager(QWidget* pParent, const char* szName) :
+ KParts::PartManager(pParent, szName)
+{
+ applyPrefs();
+}
+
+/**
+ * Class destructor.
+ */
+EditorManager::~EditorManager()
+{
+}
+
+/**
+ * Creates a new document part.
+ * @return A pointer to the new document
+ */
+KTextEditor::Document* EditorManager::add()
+{
+ KTextEditor::Document* pDoc;
+
+ // Create the document
+ pDoc = KTextEditor::EditorChooser::createDocument(this);
+ addPart(pDoc);
+
+ return pDoc;
+}
+
+/**
+ * Deletes a document part.
+ * @param pDoc The document to remove
+ */
+void EditorManager::remove(KTextEditor::Document* pDoc)
+{
+ removePart(pDoc);
+ delete pDoc;
+}
+
+/**
+ * Applies the user preferences.
+ * Determines if Kate warnings are displayed in case the currently edited
+ * file is modified outside KScope.
+ * NOTE: This behaviour is determined by a static function, which is why this
+ * code appears here, rather then for every EditorPage object.
+ */
+void EditorManager::applyPrefs()
+{
+ Kate::Document::setFileChangedDialogsActivated(
+ Config().getWarnModifiedOnDisk());
+}
+
+#include "editormanager.moc"