[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: koffice
From: Cyrille Berger <cyb () lepi ! org>
Date: 2010-03-02 17:51:45
Message-ID: 1267552305.948752.3343.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 1098025 by berger:
Fix: saving of dockers position after call to hide dockers
This also move Krita's code for hidding dockers to KoMainWindow, it should
allow other application to have this functionnality
BUG:222643
M +9 -29 krita/ui/kis_view2.cpp
M +0 -1 krita/ui/kis_view2.h
M +29 -0 libs/main/KoMainWindow.cpp
M +4 -0 libs/main/KoMainWindow.h
--- trunk/koffice/krita/ui/kis_view2.cpp #1098024:1098025
@@ -172,7 +172,6 @@
KisPerspectiveGridManager * perspectiveGridManager;
KisPaintingAssistantsManager* paintingAssistantManager;
KoFavoriteResourceManager* favoriteResourceManager;
- QVector<QDockWidget*> hiddenDockwidgets;
};
@@ -188,13 +187,17 @@
m_d->totalRefresh->setShortcut(QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_R));
connect(m_d->totalRefresh, SIGNAL(triggered()), this, SLOT(slotTotalRefresh()));
- m_d->toggleDockers = new KToggleAction(i18n("Show Dockers"), this);
- m_d->toggleDockers->setChecked(true);
- actionCollection()->addAction("toggledockers", m_d->toggleDockers);
+ if (shell()) {
+ m_d->toggleDockers = new KToggleAction(i18n("Show Dockers"), this);
+ m_d->toggleDockers->setChecked(true);
+ actionCollection()->addAction("toggledockers", m_d->toggleDockers);
- m_d->toggleDockers->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_H));
- connect(m_d->toggleDockers, SIGNAL(toggled(bool)), this, \
SLOT(toggleDockers(bool))); + \
m_d->toggleDockers->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_H)); + \
connect(m_d->toggleDockers, SIGNAL(toggled(bool)), shell(), \
SLOT(toggleDockersVisibility(bool))); + } else {
+ m_d->toggleDockers = 0;
+ }
setComponentData(KisFactory2::componentData(), false);
@@ -757,29 +760,6 @@
m_d->canvas->resetCanvas(cfg.useOpenGL());
}
-void KisView2::toggleDockers(bool toggle)
-{
- Q_UNUSED(toggle);
- if (m_d->hiddenDockwidgets.isEmpty()){
- foreach(QObject* widget, mainWindow()->children()) {
- if (widget->inherits("QDockWidget")) {
- QDockWidget* dw = static_cast<QDockWidget*>(widget);
- if (dw->isVisible()) {
- dw->hide();
- m_d->hiddenDockwidgets << dw;
- }
- }
- }
- }
- else {
- foreach(QDockWidget* dw, m_d->hiddenDockwidgets) {
- dw->show();
- }
- m_d->hiddenDockwidgets.clear();
- }
-
-}
-
void KisView2::resizeEvent ( QResizeEvent * event )
{
dbgUI << "resize: " << event->oldSize() << " to " << event->size() << "main \
window" << mainWindow()->size();
--- trunk/koffice/krita/ui/kis_view2.h #1098024:1098025
@@ -195,7 +195,6 @@
void slotEditPalette();
void slotImageSizeChanged();
void slotTotalRefresh();
- void toggleDockers(bool toggle);
private:
--- trunk/koffice/libs/main/KoMainWindow.cpp #1098024:1098025
@@ -211,6 +211,7 @@
QMap<QDockWidget*, bool> dockWidgetVisibilityMap;
KoDockerManager *dockerManager;
QList<QDockWidget*> dockWidgets;
+ QList<QDockWidget*> hiddenDockwidgets; // List of dockers hiddent by the call to \
hideDocker };
KoMainWindow::KoMainWindow(const KComponentData &componentData)
@@ -1036,6 +1037,11 @@
void KoMainWindow::closeEvent(QCloseEvent *e)
{
if (queryClose()) {
+ // Reshow the docker that were temporarely hidden before saving settings
+ foreach(QDockWidget* dw, d->hiddenDockwidgets) {
+ dw->show();
+ }
+ d->hiddenDockwidgets.clear();
saveWindowSettings();
setRootDocument(0);
if (!d->dockWidgetVisibilityMap.isEmpty()) { // re-enable dockers for \
persistency @@ -1880,6 +1886,29 @@
return d->dockerManager;
}
+void KoMainWindow::toggleDockersVisibility(bool v) const
+{
+ Q_UNUSED(v);
+ qDebug() << "toggleDockersVisibility";
+ if (d->hiddenDockwidgets.isEmpty()){
+ foreach(QObject* widget, children()) {
+ if (widget->inherits("QDockWidget")) {
+ QDockWidget* dw = static_cast<QDockWidget*>(widget);
+ if (dw->isVisible()) {
+ dw->hide();
+ d->hiddenDockwidgets << dw;
+ }
+ }
+ }
+ }
+ else {
+ foreach(QDockWidget* dw, d->hiddenDockwidgets) {
+ dw->show();
+ }
+ d->hiddenDockwidgets.clear();
+ }
+}
+
KRecentFilesAction *KoMainWindow::recentAction() const
{
return d->recent;
--- trunk/koffice/libs/main/KoMainWindow.h #1098024:1098025
@@ -322,6 +322,10 @@
void slotProgress(int value);
+ /**
+ * Hide the dockers
+ */
+ void toggleDockersVisibility(bool v) const;
private:
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic