* that it has the proper window flag and parent.
*/
setWindowFlags(Qt::Widget);
-// setParent(m_parent);
/* This was being done already */
m_parent->addWidget(this);
/* Set docked flag */
m_docked = true;
+ mainWin->stackedWidget->setCurrentWidget(this);
+ /* lets set the page selectors action for docking or undocking */
+ setContextMenuDockText();
}
/*
show();
/* Clear docked flag */
m_docked = false;
+ /* The window has been undocked, lets change the context menu */
+ setContextMenuDockText();
}
/*
/* A Widget was closed, lets toggle it back into the window, and set it in front. */
dockPage();
- /* is the tree widget item for "this" the current widget item */
- if (mainWin->treeWidget->currentItem() == mainWin->getFromHash(this))
- /* in case the current widget is the one which represents this, lets set the context
- * menu to undock */
- mainWin->setContextMenuDockText();
- else
- /* in case the current widget is not the one which represents this, lets set the
- * color back to black */
- mainWin->setTreeWidgetItemDockColor(this);
-
/* this fixes my woes of getting the widget to show up on top when closed */
event->ignore();
- /* put this widget on the top of the stack widget */
- m_parent->setCurrentWidget(this);
-
/* Set the current tree widget item in the Page Selector window to the item
- * which represents "this" */
- QTreeWidgetItem *item= mainWin->getFromHash(this);
- mainWin->treeWidget->setCurrentItem(item);
+ * which represents "this"
+ * Which will also bring "this" to the top of the stacked widget */
+ setCurrent();
}
/*
treeWidgetName(name);
item->setText(0, name);
mainWin->hashInsert(item, this);
+ setTitle();
}
/*
*/
void Pages::consoleCommand(QString &command)
{
+ /*if (!m_console->is_connectedGui())
+ return;*/
+ if (!m_console->preventInUseConnect())
+ return;
+ /* Bring this directors console to the front of the stack */
+ setConsoleCurrent();
+ QString displayhtml("<font color=\"blue\">");
+ displayhtml += command + "</font>\n";
+ m_console->display_html(displayhtml);
+ m_console->display_text("\n");
m_console->write_dir(command.toUtf8().data());
m_console->displayToPrompt();
- /* Bring this directors console to the front of the stack */
- mainWin->treeWidget->setCurrentItem(mainWin->getFromHash(m_console));
}
/*
void Pages::changeEvent(QEvent *event)
{
if ((event->type() == QEvent::ActivationChange) && (isActiveWindow())) {
- mainWin->treeWidget->setCurrentItem(mainWin->getFromHash(this));
+ setCurrent();
}
}
title += director;
setWindowTitle(title);
}
+
+/*
+ * Bring the current directors console window to the top of the stack.
+ */
+void Pages::setConsoleCurrent()
+{
+ mainWin->treeWidget->setCurrentItem(mainWin->getFromHash(m_console));
+}
+
+/*
+ * Bring this window to the top of the stack.
+ */
+void Pages::setCurrent()
+{
+ mainWin->treeWidget->setCurrentItem(mainWin->getFromHash(this));
+}
+
+/*
+ * Function to set the text of the toggle dock context menu when page and
+ * widget item are NOT known.
+ */
+void Pages::setContextMenuDockText()
+{
+ QTreeWidgetItem *item = mainWin->getFromHash(this);
+ QString docktext("");
+ if (isDocked()) {
+ docktext += "UnDock ";
+ } else {
+ docktext += "ReDock ";
+ }
+ docktext += item->text(0) += " Window";
+
+ mainWin->actionToggleDock->setText(docktext);
+ setTreeWidgetItemDockColor();
+}
+
+/*
+ * Function to set the color of the tree widget item based on whether it is
+ * docked or not.
+ */
+void Pages::setTreeWidgetItemDockColor()
+{
+ QTreeWidgetItem* item = mainWin->getFromHash(this);
+ if (item) {
+ if (item->text(0) != "Console") {
+ if (isDocked()) {
+ /* Set the brush to blue if undocked */
+ QBrush blackBrush(Qt::black);
+ item->setForeground(0, blackBrush);
+ } else {
+ /* Set the brush back to black if docked */
+ QBrush blueBrush(Qt::blue);
+ item->setForeground(0, blueBrush);
+ }
+ }
+ }
+}