mirror of
https://github.com/transmission/transmission
synced 2025-03-11 22:52:53 +00:00
make the `new torrent' dialog a little prettier
This commit is contained in:
parent
8ba474b868
commit
ff5e97a6db
6 changed files with 35 additions and 50 deletions
|
@ -1116,7 +1116,7 @@ tracker_page_new( TrTorrent * gtor )
|
|||
t = hig_workarea_create( );
|
||||
hig_workarea_add_section_title( t, &row, _( "Trackers" ) );
|
||||
|
||||
w = tracker_list_new( gtor, GTK_POS_RIGHT );
|
||||
w = tracker_list_new( gtor );
|
||||
hig_workarea_add_wide_control( t, &row, w );
|
||||
|
||||
hig_workarea_add_section_divider( t, &row );
|
||||
|
|
|
@ -699,8 +699,7 @@ wannaquit( void * vdata )
|
|||
gtk_table_attach_defaults( GTK_TABLE( p ), w, 1, 2, 1, 2 );
|
||||
|
||||
b = gtk_alignment_new(0.0, 1.0, 0.01, 0.01);
|
||||
w = gtk_button_new_with_label( _( "_Quit Now" ) );
|
||||
gtk_button_set_image( GTK_BUTTON(w), gtk_image_new_from_stock( GTK_STOCK_QUIT, GTK_ICON_SIZE_BUTTON ) );
|
||||
w = tr_button_new_from_stock( GTK_STOCK_QUIT, _( "_Quit Now" ) );
|
||||
g_signal_connect(w, "clicked", G_CALLBACK(do_exit_cb), NULL);
|
||||
gtk_container_add(GTK_CONTAINER(b), w);
|
||||
gtk_table_attach(GTK_TABLE(p), b, 1, 2, 2, 3, GTK_FILL, GTK_FILL, 0, 10 );
|
||||
|
|
|
@ -305,10 +305,11 @@ GtkWidget*
|
|||
make_meta_ui( GtkWindow * parent, tr_handle * handle )
|
||||
{
|
||||
int row = 0;
|
||||
GtkWidget *d, *t, *w, *h, *h2, *v, *focusMe, *extras;
|
||||
GtkWidget *b1, *b2, *d, *t, *w, *h, *h2, *v, *focusMe, *extras;
|
||||
GtkBox * main_vbox;
|
||||
MakeMetaUI * ui = g_new0 ( MakeMetaUI, 1 );
|
||||
ui->handle = handle;
|
||||
int width, height;
|
||||
|
||||
d = gtk_dialog_new_with_buttons( _("New Torrent"),
|
||||
parent,
|
||||
|
@ -344,11 +345,11 @@ make_meta_ui( GtkWindow * parent, tr_handle * handle )
|
|||
gtk_box_pack_start( GTK_BOX( v ), h2, FALSE, FALSE, 0 );
|
||||
gtk_box_pack_start_defaults( GTK_BOX( h ), v );
|
||||
v = gtk_vbox_new( FALSE, GUI_PAD_SMALL );
|
||||
w = tr_button_new_from_stock( GTK_STOCK_DIRECTORY, _( "F_older" ) );
|
||||
w = b1 = tr_button_new_from_stock( GTK_STOCK_DIRECTORY, _( "F_older" ) );
|
||||
focusMe = w;
|
||||
g_signal_connect( w, "clicked", G_CALLBACK( onChooseDirectoryClicked ), ui );
|
||||
gtk_box_pack_start_defaults( GTK_BOX( v ), w );
|
||||
w = tr_button_new_from_stock( GTK_STOCK_FILE, _( "_File" ) );
|
||||
w = b2 = tr_button_new_from_stock( GTK_STOCK_FILE, _( "_File" ) );
|
||||
g_signal_connect( w, "clicked", G_CALLBACK( onChooseFileClicked ), ui );
|
||||
gtk_box_pack_start_defaults( GTK_BOX( v ), w );
|
||||
gtk_box_pack_start( GTK_BOX( h ), v, FALSE, FALSE, 0 );
|
||||
|
@ -357,9 +358,12 @@ make_meta_ui( GtkWindow * parent, tr_handle * handle )
|
|||
hig_workarea_add_section_divider( t, &row );
|
||||
hig_workarea_add_section_title( t, &row, _( "Trackers" ) );
|
||||
|
||||
w = tracker_list_new( NULL, GTK_POS_RIGHT );
|
||||
w = tracker_list_new( NULL );
|
||||
ui->announce_list = w;
|
||||
hig_workarea_add_wide_control( t, &row, w );
|
||||
tracker_list_get_button_size( w, &width, &height );
|
||||
gtk_widget_set_size_request( b1, width, height );
|
||||
gtk_widget_set_size_request( b2, width, height );
|
||||
|
||||
hig_workarea_add_section_divider( t, &row );
|
||||
w = extras = gtk_expander_new_with_mnemonic( _( "<b>E_xtras</b>" ) );
|
||||
|
|
|
@ -250,7 +250,7 @@ onTierEdited( GtkCellRendererText * renderer UNUSED,
|
|||
}
|
||||
|
||||
GtkWidget*
|
||||
tracker_list_new( TrTorrent * gtor, GtkPositionType buttonPos )
|
||||
tracker_list_new( TrTorrent * gtor )
|
||||
{
|
||||
GtkWidget * w;
|
||||
GtkWidget * buttons;
|
||||
|
@ -265,18 +265,9 @@ tracker_list_new( TrTorrent * gtor, GtkPositionType buttonPos )
|
|||
|
||||
page->gtor = gtor;
|
||||
|
||||
if( buttonPos == GTK_POS_LEFT || buttonPos == GTK_POS_RIGHT )
|
||||
{
|
||||
top = gtk_hbox_new( FALSE, GUI_PAD );
|
||||
box = gtk_vbox_new( FALSE, GUI_PAD );
|
||||
buttons = gtk_vbox_new( TRUE, GUI_PAD );
|
||||
}
|
||||
else
|
||||
{
|
||||
top = gtk_vbox_new( FALSE, GUI_PAD );
|
||||
box = gtk_hbox_new( FALSE, 0 );
|
||||
buttons = gtk_hbox_new( TRUE, GUI_PAD );
|
||||
}
|
||||
top = gtk_hbox_new( FALSE, GUI_PAD );
|
||||
box = gtk_vbox_new( FALSE, GUI_PAD );
|
||||
buttons = gtk_vbox_new( TRUE, GUI_PAD );
|
||||
|
||||
m = tracker_model_new( tr_torrent_handle( gtor ) );
|
||||
page->store = GTK_LIST_STORE( m );
|
||||
|
@ -344,20 +335,9 @@ tracker_list_new( TrTorrent * gtor, GtkPositionType buttonPos )
|
|||
page->revert_button = w;
|
||||
}
|
||||
|
||||
|
||||
if( buttonPos == GTK_POS_LEFT || buttonPos == GTK_POS_RIGHT ) {
|
||||
gtk_box_pack_start( GTK_BOX( box ), buttons, FALSE, FALSE, 0 );
|
||||
} else {
|
||||
gtk_box_pack_end( GTK_BOX( box ), buttons, FALSE, FALSE, 0 );
|
||||
}
|
||||
|
||||
if( buttonPos == GTK_POS_LEFT || buttonPos == GTK_POS_TOP ) {
|
||||
gtk_box_pack_start( GTK_BOX( top ), box, FALSE, FALSE, 0 );
|
||||
gtk_box_pack_start_defaults( GTK_BOX( top ), fr );
|
||||
} else {
|
||||
gtk_box_pack_start_defaults( GTK_BOX( top ), fr );
|
||||
gtk_box_pack_start( GTK_BOX( top ), box, FALSE, FALSE, 0 );
|
||||
}
|
||||
gtk_box_pack_start( GTK_BOX( box ), buttons, FALSE, FALSE, 0 );
|
||||
gtk_box_pack_start_defaults( GTK_BOX( top ), fr );
|
||||
gtk_box_pack_start( GTK_BOX( top ), box, FALSE, FALSE, 0 );
|
||||
|
||||
onTrackerSelectionChanged( sel, page );
|
||||
|
||||
|
@ -391,3 +371,14 @@ tracker_list_get_trackers( GtkWidget * list,
|
|||
return trackers;
|
||||
}
|
||||
|
||||
void
|
||||
tracker_list_get_button_size( GtkWidget * list,
|
||||
gint * width,
|
||||
gint * height )
|
||||
{
|
||||
struct tracker_page * page = g_object_get_data( G_OBJECT( list ), "page" );
|
||||
GtkRequisition req;
|
||||
gtk_widget_size_request( page->remove_button, &req );
|
||||
if( width ) *width = req.width;
|
||||
if( height ) *height = req.height;
|
||||
}
|
||||
|
|
|
@ -4,8 +4,11 @@
|
|||
#include <gtk/gtkwidget.h>
|
||||
#include "tr-torrent.h"
|
||||
|
||||
GtkWidget* tracker_list_new( TrTorrent * gtor,
|
||||
GtkPositionType buttonsPosition );
|
||||
GtkWidget* tracker_list_new( TrTorrent * gtor );
|
||||
|
||||
void tracker_list_get_button_size( GtkWidget * list,
|
||||
gint * width,
|
||||
gint * height );
|
||||
|
||||
/**
|
||||
* @return an array of tr_tracker_info's. It's the caller's responsibility
|
||||
|
|
16
gtk/util.c
16
gtk/util.c
|
@ -483,20 +483,8 @@ GtkWidget *
|
|||
tr_button_new_from_stock( const char * stock,
|
||||
const char * mnemonic )
|
||||
{
|
||||
GtkWidget * button = gtk_button_new( );
|
||||
GtkWidget * label = gtk_label_new_with_mnemonic( mnemonic );
|
||||
gtk_label_set_mnemonic_widget( GTK_LABEL( label ), GTK_WIDGET( button ) );
|
||||
|
||||
GtkWidget * image = gtk_image_new_from_stock( stock, GTK_ICON_SIZE_BUTTON );
|
||||
GtkWidget * hbox = gtk_hbox_new( FALSE, GUI_PAD );
|
||||
GtkWidget * align = gtk_alignment_new( 0.5, 0.5, 0.0, 0.0 );
|
||||
|
||||
gtk_box_pack_start( GTK_BOX( hbox ), image, FALSE, FALSE, 0 );
|
||||
gtk_box_pack_end( GTK_BOX( hbox ), label, FALSE, FALSE, 0 );
|
||||
|
||||
gtk_container_add( GTK_CONTAINER( align ), hbox );
|
||||
gtk_container_add( GTK_CONTAINER( button ), align );
|
||||
gtk_widget_show_all( align );
|
||||
|
||||
GtkWidget * button = gtk_button_new_with_mnemonic( mnemonic );
|
||||
gtk_button_set_image( GTK_BUTTON( button ), image );
|
||||
return button;
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue