]> git.sur5r.net Git - bacula/bacula/commitdiff
dhb I have the issue of m_medialist and m_brestore resolved. The only one
authorDirk H Bartley <dbartley@schupan.com>
Sun, 25 Mar 2007 15:05:08 +0000 (15:05 +0000)
committerDirk H Bartley <dbartley@schupan.com>
Sun, 25 Mar 2007 15:05:08 +0000 (15:05 +0000)
     used was the m_medialist to populate after the console connected.  So now
     I created a virtual function for clicked and double clicked in BatStack.
     All classes that want to do something based on a click in it's widget
     in the page selector can just use the virtual function.
     So in medialist, a single click will populate if not populated, and a double
     will repopulate from a clear.

git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/trunk@4414 91ce42f0-d328-0410-95d8-f526ca767f89

bacula/src/qt-console/batstack.cpp
bacula/src/qt-console/batstack.h
bacula/src/qt-console/mainwin.cpp
bacula/src/qt-console/mainwin.h
bacula/src/qt-console/medialist/medialist.cpp
bacula/src/qt-console/medialist/medialist.h

index 67ef83973f6cddf866b4f359811e5b612770653a..bbf9ad5a85ae61c8a569fa5efb72aa142d5ecaad 100644 (file)
@@ -87,3 +87,9 @@ void BatStack::closeEvent(QCloseEvent* event){
 
    }*/
 }
+
+void BatStack::PgSeltreeWidgetClicked(){
+}
+
+void BatStack::PgSeltreeWidgetDoubleClicked(){
+}
index f724a80ef7c68ec11cbe052b9f2815a5e5bf81f8..0ae62023d4215149d00e63d3d83ced7606cb7a1d 100644 (file)
@@ -46,8 +46,11 @@ public:
    bool isStacked();
    QStackedWidget *m_parent;
    QTreeWidgetItem *m_treeItem;
+   virtual void PgSeltreeWidgetClicked();
+   virtual void PgSeltreeWidgetDoubleClicked();
 
 public slots:
+   /* closeEvent is a virtual function inherited from QWidget */
    virtual void closeEvent(QCloseEvent* event);
 
 private:
index f76e03b9b280ed2abf4899aa3129798ea6f15ccc..9722cc69a6abf85fd21625e51fac84db915100e1 100644 (file)
@@ -59,7 +59,6 @@ MainWin::MainWin(QWidget *parent) : QMainWindow(parent)
    readSettings();
 
    m_console->connect();
-   m_medialist->populateTree();
 }
 
 void MainWin::createPages()
@@ -69,7 +68,7 @@ void MainWin::createPages()
 
    /* Create console tree stacked widget item */
    m_console = new Console(stackedWidget);
-   /* Console is special needs director*/
+   /* Console is special -> needs director*/
    /* Just take the first Director */
    LockRes();
    dir = (DIRRES *)GetNextRes(R_DIRECTOR, NULL);
@@ -92,17 +91,15 @@ void MainWin::createPages()
    /* All should be
  * 1. create tree widget item
  * 2. create object passing pointer to tree widget item (modified constructors to pass QTreeWidget pointers)
- * 3. append to stacklist  */ 
+ * 3. append to stacklist
+ * And it can even be done in one line.
+ * */ 
 
    /* brestore */
-   item = createPage("brestore", topItem);
-   m_brestore = new bRestore(stackedWidget,item);
-   m_bstacklist.append(m_brestore);
+   m_bstacklist.append(new bRestore( stackedWidget, createPage("brestore", topItem) ));
 
    /* lastly for now, the medialist */
-   item = createPage("Storage Tree", topItem );
-   m_medialist = new MediaList(stackedWidget, m_console, item);
-   m_bstacklist.append(m_medialist);
+   m_bstacklist.append(new MediaList(stackedWidget, m_console, createPage("Storage Tree", topItem )));
 
    /* Iterate through and add to the stack */
    for ( QList<BatStack*>::iterator bstackItem = m_bstacklist.begin(); bstackItem != m_bstacklist.end(); ++bstackItem ) {
@@ -232,6 +229,7 @@ void MainWin::treeItemClicked(QTreeWidgetItem *item, int column)
         if( stackindex >= 0 ){
            stackedWidget->setCurrentIndex(stackindex);
         }
+         (*bstackItem)->PgSeltreeWidgetClicked();
       }
       ++bstackItem;
    }
@@ -256,6 +254,7 @@ void MainWin::treeItemDoubleClicked(QTreeWidgetItem *item, int column)
         } else {
            (*bstackItem)->Togglestack();
         }
+         (*bstackItem)->PgSeltreeWidgetDoubleClicked();
       }
       ++bstackItem;
    }
index 815f610eb49ca231b362d10230ee6bd33e16af18..72f0744312780f00315d6a938b5da2ffeb44c5df 100644 (file)
@@ -84,8 +84,8 @@ private:
 private:
    QString m_UserInput;
    Console *m_console;
-   bRestore *m_brestore;
-   MediaList *m_medialist;
+//   bRestore *m_brestore;
+//   MediaList *m_medialist;
    BatStack *m_bstackpophold;
    QList<BatStack*> m_bstacklist;
    QStringList m_cmd_history;
index ad8af3950acf1d893ea8800c5015091d80532e9c..87da4699234876e5210039156b17cad888f0d154 100644 (file)
@@ -55,6 +55,7 @@ MediaList::MediaList(QStackedWidget *parent, Console *console, QTreeWidgetItem *
    m_treeItem = treeItem;
    createConnections();
    m_popupmedia="";
+   m_populated=false;
 }
 
 void MediaList::populateTree()
@@ -174,3 +175,18 @@ void MediaList::showJobs()
    JobList* joblist = new JobList(m_console, m_popupmedia);
    joblist->show();
 }
+
+void MediaList::PgSeltreeWidgetClicked()
+{
+   printf("PgSeltreeWidgetClicked\n");
+   if( ! m_populated ){
+      populateTree();
+      m_populated=true;
+   }
+}
+
+void MediaList::PgSeltreeWidgetDoubleClicked()
+{
+   printf("PgSeltreeWidgetDoubleClicked\n");
+   populateTree();
+}
index bb01cab5bfd148896cd14c8bbe911a4b0135c967..5aaa3a571bab46134009ed732098bc20f3f0db86 100644 (file)
@@ -46,6 +46,8 @@ class MediaList : public BatStack, public Ui::MediaListForm
 public:
    MediaList(QStackedWidget *parent,Console *console, QTreeWidgetItem *treeItem);
    void populateTree();
+   virtual void PgSeltreeWidgetClicked();
+   virtual void PgSeltreeWidgetDoubleClicked();
 
 public slots:
    void treeItemClicked(QTreeWidgetItem *item, int column);
@@ -61,6 +63,7 @@ private:
    QTreeWidget *m_treeWidget;
    QStringList *m_poollist;
    QString m_popupmedia;
+   bool m_populated;
    //QStackedWidget *m_parent;
 };