00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #include <qfile.h>
00013 #include <qtextstream.h>
00014 #include <qstringlist.h>
00015 #include <qnamespace.h>
00016 #include <qkeysequence.h>
00017
00018
00019 #include "annotating.h"
00020 #include "helpWindow.h"
00021 #include "../../config.h"
00022
00023
00024 QString Annotating::filename()
00025 {
00026 return QString("%1/annotating.html").arg(TEMP_DIR);
00027 }
00028
00029 void Annotating::generateHTML(QTextStream::Encoding type, QString charSet)
00030 {
00031
00032 QFile file( filename() );
00033 if(file.open(IO_WriteOnly))
00034 {
00035
00036 QTextStream stream;
00037 stream.setEncoding( type );
00038 stream.setDevice( &file );
00039
00040 stream << "<html><head>\n";
00041 stream << "<meta http-equiv='Content-Type' content='text/html; charset=" << charSet << "'>\n";
00042 stream << "</head><body>\n";
00043 stream << "<table cellpadding='4'><tr>\n";
00044 stream << "<td><img src='" << IMAGE_PATH << "helpImages/asHelpLogoSmall.png'></td>\n";
00045 stream << "<td valign='middle'><font face='Arial, sans-serif' size='+3'>";
00046 stream << HelpWindow::tr("Annotating Albums") << "</font></td>\n";
00047 stream << "</tr></table>\n";
00048
00049 stream << "<font face='Arial, sans-serif'>\n";
00050 stream << "<table cellspacing='10' cellpadding='0'><tr><td>\n";
00051
00052 stream << " <table width='100%' cellpadding='4' cellspacing='0'><tr><td bgcolor='lightgray'>\n";
00053 stream << " <font size='+1'><b>" << HelpWindow::tr("Labeling Photos:") <<"</b></font>\n";
00054 stream << " </td></tr></table>\n";
00055
00056 stream << "<table cellpadding='4' cellspacing='0'><tr><td valign='middle'>\n";
00057 stream << " <p align='justify'>\n";
00058 stream << HelpWindow::tr("Labeling photos is easy in Album Shaper! Hover over a picture and click the little info button that appears in the lower right corner. The photo will expand to give you a better view and provide space for writing the caption. When you're done, click elsewhere in the collection, or just hit Escape. Alternatively, you can just use the keyboard. The arrow keys will move the current selection. Enter expands the currently selected photo to edit its caption. Escape applies the photo caption and returns to organizing.");
00059
00060 stream << "</td><td valign='middle'>\n";
00061 stream << " <img src='" << IMAGE_PATH << "helpImages/settingPhotoDescription.png'>\n";
00062 stream << "</td></tr></table>\n";
00063
00064 stream << " <p align='justify'>\n";
00065 stream << HelpWindow::tr("Album Shaper provides a number of tools that operate on multiple photos at once. If you want to remove a number of photos descriptions at once, select which photos you intend to affect, and select <font color='red'>Photos → Remove Description</font>.");
00066
00067
00068 stream << "</td></tr><tr><td>\n";
00069
00070
00071 stream << " <table width='100%' cellpadding='4' cellspacing='0'><tr><td bgcolor='lightgray'>\n";
00072 stream << " <font size='+1'><b>" << HelpWindow::tr("Album and Collection Information:") << "</b></font>\n";
00073
00074 stream << " </td></tr></table>\n";
00075 stream << "<table cellpadding='4' cellspacing='0'><tr><td valign='middle'>\n";
00076 stream << " <img src='" << IMAGE_PATH << "helpImages/albumInfo.png'>\n";
00077 stream << "</td><td valign='middle'>\n";
00078 stream << " <p align='justify'>\n";
00079
00080 stream << HelpWindow::tr("At the top left your album's name, description, and author can be specified.");
00081
00082 stream << "</td></tr></table>\n";
00083
00084
00085 stream << "</td></tr><tr><td>\n";
00086
00087
00088 stream << "<table cellpadding='4' cellspacing='0'><tr><td valign='middle'>\n";
00089 stream << " <p align='justify'>\n";
00090 stream << HelpWindow::tr("To modify a collection's information, first select the collection within the collections listing on the left, then fill in its name and description at the top right.");
00091 stream << "</td><td valign='middle'>\n";
00092 stream << " <img src='" << IMAGE_PATH << "helpImages/collectionInfo.png'>\n";
00093 stream << "</td></tr></table>\n";
00094
00095
00096 stream << "</td></tr><tr><td>\n";
00097
00098 stream << " <table width='100%' cellpadding='4' cellspacing='0'><tr><td bgcolor='lightgray'>\n";
00099 stream << " <font size='+1'><b>" << HelpWindow::tr("Cover Images:") << "</b></font>\n";
00100 stream << " </td></tr></table>\n";
00101
00102 stream << "<table cellpadding='4' cellspacing='0'><tr><td valign='middle'>\n";
00103 stream << " <img src='" << IMAGE_PATH << "helpImages/setRepImage.png'>\n";
00104 stream << "</td><td valign='middle'>\n";
00105 stream << " <p align='justify'>\n";
00106
00107 stream << HelpWindow::tr("It is easier to distinguish between albums and collections using images rather than text, and Album Shaper allows you to do that by setting album and collection cover images.");
00108
00109 stream << "<p align='justify'>\n";
00110
00111 stream << HelpWindow::tr("To use a photo to represent your album, drag and drop it to the left of the album name, description, and author fields. A small version of the photo should slide in from the left, and will be used when creating web galleries in the future.");
00112
00113 stream << "<p align='justify'>\n";
00114
00115 stream << HelpWindow::tr("A collection's cover image can be set in a similar fashion by dragging and dropping a photo to the left of the collection name and description fields. One can accomplish either of these tasks by right clicking on a photo.");
00116
00117 stream << "</td></tr></table>\n";
00118
00119 stream << "</td></tr><tr><td>\n";
00120
00121 stream << "<table cellpadding='4' cellspacing='0'><tr><td valign='middle'>\n";
00122 stream << " <p align='justify'>\n";
00123 stream << HelpWindow::tr("You can replace cover images in the future by dropping a new photo on top of the original cover image. A cover image can be removed by hovering over and clicking the red button that appears.") << "\n";
00124 stream << "</td><td valign='middle'>\n";
00125 stream << " <img src='" << IMAGE_PATH << "helpImages/removeCollectionImage.png'>\n";
00126 stream << "</td></tr>\n";
00127
00128 stream << "</table></font>\n";
00129 stream << "</body></html>\n";
00130 file.close();
00131 }
00132 }
00133