35 QFile* shortcutsFile =
new QFile(
TEMP_DIR + QString(
"/shortcuts.html") );;
36 if(shortcutsFile->open(IO_WriteOnly))
39 QTextStream stream( shortcutsFile );
40 stream.setEncoding( QTextStream::Unicode );
42 stream <<
"<html><body>\n";
43 stream <<
"<table cellpadding='4'><tr>\n";
44 stream <<
" <td><img src='" <<
IMAGE_PATH <<
"miscImages/asHelpLogoSmall.png'></td>\n";
45 stream <<
" <td valign='middle'><font face='Arial, sans-serif' size='+3'>";
46 stream <<
"<b>" << tr(
"Keyboard Shortcuts") <<
"</b></font></td>\n";
47 stream <<
"</tr></table>\n";
49 stream <<
"<font face='Arial, sans-serif'>\n";
50 stream <<
" <table width='100%' cellpadding='4' cellspacing='0'>\n";
51 stream <<
" <tr><td width='50%' bgcolor='lightgray'><b>" << tr(
"Action") <<
"</b></td>\n";
52 stream <<
" <td width='50%' bgcolor='lightgray'><b>" << tr(
"Shortcut") <<
"</b></td></tr>\n";
53 stream <<
" <!-- -------------------------------------------------- -->\n";
54 stream <<
" <tr><td colspan='2'><b><u>" << tr(
"Opening & Saving") <<
"</u></b></td></tr>\n";
55 stream <<
" <tr><td>" << tr(
"New album") <<
"</td>\n";
56 stream <<
" <td>" << ((QString)QKeySequence(CTRL+Key_N)) <<
"</td></tr>\n";
57 stream <<
" <tr><td>" << tr(
"Open album") <<
"</td>\n";
58 stream <<
" <td>" << ((QString)QKeySequence(CTRL+Key_O)) <<
"</td></tr>\n";
59 stream <<
" <tr><td>" << tr(
"Open recent album") <<
"</td>\n";
60 stream <<
" <td>" << ((QString)QKeySequence(CTRL)) <<
"[" <<
61 ((QString)QKeySequence(Key_1)) << "-" <<
62 ((QString)QKeySequence(Key_9)) << "]" << "</td></tr>\n";
63 stream << " <tr><td>" << tr("Save album") << "</td>\n";
64 stream << " <td>" << ((QString)QKeySequence(CTRL+Key_S)) << "</td></tr>\n";
65 stream << " <tr><td>" << tr("Save album as") << "</td>\n";
66 stream << " <td>" << ((QString)QKeySequence(SHIFT+CTRL+Key_S)) << "</td></tr>\n";
67 stream << " <tr><td>" << tr("Quit") << "</td>\n";
68 stream << " <td>" << ((QString)QKeySequence(CTRL+Key_Q)) << "</td></tr>\n";
69 stream << " <!-- -------------------------------------------------- -->\n";
70 stream << " <tr><td colspan='2'><hr></td></tr>\n";
71 stream << " <tr><td colspan='2'><
b><u>" << tr("Organizing") << "</u></
b></td></tr>\n";
72 stream << " <tr><td>" << tr("Move to the first photo in the collection") << "</td>\n";
73 stream << " <td>" << ((QString)QKeySequence(Key_Home)) << "</td></tr>\n";
74 stream << " <tr><td>" << tr("Move to the last photo in the collection") << "</td>\n";
75 stream << " <td>" << ((QString)QKeySequence(Key_End)) << "</td></tr>\n";
76 stream << " <tr><td>" << tr("Select all photos") << "</td>\n";
77 stream << " <td>" << ((QString)QKeySequence(CTRL+Key_A)) << "</td></tr>\n";
78 stream << " <tr><td>" << tr("Deselect all photos") << "</td>\n";
79 stream << " <td>" << ((QString)QKeySequence(SHIFT+CTRL+Key_A)) << "</td></tr>\n";
80 stream << " <tr><td>" << tr("Rotate selected photos right") << "</td>\n";
81 stream << " <td>" << ((QString)QKeySequence(CTRL+Key_R)) << "</td></tr>\n";
82 stream << " <tr><td>" << tr("Rotate selected photos left") << "</td>\n";
83 stream << " <td>" << ((QString)QKeySequence(CTRL+Key_L)) << "</td></tr>\n";
84 stream << " <tr><td>" << tr("Delete selected photos") << "</td>\n";
85 stream << " <td>" << ((QString)QKeySequence(Key_Delete)) << "</td></tr>\n";
86 stream << " <tr><td>" << tr("Modify selected photo description") << "</td>\n";
87 stream << " <td>" << ((QString)QKeySequence(Key_Enter)) << "</td></tr>\n";
88 stream << " <tr><td>" << tr("Finish modifying selected photo description") << "</td>\n";
89 stream << " <td>" << ((QString)QKeySequence(Key_Escape)) << "</td></tr>\n";
90 stream << " <tr><td>" << tr("Edit first of selected photos") << "</td>\n";
91 stream << " <td>" << ((QString)QKeySequence(CTRL+Key_E)) << "</td></tr>\n";
92 stream << " <!-- -------------------------------------------------- -->\n";
93 stream << " <tr><td colspan='2'><hr></td></tr>\n";
94 stream << " <tr><td colspan='2'><
b><u>Editing</u></
b></td></tr>\n";
95 stream << " <tr><td>" << tr("Go to previous photo") << "</td>\n";
96 stream << " <td>" << ((QString)QKeySequence(Key_PageUp)) << "</td></tr>\n";
97 stream << " <tr><td>" << tr("Go to next photo") << "</td>\n";
98 stream << " <td>" << ((QString)QKeySequence(Key_PageDown)) << "</td></tr>\n";
99 stream << " <tr><td>" << tr("Go to first photo in the collection") << "</td>\n";
100 stream << " <td>" << ((QString)QKeySequence(Key_Home)) << "</td></tr>\n";
101 stream << " <tr><td>" << tr("Go to last photo in the collection") << "</td>\n";
102 stream << " <td>" << ((QString)QKeySequence(Key_End)) << "</td></tr>\n";
103 stream << " <tr><td>" << tr("Return to organizing") << "</td>\n";
104 stream << " <td>" << ((QString)QKeySequence(Key_Escape)) << "</td></tr>\n";
105 stream << " <!-- =-=-=-=-=-=-=-=-=-=-= -->\n";
106 stream << " <tr><td colspan='2'> </td></tr>\n";
107 stream << " <!-- =-=-=-=-=-=-=-=-=-=-= -->\n";
108 stream << " <tr><td>" << tr("Rotate photo left") << "</td>\n";
109 stream << " <td>" << ((QString)QKeySequence(CTRL+Key_L)) << "</td></tr>\n";
110 stream << " <tr><td>" << tr("Rotate photo right") << "</td>\n";
111 stream << " <td>" << ((QString)QKeySequence(CTRL+Key_R)) << "</td></tr>\n";
112 stream << " <tr><td>" << tr("Flip photo horizontally") << "</td>\n";
113 stream << " <td>" << ((QString)QKeySequence(CTRL+Key_F)) << "</td></tr>\n";
114 stream << " <tr><td>" << tr("Flip photo vertically") << "</td>\n";
115 stream << " <td>" << ((QString)QKeySequence(ALT+CTRL+Key_F)) << "</td></tr>\n";
116 stream << " <!-- =-=-=-=-=-=-=-=-=-=-= -->\n";
117 stream << " <tr><td colspan='2'> </td></tr>\n";
118 stream << " <!-- =-=-=-=-=-=-=-=-=-=-= -->\n";
119 stream << " <tr><td>" << tr("Select all") << "</td>\n";
120 stream << " <td>" << ((QString)QKeySequence(CTRL+Key_A)) << "</td></tr>\n";
121 stream << " <tr><td>" << tr("Deselect all") << "</td>\n";
122 stream << " <td>" << ((QString)QKeySequence(SHIFT+CTRL+Key_A)) << "</td></tr>\n";
123 stream << " <tr><td>" << tr("Nudge selection left") << "</td>\n";
124 stream << " <td>" << ((QString)QKeySequence(Key_Left)) << "</td></tr>\n";
125 stream << " <tr><td>" << tr("Nudge selection right") << "</td>\n";
126 stream << " <td>" << ((QString)QKeySequence(Key_Right)) << "</td></tr>\n";
127 stream << " <tr><td>" << tr("Nudge selection up") << "</td>\n";
128 stream << " <td>" << ((QString)QKeySequence(Key_Up)) << "</td></tr>\n";
129 stream << " <tr><td>" << tr("Nudge selection down") << "</td>\n";
130 stream << " <td>" << ((QString)QKeySequence(Key_Down)) << "</td></tr>\n";
131 stream << " <tr><td>" << tr("Expand selection") << "</td>\n";
132 stream << " <td>" << ((QString)QKeySequence(Key_Plus,Key_Equal)) << "</td></tr>\n";
133 stream << " <tr><td>" << tr("Shrink selection") << "</td>\n";
134 stream << " <td>" << ((QString)QKeySequence(Key_Minus,Key_Underscore)) << "</td></tr>\n";
135 stream << " <tr><td>" << tr("Resize selection") << "</td>\n";
136 stream << " <td>" << tr("Press and hold Shift, then Click and Drag Left / Right") << "</td></tr>\n";
137 stream << " <tr><td>" << tr("Rotate selection") << "</td>\n";
138 stream << " <td>" << (QString(tr("Press and hold %1, then Click selection"))
139 .arg( ((QString)QKeySequence(CTRL)) )) << "</td></tr>\n";
140 stream << " <!-- -------------------------------------------------- -->\n";
141 stream << " <tr><td colspan='2'><hr></td></tr>\n";
142 stream << " <tr><td colspan='2'><
b><u>" << tr("Levels and Grain Editors") << "</u></
b></td></tr>\n";
143 stream << " <tr><td>" << tr("Show alternative") << "</td>\n";
144 stream << " <td>" << QString(tr("Hold %1")).arg( ((QString)QKeySequence(CTRL)) ) << "</td></tr>\n";
145 stream << " <tr><td>" << tr("Apply") << "</td>\n";
146 stream << " <td>" << ((QString)QKeySequence(Key_Enter)) << "</td></tr>\n";
147 stream << " <tr><td>" << tr("Cancel") << "</td>\n";
148 stream << " <td>" << ((QString)QKeySequence(Key_Escape)) << "</td></tr>\n";
149 stream << " <!-- -------------------------------------------------- -->\n";
150 stream << " <tr><td colspan='2'><hr></td></tr>\n";
151 stream << " <tr><td colspan='2'><
b><u>" << tr("Miscellaneous") << "</u></
b></td></tr>\n";
152 stream << " <tr><td>" << tr("View album statistics") << "</td>\n";
153 stream << " <td>" << ((QString)QKeySequence(CTRL+Key_I)) << "</td></tr>\n";
154 stream << " <tr><td>" << tr("
Album Shaper help") << "</td>\n";
155 stream << " <td>" << ((QString)QKeySequence(CTRL+Key_Question)) << "</td></tr>\n";
156 stream << " <!-- -------------------------------------------------- -->\n";
157 stream << " </table>\n";
158 stream << "</font>\n";
159 stream << "</body></html>\n";
160 shortcutsFile->close();
167 QTextBrowser* content = new QTextBrowser( this );
169 content->setHScrollBarMode( QScrollView::AlwaysOff );
170 content->setVScrollBarMode( QScrollView::Auto );
173 content->mimeSourceFactory()->setFilePath( QStringList(
TEMP_DIR) );
174 content->setSource( "shortcuts.html");
177 QGridLayout* grid = new QGridLayout( this, 2, 2, 0);
178 grid->addMultiCellWidget( content, 0,0, 0,1 );
179 grid->setColStretch( 0, 1 );
180 grid->setRowStretch( 0, 1 );
183 #if (!defined(Q_OS_WIN) && !defined(Q_OS_MACX)) 184 QPushButton* closeButton =
new QPushButton( tr(
"Close"),
this );
185 closeButton->setSizePolicy( QSizePolicy::Fixed, QSizePolicy::Fixed );
186 closeButton->setDefault(
true);
187 connect( closeButton, SIGNAL(clicked()), SLOT(close()) );
188 grid->addWidget( closeButton, 1, 0, Qt::AlignCenter );
An album contains Subalbums.