git-svn-id: svn://db.shs.com.ru/libs@183 a8b55f48-bf90-11e4-a774-851b48703e85
This commit is contained in:
@@ -221,11 +221,12 @@ bool EMainWindow::checkSave() {
|
|||||||
|
|
||||||
|
|
||||||
void EMainWindow::changedDock() {
|
void EMainWindow::changedDock() {
|
||||||
|
if (isHidden()) return;
|
||||||
QList<QTabBar * > tabs(findChildren<QTabBar * >());
|
QList<QTabBar * > tabs(findChildren<QTabBar * >());
|
||||||
QList<QDockWidget * > docks = findChildren<QDockWidget * >();
|
QList<QDockWidget * > docks = findChildren<QDockWidget * >();
|
||||||
QSet<QDockWidget * > docks_tabs;
|
QSet<QDockWidget * > docks_tabs;
|
||||||
QDockWidget * dock;
|
QDockWidget * dock;
|
||||||
//qDebug() << "change";
|
// qDebug() << "### change";
|
||||||
foreach (QTabBar * t, tabs) {
|
foreach (QTabBar * t, tabs) {
|
||||||
if (!t->objectName().isEmpty() || t->isHidden()) continue;
|
if (!t->objectName().isEmpty() || t->isHidden()) continue;
|
||||||
if (!tbars.contains(t)) {
|
if (!tbars.contains(t)) {
|
||||||
@@ -235,10 +236,10 @@ void EMainWindow::changedDock() {
|
|||||||
t->setIconSize(dockTabsIconSIze());
|
t->setIconSize(dockTabsIconSIze());
|
||||||
t->setTabsClosable(true);
|
t->setTabsClosable(true);
|
||||||
}
|
}
|
||||||
//qDebug() << "tab";
|
// qDebug() << "tab" << t << t->count();
|
||||||
for (int i = 0; i < t->count(); ++i) {
|
for (int i = 0; i < t->count(); ++i) {
|
||||||
dock = (QDockWidget * )t->tabData(i).toULongLong();
|
dock = (QDockWidget * )t->tabData(i).toULongLong();
|
||||||
//qDebug() << i << dock;
|
//qDebug() << i << t->tabData(i);
|
||||||
if (dock == 0) continue;
|
if (dock == 0) continue;
|
||||||
t->setTabIcon(i, dock->windowIcon());
|
t->setTabIcon(i, dock->windowIcon());
|
||||||
docks_tabs << dock;
|
docks_tabs << dock;
|
||||||
@@ -258,7 +259,8 @@ void EMainWindow::changedDock() {
|
|||||||
}
|
}
|
||||||
if (!tdocks.contains(d)) {
|
if (!tdocks.contains(d)) {
|
||||||
tdocks << d;
|
tdocks << d;
|
||||||
//connect(t, SIGNAL((QObject*)), this, SLOT(changedDockClose(QObject*)));
|
// qDebug() << "connect" << d;
|
||||||
|
// connect(d, SIGNAL(destroyed(QObject*)), this, SLOT(changedDockClose(QObject*)), Qt::UniqueConnection);
|
||||||
d->installEventFilter(this);
|
d->installEventFilter(this);
|
||||||
}
|
}
|
||||||
//d->titleBarWidget()->setHidden(docks_tabs.contains(d));
|
//d->titleBarWidget()->setHidden(docks_tabs.contains(d));
|
||||||
@@ -275,11 +277,17 @@ void EMainWindow::changedDock() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void EMainWindow::changedDockClose(QObject * bar) {
|
//void EMainWindow::changedDockClose(QObject * dock) {
|
||||||
//qDebug() << "close" << bar;
|
// qDebug() << "changedDockClose" << dock;
|
||||||
tbars.removeAll((QTabBar * )bar);
|
// if (!dock) return;
|
||||||
changedDock();
|
// foreach (QTabBar * t, tbars) {
|
||||||
}
|
// for (int i = 0; i < t->count(); ++i)
|
||||||
|
// if (t->tabData(i).toULongLong() == (qulonglong)dock) {
|
||||||
|
// t->removeTab(i);
|
||||||
|
// break;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
//}
|
||||||
|
|
||||||
|
|
||||||
void EMainWindow::closeDock(int index) {
|
void EMainWindow::closeDock(int index) {
|
||||||
|
|||||||
@@ -59,7 +59,7 @@ public:
|
|||||||
virtual bool save(const QString & path) {return true;}
|
virtual bool save(const QString & path) {return true;}
|
||||||
|
|
||||||
void addSeparator() {}
|
void addSeparator() {}
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
// Qt`s overloaded
|
// Qt`s overloaded
|
||||||
void showEvent(QShowEvent * );
|
void showEvent(QShowEvent * );
|
||||||
@@ -90,7 +90,7 @@ protected:
|
|||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void changedDock();
|
void changedDock();
|
||||||
void changedDockClose(QObject * bar);
|
// void changedDockClose(QObject * dock);
|
||||||
void closeDock(int index);
|
void closeDock(int index);
|
||||||
virtual void sessionLoading(QPIConfig & conf) {}
|
virtual void sessionLoading(QPIConfig & conf) {}
|
||||||
virtual void sessionSaving(QPIConfig & conf) {}
|
virtual void sessionSaving(QPIConfig & conf) {}
|
||||||
|
|||||||
Reference in New Issue
Block a user