summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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);