Ticket #378: pieces_bar_2.patch

File pieces_bar_2.patch, 96.3 KB (added by James_Kern, 15 years ago)
  • deluge/core/torrent.py

    diff -urp deluge-1.2.1-original/deluge/core/torrent.py deluge-1.2.1/deluge/core/torrent.py
    old new class Torrent:  
    479479        """Returns the torrents queue position"""
    480480        return self.handle.queue_position()
    481481
     482    def get_pieces_status(self):
     483        if not self.handle.has_metadata():
     484            return None
     485
     486        return self.handle.status().pieces
     487       
    482488    def get_file_progress(self):
    483489        """Returns the file progress as a list of floats.. 0.0 -> 1.0"""
    484490        if not self.handle.has_metadata():
    class Torrent:  
    642648            "num_pieces": ti_num_pieces,
    643649            "peers": self.get_peers,
    644650            "piece_length": ti_piece_length,
     651            "pieces": self.get_pieces_status,
    645652            "private": ti_priv,
    646653            "queue": self.handle.queue_position,
    647654            "ratio": self.get_ratio,
  • deluge/ui/gtkui/glade/main_window.glade

    diff -urp deluge-1.2.1-original/deluge/ui/gtkui/glade/main_window.glade deluge-1.2.1/deluge/ui/gtkui/glade/main_window.glade
    old new  
    634634                  <widget class="GtkAlignment" id="alignment43">
    635635                    <property name="visible">True</property>
    636636                    <property name="top_padding">10</property>
    637                     <property name="bottom_padding">10</property>
     637                    <property name="bottom_padding">2</property>
    638638                    <property name="left_padding">15</property>
    639639                    <property name="right_padding">15</property>
    640640                    <child>
    641641                      <widget class="GtkVBox" id="vbox3">
    642642                        <property name="visible">True</property>
    643643                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
    644                         <property name="spacing">5</property>
     644                        <property name="spacing">4</property>
    645645                        <child>
    646                           <widget class="GtkProgressBar" id="progressbar">
     646                          <widget class="GtkVBox" id="vbox8">
    647647                            <property name="visible">True</property>
    648                             <property name="show_text">True</property>
    649                             <property name="pulse_step">0.10000000149</property>
     648                            <child>
     649                              <widget class="GtkLabel" id="label28">
     650                                <property name="visible">True</property>
     651                                <property name="xalign">0</property>
     652                                <property name="label" translatable="yes">&lt;b&gt;Completed Pieces:&lt;/b&gt;</property>
     653                                <property name="use_markup">True</property>
     654                                <property name="wrap_mode">PANGO_WRAP_WORD_CHAR</property>
     655                              </widget>
     656                              <packing>
     657                                <property name="expand">False</property>
     658                              </packing>
     659                            </child>
     660                            <child>
     661                              <widget class="GtkAlignment" id="alignment12">
     662                                <property name="height_request">35</property>
     663                                <property name="visible">True</property>
     664                                <property name="top_padding">3</property>
     665                                <property name="left_padding">12</property>
     666                                <child>
     667                                  <placeholder/>
     668                                </child>
     669                              </widget>
     670                              <packing>
     671                                <property name="position">1</property>
     672                              </packing>
     673                            </child>
    650674                          </widget>
    651675                          <packing>
    652676                            <property name="expand">False</property>
    653                             <property name="fill">False</property>
    654677                          </packing>
    655678                        </child>
    656679                        <child>
     
    661684                            <property name="column_spacing">10</property>
    662685                            <property name="row_spacing">5</property>
    663686                            <child>
    664                               <widget class="GtkLabel" id="summary_auto_managed">
     687                              <widget class="GtkLabel" id="summary_date_added">
    665688                                <property name="visible">True</property>
    666689                                <property name="xalign">0</property>
    667690                              </widget>
    668691                              <packing>
    669                                 <property name="left_attach">5</property>
    670                                 <property name="right_attach">6</property>
     692                                <property name="left_attach">7</property>
     693                                <property name="right_attach">8</property>
    671694                                <property name="top_attach">3</property>
    672695                                <property name="bottom_attach">4</property>
    673696                                <property name="x_options">GTK_FILL</property>
    674697                              </packing>
    675698                            </child>
    676699                            <child>
    677                               <widget class="GtkLabel" id="label22">
     700                              <widget class="GtkLabel" id="label26">
    678701                                <property name="visible">True</property>
    679702                                <property name="xalign">0</property>
    680                                 <property name="label" translatable="yes">&lt;b&gt;Auto Managed:&lt;/b&gt;</property>
     703                                <property name="label" translatable="yes">&lt;b&gt;Date Added:&lt;/b&gt;</property>
    681704                                <property name="use_markup">True</property>
    682705                              </widget>
    683706                              <packing>
    684                                 <property name="left_attach">4</property>
    685                                 <property name="right_attach">5</property>
     707                                <property name="left_attach">6</property>
     708                                <property name="right_attach">7</property>
    686709                                <property name="top_attach">3</property>
    687710                                <property name="bottom_attach">4</property>
    688711                                <property name="x_options">GTK_FILL</property>
    689712                              </packing>
    690713                            </child>
    691714                            <child>
    692                               <widget class="GtkLabel" id="summary_seed_rank">
     715                              <widget class="GtkLabel" id="summary_total_downloaded">
    693716                                <property name="visible">True</property>
    694717                                <property name="xalign">0</property>
    695718                              </widget>
    696719                              <packing>
    697                                 <property name="left_attach">7</property>
    698                                 <property name="right_attach">8</property>
    699                                 <property name="top_attach">2</property>
    700                                 <property name="bottom_attach">3</property>
     720                                <property name="left_attach">1</property>
     721                                <property name="right_attach">2</property>
    701722                                <property name="x_options">GTK_FILL</property>
    702723                              </packing>
    703724                            </child>
    704725                            <child>
    705                               <widget class="GtkLabel" id="summary_seed_time">
     726                              <widget class="GtkLabel" id="summary_download_speed">
    706727                                <property name="visible">True</property>
    707728                                <property name="xalign">0</property>
    708729                              </widget>
    709730                              <packing>
    710                                 <property name="left_attach">7</property>
    711                                 <property name="right_attach">8</property>
    712                                 <property name="top_attach">1</property>
    713                                 <property name="bottom_attach">2</property>
     731                                <property name="left_attach">3</property>
     732                                <property name="right_attach">4</property>
    714733                                <property name="x_options">GTK_FILL</property>
    715734                              </packing>
    716735                            </child>
    717736                            <child>
    718                               <widget class="GtkLabel" id="label20">
     737                              <widget class="GtkLabel" id="summary_total_uploaded">
    719738                                <property name="visible">True</property>
    720739                                <property name="xalign">0</property>
    721                                 <property name="label" translatable="yes">&lt;b&gt;Seed Rank:&lt;/b&gt;</property>
    722                                 <property name="use_markup">True</property>
    723740                              </widget>
    724741                              <packing>
    725                                 <property name="left_attach">6</property>
    726                                 <property name="right_attach">7</property>
    727                                 <property name="top_attach">2</property>
    728                                 <property name="bottom_attach">3</property>
     742                                <property name="left_attach">1</property>
     743                                <property name="right_attach">2</property>
     744                                <property name="top_attach">1</property>
     745                                <property name="bottom_attach">2</property>
    729746                                <property name="x_options">GTK_FILL</property>
    730747                              </packing>
    731748                            </child>
    732749                            <child>
    733                               <widget class="GtkLabel" id="label19">
     750                              <widget class="GtkLabel" id="summary_upload_speed">
    734751                                <property name="visible">True</property>
    735752                                <property name="xalign">0</property>
    736                                 <property name="label" translatable="yes">&lt;b&gt;Seeding Time:&lt;/b&gt;</property>
    737                                 <property name="use_markup">True</property>
    738753                              </widget>
    739754                              <packing>
    740                                 <property name="left_attach">6</property>
    741                                 <property name="right_attach">7</property>
     755                                <property name="left_attach">3</property>
     756                                <property name="right_attach">4</property>
    742757                                <property name="top_attach">1</property>
    743758                                <property name="bottom_attach">2</property>
    744759                                <property name="x_options">GTK_FILL</property>
    745760                              </packing>
    746761                            </child>
    747762                            <child>
    748                               <widget class="GtkLabel" id="summary_active_time">
     763                              <widget class="GtkAlignment" id="alignment44">
    749764                                <property name="visible">True</property>
    750                                 <property name="xalign">0</property>
     765                                <property name="right_padding">5</property>
     766                                <child>
     767                                  <widget class="GtkLabel" id="label38">
     768                                    <property name="visible">True</property>
     769                                    <property name="xalign">0</property>
     770                                    <property name="label" translatable="yes">&lt;b&gt;Downloaded:&lt;/b&gt;</property>
     771                                    <property name="use_markup">True</property>
     772                                  </widget>
     773                                </child>
    751774                              </widget>
    752775                              <packing>
    753                                 <property name="left_attach">7</property>
    754                                 <property name="right_attach">8</property>
    755776                                <property name="x_options">GTK_FILL</property>
    756777                              </packing>
    757778                            </child>
    758779                            <child>
    759                               <widget class="GtkLabel" id="label7">
     780                              <widget class="GtkAlignment" id="alignment45">
    760781                                <property name="visible">True</property>
    761                                 <property name="xalign">0</property>
    762                                 <property name="label" translatable="yes">&lt;b&gt;Active Time:&lt;/b&gt;</property>
    763                                 <property name="use_markup">True</property>
     782                                <property name="right_padding">5</property>
     783                                <child>
     784                                  <widget class="GtkLabel" id="label39">
     785                                    <property name="visible">True</property>
     786                                    <property name="xalign">0</property>
     787                                    <property name="label" translatable="yes">&lt;b&gt;Uploaded:&lt;/b&gt;</property>
     788                                    <property name="use_markup">True</property>
     789                                  </widget>
     790                                </child>
    764791                              </widget>
    765792                              <packing>
    766                                 <property name="left_attach">6</property>
    767                                 <property name="right_attach">7</property>
     793                                <property name="top_attach">1</property>
     794                                <property name="bottom_attach">2</property>
    768795                                <property name="x_options">GTK_FILL</property>
    769796                              </packing>
    770797                            </child>
    771798                            <child>
    772                               <widget class="GtkLabel" id="summary_next_announce">
     799                              <widget class="GtkAlignment" id="alignment46">
    773800                                <property name="visible">True</property>
    774                                 <property name="xalign">0</property>
    775                                 <property name="wrap">True</property>
     801                                <property name="right_padding">5</property>
     802                                <child>
     803                                  <widget class="GtkLabel" id="label41">
     804                                    <property name="visible">True</property>
     805                                    <property name="xalign">0</property>
     806                                    <property name="label" translatable="yes">&lt;b&gt;Share Ratio:&lt;/b&gt;</property>
     807                                    <property name="use_markup">True</property>
     808                                  </widget>
     809                                </child>
    776810                              </widget>
    777811                              <packing>
    778                                 <property name="left_attach">1</property>
    779                                 <property name="right_attach">2</property>
    780                                 <property name="top_attach">3</property>
    781                                 <property name="bottom_attach">4</property>
     812                                <property name="top_attach">2</property>
     813                                <property name="bottom_attach">3</property>
    782814                                <property name="x_options">GTK_FILL</property>
    783815                              </packing>
    784816                            </child>
    785817                            <child>
    786                               <widget class="GtkLabel" id="summary_pieces">
     818                              <widget class="GtkAlignment" id="alignment47">
    787819                                <property name="visible">True</property>
    788                                 <property name="xalign">0</property>
     820                                <property name="right_padding">5</property>
     821                                <child>
     822                                  <widget class="GtkLabel" id="label53">
     823                                    <property name="visible">True</property>
     824                                    <property name="xalign">0</property>
     825                                    <property name="label" translatable="yes">&lt;b&gt;Next Announce:&lt;/b&gt;</property>
     826                                    <property name="use_markup">True</property>
     827                                  </widget>
     828                                </child>
    789829                              </widget>
    790830                              <packing>
    791                                 <property name="left_attach">3</property>
    792                                 <property name="right_attach">4</property>
    793831                                <property name="top_attach">3</property>
    794832                                <property name="bottom_attach">4</property>
    795833                                <property name="x_options">GTK_FILL</property>
    796834                              </packing>
    797835                            </child>
    798836                            <child>
    799                               <widget class="GtkLabel" id="summary_tracker_status">
    800                                 <property name="visible">True</property>
    801                                 <property name="xalign">0</property>
    802                                 <property name="wrap">True</property>
    803                                 <property name="wrap_mode">PANGO_WRAP_CHAR</property>
    804                                 <property name="selectable">True</property>
    805                               </widget>
    806                               <packing>
    807                                 <property name="left_attach">1</property>
    808                                 <property name="right_attach">8</property>
    809                                 <property name="top_attach">4</property>
    810                                 <property name="bottom_attach">5</property>
    811                                 <property name="y_options">GTK_FILL</property>
    812                               </packing>
    813                             </child>
    814                             <child>
    815                               <widget class="GtkLabel" id="label52">
     837                              <widget class="GtkAlignment" id="alignment48">
    816838                                <property name="visible">True</property>
    817                                 <property name="xalign">0</property>
    818                                 <property name="yalign">0</property>
    819                                 <property name="label" translatable="yes">&lt;b&gt;Tracker Status:&lt;/b&gt;</property>
    820                                 <property name="use_markup">True</property>
     839                                <property name="left_padding">15</property>
     840                                <property name="right_padding">5</property>
     841                                <child>
     842                                  <widget class="GtkLabel" id="label42">
     843                                    <property name="visible">True</property>
     844                                    <property name="xalign">0</property>
     845                                    <property name="label" translatable="yes">&lt;b&gt;Speed:&lt;/b&gt;</property>
     846                                    <property name="use_markup">True</property>
     847                                  </widget>
     848                                </child>
    821849                              </widget>
    822850                              <packing>
    823                                 <property name="top_attach">4</property>
    824                                 <property name="bottom_attach">5</property>
     851                                <property name="left_attach">2</property>
     852                                <property name="right_attach">3</property>
    825853                                <property name="x_options">GTK_FILL</property>
    826                                 <property name="y_options">GTK_FILL</property>
    827854                              </packing>
    828855                            </child>
    829856                            <child>
    830                               <widget class="GtkLabel" id="summary_availability">
     857                              <widget class="GtkAlignment" id="alignment49">
    831858                                <property name="visible">True</property>
    832                                 <property name="xalign">0</property>
    833                                 <property name="wrap">True</property>
    834                                 <property name="wrap_mode">PANGO_WRAP_WORD_CHAR</property>
     859                                <property name="left_padding">15</property>
     860                                <property name="right_padding">5</property>
     861                                <child>
     862                                  <widget class="GtkLabel" id="label43">
     863                                    <property name="visible">True</property>
     864                                    <property name="xalign">0</property>
     865                                    <property name="label" translatable="yes">&lt;b&gt;Speed:&lt;/b&gt;</property>
     866                                    <property name="use_markup">True</property>
     867                                  </widget>
     868                                </child>
    835869                              </widget>
    836870                              <packing>
    837                                 <property name="left_attach">5</property>
    838                                 <property name="right_attach">6</property>
    839                                 <property name="top_attach">2</property>
    840                                 <property name="bottom_attach">3</property>
     871                                <property name="left_attach">2</property>
     872                                <property name="right_attach">3</property>
     873                                <property name="top_attach">1</property>
     874                                <property name="bottom_attach">2</property>
    841875                                <property name="x_options">GTK_FILL</property>
    842876                              </packing>
    843877                            </child>
    844878                            <child>
    845                               <widget class="GtkLabel" id="label47">
     879                              <widget class="GtkAlignment" id="alignment50">
    846880                                <property name="visible">True</property>
    847                                 <property name="xalign">0</property>
    848                                 <property name="ypad">1</property>
    849                                 <property name="label" translatable="yes">&lt;b&gt;Availability:&lt;/b&gt;</property>
    850                                 <property name="use_markup">True</property>
     881                                <property name="left_padding">15</property>
     882                                <property name="right_padding">5</property>
     883                                <child>
     884                                  <widget class="GtkLabel" id="label45">
     885                                    <property name="visible">True</property>
     886                                    <property name="xalign">0</property>
     887                                    <property name="label" translatable="yes">&lt;b&gt;ETA:&lt;/b&gt;</property>
     888                                    <property name="use_markup">True</property>
     889                                  </widget>
     890                                </child>
    851891                              </widget>
    852892                              <packing>
    853                                 <property name="left_attach">4</property>
    854                                 <property name="right_attach">5</property>
     893                                <property name="left_attach">2</property>
     894                                <property name="right_attach">3</property>
    855895                                <property name="top_attach">2</property>
    856896                                <property name="bottom_attach">3</property>
    857897                                <property name="x_options">GTK_FILL</property>
    858898                              </packing>
    859899                            </child>
    860900                            <child>
    861                               <widget class="GtkLabel" id="summary_eta">
     901                              <widget class="GtkAlignment" id="alignment51">
    862902                                <property name="visible">True</property>
    863                                 <property name="xalign">0</property>
     903                                <property name="left_padding">15</property>
     904                                <property name="right_padding">5</property>
     905                                <child>
     906                                  <widget class="GtkLabel" id="label46">
     907                                    <property name="visible">True</property>
     908                                    <property name="xalign">0</property>
     909                                    <property name="label" translatable="yes">&lt;b&gt;Pieces:&lt;/b&gt;</property>
     910                                    <property name="use_markup">True</property>
     911                                  </widget>
     912                                </child>
    864913                              </widget>
    865914                              <packing>
    866                                 <property name="left_attach">3</property>
    867                                 <property name="right_attach">4</property>
    868                                 <property name="top_attach">2</property>
    869                                 <property name="bottom_attach">3</property>
     915                                <property name="left_attach">2</property>
     916                                <property name="right_attach">3</property>
     917                                <property name="top_attach">3</property>
     918                                <property name="bottom_attach">4</property>
    870919                                <property name="x_options">GTK_FILL</property>
    871920                              </packing>
    872921                            </child>
    873922                            <child>
    874                               <widget class="GtkLabel" id="summary_share_ratio">
     923                              <widget class="GtkLabel" id="label40">
    875924                                <property name="visible">True</property>
    876925                                <property name="xalign">0</property>
     926                                <property name="label" translatable="yes">&lt;b&gt;Seeders:&lt;/b&gt;</property>
     927                                <property name="use_markup">True</property>
    877928                              </widget>
    878929                              <packing>
    879                                 <property name="left_attach">1</property>
    880                                 <property name="right_attach">2</property>
    881                                 <property name="top_attach">2</property>
    882                                 <property name="bottom_attach">3</property>
     930                                <property name="left_attach">4</property>
     931                                <property name="right_attach">5</property>
    883932                                <property name="x_options">GTK_FILL</property>
    884933                              </packing>
    885934                            </child>
    886935                            <child>
    887                               <widget class="GtkLabel" id="summary_peers">
     936                              <widget class="GtkLabel" id="summary_seeders">
    888937                                <property name="visible">True</property>
    889938                                <property name="xalign">0</property>
    890939                              </widget>
    891940                              <packing>
    892941                                <property name="left_attach">5</property>
    893942                                <property name="right_attach">6</property>
    894                                 <property name="top_attach">1</property>
    895                                 <property name="bottom_attach">2</property>
    896943                                <property name="x_options">GTK_FILL</property>
    897944                              </packing>
    898945                            </child>
     
    912959                              </packing>
    913960                            </child>
    914961                            <child>
    915                               <widget class="GtkLabel" id="summary_seeders">
     962                              <widget class="GtkLabel" id="summary_peers">
    916963                                <property name="visible">True</property>
    917964                                <property name="xalign">0</property>
    918965                              </widget>
    919966                              <packing>
    920967                                <property name="left_attach">5</property>
    921968                                <property name="right_attach">6</property>
     969                                <property name="top_attach">1</property>
     970                                <property name="bottom_attach">2</property>
    922971                                <property name="x_options">GTK_FILL</property>
    923972                              </packing>
    924973                            </child>
    925974                            <child>
    926                               <widget class="GtkLabel" id="label40">
     975                              <widget class="GtkLabel" id="summary_share_ratio">
    927976                                <property name="visible">True</property>
    928977                                <property name="xalign">0</property>
    929                                 <property name="label" translatable="yes">&lt;b&gt;Seeders:&lt;/b&gt;</property>
    930                                 <property name="use_markup">True</property>
    931978                              </widget>
    932979                              <packing>
    933                                 <property name="left_attach">4</property>
    934                                 <property name="right_attach">5</property>
     980                                <property name="left_attach">1</property>
     981                                <property name="right_attach">2</property>
     982                                <property name="top_attach">2</property>
     983                                <property name="bottom_attach">3</property>
    935984                                <property name="x_options">GTK_FILL</property>
    936985                              </packing>
    937986                            </child>
    938987                            <child>
    939                               <widget class="GtkAlignment" id="alignment51">
     988                              <widget class="GtkLabel" id="summary_eta">
    940989                                <property name="visible">True</property>
    941                                 <property name="left_padding">15</property>
    942                                 <property name="right_padding">5</property>
    943                                 <child>
    944                                   <widget class="GtkLabel" id="label46">
    945                                     <property name="visible">True</property>
    946                                     <property name="xalign">0</property>
    947                                     <property name="label" translatable="yes">&lt;b&gt;Pieces:&lt;/b&gt;</property>
    948                                     <property name="use_markup">True</property>
    949                                   </widget>
    950                                 </child>
     990                                <property name="xalign">0</property>
    951991                              </widget>
    952992                              <packing>
    953                                 <property name="left_attach">2</property>
    954                                 <property name="right_attach">3</property>
    955                                 <property name="top_attach">3</property>
    956                                 <property name="bottom_attach">4</property>
     993                                <property name="left_attach">3</property>
     994                                <property name="right_attach">4</property>
     995                                <property name="top_attach">2</property>
     996                                <property name="bottom_attach">3</property>
    957997                                <property name="x_options">GTK_FILL</property>
    958998                              </packing>
    959999                            </child>
    9601000                            <child>
    961                               <widget class="GtkAlignment" id="alignment50">
     1001                              <widget class="GtkLabel" id="label47">
    9621002                                <property name="visible">True</property>
    963                                 <property name="left_padding">15</property>
    964                                 <property name="right_padding">5</property>
    965                                 <child>
    966                                   <widget class="GtkLabel" id="label45">
    967                                     <property name="visible">True</property>
    968                                     <property name="xalign">0</property>
    969                                     <property name="label" translatable="yes">&lt;b&gt;ETA:&lt;/b&gt;</property>
    970                                     <property name="use_markup">True</property>
    971                                   </widget>
    972                                 </child>
     1003                                <property name="xalign">0</property>
     1004                                <property name="ypad">1</property>
     1005                                <property name="label" translatable="yes">&lt;b&gt;Availability:&lt;/b&gt;</property>
     1006                                <property name="use_markup">True</property>
     1007                              </widget>
     1008                              <packing>
     1009                                <property name="left_attach">4</property>
     1010                                <property name="right_attach">5</property>
     1011                                <property name="top_attach">2</property>
     1012                                <property name="bottom_attach">3</property>
     1013                                <property name="x_options">GTK_FILL</property>
     1014                              </packing>
     1015                            </child>
     1016                            <child>
     1017                              <widget class="GtkLabel" id="summary_availability">
     1018                                <property name="visible">True</property>
     1019                                <property name="xalign">0</property>
     1020                                <property name="wrap">True</property>
     1021                                <property name="wrap_mode">PANGO_WRAP_WORD_CHAR</property>
    9731022                              </widget>
    9741023                              <packing>
    975                                 <property name="left_attach">2</property>
    976                                 <property name="right_attach">3</property>
     1024                                <property name="left_attach">5</property>
     1025                                <property name="right_attach">6</property>
    9771026                                <property name="top_attach">2</property>
    9781027                                <property name="bottom_attach">3</property>
    9791028                                <property name="x_options">GTK_FILL</property>
    9801029                              </packing>
    9811030                            </child>
    9821031                            <child>
    983                               <widget class="GtkAlignment" id="alignment49">
     1032                              <widget class="GtkLabel" id="label52">
    9841033                                <property name="visible">True</property>
    985                                 <property name="left_padding">15</property>
    986                                 <property name="right_padding">5</property>
    987                                 <child>
    988                                   <widget class="GtkLabel" id="label43">
    989                                     <property name="visible">True</property>
    990                                     <property name="xalign">0</property>
    991                                     <property name="label" translatable="yes">&lt;b&gt;Speed:&lt;/b&gt;</property>
    992                                     <property name="use_markup">True</property>
    993                                   </widget>
    994                                 </child>
     1034                                <property name="xalign">0</property>
     1035                                <property name="yalign">0</property>
     1036                                <property name="label" translatable="yes">&lt;b&gt;Tracker Status:&lt;/b&gt;</property>
     1037                                <property name="use_markup">True</property>
    9951038                              </widget>
    9961039                              <packing>
    997                                 <property name="left_attach">2</property>
    998                                 <property name="right_attach">3</property>
    999                                 <property name="top_attach">1</property>
    1000                                 <property name="bottom_attach">2</property>
     1040                                <property name="top_attach">4</property>
     1041                                <property name="bottom_attach">5</property>
    10011042                                <property name="x_options">GTK_FILL</property>
    10021043                              </packing>
    10031044                            </child>
    10041045                            <child>
    1005                               <widget class="GtkAlignment" id="alignment48">
     1046                              <widget class="GtkLabel" id="summary_tracker_status">
    10061047                                <property name="visible">True</property>
    1007                                 <property name="left_padding">15</property>
    1008                                 <property name="right_padding">5</property>
    1009                                 <child>
    1010                                   <widget class="GtkLabel" id="label42">
    1011                                     <property name="visible">True</property>
    1012                                     <property name="xalign">0</property>
    1013                                     <property name="label" translatable="yes">&lt;b&gt;Speed:&lt;/b&gt;</property>
    1014                                     <property name="use_markup">True</property>
    1015                                   </widget>
    1016                                 </child>
     1048                                <property name="xalign">0</property>
     1049                                <property name="wrap">True</property>
     1050                                <property name="wrap_mode">PANGO_WRAP_CHAR</property>
     1051                                <property name="selectable">True</property>
    10171052                              </widget>
    10181053                              <packing>
    1019                                 <property name="left_attach">2</property>
    1020                                 <property name="right_attach">3</property>
    1021                                 <property name="x_options">GTK_FILL</property>
     1054                                <property name="left_attach">1</property>
     1055                                <property name="right_attach">8</property>
     1056                                <property name="top_attach">4</property>
     1057                                <property name="bottom_attach">5</property>
    10221058                              </packing>
    10231059                            </child>
    10241060                            <child>
    1025                               <widget class="GtkAlignment" id="alignment47">
     1061                              <widget class="GtkLabel" id="summary_pieces">
    10261062                                <property name="visible">True</property>
    1027                                 <property name="right_padding">5</property>
    1028                                 <child>
    1029                                   <widget class="GtkLabel" id="label53">
    1030                                     <property name="visible">True</property>
    1031                                     <property name="xalign">0</property>
    1032                                     <property name="label" translatable="yes">&lt;b&gt;Next Announce:&lt;/b&gt;</property>
    1033                                     <property name="use_markup">True</property>
    1034                                   </widget>
    1035                                 </child>
     1063                                <property name="xalign">0</property>
    10361064                              </widget>
    10371065                              <packing>
     1066                                <property name="left_attach">3</property>
     1067                                <property name="right_attach">4</property>
    10381068                                <property name="top_attach">3</property>
    10391069                                <property name="bottom_attach">4</property>
    10401070                                <property name="x_options">GTK_FILL</property>
    10411071                              </packing>
    10421072                            </child>
    10431073                            <child>
    1044                               <widget class="GtkAlignment" id="alignment46">
     1074                              <widget class="GtkLabel" id="summary_next_announce">
    10451075                                <property name="visible">True</property>
    1046                                 <property name="right_padding">5</property>
    1047                                 <child>
    1048                                   <widget class="GtkLabel" id="label41">
    1049                                     <property name="visible">True</property>
    1050                                     <property name="xalign">0</property>
    1051                                     <property name="label" translatable="yes">&lt;b&gt;Share Ratio:&lt;/b&gt;</property>
    1052                                     <property name="use_markup">True</property>
    1053                                   </widget>
    1054                                 </child>
     1076                                <property name="xalign">0</property>
     1077                                <property name="wrap">True</property>
    10551078                              </widget>
    10561079                              <packing>
    1057                                 <property name="top_attach">2</property>
    1058                                 <property name="bottom_attach">3</property>
     1080                                <property name="left_attach">1</property>
     1081                                <property name="right_attach">2</property>
     1082                                <property name="top_attach">3</property>
     1083                                <property name="bottom_attach">4</property>
    10591084                                <property name="x_options">GTK_FILL</property>
    10601085                              </packing>
    10611086                            </child>
    10621087                            <child>
    1063                               <widget class="GtkAlignment" id="alignment45">
     1088                              <widget class="GtkLabel" id="label7">
    10641089                                <property name="visible">True</property>
    1065                                 <property name="right_padding">5</property>
    1066                                 <child>
    1067                                   <widget class="GtkLabel" id="label39">
    1068                                     <property name="visible">True</property>
    1069                                     <property name="xalign">0</property>
    1070                                     <property name="label" translatable="yes">&lt;b&gt;Uploaded:&lt;/b&gt;</property>
    1071                                     <property name="use_markup">True</property>
    1072                                   </widget>
    1073                                 </child>
     1090                                <property name="xalign">0</property>
     1091                                <property name="label" translatable="yes">&lt;b&gt;Active Time:&lt;/b&gt;</property>
     1092                                <property name="use_markup">True</property>
    10741093                              </widget>
    10751094                              <packing>
    1076                                 <property name="top_attach">1</property>
    1077                                 <property name="bottom_attach">2</property>
     1095                                <property name="left_attach">6</property>
     1096                                <property name="right_attach">7</property>
    10781097                                <property name="x_options">GTK_FILL</property>
    10791098                              </packing>
    10801099                            </child>
    10811100                            <child>
    1082                               <widget class="GtkAlignment" id="alignment44">
     1101                              <widget class="GtkLabel" id="summary_active_time">
    10831102                                <property name="visible">True</property>
    1084                                 <property name="right_padding">5</property>
    1085                                 <child>
    1086                                   <widget class="GtkLabel" id="label38">
    1087                                     <property name="visible">True</property>
    1088                                     <property name="xalign">0</property>
    1089                                     <property name="label" translatable="yes">&lt;b&gt;Downloaded:&lt;/b&gt;</property>
    1090                                     <property name="use_markup">True</property>
    1091                                   </widget>
    1092                                 </child>
     1103                                <property name="xalign">0</property>
    10931104                              </widget>
    10941105                              <packing>
     1106                                <property name="left_attach">7</property>
     1107                                <property name="right_attach">8</property>
    10951108                                <property name="x_options">GTK_FILL</property>
    10961109                              </packing>
    10971110                            </child>
    10981111                            <child>
    1099                               <widget class="GtkLabel" id="summary_upload_speed">
     1112                              <widget class="GtkLabel" id="label19">
    11001113                                <property name="visible">True</property>
    11011114                                <property name="xalign">0</property>
     1115                                <property name="label" translatable="yes">&lt;b&gt;Seeding Time:&lt;/b&gt;</property>
     1116                                <property name="use_markup">True</property>
    11021117                              </widget>
    11031118                              <packing>
    1104                                 <property name="left_attach">3</property>
    1105                                 <property name="right_attach">4</property>
     1119                                <property name="left_attach">6</property>
     1120                                <property name="right_attach">7</property>
    11061121                                <property name="top_attach">1</property>
    11071122                                <property name="bottom_attach">2</property>
    11081123                                <property name="x_options">GTK_FILL</property>
    11091124                              </packing>
    11101125                            </child>
    11111126                            <child>
    1112                               <widget class="GtkLabel" id="summary_total_uploaded">
     1127                              <widget class="GtkLabel" id="label20">
    11131128                                <property name="visible">True</property>
    11141129                                <property name="xalign">0</property>
     1130                                <property name="label" translatable="yes">&lt;b&gt;Seed Rank:&lt;/b&gt;</property>
     1131                                <property name="use_markup">True</property>
    11151132                              </widget>
    11161133                              <packing>
    1117                                 <property name="left_attach">1</property>
    1118                                 <property name="right_attach">2</property>
    1119                                 <property name="top_attach">1</property>
    1120                                 <property name="bottom_attach">2</property>
     1134                                <property name="left_attach">6</property>
     1135                                <property name="right_attach">7</property>
     1136                                <property name="top_attach">2</property>
     1137                                <property name="bottom_attach">3</property>
    11211138                                <property name="x_options">GTK_FILL</property>
    11221139                              </packing>
    11231140                            </child>
    11241141                            <child>
    1125                               <widget class="GtkLabel" id="summary_download_speed">
     1142                              <widget class="GtkLabel" id="summary_seed_time">
    11261143                                <property name="visible">True</property>
    11271144                                <property name="xalign">0</property>
    11281145                              </widget>
    11291146                              <packing>
    1130                                 <property name="left_attach">3</property>
    1131                                 <property name="right_attach">4</property>
     1147                                <property name="left_attach">7</property>
     1148                                <property name="right_attach">8</property>
     1149                                <property name="top_attach">1</property>
     1150                                <property name="bottom_attach">2</property>
    11321151                                <property name="x_options">GTK_FILL</property>
    11331152                              </packing>
    11341153                            </child>
    11351154                            <child>
    1136                               <widget class="GtkLabel" id="summary_total_downloaded">
     1155                              <widget class="GtkLabel" id="summary_seed_rank">
    11371156                                <property name="visible">True</property>
    11381157                                <property name="xalign">0</property>
    11391158                              </widget>
    11401159                              <packing>
    1141                                 <property name="left_attach">1</property>
    1142                                 <property name="right_attach">2</property>
     1160                                <property name="left_attach">7</property>
     1161                                <property name="right_attach">8</property>
     1162                                <property name="top_attach">2</property>
     1163                                <property name="bottom_attach">3</property>
    11431164                                <property name="x_options">GTK_FILL</property>
    11441165                              </packing>
    11451166                            </child>
    11461167                            <child>
    1147                               <widget class="GtkLabel" id="label26">
     1168                              <widget class="GtkLabel" id="label22">
    11481169                                <property name="visible">True</property>
    11491170                                <property name="xalign">0</property>
    1150                                 <property name="label" translatable="yes">&lt;b&gt;Date Added:&lt;/b&gt;</property>
     1171                                <property name="label" translatable="yes">&lt;b&gt;Auto Managed:&lt;/b&gt;</property>
    11511172                                <property name="use_markup">True</property>
    11521173                              </widget>
    11531174                              <packing>
    1154                                 <property name="left_attach">6</property>
    1155                                 <property name="right_attach">7</property>
     1175                                <property name="left_attach">4</property>
     1176                                <property name="right_attach">5</property>
    11561177                                <property name="top_attach">3</property>
    11571178                                <property name="bottom_attach">4</property>
    11581179                                <property name="x_options">GTK_FILL</property>
    11591180                              </packing>
    11601181                            </child>
    11611182                            <child>
    1162                               <widget class="GtkLabel" id="summary_date_added">
     1183                              <widget class="GtkLabel" id="summary_auto_managed">
    11631184                                <property name="visible">True</property>
    11641185                                <property name="xalign">0</property>
    11651186                              </widget>
    11661187                              <packing>
    1167                                 <property name="left_attach">7</property>
    1168                                 <property name="right_attach">8</property>
     1188                                <property name="left_attach">5</property>
     1189                                <property name="right_attach">6</property>
    11691190                                <property name="top_attach">3</property>
    11701191                                <property name="bottom_attach">4</property>
    11711192                                <property name="x_options">GTK_FILL</property>
     
    12561277                          <placeholder/>
    12571278                        </child>
    12581279                        <child>
    1259                           <widget class="GtkLabel" id="summary_comments">
     1280                          <widget class="GtkLabel" id="summary_total_size">
    12601281                            <property name="visible">True</property>
    12611282                            <property name="xalign">0</property>
    1262                             <property name="wrap_mode">PANGO_WRAP_CHAR</property>
    12631283                            <property name="selectable">True</property>
    12641284                          </widget>
    12651285                          <packing>
    12661286                            <property name="left_attach">1</property>
    1267                             <property name="right_attach">4</property>
    1268                             <property name="top_attach">5</property>
    1269                             <property name="bottom_attach">6</property>
    1270                             <property name="y_options"></property>
    1271                           </packing>
    1272                         </child>
    1273                         <child>
    1274                           <widget class="GtkLabel" id="label27">
    1275                             <property name="visible">True</property>
    1276                             <property name="xalign">0</property>
    1277                             <property name="ypad">1</property>
    1278                             <property name="label" translatable="yes">&lt;b&gt;Comments:&lt;/b&gt;</property>
    1279                             <property name="use_markup">True</property>
    1280                           </widget>
    1281                           <packing>
    1282                             <property name="top_attach">5</property>
    1283                             <property name="bottom_attach">6</property>
    1284                             <property name="x_options">GTK_FILL</property>
     1287                            <property name="right_attach">2</property>
     1288                            <property name="top_attach">3</property>
     1289                            <property name="bottom_attach">4</property>
    12851290                            <property name="y_options"></property>
    12861291                          </packing>
    12871292                        </child>
    12881293                        <child>
    1289                           <widget class="GtkLabel" id="summary_num_files">
     1294                          <widget class="GtkLabel" id="summary_message">
    12901295                            <property name="visible">True</property>
     1296                            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
    12911297                            <property name="xalign">0</property>
    12921298                            <property name="selectable">True</property>
    12931299                          </widget>
    12941300                          <packing>
    12951301                            <property name="left_attach">1</property>
    1296                             <property name="right_attach">2</property>
    1297                             <property name="top_attach">4</property>
    1298                             <property name="bottom_attach">5</property>
     1302                            <property name="right_attach">4</property>
     1303                            <property name="top_attach">6</property>
     1304                            <property name="bottom_attach">7</property>
    12991305                            <property name="y_options"></property>
    13001306                          </packing>
    13011307                        </child>
    13021308                        <child>
    1303                           <widget class="GtkLabel" id="label49">
     1309                          <widget class="GtkLabel" id="label8">
    13041310                            <property name="visible">True</property>
    13051311                            <property name="xalign">0</property>
    13061312                            <property name="ypad">1</property>
    1307                             <property name="label" translatable="yes">&lt;b&gt;# of files:&lt;/b&gt;</property>
     1313                            <property name="label" translatable="yes">&lt;b&gt;Status:&lt;/b&gt;</property>
    13081314                            <property name="use_markup">True</property>
    13091315                          </widget>
    13101316                          <packing>
    1311                             <property name="top_attach">4</property>
    1312                             <property name="bottom_attach">5</property>
     1317                            <property name="top_attach">6</property>
     1318                            <property name="bottom_attach">7</property>
    13131319                            <property name="x_options">GTK_FILL</property>
    13141320                            <property name="y_options"></property>
    13151321                          </packing>
    13161322                        </child>
    13171323                        <child>
    1318                           <widget class="GtkLabel" id="summary_hash">
     1324                          <widget class="GtkLabel" id="summary_torrent_path">
    13191325                            <property name="visible">True</property>
    13201326                            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
    13211327                            <property name="xalign">0</property>
     
    13261332                          <packing>
    13271333                            <property name="left_attach">1</property>
    13281334                            <property name="right_attach">4</property>
    1329                             <property name="top_attach">1</property>
    1330                             <property name="bottom_attach">2</property>
     1335                            <property name="top_attach">2</property>
     1336                            <property name="bottom_attach">3</property>
    13311337                            <property name="y_options"></property>
    13321338                          </packing>
    13331339                        </child>
    13341340                        <child>
    1335                           <widget class="GtkLabel" id="label10">
     1341                          <widget class="GtkAlignment" id="alignment3">
    13361342                            <property name="visible">True</property>
    13371343                            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
    1338                             <property name="xalign">0</property>
    1339                             <property name="label" translatable="yes">&lt;b&gt;Hash:&lt;/b&gt;</property>
    1340                             <property name="use_markup">True</property>
    1341                           </widget>
    1342                           <packing>
    1343                             <property name="top_attach">1</property>
    1344                             <property name="bottom_attach">2</property>
    1345                             <property name="x_options">GTK_FILL</property>
    1346                             <property name="y_options"></property>
    1347                           </packing>
    1348                         </child>
    1349                         <child>
    1350                           <widget class="GtkLabel" id="summary_tracker">
    1351                             <property name="visible">True</property>
    1352                             <property name="xalign">0</property>
    1353                             <property name="wrap_mode">PANGO_WRAP_CHAR</property>
    1354                             <property name="selectable">True</property>
    1355                           </widget>
    1356                           <packing>
    1357                             <property name="left_attach">1</property>
    1358                             <property name="right_attach">4</property>
    1359                             <property name="top_attach">7</property>
    1360                             <property name="bottom_attach">8</property>
    1361                             <property name="y_options"></property>
    1362                           </packing>
    1363                         </child>
    1364                         <child>
    1365                           <widget class="GtkLabel" id="label51">
    1366                             <property name="visible">True</property>
    1367                             <property name="xalign">0</property>
    1368                             <property name="ypad">1</property>
    1369                             <property name="label" translatable="yes">&lt;b&gt;Tracker:&lt;/b&gt;</property>
    1370                             <property name="use_markup">True</property>
     1344                            <property name="right_padding">5</property>
     1345                            <child>
     1346                              <widget class="GtkLabel" id="label1">
     1347                                <property name="visible">True</property>
     1348                                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
     1349                                <property name="xalign">0</property>
     1350                                <property name="label" translatable="yes">&lt;b&gt;Path:&lt;/b&gt;</property>
     1351                                <property name="use_markup">True</property>
     1352                              </widget>
     1353                            </child>
    13711354                          </widget>
    13721355                          <packing>
    1373                             <property name="top_attach">7</property>
    1374                             <property name="bottom_attach">8</property>
     1356                            <property name="top_attach">2</property>
     1357                            <property name="bottom_attach">3</property>
    13751358                            <property name="x_options">GTK_FILL</property>
    13761359                            <property name="y_options"></property>
    13771360                          </packing>
    13781361                        </child>
    13791362                        <child>
    1380                           <widget class="GtkAlignment" id="alignment55">
     1363                          <widget class="GtkAlignment" id="alignment62">
    13811364                            <property name="visible">True</property>
    13821365                            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
    13831366                            <property name="right_padding">5</property>
    13841367                            <child>
    1385                               <widget class="GtkLabel" id="label50">
     1368                              <widget class="GtkLabel" id="label54">
    13861369                                <property name="visible">True</property>
    13871370                                <property name="xalign">0</property>
     1371                                <property name="yalign">0</property>
    13881372                                <property name="ypad">1</property>
    1389                                 <property name="label" translatable="yes">&lt;b&gt;Total Size:&lt;/b&gt;</property>
     1373                                <property name="label" translatable="yes">&lt;b&gt;Name:&lt;/b&gt;</property>
    13901374                                <property name="use_markup">True</property>
    13911375                              </widget>
    13921376                            </child>
    13931377                          </widget>
    13941378                          <packing>
    1395                             <property name="top_attach">3</property>
    1396                             <property name="bottom_attach">4</property>
    13971379                            <property name="x_options">GTK_FILL</property>
    13981380                            <property name="y_options"></property>
    13991381                          </packing>
     
    14141396                          </packing>
    14151397                        </child>
    14161398                        <child>
    1417                           <widget class="GtkAlignment" id="alignment62">
     1399                          <widget class="GtkAlignment" id="alignment55">
    14181400                            <property name="visible">True</property>
    14191401                            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
    14201402                            <property name="right_padding">5</property>
    14211403                            <child>
    1422                               <widget class="GtkLabel" id="label54">
     1404                              <widget class="GtkLabel" id="label50">
    14231405                                <property name="visible">True</property>
    14241406                                <property name="xalign">0</property>
    1425                                 <property name="yalign">0</property>
    14261407                                <property name="ypad">1</property>
    1427                                 <property name="label" translatable="yes">&lt;b&gt;Name:&lt;/b&gt;</property>
     1408                                <property name="label" translatable="yes">&lt;b&gt;Total Size:&lt;/b&gt;</property>
    14281409                                <property name="use_markup">True</property>
    14291410                              </widget>
    14301411                            </child>
    14311412                          </widget>
    14321413                          <packing>
     1414                            <property name="top_attach">3</property>
     1415                            <property name="bottom_attach">4</property>
    14331416                            <property name="x_options">GTK_FILL</property>
    14341417                            <property name="y_options"></property>
    14351418                          </packing>
    14361419                        </child>
    14371420                        <child>
    1438                           <widget class="GtkAlignment" id="alignment3">
     1421                          <widget class="GtkLabel" id="label51">
     1422                            <property name="visible">True</property>
     1423                            <property name="xalign">0</property>
     1424                            <property name="ypad">1</property>
     1425                            <property name="label" translatable="yes">&lt;b&gt;Tracker:&lt;/b&gt;</property>
     1426                            <property name="use_markup">True</property>
     1427                          </widget>
     1428                          <packing>
     1429                            <property name="top_attach">7</property>
     1430                            <property name="bottom_attach">8</property>
     1431                            <property name="x_options">GTK_FILL</property>
     1432                            <property name="y_options"></property>
     1433                          </packing>
     1434                        </child>
     1435                        <child>
     1436                          <widget class="GtkLabel" id="summary_tracker">
     1437                            <property name="visible">True</property>
     1438                            <property name="xalign">0</property>
     1439                            <property name="wrap_mode">PANGO_WRAP_CHAR</property>
     1440                            <property name="selectable">True</property>
     1441                          </widget>
     1442                          <packing>
     1443                            <property name="left_attach">1</property>
     1444                            <property name="right_attach">4</property>
     1445                            <property name="top_attach">7</property>
     1446                            <property name="bottom_attach">8</property>
     1447                            <property name="y_options"></property>
     1448                          </packing>
     1449                        </child>
     1450                        <child>
     1451                          <widget class="GtkLabel" id="label10">
    14391452                            <property name="visible">True</property>
    14401453                            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
    1441                             <property name="right_padding">5</property>
    1442                             <child>
    1443                               <widget class="GtkLabel" id="label1">
    1444                                 <property name="visible">True</property>
    1445                                 <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
    1446                                 <property name="xalign">0</property>
    1447                                 <property name="label" translatable="yes">&lt;b&gt;Path:&lt;/b&gt;</property>
    1448                                 <property name="use_markup">True</property>
    1449                               </widget>
    1450                             </child>
     1454                            <property name="xalign">0</property>
     1455                            <property name="label" translatable="yes">&lt;b&gt;Hash:&lt;/b&gt;</property>
     1456                            <property name="use_markup">True</property>
    14511457                          </widget>
    14521458                          <packing>
    1453                             <property name="top_attach">2</property>
    1454                             <property name="bottom_attach">3</property>
     1459                            <property name="top_attach">1</property>
     1460                            <property name="bottom_attach">2</property>
    14551461                            <property name="x_options">GTK_FILL</property>
    14561462                            <property name="y_options"></property>
    14571463                          </packing>
    14581464                        </child>
    14591465                        <child>
    1460                           <widget class="GtkLabel" id="summary_torrent_path">
     1466                          <widget class="GtkLabel" id="summary_hash">
    14611467                            <property name="visible">True</property>
    14621468                            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
    14631469                            <property name="xalign">0</property>
     
    14681474                          <packing>
    14691475                            <property name="left_attach">1</property>
    14701476                            <property name="right_attach">4</property>
    1471                             <property name="top_attach">2</property>
    1472                             <property name="bottom_attach">3</property>
     1477                            <property name="top_attach">1</property>
     1478                            <property name="bottom_attach">2</property>
    14731479                            <property name="y_options"></property>
    14741480                          </packing>
    14751481                        </child>
    14761482                        <child>
    1477                           <widget class="GtkLabel" id="label8">
     1483                          <widget class="GtkLabel" id="label49">
    14781484                            <property name="visible">True</property>
    14791485                            <property name="xalign">0</property>
    14801486                            <property name="ypad">1</property>
    1481                             <property name="label" translatable="yes">&lt;b&gt;Status:&lt;/b&gt;</property>
     1487                            <property name="label" translatable="yes">&lt;b&gt;# of files:&lt;/b&gt;</property>
    14821488                            <property name="use_markup">True</property>
    14831489                          </widget>
    14841490                          <packing>
    1485                             <property name="top_attach">6</property>
    1486                             <property name="bottom_attach">7</property>
     1491                            <property name="top_attach">4</property>
     1492                            <property name="bottom_attach">5</property>
    14871493                            <property name="x_options">GTK_FILL</property>
    14881494                            <property name="y_options"></property>
    14891495                          </packing>
    14901496                        </child>
    14911497                        <child>
    1492                           <widget class="GtkLabel" id="summary_message">
     1498                          <widget class="GtkLabel" id="summary_num_files">
    14931499                            <property name="visible">True</property>
    1494                             <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
    14951500                            <property name="xalign">0</property>
    14961501                            <property name="selectable">True</property>
    14971502                          </widget>
    14981503                          <packing>
    14991504                            <property name="left_attach">1</property>
    1500                             <property name="right_attach">4</property>
    1501                             <property name="top_attach">6</property>
    1502                             <property name="bottom_attach">7</property>
     1505                            <property name="right_attach">2</property>
     1506                            <property name="top_attach">4</property>
     1507                            <property name="bottom_attach">5</property>
    15031508                            <property name="y_options"></property>
    15041509                          </packing>
    15051510                        </child>
    15061511                        <child>
    1507                           <widget class="GtkLabel" id="summary_total_size">
     1512                          <widget class="GtkLabel" id="label27">
     1513                            <property name="visible">True</property>
     1514                            <property name="xalign">0</property>
     1515                            <property name="ypad">1</property>
     1516                            <property name="label" translatable="yes">&lt;b&gt;Comments:&lt;/b&gt;</property>
     1517                            <property name="use_markup">True</property>
     1518                          </widget>
     1519                          <packing>
     1520                            <property name="top_attach">5</property>
     1521                            <property name="bottom_attach">6</property>
     1522                            <property name="x_options">GTK_FILL</property>
     1523                            <property name="y_options"></property>
     1524                          </packing>
     1525                        </child>
     1526                        <child>
     1527                          <widget class="GtkLabel" id="summary_comments">
    15081528                            <property name="visible">True</property>
    15091529                            <property name="xalign">0</property>
     1530                            <property name="wrap_mode">PANGO_WRAP_CHAR</property>
    15101531                            <property name="selectable">True</property>
    15111532                          </widget>
    15121533                          <packing>
    15131534                            <property name="left_attach">1</property>
    1514                             <property name="right_attach">2</property>
    1515                             <property name="top_attach">3</property>
    1516                             <property name="bottom_attach">4</property>
     1535                            <property name="right_attach">4</property>
     1536                            <property name="top_attach">5</property>
     1537                            <property name="bottom_attach">6</property>
    15171538                            <property name="y_options"></property>
    15181539                          </packing>
    15191540                        </child>
     
    16941715                                  <placeholder/>
    16951716                                </child>
    16961717                                <child>
    1697                                   <widget class="GtkSpinButton" id="spin_max_connections">
     1718                                  <widget class="GtkSpinButton" id="spin_max_upload_slots">
    16981719                                    <property name="visible">True</property>
    16991720                                    <property name="can_focus">True</property>
    17001721                                    <property name="width_chars">6</property>
     
    17041725                                  <packing>
    17051726                                    <property name="left_attach">1</property>
    17061727                                    <property name="right_attach">2</property>
    1707                                     <property name="top_attach">2</property>
    1708                                     <property name="bottom_attach">3</property>
     1728                                    <property name="top_attach">3</property>
     1729                                    <property name="bottom_attach">4</property>
    17091730                                    <property name="x_options"></property>
    17101731                                    <property name="y_options"></property>
    17111732                                  </packing>
    17121733                                </child>
    17131734                                <child>
    1714                                   <widget class="GtkSpinButton" id="spin_max_upload">
     1735                                  <widget class="GtkLabel" id="label15">
    17151736                                    <property name="visible">True</property>
    1716                                     <property name="can_focus">True</property>
    1717                                     <property name="width_chars">6</property>
    1718                                     <property name="xalign">1</property>
    1719                                     <property name="adjustment">-1 -1 99999 1 10 0</property>
    1720                                     <property name="digits">1</property>
     1737                                    <property name="xalign">0</property>
     1738                                    <property name="label" translatable="yes">Max Upload Slots:</property>
    17211739                                  </widget>
    17221740                                  <packing>
    1723                                     <property name="left_attach">1</property>
    1724                                     <property name="right_attach">2</property>
     1741                                    <property name="top_attach">3</property>
     1742                                    <property name="bottom_attach">4</property>
     1743                                    <property name="x_options">GTK_FILL</property>
     1744                                    <property name="y_options"></property>
     1745                                  </packing>
     1746                                </child>
     1747                                <child>
     1748                                  <widget class="GtkLabel" id="label14">
     1749                                    <property name="visible">True</property>
     1750                                    <property name="label" translatable="yes">KiB/s</property>
     1751                                  </widget>
     1752                                  <packing>
     1753                                    <property name="left_attach">2</property>
     1754                                    <property name="right_attach">3</property>
    17251755                                    <property name="top_attach">1</property>
    17261756                                    <property name="bottom_attach">2</property>
    17271757                                    <property name="x_options"></property>
     
    17291759                                  </packing>
    17301760                                </child>
    17311761                                <child>
    1732                                   <widget class="GtkSpinButton" id="spin_max_download">
     1762                                  <widget class="GtkLabel" id="label13">
    17331763                                    <property name="visible">True</property>
    1734                                     <property name="can_focus">True</property>
    1735                                     <property name="width_chars">6</property>
    1736                                     <property name="xalign">1</property>
    1737                                     <property name="adjustment">-1 -1 999999 1 10 0</property>
    1738                                     <property name="digits">1</property>
     1764                                    <property name="label" translatable="yes">KiB/s</property>
    17391765                                  </widget>
    17401766                                  <packing>
    1741                                     <property name="left_attach">1</property>
    1742                                     <property name="right_attach">2</property>
     1767                                    <property name="left_attach">2</property>
     1768                                    <property name="right_attach">3</property>
    17431769                                    <property name="x_options"></property>
    17441770                                    <property name="y_options"></property>
    17451771                                  </packing>
    17461772                                </child>
    17471773                                <child>
    1748                                   <widget class="GtkLabel" id="label12">
     1774                                  <widget class="GtkLabel" id="label9">
    17491775                                    <property name="visible">True</property>
    17501776                                    <property name="xalign">0</property>
    1751                                     <property name="label" translatable="yes">Max Connections:</property>
     1777                                    <property name="label" translatable="yes">Max Download Speed:</property>
    17521778                                  </widget>
    17531779                                  <packing>
    1754                                     <property name="top_attach">2</property>
    1755                                     <property name="bottom_attach">3</property>
    17561780                                    <property name="x_options">GTK_FILL</property>
    17571781                                    <property name="y_options"></property>
    17581782                                  </packing>
     
    17711795                                  </packing>
    17721796                                </child>
    17731797                                <child>
    1774                                   <widget class="GtkLabel" id="label9">
     1798                                  <widget class="GtkLabel" id="label12">
    17751799                                    <property name="visible">True</property>
    17761800                                    <property name="xalign">0</property>
    1777                                     <property name="label" translatable="yes">Max Download Speed:</property>
     1801                                    <property name="label" translatable="yes">Max Connections:</property>
    17781802                                  </widget>
    17791803                                  <packing>
     1804                                    <property name="top_attach">2</property>
     1805                                    <property name="bottom_attach">3</property>
    17801806                                    <property name="x_options">GTK_FILL</property>
    17811807                                    <property name="y_options"></property>
    17821808                                  </packing>
    17831809                                </child>
    17841810                                <child>
    1785                                   <widget class="GtkLabel" id="label13">
     1811                                  <widget class="GtkSpinButton" id="spin_max_download">
    17861812                                    <property name="visible">True</property>
    1787                                     <property name="label" translatable="yes">KiB/s</property>
     1813                                    <property name="can_focus">True</property>
     1814                                    <property name="width_chars">6</property>
     1815                                    <property name="xalign">1</property>
     1816                                    <property name="adjustment">-1 -1 999999 1 10 0</property>
     1817                                    <property name="digits">1</property>
    17881818                                  </widget>
    17891819                                  <packing>
    1790                                     <property name="left_attach">2</property>
    1791                                     <property name="right_attach">3</property>
     1820                                    <property name="left_attach">1</property>
     1821                                    <property name="right_attach">2</property>
    17921822                                    <property name="x_options"></property>
    17931823                                    <property name="y_options"></property>
    17941824                                  </packing>
    17951825                                </child>
    17961826                                <child>
    1797                                   <widget class="GtkLabel" id="label14">
     1827                                  <widget class="GtkSpinButton" id="spin_max_upload">
    17981828                                    <property name="visible">True</property>
    1799                                     <property name="label" translatable="yes">KiB/s</property>
     1829                                    <property name="can_focus">True</property>
     1830                                    <property name="width_chars">6</property>
     1831                                    <property name="xalign">1</property>
     1832                                    <property name="adjustment">-1 -1 99999 1 10 0</property>
     1833                                    <property name="digits">1</property>
    18001834                                  </widget>
    18011835                                  <packing>
    1802                                     <property name="left_attach">2</property>
    1803                                     <property name="right_attach">3</property>
     1836                                    <property name="left_attach">1</property>
     1837                                    <property name="right_attach">2</property>
    18041838                                    <property name="top_attach">1</property>
    18051839                                    <property name="bottom_attach">2</property>
    18061840                                    <property name="x_options"></property>
     
    18081842                                  </packing>
    18091843                                </child>
    18101844                                <child>
    1811                                   <widget class="GtkLabel" id="label15">
    1812                                     <property name="visible">True</property>
    1813                                     <property name="xalign">0</property>
    1814                                     <property name="label" translatable="yes">Max Upload Slots:</property>
    1815                                   </widget>
    1816                                   <packing>
    1817                                     <property name="top_attach">3</property>
    1818                                     <property name="bottom_attach">4</property>
    1819                                     <property name="x_options">GTK_FILL</property>
    1820                                     <property name="y_options"></property>
    1821                                   </packing>
    1822                                 </child>
    1823                                 <child>
    1824                                   <widget class="GtkSpinButton" id="spin_max_upload_slots">
     1845                                  <widget class="GtkSpinButton" id="spin_max_connections">
    18251846                                    <property name="visible">True</property>
    18261847                                    <property name="can_focus">True</property>
    18271848                                    <property name="width_chars">6</property>
     
    18311852                                  <packing>
    18321853                                    <property name="left_attach">1</property>
    18331854                                    <property name="right_attach">2</property>
    1834                                     <property name="top_attach">3</property>
    1835                                     <property name="bottom_attach">4</property>
     1855                                    <property name="top_attach">2</property>
     1856                                    <property name="bottom_attach">3</property>
    18361857                                    <property name="x_options"></property>
    18371858                                    <property name="y_options"></property>
    18381859                                  </packing>
     
    19671988                                          <widget class="GtkFileChooserButton" id="filechooser_move_completed">
    19681989                                            <property name="visible">True</property>
    19691990                                            <property name="sensitive">False</property>
    1970                                             <property name="action">GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER</property>
    19711991                                            <property name="local_only">False</property>
     1992                                            <property name="action">GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER</property>
    19721993                                            <property name="title" translatable="yes">Select A Folder</property>
    19731994                                          </widget>
    19741995                                          <packing>
     
    24712492                    <property name="column_spacing">10</property>
    24722493                    <property name="row_spacing">2</property>
    24732494                    <child>
    2474                       <widget class="GtkLabel" id="label_available_version">
     2495                      <widget class="GtkLabel" id="label24">
     2496                        <property name="visible">True</property>
     2497                        <property name="xalign">0</property>
     2498                        <property name="label" translatable="yes">&lt;i&gt;Current Version:&lt;/i&gt;</property>
     2499                        <property name="use_markup">True</property>
     2500                      </widget>
     2501                      <packing>
     2502                        <property name="x_options">GTK_FILL</property>
     2503                      </packing>
     2504                    </child>
     2505                    <child>
     2506                      <widget class="GtkLabel" id="label_current_version">
    24752507                        <property name="visible">True</property>
    24762508                      </widget>
    24772509                      <packing>
    24782510                        <property name="left_attach">1</property>
    24792511                        <property name="right_attach">2</property>
    2480                         <property name="top_attach">1</property>
    2481                         <property name="bottom_attach">2</property>
    24822512                        <property name="x_options"></property>
    24832513                      </packing>
    24842514                    </child>
     
    24962526                      </packing>
    24972527                    </child>
    24982528                    <child>
    2499                       <widget class="GtkLabel" id="label_current_version">
     2529                      <widget class="GtkLabel" id="label_available_version">
    25002530                        <property name="visible">True</property>
    25012531                      </widget>
    25022532                      <packing>
    25032533                        <property name="left_attach">1</property>
    25042534                        <property name="right_attach">2</property>
     2535                        <property name="top_attach">1</property>
     2536                        <property name="bottom_attach">2</property>
    25052537                        <property name="x_options"></property>
    25062538                      </packing>
    25072539                    </child>
    2508                     <child>
    2509                       <widget class="GtkLabel" id="label24">
    2510                         <property name="visible">True</property>
    2511                         <property name="xalign">0</property>
    2512                         <property name="label" translatable="yes">&lt;i&gt;Current Version:&lt;/i&gt;</property>
    2513                         <property name="use_markup">True</property>
    2514                       </widget>
    2515                       <packing>
    2516                         <property name="x_options">GTK_FILL</property>
    2517                       </packing>
    2518                     </child>
    25192540                  </widget>
    25202541                </child>
    25212542              </widget>
  • deluge/ui/gtkui/status_tab.py

    diff -urp deluge-1.2.1-original/deluge/ui/gtkui/status_tab.py deluge-1.2.1/deluge/ui/gtkui/status_tab.py
    old new class StatusTab(Tab):  
    7474        self._child_widget = glade.get_widget("status_tab")
    7575        self._tab_label = glade.get_widget("status_tab_label")
    7676
     77        self.pieces_bar = PiecesBar()
     78        glade.get_widget("alignment12").add(self.pieces_bar)
     79       
    7780        self.label_widgets = [
    7881            (glade.get_widget("summary_pieces"), fpeer_size_second, ("num_pieces", "piece_length")),
    7982            (glade.get_widget("summary_availability"), fratio, ("distributed_copies",)),
    class StatusTab(Tab):  
    9194            (glade.get_widget("summary_seed_time"), deluge.common.ftime, ("seeding_time",)),
    9295            (glade.get_widget("summary_seed_rank"), str, ("seed_rank",)),
    9396            (glade.get_widget("summary_auto_managed"), str, ("is_auto_managed",)),
    94             (glade.get_widget("progressbar"), fpcnt, ("progress",)),
     97            (self.pieces_bar, None, ("pieces",)),
    9598            (glade.get_widget("summary_date_added"), deluge.common.fdate, ("time_added",))
    9699        ]
    97100
    class StatusTab(Tab):  
    107110            return
    108111
    109112        # Get the torrent status
    110         status_keys = ["progress", "num_pieces", "piece_length",
     113        status_keys = ["pieces", "num_pieces", "piece_length",
    111114            "distributed_copies", "all_time_download", "total_payload_download",
    112115            "total_uploaded", "total_payload_upload", "download_payload_rate",
    113116            "upload_payload_rate", "num_peers", "num_seeds", "total_peers",
    class StatusTab(Tab):  
    141144
    142145            if widget[0].get_text() != txt:
    143146                widget[0].set_text(txt)
    144 
    145         # Do the progress bar because it's a special case (not a label)
    146         w = component.get("MainWindow").main_glade.get_widget("progressbar")
    147         fraction = status["progress"] / 100
    148         if w.get_fraction() != fraction:
    149             w.set_fraction(fraction)
    150 
     147   
     148        # If this is true the torrent should be completely downloaded
     149        # so display a full bar
     150        if int(status["num_pieces"]) != len(status["pieces"]):
     151            self.pieces_bar.pieces = [True]
     152            self.pieces_bar.update()
     153        # Don't update if the pieces are the same   
     154        elif status["pieces"] != self.pieces_bar.pieces:
     155            self.pieces_bar.pieces = status["pieces"]
     156            self.pieces_bar.update()
     157       
    151158    def clear(self):
    152159        for widget in self.label_widgets:
    153160            widget[0].set_text("")
    154161
    155         component.get("MainWindow").main_glade.get_widget("progressbar").set_fraction(0.0)
     162        self.pieces_bar.clear()
     163
     164class PiecesBar(gtk.DrawingArea):
     165    def __init__(self):
     166        gtk.DrawingArea.__init__(self)
     167        self.gc = None
     168        self.width = 0
     169        self.height = 0
     170        self.pieces = []
     171       
     172        self.connect('size-allocate', self.on_size_allocate)
     173        self.connect('expose-event', self.update)
     174        self.connect('realize', self.on_realize)
     175
     176        self.show()
     177
     178    def on_realize(self, widget):
     179        map = widget.get_colormap()
     180        done_color = map.alloc_color("#325891")
     181        wait_color = map.alloc_color("#a8a8a9")
     182        outline_color = map.alloc_color("#555555")
     183       
     184        self.gc_done = widget.window.new_gc(foreground=done_color)
     185        self.gc_wait = widget.window.new_gc(foreground=wait_color)
     186        self.gc_outline = widget.window.new_gc(foreground=outline_color)
     187   
     188    def on_size_allocate(self, widget, size):
     189        self.width = size.width
     190        self.height = size.height
     191       
     192    def update(self, widget=None, event=None):
     193        num_pieces = len(self.pieces)
     194       
     195        if num_pieces < 1:
     196            self.clear()
     197            return None
     198       
     199        self.window.draw_rectangle(self.gc_outline, False, 0, 0,
     200                                   self.width - 1, self.height - 1)
     201       
     202        width = self.width - 2
     203        pieces = self.chunk_pieces(width, num_pieces)
     204        piece_size = width / len(pieces)
     205        padding = (width % len(pieces))
     206        start_pos = 1
     207       
     208        for piece in pieces:
     209            if padding > 0:
     210                this_piece_size = piece_size + 1
     211                padding -= 1
     212            else:
     213                this_piece_size = piece_size
     214       
     215            self.draw_piece(piece, start_pos, 1, this_piece_size,
     216                            self.height - 2)
     217            start_pos += this_piece_size
     218   
     219    def chunk_pieces(self, width, num_pieces):
     220        group_size = num_pieces / width
     221       
     222        padding = num_pieces % width
     223        i = 0
     224        pieces = []
     225       
     226        while i < num_pieces:
     227            if padding > 0:
     228                this_group_size = group_size + 1
     229                padding -= 1
     230            else:
     231                this_group_size = group_size
     232       
     233            pieces.append(self.pieces[i:i+this_group_size])
     234            i += this_group_size
     235        return pieces
     236   
     237    def draw_piece(self, piece, start_x, start_y, width, height):
     238        """determines the piece's value and draws it in the bar. Piece is
     239        actually a list of values"""
     240        if any(piece):
     241            self.window.draw_rectangle(self.gc_done, True, start_x, start_y,
     242                                       width, height)
     243        else:
     244            self.window.draw_rectangle(self.gc_wait, True, start_x, start_y,
     245                                       width, height)
     246   
     247    def clear(self):
     248        self.window.draw_rectangle(self.gc_wait, True, 0, 0,
     249                                   self.width, self.height)
     250        self.window.draw_rectangle(self.gc_outline, False, 0, 0,
     251                                   self.width - 1, self.height - 1)
     252   
     253    def get_text(self):
     254        return ""
     255   
     256    def set_text(self, text):
     257        pass