00001 /* 00002 ** This file is part of Vidalia, and is subject to the license terms in the 00003 ** LICENSE file, found in the top level directory of this distribution. If you 00004 ** did not receive the LICENSE file with this file, you may obtain it from the 00005 ** Vidalia source package distributed by the Vidalia Project at 00006 ** http://www.vidalia-project.net/. No part of Vidalia, including this file, 00007 ** may be copied, modified, propagated, or distributed except according to the 00008 ** terms described in the LICENSE file. 00009 */ 00010 00011 /* 00012 ** \file RouterInfoDialog.h 00013 ** \version $Id: RouterInfoDialog.h 3735 2009-04-28 20:28:01Z edmanm $ 00014 ** \brief Displays detailed information about a particular router 00015 */ 00016 00017 00018 #ifndef _ROUTERINFODIALOG_H 00019 #define _ROUTERINFODIALOG_H 00020 00021 #include "ui_RouterInfoDialog.h" 00022 00023 #include "RouterStatus.h" 00024 #include "RouterDescriptor.h" 00025 00026 #include <QDialog> 00027 00028 00029 class RouterInfoDialog : public QDialog 00030 { 00031 Q_OBJECT 00032 00033 public: 00034 /** Default constructor. 00035 */ 00036 RouterInfoDialog(QWidget *parent = 0); 00037 00038 /** Populates the dialog's UI with information parsed from the router 00039 * descriptor <b>desc</b> and the router status information in 00040 * <b>status</b>. 00041 */ 00042 void setRouterInfo(const QStringList &desc, const RouterStatus &status); 00043 00044 /** Sets the geographic location information displayed in the dialog to 00045 * <b>location</b>. 00046 */ 00047 void setLocation(const QString &location); 00048 00049 private: 00050 /** Adjusts <b>uptime</b> to be the greater of either <b>published</b> or 00051 * <b>uptime</b> plus the number of seconds elapsed since <b>published</b>. 00052 */ 00053 quint64 adjustUptime(quint64 uptime, const QDateTime &published); 00054 00055 Ui::RouterInfoDialog ui; 00056 }; 00057 00058 #endif 00059