alexandria-book-collection-manager 0.7.2 → 0.7.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (200) hide show
  1. checksums.yaml +4 -4
  2. data/.github/dependabot.yml +9 -0
  3. data/.github/workflows/ruby.yml +77 -0
  4. data/.gitignore +5 -1
  5. data/.hound.yml +2 -0
  6. data/.rubocop.yml +87 -37
  7. data/.rubocop_todo.yml +62 -191
  8. data/.simplecov +5 -2
  9. data/CHANGELOG.md +63 -0
  10. data/Gemfile +4 -3
  11. data/INSTALL.md +26 -14
  12. data/README.md +52 -42
  13. data/Rakefile +93 -109
  14. data/TODO.md +9 -1
  15. data/alexandria-book-collection-manager.gemspec +50 -43
  16. data/bin/alexandria +30 -53
  17. data/doc/FAQ +2 -6
  18. data/doc/dependency_decisions.yml +27 -8
  19. data/lib/alexandria.rb +27 -37
  20. data/lib/alexandria/about.rb +50 -50
  21. data/lib/alexandria/book_providers.rb +90 -97
  22. data/lib/alexandria/book_providers/adlibris.rb +41 -76
  23. data/lib/alexandria/book_providers/amazon_aws.rb +96 -100
  24. data/lib/alexandria/book_providers/amazon_ecs_util.rb +295 -322
  25. data/lib/alexandria/book_providers/barnes_and_noble.rb +48 -45
  26. data/lib/alexandria/book_providers/douban.rb +26 -42
  27. data/lib/alexandria/book_providers/proxis.rb +44 -55
  28. data/lib/alexandria/book_providers/pseudomarc.rb +77 -85
  29. data/lib/alexandria/book_providers/siciliano.rb +64 -65
  30. data/lib/alexandria/book_providers/thalia.rb +42 -41
  31. data/lib/alexandria/book_providers/web.rb +15 -33
  32. data/lib/alexandria/book_providers/worldcat.rb +70 -97
  33. data/lib/alexandria/book_providers/z3950.rb +160 -173
  34. data/lib/alexandria/config.rb +1 -1
  35. data/lib/alexandria/console.rb +8 -21
  36. data/lib/alexandria/default_preferences.rb +37 -0
  37. data/lib/alexandria/execution_queue.rb +15 -13
  38. data/lib/alexandria/export_format.rb +47 -0
  39. data/lib/alexandria/export_library.rb +193 -300
  40. data/lib/alexandria/import_library.rb +108 -141
  41. data/lib/alexandria/import_library_csv.rb +43 -46
  42. data/lib/alexandria/library_collection.rb +79 -0
  43. data/lib/alexandria/library_sort_order.rb +45 -0
  44. data/lib/alexandria/library_store.rb +233 -0
  45. data/lib/alexandria/logging.rb +11 -13
  46. data/lib/alexandria/models/book.rb +13 -20
  47. data/lib/alexandria/models/library.rb +81 -353
  48. data/lib/alexandria/net.rb +5 -6
  49. data/lib/alexandria/preferences.rb +73 -87
  50. data/lib/alexandria/scanners.rb +2 -2
  51. data/lib/alexandria/scanners/{cuecat.rb → cue_cat.rb} +20 -18
  52. data/lib/alexandria/scanners/keyboard.rb +8 -8
  53. data/lib/alexandria/smart_library.rb +133 -170
  54. data/lib/alexandria/ui.rb +15 -15
  55. data/lib/alexandria/ui/about_dialog.rb +49 -0
  56. data/lib/alexandria/ui/{dialogs/acquire_dialog.rb → acquire_dialog.rb} +119 -136
  57. data/lib/alexandria/ui/alert_dialog.rb +64 -0
  58. data/lib/alexandria/ui/bad_isbns_dialog.rb +41 -0
  59. data/lib/alexandria/ui/{dialogs/barcode_animation.rb → barcode_animation.rb} +16 -15
  60. data/lib/alexandria/ui/{dialogs/book_properties_dialog.rb → book_properties_dialog.rb} +39 -52
  61. data/lib/alexandria/ui/book_properties_dialog_base.rb +318 -0
  62. data/lib/alexandria/ui/builder_base.rb +7 -27
  63. data/lib/alexandria/ui/calendar_popup.rb +58 -0
  64. data/lib/alexandria/ui/callbacks.rb +189 -183
  65. data/lib/alexandria/ui/completion_models.rb +10 -23
  66. data/lib/alexandria/ui/confirm_erase_dialog.rb +33 -0
  67. data/lib/alexandria/ui/conflict_while_copying_dialog.rb +34 -0
  68. data/lib/alexandria/ui/dndable.rb +7 -7
  69. data/lib/alexandria/ui/error_dialog.rb +25 -0
  70. data/lib/alexandria/ui/export_dialog.rb +142 -0
  71. data/lib/alexandria/ui/icons.rb +47 -63
  72. data/lib/alexandria/ui/iconview.rb +12 -10
  73. data/lib/alexandria/ui/iconview_tooltips.rb +41 -54
  74. data/lib/alexandria/ui/import_dialog.rb +157 -0
  75. data/lib/alexandria/ui/init.rb +21 -33
  76. data/lib/alexandria/ui/keep_bad_isbn_dialog.rb +36 -0
  77. data/lib/alexandria/ui/libraries_combo.rb +16 -14
  78. data/lib/alexandria/ui/listview.rb +73 -87
  79. data/lib/alexandria/ui/main_app.rb +24 -26
  80. data/lib/alexandria/ui/misc_dialogs.rb +10 -0
  81. data/lib/alexandria/ui/multi_drag_treeview.rb +28 -41
  82. data/lib/alexandria/ui/{dialogs/new_book_dialog.rb → new_book_dialog.rb} +156 -194
  83. data/lib/alexandria/ui/new_book_dialog_manual.rb +139 -0
  84. data/lib/alexandria/ui/new_provider_dialog.rb +100 -0
  85. data/lib/alexandria/ui/new_smart_library_dialog.rb +74 -0
  86. data/lib/alexandria/ui/preferences_dialog.rb +313 -0
  87. data/lib/alexandria/ui/provider_preferences_base_dialog.rb +95 -0
  88. data/lib/alexandria/ui/provider_preferences_dialog.rb +35 -0
  89. data/lib/alexandria/ui/really_delete_dialog.rb +53 -0
  90. data/lib/alexandria/ui/{sidepane.rb → sidepane_manager.rb} +56 -68
  91. data/lib/alexandria/ui/skip_entry_dialog.rb +33 -0
  92. data/lib/alexandria/ui/smart_library_properties_dialog.rb +60 -0
  93. data/lib/alexandria/ui/smart_library_properties_dialog_base.rb +242 -0
  94. data/lib/alexandria/ui/smart_library_rule_box.rb +119 -0
  95. data/lib/alexandria/ui/sound.rb +11 -13
  96. data/lib/alexandria/ui/ui_manager.rb +236 -251
  97. data/lib/alexandria/undo_manager.rb +1 -0
  98. data/lib/alexandria/version.rb +4 -19
  99. data/lib/alexandria/web_themes.rb +22 -21
  100. data/po/Makefile +2 -2
  101. data/po/cs.po +993 -880
  102. data/po/cy.po +957 -874
  103. data/po/de.po +990 -869
  104. data/po/el.po +989 -869
  105. data/po/es.po +985 -865
  106. data/po/fr.po +986 -870
  107. data/po/ga.po +907 -823
  108. data/po/gl.po +981 -865
  109. data/po/it.po +986 -868
  110. data/po/ja.po +969 -853
  111. data/po/mk.po +983 -863
  112. data/po/nb.po +979 -863
  113. data/po/nl.po +983 -864
  114. data/po/pl.po +1017 -974
  115. data/po/pt.po +988 -861
  116. data/po/pt_BR.po +984 -868
  117. data/po/ru.po +992 -873
  118. data/po/sk.po +987 -869
  119. data/po/sv.po +977 -861
  120. data/po/uk.po +975 -865
  121. data/po/zh_TW.po +976 -860
  122. data/schemas/alexandria.schemas +25 -3
  123. data/share/alexandria/glade/acquire_dialog__builder.glade +15 -12
  124. data/share/alexandria/glade/book_properties_dialog__builder.glade +171 -299
  125. data/share/alexandria/glade/main_app__builder.glade +24 -33
  126. data/share/alexandria/glade/new_book_dialog__builder.glade +27 -59
  127. data/share/alexandria/glade/preferences_dialog__builder.glade +250 -290
  128. data/share/gnome/help/alexandria/C/introduction.xml +0 -8
  129. data/share/gnome/help/alexandria/C/searching.xml +1 -1
  130. data/share/gnome/help/alexandria/C/smart-libraries.xml +2 -2
  131. data/share/gnome/help/alexandria/C/working-with-libraries.xml +1 -1
  132. data/share/gnome/help/alexandria/fr/alexandria.xml +1 -1
  133. data/share/gnome/help/alexandria/ja/introduction.xml +0 -8
  134. data/share/gnome/help/alexandria/ja/smart-libraries.xml +1 -1
  135. data/spec/alexandria/book_providers/world_cat_provider_spec.rb +160 -0
  136. data/spec/alexandria/book_providers_spec.rb +75 -171
  137. data/spec/alexandria/book_spec.rb +12 -10
  138. data/spec/alexandria/console_spec.rb +27 -0
  139. data/spec/alexandria/export_library_spec.rb +130 -0
  140. data/spec/alexandria/library_spec.rb +128 -172
  141. data/spec/alexandria/library_store_spec.rb +37 -0
  142. data/spec/alexandria/preferences_spec.rb +44 -17
  143. data/spec/alexandria/scanners/cue_cat_spec.rb +52 -0
  144. data/spec/alexandria/smart_library_spec.rb +30 -25
  145. data/spec/alexandria/ui/about_dialog_spec.rb +14 -0
  146. data/spec/alexandria/ui/acquire_dialog_spec.rb +14 -0
  147. data/spec/alexandria/ui/alert_dialog_spec.rb +16 -0
  148. data/spec/alexandria/ui/bad_isbns_dialog_spec.rb +14 -0
  149. data/spec/alexandria/ui/book_properties_dialog_spec.rb +17 -0
  150. data/spec/alexandria/ui/confirm_erase_dialog_spec.rb +14 -0
  151. data/spec/alexandria/ui/conflict_while_copying_dialog_spec.rb +16 -0
  152. data/spec/alexandria/ui/error_dialog_spec.rb +14 -0
  153. data/spec/alexandria/ui/export_dialog_spec.rb +36 -0
  154. data/spec/alexandria/ui/icons_spec.rb +26 -0
  155. data/spec/alexandria/ui/iconview_spec.rb +7 -21
  156. data/spec/alexandria/ui/import_dialog_spec.rb +46 -0
  157. data/spec/alexandria/ui/keep_bad_isbn_dialog_spec.rb +17 -0
  158. data/spec/alexandria/ui/main_app_spec.rb +7 -34
  159. data/spec/alexandria/ui/new_book_dialog_manual_spec.rb +15 -0
  160. data/spec/alexandria/ui/new_book_dialog_spec.rb +22 -0
  161. data/spec/alexandria/ui/new_provider_dialog_spec.rb +30 -0
  162. data/spec/alexandria/ui/new_smart_library_dialog_spec.rb +39 -0
  163. data/spec/alexandria/ui/preferences_dialog_spec.rb +14 -0
  164. data/spec/alexandria/ui/provider_preferences_dialog_spec.rb +34 -0
  165. data/spec/alexandria/ui/really_delete_dialog_spec.rb +16 -0
  166. data/spec/alexandria/ui/sidepane_manager_spec.rb +15 -0
  167. data/spec/alexandria/ui/skip_entry_dialog_spec.rb +14 -0
  168. data/spec/alexandria/ui/smart_library_properties_dialog_spec.rb +49 -0
  169. data/spec/alexandria/ui/sound_spec.rb +2 -2
  170. data/spec/alexandria/ui/ui_manager_spec.rb +43 -20
  171. data/spec/end_to_end/basic_run_spec.rb +52 -0
  172. data/spec/spec_helper.rb +65 -33
  173. data/tasks/setup.rb +2 -2
  174. data/tasks/spec.rake +16 -3
  175. data/util/rake/fileinstall.rb +39 -35
  176. data/util/rake/gettextgenerate.rb +7 -7
  177. data/util/rake/omfgenerate.rb +7 -7
  178. metadata +178 -45
  179. data/dogtail/basic_run_test.py +0 -9
  180. data/lib/alexandria/book_providers/deastore.rb +0 -265
  181. data/lib/alexandria/book_providers/mcu.rb +0 -182
  182. data/lib/alexandria/book_providers/renaud.rb +0 -149
  183. data/lib/alexandria/ui/dialogs/about_dialog.rb +0 -61
  184. data/lib/alexandria/ui/dialogs/alert_dialog.rb +0 -72
  185. data/lib/alexandria/ui/dialogs/bad_isbns_dialog.rb +0 -51
  186. data/lib/alexandria/ui/dialogs/book_properties_dialog_base.rb +0 -426
  187. data/lib/alexandria/ui/dialogs/export_dialog.rb +0 -171
  188. data/lib/alexandria/ui/dialogs/import_dialog.rb +0 -196
  189. data/lib/alexandria/ui/dialogs/misc_dialogs.rb +0 -87
  190. data/lib/alexandria/ui/dialogs/new_book_dialog_manual.rb +0 -154
  191. data/lib/alexandria/ui/dialogs/new_smart_library_dialog.rb +0 -74
  192. data/lib/alexandria/ui/dialogs/preferences_dialog.rb +0 -568
  193. data/lib/alexandria/ui/dialogs/smart_library_properties_dialog.rb +0 -59
  194. data/lib/alexandria/ui/dialogs/smart_library_properties_dialog_base.rb +0 -420
  195. data/spec/alexandria/scanners/cuecat_spec.rb +0 -67
  196. data/spec/alexandria/ui/dialogs_spec.rb +0 -96
  197. data/spec/alexandria/ui/sidepane_spec.rb +0 -29
  198. data/spec/alexandria/ui/ui_utilities_spec.rb +0 -62
  199. data/spec/alexandria/utilities_spec.rb +0 -52
  200. data/tasks/dogtail.rake +0 -6
