From 852fa6d169d880c4f546061568cea313bacc7d3f Mon Sep 17 00:00:00 2001 From: Mike Gelfand Date: Wed, 10 Jan 2024 21:01:03 +0000 Subject: [PATCH] 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) --- qt/DetailsDialog.cc | 25 +- qt/DetailsDialog.ui | 1365 ++++++++++++++--------------- qt/FilterBar.cc | 8 +- qt/FilterBar.h | 12 +- qt/MakeDialog.ui | 362 ++++---- qt/PrefsDialog.ui | 1939 ++++++++++++++++++------------------------ qt/RelocateDialog.ui | 74 +- qt/SessionDialog.ui | 204 +++-- qt/StatsDialog.ui | 403 +++++---- qt/TrackersDialog.ui | 72 +- 10 files changed, 2121 insertions(+), 2343 deletions(-) diff --git a/qt/DetailsDialog.cc b/qt/DetailsDialog.cc index 46ca48c05..922f33218 100644 --- a/qt/DetailsDialog.cc +++ b/qt/DetailsDialog.cc @@ -262,7 +262,7 @@ DetailsDialog::DetailsDialog(Session& session, Prefs& prefs, TorrentModel const& initOptionsTab(); adjustSize(); - ui_.commentBrowser->setMaximumHeight(QWIDGETSIZE_MAX); + ui_.commentTextEdit->setMaximumHeight(QWIDGETSIZE_MAX); ui_.tabs->setCurrentIndex(prev_tab_index_); static std::array constexpr InitKeys = { @@ -900,7 +900,7 @@ void DetailsDialog::refreshUI() if (torrents.empty()) { labels_baseline_.clear(); - ui_.labelsTextEdit->setText({}); + ui_.labelsTextEdit->setPlainText({}); ui_.labelsTextEdit->setPlaceholderText(none); ui_.labelsTextEdit->setReadOnly(true); ui_.labelsTextEdit->setEnabled(true); @@ -911,7 +911,7 @@ void DetailsDialog::refreshUI() [&baseline](auto const* tor) { return tor->labels() == baseline; })) { labels_baseline_ = baseline.join(QStringLiteral(", ")); - ui_.labelsTextEdit->setText(labels_baseline_); + ui_.labelsTextEdit->setPlainText(labels_baseline_); ui_.labelsTextEdit->setPlaceholderText(none); ui_.labelsTextEdit->setReadOnly(false); ui_.labelsTextEdit->setEnabled(true); @@ -919,7 +919,7 @@ void DetailsDialog::refreshUI() else // mixed { labels_baseline_.clear(); - ui_.labelsTextEdit->setText({}); + ui_.labelsTextEdit->setPlainText({}); ui_.labelsTextEdit->setPlaceholderText(mixed); 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 string = none; @@ -1044,7 +1044,7 @@ void DetailsDialog::refreshUI() } } - ui_.addedLabelValue->setText(string); + ui_.addedValueLabel->setText(string); /// /// Options Tab @@ -1324,12 +1324,12 @@ void DetailsDialog::setEnabled(bool enabled) void DetailsDialog::initInfoTab() { - int const cbh = QFontMetrics{ ui_.commentBrowser->font() }.lineSpacing() * 4; - ui_.commentBrowser->setFixedHeight(cbh); + int const cbh = QFontMetrics{ ui_.commentTextEdit->font() }.lineSpacing() * 4; + ui_.commentTextEdit->setFixedHeight(cbh); int const lteh = QFontMetrics{ ui_.labelsTextEdit->font() }.lineSpacing() * 2; ui_.labelsTextEdit->setFixedHeight(lteh); - ui_.labelsTextEdit->setText(QStringLiteral("Initializing...")); + ui_.labelsTextEdit->setPlainText(QStringLiteral("Initializing...")); auto* cr = new ColumnResizer{ this }; cr->addLayout(ui_.activitySectionLayout); @@ -1550,8 +1550,7 @@ void DetailsDialog::initOptionsTab() auto* cr = new ColumnResizer{ this }; cr->addLayout(ui_.speedSectionLayout); - cr->addLayout(ui_.seedingLimitsSectionRatioLayout); - cr->addLayout(ui_.seedingLimitsSectionIdleLayout); + cr->addLayout(ui_.seedingLimitsSectionLayout); cr->addLayout(ui_.peerConnectionsSectionLayout); cr->update(); diff --git a/qt/DetailsDialog.ui b/qt/DetailsDialog.ui index 29cf65916..806bccf73 100644 --- a/qt/DetailsDialog.ui +++ b/qt/DetailsDialog.ui @@ -7,7 +7,7 @@ 0 0 505 - 581 + 661 @@ -31,467 +31,537 @@ - - - font-weight:bold - - + + Activity + + + + + Have: + + + haveValueLabel + + + + + + + + 0 + 0 + + + + Qt::StrongFocus + + + ... + + + Qt::PlainText + + + Qt::LinksAccessibleByKeyboard|Qt::LinksAccessibleByMouse|Qt::TextBrowserInteraction|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse + + + + + + + Availability: + + + availabilityValueLabel + + + + + + + + 0 + 0 + + + + Qt::StrongFocus + + + ... + + + Qt::PlainText + + + Qt::LinksAccessibleByKeyboard|Qt::LinksAccessibleByMouse|Qt::TextBrowserInteraction|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse + + + + + + + Uploaded: + + + uploadedValueLabel + + + + + + + + 0 + 0 + + + + Qt::StrongFocus + + + ... + + + Qt::PlainText + + + Qt::LinksAccessibleByKeyboard|Qt::LinksAccessibleByMouse|Qt::TextBrowserInteraction|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse + + + + + + + Downloaded: + + + downloadedValueLabel + + + + + + + + 0 + 0 + + + + Qt::StrongFocus + + + ... + + + Qt::PlainText + + + Qt::LinksAccessibleByKeyboard|Qt::LinksAccessibleByMouse|Qt::TextBrowserInteraction|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse + + + + + + + State: + + + stateValueLabel + + + + + + + + 0 + 0 + + + + Qt::StrongFocus + + + ... + + + Qt::PlainText + + + Qt::LinksAccessibleByKeyboard|Qt::LinksAccessibleByMouse|Qt::TextBrowserInteraction|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse + + + + + + + Running time: + + + runningTimeValueLabel + + + + + + + + 0 + 0 + + + + Qt::StrongFocus + + + ... + + + Qt::PlainText + + + Qt::LinksAccessibleByKeyboard|Qt::LinksAccessibleByMouse|Qt::TextBrowserInteraction|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse + + + + + + + Remaining time: + + + remainingTimeValueLabel + + + + + + + + 0 + 0 + + + + Qt::StrongFocus + + + ... + + + Qt::PlainText + + + Qt::LinksAccessibleByKeyboard|Qt::LinksAccessibleByMouse|Qt::TextBrowserInteraction|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse + + + + + + + Last activity: + + + lastActivityValueLabel + + + + + + + + 0 + 0 + + + + Qt::StrongFocus + + + ... + + + Qt::PlainText + + + Qt::LinksAccessibleByKeyboard|Qt::LinksAccessibleByMouse|Qt::TextBrowserInteraction|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse + + + + + + + Error: + + + errorValueLabel + + + + + + + + 0 + 0 + + + + Qt::StrongFocus + + + ... + + + Qt::PlainText + + + Qt::LinksAccessibleByKeyboard|Qt::LinksAccessibleByMouse|Qt::TextBrowserInteraction|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse + + + + - - - 18 - - - - - Have: - - - - - - - - 0 - 0 - - - - ... - - - Qt::PlainText - - - Qt::NoTextInteraction - - - - - - - Availability: - - - - - - - - 0 - 0 - - - - ... - - - Qt::PlainText - - - Qt::NoTextInteraction - - - - - - - Uploaded: - - - - - - - - 0 - 0 - - - - ... - - - Qt::PlainText - - - Qt::NoTextInteraction - - - - - - - Downloaded: - - - - - - - - 0 - 0 - - - - ... - - - Qt::PlainText - - - Qt::NoTextInteraction - - - - - - - State: - - - - - - - - 0 - 0 - - - - ... - - - Qt::PlainText - - - Qt::NoTextInteraction - - - - - - - Running time: - - - - - - - - 0 - 0 - - - - ... - - - Qt::PlainText - - - Qt::NoTextInteraction - - - - - - - Remaining time: - - - - - - - - 0 - 0 - - - - ... - - - Qt::PlainText - - - Qt::NoTextInteraction - - - - - - - Last activity: - - - - - - - - 0 - 0 - - - - ... - - - Qt::PlainText - - - Qt::NoTextInteraction - - - - - - - Error: - - - - - - - - 0 - 0 - - - - ... - - - Qt::PlainText - - - Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse - - - - - - - - - Qt::Vertical - - - QSizePolicy::Fixed - - - - 1 - 10 - - - - - - - - font-weight:bold - - + + Details + + + + + Size: + + + sizeValueLabel + + + + + + + + 0 + 0 + + + + Qt::StrongFocus + + + ... + + + Qt::PlainText + + + Qt::LinksAccessibleByKeyboard|Qt::LinksAccessibleByMouse|Qt::TextBrowserInteraction|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse + + + + + + + Location: + + + locationValueLabel + + + + + + + + 0 + 0 + + + + Qt::StrongFocus + + + ... + + + Qt::PlainText + + + Qt::LinksAccessibleByKeyboard|Qt::LinksAccessibleByMouse|Qt::TextBrowserInteraction|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse + + + + + + + Hash: + + + hashValueLabel + + + + + + + + 0 + 0 + + + + Qt::StrongFocus + + + ... + + + Qt::PlainText + + + Qt::LinksAccessibleByKeyboard|Qt::LinksAccessibleByMouse|Qt::TextBrowserInteraction|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse + + + + + + + Privacy: + + + privacyValueLabel + + + + + + + + 0 + 0 + + + + Qt::StrongFocus + + + ... + + + Qt::PlainText + + + Qt::LinksAccessibleByKeyboard|Qt::LinksAccessibleByMouse|Qt::TextBrowserInteraction|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse + + + + + + + Origin: + + + originValueLabel + + + + + + + + 0 + 0 + + + + Qt::StrongFocus + + + ... + + + Qt::PlainText + + + Qt::LinksAccessibleByKeyboard|Qt::LinksAccessibleByMouse|Qt::TextBrowserInteraction|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse + + + + + + + Added: + + + addedValueLabel + + + + + + + Qt::StrongFocus + + + ... + + + Qt::PlainText + + + Qt::LinksAccessibleByKeyboard|Qt::LinksAccessibleByMouse|Qt::TextBrowserInteraction|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse + + + + + + + Labels: + + + labelsTextEdit + + + + + + + true + + + + + + + Comment: + + + commentTextEdit + + + + + + + true + + + true + + + Qt::LinksAccessibleByKeyboard|Qt::LinksAccessibleByMouse|Qt::TextBrowserInteraction|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse + + + + - - - - 18 - - - - - - 0 - 0 - - - - ... - - - Qt::PlainText - - - Qt::NoTextInteraction - - - - - - - - 0 - 0 - - - - ... - - - Qt::PlainText - - - Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse - - - - - - - Hash: - - - - - - - Privacy: - - - - - - - Origin: - - - - - - - - 0 - 0 - - - - ... - - - Qt::PlainText - - - Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse - - - - - - - - 0 - 0 - - - - ... - - - Qt::PlainText - - - Qt::NoTextInteraction - - - - - - - Size: - - - - - - - Location: - - - - - - - - 0 - 0 - - - - ... - - - Qt::PlainText - - - Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse - - - - - - - Added: - - - - - - - - - - - - - - Labels: - - - labelsTextEdit - - - - - - - false - - - - - - - Comment: - - - commentBrowser - - - - - - - Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse - - - - - @@ -644,230 +714,175 @@ - - - font-weight:bold - - + + Speed + + + + + Honor global &limits + + + + + + + Limit &upload speed: + + + + + + + false + + + 999999999 + + + 5 + + + + + + + Limit &download speed: + + + + + + + false + + + 999999999 + + + 5 + + + + + + + Torrent &priority: + + + bandwidthPriorityCombo + + + + + + + - - - 18 - - - - - Honor global &limits - - - - - - - Limit &upload speed: - - - - - - - false - - - 999999999 - - - 5 - - - - - - - Limit &download speed: - - - - - - - false - - - 999999999 - - - 5 - - - - - - - Torrent &priority: - - - bandwidthPriorityCombo - - - - - - - - - - - - Qt::Vertical - - - QSizePolicy::Fixed - - - - 1 - 10 - - - - - - - - font-weight:bold - - + + Seeding Limits + + + + + &Ratio: + + + ratioCombo + + + + + + + + + + + + 999999999.000000000000000 + + + 0.500000000000000 + + + + + + + + + &Idle: + + + idleCombo + + + + + + + + + + + + minute(s) + + + 1 + + + 40320 + + + 5 + + + + + + - - - 18 - - - - - &Ratio: - - - ratioCombo - - - - - - - - - - 999999999.000000000000000 - - - 0.500000000000000 - - - - - - - - - 18 - - - - - &Idle: - - - idleCombo - - - - - - - - - - minute(s) - - - 1 - - - 40320 - - - 5 - - - - - - - - - Qt::Vertical - - - QSizePolicy::Fixed - - - - 1 - 10 - - - - - - - - font-weight:bold - - + + Peer Connections + + + + + &Maximum peers: + + + peerLimitSpin + + + + + + + 1 + + + 300 + + + 5 + + + + - - - - 18 - - - - - &Maximum peers: - - - peerLimitSpin - - - - - - - 1 - - - 300 - - - 5 - - - - - @@ -918,8 +933,8 @@ accept() - 26 - 563 + 20 + 20 20 @@ -934,8 +949,8 @@ reject() - 26 - 563 + 20 + 20 20 @@ -950,12 +965,12 @@ setEnabled(bool) - 35 - 99 + 20 + 20 - 247 - 93 + 20 + 20 @@ -966,12 +981,12 @@ setEnabled(bool) - 35 - 131 + 20 + 20 - 247 - 125 + 20 + 20 diff --git a/qt/FilterBar.cc b/qt/FilterBar.cc index 74c17b284..44d5042e2 100644 --- a/qt/FilterBar.cc +++ b/qt/FilterBar.cc @@ -223,25 +223,21 @@ FilterBar::FilterBar(Prefs& prefs, TorrentModel const& torrents, TorrentFilter c , prefs_{ prefs } , torrents_{ torrents } , filter_{ filter } + , count_label_{ new QLabel{ tr("Show:"), this } } , is_bootstrapping_{ true } { auto* h = new QHBoxLayout{ this }; h->setContentsMargins(3, 3, 3, 3); - count_label_ = new QLabel{ tr("Show:"), this }; h->addWidget(count_label_); - h->addWidget(activity_combo_); - - tracker_combo_ = createTrackerCombo(tracker_model_); h->addWidget(tracker_combo_); - h->addStretch(); + h->addWidget(line_edit_, 1); line_edit_->setClearButtonEnabled(true); line_edit_->setPlaceholderText(tr("Search…")); line_edit_->setMaximumWidth(250); - h->addWidget(line_edit_, 1); connect(line_edit_, &QLineEdit::textChanged, this, &FilterBar::onTextChanged); // listen for changes from the other players diff --git a/qt/FilterBar.h b/qt/FilterBar.h index 250ce0a55..4591f9785 100644 --- a/qt/FilterBar.h +++ b/qt/FilterBar.h @@ -56,13 +56,15 @@ private: TorrentModel const& torrents_; TorrentFilter const& filter_; - std::map sitename_counts_; - FilterBarComboBox* const activity_combo_ = createActivityCombo(); - FilterBarComboBox* tracker_combo_ = {}; - QLabel* count_label_ = {}; 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 }; + + std::map sitename_counts_; + QTimer recount_timer_; Pending pending_ = {}; bool is_bootstrapping_ = {}; diff --git a/qt/MakeDialog.ui b/qt/MakeDialog.ui index 330d4e7ff..0ae045376 100644 --- a/qt/MakeDialog.ui +++ b/qt/MakeDialog.ui @@ -6,8 +6,8 @@ 0 0 - 566 - 426 + 503 + 472 @@ -18,193 +18,161 @@ - - - font-weight:bold - - + + Files + + + + + Sa&ve to: + + + destinationButton + + + + + + + + + + Source f&older: + + + + + + + false + + + + + + + Source &file: + + + true + + + + + + + + + + ... + + + + + + + Piece s&ize: + + + pieceSizeSlider + + + + + + + 14 + + + 28 + + + 1 + + + Qt::Horizontal + + + + - - - 18 - - - - - Sa&ve to: - - - destinationButton - - - - - - - - - - Source f&older: - - - - - - - false - - - - - - - Source &file: - - - true - - - - - - - - - - ... - - - - - - - 14 - - - 28 - - - 1 - - - Qt::Horizontal - - - - - - - Piece s&ize: - - - pieceSizeSlider - - - - - - - - - Qt::Vertical - - - QSizePolicy::Fixed - - - - 1 - 10 - - - - - - - - font-weight:bold - - + + Properties - - - - - - 18 - - - - - &Trackers: - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop - - - trackersEdit - - - - - - - true - - - QPlainTextEdit::NoWrap - - - - - - - To add a backup URL, add it on the line after the primary URL. + + + + + &Trackers: + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop + + + trackersEdit + + + + + + + true + + + QPlainTextEdit::NoWrap + + + + + + + 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. - - - - - - - Co&mment: - - - - - - - false - - - - - - - &Source: - - - - - - - false - - - - - - - &Private torrent - - - - + + + + + + + Co&mment: + + + + + + + false + + + + + + + &Source: + + + + + + + false + + + + + + + &Private torrent + + + + + @@ -234,12 +202,12 @@ To add another primary URL, add it after a blank line. setEnabled(bool) - 76 - 333 + 20 + 20 - 360 - 333 + 20 + 20 @@ -250,12 +218,12 @@ To add another primary URL, add it after a blank line. setEnabled(bool) - 72 - 83 + 20 + 20 - 360 - 82 + 20 + 20 @@ -266,12 +234,12 @@ To add another primary URL, add it after a blank line. setEnabled(bool) - 72 - 119 + 20 + 20 - 360 - 118 + 20 + 20 @@ -282,12 +250,12 @@ To add another primary URL, add it after a blank line. setEnabled(bool) - 75 - 347 + 20 + 20 - 342 - 347 + 20 + 20 diff --git a/qt/PrefsDialog.ui b/qt/PrefsDialog.ui index 61e9fc261..92f0c109f 100644 --- a/qt/PrefsDialog.ui +++ b/qt/PrefsDialog.ui @@ -31,212 +31,177 @@ - - - font-weight:bold - - + + Speed Limits + + + + + &Upload: + + + true + + + + + + + 999999999 + + + 5 + + + + + + + &Download: + + + true + + + + + + + 999999999 + + + 5 + + + + - - - 18 + + + Alternative Speed Limits - - - - &Upload: - - - true - - - - - - - 999999999 - - - 5 - - - - - - - &Download: - - - true - - - - - - - 999999999 - - - 5 - - - - - - - - - Qt::Vertical - - - QSizePolicy::Fixed - - - - 1 - 10 - - - - - - - - 2 - - - - - font-weight:bold - - - Alternative Speed Limits - - - - - - - :/icons/alt-limit-off.svg - - - - - - - - - 18 - - - - - <small>Override normal speed limits manually or at scheduled times</small> - - - - - - - U&pload: - - - altUploadSpeedLimitSpin - - - - - - - 999999999 - - - 5 - - - - - - - Do&wnload: - - - altDownloadSpeedLimitSpin - - - - - - - 999999999 - - - 5 - - - - - - - &Scheduled times: - - - true - - - - - - - - - hh:mm - - - - - - - - 0 - 0 - - - - &to - - - altSpeedLimitEndTimeEdit - - - - - - - hh:mm - - - - - - - - - &On days: - - - altSpeedLimitDaysCombo - - - - - - - + + + + + + + :/icons/alt-limit-off.svg + + + + + + + <small>Override normal speed limits manually or at scheduled times</small> + + + + + + + + + U&pload: + + + altUploadSpeedLimitSpin + + + + + + + 999999999 + + + 5 + + + + + + + Do&wnload: + + + altDownloadSpeedLimitSpin + + + + + + + 999999999 + + + 5 + + + + + + + &Scheduled times: + + + true + + + + + + + + + hh:mm + + + + + + + + 0 + 0 + + + + &to + + + altSpeedLimitEndTimeEdit + + + + + + + hh:mm + + + + + + + + + &On days: + + + altSpeedLimitDaysCombo + + + + + + + + @@ -259,267 +224,211 @@ - - - font-weight:bold - - + + Adding + + + + + Automatically add .torrent files &from: + + + true + + + + + + + + 0 + 0 + + + + + + + + + + Show the Torrent Options &dialog + + + + + + + &Start added torrents + + + + + + + Reads user clipboard content for torrents + + + Detect new torrents from clipboard + + + + + + + Mo&ve the .torrent file to the trash + + + + + + + Save to &Location: + + + + + + + + 0 + 0 + + + + + + + + + + ... + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + - - - 18 - - - - - Save to &Location: - - - - - - - Automatically add .torrent files &from: - - - true - - - - - - - &Start added torrents - - - - - - - ... - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - - Show the Torrent Options &dialog - - - - - - - Mo&ve the .torrent file to the trash - - - - - - - - 0 - 0 - - - - - - - - - - - 0 - 0 - - - - - - - - - - Reads user clipboard content for torrents - - - Detect new torrents from clipboard - - - - - - - - - Qt::Vertical - - - QSizePolicy::Fixed - - - - 1 - 10 - - - - - - - - font-weight:bold - - + + Download Queue + + + + + Ma&ximum active downloads: + + + downloadQueueSizeSpin + + + + + + + 1 + + + 999999999 + + + + + + + Download is i&nactive if data sharing stopped: + + + queueStalledMinutesSpin + + + + + + + minute(s) ago + + + 1 + + + 9999 + + + 5 + + + + - - - 18 - - - - - Ma&ximum active downloads: - - - downloadQueueSizeSpin - - - - - - - 1 - - - 999999999 - - - - - - - Download is i&nactive if data sharing stopped: - - - queueStalledMinutesSpin - - - - - - - minute(s) ago - - - 1 - - - 9999 - - - 5 - - - - - - - - - Qt::Vertical - - - QSizePolicy::Fixed - - - - 1 - 10 - - - - - - - - font-weight:bold - - + + Incomplete + + + + + Append ".&part" to incomplete files' names + + + + + + + Keep &incomplete files in: + + + true + + + + + + + + 0 + 0 + + + + + + + + + + Call scrip&t when downloading is completed: + + + true + + + + + + + + 0 + 0 + + + + + + + - - - - 18 - - - - - Append ".&part" to incomplete files' names - - - - - - - Keep &incomplete files in: - - - true - - - - - - - - 0 - 0 - - - - - - - - - - Call scrip&t when downloading is completed: - - - true - - - - - - - - 0 - 0 - - - - - - - - @@ -541,90 +450,82 @@ - - - font-weight:bold - - + + Limits + + + + + Stop seeding at &ratio: + + + true + + + + + + + 999999999.000000000000000 + + + 0.500000000000000 + + + + + + + Stop seedi&ng if idle for: + + + true + + + + + + + minute(s) + + + 1 + + + 40320 + + + 5 + + + + + + + Call scrip&t when seeding is completed: + + + true + + + + + + + + 0 + 0 + + + + + + + - - - - 18 - - - - - Stop seeding at &ratio: - - - true - - - - - - - 999999999.000000000000000 - - - 0.500000000000000 - - - - - - - Stop seedi&ng if idle for: - - - true - - - - - - - minute(s) - - - 1 - - - 40320 - - - 5 - - - - - - - Call scrip&t when seeding is completed: - - - true - - - - - - - - 0 - 0 - - - - - - - - @@ -646,105 +547,73 @@ - - - font-weight:bold - - + + Encryption + + + + + &Encryption mode: + + + encryptionModeCombo + + + + + + + - - - 18 - - - - - &Encryption mode: - - - encryptionModeCombo - - - - - - - - - - - - Qt::Vertical - - - QSizePolicy::Fixed - - - - 1 - 10 - - - - - - - - font-weight:bold - - + + Blocklist + + + + + Enable &blocklist: + + + true + + + + + + + + + + ... + + + + + + + &Update + + + false + + + + + + + Enable &automatic updates + + + + - - - - 18 - - - - - Enable &blocklist: - - - true - - - - - - - - - - ... - - - - - - - &Update - - - false - - - - - - - Enable &automatic updates - - - - - @@ -766,277 +635,197 @@ - - - font-weight:bold - - + + Incoming Peers + + + + + &Port for incoming connections: + + + peerPortSpin + + + + + + + 1 + + + 65535 + + + + + + + Status unknown + + + + + + + Te&st Port + + + false + + + + + + + Pick a &random port every time Transmission is started + + + + + + + Use UPnP or NAT-PMP port &forwarding from my router + + + + - - - 18 - - - - - &Port for incoming connections: - - - peerPortSpin - - - - - - - 1 - - - 65535 - - - - - - - Status unknown - - - - - - - Te&st Port - - - false - - - - - - - Pick a &random port every time Transmission is started - - - - - - - Use UPnP or NAT-PMP port &forwarding from my router - - - - - - - - - Qt::Vertical - - - QSizePolicy::Fixed - - - - 1 - 10 - - - - - - - - font-weight:bold - - + + Peer Limits + + + + + Maximum peers per &torrent: + + + torrentPeerLimitSpin + + + + + + + 1 + + + 1024 + + + 5 + + + + + + + Maximum peers &overall: + + + globalPeerLimitSpin + + + + + + + 1 + + + 1024 + + + 5 + + + + - - - 18 - - - - - Maximum peers per &torrent: - - - torrentPeerLimitSpin - - - - - - - 1 - - - 1024 - - - 5 - - - - - - - Maximum peers &overall: - - - globalPeerLimitSpin - - - - - - - 1 - - - 1024 - - - 5 - - - - - - - - - Qt::Vertical - - - QSizePolicy::Fixed - - - - 1 - 10 - - - - - - - - font-weight:bold - - + + Options + + + + + µTP is a tool for reducing network congestion. + + + Enable µ&TP for peer connections + + + + + + + PEX is a tool for exchanging peer lists with the peers you're connected to. + + + Use PE&X to find more peers + + + + + + + DHT is a tool for finding peers without a tracker. + + + Use &DHT to find more peers + + + + + + + LPD is a tool for finding peers on your local network. + + + Use &Local Peer Discovery to find more peers + + + + - - - 18 - - - - - µTP is a tool for reducing network congestion. - - - Enable µ&TP for peer connections - - - - - - - PEX is a tool for exchanging peer lists with the peers you're connected to. - - - Use PE&X to find more peers - - - - - - - DHT is a tool for finding peers without a tracker. - - - Use &DHT to find more peers - - - - - - - LPD is a tool for finding peers on your local network. - - - Use &Local Peer Discovery to find more peers - - - - - - - - - Qt::Vertical - - - QSizePolicy::Fixed - - - - 1 - 10 - - - - - - - - - 75 - true - - - + + Default Public Trackers + + + + + Trackers to use on all public torrents. + +To add a backup URL, add it on the next line after a primary URL. +To add a new primary URL, add it after a blank line. + + + true + + + QPlainTextEdit::NoWrap + + + + + + + - - - - 18 - - - - - <html><head/><body><p>Trackers to use on all public torrents.</p><p><br/></p><p>To add a backup URL, add it on the next line after a primary URL.</p><p>To add a new primary URL, add it after a blank line.</p><p><br/></p></body></html> - - - true - - - QPlainTextEdit::NoWrap - - - - - - - - @@ -1058,90 +847,58 @@ - - - font-weight:bold - - + + Desktop + + + + + Show Transmission icon in the &notification area + + + + + + + Start &minimized in notification area + + + + - - - 18 - - - - - Show Transmission icon in the &notification area - - - - - - - Start &minimized in notification area - - - - - - - - - Qt::Vertical - - - QSizePolicy::Fixed - - - - 1 - 10 - - - - - - - - font-weight:bold - - + + Notification + + + + + Show a notification when torrents are a&dded + + + + + + + Show a notification when torrents &finish + + + + + + + Play a &sound when torrents finish + + + + - - - - 18 - - - - - Show a notification when torrents are a&dded - - - - - - - Show a notification when torrents &finish - - - - - - - Play a &sound when torrents finish - - - - - @@ -1163,125 +920,117 @@ - - - font-weight:bold - - + + Remote Control + + + + + Allow &remote access + + + true + + + + + + + &Open web client + + + false + + + + + + + HTTP &port: + + + rpcPortSpin + + + + + + + 1 + + + 65535 + + + + + + + Use &authentication + + + true + + + + + + + &Username: + + + rpcUsernameEdit + + + + + + + + + + Pass&word: + + + rpcPasswordEdit + + + + + + + QLineEdit::Password + + + + + + + Only allow these IP a&ddresses: + + + true + + + + + + + Addresses: + + + rpcWhitelistEdit + + + + + + + - - - - 18 - - - - - Allow &remote access - - - true - - - - - - - &Open web client - - - false - - - - - - - HTTP &port: - - - rpcPortSpin - - - - - - - 1 - - - 65535 - - - - - - - Use &authentication - - - true - - - - - - - &Username: - - - rpcUsernameEdit - - - - - - - - - - Pass&word: - - - rpcPasswordEdit - - - - - - - QLineEdit::Password - - - - - - - Only allow these IP a&ddresses: - - - true - - - - - - - Addresses: - - - rpcWhitelistEdit - - - - - - - - @@ -1334,12 +1083,12 @@ reject() - 316 - 260 + 20 + 20 - 286 - 274 + 20 + 20 @@ -1350,12 +1099,12 @@ setEnabled(bool) - 94 - 79 + 20 + 20 - 323 - 79 + 20 + 20 @@ -1366,12 +1115,12 @@ setEnabled(bool) - 94 - 113 + 20 + 20 - 323 - 113 + 20 + 20 @@ -1382,12 +1131,12 @@ setEnabled(bool) - 129 - 79 + 20 + 20 - 359 - 79 + 20 + 20 @@ -1398,12 +1147,12 @@ setEnabled(bool) - 129 - 113 + 20 + 20 - 359 - 113 + 20 + 20 @@ -1414,12 +1163,12 @@ setEnabled(bool) - 167 - 80 + 20 + 20 - 392 - 80 + 20 + 20 @@ -1430,12 +1179,12 @@ setEnabled(bool) - 169 - 411 + 20 + 20 - 395 - 411 + 20 + 20 @@ -1446,12 +1195,12 @@ setEnabled(bool) - 169 - 447 + 20 + 20 - 395 - 447 + 20 + 20 @@ -1462,12 +1211,12 @@ setEnabled(bool) - 69 - 69 + 20 + 20 - 69 - 69 + 20 + 20 diff --git a/qt/RelocateDialog.ui b/qt/RelocateDialog.ui index b394aaca3..37943eb93 100644 --- a/qt/RelocateDialog.ui +++ b/qt/RelocateDialog.ui @@ -6,8 +6,8 @@ 0 0 - 333 - 155 + 275 + 170 @@ -18,49 +18,41 @@ QLayout::SetFixedSize - - - font-weight:bold - - + + Set Location + + + + + New &location: + + + + + + + + + + + + + &Move from the current folder + + + + + + + Local data is &already there + + + + - - - - 18 - - - - - New &location: - - - - - - - - - - - - - &Move from the current folder - - - - - - - Local data is &already there - - - - - diff --git a/qt/SessionDialog.ui b/qt/SessionDialog.ui index fc8949d9e..0130be7cf 100644 --- a/qt/SessionDialog.ui +++ b/qt/SessionDialog.ui @@ -6,8 +6,8 @@ 0 0 - 250 - 265 + 248 + 297 @@ -18,106 +18,98 @@ QLayout::SetFixedSize - - - font-weight:bold - - + + Source + + + + + Start &Local Session + + + + + + + Connect to &Remote Session + + + + + + + &Host: + + + hostEdit + + + + + + + + + + &Port: + + + portSpin + + + + + + + 1 + + + 65535 + + + + + + + &Authentication required + + + + + + + &Username: + + + usernameEdit + + + + + + + + + + Pass&word: + + + passwordEdit + + + + + + + QLineEdit::Password + + + + - - - - 18 - - - - - Start &Local Session - - - - - - - Connect to &Remote Session - - - - - - - &Host: - - - hostEdit - - - - - - - - - - &Port: - - - portSpin - - - - - - - 1 - - - 65535 - - - - - - - &Authentication required - - - - - - - &Username: - - - usernameEdit - - - - - - - - - - Pass&word: - - - passwordEdit - - - - - - - QLineEdit::Password - - - - - @@ -139,12 +131,12 @@ accept() - 124 - 244 + 20 + 20 - 124 - 132 + 20 + 20 @@ -155,12 +147,12 @@ reject() - 124 - 244 + 20 + 20 - 124 - 132 + 20 + 20 diff --git a/qt/StatsDialog.ui b/qt/StatsDialog.ui index 66147944c..e24ea4534 100644 --- a/qt/StatsDialog.ui +++ b/qt/StatsDialog.ui @@ -6,8 +6,8 @@ 0 0 - 138 - 315 + 139 + 316 @@ -18,174 +18,247 @@ QLayout::SetFixedSize - - - font-weight:bold - - + + Current Session + + + + + Uploaded: + + + currentUploadedValueLabel + + + + + + + Qt::StrongFocus + + + ... + + + Qt::PlainText + + + Qt::LinksAccessibleByKeyboard|Qt::LinksAccessibleByMouse|Qt::TextBrowserInteraction|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse + + + + + + + Downloaded: + + + currentDownloadedValueLabel + + + + + + + Qt::StrongFocus + + + ... + + + Qt::PlainText + + + Qt::LinksAccessibleByKeyboard|Qt::LinksAccessibleByMouse|Qt::TextBrowserInteraction|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse + + + + + + + Ratio: + + + currentRatioValueLabel + + + + + + + Qt::StrongFocus + + + ... + + + Qt::PlainText + + + Qt::LinksAccessibleByKeyboard|Qt::LinksAccessibleByMouse|Qt::TextBrowserInteraction|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse + + + + + + + Duration: + + + currentDurationValueLabel + + + + + + + Qt::StrongFocus + + + ... + + + Qt::PlainText + + + Qt::LinksAccessibleByKeyboard|Qt::LinksAccessibleByMouse|Qt::TextBrowserInteraction|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse + + + + - - - 18 - - - - - Uploaded: - - - - - - - ... - - - - - - - Downloaded: - - - - - - - ... - - - - - - - Ratio: - - - - - - - ... - - - - - - - Duration: - - - - - - - ... - - - - - - - - - Qt::Vertical - - - QSizePolicy::Fixed - - - - 1 - 10 - - - - - - - - font-weight:bold - - + + Total + + + + + Qt::StrongFocus + + + ... + + + Qt::PlainText + + + Qt::LinksAccessibleByKeyboard|Qt::LinksAccessibleByMouse|Qt::TextBrowserInteraction|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse + + + + + + + Uploaded: + + + totalUploadedValueLabel + + + + + + + Qt::StrongFocus + + + ... + + + Qt::PlainText + + + Qt::LinksAccessibleByKeyboard|Qt::LinksAccessibleByMouse|Qt::TextBrowserInteraction|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse + + + + + + + Downloaded: + + + totalDownloadedValueLabel + + + + + + + Qt::StrongFocus + + + ... + + + Qt::PlainText + + + Qt::LinksAccessibleByKeyboard|Qt::LinksAccessibleByMouse|Qt::TextBrowserInteraction|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse + + + + + + + Ratio: + + + totalRatioValueLabel + + + + + + + Qt::StrongFocus + + + ... + + + Qt::PlainText + + + Qt::LinksAccessibleByKeyboard|Qt::LinksAccessibleByMouse|Qt::TextBrowserInteraction|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse + + + + + + + Duration: + + + totalDurationValueLabel + + + + + + + Qt::StrongFocus + + + ... + + + Qt::PlainText + + + Qt::LinksAccessibleByKeyboard|Qt::LinksAccessibleByMouse|Qt::TextBrowserInteraction|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse + + + + - - - - 18 - - - - - ... - - - - - - - Uploaded: - - - - - - - ... - - - - - - - Downloaded: - - - - - - - ... - - - - - - - Ratio: - - - - - - - ... - - - - - - - Duration: - - - - - - - ... - - - - - @@ -207,12 +280,12 @@ reject() - 71 - 282 + 20 + 20 - 71 - 151 + 20 + 20 diff --git a/qt/TrackersDialog.ui b/qt/TrackersDialog.ui index 89aaecfd6..7d92ee19c 100644 --- a/qt/TrackersDialog.ui +++ b/qt/TrackersDialog.ui @@ -18,50 +18,42 @@ - - - font-weight:bold - - + + Tracker Announce URLs + + + + + To add a backup URL, add it on the next line after a primary URL. + + + + + + + To add a new primary URL, add it after a blank line. + + + + + + + true + + + + + + + Also see Default Public Trackers in Edit > Preferences > Network + + + + - - - - 18 - - - - - To add a new primary URL, add it after a blank line. - - - - - - - true - - - - - - - <html><head/><body><p>To add a backup URL, add it on the next line after a primary URL.</p></body></html> - - - - - - - Also see Default Public Trackers in Edit > Preferences > Network - - - - -