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

List:       kde-commits
Subject:    [plasmate/terietor/porting] plasmate: MainWindow now is loading the StartPage
From:       Antonis Tsiapaliokas <kok3rs () gmail ! com>
Date:       2014-03-12 11:33:56
Message-ID: E1WNhQ4-0004Hl-0Q () scm ! kde ! org
[Download RAW message or body]

Git commit 7b2e9f68942152c5ec4522eba1a16978cbd6b5c3 by Antonis Tsiapaliokas.
Committed on 11/03/2014 at 18:59.
Pushed by tsiapaliokas into branch 'terietor/porting'.

MainWindow now is loading the StartPage

M  +5    -1    plasmate/CMakeLists.txt
M  +13   -3    plasmate/mainwindow.cpp
M  +2    -0    plasmate/mainwindow.h
M  +2    -4    plasmate/projectmanager/projectmanager.h
M  +7    -6    plasmate/startpage.cpp
M  +3    -5    plasmate/startpage.h

http://commits.kde.org/plasmate/7b2e9f68942152c5ec4522eba1a16978cbd6b5c3

diff --git a/plasmate/CMakeLists.txt b/plasmate/CMakeLists.txt
index 9dc5ca5..f31f913 100644
--- a/plasmate/CMakeLists.txt
+++ b/plasmate/CMakeLists.txt
@@ -36,9 +36,11 @@ set (PlasMate_SRC
     #savesystem/timeline.cpp
     mainwindow.cpp
     dockwidgetshandler.cpp
-    #startpage.cpp
+    startpage.cpp
     packagemodel.cpp
     packagehandler.cpp
+    projecthandler.cpp
+    projectmanager/projectmanager.cpp
     previewer/plasmoid/plasmoidpreviewer.cpp
     ../plasmoidviewer/view.cpp
     #previewer/plasmoid/plasmoidview.cpp
@@ -72,6 +74,7 @@ qt5_wrap_ui(PlasMate_SRC
    publisher/publisher.ui
    #publisher/remoteinstaller/remoteinstaller.ui
    editors/kconfigxt/kconfigxteditor.ui
+   startpage.ui
 )
 
 include_directories(${QT_QTWEBKIT_INCLUDE_DIR}
@@ -106,6 +109,7 @@ target_link_libraries(plasmate
                       KF5::Service
                       KF5::Completion
                       KF5::WidgetsAddons
+                      KF5::Archive
                       #${KDEPIMLIBS_KPIMUTILS_LIBS}
 )
 
diff --git a/plasmate/mainwindow.cpp b/plasmate/mainwindow.cpp
index e7e10ec..9f2be2c 100644
--- a/plasmate/mainwindow.cpp
+++ b/plasmate/mainwindow.cpp
@@ -35,6 +35,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #include "mainwindow.h"
 #include "dockwidgetshandler.h"
 #include "packagehandler.h"
+#include "startpage.h"
 
 static const int STATE_VERSION = 0;
 
@@ -44,7 +45,7 @@ MainWindow::MainWindow(QWidget *parent)
         m_doc(0),
         m_view(0),
         m_dockWidgetsHandler(0),
-        m_packageHandler(new PackageHandler(this))
+        m_packageHandler(new PackageHandler())
 {
     m_dockWidgetsHandler = new DockWidgetsHandler(m_packageHandler, this);
 
@@ -126,8 +127,10 @@ void MainWindow::slotNewToolbarConfig()
 
 void MainWindow::setupStartPage()
 {
-    // TODO: create the startpage
-    // Pass the packagehandler to startpage
+    m_startPage = new StartPage(m_packageHandler, this);
+    setCentralWidget(m_startPage);
+    toolBar()->hide();
+    menuBar()->hide();
 }
 
 void MainWindow::closeEvent(QCloseEvent *event)
@@ -158,3 +161,10 @@ void MainWindow::loadProject(const QUrl &path)
     restoreState(state.toLocal8Bit(), STATE_VERSION);
 }
 
+void MainWindow::loadProject(const QString &projectPath)
+{
+    toolBar()->show();
+    menuBar()->show();
+    setCentralWidget(m_view);
+}
+
diff --git a/plasmate/mainwindow.h b/plasmate/mainwindow.h
index e7d853c..34b3751 100644
--- a/plasmate/mainwindow.h
+++ b/plasmate/mainwindow.h
@@ -35,6 +35,7 @@ namespace KTextEditor {
 
 class DockWidgetsHandler;
 class PackageHandler;
+class StartPage;
 
 class MainWindow : public KParts::MainWindow
 {
@@ -68,6 +69,7 @@ private:
 
     DockWidgetsHandler *m_dockWidgetsHandler;
     PackageHandler *m_packageHandler;
+    StartPage *m_startPage;
 };
 
 
diff --git a/plasmate/projectmanager/projectmanager.h b/plasmate/projectmanager/projectmanager.h
index d6d5294..8bc2a93 100644
--- a/plasmate/projectmanager/projectmanager.h
+++ b/plasmate/projectmanager/projectmanager.h
@@ -23,8 +23,7 @@
 #include <QDialog>
 #include <QHash>
 
-#pragma message("TODO: enable once mainwindow gets ported")
-//#include <mainwindow.h>
+#include <mainwindow.h>
 #include "../projecthandler.h"
 
 class QListWidget;
@@ -77,8 +76,7 @@ private:
     bool m_destroyFlag;
     ProjectHandler *m_projectHandler;
     QHash<QListWidgetItem*, QString> m_items;
-    #pragma message("TODO: enable once mainwindow gets ported")
-    //MainWindow* m_mainWindow;
+    MainWindow* m_mainWindow;
 };
 
 #endif // PROJECTMANAGER_H
diff --git a/plasmate/startpage.cpp b/plasmate/startpage.cpp
index bd2465e..4111be7 100644
--- a/plasmate/startpage.cpp
+++ b/plasmate/startpage.cpp
@@ -42,19 +42,19 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #include "editors/metadata/metadatahandler.h"
 #include "packagemodel.h"
 #include "startpage.h"
-//#include "mainwindow.h"
+#include "mainwindow.h"
 #include "packagehandler.h"
 #include "projectmanager/projectmanager.h"
 #include "projecthandler.h"
 
 
-#pragma message("TODO: restore MainWindow when it gets ported")
-StartPage::StartPage(QWidget *parent/*MainWindow *parent*/) // TODO set a palette so it will look \
identical with any color scheme. +StartPage::StartPage(PackageHandler *packageHandler, MainWindow \
*parent) // TODO set a palette so it will look identical with any color scheme.  : QWidget(parent),
          m_parent(parent),
          m_projectHandler(new ProjectHandler()),
-         m_packageHandler(new PackageHandler())
+         m_packageHandler(packageHandler)
 {
+    m_mainWindow = parent;
     setupWidgets();
     refreshRecentProjectsList();
 }
@@ -194,7 +194,6 @@ void StartPage::setupWidgets()
         }
     });
 
