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 "whatsNew.h"
00020 #include "helpWindow.h"
00021 #include "../../config.h"
00022
00023
00024 QString WhatsNew::filename()
00025 {
00026 return QString("%1/whatsNew.html").arg(TEMP_DIR);
00027 }
00028
00029 void WhatsNew::generateHTML(QTextStream::Encoding type, QString charSet)
00030 {
00031
00032 QString whatsNew = HelpWindow::tr("What's New in Album Shaper %1");
00033
00034
00035 QFile file( filename() );
00036 if(file.open(IO_WriteOnly))
00037 {
00038
00039 QTextStream stream;
00040 stream.setEncoding( type );
00041 stream.setDevice( &file );
00042
00043 stream << "<html><head>\n";
00044 stream << "<meta http-equiv='Content-Type' content='text/html; charset=" << charSet << "'>\n";
00045 stream << "</head><body>\n";
00046
00047
00048
00049
00050
00051 stream << "<table cellpadding='4'><tr>\n";
00052 stream << " <td><img src='" << IMAGE_PATH << "helpImages/asHelpLogoSmall.png'></td>\n";
00053 stream << " <td valign='middle'><font face='Arial, sans-serif' size='+3'>";
00054 stream << whatsNew.arg(ALBUMSHAPER_VERSION);
00055 stream << "</font></td>\n";
00056 stream << "</tr></table>\n";
00057
00058
00059
00060 stream << "<font face='Arial, sans-serif'>\n";
00061 stream << "<table cellspacing='10' cellpadding='0'><tr><td>\n";
00062
00063 stream << "<table width='100%' cellpadding='4' cellspacing='0'><tr><td bgcolor='lightgray'>\n";
00064 stream << "<font size='+1'><b>" << HelpWindow::tr("New Features / Feature Enhancements:") << "</b></font>\n";
00065 stream << "</td></tr></table>\n";
00066 stream << "<ul>\n";
00067 item( stream, HelpWindow::tr("New mosaic manipulation!"));
00068 item( stream, HelpWindow::tr("Aspect ratio selection usability improvements (smarter placement with regard to rotating selections, positioning, and support for tall photos)"));
00069 item( stream, HelpWindow::tr("Improved B/W and Sepia effects (weights now based on modern display phosphor characteristics)"));
00070 item( stream, HelpWindow::tr("Added French translation"));
00071 item( stream, HelpWindow::tr("German translation brought up to date"));
00072 stream << "</ul>\n";
00073
00074 stream << "<table width='100%' cellpadding='4' cellspacing='0'><tr><td bgcolor='lightgray'>\n";
00075 stream << "<font size='+1'><b>" << HelpWindow::tr("Minor Improvements:") << "</b></font>\n";
00076 stream << "</td></tr></table>\n";
00077 stream << "<ul>\n";
00078 item( stream, HelpWindow::tr("Rewrote AlbumShaper.pro project file to support changing install location on Unix systems"));
00079 item( stream, HelpWindow::tr("Changed \"Disable checking for...\" checkbox to \"Check for photo modifications...\" under settings"));
00080 item( stream, HelpWindow::tr("Cut down window and dialog title text by removing \"Album Shaper: \" prefix"));
00081 item( stream, HelpWindow::tr("Fixed alert dialogs to handle long message translations"));
00082 item( stream, HelpWindow::tr("Various spelling mistakes and other minor visible text improvements"));
00083 item( stream, HelpWindow::tr("Fixed fonts in status area and various dialogs"));
00084 item( stream, HelpWindow::tr("Cosmetic fixes regarding buttons and layout in Save as dialog"));
00085 item( stream, HelpWindow::tr("Added missing red color to some button references in help system"));
00086 stream << "</ul>\n";
00087
00088 stream << "<table width='100%' cellpadding='4' cellspacing='0'><tr><td bgcolor='lightgray'>\n";
00089 stream << "<font size='+1'><b>" << HelpWindow::tr("Bug Fixes:") << "</b></font>\n";
00090 stream << "</td></tr></table>\n";
00091 stream << "<ul>\n";
00092
00093 item( stream, HelpWindow::tr("Fixed a bug where dropping objects from the desktop / file browsers on album / collection image caused Album Shaper to crash"));
00094 item( stream, HelpWindow::tr("Fixed a bug where Album Shaper would crash when trying to edit 8 bit grayscale and color images"));
00095 item( stream, HelpWindow::tr("Fixed a bug where after removing photos in a collection the edit tab and various buttons below were still enabled"));
00096 item( stream, HelpWindow::tr("Fixed a threading bug in the file preview feature that could cause the program to hang"));
00097 item( stream, HelpWindow::tr("Fixed the rare 0kb bug! (reverting a photo sometimes caused the photo to be corrupted)"));
00098 item( stream, HelpWindow::tr("Disabled user input while loading albums"));
00099 item( stream, HelpWindow::tr("Fixed a bug where loading recent albums using the keyboard shortcuts could cause Album Shaper to crash"));
00100 item( stream, HelpWindow::tr("Fixed a bugs where using save-as to copy an album from one location to another did not copy over the original form of an image"));
00101 item( stream, HelpWindow::tr("Fixed minor bug in Slick theme where carriage returns in photo descriptions caused problems in slide show mode"));
00102 item( stream, HelpWindow::tr("Fixed a bug in the Metallic theme where collections that had no cover images could not be reached using the navigation bar"));
00103 item( stream, HelpWindow::tr("Fixed various compiler warnings under Linux / FreeBSD"));
00104 stream << "</ul>\n";
00105
00106 stream << "</td></tr>\n";
00107 stream << "</table></font>\n";
00108
00109
00110
00111
00112
00113
00114 stream << "<table cellpadding='4'><tr>\n";
00115 stream << " <td><img src='" << IMAGE_PATH << "helpImages/asHelpLogoSmall.png'></td>\n";
00116 stream << " <td valign='middle'><font face='Arial, sans-serif' size='+3'>";
00117 stream << whatsNew.arg(2);
00118 stream << "</font></td>\n";
00119 stream << "</tr></table>\n";
00120
00121 stream << "<font face='Arial, sans-serif'>\n";
00122 stream << "<table cellspacing='10' cellpadding='0'><tr><td>\n";
00123
00124 stream << "<table width='100%' cellpadding='4' cellspacing='0'><tr><td bgcolor='lightgray'>\n";
00125 stream << "<font size='+1'><b>" << HelpWindow::tr("Importing and Organizing:") << "</b></font>\n";
00126 stream << "</td></tr></table>\n";
00127 stream << "<ul>\n";
00128 item( stream, HelpWindow::tr("Much faster image resizing, enabling you to quickly add photos to your albums"));
00129 item( stream, HelpWindow::tr("During add photos/batch operations, the number of remaining items is included in a status message"));
00130 item( stream, HelpWindow::tr("Smaller album sizes and better EXIF support"));
00131 item( stream, HelpWindow::tr("Add photo preview and detail in add photos dialog"));
00132 stream << "</ul>\n";
00133
00134 stream << "<table width='100%' cellpadding='4' cellspacing='0'><tr><td bgcolor='lightgray'>\n";
00135 stream << "<font size='+1'><b>" << HelpWindow::tr("Rewritten Editing Interface:") << "</b></font>\n";
00136 stream << "</td></tr></table>\n";
00137 stream << "<ul>\n";
00138 item( stream, HelpWindow::tr("Much faster lossless rotating and flipping transformations"));
00139 item( stream, HelpWindow::tr("Semi-automatic tilt correction tool"));
00140 item( stream, HelpWindow::tr("Automatic color enhancement tool"));
00141 item( stream, HelpWindow::tr("Automatic contrast enhancement tool"));
00142 item( stream, HelpWindow::tr("Sophisticated red-eye reduction tool"));
00143 item( stream, HelpWindow::tr("Histogram interface for changing brightness, contrast, and color and luminosity levels"));
00144 item( stream, HelpWindow::tr("Grain editor for blurring and sharpening images"));
00145 item( stream, HelpWindow::tr("Sepia, oil painting, and color embossing image manipulations"));
00146 item( stream, HelpWindow::tr("Crop, B+W, and invert manipulations rewritten and significantly faster"));
00147 item( stream, HelpWindow::tr("Real time previews of image manipulations"));
00148 item( stream, HelpWindow::tr("Crop to preset aspect ratios or current display resolution"));
00149 item( stream, HelpWindow::tr("DPI indicated with green/red coloring and text when cropping to preset image sizes"));
00150 item( stream, HelpWindow::tr("Selected regions can be adjusted by dragging any side, corner, or entire selection around"));
00151 item( stream, HelpWindow::tr("Selected regions can be rotated and scaled in place while maintaining their aspect ratio"));
00152 item( stream, HelpWindow::tr("Selected regions can be nudged left/right/up/down using arrow keys"));
00153 item( stream, HelpWindow::tr("New selection painting system enhances contrast to make selections stand out"));
00154 item( stream, HelpWindow::tr("Selection resolutions are displayed, letting you crop to exact sizes"));
00155 item( stream, HelpWindow::tr("Photos can be rotated and flipped within editing interface"));
00156 item( stream, HelpWindow::tr("Busy indicators and progress bar for all non-instantaneous operations within editing interface"));
00157 item( stream, HelpWindow::tr("Double click any photo to edit"));
00158 item( stream, HelpWindow::tr("Switch photos while in editing interface"));
00159 item( stream, HelpWindow::tr("Photo modifications always reversible"));
00160 stream << "</ul>\n";
00161
00162 stream << "<table width='100%' cellpadding='4' cellspacing='0'><tr><td bgcolor='lightgray'>\n";
00163 stream << "<font size='+1'><b>" << HelpWindow::tr("Loading, Saving, and Exporting:") << "</b></font>\n";
00164 stream << "</td></tr></table>\n";
00165 stream << "<ul>\n";
00166 item( stream, HelpWindow::tr("Quickly load albums using the new <font color='red'>Open Recent</font> menu"));
00167 item( stream, HelpWindow::tr("Revert to last saved album"));
00168 item( stream, HelpWindow::tr("Set desktop wallpaper with the click of a button"));
00169 item( stream, HelpWindow::tr("Export small web galleries"));
00170 item( stream, HelpWindow::tr("Export images for printing"));
00171 stream << "</ul>\n";
00172
00173 stream << "<table width='100%' cellpadding='4' cellspacing='0'><tr><td bgcolor='lightgray'>\n";
00174 stream << "<font size='+1'><b>" << HelpWindow::tr("Bug Fixes:") << "</b></font>\n";
00175 stream << "</td></tr></table>\n";
00176 stream << "<ul>\n";
00177 item( stream, HelpWindow::tr("Windows 95, 98 and ME now experimentally supported"));
00178 item( stream, HelpWindow::tr("Files ending with .HTM are now removed during save"));
00179 item( stream, HelpWindow::tr("qmake does not need to be run a second time before doing a make install on Linux/FreeBSD"));
00180 item( stream, HelpWindow::tr("Close button on the Album Statistics window now displayed properly"));
00181 item( stream, HelpWindow::tr("Support for Norwegian variant of Windows"));
00182 item( stream, HelpWindow::tr("Expanding and contracting a photo with an empty description no longer trips album modified bit"));
00183 item( stream, HelpWindow::tr("Fixed bug involving progress messages erratically disappearing next to progress bar"));
00184 item( stream, HelpWindow::tr("Flip vertical and flip horizontal button images swapped to properly reflect these actions"));
00185 item( stream, HelpWindow::tr("Selection bugs in editing interface fixed with complete rewrite of selection system"));
00186 item( stream, HelpWindow::tr("Albums can now be loaded/saved to paths that contain spaces"));
00187 item( stream, HelpWindow::tr("Command-M now minimizes application to the Dock on Mac OSX"));
00188 item( stream, HelpWindow::tr("Plugged various memory leaks"));
00189 item( stream, HelpWindow::tr("Fixed horizontal scrollbars showing when expanding photos"));
00190 item( stream, HelpWindow::tr("Fixed hang when user expands photo then switches to a different apps"));
00191 item( stream, HelpWindow::tr("Fixed minor painting mistakes when editing photo descriptions"));
00192 item( stream, HelpWindow::tr("Photos added to collections through drag and drop are now inserted in the correct order."));
00193 item( stream, HelpWindow::tr("Fixed many problems which resulted from photo and album paths including accented characters."));
00194 item( stream, HelpWindow::tr("Fixed various glitches that occured when rearranging photos within collections."));
00195
00196 stream << "</ul>\n";
00197
00198 stream << "</td></tr>\n";
00199 stream << "</table></font>\n";
00200
00201
00202
00203 stream << "</body></html>\n";
00204 file.close();
00205 }
00206 }
00207
00208 void WhatsNew::item( QTextStream& stream, QString item )
00209 {
00210 stream << "<li>" << item << "\n";
00211 }
00212
00213
00214