[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

[vidalia-svn] r1627: Display circuits as a list of server nicknames (like we curr (in trunk: . src/gui/network)



Author: edmanm
Date: 2007-02-04 21:04:30 -0500 (Sun, 04 Feb 2007)
New Revision: 1627

Modified:
   trunk/
   trunk/src/gui/network/circuititem.cpp
   trunk/src/gui/network/circuititem.h
   trunk/src/gui/network/circuitlistwidget.cpp
   trunk/src/gui/network/circuitlistwidget.h
   trunk/src/gui/network/netviewer.cpp
Log:
 r1652@adrastea:  edmanm | 2007-02-04 21:01:05 -0500
 Display circuits as a list of server nicknames (like we currently do), but
 save the original circuit paths (possibly with key IDs for non-Named servers)
 so we don't display the wrong server information when the user selects that
 circuit.



Property changes on: trunk
___________________________________________________________________
 svk:merge ticket from /vidalia/local/trunk [r1652] on 54b3572a-7227-0410-958f-53ecd705b71a

Modified: trunk/src/gui/network/circuititem.cpp
===================================================================
--- trunk/src/gui/network/circuititem.cpp	2007-02-05 02:04:15 UTC (rev 1626)
+++ trunk/src/gui/network/circuititem.cpp	2007-02-05 02:04:30 UTC (rev 1627)
@@ -30,27 +30,26 @@
 
 
 /** Constructor */
-CircuitItem::CircuitItem(Circuit circuit)
+CircuitItem::CircuitItem(Circuit circuit, QString displayedPath)
 {
   /* Update the displayed text */
-  update(circuit);
+  update(circuit, displayedPath);
 }
 
 /** Updates the status and path of this circuit item. */
 void
-CircuitItem::update(Circuit circuit)
+CircuitItem::update(Circuit circuit, QString displayedPath)
 {
   /* Save the Circuit object */
   _circuit = circuit;
   
-  /* Get the path, or put in a semi-meaningful value if the path is empty */
-  QString path = circuit.path();
-  if (path.isEmpty()) {
-    path = tr("<Path Empty>");
+  /* Use a semi-meaningful value if the path is empty */
+  if (displayedPath.isEmpty()) {
+    displayedPath = tr("<Path Empty>");
   }
 
   /* Update the column fields */
-  setText(CircuitListWidget::ConnectionColumn, path);
+  setText(CircuitListWidget::ConnectionColumn, displayedPath);
   setText(CircuitListWidget::StatusColumn, circuit.statusString());
 }
 

Modified: trunk/src/gui/network/circuititem.h
===================================================================
--- trunk/src/gui/network/circuititem.h	2007-02-05 02:04:15 UTC (rev 1626)
+++ trunk/src/gui/network/circuititem.h	2007-02-05 02:04:30 UTC (rev 1627)
@@ -42,14 +42,14 @@
 
 public:
   /** Default constructor */
-  CircuitItem(Circuit circuit);
+  CircuitItem(Circuit circuit, QString displayedPath);
  
   /** Adds a stream to this circuit item */
   void addStream(StreamItem *stream);
   /** Removes the stream item from the list and frees its memory. */
   void removeStream(StreamItem *stream);
   /** Updates the status of this circuit item using the given circuit. */
-  void update(Circuit circuit);
+  void update(Circuit circuit, QString displayedPath);
   /** Returns the ID for this circuit. */
   quint64 id() { return _circuit.id(); }
   /** Returns the Circuit object for this item. */

Modified: trunk/src/gui/network/circuitlistwidget.cpp
===================================================================
--- trunk/src/gui/network/circuitlistwidget.cpp	2007-02-05 02:04:15 UTC (rev 1626)
+++ trunk/src/gui/network/circuitlistwidget.cpp	2007-02-05 02:04:30 UTC (rev 1627)
@@ -101,20 +101,21 @@
 }
 
 /** Adds a circuit to the list. If the circuit already exists in the list, the
- * status and path will be updated. */
+ * status and path will be updated. <b>displayedPath</b> contains a
+ * description of the circuit's path suitable for humans to read. */
 void
-CircuitListWidget::addCircuit(Circuit circuit)
+CircuitListWidget::addCircuit(Circuit circuit, QString displayedPath)
 {
   /* Check to see if the circuit already exists in the tree */
   CircuitItem *item = findCircuitItem(circuit.id());
   
   if (!item) {
     /* Add the new circuit */
-    item = new CircuitItem(circuit);
+    item = new CircuitItem(circuit, displayedPath);
     addTopLevelItem(item);
   } else {
     /* Circuit already exists, so update its status and path */
-    item->update(circuit);
+    item->update(circuit, displayedPath);
   }
 
   /* If the circuit is closed or dead, schedule it for removal */

Modified: trunk/src/gui/network/circuitlistwidget.h
===================================================================
--- trunk/src/gui/network/circuitlistwidget.h	2007-02-05 02:04:15 UTC (rev 1626)
+++ trunk/src/gui/network/circuitlistwidget.h	2007-02-05 02:04:30 UTC (rev 1627)
@@ -55,7 +55,7 @@
 
   /** Adds a circuit to the list. If the circuit already exists in the list,
    * the status and path will be updated. */
-  void addCircuit(Circuit circuit);
+  void addCircuit(Circuit circuit, QString displayedPath);
   /** Adds a stream to the list. If the stream already exists in the list, the
    * status and path will be updated. */
   void addStream(Stream stream);

Modified: trunk/src/gui/network/netviewer.cpp
===================================================================
--- trunk/src/gui/network/netviewer.cpp	2007-02-05 02:04:15 UTC (rev 1626)
+++ trunk/src/gui/network/netviewer.cpp	2007-02-05 02:04:30 UTC (rev 1627)
@@ -245,7 +245,7 @@
   /* Circuits on the map always use keyids */
   Circuit circIds   = circuitPathIDs(circuit);
 
-  ui.treeCircuitList->addCircuit(circNames);
+  ui.treeCircuitList->addCircuit(circuit, circNames.path());
   _map->addCircuit(circuit.id(), circIds.hops());
 }
 
@@ -327,7 +327,9 @@
 
   foreach (QString router, circuit.hops()) {
     /* Try to find and select each router in the path */
-    RouterListItem *item = ui.treeRouterList->findRouterByName(router);
+    RouterListItem *item = (router.startsWith("$") ? 
+                ui.treeRouterList->findRouterById(router.mid(1))
+              : ui.treeRouterList->findRouterByName(router));
     if (item) {
       routers.append(item->descriptor());
     }