ruber 0.0.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (166) hide show
  1. data/COPYING +339 -0
  2. data/INSTALL +137 -0
  3. data/LICENSE +8 -0
  4. data/bin/ruber +65 -0
  5. data/data/share/apps/ruber/core_components.yaml +31 -0
  6. data/data/share/apps/ruber/ruberui.rc +109 -0
  7. data/data/share/icons/ruber.png +0 -0
  8. data/data/share/pixmaps/ruby.png +0 -0
  9. data/icons/ruber-16.png +0 -0
  10. data/icons/ruber-32.png +0 -0
  11. data/icons/ruber-48.png +0 -0
  12. data/icons/ruber-8.png +0 -0
  13. data/lib/ruber/application/application.rb +288 -0
  14. data/lib/ruber/application/plugin.yaml +11 -0
  15. data/lib/ruber/component_manager.rb +899 -0
  16. data/lib/ruber/config/config.rb +82 -0
  17. data/lib/ruber/config/plugin.yaml +3 -0
  18. data/lib/ruber/document_project.rb +209 -0
  19. data/lib/ruber/documents/document_list.rb +416 -0
  20. data/lib/ruber/documents/plugin.yaml +4 -0
  21. data/lib/ruber/editor/document.rb +506 -0
  22. data/lib/ruber/editor/editor_view.rb +167 -0
  23. data/lib/ruber/editor/ktexteditor_wrapper.rb +202 -0
  24. data/lib/ruber/exception_widgets.rb +245 -0
  25. data/lib/ruber/external_program_plugin.rb +397 -0
  26. data/lib/ruber/filtered_output_widget.rb +342 -0
  27. data/lib/ruber/gui_states_handler.rb +231 -0
  28. data/lib/ruber/kde_config_option_backend.rb +167 -0
  29. data/lib/ruber/kde_sugar.rb +249 -0
  30. data/lib/ruber/main_window/choose_plugins_dlg.rb +353 -0
  31. data/lib/ruber/main_window/main_window.rb +524 -0
  32. data/lib/ruber/main_window/main_window_actions.rb +537 -0
  33. data/lib/ruber/main_window/main_window_internal.rb +239 -0
  34. data/lib/ruber/main_window/open_file_in_project_dlg.rb +212 -0
  35. data/lib/ruber/main_window/output_color_widget.rb +35 -0
  36. data/lib/ruber/main_window/plugin.yaml +58 -0
  37. data/lib/ruber/main_window/save_modified_files_dlg.rb +89 -0
  38. data/lib/ruber/main_window/status_bar.rb +156 -0
  39. data/lib/ruber/main_window/ui/choose_plugins_widget.rb +90 -0
  40. data/lib/ruber/main_window/ui/choose_plugins_widget.ui +77 -0
  41. data/lib/ruber/main_window/ui/main_window_settings_widget.rb +108 -0
  42. data/lib/ruber/main_window/ui/main_window_settings_widget.ui +89 -0
  43. data/lib/ruber/main_window/ui/new_project_widget.rb +119 -0
  44. data/lib/ruber/main_window/ui/new_project_widget.ui +178 -0
  45. data/lib/ruber/main_window/ui/open_file_in_project_dlg.rb +109 -0
  46. data/lib/ruber/main_window/ui/open_file_in_project_dlg.ui +168 -0
  47. data/lib/ruber/main_window/ui/output_color_widget.rb +241 -0
  48. data/lib/ruber/main_window/ui/output_color_widget.ui +204 -0
  49. data/lib/ruber/main_window/workspace.rb +442 -0
  50. data/lib/ruber/output_widget.rb +1093 -0
  51. data/lib/ruber/plugin.rb +264 -0
  52. data/lib/ruber/plugin_like.rb +589 -0
  53. data/lib/ruber/plugin_specification.rb +106 -0
  54. data/lib/ruber/plugin_specification_reader.rb +451 -0
  55. data/lib/ruber/project.rb +493 -0
  56. data/lib/ruber/project_backend.rb +105 -0
  57. data/lib/ruber/projects/plugin.yaml +11 -0
  58. data/lib/ruber/projects/project_files_list.rb +314 -0
  59. data/lib/ruber/projects/project_files_widget.rb +301 -0
  60. data/lib/ruber/projects/project_list.rb +314 -0
  61. data/lib/ruber/projects/ui/project_files_rule_chooser_widget.rb +74 -0
  62. data/lib/ruber/projects/ui/project_files_rule_chooser_widget.ui +61 -0
  63. data/lib/ruber/projects/ui/project_files_widget.rb +117 -0
  64. data/lib/ruber/projects/ui/project_files_widget.ui +123 -0
  65. data/lib/ruber/qt_sugar.rb +673 -0
  66. data/lib/ruber/settings_container.rb +515 -0
  67. data/lib/ruber/settings_dialog.rb +244 -0
  68. data/lib/ruber/settings_dialog_manager.rb +503 -0
  69. data/lib/ruber/utils.rb +414 -0
  70. data/lib/ruber/yaml_option_backend.rb +159 -0
  71. data/outsider_files +15 -0
  72. data/plugins/autosave/autosave.rb +404 -0
  73. data/plugins/autosave/plugin.yaml +16 -0
  74. data/plugins/autosave/ui/autosave_config_widget.rb +83 -0
  75. data/plugins/autosave/ui/autosave_config_widget.ui +68 -0
  76. data/plugins/command/command.png +0 -0
  77. data/plugins/command/command.rb +74 -0
  78. data/plugins/command/plugin.yaml +11 -0
  79. data/plugins/find_in_files/find_in_files.rb +337 -0
  80. data/plugins/find_in_files/find_in_files_dlg.rb +411 -0
  81. data/plugins/find_in_files/find_in_files_ui.rc +11 -0
  82. data/plugins/find_in_files/find_in_files_widgets.rb +485 -0
  83. data/plugins/find_in_files/plugin.yaml +23 -0
  84. data/plugins/find_in_files/ui/config_widget.rb +58 -0
  85. data/plugins/find_in_files/ui/config_widget.ui +41 -0
  86. data/plugins/find_in_files/ui/find_in_files_widget.rb +260 -0
  87. data/plugins/find_in_files/ui/find_in_files_widget.ui +324 -0
  88. data/plugins/project_browser/plugin.yaml +10 -0
  89. data/plugins/project_browser/project_browser.rb +245 -0
  90. data/plugins/rake/plugin.yaml +39 -0
  91. data/plugins/rake/rake.png +0 -0
  92. data/plugins/rake/rake.rb +567 -0
  93. data/plugins/rake/rake_extension.rb +153 -0
  94. data/plugins/rake/rake_widgets.rb +615 -0
  95. data/plugins/rake/rakeui.rc +27 -0
  96. data/plugins/rake/ui/add_quick_task_widget.rb +71 -0
  97. data/plugins/rake/ui/add_quick_task_widget.ui +59 -0
  98. data/plugins/rake/ui/choose_task_widget.rb +77 -0
  99. data/plugins/rake/ui/choose_task_widget.ui +72 -0
  100. data/plugins/rake/ui/config_widget.rb +127 -0
  101. data/plugins/rake/ui/config_widget.ui +123 -0
  102. data/plugins/rake/ui/project_widget.rb +217 -0
  103. data/plugins/rake/ui/project_widget.ui +246 -0
  104. data/plugins/rspec/plugin.yaml +30 -0
  105. data/plugins/rspec/rspec.png +0 -0
  106. data/plugins/rspec/rspec.rb +945 -0
  107. data/plugins/rspec/rspec.svg +90 -0
  108. data/plugins/rspec/rspecui.rc +20 -0
  109. data/plugins/rspec/ruber_rspec_formatter.rb +312 -0
  110. data/plugins/rspec/ui/rspec_project_widget.rb +170 -0
  111. data/plugins/rspec/ui/rspec_project_widget.ui +193 -0
  112. data/plugins/ruby_development/plugin.yaml +27 -0
  113. data/plugins/ruby_development/ruby_development.png +0 -0
  114. data/plugins/ruby_development/ruby_development.rb +453 -0
  115. data/plugins/ruby_development/ruby_developmentui.rc +19 -0
  116. data/plugins/ruby_development/ui/project_widget.rb +112 -0
  117. data/plugins/ruby_development/ui/project_widget.ui +108 -0
  118. data/plugins/ruby_runner/config_widget.rb +116 -0
  119. data/plugins/ruby_runner/plugin.yaml +26 -0
  120. data/plugins/ruby_runner/project_widget.rb +62 -0
  121. data/plugins/ruby_runner/ruby.png +0 -0
  122. data/plugins/ruby_runner/ruby_interpretersui.rc +26 -0
  123. data/plugins/ruby_runner/ruby_runner.rb +411 -0
  124. data/plugins/ruby_runner/ui/config_widget.rb +92 -0
  125. data/plugins/ruby_runner/ui/config_widget.ui +91 -0
  126. data/plugins/ruby_runner/ui/project_widget.rb +60 -0
  127. data/plugins/ruby_runner/ui/project_widget.ui +48 -0
  128. data/plugins/ruby_runner/ui/ruby_runnner_plugin_option_widget.rb +59 -0
  129. data/plugins/ruby_runner/ui/ruby_runnner_plugin_option_widget.ui +44 -0
  130. data/plugins/state/plugin.yaml +28 -0
  131. data/plugins/state/state.rb +520 -0
  132. data/plugins/state/ui/config_widget.rb +92 -0
  133. data/plugins/state/ui/config_widget.ui +89 -0
  134. data/plugins/syntax_checker/plugin.yaml +18 -0
  135. data/plugins/syntax_checker/syntax_checker.rb +662 -0
  136. data/ruber.desktop +10 -0
  137. data/spec/annotation_model_spec.rb +174 -0
  138. data/spec/common.rb +119 -0
  139. data/spec/component_manager_spec.rb +1259 -0
  140. data/spec/document_list_spec.rb +626 -0
  141. data/spec/document_project_spec.rb +373 -0
  142. data/spec/document_spec.rb +779 -0
  143. data/spec/editor_view_spec.rb +167 -0
  144. data/spec/external_program_plugin_spec.rb +676 -0
  145. data/spec/filtered_output_widget_spec.rb +642 -0
  146. data/spec/gui_states_handler_spec.rb +304 -0
  147. data/spec/kde_config_option_backend_spec.rb +214 -0
  148. data/spec/kde_sugar_spec.rb +101 -0
  149. data/spec/ktexteditor_wrapper_spec.rb +305 -0
  150. data/spec/output_widget_spec.rb +1703 -0
  151. data/spec/plugin_spec.rb +1393 -0
  152. data/spec/plugin_specification_reader_spec.rb +1765 -0
  153. data/spec/plugin_specification_spec.rb +401 -0
  154. data/spec/project_backend_spec.rb +172 -0
  155. data/spec/project_files_list_spec.rb +401 -0
  156. data/spec/project_list_spec.rb +511 -0
  157. data/spec/project_spec.rb +990 -0
  158. data/spec/qt_sugar_spec.rb +328 -0
  159. data/spec/settings_container_spec.rb +617 -0
  160. data/spec/settings_dialog_manager_spec.rb +773 -0
  161. data/spec/settings_dialog_spec.rb +419 -0
  162. data/spec/state_spec.rb +991 -0
  163. data/spec/utils_spec.rb +406 -0
  164. data/spec/workspace_spec.rb +869 -0
  165. data/spec/yaml_option_backend_spec.rb +246 -0
  166. metadata +284 -0
