/ src / bitmessagekivy / kv / settings.kv
settings.kv
  1  <Setting>:
  2      name: 'set'
  3      MDTabs:
  4          id: tab_panel
  5          tab_display_mode:'text'
  6  
  7          Tab:
  8              title: app.tr._("User Interface")
  9              ScrollView:
 10                  do_scroll_x: False
 11                  BoxLayout:
 12                      size_hint_y: None
 13                      orientation: 'vertical'
 14                      height: dp(250) + self.minimum_height
 15                      padding: 10
 16                      BoxLayout:
 17                          size_hint_y: None
 18                          orientation: 'horizontal'
 19                          height: self.minimum_height
 20                          MDCheckbox:
 21                              id: chkbox
 22                              size_hint: None, None
 23                              size: dp(48), dp(50)
 24                              # active: True
 25                              halign: 'center'
 26                              disabled: True
 27                          MDLabel:
 28                              font_style: 'Body1'
 29                              theme_text_color: 'Primary'
 30                              text: app.tr._("Start-on-login not yet supported on your OS")
 31                              halign: 'left'
 32                              pos_hint: {'center_x': 0, 'center_y': 0.6}
 33                              disabled: True
 34                      BoxLayout:
 35                          size_hint_y: None
 36                          orientation: 'vertical'
 37                          padding: [20, 0, 0, 0]
 38                          spacing: dp(10)
 39                          height: dp(100) + self.minimum_height
 40                          # pos_hint: {'center_x': 0, 'center_y': 0.6}
 41                          BoxLayout:
 42                              id: box_height
 43                              orientation: 'vertical'
 44                              MDLabel:
 45                                  font_style: 'Body1'
 46                                  theme_text_color: 'Primary'
 47                                  text: app.tr._("Tray")
 48                                  halign: 'left'
 49                                  bold: True
 50                          BoxLayout:
 51                              orientation: 'horizontal'
 52                              MDCheckbox:
 53                                  id: chkbox
 54                                  size_hint: None, None
 55                                  size: dp(48), dp(50)
 56                                  # active: True
 57                                  halign: 'center'
 58                              MDLabel:
 59                                  font_style: 'Body1'
 60                                  theme_text_color: 'Primary'
 61                                  text: app.tr._("Start Bitmessage in the tray(don't show main window)")
 62                                  halign: 'left'
 63                                  pos_hint: {'x': 0, 'y': .5}
 64                          BoxLayout:
 65                              orientation: 'horizontal'
 66                              MDCheckbox:
 67                                  id: chkbox
 68                                  size_hint: None, None
 69                                  size: dp(48), dp(50)
 70                                  # active: True
 71                                  halign: 'center'
 72                              MDLabel:
 73                                  font_style: 'Body1'
 74                                  theme_text_color: 'Primary'
 75                                  text: app.tr._("Minimize to tray")
 76                                  halign: 'left'
 77                                  pos_hint: {'x': 0, 'y': .5}
 78                          BoxLayout:
 79                              orientation: 'horizontal'
 80                              MDCheckbox:
 81                                  id: chkbox
 82                                  size_hint: None, None
 83                                  size: dp(48), dp(50)
 84                                  # active: True
 85                                  halign: 'center'
 86                              MDLabel:
 87                                  font_style: 'Body1'
 88                                  theme_text_color: 'Primary'
 89                                  text: app.tr._("Close to tray")
 90                                  halign: 'left'
 91                                  pos_hint: {'x': 0, 'y': .5}
 92                      BoxLayout:
 93                          size_hint_y: None
 94                          orientation: 'vertical'
 95                          BoxLayout:
 96                              orientation: 'horizontal'
 97                              MDCheckbox:
 98                                  id: chkbox
 99                                  size_hint: None, None
