Procházet zdrojové kódy

About box: show commit info

Kandrashin Denis před 12 roky
rodič
revize
d1a7694418
5 změnil soubory, kde provedl 26 přidání a 10 odebrání
  1. 2 3
      CMakeLists.txt
  2. 2 2
      source/fb2app.cpp
  3. 19 4
      source/fb2dock.cpp
  4. 1 0
      source/fb2dock.hpp
  5. 2 1
      source/fb2main.cpp

+ 2 - 3
CMakeLists.txt

@@ -31,9 +31,8 @@ file( GLOB FB2_TSS  source/ts/*.ts   )
 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${GTK_PKG_FLAGS}")
 
 if(IS_DIRECTORY ${CMAKE_HOME_DIRECTORY}/.git)
-#    exec_program("git --git-dir=${CMAKE_HOME_DIRECTORY}/.git git log --format=%ai%H%d -1" OUTPUT_VARIABLE COMMIT_INFO)
-#    exec_program("git --git-dir=${CMAKE_HOME_DIRECTORY}/.git log --format=medium -1 | head -n1" OUTPUT_VARIABLE COMMIT_INFO)
-#    message( STATUS "COMMIT_INFO = ${COMMIT_INFO}")
+    exec_program("git --git-dir=${CMAKE_HOME_DIRECTORY}/.git log --format=%ai//%h%d -1" OUTPUT_VARIABLE COMMIT_INFO)
+    message( STATUS "COMMIT_INFO = ${COMMIT_INFO}")
 endif(IS_DIRECTORY ${CMAKE_HOME_DIRECTORY}/.git)
 
 set(FB2_DEFINITIONS "PACKAGE_NAME=\"${PACKAGE_NAME}\"; PACKAGE_VENDOR=\"${PACKAGE_VENDOR}\"; PACKAGE_VERSION=\"${PACKAGE_VERSION}\"; COMMIT_INFO=\"${COMMIT_INFO}\"")

+ 2 - 2
source/fb2app.cpp

@@ -13,8 +13,8 @@
 
 QString FbApplication::lastCommit()
 {
-#ifndef COMMIT_INFO
-    return COMMIT_INFO;
+#ifdef COMMIT_INFO
+    return QString(COMMIT_INFO).replace("//", "<br>");
 #else
     return QString();
 #endif  // PACKAGE_VERSION

+ 19 - 4
source/fb2dock.cpp

@@ -3,19 +3,29 @@
 #include "fb2head.hpp"
 #include "fb2text.hpp"
 
+#include <QLayout>
+
 FbMainDock::FbMainDock(QWidget *parent)
     : QStackedWidget(parent)
 {
-    addWidget(m_text = new FbTextEdit(this));
-    addWidget(m_head = new FbHeadEdit(this));
-    addWidget(m_code = new FbCodeEdit(this));
+    textFrame = new FbWebFrame(this);
+    m_text = new FbTextEdit(textFrame);
+    textFrame->layout()->addWidget(m_text);
+
+    m_head = new FbHeadEdit(this);
+    m_code = new FbCodeEdit(this);
+
+    addWidget(textFrame);
+    addWidget(m_head);
+    addWidget(m_code);
+
     m_head->setText(m_text);
 }
 
 FbMainDock::Mode FbMainDock::mode() const
 {
     QWidget * current = currentWidget();
-    if (current == m_text) return Text;
+    if (current == textFrame) return Text;
     if (current == m_head) return Head;
     if (current == m_code) return Code;
     return Text;
@@ -23,4 +33,9 @@ FbMainDock::Mode FbMainDock::mode() const
 
 void FbMainDock::setMode(Mode mode)
 {
+    switch (mode) {
+        case Text: setCurrentWidget(textFrame); return;
+        case Head: setCurrentWidget(m_head); return;
+        case Code: setCurrentWidget(m_code); return;
+    }
 }

+ 1 - 0
source/fb2dock.hpp

@@ -26,6 +26,7 @@ signals:
 public slots:
 
 private:
+    QFrame *textFrame;
     FbTextEdit *m_text;
     FbHeadEdit *m_head;
     FbCodeEdit *m_code;

+ 2 - 1
source/fb2main.cpp

@@ -3,6 +3,7 @@
 #include <QTreeView>
 #include <QWebFrame>
 
+#include "fb2app.hpp"
 #include "fb2main.hpp"
 #include "fb2code.hpp"
 #include "fb2dlgs.hpp"
@@ -219,7 +220,7 @@ bool FbMainWindow::fileSaveAs()
 void FbMainWindow::about()
 {
     QString text = tr("The <b>fb2edit</b> is application for editing FB2-files.");
-    text += "<br>" << FbApplication::lastCommit();
+    text += QString("<br>") += FbApplication::lastCommit();
     QMessageBox::about(this, tr("About fb2edit"), text);
 }