qtbindings 4.6.3.4 → 4.8.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (75) hide show
  1. data/KNOWN_ISSUES.txt +19 -5
  2. data/README.txt +119 -93
  3. data/Rakefile +28 -27
  4. data/examples/desktop/systray/window.rb +43 -47
  5. data/examples/draganddrop/dropsite/dropsitewidget.rb +10 -9
  6. data/examples/mainwindows/mdi/mainwindow.rb +4 -4
  7. data/examples/network/broadcastsender/sender.rb +3 -1
  8. data/examples/qtscribble/scribble.rb +270 -0
  9. data/examples/ruboids/LICENSE.txt +58 -0
  10. data/examples/run_all.rb +1 -0
  11. data/examples/textedit/textedit.rb +150 -0
  12. data/examples/widgets/scribble/scribblearea.rb +19 -19
  13. data/ext/cmake/modules/BasicFindPackageVersion.cmake.in +30 -0
  14. data/ext/cmake/modules/FindLibraryWithDebug.cmake +113 -0
  15. data/ext/cmake/modules/FindPhonon.cmake +71 -0
  16. data/ext/cmake/modules/FindQImageBlitz.cmake +51 -0
  17. data/ext/cmake/modules/FindRuby.cmake +17 -17
  18. data/ext/cmake/modules/MacroOptionalFindPackage.cmake +6 -26
  19. data/ext/cmake/modules/MacroWriteBasicCMakeVersionFile.cmake +22 -0
  20. data/ext/cmake/modules/SmokeConfig.cmake.in +109 -0
  21. data/ext/generator/cmake/BasicFindPackageVersion.cmake.in +30 -0
  22. data/ext/generator/cmake/CMakeLists.txt +24 -0
  23. data/ext/generator/cmake/FindLibraryWithDebug.cmake +113 -0
  24. data/ext/generator/cmake/FindPhonon.cmake +71 -0
  25. data/ext/generator/cmake/FindQImageBlitz.cmake +51 -0
  26. data/ext/generator/cmake/FindQScintilla.cmake +57 -0
  27. data/ext/generator/cmake/FindQwt5.cmake +104 -0
  28. data/ext/generator/cmake/HandleImportedTargetsInCMakeRequiredLibraries.cmake +85 -0
  29. data/ext/generator/cmake/MacroLogFeature.cmake +146 -0
  30. data/ext/generator/cmake/MacroOptionalAddBindings.cmake +47 -0
  31. data/ext/generator/cmake/MacroOptionalFindPackage.cmake +28 -0
  32. data/ext/generator/cmake/MacroWriteBasicCMakeVersionFile.cmake +22 -0
  33. data/ext/generator/cmake/SmokeConfig.cmake.in +109 -0
  34. data/ext/generator/config.h +25 -0
  35. data/ext/generator/generatorpreprocessor.cpp +60 -41
  36. data/ext/generator/generators/dump/CMakeLists.txt +5 -0
  37. data/ext/generator/generators/smoke/CMakeLists.txt +5 -0
  38. data/ext/generator/generators/smoke/globals.h +3 -1
  39. data/ext/generator/generators/smoke/helpers.cpp +21 -2
  40. data/ext/generator/generators/smoke/writeSmokeDataFile.cpp +26 -1
  41. data/ext/generator/main.cpp +5 -1
  42. data/ext/generator/options.cpp +1 -0
  43. data/ext/generator/options.h +1 -0
  44. data/ext/generator/parser/CMakeLists.txt +10 -1
  45. data/ext/generator/parser/parser.cpp +6 -6
  46. data/ext/generator/parser/parser.h +2 -12
  47. data/ext/generator/parser/parsesession.cpp +1 -0
  48. data/ext/generator/parser/rpp/CMakeLists.txt +6 -0
  49. data/ext/generator/parser/rpp/chartools.cpp +3 -3
  50. data/ext/generator/parser/rpp/chartools.h +3 -1
  51. data/ext/generator/parser/rpp/pp-scanner.cpp +2 -1
  52. data/ext/generator/parser/rpp/tests/CMakeLists.txt +4 -0
  53. data/ext/generator/parser/tests/CMakeLists.txt +16 -0
  54. data/ext/generator/smoke.h +557 -0
  55. data/ext/generator/smokegen_string.h +43 -0
  56. data/ext/generator/type.cpp +15 -6
  57. data/ext/generator/type_compiler.cpp +2 -0
  58. data/ext/ruby/qtruby/src/qtruby.cpp +147 -143
  59. data/ext/ruby/qttest/qttesthandlers.cpp +1 -0
  60. data/ext/smoke/qtcore/QtGuess.txt +23 -25
  61. data/ext/smoke/qtcore/smokeconfig.xml +1 -0
  62. data/ext/smoke/qtdbus/smokeconfig.xml +2 -0
  63. data/ext/smoke/qtgui/smokeconfig.xml +14 -4
  64. data/ext/smoke/qthelp/smokeconfig.xml +1 -0
  65. data/ext/smoke/qtmultimedia/smokeconfig.xml +1 -0
  66. data/ext/smoke/qtnetwork/smokeconfig.xml +2 -0
  67. data/ext/smoke/qtopengl/smokeconfig.xml +1 -0
  68. data/ext/smoke/qtsql/smokeconfig.xml +1 -0
  69. data/ext/smoke/qtsvg/smokeconfig.xml +1 -0
  70. data/ext/smoke/qtwebkit/smokeconfig.xml +3 -0
  71. data/extconf.rb +37 -23
  72. data/lib/Qt/qtruby4.rb +4 -4
  73. data/lib/Qt4.rb +1 -1
  74. data/lib/qtbindings_version.rb +2 -2
  75. metadata +50 -40
