#:import la kivy.adapters.listadapter
#:import factory kivy.factory
#:import mpybit bitmessagekivy.mpybit
#:import C kivy.utils.get_color_from_hex

<Navigator>:
    id: nav_drawer
    NavigationDrawerIconButton:
        Spinner:
            pos_hint:{"x":0,"y":.3}
            id: btn
            background_color: app.theme_cls.primary_dark
            text: app.showmeaddresses(name='text')
            values: app.showmeaddresses(name='values')
            on_text:app.getCurrentAccountData(self.text)

    NavigationDrawerIconButton:
        icon: 'email-open'
        text: "inbox"
        on_release: app.root.ids.scr_mngr.current = 'inbox'
    NavigationDrawerIconButton:
        icon: 'mail-send'
        text: "sent"
        on_release: app.root.ids.scr_mngr.current = 'sent'
    NavigationDrawerIconButton:
        icon: 'dropbox'
        text: "trash"
        on_release: app.root.ids.scr_mngr.current = 'trash'
    NavigationDrawerIconButton:
        icon: 'email'
        text: "drafts"
        on_release: app.root.ids.scr_mngr.current = 'dialog'
    NavigationDrawerIconButton:
        icon: 'markunread-mailbox'
        text: "test"
        on_release: app.root.ids.scr_mngr.current = 'test'
    NavigationDrawerIconButton: 
        text: "new identity"
        icon:'accounts-add'
        on_release: app.root.ids.scr_mngr.current = 'newidentity'
    
BoxLayout:
    orientation: 'vertical'
    Toolbar:
        id: toolbar
        title: app.getCurrentAccount()
        background_color: app.theme_cls.primary_dark
        left_action_items: [['menu', lambda x: app.nav_drawer.toggle()]]
        Button:
            text:"EXIT"
            color: 0,0,0,1
            background_color: (0,0,0,0)
            size_hint_y: 0.4
            size_hint_x: 0.1
            pos_hint: {'x': 0.8, 'y':0.4}
            on_press: app.say_exit()


    ScreenManager:
        id: scr_mngr
        Inbox:
            id:sc1
        Sent:
            id:sc2
        Trash:
            id:sc3
        Dialog:
            id:sc4
        Test:
            id:sc5
        Create:
            id:sc6
        NewIdentity:
            id:sc7
        Page:
            id:sc8
        AddressSuccessful:
            id:sc9

    Button:
        id:create
        height:100
        size_hint_y: 0.13
        size_hint_x: 0.1
        pos_hint: {'x': 0.85, 'y': 0.5}
        background_color: (0,0,0,0)
        on_press: scr_mngr.current = 'create'
        Image:
            source: 'images/plus.png'
            y: self.parent.y - 7.5
            x: self.parent.x + self.parent.width - 50
            size: 70, 70

<SwipeButton@Carousel>:
    text: ''
    size_hint_y: None
    height: 48
    ignore_perpendicular_swipes: True
    data_index: 0
    min_move: 20 / self.width

    on__offset: app.update_index(root.data_index, self.index)

    canvas.before:
        Color:
            rgba: C('FFFFFF33')

        Rectangle:
            pos: self.pos
            size: self.size

        Line:
            rectangle: self.pos + self.size

    Button:
        text: 'delete ({}:{})'.format(root.text, root.data_index)
        on_press: app.delete(root.data_index)

    Button:
        text: root.text
        on_press: app.getInboxMessageDetail(self.text)

    Button:
        text: 'archive'
        on_press: app.archive(root.data_index)

<Inbox>:
    name: 'inbox'
    RecycleView:
        data: root.data
        viewclass: 'SwipeButton'
        do_scroll_x: False
        scroll_timeout: 100

        RecycleBoxLayout:
            id:rc
            orientation: 'vertical'
            size_hint_y: None
            height: self.minimum_height
            default_size_hint: 1, None
            canvas.before:
                Color:
                    rgba: 0,0,0, 1
                Rectangle:
                    pos: self.pos
                    size: self.size

<Sent>:
    name: 'sent'
    RecycleView:
        data: root.data
        viewclass: 'SwipeButton'
        do_scroll_x: False
        scroll_timeout: 100

        RecycleBoxLayout:
            id:rc
            orientation: 'vertical'
            size_hint_y: None
            height: self.minimum_height
            default_size_hint: 1, None
            canvas.before:
                Color:
                    rgba: 0,0,0, 1
                Rectangle:
                    pos: self.pos
                    size: self.size

