(trunk gtk,qt) more o/c simplification of the prefs dialog
This commit is contained in:
parent
8c812ca086
commit
0861ca3908
|
@ -376,7 +376,7 @@ updateBlocklistText( GtkWidget * w, TrCore * core )
|
|||
|
||||
/* prefs dialog is being destroyed, so stop listening to blocklist updates */
|
||||
static void
|
||||
peerPageDestroyed( gpointer gdata, GObject * dead UNUSED )
|
||||
privacyPageDestroyed( gpointer gdata, GObject * dead UNUSED )
|
||||
{
|
||||
struct blocklist_data * data = gdata;
|
||||
if( data->updateBlocklistTag > 0 )
|
||||
|
@ -487,7 +487,7 @@ new_encryption_combo( GObject * core, const char * key )
|
|||
}
|
||||
|
||||
static GtkWidget*
|
||||
peerPage( GObject * core )
|
||||
privacyPage( GObject * core )
|
||||
{
|
||||
int row = 0;
|
||||
const char * s;
|
||||
|
@ -544,16 +544,8 @@ peerPage( GObject * core )
|
|||
hig_workarea_add_wide_control( t, &row, w );
|
||||
#endif
|
||||
|
||||
hig_workarea_add_section_divider( t, &row );
|
||||
hig_workarea_add_section_title( t, &row, _( "Limits" ) );
|
||||
|
||||
w = new_spin_button( TR_PREFS_KEY_PEER_LIMIT_TORRENT, core, 1, 300, 5 );
|
||||
hig_workarea_add_row( t, &row, _( "Maximum peers per _torrent:" ), w, NULL );
|
||||
w = new_spin_button( TR_PREFS_KEY_PEER_LIMIT_GLOBAL, core, 1, 3000, 5 );
|
||||
hig_workarea_add_row( t, &row, _( "Maximum peers _overall:" ), w, NULL );
|
||||
|
||||
hig_workarea_finish( t, &row );
|
||||
g_object_weak_ref( G_OBJECT( t ), peerPageDestroyed, data );
|
||||
g_object_weak_ref( G_OBJECT( t ), privacyPageDestroyed, data );
|
||||
return t;
|
||||
}
|
||||
|
||||
|
@ -1281,7 +1273,7 @@ onCorePrefsChanged( TrCore * core UNUSED, const char * key, gpointer gdata )
|
|||
}
|
||||
|
||||
static void
|
||||
networkPageDestroyed( gpointer gdata, GObject * dead UNUSED )
|
||||
peerPageDestroyed( gpointer gdata, GObject * dead UNUSED )
|
||||
{
|
||||
struct network_page_data * data = gdata;
|
||||
if( data->prefsTag > 0 )
|
||||
|
@ -1313,7 +1305,7 @@ onPortTest( GtkButton * button UNUSED, gpointer vdata )
|
|||
}
|
||||
|
||||
static GtkWidget*
|
||||
networkPage( GObject * core )
|
||||
peerPage( GObject * core )
|
||||
{
|
||||
int row = 0;
|
||||
const char * s;
|
||||
|
@ -1339,12 +1331,12 @@ networkPage( GObject * core )
|
|||
l = data->portLabel = gtk_label_new( _( "Status unknown" ) );
|
||||
gtk_misc_set_alignment( GTK_MISC( l ), 0.0f, 0.5f );
|
||||
gtk_box_pack_start( GTK_BOX( h ), l, TRUE, TRUE, 0 );
|
||||
w = data->portButton = gtk_button_new_with_mnemonic( _( "_Test Port" ) );
|
||||
w = data->portButton = gtk_button_new_with_mnemonic( _( "Te_st Port" ) );
|
||||
gtk_box_pack_end( GTK_BOX( h ), w, FALSE, FALSE, 0 );
|
||||
g_signal_connect( w, "clicked", G_CALLBACK(onPortTest), data );
|
||||
hig_workarea_add_row( t, &row, NULL, h, NULL );
|
||||
data->prefsTag = g_signal_connect( TR_CORE( core ), "prefs-changed", G_CALLBACK( onCorePrefsChanged ), data );
|
||||
g_object_weak_ref( G_OBJECT( t ), networkPageDestroyed, data );
|
||||
g_object_weak_ref( G_OBJECT( t ), peerPageDestroyed, data );
|
||||
|
||||
s = _( "Use UPnP or NAT-PMP port _forwarding from my router" );
|
||||
w = new_check_button( s, TR_PREFS_KEY_PORT_FORWARDING, core );
|
||||
|
@ -1354,6 +1346,14 @@ networkPage( GObject * core )
|
|||
w = new_check_button( s, TR_PREFS_KEY_PEER_PORT_RANDOM_ON_START, core );
|
||||
hig_workarea_add_wide_control( t, &row, w );
|
||||
|
||||
hig_workarea_add_section_divider( t, &row );
|
||||
hig_workarea_add_section_title( t, &row, _( "Limits" ) );
|
||||
|
||||
w = new_spin_button( TR_PREFS_KEY_PEER_LIMIT_TORRENT, core, 1, 300, 5 );
|
||||
hig_workarea_add_row( t, &row, _( "Maximum peers per _torrent:" ), w, NULL );
|
||||
w = new_spin_button( TR_PREFS_KEY_PEER_LIMIT_GLOBAL, core, 1, 3000, 5 );
|
||||
hig_workarea_add_row( t, &row, _( "Maximum peers _overall:" ), w, NULL );
|
||||
|
||||
hig_workarea_finish( t, &row );
|
||||
return t;
|
||||
}
|
||||
|
@ -1386,15 +1386,15 @@ tr_prefs_dialog_new( GObject * core,
|
|||
gtk_notebook_append_page( GTK_NOTEBOOK( n ),
|
||||
torrentPage( core ),
|
||||
gtk_label_new ( _( "Torrents" ) ) );
|
||||
gtk_notebook_append_page( GTK_NOTEBOOK( n ),
|
||||
peerPage( core ),
|
||||
gtk_label_new ( _( "Peers" ) ) );
|
||||
gtk_notebook_append_page( GTK_NOTEBOOK( n ),
|
||||
bandwidthPage( core ),
|
||||
gtk_label_new ( _( "Speed" ) ) );
|
||||
gtk_notebook_append_page( GTK_NOTEBOOK( n ),
|
||||
networkPage( core ),
|
||||
gtk_label_new ( _( "Network" ) ) );
|
||||
privacyPage( core ),
|
||||
gtk_label_new ( _( "Privacy" ) ) );
|
||||
gtk_notebook_append_page( GTK_NOTEBOOK( n ),
|
||||
peerPage( core ),
|
||||
gtk_label_new ( _( "Peers" ) ) );
|
||||
gtk_notebook_append_page( GTK_NOTEBOOK( n ),
|
||||
desktopPage( core ),
|
||||
gtk_label_new ( _( "Desktop" ) ) );
|
||||
|
|
|
@ -270,7 +270,9 @@ prefsChanged( TrCore * core UNUSED,
|
|||
{
|
||||
tr_window_update( (TrWindow*)wind );
|
||||
}
|
||||
else if( !strcmp( key, TR_PREFS_KEY_ALT_SPEED_ENABLED ) )
|
||||
else if( !strcmp( key, TR_PREFS_KEY_ALT_SPEED_ENABLED ) ||
|
||||
!strcmp( key, TR_PREFS_KEY_ALT_SPEED_UP ) ||
|
||||
!strcmp( key, TR_PREFS_KEY_ALT_SPEED_DOWN ) )
|
||||
{
|
||||
syncAltSpeedButton( p );
|
||||
}
|
||||
|
@ -324,18 +326,23 @@ status_menu_toggled_cb( GtkCheckMenuItem * menu_item,
|
|||
static void
|
||||
syncAltSpeedButton( PrivateData * p )
|
||||
{
|
||||
const char * tip;
|
||||
char u[32];
|
||||
char d[32];
|
||||
char buf[128];
|
||||
const char * fmt;
|
||||
const gboolean b = pref_flag_get( TR_PREFS_KEY_ALT_SPEED_ENABLED );
|
||||
GtkWidget * w = p->alt_speed_button;
|
||||
|
||||
gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( w ), b );
|
||||
tr_strlspeed( u, pref_int_get( TR_PREFS_KEY_ALT_SPEED_UP ), sizeof( u ) );
|
||||
tr_strlspeed( d, pref_int_get( TR_PREFS_KEY_ALT_SPEED_DOWN ), sizeof( d ) );
|
||||
fmt = b ? _( "Click to disable Temporary Speed Limits\n(%1$s down, %2$s up)" )
|
||||
: _( "Click to enable Temporary Speed Limits\n(%1$s down, %2$s up)" );
|
||||
g_snprintf( buf, sizeof( buf ), fmt, d, u );
|
||||
|
||||
gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( w ), b );
|
||||
gtk_button_set_image( GTK_BUTTON( w ), p->alt_speed_image[b?1:0] );
|
||||
gtk_button_set_alignment( GTK_BUTTON( w ), 0.5, 0.5 );
|
||||
|
||||
tip = b ? _( "Click to disable Temporary Speed Limits" )
|
||||
: _( "Click to enable Temporary Speed Limits" );
|
||||
gtr_widget_set_tooltip_text( w, tip );
|
||||
gtr_widget_set_tooltip_text( w, buf );
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
|
@ -1003,12 +1003,19 @@ TrMainWindow :: refreshPref( int key )
|
|||
break;
|
||||
|
||||
case Prefs :: ALT_SPEED_LIMIT_ENABLED:
|
||||
case Prefs :: ALT_SPEED_LIMIT_UP:
|
||||
case Prefs :: ALT_SPEED_LIMIT_DOWN: {
|
||||
b = myPrefs.getBool( key );
|
||||
myAltSpeedButton->setChecked( b );
|
||||
myAltSpeedButton->setIcon( b ? mySpeedModeOnIcon : mySpeedModeOffIcon );
|
||||
myAltSpeedButton->setToolTip( b ? tr( "Click to disable Temporary Speed Limits" )
|
||||
: tr( "Click to enable Temporary Speed Limits" ) );
|
||||
const QString fmt = b ? tr( "Click to disable Temporary Speed Limits\n(%1 down, %2 up)" )
|
||||
: tr( "Click to enable Temporary Speed Limits\n(%1 down, %2 up)" );
|
||||
const Speed d = Speed::fromKbps( myPrefs.getInt( Prefs::ALT_SPEED_LIMIT_DOWN ) );
|
||||
const Speed u = Speed::fromKbps( myPrefs.getInt( Prefs::ALT_SPEED_LIMIT_UP ) );
|
||||
myAltSpeedButton->setToolTip( fmt.arg( Utils::speedToString( d ) )
|
||||
.arg( Utils::speedToString( u ) ) );
|
||||
break;
|
||||
}
|
||||
|
||||
default:
|
||||
break;
|
||||
|
|
|
@ -260,7 +260,7 @@ PrefsDialog :: altSpeedDaysEdited( int i )
|
|||
|
||||
|
||||
QWidget *
|
||||
PrefsDialog :: createBandwidthTab( )
|
||||
PrefsDialog :: createSpeedTab( )
|
||||
{
|
||||
QWidget *l, *r;
|
||||
HIG * hig = new HIG( this );
|
||||
|
@ -360,26 +360,31 @@ PrefsDialog :: onPortTest( )
|
|||
}
|
||||
|
||||
QWidget *
|
||||
PrefsDialog :: createNetworkTab( )
|
||||
PrefsDialog :: createPeersTab( )
|
||||
{
|
||||
HIG * hig = new HIG( this );
|
||||
hig->addSectionTitle( tr( "Incoming Peers" ) );
|
||||
|
||||
QSpinBox * s = spinBoxNew( Prefs::PEER_PORT, 1, 65535, 1 );
|
||||
QHBoxLayout * h = new QHBoxLayout( );
|
||||
QPushButton * b = myPortButton = new QPushButton( tr( "&Test Port" ) );
|
||||
QLabel * l = myPortLabel = new QLabel( tr( "Status unknown" ) );
|
||||
h->addWidget( l );
|
||||
h->addSpacing( HIG :: PAD_BIG );
|
||||
h->addWidget( b );
|
||||
h->setStretchFactor( l, 1 );
|
||||
connect( b, SIGNAL(clicked(bool)), this, SLOT(onPortTest()));
|
||||
connect( &mySession, SIGNAL(portTested(bool)), this, SLOT(onPortTested(bool)));
|
||||
QSpinBox * s = spinBoxNew( Prefs::PEER_PORT, 1, 65535, 1 );
|
||||
QHBoxLayout * h = new QHBoxLayout( );
|
||||
QPushButton * b = myPortButton = new QPushButton( tr( "&Test Port" ) );
|
||||
QLabel * l = myPortLabel = new QLabel( tr( "Status unknown" ) );
|
||||
h->addWidget( l );
|
||||
h->addSpacing( HIG :: PAD_BIG );
|
||||
h->addWidget( b );
|
||||
h->setStretchFactor( l, 1 );
|
||||
connect( b, SIGNAL(clicked(bool)), this, SLOT(onPortTest()));
|
||||
connect( &mySession, SIGNAL(portTested(bool)), this, SLOT(onPortTested(bool)));
|
||||
|
||||
hig->addRow( tr( "&Port for incoming connections:" ), s );
|
||||
hig->addRow( "", h, 0 );
|
||||
hig->addWideControl( checkBoxNew( tr( "Use UPnP or NAT-PMP port &forwarding from my router" ), Prefs::PORT_FORWARDING ) );
|
||||
hig->addWideControl( checkBoxNew( tr( "Pick a &random port every time Transmission is started" ), Prefs :: PEER_PORT_RANDOM_ON_START ) );
|
||||
hig->addRow( tr( "&Port for incoming connections:" ), s );
|
||||
hig->addRow( "", h, 0 );
|
||||
hig->addWideControl( checkBoxNew( tr( "Use UPnP or NAT-PMP port &forwarding from my router" ), Prefs::PORT_FORWARDING ) );
|
||||
hig->addWideControl( checkBoxNew( tr( "Pick a &random port every time Transmission is started" ), Prefs :: PEER_PORT_RANDOM_ON_START ) );
|
||||
|
||||
hig->addSectionDivider( );
|
||||
hig->addSectionTitle( tr( "Limits" ) );
|
||||
hig->addRow( tr( "Maximum peers per &torrent:" ), spinBoxNew( Prefs::PEER_LIMIT_TORRENT, 1, 300, 5 ) );
|
||||
hig->addRow( tr( "Maximum peers &overall:" ), spinBoxNew( Prefs::PEER_LIMIT_GLOBAL, 1, 3000, 5 ) );
|
||||
|
||||
hig->finish( );
|
||||
return hig;
|
||||
|
@ -439,7 +444,7 @@ PrefsDialog :: encryptionEdited( int i )
|
|||
}
|
||||
|
||||
QWidget *
|
||||
PrefsDialog :: createPeersTab( )
|
||||
PrefsDialog :: createPrivacyTab( )
|
||||
{
|
||||
HIG * hig = new HIG( this );
|
||||
hig->addSectionTitle( tr( "Blocklist" ) );
|
||||
|
@ -470,11 +475,6 @@ PrefsDialog :: createPeersTab( )
|
|||
hig->addWideControl( checkBoxNew( tr( "Use PE&X to find more peers" ), Prefs::PEX_ENABLED ) );
|
||||
hig->addWideControl( checkBoxNew( tr( "Use &DHT to find more peers" ), Prefs::DHT_ENABLED ) );
|
||||
|
||||
hig->addSectionDivider( );
|
||||
hig->addSectionTitle( tr( "Limits" ) );
|
||||
hig->addRow( tr( "Maximum peers per &torrent:" ), spinBoxNew( Prefs::PEER_LIMIT_TORRENT, 1, 300, 5 ) );
|
||||
hig->addRow( tr( "Maximum peers &overall:" ), spinBoxNew( Prefs::PEER_LIMIT_GLOBAL, 1, 3000, 5 ) );
|
||||
|
||||
hig->finish( );
|
||||
updateBlocklistCheckBox( );
|
||||
return hig;
|
||||
|
@ -575,12 +575,12 @@ PrefsDialog :: PrefsDialog( Session& session, Prefs& prefs, QWidget * parent ):
|
|||
setWindowTitle( tr( "Transmission Preferences" ) );
|
||||
|
||||
QTabWidget * t = new QTabWidget( this );
|
||||
t->addTab( createTorrentsTab( ), tr( "Torrents" ) );
|
||||
t->addTab( createPeersTab( ), tr( "Peers" ) );
|
||||
t->addTab( createBandwidthTab( ), tr( "Speed" ) );
|
||||
t->addTab( createNetworkTab( ), tr( "Network" ) );
|
||||
t->addTab( createWebTab( session ), tr( "Web" ) );
|
||||
//t->addTab( createTrackerTab( ), tr( "Trackers" ) );
|
||||
t->addTab( createTorrentsTab( ), tr( "Torrents" ) );
|
||||
t->addTab( createSpeedTab( ), tr( "Speed" ) );
|
||||
t->addTab( createPrivacyTab( ), tr( "Privacy" ) );
|
||||
t->addTab( createPeersTab( ), tr( "Peers" ) );
|
||||
t->addTab( createWebTab( session ), tr( "Web" ) );
|
||||
//t->addTab( createTrackerTab( ), tr( "Trackers" ) );
|
||||
myLayout->addWidget( t );
|
||||
|
||||
QDialogButtonBox * buttons = new QDialogButtonBox( QDialogButtonBox::Close, Qt::Horizontal, this );
|
||||
|
|
|
@ -79,8 +79,8 @@ class PrefsDialog: public QDialog
|
|||
bool isAllowed( int key ) const;
|
||||
QWidget * createTorrentsTab( );
|
||||
QWidget * createPeersTab( );
|
||||
QWidget * createNetworkTab( );
|
||||
QWidget * createBandwidthTab( );
|
||||
QWidget * createPrivacyTab( );
|
||||
QWidget * createSpeedTab( );
|
||||
QWidget * createWebTab( Session& );
|
||||
QWidget * createTrackerTab( );
|
||||
|
||||
|
|
Loading…
Reference in New Issue