qtbindings 4.6.3.1 → 4.6.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. data/CHANGELOG.txt +14 -0
  2. data/KNOWN_ISSUES.txt +5 -11
  3. data/examples/itemviews/chart/pieview.rb +1 -1
  4. data/examples/network/ftp/ftpwindow.rb +8 -3
  5. data/examples/network/http/httpwindow.rb +1 -1
  6. data/examples/painting/fontsampler/mainwindow.rb +14 -13
  7. data/examples/painting/fontsampler/previewdialog.rb +40 -39
  8. data/examples/painting/fontsampler/previewlabel.rb +2 -2
  9. data/examples/painting/svgviewer/svgwindow.rb +2 -2
  10. data/ext/cmake/modules/FindQt4.cmake +1 -0
  11. data/ext/generator/generatorpreprocessor.cpp +43 -1
  12. data/ext/generator/generators/smoke/generator_smoke.cpp +8 -1
  13. data/ext/generator/generators/smoke/helpers.cpp +5 -5
  14. data/ext/generator/generators/smoke/writeClasses.cpp +1 -1
  15. data/ext/generator/parser/lexer.cpp +1 -0
  16. data/ext/generator/parser/parser.cpp +4 -2
  17. data/ext/generator/parser/rpp/chartools.cpp +20 -0
  18. data/ext/generator/parser/rpp/chartools.h +7 -0
  19. data/ext/generator/parser/rpp/pp-macro-expander.cpp +3 -3
  20. data/ext/generator/parser/tokens.cpp +3 -0
  21. data/ext/generator/parser/tokens.h +1 -0
  22. data/ext/generator/type_compiler.cpp +1 -1
  23. data/ext/ruby/qtruby/src/handlers.cpp +13 -3
  24. data/ext/smoke/CMakeLists.txt +1 -0
  25. data/ext/smoke/qtcore/smokeconfig.xml +2 -0
  26. data/ext/smoke/qtdeclarative/smokeconfig.xml +1 -0
  27. data/ext/smoke/qthelp/CMakeLists.txt +45 -0
  28. data/ext/smoke/qthelp/config.xml.cmake +13 -0
  29. data/ext/smoke/qthelp/qthelp_includes.h +3 -0
  30. data/ext/smoke/qthelp/smokeconfig.xml +53 -0
  31. data/ext/smoke/qthelp_smoke.h +16 -0
  32. data/ext/smoke/qtopengl/config.xml.cmake +1 -0
  33. data/ext/smoke/qtxmlpatterns/smokeconfig.xml +1 -1
  34. data/extconf.rb +60 -58
  35. data/lib/Qt/qtruby4.rb +12 -15
  36. data/lib/qtbindings_version.rb +2 -2
  37. metadata +8 -8
  38. data/examples/textedit/textedit.rb +0 -150
  39. data/ext/ruby/qtruby/src/extconf.rb +0 -11
data/CHANGELOG.txt CHANGED
@@ -1,5 +1,6 @@
1
1
  qtbindings Changelog:
2
2
  -----------------
3
+ v4.6.3.0
3
4
  2010/07/27 - Apply Ryan Melton's patches to build on Windows
4
5
  2010/07/27 - Apply Ryan Melton's patch to fix ExtraSelection
5
6
  2010/07/28 - Sync with kde-bindings trunk rev 1156258
@@ -7,6 +8,19 @@ qtbindings Changelog:
7
8
  2010/07/28 - Apply Paolo Capriotti's patch for deferred objects
8
9
  2010/07/28 - Apply Paolo Capriotti's patch for marking QGraphicsEffect
9
10
  2010/07/28 - Sync with kde-bindings trunk rev 1156329
11
+
12
+ v4.6.3.1
10
13
  2010/09/21 - Update examples to work with Ruby 1.9.2
11
14
  2010/09/21 - Fix 4 examples
