strings work: (1) folding similar strings together for easier tranlation (2) gtk: use consistent shortcuts/phrases/terminology between the preferences and "open torrent" dialogs (3) promote the port forwarding messages from Debug to Info as per BMW's request

This commit is contained in:
Charles Kerr 2008-03-18 19:14:21 +00:00
parent 549aa1679a
commit 21124a8de8
9 changed files with 51 additions and 47 deletions

View File

@ -74,8 +74,8 @@ priorityToString( const int priority )
static tr_priority_t
stringToPriority( const char* str )
{
if( !strcmp( str, _( "High" ) ) ) return TR_PRI_HIGH;
if( !strcmp( str, _( "Low" ) ) ) return TR_PRI_LOW;
if( !strcmp( str, priorityToString( TR_PRI_HIGH ) ) ) return TR_PRI_HIGH;
if( !strcmp( str, priorityToString( TR_PRI_LOW ) ) ) return TR_PRI_LOW;
return TR_PRI_NORMAL;
}
@ -245,11 +245,11 @@ priority_model_new (void)
GtkTreeIter iter;
GtkListStore * store = gtk_list_store_new (2, G_TYPE_STRING, G_TYPE_INT);
gtk_list_store_append (store, &iter);
gtk_list_store_set (store, &iter, 0, _("High"), 1, TR_PRI_HIGH, -1);
gtk_list_store_set (store, &iter, 0, priorityToString( TR_PRI_HIGH ), 1, TR_PRI_HIGH, -1);
gtk_list_store_append (store, &iter);
gtk_list_store_set (store, &iter, 0, _("Normal"), 1, TR_PRI_NORMAL, -1);
gtk_list_store_set (store, &iter, 0, priorityToString( TR_PRI_NORMAL ), 1, TR_PRI_NORMAL, -1);
gtk_list_store_append (store, &iter);
gtk_list_store_set (store, &iter, 0, _("Low"), 1, TR_PRI_LOW, -1);
gtk_list_store_set (store, &iter, 0, priorityToString( TR_PRI_LOW ), 1, TR_PRI_LOW, -1);
return GTK_TREE_MODEL (store);
}

View File

