summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Alan Fitton <ajf@eth0.org.uk>2012-01-04 20:26:19 +0000
committerGravatar Alan Fitton <ajf@eth0.org.uk>2012-01-04 20:26:19 +0000
commita73d164e9fae9059be1b347270f1c7debbc00f3e (patch)
treea91c94a322ead98226d01fa6bbe0c4c79478c627
parent336960c958d0b4ebdc0b54c25aef87fc7cb7b0a8 (diff)
reindent with gnu indent. add keyboard accelerators for view menu, fix toggle filter widget also connected to toggle graph cb. add Lithuanian translation thanks to Algimantas Margevičius via launchpad.
-rw-r--r--po/LINGUAS1
-rw-r--r--po/lt.po1297
-rw-r--r--src/icon-turtle.h122
-rw-r--r--src/installer.nsi26
-rw-r--r--src/protocol-constants.h4
-rw-r--r--src/torrent.c3
-rw-r--r--src/trg-cell-renderer-counter.c108
-rw-r--r--src/trg-cell-renderer-file-icon.c67
-rw-r--r--src/trg-cell-renderer-priority.c8
-rw-r--r--src/trg-cell-renderer-speed.c3
-rw-r--r--src/trg-cell-renderer-wanted.c24
-rw-r--r--src/trg-client.c218
-rw-r--r--src/trg-files-model-common.c101
-rw-r--r--src/trg-files-model-common.h28
-rw-r--r--src/trg-files-model.c173
-rw-r--r--src/trg-files-tree-view-common.c93
-rw-r--r--src/trg-files-tree-view-common.h23
-rw-r--r--src/trg-files-tree-view.c103
-rw-r--r--src/trg-files-tree-view.h21
-rw-r--r--src/trg-icons.c65
-rw-r--r--src/trg-icons.h5
-rw-r--r--src/trg-json-widgets.c77
-rw-r--r--src/trg-json-widgets.h22
-rw-r--r--src/trg-main-window.c1540
-rw-r--r--src/trg-menu-bar.c50
-rw-r--r--src/trg-menu-bar.h3
-rw-r--r--src/trg-preferences-dialog.c5
-rw-r--r--src/trg-remote-prefs-dialog.c474
-rw-r--r--src/trg-state-selector.c427
-rw-r--r--src/trg-state-selector.h3
-rw-r--r--src/trg-status-bar.c87
-rw-r--r--src/trg-torrent-add-dialog.c484
-rw-r--r--src/trg-torrent-model.c475
-rw-r--r--src/trg-torrent-props-dialog.c26
-rw-r--r--src/trg-tree-view.c41
-rw-r--r--src/util.c113
-rw-r--r--src/util.h34
37 files changed, 4321 insertions, 2033 deletions
diff --git a/po/LINGUAS b/po/LINGUAS
index 700da55..b1077fa 100644
--- a/po/LINGUAS
+++ b/po/LINGUAS
@@ -1,4 +1,5 @@
de
+lt
ko
pl
ru
diff --git a/po/lt.po b/po/lt.po
new file mode 100644
index 0000000..e15963a
--- /dev/null
+++ b/po/lt.po
@@ -0,0 +1,1297 @@
+# Lithuanian translation for transmission-remote-gtk
+# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
+# This file is distributed under the same license as the transmission-remote-gtk package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: transmission-remote-gtk\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2012-01-04 11:06+0000\n"
+"PO-Revision-Date: 2012-01-04 10:40+0000\n"
+"Last-Translator: Algimantas Margevičius <Unknown>\n"
+"Language-Team: Lithuanian <lt@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
+"(n%100<10 || n%100>=20) ? 1 : 2;\n"
+"X-Launchpad-Export-Date: 2012-01-04 18:56+0000\n"
+"X-Generator: Launchpad (build 14616)\n"
+
+#: src/torrent.c:321 src/torrent.c:341 src/trg-state-selector.c:584
+msgid "Downloading"
+msgstr "Atsiunčiama"
+
+#: src/torrent.c:323
+msgid "Queued download"
+msgstr "Atsiuntimai eilėje"
+
+#: src/torrent.c:325 src/torrent.c:349
+msgid "Waiting To Check"
+msgstr "Laukia patikros"
+
+#: src/torrent.c:327 src/torrent.c:347 src/trg-state-selector.c:603
+msgid "Checking"
+msgstr "Tikrinama"
+
+#: src/torrent.c:329
+msgid "Queued seed"
+msgstr "Eilėje skleidimui"
+
+#: src/torrent.c:331 src/torrent.c:345 src/trg-remote-prefs-dialog.c:308
+#: src/trg-state-selector.c:589 src/trg-torrent-props-dialog.c:212
+msgid "Seeding"
+msgstr "Skleidžiama"
+
+#: src/torrent.c:333 src/torrent.c:343 src/trg-state-selector.c:594
+msgid "Paused"
+msgstr "Pristabdyta"
+
+#: src/torrent.c:354
+msgid "Unknown"
+msgstr "Nežinoma"
+
+#: src/trg-about-window.c:77
+msgid "A remote client to transmission-daemon."
+msgstr "Nuotolinis transmission demono klientas"
+
+#: src/trg-cell-renderer-priority.c:74 src/trg-torrent-add-dialog.c:401
+#: src/trg-torrent-props-dialog.c:182
+msgid "Low"
+msgstr "Žemas"
+
+#: src/trg-cell-renderer-priority.c:76 src/trg-torrent-add-dialog.c:402
+#: src/trg-torrent-props-dialog.c:182
+msgid "High"
+msgstr "Aukštas"
+
+#: src/trg-cell-renderer-priority.c:78 src/trg-torrent-add-dialog.c:401
+#: src/trg-torrent-props-dialog.c:182
+msgid "Normal"
+msgstr "Normalus"
+
+#: src/trg-cell-renderer-priority.c:80
+msgid "Mixed"
+msgstr "Mišrus"
+
+#: src/trg-files-tree-view.c:163 src/trg-general-panel.c:256
+#: src/trg-torrent-add-dialog.c:306 src/trg-torrent-tree-view.c:44
+msgid "Name"
+msgstr "Pavadinimas"
+
+#: src/trg-files-tree-view.c:166 src/trg-general-panel.c:259
+#: src/trg-torrent-add-dialog.c:324 src/trg-torrent-tree-view.c:49
+msgid "Size"
+msgstr "Dydis"
+
+#: src/trg-files-tree-view.c:169 src/trg-peers-tree-view.c:66
+msgid "Progress"
+msgstr "Eiga"
+
+#: src/trg-files-tree-view.c:171 src/trg-files-tree-view-common.c:65
+#: src/trg-torrent-add-dialog.c:336
+msgid "Download"
+msgstr "Atsisiųsti"
+
+#: src/trg-files-tree-view.c:173 src/trg-torrent-add-dialog.c:350
+#: src/trg-torrent-tree-view.c:124
+msgid "Priority"
+msgstr "Prioritetas"
+
+#: src/trg-files-tree-view-common.c:47
+msgid "High Priority"
+msgstr "Aukštas prioritetas"
+
+#: src/trg-files-tree-view-common.c:51
+msgid "Normal Priority"
+msgstr "Normalus prioritetas"
+
+#: src/trg-files-tree-view-common.c:55
+msgid "Low Priority"
+msgstr "Žemas prioritetas"
+
+#: src/trg-files-tree-view-common.c:73
+msgid "Skip"
+msgstr "Praleisti"
+
+#: src/trg-files-tree-view-common.c:79
+msgid "Expand All"
+msgstr ""
+
+#: src/trg-files-tree-view-common.c:83
+msgid "Collapse All"
+msgstr ""
+
+#: src/trg-general-panel.c:147 src/trg-general-panel.c:192
+msgid "N/A"
+msgstr "Nėra"
+
+#: src/trg-general-panel.c:152
+msgid "(Private)"
+msgstr "(Privatus)"
+
+#: src/trg-general-panel.c:152
+msgid "(Public)"
+msgstr "(Viešas)"
+
+#: src/trg-general-panel.c:180 src/trg-main-window.c:911
+#: src/trg-main-window.c:1234 src/trg-main-window.c:1713
+#: src/trg-state-selector.c:477 src/trg-torrent-add-url-dialog.c:67
+#: src/util.c:322
+msgid "Error"
+msgstr "Klaida"
+
+#: src/trg-general-panel.c:261 src/trg-torrent-tree-view.c:102
+msgid "ETA"
+msgstr "Likęs laikas"
+
+#: src/trg-general-panel.c:263 src/trg-torrent-tree-view.c:130
+msgid "Completed"
+msgstr "Užbaigtas"
+
+#: src/trg-general-panel.c:266
+msgid "Seeders"
+msgstr "Skleidėjai"
+
+#: src/trg-general-panel.c:268
+msgid "Rate Down"
+msgstr "Sumažinti įvertinimą"
+
+#: src/trg-general-panel.c:270 src/trg-torrent-tree-view.c:107
+msgid "Downloaded"
+msgstr "Atsisiųsta"
+
+#: src/trg-general-panel.c:273 src/trg-torrent-tree-view.c:60
+msgid "Leechers"
+msgstr "Siuntėjai"
+
+#: src/trg-general-panel.c:275
+msgid "Rate Up"
+msgstr "Padidinti įvertinimą"
+
+#: src/trg-general-panel.c:277 src/trg-torrent-tree-view.c:104
+msgid "Uploaded"
+msgstr "Išsiųsta"
+
+#: src/trg-general-panel.c:280 src/trg-torrent-tree-view.c:53
+msgid "Status"
+msgstr "Būsena"
+
+#: src/trg-general-panel.c:282 src/trg-torrent-tree-view.c:110
+msgid "Ratio"
+msgstr "Santykis"
+
+#: src/trg-general-panel.c:285 src/trg-torrent-tree-view.c:118
+msgid "Location"
+msgstr "Vieta"
+
+#: src/trg-main-window.c:333
+msgid "This torrent has completed."
+msgstr "Šis torentas parsiųstas."
+
+#: src/trg-main-window.c:343
+msgid "This torrent has been added."
+msgstr "Šis torentas pridėtas."
+
+#: src/trg-main-window.c:513
+msgid "No hostname set"
+msgstr "Nenurodytas mazgo vardas"
+
+#: src/trg-main-window.c:516
+msgid "Unknown error getting settings"
+msgstr "Gaunant nustatymus įvyko nežinoma klaida"
+
+#: src/trg-main-window.c:529
+msgid "Connecting..."
+msgstr "Jungiamasi..."
+
+#: src/trg-main-window.c:748
+#, c-format
+msgid "<big><b>Remove torrent \"%s\"?</b></big>"
+msgstr "<big><b>Pašalinti torentą „%s“?</b></big>"
+
+#: src/trg-main-window.c:749
+#, c-format
+msgid "<big><b>Remove %d torrents?</b></big>"
+msgstr "<big><b>Pašalinti %d torentus?</b></big>"
+
+#: src/trg-main-window.c:771
+#, c-format
+msgid "<big><b>Remove and delete torrent \"%s\"?</b></big>"
+msgstr "<big><b>Pašalinti ir ištrinti torentą „%s“?</b></big>"
+
+#: src/trg-main-window.c:772
+#, c-format
+msgid "<big><b>Remove and delete %d torrents?</b></big>"
+msgstr "<big><b>Pašalinti ir ištrinti %d torentus?</b></big>"
+
+#: src/trg-main-window.c:832 src/trg-preferences-dialog.c:887
+#: src/trg-remote-prefs-dialog.c:600
+msgid "General"
+msgstr "Bendri"
+
+#: src/trg-main-window.c:839
+msgid "Trackers"
+msgstr "Sekimo serveriai"
+
+#: src/trg-main-window.c:846
+msgid "Files"
+msgstr "Failai"
+
+#: src/trg-main-window.c:852 src/trg-remote-prefs-dialog.c:339
+#: src/trg-torrent-props-dialog.c:230 src/trg-trackers-tree-view.c:189
+msgid "Peers"
+msgstr "Siuntėjai ir skleidėjai"
+
+#: src/trg-main-window.c:906
+#, c-format
+msgid "This application supports Transmission %.2f and later, you have %.2f."
+msgstr "Ši programa palaiko Transmission %.2f ir naujesnes, jūs turite %.2f."
+
+#: src/trg-main-window.c:949 src/trg-torrent-tree-view.c:70
+msgid "Connected"
+msgstr "Prisijungta"
+
+#: src/trg-main-window.c:949 src/trg-status-bar.c:70 src/trg-status-bar.c:96
+msgid "Disconnected"
+msgstr "Atsijungta"
+
+#: src/trg-main-window.c:978
+#, c-format
+msgid "Downloading %d"
+msgstr "Parsiunčiama %d"
+
+#: src/trg-main-window.c:980
+#, c-format
+msgid "Seeding %d"
+msgstr "Skleidžiama %d"
+
+#: src/trg-main-window.c:1035
+#, c-format
+msgid "Request %d/%d failed: %s"
+msgstr "Užklausa %d/%d nepavyko: %s"
+
+#: src/trg-main-window.c:1640
+msgid "No Limit"
+msgstr "Be apribojimų"
+
+#: src/trg-main-window.c:1732 src/trg-menu-bar.c:547 src/trg-toolbar.c:238
+msgid "Properties"
+msgstr "Savybės"
+
+#: src/trg-main-window.c:1734 src/trg-toolbar.c:231
+msgid "Resume"
+msgstr "Tęsti"
+
+#: src/trg-main-window.c:1736 src/trg-toolbar.c:234
+msgid "Pause"
+msgstr "Pristabdyti"
+
+#: src/trg-main-window.c:1738
+msgid "Verify"
+msgstr "Patikrinti"
+
+#: src/trg-main-window.c:1740
+msgid "Re-announce"
+msgstr "Paskelbti iš naujo"
+
+#: src/trg-main-window.c:1742 src/trg-torrent-move-dialog.c:121
+#: src/trg-torrent-move-dialog.c:128
+msgid "Move"
+msgstr "Perkelti"
+
+#: src/trg-main-window.c:1744 src/trg-menu-bar.c:576 src/trg-toolbar.c:242
+msgid "Remove"
+msgstr "Pašalinti"
+
+#: src/trg-main-window.c:1746
+msgid "Remove & Delete"
+msgstr "Pašalinti ir ištrinti"
+
+#: src/trg-main-window.c:1768 src/trg-preferences-dialog.c:897
+msgid "Actions"
+msgstr "Veiksmai"
+
+#: src/trg-main-window.c:1793 src/trg-menu-bar.c:591
+msgid "Start Now"
+msgstr "Pradėti dabar"
+
+#: src/trg-main-window.c:1795 src/trg-menu-bar.c:596
+msgid "Move Up Queue"
+msgstr "Eilėje perkelti aukštyn"
+
+#: src/trg-main-window.c:1797 src/trg-menu-bar.c:602
+msgid "Move Down Queue"
+msgstr "Eilėje perkelti žemyn"
+
+#: src/trg-main-window.c:1799 src/trg-menu-bar.c:608
+msgid "Bottom Of Queue"
+msgstr "Eilės apačia"
+
+#: src/trg-main-window.c:1801 src/trg-menu-bar.c:612
+msgid "Top Of Queue"
+msgstr "Eilės viršus"
+
+#: src/trg-main-window.c:1809 src/trg-main-window.c:1883
+msgid "Down Limit"
+msgstr "Parsiuntimo riba"
+
+#: src/trg-main-window.c:1813 src/trg-main-window.c:1888
+msgid "Up Limit"
+msgstr "Išsiuntimo riba"
+
+#: src/trg-main-window.c:1838 src/trg-main-window.c:1843
+#: src/trg-remote-prefs-dialog.c:427
+msgid "Updating..."
+msgstr "Atnaujinama..."
+
+#: src/trg-main-window.c:1857 src/trg-menu-bar.c:507 src/trg-toolbar.c:208
+msgid "Connect"
+msgstr "Prisijungti"
+
+#: src/trg-main-window.c:1863 src/trg-toolbar.c:218
+msgid "Disconnect"
+msgstr "Atsijungti"
+
+#: src/trg-main-window.c:1867 src/trg-toolbar.c:221
+#: src/trg-trackers-tree-view.c:284 src/trg-trackers-tree-view.c:311
+msgid "Add"
+msgstr "Pridėti"
+
+#: src/trg-main-window.c:1870
+msgid "Add from URL"
+msgstr "Pridėti iš URL"
+
+#: src/trg-main-window.c:1873
+msgid "Resume All"
+msgstr "Pratęsti visus"
+
+#: src/trg-main-window.c:1877
+msgid "Pause All"
+msgstr "Sustabdyti visus"
+
+#: src/trg-main-window.c:1893
+msgid "Quit"
+msgstr "Išeiti"
+
+#: src/trg-main-window.c:1977 src/trg-menu-bar.c:412
+msgid "Graph"
+msgstr "Diagrama"
+
+#: src/trg-main-window.c:2131
+msgid "Transmission Remote"
+msgstr "Transmission Remote"
+
+#: src/trg-menu-bar.c:378
+msgid "_View"
+msgstr "_Rodymas"
+
+#: src/trg-menu-bar.c:385 src/trg-preferences-dialog.c:670
+msgid "State selector"
+msgstr "Būsenos pasirinkimas"
+
+#: src/trg-menu-bar.c:390 src/trg-preferences-dialog.c:677
+msgid "Directory filters"
+msgstr "Aplankų filtrai"
+
+#: src/trg-menu-bar.c:398 src/trg-preferences-dialog.c:684
+msgid "Tracker filters"
+msgstr "Serverių filtrai"
+
+#: src/trg-menu-bar.c:406 src/trg-preferences-dialog.c:691
+msgid "Torrent Details"
+msgstr "Išsamesnė torento informacija"
+
+#: src/trg-menu-bar.c:416
+msgid "_Statistics"
+msgstr "_Statistika"
+
+#: src/trg-menu-bar.c:428
+msgid "_Options"
+msgstr "_Parinktys"
+
+#: src/trg-menu-bar.c:434
+msgid "_Local Preferences"
+msgstr "_Vietiniai nustatymai"
+
+#: src/trg-menu-bar.c:440
+msgid "_Remote Preferences"
+msgstr "_Nuotoliniai nustatymai"
+
+#: src/trg-menu-bar.c:500
+msgid "_File"
+msgstr "_Failas"
+
+#: src/trg-menu-bar.c:513
+msgid "_Disconnect"
+msgstr "_Atsijungti"
+
+#: src/trg-menu-bar.c:518
+msgid "_Add"
+msgstr "_Pridėti"
+
+#: src/trg-menu-bar.c:523
+msgid "Add from _URL"
+msgstr "Pridėti iš _URL"
+
+#: src/trg-menu-bar.c:528
+msgid "_Quit"
+msgstr "Iš_eiti"
+
+#: src/trg-menu-bar.c:540
+msgid "_Torrent"
+msgstr "_Torentas"
+
+#: src/trg-menu-bar.c:552
+msgid "_Resume"
+msgstr "_Tęsti"
+
+#: src/trg-menu-bar.c:557
+msgid "_Pause"
+msgstr "_Pristabdyti"
+
+#: src/trg-menu-bar.c:562
+msgid "_Verify"
+msgstr "_Patikrinti"
+
+#: src/trg-menu-bar.c:568
+msgid "Re-_announce"
+msgstr "_Paskelbti iš naujo"
+
+#: src/trg-menu-bar.c:571
+msgid "_Move"
+msgstr "P_erkelti"
+
+#: src/trg-menu-bar.c:582
+msgid "Remove and Delete"
+msgstr "Pašalinti ir ištrinti"
+
+#: src/trg-menu-bar.c:620
+msgid "_Resume All"
+msgstr "_Pratęsti visus"
+
+#: src/trg-menu-bar.c:625
+msgid "_Pause All"
+msgstr "_Pristabdyti visus"
+
+#: src/trg-menu-bar.c:637
+msgid "_Help"
+msgstr "_Žinynas"
+
+#: src/trg-menu-bar.c:643
+msgid "_About"
+msgstr "_Apie"
+
+#: src/trg-peers-tree-view.c:51
+msgid "IP"
+msgstr "IP"
+
+#: src/trg-peers-tree-view.c:55 src/trg-trackers-tree-view.c:208
+msgid "Host"
+msgstr "Serveris"
+
+#: src/trg-peers-tree-view.c:59
+msgid "Country"
+msgstr "Šalis"
+
+#: src/trg-peers-tree-view.c:62 src/trg-torrent-tree-view.c:96
+msgid "Down Speed"
+msgstr "Parsiuntimo greitis"
+
+#: src/trg-peers-tree-view.c:64 src/trg-torrent-tree-view.c:99
+msgid "Up Speed"
+msgstr "Išsiuntimo greitis"
+
+#: src/trg-peers-tree-view.c:68
+msgid "Flags"
+msgstr "Vėliavos"
+
+#: src/trg-peers-tree-view.c:70
+msgid "Client"
+msgstr "Klientas"
+
+#: src/trg-preferences-dialog.c:401
+msgid "Updates"
+msgstr "Atnaujinimai"
+
+#: src/trg-preferences-dialog.c:403
+msgid "Update active torrents only"
+msgstr "Atnaujinti tik aktyvius torentus"
+
+#: src/trg-preferences-dialog.c:410
+msgid "Full update every (?) updates"
+msgstr "Pilnas atnaujinias kas (?) atnaujinimus"
+
+#: src/trg-preferences-dialog.c:424
+msgid "Update interval:"
+msgstr "Atnaujinimo intervalas:"
+
+#: src/trg-preferences-dialog.c:428
+msgid "Minimised update interval:"
+msgstr "Sumažinto atnaujinimo intervalas:"
+
+#: src/trg-preferences-dialog.c:431
+msgid "Torrents"
+msgstr "Torentai"
+
+#: src/trg-preferences-dialog.c:433
+msgid "Start paused"
+msgstr "Pradėti sustabdytoje būsenoj"
+
+#: src/trg-preferences-dialog.c:437
+msgid "Options dialog on add"
+msgstr "Parinkčių dialogas pridedant"
+
+#: src/trg-preferences-dialog.c:442 src/trg-torrent-add-dialog.c:609
+msgid "Delete local .torrent file after adding"
+msgstr "Pridėjus ištrinti vietinį .torrent failą"
+
+#: src/trg-preferences-dialog.c:595
+msgid "Commands"
+msgstr "Komandos"
+
+#: src/trg-preferences-dialog.c:605 src/trg-preferences-dialog.c:643
+msgid "Label"
+msgstr "Etiketė"
+
+#: src/trg-preferences-dialog.c:608
+msgid "Command"
+msgstr "Komanda"
+
+#: src/trg-preferences-dialog.c:633
+msgid "Remote Download Directories"
+msgstr "Nuotolinio parsiuntimo aplankai"
+
+#: src/trg-preferences-dialog.c:646
+msgid "Directory"
+msgstr "Aplankas"
+
+#: src/trg-preferences-dialog.c:668 src/trg-preferences-dialog.c:892
+msgid "View"
+msgstr "Rodymas"
+
+#: src/trg-preferences-dialog.c:699
+msgid "Show graph"
+msgstr "Rodyti diagramą"
+
+#: src/trg-preferences-dialog.c:706
+msgid "System Tray"
+msgstr "Sistemos dėklas"
+
+#: src/trg-preferences-dialog.c:708
+msgid "Show in system tray"
+msgstr "Rodyti sistemos dėkle"
+
+#: src/trg-preferences-dialog.c:716
+msgid "Minimise to system tray"
+msgstr "Sumažinti į sistemos dėklą"
+
+#: src/trg-preferences-dialog.c:728
+msgid "Notifications"
+msgstr "Pranešimai"
+
+#: src/trg-preferences-dialog.c:730
+msgid "Torrent added notifications"
+msgstr "Pranešimai apie pridėtą torentą"
+
+#: src/trg-preferences-dialog.c:734
+msgid "Torrent complete notifications"
+msgstr "Pranešimai apie baigtą torentą"
+
+#: src/trg-preferences-dialog.c:761
+msgid "Profile: "
+msgstr "Profilis: "
+
+#: src/trg-preferences-dialog.c:787
+msgid "Name:"
+msgstr "Pavadinimas:"
+
+#: src/trg-preferences-dialog.c:795 src/trg-preferences-dialog.c:882
+msgid "Connection"
+msgstr "Prisijungimas"
+
+#: src/trg-preferences-dialog.c:798
+msgid "Host:"
+msgstr "Serveris:"
+
+#: src/trg-preferences-dialog.c:802
+msgid "Port:"
+msgstr "Prievadas:"
+
+#: src/trg-preferences-dialog.c:805
+msgid "Username:"
+msgstr "Naudotojo vardas:"
+
+#: src/trg-preferences-dialog.c:809
+msgid "Password:"
+msgstr "Slaptažodis:"
+
+#: src/trg-preferences-dialog.c:811
+msgid "Automatically connect"
+msgstr "Prisijungti automatiškai"
+
+#: src/trg-preferences-dialog.c:817
+msgid "SSL"
+msgstr "SSL"
+
+#: src/trg-preferences-dialog.c:824
+msgid "Timeout:"
+msgstr ""
+
+#: src/trg-preferences-dialog.c:828
+msgid "Retries:"
+msgstr ""
+
+#: src/trg-preferences-dialog.c:871 src/trg-toolbar.c:257
+msgid "Local Preferences"
+msgstr "Vietiniai nustatymai"
+
+#: src/trg-preferences-dialog.c:902
+msgid "Directories"
+msgstr "Aplankai"
+
+#: src/trg-remote-prefs-dialog.c:262
+msgid "Bandwidth limits"
+msgstr "Duomenų srauto ribos"
+
+#: src/trg-remote-prefs-dialog.c:265
+msgid "Down Limit (KiB/s)"
+msgstr "Pars. riba (KiB/s)"
+
+#: src/trg-remote-prefs-dialog.c:272
+msgid "Up Limit (KiB/s)"
+msgstr "Išs. riba (KiB/s)"
+
+#: src/trg-remote-prefs-dialog.c:277
+msgid "Alternate limits"
+msgstr "Alternatyvios ribos"
+
+#: src/trg-remote-prefs-dialog.c:280
+msgid "Alternate speed limits active"
+msgstr "A;ternatyvios greičio ribos įjungtos"
+
+#: src/trg-remote-prefs-dialog.c:285
+msgid "Alternate time range"
+msgstr "Alternatyvus laiko tarpas"
+
+#: src/trg-remote-prefs-dialog.c:291
+msgid "Alternate down limit (KiB/s)"
+msgstr "Alternatyvi parsiuntimo riba (KiB/s)"
+
+#: src/trg-remote-prefs-dialog.c:295
+msgid "Alternate up limit (KiB/s)"
+msgstr "Alternatyvi išsiuntimo riba (KiB/s)"
+
+#: src/trg-remote-prefs-dialog.c:311
+msgid "Seed ratio limit"
+msgstr "Skleidimo santykio riba"
+
+#: src/trg-remote-prefs-dialog.c:317
+msgid "Queues"
+msgstr "Eilės"
+
+#: src/trg-remote-prefs-dialog.c:320
+msgid "Download queue size"
+msgstr "Parsiuntimo eilės dydis"
+
+#: src/trg-remote-prefs-dialog.c:326
+msgid "Seed queue size"
+msgstr "Skleidimo eilės dydis"
+
+#: src/trg-remote-prefs-dialog.c:332
+msgid "Ignore stalled (minutes)"
+msgstr "Nepaisyti įstrigusių (minutėmis)"
+
+#: src/trg-remote-prefs-dialog.c:343
+msgid "Global peer limit"
+msgstr "Visuotinė siuntėjų riba"
+
+#: src/trg-remote-prefs-dialog.c:347
+msgid "Per torrent peer limit"
+msgstr "Siuntėjų-skleidėjų riba torentui"
+
+#: src/trg-remote-prefs-dialog.c:358
+msgid "Retest"
+msgstr "Bandyti dar kartą"
+
+#: src/trg-remote-prefs-dialog.c:368
+msgid "Port is <span font_weight=\"bold\" fgcolor=\"darkgreen\">open</span>"
+msgstr ""
+"Prievadas yra <span font_weight=\"bold\" "
+"fgcolor=\"darkgreen\">atidarytas</span>"
+
+#: src/trg-remote-prefs-dialog.c:373
+msgid "Port is <span font_weight=\"bold\" fgcolor=\"red\">closed</span>"
+msgstr ""
+"Prievadas yra <span font_weight=\"bold\" "
+"fgcolor=\"darkgreen\">uždarytas</span>"
+
+#: src/trg-remote-prefs-dialog.c:388 src/trg-remote-prefs-dialog.c:450
+msgid "Port test"
+msgstr "Prievado testas"
+
+#: src/trg-remote-prefs-dialog.c:389
+msgid "Testing..."
+msgstr "Tikrinama..."
+
+#: src/trg-remote-prefs-dialog.c:403 src/trg-remote-prefs-dialog.c:499
+msgid "Update"
+msgstr "Atnaujinti"
+
+#: src/trg-remote-prefs-dialog.c:407 src/trg-remote-prefs-dialog.c:493
+#, c-format
+msgid "Blocklist (%ld entries)"
+msgstr "Blokavimų sąrašas (%ld įrašai)"
+
+#: src/trg-remote-prefs-dialog.c:444 src/trg-remote-prefs-dialog.c:604
+msgid "Connections"
+msgstr "Prisijungimai"
+
+#: src/trg-remote-prefs-dialog.c:448
+msgid "Peer port"
+msgstr "Siuntėjo-skleidėjo prievadas"
+
+#: src/trg-remote-prefs-dialog.c:451
+msgid "Test"
+msgstr "Testas"
+
+#: src/trg-remote-prefs-dialog.c:455
+msgid "Required"
+msgstr "Privalomas"
+
+#: src/trg-remote-prefs-dialog.c:456
+msgid "Preferred"
+msgstr "Pageidautinas"
+
+#: src/trg-remote-prefs-dialog.c:456
+msgid "Tolerated"
+msgstr "Gali būti"
+
+#: src/trg-remote-prefs-dialog.c:466
+msgid "Encryption"
+msgstr "Šifravimas"
+
+#: src/trg-remote-prefs-dialog.c:469
+msgid "Random peer port on start"
+msgstr "Paleidžiant atsitiktinis prievadas"
+
+#: src/trg-remote-prefs-dialog.c:474
+msgid "Peer port forwarding"
+msgstr "Siuntėjų prievado persiuntimas"
+
+#: src/trg-remote-prefs-dialog.c:477
+msgid "Protocol"
+msgstr "Protokolas"
+
+#: src/trg-remote-prefs-dialog.c:480
+msgid "Peer exchange (PEX)"
+msgstr "Siuntėjų apsikeitimas (PEX)"
+
+#: src/trg-remote-prefs-dialog.c:484
+msgid "Distributed Hash Table (DHT)"
+msgstr "Distributed Hash Table (DHT)"
+
+#: src/trg-remote-prefs-dialog.c:488
+msgid "Local peer discovery"
+msgstr "Vietinių siuntėjų ieškojimas"
+
+#: src/trg-remote-prefs-dialog.c:491
+msgid "Blocklist"
+msgstr "Blokuotų sąrašas"
+
+#: src/trg-remote-prefs-dialog.c:509
+msgid "Blocklist URL:"
+msgstr "Blokuotų sąrašo URL:"
+
+#: src/trg-remote-prefs-dialog.c:525
+msgid "Environment"
+msgstr "Aplinka"
+
+#: src/trg-remote-prefs-dialog.c:528
+msgid "Download directory"
+msgstr "Atsisiuntimų aplankas"
+
+#: src/trg-remote-prefs-dialog.c:531
+msgid "Incomplete download dir"
+msgstr "Nebaigtų parsiuntimo aplankas"
+
+#: src/trg-remote-prefs-dialog.c:536
+msgid "Torrent done script"
+msgstr "Torento atlikimo scenarijus"
+
+#: src/trg-remote-prefs-dialog.c:545
+msgid "Cache size (MiB)"
+msgstr "Podėlio dydis (MB)"
+
+#: src/trg-remote-prefs-dialog.c:548
+msgid "Behavior"
+msgstr "Elgsena"
+
+#: src/trg-remote-prefs-dialog.c:551
+msgid "Rename partial files"
+msgstr "Pervadinti nepilnus failus"
+
+#: src/trg-remote-prefs-dialog.c:556
+msgid "Trash original torrent files"
+msgstr "Išmesti originalius torent failus"
+
+#: src/trg-remote-prefs-dialog.c:560
+msgid "Start added torrents"
+msgstr "Pradėti prdėtus torentus"
+
+#: src/trg-remote-prefs-dialog.c:581 src/trg-toolbar.c:261
+msgid "Remote Preferences"
+msgstr "Nuotoliniai nustatymai"
+
+#: src/trg-remote-prefs-dialog.c:608 src/trg-torrent-props-dialog.c:174
+msgid "Bandwidth"
+msgstr "Duomenų srautas"
+
+#: src/trg-remote-prefs-dialog.c:612 src/trg-torrent-props-dialog.c:299
+msgid "Limits"
+msgstr "Ribos"
+
+#: src/trg-state-selector.c:581
+msgid "All"
+msgstr "Visi"
+
+#: src/trg-state-selector.c:586 src/trg-state-selector.c:643
+msgid "Queue Down"
+msgstr "Eilėje žemyn"
+
+#: src/trg-state-selector.c:591 src/trg-state-selector.c:646
+msgid "Queue Up"
+msgstr "Eilėje aukštyn"
+
+#: src/trg-state-selector.c:596
+msgid "Complete"
+msgstr "Baigta"
+
+#: src/trg-state-selector.c:598
+msgid "Incomplete"
+msgstr "Nebaigtas"
+
+#: src/trg-state-selector.c:601
+msgid "Active"
+msgstr "Aktyvus"
+
+#: src/trg-stats-dialog.c:269
+msgid "Statistics"
+msgstr "Statistika"
+
+#: src/trg-stats-dialog.c:288
+msgid "Version"
+msgstr "Versija"
+
+#: src/trg-stats-dialog.c:290
+msgid "Download Total"
+msgstr "Iš viso parsiųsta"
+
+#: src/trg-stats-dialog.c:292
+msgid "Upload Total"
+msgstr "Iš viso išsiųsta"
+
+#: src/trg-stats-dialog.c:294
+msgid "Files Added"
+msgstr "Pridėta failų"
+
+#: src/trg-stats-dialog.c:296
+msgid "Session Count"
+msgstr "Seansų skaičius"
+
+#: src/trg-stats-dialog.c:298
+msgid "Time Active"
+msgstr "Aktyvus laikas"
+
+#: src/trg-stats-dialog.c:303
+msgid "Statistic"
+msgstr "Statistika"
+
+#: src/trg-stats-dialog.c:305
+msgid "Session"
+msgstr "Seansas"
+
+#: src/trg-stats-dialog.c:308
+msgid "Cumulative"
+msgstr "Didėjantis"
+
+#: src/trg-status-bar.c:126
+#, c-format
+msgid "Connected to Transmission %g, getting torrents..."
+msgstr "Prisijungta prie Transmission %g, gaunami torentai..."
+
+#: src/trg-status-bar.c:142
+#, c-format
+msgid "Free space: %s"
+msgstr "Laisva vieta: %s"
+
+#: src/trg-status-bar.c:154
+msgid "Disable alternate speed limits"
+msgstr "Išjungti alternatyvias greičio ribas"
+
+#: src/trg-status-bar.c:155
+msgid "Enable alternate speed limits"
+msgstr "Įjungti alternatyvias greičio ribas"
+
+#: src/trg-status-bar.c:190 src/trg-status-bar.c:196
+#, c-format
+msgid " (Limit: %s)"
+msgstr " (Riba: %s)"
+
+#: src/trg-status-bar.c:200
+#, c-format
+msgid "Down: %s%s, Up: %s%s"
+msgstr "Pars: %s%s, Išs: %s%s"
+
+#: src/trg-status-bar.c:205
+#, c-format
+msgid "%d torrent: %d seeding, %d downloading, %d paused"
+msgid_plural "%d torrents: %d seeding, %d downloading, %d paused"
+msgstr[0] "%d torentas: %d skleidžiamas, %d parsiunčiamas, %d sustabdytas"
+msgstr[1] "%d torentai: %d skleidžiami, %d parsiunčiami, %d sustabdyti"
+msgstr[2] "%d torentų: %d skleidžiami, %d parsiunčiami, %d sustabdyti"
+
+#: src/trg-toolbar.c:246
+msgid "Remove with data"
+msgstr "Pašalinti su duomenimis"
+
+#: src/trg-torrent-add-dialog.c:409
+msgid "Torrent files"
+msgstr "Torentų failai"
+
+#: src/trg-torrent-add-dialog.c:414
+msgid "All files"
+msgstr "Visi failai"
+
+#: src/trg-torrent-add-dialog.c:451
+msgid ""
+"Unable to parse torrent file. File preferences unavailable, but you can "
+"still try uploading it."
+msgstr ""
+"Nepavyko apdoroti torent failo. Failo nustatymai neprieinami, bet vistiek "
+"galite bandyti išsisųti."
+
+#: src/trg-torrent-add-dialog.c:460
+#, c-format
+msgid "Unable to open torrent file: %s"
+msgstr "Nepavyko atverti torent failo: %s"
+
+#: src/trg-torrent-add-dialog.c:510
+msgid "(None)"
+msgstr "(Joks)"
+
+#: src/trg-torrent-add-dialog.c:512
+msgid "(Multiple)"
+msgstr "(Keli)"
+
+#: src/trg-torrent-add-dialog.c:532
+msgid "Add a Torrent"
+msgstr "Pridėti torentą"
+
+#: src/trg-torrent-add-dialog.c:581
+msgid "Add Torrent"
+msgstr "Pridėti torentą"
+
+#: src/trg-torrent-add-dialog.c:602
+msgid "Start _paused"
+msgstr "Paleisti _sustabdytą"
+
+#: src/trg-torrent-add-dialog.c:618
+msgid "_Torrent file:"
+msgstr "Torento _failas:"
+
+#: src/trg-torrent-add-dialog.c:637
+msgid "_Destination folder:"
+msgstr "_Paskirties aplankas:"
+
+#: src/trg-torrent-add-dialog.c:657
+msgid "Torrent _priority:"
+msgstr "Torento p_rioritetas:"
+
+#: src/trg-torrent-add-dialog.c:743
+msgid "Show _options dialog"
+msgstr "Rodyti _parinkčių langą"
+
+#: src/trg-torrent-add-url-dialog.c:61
+msgid ""
+"You are trying to add a magnet torrent, but DHT is disabled. Distributed "
+"Hash Table (DHT) should be enabled in remote settings."
+msgstr ""
+"Jūs bandote pridėti magnet torent, bet DHT yra išjungta. Nuotoliniuose "
+"nustatymuose Distributed Hash Table (DHT) turėtų būti įjungta."
+
+#: src/trg-torrent-add-url-dialog.c:120
+msgid "URL:"
+msgstr "URL:"
+
+#: src/trg-torrent-add-url-dialog.c:123
+msgid "Start Paused"
+msgstr "Paleisti sustabdytą"
+
+#: src/trg-torrent-add-url-dialog.c:126
+msgid "Add torrent from URL"
+msgstr "Pridėti torentą iš URL"
+
+#: src/trg-torrent-graph.c:407
+msgid "Total Uploading"
+msgstr "Viso išsiunčiama"
+
+#: src/trg-torrent-graph.c:415
+msgid "Total Downloading"
+msgstr "Viso parsiunčiama"
+
+#: src/trg-torrent-model.c:343
+msgid "Default"
+msgstr "Numatytas"
+
+#: src/trg-torrent-move-dialog.c:118
+msgid "Location:"
+msgstr "Vieta:"
+
+#: src/trg-torrent-move-dialog.c:165
+#, c-format
+msgid "Move %s"
+msgstr "Perkelti %s"
+
+#: src/trg-torrent-move-dialog.c:167
+#, c-format
+msgid "Move %d torrents"
+msgstr "Perkelti %d torentus"
+
+#: src/trg-torrent-props-dialog.c:178
+msgid "Honor global limits"
+msgstr "Garbingos visuotinės ribos"
+
+#: src/trg-torrent-props-dialog.c:187
+msgid "Torrent priority:"
+msgstr "Torento prioritetas"
+
+#: src/trg-torrent-props-dialog.c:193
+msgid "Queue Position:"
+msgstr "Vieta eilėje:"
+
+#: src/trg-torrent-props-dialog.c:198
+msgid "Limit download speed (KiB/s)"
+msgstr "Riboti parsiuntimų greitį (KiB/s)"
+
+#: src/trg-torrent-props-dialog.c:206
+msgid "Limit upload speed (KiB/s)"
+msgstr "Riboti išsiuntimų greitį (KiB/s)"
+
+#: src/trg-torrent-props-dialog.c:215
+msgid "Use global settings"
+msgstr "Naudoti visuotinius parametrus"
+
+#: src/trg-torrent-props-dialog.c:216
+msgid "Stop seeding at ratio"
+msgstr "Baigti skleisti pasiekus santykį"
+
+#: src/trg-torrent-props-dialog.c:217
+msgid "Seed regardless of ratio"
+msgstr "Skleisti nepaisant santykio"
+
+#: src/trg-torrent-props-dialog.c:220
+msgid "Seed ratio mode:"
+msgstr "Skleidimo santykio režimas:"
+
+#: src/trg-torrent-props-dialog.c:228
+msgid "Seed ratio limit:"
+msgstr "Skleidimo santykio riba:"
+
+#: src/trg-torrent-props-dialog.c:235
+msgid "Peer limit:"
+msgstr "Siuntėjų-skleidėjų riba:"
+
+#: src/trg-torrent-props-dialog.c:269
+#, c-format
+msgid "Multiple (%d) torrent properties"
+msgstr "Kelių (%d) torentų savybės"
+
+#: src/trg-torrent-tree-view.c:51
+msgid "Done"
+msgstr "Atlikta"
+
+#: src/trg-torrent-tree-view.c:55
+msgid "Seeds"
+msgstr "Skleidėjai"
+
+#: src/trg-torrent-tree-view.c:57
+msgid "Sending"
+msgstr "Siunčiama"
+
+#: src/trg-torrent-tree-view.c:63
+msgid "Downloads"
+msgstr "Atsiuntimai"
+
+#: src/trg-torrent-tree-view.c:66
+msgid "Receiving"
+msgstr "Gaunama"
+
+#: src/trg-torrent-tree-view.c:72
+msgid "PEX Peers"
+msgstr "PEX siuntėjai"
+
+#: src/trg-torrent-tree-view.c:75
+msgid "DHT Peers"
+msgstr "DHT siuntėjai"
+
+#: src/trg-torrent-tree-view.c:79
+msgid "Tracker Peers"
+msgstr "Serverio siuntėjai"
+
+#: src/trg-torrent-tree-view.c:82
+msgid "LTEP Peers"
+msgstr "LTEP siuntėjai"
+
+#: src/trg-torrent-tree-view.c:85
+msgid "Resumed Peers"
+msgstr "Pratęsti siuntėjai"
+
+#: src/trg-torrent-tree-view.c:89
+msgid "Incoming Peers"
+msgstr "Atsiunčiantys siuntėjai"
+
+#: src/trg-torrent-tree-view.c:93
+msgid "Peers T/I/E/H/X/L/R"
+msgstr "Siuntėjai T/I/E/H/X/L/R"
+
+#: src/trg-torrent-tree-view.c:112
+msgid "Added"
+msgstr "Pridėta"
+
+#: src/trg-torrent-tree-view.c:115
+msgid "First Tracker"
+msgstr "Pirmas serveris"
+
+#: src/trg-torrent-tree-view.c:121
+msgid "ID"
+msgstr "ID"
+
+#: src/trg-torrent-tree-view.c:127
+msgid "Queue Position"
+msgstr "Eilės vieta"
+
+#: src/trg-torrent-tree-view.c:133
+msgid "Last Active"
+msgstr "Paskutinis aktyvus"
+
+#: src/trg-trackers-tree-view.c:167
+msgid "Tier"
+msgstr "Sujungėjas"
+
+#: src/trg-trackers-tree-view.c:173
+msgid "Announce URL"
+msgstr "Skleidimo URL"
+
+#: src/trg-trackers-tree-view.c:191
+msgid "Seeder Count"
+msgstr "Skleidėjų skaičius"
+
+#: src/trg-trackers-tree-view.c:194
+msgid "Leecher Count"
+msgstr "Parsiuntėjų skaičius"
+
+#: src/trg-trackers-tree-view.c:198
+msgid "Last Announce"
+msgstr "Paskutinis pranešimas"
+
+#: src/trg-trackers-tree-view.c:201
+msgid "Last Result"
+msgstr "Paskutinis rezultatas"
+
+#: src/trg-trackers-tree-view.c:203
+msgid "Scrape URL"
+msgstr "Surinkti informaciją iš URL"
+
+#: src/trg-trackers-tree-view.c:205
+msgid "Last Scrape"
+msgstr "Paskutinis informacijos rinkimas"
+
+#: src/trg-trackers-tree-view.c:305
+msgid "Delete"
+msgstr "Pašalinti"
+
+#: src/util.c:41
+msgid "KiB"
+msgstr "Kb"
+
+#: src/util.c:42
+msgid "MiB"
+msgstr "MB"
+
+#: src/util.c:43
+msgid "GiB"
+msgstr "GB"
+
+#: src/util.c:44
+msgid "TiB"
+msgstr "TB"
+
+#: src/util.c:47
+msgid "KiB/s"
+msgstr "KB/s"
+
+#: src/util.c:48
+msgid "MiB/s"
+msgstr "MB/s"
+
+#: src/util.c:49
+msgid "GiB/s"
+msgstr "GB/s"
+
+#: src/util.c:50
+msgid "TiB/s"
+msgstr "TB/s"
+
+#: src/util.c:331
+msgid "JSON decoding error."
+msgstr "JSON iškodavimo klaida."
+
+#: src/util.c:336
+msgid "Server responded, but with no result."
+msgstr "Serveris atsakė, bet be rezultato."
+
+#: src/util.c:340
+#, c-format
+msgid "Request failed with HTTP code %d"
+msgstr "Užklausa nepavyko su HTTP kodu %d"
+
+#: src/util.c:379
+msgid "None"
+msgstr "Nėra"
+
+#: src/util.c:425
+#, c-format
+msgid "%d day"
+msgid_plural "%d days"
+msgstr[0] "%d diena"
+msgstr[1] "%d dienos"
+msgstr[2] "%d dienų"
+
+#: src/util.c:426
+#, c-format
+msgid "%d hour"
+msgid_plural "%d hours"
+msgstr[0] "%d valanda"
+msgstr[1] "%d valandos"
+msgstr[2] "%d valandų"
+
+#: src/util.c:428
+#, c-format
+msgid "%d minute"
+msgid_plural "%d minutes"
+msgstr[0] "%d minutė"
+msgstr[1] "%d minutės"
+msgstr[2] "%d minučių"
+
+#: src/util.c:431
+#, c-format
+msgid "%ld second"
+msgid_plural "%ld seconds"
+msgstr[0] "%ld sekundė"
+msgstr[1] "%ld sekundės"
+msgstr[2] "%ld sekundžių"
+
+#~ msgid "Wanted"
+#~ msgstr "Norima"
diff --git a/src/icon-turtle.h b/src/icon-turtle.h
index f36566a..953fb50 100644
--- a/src/icon-turtle.h
+++ b/src/icon-turtle.h
@@ -4,37 +4,42 @@
#pragma align 4 (blue_turtle)
#endif
#ifdef __GNUC__
-static const guint8 blue_turtle[] __attribute__ ((__aligned__ (4))) =
+static const guint8 blue_turtle[] __attribute__ ((__aligned__(4))) =
#else
-static const guint8 blue_turtle[] =
+static const guint8 blue_turtle[] =
#endif
{ ""
- /* Pixbuf magic (0x47646b50) */
- "GdkP"
- /* length: header (24) + pixel_data (315) */
- "\0\0\1S"
- /* pixdata_type (0x2010002) */
- "\2\1\0\2"
- /* rowstride (80) */
- "\0\0\0P"
- /* width (20) */
- "\0\0\0\24"
- /* height (14) */
- "\0\0\0\16"
- /* pixel_data: */
- "\304\377\377\377\0\3""66\377@77\377p55\3770\205\377\377\377\0\1\0\0\0"
- "\0\211\377\377\377\0\2""66\3770<<\377\317\202\77\77\377\377\2>>\377\377"
- "::\377\237\204\377\377\377\0\1\0\0\0\0\210\377\377\377\0\14""66\3770"
- "BB\377\360FF\377\377II\377\377JJ\377\377HH\377\377DD\377\377==\377\237"
- "\377\377\377\0""99\377`\77\77\377\377;;\377\237\207\377\377\377\0\4""5"
- "5\377\20FF\377\360KK\377\377OO\377\377\202QQ\377\377\7PP\377\377NN\377"
- "\377II\377\377EE\377\377FF\377\377II\377\377[[\377\267\207\377\377\377"
- "\0\3EE\377\261NN\377\377TT\377\377\204VV\377\377\3UU\377\377ee\377\331"
- "\252\252\377\214\202\377\377\377f\1\377\377\377@\207\377\377\377\0\3"
- "\377\377\377F\224\224\377\240YY\377\377\204ZZ\377\377\3XX\377\377kk\377"
- "\274\377\377\377\31\202\377\377\377\0\1\0\0\0\0\210\377\377\377\0\2m"
- "m\377wvv\377\305\204\377\377\377f\3\230\230\377\237TT\377\377FF\377\237"
- "\202\377\377\377\0\1\0\0\0\0\323\377\377\377\0"};
+ /* Pixbuf magic (0x47646b50) */
+ "GdkP"
+ /* length: header (24) + pixel_data (315) */
+ "\0\0\1S"
+ /* pixdata_type (0x2010002) */
+ "\2\1\0\2"
+ /* rowstride (80) */
+ "\0\0\0P"
+ /* width (20) */
+ "\0\0\0\24"
+ /* height (14) */
+ "\0\0\0\16"
+ /* pixel_data: */
+ "\304\377\377\377\0\3"
+ "66\377@77\377p55\3770\205\377\377\377\0\1\0\0\0"
+ "\0\211\377\377\377\0\2"
+ "66\3770<<\377\317\202\77\77\377\377\2>>\377\377"
+ "::\377\237\204\377\377\377\0\1\0\0\0\0\210\377\377\377\0\14"
+ "66\3770"
+ "BB\377\360FF\377\377II\377\377JJ\377\377HH\377\377DD\377\377==\377\237"
+ "\377\377\377\0"
+ "99\377`\77\77\377\377;;\377\237\207\377\377\377\0\4" "5"
+ "5\377\20FF\377\360KK\377\377OO\377\377\202QQ\377\377\7PP\377\377NN\377"
+ "\377II\377\377EE\377\377FF\377\377II\377\377[[\377\267\207\377\377\377"
+ "\0\3EE\377\261NN\377\377TT\377\377\204VV\377\377\3UU\377\377ee\377\331"
+ "\252\252\377\214\202\377\377\377f\1\377\377\377@\207\377\377\377\0\3"
+ "\377\377\377F\224\224\377\240YY\377\377\204ZZ\377\377\3XX\377\377kk\377"
+ "\274\377\377\377\31\202\377\377\377\0\1\0\0\0\0\210\377\377\377\0\2m"
+ "m\377wvv\377\305\204\377\377\377f\3\230\230\377\237TT\377\377FF\377\237"
+ "\202\377\377\377\0\1\0\0\0\0\323\377\377\377\0"
+};
/* GdkPixbuf RGBA C-Source image dump 1-byte-run-length-encoded */
@@ -43,36 +48,37 @@ static const guint8 blue_turtle[] =
#pragma align 4 (grey_turtle)
#endif
#ifdef __GNUC__
-static const guint8 grey_turtle[] __attribute__ ((__aligned__ (4))) =
+static const guint8 grey_turtle[] __attribute__ ((__aligned__(4))) =
#else
-static const guint8 grey_turtle[] =
+static const guint8 grey_turtle[] =
#endif
{ ""
- /* Pixbuf magic (0x47646b50) */
- "GdkP"
- /* length: header (24) + pixel_data (315) */
- "\0\0\1S"
- /* pixdata_type (0x2010002) */
- "\2\1\0\2"
- /* rowstride (80) */
- "\0\0\0P"
- /* width (20) */
- "\0\0\0\24"
- /* height (14) */
- "\0\0\0\16"
- /* pixel_data: */
- "\304\377\377\377\0\3\3\3\3@\5\5\5p\2\2\2""0\205\377\377\377\0\1\0\0\0"
- "\0\211\377\377\377\0\2\3\3\3""0\13\13\13\317\202\17\17\17\377\2\16\16"
- "\16\377\11\11\11\237\204\377\377\377\0\1\0\0\0\0\210\377\377\377\0\14"
- "\4\4\4""0\23\23\23\360\27\27\27\377\33\33\33\377\34\34\34\377\32\32\32"
- "\377\25\25\25\377\14\14\14\237\377\377\377\0\7\7\7`\17\17\17\377\12\12"
- "\12\237\207\377\377\377\0\4\2\2\2\20\27\27\27\360\36\36\36\377###\377"
- "\202%%%\377\7$$$\377!!!\377\33\33\33\377\26\26\26\377\30\30\30\377\33"
- "\33\33\377222\267\207\377\377\377\0\3\26\26\26\261\"\"\"\377)))\377\204"
- "+++\377\3***\377\77\77\77\331\225\225\225\214\202\377\377\377f\1\377"
- "\377\377@\207\377\377\377\0\3\377\377\377Fyyy\240///\377\204000\377\3"
- "...\377FFF\274\377\377\377\31\202\377\377\377\0\1\0\0\0\0\210\377\377"
- "\377\0\2HHHwTTT\305\204\377\377\377f\3~~~\237)))\377\27\27\27\237\202"
- "\377\377\377\0\1\0\0\0\0\323\377\377\377\0"};
-
-
+ /* Pixbuf magic (0x47646b50) */
+ "GdkP"
+ /* length: header (24) + pixel_data (315) */
+ "\0\0\1S"
+ /* pixdata_type (0x2010002) */
+ "\2\1\0\2"
+ /* rowstride (80) */
+ "\0\0\0P"
+ /* width (20) */
+ "\0\0\0\24"
+ /* height (14) */
+ "\0\0\0\16"
+ /* pixel_data: */
+ "\304\377\377\377\0\3\3\3\3@\5\5\5p\2\2\2"
+ "0\205\377\377\377\0\1\0\0\0" "\0\211\377\377\377\0\2\3\3\3"
+ "0\13\13\13\317\202\17\17\17\377\2\16\16"
+ "\16\377\11\11\11\237\204\377\377\377\0\1\0\0\0\0\210\377\377\377\0\14"
+ "\4\4\4"
+ "0\23\23\23\360\27\27\27\377\33\33\33\377\34\34\34\377\32\32\32"
+ "\377\25\25\25\377\14\14\14\237\377\377\377\0\7\7\7`\17\17\17\377\12\12"
+ "\12\237\207\377\377\377\0\4\2\2\2\20\27\27\27\360\36\36\36\377###\377"
+ "\202%%%\377\7$$$\377!!!\377\33\33\33\377\26\26\26\377\30\30\30\377\33"
+ "\33\33\377222\267\207\377\377\377\0\3\26\26\26\261\"\"\"\377)))\377\204"
+ "+++\377\3***\377\77\77\77\331\225\225\225\214\202\377\377\377f\1\377"
+ "\377\377@\207\377\377\377\0\3\377\377\377Fyyy\240///\377\204000\377\3"
+ "...\377FFF\274\377\377\377\31\202\377\377\377\0\1\0\0\0\0\210\377\377"
+ "\377\0\2HHHwTTT\305\204\377\377\377f\3~~~\237)))\377\27\27\27\237\202"
+ "\377\377\377\0\1\0\0\0\0\323\377\377\377\0"
+};
diff --git a/src/installer.nsi b/src/installer.nsi
index fabd6c3..c13e63c 100644
--- a/src/installer.nsi
+++ b/src/installer.nsi
@@ -127,6 +127,10 @@ Section $(NAME_SecTransmissionRemoteGTK) SecTransmissionRemoteGTK
File "C:\MinGW\msys\1.0\lib\locale\de\LC_MESSAGES\transmission-remote-gtk.mo"
+ SetOutPath $INSTDIR\share\locale\lt\LC_MESSAGES
+
+ File "C:\MinGW\msys\1.0\lib\locale\lt\LC_MESSAGES\transmission-remote-gtk.mo"
+
SetOutPath $INSTDIR\share\icons\hicolor\scalable\apps
File "C:\MinGW\msys\1.0\share\icons\hicolor\scalable\apps\transmission-remote-gtk.svg"
@@ -221,6 +225,17 @@ Section $(NAME_SecGlibGtkEtc) SecGlibGtkEtc
File "..\..\gtk-2.24-win32-bin\lib\gtk-2.0\modules\libgail.dll"
+ SetOutPath $INSTDIR\share\locale\lt\LC_MESSAGES
+
+ File "..\..\gtk-2.24-win32-bin\share\locale\lt\LC_MESSAGES\libiconv.mo"
+ File "..\..\gtk-2.24-win32-bin\share\locale\lt\LC_MESSAGES\gtk20.mo"
+ File "..\..\gtk-2.24-win32-bin\share\locale\lt\LC_MESSAGES\gtk20-properties.mo"
+ File "..\..\gtk-2.24-win32-bin\share\locale\lt\LC_MESSAGES\glib20.mo"
+ File "..\..\gtk-2.24-win32-bin\share\locale\lt\LC_MESSAGES\gettext-tools.mo"
+ File "..\..\gtk-2.24-win32-bin\share\locale\lt\LC_MESSAGES\gettext-runtime.mo"
+ File "..\..\gtk-2.24-win32-bin\share\locale\lt\LC_MESSAGES\gdk-pixbuf.mo"
+ File "..\..\gtk-2.24-win32-bin\share\locale\lt\LC_MESSAGES\atk10.mo"
+
SetOutPath $INSTDIR\share\locale\uk\LC_MESSAGES
File "..\..\gtk-2.24-win32-bin\share\locale\uk\LC_MESSAGES\libiconv.mo"
@@ -409,6 +424,15 @@ Section "Uninstall"
Delete "$INSTDIR\share\locale\de\LC_MESSAGES\gtk20.mo"
Delete "$INSTDIR\share\locale\de\LC_MESSAGES\libiconv.mo"
Delete "$INSTDIR\share\locale\de\LC_MESSAGES\transmission-remote-gtk.mo"
+ Delete "$INSTDIR\share\locale\lt\LC_MESSAGES\atk10.mo"
+ Delete "$INSTDIR\share\locale\lt\LC_MESSAGES\gdk-pixbuf.mo"
+ Delete "$INSTDIR\share\locale\lt\LC_MESSAGES\gettext-runtime.mo"
+ Delete "$INSTDIR\share\locale\lt\LC_MESSAGES\gettext-tools.mo"
+ Delete "$INSTDIR\share\locale\lt\LC_MESSAGES\glib20.mo"
+ Delete "$INSTDIR\share\locale\lt\LC_MESSAGES\gtk20-properties.mo"
+ Delete "$INSTDIR\share\locale\lt\LC_MESSAGES\gtk20.mo"
+ Delete "$INSTDIR\share\locale\lt\LC_MESSAGES\libiconv.mo"
+ Delete "$INSTDIR\share\locale\lt\LC_MESSAGES\transmission-remote-gtk.mo"
Delete "$INSTDIR\share\locale\es\LC_MESSAGES\atk10.mo"
Delete "$INSTDIR\share\locale\es\LC_MESSAGES\gdk-pixbuf.mo"
Delete "$INSTDIR\share\locale\es\LC_MESSAGES\gettext-runtime.mo"
@@ -497,6 +521,8 @@ Section "Uninstall"
RMDir "$INSTDIR\share\locale\es"
RMDir "$INSTDIR\share\locale\de\LC_MESSAGES"
RMDir "$INSTDIR\share\locale\de"
+ RMDir "$INSTDIR\share\locale\lt\LC_MESSAGES"
+ RMDir "$INSTDIR\share\locale\lt"
RMDir "$INSTDIR\share\locale"
RMDir "$INSTDIR\share\icons\hicolor\scalable\apps"
RMDir "$INSTDIR\share\icons\hicolor\scalable"
diff --git a/src/protocol-constants.h b/src/protocol-constants.h
index f3f9b1d..c618487 100644
--- a/src/protocol-constants.h
+++ b/src/protocol-constants.h
@@ -182,8 +182,8 @@ typedef enum {
} tr_torrent_activity;
enum {
- TR_PRI_UNSET = -3, // Not actually in the protocol. Just used in UI.
- TR_PRI_MIXED = -2, // Neither is this.
+ TR_PRI_UNSET = -3, // Not actually in the protocol. Just used in UI.
+ TR_PRI_MIXED = -2, // Neither is this.
TR_PRI_LOW = -1,
TR_PRI_NORMAL = 0, /* since NORMAL is 0, memset initializes nicely */
TR_PRI_HIGH = 1
diff --git a/src/torrent.c b/src/torrent.c
index 45e77c8..0c83995 100644
--- a/src/torrent.c
+++ b/src/torrent.c
@@ -610,8 +610,7 @@ gint64 peerfrom_get_lpd(JsonObject * pf)
gdouble file_get_progress(gint64 length, gint64 completed)
{
if (length > 0) {
- return ((gdouble) completed /
- (gdouble) length) * 100.0;
+ return ((gdouble) completed / (gdouble) length) * 100.0;
} else {
return 0.0;
}
diff --git a/src/trg-cell-renderer-counter.c b/src/trg-cell-renderer-counter.c
index 0548023..497f122 100644
--- a/src/trg-cell-renderer-counter.c
+++ b/src/trg-cell-renderer-counter.c
@@ -28,10 +28,11 @@ enum {
};
G_DEFINE_TYPE(TrgCellRendererCounter, trg_cell_renderer_counter,
- GTK_TYPE_CELL_RENDERER_TEXT)
+ GTK_TYPE_CELL_RENDERER_TEXT)
#define TRG_CELL_RENDERER_COUNTER_GET_PRIVATE(o) \
(G_TYPE_INSTANCE_GET_PRIVATE ((o), TRG_TYPE_CELL_RENDERER_COUNTER, TrgCellRendererCounterPrivate))
-typedef struct _TrgCellRendererCounterPrivate TrgCellRendererCounterPrivate;
+typedef struct _TrgCellRendererCounterPrivate
+ TrgCellRendererCounterPrivate;
struct _TrgCellRendererCounterPrivate {
gint count;
@@ -39,9 +40,12 @@ struct _TrgCellRendererCounterPrivate {
};
static void trg_cell_renderer_counter_get_property(GObject * object,
- guint property_id, GValue * value, GParamSpec * pspec) {
+ guint property_id,
+ GValue * value,
+ GParamSpec * pspec)
+{
TrgCellRendererCounterPrivate *priv =
- TRG_CELL_RENDERER_COUNTER_GET_PRIVATE(object);
+ TRG_CELL_RENDERER_COUNTER_GET_PRIVATE(object);
switch (property_id) {
case PROP_STATE_COUNT:
g_value_set_int(value, priv->count);
@@ -52,12 +56,15 @@ static void trg_cell_renderer_counter_get_property(GObject * object,
}
}
-static void trg_cell_renderer_counter_refresh(TrgCellRendererCounter *cr) {
+static void trg_cell_renderer_counter_refresh(TrgCellRendererCounter * cr)
+{
TrgCellRendererCounterPrivate *priv =
- TRG_CELL_RENDERER_COUNTER_GET_PRIVATE(cr);
+ TRG_CELL_RENDERER_COUNTER_GET_PRIVATE(cr);
if (priv->originalLabel && priv->count > 0) {
- gchar *counterLabel = g_strdup_printf("%s <span size=\"small\">(%d)</span>", priv->originalLabel,
- priv->count);
+ gchar *counterLabel =
+ g_strdup_printf("%s <span size=\"small\">(%d)</span>",
+ priv->originalLabel,
+ priv->count);
g_object_set(cr, "markup", counterLabel, NULL);
g_free(counterLabel);
} else {
@@ -66,71 +73,84 @@ static void trg_cell_renderer_counter_refresh(TrgCellRendererCounter *cr) {
}
static void trg_cell_renderer_counter_set_property(GObject * object,
- guint property_id, const GValue * value, GParamSpec * pspec) {
+ guint property_id,
+ const GValue * value,
+ GParamSpec * pspec)
+{
TrgCellRendererCounterPrivate *priv =
- TRG_CELL_RENDERER_COUNTER_GET_PRIVATE(object);
+ TRG_CELL_RENDERER_COUNTER_GET_PRIVATE(object);
if (property_id == PROP_STATE_LABEL) {
g_free(priv->originalLabel);
priv->originalLabel = g_strdup(g_value_get_string(value));
- trg_cell_renderer_counter_refresh(TRG_CELL_RENDERER_COUNTER(object));
+ trg_cell_renderer_counter_refresh(TRG_CELL_RENDERER_COUNTER
+ (object));
} else if (property_id == PROP_STATE_COUNT) {
gint newCount = g_value_get_int(value);
if (priv->count != newCount) {
priv->count = newCount;
- trg_cell_renderer_counter_refresh(
- TRG_CELL_RENDERER_COUNTER(object));
+ trg_cell_renderer_counter_refresh(TRG_CELL_RENDERER_COUNTER
+ (object));
}
} else {
G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec);
}
}
-static void trg_cell_renderer_counter_dispose(GObject * object) {
+static void trg_cell_renderer_counter_dispose(GObject * object)
+{
TrgCellRendererCounterPrivate *priv =
- TRG_CELL_RENDERER_COUNTER_GET_PRIVATE(object);
+ TRG_CELL_RENDERER_COUNTER_GET_PRIVATE(object);
g_free(priv->originalLabel);
- G_OBJECT_CLASS(trg_cell_renderer_counter_parent_class)->dispose(object);
+ G_OBJECT_CLASS(trg_cell_renderer_counter_parent_class)->
+ dispose(object);
}
-static void trg_cell_renderer_counter_class_init(
- TrgCellRendererCounterClass * klass) {
+static void
+trg_cell_renderer_counter_class_init(TrgCellRendererCounterClass * klass)
+{
GObjectClass *object_class = G_OBJECT_CLASS(klass);
object_class->get_property = trg_cell_renderer_counter_get_property;
object_class->set_property = trg_cell_renderer_counter_set_property;
object_class->dispose = trg_cell_renderer_counter_dispose;
- g_object_class_install_property(
- object_class,
- PROP_STATE_COUNT,
- g_param_spec_int(
- "state-count",
- "State Count",
- "State Count",
- -1,
- INT_MAX,
- -1,
- G_PARAM_READWRITE | G_PARAM_STATIC_NAME
- | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB));
-
- g_object_class_install_property(
- object_class,
- PROP_STATE_LABEL,
- g_param_spec_string(
- "state-label",
- "State Label",
- "State Label",
- NULL,
- G_PARAM_READWRITE | G_PARAM_STATIC_NAME
- | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB));
+ g_object_class_install_property(object_class,
+ PROP_STATE_COUNT,
+ g_param_spec_int("state-count",
+ "State Count",
+ "State Count",
+ -1,
+ INT_MAX,
+ -1,
+ G_PARAM_READWRITE |
+ G_PARAM_STATIC_NAME |
+ G_PARAM_STATIC_NICK |
+ G_PARAM_STATIC_BLURB));
+
+ g_object_class_install_property(object_class,
+ PROP_STATE_LABEL,
+ g_param_spec_string("state-label",
+ "State Label",
+ "State Label",
+ NULL,
+ G_PARAM_READWRITE |
+ G_PARAM_STATIC_NAME
+ |
+ G_PARAM_STATIC_NICK
+ |
+ G_PARAM_STATIC_BLURB));
g_type_class_add_private(klass, sizeof(TrgCellRendererCounterPrivate));
}
-static void trg_cell_renderer_counter_init(TrgCellRendererCounter * self) {
+static void trg_cell_renderer_counter_init(TrgCellRendererCounter * self)
+{
}
-GtkCellRenderer *trg_cell_renderer_counter_new(void) {
- return GTK_CELL_RENDERER(g_object_new(TRG_TYPE_CELL_RENDERER_COUNTER, NULL));
+GtkCellRenderer *trg_cell_renderer_counter_new(void)
+{
+ return
+ GTK_CELL_RENDERER(g_object_new
+ (TRG_TYPE_CELL_RENDERER_COUNTER, NULL));
}
diff --git a/src/trg-cell-renderer-file-icon.c b/src/trg-cell-renderer-file-icon.c
index 162444e..887ac03 100644
--- a/src/trg-cell-renderer-file-icon.c
+++ b/src/trg-cell-renderer-file-icon.c
@@ -33,7 +33,8 @@ G_DEFINE_TYPE(TrgCellRendererFileIcon, trg_cell_renderer_file_icon,
GTK_TYPE_CELL_RENDERER_PIXBUF)
#define TRG_CELL_RENDERER_FILE_ICON_GET_PRIVATE(o) \
(G_TYPE_INSTANCE_GET_PRIVATE ((o), TRG_TYPE_CELL_RENDERER_FILE_ICON, TrgCellRendererFileIconPrivate))
-typedef struct _TrgCellRendererFileIconPrivate TrgCellRendererFileIconPrivate;
+typedef struct _TrgCellRendererFileIconPrivate
+ TrgCellRendererFileIconPrivate;
struct _TrgCellRendererFileIconPrivate {
gint64 file_id;
@@ -41,8 +42,9 @@ struct _TrgCellRendererFileIconPrivate {
};
static void
-trg_cell_renderer_file_icon_get_property(GObject * object, guint property_id,
- GValue * value, GParamSpec * pspec)
+trg_cell_renderer_file_icon_get_property(GObject * object,
+ guint property_id, GValue * value,
+ GParamSpec * pspec)
{
TrgCellRendererFileIconPrivate *priv =
TRG_CELL_RENDERER_FILE_ICON_GET_PRIVATE(object);
@@ -56,7 +58,8 @@ trg_cell_renderer_file_icon_get_property(GObject * object, guint property_id,
}
}
-static void trg_cell_renderer_file_icon_refresh(TrgCellRendererFileIcon *fi)
+static void trg_cell_renderer_file_icon_refresh(TrgCellRendererFileIcon *
+ fi)
{
TrgCellRendererFileIconPrivate *priv =
TRG_CELL_RENDERER_FILE_ICON_GET_PRIVATE(fi);
@@ -67,7 +70,8 @@ static void trg_cell_renderer_file_icon_refresh(TrgCellRendererFileIcon *fi)
g_object_set(fi, "stock-id", GTK_STOCK_DIRECTORY, NULL);
} else if (priv->text) {
gboolean uncertain;
- gchar *mimetype = g_content_type_guess(priv->text, NULL, 0, &uncertain);
+ gchar *mimetype =
+ g_content_type_guess(priv->text, NULL, 0, &uncertain);
GIcon *icon = NULL;
if (!uncertain && mimetype)
@@ -85,20 +89,23 @@ static void trg_cell_renderer_file_icon_refresh(TrgCellRendererFileIcon *fi)
}
static void
-trg_cell_renderer_file_icon_set_property(GObject * object, guint property_id,
- const GValue * value,
- GParamSpec * pspec)
+trg_cell_renderer_file_icon_set_property(GObject * object,
+ guint property_id,
+ const GValue * value,
+ GParamSpec * pspec)
{
TrgCellRendererFileIconPrivate *priv =
TRG_CELL_RENDERER_FILE_ICON_GET_PRIVATE(object);
if (property_id == PROP_FILE_ID) {
priv->file_id = g_value_get_int64(value);
- trg_cell_renderer_file_icon_refresh(TRG_CELL_RENDERER_FILE_ICON(object));
+ trg_cell_renderer_file_icon_refresh(TRG_CELL_RENDERER_FILE_ICON
+ (object));
} else if (property_id == PROP_FILE_NAME) {
if (priv->file_id != -1) {
g_free(priv->text);
priv->text = g_strdup(g_value_get_string(value));
- trg_cell_renderer_file_icon_refresh(TRG_CELL_RENDERER_FILE_ICON(object));
+ trg_cell_renderer_file_icon_refresh(TRG_CELL_RENDERER_FILE_ICON
+ (object));
}
} else {
G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec);
@@ -107,13 +114,16 @@ trg_cell_renderer_file_icon_set_property(GObject * object, guint property_id,
static void trg_cell_renderer_file_icon_dispose(GObject * object)
{
- TrgCellRendererFileIconPrivate *priv = TRG_CELL_RENDERER_FILE_ICON_GET_PRIVATE(object);
+ TrgCellRendererFileIconPrivate *priv =
+ TRG_CELL_RENDERER_FILE_ICON_GET_PRIVATE(object);
g_free(priv->text);
- G_OBJECT_CLASS(trg_cell_renderer_file_icon_parent_class)->dispose(object);
+ G_OBJECT_CLASS(trg_cell_renderer_file_icon_parent_class)->
+ dispose(object);
}
static void
-trg_cell_renderer_file_icon_class_init(TrgCellRendererFileIconClass * klass)
+trg_cell_renderer_file_icon_class_init(TrgCellRendererFileIconClass *
+ klass)
{
GObjectClass *object_class = G_OBJECT_CLASS(klass);
@@ -140,26 +150,29 @@ trg_cell_renderer_file_icon_class_init(TrgCellRendererFileIconClass * klass)
g_object_class_install_property(object_class,
PROP_FILE_NAME,
g_param_spec_string("file-name",
- "Filename",
- "Filename",
- NULL,
- G_PARAM_READWRITE
- |
- G_PARAM_STATIC_NAME
- |
- G_PARAM_STATIC_NICK
- |
- G_PARAM_STATIC_BLURB));
-
- g_type_class_add_private(klass, sizeof(TrgCellRendererFileIconPrivate));
+ "Filename",
+ "Filename",
+ NULL,
+ G_PARAM_READWRITE
+ |
+ G_PARAM_STATIC_NAME
+ |
+ G_PARAM_STATIC_NICK
+ |
+ G_PARAM_STATIC_BLURB));
+
+ g_type_class_add_private(klass,
+ sizeof(TrgCellRendererFileIconPrivate));
}
-static void trg_cell_renderer_file_icon_init(TrgCellRendererFileIcon * self)
+static void trg_cell_renderer_file_icon_init(TrgCellRendererFileIcon *
+ self)
{
}
GtkCellRenderer *trg_cell_renderer_file_icon_new(void)
{
return
- GTK_CELL_RENDERER(g_object_new(TRG_TYPE_CELL_RENDERER_FILE_ICON, NULL));
+ GTK_CELL_RENDERER(g_object_new
+ (TRG_TYPE_CELL_RENDERER_FILE_ICON, NULL));
}
diff --git a/src/trg-cell-renderer-priority.c b/src/trg-cell-renderer-priority.c
index 7714267..b91abe5 100644
--- a/src/trg-cell-renderer-priority.c
+++ b/src/trg-cell-renderer-priority.c
@@ -74,9 +74,9 @@ trg_cell_renderer_priority_set_property(GObject * object,
g_object_set(object, "text", _("Low"), NULL);
} else if (priv->priority_value == TR_PRI_HIGH) {
g_object_set(object, "text", _("High"), NULL);
- } else if (priv->priority_value == TR_PRI_NORMAL){
+ } else if (priv->priority_value == TR_PRI_NORMAL) {
g_object_set(object, "text", _("Normal"), NULL);
- } else if (priv->priority_value == TR_PRI_MIXED){
+ } else if (priv->priority_value == TR_PRI_MIXED) {
g_object_set(object, "text", _("Mixed"), NULL);
} else {
g_object_set(object, "text", "", NULL);
@@ -110,9 +110,7 @@ trg_cell_renderer_priority_class_init(TrgCellRendererPriorityClass * klass)
sizeof(TrgCellRendererPriorityPrivate));
}
-static void
-trg_cell_renderer_priority_init(TrgCellRendererPriority *
- self)
+static void trg_cell_renderer_priority_init(TrgCellRendererPriority * self)
{
}
diff --git a/src/trg-cell-renderer-speed.c b/src/trg-cell-renderer-speed.c
index ed921ea..0c52d10 100644
--- a/src/trg-cell-renderer-speed.c
+++ b/src/trg-cell-renderer-speed.c
@@ -65,8 +65,7 @@ trg_cell_renderer_speed_set_property(GObject * object, guint property_id,
priv->speed_value = g_value_get_int64(value);
if (priv->speed_value > 0) {
char speedString[32];
- trg_strlspeed(speedString,
- priv->speed_value / disk_K);
+ trg_strlspeed(speedString, priv->speed_value / disk_K);
g_object_set(object, "text", speedString, NULL);
} else {
g_object_set(object, "text", "", NULL);
diff --git a/src/trg-cell-renderer-wanted.c b/src/trg-cell-renderer-wanted.c
index 168db34..9840a2e 100644
--- a/src/trg-cell-renderer-wanted.c
+++ b/src/trg-cell-renderer-wanted.c
@@ -44,8 +44,8 @@ struct _TrgCellRendererWantedPrivate {
static void
trg_cell_renderer_wanted_get_property(GObject * object,
- guint property_id, GValue * value,
- GParamSpec * pspec)
+ guint property_id, GValue * value,
+ GParamSpec * pspec)
{
TrgCellRendererWantedPrivate *priv =
TRG_CELL_RENDERER_WANTED_GET_PRIVATE(object);
@@ -61,17 +61,18 @@ trg_cell_renderer_wanted_get_property(GObject * object,
static void
trg_cell_renderer_wanted_set_property(GObject * object,
- guint property_id,
- const GValue * value,
- GParamSpec * pspec)
+ guint property_id,
+ const GValue * value,
+ GParamSpec * pspec)
{
TrgCellRendererWantedPrivate *priv =
TRG_CELL_RENDERER_WANTED_GET_PRIVATE(object);
if (property_id == PROP_WANTED_VALUE) {
priv->wanted_value = g_value_get_int(value);
- g_object_set(G_OBJECT(object), "inconsistent", (priv->wanted_value == TR_PRI_MIXED),
- "active", (priv->wanted_value == TRUE), NULL);
+ g_object_set(G_OBJECT(object), "inconsistent",
+ (priv->wanted_value == TR_PRI_MIXED), "active",
+ (priv->wanted_value == TRUE), NULL);
} else {
G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec);
}
@@ -97,16 +98,13 @@ trg_cell_renderer_wanted_class_init(TrgCellRendererWantedClass * klass)
G_PARAM_STATIC_NICK |
G_PARAM_STATIC_BLURB));
- g_type_class_add_private(klass,
- sizeof(TrgCellRendererWantedPrivate));
+ g_type_class_add_private(klass, sizeof(TrgCellRendererWantedPrivate));
}
-static void
-trg_cell_renderer_wanted_init(TrgCellRendererWanted *
- self)
+static void trg_cell_renderer_wanted_init(TrgCellRendererWanted * self)
{
/*g_object_set(G_OBJECT(self), "xalign", (gfloat) 0.5, "yalign", (gfloat) 0.5,
- NULL);*/
+ NULL); */
}
GtkCellRenderer *trg_cell_renderer_wanted_new(void)
diff --git a/src/trg-client.c b/src/trg-client.c
index 0b1d1f6..cdb018f 100644
--- a/src/trg-client.c
+++ b/src/trg-client.c
@@ -89,10 +89,12 @@ struct _TrgClientPrivate {
GMutex *configMutex;
};
-static void dispatch_async_threadfunc(trg_request * reqrsp, TrgClient * client);
+static void dispatch_async_threadfunc(trg_request * reqrsp,
+ TrgClient * client);
static void trg_client_get_property(GObject * object, guint property_id,
- GValue * value, GParamSpec * pspec) {
+ GValue * value, GParamSpec * pspec)
+{
switch (property_id) {
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec);
@@ -101,7 +103,9 @@ static void trg_client_get_property(GObject * object, guint property_id,
}
static void trg_client_set_property(GObject * object, guint property_id,
- const GValue * value, GParamSpec * pspec) {
+ const GValue * value,
+ GParamSpec * pspec)
+{
switch (property_id) {
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec);
@@ -109,11 +113,13 @@ static void trg_client_set_property(GObject * object, guint property_id,
}
}
-static void trg_client_dispose(GObject * object) {
+static void trg_client_dispose(GObject * object)
+{
G_OBJECT_CLASS(trg_client_parent_class)->dispose(object);
}
-static void trg_client_class_init(TrgClientClass * klass) {
+static void trg_client_class_init(TrgClientClass * klass)
+{
GObjectClass *object_class = G_OBJECT_CLASS(klass);
g_type_class_add_private(klass, sizeof(TrgClientPrivate));
@@ -123,16 +129,25 @@ static void trg_client_class_init(TrgClientClass * klass) {
object_class->dispose = trg_client_dispose;
signals[TC_SESSION_UPDATED] = g_signal_new("session-updated",
- G_TYPE_FROM_CLASS(object_class),
- G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION, G_STRUCT_OFFSET(TrgClientClass,
- session_updated), NULL, NULL,
- g_cclosure_marshal_VOID__POINTER, G_TYPE_NONE, 1, G_TYPE_POINTER);
+ G_TYPE_FROM_CLASS
+ (object_class),
+ G_SIGNAL_RUN_LAST |
+ G_SIGNAL_ACTION,
+ G_STRUCT_OFFSET
+ (TrgClientClass,
+ session_updated), NULL,
+ NULL,
+ g_cclosure_marshal_VOID__POINTER,
+ G_TYPE_NONE, 1,
+ G_TYPE_POINTER);
}
-static void trg_client_init(TrgClient * self) {
+static void trg_client_init(TrgClient * self)
+{
}
-TrgClient *trg_client_new(void) {
+TrgClient *trg_client_new(void)
+{
TrgClient *tc = g_object_new(TRG_TYPE_CLIENT, NULL);
TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc);
TrgPrefs *prefs = priv->prefs = trg_prefs_new();
@@ -144,37 +159,42 @@ TrgClient *trg_client_new(void) {
priv->tlsKey = g_private_new(NULL);
priv->pool = g_thread_pool_new((GFunc) dispatch_async_threadfunc, tc,
- DISPATCH_POOL_SIZE, TRUE, NULL);
+ DISPATCH_POOL_SIZE, TRUE, NULL);
- tr_formatter_size_init(disk_K, _(disk_K_str), _(disk_M_str), _(disk_G_str),
- _(disk_T_str));
+ tr_formatter_size_init(disk_K, _(disk_K_str), _(disk_M_str),
+ _(disk_G_str), _(disk_T_str));
tr_formatter_speed_init(speed_K, _(speed_K_str), _(speed_M_str),
- _(speed_G_str), _(speed_T_str));
+ _(speed_G_str), _(speed_T_str));
return tc;
}
-const gchar *trg_client_get_version_string(TrgClient * tc) {
+const gchar *trg_client_get_version_string(TrgClient * tc)
+{
TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc);
return session_get_version_string(priv->session);
}
-float trg_client_get_version(TrgClient * tc) {
+float trg_client_get_version(TrgClient * tc)
+{
TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc);
return priv->version;
}
-gint64 trg_client_get_rpc_version(TrgClient * tc) {
+gint64 trg_client_get_rpc_version(TrgClient * tc)
+{
TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc);
return session_get_rpc_version(priv->session);
}
-void trg_client_inc_connid(TrgClient * tc) {
+void trg_client_inc_connid(TrgClient * tc)
+{
TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc);
g_atomic_int_inc(&priv->connid);
}
-void trg_client_set_session(TrgClient * tc, JsonObject * session) {
+void trg_client_set_session(TrgClient * tc, JsonObject * session)
+{
TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc);
if (priv->session) {
@@ -189,12 +209,14 @@ void trg_client_set_session(TrgClient * tc, JsonObject * session) {
g_signal_emit(tc, signals[TC_SESSION_UPDATED], 0, session);
}
-TrgPrefs *trg_client_get_prefs(TrgClient * tc) {
+TrgPrefs *trg_client_get_prefs(TrgClient * tc)
+{
TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc);
return priv->prefs;
}
-int trg_client_populate_with_settings(TrgClient * tc) {
+int trg_client_populate_with_settings(TrgClient * tc)
+{
TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc);
TrgPrefs *prefs = priv->prefs;
@@ -217,33 +239,34 @@ int trg_client_populate_with_settings(TrgClient * tc) {
g_free(priv->password);
priv->password = NULL;
- port = trg_prefs_get_int(prefs, TRG_PREFS_KEY_PORT, TRG_PREFS_CONNECTION);
+ port =
+ trg_prefs_get_int(prefs, TRG_PREFS_KEY_PORT, TRG_PREFS_CONNECTION);
host = trg_prefs_get_string(prefs, TRG_PREFS_KEY_HOSTNAME,
- TRG_PREFS_CONNECTION);
+ TRG_PREFS_CONNECTION);
if (!host || strlen(host) < 1) {
g_free(host);
g_mutex_unlock(priv->configMutex);
return TRG_NO_HOSTNAME_SET;
}
-
#ifndef CURL_NO_SSL
priv->ssl = trg_prefs_get_bool(prefs, TRG_PREFS_KEY_SSL,
- TRG_PREFS_CONNECTION);
+ TRG_PREFS_CONNECTION);
#else
priv->ssl = FALSE;
#endif
priv->url = g_strdup_printf("%s://%s:%d/transmission/rpc",
- priv->ssl ? HTTPS_URI_PREFIX : HTTP_URI_PREFIX,
- host, port);
+ priv->
+ ssl ? HTTPS_URI_PREFIX : HTTP_URI_PREFIX,
+ host, port);
g_free(host);
priv->username = trg_prefs_get_string(prefs, TRG_PREFS_KEY_USERNAME,
- TRG_PREFS_CONNECTION);
+ TRG_PREFS_CONNECTION);
priv->password = trg_prefs_get_string(prefs, TRG_PREFS_KEY_PASSWORD,
- TRG_PREFS_CONNECTION);
+ TRG_PREFS_CONNECTION);
g_free(priv->proxy);
priv->proxy = NULL;
@@ -272,27 +295,32 @@ int trg_client_populate_with_settings(TrgClient * tc) {
return 0;
}
-gchar *trg_client_get_password(TrgClient * tc) {
+gchar *trg_client_get_password(TrgClient * tc)
+{
TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc);
return priv->password;
}
-gchar *trg_client_get_username(TrgClient * tc) {
+gchar *trg_client_get_username(TrgClient * tc)
+{
TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc);
return priv->username;
}
-gchar *trg_client_get_url(TrgClient * tc) {
+gchar *trg_client_get_url(TrgClient * tc)
+{
TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc);
return priv->url;
}
-gchar *trg_client_get_session_id(TrgClient * tc) {
+gchar *trg_client_get_session_id(TrgClient * tc)
+{
TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc);
return priv->session_id ? g_strdup(priv->session_id) : NULL;
}
-void trg_client_set_session_id(TrgClient * tc, gchar * session_id) {
+void trg_client_set_session_id(TrgClient * tc, gchar * session_id)
+{
TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc);
g_mutex_lock(priv->configMutex);
@@ -305,111 +333,132 @@ void trg_client_set_session_id(TrgClient * tc, gchar * session_id) {
g_mutex_unlock(priv->configMutex);
}
-void trg_client_status_change(TrgClient * tc, gboolean connected) {
+void trg_client_status_change(TrgClient * tc, gboolean connected)
+{
TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc);
if (!connected) {
if (priv->session) {
json_object_unref(priv->session);
priv->session = NULL;
- }g_mutex_lock(priv->configMutex);
+ }
+ g_mutex_lock(priv->configMutex);
trg_prefs_set_connection(priv->prefs, NULL);
g_mutex_unlock(priv->configMutex);
}
}
-JsonObject *trg_client_get_session(TrgClient * tc) {
+JsonObject *trg_client_get_session(TrgClient * tc)
+{
TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc);
return priv->session;
}
-void trg_client_thread_pool_push(TrgClient * tc, gpointer data, GError ** err) {
+void trg_client_thread_pool_push(TrgClient * tc, gpointer data,
+ GError ** err)
+{
TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc);
g_thread_pool_push(priv->pool, data, err);
}
-void trg_client_inc_serial(TrgClient * tc) {
+void trg_client_inc_serial(TrgClient * tc)
+{
TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc);
priv->updateSerial++;
}
-gint64 trg_client_get_serial(TrgClient * tc) {
+gint64 trg_client_get_serial(TrgClient * tc)
+{
TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc);
return priv->updateSerial;
}
#ifndef CURL_NO_SSL
-gboolean trg_client_get_ssl(TrgClient * tc) {
+gboolean trg_client_get_ssl(TrgClient * tc)
+{
TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc);
return priv->ssl;
}
#endif
-gchar *trg_client_get_proxy(TrgClient * tc) {
+gchar *trg_client_get_proxy(TrgClient * tc)
+{
TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc);
return priv->proxy;
}
-void trg_client_set_torrent_table(TrgClient * tc, GHashTable * table) {
+void trg_client_set_torrent_table(TrgClient * tc, GHashTable * table)
+{
TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc);
priv->torrentTable = table;
}
-GHashTable *trg_client_get_torrent_table(TrgClient * tc) {
+GHashTable *trg_client_get_torrent_table(TrgClient * tc)
+{
TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc);
return priv->torrentTable;
}
-gboolean trg_client_is_connected(TrgClient * tc) {
+gboolean trg_client_is_connected(TrgClient * tc)
+{
TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc);
return priv->session != NULL;
}
-void trg_client_updatelock(TrgClient * tc) {
+void trg_client_updatelock(TrgClient * tc)
+{
TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc);
g_mutex_lock(priv->updateMutex);
}
-void trg_client_configlock(TrgClient * tc) {
+void trg_client_configlock(TrgClient * tc)
+{
TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc);
g_mutex_lock(priv->configMutex);
}
-guint trg_client_get_failcount(TrgClient * tc) {
+guint trg_client_get_failcount(TrgClient * tc)
+{
TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc);
return priv->failCount;
}
-guint trg_client_inc_failcount(TrgClient * tc) {
+guint trg_client_inc_failcount(TrgClient * tc)
+{
TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc);
return ++(priv->failCount);
}
-void trg_client_reset_failcount(TrgClient * tc) {
+void trg_client_reset_failcount(TrgClient * tc)
+{
TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc);
priv->failCount = 0;
}
-void trg_client_updateunlock(TrgClient * tc) {
+void trg_client_updateunlock(TrgClient * tc)
+{
TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc);
g_mutex_unlock(priv->updateMutex);
}
-void trg_client_configunlock(TrgClient * tc) {
+void trg_client_configunlock(TrgClient * tc)
+{
TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc);
g_mutex_unlock(priv->configMutex);
}
/* formerly http.c */
-void trg_response_free(trg_response * response) {
+void trg_response_free(trg_response * response)
+{
if (response->obj)
json_object_unref(response->obj);
g_free(response);
}
static size_t http_receive_callback(void *ptr, size_t size, size_t nmemb,
- void *data) {
+ void *data)
+{
size_t realsize = size * nmemb;
trg_response *mem = (trg_response *) data;
@@ -423,7 +472,9 @@ static size_t http_receive_callback(void *ptr, size_t size, size_t nmemb,
return realsize;
}
-static size_t header_callback(void *ptr, size_t size, size_t nmemb, void *data) {
+static size_t header_callback(void *ptr, size_t size, size_t nmemb,
+ void *data)
+{
char *header = (char *) (ptr);
TrgClient *tc = TRG_CLIENT(data);
gchar *session_id;
@@ -442,11 +493,14 @@ static size_t header_callback(void *ptr, size_t size, size_t nmemb, void *data)
return (nmemb * size);
}
-static void trg_tls_update(TrgClient * tc, trg_tls * tls, gint serial) {
+static void trg_tls_update(TrgClient * tc, trg_tls * tls, gint serial)
+{
gchar *proxy;
- curl_easy_setopt(tls->curl, CURLOPT_PASSWORD, trg_client_get_password(tc));
- curl_easy_setopt(tls->curl, CURLOPT_USERNAME, trg_client_get_username(tc));
+ curl_easy_setopt(tls->curl, CURLOPT_PASSWORD,
+ trg_client_get_password(tc));
+ curl_easy_setopt(tls->curl, CURLOPT_USERNAME,
+ trg_client_get_username(tc));
curl_easy_setopt(tls->curl, CURLOPT_URL, trg_client_get_url(tc));
#ifndef CURL_NO_SSL
@@ -463,13 +517,15 @@ static void trg_tls_update(TrgClient * tc, trg_tls * tls, gint serial) {
tls->serial = serial;
}
-trg_tls *trg_tls_new(TrgClient * tc) {
+trg_tls *trg_tls_new(TrgClient * tc)
+{
trg_tls *tls = g_new0(trg_tls, 1);
tls->curl = curl_easy_init();
curl_easy_setopt(tls->curl, CURLOPT_USERAGENT, PACKAGE_NAME);
curl_easy_setopt(tls->curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
- curl_easy_setopt(tls->curl, CURLOPT_WRITEFUNCTION, &http_receive_callback);
+ curl_easy_setopt(tls->curl, CURLOPT_WRITEFUNCTION,
+ &http_receive_callback);
curl_easy_setopt(tls->curl, CURLOPT_HEADERFUNCTION, &header_callback);
curl_easy_setopt(tls->curl, CURLOPT_WRITEHEADER, (void *) tc);
@@ -479,7 +535,9 @@ trg_tls *trg_tls_new(TrgClient * tc) {
}
static int trg_http_perform_inner(TrgClient * tc, gchar * reqstr,
- trg_response * response, gboolean recurse) {
+ trg_response * response,
+ gboolean recurse)
+{
TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc);
TrgPrefs *prefs = trg_client_get_prefs(tc);
gpointer threadLocalStorage = g_private_get(priv->tlsKey);
@@ -507,7 +565,8 @@ static int trg_http_perform_inner(TrgClient * tc, gchar * reqstr,
}
curl_easy_setopt(tls->curl, CURLOPT_TIMEOUT,
- (long)trg_prefs_get_int(prefs, TRG_PREFS_KEY_TIMEOUT, TRG_PREFS_CONNECTION));
+ (long) trg_prefs_get_int(prefs, TRG_PREFS_KEY_TIMEOUT,
+ TRG_PREFS_CONNECTION));
g_mutex_unlock(priv->configMutex);
@@ -526,34 +585,35 @@ static int trg_http_perform_inner(TrgClient * tc, gchar * reqstr,
curl_easy_getinfo(tls->curl, CURLINFO_RESPONSE_CODE, &httpCode);
if (response->status == CURLE_OK) {
- if (httpCode == HTTP_CONFLICT && recurse == TRUE
- )
+ if (httpCode == HTTP_CONFLICT && recurse == TRUE)
return trg_http_perform_inner(tc, reqstr, response, FALSE);
- else if (httpCode != HTTP_OK
- )
+ else if (httpCode != HTTP_OK)
response->status = (-httpCode) - 100;
}
return response->status;
}
-int trg_http_perform(TrgClient * tc, gchar * reqstr, trg_response * reqrsp) {
+int trg_http_perform(TrgClient * tc, gchar * reqstr, trg_response * reqrsp)
+{
return trg_http_perform_inner(tc, reqstr, reqrsp, TRUE);
}
/* formerly dispatch.c */
-trg_response *dispatch(TrgClient * client, JsonNode * req) {
+trg_response *dispatch(TrgClient * client, JsonNode * req)
+{
gchar *serialized = trg_serialize(req);
json_node_free(req);
#ifdef DEBUG
if (g_getenv("TRG_SHOW_OUTGOING"))
- g_debug("=>(OUTgoing)=>: %s", serialized);
+ g_debug("=>(OUTgoing)=>: %s", serialized);
#endif
return dispatch_str(client, serialized);
}
-trg_response *dispatch_str(TrgClient * client, gchar * req) {
+trg_response *dispatch_str(TrgClient * client, gchar * req)
+{
trg_response *response = g_new0(trg_response, 1);
GError *decode_error = NULL;
JsonNode *result;
@@ -582,7 +642,9 @@ trg_response *dispatch_str(TrgClient * client, gchar * req) {
return response;
}
-static void dispatch_async_threadfunc(trg_request * req, TrgClient * client) {
+static void dispatch_async_threadfunc(trg_request * req,
+ TrgClient * client)
+{
TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(client);
trg_response *rsp;
@@ -603,8 +665,10 @@ static void dispatch_async_threadfunc(trg_request * req, TrgClient * client) {
g_free(req);
}
-static gboolean dispatch_async_common(TrgClient * client, trg_request * trg_req,
- GSourceFunc callback, gpointer data) {
+static gboolean dispatch_async_common(TrgClient * client,
+ trg_request * trg_req,
+ GSourceFunc callback, gpointer data)
+{
TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(client);
GError *error = NULL;
@@ -624,7 +688,8 @@ static gboolean dispatch_async_common(TrgClient * client, trg_request * trg_req,
}
gboolean dispatch_async(TrgClient * client, JsonNode * req,
- GSourceFunc callback, gpointer data) {
+ GSourceFunc callback, gpointer data)
+{
trg_request *trg_req = g_new0(trg_request, 1);
trg_req->node = req;
@@ -632,7 +697,8 @@ gboolean dispatch_async(TrgClient * client, JsonNode * req,
}
gboolean dispatch_async_str(TrgClient * client, gchar * req,
- GSourceFunc callback, gpointer data) {
+ GSourceFunc callback, gpointer data)
+{
trg_request *trg_req = g_new0(trg_request, 1);
trg_req->str = req;
diff --git a/src/trg-files-model-common.c b/src/trg-files-model-common.c
index 5468142..ea23c03 100644
--- a/src/trg-files-model-common.c
+++ b/src/trg-files-model-common.c
@@ -33,32 +33,38 @@ struct SubtreeForeachData {
};
static void set_wanted_foreachfunc(GtkTreeModel * model,
- GtkTreePath * path G_GNUC_UNUSED, GtkTreeIter * iter, gpointer data) {
- struct SubtreeForeachData* args = (struct SubtreeForeachData*) data;
+ GtkTreePath * path G_GNUC_UNUSED,
+ GtkTreeIter * iter, gpointer data)
+{
+ struct SubtreeForeachData *args = (struct SubtreeForeachData *) data;
gtk_tree_store_set(GTK_TREE_STORE(model), iter, args->column,
- args->new_value, -1);
+ args->new_value, -1);
trg_files_tree_model_setSubtree(model, path, iter, args->column,
- args->new_value);
+ args->new_value);
}
-static void set_priority_foreachfunc(GtkTreeModel * model, GtkTreePath * path,
- GtkTreeIter * iter, gpointer data) {
- struct SubtreeForeachData* args = (struct SubtreeForeachData*) data;
+static void set_priority_foreachfunc(GtkTreeModel * model,
+ GtkTreePath * path,
+ GtkTreeIter * iter, gpointer data)
+{
+ struct SubtreeForeachData *args = (struct SubtreeForeachData *) data;
GValue value = { 0 };
g_value_init(&value, G_TYPE_INT);
g_value_set_int(&value, args->new_value);
- gtk_tree_store_set_value(GTK_TREE_STORE(model), iter, args->column, &value);
+ gtk_tree_store_set_value(GTK_TREE_STORE(model), iter, args->column,
+ &value);
trg_files_tree_model_setSubtree(model, path, iter, args->column,
- args->new_value);
+ args->new_value);
}
-void trg_files_model_set_wanted(GtkTreeView *tv, gint column,
- gint new_value) {
+void trg_files_model_set_wanted(GtkTreeView * tv, gint column,
+ gint new_value)
+{
struct SubtreeForeachData args;
GtkTreeSelection *selection = gtk_tree_view_get_selection(tv);
@@ -66,42 +72,46 @@ void trg_files_model_set_wanted(GtkTreeView *tv, gint column,
args.new_value = new_value;
gtk_tree_selection_selected_foreach(selection, set_wanted_foreachfunc,
- &args);
+ &args);
}
-void trg_files_tree_model_set_priority(GtkTreeView *tv, gint column,
- gint new_value) {
+void trg_files_tree_model_set_priority(GtkTreeView * tv, gint column,
+ gint new_value)
+{
struct SubtreeForeachData args;
GtkTreeSelection *selection = gtk_tree_view_get_selection(tv);
args.column = column;
args.new_value = new_value;
- gtk_tree_selection_selected_foreach(selection, set_priority_foreachfunc,
- &args);
+ gtk_tree_selection_selected_foreach(selection,
+ set_priority_foreachfunc, &args);
}
static gboolean setSubtreeForeach(GtkTreeModel * model, GtkTreePath * path,
- GtkTreeIter * iter, gpointer gdata) {
+ GtkTreeIter * iter, gpointer gdata)
+{
struct SubtreeForeachData *data = gdata;
if (!gtk_tree_path_compare(path, data->path)
- || gtk_tree_path_is_descendant(path, data->path)) {
+ || gtk_tree_path_is_descendant(path, data->path)) {
GValue value = { 0 };
g_value_init(&value, G_TYPE_INT);
g_value_set_int(&value, data->new_value);
gtk_tree_store_set_value(GTK_TREE_STORE(model), iter, data->column,
- &value);
+ &value);
}
- return FALSE; /* keep walking */
+ return FALSE; /* keep walking */
}
void trg_files_tree_model_propogateChangeUp(GtkTreeModel * model,
- GtkTreeIter * iter, gint column, gint new_value) {
+ GtkTreeIter * iter,
+ gint column, gint new_value)
+{
GtkTreeIter back_iter = *iter;
gint result = new_value;
@@ -118,7 +128,8 @@ void trg_files_tree_model_propogateChangeUp(GtkTreeModel * model,
GtkTreeIter child;
gint current_value;
- if (!gtk_tree_model_iter_nth_child(model, &child, &tmp_iter, i))
+ if (!gtk_tree_model_iter_nth_child
+ (model, &child, &tmp_iter, i))
continue;
gtk_tree_model_get(model, &child, column, &current_value, -1);
@@ -128,15 +139,18 @@ void trg_files_tree_model_propogateChangeUp(GtkTreeModel * model,
}
}
- gtk_tree_store_set(GTK_TREE_STORE(model), &tmp_iter, column, result,
- -1);
+ gtk_tree_store_set(GTK_TREE_STORE(model), &tmp_iter, column,
+ result, -1);
back_iter = tmp_iter;
}
}
-void trg_files_tree_model_setSubtree(GtkTreeModel * model, GtkTreePath * path,
- GtkTreeIter * iter, gint column, gint new_value) {
+void trg_files_tree_model_setSubtree(GtkTreeModel * model,
+ GtkTreePath * path,
+ GtkTreeIter * iter, gint column,
+ gint new_value)
+{
GtkTreeIter back_iter = *iter;
if (gtk_tree_model_iter_has_child(model, iter)) {
@@ -148,8 +162,8 @@ void trg_files_tree_model_setSubtree(GtkTreeModel * model, GtkTreePath * path,
gtk_tree_model_foreach(model, setSubtreeForeach, &tmp);
} else {
- gtk_tree_store_set(GTK_TREE_STORE(model), &back_iter, column, new_value,
- -1);
+ gtk_tree_store_set(GTK_TREE_STORE(model), &back_iter, column,
+ new_value, -1);
}
trg_files_tree_model_propogateChangeUp(model, iter, column, new_value);
@@ -160,20 +174,30 @@ struct UpdateParentsSizeForeachData {
GtkTreeIter *descendent_iter;
};
-static gboolean trg_files_model_update_parents_size_foreach(GtkTreeModel *model,
- GtkTreePath *path, GtkTreeIter *iter, gpointer data) {
- struct UpdateParentsSizeForeachData *args = (struct UpdateParentsSizeForeachData*)data;
+static gboolean trg_files_model_update_parents_size_foreach(GtkTreeModel *
+ model,
+ GtkTreePath *
+ path,
+ GtkTreeIter *
+ iter,
+ gpointer data)
+{
+ struct UpdateParentsSizeForeachData *args =
+ (struct UpdateParentsSizeForeachData *) data;
GtkTreePath *descendentPath = gtk_tree_model_get_path(model,
- args->descendent_iter);
+ args->
+ descendent_iter);
if (gtk_tree_path_is_ancestor(path, descendentPath)
- && gtk_tree_model_get_iter(model, args->descendent_iter, descendentPath)) {
+ && gtk_tree_model_get_iter(model, args->descendent_iter,
+ descendentPath)) {
gint64 size, oldSize;
- gtk_tree_model_get(model, args->descendent_iter, args->size_column, &size, -1);
+ gtk_tree_model_get(model, args->descendent_iter, args->size_column,
+ &size, -1);
gtk_tree_model_get(model, iter, args->size_column, &oldSize, -1);
gtk_tree_store_set(GTK_TREE_STORE(model), iter, args->size_column,
- size + oldSize, -1);
+ size + oldSize, -1);
}
gtk_tree_path_free(descendentPath);
@@ -181,10 +205,13 @@ static gboolean trg_files_model_update_parents_size_foreach(GtkTreeModel *model,
return FALSE;
}
-void trg_files_model_update_parents(GtkTreeModel *model, GtkTreeIter *iter, gint size_column) {
+void trg_files_model_update_parents(GtkTreeModel * model,
+ GtkTreeIter * iter, gint size_column)
+{
struct UpdateParentsSizeForeachData args;
args.descendent_iter = iter;
args.size_column = size_column;
gtk_tree_model_foreach(model,
- trg_files_model_update_parents_size_foreach, &args);
+ trg_files_model_update_parents_size_foreach,
+ &args);
}
diff --git a/src/trg-files-model-common.h b/src/trg-files-model-common.h
index 0ba3d63..76eaecc 100644
--- a/src/trg-files-model-common.h
+++ b/src/trg-files-model-common.h
@@ -20,14 +20,22 @@
#ifndef TRG_FILES_TREE_MODEL_COMMON_H_
#define TRG_FILES_TREE_MODEL_COMMON_H_
-void trg_files_tree_model_propogateChangeUp(GtkTreeModel * model, GtkTreeIter * iter, gint column, gint new_value);
-void
-trg_files_tree_model_setSubtree(GtkTreeModel * model, GtkTreePath * path, GtkTreeIter * iter,
- gint column, gint new_value);
-void trg_files_tree_model_set_priority(GtkTreeView *tv, gint column, gint new_value);
-void trg_files_model_set_wanted(GtkTreeView *tv, gint column, gint new_value);
-gboolean trg_files_model_update_parent_size(GtkTreeModel *model,
- GtkTreePath *path, GtkTreeIter *iter, gpointer data);
-void trg_files_model_update_parents(GtkTreeModel *model, GtkTreeIter *iter, gint size_column);
+void trg_files_tree_model_propogateChangeUp(GtkTreeModel * model,
+ GtkTreeIter * iter,
+ gint column, gint new_value);
+void trg_files_tree_model_setSubtree(GtkTreeModel * model,
+ GtkTreePath * path,
+ GtkTreeIter * iter, gint column,
+ gint new_value);
+void trg_files_tree_model_set_priority(GtkTreeView * tv, gint column,
+ gint new_value);
+void trg_files_model_set_wanted(GtkTreeView * tv, gint column,
+ gint new_value);
+gboolean trg_files_model_update_parent_size(GtkTreeModel * model,
+ GtkTreePath * path,
+ GtkTreeIter * iter,
+ gpointer data);
+void trg_files_model_update_parents(GtkTreeModel * model,
+ GtkTreeIter * iter, gint size_column);
-#endif /* TRG_FILES_TREE_MODEL_COMMON_H_ */
+#endif /* TRG_FILES_TREE_MODEL_COMMON_H_ */
diff --git a/src/trg-files-model.c b/src/trg-files-model.c
index d6770bf..b5dc34e 100644
--- a/src/trg-files-model.c
+++ b/src/trg-files-model.c
@@ -44,8 +44,9 @@ struct _TrgFilesModelPrivate {
gboolean accept;
};
-static void iter_to_row_reference(GtkTreeModel *model, GtkTreeIter *iter,
- GtkTreeRowReference **rr) {
+static void iter_to_row_reference(GtkTreeModel * model, GtkTreeIter * iter,
+ GtkTreeRowReference ** rr)
+{
GtkTreePath *path = gtk_tree_model_get_path(model, iter);
if (*rr)
@@ -55,8 +56,9 @@ static void iter_to_row_reference(GtkTreeModel *model, GtkTreeIter *iter,
gtk_tree_path_free(path);
}
-static void rowref_to_iter(GtkTreeModel *model, GtkTreeRowReference *rr,
- GtkTreeIter *iter) {
+static void rowref_to_iter(GtkTreeModel * model, GtkTreeRowReference * rr,
+ GtkTreeIter * iter)
+{
GtkTreePath *path = gtk_tree_row_reference_get_path(rr);
gtk_tree_model_get_iter(model, iter, path);
gtk_tree_path_free(path);
@@ -67,23 +69,33 @@ struct UpdateParentProgressForeachData {
gint64 increment;
};
-static gboolean trg_files_update_parent_progress_foreachfunc(GtkTreeModel *model,
- GtkTreePath *path, GtkTreeIter *iter, gpointer data) {
- struct UpdateParentProgressForeachData *args = (struct UpdateParentProgressForeachData*) data;
+static gboolean trg_files_update_parent_progress_foreachfunc(GtkTreeModel *
+ model,
+ GtkTreePath *
+ path,
+ GtkTreeIter *
+ iter,
+ gpointer data)
+{
+ struct UpdateParentProgressForeachData *args =
+ (struct UpdateParentProgressForeachData *) data;
GtkTreePath *descendentPath = gtk_tree_model_get_path(model,
- args->descendentIter);
+ args->
+ descendentIter);
if (gtk_tree_path_is_ancestor(path, descendentPath)) {
gint64 lastCompleted, newCompleted, length;
- gtk_tree_model_get(model, iter, FILESCOL_BYTESCOMPLETED, &lastCompleted,
- FILESCOL_SIZE, &length, -1);
+ gtk_tree_model_get(model, iter, FILESCOL_BYTESCOMPLETED,
+ &lastCompleted, FILESCOL_SIZE, &length, -1);
newCompleted = lastCompleted + args->increment;
- gtk_tree_store_set(GTK_TREE_STORE(model), iter, FILESCOL_BYTESCOMPLETED,
- newCompleted, FILESCOL_PROGRESS,
- file_get_progress(length, newCompleted), -1);
+ gtk_tree_store_set(GTK_TREE_STORE(model), iter,
+ FILESCOL_BYTESCOMPLETED, newCompleted,
+ FILESCOL_PROGRESS, file_get_progress(length,
+ newCompleted),
+ -1);
}
@@ -92,7 +104,9 @@ static gboolean trg_files_update_parent_progress_foreachfunc(GtkTreeModel *model
return FALSE;
}
-static void trg_files_update_parent_progress(GtkTreeModel *model, GtkTreeIter *iter, gint64 increment)
+static void trg_files_update_parent_progress(GtkTreeModel * model,
+ GtkTreeIter * iter,
+ gint64 increment)
{
if (increment > 0) {
struct UpdateParentProgressForeachData args;
@@ -100,12 +114,15 @@ static void trg_files_update_parent_progress(GtkTreeModel *model, GtkTreeIter *i
args.increment = increment;
gtk_tree_model_foreach(GTK_TREE_MODEL(model),
- trg_files_update_parent_progress_foreachfunc, &args);
+ trg_files_update_parent_progress_foreachfunc,
+ &args);
}
}
-static void trg_files_model_iter_new(TrgFilesModel * model, GtkTreeIter * iter,
- JsonObject * file, gint id) {
+static void trg_files_model_iter_new(TrgFilesModel * model,
+ GtkTreeIter * iter, JsonObject * file,
+ gint id)
+{
TrgFilesModelPrivate *priv = TRG_FILES_MODEL_GET_PRIVATE(model);
gchar **elements = g_strsplit(file_get_name(file), "/", -1);
gchar *existingName;
@@ -117,19 +134,21 @@ static void trg_files_model_iter_new(TrgFilesModel * model, GtkTreeIter * iter,
GtkTreeIter *found = NULL;
if (parentRowRef)
- rowref_to_iter(GTK_TREE_MODEL(model), parentRowRef, &parentIter);
+ rowref_to_iter(GTK_TREE_MODEL(model), parentRowRef,
+ &parentIter);
/* If this is the last component of the path, create a file node. */
if (!elements[i + 1]) {
gtk_tree_store_append(GTK_TREE_STORE(model), iter,
- parentRowRef ? &parentIter : NULL);
+ parentRowRef ? &parentIter : NULL);
gtk_tree_store_set(GTK_TREE_STORE(model), iter, FILESCOL_NAME,
- elements[i], FILESCOL_SIZE, file_get_length(file),
- FILESCOL_ID, id, -1);
+ elements[i], FILESCOL_SIZE,
+ file_get_length(file), FILESCOL_ID, id, -1);
if (parentRowRef)
- trg_files_model_update_parents(GTK_TREE_MODEL(model), iter, FILESCOL_SIZE);
+ trg_files_model_update_parents(GTK_TREE_MODEL(model), iter,
+ FILESCOL_SIZE);
break;
}
@@ -138,45 +157,50 @@ static void trg_files_model_iter_new(TrgFilesModel * model, GtkTreeIter * iter,
* GtkTreeRowReferece *parent. */
if (gtk_tree_model_iter_children(GTK_TREE_MODEL(model), iter,
- parentRowRef ? &parentIter : NULL)) {
+ parentRowRef ? &parentIter :
+ NULL)) {
do {
- gtk_tree_model_get(GTK_TREE_MODEL(model), iter, FILESCOL_NAME,
- &existingName, FILESCOL_ID, &existingId, -1);
+ gtk_tree_model_get(GTK_TREE_MODEL(model), iter,
+ FILESCOL_NAME, &existingName,
+ FILESCOL_ID, &existingId, -1);
- if (existingId == -1 && !g_strcmp0(elements[i], existingName)) {
+ if (existingId == -1
+ && !g_strcmp0(elements[i], existingName)) {
found = iter;
iter_to_row_reference(GTK_TREE_MODEL(model), iter,
- &parentRowRef);
+ &parentRowRef);
}
g_free(existingName);
if (found)
break;
- } while (gtk_tree_model_iter_next(GTK_TREE_MODEL(model), iter));
+ } while (gtk_tree_model_iter_next
+ (GTK_TREE_MODEL(model), iter));
}
if (!found) {
GValue gvalue = { 0 };
gtk_tree_store_append(GTK_TREE_STORE(model), iter,
- parentRowRef ? &parentIter : NULL);
+ parentRowRef ? &parentIter : NULL);
gtk_tree_store_set(GTK_TREE_STORE(model), iter,
- FILESCOL_PRIORITY, TR_PRI_UNSET,
- FILESCOL_NAME, elements[i], -1);
+ FILESCOL_PRIORITY, TR_PRI_UNSET,
+ FILESCOL_NAME, elements[i], -1);
g_value_init(&gvalue, G_TYPE_INT);
g_value_set_int(&gvalue, -1);
- gtk_tree_store_set_value(GTK_TREE_STORE(model), iter, FILESCOL_ID,
- &gvalue);
+ gtk_tree_store_set_value(GTK_TREE_STORE(model), iter,
+ FILESCOL_ID, &gvalue);
memset(&gvalue, 0, sizeof(GValue));
g_value_init(&gvalue, G_TYPE_INT);
g_value_set_int(&gvalue, TR_PRI_UNSET);
gtk_tree_store_set_value(GTK_TREE_STORE(model), iter,
- FILESCOL_PRIORITY, &gvalue);
+ FILESCOL_PRIORITY, &gvalue);
- iter_to_row_reference(GTK_TREE_MODEL(model), iter, &parentRowRef);
+ iter_to_row_reference(GTK_TREE_MODEL(model), iter,
+ &parentRowRef);
}
}
@@ -187,24 +211,32 @@ static void trg_files_model_iter_new(TrgFilesModel * model, GtkTreeIter * iter,
priv->n_items++;
}
-void trg_files_model_set_accept(TrgFilesModel * model, gboolean accept) {
+void trg_files_model_set_accept(TrgFilesModel * model, gboolean accept)
+{
TrgFilesModelPrivate *priv = TRG_FILES_MODEL_GET_PRIVATE(model);
priv->accept = accept;
}
static void trg_files_model_iter_update(TrgFilesModel * model,
- GtkTreeIter * filesIter, gboolean isFirst, JsonObject * file,
- JsonArray * wantedArray, JsonArray * prioritiesArray, int id) {
+ GtkTreeIter * filesIter,
+ gboolean isFirst,
+ JsonObject * file,
+ JsonArray * wantedArray,
+ JsonArray * prioritiesArray,
+ int id)
+{
TrgFilesModelPrivate *priv = TRG_FILES_MODEL_GET_PRIVATE(model);
gint64 fileLength = file_get_length(file);
gint64 fileCompleted = file_get_bytes_completed(file);
gint64 increment;
- gboolean wanted = json_node_get_int(json_array_get_element(wantedArray, id))
- == 1;
- gint priority = (gint)json_node_get_int(
- json_array_get_element(prioritiesArray, id));
+ gboolean wanted =
+ json_node_get_int(json_array_get_element(wantedArray, id))
+ == 1;
+ gint priority =
+ (gint)
+ json_node_get_int(json_array_get_element(prioritiesArray, id));
gdouble progress = file_get_progress(fileLength, fileCompleted);
if (isFirst) {
@@ -212,30 +244,40 @@ static void trg_files_model_iter_update(TrgFilesModel * model,
} else {
gint64 lastCompleted;
gtk_tree_model_get(GTK_TREE_MODEL(model), filesIter,
- FILESCOL_BYTESCOMPLETED, &lastCompleted, -1);
+ FILESCOL_BYTESCOMPLETED, &lastCompleted, -1);
increment = fileCompleted - lastCompleted;
}
gtk_tree_store_set(GTK_TREE_STORE(model), filesIter, FILESCOL_PROGRESS,
- progress, FILESCOL_BYTESCOMPLETED, fileCompleted, -1);
+ progress, FILESCOL_BYTESCOMPLETED, fileCompleted,
+ -1);
- trg_files_update_parent_progress(GTK_TREE_MODEL(model), filesIter, increment);
+ trg_files_update_parent_progress(GTK_TREE_MODEL(model), filesIter,
+ increment);
if (priv->accept)
- gtk_tree_store_set(GTK_TREE_STORE(model), filesIter, FILESCOL_WANTED,
- wanted, FILESCOL_PRIORITY, priority, -1);
+ gtk_tree_store_set(GTK_TREE_STORE(model), filesIter,
+ FILESCOL_WANTED, wanted, FILESCOL_PRIORITY,
+ priority, -1);
if (isFirst) {
- trg_files_tree_model_propogateChangeUp(GTK_TREE_MODEL(model), filesIter, FILESCOL_PRIORITY, priority);
- trg_files_tree_model_propogateChangeUp(GTK_TREE_MODEL(model), filesIter, FILESCOL_WANTED, wanted);
+ trg_files_tree_model_propogateChangeUp(GTK_TREE_MODEL(model),
+ filesIter,
+ FILESCOL_PRIORITY,
+ priority);
+ trg_files_tree_model_propogateChangeUp(GTK_TREE_MODEL(model),
+ filesIter, FILESCOL_WANTED,
+ wanted);
}
}
-static void trg_files_model_class_init(TrgFilesModelClass * klass) {
+static void trg_files_model_class_init(TrgFilesModelClass * klass)
+{
g_type_class_add_private(klass, sizeof(TrgFilesModelPrivate));
}
-static void trg_files_model_init(TrgFilesModel * self) {
+static void trg_files_model_init(TrgFilesModel * self)
+{
TrgFilesModelPrivate *priv = TRG_FILES_MODEL_GET_PRIVATE(self);
GType column_types[FILESCOL_COLUMNS];
@@ -250,11 +292,13 @@ static void trg_files_model_init(TrgFilesModel * self) {
column_types[FILESCOL_BYTESCOMPLETED] = G_TYPE_INT64;
gtk_tree_store_set_column_types(GTK_TREE_STORE(self), FILESCOL_COLUMNS,
- column_types);
+ column_types);
}
gboolean trg_files_model_update_foreach(GtkListStore * model,
- GtkTreePath * path G_GNUC_UNUSED, GtkTreeIter * iter, GList * files) {
+ GtkTreePath * path G_GNUC_UNUSED,
+ GtkTreeIter * iter, GList * files)
+{
TrgFilesModelPrivate *priv = TRG_FILES_MODEL_GET_PRIVATE(model);
JsonObject *file;
gint id;
@@ -263,15 +307,17 @@ gboolean trg_files_model_update_foreach(GtkListStore * model,
if (id >= 0) {
file = json_node_get_object(g_list_nth_data(files, id));
- trg_files_model_iter_update(TRG_FILES_MODEL(model), iter, FALSE, file,
- priv->wanted, priv->priorities, id);
+ trg_files_model_iter_update(TRG_FILES_MODEL(model), iter, FALSE,
+ file, priv->wanted, priv->priorities,
+ id);
}
return FALSE;
}
void trg_files_model_update(TrgFilesModel * model, gint64 updateSerial,
- JsonObject * t, gint mode) {
+ JsonObject * t, gint mode)
+{
TrgFilesModelPrivate *priv = TRG_FILES_MODEL_GET_PRIVATE(model);
GList *filesList, *li;
GtkTreeIter filesIter;
@@ -292,21 +338,22 @@ void trg_files_model_update(TrgFilesModel * model, gint64 updateSerial,
trg_files_model_iter_new(model, &filesIter, file, j);
trg_files_model_iter_update(model, &filesIter, TRUE, file,
- priv->wanted, priv->priorities, j);
+ priv->wanted, priv->priorities, j);
j++;
}
} else {
guint n_updates = g_list_length(filesList);
gtk_tree_model_foreach(GTK_TREE_MODEL(model),
- (GtkTreeModelForeachFunc) trg_files_model_update_foreach,
- filesList);
+ (GtkTreeModelForeachFunc)
+ trg_files_model_update_foreach, filesList);
if (n_updates > priv->n_items) {
gint n_new = n_updates - priv->n_items;
for (j = n_updates - n_new; j < n_updates; j++) {
file = json_node_get_object(g_list_nth_data(filesList, j));
trg_files_model_iter_new(model, &filesIter, file, j);
trg_files_model_iter_update(model, &filesIter, TRUE, file,
- priv->wanted, priv->priorities, j);
+ priv->wanted, priv->priorities,
+ j);
}
}
}
@@ -314,11 +361,13 @@ void trg_files_model_update(TrgFilesModel * model, gint64 updateSerial,
g_list_free(filesList);
}
-gint64 trg_files_model_get_torrent_id(TrgFilesModel * model) {
+gint64 trg_files_model_get_torrent_id(TrgFilesModel * model)
+{
TrgFilesModelPrivate *priv = TRG_FILES_MODEL_GET_PRIVATE(model);
return priv->torrentId;
}
-TrgFilesModel *trg_files_model_new(void) {
+TrgFilesModel *trg_files_model_new(void)
+{
return g_object_new(TRG_TYPE_FILES_MODEL, NULL);
}
diff --git a/src/trg-files-tree-view-common.c b/src/trg-files-tree-view-common.c
index 319d77d..5be2eef 100644
--- a/src/trg-files-tree-view-common.c
+++ b/src/trg-files-tree-view-common.c
@@ -27,19 +27,22 @@
#include "trg-files-model-common.h"
#include "trg-files-tree-view-common.h"
-static void expand_all_cb(GtkWidget *w, gpointer data)
+static void expand_all_cb(GtkWidget * w, gpointer data)
{
gtk_tree_view_expand_all(GTK_TREE_VIEW(data));
}
-static void collapse_all_cb(GtkWidget *w, gpointer data)
+static void collapse_all_cb(GtkWidget * w, gpointer data)
{
gtk_tree_view_collapse_all(GTK_TREE_VIEW(data));
}
static void view_popup_menu(GtkWidget * treeview, GdkEventButton * event,
- GCallback low_cb, GCallback normal_cb, GCallback high_cb,
- GCallback wanted_cb, GCallback unwanted_cb, gpointer data G_GNUC_UNUSED) {
+ GCallback low_cb, GCallback normal_cb,
+ GCallback high_cb, GCallback wanted_cb,
+ GCallback unwanted_cb,
+ gpointer data G_GNUC_UNUSED)
+{
GtkWidget *menu, *menuitem;
menu = gtk_menu_new();
@@ -56,12 +59,13 @@ static void view_popup_menu(GtkWidget * treeview, GdkEventButton * event,
g_signal_connect(menuitem, "activate", low_cb, treeview);
gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem);
- gtk_menu_shell_append(GTK_MENU_SHELL(menu), gtk_separator_menu_item_new());
+ gtk_menu_shell_append(GTK_MENU_SHELL(menu),
+ gtk_separator_menu_item_new());
menuitem = gtk_image_menu_item_new_with_label(GTK_STOCK_APPLY);
gtk_image_menu_item_set_use_stock(GTK_IMAGE_MENU_ITEM(menuitem), TRUE);
gtk_image_menu_item_set_always_show_image(GTK_IMAGE_MENU_ITEM
- (menuitem), TRUE);
+ (menuitem), TRUE);
gtk_menu_item_set_label(GTK_MENU_ITEM(menuitem), _("Download"));
g_signal_connect(menuitem, "activate", wanted_cb, treeview);
gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem);
@@ -69,38 +73,49 @@ static void view_popup_menu(GtkWidget * treeview, GdkEventButton * event,
menuitem = gtk_image_menu_item_new_with_label(GTK_STOCK_CANCEL);
gtk_image_menu_item_set_use_stock(GTK_IMAGE_MENU_ITEM(menuitem), TRUE);
gtk_image_menu_item_set_always_show_image(GTK_IMAGE_MENU_ITEM
- (menuitem), TRUE);
+ (menuitem), TRUE);
gtk_menu_item_set_label(GTK_MENU_ITEM(menuitem), _("Skip"));
g_signal_connect(menuitem, "activate", unwanted_cb, treeview);
gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem);
- gtk_menu_shell_append(GTK_MENU_SHELL(menu), gtk_separator_menu_item_new());
+ gtk_menu_shell_append(GTK_MENU_SHELL(menu),
+ gtk_separator_menu_item_new());
menuitem = gtk_image_menu_item_new_with_label(_("Expand All"));
- g_signal_connect(menuitem, "activate", G_CALLBACK(expand_all_cb), treeview);
+ g_signal_connect(menuitem, "activate", G_CALLBACK(expand_all_cb),
+ treeview);
gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem);
menuitem = gtk_image_menu_item_new_with_label(_("Collapse All"));
- g_signal_connect(menuitem, "activate", G_CALLBACK(collapse_all_cb), treeview);
+ g_signal_connect(menuitem, "activate", G_CALLBACK(collapse_all_cb),
+ treeview);
gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem);
gtk_widget_show_all(menu);
gtk_menu_popup(GTK_MENU(menu), NULL, NULL, NULL, NULL,
- (event != NULL) ? event->button : 0,
- gdk_event_get_time((GdkEvent *) event));
- }
+ (event != NULL) ? event->button : 0,
+ gdk_event_get_time((GdkEvent *) event));
+}
gboolean trg_files_tree_view_viewOnPopupMenu(GtkWidget * treeview,
- GCallback low_cb, GCallback normal_cb, GCallback high_cb,
- GCallback wanted_cb, GCallback unwanted_cb, gpointer userdata) {
+ GCallback low_cb,
+ GCallback normal_cb,
+ GCallback high_cb,
+ GCallback wanted_cb,
+ GCallback unwanted_cb,
+ gpointer userdata)
+{
view_popup_menu(treeview, NULL, low_cb, normal_cb, high_cb, wanted_cb,
- unwanted_cb, userdata);
+ unwanted_cb, userdata);
return TRUE;
}
-static gboolean onViewPathToggled(GtkTreeView * view, GtkTreeViewColumn * col,
- GtkTreePath * path, gint pri_id, gint enabled_id, gpointer data) {
+static gboolean onViewPathToggled(GtkTreeView * view,
+ GtkTreeViewColumn * col,
+ GtkTreePath * path, gint pri_id,
+ gint enabled_id, gpointer data)
+{
int cid;
gboolean handled = FALSE;
@@ -129,14 +144,14 @@ static gboolean onViewPathToggled(GtkTreeView * view, GtkTreeViewColumn * col,
break;
}
trg_files_tree_model_setSubtree(model, path, &iter, pri_id,
- priority);
+ priority);
} else {
int enabled;
gtk_tree_model_get(model, &iter, enabled_id, &enabled, -1);
enabled = !enabled;
trg_files_tree_model_setSubtree(model, path, &iter, enabled_id,
- enabled);
+ enabled);
}
handled = TRUE;
@@ -146,11 +161,14 @@ static gboolean onViewPathToggled(GtkTreeView * view, GtkTreeViewColumn * col,
}
static gboolean getAndSelectEventPath(GtkTreeView * treeview,
- GdkEventButton * event, GtkTreeViewColumn ** col, GtkTreePath ** path) {
+ GdkEventButton * event,
+ GtkTreeViewColumn ** col,
+ GtkTreePath ** path)
+{
GtkTreeSelection *sel;
- if (gtk_tree_view_get_path_at_pos(treeview, event->x, event->y, path, col,
- NULL, NULL)) {
+ if (gtk_tree_view_get_path_at_pos
+ (treeview, event->x, event->y, path, col, NULL, NULL)) {
sel = gtk_tree_view_get_selection(treeview);
if (!gtk_tree_selection_path_is_selected(sel, *path)) {
gtk_tree_selection_unselect_all(sel);
@@ -163,9 +181,16 @@ static gboolean getAndSelectEventPath(GtkTreeView * treeview,
}
gboolean trg_files_tree_view_onViewButtonPressed(GtkWidget * w,
- GdkEventButton * event, gint pri_id, gint enabled_id, GCallback low_cb,
- GCallback normal_cb, GCallback high_cb, GCallback wanted_cb,
- GCallback unwanted_cb, gpointer gdata) {
+ GdkEventButton * event,
+ gint pri_id,
+ gint enabled_id,
+ GCallback low_cb,
+ GCallback normal_cb,
+ GCallback high_cb,
+ GCallback wanted_cb,
+ GCallback unwanted_cb,
+ gpointer gdata)
+{
GtkTreeViewColumn *col = NULL;
GtkTreePath *path = NULL;
GtkTreeSelection *selection;
@@ -173,22 +198,24 @@ gboolean trg_files_tree_view_onViewButtonPressed(GtkWidget * w,
GtkTreeView *treeview = GTK_TREE_VIEW(w);
if (event->type == GDK_BUTTON_PRESS && event->button == 1
- && !(event->state & (GDK_SHIFT_MASK | GDK_CONTROL_MASK))
- && getAndSelectEventPath(treeview, event, &col, &path)) {
- handled = onViewPathToggled(treeview, col, path, pri_id, enabled_id,
- NULL);
+ && !(event->state & (GDK_SHIFT_MASK | GDK_CONTROL_MASK))
+ && getAndSelectEventPath(treeview, event, &col, &path)) {
+ handled =
+ onViewPathToggled(treeview, col, path, pri_id, enabled_id,
+ NULL);
} else if (event->type == GDK_BUTTON_PRESS && event->button == 3) {
selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(treeview));
if (gtk_tree_view_get_path_at_pos(GTK_TREE_VIEW(treeview),
- (gint) event->x, (gint) event->y, &path, NULL, NULL, NULL)) {
+ (gint) event->x, (gint) event->y,
+ &path, NULL, NULL, NULL)) {
if (!gtk_tree_selection_path_is_selected(selection, path)) {
gtk_tree_selection_unselect_all(selection);
gtk_tree_selection_select_path(selection, path);
}
- view_popup_menu(w, event, low_cb, normal_cb, high_cb, wanted_cb,
- unwanted_cb, gdata);
+ view_popup_menu(w, event, low_cb, normal_cb, high_cb,
+ wanted_cb, unwanted_cb, gdata);
handled = TRUE;
}
}
diff --git a/src/trg-files-tree-view-common.h b/src/trg-files-tree-view-common.h
index e34c916..1dccf7f 100644
--- a/src/trg-files-tree-view-common.h
+++ b/src/trg-files-tree-view-common.h
@@ -21,12 +21,21 @@
#define TRG_FILES_TREE_VIEW_COMMON_H_
gboolean
-trg_files_tree_view_onViewButtonPressed(GtkWidget * w, GdkEventButton * event,
- gint pri_id, gint enabled_id,
- GCallback low_cb, GCallback normal_cb, GCallback high_cb,
- GCallback wanted_cb, GCallback unwanted_cb, gpointer gdata);
+trg_files_tree_view_onViewButtonPressed(GtkWidget * w,
+ GdkEventButton * event,
+ gint pri_id, gint enabled_id,
+ GCallback low_cb,
+ GCallback normal_cb,
+ GCallback high_cb,
+ GCallback wanted_cb,
+ GCallback unwanted_cb,
+ gpointer gdata);
gboolean trg_files_tree_view_viewOnPopupMenu(GtkWidget * treeview,
- GCallback low_cb, GCallback normal_cb, GCallback high_cb,
- GCallback wanted_cb, GCallback unwanted_cb, gpointer userdata);
+ GCallback low_cb,
+ GCallback normal_cb,
+ GCallback high_cb,
+ GCallback wanted_cb,
+ GCallback unwanted_cb,
+ gpointer userdata);
-#endif /* TRG_FILES_TREE_VIEW_COMMON_H_ */
+#endif /* TRG_FILES_TREE_VIEW_COMMON_H_ */
diff --git a/src/trg-files-tree-view.c b/src/trg-files-tree-view.c
index a1d791e..bf0d9c8 100644
--- a/src/trg-files-tree-view.c
+++ b/src/trg-files-tree-view.c
@@ -42,12 +42,17 @@ struct _TrgFilesTreeViewPrivate {
TrgMainWindow *win;
};
-static void trg_files_tree_view_class_init(TrgFilesTreeViewClass * klass) {
+static void trg_files_tree_view_class_init(TrgFilesTreeViewClass * klass)
+{
g_type_class_add_private(klass, sizeof(TrgFilesTreeViewPrivate));
}
static gboolean send_updated_file_prefs_foreachfunc(GtkTreeModel * model,
- GtkTreePath * path G_GNUC_UNUSED, GtkTreeIter * iter, gpointer data) {
+ GtkTreePath *
+ path G_GNUC_UNUSED,
+ GtkTreeIter * iter,
+ gpointer data)
+{
JsonObject *args = (JsonObject *) data;
gint priority;
gint id;
@@ -58,8 +63,8 @@ static gboolean send_updated_file_prefs_foreachfunc(GtkTreeModel * model,
if (id < 0)
return FALSE;
- gtk_tree_model_get(model, iter, FILESCOL_WANTED, &wanted, FILESCOL_PRIORITY,
- &priority, -1);
+ gtk_tree_model_get(model, iter, FILESCOL_WANTED, &wanted,
+ FILESCOL_PRIORITY, &priority, -1);
if (wanted)
add_file_id_to_array(args, FIELD_FILES_WANTED, id);
@@ -76,12 +81,13 @@ static gboolean send_updated_file_prefs_foreachfunc(GtkTreeModel * model,
return FALSE;
}
-static gboolean on_files_update(gpointer data) {
+static gboolean on_files_update(gpointer data)
+{
trg_response *response = (trg_response *) data;
TrgFilesTreeViewPrivate *priv =
- TRG_FILES_TREE_VIEW_GET_PRIVATE(response->cb_data);
- GtkTreeModel *model = gtk_tree_view_get_model(
- GTK_TREE_VIEW(response->cb_data));
+ TRG_FILES_TREE_VIEW_GET_PRIVATE(response->cb_data);
+ GtkTreeModel *model =
+ gtk_tree_view_get_model(GTK_TREE_VIEW(response->cb_data));
trg_files_model_set_accept(TRG_FILES_MODEL(model), TRUE);
@@ -90,7 +96,8 @@ static gboolean on_files_update(gpointer data) {
return on_generic_interactive_action(data);
}
-static void send_updated_file_prefs(TrgFilesTreeView * tv) {
+static void send_updated_file_prefs(TrgFilesTreeView * tv)
+{
TrgFilesTreeViewPrivate *priv = TRG_FILES_TREE_VIEW_GET_PRIVATE(tv);
JsonNode *req;
JsonObject *args;
@@ -107,47 +114,62 @@ static void send_updated_file_prefs(TrgFilesTreeView * tv) {
args = node_get_arguments(req);
request_set_tag(req, targetId);
- gtk_tree_model_foreach(model, send_updated_file_prefs_foreachfunc, args);
+ gtk_tree_model_foreach(model, send_updated_file_prefs_foreachfunc,
+ args);
trg_files_model_set_accept(TRG_FILES_MODEL(model), FALSE);
dispatch_async(priv->client, req, on_files_update, tv);
}
-static void set_low(GtkWidget * w G_GNUC_UNUSED, gpointer data) {
- trg_files_tree_model_set_priority(GTK_TREE_VIEW(data), FILESCOL_PRIORITY,
- TR_PRI_LOW);
+static void set_low(GtkWidget * w G_GNUC_UNUSED, gpointer data)
+{
+ trg_files_tree_model_set_priority(GTK_TREE_VIEW(data),
+ FILESCOL_PRIORITY, TR_PRI_LOW);
send_updated_file_prefs(TRG_FILES_TREE_VIEW(data));
}
-static void set_normal(GtkWidget * w G_GNUC_UNUSED, gpointer data) {
- trg_files_tree_model_set_priority(GTK_TREE_VIEW(data), FILESCOL_PRIORITY,
- TR_PRI_NORMAL);
+static void set_normal(GtkWidget * w G_GNUC_UNUSED, gpointer data)
+{
+ trg_files_tree_model_set_priority(GTK_TREE_VIEW(data),
+ FILESCOL_PRIORITY, TR_PRI_NORMAL);
send_updated_file_prefs(TRG_FILES_TREE_VIEW(data));
}
-static void set_high(GtkWidget * w G_GNUC_UNUSED, gpointer data) {
- trg_files_tree_model_set_priority(GTK_TREE_VIEW(data), FILESCOL_PRIORITY,
- TR_PRI_HIGH);
+static void set_high(GtkWidget * w G_GNUC_UNUSED, gpointer data)
+{
+ trg_files_tree_model_set_priority(GTK_TREE_VIEW(data),
+ FILESCOL_PRIORITY, TR_PRI_HIGH);
send_updated_file_prefs(TRG_FILES_TREE_VIEW(data));
}
-static void set_unwanted(GtkWidget * w G_GNUC_UNUSED, gpointer data) {
- trg_files_model_set_wanted(GTK_TREE_VIEW(data), FILESCOL_WANTED, FALSE);
+static void set_unwanted(GtkWidget * w G_GNUC_UNUSED, gpointer data)
+{
+ trg_files_model_set_wanted(GTK_TREE_VIEW(data), FILESCOL_WANTED,
+ FALSE);
send_updated_file_prefs(TRG_FILES_TREE_VIEW(data));
}
-static void set_wanted(GtkWidget * w G_GNUC_UNUSED, gpointer data) {
+static void set_wanted(GtkWidget * w G_GNUC_UNUSED, gpointer data)
+{
trg_files_model_set_wanted(GTK_TREE_VIEW(data), FILESCOL_WANTED, TRUE);
send_updated_file_prefs(TRG_FILES_TREE_VIEW(data));
}
static gboolean view_onButtonPressed(GtkWidget * treeview,
- GdkEventButton * event, gpointer userdata) {
- gboolean handled = trg_files_tree_view_onViewButtonPressed(treeview, event,
- FILESCOL_PRIORITY, FILESCOL_WANTED, G_CALLBACK(set_low),
- G_CALLBACK(set_normal), G_CALLBACK(set_high),
- G_CALLBACK(set_wanted), G_CALLBACK(set_unwanted), userdata);
+ GdkEventButton * event,
+ gpointer userdata)
+{
+ gboolean handled =
+ trg_files_tree_view_onViewButtonPressed(treeview, event,
+ FILESCOL_PRIORITY,
+ FILESCOL_WANTED,
+ G_CALLBACK(set_low),
+ G_CALLBACK(set_normal),
+ G_CALLBACK(set_high),
+ G_CALLBACK(set_wanted),
+ G_CALLBACK(set_unwanted),
+ userdata);
if (handled)
send_updated_file_prefs(TRG_FILES_TREE_VIEW(treeview));
@@ -155,37 +177,42 @@ static gboolean view_onButtonPressed(GtkWidget * treeview,
return handled;
}
-static void trg_files_tree_view_init(TrgFilesTreeView * self) {
+static void trg_files_tree_view_init(TrgFilesTreeView * self)
+{
TrgTreeView *ttv = TRG_TREE_VIEW(self);
trg_column_description *desc;
desc = trg_tree_view_reg_column(ttv, TRG_COLTYPE_FILEICONTEXT,
- FILESCOL_NAME, _("Name"), "name", 0);
+ FILESCOL_NAME, _("Name"), "name", 0);
desc->model_column_extra = FILESCOL_ID;
- trg_tree_view_reg_column(ttv, TRG_COLTYPE_SIZE, FILESCOL_SIZE, _("Size"),
- "size", 0);
+ trg_tree_view_reg_column(ttv, TRG_COLTYPE_SIZE, FILESCOL_SIZE,
+ _("Size"), "size", 0);
trg_tree_view_reg_column(ttv, TRG_COLTYPE_PROG, FILESCOL_PROGRESS,
- _("Progress"), "progress", 0);
+ _("Progress"), "progress", 0);
trg_tree_view_reg_column(ttv, TRG_COLTYPE_WANTED, FILESCOL_WANTED,
- _("Download"), "wanted", 0);
+ _("Download"), "wanted", 0);
trg_tree_view_reg_column(ttv, TRG_COLTYPE_PRIO, FILESCOL_PRIORITY,
- _("Priority"), "priority", 0);
+ _("Priority"), "priority", 0);
gtk_tree_view_set_search_column(GTK_TREE_VIEW(self), FILESCOL_NAME);
g_signal_connect(self, "button-press-event",
- G_CALLBACK(view_onButtonPressed), NULL);
+ G_CALLBACK(view_onButtonPressed), NULL);
g_signal_connect(self, "popup-menu",
- G_CALLBACK(trg_files_tree_view_viewOnPopupMenu), NULL);
+ G_CALLBACK(trg_files_tree_view_viewOnPopupMenu),
+ NULL);
}
TrgFilesTreeView *trg_files_tree_view_new(TrgFilesModel * model,
- TrgMainWindow * win, TrgClient * client) {
+ TrgMainWindow * win,
+ TrgClient * client)
+{
GObject *obj = g_object_new(TRG_TYPE_FILES_TREE_VIEW, NULL);
TrgFilesTreeViewPrivate *priv = TRG_FILES_TREE_VIEW_GET_PRIVATE(obj);
- trg_tree_view_set_prefs(TRG_TREE_VIEW(obj), trg_client_get_prefs(client));
+ trg_tree_view_set_prefs(TRG_TREE_VIEW(obj),
+ trg_client_get_prefs(client));
gtk_tree_view_set_model(GTK_TREE_VIEW(obj), GTK_TREE_MODEL(model));
priv->client = client;
diff --git a/src/trg-files-tree-view.h b/src/trg-files-tree-view.h
index 00223e8..006fc66 100644
--- a/src/trg-files-tree-view.h
+++ b/src/trg-files-tree-view.h
@@ -58,15 +58,18 @@ TrgFilesTreeView *trg_files_tree_view_new(TrgFilesModel * model,
TrgClient * client);
void
-trg_files_tree_view_renderPriority(GtkTreeViewColumn * column G_GNUC_UNUSED,
- GtkCellRenderer * renderer,
- GtkTreeModel * model,
- GtkTreeIter * iter, gpointer data G_GNUC_UNUSED);
-void
-trg_files_tree_view_renderDownload(GtkTreeViewColumn * column G_GNUC_UNUSED,
- GtkCellRenderer * renderer,
- GtkTreeModel * model,
- GtkTreeIter * iter, gpointer data G_GNUC_UNUSED);
+trg_files_tree_view_renderPriority(GtkTreeViewColumn *
+ column G_GNUC_UNUSED,
+ GtkCellRenderer * renderer,
+ GtkTreeModel * model,
+ GtkTreeIter * iter,
+ gpointer data G_GNUC_UNUSED);
+void trg_files_tree_view_renderDownload(GtkTreeViewColumn *
+ column G_GNUC_UNUSED,
+ GtkCellRenderer * renderer,
+ GtkTreeModel * model,
+ GtkTreeIter * iter,
+ gpointer data G_GNUC_UNUSED);
G_END_DECLS
#endif /* TRG_FILES_TREE_VIEW_H_ */
diff --git a/src/trg-icons.c b/src/trg-icons.c
index 4cd2bae..b507ce9 100644
--- a/src/trg-icons.c
+++ b/src/trg-icons.c
@@ -21,52 +21,43 @@
#include "icon-turtle.h"
-typedef struct
-{
- const guint8* raw;
- const char * name;
-}
-BuiltinIconInfo;
-
-static const BuiltinIconInfo my_fallback_icons[] =
-{
- { blue_turtle, "alt-speed-on" },
- { grey_turtle, "alt-speed-off" }
+typedef struct {
+ const guint8 *raw;
+ const char *name;
+} BuiltinIconInfo;
+
+static const BuiltinIconInfo my_fallback_icons[] = {
+ {blue_turtle, "alt-speed-on"},
+ {grey_turtle, "alt-speed-off"}
};
-void
-register_my_icons( GtkIconTheme *theme )
+void register_my_icons(GtkIconTheme * theme)
{
- int i;
- const int n = G_N_ELEMENTS( my_fallback_icons );
- GtkIconFactory * factory = gtk_icon_factory_new( );
+ int i;
+ const int n = G_N_ELEMENTS(my_fallback_icons);
+ GtkIconFactory *factory = gtk_icon_factory_new();
- gtk_icon_factory_add_default( factory );
+ gtk_icon_factory_add_default(factory);
- for( i = 0; i < n; ++i )
- {
- const char * name = my_fallback_icons[i].name;
+ for (i = 0; i < n; ++i) {
+ const char *name = my_fallback_icons[i].name;
- if( !gtk_icon_theme_has_icon( theme, name ) )
- {
- int width;
- GdkPixbuf * p;
- GtkIconSet * icon_set;
+ if (!gtk_icon_theme_has_icon(theme, name)) {
+ int width;
+ GdkPixbuf *p;
+ GtkIconSet *icon_set;
- p =
- gdk_pixbuf_new_from_inline( -1, my_fallback_icons[i].raw,
- FALSE,
- NULL );
- width = gdk_pixbuf_get_width( p );
- icon_set = gtk_icon_set_new_from_pixbuf( p );
- gtk_icon_theme_add_builtin_icon( name, width, p );
- gtk_icon_factory_add( factory, name, icon_set );
+ p = gdk_pixbuf_new_from_inline(-1, my_fallback_icons[i].raw,
+ FALSE, NULL);
+ width = gdk_pixbuf_get_width(p);
+ icon_set = gtk_icon_set_new_from_pixbuf(p);
+ gtk_icon_theme_add_builtin_icon(name, width, p);
+ gtk_icon_factory_add(factory, name, icon_set);
- g_object_unref( p );
- gtk_icon_set_unref( icon_set );
+ g_object_unref(p);
+ gtk_icon_set_unref(icon_set);
}
}
- g_object_unref ( G_OBJECT ( factory ) );
+ g_object_unref(G_OBJECT(factory));
}
-
diff --git a/src/trg-icons.h b/src/trg-icons.h
index 9b7a714..56a01ff 100644
--- a/src/trg-icons.h
+++ b/src/trg-icons.h
@@ -20,7 +20,6 @@
#ifndef TRG_ICONS_H_
#define TRG_ICONS_H_
-void
-register_my_icons( GtkIconTheme *theme );
+void register_my_icons(GtkIconTheme * theme);
-#endif /* TRG_ICONS_H_ */
+#endif /* TRG_ICONS_H_ */
diff --git a/src/trg-json-widgets.c b/src/trg-json-widgets.c
index 1814769..49e8ded 100644
--- a/src/trg-json-widgets.c
+++ b/src/trg-json-widgets.c
@@ -32,7 +32,8 @@
* pointers for load/save.
*/
-void trg_json_widgets_save(GList * list, JsonObject * out) {
+void trg_json_widgets_save(GList * list, JsonObject * out)
+{
GList *li;
for (li = list; li; li = g_list_next(li)) {
trg_json_widget_desc *wd = (trg_json_widget_desc *) li->data;
@@ -40,12 +41,14 @@ void trg_json_widgets_save(GList * list, JsonObject * out) {
}
}
-void trg_json_widget_desc_free(trg_json_widget_desc * wd) {
+void trg_json_widget_desc_free(trg_json_widget_desc * wd)
+{
g_free(wd->key);
g_free(wd);
}
-void trg_json_widget_desc_list_free(GList * list) {
+void trg_json_widget_desc_list_free(GList * list)
+{
GList *li;
for (li = list; li; li = g_list_next(li))
trg_json_widget_desc_free((trg_json_widget_desc *) li->data);
@@ -53,12 +56,17 @@ void trg_json_widget_desc_list_free(GList * list) {
g_list_free(list);
}
-void toggle_active_arg_is_sensitive(GtkToggleButton * b, gpointer data) {
- gtk_widget_set_sensitive(GTK_WIDGET(data), gtk_toggle_button_get_active(b));
+void toggle_active_arg_is_sensitive(GtkToggleButton * b, gpointer data)
+{
+ gtk_widget_set_sensitive(GTK_WIDGET(data),
+ gtk_toggle_button_get_active(b));
}
GtkWidget *trg_json_widget_check_new(GList ** wl, JsonObject * obj,
- const gchar * key, const gchar * label, GtkWidget * toggleDep) {
+ const gchar * key,
+ const gchar * label,
+ GtkWidget * toggleDep)
+{
GtkWidget *w = gtk_check_button_new_with_mnemonic(label);
trg_json_widget_desc *wd = g_new0(trg_json_widget_desc, 1);
@@ -68,13 +76,14 @@ GtkWidget *trg_json_widget_check_new(GList ** wl, JsonObject * obj,
if (toggleDep) {
gtk_widget_set_sensitive(w,
- gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(toggleDep)));
+ gtk_toggle_button_get_active
+ (GTK_TOGGLE_BUTTON(toggleDep)));
g_signal_connect(G_OBJECT(toggleDep), "toggled",
- G_CALLBACK(toggle_active_arg_is_sensitive), w);
+ G_CALLBACK(toggle_active_arg_is_sensitive), w);
}
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
- json_object_get_boolean_member(obj, key));
+ json_object_get_boolean_member(obj, key));
*wl = g_list_append(*wl, wd);
@@ -82,7 +91,9 @@ GtkWidget *trg_json_widget_check_new(GList ** wl, JsonObject * obj,
}
GtkWidget *trg_json_widget_entry_new(GList ** wl, JsonObject * obj,
- const gchar * key, GtkWidget * toggleDep) {
+ const gchar * key,
+ GtkWidget * toggleDep)
+{
GtkWidget *w = gtk_entry_new();
trg_json_widget_desc *wd = g_new0(trg_json_widget_desc, 1);
@@ -92,12 +103,14 @@ GtkWidget *trg_json_widget_entry_new(GList ** wl, JsonObject * obj,
if (toggleDep) {
gtk_widget_set_sensitive(w,
- gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(toggleDep)));
+ gtk_toggle_button_get_active
+ (GTK_TOGGLE_BUTTON(toggleDep)));
g_signal_connect(G_OBJECT(toggleDep), "toggled",
- G_CALLBACK(toggle_active_arg_is_sensitive), w);
+ G_CALLBACK(toggle_active_arg_is_sensitive), w);
}
- gtk_entry_set_text(GTK_ENTRY(w), json_object_get_string_member(obj, key));
+ gtk_entry_set_text(GTK_ENTRY(w),
+ json_object_get_string_member(obj, key));
*wl = g_list_append(*wl, wd);
@@ -105,16 +118,19 @@ GtkWidget *trg_json_widget_entry_new(GList ** wl, JsonObject * obj,
}
void trg_json_widget_time_save(GtkWidget * widget, JsonObject * obj,
- gchar * key) {
+ gchar * key)
+{
json_object_set_double_member(obj, key,
- gtk_spin_button_get_value(GTK_SPIN_BUTTON
- (widget)));
+ gtk_spin_button_get_value(GTK_SPIN_BUTTON
+ (widget)));
}
GtkWidget *trg_json_widget_spin_new(GList ** wl, JsonObject * obj,
- const gchar * key, GtkWidget * toggleDep, gdouble min, gdouble max,
- gdouble step) {
+ const gchar * key,
+ GtkWidget * toggleDep, gdouble min,
+ gdouble max, gdouble step)
+{
GtkWidget *w = gtk_spin_button_new_with_range(min, max, step);
trg_json_widget_desc *wd = g_new0(trg_json_widget_desc, 1);
JsonNode *node = json_object_get_member(obj, key);
@@ -125,13 +141,14 @@ GtkWidget *trg_json_widget_spin_new(GList ** wl, JsonObject * obj,
if (toggleDep) {
gtk_widget_set_sensitive(w,
- gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(toggleDep)));
+ gtk_toggle_button_get_active
+ (GTK_TOGGLE_BUTTON(toggleDep)));
g_signal_connect(G_OBJECT(toggleDep), "toggled",
- G_CALLBACK(toggle_active_arg_is_sensitive), w);
+ G_CALLBACK(toggle_active_arg_is_sensitive), w);
}
gtk_spin_button_set_value(GTK_SPIN_BUTTON(w),
- json_node_really_get_double(node));
+ json_node_really_get_double(node));
*wl = g_list_append(*wl, wd);
@@ -139,20 +156,24 @@ GtkWidget *trg_json_widget_spin_new(GList ** wl, JsonObject * obj,
}
void trg_json_widget_check_save(GtkWidget * widget, JsonObject * obj,
- gchar * key) {
- gboolean active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget));
+ gchar * key)
+{
+ gboolean active =
+ gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget));
json_object_set_boolean_member(obj, key, active);
}
void trg_json_widget_entry_save(GtkWidget * widget, JsonObject * obj,
- gchar * key) {
+ gchar * key)
+{
json_object_set_string_member(obj, key,
- gtk_entry_get_text(GTK_ENTRY(widget)));
+ gtk_entry_get_text(GTK_ENTRY(widget)));
}
void trg_json_widget_spin_save_double(GtkWidget * widget, JsonObject * obj,
- gchar * key) {
+ gchar * key)
+{
json_object_set_double_member(obj, key,
- gtk_spin_button_get_value(GTK_SPIN_BUTTON
- (widget)));
+ gtk_spin_button_get_value(GTK_SPIN_BUTTON
+ (widget)));
}
diff --git a/src/trg-json-widgets.h b/src/trg-json-widgets.h
index 3dafdfd..7eefe58 100644
--- a/src/trg-json-widgets.h
+++ b/src/trg-json-widgets.h
@@ -26,26 +26,30 @@
typedef struct {
GtkWidget *widget;
gchar *key;
- void (*saveFunc)(GtkWidget * widget, JsonObject * obj, gchar * key);
+ void (*saveFunc) (GtkWidget * widget, JsonObject * obj, gchar * key);
} trg_json_widget_desc;
void toggle_active_arg_is_sensitive(GtkToggleButton * b, gpointer data);
GtkWidget *trg_json_widget_check_new(GList ** wl, JsonObject * obj,
- const gchar * key, const gchar * label, GtkWidget * toggleDep);
+ const gchar * key,
+ const gchar * label,
+ GtkWidget * toggleDep);
GtkWidget *trg_json_widget_entry_new(GList ** wl, JsonObject * obj,
- const gchar * key, GtkWidget * toggleDep);
+ const gchar * key,
+ GtkWidget * toggleDep);
GtkWidget *trg_json_widget_spin_new(GList ** wl, JsonObject * obj,
- const gchar * key, GtkWidget * toggleDep, gdouble min, gdouble max,
- gdouble step);
+ const gchar * key,
+ GtkWidget * toggleDep, gdouble min,
+ gdouble max, gdouble step);
void trg_json_widget_check_save(GtkWidget * widget, JsonObject * obj,
- gchar * key);
+ gchar * key);
void trg_json_widget_entry_save(GtkWidget * widget, JsonObject * obj,
- gchar * key);
+ gchar * key);
void trg_json_widget_spin_save_int(GtkWidget * widget, JsonObject * obj,
- gchar * key);
+ gchar * key);
void trg_json_widget_spin_save_double(GtkWidget * widget, JsonObject * obj,
- gchar * key);
+ gchar * key);
void trg_json_widget_desc_free(trg_json_widget_desc * wd);
void trg_json_widget_desc_list_free(GList * list);
diff --git a/src/trg-main-window.c b/src/trg-main-window.c
index 8f5f25b..013fa50 100644
--- a/src/trg-main-window.c
+++ b/src/trg-main-window.c
@@ -83,24 +83,30 @@
/* The rather large main window class, which glues everything together. */
static void update_selected_torrent_notebook(TrgMainWindow * win,
- gint mode, gint64 id);
+ gint mode, gint64 id);
#ifdef HAVE_LIBNOTIFY
-static void torrent_event_notification(TrgTorrentModel * model, gchar * icon,
- gchar * desc, gint tmout, gchar * prefKey, GtkTreeIter * iter,
- gpointer data);
+static void torrent_event_notification(TrgTorrentModel * model,
+ gchar * icon, gchar * desc,
+ gint tmout, gchar * prefKey,
+ GtkTreeIter * iter, gpointer data);
#endif
static void connchange_whatever_statusicon(TrgMainWindow * win,
- gboolean connected);
+ gboolean connected);
static void update_whatever_statusicon(TrgMainWindow * win,
- const gchar * speedLabel, trg_torrent_model_update_stats * stats);
-static void on_torrent_completed(TrgTorrentModel * model, GtkTreeIter * iter,
- gpointer data);
+ const gchar * speedLabel,
+ trg_torrent_model_update_stats *
+ stats);
+static void on_torrent_completed(TrgTorrentModel * model,
+ GtkTreeIter * iter, gpointer data);
static void on_torrent_added(TrgTorrentModel * model, GtkTreeIter * iter,
- gpointer data);
-static gboolean delete_event(GtkWidget * w, GdkEvent * event, gpointer data);
+ gpointer data);
+static gboolean delete_event(GtkWidget * w, GdkEvent * event,
+ gpointer data);
static void destroy_window(GtkWidget * w, gpointer data);
static void torrent_tv_onRowActivated(GtkTreeView * treeview,
- GtkTreePath * path, GtkTreeViewColumn * col, gpointer userdata);
+ GtkTreePath * path,
+ GtkTreeViewColumn * col,
+ gpointer userdata);
static void add_url_cb(GtkWidget * w, gpointer data);
static void add_cb(GtkWidget * w, gpointer data);
static void disconnect_cb(GtkWidget * w, gpointer data);
@@ -117,8 +123,11 @@ static void pause_all_cb(GtkWidget * w, gpointer data);
static void move_cb(GtkWidget * w, gpointer data);
static void delete_cb(GtkWidget * w, gpointer data);
static void open_props_cb(GtkWidget * w, gpointer data);
-static gint confirm_action_dialog(GtkWindow * win, GtkTreeSelection * selection,
- gchar * question_single, gchar * question_multi, gchar * action_stock);
+static gint confirm_action_dialog(GtkWindow * win,
+ GtkTreeSelection * selection,
+ gchar * question_single,
+ gchar * question_multi,
+ gchar * action_stock);
static void view_stats_toggled_cb(GtkWidget * w, gpointer data);
static void view_states_toggled_cb(GtkCheckMenuItem * w, gpointer data);
static void view_notebook_toggled_cb(GtkCheckMenuItem * w, gpointer data);
@@ -132,54 +141,65 @@ static gboolean on_torrent_get_interactive(gpointer data);
static gboolean trg_update_torrents_timerfunc(gpointer data);
static void open_about_cb(GtkWidget * w, GtkWindow * parent);
static gboolean trg_torrent_tree_view_visible_func(GtkTreeModel * model,
- GtkTreeIter * iter, gpointer data);
-static TrgTorrentTreeView
-* trg_main_window_torrent_tree_view_new(TrgMainWindow * win,
- GtkTreeModel * model);
+ GtkTreeIter * iter,
+ gpointer data);
+static TrgTorrentTreeView *
+trg_main_window_torrent_tree_view_new(TrgMainWindow * win,
+ GtkTreeModel * model);
static gboolean trg_dialog_error_handler(TrgMainWindow * win,
- trg_response * response);
+ trg_response * response);
static gboolean torrent_selection_changed(GtkTreeSelection * selection,
- gpointer data);
+ gpointer data);
static void trg_main_window_torrent_scrub(TrgMainWindow * win);
static void entry_filter_changed_cb(GtkWidget * w, gpointer data);
static void torrent_state_selection_changed(TrgStateSelector * selector,
- guint flag, gpointer data);
+ guint flag, gpointer data);
static void trg_main_window_conn_changed(TrgMainWindow * win,
- gboolean connected);
-static void trg_main_window_get_property(GObject * object, guint property_id,
- GValue * value, GParamSpec * pspec);
-static void trg_main_window_set_property(GObject * object, guint property_id,
- const GValue * value, GParamSpec * pspec);
+ gboolean connected);
+static void trg_main_window_get_property(GObject * object,
+ guint property_id, GValue * value,
+ GParamSpec * pspec);
+static void trg_main_window_set_property(GObject * object,
+ guint property_id,
+ const GValue * value,
+ GParamSpec * pspec);
static void quit_cb(GtkWidget * w, gpointer data);
static TrgMenuBar *trg_main_window_menu_bar_new(TrgMainWindow * win);
#ifndef HAVE_LIBAPPINDICATOR
static void status_icon_activated(GtkStatusIcon * icon, gpointer data);
static gboolean trg_status_icon_popup_menu_cb(GtkStatusIcon * icon,
- gpointer userdata);
+ gpointer userdata);
static gboolean status_icon_button_press_event(GtkStatusIcon * icon,
- GdkEventButton * event, gpointer data);
+ GdkEventButton * event,
+ gpointer data);
#endif
static void clear_filter_entry_cb(GtkEntry * entry,
- GtkEntryIconPosition icon_pos, GdkEvent * event, gpointer user_data);
+ GtkEntryIconPosition icon_pos,
+ GdkEvent * event, gpointer user_data);
static GtkWidget *trg_imagemenuitem_new(GtkMenuShell * shell,
- const gchar * text, char *stock_id, gboolean sensitive, GCallback cb,
- gpointer cbdata);
+ const gchar * text, char *stock_id,
+ gboolean sensitive, GCallback cb,
+ gpointer cbdata);
static void set_limit_cb(GtkWidget * w, gpointer data);
static GtkWidget *limit_item_new(TrgMainWindow * win, GtkWidget * menu,
- gint64 currentLimit, gfloat limit);
+ gint64 currentLimit, gfloat limit);
static GtkWidget *limit_menu_new(TrgMainWindow * win, gchar * title,
- gchar * enabledKey, gchar * speedKey, JsonArray * ids);
+ gchar * enabledKey, gchar * speedKey,
+ JsonArray * ids);
static void trg_torrent_tv_view_menu(GtkWidget * treeview,
- GdkEventButton * event, gpointer data);
+ GdkEventButton * event,
+ gpointer data);
static GtkMenu *trg_status_icon_view_menu(TrgMainWindow * win,
- const gchar * msg);
+ const gchar * msg);
static gboolean torrent_tv_button_pressed_cb(GtkWidget * treeview,
- GdkEventButton * event, gpointer userdata);
+ GdkEventButton * event,
+ gpointer userdata);
static gboolean torrent_tv_popup_menu_cb(GtkWidget * treeview,
- gpointer userdata);
-static gboolean is_ready_for_torrent_action(TrgMainWindow *win);
+ gpointer userdata);
+static gboolean is_ready_for_torrent_action(TrgMainWindow * win);
static gboolean window_state_event(GtkWidget * widget,
- GdkEventWindowState * event, gpointer trayIcon);
+ GdkEventWindowState * event,
+ gpointer trayIcon);
G_DEFINE_TYPE(TrgMainWindow, trg_main_window, GTK_TYPE_WINDOW)
#define TRG_MAIN_WINDOW_GET_PRIVATE(o) \
@@ -193,7 +213,7 @@ struct _TrgMainWindowPrivate {
TrgStatusBar *statusBar;
GtkWidget *iconStatusItem, *iconDownloadingItem, *iconSeedingItem,
- *iconSepItem;
+ *iconSepItem;
#ifdef HAVE_LIBAPPINDICATOR
AppIndicator *appIndicator;
#else
@@ -241,7 +261,8 @@ enum {
PROP_0, PROP_CLIENT, PROP_MINIMISE_ON_START
};
-static void reset_connect_args(TrgMainWindow * win) {
+static void reset_connect_args(TrgMainWindow * win)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(win);
if (priv->args) {
g_strfreev(priv->args);
@@ -249,34 +270,37 @@ static void reset_connect_args(TrgMainWindow * win) {
}
}
-static void trg_main_window_init(TrgMainWindow * self G_GNUC_UNUSED) {
+static void trg_main_window_init(TrgMainWindow * self G_GNUC_UNUSED)
+{
}
-gint trg_mw_get_selected_torrent_id(TrgMainWindow * win) {
+gint trg_mw_get_selected_torrent_id(TrgMainWindow * win)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(win);
return priv->selectedTorrentId;
}
-static void update_selected_torrent_notebook(TrgMainWindow * win, gint mode,
- gint64 id) {
+static void update_selected_torrent_notebook(TrgMainWindow * win,
+ gint mode, gint64 id)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(win);
TrgClient *client = priv->client;
JsonObject *t;
GtkTreeIter iter;
if (id >= 0
- && get_torrent_data(trg_client_get_torrent_table(client), id, &t,
- &iter)) {
+ && get_torrent_data(trg_client_get_torrent_table(client), id, &t,
+ &iter)) {
trg_toolbar_torrent_actions_sensitive(priv->toolBar, TRUE);
trg_menu_bar_torrent_actions_sensitive(priv->menuBar, TRUE);
trg_general_panel_update(priv->genDetails, t, &iter);
trg_trackers_model_update(priv->trackersModel,
- trg_client_get_serial(client), t, mode);
- trg_files_model_update(priv->filesModel, trg_client_get_serial(client),
- t, mode);
+ trg_client_get_serial(client), t, mode);
+ trg_files_model_update(priv->filesModel,
+ trg_client_get_serial(client), t, mode);
trg_peers_model_update(priv->peersModel,
- TRG_TREE_VIEW(priv->peersTreeView),
- trg_client_get_serial(client), t, mode);
+ TRG_TREE_VIEW(priv->peersTreeView),
+ trg_client_get_serial(client), t, mode);
if (mode == TORRENT_GET_MODE_FIRST)
gtk_tree_view_expand_all(GTK_TREE_VIEW(priv->filesTreeView));
@@ -289,9 +313,11 @@ static void update_selected_torrent_notebook(TrgMainWindow * win, gint mode,
}
#ifdef HAVE_LIBNOTIFY
-static void torrent_event_notification(TrgTorrentModel * model, gchar * icon,
- gchar * desc, gint tmout, gchar * prefKey, GtkTreeIter * iter,
- gpointer data) {
+static void torrent_event_notification(TrgTorrentModel * model,
+ gchar * icon, gchar * desc,
+ gint tmout, gchar * prefKey,
+ GtkTreeIter * iter, gpointer data)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data);
TrgPrefs *prefs = trg_client_get_prefs(priv->client);
gchar *name;
@@ -300,20 +326,20 @@ static void torrent_event_notification(TrgTorrentModel * model, gchar * icon,
if (!trg_prefs_get_bool(prefs, prefKey, TRG_PREFS_NOFLAGS))
return;
- gtk_tree_model_get(GTK_TREE_MODEL(model), iter, TORRENT_COLUMN_NAME, &name,
- -1);
+ gtk_tree_model_get(GTK_TREE_MODEL(model), iter, TORRENT_COLUMN_NAME,
+ &name, -1);
notify = notify_notification_new(name, desc, icon
#if !defined(NOTIFY_VERSION_MINOR) || (NOTIFY_VERSION_MAJOR == 0 && NOTIFY_VERSION_MINOR < 7)
- , NULL
+ , NULL
#endif
- );
+ );
#ifndef HAVE_LIBAPPINDICATOR
#if !defined(NOTIFY_VERSION_MINOR) || (NOTIFY_VERSION_MAJOR == 0 && NOTIFY_VERSION_MINOR < 7)
if (priv->statusIcon && gtk_status_icon_is_embedded(priv->statusIcon))
- notify_notification_attach_to_status_icon(notify,
- priv->statusIcon);
+ notify_notification_attach_to_status_icon(notify,
+ priv->statusIcon);
#endif
#endif
@@ -326,42 +352,49 @@ static void torrent_event_notification(TrgTorrentModel * model, gchar * icon,
}
#endif
-static void on_torrent_completed(TrgTorrentModel * model, GtkTreeIter * iter,
- gpointer data) {
+static void on_torrent_completed(TrgTorrentModel * model,
+ GtkTreeIter * iter, gpointer data)
+{
#ifdef HAVE_LIBNOTIFY
torrent_event_notification(model, GTK_STOCK_APPLY,
- _("This torrent has completed."),
- TORRENT_COMPLETE_NOTIFY_TMOUT, TRG_PREFS_KEY_COMPLETE_NOTIFY, iter,
- data);
+ _("This torrent has completed."),
+ TORRENT_COMPLETE_NOTIFY_TMOUT,
+ TRG_PREFS_KEY_COMPLETE_NOTIFY, iter, data);
#endif
}
static void on_torrent_added(TrgTorrentModel * model, GtkTreeIter * iter,
- gpointer data) {
+ gpointer data)
+{
#ifdef HAVE_LIBNOTIFY
torrent_event_notification(model, GTK_STOCK_ADD,
- _("This torrent has been added."), TORRENT_ADD_NOTIFY_TMOUT,
- TRG_PREFS_KEY_ADD_NOTIFY, iter, data);
+ _("This torrent has been added."),
+ TORRENT_ADD_NOTIFY_TMOUT,
+ TRG_PREFS_KEY_ADD_NOTIFY, iter, data);
#endif
}
static gboolean delete_event(GtkWidget * w, GdkEvent * event G_GNUC_UNUSED,
- gpointer data G_GNUC_UNUSED) {
+ gpointer data G_GNUC_UNUSED)
+{
return FALSE;
}
-static void destroy_window(GtkWidget * w, gpointer data G_GNUC_UNUSED) {
+static void destroy_window(GtkWidget * w, gpointer data G_GNUC_UNUSED)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(w);
TrgPrefs *prefs = trg_client_get_prefs(priv->client);
trg_prefs_set_int(prefs, TRG_PREFS_KEY_WINDOW_HEIGHT, priv->height,
- TRG_PREFS_GLOBAL);
+ TRG_PREFS_GLOBAL);
trg_prefs_set_int(prefs, TRG_PREFS_KEY_WINDOW_WIDTH, priv->width,
- TRG_PREFS_GLOBAL);
+ TRG_PREFS_GLOBAL);
trg_prefs_set_int(prefs, TRG_PREFS_KEY_NOTEBOOK_PANED_POS,
- gtk_paned_get_position(GTK_PANED(priv->vpaned)), TRG_PREFS_GLOBAL);
+ gtk_paned_get_position(GTK_PANED(priv->vpaned)),
+ TRG_PREFS_GLOBAL);
trg_prefs_set_int(prefs, TRG_PREFS_KEY_STATES_PANED_POS,
- gtk_paned_get_position(GTK_PANED(priv->hpaned)), TRG_PREFS_GLOBAL);
+ gtk_paned_get_position(GTK_PANED(priv->hpaned)),
+ TRG_PREFS_GLOBAL);
trg_tree_view_persist(TRG_TREE_VIEW(priv->peersTreeView), FALSE);
trg_tree_view_persist(TRG_TREE_VIEW(priv->filesTreeView), FALSE);
@@ -372,7 +405,8 @@ static void destroy_window(GtkWidget * w, gpointer data G_GNUC_UNUSED) {
gtk_main_quit();
}
-static void open_props_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data) {
+static void open_props_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data);
TrgTorrentPropsDialog *dialog;
@@ -380,51 +414,61 @@ static void open_props_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data) {
return;
dialog = trg_torrent_props_dialog_new(GTK_WINDOW(data),
- priv->torrentTreeView, priv->client);
+ priv->torrentTreeView,
+ priv->client);
gtk_widget_show_all(GTK_WIDGET(dialog));
}
static void torrent_tv_onRowActivated(GtkTreeView * treeview,
- GtkTreePath * path G_GNUC_UNUSED, GtkTreeViewColumn * col G_GNUC_UNUSED,
- gpointer userdata) {
+ GtkTreePath * path G_GNUC_UNUSED,
+ GtkTreeViewColumn *
+ col G_GNUC_UNUSED, gpointer userdata)
+{
open_props_cb(GTK_WIDGET(treeview), userdata);
}
-static void add_url_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data) {
+static void add_url_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data)
+{
TrgMainWindow *win = TRG_MAIN_WINDOW(data);
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data);
TrgTorrentAddUrlDialog *dlg = trg_torrent_add_url_dialog_new(win,
- priv->client);
+ priv->
+ client);
gtk_widget_show_all(GTK_WIDGET(dlg));
}
-static void add_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data) {
+static void add_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data);
if (trg_client_is_connected(priv->client))
trg_torrent_add_dialog(TRG_MAIN_WINDOW(data), priv->client);
}
-static void pause_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data) {
+static void pause_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data);
if (trg_client_is_connected(priv->client))
dispatch_async(priv->client,
- torrent_pause(build_json_id_array(priv->torrentTreeView)),
- on_generic_interactive_action, data);
+ torrent_pause(build_json_id_array
+ (priv->torrentTreeView)),
+ on_generic_interactive_action, data);
}
-static void pause_all_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data) {
+static void pause_all_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data);
if (trg_client_is_connected(priv->client))
dispatch_async(priv->client, torrent_pause(NULL),
- on_generic_interactive_action, data);
+ on_generic_interactive_action, data);
}
-gboolean trg_add_from_filename(TrgMainWindow * win, gchar ** uris) {
+gboolean trg_add_from_filename(TrgMainWindow * win, gchar ** uris)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(win);
TrgClient *client = priv->client;
TrgPrefs *prefs = trg_client_get_prefs(client);
@@ -435,14 +479,15 @@ gboolean trg_add_from_filename(TrgMainWindow * win, gchar ** uris) {
filesList = g_slist_append(filesList, uris[i]);
if (trg_prefs_get_bool(prefs, TRG_PREFS_KEY_ADD_OPTIONS_DIALOG,
- TRG_PREFS_GLOBAL)) {
- TrgTorrentAddDialog *dialog = trg_torrent_add_dialog_new(win, client,
- filesList);
+ TRG_PREFS_GLOBAL)) {
+ TrgTorrentAddDialog *dialog =
+ trg_torrent_add_dialog_new(win, client,
+ filesList);
gtk_widget_show_all(GTK_WIDGET(dialog));
} else {
struct add_torrent_threadfunc_args *args =
- g_new0(struct add_torrent_threadfunc_args, 1);
+ g_new0(struct add_torrent_threadfunc_args, 1);
args->list = filesList;
args->cb_data = win;
args->client = client;
@@ -452,31 +497,35 @@ gboolean trg_add_from_filename(TrgMainWindow * win, gchar ** uris) {
launch_add_thread(args);
}
- g_free(uris); // launch_add_thread() or trg_torrent_add_dialog() will free the filenames and fileList;
+ g_free(uris); // launch_add_thread() or trg_torrent_add_dialog() will free the filenames and fileList;
priv->args = NULL;
return TRUE;
}
-static void resume_all_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data) {
+static void resume_all_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data);
if (trg_client_is_connected(priv->client))
dispatch_async(priv->client, torrent_start(NULL),
- on_generic_interactive_action, data);
+ on_generic_interactive_action, data);
}
-static void resume_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data) {
+static void resume_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data);
if (trg_client_is_connected(priv->client))
dispatch_async(priv->client,
- torrent_start(build_json_id_array(priv->torrentTreeView)),
- on_generic_interactive_action, data);
+ torrent_start(build_json_id_array
+ (priv->torrentTreeView)),
+ on_generic_interactive_action, data);
}
-static void disconnect_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data) {
+static void disconnect_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data);
trg_client_inc_connid(priv->client);
@@ -484,7 +533,8 @@ static void disconnect_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data) {
trg_status_bar_reset(priv->statusBar);
}
-void connect_cb(GtkWidget * w, gpointer data) {
+void connect_cb(GtkWidget * w, gpointer data)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data);
TrgPrefs *prefs = trg_client_get_prefs(priv->client);
JsonObject *currentProfile = trg_prefs_get_profile(prefs);
@@ -518,157 +568,187 @@ void connect_cb(GtkWidget * w, gpointer data) {
}
dialog = gtk_message_dialog_new(GTK_WINDOW(data),
- GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_ERROR,
- GTK_BUTTONS_OK, "%s", msg);
+ GTK_DIALOG_DESTROY_WITH_PARENT,
+ GTK_MESSAGE_ERROR, GTK_BUTTONS_OK,
+ "%s", msg);
gtk_dialog_run(GTK_DIALOG(dialog));
gtk_widget_destroy(dialog);
reset_connect_args(TRG_MAIN_WINDOW(data));
return;
}
- trg_status_bar_push_connection_msg(priv->statusBar, _("Connecting..."));
+ trg_status_bar_push_connection_msg(priv->statusBar,
+ _("Connecting..."));
trg_client_inc_connid(priv->client);
dispatch_async(priv->client, session_get(), on_session_get, data);
}
-static void open_local_prefs_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data) {
+static void open_local_prefs_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data);
- GtkWidget *dlg = trg_preferences_dialog_get_instance(TRG_MAIN_WINDOW(data),
- priv->client);
+ GtkWidget *dlg =
+ trg_preferences_dialog_get_instance(TRG_MAIN_WINDOW(data),
+ priv->client);
gtk_widget_show_all(dlg);
}
-static void open_remote_prefs_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data) {
+static void open_remote_prefs_cb(GtkWidget * w G_GNUC_UNUSED,
+ gpointer data)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data);
if (trg_client_is_connected(priv->client))
- gtk_widget_show_all(GTK_WIDGET(trg_remote_prefs_dialog_get_instance(
- TRG_MAIN_WINDOW(data), priv->client)));
+ gtk_widget_show_all(GTK_WIDGET
+ (trg_remote_prefs_dialog_get_instance
+ (TRG_MAIN_WINDOW(data), priv->client)));
}
-static void main_window_toggle_filter_dirs(GtkCheckMenuItem * w, gpointer win) {
+static void main_window_toggle_filter_dirs(GtkCheckMenuItem * w,
+ gpointer win)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(win);
- trg_state_selector_set_show_dirs(priv->stateSelector,
- gtk_check_menu_item_get_active(w));
+
+ if (gtk_widget_is_sensitive(GTK_WIDGET(w)))
+ trg_state_selector_set_show_dirs(priv->stateSelector,
+ gtk_check_menu_item_get_active
+ (w));
}
static void main_window_toggle_filter_trackers(GtkCheckMenuItem * w,
- gpointer win) {
+ gpointer win)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(win);
- trg_state_selector_set_show_trackers(priv->stateSelector,
- gtk_check_menu_item_get_active(w));
+
+ if (gtk_widget_is_sensitive(GTK_WIDGET(w)))
+ trg_state_selector_set_show_trackers(priv->stateSelector,
+ gtk_check_menu_item_get_active
+ (w));
}
-static TrgToolbar *trg_main_window_toolbar_new(TrgMainWindow * win) {
+static TrgToolbar *trg_main_window_toolbar_new(TrgMainWindow * win)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(win);
TrgPrefs *prefs = trg_client_get_prefs(priv->client);
GObject *b_connect, *b_disconnect, *b_add, *b_resume, *b_pause;
- GObject *b_remove, *b_delete, *b_props, *b_local_prefs, *b_remote_prefs;
+ GObject *b_remove, *b_delete, *b_props, *b_local_prefs,
+ *b_remote_prefs;
TrgToolbar *toolBar = trg_toolbar_new(win, prefs);
- g_object_get(toolBar, "connect-button", &b_connect, "disconnect-button",
- &b_disconnect, "add-button", &b_add, "resume-button", &b_resume,
- "pause-button", &b_pause, "delete-button", &b_delete,
- "remove-button", &b_remove, "props-button", &b_props,
- "remote-prefs-button", &b_remote_prefs, "local-prefs-button",
- &b_local_prefs, NULL);
+ g_object_get(toolBar, "connect-button", &b_connect,
+ "disconnect-button", &b_disconnect, "add-button", &b_add,
+ "resume-button", &b_resume, "pause-button", &b_pause,
+ "delete-button", &b_delete, "remove-button", &b_remove,
+ "props-button", &b_props, "remote-prefs-button",
+ &b_remote_prefs, "local-prefs-button", &b_local_prefs,
+ NULL);
g_signal_connect(b_connect, "clicked", G_CALLBACK(connect_cb), win);
- g_signal_connect(b_disconnect, "clicked", G_CALLBACK(disconnect_cb), win);
+ g_signal_connect(b_disconnect, "clicked", G_CALLBACK(disconnect_cb),
+ win);
g_signal_connect(b_add, "clicked", G_CALLBACK(add_cb), win);
g_signal_connect(b_resume, "clicked", G_CALLBACK(resume_cb), win);
g_signal_connect(b_pause, "clicked", G_CALLBACK(pause_cb), win);
g_signal_connect(b_delete, "clicked", G_CALLBACK(delete_cb), win);
g_signal_connect(b_remove, "clicked", G_CALLBACK(remove_cb), win);
g_signal_connect(b_props, "clicked", G_CALLBACK(open_props_cb), win);
- g_signal_connect(b_local_prefs, "clicked", G_CALLBACK(open_local_prefs_cb),
- win);
+ g_signal_connect(b_local_prefs, "clicked",
+ G_CALLBACK(open_local_prefs_cb), win);
g_signal_connect(b_remote_prefs, "clicked",
- G_CALLBACK(open_remote_prefs_cb), win);
+ G_CALLBACK(open_remote_prefs_cb), win);
return toolBar;
}
-static void reannounce_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data) {
+static void reannounce_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data);
if (trg_client_is_connected(priv->client))
dispatch_async(priv->client,
- torrent_reannounce(build_json_id_array(priv->torrentTreeView)),
- on_generic_interactive_action, data);
+ torrent_reannounce(build_json_id_array
+ (priv->torrentTreeView)),
+ on_generic_interactive_action, data);
}
-static void verify_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data) {
+static void verify_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data);
if (is_ready_for_torrent_action(TRG_MAIN_WINDOW(data)))
dispatch_async(priv->client,
- torrent_verify(build_json_id_array(priv->torrentTreeView)),
- on_generic_interactive_action, data);
+ torrent_verify(build_json_id_array
+ (priv->torrentTreeView)),
+ on_generic_interactive_action, data);
}
-static void start_now_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data) {
+static void start_now_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data);
if (is_ready_for_torrent_action(TRG_MAIN_WINDOW(data)))
dispatch_async(priv->client,
- torrent_start_now(build_json_id_array(priv->torrentTreeView)),
- on_generic_interactive_action, data);
+ torrent_start_now(build_json_id_array
+ (priv->torrentTreeView)),
+ on_generic_interactive_action, data);
}
-static void up_queue_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data) {
+static void up_queue_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data);
if (priv->queuesEnabled
- && is_ready_for_torrent_action(TRG_MAIN_WINDOW(data)))
- dispatch_async(
- priv->client,
- torrent_queue_move_up(
- build_json_id_array(priv->torrentTreeView)),
- on_generic_interactive_action, data);
+ && is_ready_for_torrent_action(TRG_MAIN_WINDOW(data)))
+ dispatch_async(priv->client,
+ torrent_queue_move_up(build_json_id_array
+ (priv->torrentTreeView)),
+ on_generic_interactive_action, data);
}
-static void top_queue_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data) {
+static void top_queue_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data);
if (priv->queuesEnabled
- && is_ready_for_torrent_action(TRG_MAIN_WINDOW(data)))
- dispatch_async(
- priv->client,
- torrent_queue_move_top(
- build_json_id_array(priv->torrentTreeView)),
- on_generic_interactive_action, data);
+ && is_ready_for_torrent_action(TRG_MAIN_WINDOW(data)))
+ dispatch_async(priv->client,
+ torrent_queue_move_top(build_json_id_array
+ (priv->torrentTreeView)),
+ on_generic_interactive_action, data);
}
-static void bottom_queue_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data) {
+static void bottom_queue_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data);
if (priv->queuesEnabled
- && is_ready_for_torrent_action(TRG_MAIN_WINDOW(data)))
- dispatch_async(
- priv->client,
- torrent_queue_move_bottom(
- build_json_id_array(priv->torrentTreeView)),
- on_generic_interactive_action, data);
+ && is_ready_for_torrent_action(TRG_MAIN_WINDOW(data)))
+ dispatch_async(priv->client,
+ torrent_queue_move_bottom(build_json_id_array
+ (priv->torrentTreeView)),
+ on_generic_interactive_action, data);
}
-static void down_queue_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data) {
+static void down_queue_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data);
if (priv->queuesEnabled
- && is_ready_for_torrent_action(TRG_MAIN_WINDOW(data)))
- dispatch_async(
- priv->client,
- torrent_queue_move_down(
- build_json_id_array(priv->torrentTreeView)),
- on_generic_interactive_action, data);
+ && is_ready_for_torrent_action(TRG_MAIN_WINDOW(data)))
+ dispatch_async(priv->client,
+ torrent_queue_move_down(build_json_id_array
+ (priv->torrentTreeView)),
+ on_generic_interactive_action, data);
}
-static gint confirm_action_dialog(GtkWindow * win, GtkTreeSelection * selection,
- gchar * question_single, gchar * question_multi, gchar * action_stock) {
+static gint confirm_action_dialog(GtkWindow * win,
+ GtkTreeSelection * selection,
+ gchar * question_single,
+ gchar * question_multi,
+ gchar * action_stock)
+{
TrgMainWindowPrivate *priv;
gint selectCount;
gint response;
@@ -688,51 +768,65 @@ static gint confirm_action_dialog(GtkWindow * win, GtkTreeSelection * selection,
firstNode = g_list_first(list);
gtk_tree_model_get_iter(GTK_TREE_MODEL
- (priv->filteredTorrentModel), &firstIter, firstNode->data);
+ (priv->filteredTorrentModel), &firstIter,
+ firstNode->data);
gtk_tree_model_get(GTK_TREE_MODEL(priv->filteredTorrentModel),
- &firstIter, TORRENT_COLUMN_NAME, &name, -1);
+ &firstIter, TORRENT_COLUMN_NAME, &name, -1);
g_list_foreach(list, (GFunc) gtk_tree_path_free, NULL);
g_list_free(list);
dialog = gtk_message_dialog_new_with_markup(GTK_WINDOW(win),
- GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_QUESTION,
- GTK_BUTTONS_NONE, question_single, name);
+ GTK_DIALOG_DESTROY_WITH_PARENT,
+ GTK_MESSAGE_QUESTION,
+ GTK_BUTTONS_NONE,
+ question_single, name);
g_free(name);
} else if (selectCount > 1) {
dialog = gtk_message_dialog_new_with_markup(GTK_WINDOW(win),
- GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_QUESTION,
- GTK_BUTTONS_NONE, question_multi, selectCount);
+ GTK_DIALOG_DESTROY_WITH_PARENT,
+ GTK_MESSAGE_QUESTION,
+ GTK_BUTTONS_NONE,
+ question_multi,
+ selectCount);
} else {
return 0;
}
gtk_dialog_add_buttons(GTK_DIALOG(dialog), GTK_STOCK_CANCEL,
- GTK_RESPONSE_CANCEL, action_stock, GTK_RESPONSE_ACCEPT, NULL);
- gtk_dialog_set_default_response(GTK_DIALOG(dialog), GTK_RESPONSE_CANCEL);
+ GTK_RESPONSE_CANCEL, action_stock,
+ GTK_RESPONSE_ACCEPT, NULL);
+ gtk_dialog_set_default_response(GTK_DIALOG(dialog),
+ GTK_RESPONSE_CANCEL);
gtk_dialog_set_alternative_button_order(GTK_DIALOG(dialog),
- GTK_RESPONSE_ACCEPT, GTK_RESPONSE_CANCEL, -1);
+ GTK_RESPONSE_ACCEPT,
+ GTK_RESPONSE_CANCEL, -1);
response = gtk_dialog_run(GTK_DIALOG(dialog));
gtk_widget_destroy(dialog);
return response;
}
-static gboolean is_ready_for_torrent_action(TrgMainWindow *win) {
+static gboolean is_ready_for_torrent_action(TrgMainWindow * win)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(win);
- return priv->selectedTorrentId >= 0 && trg_client_is_connected(priv->client);
+ return priv->selectedTorrentId >= 0
+ && trg_client_is_connected(priv->client);
}
-static void move_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data) {
+static void move_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data);
if (is_ready_for_torrent_action(TRG_MAIN_WINDOW(data)))
- gtk_widget_show_all(
- GTK_WIDGET(trg_torrent_move_dialog_new(
- TRG_MAIN_WINDOW(data), priv->client, priv->torrentTreeView)));
+ gtk_widget_show_all(GTK_WIDGET
+ (trg_torrent_move_dialog_new
+ (TRG_MAIN_WINDOW(data), priv->client,
+ priv->torrentTreeView)));
}
-static void remove_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data) {
+static void remove_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data);
GtkTreeSelection *selection;
JsonArray *ids;
@@ -740,67 +834,80 @@ static void remove_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data) {
if (!is_ready_for_torrent_action(TRG_MAIN_WINDOW(data)))
return;
- selection = gtk_tree_view_get_selection(
- GTK_TREE_VIEW(priv->torrentTreeView));
+ selection =
+ gtk_tree_view_get_selection(GTK_TREE_VIEW(priv->torrentTreeView));
ids = build_json_id_array(priv->torrentTreeView);
if (confirm_action_dialog(GTK_WINDOW(data), selection, _
- ("<big><b>Remove torrent \"%s\"?</b></big>"),
- _("<big><b>Remove %d torrents?</b></big>"), GTK_STOCK_REMOVE)
- == GTK_RESPONSE_ACCEPT)
+ ("<big><b>Remove torrent \"%s\"?</b></big>"),
+ _("<big><b>Remove %d torrents?</b></big>"),
+ GTK_STOCK_REMOVE)
+ == GTK_RESPONSE_ACCEPT)
dispatch_async(priv->client, torrent_remove(ids, FALSE),
- on_generic_interactive_action, data);
+ on_generic_interactive_action, data);
else
json_array_unref(ids);
}
-static void delete_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data) {
+static void delete_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data)
+{
TrgMainWindowPrivate *priv;
GtkTreeSelection *selection;
JsonArray *ids;
priv = TRG_MAIN_WINDOW_GET_PRIVATE(data);
- selection = gtk_tree_view_get_selection(
- GTK_TREE_VIEW(priv->torrentTreeView));
+ selection =
+ gtk_tree_view_get_selection(GTK_TREE_VIEW(priv->torrentTreeView));
ids = build_json_id_array(priv->torrentTreeView);
if (!is_ready_for_torrent_action(TRG_MAIN_WINDOW(data)))
return;
if (confirm_action_dialog(GTK_WINDOW(data), selection, _
- ("<big><b>Remove and delete torrent \"%s\"?</b></big>"), _
- ("<big><b>Remove and delete %d torrents?</b></big>"),
- GTK_STOCK_DELETE) == GTK_RESPONSE_ACCEPT)
+ ("<big><b>Remove and delete torrent \"%s\"?</b></big>"),
+ _
+ ("<big><b>Remove and delete %d torrents?</b></big>"),
+ GTK_STOCK_DELETE) == GTK_RESPONSE_ACCEPT)
dispatch_async(priv->client, torrent_remove(ids, TRUE),
- on_generic_interactive_action, data);
+ on_generic_interactive_action, data);
else
json_array_unref(ids);
}
-static void view_stats_toggled_cb(GtkWidget * w, gpointer data) {
+static void view_stats_toggled_cb(GtkWidget * w, gpointer data)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data);
- TrgStatsDialog *dlg = trg_stats_dialog_get_instance(TRG_MAIN_WINDOW(data),
- priv->client);
+ TrgStatsDialog *dlg =
+ trg_stats_dialog_get_instance(TRG_MAIN_WINDOW(data),
+ priv->client);
gtk_widget_show_all(GTK_WIDGET(dlg));
}
-static void view_states_toggled_cb(GtkCheckMenuItem * w, gpointer data) {
+static void view_states_toggled_cb(GtkCheckMenuItem * w, gpointer data)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data);
trg_widget_set_visible(priv->stateSelectorScroller,
- gtk_check_menu_item_get_active(w));
+ gtk_check_menu_item_get_active(w));
}
-static void view_notebook_toggled_cb(GtkCheckMenuItem * w, gpointer data) {
+static void view_notebook_toggled_cb(GtkCheckMenuItem * w, gpointer data)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data);
- trg_widget_set_visible(priv->notebook, gtk_check_menu_item_get_active(w));
+ trg_widget_set_visible(priv->notebook,
+ gtk_check_menu_item_get_active(w));
}
#ifndef TRG_NO_GRAPH
-static void trg_main_window_toggle_graph_cb(GtkCheckMenuItem * w, gpointer win) {
+static void trg_main_window_toggle_graph_cb(GtkCheckMenuItem * w,
+ gpointer win)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(win);
- if (gtk_check_menu_item_get_active(w)) {
+
+ if (!gtk_widget_is_sensitive(GTK_WIDGET(w))) {
+ return;
+ } else if (gtk_check_menu_item_get_active(w)) {
if (priv->graphNotebookIndex < 0)
trg_main_window_add_graph(TRG_MAIN_WINDOW(win), TRUE);
} else {
@@ -810,49 +917,59 @@ static void trg_main_window_toggle_graph_cb(GtkCheckMenuItem * w, gpointer win)
}
#endif
-void trg_main_window_notebook_set_visible(TrgMainWindow * win, gboolean visible) {
+void trg_main_window_notebook_set_visible(TrgMainWindow * win,
+ gboolean visible)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(win);
trg_widget_set_visible(priv->notebook, visible);
}
-static GtkWidget *trg_main_window_notebook_new(TrgMainWindow * win) {
+static GtkWidget *trg_main_window_notebook_new(TrgMainWindow * win)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(win);
TrgPrefs *prefs = trg_client_get_prefs(priv->client);
GtkWidget *notebook = priv->notebook = gtk_notebook_new();
GtkWidget *genScrolledWin = gtk_scrolled_window_new(NULL, NULL);
- priv->genDetails = trg_general_panel_new(GTK_TREE_MODEL(priv->torrentModel),
- priv->client);
+ priv->genDetails =
+ trg_general_panel_new(GTK_TREE_MODEL(priv->torrentModel),
+ priv->client);
gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(genScrolledWin),
- GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
- gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(genScrolledWin),
- GTK_WIDGET(priv->genDetails));
+ GTK_POLICY_AUTOMATIC,
+ GTK_POLICY_AUTOMATIC);
+ gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW
+ (genScrolledWin),
+ GTK_WIDGET(priv->genDetails));
gtk_notebook_append_page(GTK_NOTEBOOK(notebook), genScrolledWin,
- gtk_label_new(_("General")));
+ gtk_label_new(_("General")));
priv->trackersModel = trg_trackers_model_new();
- priv->trackersTreeView = trg_trackers_tree_view_new(priv->trackersModel,
- priv->client, win);
+ priv->trackersTreeView =
+ trg_trackers_tree_view_new(priv->trackersModel, priv->client, win);
gtk_notebook_append_page(GTK_NOTEBOOK(notebook),
- my_scrolledwin_new(GTK_WIDGET
- (priv->trackersTreeView)), gtk_label_new(_("Trackers")));
+ my_scrolledwin_new(GTK_WIDGET
+ (priv->trackersTreeView)),
+ gtk_label_new(_("Trackers")));
priv->filesModel = trg_files_model_new();
priv->filesTreeView = trg_files_tree_view_new(priv->filesModel, win,
- priv->client);
+ priv->client);
gtk_notebook_append_page(GTK_NOTEBOOK(notebook),
- my_scrolledwin_new(GTK_WIDGET
- (priv->filesTreeView)), gtk_label_new(_("Files")));
+ my_scrolledwin_new(GTK_WIDGET
+ (priv->filesTreeView)),
+ gtk_label_new(_("Files")));
priv->peersModel = trg_peers_model_new();
priv->peersTreeView = trg_peers_tree_view_new(prefs, priv->peersModel);
gtk_notebook_append_page(GTK_NOTEBOOK(notebook),
- my_scrolledwin_new(GTK_WIDGET
- (priv->peersTreeView)), gtk_label_new(_("Peers")));
+ my_scrolledwin_new(GTK_WIDGET
+ (priv->peersTreeView)),
+ gtk_label_new(_("Peers")));
#ifndef TRG_NO_GRAPH
- if (trg_prefs_get_bool(prefs, TRG_PREFS_KEY_SHOW_GRAPH, TRG_PREFS_GLOBAL))
+ if (trg_prefs_get_bool
+ (prefs, TRG_PREFS_KEY_SHOW_GRAPH, TRG_PREFS_GLOBAL))
trg_main_window_add_graph(win, FALSE);
else
priv->graphNotebookIndex = -1;
@@ -861,15 +978,16 @@ static GtkWidget *trg_main_window_notebook_new(TrgMainWindow * win) {
return notebook;
}
-gboolean on_session_set(gpointer data) {
+gboolean on_session_set(gpointer data)
+{
trg_response *response = (trg_response *) data;
- TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(response->cb_data);
+ TrgMainWindowPrivate *priv =
+ TRG_MAIN_WINDOW_GET_PRIVATE(response->cb_data);
if (response->status == CURLE_OK
- || response->status == FAIL_RESPONSE_UNSUCCESSFUL
- )
+ || response->status == FAIL_RESPONSE_UNSUCCESSFUL)
dispatch_async(priv->client, session_get(), on_session_get,
- response->cb_data);
+ response->cb_data);
trg_dialog_error_handler(TRG_MAIN_WINDOW(response->cb_data), response);
trg_response_free(response);
@@ -877,10 +995,12 @@ gboolean on_session_set(gpointer data) {
return FALSE;
}
-static gboolean on_session_get(gpointer data) {
+static gboolean on_session_get(gpointer data)
+{
trg_response *response = (trg_response *) data;
TrgMainWindow *win = TRG_MAIN_WINDOW(response->cb_data);
- TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(response->cb_data);
+ TrgMainWindowPrivate *priv =
+ TRG_MAIN_WINDOW_GET_PRIVATE(response->cb_data);
TrgClient *client = priv->client;
gboolean isConnected = trg_client_is_connected(client);
JsonObject *lastSession = trg_client_get_session(client);
@@ -899,15 +1019,17 @@ static gboolean on_session_get(gpointer data) {
}
if (session_get_version(newSession, &version) == 0
- || version < TRANSMISSION_MIN_SUPPORTED) {
+ || version < TRANSMISSION_MIN_SUPPORTED) {
gchar *msg =
- g_strdup_printf(
- _
- ("This application supports Transmission %.2f and later, you have %.2f."),
- TRANSMISSION_MIN_SUPPORTED, version);
+ g_strdup_printf(_
+ ("This application supports Transmission %.2f and later, you have %.2f."),
+TRANSMISSION_MIN_SUPPORTED, version);
GtkWidget *dialog = gtk_message_dialog_new(GTK_WINDOW(win),
- GTK_DIALOG_MODAL, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, "%s",
- msg);
+ GTK_DIALOG_MODAL,
+ GTK_MESSAGE_ERROR,
+ GTK_BUTTONS_OK,
+ "%s",
+ msg);
gtk_window_set_title(GTK_WINDOW(dialog), _("Error"));
gtk_dialog_run(GTK_DIALOG(dialog));
gtk_widget_destroy(dialog);
@@ -922,8 +1044,8 @@ static gboolean on_session_get(gpointer data) {
if (newSession) {
gboolean reloadAliases = lastSession
- && g_strcmp0(session_get_download_dir(lastSession),
- session_get_download_dir(newSession));
+ && g_strcmp0(session_get_download_dir(lastSession),
+ session_get_download_dir(newSession));
trg_client_set_session(client, newSession);
@@ -933,9 +1055,10 @@ static gboolean on_session_get(gpointer data) {
if (!isConnected) {
trg_main_window_conn_changed(win, TRUE);
- trg_trackers_tree_view_new_connection(priv->trackersTreeView, client);
+ trg_trackers_tree_view_new_connection(priv->trackersTreeView,
+ client);
dispatch_async(client, torrent_get(TORRENT_GET_TAG_MODE_FULL),
- on_torrent_get_first, win);
+ on_torrent_get_first, win);
}
trg_response_free(response);
@@ -944,7 +1067,8 @@ static gboolean on_session_get(gpointer data) {
}
static void connchange_whatever_statusicon(TrgMainWindow * win,
- gboolean connected) {
+ gboolean connected)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(win);
const gchar *display = connected ? _("Connected") : _("Disconnected");
@@ -967,7 +1091,10 @@ static void connchange_whatever_statusicon(TrgMainWindow * win,
}
static void update_whatever_statusicon(TrgMainWindow * win,
- const gchar * speedLabel, trg_torrent_model_update_stats * stats) {
+ const gchar * speedLabel,
+ trg_torrent_model_update_stats *
+ stats)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(win);
gtk_widget_set_visible(priv->iconSeedingItem, stats != NULL);
@@ -976,19 +1103,20 @@ static void update_whatever_statusicon(TrgMainWindow * win,
if (stats) {
gchar *downloadingLabel = g_strdup_printf(_("Downloading %d"),
- stats->down);
- gchar *seedingLabel = g_strdup_printf(_("Seeding %d"), stats->seeding);
- gtk_menu_item_set_label(GTK_MENU_ITEM
- (priv->iconSeedingItem), seedingLabel);
- gtk_menu_item_set_label(GTK_MENU_ITEM
- (priv->iconDownloadingItem), downloadingLabel);
+ stats->down);
+ gchar *seedingLabel =
+ g_strdup_printf(_("Seeding %d"), stats->seeding);
+ gtk_menu_item_set_label(GTK_MENU_ITEM(priv->iconSeedingItem),
+ seedingLabel);
+ gtk_menu_item_set_label(GTK_MENU_ITEM(priv->iconDownloadingItem),
+ downloadingLabel);
g_free(downloadingLabel);
g_free(seedingLabel);
}
if (priv->iconStatusItem)
gtk_menu_item_set_label(GTK_MENU_ITEM
- (priv->iconStatusItem), speedLabel);
+ (priv->iconStatusItem), speedLabel);
#ifndef HAVE_LIBAPPINDICATOR
if (priv->statusIcon)
@@ -1000,10 +1128,12 @@ static void update_whatever_statusicon(TrgMainWindow * win,
* The callback for a torrent-get response.
*/
-static gboolean on_torrent_get(gpointer data, int mode) {
+static gboolean on_torrent_get(gpointer data, int mode)
+{
trg_response *response = (trg_response *) data;
TrgMainWindow *win = TRG_MAIN_WINDOW(response->cb_data);
- TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(response->cb_data);
+ TrgMainWindowPrivate *priv =
+ TRG_MAIN_WINDOW_GET_PRIVATE(response->cb_data);
TrgClient *client = priv->client;
TrgPrefs *prefs = trg_client_get_prefs(client);
trg_torrent_model_update_stats *stats;
@@ -1018,27 +1148,35 @@ static gboolean on_torrent_get(gpointer data, int mode) {
trg_client_updatelock(client);
interval =
- gtk_widget_get_visible(GTK_WIDGET(win)) ? trg_prefs_get_int(prefs,
- TRG_PREFS_KEY_UPDATE_INTERVAL, TRG_PREFS_CONNECTION) :
- trg_prefs_get_int(prefs, TRG_PREFS_KEY_MINUPDATE_INTERVAL,
+ gtk_widget_get_visible(GTK_WIDGET(win)) ? trg_prefs_get_int(prefs,
+ TRG_PREFS_KEY_UPDATE_INTERVAL,
+ TRG_PREFS_CONNECTION)
+ : trg_prefs_get_int(prefs, TRG_PREFS_KEY_MINUPDATE_INTERVAL,
TRG_PREFS_CONNECTION);
if (interval < 1)
interval = TRG_INTERVAL_DEFAULT;
if (response->status != CURLE_OK) {
- gint64 max_retries = trg_prefs_get_int(prefs, TRG_PREFS_KEY_RETRIES, TRG_PREFS_CONNECTION);
+ gint64 max_retries =
+ trg_prefs_get_int(prefs, TRG_PREFS_KEY_RETRIES,
+ TRG_PREFS_CONNECTION);
if (trg_client_inc_failcount(client) >= max_retries) {
trg_main_window_conn_changed(win, FALSE);
trg_dialog_error_handler(win, response);
} else {
- gchar *msg = make_error_message(response->obj, response->status);
- gchar *statusBarMsg = g_strdup_printf(_("Request %d/%d failed: %s"),
- trg_client_get_failcount(client), max_retries, msg);
- trg_status_bar_push_connection_msg(priv->statusBar, statusBarMsg);
+ gchar *msg =
+ make_error_message(response->obj, response->status);
+ gchar *statusBarMsg =
+ g_strdup_printf(_("Request %d/%d failed: %s"),
+ trg_client_get_failcount(client),
+ max_retries, msg);
+ trg_status_bar_push_connection_msg(priv->statusBar,
+ statusBarMsg);
g_free(msg);
g_free(statusBarMsg);
priv->timerId = g_timeout_add_seconds(interval,
- trg_update_torrents_timerfunc, win);
+ trg_update_torrents_timerfunc,
+ win);
}
trg_client_updateunlock(client);
trg_response_free(response);
@@ -1048,12 +1186,15 @@ static gboolean on_torrent_get(gpointer data, int mode) {
trg_client_reset_failcount(client);
trg_client_inc_serial(client);
- stats = trg_torrent_model_update(priv->torrentModel, client, response->obj,
- mode);
+ stats =
+ trg_torrent_model_update(priv->torrentModel, client, response->obj,
+ mode);
update_selected_torrent_notebook(win, mode, priv->selectedTorrentId);
trg_status_bar_update(priv->statusBar, stats, client);
update_whatever_statusicon(win,
- trg_status_bar_get_speed_text(priv->statusBar), stats);
+ trg_status_bar_get_speed_text(priv->
+ statusBar),
+ stats);
#ifndef TRG_NO_GRAPH
if (priv->graphNotebookIndex >= 0)
@@ -1062,20 +1203,24 @@ static gboolean on_torrent_get(gpointer data, int mode) {
if (mode != TORRENT_GET_MODE_INTERACTION)
priv->timerId = g_timeout_add_seconds(interval,
- trg_update_torrents_timerfunc, win);
+ trg_update_torrents_timerfunc,
+ win);
trg_client_updateunlock(client);
trg_response_free(response);
return FALSE;
}
-static gboolean on_torrent_get_active(gpointer data) {
+static gboolean on_torrent_get_active(gpointer data)
+{
return on_torrent_get(data, TORRENT_GET_MODE_ACTIVE);
}
-static gboolean on_torrent_get_first(gpointer data) {
+static gboolean on_torrent_get_first(gpointer data)
+{
trg_response *response = (trg_response *) data;
- TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(response->cb_data);
+ TrgMainWindowPrivate *priv =
+ TRG_MAIN_WINDOW_GET_PRIVATE(response->cb_data);
TrgMainWindow *win = TRG_MAIN_WINDOW(response->cb_data);
gboolean result = on_torrent_get(data, TORRENT_GET_MODE_FIRST);
@@ -1086,45 +1231,49 @@ static gboolean on_torrent_get_first(gpointer data) {
return result;
}
-static gboolean on_torrent_get_interactive(gpointer data) {
+static gboolean on_torrent_get_interactive(gpointer data)
+{
return on_torrent_get(data, TORRENT_GET_MODE_INTERACTION);
}
-static gboolean on_torrent_get_update(gpointer data) {
+static gboolean on_torrent_get_update(gpointer data)
+{
return on_torrent_get(data, TORRENT_GET_MODE_UPDATE);
}
-static gboolean trg_update_torrents_timerfunc(gpointer data) {
+static gboolean trg_update_torrents_timerfunc(gpointer data)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data);
TrgClient *tc = priv->client;
TrgPrefs *prefs = trg_client_get_prefs(tc);
if (trg_client_is_connected(tc)) {
gboolean activeOnly = trg_prefs_get_bool(prefs,
- TRG_PREFS_KEY_UPDATE_ACTIVE_ONLY, TRG_PREFS_CONNECTION)
- && (!trg_prefs_get_bool(prefs,
- TRG_PREFS_ACTIVEONLY_FULLSYNC_ENABLED,
- TRG_PREFS_CONNECTION)
- || (trg_client_get_serial(tc)
- % trg_prefs_get_int(prefs,
+ TRG_PREFS_KEY_UPDATE_ACTIVE_ONLY,
+ TRG_PREFS_CONNECTION)
+ && (!trg_prefs_get_bool(prefs,
+ TRG_PREFS_ACTIVEONLY_FULLSYNC_ENABLED,
+ TRG_PREFS_CONNECTION)
+ || (trg_client_get_serial(tc)
+ % trg_prefs_get_int(prefs,
TRG_PREFS_ACTIVEONLY_FULLSYNC_EVERY,
TRG_PREFS_CONNECTION) != 0));
- dispatch_async(
- tc,
- torrent_get(
- activeOnly ? TORRENT_GET_TAG_MODE_UPDATE :
- TORRENT_GET_TAG_MODE_FULL),
- activeOnly ? on_torrent_get_active : on_torrent_get_update,
- data);
+ dispatch_async(tc,
+ torrent_get(activeOnly ? TORRENT_GET_TAG_MODE_UPDATE
+ : TORRENT_GET_TAG_MODE_FULL),
+ activeOnly ? on_torrent_get_active :
+ on_torrent_get_update, data);
if (trg_client_get_serial(tc) % SESSION_UPDATE_DIVISOR == 0)
- dispatch_async(priv->client, session_get(), on_session_get, data);
+ dispatch_async(priv->client, session_get(), on_session_get,
+ data);
}
return FALSE;
}
-static void open_about_cb(GtkWidget * w G_GNUC_UNUSED, GtkWindow * parent) {
+static void open_about_cb(GtkWidget * w G_GNUC_UNUSED, GtkWindow * parent)
+{
GtkWidget *aboutDialog = trg_about_window_new(parent);
gtk_dialog_run(GTK_DIALOG(aboutDialog));
@@ -1132,7 +1281,9 @@ static void open_about_cb(GtkWidget * w G_GNUC_UNUSED, GtkWindow * parent) {
}
static gboolean trg_torrent_tree_view_visible_func(GtkTreeModel * model,
- GtkTreeIter * iter, gpointer data) {
+ GtkTreeIter * iter,
+ gpointer data)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data);
guint flags;
@@ -1145,26 +1296,28 @@ static gboolean trg_torrent_tree_view_visible_func(GtkTreeModel * model,
if (criteria != 0) {
if (criteria & FILTER_FLAG_TRACKER) {
- gchar *text = trg_state_selector_get_selected_text(
- priv->stateSelector);
+ gchar *text =
+ trg_state_selector_get_selected_text(priv->stateSelector);
JsonObject *json = NULL;
gboolean matchesTracker;
- gtk_tree_model_get(model, iter, TORRENT_COLUMN_JSON, &json, -1);
+ gtk_tree_model_get(model, iter, TORRENT_COLUMN_JSON, &json,
+ -1);
matchesTracker = (!json
- || !torrent_has_tracker(
- json,
- trg_state_selector_get_url_host_regex(
- priv->stateSelector), text));
+ || !torrent_has_tracker(json,
+ trg_state_selector_get_url_host_regex
+ (priv->
+ stateSelector),
+ text));
g_free(text);
if (matchesTracker)
return FALSE;
} else if (criteria & FILTER_FLAG_DIR) {
- gchar *text = trg_state_selector_get_selected_text(
- priv->stateSelector);
+ gchar *text =
+ trg_state_selector_get_selected_text(priv->stateSelector);
gchar *dd;
int cmp;
- gtk_tree_model_get(model, iter, TORRENT_COLUMN_DOWNLOADDIR_SHORT,
- &dd, -1);
+ gtk_tree_model_get(model, iter,
+ TORRENT_COLUMN_DOWNLOADDIR_SHORT, &dd, -1);
cmp = g_strcmp0(text, dd);
g_free(dd);
g_free(text);
@@ -1197,29 +1350,34 @@ static gboolean trg_torrent_tree_view_visible_func(GtkTreeModel * model,
return visible;
}
-void trg_main_window_reload_dir_aliases(TrgMainWindow * win) {
+void trg_main_window_reload_dir_aliases(TrgMainWindow * win)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(win);
trg_torrent_model_reload_dir_aliases(priv->client, GTK_TREE_MODEL
- (priv->torrentModel));
+ (priv->torrentModel));
}
-static TrgTorrentTreeView * trg_main_window_torrent_tree_view_new(
- TrgMainWindow * win, GtkTreeModel * model) {
+static TrgTorrentTreeView
+ *trg_main_window_torrent_tree_view_new(TrgMainWindow * win,
+ GtkTreeModel * model)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(win);
- TrgTorrentTreeView *torrentTreeView = trg_torrent_tree_view_new(
- trg_client_get_prefs(priv->client), model);
+ TrgTorrentTreeView *torrentTreeView =
+ trg_torrent_tree_view_new(trg_client_get_prefs(priv->client),
+ model);
- GtkTreeSelection *selection = gtk_tree_view_get_selection(
- GTK_TREE_VIEW(torrentTreeView));
+ GtkTreeSelection *selection =
+ gtk_tree_view_get_selection(GTK_TREE_VIEW(torrentTreeView));
g_signal_connect(G_OBJECT(selection), "changed",
- G_CALLBACK(torrent_selection_changed), win);
+ G_CALLBACK(torrent_selection_changed), win);
return torrentTreeView;
}
static gboolean trg_dialog_error_handler(TrgMainWindow * win,
- trg_response * response) {
+ trg_response * response)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(win);
if (response->status != CURLE_OK) {
@@ -1230,7 +1388,8 @@ static gboolean trg_dialog_error_handler(TrgMainWindow * win,
trg_status_bar_clear_indicators(priv->statusBar);
trg_status_bar_push_connection_msg(priv->statusBar, msg);
dialog = gtk_message_dialog_new(GTK_WINDOW(win), GTK_DIALOG_MODAL,
- GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, "%s", msg);
+ GTK_MESSAGE_ERROR, GTK_BUTTONS_OK,
+ "%s", msg);
gtk_window_set_title(GTK_WINDOW(dialog), _("Error"));
gtk_dialog_run(GTK_DIALOG(dialog));
gtk_widget_destroy(dialog);
@@ -1242,7 +1401,8 @@ static gboolean trg_dialog_error_handler(TrgMainWindow * win,
}
static gboolean torrent_selection_changed(GtkTreeSelection * selection,
- gpointer data) {
+ gpointer data)
+{
TrgMainWindow *win = TRG_MAIN_WINDOW(data);
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data);
GList *selectionList;
@@ -1261,9 +1421,9 @@ static gboolean torrent_selection_changed(GtkTreeSelection * selection,
if (firstNode) {
GtkTreeIter iter;
if (gtk_tree_model_get_iter(priv->filteredTorrentModel, &iter,
- (GtkTreePath *) firstNode->data)) {
+ (GtkTreePath *) firstNode->data)) {
gtk_tree_model_get(priv->filteredTorrentModel, &iter,
- TORRENT_COLUMN_ID, &id, -1);
+ TORRENT_COLUMN_ID, &id, -1);
}
}
@@ -1275,10 +1435,12 @@ static gboolean torrent_selection_changed(GtkTreeSelection * selection,
return TRUE;
}
-gboolean on_generic_interactive_action(gpointer data) {
+gboolean on_generic_interactive_action(gpointer data)
+{
trg_response *response = (trg_response *) data;
TrgMainWindow *win = TRG_MAIN_WINDOW(response->cb_data);
- TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(response->cb_data);
+ TrgMainWindowPrivate *priv =
+ TRG_MAIN_WINDOW_GET_PRIVATE(response->cb_data);
TrgClient *tc = priv->client;
TrgPrefs *prefs = trg_client_get_prefs(tc);
@@ -1289,14 +1451,15 @@ gboolean on_generic_interactive_action(gpointer data) {
gint64 id;
if (json_object_has_member(response->obj, PARAM_TAG))
id = json_object_get_int_member(response->obj, PARAM_TAG);
- else if (trg_prefs_get_bool(prefs, TRG_PREFS_KEY_UPDATE_ACTIVE_ONLY,
- TRG_PREFS_CONNECTION))
+ else if (trg_prefs_get_bool
+ (prefs, TRG_PREFS_KEY_UPDATE_ACTIVE_ONLY,
+ TRG_PREFS_CONNECTION))
id = TORRENT_GET_TAG_MODE_UPDATE;
else
id = TORRENT_GET_TAG_MODE_FULL;
dispatch_async(tc, torrent_get(id), on_torrent_get_interactive,
- win);
+ win);
}
}
@@ -1305,7 +1468,8 @@ gboolean on_generic_interactive_action(gpointer data) {
}
static
-void trg_main_window_torrent_scrub(TrgMainWindow * win) {
+void trg_main_window_torrent_scrub(TrgMainWindow * win)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(win);
gtk_tree_store_clear(GTK_TREE_STORE(priv->filesModel));
@@ -1313,31 +1477,35 @@ void trg_main_window_torrent_scrub(TrgMainWindow * win) {
gtk_list_store_clear(GTK_LIST_STORE(priv->peersModel));
trg_general_panel_clear(priv->genDetails);
trg_trackers_model_set_no_selection(TRG_TRACKERS_MODEL
- (priv->trackersModel));
+ (priv->trackersModel));
trg_toolbar_torrent_actions_sensitive(priv->toolBar, FALSE);
trg_menu_bar_torrent_actions_sensitive(priv->menuBar, FALSE);
}
-static void entry_filter_changed_cb(GtkWidget * w, gpointer data) {
+static void entry_filter_changed_cb(GtkWidget * w, gpointer data)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data);
gboolean clearSensitive = gtk_entry_get_text_length(GTK_ENTRY(w)) > 0;
gtk_tree_model_filter_refilter(GTK_TREE_MODEL_FILTER
- (priv->filteredTorrentModel));
+ (priv->filteredTorrentModel));
- g_object_set(priv->filterEntry, "secondary-icon-sensitive", clearSensitive,
- NULL);
+ g_object_set(priv->filterEntry, "secondary-icon-sensitive",
+ clearSensitive, NULL);
}
-static void torrent_state_selection_changed(
- TrgStateSelector * selector G_GNUC_UNUSED, guint flag G_GNUC_UNUSED,
- gpointer data) {
+static void torrent_state_selection_changed(TrgStateSelector *
+ selector G_GNUC_UNUSED,
+ guint flag G_GNUC_UNUSED,
+ gpointer data)
+{
gtk_tree_model_filter_refilter(GTK_TREE_MODEL_FILTER(data));
}
static
-void trg_main_window_conn_changed(TrgMainWindow * win, gboolean connected) {
+void trg_main_window_conn_changed(TrgMainWindow * win, gboolean connected)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(win);
TrgClient *tc = priv->client;
@@ -1347,7 +1515,8 @@ void trg_main_window_conn_changed(TrgMainWindow * win, gboolean connected) {
gtk_widget_set_sensitive(GTK_WIDGET(priv->torrentTreeView), connected);
gtk_widget_set_sensitive(GTK_WIDGET(priv->peersTreeView), connected);
gtk_widget_set_sensitive(GTK_WIDGET(priv->filesTreeView), connected);
- gtk_widget_set_sensitive(GTK_WIDGET(priv->trackersTreeView), connected);
+ gtk_widget_set_sensitive(GTK_WIDGET(priv->trackersTreeView),
+ connected);
gtk_widget_set_sensitive(GTK_WIDGET(priv->genDetails), connected);
if (!connected) {
@@ -1368,8 +1537,10 @@ void trg_main_window_conn_changed(TrgMainWindow * win, gboolean connected) {
connchange_whatever_statusicon(win, connected);
}
-static void trg_main_window_get_property(GObject * object, guint property_id,
- GValue * value, GParamSpec * pspec) {
+static void trg_main_window_get_property(GObject * object,
+ guint property_id, GValue * value,
+ GParamSpec * pspec)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(object);
switch (property_id) {
case PROP_CLIENT:
@@ -1384,8 +1555,11 @@ static void trg_main_window_get_property(GObject * object, guint property_id,
}
}
-static void trg_main_window_set_property(GObject * object, guint property_id,
- const GValue * value, GParamSpec * pspec) {
+static void trg_main_window_set_property(GObject * object,
+ guint property_id,
+ const GValue * value,
+ GParamSpec * pspec)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(object);
switch (property_id) {
case PROP_CLIENT:
@@ -1400,23 +1574,25 @@ static void trg_main_window_set_property(GObject * object, guint property_id,
}
}
-static void quit_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data) {
+static void quit_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data)
+{
gtk_widget_destroy(GTK_WIDGET(data));
}
-static TrgMenuBar *trg_main_window_menu_bar_new(TrgMainWindow * win) {
+static TrgMenuBar *trg_main_window_menu_bar_new(TrgMainWindow * win)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(win);
- GObject *b_disconnect, *b_add, *b_resume, *b_pause, *b_verify, *b_remove,
- *b_delete, *b_props, *b_local_prefs, *b_remote_prefs, *b_about,
- *b_view_states, *b_view_notebook, *b_view_stats, *b_add_url,
- *b_quit, *b_move, *b_reannounce, *b_pause_all, *b_resume_all,
- *b_dir_filters, *b_tracker_filters, *b_up_queue, *b_down_queue,
- *b_top_queue, *b_bottom_queue,
+ GObject *b_disconnect, *b_add, *b_resume, *b_pause, *b_verify,
+ *b_remove, *b_delete, *b_props, *b_local_prefs, *b_remote_prefs,
+ *b_about, *b_view_states, *b_view_notebook, *b_view_stats,
+ *b_add_url, *b_quit, *b_move, *b_reannounce, *b_pause_all,
+ *b_resume_all, *b_dir_filters, *b_tracker_filters, *b_up_queue,
+ *b_down_queue, *b_top_queue, *b_bottom_queue,
#ifndef TRG_NO_GRAPH
- *b_show_graph,
+ *b_show_graph,
#endif
- *b_start_now;
+ *b_start_now;
TrgMenuBar *menuBar;
GtkAccelGroup *accel_group;
@@ -1424,67 +1600,72 @@ static TrgMenuBar *trg_main_window_menu_bar_new(TrgMainWindow * win) {
accel_group = gtk_accel_group_new();
menuBar = trg_menu_bar_new(win, trg_client_get_prefs(priv->client),
- accel_group);
+ accel_group);
g_object_get(menuBar, "disconnect-button", &b_disconnect, "add-button",
- &b_add, "add-url-button", &b_add_url, "resume-button", &b_resume,
- "resume-all-button", &b_resume_all, "pause-button", &b_pause,
- "pause-all-button", &b_pause_all, "delete-button", &b_delete,
- "remove-button", &b_remove, "move-button", &b_move, "verify-button",
- &b_verify, "reannounce-button", &b_reannounce, "props-button",
- &b_props, "remote-prefs-button", &b_remote_prefs,
- "local-prefs-button", &b_local_prefs, "view-notebook-button",
- &b_view_notebook, "view-states-button", &b_view_states,
- "view-stats-button", &b_view_stats, "about-button", &b_about,
- "quit-button", &b_quit, "dir-filters", &b_dir_filters,
- "tracker-filters", &b_tracker_filters,
+ &b_add, "add-url-button", &b_add_url, "resume-button",
+ &b_resume, "resume-all-button", &b_resume_all,
+ "pause-button", &b_pause, "pause-all-button",
+ &b_pause_all, "delete-button", &b_delete, "remove-button",
+ &b_remove, "move-button", &b_move, "verify-button",
+ &b_verify, "reannounce-button", &b_reannounce,
+ "props-button", &b_props, "remote-prefs-button",
+ &b_remote_prefs, "local-prefs-button", &b_local_prefs,
+ "view-notebook-button", &b_view_notebook,
+ "view-states-button", &b_view_states, "view-stats-button",
+ &b_view_stats, "about-button", &b_about, "quit-button",
+ &b_quit, "dir-filters", &b_dir_filters, "tracker-filters",
+ &b_tracker_filters,
#ifndef TRG_NO_GRAPH
- "show-graph", &b_show_graph,
+ "show-graph", &b_show_graph,
#endif
- "up-queue", &b_up_queue, "down-queue", &b_down_queue, "top-queue",
- &b_top_queue, "bottom-queue", &b_bottom_queue, "start-now",
- &b_start_now, NULL);
+ "up-queue", &b_up_queue, "down-queue", &b_down_queue,
+ "top-queue", &b_top_queue, "bottom-queue",
+ &b_bottom_queue, "start-now", &b_start_now, NULL);
- g_signal_connect(b_disconnect, "activate", G_CALLBACK(disconnect_cb), win);
+ g_signal_connect(b_disconnect, "activate", G_CALLBACK(disconnect_cb),
+ win);
g_signal_connect(b_add, "activate", G_CALLBACK(add_cb), win);
g_signal_connect(b_add_url, "activate", G_CALLBACK(add_url_cb), win);
g_signal_connect(b_resume, "activate", G_CALLBACK(resume_cb), win);
- g_signal_connect(b_resume_all, "activate", G_CALLBACK(resume_all_cb), win);
+ g_signal_connect(b_resume_all, "activate", G_CALLBACK(resume_all_cb),
+ win);
g_signal_connect(b_pause, "activate", G_CALLBACK(pause_cb), win);
- g_signal_connect(b_pause_all, "activate", G_CALLBACK(pause_all_cb), win);
+ g_signal_connect(b_pause_all, "activate", G_CALLBACK(pause_all_cb),
+ win);
g_signal_connect(b_verify, "activate", G_CALLBACK(verify_cb), win);
- g_signal_connect(b_reannounce, "activate", G_CALLBACK(reannounce_cb), win);
+ g_signal_connect(b_reannounce, "activate", G_CALLBACK(reannounce_cb),
+ win);
g_signal_connect(b_delete, "activate", G_CALLBACK(delete_cb), win);
g_signal_connect(b_remove, "activate", G_CALLBACK(remove_cb), win);
g_signal_connect(b_up_queue, "activate", G_CALLBACK(up_queue_cb), win);
- g_signal_connect(b_down_queue, "activate", G_CALLBACK(down_queue_cb), win);
- g_signal_connect(b_top_queue, "activate", G_CALLBACK(top_queue_cb), win);
- g_signal_connect(b_bottom_queue, "activate", G_CALLBACK(bottom_queue_cb),
- win);
- g_signal_connect(b_start_now, "activate", G_CALLBACK(start_now_cb), win);
+ g_signal_connect(b_down_queue, "activate", G_CALLBACK(down_queue_cb),
+ win);
+ g_signal_connect(b_top_queue, "activate", G_CALLBACK(top_queue_cb),
+ win);
+ g_signal_connect(b_bottom_queue, "activate",
+ G_CALLBACK(bottom_queue_cb), win);
+ g_signal_connect(b_start_now, "activate", G_CALLBACK(start_now_cb),
+ win);
g_signal_connect(b_move, "activate", G_CALLBACK(move_cb), win);
g_signal_connect(b_about, "activate", G_CALLBACK(open_about_cb), win);
- g_signal_connect(b_local_prefs, "activate", G_CALLBACK(open_local_prefs_cb),
- win);
+ g_signal_connect(b_local_prefs, "activate",
+ G_CALLBACK(open_local_prefs_cb), win);
g_signal_connect(b_remote_prefs, "activate",
- G_CALLBACK(open_remote_prefs_cb), win);
+ G_CALLBACK(open_remote_prefs_cb), win);
g_signal_connect(b_view_notebook, "toggled",
- G_CALLBACK(view_notebook_toggled_cb), win);
+ G_CALLBACK(view_notebook_toggled_cb), win);
g_signal_connect(b_dir_filters, "toggled",
- G_CALLBACK(main_window_toggle_filter_dirs), win);
- g_signal_connect(b_tracker_filters, "toggled",
- G_CALLBACK(main_window_toggle_filter_trackers), win);
-#ifndef TRG_NO_GRAPH
+ G_CALLBACK(main_window_toggle_filter_dirs), win);
g_signal_connect(b_tracker_filters, "toggled",
- G_CALLBACK(trg_main_window_toggle_graph_cb), win);
-#endif
+ G_CALLBACK(main_window_toggle_filter_trackers), win);
g_signal_connect(b_view_states, "toggled",
- G_CALLBACK(view_states_toggled_cb), win);
+ G_CALLBACK(view_states_toggled_cb), win);
g_signal_connect(b_view_stats, "activate",
- G_CALLBACK(view_stats_toggled_cb), win);
+ G_CALLBACK(view_stats_toggled_cb), win);
#ifndef TRG_NO_GRAPH
g_signal_connect(b_show_graph, "toggled",
- G_CALLBACK(trg_main_window_toggle_graph_cb), win);
+ G_CALLBACK(trg_main_window_toggle_graph_cb), win);
#endif
g_signal_connect(b_props, "activate", G_CALLBACK(open_props_cb), win);
g_signal_connect(b_quit, "activate", G_CALLBACK(quit_cb), win);
@@ -1496,7 +1677,8 @@ static TrgMenuBar *trg_main_window_menu_bar_new(TrgMainWindow * win) {
#ifndef HAVE_LIBAPPINDICATOR
static void status_icon_activated(GtkStatusIcon * icon G_GNUC_UNUSED,
- gpointer data) {
+ gpointer data)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data);
gtk_window_deiconify(GTK_WINDOW(data));
@@ -1504,28 +1686,34 @@ static void status_icon_activated(GtkStatusIcon * icon G_GNUC_UNUSED,
if (priv->timerId > 0) {
g_source_remove(priv->timerId);
- dispatch_async(priv->client, torrent_get(TORRENT_GET_TAG_MODE_FULL),
- on_torrent_get_first, data);
+ dispatch_async(priv->client,
+ torrent_get(TORRENT_GET_TAG_MODE_FULL),
+ on_torrent_get_first, data);
}
}
static gboolean trg_status_icon_popup_menu_cb(GtkStatusIcon * icon,
- gpointer userdata) {
+ gpointer userdata)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(userdata);
- gtk_menu_popup(priv->iconMenu, NULL, NULL, gtk_status_icon_position_menu,
- priv->statusIcon, 0, gtk_get_current_event_time());
+ gtk_menu_popup(priv->iconMenu, NULL, NULL,
+ gtk_status_icon_position_menu, priv->statusIcon, 0,
+ gtk_get_current_event_time());
return TRUE;
}
static gboolean status_icon_button_press_event(GtkStatusIcon * icon,
- GdkEventButton * event, gpointer data) {
+ GdkEventButton * event,
+ gpointer data)
+{
if (event->type == GDK_BUTTON_PRESS && event->button == 3) {
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data);
gtk_menu_popup(priv->iconMenu, NULL, NULL,
- gtk_status_icon_position_menu, priv->statusIcon, event->button,
- gdk_event_get_time((GdkEvent *) event));
+ gtk_status_icon_position_menu, priv->statusIcon,
+ event->button,
+ gdk_event_get_time((GdkEvent *) event));
return TRUE;
} else {
return FALSE;
@@ -1534,18 +1722,22 @@ static gboolean status_icon_button_press_event(GtkStatusIcon * icon,
#endif
static void clear_filter_entry_cb(GtkEntry * entry,
- GtkEntryIconPosition icon_pos, GdkEvent * event, gpointer user_data) {
+ GtkEntryIconPosition icon_pos,
+ GdkEvent * event, gpointer user_data)
+{
gtk_entry_set_text(entry, "");
}
static GtkWidget *trg_imagemenuitem_new(GtkMenuShell * shell,
- const gchar * text, char *stock_id, gboolean sensitive, GCallback cb,
- gpointer cbdata) {
+ const gchar * text, char *stock_id,
+ gboolean sensitive, GCallback cb,
+ gpointer cbdata)
+{
GtkWidget *item = gtk_image_menu_item_new_with_label(stock_id);
gtk_image_menu_item_set_use_stock(GTK_IMAGE_MENU_ITEM(item), TRUE);
gtk_image_menu_item_set_always_show_image(GTK_IMAGE_MENU_ITEM
- (item), TRUE);
+ (item), TRUE);
gtk_menu_item_set_label(GTK_MENU_ITEM(item), text);
g_signal_connect(item, "activate", cb, cbdata);
gtk_widget_set_sensitive(item, sensitive);
@@ -1554,7 +1746,8 @@ static GtkWidget *trg_imagemenuitem_new(GtkMenuShell * shell,
return item;
}
-static void set_limit_cb(GtkWidget * w, gpointer data) {
+static void set_limit_cb(GtkWidget * w, gpointer data)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data);
GtkWidget *parent = gtk_widget_get_parent(w);
@@ -1580,13 +1773,15 @@ static void set_limit_cb(GtkWidget * w, gpointer data) {
json_object_set_boolean_member(args, enabledKey, speed >= 0);
if (limitIds)
- dispatch_async(priv->client, req, on_generic_interactive_action, data);
+ dispatch_async(priv->client, req, on_generic_interactive_action,
+ data);
else
dispatch_async(priv->client, req, on_session_set, data);
}
static GtkWidget *limit_item_new(TrgMainWindow * win, GtkWidget * menu,
- gint64 currentLimit, gfloat limit) {
+ gint64 currentLimit, gfloat limit)
+{
char speed[32];
GtkWidget *item;
gboolean active = limit < 0 ? FALSE : (currentLimit == (gint64) limit);
@@ -1595,7 +1790,8 @@ static GtkWidget *limit_item_new(TrgMainWindow * win, GtkWidget * menu,
item = gtk_check_menu_item_new_with_label(speed);
- g_object_set_data(G_OBJECT(item), "limit", GINT_TO_POINTER((gint) limit));
+ g_object_set_data(G_OBJECT(item), "limit",
+ GINT_TO_POINTER((gint) limit));
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(item), active);
g_signal_connect(item, "activate", G_CALLBACK(set_limit_cb), win);
@@ -1604,7 +1800,9 @@ static GtkWidget *limit_item_new(TrgMainWindow * win, GtkWidget * menu,
}
static GtkWidget *limit_menu_new(TrgMainWindow * win, gchar * title,
- gchar * enabledKey, gchar * speedKey, JsonArray * ids) {
+ gchar * enabledKey, gchar * speedKey,
+ JsonArray * ids)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(win);
TrgClient *client = priv->client;
JsonObject *current = NULL;
@@ -1614,28 +1812,28 @@ static GtkWidget *limit_menu_new(TrgMainWindow * win, gchar * title,
if (ids)
get_torrent_data(trg_client_get_torrent_table(client),
- priv->selectedTorrentId, &current, &iter);
+ priv->selectedTorrentId, &current, &iter);
else
current = trg_client_get_session(client);
limit =
- json_object_get_boolean_member(current, enabledKey) ? json_object_get_int_member(
- current, speedKey) :
- -1;
+ json_object_get_boolean_member(current,
+ enabledKey) ?
+ json_object_get_int_member(current, speedKey) : -1;
toplevel = gtk_image_menu_item_new_with_label(GTK_STOCK_NETWORK);
gtk_image_menu_item_set_use_stock(GTK_IMAGE_MENU_ITEM(toplevel), TRUE);
gtk_image_menu_item_set_always_show_image(GTK_IMAGE_MENU_ITEM
- (toplevel), TRUE);
+ (toplevel), TRUE);
gtk_menu_item_set_label(GTK_MENU_ITEM(toplevel), title);
menu = gtk_menu_new();
g_object_set_data_full(G_OBJECT(menu), "speedKey", g_strdup(speedKey),
- g_free);
- g_object_set_data_full(G_OBJECT(menu), "enabledKey", g_strdup(enabledKey),
- g_free);
+ g_free);
+ g_object_set_data_full(G_OBJECT(menu), "enabledKey",
+ g_strdup(enabledKey), g_free);
g_object_set_data_full(G_OBJECT(menu), "limit-ids", ids,
- (GDestroyNotify) json_array_unref);
+ (GDestroyNotify) json_array_unref);
item = gtk_check_menu_item_new_with_label(_("No Limit"));
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(item), limit < 0);
@@ -1643,7 +1841,8 @@ static GtkWidget *limit_menu_new(TrgMainWindow * win, gchar * title,
g_signal_connect(item, "activate", G_CALLBACK(set_limit_cb), win);
gtk_menu_shell_append(GTK_MENU_SHELL(menu), item);
- gtk_menu_shell_append(GTK_MENU_SHELL(menu), gtk_separator_menu_item_new());
+ gtk_menu_shell_append(GTK_MENU_SHELL(menu),
+ gtk_separator_menu_item_new());
limit_item_new(win, menu, limit, 0);
limit_item_new(win, menu, limit, 5);
@@ -1670,24 +1869,24 @@ static GtkWidget *limit_menu_new(TrgMainWindow * win, gchar * title,
return toplevel;
}
-static void exec_cmd_cb(GtkWidget * w, gpointer data) {
+static void exec_cmd_cb(GtkWidget * w, gpointer data)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data);
JsonObject *cmd_obj = (JsonObject *) g_object_get_data(G_OBJECT(w),
- "cmd-object");
- GtkTreeSelection *selection = gtk_tree_view_get_selection(
- GTK_TREE_VIEW(priv->torrentTreeView));
+ "cmd-object");
+ GtkTreeSelection *selection =
+ gtk_tree_view_get_selection(GTK_TREE_VIEW(priv->torrentTreeView));
GtkTreeModel *model;
GList *selectedRows = gtk_tree_selection_get_selected_rows(selection,
- &model);
+ &model);
GError *cmd_error = NULL;
gchar *cmd_line, **argv;
- cmd_line = build_remote_exec_cmd(
- priv->client,
- model,
- selectedRows,
- json_object_get_string_member(cmd_obj,
- TRG_PREFS_KEY_EXEC_COMMANDS_SUBKEY_CMD));
+ cmd_line = build_remote_exec_cmd(priv->client,
+ model,
+ selectedRows,
+ json_object_get_string_member(cmd_obj,
+ TRG_PREFS_KEY_EXEC_COMMANDS_SUBKEY_CMD));
g_debug("Exec: %s", cmd_line);
@@ -1699,7 +1898,7 @@ static void exec_cmd_cb(GtkWidget * w, gpointer data) {
g_shell_parse_argv(cmd_line, NULL, &argv, NULL);
g_spawn_async(NULL, argv, NULL, G_SPAWN_SEARCH_PATH, NULL, NULL, NULL,
- &cmd_error);
+ &cmd_error);
g_list_foreach(selectedRows, (GFunc) gtk_tree_path_free, NULL);
g_list_free(selectedRows);
@@ -1708,8 +1907,10 @@ static void exec_cmd_cb(GtkWidget * w, gpointer data) {
if (cmd_error) {
GtkWidget *dialog = gtk_message_dialog_new(GTK_WINDOW(data),
- GTK_DIALOG_MODAL, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, "%s",
- cmd_error->message);
+ GTK_DIALOG_MODAL,
+ GTK_MESSAGE_ERROR,
+ GTK_BUTTONS_OK, "%s",
+ cmd_error->message);
gtk_window_set_title(GTK_WINDOW(dialog), _("Error"));
gtk_dialog_run(GTK_DIALOG(dialog));
gtk_widget_destroy(dialog);
@@ -1718,7 +1919,8 @@ static void exec_cmd_cb(GtkWidget * w, gpointer data) {
}
static void trg_torrent_tv_view_menu(GtkWidget * treeview,
- GdkEventButton * event, gpointer data) {
+ GdkEventButton * event, gpointer data)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data);
TrgPrefs *prefs = trg_client_get_prefs(priv->client);
GtkWidget *menu;
@@ -1730,24 +1932,32 @@ static void trg_torrent_tv_view_menu(GtkWidget * treeview,
ids = build_json_id_array(TRG_TORRENT_TREE_VIEW(treeview));
trg_imagemenuitem_new(GTK_MENU_SHELL(menu), _("Properties"),
- GTK_STOCK_PROPERTIES, TRUE, G_CALLBACK(open_props_cb), data);
+ GTK_STOCK_PROPERTIES, TRUE,
+ G_CALLBACK(open_props_cb), data);
trg_imagemenuitem_new(GTK_MENU_SHELL(menu), _("Resume"),
- GTK_STOCK_MEDIA_PLAY, TRUE, G_CALLBACK(resume_cb), data);
+ GTK_STOCK_MEDIA_PLAY, TRUE,
+ G_CALLBACK(resume_cb), data);
trg_imagemenuitem_new(GTK_MENU_SHELL(menu), _("Pause"),
- GTK_STOCK_MEDIA_PAUSE, TRUE, G_CALLBACK(pause_cb), data);
- trg_imagemenuitem_new(GTK_MENU_SHELL(menu), _("Verify"), GTK_STOCK_REFRESH,
- TRUE, G_CALLBACK(verify_cb), data);
+ GTK_STOCK_MEDIA_PAUSE, TRUE,
+ G_CALLBACK(pause_cb), data);
+ trg_imagemenuitem_new(GTK_MENU_SHELL(menu), _("Verify"),
+ GTK_STOCK_REFRESH, TRUE, G_CALLBACK(verify_cb),
+ data);
trg_imagemenuitem_new(GTK_MENU_SHELL(menu), _("Re-announce"),
- GTK_STOCK_REFRESH, TRUE, G_CALLBACK(reannounce_cb), data);
- trg_imagemenuitem_new(GTK_MENU_SHELL(menu), _("Move"), GTK_STOCK_HARDDISK,
- TRUE, G_CALLBACK(move_cb), data);
- trg_imagemenuitem_new(GTK_MENU_SHELL(menu), _("Remove"), GTK_STOCK_REMOVE,
- TRUE, G_CALLBACK(remove_cb), data);
+ GTK_STOCK_REFRESH, TRUE,
+ G_CALLBACK(reannounce_cb), data);
+ trg_imagemenuitem_new(GTK_MENU_SHELL(menu), _("Move"),
+ GTK_STOCK_HARDDISK, TRUE, G_CALLBACK(move_cb),
+ data);
+ trg_imagemenuitem_new(GTK_MENU_SHELL(menu), _("Remove"),
+ GTK_STOCK_REMOVE, TRUE, G_CALLBACK(remove_cb),
+ data);
trg_imagemenuitem_new(GTK_MENU_SHELL(menu), _("Remove & Delete"),
- GTK_STOCK_CLEAR, TRUE, G_CALLBACK(delete_cb), data);
+ GTK_STOCK_CLEAR, TRUE, G_CALLBACK(delete_cb),
+ data);
cmds = trg_prefs_get_array(prefs, TRG_PREFS_KEY_EXEC_COMMANDS,
- TRG_PREFS_CONNECTION);
+ TRG_PREFS_CONNECTION);
n_cmds = json_array_get_length(cmds);
if (n_cmds > 0) {
@@ -1757,71 +1967,84 @@ static void trg_torrent_tv_view_menu(GtkWidget * treeview,
if (n_cmds < 3) {
gtk_menu_shell_append(GTK_MENU_SHELL(menu),
- gtk_separator_menu_item_new());
+ gtk_separator_menu_item_new());
cmds_shell = GTK_MENU_SHELL(menu);
} else {
GtkImageMenuItem *cmds_menu =
- GTK_IMAGE_MENU_ITEM(gtk_image_menu_item_new_with_label
- (GTK_STOCK_EXECUTE));
+ GTK_IMAGE_MENU_ITEM(gtk_image_menu_item_new_with_label
+ (GTK_STOCK_EXECUTE));
gtk_image_menu_item_set_use_stock(cmds_menu, TRUE);
gtk_image_menu_item_set_always_show_image(cmds_menu, TRUE);
- gtk_menu_item_set_label(GTK_MENU_ITEM(cmds_menu), _("Actions"));
+ gtk_menu_item_set_label(GTK_MENU_ITEM(cmds_menu),
+ _("Actions"));
cmds_shell = GTK_MENU_SHELL(gtk_menu_new());
gtk_menu_item_set_submenu(GTK_MENU_ITEM(cmds_menu),
- GTK_WIDGET(cmds_shell));
- gtk_menu_shell_append(GTK_MENU_SHELL(menu), GTK_WIDGET(cmds_menu));
+ GTK_WIDGET(cmds_shell));
+ gtk_menu_shell_append(GTK_MENU_SHELL(menu),
+ GTK_WIDGET(cmds_menu));
}
for (cmds_li = cmds_list; cmds_li; cmds_li = g_list_next(cmds_li)) {
- JsonObject *cmd_obj = json_node_get_object(
- (JsonNode *) cmds_li->data);
+ JsonObject *cmd_obj = json_node_get_object((JsonNode *)
+ cmds_li->data);
const gchar *cmd_label = json_object_get_string_member(cmd_obj,
- "label");
+ "label");
GtkWidget *item = trg_imagemenuitem_new(cmds_shell, cmd_label,
- GTK_STOCK_EXECUTE, TRUE, G_CALLBACK
- (exec_cmd_cb), data);
+ GTK_STOCK_EXECUTE,
+ TRUE,
+ G_CALLBACK
+ (exec_cmd_cb), data);
g_object_set_data(G_OBJECT(item), "cmd-object", cmd_obj);
}
g_list_free(cmds_list);
}
- gtk_menu_shell_append(GTK_MENU_SHELL(menu), gtk_separator_menu_item_new());
+ gtk_menu_shell_append(GTK_MENU_SHELL(menu),
+ gtk_separator_menu_item_new());
if (priv->queuesEnabled) {
trg_imagemenuitem_new(GTK_MENU_SHELL(menu), _("Start Now"),
- GTK_STOCK_MEDIA_PLAY, TRUE, G_CALLBACK(start_now_cb), data);
+ GTK_STOCK_MEDIA_PLAY, TRUE,
+ G_CALLBACK(start_now_cb), data);
trg_imagemenuitem_new(GTK_MENU_SHELL(menu), _("Move Up Queue"),
- GTK_STOCK_GO_UP, TRUE, G_CALLBACK(up_queue_cb), data);
+ GTK_STOCK_GO_UP, TRUE,
+ G_CALLBACK(up_queue_cb), data);
trg_imagemenuitem_new(GTK_MENU_SHELL(menu), _("Move Down Queue"),
- GTK_STOCK_GO_DOWN, TRUE, G_CALLBACK(down_queue_cb), data);
+ GTK_STOCK_GO_DOWN, TRUE,
+ G_CALLBACK(down_queue_cb), data);
trg_imagemenuitem_new(GTK_MENU_SHELL(menu), _("Bottom Of Queue"),
- GTK_STOCK_GOTO_BOTTOM, TRUE, G_CALLBACK(bottom_queue_cb), data);
+ GTK_STOCK_GOTO_BOTTOM, TRUE,
+ G_CALLBACK(bottom_queue_cb), data);
trg_imagemenuitem_new(GTK_MENU_SHELL(menu), _("Top Of Queue"),
- GTK_STOCK_GOTO_TOP, TRUE, G_CALLBACK(top_queue_cb), data);
+ GTK_STOCK_GOTO_TOP, TRUE,
+ G_CALLBACK(top_queue_cb), data);
gtk_menu_shell_append(GTK_MENU_SHELL(menu),
- gtk_separator_menu_item_new());
+ gtk_separator_menu_item_new());
}
- gtk_menu_shell_append(
- GTK_MENU_SHELL(menu),
- limit_menu_new(TRG_MAIN_WINDOW(data), _("Down Limit"),
- FIELD_DOWNLOAD_LIMITED, FIELD_DOWNLOAD_LIMIT, ids));
- gtk_menu_shell_append(
- GTK_MENU_SHELL(menu),
- limit_menu_new(TRG_MAIN_WINDOW(data), _("Up Limit"),
- FIELD_UPLOAD_LIMITED, FIELD_UPLOAD_LIMIT, ids));
+ gtk_menu_shell_append(GTK_MENU_SHELL(menu),
+ limit_menu_new(TRG_MAIN_WINDOW(data),
+ _("Down Limit"),
+ FIELD_DOWNLOAD_LIMITED,
+ FIELD_DOWNLOAD_LIMIT, ids));
+ gtk_menu_shell_append(GTK_MENU_SHELL(menu),
+ limit_menu_new(TRG_MAIN_WINDOW(data),
+ _("Up Limit"),
+ FIELD_UPLOAD_LIMITED,
+ FIELD_UPLOAD_LIMIT, ids));
gtk_widget_show_all(menu);
gtk_menu_popup(GTK_MENU(menu), NULL, NULL, NULL, NULL,
- (event != NULL) ? event->button : 0,
- gdk_event_get_time((GdkEvent *) event));
- }
+ (event != NULL) ? event->button : 0,
+ gdk_event_get_time((GdkEvent *) event));
+}
static GtkMenu *trg_status_icon_view_menu(TrgMainWindow * win,
- const gchar * msg) {
+ const gchar * msg)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(win);
TrgPrefs *prefs = trg_client_get_prefs(priv->client);
gboolean connected = trg_client_is_connected(priv->client);
@@ -1834,13 +2057,15 @@ static GtkMenu *trg_status_icon_view_menu(TrgMainWindow * win,
gtk_menu_shell_append(GTK_MENU_SHELL(menu), priv->iconStatusItem);
if (connected) {
- priv->iconDownloadingItem = gtk_menu_item_new_with_label(
- _("Updating..."));
+ priv->iconDownloadingItem =
+ gtk_menu_item_new_with_label(_("Updating..."));
gtk_widget_set_visible(priv->iconDownloadingItem, FALSE);
gtk_widget_set_sensitive(priv->iconDownloadingItem, FALSE);
- gtk_menu_shell_append(GTK_MENU_SHELL(menu), priv->iconDownloadingItem);
+ gtk_menu_shell_append(GTK_MENU_SHELL(menu),
+ priv->iconDownloadingItem);
- priv->iconSeedingItem = gtk_menu_item_new_with_label(_("Updating..."));
+ priv->iconSeedingItem =
+ gtk_menu_item_new_with_label(_("Updating..."));
gtk_widget_set_visible(priv->iconSeedingItem, FALSE);
gtk_widget_set_sensitive(priv->iconSeedingItem, FALSE);
gtk_menu_shell_append(GTK_MENU_SHELL(menu), priv->iconSeedingItem);
@@ -1853,45 +2078,48 @@ static GtkMenu *trg_status_icon_view_menu(TrgMainWindow * win,
connect = gtk_image_menu_item_new_with_label(GTK_STOCK_CONNECT);
gtk_image_menu_item_set_use_stock(GTK_IMAGE_MENU_ITEM(connect), TRUE);
gtk_image_menu_item_set_always_show_image(GTK_IMAGE_MENU_ITEM(connect),
- TRUE);
+ TRUE);
gtk_menu_item_set_label(GTK_MENU_ITEM(connect), _("Connect"));
gtk_menu_item_set_submenu(GTK_MENU_ITEM(connect),
- trg_menu_bar_file_connect_menu_new(win, prefs));
+ trg_menu_bar_file_connect_menu_new(win,
+ prefs));
gtk_menu_shell_append(GTK_MENU_SHELL(menu), connect);
if (connected) {
trg_imagemenuitem_new(GTK_MENU_SHELL(menu), _("Disconnect"),
- GTK_STOCK_DISCONNECT, connected, G_CALLBACK(disconnect_cb),
- win);
+ GTK_STOCK_DISCONNECT, connected,
+ G_CALLBACK(disconnect_cb), win);
- trg_imagemenuitem_new(GTK_MENU_SHELL(menu), _("Add"), GTK_STOCK_ADD,
- connected, G_CALLBACK(add_cb), win);
+ trg_imagemenuitem_new(GTK_MENU_SHELL(menu), _("Add"),
+ GTK_STOCK_ADD, connected, G_CALLBACK(add_cb),
+ win);
trg_imagemenuitem_new(GTK_MENU_SHELL(menu), _("Add from URL"),
- GTK_STOCK_ADD, connected, G_CALLBACK(add_url_cb), win);
+ GTK_STOCK_ADD, connected,
+ G_CALLBACK(add_url_cb), win);
trg_imagemenuitem_new(GTK_MENU_SHELL(menu), _("Resume All"),
- GTK_STOCK_MEDIA_PLAY, connected, G_CALLBACK(resume_all_cb),
- win);
+ GTK_STOCK_MEDIA_PLAY, connected,
+ G_CALLBACK(resume_all_cb), win);
trg_imagemenuitem_new(GTK_MENU_SHELL(menu), _("Pause All"),
- GTK_STOCK_MEDIA_PAUSE, connected, G_CALLBACK(pause_all_cb),
- win);
-
- gtk_menu_shell_append(
- GTK_MENU_SHELL(menu),
- limit_menu_new(win, _("Down Limit"),
- SGET_SPEED_LIMIT_DOWN_ENABLED, SGET_SPEED_LIMIT_DOWN,
- NULL));
- gtk_menu_shell_append(
- GTK_MENU_SHELL(menu),
- limit_menu_new(win, _("Up Limit"), SGET_SPEED_LIMIT_UP_ENABLED,
- SGET_SPEED_LIMIT_UP, NULL));
+ GTK_STOCK_MEDIA_PAUSE, connected,
+ G_CALLBACK(pause_all_cb), win);
+
+ gtk_menu_shell_append(GTK_MENU_SHELL(menu),
+ limit_menu_new(win, _("Down Limit"),
+ SGET_SPEED_LIMIT_DOWN_ENABLED,
+ SGET_SPEED_LIMIT_DOWN, NULL));
+ gtk_menu_shell_append(GTK_MENU_SHELL(menu),
+ limit_menu_new(win, _("Up Limit"),
+ SGET_SPEED_LIMIT_UP_ENABLED,
+ SGET_SPEED_LIMIT_UP, NULL));
}
- gtk_menu_shell_append(GTK_MENU_SHELL(menu), gtk_separator_menu_item_new());
- trg_imagemenuitem_new(GTK_MENU_SHELL(menu), _("Quit"), GTK_STOCK_QUIT, TRUE,
- G_CALLBACK(quit_cb), win);
+ gtk_menu_shell_append(GTK_MENU_SHELL(menu),
+ gtk_separator_menu_item_new());
+ trg_imagemenuitem_new(GTK_MENU_SHELL(menu), _("Quit"), GTK_STOCK_QUIT,
+ TRUE, G_CALLBACK(quit_cb), win);
gtk_widget_show_all(menu);
@@ -1899,7 +2127,9 @@ static GtkMenu *trg_status_icon_view_menu(TrgMainWindow * win,
}
static gboolean torrent_tv_button_pressed_cb(GtkWidget * treeview,
- GdkEventButton * event, gpointer userdata) {
+ GdkEventButton * event,
+ gpointer userdata)
+{
GtkTreeSelection *selection;
GtkTreePath *path;
@@ -1907,7 +2137,8 @@ static gboolean torrent_tv_button_pressed_cb(GtkWidget * treeview,
selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(treeview));
if (gtk_tree_view_get_path_at_pos(GTK_TREE_VIEW(treeview),
- (gint) event->x, (gint) event->y, &path, NULL, NULL, NULL)) {
+ (gint) event->x, (gint) event->y,
+ &path, NULL, NULL, NULL)) {
if (!gtk_tree_selection_path_is_selected(selection, path)) {
gtk_tree_selection_unselect_all(selection);
gtk_tree_selection_select_path(selection, path);
@@ -1924,24 +2155,27 @@ static gboolean torrent_tv_button_pressed_cb(GtkWidget * treeview,
}
static gboolean torrent_tv_popup_menu_cb(GtkWidget * treeview,
- gpointer userdata) {
+ gpointer userdata)
+{
trg_torrent_tv_view_menu(treeview, NULL, userdata);
return TRUE;
}
static gboolean window_state_event(GtkWidget * widget,
- GdkEventWindowState * event, gpointer trayIcon) {
+ GdkEventWindowState * event,
+ gpointer trayIcon)
+{
#ifndef HAVE_LIBAPPINDICATOR
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(widget);
TrgPrefs *prefs = trg_client_get_prefs(priv->client);
- if (priv->statusIcon && event->changed_mask == GDK_WINDOW_STATE_ICONIFIED
- && (event->new_window_state == GDK_WINDOW_STATE_ICONIFIED
- || event->new_window_state
- == (GDK_WINDOW_STATE_ICONIFIED
- | GDK_WINDOW_STATE_MAXIMIZED))
- && trg_prefs_get_bool(prefs, TRG_PREFS_KEY_SYSTEM_TRAY_MINIMISE,
- TRG_PREFS_GLOBAL)) {
+ if (priv->statusIcon
+ && event->changed_mask == GDK_WINDOW_STATE_ICONIFIED
+ && (event->new_window_state == GDK_WINDOW_STATE_ICONIFIED
+ || event->new_window_state ==
+ (GDK_WINDOW_STATE_ICONIFIED | GDK_WINDOW_STATE_MAXIMIZED))
+ && trg_prefs_get_bool(prefs, TRG_PREFS_KEY_SYSTEM_TRAY_MINIMISE,
+ TRG_PREFS_GLOBAL)) {
gtk_widget_hide(GTK_WIDGET(widget));
}
@@ -1951,11 +2185,12 @@ static gboolean window_state_event(GtkWidget * widget,
#endif
}
-void trg_main_window_remove_status_icon(TrgMainWindow * win) {
+void trg_main_window_remove_status_icon(TrgMainWindow * win)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(win);
#ifdef HAVE_LIBAPPINDICATOR
if (priv->appIndicator)
- g_object_unref(G_OBJECT(priv->appIndicator));
+ g_object_unref(G_OBJECT(priv->appIndicator));
priv->appIndicator = NULL;
#else
@@ -1968,13 +2203,16 @@ void trg_main_window_remove_status_icon(TrgMainWindow * win) {
}
#ifndef TRG_NO_GRAPH
-void trg_main_window_add_graph(TrgMainWindow * win, gboolean show) {
+void trg_main_window_add_graph(TrgMainWindow * win, gboolean show)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(win);
- priv->graph = trg_torrent_graph_new(gtk_widget_get_style(priv->notebook));
- priv->graphNotebookIndex = gtk_notebook_append_page(
- GTK_NOTEBOOK(priv->notebook), GTK_WIDGET(priv->graph),
- gtk_label_new(_("Graph")));
+ priv->graph =
+ trg_torrent_graph_new(gtk_widget_get_style(priv->notebook));
+ priv->graphNotebookIndex =
+ gtk_notebook_append_page(GTK_NOTEBOOK(priv->notebook),
+ GTK_WIDGET(priv->graph),
+ gtk_label_new(_("Graph")));
if (show)
gtk_widget_show_all(priv->notebook);
@@ -1982,27 +2220,29 @@ void trg_main_window_add_graph(TrgMainWindow * win, gboolean show) {
trg_torrent_graph_start(priv->graph);
}
-void trg_main_window_remove_graph(TrgMainWindow * win) {
+void trg_main_window_remove_graph(TrgMainWindow * win)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(win);
if (priv->graphNotebookIndex >= 0) {
gtk_notebook_remove_page(GTK_NOTEBOOK(priv->notebook),
- priv->graphNotebookIndex);
+ priv->graphNotebookIndex);
priv->graphNotebookIndex = -1;
}
}
#endif
-void trg_main_window_add_status_icon(TrgMainWindow * win) {
+void trg_main_window_add_status_icon(TrgMainWindow * win)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(win);
#ifdef HAVE_LIBAPPINDICATOR
if ((priv->appIndicator =
- app_indicator_new(PACKAGE_NAME, PACKAGE_NAME,
- APP_INDICATOR_CATEGORY_APPLICATION_STATUS))) {
+ app_indicator_new(PACKAGE_NAME, PACKAGE_NAME,
+ APP_INDICATOR_CATEGORY_APPLICATION_STATUS))) {
app_indicator_set_status(priv->appIndicator,
- APP_INDICATOR_STATUS_ACTIVE);
+ APP_INDICATOR_STATUS_ACTIVE);
app_indicator_set_menu(priv->appIndicator,
- trg_status_icon_view_menu(win, NULL));
+ trg_status_icon_view_menu(win, NULL));
}
#else
if (!priv->icon)
@@ -2010,35 +2250,42 @@ void trg_main_window_add_status_icon(TrgMainWindow * win) {
priv->statusIcon = gtk_status_icon_new_from_pixbuf(priv->icon);
gtk_status_icon_set_screen(priv->statusIcon,
- gtk_window_get_screen(GTK_WINDOW(win)));
+ gtk_window_get_screen(GTK_WINDOW(win)));
g_signal_connect(priv->statusIcon, "activate",
- G_CALLBACK(status_icon_activated), win);
+ G_CALLBACK(status_icon_activated), win);
g_signal_connect(priv->statusIcon, "button-press-event",
- G_CALLBACK(status_icon_button_press_event), win);
+ G_CALLBACK(status_icon_button_press_event), win);
g_signal_connect(priv->statusIcon, "popup-menu",
- G_CALLBACK(trg_status_icon_popup_menu_cb), win);
+ G_CALLBACK(trg_status_icon_popup_menu_cb), win);
gtk_status_icon_set_visible(priv->statusIcon, TRUE);
#endif
- connchange_whatever_statusicon(win, trg_client_is_connected(priv->client));
+ connchange_whatever_statusicon(win,
+ trg_client_is_connected(priv->client));
}
-TrgStateSelector *trg_main_window_get_state_selector(TrgMainWindow * win) {
+TrgStateSelector *trg_main_window_get_state_selector(TrgMainWindow * win)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(win);
return priv->stateSelector;
}
static gboolean trg_main_window_config_event(GtkWidget * widget,
- GdkEvent * event, gpointer user_data G_GNUC_UNUSED) {
+ GdkEvent * event,
+ gpointer user_data
+ G_GNUC_UNUSED)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(widget);
priv->width = event->configure.width;
priv->height = event->configure.height;
return FALSE;
}
-static void trg_client_session_updated_cb(TrgClient * tc, JsonObject * session,
- gpointer data) {
+static void trg_client_session_updated_cb(TrgClient * tc,
+ JsonObject * session,
+ gpointer data)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data);
gboolean queuesEnabled;
@@ -2046,9 +2293,9 @@ static void trg_client_session_updated_cb(TrgClient * tc, JsonObject * session,
if (json_object_has_member(session, SGET_DOWNLOAD_QUEUE_ENABLED)) {
queuesEnabled = json_object_get_boolean_member(session,
- SGET_DOWNLOAD_QUEUE_ENABLED)
- || json_object_get_boolean_member(session,
- SGET_SEED_QUEUE_ENABLED);
+ SGET_DOWNLOAD_QUEUE_ENABLED)
+ || json_object_get_boolean_member(session,
+ SGET_SEED_QUEUE_ENABLED);
} else {
queuesEnabled = FALSE;
}
@@ -2056,7 +2303,7 @@ static void trg_client_session_updated_cb(TrgClient * tc, JsonObject * session,
if (priv->queuesEnabled != queuesEnabled) {
trg_menu_bar_set_supports_queues(priv->menuBar, queuesEnabled);
trg_state_selector_set_queues_enabled(priv->stateSelector,
- queuesEnabled);
+ queuesEnabled);
}
priv->queuesEnabled = queuesEnabled;
@@ -2065,27 +2312,29 @@ static void trg_client_session_updated_cb(TrgClient * tc, JsonObject * session,
/* Drag & Drop support */
static GtkTargetEntry target_list[] = {
/* datatype (string), restrictions on DnD (GtkTargetFlags), datatype (int) */
-{ "text/uri-list", GTK_TARGET_OTHER_APP | GTK_TARGET_OTHER_WIDGET, 0 } };
+ {"text/uri-list", GTK_TARGET_OTHER_APP | GTK_TARGET_OTHER_WIDGET, 0}
+};
static guint n_targets = G_N_ELEMENTS(target_list);
static void on_dropped_file(GtkWidget * widget, GdkDragContext * context,
- gint x, gint y, GtkSelectionData * data, guint info, guint time,
- gpointer user_data) {
+ gint x, gint y, GtkSelectionData * data,
+ guint info, guint time, gpointer user_data)
+{
TrgMainWindow *win = user_data;
if ((gtk_selection_data_get_length(data) >= 0)
- && (gtk_selection_data_get_format(data) == 8)) {
+ && (gtk_selection_data_get_format(data) == 8)) {
if (gdk_drag_context_get_actions(context) == GDK_ACTION_MOVE) {
- g_debug("GDK_ACTION_MOVE");
gchar **uri_list = gtk_selection_data_get_uris(data);
guint num_files = g_strv_length(uri_list);
gchar **file_list = g_new0(gchar *, num_files + 1);
int i;
- for (i = 0; i < num_files; i++) {
- file_list[i] = g_filename_from_uri(uri_list[i], NULL, NULL);
- g_debug("to be added: %s", file_list[i]);
- }
+
+ for (i = 0; i < num_files; i++)
+ file_list[i] =
+ g_filename_from_uri(uri_list[i], NULL, NULL);
+
g_strfreev(uri_list);
gtk_drag_finish(context, TRUE, FALSE, time);
trg_add_from_filename(win, file_list);
@@ -2096,7 +2345,10 @@ static void on_dropped_file(GtkWidget * widget, GdkDragContext * context,
}
static GObject *trg_main_window_constructor(GType type,
- guint n_construct_properties, GObjectConstructParam * construct_params) {
+ guint n_construct_properties,
+ GObjectConstructParam *
+ construct_params)
+{
TrgMainWindow *self;
TrgMainWindowPrivate *priv;
GtkWidget *w;
@@ -2108,9 +2360,9 @@ static GObject *trg_main_window_constructor(GType type,
TrgPrefs *prefs;
self = TRG_MAIN_WINDOW(G_OBJECT_CLASS
- (trg_main_window_parent_class)->constructor
- (type, n_construct_properties,
- construct_params));
+ (trg_main_window_parent_class)->constructor
+ (type, n_construct_properties,
+ construct_params));
priv = TRG_MAIN_WINDOW_GET_PRIVATE(self);
priv->queuesEnabled = TRUE;
@@ -2120,7 +2372,8 @@ static GObject *trg_main_window_constructor(GType type,
theme = gtk_icon_theme_get_default();
register_my_icons(theme);
priv->icon = gtk_icon_theme_load_icon(theme, PACKAGE_NAME, 48,
- GTK_ICON_LOOKUP_USE_BUILTIN, NULL);
+ GTK_ICON_LOOKUP_USE_BUILTIN,
+ NULL);
#ifdef HAVE_LIBNOTIFY
notify_init(PACKAGE_NAME);
@@ -2131,69 +2384,72 @@ static GObject *trg_main_window_constructor(GType type,
gtk_window_set_title(GTK_WINDOW(self), _("Transmission Remote"));
gtk_window_set_default_size(GTK_WINDOW(self), 1000, 600);
- g_signal_connect(G_OBJECT(self), "delete-event", G_CALLBACK(delete_event),
- NULL);
+ g_signal_connect(G_OBJECT(self), "delete-event",
+ G_CALLBACK(delete_event), NULL);
g_signal_connect(G_OBJECT(self), "destroy", G_CALLBACK(destroy_window),
- NULL);
+ NULL);
g_signal_connect(G_OBJECT(self), "window-state-event",
- G_CALLBACK(window_state_event), NULL);
+ G_CALLBACK(window_state_event), NULL);
g_signal_connect(G_OBJECT(self), "configure-event",
- G_CALLBACK(trg_main_window_config_event), NULL);
+ G_CALLBACK(trg_main_window_config_event), NULL);
priv->torrentModel = trg_torrent_model_new();
trg_client_set_torrent_table(priv->client,
- get_torrent_table(priv->torrentModel));
+ get_torrent_table(priv->torrentModel));
g_signal_connect(priv->torrentModel, "torrent-completed",
- G_CALLBACK(on_torrent_completed), self);
+ G_CALLBACK(on_torrent_completed), self);
g_signal_connect(priv->torrentModel, "torrent-added",
- G_CALLBACK(on_torrent_added), self);
+ G_CALLBACK(on_torrent_added), self);
- priv->sortedTorrentModel = gtk_tree_model_sort_new_with_model(GTK_TREE_MODEL
- (priv->torrentModel));
+ priv->sortedTorrentModel =
+ gtk_tree_model_sort_new_with_model(GTK_TREE_MODEL
+ (priv->torrentModel));
- priv->filteredTorrentModel = trg_sortable_filtered_model_new(
- GTK_TREE_SORTABLE
- (priv->sortedTorrentModel), NULL);
+ priv->filteredTorrentModel =
+ trg_sortable_filtered_model_new(GTK_TREE_SORTABLE
+ (priv->sortedTorrentModel), NULL);
gtk_tree_model_filter_set_visible_func(GTK_TREE_MODEL_FILTER
- (priv->filteredTorrentModel), trg_torrent_tree_view_visible_func,
- self, NULL);
+ (priv->filteredTorrentModel),
+ trg_torrent_tree_view_visible_func,
+ self, NULL);
priv->torrentTreeView = trg_main_window_torrent_tree_view_new(self,
- priv->filteredTorrentModel);
+ priv->
+ filteredTorrentModel);
g_signal_connect(priv->torrentTreeView, "popup-menu",
- G_CALLBACK(torrent_tv_popup_menu_cb), self);
+ G_CALLBACK(torrent_tv_popup_menu_cb), self);
g_signal_connect(priv->torrentTreeView, "button-press-event",
- G_CALLBACK(torrent_tv_button_pressed_cb), self);
+ G_CALLBACK(torrent_tv_button_pressed_cb), self);
g_signal_connect(priv->torrentTreeView, "row-activated",
- G_CALLBACK(torrent_tv_onRowActivated), self);
+ G_CALLBACK(torrent_tv_onRowActivated), self);
outerVbox = gtk_vbox_new(FALSE, 0);
gtk_container_add(GTK_CONTAINER(self), outerVbox);
priv->menuBar = trg_main_window_menu_bar_new(self);
- gtk_box_pack_start(GTK_BOX(outerVbox), GTK_WIDGET(priv->menuBar), FALSE,
- FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(outerVbox), GTK_WIDGET(priv->menuBar),
+ FALSE, FALSE, 0);
toolbarHbox = gtk_hbox_new(FALSE, 0);
priv->toolBar = trg_main_window_toolbar_new(self);
- gtk_box_pack_start(GTK_BOX(toolbarHbox), GTK_WIDGET(priv->toolBar), TRUE,
- TRUE, 0);
+ gtk_box_pack_start(GTK_BOX(toolbarHbox), GTK_WIDGET(priv->toolBar),
+ TRUE, TRUE, 0);
w = gtk_entry_new();
gtk_entry_set_icon_from_stock(GTK_ENTRY(w), GTK_ENTRY_ICON_SECONDARY,
- GTK_STOCK_CLEAR);
+ GTK_STOCK_CLEAR);
g_signal_connect(w, "icon-release", G_CALLBACK(clear_filter_entry_cb),
- NULL);
+ NULL);
gtk_box_pack_start(GTK_BOX(toolbarHbox), w, FALSE, FALSE, 0);
g_object_set(w, "secondary-icon-sensitive", FALSE, NULL);
priv->filterEntry = w;
g_signal_connect(G_OBJECT(priv->filterEntry), "changed",
- G_CALLBACK(entry_filter_changed_cb), self);
+ G_CALLBACK(entry_filter_changed_cb), self);
gtk_box_pack_start(GTK_BOX(outerVbox), GTK_WIDGET(toolbarHbox), FALSE,
- FALSE, 0);
+ FALSE, 0);
priv->vpaned = gtk_vpaned_new();
priv->hpaned = gtk_hpaned_new();
@@ -2201,24 +2457,27 @@ static GObject *trg_main_window_constructor(GType type,
gtk_paned_pack1(GTK_PANED(priv->vpaned), priv->hpaned, TRUE, TRUE);
priv->stateSelector = trg_state_selector_new(priv->client,
- priv->torrentModel);
- priv->stateSelectorScroller = my_scrolledwin_new(
- GTK_WIDGET(priv->stateSelector));
- gtk_paned_pack1(GTK_PANED(priv->hpaned), priv->stateSelectorScroller, FALSE,
- FALSE);
+ priv->torrentModel);
+ priv->stateSelectorScroller =
+ my_scrolledwin_new(GTK_WIDGET(priv->stateSelector));
+ gtk_paned_pack1(GTK_PANED(priv->hpaned), priv->stateSelectorScroller,
+ FALSE, FALSE);
gtk_paned_pack2(GTK_PANED(priv->hpaned), my_scrolledwin_new(GTK_WIDGET
- (priv->torrentTreeView)), TRUE, TRUE);
+ (priv->
+ torrentTreeView)),
+ TRUE, TRUE);
- g_signal_connect(G_OBJECT(priv->stateSelector), "torrent-state-changed",
- G_CALLBACK(torrent_state_selection_changed),
- priv->filteredTorrentModel);
+ g_signal_connect(G_OBJECT(priv->stateSelector),
+ "torrent-state-changed",
+ G_CALLBACK(torrent_state_selection_changed),
+ priv->filteredTorrentModel);
priv->notebook = trg_main_window_notebook_new(self);
gtk_paned_pack2(GTK_PANED(priv->vpaned), priv->notebook, FALSE, FALSE);
tray = trg_prefs_get_bool(prefs, TRG_PREFS_KEY_SYSTEM_TRAY,
- TRG_PREFS_GLOBAL);
+ TRG_PREFS_GLOBAL);
if (tray)
trg_main_window_add_status_icon(self);
else
@@ -2226,18 +2485,18 @@ static GObject *trg_main_window_constructor(GType type,
priv->statusBar = trg_status_bar_new(self, priv->client);
g_signal_connect(priv->client, "session-updated",
- G_CALLBACK(trg_client_session_updated_cb), self);
+ G_CALLBACK(trg_client_session_updated_cb), self);
- gtk_box_pack_start(GTK_BOX(outerVbox), GTK_WIDGET(priv->statusBar), FALSE,
- FALSE, 2);
+ gtk_box_pack_start(GTK_BOX(outerVbox), GTK_WIDGET(priv->statusBar),
+ FALSE, FALSE, 2);
width = trg_prefs_get_int(prefs, TRG_PREFS_KEY_WINDOW_WIDTH,
- TRG_PREFS_GLOBAL);
+ TRG_PREFS_GLOBAL);
height = trg_prefs_get_int(prefs, TRG_PREFS_KEY_WINDOW_HEIGHT,
- TRG_PREFS_GLOBAL);
+ TRG_PREFS_GLOBAL);
pos = trg_prefs_get_int(prefs, TRG_PREFS_KEY_NOTEBOOK_PANED_POS,
- TRG_PREFS_GLOBAL);
+ TRG_PREFS_GLOBAL);
if (width > 0 && height > 0)
gtk_window_set_default_size(GTK_WINDOW(self), width, height);
@@ -2249,17 +2508,17 @@ static GObject *trg_main_window_constructor(GType type,
gtk_widget_show_all(GTK_WIDGET(self));
- trg_widget_set_visible(
- priv->stateSelectorScroller,
- trg_prefs_get_bool(prefs, TRG_PREFS_KEY_SHOW_STATE_SELECTOR,
- TRG_PREFS_GLOBAL));
- trg_widget_set_visible(
- priv->notebook,
- trg_prefs_get_bool(prefs, TRG_PREFS_KEY_SHOW_NOTEBOOK,
- TRG_PREFS_GLOBAL));
+ trg_widget_set_visible(priv->stateSelectorScroller,
+ trg_prefs_get_bool(prefs,
+ TRG_PREFS_KEY_SHOW_STATE_SELECTOR,
+ TRG_PREFS_GLOBAL));
+ trg_widget_set_visible(priv->notebook,
+ trg_prefs_get_bool(prefs,
+ TRG_PREFS_KEY_SHOW_NOTEBOOK,
+ TRG_PREFS_GLOBAL));
pos = trg_prefs_get_int(prefs, TRG_PREFS_KEY_STATES_PANED_POS,
- TRG_PREFS_GLOBAL);
+ TRG_PREFS_GLOBAL);
if (pos > 0)
gtk_paned_set_position(GTK_PANED(priv->hpaned), pos);
@@ -2268,20 +2527,21 @@ static GObject *trg_main_window_constructor(GType type,
/* Drag and Drop */
gtk_drag_dest_set(GTK_WIDGET(self), // widget that will accept a drop
- GTK_DEST_DEFAULT_ALL, // default actions for dest on DnD
- target_list, // lists of target to support
- n_targets, // size of list
- GDK_ACTION_MOVE // what to do with data after dropped
- // | GDK_ACTION_COPY ... seems that file managers only need ACTION_MOVE, not ACTION_COPY
- );
+ GTK_DEST_DEFAULT_ALL, // default actions for dest on DnD
+ target_list, // lists of target to support
+ n_targets, // size of list
+ GDK_ACTION_MOVE // what to do with data after dropped
+ // | GDK_ACTION_COPY ... seems that file managers only need ACTION_MOVE, not ACTION_COPY
+ );
//g_signal_connect (priv->torrentTreeView, "drag-motion",G_CALLBACK (drag_motion_handl), NULL);
- g_signal_connect(self, "drag-data-received", G_CALLBACK(on_dropped_file),
- self);
+ g_signal_connect(self, "drag-data-received",
+ G_CALLBACK(on_dropped_file), self);
return G_OBJECT(self);
}
-static void trg_main_window_class_init(TrgMainWindowClass * klass) {
+static void trg_main_window_class_init(TrgMainWindowClass * klass)
+{
GObjectClass *object_class = G_OBJECT_CLASS(klass);
g_type_class_add_private(klass, sizeof(TrgMainWindowPrivate));
@@ -2290,42 +2550,51 @@ static void trg_main_window_class_init(TrgMainWindowClass * klass) {
object_class->get_property = trg_main_window_get_property;
object_class->set_property = trg_main_window_set_property;
- g_object_class_install_property(
- object_class,
- PROP_CLIENT,
- g_param_spec_pointer(
- "trg-client",
- "TClient",
- "Client",
- G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY
- | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK
- | G_PARAM_STATIC_BLURB));
-
- g_object_class_install_property(
- object_class,
- PROP_MINIMISE_ON_START,
- g_param_spec_boolean(
- "min-on-start",
- "Min On Start",
- "Min On Start",
- FALSE,
- G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY
- | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK
- | G_PARAM_STATIC_BLURB));
-}
-
-void auto_connect_if_required(TrgMainWindow * win, gchar ** args) {
+ g_object_class_install_property(object_class,
+ PROP_CLIENT,
+ g_param_spec_pointer("trg-client",
+ "TClient",
+ "Client",
+ G_PARAM_READWRITE
+ |
+ G_PARAM_CONSTRUCT_ONLY
+ |
+ G_PARAM_STATIC_NAME
+ |
+ G_PARAM_STATIC_NICK
+ |
+ G_PARAM_STATIC_BLURB));
+
+ g_object_class_install_property(object_class,
+ PROP_MINIMISE_ON_START,
+ g_param_spec_boolean("min-on-start",
+ "Min On Start",
+ "Min On Start",
+ FALSE,
+ G_PARAM_READWRITE
+ |
+ G_PARAM_CONSTRUCT_ONLY
+ |
+ G_PARAM_STATIC_NAME
+ |
+ G_PARAM_STATIC_NICK
+ |
+ G_PARAM_STATIC_BLURB));
+}
+
+void auto_connect_if_required(TrgMainWindow * win, gchar ** args)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(win);
TrgPrefs *prefs = trg_client_get_prefs(priv->client);
gchar *host = trg_prefs_get_string(prefs, TRG_PREFS_KEY_HOSTNAME,
- TRG_PREFS_PROFILE);
+ TRG_PREFS_PROFILE);
if (host) {
gint len = strlen(host);
g_free(host);
if (len > 0
- && trg_prefs_get_bool(prefs, TRG_PREFS_KEY_AUTO_CONNECT,
- TRG_PREFS_PROFILE)) {
+ && trg_prefs_get_bool(prefs, TRG_PREFS_KEY_AUTO_CONNECT,
+ TRG_PREFS_PROFILE)) {
priv->args = args;
connect_cb(NULL, win);
return;
@@ -2336,7 +2605,8 @@ void auto_connect_if_required(TrgMainWindow * win, gchar ** args) {
g_strfreev(args);
}
-TrgMainWindow *trg_main_window_new(TrgClient * tc, gboolean minonstart) {
- return g_object_new(TRG_TYPE_MAIN_WINDOW, "trg-client", tc, "min-on-start",
- minonstart, NULL);
+TrgMainWindow *trg_main_window_new(TrgClient * tc, gboolean minonstart)
+{
+ return g_object_new(TRG_TYPE_MAIN_WINDOW, "trg-client", tc,
+ "min-on-start", minonstart, NULL);
}
diff --git a/src/trg-menu-bar.c b/src/trg-menu-bar.c
index a9e4f08..b5e049f 100644
--- a/src/trg-menu-bar.c
+++ b/src/trg-menu-bar.c
@@ -305,12 +305,13 @@ GtkWidget *trg_menu_bar_item_new(GtkMenuShell * shell, const gchar * text,
return item;
}
-static void trg_menu_bar_accel_add(TrgMenuBar *menu, GtkWidget *item, guint key, GdkModifierType mods)
+static void trg_menu_bar_accel_add(TrgMenuBar * menu, GtkWidget * item,
+ guint key, GdkModifierType mods)
{
TrgMenuBarPrivate *priv = TRG_MENU_BAR_GET_PRIVATE(menu);
gtk_widget_add_accelerator(item, "activate", priv->accel_group,
- key, mods, GTK_ACCEL_VISIBLE);
+ key, mods, GTK_ACCEL_VISIBLE);
}
@@ -383,12 +384,14 @@ static GtkWidget *trg_menu_bar_view_menu_new(TrgMenuBar * mb)
trg_menu_bar_view_item_new(priv->prefs,
TRG_PREFS_KEY_SHOW_STATE_SELECTOR,
_("State selector"), NULL);
+ trg_menu_bar_accel_add(mb, priv->mb_view_states, GDK_F2, 0);
gtk_menu_shell_append(GTK_MENU_SHELL(viewMenu), priv->mb_view_states);
priv->mb_directory_filters =
trg_menu_bar_view_item_new(priv->prefs, TRG_PREFS_KEY_FILTER_DIRS,
_("Directory filters"),
priv->mb_view_states);
+ trg_menu_bar_accel_add(mb, priv->mb_directory_filters, GDK_F3, 0);
gtk_menu_shell_append(GTK_MENU_SHELL(viewMenu),
priv->mb_directory_filters);
@@ -397,6 +400,7 @@ static GtkWidget *trg_menu_bar_view_menu_new(TrgMenuBar * mb)
TRG_PREFS_KEY_FILTER_TRACKERS,
_("Tracker filters"),
priv->mb_view_states);
+ trg_menu_bar_accel_add(mb, priv->mb_tracker_filters, GDK_F4, 0);
gtk_menu_shell_append(GTK_MENU_SHELL(viewMenu),
priv->mb_tracker_filters);
@@ -404,16 +408,19 @@ static GtkWidget *trg_menu_bar_view_menu_new(TrgMenuBar * mb)
trg_menu_bar_view_item_new(priv->prefs,
TRG_PREFS_KEY_SHOW_NOTEBOOK,
_("Torrent Details"), NULL);
+ trg_menu_bar_accel_add(mb, priv->mb_view_notebook, GDK_F5, 0);
gtk_menu_shell_append(GTK_MENU_SHELL(viewMenu),
priv->mb_view_notebook);
priv->mb_view_graph =
trg_menu_bar_view_item_new(priv->prefs, TRG_PREFS_KEY_SHOW_GRAPH,
_("Graph"), priv->mb_view_notebook);
+ trg_menu_bar_accel_add(mb, priv->mb_view_graph, GDK_F6, 0);
gtk_menu_shell_append(GTK_MENU_SHELL(viewMenu), priv->mb_view_graph);
priv->mb_view_stats =
gtk_menu_item_new_with_mnemonic(_("_Statistics"));
+ trg_menu_bar_accel_add(mb, priv->mb_view_stats, GDK_F7, 0);
gtk_widget_set_sensitive(priv->mb_view_stats, FALSE);
gtk_menu_shell_append(GTK_MENU_SHELL(viewMenu), priv->mb_view_stats);
@@ -421,7 +428,7 @@ static GtkWidget *trg_menu_bar_view_menu_new(TrgMenuBar * mb)
}
static
-GtkWidget *trg_menu_bar_options_menu_new(TrgMenuBar *menu)
+GtkWidget *trg_menu_bar_options_menu_new(TrgMenuBar * menu)
{
TrgMenuBarPrivate *priv = TRG_MENU_BAR_GET_PRIVATE(menu);
@@ -433,13 +440,15 @@ GtkWidget *trg_menu_bar_options_menu_new(TrgMenuBar *menu)
trg_menu_bar_item_new(GTK_MENU_SHELL(optsMenu),
_("_Local Preferences"),
GTK_STOCK_PREFERENCES, TRUE);
- trg_menu_bar_accel_add(menu, priv->mb_local_prefs, GDK_s, GDK_CONTROL_MASK);
+ trg_menu_bar_accel_add(menu, priv->mb_local_prefs, GDK_s,
+ GDK_CONTROL_MASK);
priv->mb_remote_prefs =
trg_menu_bar_item_new(GTK_MENU_SHELL(optsMenu),
_("_Remote Preferences"),
GTK_STOCK_NETWORK, FALSE);
- trg_menu_bar_accel_add(menu, priv->mb_remote_prefs, GDK_s, GDK_MOD1_MASK);
+ trg_menu_bar_accel_add(menu, priv->mb_remote_prefs, GDK_s,
+ GDK_MOD1_MASK);
return opts;
}
@@ -512,7 +521,8 @@ GtkWidget *trg_menu_bar_file_file_menu_new(TrgMenuBar * menu)
priv->mb_disconnect =
trg_menu_bar_item_new(GTK_MENU_SHELL(fileMenu), _("_Disconnect"),
GTK_STOCK_DISCONNECT, FALSE);
- trg_menu_bar_accel_add(menu, priv->mb_disconnect, GDK_d, GDK_CONTROL_MASK);
+ trg_menu_bar_accel_add(menu, priv->mb_disconnect, GDK_d,
+ GDK_CONTROL_MASK);
priv->mb_add =
trg_menu_bar_item_new(GTK_MENU_SHELL(fileMenu), _("_Add"),
@@ -522,7 +532,8 @@ GtkWidget *trg_menu_bar_file_file_menu_new(TrgMenuBar * menu)
priv->mb_add_url =
trg_menu_bar_item_new(GTK_MENU_SHELL(fileMenu), _("Add from _URL"),
GTK_STOCK_ADD, FALSE);
- trg_menu_bar_accel_add(menu, priv->mb_add_url, GDK_u, GDK_CONTROL_MASK);
+ trg_menu_bar_accel_add(menu, priv->mb_add_url, GDK_u,
+ GDK_CONTROL_MASK);
priv->mb_quit =
trg_menu_bar_item_new(GTK_MENU_SHELL(fileMenu), _("_Quit"),
@@ -534,7 +545,7 @@ GtkWidget *trg_menu_bar_file_file_menu_new(TrgMenuBar * menu)
}
static
-GtkWidget *trg_menu_bar_torrent_menu_new(TrgMenuBar *menu)
+GtkWidget *trg_menu_bar_torrent_menu_new(TrgMenuBar * menu)
{
TrgMenuBarPrivate *priv = TRG_MENU_BAR_GET_PRIVATE(menu);
GtkWidget *torrent = gtk_menu_item_new_with_mnemonic(_("_Torrent"));
@@ -561,7 +572,7 @@ GtkWidget *trg_menu_bar_torrent_menu_new(TrgMenuBar *menu)
priv->mb_verify =
trg_menu_bar_item_new(GTK_MENU_SHELL(torrentMenu), _("_Verify"),
GTK_STOCK_REFRESH, FALSE);
- trg_menu_bar_accel_add(menu, priv->mb_verify, GDK_v, GDK_CONTROL_MASK);
+ trg_menu_bar_accel_add(menu, priv->mb_verify, GDK_h, GDK_CONTROL_MASK);
priv->mb_reannounce =
trg_menu_bar_item_new(GTK_MENU_SHELL(torrentMenu),
@@ -581,7 +592,8 @@ GtkWidget *trg_menu_bar_torrent_menu_new(TrgMenuBar *menu)
trg_menu_bar_item_new(GTK_MENU_SHELL(torrentMenu),
_("Remove and Delete"), GTK_STOCK_CLEAR,
FALSE);
- trg_menu_bar_accel_add(menu, priv->mb_delete, GDK_Delete, GDK_SHIFT_MASK);
+ trg_menu_bar_accel_add(menu, priv->mb_delete, GDK_Delete,
+ GDK_SHIFT_MASK);
priv->mb_queues_seperator = gtk_separator_menu_item_new();
gtk_menu_shell_append(GTK_MENU_SHELL(torrentMenu),
@@ -595,13 +607,15 @@ GtkWidget *trg_menu_bar_torrent_menu_new(TrgMenuBar *menu)
priv->mb_up_queue = trg_menu_bar_item_new(GTK_MENU_SHELL(torrentMenu),
_("Move Up Queue"),
GTK_STOCK_GO_UP, FALSE);
- trg_menu_bar_accel_add(menu, priv->mb_up_queue, GDK_Up, GDK_SHIFT_MASK);
+ trg_menu_bar_accel_add(menu, priv->mb_up_queue, GDK_Up,
+ GDK_SHIFT_MASK);
priv->mb_down_queue =
trg_menu_bar_item_new(GTK_MENU_SHELL(torrentMenu),
_("Move Down Queue"), GTK_STOCK_GO_DOWN,
FALSE);
- trg_menu_bar_accel_add(menu, priv->mb_down_queue, GDK_Down, GDK_SHIFT_MASK);
+ trg_menu_bar_accel_add(menu, priv->mb_down_queue, GDK_Down,
+ GDK_SHIFT_MASK);
priv->mb_bottom_queue =
trg_menu_bar_item_new(GTK_MENU_SHELL(torrentMenu),
@@ -619,12 +633,14 @@ GtkWidget *trg_menu_bar_torrent_menu_new(TrgMenuBar *menu)
trg_menu_bar_item_new(GTK_MENU_SHELL(torrentMenu),
_("_Resume All"), GTK_STOCK_MEDIA_PLAY,
FALSE);
- trg_menu_bar_accel_add(menu, priv->mb_resume_all, GDK_r, GDK_SHIFT_MASK | GDK_CONTROL_MASK);
+ trg_menu_bar_accel_add(menu, priv->mb_resume_all, GDK_r,
+ GDK_SHIFT_MASK | GDK_CONTROL_MASK);
priv->mb_pause_all =
trg_menu_bar_item_new(GTK_MENU_SHELL(torrentMenu), _("_Pause All"),
GTK_STOCK_MEDIA_PAUSE, FALSE);
- trg_menu_bar_accel_add(menu, priv->mb_pause_all, GDK_p, GDK_SHIFT_MASK | GDK_CONTROL_MASK);
+ trg_menu_bar_accel_add(menu, priv->mb_pause_all, GDK_p,
+ GDK_SHIFT_MASK | GDK_CONTROL_MASK);
return torrent;
}
@@ -822,8 +838,10 @@ static void trg_menu_bar_init(TrgMenuBar * self)
{
}
-TrgMenuBar *trg_menu_bar_new(TrgMainWindow * win, TrgPrefs * prefs, GtkAccelGroup *accel_group)
+TrgMenuBar *trg_menu_bar_new(TrgMainWindow * win, TrgPrefs * prefs,
+ GtkAccelGroup * accel_group)
{
return g_object_new(TRG_TYPE_MENU_BAR,
- "prefs", prefs, "mainwin", win, "accel-group", accel_group, NULL);
+ "prefs", prefs, "mainwin", win, "accel-group",
+ accel_group, NULL);
}
diff --git a/src/trg-menu-bar.h b/src/trg-menu-bar.h
index 7a47a07..2c8fd18 100644
--- a/src/trg-menu-bar.h
+++ b/src/trg-menu-bar.h
@@ -48,7 +48,8 @@ typedef struct {
GType trg_menu_bar_get_type(void);
-TrgMenuBar *trg_menu_bar_new(TrgMainWindow * win, TrgPrefs * prefs, GtkAccelGroup *accel_group);
+TrgMenuBar *trg_menu_bar_new(TrgMainWindow * win, TrgPrefs * prefs,
+ GtkAccelGroup * accel_group);
GtkWidget *trg_menu_bar_item_new(GtkMenuShell * shell, const gchar * text,
const gchar * stock_id,
gboolean sensitive);
diff --git a/src/trg-preferences-dialog.c b/src/trg-preferences-dialog.c
index 266733c..4c774ec 100644
--- a/src/trg-preferences-dialog.c
+++ b/src/trg-preferences-dialog.c
@@ -385,7 +385,8 @@ static void trgp_double_special_dependent(GtkWidget * widget,
(priv->fullUpdateCheck)
&&
gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON
- (priv->fullUpdateCheck)));
+ (priv->
+ fullUpdateCheck)));
}
static GtkWidget *trg_prefs_generalPage(TrgPreferencesDialog * dlg)
@@ -888,7 +889,7 @@ static GObject *trg_preferences_dialog_constructor(GType type,
gtk_notebook_append_page(GTK_NOTEBOOK(notebook),
trg_prefs_viewPage(TRG_PREFERENCES_DIALOG
- (object)),
+ (object)),
gtk_label_new(_("View")));
gtk_notebook_append_page(GTK_NOTEBOOK(notebook),
diff --git a/src/trg-remote-prefs-dialog.c b/src/trg-remote-prefs-dialog.c
index 1511ecc..8f866ea 100644
--- a/src/trg-remote-prefs-dialog.c
+++ b/src/trg-remote-prefs-dialog.c
@@ -41,7 +41,8 @@
* as soon as the set is complete.
*/
-G_DEFINE_TYPE(TrgRemotePrefsDialog, trg_remote_prefs_dialog, GTK_TYPE_DIALOG)
+G_DEFINE_TYPE(TrgRemotePrefsDialog, trg_remote_prefs_dialog,
+ GTK_TYPE_DIALOG)
#define TRG_REMOTE_PREFS_DIALOG_GET_PRIVATE(o) \
(G_TYPE_INSTANCE_GET_PRIVATE ((o), TRG_TYPE_REMOTE_PREFS_DIALOG, TrgRemotePrefsDialogPrivate))
enum {
@@ -63,8 +64,10 @@ struct _TrgRemotePrefsDialogPrivate {
static GObject *instance = NULL;
-static void update_session(GtkDialog * dlg) {
- TrgRemotePrefsDialogPrivate *priv = TRG_REMOTE_PREFS_DIALOG_GET_PRIVATE(dlg);
+static void update_session(GtkDialog * dlg)
+{
+ TrgRemotePrefsDialogPrivate *priv =
+ TRG_REMOTE_PREFS_DIALOG_GET_PRIVATE(dlg);
JsonNode *request = session_set();
JsonObject *args = node_get_arguments(request);
@@ -72,7 +75,8 @@ static void update_session(GtkDialog * dlg) {
/* Connection */
- switch (gtk_combo_box_get_active(GTK_COMBO_BOX(priv->encryption_combo))) {
+ switch (gtk_combo_box_get_active
+ (GTK_COMBO_BOX(priv->encryption_combo))) {
case 0:
encryption = "required";
break;
@@ -92,8 +96,10 @@ static void update_session(GtkDialog * dlg) {
}
static void trg_remote_prefs_response_cb(GtkDialog * dlg, gint res_id,
- gpointer data G_GNUC_UNUSED) {
- TrgRemotePrefsDialogPrivate *priv = TRG_REMOTE_PREFS_DIALOG_GET_PRIVATE(dlg);
+ gpointer data G_GNUC_UNUSED)
+{
+ TrgRemotePrefsDialogPrivate *priv =
+ TRG_REMOTE_PREFS_DIALOG_GET_PRIVATE(dlg);
if (res_id == GTK_RESPONSE_OK)
update_session(dlg);
@@ -105,9 +111,12 @@ static void trg_remote_prefs_response_cb(GtkDialog * dlg, gint res_id,
}
static void trg_remote_prefs_dialog_get_property(GObject * object,
- guint property_id, GValue * value, GParamSpec * pspec) {
+ guint property_id,
+ GValue * value,
+ GParamSpec * pspec)
+{
TrgRemotePrefsDialogPrivate *priv =
- TRG_REMOTE_PREFS_DIALOG_GET_PRIVATE(object);
+ TRG_REMOTE_PREFS_DIALOG_GET_PRIVATE(object);
switch (property_id) {
case PROP_PARENT:
g_value_set_object(value, priv->parent);
@@ -122,9 +131,12 @@ static void trg_remote_prefs_dialog_get_property(GObject * object,
}
static void trg_remote_prefs_dialog_set_property(GObject * object,
- guint property_id, const GValue * value, GParamSpec * pspec) {
+ guint property_id,
+ const GValue * value,
+ GParamSpec * pspec)
+{
TrgRemotePrefsDialogPrivate *priv =
- TRG_REMOTE_PREFS_DIALOG_GET_PRIVATE(object);
+ TRG_REMOTE_PREFS_DIALOG_GET_PRIVATE(object);
switch (property_id) {
case PROP_PARENT:
priv->parent = g_value_get_object(value);
@@ -139,62 +151,76 @@ static void trg_remote_prefs_dialog_set_property(GObject * object,
}
static void trg_remote_prefs_double_special_dependent(GtkWidget * widget,
- gpointer data) {
+ gpointer data)
+{
TrgRemotePrefsDialogPrivate *priv =
- TRG_REMOTE_PREFS_DIALOG_GET_PRIVATE(gtk_widget_get_toplevel(GTK_WIDGET(widget)));
-
- gtk_widget_set_sensitive(
- GTK_WIDGET(data),
- gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON
- (priv->alt_time_check))
- || gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON
- (priv->alt_check)));
+ TRG_REMOTE_PREFS_DIALOG_GET_PRIVATE(gtk_widget_get_toplevel
+ (GTK_WIDGET(widget)));
+
+ gtk_widget_set_sensitive(GTK_WIDGET(data),
+ gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON
+ (priv->
+ alt_time_check))
+ ||
+ gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON
+ (priv->
+ alt_check)));
}
-static void trg_rprefs_time_widget_savefunc(GtkWidget *w, JsonObject * obj,
- gchar * key) {
+static void trg_rprefs_time_widget_savefunc(GtkWidget * w,
+ JsonObject * obj, gchar * key)
+{
GtkWidget *hourSpin = g_object_get_data(G_OBJECT(w), "hours-spin");
GtkWidget *minutesSpin = g_object_get_data(G_OBJECT(w), "mins-spin");
- gdouble hoursValue = gtk_spin_button_get_value(GTK_SPIN_BUTTON(hourSpin));
- gdouble minutesValue = gtk_spin_button_get_value(
- GTK_SPIN_BUTTON(minutesSpin));
+ gdouble hoursValue =
+ gtk_spin_button_get_value(GTK_SPIN_BUTTON(hourSpin));
+ gdouble minutesValue =
+ gtk_spin_button_get_value(GTK_SPIN_BUTTON(minutesSpin));
json_object_set_int_member(obj, key,
- (gint64) ((hoursValue * 60.0) + minutesValue));
+ (gint64) ((hoursValue * 60.0) +
+ minutesValue));
}
-static gboolean on_output(GtkSpinButton *spin, gpointer data) {
+static gboolean on_output(GtkSpinButton * spin, gpointer data)
+{
GtkAdjustment *adj;
gchar *text;
int value;
adj = gtk_spin_button_get_adjustment(spin);
value = (int) gtk_adjustment_get_value(adj);
text = g_strdup_printf("%02d", value);
- gtk_entry_set_text(GTK_ENTRY (spin), text);
+ gtk_entry_set_text(GTK_ENTRY(spin), text);
g_free(text);
return TRUE;
}
static GtkWidget *trg_rprefs_timer_widget_spin_new(gint max,
- GtkWidget *alt_time_check) {
+ GtkWidget *
+ alt_time_check)
+{
GtkWidget *w = gtk_spin_button_new_with_range(0, max, 1);
gtk_widget_set_sensitive(w,
- gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(alt_time_check)));
+ gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON
+ (alt_time_check)));
g_signal_connect(G_OBJECT(alt_time_check), "toggled",
- G_CALLBACK(toggle_active_arg_is_sensitive), w);
+ G_CALLBACK(toggle_active_arg_is_sensitive), w);
g_signal_connect(G_OBJECT(w), "output", G_CALLBACK(on_output), NULL);
return w;
}
static GtkWidget *trg_rprefs_time_widget_new(GList ** wl, JsonObject * obj,
- const gchar *key, GtkWidget *alt_time_check) {
+ const gchar * key,
+ GtkWidget * alt_time_check)
+{
GtkWidget *hbox = gtk_hbox_new(FALSE, 0);
GtkWidget *colonLabel = gtk_label_new(":");
- GtkWidget *hourSpin = trg_rprefs_timer_widget_spin_new(23, alt_time_check);
+ GtkWidget *hourSpin =
+ trg_rprefs_timer_widget_spin_new(23, alt_time_check);
GtkWidget *minutesSpin = trg_rprefs_timer_widget_spin_new(69,
- alt_time_check);
+ alt_time_check);
gint64 value = json_object_get_int_member(obj, key);
trg_json_widget_desc *wd = g_new0(trg_json_widget_desc, 1);
@@ -206,9 +232,9 @@ static GtkWidget *trg_rprefs_time_widget_new(GList ** wl, JsonObject * obj,
g_object_set_data(G_OBJECT(hbox), "mins-spin", minutesSpin);
gtk_spin_button_set_value(GTK_SPIN_BUTTON(hourSpin),
- floor((gdouble) value / 60.0));
+ floor((gdouble) value / 60.0));
gtk_spin_button_set_value(GTK_SPIN_BUTTON(minutesSpin),
- (gdouble) (value % 60));
+ (gdouble) (value % 60));
gtk_box_pack_start(GTK_BOX(hbox), hourSpin, TRUE, FALSE, 0);
gtk_box_pack_start(GTK_BOX(hbox), colonLabel, TRUE, FALSE, 2);
@@ -219,41 +245,54 @@ static GtkWidget *trg_rprefs_time_widget_new(GList ** wl, JsonObject * obj,
return hbox;
}
-static GtkWidget *trg_rprefs_time_begin_end_new(GList ** wl, JsonObject * obj,
- GtkWidget *alt_time_check) {
+static GtkWidget *trg_rprefs_time_begin_end_new(GList ** wl,
+ JsonObject * obj,
+ GtkWidget * alt_time_check)
+{
GtkWidget *hbox = gtk_hbox_new(FALSE, 0);
GtkWidget *begin = trg_rprefs_time_widget_new(wl, obj,
- SGET_ALT_SPEED_TIME_BEGIN, alt_time_check);
+ SGET_ALT_SPEED_TIME_BEGIN,
+ alt_time_check);
GtkWidget *end = trg_rprefs_time_widget_new(wl, obj,
- SGET_ALT_SPEED_TIME_END, alt_time_check);
+ SGET_ALT_SPEED_TIME_END,
+ alt_time_check);
gtk_box_pack_start(GTK_BOX(hbox), begin, FALSE, FALSE, 0);
- gtk_box_pack_start(GTK_BOX(hbox), gtk_label_new("-"), FALSE, FALSE, 10);
+ gtk_box_pack_start(GTK_BOX(hbox), gtk_label_new("-"), FALSE, FALSE,
+ 10);
gtk_box_pack_start(GTK_BOX(hbox), end, FALSE, FALSE, 0);
return hbox;
}
-static GtkWidget *trg_rprefs_alt_speed_spin_new(GList **wl, JsonObject *obj,
- const gchar *key,
- GtkWidget *alt_check, GtkWidget *alt_time_check)
+static GtkWidget *trg_rprefs_alt_speed_spin_new(GList ** wl,
+ JsonObject * obj,
+ const gchar * key,
+ GtkWidget * alt_check,
+ GtkWidget * alt_time_check)
{
GtkWidget *w = trg_json_widget_spin_new(wl, obj, key,
- NULL, 0, INT_MAX, 5);
- gtk_widget_set_sensitive(
- w,
- gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(alt_check))
- || gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(alt_time_check)));
+ NULL, 0, INT_MAX, 5);
+ gtk_widget_set_sensitive(w,
+ gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON
+ (alt_check))
+ ||
+ gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON
+ (alt_time_check)));
g_signal_connect(G_OBJECT(alt_time_check), "toggled",
- G_CALLBACK(trg_remote_prefs_double_special_dependent), w);
+ G_CALLBACK(trg_remote_prefs_double_special_dependent),
+ w);
g_signal_connect(G_OBJECT(alt_check), "toggled",
- G_CALLBACK(trg_remote_prefs_double_special_dependent), w);
+ G_CALLBACK(trg_remote_prefs_double_special_dependent),
+ w);
return w;
}
static GtkWidget *trg_rprefs_bandwidthPage(TrgRemotePrefsDialog * win,
- JsonObject * json) {
- TrgRemotePrefsDialogPrivate *priv = TRG_REMOTE_PREFS_DIALOG_GET_PRIVATE(win);
+ JsonObject * json)
+{
+ TrgRemotePrefsDialogPrivate *priv =
+ TRG_REMOTE_PREFS_DIALOG_GET_PRIVATE(win);
GtkWidget *w, *tb, *t;
gint row = 0;
@@ -262,44 +301,53 @@ static GtkWidget *trg_rprefs_bandwidthPage(TrgRemotePrefsDialog * win,
hig_workarea_add_section_title(t, &row, _("Bandwidth limits"));
tb = trg_json_widget_check_new(&priv->widgets, json,
- SGET_SPEED_LIMIT_DOWN_ENABLED, _("Down Limit (KiB/s)"),
- NULL);
- w = trg_json_widget_spin_new(&priv->widgets, json, SGET_SPEED_LIMIT_DOWN,
- tb, 0, INT_MAX, 5);
+ SGET_SPEED_LIMIT_DOWN_ENABLED,
+ _("Down Limit (KiB/s)"), NULL);
+ w = trg_json_widget_spin_new(&priv->widgets, json,
+ SGET_SPEED_LIMIT_DOWN, tb, 0, INT_MAX, 5);
hig_workarea_add_row_w(t, &row, tb, w, NULL);
tb = trg_json_widget_check_new(&priv->widgets, json,
- SGET_SPEED_LIMIT_UP_ENABLED, _("Up Limit (KiB/s)"), NULL);
- w = trg_json_widget_spin_new(&priv->widgets, json, SGET_SPEED_LIMIT_UP, tb,
- 0, INT_MAX, 5);
+ SGET_SPEED_LIMIT_UP_ENABLED,
+ _("Up Limit (KiB/s)"), NULL);
+ w = trg_json_widget_spin_new(&priv->widgets, json, SGET_SPEED_LIMIT_UP,
+ tb, 0, INT_MAX, 5);
hig_workarea_add_row_w(t, &row, tb, w, NULL);
hig_workarea_add_section_title(t, &row, _("Alternate limits"));
w = priv->alt_check = trg_json_widget_check_new(&priv->widgets, json,
- SGET_ALT_SPEED_ENABLED, _("Alternate speed limits active"),
- NULL);
+ SGET_ALT_SPEED_ENABLED,
+ _
+ ("Alternate speed limits active"),
+ NULL);
hig_workarea_add_wide_control(t, &row, w);
- tb = priv->alt_time_check = trg_json_widget_check_new(&priv->widgets, json,
- SGET_ALT_SPEED_TIME_ENABLED, _("Alternate time range"), NULL);
+ tb = priv->alt_time_check =
+ trg_json_widget_check_new(&priv->widgets, json,
+ SGET_ALT_SPEED_TIME_ENABLED,
+ _("Alternate time range"), NULL);
w = trg_rprefs_time_begin_end_new(&priv->widgets, json, tb);
hig_workarea_add_row_w(t, &row, tb, w, NULL);
- w = trg_rprefs_alt_speed_spin_new(&priv->widgets, json, SGET_ALT_SPEED_DOWN,
- priv->alt_check, tb);
+ w = trg_rprefs_alt_speed_spin_new(&priv->widgets, json,
+ SGET_ALT_SPEED_DOWN, priv->alt_check,
+ tb);
hig_workarea_add_row(t, &row, _("Alternate down limit (KiB/s)"), w, w);
- w = trg_rprefs_alt_speed_spin_new(&priv->widgets, json, SGET_ALT_SPEED_UP,
- priv->alt_check, tb);
+ w = trg_rprefs_alt_speed_spin_new(&priv->widgets, json,
+ SGET_ALT_SPEED_UP, priv->alt_check,
+ tb);
hig_workarea_add_row(t, &row, _("Alternate up limit (KiB/s)"), w, w);
return t;
}
static GtkWidget *trg_rprefs_limitsPage(TrgRemotePrefsDialog * win,
- JsonObject * json) {
- TrgRemotePrefsDialogPrivate *priv = TRG_REMOTE_PREFS_DIALOG_GET_PRIVATE(win);
+ JsonObject * json)
+{
+ TrgRemotePrefsDialogPrivate *priv =
+ TRG_REMOTE_PREFS_DIALOG_GET_PRIVATE(win);
GtkWidget *w, *tb, *t;
gint row = 0;
@@ -308,69 +356,81 @@ static GtkWidget *trg_rprefs_limitsPage(TrgRemotePrefsDialog * win,
hig_workarea_add_section_title(t, &row, _("Seeding"));
tb = trg_json_widget_check_new(&priv->widgets, json,
- SGET_SEED_RATIO_LIMITED, _("Seed ratio limit"), NULL);
- w = trg_json_widget_spin_new(&priv->widgets, json, SGET_SEED_RATIO_LIMIT,
- tb, 0, INT_MAX, 0.1);
+ SGET_SEED_RATIO_LIMITED,
+ _("Seed ratio limit"), NULL);
+ w = trg_json_widget_spin_new(&priv->widgets, json,
+ SGET_SEED_RATIO_LIMIT, tb, 0, INT_MAX,
+ 0.1);
hig_workarea_add_row_w(t, &row, tb, w, NULL);
if (json_object_has_member(json, SGET_DOWNLOAD_QUEUE_ENABLED)) {
hig_workarea_add_section_title(t, &row, _("Queues"));
tb = trg_json_widget_check_new(&priv->widgets, json,
- SGET_DOWNLOAD_QUEUE_ENABLED, _("Download queue size"), NULL);
+ SGET_DOWNLOAD_QUEUE_ENABLED,
+ _("Download queue size"), NULL);
w = trg_json_widget_spin_new(&priv->widgets, json,
- SGET_DOWNLOAD_QUEUE_SIZE, tb, 0, INT_MAX, 1);
+ SGET_DOWNLOAD_QUEUE_SIZE, tb, 0,
+ INT_MAX, 1);
hig_workarea_add_row_w(t, &row, tb, w, NULL);
tb = trg_json_widget_check_new(&priv->widgets, json,
- SGET_SEED_QUEUE_ENABLED, _("Seed queue size"), NULL);
- w = trg_json_widget_spin_new(&priv->widgets, json, SGET_SEED_QUEUE_SIZE,
- tb, 0, INT_MAX, 1);
+ SGET_SEED_QUEUE_ENABLED,
+ _("Seed queue size"), NULL);
+ w = trg_json_widget_spin_new(&priv->widgets, json,
+ SGET_SEED_QUEUE_SIZE, tb, 0, INT_MAX,
+ 1);
hig_workarea_add_row_w(t, &row, tb, w, NULL);
tb = trg_json_widget_check_new(&priv->widgets, json,
- SGET_QUEUE_STALLED_ENABLED, _("Ignore stalled (minutes)"),
- NULL);
+ SGET_QUEUE_STALLED_ENABLED,
+ _("Ignore stalled (minutes)"),
+ NULL);
w = trg_json_widget_spin_new(&priv->widgets, json,
- SGET_QUEUE_STALLED_MINUTES, tb, 0, INT_MAX, 1);
+ SGET_QUEUE_STALLED_MINUTES, tb, 0,
+ INT_MAX, 1);
hig_workarea_add_row_w(t, &row, tb, w, NULL);
}
hig_workarea_add_section_title(t, &row, _("Peers"));
- w = trg_json_widget_spin_new(&priv->widgets, json, SGET_PEER_LIMIT_GLOBAL,
- NULL, 0, INT_MAX, 5);
+ w = trg_json_widget_spin_new(&priv->widgets, json,
+ SGET_PEER_LIMIT_GLOBAL, NULL, 0, INT_MAX,
+ 5);
hig_workarea_add_row(t, &row, _("Global peer limit"), w, w);
w = trg_json_widget_spin_new(&priv->widgets, json,
- SGET_PEER_LIMIT_PER_TORRENT, NULL, 0, INT_MAX, 5);
+ SGET_PEER_LIMIT_PER_TORRENT, NULL, 0,
+ INT_MAX, 5);
hig_workarea_add_row(t, &row, _("Per torrent peer limit"), w, w);
return t;
}
-static gboolean on_port_tested(gpointer data) {
+static gboolean on_port_tested(gpointer data)
+{
trg_response *response = (trg_response *) data;
if (TRG_IS_REMOTE_PREFS_DIALOG(response->cb_data)) {
TrgRemotePrefsDialogPrivate *priv =
- TRG_REMOTE_PREFS_DIALOG_GET_PRIVATE(response->cb_data);
+ TRG_REMOTE_PREFS_DIALOG_GET_PRIVATE(response->cb_data);
- gtk_button_set_label(GTK_BUTTON(priv->port_test_button), _("Retest"));
+ gtk_button_set_label(GTK_BUTTON(priv->port_test_button),
+ _("Retest"));
gtk_widget_set_sensitive(priv->port_test_button, TRUE);
if (response->status == CURLE_OK) {
- gboolean isOpen = json_object_get_boolean_member(
- get_arguments(response->obj), "port-is-open");
+ gboolean isOpen =
+ json_object_get_boolean_member(get_arguments
+ (response->obj),
+ "port-is-open");
if (isOpen)
- gtk_label_set_markup(
- GTK_LABEL(priv->port_test_label),
- _
- ("Port is <span font_weight=\"bold\" fgcolor=\"darkgreen\">open</span>"));
+ gtk_label_set_markup(GTK_LABEL(priv->port_test_label),
+ _
+ ("Port is <span font_weight=\"bold\" fgcolor=\"darkgreen\">open</span>"));
else
- gtk_label_set_markup(
- GTK_LABEL(priv->port_test_label),
- _
- ("Port is <span font_weight=\"bold\" fgcolor=\"red\">closed</span>"));
+ gtk_label_set_markup(GTK_LABEL(priv->port_test_label),
+ _
+ ("Port is <span font_weight=\"bold\" fgcolor=\"red\">closed</span>"));
} else {
trg_error_dialog(GTK_WINDOW(data), response);
}
@@ -380,9 +440,10 @@ static gboolean on_port_tested(gpointer data) {
return FALSE;
}
-static void port_test_cb(GtkButton * b, gpointer data) {
+static void port_test_cb(GtkButton * b, gpointer data)
+{
TrgRemotePrefsDialogPrivate *priv =
- TRG_REMOTE_PREFS_DIALOG_GET_PRIVATE(data);
+ TRG_REMOTE_PREFS_DIALOG_GET_PRIVATE(data);
JsonNode *req = port_test();
gtk_label_set_text(GTK_LABEL(priv->port_test_label), _("Port test"));
@@ -392,21 +453,25 @@ static void port_test_cb(GtkButton * b, gpointer data) {
dispatch_async(priv->client, req, on_port_tested, data);
}
-static gboolean on_blocklist_updated(gpointer data) {
+static gboolean on_blocklist_updated(gpointer data)
+{
trg_response *response = (trg_response *) data;
if (TRG_IS_REMOTE_PREFS_DIALOG(response->cb_data)) {
TrgRemotePrefsDialogPrivate *priv =
- TRG_REMOTE_PREFS_DIALOG_GET_PRIVATE(response->cb_data);
+ TRG_REMOTE_PREFS_DIALOG_GET_PRIVATE(response->cb_data);
gtk_widget_set_sensitive(priv->blocklist_update_button, TRUE);
gtk_button_set_label(GTK_BUTTON(priv->blocklist_update_button),
- _("Update"));
+ _("Update"));
if (response->status == CURLE_OK) {
JsonObject *args = get_arguments(response->obj);
- gchar *labelText = g_strdup_printf(_("Blocklist (%ld entries)"),
- json_object_get_int_member(args, SGET_BLOCKLIST_SIZE));
- gtk_button_set_label(GTK_BUTTON(priv->blocklist_check), labelText);
+ gchar *labelText =
+ g_strdup_printf(_("Blocklist (%ld entries)"),
+ json_object_get_int_member(args,
+ SGET_BLOCKLIST_SIZE));
+ gtk_button_set_label(GTK_BUTTON(priv->blocklist_check),
+ labelText);
g_free(labelText);
} else {
trg_error_dialog(GTK_WINDOW(response->cb_data), response);
@@ -418,9 +483,10 @@ static gboolean on_blocklist_updated(gpointer data) {
return FALSE;
}
-static gboolean update_blocklist_cb(GtkButton * b, gpointer data) {
+static gboolean update_blocklist_cb(GtkButton * b, gpointer data)
+{
TrgRemotePrefsDialogPrivate *priv =
- TRG_REMOTE_PREFS_DIALOG_GET_PRIVATE(data);
+ TRG_REMOTE_PREFS_DIALOG_GET_PRIVATE(data);
JsonNode *req = blocklist_update();
gtk_widget_set_sensitive(GTK_WIDGET(b), FALSE);
@@ -432,8 +498,10 @@ static gboolean update_blocklist_cb(GtkButton * b, gpointer data) {
}
static GtkWidget *trg_rprefs_connPage(TrgRemotePrefsDialog * win,
- JsonObject * s) {
- TrgRemotePrefsDialogPrivate *priv = TRG_REMOTE_PREFS_DIALOG_GET_PRIVATE(win);
+ JsonObject * s)
+{
+ TrgRemotePrefsDialogPrivate *priv =
+ TRG_REMOTE_PREFS_DIALOG_GET_PRIVATE(win);
GtkWidget *w, *tb, *t;
const gchar *stringValue;
@@ -443,8 +511,8 @@ static GtkWidget *trg_rprefs_connPage(TrgRemotePrefsDialog * win,
hig_workarea_add_section_title(t, &row, _("Connections"));
- w = trg_json_widget_spin_new(&priv->widgets, s, SGET_PEER_PORT, NULL, 0,
- 65535, 1);
+ w = trg_json_widget_spin_new(&priv->widgets, s, SGET_PEER_PORT, NULL,
+ 0, 65535, 1);
hig_workarea_add_row(t, &row, _("Peer port"), w, w);
w = priv->port_test_label = gtk_label_new(_("Port test"));
@@ -453,7 +521,9 @@ static GtkWidget *trg_rprefs_connPage(TrgRemotePrefsDialog * win,
hig_workarea_add_row_w(t, &row, priv->port_test_label, w, NULL);
w = priv->encryption_combo = gtr_combo_box_new_enum(_("Required"), 0,
- _("Preferred"), 1, _("Tolerated"), 2, NULL);
+ _("Preferred"), 1,
+ _("Tolerated"), 2,
+ NULL);
stringValue = session_get_encryption(s);
if (g_strcmp0(stringValue, "required") == 0) {
gtk_combo_box_set_active(GTK_COMBO_BOX(w), 0);
@@ -466,46 +536,50 @@ static GtkWidget *trg_rprefs_connPage(TrgRemotePrefsDialog * win,
hig_workarea_add_row(t, &row, _("Encryption"), w, NULL);
w = trg_json_widget_check_new(&priv->widgets, s,
- SGET_PEER_PORT_RANDOM_ON_START, _("Random peer port on start"),
- NULL);
+ SGET_PEER_PORT_RANDOM_ON_START,
+ _("Random peer port on start"), NULL);
hig_workarea_add_wide_control(t, &row, w);
w = trg_json_widget_check_new(&priv->widgets, s,
- SGET_PORT_FORWARDING_ENABLED, _("Peer port forwarding"), NULL);
+ SGET_PORT_FORWARDING_ENABLED,
+ _("Peer port forwarding"), NULL);
hig_workarea_add_wide_control(t, &row, w);
hig_workarea_add_section_title(t, &row, _("Protocol"));
w = trg_json_widget_check_new(&priv->widgets, s, SGET_PEX_ENABLED,
- _("Peer exchange (PEX)"), NULL);
+ _("Peer exchange (PEX)"), NULL);
hig_workarea_add_wide_control(t, &row, w);
w = trg_json_widget_check_new(&priv->widgets, s, SGET_DHT_ENABLED,
- _("Distributed Hash Table (DHT)"), NULL);
+ _("Distributed Hash Table (DHT)"), NULL);
hig_workarea_add_wide_control(t, &row, w);
w = trg_json_widget_check_new(&priv->widgets, s, SGET_LPD_ENABLED,
- _("Local peer discovery"), NULL);
+ _("Local peer discovery"), NULL);
hig_workarea_add_wide_control(t, &row, w);
hig_workarea_add_section_title(t, &row, _("Blocklist"));
stringValue = g_strdup_printf(_("Blocklist (%ld entries)"),
- session_get_blocklist_size(s));
- tb = priv->blocklist_check = trg_json_widget_check_new(&priv->widgets, s,
- SGET_BLOCKLIST_ENABLED, stringValue, NULL);
+ session_get_blocklist_size(s));
+ tb = priv->blocklist_check =
+ trg_json_widget_check_new(&priv->widgets, s,
+ SGET_BLOCKLIST_ENABLED, stringValue,
+ NULL);
g_free((gchar *) stringValue);
- w = priv->blocklist_update_button = gtk_button_new_with_label(_("Update"));
- g_signal_connect(G_OBJECT(w), "clicked", G_CALLBACK(update_blocklist_cb),
- win);
+ w = priv->blocklist_update_button =
+ gtk_button_new_with_label(_("Update"));
+ g_signal_connect(G_OBJECT(w), "clicked",
+ G_CALLBACK(update_blocklist_cb), win);
hig_workarea_add_row_w(t, &row, tb, w, NULL);
//GtkWidget *trg_json_widget_entry_new(GList **wl, JsonObject *obj, gchar *key, GtkWidget *toggleDep);
stringValue = session_get_blocklist_url(s);
if (stringValue) {
- w = trg_json_widget_entry_new(&priv->widgets, s, SGET_BLOCKLIST_URL,
- NULL);
+ w = trg_json_widget_entry_new(&priv->widgets, s,
+ SGET_BLOCKLIST_URL, NULL);
hig_workarea_add_row(t, &row, _("Blocklist URL:"), w, NULL);
}
@@ -513,8 +587,10 @@ static GtkWidget *trg_rprefs_connPage(TrgRemotePrefsDialog * win,
}
static GtkWidget *trg_rprefs_generalPage(TrgRemotePrefsDialog * win,
- JsonObject * s) {
- TrgRemotePrefsDialogPrivate *priv = TRG_REMOTE_PREFS_DIALOG_GET_PRIVATE(win);
+ JsonObject * s)
+{
+ TrgRemotePrefsDialogPrivate *priv =
+ TRG_REMOTE_PREFS_DIALOG_GET_PRIVATE(win);
GtkWidget *w, *tb, *t;
gint row = 0;
@@ -524,92 +600,109 @@ static GtkWidget *trg_rprefs_generalPage(TrgRemotePrefsDialog * win,
hig_workarea_add_section_title(t, &row, _("Environment"));
- w = trg_json_widget_entry_new(&priv->widgets, s, SGET_DOWNLOAD_DIR, NULL);
+ w = trg_json_widget_entry_new(&priv->widgets, s, SGET_DOWNLOAD_DIR,
+ NULL);
hig_workarea_add_row(t, &row, _("Download directory"), w, NULL);
tb = trg_json_widget_check_new(&priv->widgets, s,
- SGET_INCOMPLETE_DIR_ENABLED, _("Incomplete download dir"), NULL);
- w = trg_json_widget_entry_new(&priv->widgets, s, SGET_INCOMPLETE_DIR, tb);
+ SGET_INCOMPLETE_DIR_ENABLED,
+ _("Incomplete download dir"), NULL);
+ w = trg_json_widget_entry_new(&priv->widgets, s, SGET_INCOMPLETE_DIR,
+ tb);
hig_workarea_add_row_w(t, &row, tb, w, NULL);
tb = trg_json_widget_check_new(&priv->widgets, s,
- SGET_SCRIPT_TORRENT_DONE_ENABLED, _("Torrent done script"), NULL);
+ SGET_SCRIPT_TORRENT_DONE_ENABLED,
+ _("Torrent done script"), NULL);
w = trg_json_widget_entry_new(&priv->widgets, s,
- SGET_SCRIPT_TORRENT_DONE_FILENAME, tb);
+ SGET_SCRIPT_TORRENT_DONE_FILENAME, tb);
hig_workarea_add_row_w(t, &row, tb, w, NULL);
cache_size_mb = session_get_cache_size_mb(s);
if (cache_size_mb >= 0) {
w = trg_json_widget_spin_new(&priv->widgets, s, SGET_CACHE_SIZE_MB,
- NULL, 0, INT_MAX, 1);
+ NULL, 0, INT_MAX, 1);
hig_workarea_add_row(t, &row, _("Cache size (MiB)"), w, w);
}
hig_workarea_add_section_title(t, &row, _("Behavior"));
- w = trg_json_widget_check_new(&priv->widgets, s, SGET_RENAME_PARTIAL_FILES,
- _("Rename partial files"), NULL);
+ w = trg_json_widget_check_new(&priv->widgets, s,
+ SGET_RENAME_PARTIAL_FILES,
+ _("Rename partial files"), NULL);
hig_workarea_add_wide_control(t, &row, w);
w = trg_json_widget_check_new(&priv->widgets, s,
- SGET_TRASH_ORIGINAL_TORRENT_FILES, _
- ("Trash original torrent files"), NULL);
+ SGET_TRASH_ORIGINAL_TORRENT_FILES, _
+ ("Trash original torrent files"), NULL);
hig_workarea_add_wide_control(t, &row, w);
- w = trg_json_widget_check_new(&priv->widgets, s, SGET_START_ADDED_TORRENTS,
- _("Start added torrents"), NULL);
+ w = trg_json_widget_check_new(&priv->widgets, s,
+ SGET_START_ADDED_TORRENTS,
+ _("Start added torrents"), NULL);
hig_workarea_add_wide_control(t, &row, w);
return t;
}
static GObject *trg_remote_prefs_dialog_constructor(GType type,
- guint n_construct_properties, GObjectConstructParam * construct_params) {
+ guint
+ n_construct_properties,
+ GObjectConstructParam *
+ construct_params)
+{
GObject *object;
TrgRemotePrefsDialogPrivate *priv;
JsonObject *session;
GtkWidget *notebook, *contentvbox;
object = G_OBJECT_CLASS
- (trg_remote_prefs_dialog_parent_class)->constructor(type,
- n_construct_properties, construct_params);
+ (trg_remote_prefs_dialog_parent_class)->constructor(type,
+ n_construct_properties,
+ construct_params);
priv = TRG_REMOTE_PREFS_DIALOG_GET_PRIVATE(object);
session = trg_client_get_session(priv->client);
contentvbox = gtk_dialog_get_content_area(GTK_DIALOG(object));
gtk_window_set_title(GTK_WINDOW(object), _("Remote Preferences"));
- gtk_window_set_transient_for(GTK_WINDOW(object), GTK_WINDOW(priv->parent));
+ gtk_window_set_transient_for(GTK_WINDOW(object),
+ GTK_WINDOW(priv->parent));
gtk_window_set_destroy_with_parent(GTK_WINDOW(object), TRUE);
gtk_dialog_add_button(GTK_DIALOG(object), GTK_STOCK_CLOSE,
- GTK_RESPONSE_CLOSE);
- gtk_dialog_add_button(GTK_DIALOG(object), GTK_STOCK_OK, GTK_RESPONSE_OK);
+ GTK_RESPONSE_CLOSE);
+ gtk_dialog_add_button(GTK_DIALOG(object), GTK_STOCK_OK,
+ GTK_RESPONSE_OK);
gtk_container_set_border_width(GTK_CONTAINER(object), GUI_PAD);
gtk_dialog_set_default_response(GTK_DIALOG(object), GTK_RESPONSE_OK);
g_signal_connect(G_OBJECT(object), "response",
- G_CALLBACK(trg_remote_prefs_response_cb), NULL);
+ G_CALLBACK(trg_remote_prefs_response_cb), NULL);
notebook = gtk_notebook_new();
gtk_notebook_append_page(GTK_NOTEBOOK(notebook),
- trg_rprefs_generalPage(TRG_REMOTE_PREFS_DIALOG
- (object), session), gtk_label_new(_("General")));
+ trg_rprefs_generalPage(TRG_REMOTE_PREFS_DIALOG
+ (object), session),
+ gtk_label_new(_("General")));
gtk_notebook_append_page(GTK_NOTEBOOK(notebook),
- trg_rprefs_connPage(TRG_REMOTE_PREFS_DIALOG
- (object), session), gtk_label_new(_("Connections")));
+ trg_rprefs_connPage(TRG_REMOTE_PREFS_DIALOG
+ (object), session),
+ gtk_label_new(_("Connections")));
gtk_notebook_append_page(GTK_NOTEBOOK(notebook),
- trg_rprefs_bandwidthPage(TRG_REMOTE_PREFS_DIALOG
- (object), session), gtk_label_new(_("Bandwidth")));
+ trg_rprefs_bandwidthPage
+ (TRG_REMOTE_PREFS_DIALOG(object), session),
+ gtk_label_new(_("Bandwidth")));
gtk_notebook_append_page(GTK_NOTEBOOK(notebook),
- trg_rprefs_limitsPage(TRG_REMOTE_PREFS_DIALOG
- (object), session), gtk_label_new(_("Limits")));
+ trg_rprefs_limitsPage(TRG_REMOTE_PREFS_DIALOG
+ (object), session),
+ gtk_label_new(_("Limits")));
gtk_container_set_border_width(GTK_CONTAINER(notebook), GUI_PAD);
@@ -618,8 +711,9 @@ static GObject *trg_remote_prefs_dialog_constructor(GType type,
return object;
}
-static void trg_remote_prefs_dialog_class_init(
- TrgRemotePrefsDialogClass * klass) {
+static void trg_remote_prefs_dialog_class_init(TrgRemotePrefsDialogClass *
+ klass)
+{
GObjectClass *object_class = G_OBJECT_CLASS(klass);
g_type_class_add_private(klass, sizeof(TrgRemotePrefsDialogPrivate));
@@ -628,39 +722,51 @@ static void trg_remote_prefs_dialog_class_init(
object_class->get_property = trg_remote_prefs_dialog_get_property;
object_class->set_property = trg_remote_prefs_dialog_set_property;
- g_object_class_install_property(
- object_class,
- PROP_CLIENT,
- g_param_spec_pointer(
- "trg-client",
- "TClient",
- "Client",
- G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY
- | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK
- | G_PARAM_STATIC_BLURB));
-
- g_object_class_install_property(
- object_class,
- PROP_PARENT,
- g_param_spec_object(
- "parent-window",
- "Parent window",
- "Parent window",
- TRG_TYPE_MAIN_WINDOW,
- G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY
- | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK
- | G_PARAM_STATIC_BLURB));
+ g_object_class_install_property(object_class,
+ PROP_CLIENT,
+ g_param_spec_pointer("trg-client",
+ "TClient",
+ "Client",
+ G_PARAM_READWRITE
+ |
+ G_PARAM_CONSTRUCT_ONLY
+ |
+ G_PARAM_STATIC_NAME
+ |
+ G_PARAM_STATIC_NICK
+ |
+ G_PARAM_STATIC_BLURB));
+
+ g_object_class_install_property(object_class,
+ PROP_PARENT,
+ g_param_spec_object("parent-window",
+ "Parent window",
+ "Parent window",
+ TRG_TYPE_MAIN_WINDOW,
+ G_PARAM_READWRITE |
+ G_PARAM_CONSTRUCT_ONLY
+ |
+ G_PARAM_STATIC_NAME
+ |
+ G_PARAM_STATIC_NICK
+ |
+ G_PARAM_STATIC_BLURB));
}
-static void trg_remote_prefs_dialog_init(
- TrgRemotePrefsDialog * self G_GNUC_UNUSED) {
+static void trg_remote_prefs_dialog_init(TrgRemotePrefsDialog *
+ self G_GNUC_UNUSED)
+{
}
-TrgRemotePrefsDialog *trg_remote_prefs_dialog_get_instance(
- TrgMainWindow * parent, TrgClient * client) {
+TrgRemotePrefsDialog *trg_remote_prefs_dialog_get_instance(TrgMainWindow *
+ parent,
+ TrgClient *
+ client)
+{
if (instance == NULL) {
- instance = g_object_new(TRG_TYPE_REMOTE_PREFS_DIALOG, "parent-window",
- parent, "trg-client", client, NULL);
+ instance =
+ g_object_new(TRG_TYPE_REMOTE_PREFS_DIALOG, "parent-window",
+ parent, "trg-client", client, NULL);
}
return TRG_REMOTE_PREFS_DIALOG(instance);
diff --git a/src/trg-state-selector.c b/src/trg-state-selector.c
index 710a0ec..3eeb1ec 100644
--- a/src/trg-state-selector.c
+++ b/src/trg-state-selector.c
@@ -69,17 +69,21 @@ struct _TrgStateSelectorPrivate {
GtkTreeRowReference *down_wait_rr;
};
-GRegex *trg_state_selector_get_url_host_regex(TrgStateSelector * s) {
+GRegex *trg_state_selector_get_url_host_regex(TrgStateSelector * s)
+{
TrgStateSelectorPrivate *priv = TRG_STATE_SELECTOR_GET_PRIVATE(s);
return priv->urlHostRegex;
}
-guint32 trg_state_selector_get_flag(TrgStateSelector * s) {
+guint32 trg_state_selector_get_flag(TrgStateSelector * s)
+{
TrgStateSelectorPrivate *priv = TRG_STATE_SELECTOR_GET_PRIVATE(s);
return priv->flag;
}
-static void state_selection_changed(GtkTreeSelection * selection, gpointer data) {
+static void state_selection_changed(GtkTreeSelection * selection,
+ gpointer data)
+{
TrgStateSelectorPrivate *priv;
GtkTreeIter iter;
GtkTreeModel *stateModel;
@@ -88,20 +92,21 @@ static void state_selection_changed(GtkTreeSelection * selection, gpointer data)
priv = TRG_STATE_SELECTOR_GET_PRIVATE(data);
if (gtk_tree_selection_get_selected(selection, &stateModel, &iter))
- gtk_tree_model_get(stateModel, &iter, STATE_SELECTOR_BIT, &priv->flag,
- STATE_SELECTOR_INDEX, &index, -1);
+ gtk_tree_model_get(stateModel, &iter, STATE_SELECTOR_BIT,
+ &priv->flag, STATE_SELECTOR_INDEX, &index, -1);
else
priv->flag = 0;
trg_prefs_set_int(priv->prefs, TRG_PREFS_STATE_SELECTOR_LAST, index,
- TRG_PREFS_GLOBAL);
+ TRG_PREFS_GLOBAL);
- g_signal_emit(TRG_STATE_SELECTOR(data), signals[SELECTOR_STATE_CHANGED], 0,
- priv->flag);
+ g_signal_emit(TRG_STATE_SELECTOR(data),
+ signals[SELECTOR_STATE_CHANGED], 0, priv->flag);
}
static GtkTreeRowReference *quick_tree_ref_new(GtkTreeModel * model,
- GtkTreeIter * iter) {
+ GtkTreeIter * iter)
+{
GtkTreePath *path = gtk_tree_model_get_path(model, iter);
GtkTreeRowReference *rr = gtk_tree_row_reference_new(model, path);
gtk_tree_path_free(path);
@@ -113,8 +118,10 @@ struct cruft_remove_args {
gint64 serial;
};
-static gboolean trg_state_selector_remove_cruft(gpointer key, gpointer value,
- gpointer data) {
+static gboolean trg_state_selector_remove_cruft(gpointer key,
+ gpointer value,
+ gpointer data)
+{
struct cruft_remove_args *args = (struct cruft_remove_args *) data;
GtkTreeRowReference *rr = (GtkTreeRowReference *) value;
GtkTreeModel *model = gtk_tree_row_reference_get_model(rr);
@@ -125,7 +132,8 @@ static gboolean trg_state_selector_remove_cruft(gpointer key, gpointer value,
gint64 currentSerial;
gtk_tree_model_get_iter(model, &iter, path);
- gtk_tree_model_get(model, &iter, STATE_SELECTOR_SERIAL, &currentSerial, -1);
+ gtk_tree_model_get(model, &iter, STATE_SELECTOR_SERIAL, &currentSerial,
+ -1);
remove = (args->serial != currentSerial);
@@ -134,7 +142,8 @@ static gboolean trg_state_selector_remove_cruft(gpointer key, gpointer value,
return remove;
}
-gchar *trg_state_selector_get_selected_text(TrgStateSelector * s) {
+gchar *trg_state_selector_get_selected_text(TrgStateSelector * s)
+{
GtkTreeSelection *sel = gtk_tree_view_get_selection(GTK_TREE_VIEW(s));
GtkTreeModel *model;
GtkTreeIter iter;
@@ -147,7 +156,9 @@ gchar *trg_state_selector_get_selected_text(TrgStateSelector * s) {
}
static void trg_state_selector_update_dynamic_filter(GtkTreeModel * model,
- GtkTreeRowReference * rr, gint64 serial) {
+ GtkTreeRowReference *
+ rr, gint64 serial)
+{
GtkTreeIter iter;
GtkTreePath *path = gtk_tree_row_reference_get_path(rr);
gint64 oldSerial;
@@ -156,38 +167,40 @@ static void trg_state_selector_update_dynamic_filter(GtkTreeModel * model,
gtk_tree_model_get_iter(model, &iter, path);
gtk_tree_model_get(model, &iter, STATE_SELECTOR_SERIAL, &oldSerial,
- STATE_SELECTOR_COUNT, &oldCount, -1);
+ STATE_SELECTOR_COUNT, &oldCount, -1);
if (oldSerial != serial) {
g_value_init(&gvalue, G_TYPE_INT);
g_value_set_int(&gvalue, 1);
gtk_list_store_set_value(GTK_LIST_STORE(model), &iter,
- STATE_SELECTOR_COUNT, &gvalue);
+ STATE_SELECTOR_COUNT, &gvalue);
memset(&gvalue, 0, sizeof(GValue));
g_value_init(&gvalue, G_TYPE_INT64);
g_value_set_int64(&gvalue, serial);
gtk_list_store_set_value(GTK_LIST_STORE(model), &iter,
- STATE_SELECTOR_SERIAL, &gvalue);
+ STATE_SELECTOR_SERIAL, &gvalue);
} else {
g_value_init(&gvalue, G_TYPE_INT);
g_value_set_int(&gvalue, ++oldCount);
gtk_list_store_set_value(GTK_LIST_STORE(model), &iter,
- STATE_SELECTOR_COUNT, &gvalue);
+ STATE_SELECTOR_COUNT, &gvalue);
}
gtk_tree_path_free(path);
}
-static void refresh_statelist_cb(GtkWidget * w, gpointer data) {
+static void refresh_statelist_cb(GtkWidget * w, gpointer data)
+{
TrgStateSelectorPrivate *priv = TRG_STATE_SELECTOR_GET_PRIVATE(data);
trg_client_inc_serial(priv->client);
trg_state_selector_update(TRG_STATE_SELECTOR(data),
- TORRENT_UPDATE_ADDREMOVE);
+ TORRENT_UPDATE_ADDREMOVE);
}
static void view_popup_menu(GtkWidget * treeview, GdkEventButton * event,
- gpointer data G_GNUC_UNUSED) {
+ gpointer data G_GNUC_UNUSED)
+{
GtkWidget *menu, *item;
menu = gtk_menu_new();
@@ -195,25 +208,28 @@ static void view_popup_menu(GtkWidget * treeview, GdkEventButton * event,
item = gtk_image_menu_item_new_with_label(GTK_STOCK_REFRESH);
gtk_image_menu_item_set_use_stock(GTK_IMAGE_MENU_ITEM(item), TRUE);
gtk_image_menu_item_set_always_show_image(GTK_IMAGE_MENU_ITEM
- (item), TRUE);
+ (item), TRUE);
g_signal_connect(item, "activate", G_CALLBACK(refresh_statelist_cb),
- treeview);
+ treeview);
gtk_menu_shell_append(GTK_MENU_SHELL(menu), item);
gtk_widget_show_all(menu);
gtk_menu_popup(GTK_MENU(menu), NULL, NULL, NULL, NULL,
- (event != NULL) ? event->button : 0,
- gdk_event_get_time((GdkEvent *) event));
- }
+ (event != NULL) ? event->button : 0,
+ gdk_event_get_time((GdkEvent *) event));
+}
-static gboolean view_onPopupMenu(GtkWidget * treeview, gpointer userdata) {
+static gboolean view_onPopupMenu(GtkWidget * treeview, gpointer userdata)
+{
view_popup_menu(treeview, NULL, userdata);
return TRUE;
}
static gboolean view_onButtonPressed(GtkWidget * treeview,
- GdkEventButton * event, gpointer userdata) {
+ GdkEventButton * event,
+ gpointer userdata)
+{
if (event->type == GDK_BUTTON_PRESS && event->button == 3) {
view_popup_menu(treeview, event, userdata);
return TRUE;
@@ -230,7 +246,10 @@ struct state_find_pos {
};
static gboolean trg_state_selector_find_pos_foreach(GtkTreeModel * model,
- GtkTreePath * path, GtkTreeIter * iter, gpointer data) {
+ GtkTreePath * path,
+ GtkTreeIter * iter,
+ gpointer data)
+{
struct state_find_pos *args = (struct state_find_pos *) data;
gchar *name;
gboolean res;
@@ -238,7 +257,8 @@ static gboolean trg_state_selector_find_pos_foreach(GtkTreeModel * model,
if (args->pos < args->offset) {
args->pos++;
return FALSE;
- } else if (args->range >= 0 && args->pos > args->offset + args->range - 1) {
+ } else if (args->range >= 0
+ && args->pos > args->offset + args->range - 1) {
return TRUE;
}
@@ -253,7 +273,9 @@ static gboolean trg_state_selector_find_pos_foreach(GtkTreeModel * model,
}
static void trg_state_selector_insert(TrgStateSelector * s, int offset,
- gint range, const gchar * name, GtkTreeIter * iter) {
+ gint range, const gchar * name,
+ GtkTreeIter * iter)
+{
GtkTreeModel *model = gtk_tree_view_get_model(GTK_TREE_VIEW(s));
struct state_find_pos args;
@@ -262,11 +284,13 @@ static void trg_state_selector_insert(TrgStateSelector * s, int offset,
args.range = range;
args.name = name;
- gtk_tree_model_foreach(model, trg_state_selector_find_pos_foreach, &args);
+ gtk_tree_model_foreach(model, trg_state_selector_find_pos_foreach,
+ &args);
gtk_list_store_insert(GTK_LIST_STORE(model), iter, args.pos);
}
-void trg_state_selector_update(TrgStateSelector * s, guint whatsChanged) {
+void trg_state_selector_update(TrgStateSelector * s, guint whatsChanged)
+{
TrgStateSelectorPrivate *priv = TRG_STATE_SELECTOR_GET_PRIVATE(s);
GtkTreeModel *model = gtk_tree_view_get_model(GTK_TREE_VIEW(s));
TrgClient *client = priv->client;
@@ -283,8 +307,8 @@ void trg_state_selector_update(TrgStateSelector * s, guint whatsChanged) {
if (!trg_client_is_connected(client))
return;
- torrentItemRefs = g_hash_table_get_values(
- trg_client_get_torrent_table(client));
+ torrentItemRefs =
+ g_hash_table_get_values(trg_client_get_torrent_table(client));
for (li = torrentItemRefs; li; li = g_list_next(li)) {
JsonObject *t = NULL;
@@ -295,7 +319,7 @@ void trg_state_selector_update(TrgStateSelector * s, guint whatsChanged) {
if (path) {
if (gtk_tree_model_get_iter(torrentModel, &torrentIter, path)) {
gtk_tree_model_get(torrentModel, &torrentIter,
- TORRENT_COLUMN_JSON, &t, -1);
+ TORRENT_COLUMN_JSON, &t, -1);
}
gtk_tree_path_free(path);
}
@@ -303,16 +327,19 @@ void trg_state_selector_update(TrgStateSelector * s, guint whatsChanged) {
if (!t)
continue;
- if (priv->showTrackers && (whatsChanged & TORRENT_UPDATE_ADDREMOVE)) {
- trackersList = json_array_get_elements(
- torrent_get_tracker_stats(t));
+ if (priv->showTrackers
+ && (whatsChanged & TORRENT_UPDATE_ADDREMOVE)) {
+ trackersList =
+ json_array_get_elements(torrent_get_tracker_stats(t));
for (trackerItem = trackersList; trackerItem;
- trackerItem = g_list_next(trackerItem)) {
- JsonObject *tracker = json_node_get_object(
- (JsonNode *) trackerItem->data);
- const gchar *announceUrl = tracker_stats_get_announce(tracker);
- gchar *announceHost = trg_gregex_get_first(priv->urlHostRegex,
- announceUrl);
+ trackerItem = g_list_next(trackerItem)) {
+ JsonObject *tracker =
+ json_node_get_object((JsonNode *) trackerItem->data);
+ const gchar *announceUrl =
+ tracker_stats_get_announce(tracker);
+ gchar *announceHost =
+ trg_gregex_get_first(priv->urlHostRegex,
+ announceUrl);
if (!announceHost)
continue;
@@ -321,47 +348,60 @@ void trg_state_selector_update(TrgStateSelector * s, guint whatsChanged) {
if (result) {
trg_state_selector_update_dynamic_filter(model,
- (GtkTreeRowReference *) result, updateSerial);
+ (GtkTreeRowReference
+ *) result,
+ updateSerial);
g_free(announceHost);
} else {
trg_state_selector_insert(s, priv->n_categories,
- g_hash_table_size(priv->trackers), announceHost,
- &iter);
+ g_hash_table_size(priv->
+ trackers),
+ announceHost, &iter);
gtk_list_store_set(GTK_LIST_STORE(model), &iter,
- STATE_SELECTOR_ICON, GTK_STOCK_NETWORK,
- STATE_SELECTOR_NAME, announceHost,
- STATE_SELECTOR_SERIAL, updateSerial,
- STATE_SELECTOR_COUNT, 1, STATE_SELECTOR_BIT,
- FILTER_FLAG_TRACKER, STATE_SELECTOR_INDEX, 0, -1);
+ STATE_SELECTOR_ICON,
+ GTK_STOCK_NETWORK,
+ STATE_SELECTOR_NAME, announceHost,
+ STATE_SELECTOR_SERIAL, updateSerial,
+ STATE_SELECTOR_COUNT, 1,
+ STATE_SELECTOR_BIT,
+ FILTER_FLAG_TRACKER,
+ STATE_SELECTOR_INDEX, 0, -1);
g_hash_table_insert(priv->trackers, announceHost,
- quick_tree_ref_new(model, &iter));
+ quick_tree_ref_new(model, &iter));
}
}
g_list_free(trackersList);
}
- if (priv->showDirs
- && ((whatsChanged & TORRENT_UPDATE_ADDREMOVE)
- || (whatsChanged & TORRENT_UPDATE_PATH_CHANGE))) {
+ if (priv->showDirs && ((whatsChanged & TORRENT_UPDATE_ADDREMOVE)
+ || (whatsChanged &
+ TORRENT_UPDATE_PATH_CHANGE))) {
gchar *dir;
gtk_tree_model_get(torrentModel, &torrentIter,
- TORRENT_COLUMN_DOWNLOADDIR_SHORT, &dir, -1);
+ TORRENT_COLUMN_DOWNLOADDIR_SHORT, &dir, -1);
result = g_hash_table_lookup(priv->directories, dir);
if (result) {
trg_state_selector_update_dynamic_filter(model,
- (GtkTreeRowReference *) result, updateSerial);
+ (GtkTreeRowReference
+ *) result,
+ updateSerial);
} else {
trg_state_selector_insert(s,
- priv->n_categories + g_hash_table_size(priv->trackers),
- -1, dir, &iter);
+ priv->n_categories +
+ g_hash_table_size(priv->
+ trackers), -1,
+ dir, &iter);
gtk_list_store_set(GTK_LIST_STORE(model), &iter,
- STATE_SELECTOR_ICON, GTK_STOCK_DIRECTORY,
- STATE_SELECTOR_NAME, dir, STATE_SELECTOR_SERIAL,
- updateSerial, STATE_SELECTOR_BIT, FILTER_FLAG_DIR,
- STATE_SELECTOR_COUNT, 1, STATE_SELECTOR_INDEX, 0, -1);
+ STATE_SELECTOR_ICON,
+ GTK_STOCK_DIRECTORY,
+ STATE_SELECTOR_NAME, dir,
+ STATE_SELECTOR_SERIAL, updateSerial,
+ STATE_SELECTOR_BIT, FILTER_FLAG_DIR,
+ STATE_SELECTOR_COUNT, 1,
+ STATE_SELECTOR_INDEX, 0, -1);
g_hash_table_insert(priv->directories, g_strdup(dir),
- quick_tree_ref_new(model, &iter));
+ quick_tree_ref_new(model, &iter));
}
g_free(dir);
@@ -375,19 +415,21 @@ void trg_state_selector_update(TrgStateSelector * s, guint whatsChanged) {
if (priv->showTrackers && ((whatsChanged & TORRENT_UPDATE_ADDREMOVE))) {
cruft.table = priv->trackers;
g_hash_table_foreach_remove(priv->trackers,
- trg_state_selector_remove_cruft, &cruft);
+ trg_state_selector_remove_cruft,
+ &cruft);
}
- if (priv->showDirs
- && ((whatsChanged & TORRENT_UPDATE_ADDREMOVE)
- || (whatsChanged & TORRENT_UPDATE_PATH_CHANGE))) {
+ if (priv->showDirs && ((whatsChanged & TORRENT_UPDATE_ADDREMOVE)
+ || (whatsChanged & TORRENT_UPDATE_PATH_CHANGE))) {
cruft.table = priv->directories;
g_hash_table_foreach_remove(priv->directories,
- trg_state_selector_remove_cruft, &cruft);
+ trg_state_selector_remove_cruft,
+ &cruft);
}
}
-void trg_state_selector_set_show_dirs(TrgStateSelector * s, gboolean show) {
+void trg_state_selector_set_show_dirs(TrgStateSelector * s, gboolean show)
+{
TrgStateSelectorPrivate *priv = TRG_STATE_SELECTOR_GET_PRIVATE(s);
priv->showDirs = show;
if (!show)
@@ -397,17 +439,21 @@ void trg_state_selector_set_show_dirs(TrgStateSelector * s, gboolean show) {
}
static void on_torrents_state_change(TrgTorrentModel * model,
- guint whatsChanged, gpointer data) {
+ guint whatsChanged, gpointer data)
+{
TrgStateSelector *selector = TRG_STATE_SELECTOR(data);
trg_state_selector_update(selector, whatsChanged);
if ((whatsChanged & TORRENT_UPDATE_ADDREMOVE)
- || (whatsChanged & TORRENT_UPDATE_STATE_CHANGE))
+ || (whatsChanged & TORRENT_UPDATE_STATE_CHANGE))
trg_state_selector_stats_update(selector,
- trg_torrent_model_get_stats(model));
+ trg_torrent_model_get_stats
+ (model));
}
-void trg_state_selector_set_show_trackers(TrgStateSelector * s, gboolean show) {
+void trg_state_selector_set_show_trackers(TrgStateSelector * s,
+ gboolean show)
+{
TrgStateSelectorPrivate *priv = TRG_STATE_SELECTOR_GET_PRIVATE(s);
priv->showTrackers = show;
if (!show)
@@ -417,11 +463,15 @@ void trg_state_selector_set_show_trackers(TrgStateSelector * s, gboolean show) {
}
static void trg_state_selector_add_state(TrgStateSelector * selector,
- GtkTreeIter * iter, gint pos, gchar * icon, gchar * name, guint32 flag,
- GtkTreeRowReference **rr) {
- TrgStateSelectorPrivate *priv = TRG_STATE_SELECTOR_GET_PRIVATE(selector);
+ GtkTreeIter * iter, gint pos,
+ gchar * icon, gchar * name,
+ guint32 flag,
+ GtkTreeRowReference ** rr)
+{
+ TrgStateSelectorPrivate *priv =
+ TRG_STATE_SELECTOR_GET_PRIVATE(selector);
GtkListStore *model =
- GTK_LIST_STORE(gtk_tree_view_get_model(GTK_TREE_VIEW(selector)));
+ GTK_LIST_STORE(gtk_tree_view_get_model(GTK_TREE_VIEW(selector)));
if (pos < 0)
gtk_list_store_append(priv->store, iter);
@@ -429,9 +479,11 @@ static void trg_state_selector_add_state(TrgStateSelector * selector,
gtk_list_store_insert(priv->store, iter, pos);
gtk_list_store_set(model, iter, STATE_SELECTOR_ICON, icon,
- STATE_SELECTOR_NAME, name, STATE_SELECTOR_BIT, flag,
- STATE_SELECTOR_INDEX, gtk_tree_model_iter_n_children(GTK_TREE_MODEL
- (model), NULL) - 1, -1);
+ STATE_SELECTOR_NAME, name, STATE_SELECTOR_BIT, flag,
+ STATE_SELECTOR_INDEX,
+ gtk_tree_model_iter_n_children(GTK_TREE_MODEL
+ (model), NULL) - 1,
+ -1);
if (rr)
*rr = quick_tree_ref_new(GTK_TREE_MODEL(model), iter);
@@ -439,7 +491,8 @@ static void trg_state_selector_add_state(TrgStateSelector * selector,
priv->n_categories++;
}
-static void remove_row_ref_and_free(GtkTreeRowReference * rr) {
+static void remove_row_ref_and_free(GtkTreeRowReference * rr)
+{
GtkTreeModel *model = gtk_tree_row_reference_get_model(rr);
GtkTreePath *path = gtk_tree_row_reference_get_path(rr);
GtkTreeIter iter;
@@ -450,7 +503,9 @@ static void remove_row_ref_and_free(GtkTreeRowReference * rr) {
gtk_tree_row_reference_free(rr);
}
-static void trg_state_selector_update_stat(GtkTreeRowReference *rr, gint count) {
+static void trg_state_selector_update_stat(GtkTreeRowReference * rr,
+ gint count)
+{
if (rr) {
GValue gvalue = { 0 };
GtkTreeIter iter;
@@ -462,20 +517,22 @@ static void trg_state_selector_update_stat(GtkTreeRowReference *rr, gint count)
g_value_init(&gvalue, G_TYPE_INT);
g_value_set_int(&gvalue, count);
gtk_list_store_set_value(GTK_LIST_STORE(model), &iter,
- STATE_SELECTOR_COUNT, &gvalue);
+ STATE_SELECTOR_COUNT, &gvalue);
gtk_tree_path_free(path);
}
}
void trg_state_selector_stats_update(TrgStateSelector * s,
- trg_torrent_model_update_stats * stats) {
+ trg_torrent_model_update_stats *
+ stats)
+{
TrgStateSelectorPrivate *priv = TRG_STATE_SELECTOR_GET_PRIVATE(s);
GtkTreeIter iter;
if (stats->error > 0 && !priv->error_rr) {
trg_state_selector_add_state(s, &iter, priv->n_categories - 1,
- GTK_STOCK_DIALOG_WARNING, _("Error"), TORRENT_FLAG_ERROR,
- &priv->error_rr);
+ GTK_STOCK_DIALOG_WARNING, _("Error"),
+ TORRENT_FLAG_ERROR, &priv->error_rr);
} else if (stats->error < 1 && priv->error_rr) {
remove_row_ref_and_free(priv->error_rr);
@@ -496,7 +553,8 @@ void trg_state_selector_stats_update(TrgStateSelector * s,
trg_state_selector_update_stat(priv->seed_wait_rr, stats->seed_wait);
}
-void trg_state_selector_disconnect(TrgStateSelector * s) {
+void trg_state_selector_disconnect(TrgStateSelector * s)
+{
TrgStateSelectorPrivate *priv = TRG_STATE_SELECTOR_GET_PRIVATE(s);
if (priv->error_rr) {
@@ -519,20 +577,27 @@ void trg_state_selector_disconnect(TrgStateSelector * s) {
trg_state_selector_update_stat(priv->checking_rr, -1);
}
-static void trg_state_selector_init(TrgStateSelector * self) {
+static void trg_state_selector_init(TrgStateSelector * self)
+{
}
TrgStateSelector *trg_state_selector_new(TrgClient * client,
- TrgTorrentModel *tmodel) {
- TrgStateSelector *selector = g_object_new(TRG_TYPE_STATE_SELECTOR, "client",
- client, NULL);
+ TrgTorrentModel * tmodel)
+{
+ TrgStateSelector *selector =
+ g_object_new(TRG_TYPE_STATE_SELECTOR, "client",
+ client, NULL);
g_signal_connect(tmodel, "torrents-state-change",
- G_CALLBACK(on_torrents_state_change), selector);
+ G_CALLBACK(on_torrents_state_change), selector);
return selector;
}
static GObject *trg_state_selector_constructor(GType type,
- guint n_construct_properties, GObjectConstructParam * construct_params) {
+ guint
+ n_construct_properties,
+ GObjectConstructParam *
+ construct_params)
+{
GObject *object;
TrgStateSelector *selector;
TrgStateSelectorPrivate *priv;
@@ -544,17 +609,20 @@ static GObject *trg_state_selector_constructor(GType type,
GtkTreeSelection *selection;
object = G_OBJECT_CLASS
- (trg_state_selector_parent_class)->constructor(type,
- n_construct_properties, construct_params);
+ (trg_state_selector_parent_class)->constructor(type,
+ n_construct_properties,
+ construct_params);
selector = TRG_STATE_SELECTOR(object);
priv = TRG_STATE_SELECTOR_GET_PRIVATE(object);
priv->urlHostRegex = trg_uri_host_regex_new();
priv->trackers = g_hash_table_new_full(g_str_hash, g_str_equal, g_free,
- (GDestroyNotify) remove_row_ref_and_free);
- priv->directories = g_hash_table_new_full(g_str_hash, g_str_equal, g_free,
- (GDestroyNotify) remove_row_ref_and_free);
+ (GDestroyNotify)
+ remove_row_ref_and_free);
+ priv->directories =
+ g_hash_table_new_full(g_str_hash, g_str_equal, g_free,
+ (GDestroyNotify) remove_row_ref_and_free);
gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(object), FALSE);
@@ -564,43 +632,53 @@ static GObject *trg_state_selector_constructor(GType type,
gtk_tree_view_column_pack_start(column, renderer, FALSE);
g_object_set(renderer, "stock-size", 4, NULL);
gtk_tree_view_column_set_attributes(column, renderer, "stock-id",
- STATE_SELECTOR_ICON, NULL);
+ STATE_SELECTOR_ICON, NULL);
renderer = trg_cell_renderer_counter_new();
gtk_tree_view_column_pack_start(column, renderer, TRUE);
gtk_tree_view_column_set_attributes(column, renderer, "state-label",
- STATE_SELECTOR_NAME, "state-count", STATE_SELECTOR_COUNT, NULL);
+ STATE_SELECTOR_NAME, "state-count",
+ STATE_SELECTOR_COUNT, NULL);
gtk_tree_view_append_column(GTK_TREE_VIEW(object), column);
store = priv->store = gtk_list_store_new(STATE_SELECTOR_COLUMNS,
- G_TYPE_STRING, G_TYPE_STRING, G_TYPE_INT, G_TYPE_UINT, G_TYPE_INT64,
- G_TYPE_UINT);
+ G_TYPE_STRING, G_TYPE_STRING,
+ G_TYPE_INT, G_TYPE_UINT,
+ G_TYPE_INT64, G_TYPE_UINT);
gtk_tree_view_set_model(GTK_TREE_VIEW(object), GTK_TREE_MODEL(store));
- trg_state_selector_add_state(selector, &iter, -1, GTK_STOCK_ABOUT, _("All"),
- 0, &priv->all_rr);
+ trg_state_selector_add_state(selector, &iter, -1, GTK_STOCK_ABOUT,
+ _("All"), 0, &priv->all_rr);
trg_state_selector_add_state(selector, &iter, -1, GTK_STOCK_GO_DOWN,
- _("Downloading"), TORRENT_FLAG_DOWNLOADING, &priv->down_rr);
- trg_state_selector_add_state(selector, &iter, -1, GTK_STOCK_MEDIA_REWIND,
- _("Queue Down"), TORRENT_FLAG_DOWNLOADING_WAIT,
- &priv->down_wait_rr);
+ _("Downloading"),
+ TORRENT_FLAG_DOWNLOADING, &priv->down_rr);
+ trg_state_selector_add_state(selector, &iter, -1,
+ GTK_STOCK_MEDIA_REWIND, _("Queue Down"),
+ TORRENT_FLAG_DOWNLOADING_WAIT,
+ &priv->down_wait_rr);
trg_state_selector_add_state(selector, &iter, -1, GTK_STOCK_GO_UP,
- _("Seeding"), TORRENT_FLAG_SEEDING, &priv->seeding_rr);
- trg_state_selector_add_state(selector, &iter, -1, GTK_STOCK_MEDIA_FORWARD,
- _("Queue Up"), TORRENT_FLAG_SEEDING_WAIT,
- &priv->seed_wait_rr);
- trg_state_selector_add_state(selector, &iter, -1, GTK_STOCK_MEDIA_PAUSE,
- _("Paused"), TORRENT_FLAG_PAUSED, &priv->paused_rr);
+ _("Seeding"), TORRENT_FLAG_SEEDING,
+ &priv->seeding_rr);
+ trg_state_selector_add_state(selector, &iter, -1,
+ GTK_STOCK_MEDIA_FORWARD, _("Queue Up"),
+ TORRENT_FLAG_SEEDING_WAIT,
+ &priv->seed_wait_rr);
+ trg_state_selector_add_state(selector, &iter, -1,
+ GTK_STOCK_MEDIA_PAUSE, _("Paused"),
+ TORRENT_FLAG_PAUSED, &priv->paused_rr);
trg_state_selector_add_state(selector, &iter, -1, GTK_STOCK_APPLY,
- _("Complete"), TORRENT_FLAG_COMPLETE, &priv->complete_rr);
+ _("Complete"), TORRENT_FLAG_COMPLETE,
+ &priv->complete_rr);
trg_state_selector_add_state(selector, &iter, -1, GTK_STOCK_SELECT_ALL,
- _("Incomplete"), TORRENT_FLAG_INCOMPLETE,
- &priv->incomplete_rr);
+ _("Incomplete"), TORRENT_FLAG_INCOMPLETE,
+ &priv->incomplete_rr);
trg_state_selector_add_state(selector, &iter, -1, GTK_STOCK_NETWORK,
- _("Active"), TORRENT_FLAG_ACTIVE, &priv->active_rr);
+ _("Active"), TORRENT_FLAG_ACTIVE,
+ &priv->active_rr);
trg_state_selector_add_state(selector, &iter, -1, GTK_STOCK_REFRESH,
- _("Checking"), TORRENT_FLAG_CHECKING_ANY, &priv->checking_rr);
+ _("Checking"), TORRENT_FLAG_CHECKING_ANY,
+ &priv->checking_rr);
trg_state_selector_add_state(selector, &iter, -1, NULL, NULL, 0, NULL);
gtk_tree_view_set_rubber_banding(GTK_TREE_VIEW(object), TRUE);
@@ -608,43 +686,50 @@ static GObject *trg_state_selector_constructor(GType type,
selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(object));
g_signal_connect(G_OBJECT(selection), "changed",
- G_CALLBACK(state_selection_changed), object);
+ G_CALLBACK(state_selection_changed), object);
g_signal_connect(object, "button-press-event",
- G_CALLBACK(view_onButtonPressed), NULL);
- g_signal_connect(object, "popup-menu", G_CALLBACK(view_onPopupMenu), NULL);
+ G_CALLBACK(view_onButtonPressed), NULL);
+ g_signal_connect(object, "popup-menu", G_CALLBACK(view_onPopupMenu),
+ NULL);
- gtk_tree_view_set_search_column(GTK_TREE_VIEW(object), STATE_SELECTOR_NAME);
+ gtk_tree_view_set_search_column(GTK_TREE_VIEW(object),
+ STATE_SELECTOR_NAME);
index = trg_prefs_get_int(priv->prefs, TRG_PREFS_STATE_SELECTOR_LAST,
- TRG_PREFS_GLOBAL);
+ TRG_PREFS_GLOBAL);
if (index > 0
- && gtk_tree_model_iter_nth_child(GTK_TREE_MODEL(store), &iter, NULL,
- index)) {
- GtkTreeSelection *selection = gtk_tree_view_get_selection(
- GTK_TREE_VIEW(object));
+ && gtk_tree_model_iter_nth_child(GTK_TREE_MODEL(store), &iter,
+ NULL, index)) {
+ GtkTreeSelection *selection =
+ gtk_tree_view_get_selection(GTK_TREE_VIEW(object));
gtk_tree_selection_select_iter(selection, &iter);
}
- priv->showDirs = trg_prefs_get_bool(priv->prefs, TRG_PREFS_KEY_FILTER_DIRS,
- TRG_PREFS_GLOBAL);
- priv->showTrackers = trg_prefs_get_bool(priv->prefs,
- TRG_PREFS_KEY_FILTER_TRACKERS, TRG_PREFS_GLOBAL);
+ priv->showDirs =
+ trg_prefs_get_bool(priv->prefs, TRG_PREFS_KEY_FILTER_DIRS,
+ TRG_PREFS_GLOBAL);
+ priv->showTrackers =
+ trg_prefs_get_bool(priv->prefs, TRG_PREFS_KEY_FILTER_TRACKERS,
+ TRG_PREFS_GLOBAL);
return object;
}
void trg_state_selector_set_queues_enabled(TrgStateSelector * s,
- gboolean enabled) {
+ gboolean enabled)
+{
TrgStateSelectorPrivate *priv = TRG_STATE_SELECTOR_GET_PRIVATE(s);
GtkTreeIter iter;
if (enabled) {
trg_state_selector_add_state(s, &iter, 2, GTK_STOCK_MEDIA_REWIND,
- _("Queue Down"), TORRENT_FLAG_DOWNLOADING_WAIT,
- &priv->down_wait_rr);
+ _("Queue Down"),
+ TORRENT_FLAG_DOWNLOADING_WAIT,
+ &priv->down_wait_rr);
trg_state_selector_add_state(s, &iter, 4, GTK_STOCK_MEDIA_FORWARD,
- _("Queue Up"), TORRENT_FLAG_SEEDING_WAIT,
- &priv->seed_wait_rr);
+ _("Queue Up"),
+ TORRENT_FLAG_SEEDING_WAIT,
+ &priv->seed_wait_rr);
} else {
remove_row_ref_and_free(priv->seed_wait_rr);
remove_row_ref_and_free(priv->down_wait_rr);
@@ -654,8 +739,11 @@ void trg_state_selector_set_queues_enabled(TrgStateSelector * s,
}
}
-static void trg_state_selector_get_property(GObject * object, guint property_id,
- GValue * value, GParamSpec * pspec) {
+static void trg_state_selector_get_property(GObject * object,
+ guint property_id,
+ GValue * value,
+ GParamSpec * pspec)
+{
TrgStateSelectorPrivate *priv = TRG_STATE_SELECTOR_GET_PRIVATE(object);
switch (property_id) {
case PROP_CLIENT:
@@ -667,8 +755,12 @@ static void trg_state_selector_get_property(GObject * object, guint property_id,
}
}
-static void trg_state_selector_set_property(GObject * object, guint prop_id,
- const GValue * value, GParamSpec * pspec G_GNUC_UNUSED) {
+static void trg_state_selector_set_property(GObject * object,
+ guint prop_id,
+ const GValue * value,
+ GParamSpec *
+ pspec G_GNUC_UNUSED)
+{
TrgStateSelectorPrivate *priv = TRG_STATE_SELECTOR_GET_PRIVATE(object);
switch (prop_id) {
@@ -679,31 +771,40 @@ static void trg_state_selector_set_property(GObject * object, guint prop_id,
}
}
-static void trg_state_selector_class_init(TrgStateSelectorClass * klass) {
+static void trg_state_selector_class_init(TrgStateSelectorClass * klass)
+{
GObjectClass *object_class = G_OBJECT_CLASS(klass);
object_class->constructor = trg_state_selector_constructor;
object_class->set_property = trg_state_selector_set_property;
object_class->get_property = trg_state_selector_get_property;
signals[SELECTOR_STATE_CHANGED] = g_signal_new("torrent-state-changed",
- G_TYPE_FROM_CLASS
- (object_class), G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,
- G_STRUCT_OFFSET
- (TrgStateSelectorClass,
- torrent_state_changed), NULL, NULL,
- g_cclosure_marshal_VOID__UINT, G_TYPE_NONE, 1, G_TYPE_UINT);
-
- g_object_class_install_property(
- object_class,
- PROP_CLIENT,
- g_param_spec_object(
- "client",
- "Client",
- "Client",
- TRG_TYPE_CLIENT,
- G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY
- | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK
- | G_PARAM_STATIC_BLURB));
+ G_TYPE_FROM_CLASS
+ (object_class),
+ G_SIGNAL_RUN_LAST |
+ G_SIGNAL_ACTION,
+ G_STRUCT_OFFSET
+ (TrgStateSelectorClass,
+ torrent_state_changed),
+ NULL, NULL,
+ g_cclosure_marshal_VOID__UINT,
+ G_TYPE_NONE, 1,
+ G_TYPE_UINT);
+
+ g_object_class_install_property(object_class,
+ PROP_CLIENT,
+ g_param_spec_object("client",
+ "Client",
+ "Client",
+ TRG_TYPE_CLIENT,
+ G_PARAM_READWRITE |
+ G_PARAM_CONSTRUCT_ONLY
+ |
+ G_PARAM_STATIC_NAME
+ |
+ G_PARAM_STATIC_NICK
+ |
+ G_PARAM_STATIC_BLURB));
g_type_class_add_private(klass, sizeof(TrgStateSelectorPrivate));
}
diff --git a/src/trg-state-selector.h b/src/trg-state-selector.h
index 2d9af17..a00251c 100644
--- a/src/trg-state-selector.h
+++ b/src/trg-state-selector.h
@@ -61,7 +61,8 @@ typedef struct {
} TrgStateSelectorClass;
GType trg_state_selector_get_type(void);
-TrgStateSelector *trg_state_selector_new(TrgClient * client, TrgTorrentModel *tmodel);
+TrgStateSelector *trg_state_selector_new(TrgClient * client,
+ TrgTorrentModel * tmodel);
G_END_DECLS guint32 trg_state_selector_get_flag(TrgStateSelector * s);
void trg_state_selector_update(TrgStateSelector * s, guint whatsChanged);
diff --git a/src/trg-status-bar.c b/src/trg-status-bar.c
index 5fdee8c..4d3efc2 100644
--- a/src/trg-status-bar.c
+++ b/src/trg-status-bar.c
@@ -54,24 +54,29 @@ struct _TrgStatusBarPrivate {
TrgMainWindow *win;
};
-static void trg_status_bar_class_init(TrgStatusBarClass * klass) {
+static void trg_status_bar_class_init(TrgStatusBarClass * klass)
+{
g_type_class_add_private(klass, sizeof(TrgStatusBarPrivate));
}
-void trg_status_bar_clear_indicators(TrgStatusBar * sb) {
+void trg_status_bar_clear_indicators(TrgStatusBar * sb)
+{
TrgStatusBarPrivate *priv = TRG_STATUS_BAR_GET_PRIVATE(sb);
gtk_label_set_text(GTK_LABEL(priv->free_lbl), "");
gtk_label_set_text(GTK_LABEL(priv->speed_lbl), "");
}
-void trg_status_bar_reset(TrgStatusBar * sb) {
+void trg_status_bar_reset(TrgStatusBar * sb)
+{
TrgStatusBarPrivate *priv = TRG_STATUS_BAR_GET_PRIVATE(sb);
trg_status_bar_clear_indicators(sb);
gtk_label_set_text(GTK_LABEL(priv->info_lbl), _("Disconnected"));
gtk_widget_set_visible(priv->turtleEventBox, FALSE);
}
-static void turtle_toggle(GtkWidget *w, GdkEventButton * event, gpointer data) {
+static void turtle_toggle(GtkWidget * w, GdkEventButton * event,
+ gpointer data)
+{
TrgStatusBarPrivate *priv = TRG_STATUS_BAR_GET_PRIVATE(data);
JsonNode *req = session_set();
JsonObject *args = node_get_arguments(req);
@@ -82,14 +87,16 @@ static void turtle_toggle(GtkWidget *w, GdkEventButton * event, gpointer data) {
altSpeedOn = g_strcmp0(stockName, "alt-speed-on") == 0;
gtk_image_set_from_stock(GTK_IMAGE(priv->turtleImage),
- altSpeedOn ? "alt-speed-off" : "alt-speed-on",
- GTK_ICON_SIZE_SMALL_TOOLBAR);
- json_object_set_boolean_member(args, SGET_ALT_SPEED_ENABLED, !altSpeedOn);
+ altSpeedOn ? "alt-speed-off" : "alt-speed-on",
+ GTK_ICON_SIZE_SMALL_TOOLBAR);
+ json_object_set_boolean_member(args, SGET_ALT_SPEED_ENABLED,
+ !altSpeedOn);
dispatch_async(priv->client, req, on_session_set, priv->win);
}
-static void trg_status_bar_init(TrgStatusBar * self) {
+static void trg_status_bar_init(TrgStatusBar * self)
+{
TrgStatusBarPrivate *priv = TRG_STATUS_BAR_GET_PRIVATE(self);
gtk_container_set_border_width(GTK_CONTAINER(self), 2);
@@ -100,9 +107,10 @@ static void trg_status_bar_init(TrgStatusBar * self) {
priv->turtleEventBox = gtk_event_box_new();
g_signal_connect(priv->turtleEventBox, "button-press-event",
- G_CALLBACK(turtle_toggle), self);
+ G_CALLBACK(turtle_toggle), self);
gtk_widget_set_visible(priv->turtleEventBox, FALSE);
- gtk_container_add(GTK_CONTAINER(priv->turtleEventBox), priv->turtleImage);
+ gtk_container_add(GTK_CONTAINER(priv->turtleEventBox),
+ priv->turtleImage);
gtk_box_pack_end(GTK_BOX(self), priv->turtleEventBox, FALSE, TRUE, 5);
priv->speed_lbl = gtk_label_new(NULL);
@@ -112,25 +120,30 @@ static void trg_status_bar_init(TrgStatusBar * self) {
gtk_box_pack_end(GTK_BOX(self), priv->free_lbl, FALSE, TRUE, 30);
}
-void trg_status_bar_push_connection_msg(TrgStatusBar * sb, const gchar * msg) {
+void trg_status_bar_push_connection_msg(TrgStatusBar * sb,
+ const gchar * msg)
+{
TrgStatusBarPrivate *priv = TRG_STATUS_BAR_GET_PRIVATE(sb);
gtk_label_set_text(GTK_LABEL(priv->info_lbl), msg);
}
-void trg_status_bar_connect(TrgStatusBar * sb, JsonObject * session) {
+void trg_status_bar_connect(TrgStatusBar * sb, JsonObject * session)
+{
gchar *statusMsg;
float version;
session_get_version(session, &version);
- statusMsg = g_strdup_printf(
- _("Connected to Transmission %g, getting torrents..."),
- version);
+ statusMsg =
+ g_strdup_printf(_
+ ("Connected to Transmission %g, getting torrents..."),
+ version);
g_message("%s", statusMsg);
trg_status_bar_push_connection_msg(sb, statusMsg);
g_free(statusMsg);
}
-void trg_status_bar_session_update(TrgStatusBar * sb, JsonObject * session) {
+void trg_status_bar_session_update(TrgStatusBar * sb, JsonObject * session)
+{
TrgStatusBarPrivate *priv = TRG_STATUS_BAR_GET_PRIVATE(sb);
gint64 free = session_get_download_dir_free_space(session);
gboolean altSpeedEnabled = session_get_alt_speed_enabled(session);
@@ -147,17 +160,19 @@ void trg_status_bar_session_update(TrgStatusBar * sb, JsonObject * session) {
}
gtk_image_set_from_stock(GTK_IMAGE(priv->turtleImage),
- altSpeedEnabled ? "alt-speed-on" : "alt-speed-off",
- GTK_ICON_SIZE_SMALL_TOOLBAR);
- gtk_widget_set_tooltip_text(
- priv->turtleImage,
- altSpeedEnabled ? _("Disable alternate speed limits") :
- _("Enable alternate speed limits"));
+ altSpeedEnabled ? "alt-speed-on" :
+ "alt-speed-off", GTK_ICON_SIZE_SMALL_TOOLBAR);
+ gtk_widget_set_tooltip_text(priv->turtleImage,
+ altSpeedEnabled ?
+ _("Disable alternate speed limits") :
+ _("Enable alternate speed limits"));
gtk_widget_set_visible(priv->turtleEventBox, TRUE);
}
void trg_status_bar_update(TrgStatusBar * sb,
- trg_torrent_model_update_stats * stats, TrgClient * client) {
+ trg_torrent_model_update_stats * stats,
+ TrgClient * client)
+{
TrgStatusBarPrivate *priv = TRG_STATUS_BAR_GET_PRIVATE(sb);
JsonObject *session = trg_client_get_session(client);
gboolean altLimits = session_get_speed_limit_alt_enabled(session);
@@ -187,25 +202,27 @@ void trg_status_bar_update(TrgStatusBar * sb,
if (uplimitraw >= 0) {
gchar uplimitstring[32];
trg_strlspeed(uplimitstring, uplimitraw);
- g_snprintf(uplimit, sizeof(uplimit), _(" (Limit: %s)"), uplimitstring);
+ g_snprintf(uplimit, sizeof(uplimit), _(" (Limit: %s)"),
+ uplimitstring);
}
if (downlimitraw >= 0) {
gchar downlimitstring[32];
trg_strlspeed(downlimitstring, downlimitraw);
g_snprintf(downlimit, sizeof(downlimit), _(" (Limit: %s)"),
- downlimitstring);
+ downlimitstring);
}
- speedText = g_strdup_printf(_("Down: %s%s, Up: %s%s"), downRateTotalString,
- downlimitraw >= 0 ? downlimit : "", upRateTotalString,
- uplimitraw >= 0 ? uplimit : "");
+ speedText =
+ g_strdup_printf(_("Down: %s%s, Up: %s%s"), downRateTotalString,
+ downlimitraw >= 0 ? downlimit : "",
+ upRateTotalString, uplimitraw >= 0 ? uplimit : "");
infoText = g_strdup_printf(ngettext
- ("%d torrent: %d seeding, %d downloading, %d paused",
- "%d torrents: %d seeding, %d downloading, %d paused",
- stats->count), stats->count, stats->seeding, stats->down,
- stats->paused);
+ ("%d torrent: %d seeding, %d downloading, %d paused",
+ "%d torrents: %d seeding, %d downloading, %d paused",
+ stats->count), stats->count,
+ stats->seeding, stats->down, stats->paused);
gtk_label_set_text(GTK_LABEL(priv->info_lbl), infoText);
gtk_label_set_text(GTK_LABEL(priv->speed_lbl), speedText);
@@ -214,12 +231,14 @@ void trg_status_bar_update(TrgStatusBar * sb,
g_free(infoText);
}
-const gchar *trg_status_bar_get_speed_text(TrgStatusBar * s) {
+const gchar *trg_status_bar_get_speed_text(TrgStatusBar * s)
+{
TrgStatusBarPrivate *priv = TRG_STATUS_BAR_GET_PRIVATE(s);
return gtk_label_get_text(GTK_LABEL(priv->speed_lbl));
}
-TrgStatusBar *trg_status_bar_new(TrgMainWindow *win, TrgClient *client) {
+TrgStatusBar *trg_status_bar_new(TrgMainWindow * win, TrgClient * client)
+{
TrgStatusBar *sb = g_object_new(TRG_TYPE_STATUS_BAR, NULL);
TrgStatusBarPrivate *priv = TRG_STATUS_BAR_GET_PRIVATE(sb);
priv->client = client;
diff --git a/src/trg-torrent-add-dialog.c b/src/trg-torrent-add-dialog.c
index 48f4666..c072b28 100644
--- a/src/trg-torrent-add-dialog.c
+++ b/src/trg-torrent-add-dialog.c
@@ -51,7 +51,8 @@ enum {
};
enum {
- FC_ICON, FC_INDEX, FC_LABEL, FC_SIZE, FC_PRIORITY, FC_ENABLED, N_FILE_COLS
+ FC_ICON, FC_INDEX, FC_LABEL, FC_SIZE, FC_PRIORITY, FC_ENABLED,
+ N_FILE_COLS
};
G_DEFINE_TYPE(TrgTorrentAddDialog, trg_torrent_add_dialog, GTK_TYPE_DIALOG)
@@ -72,10 +73,14 @@ struct _TrgTorrentAddDialogPrivate {
GtkWidget *delete_check;
};
-static void trg_torrent_add_dialog_set_property(GObject * object, guint prop_id,
- const GValue * value, GParamSpec * pspec G_GNUC_UNUSED) {
+static void trg_torrent_add_dialog_set_property(GObject * object,
+ guint prop_id,
+ const GValue * value,
+ GParamSpec *
+ pspec G_GNUC_UNUSED)
+{
TrgTorrentAddDialogPrivate *priv =
- TRG_TORRENT_ADD_DIALOG_GET_PRIVATE(object);
+ TRG_TORRENT_ADD_DIALOG_GET_PRIVATE(object);
switch (prop_id) {
case PROP_FILENAME:
@@ -90,10 +95,14 @@ static void trg_torrent_add_dialog_set_property(GObject * object, guint prop_id,
}
}
-static void trg_torrent_add_dialog_get_property(GObject * object, guint prop_id,
- GValue * value, GParamSpec * pspec G_GNUC_UNUSED) {
+static void trg_torrent_add_dialog_get_property(GObject * object,
+ guint prop_id,
+ GValue * value,
+ GParamSpec *
+ pspec G_GNUC_UNUSED)
+{
TrgTorrentAddDialogPrivate *priv =
- TRG_TORRENT_ADD_DIALOG_GET_PRIVATE(object);
+ TRG_TORRENT_ADD_DIALOG_GET_PRIVATE(object);
switch (prop_id) {
case PROP_FILENAME:
@@ -105,21 +114,25 @@ static void trg_torrent_add_dialog_get_property(GObject * object, guint prop_id,
}
}
-static void add_set_common_args(JsonObject * args, gint priority, gchar * dir) {
+static void add_set_common_args(JsonObject * args, gint priority,
+ gchar * dir)
+{
json_object_set_string_member(args, FIELD_FILE_DOWNLOAD_DIR, dir);
json_object_set_int_member(args, FIELD_BANDWIDTH_PRIORITY,
- (gint64) priority);
+ (gint64) priority);
}
-static gpointer add_files_threadfunc(gpointer data) {
+static gpointer add_files_threadfunc(gpointer data)
+{
struct add_torrent_threadfunc_args *files_thread_data =
- (struct add_torrent_threadfunc_args *) data;
+ (struct add_torrent_threadfunc_args *) data;
GSList *li;
for (li = files_thread_data->list; li; li = g_slist_next(li)) {
gchar *fileName = (gchar *) li->data;
- JsonNode *request = torrent_add(fileName, files_thread_data->flags);
+ JsonNode *request =
+ torrent_add(fileName, files_thread_data->flags);
JsonObject *args;
trg_response *response;
@@ -130,7 +143,7 @@ static gpointer add_files_threadfunc(gpointer data) {
if (files_thread_data->extraArgs)
add_set_common_args(args, files_thread_data->priority,
- files_thread_data->dir);
+ files_thread_data->dir);
response = dispatch(files_thread_data->client, request);
response->cb_data = files_thread_data->cb_data;
@@ -147,7 +160,8 @@ static gpointer add_files_threadfunc(gpointer data) {
return NULL;
}
-void launch_add_thread(struct add_torrent_threadfunc_args *args) {
+void launch_add_thread(struct add_torrent_threadfunc_args *args)
+{
GError *error = NULL;
g_thread_create(add_files_threadfunc, args, FALSE, &error);
@@ -160,12 +174,16 @@ void launch_add_thread(struct add_torrent_threadfunc_args *args) {
}
static gboolean add_file_indexes_foreachfunc(GtkTreeModel * model,
- GtkTreePath * path G_GNUC_UNUSED, GtkTreeIter * iter, gpointer data) {
+ GtkTreePath *
+ path G_GNUC_UNUSED,
+ GtkTreeIter * iter,
+ gpointer data)
+{
JsonObject *args = (JsonObject *) data;
gint priority, index, wanted;
- gtk_tree_model_get(model, iter, FC_PRIORITY, &priority, FC_ENABLED, &wanted,
- FC_INDEX, &index, -1);
+ gtk_tree_model_get(model, iter, FC_PRIORITY, &priority, FC_ENABLED,
+ &wanted, FC_INDEX, &index, -1);
if (gtk_tree_model_iter_has_child(model, iter) || index < 0)
return FALSE;
@@ -186,35 +204,43 @@ static gboolean add_file_indexes_foreachfunc(GtkTreeModel * model,
}
static void trg_torrent_add_response_cb(GtkDialog * dlg, gint res_id,
- gpointer data) {
- TrgTorrentAddDialogPrivate *priv = TRG_TORRENT_ADD_DIALOG_GET_PRIVATE(dlg);
+ gpointer data)
+{
+ TrgTorrentAddDialogPrivate *priv =
+ TRG_TORRENT_ADD_DIALOG_GET_PRIVATE(dlg);
guint flags = 0x00;
- if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(priv->paused_check)))
+ if (gtk_toggle_button_get_active
+ (GTK_TOGGLE_BUTTON(priv->paused_check)))
flags |= TORRENT_ADD_FLAG_PAUSED;
- if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(priv->delete_check)))
+ if (gtk_toggle_button_get_active
+ (GTK_TOGGLE_BUTTON(priv->delete_check)))
flags |= TORRENT_ADD_FLAG_DELETE;
if (res_id == GTK_RESPONSE_ACCEPT) {
- gint priority = gtk_combo_box_get_active(
- GTK_COMBO_BOX(priv->priority_combo)) - 1;
- gchar *dir = trg_destination_combo_get_dir(TRG_DESTINATION_COMBO
- (priv->dest_combo));
+ gint priority =
+ gtk_combo_box_get_active(GTK_COMBO_BOX(priv->priority_combo)) -
+ 1;
+ gchar *dir =
+ trg_destination_combo_get_dir(TRG_DESTINATION_COMBO
+ (priv->dest_combo));
if (g_slist_length(priv->filenames) == 1) {
- JsonNode *req = torrent_add((gchar *) priv->filenames->data, flags);
+ JsonNode *req =
+ torrent_add((gchar *) priv->filenames->data, flags);
if (req) {
JsonObject *args = node_get_arguments(req);
gtk_tree_model_foreach(GTK_TREE_MODEL(priv->store),
- add_file_indexes_foreachfunc, args);
+ add_file_indexes_foreachfunc, args);
add_set_common_args(args, priority, dir);
- dispatch_async(priv->client, req, on_generic_interactive_action,
- priv->parent);
+ dispatch_async(priv->client, req,
+ on_generic_interactive_action,
+ priv->parent);
}
g_str_slist_free(priv->filenames);
} else {
struct add_torrent_threadfunc_args *args =
- g_new(struct add_torrent_threadfunc_args, 1);
+ g_new(struct add_torrent_threadfunc_args, 1);
args->list = priv->filenames;
args->cb_data = priv->parent;
args->client = priv->client;
@@ -234,38 +260,49 @@ static void trg_torrent_add_response_cb(GtkDialog * dlg, gint res_id,
gtk_widget_destroy(GTK_WIDGET(dlg));
}
-static void set_low(GtkWidget * w G_GNUC_UNUSED, gpointer data) {
+static void set_low(GtkWidget * w G_GNUC_UNUSED, gpointer data)
+{
trg_files_tree_model_set_priority(GTK_TREE_VIEW(data), FC_PRIORITY,
- TR_PRI_LOW);
+ TR_PRI_LOW);
}
-static void set_normal(GtkWidget * w G_GNUC_UNUSED, gpointer data) {
+static void set_normal(GtkWidget * w G_GNUC_UNUSED, gpointer data)
+{
trg_files_tree_model_set_priority(GTK_TREE_VIEW(data), FC_PRIORITY,
- TR_PRI_NORMAL);
+ TR_PRI_NORMAL);
}
-static void set_high(GtkWidget * w G_GNUC_UNUSED, gpointer data) {
+static void set_high(GtkWidget * w G_GNUC_UNUSED, gpointer data)
+{
trg_files_tree_model_set_priority(GTK_TREE_VIEW(data), FC_PRIORITY,
- TR_PRI_HIGH);
+ TR_PRI_HIGH);
}
-static void set_unwanted(GtkWidget * w G_GNUC_UNUSED, gpointer data) {
+static void set_unwanted(GtkWidget * w G_GNUC_UNUSED, gpointer data)
+{
trg_files_model_set_wanted(GTK_TREE_VIEW(data), FC_ENABLED, FALSE);
}
-static void set_wanted(GtkWidget * w G_GNUC_UNUSED, gpointer data) {
+static void set_wanted(GtkWidget * w G_GNUC_UNUSED, gpointer data)
+{
trg_files_model_set_wanted(GTK_TREE_VIEW(data), FC_ENABLED, TRUE);
}
static gboolean onViewButtonPressed(GtkWidget * w, GdkEventButton * event,
- gpointer gdata) {
+ gpointer gdata)
+{
return trg_files_tree_view_onViewButtonPressed(w, event, FC_PRIORITY,
- FC_ENABLED, G_CALLBACK(set_low), G_CALLBACK(set_normal),
- G_CALLBACK(set_high), G_CALLBACK(set_wanted),
- G_CALLBACK(set_unwanted), gdata);
+ FC_ENABLED,
+ G_CALLBACK(set_low),
+ G_CALLBACK(set_normal),
+ G_CALLBACK(set_high),
+ G_CALLBACK(set_wanted),
+ G_CALLBACK
+ (set_unwanted), gdata);
}
-GtkWidget *gtr_file_list_new(GtkTreeStore ** store) {
+GtkWidget *gtr_file_list_new(GtkTreeStore ** store)
+{
int size;
int width;
GtkWidget *view;
@@ -285,11 +322,12 @@ GtkWidget *gtr_file_list_new(GtkTreeStore ** store) {
gtk_tree_view_set_rules_hint(tree_view, TRUE);
gtk_container_set_border_width(GTK_CONTAINER(view), GUI_PAD_BIG);
g_signal_connect(view, "button-press-event",
- G_CALLBACK(onViewButtonPressed), view);
+ G_CALLBACK(onViewButtonPressed), view);
pango_context = gtk_widget_create_pango_context(view);
- pango_font_description = pango_font_description_copy(
- pango_context_get_font_description(pango_context));
+ pango_font_description =
+ pango_font_description_copy(pango_context_get_font_description
+ (pango_context));
size = pango_font_description_get_size(pango_font_description);
pango_font_description_set_size(pango_font_description, size * 0.8);
g_object_unref(G_OBJECT(pango_context));
@@ -302,18 +340,18 @@ GtkWidget *gtr_file_list_new(GtkTreeStore ** store) {
/* add file column */
col = GTK_TREE_VIEW_COLUMN(g_object_new(GTK_TYPE_TREE_VIEW_COLUMN,
- "expand", TRUE,
- "title", _("Name"), NULL));
+ "expand", TRUE,
+ "title", _("Name"), NULL));
gtk_tree_view_column_set_resizable(col, TRUE);
rend = trg_cell_renderer_file_icon_new();
gtk_tree_view_column_pack_start(col, rend, FALSE);
gtk_tree_view_column_set_attributes(col, rend, "file-name", FC_LABEL,
- "file-id", FC_INDEX, NULL);
+ "file-id", FC_INDEX, NULL);
/* add text renderer */
rend = gtk_cell_renderer_text_new();
g_object_set(rend, "ellipsize", PANGO_ELLIPSIZE_END, "font-desc",
- pango_font_description, NULL);
+ pango_font_description, NULL);
gtk_tree_view_column_pack_start(col, rend, TRUE);
gtk_tree_view_column_set_attributes(col, rend, "text", FC_LABEL, NULL);
gtk_tree_view_column_set_sort_column_id(col, FC_LABEL);
@@ -324,23 +362,26 @@ GtkWidget *gtr_file_list_new(GtkTreeStore ** store) {
title = _("Size");
rend = trg_cell_renderer_size_new();
g_object_set(rend, "alignment", PANGO_ALIGN_RIGHT, "font-desc",
- pango_font_description, "xpad", GUI_PAD, "xalign", 1.0f, "yalign",
- 0.5f, NULL);
+ pango_font_description, "xpad", GUI_PAD, "xalign", 1.0f,
+ "yalign", 0.5f, NULL);
col = gtk_tree_view_column_new_with_attributes(title, rend, NULL);
gtk_tree_view_column_set_sizing(col, GTK_TREE_VIEW_COLUMN_GROW_ONLY);
gtk_tree_view_column_set_sort_column_id(col, FC_SIZE);
- gtk_tree_view_column_set_attributes(col, rend, "size-value", FC_SIZE, NULL);
+ gtk_tree_view_column_set_attributes(col, rend, "size-value", FC_SIZE,
+ NULL);
gtk_tree_view_append_column(tree_view, col);
/* add "enabled" column */
title = _("Download");
pango_layout = gtk_widget_create_pango_layout(view, title);
pango_layout_get_pixel_size(pango_layout, &width, NULL);
- width += 30; /* room for the sort indicator */
+ width += 30; /* room for the sort indicator */
g_object_unref(G_OBJECT(pango_layout));
rend = trg_cell_renderer_wanted_new();
- col = gtk_tree_view_column_new_with_attributes(title, rend, "wanted-value",
- FC_ENABLED, NULL);
+ col =
+ gtk_tree_view_column_new_with_attributes(title, rend,
+ "wanted-value",
+ FC_ENABLED, NULL);
gtk_tree_view_column_set_fixed_width(col, width);
gtk_tree_view_column_set_sizing(col, GTK_TREE_VIEW_COLUMN_FIXED);
gtk_tree_view_column_set_sort_column_id(col, FC_ENABLED);
@@ -350,22 +391,23 @@ GtkWidget *gtr_file_list_new(GtkTreeStore ** store) {
title = _("Priority");
pango_layout = gtk_widget_create_pango_layout(view, title);
pango_layout_get_pixel_size(pango_layout, &width, NULL);
- width += 30; /* room for the sort indicator */
+ width += 30; /* room for the sort indicator */
g_object_unref(G_OBJECT(pango_layout));
rend = trg_cell_renderer_priority_new();
col = gtk_tree_view_column_new_with_attributes(title, rend,
- "priority-value", FC_PRIORITY, NULL);
+ "priority-value",
+ FC_PRIORITY, NULL);
gtk_tree_view_column_set_fixed_width(col, width);
gtk_tree_view_column_set_sizing(col, GTK_TREE_VIEW_COLUMN_FIXED);
gtk_tree_view_column_set_sort_column_id(col, FC_PRIORITY);
gtk_tree_view_append_column(tree_view, col);
- *store = gtk_tree_store_new(N_FILE_COLS, G_TYPE_STRING, /* icon */
- G_TYPE_INT, /* index */
- G_TYPE_STRING, /* label */
- G_TYPE_INT64, /* size */
- G_TYPE_INT, /* priority */
- G_TYPE_INT); /* dl enabled */
+ *store = gtk_tree_store_new(N_FILE_COLS, G_TYPE_STRING, /* icon */
+ G_TYPE_INT, /* index */
+ G_TYPE_STRING, /* label */
+ G_TYPE_INT64, /* size */
+ G_TYPE_INT, /* priority */
+ G_TYPE_INT); /* dl enabled */
gtk_tree_view_set_model(tree_view, GTK_TREE_MODEL(*store));
g_object_unref(G_OBJECT(*store));
@@ -373,9 +415,10 @@ GtkWidget *gtr_file_list_new(GtkTreeStore ** store) {
/* create the scrolled window and stick the view in it */
scroll = gtk_scrolled_window_new(NULL, NULL);
gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scroll),
- GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
+ GTK_POLICY_AUTOMATIC,
+ GTK_POLICY_AUTOMATIC);
gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(scroll),
- GTK_SHADOW_IN);
+ GTK_SHADOW_IN);
gtk_container_add(GTK_CONTAINER(scroll), view);
gtk_widget_set_size_request(scroll, -1, 200);
@@ -383,7 +426,8 @@ GtkWidget *gtr_file_list_new(GtkTreeStore ** store) {
return scroll;
}
-static GtkWidget *gtr_dialog_get_content_area(GtkDialog * dialog) {
+static GtkWidget *gtr_dialog_get_content_area(GtkDialog * dialog)
+{
#if GTK_CHECK_VERSION( 2,14,0 )
return gtk_dialog_get_content_area(dialog);
#else
@@ -391,18 +435,22 @@ static GtkWidget *gtr_dialog_get_content_area(GtkDialog * dialog) {
#endif
}
-static void gtr_dialog_set_content(GtkDialog * dialog, GtkWidget * content) {
+static void gtr_dialog_set_content(GtkDialog * dialog, GtkWidget * content)
+{
GtkWidget *vbox = gtr_dialog_get_content_area(dialog);
gtk_box_pack_start(GTK_BOX(vbox), content, TRUE, TRUE, 0);
gtk_widget_show_all(content);
}
-GtkWidget *gtr_priority_combo_new(void) {
+GtkWidget *gtr_priority_combo_new(void)
+{
return gtr_combo_box_new_enum(_("Low"), TR_PRI_LOW, _("Normal"),
- TR_PRI_NORMAL, _("High"), TR_PRI_HIGH, NULL);
+ TR_PRI_NORMAL, _("High"), TR_PRI_HIGH,
+ NULL);
}
-static void addTorrentFilters(GtkFileChooser * chooser) {
+static void addTorrentFilters(GtkFileChooser * chooser)
+{
GtkFileFilter *filter;
filter = gtk_file_filter_new();
@@ -417,55 +465,64 @@ static void addTorrentFilters(GtkFileChooser * chooser) {
}
static void store_add_node(GtkTreeStore * store, GtkTreeIter * parent,
- trg_torrent_file_node * node) {
+ trg_torrent_file_node * node)
+{
GtkTreeIter child;
GList *li;
if (node->name) {
gtk_tree_store_append(store, &child, parent);
- gtk_tree_store_set(store, &child, FC_LABEL, node->name, FC_ENABLED, 1,
- FC_ICON, node->children ? GTK_STOCK_DIRECTORY : GTK_STOCK_FILE,
- FC_INDEX, node->children ? -1 : node->index,
- FC_PRIORITY, TR_PRI_NORMAL,
- -1);
+ gtk_tree_store_set(store, &child, FC_LABEL, node->name, FC_ENABLED,
+ 1, FC_ICON,
+ node->
+ children ? GTK_STOCK_DIRECTORY : GTK_STOCK_FILE,
+ FC_INDEX, node->children ? -1 : node->index,
+ FC_PRIORITY, TR_PRI_NORMAL, -1);
if (!node->children) {
gtk_tree_store_set(store, &child, FC_SIZE, node->length, -1);
- trg_files_model_update_parents(GTK_TREE_MODEL(store), &child, FC_SIZE);
+ trg_files_model_update_parents(GTK_TREE_MODEL(store), &child,
+ FC_SIZE);
}
}
for (li = node->children; li; li = g_list_next(li))
store_add_node(store, node->name ? &child : NULL,
- (trg_torrent_file_node *) li->data);
+ (trg_torrent_file_node *) li->data);
}
-static void torrent_not_parsed_warning(GtkWindow * parent) {
- GtkWidget *dialog =
- gtk_message_dialog_new(
- parent,
- GTK_DIALOG_DESTROY_WITH_PARENT,
- GTK_MESSAGE_WARNING,
- GTK_BUTTONS_OK,
- _
- ("Unable to parse torrent file. File preferences unavailable, but you can still try uploading it."));
+static void torrent_not_parsed_warning(GtkWindow * parent)
+{
+ GtkWidget *dialog = gtk_message_dialog_new(parent,
+ GTK_DIALOG_DESTROY_WITH_PARENT,
+ GTK_MESSAGE_WARNING,
+ GTK_BUTTONS_OK,
+ _
+ ("Unable to parse torrent file. File preferences unavailable, but you can still try uploading it."));
gtk_window_set_transient_for(GTK_WINDOW(dialog), parent);
gtk_dialog_run(GTK_DIALOG(dialog));
gtk_widget_destroy(dialog);
}
-static void torrent_not_found_error(GtkWindow * parent, gchar * file) {
+static void torrent_not_found_error(GtkWindow * parent, gchar * file)
+{
GtkWidget *dialog = gtk_message_dialog_new(parent,
- GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK,
- _("Unable to open torrent file: %s"), file);
+ GTK_DIALOG_DESTROY_WITH_PARENT,
+ GTK_MESSAGE_ERROR,
+ GTK_BUTTONS_OK,
+ _
+ ("Unable to open torrent file: %s"),
+ file);
gtk_window_set_transient_for(GTK_WINDOW(dialog), parent);
gtk_dialog_run(GTK_DIALOG(dialog));
gtk_widget_destroy(dialog);
}
static void trg_torrent_add_dialog_set_filenames(TrgTorrentAddDialog * d,
- GSList * filenames) {
- TrgTorrentAddDialogPrivate *priv = TRG_TORRENT_ADD_DIALOG_GET_PRIVATE(d);
+ GSList * filenames)
+{
+ TrgTorrentAddDialogPrivate *priv =
+ TRG_TORRENT_ADD_DIALOG_GET_PRIVATE(d);
GtkButton *chooser = GTK_BUTTON(priv->source_chooser);
gint nfiles = filenames ? g_slist_length(filenames) : 0;
@@ -499,7 +556,8 @@ static void trg_torrent_add_dialog_set_filenames(TrgTorrentAddDialog * d,
trg_torrent_file_free(tor_data);
}
} else {
- torrent_not_found_error(GTK_WINDOW(priv->parent), file_name);
+ torrent_not_found_error(GTK_WINDOW(priv->parent),
+ file_name);
}
gtk_widget_set_sensitive(priv->file_list, tor_data != NULL);
@@ -517,60 +575,79 @@ static void trg_torrent_add_dialog_set_filenames(TrgTorrentAddDialog * d,
}
static void trg_torrent_add_dialog_generic_save_dir(GtkFileChooser * c,
- TrgPrefs * prefs) {
+ TrgPrefs * prefs)
+{
gchar *cwd = gtk_file_chooser_get_current_folder(c);
if (cwd) {
trg_prefs_set_string(prefs, TRG_PREFS_KEY_LAST_TORRENT_DIR, cwd,
- TRG_PREFS_GLOBAL);
+ TRG_PREFS_GLOBAL);
g_free(cwd);
}
}
static GtkWidget *trg_torrent_add_dialog_generic(GtkWindow * parent,
- TrgPrefs * prefs) {
+ TrgPrefs * prefs)
+{
GtkWidget *w = gtk_file_chooser_dialog_new(_("Add a Torrent"), parent,
- GTK_FILE_CHOOSER_ACTION_OPEN, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
- GTK_STOCK_ADD, GTK_RESPONSE_ACCEPT, NULL);
- gchar *dir = trg_prefs_get_string(prefs, TRG_PREFS_KEY_LAST_TORRENT_DIR,
- TRG_PREFS_GLOBAL);
+ GTK_FILE_CHOOSER_ACTION_OPEN,
+ GTK_STOCK_CANCEL,
+ GTK_RESPONSE_CANCEL,
+ GTK_STOCK_ADD,
+ GTK_RESPONSE_ACCEPT, NULL);
+ gchar *dir =
+ trg_prefs_get_string(prefs, TRG_PREFS_KEY_LAST_TORRENT_DIR,
+ TRG_PREFS_GLOBAL);
if (dir) {
gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(w), dir);
g_free(dir);
}
addTorrentFilters(GTK_FILE_CHOOSER(w));
- gtk_dialog_set_alternative_button_order(GTK_DIALOG(w), GTK_RESPONSE_ACCEPT,
- GTK_RESPONSE_CANCEL, -1);
+ gtk_dialog_set_alternative_button_order(GTK_DIALOG(w),
+ GTK_RESPONSE_ACCEPT,
+ GTK_RESPONSE_CANCEL, -1);
gtk_file_chooser_set_select_multiple(GTK_FILE_CHOOSER(w), TRUE);
return w;
}
-static void trg_torrent_add_dialog_source_click_cb(GtkWidget * w, gpointer data) {
- TrgTorrentAddDialogPrivate *priv = TRG_TORRENT_ADD_DIALOG_GET_PRIVATE(data);
+static void trg_torrent_add_dialog_source_click_cb(GtkWidget * w,
+ gpointer data)
+{
+ TrgTorrentAddDialogPrivate *priv =
+ TRG_TORRENT_ADD_DIALOG_GET_PRIVATE(data);
GtkWidget *d = trg_torrent_add_dialog_generic(GTK_WINDOW(data),
- trg_client_get_prefs(priv->client));
+ trg_client_get_prefs
+ (priv->client));
if (gtk_dialog_run(GTK_DIALOG(d)) == GTK_RESPONSE_ACCEPT) {
if (priv->filenames)
g_str_slist_free(priv->filenames);
- priv->filenames = gtk_file_chooser_get_filenames(GTK_FILE_CHOOSER(d));
+ priv->filenames =
+ gtk_file_chooser_get_filenames(GTK_FILE_CHOOSER(d));
trg_torrent_add_dialog_generic_save_dir(GTK_FILE_CHOOSER(d),
- trg_client_get_prefs(priv->client));
+ trg_client_get_prefs(priv->
+ client));
trg_torrent_add_dialog_set_filenames(TRG_TORRENT_ADD_DIALOG(data),
- priv->filenames);
+ priv->filenames);
}
gtk_widget_destroy(GTK_WIDGET(d));
}
static GObject *trg_torrent_add_dialog_constructor(GType type,
- guint n_construct_properties, GObjectConstructParam * construct_params) {
+ guint
+ n_construct_properties,
+ GObjectConstructParam *
+ construct_params)
+{
GObject *obj = G_OBJECT_CLASS
- (trg_torrent_add_dialog_parent_class)->constructor(type,
- n_construct_properties, construct_params);
- TrgTorrentAddDialogPrivate *priv = TRG_TORRENT_ADD_DIALOG_GET_PRIVATE(obj);
+ (trg_torrent_add_dialog_parent_class)->constructor(type,
+ n_construct_properties,
+ construct_params);
+ TrgTorrentAddDialogPrivate *priv =
+ TRG_TORRENT_ADD_DIALOG_GET_PRIVATE(obj);
TrgPrefs *prefs = trg_client_get_prefs(priv->client);
GtkWidget *t, *l;
@@ -579,15 +656,18 @@ static GObject *trg_torrent_add_dialog_constructor(GType type,
/* window */
gtk_window_set_title(GTK_WINDOW(obj), _("Add Torrent"));
- gtk_window_set_transient_for(GTK_WINDOW(obj), GTK_WINDOW(priv->parent));
+ gtk_window_set_transient_for(GTK_WINDOW(obj),
+ GTK_WINDOW(priv->parent));
gtk_window_set_destroy_with_parent(GTK_WINDOW(obj), TRUE);
/* buttons */
gtk_dialog_add_button(GTK_DIALOG(obj), GTK_STOCK_CANCEL,
- GTK_RESPONSE_CANCEL);
- gtk_dialog_add_button(GTK_DIALOG(obj), GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT);
+ GTK_RESPONSE_CANCEL);
+ gtk_dialog_add_button(GTK_DIALOG(obj), GTK_STOCK_OPEN,
+ GTK_RESPONSE_ACCEPT);
gtk_dialog_set_alternative_button_order(GTK_DIALOG(obj),
- GTK_RESPONSE_ACCEPT, GTK_RESPONSE_CANCEL, -1);
+ GTK_RESPONSE_ACCEPT,
+ GTK_RESPONSE_CANCEL, -1);
gtk_dialog_set_default_response(GTK_DIALOG(obj), GTK_RESPONSE_ACCEPT);
/* workspace */
@@ -599,88 +679,94 @@ static GObject *trg_torrent_add_dialog_constructor(GType type,
priv->file_list = gtr_file_list_new(&priv->store);
gtk_widget_set_sensitive(priv->file_list, FALSE);
- priv->paused_check = gtk_check_button_new_with_mnemonic(_("Start _paused"));
- gtk_toggle_button_set_active(
- GTK_TOGGLE_BUTTON(priv->paused_check),
- trg_prefs_get_bool(prefs, TRG_PREFS_KEY_START_PAUSED,
- TRG_PREFS_GLOBAL));
+ priv->paused_check =
+ gtk_check_button_new_with_mnemonic(_("Start _paused"));
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(priv->paused_check),
+ trg_prefs_get_bool(prefs,
+ TRG_PREFS_KEY_START_PAUSED,
+ TRG_PREFS_GLOBAL));
priv->delete_check = gtk_check_button_new_with_mnemonic(_
- ("Delete local .torrent file after adding"));
- gtk_toggle_button_set_active(
- GTK_TOGGLE_BUTTON(priv->delete_check),
- trg_prefs_get_bool(prefs, TRG_PREFS_KEY_DELETE_LOCAL_TORRENT,
- TRG_PREFS_GLOBAL));
+ ("Delete local .torrent file after adding"));
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(priv->delete_check),
+ trg_prefs_get_bool(prefs,
+ TRG_PREFS_KEY_DELETE_LOCAL_TORRENT,
+ TRG_PREFS_GLOBAL));
priv->priority_combo = gtr_priority_combo_new();
gtk_combo_box_set_active(GTK_COMBO_BOX(priv->priority_combo), 1);
l = gtk_label_new_with_mnemonic(_("_Torrent file:"));
gtk_misc_set_alignment(GTK_MISC(l), 0.0f, 0.5f);
- gtk_table_attach(GTK_TABLE(t), l, col, col + 1, row, row + 1, GTK_FILL, 0,
- 0, 0);
+ gtk_table_attach(GTK_TABLE(t), l, col, col + 1, row, row + 1, GTK_FILL,
+ 0, 0, 0);
++col;
priv->source_chooser = gtk_button_new();
gtk_button_set_alignment(GTK_BUTTON(priv->source_chooser), 0.0f, 0.5f);
trg_torrent_add_dialog_set_filenames(TRG_TORRENT_ADD_DIALOG(obj),
- priv->filenames);
+ priv->filenames);
gtk_table_attach(GTK_TABLE(t), priv->source_chooser, col, col + 1, row,
- row + 1, ~0, 0, 0, 0);
+ row + 1, ~0, 0, 0, 0);
gtk_label_set_mnemonic_widget(GTK_LABEL(l), priv->source_chooser);
g_signal_connect(priv->source_chooser, "clicked",
- G_CALLBACK(trg_torrent_add_dialog_source_click_cb), obj);
+ G_CALLBACK(trg_torrent_add_dialog_source_click_cb),
+ obj);
++row;
col = 0;
l = gtk_label_new_with_mnemonic(_("_Destination folder:"));
gtk_misc_set_alignment(GTK_MISC(l), 0.0f, 0.5f);
- gtk_table_attach(GTK_TABLE(t), l, col, col + 1, row, row + 1, GTK_FILL, 0,
- 0, 0);
+ gtk_table_attach(GTK_TABLE(t), l, col, col + 1, row, row + 1, GTK_FILL,
+ 0, 0, 0);
++col;
priv->dest_combo = trg_destination_combo_new(priv->client, NULL);
gtk_combo_box_set_active(GTK_COMBO_BOX(priv->dest_combo), 0);
- gtk_table_attach(GTK_TABLE(t), priv->dest_combo, col, col + 1, row, row + 1,
- ~0, 0, 0, 0);
+ gtk_table_attach(GTK_TABLE(t), priv->dest_combo, col, col + 1, row,
+ row + 1, ~0, 0, 0, 0);
gtk_label_set_mnemonic_widget(GTK_LABEL(l), priv->dest_combo);
++row;
col = 0;
gtk_widget_set_size_request(priv->file_list, 466u, 300u);
- gtk_table_attach_defaults(GTK_TABLE(t), priv->file_list, col, col + 2, row,
- row + 1);
+ gtk_table_attach_defaults(GTK_TABLE(t), priv->file_list, col, col + 2,
+ row, row + 1);
++row;
col = 0;
l = gtk_label_new_with_mnemonic(_("Torrent _priority:"));
gtk_misc_set_alignment(GTK_MISC(l), 0.0f, 0.5f);
- gtk_table_attach(GTK_TABLE(t), l, col, col + 1, row, row + 1, ~0, 0, 0, 0);
+ gtk_table_attach(GTK_TABLE(t), l, col, col + 1, row, row + 1, ~0, 0, 0,
+ 0);
++col;
gtk_table_attach(GTK_TABLE(t), priv->priority_combo, col, col + 1, row,
- row + 1, ~0, 0, 0, 0);
+ row + 1, ~0, 0, 0, 0);
gtk_label_set_mnemonic_widget(GTK_LABEL(l), priv->priority_combo);
++row;
col = 0;
gtk_table_attach(GTK_TABLE(t), priv->paused_check, col, col + 2, row,
- row + 1, GTK_FILL, 0, 0, 0);
+ row + 1, GTK_FILL, 0, 0, 0);
++row;
col = 0;
gtk_table_attach(GTK_TABLE(t), priv->delete_check, col, col + 2, row,
- row + 1, GTK_FILL, 0, 0, 0);
+ row + 1, GTK_FILL, 0, 0, 0);
gtr_dialog_set_content(GTK_DIALOG(obj), t);
g_signal_connect(G_OBJECT(obj), "response",
- G_CALLBACK(trg_torrent_add_response_cb), priv->parent);
+ G_CALLBACK(trg_torrent_add_response_cb),
+ priv->parent);
return obj;
}
-static void trg_torrent_add_dialog_class_init(TrgTorrentAddDialogClass * klass) {
+static void trg_torrent_add_dialog_class_init(TrgTorrentAddDialogClass *
+ klass)
+{
GObjectClass *object_class = G_OBJECT_CLASS(klass);
g_type_class_add_private(klass, sizeof(TrgTorrentAddDialogPrivate));
@@ -689,51 +775,67 @@ static void trg_torrent_add_dialog_class_init(TrgTorrentAddDialogClass * klass)
object_class->get_property = trg_torrent_add_dialog_get_property;
object_class->constructor = trg_torrent_add_dialog_constructor;
- g_object_class_install_property(
- object_class,
- PROP_FILENAME,
- g_param_spec_pointer(
- "filenames",
- "filenames",
- "filenames",
- G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY
- | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK
- | G_PARAM_STATIC_BLURB));
-
- g_object_class_install_property(
- object_class,
- PROP_CLIENT,
- g_param_spec_pointer(
- "client",
- "client",
- "client",
- G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY
- | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK
- | G_PARAM_STATIC_BLURB));
-
- g_object_class_install_property(
- object_class,
- PROP_PARENT,
- g_param_spec_object(
- "parent",
- "parent",
- "parent",
- TRG_TYPE_MAIN_WINDOW,
- G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY
- | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK
- | G_PARAM_STATIC_BLURB));
+ g_object_class_install_property(object_class,
+ PROP_FILENAME,
+ g_param_spec_pointer("filenames",
+ "filenames",
+ "filenames",
+ G_PARAM_READWRITE
+ |
+ G_PARAM_CONSTRUCT_ONLY
+ |
+ G_PARAM_STATIC_NAME
+ |
+ G_PARAM_STATIC_NICK
+ |
+ G_PARAM_STATIC_BLURB));
+
+ g_object_class_install_property(object_class,
+ PROP_CLIENT,
+ g_param_spec_pointer("client",
+ "client",
+ "client",
+ G_PARAM_READWRITE
+ |
+ G_PARAM_CONSTRUCT_ONLY
+ |
+ G_PARAM_STATIC_NAME
+ |
+ G_PARAM_STATIC_NICK
+ |
+ G_PARAM_STATIC_BLURB));
+
+ g_object_class_install_property(object_class,
+ PROP_PARENT,
+ g_param_spec_object("parent",
+ "parent",
+ "parent",
+ TRG_TYPE_MAIN_WINDOW,
+ G_PARAM_READWRITE |
+ G_PARAM_CONSTRUCT_ONLY
+ |
+ G_PARAM_STATIC_NAME
+ |
+ G_PARAM_STATIC_NICK
+ |
+ G_PARAM_STATIC_BLURB));
}
-static void trg_torrent_add_dialog_init(TrgTorrentAddDialog * self) {
+static void trg_torrent_add_dialog_init(TrgTorrentAddDialog * self)
+{
}
TrgTorrentAddDialog *trg_torrent_add_dialog_new(TrgMainWindow * parent,
- TrgClient * client, GSList * filenames) {
- return g_object_new(TRG_TYPE_TORRENT_ADD_DIALOG, "filenames", filenames,
- "parent", parent, "client", client, NULL);
+ TrgClient * client,
+ GSList * filenames)
+{
+ return g_object_new(TRG_TYPE_TORRENT_ADD_DIALOG, "filenames",
+ filenames, "parent", parent, "client", client,
+ NULL);
}
-void trg_torrent_add_dialog(TrgMainWindow * win, TrgClient * client) {
+void trg_torrent_add_dialog(TrgMainWindow * win, TrgClient * client)
+{
GtkWidget *w;
GtkWidget *c;
TrgPrefs *prefs = trg_client_get_prefs(client);
@@ -741,29 +843,31 @@ void trg_torrent_add_dialog(TrgMainWindow * win, TrgClient * client) {
w = trg_torrent_add_dialog_generic(GTK_WINDOW(win), prefs);
c = gtk_check_button_new_with_mnemonic(_("Show _options dialog"));
- gtk_toggle_button_set_active(
- GTK_TOGGLE_BUTTON(c),
- trg_prefs_get_bool(prefs, TRG_PREFS_KEY_ADD_OPTIONS_DIALOG,
- TRG_PREFS_GLOBAL));
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(c),
+ trg_prefs_get_bool(prefs,
+ TRG_PREFS_KEY_ADD_OPTIONS_DIALOG,
+ TRG_PREFS_GLOBAL));
gtk_file_chooser_set_extra_widget(GTK_FILE_CHOOSER(w), c);
if (gtk_dialog_run(GTK_DIALOG(w)) == GTK_RESPONSE_ACCEPT) {
GtkFileChooser *chooser = GTK_FILE_CHOOSER(w);
GtkToggleButton *tb =
- GTK_TOGGLE_BUTTON(gtk_file_chooser_get_extra_widget(chooser));
+ GTK_TOGGLE_BUTTON(gtk_file_chooser_get_extra_widget(chooser));
gboolean showOptions = gtk_toggle_button_get_active(tb);
GSList *l = gtk_file_chooser_get_filenames(chooser);
- trg_torrent_add_dialog_generic_save_dir(GTK_FILE_CHOOSER(w), prefs);
+ trg_torrent_add_dialog_generic_save_dir(GTK_FILE_CHOOSER(w),
+ prefs);
if (showOptions) {
TrgTorrentAddDialog *dialog = trg_torrent_add_dialog_new(win,
- client, l);
+ client,
+ l);
gtk_widget_show_all(GTK_WIDGET(dialog));
} else {
struct add_torrent_threadfunc_args *args =
- g_new0(struct add_torrent_threadfunc_args, 1);
+ g_new0(struct add_torrent_threadfunc_args, 1);
args->list = l;
args->cb_data = win;
diff --git a/src/trg-torrent-model.c b/src/trg-torrent-model.c
index 26a6698..c7408fe 100644
--- a/src/trg-torrent-model.c
+++ b/src/trg-torrent-model.c
@@ -73,7 +73,8 @@ struct _TrgTorrentModelPrivate {
trg_torrent_model_update_stats stats;
};
-static void trg_torrent_model_dispose(GObject * object) {
+static void trg_torrent_model_dispose(GObject * object)
+{
TrgTorrentModelPrivate *priv = TRG_TORRENT_MODEL_GET_PRIVATE(object);
g_hash_table_destroy(priv->ht);
G_OBJECT_CLASS(trg_torrent_model_parent_class)->dispose(object);
@@ -81,49 +82,70 @@ static void trg_torrent_model_dispose(GObject * object) {
static void
update_torrent_iter(TrgTorrentModel * model, TrgClient * tc, gint64 rpcv,
- gint64 serial, GtkTreeIter * iter, JsonObject * t,
- trg_torrent_model_update_stats * stats, guint *whatsChanged);
+ gint64 serial, GtkTreeIter * iter, JsonObject * t,
+ trg_torrent_model_update_stats * stats,
+ guint * whatsChanged);
-static void trg_torrent_model_class_init(TrgTorrentModelClass * klass) {
+static void trg_torrent_model_class_init(TrgTorrentModelClass * klass)
+{
GObjectClass *object_class = G_OBJECT_CLASS(klass);
g_type_class_add_private(klass, sizeof(TrgTorrentModelPrivate));
object_class->dispose = trg_torrent_model_dispose;
signals[TMODEL_TORRENT_COMPLETED] = g_signal_new("torrent-completed",
- G_TYPE_FROM_CLASS
- (object_class), G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,
- G_STRUCT_OFFSET
- (TrgTorrentModelClass,
- torrent_completed), NULL, NULL,
- g_cclosure_marshal_VOID__POINTER, G_TYPE_NONE, 1, G_TYPE_POINTER);
+ G_TYPE_FROM_CLASS
+ (object_class),
+ G_SIGNAL_RUN_LAST |
+ G_SIGNAL_ACTION,
+ G_STRUCT_OFFSET
+ (TrgTorrentModelClass,
+ torrent_completed),
+ NULL, NULL,
+ g_cclosure_marshal_VOID__POINTER,
+ G_TYPE_NONE, 1,
+ G_TYPE_POINTER);
signals[TMODEL_TORRENT_ADDED] = g_signal_new("torrent-added",
- G_TYPE_FROM_CLASS
- (object_class), G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,
- G_STRUCT_OFFSET
- (TrgTorrentModelClass,
- torrent_added), NULL, NULL,
- g_cclosure_marshal_VOID__POINTER, G_TYPE_NONE, 1, G_TYPE_POINTER);
+ G_TYPE_FROM_CLASS
+ (object_class),
+ G_SIGNAL_RUN_LAST |
+ G_SIGNAL_ACTION,
+ G_STRUCT_OFFSET
+ (TrgTorrentModelClass,
+ torrent_added), NULL,
+ NULL,
+ g_cclosure_marshal_VOID__POINTER,
+ G_TYPE_NONE, 1,
+ G_TYPE_POINTER);
signals[TMODEL_STATE_CHANGED] = g_signal_new("torrents-state-change",
- G_TYPE_FROM_CLASS
- (object_class), G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,
- G_STRUCT_OFFSET
- (TrgTorrentModelClass,
- torrent_removed), NULL, NULL, g_cclosure_marshal_VOID__UINT,
- G_TYPE_NONE, 1, G_TYPE_UINT);
+ G_TYPE_FROM_CLASS
+ (object_class),
+ G_SIGNAL_RUN_LAST |
+ G_SIGNAL_ACTION,
+ G_STRUCT_OFFSET
+ (TrgTorrentModelClass,
+ torrent_removed), NULL,
+ NULL,
+ g_cclosure_marshal_VOID__UINT,
+ G_TYPE_NONE, 1,
+ G_TYPE_UINT);
}
-trg_torrent_model_update_stats *trg_torrent_model_get_stats(
- TrgTorrentModel * model) {
+trg_torrent_model_update_stats *trg_torrent_model_get_stats(TrgTorrentModel
+ * model)
+{
TrgTorrentModelPrivate *priv = TRG_TORRENT_MODEL_GET_PRIVATE(model);
return &(priv->stats);
}
static void trg_torrent_model_count_peers(TrgTorrentModel * model,
- GtkTreeIter * iter, JsonObject * t) {
- GList *trackersList = json_array_get_elements(torrent_get_tracker_stats(t));
+ GtkTreeIter * iter,
+ JsonObject * t)
+{
+ GList *trackersList =
+ json_array_get_elements(torrent_get_tracker_stats(t));
gint seeders = 0;
gint leechers = 0;
gint downloads = 0;
@@ -140,11 +162,12 @@ static void trg_torrent_model_count_peers(TrgTorrentModel * model,
g_list_free(trackersList);
gtk_list_store_set(GTK_LIST_STORE(model), iter, TORRENT_COLUMN_SEEDS,
- seeders, TORRENT_COLUMN_LEECHERS, leechers,
- TORRENT_COLUMN_DOWNLOADS, downloads, -1);
+ seeders, TORRENT_COLUMN_LEECHERS, leechers,
+ TORRENT_COLUMN_DOWNLOADS, downloads, -1);
}
-static void trg_torrent_model_ref_free(gpointer data) {
+static void trg_torrent_model_ref_free(gpointer data)
+{
GtkTreeRowReference *rr = (GtkTreeRowReference *) data;
GtkTreeModel *model = gtk_tree_row_reference_get_model(rr);
GtkTreePath *path = gtk_tree_row_reference_get_path(rr);
@@ -152,13 +175,14 @@ static void trg_torrent_model_ref_free(gpointer data) {
GtkTreeIter iter;
JsonObject *json;
if (gtk_tree_model_get_iter(model, &iter, path)) {
- gtk_tree_model_get(model, &iter, TORRENT_COLUMN_JSON, &json, -1);
+ gtk_tree_model_get(model, &iter, TORRENT_COLUMN_JSON, &json,
+ -1);
json_object_unref(json);
g_object_set_data(G_OBJECT(model), PROP_REMOVE_IN_PROGRESS,
- GINT_TO_POINTER(TRUE));
+ GINT_TO_POINTER(TRUE));
gtk_list_store_remove(GTK_LIST_STORE(model), &iter);
g_object_set_data(G_OBJECT(model), PROP_REMOVE_IN_PROGRESS,
- GINT_TO_POINTER(FALSE));
+ GINT_TO_POINTER(FALSE));
}
gtk_tree_path_free(path);
@@ -167,7 +191,8 @@ static void trg_torrent_model_ref_free(gpointer data) {
gtk_tree_row_reference_free(rr);
}
-static void trg_torrent_model_init(TrgTorrentModel * self) {
+static void trg_torrent_model_init(TrgTorrentModel * self)
+{
TrgTorrentModelPrivate *priv = TRG_TORRENT_MODEL_GET_PRIVATE(self);
GType column_types[TORRENT_COLUMN_COLUMNS];
@@ -210,35 +235,43 @@ static void trg_torrent_model_init(TrgTorrentModel * self) {
column_types[TORRENT_COLUMN_LASTACTIVE] = G_TYPE_INT64;
gtk_list_store_set_column_types(GTK_LIST_STORE(self),
- TORRENT_COLUMN_COLUMNS, column_types);
+ TORRENT_COLUMN_COLUMNS, column_types);
priv->ht = g_hash_table_new_full(g_int64_hash, g_int64_equal,
- (GDestroyNotify) g_free, trg_torrent_model_ref_free);
+ (GDestroyNotify) g_free,
+ trg_torrent_model_ref_free);
g_object_set_data(G_OBJECT(self), PROP_REMOVE_IN_PROGRESS,
- GINT_TO_POINTER(FALSE));
+ GINT_TO_POINTER(FALSE));
priv->urlHostRegex = trg_uri_host_regex_new();
}
-gboolean trg_torrent_model_is_remove_in_progress(TrgTorrentModel * model) {
+gboolean trg_torrent_model_is_remove_in_progress(TrgTorrentModel * model)
+{
return (gboolean) GPOINTER_TO_INT(g_object_get_data
- (G_OBJECT(model),
- PROP_REMOVE_IN_PROGRESS));
+ (G_OBJECT(model),
+ PROP_REMOVE_IN_PROGRESS));
}
-static gboolean trg_torrent_model_reload_dir_aliases_foreachfunc(
- GtkTreeModel * model, GtkTreePath * path G_GNUC_UNUSED,
- GtkTreeIter * iter, gpointer gdata) {
+static gboolean
+trg_torrent_model_reload_dir_aliases_foreachfunc(GtkTreeModel * model,
+ GtkTreePath *
+ path G_GNUC_UNUSED,
+ GtkTreeIter * iter,
+ gpointer gdata)
+{
gchar *downloadDir, *shortDownloadDir;
- gtk_tree_model_get(model, iter, TORRENT_COLUMN_DOWNLOADDIR, &downloadDir,
- -1);
+ gtk_tree_model_get(model, iter, TORRENT_COLUMN_DOWNLOADDIR,
+ &downloadDir, -1);
- shortDownloadDir = shorten_download_dir((TrgClient *) gdata, downloadDir);
+ shortDownloadDir =
+ shorten_download_dir((TrgClient *) gdata, downloadDir);
gtk_list_store_set(GTK_LIST_STORE(model), iter,
- TORRENT_COLUMN_DOWNLOADDIR_SHORT, shortDownloadDir, -1);
+ TORRENT_COLUMN_DOWNLOADDIR_SHORT, shortDownloadDir,
+ -1);
g_free(downloadDir);
g_free(shortDownloadDir);
@@ -246,55 +279,56 @@ static gboolean trg_torrent_model_reload_dir_aliases_foreachfunc(
return FALSE;
}
-void trg_torrent_model_reload_dir_aliases(TrgClient * tc, GtkTreeModel * model) {
+void trg_torrent_model_reload_dir_aliases(TrgClient * tc,
+ GtkTreeModel * model)
+{
gtk_tree_model_foreach(model,
- trg_torrent_model_reload_dir_aliases_foreachfunc, tc);
+ trg_torrent_model_reload_dir_aliases_foreachfunc,
+ tc);
g_signal_emit(model, signals[TMODEL_STATE_CHANGED], 0,
- TORRENT_UPDATE_PATH_CHANGE);
+ TORRENT_UPDATE_PATH_CHANGE);
}
-static gboolean trg_torrent_model_stats_scan_foreachfunc(GtkTreeModel * model,
- GtkTreePath * path G_GNUC_UNUSED, GtkTreeIter * iter, gpointer gdata) {
+static gboolean trg_torrent_model_stats_scan_foreachfunc(GtkTreeModel *
+ model,
+ GtkTreePath *
+ path
+ G_GNUC_UNUSED,
+ GtkTreeIter *
+ iter,
+ gpointer gdata)
+{
trg_torrent_model_update_stats *stats =
- (trg_torrent_model_update_stats *) gdata;
+ (trg_torrent_model_update_stats *) gdata;
guint flags;
gtk_tree_model_get(model, iter, TORRENT_COLUMN_FLAGS, &flags, -1);
- if (flags & TORRENT_FLAG_SEEDING
- )
+ if (flags & TORRENT_FLAG_SEEDING)
stats->seeding++;
- else if (flags & TORRENT_FLAG_DOWNLOADING
- )
+ else if (flags & TORRENT_FLAG_DOWNLOADING)
stats->down++;
- else if (flags & TORRENT_FLAG_PAUSED
- )
+ else if (flags & TORRENT_FLAG_PAUSED)
stats->paused++;
- if (flags & TORRENT_FLAG_ERROR
- )
+ if (flags & TORRENT_FLAG_ERROR)
stats->error++;
- if (flags & TORRENT_FLAG_COMPLETE
- )
+ if (flags & TORRENT_FLAG_COMPLETE)
stats->complete++;
else
stats->incomplete++;
- if (flags & TORRENT_FLAG_CHECKING
- )
+ if (flags & TORRENT_FLAG_CHECKING)
stats->checking++;
- if (flags & TORRENT_FLAG_ACTIVE
- )
+ if (flags & TORRENT_FLAG_ACTIVE)
stats->active++;
- if (flags & TORRENT_FLAG_SEEDING_WAIT
- )
+ if (flags & TORRENT_FLAG_SEEDING_WAIT)
stats->seed_wait++;
- if (flags & TORRENT_FLAG_DOWNLOADING_WAIT
- )
+ if (flags & TORRENT_FLAG_DOWNLOADING_WAIT)
stats->down_wait++;
stats->count++;
@@ -302,16 +336,19 @@ static gboolean trg_torrent_model_stats_scan_foreachfunc(GtkTreeModel * model,
return FALSE;
}
-void trg_torrent_model_remove_all(TrgTorrentModel * model) {
+void trg_torrent_model_remove_all(TrgTorrentModel * model)
+{
TrgTorrentModelPrivate *priv = TRG_TORRENT_MODEL_GET_PRIVATE(model);
g_hash_table_remove_all(priv->ht);
gtk_list_store_clear(GTK_LIST_STORE(model));
}
-gchar *shorten_download_dir(TrgClient * tc, const gchar * downloadDir) {
+gchar *shorten_download_dir(TrgClient * tc, const gchar * downloadDir)
+{
TrgPrefs *prefs = trg_client_get_prefs(tc);
- JsonArray *labels = trg_prefs_get_array(prefs, TRG_PREFS_KEY_DESTINATIONS,
- TRG_PREFS_CONNECTION);
+ JsonArray *labels =
+ trg_prefs_get_array(prefs, TRG_PREFS_KEY_DESTINATIONS,
+ TRG_PREFS_CONNECTION);
JsonObject *session = trg_client_get_session(tc);
const gchar *defaultDownloadDir = session_get_download_dir(session);
gchar *shortDownloadDir = NULL;
@@ -321,13 +358,15 @@ gchar *shorten_download_dir(TrgClient * tc, const gchar * downloadDir) {
if (labelsList) {
GList *li;
for (li = labelsList; li; li = g_list_next(li)) {
- JsonObject *labelObj = json_node_get_object(
- (JsonNode *) li->data);
- const gchar *labelDir = json_object_get_string_member(labelObj,
- TRG_PREFS_KEY_DESTINATIONS_SUBKEY_DIR);
+ JsonObject *labelObj = json_node_get_object((JsonNode *)
+ li->data);
+ const gchar *labelDir =
+ json_object_get_string_member(labelObj,
+ TRG_PREFS_KEY_DESTINATIONS_SUBKEY_DIR);
if (!g_strcmp0(downloadDir, labelDir)) {
- const gchar *labelLabel = json_object_get_string_member(
- labelObj, TRG_PREFS_SUBKEY_LABEL);
+ const gchar *labelLabel =
+ json_object_get_string_member(labelObj,
+ TRG_PREFS_SUBKEY_LABEL);
shortDownloadDir = g_strdup(labelLabel);
break;
}
@@ -355,9 +394,13 @@ gchar *shorten_download_dir(TrgClient * tc, const gchar * downloadDir) {
return g_strdup(downloadDir);
}
-static inline void update_torrent_iter(TrgTorrentModel * model, TrgClient * tc,
- gint64 rpcv, gint64 serial, GtkTreeIter * iter, JsonObject * t,
- trg_torrent_model_update_stats * stats, guint *whatsChanged) {
+static inline void update_torrent_iter(TrgTorrentModel * model,
+ TrgClient * tc, gint64 rpcv,
+ gint64 serial, GtkTreeIter * iter,
+ JsonObject * t,
+ trg_torrent_model_update_stats *
+ stats, guint * whatsChanged)
+{
TrgTorrentModelPrivate *priv = TRG_TORRENT_MODEL_GET_PRIVATE(model);
GtkListStore *ls = GTK_LIST_STORE(model);
guint lastFlags, newFlags;
@@ -390,147 +433,154 @@ static inline void update_torrent_iter(TrgTorrentModel * model, TrgClient * tc,
trackerStats = torrent_get_tracker_stats(t);
gtk_tree_model_get(GTK_TREE_MODEL(model), iter, TORRENT_COLUMN_FLAGS,
- &lastFlags, TORRENT_COLUMN_JSON, &lastJson,
- TORRENT_COLUMN_DOWNLOADDIR, &lastDownloadDir, -1);
+ &lastFlags, TORRENT_COLUMN_JSON, &lastJson,
+ TORRENT_COLUMN_DOWNLOADDIR, &lastDownloadDir, -1);
json_object_ref(t);
if (json_array_get_length(trackerStats) > 0) {
- JsonObject *firstTracker = json_array_get_object_element(trackerStats,
- 0);
+ JsonObject *firstTracker =
+ json_array_get_object_element(trackerStats,
+ 0);
firstTrackerHost = trg_gregex_get_first(priv->urlHostRegex,
- tracker_stats_get_host(firstTracker));
+ tracker_stats_get_host
+ (firstTracker));
}
lpd = peerfrom_get_lpd(pf);
if (newFlags & TORRENT_FLAG_ACTIVE) {
if (lpd >= 0) {
- peerSources = g_strdup_printf(
- "%ld / %ld / %ld / %ld / %ld / %ld / %ld",
- peerfrom_get_trackers(pf), peerfrom_get_incoming(pf),
- peerfrom_get_ltep(pf), peerfrom_get_dht(pf),
- peerfrom_get_pex(pf), lpd, peerfrom_get_resume(pf));
+ peerSources =
+ g_strdup_printf("%ld / %ld / %ld / %ld / %ld / %ld / %ld",
+ peerfrom_get_trackers(pf),
+ peerfrom_get_incoming(pf),
+ peerfrom_get_ltep(pf),
+ peerfrom_get_dht(pf), peerfrom_get_pex(pf),
+ lpd, peerfrom_get_resume(pf));
} else {
- peerSources = g_strdup_printf(
- "%ld / %ld / %ld / %ld / %ld / N/A / %ld",
- peerfrom_get_trackers(pf), peerfrom_get_incoming(pf),
- peerfrom_get_ltep(pf), peerfrom_get_dht(pf),
- peerfrom_get_pex(pf), peerfrom_get_resume(pf));
+ peerSources =
+ g_strdup_printf("%ld / %ld / %ld / %ld / %ld / N/A / %ld",
+ peerfrom_get_trackers(pf),
+ peerfrom_get_incoming(pf),
+ peerfrom_get_ltep(pf),
+ peerfrom_get_dht(pf), peerfrom_get_pex(pf),
+ peerfrom_get_resume(pf));
}
}
#ifdef DEBUG
gtk_list_store_set(ls, iter, TORRENT_COLUMN_ICON, statusIcon, -1);
gtk_list_store_set(ls, iter,
- TORRENT_COLUMN_NAME, torrent_get_name(t), -1);
+ TORRENT_COLUMN_NAME, torrent_get_name(t), -1);
gtk_list_store_set(ls, iter,
- TORRENT_COLUMN_SIZE, torrent_get_size(t), -1);
+ TORRENT_COLUMN_SIZE, torrent_get_size(t), -1);
gtk_list_store_set(ls, iter,
- TORRENT_COLUMN_DONE,
- (newFlags & TORRENT_FLAG_CHECKING) ?
- torrent_get_recheck_progress(t)
- : torrent_get_percent_done(t), -1);
+ TORRENT_COLUMN_DONE,
+ (newFlags & TORRENT_FLAG_CHECKING) ?
+ torrent_get_recheck_progress(t)
+ : torrent_get_percent_done(t), -1);
gtk_list_store_set(ls, iter, TORRENT_COLUMN_STATUS, statusString, -1);
gtk_list_store_set(ls, iter, TORRENT_COLUMN_DOWNSPEED, downRate, -1);
gtk_list_store_set(ls, iter, TORRENT_COLUMN_FLAGS, newFlags, -1);
gtk_list_store_set(ls, iter, TORRENT_COLUMN_UPSPEED, upRate, -1);
gtk_list_store_set(ls, iter, TORRENT_COLUMN_ETA,
- torrent_get_eta(t), -1);
+ torrent_get_eta(t), -1);
gtk_list_store_set(ls, iter, TORRENT_COLUMN_UPLOADED, uploaded, -1);
gtk_list_store_set(ls, iter,
- TORRENT_COLUMN_DOWNLOADED, downloaded, -1);
+ TORRENT_COLUMN_DOWNLOADED, downloaded, -1);
gtk_list_store_set(ls, iter, TORRENT_COLUMN_RATIO,
- uploaded > 0
- && downloaded >
- 0 ? (double) uploaded / (double) downloaded : 0,
- -1);
+ uploaded > 0
+ && downloaded >
+ 0 ? (double) uploaded / (double) downloaded : 0,
+ -1);
gtk_list_store_set(ls, iter, TORRENT_COLUMN_ID, id, -1);
gtk_list_store_set(ls, iter, TORRENT_COLUMN_JSON, t, -1);
gtk_list_store_set(ls, iter, TORRENT_COLUMN_UPDATESERIAL, serial, -1);
gtk_list_store_set(ls, iter,
- TORRENT_COLUMN_ADDED, torrent_get_added_date(t),
- -1);
+ TORRENT_COLUMN_ADDED, torrent_get_added_date(t),
+ -1);
gtk_list_store_set(ls, iter, TORRENT_COLUMN_DOWNLOADDIR,
- downloadDir, -1);
+ downloadDir, -1);
gtk_list_store_set(ls, iter, TORRENT_COLUMN_BANDWIDTH_PRIORITY,
- torrent_get_bandwidth_priority(t), -1);
+ torrent_get_bandwidth_priority(t), -1);
gtk_list_store_set(ls, iter, TORRENT_COLUMN_DONE_DATE,
- torrent_get_done_date(t), -1);
+ torrent_get_done_date(t), -1);
gtk_list_store_set(ls, iter, TORRENT_COLUMN_FROMPEX,
- peerfrom_get_pex(pf), -1);
+ peerfrom_get_pex(pf), -1);
gtk_list_store_set(ls, iter, TORRENT_COLUMN_FROMDHT,
- peerfrom_get_dht(pf), -1);
+ peerfrom_get_dht(pf), -1);
gtk_list_store_set(ls, iter, TORRENT_COLUMN_FROMTRACKERS,
- peerfrom_get_trackers(pf), -1);
+ peerfrom_get_trackers(pf), -1);
gtk_list_store_set(ls, iter, TORRENT_COLUMN_FROMLTEP,
- peerfrom_get_ltep(pf), -1);
+ peerfrom_get_ltep(pf), -1);
gtk_list_store_set(ls, iter, TORRENT_COLUMN_FROMRESUME,
- peerfrom_get_resume(pf), -1);
+ peerfrom_get_resume(pf), -1);
gtk_list_store_set(ls, iter, TORRENT_COLUMN_FROMINCOMING,
- peerfrom_get_incoming(pf), -1);
+ peerfrom_get_incoming(pf), -1);
gtk_list_store_set(ls, iter, TORRENT_COLUMN_PEER_SOURCES,
- peerSources, -1);
+ peerSources, -1);
gtk_list_store_set(ls, iter, TORRENT_COLUMN_PEERS_CONNECTED,
- torrent_get_peers_connected(t), -1);
+ torrent_get_peers_connected(t), -1);
gtk_list_store_set(ls, iter, TORRENT_COLUMN_PEERS_TO_US,
- torrent_get_peers_sending_to_us(t), -1);
+ torrent_get_peers_sending_to_us(t), -1);
gtk_list_store_set(ls, iter, TORRENT_COLUMN_PEERS_FROM_US,
- torrent_get_peers_getting_from_us(t), -1);
+ torrent_get_peers_getting_from_us(t), -1);
gtk_list_store_set(ls, iter, TORRENT_COLUMN_TRACKERHOST,
- firstTrackerHost ? firstTrackerHost : "", -1);
+ firstTrackerHost ? firstTrackerHost : "", -1);
gtk_list_store_set(ls, iter, TORRENT_COLUMN_QUEUE_POSITION,
- torrent_get_queue_position(t), -1);
+ torrent_get_queue_position(t), -1);
gtk_list_store_set(ls, iter, TORRENT_COLUMN_LASTACTIVE,
- torrent_get_activity_date(t), -1);
+ torrent_get_activity_date(t), -1);
#else
gtk_list_store_set(ls, iter, TORRENT_COLUMN_ICON, statusIcon,
- TORRENT_COLUMN_ADDED, torrent_get_added_date(t),
- TORRENT_COLUMN_DONE_DATE, torrent_get_done_date(t),
- TORRENT_COLUMN_NAME, torrent_get_name(t), TORRENT_COLUMN_SIZE,
- torrent_get_size(t), TORRENT_COLUMN_DONE,
- (newFlags & TORRENT_FLAG_CHECKING) ?
- torrent_get_recheck_progress(t)
- : torrent_get_percent_done(t),
- TORRENT_COLUMN_STATUS, statusString,
- TORRENT_COLUMN_DOWNSPEED, downRate,
- TORRENT_COLUMN_FLAGS, newFlags,
- TORRENT_COLUMN_UPSPEED, upRate, TORRENT_COLUMN_ETA,
- torrent_get_eta(t), TORRENT_COLUMN_UPLOADED,
- uploaded, TORRENT_COLUMN_DOWNLOADED, downloaded,
- TORRENT_COLUMN_FROMPEX, peerfrom_get_pex(pf),
- TORRENT_COLUMN_FROMDHT, peerfrom_get_dht(pf),
- TORRENT_COLUMN_FROMTRACKERS,
- peerfrom_get_trackers(pf), TORRENT_COLUMN_FROMLTEP,
- peerfrom_get_ltep(pf), TORRENT_COLUMN_FROMRESUME,
- peerfrom_get_resume(pf),
- TORRENT_COLUMN_FROMINCOMING,
- peerfrom_get_incoming(pf),
- TORRENT_COLUMN_PEER_SOURCES, peerSources,
- TORRENT_COLUMN_PEERS_CONNECTED,
- torrent_get_peers_connected(t),
- TORRENT_COLUMN_PEERS_TO_US,
- torrent_get_peers_sending_to_us(t),
- TORRENT_COLUMN_PEERS_FROM_US,
- torrent_get_peers_getting_from_us(t),
- TORRENT_COLUMN_QUEUE_POSITION,
- torrent_get_queue_position(t),
- TORRENT_COLUMN_LASTACTIVE,
- torrent_get_activity_date(t), TORRENT_COLUMN_RATIO,
- uploaded > 0
- && downloaded >
- 0 ? (double) uploaded / (double) downloaded : 0,
- TORRENT_COLUMN_DOWNLOADDIR, downloadDir,
- TORRENT_COLUMN_BANDWIDTH_PRIORITY,
- torrent_get_bandwidth_priority(t),
- TORRENT_COLUMN_ID, id, TORRENT_COLUMN_JSON, t,
- TORRENT_COLUMN_TRACKERHOST,
- firstTrackerHost ? firstTrackerHost : "",
- TORRENT_COLUMN_UPDATESERIAL, serial, -1);
+ TORRENT_COLUMN_ADDED, torrent_get_added_date(t),
+ TORRENT_COLUMN_DONE_DATE, torrent_get_done_date(t),
+ TORRENT_COLUMN_NAME, torrent_get_name(t),
+ TORRENT_COLUMN_SIZE, torrent_get_size(t),
+ TORRENT_COLUMN_DONE,
+ (newFlags & TORRENT_FLAG_CHECKING) ?
+ torrent_get_recheck_progress(t)
+ : torrent_get_percent_done(t),
+ TORRENT_COLUMN_STATUS, statusString,
+ TORRENT_COLUMN_DOWNSPEED, downRate,
+ TORRENT_COLUMN_FLAGS, newFlags,
+ TORRENT_COLUMN_UPSPEED, upRate, TORRENT_COLUMN_ETA,
+ torrent_get_eta(t), TORRENT_COLUMN_UPLOADED,
+ uploaded, TORRENT_COLUMN_DOWNLOADED, downloaded,
+ TORRENT_COLUMN_FROMPEX, peerfrom_get_pex(pf),
+ TORRENT_COLUMN_FROMDHT, peerfrom_get_dht(pf),
+ TORRENT_COLUMN_FROMTRACKERS,
+ peerfrom_get_trackers(pf), TORRENT_COLUMN_FROMLTEP,
+ peerfrom_get_ltep(pf), TORRENT_COLUMN_FROMRESUME,
+ peerfrom_get_resume(pf),
+ TORRENT_COLUMN_FROMINCOMING,
+ peerfrom_get_incoming(pf),
+ TORRENT_COLUMN_PEER_SOURCES, peerSources,
+ TORRENT_COLUMN_PEERS_CONNECTED,
+ torrent_get_peers_connected(t),
+ TORRENT_COLUMN_PEERS_TO_US,
+ torrent_get_peers_sending_to_us(t),
+ TORRENT_COLUMN_PEERS_FROM_US,
+ torrent_get_peers_getting_from_us(t),
+ TORRENT_COLUMN_QUEUE_POSITION,
+ torrent_get_queue_position(t),
+ TORRENT_COLUMN_LASTACTIVE,
+ torrent_get_activity_date(t), TORRENT_COLUMN_RATIO,
+ uploaded > 0
+ && downloaded >
+ 0 ? (double) uploaded / (double) downloaded : 0,
+ TORRENT_COLUMN_DOWNLOADDIR, downloadDir,
+ TORRENT_COLUMN_BANDWIDTH_PRIORITY,
+ torrent_get_bandwidth_priority(t),
+ TORRENT_COLUMN_ID, id, TORRENT_COLUMN_JSON, t,
+ TORRENT_COLUMN_TRACKERHOST,
+ firstTrackerHost ? firstTrackerHost : "",
+ TORRENT_COLUMN_UPDATESERIAL, serial, -1);
#endif
if (!lastDownloadDir || g_strcmp0(downloadDir, lastDownloadDir)) {
gchar *shortDownloadDir = shorten_download_dir(tc, downloadDir);
gtk_list_store_set(ls, iter, TORRENT_COLUMN_DOWNLOADDIR_SHORT,
- shortDownloadDir, -1);
+ shortDownloadDir, -1);
g_free(shortDownloadDir);
*whatsChanged |= TORRENT_UPDATE_PATH_CHANGE;
}
@@ -539,7 +589,7 @@ static inline void update_torrent_iter(TrgTorrentModel * model, TrgClient * tc,
json_object_unref(lastJson);
if ((lastFlags & TORRENT_FLAG_DOWNLOADING)
- && (newFlags & TORRENT_FLAG_COMPLETE))
+ && (newFlags & TORRENT_FLAG_COMPLETE))
g_signal_emit(model, signals[TMODEL_TORRENT_COMPLETED], 0, iter);
if (lastFlags != newFlags)
@@ -558,7 +608,8 @@ static inline void update_torrent_iter(TrgTorrentModel * model, TrgClient * tc,
g_free(statusIcon);
}
-TrgTorrentModel *trg_torrent_model_new(void) {
+TrgTorrentModel *trg_torrent_model_new(void)
+{
return g_object_new(TRG_TYPE_TORRENT_MODEL, NULL);
}
@@ -567,18 +618,23 @@ struct TrgModelRemoveData {
gint64 currentSerial;
};
-GHashTable *get_torrent_table(TrgTorrentModel * model) {
+GHashTable *get_torrent_table(TrgTorrentModel * model)
+{
TrgTorrentModelPrivate *priv = TRG_TORRENT_MODEL_GET_PRIVATE(model);
return priv->ht;
}
gboolean trg_model_find_removed_foreachfunc(GtkTreeModel * model,
- GtkTreePath * path G_GNUC_UNUSED, GtkTreeIter * iter, gpointer gdata) {
+ GtkTreePath *
+ path G_GNUC_UNUSED,
+ GtkTreeIter * iter,
+ gpointer gdata)
+{
struct TrgModelRemoveData *args = (struct TrgModelRemoveData *) gdata;
gint64 rowSerial;
- gtk_tree_model_get(model, iter, TORRENT_COLUMN_UPDATESERIAL, &rowSerial,
- -1);
+ gtk_tree_model_get(model, iter, TORRENT_COLUMN_UPDATESERIAL,
+ &rowSerial, -1);
if (rowSerial != args->currentSerial) {
gint64 *id = g_new(gint64, 1);
@@ -590,19 +646,21 @@ gboolean trg_model_find_removed_foreachfunc(GtkTreeModel * model,
}
GList *trg_torrent_model_find_removed(GtkTreeModel * model,
- gint64 currentSerial) {
+ gint64 currentSerial)
+{
struct TrgModelRemoveData args;
args.toRemove = NULL;
args.currentSerial = currentSerial;
gtk_tree_model_foreach(GTK_TREE_MODEL(model),
- trg_model_find_removed_foreachfunc, &args);
+ trg_model_find_removed_foreachfunc, &args);
return args.toRemove;
}
gboolean get_torrent_data(GHashTable * table, gint64 id, JsonObject ** t,
- GtkTreeIter * out_iter) {
+ GtkTreeIter * out_iter)
+{
gpointer result = g_hash_table_lookup(table, &id);
gboolean found = FALSE;
@@ -616,7 +674,8 @@ gboolean get_torrent_data(GHashTable * table, gint64 id, JsonObject ** t,
if (out_iter)
*out_iter = iter;
if (t)
- gtk_tree_model_get(model, &iter, TORRENT_COLUMN_JSON, t, -1);
+ gtk_tree_model_get(model, &iter, TORRENT_COLUMN_JSON, t,
+ -1);
found = TRUE;
gtk_tree_path_free(path);
}
@@ -625,16 +684,22 @@ gboolean get_torrent_data(GHashTable * table, gint64 id, JsonObject ** t,
return found;
}
-static void trg_torrent_model_stat_counts_clear(
- trg_torrent_model_update_stats *stats) {
- stats->count = stats->down = stats->error = stats->paused = stats->seeding =
- stats->complete = stats->incomplete = stats->active =
- stats->checking = stats->seed_wait = stats->down_wait = 0;
+static void
+trg_torrent_model_stat_counts_clear(trg_torrent_model_update_stats * stats)
+{
+ stats->count = stats->down = stats->error = stats->paused =
+ stats->seeding = stats->complete = stats->incomplete =
+ stats->active = stats->checking = stats->seed_wait =
+ stats->down_wait = 0;
}
-trg_torrent_model_update_stats *trg_torrent_model_update(
- TrgTorrentModel * model, TrgClient * tc, JsonObject * response,
- gint mode) {
+trg_torrent_model_update_stats *trg_torrent_model_update(TrgTorrentModel *
+ model,
+ TrgClient * tc,
+ JsonObject *
+ response,
+ gint mode)
+{
TrgTorrentModelPrivate *priv = TRG_TORRENT_MODEL_GET_PRIVATE(model);
GList *torrentList;
@@ -662,15 +727,15 @@ trg_torrent_model_update_stats *trg_torrent_model_update(
id = torrent_get_id(t);
result =
- mode == TORRENT_GET_MODE_FIRST ? NULL :
- g_hash_table_lookup(priv->ht, &id);
+ mode == TORRENT_GET_MODE_FIRST ? NULL :
+ g_hash_table_lookup(priv->ht, &id);
if (!result) {
gtk_list_store_append(GTK_LIST_STORE(model), &iter);
whatsChanged |= TORRENT_UPDATE_ADDREMOVE;
update_torrent_iter(model, tc, rpcv, trg_client_get_serial(tc),
- &iter, t, &(priv->stats), &whatsChanged);
+ &iter, t, &(priv->stats), &whatsChanged);
path = gtk_tree_model_get_path(GTK_TREE_MODEL(model), &iter);
rr = gtk_tree_row_reference_new(GTK_TREE_MODEL(model), path);
@@ -680,16 +745,17 @@ trg_torrent_model_update_stats *trg_torrent_model_update(
gtk_tree_path_free(path);
if (mode != TORRENT_GET_MODE_FIRST)
- g_signal_emit(model, signals[TMODEL_TORRENT_ADDED], 0, &iter);
+ g_signal_emit(model, signals[TMODEL_TORRENT_ADDED], 0,
+ &iter);
} else {
- path = gtk_tree_row_reference_get_path(
- (GtkTreeRowReference *) result);
+ path = gtk_tree_row_reference_get_path((GtkTreeRowReference *)
+ result);
if (path) {
if (gtk_tree_model_get_iter(GTK_TREE_MODEL(model), &iter,
- path)) {
+ path)) {
update_torrent_iter(model, tc, rpcv,
- trg_client_get_serial(tc), &iter, t, &(priv->stats),
- &whatsChanged);
+ trg_client_get_serial(tc), &iter,
+ t, &(priv->stats), &whatsChanged);
}
gtk_tree_path_free(path);
}
@@ -699,8 +765,9 @@ trg_torrent_model_update_stats *trg_torrent_model_update(
g_list_free(torrentList);
if (mode == TORRENT_GET_MODE_UPDATE) {
- GList *hitlist = trg_torrent_model_find_removed(GTK_TREE_MODEL(model),
- trg_client_get_serial(tc));
+ GList *hitlist =
+ trg_torrent_model_find_removed(GTK_TREE_MODEL(model),
+ trg_client_get_serial(tc));
if (hitlist) {
for (li = hitlist; li; li = g_list_next(li)) {
g_hash_table_remove(priv->ht, li->data);
@@ -724,12 +791,14 @@ trg_torrent_model_update_stats *trg_torrent_model_update(
if (whatsChanged != 0) {
if ((whatsChanged & TORRENT_UPDATE_ADDREMOVE)
- || (whatsChanged & TORRENT_UPDATE_STATE_CHANGE)) {
+ || (whatsChanged & TORRENT_UPDATE_STATE_CHANGE)) {
trg_torrent_model_stat_counts_clear(&priv->stats);
gtk_tree_model_foreach(GTK_TREE_MODEL(model),
- trg_torrent_model_stats_scan_foreachfunc, &(priv->stats));
+ trg_torrent_model_stats_scan_foreachfunc,
+ &(priv->stats));
}
- g_signal_emit(model, signals[TMODEL_STATE_CHANGED], 0, whatsChanged);
+ g_signal_emit(model, signals[TMODEL_STATE_CHANGED], 0,
+ whatsChanged);
}
return &(priv->stats);
diff --git a/src/trg-torrent-props-dialog.c b/src/trg-torrent-props-dialog.c
index 399405b..05ebaa8 100644
--- a/src/trg-torrent-props-dialog.c
+++ b/src/trg-torrent-props-dialog.c
@@ -137,12 +137,10 @@ trg_torrent_props_response_cb(GtkDialog * dlg, gint res_id,
json_object_set_int_member(args, FIELD_SEED_RATIO_MODE,
gtk_combo_box_get_active(GTK_COMBO_BOX
- (priv->
- seedRatioMode)));
+ (priv->seedRatioMode)));
json_object_set_int_member(args, FIELD_BANDWIDTH_PRIORITY,
gtk_combo_box_get_active(GTK_COMBO_BOX
- (priv->
- bandwidthPriorityCombo))
+ (priv->bandwidthPriorityCombo))
- 1);
trg_json_widgets_save(priv->widgets, args);
@@ -188,25 +186,24 @@ static GtkWidget *trg_props_limitsPage(TrgTorrentPropsDialog * win,
if (json_object_has_member(json, FIELD_QUEUE_POSITION)) {
w = trg_json_widget_spin_new(&priv->widgets, json,
- FIELD_QUEUE_POSITION, NULL, 0,
- INT_MAX, 1);
+ FIELD_QUEUE_POSITION, NULL, 0,
+ INT_MAX, 1);
hig_workarea_add_row(t, &row, _("Queue Position:"), w, w);
}
tb = trg_json_widget_check_new(&priv->widgets, json,
FIELD_DOWNLOAD_LIMITED,
- _("Limit download speed (KiB/s)"), NULL);
+ _("Limit download speed (KiB/s)"),
+ NULL);
w = trg_json_widget_spin_new(&priv->widgets, json,
- FIELD_DOWNLOAD_LIMIT, tb, 0, INT_MAX,
- 1);
+ FIELD_DOWNLOAD_LIMIT, tb, 0, INT_MAX, 1);
hig_workarea_add_row_w(t, &row, tb, w, NULL);
tb = trg_json_widget_check_new(&priv->widgets, json,
FIELD_UPLOAD_LIMITED,
_("Limit upload speed (KiB/s)"), NULL);
w = trg_json_widget_spin_new(&priv->widgets, json,
- FIELD_UPLOAD_LIMIT, tb, 0, INT_MAX,
- 1);
+ FIELD_UPLOAD_LIMIT, tb, 0, INT_MAX, 1);
hig_workarea_add_row_w(t, &row, tb, w, NULL);
hig_workarea_add_section_title(t, &row, _("Seeding"));
@@ -220,8 +217,8 @@ static GtkWidget *trg_props_limitsPage(TrgTorrentPropsDialog * win,
hig_workarea_add_row(t, &row, _("Seed ratio mode:"), w, NULL);
w = trg_json_widget_spin_new(&priv->widgets, json,
- FIELD_SEED_RATIO_LIMIT, NULL, 0,
- INT_MAX, 0.2);
+ FIELD_SEED_RATIO_LIMIT, NULL, 0,
+ INT_MAX, 0.2);
seed_ratio_mode_changed_cb(priv->seedRatioMode, w);
g_signal_connect(G_OBJECT(priv->seedRatioMode), "changed",
G_CALLBACK(seed_ratio_mode_changed_cb), w);
@@ -230,8 +227,7 @@ static GtkWidget *trg_props_limitsPage(TrgTorrentPropsDialog * win,
hig_workarea_add_section_title(t, &row, _("Peers"));
w = trg_json_widget_spin_new(&priv->widgets, json,
- FIELD_PEER_LIMIT, NULL, 0, INT_MAX,
- 5);
+ FIELD_PEER_LIMIT, NULL, 0, INT_MAX, 5);
hig_workarea_add_row(t, &row, _("Peer limit:"), w, w);
return t;
diff --git a/src/trg-tree-view.c b/src/trg-tree-view.c
index de2cd71..4265c7d 100644
--- a/src/trg-tree-view.c
+++ b/src/trg-tree-view.c
@@ -287,7 +287,8 @@ static GtkTreeViewColumn
gtk_tree_view_column_set_attributes(column, renderer,
"file-id",
desc->model_column_extra,
- "file-name", desc->model_column, NULL);
+ "file-name", desc->model_column,
+ NULL);
renderer = gtk_cell_renderer_text_new();
gtk_tree_view_column_pack_start(column, renderer, TRUE);
@@ -312,7 +313,8 @@ static void trg_tree_view_add_column_after(TrgTreeView * tv,
gtk_cell_renderer_text_new();
column = gtk_tree_view_column_new_with_attributes(desc->header,
renderer, "text",
- desc->model_column,
+ desc->
+ model_column,
NULL);
break;
@@ -321,7 +323,8 @@ static void trg_tree_view_add_column_after(TrgTreeView * tv,
column = gtk_tree_view_column_new_with_attributes(desc->header,
renderer,
"speed-value",
- desc->model_column,
+ desc->
+ model_column,
NULL);
break;
case TRG_COLTYPE_EPOCH:
@@ -329,7 +332,8 @@ static void trg_tree_view_add_column_after(TrgTreeView * tv,
column = gtk_tree_view_column_new_with_attributes(desc->header,
renderer,
"epoch-value",
- desc->model_column,
+ desc->
+ model_column,
NULL);
break;
case TRG_COLTYPE_ETA:
@@ -337,7 +341,8 @@ static void trg_tree_view_add_column_after(TrgTreeView * tv,
column = gtk_tree_view_column_new_with_attributes(desc->header,
renderer,
"eta-value",
- desc->model_column,
+ desc->
+ model_column,
NULL);
break;
case TRG_COLTYPE_SIZE:
@@ -345,7 +350,8 @@ static void trg_tree_view_add_column_after(TrgTreeView * tv,
column = gtk_tree_view_column_new_with_attributes(desc->header,
renderer,
"size-value",
- desc->model_column,
+ desc->
+ model_column,
NULL);
break;
case TRG_COLTYPE_PROG:
@@ -353,7 +359,8 @@ static void trg_tree_view_add_column_after(TrgTreeView * tv,
column = gtk_tree_view_column_new_with_attributes(desc->header,
renderer,
"value",
- desc->model_column,
+ desc->
+ model_column,
NULL);
break;
case TRG_COLTYPE_RATIO:
@@ -361,17 +368,19 @@ static void trg_tree_view_add_column_after(TrgTreeView * tv,
column = gtk_tree_view_column_new_with_attributes(desc->header,
renderer,
"ratio-value",
- desc->model_column,
+ desc->
+ model_column,
NULL);
break;
case TRG_COLTYPE_WANTED:
column = gtk_tree_view_column_new();
renderer = trg_cell_renderer_wanted_new();
/*gtk_cell_renderer_set_alignment(GTK_CELL_RENDERER(renderer), 0.5f,
- 0.0);*/
+ 0.0); */
gtk_tree_view_column_set_title(column, desc->header);
gtk_tree_view_column_pack_start(column, renderer, TRUE);
- gtk_tree_view_column_set_attributes(column, renderer, "wanted-value",
+ gtk_tree_view_column_set_attributes(column, renderer,
+ "wanted-value",
desc->model_column, NULL);
break;
case TRG_COLTYPE_STOCKICONTEXT:
@@ -385,7 +394,8 @@ static void trg_tree_view_add_column_after(TrgTreeView * tv,
column = gtk_tree_view_column_new_with_attributes(desc->header,
renderer,
"priority-value",
- desc->model_column,
+ desc->
+ model_column,
NULL);
break;
case TRG_COLTYPE_NUMGTZERO:
@@ -393,7 +403,8 @@ static void trg_tree_view_add_column_after(TrgTreeView * tv,
column = gtk_tree_view_column_new_with_attributes(desc->header,
renderer,
"value",
- desc->model_column,
+ desc->
+ model_column,
NULL);
break;
case TRG_COLTYPE_NUMGTEQZERO:
@@ -401,7 +412,8 @@ static void trg_tree_view_add_column_after(TrgTreeView * tv,
column = gtk_tree_view_column_new_with_attributes(desc->header,
renderer,
"value",
- desc->model_column,
+ desc->
+ model_column,
NULL);
break;
}
@@ -555,7 +567,8 @@ void trg_tree_view_setup_columns(TrgTreeView * tv)
json_node_get_string
((JsonNode
*)
- cli->data));
+ cli->
+ data));
if (desc) {
gint64 width = json_node_get_int((JsonNode *) wli->data);
trg_tree_view_add_column(tv, desc, width);
diff --git a/src/util.c b/src/util.c
index ef03482..7594c46 100644
--- a/src/util.c
+++ b/src/util.c
@@ -38,93 +38,93 @@
***/
const int disk_K = 1024;
-const char * disk_K_str = N_("KiB");
-const char * disk_M_str = N_("MiB");
-const char * disk_G_str = N_("GiB");
-const char * disk_T_str = N_("TiB");
+const char *disk_K_str = N_("KiB");
+const char *disk_M_str = N_("MiB");
+const char *disk_G_str = N_("GiB");
+const char *disk_T_str = N_("TiB");
const int speed_K = 1024;
-const char * speed_K_str = N_("KiB/s");
-const char * speed_M_str = N_("MiB/s");
-const char * speed_G_str = N_("GiB/s");
-const char * speed_T_str = N_("TiB/s");
+const char *speed_K_str = N_("KiB/s");
+const char *speed_M_str = N_("MiB/s");
+const char *speed_G_str = N_("GiB/s");
+const char *speed_T_str = N_("TiB/s");
-struct formatter_unit
-{
- char * name;
+struct formatter_unit {
+ char *name;
gint64 value;
};
-struct formatter_units
-{
+struct formatter_units {
struct formatter_unit units[4];
};
enum { TR_FMT_KB, TR_FMT_MB, TR_FMT_GB, TR_FMT_TB };
static void
-formatter_init( struct formatter_units * units,
- unsigned int kilo,
- const char * kb, const char * mb,
- const char * gb, const char * tb )
+formatter_init(struct formatter_units *units,
+ unsigned int kilo,
+ const char *kb, const char *mb,
+ const char *gb, const char *tb)
{
guint64 value = kilo;
- units->units[TR_FMT_KB].name = g_strdup( kb );
+ units->units[TR_FMT_KB].name = g_strdup(kb);
units->units[TR_FMT_KB].value = value;
value *= kilo;
- units->units[TR_FMT_MB].name = g_strdup( mb );
+ units->units[TR_FMT_MB].name = g_strdup(mb);
units->units[TR_FMT_MB].value = value;
value *= kilo;
- units->units[TR_FMT_GB].name = g_strdup( gb );
+ units->units[TR_FMT_GB].name = g_strdup(gb);
units->units[TR_FMT_GB].value = value;
value *= kilo;
- units->units[TR_FMT_TB].name = g_strdup( tb );
+ units->units[TR_FMT_TB].name = g_strdup(tb);
units->units[TR_FMT_TB].value = value;
}
-static char*
-formatter_get_size_str( const struct formatter_units * u,
- char * buf, gint64 bytes, size_t buflen )
+static char *formatter_get_size_str(const struct formatter_units *u,
+ char *buf, gint64 bytes, size_t buflen)
{
int precision;
double value;
- const char * units;
- const struct formatter_unit * unit;
-
- if( bytes < u->units[1].value ) unit = &u->units[0];
- else if( bytes < u->units[2].value ) unit = &u->units[1];
- else if( bytes < u->units[3].value ) unit = &u->units[2];
- else unit = &u->units[3];
+ const char *units;
+ const struct formatter_unit *unit;
+
+ if (bytes < u->units[1].value)
+ unit = &u->units[0];
+ else if (bytes < u->units[2].value)
+ unit = &u->units[1];
+ else if (bytes < u->units[3].value)
+ unit = &u->units[2];
+ else
+ unit = &u->units[3];
- value = (double)bytes / unit->value;
+ value = (double) bytes / unit->value;
units = unit->name;
- if( unit->value == 1 )
+ if (unit->value == 1)
precision = 0;
- else if( value < 100 )
+ else if (value < 100)
precision = 2;
else
precision = 1;
- tr_snprintf( buf, buflen, "%.*f %s", precision, value, units );
+ tr_snprintf(buf, buflen, "%.*f %s", precision, value, units);
return buf;
}
static struct formatter_units size_units;
void
-tr_formatter_size_init( unsigned int kilo,
- const char * kb, const char * mb,
- const char * gb, const char * tb )
+tr_formatter_size_init(unsigned int kilo,
+ const char *kb, const char *mb,
+ const char *gb, const char *tb)
{
- formatter_init( &size_units, kilo, kb, mb, gb, tb );
+ formatter_init(&size_units, kilo, kb, mb, gb, tb);
}
-char*
-tr_formatter_size_B( char * buf, gint64 bytes, size_t buflen )
+char *tr_formatter_size_B(char *buf, gint64 bytes, size_t buflen)
{
- return formatter_get_size_str( &size_units, buf, bytes, buflen );
+ return formatter_get_size_str(&size_units, buf, bytes, buflen);
}
static struct formatter_units speed_units;
@@ -132,31 +132,34 @@ static struct formatter_units speed_units;
unsigned int tr_speed_K = 0u;
void
-tr_formatter_speed_init( unsigned int kilo,
- const char * kb, const char * mb,
- const char * gb, const char * tb )
+tr_formatter_speed_init(unsigned int kilo,
+ const char *kb, const char *mb,
+ const char *gb, const char *tb)
{
tr_speed_K = kilo;
- formatter_init( &speed_units, kilo, kb, mb, gb, tb );
+ formatter_init(&speed_units, kilo, kb, mb, gb, tb);
}
-char*
-tr_formatter_speed_KBps( char * buf, double KBps, size_t buflen )
+char *tr_formatter_speed_KBps(char *buf, double KBps, size_t buflen)
{
const double K = speed_units.units[TR_FMT_KB].value;
double speed = KBps;
- if( speed <= 999.95 ) /* 0.0 KB to 999.9 KB */
- tr_snprintf( buf, buflen, "%d %s", (int)speed, speed_units.units[TR_FMT_KB].name );
+ if (speed <= 999.95) /* 0.0 KB to 999.9 KB */
+ tr_snprintf(buf, buflen, "%d %s", (int) speed,
+ speed_units.units[TR_FMT_KB].name);
else {
speed /= K;
- if( speed <= 99.995 ) /* 0.98 MB to 99.99 MB */
- tr_snprintf( buf, buflen, "%.2f %s", speed, speed_units.units[TR_FMT_MB].name );
- else if (speed <= 999.95) /* 100.0 MB to 999.9 MB */
- tr_snprintf( buf, buflen, "%.1f %s", speed, speed_units.units[TR_FMT_MB].name );
+ if (speed <= 99.995) /* 0.98 MB to 99.99 MB */
+ tr_snprintf(buf, buflen, "%.2f %s", speed,
+ speed_units.units[TR_FMT_MB].name);
+ else if (speed <= 999.95) /* 100.0 MB to 999.9 MB */
+ tr_snprintf(buf, buflen, "%.1f %s", speed,
+ speed_units.units[TR_FMT_MB].name);
else {
speed /= K;
- tr_snprintf( buf, buflen, "%.1f %s", speed, speed_units.units[TR_FMT_GB].name );
+ tr_snprintf(buf, buflen, "%.1f %s", speed,
+ speed_units.units[TR_FMT_GB].name);
}
}
diff --git a/src/util.h b/src/util.h
index 990cafa..07ab0bf 100644
--- a/src/util.h
+++ b/src/util.h
@@ -37,16 +37,16 @@
#define TR_RATIO_INF -2
extern const int disk_K;
-extern const char * disk_K_str;
-extern const char * disk_M_str;
-extern const char * disk_G_str;
-extern const char * disk_T_str;
+extern const char *disk_K_str;
+extern const char *disk_M_str;
+extern const char *disk_G_str;
+extern const char *disk_T_str;
extern const int speed_K;
-extern const char * speed_K_str;
-extern const char * speed_M_str;
-extern const char * speed_G_str;
-extern const char * speed_T_str;
+extern const char *speed_K_str;
+extern const char *speed_M_str;
+extern const char *speed_G_str;
+extern const char *speed_T_str;
void add_file_id_to_array(JsonObject * args, gchar * key, gint index);
void g_str_slist_free(GSList * list);
@@ -56,18 +56,16 @@ gchar *make_error_message(JsonObject * response, int status);
void trg_error_dialog(GtkWindow * parent, trg_response * response);
void
-tr_formatter_size_init( unsigned int kilo,
- const char * kb, const char * mb,
- const char * gb, const char * tb );
-char*
-tr_formatter_size_B( char * buf, gint64 bytes, size_t buflen );
+tr_formatter_size_init(unsigned int kilo,
+ const char *kb, const char *mb,
+ const char *gb, const char *tb);
+char *tr_formatter_size_B(char *buf, gint64 bytes, size_t buflen);
void
-tr_formatter_speed_init( unsigned int kilo,
- const char * kb, const char * mb,
- const char * gb, const char * tb );
-char*
-tr_formatter_speed_KBps( char * buf, double KBps, size_t buflen );
+tr_formatter_speed_init(unsigned int kilo,
+ const char *kb, const char *mb,
+ const char *gb, const char *tb);
+char *tr_formatter_speed_KBps(char *buf, double KBps, size_t buflen);
char *tr_strltime_long(char *buf, long seconds, size_t buflen);
char *tr_strltime_short(char *buf, long seconds, size_t buflen);