@@ -203,7 +203,7 @@
203
203
  <long>Whether the publisher column should be visible in the list view.</long>
204
204
  </locale>
205
205
  </schema>
206
- <schema>
206
+ <schema>
207
207
  <key>/schemas/apps/alexandria/col_publish_date_visible</key>
208
208
  <applyto>/apps/alexandria/col_publish_date_visible</applyto>
209
209
  <owner>alexandria</owner>
@@ -214,6 +214,17 @@
214
214
  <long>Whether the publish date column should be visible in the list view.</long>
215
215
  </locale>
216
216
  </schema>
217
+ <schema>
218
+ <key>/schemas/apps/alexandria/col_loaned_to_visible</key>
219
+ <applyto>/apps/alexandria/col_loaned_to_visible</applyto>
220
+ <owner>alexandria</owner>
221
+ <type>bool</type>
222
+ <default>true</default>
223
+ <locale name="C">
224
+ <short>Loaned to visibility</short>
225
+ <long>Whether the loaned to column should be visible in the list view.</long>
226
+ </locale>
227
+ </schema>
217
228
  <schema>
218
229
  <key>/schemas/apps/alexandria/col_rating_visible</key>
219
230
  <applyto>/apps/alexandria/col_rating_visible</applyto>
@@ -247,7 +258,7 @@
247
258
  <long>Whether the own column should be visible in the list view.</long>
248
259
  </locale>
249
260
  </schema>
250
- <schema>
261
+ <schema>
251
262
  <key>/schemas/apps/alexandria/col_want_visible</key>
252
263
  <applyto>/apps/alexandria/col_want_visible</applyto>
253
264
  <owner>alexandria</owner>
@@ -258,6 +269,17 @@
258
269
  <long>Whether the want column should be visible in the list view.</long>
259
270
  </locale>
260
271
  </schema>
272
+ <schema>
273
+ <key>/schemas/apps/alexandria/col_tags_visible</key>
274
+ <applyto>/apps/alexandria/col_tags_visible</applyto>
275
+ <owner>alexandria</owner>
276
+ <type>bool</type>
277
+ <default>true</default>
278
+ <locale name="C">
279
+ <short>Tags column visibility</short>
280
+ <long>Whether the tags column should be visible in the list view.</long>
281
+ </locale>
282
+ </schema>
261
283
  <schema>
262
284
  <key>/schemas/apps/alexandria/cols_width</key>
263
285
  <applyto>/apps/alexandria/cols_width</applyto>
@@ -278,7 +300,7 @@
278
300
  <owner>alexandria</owner>
279
301
  <type>list</type>
280
302
  <list_type>string</list_type>
281
- <default>[Amazon, BarnesAndNoble, AdLibris, DeaStore, Proxis, Thalia, Siciliano, WorldCat, MCU, LOC, BL, SBN]</default>
303
+ <default>[Amazon, BarnesAndNoble, AdLibris, Proxis, Thalia, Siciliano, WorldCat, LOC, BL, SBN]</default>
282
304
  <!-- BROKEN [Webster_it, Thalia, IBS_it, ] -->
283
305
  <locale name="C">
284
306
  <short>Providers priority</short>
@@ -1,9 +1,9 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
+ <!-- Generated with glade 3.22.0 -->
2
3
  <interface>
3
- <requires lib="gtk+" version="2.22"/>
4
- <!-- interface-naming-policy toplevel-contextual -->
4
+ <requires lib="gtk+" version="3.0"/>
5
5
  <object class="GtkDialog" id="acquire_dialog">
6
- <property name="visible">True</property>
6
+ <property name="visible">False</property>
7
7
  <property name="can_focus">False</property>
8
8
  <property name="border_width">6</property>
9
9
  <property name="title" translatable="yes">Acquire from Scanner</property>
@@ -11,12 +11,13 @@
11
11
  <property name="type_hint">dialog</property>
12
12
  <signal name="close" handler="on_destroy" swapped="no"/>
13
13
  <child internal-child="vbox">
14
- <object class="GtkVBox" id="dialog_vbox1">
14
+ <object class="GtkBox" id="dialog_vbox1">
15
15
  <property name="visible">True</property>
16
16
  <property name="can_focus">False</property>
17
+ <property name="orientation">vertical</property>
17
18
  <property name="spacing">12</property>
18
19
  <child internal-child="action_area">
19
- <object class="GtkHButtonBox" id="dialog_action_area1">
20
+ <object class="GtkButtonBox" id="dialog_action_area1">
20
21
  <property name="visible">True</property>
21
22
  <property name="can_focus">False</property>
22
23
  <property name="layout_style">end</property>
@@ -27,7 +28,6 @@
27
28
  <property name="can_focus">True</property>
28
29
  <property name="can_default">True</property>
29
30
  <property name="receives_default">False</property>
30
- <property name="use_action_appearance">False</property>
31
31
  <property name="use_stock">True</property>
32
32
  <signal name="clicked" handler="on_help" swapped="no"/>
33
33
  </object>
@@ -44,7 +44,6 @@
44
44
  <property name="can_focus">True</property>
45
45
  <property name="can_default">True</property>
46
46
  <property name="receives_default">False</property>
47
- <property name="use_action_appearance">False</property>
48
47
  <property name="use_stock">True</property>
49
48
  <signal name="clicked" handler="on_cancel" swapped="no"/>
50
49
  </object>
@@ -61,7 +60,6 @@
61
60
  <property name="can_focus">True</property>
62
61
  <property name="can_default">True</property>
63
62
  <property name="receives_default">False</property>
64
- <property name="use_action_appearance">False</property>
65
63
  <property name="use_stock">True</property>
66
64
  <signal name="clicked" handler="on_add" swapped="no"/>
67
65
  </object>
@@ -80,10 +78,11 @@
80
78
  </packing>
81
79
  </child>
82
80
  <child>
83
- <object class="GtkVBox" id="vbox1">
81
+ <object class="GtkBox" id="vbox1">
84
82
  <property name="visible">True</property>
85
83
  <property name="can_focus">False</property>
86
84
  <property name="border_width">6</property>
85
+ <property name="orientation">vertical</property>
87
86
  <property name="spacing">12</property>
88
87
  <child>
89
88
  <object class="GtkLabel" id="barcode_label">
@@ -128,8 +127,6 @@
128
127
  <object class="GtkScrolledWindow" id="scrolledwindow1">
129
128
  <property name="visible">True</property>
130
129
  <property name="can_focus">True</property>
131
- <property name="hscrollbar_policy">automatic</property>
132
- <property name="vscrollbar_policy">automatic</property>
133
130
  <property name="shadow_type">in</property>
134
131
  <child>
135
132
  <object class="GtkTreeView" id="barcodes_treeview">
