Classified ads
ui_aboutDialog.h
Go to the documentation of this file.
1 /********************************************************************************
2 ** Form generated from reading UI file 'aboutDialog.ui'
3 **
4 ** Created by: Qt User Interface Compiler version 5.9.1
5 **
6 ** WARNING! All changes made in this file will be lost when recompiling UI file!
7 ********************************************************************************/
8 
9 #ifndef UI_ABOUTDIALOG_H
10 #define UI_ABOUTDIALOG_H
11 
12 #include <QtCore/QVariant>
13 #include <QtWidgets/QAction>
14 #include <QtWidgets/QApplication>
15 #include <QtWidgets/QButtonGroup>
16 #include <QtWidgets/QDialog>
17 #include <QtWidgets/QDialogButtonBox>
18 #include <QtWidgets/QGridLayout>
19 #include <QtWidgets/QHBoxLayout>
20 #include <QtWidgets/QHeaderView>
21 #include <QtWidgets/QLabel>
22 #include <QtWidgets/QPushButton>
23 #include <QtWidgets/QScrollArea>
24 #include <QtWidgets/QVBoxLayout>
25 #include <QtWidgets/QWidget>
26 
27 QT_BEGIN_NAMESPACE
28 
30 {
31 public:
32  QGridLayout *gridLayout;
33  QVBoxLayout *verticalLayout;
34  QHBoxLayout *addrLayout;
35  QScrollArea *aboutBoxScroll;
37  QWidget *layoutWidget;
38  QVBoxLayout *verticalLayout_2;
39  QLabel *titleLabel;
40  QPushButton *turtleButton;
41  QLabel *aboutTextLabel;
42  QDialogButtonBox *closeButtonBox;
43 
44  void setupUi(QDialog *aboutDialog)
45  {
46  if (aboutDialog->objectName().isEmpty())
47  aboutDialog->setObjectName(QStringLiteral("aboutDialog"));
48  aboutDialog->resize(601, 653);
49  QSizePolicy sizePolicy(QSizePolicy::Maximum, QSizePolicy::MinimumExpanding);
50  sizePolicy.setHorizontalStretch(0);
51  sizePolicy.setVerticalStretch(0);
52  sizePolicy.setHeightForWidth(aboutDialog->sizePolicy().hasHeightForWidth());
53  aboutDialog->setSizePolicy(sizePolicy);
54  aboutDialog->setMinimumSize(QSize(0, 0));
55  aboutDialog->setSizeGripEnabled(true);
56  gridLayout = new QGridLayout(aboutDialog);
57  gridLayout->setObjectName(QStringLiteral("gridLayout"));
58  verticalLayout = new QVBoxLayout();
59  verticalLayout->setObjectName(QStringLiteral("verticalLayout"));
60  verticalLayout->setSizeConstraint(QLayout::SetDefaultConstraint);
61  verticalLayout->setContentsMargins(-1, -1, -1, 0);
62  addrLayout = new QHBoxLayout();
63  addrLayout->setObjectName(QStringLiteral("addrLayout"));
64  addrLayout->setContentsMargins(-1, 0, -1, -1);
65  aboutBoxScroll = new QScrollArea(aboutDialog);
66  aboutBoxScroll->setObjectName(QStringLiteral("aboutBoxScroll"));
67  aboutBoxScroll->setFrameShadow(QFrame::Plain);
68  aboutBoxScroll->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn);
69  aboutBoxScroll->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
70  aboutBoxScroll->setWidgetResizable(false);
71  scrollAreaWidgetContents = new QWidget();
72  scrollAreaWidgetContents->setObjectName(QStringLiteral("scrollAreaWidgetContents"));
73  scrollAreaWidgetContents->setGeometry(QRect(0, 0, 566, 2500));
74  QSizePolicy sizePolicy1(QSizePolicy::MinimumExpanding, QSizePolicy::Expanding);
75  sizePolicy1.setHorizontalStretch(0);
76  sizePolicy1.setVerticalStretch(0);
77  sizePolicy1.setHeightForWidth(scrollAreaWidgetContents->sizePolicy().hasHeightForWidth());
78  scrollAreaWidgetContents->setSizePolicy(sizePolicy1);
79  scrollAreaWidgetContents->setAutoFillBackground(true);
80  layoutWidget = new QWidget(scrollAreaWidgetContents);
81  layoutWidget->setObjectName(QStringLiteral("layoutWidget"));
82  layoutWidget->setGeometry(QRect(2, -2, 811, 2671));
83  verticalLayout_2 = new QVBoxLayout(layoutWidget);
84  verticalLayout_2->setSpacing(2);
85  verticalLayout_2->setObjectName(QStringLiteral("verticalLayout_2"));
86  verticalLayout_2->setContentsMargins(0, 0, 0, 0);
87  titleLabel = new QLabel(layoutWidget);
88  titleLabel->setObjectName(QStringLiteral("titleLabel"));
89  QFont font;
90  font.setPointSize(12);
91  font.setBold(true);
92  font.setWeight(75);
93  titleLabel->setFont(font);
94  titleLabel->setTextFormat(Qt::RichText);
95  titleLabel->setAlignment(Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter);
96  titleLabel->setWordWrap(true);
97 
98  verticalLayout_2->addWidget(titleLabel);
99 
100  turtleButton = new QPushButton(layoutWidget);
101  turtleButton->setObjectName(QStringLiteral("turtleButton"));
102  turtleButton->setEnabled(true);
103  turtleButton->setMinimumSize(QSize(558, 443));
104  turtleButton->setMaximumSize(QSize(558, 443));
105  QIcon icon;
106  icon.addFile(QStringLiteral(":/ui/ui/turt558.png"), QSize(), QIcon::Normal, QIcon::Off);
107  turtleButton->setIcon(icon);
108  turtleButton->setIconSize(QSize(558, 443));
109  turtleButton->setFlat(true);
110 
111  verticalLayout_2->addWidget(turtleButton);
112 
113  aboutTextLabel = new QLabel(layoutWidget);
114  aboutTextLabel->setObjectName(QStringLiteral("aboutTextLabel"));
115  aboutTextLabel->setMinimumSize(QSize(550, 2200));
116  aboutTextLabel->setMaximumSize(QSize(550, 2200));
117  aboutTextLabel->setTextFormat(Qt::RichText);
118  aboutTextLabel->setAlignment(Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop);
119  aboutTextLabel->setWordWrap(true);
120  aboutTextLabel->setOpenExternalLinks(true);
121 
122  verticalLayout_2->addWidget(aboutTextLabel);
123 
124  aboutBoxScroll->setWidget(scrollAreaWidgetContents);
125 
126  addrLayout->addWidget(aboutBoxScroll);
127 
128 
129  verticalLayout->addLayout(addrLayout);
130 
131 
132  gridLayout->addLayout(verticalLayout, 0, 0, 1, 1);
133 
134  closeButtonBox = new QDialogButtonBox(aboutDialog);
135  closeButtonBox->setObjectName(QStringLiteral("closeButtonBox"));
136  closeButtonBox->setStandardButtons(QDialogButtonBox::Close);
137 
138  gridLayout->addWidget(closeButtonBox, 1, 0, 1, 1);
139 
140 
141  retranslateUi(aboutDialog);
142  QObject::connect(closeButtonBox, SIGNAL(rejected()), aboutDialog, SLOT(deleteLater()));
143 
144  QMetaObject::connectSlotsByName(aboutDialog);
145  } // setupUi
146 
147  void retranslateUi(QDialog *aboutDialog)
148  {
149  aboutDialog->setWindowTitle(QApplication::translate("aboutDialog", "About classified ads", Q_NULLPTR));
150  titleLabel->setText(QApplication::translate("aboutDialog", " Classified ads is a program for online communications", Q_NULLPTR));
151  turtleButton->setText(QString());
152  aboutTextLabel->setText(QApplication::translate("aboutDialog", "<html><head/><body><p>Classified ads is free software. You may use, copy and modify it if you follow the conditions given in GNU lesser general public license version 2.1.</p><p>Classified ads is copyright \302\251 Antti J\303\244rvinen 2013. </p><p>Main feature of the program is an &quot;advertisement&quot; - a piece of text belonging to selected classification. There are several pre-programmed classifications and operators are encouraged to invent new classifications for new purposes ; the selection boxes in classification-selection tab are editable. Other operators may then view the ads, publicly comment the ads, the operators and also send private messages to each others. </p><p>Another important feature of classified ads is that it is designed to be operated without any centralized server infrastructure - it is you and other operators whose computers store and transmit all the content visible inside classified ads. To get connected you need to know address of at least one existing computer (a <span style="
153  "\" font-style:italic;\">node</span>) so if your network connection dialog shows no connections, you may need to contact someone you know is using the software and ask for address of her node to make initial contact with the network. Once connected the software should maintain list of addresses of other nodes. </p><p>Due to its server-less design the whole system works best if you leave the program running always when you have your computer powered on ; while processing other operators requests it will hog some computing resources and generate network traffic also when you are not actively using the program yourself - others are. </p><p>Operators concerned about privacy of the content should be aware of following items:</p><p>- Data storage implementation is variant of <span style=\" font-style:italic;\">distributed hash table</span>, practically meaning that content posted by you gets copied some more-or-less random nodes in the network. </p><p>- Any data item (ad, comment, binary file, private message etc.) i"
154  "s digitally signed. This makes it more difficult to try to pose as another operator. </p><p>- Operators are reliably identified only by the SHA1 hash of their generated encryption keys. SHA1 hash is displayed when viewing details of operator profiles. Other identifying information like nickname or city name are entered by operator himself and can be anything. The operator profile, as it is published to the network, is also signed with the encryption keys of the operator - if you identify an operator by her SHA1 hash, you have a mechanism for identifying if any content inside classified ads is posted by this operator or not. Classified ads internally checks for digital signatures, throwing away content that fails signature check and tries to provide SHA1 hash of the operator who posted the content.</p><p>- All classified ads are posted as plain text, no encryption is used. All public profiles are posted as plain text, no encryption is used. If profile is made private, it is encrypted to be readable only by sele"
155  "cted other profiles. This applies also to binary files shared by operators private profiles and comments about private profiles after the profile was made private (previously plain-text comments or files don't get magically encrypted afterwards). Private messages are encrypted always to be readable only by recipient and sender. Attachments follow the privacy rules of the document, they're attached to. </p><p>- As is the case with all internet-communications, this small fact is true for classified ads too : <span style=\" font-style:italic;\">once something gets posted online, there is no way to remove it from network</span>. </p><p>- Data encryption implementation for content is OpenSSL, relying mostly on algorithms RSA-2048 and AES-256. </p><p>- While connections between nodes are implemented using SSL, other nodes inside network do get to know what content is being transmitted in neighboring nodes. While there is no central point for easily collecting this information about particular classification or opera"
156  "tor, operators still should expect no privacy regarding their doings online, although some effort has been been put into hiding <span style=\" font-style:italic;\">contents</span> of private messages and private profiles. </p><p>Programming was (mostly) done by Antti J\303\244rvinen, artwork by Meeri J\303\244rvinen.</p><p>This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit (http://www.openssl.org/).</p><p>Happy advertising!</p><p><br/></p></body></html>", Q_NULLPTR));
157  } // retranslateUi
158 
159 };
160 
161 namespace Ui {
162  class aboutDialog: public Ui_aboutDialog {};
163 } // namespace Ui
164 
165 QT_END_NAMESPACE
166 
167 #endif // UI_ABOUTDIALOG_H
QWidget * layoutWidget
Definition: ui_aboutDialog.h:37
QHBoxLayout * addrLayout
Definition: ui_aboutDialog.h:34
QLabel * aboutTextLabel
Definition: ui_aboutDialog.h:41
QScrollArea * aboutBoxScroll
Definition: ui_aboutDialog.h:35
Definition: ui_aboutDialog.h:161
QWidget * scrollAreaWidgetContents
Definition: ui_aboutDialog.h:36
void retranslateUi(QDialog *aboutDialog)
Definition: ui_aboutDialog.h:147
QVBoxLayout * verticalLayout_2
Definition: ui_aboutDialog.h:38
QGridLayout * gridLayout
Definition: ui_aboutDialog.h:32
QVBoxLayout * verticalLayout
Definition: ui_aboutDialog.h:33
QLabel * titleLabel
Definition: ui_aboutDialog.h:39
Definition: ui_aboutDialog.h:29
Definition: ui_aboutDialog.h:162
QPushButton * turtleButton
Definition: ui_aboutDialog.h:40
QDialogButtonBox * closeButtonBox
Definition: ui_aboutDialog.h:42
void setupUi(QDialog *aboutDialog)
Definition: ui_aboutDialog.h:44