[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    playground/base/plasma/plasmate
From:       Artur Duque de Souza <morpheuz () gmail ! com>
Date:       2009-02-28 21:29:50
Message-ID: 1235856590.718453.25847.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 933417 by asouza:

Following Dominik Haumann's tip: change the way we
instantiate the text editor.



 M  +1 -1      CMakeLists.txt  
 M  +25 -21    mainwindow.cpp  
 M  +9 -2      mainwindow.h  


--- trunk/playground/base/plasma/plasmate/CMakeLists.txt #933416:933417
@@ -25,7 +25,7 @@
 add_subdirectory( savesystem )
 
 kde4_add_executable(plasmate ${PlasMate_SRC})
-target_link_libraries(plasmate ${KDE4_KDEUI_LIBS} ${KDE4_KPARTS_LIBS} \
${KDE4_KIO_LIBRARY} ${KDE4_PLASMA_LIBS}) +target_link_libraries(plasmate \
${KDE4_KDEUI_LIBS} ${KDE4_KTEXTEDITOR_LIBS} ${KDE4_KPARTS_LIBS} ${KDE4_KIO_LIBRARY} \
${KDE4_PLASMA_LIBS})  
 install(TARGETS plasmate ${INSTALL_TARGETS_DEFAULT_ARGS})
 install(FILES plasmateui.rc  DESTINATION ${DATA_INSTALL_DIR}/plasmate)
--- trunk/playground/base/plasma/plasmate/mainwindow.cpp #933416:933417
@@ -39,14 +39,21 @@
 #include "ui_mainwindow.h"
 #include "previewer/previewer.h"
 
+#include <ktexteditor/document.h>
+#include <ktexteditor/view.h>
+#include <ktexteditor/editor.h>
+#include <ktexteditor/editorchooser.h>
+
+
+
 MainWindow::MainWindow(QWidget *parent)
     : KParts::MainWindow(parent, 0),
       m_workflow(0),
       m_sidebar(0),
       m_previewer(0),
-      m_factory(0),
-      m_part(0),
       m_model(0),
+      m_editorView(0),
+      m_doc(0),
       m_oldTab(0) // we start from startPage
 {
     setXMLFile("plasmateui.rc");
@@ -61,8 +68,11 @@
 MainWindow::~MainWindow()
 {
     delete m_startPage;
-    delete m_factory;
 
+    if (m_editorView) {
+        delete m_editorView;
+    }
+
     if (m_previewer) {
         delete m_previewer;
         delete m_previewerWidget;
@@ -111,34 +121,27 @@
 
 void MainWindow::showEditor()
 {
-    if (!m_factory) {
-        m_factory = KLibLoader::self()->factory("katepart");
-
-        m_part = 0;
-        if (m_factory) {
-            m_part = static_cast<KParts::ReadWritePart *>(m_factory->create(this, \
                "KatePart"));
-        }
+    if (!m_editorView) {
+        KTextEditor::Editor *editor = KTextEditor::EditorChooser::editor();
+        m_doc = editor->createDocument(0);
+        m_editorView = m_doc->createView(this);
+        setCentralWidget(m_editorView);
     }
-
-    if (m_part) {
-        m_part = static_cast<KParts::ReadWritePart *>(m_factory->create(this, \
                "KatePart"));
-        setCentralWidget(m_part->widget());
-        createGUI(m_part);
-    }
 }
 
 void MainWindow::hideEditor()
 {
-    m_part->closeUrl();
-    m_part = 0;
-    createGUI(0);
+    delete m_editorView;
+    delete m_doc;
+
+    m_editorView = 0;
+    m_doc = 0;
 }
 
 void MainWindow::changeTab(int tab)
 {
-//     kDebug() << "Clicked m_sidebar item number" << tab;
 
-    if (tab == m_oldTab) { // user clicked on the current tab 
+    if (tab == m_oldTab) { // user clicked on the current tab
         if (tab == StartPageTab) {
             m_startPage->resetStatus();
         }
@@ -163,6 +166,7 @@
         case PublishTab: {
             QLabel *l = new QLabel(i18n("Publish widget will go here!"), this);
             setCentralWidget(l);
+            showEditor();
         }
         break;
         case DocsTab: {
--- trunk/playground/base/plasma/plasmate/mainwindow.h #933416:933417
@@ -19,6 +19,12 @@
     class MainWindowClass;
 }
 
+namespace KTextEditor {
+    class Document;
+    class View;
+}
+
+
 class QDockWidget;
 class QStringList;
 
@@ -66,9 +72,10 @@
         QDockWidget *m_previewerWidget;
         Previewer *m_previewer;
 
-        KLibFactory *m_factory;
+        KTextEditor::Document *m_doc;
+        KTextEditor::View *m_editorView;
+
         EditPage *m_editPage;
-        KParts::ReadWritePart *m_part;
         PackageModel *m_model;
         int m_oldTab;
 };


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic