13 #include <qtextstream.h> 14 #include <qstringlist.h> 16 #include <qtextbrowser.h> 17 #include <qpushbutton.h> 20 #include <qkeysequence.h> 24 #include "../../config.h" 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();
164 setCaption( tr(
"Album Shaper: Shortcuts"));
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 );
195 QWidget::closeEvent( e );
void closeEvent(QCloseEvent *e)
Shortcuts(QWidget *parent=0, const char *name=0)