-
     connect(m_ui.recentProjects, &QListWidget::clicked, [&](const QModelIndex &index) {
         QAbstractItemModel *m = m_ui.recentProjects->model();
         QString url = m->data(index, FullPathRole).value<QString>();
@@ -204,9 +203,11 @@ void StartPage::setupWidgets()
                 resetStatus();
             }
 
-
             return;
+        } else {
+            m_mainWindow->loadProject(url);
         }
+
         qDebug() << "Loading project file:" << m->data(index, FullPathRole);
 
         emit projectSelected(url);
diff --git a/plasmate/startpage.h b/plasmate/startpage.h
index a01d14f..b242720 100644
--- a/plasmate/startpage.h
+++ b/plasmate/startpage.h
@@ -23,7 +23,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #include "ui_startpage.h"
 
 class QModelIndex;
-//class MainWindow;
+class MainWindow;
 class ProjectManager;
 class ProjectHandler;
 class PackageHandler;
@@ -37,8 +37,7 @@ class StartPage : public QWidget
     };
 
 public:
-    //StartPage(MainWindow *parent = 0);
-    StartPage(QWidget *parent = 0);
+    StartPage(PackageHandler *packageHandler, MainWindow *parent = 0);
     ~StartPage();
 
     QString userName();
@@ -73,8 +72,7 @@ private:
     void updateProjectPreferences();
 
     Ui::StartPage m_ui;
-    //MainWindow *m_parent;
-    #pragma message("TODO: restore MainWindow when it gets ported")
+    MainWindow *m_mainWindow;
     QWidget *m_parent;
     ProjectManager *m_projectManager;
     ProjectHandler *m_projectHandler;


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

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