Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Class Members | File Members

framing.cpp

Go to the documentation of this file.
00001 //==============================================
00002 //  copyright            : (C) 2003-2005 by Will Stokes
00003 //==============================================
00004 //  This program is free software; you can redistribute it
00005 //  and/or modify it under the terms of the GNU General
00006 //  Public License as published by the Free Software
00007 //  Foundation; either version 2 of the License, or
00008 //  (at your option) any later version.
00009 //==============================================
00010 
00011 //Systemwide includes
00012 #include <qfile.h>
00013 #include <qtextstream.h>
00014 #include <qstringlist.h>
00015 #include <qnamespace.h>
00016 #include <qkeysequence.h>
00017 
00018 //Projectwide includes
00019 #include "framing.h"
00020 #include "helpWindow.h"
00021 #include "../../config.h"
00022 
00023 //==============================================
00024 QString Framing::filename()
00025 {
00026   return QString("%1/framing.html").arg(TEMP_DIR);
00027 }
00028 //==============================================
00029 void Framing::generateHTML(QTextStream::Encoding type, QString charSet)
00030 {
00031   QString ctrlKey;
00032 #if defined(Q_OS_MACX)
00033   ctrlKey = "Command";
00034 #else
00035   ctrlKey = "Ctrl";
00036 #endif
00037   
00038   //create/open html file
00039   QFile file( filename() );
00040   if(file.open(IO_WriteOnly))
00041   {
00042     //-----
00043     QTextStream stream;
00044     stream.setEncoding( type );
00045     stream.setDevice( &file );
00046     //-----
00047     stream << "<html><head>\n";
00048     stream << "<meta http-equiv='Content-Type' content='text/html; charset=" << charSet << "'>\n";
00049     stream << "</head><body>\n";
00050     stream << "<table cellpadding='4'><tr>\n";
00051     stream << "<td><img src='" << IMAGE_PATH << "helpImages/asHelpLogoSmall.png'></td>\n";
00052     stream << "<td valign='middle'><font face='Arial, sans-serif' size='+3'>";
00053     stream << HelpWindow::tr("Framing") << "</font></td>\n";
00054     stream << "</tr></table>\n";
00055 
00056     stream << "<font face='Arial, sans-serif'>\n";
00057     stream << "<table cellspacing='10' cellpadding='0'><tr><td>\n";
00058     
00059     stream << "<table width='100%' cellpadding='4' cellspacing='0'><tr><td bgcolor='lightgray'>\n";
00060     stream << "<font size='+1'><b>" << HelpWindow::tr("Batch Effects:") << "</b></font>\n";
00061     stream << "</td></tr></table>\n";
00062  
00063     stream << "<p align='justify'>\n";
00064     stream << HelpWindow::tr("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 <font color='red'>Rotate Right</font> or <font color='red'>Rotate Left</font> 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 <font color='red'>Edit</font> tab to use additional framing tools.") << "\n";
00065     
00066     stream << "</td></tr><tr><td>\n";
00067 
00068     stream << "<table width='100%' cellpadding='4' cellspacing='0'><tr><td bgcolor='lightgray'>\n";
00069     stream << "<font size='+1'><b>" << HelpWindow::tr("Rotating & Flipping:") << "</b></font>\n";
00070     stream << "</td></tr></table>\n";
00071     
00072     stream << "<table cellpadding='4' cellspacing='0'><tr><td valign='middle'>\n";
00073     stream << "<p align='justify'>\n";
00074     stream << HelpWindow::tr("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.") << "\n";
00075     stream << "</td><td valign='middle'>\n";
00076     stream << "<img src='" << IMAGE_PATH << "helpImages/frameControls.png'>\n";
00077     stream << "</td></tr></table>\n";
00078     
00079     stream << "</td></tr><tr><td>\n";
00080     
00081     stream << "<table width='100%' cellpadding='4' cellspacing='0'><tr><td bgcolor='lightgray'>\n";
00082     stream << "<font size='+1'><b>" << HelpWindow::tr("Tilt Correction:") << "</b></font>\n";
00083     stream << "</td></tr></table>\n";
00084     
00085     stream << "<table cellpadding='4' cellspacing='0'><tr><td valign='middle'>\n";
00086     stream << "<img src='" << IMAGE_PATH << "helpImages/tiltCorrection.png'>\n";
00087     stream << "</td><td valign='middle'>\n";
00088     stream << "<p align='justify'>\n";
00089     stream << HelpWindow::tr("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.") << "\n";
00090     stream << "</td></tr></table>\n";
00091     
00092     stream << "</td></tr><tr><td>\n";
00093     
00094     stream << "<table width='100%' cellpadding='4' cellspacing='0'><tr><td bgcolor='lightgray'>\n";
00095     stream << "<font size='+1'><b>" << HelpWindow::tr("Cropping:") << "</b></font>\n";
00096     stream << "</td></tr></table>\n";
00097     
00098     stream << "<table cellpadding='4' cellspacing='0'><tr><td valign='middle'>\n";
00099     stream << "<p align='justify'>\n";
00100     stream << HelpWindow::tr("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 <font color='red'>crop</font> button.") << "\n";
00101     stream << "</td><td valign='middle'>\n";
00102     stream << "<img src='" << IMAGE_PATH << "helpImages/cropping5x7.png'>\n";
00103     stream << "</td></tr></table>\n";
00104     
00105     stream << "</td></tr><tr><td>\n";
00106     
00107     stream << "<table cellpadding='4' cellspacing='0'><tr><td valign='middle'>\n";
00108     stream << "<img src='" << IMAGE_PATH << "helpImages/dpiWarning.png'>\n";
00109     stream << "</td><td valign='middle'>\n";
00110     stream << "<p align='justify'>\n";
00111     stream << HelpWindow::tr("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.") << "\n";
00112     stream << "</td></tr></table>\n";
00113     
00114     stream << "</td></tr><tr><td>\n";
00115     
00116     stream << "<table cellpadding='4' cellspacing='0'><tr><td valign='middle'>\n";
00117     stream << "<p align='justify'>\n";
00118     stream << HelpWindow::tr("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.") << "\n";
00119     stream << "<p>\n";
00120     stream << QString(HelpWindow::tr("To rotate the selected region about its center, hold %1 and click the selected region.")).arg(ctrlKey) << "\n";
00121     stream << "</td><td valign='middle'>\n";
00122     stream << "<img src='" << IMAGE_PATH << "helpImages/customRotate.png'>\n";
00123     stream << "</td></tr></table>\n";
00124     
00125     stream << "</font>\n";
00126     stream << "</body></html>\n";
00127     file.close();
00128   }
00129 }
00130 //==============================================

Generated on Mon Apr 11 18:27:46 2005 for AlbumShaper by  doxygen 1.3.9.1