/// <summary>
        /// Which device have we selected?
        /// </summary>
        /// <returns>the one we've selected</returns>
        public Dnssd.DnssdDeviceInfo GetSelectedDevice()
        {
            int ii;

            // Handle TWAIN Cloud...
            if (m_listviewSelect.SelectedIndices.Count > 0)
            {
                var item    = m_listviewSelect.SelectedItems[0];
                var scanner = (ScannerInformation)item.Tag;
                if (scanner != null)
                {
                    string szUrl = CloudManager.GetScannerCloudUrl(scanner);
                    CloudManager.CloudInfo cloudinfo = CloudManager.GetCurrentCloudInfo();

                    Dnssd.DnssdDeviceInfo dnssddeviceinfo = new Dnssd.DnssdDeviceInfo();
                    dnssddeviceinfo.SetTxtHttps(cloudinfo.szUseHttps == "yes");
                    dnssddeviceinfo.SetLinkLocal(szUrl);
                    dnssddeviceinfo.SetCloud(true);
                    return(dnssddeviceinfo);
                }
            }

            // Handle TWAIN Local...
            // Make a note of our current selection, if we have one, we expect our
            // snapshot to exactly match what we have in the list, including the
            // order of the data...
            m_dnssddeviceinfoSelected = null;
            if (m_ldnssddeviceinfoCompare != null)
            {
                for (ii = 0; ii < m_listviewSelect.Items.Count; ii++)
                {
                    if (m_listviewSelect.Items[ii].Selected)
                    {
                        m_dnssddeviceinfoSelected = m_ldnssddeviceinfoCompare[ii];
                        break;
                    }
                }
            }

            // Return what we found...
            return(m_dnssddeviceinfoSelected);
        }
Exemple #2
0
        ///////////////////////////////////////////////////////////////////////////////
        // Public Methods...
        ///////////////////////////////////////////////////////////////////////////////
        #region Public Methods...

        /// <summary>
        /// Init stuff...
        /// </summary>
        /// <param name="a_dnssddeviceinfo">the device we're talking to</param>
        /// <param name="a_twainlocalscannerclient">our interface to the scanner</param>
        /// <param name="a_szWriteFolder">where we get/put stuff</param>
        /// <param name="a_resourcemanager">for localization</param>
        /// <param name="a_twainlocalscannerclient">for encryptionReport</param>
        public FormSetup
        (
            Dnssd.DnssdDeviceInfo a_dnssddeviceinfo,
            TwainLocalScannerClient a_twainlocalscannerclient,
            string a_szWriteFolder,
            ResourceManager a_resourcemanager
        )
        {
            float fScale;

            // Init stuff...
            InitializeComponent();
            MinimizeBox       = false;
            MaximizeBox       = false;
            m_dnssddeviceinfo = a_dnssddeviceinfo;
            m_resourcemanager = a_resourcemanager;

            // Handle scaling...
            fScale = (float)Config.Get("scale", 1.0);
            if (fScale <= 1)
            {
                fScale = 1;
            }
            else if (fScale > 2)
            {
                fScale = 2;
            }
            if (fScale != 1)
            {
                this.Font = new Font(this.Font.FontFamily, this.Font.Size * fScale, this.Font.Style);
            }

            // Localize...
            m_labelSelectDestinationFolder.Text = Config.GetResource(m_resourcemanager, "strLabelSelectImageDestination");
            this.Text = Config.GetResource(m_resourcemanager, "strFormSetupTitle");

            // More init stuff...
            m_twainlocalscannerclient = a_twainlocalscannerclient;
            this.FormClosing         += new FormClosingEventHandler(FormSetup_FormClosing);

            // Location of current task...
            m_szCurrentTaskFile = Path.Combine(a_szWriteFolder, "currenttask");

            // We're putting the tasks into the write folder...
            m_szTasksFolder = Path.Combine(a_szWriteFolder, "tasks");
            if (!Directory.Exists(m_szTasksFolder))
            {
                try
                {
                    Directory.CreateDirectory(m_szTasksFolder);
                }
                catch (Exception exception)
                {
                    Log.Error("Can't create folder <" + m_szTasksFolder + ">, so using current folder - " + exception.Message);
                    m_szTasksFolder = Directory.GetCurrentDirectory();
                }
            }

            // Restore values...
            m_textboxFolder.Text        = RestoreFolder();
            m_textboxUseUiSettings.Text = "";
            if (File.Exists(m_szCurrentTaskFile))
            {
                m_textboxUseUiSettings.Text = File.ReadAllText(m_szCurrentTaskFile);
            }
        }
Exemple #3
0
        ///////////////////////////////////////////////////////////////////////////////
        // Public Methods...
        ///////////////////////////////////////////////////////////////////////////////
        #region Public Methods...

        /// <summary>
        /// Init stuff...
        /// </summary>
        /// <param name="a_dnssddeviceinfo">the device we're talking to</param>
        /// <param name="a_twainlocalscanner">our interface to the scanner</param>
        public FormSetup(Dnssd.DnssdDeviceInfo a_dnssddeviceinfo, TwainLocalScanner a_twainlocalscanner)
        {
            float  fScale;
            string szWriteFolder;

            // Init stuff...
            InitializeComponent();
            m_dnssddeviceinfo = a_dnssddeviceinfo;

            // Find our write folder...
            szWriteFolder = Config.Get("writeFolder", "");

            // Handle scaling...
            fScale = (float)Config.Get("scale", 1.0);
            if (fScale <= 1)
            {
                fScale = 1;
            }
            else if (fScale > 2)
            {
                fScale = 2;
            }
            if (fScale != 1)
            {
                this.Font = new Font(this.Font.FontFamily, this.Font.Size * fScale, this.Font.Style);
            }

            // Localize...
            string szCurrentUiCulture = "." + Thread.CurrentThread.CurrentUICulture.ToString();

            if (szCurrentUiCulture == ".en-US")
            {
                szCurrentUiCulture = "";
            }
            try
            {
                m_resourcemanager = new ResourceManager("TwainDirect.App.WinFormStrings" + szCurrentUiCulture, typeof(FormSelect).Assembly);
            }
            catch
            {
                m_resourcemanager = new ResourceManager("TwainDirect.App.WinFormStrings", typeof(FormSelect).Assembly);
            }
            m_labelSelectDestinationFolder.Text = m_resourcemanager.GetString("strLabelSelectImageDestination");
            this.Text = m_resourcemanager.GetString("strFormSetupTitle");

            // More init stuff...
            m_twainlocalscanner = a_twainlocalscanner;
            this.FormClosing   += new FormClosingEventHandler(FormSetup_FormClosing);

            // Location of current task...
            m_szCurrentTaskFile = Path.Combine(szWriteFolder, "currenttask");

            // We're putting the tasks into the write folder...
            m_szTasksFolder = Path.Combine(szWriteFolder, "tasks");
            if (!Directory.Exists(m_szTasksFolder))
            {
                try
                {
                    Directory.CreateDirectory(m_szTasksFolder);
                }
                catch (Exception exception)
                {
                    Log.Error("Can't create folder <" + m_szTasksFolder + ">, so using current folder - " + exception.Message);
                    m_szTasksFolder = Directory.GetCurrentDirectory();
                }
            }

            // Restore values...
            m_textboxFolder.Text        = RestoreFolder();
            m_textboxUseUiSettings.Text = "";
            if (File.Exists(m_szCurrentTaskFile))
            {
                m_textboxUseUiSettings.Text = File.ReadAllText(m_szCurrentTaskFile);
            }
        }