@@ -138,6 +135,9 @@
138
135
  <property name="visible">True</property>
139
136
  <property name="can_focus">True</property>
140
137
  <property name="headers_visible">False</property>
138
+ <child internal-child="selection">
139
+ <object class="GtkTreeSelection"/>
140
+ </child>
141
141
  </object>
142
142
  </child>
143
143
  </object>
@@ -148,7 +148,7 @@
148
148
  </packing>
149
149
  </child>
150
150
  <child>
151
- <object class="GtkHBox" id="hbox1">
151
+ <object class="GtkBox" id="hbox1">
152
152
  <property name="visible">True</property>
153
153
  <property name="can_focus">False</property>
154
154
  <property name="spacing">12</property>
@@ -197,5 +197,8 @@
197
197
  <action-widget response="-6">cancel_button</action-widget>
198
198
  <action-widget response="-5">add_button</action-widget>
199
199
  </action-widgets>
200
+ <child>
201
+ <placeholder/>
202
+ </child>
200
203
  </object>
201
204
  </interface>
@@ -1,19 +1,20 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
+ <!-- Generated with glade 3.22.0 -->
2
3
  <interface>
3
- <requires lib="gtk+" version="2.22"/>
4
- <!-- interface-naming-policy project-wide -->
4
+ <requires lib="gtk+" version="3.0"/>
5
5
  <object class="GtkDialog" id="book_properties_dialog">
6
- <property name="visible">True</property>
6
+ <property name="visible">False</property>
7
7
  <property name="can_focus">False</property>
8
8
  <property name="modal">True</property>
9
9
  <property name="type_hint">dialog</property>
10
10
  <signal name="destroy" handler="on_destroy" swapped="no"/>
11
11
  <child internal-child="vbox">
12
- <object class="GtkVBox" id="dialog_vbox1">
12
+ <object class="GtkBox" id="dialog_vbox1">
13
13
  <property name="visible">True</property>
14
14
  <property name="can_focus">False</property>
15
+ <property name="orientation">vertical</property>
15
16
  <child internal-child="action_area">
16
- <object class="GtkHButtonBox" id="button_box">
17
+ <object class="GtkButtonBox" id="button_box">
17
18
  <property name="visible">True</property>
18
19
  <property name="can_focus">False</property>
19
20
  <property name="layout_style">end</property>
@@ -35,131 +36,74 @@
35
36
  </packing>
36
37
  </child>
37
38
  <child>
38
- <object class="GtkNotebook" id="notebook1">
39
+ <object class="GtkNotebook" id="notebook">
39
40
  <property name="visible">True</property>
40
41
  <property name="can_focus">True</property>
41
42
  <property name="border_width">6</property>
42
43
  <child>
43
- <object class="GtkHBox" id="hbox1">
44
+ <object class="GtkBox" id="hbox1">
44
45
  <property name="visible">True</property>
45
46
  <property name="can_focus">False</property>
46
47
  <property name="border_width">6</property>
47
48
  <property name="spacing">12</property>
48
49
  <child>
49
- <object class="GtkTable" id="table1">
50
+ <object class="GtkGrid" id="table1">
50
51
  <property name="visible">True</property>
51
52
  <property name="can_focus">False</property>
52
- <property name="n_rows">7</property>
53
- <property name="n_columns">2</property>
54
- <property name="column_spacing">12</property>
55
53
  <property name="row_spacing">12</property>
54
+ <property name="column_spacing">12</property>
55
+ <property name="row_homogeneous">True</property>
56
56
  <child>
57
57
  <object class="GtkLabel" id="label1">
58
58
  <property name="visible">True</property>
59
59
  <property name="can_focus">False</property>
60
- <property name="xalign">0</property>
61
- <property name="yalign">0</property>
62
60
  <property name="label" translatable="yes">_Title:</property>
63
61
  <property name="use_underline">True</property>
64
62
  <property name="mnemonic_widget">entry_title</property>
65
- </object>
66
- <packing>
67
- <property name="x_options"></property>
68
- <property name="y_options"></property>
69
- </packing>
70
- </child>
71
- <child>
72
- <object class="GtkLabel" id="label7">
73
- <property name="visible">True</property>
74
- <property name="can_focus">False</property>
75
63
  <property name="xalign">0</property>
76
- <property name="yalign">0</property>
77
- <property name="label" translatable="yes">_Publisher:</property>
78
- <property name="use_underline">True</property>
79
- <property name="mnemonic_widget">entry_publisher</property>
80
64
  </object>
81
65
  <packing>
82
- <property name="top_attach">3</property>
83
- <property name="bottom_attach">4</property>
84
- <property name="x_options"></property>
85
- <property name="y_options"></property>
66
+ <property name="left_attach">0</property>
67
+ <property name="top_attach">0</property>
86
68
  </packing>
87
69
  </child>
88
70
  <child>
89
71
  <object class="GtkEntry" id="entry_title">
90
72
  <property name="visible">True</property>
91
73
  <property name="can_focus">True</property>
92
- <property name="invisible_char">•</property>
93
- <property name="invisible_char_set">True</property>
94
- <property name="primary_icon_activatable">False</property>
95
- <property name="secondary_icon_activatable">False</property>
96
- <property name="primary_icon_sensitive">True</property>
97
- <property name="secondary_icon_sensitive">True</property>
98
74
  <signal name="changed" handler="on_title_changed" swapped="no"/>
99
75
  </object>
100
76
  <packing>
101
77
  <property name="left_attach">1</property>
102
- <property name="right_attach">2</property>
103
- <property name="y_options"></property>
104
- </packing>
105
- </child>
106
- <child>
107
- <object class="GtkEntry" id="entry_publisher">
108
- <property name="visible">True</property>
109
- <property name="can_focus">True</property>
110
- <property name="invisible_char">•</property>
111
- <property name="invisible_char_set">True</property>
112
- <property name="primary_icon_activatable">False</property>
113
- <property name="secondary_icon_activatable">False</property>
114
- <property name="primary_icon_sensitive">True</property>
115
- <property name="secondary_icon_sensitive">True</property>
116
- </object>
117
- <packing>
118
- <property name="left_attach">1</property>
119
- <property name="right_attach">2</property>
120
- <property name="top_attach">3</property>
121
- <property name="bottom_attach">4</property>
122
- <property name="y_options"></property>
78
+ <property name="top_attach">0</property>
123
79
  </packing>
124
80
  </child>
125
81
  <child>
126
82
  <object class="GtkLabel" id="label5">
127
83
  <property name="visible">True</property>
128
84
  <property name="can_focus">False</property>
129
- <property name="xalign">0</property>
130
- <property name="yalign">0</property>
131
85
  <property name="label" translatable="yes">_ISBN:</property>
132
86
  <property name="use_underline">True</property>
133
87
  <property name="mnemonic_widget">entry_isbn</property>
88
+ <property name="xalign">0</property>
134
89
  </object>
135
90
  <packing>
91
+ <property name="left_attach">0</property>
136
92
  <property name="top_attach">1</property>