@@ -0,0 +1,314 @@
1
+ =begin
2
+ Copyright (C) 2010 by Stefano Crocco
3
+ stefano.crocco@alice.it
4
+
5
+ This program is free software; you can redistribute it andor modify
6
+ it under the terms of the GNU General Public License as published by
7
+ the Free Software Foundation; either version 2 of the License, or
8
+ (at your option) any later version.
9
+
10
+ This program is distributed in the hope that it will be useful,
11
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ GNU General Public License for more details.
14
+
15
+ You should have received a copy of the GNU General Public License
16
+ along with this program; if not, write to the
17
+ Free Software Foundation, Inc.,
18
+ 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
19
+ =end
20
+
21
+ require 'ruber/project'
22
+ require 'ruber/plugin_like'
23
+
24
+ module Ruber
25
+
26
+ =begin rdoc
27
+ The current project
28
+
29
+ @return [Ruber::Project,nil] the current project or *nil* if no project is open
30
+ =end
31
+ def self.current_project
32
+ self[:projects].current_project
33
+ end
34
+
35
+ =begin rdoc
36
+ List of all open global projects
37
+
38
+ It allows to obtain a list of the open projects, to know when a project is
39
+ closed and keeps trace of which is the current project. The most common usage
40
+ is the following:
41
+ * use the {#project} method to retrieve an open project basing on the name of
42
+ its file, or to open it if it isn't already open, or to create a new project.
43
+ This will also cause the project to be added to the list of open projects,
44
+ if needed
45
+ * use {#current_project=} to set the current project
46
+ * use one of the methods to iterate or work with one of the projects
47
+ * close one of the projects with the project's {Project#close close} method, or use the
48
+ {#close_current_project} method to close the current project.
49
+ =end
50
+ class ProjectList < Qt::Object
51
+
52
+ include PluginLike
53
+
54
+ include Enumerable
55
+
56
+ =begin rdoc
57
+ Signal emitted when the current project changes
58
+
59
+ @param [Ruber::Project,nil] prj the new current project, or *nil* if there's no open
60
+ project
61
+ =end
62
+ signals 'current_project_changed(QObject*)'
63
+
64
+ =begin rdoc
65
+ Signal emitted just before a project is closed
66
+
67
+ @param [Ruber::Project] prj the project which is being closed
68
+ =end
69
+ signals 'closing_project(QObject*)'
70
+
71
+ =begin rdoc
72
+ Signal emitted whenever a project is added
73
+
74
+ @param [Ruber::Project] prj the newly added project
75
+ =end
76
+ signals 'project_added(QObject*)'
77
+
78
+ slots 'add_project(QObject*)', 'close_project(QObject*)', 'load_settings()'
79
+
80
+ =begin rdoc
81
+ @return [Ruber::Project,nil] the current project or *nil* if there's no open project
82
+ =end
83
+ attr_reader :current_project
84
+ alias_method :current, :current_project
85
+
86
+ =begin rdoc
87
+ @param [Ruber::ComponentManager] _manager (unused)
88
+ @param [Ruber::PluginSpecification] psf the plugin specification object describing
89
+ the component
90
+ =end
91
+ def initialize _manager, psf
92
+ super Ruber[:app]
93
+ initialize_plugin psf
94
+ @current_project = nil
95
+ @projects = {}
96
+ end
97
+
98
+ =begin rdoc
99
+ Iterates on all the projects
100
+
101
+ In both versions of the method, the order in which the projects are passed to the block is arbitrary
102
+
103
+ @overload each_project
104
+ Passes each open project to the block in turn
105
+
106
+ @yield [prj] one of the projects
107
+ @return [Ruber::ProjectList] *self*
108
+ @overload each_project
109
+ @return [Enumerator] an enumerator whose @each@ method yields all the projects
110
+ in turn
111
+ =end
112
+ def each_project &blk #:yields: project
113
+ res = @projects.each_value &blk
114
+ res.same?(@projects) ? self : res
115
+ end
116
+ alias each each_project
117
+
118
+ =begin rdoc
119
+ The existing projects
120
+
121
+ @return [Array<Ruber::Project>] the existing projects. Modifying the array
122
+ wont affect the @ProjectList@
123
+ =end
124
+ def projects
125
+ @projects.values
126
+ end
127
+
128
+ =begin rdoc
129
+ Returns the project associated with a project file, opening it if necessary
130
+
131
+ This is one of the core methods of this class. It searchs the list of open projects
132
+ and return the one corresponding to the given project file. If a project for that
133
+ file isn't open, it will be opened and added to the list of open projects.
134
+
135
+ If, for any reason, you create a project using @Project.new@ instead of
136
+ using this method, you'll need to add it to the project list yourself using
137
+ {#add_project}.
138
+
139
+ @param [String] file the absolute path of the project file
140
+ @return [Ruber::Project] the project corresponding to the project file _file_
141
+ @raise an error deriving from @SystemCallError@ if the project file doesn't exist
142
+ or can't be opened
143
+ @raise {Ruber::AbstractProject::InvalidProjectFile} if _file_ isn't a valid project file
144
+ =end
145
+ def project file
146
+ @projects[file] || add_project(Project.new(file))
147
+ end
148
+
149
+ =begin rdoc
150
+ Returns the project corresponding to a given file or with a given name
151
+
152
+ @overload [] name
153
+ Returns the project with the given name
154
+ @param [String] name the name of the project. It *must not* start with a slash (@/@)
155
+ @return [Ruber::Project,nil] the project with name _name_ or *nil* if no open
156
+ project with that name exists. If more than one project with that name exist,
157
+ which will be returned is arbitrary
158
+ @overload [] file
159
+ Returns the project corresponding to the given project file
160
+ @param [String] file the absolute path of the project file
161
+ @return [Ruber::Project,nil] the project corresponding to the project file _file_
162
+ or *nil* if no open projects correspond to that file. Note that, unlike {#project},
163
+ this method doesn't attempt to open the project corresponding to _file_ if it
164
+ isn't already open
165
+ =end
166
+ def [] arg
167
+ if arg[0,1] == '/' then @projects[arg]
168
+ else
169
+ find{|prj| prj.project_name == arg}
170
+ end
171
+ end
172
+
173
+ =begin rdoc
174
+ Creates a new empty project
175
+
176
+ After being created, the new project is added to the list. You almost always should
177
+ use this method, rather than calling {AbstractProject.new} to create a new empty
178
+ project.
179
+
180
+ @param [String] file the absolue path of the project file to associate with the
181
+ new project
182
+ @param [String] name the name of the new project
183
+ @return [Ruber::Project] the new project
184
+ @raise @RuntimeError@ if a file corresponding to the path _file_ already exists
185
+ =end
186
+ def new_project file, name
187
+ add_project Project.new( file, name )
188
+ end
189
+
190
+ =begin rdoc
191
+ Makes a project active
192
+
193
+ The previously active project is deactivated, while the new one (unless *nil*)
194
+ will be activated (calling respectively the the projects' @deactivate@ and @activate@
195
+ methods)
196
+
197
+ @param [Ruber::Project,nil] prj the project to make current. If *nil*, the current
198
+ project will be deactivated, but no other project will become current
199
+ @raise @ArgumentError@ if _prj_ is not included in the project list
200
+ =end
201
+ def current_project= prj
202
+ if prj and !@projects[prj.project_file]
203
+ raise ArgumentError, "Tried to set an unknown project as current project"
204
+ end
205
+ @current_project.deactivate if @current_project
206
+ @current_project = prj
207
+ emit current_project_changed prj
208
+ @current_project.activate if @current_project
209
+ end
210
+
211
+ =begin rdoc
212
+ Adds a project to the list
213
+
214
+ The {#project_added} signal is emitted after adding the project.
215
+
216
+ Since this method is automatically called by both {#project} and {#new_project},
217
+ you usually don't need to call it, unless you need to create the project using
218
+ @Project.new@ rather than using one of the above methods.
219
+
220
+ @param [Ruber::Project] prj the project to add
221
+ @return [Ruber::Project] the project itself
222
+ @raise @RuntimeError@ if a project corresponding to the same file as _prj_ is
223
+ already in the list
224
+ =end
225
+ def add_project prj
226
+ if @projects[prj.project_file]
227
+ raise "A project with project file #{prj.project_file} is already open"
228
+ end
229
+ @projects[prj.project_file] = prj
230
+ connect prj, SIGNAL('closing(QObject*)'), self, SLOT('close_project(QObject*)')
231
+ emit project_added(prj)
232
+ prj
233
+ end
234
+
235
+ =begin rdoc
236
+ Closes the current project
237
+
238
+ If there's not a current project, nothing is done. Otherwise, it simply calls the
239
+ {#close_project} method passing the current project as argument.
240
+
241
+ @return [nil]
242
+ =end
243
+ def close_current_project
244
+ @current_project.close if @current_project
245
+ nil
246
+ end
247
+
248
+ =begin rdoc
249
+
250
+ Closes a project
251
+
252
+ If the project is current, sets the current project to *nil* before closing it.
253
+ In all cases, emits the {#closing_project} signal before closing the project.
254
+
255
+ @param [Ruber::Project] the project to close
256
+ @return [nil]
257
+ =end
258
+ def close_project prj
259
+ self.current_project = nil if @current_project == prj
260
+ emit closing_project(prj)
261
+ @projects.delete prj.project_file
262
+ nil
263
+ end
264
+
265
+
266
+ =begin rdoc
267
+ Saves each open project
268
+
269
+ @return [nil]
270
+ =end
271
+ def save_settings
272
+ @projects.values.each{|pr| pr.save}
273
+ nil
274
+ end
275
+
276
+ =begin rdoc
277
+ Tells whether it's all right for the projects to close the application
278
+
279
+ It calls the @query_close@ method for each project, returning *false* if any of
280
+ them returns *false* and *true* if all return *true*
281
+
282
+ @return [Boolean] *true* if it's all right for the projects to close the application
283
+ and *false* if at least one of them say the application can't be closed
284
+ =end
285
+ def query_close
286
+ @projects.values.each{|pr| return false unless pr.query_close}
287
+ true
288
+ end
289
+
290
+ =begin rdoc
291
+ Returns the project associated with a given project file
292
+
293
+ @param [String] file the path of the project file
294
+ @param [Symbol] which if @:active_only@, the project corresponding to _file_ will
295
+ be returned only if it's active. If it is @:all@ then it will be returned even if
296
+ it's inactive. Any other value will cause this method to always return *nil*
297
+ @return [Ruber::Project,nil] the project associated with the file _file_ or *nil*
298
+ if the list doesn't contain any such file or if it doesn't respect the value of
299
+ _which_.
300
+ =end
301
+ def project_for_file file, which = :active_only
302
+ current_prj = current
303
+ return nil unless current_prj
304
+ if current_prj.project_files.file_in_project?(file) then current_prj
305
+ elsif which == :all
306
+ find{|prj| prj.project_files.file_in_project?(file)}
307
+ else nil
308
+ end
309
+ end
310
+
311
+
312
+ end
313
+
314
+ end
@@ -0,0 +1,74 @@
1
+ =begin
2
+ ** Form generated from reading ui file 'project_files_rule_chooser_widget.ui'
3
+ **
4
+ ** Created: ven ott 29 17:39:04 2010
5
+ ** by: Qt User Interface Compiler version 4.7.0
6
+ **
7
+ ** WARNING! All changes made in this file will be lost when recompiling ui file!
8
+ =end
9
+
10
+ class Ui_ProjectFilesRuleChooser
11
+ attr_reader :gridLayout
12
+ attr_reader :remove_rule_btn
13
+ attr_reader :add_regexp_btn
14
+ attr_reader :add_path_btn
15
+ attr_reader :rules_widget
16
+
17
+ def setupUi(projectFilesRuleChooser)
18
+ if projectFilesRuleChooser.objectName.nil?
19
+ projectFilesRuleChooser.objectName = "projectFilesRuleChooser"
20
+ end
21
+ projectFilesRuleChooser.resize(505, 143)
22
+ @gridLayout = Qt::GridLayout.new(projectFilesRuleChooser)
23
+ @gridLayout.objectName = "gridLayout"
24
+ @remove_rule_btn = KDE::PushButton.new(projectFilesRuleChooser)
25
+ @remove_rule_btn.objectName = "remove_rule_btn"
26
+
27
+ @gridLayout.addWidget(@remove_rule_btn, 3, 1, 1, 1)
28
+
29
+ @add_regexp_btn = KDE::PushButton.new(projectFilesRuleChooser)
30
+ @add_regexp_btn.objectName = "add_regexp_btn"
31
+
32
+ @gridLayout.addWidget(@add_regexp_btn, 0, 1, 1, 1)
33
+
34
+ @add_path_btn = KDE::PushButton.new(projectFilesRuleChooser)
35
+ @add_path_btn.objectName = "add_path_btn"
36
+
37
+ @gridLayout.addWidget(@add_path_btn, 1, 1, 1, 1)
38
+
39
+ @rules_widget = Qt::TreeView.new(projectFilesRuleChooser)
40
+ @rules_widget.objectName = "rules_widget"
41
+ @rules_widget.rootIsDecorated = false
42
+ @rules_widget.uniformRowHeights = true
43
+ @rules_widget.allColumnsShowFocus = true
44
+
45
+ @gridLayout.addWidget(@rules_widget, 0, 0, 5, 1)
46
+
47
+
48
+ retranslateUi(projectFilesRuleChooser)
49
+
50
+ Qt::MetaObject.connectSlotsByName(projectFilesRuleChooser)
51
+ end # setupUi
52
+
53
+ def setup_ui(projectFilesRuleChooser)
54
+ setupUi(projectFilesRuleChooser)
55
+ end
56
+
57
+ def retranslateUi(projectFilesRuleChooser)
58
+ projectFilesRuleChooser.windowTitle = Qt::Application.translate("ProjectFilesRuleChooser", "Form", nil, Qt::Application::UnicodeUTF8)
59
+ @remove_rule_btn.text = Qt::Application.translate("ProjectFilesRuleChooser", "&Remove rule", nil, Qt::Application::UnicodeUTF8)
60
+ @add_regexp_btn.text = Qt::Application.translate("ProjectFilesRuleChooser", "Add &regexp rule", nil, Qt::Application::UnicodeUTF8)
61
+ @add_path_btn.text = Qt::Application.translate("ProjectFilesRuleChooser", "Add &file rule", nil, Qt::Application::UnicodeUTF8)
62
+ end # retranslateUi
63
+
64
+ def retranslate_ui(projectFilesRuleChooser)
65
+ retranslateUi(projectFilesRuleChooser)
66
+ end
67
+
68
+ end
69
+
70
+ module Ui
71
+ class ProjectFilesRuleChooser < Ui_ProjectFilesRuleChooser
72
+ end
73
+ end # module Ui
74
+
@@ -0,0 +1,61 @@
1
+ <ui version="4.0" >
2
+ <class>ProjectFilesRuleChooser</class>
3
+ <widget class="QWidget" name="ProjectFilesRuleChooser" >
4
+ <property name="geometry" >
5
+ <rect>
6
+ <x>0</x>
7
+ <y>0</y>
8
+ <width>505</width>
9
+ <height>143</height>
10
+ </rect>
11
+ </property>
12
+ <property name="windowTitle" >
13
+ <string>Form</string>
14
+ </property>
15
+ <layout class="QGridLayout" name="gridLayout" >
16
+ <item row="3" column="1" >
17
+ <widget class="KPushButton" name="remove_rule_btn" >
18
+ <property name="text" >
19
+ <string>&amp;Remove rule</string>
20
+ </property>
21
+ </widget>
22
+ </item>
23
+ <item row="0" column="1" >
24
+ <widget class="KPushButton" name="add_regexp_btn" >
25
+ <property name="text" >
26
+ <string>Add &amp;regexp rule</string>
27
+ </property>
28
+ </widget>
29
+ </item>
30
+ <item row="1" column="1" >
31
+ <widget class="KPushButton" name="add_path_btn" >
32
+ <property name="text" >
33
+ <string>Add &amp;file rule</string>
34
+ </property>
35
+ </widget>
36
+ </item>
37
+ <item rowspan="5" row="0" column="0" >
38
+ <widget class="QTreeView" name="rules_widget" >
39
+ <property name="rootIsDecorated" >
40
+ <bool>false</bool>
41
+ </property>
42
+ <property name="uniformRowHeights" >
43
+ <bool>true</bool>
44
+ </property>
45
+ <property name="allColumnsShowFocus" >
46
+ <bool>true</bool>
47
+ </property>
48
+ </widget>
49
+ </item>
50
+ </layout>
51
+ </widget>
52
+ <customwidgets>
53
+ <customwidget>
54
+ <class>KPushButton</class>
55
+ <extends>QPushButton</extends>
56
+ <header>kpushbutton.h</header>
57
+ </customwidget>
58
+ </customwidgets>
59
+ <resources/>
60
+ <connections/>
61
+ </ui>