irecorder 0.0.7

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,264 @@
1
+ #****************************************************************************
2
+ #** Ruby Resource object code
3
+ #**
4
+ #** Created: Wed Aug 18 06:13:07 2010
5
+ #** by: The Ruby Resource Compiler for Qt version 4.5.3
6
+ #**
7
+ #** WARNING! All changes made in this file will be lost!
8
+ #****************************************************************************/
9
+
10
+ class QCleanupResources__dest_class__
11
+ def self.qt_resource_data
12
+ return @@qt_resource_data
13
+ end
14
+
15
+ def self.qt_resource_name
16
+ return @@qt_resource_name
17
+ end
18
+
19
+ def self.qt_resource_struct
20
+ return @@qt_resource_struct
21
+ end
22
+
23
+ @@qt_resource_data = [
24
+ # /home/kaji/dev/projects/ruby/irecorder/resources/images/play-22.png
25
+ 0x0,0x0,0x4,0x1a,
26
+ 0x89,
27
+ 0x50,0x4e,0x47,0xd,0xa,0x1a,0xa,0x0,0x0,0x0,0xd,0x49,0x48,0x44,0x52,0x0,
28
+ 0x0,0x0,0x16,0x0,0x0,0x0,0x16,0x8,0x6,0x0,0x0,0x0,0xc4,0xb4,0x6c,0x3b,
29
+ 0x0,0x0,0x0,0x4,0x73,0x42,0x49,0x54,0x8,0x8,0x8,0x8,0x7c,0x8,0x64,0x88,
30
+ 0x0,0x0,0x0,0x9,0x70,0x48,0x59,0x73,0x0,0x0,0x6,0x58,0x0,0x0,0x6,0x58,
31
+ 0x1,0x1f,0x87,0x2,0xea,0x0,0x0,0x0,0x19,0x74,0x45,0x58,0x74,0x53,0x6f,0x66,
32
+ 0x74,0x77,0x61,0x72,0x65,0x0,0x77,0x77,0x77,0x2e,0x69,0x6e,0x6b,0x73,0x63,0x61,
33
+ 0x70,0x65,0x2e,0x6f,0x72,0x67,0x9b,0xee,0x3c,0x1a,0x0,0x0,0x3,0x97,0x49,0x44,
34
+ 0x41,0x54,0x38,0x8d,0xad,0x93,0x5d,0x68,0x1c,0x55,0x18,0x86,0x9f,0x6f,0x76,0x36,
35
+ 0x3f,0x64,0x93,0x4d,0xeb,0x8a,0x92,0x34,0x8d,0x6d,0x69,0x25,0x58,0xcb,0x60,0x88,
36
+ 0x20,0xf8,0x83,0x54,0xab,0x86,0x80,0x2b,0x29,0xfd,0xb1,0x82,0x5a,0x2f,0x3a,0x78,
37
+ 0x21,0x96,0xea,0x8d,0x28,0xde,0x68,0xbd,0xf3,0x4a,0x68,0xbc,0x28,0xa,0xa2,0x44,
38
+ 0x2f,0xca,0x5e,0xa8,0x14,0x4c,0xb,0xda,0x60,0x29,0xad,0x21,0xfd,0xb3,0x95,0x62,
39
+ 0x6b,0xb3,0x9,0xd2,0xfc,0x6c,0x32,0x3b,0xb3,0x3b,0xbb,0x3b,0x3b,0xe7,0x78,0x91,
40
+ 0x5d,0xd9,0x6c,0x9a,0xd4,0x82,0x2f,0x7c,0xcc,0x99,0xf9,0x5e,0x1e,0xbe,0xf7,0xcc,
41
+ 0x39,0x68,0xad,0xd1,0x5a,0xe3,0xb6,0xbd,0x28,0xd5,0xf5,0xff,0x51,0x6,0x80,0x17,
42
+ 0x4f,0x76,0x1b,0x4f,0x6e,0x9b,0xf3,0x12,0x3b,0xdf,0xa0,0x4e,0x62,0x5b,0x3,0x62,
43
+ 0x5b,0xc3,0x62,0x5b,0x9d,0xf5,0xbd,0xd5,0x64,0x54,0x9e,0x5a,0xda,0x9a,0xd7,0x44,
44
+ 0xac,0x8d,0x47,0xbc,0x78,0xb2,0xb7,0xce,0x33,0x8,0xec,0x6,0xce,0x89,0x6d,0xf5,
45
+ 0xdd,0x15,0x38,0xe6,0xa4,0x26,0xf4,0xad,0x85,0x8c,0xba,0x92,0x8e,0x4a,0x67,0xe2,
46
+ 0x98,0x17,0x4f,0xb6,0xd7,0xe,0xd,0x60,0x18,0xc6,0x7d,0xc0,0x29,0xb1,0xad,0xbd,
47
+ 0x77,0x33,0x31,0x34,0x45,0x7f,0xd7,0x9e,0xf,0x19,0x77,0x3d,0x66,0xe4,0x6b,0x2f,
48
+ 0x9e,0x34,0x6b,0x8d,0x87,0xf7,0x1f,0x92,0xd6,0xd6,0x58,0x14,0xf8,0x46,0x6c,0xeb,
49
+ 0x63,0xb1,0x2d,0xf9,0x4f,0x60,0x71,0xf2,0x67,0x64,0x6d,0x2b,0xda,0x2f,0x42,0x39,
50
+ 0xec,0x7,0xbe,0xf3,0xe2,0xc9,0x68,0xb5,0xdf,0x9e,0x88,0xf3,0xc9,0x81,0x77,0x8c,
51
+ 0xae,0x8e,0xe,0xd,0xbc,0x7,0x1c,0x13,0xdb,0x8a,0xdd,0x11,0x1c,0x5e,0xfe,0x6b,
52
+ 0x44,0xee,0xad,0xdd,0x1,0x5e,0x2,0xde,0xaf,0xbe,0xcc,0x97,0x5c,0x82,0xa8,0xe2,
53
+ 0xad,0x7d,0xaf,0xcb,0x23,0x5b,0xb7,0x2,0x24,0x81,0x5f,0xc5,0xb6,0xba,0x57,0xdf,
54
+ 0x8a,0x50,0x9d,0x45,0x2b,0x80,0x9,0xe0,0xc7,0xca,0xd7,0x37,0xa3,0x4a,0x22,0x0,
55
+ 0x99,0x92,0xcb,0x6c,0x31,0xcb,0x42,0x98,0xe3,0x85,0x1d,0xcf,0xb0,0xfd,0xa9,0x27,
56
+ 0x40,0x78,0x18,0xe1,0x37,0xb1,0xad,0xc7,0x57,0x4,0xc7,0x9c,0xd4,0x1c,0x62,0xa4,
57
+ 0x81,0x76,0x60,0x0,0x38,0x4,0x24,0x7a,0x9c,0xe8,0x26,0x80,0xf9,0xc0,0x25,0x13,
58
+ 0x64,0xff,0xad,0x2d,0xdb,0x36,0xd3,0x3f,0xf0,0x2c,0xa6,0x69,0xae,0x5,0x4e,0x8a,
59
+ 0x6d,0xed,0xbf,0xfd,0xc4,0x0,0x66,0xe4,0x3c,0x22,0x6d,0xc0,0x83,0xc0,0x11,0x40,
60
+ 0xc5,0x3,0x23,0xe,0x90,0x53,0x3e,0xb9,0x70,0x69,0x25,0xba,0x12,0xf4,0xf,0xee,
61
+ 0x90,0x96,0xb6,0x16,0x13,0x38,0x2a,0xb6,0xf5,0xa9,0xd8,0x56,0x64,0x19,0x58,0xa7,
62
+ 0xa7,0x7f,0x91,0x44,0x1b,0x40,0x5f,0xcc,0x49,0xf9,0x80,0x13,0x18,0x3a,0x0,0x28,
63
+ 0x84,0x25,0xfc,0xb0,0x88,0x1f,0x16,0xc9,0x97,0xb,0x5c,0x70,0xfe,0x64,0x38,0x3d,
64
+ 0xc2,0xf,0xde,0x19,0xa,0x8f,0x35,0x4a,0x24,0xd1,0x0,0x70,0x10,0xf8,0x5e,0x6c,
65
+ 0x2b,0xbe,0xe4,0x48,0xe9,0x6c,0xfe,0xb4,0xac,0x89,0x1,0xf4,0x1,0x5f,0x1,0xf3,
66
+ 0xd3,0x4d,0xe1,0x34,0x40,0x36,0xc8,0xd3,0x6c,0x34,0x32,0x53,0x74,0xb8,0xe2,0xde,
67
+ 0x20,0x1b,0xe4,0x6b,0x92,0x2,0x8f,0xb6,0xc0,0x45,0x81,0x74,0xf1,0x79,0x84,0x93,
68
+ 0x4b,0xc0,0xc0,0x98,0x76,0x72,0x61,0x5,0xc,0x30,0x7a,0x3d,0x56,0xd6,0x0,0x27,
69
+ 0x66,0xce,0xd1,0x18,0x6d,0xa0,0xa8,0x82,0xfa,0xff,0xb4,0xa8,0x5c,0x8,0xb,0xe5,
70
+ 0xc5,0xb5,0x70,0x73,0xc9,0x56,0xc4,0x9c,0x54,0x1e,0xa5,0x2f,0x1,0x56,0xe5,0x82,
71
+ 0x7c,0x56,0xdb,0x5f,0x11,0x3a,0x55,0x82,0x51,0x57,0xe3,0x86,0xa,0xf8,0x0,0xc5,
72
+ 0x4e,0x13,0x20,0xb7,0xf9,0xb5,0x6,0xa3,0x67,0xfd,0x41,0x3d,0x97,0xdd,0x43,0x63,
73
+ 0xb4,0x83,0x62,0xa0,0x81,0x87,0x62,0x4e,0xea,0x2c,0xb6,0x5,0x40,0xa3,0xa,0x41,
74
+ 0x84,0x92,0x61,0xa0,0xa9,0x5c,0x3a,0xa5,0xe1,0xb2,0xf,0x13,0x45,0x10,0x66,0x80,
75
+ 0x5d,0x7a,0x68,0xfc,0x67,0x0,0xd3,0xdf,0xf5,0x91,0x61,0xbe,0xfc,0xf4,0x55,0x75,
76
+ 0x75,0x72,0x3,0xa1,0x2,0x20,0xad,0x7c,0xd6,0x19,0xcd,0x5d,0xc0,0xf9,0xea,0x50,
77
+ 0x9b,0x4a,0x5,0xc2,0x88,0x41,0x26,0x62,0x32,0x13,0x6d,0x80,0x9c,0x82,0x31,0xf,
78
+ 0xb2,0x21,0x8,0x23,0x68,0xf6,0xe9,0xa1,0xf1,0xe9,0xaa,0xdf,0x30,0xd6,0x25,0xbe,
79
+ 0x8d,0xf4,0x74,0x6f,0xd0,0x53,0xb3,0xe8,0xa9,0x59,0x26,0x7c,0x87,0x1b,0x2a,0xe7,
80
+ 0xfd,0xad,0xa,0xe3,0xb5,0x69,0x37,0x86,0x5,0x3a,0xc3,0x12,0xf7,0x84,0x1,0xd,
81
+ 0x53,0x5,0x18,0xcd,0x6a,0xb2,0x95,0xe8,0x9a,0xe7,0x6a,0xa1,0x0,0xa6,0x9a,0x98,
82
+ 0xd9,0xae,0x26,0x17,0xa1,0x37,0x17,0x66,0xb9,0xae,0x72,0x4a,0xa1,0xdf,0xde,0xe2,
83
+ 0x1e,0x9f,0xac,0x35,0x3e,0x60,0x78,0x64,0x54,0x13,0x97,0xae,0x41,0x69,0xaa,0x4,
84
+ 0xc2,0x34,0xb0,0xbb,0x1a,0xbd,0x5e,0x66,0x78,0xea,0xe2,0x17,0x18,0x72,0x20,0xed,
85
+ 0xcd,0x37,0x4f,0x6a,0x7f,0xac,0x88,0xfa,0x7c,0x30,0x77,0xfa,0xe8,0x32,0x63,0xb9,
86
+ 0xc4,0xf1,0xb,0xad,0x64,0x5c,0xd,0xf0,0x13,0x9a,0x57,0xea,0xa7,0xac,0x95,0x68,
87
+ 0xad,0xf1,0xe2,0xc9,0xe8,0x1f,0xca,0xbd,0xbf,0xd7,0x3d,0x91,0x5e,0x66,0xb0,0xad,
88
+ 0x2f,0x81,0x57,0x4d,0x53,0xeb,0x72,0x59,0x34,0xf0,0x21,0x70,0x58,0xf,0x8d,0xab,
89
+ 0x95,0xa0,0xb0,0x78,0xb4,0x89,0x39,0xa9,0xa0,0x17,0x96,0x41,0x2b,0xd2,0x0,0xe5,
90
+ 0x50,0x6e,0x1,0x7b,0x56,0x8a,0x7e,0x5b,0xf0,0x1d,0x34,0xc,0x18,0x68,0xde,0x5d,
91
+ 0x2d,0x7a,0xbd,0xfe,0x1,0x33,0xdd,0xd9,0xd0,0xad,0x52,0xa4,0x3,0x0,0x0,0x0,
92
+ 0x0,0x49,0x45,0x4e,0x44,0xae,0x42,0x60,0x82,
93
+ # /home/kaji/dev/projects/ruby/irecorder/resources/images/irecorder-22.png
94
+ 0x0,0x0,0x4,0x45,
95
+ 0x89,
96
+ 0x50,0x4e,0x47,0xd,0xa,0x1a,0xa,0x0,0x0,0x0,0xd,0x49,0x48,0x44,0x52,0x0,
97
+ 0x0,0x0,0x16,0x0,0x0,0x0,0x16,0x8,0x6,0x0,0x0,0x0,0xc4,0xb4,0x6c,0x3b,
98
+ 0x0,0x0,0x0,0x4,0x73,0x42,0x49,0x54,0x8,0x8,0x8,0x8,0x7c,0x8,0x64,0x88,
99
+ 0x0,0x0,0x0,0x9,0x70,0x48,0x59,0x73,0x0,0x0,0x4,0xc2,0x0,0x0,0x4,0xc2,
100
+ 0x1,0xbc,0xcf,0x90,0x18,0x0,0x0,0x0,0x19,0x74,0x45,0x58,0x74,0x53,0x6f,0x66,
101
+ 0x74,0x77,0x61,0x72,0x65,0x0,0x77,0x77,0x77,0x2e,0x69,0x6e,0x6b,0x73,0x63,0x61,
102
+ 0x70,0x65,0x2e,0x6f,0x72,0x67,0x9b,0xee,0x3c,0x1a,0x0,0x0,0x3,0xc2,0x49,0x44,
103
+ 0x41,0x54,0x38,0x8d,0x95,0x95,0xdb,0x6b,0x9c,0x45,0x18,0xc6,0x7f,0xf3,0x9d,0xf6,
104
+ 0x94,0xc3,0x6e,0x37,0x87,0x26,0x4d,0x9b,0x3,0x6d,0x2,0x89,0xb1,0x8a,0x62,0x54,
105
+ 0xaa,0x78,0x0,0x4f,0xad,0x82,0x8,0x51,0x29,0xf8,0x7,0x28,0xf5,0x32,0x17,0x82,
106
+ 0xda,0x3b,0xb,0xde,0xf4,0x42,0xaf,0x14,0x2f,0x2d,0x8,0x56,0xbc,0xf0,0x84,0xd6,
107
+ 0x4a,0xb5,0x45,0x68,0x2c,0xa6,0x11,0xa5,0xb5,0x35,0x36,0x4d,0xb3,0x1b,0xb3,0x9b,
108
+ 0xec,0x66,0x93,0x3d,0xcc,0x7c,0x3b,0xe3,0xc5,0x66,0x77,0xb3,0x49,0xb0,0xe6,0xfd,
109
+ 0x98,0x9b,0x99,0x79,0x9f,0x79,0xe6,0x79,0xde,0x6f,0x5e,0x31,0x31,0x31,0x61,0xd8,
110
+ 0x14,0xc6,0x6c,0x99,0xda,0x71,0x38,0x52,0x4a,0x2c,0x3,0x87,0xa7,0x7a,0x68,0x2a,
111
+ 0x3a,0xeb,0xc8,0x70,0x76,0x64,0x81,0x64,0x4b,0x61,0xc7,0x80,0x55,0x52,0x8e,0x52,
112
+ 0x8a,0x80,0xb2,0xd9,0xbf,0xd0,0x84,0x53,0xb6,0x6a,0x1b,0x8e,0x5e,0xe8,0xe3,0x8b,
113
+ 0xe1,0x39,0xa6,0xbb,0x96,0xb6,0x4d,0xbc,0x2d,0x63,0xa5,0x14,0x96,0xd2,0x68,0xea,
114
+ 0x9,0xd2,0xd6,0x68,0xa1,0x79,0xf6,0xb7,0xbd,0xc4,0xb2,0xe,0x67,0xfa,0xe7,0x30,
115
+ 0x62,0x67,0xcc,0x2b,0x52,0xf8,0xe,0xb6,0xa9,0xb3,0x15,0xc0,0xa9,0xa1,0xab,0x3c,
116
+ 0x33,0xd3,0xc7,0xa1,0x9b,0x5d,0xc4,0x57,0x3,0x7c,0x32,0x78,0x95,0xee,0xac,0x60,
117
+ 0xfc,0xd7,0x50,0x3,0x40,0xc1,0x35,0x24,0x9b,0x35,0x37,0x62,0x3e,0x93,0x3d,0x92,
118
+ 0xea,0xa5,0xed,0x91,0x91,0x91,0xe3,0x12,0x9f,0x35,0x4f,0x31,0x1b,0xc9,0x71,0xbd,
119
+ 0x25,0xc3,0x1f,0xad,0x69,0xa6,0x62,0xb,0x4c,0xc6,0x93,0xec,0x2e,0x84,0x19,0xce,
120
+ 0xc4,0x19,0x5a,0x8a,0x32,0x1b,0x5c,0xe2,0xce,0xa4,0x83,0xa3,0x45,0x6d,0x4,0x7d,
121
+ 0x41,0xdb,0x9a,0xc5,0xfe,0xb4,0xc3,0x68,0xd2,0xe1,0x5a,0x4b,0x89,0x15,0xdb,0x47,
122
+ 0x8c,0x8f,0x8f,0x9b,0xff,0xd2,0x4d,0x18,0x38,0x92,0x38,0xc0,0xe3,0x8b,0x7d,0xe4,
123
+ 0x6d,0x85,0xb3,0x7a,0x13,0x5d,0x5e,0x23,0xe7,0x69,0x92,0x61,0x9f,0x56,0x69,0xd1,
124
+ 0x91,0x77,0x6a,0xfb,0x17,0x43,0x3e,0x27,0xef,0x4e,0x55,0xa4,0xb8,0x5d,0x9c,0x6e,
125
+ 0xff,0x9d,0x5b,0x5e,0x96,0xa3,0xf3,0xa3,0xd8,0xa1,0x7e,0x54,0x71,0x8e,0xd9,0x70,
126
+ 0x82,0x8f,0x6,0x53,0x18,0x63,0xe8,0x5b,0xd,0xf0,0xf2,0x4c,0x9c,0xf6,0xa2,0x43,
127
+ 0x7b,0xc1,0xa1,0x3d,0xb3,0x6e,0x1e,0xc0,0xbb,0x7f,0x3d,0x49,0xc0,0x54,0x4e,0xb6,
128
+ 0x8c,0xe0,0xad,0xde,0x33,0xa4,0x9d,0x7c,0xd,0xfc,0xc7,0xd0,0xc,0xb7,0xf6,0x64,
129
+ 0x79,0x7d,0xfe,0x7e,0x22,0xc1,0xbd,0xf4,0x94,0x6d,0x54,0x69,0x1e,0x23,0xe0,0xcf,
130
+ 0x80,0x62,0x32,0xea,0xf1,0x74,0x32,0x6,0x40,0x67,0xce,0xc6,0x92,0x52,0x22,0xa5,
131
+ 0xc4,0x33,0x36,0x41,0xed,0x10,0xd4,0xe,0x25,0xcb,0xc7,0x2b,0x9,0x94,0x52,0xd,
132
+ 0xe3,0x8a,0xbd,0xc0,0x9b,0x5d,0xdf,0x92,0x70,0xb3,0x74,0x9a,0x6e,0x5e,0x4d,0xdc,
133
+ 0x87,0x5d,0x32,0x28,0xa5,0x68,0x2a,0xd5,0xcb,0x26,0x8b,0xc4,0xaa,0x26,0x6d,0xc,
134
+ 0x63,0xc,0xbe,0xef,0x6f,0x1,0x56,0x4a,0x91,0xd4,0x19,0xde,0x88,0x7f,0xcd,0x15,
135
+ 0x6f,0x81,0xbb,0xf2,0xdd,0x3c,0x91,0x1e,0xe0,0xe0,0x52,0x98,0x43,0xcb,0x51,0x0,
136
+ 0x34,0x86,0xeb,0x4e,0xae,0x2e,0xc5,0x66,0x3,0x95,0x52,0x48,0xb3,0xbd,0xfe,0x83,
137
+ 0x2a,0x4e,0xaf,0xda,0x85,0x1,0xe2,0x49,0x9f,0xa7,0xac,0x7d,0x54,0xf9,0x7e,0xdf,
138
+ 0x9c,0x22,0x69,0xd6,0xb6,0x37,0xaf,0xc6,0xd8,0xa8,0x2d,0x6b,0x8f,0xa8,0x3,0x1c,
139
+ 0xcb,0x3f,0x4,0xc0,0xb9,0xec,0x2f,0x44,0x75,0x11,0xcb,0xf2,0x50,0x42,0xf3,0x61,
140
+ 0xeb,0xc,0x3f,0x84,0xff,0x1,0xb9,0xc1,0xbc,0xcd,0xe1,0xfb,0x3e,0x4a,0x37,0xae,
141
+ 0xbd,0xa8,0xee,0xe1,0x15,0x35,0x46,0x41,0x4b,0xce,0x65,0x2e,0xd2,0x6f,0xdb,0xec,
142
+ 0x73,0x5b,0x0,0x70,0x8d,0xc5,0x50,0xb1,0x89,0x9f,0x9c,0x24,0x5,0x51,0xae,0x0,
143
+ 0x1b,0x63,0x1a,0xa4,0x30,0xa6,0x62,0x88,0x14,0x95,0xdb,0xd8,0x58,0x1c,0xd3,0x8f,
144
+ 0x72,0x58,0x8f,0xb2,0xac,0x57,0x39,0x9f,0x9d,0xe4,0xe,0x27,0x82,0x74,0xcb,0x64,
145
+ 0xb5,0xa4,0xd5,0x78,0x0,0x3c,0x56,0xec,0x24,0x50,0x16,0x9c,0x88,0x4c,0x6f,0x90,
146
+ 0x62,0xd3,0x5b,0xe0,0xfb,0x3e,0xa,0x45,0x8,0x97,0xe3,0xe2,0x8,0x63,0xc,0x70,
147
+ 0xc3,0x5f,0x64,0x2a,0x7b,0x99,0x7,0xdc,0x18,0x97,0xbc,0x14,0xef,0x4,0xa6,0x30,
148
+ 0xc6,0xf0,0x9c,0xdf,0xcb,0x6b,0x72,0x18,0x80,0x7,0x55,0x7,0x7b,0x8a,0x81,0xed,
149
+ 0xab,0xa2,0xa,0xdc,0xe2,0x7b,0x9c,0xe4,0x25,0xc6,0x18,0xe0,0x52,0xe9,0x6f,0xde,
150
+ 0x5f,0xf9,0x8a,0x87,0xbd,0x38,0xcd,0x96,0x8b,0xd6,0x1a,0x29,0x25,0x4a,0x29,0x3e,
151
+ 0x35,0xd7,0x98,0x12,0xe9,0x1a,0xbf,0x31,0xd5,0xb6,0x41,0xa,0xd7,0xd4,0x58,0x1b,
152
+ 0x63,0xe8,0x28,0x37,0x71,0xc2,0x7b,0x81,0xdd,0x22,0xca,0x77,0x85,0x69,0x3e,0xc8,
153
+ 0x9f,0x25,0xe6,0x39,0x4,0x85,0xd,0x80,0xd6,0xa6,0xc1,0x83,0x69,0x52,0x1c,0x24,
154
+ 0xe,0xc0,0xae,0xb2,0xb7,0x7d,0x55,0x38,0x58,0xbc,0xed,0x3d,0x4f,0xd8,0x72,0x39,
155
+ 0x95,0x3b,0xcf,0xc7,0xc5,0xb,0xcc,0x39,0x19,0xee,0x2d,0x77,0x42,0xb5,0x17,0x68,
156
+ 0x8d,0x2a,0xab,0x9a,0x37,0x9,0x3b,0x7,0x95,0x33,0x69,0xd3,0xc1,0x7a,0x55,0xd8,
157
+ 0xd4,0x9f,0xcd,0x88,0x8,0xa2,0xd1,0xbc,0xb7,0xfc,0xd,0x9f,0x95,0x2e,0x92,0x14,
158
+ 0x2b,0x20,0xa1,0x6c,0xfb,0x35,0xe0,0xaa,0x14,0xd5,0x48,0xe8,0x3a,0x70,0x3b,0xa1,
159
+ 0x3a,0xe3,0xcf,0xd7,0x2e,0x32,0x60,0x75,0x56,0x80,0xed,0x20,0xa7,0x57,0x7e,0xe6,
160
+ 0x4b,0x39,0x45,0xca,0xe4,0x6a,0xc9,0x45,0xa3,0x48,0x9b,0x4a,0xbb,0xca,0xea,0x62,
161
+ 0x83,0x37,0xb3,0x3a,0x43,0x3a,0x50,0x59,0xb3,0x8d,0x40,0xb8,0xae,0x6b,0xaa,0x8c,
162
+ 0xa3,0x22,0x82,0x59,0xff,0xa,0x28,0x8a,0xdb,0xfc,0x79,0xff,0xb7,0x35,0xfd,0xb,
163
+ 0xd8,0x36,0x1b,0x21,0xb5,0xda,0x41,0x63,0x0,0x0,0x0,0x0,0x49,0x45,0x4e,0x44,
164
+ 0xae,0x42,0x60,0x82,
165
+ # /home/kaji/dev/projects/ruby/irecorder/resources/images/download-22.png
166
+ 0x0,0x0,0x2,0xe6,
167
+ 0x89,
168
+ 0x50,0x4e,0x47,0xd,0xa,0x1a,0xa,0x0,0x0,0x0,0xd,0x49,0x48,0x44,0x52,0x0,
169
+ 0x0,0x0,0x16,0x0,0x0,0x0,0x16,0x8,0x6,0x0,0x0,0x0,0xc4,0xb4,0x6c,0x3b,
170
+ 0x0,0x0,0x0,0x4,0x73,0x42,0x49,0x54,0x8,0x8,0x8,0x8,0x7c,0x8,0x64,0x88,
171
+ 0x0,0x0,0x0,0x9,0x70,0x48,0x59,0x73,0x0,0x0,0x6,0x58,0x0,0x0,0x6,0x58,
172
+ 0x1,0x1f,0x87,0x2,0xea,0x0,0x0,0x0,0x19,0x74,0x45,0x58,0x74,0x53,0x6f,0x66,
173
+ 0x74,0x77,0x61,0x72,0x65,0x0,0x77,0x77,0x77,0x2e,0x69,0x6e,0x6b,0x73,0x63,0x61,
174
+ 0x70,0x65,0x2e,0x6f,0x72,0x67,0x9b,0xee,0x3c,0x1a,0x0,0x0,0x2,0x63,0x49,0x44,
175
+ 0x41,0x54,0x38,0x8d,0xb5,0x95,0xbd,0x6b,0x53,0x51,0x18,0x87,0x9f,0x73,0x6f,0x9a,
176
+ 0xa4,0x31,0x92,0x3a,0x85,0xb6,0x50,0x3f,0x28,0x4,0x29,0x14,0x41,0xdb,0xa2,0x6b,
177
+ 0xa2,0x9b,0x88,0x93,0x83,0xe2,0x22,0x82,0x2e,0xa,0xd2,0x4d,0x1b,0x21,0x2a,0x8,
178
+ 0x4e,0xd2,0xc1,0x3f,0xa0,0x8b,0x8b,0x83,0xa5,0x83,0x43,0x4,0x27,0x49,0x74,0x17,
179
+ 0xa,0x6a,0xab,0x60,0x9a,0xb8,0x98,0x92,0xf6,0x7e,0xe5,0x9e,0x73,0x1c,0x92,0xb4,
180
+ 0xf9,0xb8,0x9,0xb1,0xc5,0x3,0x87,0xf7,0x72,0xdf,0x73,0x1f,0x7e,0xef,0xef,0xf2,
181
+ 0xbe,0x47,0x68,0xad,0x9,0x5a,0xc9,0x5c,0x3e,0xa,0xcc,0x3,0x46,0xe0,0x1,0x50,
182
+ 0xc0,0xa7,0x4a,0x36,0xe3,0x4,0x25,0x45,0x10,0x38,0x99,0xcb,0x8b,0xf1,0x44,0xf4,
183
+ 0x9b,0x55,0x57,0x53,0xd1,0x11,0x43,0xb5,0xde,0xb7,0x9f,0x74,0xea,0x52,0xc4,0x46,
184
+ 0xcc,0x9f,0xe5,0x6d,0x67,0xba,0x92,0xcd,0xf4,0x40,0x42,0x7d,0xd4,0x24,0xb6,0xb6,
185
+ 0x9d,0x93,0x2b,0x77,0x2e,0x30,0x1a,0x36,0xcd,0xe,0x25,0xa2,0x11,0x6d,0x4f,0x72,
186
+ 0xe3,0xd5,0xc7,0x53,0x40,0x2,0xa8,0xe,0xb,0x6,0xa0,0xa6,0x35,0x8e,0xaf,0x10,
187
+ 0x1,0xb9,0x7a,0x1f,0xb,0x87,0x2,0x6f,0xfb,0x8a,0x50,0x9f,0xef,0x7d,0xa9,0x82,
188
+ 0x13,0xc3,0x80,0xff,0xfc,0x2f,0x70,0xb5,0xae,0x30,0x15,0x4,0x79,0xa1,0xe,0xab,
189
+ 0xd8,0xec,0x52,0xac,0xd1,0x7c,0xb7,0x7d,0x5c,0x79,0x8,0x8f,0xab,0xbe,0xc2,0xd0,
190
+ 0xfb,0x82,0x77,0xa5,0xe2,0xab,0xed,0x63,0x2b,0x8d,0x56,0x43,0x82,0x93,0xb9,0x7c,
191
+ 0x8a,0x46,0x43,0x28,0x20,0xa,0x50,0x95,0x1a,0x43,0x2b,0x34,0x8d,0x1f,0xf9,0xdb,
192
+ 0x93,0x4,0xe0,0xae,0x26,0x73,0xf9,0x1a,0x20,0x81,0xd5,0x4a,0x36,0x23,0x3b,0xc0,
193
+ 0xc2,0x34,0xee,0x6b,0xa9,0xee,0x9a,0xf1,0x88,0x8d,0x69,0xc8,0xd0,0x91,0xb0,0xfd,
194
+ 0xcb,0x93,0xa3,0x8,0x70,0x95,0xa6,0xbb,0x72,0x21,0x4,0xe1,0xf1,0x84,0x25,0x77,
195
+ 0xdd,0x97,0xda,0xf5,0xc3,0xca,0xf5,0x23,0xc0,0x79,0xa0,0xd0,0x1,0xd6,0x52,0x2d,
196
+ 0xa,0xd3,0x98,0x41,0x88,0xf9,0xf8,0xd9,0xa9,0xb8,0x18,0x31,0xb1,0x6,0x95,0x2b,
197
+ 0x20,0x36,0x3b,0x19,0x93,0xbb,0x2e,0x3b,0xc5,0x4d,0x47,0x8,0xf1,0xa4,0xbc,0x94,
198
+ 0x2e,0xb4,0xd2,0x7b,0x73,0xa0,0x92,0xcd,0x58,0x5a,0xaa,0x4b,0xd2,0xf2,0x3e,0xd4,
199
+ 0x8a,0x9b,0x8e,0xf6,0xfc,0x81,0x1e,0x2,0xb4,0xa0,0xf8,0xea,0x45,0x79,0x29,0x9d,
200
+ 0x6d,0xcf,0x75,0xc,0x98,0x4a,0x36,0xe3,0x22,0xd5,0x65,0xed,0x78,0x6b,0xb5,0xc2,
201
+ 0x86,0xa3,0x9c,0xfa,0x81,0xa0,0x3d,0xe0,0x26,0xdc,0xd7,0x52,0x5f,0xd3,0xae,0x7c,
202
+ 0x5d,0x2b,0x6c,0xb8,0xca,0xf2,0xfe,0x19,0xa,0x7d,0xa6,0x5b,0x6b,0x25,0x9f,0xbe,
203
+ 0x5f,0x16,0xa6,0x71,0x3b,0x3e,0x77,0x22,0x62,0x1e,0x8d,0xc,0xd,0xdd,0x3,0xa7,
204
+ 0x8a,0x25,0x13,0xb8,0x2,0xbc,0x5b,0x5f,0x98,0xb0,0xba,0xe0,0xcf,0x84,0x10,0x8b,
205
+ 0xf1,0xb9,0xe3,0x61,0x42,0x46,0x5f,0x68,0xaa,0x58,0x9a,0x2,0x66,0xd7,0x17,0x26,
206
+ 0xd6,0xda,0xad,0xb8,0xe,0xbc,0x1,0x6e,0xf6,0x58,0xf3,0x28,0xfd,0x10,0xa5,0x1f,
207
+ 0xef,0x7c,0xfe,0x51,0xdf,0x29,0xc,0x54,0xba,0xc,0xac,0xa6,0x8a,0xa5,0xc9,0x76,
208
+ 0x70,0xac,0x19,0xc7,0x82,0xca,0x2a,0x2f,0xa5,0x9f,0x6b,0xad,0x6f,0x21,0xf5,0x83,
209
+ 0x1,0xe5,0xc7,0x68,0x34,0x69,0xc,0x7a,0x5b,0x7a,0x3c,0x55,0x2c,0x9d,0x61,0xbf,
210
+ 0x8b,0xf7,0xe2,0xd8,0xc5,0xd3,0x5f,0x0,0x91,0x2a,0x96,0xce,0x75,0xe5,0x5b,0xcf,
211
+ 0xc7,0x9a,0xb1,0xa3,0xf3,0x5a,0xf7,0xd6,0xbd,0xe6,0x3e,0xe8,0x92,0x80,0xdd,0xe,
212
+ 0x5e,0x1,0x66,0x80,0x69,0x1a,0x57,0xdb,0x41,0xf7,0xdb,0xf5,0x85,0x89,0x2d,0x80,
213
+ 0xbf,0xa3,0x46,0x57,0x37,0xa5,0xde,0xc2,0x9f,0x0,0x0,0x0,0x0,0x49,0x45,0x4e,
214
+ 0x44,0xae,0x42,0x60,0x82,
215
+ ]
216
+
217
+ @@qt_resource_name = [
218
+ # images
219
+ 0x0,0x6,
220
+ 0x7,0x3,0x7d,0xc3,
221
+ 0x0,0x69,
222
+ 0x0,0x6d,0x0,0x61,0x0,0x67,0x0,0x65,0x0,0x73,
223
+ # play-22.png
224
+ 0x0,0xb,
225
+ 0x0,0xbb,0x6,0xc7,
226
+ 0x0,0x70,
227
+ 0x0,0x6c,0x0,0x61,0x0,0x79,0x0,0x2d,0x0,0x32,0x0,0x32,0x0,0x2e,0x0,0x70,0x0,0x6e,0x0,0x67,
228
+ # irecorder-22.png
229
+ 0x0,0x10,
230
+ 0x4,0x98,0x2d,0x7,
231
+ 0x0,0x69,
232
+ 0x0,0x72,0x0,0x65,0x0,0x63,0x0,0x6f,0x0,0x72,0x0,0x64,0x0,0x65,0x0,0x72,0x0,0x2d,0x0,0x32,0x0,0x32,0x0,0x2e,0x0,0x70,0x0,0x6e,0x0,0x67,
233
+ # download-22.png
234
+ 0x0,0xf,
235
+ 0xc,0xf2,0x54,0x7,
236
+ 0x0,0x64,
237
+ 0x0,0x6f,0x0,0x77,0x0,0x6e,0x0,0x6c,0x0,0x6f,0x0,0x61,0x0,0x64,0x0,0x2d,0x0,0x32,0x0,0x32,0x0,0x2e,0x0,0x70,0x0,0x6e,0x0,0x67,
238
+ ]
239
+
240
+ @@qt_resource_struct = [
241
+ # :
242
+ 0x0,0x0,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x1,
243
+ # :/images
244
+ 0x0,0x0,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x3,0x0,0x0,0x0,0x2,
245
+ # :/images/play-22.png
246
+ 0x0,0x0,0x0,0x12,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x0,
247
+ # :/images/irecorder-22.png
248
+ 0x0,0x0,0x0,0x2e,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x4,0x1e,
249
+ # :/images/download-22.png
250
+ 0x0,0x0,0x0,0x54,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x8,0x67,
251
+ ]
252
+
253
+ def self.qInitResources()
254
+ Qt.qRegisterResourceData(0x01, QCleanupResources__dest_class__.qt_resource_struct.pack("C*"), QCleanupResources__dest_class__.qt_resource_name.pack("C*"), QCleanupResources__dest_class__.qt_resource_data.pack("C*"))
255
+ return 1
256
+ end
257
+ def self.qCleanupResources()
258
+ Qt.qUnregisterResourceData(0x01, QCleanupResources__dest_class__.qt_resource_struct.pack("C*"), QCleanupResources__dest_class__.qt_resource_name.pack("C*"), QCleanupResources__dest_class__.qt_resource_data.pack("C*"))
259
+ return 1
260
+ end
261
+
262
+ end
263
+
264
+ QCleanupResources__dest_class__.qInitResources()
@@ -0,0 +1,119 @@
1
+ #
2
+ # Log Window
3
+ #
4
+ class LogWindow < Qt::Widget
5
+
6
+ def initialize()
7
+ super
8
+
9
+ # create widgets
10
+ @textWidget = KDE::TextEdit.new
11
+ @textWidget.setReadOnly(true)
12
+ clearBtn = KDE::PushButton.new( KDE::Icon.new('edit-clear'), i18n("C&lear") )
13
+ connect(clearBtn, SIGNAL(:clicked)) do
14
+ @textWidget.clear
15
+ end
16
+
17
+ # layout
18
+ layout = Qt::VBoxLayout.new
19
+ layout.addWidget(@textWidget)
20
+ layout.addWidgetAtLeft(clearBtn)
21
+ setLayout(layout)
22
+ end
23
+
24
+ public
25
+ def write(text)
26
+ puts text
27
+ @textWidget.append(text)
28
+ end
29
+
30
+ end
31
+
32
+ class MyLogger
33
+ MISC = 0
34
+ CODE = 1
35
+ DEBUG = 2
36
+ INFO = 3
37
+ WARN = 4
38
+ ERROR = 5
39
+ FATAL = 6
40
+ UNKNOWN = 7
41
+
42
+ attr_accessor :level
43
+
44
+ def initialize(logDevice)
45
+ @logdev = logDevice
46
+ @level = 0
47
+ end
48
+
49
+ public
50
+ def misc(msg = nil, &block)
51
+ add(MISC, msg, &block)
52
+ end
53
+
54
+ def code(msg = nil, &block)
55
+ add(CODE, msg, &block)
56
+ end
57
+
58
+ def debug(msg = nil, &block)
59
+ add(DEBUG, msg, &block)
60
+ end
61
+
62
+ def info(msg = nil, &block)
63
+ add(INFO, msg, &block)
64
+ end
65
+
66
+ def warn(msg = nil, &block)
67
+ add(WARN, msg, &block)
68
+ end
69
+
70
+ def error(msg = nil, &block)
71
+ add(ERROR, msg, &block)
72
+ end
73
+
74
+ def fatal(msg = nil, &block)
75
+ add(FATAL, msg, &block)
76
+ end
77
+
78
+
79
+ protected
80
+ def add(lvl, msg, &block)
81
+ return if lvl < @level
82
+ if msg.nil? then
83
+ if block_given? then
84
+ msg = yield
85
+ return if msg.nil?
86
+ else
87
+ return
88
+ end
89
+ end
90
+
91
+ msgs = formatMessages(lvl, msg)
92
+ msgs.each do |m|
93
+ @logdev.write(m.chomp)
94
+ end
95
+ end
96
+ alias log add
97
+
98
+
99
+ def formatMessages(lvl, msg)
100
+ a = msg2a(msg)
101
+ a.map do |m|
102
+ "%-5s:%s" % [%w(MISC CODE DEBUG INFO WARN ERROR FATAL ANY)[lvl], m]
103
+ end
104
+ end
105
+
106
+ def msg2a(msg)
107
+ case msg
108
+ when ::String
109
+ [ msg ]
110
+ when ::Array
111
+ msg
112
+ when ::Exception
113
+ [ msg.class.to_s + ': ' + msg.message ] + [ msg ] +
114
+ (msg.backtrace || []).map do |m| ' from ' + m end
115
+ else
116
+ [ msg.inspect ]
117
+ end
118
+ end
119
+ end
@@ -0,0 +1,462 @@
1
+ #
2
+ # My library
3
+ #
4
+ # Qt & other miscs
5
+
6
+ require 'singleton'
7
+ require 'korundum4'
8
+
9
+ #
10
+ class Qt::HBoxLayout
11
+ def addWidgets(*w)
12
+ w.each do |i|
13
+ if i then
14
+ e = i.kind_of?(String) ? Qt::Label.new(i) : i
15
+ addWidget(e)
16
+ else
17
+ addStretch
18
+ end
19
+ end
20
+ end
21
+ end
22
+
23
+ class Qt::VBoxLayout
24
+ def addWidgetWithNilStretch(*w)
25
+ addLayout(
26
+ Qt::HBoxLayout.new do |l|
27
+ l.addWidgets(*w)
28
+ end
29
+ )
30
+ end
31
+ alias :addWidgets :addWidgetWithNilStretch
32
+
33
+ def addWidgetAtCenter(*w)
34
+ w.unshift(nil)
35
+ addWidgetWithNilStretch(*w)
36
+ end
37
+
38
+ def addWidgetAtRight(*w)
39
+ w.unshift(nil)
40
+ addWidgetWithNilStretch(*w)
41
+ end
42
+
43
+ def addWidgetAtLeft(*w)
44
+ w.push(nil)
45
+ addWidgetWithNilStretch(*w)
46
+ end
47
+ end
48
+
49
+
50
+ #
51
+ class VBoxLayoutWidget < Qt::Widget
52
+ def initialize(parent=nil)
53
+ @layout = Qt::VBoxLayout.new
54
+ super(parent)
55
+ setLayout(@layout)
56
+ end
57
+
58
+ def addLayout(l)
59
+ @layout.addLayout(l)
60
+ end
61
+
62
+ def addWidget(w)
63
+ @layout.addWidget(w)
64
+ end
65
+
66
+ def addWidgetWithNilStretch(*w)
67
+ @layout.addWidgetWithNilStretch(*w)
68
+ end
69
+ alias :addWidgets :addWidgetWithNilStretch
70
+
71
+ def addWidgetAtRight(*w)
72
+ @layout.addWidgetAtRight(*w)
73
+ end
74
+
75
+ def addWidgetAtCenter(*w)
76
+ @layout.addWidgetAtCenter(*w)
77
+ end
78
+
79
+ def layout
80
+ @layout
81
+ end
82
+ end
83
+
84
+ class HBoxLayoutWidget < Qt::Widget
85
+ def initialize(parent=nil)
86
+ @layout = Qt::HBoxLayout.new
87
+ super(parent)
88
+ setLayout(@layout)
89
+ end
90
+
91
+ def addLayout(l)
92
+ @layout.addLayout(l)
93
+ end
94
+
95
+ def addWidget(w)
96
+ @layout.addWidget(w)
97
+ end
98
+
99
+ def addWidgets(*w)
100
+ @layout.addWidgets(*w)
101
+ end
102
+
103
+ def layout
104
+ @layout
105
+ end
106
+ end
107
+
108
+
109
+ #--------------------------------------------------------------------------
110
+ #
111
+ #
112
+ def passiveMessage(text)
113
+ %x{ kdialog --passivepopup #{text.shellescape} }
114
+ end
115
+
116
+
117
+ #--------------------------------------------------------------------------
118
+ #
119
+ # Mandriva doesn't include kio smoke library.
120
+ # FolderSelectorLineEdit substitute KDE::UrlRequester
121
+ #
122
+ class FolderSelectorLineEdit < Qt::Widget
123
+ def initialize(dir=nil, parent=nil)
124
+ super(parent)
125
+
126
+ # widgets
127
+ @lineEdit = KDE::LineEdit.new
128
+ @lineEdit.text = dir if dir
129
+ @dirSelectBtn = KDE::PushButton.new(KDE::Icon.new('folder'),'')
130
+
131
+ # connect
132
+ connect(@dirSelectBtn, SIGNAL(:clicked), self, SLOT(:openSelectDlg))
133
+
134
+ # layout
135
+ lo = Qt::HBoxLayout.new do |l|
136
+ l.setContentsMargins(0,0,0,0)
137
+ l.addWidgets(@lineEdit, @dirSelectBtn)
138
+ end
139
+ setLayout(lo)
140
+ end
141
+
142
+ slots :openSelectDlg
143
+ def openSelectDlg
144
+ path = Qt::FileDialog::getExistingDirectory(self,'select folder', @lineEdit.text)
145
+ unless !path || path.empty?
146
+ @lineEdit.text = path
147
+ end
148
+ end
149
+
150
+ # for settings manager.
151
+ def objectName=(name)
152
+ @lineEdit.objectName = name
153
+ end
154
+
155
+ def folder
156
+ @LineEdit.text
157
+ end
158
+ # compatibility for UrlRequester
159
+ alias text folder
160
+
161
+ def folder=(dir)
162
+ @LineEdit.text = dir
163
+ end
164
+ end
165
+
166
+
167
+
168
+
169
+ #--------------------------------------------------------------------------
170
+ #
171
+ #
172
+
173
+ class Qt::Action
174
+ def setVData(data)
175
+ setData(Qt::Variant.new(data))
176
+ end
177
+
178
+ def vData
179
+ self.data.toString
180
+ end
181
+ end
182
+
183
+ module Mime
184
+ def self.services(url)
185
+ mimeType = KDE::MimeType.findByUrl(KDE::Url.new(url))
186
+ mime = mimeType.name
187
+ services = KDE::MimeTypeTrader.self.query(mime)
188
+ end
189
+ end
190
+
191
+ class KDE::ActionCollection
192
+ # @return : KDE::Action
193
+ # @parameter name :
194
+ # @parameter parent : parent Qt::Object
195
+ # @parameter options { :text=>name, :icon=>iconName, :shortCut=>key, :triggered=>SLOT or [object, SLOT] }
196
+ def addNew(name, parent=self.parent, options = {})
197
+ text = options[:text] || name
198
+ icon = options[:icon]
199
+ if icon then
200
+ action = KDE::Action.new(KDE::Icon.new(icon), text, parent)
201
+ else
202
+ action = KDE::Action.new(text, parent)
203
+ end
204
+ shortCut = options[:shortCut]
205
+ if shortCut then
206
+ action.setShortcut(KDE::Shortcut.new(shortCut))
207
+ end
208
+ self.addAction(action.text, action)
209
+ slot = options[:triggered]
210
+ if slot then
211
+ if slot.kind_of? Array then
212
+ self.connect(action, SIGNAL(:triggered), slot[0], \
213
+ SLOT(slot[1]))
214
+ else
215
+ self.connect(action, SIGNAL(:triggered), parent, \
216
+ SLOT(slot))
217
+ end
218
+ end
219
+ action
220
+ end
221
+ end
222
+
223
+
224
+
225
+
226
+
227
+
228
+
229
+ #--------------------------------------------------------------------------
230
+ #
231
+ #
232
+ class SettingsBase < KDE::ConfigSkeleton
233
+ include Singleton
234
+
235
+ public
236
+ # @sym : instance symbol to be added.
237
+ def addBoolItem(sym, default=true)
238
+ name = sym.to_s
239
+ defineItem(sym, 'value', ItemBool, default)
240
+ end
241
+
242
+ def addStringItem(sym, default="")
243
+ defineItem(sym, 'toString', ItemString, default)
244
+ end
245
+
246
+ def addIntItem(sym, default="")
247
+ defineItem(sym, 'value', ItemInt, default)
248
+ end
249
+
250
+ def addUrlItem(sym, default=KDE::Url.new)
251
+ if default.kind_of? String then
252
+ default = KDE::Url.new(default)
253
+ end
254
+ defineItem(sym, 'value', ItemUrl, default)
255
+ end
256
+
257
+ def addStringListItem(sym, default="")
258
+ defineItem(sym, 'value', ItemStringList, default)
259
+ end
260
+
261
+ def addChoiceItem(name, list, default=0)
262
+ choices = makeChoices(list)
263
+ defineItemProperty(name, 'value')
264
+ item = ItemEnum.new(currentGroup, name.to_s, default, choices, default)
265
+ addItem(item)
266
+ end
267
+
268
+ def [](name)
269
+ findItem(name)
270
+ end
271
+
272
+ protected
273
+ def makeChoices(list)
274
+ choices = []
275
+ list.each do |i|
276
+ c = ItemEnum::Choice.new
277
+ c.name = i
278
+ choices << c
279
+ end
280
+ choices
281
+ end
282
+
283
+ def defineItem(name, valueMethod, itemClass, default)
284
+ defineItemProperty(name, valueMethod)
285
+ item = itemClass.new(currentGroup, name.to_s, default, default)
286
+ addItem(item)
287
+ end
288
+
289
+ def defineItemProperty(name, valueMethod)
290
+ self.class.class_eval %Q{
291
+ def #{name}
292
+ findItem('#{name}').property.#{valueMethod}
293
+ end
294
+
295
+ def self.#{name}
296
+ s = self.instance
297
+ s.#{name}
298
+ end
299
+
300
+ def set#{name}(v)
301
+ item = findItem('#{name}')
302
+ # unless item.immutable?
303
+ item.property = Qt::Variant.fromValue(v)
304
+ # end
305
+ end
306
+
307
+ def self.set#{name}(v)
308
+ s = self.instance
309
+ s.set#{name}(v)
310
+ end
311
+
312
+ def #{name}=(v)
313
+ set#{name}(v)
314
+ end
315
+
316
+ def self.#{name}=(v)
317
+ self.set#{name}(v)
318
+ end
319
+ }
320
+ end
321
+
322
+ def self.allChildren(obj)
323
+ all = children = obj.children
324
+ children.each do |o|
325
+ all += allChildren(o)
326
+ end
327
+ all
328
+ end
329
+
330
+ def self.printAllProperties(obj)
331
+ puts "============= settings properties =============="
332
+ options = self.instance
333
+ allChildren(obj).each do |o|
334
+ if o.objectName =~ /^kcfg_/ then
335
+ name = o.objectName.sub(/^kcfg_/, '')
336
+ if o.kind_of? Qt::CheckBox
337
+ prop = o.checked.to_s
338
+ elsif o.kind_of? Qt::ComboBox
339
+ prop = o.currentIndex.to_s
340
+ elsif o.kind_of? KDE::UrlRequester
341
+ prop = o.text
342
+ else
343
+ prop = '?'
344
+ end
345
+ if options.respond_to? name then
346
+ val = options.send(name).inspect
347
+ else
348
+ val = ''
349
+ end
350
+ err = prop == val ? '' : ' !! Error !!'
351
+ puts " name:#{name}, property:#{prop}, settings value:#{val} #{err}"
352
+ end
353
+ end
354
+ end
355
+
356
+ def self.updateWidgets(obj)
357
+ options = self.instance
358
+ allChildren(obj).each do |o|
359
+ if o.objectName =~ /^kcfg_/ then
360
+ name = o.objectName.sub(/^kcfg_/, '')
361
+ if options.respond_to? name then
362
+ val = options.send(name)
363
+ if o.kind_of? Qt::CheckBox
364
+ o.checked = val
365
+ elsif o.kind_of? Qt::ComboBox
366
+ o.currentIndex = val
367
+ elsif o.kind_of? KDE::LineEdit
368
+ o.text = val
369
+ elsif o.kind_of? KDE::UrlRequester
370
+ o.setUrl(val)
371
+ end
372
+ end
373
+ end
374
+ end
375
+ end
376
+
377
+ def self.updateSettings(obj)
378
+ options = self.instance
379
+ allChildren(obj).each do |o|
380
+ if o.objectName =~ /^kcfg_/ then
381
+ name = o.objectName.sub(/^kcfg_/, '') + '='
382
+ if options.respond_to? name then
383
+ if o.kind_of? Qt::CheckBox
384
+ options.send(name, o.checked)
385
+ if options.send(name[0..-2]) != o.checked then
386
+ puts "Error !! : #{name[0..-2]}(#{options.send(name[0..-2])} != #{o.checked}"
387
+ end
388
+ elsif o.kind_of? Qt::ComboBox
389
+ options.send(name, o.currentIndex)
390
+ elsif o.kind_of? KDE::LineEdit
391
+ options.send(name, o.text)
392
+ elsif o.kind_of? KDE::UrlRequester
393
+ options.send(name, o.url)
394
+ else
395
+ puts "not know type class:#{o.class.name}"
396
+ end
397
+ end
398
+ end
399
+ end
400
+ end
401
+ end
402
+
403
+
404
+ #--------------------------------------------------------------------------
405
+ #
406
+ #
407
+ def openDirectory(dir)
408
+ cmd = KDE::MimeTypeTrader.self.query('inode/directory').first.exec[/\w+/]
409
+ cmd += " " + dir
410
+ fork do exec(cmd) end
411
+ end
412
+
413
+ #--------------------------------------------------------------------------
414
+ #
415
+ # stdlib
416
+ #
417
+ module Enumerable
418
+ class Proxy
419
+ instance_methods.each { |m| undef_method(m) unless m.match(/^__/) }
420
+ def initialize(enum, method=:map)
421
+ @enum, @method = enum, method
422
+ end
423
+ def method_missing(method, *args, &block)
424
+ @enum.__send__(@method) {|o| o.__send__(method, *args, &block) }
425
+ end
426
+ end
427
+
428
+ def every
429
+ Proxy.new(self)
430
+ end
431
+ end
432
+
433
+ #
434
+ #
435
+ #
436
+ class String
437
+ def double_quote
438
+ '"' + self + '"'
439
+ end
440
+ alias :dquote :double_quote
441
+
442
+ def single_quote
443
+ "'" + self + "'"
444
+ end
445
+ alias :squote :single_quote
446
+
447
+ def _chomp_null
448
+ gsub(/\0.*/, '')
449
+ end
450
+
451
+ def sql_quote
452
+ str = _chomp_null
453
+ return 'NULL' if str.empty?
454
+ "'#{str.sql_escape}'"
455
+ end
456
+
457
+ def sql_escape
458
+ str = _chomp_null
459
+ str.gsub(/\\/, '\&\&').gsub(/'/, "''") #'
460
+ end
461
+ end
462
+