Qt client accessibility improvements (part 1) (#6518)

* Details dialog Information tab a11y improvements

* Details dialog Options tab a11y improvements

* Make torrent dialog a11y improvements

* Relocate torrent data dialog a11y improvements

* Statistics dialog a11y improvements

* Session dialog a11y improvements

* Trackers dialog a11y improvements

* Preferences dialog Speed tab a11y improvements

* Preferences dialog Downloading tab a11y improvements

* Preferences dialog Seeding tab a11y improvements

* Preferences dialog Privacy tab a11y improvements

* Preferences dialog Network tab a11y improvements

* Preferences dialog Desktop tab a11y improvements

* Preferences dialog Remote tab a11y improvements

* Fix filterbar tab order (depends on construction order if not explicit)
This commit is contained in:
Mike Gelfand 2024-01-10 21:01:03 +00:00 committed by GitHub
parent 33f11f8679
commit 852fa6d169
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
10 changed files with 2121 additions and 2343 deletions

View File

@ -262,7 +262,7 @@ DetailsDialog::DetailsDialog(Session& session, Prefs& prefs, TorrentModel const&
initOptionsTab(); initOptionsTab();
adjustSize(); adjustSize();
ui_.commentBrowser->setMaximumHeight(QWIDGETSIZE_MAX); ui_.commentTextEdit->setMaximumHeight(QWIDGETSIZE_MAX);
ui_.tabs->setCurrentIndex(prev_tab_index_); ui_.tabs->setCurrentIndex(prev_tab_index_);
static std::array<int, 2> constexpr InitKeys = { static std::array<int, 2> constexpr InitKeys = {
@ -900,7 +900,7 @@ void DetailsDialog::refreshUI()
if (torrents.empty()) if (torrents.empty())
{ {
labels_baseline_.clear(); labels_baseline_.clear();
ui_.labelsTextEdit->setText({}); ui_.labelsTextEdit->setPlainText({});
ui_.labelsTextEdit->setPlaceholderText(none); ui_.labelsTextEdit->setPlaceholderText(none);
ui_.labelsTextEdit->setReadOnly(true); ui_.labelsTextEdit->setReadOnly(true);
ui_.labelsTextEdit->setEnabled(true); ui_.labelsTextEdit->setEnabled(true);
@ -911,7 +911,7 @@ void DetailsDialog::refreshUI()
[&baseline](auto const* tor) { return tor->labels() == baseline; })) [&baseline](auto const* tor) { return tor->labels() == baseline; }))
{ {
labels_baseline_ = baseline.join(QStringLiteral(", ")); labels_baseline_ = baseline.join(QStringLiteral(", "));
ui_.labelsTextEdit->setText(labels_baseline_); ui_.labelsTextEdit->setPlainText(labels_baseline_);
ui_.labelsTextEdit->setPlaceholderText(none); ui_.labelsTextEdit->setPlaceholderText(none);
ui_.labelsTextEdit->setReadOnly(false); ui_.labelsTextEdit->setReadOnly(false);
ui_.labelsTextEdit->setEnabled(true); ui_.labelsTextEdit->setEnabled(true);
@ -919,7 +919,7 @@ void DetailsDialog::refreshUI()
else // mixed else // mixed
{ {
labels_baseline_.clear(); labels_baseline_.clear();
ui_.labelsTextEdit->setText({}); ui_.labelsTextEdit->setPlainText({});
ui_.labelsTextEdit->setPlaceholderText(mixed); ui_.labelsTextEdit->setPlaceholderText(mixed);
ui_.labelsTextEdit->setEnabled(false); ui_.labelsTextEdit->setEnabled(false);
} }
@ -944,12 +944,12 @@ void DetailsDialog::refreshUI()
} }
} }
if (ui_.commentBrowser->toPlainText() != string) if (ui_.commentTextEdit->toPlainText() != string)
{ {
ui_.commentBrowser->setText(string); ui_.commentTextEdit->setPlainText(string);
} }
ui_.commentBrowser->setEnabled(!is_comment_mixed && !string.isEmpty()); ui_.commentTextEdit->setEnabled(!is_comment_mixed && !string.isEmpty());
// myOriginLabel // myOriginLabel
string = none; string = none;
@ -1044,7 +1044,7 @@ void DetailsDialog::refreshUI()
} }
} }
ui_.addedLabelValue->setText(string); ui_.addedValueLabel->setText(string);
/// ///
/// Options Tab /// Options Tab
@ -1324,12 +1324,12 @@ void DetailsDialog::setEnabled(bool enabled)
void DetailsDialog::initInfoTab() void DetailsDialog::initInfoTab()
{ {
int const cbh = QFontMetrics{ ui_.commentBrowser->font() }.lineSpacing() * 4; int const cbh = QFontMetrics{ ui_.commentTextEdit->font() }.lineSpacing() * 4;
ui_.commentBrowser->setFixedHeight(cbh); ui_.commentTextEdit->setFixedHeight(cbh);
int const lteh = QFontMetrics{ ui_.labelsTextEdit->font() }.lineSpacing() * 2; int const lteh = QFontMetrics{ ui_.labelsTextEdit->font() }.lineSpacing() * 2;
ui_.labelsTextEdit->setFixedHeight(lteh); ui_.labelsTextEdit->setFixedHeight(lteh);
ui_.labelsTextEdit->setText(QStringLiteral("Initializing...")); ui_.labelsTextEdit->setPlainText(QStringLiteral("Initializing..."));
auto* cr = new ColumnResizer{ this }; auto* cr = new ColumnResizer{ this };
cr->addLayout(ui_.activitySectionLayout); cr->addLayout(ui_.activitySectionLayout);
@ -1550,8 +1550,7 @@ void DetailsDialog::initOptionsTab()
auto* cr = new ColumnResizer{ this }; auto* cr = new ColumnResizer{ this };
cr->addLayout(ui_.speedSectionLayout); cr->addLayout(ui_.speedSectionLayout);
cr->addLayout(ui_.seedingLimitsSectionRatioLayout); cr->addLayout(ui_.seedingLimitsSectionLayout);
cr->addLayout(ui_.seedingLimitsSectionIdleLayout);
cr->addLayout(ui_.peerConnectionsSectionLayout); cr->addLayout(ui_.peerConnectionsSectionLayout);
cr->update(); cr->update();

File diff suppressed because it is too large Load Diff

View File

@ -223,25 +223,21 @@ FilterBar::FilterBar(Prefs& prefs, TorrentModel const& torrents, TorrentFilter c
, prefs_{ prefs } , prefs_{ prefs }
, torrents_{ torrents } , torrents_{ torrents }
, filter_{ filter } , filter_{ filter }
, count_label_{ new QLabel{ tr("Show:"), this } }
, is_bootstrapping_{ true } , is_bootstrapping_{ true }
{ {
auto* h = new QHBoxLayout{ this }; auto* h = new QHBoxLayout{ this };
h->setContentsMargins(3, 3, 3, 3); h->setContentsMargins(3, 3, 3, 3);
count_label_ = new QLabel{ tr("Show:"), this };
h->addWidget(count_label_); h->addWidget(count_label_);
h->addWidget(activity_combo_); h->addWidget(activity_combo_);
tracker_combo_ = createTrackerCombo(tracker_model_);
h->addWidget(tracker_combo_); h->addWidget(tracker_combo_);
h->addStretch(); h->addStretch();
h->addWidget(line_edit_, 1);
line_edit_->setClearButtonEnabled(true); line_edit_->setClearButtonEnabled(true);
line_edit_->setPlaceholderText(tr("Search…")); line_edit_->setPlaceholderText(tr("Search…"));
line_edit_->setMaximumWidth(250); line_edit_->setMaximumWidth(250);
h->addWidget(line_edit_, 1);
connect(line_edit_, &QLineEdit::textChanged, this, &FilterBar::onTextChanged); connect(line_edit_, &QLineEdit::textChanged, this, &FilterBar::onTextChanged);
// listen for changes from the other players // listen for changes from the other players

View File

@ -56,13 +56,15 @@ private:
TorrentModel const& torrents_; TorrentModel const& torrents_;
TorrentFilter const& filter_; TorrentFilter const& filter_;
std::map<QString, int> sitename_counts_;
FilterBarComboBox* const activity_combo_ = createActivityCombo();
FilterBarComboBox* tracker_combo_ = {};
QLabel* count_label_ = {};
QStandardItemModel* const tracker_model_ = new QStandardItemModel{ this }; QStandardItemModel* const tracker_model_ = new QStandardItemModel{ this };
QTimer recount_timer_;
QLabel* const count_label_ = {};
FilterBarComboBox* const activity_combo_ = createActivityCombo();
FilterBarComboBox* const tracker_combo_ = createTrackerCombo(tracker_model_);
QLineEdit* const line_edit_ = new QLineEdit{ this }; QLineEdit* const line_edit_ = new QLineEdit{ this };
std::map<QString, int> sitename_counts_;
QTimer recount_timer_;
Pending pending_ = {}; Pending pending_ = {};
bool is_bootstrapping_ = {}; bool is_bootstrapping_ = {};

View File

@ -6,8 +6,8 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>566</width> <width>503</width>
<height>426</height> <height>472</height>
</rect> </rect>
</property> </property>
<property name="acceptDrops"> <property name="acceptDrops">
@ -18,193 +18,161 @@
</property> </property>
<layout class="QVBoxLayout" name="dialogLayout"> <layout class="QVBoxLayout" name="dialogLayout">
<item> <item>
<widget class="QLabel" name="filesSectionLabel"> <widget class="QGroupBox" name="filesSection">
<property name="styleSheet"> <property name="title">
<string notr="true">font-weight:bold</string>
</property>
<property name="text">
<string>Files</string> <string>Files</string>
</property> </property>
<layout class="QGridLayout" name="filesSectionLayout" columnstretch="0,1">
<item row="0" column="0">
<widget class="QLabel" name="destinationLabel">
<property name="text">
<string>Sa&amp;ve to:</string>
</property>
<property name="buddy">
<cstring>destinationButton</cstring>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="PathButton" name="destinationButton"/>
</item>
<item row="1" column="0">
<widget class="QRadioButton" name="sourceFolderRadio">
<property name="text">
<string>Source f&amp;older:</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="PathButton" name="sourceFolderButton">
<property name="enabled">
<bool>false</bool>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QRadioButton" name="sourceFileRadio">
<property name="text">
<string>Source &amp;file:</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="PathButton" name="sourceFileButton"/>
</item>
<item row="3" column="1">
<widget class="QLabel" name="sourceSizeLabel">
<property name="text">
<string notr="true">...</string>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QLabel" name="pieceSizeLabel">
<property name="text">
<string>Piece s&amp;ize:</string>
</property>
<property name="buddy">
<cstring>pieceSizeSlider</cstring>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QSlider" name="pieceSizeSlider">
<property name="minimum">
<number>14</number>
</property>
<property name="maximum">
<number>28</number>
</property>
<property name="pageStep">
<number>1</number>
</property>
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
</layout>
</widget> </widget>
</item> </item>
<item> <item>
<layout class="QGridLayout" name="filesSectionLayout" columnstretch="0,1"> <widget class="QGroupBox" name="propertiesSection">
<property name="leftMargin"> <property name="title">
<number>18</number>
</property>
<item row="0" column="0">
<widget class="QLabel" name="destinationLabel">
<property name="text">
<string>Sa&amp;ve to:</string>
</property>
<property name="buddy">
<cstring>destinationButton</cstring>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="PathButton" name="destinationButton"/>
</item>
<item row="1" column="0">
<widget class="QRadioButton" name="sourceFolderRadio">
<property name="text">
<string>Source f&amp;older:</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="PathButton" name="sourceFolderButton">
<property name="enabled">
<bool>false</bool>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QRadioButton" name="sourceFileRadio">
<property name="text">
<string>Source &amp;file:</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="PathButton" name="sourceFileButton"/>
</item>
<item row="3" column="1">
<widget class="QLabel" name="sourceSizeLabel">
<property name="text">
<string notr="true">...</string>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QSlider" name="pieceSizeSlider">
<property name="minimum">
<number>14</number>
</property>
<property name="maximum">
<number>28</number>
</property>
<property name="pageStep">
<number>1</number>
</property>
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QLabel" name="pieceSizeLabel">
<property name="text">
<string>Piece s&amp;ize:</string>
</property>
<property name="buddy">
<cstring>pieceSizeSlider</cstring>
</property>
</widget>
</item>
</layout>
</item>
<item>
<spacer name="propertiesSectionSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>1</width>
<height>10</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QLabel" name="propertiesSectionLabel">
<property name="styleSheet">
<string notr="true">font-weight:bold</string>
</property>
<property name="text">
<string>Properties</string> <string>Properties</string>
</property> </property>
</widget> <layout class="QGridLayout" name="propertiesSectionLayout" columnstretch="0,1">
</item> <item row="0" column="0">
<item> <widget class="QLabel" name="trackersLabel">
<layout class="QGridLayout" name="propertiesSectionLayout" columnstretch="0,1"> <property name="text">
<property name="leftMargin"> <string>&amp;Trackers:</string>
<number>18</number> </property>
</property> <property name="alignment">
<item row="0" column="0"> <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
<widget class="QLabel" name="trackersLabel"> </property>
<property name="text"> <property name="buddy">
<string>&amp;Trackers:</string> <cstring>trackersEdit</cstring>
</property> </property>
<property name="alignment"> </widget>
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set> </item>
</property> <item row="0" column="1">
<property name="buddy"> <widget class="QPlainTextEdit" name="trackersEdit">
<cstring>trackersEdit</cstring> <property name="tabChangesFocus">
</property> <bool>true</bool>
</widget> </property>
</item> <property name="lineWrapMode">
<item row="0" column="1"> <enum>QPlainTextEdit::NoWrap</enum>
<widget class="QPlainTextEdit" name="trackersEdit"> </property>
<property name="tabChangesFocus"> </widget>
<bool>true</bool> </item>
</property> <item row="1" column="1">
<property name="lineWrapMode"> <widget class="QLabel" name="trackersDescriptionLabel">
<enum>QPlainTextEdit::NoWrap</enum> <property name="text">
</property> <string>To add a backup URL, add it on the line after the primary URL.
</widget>
</item>
<item row="1" column="1">
<widget class="QLabel" name="trackersDescriptionLabel">
<property name="text">
<string>To add a backup URL, add it on the line after the primary URL.
To add another primary URL, add it after a blank line.</string> To add another primary URL, add it after a blank line.</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="2" column="0"> <item row="2" column="0">
<widget class="QCheckBox" name="commentCheck"> <widget class="QCheckBox" name="commentCheck">
<property name="text"> <property name="text">
<string>Co&amp;mment:</string> <string>Co&amp;mment:</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="2" column="1"> <item row="2" column="1">
<widget class="QLineEdit" name="commentEdit"> <widget class="QLineEdit" name="commentEdit">
<property name="enabled"> <property name="enabled">
<bool>false</bool> <bool>false</bool>
</property> </property>
</widget> </widget>
</item> </item>
<item row="3" column="0"> <item row="3" column="0">
<widget class="QCheckBox" name="sourceCheck"> <widget class="QCheckBox" name="sourceCheck">
<property name="text"> <property name="text">
<string>&amp;Source:</string> <string>&amp;Source:</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="3" column="1"> <item row="3" column="1">
<widget class="QLineEdit" name="sourceEdit"> <widget class="QLineEdit" name="sourceEdit">
<property name="enabled"> <property name="enabled">
<bool>false</bool> <bool>false</bool>
</property> </property>
</widget> </widget>
</item> </item>
<item row="4" column="0" colspan="2"> <item row="4" column="0" colspan="2">
<widget class="QCheckBox" name="privateCheck"> <widget class="QCheckBox" name="privateCheck">
<property name="text"> <property name="text">
<string>&amp;Private torrent</string> <string>&amp;Private torrent</string>
</property> </property>
</widget> </widget>
</item> </item>
</layout> </layout>
</widget>
</item> </item>
<item> <item>
<widget class="QDialogButtonBox" name="dialogButtons"> <widget class="QDialogButtonBox" name="dialogButtons">
@ -234,12 +202,12 @@ To add another primary URL, add it after a blank line.</string>
<slot>setEnabled(bool)</slot> <slot>setEnabled(bool)</slot>
<hints> <hints>
<hint type="sourcelabel"> <hint type="sourcelabel">
<x>76</x> <x>20</x>
<y>333</y> <y>20</y>
</hint> </hint>
<hint type="destinationlabel"> <hint type="destinationlabel">
<x>360</x> <x>20</x>
<y>333</y> <y>20</y>
</hint> </hint>
</hints> </hints>
</connection> </connection>
@ -250,12 +218,12 @@ To add another primary URL, add it after a blank line.</string>
<slot>setEnabled(bool)</slot> <slot>setEnabled(bool)</slot>
<hints> <hints>
<hint type="sourcelabel"> <hint type="sourcelabel">
<x>72</x> <x>20</x>
<y>83</y> <y>20</y>
</hint> </hint>
<hint type="destinationlabel"> <hint type="destinationlabel">
<x>360</x> <x>20</x>
<y>82</y> <y>20</y>
</hint> </hint>
</hints> </hints>
</connection> </connection>
@ -266,12 +234,12 @@ To add another primary URL, add it after a blank line.</string>
<slot>setEnabled(bool)</slot> <slot>setEnabled(bool)</slot>
<hints> <hints>
<hint type="sourcelabel"> <hint type="sourcelabel">
<x>72</x> <x>20</x>
<y>119</y> <y>20</y>
</hint> </hint>
<hint type="destinationlabel"> <hint type="destinationlabel">
<x>360</x> <x>20</x>
<y>118</y> <y>20</y>
</hint> </hint>
</hints> </hints>
</connection> </connection>
@ -282,12 +250,12 @@ To add another primary URL, add it after a blank line.</string>
<slot>setEnabled(bool)</slot> <slot>setEnabled(bool)</slot>
<hints> <hints>
<hint type="sourcelabel"> <hint type="sourcelabel">
<x>75</x> <x>20</x>
<y>347</y> <y>20</y>
</hint> </hint>
<hint type="destinationlabel"> <hint type="destinationlabel">
<x>342</x> <x>20</x>
<y>347</y> <y>20</y>
</hint> </hint>
</hints> </hints>
</connection> </connection>

File diff suppressed because it is too large Load Diff

View File

@ -6,8 +6,8 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>333</width> <width>275</width>
<height>155</height> <height>170</height>
</rect> </rect>
</property> </property>
<property name="windowTitle"> <property name="windowTitle">
@ -18,49 +18,41 @@
<enum>QLayout::SetFixedSize</enum> <enum>QLayout::SetFixedSize</enum>
</property> </property>
<item> <item>
<widget class="QLabel" name="setLocationSectionLabel"> <widget class="QGroupBox" name="setLocationSection">
<property name="styleSheet"> <property name="title">
<string notr="true">font-weight:bold</string>
</property>
<property name="text">
<string>Set Location</string> <string>Set Location</string>
</property> </property>
<layout class="QGridLayout" name="setLocationSectionLayout" columnstretch="0,1">
<item row="0" column="0">
<widget class="QLabel" name="newLocationLabel">
<property name="text">
<string>New &amp;location:</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QStackedWidget" name="newLocationStack">
<widget class="PathButton" name="newLocationButton"/>
<widget class="QLineEdit" name="newLocationEdit"/>
</widget>
</item>
<item row="1" column="0" colspan="2">
<widget class="QRadioButton" name="moveDataRadio">
<property name="text">
<string>&amp;Move from the current folder</string>
</property>
</widget>
</item>
<item row="2" column="0" colspan="2">
<widget class="QRadioButton" name="findDataRadio">
<property name="text">
<string>Local data is &amp;already there</string>
</property>
</widget>
</item>
</layout>
</widget> </widget>
</item> </item>
<item>
<layout class="QGridLayout" name="setLocationSectionLayout" columnstretch="0,1">
<property name="leftMargin">
<number>18</number>
</property>
<item row="0" column="0">
<widget class="QLabel" name="newLocationLabel">
<property name="text">
<string>New &amp;location:</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QStackedWidget" name="newLocationStack">
<widget class="PathButton" name="newLocationButton"/>
<widget class="QLineEdit" name="newLocationEdit"/>
</widget>
</item>
<item row="1" column="0" colspan="2">
<widget class="QRadioButton" name="moveDataRadio">
<property name="text">
<string>&amp;Move from the current folder</string>
</property>
</widget>
</item>
<item row="2" column="0" colspan="2">
<widget class="QRadioButton" name="findDataRadio">
<property name="text">
<string>Local data is &amp;already there</string>
</property>
</widget>
</item>
</layout>
</item>
<item> <item>
<widget class="QDialogButtonBox" name="dialogButtons"> <widget class="QDialogButtonBox" name="dialogButtons">
<property name="orientation"> <property name="orientation">

View File

@ -6,8 +6,8 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>250</width> <width>248</width>
<height>265</height> <height>297</height>
</rect> </rect>
</property> </property>
<property name="windowTitle"> <property name="windowTitle">
@ -18,106 +18,98 @@
<enum>QLayout::SetFixedSize</enum> <enum>QLayout::SetFixedSize</enum>
</property> </property>
<item> <item>
<widget class="QLabel" name="sourceSectionLabel"> <widget class="QGroupBox" name="sourceSection">
<property name="styleSheet"> <property name="title">
<string notr="true">font-weight:bold</string>
</property>
<property name="text">
<string>Source</string> <string>Source</string>
</property> </property>
<layout class="QGridLayout" name="sourceSectionLayout" columnstretch="0,1">
<item row="0" column="0" colspan="2">
<widget class="QRadioButton" name="localSessionRadio">
<property name="text">
<string>Start &amp;Local Session</string>
</property>
</widget>
</item>
<item row="1" column="0" colspan="2">
<widget class="QRadioButton" name="remoteSessionRadio">
<property name="text">
<string>Connect to &amp;Remote Session</string>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="hostLabel">
<property name="text">
<string>&amp;Host:</string>
</property>
<property name="buddy">
<cstring>hostEdit</cstring>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLineEdit" name="hostEdit"/>
</item>
<item row="3" column="0">
<widget class="QLabel" name="portLabel">
<property name="text">
<string>&amp;Port:</string>
</property>
<property name="buddy">
<cstring>portSpin</cstring>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QSpinBox" name="portSpin">
<property name="minimum">
<number>1</number>
</property>
<property name="maximum">
<number>65535</number>
</property>
</widget>
</item>
<item row="4" column="0" colspan="2">
<widget class="QCheckBox" name="authCheck">
<property name="text">
<string>&amp;Authentication required</string>
</property>
</widget>
</item>
<item row="5" column="0">
<widget class="QLabel" name="usernameLabel">
<property name="text">
<string>&amp;Username:</string>
</property>
<property name="buddy">
<cstring>usernameEdit</cstring>
</property>
</widget>
</item>
<item row="5" column="1">
<widget class="QLineEdit" name="usernameEdit"/>
</item>
<item row="6" column="0">
<widget class="QLabel" name="passwordLabel">
<property name="text">
<string>Pass&amp;word:</string>
</property>
<property name="buddy">
<cstring>passwordEdit</cstring>
</property>
</widget>
</item>
<item row="6" column="1">
<widget class="QLineEdit" name="passwordEdit">
<property name="echoMode">
<enum>QLineEdit::Password</enum>
</property>
</widget>
</item>
</layout>
</widget> </widget>
</item> </item>
<item>
<layout class="QGridLayout" name="sourceSectionLayout" columnstretch="0,1">
<property name="leftMargin">
<number>18</number>
</property>
<item row="0" column="0" colspan="2">
<widget class="QRadioButton" name="localSessionRadio">
<property name="text">
<string>Start &amp;Local Session</string>
</property>
</widget>
</item>
<item row="1" column="0" colspan="2">
<widget class="QRadioButton" name="remoteSessionRadio">
<property name="text">
<string>Connect to &amp;Remote Session</string>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="hostLabel">
<property name="text">
<string>&amp;Host:</string>
</property>
<property name="buddy">
<cstring>hostEdit</cstring>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLineEdit" name="hostEdit"/>
</item>
<item row="3" column="0">
<widget class="QLabel" name="portLabel">
<property name="text">
<string>&amp;Port:</string>
</property>
<property name="buddy">
<cstring>portSpin</cstring>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QSpinBox" name="portSpin">
<property name="minimum">
<number>1</number>
</property>
<property name="maximum">
<number>65535</number>
</property>
</widget>
</item>
<item row="4" column="0" colspan="2">
<widget class="QCheckBox" name="authCheck">
<property name="text">
<string>&amp;Authentication required</string>
</property>
</widget>
</item>
<item row="5" column="0">
<widget class="QLabel" name="usernameLabel">
<property name="text">
<string>&amp;Username:</string>
</property>
<property name="buddy">
<cstring>usernameEdit</cstring>
</property>
</widget>
</item>
<item row="5" column="1">
<widget class="QLineEdit" name="usernameEdit"/>
</item>
<item row="6" column="0">
<widget class="QLabel" name="passwordLabel">
<property name="text">
<string>Pass&amp;word:</string>
</property>
<property name="buddy">
<cstring>passwordEdit</cstring>
</property>
</widget>
</item>
<item row="6" column="1">
<widget class="QLineEdit" name="passwordEdit">
<property name="echoMode">
<enum>QLineEdit::Password</enum>
</property>
</widget>
</item>
</layout>
</item>
<item> <item>
<widget class="QDialogButtonBox" name="dialogButtons"> <widget class="QDialogButtonBox" name="dialogButtons">
<property name="orientation"> <property name="orientation">
@ -139,12 +131,12 @@
<slot>accept()</slot> <slot>accept()</slot>
<hints> <hints>
<hint type="sourcelabel"> <hint type="sourcelabel">
<x>124</x> <x>20</x>
<y>244</y> <y>20</y>
</hint> </hint>
<hint type="destinationlabel"> <hint type="destinationlabel">
<x>124</x> <x>20</x>
<y>132</y> <y>20</y>
</hint> </hint>
</hints> </hints>
</connection> </connection>
@ -155,12 +147,12 @@
<slot>reject()</slot> <slot>reject()</slot>
<hints> <hints>
<hint type="sourcelabel"> <hint type="sourcelabel">
<x>124</x> <x>20</x>
<y>244</y> <y>20</y>
</hint> </hint>
<hint type="destinationlabel"> <hint type="destinationlabel">
<x>124</x> <x>20</x>
<y>132</y> <y>20</y>
</hint> </hint>
</hints> </hints>
</connection> </connection>

View File

@ -6,8 +6,8 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>138</width> <width>139</width>
<height>315</height> <height>316</height>
</rect> </rect>
</property> </property>
<property name="windowTitle"> <property name="windowTitle">
@ -18,174 +18,247 @@
<enum>QLayout::SetFixedSize</enum> <enum>QLayout::SetFixedSize</enum>
</property> </property>
<item> <item>
<widget class="QLabel" name="currentSessionSectionLabel"> <widget class="QGroupBox" name="currentSessionSection">
<property name="styleSheet"> <property name="title">
<string notr="true">font-weight:bold</string>
</property>
<property name="text">
<string>Current Session</string> <string>Current Session</string>
</property> </property>
<layout class="QGridLayout" name="currentSessionSectionLayout" columnstretch="0,1">
<item row="0" column="0">
<widget class="QLabel" name="currentUploadedLabel">
<property name="text">
<string>Uploaded:</string>
</property>
<property name="buddy">
<cstring>currentUploadedValueLabel</cstring>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLabel" name="currentUploadedValueLabel">
<property name="focusPolicy">
<enum>Qt::StrongFocus</enum>
</property>
<property name="text">
<string notr="true">...</string>
</property>
<property name="textFormat">
<enum>Qt::PlainText</enum>
</property>
<property name="textInteractionFlags">
<set>Qt::LinksAccessibleByKeyboard|Qt::LinksAccessibleByMouse|Qt::TextBrowserInteraction|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="currentDownloadedLabel">
<property name="text">
<string>Downloaded:</string>
</property>
<property name="buddy">
<cstring>currentDownloadedValueLabel</cstring>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLabel" name="currentDownloadedValueLabel">
<property name="focusPolicy">
<enum>Qt::StrongFocus</enum>
</property>
<property name="text">
<string notr="true">...</string>
</property>
<property name="textFormat">
<enum>Qt::PlainText</enum>
</property>
<property name="textInteractionFlags">
<set>Qt::LinksAccessibleByKeyboard|Qt::LinksAccessibleByMouse|Qt::TextBrowserInteraction|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="currentRatioLabel">
<property name="text">
<string>Ratio:</string>
</property>
<property name="buddy">
<cstring>currentRatioValueLabel</cstring>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLabel" name="currentRatioValueLabel">
<property name="focusPolicy">
<enum>Qt::StrongFocus</enum>
</property>
<property name="text">
<string notr="true">...</string>
</property>
<property name="textFormat">
<enum>Qt::PlainText</enum>
</property>
<property name="textInteractionFlags">
<set>Qt::LinksAccessibleByKeyboard|Qt::LinksAccessibleByMouse|Qt::TextBrowserInteraction|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="currentDurationLabel">
<property name="text">
<string>Duration:</string>
</property>
<property name="buddy">
<cstring>currentDurationValueLabel</cstring>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QLabel" name="currentDurationValueLabel">
<property name="focusPolicy">
<enum>Qt::StrongFocus</enum>
</property>
<property name="text">
<string notr="true">...</string>
</property>
<property name="textFormat">
<enum>Qt::PlainText</enum>
</property>
<property name="textInteractionFlags">
<set>Qt::LinksAccessibleByKeyboard|Qt::LinksAccessibleByMouse|Qt::TextBrowserInteraction|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
</property>
</widget>
</item>
</layout>
</widget> </widget>
</item> </item>
<item> <item>
<layout class="QGridLayout" name="currentSessionSectionLayout" columnstretch="0,1"> <widget class="QGroupBox" name="totalSection">
<property name="leftMargin"> <property name="title">
<number>18</number>
</property>
<item row="0" column="0">
<widget class="QLabel" name="currentUploadedLabel">
<property name="text">
<string>Uploaded:</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLabel" name="currentUploadedValueLabel">
<property name="text">
<string notr="true">...</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="currentDownloadedLabel">
<property name="text">
<string>Downloaded:</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLabel" name="currentDownloadedValueLabel">
<property name="text">
<string notr="true">...</string>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="currentRatioLabel">
<property name="text">
<string>Ratio:</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLabel" name="currentRatioValueLabel">
<property name="text">
<string notr="true">...</string>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="currentDurationLabel">
<property name="text">
<string>Duration:</string>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QLabel" name="currentDurationValueLabel">
<property name="text">
<string notr="true">...</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<spacer name="totalSectionSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>1</width>
<height>10</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QLabel" name="totalSectionLabel">
<property name="styleSheet">
<string notr="true">font-weight:bold</string>
</property>
<property name="text">
<string>Total</string> <string>Total</string>
</property> </property>
<layout class="QGridLayout" name="totalSectionLayout" columnstretch="0,1">
<item row="0" column="0" colspan="2">
<widget class="QLabel" name="startCountLabel">
<property name="focusPolicy">
<enum>Qt::StrongFocus</enum>
</property>
<property name="text">
<string notr="true">...</string>
</property>
<property name="textFormat">
<enum>Qt::PlainText</enum>
</property>
<property name="textInteractionFlags">
<set>Qt::LinksAccessibleByKeyboard|Qt::LinksAccessibleByMouse|Qt::TextBrowserInteraction|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="totalUploadedLabel">
<property name="text">
<string>Uploaded:</string>
</property>
<property name="buddy">
<cstring>totalUploadedValueLabel</cstring>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLabel" name="totalUploadedValueLabel">
<property name="focusPolicy">
<enum>Qt::StrongFocus</enum>
</property>
<property name="text">
<string notr="true">...</string>
</property>
<property name="textFormat">
<enum>Qt::PlainText</enum>
</property>
<property name="textInteractionFlags">
<set>Qt::LinksAccessibleByKeyboard|Qt::LinksAccessibleByMouse|Qt::TextBrowserInteraction|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="totalDownloadedLabel">
<property name="text">
<string>Downloaded:</string>
</property>
<property name="buddy">
<cstring>totalDownloadedValueLabel</cstring>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLabel" name="totalDownloadedValueLabel">
<property name="focusPolicy">
<enum>Qt::StrongFocus</enum>
</property>
<property name="text">
<string notr="true">...</string>
</property>
<property name="textFormat">
<enum>Qt::PlainText</enum>
</property>
<property name="textInteractionFlags">
<set>Qt::LinksAccessibleByKeyboard|Qt::LinksAccessibleByMouse|Qt::TextBrowserInteraction|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="totalRatioLabel">
<property name="text">
<string>Ratio:</string>
</property>
<property name="buddy">
<cstring>totalRatioValueLabel</cstring>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QLabel" name="totalRatioValueLabel">
<property name="focusPolicy">
<enum>Qt::StrongFocus</enum>
</property>
<property name="text">
<string notr="true">...</string>
</property>
<property name="textFormat">
<enum>Qt::PlainText</enum>
</property>
<property name="textInteractionFlags">
<set>Qt::LinksAccessibleByKeyboard|Qt::LinksAccessibleByMouse|Qt::TextBrowserInteraction|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QLabel" name="totalDurationLabel">
<property name="text">
<string>Duration:</string>
</property>
<property name="buddy">
<cstring>totalDurationValueLabel</cstring>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QLabel" name="totalDurationValueLabel">
<property name="focusPolicy">
<enum>Qt::StrongFocus</enum>
</property>
<property name="text">
<string notr="true">...</string>
</property>
<property name="textFormat">
<enum>Qt::PlainText</enum>
</property>
<property name="textInteractionFlags">
<set>Qt::LinksAccessibleByKeyboard|Qt::LinksAccessibleByMouse|Qt::TextBrowserInteraction|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
</property>
</widget>
</item>
</layout>
</widget> </widget>
</item> </item>
<item>
<layout class="QGridLayout" name="totalSectionLayout" columnstretch="0,1">
<property name="leftMargin">
<number>18</number>
</property>
<item row="0" column="0" colspan="2">
<widget class="QLabel" name="startCountLabel">
<property name="text">
<string notr="true">...</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="totalUploadedLabel">
<property name="text">
<string>Uploaded:</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLabel" name="totalUploadedValueLabel">
<property name="text">
<string notr="true">...</string>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="totalDownloadedLabel">
<property name="text">
<string>Downloaded:</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLabel" name="totalDownloadedValueLabel">
<property name="text">
<string notr="true">...</string>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="totalRatioLabel">
<property name="text">
<string>Ratio:</string>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QLabel" name="totalRatioValueLabel">
<property name="text">
<string notr="true">...</string>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QLabel" name="totalDurationLabel">
<property name="text">
<string>Duration:</string>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QLabel" name="totalDurationValueLabel">
<property name="text">
<string notr="true">...</string>
</property>
</widget>
</item>
</layout>
</item>
<item> <item>
<widget class="QDialogButtonBox" name="dialogButtons"> <widget class="QDialogButtonBox" name="dialogButtons">
<property name="orientation"> <property name="orientation">
@ -207,12 +280,12 @@
<slot>reject()</slot> <slot>reject()</slot>
<hints> <hints>
<hint type="sourcelabel"> <hint type="sourcelabel">
<x>71</x> <x>20</x>
<y>282</y> <y>20</y>
</hint> </hint>
<hint type="destinationlabel"> <hint type="destinationlabel">
<x>71</x> <x>20</x>
<y>151</y> <y>20</y>
</hint> </hint>
</hints> </hints>
</connection> </connection>

View File

@ -18,50 +18,42 @@
</property> </property>
<layout class="QVBoxLayout" name="dialogLayout"> <layout class="QVBoxLayout" name="dialogLayout">
<item> <item>
<widget class="QLabel" name="filesSectionLabel"> <widget class="QGroupBox" name="filesSection">
<property name="styleSheet"> <property name="title">
<string notr="true">font-weight:bold</string>
</property>
<property name="text">
<string>Tracker Announce URLs</string> <string>Tracker Announce URLs</string>
</property> </property>
<layout class="QGridLayout" name="filesSectionLayout">
<item row="0" column="0">
<widget class="QLabel" name="backupLabel">
<property name="text">
<string>To add a backup URL, add it on the next line after a primary URL.</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="primaryLabel">
<property name="text">
<string>To add a new primary URL, add it after a blank line.</string>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QPlainTextEdit" name="trackerList">
<property name="tabChangesFocus">
<bool>true</bool>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="defaultsLabel">
<property name="text">
<string>Also see Default Public Trackers in Edit &gt; Preferences &gt; Network</string>
</property>
</widget>
</item>
</layout>
</widget> </widget>
</item> </item>
<item>
<layout class="QGridLayout" name="filesSectionLayout" columnstretch="0">
<property name="leftMargin">
<number>18</number>
</property>
<item row="1" column="0">
<widget class="QLabel" name="primaryLabel">
<property name="text">
<string>To add a new primary URL, add it after a blank line.</string>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QPlainTextEdit" name="trackerList">
<property name="tabChangesFocus">
<bool>true</bool>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QLabel" name="backupLabel">
<property name="text">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;To add a backup URL, add it on the next line after a primary URL.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="defaultsLabel">
<property name="text">
<string>Also see Default Public Trackers in Edit &gt; Preferences &gt; Network</string>
</property>
</widget>
</item>
</layout>
</item>
<item> <item>
<widget class="QDialogButtonBox" name="dialogButtons"> <widget class="QDialogButtonBox" name="dialogButtons">
<property name="orientation"> <property name="orientation">