12
15
  2010/09/21 - Sync with kde-bindings trunk rev 1178034
16
+
17
+ v4.6.3.2
18
+ 2010/10/14 - Handle ambiguous results with method lookup
19
+ 2010/10/15 - Fix bug with UTF-8 support
20
+ 2010/10/17 - Sync with kde-bindings trunk rev 1186952
21
+ 2010/10/19 - Fix Http example
22
+ 2010/11/04 - Fix chart example and all methods returning QFlags&
23
+ 2010/12/03 - Add framework support on Mac OSX which also fixes the OpenGl example
24
+ 2010/12/05 - Make smokegen not parse stdio.h as a workaround for FreeBSD based systems
25
+ 2010/12/05 - Minor changes to support Qt 4.7 on various platforms including Ubuntu 10.10
26
+
data/KNOWN_ISSUES.txt CHANGED
@@ -1,11 +1,5 @@
1
- 1. chart example fails - can't handle QFlags as return type
2
- 2. broadcastsender example fails - undefined method writeDatagram
3
- 3. fortuneserver example fails - undefined method seek
4
- 4. ftp example fails - undefined method icon=
5
- 5. http example fails - undefined method empty? for nil
6
- 6. textures example fails - Cannot handle Gluint
7
- 7. fontsample example fails - undefined method checkState for nil
8
- 8. svgviewer example fails - undefined method rx= for Qt::Point
9
- 9. passivepopup example fails - seg fault
10
- 10. textedit example fails - undefined method setTextFormat
11
- 11. digitalclock example fails - unresolved constructor call DigitalClock
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
@@ -261,7 +261,7 @@ class PieView < Qt::AbstractItemView
261
261
  selections = selectionModel()
262
262
  option = viewOptions()
263
263
  state = option.state
264
-
264
+
265
265
  background = option.palette.base()
266
266
  foreground = Qt::Pen.new(option.palette.color(Qt::Palette::Foreground))
267
267
  textPen = Qt::Pen.new(option.palette.color(Qt::Palette::Text))
@@ -38,6 +38,7 @@ class FtpWindow < Qt::Dialog
38
38
  super(parent)
39
39
  @ftp = nil
40
40
  @isDirectory = {}
41
+ @currentPath = ""
41
42
  @ftpServerLabel = Qt::Label.new(tr("Ftp &server:"))
42
43
  @ftpServerLineEdit = Qt::LineEdit.new("ftp.trolltech.com")
43
44
  @ftpServerLabel.buddy = @ftpServerLineEdit
@@ -95,6 +96,9 @@ class FtpWindow < Qt::Dialog
95
96
  end
96
97
 
97
98
  def connectOrDisconnect()
99
+ @currentPath = ""
100
+ @isDirectory = {}
101
+
98
102
  if !@ftp.nil?
99
103
  @ftp.abort
100
104
  @ftp.deleteLater
@@ -134,7 +138,7 @@ class FtpWindow < Qt::Dialog
134
138
  return
135
139
  end
136
140
 
137
- @file = Qt::File.new(fileName)
141
+ @file = Qt::File.new(@fileName)
138
142
  if !@file.open(Qt::IODevice::WriteOnly)
