[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());
}