Sophie

Sophie

distrib > Mandriva > current > x86_64 > by-pkgid > 4272c97b1af3db3f39a3b697bcba7e48 > files > 540

albumshaper-2.1-7mdv2010.1.x86_64.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>AlbumShaper: GeneratePreviewThread Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.6.2 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
    </ul>
  </div>
</div>
<div class="contents">
<h1>GeneratePreviewThread Class Reference</h1><!-- doxytag: class="GeneratePreviewThread" --><!-- doxytag: inherits="QThread" -->
<p><code>#include &lt;<a class="el" href="addPhotosDialog_8h_source.html">addPhotosDialog.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for GeneratePreviewThread:</div>
<div class="dynsection">
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<div class="dynheader">
Collaboration diagram for GeneratePreviewThread:</div>
<div class="dynsection">
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>

<p><a href="classGeneratePreviewThread-members.html">List of all members.</a></p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGeneratePreviewThread.html#a07eb50f20a9a67448e8b2d33c1252328">GeneratePreviewThread</a> (<a class="el" href="classFilePreview.html">FilePreview</a> *<a class="el" href="classGeneratePreviewThread.html#acced915beb70c76416f0518aea250104">previewWidget</a>)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGeneratePreviewThread.html#a29affa3f16c4b04522de227d68ac2450">start</a> (QString <a class="el" href="classGeneratePreviewThread.html#acd55c605c796212412940d4988f4253a">filename</a>)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGeneratePreviewThread.html#a1ea5bdb72a79bbc081829dd0fbcc6eb0">run</a> ()</td></tr>
<tr><td colspan="2"><h2>Private Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGeneratePreviewThread.html#acd55c605c796212412940d4988f4253a">filename</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">current file being processed  <a href="#acd55c605c796212412940d4988f4253a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classFilePreview.html">FilePreview</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGeneratePreviewThread.html#acced915beb70c76416f0518aea250104">previewWidget</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">handle on preview widget necessary for posting an update event once the current file has been processed  <a href="#acced915beb70c76416f0518aea250104"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGeneratePreviewThread.html#a4809be79bf9c1c67561868fbcc88fd1f">updating</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">is the worker thread currently generating a file preview?  <a href="#a4809be79bf9c1c67561868fbcc88fd1f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGeneratePreviewThread.html#ad7505a7bf8e25d9208d96ddb51f5ca65">queue</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">next file to be processed by worker thread  <a href="#ad7505a7bf8e25d9208d96ddb51f5ca65"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">QMutex&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGeneratePreviewThread.html#a6611d14aeaa6173cc6e256a817865984">lockingMutex</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">locking mutex - necessary to prevent multiple threads from accessing the updating bool or queue variable simultaniously  <a href="#a6611d14aeaa6173cc6e256a817865984"></a><br/></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>

<p>Definition at line <a class="el" href="addPhotosDialog_8h_source.html#l00029">29</a> of file <a class="el" href="addPhotosDialog_8h_source.html">addPhotosDialog.h</a>.</p>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a07eb50f20a9a67448e8b2d33c1252328"></a><!-- doxytag: member="GeneratePreviewThread::GeneratePreviewThread" ref="a07eb50f20a9a67448e8b2d33c1252328" args="(FilePreview *previewWidget)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">GeneratePreviewThread::GeneratePreviewThread </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classFilePreview.html">FilePreview</a> *&nbsp;</td>
          <td class="paramname"> <em>previewWidget</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="addPhotosDialog_8cpp_source.html#l00060">60</a> of file <a class="el" href="addPhotosDialog_8cpp_source.html">addPhotosDialog.cpp</a>.</p>

<p>References <a class="el" href="addPhotosDialog_8h_source.html#l00048">queue</a>, and <a class="el" href="addPhotosDialog_8h_source.html#l00045">updating</a>.</p>