100                                  size: dp(48), dp(50)
101                                  # active: True
102                                  halign: 'center'
103                              MDLabel:
104                                  font_style: 'Body1'
105                                  theme_text_color: 'Primary'
106                                  text: app.tr._("Hide connection notifications")
107                                  halign: 'left'
108                          BoxLayout:
109                              orientation: 'horizontal'
110                              MDCheckbox:
111                                  id: chkbox
112                                  size_hint: None, None
113                                  size: dp(48), dp(50)
114                                  active: True
115                                  halign: 'center'
116                              MDLabel:
117                                  font_style: 'Body1'
118                                  theme_text_color: 'Primary'
119                                  text: app.tr._("Show notification when message received")
120                                  halign: 'left'
121                                  
122                      BoxLayout:
123                          orientation: 'vertical'
124                          MDLabel:
125                              font_style: 'Body1'
126                              theme_text_color: 'Primary'
127                              text: app.tr._('In portable Mode, messages and config files are stored in the same directory as the program rather then the normal application-data folder. This makes it convenient to run Bitmessage from a USB thumb drive.')
128                              # text: 'huiiiii'
129                              halign: 'left'
130                      BoxLayout:
131                          size_hint_y: None
132                          orientation: 'vertical'
133                          height: dp(100) + self.minimum_height
134                          BoxLayout:
135                              orientation: 'horizontal'
136                              MDCheckbox:
137                                  id: chkbox
138                                  size_hint: None, None
139                                  size: dp(48), dp(50)
140                                  halign: 'center'
141                              MDLabel:
142                                  font_style: 'Body1'
143                                  theme_text_color: 'Primary'
144                                  text: app.tr._("Willingly include unencrypted destination address when sending to a mobile device")
145                                  halign: 'left'
146                                  pos_hint: {'x': 0, 'y': 0.2}
147                          BoxLayout:
148                              orientation: 'horizontal'
149                              MDCheckbox:
150                                  id: chkbox
151                                  size_hint: None, None
152                                  size: dp(48), dp(50)
153                                  active: True
154                                  halign: 'center'
155                              MDLabel:
156                                  font_style: 'Body1'
157                                  theme_text_color: 'Primary'
158                                  text: app.tr._("Use identicons")
159                                  halign: 'left'
160                                  pos_hint: {'x': 0, 'y': 0.2}
161                          BoxLayout:
162                              orientation: 'horizontal'
163                              MDCheckbox:
164                                  id: chkbox
165                                  size_hint: None, None
166                                  size: dp(48), dp(50)
167                                  halign: 'center'
168                              MDLabel:
169                                  font_style: 'Body1'
170                                  theme_text_color: 'Primary'
171                                  text: app.tr._("Reply below Quote")
172                                  halign: 'left'
173                                  pos_hint: {'x': 0, 'y': 0.2}
174                      Widget:
175                          size_hint_y: None
176                          height: 10
177                      BoxLayout:
178                          size_hint_y: None
179                          orientation: 'vertical'
180                          # padding: [0, 10, 0, 0]
181                          spacing: 10
182                          padding: [20, 0, 0, 0]
183                          height: dp(20) + self.minimum_height
184                          MDLabel:
185                              font_style: 'Body1'
186                              theme_text_color: 'Primary'
187                              text: app.tr._("Interface Language")
188                              # halign: 'right'
189                              bold: True
190                          MDDropDownItem:
191                              id: dropdown_item
192                              text: "System Setting"
193                              # pos_hint: {"center_x": .5, "center_y": .6}
194                              # current_item: "Item 0"
195                              # on_release: root.menu.open()
196                      BoxLayout:
197                          spacing:5
198                          orientation: 'horizontal'
199                          # pos_hint: {'x':.76}
200                          BoxLayout:
201                              orientation: 'horizontal'
202                              spacing: 10
203                              MDRaisedButton:
204                                  text: app.tr._('Apply')
205                                  # on_press: root.change_language()
206          Tab:
207              title: 'Network Settings'
208              ScrollView:
209                  do_scroll_x: False
210                  BoxLayout:
211                      size_hint_y: None
212                      orientation: 'vertical'
213                      height: dp(500) + self.minimum_height
214                      padding: 10
215                      BoxLayout:
216                          id: box_height
217                          orientation: 'vertical'
218                          MDLabel:
219                              font_style: 'Body1'
220                              theme_text_color: 'Primary'
221                              text: app.tr._("Listening port")
222                              halign: 'left'
223                              bold: True
224                      BoxLayout:
225                          orientation: 'horizontal'
226                          padding: [10, 0, 0, 0]
227                          BoxLayout:
228                              orientation: 'horizontal'
229                              MDLabel:
230                                  font_style: 'Body1'
231                                  theme_text_color: 'Primary'
232                                  text: app.tr._("Listen for connections on port:")
233                                  halign: 'left'
234                          BoxLayout:
235                              orientation: 'horizontal'
236                              MDTextFieldRect:
237                                  size_hint: None, None
238                                  size: dp(100), dp(30)
239                                  text: app.tr._('8444')
240                                  pos_hint: {'center_y': .5, 'center_x': .5}
241                                  input_filter: "int"
242                          BoxLayout:
243                              orientation: 'horizontal'
244                              padding_left: 10
245                              MDCheckbox:
246                                  id: chkbox
247                                  size_hint: None, None
248                                  size: dp(48), dp(50)
249                                  # active: True
250                                  halign: 'center'
251                              MDLabel:
252                                  font_style: 'Body1'
253                                  theme_text_color: 'Primary'
254                                  text: app.tr._("UPnP")
255                                  halign: 'left'
256                                  pos_hint: {'x': 0, 'y': 0}
257                      BoxLayout:
258                          orientation: 'vertical'
259                          MDLabel:
260                              font_style: 'Body1'
261                              theme_text_color: 'Primary'
262                              text: app.tr._("Proxy server / Tor")
263                              halign: 'left'
264                              bold: True
265  
266                      GridLayout:
267                          cols: 2
268                          padding: [10, 0, 0, 0]
269                          MDLabel:
270                              size_hint_x: None
271                              font_style: 'Body1'
272                              theme_text_color: 'Primary'
273                              text: app.tr._("Type:")
274                              halign: 'left'
275                          MDDropDownItem:
276                              id: dropdown_item2
277                              dropdown_bg: [1, 1, 1, 1]
278                              text: 'none'
279                              pos_hint: {'x': 0.9, 'y': 0}
280                              items: [f"{i}" for i in ['System Setting','U.S. English']]
281                      BoxLayout:
282                          size_hint_y: None
283                          orientation: 'vertical'
284                          padding: [30, 0, 0, 0]
285                          spacing: 10
286                          height: dp(100) + self.minimum_height
287                          BoxLayout:
288                              orientation: 'horizontal'
289                              MDLabel:
290                                  font_style: 'Body1'
291                                  theme_text_color: 'Primary'
292                                  text: app.tr._("Server hostname:")
293                                  halign: 'left'
294                              MDTextFieldRect:
295                                  size_hint: None, None
296                                  size: dp(app.window_size[0]/4), dp(30)
297                                  hint_text: app.tr._('localhost')
298                                  pos_hint: {'center_y': .5, 'center_x': .5}
299                          BoxLayout:
300                              orientation: 'horizontal'
301                              MDLabel:
302                                  font_style: 'Body1'
303                                  theme_text_color: 'Primary'
304                                  text: app.tr._("Port:")
305                                  halign: 'left'
306                              # TextInput:
307                              #     size_hint: None, None
308                              #     hint_text: '9050'
309                              #     size: dp(app.window_size[0]/4), dp(30)
310                              #     input_filter: "int"
311                              #     readonly: False
312                              #     multiline: False
313                              #     font_size: '15sp'
314                              MDTextFieldRect:
315                                  size_hint: None, None
316                                  size: dp(app.window_size[0]/4), dp(30)
317                                  hint_text: app.tr._('9050')
318                                  pos_hint: {'center_y': .5, 'center_x': .5}
319                                  input_filter: "int"
320                          BoxLayout:
321                              orientation: 'horizontal'
322                              MDLabel:
323                                  font_style: 'Body1'
324                                  theme_text_color: 'Primary'
325                                  text: app.tr._("Username:")
326                                  halign: 'left'
327                              MDTextFieldRect:
328                                  size_hint: None, None
329                                  size: dp(app.window_size[0]/4), dp(30)
330                                  pos_hint: {'center_y': .5, 'center_x': .5}
331                          BoxLayout:
332                              orientation: 'horizontal'
333                              MDLabel:
334                                  font_style: 'Body1'
335                                  theme_text_color: 'Primary'
336                                  text: app.tr._("Pass:")
337                                  halign: 'left'
338                              MDTextFieldRect:
339                                  size_hint: None, None
340                                  size: dp(app.window_size[0]/4), dp(30)
341                                  pos_hint: {'center_y': .5, 'center_x': .5}
342                      BoxLayout:
343                          orientation: 'horizontal'
344                          padding: [30, 0, 0, 0]
345                          MDCheckbox:
346                              id: chkbox
347                              size_hint: None, None
348                              size: dp(48), dp(50)
349                              # active: True
350                              halign: 'center'
351                          MDLabel:
352                              font_style: 'Body1'
353                              theme_text_color: 'Primary'
354                              text: app.tr._("Authentication")
355                              halign: 'left'
356                              pos_hint: {'x': 0, 'y': 0}
357                      BoxLayout:
358                          orientation: 'horizontal'
359                          padding: [30, 0, 0, 0]
360                          MDCheckbox:
361                              id: chkbox
362                              size_hint: None, None
363                              size: dp(48), dp(50)
364                              # active: True
365                              halign: 'center'
366                          MDLabel:
367                              font_style: 'Body1'
368                              theme_text_color: 'Primary'
369                              text: app.tr._("Listen for incoming connections when using proxy")
370                              halign: 'left'
371                              pos_hint: {'x': 0, 'y': 0}
372                      BoxLayout:
373                          orientation: 'horizontal'
374                          padding: [30, 0, 0, 0]
375                          MDCheckbox:
376                              id: chkbox
377                              size_hint: None, None
378                              size: dp(48), dp(50)
379                              # active: True
380                              halign: 'center'
381                          MDLabel:
382                              font_style: 'Body1'
383                              theme_text_color: 'Primary'
384                              text: app.tr._("Only connect to onion services(*.onion)")
385                              halign: 'left'
386                              pos_hint: {'x': 0, 'y': 0}
387                      BoxLayout:
388                          orientation: 'vertical'
389                          MDLabel:
390                              font_style: 'Body1'
391                              theme_text_color: 'Primary'
392                              text: app.tr._("Bandwidth limit")
393                              halign: 'left'
394                              bold: True
395                      BoxLayout:
396                          size_hint_y: None
397                          orientation: 'horizontal'
398                          padding: [30, 0, 0, 0]
399                          height: dp(30) + self.minimum_height
400                          MDLabel:
401                              font_style: 'Body1'
402                              theme_text_color: 'Primary'
403                              text: app.tr._("Maximum download rate (kB/s):[0:unlimited]")
404                              halign: 'left'
405                          MDTextFieldRect:
406                              size_hint: None, None
407                              size: app.window_size[0]/2, dp(30)
408                              hint_text: app.tr._('0')
409                              pos_hint: {'center_y': .5, 'center_x': .5}
410                              input_filter: "int"
411                      BoxLayout:
412                          size_hint_y: None
413                          orientation: 'horizontal'
414                          padding: [30, 0, 0, 0]
415                          height: dp(30) + self.minimum_height
416                          MDLabel:
417                              font_style: 'Body1'
418                              theme_text_color: 'Primary'
419                              text: app.tr._("Maximum upload rate (kB/s):[0:unlimited]")
420                              halign: 'left'
421                          MDTextFieldRect:
422                              size_hint: None, None
423                              size: app.window_size[0]/2, dp(30)
424                              hint_text: '0'
425                              pos_hint: {'center_y': .5, 'center_x': .5}
426                              input_filter: "int"
427                      BoxLayout:
428                          size_hint_y: None
429                          orientation: 'horizontal'
430                          padding: [30, 0, 0, 0]
431                          height: dp(30) + self.minimum_height
432                          MDLabel:
433                              font_style: 'Body1'
434                              theme_text_color: 'Primary'
435                              text: app.tr._("Maximum outbound connections:[0:none]")
436                              halign: 'left'
437                          MDTextFieldRect:
438                              size_hint: None, None
439                              size: app.window_size[0]/2, dp(30)
440                              hint_text: '8'
441                              pos_hint: {'center_y': .5, 'center_x': .5}
442                              input_filter: "int"
443                      BoxLayout:
444                          spacing:5
445                          orientation: 'horizontal'
446                          # pos_hint: {'x':.76}
447  
448                          MDRaisedButton:
449                              text: app.tr._('Apply')
450          Tab:
451              title: 'Demanded Difficulty'
452              ScrollView:
453                  do_scroll_x: False
454  
455                  BoxLayout:
456                      size_hint_y: None
457                      orientation: 'vertical'
458                      height: dp(300) + self.minimum_height
459                      padding: 10
460                      BoxLayout:
461                          id: box_height
462                          orientation: 'vertical'
463                          # MDLabel:
464                          #     font_style: 'Body1'
465                          #     theme_text_color: 'Primary'
466                          #     text: app.tr._("Listening port")
467                          #     halign: 'left'
468                          #     bold: True
469  
470                  # BoxLayout:
471                  #     size_hint_y: None
472                  #     orientation: 'vertical'
473                  #     height: dp(210 if app.app_platform == 'android' else 100)+ self.minimum_height
474                  #     padding: 20
475                  #     # spacing: 10
476                  #     BoxLayout:
477                  #         # size_hint_y: None
478                  #         id: box1_height
479                  #         # orientation: 'vertical'
480                  #         # height: dp(100) + self.minimum_height
481                          MDLabel:
482                              font_style: 'Body1'
483                              theme_text_color: 'Primary'
484                              # text: app.tr._(root.exp_text)
485                              text: "\n\n\nWhen someone sends you a message, their computer must first complete some work. The difficulty of this work, by default, is 1. You may raise this default for new addresses you create by changing the values here. Any new addresses you create will require senders to meet the higher difficulty. There is one exception: if you add a friend or acquaintance to your address book, Bitmessage will automatically notify them when you next send a message that they need only complete the minimum amount of work: difficulty 1.\n\n"
486                              halign: 'left'
487  
488                      BoxLayout:
489                          orientation: 'horizontal'
490                          padding: 5
491                          MDLabel:
492                              font_style: 'Body1'
493                              theme_text_color: 'Primary'
494                              text: app.tr._("Total difficulty:")
495                              halign: 'left'
496                          MDTextFieldRect:
497                              size_hint: None, None
498                              size: dp(app.window_size[0]/4), dp(30)
499                              hint_text: app.tr._('00000.0')
500                              pos_hint: {'center_y': .5, 'center_x': .5}
501                              input_filter: "int"
502  
503                      BoxLayout:
504                          # size_hint_y: None
505                          id: box1_height
506                          orientation: 'vertical'
507                          padding: 5
508                          # height: dp(100) + self.minimum_height
509                          MDLabel:
510                              font_style: 'Body1'
511                              theme_text_color: 'Primary'
512                              # text: app.tr._(root.exp_text)
513                              text: "The 'Total difficulty' affects the absolute amount of work the sender must complete. Doubling this value doubles the amount of work."
514                              halign: 'left'
515                      
516                      BoxLayout:
517                          orientation: 'horizontal'
518                          spacing: 0
519                          MDLabel:
520                              font_style: 'Body1'
521                              theme_text_color: 'Primary'
522                              text: app.tr._("Small message difficulty:")
523                              halign: 'left'
524                          MDTextFieldRect:
525                              size_hint: None, None
526                              size: dp(app.window_size[0]/4), dp(30)
527                              hint_text: app.tr._('00000.0')
528                              pos_hint: {'center_y': .5, 'center_x': .5}
529                              input_filter: "int"
530  
531  
532                      BoxLayout:
533                          size_hint_y: None
534                          padding: 0
535                          id: box1_height
536                          orientation: 'vertical'
537                          # height: dp(100) + self.minimum_height
538                          MDLabel:
539                              font_style: 'Body1'
540                              theme_text_color: 'Primary'
541                              # text: app.tr._(root.exp_text)
542                              text: "The 'Small message difficulty' mostly only affects the difficulty of sending small messages. Doubling this value makes it almost twice as difficult to send a small message but doesn't really affect large messages."
543                              halign: 'left'
544  
545  
546                      # BoxLayout:
547                      #     id: box2_height
548                      #     size_hint_y: None
549                      #     orientation: 'vertical'
550                      #     height: dp(30) + self.minimum_height
551                      #     MDLabel:
552                      #         font_style: 'Body1'
553                      #         theme_text_color: 'Primary'
554                      #         text: app.tr._("Leave these input fields blank for the default behavior.")
555                      #         halign: 'left'
556                      # BoxLayout:
557                      #     size_hint_y: None
558                      #     orientation: 'vertical'
559                      #     padding: [10, 0, 0, 0]
560                      #     height: dp(50) + self.minimum_height
561                      #     BoxLayout:
562                      #         orientation: 'horizontal'
563                      #         MDLabel:
564                      #             font_style: 'Body1'
565                      #             theme_text_color: 'Primary'
566                      #             text: app.tr._("Give up after")
567                      #             halign: 'left'
568                      #         MDTextFieldRect:
569                      #             size_hint: None, None
570                      #             size: dp(70), dp(30)
571                      #             text: app.tr._('0')
572                      #             # pos_hint: {'center_y': .5, 'center_x': .5}
573                      #             input_filter: "int"
574                      #         MDLabel:
575                      #             font_style: 'Body1'
576                      #             theme_text_color: 'Primary'
577                      #             text: app.tr._("days and")
578                      #             halign: 'left'
579                      #         MDTextFieldRect:
580                      #             size_hint: None, None
581                      #             size: dp(70), dp(30)
582                      #             text: '0'
583                      #             # pos_hint: {'center_y': .5, 'center_x': .5}
584                      #             input_filter: "int"
585                      #         MDLabel:
586                      #             font_style: 'Body1'
587                      #             theme_text_color: 'Primary'
588                      #             text: "months"
589                      #             halign: 'left'
590                      BoxLayout:
591                          size_hint_y: None
592                          spacing:10
593                          orientation: 'horizontal'
594                          # pos_hint: {'left': 0}
595                          # pos_hint: {'x':.75}
596                          height: dp(10) + self.minimum_height
597                          MDRaisedButton:
598                              text: app.tr._('Cancel')
599                          MDRaisedButton:
600                              text: app.tr._('Apply')
601  
602          Tab:
603              title: 'Max acceptable Difficulty'
604              ScrollView:
605                  do_scroll_x: False
606                  BoxLayout:
607                      size_hint_y: None
608                      orientation: 'vertical'
609                      height: dp(210 if app.app_platform == 'android' else 100)+ self.minimum_height
610                      padding: 20
611  
612                      # spacing: 10
613                      BoxLayout:
614                          # size_hint_y: None
615                          id: box1_height
616                          orientation: 'vertical'
617                          spacing: 10
618                          
619                          # pos_hint: {'x': 0, 'y': 0.2}
620                          # height: dp(100) + self.minimum_height
621                          MDLabel:
622                              font_style: 'Body1'
623                              theme_text_color: 'Primary'
624                              # text: app.tr._(root.exp_text)
625                              text: "\n\n\nHere you may set the maximum amount of work you are willing to do to send a message to another person. Setting these values to 0 means that any value is acceptable."
626                              halign: 'left'
627                      # BoxLayout:
628                      #     id: box2_height
629                      #     size_hint_y: None
630                      #     orientation: 'vertical'
631                      #     height: dp(40) + self.minimum_height
632                      # BoxLayout:
633                      #     size_hint_y: None
634                      #     orientation: 'vertical'
635                      #     padding: [10, 0, 0, 0]
636                      #     height: dp(50) + self.minimum_height
637  
638                      GridLayout:
639                          cols: 2
640                          padding: [10, 0, 0, 0]
641  
642                      BoxLayout:
643                          size_hint_y: None
644                          orientation: 'vertical'
645                          padding: [10, 0, 0, 0]
646                          spacing: 10
647                          height: dp(50) + self.minimum_height
648                          BoxLayout:
649                              orientation: 'horizontal'
650                              MDLabel:
651                                  font_style: 'Body1'
652                                  theme_text_color: 'Primary'
653                                  text: app.tr._("Maximum acceptable total difficulty:")
654                                  halign: 'left'
655                              MDTextFieldRect:
656                                  size_hint: None, None
657                                  size: dp(app.window_size[0]/4), dp(30)
658                                  hint_text: app.tr._('00000.0')
659                                  pos_hint: {'center_y': .5, 'center_x': .5}
660                                  input_filter: "int"
661  
662                          BoxLayout:
663                              orientation: 'horizontal'
664                              MDLabel:
665                                  font_style: 'Body1'
666                                  theme_text_color: 'Primary'
667                                  text: app.tr._("Hardware GPU acceleration (OpenCL):")
668                                  halign: 'left'
669                              MDDropDownItem:
670                                  id: dropdown_item
671                                  text: "None"
672                                  pos_hint: {"center_x": 0, "center_y": 0}
673                                  # current_item: "Item 0"
674                                  # on_release: root.menu.open()
675  
676                      # BoxLayout:
677                      #     size_hint_y: None
678                      #     spacing:5
679                      #     orientation: 'horizontal'
680                      #     pos_hint: {'center_y': .4, 'center_x': 1.15}
681                      #     halign: 'right'
682  
683                      BoxLayout:
684                          size_hint_y: None
685                          spacing:5
686                          orientation: 'horizontal'
687                          pos_hint: {'center_y': 1, 'center_x': 1.15}
688                          halign: 'right'
689                          # pos_hint: {'left': 0}
690                          # pos_hint: {'x':.75}
691                          height: dp(50) + self.minimum_height
692                          MDRaisedButton:
693                              text: app.tr._('Cancel')
694                          MDRaisedButton:
695                              text: app.tr._('OK')
696          Tab:
697              title: 'Resends Expire'
698              ScrollView:
699                  do_scroll_x: False
700                  BoxLayout:
701                      size_hint_y: None
702                      orientation: 'vertical'
703                      height: dp(210 if app.app_platform == 'android' else 100)+ self.minimum_height
704                      padding: 20
705                      # spacing: 10
706                      BoxLayout:
707                          # size_hint_y: None
708                          id: box1_height
709                          orientation: 'vertical'
710                          # height: dp(100) + self.minimum_height
711                          MDLabel:
712                              font_style: 'Body1'
713                              theme_text_color: 'Primary'
714                              # text: app.tr._(root.exp_text)
715                              text: "By default, if you send a message to someone and he is offline for more than two days, Bitmessage will send the message again after an additional two days. This will be continued with exponential backoff forever; messages will be resent after 5, 10, 20 days ect. until the receiver acknowledges them. Here you may change that behavior by having Bitmessage give up after a certain number of days or months."
716                              halign: 'left'
717                      BoxLayout:
718                          id: box2_height
719                          size_hint_y: None
720                          orientation: 'vertical'
721                          height: dp(30) + self.minimum_height
722                          MDLabel:
723                              font_style: 'Body1'
724                              theme_text_color: 'Primary'
725                              text: app.tr._("Leave these input fields blank for the default behavior.")
726                              halign: 'left'
727                      BoxLayout:
728                          size_hint_y: None
729                          orientation: 'vertical'
730                          padding: [10, 0, 0, 0]
731                          height: dp(50) + self.minimum_height
732                          BoxLayout:
733                              orientation: 'horizontal'
734                              MDLabel:
735                                  font_style: 'Body1'
736                                  theme_text_color: 'Primary'
737                                  text: app.tr._("Give up after")
738                                  halign: 'left'
739                              MDTextFieldRect:
740                                  size_hint: None, None
741                                  size: dp(70), dp(30)
742                                  text: app.tr._('0')
743                                  pos_hint: {'center_y': .5, 'center_x': .5}
744                                  input_filter: "int"
745                              MDLabel:
746                                  font_style: 'Body1'
747                                  theme_text_color: 'Primary'
748                                  text: app.tr._("days and")
749                                  halign: 'left'
750                              MDTextFieldRect:
751                                  size_hint: None, None
752                                  size: dp(70), dp(30)
753                                  text: '0'
754                                  pos_hint: {'center_y': .5, 'center_x': .5}
755                                  input_filter: "int"
756                              MDLabel:
757                                  font_style: 'Body1'
758                                  theme_text_color: 'Primary'
759                                  text: "months"
760                                  halign: 'left'
761                      BoxLayout:
762                          size_hint_y: None
763                          spacing:5
764                          orientation: 'horizontal'
765                          # pos_hint: {'left': 0}
766                          # pos_hint: {'x':.75}
767                          height: dp(50) + self.minimum_height
768                          # MDRaisedButton:
769                          #     text: app.tr._('Cancel')
770                          MDRaisedButton:
771                              text: app.tr._('Apply')
772  
773          Tab:
774              title: 'Namecoin Integration'
775              ScrollView:
776                  do_scroll_x: False
777                  BoxLayout:
778                      size_hint_y: None
779                      orientation: 'vertical'
780                      height: dp(210 if app.app_platform == 'android' else 100)+ self.minimum_height
781                      padding: 20
782  
783                      # spacing: 10
784                      BoxLayout:
785                          # size_hint_y: None
786                          id: box1_height
787                          orientation: 'vertical'
788                          spacing: 10
789                          
790                          # pos_hint: {'x': 0, 'y': 0.2}
791                          # height: dp(100) + self.minimum_height
792                          MDLabel:
793                              font_style: 'Body1'
794                              theme_text_color: 'Primary'
795                              # text: app.tr._(root.exp_text)
796                              text: "\n\n\n\n\n\nBitmessage can utilize a different Bitcoin-based program called Namecoin to make addresses human-friendly. For example, instead of having to tell your friend your long Bitmessage address, you can simply tell him to send a message to test.\n\n(Getting your own Bitmessage address into Namecoin is still rather difficult).\n\nBitmessage can use either namecoind directly or a running nmcontrol instance\n\n"
797                              halign: 'left'
798  
799                      BoxLayout:
800                          id: box2_height
801                          size_hint_y: None
802                          orientation: 'vertical'
803                          height: dp(40) + self.minimum_height
804                      BoxLayout:
805                          size_hint_y: None
806                          orientation: 'vertical'
807                          padding: [10, 0, 0, 0]
808                          height: dp(50) + self.minimum_height
809  
810                      BoxLayout:
811                          orientation: 'horizontal'
812                          padding: [10, 0, 0, 0]
813                          
814                          BoxLayout:
815                              orientation: 'horizontal'
816  
817                              # padding_left: 10
818                              # MDCheckbox:
819                              #     id: chkbox
820                              #     size_hint: None, None
821                              #     size: dp(48), dp(50)
822                              #     # active: True
823                              #     halign: 'center'
824                              # MDLabel:
825                              #     font_style: 'Body1'
826                              #     theme_text_color: 'Primary'
827                              #     text: app.tr._("UPnP")
828                              #     halign: 'left'
829                              #     pos_hint: {'x': 0, 'y': 0}
830                              MDLabel:
831                                  font_style: 'Body1'
832                                  theme_text_color: 'Primary'
833                                  text: app.tr._("Connect to:")
834                                  halign: 'left'
835                          
836                              # MDCheckbox:
837                              #     id: chkbox
838                              #     size_hint: None, None
839                              #     size: dp(48), dp(50)
840                              #     # active: True
841                              #     halign: 'center'
842                              Check:
843                                  active: True
844                                  pos_hint: {'x': 0, 'y': -0.2}
845                                  
846                              MDLabel:
847                                  font_style: 'Body1'
848                                  theme_text_color: 'Primary'
849                                  text: app.tr._("Namecoind")
850                                  halign: 'left'
851                                  pos_hint: {'x': 0, 'y': 0}
852                          
853                              Check:
854                                  active: False
855                                  pos_hint: {'x': 0, 'y': -0.2}
856  
857                              MDLabel:
858                                  font_style: 'Body1'
859                                  theme_text_color: 'Primary'
860                                  text: app.tr._("NMControl")
861                                  halign: 'left'
862                                  pos_hint: {'x': 0, 'y': 0}
863  
864                      GridLayout:
865                          cols: 2
866                          padding: [10, 0, 0, 0]
867  
868                      BoxLayout:
869                          size_hint_y: None
870                          orientation: 'vertical'
871                          padding: [30, 0, 0, 0]
872                          spacing: 10
873                          height: dp(100) + self.minimum_height
874                          BoxLayout:
875                              orientation: 'horizontal'
876                              MDLabel:
877                                  font_style: 'Body1'
878                                  theme_text_color: 'Primary'
879                                  text: app.tr._("hostname:")
880                                  halign: 'left'
881                              MDTextFieldRect:
882                                  size_hint: None, None
883                                  size: dp(app.window_size[0]/4), dp(30)
884                                  hint_text: app.tr._('localhost')
885                                  pos_hint: {'center_y': .5, 'center_x': .5}
886                          BoxLayout:
887                              orientation: 'horizontal'
888                              MDLabel:
889                                  font_style: 'Body1'
890                                  theme_text_color: 'Primary'
891                                  text: app.tr._("Port:")
892                                  halign: 'left'
893                              # TextInput:
894                              #     size_hint: None, None
895                              #     hint_text: '9050'
896                              #     size: dp(app.window_size[0]/4), dp(30)
897                              #     input_filter: "int"
898                              #     readonly: False
899                              #     multiline: False
900                              #     font_size: '15sp'
901                              MDTextFieldRect:
902                                  size_hint: None, None
903                                  size: dp(app.window_size[0]/4), dp(30)
904                                  hint_text: app.tr._('9050')
905                                  pos_hint: {'center_y': .5, 'center_x': .5}
906                                  input_filter: "int"
907                          BoxLayout:
908                              orientation: 'horizontal'
909                              MDLabel:
910                                  font_style: 'Body1'
911                                  theme_text_color: 'Primary'
912                                  text: app.tr._("Username:")
913                                  halign: 'left'
914                              MDTextFieldRect:
915                                  size_hint: None, None
916                                  size: dp(app.window_size[0]/4), dp(30)
917                                  pos_hint: {'center_y': .5, 'center_x': .5}
918                          BoxLayout:
919                              orientation: 'horizontal'
920                              MDLabel:
921                                  font_style: 'Body1'
922                                  theme_text_color: 'Primary'
923                                  text: app.tr._("Password:")
924                                  halign: 'left'
925                                  
926                              MDTextFieldRect:
927                                  size_hint: None, None
928                                  size: dp(app.window_size[0]/4), dp(30)
929                                  pos_hint: {'center_y': .5, 'center_x': .5}
930                                  password: True
931  
932  
933                      BoxLayout:
934                          size_hint_y: None
935                          spacing:5
936                          orientation: 'horizontal'
937                          pos_hint: {'center_y': .4, 'center_x': 1.15}
938                          halign: 'right'
939                          # pos_hint: {'left': 0}
940                          # pos_hint: {'x':.75}
941                          height: dp(50) + self.minimum_height
942                          MDRaisedButton:
943                              text: app.tr._('Cancel')
944                          MDRaisedButton:
945                              text: app.tr._('Apply')
946                          MDRaisedButton:
947                              text: app.tr._('OK')
948      Loader: