20 #include <QHeaderView>
23 #define IMG_ZOOM ":/images/22x22/page-zoom.png"
24 #define IMG_COPY ":/images/22x22/edit-copy.png"
31 setHeaderLabels(QStringList() << QString(
"")
39 connect(
this, SIGNAL(itemSelectionChanged()),
47 setHeaderLabels(QStringList() << QString(
"")
59 QMenu *menu, *copyMenu;
60 QList<QTreeWidgetItem *> selected;
62 selected = selectedItems();
63 if (! selected.size())
67 copyMenu = menu->addMenu(QIcon(
IMG_COPY), tr(
"Copy"));
68 action = copyMenu->addAction(tr(
"Nickname"));
71 action = copyMenu->addAction(tr(
"Fingerprint"));
74 action = menu->addAction(QIcon(
IMG_ZOOM), tr(
"Zoom to Relay"));
75 if (selected.size() > 1)
76 action->setEnabled(
false);
80 menu->exec(event->globalPos());
92 foreach (QTreeWidgetItem *item, selectedItems()) {
95 text.append(relay->
name() +
",");
98 text.remove(text.length()-1, 1);
99 vApp->clipboard()->setText(text);
111 foreach (QTreeWidgetItem *item, selectedItems()) {
114 text.append(
"$" + relay->
id() +
",");
117 text.remove(text.length()-1, 1);
118 vApp->clipboard()->setText(text);
127 QList<QTreeWidgetItem *> selected = selectedItems();
128 if (selected.size() != 1)
140 QList<QTreeWidgetItem *> selected = selectedItems();
141 foreach (QTreeWidgetItem *item, selected) {
142 setItemSelected(item,
false);
151 QTreeWidget::clear();
152 setStatusTip(tr(
"%1 relays online").arg(0));
162 QString key =
event->text();
163 if (!key.isEmpty() && key.at(0).isLetterOrNumber()) {
165 QList<QTreeWidgetItem *> list = findItems(QString(
"^[%1%2].*$")
168 Qt::MatchRegExp|Qt::MatchWrap,
170 if (list.size() > 0) {
171 QList<QTreeWidgetItem *> s = selectedItems();
178 index = (!s.size() ? 0 : (list.indexOf(s.at(0)) + 1) % list.size());
181 setItemSelected(list.at(index),
true);
182 scrollToItem(list.at(index));
187 QTreeWidget::keyPressEvent(event);
196 if (
_idmap.contains(
id)) {
206 QString
id = rd.
id();
215 addTopLevelItem(item);
220 setStatusTip(tr(
"%1 relays online").arg(topLevelItemCount()));
231 QList<RouterDescriptor> descriptors;
233 foreach (QTreeWidgetItem *item, selectedItems()) {
238 if (descriptors.count() > 0)