<p><div class="fragment"><pre class="fragment"><a name="l00061"></a>00061 {
<a name="l00062"></a>00062   <span class="comment">//we&#39;ll need to store a previewWidget handle to </span>
<a name="l00063"></a>00063   <span class="comment">//posting update events when updates are</span>
<a name="l00064"></a>00064   <span class="comment">//ready to be shown</span>
<a name="l00065"></a>00065   this-&gt;previewWidget = previewWidget;
<a name="l00066"></a>00066 
<a name="l00067"></a>00067   <span class="comment">//by default worker thread isn&#39;t busy yet</span>
<a name="l00068"></a>00068   <a class="code" href="classGeneratePreviewThread.html#a4809be79bf9c1c67561868fbcc88fd1f" title="is the worker thread currently generating a file preview?">updating</a> = <span class="keyword">false</span>;
<a name="l00069"></a>00069   <a class="code" href="classGeneratePreviewThread.html#ad7505a7bf8e25d9208d96ddb51f5ca65" title="next file to be processed by worker thread">queue</a> = QString::null;
<a name="l00070"></a>00070 }
</pre></div></p>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a1ea5bdb72a79bbc081829dd0fbcc6eb0"></a><!-- doxytag: member="GeneratePreviewThread::run" ref="a1ea5bdb72a79bbc081829dd0fbcc6eb0" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void GeneratePreviewThread::run </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="addPhotosDialog_8cpp_source.html#l00094">94</a> of file <a class="el" href="addPhotosDialog_8cpp_source.html">addPhotosDialog.cpp</a>.</p>

<p>References <a class="el" href="addPhotosDialog_8h_source.html#l00038">filename</a>, <a class="el" href="imageTools_8cpp_source.html#l00192">getImageSize()</a>, <a class="el" href="addPhotosDialog_8h_source.html#l00052">lockingMutex</a>, <a class="el" href="addPhotosDialog_8cpp_source.html#l00031">MIN_HEIGHT</a>, <a class="el" href="addPhotosDialog_8cpp_source.html#l00030">MIN_WIDTH</a>, <a class="el" href="addPhotosDialog_8h_source.html#l00042">previewWidget</a>, <a class="el" href="addPhotosDialog_8h_source.html#l00048">queue</a>, <a class="el" href="imageTools_8cpp_source.html#l00157">scaleImage()</a>, and <a class="el" href="addPhotosDialog_8h_source.html#l00045">updating</a>.</p>