137
- <property name="bottom_attach">2</property>
138
- <property name="x_options"></property>
139
- <property name="y_options"></property>
140
93
  </packing>
141
94
  </child>
142
95
  <child>
143
96
  <object class="GtkEntry" id="entry_isbn">
144
97
  <property name="visible">True</property>
145
98
  <property name="can_focus">True</property>
146
- <property name="invisible_char">•</property>
147
- <property name="invisible_char_set">True</property>
148
- <property name="primary_icon_activatable">False</property>
149
- <property name="secondary_icon_activatable">False</property>
150
- <property name="primary_icon_sensitive">True</property>
151
- <property name="secondary_icon_sensitive">True</property>
152
99
  </object>
153
100
  <packing>
154
101
  <property name="left_attach">1</property>
155
- <property name="right_attach">2</property>
156
102
  <property name="top_attach">1</property>
157
- <property name="bottom_attach">2</property>
158
- <property name="y_options"></property>
159
103
  </packing>
160
104
  </child>
161
105
  <child>
162
- <object class="GtkHBox" id="hbox3">
106
+ <object class="GtkBox" id="hbox3">
163
107
  <property name="visible">True</property>
164
108
  <property name="can_focus">False</property>
165
109
  <property name="spacing">8</property>
@@ -167,8 +111,6 @@
167
111
  <object class="GtkScrolledWindow" id="scrolledwindow2">
168
112
  <property name="visible">True</property>
169
113
  <property name="can_focus">True</property>
170
- <property name="hscrollbar_policy">automatic</property>
171
- <property name="vscrollbar_policy">automatic</property>
172
114
  <property name="shadow_type">in</property>
173
115
  <child>
174
116
  <object class="GtkTreeView" id="treeview_authors">
@@ -176,6 +118,9 @@
176
118
  <property name="can_focus">True</property>
177
119
  <property name="headers_visible">False</property>
178
120
  <property name="enable_search">False</property>
121
+ <child internal-child="selection">
122
+ <object class="GtkTreeSelection"/>
123
+ </child>
179
124
  </object>
180
125
  </child>
181
126
  </object>
@@ -186,16 +131,17 @@
186
131
  </packing>
187
132
  </child>
188
133
  <child>
189
- <object class="GtkVBox" id="vbox2">
134
+ <object class="GtkBox" id="vbox2">
190
135
  <property name="visible">True</property>
191
136
  <property name="can_focus">False</property>
137
+ <property name="orientation">vertical</property>
192
138
  <property name="spacing">4</property>
139
+ <property name="homogeneous">True</property>
193
140
  <child>
194
141
  <object class="GtkButton" id="button3">
195
142
  <property name="visible">True</property>
196
143
  <property name="can_focus">True</property>
197
144
  <property name="receives_default">True</property>
198
- <property name="use_action_appearance">False</property>
199
145
  <signal name="clicked" handler="on_add_author" swapped="no"/>
200
146
  <child>
201
147
  <object class="GtkImage" id="image2">
@@ -216,7 +162,6 @@
216
162
  <property name="visible">True</property>
217
163
  <property name="can_focus">True</property>
218
164
  <property name="receives_default">True</property>
219
- <property name="use_action_appearance">False</property>
220
165
  <signal name="clicked" handler="on_remove_author" swapped="no"/>
221
166
  <child>
222
167
  <object class="GtkImage" id="image3">
@@ -243,79 +188,80 @@
243
188
  </object>
244
189
  <packing>
245
190
  <property name="left_attach">1</property>
246
- <property name="right_attach">2</property>
247
191
  <property name="top_attach">2</property>
248
- <property name="bottom_attach">3</property>
192
+ <property name="height">2</property>
249
193
  </packing>
250
194
  </child>
251
195
  <child>
252
196
  <object class="GtkLabel" id="label3">
253
197
  <property name="visible">True</property>
254
198
  <property name="can_focus">False</property>
255
- <property name="xalign">0</property>
256
- <property name="yalign">0</property>
257
199
  <property name="label" translatable="yes">_Authors:</property>
258
200
  <property name="use_underline">True</property>
259
201
  <property name="mnemonic_widget">treeview_authors</property>
202
+ <property name="xalign">0</property>
260
203
  </object>
261
204
  <packing>
205
+ <property name="left_attach">0</property>
262
206
  <property name="top_attach">2</property>
263
- <property name="bottom_attach">3</property>
264
- <property name="x_options"></property>
265
- <property name="y_options"></property>
266
207
  </packing>
267
208
  </child>
268
209
  <child>
269
- <object class="GtkLabel" id="label9">
210
+ <object class="GtkLabel" id="label17">
270
211
  <property name="visible">True</property>
271
212
  <property name="can_focus">False</property>
213
+ <property name="label" translatable="yes">Tags:</property>
272
214
  <property name="xalign">0</property>
273
- <property name="yalign">0</property>
274
- <property name="label" translatable="yes">_Binding:</property>
275
- <property name="use_underline">True</property>
276
- <property name="mnemonic_widget">entry_edition</property>
277
215
  </object>
278
216
  <packing>
279
- <property name="top_attach">5</property>
280
- <property name="bottom_attach">6</property>
281
- <property name="x_options"></property>
282
- <property name="y_options"></property>
217
+ <property name="left_attach">0</property>
218
+ <property name="top_attach">7</property>
219
+ </packing>
220
+ </child>
221
+ <child>
222
+ <object class="GtkEntry" id="entry_tags">
223
+ <property name="visible">True</property>
224
+ <property name="can_focus">True</property>
225
+ </object>
226
+ <packing>
227
+ <property name="left_attach">1</property>
228
+ <property name="top_attach">7</property>
283
229
  </packing>
284
230
  </child>
285
231
  <child>
286
232
  <object class="GtkEntry" id="entry_edition">
287
233
  <property name="visible">True</property>
288
234
  <property name="can_focus">True</property>
289
- <property name="invisible_char">•</property>
290
- <property name="invisible_char_set">True</property>
291
- <property name="primary_icon_activatable">False</property>
292
- <property name="secondary_icon_activatable">False</property>
293
- <property name="primary_icon_sensitive">True</property>
294
- <property name="secondary_icon_sensitive">True</property>
295
235
  </object>
296
236
  <packing>
297
237
  <property name="left_attach">1</property>
298
- <property name="right_attach">2</property>
299
- <property name="top_attach">5</property>
300
- <property name="bottom_attach">6</property>
301
- <property name="y_options"></property>
238
+ <property name="top_attach">6</property>
302
239
  </packing>
303
240
  </child>
304
241
  <child>
305
- <object class="GtkLabel" id="label16">
242
+ <object class="GtkLabel" id="label9">
306
243
  <property name="visible">True</property>
307
244
  <property name="can_focus">False</property>
245
+ <property name="label" translatable="yes">_Binding:</property>
246
+ <property name="use_underline">True</property>
308
247
  <property name="xalign">0</property>
309
- <property name="yalign">0</property>
248
+ </object>
249
+ <packing>
250
+ <property name="left_attach">0</property>
251
+ <property name="top_attach">6</property>
252
+ </packing>
253
+ </child>
254
+ <child>
255
+ <object class="GtkLabel" id="label16">
256
+ <property name="visible">True</property>
257
+ <property name="can_focus">False</property>
310
258
  <property name="label" translatable="yes">Publish _year:</property>
