summaryrefslogtreecommitdiffstats
path: root/idrop-swing
diff options
context:
space:
mode:
authorLisa Stillwell <lisa@renci.org>2012-10-25 17:11:13 (GMT)
committer Lisa Stillwell <lisa@renci.org>2012-10-25 17:11:13 (GMT)
commit5c95f06690edece570cdf5861fbbc83701155de1 (patch)
tree93bcdc518e59c85677ce75feab54424bd82d5024 /idrop-swing
parent3dc11f3d486468834845fa2a615d4dfec3543c0f (diff)
downloadQCG-Data-5c95f06690edece570cdf5861fbbc83701155de1.zip
QCG-Data-5c95f06690edece570cdf5861fbbc83701155de1.tar.gz
QCG-Data-5c95f06690edece570cdf5861fbbc83701155de1.tar.bz2
[#983] hooked up some functionality on the main toolbar: settings, download, curr dir
Diffstat (limited to 'idrop-swing')
-rw-r--r--idrop-swing/src/main/java/org/irods/jargon/idrop/desktop/systraygui/iDrop.form300
-rw-r--r--idrop-swing/src/main/java/org/irods/jargon/idrop/desktop/systraygui/iDrop.java703
-rw-r--r--idrop-swing/src/main/java/org/irods/jargon/idrop/desktop/systraygui/utils/Version.java2
-rw-r--r--idrop-swing/src/main/java/org/irods/jargon/idrop/desktop/systraygui/viscomponents/IRODSNode.java19
-rw-r--r--idrop-swing/src/main/java/org/irods/jargon/idrop/desktop/systraygui/viscomponents/IrodsSelectionListenerForBuildingInfoPanel.java1
-rw-r--r--idrop-swing/src/main/resources/org/irods/jargon/idrop/desktop/systraygui/Bundle.properties11
6 files changed, 824 insertions, 212 deletions
diff --git a/idrop-swing/src/main/java/org/irods/jargon/idrop/desktop/systraygui/iDrop.form b/idrop-swing/src/main/java/org/irods/jargon/idrop/desktop/systraygui/iDrop.form
index 8288df5..f50f6ee 100644
--- a/idrop-swing/src/main/java/org/irods/jargon/idrop/desktop/systraygui/iDrop.form
+++ b/idrop-swing/src/main/java/org/irods/jargon/idrop/desktop/systraygui/iDrop.form
@@ -11,6 +11,12 @@
</NonVisualComponents>
<Properties>
<Property name="defaultCloseOperation" type="int" value="3"/>
+ <Property name="minimumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
+ <Dimension value="[622, 158]"/>
+ </Property>
+ <Property name="size" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
+ <Dimension value="[822, 158]"/>
+ </Property>
</Properties>
<SyntheticProperties>
<SyntheticProperty name="formSizePolicy" type="int" value="1"/>
@@ -25,21 +31,37 @@
<AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
<AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
<AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
- <AuxValue name="designerSize" type="java.awt.Dimension" value="-84,-19,0,5,115,114,0,18,106,97,118,97,46,97,119,116,46,68,105,109,101,110,115,105,111,110,65,-114,-39,-41,-84,95,68,20,2,0,2,73,0,6,104,101,105,103,104,116,73,0,5,119,105,100,116,104,120,112,0,0,2,1,0,0,3,95"/>
+ <AuxValue name="designerSize" type="java.awt.Dimension" value="-84,-19,0,5,115,114,0,18,106,97,118,97,46,97,119,116,46,68,105,109,101,110,115,105,111,110,65,-114,-39,-41,-84,95,68,20,2,0,2,73,0,6,104,101,105,103,104,116,73,0,5,119,105,100,116,104,120,112,0,0,2,1,0,0,4,81"/>
</AuxValues>
<Layout class="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout"/>
<SubComponents>
<Container class="javax.swing.JPanel" name="pnlMain">
+ <Properties>
+ <Property name="minimumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
+ <Dimension value="[622, 158]"/>
+ </Property>
+ <Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
+ <Dimension value="[834, 635]"/>
+ </Property>
+ </Properties>
<Constraints>
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout" value="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout$BorderConstraintsDescription">
- <BorderConstraints direction="North"/>
+ <BorderConstraints direction="Center"/>
</Constraint>
</Constraints>
<Layout class="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout"/>
<SubComponents>
<Container class="javax.swing.JPanel" name="pnlMainToolbar">
+ <Properties>
+ <Property name="minimumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
+ <Dimension value="[622, 131]"/>
+ </Property>
+ <Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
+ <Dimension value="[834, 135]"/>
+ </Property>
+ </Properties>
<Constraints>
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout" value="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout$BorderConstraintsDescription">
<BorderConstraints direction="North"/>
@@ -55,6 +77,12 @@
<EmptyBorder bottom="10" left="20" right="20" top="10"/>
</Border>
</Property>
+ <Property name="minimumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
+ <Dimension value="[622, 90]"/>
+ </Property>
+ <Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
+ <Dimension value="[622, 90]"/>
+ </Property>
</Properties>
<Constraints>
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout" value="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout$BorderConstraintsDescription">
@@ -117,6 +145,9 @@
<Property name="horizontalTextPosition" type="int" value="0"/>
<Property name="verticalTextPosition" type="int" value="3"/>
</Properties>
+ <Events>
+ <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="btnMainToolbarDownloadActionPerformed"/>
+ </Events>
</Component>
<Component class="javax.swing.JButton" name="btnMainToolbarUpload">
<Properties>
@@ -227,7 +258,7 @@
</Border>
</Property>
<Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
- <Dimension value="[822, 45]"/>
+ <Dimension value="[622, 45]"/>
</Property>
</Properties>
<Constraints>
@@ -238,21 +269,29 @@
<Layout class="org.netbeans.modules.form.compat2.layouts.DesignBoxLayout"/>
<SubComponents>
- <Component class="javax.swing.JComboBox" name="jComboBox1">
+ <Component class="javax.swing.JLabel" name="lblBreadCrumb">
<Properties>
- <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
- <Font name="Lucida Grande" size="14" style="0"/>
+ <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+ <ResourceString bundle="org/irods/jargon/idrop/desktop/systraygui/Bundle.properties" key="iDrop.lblBreadCrumb.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+ </Property>
+ <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
+ <Border info="org.netbeans.modules.form.compat2.border.EmptyBorderInfo">
+ <EmptyBorder bottom="1" left="1" right="10" top="1"/>
+ </Border>
</Property>
- <Property name="model" type="javax.swing.ComboBoxModel" editor="org.netbeans.modules.form.editors2.ComboBoxModelEditor">
- <StringArray count="1">
- <StringItem index="0" value="Path to Current Directory"/>
- </StringArray>
+ <Property name="maximumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
+ <Dimension value="[110, 2000]"/>
</Property>
- <Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
- <Dimension value="[400, 45]"/>
+ <Property name="minimumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
+ <Dimension value="[0, 0]"/>
</Property>
</Properties>
</Component>
+ <Component class="javax.swing.JSeparator" name="jSeparator2">
+ <Properties>
+ <Property name="orientation" type="int" value="1"/>
+ </Properties>
+ </Component>
<Component class="javax.swing.JTextField" name="txtMainToolbarSearchTerms">
<Properties>
<Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
@@ -291,7 +330,7 @@
</Border>
</Property>
<Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
- <Dimension value="[822, 400]"/>
+ <Dimension value="[834, 360]"/>
</Property>
</Properties>
<Constraints>
@@ -316,7 +355,7 @@
<Container class="javax.swing.JPanel" name="pnlMainTransferStatus">
<Properties>
<Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
- <Dimension value="[822, 0]"/>
+ <Dimension value="[835, 120]"/>
</Property>
</Properties>
<Constraints>
@@ -325,18 +364,227 @@
</Constraint>
</Constraints>
- <Layout>
- <DimensionLayout dim="0">
- <Group type="103" groupAlignment="0" attributes="0">
- <EmptySpace min="0" pref="863" max="32767" attributes="0"/>
- </Group>
- </DimensionLayout>
- <DimensionLayout dim="1">
- <Group type="103" groupAlignment="0" attributes="0">
- <EmptySpace min="0" pref="0" max="32767" attributes="0"/>
- </Group>
- </DimensionLayout>
- </Layout>
+ <Layout class="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout"/>
+ <SubComponents>
+ <Container class="javax.swing.JPanel" name="pnlIdropBottom">
+ <Properties>
+ <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
+ <Border info="org.netbeans.modules.form.compat2.border.BevelBorderInfo">
+ <BevelBorder bevelType="1"/>
+ </Border>
+ </Property>
+ <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+ <ResourceString bundle="org/irods/jargon/idrop/desktop/systraygui/Bundle.properties" key="iDrop.pnlIdropBottom.toolTipText" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+ </Property>
+ <Property name="minimumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
+ <Dimension value="[166, 66]"/>
+ </Property>
+ </Properties>
+ <Constraints>
+ <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout" value="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout$BorderConstraintsDescription">
+ <BorderConstraints direction="Center"/>
+ </Constraint>
+ </Constraints>
+
+ <Layout class="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout"/>
+ <SubComponents>
+ <Container class="javax.swing.JPanel" name="pnlCurrentTransferStatus">
+ <Properties>
+ <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
+ <Border info="org.netbeans.modules.form.compat2.border.EmptyBorderInfo">
+ <EmptyBorder/>
+ </Border>
+ </Property>
+ <Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
+ <Dimension value="[62, 62]"/>
+ </Property>
+ </Properties>
+ <Constraints>
+ <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout" value="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout$BorderConstraintsDescription">
+ <BorderConstraints direction="Center"/>
+ </Constraint>
+ </Constraints>
+
+ <Layout class="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout"/>
+ <SubComponents>
+ <Component class="javax.swing.JLabel" name="lblCurrentFile">
+ <Properties>
+ <Property name="maximumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
+ <Dimension value="[999, 999]"/>
+ </Property>
+ <Property name="minimumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
+ <Dimension value="[30, 10]"/>
+ </Property>
+ <Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
+ <Dimension value="[300, 20]"/>
+ </Property>
+ </Properties>
+ <Constraints>
+ <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
+ <GridBagConstraints gridX="3" gridY="0" gridWidth="0" gridHeight="1" fill="1" ipadX="0" ipadY="0" insetsTop="0" insetsLeft="9" insetsBottom="0" insetsRight="0" anchor="10" weightX="0.0" weightY="0.0"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JProgressBar" name="progressIntraFile">
+ <Properties>
+ <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
+ <Border info="org.netbeans.modules.form.compat2.border.EmptyBorderInfo">
+ <EmptyBorder bottom="1" left="3" right="1" top="1"/>
+ </Border>
+ </Property>
+ <Property name="minimumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
+ <Dimension value="[10, 60]"/>
+ </Property>
+ <Property name="string" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+ <ResourceString bundle="org/irods/jargon/idrop/desktop/systraygui/Bundle.properties" key="iDrop.progressIntraFile.string" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+ </Property>
+ <Property name="stringPainted" type="boolean" value="true"/>
+ </Properties>
+ <Constraints>
+ <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
+ <GridBagConstraints gridX="2" gridY="1" gridWidth="4" gridHeight="1" fill="1" ipadX="0" ipadY="0" insetsTop="0" insetsLeft="0" insetsBottom="0" insetsRight="0" anchor="21" weightX="0.0" weightY="0.0"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JLabel" name="lblTransferFilesCounts">
+ <Properties>
+ <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+ <ResourceString bundle="org/irods/jargon/idrop/desktop/systraygui/Bundle.properties" key="iDrop.lblTransferFilesCounts.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+ </Property>
+ </Properties>
+ <Constraints>
+ <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
+ <GridBagConstraints gridX="0" gridY="2" gridWidth="2" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="0" insetsLeft="0" insetsBottom="0" insetsRight="0" anchor="22" weightX="0.0" weightY="0.0"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JProgressBar" name="transferStatusProgressBar">
+ <Properties>
+ <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
+ <Border info="null"/>
+ </Property>
+ <Property name="minimumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
+ <Dimension value="[10, 60]"/>
+ </Property>
+ <Property name="string" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+ <ResourceString bundle="org/irods/jargon/idrop/desktop/systraygui/Bundle.properties" key="iDrop.transferStatusProgressBar.string" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+ </Property>
+ <Property name="stringPainted" type="boolean" value="true"/>
+ </Properties>
+ <Constraints>
+ <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
+ <GridBagConstraints gridX="2" gridY="2" gridWidth="4" gridHeight="1" fill="1" ipadX="0" ipadY="0" insetsTop="0" insetsLeft="0" insetsBottom="0" insetsRight="0" anchor="17" weightX="8.0" weightY="0.0"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JLabel" name="lblTransferType">
+ <Constraints>
+ <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
+ <GridBagConstraints gridX="2" gridY="0" gridWidth="1" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="0" insetsLeft="0" insetsBottom="0" insetsRight="0" anchor="10" weightX="0.0" weightY="0.0"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JLabel" name="lblTransferMessage">
+ <Properties>
+ <Property name="foreground" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
+ <Color blue="ff" green="0" id="blue" palette="1" red="0" type="palette"/>
+ </Property>
+ </Properties>
+ <Constraints>
+ <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
+ <GridBagConstraints gridX="2" gridY="3" gridWidth="0" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="0" insetsLeft="0" insetsBottom="0" insetsRight="0" anchor="21" weightX="0.0" weightY="0.0"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JLabel" name="lblTransferByteCounts">
+ <Properties>
+ <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+ <ResourceString bundle="org/irods/jargon/idrop/desktop/systraygui/Bundle.properties" key="iDrop.lblTransferByteCounts.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+ </Property>
+ </Properties>
+ <Constraints>
+ <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
+ <GridBagConstraints gridX="0" gridY="1" gridWidth="2" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="0" insetsLeft="0" insetsBottom="0" insetsRight="0" anchor="22" weightX="0.0" weightY="0.0"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ </SubComponents>
+ </Container>
+ <Container class="javax.swing.JPanel" name="pnlTransferOptions">
+ <Properties>
+ <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
+ <Border info="org.netbeans.modules.form.compat2.border.TitledBorderInfo">
+ <TitledBorder title="Upload Options">
+ <ResourceString PropertyName="titleX" bundle="org/irods/jargon/idrop/desktop/systraygui/Bundle.properties" key="iDrop.pnlTransferOptions.border.title" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+ </TitledBorder>
+ </Border>
+ </Property>
+ </Properties>
+ <Constraints>
+ <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout" value="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout$BorderConstraintsDescription">
+ <BorderConstraints direction="East"/>
+ </Constraint>
+ </Constraints>
+
+ <Layout class="org.netbeans.modules.form.compat2.layouts.DesignFlowLayout"/>
+ <SubComponents>
+ <Container class="javax.swing.JToolBar" name="idropProgressPanelToolbar">
+ <Properties>
+ <Property name="floatable" type="boolean" value="false"/>
+ <Property name="rollover" type="boolean" value="true"/>
+ </Properties>
+
+ <Layout class="org.netbeans.modules.form.compat2.layouts.DesignBoxLayout"/>
+ <SubComponents>
+ <Component class="javax.swing.JButton" name="btnShowTransferManager">
+ <Properties>
+ <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
+ <Image iconType="3" name="/configure-5.png"/>
+ </Property>
+ <Property name="mnemonic" type="int" value="109"/>
+ <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+ <ResourceString bundle="org/irods/jargon/idrop/desktop/systraygui/Bundle.properties" key="iDrop.btnShowTransferManager.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+ </Property>
+ <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+ <ResourceString bundle="org/irods/jargon/idrop/desktop/systraygui/Bundle.properties" key="iDrop.btnShowTransferManager.toolTipText" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+ </Property>
+ <Property name="focusable" type="boolean" value="false"/>
+ <Property name="horizontalTextPosition" type="int" value="0"/>
+ <Property name="verticalTextPosition" type="int" value="3"/>
+ </Properties>
+ <Events>
+ <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="btnShowTransferManagerActionPerformed"/>
+ </Events>
+ </Component>
+ <Component class="javax.swing.JToggleButton" name="togglePauseTransfer">
+ <Properties>
+ <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
+ <Image iconType="3" name="/media-playback-pause-7.png"/>
+ </Property>
+ <Property name="mnemonic" type="int" value="112"/>
+ <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+ <ResourceString bundle="org/irods/jargon/idrop/desktop/systraygui/Bundle.properties" key="iDrop.togglePauseTransfer.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+ </Property>
+ <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+ <ResourceString bundle="org/irods/jargon/idrop/desktop/systraygui/Bundle.properties" key="iDrop.togglePauseTransfer.toolTipText" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+ </Property>
+ <Property name="focusable" type="boolean" value="false"/>
+ <Property name="horizontalTextPosition" type="int" value="0"/>
+ <Property name="verticalTextPosition" type="int" value="3"/>
+ </Properties>
+ <Events>
+ <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="togglePauseTransferActionPerformed"/>
+ </Events>
+ </Component>
+ </SubComponents>
+ </Container>
+ <Component class="javax.swing.JLabel" name="progressIconImageLabel">
+ </Component>
+ </SubComponents>
+ </Container>
+ </SubComponents>
+ </Container>
+ </SubComponents>
</Container>
</SubComponents>
</Container>
diff --git a/idrop-swing/src/main/java/org/irods/jargon/idrop/desktop/systraygui/iDrop.java b/idrop-swing/src/main/java/org/irods/jargon/idrop/desktop/systraygui/iDrop.java
index 5db4d70..14bf29a 100644
--- a/idrop-swing/src/main/java/org/irods/jargon/idrop/desktop/systraygui/iDrop.java
+++ b/idrop-swing/src/main/java/org/irods/jargon/idrop/desktop/systraygui/iDrop.java
@@ -19,6 +19,7 @@ import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.awt.event.MouseListener;
+import java.io.File;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
@@ -26,6 +27,7 @@ import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.DefaultComboBoxModel;
import javax.swing.ImageIcon;
+import javax.swing.JFileChooser;
import javax.swing.JOptionPane;
import javax.swing.ListSelectionModel;
import javax.swing.tree.TreePath;
@@ -37,6 +39,7 @@ import org.irods.jargon.core.pub.io.IRODSFile;
import org.irods.jargon.core.query.CollectionAndDataObjectListingEntry;
import org.irods.jargon.core.transfer.TransferStatus;
import org.irods.jargon.core.utils.MiscIRODSUtils;
+import org.irods.jargon.idrop.desktop.systraygui.services.IRODSFileService;
import org.irods.jargon.idrop.desktop.systraygui.services.IdropConfigurationService;
import org.irods.jargon.idrop.desktop.systraygui.utils.FieldFormatHelper;
import org.irods.jargon.idrop.desktop.systraygui.utils.IDropUtils;
@@ -58,6 +61,7 @@ import org.irods.jargon.transfer.engine.TransferManager.ErrorStatus;
import org.irods.jargon.transfer.engine.TransferManager.RunningStatus;
import org.irods.jargon.transfer.engine.TransferManagerCallbackListener;
import org.netbeans.swing.outline.Outline;
+import org.openide.util.Exceptions;
import org.slf4j.LoggerFactory;
/**
@@ -121,6 +125,8 @@ public class iDrop extends javax.swing.JFrame implements ActionListener,
// setUpAccountGutter();
setVisibleComponentsAtStartup();
+
+ enableToolbarButtons(false);
setVisible(true);
@@ -893,6 +899,51 @@ public class iDrop extends javax.swing.JFrame implements ActionListener,
}
+ // Update state of toolbar buttons when iRODS tree nodes are selected
+ public void triggerToolbarUpdate() throws IdropRuntimeException {
+
+ final iDrop idropGui = this;
+
+ java.awt.EventQueue.invokeLater(new Runnable() {
+
+ @Override
+ public void run() {
+
+ IRODSOutlineModel irodsFileSystemModel = (IRODSOutlineModel) getIrodsTree().getModel();
+
+ ListSelectionModel selectionModel = getIrodsTree().getSelectionModel();
+ int idx = selectionModel.getLeadSelectionIndex();
+ IRODSNode selectedNode = (IRODSNode) irodsFileSystemModel.getValueAt(idx, 0);
+ String path = selectedNode.getFullPath();
+
+ if(idx >= 0) {
+ enableToolbarButtons(true);
+ setBreadcrumb(path);
+ }
+ else {
+ enableToolbarButtons(false);
+ setBreadcrumb("");
+ }
+ }
+ });
+ }
+
+ private void enableToolbarButtons(boolean state) {
+ btnMainToolbarAddEditMetaData.setEnabled(state);
+ btnMainToolbarCopy.setEnabled(state);
+ btnMainToolbarDelete.setEnabled(state);
+ btnMainToolbarDownload.setEnabled(state);
+ btnMainToolbarRefresh.setEnabled(state);
+ btnMainToolbarSearchFiles.setEnabled(state);
+ btnMainToolbarSettings.setEnabled(state);
+ btnMainToolbarSync.setEnabled(state);
+ btnMainToolbarUpload.setEnabled(state);
+ }
+
+ private void setBreadcrumb(String path) {
+ lblBreadCrumb.setText(path);
+ }
+
/**
* Look at the kind of irods node and handle appropriately
*
@@ -919,6 +970,104 @@ public class iDrop extends javax.swing.JFrame implements ActionListener,
// }
}
+ private void executeDownload(final String downloadPath) {
+
+ final iDrop idropGui = this;
+
+ idropGui.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
+
+ IRODSOutlineModel irodsFileSystemModel = (IRODSOutlineModel) getIrodsTree().getModel();
+
+ ListSelectionModel selectionModel = getIrodsTree().getSelectionModel();
+ int idxStart = selectionModel.getMinSelectionIndex();
+ int idxEnd = selectionModel.getMaxSelectionIndex();
+ final List<File> sourceFiles = new ArrayList<File>();
+
+ // get iRODS File Service
+ IRODSFileService irodsFS = null;
+ try {
+ irodsFS = new IRODSFileService(iDropCore.getIrodsAccount(), iDropCore.getIrodsFileSystem());
+ } catch (Exception ex) {
+ //JOptionPane.showMessageDialog(this, "Cannot access iRODS file system for get.");
+ log.error("cannot create irods file service");
+ return;
+ }
+
+ // now collect all selected nodes
+ IRODSFile ifile = null;
+ for (int idx=idxStart; idx<=idxEnd; idx++) {
+ if (selectionModel.isSelectedIndex(idx)) {
+ try {
+ IRODSNode selectedNode = (IRODSNode) irodsFileSystemModel.getValueAt(idx, 0);
+ ifile = irodsFS.getIRODSFileForPath(selectedNode.getFullPath());
+ sourceFiles.add((File) ifile);
+ } catch (IdropException ex) {
+ Exceptions.printStackTrace(ex);
+ }
+ }
+ }
+
+ StringBuilder sb = new StringBuilder();
+
+ if (sourceFiles.size() == 1) {
+ sb.append("Would you like to copy the remote file ");
+ sb.append(sourceFiles.get(0).getAbsolutePath());
+ sb.append(" to ");
+ sb.append(downloadPath);
+ } else {
+ sb.append("Would you like to copy multiple files to ");
+ sb.append(downloadPath);
+
+ }
+ idropGui.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
+
+
+ // default icon, custom title
+ int n = JOptionPane.showConfirmDialog(idropGui, sb.toString(),
+ "Confirm a Get ", JOptionPane.YES_NO_OPTION);
+
+ idropGui.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
+
+ if (n == JOptionPane.YES_OPTION) {
+
+ // process as a get
+ java.awt.EventQueue.invokeLater(new Runnable() {
+
+ @Override
+ public void run() {
+ try {
+ for (File transferFile : sourceFiles) {
+
+ if (transferFile instanceof IRODSFile) {
+ log.info(
+ "initiating a transfer of iRODS file:{}",
+ transferFile.getAbsolutePath());
+ log.info("transfer to local file:{}",
+ downloadPath);
+ idropGui.getiDropCore().getTransferManager().enqueueAGet(
+ transferFile.getAbsolutePath(),
+ downloadPath,
+ "", idropGui.getIrodsAccount());
+ } else {
+ log.info(
+ "process a local to local move with source...not yet implemented : {}",
+ transferFile.getAbsolutePath());
+ }
+ }
+ } catch (JargonException ex) {
+ java.util.logging.Logger.getLogger(
+ LocalFileTree.class.getName()).log(
+ java.util.logging.Level.SEVERE, null, ex);
+ idropGui.showIdropException(ex);
+ throw new IdropRuntimeException(ex);
+ }
+ }
+ });
+ }
+
+ idropGui.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
+ }
+
/**
* A transfer confirm dialog
@@ -958,60 +1107,60 @@ public class iDrop extends javax.swing.JFrame implements ActionListener,
log.info("transfer status callback to iDROP:{}", ts);
final iDrop idrop = this;
-// java.awt.EventQueue.invokeLater(new Runnable() {
-//
-// @Override
-// public void run() {
-//
-// if (ts.getTransferState() == TransferStatus.TransferState.FAILURE) {
-// // an error occurs, stop the transfer
-// log.error("error occurred in transfer: {}", ts);
-// if (ts.getTransferException() == null) {
-// idrop.showMessageFromOperation("An error occurred in the transfer, this transfer will be cancelled");
-// } else {
-// idrop.showIdropException(ts.getTransferException());
-// }
-//
-// } else if (ts.isIntraFileStatusReport()) {
-//
-// log.debug("transferred so far:{}", ts.getBytesTransfered());
-// log.debug("total bytes:{}", ts.getTotalSize());
-// float rawPct = (float) ts.getBytesTransfered() / ts.getTotalSize();
-// int percentDone = (int) (rawPct * 100F);
-// log.info("pct done:{}", percentDone);
-//
-// progressIntraFile.setValue(percentDone);
-// progressIntraFile.setString(FieldFormatHelper.formatByteProgress(ts.getTotalSize(), ts.getBytesTransfered(), 0));
-//
-// } else if (ts.getTransferState() == TransferStatus.TransferState.IN_PROGRESS_START_FILE) {
-//
-// // start of a file operation
-// progressIntraFile.setMinimum(0);
-// progressIntraFile.setMaximum(100);
-// progressIntraFile.setValue(0);
-// lblCurrentFile.setText(IDropUtils.abbreviateFileName(ts.getSourceFileAbsolutePath()));
-// transferStatusProgressBar.setString(FieldFormatHelper.formatFileProgress(ts.getTotalFilesToTransfer(), ts.getTotalFilesTransferredSoFar(), 0));
-// progressIntraFile.setString(FieldFormatHelper.formatByteProgress(ts.getTotalSize(), ts.getBytesTransfered(), 0));
-//
-// } else if (ts.getTransferState() == TransferStatus.TransferState.IN_PROGRESS_COMPLETE_FILE) {
-//
-// progressIntraFile.setValue(100);
-//
-// transferStatusProgressBar.setMaximum(ts.getTotalFilesToTransfer());
-// transferStatusProgressBar.setValue(ts.getTotalFilesTransferredSoFar());
-// transferStatusProgressBar.setString(FieldFormatHelper.formatFileProgress(ts.getTotalFilesToTransfer(), ts.getTotalFilesTransferredSoFar(), 0));
-// progressIntraFile.setString(FieldFormatHelper.formatByteProgress(ts.getTotalSize(), ts.getBytesTransfered(), 0));
-//
-// } else {
-//
-// transferStatusProgressBar.setMaximum(ts.getTotalFilesToTransfer());
-// transferStatusProgressBar.setValue(ts.getTotalFilesTransferredSoFar());
-// transferStatusProgressBar.setString(FieldFormatHelper.formatFileProgress(ts.getTotalFilesToTransfer(), ts.getTotalFilesTransferredSoFar(), 0));
-// progressIntraFile.setString(FieldFormatHelper.formatByteProgress(ts.getTotalSize(), ts.getBytesTransfered(), 0));
-// lblCurrentFile.setText(IDropUtils.abbreviateFileName(ts.getSourceFileAbsolutePath()));
-// }
-// }
-// });
+ java.awt.EventQueue.invokeLater(new Runnable() {
+
+ @Override
+ public void run() {
+
+ if (ts.getTransferState() == TransferStatus.TransferState.FAILURE) {
+ // an error occurs, stop the transfer
+ log.error("error occurred in transfer: {}", ts);
+ if (ts.getTransferException() == null) {
+ idrop.showMessageFromOperation("An error occurred in the transfer, this transfer will be cancelled");
+ } else {
+ idrop.showIdropException(ts.getTransferException());
+ }
+
+ } else if (ts.isIntraFileStatusReport()) {
+
+ log.debug("transferred so far:{}", ts.getBytesTransfered());
+ log.debug("total bytes:{}", ts.getTotalSize());
+ float rawPct = (float) ts.getBytesTransfered() / ts.getTotalSize();
+ int percentDone = (int) (rawPct * 100F);
+ log.info("pct done:{}", percentDone);
+
+ progressIntraFile.setValue(percentDone);
+ progressIntraFile.setString(FieldFormatHelper.formatByteProgress(ts.getTotalSize(), ts.getBytesTransfered(), 0));
+
+ } else if (ts.getTransferState() == TransferStatus.TransferState.IN_PROGRESS_START_FILE) {
+
+ // start of a file operation
+ progressIntraFile.setMinimum(0);
+ progressIntraFile.setMaximum(100);
+ progressIntraFile.setValue(0);
+ lblCurrentFile.setText(IDropUtils.abbreviateFileName(ts.getSourceFileAbsolutePath()));
+ transferStatusProgressBar.setString(FieldFormatHelper.formatFileProgress(ts.getTotalFilesToTransfer(), ts.getTotalFilesTransferredSoFar(), 0));
+ progressIntraFile.setString(FieldFormatHelper.formatByteProgress(ts.getTotalSize(), ts.getBytesTransfered(), 0));
+
+ } else if (ts.getTransferState() == TransferStatus.TransferState.IN_PROGRESS_COMPLETE_FILE) {
+
+ progressIntraFile.setValue(100);
+
+ transferStatusProgressBar.setMaximum(ts.getTotalFilesToTransfer());
+ transferStatusProgressBar.setValue(ts.getTotalFilesTransferredSoFar());
+ transferStatusProgressBar.setString(FieldFormatHelper.formatFileProgress(ts.getTotalFilesToTransfer(), ts.getTotalFilesTransferredSoFar(), 0));
+ progressIntraFile.setString(FieldFormatHelper.formatByteProgress(ts.getTotalSize(), ts.getBytesTransfered(), 0));
+
+ } else {
+
+ transferStatusProgressBar.setMaximum(ts.getTotalFilesToTransfer());
+ transferStatusProgressBar.setValue(ts.getTotalFilesTransferredSoFar());
+ transferStatusProgressBar.setString(FieldFormatHelper.formatFileProgress(ts.getTotalFilesToTransfer(), ts.getTotalFilesTransferredSoFar(), 0));
+ progressIntraFile.setString(FieldFormatHelper.formatByteProgress(ts.getTotalSize(), ts.getBytesTransfered(), 0));
+ lblCurrentFile.setText(IDropUtils.abbreviateFileName(ts.getSourceFileAbsolutePath()));
+ }
+ }
+ });
}
@@ -1021,11 +1170,11 @@ public class iDrop extends javax.swing.JFrame implements ActionListener,
* @param isBegin
*/
private void setUpTransferPanel(boolean isBegin) {
-// if (isBegin) {
-// pnlCurrentTransferStatus.setVisible(true);
-// } else {
-// pnlCurrentTransferStatus.setVisible(true);
-// }
+ if (isBegin) {
+ pnlCurrentTransferStatus.setVisible(true);
+ } else {
+ pnlCurrentTransferStatus.setVisible(true);
+ }
}
/**
@@ -1040,81 +1189,94 @@ public class iDrop extends javax.swing.JFrame implements ActionListener,
final IRODSOutlineModel irodsTreeModel = (IRODSOutlineModel) irodsTree.getModel();
final iDrop idropGui = this;
-// java.awt.EventQueue.invokeLater(new Runnable() {
-//
-// @Override
-// public void run() {
-//
-// if (ts.getTransferState() == TransferStatus.TransferState.OVERALL_INITIATION || ts.getTransferState() == TransferStatus.TransferState.SYNCH_INITIALIZATION) {
-// transferStatusProgressBar.setString(FieldFormatHelper.formatFileProgress(ts.getTotalFilesToTransfer(), ts.getTotalFilesTransferredSoFar(), 0));
-// progressIntraFile.setString(FieldFormatHelper.formatByteProgress(ts.getTotalSize(), ts.getBytesTransfered(), 0));
-// idropGui.setUpTransferPanel(true);
-// } else if (ts.getTransferState() == TransferStatus.TransferState.OVERALL_COMPLETION || ts.getTransferState() == TransferStatus.TransferState.SYNCH_COMPLETION) {
-// idropGui.setUpTransferPanel(false);
-// }
-//
-// /*
-// * Handle appropriate tree notifications, so some filtering to prevent notifications
-// * when for a different host/zone
-// */
-// if (ts.getTransferType() == TransferStatus.TransferType.SYNCH || ts.getTransferType() == TransferStatus.TransferType.REPLICATE) {
-// log.info("no need to notify tree for synch or replicate");
-// } else if (ts.getTransferType() == TransferStatus.TransferType.GET
-// && ts.getTransferState() == TransferStatus.TransferState.OVERALL_COMPLETION) {
-// try {
-// ((LocalFileSystemModel) idropGui.getFileTree().getModel()).notifyCompletionOfOperation(idropGui.getFileTree(), ts);
-//
-// } catch (IdropException ex) {
-// log.error("error on tree notify after operation", ex);
-// throw new IdropRuntimeException("error processing overall status callback", ex);
-// }
-// } else if (ts.getTransferType() == TransferStatus.TransferType.COPY || ts.getTransferType() == TransferStatus.TransferType.PUT) {
-// if (ts.getTransferZone().equals(
-// iDropCore.getIrodsAccount().getZone()) && ts.getTransferHost().equals(iDropCore.getIrodsAccount().getHost())) {
-// try {
-// // should leave PUT, and COPY
-// irodsTreeModel.notifyCompletionOfOperation(irodsTree, ts);
-// } catch (IdropException ex) {
-// log.error("error on tree notify after operation", ex);
-// throw new IdropRuntimeException("error processing overall status callback", ex);
-// }
-// }
-// }
-//
-// /*
-// * Handle progress bar and messages. These are cleared on overall initiation
-// */
-// if (ts.getTransferState() == TransferStatus.TransferState.OVERALL_INITIATION || ts.getTransferState() == TransferStatus.TransferState.SYNCH_INITIALIZATION) {
-// clearProgressBar();
-// // on initiation, clear and reset the status bar info
-// lblTransferType.setText(ts.getTransferType().name());
-// transferStatusProgressBar.setString(FieldFormatHelper.formatFileProgress(ts.getTotalFilesToTransfer(), ts.getTotalFilesTransferredSoFar(), 0));
-// progressIntraFile.setString(FieldFormatHelper.formatByteProgress(ts.getTotalSize(), ts.getBytesTransfered(), 0));
-// lblCurrentFile.setText(IDropUtils.abbreviateFileName(ts.getSourceFileAbsolutePath()));
-// transferStatusProgressBar.setMinimum(0);
-// transferStatusProgressBar.setMaximum(ts.getTotalFilesToTransfer());
-// transferStatusProgressBar.setValue(0);
-// }
-//
-// /*
-// * Handle any text messages
-// */
-// if (ts.getTransferState() == TransferStatus.TransferState.SYNCH_INITIALIZATION) {
-// lblTransferMessage.setText("Synchronization Initializing");
-// } else if (ts.getTransferState() == TransferStatus.TransferState.SYNCH_DIFF_GENERATION) {
-// lblTransferMessage.setText("Synchronization looking for updates");
-// } else if (ts.getTransferState() == TransferStatus.TransferState.SYNCH_DIFF_STEP) {
-// lblTransferMessage.setText("Synchronizing differences");
-// } else if (ts.getTransferState() == TransferStatus.TransferState.SYNCH_COMPLETION) {
-// lblTransferMessage.setText("Synchronization complete");
-// } else if (ts.getTransferEnclosingType() == TransferStatus.TransferType.SYNCH) {
-// lblTransferMessage.setText("Transfer to synchronize local and iRODS");
-// } else if (ts.getTransferState() == TransferStatus.TransferState.OVERALL_INITIATION) {
-// // initiation not within a synch
-// lblTransferMessage.setText("Processing a " + ts.getTransferType().name() + " operation");
-// }
-// }
-// });
+ java.awt.EventQueue.invokeLater(new Runnable() {
+
+ @Override
+ public void run() {
+
+ if (ts.getTransferState() == TransferStatus.TransferState.OVERALL_INITIATION || ts.getTransferState() == TransferStatus.TransferState.SYNCH_INITIALIZATION) {
+ transferStatusProgressBar.setString(FieldFormatHelper.formatFileProgress(ts.getTotalFilesToTransfer(), ts.getTotalFilesTransferredSoFar(), 0));
+ progressIntraFile.setString(FieldFormatHelper.formatByteProgress(ts.getTotalSize(), ts.getBytesTransfered(), 0));
+ idropGui.setUpTransferPanel(true);
+ } else if (ts.getTransferState() == TransferStatus.TransferState.OVERALL_COMPLETION || ts.getTransferState() == TransferStatus.TransferState.SYNCH_COMPLETION) {
+ idropGui.setUpTransferPanel(false);
+ }
+
+ /*
+ * Handle appropriate tree notifications, so some filtering to prevent notifications
+ * when for a different host/zone
+ */
+ if (ts.getTransferType() == TransferStatus.TransferType.SYNCH || ts.getTransferType() == TransferStatus.TransferType.REPLICATE) {
+ log.info("no need to notify tree for synch or replicate");
+ } else if (ts.getTransferType() == TransferStatus.TransferType.GET
+ && ts.getTransferState() == TransferStatus.TransferState.OVERALL_COMPLETION) {
+ try {
+ ((LocalFileSystemModel) idropGui.getFileTree().getModel()).notifyCompletionOfOperation(idropGui.getFileTree(), ts);
+
+ } catch (IdropException ex) {
+ log.error("error on tree notify after operation", ex);
+ throw new IdropRuntimeException("error processing overall status callback", ex);
+ }
+ } else if (ts.getTransferType() == TransferStatus.TransferType.COPY || ts.getTransferType() == TransferStatus.TransferType.PUT) {
+ if (ts.getTransferZone().equals(
+ iDropCore.getIrodsAccount().getZone()) && ts.getTransferHost().equals(iDropCore.getIrodsAccount().getHost())) {
+ try {
+ // should leave PUT, and COPY
+ irodsTreeModel.notifyCompletionOfOperation(irodsTree, ts);
+ } catch (IdropException ex) {
+ log.error("error on tree notify after operation", ex);
+ throw new IdropRuntimeException("error processing overall status callback", ex);
+ }
+ }
+ }
+
+ /*
+ * Handle progress bar and messages. These are cleared on overall initiation
+ */
+ if (ts.getTransferState() == TransferStatus.TransferState.OVERALL_INITIATION || ts.getTransferState() == TransferStatus.TransferState.SYNCH_INITIALIZATION) {
+ clearProgressBar();
+ // on initiation, clear and reset the status bar info
+ lblTransferType.setText(ts.getTransferType().name());
+ transferStatusProgressBar.setString(FieldFormatHelper.formatFileProgress(ts.getTotalFilesToTransfer(), ts.getTotalFilesTransferredSoFar(), 0));
+ progressIntraFile.setString(FieldFormatHelper.formatByteProgress(ts.getTotalSize(), ts.getBytesTransfered(), 0));
+ lblCurrentFile.setText(IDropUtils.abbreviateFileName(ts.getSourceFileAbsolutePath()));
+ transferStatusProgressBar.setMinimum(0);
+ transferStatusProgressBar.setMaximum(ts.getTotalFilesToTransfer());
+ transferStatusProgressBar.setValue(0);
+ }
+
+ /*
+ * Handle any text messages
+ */
+ if (ts.getTransferState() == TransferStatus.TransferState.SYNCH_INITIALIZATION) {
+ lblTransferMessage.setText("Synchronization Initializing");
+ } else if (ts.getTransferState() == TransferStatus.TransferState.SYNCH_DIFF_GENERATION) {
+ lblTransferMessage.setText("Synchronization looking for updates");
+ } else if (ts.getTransferState() == TransferStatus.TransferState.SYNCH_DIFF_STEP) {
+ lblTransferMessage.setText("Synchronizing differences");
+ } else if (ts.getTransferState() == TransferStatus.TransferState.SYNCH_COMPLETION) {
+ lblTransferMessage.setText("Synchronization complete");
+ } else if (ts.getTransferEnclosingType() == TransferStatus.TransferType.SYNCH) {
+ lblTransferMessage.setText("Transfer to synchronize local and iRODS");
+ } else if (ts.getTransferState() == TransferStatus.TransferState.OVERALL_INITIATION) {
+ // initiation not within a synch
+ lblTransferMessage.setText("Processing a " + ts.getTransferType().name() + " operation");
+ }
+ }
+ });
+ }
+
+ /**
+ * Call from a swing event queue runnable
+ */
+ private void clearProgressBar() {
+ lblTransferType.setText("");
+ lblCurrentFile.setText("");
+ transferStatusProgressBar.setMinimum(0);
+ transferStatusProgressBar.setMaximum(100);
+ transferStatusProgressBar.setValue(0);
+ transferStatusProgressBar.setString("");
+ progressIntraFile.setString("");
}
@@ -1152,6 +1314,7 @@ public class iDrop extends javax.swing.JFrame implements ActionListener,
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
private void initComponents() {
+ java.awt.GridBagConstraints gridBagConstraints;
jPopupMenu1 = new javax.swing.JPopupMenu();
pnlMain = new javax.swing.JPanel();
@@ -1167,20 +1330,43 @@ public class iDrop extends javax.swing.JFrame implements ActionListener,
btnMainToolbarCopy = new javax.swing.JButton();
btnMainToolbarDelete = new javax.swing.JButton();
pnlMainToolbarSearch = new javax.swing.JPanel();
- jComboBox1 = new javax.swing.JComboBox();
+ lblBreadCrumb = new javax.swing.JLabel();
+ jSeparator2 = new javax.swing.JSeparator();
txtMainToolbarSearchTerms = new javax.swing.JTextField();
btnMainToolbarSearchFiles = new javax.swing.JButton();
pnlMainIrodsTree = new javax.swing.JPanel();
scrollIrodsTree = new javax.swing.JScrollPane();
pnlMainTransferStatus = new javax.swing.JPanel();
+ pnlIdropBottom = new javax.swing.JPanel();
+ pnlCurrentTransferStatus = new javax.swing.JPanel();
+ lblCurrentFile = new javax.swing.JLabel();
+ progressIntraFile = new javax.swing.JProgressBar();
+ lblTransferFilesCounts = new javax.swing.JLabel();
+ transferStatusProgressBar = new javax.swing.JProgressBar();
+ lblTransferType = new javax.swing.JLabel();
+ lblTransferMessage = new javax.swing.JLabel();
+ lblTransferByteCounts = new javax.swing.JLabel();
+ pnlTransferOptions = new javax.swing.JPanel();
+ idropProgressPanelToolbar = new javax.swing.JToolBar();
+ btnShowTransferManager = new javax.swing.JButton();
+ togglePauseTransfer = new javax.swing.JToggleButton();
+ progressIconImageLabel = new javax.swing.JLabel();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
+ setMinimumSize(new java.awt.Dimension(622, 158));
+ setSize(new java.awt.Dimension(822, 158));
+ pnlMain.setMinimumSize(new java.awt.Dimension(622, 158));
+ pnlMain.setPreferredSize(new java.awt.Dimension(834, 635));
pnlMain.setLayout(new java.awt.BorderLayout());
+ pnlMainToolbar.setMinimumSize(new java.awt.Dimension(622, 131));
+ pnlMainToolbar.setPreferredSize(new java.awt.Dimension(834, 135));
pnlMainToolbar.setLayout(new java.awt.BorderLayout());
pnlMainToolbarIcons.setBorder(javax.swing.BorderFactory.createEmptyBorder(10, 20, 10, 20));
+ pnlMainToolbarIcons.setMinimumSize(new java.awt.Dimension(622, 90));
+ pnlMainToolbarIcons.setPreferredSize(new java.awt.Dimension(622, 90));
pnlMainToolbarIcons.setLayout(new javax.swing.BoxLayout(pnlMainToolbarIcons, javax.swing.BoxLayout.LINE_AXIS));
btnMainToolbarSettings.setIcon(new javax.swing.ImageIcon(getClass().getResource("/icon_settings.png"))); // NOI18N
@@ -1207,6 +1393,11 @@ public class iDrop extends javax.swing.JFrame implements ActionListener,
btnMainToolbarDownload.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 1, 1, 28));
btnMainToolbarDownload.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
btnMainToolbarDownload.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
+ btnMainToolbarDownload.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ btnMainToolbarDownloadActionPerformed(evt);
+ }
+ });
pnlMainToolbarIcons.add(btnMainToolbarDownload);
btnMainToolbarUpload.setIcon(new javax.swing.ImageIcon(getClass().getResource("/icon_upload.png"))); // NOI18N
@@ -1253,13 +1444,17 @@ public class iDrop extends javax.swing.JFrame implements ActionListener,
pnlMainToolbar.add(pnlMainToolbarIcons, java.awt.BorderLayout.NORTH);
pnlMainToolbarSearch.setBorder(javax.swing.BorderFactory.createEmptyBorder(2, 10, 2, 10));
- pnlMainToolbarSearch.setPreferredSize(new java.awt.Dimension(822, 45));
+ pnlMainToolbarSearch.setPreferredSize(new java.awt.Dimension(622, 45));
pnlMainToolbarSearch.setLayout(new javax.swing.BoxLayout(pnlMainToolbarSearch, javax.swing.BoxLayout.LINE_AXIS));
- jComboBox1.setFont(new java.awt.Font("Lucida Grande", 0, 14)); // NOI18N
- jComboBox1.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Path to Current Directory" }));
- jComboBox1.setPreferredSize(new java.awt.Dimension(400, 45));
- pnlMainToolbarSearch.add(jComboBox1);
+ lblBreadCrumb.setText(org.openide.util.NbBundle.getMessage(iDrop.class, "iDrop.lblBreadCrumb.text")); // NOI18N
+ lblBreadCrumb.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 1, 1, 10));
+ lblBreadCrumb.setMaximumSize(new java.awt.Dimension(110, 2000));
+ lblBreadCrumb.setMinimumSize(new java.awt.Dimension(0, 0));
+ pnlMainToolbarSearch.add(lblBreadCrumb);
+
+ jSeparator2.setOrientation(javax.swing.SwingConstants.VERTICAL);
+ pnlMainToolbarSearch.add(jSeparator2);
txtMainToolbarSearchTerms.setFont(new java.awt.Font("Lucida Grande", 0, 14)); // NOI18N
txtMainToolbarSearchTerms.setText(org.openide.util.NbBundle.getMessage(iDrop.class, "iDrop.txtMainToolbarSearchTerms.text")); // NOI18N
@@ -1276,28 +1471,133 @@ public class iDrop extends javax.swing.JFrame implements ActionListener,
pnlMain.add(pnlMainToolbar, java.awt.BorderLayout.NORTH);
pnlMainIrodsTree.setBorder(javax.swing.BorderFactory.createEtchedBorder());
- pnlMainIrodsTree.setPreferredSize(new java.awt.Dimension(822, 400));
+ pnlMainIrodsTree.setPreferredSize(new java.awt.Dimension(834, 360));
pnlMainIrodsTree.setLayout(new java.awt.BorderLayout());
pnlMainIrodsTree.add(scrollIrodsTree, java.awt.BorderLayout.CENTER);
pnlMain.add(pnlMainIrodsTree, java.awt.BorderLayout.CENTER);
- pnlMainTransferStatus.setPreferredSize(new java.awt.Dimension(822, 0));
+ pnlMainTransferStatus.setPreferredSize(new java.awt.Dimension(835, 120));
+ pnlMainTransferStatus.setLayout(new java.awt.BorderLayout());
+
+ pnlIdropBottom.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.LOWERED));
+ pnlIdropBottom.setToolTipText(org.openide.util.NbBundle.getMessage(iDrop.class, "iDrop.pnlIdropBottom.toolTipText")); // NOI18N
+ pnlIdropBottom.setMinimumSize(new java.awt.Dimension(166, 66));
+ pnlIdropBottom.setLayout(new java.awt.BorderLayout());
+
+ pnlCurrentTransferStatus.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 1, 1, 1));
+ pnlCurrentTransferStatus.setPreferredSize(new java.awt.Dimension(62, 62));
+ pnlCurrentTransferStatus.setLayout(new java.awt.GridBagLayout());
+
+ lblCurrentFile.setMaximumSize(new java.awt.Dimension(999, 999));
+ lblCurrentFile.setMinimumSize(new java.awt.Dimension(30, 10));
+ lblCurrentFile.setPreferredSize(new java.awt.Dimension(300, 20));
+ gridBagConstraints = new java.awt.GridBagConstraints();
+ gridBagConstraints.gridx = 3;
+ gridBagConstraints.gridy = 0;
+ gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
+ gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
+ gridBagConstraints.insets = new java.awt.Insets(0, 9, 0, 0);
+ pnlCurrentTransferStatus.add(lblCurrentFile, gridBagConstraints);
+
+ progressIntraFile.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 3, 1, 1));
+ progressIntraFile.setMinimumSize(new java.awt.Dimension(10, 60));
+ progressIntraFile.setString(org.openide.util.NbBundle.getMessage(iDrop.class, "iDrop.progressIntraFile.string")); // NOI18N
+ progressIntraFile.setStringPainted(true);
+ gridBagConstraints = new java.awt.GridBagConstraints();
+ gridBagConstraints.gridx = 2;
+ gridBagConstraints.gridy = 1;
+ gridBagConstraints.gridwidth = 4;
+ gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
+ gridBagConstraints.anchor = java.awt.GridBagConstraints.LINE_START;
+ pnlCurrentTransferStatus.add(progressIntraFile, gridBagConstraints);
+
+ lblTransferFilesCounts.setText(org.openide.util.NbBundle.getMessage(iDrop.class, "iDrop.lblTransferFilesCounts.text")); // NOI18N
+ gridBagConstraints = new java.awt.GridBagConstraints();
+ gridBagConstraints.gridx = 0;
+ gridBagConstraints.gridy = 2;
+ gridBagConstraints.gridwidth = 2;
+ gridBagConstraints.anchor = java.awt.GridBagConstraints.LINE_END;
+ pnlCurrentTransferStatus.add(lblTransferFilesCounts, gridBagConstraints);
+
+ transferStatusProgressBar.setBorder(null);
+ transferStatusProgressBar.setMinimumSize(new java.awt.Dimension(10, 60));
+ transferStatusProgressBar.setString(org.openide.util.NbBundle.getMessage(iDrop.class, "iDrop.transferStatusProgressBar.string")); // NOI18N
+ transferStatusProgressBar.setStringPainted(true);
+ gridBagConstraints = new java.awt.GridBagConstraints();
+ gridBagConstraints.gridx = 2;
+ gridBagConstraints.gridy = 2;
+ gridBagConstraints.gridwidth = 4;
+ gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
+ gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
+ gridBagConstraints.weightx = 8.0;
+ pnlCurrentTransferStatus.add(transferStatusProgressBar, gridBagConstraints);
+ gridBagConstraints = new java.awt.GridBagConstraints();
+ gridBagConstraints.gridx = 2;
+ gridBagConstraints.gridy = 0;
+ pnlCurrentTransferStatus.add(lblTransferType, gridBagConstraints);
+
+ lblTransferMessage.setForeground(java.awt.Color.blue);
+ gridBagConstraints = new java.awt.GridBagConstraints();
+ gridBagConstraints.gridx = 2;
+ gridBagConstraints.gridy = 3;
+ gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
+ gridBagConstraints.anchor = java.awt.GridBagConstraints.LINE_START;
+ pnlCurrentTransferStatus.add(lblTransferMessage, gridBagConstraints);
+
+ lblTransferByteCounts.setText(org.openide.util.NbBundle.getMessage(iDrop.class, "iDrop.lblTransferByteCounts.text")); // NOI18N
+ gridBagConstraints = new java.awt.GridBagConstraints();
+ gridBagConstraints.gridx = 0;
+ gridBagConstraints.gridy = 1;
+ gridBagConstraints.gridwidth = 2;
+ gridBagConstraints.anchor = java.awt.GridBagConstraints.LINE_END;
+ pnlCurrentTransferStatus.add(lblTransferByteCounts, gridBagConstraints);
+
+ pnlIdropBottom.add(pnlCurrentTransferStatus, java.awt.BorderLayout.CENTER);
+
+ pnlTransferOptions.setBorder(javax.swing.BorderFactory.createTitledBorder(org.openide.util.NbBundle.getMessage(iDrop.class, "iDrop.pnlTransferOptions.border.title"))); // NOI18N
+
+ idropProgressPanelToolbar.setFloatable(false);
+ idropProgressPanelToolbar.setRollover(true);
+
+ btnShowTransferManager.setIcon(new javax.swing.ImageIcon(getClass().getResource("/configure-5.png"))); // NOI18N
+ btnShowTransferManager.setMnemonic('m');
+ btnShowTransferManager.setText(org.openide.util.NbBundle.getMessage(iDrop.class, "iDrop.btnShowTransferManager.text")); // NOI18N
+ btnShowTransferManager.setToolTipText(org.openide.util.NbBundle.getMessage(iDrop.class, "iDrop.btnShowTransferManager.toolTipText")); // NOI18N
+ btnShowTransferManager.setFocusable(false);
+ btnShowTransferManager.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
+ btnShowTransferManager.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
+ btnShowTransferManager.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ btnShowTransferManagerActionPerformed(evt);
+ }
+ });
+ idropProgressPanelToolbar.add(btnShowTransferManager);
+
+ togglePauseTransfer.setIcon(new javax.swing.ImageIcon(getClass().getResource("/media-playback-pause-7.png"))); // NOI18N
+ togglePauseTransfer.setMnemonic('p');
+ togglePauseTransfer.setText(org.openide.util.NbBundle.getMessage(iDrop.class, "iDrop.togglePauseTransfer.text")); // NOI18N
+ togglePauseTransfer.setToolTipText(org.openide.util.NbBundle.getMessage(iDrop.class, "iDrop.togglePauseTransfer.toolTipText")); // NOI18N
+ togglePauseTransfer.setFocusable(false);
+ togglePauseTransfer.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
+ togglePauseTransfer.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
+ togglePauseTransfer.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ togglePauseTransferActionPerformed(evt);
+ }
+ });
+ idropProgressPanelToolbar.add(togglePauseTransfer);
+
+ pnlTransferOptions.add(idropProgressPanelToolbar);
+ pnlTransferOptions.add(progressIconImageLabel);
- org.jdesktop.layout.GroupLayout pnlMainTransferStatusLayout = new org.jdesktop.layout.GroupLayout(pnlMainTransferStatus);
- pnlMainTransferStatus.setLayout(pnlMainTransferStatusLayout);
- pnlMainTransferStatusLayout.setHorizontalGroup(
- pnlMainTransferStatusLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
- .add(0, 863, Short.MAX_VALUE)
- );
- pnlMainTransferStatusLayout.setVerticalGroup(
- pnlMainTransferStatusLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
- .add(0, 0, Short.MAX_VALUE)
- );
+ pnlIdropBottom.add(pnlTransferOptions, java.awt.BorderLayout.EAST);
+
+ pnlMainTransferStatus.add(pnlIdropBottom, java.awt.BorderLayout.CENTER);
pnlMain.add(pnlMainTransferStatus, java.awt.BorderLayout.SOUTH);
- getContentPane().add(pnlMain, java.awt.BorderLayout.NORTH);
+ getContentPane().add(pnlMain, java.awt.BorderLayout.CENTER);
pack();
}// </editor-fold>//GEN-END:initComponents
@@ -1308,40 +1608,58 @@ public class iDrop extends javax.swing.JFrame implements ActionListener,
idropConfigurationPanel.setVisible(true);
}//GEN-LAST:event_btnMainToolbarSettingsActionPerformed
+ private void btnMainToolbarDownloadActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnMainToolbarDownloadActionPerformed
+ JFileChooser localFileChooser = new JFileChooser();
+ localFileChooser.setMultiSelectionEnabled(false);
+ localFileChooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
+ int returnVal = localFileChooser.showOpenDialog(this);
+ String downloadPath = localFileChooser.getSelectedFile().getAbsolutePath();
+
+ executeDownload(downloadPath);
+ }//GEN-LAST:event_btnMainToolbarDownloadActionPerformed
+
+ private void btnShowTransferManagerActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnShowTransferManagerActionPerformed
+ // TODO add your handling code here:
+ }//GEN-LAST:event_btnShowTransferManagerActionPerformed
+
+ private void togglePauseTransferActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_togglePauseTransferActionPerformed
+ // TODO add your handling code here:
+ }//GEN-LAST:event_togglePauseTransferActionPerformed
+
/**
* @param args the command line arguments
*/
- public static void main(String args[]) {
- /* Set the Nimbus look and feel */
- //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
- /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
- * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
- */
- try {
- for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
- if ("Nimbus".equals(info.getName())) {
- javax.swing.UIManager.setLookAndFeel(info.getClassName());
- break;
- }
- }
- } catch (ClassNotFoundException ex) {
- java.util.logging.Logger.getLogger(iDrop.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
- } catch (InstantiationException ex) {
- java.util.logging.Logger.getLogger(iDrop.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
- } catch (IllegalAccessException ex) {
- java.util.logging.Logger.getLogger(iDrop.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
- } catch (javax.swing.UnsupportedLookAndFeelException ex) {
- java.util.logging.Logger.getLogger(iDrop.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
- }
- //</editor-fold>
-
- /* Create and display the form */
- java.awt.EventQueue.invokeLater(new Runnable() {
- public void run() {
- new iDrop().setVisible(true);
- }
- });
- }
+// public static void main(String args[]) {
+// /* Set the Nimbus look and feel */
+// //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
+// /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
+// * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
+// */
+// try {
+// for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
+// if ("Nimbus".equals(info.getName())) {
+// javax.swing.UIManager.setLookAndFeel(info.getClassName());
+// break;
+// }
+// }
+// } catch (ClassNotFoundException ex) {
+// java.util.logging.Logger.getLogger(iDrop.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
+// } catch (InstantiationException ex) {
+// java.util.logging.Logger.getLogger(iDrop.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
+// } catch (IllegalAccessException ex) {
+// java.util.logging.Logger.getLogger(iDrop.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
+// } catch (javax.swing.UnsupportedLookAndFeelException ex) {
+// java.util.logging.Logger.getLogger(iDrop.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
+// }
+// //</editor-fold>
+//
+// /* Create and display the form */
+// java.awt.EventQueue.invokeLater(new Runnable() {
+// public void run() {
+// new iDrop().setVisible(true);
+// }
+// });
+// }
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JButton btnMainToolbarAddEditMetaData;
private javax.swing.JButton btnMainToolbarCopy;
@@ -1352,16 +1670,31 @@ public class iDrop extends javax.swing.JFrame implements ActionListener,
private javax.swing.JButton btnMainToolbarSettings;
private javax.swing.JButton btnMainToolbarSync;
private javax.swing.JButton btnMainToolbarUpload;
- private javax.swing.JComboBox jComboBox1;
+ private javax.swing.JButton btnShowTransferManager;
+ private javax.swing.JToolBar idropProgressPanelToolbar;
private javax.swing.JPopupMenu jPopupMenu1;
private javax.swing.JSeparator jSeparator1;
+ private javax.swing.JSeparator jSeparator2;
+ private javax.swing.JLabel lblBreadCrumb;
+ private javax.swing.JLabel lblCurrentFile;
+ private javax.swing.JLabel lblTransferByteCounts;
+ private javax.swing.JLabel lblTransferFilesCounts;
+ private javax.swing.JLabel lblTransferMessage;
+ private javax.swing.JLabel lblTransferType;
+ private javax.swing.JPanel pnlCurrentTransferStatus;
+ private javax.swing.JPanel pnlIdropBottom;
private javax.swing.JPanel pnlMain;
private javax.swing.JPanel pnlMainIrodsTree;
private javax.swing.JPanel pnlMainToolbar;
private javax.swing.JPanel pnlMainToolbarIcons;
private javax.swing.JPanel pnlMainToolbarSearch;
private javax.swing.JPanel pnlMainTransferStatus;
+ private javax.swing.JPanel pnlTransferOptions;
+ private javax.swing.JLabel progressIconImageLabel;
+ private javax.swing.JProgressBar progressIntraFile;
private javax.swing.JScrollPane scrollIrodsTree;
+ private javax.swing.JToggleButton togglePauseTransfer;
+ private javax.swing.JProgressBar transferStatusProgressBar;
private javax.swing.JTextField txtMainToolbarSearchTerms;
// End of variables declaration//GEN-END:variables
diff --git a/idrop-swing/src/main/java/org/irods/jargon/idrop/desktop/systraygui/utils/Version.java b/idrop-swing/src/main/java/org/irods/jargon/idrop/desktop/systraygui/utils/Version.java
index fabe28c..2302e6b 100644
--- a/idrop-swing/src/main/java/org/irods/jargon/idrop/desktop/systraygui/utils/Version.java
+++ b/idrop-swing/src/main/java/org/irods/jargon/idrop/desktop/systraygui/utils/Version.java
@@ -1,5 +1,5 @@
package org.irods.jargon.idrop.desktop.systraygui.utils;
public final class Version {
public static String VERSION="1.0.2-SNAPSHOT";
- public static String BUILD_TIME="20121024-1006";
+ public static String BUILD_TIME="20121024-1327";
}
diff --git a/idrop-swing/src/main/java/org/irods/jargon/idrop/desktop/systraygui/viscomponents/IRODSNode.java b/idrop-swing/src/main/java/org/irods/jargon/idrop/desktop/systraygui/viscomponents/IRODSNode.java
index a6a4667..02b79f5 100644
--- a/idrop-swing/src/main/java/org/irods/jargon/idrop/desktop/systraygui/viscomponents/IRODSNode.java
+++ b/idrop-swing/src/main/java/org/irods/jargon/idrop/desktop/systraygui/viscomponents/IRODSNode.java
@@ -188,4 +188,23 @@ public class IRODSNode extends DefaultMutableTreeNode {
public boolean isHasMore() {
return hasMore;
}
+
+ /**
+ * Return full path of this node
+ *
+ * @return <code>String</code> of nodes full path
+ *
+ */
+ public String getFullPath() {
+ String fullPath = "";
+ CollectionAndDataObjectListingEntry entry = (CollectionAndDataObjectListingEntry) this.getUserObject();
+ if (entry.isCollection()) {
+ fullPath = entry.getPathOrName();
+ }
+ else {
+ fullPath = entry.getParentPath() + "/" + entry.getPathOrName();
+ }
+ return fullPath;
+ }
+
}
diff --git a/idrop-swing/src/main/java/org/irods/jargon/idrop/desktop/systraygui/viscomponents/IrodsSelectionListenerForBuildingInfoPanel.java b/idrop-swing/src/main/java/org/irods/jargon/idrop/desktop/systraygui/viscomponents/IrodsSelectionListenerForBuildingInfoPanel.java
index aa377ab..30555f8 100644
--- a/idrop-swing/src/main/java/org/irods/jargon/idrop/desktop/systraygui/viscomponents/IrodsSelectionListenerForBuildingInfoPanel.java
+++ b/idrop-swing/src/main/java/org/irods/jargon/idrop/desktop/systraygui/viscomponents/IrodsSelectionListenerForBuildingInfoPanel.java
@@ -73,5 +73,6 @@ public class IrodsSelectionListenerForBuildingInfoPanel implements
}
log.info("lse: {}", lse);
idrop.triggerInfoPanelUpdate();
+ idrop.triggerToolbarUpdate();
}
}
diff --git a/idrop-swing/src/main/resources/org/irods/jargon/idrop/desktop/systraygui/Bundle.properties b/idrop-swing/src/main/resources/org/irods/jargon/idrop/desktop/systraygui/Bundle.properties
index 4848e40..336c670 100644
--- a/idrop-swing/src/main/resources/org/irods/jargon/idrop/desktop/systraygui/Bundle.properties
+++ b/idrop-swing/src/main/resources/org/irods/jargon/idrop/desktop/systraygui/Bundle.properties
@@ -125,3 +125,14 @@ iDrop.btnMainToolbarAddEditMetaData.text=Add or Edit Metadata
iDrop.btnMainToolbarSearchFiles.text=Search Files
iDrop.txtMainToolbarSearchTerms.text=Enter search terms
iDrop.btnMainToolbarDelete.text_1=Delete
+iDrop.pnlIdropBottom.toolTipText=Display area for status and messages
+iDrop.togglePauseTransfer.toolTipText=Pause the current transfer
+iDrop.togglePauseTransfer.text=Pause
+iDrop.btnShowTransferManager.toolTipText=Show a panel to manage transfers
+iDrop.btnShowTransferManager.text=Manage
+iDrop.pnlTransferOptions.border.title=Upload Options
+iDrop.lblTransferByteCounts.text=Current File:
+iDrop.transferStatusProgressBar.string=
+iDrop.lblTransferFilesCounts.text=Total Progress:
+iDrop.progressIntraFile.string=
+iDrop.lblBreadCrumb.text=