<p><div class="fragment"><pre class="fragment"><a name="l00095"></a>00095 {
<a name="l00096"></a>00096   <span class="comment">//since it is possible for another job</span>
<a name="l00097"></a>00097   <span class="comment">//to be added to the queue while processing this one, it is necessary</span>
<a name="l00098"></a>00098   <span class="comment">//to loop until the queue is empty</span>
<a name="l00099"></a>00099   <span class="keywordflow">while</span>(<span class="keyword">true</span>)
<a name="l00100"></a>00100   {
<a name="l00101"></a>00101     <span class="comment">//------------------------------------------</span>
<a name="l00102"></a>00102     <span class="comment">//Get image type extension and convert to caps  </span>
<a name="l00103"></a>00103     QString extension = QFileInfo(<a class="code" href="classGeneratePreviewThread.html#acd55c605c796212412940d4988f4253a" title="current file being processed">filename</a>).extension(<span class="keyword">false</span>).upper();
<a name="l00104"></a>00104     <span class="keywordtype">bool</span> validExtension = ( (extension.compare(<span class="stringliteral">&quot;GIF&quot;</span>) == 0) ||
<a name="l00105"></a>00105                             (extension.compare(<span class="stringliteral">&quot;JPG&quot;</span>) == 0) ||
<a name="l00106"></a>00106                             (extension.compare(<span class="stringliteral">&quot;JPEG&quot;</span>) == 0) ||
<a name="l00107"></a>00107                             (extension.compare(<span class="stringliteral">&quot;PNG&quot;</span>) == 0) ||
<a name="l00108"></a>00108                             (extension.compare(<span class="stringliteral">&quot;XPM&quot;</span>) == 0) );
<a name="l00109"></a>00109     <span class="comment">//------------------------------------------</span>
<a name="l00110"></a>00110     <span class="comment">//Scale the image to fit nicely on the screen, aka &lt; 300x225</span>
<a name="l00111"></a>00111     QImage scaledImage;
<a name="l00112"></a>00112     <span class="keywordflow">if</span>( validExtension )
<a name="l00113"></a>00113     {
<a name="l00114"></a>00114       <a class="code" href="imageTools_8cpp.html#a126e11984fb8124e78e3b1b68a24870c" title="Scale image and save copy to disk.">scaleImage</a>(<a class="code" href="classGeneratePreviewThread.html#acd55c605c796212412940d4988f4253a" title="current file being processed">filename</a>, scaledImage, <a class="code" href="addPhotosDialog_8cpp.html#ad3ee0cc681d736cb6d41c4ebb04c0ae4">MIN_WIDTH</a>, <a class="code" href="addPhotosDialog_8cpp.html#a1610a21b358c3531db64b3208fa70e5b">MIN_HEIGHT</a> );
<a name="l00115"></a>00115     }
<a name="l00116"></a>00116     <span class="comment">//------------------------------------------</span>
<a name="l00117"></a>00117     <span class="comment">//Get image resolution</span>
<a name="l00118"></a>00118     QString imageRes = <span class="stringliteral">&quot;&quot;</span>;
<a name="l00119"></a>00119     <span class="keywordflow">if</span>(validExtension)
<a name="l00120"></a>00120     {
<a name="l00121"></a>00121       QSize res;
<a name="l00122"></a>00122       <a class="code" href="imageTools_8cpp.html#a2af7f0a9c4f931ad3213c36796e95288" title="Get image dimensions.">getImageSize</a>( <a class="code" href="classGeneratePreviewThread.html#acd55c605c796212412940d4988f4253a" title="current file being processed">filename</a>, res );
<a name="l00123"></a>00123       imageRes = QString(<span class="stringliteral">&quot;%1 x %2&quot;</span>).arg(res.width()).arg(res.height());
<a name="l00124"></a>00124     }
<a name="l00125"></a>00125     <span class="comment">//------------------------------------------</span>
<a name="l00126"></a>00126     <span class="comment">//Determine file size and construct a nicely formatted size string</span>
<a name="l00127"></a>00127     QString fileSize = <span class="stringliteral">&quot;?&quot;</span>;
<a name="l00128"></a>00128     QFileInfo info;
<a name="l00129"></a>00129     info.setFile( <a class="code" href="classGeneratePreviewThread.html#acd55c605c796212412940d4988f4253a" title="current file being processed">filename</a> );
<a name="l00130"></a>00130     <span class="keywordtype">int</span> sizeOnDisk = info.size();
<a name="l00131"></a>00131     
<a name="l00132"></a>00132     <span class="keywordflow">if</span>(sizeOnDisk &lt; 1024)
<a name="l00133"></a>00133       fileSize = QString(<span class="stringliteral">&quot;%1 Byte%2&quot;</span>).arg(sizeOnDisk).arg( sizeOnDisk == 0 || sizeOnDisk &gt; 1 ? <span class="stringliteral">&quot;s&quot;</span> : <span class="stringliteral">&quot;&quot;</span>);
<a name="l00134"></a>00134     <span class="keywordflow">else</span> <span class="keywordflow">if</span>( sizeOnDisk/1024 &lt; 1024)
<a name="l00135"></a>00135       <span class="comment">//    fileSize = QString(&quot;%1 Kb&quot;).arg( ((float)*sizeOnDisk)/1024 );</span>
<a name="l00136"></a>00136       fileSize = QString(<span class="stringliteral">&quot;%1 Kb&quot;</span>).arg( ((<span class="keywordtype">float</span>)((100*sizeOnDisk)/1024))/100 );
<a name="l00137"></a>00137     <span class="keywordflow">else</span> <span class="keywordflow">if</span>( sizeOnDisk/(1024*1024) &lt; 1024)
<a name="l00138"></a>00138       fileSize = QString(<span class="stringliteral">&quot;%1 Mb&quot;</span>).arg( ((<span class="keywordtype">float</span>)((100*sizeOnDisk)/(1024*1024)))/100 );
<a name="l00139"></a>00139     <span class="keywordflow">else</span>
<a name="l00140"></a>00140       fileSize = QString(<span class="stringliteral">&quot;%1 Gigs&quot;</span>).arg( ((<span class="keywordtype">float</span>)((100*sizeOnDisk)/(1024*1024*1024)))/100 );   
<a name="l00141"></a>00141     <span class="comment">//------------------------------------------</span>
<a name="l00142"></a>00142     <span class="comment">//Setup image details string  </span>
<a name="l00143"></a>00143     QString fileDetails = QString(<span class="stringliteral">&quot;%1 %2, %3&quot;</span>)
<a name="l00144"></a>00144                                   .arg(imageRes)
<a name="l00145"></a>00145                                   .arg(extension)
<a name="l00146"></a>00146                                   .arg(fileSize);
<a name="l00147"></a>00147     <span class="comment">//------------------------------------------</span>
<a name="l00148"></a>00148     <span class="comment">//Post UPDATE_PREVIEW_DETAILS event</span>
<a name="l00149"></a>00149     <a class="code" href="classUpdatePreviewEvent.html">UpdatePreviewEvent</a>* upe = <span class="keyword">new</span> <a class="code" href="classUpdatePreviewEvent.html">UpdatePreviewEvent</a>( scaledImage, fileDetails );
<a name="l00150"></a>00150     QApplication::postEvent( <a class="code" href="classGeneratePreviewThread.html#acced915beb70c76416f0518aea250104" title="handle on preview widget necessary for posting an update event once the current file...">previewWidget</a>, upe );
<a name="l00151"></a>00151     <span class="comment">//------------------------------------------</span>
<a name="l00152"></a>00152     <span class="comment">//get lock</span>
<a name="l00153"></a>00153     <a class="code" href="classGeneratePreviewThread.html#a6611d14aeaa6173cc6e256a817865984" title="locking mutex - necessary to prevent multiple threads from accessing the updating...">lockingMutex</a>.lock();
<a name="l00154"></a>00154     
<a name="l00155"></a>00155     <span class="comment">//if the queue is empty we&#39;re done!</span>
<a name="l00156"></a>00156     <span class="keywordflow">if</span>( <a class="code" href="classGeneratePreviewThread.html#ad7505a7bf8e25d9208d96ddb51f5ca65" title="next file to be processed by worker thread">queue</a>.isNull() )
<a name="l00157"></a>00157     {
<a name="l00158"></a>00158       <a class="code" href="classGeneratePreviewThread.html#a4809be79bf9c1c67561868fbcc88fd1f" title="is the worker thread currently generating a file preview?">updating</a> = <span class="keyword">false</span>;
<a name="l00159"></a>00159       <a class="code" href="classGeneratePreviewThread.html#a6611d14aeaa6173cc6e256a817865984" title="locking mutex - necessary to prevent multiple threads from accessing the updating...">lockingMutex</a>.unlock();
<a name="l00160"></a>00160       <span class="keywordflow">return</span>; 
<a name="l00161"></a>00161     }
<a name="l00162"></a>00162     <span class="comment">//clear queue and process pending job</span>
<a name="l00163"></a>00163     <span class="keywordflow">else</span>
<a name="l00164"></a>00164     {
<a name="l00165"></a>00165       <a class="code" href="classGeneratePreviewThread.html#acd55c605c796212412940d4988f4253a" title="current file being processed">filename</a> = <a class="code" href="classGeneratePreviewThread.html#ad7505a7bf8e25d9208d96ddb51f5ca65" title="next file to be processed by worker thread">queue</a>;
<a name="l00166"></a>00166       <a class="code" href="classGeneratePreviewThread.html#ad7505a7bf8e25d9208d96ddb51f5ca65" title="next file to be processed by worker thread">queue</a> = QString::null;
<a name="l00167"></a>00167       <a class="code" href="classGeneratePreviewThread.html#a6611d14aeaa6173cc6e256a817865984" title="locking mutex - necessary to prevent multiple threads from accessing the updating...">lockingMutex</a>.unlock();
<a name="l00168"></a>00168     }
<a name="l00169"></a>00169     
<a name="l00170"></a>00170   } <span class="comment">//end while(true)</span>
<a name="l00171"></a>00171 }
</pre></div></p>

</div>
</div>
<a class="anchor" id="a29affa3f16c4b04522de227d68ac2450"></a><!-- doxytag: member="GeneratePreviewThread::start" ref="a29affa3f16c4b04522de227d68ac2450" args="(QString filename)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void GeneratePreviewThread::start </td>
          <td>(</td>
          <td class="paramtype">QString&nbsp;</td>
          <td class="paramname"> <em>filename</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="addPhotosDialog_8cpp_source.html#l00072">72</a> of file <a class="el" href="addPhotosDialog_8cpp_source.html">addPhotosDialog.cpp</a>.</p>

<p>References <a class="el" href="addPhotosDialog_8h_source.html#l00052">lockingMutex</a>, <a class="el" href="addPhotosDialog_8h_source.html#l00048">queue</a>, and <a class="el" href="addPhotosDialog_8h_source.html#l00045">updating</a>.</p>

<p>Referenced by <a class="el" href="addPhotosDialog_8cpp_source.html#l00226">FilePreview::updatePreview()</a>.</p>

<p><div class="fragment"><pre class="fragment"><a name="l00073"></a>00073 {
<a name="l00074"></a>00074   <span class="comment">//get lock</span>
<a name="l00075"></a>00075   <a class="code" href="classGeneratePreviewThread.html#a6611d14aeaa6173cc6e256a817865984" title="locking mutex - necessary to prevent multiple threads from accessing the updating...">lockingMutex</a>.lock();
<a name="l00076"></a>00076   
<a name="l00077"></a>00077   <span class="comment">//if currently animating then append job to queue</span>
<a name="l00078"></a>00078   <span class="keywordflow">if</span>(<a class="code" href="classGeneratePreviewThread.html#a4809be79bf9c1c67561868fbcc88fd1f" title="is the worker thread currently generating a file preview?">updating</a>)
<a name="l00079"></a>00079   {
<a name="l00080"></a>00080     <a class="code" href="classGeneratePreviewThread.html#ad7505a7bf8e25d9208d96ddb51f5ca65" title="next file to be processed by worker thread">queue</a> = <a class="code" href="classGeneratePreviewThread.html#acd55c605c796212412940d4988f4253a" title="current file being processed">filename</a>;
<a name="l00081"></a>00081     <a class="code" href="classGeneratePreviewThread.html#a6611d14aeaa6173cc6e256a817865984" title="locking mutex - necessary to prevent multiple threads from accessing the updating...">lockingMutex</a>.unlock();
<a name="l00082"></a>00082     <span class="keywordflow">return</span>; 
<a name="l00083"></a>00083   }
<a name="l00084"></a>00084   <span class="comment">//else set animating to true, actually initiate job</span>
<a name="l00085"></a>00085   <span class="keywordflow">else</span>
<a name="l00086"></a>00086   {
<a name="l00087"></a>00087     <a class="code" href="classGeneratePreviewThread.html#a4809be79bf9c1c67561868fbcc88fd1f" title="is the worker thread currently generating a file preview?">updating</a> = <span class="keyword">true</span>;
<a name="l00088"></a>00088     this-&gt;<a class="code" href="classGeneratePreviewThread.html#acd55c605c796212412940d4988f4253a" title="current file being processed">filename</a> = <a class="code" href="classGeneratePreviewThread.html#acd55c605c796212412940d4988f4253a" title="current file being processed">filename</a>;
<a name="l00089"></a>00089     <a class="code" href="classGeneratePreviewThread.html#a6611d14aeaa6173cc6e256a817865984" title="locking mutex - necessary to prevent multiple threads from accessing the updating...">lockingMutex</a>.unlock();
<a name="l00090"></a>00090     <a class="code" href="classGeneratePreviewThread.html#a29affa3f16c4b04522de227d68ac2450">QThread::start</a>();
<a name="l00091"></a>00091   }
<a name="l00092"></a>00092 }
</pre></div></p>

</div>
</div>
<hr/><h2>Member Data Documentation</h2>
<a class="anchor" id="acd55c605c796212412940d4988f4253a"></a><!-- doxytag: member="GeneratePreviewThread::filename" ref="acd55c605c796212412940d4988f4253a" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">QString <a class="el" href="classGeneratePreviewThread.html#acd55c605c796212412940d4988f4253a">GeneratePreviewThread::filename</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>current file being processed </p>

<p>Definition at line <a class="el" href="addPhotosDialog_8h_source.html#l00038">38</a> of file <a class="el" href="addPhotosDialog_8h_source.html">addPhotosDialog.h</a>.</p>

<p>Referenced by <a class="el" href="addPhotosDialog_8cpp_source.html#l00094">run()</a>.</p>

</div>
</div>
<a class="anchor" id="a6611d14aeaa6173cc6e256a817865984"></a><!-- doxytag: member="GeneratePreviewThread::lockingMutex" ref="a6611d14aeaa6173cc6e256a817865984" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">QMutex <a class="el" href="classGeneratePreviewThread.html#a6611d14aeaa6173cc6e256a817865984">GeneratePreviewThread::lockingMutex</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>locking mutex - necessary to prevent multiple threads from accessing the updating bool or queue variable simultaniously </p>

<p>Definition at line <a class="el" href="addPhotosDialog_8h_source.html#l00052">52</a> of file <a class="el" href="addPhotosDialog_8h_source.html">addPhotosDialog.h</a>.</p>

<p>Referenced by <a class="el" href="addPhotosDialog_8cpp_source.html#l00094">run()</a>, and <a class="el" href="addPhotosDialog_8cpp_source.html#l00072">start()</a>.</p>

</div>
</div>
<a class="anchor" id="acced915beb70c76416f0518aea250104"></a><!-- doxytag: member="GeneratePreviewThread::previewWidget" ref="acced915beb70c76416f0518aea250104" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classFilePreview.html">FilePreview</a>* <a class="el" href="classGeneratePreviewThread.html#acced915beb70c76416f0518aea250104">GeneratePreviewThread::previewWidget</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>handle on preview widget necessary for posting an update event once the current file has been processed </p>

<p>Definition at line <a class="el" href="addPhotosDialog_8h_source.html#l00042">42</a> of file <a class="el" href="addPhotosDialog_8h_source.html">addPhotosDialog.h</a>.</p>

<p>Referenced by <a class="el" href="addPhotosDialog_8cpp_source.html#l00094">run()</a>.</p>

</div>
</div>
<a class="anchor" id="ad7505a7bf8e25d9208d96ddb51f5ca65"></a><!-- doxytag: member="GeneratePreviewThread::queue" ref="ad7505a7bf8e25d9208d96ddb51f5ca65" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">QString <a class="el" href="classGeneratePreviewThread.html#ad7505a7bf8e25d9208d96ddb51f5ca65">GeneratePreviewThread::queue</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>next file to be processed by worker thread </p>

<p>Definition at line <a class="el" href="addPhotosDialog_8h_source.html#l00048">48</a> of file <a class="el" href="addPhotosDialog_8h_source.html">addPhotosDialog.h</a>.</p>

<p>Referenced by <a class="el" href="addPhotosDialog_8cpp_source.html#l00060">GeneratePreviewThread()</a>, <a class="el" href="addPhotosDialog_8cpp_source.html#l00094">run()</a>, and <a class="el" href="addPhotosDialog_8cpp_source.html#l00072">start()</a>.</p>

</div>
</div>
<a class="anchor" id="a4809be79bf9c1c67561868fbcc88fd1f"></a><!-- doxytag: member="GeneratePreviewThread::updating" ref="a4809be79bf9c1c67561868fbcc88fd1f" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classGeneratePreviewThread.html#a4809be79bf9c1c67561868fbcc88fd1f">GeneratePreviewThread::updating</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>is the worker thread currently generating a file preview? </p>

<p>Definition at line <a class="el" href="addPhotosDialog_8h_source.html#l00045">45</a> of file <a class="el" href="addPhotosDialog_8h_source.html">addPhotosDialog.h</a>.</p>

<p>Referenced by <a class="el" href="addPhotosDialog_8cpp_source.html#l00060">GeneratePreviewThread()</a>, <a class="el" href="addPhotosDialog_8cpp_source.html#l00094">run()</a>, and <a class="el" href="addPhotosDialog_8cpp_source.html#l00072">start()</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="addPhotosDialog_8h_source.html">addPhotosDialog.h</a></li>
<li><a class="el" href="addPhotosDialog_8cpp_source.html">addPhotosDialog.cpp</a></li>
</ul>
</div>
<hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
</body>
</html>