@ -29,7 +29,7 @@
enum
{
COL_SEQUENCE,
COL_CATEGORY,
COL_NAME,
COL_MESSAGE,
COL_TR_MSG,
N_COLUMNS
@ -80,7 +80,7 @@ doSave( GtkWindow * parent,
if( !fp )
{
errmsg( parent,
_("Couldn't write file \"%s\": %s"),
_("Couldn't save file \"%s\": %s"),
filename, g_strerror( errno ) );
}
else
@ -219,14 +219,16 @@ appendColumn( GtkTreeView * view, int col )
switch( col ) {
case COL_SEQUENCE: title = _( "Time" ); break;
case COL_CATEGORY: title = _( "Name"); break;
/* noun. column title for a list */
case COL_NAME: title = _( "Name"); break;
/* noun. column title for a list */
case COL_MESSAGE: title = _( "Message" ); break;
default: g_assert_not_reached( );
}
switch( col )
{
case COL_CATEGORY:
case COL_NAME:
r = gtk_cell_renderer_text_new( );
c = gtk_tree_view_column_new_with_attributes( title, r, NULL );
gtk_tree_view_column_set_cell_data_func( c, r, renderText, GINT_TO_POINTER(col), NULL );
@ -280,7 +282,7 @@ onWindowDestroyed( gpointer gdata, GObject * deadWindow UNUSED )
static tr_msg_list *
addMessages( GtkListStore * store, struct tr_msg_list * head )
{
const char * default_category = g_get_application_name( );
const char * default_name = g_get_application_name( );
static int sequence = 1;
tr_msg_list * i;
@ -290,7 +292,7 @@ addMessages( GtkListStore * store, struct tr_msg_list * head )
gtk_list_store_insert_with_values( store, &unused, 0,
COL_TR_MSG, i,
COL_CATEGORY, ( i->name ? i->name : default_category ),
COL_NAME, ( i->name ? i->name : default_name ),
COL_MESSAGE, i->message,
COL_SEQUENCE, sequence++,
-1 );
@ -439,7 +441,7 @@ msgwin_new( TrCore * core )
data->view = GTK_TREE_VIEW( view );
gtk_tree_view_set_rules_hint( data->view, TRUE );
appendColumn( data->view, COL_SEQUENCE );
appendColumn( data->view, COL_CATEGORY );
appendColumn( data->view, COL_NAME );
appendColumn( data->view, COL_MESSAGE );
w = gtk_scrolled_window_new( NULL, NULL );
gtk_scrolled_window_set_policy( GTK_SCROLLED_WINDOW( w ),

View File

@ -163,8 +163,8 @@ openSingleTorrentDialog( GtkWindow * parent,
data->filename = g_strdup( tr_ctorGetSourceFile( ctor ) );
data->destination = g_strdup( str );
data->list = file_list_new( NULL );
data->trash_check = gtk_check_button_new_with_mnemonic( _( "_Trash original torrent file" ) );
data->run_check = gtk_check_button_new_with_mnemonic( _( "_Start when added" ) );
data->trash_check = gtk_check_button_new_with_mnemonic( _( "Mo_ve source file to Trash" ) );
data->run_check = gtk_check_button_new_with_mnemonic( _( "_Start when opened" ) );
g_signal_connect( G_OBJECT( d ), "response",
G_CALLBACK( openResponseCB ), data );
@ -175,7 +175,7 @@ openSingleTorrentDialog( GtkWindow * parent,
gtk_table_set_col_spacings( GTK_TABLE( t ), GUI_PAD_BIG );
row = col = 0;
l = gtk_label_new_with_mnemonic( _( "_Torrent file:" ) );
l = gtk_label_new_with_mnemonic( _( "_Source file:" ) );
gtk_misc_set_alignment( GTK_MISC( l ), 0.0f, 0.5f );
gtk_table_attach( GTK_TABLE( t ), l, col, col+1, row, row+1, GTK_FILL, 0, 0, 0 );
++col;
@ -222,14 +222,6 @@ openSingleTorrentDialog( GtkWindow * parent,
gtk_table_attach( GTK_TABLE( t ), w, col, col+1, row, row+1, GTK_FILL, 0, 0, 0 );
g_signal_connect( w, "clicked", G_CALLBACK( verifyRequested ), data );
++row;
col = 0;
w = data->trash_check;
if( tr_ctorGetDeleteSource( ctor, &flag ) )
g_assert_not_reached( );
gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( w ), flag );
gtk_table_attach( GTK_TABLE( t ), w, col, col+2, row, row+1, GTK_FILL, 0, 0, 0 );
++row;
col = 0;
w = data->run_check;
@ -238,6 +230,14 @@ openSingleTorrentDialog( GtkWindow * parent,
gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( w ), !flag );
gtk_table_attach( GTK_TABLE( t ), w, col, col+2, row, row+1, GTK_FILL, 0, 0, 0 );
++row;
col = 0;
w = data->trash_check;
if( tr_ctorGetDeleteSource( ctor, &flag ) )
g_assert_not_reached( );
gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( w ), flag );
gtk_table_attach( GTK_TABLE( t ), w, col, col+2, row, row+1, GTK_FILL, 0, 0, 0 );
gtk_box_pack_start_defaults( GTK_BOX( GTK_DIALOG( d )->vbox ), t );
gtk_widget_show_all( d );
return d;

View File

@ -221,10 +221,12 @@ torrentPage( GObject * core )
const char * s;
GtkWidget * t;
GtkWidget * w;
#ifdef HAVE_GIO
GtkWidget * l;
#endif
t = hig_workarea_create( );
hig_workarea_add_section_title( t, &row, _( "Adding" ) );
hig_workarea_add_section_title( t, &row, _( "Opening Torrents" ) );
#ifdef HAVE_GIO
s = _( "Automatically add torrents from:" );
@ -235,15 +237,15 @@ torrentPage( GObject * core )
hig_workarea_add_row_w( t, &row, l, w, NULL );
#endif
s = _( "_Prompt for file selections and priorities" );
s = _( "Display _options dialog" );
w = new_check_button( s, PREF_KEY_OPTIONS_PROMPT, core );
hig_workarea_add_wide_control( t, &row, w );
s = _( "_Start torrents when added" );
s = _( "_Start when opened" );
w = new_check_button( s, PREF_KEY_START, core );
hig_workarea_add_wide_control( t, &row, w );
s = _( "_Trash original torrent files" );
s = _( "Mo_ve source files to Trash" );
w = new_check_button( s, PREF_KEY_TRASH_ORIGINAL, core );
hig_workarea_add_wide_control( t, &row, w );
@ -325,17 +327,17 @@ networkPage( GObject * core, gpointer alive )
hig_workarea_add_section_title (t, &row, _("Ports"));
s = _("_Forward port from router with UPnP or NAT-PMP" );
s = _("_Forward port from router" );
w = new_check_button( s, PREF_KEY_NAT, core );
hig_workarea_add_wide_control( t, &row, w );
h = gtk_hbox_new( FALSE, GUI_PAD );
h = gtk_hbox_new( FALSE, GUI_PAD_BIG );
w2 = new_spin_button( PREF_KEY_PORT, core, 1, INT_MAX, 1 );
gtk_box_pack_start( GTK_BOX(h), w2, FALSE, FALSE, 0 );
l = gtk_label_new( NULL );
gtk_misc_set_alignment( GTK_MISC(l), 0.0f, 0.5f );
gtk_box_pack_start( GTK_BOX(h), l, FALSE, FALSE, 0 );
hig_workarea_add_row( t, &row, _("Incoming TCP _port"), h, w );
hig_workarea_add_row( t, &row, _("Incoming TCP _port:"), h, w );
g_object_set_data( G_OBJECT(l), "tr-port-spin", w2 );
g_object_set_data( G_OBJECT(l), "alive", alive );

View File

@ -616,7 +616,7 @@ tr_metainfoSave( const char * hash, const char * tag,
fseek( file, 0, SEEK_SET );
if( fwrite( buf, 1, buflen, file ) != buflen )
{
tr_err( _( "Couldn't write file \"%s\": %s" ), path, tr_strerror( errno ) );
tr_err( _( "Couldn't save file \"%s\": %s" ), path, tr_strerror( errno ) );
fclose( file );
return TR_EINVALID;
}

View File

@ -65,11 +65,11 @@ static void
logVal( const char * func, int ret )
{
if( ret==NATPMP_TRYAGAIN )
tr_ndbg( getKey(), _( "%s responded 'try again'" ), func );
tr_ninf( getKey(), _( "%s responded 'try again'" ), func );
else if( ret >= 0 )
tr_ndbg( getKey(), _( "%s succeeded (%d)" ), func, ret );
tr_ninf( getKey(), _( "%s succeeded (%d)" ), func, ret );
else
tr_ndbg( getKey(), _( "%s failed (%d): %s (%d)" ), func, ret, tr_strerror(errno), errno );
tr_ninf( getKey(), _( "%s failed (%d): %s (%d)" ), func, ret, tr_strerror(errno), errno );
}
struct tr_natpmp*
@ -109,8 +109,8 @@ setCommandTime( struct tr_natpmp * nat )
static void
setErrorState( struct tr_natpmp * nat )
{
tr_ndbg( getKey(), _( "If your router supports NAT-PMP, please make sure NAT-PMP is enabled!" ) );
tr_ndbg( getKey(), _( "NAT-PMP port forwarding unsuccessful, trying UPnP next" ) );
tr_ninf( getKey(), _( "If your router supports NAT-PMP, please make sure NAT-PMP is enabled!" ) );
tr_ninf( getKey(), _( "NAT-PMP port forwarding unsuccessful, trying UPnP next" ) );
nat->state = TR_NATPMP_ERR;
}

View File

@ -92,7 +92,7 @@ makeSocketNonBlocking( int fd )
if( evutil_make_socket_nonblocking( fd ) )
#endif
{
tr_err( _( "Couldn't set socket to non-blocking mode: %s" ),
tr_err( _( "Couldn't create socket: %s" ),
tr_strerror( sockerrno ) );
tr_netClose( fd );
fd = -1;

View File

@ -96,7 +96,7 @@ natPulse( tr_shared * s )
tr_ninf( getKey(), _( "State changed from \"%s\" to \"%s\"" ), getNatStateStr(s->natStatus), getNatStateStr(status) );
s->natStatus = status;
if( status == TR_NAT_TRAVERSAL_ERROR )
tr_nerr( getKey(), _( "Port forwarding failed. Turn on debug messages and restart for more information." ) );
tr_nerr( getKey(), _( "Port forwarding failed." ) );
}
}
@ -159,7 +159,7 @@ sharedPulse( void * vshared )
}
else if( ( shared->natStatus == TR_NAT_TRAVERSAL_ERROR ) || ( shared->natStatus == TR_NAT_TRAVERSAL_UNMAPPED ) )
{
tr_ndbg( getKey(), _( "Stopped" ) );
tr_ninf( getKey(), _( "Stopped" ) );
shared->h->shared = NULL;
tr_netClose( shared->bindSocket );
tr_natpmpClose( shared->natpmp );

View File

@ -88,18 +88,18 @@ tr_upnpPulse( tr_upnp * handle, int port, int isEnabled )
errno = 0;
devlist = upnpDiscover( 2000, NULL, NULL );
if( devlist == NULL ) {
tr_ndbg( getKey(), _( "upnpDiscover failed (errno %d - %s)" ), errno, tr_strerror(errno) );
tr_ninf( getKey(), _( "upnpDiscover failed (errno %d - %s)" ), errno, tr_strerror(errno) );
}
errno = 0;
if( UPNP_GetValidIGD( devlist, &handle->urls, &handle->data, handle->lanaddr, sizeof(handle->lanaddr))) {
tr_ndbg( getKey(), _( "Found Internet Gateway Device \"%s\"" ), handle->urls.controlURL );
tr_ndbg( getKey(), _( "Local Address is \"%s\"" ), handle->lanaddr );
tr_ninf( getKey(), _( "Found Internet Gateway Device \"%s\"" ), handle->urls.controlURL );
tr_ninf( getKey(), _( "Local Address is \"%s\"" ), handle->lanaddr );
handle->state = TR_UPNP_IDLE;
handle->hasDiscovered = 1;
} else {
handle->state = TR_UPNP_ERR;
tr_ndbg( getKey(), _( "UPNP_GetValidIGD failed (errno %d - %s)" ), errno, tr_strerror(errno) );
tr_ndbg( getKey(), _( "If your router supports UPnP, please make sure UPnP is enabled!" ) );
tr_ninf( getKey(), _( "UPNP_GetValidIGD failed (errno %d - %s)" ), errno, tr_strerror(errno) );
tr_ninf( getKey(), _( "If your router supports UPnP, please make sure UPnP is enabled!" ) );
}
freeUPNPDevlist( devlist );
}
@ -117,7 +117,7 @@ tr_upnpPulse( tr_upnp * handle, int port, int isEnabled )
UPNP_DeletePortMapping( handle->urls.controlURL,
handle->data.servicetype,
portStr, "TCP" );
tr_ndbg( getKey(), _( "Stopping port forwarding of \"%s\", service \"%s\"" ),
tr_ninf( getKey(), _( "Stopping port forwarding of \"%s\", service \"%s\"" ),
handle->urls.controlURL, handle->data.servicetype );
handle->isMapped = 0;
handle->state = TR_UPNP_IDLE;
@ -153,8 +153,8 @@ tr_upnpPulse( tr_upnp * handle, int port, int isEnabled )
handle->port = port;
handle->state = TR_UPNP_IDLE;
} else {
tr_ndbg( getKey(), _( "Port forwarding failed with error %d (%d - %s)" ), err, errno, tr_strerror(errno) );
tr_ndbg( getKey(), _( "If your router supports UPnP, please make sure UPnP is enabled!" ) );
tr_ninf( getKey(), _( "Port forwarding failed with error %d (%d - %s)" ), err, errno, tr_strerror(errno) );
tr_ninf( getKey(), _( "If your router supports UPnP, please make sure UPnP is enabled!" ) );
handle->port = -1;
handle->state = TR_UPNP_ERR;
}