311
259
  <property name="use_underline">True</property>
312
- <property name="mnemonic_widget">entry_publish_date</property>
260
+ <property name="xalign">0</property>
313
261
  </object>
314
262
  <packing>
315
- <property name="top_attach">4</property>
316
- <property name="bottom_attach">5</property>
317
- <property name="x_options"></property>
318
- <property name="y_options"></property>
263
+ <property name="left_attach">0</property>
264
+ <property name="top_attach">5</property>
319
265
  </packing>
320
266
  </child>
321
267
  <child>
@@ -323,65 +269,50 @@
323
269
  <property name="visible">True</property>
324
270
  <property name="can_focus">True</property>
325
271
  <property name="max_length">4</property>
326
- <property name="invisible_char">•</property>
327
- <property name="invisible_char_set">True</property>
328
- <property name="primary_icon_activatable">False</property>
329
- <property name="secondary_icon_activatable">False</property>
330
- <property name="primary_icon_sensitive">True</property>
331
- <property name="secondary_icon_sensitive">True</property>
332
272
  </object>
333
273
  <packing>
334
274
  <property name="left_attach">1</property>
335
- <property name="right_attach">2</property>
336
- <property name="top_attach">4</property>
337
- <property name="bottom_attach">5</property>
338
- <property name="y_options"></property>
275
+ <property name="top_attach">5</property>
339
276
  </packing>
340
277
  </child>
341
278
  <child>
342
- <object class="GtkLabel" id="label17">
279
+ <object class="GtkEntry" id="entry_publisher">
343
280
  <property name="visible">True</property>
344
- <property name="can_focus">False</property>
345
- <property name="xalign">0</property>
346
- <property name="label" translatable="yes">Tags:</property>
281
+ <property name="can_focus">True</property>
347
282
  </object>
348
283
  <packing>
349
- <property name="top_attach">6</property>
350
- <property name="bottom_attach">7</property>
351
- <property name="x_options"></property>
352
- <property name="y_options"></property>
284
+ <property name="left_attach">1</property>
285
+ <property name="top_attach">4</property>
353
286
  </packing>
354
287
  </child>
355
288
  <child>
356
- <object class="GtkEntry" id="entry_tags">
289
+ <object class="GtkLabel" id="label7">
357
290
  <property name="visible">True</property>
358
- <property name="can_focus">True</property>
359
- <property name="invisible_char">●</property>
360
- <property name="invisible_char_set">True</property>
361
- <property name="primary_icon_activatable">False</property>
362
- <property name="secondary_icon_activatable">False</property>
363
- <property name="primary_icon_sensitive">True</property>
364
- <property name="secondary_icon_sensitive">True</property>
291
+ <property name="can_focus">False</property>
292
+ <property name="label" translatable="yes">_Publisher:</property>
293
+ <property name="use_underline">True</property>
294
+ <property name="xalign">0</property>
365
295
  </object>
366
296
  <packing>
367
- <property name="left_attach">1</property>
368
- <property name="right_attach">2</property>
369
- <property name="top_attach">6</property>
370
- <property name="bottom_attach">7</property>
371
- <property name="y_options"></property>
297
+ <property name="left_attach">0</property>
298
+ <property name="top_attach">4</property>
372
299
  </packing>
373
300
  </child>
301
+ <child>
302
+ <placeholder/>
303
+ </child>
374
304
  </object>
375
305
  <packing>
376
- <property name="expand">True</property>
306
+ <property name="expand">False</property>
377
307
  <property name="fill">True</property>
378
308
  <property name="position">0</property>
379
309
  </packing>
380
310
  </child>
381
311
  <child>
382
- <object class="GtkVSeparator" id="vseparator1">
312
+ <object class="GtkSeparator" id="vseparator1">
383
313
  <property name="visible">True</property>
384
314
  <property name="can_focus">False</property>
315
+ <property name="orientation">vertical</property>
385
316
  </object>
386
317
  <packing>
387
318
  <property name="expand">False</property>
@@ -390,23 +321,23 @@
390
321
  </packing>
391
322
  </child>
392
323
  <child>
393
- <object class="GtkVBox" id="vbox1">
324
+ <object class="GtkBox" id="vbox1">
394
325
  <property name="visible">True</property>
395
326
  <property name="can_focus">False</property>
327
+ <property name="orientation">vertical</property>
396
328
  <property name="spacing">8</property>
397
329
  <child>
398
330
  <object class="GtkLabel" id="label12">
399
331
  <property name="visible">True</property>
400
332
  <property name="can_focus">False</property>
401
- <property name="xalign">0</property>
402
- <property name="yalign">0.34000000357627869</property>
403
333
  <property name="label" translatable="yes">_Cover:</property>
404
334
  <property name="use_underline">True</property>
405
335
  <property name="mnemonic_widget">button_cover</property>
336
+ <property name="xalign">0</property>
406
337
  </object>
407
338
  <packing>
408
339
  <property name="expand">False</property>
409
- <property name="fill">False</property>
340
+ <property name="fill">True</property>
410
341
  <property name="position">0</property>
411
342
  </packing>
412
343
  </child>
@@ -415,7 +346,6 @@
415
346
  <property name="visible">True</property>
416
347
  <property name="can_focus">True</property>
417
348
  <property name="receives_default">True</property>
418
- <property name="use_action_appearance">False</property>
419
349
  <signal name="clicked" handler="on_change_cover" swapped="no"/>
420
350
  <child>
421
351
  <object class="GtkImage" id="image_cover">
@@ -425,115 +355,10 @@
425
355
  </object>
426
356
  </child>
427
357
  </object>
428
- <packing>
429
- <property name="expand">False</property>
430
- <property name="fill">False</property>
431
- <property name="position">1</property>
432
- </packing>
433
- </child>
434
- <child>
435
- <object class="GtkVBox" id="vbox4">
436
- <property name="visible">True</property>
437
- <property name="can_focus">False</property>
438
- <child>
439
- <object class="GtkVBox" id="vbox5">
440
- <property name="visible">True</property>
441
- <property name="can_focus">False</property>
442
- <child>
443
- <object class="GtkCheckButton" id="checkbutton_own">
444
- <property name="label" translatable="yes">Own it?</property>
445
- <property name="visible">True</property>
446
- <property name="can_focus">True</property>
447
- <property name="receives_default">False</property>
448
- <property name="use_action_appearance">False</property>
449
- <property name="use_underline">True</property>
450
- <property name="draw_indicator">True</property>
451
- <signal name="toggled" handler="own_toggled" after="yes" swapped="no"/>
452
- </object>
453
- <packing>
454
- <property name="expand">False</property>
455
- <property name="fill">False</property>
456
- <property name="position">0</property>
457
- </packing>
458
- </child>
459
- <child>
460
- <object class="GtkVBox" id="vbox6">
461
- <property name="visible">True</property>
462
- <property name="can_focus">False</property>
463
- <child>
464
- <object class="GtkCheckButton" id="checkbutton_redd">
465
- <property name="label" translatable="yes">Read it?</property>
466
- <property name="visible">True</property>
467
- <property name="can_focus">True</property>
468
- <property name="receives_default">False</property>
469
- <property name="use_action_appearance">False</property>
470
- <property name="use_underline">True</property>
471
- <property name="draw_indicator">True</property>
472
- <signal name="toggled" handler="redd_toggled" after="yes" swapped="no"/>
473
- </object>
474
- <packing>
475
- <property name="expand">True</property>
476
- <property name="fill">False</property>
477
- <property name="position">0</property>
478
- </packing>
479
- </child>
480
- <child>
481
- <object class="GtkEntry" id="redd_date">
482
- <property name="visible">True</property>
483
- <property name="can_focus">True</property>
484
- <property name="invisible_char">•</property>
485
- <property name="invisible_char_set">True</property>
486
- <property name="primary_icon_stock">gtk-edit</property>
487
- <property name="secondary_icon_stock">gtk-clear</property>
488
- <property name="primary_icon_activatable">True</property>
489
- <property name="secondary_icon_activatable">True</property>
490
- <property name="primary_icon_sensitive">True</property>
491
- <property name="secondary_icon_sensitive">True</property>
492
- <property name="primary_icon_tooltip_text" translatable="yes">Select Date</property>
493
- <property name="secondary_icon_tooltip_text" translatable="yes">Clear Date</property>
494
- </object>
495
- <packing>
496
- <property name="expand">False</property>
497
- <property name="fill">True</property>
498
- <property name="position">1</property>
499
- </packing>
500
- </child>
501
- </object>
502
- <packing>
503
- <property name="expand">True</property>
504
- <property name="fill">True</property>
505
- <property name="position">1</property>
506
- </packing>
507
- </child>
508
- </object>
509
- <packing>
510
- <property name="expand">True</property>
511
- <property name="fill">True</property>
512
- <property name="position">0</property>
513
- </packing>
514
- </child>
515
- <child>
516
- <object class="GtkCheckButton" id="checkbutton_want">
517
- <property name="label" translatable="yes">Want it?</property>
518
- <property name="visible">True</property>
519
- <property name="can_focus">True</property>
520
- <property name="receives_default">False</property>
521
- <property name="use_action_appearance">False</property>
522
- <property name="use_underline">True</property>
523
- <property name="draw_indicator">True</property>
524
- <signal name="toggled" handler="want_toggled" after="yes" swapped="no"/>
525
- </object>
526
- <packing>
527
- <property name="expand">False</property>
528
- <property name="fill">False</property>
529
- <property name="position">1</property>
530
- </packing>
531
- </child>
532
- </object>
533
358
  <packing>
534
359
  <property name="expand">True</property>
535
360
  <property name="fill">True</property>
536
- <property name="position">2</property>
361
+ <property name="position">1</property>
537
362
  </packing>
538
363
  </child>
539
364
  <child>
@@ -541,10 +366,11 @@
541
366
  <property name="visible">True</property>
542
367
  <property name="can_focus">False</property>
543
368
  <child>
544
- <object class="GtkHBox" id="hbox2">
369
+ <object class="GtkBox" id="hbox2">
545
370
  <property name="visible">True</property>
546
371
  <property name="can_focus">False</property>
547
372
  <property name="spacing">3</property>
373
+ <property name="homogeneous">True</property>
548
374
  <child>
549
375
  <object class="GtkEventBox" id="eventbox6">
550
376
  <property name="visible">True</property>
@@ -678,7 +504,7 @@
678
504
  </child>
679
505
  </object>
680
506
  <packing>
681
- <property name="expand">True</property>
507
+ <property name="expand">False</property>
682
508
  <property name="fill">True</property>
683
509
  <property name="position">6</property>
684
510
  </packing>
@@ -690,24 +516,88 @@
690
516
  <property name="expand">False</property>
691
517
  <property name="fill">True</property>
692
518
  <property name="pack_type">end</property>
693
- <property name="position">3</property>
519
+ <property name="position">2</property>
694
520
  </packing>
695
521
  </child>
696
522
  <child>
697
523
  <object class="GtkLabel" id="label11">
698
524
  <property name="visible">True</property>
699
525
  <property name="can_focus">False</property>
526
+ <property name="label" translatable="yes">Rating:</property>
700
527
  <property name="xalign">0</property>
701
528
  <property name="yalign">0</property>
702
- <property name="label" translatable="yes">Rating:</property>
703
529
  </object>
704
530
  <packing>
705
531
  <property name="expand">False</property>
706
- <property name="fill">False</property>
532
+ <property name="fill">True</property>
707
533
  <property name="pack_type">end</property>
534
+ <property name="position">3</property>
535
+ </packing>
536
+ </child>
537
+ <child>
538
+ <object class="GtkCheckButton" id="checkbutton_want">
539
+ <property name="label" translatable="yes">Want it?</property>
540
+ <property name="visible">True</property>
541
+ <property name="can_focus">True</property>
542
+ <property name="receives_default">False</property>
543
+ <property name="use_underline">True</property>
544
+ <property name="draw_indicator">True</property>
545
+ <signal name="toggled" handler="want_toggled" after="yes" swapped="no"/>
546
+ </object>
547
+ <packing>
548
+ <property name="expand">False</property>
549
+ <property name="fill">True</property>
708
550
  <property name="position">4</property>
709
551
  </packing>
710
552
  </child>
553
+ <child>
554
+ <object class="GtkCheckButton" id="checkbutton_redd">
555
+ <property name="label" translatable="yes">Read it?</property>
556
+ <property name="visible">True</property>
557
+ <property name="can_focus">True</property>
558
+ <property name="receives_default">False</property>
559
+ <property name="use_underline">True</property>
560
+ <property name="draw_indicator">True</property>
561
+ <signal name="toggled" handler="redd_toggled" after="yes" swapped="no"/>
562
+ </object>
563
+ <packing>
564
+ <property name="expand">False</property>
565
+ <property name="fill">True</property>
566
+ <property name="position">5</property>
567
+ </packing>
568
+ </child>
569
+ <child>
570
+ <object class="GtkEntry" id="redd_date">
571
+ <property name="visible">True</property>
572
+ <property name="can_focus">True</property>
573
+ <property name="invisible_char">•</property>
574
+ <property name="primary_icon_stock">gtk-edit</property>
575
+ <property name="secondary_icon_stock">gtk-clear</property>
576
+ <property name="primary_icon_tooltip_text" translatable="yes">Select Date</property>
577
+ <property name="secondary_icon_tooltip_text" translatable="yes">Clear Date</property>
578
+ </object>
579
+ <packing>
580
+ <property name="expand">False</property>
581
+ <property name="fill">True</property>
582
+ <property name="position">6</property>
583
+ </packing>
584
+ </child>
585
+ <child>
586
+ <object class="GtkCheckButton" id="checkbutton_own">
587
+ <property name="label" translatable="yes">Own it?</property>
588
+ <property name="visible">True</property>
589
+ <property name="can_focus">True</property>
590
+ <property name="receives_default">False</property>
591
+ <property name="use_underline">True</property>
592
+ <property name="draw_indicator">True</property>
593
+ <signal name="toggled" handler="own_toggled" after="yes" swapped="no"/>
594
+ </object>
595
+ <packing>
596
+ <property name="expand">False</property>
597
+ <property name="fill">True</property>
598
+ <property name="position">7</property>
599
+ </packing>
600
+ </child>
711
601
  </object>
712
602
  <packing>
713
603
  <property name="expand">False</property>
@@ -729,10 +619,11 @@
729
619
  </packing>
730
620
  </child>
731
621
  <child>
732
- <object class="GtkVBox" id="vbox3">
622
+ <object class="GtkBox" id="vbox3">
733
623
  <property name="visible">True</property>
734
624
  <property name="can_focus">False</property>
735
625
  <property name="border_width">6</property>
626
+ <property name="orientation">vertical</property>
736
627
  <property name="spacing">12</property>
737
628
  <child>
738
629
  <object class="GtkCheckButton" id="checkbutton_loaned">
@@ -740,7 +631,6 @@
740
631
  <property name="visible">True</property>
741
632
  <property name="can_focus">True</property>
742
633
  <property name="receives_default">False</property>
743
- <property name="use_action_appearance">False</property>
744
634
  <property name="use_underline">True</property>
745
635
  <property name="draw_indicator">True</property>
746
636
  <signal name="toggled" handler="on_loaned" after="yes" swapped="no"/>
@@ -752,75 +642,61 @@
752
642
  </packing>
753
643
  </child>
754
644
  <child>
755
- <object class="GtkTable" id="table2">
645
+ <object class="GtkGrid" id="table2">
756
646
  <property name="visible">True</property>
757
647
  <property name="can_focus">False</property>
758
- <property name="n_rows">3</property>
759
- <property name="n_columns">2</property>
760
- <property name="column_spacing">12</property>
761
648
  <property name="row_spacing">12</property>
649
+ <property name="column_spacing">12</property>
762
650
  <child>
763
651
  <object class="GtkEntry" id="entry_loaned_to">
764
652
  <property name="visible">True</property>
765
653
  <property name="sensitive">False</property>
766
654
  <property name="can_focus">True</property>
767
- <property name="invisible_char">•</property>
768
- <property name="invisible_char_set">True</property>
769
- <property name="primary_icon_activatable">False</property>
770
- <property name="secondary_icon_activatable">False</property>
771
- <property name="primary_icon_sensitive">True</property>
772
- <property name="secondary_icon_sensitive">True</property>
655
+ <property name="hexpand">True</property>
656
+ <property name="vexpand">True</property>
773
657
  </object>
774
658
  <packing>
775
659
  <property name="left_attach">1</property>
776
- <property name="right_attach">2</property>
777
- <property name="y_options"></property>
660
+ <property name="top_attach">0</property>
778
661
  </packing>
779
662
  </child>
780
663
  <child>
781
664
  <object class="GtkLabel" id="label_loaning_duration">
782
665
  <property name="visible">True</property>
783
666
  <property name="can_focus">False</property>
784
- <property name="xalign">1</property>
785
667
  <property name="justify">right</property>
668
+ <property name="xalign">1</property>
786
669
  </object>
787
670
  <packing>
788
- <property name="right_attach">2</property>
671
+ <property name="left_attach">1</property>
789
672
  <property name="top_attach">2</property>
790
- <property name="bottom_attach">3</property>
791
- <property name="x_options"></property>
792
- <property name="y_options"></property>
793
673
  </packing>
794
674
  </child>
795
675
  <child>
796
676
  <object class="GtkLabel" id="label15">
797
677
  <property name="visible">True</property>
798
678
  <property name="can_focus">False</property>
799
- <property name="xalign">0</property>
800
679
  <property name="label" translatable="yes">_To:</property>
801
680
  <property name="use_underline">True</property>
802
681
  <property name="mnemonic_widget">entry_loaned_to</property>
682
+ <property name="xalign">0</property>
803
683
  </object>
804
684
  <packing>
805
- <property name="x_options"></property>
806
- <property name="y_options"></property>
807
- <property name="x_padding">6</property>
685
+ <property name="left_attach">0</property>
686
+ <property name="top_attach">0</property>
808
687
  </packing>
809
688
  </child>
810
689
  <child>
811
690
  <object class="GtkLabel" id="label14">
812
691
  <property name="visible">True</property>
813
692
  <property name="can_focus">False</property>
814
- <property name="xalign">0</property>
815
693
  <property name="label" translatable="yes">_Since:</property>
816
694
  <property name="use_underline">True</property>
695
+ <property name="xalign">0</property>
817
696
  </object>
818
697
  <packing>
698
+ <property name="left_attach">0</property>
819
699
  <property name="top_attach">1</property>
820
- <property name="bottom_attach">2</property>
821
- <property name="x_options"></property>
822
- <property name="y_options"></property>
823
- <property name="x_padding">6</property>
824
700
  </packing>
825
701
  </child>
826
702
  <child>
@@ -828,26 +704,21 @@
828
704
  <property name="visible">True</property>
829
705
  <property name="can_focus">True</property>
830
706
  <property name="invisible_char">•</property>
831
- <property name="invisible_char_set">True</property>
832
707
  <property name="primary_icon_stock">gtk-edit</property>
833
708
  <property name="secondary_icon_stock">gtk-clear</property>
834
- <property name="primary_icon_activatable">True</property>
835
- <property name="secondary_icon_activatable">True</property>
836
- <property name="primary_icon_sensitive">True</property>
837
- <property name="secondary_icon_sensitive">True</property>
838
709
  <signal name="changed" handler="on_loaned_date_changed" swapped="no"/>
839
710
  </object>
840
711
  <packing>
841
712
  <property name="left_attach">1</property>
842
- <property name="right_attach">2</property>
843
713
  <property name="top_attach">1</property>
844
- <property name="bottom_attach">2</property>
845
- <property name="y_options"></property>
846
714
  </packing>
847
715
  </child>
716
+ <child>
717
+ <placeholder/>
718
+ </child>
848
719
  </object>
849
720
  <packing>
850
- <property name="expand">True</property>
721
+ <property name="expand">False</property>
851
722
  <property name="fill">True</property>
852
723
  <property name="position">1</property>
853
724
  </packing>
@@ -873,8 +744,6 @@
873
744
  <property name="visible">True</property>
874
745
  <property name="can_focus">True</property>
875
746
  <property name="border_width">6</property>
876
- <property name="hscrollbar_policy">automatic</property>
877
- <property name="vscrollbar_policy">automatic</property>
878
747
  <child>
879
748
  <object class="GtkTextView" id="textview_notes">
880
749
  <property name="visible">True</property>
@@ -906,5 +775,8 @@
906
775
  </child>
907
776
  </object>
908
777
  </child>
778
+ <child>
779
+ <placeholder/>
780
+ </child>
909
781
  </object>
910
782
  </interface>