<Trash>:
    name: 'trash'
    RecycleView:
        data: root.data
        viewclass: 'SwipeButton'
        do_scroll_x: False
        scroll_timeout: 100

        RecycleBoxLayout:
            id:rc
            orientation: 'vertical'
            size_hint_y: None
            height: self.minimum_height
            default_size_hint: 1, None
            canvas.before:
                Color:
                    rgba: 0,0,0, 1
                Rectangle:
                    pos: self.pos
                    size: self.size

<Dialog>:
    name: 'dialog'
    Label:
        text:"I have a good dialox box"
        color: 0,0,0,1
<Test>:
    name: 'test'
    Label:
        text:"I am in test"
        color: 0,0,0,1

<Create>:
    name: 'create'
    GridLayout:
        rows: 5
        cols: 1
        padding: 60,60,60,60
        spacing: 50
        BoxLayout:
            size_hint_y: None
            height: '32dp'
            Label:
                text: 'FROM'
                color: 0,0,0,1
            Spinner:
                size_hint: 1,1
                pos_hint: {"x":0,"top":1.}
                pos: 10,10
                id: spinner_id
                text: app.showmeaddresses(name='text')
                values: app.showmeaddresses(name='values')

        BoxLayout:
            size_hint_y: None
            height: '32dp'
            Label:
                text: 'TO'
                color: 0,0,0,1
            TextInput:
                id: recipent
                hint_text: 'To'

        BoxLayout:
            size_hint_y: None
            height: '32dp'
            Label:
                text: 'SUBJECT'
                color: 0,0,0,1
            TextInput:
                id: subject
                hint_text: 'SUBJECT'

        BoxLayout:
            size_hint_y: None
            height: '32dp'
            Label:
                text: 'BODY'
                color: 0,0,0,1
            TextInput:
                id: message
                multiline:True
                size_hint: 1,2

    Button:
        text: 'send'
        size_hint_y: 0.1
        size_hint_x: 0.2
        height: '32dp'
        pos_hint: {'x': .5, 'y': 0.1}
        on_press: root.send()
    Button:
        text: 'cancel'
        size_hint_y: 0.1
        size_hint_x: 0.2
        height: '32dp'
        pos_hint: {'x': .72, 'y': 0.1}
        on_press: root.cancel()

<NewIdentity>:
    name: 'newidentity'
    GridLayout:
        padding: '120dp'
        cols: 1
        Label:
            text:"""Here you may generate as many addresses as you like. Indeed, creating and abandoning addresses is encouraged."""
            line_height:1.5  
            text_size:(700,None)  
            color: 0,0,0,1
        BoxLayout:
            CheckBox:
                canvas.before:
                    Color:
                        rgb: 1,0,0
                    Ellipse:
                        pos:self.center_x-8, self.center_y-8
                        size:[16,16]                 
                group: "money"
                id:chk
                text:"use a random number generator to make an address"
                on_active:
                    root.checked = self.text
                active:root.is_active

            Label:
                text: "use a random number generator to make an address"
                color: 0,0,0,1
        BoxLayout:
            CheckBox:
                canvas.before:
                    Color:
                        rgb: 1,0,0
                    Ellipse:
                        pos:self.center_x-8, self.center_y-8
                        size:[16,16] 
                group: "money"
                id:chk
                text:"use a pseudo number generator to make an address"
                on_active:
                    root.checked = self.text
                active:not root.is_active
            Label:
                text: "use a pseudo number generator to make an address"
                color: 0,0,0,1
        Label:
            color: 0,0,0,1
            size_hint_x: .35
            markup: True
            text: "[b]{}[/b]".format("Randomly generated addresses")
        BoxLayout:
            size_hint_y: None
            height: '32dp'
            Label:
                text: "Label (not shown to anyone except you)"
                color: 0,0,0,1
        BoxLayout:
            size_hint_y: None
            height: '32dp'
            TextInput:
                id: label

    Button:
        text: 'Cancel'
        size_hint_y: 0.1
        size_hint_x: 0.3
        height: '32dp'
        pos_hint: {'x': .1, 'y': 0.1}
    Button:
        text: 'Ok'
        size_hint_y: 0.1
        size_hint_x: 0.3
        height: '32dp'
        pos_hint: {'x': .5, 'y': 0.1}
        on_press: root.generateaddress()

<Page>:
    name: 'page'
    Label:
        text: 'I am on description of my email yooooo'
        color: 0,0,0,1

<AddressSuccessful>:
    name: 'add_sucess'
    Label:
        text: 'Successfully created a new bit address'
        color: 0,0,0,1
