Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > 4f45e7bdfd4a5ff17f5f8eaab90d017f > files > 1024

albumshaper-2.1-6mdv2010.0.i586.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>AlbumShaper: framing.cpp Source File</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.5.9 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
      <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
    </ul>
  </div>
<h1>framing.cpp</h1><a href="framing_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">//==============================================</span>
<a name="l00002"></a>00002 <span class="comment">//  copyright            : (C) 2003-2005 by Will Stokes</span>
<a name="l00003"></a>00003 <span class="comment">//==============================================</span>
<a name="l00004"></a>00004 <span class="comment">//  This program is free software; you can redistribute it</span>
<a name="l00005"></a>00005 <span class="comment">//  and/or modify it under the terms of the GNU General</span>
<a name="l00006"></a>00006 <span class="comment">//  Public License as published by the Free Software</span>
<a name="l00007"></a>00007 <span class="comment">//  Foundation; either version 2 of the License, or</span>
<a name="l00008"></a>00008 <span class="comment">//  (at your option) any later version.</span>
<a name="l00009"></a>00009 <span class="comment">//==============================================</span>
<a name="l00010"></a>00010 
<a name="l00011"></a>00011 <span class="comment">//Systemwide includes</span>
<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;qfile.h&gt;</span>
<a name="l00013"></a>00013 <span class="preprocessor">#include &lt;qtextstream.h&gt;</span>
<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;qstringlist.h&gt;</span>
<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;qnamespace.h&gt;</span>
<a name="l00016"></a>00016 <span class="preprocessor">#include &lt;qkeysequence.h&gt;</span>
<a name="l00017"></a>00017 
<a name="l00018"></a>00018 <span class="comment">//Projectwide includes</span>
<a name="l00019"></a>00019 <span class="preprocessor">#include "<a class="code" href="framing_8h.html">framing.h</a>"</span>
<a name="l00020"></a>00020 <span class="preprocessor">#include "<a class="code" href="helpWindow_8h.html">helpWindow.h</a>"</span>
<a name="l00021"></a>00021 <span class="preprocessor">#include "../../config.h"</span>
<a name="l00022"></a>00022 
<a name="l00023"></a>00023 <span class="comment">//==============================================</span>
<a name="l00024"></a><a class="code" href="classFraming.html#876d3548f79d8a169bfbb1a25848fcf8">00024</a> QString <a class="code" href="classFraming.html#876d3548f79d8a169bfbb1a25848fcf8" title="returns the html filename">Framing::filename</a>()
<a name="l00025"></a>00025 {
<a name="l00026"></a>00026   <span class="keywordflow">return</span> QString(<span class="stringliteral">"%1/framing.html"</span>).arg(<a class="code" href="config_8cpp.html#8e603096352908a187b5364096a8d581">TEMP_DIR</a>);
<a name="l00027"></a>00027 }
<a name="l00028"></a>00028 <span class="comment">//==============================================</span>
<a name="l00029"></a><a class="code" href="classFraming.html#be4d2bb35e028658f65f2235a5df28f1">00029</a> <span class="keywordtype">void</span> <a class="code" href="classFraming.html#be4d2bb35e028658f65f2235a5df28f1" title="generates the html file">Framing::generateHTML</a>(QTextStream::Encoding type, QString charSet)
<a name="l00030"></a>00030 {
<a name="l00031"></a>00031   QString ctrlKey;
<a name="l00032"></a>00032 <span class="preprocessor">#if defined(Q_OS_MACX)</span>
<a name="l00033"></a>00033 <span class="preprocessor"></span>  ctrlKey = <span class="stringliteral">"Command"</span>;
<a name="l00034"></a>00034 <span class="preprocessor">#else</span>
<a name="l00035"></a>00035 <span class="preprocessor"></span>  ctrlKey = <span class="stringliteral">"Ctrl"</span>;
<a name="l00036"></a>00036 <span class="preprocessor">#endif</span>
<a name="l00037"></a>00037 <span class="preprocessor"></span>  
<a name="l00038"></a>00038   <span class="comment">//create/open html file</span>
<a name="l00039"></a>00039   QFile file( <a class="code" href="classFraming.html#876d3548f79d8a169bfbb1a25848fcf8" title="returns the html filename">filename</a>() );
<a name="l00040"></a>00040   <span class="keywordflow">if</span>(file.open(IO_WriteOnly))
<a name="l00041"></a>00041   {
<a name="l00042"></a>00042     <span class="comment">//-----</span>
<a name="l00043"></a>00043     QTextStream stream;
<a name="l00044"></a>00044     stream.setEncoding( type );
<a name="l00045"></a>00045     stream.setDevice( &amp;file );
<a name="l00046"></a>00046     <span class="comment">//-----</span>
<a name="l00047"></a>00047     stream &lt;&lt; <span class="stringliteral">"&lt;html&gt;&lt;head&gt;\n"</span>;
<a name="l00048"></a>00048     stream &lt;&lt; <span class="stringliteral">"&lt;meta http-equiv='Content-Type' content='text/html; charset="</span> &lt;&lt; charSet &lt;&lt; <span class="stringliteral">"'&gt;\n"</span>;
<a name="l00049"></a>00049     stream &lt;&lt; <span class="stringliteral">"&lt;/head&gt;&lt;body&gt;\n"</span>;
<a name="l00050"></a>00050     stream &lt;&lt; <span class="stringliteral">"&lt;table cellpadding='4'&gt;&lt;tr&gt;\n"</span>;
<a name="l00051"></a>00051     stream &lt;&lt; <span class="stringliteral">"&lt;td&gt;&lt;img src='"</span> &lt;&lt; <a class="code" href="config_8cpp.html#59e02362a9a29a755712dc830a3eb513">IMAGE_PATH</a> &lt;&lt; <span class="stringliteral">"helpImages/asHelpLogoSmall.png'&gt;&lt;/td&gt;\n"</span>;
<a name="l00052"></a>00052     stream &lt;&lt; <span class="stringliteral">"&lt;td valign='middle'&gt;&lt;font face='Arial, sans-serif' size='+3'&gt;"</span>;
<a name="l00053"></a>00053     stream &lt;&lt; HelpWindow::tr(<span class="stringliteral">"Framing"</span>) &lt;&lt; <span class="stringliteral">"&lt;/font&gt;&lt;/td&gt;\n"</span>;
<a name="l00054"></a>00054     stream &lt;&lt; <span class="stringliteral">"&lt;/tr&gt;&lt;/table&gt;\n"</span>;
<a name="l00055"></a>00055 
<a name="l00056"></a>00056     stream &lt;&lt; <span class="stringliteral">"&lt;font face='Arial, sans-serif'&gt;\n"</span>;
<a name="l00057"></a>00057     stream &lt;&lt; <span class="stringliteral">"&lt;table cellspacing='10' cellpadding='0'&gt;&lt;tr&gt;&lt;td&gt;\n"</span>;
<a name="l00058"></a>00058     
<a name="l00059"></a>00059     stream &lt;&lt; <span class="stringliteral">"&lt;table width='100%' cellpadding='4' cellspacing='0'&gt;&lt;tr&gt;&lt;td bgcolor='lightgray'&gt;\n"</span>;
<a name="l00060"></a>00060     stream &lt;&lt; <span class="stringliteral">"&lt;font size='+1'&gt;&lt;b&gt;"</span> &lt;&lt; HelpWindow::tr(<span class="stringliteral">"Batch Effects:"</span>) &lt;&lt; <span class="stringliteral">"&lt;/b&gt;&lt;/font&gt;\n"</span>;
<a name="l00061"></a>00061     stream &lt;&lt; <span class="stringliteral">"&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;\n"</span>;
<a name="l00062"></a>00062  
<a name="l00063"></a>00063     stream &lt;&lt; <span class="stringliteral">"&lt;p align='justify'&gt;\n"</span>;
<a name="l00064"></a>00064     stream &lt;&lt; HelpWindow::tr(<span class="stringliteral">"Album Shaper makes rotating your pictures a snap; in fact, you can rotate multiple pictures at once! Select one or more photos in a collection and click the &lt;font color='red'&gt;Rotate Right&lt;/font&gt; or &lt;font color='red'&gt;Rotate Left&lt;/font&gt; button. If you scanned a negative backwards and need a quick flip, or if you took that photo that is a little tilted, double click the photo or select it and switch to the &lt;font color='red'&gt;Edit&lt;/font&gt; tab to use additional framing tools."</span>) &lt;&lt; <span class="stringliteral">"\n"</span>;
<a name="l00065"></a>00065     
<a name="l00066"></a>00066     stream &lt;&lt; <span class="stringliteral">"&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;\n"</span>;
<a name="l00067"></a>00067 
<a name="l00068"></a>00068     stream &lt;&lt; <span class="stringliteral">"&lt;table width='100%' cellpadding='4' cellspacing='0'&gt;&lt;tr&gt;&lt;td bgcolor='lightgray'&gt;\n"</span>;
<a name="l00069"></a>00069     stream &lt;&lt; <span class="stringliteral">"&lt;font size='+1'&gt;&lt;b&gt;"</span> &lt;&lt; HelpWindow::tr(<span class="stringliteral">"Rotating &amp; Flipping:"</span>) &lt;&lt; <span class="stringliteral">"&lt;/b&gt;&lt;/font&gt;\n"</span>;
<a name="l00070"></a>00070     stream &lt;&lt; <span class="stringliteral">"&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;\n"</span>;
<a name="l00071"></a>00071     
<a name="l00072"></a>00072     stream &lt;&lt; <span class="stringliteral">"&lt;table cellpadding='4' cellspacing='0'&gt;&lt;tr&gt;&lt;td valign='middle'&gt;\n"</span>;
<a name="l00073"></a>00073     stream &lt;&lt; <span class="stringliteral">"&lt;p align='justify'&gt;\n"</span>;
<a name="l00074"></a>00074     stream &lt;&lt; HelpWindow::tr(<span class="stringliteral">"Using the framing controls found at the bottom left of the photo editor, you can rotate, correct tilt, flip, and crop your photos. Rotate and flip operations require a single click."</span>) &lt;&lt; <span class="stringliteral">"\n"</span>;
<a name="l00075"></a>00075     stream &lt;&lt; <span class="stringliteral">"&lt;/td&gt;&lt;td valign='middle'&gt;\n"</span>;
<a name="l00076"></a>00076     stream &lt;&lt; <span class="stringliteral">"&lt;img src='"</span> &lt;&lt; IMAGE_PATH &lt;&lt; <span class="stringliteral">"helpImages/frameControls.png'&gt;\n"</span>;
<a name="l00077"></a>00077     stream &lt;&lt; <span class="stringliteral">"&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;\n"</span>;
<a name="l00078"></a>00078     
<a name="l00079"></a>00079     stream &lt;&lt; <span class="stringliteral">"&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;\n"</span>;
<a name="l00080"></a>00080     
<a name="l00081"></a>00081     stream &lt;&lt; <span class="stringliteral">"&lt;table width='100%' cellpadding='4' cellspacing='0'&gt;&lt;tr&gt;&lt;td bgcolor='lightgray'&gt;\n"</span>;
<a name="l00082"></a>00082     stream &lt;&lt; <span class="stringliteral">"&lt;font size='+1'&gt;&lt;b&gt;"</span> &lt;&lt; HelpWindow::tr(<span class="stringliteral">"Tilt Correction:"</span>) &lt;&lt; <span class="stringliteral">"&lt;/b&gt;&lt;/font&gt;\n"</span>;
<a name="l00083"></a>00083     stream &lt;&lt; <span class="stringliteral">"&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;\n"</span>;
<a name="l00084"></a>00084     
<a name="l00085"></a>00085     stream &lt;&lt; <span class="stringliteral">"&lt;table cellpadding='4' cellspacing='0'&gt;&lt;tr&gt;&lt;td valign='middle'&gt;\n"</span>;
<a name="l00086"></a>00086     stream &lt;&lt; <span class="stringliteral">"&lt;img src='"</span> &lt;&lt; IMAGE_PATH &lt;&lt; <span class="stringliteral">"helpImages/tiltCorrection.png'&gt;\n"</span>;
<a name="l00087"></a>00087     stream &lt;&lt; <span class="stringliteral">"&lt;/td&gt;&lt;td valign='middle'&gt;\n"</span>;
<a name="l00088"></a>00088     stream &lt;&lt; <span class="stringliteral">"&lt;p align='justify'&gt;\n"</span>;
<a name="l00089"></a>00089     stream &lt;&lt; HelpWindow::tr(<span class="stringliteral">"You can correct tilt in images by identifying what should be a vertical or horizontal edge. Click the green tilt correction button, then click two places along what should be a vertical or horizontal edge. Album Shaper takes cares of the rest, figuring out how many degrees to rotate your image for you."</span>) &lt;&lt; <span class="stringliteral">"\n"</span>;
<a name="l00090"></a>00090     stream &lt;&lt; <span class="stringliteral">"&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;\n"</span>;
<a name="l00091"></a>00091     
<a name="l00092"></a>00092     stream &lt;&lt; <span class="stringliteral">"&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;\n"</span>;
<a name="l00093"></a>00093     
<a name="l00094"></a>00094     stream &lt;&lt; <span class="stringliteral">"&lt;table width='100%' cellpadding='4' cellspacing='0'&gt;&lt;tr&gt;&lt;td bgcolor='lightgray'&gt;\n"</span>;
<a name="l00095"></a>00095     stream &lt;&lt; <span class="stringliteral">"&lt;font size='+1'&gt;&lt;b&gt;"</span> &lt;&lt; HelpWindow::tr(<span class="stringliteral">"Cropping:"</span>) &lt;&lt; <span class="stringliteral">"&lt;/b&gt;&lt;/font&gt;\n"</span>;
<a name="l00096"></a>00096     stream &lt;&lt; <span class="stringliteral">"&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;\n"</span>;
<a name="l00097"></a>00097     
<a name="l00098"></a>00098     stream &lt;&lt; <span class="stringliteral">"&lt;table cellpadding='4' cellspacing='0'&gt;&lt;tr&gt;&lt;td valign='middle'&gt;\n"</span>;
<a name="l00099"></a>00099     stream &lt;&lt; <span class="stringliteral">"&lt;p align='justify'&gt;\n"</span>;
<a name="l00100"></a>00100     stream &lt;&lt; HelpWindow::tr(<span class="stringliteral">"Cropping to preset size is easy. First, select the dimensions you are interested in from the aspect ratio menu. The largest portion of the photo that matches that size is automatically selected. Simply click and drag to move the selected region. You can scale the selection by holding Shift and clicking and dragging right and left to expand or shrink the selection about its center. To crop to the selected region, click the &lt;font color='red'&gt;crop&lt;/font&gt; button."</span>) &lt;&lt; <span class="stringliteral">"\n"</span>;
<a name="l00101"></a>00101     stream &lt;&lt; <span class="stringliteral">"&lt;/td&gt;&lt;td valign='middle'&gt;\n"</span>;
<a name="l00102"></a>00102     stream &lt;&lt; <span class="stringliteral">"&lt;img src='"</span> &lt;&lt; IMAGE_PATH &lt;&lt; <span class="stringliteral">"helpImages/cropping5x7.png'&gt;\n"</span>;
<a name="l00103"></a>00103     stream &lt;&lt; <span class="stringliteral">"&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;\n"</span>;
<a name="l00104"></a>00104     
<a name="l00105"></a>00105     stream &lt;&lt; <span class="stringliteral">"&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;\n"</span>;
<a name="l00106"></a>00106     
<a name="l00107"></a>00107     stream &lt;&lt; <span class="stringliteral">"&lt;table cellpadding='4' cellspacing='0'&gt;&lt;tr&gt;&lt;td valign='middle'&gt;\n"</span>;
<a name="l00108"></a>00108     stream &lt;&lt; <span class="stringliteral">"&lt;img src='"</span> &lt;&lt; IMAGE_PATH &lt;&lt; <span class="stringliteral">"helpImages/dpiWarning.png'&gt;\n"</span>;
<a name="l00109"></a>00109     stream &lt;&lt; <span class="stringliteral">"&lt;/td&gt;&lt;td valign='middle'&gt;\n"</span>;
<a name="l00110"></a>00110     stream &lt;&lt; <span class="stringliteral">"&lt;p align='justify'&gt;\n"</span>;
<a name="l00111"></a>00111     stream &lt;&lt; HelpWindow::tr(<span class="stringliteral">"Album Shaper takes the difficulties out of cropping and printing your photos. If you crop too small, you will get lower quality prints. If Album Shaper knows the dimensions you want, it passively lets you know if you are cropping too small by changing the color of the selection rectangle. If the selection rectangle turns red, you know the quality of your print will be lower. In such situations the target DPI (dots per inch) is printed next to the selected resolution."</span>) &lt;&lt; <span class="stringliteral">"\n"</span>;
<a name="l00112"></a>00112     stream &lt;&lt; <span class="stringliteral">"&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;\n"</span>;
<a name="l00113"></a>00113     
<a name="l00114"></a>00114     stream &lt;&lt; <span class="stringliteral">"&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;\n"</span>;
<a name="l00115"></a>00115     
<a name="l00116"></a>00116     stream &lt;&lt; <span class="stringliteral">"&lt;table cellpadding='4' cellspacing='0'&gt;&lt;tr&gt;&lt;td valign='middle'&gt;\n"</span>;
<a name="l00117"></a>00117     stream &lt;&lt; <span class="stringliteral">"&lt;p align='justify'&gt;\n"</span>;
<a name="l00118"></a>00118     stream &lt;&lt; HelpWindow::tr(<span class="stringliteral">"In addition to cropping to standard print sizes, you can crop images to your current display resolution for creating desktop wallpapers, or even crop to a custom size by clicking and dragging out a selection. You can adjust the corners and edges of the selection independently by clicking and dragging as well."</span>) &lt;&lt; <span class="stringliteral">"\n"</span>;
<a name="l00119"></a>00119     stream &lt;&lt; <span class="stringliteral">"&lt;p&gt;\n"</span>;
<a name="l00120"></a>00120     stream &lt;&lt; QString(HelpWindow::tr(<span class="stringliteral">"To rotate the selected region about its center, hold %1 and click the selected region."</span>)).arg(ctrlKey) &lt;&lt; <span class="stringliteral">"\n"</span>;
<a name="l00121"></a>00121     stream &lt;&lt; <span class="stringliteral">"&lt;/td&gt;&lt;td valign='middle'&gt;\n"</span>;
<a name="l00122"></a>00122     stream &lt;&lt; <span class="stringliteral">"&lt;img src='"</span> &lt;&lt; IMAGE_PATH &lt;&lt; <span class="stringliteral">"helpImages/customRotate.png'&gt;\n"</span>;
<a name="l00123"></a>00123     stream &lt;&lt; <span class="stringliteral">"&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;\n"</span>;
<a name="l00124"></a>00124     
<a name="l00125"></a>00125     stream &lt;&lt; <span class="stringliteral">"&lt;/font&gt;\n"</span>;
<a name="l00126"></a>00126     stream &lt;&lt; <span class="stringliteral">"&lt;/body&gt;&lt;/html&gt;\n"</span>;
<a name="l00127"></a>00127     file.close();
<a name="l00128"></a>00128   }
<a name="l00129"></a>00129 }
<a name="l00130"></a>00130 <span class="comment">//==============================================</span>
</pre></div></div>
<hr size="1"><address style="text-align: right;"><small>Generated on Sun Aug 23 02:34:25 2009 for AlbumShaper by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
</body>
</html>