[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: playground/base/plasma/plasmate
From: Marco Martin <notmart () gmail ! com>
Date: 2010-10-28 16:40:55
Message-ID: 20101028164055.A51CAAC89A () svn ! kde ! org
[Download RAW message or body]
SVN commit 1190705 by mart:
rationalize a bit docks hide/show logic
M +45 -16 mainwindow.cpp
M +11 -4 mainwindow.h
--- trunk/playground/base/plasma/plasmate/mainwindow.cpp #1190704:1190705
@@ -194,15 +194,20 @@
{
addAction("New Save Point", "document-save", SLOT(selectSavePoint()), "savepoint");
addAction("Publish", "krfb", SLOT(selectPublish()), "publish");
- addAction("Preview", "user-desktop", SLOT(selectPreview()), "preview");
- addAction("Notes", "accessories-text-editor", SLOT(selectNotes()), "notes");
- addAction("File List", "system-file-manager", SLOT(selectFileList()), "file_list");
- addAction("Timeline", "process-working", SLOT(selectTimeline()), "timeline");
+ addAction("Preview", "user-desktop", SLOT(togglePreview()), "preview");
+ addAction("Notes", "accessories-text-editor", SLOT(toggleNotes()), "notes");
+ addAction("File List", "system-file-manager", SLOT(toggleFileList()), "file_list");
+ addAction("Timeline", "process-working", SLOT(toggleTimeline()), "timeline");
addAction("Documentation", "help-contents", SLOT(openDocumentation()), "documentation");
}
-void MainWindow::selectTimeline()
+void MainWindow::toggleTimeline()
{
+ setFileListVisible(!m_timeLine || !m_timeLine->isVisible());
+}
+
+void MainWindow::setTimelineVisible(const bool visible)
+{
KConfig c;
KConfigGroup configDock = c.group("DocksPosition");
Qt::DockWidgetArea location = (Qt::DockWidgetArea) configDock.readEntry("WorkflowLocation",
@@ -210,7 +215,7 @@
location = (Qt::DockWidgetArea) configDock.readEntry("TimeLineLocation",
QVariant(Qt::BottomDockWidgetArea)).toInt();
- if(!m_timeLine) {
+ if (visible && !m_timeLine) {
m_timeLine = new TimeLine(this, m_model->package(), location);
m_timeLine->setObjectName("timeline");
connect(m_timeLine, SIGNAL(sourceDirectoryChanged()),
@@ -219,31 +224,47 @@
this, SLOT(saveEditorData()));
addDockWidget(location, m_timeLine);
}
+ if (m_timeLine) {
m_timeLine->setVisible(!m_timeLine->isVisible());
}
+}
-void MainWindow::selectFileList()
+void MainWindow::toggleFileList()
{
- if(!m_editWidget) {
+ setFileListVisible(!m_editWidget || !m_editWidget->isVisible());
+}
+
+void MainWindow::setFileListVisible(const bool visible)
+{
+ if (visible && !m_editWidget) {
m_editWidget = new QDockWidget(i18n("Files"), this);
m_editWidget->setObjectName("edit tree");
m_editWidget->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred);
m_editWidget->setWidget(m_editPage);
- addDockWidget(Qt::RightDockWidgetArea, m_editWidget);
+ addDockWidget(Qt::LeftDockWidgetArea, m_editWidget);
}
- m_editWidget->setVisible(!m_editWidget->isVisible());
+ if (m_editWidget) {
+ m_editWidget->setVisible(visible);
}
+}
-void MainWindow::selectNotes()
+void MainWindow::toggleNotes()
{
- if(!m_notesWidget) {
+ setFileListVisible(!m_notesWidget || !m_notesWidget->isVisible());
+}
+
+void MainWindow::setNotesVisible(const bool visible)
+{
+ if (visible && !m_notesWidget) {
m_notesWidget = new QDockWidget(i18n("Project notes"), this);
m_notesWidget->setObjectName("projectNotes");
loadNotesEditor(m_notesWidget);
addDockWidget(Qt::LeftDockWidgetArea, m_notesWidget);
}
- m_notesWidget->setVisible(!m_notesWidget->isVisible());
+ if (m_notesWidget) {
+ m_notesWidget->setVisible(visible);
}
+}
void MainWindow::selectSavePoint()
{
@@ -259,16 +280,23 @@
m_publisher->exec();
}
-void MainWindow::selectPreview()
+void MainWindow::togglePreview()
{
+ setFileListVisible(!m_previewerWidget || !m_previewerWidget->isVisible());
+}
+
+void MainWindow::setPreviewVisible(const bool visible)
+{
+ if (visible && !m_previewerWidget) {
QString packagePath = KStandardDirs::locateLocal("appdata", m_currentProject + '/');
- if(!m_previewerWidget) {
m_previewerWidget = createPreviewerFor(m_currentProjectType);
addDockWidget(Qt::RightDockWidgetArea, m_previewerWidget);
m_previewerWidget->showPreview(packagePath);
}
- m_previewerWidget->setVisible(!m_previewerWidget->isVisible());
+ if (m_previewerWidget) {
+ m_previewerWidget->setVisible(visible);
}
+}
void MainWindow::saveEditorData()
{
@@ -584,6 +612,7 @@
splitDockWidget(m_editWidget, m_previewerWidget, Qt::Vertical);
m_previewerWidget->showPreview(packagePath);
}
+ setFileListVisible(true);
restoreState(state);
// Now, setup some useful properties such as the project name in the title bar
--- trunk/playground/base/plasma/plasmate/mainwindow.h #1190704:1190705
@@ -67,11 +67,18 @@
// refreshes editor, killing all local changes
void editorDestructiveRefresh();
void selectSavePoint();
- void selectTimeline();
void selectPublish();
- void selectPreview();
- void selectNotes();
- void selectFileList();
+
+ void toggleTimeline();
+ void togglePreview();
+ void toggleNotes();
+ void toggleFileList();
+
+ void setTimelineVisible(const bool visible);
+ void setPreviewVisible(const bool visible);
+ void setNotesVisible(const bool visible);
+ void setFileListVisible(const bool visible);
+
void openDocumentation();
signals:
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic