[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: koffice/kexi
From: Jarosław Staniek <staniek () kde ! org>
Date: 2010-01-24 1:04:33
Message-ID: 1264295073.690974.32058.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 1079297 by staniek:
Main Window
*Make property editor pane's tabbar show properly when switching between windows \
being in design/view modes, make is also behave properly when propery pane is \
collapsed
M +1 -0 doc/dev/CHANGELOG-Kexi-js
M +8 -15 main/KexiMainWindow.cpp
M +33 -1 main/KexiMainWindow_p.h
--- trunk/koffice/kexi/doc/dev/CHANGELOG-Kexi-js #1079296:1079297
@@ -65,6 +65,7 @@
2010-01-23
Main Window
*Added tabbar for the property editor pane
+*Make property editor pane's tabbar show properly when switching between windows \
being in design/view modes, make is also behave properly when propery pane is \
collapsed
2010-01-19
Forms
--- trunk/koffice/kexi/main/KexiMainWindow.cpp #1079296:1079297
@@ -1995,9 +1995,6 @@
d->propEditorDockWidget->setVisible(set);
}
-#define PROJECT_NAVIGATOR_TABBAR_ID 0
-#define PROPERTY_EDITOR_TABBAR_ID 1
-
void KexiMainWindow::slotProjectNavigatorVisibilityChanged(bool visible)
{
KMultiTabBar *mtbar = d->multiTabBars[KMultiTabBar::Left];
@@ -2016,18 +2013,11 @@
void KexiMainWindow::slotPropertyEditorVisibilityChanged(bool visible)
{
- KMultiTabBar *mtbar = d->multiTabBars[KMultiTabBar::Right];
- int id = PROPERTY_EDITOR_TABBAR_ID;
- if (visible) {
- mtbar->removeTab(id);
- }
- else {
- QString t(d->propEditorDockWidget->windowTitle());
- t.remove('&');
- mtbar->appendTab(QPixmap(), id, t);
- KMultiTabBarTab *tab = mtbar->tab(id);
- connect(tab, SIGNAL(clicked(int)), this, \
SLOT(slotMultiTabBarTabClicked(int)));
- }
+ if (!d->enable_slotPropertyEditorVisibilityChanged)
+ return;
+ d->setPropertyEditorTabBarVisible(!visible);
+ if (!visible)
+ d->propertyEditorCollapsed = true;
}
void KexiMainWindow::slotMultiTabBarTabClicked(int id)
@@ -2039,6 +2029,7 @@
else if (id == PROPERTY_EDITOR_TABBAR_ID) {
slotPropertyEditorVisibilityChanged(true);
d->propEditorDockWidget->show();
+ d->propertyEditorCollapsed = false;
}
}
@@ -2241,7 +2232,9 @@
ds->setSeparatorPosInPercent(d->config->readEntry("RightDockPosition", \
80)); #endif
}*/
+ d->enable_slotPropertyEditorVisibilityChanged = false;
d->propEditorDockWidget->setVisible(false);
+ d->enable_slotPropertyEditorVisibilityChanged = true;
}
}
--- trunk/koffice/kexi/main/KexiMainWindow_p.h #1079296:1079297
@@ -27,6 +27,9 @@
# define KEXI_NO_PENDING_DIALOGS
#endif
+#define PROJECT_NAVIGATOR_TABBAR_ID 0
+#define PROPERTY_EDITOR_TABBAR_ID 1
+
#include <KToolBar>
#include <QGroupBox>
#include <QHBoxLayout>
@@ -581,6 +584,8 @@
forceHideProjectNavigatorOnCreation = false;
navWasVisibleBeforeProjectClosing = false;
saveSettingsForShowProjectNavigator = true;
+ propertyEditorCollapsed = false;
+ enable_slotPropertyEditorVisibilityChanged = true;
}
~Private() {
qDeleteAll(m_openedCustomObjectsForItem);
@@ -774,9 +779,33 @@
const bool visible = (viewMode == Kexi::DesignViewMode)
&& ((currentWindow && currentWindow->propertySet()) || \
info->isPropertyEditorAlwaysVisibleInDesignMode()); kDebug() << "visible == " << \
visible;
- propEditorDockWidget->setVisible(visible);
+ enable_slotPropertyEditorVisibilityChanged = false;
+ if (visible && propertyEditorCollapsed) { // used when we're switching back \
to a window with propeditor available but collapsed + \
propEditorDockWidget->setVisible(!visible); + \
setPropertyEditorTabBarVisible(true); + }
+ else {
+ propEditorDockWidget->setVisible(visible);
+ setPropertyEditorTabBarVisible(false);
+ }
+ enable_slotPropertyEditorVisibilityChanged = true;
}
+ void setPropertyEditorTabBarVisible(bool visible) {
+ KMultiTabBar *mtbar = multiTabBars[KMultiTabBar::Right];
+ int id = PROPERTY_EDITOR_TABBAR_ID;
+ if (!visible) {
+ mtbar->removeTab(id);
+ }
+ else if (!mtbar->tab(id)) {
+ QString t(propEditorDockWidget->windowTitle());
+ t.remove('&');
+ mtbar->appendTab(QPixmap(), id, t);
+ KMultiTabBarTab *tab = mtbar->tab(id);
+ QObject::connect(tab, SIGNAL(clicked(int)), wnd, \
SLOT(slotMultiTabBarTabClicked(int))); + }
+ }
+
//2.0: unused
#if 0
void restoreNavigatorWidth() {
@@ -1094,7 +1123,10 @@
//2.0: unused KMdi::MdiMode mdiModeToSwitchAfterRestart;
QMap<KMultiTabBar::KMultiTabBarPosition, KMultiTabBar*> multiTabBars;
+ bool propertyEditorCollapsed;
+ bool enable_slotPropertyEditorVisibilityChanged;
+
private:
//! @todo move to KexiProject
KexiWindowDict windows;
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic