Ignore:
Timestamp:
Jan 11, 2009, 5:46:51 PM (13 years ago)
Author:
charles
Message:

(1.5x) updates from trunk: all of build system & libtransmission; bugfixes in daemon, cli, and gtk; sync tr_sessionInit() changes. NOTE: mac end needs to add request-list.[ch] to its libtransmissio rules

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/1.5x/gtk/tr-window.c

    r7260 r7664  
    129129                    gpointer            user_data UNUSED )
    130130{
    131     action_activate( "show-torrent-details" );
     131    action_activate( "show-torrent-properties" );
    132132}
    133133
     
    499499
    500500GtkWidget *
    501 tr_window_new( GtkUIManager * ui_manager,
    502                TrCore *       core )
     501tr_window_new( GtkUIManager * ui_mgr, TrCore * core )
    503502{
    504503    int           i, n;
    505504    const char *  pch;
    506505    PrivateData * p;
     506    GtkWidget   *mainmenu, *toolbar, *filter, *list, *status;
    507507    GtkWidget *   vbox, *w, *self, *h, *c, *s, *image, *menu;
    508508    GtkWindow *   win;
    509509    GSList *      l;
    510510    GSList *      toggles;
     511
    511512    const char *  filter_names[FILTER_MODE_QTY] = {
    512513        /* show all torrents */
     
    538539    gtk_window_set_role( win, "tr-main" );
    539540    gtk_window_set_default_size( win,
    540                                 pref_int_get( PREF_KEY_MAIN_WINDOW_WIDTH ),
    541                                 pref_int_get( PREF_KEY_MAIN_WINDOW_HEIGHT ) );
     541                                 pref_int_get( PREF_KEY_MAIN_WINDOW_WIDTH ),
     542                                 pref_int_get( PREF_KEY_MAIN_WINDOW_HEIGHT ) );
    542543    gtk_window_move( win, pref_int_get( PREF_KEY_MAIN_WINDOW_X ),
    543                     pref_int_get( PREF_KEY_MAIN_WINDOW_Y ) );
    544     gtk_window_add_accel_group( win,
    545                                gtk_ui_manager_get_accel_group( ui_manager ) );
     544                     pref_int_get( PREF_KEY_MAIN_WINDOW_Y ) );
     545    gtk_window_add_accel_group( win, gtk_ui_manager_get_accel_group( ui_mgr ) );
    546546
    547547    /* window's main container */
     
    550550
    551551    /* main menu */
    552     w = action_get_widget( "/main-window-menu" );
    553     gtk_box_pack_start( GTK_BOX( vbox ), w, FALSE, FALSE, 0 );
     552    w = mainmenu = action_get_widget( "/main-window-menu" );
    554553    w = action_get_widget( "/main-window-menu/torrent-menu/update-tracker" );
    555554#if GTK_CHECK_VERSION( 2, 12, 0 )
     
    559558
    560559    /* toolbar */
    561     w = p->toolbar = action_get_widget( "/main-window-toolbar" );
    562     gtk_box_pack_start( GTK_BOX( vbox ), w, FALSE, FALSE, 0 );
     560    w = toolbar = p->toolbar = action_get_widget( "/main-window-toolbar" );
    563561
    564562    /* filter */
    565563    toggles = NULL;
    566     h = p->filter = gtk_hbox_new( FALSE, 0 );
     564    h = filter = p->filter = gtk_hbox_new( FALSE, 0 );
    567565    gtk_container_set_border_width( GTK_CONTAINER( h ), GUI_PAD_SMALL );
    568566    for( i = 0; i < FILTER_MODE_QTY; ++i )
     
    591589                                        TRUE );
    592590    gtk_box_pack_end( GTK_BOX( h ), s, FALSE, FALSE, 0 );
    593     gtk_box_pack_start( GTK_BOX( vbox ), h, FALSE, FALSE, 0 );
    594591    g_signal_connect( s, "changed", G_CALLBACK( filter_entry_changed ), p );
    595 
    596     w = gtk_hseparator_new( );
    597     gtk_box_pack_start( GTK_BOX( vbox ), w, FALSE, FALSE, 0 );
    598592
    599593    /* status menu */
     
    618612
    619613    /* status */
    620     h = p->status = gtk_hbox_new( FALSE, GUI_PAD );
     614    h = status = p->status = gtk_hbox_new( FALSE, GUI_PAD );
    621615    gtk_container_set_border_width( GTK_CONTAINER( h ), GUI_PAD );
    622616    w = p->gutter_lb = gtk_label_new( "N Torrents" );
     
    645639    g_signal_connect( w, "button-release-event",
    646640                      G_CALLBACK( onYinYangReleased ), p );
    647     gtk_box_pack_start( GTK_BOX( vbox ), h, FALSE, FALSE, 0 );
    648641
    649642    menu = gtk_menu_new( );
     
    654647        GtkWidget *  w = gtk_radio_menu_item_new_with_label ( l, name );
    655648        l = gtk_radio_menu_item_get_group( GTK_RADIO_MENU_ITEM( w ) );
    656         g_object_set_data( G_OBJECT(
    657                               w ), FILTER_TEXT_MODE_KEY, GINT_TO_POINTER( i ) );
    658         g_signal_connect( w, "toggled", G_CALLBACK(
    659                               filter_text_toggled_cb ), p );
     649        g_object_set_data( G_OBJECT( w ), FILTER_TEXT_MODE_KEY,
     650                           GINT_TO_POINTER( i ) );
     651        g_signal_connect( w, "toggled",
     652                          G_CALLBACK( filter_text_toggled_cb ), p );
    660653        gtk_menu_shell_append( GTK_MENU_SHELL( menu ), w );
    661654        gtk_widget_show( w );
    662655    }
    663     g_signal_connect( s, "icon-released", G_CALLBACK(
    664                           entry_icon_released ), menu );
     656    g_signal_connect( s, "icon-released",
     657                      G_CALLBACK( entry_icon_released ), menu );
    665658
    666659    /* workarea */
    667660    p->view = makeview( p, core );
    668     w = p->scroll = gtk_scrolled_window_new( NULL, NULL );
    669     gtk_scrolled_window_set_policy( GTK_SCROLLED_WINDOW(
    670                                         w ), GTK_POLICY_NEVER,
    671                                     GTK_POLICY_AUTOMATIC );
    672     gtk_scrolled_window_set_shadow_type( GTK_SCROLLED_WINDOW(
    673                                              w ), GTK_SHADOW_IN );
     661    w = list = p->scroll = gtk_scrolled_window_new( NULL, NULL );
     662    gtk_scrolled_window_set_policy( GTK_SCROLLED_WINDOW( w ),
     663                                    GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC );
     664    gtk_scrolled_window_set_shadow_type( GTK_SCROLLED_WINDOW( w ),
     665                                         GTK_SHADOW_IN );
    674666    gtk_container_add( GTK_CONTAINER( w ), p->view );
    675     gtk_box_pack_start( GTK_BOX( vbox ), w, TRUE, TRUE, 0 );
    676     gtk_container_set_focus_child( GTK_CONTAINER( vbox ), w );
     667
     668    /* layout the widgets */
     669    {
     670        const char * str = pref_string_get( PREF_KEY_MAIN_WINDOW_LAYOUT_ORDER );
     671        char ** tokens = g_strsplit( str, ",", -1 );
     672        for( i=0; tokens && tokens[i]; ++i )
     673        {
     674            const char * key = tokens[i];
     675
     676            if( !strcmp( key, "menu" ) )
     677                gtk_box_pack_start( GTK_BOX( vbox ), mainmenu, FALSE, FALSE, 0 );
     678            else if( !strcmp( key, "toolbar" ) )
     679                gtk_box_pack_start( GTK_BOX( vbox ), toolbar, FALSE, FALSE, 0 );
     680            else if( !strcmp( key, "filter" ) )
     681                gtk_box_pack_start( GTK_BOX( vbox ), filter, FALSE, FALSE, 0 );
     682            else if( !strcmp( key, "list" ) )
     683                gtk_box_pack_start( GTK_BOX( vbox ), list, TRUE, TRUE, 0 );
     684            else if( !strcmp( key, "statusbar" ) )
     685                gtk_box_pack_start( GTK_BOX( vbox ), status, FALSE, FALSE, 0 );
     686        }
     687        g_strfreev( tokens );
     688    }
    677689
    678690    /* show all but the window */
     
    740752        tr_strlsize( up, stats.uploadedBytes, sizeof( up ) );
    741753        tr_strlsize( down, stats.downloadedBytes, sizeof( down ) );
    742         /* Translators: do not translate the "size|" disambiguation prefix.
     754        /* Translators: "size|" is here for disambiguation.  Please remove it from your translation.
    743755           %1$s is the size of the data we've downloaded
    744756           %2$s is the size of the data we've uploaded */
     
    751763        tr_strlsize( up, stats.uploadedBytes, sizeof( up ) );
    752764        tr_strlsize( down, stats.downloadedBytes, sizeof( down ) );
    753         /* Translators: do not translate the "size|" disambiguation prefix.
     765        /* Translators: "size|" is here for disambiguation.  Please remove it from your translation.
    754766           %1$s is the size of the data we've downloaded
    755767           %2$s is the size of the data we've uploaded */
Note: See TracChangeset for help on using the changeset viewer.