data/KNOWN_ISSUES.txt CHANGED
@@ -1,5 +1,19 @@
1
- 1. broadcastsender example fails - undefined method writeDatagram
2
- 2. fortuneserver example fails - undefined method seek
3
- 3. ftp example fails - undefined method icon=
4
- 4. fontsampler example fails - undefined method checkState for nil
5
- 5. passivepopup example fails - seg fault
1
+ 1. To run the OpenGL examples install opengl (doesn't work on Ubuntu)
2
+ gem install opengl --pre
3
+ 2. The qRgb macro doesn't appear to work correctly
4
+ 3. The following examples fail on Windows:
5
+ opengl/textures -> Segfault
6
+ itemview/dirview -> Hangs
7
+ network/broadcastsender -> writeDatagram(const char* data, ...) fails
8
+ network/broadcastreceiver -> readDatagram(char* data, ...) fails
9
+ 4. The following examples fail on Ubuntu:
10
+ opengl/* -> opengl doesn't install
11
+ network/broadcastsender -> writeDatagram(const char* data, ...) fails
12
+ network/broadcastreceiver -> readDatagram(char* data, ...) fails
13
+ 5. The following examples fail on Mac OS X:
14
+ desktop/screenshot -> QPixmap::scaled: Pixmap is a null pixmap
15
+ opengl/textures -> glwidget.rb:137
16
+ network/broadcastsender -> writeDatagram(const char* data, ...) fails
17
+ network/broadcastreceiver -> readDatagram(char* data, ...) fails
18
+
19
+ NOTE: The QDBus examples don't work on Windows because QtDBus is Unix only.
data/README.txt CHANGED
@@ -1,93 +1,119 @@
1
- qtbindings
2
- ----------
3
- This project provides bindings that allow the QT Gui toolkit to be used from the
4
- Ruby Programming language. Overall it is a repackaging of a subset of the KDE
5
- bindings ruby and smoke systems into a format that lends itself well to
6
- packaging into a Ruby gem.
7
-
8
- Goals
9
- -----
10
- 1. To make it easy to install a Qt binding for Ruby on all platforms using
11
- RubyGems
12
- 2. To maintain an up-to-date binary gem for Windows that is bundled with
13
- the latest version of Qt from http://qt.nokia.com
14
- 3. To reduce the scope and maintenance of the bindings to only bind to the
15
- libraries provided by the Qt SDK.
16
- 4. To increase compatibility with non-linux platforms
17
-
18
- Tested Environments
19
- --------------------
20
- Mac OSX 10.6.4 (Snow Leopard)
21
- XCode 3.2.3
22
- Macports 1.9.1
23
- qt4-mac 4.6.3
24
- Cmake 2.8.2
25
-
26
- Windows XP SP3
27
- QT SDK 4.6.3
28
- Cmake 2.8.2
29
- Ruby 1.8.7p299 installed from rubyinstaller.org
30
-
31
- Ubuntu Linux 10.4
32
- QT SDK 4.6.3
33
- Cmake 2.8.2
34
-
35
- Compiling
36
- ---------
37
- Compiling qtbindings requires the following prerequisites:
38
- 1. cmake 2.6.3+ installed and in your path
39
- 2. QT 4.6.x installed and in your path
40
- 3. Ruby installed and in your path
41
- 4. gcc 4.x
42
-
43
- Additionally: all of the operating system prequisites for compiling,
44
- window system development, opengl, etc must be installed.
45
-
46
- Operating Systems Notes:
47
-
48
- Debian Linux
49
- ------------
50
- 1. The following should get you the packages you need:
51
- sudo aptitude install build-essential bison openssl libreadline5
52
- libreadline-dev curl git-core zlib1g zlib1g-dev libssl-dev vim
53
- libsqlite3-0 libsqlite3-dev sqlite3 libreadline5-dev libreadline6-dev
54
- libxml2-dev git-core subversion autoconf xorg-dev libgl1-mesa-dev
55
- libglu1-mesa-dev
56
-
57
- Mac OSX Snow Leopard
58
- -----------------------
59
- 1. XCode
60
- 2. qt4-mac installed from macports - NOTE: For some reason smokegen does
61
- not work with the SDK or Cocoa libraries directly from qt.nokia.com -
62
- Uninstall these if necessary using:
63
- sudo python /Developer/Tools/uninstall_qt.py
64
-
65
- Windows - Note: Only necessary for debugging (binary gem available)
66
- --------
67
- 1. mingw from the Qt SDK in your path: ie C:\Qt\2010.04\mingw\bin
68
-
69
- Install
70
- ------
71
- On linux/MacOSX you must make sure you have all the necessary prerequisites
72
- installed or the compile will fail.
73
-
74
- gem install qtbindings
75
-
76
- This should always work flawlessly on Windows because everything is nicely
77
- packaged into a binary gem. However, the gem is very large ~49MB, so please
78
- be patient while gem downloads the file.
79
-
80
- To get help:
81
- Sign up to the kdebindings mailing list at:
82
- https://mail.kde.org/mailman/listinfo/kde-bindings
83
- You can also file tickets here at github for issues specific to the
84
- qtbindings gem.
85
-
86
- License:
87
- This library is released under the LGPL Version 2.1.
88
- See COPYING.LIB.txt
89
-
90
- Disclaimer:
91
- Almost all of this code was written by the great guys who work on the KDE
92
- bindings project, particurly Arno Rehn and Richard Dale. I hope to increase
93
- the adoption and use of the code that they have written.
1
+ qtbindings
2
+ ----------
3
+ This project provides bindings that allow the QT Gui toolkit to be used from the
4
+ Ruby Programming language. Overall it is a repackaging of a subset of the KDE
5
+ bindings ruby and smoke systems into a format that lends itself well to
6
+ packaging into a Ruby gem.
7
+
8
+ Goals
9
+ -----
10
+ 1. To make it easy to install a Qt binding for Ruby on all platforms using
11
+ RubyGems
12
+ 2. To maintain an up-to-date binary gem for Windows that is bundled with
13
+ the latest version of Qt from http://qt.nokia.com
14
+ 3. To reduce the scope and maintenance of the bindings to only bind to the
15
+ libraries provided by the Qt SDK.
16
+ 4. To increase compatibility with non-linux platforms
17
+
18
+ Tested Environments
19
+ --------------------
20
+ Mac OSX 10.6.8 (Snow Leopard)
21
+ XCode 3.2.6
22
+ Brew - QT 4.8.2
23
+ Cmake 2.8.6
24
+
25
+ Windows XP SP3
26
+ QT Libraries 4.8.3
27
+ Mingw 4.4
28
+ Cmake 2.6.4
29
+ Ruby 1.8.7p370 and 1.9.3p0 installed from rubyinstaller.org
30
+
31
+ Note: Ruby 1.9.3 patch levels 125 and 194 on Windows have a bug in the I/O
32
+ system which prevent the usage of the pos method. That is why I'm using 1.9.3p0.
33
+ See http://bugs.ruby-lang.org/issues/6179 and http://bugs.ruby-lang.org/issues/6401
34
+
35
+ Ubuntu Linux 11.10
36
+ QT SDK 4.8.1
37
+ Cmake 2.8.5
38
+
39
+ Compiling
40
+ ---------
41
+ Compiling qtbindings requires the following prerequisites:
42
+ 1. cmake 2.8.x installed and in your path
43
+ 2. QT 4.8.x installed and in your path
44
+ 3. Ruby installed and in your path
45
+ 4. gcc 4.x
46
+
47
+ Additionally: all of the operating system prequisites for compiling,
48
+ window system development, opengl, etc must be installed.
49
+
50
+ Rakefile
51
+ --------
52
+ Perform the following steps to build the gem on Unix or Mac:
53
+ 1. rake VERSION=4.8.x.y gem
54
+ Where the x is the subversion of QT and y is the patch level of qtbindings
55
+
56
+ Perform the following steps to build the gem on Windows:
57
+ 1. Ensure you are running Ruby 1.8.7
58
+ ruby -v #=> ruby 1.8.7
59
+ 2. rake distclean
60
+ 3. rake build
61
+ 4. Switch to Ruby 1.9.3
62
+ ruby -v #=> ruby 1.9.3
63
+ 5. rake build
64
+ 6. rake VERSION=4.8.x.y gemnative
65
+ Where the x is the subversion of QT and y is the patch level of qtbindings
66
+
67
+ Note: The gem is built twice to create the FAT binary which will work
68
+ on both Ruby 1.8 and 1.9. The Windows utility called pik is useful for
69
+ switching between Ruby versions.
70
+
71
+ After building the gem, verify the examples work by running:
72
+ 1. rake examples
73
+
74
+ Operating Systems Notes:
75
+
76
+ Debian Linux
77
+ ------------
78
+ 1. The following should get you the packages you need:
79
+ sudo aptitude install build-essential bison openssl libreadline5
80
+ libreadline-dev curl git-core zlib1g zlib1g-dev libssl-dev vim
81
+ libsqlite3-0 libsqlite3-dev sqlite3 libreadline5-dev libreadline6-dev
82
+ libxml2-dev git-core subversion autoconf xorg-dev libgl1-mesa-dev
83
+ libglu1-mesa-dev
84
+
85
+ Mac OSX Snow Leopard
86
+ -----------------------
87
+ 1. XCode
88
+ 2. Brew (http://mxcl.github.com/homebrew/)
89
+ Install qt with 'brew install qt'
90
+
91
+ Windows - Note: Only necessary for debugging (binary gem available)
92
+ --------
93
+ 1. mingw from the Qt SDK in your path: ie C:\Qt\2010.04\mingw\bin
94
+
95
+ Install
96
+ ------
97
+ On linux/MacOSX you must make sure you have all the necessary prerequisites
98
+ installed or the compile will fail.
99
+
100
+ gem install qtbindings
101
+
102
+ This should always work flawlessly on Windows because everything is nicely
103
+ packaged into a binary gem. However, the gem is very large ~90MB, so please
104
+ be patient while gem downloads the file.
105
+
106
+ To get help:
107
+ Sign up to the kdebindings mailing list at:
108
+ https://mail.kde.org/mailman/listinfo/kde-bindings
109
+ You can also file tickets here at github for issues specific to the
110
+ qtbindings gem.
111
+
112
+ License:
113
+ This library is released under the LGPL Version 2.1.
114
+ See COPYING.LIB.txt
115
+
116
+ Disclaimer:
117
+ Almost all of this code was written by the great guys who work on the KDE
118
+ bindings project, particurly Arno Rehn and Richard Dale. I hope to increase
119
+ the adoption and use of the code that they have written.
data/Rakefile CHANGED
@@ -1,4 +1,3 @@
1
- require 'rubygems'
2
1
  require 'rake'
3
2
 
4
3
  windows = false
@@ -17,20 +16,35 @@ end
17
16
 
18
17
  def set_version
19
18
  if ENV['VERSION']
20
- File.open('lib/qtbindings_version.rb', 'w') do |file|
19
+ File.open('lib/qtbindings_version.rb', 'w') do |file|
21
20
  file.write("QTBINDINGS_VERSION = '#{ENV['VERSION']}'\n")
22
21
  file.write("QTBINDINGS_RELEASE_DATE = '#{Time.now}'\n")
23
22
  end
24
- end
23
+ end
25
24
  end
26
25
 
27
26
  def clear_version
28
27
  if ENV['VERSION']
29
- File.open('lib/qtbindings_version.rb', 'w') do |file|
28
+ File.open('lib/qtbindings_version.rb', 'w') do |file|
30
29
  file.write("QTBINDINGS_VERSION = '0.0.0.0'\n")
31
30
  file.write("QTBINDINGS_RELEASE_DATE = ''\n")
32
31
  end
33
- end
32
+ end
33
+ end
34
+
35
+ task :build_examples do
36
+ # Go into the examples directory and look for all the makefiles and build them
37
+ Dir['examples/**/makefile'].each do |file|
38
+ if windows
39
+ system("cd #{File.dirname(file).gsub('/', '\\')} && #{MAKE}")
40
+ else
41
+ system("cd #{File.dirname(file)} && #{MAKE}")
42
+ end
43
+ end
44
+ end
45
+
46
+ task :examples => [:build_examples] do
47
+ system('cd examples && ruby run_all.rb')
34
48
  end
35
49
 
36
50
  task :default => [:all]
@@ -39,30 +53,27 @@ task :extconf do
39
53
  system('ruby extconf.rb')
40
54
  end
41
55
 
42
- task :all => [:extconf] do
56
+ # All calls 'make clean' and 'make build'
57
+ task :all => [:extconf] do
43
58
  system("#{MAKE} all")
44
59
  end
45
60
 
46
- task :clean => [:extconf] do
61
+ task :clean => [:extconf] do
47
62
  system("#{MAKE} clean")
48
63
  end
49
64
 
50
- task :distclean => [:extconf] do
65
+ task :distclean => [:extconf] do
51
66
  system("#{MAKE} distclean")
52
67
  end
53
68
 
54
- task :build => [:extconf] do
69
+ task :make_build => [:extconf] do
55
70
  system("#{MAKE} build")
56
71
  end
57
72
 
58
- task :install => [:extconf] do
73
+ task :install => [:extconf] do
59
74
  system("#{MAKE} install")
60
75
  end
61
76
 
62
- task :installqt => [:extconf] do
63
- system("#{MAKE} installqt")
64
- end
65
-
66
77
  task :gem => [:distclean] do
67
78
  warn_version()
68
79
  set_version()
@@ -70,27 +81,17 @@ task :gem => [:distclean] do
70
81
  clear_version()
71
82
  end
72
83
 
73
- task :gemnative => [:clean] do
84
+ task :gemnative do
74
85
  warn_version()
75
86
  set_version()
87
+ system("#{MAKE} installqt")
76
88
  system("gem build qtbindingsnative.gemspec")
77
89
  clear_version()
78
90
  end
79
91
 
80
- task :gemwindows => [:installqt, :gemnative]
81
-
82
- task :ryanbuildwindows do
83
- if RUBY_VERSION.split('.')[1].to_i == 9
84
- system("move C:\\Ruby C:\\Ruby191 && move C:\\Ruby187 C:\\Ruby")
85
- end
86
- Rake::Task[:extconf].execute
87
- Rake::Task[:all].execute
88
- Rake::Task[:install].execute
89
- system("move C:\\Ruby C:\\Ruby187 && move C:\\Ruby191 C:\\Ruby")
92
+ task :build do
90
93
  Rake::Task[:extconf].execute
91
94
  Rake::Task[:all].execute
92
95
  Rake::Task[:install].execute
93
- system("move C:\\Ruby C:\\Ruby191 && move C:\\Ruby187 C:\\Ruby")
94
96
  end
95
97
 
96
- task :ryangemwindows => [:ryanbuildwindows, :gemwindows]
@@ -22,24 +22,24 @@
22
22
 
23
23
  ** Translated to QtRuby by Richard Dale
24
24
  =end
25
-
25
+
26
26
  class Window < Qt::Widget
27
-
27
+
28
28
  slots 'setIcon(int)',
29
29
  'iconActivated(QSystemTrayIcon::ActivationReason)',
30
30
  :showMessage,
31
31
  :messageClicked
32
-
32
+
33
33
  def initialize(parent = nil)
34
34
  super(parent)
35
35
  createIconGroupBox()
36
36
  createMessageGroupBox()
37
-
37
+
38
38
  @iconLabel.minimumWidth = @durationLabel.sizeHint.width
39
-
39
+
40
40
  createActions()
41
41
  createTrayIcon()
42
-
42
+
43
43
  connect(@showMessageButton, SIGNAL(:clicked), self, SLOT(:showMessage))
44
44
  connect(@showIconCheckBox, SIGNAL('toggled(bool)'),
45
45
  @trayIcon, SLOT('setVisible(bool)'))
@@ -48,26 +48,26 @@ class Window < Qt::Widget
48
48
  connect(@trayIcon, SIGNAL(:messageClicked), self, SLOT(:messageClicked))
49
49
  connect(@trayIcon, SIGNAL('activated(QSystemTrayIcon::ActivationReason)'),
50
50
  self, SLOT('iconActivated(QSystemTrayIcon::ActivationReason)'))
51
-
51
+
52
52
  self.layout = Qt::VBoxLayout.new do |m|
53
53
  m.addWidget(@iconGroupBox)
54
54
  m.addWidget(@messageGroupBox)
55
55
  end
56
-
56
+
57
57
  @iconComboBox.currentIndex = 1
58
58
  @trayIcon.show
59
-
59
+
60
60
  setWindowTitle(tr("Systray"))
61
61
  resize(400, 300)
62
62
  end
63
-
63
+
64
64
  def setVisible(visible)
65
65
  @minimizeAction.enabled = visible
66
66
  @maximizeAction.enabled = !visible
67
67
  @restoreAction.enabled = !visible
68
68
  super(visible)
69
69
  end
70
-
70
+
71
71
  def closeEvent(event)
72
72
  if @trayIcon.visible?
73
73
  Qt::MessageBox.information(self, tr("Systray"),
@@ -80,54 +80,50 @@ class Window < Qt::Widget
80
80
  event.ignore()
81
81
  end
82
82
  end
83
-
83
+
84
84
  def setIcon(index)
85
85
  icon = @iconComboBox.itemIcon(index)
86
86
  @trayIcon.icon = icon
87
87
  setWindowIcon(icon)
88
-
88
+
89
89
  @trayIcon.toolTip = @iconComboBox.itemText(index)
90
90
  end
91
-
91
+
92
92
  def iconActivated(reason)
93
93
  case reason
94
- when Qt::SystemTrayIcon::Trigger:
95
- when Qt::SystemTrayIcon::DoubleClick:
94
+ when Qt::SystemTrayIcon::Trigger
95
+ when Qt::SystemTrayIcon::DoubleClick
96
96
  @iconComboBox.currentIndex = (iconComboBox.currentIndex + 1) % @iconComboBox.length
97
- break
98
- when Qt::SystemTrayIcon::MiddleClick:
97
+ when Qt::SystemTrayIcon::MiddleClick
99
98
  showMessage()
100
- break
101
- else
102
-
103
99
  end
104
100
  end
105
-
101
+
106
102
  def showMessage()
107
103
  icon = @typeComboBox.itemData(@typeComboBox.currentIndex).to_i
108
104
  @trayIcon.showMessage(@titleEdit.text, @bodyEdit.toPlainText, icon,
109
105
  @durationSpinBox.value() * 1000)
110
106
  end
111
-
107
+
112
108
  def messageClicked()
113
109
  Qt::MessageBox.information(nil, tr("Systray"),
114
110
  tr("Sorry, I already gave what help I could.\n" \
115
111
  "Maybe you should try asking a human?"))
116
112
  end
117
-
113
+
118
114
  def createIconGroupBox()
119
115
  @iconGroupBox = Qt::GroupBox.new(tr("Tray Icon"))
120
-
116
+
121
117
  @iconLabel = Qt::Label.new("Icon:")
122
-
118
+
123
119
  @iconComboBox = Qt::ComboBox.new
124
120
  @iconComboBox.addItem(Qt::Icon.new(":/images/bad.svg"), tr("Bad"))
125
121
  @iconComboBox.addItem(Qt::Icon.new(":/images/heart.svg"), tr("Heart"))
126
122
  @iconComboBox.addItem(Qt::Icon.new(":/images/trash.svg"), tr("Trash"))
127
-
123
+
128
124
  @showIconCheckBox = Qt::CheckBox.new(tr("Show icon"))
129
125
  @showIconCheckBox.checked = true
130
-
126
+
131
127
  @iconGroupBox.layout = Qt::HBoxLayout.new do |l|
132
128
  l.addWidget(@iconLabel)
133
129
  l.addWidget(@iconComboBox)
@@ -135,27 +131,27 @@ class Window < Qt::Widget
135
131
  l.addWidget(@showIconCheckBox)
136
132
  end
137
133
  end
138
-
134
+
139
135
  def createMessageGroupBox()
140
136
  @messageGroupBox = Qt::GroupBox.new(tr("Balloon Message"))
141
-
137
+
142
138
  @typeLabel = Qt::Label.new(tr("Type:"))
143
-
139
+
144
140
  @typeComboBox = Qt::ComboBox.new
145
141
  @typeComboBox.addItem(tr("None"), Qt::Variant.new(Qt::SystemTrayIcon::NoIcon.to_i))
146
- @typeComboBox.addItem(style().standardIcon(Qt::Style::SP_MessageBoxInformation),
142
+ @typeComboBox.addItem(style().standardIcon(Qt::Style::SP_MessageBoxInformation),
147
143
  tr("Information"),
148
144
  Qt::Variant.new(Qt::SystemTrayIcon::Information.to_i))
149
- @typeComboBox.addItem(style().standardIcon(Qt::Style::SP_MessageBoxWarning),
145
+ @typeComboBox.addItem(style().standardIcon(Qt::Style::SP_MessageBoxWarning),
150
146
  tr("Warning"),
151
147
  Qt::Variant.new(Qt::SystemTrayIcon::Warning.to_i))
152
- @typeComboBox.addItem(style().standardIcon(Qt::Style::SP_MessageBoxCritical),
148
+ @typeComboBox.addItem(style().standardIcon(Qt::Style::SP_MessageBoxCritical),
153
149
  tr("Critical"),
154
150
  Qt::Variant.new(Qt::SystemTrayIcon::Critical.to_i))
155
151
  @typeComboBox.currentIndex = 1
156
-
152
+
157
153
  @durationLabel = Qt::Label.new(tr("Duration:"))
158
-
154
+
159
155
  @durationSpinBox = Qt::SpinBox.new do |s|
160
156
  s.range = 5..60
161
157
  s.suffix = " s"
@@ -165,20 +161,20 @@ class Window < Qt::Widget
165
161
  @durationWarningLabel = Qt::Label.new(tr("(some systems might ignore self " \
166
162
  "hint)"))
167
163
  @durationWarningLabel.indent = 10
168
-
164
+
169
165
  @titleLabel = Qt::Label.new(tr("Title:"))
170
-
166
+
171
167
  @titleEdit = Qt::LineEdit.new(tr("Cannot connect to network"))
172
-
168
+
173
169
  @bodyLabel = Qt::Label.new(tr("Body:"))
174
-
170
+
175
171
  @bodyEdit = Qt::TextEdit.new
176
172
  @bodyEdit.setPlainText(tr("Don't believe me. Honestly, I don't have a " \
177
173
  "clue.\nClick self balloon for details."))
178
-
174
+
179
175
  @showMessageButton = Qt::PushButton.new(tr("Show Message"))
180
176
  @showMessageButton.default = true
181
-
177
+
182
178
  @messageGroupBox.layout = Qt::GridLayout.new do |m|
183
179
  m.addWidget(@typeLabel, 0, 0)
184
180
  m.addWidget(@typeComboBox, 0, 1, 1, 2)
@@ -194,21 +190,21 @@ class Window < Qt::Widget
194
190
  m.setRowStretch(4, 1)
195
191
  end
196
192
  end
197
-
193
+
198
194
  def createActions()
199
195
  @minimizeAction = Qt::Action.new(tr("Mi&nimize"), self)
200
196
  connect(@minimizeAction, SIGNAL(:triggered), self, SLOT(:hide))
201
-
197
+
202
198
  @maximizeAction = Qt::Action.new(tr("Ma&ximize"), self)
203
199
  connect(@maximizeAction, SIGNAL(:triggered), self, SLOT(:showMaximized))
204
-
200
+
205
201
  @restoreAction = Qt::Action.new(tr("&Restore"), self)
206
202
  connect(@restoreAction, SIGNAL(:triggered), self, SLOT(:show))
207
-
203
+
208
204
  @quitAction = Qt::Action.new(tr("&Quit"), self)
209
205
  connect(@quitAction, SIGNAL(:triggered), $qApp, SLOT(:quit))
210
206
  end
211
-
207
+
212
208
  def createTrayIcon()
213
209
  @trayIconMenu = Qt::Menu.new(self) do |t|
214
210
  t.addAction(@minimizeAction)