From c4f85a89c9e461b7d6cf0692f2e48a327bedd5d3 Mon Sep 17 00:00:00 2001
From: Olivier Langella <Olivier.Langella@moulon.inra.fr>
Date: Tue, 28 Mar 2017 08:48:31 +0200
Subject: [PATCH] show/hide protein columns accession and evalue

---
 src/CMakeLists.txt                              |  4 ++--
 src/gui/protein_list_view/proteinlistwindow.cpp | 14 ++++++++++++++
 src/gui/protein_list_view/proteinlistwindow.h   |  5 +++--
 3 files changed, 19 insertions(+), 4 deletions(-)

diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 340489cf..15653c62 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -29,8 +29,8 @@ SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${Qt5Xml_EXECUTABLE_COMPILE_FLAGS} ${Qt5
 
 #sudo apt-get install libpappsomspp-dev
 #FIND_PACKAGE( Pappsomspp REQUIRED )
- SET (PAPPSOMSPP_DIR  "/home/olivier/eclipse/git/pappsomspp")
-# SET (PAPPSOMSPP_DIR  "/home/langella/developpement/git/pappsomspp")
+# SET (PAPPSOMSPP_DIR  "/home/olivier/eclipse/git/pappsomspp")
+ SET (PAPPSOMSPP_DIR  "/home/langella/developpement/git/pappsomspp")
  SET (PAPPSOMSPP_INCLUDE_DIR "${PAPPSOMSPP_DIR}/src")
  SET (PAPPSOMSPP_QT4_LIBRARY "${PAPPSOMSPP_DIR}/cbuild/src/libpappsomspp-qt4.so")
 
diff --git a/src/gui/protein_list_view/proteinlistwindow.cpp b/src/gui/protein_list_view/proteinlistwindow.cpp
index 9b368bd6..4e5f707c 100644
--- a/src/gui/protein_list_view/proteinlistwindow.cpp
+++ b/src/gui/protein_list_view/proteinlistwindow.cpp
@@ -89,19 +89,33 @@ void ProteinListWindow::showEvalueColumn(bool show) {
 
     ui->tableView->setColumnHidden(4,!show);
 }
+
+void ProteinListWindow::showAccessionColumn(bool show) {
+    _display_accession = show;
+
+    ui->tableView->setColumnHidden(2,!show);
+}
 void ProteinListWindow::doubleclickOnproteinMatch(ProteinMatch * p_protein_match) {
     emit proteinMatchClicked(p_protein_match);
     //updateStatusBar();
 }
 void ProteinListWindow::doFocusReceived(bool has_focus) {
     if (has_focus ) {
+        qDebug() << "ProteinListWindow::doFocusReceived begin";
         _project_window->setDefaultProteinListWindow(this);
+        qDebug() << "ProteinListWindow::doFocusReceived end";
     }
 }
 
 
 void ProteinListWindow::showContextMenu(const QPoint & pos) {
     QMenu contextMenu(tr("Context menu"), this);
+    
+    QAction accession_action("accession", this);
+    accession_action.setCheckable(true);
+    accession_action.setChecked(_display_evalue);
+    connect(&accession_action, SIGNAL(toggled(bool)), this, SLOT(showAccessionColumn(bool)));
+    contextMenu.addAction(&accession_action);
 
     QAction evalue_action("Evalue", this);
     evalue_action.setCheckable(true);
diff --git a/src/gui/protein_list_view/proteinlistwindow.h b/src/gui/protein_list_view/proteinlistwindow.h
index ce6314f1..342110d7 100644
--- a/src/gui/protein_list_view/proteinlistwindow.h
+++ b/src/gui/protein_list_view/proteinlistwindow.h
@@ -64,12 +64,12 @@ protected slots:
     void doNotCheckedHide(bool hide);
     void doNotGroupedHide(bool hide);
     void showContextMenu(const QPoint &);
+    void showEvalueColumn(bool show);
+    void showAccessionColumn(bool show);
 protected : 
     void updateStatusBar();
     
-private :
         
-    void showEvalueColumn(bool show);
 
 private:
     IdentificationGroup * _p_identification_group;
@@ -78,6 +78,7 @@ private:
     ProteinTableProxyModel * _p_proxy_model = nullptr;
     ProjectWindow * _project_window;
     bool _display_evalue = true;
+    bool _display_accession = true;
 
 };
 
-- 
GitLab