139
143
  Qt::MessageBox.information(self, tr("FTP"),
140
144
  tr("Unable to save the @file %s: %s." %
@@ -143,7 +147,7 @@ class FtpWindow < Qt::Dialog
143
147
  return
144
148
  end
145
149
 
146
- @ftp.get(@fileList.currentItem.text, file)
150
+ @ftp.get(@fileList.currentItem.text, @file)
147
151
 
148
152
  @progressDialog.labelText = tr("Downloading %s..." % @fileName)
149
153
  @progressDialog.show()
@@ -199,7 +203,8 @@ class FtpWindow < Qt::Dialog
199
203
  item = Qt::ListWidgetItem.new
200
204
  item.text = urlInfo.name()
201
205
  pixmap = Qt::Pixmap.new(urlInfo.dir? ? "images/dir.png" : "images/file.png")
202
- item.icon = pixmap
206
+
207
+ item.icon = Qt::Icon.new(pixmap)
203
208
 
204
209
  @isDirectory[urlInfo.name()] = urlInfo.isDir()
205
210
  @fileList.addItem(item)
@@ -106,7 +106,7 @@ class HttpWindow < Qt::Dialog
106
106
  end
107
107
 
108
108
  @http.setHost(url.host, url.port != -1 ? url.port : 80)
109
- if !url.userName.empty?
109
+ if url.userName and !url.userName.empty?
110
110
  @http.user = url.userName(url.password)
111
111
  end
112
112
 
@@ -34,7 +34,7 @@ class MainWindow < Qt::MainWindow
34
34
  'on_printAction_triggered()',
35
35
  'on_printPreviewAction_triggered()',
36
36
  'on_unmarkAction_triggered()',
37
- 'printPage(int, QPainter &, QPrinter &)',
37
+ 'printPage(int, QPainter*, QPrinter*)',
38
38
  'showFont(QTreeWidgetItem *)',
39
39
  'updateStyles(QTreeWidgetItem *, int)'
40
40
 
@@ -88,7 +88,7 @@ class MainWindow < Qt::MainWindow
88
88
  def on_clearAction_triggered()
89
89
  currentItem = @ui.fontTree.currentItem()
90
90
  @ui.fontTree.selectedItems.each do |item|
91
- fontTree.setItemSelected(item, false)
91
+ @ui.fontTree.setItemSelected(item, false)
92
92
  end
93
93
  @ui.fontTree.setItemSelected(currentItem, true)
94
94
  end
@@ -169,7 +169,7 @@ class MainWindow < Qt::MainWindow
169
169
  elsif state == Qt::Unchecked &&
170
170
  parent.checkState(0) == Qt::Checked
171
171
  marked = false
172
- for row in 0..parent.childCount
172
+ for row in 0..(parent.childCount - 1)
173
173
  if parent.child(row).checkState(0) == Qt::Checked
174
174
  marked = true
175
175
  break
@@ -183,7 +183,7 @@ class MainWindow < Qt::MainWindow
183
183
  else
184
184
  row
185
185
  number = 0
186
- for row in 0..item.childCount
186
+ for row in 0..(item.childCount - 1)
187
187
  if item.child(row).checkState(0) == Qt::Checked
188
188
  number += 1
189
189
  end
@@ -192,13 +192,13 @@ class MainWindow < Qt::MainWindow
192
192
  # Mark/unmark all child items when marking/unmarking top-level
193
193
  # items.
194
194
  if state == Qt::Checked && number == 0
195
- for row in 0..item.childCount
195
+ for row in 0..(item.childCount - 1)
196
196
  if item.child(row).checkState(0) == Qt::Unchecked
197
197
  item.child(row).setCheckState(0, Qt::Checked)
198
198
  end
199
199
  end
200
200
  elsif state == Qt::Unchecked && number > 0
201
- for row in 0..item.childCount
201
+ for row in 0..(item.childCount - 1)
202
202
  if item.child(row).checkState(0) == Qt::Checked
203
203
  item.child(row).setCheckState(0, Qt::Unchecked)
204
204
  end
@@ -268,18 +268,18 @@ class MainWindow < Qt::MainWindow
268
268
 
269
269
  preview = PreviewDialog.new(printer, self)
270
270
  connect(preview,
271
- SIGNAL('pageRequested(int, QPainter &, QPrinter &)'),
272
- self, SLOT('printPage(int, QPainter &, QPrinter &)'),
271
+ SIGNAL('pageRequested(int, QPainter*, QPrinter*)'),
272
+ self, SLOT('printPage(int, QPainter*, QPrinter*)'),
273
273
  Qt::DirectConnection)
274
274
 
275
- preview.numberOfPages = @pageMap.length
275
+ preview.setNumberOfPages = @pageMap.length
276
276
  preview.exec()
277
277
  end
278
278
 
279
279
  def currentPageMap()
280
280
  pageMap = {}
281
281
 
282
- for row in 0..@ui.fontTree.topLevelItemCount
282
+ for row in 0..(@ui.fontTree.topLevelItemCount - 1)
283
283
  familyItem = @ui.fontTree.topLevelItem(row)
284
284
 
285
285
  if familyItem.checkState(0) == Qt::Checked
@@ -287,10 +287,10 @@ class MainWindow < Qt::MainWindow
287
287
  pageMap[family] = []
288
288
  end
289
289
 
290
- for childRow in 0..familyItem.childCount
290
+ for childRow in 0..(familyItem.childCount - 1)
291
291
  styleItem = familyItem.child(childRow)
292
292
  if styleItem.checkState(0) == Qt::Checked
293
- pageMap[family].append(styleItem)
293
+ pageMap[family] << styleItem
294
294
  end
295
295
  end
296
296
  end
@@ -304,6 +304,7 @@ class MainWindow < Qt::MainWindow
304
304
  end
305
305
 
306
306
  def printPage(index, painter, printer)
307
+ pageMap = currentPageMap()
307
308
  family = pageMap.keys()[index]
308
309
  items = pageMap[family]
309
310
 
@@ -356,7 +357,7 @@ class MainWindow < Qt::MainWindow
356
357
  rect = fontMetrics.boundingRect("%s %s" % [font.family(), style])
357
358
  y += rect.height()
358
359
  painter.font = font
359
- painter.drawText(Qt::PointF.neew(x, y),
360
+ painter.drawText(Qt::PointF.new(x, y),
360
361
  "%s %s" % [family, style])
361
362
  y += interLineHeight
362
363
  end
@@ -31,7 +31,7 @@ class PreviewDialog < Qt::Dialog
31
31
  SmallPreviewLength = 200
32
32
  LargePreviewLength = 400
33
33
 
34
- signals 'pageRequested(int, QPainter &, QPrinter &)'
34
+ signals 'pageRequested(int, QPainter*, QPrinter*)'
35
35
 
36
36
  slots 'accept()',
37
37
  'addPage()',
@@ -49,7 +49,7 @@ class PreviewDialog < Qt::Dialog
49
49
 
50
50
  @currentPage = 0
51
51
  @pageCount = 0
52
- @ui.pageList.setIconSize(Qt::Size(SmallPreviewLength, SmallPreviewLength))
52
+ @ui.pageList.setIconSize(Qt::Size.new(SmallPreviewLength, SmallPreviewLength))
53
53
  @ui.pageList.header().hide()
54
54
  @previewLabel = PreviewLabel.new
55
55
  @printer = Qt::Printer.new
@@ -60,40 +60,40 @@ class PreviewDialog < Qt::Dialog
60
60
  end
61
61
 
62
62
  def setupComboBoxes()
63
- @ui.paperSizeCombo.addItem(tr("A0 (841 x 1189 mm)"), Qt::Printer::A0)
64
- @ui.paperSizeCombo.addItem(tr("A1 (594 x 841 mm)"), Qt::Printer::A1)
65
- @ui.paperSizeCombo.addItem(tr("A2 (420 x 594 mm)"), Qt::Printer::A2)
66
- @ui.paperSizeCombo.addItem(tr("A3 (297 x 420 mm)"), Qt::Printer::A3)
67
- @ui.paperSizeCombo.addItem(tr("A4 (210 x 297 mm, 8.26 x 11.7 inches)"), Qt::Printer::A4)
68
- @ui.paperSizeCombo.addItem(tr("A5 (148 x 210 mm)"), Qt::Printer::A5)
69
- @ui.paperSizeCombo.addItem(tr("A6 (105 x 148 mm)"), Qt::Printer::A6)
70
- @ui.paperSizeCombo.addItem(tr("A7 (74 x 105 mm)"), Qt::Printer::A7)
71
- @ui.paperSizeCombo.addItem(tr("A8 (52 x 74 mm)"), Qt::Printer::A8)
72
- @ui.paperSizeCombo.addItem(tr("A9 (37 x 52 mm)"), Qt::Printer::A9)
73
- @ui.paperSizeCombo.addItem(tr("B0 (1000 x 1414 mm)"), Qt::Printer::B0)
74
- @ui.paperSizeCombo.addItem(tr("B1 (707 x 1000 mm)"), Qt::Printer::B1)
75
- @ui.paperSizeCombo.addItem(tr("B2 (500 x 707 mm)"), Qt::Printer::B2)
76
- @ui.paperSizeCombo.addItem(tr("B3 (353 x 500 mm)"), Qt::Printer::B3)
77
- @ui.paperSizeCombo.addItem(tr("B4 (250 x 353 mm)"), Qt::Printer::B4)
78
- @ui.paperSizeCombo.addItem(tr("B5 (176 x 250 mm, 6.93 x 9.84 inches)"), Qt::Printer::B5)
79
- @ui.paperSizeCombo.addItem(tr("B6 (125 x 176 mm)"), Qt::Printer::B6)
80
- @ui.paperSizeCombo.addItem(tr("B7 (88 x 125 mm)"), Qt::Printer::B7)
81
- @ui.paperSizeCombo.addItem(tr("B8 (62 x 88 mm)"), Qt::Printer::B8)
82
- @ui.paperSizeCombo.addItem(tr("B9 (44 x 62 mm)"), Qt::Printer::B9)
83
- @ui.paperSizeCombo.addItem(tr("B10 (31 x 44 mm)"), Qt::Printer::B10)
84
- @ui.paperSizeCombo.addItem(tr("C5E (163 x 229 mm)"), Qt::Printer::C5E)
85
- @ui.paperSizeCombo.addItem(tr("DLE (110 x 220 mm)"), Qt::Printer::DLE)
86
- @ui.paperSizeCombo.addItem(tr("Executive (7.5 x 10 inches, 191 x 254 mm)"), Qt::Printer::Executive)
87
- @ui.paperSizeCombo.addItem(tr("Folio (210 x 330 mm)"), Qt::Printer::Folio)
88
- @ui.paperSizeCombo.addItem(tr("Ledger (432 x 279 mm)"), Qt::Printer::Ledger)
89
- @ui.paperSizeCombo.addItem(tr("Legal (8.5 x 14 inches, 216 x 356 mm)"), Qt::Printer::Legal)
90
- @ui.paperSizeCombo.addItem(tr("Letter (8.5 x 11 inches, 216 x 279 mm)"), Qt::Printer::Letter)
91
- @ui.paperSizeCombo.addItem(tr("Tabloid (279 x 432 mm)"), Qt::Printer::Tabloid)
92
- @ui.paperSizeCombo.addItem(tr("US Common #10 Envelope (105 x 241 mm)"), Qt::Printer::Comm10E)
93
- @ui.paperSizeCombo.currentIndex = @ui.paperSizeCombo.findData(Qt::Printer::A4)
94
-
95
- @ui.paperOrientationCombo.addItem(tr("Portrait"), Qt::Printer::Portrait)
96
- @ui.paperOrientationCombo.addItem(tr("Landscape"), Qt::Printer::Landscape)
63
+ @ui.paperSizeCombo.addItem(tr("A0 (841 x 1189 mm)"), Qt::Variant.new(Qt::Printer::A0))
64
+ @ui.paperSizeCombo.addItem(tr("A1 (594 x 841 mm)"), Qt::Variant.new(Qt::Printer::A1))
65
+ @ui.paperSizeCombo.addItem(tr("A2 (420 x 594 mm)"), Qt::Variant.new(Qt::Printer::A2))
66
+ @ui.paperSizeCombo.addItem(tr("A3 (297 x 420 mm)"), Qt::Variant.new(Qt::Printer::A3))
67
+ @ui.paperSizeCombo.addItem(tr("A4 (210 x 297 mm, 8.26 x 11.7 inches)"), Qt::Variant.new(Qt::Printer::A4))
68
+ @ui.paperSizeCombo.addItem(tr("A5 (148 x 210 mm)"), Qt::Variant.new(Qt::Printer::A5))
69
+ @ui.paperSizeCombo.addItem(tr("A6 (105 x 148 mm)"), Qt::Variant.new(Qt::Printer::A6))
70
+ @ui.paperSizeCombo.addItem(tr("A7 (74 x 105 mm)"), Qt::Variant.new(Qt::Printer::A7))
71
+ @ui.paperSizeCombo.addItem(tr("A8 (52 x 74 mm)"), Qt::Variant.new(Qt::Printer::A8))
72
+ @ui.paperSizeCombo.addItem(tr("A9 (37 x 52 mm)"), Qt::Variant.new(Qt::Printer::A9))
73
+ @ui.paperSizeCombo.addItem(tr("B0 (1000 x 1414 mm)"), Qt::Variant.new(Qt::Printer::B0))
74
+ @ui.paperSizeCombo.addItem(tr("B1 (707 x 1000 mm)"), Qt::Variant.new(Qt::Printer::B1))
75
+ @ui.paperSizeCombo.addItem(tr("B2 (500 x 707 mm)"), Qt::Variant.new(Qt::Printer::B2))
76
+ @ui.paperSizeCombo.addItem(tr("B3 (353 x 500 mm)"), Qt::Variant.new(Qt::Printer::B3))
77
+ @ui.paperSizeCombo.addItem(tr("B4 (250 x 353 mm)"), Qt::Variant.new(Qt::Printer::B4))
78
+ @ui.paperSizeCombo.addItem(tr("B5 (176 x 250 mm, 6.93 x 9.84 inches)"), Qt::Variant.new(Qt::Printer::B5))
79
+ @ui.paperSizeCombo.addItem(tr("B6 (125 x 176 mm)"), Qt::Variant.new(Qt::Printer::B6))
80
+ @ui.paperSizeCombo.addItem(tr("B7 (88 x 125 mm)"), Qt::Variant.new(Qt::Printer::B7))
81
+ @ui.paperSizeCombo.addItem(tr("B8 (62 x 88 mm)"), Qt::Variant.new(Qt::Printer::B8))
82
+ @ui.paperSizeCombo.addItem(tr("B9 (44 x 62 mm)"), Qt::Variant.new(Qt::Printer::B9))
83
+ @ui.paperSizeCombo.addItem(tr("B10 (31 x 44 mm)"), Qt::Variant.new(Qt::Printer::B10))
84
+ @ui.paperSizeCombo.addItem(tr("C5E (163 x 229 mm)"), Qt::Variant.new(Qt::Printer::C5E))
85
+ @ui.paperSizeCombo.addItem(tr("DLE (110 x 220 mm)"), Qt::Variant.new(Qt::Printer::DLE))
86
+ @ui.paperSizeCombo.addItem(tr("Executive (7.5 x 10 inches, 191 x 254 mm)"), Qt::Variant.new(Qt::Printer::Executive))
87
+ @ui.paperSizeCombo.addItem(tr("Folio (210 x 330 mm)"), Qt::Variant.new(Qt::Printer::Folio))
88
+ @ui.paperSizeCombo.addItem(tr("Ledger (432 x 279 mm)"), Qt::Variant.new(Qt::Printer::Ledger))
89
+ @ui.paperSizeCombo.addItem(tr("Legal (8.5 x 14 inches, 216 x 356 mm)"), Qt::Variant.new(Qt::Printer::Legal))
90
+ @ui.paperSizeCombo.addItem(tr("Letter (8.5 x 11 inches, 216 x 279 mm)"), Qt::Variant.new(Qt::Printer::Letter))
91
+ @ui.paperSizeCombo.addItem(tr("Tabloid (279 x 432 mm)"), Qt::Variant.new(Qt::Printer::Tabloid))
92
+ @ui.paperSizeCombo.addItem(tr("US Common #10 Envelope (105 x 241 mm)"), Qt::Variant.new(Qt::Printer::Comm10E))
93
+ @ui.paperSizeCombo.currentIndex = @ui.paperSizeCombo.findData(Qt::Variant.new(Qt::Printer::A4))
94
+
95
+ @ui.paperOrientationCombo.addItem(tr("Portrait"), Qt::Variant.new(Qt::Printer::Portrait))
96
+ @ui.paperOrientationCombo.addItem(tr("Landscape"), Qt::Variant.new(Qt::Printer::Landscape))
97
97
  end
98
98
 
99
99
  def addPage()
@@ -131,8 +131,8 @@ class PreviewDialog < Qt::Dialog
131
131
  @printer.paperRect().height()].max
132
132
  width = pixmap.width() * @printer.paperRect().width() / longestSide
133
133
  height = pixmap.height() * @printer.paperRect().height() / longestSide
134
-
135
- pixmap.fill(qRgb(224,224,224))
134
+
135
+ pixmap.fill(Qt::Color.new(qRgb(224,224,224)))
136
136
  painter = Qt::Painter.new
137
137
  painter.begin(pixmap)
138
138
  painter.renderHint = Qt::Painter::Antialiasing
@@ -235,7 +235,8 @@ class PreviewDialog < Qt::Dialog
235
235
  end
236
236
 
237
237
  def on_paperSizeCombo_activated(index)
238
- @printer.pageSize = @ui.paperSizeCombo.itemData(index.to_i)
238
+ Qt.debug_level = 100
239
+ @printer.paperSize = @ui.paperSizeCombo.itemData(index.to_i).value
239
240
 
240
241
  for index in 0..@ui.pageList.topLevelItemCount
241
242
  paintItem(@ui.pageList.topLevelItem(index), index)
@@ -25,7 +25,7 @@
25
25
 
26
26
  class PreviewLabel < Qt::Widget
27
27
 
28
- def initialize(parent)
28
+ def initialize(parent = nil)
29
29
  super(parent)
30
30
  end
31
31
 
@@ -33,7 +33,7 @@ class PreviewLabel < Qt::Widget
33
33
  painter = Qt::Painter.new
34
34
  painter.begin(self)
35
35
  painter.fillRect(event.rect(), Qt::Color.new(224,224,224))
36
- painter.drawPixmap(0, 0, @pixmap)
36
+ painter.drawPixmap(0, 0, @pixmap) if @pixmap
37
37
  painter.end()
38
38
  end
39
39
 
@@ -62,8 +62,8 @@ class SvgWindow < Qt::ScrollArea
62
62
 
63
63
  def mousePressEvent(event)
64
64
  @mousePressPos = event.pos
65
- @scrollBarValuesOnMousePress.rx = horizontalScrollBar.value
66
- @scrollBarValuesOnMousePress.ry = verticalScrollBar.value
65
+ @scrollBarValuesOnMousePress.x = horizontalScrollBar.value
66
+ @scrollBarValuesOnMousePress.y = verticalScrollBar.value
67
67
  event.accept
68
68
  end
69
69
 
@@ -785,6 +785,7 @@ IF (QT4_QMAKE_FOUND)
785
785
  FIND_PATH(QT_QT_INCLUDE_DIR qglobal.h
786
786
  PATHS
787
787
  ${QT_HEADERS_DIR}/Qt
788
+ ${QT_HEADERS_DIR}/QtCore
788
789
  ${QT_LIBRARY_DIR}/QtCore.framework/Headers
789
790
  NO_DEFAULT_PATH
790
791
  )
@@ -201,16 +201,58 @@ rpp::Stream* Preprocessor::sourceNeeded(QString& fileName, rpp::Preprocessor::In
201
201
  }
202
202
  if (path.isEmpty()) {
203
203
  foreach (QDir dir, m_includeDirs) {
204
+ #if 0
205
+ if (dir.absolutePath().endsWith(".framework"))
206
+ {
207
+ dir.setPath(dir.absolutePath() + "/Headers");
208
+ }
209
+ #endif
210
+ // qWarning("Searching in %s", qPrintable(dir.absolutePath()));
204
211
  info.setFile(dir, fileName);
205
212
  if (info.isFile()) {
206
213
  path = info.absoluteFilePath();
214
+ // qWarning("Found #include<%s>", qPrintable(fileName));
207
215
  break;
208
216
  }
209
217
  }
210
218
  }
211
-
219
+
220
+ #if defined(Q_OS_DARWIN)
221
+ /* Try searching for frameworks in default locations */
222
+ if (path.isEmpty()) {
223
+ QStringList splitString = fileName.split("/");
224
+ if (splitString.size() >= 2) {
225
+ QString frameworkName = splitString.takeFirst();
226
+ QString remainingFileName = splitString.join("/");
227
+ QDir dir1 = QDir(("/System/Library/Frameworks/" + frameworkName) + ".framework/Headers");
228
+ QDir dir2 = QDir(("/Library/Frameworks/" + frameworkName) + ".framework/Headers");
229
+ info.setFile(dir1, remainingFileName);
230
+ if (info.isFile()) {
231
+ path = info.absoluteFilePath();
232
+ // qWarning("Found #include<%s>", qPrintable(fileName));
233
+ }
234
+ else {
235
+ info.setFile(dir2, remainingFileName);
236
+ if (info.isFile()) {
237
+ path = info.absoluteFilePath();
238
+ // qWarning("Found #include<%s>", qPrintable(fileName));
239
+ }
240
+ }
241
+ }
242
+ }
243
+ #endif
244
+
245
+ if (fileName == "stdio.h")
246
+ {
247
+ qWarning("Not parsing stdio.h because it is not handled correctly by smokegen on FreeBSD based systems");
248
+ return 0;
249
+ }
250
+
212
251
  if (path.isEmpty())
252
+ {
253
+ qWarning("Couldn't find file for #include<%s>", qPrintable(fileName));
213
254
  return 0;
255
+ }
214
256
 
215
257
  QFile file(path);
216
258
  file.open(QFile::ReadOnly);
@@ -213,13 +213,20 @@ int generate()
213
213
  Options::qtMode = ParserOptions::qtMode;
214
214
 
215
215
  Options::voidpTypes << "long long" << "long long int" << "unsigned long long" << "unsigned long long int";
216
+ Options::scalarTypes << "long long" << "long long int" << "unsigned long long" << "unsigned long long int";
216
217
 
217
218
  // Fill the type map. It maps some long integral types to shorter forms as used in SMOKE.
218
219
  Util::typeMap["long int"] = "long";
219
220
  Util::typeMap["short int"] = "short";
220
221
  Util::typeMap["long double"] = "double";
221
222
  Util::typeMap["wchar_t"] = "int"; // correct?
222
-
223
+
224
+ if (sizeof(unsigned int) == sizeof(size_t)) {
225
+ Util::typeMap["size_t"] = "uint";
226
+ } else if (sizeof(unsigned long) == sizeof(size_t)) {
227
+ Util::typeMap["size_t"] = "ulong";
228
+ }
229
+
223
230
  qDebug() << "Generating SMOKE sources...";
224
231
 
225
232
  SmokeDataFile smokeData;