<!-- **************************************************************************

  Copyright (c) 2010 CubeSoft, Inc.

  This program is free software: you can redistribute it and/or modify
  it under the terms of the GNU Affero General Public License as published
  by the Free Software Foundation, either version 3 of the License, or
  (at your option) any later version.

  This program is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  GNU Affero General Public License for more details.

  You should have received a copy of the GNU Affero General Public License
  along with this program.  If not, see <http://www.gnu.org/licenses/>.

*************************************************************************** -->
<UserControl
    x:Class="Cube.Pdf.Editor.FileListControl"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
    xmlns:dd="urn:gong-wpf-dragdrop"
    xmlns:xb="clr-namespace:Cube.Xui.Behaviors;assembly=Cube.Xui"
    xmlns:my="clr-namespace:Cube.Pdf.Editor"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d"
    d:DesignHeight="400"
    d:DesignWidth="700">

    <!-- **********************************************************************
      Resources
    *********************************************************************** -->
    <UserControl.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="pack://application:,,,/Views/Components/InsertContextMenu.xaml" />
                <ResourceDictionary Source="pack://application:,,,/Themes/GenericDialog.xaml" />
                <ResourceDictionary Source="pack://application:,,,/Themes/InsertStyle.xaml" />
            </ResourceDictionary.MergedDictionaries>
        </ResourceDictionary>
    </UserControl.Resources>

    <!-- **********************************************************************
      Main
    *********************************************************************** -->
    <ListView
        ContextMenu="{StaticResource InsertContextMenu}"
        ItemsSource="{Binding Data.Files}"
        Style="{StaticResource InsertCollectionStyle}"
        dd:DragDrop.IsDragSource="True"
        dd:DragDrop.IsDropTarget="True"
        dd:DragDrop.DropHandler="{Binding DragMove}">
        <ListView.View>
            <GridView>
                <!-- **********************************************************
                    Filename
                *********************************************************** -->
                <GridViewColumn Width="240">
                    <GridViewColumnHeader Content="{Binding FileName.Text}" />
                    <GridViewColumn.CellTemplate>
                        <DataTemplate>
                            <StackPanel Orientation="Horizontal" ToolTip="{Binding FullName}">
                                <Image Source="{Binding Icon}" />
                                <TextBlock
                                    Text="{Binding Name}"
                                    Style="{StaticResource PrimaryTextStyle}" />
                            </StackPanel>
                        </DataTemplate>
                    </GridViewColumn.CellTemplate>
                </GridViewColumn>

                <!-- **********************************************************
                    Length
                *********************************************************** -->
                <GridViewColumn Width="100">
                    <GridViewColumnHeader Content="{Binding FileLength.Text}" />
                    <GridViewColumn.CellTemplate>
                        <DataTemplate>
                            <TextBlock
                                Text="{Binding Length, Converter={my:ByteConverterLite}}"
                                Style="{StaticResource SecondaryTextStyle}" />
                        </DataTemplate>
                    </GridViewColumn.CellTemplate>
                </GridViewColumn>

                <!-- **********************************************************
                    LastWriteTime
                *********************************************************** -->
                <GridViewColumn Width="160">
                    <GridViewColumnHeader Content="{Binding LastWriteTime.Text}" />
                    <GridViewColumn.CellTemplate>
                        <DataTemplate>
                            <TextBlock
                                Text="{Binding LastWriteTime, StringFormat='yyyy/MM/dd HH:mm:ss'}"
                                Style="{StaticResource SecondaryTextStyle}" />
                        </DataTemplate>
                    </GridViewColumn.CellTemplate>
                </GridViewColumn>
            </GridView>
        </ListView.View>
        <i:Interaction.Behaviors>
            <xb:SelectionBehavior />
            <my:MouseClearBehavior Command="{Binding SelectClear}" />
        </i:Interaction.Behaviors>
    </ListView>
</UserControl>