Quellcode durchsuchen

Update head when switch mode

Kandrashin Denis vor 12 Jahren
Ursprung
Commit
9bbb61940b
5 geänderte Dateien mit 19 neuen und 5 gelöschten Zeilen
  1. 3 0
      source/fb2code.hpp
  2. 5 0
      source/fb2dock.cpp
  3. 2 1
      source/fb2dock.hpp
  4. 2 0
      source/fb2head.cpp
  5. 7 4
      source/fb2text.cpp

+ 3 - 0
source/fb2code.hpp

@@ -99,6 +99,9 @@ public:
 
     bool isModified() const { return document()->isModified(); }
 
+signals:
+    void status(const QString &text);
+
 public slots:
     void find();
     void zoomIn();

+ 5 - 0
source/fb2dock.cpp

@@ -46,6 +46,9 @@ FbMainDock::FbMainDock(QWidget *parent)
     addWidget(m_code);
 
     connect(m_text->page(), SIGNAL(status(QString)), parent, SLOT(status(QString)));
+    connect(m_head, SIGNAL(status(QString)), parent, SLOT(status(QString)));
+    connect(m_code, SIGNAL(status(QString)), parent, SLOT(status(QString)));
+    connect(this, SIGNAL(status(QString)), parent, SLOT(status(QString)));
 }
 
 void FbMainDock::switchMode(Fb::Mode mode)
@@ -82,6 +85,7 @@ void FbMainDock::setMode(Fb::Mode mode)
         case Fb::Code: setModeCode(); break;
         case Fb::Html: setModeHtml(); break;
     }
+    emit status(QString());
 }
 
 void FbMainDock::setModeText()
@@ -102,6 +106,7 @@ void FbMainDock::setModeHead()
     m_text->disconnectActions();
     m_code->disconnectActions();
     m_head->connectActions(m_tool);
+    m_head->updateTree();
 }
 
 void FbMainDock::setModeCode()

+ 2 - 1
source/fb2dock.hpp

@@ -33,7 +33,8 @@ public:
     bool isModified() const;
 
 signals:
-    
+    void status(const QString &text);
+
 public slots:
 
 private:

+ 2 - 0
source/fb2head.cpp

@@ -598,6 +598,8 @@ void FbHeadEdit::setAction(Fb::Actions index, QAction *action)
 void FbHeadEdit::connectActions(QToolBar *tool)
 {
     tool->clear();
+    tool->addAction(actionInsert);
+    tool->addAction(actionDelete);
 }
 
 void FbHeadEdit::disconnectActions()

+ 7 - 4
source/fb2text.cpp

@@ -335,6 +335,9 @@ void FbTextEdit::disconnectActions()
             a->disconnectAction();
         }
     }
+    viewContents(false);
+    viewPictures(false);
+    viewInspector(false);
 }
 
 void FbTextEdit::viewContents(bool show)
@@ -346,7 +349,7 @@ void FbTextEdit::viewContents(bool show)
         connect(dockTree, SIGNAL(visibilityChanged(bool)), act(Fb::ViewContents), SLOT(setChecked(bool)));
         connect(dockTree, SIGNAL(destroyed()), SLOT(treeDestroyed()));
         m_owner->addDockWidget(Qt::LeftDockWidgetArea, dockTree);
-    } else {
+    } else if (dockTree) {
         dockTree->deleteLater();
         dockTree = 0;
     }
@@ -361,7 +364,7 @@ void FbTextEdit::viewPictures(bool show)
         connect(dockImgs, SIGNAL(visibilityChanged(bool)), act(Fb::ViewPictures), SLOT(setChecked(bool)));
         connect(dockImgs, SIGNAL(destroyed()), SLOT(imgsDestroyed()));
         m_owner->addDockWidget(Qt::RightDockWidgetArea, dockImgs);
-    } else {
+    } else if (dockImgs) {
         dockImgs->deleteLater();
         dockImgs = 0;
     }
@@ -378,8 +381,8 @@ void FbTextEdit::viewInspector(bool show)
         dockInsp->setWidget(inspector);
         connect(dockInsp, SIGNAL(visibilityChanged(bool)), act(Fb::ViewInspector), SLOT(setChecked(bool)));
         m_owner->addDockWidget(Qt::BottomDockWidgetArea, dockInsp);
-    } else {
-        dockImgs->hide();
+    } else if (dockInsp) {
+        dockInsp->hide();
     }
 }