Mercurial > projects > qtd
annotate examples/desktop/systray/window.d @ 350:31520b2c0b3c
Removed dependency on parent trait and stringof
author | Max Samukha <maxter@spambox.com> |
---|---|
date | Thu, 20 May 2010 15:49:08 +0300 |
parents | 4e31cbd9e20c |
children |
rev | line source |
---|---|
120 | 1 /**************************************************************************** |
2 ** | |
3 ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). | |
4 ** Contact: Qt Software Information (qt-info@nokia.com) | |
5 ** | |
6 ** This file is part of the examples of the Qt Toolkit. | |
7 ** | |
8 ** $QT_BEGIN_LICENSE:LGPL$ | |
9 ** Commercial Usage | |
10 ** Licensees holding valid Qt Commercial licenses may use this file in | |
11 ** accordance with the Qt Commercial License Agreement provided with the | |
12 ** Software or, alternatively, in accordance with the terms contained in | |
13 ** a written agreement between you and Nokia. | |
14 ** | |
15 ** GNU Lesser General Public License Usage | |
16 ** Alternatively, this file may be used under the terms of the GNU Lesser | |
17 ** General Public License version 2.1 as published by the Free Software | |
18 ** Foundation and appearing in the file LICENSE.LGPL included in the | |
19 ** packaging of this file. Please review the following information to | |
20 ** ensure the GNU Lesser General Public License version 2.1 requirements | |
21 ** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. | |
22 ** | |
23 ** In addition, as a special exception, Nokia gives you certain | |
24 ** additional rights. These rights are described in the Nokia Qt LGPL | |
25 ** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this | |
26 ** package. | |
27 ** | |
28 ** GNU General Public License Usage | |
29 ** Alternatively, this file may be used under the terms of the GNU | |
30 ** General Public License version 3.0 as published by the Free Software | |
31 ** Foundation and appearing in the file LICENSE.GPL included in the | |
32 ** packaging of this file. Please review the following information to | |
33 ** ensure the GNU General Public License version 3.0 requirements will be | |
34 ** met: http://www.gnu.org/copyleft/gpl.html. | |
35 ** | |
36 ** If you are unsure which license is appropriate for your use, please | |
37 ** contact the sales department at qt-sales@nokia.com. | |
38 ** $QT_END_LICENSE$ | |
39 ** | |
40 ****************************************************************************/ | |
41 module window; | |
42 | |
43 import qt.gui.QSystemTrayIcon; | |
44 import qt.gui.QDialog; | |
45 import qt.gui.QAction; | |
46 import qt.gui.QCheckBox; | |
47 import qt.gui.QComboBox; | |
48 import qt.gui.QGroupBox; | |
49 import qt.gui.QLabel; | |
50 import qt.gui.QLineEdit; | |
51 import qt.gui.QMenu; | |
52 import qt.gui.QPushButton; | |
53 import qt.gui.QSpinBox; | |
54 import qt.gui.QTextEdit; | |
55 import qt.gui.QVBoxLayout; | |
56 import qt.gui.QHBoxLayout; | |
57 import qt.gui.QMessageBox; | |
58 import qt.gui.QGridLayout; | |
59 | |
60 | |
61 class Window : public QDialog | |
62 { | |
63 public: | |
64 | |
350
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
65 this() |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
66 { |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
67 createIconGroupBox(); |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
68 createMessageGroupBox(); |
120 | 69 |
350
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
70 iconLabel.setMinimumWidth(durationLabel.sizeHint().width()); |
120 | 71 |
350
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
72 createActions(); |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
73 createTrayIcon(); |
120 | 74 |
350
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
75 connect(showMessageButton, "clicked", this, "showMessage"); |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
76 connect(showIconCheckBox, "toggled", trayIcon, "setVisible"); |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
77 connect(iconComboBox, "currentIndexChanged", this, "setIcon"); |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
78 connect(trayIcon, "messageClicked", this, "messageClicked"); |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
79 connect(trayIcon, "activated", this, "iconActivated"); |
120 | 80 |
350
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
81 QVBoxLayout mainLayout = new QVBoxLayout; |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
82 mainLayout.addWidget(iconGroupBox); |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
83 mainLayout.addWidget(messageGroupBox); |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
84 setLayout(mainLayout); |
120 | 85 |
350
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
86 iconComboBox.setCurrentIndex(1); |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
87 trayIcon.show(); |
120 | 88 |
350
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
89 setWindowTitle(tr("Systray")); |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
90 resize(400, 300); |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
91 } |
120 | 92 |
350
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
93 void setVisible(bool visible) |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
94 { |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
95 minimizeAction.setEnabled(visible); |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
96 maximizeAction.setEnabled(!isMaximized()); |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
97 restoreAction.setEnabled(isMaximized() || !visible); |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
98 QDialog.setVisible(visible); |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
99 } |
120 | 100 |
350
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
101 protected: |
120 | 102 |
350
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
103 void closeEvent(QCloseEvent event) |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
104 { |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
105 if (trayIcon.isVisible()) { |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
106 QMessageBox.information(this, tr("Systray"), |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
107 tr("The program will keep running in the system tray. To terminate the program, " |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
108 "choose <b>Quit</b> in the context menu of the system tray entry.")); |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
109 hide(); |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
110 event.ignore(); |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
111 } |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
112 } |
120 | 113 |
323
7a3c43424dca
make all examples compile with new signals/slots
eldar_ins@eldar-laptop
parents:
282
diff
changeset
|
114 private: // slots |
120 | 115 |
350
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
116 void slot_setIcon(int index) |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
117 { |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
118 QIcon icon = iconComboBox.itemIcon(index); |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
119 trayIcon.setIcon(icon); |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
120 setWindowIcon(icon); |
120 | 121 |
350
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
122 trayIcon.setToolTip(iconComboBox.itemText(index)); |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
123 } |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
124 |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
125 void slot_iconActivated(QSystemTrayIcon.ActivationReason reason) |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
126 { |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
127 switch (reason) { |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
128 case QSystemTrayIcon.Trigger: |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
129 case QSystemTrayIcon.DoubleClick: |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
130 iconComboBox.setCurrentIndex((iconComboBox.currentIndex() + 1) % iconComboBox.count()); |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
131 break; |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
132 case QSystemTrayIcon.MiddleClick: |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
133 showMessage(); |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
134 break; |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
135 default: |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
136 } |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
137 } |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
138 |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
139 void slot_showMessage() |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
140 { |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
141 QSystemTrayIcon.MessageIcon icon = cast(QSystemTrayIcon.MessageIcon) |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
142 typeComboBox.itemData(typeComboBox.currentIndex()).toInt(); |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
143 trayIcon.showMessage(titleEdit.text(), bodyEdit.toPlainText(), icon, durationSpinBox.value() * 1000); |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
144 } |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
145 |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
146 void slot_messageClicked() |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
147 { |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
148 QMessageBox.information(null, tr("Systray"), |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
149 tr("Sorry, I already gave what help I could.\nMaybe you should try asking a human?")); |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
150 } |
120 | 151 |
152 private: | |
153 | |
350
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
154 void createIconGroupBox() |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
155 { |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
156 iconGroupBox = new QGroupBox(tr("Tray Icon")); |
120 | 157 |
350
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
158 iconLabel = new QLabel("Icon:"); |
120 | 159 |
350
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
160 iconComboBox = new QComboBox; |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
161 iconComboBox.addItem(new QIcon(":/images/bad.svg"), tr("Bad")); |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
162 iconComboBox.addItem(new QIcon(":/images/heart.svg"), tr("Heart")); |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
163 iconComboBox.addItem(new QIcon(":/images/trash.svg"), tr("Trash")); |
120 | 164 |
350
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
165 showIconCheckBox = new QCheckBox(tr("Show icon")); |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
166 showIconCheckBox.setChecked(true); |
120 | 167 |
350
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
168 QHBoxLayout iconLayout = new QHBoxLayout; |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
169 iconLayout.addWidget(iconLabel); |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
170 iconLayout.addWidget(iconComboBox); |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
171 iconLayout.addStretch(); |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
172 iconLayout.addWidget(showIconCheckBox); |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
173 iconGroupBox.setLayout(iconLayout); |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
174 } |
120 | 175 |
350
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
176 void createMessageGroupBox() |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
177 { |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
178 messageGroupBox = new QGroupBox(tr("Balloon Message")); |
120 | 179 |
350
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
180 typeLabel = new QLabel(tr("Type:")); |
120 | 181 |
350
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
182 typeComboBox = new QComboBox; |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
183 typeComboBox.addItem(tr("None"), new QVariant(cast(ulong) QSystemTrayIcon.NoIcon)); |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
184 typeComboBox.addItem(style().standardIcon( |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
185 QStyle.SP_MessageBoxInformation), tr("Information"), |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
186 new QVariant(cast(ulong) QSystemTrayIcon.Information)); |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
187 typeComboBox.addItem(style().standardIcon( |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
188 QStyle.SP_MessageBoxWarning), tr("Warning"), |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
189 new QVariant(cast(ulong) QSystemTrayIcon.Warning)); |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
190 typeComboBox.addItem(style().standardIcon( |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
191 QStyle.SP_MessageBoxCritical), tr("Critical"), |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
192 new QVariant(cast(ulong) QSystemTrayIcon.Critical)); |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
193 typeComboBox.setCurrentIndex(1); |
120 | 194 |
350
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
195 durationLabel = new QLabel(tr("Duration:")); |
120 | 196 |
350
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
197 durationSpinBox = new QSpinBox; |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
198 durationSpinBox.setRange(5, 60); |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
199 durationSpinBox.setSuffix(" s"); |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
200 durationSpinBox.setValue(15); |
120 | 201 |
350
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
202 durationWarningLabel = new QLabel(tr("(some systems might ignore this hint)")); |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
203 durationWarningLabel.setIndent(10); |
120 | 204 |
350
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
205 titleLabel = new QLabel(tr("Title:")); |
120 | 206 |
350
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
207 titleEdit = new QLineEdit(tr("Cannot connect to network")); |
120 | 208 |
350
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
209 bodyLabel = new QLabel(tr("Body:")); |
120 | 210 |
350
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
211 bodyEdit = new QTextEdit; |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
212 bodyEdit.setPlainText(tr("Don't believe me. Honestly, I don't have a clue.\nClick this balloon for details.")); |
120 | 213 |
350
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
214 showMessageButton = new QPushButton(tr("Show Message")); |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
215 showMessageButton.setDefault(true); |
120 | 216 |
350
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
217 QGridLayout messageLayout = new QGridLayout; |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
218 messageLayout.addWidget(typeLabel, 0, 0); |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
219 messageLayout.addWidget(typeComboBox, 0, 1, 1, 2); |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
220 messageLayout.addWidget(durationLabel, 1, 0); |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
221 messageLayout.addWidget(durationSpinBox, 1, 1); |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
222 messageLayout.addWidget(durationWarningLabel, 1, 2, 1, 3); |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
223 messageLayout.addWidget(titleLabel, 2, 0); |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
224 messageLayout.addWidget(titleEdit, 2, 1, 1, 4); |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
225 messageLayout.addWidget(bodyLabel, 3, 0); |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
226 messageLayout.addWidget(bodyEdit, 3, 1, 2, 4); |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
227 messageLayout.addWidget(showMessageButton, 5, 4); |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
228 messageLayout.setColumnStretch(3, 1); |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
229 messageLayout.setRowStretch(4, 1); |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
230 messageGroupBox.setLayout(messageLayout); |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
231 } |
120 | 232 |
350
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
233 void createActions() |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
234 { |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
235 minimizeAction = new QAction(tr("Mi&nimize"), this); |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
236 connect(minimizeAction, "triggered", this, "hide"); |
120 | 237 |
350
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
238 maximizeAction = new QAction(tr("Ma&ximize"), this); |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
239 connect(maximizeAction, "triggered", this, "showMaximized"); |
120 | 240 |
350
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
241 restoreAction = new QAction(tr("&Restore"), this); |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
242 connect(restoreAction, "triggered", this, "showNormal"); |
120 | 243 |
350
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
244 quitAction = new QAction(tr("&Quit"), this); |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
245 connect(quitAction, "triggered", qApp(), "quit"); |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
246 } |
120 | 247 |
350
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
248 void createTrayIcon() |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
249 { |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
250 trayIconMenu = new QMenu(this); |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
251 trayIconMenu.addAction(minimizeAction); |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
252 trayIconMenu.addAction(maximizeAction); |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
253 trayIconMenu.addAction(restoreAction); |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
254 trayIconMenu.addSeparator(); |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
255 trayIconMenu.addAction(quitAction); |
120 | 256 |
350
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
257 trayIcon = new QSystemTrayIcon(this); |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
258 trayIcon.setContextMenu(trayIconMenu); |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
259 } |
120 | 260 |
350
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
261 QGroupBox iconGroupBox; |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
262 QLabel iconLabel; |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
263 QComboBox iconComboBox; |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
264 QCheckBox showIconCheckBox; |
120 | 265 |
350
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
266 QGroupBox messageGroupBox; |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
267 QLabel typeLabel; |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
268 QLabel durationLabel; |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
269 QLabel durationWarningLabel; |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
270 QLabel titleLabel; |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
271 QLabel bodyLabel; |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
272 QComboBox typeComboBox; |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
273 QSpinBox durationSpinBox; |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
274 QLineEdit titleEdit; |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
275 QTextEdit bodyEdit; |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
276 QPushButton showMessageButton; |
120 | 277 |
350
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
278 QAction minimizeAction; |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
279 QAction maximizeAction; |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
280 QAction restoreAction; |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
281 QAction quitAction; |
120 | 282 |
350
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
283 QSystemTrayIcon trayIcon; |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
284 QMenu trayIconMenu; |
31520b2c0b3c
Removed dependency on parent trait and stringof
Max Samukha <maxter@spambox.com>
parents:
339
diff
changeset
|
285 |
323
7a3c43424dca
make all examples compile with new signals/slots
eldar_ins@eldar-laptop
parents:
282
diff
changeset
|
286 mixin Q_OBJECT; |
120 | 287 } |