28{
29 resize( 800, 550 );
30
31
32
33
34
35 QFile* shortcutsFile =
new QFile(
TEMP_DIR + QString(
"/shortcuts.html") );;
36 if(shortcutsFile->open(IO_WriteOnly))
37 {
38
39 QTextStream stream( shortcutsFile );
40 stream.setEncoding( QTextStream::Unicode );
41
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";
48 stream << "<p>\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();
161 }
162
163
164 setCaption( tr("Album Shaper: Shortcuts"));
165
166
167 QTextBrowser* content = new QTextBrowser( this );
168
169 content->setHScrollBarMode( QScrollView::AlwaysOff );
170 content->setVScrollBarMode( QScrollView::Auto );
171
172
173 content->mimeSourceFactory()->setFilePath( QStringList(
TEMP_DIR) );
174 content->setSource( "shortcuts.html");
175
176
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 );
181
182
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 );
189#endif
190
191}