add MenuBar toggle to ChatScene context menu
[quassel.git] / src / qtui / chatscene.cpp
index af50281..b748e1a 100644 (file)
 #include <QDrag>
 #include <QGraphicsSceneMouseEvent>
 #include <QMenu>
+#include <QMenuBar>
 #include <QPersistentModelIndex>
 
+#ifdef HAVE_KDE
+#  include <KMenuBar>
+#else
+#  include <QMenuBar>
+#endif
+
 #ifdef HAVE_WEBKIT
 #  include <QWebView>
 #endif
@@ -170,7 +177,6 @@ void ChatScene::rowsInserted(const QModelIndex &index, int start, int end) {
   qreal width = _sceneRect.width();
   bool atBottom = (start == _lines.count());
   bool atTop = !atBottom && (start == 0);
-  bool moveTop = false;
 
   if(start < _lines.count()) {
     y = _lines.value(start)->y();
@@ -599,6 +605,9 @@ void ChatScene::contextMenuEvent(QGraphicsSceneContextMenuEvent *event) {
     // no item -> default scene actions
     GraphicalUi::contextMenuActionProvider()->addActions(&menu, filter(), BufferId());
 
+  if (QtUi::mainWindow()->menuBar()->isHidden())
+    menu.addAction(QtUi::actionCollection("General")->action("ToggleMenuBar"));
+
   menu.exec(event->screenPos());
 
 }
@@ -844,7 +853,6 @@ void ChatScene::updateSceneRect(qreal width) {
     ChatLine *firstLine = _lines.at(_firstLineRow);
     ChatLine *lastLine = _lines.last();
     updateSceneRect(QRectF(0, firstLine->pos().y(), width, lastLine->pos().y() + lastLine->height() - firstLine->pos().y()));
-    qDebug() << idString() << "top:" << sceneRect().y() << "height:" << sceneRect().height();
   } else {
     // empty scene rect
     updateSceneRect(QRectF(0, 0, width, 0));
@@ -884,7 +892,7 @@ void ChatScene::loadWebPreview(ChatItem *parentItem, const QUrl &url, const QRec
     // prepare to load a different URL
     if(webPreview.previewItem) {
       if(webPreview.previewItem->scene())
-       removeItem(webPreview.previewItem);
+        removeItem(webPreview.previewItem);
       delete webPreview.previewItem;
       webPreview.previewItem = 0;
     }
@@ -932,10 +940,10 @@ void ChatScene::webPreviewNextStep() {
       qreal previewY = webPreview.urlRect.bottom();
       qreal previewX = webPreview.urlRect.x();
       if(previewY + webPreview.previewItem->boundingRect().height() > sceneRect().bottom())
-       previewY = webPreview.urlRect.y() - webPreview.previewItem->boundingRect().height();
+        previewY = webPreview.urlRect.y() - webPreview.previewItem->boundingRect().height();
 
       if(previewX + webPreview.previewItem->boundingRect().width() > sceneRect().width())
-       previewX = sceneRect().right() - webPreview.previewItem->boundingRect().width();
+        previewX = sceneRect().right() - webPreview.previewItem->boundingRect().width();
 
       webPreview.previewItem->setPos(previewX, previewY);
     }
@@ -970,7 +978,7 @@ void ChatScene::clearWebPreview(ChatItem *parentItem) {
   case WebPreview::ShowPreview:
     if(parentItem == 0 || webPreview.parentItem == parentItem) {
       if(webPreview.previewItem && webPreview.previewItem->scene())
-       removeItem(webPreview.previewItem);
+        removeItem(webPreview.previewItem);
     }
     // fall through into to set hidden state
   case WebPreview::DelayPreview: