[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[vidalia-svn] r2405: Some Bugfixing: - icons for buttons - putting service direct (vidalia/branches/hidden-services/src/vidalia/config)
Author: borkdomenik
Date: 2008-03-13 18:38:34 -0400 (Thu, 13 Mar 2008)
New Revision: 2405
Modified:
vidalia/branches/hidden-services/src/vidalia/config/service.cpp
vidalia/branches/hidden-services/src/vidalia/config/servicepage.cpp
vidalia/branches/hidden-services/src/vidalia/config/servicepage.h
vidalia/branches/hidden-services/src/vidalia/config/servicepage.ui
vidalia/branches/hidden-services/src/vidalia/config/servicesettings.cpp
Log:
Some Bugfixing:
- icons for buttons
- putting service directory path into the service listing
- removed the complete hidden service directory groupbox
- bugfixing serialization service entity
- added label above servie listing
- added tooltips for each button
- service address column ist not any longer editable
- some more small changes
Modified: vidalia/branches/hidden-services/src/vidalia/config/service.cpp
===================================================================
--- vidalia/branches/hidden-services/src/vidalia/config/service.cpp 2008-03-13 04:49:47 UTC (rev 2404)
+++ vidalia/branches/hidden-services/src/vidalia/config/service.cpp 2008-03-13 22:38:34 UTC (rev 2405)
@@ -63,11 +63,8 @@
out << myObj.virtualPort();
out << myObj.physicalAddressPort();
out << myObj.serviceDirectory();
- if(myObj.enabled()) {
- out << "True";
- } else {
- out << "False";
- }
+ out << myObj.enabled();
+
return out;
}
@@ -78,21 +75,17 @@
QString virtualPort;
QString physicalAddressPort;
QString serviceDirectory;
- QString enabledS;
+ bool enabled;
/* Read in from the data stream */
- in >> serviceAddress >> virtualPort >> physicalAddressPort >> serviceDirectory >> enabledS;
+ in >> serviceAddress >> virtualPort >> physicalAddressPort >> serviceDirectory >> enabled;
/* Set the appropriate class member variables */
myObj.setServiceAddress(serviceAddress);
myObj.setVirtualPort(virtualPort);
myObj.setPhysicalAddressPort(physicalAddressPort);
myObj.setServiceDirectory(serviceDirectory);
- if(enabledS.compare("True") == 0) {
- myObj.setEnabled(true);
- } else {
- myObj.setEnabled(false);
- }
+ myObj.setEnabled(enabled);
/* Return the updated data stream */
return in;
Modified: vidalia/branches/hidden-services/src/vidalia/config/servicepage.cpp
===================================================================
--- vidalia/branches/hidden-services/src/vidalia/config/servicepage.cpp 2008-03-13 04:49:47 UTC (rev 2404)
+++ vidalia/branches/hidden-services/src/vidalia/config/servicepage.cpp 2008-03-13 22:38:34 UTC (rev 2405)
@@ -45,15 +45,16 @@
ui.serviceWidget->horizontalHeader()->setResizeMode(1,QHeaderView::Custom);
ui.serviceWidget->horizontalHeader()->setResizeMode(2,QHeaderView::Custom);
ui.serviceWidget->horizontalHeader()->setResizeMode(3,QHeaderView::Custom);
+ ui.serviceWidget->horizontalHeader()->setResizeMode(4,QHeaderView::Custom);
ui.serviceWidget->horizontalHeader()->resizeSection(1, 100);
ui.serviceWidget->horizontalHeader()->resizeSection(2, 125);
- ui.serviceWidget->horizontalHeader()->resizeSection(3, 60);
+ ui.serviceWidget->horizontalHeader()->resizeSection(3, 155);
+ ui.serviceWidget->horizontalHeader()->resizeSection(4, 60);
connect(ui.addButton, SIGNAL(clicked()), this, SLOT(addService()));
connect(ui.removeButton, SIGNAL(clicked()), this, SLOT(removeService()));
connect(ui.copyButton, SIGNAL(clicked()), this, SLOT(copyToClipboard()));
connect(ui.browseButton, SIGNAL(clicked()), this, SLOT(browseDirectory()));
- connect(ui.hiddenServiceDirLineEdit, SIGNAL(editingFinished()), this, SLOT(storeServiceDir()));
connect(ui.serviceWidget, SIGNAL(itemClicked(QTableWidgetItem*)), this, SLOT(serviceSelectionChanged()));
}
@@ -75,7 +76,7 @@
QString address = ui.serviceWidget->item(index,0)->text();
QString virtualPort = ui.serviceWidget->item(index,1)->text();
QString physicalAddress = ui.serviceWidget->item(index,2)->text();
- QString directoryPath = _services->value(index).serviceDirectory();
+ QString directoryPath = ui.serviceWidget->item(index,3)->text();
bool enabled = _services->value(index).enabled();
Service temp(address, virtualPort, physicalAddress, directoryPath, enabled);
serviceList.push_back(temp);
@@ -96,8 +97,7 @@
}
_serviceSettings->setServices(sList);
if(publishedServices.size() > 0) {
- startServicesInTor(publishedServices);
- //VMessageBox::warning(this, tr("Tor Services:"), QString::number(publishedServices.size()), VMessageBox::Ok);
+ startServicesInTor(publishedServices);
}
return true;
} else {
@@ -152,14 +152,18 @@
void
ServicePage::load()
{
+ // disable the buttons whil no service is selected
+ ui.removeButton->setEnabled(false);
+ ui.copyButton->setEnabled(false);
+ ui.browseButton->setEnabled(false);
+ // get all services
_services = new QMap<int, Service>();
QList<Service> _torServices;
-
+ // all service from tor
QString conf = _serviceSettings->getHiddenServiceDirectories();
_torServices = extractSingleServices(conf);
QList<Service> completeList = _torServices;
- //VMessageBox::warning(this, tr("Tor Services:"), QString::number(completeList.size()), VMessageBox::Ok);
-
+ // the services stored with vidalia
ServiceList serviceList = _serviceSettings->getServices();
QList<Service> serviceSettingsList = serviceList.services();
QListIterator<Service> it(serviceSettingsList);
@@ -187,17 +191,6 @@
ServicePage::extractSingleServices(QString conf)
{
QList<Service> list;
-
-// QString teststr = "some kind of data\n and another kind of\n";
-// teststr.append("hiddenservicedir /home/jars/workspace/testingtor/1/\n");
-// teststr.append("hiddenserviceport 9053\n");
-// teststr.append("hiddenservicenodes someNodeName\n");
-// teststr.append("hiddenserviceexcludenodes anotherNode\n");
-// teststr.append("hiddenservicedir /home/jars/workspace/testingtor/2/\n");
-// teststr.append("hiddenserviceport 9054\n");
-// teststr.append("hiddenservicedir /home/jars/workspace/testingtor/3/\n");
-// teststr.append("hiddenserviceport 9055 127.0.0.1:9056");
-
QStringList strList = conf.split("hiddenservicedir");
strList.removeFirst();
QListIterator<QString> it(strList);
@@ -282,6 +275,7 @@
QTableWidgetItem *cboxitem = new QTableWidgetItem();
cboxitem->setFlags(Qt::ItemIsSelectable);
QTableWidgetItem *addressitem = new QTableWidgetItem();
+ addressitem->setFlags(Qt::ItemIsSelectable);
if(tempService.enabled()) {
cboxitem->setCheckState(Qt::Checked);
addressitem->setText(tempService.serviceAddress());
@@ -293,7 +287,8 @@
ui.serviceWidget->setItem(index, 0, addressitem);
ui.serviceWidget->setItem(index, 1, new QTableWidgetItem(tempService.virtualPort(),0));
ui.serviceWidget->setItem(index, 2, new QTableWidgetItem(tempService.physicalAddressPort(),0));
- ui.serviceWidget->setItem(index, 3, cboxitem);
+ ui.serviceWidget->setItem(index, 3, new QTableWidgetItem(tempService.serviceDirectory(),0));
+ ui.serviceWidget->setItem(index, 4, cboxitem);
index++;
}
}
@@ -303,21 +298,24 @@
void
ServicePage::addService()
{
- ui.hiddenServiceDirLineEdit->setText("");
int rows = ui.serviceWidget->rowCount();
ui.serviceWidget->insertRow(rows);
QTableWidgetItem *address = new QTableWidgetItem("[Created by Tor]");
+ address->setFlags(Qt::ItemIsSelectable);
QTableWidgetItem *dummy = new QTableWidgetItem();
QTableWidgetItem *dummy2 = new QTableWidgetItem();
+ QTableWidgetItem *dummy3 = new QTableWidgetItem();
QTableWidgetItem *cboxitem = new QTableWidgetItem();
cboxitem->setFlags(Qt::ItemIsSelectable);
- cboxitem->setCheckState(Qt::Unchecked);
+ cboxitem->setCheckState(Qt::Checked);
cboxitem->setTextAlignment(Qt::AlignCenter);
ui.serviceWidget->setItem(rows, 0, address);
ui.serviceWidget->setItem(rows, 1, dummy);
ui.serviceWidget->setItem(rows, 2, dummy2);
- ui.serviceWidget->setItem(rows, 3, cboxitem);
+ ui.serviceWidget->setItem(rows, 3, dummy3);
+ ui.serviceWidget->setItem(rows, 4, cboxitem);
Service s;
+ s.setEnabled(true);
_services->insert(rows, s);
}
@@ -327,11 +325,11 @@
ServicePage::removeService()
{
int rows = ui.serviceWidget->rowCount();
- if(rows < 1) {
+ int selrow = ui.serviceWidget->currentRow();
+ if(selrow < 0 || selrow >= _services->size()) {
VMessageBox::warning(this, tr("Error"), tr("Please select a Service."), VMessageBox::Ok);
return;
} else {
- int selrow = ui.serviceWidget->currentRow();
ui.serviceWidget->removeRow(selrow);
//decrease all other service keys
for(int i = 0; i < (rows-selrow-1); i++) {
@@ -348,20 +346,17 @@
void
ServicePage::copyToClipboard()
{
- int rows = ui.serviceWidget->rowCount();
- if(rows < 1) {
+ int selrow = ui.serviceWidget->currentRow();
+ if(selrow < 0 || selrow >= _services->size()) {
VMessageBox::warning(this, tr("Error"), tr("Please select a Service."), VMessageBox::Ok);
return;
} else {
- int selrow = ui.serviceWidget->currentRow();
- if (selrow >= 0) {
- QClipboard *clipboard = QApplication::clipboard();
- QString clipboardText;
- QTableWidgetItem* selectedItem = ui.serviceWidget->item(selrow,0);
- clipboardText.append(selectedItem->text());
- clipboard->setText(clipboardText);
- }
- }
+ QClipboard *clipboard = QApplication::clipboard();
+ QString clipboardText;
+ QTableWidgetItem* selectedItem = ui.serviceWidget->item(selrow,0);
+ clipboardText.append(selectedItem->text());
+ clipboard->setText(clipboardText);
+ }
}
/** this method is called when the user clicks on the "Brows"-Button it opens
@@ -369,57 +364,43 @@
void
ServicePage::browseDirectory()
{
- int rows = ui.serviceWidget->rowCount();
- if(rows < 1) {
+ int selrow = ui.serviceWidget->rowCount();
+ if(selrow < 0 || selrow >= _services->size()) {
VMessageBox::warning(this, tr("Error"), tr("Please select a Service."), VMessageBox::Ok);
return;
} else {
- int selrow = ui.serviceWidget->currentRow();
- if (selrow >= 0) {
- QString dirname = QFileDialog::getExistingDirectory(this, tr("Select Service Directory"),
+ QString dirname = QFileDialog::getExistingDirectory(this, tr("Select Service Directory"),
"", QFileDialog::ShowDirsOnly|QFileDialog::DontResolveSymlinks);
- if (dirname.isEmpty()) {
- return;
- }
- ui.hiddenServiceDirLineEdit->setText(dirname);
- Service s = _services->take(selrow);
- s.setServiceDirectory(dirname);
- _services->insert(selrow, s);
+ if (dirname.isEmpty()) {
+ return;
}
+ ui.serviceWidget->item(selrow,3)->setText(dirname);
+ Service s = _services->take(selrow);
+ s.setServiceDirectory(dirname);
+ _services->insert(selrow, s);
}
}
-/** this method is called when the user finished editing the service driectory line edit*/
-void
-ServicePage::storeServiceDir()
-{
- QString dir = ui.hiddenServiceDirLineEdit->text();
- int row = ui.serviceWidget->currentRow();
- if(row >= 0 && dir.isEmpty() == false) {
- if(_services->contains(row)) {
- Service s = _services->take(row);
- s.setServiceDirectory(dir);
- _services->insert(row, s);
- ui.hiddenServiceDirLineEdit->setText(dir);
- }
- }
-}
-
/** this method is called when the user selection of the service listing changed */
void
ServicePage::serviceSelectionChanged()
{
- int currentRow = ui.serviceWidget->currentRow();
- if(_services->contains(currentRow)) {
- ui.hiddenServiceDirLineEdit->setText(_services->value(currentRow).serviceDirectory());
+ // enable the buttons because now a service is selected if there is at least one left
+ if(ui.serviceWidget->rowCount() > 0) {
+ ui.removeButton->setEnabled(true);
+ ui.copyButton->setEnabled(true);
+ ui.browseButton->setEnabled(true);
} else {
- ui.hiddenServiceDirLineEdit->setText("");
+ ui.removeButton->setEnabled(false);
+ ui.copyButton->setEnabled(false);
+ ui.browseButton->setEnabled(false);
}
// if the user has clicked on the checkbox cell
- if(ui.serviceWidget->currentColumn() == 3) {
+ int currentRow = ui.serviceWidget->currentRow();
+ if(ui.serviceWidget->currentColumn() == 4) {
Service service = _services->take(currentRow);
- QTableWidgetItem* item = ui.serviceWidget->item(currentRow,3);
+ QTableWidgetItem* item = ui.serviceWidget->item(currentRow,4);
if(service.enabled()) {
item->setCheckState(Qt::Unchecked);
service.setEnabled(false);
Modified: vidalia/branches/hidden-services/src/vidalia/config/servicepage.h
===================================================================
--- vidalia/branches/hidden-services/src/vidalia/config/servicepage.h 2008-03-13 04:49:47 UTC (rev 2404)
+++ vidalia/branches/hidden-services/src/vidalia/config/servicepage.h 2008-03-13 22:38:34 UTC (rev 2405)
@@ -46,8 +46,6 @@
void browseDirectory();
- void storeServiceDir();
-
void serviceSelectionChanged();
QList<Service> extractSingleServices(QString conf);
Modified: vidalia/branches/hidden-services/src/vidalia/config/servicepage.ui
===================================================================
--- vidalia/branches/hidden-services/src/vidalia/config/servicepage.ui 2008-03-13 04:49:47 UTC (rev 2404)
+++ vidalia/branches/hidden-services/src/vidalia/config/servicepage.ui 2008-03-13 22:38:34 UTC (rev 2405)
@@ -5,7 +5,7 @@
<rect>
<x>0</x>
<y>0</y>
- <width>652</width>
+ <width>727</width>
<height>581</height>
</rect>
</property>
@@ -18,13 +18,13 @@
<property name="windowTitle" >
<string>Form</string>
</property>
- <widget class="QGroupBox" name="groupBox_2" >
+ <widget class="QGroupBox" name="groupBox" >
<property name="geometry" >
<rect>
<x>10</x>
- <y>280</y>
- <width>631</width>
- <height>101</height>
+ <y>20</y>
+ <width>701</width>
+ <height>281</height>
</rect>
</property>
<property name="sizePolicy" >
@@ -36,18 +36,31 @@
</sizepolicy>
</property>
<property name="title" >
- <string>Service Directory</string>
+ <string>Service Listing</string>
</property>
- <widget class="QWidget" name="" >
+ <widget class="QLabel" name="serviceListingDescription" >
<property name="geometry" >
<rect>
- <x>20</x>
- <y>40</y>
- <width>591</width>
- <height>29</height>
+ <x>10</x>
+ <y>30</y>
+ <width>511</width>
+ <height>17</height>
</rect>
</property>
- <layout class="QHBoxLayout" >
+ <property name="text" >
+ <string>Configure hidden services to be provided by this Tor client or relay.</string>
+ </property>
+ </widget>
+ <widget class="QWidget" name="layoutWidget_2" >
+ <property name="geometry" >
+ <rect>
+ <x>660</x>
+ <y>70</y>
+ <width>28</width>
+ <height>201</height>
+ </rect>
+ </property>
+ <layout class="QVBoxLayout" >
<property name="margin" >
<number>0</number>
</property>
@@ -55,51 +68,86 @@
<number>6</number>
</property>
<item>
- <widget class="QLabel" name="label" >
+ <widget class="QToolButton" name="addButton" >
+ <property name="toolTip" >
+ <string>Add a new empty service to the list</string>
+ </property>
<property name="text" >
- <string>Service Directory Path</string>
+ <string/>
</property>
+ <property name="icon" >
+ <iconset resource="../res/vidalia_common.qrc" >:/images/22x22/list-add.png</iconset>
+ </property>
</widget>
</item>
<item>
- <widget class="QLineEdit" name="hiddenServiceDirLineEdit" />
+ <widget class="QToolButton" name="removeButton" >
+ <property name="toolTip" >
+ <string>Remove the selected service from the list</string>
+ </property>
+ <property name="text" >
+ <string/>
+ </property>
+ <property name="icon" >
+ <iconset resource="../res/vidalia_common.qrc" >:/images/22x22/list-remove.png</iconset>
+ </property>
+ </widget>
</item>
<item>
+ <widget class="QToolButton" name="copyButton" >
+ <property name="toolTip" >
+ <string>Copy the onion address of the selected service to the clipboard</string>
+ </property>
+ <property name="text" >
+ <string/>
+ </property>
+ <property name="icon" >
+ <iconset resource="../res/vidalia_common.qrc" >:/images/22x22/edit-copy.png</iconset>
+ </property>
+ </widget>
+ </item>
+ <item>
<widget class="QPushButton" name="browseButton" >
+ <property name="sizePolicy" >
+ <sizepolicy>
+ <hsizetype>0</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="toolTip" >
+ <string>Browse in your local file system and select a directory for the service</string>
+ </property>
<property name="text" >
- <string>Browse</string>
+ <string/>
</property>
+ <property name="icon" >
+ <iconset resource="../res/vidalia_common.qrc" >:/images/22x22/system-search.png</iconset>
+ </property>
</widget>
</item>
+ <item>
+ <spacer>
+ <property name="orientation" >
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" >
+ <size>
+ <width>20</width>
+ <height>40</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
</layout>
</widget>
- </widget>
- <widget class="QGroupBox" name="groupBox" >
- <property name="geometry" >
- <rect>
- <x>10</x>
- <y>40</y>
- <width>631</width>
- <height>231</height>
- </rect>
- </property>
- <property name="sizePolicy" >
- <sizepolicy>
- <hsizetype>0</hsizetype>
- <vsizetype>0</vsizetype>
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="title" >
- <string>Service Listing</string>
- </property>
<widget class="QTableWidget" name="serviceWidget" >
<property name="geometry" >
<rect>
- <x>11</x>
- <y>21</y>
- <width>511</width>
+ <x>10</x>
+ <y>70</y>
+ <width>631</width>
<height>199</height>
</rect>
</property>
@@ -134,49 +182,15 @@
</column>
<column>
<property name="text" >
+ <string>Service Directory</string>
+ </property>
+ </column>
+ <column>
+ <property name="text" >
<string>Enabled</string>
</property>
</column>
</widget>
- <widget class="QWidget" name="" >
- <property name="geometry" >
- <rect>
- <x>539</x>
- <y>21</y>
- <width>81</width>
- <height>131</height>
- </rect>
- </property>
- <layout class="QVBoxLayout" >
- <property name="margin" >
- <number>0</number>
- </property>
- <property name="spacing" >
- <number>6</number>
- </property>
- <item>
- <widget class="QPushButton" name="addButton" >
- <property name="text" >
- <string>Add</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="removeButton" >
- <property name="text" >
- <string>Remove</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="copyButton" >
- <property name="text" >
- <string>Copy</string>
- </property>
- </widget>
- </item>
- </layout>
- </widget>
</widget>
</widget>
<resources/>
Modified: vidalia/branches/hidden-services/src/vidalia/config/servicesettings.cpp
===================================================================
--- vidalia/branches/hidden-services/src/vidalia/config/servicesettings.cpp 2008-03-13 04:49:47 UTC (rev 2404)
+++ vidalia/branches/hidden-services/src/vidalia/config/servicesettings.cpp 2008-03-13 22:38:34 UTC (rev 2405)
@@ -95,22 +95,13 @@
bool
ServiceSettings::isEnabled()
{
- QString boolean = value(SETTING_SERVICE_ADDRESS).toString();
- if(boolean=="True") {
- return true;
- } else {
- return false;
- }
+ return value(SETTING_SERVICE_ENABLED).toBool();
}
void
ServiceSettings::setEnabled(bool boolean)
{
- if(boolean) {
- setValue(SETTING_SERVICE_ENABLED, "True");
- } else {
- setValue(SETTING_SERVICE_ENABLED, "False");
- }
+ setValue(SETTING_SERVICE_ENABLED, boolean);
}