From c385a1559f87e53c3f9270bb0c647836216e05c6 Mon Sep 17 00:00:00 2001 From: Jordan Lee Date: Wed, 16 Jan 2013 21:42:03 +0000 Subject: [PATCH] re-sync the GTK+ and Qt clients' prefs dialogs. --- gtk/tr-prefs.c | 232 +++++++++++++++++++++------------------------ qt/prefs-dialog.cc | 118 +++++++++++------------ qt/prefs-dialog.h | 6 +- 3 files changed, 172 insertions(+), 184 deletions(-) diff --git a/gtk/tr-prefs.c b/gtk/tr-prefs.c index 5c142f7c9..dffc3fd74 100644 --- a/gtk/tr-prefs.c +++ b/gtk/tr-prefs.c @@ -256,34 +256,52 @@ target_cb (GtkWidget * tb, gpointer target) ****/ static GtkWidget* -downloadPage (GObject * core) +downloadingPage (GObject * core) { - GtkWidget * t; - GtkWidget * w; - GtkWidget * l; - const char * s; - guint row = 0; + GtkWidget * t; + GtkWidget * w; + GtkWidget * l; + const char * s; + guint row = 0; - t = hig_workarea_create (); + t = hig_workarea_create (); + hig_workarea_add_section_title (t, &row, C_("Gerund", "Adding")); - hig_workarea_add_section_title (t, &row, _("Location")); + s = _("Automatically add .torrent files _from:"); + l = new_check_button (s, TR_KEY_watch_dir_enabled, core); + w = new_path_chooser_button (TR_KEY_watch_dir, core); + gtk_widget_set_sensitive (GTK_WIDGET (w), gtr_pref_flag_get (TR_KEY_watch_dir_enabled)); + g_signal_connect (l, "toggled", G_CALLBACK (target_cb), w); + hig_workarea_add_row_w (t, &row, l, w, NULL); + + s = _("Show the Torrent Options _dialog"); + w = new_check_button (s, TR_KEY_show_options_window, core); + hig_workarea_add_wide_control (t, &row, w); + + s = _("_Start added torrents"); + w = new_check_button (s, TR_KEY_start_added_torrents, core); + hig_workarea_add_wide_control (t, &row, w); + + s = _("Mo_ve .torrent file to the trash"); + w = new_check_button (s, TR_KEY_trash_original_torrent_files, core); + hig_workarea_add_wide_control (t, &row, w); w = new_path_chooser_button (TR_KEY_download_dir, core); hig_workarea_add_row (t, &row, _("Save to _Location:"), w, NULL); - hig_workarea_add_section_divider (t, &row); - hig_workarea_add_section_title (t, &row, _("Queue")); + hig_workarea_add_section_divider (t, &row); + hig_workarea_add_section_title (t, &row, _("Download Queue")); - s = _("Maximum active _downloads:"); + s = _("Ma_ximum active downloads:"); w = new_spin_button (TR_KEY_download_queue_size, core, 0, INT_MAX, 1); hig_workarea_add_row (t, &row, s, w, NULL); - s = _("Downloads sharing data in the last N minutes are _active:"); + s = _("Downloads sharing data in the last _N minutes are active:"); w = new_spin_button (TR_KEY_queue_stalled_minutes, core, 1, INT_MAX, 15); hig_workarea_add_row (t, &row, s, w, NULL); - hig_workarea_add_section_divider (t, &row); - hig_workarea_add_section_title (t, &row, _("Incomplete")); + hig_workarea_add_section_divider (t, &row); + hig_workarea_add_section_title (t, &row, _("Incomplete")); s = _("Append \"._part\" to incomplete files' names"); w = new_check_button (s, TR_KEY_rename_partial_files, core); @@ -296,14 +314,14 @@ downloadPage (GObject * core) g_signal_connect (l, "toggled", G_CALLBACK (target_cb), w); hig_workarea_add_row_w (t, &row, l, w, NULL); - s = _("Call _script when torrent is completed:"); + s = _("Call scrip_t when torrent is completed:"); l = new_check_button (s, TR_KEY_script_torrent_done_enabled, core); w = new_file_chooser_button (TR_KEY_script_torrent_done_filename, core); gtk_widget_set_sensitive (GTK_WIDGET (w), gtr_pref_flag_get (TR_KEY_script_torrent_done_enabled)); g_signal_connect (l, "toggled", G_CALLBACK (target_cb), w); hig_workarea_add_row_w (t, &row, l, w, NULL); - return t; + return t; } /**** @@ -311,39 +329,16 @@ downloadPage (GObject * core) ****/ static GtkWidget* -torrentPage (GObject * core) +seedingPage (GObject * core) { - const char * s; - GtkWidget * t; - GtkWidget * w; - GtkWidget * w2; - GtkWidget * l; - guint row = 0; - - t = hig_workarea_create (); - hig_workarea_add_section_title (t, &row, C_("Gerund", "Adding")); - - s = _("_Start when added"); - w = new_check_button (s, TR_KEY_start_added_torrents, core); - hig_workarea_add_wide_control (t, &row, w); - - s = _("Show _options dialog"); - w = new_check_button (s, TR_KEY_show_options_window, core); - hig_workarea_add_wide_control (t, &row, w); - - s = _("Mo_ve .torrent file to the trash"); - w = new_check_button (s, TR_KEY_trash_original_torrent_files, core); - hig_workarea_add_wide_control (t, &row, w); - - s = _("Automatically _add torrents from:"); - l = new_check_button (s, TR_KEY_watch_dir_enabled, core); - w = new_path_chooser_button (TR_KEY_watch_dir, core); - gtk_widget_set_sensitive (GTK_WIDGET (w), gtr_pref_flag_get (TR_KEY_watch_dir_enabled)); - g_signal_connect (l, "toggled", G_CALLBACK (target_cb), w); - hig_workarea_add_row_w (t, &row, l, w, NULL); + GtkWidget * t; + GtkWidget * w; + GtkWidget * w2; + const char * s; + guint row = 0; - hig_workarea_add_section_divider (t, &row); - hig_workarea_add_section_title (t, &row, C_("Gerund", "Seeding")); + t = hig_workarea_create (); + hig_workarea_add_section_title (t, &row, _("Limits")); s = _("Stop seeding at _ratio:"); w = new_check_button (s, TR_KEY_ratio_limit_enabled, core); @@ -359,7 +354,7 @@ torrentPage (GObject * core) g_signal_connect (w, "toggled", G_CALLBACK (target_cb), w2); hig_workarea_add_row_w (t, &row, w, w2, NULL); - return t; + return t; } /**** @@ -519,20 +514,27 @@ new_encryption_combo (GObject * core, const tr_quark key) static GtkWidget* privacyPage (GObject * core) { - const char * s; - GtkWidget * t; - GtkWidget * w; - GtkWidget * b; - GtkWidget * h; - GtkWidget * e; - struct blocklist_data * data; - guint row = 0; + const char * s; + GtkWidget * t; + GtkWidget * w; + GtkWidget * b; + GtkWidget * h; + GtkWidget * e; + struct blocklist_data * data; + guint row = 0; - data = g_new0 (struct blocklist_data, 1); - data->core = TR_CORE (core); + data = g_new0 (struct blocklist_data, 1); + data->core = TR_CORE (core); - t = hig_workarea_create (); - hig_workarea_add_section_title (t, &row, _("Blocklist")); + t = hig_workarea_create (); + hig_workarea_add_section_title (t, &row, _("Privacy")); + + s = _("_Encryption mode:"); + w = new_encryption_combo (core, TR_KEY_encryption); + hig_workarea_add_row (t, &row, s, w, NULL); + + hig_workarea_add_section_divider (t, &row); + hig_workarea_add_section_title (t, &row, _("Blocklist")); b = new_check_button (_("Enable _blocklist:"), TR_KEY_blocklist_enabled, core); e = new_entry (TR_KEY_blocklist_url, core); @@ -563,37 +565,12 @@ privacyPage (GObject * core) hig_workarea_add_wide_control (t, &row, w); g_signal_connect (data->check, "toggled", G_CALLBACK (target_cb), w); target_cb (data->check, w); - hig_workarea_add_section_divider (t, &row); - hig_workarea_add_section_title (t, &row, _("Privacy")); - - s = _("_Encryption mode:"); - w = new_encryption_combo (core, TR_KEY_encryption); - hig_workarea_add_row (t, &row, s, w, NULL); - - s = _("Use PE_X to find more peers"); - w = new_check_button (s, TR_KEY_pex_enabled, core); - s = _("PEX is a tool for exchanging peer lists with the peers you're connected to."); - gtk_widget_set_tooltip_text (w, s); - hig_workarea_add_wide_control (t, &row, w); - - s = _("Use _DHT to find more peers"); - w = new_check_button (s, TR_KEY_dht_enabled, core); - s = _("DHT is a tool for finding peers without a tracker."); - gtk_widget_set_tooltip_text (w, s); - hig_workarea_add_wide_control (t, &row, w); - - s = _("Use _Local Peer Discovery to find more peers"); - w = new_check_button (s, TR_KEY_lpd_enabled, core); - s = _("LPD is a tool for finding peers on your local network."); - gtk_widget_set_tooltip_text (w, s); - hig_workarea_add_wide_control (t, &row, w); - - g_object_weak_ref (G_OBJECT (t), privacyPageDestroyed, data); - return t; + g_object_weak_ref (G_OBJECT (t), privacyPageDestroyed, data); + return t; } /**** -***** Web Tab +***** Remote Tab ****/ enum @@ -787,7 +764,7 @@ remotePageFree (gpointer gpage) } static GtkWidget* -webPage (GObject * core) +remotePage (GObject * core) { GtkWidget * t; GtkWidget * w; @@ -801,10 +778,10 @@ webPage (GObject * core) t = hig_workarea_create (); g_object_set_data_full (G_OBJECT (t), "page", page, remotePageFree); - hig_workarea_add_section_title (t, &row, _("Web Client")); + hig_workarea_add_section_title (t, &row, _("Remote Control")); /* "enabled" checkbutton */ - s = _("_Enable web client"); + s = _("Allow _remote access"); w = new_check_button (s, TR_KEY_rpc_enabled, core); page->rpc_tb = GTK_TOGGLE_BUTTON (w); g_signal_connect (w, "clicked", G_CALLBACK (onRPCToggled), page); @@ -846,7 +823,7 @@ webPage (GObject * core) page->auth_widgets = g_slist_prepend (page->auth_widgets, w); /* require authentication */ - s = _("Only allow these IP a_ddresses to connect:"); + s = _("Only allow these IP a_ddresses:"); w = new_check_button (s, TR_KEY_rpc_whitelist_enabled, core); hig_workarea_add_wide_control (t, &row, w); page->whitelist_tb = GTK_TOGGLE_BUTTON (w); @@ -1023,7 +1000,7 @@ new_week_combo (GObject * core, const tr_quark key) } static void -bandwidthPageFree (gpointer gpage) +speedPageFree (gpointer gpage) { struct BandwidthPage * page = gpage; @@ -1032,7 +1009,7 @@ bandwidthPageFree (gpointer gpage) } static GtkWidget* -bandwidthPage (GObject * core) +speedPage (GObject * core) { const char * s; GtkWidget * t; @@ -1063,20 +1040,20 @@ bandwidthPage (GObject * core) hig_workarea_add_section_divider (t, &row); h = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, GUI_PAD); - w = gtk_image_new_from_stock ("alt-speed-on", -1); - gtk_box_pack_start (GTK_BOX (h), w, FALSE, FALSE, 0); g_snprintf (buf, sizeof (buf), "%s", _("Alternative Speed Limits")); w = gtk_label_new (buf); gtk_misc_set_alignment (GTK_MISC (w), 0.0f, 0.5f); gtk_label_set_use_markup (GTK_LABEL (w), TRUE); gtk_box_pack_start (GTK_BOX (h), w, FALSE, FALSE, 0); + w = gtk_image_new_from_stock ("alt-speed-on", -1); + gtk_box_pack_start (GTK_BOX (h), w, FALSE, FALSE, 0); hig_workarea_add_section_title_widget (t, &row, h); s = _("Override normal speed limits manually or at scheduled times"); g_snprintf (buf, sizeof (buf), "%s", s); w = gtk_label_new (buf); gtk_label_set_use_markup (GTK_LABEL (w), TRUE); - gtk_misc_set_alignment (GTK_MISC (w), 0.5f, 0.5f); + gtk_misc_set_alignment (GTK_MISC (w), 0.0f, 0.5f); hig_workarea_add_wide_control (t, &row, w); g_snprintf (buf, sizeof (buf), _("U_pload (%s):"), _ (speed_K_str)); @@ -1109,7 +1086,7 @@ bandwidthPage (GObject * core) w = hig_workarea_add_row (t, &row, s, w, NULL); page->sched_widgets = g_slist_prepend (page->sched_widgets, w); - g_object_set_data_full (G_OBJECT (t), "page", page, bandwidthPageFree); + g_object_set_data_full (G_OBJECT (t), "page", page, speedPageFree); refreshSchedSensitivity (page); return t; @@ -1240,6 +1217,24 @@ networkPage (GObject * core) hig_workarea_add_wide_control (t, &row, w); #endif + s = _("Use PE_X to find more peers"); + w = new_check_button (s, TR_KEY_pex_enabled, core); + s = _("PEX is a tool for exchanging peer lists with the peers you're connected to."); + gtk_widget_set_tooltip_text (w, s); + hig_workarea_add_wide_control (t, &row, w); + + s = _("Use _DHT to find more peers"); + w = new_check_button (s, TR_KEY_dht_enabled, core); + s = _("DHT is a tool for finding peers without a tracker."); + gtk_widget_set_tooltip_text (w, s); + hig_workarea_add_wide_control (t, &row, w); + + s = _("Use _Local Peer Discovery to find more peers"); + w = new_check_button (s, TR_KEY_lpd_enabled, core); + s = _("LPD is a tool for finding peers on your local network."); + gtk_widget_set_tooltip_text (w, s); + hig_workarea_add_wide_control (t, &row, w); + return t; } @@ -1265,30 +1260,23 @@ gtr_prefs_dialog_new (GtkWindow * parent, GObject * core) n = gtk_notebook_new (); gtk_container_set_border_width (GTK_CONTAINER (n), GUI_PAD); - gtk_notebook_append_page (GTK_NOTEBOOK (n), - torrentPage (core), - gtk_label_new (_("Torrents"))); - gtk_notebook_append_page (GTK_NOTEBOOK (n), - downloadPage (core), + gtk_notebook_append_page (GTK_NOTEBOOK (n), speedPage (core), + gtk_label_new (_("Speed"))); + gtk_notebook_append_page (GTK_NOTEBOOK (n), downloadingPage (core), gtk_label_new (C_("Gerund", "Downloading"))); - gtk_notebook_append_page (GTK_NOTEBOOK (n), - bandwidthPage (core), - gtk_label_new (_("Speed"))); - gtk_notebook_append_page (GTK_NOTEBOOK (n), - privacyPage (core), - gtk_label_new (_("Privacy"))); - gtk_notebook_append_page (GTK_NOTEBOOK (n), - networkPage (core), - gtk_label_new (_("Network"))); - gtk_notebook_append_page (GTK_NOTEBOOK (n), - desktopPage (core), - gtk_label_new (_("Desktop"))); - gtk_notebook_append_page (GTK_NOTEBOOK (n), - webPage (core), - gtk_label_new (_("Web"))); - - g_signal_connect (d, "response", G_CALLBACK (response_cb), core); - gtr_dialog_set_content (GTK_DIALOG (d), n); - return d; + gtk_notebook_append_page (GTK_NOTEBOOK (n), seedingPage (core), + gtk_label_new (C_("Gerund", "Seeding"))); + gtk_notebook_append_page (GTK_NOTEBOOK (n), privacyPage (core), + gtk_label_new (_("Privacy"))); + gtk_notebook_append_page (GTK_NOTEBOOK (n), networkPage (core), + gtk_label_new (_("Network"))); + gtk_notebook_append_page (GTK_NOTEBOOK (n), desktopPage (core), + gtk_label_new (_("Desktop"))); + gtk_notebook_append_page (GTK_NOTEBOOK (n), remotePage (core), + gtk_label_new (_("Remote"))); + + g_signal_connect (d, "response", G_CALLBACK (response_cb), core); + gtr_dialog_set_content (GTK_DIALOG (d), n); + return d; } diff --git a/qt/prefs-dialog.cc b/qt/prefs-dialog.cc index 51319dd3d..122eb378f 100644 --- a/qt/prefs-dialog.cc +++ b/qt/prefs-dialog.cc @@ -169,19 +169,19 @@ PrefsDialog :: lineEditNew( int key, int echoMode ) ***/ QWidget * -PrefsDialog :: createWebTab( Session& session ) +PrefsDialog :: createRemoteTab( Session& session ) { HIG * hig = new HIG( this ); - hig->addSectionTitle( tr( "Web Client" ) ); + hig->addSectionTitle( tr( "Remote Control" ) ); QWidget * w; QHBoxLayout * h = new QHBoxLayout( ); QPushButton * b = new QPushButton( tr( "&Open web client" ) ); connect( b, SIGNAL(clicked()), &session, SLOT(launchWebInterface()) ); h->addWidget( b, 0, Qt::AlignRight ); - QWidget * l = checkBoxNew( tr( "&Enable web client" ), Prefs::RPC_ENABLED ); + QWidget * l = checkBoxNew( tr( "Allow &remote access" ), Prefs::RPC_ENABLED ); myUnsupportedWhenRemote << l; hig->addRow( l, h, 0 ); - l = hig->addRow( tr( "Listening &port:" ), w = spinBoxNew( Prefs::RPC_PORT, 0, 65535, 1 ) ); + l = hig->addRow( tr( "HTTP &port:" ), w = spinBoxNew( Prefs::RPC_PORT, 0, 65535, 1 ) ); myWebWidgets << l << w; hig->addWideControl( w = checkBoxNew( tr( "Use &authentication" ), Prefs::RPC_AUTH_REQUIRED ) ); myWebWidgets << w; @@ -189,7 +189,7 @@ PrefsDialog :: createWebTab( Session& session ) myWebAuthWidgets << l << w; l = hig->addRow( tr( "Pass&word:" ), w = lineEditNew( Prefs::RPC_PASSWORD, QLineEdit::Password ) ); myWebAuthWidgets << l << w; - hig->addWideControl( w = checkBoxNew( tr( "Only allow these IP a&ddresses to connect:" ), Prefs::RPC_WHITELIST_ENABLED ) ); + hig->addWideControl( w = checkBoxNew( tr( "Only allow these IP a&ddresses:" ), Prefs::RPC_WHITELIST_ENABLED ) ); myWebWidgets << w; l = hig->addRow( tr( "Addresses:" ), w = lineEditNew( Prefs::RPC_WHITELIST ) ); myWebWhitelistWidgets << l << w; @@ -218,13 +218,13 @@ PrefsDialog :: createSpeedTab( ) hig->addSectionTitle( tr( "Speed Limits" ) ); const QString speed_K_str = Formatter::unitStr( Formatter::SPEED, Formatter::KB ); - l = checkBoxNew( tr( "Limit &download speed (%1):" ).arg( speed_K_str ), Prefs::DSPEED_ENABLED ); - r = spinBoxNew( Prefs::DSPEED, 0, INT_MAX, 5 ); + l = checkBoxNew( tr( "&Upload (%1):" ).arg( speed_K_str ), Prefs::USPEED_ENABLED ); + r = spinBoxNew( Prefs::USPEED, 0, INT_MAX, 5 ); hig->addRow( l, r ); enableBuddyWhenChecked( qobject_cast(l), r ); - l = checkBoxNew( tr( "Limit &upload speed (%1):" ).arg( speed_K_str ), Prefs::USPEED_ENABLED ); - r = spinBoxNew( Prefs::USPEED, 0, INT_MAX, 5 ); + l = checkBoxNew( tr( "&Download (%1):" ).arg( speed_K_str ), Prefs::DSPEED_ENABLED ); + r = spinBoxNew( Prefs::DSPEED, 0, INT_MAX, 5 ); hig->addRow( l, r ); enableBuddyWhenChecked( qobject_cast(l), r ); @@ -244,12 +244,12 @@ PrefsDialog :: createSpeedTab( ) QString s = tr( "Override normal speed limits manually or at scheduled times" ); hig->addWideControl( new QLabel( s ) ); - s = tr( "Limit do&wnload speed (%1):" ).arg( speed_K_str ); - r = spinBoxNew( Prefs :: ALT_SPEED_LIMIT_DOWN, 0, INT_MAX, 5 ); + s = tr( "U&pload (%1):" ).arg( speed_K_str ); + r = spinBoxNew( Prefs :: ALT_SPEED_LIMIT_UP, 0, INT_MAX, 5 ); hig->addRow( s, r ); - s = tr( "Limit u&pload speed (%1):" ).arg( speed_K_str ); - r = spinBoxNew( Prefs :: ALT_SPEED_LIMIT_UP, 0, INT_MAX, 5 ); + s = tr( "Do&wnload (%1):" ).arg( speed_K_str ); + r = spinBoxNew( Prefs :: ALT_SPEED_LIMIT_DOWN, 0, INT_MAX, 5 ); hig->addRow( s, r ); QCheckBox * c = checkBoxNew( tr( "&Scheduled times:" ), Prefs::ALT_SPEED_LIMIT_TIME_ENABLED ); @@ -352,7 +352,7 @@ PrefsDialog :: createNetworkTab( ) hig->addWideControl( checkBoxNew( tr( "Use UPnP or NAT-PMP port &forwarding from my router" ), Prefs::PORT_FORWARDING ) ); hig->addSectionDivider( ); - hig->addSectionTitle( tr( "Limits" ) ); + hig->addSectionTitle( tr( "Peer Limits" ) ); hig->addRow( tr( "Maximum peers per &torrent:" ), spinBoxNew( Prefs::PEER_LIMIT_TORRENT, 1, FD_SETSIZE, 5 ) ); hig->addRow( tr( "Maximum peers &overall:" ), spinBoxNew( Prefs::PEER_LIMIT_GLOBAL, 1, FD_SETSIZE, 5 ) ); @@ -362,6 +362,12 @@ PrefsDialog :: createNetworkTab( ) QWidget * w; hig->addWideControl( w = checkBoxNew( tr( "Enable &uTP for peer connections" ), Prefs::UTP_ENABLED ) ); w->setToolTip( tr( "uTP is a tool for reducing network congestion." ) ); + hig->addWideControl( w = checkBoxNew( tr( "Use PE&X to find more peers" ), Prefs::PEX_ENABLED ) ); + w->setToolTip( tr( "PEX is a tool for exchanging peer lists with the peers you're connected to." ) ); + hig->addWideControl( w = checkBoxNew( tr( "Use &DHT to find more peers" ), Prefs::DHT_ENABLED ) ); + w->setToolTip( tr( "DHT is a tool for finding peers without a tracker." ) ); + hig->addWideControl( w = checkBoxNew( tr( "Use &Local Peer Discovery to find more peers" ), Prefs::LPD_ENABLED ) ); + w->setToolTip( tr( "LPD is a tool for finding peers on your local network." ) ); hig->finish( ); return hig; @@ -420,6 +426,18 @@ PrefsDialog :: createPrivacyTab( ) QWidget * w; HIG * hig = new HIG( this ); + hig->addSectionTitle( tr( "Encryption" ) ); + + QComboBox * box = new QComboBox( ); + box->addItem( tr( "Allow encryption" ), 0 ); + box->addItem( tr( "Prefer encryption" ), 1 ); + box->addItem( tr( "Require encryption" ), 2 ); + myWidgets.insert( Prefs :: ENCRYPTION, box ); + connect( box, SIGNAL(activated(int)), this, SLOT(encryptionEdited(int))); + + hig->addRow( tr( "&Encryption mode:" ), box ); + + hig->addSectionDivider( ); hig->addSectionTitle( tr( "Blocklist" ) ); QWidget * l = checkBoxNew( tr("Enable &blocklist:"), Prefs::BLOCKLIST_ENABLED ); @@ -442,24 +460,6 @@ PrefsDialog :: createPrivacyTab( ) myBlockWidgets << l; hig->addWideControl( l ); - hig->addSectionDivider( ); - hig->addSectionTitle( tr( "Privacy" ) ); - - QComboBox * box = new QComboBox( ); - box->addItem( tr( "Allow encryption" ), 0 ); - box->addItem( tr( "Prefer encryption" ), 1 ); - box->addItem( tr( "Require encryption" ), 2 ); - myWidgets.insert( Prefs :: ENCRYPTION, box ); - connect( box, SIGNAL(activated(int)), this, SLOT(encryptionEdited(int))); - - hig->addRow( tr( "&Encryption mode:" ), box ); - hig->addWideControl( w = checkBoxNew( tr( "Use PE&X to find more peers" ), Prefs::PEX_ENABLED ) ); - w->setToolTip( tr( "PEX is a tool for exchanging peer lists with the peers you're connected to." ) ); - hig->addWideControl( w = checkBoxNew( tr( "Use &DHT to find more peers" ), Prefs::DHT_ENABLED ) ); - w->setToolTip( tr( "DHT is a tool for finding peers without a tracker." ) ); - hig->addWideControl( w = checkBoxNew( tr( "Use &Local Peer Discovery to find more peers" ), Prefs::LPD_ENABLED ) ); - w->setToolTip( tr( "LPD is a tool for finding peers on your local network." ) ); - hig->finish( ); updateBlocklistLabel( ); return hig; @@ -520,7 +520,7 @@ PrefsDialog :: onLocationSelected( const QString& path, int key ) } QWidget * -PrefsDialog :: createTorrentsTab( ) +PrefsDialog :: createSeedingTab( ) { const int iconSize( style( )->pixelMetric( QStyle :: PM_SmallIconSize ) ); const QFileIconProvider iconProvider; @@ -531,22 +531,7 @@ PrefsDialog :: createTorrentsTab( ) QWidget *l, *r; HIG * hig = new HIG( this ); - hig->addSectionTitle( tr( "Adding" ) ); - - hig->addWideControl( checkBoxNew( tr( "Show &options dialog" ), Prefs::OPTIONS_PROMPT ) ); - hig->addWideControl( checkBoxNew( tr( "&Start when added" ), Prefs::START ) ); - hig->addWideControl( checkBoxNew( tr( "Mo&ve .torrent file to the trash" ), Prefs::TRASH_ORIGINAL ) ); - - l = checkBoxNew( tr( "Automatically &add torrents from:" ), Prefs::DIR_WATCH_ENABLED ); - QPushButton * b = myWatchButton = new QPushButton; - b->setIcon( folderPixmap ); - b->setStyleSheet( QString::fromAscii( "text-align: left; padding-left: 5; padding-right: 5" ) ); - connect( b, SIGNAL(clicked(bool)), this, SLOT(onWatchClicked(void)) ); - hig->addRow( l, b ); - enableBuddyWhenChecked( qobject_cast(l), b ); - - hig->addSectionDivider( ); - hig->addSectionTitle( tr( "Seeding Limits" ) ); + hig->addSectionTitle( tr( "Limits" ) ); l = checkBoxNew( tr( "Stop seeding at &ratio:" ), Prefs::RATIO_ENABLED ); r = doubleSpinBoxNew( Prefs::RATIO, 0, INT_MAX, 0.5, 2 ); @@ -563,7 +548,7 @@ PrefsDialog :: createTorrentsTab( ) } QWidget * -PrefsDialog :: createDownloadTab( ) +PrefsDialog :: createDownloadingTab( ) { const int iconSize( style( )->pixelMetric( QStyle :: PM_SmallIconSize ) ); const QFileIconProvider iconProvider; @@ -572,21 +557,36 @@ PrefsDialog :: createDownloadTab( ) const QIcon fileIcon = iconProvider.icon( QFileIconProvider::File ); const QPixmap filePixmap = fileIcon.pixmap( iconSize ); - QWidget *l; + QWidget * l; + QPushButton * b; HIG * hig = new HIG( this ); - hig->addSectionTitle( tr( "Location" ) ); + hig->addSectionTitle( tr( "Adding" ) ); + + l = checkBoxNew( tr( "Automatically add .torrent files &from:" ), Prefs::DIR_WATCH_ENABLED ); + b = myWatchButton = new QPushButton; + b->setIcon( folderPixmap ); + b->setStyleSheet( QString::fromAscii( "text-align: left; padding-left: 5; padding-right: 5" ) ); + connect( b, SIGNAL(clicked(bool)), this, SLOT(onWatchClicked(void)) ); + hig->addRow( l, b ); + enableBuddyWhenChecked( qobject_cast(l), b ); + + hig->addWideControl( checkBoxNew( tr( "Show the Torrent Options &dialog" ), Prefs::OPTIONS_PROMPT ) ); + + hig->addWideControl( checkBoxNew( tr( "&Start added torrents" ), Prefs::START ) ); + + hig->addWideControl( checkBoxNew( tr( "Mo&ve the .torrent file to the trash" ), Prefs::TRASH_ORIGINAL ) ); - QPushButton * b = myDestinationButton = new QPushButton; + b = myDestinationButton = new QPushButton; b->setIcon( folderPixmap ); b->setStyleSheet( QString::fromAscii( "text-align: left; padding-left: 5; padding-right: 5" ) ); connect( b, SIGNAL(clicked(bool)), this, SLOT(onDestinationClicked(void)) ); hig->addRow( tr( "Save to &Location:" ), b ); hig->addSectionDivider( ); - hig->addSectionTitle( tr( "Queue" ) ); + hig->addSectionTitle( tr( "Download Queue" ) ); - hig->addRow( tr( "Maximum active &downloads:" ), spinBoxNew( Prefs::DOWNLOAD_QUEUE_SIZE, 1, INT_MAX, 1 ) ); - hig->addRow( tr( "Downloads sharing data in the last N minutes are &active:" ), spinBoxNew( Prefs::QUEUE_STALLED_MINUTES, 1, INT_MAX, 10 ) ); + hig->addRow( tr( "Ma&ximum active downloads:" ), spinBoxNew( Prefs::DOWNLOAD_QUEUE_SIZE, 1, INT_MAX, 1 ) ); + hig->addRow( tr( "Downloads sharing data in the last &N minutes are active:" ), spinBoxNew( Prefs::QUEUE_STALLED_MINUTES, 1, INT_MAX, 10 ) ); hig->addSectionDivider( ); hig->addSectionTitle( tr( "Incomplete" ) ); @@ -627,13 +627,13 @@ PrefsDialog :: PrefsDialog( Session& session, Prefs& prefs, QWidget * parent ): setWindowTitle( tr( "Transmission Preferences" ) ); QTabWidget * t = new QTabWidget( this ); - t->addTab( createTorrentsTab( ), tr( "Torrents" ) ); - t->addTab( createDownloadTab( ), tr( "Download" ) ); t->addTab( createSpeedTab( ), tr( "Speed" ) ); + t->addTab( createDownloadingTab( ), tr( "Downloading" ) ); + t->addTab( createSeedingTab( ), tr( "Seeding" ) ); t->addTab( createPrivacyTab( ), tr( "Privacy" ) ); t->addTab( createNetworkTab( ), tr( "Network" ) ); t->addTab( createDesktopTab( ), tr( "Desktop" ) ); - t->addTab( createWebTab( session ), tr( "Web" ) ); + t->addTab( createRemoteTab(session), tr( "Remote" ) ); myLayout->addWidget( t ); QDialogButtonBox * buttons = new QDialogButtonBox( QDialogButtonBox::Close, Qt::Horizontal, this ); diff --git a/qt/prefs-dialog.h b/qt/prefs-dialog.h index 19a191985..288077229 100644 --- a/qt/prefs-dialog.h +++ b/qt/prefs-dialog.h @@ -77,13 +77,13 @@ class PrefsDialog: public QDialog private: void setPref( int key, const QVariant& v ); bool isAllowed( int key ) const; - QWidget * createTorrentsTab( ); - QWidget * createDownloadTab( ); + QWidget * createDownloadingTab( ); + QWidget * createSeedingTab( ); QWidget * createSpeedTab( ); QWidget * createPrivacyTab( ); QWidget * createNetworkTab( ); QWidget * createDesktopTab( ); - QWidget * createWebTab( Session& ); + QWidget * createRemoteTab( Session& ); private: typedef QMap key2widget_t; -- 2.40.0